De Wikipedia, la enciclopedia libre
  (Redirigido desde H.264 / MPEG-4 AVC )
Saltar a navegación Saltar a búsqueda

La codificación de video avanzada ( AVC ), también conocida como H.264 o MPEG-4 Parte 10, Codificación de video avanzada ( MPEG-4 AVC ), es un estándar de compresión de video basado en codificación DCT entera con compensación de movimiento y orientada a bloques . [1] Es, con mucho, el formato más utilizado para la grabación, compresión y distribución de contenido de video, utilizado por el 91% de los desarrolladores de la industria del video en septiembre de 2019 . [2] [3] [4] Admite resoluciones de hasta 8K UHD inclusive . [5] [6]

La intención del proyecto H.264 / AVC era crear un estándar capaz de proporcionar una buena calidad de video a tasas de bits sustancialmente más bajas que los estándares anteriores (es decir, la mitad o menos de la tasa de bits de MPEG-2 , H.263 o MPEG- 4 Parte 2 ), sin aumentar tanto la complejidad del diseño que sería poco práctico o excesivamente costoso de implementar. Esto se logró con características tales como una transformada de coseno discreta entera de complejidad reducida (DCT entera), [6] [7] [8] segmentación de tamaño de bloque variable y predicción entre imágenes de múltiples imágenes. Un objetivo adicional fue proporcionar suficiente flexibilidad para permitir que el estándar se aplique a una amplia variedad de aplicaciones en una amplia variedad de redes y sistemas, incluidas velocidades de bits bajas y altas, video de baja y alta resolución, transmisión , almacenamiento de DVD , RTP / Redes de paquetes IP y telefonía multimedia UIT-Tsistemas. El estándar H.264 puede verse como una "familia de estándares" compuesta por varios perfiles diferentes, aunque su "perfil alto" es, con mucho, el formato más utilizado. Un decodificador específico decodifica al menos uno, pero no necesariamente todos los perfiles. El estándar describe el formato de los datos codificados y cómo se decodifican los datos, pero no especifica algoritmos para codificar video; eso se deja abierto para que los diseñadores de codificadores lo seleccionen por sí mismos, y se ha creado una amplia variedad de esquemas de codificación. desarrollado. H.264 se utiliza normalmente para la compresión con pérdida , aunque también es posible crear regiones verdaderamente codificadas sin pérdida dentro de imágenes codificadas con pérdida o para admitir casos de uso raros para los que la codificación completa no tiene pérdida.

H.264 fue estandarizado por el Grupo de Expertos en Codificación de Video (VCEG) del UIT-T de la Comisión de Estudio 16 junto con el Grupo de Expertos en Imágenes en Movimiento (MPEG) ISO / IEC JTC1 . El esfuerzo de asociación del proyecto se conoce como el Equipo de video conjunto (JVT). El estándar ITU-T H.264 y el estándar ISO / IEC MPEG-4  AVC (formalmente, ISO / IEC 14496-10 - MPEG-4 Parte 10, Codificación de video avanzada) se mantienen conjuntamente para que tengan un contenido técnico idéntico. El trabajo de redacción final de la primera versión de la norma se completó en mayo de 2003, y se han agregado varias extensiones de sus capacidades en ediciones posteriores. Codificación de video de alta eficiencia (HEVC), también conocido como H.265 y MPEG-H Part 2, es un sucesor de H.264 / MPEG-4 AVC desarrollado por las mismas organizaciones, mientras que los estándares anteriores todavía son de uso común.

H.264 es quizás mejor conocido por ser el formato de codificación de video más utilizado en discos Blu-ray . También se usa ampliamente para transmitir fuentes de Internet, como videos de Netflix , Hulu , Prime Video , Vimeo , YouTube y iTunes Store , software web como Adobe Flash Player y Microsoft Silverlight , y también varias transmisiones de HDTV por tierra ( ATSC , ISDB-T , DVB-T o DVB-T2 ), cable ( DVB-C ) y satélite ( DVB-Sy 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 grupo de patentes administrado por MPEG LA . [9]

El uso comercial de tecnologías H.264 patentadas requiere el pago de regalías a MPEG LA y otros propietarios de patentes. MPEG LA ha permitido el uso gratuito de tecnologías H.264 para la transmisión de video por Internet que es gratuito para los usuarios finales, y Cisco Systems paga regalías a MPEG LA en nombre de los usuarios de binarios para su codificador H.264 de código abierto .

Nombrar [ editar ]

El nombre H.264 sigue la convención de nomenclatura de ITU-T , donde el estándar es miembro de la línea H.26x de estándares de codificación de video VCEG ; 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 se desarrolló conjuntamente en una asociación de VCEG y MPEG, después de un trabajo de desarrollo anterior en el UIT-T como un proyecto de VCEG llamado H.26L. Por lo tanto, es común hacer referencia 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 la herencia común. Ocasionalmente, también se lo conoce como "el códec JVT", en referencia a la organización Joint Video Team (JVT) que lo desarrolló. (Esta asociació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 asociación entre MPEG y el UIT-T, donde el vídeo MPEG-2 es conocido en la comunidad del UIT-T como H .262. [10]) Algunos programas de software (como el reproductor multimedia VLC ) identifican internamente este estándar como AVC1.

Historia [ editar ]

Historia general [ editar ]

A principios de 1998, el Grupo de Expertos en Codificación de Video (VCEG - ITU-T SG16 Q.6) emitió una convocatoria de propuestas sobre 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 determinado nivel de fidelidad) en comparación con cualquier otro estándar de codificación de video existente para una amplia variedad de aplicaciones. VCEG fue presidido por Gary Sullivan ( Microsoft , anteriormente PictureTel , EE. UU.). El primer borrador del diseño de esa nueva norma se adoptó en agosto de 1999. En 2000, Thomas Wiegand ( Instituto Heinrich Hertz , Alemania) se convirtió en copresidente de VCEG.

En diciembre de 2001, VCEG y el Grupo de Expertos en Imágenes en Movimiento ( MPEG  - ISO / IEC JTC 1 / SC 29 / WG 11) formaron un Equipo Conjunto de Video (JVT), con el estatuto para finalizar el estándar de codificación de video. [11] La aprobación formal de la especificación se produjo en marzo de 2003. Gary Sullivan , Thomas Wiegand y Ajay Luthra ( Motorola , EE. UU .: luego Arris , EE. UU.) Presidieron la JVT . En julio de 2004, se finalizó el proyecto Fidelity Range Extensions (FRExt). Desde enero de 2005 hasta noviembre de 2007, la JVT estuvo trabajando en una extensión de H.264 / AVC hacia la escalabilidad mediante un anexo (G) llamado Codificación de video escalable (SVC). El equipo de gestión de JVT se amplió enJens-Rainer Ohm ( Universidad RWTH Aachen , Alemania). Desde julio de 2006 hasta noviembre de 2009, la JVT trabajó en la codificación de video de vista múltiple (MVC), una extensión de H.264 / AVC hacia la televisión 3D y la televisión de punto de vista libre de rango limitado . Ese trabajo incluyó el desarrollo de dos nuevos perfiles del estándar: Multiview High Profile y Stereo High Profile.

A lo largo del desarrollo del estándar, se han desarrollado mensajes adicionales para contener información de mejora suplementaria (SEI). Los mensajes SEI pueden contener varios tipos de datos que indican la sincronización de las imágenes de video o describen varias propiedades del video codificado o cómo se puede usar o mejorar. También se definen mensajes SEI que pueden contener datos arbitrarios definidos por el usuario. Los mensajes SEI no afectan el proceso de decodificación central, pero pueden indicar cómo se recomienda posprocesar o mostrar el video. Algunas otras propiedades de alto nivel del contenido de video se transmiten en la información de usabilidad de video (VUI), como la indicación del espacio de color para la interpretación del contenido de video. A medida que se han desarrollado nuevos espacios de color, por ejemplo, para un alto rango dinámicoy video con una amplia gama de colores , se han agregado identificadores VUI adicionales para indicarlos.

