¿H.264 o H.265? Perspectivas en el campo de las tecnologías de compresión de vídeo. Control de tasa de bits a largo plazo. Usando el codificador x265 desde la línea de comando

Sorprendentemente, es cierto que el estándar de compresión de vídeo High Efficiency Video Coding (HEVC) tiene más de tres años. No sólo existen soluciones de software, sino también de hardware para codificar e incluso reproductores multimedia domésticos que admiten este formato. Internet está inundado de críticas y reseñas publicitarias favorables, y los críticos, dependiendo del descaro del analfabetismo y la credulidad, prometen una mejora de la compresión del 30 al 50% en comparación con h.264 con la misma calidad de imagen. En teoría, esto probablemente sea cierto, y no tengo absolutamente nada en contra del estándar en sí, todas estas matemáticas superiores, la multiplicidad de perfiles y la evaluación objetiva de la percepción subjetiva de los parámetros psicofisiológicos utilizando PSNR. El impulso para escribir este artículo anticientífico fue pura desconfianza, el deseo de sentir de forma independiente lo disponible. en este momento implementaciones gratuitas codificadores de vídeo en este formato (x265) y compare los resultados con el viejo x264.

Para comprender la magnitud del problema y el grado de mi desconfianza, observo que no creo en la codificación de hardware en h.264/AVC (o más bien, estoy seguro de que con la misma velocidad a mejor calidad El software puro x264.exe también puede funcionar), no creo en la codificación de video con usando CUDA y DXVA y yo consideramos que todas las implementaciones de tales "codificadores" son pura charlatanería y no creemos en programas mágicos de dos botones que puedan "codificar bien y rápidamente". Tampoco creo en la democracia, los antivirus y la educación superior moderna, pero estos son puramente mis problemas que no tienen nada que ver con la codificación de video :)
Y ahora, cargados con bastante escepticismo, tomemos una de las versiones compiladas del codificador x265 gratuito, o más bien el ensamblaje GCC de ocho bits 1.7+286 y listo. acciones adicionales produciremos con él.
En este punto, por cierto, mi desconfianza volvió a aparecer y tuve que pasar unas 6 horas comparando 11 ensamblajes diferentes de diferentes sitios para calmarla. Resultó que los resultados de codificación con parámetros similares eran idénticos hasta el punto de confusión, y el tiempo de codificación difería en no más de un 5-6 por ciento.
Para empezar, tomemos como fuente el extracto mencionado anteriormente de Avatar splash-tree-fog y, para eliminar los frenos del decodificador, guardemos 100 fotogramas como un archivo YUV4MPEG2 sin comprimir, que se codificará en el futuro. En x265 se utiliza por defecto el método de compresión CRF con calidad constante, por lo que también codificaremos en x264 en modo CRF con un indicador de calidad de 17,2. La cifra no fue tomada de la nada, pero experimentalmente se encontró que cualquier aumento en esta cifra conduce a una disminución tanto en la tasa de bits como en la calidad de la imagen de salida, y una disminución solo aumenta la tasa de bits sin ningún aumento notable en la calidad. . Por supuesto, los demás parámetros de codificación también estaban al máximo y el resultado fue un archivo comprimido con una tasa de bits de 17,6 Mb/s (que es casi 2 veces menor que los 31 Mb/s originales en un disco BD). Tiempo de codificación 100 cuadros - 40 segundos. La calidad de la imagen resultó ser casi idéntica en comparación con la fuente y ni siquiera vale la pena publicar una comparación. En el futuro, compararemos el duodécimo fotograma B del archivo x264-17.2.mkv con diferentes opciones de codificación HEVC.

Pero aquí es el momento de recordar que el preajuste de placebo utiliza lejos de los máximos parámetros posibles. Los más importantes aquí son --me star (con un valor máximo de full) y --subme 5 (con un valor máximo de 7). Intentemos endurecer las condiciones y decir manualmente
"E:\Video\x265\x265_64-8.exe" "E:\Video\avatar\raw.y4m" --preset placebo --me full --subme 7 --psy-rd 0.5 --psy-rdoq 0.5 --output "E:\Video\avatar\x265-test1.mkv" Inmediatamente queda claro por qué los desarrolladores no se atrevieron a insertarlo en el perfil "máximo" valores máximos parámetros. El tiempo de codificación aumentó más de 10 veces


¿Y el resultado valió estos sacrificios? no estoy seguro…
Entonces intente #3, crf 20, -me full --subme 7, tasa de bits 9045 kb/s - 77 minutos de codificación

Y luego compare los resultados del ajuste preestablecido de placebo con los especificados manualmente -me full --subme 7

Tiramos el yo especificado manualmente, subme y seguimos arrastrándonos.
Intento n.º 4, crf 18, velocidad de bits 12922 kb/s: casi bien, pero x264 sigue siendo mejor

