La compressione del segnale video. Digital Video Broadcasting



Documenti analoghi
Codifica video. Il video digitale. Sistemi Multimediali. Il video digitale. Il video digitale. Il video digitale.

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Informatica grafica e Multimedialità. 4 Immagini grafiche

RETI INTERNET MULTIMEDIALI. Compressive Video

Codifiche a lunghezza variabile

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Reti di Telecomunicazione Lezione 8

VideoStreaming su IP

Come si misura la memoria di un calcolatore?

Utilizzo efficiente del canale di comunicazione

Tecniche di Comunicazione Multimediale

Alessandro Pellegrini

Rappresentazione delle immagini

La Videosorveglianza Criteri per il dimensionamento dello storage

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

4 3 4 = 4 x x x 10 0 aaa

Lezione 8: La rappresentazione dell informazione Multimediale Suoni e Video Venerdi 6 Novembre 2009

FONDAMENTI DI INFORMATICA. Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine. Compressione MPEG

Flussi Multimediali. Introduzione

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Informatica. Rappresentazione binaria Per esempio diventa /10/2007. Introduzione ai sistemi informatici 1

Informatica per la comunicazione" - lezione 7 -

Il concetto di valore medio in generale

Algoritmi e strutture dati. Codici di Huffman

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Rete di accesso / Rete di trasporto

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it

LIVELLO DATA LINK (DI LINEA)

REALIZZARE UN BUSINESS PLAN CON MICROSOFT EXCEL 2007

Compressione del Segnale (Audio)

CHIUSURE di MAGAZZINO di FINE ANNO

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Utilizzo efficiente del canale di comunicazione

Introduzione all analisi dei segnali digitali.

Utilizzo efficiente del canale di comunicazione

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

Standard di comunicazione

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Capitolo V : Il colore nelle immagini digitali

SISTEMI DI NUMERAZIONE E CODICI

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

HDTV LA TELEVISIONE AD ALTA DEFINIZIONE

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Reti di Calcolatori. Il software

Universal Serial Bus (USB)

Offerta Televisiva. Generalità

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

C M A P M IONAM A E M NT N O

CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I)

Elementi di teoria dei segnali /b

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Tecniche di Simulazione: Introduzione. N. Del Buono:

Gestione Risorse Umane Web

Codifica Video MPEG. Ing. Francesco Benedetto - Prof. Gaetano Giunta. Laboratorio di Telecomunicazioni (COMLAB) Università degli Studi Roma Tre

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

RETI INTERNET MULTIMEDIALI

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

TECNICHE DI COMPRESSIONE DATI

Strutturazione logica dei dati: i file

CARATTERISTICHE VIDEO

Struttura del calcolatore

La firma digitale CHE COSA E'?

Coordinazione Distribuita

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Architettura hardware

Allegato tecnico. Per l invio di documenti elettronici al Comune di Prato

GESTIONE CONTRATTI. Contratti clienti e contratti fornitori

Corso di Informatica

RINTRACCIABILITA' MATERIALI

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

ATTIVITÀ DI STAGE PRESSO STMICROELECTRONICS

Fasi di creazione di un programma

Elementi di Telelocalizzazione

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

VALORE DELLE MERCI SEQUESTRATE

Manuale operativo - Procedura per la costruzione, la pubblicazione di questionari

Comunicazione codifica dei dati. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Protocolli di Comunicazione

Rappresentazione delle informazioni

Marta Capiluppi Dipartimento di Informatica Università di Verona

Dimensione di uno Spazio vettoriale

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

GUIDA ALLA CONFIGURAZIONE E ALL UTILIZZO

ISTRUZIONI PER LA GESTIONE BUDGET

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

L UNICO SISTEMA PER DISTRIBUIRE GLI STESSI PROGRAMMI IN ANALOGICO E IN DVB-T. Ricezione DIRETTA in DTT e in Analogico senza DECODER