Extensiones de gama de fidelidad y perfiles profesionales [ editar ]

La estandarización de la primera versión de H.264 / AVC se completó en mayo de 2003. En el primer proyecto para ampliar el estándar original, la JVT desarrolló lo que se denominó Fidelity Range Extensions (FRExt). Estas extensiones permitieron una codificación de video de mayor calidad al admitir una mayor precisión de profundidad de bits de muestra 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 conocido como YUV 4: 2: 2 ) y 4: 4: 4. Varias otras características también se incluyeron en el proyecto FRExt, como agregar una transformada de coseno discreta entera de 8 × 8(DCT entero) con conmutación adaptativa entre las transformadas 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érdida entre imágenes y compatibilidad con espacios de color adicionales. El trabajo de diseño del proyecto FRExt se completó en julio de 2004 y su redacción se completó en septiembre de 2004.

Luego se desarrollaron otros cinco perfiles nuevos (ver la versión 7 a continuación) destinados principalmente para aplicaciones profesionales, agregando soporte de espacio de color de gama extendida, definiendo indicadores de relación de aspecto adicionales, definiendo dos tipos adicionales de "información de mejora complementaria" (sugerencia y tono post-filtro mapeo), y desaprobar uno de los perfiles FRExt anteriores (el perfil Alto 4: 4: 4) que la industria retroalimenta [¿ por quién? ] indicado debería haber sido diseñado de manera diferente.

Codificación de video escalable [ editar ]

La siguiente característica importante agregada al estándar fue la codificación de video escalable (SVC). Especificado en el Anexo G de H.264 / AVC, SVC permite la construcción de flujos de bits que contienen capas de sub-flujos de bits que también cumplen con el estándar, incluido uno de esos flujos de bits conocido como la "capa base" que puede ser decodificado por un H. 264 / códec AVC que no es compatible con SVC. Para la escalabilidad temporal del flujo de bits (es decir, la presencia de un sub-flujo de bits con una frecuencia de muestreo temporal menor que el flujo de bits principal), unidades de acceso completasse eliminan del tren de bits cuando se deriva el subflujo de bits. En este caso, la sintaxis de alto nivel y las imágenes de referencia entre predicciones en el tren 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 sub-flujo 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 cuando se deriva el sub-flujo de bits. . En este caso, la predicción entre capas (es decir, la predicción de la señal de calidad / resolución espacial más alta a partir de los datos de la señal de calidad / resolución espacial más baja) se usa típicamente para una codificación eficiente. Las extensiones de codificación de video escalable se completaron en noviembre de 2007.

Codificación de video de vista múltiple [ editar ]

La siguiente característica importante agregada al estándar fue la codificación de video multivista (MVC). Especificado en el Anexo H de H.264 / AVC, MVC permite la construcción de flujos de bits que representan más de una vista de una escena de video. Un ejemplo importante de esta funcionalidad es la codificación de vídeo 3D estereoscópica . Se desarrollaron dos perfiles en el trabajo de MVC: el perfil alto de vista múltiple admite un número arbitrario de vistas, y el perfil alto estéreo está diseñado específicamente para video estereoscópico de dos vistas. Las extensiones de codificación de video de vista múltiple se completaron en noviembre de 2009.

Codificación estereoscópica 3D-AVC y MFC [ editar ]

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

Versiones [ editar ]

Las versiones del estándar H.264 / AVC incluyen las siguientes revisiones completadas, correcciones y enmiendas (las fechas son fechas de aprobación final en ITU-T, mientras que las fechas de aprobación final de "Estándar Internacional" en ISO / IEC son algo diferentes y ligeramente posteriores en la mayoría de los casos). casos). Cada versión representa cambios relativos a la siguiente versión inferior que está integrada en el texto.

  • Versión 1 (Edición 1): (30 de mayo de 2003) Primera versión aprobada de H.264 / AVC que contiene perfiles básicos, principales y extendidos. [12]
  • Versión 2 (Edición 1.1): (7 de mayo de 2004) Corrigendum que contiene varias correcciones menores. [13]
  • Versión 3 (Edición 2): (1 de marzo de 2005) Adición importante que contiene la primera enmienda, que establece las Extensiones de rango de fidelidad (FRExt). Esta versión agregó los perfiles Alto, Alto 10, Alto 4: 2: 2 y Alto 4: 4: 4. [14] Después de unos años, el perfil alto 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. [15]
  • Versión 5 (Edición 2.2): (13 de junio de 2006) Enmienda que consiste en la eliminación del perfil Alto 4: 4: 4 anterior (procesado como corrección en ISO / IEC). [dieciséis]
  • Versión 6 (Edición 2.2): (13 de junio de 2006) Enmienda que consiste en extensiones menores como soporte de espacio de color de gama extendida (incluido con los indicadores de relación de aspecto mencionados anteriormente en ISO / IEC). [dieciséis]
  • 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 intra-solo (High 10 Intra, High 4: 2: 2 Intra, High 4: 4 : 4 intra y CAVLC 4: 4: 4 intra). [17]
  • 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 video escalable (SVC) que contiene los perfiles Scalable Baseline, Scalable High y Scalable High Intra. [18]
  • Versión 9 (Edición 3.1): (13 de enero de 2009) Corrigendum que contiene correcciones menores. [19]
  • 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 de base restringida) con solo el subconjunto común de capacidades admitidas en varios perfiles previamente especificados. [20]
  • 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 video de vista múltiple (MVC), incluido el perfil alto de vista múltiple. [20]
  • Versión 12 (Edición 5): (9 de marzo de 2010) Enmienda que contiene la definición de un nuevo perfil MVC (el perfil alto estéreo) para codificación de video de dos vistas con soporte de herramientas de codificación entrelazadas y especificando un mensaje adicional de información de mejora suplementaria (SEI) denominado mensaje SEI del arreglo de embalaje del marco. [21]
  • Versión 13 (Edición 5): (9 de marzo de 2010) Corrigendum que contiene correcciones menores. [21]
  • Versión 14 (Edición 6): (29 de junio de 2011) Enmienda que especifica un nuevo nivel (Nivel 5.2) que admite tasas de procesamiento más altas en términos de macrobloques máximos por segundo, y un nuevo perfil (el perfil alto progresivo) que admite solo las herramientas de codificación de tramas del perfil alto especificado anteriormente. [22]
  • Versión 15 (Edición 6): (29 de junio de 2011) Corrigendum que contiene correcciones menores. [22]
  • Versión 16 (Edición 7): (13 de enero de 2012) Enmienda que contiene la definición de tres nuevos perfiles destinados principalmente a las aplicaciones de comunicación en tiempo real: los perfiles Restrained High, Scalable Constrained Baseline y Scalable Constrained High. [23]
  • Versión 17 (Edición 8): (13 de abril de 2013) Enmienda con indicadores de mensaje SEI adicionales. [24]
  • Versión 18 (Edición 8): (13 de abril de 2013) Enmienda para especificar la codificación de los datos del mapa de profundidad para video estereoscópico 3D, incluido un perfil alto de profundidad de vista múltiple. [24]
  • Versión 19 (Edición 8): (13 de abril de 2013) Corrección de errores para corregir un error en el proceso de extracción de sub-flujo de bits para video de vista múltiple. [24]
  • 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 UIT-R BT.2020 para UHDTV ) y un tipo de modelo adicional en el mensaje SEI de información de mapeo de tonos. [24]
  • Versión 21 (Edición 9): (13 de febrero de 2014) Enmienda para especificar el perfil Alto de profundidad de vista múltiple mejorada. [25]
  • Versión 22 (Edición 9): (13 de febrero de 2014) Enmienda para especificar la mejora compatible con fotogramas de resolución múltiple (MFC) para video estereoscópico 3D, el perfil alto de MFC y correcciones menores. [25]
  • Versión 23 (Edición 10): (13 de febrero de 2016) Enmienda para especificar el video estereoscópico MFC con mapas de profundidad, el perfil MFC Depth High, el mensaje SEI del volumen de color de la pantalla de masterización e identificadores de puntos de código VUI adicionales relacionados con el color. [26]
  • Versión 24 (Edición 11): (14 de octubre de 2016) Enmienda para especificar niveles adicionales de capacidad de 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 y otros identificadores de puntos de código VUI relacionados con el color. [27]
  • Versión 25 (Edición 12): (13 de abril de 2017) Enmienda para especificar el perfil Progressive High 10, Hybrid Log-Gamma (HLG) y puntos de código VUI y mensajes SEI adicionales relacionados con el color. [28]
  • 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 de nivel de luz del contenido, volumen de color del contenido, proyección equirectangular, proyección de mapa de cubos, rotación de esfera, empaquetado regional, ventana de visualización omnidireccional, Manifiesto SEI y prefijo SEI. [29]