Ahora veamos qué pasa si codificamos en x265 con el mismo bitrate que x264 y con parámetros máximos.
Se logró la misma tasa de bits con un valor crf de 16,2. Esta vez la codificación tomó 90 minutos.
Enlace de archivo

Los resultados son muy parecidos, pero x264 aún conserva un poco más de detalle y agrega un poco menos de jabón.
Conclusión: Las implementaciones actuales de x265 son inferiores en calidad a x264 a altas velocidades de bits.

Aquí llegamos al mensaje principal de todo el artículo. Los formatos de compresión de vídeo, junto con el resto del mundo, avanzan hacia la simplificación y el aburrimiento de la población. A nadie le interesa tener un consumidor que mire capturas de pantalla de comparaciones, luche por cada píxel extra de distorsión, lea los parámetros de codificación, etc. Todo está orientado a los perfiles de codificación más rápidos y divertidos con tasas de bits mínimas. Seguramente a velocidades de bits bajas, x265 tendrá una ventaja significativa sobre x264. Aunque habrá mucha distorsión y jabón en ambos lugares, x264 tendrá más. Comprobemos.
Intento #5, x265 5371 kb/s, x264 5374 kb/s

Pero no acertaron :) Incluso con la tasa de bits nativa x265, x264 parece más decente.

x265 es una implementación abierta del nuevo estándar de codificación de vídeo H.265 HighEfficiencyVideoCoding (HEVC). El estándar H.265 es una continuación lógica de H.264 y se caracteriza por más algoritmos eficientes compresión. El estándar supone una reducción de aproximadamente el doble en el tamaño del archivo con la misma calidad visual en comparación con H.264 y soporte para altas resoluciones de hasta 8K UHD (8192x4320).

Beneficios de H.265

Códec flexible H.264 recibido amplia aplicación en redes de distribución transmisión de vídeo, en plataformas satelitales, así como al grabar discos Blu-ray. Es bastante bueno en el escalado, por lo que se ha propuesto como estándar para 3D a 48-60 cuadros por segundo, e incluso para 4K (aunque el códec no fue creado para este formato). H.264 hace frente bien a estas tareas. El estándar adoptado para los discos Blu-ray aún no incluye recomendaciones sobre estas tecnologías, pero el propio códec H.264 es capaz de soportarlas.

La peculiaridad del códec H.264 es que, si bien puede codificar vídeo en estos formatos, no puede proporcionar una relación de compresión que reduzca el tamaño de los archivos resultantes.

El nuevo estándar del códec H.265 logró reducir considerablemente el tamaño de los archivos comprimidos y obtuvo así reconocimiento internacional como medio para promover nuevos formatos de vídeo. H.265 utiliza nuevas tecnologías de compresión y un modelo de codificación/decodificación "inteligente", que permite un uso económico del ancho de banda del canal. El códec se desarrolló teniendo en cuenta todas las características de 4K (soporte para vídeo de 10 bits, alta velocidad de fotogramas).

Los tamaños de codificación están determinados por la configuración del cuantificador ( convertidor digital), donde las puntuaciones q más bajas corresponden a una mayor calidad (y tamaños de archivo más grandes). El archivo codificado base consta de 500 fotogramas, su tamaño es de 1,5 GB, YUV 4:2:0 y la velocidad de fotogramas es de 50 por segundo. A modo de comparación, se utiliza el tamaño elemental del archivo de flujo, que representa lo que se transmite al decodificador para crear la imagen de salida. Se han estudiado flujos elementales, el tamaño del archivo decodificado es siempre de 1,5 GB, independientemente del nivel de calidad elegido al crearlo.

La principal ventaja de H.265 frente a H.264: ahorrar ancho de banda del canal hasta un 50%. Al configurar q=24 en el convertidor, obtenemos un tamaño de archivo del 57% del creado en H.264, al configurar q=30 – 59%, y q=40 da 47%. Cuando se establece q=40, el archivo final está lejos de ser perfecto, pero ahorra ancho de banda a más de la mitad.

Rendimiento y calidad de imagen

H.265 requiere más potencia de CPU para codificar y decodificar en comparación con H.264.
La función Hyper-Threading y la configuración de paralelización en 12/8 subprocesos aceleran ligeramente el proceso de codificación. Capacidades del decodificador de prueba con procesadores basados ​​en SandyBridge-E (6 núcleos físicos) y Haswell (4 núcleos físicos, soporte para los últimos AVX2 y mejores caracteristicas rendimiento) están por delante de IvyBridge (4 núcleos físicos).
Codificar con x265 lleva más tiempo que codificar con x264. Por ejemplo, el IvyBridge 3770K codifica un archivo en H.264 en 129 segundos y en H.265 en 247 segundos.