Rappresentazione delle informazioni

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Il protocollo MODBUS. Il protocollo MODBUS Pag. 1 di 11

1 CARICAMENTO LOTTI ED ESISTENZE AD INIZIO ESERCIZIO

Laboratorio di Algoritmi e Strutture Dati

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

Elementi di informatica

Codici a barre. Marco Dell Oro. January 4, 2014

FONDAMENTI di INFORMATICA L. Mezzalira

Transcript:

La compressione del segnale video Digital Video Broadcasting 1 Compressione del segnale video Letecnichedicompressionepossonoesserelossless (senza perdita) o lossy (con perdita). Lo scopo delle tecniche lossless è di ridurre il volume di dati senza perdere nulla dell informazione originale; nel caso dei dati video questo significa che le immagini decodificate hanno la stessa qualità di quelle originali. Al contrario le tecniche lossy, tra cui MPEG, cercano di raggiungere un determinato bitrate, anche a costo di eliminare parte dell informazione contenuta nei dati originali (generalmente quella a cui l occhio umano è meno sensibile). Gli algoritmi agiscono sulla ridondanza di informazione all interno di un frame (ridondanza spaziale) e quella tra frame consecutivi (ridondanza temporale). Le tecniche per la riduzione della ridondanza spaziale derivano da quelle adottate nella compressione delle immagini fisse (es. JPEG). 2 1

DCT Transformation Ogni frame viene suddiviso in blocchi da 8x8 pixels su cui viene eseguita una DCT (Discret Cosine Trasform, trasformata coseno discreta), un modo per decomporre il blocco dell immagine in una somma pesata di frequenze spaziali, similmente a quanto fa la trasformata di Fourier per quelle temporali. Si ottiene così una matrice di coefficienti che rappresentano il blocco (operazione senza perdite e reversibile) 3 Quantization Successivamente viene operato un processo detto quantizzazione, attraverso cui sostanzialmente i dati ricavati dalla DCT che definiscono ogni blocco vengono discretizzati (quindi approssimati), in maniera più o meno drastica a seconda della loro importanza percettiva (visually-weighted quantization). Vengono infatti definite delle matrici di quantizzazione (8x8 come i blocchi di pixels) in cui sono indicati i valori per cui i coefficienti della matrice risultante dalla DCT andranno quantizzati. Il risultato della quantizzazione di un coefficiente della DCT è il valore intero più prossimo al risultato della divisione del coefficiente per il fattore di quantizzazione. L approssimazione sarà tanto maggiore quanto più grandi sono i valori di quantizzazione ma all occhio umano, alle alte frequenze spaziali questa operazione è relativamente impercettibile 4 2

Codifiche Run-Leght (RL) e Variable length coding (VLC) Si riduce la ridondanza delle matrici dei coefficienti quantizzati attraverso la loro conversione a vettore monodimensionale mediante lettura zig-zag e successive compressioni che sfruttano la ridondanza statistica dei bit di tale vettore (ricerca di pattern ripetuti) sostituendo a tali pattern delle parole di lunghezza inferiore: viene eseguita prima RL e poi VLC (che sfrutta Huffman coding) 5 Riduzione della ridondanza temporale: Differential coding Si usa un sistema in cui si definiscono dei key frames e delta frames per eliminare le informazioni ridondanti fra i fotogrammi (interframe compression). Ai key frame e ai delta frame, vengono poi applicate le compressioni classiche (intraframe compression). Gli standard MPEG prevedono la classificazione dei frameintretipi:i,b,p. I frame:è un frame video completamente indipendente. P frame (predictive frame): si basa su un precedente I frame. B frame (bi-directional frame): è costituito da informazioni ricavate sia da I frame che P frame (anche successivi). 6 3