Titulares de patentes [ editar ]

Las siguientes organizaciones poseen una o más patentes en el grupo de patentes H.264 / AVC de MPEG LA .

Aplicaciones [ editar ]

El formato de video H.264 tiene una gama de aplicaciones muy amplia que cubre todas las formas de video digital comprimido, desde aplicaciones de transmisión por Internet de baja tasa de bits hasta transmisión de HDTV y aplicaciones de cine digital con codificación casi sin pérdidas. Con el uso de H.264, se reportan ahorros en la tasa de bits del 50% o más en comparación con MPEG-2 Parte 2 . Por ejemplo, se ha informado que H.264 ofrece la misma calidad de televisión por satélite digital que las implementaciones actuales de MPEG-2 con menos de la mitad de la tasa de bits, con las implementaciones actuales de MPEG-2 funcionando a alrededor de 3,5 Mbit / sy H.264 a solo 1,5 Mbit / s. [32] 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. [33]

Para garantizar la compatibilidad y la adopción sin problemas de H.264 / AVC, muchos organismos de normalización han modificado o añadido estándares relacionados con el vídeo para que los usuarios de estos estándares puedan utilizar H.264 / AVC. Tanto el formato Blu-ray Disc como el formato HD DVD, ahora descontinuado , incluyen H.264 / AVC High Profile como uno de los tres formatos obligatorios de compresión de video. El proyecto de transmisión de video digital ( DVB ) aprobó el uso de H.264 / AVC para transmisión de televisión a fines de 2004.

El organismo de estándares del Comité de Sistemas de Televisión Avanzada (ATSC) en los Estados Unidos aprobó el uso de H.264 / AVC para transmisiones de televisión en julio de 2008, aunque el estándar aún no se usa para transmisiones ATSC fijas dentro de los Estados Unidos. [34] [35] También ha sido aprobado para su uso con el estándar ATSC-M / H (móvil / portátil) más reciente , utilizando las porciones AVC y SVC de H.264. [36]

Los mercados de CCTV (circuito cerrado de televisión) y videovigilancia han incluido la tecnología en muchos productos.

Muchas DSLR comunes usan video H.264 envuelto en contenedores QuickTime MOV como formato de grabación nativo.

Formatos derivados [ editar ]

AVCHD es un formato de grabación de alta definición diseñado por Sony y Panasonic que usa H.264 (conforme a H.264 al tiempo que agrega características y restricciones adicionales específicas de la aplicación).

AVC-Intra es un formato de compresión solo intracuadro , 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 admitido por ese estándar de video. [37] [38] XAVC puede admitir una resolución 4K (4096 × 2160 y 3840 × 2160) de hasta 60  fotogramas por segundo (fps). [37] [38] Sony ha anunciado que las cámaras compatibles con XAVC incluyen dos cámaras CineAlta : la Sony PMW-F55 y la Sony PMW-F5. [39] La Sony PMW-F55 puede grabar XAVC con una resolución de 4K a 30 fps a 300 Mbit / sy una resolución de 2K a 30 fps a 100 Mbit / s. [40] XAVC puede grabar resolución 4K a 60 fps con muestreo de croma 4: 2: 2 a 600 Mbit / s. [41][42]

Diseño [ editar ]

Funciones [ editar ]

Diagrama de bloques de H.264