La imagen (en el ejemplo de un fragmento de un partido de baloncesto) se caracteriza por una alta velocidad de movimiento, grabada a una frecuencia de 50 fotogramas por segundo. La alta frecuencia de movimiento en el encuadre suele provocar que el procesador se congele o que la imagen fluctúe.

La imagen muestra el vídeo YUV original sin comprimir.

La imagen muestra un vídeo codificado en H.265 con q=24 y un vídeo codificado con H.264 con q=24.

La diferencia entre las imágenes es mínima. El piso de madera debajo del reproductor saltador es menos borroso en la versión H.264, pero la calidad de la versión H.265 es excelente, a pesar de que el tamaño del archivo es aproximadamente la mitad.

La imagen muestra vídeo codificado en H.265 y H.264 con q=30.

Al instalar el convertidor q=30 (los tamaños de archivo son 6,39 MB y 10,87 MB, respectivamente), la calidad de la transmisión de video utilizando el códec H.265 resultó ser mejor que la de una transmisión codificada en H.264.

El soporte de codificación/decodificación está disponible en muchos equipos. Procesadores modernos Están más que preparados para decodificar H.265 si tienes el software adecuado. A largo plazo, es probable que H.265 reemplace a H.264 como la principal solución para el procesamiento de video avanzado. El modelo de codificación paralelo H.265 debería funcionar bien en dispositivos multinúcleo.
La introducción de un nuevo formato para el procesamiento de vídeo altamente eficiente podría tener un enorme impacto en el mercado de la videovigilancia en los próximos años. La principal ventaja del nuevo estándar de codificación (H.265/HEVC) en comparación con H.264/MPEG4 es una reducción de la tasa de bits de aproximadamente un 40%, mientras que la calidad de la imagen resultante sigue siendo la misma.

Las cámaras IP con códec H.265 proporcionan imágenes de alta calidad y reducen la carga de red y almacenamiento en un 40%. La introducción del nuevo estándar H.265 aumentará la cantidad de megapíxeles efectivos para las cámaras de red (10,15,20 MP), además de reducir ruido digital y practicar más claramente las funciones WDR (Wide Dynamic Range).

La gama de equipos Optimus se está ampliando activamente. modelos modernos con códec de compresión H.265.

20.11.2013

En los últimos cuatro años, H.264 se ha convertido en el códec de vídeo dominante en la industria de la seguridad, pero últimamente Varios fabricantes y expertos comenzaron a “impulsar” intensamente el H.265. En relación con la llegada de un nuevo códec, surgen una serie de preguntas. En primer lugar, el público está interesado en dos cosas: cuándo se utilizará HEVC y cuánto tiempo durará. Sin embargo, a los editores les interesan cosas un poco más profundas: por ejemplo, quién recibirá los principales beneficios de la transición a un nuevo estándar de codificación y si se trata de otro truco de marketing para inclinar el equilibrio del mercado hacia determinados actores. Sin duda, con lado técnico nuevo formato diferente de sus predecesores. Sólo me gustaría asegurarme de que todas las reservas del “antiguo” H.264 ya se hayan agotado. Después de todo, cambiar el formato es, en esencia, una revolución. Para cuyo éxito, como decía el abuelo Lenin, es necesario que “las clases bajas no quieran, pero las clases altas no puedan”.

Diferenciadores clave de marketing reclamados o, para decirlo de alguna manera, en lenguaje sencillo, el “truco” del códec, llamado tanto HEVC como H.265, es que con la misma calidad de imagen, la transmisión de video H.265 tiene la mitad de la tasa de bits que la transmisión comprimida por el códec H.264. Por ejemplo, si para transmitir una secuencia de vídeo de 1080p comprimida con el códec H.264 a una velocidad de 30 fotogramas por segundo, la tasa de bits es de aproximadamente 4 megabits por segundo, entonces para una imagen de calidad equivalente comprimida con el nuevo H.265 códec, la tasa de bits se reducirá a 2 megabits por segundo. Parece atractivo, sin embargo, como siempre, surge la pregunta sobre el precio de esta transición.

Desafortunadamente, no somos nosotros quienes decidimos si el juego vale la pena o no. Se conoce la posición de los editores de Security News. Abogamos por la creación de un códec especializado que tenga en cuenta todas las características y requisitos específicos, impuesto a la transmisión de datos de vídeo en sistemas de seguridad. Sorprendentemente, a pesar del origen "multimedia" del códec H.265, aquí se tuvieron en cuenta algunas de "nuestras" necesidades (lea más sobre esto a continuación). La última palabra, como es habitual en las industrias serias, es siempre para principales fabricantes equipos y sistemas. Y las "ballenas" de la industria de la seguridad no tienen prisa por añadir otra al nombre del códec: por un lado, la maniobrabilidad de las instalaciones de producción no es tan alta y, por otro, se ha invertido demasiado dinero en la promoción de H.264 en los últimos años. No dejes que lo bueno se desperdicie...

