Articulo de referencia

Comparación de códecs de vídeo

Un códec de vídeo es un software o un dispositivo que proporciona codificación y decodificación de vídeo digital , y que puede incluir o no el uso de compresión y/o descompresió...

Un códec de vídeo es un software o un dispositivo que proporciona codificación y decodificación de vídeo digital , y que puede incluir o no el uso de compresión y/o descompresión de vídeo. La mayoría de los códecs suelen ser implementaciones de formatos de codificación de vídeo .

La compresión puede emplear compresión de datos con pérdida , por lo que las cuestiones de medición de la calidad se vuelven importantes. Poco después de que el disco compacto se popularizara como sustituto digital del audio analógico, se hizo posible almacenar y utilizar también vídeo en formato digital. Pronto surgieron diversas tecnologías para ello. El objetivo principal de la mayoría de los métodos de compresión de vídeo es producir un vídeo que se aproxime lo más posible a la fidelidad de la fuente original, al tiempo que se consigue el menor tamaño de archivo posible. Sin embargo, también existen otros factores que pueden servir de base para la comparación.

Introducción a la comparación

En las comparaciones de códecs de vídeo se comparan las siguientes características :

  • Calidad de vídeo por tasa de bits (o rango de tasas de bits ). Generalmente, la calidad de vídeo se considera la característica principal en las comparaciones de códecs. Las comparaciones de calidad de vídeo pueden ser subjetivas u objetivas .
  • Características de rendimiento como la velocidad de compresión/descompresión, los perfiles/opciones compatibles, las resoluciones compatibles, las estrategias de control de velocidad compatibles, etc.
  • Características generales del software , por ejemplo:  
    • Fabricante
    • Sistemas operativos compatibles ( Linux , macOS , Windows )
    • Número de versión
    • Fecha de lanzamiento
    • Tipo de licencia (comercial, gratuita, de código abierto )
    • Interfaces compatibles (VfW, DirectShow , etc.)
    • Precio (relación calidad-precio, descuentos por volumen, etc.)

Calidad de vídeo

La calidad que puede lograr un códec depende en gran medida del formato de compresión que utilice. Un códec no es un formato, y puede haber varios códecs que implementen la misma especificación de compresión ; por ejemplo, los códecs MPEG-1 generalmente no alcanzan una relación calidad/tamaño comparable a la de los códecs que implementan la especificación H.264, más moderna. Sin embargo, la relación calidad/tamaño de la salida producida por diferentes implementaciones de la misma especificación también puede variar. 

Cada especificación de compresión define diversos mecanismos para reducir el tamaño del vídeo sin comprimir (esencialmente, una secuencia de imágenes digitales sin comprimir y de resolución completa), desde la compresión de bits simple (como Lempel-Ziv-Welch ) hasta la síntesis psicovisual y de movimiento, y cómo se almacena la salida como un flujo de bits. Siempre que el componente codificador del códec cumpla con la especificación, puede elegir cualquier combinación de estos métodos para aplicarlos a diferentes partes del contenido. El componente decodificador de un códec que también cumpla con la especificación reconoce cada uno de los mecanismos utilizados e interpreta el flujo comprimido para convertirlo de nuevo en vídeo sin comprimir para su visualización (aunque este no será idéntico al vídeo de entrada sin comprimir a menos que la compresión haya sido sin pérdidas). Cada codificador implementa la especificación según sus propios algoritmos y parámetros, lo que significa que la salida comprimida de los diferentes códecs variará, lo que dará lugar a variaciones en la calidad y la eficiencia entre ellos.

Antes de comparar la calidad de vídeo de los códecs, es importante comprender que cada códec puede ofrecer un grado variable de calidad para un conjunto determinado de fotogramas dentro de una secuencia de vídeo. Numerosos factores influyen en esta variabilidad. En primer lugar, todos los códecs cuentan con un mecanismo de control de la tasa de bits que determina la tasa de bits y la calidad de cada fotograma. La diferencia entre la tasa de bits variable (VBR) y la tasa de bits constante (CBR) implica una compensación entre una calidad uniforme en todos los fotogramas y una tasa de bits más constante, necesaria para algunas aplicaciones. En segundo lugar, algunos códecs distinguen entre diferentes tipos de fotogramas, como fotogramas clave y fotogramas secundarios, cuya importancia para la calidad visual general y el grado de compresión que pueden alcanzar varían. En tercer lugar, la calidad depende de los prefiltrados, presentes en todos los códecs actuales. Otros factores también pueden influir.

