Articulo de referencia

Codificación de vídeo avanzada

{{cite tech report |publisher=Library of Congress |location=Washington, D.C. |series=Sustainability of Digital Formats |type=Full draft |title=MPEG-4, Advanced Video Coding (Par...

Diagrama de bloques de la capa de codificación de vídeo del codificador H.264 con puntuación de calidad perceptiva

La codificación de vídeo avanzada ( AVC ), también conocida como H.264 o MPEG-4 Parte 10 , es un estándar de compresión de vídeo basado en codificación orientada a bloques y con compensación de movimiento . [ 2 ] Es, con diferencia, el formato más utilizado para la grabación, compresión y distribución de contenido de vídeo, empleado por el 79 % de los desarrolladores de la industria del vídeo a diciembre de 2024.. [ 3 ] Admite una resolución máxima de 8K UHD . [ 4 ] [ 5 ]

El estándar H.264 fue desarrollado por el Grupo de Expertos en Codificación de Vídeo (VCEG) de la UIT-T, perteneciente al Grupo de Estudio 16 , junto con el Grupo de Expertos en Imágenes en Movimiento (MPEG) del Comité Técnico Conjunto 1 (JTC 1) de la ISO/IEC . Esta colaboración se conoce como Equipo Conjunto de Vídeo (JVT). El estándar H.264 de la UIT-T y el estándar MPEG-4 AVC de la ISO/IEC (formalmente, ISO/IEC 14496-10 – MPEG-4 Parte 10, Codificación de Vídeo Avanzada) se mantienen conjuntamente para garantizar que tengan el mismo contenido técnico. La redacción final de la primera versión del estándar se completó en mayo de 2003, y en ediciones posteriores se han añadido diversas extensiones de sus capacidades. La Codificación de Vídeo de Alta Eficiencia (HEVC), también conocida como H.265 y MPEG-H Parte 2, es la sucesora de H.264/MPEG-4 AVC, desarrollada por las mismas organizaciones, si bien los estándares anteriores siguen utilizándose habitualmente.    

H.264 es quizás más conocido por ser el formato de codificación de vídeo más utilizado en discos Blu-ray . También ha sido ampliamente utilizado por fuentes de transmisión por Internet, como vídeos de Netflix , Hulu , Amazon Prime Video , Vimeo , YouTube (más recientemente en transición a VP9 y AV1 ) y la iTunes Store , software web como Adobe Flash Player y Microsoft Silverlight , y también diversas transmisiones de HDTV a través de sistemas terrestres ( ATSC , ISDB-T , DVB-T o DVB-T2 ), por cable ( DVB-C ) y por satélite ( DVB-S y DVB-S2 ).

H.264 está restringido por patentes propiedad de varias partes. Una licencia que cubre la mayoría (pero no todas ) las patentes esenciales para H.264 es administrada por un consorcio de patentes anteriormente administrado por MPEG LA . Via Licensing Corp adquirió MPEG LA en abril de 2023 y formó una nueva empresa de administración de consorcios de patentes llamada Via Licensing Alliance . [ 6 ] El uso comercial de las tecnologías patentadas de H.264 requiere el pago de regalías a Via y otros propietarios de patentes. MPEG LA ha permitido el uso gratuito de las tecnologías H.264 para la transmisión de video por Internet que es gratuito para los usuarios finales, y Cisco pagó regalías a MPEG LA en nombre de los usuarios de los binarios para su codificador H.264 de código abierto openH264 .

Nomenclatura

El nombre H.264 sigue la convención de nomenclatura de la UIT-T , donde a las Recomendaciones se les da una letra que corresponde a su serie y un número de recomendación dentro de la serie. H.264 es parte de "Recomendaciones de la serie H: Sistemas audiovisuales y multimedia". H.264 se clasifica además en "H.200-H.499: Infraestructura de servicios audiovisuales" y "H.260-H.279: Codificación de vídeo en movimiento". [ 7 ] El nombre MPEG-4 AVC se relaciona con la convención de nomenclatura en ISO/IEC MPEG , donde el estándar es la parte 10 de ISO/IEC 14496, que es el conjunto de estándares conocido como MPEG-4. El estándar fue desarrollado conjuntamente en una asociación de VCEG y MPEG, después de un trabajo de desarrollo anterior en la UIT-T como un proyecto de VCEG llamado H.26L. Por lo tanto, es común referirse al estándar con nombres como H.264/AVC, AVC/H.264, H.264/MPEG-4 AVC o MPEG-4/H.264 AVC, para enfatizar el origen común. Ocasionalmente, también se le conoce como "el códec JVT", en referencia a la organización Joint Video Team (JVT) que lo desarrolló. (Tal colaboración y denominación múltiple no es infrecuente. Por ejemplo, el estándar de compresión de vídeo conocido como MPEG-2 también surgió de la colaboración entre MPEG y la UIT-T, donde el vídeo MPEG-2 es conocido en la comunidad de la UIT-T como H.262. [ 8 ] ) Algunos programas de software (como el reproductor multimedia VLC ) identifican internamente este estándar como AVC1.

Historia

Historia general

A principios de 1998, el Grupo de Expertos en Codificación de Vídeo (VCEG  – ITU-T SG16 Q.6) lanzó una convocatoria de propuestas para un proyecto llamado H.26L, con el objetivo de duplicar la eficiencia de codificación (lo que significa reducir a la mitad la tasa de bits necesaria para un nivel de fidelidad determinado) en comparación con cualquier otro estándar de codificación de vídeo existente para una amplia variedad de aplicaciones. El VCEG estuvo presidido por Gary Sullivan ( Microsoft , anteriormente PictureTel , EE. UU.). El primer borrador del diseño de este nuevo estándar se adoptó en agosto de 1999. En 2000, Thomas Wiegand ( Instituto Heinrich Hertz , Alemania) se convirtió en copresidente del VCEG.

En diciembre de 2001, VCEG y el Moving Picture Experts Group ( MPEG  – ISO/IEC JTC 1/SC 29 /WG 11) formaron un Joint Video Team (JVT), con el objetivo de finalizar el estándar de codificación de vídeo. [ 9 ] La aprobación formal de la especificación llegó en marzo de 2003. El JVT fue (es) presidido por Gary Sullivan , Thomas Wiegand y Ajay Luthra ( Motorola , EE. UU.: posteriormente Arris , EE. UU.). En julio de 2004, se finalizó el proyecto Fidelity Range Extensions (FRExt). De enero de 2005 a noviembre de 2007, el JVT trabajó en una extensión de H.264/AVC hacia la escalabilidad mediante un Anexo (G) llamado Scalable Video Coding (SVC). El equipo directivo del JVT se amplió con Jens-Rainer Ohm ( Universidad RWTH Aachen , Alemania). Desde julio de 2006 hasta noviembre de 2009, el JVT trabajó en la codificación de vídeo multivista (MVC), una extensión de H.264/AVC para la televisión 3D y la televisión de punto de vista libre de rango limitado . Este trabajo incluyó el desarrollo de dos nuevos perfiles del estándar: el perfil alto multivista y el perfil alto estéreo.

Durante el desarrollo del estándar, se han creado mensajes adicionales para contener información de mejora suplementaria (SEI). Los mensajes SEI pueden contener diversos tipos de datos que indican la sincronización de las imágenes de vídeo o describen varias propiedades del vídeo codificado, así como su uso o mejora. También se definen mensajes SEI que pueden contener datos arbitrarios definidos por el usuario. Los mensajes SEI no afectan al proceso de decodificación principal, pero pueden indicar cómo se recomienda posprocesar o visualizar el vídeo. Otras propiedades de alto nivel del contenido de vídeo se transmiten en la información de usabilidad de vídeo (VUI), como la indicación del espacio de color para la interpretación del contenido. A medida que se han desarrollado nuevos espacios de color, como los de alto rango dinámico y amplia gama de colores , se han añadido identificadores VUI adicionales para indicarlos.

Extensiones de rango de Fidelity y perfiles profesionales

La estandarización de la primera versión de H.264/AVC se completó en mayo de 2003. En el primer proyecto para extender el estándar original, el JVT desarrolló lo que se denominó Extensiones de Rango de Fidelidad (FRExt). Estas extensiones permitieron una codificación de vídeo de mayor calidad al admitir una mayor precisión de profundidad de bits de muestreo e información de color de mayor resolución, incluidas las estructuras de muestreo conocidas como Y′C B C R 4:2:2 (también conocidas como YUV 4:2:2 ) y 4:4:4. Varias otras características también se incluyeron en el proyecto FRExt, como la adición de una transformada discreta de coseno entera de 8×8 (DCT entera) con conmutación adaptativa entre las transformadas de 4×4 y 8×8, matrices de ponderación de cuantificación basadas en la percepción especificadas por el codificador, codificación eficiente sin pérdidas entre imágenes y soporte para espacios de color adicionales. El trabajo de diseño del proyecto FRExt se completó en julio de 2004, y el trabajo de elaboración de planos se completó en septiembre de 2004.

Posteriormente se desarrollaron otros cinco perfiles nuevos (véase la versión 7 a continuación), destinados principalmente a aplicaciones profesionales, que añadían compatibilidad con espacios de color de gama extendida, definían indicadores de relación de aspecto adicionales, definían dos tipos adicionales de "información de mejora suplementaria" (sugerencia posterior al filtro y mapeo de tonos) y descontinuaban uno de los perfiles FRExt anteriores (el perfil High 4:4:4) que, según los comentarios de la industria, debería haberse diseñado de forma diferente.

Codificación de vídeo escalable

La siguiente característica importante añadida al estándar fue la Codificación de Vídeo Escalable (SVC). Especificada en el Anexo G de H.264/AVC, SVC permite la construcción de flujos de bits que contienen capas de subflujos de bits que también cumplen con el estándar, incluyendo un flujo de bits conocido como la "capa base" que puede ser decodificado por un códec H.264/AVC que no admite SVC. Para la escalabilidad temporal del flujo de bits (es decir, la presencia de un subflujo de bits con una tasa de muestreo temporal menor que la del flujo de bits principal), se eliminan las unidades de acceso completas del flujo de bits al derivar el subflujo de bits. En este caso, la sintaxis de alto nivel y las imágenes de referencia de predicción entre predicciones en el flujo de bits se construyen en consecuencia. Por otro lado, para la escalabilidad espacial y de calidad del flujo de bits (es decir, la presencia de un subflujo de bits con menor resolución/calidad espacial que el flujo de bits principal), la NAL ( Capa de Abstracción de Red ) se elimina del flujo de bits al derivar el subflujo de bits. En este caso, la predicción entre capas (es decir, la predicción de la señal de mayor resolución/calidad espacial a partir de los datos de la señal de menor resolución/calidad espacial) se utiliza normalmente para una codificación eficiente. Las extensiones de codificación de vídeo escalable se completaron en noviembre de 2007.

Codificación de vídeo multivista

La siguiente característica importante añadida al estándar fue la codificación de vídeo multivista (MVC). Especificada en el Anexo H de H.264/AVC, MVC permite la creación de flujos de bits que representan más de una vista de una escena de vídeo. Un ejemplo importante de esta funcionalidad es la codificación de vídeo 3D estereoscópico . En el desarrollo de MVC se crearon dos perfiles: el perfil Multiview High, que admite un número arbitrario de vistas, y el perfil Stereo High, diseñado específicamente para vídeo estereoscópico de dos vistas. Las extensiones de codificación de vídeo multivista se completaron en noviembre de 2009.

Codificación estereoscópica 3D-AVC y MFC

Posteriormente se desarrollaron extensiones adicionales que incluían la codificación de vídeo 3D con codificación conjunta de mapas de profundidad y textura (denominada 3D-AVC), codificación estereoscópica compatible con fotogramas (MFC) y 3D-MFC de resolución múltiple, varias combinaciones adicionales de características y tamaños y velocidades de fotogramas más elevados.

Versiones

Las versiones del estándar H.264/AVC incluyen las siguientes revisiones, correcciones y enmiendas (las fechas corresponden a las fechas de aprobación final en la UIT-T, mientras que las fechas de aprobación final de la "Norma Internacional" en ISO/IEC son algo diferentes y, en la mayoría de los casos, ligeramente posteriores). Cada versión representa cambios con respecto a la versión inmediatamente inferior que se integra en el texto.

  • Versión 1 (Edición 1): (30 de mayo de 2003) Primera versión aprobada de H.264/AVC que contiene los perfiles Baseline, Main y Extended. [ 10 ]
  • Versión 2 (Edición 1.1): (7 de mayo de 2004) Corrección que contiene varias correcciones menores. [ 11 ]
  • Versión 3 (Edición 2): (1 de marzo de 2005) Adición importante que contiene la primera enmienda, estableciendo las Extensiones de Rango de Fidelidad (FRExt). Esta versión añadió los perfiles High, High 10, High 4:2:2 y High 4:4:4. [ 12 ] Después de algunos años, el perfil High se convirtió en el perfil más utilizado del estándar.
  • Versión 4 (Edición 2.1): (13 de septiembre de 2005) Corrección que contiene varias correcciones menores y agrega tres indicadores de relación de aspecto. [ 13 ]
  • Versión 5 (Edición 2.2): (13 de junio de 2006) Enmienda que consiste en la eliminación del perfil High 4:4:4 anterior (procesado como una corrección en ISO/IEC). [ 14 ]
  • Versión 6 (Edición 2.2): (13 de junio de 2006) Enmienda que consiste en extensiones menores como la compatibilidad con espacios de color de gama extendida (incluidos los indicadores de relación de aspecto mencionados anteriormente en ISO/IEC). [ 14 ]
  • Versión 7 (Edición 2.3): (6 de abril de 2007) Enmienda que contiene la adición del perfil predictivo High 4:4:4 y cuatro perfiles solo intra (High 10 Intra, High 4:2:2 Intra, High 4:4:4 Intra y CAVLC 4:4:4 Intra). [ 15 ]
  • Versión 8 (Edición 3): (22 de noviembre de 2007) Adición importante a H.264/AVC que contiene la enmienda para la codificación de vídeo escalable (SVC) que contiene los perfiles Scalable Baseline, Scalable High y Scalable High Intra. [ 16 ]
  • Versión 9 (Edición 3.1): (13 de enero de 2009) Corrección que contiene correcciones menores. [ 17 ]
  • Versión 10 (Edición 4): (16 de marzo de 2009) Enmienda que contiene la definición de un nuevo perfil (el perfil de Línea Base Restringida) con solo el subconjunto común de capacidades admitidas en varios perfiles especificados previamente. [ 18 ]
  • Versión 11 (Edición 4): (16 de marzo de 2009) Adición importante a H.264/AVC que contiene la enmienda para la extensión de codificación de vídeo multivista (MVC), incluido el perfil Multiview High. [ 18 ]
  • Versión 12 (Edición 5): (9 de marzo de 2010) Enmienda que contiene la definición de un nuevo perfil MVC (el perfil Stereo High) para la codificación de vídeo de dos vistas con soporte para herramientas de codificación entrelazadas y que especifica un mensaje de información de mejora suplementaria (SEI) adicional denominado mensaje SEI de disposición de empaquetado de fotogramas. [ 19 ]
  • Versión 13 (Edición 5): (9 de marzo de 2010) Corrección que contiene correcciones menores. [ 19 ]
  • Versión 14 (Edición 6): (29 de junio de 2011) Enmienda que especifica un nuevo nivel (Nivel 5.2) que admite velocidades de procesamiento más altas en términos de macrobloques máximos por segundo, y un nuevo perfil (el perfil Progressive High) que admite solo las herramientas de codificación de fotogramas del perfil High especificado anteriormente. [ 20 ]
  • Versión 15 (Edición 6): (29 de junio de 2011) Corrección que contiene correcciones menores. [ 20 ]
  • Versión 16 (Edición 7): (13 de enero de 2012) Enmienda que contiene la definición de tres nuevos perfiles destinados principalmente a aplicaciones de comunicación en tiempo real: los perfiles Constrained High, Scalable Constrained Baseline y Scalable Constrained High. [ 21 ]
  • Versión 17 (Edición 8): (13 de abril de 2013) Enmienda con indicadores de mensajes SEI adicionales. [ 22 ]
  • Versión 18 (Edición 8): (13 de abril de 2013) Enmienda para especificar la codificación de datos de mapa de profundidad para vídeo estereoscópico 3D, incluyendo un perfil Multiview Depth High. [ 22 ]
  • Versión 19 (Edición 8): (13 de abril de 2013) Corrección para subsanar un error en el proceso de extracción de sub-bitstream para vídeo multivista. [ 22 ]
  • Versión 20 (Edición 8): (13 de abril de 2013) Enmienda para especificar identificadores de espacio de color adicionales (incluido el soporte de la Recomendación ITU-R BT.2020 para UHDTV ) y un tipo de modelo adicional en el mensaje SEI de información de asignación de tonos. [ 22 ]
  • Versión 21 (Edición 9): (13 de febrero de 2014) Enmienda para especificar el perfil Enhanced Multiview Depth High. [ 23 ]
  • Versión 22 (Edición 9): (13 de febrero de 2014) Enmienda para especificar la mejora de compatibilidad de fotogramas de resolución múltiple (MFC) para vídeo estereoscópico 3D, el perfil MFC High y correcciones menores. [ 23 ]
  • Versión 23 (Edición 10): (13 de febrero de 2016) Enmienda para especificar el vídeo estereoscópico MFC con mapas de profundidad, el perfil MFC Depth High, el mensaje SEI de volumen de color de la pantalla maestra y los identificadores de punto de código VUI adicionales relacionados con el color. [ 24 ]
  • Versión 24 (Edición 11): (14 de octubre de 2016) Enmienda para especificar niveles adicionales de capacidad del decodificador que admiten tamaños de imagen más grandes (Niveles 6, 6.1 y 6.2), el mensaje SEI de metadatos verdes, el mensaje SEI de información de profundidad alternativa e identificadores de punto de código VUI adicionales relacionados con el color. [ 25 ]
  • Versión 25 (Edición 12): (13 de abril de 2017) Enmienda para especificar el perfil Progressive High 10, log-gamma híbrido (HLG) y puntos de código VUI y mensajes SEI adicionales relacionados con el color. [ 26 ]
  • Versión 26 (Edición 13): (13 de junio de 2019) Enmienda para especificar mensajes SEI adicionales para el entorno de visualización ambiental, información del nivel de luz del contenido, volumen de color del contenido, proyección equirrectangular, proyección de mapa cúbico, rotación de esfera, empaquetamiento por regiones, ventana gráfica omnidireccional, manifiesto SEI y prefijo SEI. [ 27 ]
  • Versión 27 (Edición 14): (22 de agosto de 2021) Enmienda para especificar mensajes SEI adicionales para regiones anotadas e información de intervalo de obturador, y correcciones y aclaraciones menores diversas. [ 28 ]
  • Versión 28 (Edición 15): (13 de agosto de 2024) Enmienda para especificar mensajes SEI adicionales para características de postfiltro de red neuronal, activación de postfiltro de red neuronal e indicación de fase, identificadores de tipo de color adicionales y correcciones y aclaraciones menores diversas. [ 29 ]

Aplicaciones

El formato de vídeo H.264 tiene un rango de aplicación muy amplio que abarca todas las formas de vídeo digital comprimido, desde aplicaciones de transmisión por Internet de baja tasa de bits hasta transmisiones de HDTV y aplicaciones de cine digital con codificación casi sin pérdidas. Con el uso de H.264, se informan ahorros de tasa de bits del 50 % o más en comparación con MPEG-2 Parte 2. Por ejemplo, se ha informado que H.264 proporciona la misma calidad de televisión digital por satélite que las implementaciones actuales de MPEG-2 con menos de la mitad de la tasa de bits, ya que las implementaciones actuales de MPEG-2 funcionan a alrededor de 3,5  Mbit/s y H.264 a solo 1,5  Mbit/s. [ 30 ] Sony afirma que el modo de grabación AVC de 9  Mbit/s es equivalente a la calidad de imagen del formato HDV , que utiliza aproximadamente 18–25  Mbit/s. [ 31 ]

Para garantizar la compatibilidad y una adopción sin problemas de H.264/AVC, muchos organismos de normalización han modificado o ampliado sus estándares relacionados con el vídeo para que los usuarios de estos estándares puedan emplear H.264/AVC. Tanto el formato Blu-ray Disc como el ahora descatalogado formato HD DVD incluyen H.264/AVC High Profile como uno de los tres formatos de compresión de vídeo obligatorios. El proyecto de Radiodifusión de Vídeo Digital ( DVB ) aprobó el uso de H.264/AVC para la televisión abierta a finales de 2004.

El organismo de normalización del Comité de Sistemas de Televisión Avanzada (ATSC) de Estados Unidos aprobó el uso de H.264/AVC para la televisión de difusión en julio de 2008. [ 32 ] [ 33 ] También se ha aprobado su uso con el estándar ATSC-M/H (móvil/portátil) más reciente, utilizando las partes AVC y SVC de H.264. [ 34 ]

Los mercados de circuito cerrado de televisión y videovigilancia han incorporado esta tecnología en muchos de sus productos.

Muchas cámaras réflex digitales comunes utilizan vídeo H.264 encapsulado en contenedores QuickTime MOV como formato de grabación nativo.

Formatos derivados

AVCHD es un formato de grabación de alta definición diseñado por Sony y Panasonic que utiliza H.264 (cumpliendo con H.264 y añadiendo características y restricciones adicionales específicas para la aplicación).

AVC-Intra es un formato de compresión exclusivamente intraframe , desarrollado por Panasonic .

XAVC es un formato de grabación diseñado por Sony que utiliza el nivel 5.2 de H.264/MPEG-4 AVC, que es el nivel más alto compatible con ese estándar de vídeo. [ 35 ] [ 36 ] XAVC puede admitir resolución 4K (4096 × 2160 y 3840 × 2160) a hasta 60 fotogramas por segundo (fps). [ 35 ] [ 36 ] Sony ha anunciado que las cámaras que admiten XAVC incluyen dos cámaras CineAlta : la Sony PMW-F55 y la Sony PMW-F5. [ 37 ] La Sony PMW-F55 puede grabar XAVC con resolución 4K a 30 fps a 300 Mbit/s y resolución 2K a 30 fps a 100 Mbit/s. [ 38 ] XAVC puede grabar resolución 4K a 60 fps con muestreo de croma 4:2:2 a 600 Mbit/s. [ 39 ] [ 40 ]      

Diseño

Características

La parte 10 de H.264/AVC/MPEG-4 incluye varias características nuevas que permiten comprimir vídeo de forma mucho más eficiente que los estándares anteriores y ofrecen mayor flexibilidad para su aplicación en una amplia variedad de entornos de red. En particular, algunas de estas características clave son:

  • Predicción entre múltiples imágenes que incluye las siguientes características:
    • Utilizar imágenes previamente codificadas como referencias de una manera mucho más flexible que en los estándares anteriores, permitiendo hasta 16 fotogramas de referencia (o 32 campos de referencia, en el caso de codificación entrelazada) en algunos casos. En los perfiles que admiten fotogramas que no son IDR , la mayoría de los niveles especifican que debe haber suficiente almacenamiento en búfer para permitir al menos 4 o 5 fotogramas de referencia a la máxima resolución. Esto contrasta con los estándares anteriores, donde el límite solía ser uno; o, en el caso de las imágenes B  convencionales (fotogramas B), dos.
    • Compensación de movimiento de tamaño de bloque variable (VBSMC) con tamaños de bloque de hasta 16×16 y tan pequeños como 4×4, lo que permite una segmentación precisa de regiones en movimiento. Los tamaños de bloque de predicción de luminancia admitidos incluyen 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 y 4×4, muchos de los cuales se pueden usar juntos en un solo macrobloque. Los tamaños de bloque de predicción de croma son correspondientemente más pequeños cuando se utiliza el submuestreo de croma .
    • La posibilidad de usar múltiples vectores de movimiento por macrobloque (uno o dos por partición), con un máximo de 32 en el caso de un macrobloque B compuesto por 16 particiones de 4×4. Los vectores de movimiento para cada región de partición de 8×8 o mayor pueden apuntar a diferentes imágenes de referencia.
    • La capacidad de usar cualquier tipo de macrobloque en los fotogramas B , incluidos los macrobloques I, resulta en una codificación mucho más eficiente al usar fotogramas B. Esta característica se omitió notablemente en MPEG-4 ASP .
    • Filtrado de seis pasos para la derivación de predicciones de muestras de luminancia de medio píxel, para una compensación de movimiento subpíxel más nítida. El movimiento de un cuarto de píxel se deriva mediante interpolación lineal de los valores de medio píxel, para ahorrar potencia de procesamiento.
    • Precisión de un cuarto de píxel para la compensación de movimiento, lo que permite una descripción precisa de los desplazamientos de las áreas en movimiento. Para la croma, la resolución se reduce normalmente a la mitad tanto vertical como horizontalmente (véase 4:2:0 ); por lo tanto, la compensación de movimiento de la croma utiliza unidades de cuadrícula de píxeles de croma de un octavo.
    • La predicción ponderada permite al codificador especificar el uso de un escalado y un desplazamiento al realizar la compensación de movimiento, lo que proporciona una mejora significativa en el rendimiento en casos especiales, como las transiciones de fundido a negro, fundido de entrada y fundido cruzado. Esto incluye la predicción ponderada implícita para los fotogramas B y la predicción ponderada explícita para los fotogramas P.
  • Predicción espacial a partir de los bordes de bloques vecinos para la codificación "intra" , en lugar de la predicción "DC" solamente que se encuentra en MPEG-2 Parte 2 y la predicción del coeficiente de transformación que se encuentra en H.263v2 y MPEG-4 Parte 2. Esto incluye tamaños de bloque de predicción de luminancia de 16×16, 8×8 y 4×4 (de los cuales solo se puede usar un tipo dentro de cada macrobloque ).
  • Transformada discreta del coseno entera (DCT entera), [ 5 ] [ 41 ] [ 42 ] un tipo de transformada discreta del coseno (DCT) [ 41 ] donde la transformada es una aproximación entera de la DCT estándar. [ 43 ] Tiene tamaños de bloque seleccionables [ 44 ] y cálculo entero de coincidencia exacta para reducir la complejidad, incluyendo:
    • Una transformada espacial de bloques 4×4 de enteros de coincidencia exacta, que permite una colocación precisa de las señales residuales con una mínima distorsión , a menudo presente en diseños de códecs anteriores. Es similar a la DCT estándar utilizada en estándares anteriores, pero emplea un tamaño de bloque menor y un procesamiento de enteros sencillo. A diferencia de las fórmulas y tolerancias basadas en el coseno expresadas en estándares anteriores (como H.261 y MPEG-2), el procesamiento de enteros proporciona un resultado decodificado con una precisión exacta.
    • Una transformación de bloques espaciales de 8×8 con coincidencia exacta de enteros, que permite comprimir regiones altamente correlacionadas de forma más eficiente que con la transformación de 4×4. Este diseño se basa en la DCT estándar, pero simplificado y adaptado para proporcionar una decodificación precisa.
    • Selección adaptativa del codificador entre los tamaños de bloque de transformación de 4×4 y 8×8 para la operación de transformación entera.
    • Se aplica una transformación de Hadamard secundaria a los coeficientes "DC" de la transformación espacial primaria, que se aplica a los coeficientes DC de croma (y también a los de luma en un caso especial) para obtener aún más compresión en las regiones suaves.
  • Características de codificación de macrobloques sin pérdida que incluyen:
    • Un modo de representación de "macrobloque PCM" sin pérdidas en el que las muestras de datos de vídeo se representan directamente, [ 45 ] lo que permite una representación perfecta de regiones específicas y permite establecer un límite estricto en la cantidad de datos codificados para cada macrobloque.
    • Un modo de representación de macrobloques sin pérdidas mejorado que permite una representación perfecta de regiones específicas, utilizando normalmente muchos menos bits que el modo PCM.
  • Características de codificación de vídeo de escaneo entrelazado flexible , que incluyen:
    • La codificación de campo de fotograma adaptativo de macrobloques (MBAFF) utiliza una estructura de pares de macrobloques para imágenes codificadas como fotogramas, lo que permite macrobloques de 16×16 en modo de campo (en comparación con MPEG-2, donde el procesamiento en modo de campo en una imagen codificada como fotograma da como resultado el procesamiento de medios macrobloques de 16×8).
    • La codificación de campos de fotogramas adaptativa a imágenes (PAFF o PicAFF) permite una mezcla de imágenes seleccionada libremente, codificadas como fotogramas completos donde ambos campos se combinan para la codificación o como campos individuales únicos.
  • Un diseño de cuantización que incluye:
    • Control del tamaño del paso logarítmico para una gestión más sencilla de la tasa de bits por parte de los codificadores y un escalado de cuantización inversa simplificado.
    • Matrices de escalado de cuantización personalizadas en frecuencia seleccionadas por el codificador para la optimización de la cuantización basada en la percepción.
  • Un filtro de eliminación de bloqueos en bucle que ayuda a prevenir los artefactos de bloqueo comunes en otras técnicas de compresión de imágenes basadas en DCT, lo que resulta en una mejor apariencia visual y eficiencia de compresión.
  • Un diseño de codificación entrópica que incluye:
  • Características de resistencia a pérdidas que incluyen:
    • Una definición de capa de abstracción de red (NAL) que permite usar la misma sintaxis de video en muchos entornos de red. Un concepto de diseño fundamental de H.264 es generar paquetes autocontenidos, para eliminar la duplicación de encabezados como en el código de extensión de encabezado (HEC) de MPEG-4. [ 46 ] Esto se logró desacoplando la información relevante para más de una sección del flujo de medios. La combinación de los parámetros de nivel superior se llama conjunto de parámetros. [ 46 ] La especificación H.264 incluye dos tipos de conjuntos de parámetros: conjunto de parámetros de secuencia (SPS) y conjunto de parámetros de imagen (PPS). Un conjunto de parámetros de secuencia activo permanece sin cambios a lo largo de una secuencia de video codificada, y un conjunto de parámetros de imagen activo permanece sin cambios dentro de una imagen codificada. Las estructuras de los conjuntos de parámetros de secuencia e imagen contienen información como el tamaño de la imagen, los modos de codificación opcionales empleados y el mapa de macrobloque a grupo de secciones. [ 46 ]
    • El ordenamiento flexible de macrobloques (FMO), también conocido como grupos de cortes, y el ordenamiento arbitrario de cortes (ASO) son técnicas para reestructurar el ordenamiento de la representación de las regiones fundamentales ( macrobloques ) en las imágenes. Si bien generalmente se consideran una característica de robustez frente a errores o pérdidas, FMO y ASO también pueden utilizarse para otros fines.
    • La partición de datos (DP), una función que permite separar los elementos sintácticos más importantes de los menos importantes en diferentes paquetes de datos, posibilita la aplicación de la protección contra errores desiguales (UEP) y otros tipos de mejora de la robustez ante errores o pérdidas.
    • Las secciones redundantes (RS, por sus siglas en inglés) son una característica de robustez ante errores o pérdidas que permite a un codificador enviar una representación adicional de una región de la imagen (normalmente con menor fidelidad) que se puede utilizar si la representación principal se corrompe o se pierde.
    • La numeración de fotogramas, una función que permite la creación de "subsecuencias", posibilita la escalabilidad temporal mediante la inclusión opcional de imágenes adicionales entre otras imágenes, y la detección y ocultación de pérdidas de imágenes completas, que pueden ocurrir debido a pérdidas de paquetes de red o errores de canal.
  • Las secciones de conmutación, denominadas secciones SP y SI, permiten que un codificador dirija a un decodificador para que salte a una secuencia de vídeo en curso con fines tales como la conmutación de la tasa de bits de la transmisión de vídeo y el funcionamiento en "modo trampa". Cuando un decodificador salta a la mitad de una secuencia de vídeo mediante la función SP/SI, puede obtener una coincidencia exacta con las imágenes decodificadas en esa ubicación de la secuencia de vídeo, a pesar de utilizar imágenes diferentes, o ninguna imagen, como referencia antes de la conmutación.
  • Un proceso automático sencillo para evitar la emulación accidental de códigos de inicio , que son secuencias especiales de bits en los datos codificados que permiten el acceso aleatorio al flujo de bits y la recuperación de la alineación de bytes en sistemas que pueden perder la sincronización de bytes.
  • La información de mejora suplementaria (SEI) y la información de usabilidad de vídeo (VUI) son datos adicionales que se pueden insertar en el flujo de bits para diversos fines, como indicar el espacio de color utilizado en el contenido de vídeo o las restricciones que se aplican a la codificación. Los mensajes SEI pueden contener metadatos definidos por el usuario u otros mensajes con sintaxis y semántica definidas en el estándar.
  • Imágenes auxiliares, que pueden utilizarse para fines tales como la composición alfa .
  • Admite muestreo de croma monocromo (4:0:0), 4:2:0, 4:2:2 y 4:4:4 (según el perfil seleccionado).
  • Admite una precisión de profundidad de bits de muestra que oscila entre 8 y 14 bits por muestra (dependiendo del perfil seleccionado).
  • La capacidad de codificar planos de color individuales como imágenes distintas con sus propias estructuras de corte, modos de macrobloque, vectores de movimiento, etc., permite diseñar codificadores con una estructura de paralelización simple (compatible únicamente con los tres perfiles 4:4:4).
  • El conteo del orden de las imágenes es una función que sirve para mantener el orden de las imágenes y los valores de las muestras en las imágenes decodificadas aislados de la información de temporización, lo que permite que la información de temporización sea transportada y controlada/modificada por separado por un sistema sin afectar el contenido de la imagen decodificada.

Estas técnicas, junto con otras, ayudan a que H.264 tenga un rendimiento significativamente superior al de cualquier estándar anterior en una amplia variedad de circunstancias y entornos de aplicación. H.264 suele ofrecer un rendimiento radicalmente mejor que el vídeo MPEG-2, obteniendo normalmente la misma calidad con la mitad de la tasa de bits o incluso menos, especialmente en contenido de vídeo de alta tasa de bits y alta resolución. [ 47 ]

Al igual que otros estándares de vídeo ISO/IEC MPEG, H.264/AVC cuenta con una implementación de software de referencia que se puede descargar gratuitamente. [ 48 ] Su propósito principal es proporcionar ejemplos de las características de H.264/AVC, más que ser una aplicación útil en sí misma . También se ha llevado a cabo un trabajo de diseño de hardware de referencia en el Moving Picture Experts Group . Los aspectos mencionados anteriormente incluyen características en todos los perfiles de H.264. Un perfil para un códec es un conjunto de características de ese códec identificadas para cumplir con un conjunto determinado de especificaciones de las aplicaciones previstas. Esto significa que muchas de las características enumeradas no son compatibles con algunos perfiles. En la siguiente sección se analizan varios perfiles de H.264/AVC.

Perfiles

El estándar define varios conjuntos de capacidades, denominados perfiles , dirigidos a clases específicas de aplicaciones. Estos se declaran mediante un código de perfil (profile_idc) y, en ocasiones, un conjunto de restricciones adicionales aplicadas en el codificador. El código de perfil y las restricciones indicadas permiten que un decodificador reconozca los requisitos para decodificar ese flujo de bits específico. (En muchos entornos de sistema, solo se permite el uso de uno o dos perfiles, por lo que los decodificadores en esos entornos no necesitan preocuparse por reconocer los perfiles menos comunes). El perfil más utilizado, con diferencia, es el Perfil Alto.

Los perfiles para aplicaciones de vídeo 2D no escalables incluyen los siguientes:

Perfil de referencia restringido (CBP, 66 con conjunto de restricciones 1)
Diseñado principalmente para aplicaciones de bajo costo, este perfil se utiliza con mayor frecuencia en videoconferencias y aplicaciones móviles. Corresponde al subconjunto de características comunes a los perfiles Baseline, Main y High.
Perfil basal (PA, 66)
Este perfil, utilizado principalmente en aplicaciones de bajo costo que requieren mayor robustez ante la pérdida de datos, se emplea en algunas aplicaciones móviles y de videoconferencia. Incluye todas las funciones compatibles con el Perfil Base Restringido, además de tres funciones adicionales que pueden utilizarse para mejorar la robustez ante la pérdida de datos (o para otros fines, como la composición de flujos de vídeo multipunto de baja latencia). La importancia de este perfil ha disminuido ligeramente desde la definición del Perfil Base Restringido en 2009. Todos los flujos de bits del Perfil Base Restringido también se consideran flujos de bits del Perfil Base, ya que ambos perfiles comparten el mismo código de identificador.
Perfil extendido (XP, 88)
Diseñado como perfil de vídeo en streaming, este perfil tiene una capacidad de compresión relativamente alta y algunos trucos adicionales para aumentar su resistencia a la pérdida de datos y al cambio de flujo del servidor.
Perfil principal (MP, 77)
Este perfil se utiliza para transmisiones de televisión digital de definición estándar que utilizan el formato MPEG-4, tal como se define en el estándar DVB. [ 49 ] Sin embargo, no se utiliza para transmisiones de televisión de alta definición, ya que la importancia de este perfil disminuyó cuando se desarrolló el perfil High Profile en 2004 para esa aplicación.
Alto perfil (HiP, 100)
El perfil principal para aplicaciones de transmisión y almacenamiento en disco, en particular para aplicaciones de televisión de alta definición (por ejemplo, este es el perfil adoptado por el formato de almacenamiento Blu-ray Disc y el servicio de transmisión DVB HDTV).
Perfil alto progresivo (PHiP, 100 con conjunto de restricciones 4)
Similar al perfil High, pero sin soporte para funciones de codificación de campos.
Perfil alto restringido (100 con conjunto de restricciones 4 y 5)
Similar al perfil Progressive High, pero sin soporte para segmentos B (bi-predictivos).
Perfil alto 10 (Hi10P, 110)
Este perfil, que va más allá de las capacidades típicas de los productos de consumo convencionales, se basa en el perfil High Profile y añade compatibilidad con una precisión de imagen decodificada de hasta 10 bits por muestra.
Alto 4 | 2 | 2 Perfil (Hi422P, 122)
Este perfil, dirigido principalmente a aplicaciones profesionales que utilizan vídeo entrelazado, se basa en el perfil High 10 y añade compatibilidad con el formato de muestreo de croma 4:2:2 , utilizando hasta 10 bits por muestra de precisión de imagen decodificada.
Alto 4 | 4 | 4 Perfil predictivo (Hi444PP, 244)
Este perfil se basa en el perfil High 4:2:2, admitiendo un muestreo de croma de hasta 4:4:4, hasta 14 bits por muestra, y además admite una codificación de región sin pérdidas eficiente y la codificación de cada imagen como tres planos de color separados.

Para videocámaras, edición y aplicaciones profesionales, el estándar contiene cuatro perfiles adicionales solo para fotogramas intra , que se definen como subconjuntos simples de otros perfiles correspondientes. Estos se utilizan principalmente para aplicaciones profesionales (por ejemplo, cámaras y sistemas de edición):

Alto perfil intra 10 (110 con conjunto de restricciones 3)
El perfil High 10 está restringido a uso exclusivamente intra.
Alto 4 | 2 | 2 Perfil intra (122 con conjunto de restricciones 3)
El perfil High 4:2:2 está restringido a uso exclusivamente intra.
Alto 4 | 4 | 4 Perfil intra (244 con conjunto de restricciones 3)
El perfil High 4:4:4 está restringido a uso exclusivamente intra.
CAVLC 4 | 4 | 4 Perfil intra (44)
El perfil High 4:4:4 está restringido al uso exclusivamente intra y a la codificación de entropía CAVLC (es decir, no admite CABAC).

Como resultado de la extensión de codificación de vídeo escalable (SVC), el estándar contiene cinco perfiles escalables adicionales , que se definen como una combinación de un perfil H.264/AVC para la capa base (identificado por la segunda palabra en el nombre del perfil escalable) y herramientas que logran la extensión escalable:

Perfil de referencia escalable (83)
Este perfil, diseñado principalmente para aplicaciones de videoconferencia, móviles y de vigilancia, se basa en el perfil de Línea Base Restringida, al que debe ajustarse la capa base (un subconjunto del flujo de bits). Para las herramientas de escalabilidad, se habilita un subconjunto de las herramientas disponibles.
Perfil de referencia restringido escalable (83 con conjunto de restricciones 5)
Un subconjunto del perfil base escalable, diseñado principalmente para aplicaciones de comunicación en tiempo real.
Perfil alto escalable (86)
Este perfil, dirigido principalmente a aplicaciones de radiodifusión y streaming, se basa en el perfil alto H.264/AVC al que debe ajustarse la capa base.
Perfil alto restringido escalable (86 con conjunto de restricciones 5)
Un subconjunto del perfil Scalable High Profile, diseñado principalmente para aplicaciones de comunicación en tiempo real.
Perfil intra-superficial alto escalable (86 con conjunto de restricciones 3)
Este perfil, destinado principalmente a aplicaciones de producción, es el Perfil Alto Escalable, restringido a un uso exclusivamente intra.

Como resultado de la extensión Multiview Video Coding (MVC), el estándar contiene dos perfiles multivista :

Estéreo de perfil alto (128)
Este perfil está diseñado para vídeo 3D estereoscópico de dos vistas y combina las herramientas del perfil High con las capacidades de predicción entre vistas de la extensión MVC.
Perfil alto multivista (118)
Este perfil admite dos o más vistas utilizando tanto la predicción entre imágenes (temporal) como la predicción entre vistas MVC, pero no admite imágenes de campo ni codificación de campo de marco adaptativa de macrobloques.

La extensión Multi-resolution Frame-Compatible (MFC) añadió dos perfiles más:

MFC Perfil Alto (134)
Un perfil para codificación estereoscópica con mejora de resolución de dos capas.
MFC Profundidad Perfil Alto (135)

La extensión 3D-AVC añadió dos perfiles más:

Perfil alto de profundidad multivista (138)
Este perfil admite la codificación conjunta de la información del mapa de profundidad y la textura de vídeo para mejorar la compresión del contenido de vídeo 3D.
Perfil alto de profundidad multivista mejorada (139)
Un perfil mejorado para la codificación multivista combinada con información de profundidad.

Soporte de funciones en perfiles específicos

Niveles

Tal como se define en el estándar, un " nivel " es un conjunto específico de restricciones que indican el grado de rendimiento requerido del decodificador para un perfil determinado. Por ejemplo, un nivel de compatibilidad dentro de un perfil especifica la resolución máxima de imagen, la velocidad de fotogramas y la tasa de bits que puede utilizar un decodificador. Un decodificador que cumpla con un nivel determinado debe ser capaz de decodificar todos los flujos de bits codificados para ese nivel y para todos los niveles inferiores.

La tasa de bits máxima para el perfil High es 1,25 veces mayor que la de los perfiles Constrained Baseline, Baseline, Extended y Main; 3 veces mayor para Hi10P y 4 veces mayor para Hi422P/Hi444PP.

El número de muestras de luminancia es 16×16=256 veces el número de macrobloques (y el número de muestras de luminancia por segundo es 256 veces el número de macrobloques por segundo).

Almacenamiento en búfer de imágenes decodificadas

Las imágenes previamente codificadas son utilizadas por los codificadores H.264/AVC para predecir los valores de las muestras en otras imágenes. Esto permite al codificador tomar decisiones eficientes sobre la mejor manera de codificar una imagen determinada. En el decodificador, dichas imágenes se almacenan en un búfer virtual de imágenes decodificadas (DPB). La capacidad máxima del DPB, en unidades de fotogramas (o pares de campos), como se muestra entre paréntesis en la columna derecha de la tabla anterior, se puede calcular de la siguiente manera:

DpbCapacity = min(floor( MaxDpbMbs / ( PicWidthInMbs * FrameHeightInMbs )), 16)

Donde MaxDpbMbs es un valor constante proporcionado en la tabla siguiente como función del número de nivel, y PicWidthInMbs y FrameHeightInMbs son el ancho de la imagen y la altura del fotograma para los datos de vídeo codificados, expresados ​​en unidades de macrobloques (redondeados a valores enteros y teniendo en cuenta el recorte y el emparejamiento de macrobloques cuando corresponda). Esta fórmula se especifica en las secciones A.3.1.h y A.3.2.f de la edición de 2017 del estándar. [ 26 ]

Por ejemplo, para una imagen HDTV que tiene 1920 muestras de ancho (PicWidthInMbs = 120) y 1.080 muestras de alto (FrameHeightInMbs = 68), un decodificador de nivel 4 tiene una capacidad máxima de almacenamiento DPB depiso(32768/(120*68))= 4 marcos (u 8 campos). Por lo tanto, el valor 4 se muestra entre paréntesis en la tabla anterior, en la columna derecha de la fila correspondiente al Nivel 4 con un tamaño de marco de 1920×1080.

La imagen que se está decodificando actualmente no se incluye en el cálculo de la capacidad del DPB (a menos que el codificador haya indicado que se almacene para usarla como referencia para decodificar otras imágenes o para la sincronización de salida retardada). Por lo tanto, un decodificador necesita tener suficiente memoria para procesar (al menos) un fotograma más que la capacidad máxima del DPB calculada anteriormente.

Implementaciones

Una estadística de YouTube que muestra H.264 AVC y Opus. H.264 de alta calidad hasta 1080p 60fps para subir a YouTube para renderizar.

En 2009, el grupo de trabajo de HTML5 se dividió entre los partidarios de Ogg Theora , un formato de vídeo gratuito que se cree que no está sujeto a patentes, y H.264, que contiene tecnología patentada. Todavía en julio de 2009, se decía que Google y Apple apoyaban H.264, mientras que Mozilla y Opera apoyaban Ogg Theora (finalmente, Google, Mozilla y Opera apoyaron Theora y WebM con VP8 , [ 50 ] aunque el apoyo a Theora se eliminó en 2023-2024). [ 51 ] [ 52 ] Microsoft, con el lanzamiento de Internet Explorer 9, ha añadido soporte para vídeo HTML 5 codificado con H.264. En el Gartner Symposium/ITXpo en noviembre de 2010, el CEO de Microsoft, Steve Ballmer, respondió a la pregunta "¿HTML 5 o Silverlight ?" diciendo "Si quieres hacer algo que sea universal, no hay duda de que el mundo se está pasando a HTML5". [ 53 ] En enero de 2011, Google anunció que retiraría el soporte para H.264 de su navegador Chrome y que daría soporte tanto a Theora como a WebM/VP8 para usar solo formatos abiertos. [ 54 ]

El 18 de marzo de 2012, Mozilla anunció la compatibilidad con H.264 en Firefox para dispositivos móviles, debido a la prevalencia del vídeo codificado en H.264 y la mayor eficiencia energética que supone el uso de hardware decodificador H.264 dedicado, común en dichos dispositivos. [ 55 ] El 20 de febrero de 2013, Mozilla implementó la compatibilidad con Firefox para la decodificación de H.264 en Windows 7 y versiones posteriores. Esta función se basa en las bibliotecas de decodificación integradas de Windows. [ 56 ] Firefox 35.0, lanzado el 13 de enero de 2015, admite H.264 en OS X 10.6 y versiones posteriores. [ 57 ]

El 30 de octubre de 2013, Rowan Trollope de Cisco Systems anunció que Cisco liberaría tanto los binarios como el código fuente de un códec de vídeo H.264 llamado OpenH264 bajo la licencia BSD simplificada , y pagaría todos los derechos de autor por su uso a MPEG LA para cualquier proyecto de software que utilizara los binarios precompilados de Cisco, lo que hacía que los binarios OpenH264 de Cisco fueran de uso gratuito. Sin embargo, cualquier proyecto de software que utilizara el código fuente de Cisco en lugar de sus binarios sería legalmente responsable de pagar todos los derechos de autor a MPEG LA. Las arquitecturas de CPU objetivo incluyen x86 y ARM, y los sistemas operativos objetivo incluyen Linux, Windows XP y posteriores, Mac OS X y Android; iOS no figuraba en esta lista, ya que no permite que las aplicaciones obtengan e instalen módulos binarios de Internet. [ 58 ] [ 59 ] [ 60 ] También el 30 de octubre de 2013, Brendan Eich de Mozilla escribió que usaría los binarios de Cisco en futuras versiones de Firefox para agregar soporte para H.264 a Firefox donde no estén disponibles los códecs de la plataforma. [ 61 ] Cisco publicó el código fuente de OpenH264 el 9 de diciembre de 2013. [ 62 ]

Aunque iOS no era compatible con la versión de software de Cisco de 2013, Apple actualizó su Video Toolbox Framework con iOS 8 (lanzado en septiembre de 2014) para proporcionar acceso directo a la codificación y decodificación de vídeo H.264/AVC basada en hardware. [ 59 ]

Codificadores de software

Hardware

Debido a que la codificación y decodificación H.264 requieren una potencia de cálculo significativa para operaciones aritméticas específicas, las implementaciones de software que se ejecutan en CPU de propósito general suelen ser menos eficientes energéticamente. Sin embargo, las CPU de consumo con 6 u 8 núcleos desde aproximadamente 2016, y las CPU x86 de propósito general de cuatro núcleos desde enero de 2020, tienen suficiente potencia de cálculo para realizar la codificación SD y HD en tiempo real. La eficiencia de compresión depende de las implementaciones algorítmicas de vídeo, no de si se utiliza hardware o software. Por lo tanto, la diferencia entre las implementaciones basadas en hardware y software radica más en la eficiencia energética, la flexibilidad y el coste. Para mejorar la eficiencia energética y reducir el tamaño del hardware, se puede emplear hardware especializado, ya sea para el proceso completo de codificación o decodificación, o para la asistencia de aceleración dentro de un entorno controlado por la CPU.

Las soluciones basadas en CPU son mucho más flexibles, especialmente cuando la codificación debe realizarse simultáneamente en múltiples formatos, con diferentes tasas de bits y resoluciones ( vídeo multipantalla ), y posiblemente con funciones adicionales como compatibilidad con formatos de contenedor, funciones avanzadas de publicidad integrada, etc. En general, las soluciones de software basadas en CPU facilitan el equilibrio de carga entre múltiples sesiones de codificación simultáneas dentro de la misma CPU.

Los procesadores Intel Core i3/i5/i7 de segunda generación " Sandy Bridge ", presentados en el CES ( Consumer Electronics Show ) de enero de 2011, ofrecen un codificador de hardware Full HD H.264 integrado, conocido como Intel Quick Sync Video . [ 68 ] [ 69 ]

Un codificador H.264 de hardware puede ser un ASIC o un FPGA .

Existen codificadores ASIC con funcionalidad de codificador H.264 disponibles en numerosas empresas de semiconductores, pero el diseño central utilizado en el ASIC suele estar licenciado a unas pocas compañías como Chips&Media , Allegro DVT, On2 (anteriormente Hantro, adquirida por Google), Imagination Technologies y NGCodec. Algunas compañías ofrecen productos tanto FPGA como ASIC. [ 70 ]

Texas Instruments fabrica una línea de núcleos ARM + DSP que realizan codificación DSP H.264 BP 1080p a 30  fps. [ 71 ] Esto permite flexibilidad con respecto a los códecs (que se implementan como código DSP altamente optimizado) a la vez que es más eficiente que el software en una CPU genérica.

Licencias

En los países donde se respetan las patentes sobre algoritmos de software , se espera que los proveedores y usuarios comerciales de productos que utilizan H.264/AVC paguen regalías por la licencia de patente de la tecnología patentada que utilizan sus productos. [ 72 ] Esto también se aplica al Perfil Baseline. [ 73 ]

Una organización privada conocida como Via-LA administra las licencias de patentes que se aplican a este estándar, así como a otros consorcios de patentes , como los de MPEG-4 Parte 2 Video, HEVC y MPEG-DASH. Entre los titulares de patentes se encuentran Fujitsu , Panasonic , Sony , Mitsubishi , Apple , la Universidad de Columbia , KAIST , Dolby , Google , JVC Kenwood , LG Electronics , Microsoft , NTT Docomo , Philips , Samsung , Sharp , Toshiba y ZTE , [ 74 ] aunque la mayoría de las patentes del consorcio pertenecen a Panasonic ( 1197 patentes), Godo Kaisha IP Bridge ( 1130 patentes) y LG Electronics ( 990 patentes). [ 75 ]

El 26 de agosto de 2010, MPEG-LA anunció que no se cobrarían regalías por el video de Internet codificado en H.264 que es gratuito para los usuarios finales. [ 76 ] Todas las demás regalías permanecen vigentes, como las regalías para productos que decodifican y codifican video H.264, así como para los operadores de televisión gratuita y canales de suscripción. [ 77 ] Los términos de la licencia se actualizan en bloques de 5 años. [ 78 ]

Desde que se completó la primera versión del estándar en mayo de 2003 (Hace 23 años) y el perfil más utilizado (el perfil alto) se completó en junio de 2004 (Hace 22 años), algunas de las patentes relevantes ya han expirado, [ 75 ] mientras que otras siguen vigentes en jurisdicciones de todo el mundo y una de las patentes estadounidenses del consorcio MPEG LA H.264 (otorgada en 2016) dura al menos hasta noviembre de 2030. [ 79 ]

En 2005, Qualcomm demandó a Broadcom ante el Tribunal de Distrito de los Estados Unidos, alegando que Broadcom había infringido dos de sus patentes al fabricar productos compatibles con el estándar de compresión de vídeo H.264. [ 80 ] En 2007, el Tribunal de Distrito dictaminó que las patentes eran inaplicables porque Qualcomm no las había divulgado a la JVT antes del lanzamiento del estándar H.264 en mayo de 2003. [ 80 ] En diciembre de 2008, el Tribunal de Apelaciones de los Estados Unidos para el Circuito Federal confirmó la orden del Tribunal de Distrito que declaraba las patentes inaplicables, pero remitió el caso al Tribunal de Distrito con instrucciones de limitar el alcance de la inaplicabilidad a los productos compatibles con H.264. [ 80 ]

En octubre de 2023, Nokia demandó a HP y Amazon por infracción de patentes H.264/H.265 en EE. UU., Reino Unido y otros lugares. [ 81 ]

En febrero de 2026, la Autoridad de Licencias VIA anunció un nuevo esquema de licencias para la transmisión de video que se aplica a la versión 4 de la especificación h264 y posteriores. [ 82 ] Esto modifica los términos para los nuevos licenciatarios después de enero de 2026.

Véase también

Referencias

  1. MPEG-4, Codificación de vídeo avanzada (Parte 10) (H.264) (Borrador completo). Sostenibilidad de los formatos digitales. Washington, DC: Biblioteca del Congreso. 5 de diciembre de 2011. Consultado el 1 de diciembre de 2021 .
  2. "H.264 : Codificación de vídeo avanzada para servicios audiovisuales genéricos" . www.itu.int . Archivado del original el 31 de octubre de 2019. Consultado el 22 de noviembre de 2019 . 
  3. "Informe para desarrolladores de vídeo 2024/2025" (PDF) . Bitmovin . Diciembre de 2024.
  4. "Entrega de 8K usando AVC/H.264" . Mystery Box . Archivado del original el 25 de marzo de 2021. Recuperado el 23 de agosto de 2017 .
  5. 1 2 Wang, Hanli; Kwong, S.; Kok, C. (2006). "Algoritmo de predicción eficiente de coeficientes DCT enteros para la optimización de H.264/AVC". IEEE Transactions on Circuits and Systems for Video Technology . 16 (4): 547– 552. Bibcode : 2006ITCSV..16..547W . doi : 10.1109/TCSVT.2006.871390 . S2CID 2060937 . 
  6. Ozer, Jan (8 de mayo de 2023), Heath Hoglund de Via LA habla sobre la fusión del consorcio de patentes de licencias MPEG LA/Via , StreamingMedia.com
  7. «Recomendaciones UIT-T» . UIT . Consultado el 1 de noviembre de 2022 .
  8. "H.262 : Tecnología de la información — Codificación genérica de imágenes en movimiento e información de audio asociada: Vídeo" . Consultado el 15 de abril de 2007 .  
  9. Equipo Conjunto de Vídeo ,sitio web de la UIT-T .
  10. «Recomendación UIT-T H.264 (05/2003)» . UIT. 30 de mayo de 2003 . Consultado el 18 de abril de 2013 .
  11. «Recomendación UIT-T H.264 (05/2003) Cor. 1 (05/2004)» . UIT. 7 de mayo de 2004 . Consultado el 18 de abril de 2013 .
  12. «Recomendación UIT-T H.264 (03/2005)» . UIT. 1 de marzo de 2005 . Consultado el 18 de abril de 2013 .
  13. «Recomendación UIT-T H.264 (2005) Cor. 1 (09/2005)» . UIT. 13 de septiembre de 2005 . Consultado el 18 de abril de 2013 .
  14. 1 2 "Recomendación H.264 (2005) de la UIT-T, Enmienda 1 (06/2006)" . UIT. 13 de junio de 2006. Consultado el 18 de abril de 2013 .
  15. "Recomendación H.264 (2005) de la UIT-T, Enmienda 2 (04/2007)" . UIT. 6 de abril de 2007. Consultado el 18 de abril de 2013 .
  16. «Recomendación UIT-T H.264 (11/2007)» . UIT. 22 de noviembre de 2007 . Consultado el 18 de abril de 2013 .
  17. «Recomendación UIT-T H.264 (2007) Cor. 1 (01/2009)» . UIT. 13 de enero de 2009 . Consultado el 18 de abril de 2013 .
  18. ^ " Recomendación UIT-T H.264 (03/2009)" . UIT. 16 de marzo de 2009 . Consultado el 18 de abril de 2013 .
  19. ^ " Recomendación UIT-T H.264 (03/2010)" . UIT. 9 de marzo de 2010 . Consultado el 18 de abril de 2013 .
  20. ^ " Recomendación UIT-T H.264 (06/2011)" . UIT. 29 de junio de 2011 . Consultado el 18 de abril de 2013 .
  21. «Recomendación UIT-T H.264 (01/2012)» . UIT. 13 de enero de 2012 . Consultado el 18 de abril de 2013 .
  22. ^ "Recomendación UIT-T H.264 ( 04/2013 ) " . UIT. 12 de junio de 2013 . Consultado el 16 de junio de 2013 .
  23. 1 2 "Recomendación H.264 de la UIT-T (02/2014)" . UIT. 28 de noviembre de 2014. Consultado el 28 de febrero de 2016 .
  24. "Recomendación H.264 de la UIT-T (02/2016)" . UIT. 13 de febrero de 2016. Consultado el 14 de junio de 2017 .
  25. «Recomendación UIT-T H.264 (10/2016)» . UIT. 14 de octubre de 2016 . Consultado el 14 de junio de 2017 .
  26. 1 2 3 "Recomendación H.264 de la UIT-T (04/2017)" . UIT. 13 de abril de 2017. Véanse las tablas A-1, A-6 y A-7 para las capacidades dependientes del nivel tabuladas . Consultado el 14 de junio de 2017 .
  27. "H.264: Codificación de vídeo avanzada para servicios audiovisuales genéricos - Versión 26 (Edición 13)" . www.itu.int . 13 de junio de 2019. Archivado del original el 4 de noviembre de 2021. Consultado el 3 de noviembre de 2021 .
  28. "H.264: Codificación de vídeo avanzada para servicios audiovisuales genéricos - Versión 27 (Edición 14)" . www.itu.int . 22 de agosto de 2021. Archivado del original el 4 de noviembre de 2021. Consultado el 3 de noviembre de 2021 .
  29. "H.264: Codificación de vídeo avanzada para servicios audiovisuales genéricos - Versión 28 (Edición 15)" . www.itu.int . 13 de agosto de 2024. Consultado el 12 de febrero de 2025 .
  30. Wenger; et al. (febrero de 2005). "RFC 3984 : formato de carga útil RTP para vídeo H.264" . Ietf Datatracker : 2. doi : 10.17487/RFC3984 .  
  31. "¿Qué modo de grabación es equivalente a la calidad de imagen del formato de vídeo de alta definición (HDV)?" . Soporte electrónico de Sony . Archivado del original el 9 de noviembre de 2017 . Consultado el 8 de diciembre de 2018 .
  32. "Estándar ATSC A/72 Parte 1: Características del sistema de vídeo AVC en el sistema de televisión digital ATSC" (PDF) . Archivado del original (PDF) el 7 de agosto de 2011. Recuperado el 30 de julio de 2011 .
  33. "Estándar ATSC A/72 Parte 2: Características del subsistema de transporte de vídeo AVC" (PDF) . Archivado del original (PDF) el 7 de agosto de 2011. Consultado el 30 de julio de 2011 .
  34. "Norma ATSC A/153 Parte 7: Características del sistema de vídeo AVC y SVC" (PDF) . Archivado del original (PDF) el 26 de julio de 2011. Consultado el 30 de julio de 2011 .
  35. 1 2 "Sony presenta el nuevo formato de grabación XAVC para acelerar el desarrollo del 4K en los mercados profesionales y de consumo" . Sony. 30 de octubre de 2012. Consultado el 1 de noviembre de 2012 .
  36. 1 2 "Sony presenta el nuevo formato de grabación XAVC para acelerar el desarrollo del 4K en los mercados profesional y de consumo" (PDF) . Sony. 30 de octubre de 2012. Archivado del original (PDF) el 23 de marzo de 2023. Consultado el 1 de noviembre de 2012 .
  37. Steve Dent (30 de octubre de 2012). "Sony apuesta por el rojo con las videocámaras PMW-F55 y PMW-F5 pro CineAlta 4K con sensor Super 35 mm" . Engadget . Consultado el 5 de noviembre de 2012 .
  38. "F55 CineAlta 4K el futuro, antes de lo previsto" (PDF) . Sony. 30 de octubre de 2012. Archivado del original (PDF) el 19 de noviembre de 2012. Consultado el 1 de noviembre de 2012 .
  39. "Las tarjetas de memoria ultrarrápidas "SxS PRO+" transforman la captura de vídeo 4K" . Sony. Archivado del original el 8 de marzo de 2013. Consultado el 5 de noviembre de 2012 .
  40. "Las tarjetas de memoria ultrarrápidas "SxS PRO+" transforman la captura de vídeo 4K" (PDF) . Sony. Archivado del original (PDF) el 2 de abril de 2015. Consultado el 5 de noviembre de 2012 .
  41. 1 2 Stanković, Radomir S.; Astola, Jaakko T. (2012). "Reminiscencias de los primeros trabajos en DCT: entrevista con KR Rao" (PDF) . Reimpresiones de los primeros días de las ciencias de la información . 60 : 17. Recuperado el 13 de octubre de 2019 .
  42. Kwon, Soon-young; Lee, Joo-kyong; Chung, Ki-dong (2005). "Corrección de medio píxel para la transcodificación MPEG-2/H.264". Análisis y procesamiento de imágenes – ICIAP 2005. Notas de clase en ciencias de la computación. Vol. 3617. Springer Berlin Heidelberg. págs. 576–583 . doi : 10.1007/11553595_71 . ISBN   978-3-540-28869-5.
  43. Britanak, Vladimir; Yip, Patrick C.; Rao, KR (2010). Transformadas discretas de coseno y seno: propiedades generales, algoritmos rápidos y aproximaciones enteras . Elsevier . págs. ix, xiii, 1, 141–304 . ISBN  9780080464640.
  44. Thomson, Gavin; Shah, Athar (2017). "Introducción a HEIF y HEVC" (PDF) . Apple Inc. Recuperado el 5 de agosto de 2019 .
  45. "El estándar de codificación de vídeo avanzado H.264/AVC: descripción general e introducción a las extensiones de rango de fidelidad" (PDF) . Consultado el 30 de julio de 2011 .
  46. 1 2 3 RFC 3984, pág. 3
  47. Apple Inc. (26 de marzo de 1999). "Preguntas frecuentes sobre H.264" . Apple. Archivado del original el 7 de marzo de 2010. Recuperado el 17 de mayo de 2010 .
  48. Karsten Suehring. "Descarga del software de referencia H.264/AVC JM" . Iphome.hhi.de . Consultado el 17 de mayo de 2010 .
  49. "TS 101 154 – V1.9.1 – Radiodifusión de vídeo digital (DVB); Especificación para el uso de codificación de vídeo y audio en aplicaciones de radiodifusión basadas en el flujo de transporte MPEG-2" (PDF) . Consultado el 17 de mayo de 2010 .  
  50. "Decodificando el debate sobre el códec de vídeo HTML5" . Ars Technica . 6 de julio de 2009. Consultado el 12 de enero de 2011 .
  51. "Investigar la eliminación del soporte para Theora" . Bugzilla . 23 de octubre de 2023. Consultado el 3 de febrero de 2026 .
  52. "Google Chrome deja de ser compatible con Theora" . Phoronix . 1 de noviembre de 2023. Consultado el 3 de febrero de 2026 .
  53. "Steve Ballmer, CEO de Microsoft, entrevistado en el Gartner Symposium/ITxpo Orlando 2010" . Gartnervideo. Noviembre de 2010. Archivado del original el 30 de octubre de 2021. Consultado el 12 de enero de 2011 .
  54. "Compatibilidad con códecs de vídeo HTML en Chrome" . 11 de enero de 2011. Consultado el 12 de enero de 2011 .
  55. "Vídeo, dispositivos móviles y la web abierta" . 18 de marzo de 2012. Consultado el 20 de marzo de 2012 .
  56. "WebRTC habilitado, compatibilidad con H.264/MP3 en Win 7 por defecto, interfaz Metro para Windows 8 + más – Aspectos destacados del desarrollo de Firefox" . hacks.mozilla.org . mozilla. 20 de febrero de 2013. Consultado el 15 de marzo de 2013 . 
  57. "Firefox — Notas (35.0)" . Mozilla .
  58. "El protocolo H.264 de código abierto elimina las barreras para WebRTC" . 30 de octubre de 2013. Archivado del original el 6 de julio de 2015. Consultado el 1 de noviembre de 2013 .
  59. 1 2 "Preguntas frecuentes del proyecto Cisco OpenH264" . Consultado el 26 de septiembre de 2021 .
  60. "Licencia BSD simplificada de OpenH264" . GitHub . 27 de octubre de 2013. Consultado el 21 de noviembre de 2013 .
  61. "La interoperabilidad de vídeo en la web recibe un impulso gracias al códec H.264 de Cisco" . 30 de octubre de 2013. Consultado el 1 de noviembre de 2013 .
  62. "README actualizado · cisco/openh264@59dae50" . GitHub .
  63. "Soporte para codificación x264 4:0:0 (monocromo)" , consultado el 5 de junio de 2019.
  64. "Soporte para codificación x264 4:2:2" , consultado el 5 de junio de 2019.
  65. "Soporte para codificación x264 4:4:4" , consultado el 5 de junio de 2019.
  66. "Soporte de x264 para codificación de 9 y 10 bits" , consultado el 22 de junio de 2011.
  67. "x264 reemplazar perfil High 4:4:4 sin pérdidas con High 4:4:4 predictivo" , consultado el 22 de junio de 2011.
  68. "Guía de referencia rápida para los gráficos integrados del procesador Intel Core de última generación" . Intel Software Network. 1 de octubre de 2010. Consultado el 19 de enero de 2011 .
  69. "Intel Quick Sync Video" . www.intel.com. 1 de octubre de 2010. Consultado el 19 de enero de 2011 .
  70. "Design-reuse.com" . Design-reuse.com. 1 de enero de 1990. Consultado el 17 de mayo de 2010 .
  71. "Categoría:DM6467 - Wiki de procesadores integrados de Texas Instruments" . Processors.wiki.ti.com. 12 de julio de 2011. Archivado del original el 17 de julio de 2011. Consultado el 30 de julio de 2011 .
  72. "Portafolio de informes" (PDF) . www.mpegla.com . Archivado del original (PDF) el 28 de noviembre de 2016. Consultado el 1 de diciembre de 2016 .
  73. "OMS Video, un proyecto de la iniciativa Open Media Commons de Sun" . Archivado del original el 11 de mayo de 2010. Recuperado el 26 de agosto de 2008 .
  74. "Licenciantes incluidos en la licencia de cartera de patentes AVC/H.264" . MPEG LA . Archivado del original el 11 de octubre de 2021. Recuperado el 18 de junio de 2019 .
  75. 1 2 "AVC/H.264 – Lista de patentes" . Vía Licensing Alliance . Consultado el 28 de abril de 2024 .
  76. "La licencia AVC de MPEG LA no cobrará regalías por el video de Internet que es gratuito para los usuarios finales durante la vigencia de la licencia" (PDF) . MPEG LA. 26 de agosto de 2010. Archivado del original (PDF) el 7 de noviembre de 2013. Consultado el 26 de agosto de 2010 .
  77. Hachman, Mark (26 de agosto de 2010). "MPEG LA elimina para siempre las regalías de los videos web gratuitos" . pcmag.com . Consultado el 26 de agosto de 2010 .
  78. "Preguntas frecuentes sobre AVC" . MPEG LA. 1 de agosto de 2002. Archivado del original el 7 de mayo de 2010. Consultado el 17 de mayo de 2010 .
  79. "Patente de Estados Unidos 9,356,620 Baese, et al" . Consultado el 1 de agosto de 2022 .Con una fecha de prioridad más temprana del 14 de septiembre de 2001, el plazo de tramitación se extiende 2.998 días.
  80. 1 2 3 Véase Qualcomm Inc. v. Broadcom Corp. , n.º 2007-1545, 2008-1162 (Fed. Cir. 1 de diciembre de 2008). Para artículos en la prensa popular, véase signonsandiego.com, «Qualcomm pierde su caso de derechos de patente» y «El caso de patente de Qualcomm llega a juicio con jurado» ; y bloomberg.com , «Broadcom gana el primer juicio en la disputa de patentes de Qualcomm».
  81. "nokia h264" .
  82. "Descripción general de la esencialidad de AVC/H264" . Vía Licensing Alliance . Consultado el 8 de abril de 2026 .

Lecturas adicionales

  • Wiegand, Thomas; Sullivan, Gary J.; Bjøntegaard, Gisle; Luthra, Ajay (julio de 2003). "Descripción general del estándar de codificación de vídeo H.264/AVC" (PDF) . IEEE Transactions on Circuits and Systems for Video Technology . 13 (7): 560– 576. Bibcode : 2003ITCSV..13..560W . doi : 10.1109/TCSVT.2003.815165 . Archivado del original (PDF) el 29 de abril de 2011. Recuperado el 31 de enero de 2011 .
  • Topiwala, Pankaj; Sullivan, Gary J.; Luthra, Ajay (agosto de 2004). Tescher, Andrew G (ed.). "El estándar de codificación de vídeo avanzado H.264/AVC: descripción general e introducción a las extensiones de rango de fidelidad" (PDF) . SPIE Aplicaciones del procesamiento de imágenes digitales XXVII . Aplicaciones del procesamiento de imágenes digitales XXVII. 5558 : 454. Bibcode : 2004SPIE.5558..454S . doi : 10.1117/12.564457 . S2CID 2308860. Recuperado el 31 de enero de 2011 . 
  • Ostermann, J.; Bormans, J.; List, P.; Marpe, D.; Narroschke, M.; Pereira, F.; Stockhammer, T.; Wedi, T. (2004). "Codificación de vídeo con H.264/AVC: herramientas, rendimiento y complejidad" (PDF) . IEEE Circuits and Systems Magazine ( FTP ). págs. 7–28 . doi : 10.1109/MCAS.2004.1286980 . S2CID 11105089. Consultado el 31 de enero de 2011 .  (Para ver los documentos, consulte Ayuda:FTP )
  • Puri, Atul; Chen, Xuemin; Luthra, Ajay (octubre de 2004). "Codificación de vídeo mediante el estándar de compresión H.264/MPEG-4 AVC" (PDF) . Procesamiento de señales: Comunicación de imágenes . 19 (9): 793–849 . doi : 10.1016/j.image.2004.06.003 . Consultado el 30 de marzo de 2011 .
  • Sullivan, Gary J.; Wiegand, Thomas (enero de 2005). "Compresión de vídeo: de los conceptos al estándar H.264/AVC" (PDF) . Actas del IEEE . 93 (1): 18–31 . Bibcode : 2005IEEEP..93...18S . doi : 10.1109/jproc.2004.839617 . S2CID 1362034. Consultado el 31 de enero de 2011 . 
  • Richardson, Iain EG (enero de 2011). "Aprenda sobre compresión de video y H.264" . VCODEX . Vcodex Limited. Archivado del original el 28 de enero de 2011. Recuperado el 31 de enero de 2011 .
  • Página de publicación de la UIT-T: H.264: Codificación de vídeo avanzada para servicios audiovisuales genéricos
  • Información sobre MPEG-4 AVC/H.264 en el foro de Doom9
  • Tutoriales de H.264/MPEG-4, Parte 10 (Richardson)
  • "Parte 10: Codificación de vídeo avanzada" . Página de publicación ISO: ISO/IEC 14496-10:2010  – Tecnología de la información  — Codificación de objetos audiovisuales .
  • "Software de referencia H.264/AVC JM" . Página principal de IP . Consultado el 15 de abril de 2007 .
  • "Sitio de archivo de documentos de JVT" . Archivado del original el 8 de agosto de 2010. Consultado el 6 de mayo de 2007 .
  • "Publicaciones" . Thomas Wiegand . Consultado el 23 de junio de 2007 .
  • "Publicaciones" . Detlev Marpe . Consultado el 15 de abril de 2007 .
  • "Cuarta comparativa anual de códecs de vídeo H.264" . Universidad Estatal de Moscú.(fecha: diciembre de 2007)
  • "Debate sobre el estándar H.264 en relación con las cámaras IP utilizadas en los sectores de seguridad y vigilancia" . 3 de abril de 2009.(fechado en abril de 2009)
  • "Sexta Comparación Anual de Códecs de Vídeo H.264" . Universidad Estatal de Moscú .(Fecha: mayo de 2010)
  • "Guía rápida de SMPTE" . ETC. 14 de mayo de 2018.
  • "Descripción general de la esencialidad de AVC/H264" . Vía Licensing Alliance . Consultado el 8 de abril de 2026 .