¿Qué es H.264?
El estándar H.264 se puede dividir en tres niveles:
Nivel básico (su versión es sencilla y muy utilizada;
Nivel principal (adopta); se pueden utilizar una serie de medidas técnicas para mejorar la calidad de la imagen y la relación de compresión para SDTV, HDTV, DVD, etc.);
Nivel extendido (se puede utilizar para la transmisión de vídeo en varias redes).
H.264 no sólo ahorra un 50% de la velocidad de bits que H.263 y MPEG-4, sino que también tiene un mejor soporte para la transmisión de red. Introduce un mecanismo de codificación orientado a paquetes IP, que es beneficioso para la transmisión de paquetes en la red y admite la transmisión de video en tiempo real en la red. H.264 tiene una fuerte resistencia a los errores de bits y puede adaptarse a la transmisión de vídeo en canales inalámbricos con altas tasas de pérdida de paquetes e interferencias graves. H.264 admite la transmisión de codificación en capas bajo diferentes recursos de red para obtener una calidad de imagen estable. H.264 puede adaptarse a la transmisión de vídeo en diferentes redes y tiene buena afinidad de red.
I. Sistema de compresión de vídeo H.264
El sistema de compresión estándar H.264 consta de la capa de codificación de vídeo (VCL) y la capa de abstracción de red (NAL). VCL incluye codificador VCL y decodificador VCL. Su función principal es la codificación y decodificación de compresión de datos de vídeo. Incluye unidades de compresión como compensación de movimiento, codificación de transformación y codificación de entropía. NAL se utiliza para proporcionar una interfaz unificada independiente de la red para VCL. Es responsable de empaquetar y transmitir datos de video a través de la red. Utiliza un formato de datos unificado, que incluye información de encabezado de un solo byte, marcos y datos de video de varios bytes, señalización de canales lógicos, información de sincronización, señales de fin de secuencia, etc. El encabezado del paquete contiene indicadores de almacenamiento y indicadores de tipo. La bandera de almacenamiento se utiliza para indicar que los datos actuales no pertenecen al marco de referencia. El indicador de tipo se utiliza para indicar el tipo de datos de la imagen.
VCL puede enviar parámetros de codificación ajustados según las condiciones actuales de la red.
2. Características de H.264
H.264, al igual que H.261 y H.263, también utiliza codificación por transformada DCT y codificación diferencial DPCM, es decir, una codificación híbrida. estructura. Al mismo tiempo, H.264 introduce un nuevo método de codificación en el marco de la codificación híbrida, que mejora la eficiencia de la codificación y se acerca más a las aplicaciones prácticas.
H.264 no tiene opciones complicadas y se esfuerza por ser simple y "volver a la naturaleza". Tiene un mejor rendimiento de compresión que H.263++ y tiene la capacidad de adaptarse a varios canales.
H.264 tiene una amplia gama de objetivos de aplicación, puede cumplir con varias aplicaciones de video a diferentes velocidades y en diferentes ocasiones, y tiene buena resistencia a errores de bits y pérdida de paquetes.
El sistema básico de H.264 no requiere el uso de derechos de autor, es abierto y puede adaptarse al uso de redes IP e inalámbricas. Es de gran importancia para la transmisión de información multimedia en el. Internet y la transmisión de información de banda ancha en redes móviles.
Aunque la estructura básica de la codificación H.264 es similar a la de H.261 y H.263, se ha mejorado en muchos aspectos, que se enumeran a continuación.
1. Varias estimaciones de movimiento mejores
Estimación de alta precisión
H.263 utiliza una estimación de medio píxel y H.264 utiliza además 1/4 de píxel. Incluso una estimación de movimiento de 1/8 de píxel, es decir, el desplazamiento del vector de movimiento real, puede basarse en 1/4 o incluso 1/8 de píxel. Obviamente, cuanto mayor sea la precisión del desplazamiento del vector de movimiento, menor será el error residual entre cuadros y menor será la velocidad de transmisión, es decir, mayor será la relación de compresión.
En H.264, la interpolación del filtro FIR de sexto orden se utiliza para obtener el valor en la posición de 1/2 píxel. Cuando se obtiene la mitad del valor del píxel, se puede obtener 1/4 del valor del píxel mediante interpolación lineal.
Para el formato de vídeo 4:1:1, la precisión de 1/4 de píxel de la señal de luminancia corresponde al vector de movimiento de 1/8 de píxel de la parte cromática, por lo que la señal cromática debe ser 1/ Interpolación de 8 píxeles.
En teoría, si se duplica la precisión de la compensación de movimiento (por ejemplo, desde una precisión de píxeles enteros hasta una precisión de 1/2 píxel), puede haber una ganancia de codificación de 0,5 bits/muestra. Sin embargo, se descubrió que después de que la precisión del vector de movimiento excedía 1/8 de píxel, el sistema básicamente no tenía ninguna ganancia obvia. Entonces, en H.264, solo se usa 1.
Estimación del modo de partición multimacrobloque
En el modo de predicción de H.264, los macrobloques (MB) se pueden dividir en siete modos diferentes. Esta división de macrobloques sutil y flexible multimodo es más consistente con la forma de los objetos en movimiento reales en la imagen, por lo que cada macrobloque puede contener 1, 2, 4, 8 o 16 vectores de movimiento.
Estimación de cuadros de parámetros múltiples
En H.264, se puede usar la estimación de movimiento de cuadros de parámetros múltiples, es decir, hay múltiples cuadros de parámetros recién codificados en el búfer del codificador. El codificador selecciona uno de ellos como cuadro de parámetros que proporciona un mejor efecto de codificación e indica qué cuadro usar para la predicción, de modo que se puede obtener un mejor efecto de codificación que usando solo el último cuadro recién codificado como cuadro de predicción.
2. ¿Talla pequeña 4? Transformación entera de 4
¿La unidad comúnmente utilizada en la codificación de compresión de video es 8? Ocho dólares. Sin embargo, en H.264, el tamaño pequeño de 4?4 bloques, debido a que el tamaño del bloque de transformación se vuelve más pequeño, la división de los objetos en movimiento es más precisa. En este caso, la cantidad de cálculo en el proceso de transformación de la imagen es pequeña y el error de convergencia en el borde del objeto en movimiento también se reduce considerablemente.
Cuando hay una gran área suave en la imagen, para no producir diferencias de escala de grises entre bloques causadas por una transformación de tamaño pequeño, ¿puede H.264 calcular 16 4 datos de brillo? La segunda transformación de bloque de 4?4 coeficiente DCT de 4 bloques, los coeficientes DC de 4 4?4 bloques (uno para cada bloque pequeño, ***4 coeficientes DC) son 2? Transformación de dos bloques.
H.263 no solo hace que el tamaño del bloque de transformación de imagen sea más pequeño, sino que también la transformación es una operación de número entero, no una operación de número real, es decir, la precisión de la transformación y la transformación inversa del codificador y decodificador son Lo mismo y no hay "error de transformación inversa".
3. Intra predicción más precisa
En H.264, cada píxel de cada 4?4 bloques puede utilizar los 17 píxeles más cercanos al píxel previamente codificado. Se utilizan diferentes sumas ponderadas para intra predicción.
4. Unified VLC
Hay dos métodos de codificación de entropía en H.264
Unified VLC (es decir, UVLC: Universal VLC). UVLC utiliza la misma tabla de códigos para codificar y el decodificador puede identificar fácilmente el prefijo de la palabra, por lo que cuando ocurre un error de bit, UVLC puede resincronizarse rápidamente.
Codificación Aritmética Binaria Adaptativa de Contenido (CABAC). Su rendimiento de codificación es ligeramente mejor que el de UVLC, pero su complejidad es mayor.
En tercer lugar, ventajas de rendimiento
En comparación con MPEG-4 y H.263++, H.264 utiliza las siguientes seis velocidades de prueba: 32 kbit/s, 10F/s y QCIF; 64 kbit/s, 15F/s y QCIF; 128 kbit/s, 15F/s y CIF; 256 kbit/s, 15F/s y QCIF; . Los resultados de las pruebas muestran que H.264 tiene un mejor rendimiento PSNR que MPEG y H.263++.
El PSNR de H.264 es 2 dB superior al de MPEG-4 y 3 dB superior al de H.263++.
En cuarto lugar, un nuevo algoritmo de estimación de movimiento rápido
El nuevo algoritmo de estimación de movimiento rápido UMHexagonS (patente china) es un nuevo algoritmo de estimación de movimiento rápido en H.264 que puede ahorrar dinero en comparación con el algoritmo de búsqueda completa rápida original El nuevo algoritmo que representa más del 90% de los cálculos, el nombre completo es "Búsqueda de polihexágonos cruzados asimétricos", es un algoritmo de estimación del movimiento de píxeles enteros. El estándar H.264 lo adoptó formalmente debido a su baja complejidad computacional y al mismo tiempo mantiene un buen rendimiento de distorsión de velocidad al codificar grandes secuencias de imágenes en movimiento a altas velocidades de bits.
Es probable que H.264 (MPEG-4 Parte 10), desarrollado conjuntamente por la UIT y la ISO, sea aceptado como estándar unificado por los medios de radiodifusión, comunicaciones y almacenamiento (CD-DVD), y es muy probable que convertirse en un nuevo estándar de medios interactivos de banda ancha. Los estándares de codificación del código fuente de China aún no se han formulado. Preste mucha atención al desarrollo de H.264 y la formulación de los estándares de codificación fuente de mi país se está intensificando.
El estándar H264 lleva la tecnología de compresión de imágenes en movimiento a un nivel superior. Proporcionar una transmisión de imágenes de alta calidad con un ancho de banda más bajo es lo más destacado de la aplicación H.264. La promoción y aplicación de H.264 plantea mayores requisitos para terminales de video, controladores de acceso, puertas de enlace, MCU y otros sistemas, lo que promoverá de manera efectiva la mejora continua del software y hardware de videoconferencia en todos los aspectos.