Para un clip suficientemente largo, es posible seleccionar secuencias que hayan sufrido poca compresión y secuencias que la hayan sufrido mucho, especialmente si se ha utilizado CBR , donde la calidad entre fotogramas puede variar mucho debido a las diferentes cantidades de compresión necesarias para lograr una tasa de bits constante. Así, en un clip largo, como una película completa, dos códecs cualesquiera pueden tener un rendimiento muy diferente en una secuencia particular del clip, mientras que los códecs pueden tener una calidad aproximadamente igual (o viceversa) en una secuencia de fotogramas más amplia. Los comunicados de prensa y los foros de aficionados a veces seleccionan secuencias que se sabe que favorecen un códec o un estilo de control de tasa en particular en sus análisis.

Calidad de vídeo objetiva

Las técnicas de evaluación objetiva de vídeo son modelos matemáticos que buscan predecir los juicios humanos sobre la calidad de la imagen, como a menudo se ejemplifica con los resultados de experimentos de evaluación subjetiva de la calidad. Se basan en criterios y métricas que pueden medirse objetivamente y evaluarse automáticamente mediante un programa informático. Los métodos objetivos se clasifican según la disponibilidad de una señal de vídeo original sin comprimir, que se considera de alta calidad (generalmente sin comprimir). Por lo tanto, se pueden clasificar como:

  • Métodos de referencia completa (FR), donde está disponible toda la señal de vídeo original.
  • Métodos de referencia reducida (RR), donde solo se dispone de información parcial del vídeo original, y
  • Métodos sin referencia (NR), en los que el vídeo original no está disponible en absoluto.

Calidad de vídeo subjetiva

Esto se refiere a cómo el espectador percibe un video y determina su opinión sobre una secuencia de video específica. Las pruebas subjetivas de calidad de video son bastante costosas en términos de tiempo (preparación y ejecución) y recursos humanos.

Existen diversas maneras de mostrar secuencias de vídeo a expertos y registrar sus opiniones. Algunas de ellas se han estandarizado, principalmente en la Recomendación BT.500-13 de la UIT-R y en la Recomendación P.910 de la UIT-T.

La razón para medir la calidad subjetiva del vídeo es la misma que para medir la puntuación media de opinión en el audio. Se pueden promediar las opiniones de los expertos y expresar la media como un intervalo de confianza determinado o acompañado de él. Se pueden utilizar procedimientos adicionales para el cálculo de la media. Por ejemplo, las opiniones de los expertos que se consideren inestables (como si su correlación con la opinión media fuera baja) podrían ser rechazadas.

En el caso de los códecs de vídeo , esta es una situación muy común. Cuando códecs con resultados objetivos similares muestran resultados subjetivos diferentes, las principales razones pueden ser:

  • Los prefiltros y postfiltros se utilizan ampliamente en los códecs. Los códecs suelen utilizar prefiltros como la reducción de ruido , la eliminación de parpadeo y la estabilización de imagen. La reducción de ruido y la eliminación de parpadeo normalmente mantienen el valor de PSNR a la vez que mejoran la calidad visual (los mejores filtros de reducción de ruido lentos también aumentan el PSNR en tasas de bits medias y altas). La estabilización de imagen reduce considerablemente el PSNR, pero mejora la calidad visual. Los postfiltros muestran características similares : la eliminación de artefactos y la eliminación de anillos mantienen el PSNR, pero mejoran la calidad; el granulado (sugerido en H.264 ) mejora esencialmente la calidad del vídeo, especialmente en pantallas de plasma grandes, pero reduce el PSNR. Todos los filtros aumentan el tiempo de compresión/descompresión, por lo que mejoran la calidad visual pero reducen la velocidad de codificación y decodificación. 
  • La estrategia de búsqueda de estimación de movimiento (ME) también puede generar diferencias en la calidad visual para el mismo PSNR. La denominada búsqueda de movimiento real generalmente no alcanza los valores mínimos de suma de diferencias absolutas (SAD) en la estimación de movimiento del códec, pero puede resultar en una mejor calidad visual. Estos métodos también requieren más tiempo de compresión.
  • Estrategia de control de tasa . VBR suele producir mejores marcas de calidad visual que CBR para los mismos valores PSNR promedio para secuencias.

Resulta difícil utilizar secuencias largas para pruebas subjetivas. Generalmente, se utilizan tres o cuatro secuencias de diez segundos, mientras que para métricas objetivas se emplean películas completas. La selección de secuencias es importante : aquellas similares a las que utilizan los desarrolladores para optimizar sus códecs son más competitivas. 

Comparación de rendimiento

Comparación de velocidad

