MPEG-1
Moving Picture Experts Group Phase 1 (MPEG-1) | |
---|---|
Estensione | .dat, .mpg, .mpeg, .mp1, .mp2, .mp3, .m1v, .m1a, .m2a, .mpa, .mpv |
Tipo MIME | audio/mpeg, video/mpeg |
Sviluppatore | MPEG |
1ª pubblicazione | 6 dicembre 1991 |
Ultima versione | ISO/IEC TR 11172-5 (ottobre 1998) |
Tipo | Codec video |
Estensione di | JPEG, H.261 |
Esteso a | MPEG-2 |
Standard | ISO/IEC 11172 |
Formato aperto? | Sì |
Modifica dati su Wikidata · Manuale |
MPEG-1 (Moving Pictures Experts Group Phase 1) è uno standard introdotto nel 1991 da MPEG.
Originariamente è stato ottimizzato per le applicazioni video a basso bitrate con una risoluzione video di 352×240 pixel con 30 fotogrammi al secondo per lo standard tv NTSC oppure di 352×288 pixel con 25 fotogrammi al secondo per lo standard tv PAL. Questi formati sono comunemente definiti come SIF (Source Input Format). MPEG-1 non è strutturalmente limitato a questi formati in quanto può raggiungere ad esempio i 4095×4095 pixel con 60 fotogrammi al secondo, ma nelle applicazioni ha condotto il gioco la velocità di trasmissione e quindi il sistema è stato ottimizzato per un bit rate di 1,5 Mbit/s. Il limite più importante del sistema MPEG-1 è dovuto all'impossibilità di trattare immagini interlacciate come quelle impiegate nel broadcast TV Europeo che richiedono un doppio processo di codifica.
I Video CD utilizzano il formato MPEG-1. La qualità dell'output ai bitrate tipici di un Video CD è quella di un videoregistratore VHS.
MPEG-1 è suddiviso in varie parti:
- Sincronizzazione e multiplazione (multiplexing) dei flussi video e audio.
- Codec di compressione per i segnali video non interlacciati.
- Codec di compressione dei segnali audio. Lo standard definisce tre livelli di codifica audio.
- Procedure per verifiche di conformità.
- Software di riferimento.
Compressione video in MPEG-1
Struttura del fotogramma
L'algoritmo di compressione video in MPEG-1 opera su sequenze di fotogrammi (o frame), ciascuno dei quali è rappresentato come una matrice di pixel. Ad ogni pixel è associata una terna di valori (Y,Cb,Cr) che ne descrive le coordinate nello spazio di colori YCbCr. Le componenti di crominanza (Cb e Cr) sono sottocampionate nello spazio di un fattore 4:1, per ridurre l'occupazione di banda risultante dal processo di compressione. La componente di luminanza (Y), invece, non è sottocampionata poiché molto più rilevante ai fini della qualità del segnale video. Per procedere alla compressione, ciascun fotogramma viene scomposto in macro-blocchi di 16×16 pixel, ognuno dei quali conterrà 4 blocchi 8×8 di campioni di luminanza (Y) e 2 blocchi 8×8 per le componenti di crominanza (Cb e Cr).
Tipologie dei frame
Tre sono le tipologie di frame previste in MPEG-1: I (Intra), P (Predicted) e B (Bidirectionally predicted). Per ciascuna di esse viene utilizzata una differente procedura di compressione. Un frame di tipo I viene elaborato sulla base di tecniche Intra-frame, ovvero avvalendosi esclusivamente delle informazioni contenute nel fotogramma stesso. I frame di tipo P e B, invece, sono compressi mediante tecniche inter-frame, ovvero processati a partire da una predizione ottenuta dai frame temporalmente precedenti e/o successivi. La sequenza video è scomposta in Group Of Picture (GOP) in cui si alternano, in successione regolare, le differenti tipologie di frame. Ad esempio, un GOP potrebbe essere rappresentato come successione di tipo IBBBPBBBP. La struttura del GOP è tipicamente configurabile sulla base delle esigenze specifiche dell'applicazione in cui il contenuto video viene calato. Rispetto ai frame P o B, i fotogrammi I garantiscono una maggiore immunità alla propagazione degli errori (poiché sono decodificati senza far riferimento a nessun altro frame) ma richiedono un maggior numero di bit (dato che non si avvalgono di tecniche di predizione inter-frame).
Compressione dei frame I
I frame di tipo I sono compressi senza ausilio di tecniche di predizione inter-frame. L'algoritmo di compressione si applica a ciascuno dei blocchi 8x8 componenti il frame I (ed indipendentemente per ciascuna delle coordinate Y, Cb e Cr) e si articola nei seguenti passi:
- Trasformata DCT: il blocco 8×8 viene rappresentato nel dominio trasformato con una matrice 8×8 di coefficienti DCT. Questa trasformazione è molto utile perché, a differenza dei pixel componenti il blocco, i coefficienti DCT sono tra loro incorrelati (o poco correlati) e pertanto possono essere processati indipendentemente l'uno dall'altro. Inoltre, la DCT tende a concentrare in pochi coefficienti nel dominio trasformato (tipicamente alle basse frequenze spaziali) l'energia contenuta nel segnale, rendendo così possibile il raggiungimento di un elevato fattore di compressione. Tra i coefficienti DCT distingueremo il termine DC che è proporzionale al valor medio della componente Y o Cb o Cr del blocco processato, dagli altri termini AC.
- Quantizzazione: i coefficienti DCT sono rappresentati su un dominio discreto di valori. Questa operazione comporta una perdita di informazione. Essa tuttavia non è applicata allo stesso modo a tutti i coefficienti DCT. Infatti, i coefficienti alle basse frequenze vengono quantizzati in modo più fine rispetto agli altri, poiché maggiormente rilevanti ai fini della qualità del segnale video. Inoltre, la più grossolana quantizzazione applicata ai coefficienti alle alte frequenze, renderà ancor maggiore il numero di essi con valori prossimi allo zero e pertanto ininfluenti alla determinazione del bitrate complessivo.
- Codifica differenziale del coefficiente DC (DPCM): il coefficiente DC è rappresentato in modo differenziale rispetto al blocco precedente.
- Zig-zag scan: i coefficienti DCT quantizzati vengono rappresentati in successione, per frequenze crescenti.
- Run-length encoding: la sequenza di coefficienti DCT quantizzati, essendo tipicamente composta da un considerevole numero di zeri, viene rappresentata come successione di coppie di valori (x,y), dove x rappresenta il valore del coefficiente non nullo ed y il numero di zeri che lo precedono. L'ultima sequenza di zeri viene rappresentata con un codice ad hoc definito EOB (End Of Block).
- Codifica entropica: ciascuna coppia di valori (x,y) determinata al precedente punto viene rappresentata con un'opportuna sequenza di bit, derivante da una tabella di valori standardizzati ed ottenuti con un approccio basato su codifica di Huffman.
Compressione dei frame P e B
La compressione di un frame P si ottiene da una predizione dello stesso, realizzata a partire da un frame temporalmente precedente nel medesimo GOP. La predizione viene calcolata stimando e compensando lo spostamento di ciascun macroblocco del frame di riferimento (rispetto al frame da comprimere) in una finestra di ± 15 pixel (in orizzontale e verticale). In questo modo, la predizione si ottiene traslando ed integrando i macroblocchi dell'immagine di riferimento. Successivamente, il frame da comprimere viene confrontato (mediante sottrazione) con il frame predetto ottenendo l'immagine differenza, la quale viene compressa mediante tecniche intra-frame. Nel caso di frame B, la procedura è analoga, ma la predizione è ottenuta combinado due predizioni, derivanti rispettivamente da un frame precedente e da uno successivo del GOP.
Bibliografia
- (EN) Joan L. Mitchell, William B. Pennebaker, Chad E. Fogg e Didier J. LeGall, MPEG video compression standard, New York, Chapman & Hall, 1997, ISBN 0-412-08771-5.
Voci correlate
Altri progetti
Altri progetti
- Wikisource
- Wikisource contiene una pagina dedicata a MPEG-1
Collegamenti esterni
- (EN) MPEG-1, in Free On-line Dictionary of Computing, Denis Howe. Disponibile con licenza GFDL
- (EN) MPEG-1, su MPEG.
V · D · M | |
---|---|
IEC standard | IEC 60027 · IEC 60034 · IEC 60038 · IEC 60062 · IEC 60063 · IEC 60068 · IEC 60112 · IEC 60228 · IEC 60269 · IEC 60297 · IEC 60309 · IEC 60320 · IEC 60364 · IEC 60446 · IEC 60559 · IEC 60601 · IEC 60870 (IEC 60870-5 · IEC 60870-6) · IEC 60906-1 · IEC 60908 · IEC 60929 · IEC 60958 (AES3 · S/PDIF) · IEC 61030 · IEC 61131 (IEC 61131-3 · IEC 61131-9) · IEC 61158 · IEC 61162 · IEC 61334 · IEC 61346 · IEC 61355 · IEC 61360 · IEC 61400 · IEC 61499 · IEC 61508 · IEC 61511 · IEC 61784 · IEC 61850 · IEC 61851 · IEC 61883 · IEC 61960 · IEC 61968 · IEC 61970 · IEC 62014-4 · IEC 62026 · IEC 62056 · IEC 62061 · IEC 62196 · IEC 62262 · IEC 62264 · IEC 62304 · IEC 62325 · IEC 62351 · IEC 62365 · IEC 62366 · IEC 62379 · IEC 62386 · IEC 62455 · IEC 62680 · IEC 62682 · IEC 62700 · IEC 63110 · IEC 63119 |
ISO/IEC standard | ISO/IEC 646 · ISO/IEC 2022 · ISO/IEC 4909 · ISO/IEC 5218 · ISO/IEC 6429 · ISO/IEC 6523 · ISO/IEC 7810 · ISO/IEC 7811 · ISO/IEC 7812 · ISO/IEC 7813 · ISO/IEC 7816 · ISO/IEC 7942 · ISO/IEC 8613 · ISO/IEC 8632 · ISO/IEC 8652 · ISO/IEC 8859 · ISO/IEC 9126 · ISO/IEC 9293 · ISO/IEC 9592 · ISO/IEC 9593 · ISO/IEC 9899 · ISO/IEC 9945 · ISO/IEC 9995 · ISO/IEC 10021 · ISO/IEC 10116 · ISO/IEC 10165 · ISO/IEC 10179 · ISO/IEC 10646 · ISO/IEC 10967 · ISO/IEC 11172 · ISO/IEC 11179 · ISO/IEC 11404 · ISO/IEC 11544 · ISO/IEC 11801 · ISO/IEC 12207 · ISO/IEC 13250 · ISO/IEC 13346 · ISO/IEC 13522-5 · ISO/IEC 13568 · ISO/IEC 13818 · ISO/IEC 14443 · ISO/IEC 14496 · ISO/IEC 14882 · ISO/IEC 15288 · ISO/IEC 15291 · ISO/IEC 15408 · ISO/IEC 15444 · ISO/IEC 15445 · ISO/IEC 15504 · ISO/IEC 15511 · ISO/IEC 15693 · ISO/IEC 15897 · ISO/IEC 15938 · ISO/IEC 16262 · ISO/IEC 17024 · ISO/IEC 17025 · ISO/IEC 18000 · ISO/IEC 18004 · ISO/IEC 18014 · ISO/IEC 19752 · ISO/IEC 19757 · ISO/IEC 19770 · ISO/IEC 19788 · ISO/IEC 20000 · ISO/IEC 21000 · ISO/IEC 21827 · ISO/IEC 23000 · ISO/IEC 23003 · ISO/IEC 23008 · ISO/IEC 23270 · ISO/IEC 23360 · ISO/IEC 24707 · ISO/IEC 24727 · ISO/IEC 24744 · ISO/IEC 24752 · ISO/IEC 26300 · ISO/IEC 27000 · ISO/IEC 27001 · ISO/IEC 27002 · ISO/IEC 27040 · ISO/IEC 27032 · ISO/IEC 29119 · ISO/IEC 33001 · ISO/IEC 38500 · ISO/IEC 42010 · ISO/IEC80000 |
V · D · M | |||||||
---|---|---|---|---|---|---|---|
Video |
| ||||||
Audio |
| ||||||
Immagine |
| ||||||
Contenitore |
|