Frame I, P e B 7 GOP Una serie di I, B, P frames (es: I,B,B,P) costituisce una GOP (group of pictures). Più lunga è la sequenza GOP maggiore sarà la compressione risultante ma anche maggiore sarà il rischio di corruzione dell'immagine se si verifica qualche errore. Ovviamente la sequenza di creazione ed invio di questi frame sarà I, P, B, mentre quella di riproduzione I,B,P perciò il decoder sarà incaricato del riordino della GOP, basandosi su informazioni che dovranno essere codificate insieme ai frame (DTS e PTS 8 timestamps). 4

Motion estimation Si valuta se tra i frame alcuni dei blocchi anziché scomparire cambiano semplicemente di posizione. In questo caso si invia la sola informazione su tale movimento (motion vectors) anziché il contenuto del blocco 9 Il presente: il sistema DVB-T Codificatore e Decodificatore MPEG2 10 5

Nel 1993, un consorzio europeo ha avviato un progetto basato sulla codifica MPEG-2: il sistema di trasmissione digitale DVB (Digital Video Broadcasing, www.dvb.org ) per la distribuzione dei segnali televisivi (e non solo). Il DVB è noto per quanto riguarda la trasmissione televisiva satellitare digitale (DVB-S), ma definisce in generale come i segnali MPEG-2 sono trasmessi anche su cavo (DVB-C), o a frequenze televisive terrestri (DVB-T) e anche come sono gestite le informazioni di servizio, le EPG (guide programmi) e gli eventuali sistemi di crittografia, nonché il trasporto di contenuti interattivi e multimediali avanzati e IP broadband, il tutto grazie alla flessibilità dei pacchetti MPEG-2 utilizzati come data container. MPEG2-TS è adatto al trasporto di datagrammi IP attraverso il protocollo MPE (Multi Protocol Encapsulation). Esistono servizi IP quali ad esempio, Opensky, Europe Online. Esistono tecniche per trasportare pacchetti TS su reti IP (ad es. protocollo RTP) ed allo stesso modo, ma al contrario, la possibilità di inviare datagrammi IP attraverso sistemi (quali il DVB) che usano il Transport Stream come trasporto 11 Transport Stream IlformatoMPEG-2allabasedelDVBèilTransportStream (TS) che presenta le caratteristiche di robustezza agli errori e gestione della multiplazione fondamentali per la trasmissione satellitare. Al TS il DVB aggiunge tabelle e descrittori ausiliari nonché tutte le specifiche per il trasporto fisico dei dati. Il TS è così lo stream complessivo che trasporta tutti i dati dei vari programmi trasmessi da un certo operatore. Per le sua struttura rende comunque minimo il carico computazionale necessario per: -estrarre e decodificare anche solo parte dei dati dal flusso complessivo. -estrarre i pacchetti di uno o più programmi, anche da TS differenti e reinserirli in un TS nuovo 12 6

Cosa contiene il TS? E il risultato del multiplexing di pacchetti chiamati PES (Packetized Elementary Stream) che sono ottenuti dai flussi multimediali elementari detti ES (Elementary Streams) contenenti i dati audio e video compressi e altro (ad es. sottotitoli, o dati per servizi interattivi ed anche datagrammi IP). Nello stesso multiplex sono inviate anche le informazioni che servono per gestire le associazioni fra tali dati e descriverli. Sono dette PSI (Program Specific Informations). Lo standard DVB integra le PSI dello standard MPEG-2 con ulteriori altre descrizioni, nell insieme dette SI (System Information). 13 ES (Elementary Stream) e PES (Packetized Elementary Stream) Gli ES sono gli stream dei dati video compressi (frame I, P, B, ecc.), dell audio, e di alcune altre informazioni come i sottotitoli. Ogni ES viene suddiviso in pacchetti detti PES (Packetized Elementary Stream). PES possono essere associati e nell insieme formare un programma costituito ad esempio da più flussi video (inquadrature multiple), più tracce audio (audio multilingua) ed infine dai sottotitoli. Non ci sono specifiche sulla dimensione di tali pacchetti che possono essere di taglia variabile ad esempio per contenere sempre un intero frame video, oppure di grandezza fissata. Gli header dei PES contengono la descrizione del tipo di contenuto nonché informazioni di controllo per la 14 sincronizzazione quali PTS e DTS. 7

