You are on page 1of 10

H.

264/MPEG-4 AVC
Este artculo o seccin necesita referencias que aparezcan en una publicacin acreditada,
como revistas especializadas, monografas, prensa diaria o pginas de Internet fidedignas. Este
aviso fue puesto el 18 de septiembre de 2013.
Puedes aadirlas o avisar al autor principal del artculo en su pgina de discusin
pegando: {{subst:Aviso referencias|H.264/MPEG-4 AVC}} ~~~~

H.264 o MPEG-4 parte 10 es una norma que define un cdec de vdeo de alta compresin,
desarrollada conjuntamente por el ITU-T Video Coding Experts Group (VCEG) y
el ISO/IEC Moving Picture Experts Group (MPEG). La intencin del proyecto H.264/AVC fue la
de crear un estndar capaz de proporcionar una buena calidad de imagen con tasas binarias
notablemente inferiores a los estndares previos (MPEG-2, H.263 o MPEG-4 parte 2), adems
de no incrementar la complejidad de su diseo.
Para garantizar un gil desarrollo de la misma, la ITU-T y la ISO/IEC acordaron unirse para
desarrollar conjuntamente la siguiente generacin de cdecs de vdeo. El Joint Video Team
(JVT) estaba formado por expertos del VCEG y MPEG y naci en diciembre de 2001 con el
objetivo de completar el desarrollo tcnico del estndar hacia 2003. La ITU-T plane adoptar
el estndar bajo el nombre de ITU-T H.264 e ISO/IEC bajo el nombre de MPEG-4 Parte 10
Cdec de Vdeo Avanzado (AVC) y de aqu surgi el nombre hbrido de H.264/MPEG-4 AVC.
Para empezar a programar el cdigo del nuevo estndar adoptaron las siguientes premisas:

La estructura DCT + Compensacin de Movimiento de las versiones anteriores era


superior a otros estndares y por esto no haba ninguna necesidad de hacer cambios
fundamentales en la estructura.

Algunas formas de codificacin de vdeo que haban sido excluidas en el pasado


debido a su complejidad y su alto coste de implementacin se volveran a examinar para
su inclusin puesto que la tecnologa VLSI haba sufrido un adelanto considerable y una
bajada de costes de implementacin.

Para permitir una libertad mxima en la codificacin y evitar restricciones que


comprometan la eficiencia, no se contempla mantener la compatibilidad con normas
anteriores.
ndice
[ocultar]

1 Caractersticas

2 Niveles

3 Nuevas especificaciones

3.1 Tipos de imgenes

3.2 Compensacin de movimiento

3.3 Transformada

3.4 Cuantificacin

3.5 Filtro de "deblocking"

3.6 Exploracin de los coeficientes

3.7 Codificacin entrpica

3.8 Adaptacin a la red

3.9 Algoritmos para la prevencin de prdidas

3.9.1 FMO y ASO

3.9.2 DP

3.9.3 RS

4 Vase tambin

5 Enlaces externos

Caractersticas[editar]
El uso inicial del MPEG-4 AVC estuvo enfocado hacia el vdeo de baja calidad para
videoconferencia y aplicaciones por Internet, basado en 8 bits/muestra y con un muestreo
ortogonal de 4:2:0. Esto no daba salida al uso de este cdec en ambientes profesionales que
exigen resoluciones ms elevadas, necesitan ms de 8 bits/muestra y un muestreo de 4:4:4 o
4:2:2, funciones para la mezcla de escenas, tasas binarias ms elevadas, poder representar
algunas partes de video sin prdidas y utilizar el sistema de color por componentes RGB. Por
este motivo surgi la necesidad de programar unas extensiones que soportasen esta
demanda. Tras un ao de trabajo intenso surgieron las extensiones de gama de fidelidad
(FRExt) que incluan:

Soporte para un tamao de transformada adaptativo.

Soporte para una cuantificacin con matrices escaladas.

Soporte para una representacin eficiente sin prdidas de regiones especficas.

Este conjunto de extensiones denominadas de "perfil alto" son:

La extensin High que soporta 4:2:0 hasta 8 bits/muestra.

La extensin High-10 que soporta 4:2:0 hasta 10 bits/muestra.

La extensin High 4:2:2 que soporta hasta 4:2:2 y 10 bits/muestra.

La extensin High 4:4:4 que soporta hasta 4:4:4 y 12 bits/muestra y la codificacin de


regiones sin prdidas.

