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

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 ...

Dettagli

codec-formati

codec-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