Número de fotogramas por segundo ( FPS ), comúnmente utilizado para medir la velocidad de compresión/descompresión.

Al estimar las posibles diferencias de rendimiento entre códecs, se deben tener en cuenta los siguientes aspectos:

  • Uniformidad del tiempo de fotograma de descompresión (a veces compresión) : las grandes diferencias en este valor pueden provocar una reproducción molesta y entrecortada. 
  • La compatibilidad con SIMD varía según el procesador y el códec , por ejemplo, MMX , SSE , SSE2 , cada uno de los cuales modifica el rendimiento de la CPU en ciertos tipos de tareas (a menudo incluidas aquellas en las que intervienen los códecs). 
  • La compatibilidad con el procesamiento multihilo varía sustancialmente según el procesador (el número de núcleos de la CPU), y los códecs tienen diferentes estrategias para utilizar esos núcleos ; la presencia de Hyper-threading afecta a la velocidad del códec, ya que cambia la asignación de recursos de bajo nivel en la CPU. 
  • Velocidad de la RAM : generalmente importante para la mayoría de las implementaciones de códecs. 
  • Tamaño de la caché del procesador : los valores bajos a veces provocan una degradación importante de la velocidad, por ejemplo, en las CPU con cachés pequeñas, como varias de la serie Intel Celeron . 
  • Uso de la GPU por códec : algunos códecs pueden aumentar drásticamente su rendimiento aprovechando los recursos de la GPU. 

Por ejemplo, el códec A (optimizado para el uso de memoria , es decir, que consume menos memoria) puede, en ordenadores modernos (que normalmente no tienen limitaciones de memoria), ofrecer un rendimiento inferior al del códec B. Por otro lado, el mismo par de códecs puede ofrecer resultados opuestos si se ejecuta en un ordenador antiguo con recursos de memoria (o caché) reducidos. 

Soporte para perfiles

Los estándares modernos definen una amplia gama de características y requieren un gran esfuerzo y recursos de software o hardware para su implementación. Por lo general, solo se admiten perfiles específicos de un estándar en un producto determinado. (Esto es muy común en las implementaciones de H.264, por ejemplo).

El estándar H.264 incluye los siguientes siete conjuntos de capacidades, denominados perfiles , dirigidos a clases específicas de aplicaciones:

  • Perfil básico (BP) : Diseñado principalmente para aplicaciones de bajo coste con recursos informáticos limitados, este perfil se utiliza ampliamente en videoconferencias y aplicaciones móviles.
  • Perfil principal (MP) : Originalmente concebido como el perfil de consumidor principal para aplicaciones de transmisión y almacenamiento, la importancia de este perfil disminuyó cuando se desarrolló el perfil alto (HiP) para esas aplicaciones.
  • Perfil extendido (XP) : Diseñado como perfil de vídeo en streaming, este perfil tiene una capacidad de compresión relativamente alta y algunos trucos adicionales para mayor resistencia a la pérdida de datos y al cambio de flujo del servidor.
  • Perfil alto (HiP) : El perfil principal para aplicaciones de transmisión y almacenamiento en disco, especialmente para aplicaciones de televisión de alta definición. (Este es el perfil adoptado en HD DVD y Blu-ray Disc, por ejemplo).
  • Perfil High 10 (Hi10P) : Este perfil, que va más allá de las capacidades de los productos de consumo actuales, se basa en el perfil High y añade compatibilidad con hasta 10 bits por muestra de precisión de imagen decodificada.
  • Perfil High 4:2:2 (Hi422P) : Dirigido principalmente a aplicaciones profesionales que utilizan vídeo entrelazado, este perfil se basa en el perfil High 10, añadiendo compatibilidad con el formato de muestreo de croma 4:2:2 y utilizando hasta 10 bits por muestra de precisión de imagen decodificada.
  • Perfil predictivo alto 4:4:4 (Hi444PP) : Este perfil se basa en el perfil alto 4:2:2, admitiendo un muestreo de croma de hasta 4:4:4, hasta 14 bits por muestra, y además admite una codificación de región sin pérdidas eficiente y la codificación de cada imagen como tres planos de color separados.
  • Perfil Multiview High : Este perfil admite dos o más vistas utilizando tanto la predicción entre imágenes (temporal) como la predicción entre vistas MVC, pero no admite imágenes de campo ni codificación de campo de marco adaptativa de macrobloques.