A continuacin podemos ver una tabla con ms especificaciones sobre estos perfiles en
contraste con el perfil original:
Original

High

Hig

slices I y P

slices B

NO

slices SI y SP

NO

NO

imgenes de referencia mltiples

filtro "deblocking"

codificacin CAVLC

codificacin CABAC

NO

ordenacin flexible de macrobloques (FMO)

NO

ordenacin arbitraria de slices (ASO)

NO

slices redundantes (RS)

NO

particin de datos (DP)

NO

NO

codificacin entrelazada

NO

formato 4:2:0

formato monocromo (4:0:0)

NO

formato 4:2:2

NO

NO

formato 4:4:4

NO

NO

8 Bits/pxel

9 y 10 Bits/pxel

NO

NO

11 y 12 Bits/pxel

NO

NO

transformada 8x8

NO

matrices de cuantificacin

NO

cuantificacin Cb y Cr separadas

NO

codificacin sin prdidas

NO

NO

Original

High

Hig

Niveles[editar]
Nmero
de nivel

Max.
macrobloques
por segundo

Max. tamao de
trama
(macrobloques)

Max. video bit rate


(VCL) para Baseline,
Extended and Main
Profiles

Max. video bit rate


(VCL) para High
Profile

Max. video bit


rate (VCL) para
High 10 Profile

1485

99

64 kbit/s

80 kbit/s

192 kbit/s

1b

1485

99

128 kbit/s

160 kbit/s

384 kbit/s

1.1

3000

396

192 kbit/s

240 kbit/s

576 kbit/s

1.2

6000

396

384 kbit/s

480 kbit/s

1152 kbit/s

1.3

11880

396

768 kbit/s

960 kbit/s

2304 kbit/s

11880

396

2 Mbit/s

2.5 Mbit/s

6 Mbit/s

2.1

19800

792

4 Mbit/s

5 Mbit/s

12 Mbit/s

2.2

20250

1620

4 Mbit/s

5 Mbit/s

12 Mbit/s

40500

1620

10 Mbit/s

12.5 Mbit/s

30 Mbit/s

3.1

108000

3600

14 Mbit/s

17.5 Mbit/s

42 Mbit/s

3.2

216000

5120

20 Mbit/s

25 Mbit/s

60 Mbit/s

245760

8192

20 Mbit/s

25 Mbit/s

60 Mbit/s

4.1

245760

8192

50 Mbit/s

62.5 Mbit/s

150 Mbit/s

4.2

522240

8704

50 Mbit/s

62.5 Mbit/s

150 Mbit/s

589824

22080

135 Mbit/s

168.75 Mbit/s

405 Mbit/s

5.1

983040

36864

240 Mbit/s

300 Mbit/s

720 Mbit/s

Nmero
de niveles

Max.
macrobloques
por segundo

Max. tamao de
trama
(macrobloques)

Max. video bit rate


(VCL) for Baseline,
Extended and Main
Profiles

Max. video bit rate


(VCL) for High
Profile

Nuevas especificaciones[editar]
H.264/MPEG-4 AVC no supone una gran tecnologa con respecto a las normas de codificacin
de vdeo anteriores. Las diferencias se pueden encontrar a pequea escala sobre el principio
general de codificacin (prediccin, transformada, cuantificacin, etc.). La clave de todo ello es
la menor cuanta de informacin que se necesita almacenar en los videos codificados
mediante este cdec.

Tipos de imgenes[editar]
Podemos encontrar las mismas imgenes que en las normas precedentes (Imgenes I, P y B)
y dos nuevas, la SP (Switching P) y la SI (Switching I) que sirven para codificar la transicin
entre dos flujos de vdeo. Permiten, sin enviar imgenes intra muy costosas en tiempos de
procesamiento, pasar de un vdeo a otro utilizando prediccin temporal o espacial como antes,
pero con la ventaja que permiten la reconstruccin de valores especficos exactos de la
muestra aunque se utilicen imgenes de referencia diferentes o un nmero diferente de
imgenes de referencia en el proceso de prediccin.

Compensacin de movimiento[editar]
El proceso de compensacin de movimiento es diferente de las normas precedentes puesto
que propone una gran variedad de formas y de particiones de bloques. De cara a la
compensacin de movimiento, cada macrobloque, aparte del tamao original (16x16 pxeles),
puede ser descompuesto en subbloques de 16 x 8, 8 x 16 u 8 x 8 pxeles. En este ltimo caso,
es posible descomponer a su vez cada subbloque de 8 x 8 pxeles en particiones de 8 x 4, 4 x
8 o 4 x 4 pxeles. Antes, el estndar ms novedoso introduca particiones de 8x8. Esta
variedad de particiones proporciona una mayor exactitud en la estimacin, a lo que se suma
una precisin que puede llegar hasta un cuarto de pxel.