Diferencias técnicas de H.265

El rendimiento mejorado del nuevo códec con respecto a sus predecesores se debe a varias mejoras estructurales significativas. Tres de ellos son decisivos: cambiar el tamaño máximo de bloque, introducir la decodificación paralela e implementar el acceso aleatorio a las imágenes dentro del flujo de vídeo.

Tamaño máximo de bloque en el estándar H.264 es de 256 píxeles (16 x16), y en el estándar H.265 puede ser 16 veces más grande (4096 = 64 x 64). Curiosamente, en el estándar H.265, el tamaño del bloque lo selecciona el propio algoritmo durante el proceso de codificación, dependiendo del contenido de la imagen codificada. Según los partidarios del nuevo estándar, redimensionable bloques y aumentar el límite máximo de este tamaño permitirá un procesamiento más eficiente de imágenes de alta resolución. Por cierto, el nuevo estándar admite resoluciones de píxeles de hasta 8192 x 4320 (35 megapíxeles), la más alta resolución moderna. estándares de televisión, también llamado 8K.

Oportunidad decodificación paralela, proporcionado en los decodificadores H.265, permite procesar diferentes partes de la misma trama por separado y simultáneamente. Este procesamiento puede acelerar significativamente la reproducción y le permite aprovechar procesadores multinúcleo quien conquistó hoy gran popularidad en mercados orientados a TI. El códec H.264 no proporcionaba tales capacidades.

La nueva norma proporciona acceso aleatorio a imágenes(Acceso aleatorio limpio). Esto significa que un fotograma seleccionado aleatoriamente de una secuencia de vídeo se decodifica sin necesidad de decodificar ninguna imagen que lo preceda en la secuencia. Para multimedia, el acceso aleatorio no es crítico, pero para videovigilancia, especialmente monitoreo en tiempo real, esta característica es muy deseable: al cambiar a una transmisión de video específica por razones de necesidad operativa, el operador debería recibir instantáneamente una imagen en su pantalla: en aplicaciones de seguridad uno o dos segundos pueden ser decisivos. Dejando de lado los complejos detalles técnicos de cómo se implementa esto en el nuevo códec, cabe mencionar que no requiere la inserción obligatoria de fotogramas de referencia intermedios (I-frames) en el flujo de vídeo, por lo que la tasa de bits aumenta significativamente.

Desde el punto de vista caracteristicas tecnicas señal de vídeo codificada, su perfil principal "superior" 10 proporciona más alta calidad reproducción cromática, ya que proporciona 10 bits codificación de colores, mientras todos estándares existentes, incluido el perfil Main 8 "inferior" del propio H.265, asigna sólo 8 bits al atributo de color del píxel.

La norma proporciona medios detección automática tipo de escaneo, sin embargo, a diferencia de sus predecesores, el códec se centra inicialmente en procesar imágenes de video obtenidas mediante escaneo progresivo. Pero esto no significa que H.265 no pueda funcionar con escaneo entrelazado: los desarrolladores tuvieron en cuenta el hecho de que es suficiente gran número Los sistemas en uso generan tramas a partir de dos campos.

Pero esto es lo que le falta significativamente al códec H.265: codificación escalable. Se planeó implementarlo en H.264, pero por alguna razón no se pudo hacer en ninguno de estos estándares. La presencia de incrustaciones permitiría sin costos adicionales poder de computación en procesamiento adicional Transfiera imágenes a clientes utilizando conexiones de red relativamente lentas. Hasta cierto punto, el escalamiento contribuye a una mayor uso racional Medios para almacenar datos de vídeo en sistemas. Actualmente, la codificación escalable se encuentra entre las extensiones planificadas del estándar. Según los expertos, la exigencia de escalabilidad viene dictada en gran medida por el auge emergente tecnologías de la nube almacenamiento y procesamiento de datos.

Comprender el estándar HEVC (H.265)

El estándar HEVC (High Efficiency Video Coding) define un formato de compresión de vídeo destinado a sustituir anteriormente estándar aceptado H.264/MPEG-4 AVC (Codificación de vídeo avanzada), desarrollado conjuntamente por el Grupo de expertos en imágenes en movimiento (MPEG) de ISO y el Grupo de expertos en codificación de vídeo (VCEG) Unión Internacional de Telecomunicaciones. El primer grupo de desarrolladores le dio al estándar el nombre interno ISO/IEC 23008-2 MPEG-H, parte 2, y el segundo, H.265.

Se afirma que el estándar HEVC permite duplicar la relación de compresión de los datos de vídeo digital en comparación con su predecesor o mejorar significativamente la calidad de la imagen manteniendo la densidad de bits de los datos. Nuevo algoritmo estándar de compresión compatible ultra alta definición Resoluciones de imagen de 8K y píxeles de hasta 8192 x 4320.