El estándar también contiene cuatro perfiles adicionales totalmente intra , que se definen como subconjuntos simples de otros perfiles correspondientes. Estos están destinados principalmente a aplicaciones profesionales (por ejemplo, cámaras y sistemas de edición):

  • Perfil High 10 Intra : El perfil High 10 está restringido a uso exclusivamente intra.
  • Perfil Intra Alto 4:2:2 : El perfil Alto 4:2:2 está restringido al uso exclusivamente intra.
  • Perfil Intra Alto 4:4:4 : El perfil Alto 4:4:4 restringido a uso exclusivamente intra.
  • Perfil CAVLC 4:4:4 Intra : El perfil High 4:4:4 está restringido al uso totalmente Intra y a la codificación de entropía CAVLC (es decir, no admite CABAC ).

Además, el estándar ahora también incluye tres perfiles de codificación de vídeo escalable .

  • Perfil de referencia escalable : Una extensión escalable del perfil de referencia.
  • Perfil alto escalable : Una extensión escalable del perfil alto.
  • Perfil Intra de Alto Nivel Escalable : El Perfil de Alto Nivel Escalable está restringido a uso exclusivamente intra.

Para realizar una comparación precisa de códecs, es necesario tener en cuenta las variaciones de perfil propias de cada códec.

Véase también Perfiles y niveles MPEG-2 .

Estrategias de control de tasas respaldadas

Las estrategias de control de velocidad de los códecs de vídeo se pueden clasificar de la siguiente manera:

La tasa de bits variable (VBR) es una estrategia para maximizar la calidad visual del vídeo y minimizar la tasa de bits. En escenas de movimiento rápido, la tasa de bits variable utiliza más bits que en escenas de movimiento lento de duración similar, manteniendo una calidad visual uniforme. Para la transmisión de vídeo en tiempo real y sin búfer, cuando el ancho de banda disponible es fijo ( por ejemplo, en videoconferencias con canales de ancho de banda fijo) , se debe utilizar una tasa de bits constante (CBR).  

CBR se usa comúnmente para videoconferencias, transmisiones por satélite y cable. VBR se usa comúnmente para la creación de CD/DVD de vídeo y vídeo en programas.

El control de la tasa de bits es adecuado para la transmisión de vídeo. Para el almacenamiento y la visualización sin conexión, suele ser preferible codificar con calidad constante (generalmente definida por la cuantificación ) en lugar de utilizar el control de la tasa de bits. [ 1 ] [ 2 ]

Características del software

Lista de códecs

* LaFundación Xiph.Orgha negociado una licencia gratuita e irrevocable para Theora y otros códecs derivados de VP3 para todos, para cualquier propósito. [ 39 ] * DivX Plus también se conoce como DivX 8. La última versión estable para Mac es DivX 7 para Mac.

Compatibilidad con sistemas operativos nativos

Tenga en cuenta que la compatibilidad con el sistema operativo no significa que el vídeo codificado con el códec se pueda reproducir en ese sistema operativo en particular ; por ejemplo, el vídeo codificado con el códec DivX se puede reproducir en sistemas tipo Unix utilizando decodificadores ASP MPEG-4 gratuitos (FFmpeg MPEG-4 o Xvid), pero el códec DivX (que es un producto de software) solo está disponible para Windows y macOS. 

Detalles técnicos

* Los flujos de Theora con diferentes velocidades de fotogramas se pueden encadenar en el mismo archivo, pero cada flujo tiene una velocidad de fotogramas fija. [ 42 ]

Comparación de códecs disponibles gratuitamente

Lista de comparativas disponibles gratuitamente y su descripción de contenido:

Véase también