Transformada[editar]
Es una aproximacin a la DCT (transformada discreta del coseno) que viene utilizndose en
vdeo pero con las siguientes particularidades:

Tamao: 4x4 pxeles (8x8 en los perfiles FRExt).

Coeficientes enteros: lo que permite evitar los errores de redondeo habituales en la


DCT clsica (coeficientes irracionales) y garantizar un ajuste perfecto entre la
transformacin directa y la inversa.

Precisin finita: Otra consecuencia favorable de la caracterstica anterior es que se


puede calcular sin exceder los 16 bits de precisin.

Max. video bit


rate (VCL) for
High 10 Profile

Eficiencia: Se puede implementar exclusivamente por medio de sumas y


desplazamientos binarios.

Cuantificacin[editar]
Cada paso del parmetro de cuantificacin (QP) incrementa un 12,5% el intervalo de
cuantificacin, lo que equivale a duplicarlo por cada 6 pasos. El rango dinmico del QP ha
aumentado respecto a normas precedentes, puesto que los valores van de 0 a 51. Los
macrobloques se cuantifican utilizando un parmetro de control que puede cambiar
adaptndose al bloque ehor cada bit adicional (partiendo de 8 bits, 52 pasos). Adems, para
poder conseguir los mejores resultados visuales la cuantificacin de la crominancia es ms
esmerada que la de luminancia.

Filtro de "deblocking"[editar]
H.264 tambin integra un filtro antibloques que mejora la eficacia de compresin y la calidad
visual de las secuencias de vdeo eliminando efectos indeseables de la codificacin como por
ejemplo el efecto de bloques.

Exploracin de los coeficientes[editar]


Existen dos modos de exploracin de los coeficientes transformados: "zig-zag" y "zig-zag
inverso". El segundo modo de exploracin permite en particular la lectura del macrobloque en
sentido contrario para poder funcionar con la codificacin entrpica adaptativa.

Codificacin entrpica[editar]
La codificacin entrpica se puede realizar de tres formas diferentes. Un primer mtodo
utilizado es el conocido UVLC (Universal Variable Length Coding). Este tipo de codificacin es

utilizado para codificar la gran mayora de los elementos de sincronizacin y cabeceras. Los
otros dos mtodos son utilizados para codificar buena parte del resto de elementos sintcticos
(coeficientes, vectores de movimiento). Las codificaciones utilizadas para esta tarea estn
basadas en VLC (Variable Length Coding) de forma adaptativa, de este concepto nace
el CAVLC (Context Adaptative Variable Length Coding) y el CABAC (Context Adaptative Binary
Arithmetic Coding).

Adaptacin a la red[editar]
Conceptualmente los algoritmos estn divididos en dos capas: una primera capa de
codificacin de vdeo VCL (Video Coding Layer) que se ocupa de representar eficazmente el
contenido de vdeo y una capa de adaptacin a la red NAL (Network Adaptacin Layer) que
est dirigida ms particularmente a adaptar el formato de datos de vdeo al soporte de
transmisin.

Algoritmos para la prevencin de prdidas[editar]


FMO y ASO[editar]
La ordenacin flexible de macrobloques (FMO) y la ordenacin arbitraria de slices (ASO) son
tcnicas para reestructurar la representacin de las regiones fundamentales (macrobloques)
aunque tambin pueden ser utilizadas para otros objetivos.
DP[editar]
La particin de datos (DP) proporciona la capacidad de separar los elementos de sintaxis ms
importantes de los menos importantes en paquetes de datos diferentes, permitiendo el uso de
proteccin de error desigual (UEP).
RS[editar]
El algoritmo de slices redundantes (RS) permite a un codificador enviar una representacin
suplementaria de una regin de imagen que puede ser usada si la representacin primaria es
corrompida o perdida.

Vase tambin[editar]

h.265 cdec sucesor del h.264

X264 cdec de compresin en h.264

WebM

HTML5

Enlaces externos[editar]

ITU-T: H.264 : Advanced video coding for generic audiovisual services (en ingls)
Categoras:
Cdecs de vdeo

Normas ISO

Normas IEC

Recomendaciones ITU-T