Multiplexer I PES e le PSI Sections attraverso multiplazione sono raccolti in un unico stream. I PES e le PSI sections, per la multiplazione, vengono suddivisi in pacchetti di184byterecanti4byteaggiuntividiheader. SonoiTransport Packets (188 byte) che vanno a costituire il TS. E' specificato che un pacchetto PES deve sempre cominciare all'inizio del payload di un transport packet e che ogni transport packet deve contenere dati provenienti da un unico pacchetto PES. Per questo motivo eventuale spazio rimanente in un transport packet che non è stato riempito deve essere lasciato così e completato solo da stuffing bytes inseriti in uno specifico campo detto Adaptation Field. 15 Pacchettizzazione del TS 16 8

Header di un Transport Packet Sync byte: 8 bit fissi all'esadecimale 47 (bin 1000 1111). Definisce l inizio di un transport packet e permette la sincronizzazione della trasmissione. Transport Error Indicator: indica che il pacchetto è danneggiato. Payload Unit Start Indicator: settato quando il pacchetto TS contiene l inizio di un PES. Transport Priority: indicatore di priorità per dare priorità a certi pacchetti di un ES. Transport Scrambling Control: tipo di scrambling (cifratura) Adaptation Field Control: indica la presenza dell campo opzionale Adaptation Field 17 Header di un Transport Packet Continuity Counter: contatore di continuità tra le sezioni PES. Questo contatore è un campo di 4 bit che viene incrementato in maniera ciclica ogni volta che un nuovo Transport Stream Packet dello stesso Elementary Stream viene generato; ciò dà al decoder un modo per rilevare se sono stati persi dei Transport Stream Packet. PID (Packet Identifier): 13 bit. E' un sistema di mappatura che differenzia i pacchetti e raggruppando quelli con lo stesso PID identifica quali trasportano un determinato flusso di informazioni, ad esempio il video di un certo programma, o l'audio in una certa lingua, o dati di servizio come le PSI tables. Adaptation field : E un estensione dell header non sempre presente in ogni transport packet che contiene a sua volta diversi campi: tra cui l indicatore di temporizzazione PCR (vedi paragrafo), un indicatore di discontinuità, i byte di riempimento (stuffing bytes) a volte necessari per completare i pacchetti ed altri flag. 18 9

Indirizzamento nel TS 19 Program Specific Information (PSI) Sono le informazioni che servono per descrivere e associare attraverso i PID,ivariPESediconseguenzaiflussielementari che vanno a costituire un programma. Strutturalmente sono delle tabelle di associazione (PSI Association Tables) che vengono inviateperiodicamentedopoesserestate suddivide in sezioni (PSI Sections) e pacchettizzate nel TS allo stesso modo dei PES. Per l importanza dell integrità delle informazioni delle tabelle, spesso le PSI Sections sono protette da CRC. PAT: Program Association Table (è al livello più elevato nella gerarchia delle tabelle) Contiene la lista completa di tutti i programmi nel TS (identificati attraverso un numero detto SID, Service IDentification) e i PID delle rispettive PMT (Program Map Tables) I pacchetti che la contengono sono identificati con il PID 0 Il programma numero 0 indica il PID del NIT PMT: Program Map Table Contiene la lista dei PID (audio e video) associati a un certo programma e il PID della PCR (può essere un PID video) 20 10