Notas y referencias

  1. Google - Modos de tasa de bits VP9 en detalle
  2. Werner Robitza - Guía CRF
  3. "Especificación del proceso de decodificación y flujo de bits AV1" (PDF) . The Alliance for Open Media. Archivado (PDF) del original el 2 de mayo de 2019. Consultado el 31 de marzo de 2019 .
  4. Fundación Xiph.Org (2009) Sitio web de desarrollo de Theora - noticias , consultado el 6 de octubre de 2009.
  5. 1 2 "Redireccionar" . Consultado el 22 de noviembre de 2016 .
  6. 1 2 Compresión de vídeo Dirac
  7. Lanzamientos · gopro/cineform-sdk
  8. Descarga gratuita del codificador x264 164 r3079 - VideoHelp , consultado el 14/12/2021
  9. "Notas de la versión — Documentación de x265" . x265.readthedocs.io . Consultado el 14 de diciembre de 2021 .
  10. "Xvid.com" . Consultado el 14 de diciembre de 2021 .
  11. FFmpeg.org , consultado el 14 de diciembre de 2021
  12. FFavs archivado el 16/12/2009 en Wayback Machine
  13. Lanzamientos de OpenH264
  14. "Próxima generación del códec de vídeo Blackbird - Blackbird" . Blackbird plc . Consultado el 14 de diciembre de 2021 .
  15. "Historial de versiones del software DivX – DivX" . DivX, LLC . Consultado el 14 de diciembre de 2021 .
  16. "HEVC - DivX Labs" . Archivado del original el 11 de enero de 2017. Consultado el 22 de noviembre de 2016 .
  17. VirtualDub Documentación de VirtualDub: códecs , consultado el 8 de agosto de 2009
  18. FOURCC.org Códecs de vídeo - Formatos comprimidos Archivado el 23/05/2009 en Wayback Machine , consultado el 08/08/2009.
  19. Tom's Hardware (22/10/2001) Una decisión difícil: el códec DivX 3.20a sigue siendo mejor que el códec DivX 4.01 , consultado el 08/08/2009.
  20. 3ivx , consultado el 27/12/2014
  21. Nero AG ¿Qué es Nero Digital ?, consultado el 8 de agosto de 2009.
  22. 1 2 refs/tags/v1.11.0 - webm/libvpx - Git en Google , consultado el 14 de diciembre de 2021
  23. Custom Technology Corporation CINEMA CRAFT - Descargar , consultado el 11 de agosto de 2009
  24. Pegasys Inc. Novedades , consultado el 11 de agosto de 2009
  25. Compression Technologies, Inc. , actual responsable del mantenimiento de Cinepak.
  26. Productos de RealNetworks - Códecs Archivados el 4 de agosto de 2004 en Wayback Machine
  27. Huffyuv v2.1.1 , consultado el 9 de agosto de 2009
  28. Códec de vídeo sin pérdidas de Lagarith , consultado el 10 de febrero de 2018
  29. GmbH, MainConcept. "SDKs - Kits de desarrollo de software: MainConcept" . Consultado el 22 de noviembre de 2016 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  30. "MainConcept presentará la última tecnología de codificación GPU CUDA en la Conferencia de Tecnología de NVIDIA: MainConcept" . Archivado del original el 2 de octubre de 2010. Consultado el 26 de octubre de 2010 .
  31. GmbH, MainConcept. "SDKs - Kits de desarrollo de software: MainConcept" . Consultado el 22 de noviembre de 2016 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  32. GmbH, MainConcept. "SDKs - Complementos de Adobe - Software de transcodificación - Productos MainConcept: MainConcept" . Consultado el 22 de noviembre de 2016 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  33. Speer, Michael F.; Don, Hoffman (21 de agosto de 1995). "Formato de carga útil RTP de la codificación de vídeo CellB de Sun" . cs.columbia.edu . Archivado del original el 10 de agosto de 2021.
  34. "Holiday_greeting_1992" . GitHub . 11 de febrero de 2020.
  35. Hoffman, Don; Speer, Michael F. (octubre de 1996). "Formato de carga útil RTP de la codificación de vídeo CellB de Sun" . Ietf Datatracker .
  36. "Guía del programador de XIL" (PDF) . docs.oracle.com . Sun Microsystems. 1997. Archivado (PDF) del original el 17 de octubre de 2022.
  37. "Herramienta de vídeo en red" . GitHub . 14 de octubre de 2021.
  38. 1 2 3 4 "Elecard Group - Codec SDK G4 - códec h.264, Codec SDK, kit de desarrollo de software, decodificador mpeg2, decodificador mpeg-2, códec avc, decodificador MPEG, codificador MPEG, multiplexor MPEG, decodificador de audio MPEG, visor de gráficos, codificador AVC, decodificador AAC, codificador AAC, mpeg-4, API, aplicación de ejemplo, código fuente" . Consultado el 10 de febrero de 2018 .
  39. Preguntas frecuentes de Theora.org: ¿VP3 no es una tecnología patentada?
  40. Descripción técnica del códec Cinepak. Archivado el 5 de febrero de 2007 en Wayback Machine.
  41. 1 2 La velocidad de fotogramas, la resolución, etc., están codificadas como datos de longitud variable.
  42. 1 2 "Especificación de formato Theora" (PDF) . (827  KB)
  43. Requiere aproximadamente 3 terabytes por fotograma sin comprimir a máxima resolución (pág. 37, Especificación de Theora I, 7 de marzo de 2006).
  • Laboratorio de Ingeniería de Imagen y Video (EN DIRECTO)
  • Comparación subjetiva de códecs de vídeo modernos realizada por la MSU