H.264 / AVC / MPEG-4 Parte 10 contiene una serie de características nuevas que le permiten comprimir video de manera mucho más eficiente que los estándares anteriores y brindar más flexibilidad para la aplicación en una amplia variedad de entornos de red. En particular, algunas de estas características clave incluyen:

  • Predicción entre imágenes de múltiples imágenes que incluye las siguientes características:
    • Usar imágenes previamente codificadas como referencias de una manera mucho más flexible que en estándares anteriores, lo que permite utilizar hasta 16 marcos de referencia (o 32 campos de referencia, en el caso de la codificación entrelazada) en algunos casos. En los perfiles que admiten marcos no IDR , la mayoría de los niveles especifican que debe haber suficiente almacenamiento en búfer disponible para permitir al menos 4 o 5 marcos de referencia con la resolución máxima. Esto contrasta con los estándares anteriores, donde el límite era típicamente uno; o, en el caso de " imágenes B " convencionales (fotogramas B), dos.
    • Compensación de movimiento de tamaño de bloque variable (VBSMC) con tamaños de bloque tan grandes como 16 × 16 y tan pequeños como 4 × 4, lo que permite una segmentación precisa de las regiones en movimiento. Los tamaños de bloque de predicción de luma 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 los bloques de predicción de croma son correspondientemente más pequeños cuando se utiliza el submuestreo de croma .
    • La capacidad de utilizar 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 construido con 16 particiones 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 utilizar cualquier tipo de macrobloque en fotogramas B , incluidos los macrobloques I, lo que resulta en una codificación mucho más eficiente cuando se utilizan fotogramas B. Esta característica se excluyó notablemente de MPEG-4 ASP .
    • Filtrado de seis toques para la derivación de predicciones de muestra de luma de medio pellejo, para una compensación de movimiento de subpíxeles más nítida. El movimiento de un cuarto de píxel se obtiene mediante la 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 el croma, la resolución generalmente se reduce a la mitad tanto vertical como horizontalmente (ver 4: 2: 0 ), por lo tanto, la compensación de movimiento del croma utiliza unidades de cuadrícula de un octavo de croma de píxeles.
    • Predicción ponderada, que permite que un codificador especifique el uso de una escala y un desplazamiento al realizar la compensación de movimiento, y proporciona un beneficio significativo en el rendimiento en casos especiales, como 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 desde los bordes de bloques vecinos para la codificación "intra" , en lugar de la predicción solo "DC" 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 luma tamaños de bloque de predicción de 16 × 16, 8 × 8 y 4 × 4 (de los cuales solo se puede usar un tipo dentro de cada macrobloque ).
  • Entero transformada discreta del coseno (DCT número entero), [6] [8] [43] un tipo de transformada de coseno discreta (DCT) [8] , donde la transformada es una aproximación número entero de la norma DCT. [44] Tiene tamaños de bloque seleccionables [7] y cálculo de números enteros de coincidencia exacta para reducir la complejidad, que incluyen:
    • Una transformación de bloque espacial 4 × 4 de números enteros de coincidencia exacta, que permite la colocación precisa de señales residuales con poco del " timbre " que a menudo se encuentra en los diseños de códec anteriores. Es similar al DCT estándar utilizado en estándares anteriores, pero utiliza un tamaño de bloque más pequeño y un procesamiento de enteros simple. A diferencia de las fórmulas basadas en coseno y las tolerancias expresadas en estándares anteriores (como H.261 y MPEG-2), el procesamiento de números enteros proporciona un resultado decodificado exactamente especificado.
    • Una transformada de bloque espacial de 8 × 8 de números enteros de coincidencia exacta, que permite comprimir regiones altamente correlacionadas de manera más eficiente que con la transformada 4 × 4. Este diseño se basa en el DCT estándar, pero simplificado y hecho para proporcionar una decodificación exactamente especificada.
    • Selección de codificador adaptativo entre los tamaños de bloque de transformación 4 × 4 y 8 × 8 para la operación de transformación entera.
    • Una transformada secundaria de Hadamard realizada en coeficientes "DC" de la transformada espacial primaria aplicada a los coeficientes de crominancia DC (y también luma en un caso especial) para obtener aún más compresión en regiones suaves.
  • Funciones de codificación de macrobloques sin pérdidas 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 macrobloque sin pérdidas mejorado que permite una representación perfecta de regiones específicas mientras que normalmente utiliza sustancialmente menos bits que el modo PCM.
  • Funciones flexibles de codificación de video de escaneo entrelazado , que incluyen:
    • Codificación de campo de cuadro adaptativo de macrobloque (MBAFF), que utiliza una estructura de par de macrobloques para imágenes codificadas como cuadros, 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 que está codificada como un cuadro da como resultado el procesamiento de semimacrobloques de 16 × 8).
    • Codificación de campo de fotograma adaptable a la imagen (PAFF o PicAFF) que permite una mezcla de imágenes libremente seleccionadas codificadas como fotogramas completos donde ambos campos se combinan para la codificación o como campos individuales individuales.
  • Un diseño de cuantificación que incluye:
    • Control de tamaño de paso logarítmico para una gestión más sencilla de la tasa de bits mediante codificadores y escalado de cuantificación inversa simplificado
    • Matrices de escalado de cuantificación personalizadas en frecuencia seleccionadas por el codificador para la optimización de cuantificación basada en la percepción
  • Un filtro de desbloqueo en bucle que ayuda a prevenir los artefactos de bloqueo comunes a 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 de entropía que incluye:
    • Codificación aritmética binaria adaptativa al contexto (CABAC), un algoritmo para comprimir sin pérdidas elementos de sintaxis en el flujo de video conociendo las probabilidades de los elementos de sintaxis en un contexto dado. CABAC comprime los datos de manera más eficiente que CAVLC, pero requiere mucho más procesamiento para decodificarlos.
    • Codificación de longitud variable adaptativa al contexto (CAVLC), que es una alternativa de menor complejidad a CABAC para la codificación de valores de coeficientes de transformada cuantificados. Aunque de menor complejidad que CABAC, CAVLC es más elaborado y más eficiente que los métodos que se utilizan normalmente para codificar coeficientes en otros diseños anteriores.
    • Una técnica común de codificación de longitud variable (VLC) simple y altamente estructurada para muchos de los elementos de sintaxis no codificados por CABAC o CAVLC, denominada codificación Exponencial-Golomb (o Exp-Golomb).
  • Características de resistencia a pérdidas que incluyen:
    • Una definición de capa de abstracción de red (NAL) que permite utilizar la misma sintaxis de vídeo en muchos entornos de red. Un concepto de diseño muy fundamental de H.264 es generar paquetes autónomos, para eliminar la duplicación de encabezado 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 un segmento del flujo de medios. La combinación de los parámetros de nivel superior se denomina 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 activa permanece sin cambios a lo largo de una secuencia de vídeo codificada, y un conjunto de parámetros de imagen activa permanece sin cambios dentro de una imagen codificada. Las estructuras del conjunto 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 cortes. [46]
    • El ordenamiento flexible de macrobloques (FMO), también conocido como grupos de cortes, y el ordenamiento arbitrario de cortes (ASO), que son técnicas para reestructurar el orden de la representación de las regiones fundamentales ( macrobloques ) en imágenes. Normalmente se considera una característica de robustez de errores / pérdidas, FMO y ASO también se pueden utilizar para otros fines.
    • Partición de datos (DP), una función que brinda la capacidad de separar elementos de sintaxis más importantes y menos importantes en diferentes paquetes de datos, lo que permite la aplicación de protección contra errores desiguales (UEP) y otros tipos de mejora de la robustez de errores / pérdidas.
    • Rebanadas redundantes (RS), una característica de robustez de error / pérdida que permite que un codificador envíe una representación adicional de una región de imagen (generalmente con menor fidelidad) que se puede usar si la representación primaria está dañada o se pierde.
    • Numeración de cuadros, una función que permite la creación de "subsecuencias", lo que permite 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 de canal. errores.
  • Conmutación de segmentos, llamados segmentos SP y SI, que permiten que un codificador dirija un decodificador para que salte a una secuencia de video en curso para propósitos tales como conmutación de velocidad de bits de transmisión de video y operación en "modo truco". Cuando un decodificador salta a la mitad de una transmisión de video usando la función SP / SI, puede obtener una coincidencia exacta con las imágenes decodificadas en esa ubicación en la transmisión de video a pesar de usar diferentes imágenes, o ninguna imagen, como referencias antes de el interruptor.
  • Un proceso automático simple 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.
  • Información de mejora suplementaria (SEI) e información de usabilidad de video (VUI), que son información adicional que se puede insertar en el flujo de bits para diversos fines, como indicar el espacio de color utilizado, el contenido de video o varias restricciones que se aplican a la codificación. Los mensajes SEI pueden contener cargas útiles de metadatos arbitrarios definidos por el usuario u otros mensajes con sintaxis y semántica definidas en el estándar.
  • Imágenes auxiliares, que se pueden utilizar para fines tales como composición alfa .
  • Soporte de muestreo cromático monocromo (4: 0: 0), 4: 2: 0, 4: 2: 2 y 4: 4: 4 (según el perfil seleccionado).
  • Soporte de precisión de profundidad de bits de muestra que varía de 8 a 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., lo que permite diseñar codificadores con una estructura de paralelización simple (compatible solo en los tres perfiles con capacidad 4: 4: 4). .
  • Recuento de orden de imágenes, 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 sincronización, lo que permite que la información de sincronización sea transportada y controlada / modificada por separado por un sistema sin afectar el contenido de la imagen decodificada.

Estas técnicas, junto con varias otras, ayudan a H.264 a funcionar significativamente mejor que cualquier estándar anterior en una amplia variedad de circunstancias en una amplia variedad de entornos de aplicación. A menudo, H.264 puede tener un rendimiento radicalmente mejor que el video MPEG-2; por lo general, obtiene la misma calidad a la mitad de la velocidad de bits o menos, especialmente en contenido de video de alta velocidad de bits y alta resolución. [47]

Al igual que otros estándares de video ISO / IEC MPEG, H.264 / AVC tiene una implementación de software de referencia que se puede descargar libremente. [48] Su propósito principal es dar ejemplos de características H.264 / AVC, en lugar de ser una aplicación útil per se . También se han realizado algunos trabajos 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 cierto conjunto de especificaciones de las aplicaciones previstas. Esto significa que muchas de las funciones enumeradas no son compatibles con algunos perfiles. En la siguiente sección se analizan varios perfiles de H.264 / AVC.

Perfiles [ editar ]

El estándar define varios conjuntos de capacidades, que se denominan perfiles , dirigidos a clases específicas de aplicaciones. Estos se declaran utilizando un código de perfil (profile_idc) y, a veces, 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 tren de bits específico. (Y en muchos entornos de sistemas, 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 que se usan con menos frecuencia). Con mucho, el perfil más comúnmente usado es el perfil alto.

Los perfiles para aplicaciones de video 2D no escalables incluyen lo siguiente:

