Scarica - Xabaras.it
Transcript
Scarica - Xabaras.it
Chapter 3 FORMATI MULTIMEDIALI Video Paolo Montalto – Maurizio Triunfo 50278, 1999-2000 Sommario: 50272, 1999-2000 In questo lavoro vogliamo approfondire l’aspetto tecnico relativo al video digitale, non senza soffermarsi prima sul video analogico, e soprattutto analizzando lo standard de iure e de facto per la compressione del video digitale, ai più noto come MPEG nelle sue differenti versioni. Nel dettaglio analizzeremo lo standard MPEG-1, quello MPEG-4 ed una “variante” di questo ultimo noto come DivX. Parole chiavi: Video analogico, video digitale, standard video, compressione video, MPEG, DivX. 1. INTRODUZIONE Negli ultimi anni si è assistito ad un diffondersi inarrestabile della tecnologia audiovisiva digitale. Non solo i compact disc, per quanto concerne il mercato musicale, hanno sostituito quasi definitivamente i supporti magnetici ed il vinile, ma anche la produzione cinematografica ha investito molto nella tecnologia DVD (Digital Versatile Disc), destinata sempre più a soppiantare il vecchio VHS, vista la qualità video e audio di gran lunga superiore. Scopo di questo lavoro è illustrare le principali tematiche afferenti al mondo del video analogico e del video digitale – tra le quali i modelli di colore utilizzati - con particolare riguardo al processo di compressione di quest’ultimo. 2 Chapter 3 Analizzeremo dunque nel dettaglio lo standard de iure e de facto per la compressione del video digitale, ai più noto come MPEG, soffermandoci in particolare sugli standard MPEG-1, MPEG-4 e del recente Div-x. Accenneremo, inoltre, gli standard di compressione MPEG-2, H. 261 e H.263. 2. MODELLI DI COLORE L’immagine che si vede su di uno schermo è composta da pixel (Picture Element) ed ogni pixel è composto dai fosfori rosso, verde e blue (per la rappresentazione del colore) percepiti dall’occhio umano come un unico punto. Quando si ha a che fare con immagini a colori, un solo valore non è sufficiente a descrivere un pixel e diventa necessario associare tre valori ad ogni pixel (uno per il rosso, un altro per il verde ed uno per il blue, RGB). Conseguentemente, per ogni pixel, i tre valori danno il peso delle componenti di colore rosso, verde e blue. Esiste un metodo diverso della rappresentazione delle immagini e cioè quello YUV basato su una componente di luminanza e due di crominanza. Questo metodo consente una compatibilità con il modello televisivo in bianco e nero che utilizza la sola componente Y. Figura 1 - RGB - YUV La componente Y è la media pesata dei tre colori primari e rappresenta la luminanza totale. Esiste una precisa relazione matematica lineare tra i due spazi di rappresentazione RGB e YUV che consente quindi una agevole 3. FORMATI MULTIMEDIALI 3 conversione tra questi due (questa conversione è fatta in tutti i televisori al fine di guidare i tre pennelli elettronici): In queste formule i parametri AR, AG, AB variano a seconda dello standard video utilizzato, che analizzeremo nel seguito, come riassunto dalla seguente tabella: Tabella 1- parametri AR, AG, AB per i vari standard video Riportiamo nella seguente figura un esempio di decomposizione YUV: 4 Chapter 3 Figura 2 - Esempio di decomposizione YUV L’occhio umano è più sensibile alla componente di luminanza (contorni) che a quella di crominanza (sfumature di colore) e ciò può essere utile allo scopo della riduzione della quantità di dati da trasmettere. Si tende, infatti, a sottocampionare i segnali di crominanza rispetto a quelli di luminanza, ovvero le matirci di crominanza avranno dimensioni ridotte rispetto a quelle di luminanza. Un singolo valore di crominanza può dunque riferirsi a più campioni di luminanza i quali possono essere adiacenti l’uno all’altro sia orizzontalmente che verticalmente. La notazione 4:X:X sottolinea tale modalità di sottocampionamento (vedi fig. 3). 3. FORMATI MULTIMEDIALI 5 Figura 3 - Corrispondenza spaziale tra campioni di luminanza e crominanza Nello standard 4:4:4 ogni pixel continua a mantenere la sua terna di valori. Nello standard 4:2:2 vi è invece un sottocampionamento orizzontale dei valori di crominanza; il sottocampionamento avviene con fattore 2. Anche nello standard 4:1:1 vi è un sottocampionamento orizzontale dei valori di crominanza; in questo caso, il sottocampionamento avviene ogni 4. Infine, nello standard 4:2:0 il sottocampionamento avviene in entrambe le direzioni (orizzontale e verticale) di un fattore 2. Gli ultimi due standard trovano impiego nella compressione JPEG e MPEG. Vale la pena dire a questo punto che nelle immagini JPEG e nei video MPEG è utilizzato un altro modello, molto simile a quello YUV, e cioè il modello YCbCr. Quest’ultimo si ricava dal modello YUV attraverso le seguenti formule: Cb = (B – Y) / 1.772 + 0.5 (1) Cr = (R –Y) / 1.402 + 0.5 (2) 6 Chapter 3 La necessità di ricorrere ad altri modelli di colore discende dal fatto che sebbene le crominanze U e V definiscono correttamente le differenze di colori, non sono in grado di rappresentare in modo altrettanto efficiente cosa l’occhio umano percepisce. Un altro modello di colore che vale la pena considerare è quello YIQ, dove I sta per asse arancio-blu, mentre Q sta per asse viola-verde. Valgono le seguenti relazioni: I = 0.877*(R – Y) * cos(33ο) – 0.492 * (B – Y) *sin(33ο) Q = 0.877 * (R – Y) * sin(33ο) + 0.492 * (B – Y) * cos(33ο) (3) (4) cioè gli assi I e Q si ottengono moltiplicando per un fattore di riduzione e ruotando il sistema di riferimento cartesiano ortogonale (R – Y) e (B – Y) di 33ο. Questa trasformazione necessita di un numero di bit minore rispetto alla rappresentazione YUV. Ovviamente anche in questo modello l’occhio umano è più sensibile alla componente Y che a quelle I e Q. 3. VIDEO ANALOGICO – VIDEO DIGITALE Quale che sia l’origine - analogica o digitale - del video, esso sfrutta il tempo di permanenza dell’immagine sulla retina dell’occhio umano. Senza addentrarci nell’analisi di questo processo, notiamo come, avvalendosi di questo fenomeno biologico, la sua riproduzione può essere immaginata come una sequenza di immagini fisse. Possiamo allora empiricamente definire un video – analogico o digitale – semplicemente in questo modo: una sequenza di immagini fisse. Ovviamente esistono delle differenze sostanziali trai i due tipi di video, differenze che risulteranno evidenti nei seguenti paragrafi. 3.1 VIDEO ANALOGICO Un video analogico è interpretabile come un segnale continuo (un segnale è la codifica elettrica o elettromagnetica di dati) in grado di variare nel tempo, cioè un segnale avente una codifica “analoga” alla realtà stessa, di tipo continuo. E' memorizzato su di un supporto magnetico come nastro o videocassetta. Un segnale video analogico include non solo le informazioni connesse all'immagine ma anche le informazioni necessarie per la sua visualizzazione. Infatti, in un’immagine analogica, l’informazione è racchiusa in linee che vengono trasmesse una dopo l'altra e tra due linee 3. FORMATI MULTIMEDIALI 7 viene inviato un impulso di sincronismo (sincronismo orizzontale o in breve HSYNC). Alla fine dell'ultima linea vengono trasmessi degli impulsi detti di sincronismo verticale (VSYNC). Gli impulsi HSYNC e VSYNC possono essere codificati in un unico segnale con l'informazione video oppure possono essere codificati su un segnale separato (ed in tal caso si parla di sincronismo composito). La figura 4 illustra come avviene la scansione delle linee da parte di un pennello elettronico su uno schermo, mentre la figura 5 illustra una linea di un segnale video. Figura 4 - Scanning raster Figura 5 - Segnale analogico 8 Chapter 3 I due segnali HSYNC e VSYNC sono dunque indispensabili al fine della sincronizzazione delle immagini video. E’ possibile suddividere l’immagine in due insiemi di linee, uno contenente le linee pari (campo pari) ed uno contenente le linee dispari (campo dispari) ed effettuare prima la scansione delle linee dispari e poi di quelle pari. Questa tecnica, nota come interlacciamento, permette di ridurre lo sfarfallio (fluttuazione luminosa, flicker in inglese) e la quantità di dati trasmessa senza deteriorare la qualità dell’immagine. 3.2 STANDARD VIDEO Andiamo ora ad illustrare gli standard più diffusi per il video analogico: PAL (Phase Alternation Line), SECAM (SEquentiel Couleur A Mémoire), NTSC(National Television Standard Committe). I primi due sono utilizzati in Europa, mentre il terzo è quello utilizzato in America. Nonostante le caratteristiche differenti il principio di base è pressoché identico. I pixel sono raggruppati in linee (come già detto precedentemente) e i tre sistemi si diversificano proprio per la quantità di linee che generano e nella quantità di fotogrammi al secondo generati. 3.2.1 PAL, SECAM, NTSC Nello standard PAL ci sono 625 linee di scansione per fotogramma e 25 fotogrammi al secondo (frames al secondo, fps). Il segnale è interlacciato (nella prima passata le righe dispari e nella seconda le righe pari) quindi ogni fotogramma è diviso in due campi: 312.5 lines/field. Il PAL usa il modello YUV per il colore (il metodo YUV è nato per il sistema di trasmissione analogico PAL ma è stato adottato anche come standard internazionale per il video digitale nel documento noto come CCIR 601). La proporzione delle immagini è espressa come rapporto tra la lunghezza e l’altezza ed è pari a 4/3 oppure 16/9. La tecnica PAL è nata in Germania e fu accolta anche in Italia e in gran parte dell’Europa. Lo standard SECAM genera un quadro di 625 linee a 25 fps, come il PAL, ma codifica le informazioni video in maniera differente. Inventato in Francia, si diffuse nei paesi dell’est europeo ed in Russia. 3. FORMATI MULTIMEDIALI 9 Lo standard NTSC è nato nel 1953 in America, in base alle specifiche del National Television Standard Committe. Genera un quadro composto da 525 righe a 30 fps (o precisamente 29097 fps, 33.37 msec/frame). Il segnale è interlacciato, dunque ogni fotogramma è diviso in due campi: 262.5 lines/field. Ci sono 20 linee riservate ad informazioni di controllo all’inizio di ogni campo, conseguentemente vi sono 458 linee relative ai dati visibili. L’NTSC usa il modello YIQ per il colore. Viene utilizzato negli USA, in Giappone, in Canada, nell'America Centrale e in circa metà dell'America Latina. 3.3 VIDEO DIGITALE Un video digitale ha una codifica di tipo discreto. È memorizzato su supporti magnetici (hard disk) o ottici (CD-Rom e DVD-Rom). L’informazione è tradotta in una serie di 0-1 (bit), se il video è in bianco e nero, allora il valore di un pixel dà una misura dell’intensità del grigio in quel punto. Come già detto in precedenza, un video è interpretabile come una successione di immagini fisse. Questa definizione è ancora più rafforzata quando il video in questione è in formato digitale. Infatti possiamo dire che un video digitale consiste in una successione di immagini digitali, volendo sottolineare che, in quanto tali, valgono tutti i metodi noti per il trattamento delle immagini: Figura 6 - Sequenza video come successione di immagini digitali Se analizziamo un segnale analogico, ne vediamo i valori (campioni) che la grandezza assume ad intervalli regolari di tempo (periodo di campionamento) e rappresentiamo tali valori ricorrendo ai numeri binari, si ottiene una sequenza di bit ‘0’ ‘1’ e cioè il segnale digitale corrispondente.ific 10 Chapter 3 Figura 7 - Confronto tra segnale anologico e digitale Ovviamente non è possibile rappresentare tutti i valori assunti da un segnale analogico e questi devono essere perciò approssimati (quantizzati). Anche il periodo di campionamento incide sulla qualità con cui poter riprodurre il segnale originale. L’operazione di quantizzazione sarà discussa più avanti nella trattazione dello standard MPEG, limitiamoci per ora a dire che essa, poiché delinea un insieme di valori ristretto e ben definito, consente di distinguere facilmente un eventuale rumore presente nel segnale dal segnale stesso purché questo non sia troppo intenso. Se il rumore è invece tale da alterare un valore in un altro è sempre possibile rilevare e correggere l’errore (ad esempio ricorrendo a codici di parità). Ciò rappresenta indubbiamente un vantaggio del video digitale rispetto al video analogico in cui, dato che i valori assunti sono tutti possibili, non si riesce a distinguere il segnale reale dal rumore. Dal fatto che i segnali digitali possono essere riprodotti senza introduzione di rumore, si ha la possibilità di duplicare un segnale digitale senza avvertire un deterioramento della qualità. Un altro vantaggio del video digitale è da ricercare nella possibilità di accedere casualmente ad un punto specifico del video. Un video digitale presenta però uno svantaggio rilevante: occupa molta banda. Ciò diventa un onere non irrilevante quando si vuole trasmettere un filmato digitale via Internet. Dal 1996 è stata sviluppata una tecnologia, lo streaming video, ancora in forte evoluzione, che permette di aggirare questo problema offrendo filmati altamente compressi (mediante, ad esempio, lo standard MPEG) e quindi facili da trasmettere via Internet. A differenza del classico download (dove è necessario attendere lo scaricamento completo di un file prima di poter visionare il video), lo streaming permette la fruizione in tempo reale dell'audiovisivo. Esistono due tipi principali di streaming video: streaming live e streaming on-demand. Il primo è comunemente chiamato anche webcasting (contrazione di Web broadcasting= teletrasmissione) ed è eseguito in contemporanea allo svolgimento dell'evento. Purtroppo però, in 3. FORMATI MULTIMEDIALI 11 questo caso, è facile riscontrare problemi durante la visione del video causati da ritardi, qualità audio scadente, immagine distorta, collegamento alla rete troppo lento. Il secondo tipo, invece, consente di visualizzare, utilizzando connessioni di rete, contenuti multimediali che risiedono su di un server collegato ad Internet. Ricorrere a questa tecnologia può essere molto utile soprattutto nella fase successiva, ad esempio di una videoconferenza, qualora si voglia creare un archivio dei filmati più interessanti o fornire filmati rielaborati in modo da funzionare come veri e propri prodotti multimediali. Analizziamo ora i principali standard video digitali. 3.3.1 Standard CCIR 601 CCIR 601 è uno standard internazionale di campionatura, noto anche come ITU-R-601, per il passaggio da video analogico a video digitale. Per il sistema NTSC specifica un frame di dimensioni 720x480 e 720x576 per PAL. Il frame rate può essere fissato a seconda delle esigenze. CIF, QCIF , SIF sono altri formati di video digitale. Il formato CIF (Common Intermediate Format) prevede frame di dimensione pari a 360 x 288 a 30 fps, mentre il formato QCIF (Quarter CIF, in quanto dimezza le dimensioni verticali e orizzontali del CIF) prevede frame di dimensione pari a 180 x 144 ed infine SIF (Source Interchange Format) di dimensione 352 x 240 per NTSC e 325x288 per PAL e SECAM.. Il formato QCIF è molto usato nelle videoconferenze poiché occupa poca banda mentre SIF e CIF sono usati per filmati con qualità simile al VHS. La seguente tabella riassume le specifiche del CCIR 601. Tabella 2 – specifiche dello standard CCIR 601 12 Chapter 3 3.3.2 Standard ATSC (Advanced Television Committee) L’ATSC ha definito uno standard nelle trasmissioni televisive che comprende la definizione dell’HDTV (High Definition TV). La seguente tabella riassume i formati per la scansione video definiti dall’ATSC. Tabella 3 – Scansioni video dell’ATSC La colonna “Picture Rate” mostra le modalità della scansione; il valore I sta per interlacciato mentre P sta per progressivo (scansione progressiva di ogni linea). Da notare che le proporzioni (aspect ratio) per l’HDTV è di 16:9, questo perché l’occhio umano ha una percezione laterale migliore rispetto a quella verticale. L’introduzione dell’HDTV comporta l’introduzione di una nuova colonna, che riportiamo adesso, nella tabella relativa allo standard CCIR601. Tabella 2 – HDTV nello standard CCIR-601 4. COMPRESSIONE VIDEO Abbiamo già detto che un segnale digitale occupa più banda di quello analogico (questo è il prezzo da pagare per l’immunità al rumore) nonostante il sottocampionamento delle componenti di crominanza e si intuisce, dunque, 3. FORMATI MULTIMEDIALI 13 l’esigenza di ricorrere a tecniche di compressione tra le quali emergono lo standard H.261, H.263 e MPEG. Accenneremo gli standard H.261, H.263 in seguito dopo la trattazione dell’MPEG. 4.1 MPEG (Moving Picture Experts Group) MPEG è un gruppo di lavoro ISO/IEC (International Organization for Standardization / International Electrotechnical Commission) che ha il compito di sviluppare nuovi standard internazionali per la compressione, decompressione, elaborazione e rappresentazione codificata di immagini in movimento (moving pictures), suoni e combinazioni di entrambi. Gli standards finora approvati sono: • • • MPEG-1 (Nov. 1992- ISO/IEC11172 ) il primo standard per la conservazione e riproduzione di immagini in movimento con audio (film su CD-ROM) e trasmissioni su breve distanza; MPEG-2 (Nov. 1994 - ISO/IEC13818) il primo standard per la televisione digitale (HDTV- trasmissioni a lunga distanza); MPEG-4 lo standard per "applicazioni multimediali" (televisione digitale, applicazioni grafiche interattive, videoconferenza...etc). Versione 1, Ott. 1998 (ISO/IEC 14496), versione 2, Dic. 1999; MPEG attualmente lavora ancora a: • • MPEG-4 versioni 3, 4 e 5; MPEG-7 lo standard per applicazioni su dati multimediali (ricerca, filtraggio, gestione ed elaborazione), di tipo "content based"; MPEG ha avviato : • MPEG-21 il contesto globale (framework) multimediale. Cominciamo ad analizzare lo standard MPEG-1. Alla fine del 1991 il comitato MPEG ha stilato il documento “Commitee Draft of Phase I”, alias MPEG-1, che codifica le immagini in movimento ed il relativo audio associato, compressi, con un bit stream dell’ordine di 1,5 Mbit/sec. Questo valore è stato scelto opportunamente poiché è il data rate dei CD audio e dei nastri DAT (Digital Audio Tape). 14 Chapter 3 MPEG-1 è strutturato in 5 parti, descritte in 10 documenti di ISO/IEC, pubblicati negli anni che vanno dal 1993 al 1999: 1. SINCRONIZZAZIONE DEI DIVERSI FLUSSI DATI; 2. SPECIFICA DELLA CODIFICA PER LA COMPRESSIONE VIDEO; 3. SPECIFICA DELLA CODIFICA PER LA COMPRESSIONE AUDIO; 4. SPECIFICHE PER I TEST DI COMPATIBILITA’; 5. RAPPORTO TECNICO. Le parti più interessanti sono le prime tre e sono quelle che tratteremo nel seguito. La prima parte si preoccupa di combinare in un unico flusso i dati in modo tale da poterli conservare e trasmettere. Figura 8 - MPEG-1 Parte 1 - Prototypical ISO/IEC 11172 decoder La figura suesposta descrive il prototipo di un decoder MPEG-1, il quale riceve il flusso dati da un supporto di memorizzazione e ne estrapola la componente audio e la componente video coadiuvato da un segnale di clock per la sincronizzazione dei due flussi. Il viceversa è ovviamente compito del codificatore. Analizzeremo la parte 2 nel paragrafo successivo dove si discuteranno le tecniche utilizzate per eliminare la ridondanza nei dati di ingresso e diminuire quindi il bit rate. Nel seguito non tratteremo la parte relativa all’audio essendo stata già ampiamente trattata nel paragrafo precedente. 3. FORMATI MULTIMEDIALI 15 4.1.1 COMPENSAZIONE DEL MOTO Consideriamo una sequenza di fotogrammi. Le differenze tra un fotogramma e l’altro sono, in genere, riconducibili a “spostamenti” di parti di esso. Si può allora pensare di individuare le differenze tra due fotogrammi ed evitare di trasmettere quelle parti che non subiscono variazioni. Individuate, per confronto, tali differenze, si trasmette solo il verso e l’entità dello spostamento. Si individua cioè un vettore di moto (o motion vector in inglese). Sono, in effetti, individuabili due tipi di ridondanze: • • ridondanza spaziale, dovuta alla vicinanza logica e/o cromatica esistente tra pixel vicini tra loro; ridondanza temporale, dovuta alla trasmissione di immagini contenenti un gran numero di "blocchi" privi di dinamicità. La compressione MPEG utilizza il "formato 4:2:0" per il sottocampionamento, di fattore 2, delle componenti di crominanza lungo la direzione verticale e orizzontale. Una sequenza video viene suddivisa in gruppi di immagini (Group Of Pictures) ed ogni immagine è ripartita in un certo numero di strisce contigue di macroblocchi, slice, la cui funzione è quella di fornire una protezione agli errori di trasmissione (se dei dati all'interno di una immagine risultano errati, il decodificatore è in grado di ripartire dalla slice successiva recuperando il resto dell'immagine). Le slice possono contenere un numero variabile di macroblocchi e possono iniziare da un punto qualunque dell'immagine. Ogni macroblocco ha una dimensione di 16 x 16 pixel ed è composto da blocchi di dimensione 8 x 8 pixel. 16 Chapter 3 Figura 9 - Trattamento delle immagini in MPEG-1 In MPEG-1 si individuano tre tipi di immagini: immagini di tipo I, immagini di tipo P ed immagini di tipo B. I frame di tipo I (o intraframes od ancora I frames) sono immagini (in formato JPEG) codificate nella loro interezza, senza riferimenti ad altri frame (la prima immagine di una sequenza video sarà necessariamente di tipo I); i frame di tipo P, noti anche come Forward predicted frames o P frames, sono predetti a partire da un frame di tipo I, cioè sono ottenute come spostamento di macroblocchi. Infine, si individuano le immagini di tipo B (Bidirectional frames o B frames) che si ottengono per interpolazione di un frame di tipo I ed uno di tipo P. Figura 10 - Fotogrammi in MPEG-1 Ogni GOP è costituito da una sequenza di 12 frame di cui i due estremi costituiscono dei frame di tipo I, mentre la disposizione dei frame B e P non ha vincoli. Inizialmente, nella fase di codifica, si genera un frame I. Successivamente si considerano i punti nei macroblocchi del canale di luminanza Y e nei corrispondenti blocchi 8x8 nei canali di crominanza Cb e Cr per la determinazione del vettore di moto e la predizione del frame P. Per ogni blocco si cerca quello che è ad esso più simile nell’ultimo frame I o P inviato. Il vettore di moto è allora individuato mediante il verso e la direzione fra questi due blocchi. Per specificare il blocco nel frame P che stiamo codificando, sarà sufficiente indicare, oltre al vettore di moto, la differenza fra i punti dei due blocchi che stiamo esaminando. Codificato un frame I ed uno P, si possono codificare i frame B fra essi compresi. Questa codifica può essere effettuata cercando per ogni blocco quello più simile nel frame I, oppure quello più simile nel frame P od ancora effettuando una media tra il blocco più simile nel frame I e quello più simile nel frame P, 3. FORMATI MULTIMEDIALI 17 sottraendo da questa media il blocco da codificare. Come quarta opzione, si può considerare il blocco da codificare come se facesse parte di un nuovo frame I. Poiché i frame B possono essere decodificati solo dopo aver decodificato il frame P successivo, è necessario inviare i frame con una sequenza logica diversa da quella utilizzata nella codifica. Supponiamo di avere la seguente sequenza: I B B P B P B P… in fase di decodifica la sequenza diventa: IPBBPPBB… allora le operazioni in fase di decodifica saranno: lettura e decodifica del frame I, istante t=0; lettura e decodifica del frame P, istante t=3 – visualizzazione frame I dell’istante t=0; lettura e decodofica del frame B, istante t=1 – visualizzazione frame B dell’istante t=1; lettura e decodifica del frame B, istante t=2 – visualizzazione frame B dell’istante t=2; lettura e decodifica del frame P, istante t=5 – visualizzazione frame P dell’istante t=3; lettura e decodifica del frame B, istante t=4 – visualizzazione frame B dell’istante t=4; lettura e decodifica del frame B, istante t=6 – visualizzazione frame P dell’istante t=5; … e così via. 4.1.2 STADI DI TRASFORMAZIONE Poiché le informazioni da associare ad ogni immagine sono elevate, è indispensabile ricorrere a tecniche specifiche per diminuire l’insieme delle informazioni da codificare. È da questo punto in poi che incomincia il processo di compressione del video. 18 Chapter 3 4.1.2.1 DISCRETE COSINE TRANSFORM (DCT) Codificare le immagini ricorrendo solo al calcolo dei vettori di moto non consente di ridurre la quantità di bit necessari per la codifica dell’immagine stessa. Per la compressione di immagini e di oggetti multimediali in genere si è soliti utilizzare la trasformata discreta coseno, caso particolare della trasformata di Fourier discreta. Le intensità YCbCr di colore vengono trasformate in dati che rappresentano lo stesso oggetto ma stavolta visto come somma di dettagli man mano più fini. Quei dettagli impercettibili all'occhio umano sono eliminati. Si può applicare poi la trasformazione inversa per risalire alle intensità di colore. I dati che vengono effettivamente memorizzati sono solo i dettagli conservati. La DCT si effettua su ogni blocco (8 x 8) e, poiché le crominanze Cb e Cr sono sottocampionate con un fattore pari a 2 lungo le righe, si associano 4 blocchi al segnale di luminanza e 2 blocchi a ciascuna delle componenti U e V. I coefficienti ottenuti, che sono in numero pari a quello dei punti del blocco, vengono organizzati in una matrice in modo che il valor medio, ovvero la componente continua, si trovi nell'angolo in alto a sinistra. I coefficienti delle componenti alternate (come mostrato nella figura seguente) vengono invece disposti in ordine decrescente, con i valori più alti vicino alla componente continua, ed in modo da avere un numero di riga/colonna che cresce in funzione del valore della frequenza verticale/orizzontale. La DCT non comporta di per sé perdite ma poiché il coseno è una funzione trascendente è necessario approssimare i coefficienti causando leggere perdite. 4.1.2.2 QUANTIZZAZIONE Mediante la DCT, il numero di coefficienti ottenuti per le varie componenti che hanno un valore nullo è abbastanza elevato. Questo numero può crescere se si rinuncia a parte della informazione originale quantizzando i coefficienti ottenuti dalla DCT, ovvero considerando nulli quegli elementi che sono prossimi allo zero. Questa è la parte della codifica MPEG in cui si introducono gli errori maggiori dato che il cambiamento di scala di un coefficiente quantizzato comporta errori non recuperabili se il coefficiente in questione non è multiplo del passo di quantizzazione.. Dopo la quantizzazione la matrice viene trasfomata in un vettore mediante l’algoritmo di linearizzazione a ZigZag. 3. FORMATI MULTIMEDIALI 19 4.1.2.3 CODIFICA RLE – CODIFICA DI HUFFMAN La fase di quantizzazione è seguita dalla compressione RLE (Run Length Encoding), la quale utilizza un simbolo di ripetizione per codificare sequenze uguali di bit, e da una successiva codifica secondo Huffmann che codifica le sequenze che hanno una maggiore probabilità di occorrenza con un numero inferiore di bit. Riassumiamo le varie fasi della compressione MPEG nella seguente figura: Figura 111 - MPEG, ridondanza spaziale e temporale 4.1.3 PRESTAZIONI E CONCLUSIONI Per dare un idea del vantaggio offerto da MPEG possiamo riportare il seguente esempio. Per memorizzare un filmato di 165 frames in formato RGB a 352x288 punti, dato che ogni fotogramma occupa 352*288*3=304128 bytes, occorrono circa 50 Mbytes. Lo stesso filmato, compresso in MPEG senza sacrificare troppo la qualità, occupa solo 1,1 Mbytes denotando quindi un rapporto di compressione di circa 50:1. La trasmissione di tale filmato, supponendo un data rate di 1 Mbit/sec, avrebbe comportato un tempo di 400 secondi mentre la versione compressa può essere trasmessa in poco meno di 9 secondi. 20 Chapter 3 Uno dei punti più critici sta nel fatto che al codificatore è lasciata una ampia libertà di scelta sul tipo di frame da utilizzare e sul tipo di codifica da effettuare sui singoli macroblocchi. Pertanto a parità di sequenza di immagini in ingresso, ma al variare dei parametri del codificatore, si possono ottenere un gran numero di sequenze diverse, sempre rispettanti lo standard MPEG, ognuna con un diverso valore di compressione e diversa qualità. Oltretutto, benché si stiano facendo molte ricerche in questo campo, vi e' un forte interesse da parte dei costruttori di hardware a mantenere riservati i risultati di queste per poter acquisire vantaggi competitivi nella fabbricazione di codificatori su singolo chip. Quindi, anche utilizzando codificatori software, il tuning dei vari parametri e' particolarmente critico e le prestazioni che si ottengono variano molto a seconda della configurazione o delle immagini in ingresso. In generale, ottenendo un risultato di qualita' media, ci si puo' aspettare che i frames di tipo I vengano compressi di un fattore 10:1, quelli di tipo P di un fattore 30:1 e quelli di tipo B di 60:1. I filmati MPEG attualmente disponibili hanno rapporti di compressione variabili fra 30:1 sino a 100:1 [1]. 5. MPEG-2, H. 261, H.263 MPEG-2 fu approvato nel 1994. Ideato per l'uso nel broadcasting digitale televisivo, è meglio conosciuto come "codifica DVD". Il suo bit-rate ideale si colloca tra 4 e 9Mb/s, ma può essere utilizzato nella modalità HDTV (High Definition TeleVision) supportando risoluzioni fino a 1920x1080 pixels a 30 fotogrammi al secondo. In quest'ultimo caso il bitrate medio sarà di ben 80Mb/s. Come tecnologia di streaming via Internet MPEG-2 non e' molto utile, poiché richiede larghezza di banda non accessibile dalla maggior parte degli utenti. Lo standard H.261 è stato sviluppato dal CCITT (Consultative Committee for International Telephone and Telegraph) tra il 1988 ed il 1990. E’ stato disegnato ed ottimizzato per la videoconferenza e per il videotelefono su linee ISDN. Il bitrate è pari a p*64 Kb/s dove p può variare tra 1 e 30 e rappresenta il numero di canali singoli ISDN utilizzati nella trasmissione. In genere si hanno valori di p=2 per cui il bitrate è apri a 128 Kbps oppure p=6 per cui il bitrate è 384 Kbps. Questo standard prevede una sequenza di frames di tipo CCIR 601 CIF (352 x 288) oppure QCIF(176 x 144). Il sottocampionamento delle componenti di crominanza è 4:2:0. Sono previsti due tipi di frame: Intra-frames (I frames) e Interframes (P-frames). I primi sono costituiti dai frames sulle quali l’immagine è costruita e di solito 3. FORMATI MULTIMEDIALI 21 sono di tipo JPEG. I P-frames sono frames predittivi (pseudo frames) e si basano sulle differenze dai frames precedenti. Esiste quindi una dipendenza dei frames nel senso contrario del tempo. Lo standard H.263 è stato definito nel marzo del 1996 ed ha come obiettivo la trasmissione video a basso bitrate. Anche questo standard utilizza la codifica mediante I-frames e P-frames. Introduce alcune opzioni interessanti rispetto allo standard H. 261 tra le quali il supporto dei formati SQCIF, 4CIF, 16CIF oltre al CIF e al QCIF. Di seguito riportiamo una tabella riassuntiva degli standard video per H.261 e H.263. Tabella 2 – standard video per H.261 e H.263 6. MPEG-4 MPEG-4 è uno standard ISO/IEC sviluppato dal comitato MPEG (Moving Picture Experts Group) è formalmente indicato dalla sigla 'ISO/IEC 14496', venne terminato nell’Ottobre del 1998 e divenne uno Standard all’inizio del 1999. Verso la fine di quest’anno vennero inoltre rilasciate un certo numero di estensioni per la compatibilità all’indietro che vanno sotto il nome di MPEG-4 Version 2. Vi furono modifiche successive e su alcune parti dello standard ci sono ancora dei team al lavoro. La prima versione di MPGEG-4 fu approvata dal MPEG nel dicembre del 1998, ma nel 1999 si era già pervenuti alla seconda versione. In seguito vi fu un certo numero di versioni (se così possono definirsi) successive che si limitarono ad aggiungere nuovi tool a quelli già specificati nelle due versioni precedenti. Ma in ogni caso ciascuna versione era compatibile con quelle precedenti. 22 Chapter 3 MPEG-4 è stato sviluppato in relazione a tre branche della IT (Information Technology): • Televisione Digitale; • Applicazioni grafiche interattive; • Interactive multimedia (World Wide Web, distribuzione e accesso ai dati). Le caratteristiche principali della tecnologia MPEG-4 sono sostanzialmente le seguenti: • Per gli autori di contenuti multimediali: maggiore riusabilità, maggiore flessibilità di quanto non sia possibile con singole tecnologie come televisione digitale, grafica animata,pagine Web etc. Inoltre è possibile gestire e proteggere i diritti sui contenuti. • Per i fornitori di servizi di rete: informazione trasparente, nel senso che può essere interpretata e tradotta facilmente nell’appropriato protocollo di ciascuna rete. Ovviamente MPEG-4 fornisce anche un supporto per il QoS (Quality of Service) e consente l’ottimizzazione delle trasmissioni su reti eterogenee. • Per gli utenti finali: un alto livello di interazione con i contenuti, possibilità di trasmettere formati multimediali impiegando anche reti relativamente lente, che quindi permettono solo bitrate bassi, e reti mobili. Per far ciò MPEG-4 rappresenta i contenuti sonori, visivi o audiovisivi mediante unità di informazione chiamate “media objects”. I media object possono essere naturali o sintetici, nel senso che possono essere registrati mediante apparecchi come telecamere o microfoni, ma possono anche essere generati mediante un computer. Le scene audiovisive sono rappresentate come composizione di media object che vengono trasmessi e sincronizzati fornendo un QoS appropriato alle caratteristiche del singolo media object. 3. FORMATI MULTIMEDIALI 23 6.1 RAPPRESENTAZIONE DEI MEDIA OBJECTS In MPEG-4 le scene sono composte da svariati media object organizzati in maniera gerarchica a partire da oggetti base come: • Immagini statiche (ad esempio lo sfondo di un fotogramma); • Oggetti Video (ad esempio una persona che parla, senza lo sfondo); • Oggetti Audio (ad esempio la voce della persona che parla o una musica di sottofondo); La codifica di un media object consiste di elementi descrittivi che ne consentono la gestione in una scena e di eventuali dati di streaming ad esso associati. La cosa fondamentale è che ogni oggetto può essere rappresentato indipendentemente dagli altri presenti nella stessa scena. Il modo migliore per spiegare il modo in cui i media object vengono rappresentati e composti fra loro è quello di darne un esempio ed è proprio lo scopo che si prefigge la figura sottostante nella quale è mostrata una scena e la sua composizione gerarchica. 24 Chapter 3 Figura 122 – Composizione gerarchica Questa figura mostra come la scena sia costruita per composizione di media object primitivi (foglie degli alberi di composizione) in modo da ottenere oggetti complessi(rappresentati mediante interi sottoalberi). Ad esempio l’oggetto visuale costituito dalla persona che parla e dalla sua voce è incorporato in un oggetto composto che contiene sia la parte audio che la parte video della persona. Più in generale lo standard MPEG-4 nella descrizione della scena permette di: 3. FORMATI MULTIMEDIALI 25 9 Posizionare i media object ovunque in un dato sistema di coordinate; 9 Applicare trasformate per cambiare le caratteristiche geometriche o acustiche di un media object; 9 Raggruppare media object in modo da formare oggetti composti; 9 Applicare flussi di dati aggiuntivi ai media object in modo da cambiare i loro attributi (ad esempio suoni o parametri per l’animazione di visi sintetici, etc) 9 Cambiare interattivamente dell’osservatore. i punti di vista e di ascolto Lo standard Video MPEG-4 permette come già accennato in precedenza la codifica ibrida di immagini “naturali” (digitalizzate) e video insieme alle scene sintetiche generate al computer. Questo consente, ad esempio, la presenza virtuale dei partecipanti ad una videoconferenza. Lo standard Video MPEG-4 supporta sia la codifica progressiva che quella interlacciata, bitrate che vanno dai 5 Kbit/s a oltre 1 Gbit/s e risoluzioni dalle sub-QCIF (minori di 176x144) a qualità da “Studio” (4000 x 4000 pixel). Gli algoritmi di codifica specificati nel suddetto standard sono molto efficienti a tutti i bitrate contemplati e forniscono vari livelli di qualità, da una qualità “accettabile” ad una qualità molto vicina a quella di una “codifica senza perdita”. Vi sono poi funzionalità basate sul contenuto del video da codificare che permettono la ricostruzione e la decodifica separate per oggetti video di forma qualsiasi, è inoltre consentito l’accesso casuale ad un qualsiasi punto della sequenza video oltre alle funzionalità che ci si aspetterebbe come pausa, avanzamento e riavvolgimento veloce. È anche possibile aggiungere testo o immagini sovrapposti alla sequenza video. Inoltre un canale alpha definisce la trasparenza degli oggetti che non dev’essere necessariamente uniforme, infatti generalmente i contorni sono più trasparenti (tale tecnica è detta frangiatura, dall’inglese feathering). Il rilevamento degli errori permette di accedere a immagini o video memorizzati su una ampia gamma di supporti o di trasmetterli su vari tipi di reti di comunicazione, ciò può richiedere, in ambienti soggetti ad errori, bitrate bassi in modo da aumentare l’affidabilità della decodifica/trasmissione. 26 Chapter 3 Una particolarità di questo standard, che però definisce solo i parametri e non i modelli, è la presenza di particolari tool in grado di inviare parametri per definire e animare visi e corpi sintetici. 6.2 SINCRONIZZAZIONE DEI FLUSSI DI DATI Vi possono essere uno o più flussi di dati associati ad un media object; tali flussi di dati sono legati al media abject da un “object descriptor”. Questo permette di gestire dati codificati gerarchicamente e di associare ad essi meta-informazioni circa il loro contenuto, inoltre ogni flusso di dati è caratterizzato da un certo numero di informazioni di configurazione, come specifiche del decodificatore necessario per l’utilizzo del flusso stesso o informazioni sul QoS richiesto. La sincronizzazione di flussi elementari è ottenuta mediante l’introduzione di informazioni di temporizzazzione associate alle singole unità di accesso all’interno del flusso (keyframes). Ciò è gestito dal livello di sincronizzazione (synchronization layer) il quale, indipendentemente dal tipo di media, permette di identificare il tipo di unità di accesso, ricavare le informazioni sul tempo in cui ciascuna unità dovrà essere riprodotta(trasmessa) e sincronizzarli. Ovviamente i parametri di questo layer sono configurabili in un gran numero di modi diversi. La trasmissione del flusso dati sincronizzato è effettuata tenendo conto del layer di sincronizzazione e di una layer di trasmissione contenente un multiplexer a sua volta strutturato in due livelli (Figura 13). Il primo livello di multiplexing è gestito secondo le specifiche DMIF (Delivery Multimedia Integration Framework) che definiscono un’interfaccia tra applicazioni e trasmissione che permette ad una singola applicazione di utilizzare layer di trasmissione multipli; tali specifiche sono implementate nella FlexMux tool definita dal MPEG, strumento che permette il raggruppamento di flussi elementari con un basso overhead. 3. FORMATI MULTIMEDIALI 27 Figura 13 – Sincronizzazione dei flussi dati DMIF supporta le seguenti funzionalità: 9 un’interfaccia trasparente che libera il progettista dal tener conto del tipo di destinazione (interactive peer, broadcast o local storage media); 9 controllo dei canali di FlexMux; 9 Utilizzo di reti del tipo: IP, ATM, PSTN, Narrowband ISDN; 9 Supporto per reti mobili; 9 Comandi utente con messaggi di risposta; 9 Gestione del layer di sincronizzazione MPEG-4 Il secondo livello di multiplexing, detto “TransMux” (Transport Multiplexing), è quello che fornisce servizi di trasmissione soddisfacenti il QoS richiesto. Di questo livello è stata definita solo l’interfaccia, mentre le singole implementazioni sono da adattare alla specifica rete di trasmissione. L’utente può interagire con le scene in svariati modi, dipendenti anche dalle libertà che gli ha lasciato l’autore del contenuto multimediale, tra le quali: 9 Cambiare il punto di vista o di ascolto; 9 Spostare oggetti da un punto all’altro della scena; 28 Chapter 3 9 Causare eventi cliccando su uno specifico oggetto; 9 Scegliere la lingua desiderata (quando differenti lingue sono disponibili). Ovviamente anche le suddette operazioni richiederanno le opportune informazioni di sincronizzazione. 6.3 CODIFICA DEL VIDEO La codifica delle immagini a dei video è simile a quella convenzionale di MPEG-1/2 e comprende: predittività, compensazione del moto e, ovviamente, codifica delle immagini statiche. Sono inoltre previsti la codifica delle forme e informazioni sulla trasparenza. L’MPEG-4 supporta la codifica di immagini e oggetti video di forme sia rettangolari che arbitrarie consentendo scalabilità sia spaziale che temporale. Qui per scalabilità si intende la capacità di decodificare anche singole parti di un bitstream e di ricostruire immagini o sequenze di esse con: • Decodificatori di ridotta complessità (e quindi con minore qualità); • Ridotta risoluzione spaziale; • Ridotta risoluzione temporale; • La stessa risoluzione spaziale e temporale ma con ridotta qualità. L’ultima di queste funzionalità è preferibile per il trasferimento di immagini e video su reti eterogenee,ma anche per applicazioni in cui la destinazione non sia in grado di visualizzare immagini full quality o full resolution. 3. FORMATI MULTIMEDIALI 29 6.3.1 SCHEMA DELLA CODIFICA VIDEO MPEG-4 La figura sottostante mostra l’approccio alla codifica di video di forma arbitraria dell’algoritmo di compressione video MPEG-4. Figura 14 – Schema della codifica video MPEG-4 La struttura base prevede codifica delle immagini basata sulla DCT (discrete Cosine Transform – Trasformata Coseno Discreta) e compensazione del moto (come in MPEG-1/2). Il vantaggio principale della tecnologia MPEG-4 è la capacità di migliorare in maniera significativa l’efficienza della compressione delle sequenze video, mediante l’utilizzo di specifiche tecniche di predizione del moto per ogni oggetto presente nella scena: • Predizione e compensazione del moto standard, su blocchi di pixel 8x8 o 16x16; • Global Motion Compensation (GMC) per gli oggetti video.Tale codifica dell’intero movimento di un oggetto mediante un numero ridotto di parametri è basata sulla predizione del moto, sull’interpolazione e sulla codifica delle traiettorie; • Compensazione del moto per gli “sprite” statici. Uno “sprite” statico è una immagine statica, eventualmente estesa, che descrive un 30 Chapter 3 panorama. Per ogni immagine in una sequenza, sono codificati per ricostruire la stessa, solo 8 parametri di movimento che descrivono i cambi di posizione dell’inquadratura. Questi parametri rappresentano le appropriate trasformazioni dello “sprite” trasmesso nel primo fotogramma. La figura 15 illustra il concetto alla base della codifica di una sequenza video usando un immagine di sfondo statica (still panorama image). Si assume, ovvimanete, che gli oggetti in primo piano (come il giocatore di tennis) possano essere separati dallo sfondo e che quest’ultimo possa essere codificato separatamente dalla sequenza video. L’immagine statica di sfondo è memorizzata in uno sprite buffer in modo che ad ogni fotogramma consecutivo della sequenza video possano essere trasmesse solo le informazioni relative al cambiamento dell’inquadratura; ciò permette di ricostruire lo sfondo della sequenza a partire dall’immagine memorizzata nel buffer. Gli oggetti in primo piano vengono quindi codificati e trasmessi separatamente, sarà la destinazione a decodificarli ed a ricostruire la sequenza video. La codifica efficiente di trame ed immagini statiche è basata su un algoritmo wavelet zerotre che fornisce una codifica molto efficiente su un grande intervallo di bitrates. Insieme alla grande efficienza di compressione questa tecnica permette scalabilità sia spaziale che qualitativa (fino a 11 livelli di scalabilità spaziale ed una scalabilità sulla qualità continua). Figura 15 – Esempio di codifica 3. FORMATI MULTIMEDIALI 31 Alcuni test di valutazione effettuati dallo stesso gruppo MPEG hanno mostrato che la combinazione delle tecniche sopracitate (contenute nella versione 2 dello standard) permette ridurre il bitstream fino al 50% rispetto a quello ottenuto con la versione 1. La riduzione è, ovviamente, dipendente dalle caratteristiche intrinseche del flusso di dati da comprimere. Come per l’audio, anche per il video esistono vari profili, a seconda degli strumenti utilizzati: essi sono ordinati per rapporto qualità/compressione crescente. I profili più avanzati sono però di più difficile implementazione e richiedono hardware più potente per la codifica/decodifica. Essi sono ordinati per difficoltà crescente di implementazione e complessità di codifica/decodifica. 9 Il Simple profile prevede la codifica di oggetti rettangolari e ridondanza per la protezione da errori; 9 Il Core Profile aggiunge al Simple profile il supporto alla codifica di oggetti di forma arbitraria e oggetti scalabili, cioè un oggetto può essere codificato a differenti livelli di qualità in modo da essere fruibile da diversi livelli di utenza; 9 Il Main Profile aggiunge il supporto di oggetti interlacciati, semi trasparenti e degli sprite al Core Profile; 9 L’Advanced Coding Efficiency (ACE): aumenta l’efficienza della codifica di oggetti sia di forma arbitraria che di forma rettangolare. 6.4 FUNZIONALITÀ INNOVATIVE DI MPEG-4 La caratteristica più innovativa dello standard MPEG-4 è senza ombra di dubbio la capacità di codificare come oggetti separati gli sfondi e gli oggetti in primo piano, ma molto rilevanti sono le funzionalità legate alla codifica di oggetti sintetici come visi e corpi. L’oggetto “facial animation” può essere usato per la rappresentazione di visi animati. La forma, la trama e le espressioni del viso sono controllate dai “Facial Definition Parameters” (FDP) e/o dai “Facial Animation Parameters” (FAP), parametri di definizione e di animazione della faccia. Per costruzione l’oggetto faccia contiene un viso con un espresisone neutra che riceverà poi i parametri di animazione dal flusso di dati e questo produrrà l’animazione del viso: espressione, parlato ecc. Inoltre possono essere inviati all’oggetto dei parametri di definizione in modo da modificare l’aspetto del viso per fargli assumere specifiche forme colori ecc. L’oggetto “Body” come quello appena descritto è caratterizzato da due insiemi di parametri “Body Definition e Body Animation Parameters” (BDP e BAP). Per costruzione l’oggetto 32 Chapter 3 “Body “ contiene un generico corpo umano in posizione predefinita, questo può essere modificato mediante BAP e BDP. Non è posta alcuna limitazione sul set di movimenti che le articolazioni possono compiere, perciò tale modello può essere utilizzato per un gran numero di applicazioni diverse, dalla simulazione realistica di movimenti umani a giochi che utilizzano semplici modelli antropomorfi. 7. DIVX La nascita del formato DivX è fatta coincidere ufficialmente con il rilascio della prima versione del codec ad opera di Jérôme Rota (conosciuto con il nome di “Gej” nell’ambiente hacker), ma bisogna ricercare le radici della nascita di questo formato, diventato ormai una standard de facto per lo scambio di video su Internet, alla fine del secolo scorso, nell’anno 1997, quando la Microsoft creò il Div (Digital Internet Video), algoritmo di compressione successivamente sfociato nella formulazione di MPEG-4. Intenzione del Big di Redmond era stabilire uno standard per lo streaming video attraverso la rete; all’epoca la trasmissione di file video attraverso internet era limitata ad infruttuosi tentativi di utilizzare video in formato MPEG-1 che, però, dovendo essere di piccole dimensioni (per ovvi motivi di banda, molto limitata al tempo) risultavano di scarsa qualità; fu così che nacque l’ASF (Advanced Streaming Format), unico formato in grado di utilizzare MPEG-4 e soggetto a vincoli di copyright sotto il controllo della società di Bill Gates. E’ a questo punto della storia che entra in gioco il già citato “Gej” che a partire (a detta della microsoft, mentre per altri è un pioniere del video digitale) da elementi trafugati dalla sopracitata tecnologia microsoft diede alla luce la prima release della tecnologia di compressione video DivX ;-). La tecnologia DivX divenne in breve tempo estremamente popolare, al punto da guadagnarsi il titolo di “MP3 del video”. Nonostante la sua diffusione, la qualità della compressione video e l’arrivo di una versione quasi finale del codec (3.11 Alpha) il formato DivX presenta ancora un problema: è ufficialmente “ILLEGALE” perchè ottenuto, senza licenza, dalla manipolazione di un prodotto di proprietà della Microsoft. E’ così che all’inizio del 2000, Jordan Greenhall, dipendente di MP3.com e consulente presso la InterVU, contatta “Gej” e gli propone di fondare una 3. FORMATI MULTIMEDIALI 33 società che si occupi della popolare technologia DivX. Jérôme Rota accetta immediatamente la proposta, e con un terzo socio, Joe Bezdek, fondano DivXNetworks, Inc., nel Maggio del 2000. Durante l’estate del 2000, DivXNetworks mette on-line il sito ufficiale di "Project Mayo" che è il progetto di ricerca che racchiude svariate iniziative nell’ambito della tecnologia DivX. Questo progetto di sviluppo pervenne ad un risultato nel Gennaio del 2001 quando la compagnia annunciò la nascità di una nuova generazione di DivX, il progetto open source chiamato "OpenDivX." Nell’agosto del 2001, DivXNetworks rilascia DivX 4.0, la nuova versione della rivoluzionaria tecnologia di compressione compatibile MPEG-4 che consete qualità-DVD a bassi bitrate. Dal 2001 ad oggi c’è stato un susseguirsi di nuove versioni della serie 4 (quella open source) del codec DivX fino ad arrivare alla release attuale, la 4.0 alpha 50. Parallelamente, dal Marzo 2002, si è avuta anche un’evoluzione non open source della tecnologia DivX: la serie 5, che prevede una versione gratuita per uso personale ma anche una a pagamento per uso commerciale e che attualmente è giunta alla versione 5.0.5 dell’aprile 2003. 7.1 DivX CODEC Il DivX come MPEG –1, MPEG-2 ed MPEG-4 è un codec. La parola “Codec” sta per COder/DECoder (COdificatore/DECodificatore) e non è altro che un insieme di algoritmi che permettono di codificare un flusso di dati non compresso in uno specifico formato, ad esempio AVI o ASF. Sia AVI che ASF sono dei “formati contenitori”, per così dire, poiché possono contenere dati generati con codec diversi. Uno dei pregi fondamentali della tecnologia di compressione DivX è lo straordinario rapporto tra qualità del video e dimensioni dei file compressi. Per esempio si pensi al fatto che i video sulle classiche cassette VHS possono essere ridotti (se compressi in DivX) a circa un centesimo delle loro dimensioni originarie. Almeno all’inizio, DivX non era un formato di compressione totalmente innovativo poichè derivato dal codec Microsoft MPEG-4 ASF. Per quest’ultimo Microsoft aveva previsto solo la codifica ASF che però, essendo progettatata per lo streaming su internet, aveva l’inconveniente di inserire informazioni aggiuntive nel file compresso e questo aumentava ulteriormente le dimensioni del file. Inoltre i file ASF proprio per la loro natura di stream erano soggetti a problemi di sincronizzazione dell’audio. 34 Chapter 3 E sono proprio questi i problemi che il DivX risolse rimuovendo le informazioni per lo streaming su rete e focalizzando l’attenzione sulla sincronizzazione tra audio e video; tali migliorie permisero la riproduzione di video di qualità MPEG-4v3 tramite file AVI. Proprio per la sua natura di codec derivato DivX prevede due differenti versioni: • • Versione - "Slow-motion" ottenuta a partire dal codec DIV3 (MPEG-4.1.00.3920) di Microsoft Versione - "Fast-motion" ottenuta a partire da DIV4 (MPEG4.1.00.3917) di Microsoft 7.2 PRESTAZIONI Tutti i formati Mpeg o da esso derivati, incluso il DivX, sono caratterizzati da parametri che ne influenzano le prestazioni. Questi codec dividono le immagini da codificare in blocchetti di 8x8 pixel e successivamente li raggruppano in macroblocchi di 16x16 pixel, ad ogni blocco è associata una certa quantità di “memoria”, tale quantità varia a seconda di un parametro detto bitrate (letteralmente tasso di bit) che sta ad indicare il numero di bit utilizzati per codificare un secondo di video. Maggiore è il bitrate, maggiore sarà la qualità del filmato compresso. Cerchiamo ora di mostrare con un esempio cosa accade quando si varia il bitrate associato al filmato. Supponiamo che quello di Figura 16 sia un fotogramma del filmato da comprimere. 3. FORMATI MULTIMEDIALI 35 Figura 16 – Fotogramma da comprimere Consideriamo, per semplicità, un singolo macroblocco del fotogramma e vediamo cosa gli succede se variamo il bitrate: Figura 17 – Macroblocchi / bitrate Se si osserva l’immagine in Figura 17, dove lo stesso macroblocco è stato codificato a bitrate progressivamente minori, si può vedere come la qualità dell’immagine codificata sia strettamente legata al bitrate stesso. Riportiamo, inoltre, di seguito l’esempio di un fotogramma compresso in DivX raffrontato con la versione originale in DVD. 36 Chapter 3 Figura 18 – Immagine non compressa Figura 19 - Immagine compressa in DivX Come si può notare l’effetto della compressione sull’immagine può essere deleterio se si vuole risparmiare spazio. 3. FORMATI MULTIMEDIALI 37 APPENDICE: MPEG e utente finale Sono molti i formati compatibili con gli standard MPEG che l’utente finale può utilizzare, tra questi: Video CD: noto anche come VCD, ha la capacità di contenere fino a 74 minuti di video full-motion su un CD da 650 MB, e fino ad 80 minuti su un CD da 700 MB. Il video è compresso utilizzando lo standard MPEG che fornisce circa la stessa qualità di un filmato su cassetta VHS. Specifiche Video: 1150 kbit/sec MPEG-1 352x288 @ 25 fps (PAL) 352x240 @ 29.97 fps (NTSC) 352x240 @ 23.976 fps Audio: 224 kbit/sec MPEG-1 Layer2 44.1 kHz Super Video CD: noto anche come SVCD, è una versione migliorata di VCD, che utilizza MPEG-2 invece di MPEG-1 per comprimere il video. Questo offre un video di migliore qualità, ma ciò significa anche che un CD può ospitare filmati di durata minore: da 20 a 40 minuti, a seconda delle dimensioni del CD utilizzato. Specifiche Video: 2524 kbit/sec MPEG-2 480x576 @ 25 fps (PAL) 480x480 @ 29.97 fps (NTSC) 480x480 @ 23.976 fps Audio: 224 kbit/sec MPEG-1 Layer2 44.1 kHz Altre applicazioni commerciali della tecnologia MPEG esistono per quanto riguarda l’home cinema, come: DVD: Digital Versatile Disk, conosciuti anche come Digital Video Disk, sono utilizzati diffusamente per la distribuzione commerciale di Film, possono contenere più di due ore di video digitale di qualità professionale (un disco a doppio strato e doppia facciata ne può contenere ovviamente otto). Supportano formato video televisivo normale 4:3 e cinematografico Widescreen 16:9. Contengono fino a 8 tracce digitali audio multicanale (5+1 ed anche 6+1). Fino a 32 tracce di sottotitoli. Possibilità di multiangolazione 38 Chapter 3 della stessa scena. Menù multilingue interattivi. Ricerca in tempo reale di un qualsiasi punto del film, sia per capitoli, sia per codice temporale. I DVD non vengono influenzati da campi magnetici ed hanno una elevata resistenza al calore. Specifiche Video: MPEG-2 fino a 9.8 Mbit/sec 720x576 PAL 704x576 PAL 720x480 NTSC 704x480 NTSC Audio: MPEG-1 Layer2 48 kHz 96 kbit/sec “Ac3 mono” 1536 kbit/sec “DTS” Da 1 a 6+1 canali audio TV Digitale: Trasmessa via cavo o via satellite utilizza sostanzialmente la stessa codifica del formato DVD Per quanto riguarda l’audio MPEG ha spopolato negli ultimi anni con il formato ”mp3”. MP3 sta per MPEG 1 layer III. Il nome completo per lo standard AUDIO è MPEG 1 Layer III (ISO/IEC 11172-3), nome abbreviato amichevolmente in MP3. MP3 dà rapporti tra qualità del brano e dimensioni del file pressoché ottimali, e deve a questo la sua diffusione nella compressione di segnali audio complessi, quali brani musicali. Inoltre permette di ottenere files musicali (con estensione .mp3) che hanno dimensioni estremamente ridotte e quindi facilmente "scaricabili" da Internet. Basti pensare che un minuto di musica su CD ha dimensioni di circa 10 MB (file WAVE), mentre un minuto di musica in formato MP3, risulta avere, in media, dimensioni dell’ordine di un solo MB. La sua diffusione è stata così capillare da provocare in breve tempo la nascita di lettori con supporto mp3 fissi e portatili, da casa e da auto. Questo formato fornisce una codifica audio ad uno ('mono') e due ('stereo' o 'dual mono') canali a rapporti di campionamento di 32, 44.1, and 48 kHz. L’intervallo del bitrate è compreso tra i 32 ed i 320 kbit/s. Come al solito i più “fortunati” sono gli utenti di Personal computer che oltre a poter usufruire dei formati sopra citati possono godere anche di formati derivati dalle specifiche dettate dal MPEG in campo di compressione video e audio (si vedano i formati DivX, XviD …) 3. FORMATI MULTIMEDIALI 39 Nella figura 20 della pagina seguente è riportato uno schema raffigurante dispositivi e formati da essi supportati. Figura 20 Riportiamo di seguito una breve panoramica dei dispositivi di riproduzione e dei formati da essi supportati: Lettori CD: Ormai i classici lettori CD portatili hanno lasciato il posto ai più recenti Lettori con decodifica mp3 che oltre a supportare il formato CD Audio (Tracce *.cda), supportano anche il formato mp3. Dei lettori con decodifica mp3 alcuni supportano anche la decodifica e la riproduzione di VCD mediante un’apposita uscita per il collegamento al televisore. Un esempio dell’ultimo tipo di dispositivo è quello riportato nella prossima pagina. 40 Chapter 3 Waitec Tanky Dimensioni :164,7x146x31 mm Peso: 320 g. Formati supportati: MP3, VCD, CD Alimentazione: Battery Pack Li-ion 3.6V (Type: BTL 1400Ah) Note: Tramite l'utilizzo di un telecomando a distanza è possibile controllare tutte le funzioni disponibili in TANKY. Accessori in dotazione cuffie, alimentatore AC/DC 220V, telecomando distanza ad infrarossi, cavo per collegamento TV, cavo audio, Cuffie snodabili, Manuale d'uso Lettori MP3: permettono la riproduzione e l’ascolto di brani mp3 e possiedono una memoria propria per la memorizzazione di tali brani; Un esempio di questo tipo di dispositivo è: Creative - NOMAD Jukebox Zen [12] Dimensioni: 75.9 x 112.6 x 24.5 mm Peso: 268g Formati supportati: MPEG Audio Layer 3 (MP3), Windows Media™ Audio (WMA) e WAV Alimentazione: Batteria Li-ion ricaricabile Lettori VCD: Predecessori dei moderni lettori DVD permettono la riproduzione di film su CD in formato VCD e SVCD, ma in Italia non si sono quasi mai visti; Un esempio di questo tipo di dispositivo è: PANASONIC VCD PLAYER SL-VS504 "Playback Control" (Version 2.0) Function Full Karaoke Functions PAL/NTSC Auto Change Function Easy-to-read On-Screen Display 2-mic jacks, digital echo and key control MASH 1-bit D/A converter Digital servo system Wireless remote control Still advance / slow motion / last speed function 3. FORMATI MULTIMEDIALI 41 Lettori DVD: i normali lettori DVD permettono la visone di film in formato DVD, VCD, SVCD, l’ascolto di audio in formato CD Audio ed mp3 oltre che l’utilizzo di Foto CD. Alcuni lettori DVD di ultima generazione permetto inoltre la visione di film in formato DivX e di immagini in formato JPEG; Un esempio di questo tipo di dispositivo è: KISS DP- 450 DIVX/DVD HOME PLAYER Il primo lettore DVD al mondo che legge il formato DivX. Legge e riproduce DVD MPEG-4 e DivX (Codec 4 e 5), VideoCD, SVCD, Mp3, CD, CD-RW, DVD-RW. Personal Computer: gli utenti di computer possono usufruire di tutti i formati supportati dai dispositivi di cui sopra (per il DVD è necessario possedere un lettore DVD ed un apposito programma in grado di decodificare tale formato).Con un Computer sia per la lettura di DVD che di VCD e SVCD è possibile usare uno qualsiasi dei seguenti programmi: 9 9 9 9 Power DVD (Commerciale) WinDVD (Commerciale) NVDVD (Commerciale) Windows Media Player (Fornito con Windows ma richiede Decoder DVD) 42 Chapter 3 Bibliografia [1] MPEG: Uno standard per la compressione di immagini in movimento – Luigi Filippini http://www.crs4.it/Multimedia_Reports/mpeg.html [2] ISO/IEC JTC1/SC29/WG11 N4668 Marzo 2002 [3] Project Mayo http://www.projectmayo.com [4] Telecom Italia Lab http://mpeg.telecomitalialab.com/standards/mpeg-4/mpeg-4.htm [5] DivX Digest http://www.divx-digest.com [6] Divax: Guida al DivX http://www.divax.it/guide.asp [7] ItPortal.it http://www.itportal.it/developer/speciali/divx/default.asp [8] Digital figest http://nickyguides.digital-digest.com/quality.htm [9] MacProf: Cosa sono VideoCD e SuperVideoCD http://www.macitynet.it/macprof/tutorial/videocd/vcdhelp1.shtml [10] NoemaLab.com: DVD e formati di compressione http://www.noemalab.com/sections/specials/tetcm/dvd_compressione/main.html [11] The MPEG Home Page http://mpeg.telecomitalialab.com [12] NomadWorld.com: NOMAD Jukebox Zen http://www.nomadworld.com
Documenti analoghi
1 Videoediting: concetti di base e formati 1. Codec (codifica e
applicazioni. Gli algoritmi sviluppati dal gruppo MPEG sono tutti algoritmi a perdita di informazione (lossy). La tecnica impiegata è la seguente: il flusso video viene campionato, viene ridotto ...
Dettaglicodec-formati
Le caratteristiche di un AVI DIVX, in cui si utilizza il formato di compressione MPEG4: COMPRESSIONE VIDEO MPEG 4 BITRATE VIDEO Fino a 6000 Kbit/sec RISOLUZIONI 640x480 Kbit/sec o inferiore FRAME R...
Dettagli