Los campos de aplicación de la norma son la televisión abierta, multimedia, televisión industrial y videovigilancia. La fecha oficial de publicación de la primera versión de la norma es el 13 de abril de 2013. Varias posiciones previstas para su implementación en el estándar seguían sin realizarse en el momento de su lanzamiento y actualmente un equipo conjunto de expertos está trabajando en nuevas extensiones del estándar, las más importantes de las cuales son la codificación escalable y el vídeo 3D.

¿Qué ayuda a mejorar la calidad de la imagen?

Un gran número de fabricantes de productos informáticos están promoviendo el formato de compresión H.265 como medio para mejorar la calidad de la imagen. Cabe señalar que esto es hasta cierto punto falso. En realidad, las imágenes comprimidas con un codificador H.265 no tienen mayor calidad que las procesadas con el algoritmo H.264, que, a su vez, no es mejor en términos de calidad que MPEG-4. Dado que todos los códecs mencionados brindan la capacidad de establecer arbitrariamente el nivel de compresión, la calidad imagen comprimida Depende sólo de las preferencias del usuario. Otra cosa es adaptar la imagen de vídeo a las realidades del entorno técnico. En primer lugar, se trata de recursos de ancho de banda de la red.

Si rendimiento Si su red de datos es suficiente para transmitir imágenes comprimidas H.264, cambiar a la compresión H.265 no mejorará la calidad de la imagen. Tal transición solo puede reducir la tasa de bits, es decir, aliviar un poco su red. El único caso en el que cambiar a un nuevo códec ayudará a mejorar la calidad de la imagen es si, por razones de ahorro de velocidad de bits, las imágenes fueron obviamente comprimidas excesivamente por el códec H.264 y los artefactos de compresión interfirieron con la lectura eficiente de los detalles por parte de los operadores y analistas de video. .

Dudas y limitaciones

Como la mayoría de los códecs de vídeo modernos, H.265 es más eficaz (es decir, puede confirmar las expectativas de marketing) en escenas de vigilancia relativamente simples, donde no hay cambios bruscos de contraste y no hay movimientos intensos de objetos y fondos. El ahorro prometido del 50% en tasa de bits/volumen de almacenamiento se refiere principalmente a este tipo de escenas. Es decir, en condiciones reales, en una intersección concurrida o en la zona de ventas de un supermercado, las cifras de ahorro serán significativamente menores.

Además, hoy en día todas las ventajas "económicas" del códec predecesor no tienen mucha demanda. En particular, la mayoría de los fabricantes de equipos y sistemas no han realizado la transición a versiones más avanzadas de perfiles H.264. En videovigilancia, se utilizan con mayor frecuencia tres perfiles de este estándar. El perfil básico es el ahorro mínimo de ancho de banda y la carga mínima de recursos informáticos. En los últimos años ha ganado gran popularidad entre los vendedores. El perfil principal (Main) proporciona, según los resultados pruebas independientes, mejora del 10 al 30 % en el rendimiento en comparación con el valor inicial. En los últimos meses, los fabricantes han mostrado un interés creciente por este perfil concreto. El perfil alto proporciona beneficios aún más significativos, pero hoy en día el número de proveedores que han proporcionado compatibilidad con este perfil se puede contar literalmente con los dedos de una mano.

En otras palabras, los fabricantes tienen margen para desarrollarse incluso sin un nuevo códec, sin correr riesgos innecesarios y avanzando por un camino relativamente bien establecido. Dado que la industria, con la transición al vídeo IP, se está volviendo cada vez más "TI", aquí entran en juego consideraciones típicas de los administradores de sistemas: lo que funciona normalmente es mejor no cambiarlo ni tocarlo en absoluto.

  • Traducción

La situación actual en el campo de los códecs multimedia se puede describir en unas pocas palabras: soluciones simples se han agotado. Cada año, el material para la codificación se vuelve cada vez más complejo y los requisitos de calidad del resultado son cada vez mayores. En estas condiciones, cuando un ataque frontal ya no tiene efecto, optimizar tanto la codificación como la reproducción multimedia para plataformas específicas utilizando sus funciones más capacidades modernas. Mostraremos lo que se puede lograr con dicha optimización usando el ejemplo del prometedor códec H.265. Como plataforma de destino considerar solución de servidor Intel - Procesador Xeon.

Breve descripción de H.265/HEVC