Perfil de línea de base restringido (CBP, 66 con conjunto de restricciones 1)
Principalmente para aplicaciones de bajo costo, este perfil se usa con mayor frecuencia en videoconferencias y aplicaciones móviles. Corresponde al subconjunto de características que son comunes entre los perfiles de línea base, principal y alto.
Perfil inicial (BP, 66)
Principalmente para aplicaciones de bajo costo que requieren robustez de pérdida de datos adicional, este perfil se usa en algunas videoconferencias y aplicaciones móviles. Este perfil incluye todas las funciones que se admiten en el perfil de línea de base restringido, además de tres funciones adicionales que se pueden utilizar para la solidez de la pérdida (o para otros fines, como la composición de secuencias de vídeo multipunto de bajo retardo). La importancia de este perfil se ha desvanecido un poco desde la definición del perfil de línea de base restringido en 2009. Todos los trenes de bits de perfil de línea de base restringido también se consideran trenes de bits de perfil de línea de base, ya que estos dos perfiles comparten el mismo valor de código de identificador de perfil.
Perfil extendido (XP, 88)
Diseñado como el perfil de transmisión de video, este perfil tiene una capacidad de compresión relativamente alta y algunos trucos adicionales para la solidez a las pérdidas de datos y la conmutación de transmisión del servidor.
Perfil principal (MP, 77)
Este perfil se usa para transmisiones de TV digital de definición estándar que usan el formato MPEG-4 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 se desvaneció cuando se desarrolló High Profile en 2004 para esa aplicación.
Perfil alto (HiP, 100)
El perfil principal para aplicaciones de transmisión y almacenamiento en disco, particularmente 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 alto, pero sin soporte de funciones de codificación de campo.
Perfil alto restringido (100 con conjunto de restricciones 4 y 5)
Similar al perfil alto progresivo, pero sin soporte de cortes B (bi-predictivos).
Perfil alto 10 (Hi10P, 110)
Más allá de las capacidades típicas de los productos de consumo convencionales, este perfil se basa en el perfil alto y agrega compatibilidad con hasta 10 bits por muestra de precisión de imagen decodificada.
Perfil alto 4: 2: 2 (Hi422P, 122)
Principalmente dirigido a aplicaciones profesionales que usan video entrelazado, este perfil se basa en el perfil High 10, agregando soporte para el formato de muestreo de croma 4: 2: 2 mientras usa hasta 10 bits por muestra de precisión de imagen decodificada.
Perfil predictivo alto 4: 4: 4 (Hi444PP, 244)
Este perfil se basa en el perfil alto 4: 2: 2, que admite hasta muestreo de croma 4: 4: 4, hasta 14 bits por muestra y, además, admite una codificación eficiente de la región sin pérdidas y la codificación de cada imagen como tres colores separados. aviones.

Para las videocámaras, la edición y las aplicaciones profesionales, el estándar contiene cuatro perfiles adicionales únicamente dentro del cuadro , que se definen como subconjuntos simples de otros perfiles correspondientes. Estos son principalmente para aplicaciones profesionales (p. Ej., Cámara y sistema de edición):

High 10 Intra Profile (110 con conjunto de restricciones 3)
High 10 Profile restringido al uso intracomunitario.
Alto perfil interno 4: 2: 2 (122 con conjunto de restricciones 3)
El perfil alto 4: 2: 2 limitado al uso todo Intra.
Alto perfil interno 4: 4: 4 (244 con conjunto de restricciones 3)
El perfil alto 4: 4: 4 limitado al uso todo Intra.
CAVLC 4: 4: 4 intraperfil (44)
El perfil alto 4: 4: 4 restringido al uso todo Intra y a la codificación de entropía CAVLC (es decir, no admite CABAC).