La PMT 21 PCR (Program Clock Reference) Svolge la funzione di riferimento per la rigenerazione del clock di sistema (System Time Clock a 27 Mhz) al ricevitore e per la decodifica e sincronizzazione dei flussi elementari audio video, in modo da permettere la ricostruzione di una base temporale coerente per i programmi. E un campo di 42bit presente nell Adaptation field di pacchetti TS dedicati, oppure in quello di un PID video. Al ricevitore un VCO (Voltage controlled oscillator) genera il clock locale a 27Mhz. Quando viene ricevuta la PCR, viene confrontata con un contatore locale pilotato dal VCO e la differenza viene usata per correggere la frequenza del VCO per ottenere il lock con la PCR e quindi con il clock 22 remoto. 11

DTS (Decoding Time Stamps) e PTS (Presentation Time Stamps) Servono per stabilire l esatto momento in cui un frame video I,B,P deve essere rispettivamente decodificato o riprodotto. Sono inseriti negli header di ogni PES. Se dovesse essere danneggiata e quindi inutilizzabile l informazione sul DTS e PTS di un PES, questo andrebbe scartato per intero, cioè tutti i Transport packet che lo costituivano a partire da quello che conteneva l header danneggiato. 23 Riassunto dei passi per la ricerca e decodifica degli ES associati a un programma 1-Vengono estratti dal TS i pacchetti che trasportano le sezioni della PAT (sempre sul PID 0). 2-Una volta decodificata la PAT, si cerca al suo interno il PID della PMT del programma di interesse. 3-La PMT del programma viene estratta dal TS e decodificata. Ora si conoscono tutti gli ES che costituiscono il programma. 4-Tra i PID elencati vi è anche quello dell indicatore di temporizzazione PCR necessaria per la decodifica.se non è uno dei video ES già individuati, ma un PID autonomo, vanno estratti dal TS anche i pacchetti identificati da tale valore. 5-Può partire il processo di decodifica, sincronizzata nel rispetto delle sequenze indicate dai timestamps DTS eptsdeipes. 24 12

Analisi del transport Stream TSReader PMT del Program 1 13

Analisi dello stream MPEG2 Lo stream video viene gestito frame per frame VirtualDUB (acquisisce in ingresso uno stream MPEG2, lo visualizza e lo converte in AVI) MPEG2 AVI 14

15

16

Valutazione della qualità di uno stream decodificato: confronto tra le frames decodificate con le originali Originale Co-decodificato (a bassa velocità) Valutazione della differenza (tra lo stesso frame di due stream codificati a differente bit rate) con Matlab RGB1 = imread( ICE_1_5.JPG'); I1 = rgb2gray(rgb1); RGB2 = imread( ICE_4.JPG'); I2 = rgb2gray(rgb2); Z = imabsdiff(i1,i2); imshow(z) M = mean(mean(z)); disp('mean=') disp(m) mean = 5.7182 17

Trasformata Coseno Dscreta Effetto della DCT RGB = imread('strisce2.jpg'); I = rgb2gray(rgb); II = double(i); imshow(i), figure J = dct2(ii); imshow(log(abs(j))), colormap(jet), colorbar, figure % % The commands below set values less than magnitude 10 in the % DCT matrix to zero, then reconstruct the image using the % inverse DCT function IDCT2. % JJ=J; JJ(abs(JJ)<10) = 0; imshow(log(abs(jj))), colormap(jet), colorbar, figure K = idct2(jj); imshow(k,[0 255]), figure Z = imabsdiff(ii,k); imshow(z), colormap bone, colorbar, figure T = mean(mean(z)); disp(t) 18

Effetto della DCT Originale Trasformata Trasformata+soglia Soglia = 200 (alta!!) Mean = 3,37 Ricostruita Differenza Confronto tra le matrici delle trasformate prima e dopo l introduzione della soglia 19

Effetto della DCT Soglia = 10 Mean = 1,67 MaxDiff = 43 Confronto tra le matrici delle trasformate prima e dopo l introduzione della soglia 20

Effetto della DCT Soglia = 200 Mean = 14 MaxDiff = 130 Soglia = 10 21

Soglia = 100 22