El estándar H.265/HEVC (codificación de vídeo de alta eficiencia) es el último estándar de códec de vídeo desarrollado conjuntamente por la Unión Internacional de Telecomunicaciones ITU-T e ISO/IEC. El objetivo de este estándar es mejorar la eficiencia de la compresión y reducir la pérdida de datos. H.265/HEVC, en comparación con el estándar anterior H.264/AVC, tiene el doble de relación de compresión con la misma calidad de imagen subjetiva. La tecnología HEVC permite a los proveedores de vídeo ofrecer contenido de vídeo de alta calidad con menos sobrecarga de red.
Observemos las principales innovaciones funcionales aplicadas en H.265:
  • Capacidades especiales para acceso aleatorio y empalme de flujo digital. En H.264/MPEG-4 AVC, el flujo de bits siempre debe comenzar con un bloque de direccionamiento IDR, mientras que HEVC admite acceso aleatorio.
  • La imagen se divide en unidades de árbol de codificación (CTU), cada una de las cuales contiene bloques de árbol de codificación (CTB) de luma y crominancia. Se utilizan todos los estándares de codificación de vídeo anteriores. tamaño fijo matriz para muestras de brillo - 16×16. HEVC admite bloques CTB diferentes tamaños, que se elige en función de las necesidades del codificador en términos de memoria y potencia de procesamiento.
  • Cada bloque de codificación (CB) se puede dividir de forma recursiva en bloques de transformación (TV). La partición está determinada por el quadtree residual. A diferencia de los estándares anteriores, en HEVC un bloque de TV puede abarcar múltiples unidades de predicción (PB) para unidades de codificación de predicción cruzada (CU).
  • Predicción direccional con 33 direcciones de orientación diferentes para bloques de transformación (TB) que varían en tamaño desde 4x4 hasta 32x32. La posible dirección de predicción es de 360 ​​grados. HEVC admite varias técnicas de codificación de predicción intracuadro.
H.265/HEVC impone demandas de potencia de procesamiento extremadamente altas tanto en los dispositivos cliente como en servidores internos transcodificación.

Problemas de rendimiento de HEVC

El proyecto HEVC Test Model (HM) existente implementa solo la funcionalidad principal del estándar; El rendimiento real aún está lejos de lo que se necesita en un entorno del mundo real. Dos desventajas principales de este proyecto:
  • Falta de circuito paralelo.
  • Configuración de vectorización ineficaz.


Figura 1. Perfil del proyecto HM: operación paralela de subprocesos


Figura 2. Perfil del proyecto HM: código que requiere muchos recursos

Este códec HEVC consume 100 veces más recursos de CPU en el lado del servidor y 10 veces más en el lado del cliente en comparación con H.264.
El códec H.265/HEVC ha atraído la atención de muchas empresas y organizaciones de todo el mundo, lo que ha dado como resultado su optimización del rendimiento y su desarrollo actual. Hay varios proyectos de código abierto.

  • OpenHEVC (compatible con HM10.0, optimización del decodificador)
  • x265 (compatible con HM, paralelización y vectorización)
Evaluar el rendimiento del codificador x265 en una plataforma con procesadores Intel® Xeon® (E5-2680, 2,7 GHz, 8 * 2 núcleos físicos, nombre en clave - Puente de arena) ejecutamos el vídeo con una resolución de 720p y 24 fotogramas por segundo. Los desarrolladores de x265 han trabajado mucho para optimizar el estándar original para paralelizar el procesamiento de tareas y datos. Sin embargo, nuestra prueba mostró que el códec sólo puede usar 6 núcleos en un sistema con 32 núcleos lógicos (con SMT habilitado). Por tanto, el códec no utiliza plenamente los recursos de las plataformas multinúcleo modernas.

Figura 4. Proyecto X.265 con configuración intel®SIMD

El diseño x265 también utilizó instrucciones Intel® SIMD (generadas por compilador), lo que ofrece mejoras de rendimiento de más del 70 %. Junto con optimizaciones adicionales mediante las opciones del compilador, el compilador Intel proporciona el doble de rendimiento en la plataforma IA. Sin embargo, el rendimiento del codificador sigue siendo significativamente inferior al requerido para un codificador en tiempo real, especialmente para vídeo. alta definición con una resolución de 1080p.
A continuación mostramos los resultados obtenidos empresa china Fortalecerse con el apoyo de especialistas Intel en el camino hacia la optimización del códec H.265/HEVC que creó para varias plataformas Intel.

Optimización HEVC para la plataforma Intel® Xeon™

La mayor parte de las funciones de procesamiento de imágenes y vídeo que consumen más recursos son datos en bloques que requieren un uso intensivo de computación. Puede utilizar las instrucciones de vectorización Intel® SIMD para optimizarlas. En el codificador como parte del códec Strongene, según los datos de perfil, utilizando instrucciones de intel SSE puede vectorizar manualmente todas las funciones que consumen más recursos, como la interpolación de cuadros de baja complejidad con compensación de movimiento; conversión de enteros sin transposición; transformación de Hadamard; Calcule sumas de diferencias absolutas (SAD)/diferencias cuadradas (SSD) con una sobrecarga de memoria mínima. Hemos incluido instrucciones. Intel SSE en forma de funciones intrínsecas, como se muestra en la Fig. 5.


