Imatges I, P i B
De Viquipèdia
Les imatges I, P i B resulten de la compressió del senyal de vídeo en els estàndards de la ITU-T o MPEG. Aquestes imatges atenen als següents tipus:
- Les imatges I: són les quals es codifiquen per si mateixes.
- Les imatges P: són les predites per extrapolació.
- Les imatges B: són les predites per interpolació.
Taula de continguts |
[edita] Context general
En els estàndards de compressió de video, com ITU-T o MPEG, s'utilitzen aquests tipus d'imatges per a comprimir les dades. De fet, en lloc de codificar cada imatge que compon el video, un pot codificar una imatge totalment i després les diferències entre aquesta imatge i les imatges següents, explotant així la redundància en les imatges que segueixen. Per exemple, en una seqüència de video amb un segon pla fix, podem representar solament les parts que es mouen, per a no codificar cada vegada el segon pla que no canvia i guanyar així molt en capacitats de compressió. En aquests tipus d'algorismes, es codifiquen algunes imatges per si mateixes i es prediuen les altres. Les imatges són dividides en macroblocs (en general de 16 X 16 píxels) i segueixen el concepte de compensació de moviments per a la predicció: per cada macrobloc d'una imatge que volem codificar a partir d'una imatge de referència (que pot ser una anterior o una posterior), es busca on està en la imatge de referència, i es defineix un vector de moviment que va a donar el moviment relatiu entre els dos macroblocs que es corresponen. Per descomptat, entre dues imatges, no es poden trobar sempre macroblocs tots completament idèntics i s'utilitza una tècnica de comparació entre els macroblocs per a buscar els quals són els més correlacionats entre ells. Es pot predir una imatge a partir de la imatge de referència i els vectors de moviment, així obtenim la diferència entre aquesta imatge predita i la imatge original que volem codificar. Llavors, solament es pot enviar les imatges codifiques per si mateixes, les matrius de vectors de moviment, i les diferències entre les imatges de referència i les altres per a codificar tot el video.
- Les imatges I poden ser codificades pel format JPEG a més d'uns altres, s'utilitzen per a descodificar les altres imatges que componen el video i poden ser utilitzades com punts d'accés aleatori per a començar a descodificar els videos a partir de qualsevol moment. En general, la codificació d'aquestes imatges ocupa més espai que les altres.
- Les imatges P són les imatges predites amb referència a una imatge que pot ser de tipus I o P anterior en el temps, així que necessiten la decodificación de la imatge de referència abans de poder ser descodificades.
- Les imatges B són les imatges predites amb referència a dues imatges que poden ser de tipus I o P, una anterior i una posterior, així que necessiten la decodificació de les dues imatges de referència així com la reordenació de les imatges per a poder ser descodificades.
Alguns macroblocs de les imatges P o B poden ser codificats per si mateixos per a refrescar-los i per a evitar errors massa importants que es poden produir si hi ha moltes imatges predites entre la imatge I anterior i la imatge actual.
[edita] Explicació detallada
[edita] Imatges I: Intra
- És una imatge codificada sense referència a cap imatge anterior, sinó referida exclusivament a ella mateixa.
- Pot ser generada per el codificador per a crear un punt d'accés aleatori, és a dir, un punt que permeti a el decodificador començar la descodificació adequadament en referència a aquesta marca (localització d'imatge).
- Típicament, requereixen major nombre de bits per a la seva codificació que l'altre tipus d'imatges (B,P).
- Aquestes imatges són freqüentment utilitzades com punt de referència per a la descodifcación d'altres imatges. Períodes de refresc d'aproximadament mig segon s'usen típicament en aplicacions de 'broadcast' de televisió digital i en emmagatzematge en DVD. Per altra banda, períodes de refresc superiors al anteior poden ser utilitzats en mitjans com sistemes de videoconferència, on és molt habitual l'enviament de les imatges I(intra).
- La codificació de les imatges I és molt semblant a la qual s'utilitza en JPEG. La diferència radica en les taules de quantificació i en els procediments que s'utilitzen per a realitzar canvis sobre les escales de quantificació.
[edita] Imatges P: Predicted
La codificació de les imatges P és una mica més complexa que les imatges intra-trama, doncs ha de realitzar-se l'estimació de moviment i decidir quin és la forma més eficient de codificar un macrobloc en funció dels resultats obtinguts. En aquest apartat definirem els diferents tipus de macroblocs que pot produir-se en la codificació de les imatges P. Una de les primeres peculiaritats de les imatges P és que pot saltar-se la codificació d'alguns macroblocs (skipped macroblock). Això ocorre quan el processador considera que no és necessari codificar un macrobloc, ja que la informació que conté pot aproximar-se amb suficient precisió basant-nos en la informació que tenim en la mateixa posició en la imatge de referència anterior. En aquest cas, els 4 blocs que formen el macrobloc se substituïxen pels mateixos píxels que teníem en la imatge anterior, el que significa que, en el fons, estem realitzant una compensació de moviment amb un vector de moviment nul i que l'error de predicció obtingut és suficientment pròxim a zero com perquè no calgui codificar-lo. A més dels macroblocs skipped és possible tenir 7 tipus addicionals que es denoten com predmc, pred-c, pred-m, intra-d, pred-mcq, pred-cq i intra-q. Les abreviatures que s'utilitzen per a identificar els possibles tipus de macrobloc corresponen a:
- pred: Macrobloc codificat utilitzant predicció. La codificació no és intra-trama.
- m: Macrobloc codificat utilitzant compensació de moviment forward. Es transmet el vector de moviment associat.
- c: Com a mínim es transmet la informació d'error associada a un dels blocs que formen el macrobloc.
- d: S'utilitza el quantificador per defecte.
- q: Es realitza un canvi en l'escala del cuantificador.
- skipped: Macroblocs que no són transmesos.
La missió del codificador és triar entre les diferents possibilitats de codificar un macrobloc aquella que proporcioni la millor opció. Generalment, les decisions no són evidents i han de provar-se diverses possibilitats abans d'arribar a una decisió. Les matrius de quantificació utilitzades en el cas de realitzar codificació mitjançant predicció tenen un pas de quantificació uniforme per a tots els coeficients. Això és degut al fet que el contingut freqüencial dels senyals d'error no mostra cap preferència per a concentrar la seva energia en unes freqüències particulars i en principi tots els coeficients tenen la mateixa importància en la reconstrucció de les imatges. En la figura es mostra la matriu de quantificació per defecte que s'utilitza en la codificació inter-trama.
[edita] Imatges B: Bi-predicted/Bi-directional
- Les imatges B requereixen descodificació prèvia d'altres imatges de la seqüència per a ser descodificades correctament.
- Poden contenir tant dades d'imatge com vectors de desplaçament, o també combinacions dels dos elements.
- Inclouen algunes maneres de predicció que obtenen la predicció d'una regió en moviment (per exemple, un macroblock o una regió d'àrea menor) portant a terme un promediado de les prediccions obtingudes usant dues regions de referència prèviament descodificades.
- En estàndards de codificació més antics (com MPEG-2), les imatges B no s'utilitzen mai com referències per a la predicció d'altres imatges. Com resultat, una codificació amb menys qualitat (resultat de la utlización de menys bits) pot ser utilitzada en les imatges B, ja que la pèrdua de detall no perjudicarà la qualitat de la predicció de les imatges subsegüents.
- En H.264, hi ha l'opció d'utilitzar-les o no com referències per a la descodificacion d'altres imatges (a discreció de el codificador).
- En estánderes de codificació més antics (com MPEG-2), s'utilitzen exactament dues imatges prèviament codificades com referencies durant la codificació, i solament es requereix una d'aquestes dues imatges per a precedir la imatge B en el monitor i l'altra per a seguir-la.
- En H.264, es pot utilitzar una, dues o més imatges prèviament descodificades com referencies durant la codificació, i poden tenir qualsevol ordre de reproducció arbitrari, relatiu a la imatge/és utilitzades per a la seva predicció.
- Típicament, es requereixen menys bits per a codificar una imágen B que amb les I o P.
[edita] Referències
- Intraframe versus interframe compresion (article en anglès)
- B Pictures (article en anglès)
- Sistemas audiovisuales I. Televisión analógica y digital, de Francesc Tarrés. Edicions UPC.