H.264/MPEG-4 AVC
H.264, o MPEG-4 part 10, és un còdec digital d'alta compressió estàndard desenvolupat durant quatre anys per l'ITU-T Video Coding Experts Group (VCEG) juntament amb l'ISO/IEC Moving Picture Experts Group (MPEG). La intenció del projecte H.264/AVC va ser la de crear un estàndard que fos capaç de desenvolupar una bona qualitat d'imatge amb bit rates substancialment menors que els estàndards anteriors (MPEG-2, H.263 o MPEG-4 part 2). A més a més de no incrementar la complexitat en el seu disseny. HistòriaPer tenir un progrés ràpid, la ITU-T i l'ISO/IEC van acordar unir-se per tal de desenvolupar conjuntament la següent generació de còdecs de vídeo. L'Equip Conjunt de Vídeo (JVT) estava format per experts en VCEG i MPEG i va néixer el desembre de 2001 amb l'objectiu de completar el desenvolupament tècnic de l'estàndard cap al 2003. La ITU-T va planejar adoptar l'estàndard sota el nom de H 264 de ITU-T i ISO/IEC sota el nom de MPEG-4 part 10 Còdec de Vídeo Avançat (AVC) i d'aquí va sorgir el nom híbrid de H.264/MPEG-4 AVC. Per tal de començar a programar el codi del nou estàndard van adoptar les següents premisses:
CaracterístiquesL'ús inicial del MPEG-4 AVC va estar enfocat cap al vídeo de qualitat baixa per videoconferència i aplicacions per Internet basades en 8 bits/mostra i amb un mostreig ortogonal de 4:2:0. Llavors això no donava sortida a l'ús d'aquest còdec en ambients professionals que exigeixen resolucions més elevades que necessitaven més de 8 bits/mostra i un mostratge de 4:4:4 o 4:2:2, funcions per a la mescla d'escenes, bit rates més elevats, poder representar algunes parts de vídeo sense pèrdues i utilitzar el sistema de color per components RGB. Per aquest motiu va sorgir la necessitat de programar unes extensions que suportessin aquesta demanda. Després d'un any de treball intens van sorgir les "extensions de gamma de fidelitat" (FRExt) que incloïen:
Aquest conjunt d'extensions anomenades de "perfil alt" són:
A continuació podem veure una taula amb més especificacions sobre aquests perfils enfront del perfil original:
Noves especificacionsH.264/MPEG-4 AVC no aporta ruptura tecnològica amb relació a les normes de codificació de vídeo anteriors. Les diferències les poden trobar en un escala petita sobre el principi general de codificació (predicció, transformada, quantificació, etc.). Tipus d'imatgesPodem trobar les mateixes imatges que les normes precedents (Imatges I, P i B) i dues noves, la SP (Switching P) i la SI (Switching I) que serveixen per codificar la transició entre dos fluxos de vídeo. Permeten, sense enviar imatges intra molt costoses en temps de processament, passar d'un vídeo a un altre utilitzant predicció temporal o espacial com abans, però amb l'avantatge que permeten la reconstrucció de valors específics exactes de la mostra tot i utilitzar imatges de referència diferents o un nombre diferent d'imatges de referència en el procés de predicció. Compensació de movimentEl procés de compensació de moviment és diferent de les normes precedents, ja que proposa una gran varietat de formes i de particions de blocs. Cada macrobloc és dividit en subblocs per a l'estimació de moviment i poden tenir set mides diferents(16x16, 16x8, 8x16, 8x8, 8x4, 4x8 i 4x4). Abans l'estàndard més nou introduïa particions de 8x8. Aquesta varietat de particions proporciona més exactitud per a l'estimació amb una precisió que pot arribar fins a un quart de píxel. TransformadaTé les mateixes propietats que la DCT clàssica però contràriament a altres estàndards que utilitzen blocs de 8x8 aquesta ho fa sobre blocs 4x4. La transformada inversa és definida de manera exacta per tal d'evitar errors d'arrodoniment. Els nous perfils alts FRExt incorporen una transformada de mida 8x8. QuantificacióEls passos de quantificació s'incrementen un 12,5% i el rang dinàmic augmenta, ja que els valors van d'1 a 52. Els macroblocs es quantifiquen utilitzant un paràmetre de control que pot canviar adaptant-se al bloc en qüestió. Si utilitzem FRExt tindrem un rang dinàmic que es multiplicarà per 6 per cada bit addicional(partint de 8 bits, 52 passos). A més a més, per tal d'aconseguir els millors resultats visuals, la quantificació de crominància és més acurada que la de luminància. Filtre "deblocking"H.264 també integra un filtre d'arrissat que millora l'eficàcia de compressió i la qualitat visual de les seqüències de vídeo eliminant efectes indesitjables de la codificació, com ara els efectes de bloc. Exploració de dadesHi ha dos modes d'exploració de coeficients transformats: "zig-zag" i "zig-zag invers". El segon mode d'exploració autoritza particularment la lectura del macrobloc en sentit oposat per tal de funcionar amb la codificació entròpica adaptativa. Codificació entròpicaLa codificació entròpica es pot realitzar de tres formes diferents. Un primer mètode utilitzat és el conegut UVLC (Unified Variable Lenght Coding). Aquest tipus de codificació és utilitzat per codificar la gran majoria dels elements de sincronització i capçaleres. Els altres dos mètodes són utilitzats per codificar bona part de la resta d'elements sintàctics (coeficients, vectors de moviment). Les codificacions utilitzades per aquesta tasca estan basades en VLC (Variable Length Coding) de forma adaptativa, d'aquest concepte neix el CAVLC (Context Adaptative Variable Length Coding) i el CABAC (Context Adaptative Binary Arithmetic Coding). Adaptació a la xarxaConceptualment els algoritmes estan dividits en dues capes: una primera capa de codificació de vídeo VCL (Video Coding Layer) que s'ocupa de representar eficaçment el contingut de vídeo i una capa d'adaptació a la xarxa NAL (Network Adaptación Layer) que està adreçada més particularment a adaptar el format de dades de vídeo al suport de transmissió. Algoritmes per a la prevenció de pèrduesFMO i ASOL'ordenació flexible de macroblocs (FMO) i l'ordenació arbitrària de slices (ASO) són tècniques per tal de reestructurar la representació de les regions fonamentals (macroblocs) tot i que també poden ser utilitzats per altres objectius. DPLa partició de dades proporciona la capacitat de separar els elements de sintaxi més importants dels menys importants en paquets de dades diferents tot permetent l'ús de protecció d'error desigual (UEP). RSL'algoritme de slices redundants permet a un codificador enviar una representació suplementària d'una regió d'imatge que pot ser usat si la representació primària és corrompuda o perduda. Enllaços externs
|