Figura 5. Ejemplo de habilitación de instrucciones Intel® SIMD/SSE en el códec Stongene

Los desarrolladores de Strongene han reescrito todas las funciones que consumen muchos recursos para lograr el mayor aumento en el rendimiento del codificador. En la figura. La Figura 6 muestra nuestros datos de creación de perfiles en un escenario de codificación de video de 1080p usando HEVC. Se puede ver que el 60% de las funciones que consumen muchos recursos se procesan mediante instrucciones Intel SIMD.


Figura 6. Resultados del perfil de características de codificación de estrógenos

Las instrucciones enteras Intel AVX2 de 256 bits tienen el doble de rendimiento rendimiento alto en comparación con el código Intel SSE heredado que funciona con valores de 128 bits. Conjunto de instrucciones Intel AVX2 compatible con la plataforma
Intel Xeon (Haswell), lanzado en 2014. Para evaluar el rendimiento de las funciones integradas de Intel AVX2, utilizamos el cálculo de la suma común de diferencias absolutas para un bloque de 64*64.

Tabla 1. Resultados de la implementación de Intel® SSE e Intel® AVX2

ciclos de CPU código fuente Intel® SSE Intel® AVX2
Ejecutar 1 98877 977 679
Lanzamiento 2 98463 1092 690
Lanzamiento 3 98152 978 679
Lanzamiento 4 98003 943 679
Lanzamiento 5 98118 954 678
Promedio 98322,6 988,8 681
Aceleración 1,00 99,44 144,38

Como puede verse en la Tabla 1, el uso de las instrucciones Intel SSE e Intel AVX2 proporciona un aumento de rendimiento de 100 veces, mientras que el código Intel AVX2 gana un 40% adicional en comparación con Intel SSE.
Como vimos anteriormente, la mayoría de las implementaciones existentes no utilizan todos los núcleos de las plataformas multinúcleo. Basado en la última arquitectura Intel Xeon multinúcleo con dependencia paralela entre algoritmos basados ​​en CTB, Strongene propone reemplazar los métodos originales OWF y WPP con una estructura IFW paralela y luego desarrollar un esquema de control de subprocesos de tres niveles para garantizar que IFW La estructura utiliza completamente todos los núcleos de la CPU para la aceleración. Codificación HEVC.


Figura 7. Subprocesos paralelos y uso de CPU en el codificador Strongene

Aprovechando el nuevo diseño paralelo WHP y la implementación completa de las instrucciones Intel SIMD en los niveles de tareas y datos respectivamente, los desarrolladores del codificador Strongene pudieron lograr mejoras de rendimiento muy significativas en procesadores x86 para video de 1080p utilizando los recursos informáticos de todos los núcleos, así como se muestra en la Figura. 8.

Configuración adicional usando SMT/HT

También es de interés la dependencia del rendimiento del códec de la inclusión en el sistema, que está muy extendida en todas las plataformas con arquitectura intel Multithreading simultáneo (SMT), también llamado tecnología Hyperthreading (HT).

Tabla 2. Velocidad de codificación Strongene HEVC en la plataforma Intel® Xeon®