Como resultado de la extensión Scalable Video Coding (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 línea de base escalable (83)
Este perfil, dirigido principalmente a 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 línea de base restringido escalable (83 con conjunto de restricciones 5)
Un subconjunto del perfil de línea de base escalable destinado principalmente a aplicaciones de comunicación en tiempo real.
Alto perfil escalable (86)
Principalmente dirigido a aplicaciones de transmisión y transmisión, este perfil 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 alto escalable destinado principalmente a aplicaciones de comunicación en tiempo real.
Alto perfil escalable (86 con conjunto de restricciones 3)
Dirigido principalmente a aplicaciones de producción, este perfil es el perfil alto escalable restringido al uso todo Intra.

Como resultado de la extensión de codificación de video de vista múltiple (MVC), el estándar contiene dos perfiles de vista múltiple :

Estéreo de perfil alto (128)
Este perfil apunta al video 3D estereoscópico de dos vistas y combina las herramientas del perfil alto con las capacidades de predicción de entrevistas de la extensión MVC.
Multiview de alto perfil (118)
Este perfil admite dos o más vistas que utilizan predicción entre vistas entre imágenes (temporal) y MVC, pero no admite imágenes de campo ni codificación de campo de trama adaptativa de macrobloque.

La extensión compatible con marcos de resolución múltiple (MFC) agregó dos perfiles más:

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

La extensión 3D-AVC agregó dos perfiles más:

Perfil alto de profundidad de vista múltiple (138)
Este perfil admite la codificación conjunta del mapa de profundidad y la información de textura de video para mejorar la compresión del contenido de video 3D.
Perfil alto de profundidad de vista múltiple mejorada (139)
Un perfil mejorado para la codificación combinada de múltiples vistas con información de profundidad.

Soporte de funciones en perfiles particulares [ editar ]

Niveles [ editar ]

Como se usa el término en la norma, un " nivel " es un conjunto específico de restricciones que indican un grado de rendimiento del decodificador requerido para un perfil. Por ejemplo, un nivel de soporte dentro de un perfil especifica la resolución de imagen máxima, la velocidad de fotogramas y la velocidad de bits que puede utilizar un decodificador. Un decodificador que se ajuste a un nivel determinado debe poder decodificar todos los flujos de bits codificados para ese nivel y todos los niveles inferiores.

La velocidad de bits máxima para el perfil alto es 1,25 veces mayor que la de los perfiles de línea de base restringido, de línea de base, extendido y principal; 3 veces para Hi10P y 4 veces para Hi422P / Hi444PP.

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

Almacenamiento en búfer de imágenes decodificadas [ editar ]

Los codificadores H.264 / AVC utilizan imágenes previamente codificadas para proporcionar predicciones de los valores de las muestras en otras imágenes. Esto permite al codificador tomar decisiones eficientes sobre la mejor forma de codificar una imagen determinada. En el decodificador, tales imágenes se almacenan en una memoria intermedia de imágenes decodificadas virtual (DPB). La capacidad máxima del DPB, en unidades de marcos (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 (piso ( MaxDpbMbs / ( PicWidthInMbs * FrameHeightInMbs )), 16)

Donde MaxDpbMbs es un valor constante proporcionado en la tabla a continuación como una función del número de nivel, y PicWidthInMbs y FrameHeightInMbs son el ancho de la imagen y la altura del cuadro para los datos de video codificados, expresados ​​en unidades de macrobloques (redondeados a valores enteros y teniendo en cuenta el recorte y emparejamiento de macrobloques cuando sea aplicable). Esta fórmula se especifica en las secciones A.3.1.hy A.3.2.f de la edición 2017 de la norma. [28]

Por ejemplo, para una imagen HDTV que tiene 1.920 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 de piso (32768 / (120 * 68)) = 4 marcos (u 8 campos). Por lo tanto, el valor 4 se muestra entre paréntesis en la tabla de arriba en la columna derecha de la fila para el Nivel 4 con el tamaño de fotograma 1920 × 1080.

Es importante tener en cuenta que la imagen actual que se está decodificando no se incluye en el cálculo de la plenitud de DPB (a menos que el codificador haya indicado que se almacene para usarla como referencia para decodificar otras imágenes o para tiempos de salida retardados). Por lo tanto, un decodificador necesita tener suficiente memoria para manejar (al menos) una trama más que la capacidad máxima del DPB calculada anteriormente.

Implementaciones [ editar ]

En 2009, el grupo de trabajo de HTML5 se dividió entre los partidarios de Ogg Theora , un formato de video gratuito que se cree que no está sujeto a patentes, y H.264, que contiene tecnología patentada. Hasta julio de 2009, se decía que Google y Apple eran compatibles con H.264, mientras que Mozilla y Opera eran compatibles con Ogg Theora (ahora Google, Mozilla y Opera son compatibles con Theora y WebM con VP8 ). [50] Microsoft, con el lanzamiento de Internet Explorer 9, ha agregado soporte para video HTML 5 codificado usando H.264. En el Gartner Symposium / ITXpo en noviembre de 2010, el CEO de Microsoft, Steve Ballmer, respondió la pregunta "HTML 5 o Silverlight? "diciendo" Si quieres hacer algo que sea universal, no hay duda de que el mundo se está volviendo HTML5 ". [51] En enero de 2011, Google anunció que estaban retirando la compatibilidad con H.264 desde su navegador Chrome y admitiendo tanto Theora como WebM / VP8 para usar solo formatos abiertos. [52]

El 18 de marzo de 2012, Mozilla anunció la compatibilidad con H.264 en Firefox en dispositivos móviles, debido a la prevalencia del video codificado en H.264 y la mayor eficiencia energética del uso de hardware decodificador H.264 dedicado común en dichos dispositivos. [53] El 20 de febrero de 2013, Mozilla implementó soporte en Firefox para decodificar H.264 en Windows 7 y superior. Esta característica se basa en las bibliotecas de decodificación integradas de Windows. [54] Firefox 35.0, lanzado el 13 de enero de 2015, es compatible con H.264 en OS X 10.6 y superior. [55]

El 30 de octubre de 2013, Rowan Trollope de Cisco Systems anunció que Cisco lanzaría tanto los binarios como el código fuente de un códec de video H.264 llamado OpenH264 bajo la licencia BSD simplificada , y pagaría todas las regalías por su uso a MPEG LA para cualquier proyecto de software. que utilizan los binarios precompilados de Cisco, lo que hace que los binarios OpenH264 de Ciscode uso gratuito. Sin embargo, cualquier proyecto de software que utilice el código fuente de Cisco en lugar de sus binarios sería legalmente responsable de pagar todas las regalías a MPEG LA. Las arquitecturas de CPU de destino actuales son x86 y ARM, y los sistemas operativos de destino actuales son Linux, Windows XP y posteriores, Mac OS X y Android; iOS está notablemente ausente de esta lista, porque no permite que las aplicaciones obtengan e instalen módulos binarios de Internet. [56] [57] [58] 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 los códecs de plataforma no están disponibles. [59]

Cisco publicó la fuente en OpenH264 el 9 de diciembre de 2013. [60]

Codificadores de software [ editar ]

Hardware [ editar ]

Debido a que la codificación y decodificación H.264 requiere una potencia informática significativa en tipos específicos de operaciones aritméticas, las implementaciones de software que se ejecutan en CPU de uso general suelen tener menos eficiencia energética. Sin embargo, el último [ ¿cuándo? ]Las CPU x86 de propósito general de cuatro núcleos tienen suficiente potencia de cálculo para realizar codificación SD y HD en tiempo real. La eficiencia de la compresión depende de las implementaciones algorítmicas de video, no de si se utiliza la implementación de hardware o software. Por lo tanto, la diferencia entre la implementación basada en hardware y software radica más en la eficiencia energética, la flexibilidad y el costo. Para mejorar la eficiencia energética y reducir el factor de forma del hardware, se puede emplear hardware de propósito especial, ya sea para el proceso completo de codificación o decodificación, o para asistencia de aceleración dentro de un entorno controlado por CPU.

Se sabe que las soluciones basadas en CPU son mucho más flexibles, particularmente cuando la codificación debe realizarse simultáneamente en múltiples formatos, múltiples velocidades de bits y resoluciones ( video en múltiples pantallas ), y posiblemente con características adicionales sobre soporte de formato contenedor, características publicitarias integradas avanzadas, etc. La solución de software basada en CPU generalmente hace que sea mucho más fácil equilibrar la carga de varias sesiones de codificación simultáneas dentro de la misma CPU.

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

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

Los codificadores ASIC con funcionalidad de codificador H.264 están disponibles en muchas compañías de semiconductores diferentes, pero el diseño principal utilizado en el ASIC generalmente tiene licencia de una de las pocas compañías como Chips & Media , Allegro DVT, On2 (anteriormente Hantro, adquirida por Google), Tecnologías de la imaginación , NGCodec. Algunas empresas tienen ofertas de productos FPGA y ASIC. [68]

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

Licencias [ editar ]

En los países donde se mantienen 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 licencias de patente por la tecnología patentada que utilizan sus productos. [70] Esto también se aplica al perfil básico. [71]

Una organización privada conocida como MPEG LA , que no está afiliada de ninguna manera con la organización de estandarización MPEG, administra las licencias para las patentes que se aplican a este estándar, así como otros grupos de patentes , como MPEG-4 Part 2 Video, HEVC y MPEG-DASH. Los titulares de patentes incluyen Fujitsu , Panasonic , Sony , Mitsubishi , Apple , Columbia University , KAIST , Dolby , Google , JVC Kenwood , LG Electronics , Microsoft , NTT Docomo , Philips., Samsung , Sharp , Toshiba y ZTE , [72] aunque la mayoría de las patentes en el grupo pertenecen a Panasonic (1.197 patentes), Godo Kaisha IP Bridge (1.130 patentes) y LG Electronics (990 patentes). [73]

El 26 de agosto de 2010, MPEG LA anunció que no se cobrarán regalías por los videos de Internet codificados en H.264 que sean gratuitos para los usuarios finales. [74] Se mantienen todas las demás regalías, como las regalías por los productos que decodifican y codifican vídeo H.264, así como para los operadores de canales de televisión gratuitos y de suscripción. [75] Los términos de la licencia se actualizan en bloques de cinco años. [76]

Desde que se completó la primera versión de la norma en mayo de 2003 (Hace 18 años) y el perfil más utilizado (el perfil alto) se completó en junio de 2004 (Hace 16 años), un número sustancial de las patentes que se aplicaron originalmente a la norma han expirado, [77] aunque una de las patentes estadounidenses en el grupo MPEG LA H.264 dura al menos hasta 2027. [78]

En 2005, Qualcomm demandó a Broadcom en el Tribunal de Distrito de EE. UU., Alegando que Broadcom infringió dos de sus patentes al fabricar productos que cumplían con el estándar de compresión de video H.264. [79] En 2007, el Tribunal de Distrito determinó que las patentes eran inaplicables porque Qualcomm no las había revelado a la JVT antes del lanzamiento del estándar H.264 en mayo de 2003. [79] En diciembre de 2008, el Tribunal de EE. UU. Las apelaciones del Circuito Federal afirmaron la orden del Tribunal de Distrito de que las patentes no se podían hacer cumplir, pero se remitían al Tribunal de Distrito con instrucciones para limitar el alcance de la inaplicabilidad a los productos que cumplen con H.264. [79]

Ver también [ editar ]

  • AV1
  • Codificación de video de alta eficiencia
  • VP8
  • VP9
  • Comparación de H.264 y VC-1
  • Dirac (formato de compresión de video)
  • Televisión de ultra alta definición
  • IPTV
  • Grupo de imágenes
  • Codificación intracuadro
  • Inter marco

Referencias [ editar ]

  1. ^ "H.264: codificación de video avanzada para servicios audiovisuales genéricos" . www.itu.int . Archivado desde el original el 31 de octubre de 2019 . Consultado el 22 de noviembre de 2019 .
  2. ^ Ozer, enero "Codificación para entrega de pantalla múltiple, sección 3, conferencia 7: Introducción a H.264" . Udemy . Consultado el 10 de octubre de 2016 .
  3. ^ "Informe de desarrollador de video 2018" (PDF) . Bitmovin . Septiembre de 2019.
  4. ^ "Informe de desarrollador de video 2019" . Bitmovin . Septiembre de 2019.
  5. ^ "Entrega de 8K usando AVC / H.264" . Caja misteriosa . Consultado el 23 de agosto de 2017 .
  6. ^ a b c Wang, Hanli; Kwong, S .; Kok, C. (2006). "Algoritmo de predicción eficiente de coeficientes DCT enteros para optimización H.264 / AVC". Transacciones IEEE sobre circuitos y sistemas para tecnología de video . 16 (4): 547–552. doi : 10.1109 / TCSVT.2006.871390 . S2CID 2060937 . 
  7. ^ a b Thomson, Gavin; Shah, Athar (2017). "Presentación de HEIF y HEVC" (PDF) . Apple Inc. Consultado el 5 de agosto de 2019 .
  8. ↑ a b c 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 . Consultado el 13 de octubre de 2019 .
  9. ^ "Preguntas frecuentes sobre AVC / H.264" . www.mpegla.com . Archivado desde el original el 7 de mayo de 2010 . Consultado el 15 de septiembre de 2016 .
  10. ^ "H.262: Tecnología de la información - Codificación genérica de imágenes en movimiento e información de audio asociada: Video" . Consultado el 15 de abril de 2007 .
  11. ^ Equipo de vídeo conjunto ,sitio Web de UIT-T .
  12. ^ "Recomendación UIT-T H.264 (05/2003)" . ITU. 30 de mayo de 2003 . Consultado el 18 de abril de 2013 .
  13. ^ "Recomendación UIT-T H.264 (05/2003) Cor. 1 (05/2004)" . ITU. 7 de mayo de 2004 . Consultado el 18 de abril de 2013 .
  14. ^ "Recomendación UIT-T H.264 (03/2005)" . ITU. 1 de marzo de 2005 . Consultado el 18 de abril de 2013 .
  15. ^ "Recomendación UIT-T H.264 (2005) Cor. 1 (09/2005)" . ITU. 13 de septiembre de 2005 . Consultado el 18 de abril de 2013 .
  16. ^ a b "Recomendación UIT-T H.264 (2005) enm. 1 (06/2006)" . ITU. 13 de junio de 2006 . Consultado el 18 de abril de 2013 .
  17. ^ "Recomendación UIT-T H.264 (2005) enm. 2 (04/2007)" . ITU. 6 de abril de 2007 . Consultado el 18 de abril de 2013 .
  18. ^ "Recomendación UIT-T H.264 (11/2007)" . ITU. 22 de noviembre de 2007 . Consultado el 18 de abril de 2013 .
  19. ^ "Recomendación UIT-T H.264 (2007) Cor. 1 (01/2009)" . ITU. 13 de enero de 2009 . Consultado el 18 de abril de 2013 .
  20. ^ a b "Recomendación UIT-T H.264 (03/2009)" . ITU. 16 de marzo de 2009 . Consultado el 18 de abril de 2013 .
  21. ^ a b "Recomendación UIT-T H.264 (03/2010)" . ITU. 9 de marzo de 2010 . Consultado el 18 de abril de 2013 .
  22. ^ a b "Recomendación UIT-T H.264 (06/2011)" . ITU. 29 de junio de 2011 . Consultado el 18 de abril de 2013 .
  23. ^ "Recomendación UIT-T H.264 (01/2012)" . ITU. 13 de enero de 2012 . Consultado el 18 de abril de 2013 .
  24. ^ a b c d "Recomendación UIT-T H.264 (04/2013)" . ITU. 12 de junio de 2013 . Consultado el 16 de junio de 2013 .
  25. ^ a b "Recomendación UIT-T H.264 (02/2014)" . ITU. 28 de noviembre de 2014 . Consultado el 28 de febrero de 2016 .
  26. ^ "Recomendación UIT-T H.264 (02/2016)" . ITU. 13 de febrero de 2016 . Consultado el 14 de junio de 2017 .
  27. ^ "Recomendación UIT-T H.264 (10/2016)" . ITU. 14 de octubre de 2016 . Consultado el 14 de junio de 2017 .
  28. ^ a b c "Recomendación UIT-T H.264 (04/2017)" . ITU. 13 de abril de 2017. Consulte las Tablas A-1, A-6 y A-7 para conocer las capacidades tabuladas dependientes del nivel . Consultado el 14 de junio de 2017 .
  29. ^ "Recomendación UIT-T H.264 (06/2019 - prepublicada)" . ITU. 13 de junio de 2019 . Consultado el 6 de agosto de 2019 .
  30. ^ a b "AVC / H.264 - Lista de patentes" (PDF) . MPEG LA . Consultado el 6 de julio de 2019 .
  31. ^ "Licenciantes AVC / H.264" . MPEG-LA. Archivado desde el original el 30 de mayo de 2015 . Consultado el 19 de mayo de 2013 .
  32. ^ Wenger; et al. "RFC 3984: Formato de carga útil RTP para vídeo H.264" : 2. Cite journal requires |journal= (help)
  33. ^ "¿Qué modo de grabación es equivalente a la calidad de imagen del formato de vídeo de alta definición (HDV)?" . Sony eSupport . Archivado desde el original el 9 de noviembre de 2017 . Consultado el 8 de diciembre de 2018 .
  34. ^ "Estándar ATSC A / 72 Parte 1: Características del sistema de video de AVC en el sistema de televisión digital ATSC" (PDF) . Archivado desde el original (PDF) el 7 de agosto de 2011 . Consultado el 30 de julio de 2011 .
  35. ^ "ATSC estándar A / 72 parte 2: características del subsistema de transporte de vídeo AVC" (PDF) . Archivado desde el original (PDF) el 7 de agosto de 2011 . Consultado el 30 de julio de 2011 .
  36. ^ "Estándar ATSC A / 153 Parte 7: Características del sistema de vídeo AVC y SVC" (PDF) . Archivado desde el original (PDF) el 26 de julio de 2011 . Consultado el 30 de julio de 2011 .
  37. ^ a b "Sony presenta un nuevo formato de grabación XAVC para acelerar el desarrollo de 4K en los mercados profesionales y de consumo" . Sony. 30 de octubre de 2012 . Consultado el 1 de noviembre de 2012 .
  38. ^ a b "Sony presenta un nuevo formato de grabación XAVC para acelerar el desarrollo de 4K en los mercados profesionales y de consumo" (PDF) . Sony. 30 de octubre de 2012 . Consultado el 1 de noviembre de 2012 . [ enlace muerto permanente ]
  39. ^ Steve Dent (30 de octubre de 2012). "Sony se lanza a la caza del rojo con las videocámaras con sensor CineAlta 4K Super 35mm PMW-F55 y PMW-F5 pro" . Engadget . Consultado el 5 de noviembre de 2012 .
  40. ^ "F55 CineAlta 4K el futuro, antes de lo previsto" (PDF) . Sony. 30 de octubre de 2012. Archivado desde el original (PDF) el 19 de noviembre de 2012 . Consultado el 1 de noviembre de 2012 .
  41. ^ Las tarjetas de memoria "ultrarrápidas" SxS PRO + "transforman la captura de video 4K" . Sony. Archivado desde el original el 8 de marzo de 2013 . Consultado el 5 de noviembre de 2012 .
  42. ^ Las tarjetas de memoria "ultrarrápidas" SxS PRO + "transforman la captura de video 4K" (PDF) . Sony. Archivado desde el original (PDF) el 2 de abril de 2015 . Consultado el 5 de noviembre de 2012 .
  43. ^ Kwon, Pronto-joven; Lee, Joo-kyong; Chung, Ki-dong (2005). "Corrección de medio píxel para transcodificación MPEG-2 / H.264" . Análisis y procesamiento de imágenes - ICIAP 2005 . Apuntes de conferencias en informática. Springer Berlín Heidelberg. 3617 : 576–583. doi : 10.1007 / 11553595_71 . ISBN 978-3-540-28869-5.
  44. ^ Britanak, Vladimir; Yip, Patrick C .; Rao, KR (2010). Transformaciones discretas de coseno y seno: propiedades generales, algoritmos rápidos y aproximaciones enteras . Elsevier . págs. ix, xiii, 1, 141-304. ISBN 9780080464640.
  45. ^ "El estándar de codificación de video 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. ↑ a b c RFC 3984, p.3
  47. ^ Apple Inc. (26 de marzo de 1999). "Preguntas frecuentes sobre H.264" . Manzana. Archivado desde el original el 7 de marzo de 2010 . Consultado 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 - Transmisión de video digital (DVB); Especificación para el uso de codificación de video y audio en aplicaciones de transmisión basadas en MPEG-2 Transport Stream" (PDF) . Consultado el 17 de mayo de 2010 .
  50. ^ "Decodificación del debate sobre el códec de vídeo HTML 5" . Ars Technica . 6 de julio de 2009 . Consultado el 12 de enero de 2011 .
  51. ^ "Steve Ballmer, CEO de Microsoft, entrevistado en Gartner Symposium / ITxpo Orlando 2010" . Gartnervideo. Noviembre de 2010 . Consultado el 12 de enero de 2011 .
  52. ^ "Compatibilidad con códec de vídeo HTML en Chrome" . 11 de enero de 2011 . Consultado el 12 de enero de 2011 .
  53. ^ "Video, móvil y la Web abierta" . 18 de marzo de 2012 . Consultado el 20 de marzo de 2012 .
  54. ^ "WebRTC habilitado, compatibilidad con H.264 / MP3 en Win 7 de forma predeterminada, interfaz de usuario de Metro para Windows 8 y más - Aspectos destacados del desarrollo de Firefox" . hacks.mozilla.org . mozilla. 20 de febrero de 2013 . Consultado el 15 de marzo de 2013 .
  55. ^ "Firefox - Notas (35.0)" . Mozilla .
  56. ^ "H.264 de código abierto elimina las barreras a WebRTC" . 30 de octubre de 2013. Archivado desde el original el 6 de julio de 2015 . Consultado el 1 de noviembre de 2013 .
  57. ^ "Preguntas frecuentes sobre el proyecto Cisco OpenH264" . 30 de octubre de 2013 . Consultado el 1 de noviembre de 2013 .
  58. ^ "Licencia BSD simplificada OpenH264" . 27 de octubre de 2013 . Consultado el 21 de noviembre de 2013 .
  59. ^ "La interoperabilidad de video en la Web obtiene un impulso del códec H.264 de Cisco" . 30 de octubre de 2013 . Consultado el 1 de noviembre de 2013 .
  60. ^ "Léame actualizado · cisco / openh264 @ 59dae50" . GitHub .
  61. ^ "x264 4: 0: 0 (monocromo) soporte de codificación" , Consultado el 5 de junio de 2019.
  62. ^ "x264 4: 2: 2 encoding support" , Consultado el 5 de junio de 2019.
  63. ^ "x264 4: 4: 4 encoding support" , Consultado el 5 de junio de 2019.
  64. ^ "Soporte x264 para codificación de 9 y 10 bits" , consultado el 22 de junio de 2011.
  65. ^ "x264 reemplaza el perfil alto 4: 4: 4 sin pérdidas con el alto 4: 4: 4 predictivo" , consultado el 22 de junio de 2011.
  66. ^ "Guía de referencia rápida para la generación de elementos visuales integrados del procesador Intel Core" . Red de software Intel. 1 de octubre de 2010 . Consultado el 19 de enero de 2011 .
  67. ^ "Vídeo de sincronización rápida Intel" . www.intel.com. 1 de octubre de 2010 . Consultado el 19 de enero de 2011 .
  68. ^ "Design-reuse.com" . Design-reuse.com. 1 de enero de 1990 . Consultado el 17 de mayo de 2010 .
  69. ^ "Categoría: DM6467 - Wiki de procesadores integrados de Texas Instruments" . Processors.wiki.ti.com. 12 de julio de 2011 . Consultado el 30 de julio de 2011 .
  70. ^ "Cartera de información" (PDF) . www.mpegla.com .
  71. ^ "Video OMS, un proyecto de la iniciativa Open Media Commons de Sun" . Archivado desde el original el 11 de mayo de 2010 . Consultado el 26 de agosto de 2008 .
  72. ^ "Licenciantes incluidos en la licencia de cartera de patentes AVC / H.264" . MPEG LA . Consultado el 18 de junio de 2019 .
  73. ^ "AVC / H.264 - Lista de patentes" (PDF) . MPEG LA . Consultado el 6 de julio de 2019 .
  74. ^ "La licencia AVC de MPEG LA no cobrará regalías por videos de Internet que sean gratuitos para los usuarios finales durante la vigencia de la licencia" (PDF) . MPEG LA. 26 de agosto de 2010 . Consultado el 26 de agosto de 2010 .
  75. ^ Hachman, Mark (26 de agosto de 2010). "MPEG LA recorta regalías de vídeo web gratuito, para siempre" . pcmag.com . Consultado el 26 de agosto de 2010 .
  76. ^ "Preguntas frecuentes sobre AVC" . MPEG LA. 1 de agosto de 2002. Archivado desde el original el 7 de mayo de 2010 . Consultado el 17 de mayo de 2010 .
  77. ^ "Copia archivada" (PDF) . Archivado desde el original (PDF) el 14 de mayo de 2015 . Consultado el 20 de noviembre de 2018 . CS1 maint: archived copy as title (link)
  78. ^ http://www.osnews.com/story/24954/US_Patent_Expiration_for_MP3_MPEG-2_H_264 tiene una patente MPEG LA US 7826532 que se presentó el 5 de septiembre de 2003 y tiene una extensión de plazo de 1546 días. http://patft1.uspto.gov/netacgi/nph-Parser?patentnumber=7826532 http://www.google.com/patents/about?id=2onYAAAAEBAJ
  79. ^ a b c 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, vea signonsandiego.com, "Qualcomm pierde su caso de derechos de patente" y "El caso de patente de Qualcomm va al jurado" ; y bloomberg.com "Broadcom gana el primer juicio en disputa de patentes de Qualcomm"

Lectura adicional [ editar ]

  • Wiegand, Thomas; Sullivan, Gary J .; Bjøntegaard, Gisle; Luthra, Ajay (julio de 2003). "Descripción general del estándar de codificación de video H.264 / AVC" (PDF) . Transacciones IEEE sobre circuitos y sistemas para tecnología de video . 13 (7): 560–576. doi : 10.1109 / TCSVT.2003.815165 . Consultado 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 video avanzado H.264 / AVC: descripción general e introducción a las extensiones de rango de fidelidad" (PDF) . Aplicaciones SPIE del procesamiento de imágenes digitales XXVII . Aplicaciones del procesamiento de imágenes digitales XXVII. 5558 : 454. Código Bibliográfico : 2004SPIE.5558..454S . doi : 10.1117 / 12.564457 . S2CID  2308860 . Consultado 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 video con H.264 / AVC: herramientas, rendimiento y complejidad" (PDF) . Revista de circuitos y sistemas IEEE . 4 (1): 7-28. doi : 10.1109 / MCAS.2004.1286980 . S2CID  11105089 . Archivado desde el original (PDF) el 1 de agosto de 2012 . Consultado el 31 de enero 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. doi : 10.1109 / jproc.2004.839617 . S2CID  1362034 . Consultado el 31 de enero de 2011 .
  • Richardson, Iain EG (enero de 2011). "Obtenga más información sobre la compresión de video y H.264" . VCODEX . Vcodex Limited . Consultado el 31 de enero de 2011 .

Enlaces externos [ editar ]

  • Página de publicación del UIT-T: H.264: Codificación de vídeo avanzada para servicios audiovisuales genéricos
  • Información sobre MPEG-4 AVC / H.264 Foro de Doom9
  • Tutoriales de H.264 / MPEG-4 Parte 10 (Richardson)
  • "Parte 10: Codificación de video 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 de inicio de IP . Consultado el 15 de abril de 2007 .
  • "Sitio de archivo de documentos JVT" . Archivado desde el 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 comparación anual de códecs de video H.264" . Universidad estatal de Moscú. (de diciembre de 2007)
  • "Discusión sobre H.264 con respecto a las cámaras IP en uso dentro de las industrias de seguridad y vigilancia" . (de abril de 2009)
  • "Sexta comparación anual de códecs de vídeo H.264" . Universidad Estatal de Moscú . (de mayo de 2010)