Como se puede ver en la tabla (que se muestra en amarillo) en la plataforma Puente de hiedra(¡El procesador Intel Xeon E5-2697 v2 para codificación de video SMT HEVC deshabilitada con una resolución de 1080p se realiza en tiempo real!

Habiendo logrado enormes mejoras en el rendimiento, continuamos explorando las capacidades de la codificación Strongene HEVC en la plataforma Ivy Bridge, enfocándonos en problemas de calidad y tasa de bits.

Tabla 3. Comparación del rendimiento de los códecs H.264 y H.265


La Tabla 3 muestra que el códec H.265/HEVC reduce el volumen de datos en un 50 % manteniendo la misma calidad de vídeo.

Es probable que H.265/HEVC se convierta en el estándar de vídeo más popular en la próxima década. Muchas aplicaciones y productos multimedia están implementando actualmente Soporte HEVC. En este artículo, implementamos una solución HEVC en tiempo real con todas las funciones y basada en CPU en plataformas intel con nuevas tecnologías de IA. Nuestra solución Intel optimizada se implementa en la empresa de servicios de vídeo de Internet Xunlei y ayudará a impulsar la adopción generalizada de la tecnología H.265/HEVC.

¡Ahora codifiquemos de una manera nueva! Las primeras versiones de HEVC, H.265 (High Efficiency Video Coding), el último estándar de compresión de vídeo, aparecieron en 2013. Hubo mucho debate entre los expertos sobre si este formato se arraigaría en el campo de la videovigilancia o no: en particular, hablaron de eficacia no probada (las pruebas en condiciones de laboratorio no cuentan), altos costos de nuevos equipos (el códec requiere rendimiento del dispositivo más potente) y otros.

puntos importantes

Sin embargo, hoy podemos decir que el códec de compresión H.265 ha entrado con confianza en el mercado y dicta sus condiciones. En consecuencia, muchos fabricantes, de acuerdo con las exigencias del tiempo y el progreso, producen equipos que admiten la compresión de vídeo del nuevo formato.

Los algoritmos de funcionamiento del códec H.264, la generación anterior, lanzado en 2003, son más o menos conocidos por todos. Puede leer sobre algunos principios de compresión de video usando el códec H.264.

¡Ahora codifiquemos de una manera nueva!

H.265 es el último desarrollo revolucionario en el campo de los formatos de compresión de vídeo. Los expertos creen que este códec puede alterar significativamente el status quo tanto en el ámbito de la circulación de contenidos multimedia de consumo como en el ámbito profesional (por ejemplo, en los sistemas de videovigilancia).

El estándar H.265 utiliza algoritmos de compresión de vídeo más potentes y avanzados. Con la misma calidad visual, el nuevo códec H.265 implica aproximadamente una reducción del doble en el tamaño del archivo en comparación con su predecesor “comprimido” H.264. Esto le permite ahorrar mucho espacio en disco en grabadoras y servidores de video. Y la mitad de la tasa de bits reducirá significativamente el tráfico en las redes de datos de vídeo. Gracias a mecanismos de compresión más potentes, el códec H.265 hace un excelente trabajo al codificar archivos de alta y resolución más alta más de 8K UHD (8192x4320). y para reproducción de alta calidad

Para información de vídeo con una resolución de 4K, el codificador requiere una transmisión a una velocidad de sólo 50 MV/s. Sin embargo, volvamos a realidades familiares, donde muchas cámaras todavía tienen una resolución estándar, y no extrema: 1,3 megapíxeles, 2 megapíxeles, 3 megapíxeles y superiores. Las pruebas del codificador han demostrado su funcionamiento eficaz con resoluciones de vídeo superiores a 1 MP. Entonces la diferencia entre y el original es realmente visible. El códec H.264 aún maneja transmisiones de video con una resolución inferior a 1 megapíxel.

Y, lo que es más importante, H.265 comprime vídeo prácticamente sin pérdida, la calidad del vídeo "comprimido" permanece en alto nivel. Los algoritmos de compresión especiales eliminan los artefactos inherentes a H.264, como la granulosidad o los bordes borrosos de los objetos en movimiento. Con el uso del nuevo códec, estos problemas se han eliminado.

Números específicos: prueba últimas versiones El códec H.265 dio resultados sorprendentes. ¡El volumen de vídeo procesado con el nuevo estándar fue casi un 85% menor que con H.264!

Dado: Cámara de 2 MP con una velocidad de fotogramas de 25 fps y una escena de rodaje con intensidad de tráfico media. Cuando se utiliza el códec H.264, la tasa de bits será de aproximadamente 4 Mb/s. Mientras que cuando se comprime con el códec H.265, ¡es solo alrededor de 1 Mb/s!

Por supuesto, los algoritmos de compresión de vídeo más potentes requieren el uso de más caballos de fuerza, es decir, más equipos de alto rendimiento. Y esta es otra diferencia último códec compresión de su predecesor H.264, que se utiliza en todas partes y se encuentra incluso en los teléfonos inteligentes más débiles. Pero el progreso no se detiene y ahora, para utilizar nuevos algoritmos de compresión de vídeo, no es necesario comprar un procesador superpotente diseñado para resolver problemas de la NASA. Los dispositivos multinúcleo que ofrece actualmente el fabricante son suficientes.

Total:
- H.265, en comparación con H.264, está diseñado para procesar video con una resolución de 4K y superior (6, 8, 12 MP).
- H.265 comprime el video muchas veces más, lo que le permite ahorrar dinero espacio en disco y reducir a la mitad la carga de los canales de transmisión de datos.
- H.265 produce una compresión de vídeo prácticamente sin pérdidas, dejando la calidad en un nivel superior, sin pixelación ni desenfoque de objetos en movimiento.
- H.265 utiliza algoritmos de compresión más potentes y permite obtener un volumen de vídeo hasta un 85% menor que el codificado con H.264.
- Para trabajo eficiente, el códec H.265 requiere de elementos y procesadores más potentes en el equipo.

Incluso una comparación tan superficial de los formatos de compresión H.264 y H.265 muestra una serie de ventajas del nuevo códec H.265. El estándar tendrá demanda en diversas áreas de negocio: empresas de Internet y alojamiento de vídeos, IP y televisión digital, sistemas de conferencias telefónicas, etc. Para los sistemas de videovigilancia, el nuevo formato de compresión también aportará beneficios inconmensurables. ¡El nuevo códec N.265 es el futuro!




Arriba