VP8 - VP8

VP8
Logotipo de VP8
Tipo de medio de Internet video / VP8
Desarrollado por Google
Versión inicial 13 de septiembre de 2008
Tipo de formato Video comprimido
Contenido por WebM , Matroska
Extendido desde VP7
Extendido a VP9
Estándar RFC6386
¿ Formato abierto ? Sí (especificación en CC-by )

VP8 es un formato de compresión de video abierto y libre de regalías creado por On2 Technologies como sucesor de VP7 y propiedad de Google desde 2010.

En mayo de 2010, después de la compra de On2 Technologies, Google ofreció una promesa de patente irrevocable sobre sus patentes para implementar el formato VP8 y lanzó una especificación del formato bajo la licencia Creative Commons Attribution 3.0 . Ese mismo año, Google también lanzó libvpx , la implementación de referencia de VP8, bajo la licencia BSD revisada .

Opera , Firefox , Chrome y Chromium admiten la reproducción de video VP8 en etiquetas de video HTML5 . Internet Explorer admite oficialmente VP8 con un códec independiente. Según Google, VP8 se utiliza principalmente en conexión con WebRTC y como formato para animaciones de bucle corto, como reemplazo del formato de intercambio de gráficos (GIF).

VP8 se puede multiplexar en el formato contenedor WebM basado en Matroska junto con Vorbis y Opus audio. El formato de imagen WebP se basa en la codificación intracuadro de VP8. El sucesor directo de VP8, VP9 , y el formato de video de Internet libre de regalías emergente AV1 de Alliance for Open Media (AOMedia) se basan en VP8.

Características

VP8 solo admite señales de video de barrido progresivo con submuestreo de croma 4: 2: 0 y 8 bits por muestra . En su primera versión pública, la implementación VP8 de On2 admite procesadores multinúcleo con hasta 64 núcleos simultáneamente. Al menos en la implementación (desde agosto de 2011), VP8 está comparativamente mal adaptado a altas resoluciones ( HD ). Con solo tres búferes de marco de referencia necesarios, VP8 permite implementaciones de decodificadores con una huella de memoria relativamente pequeña. El formato presenta un modo intra puro, es decir, utiliza solo fotogramas codificados de forma independiente sin predicción temporal, para permitir el acceso aleatorio en aplicaciones como la edición de video.

Tecnología

VP8 es un formato de codificación de transformación tradicional basado en bloques . Tiene mucho en común con H.264 , por ejemplo, algunos modos de predicción. En el momento de la primera presentación de VP8, según On2, el filtro in-loop y los Golden Frames estaban entre las novedades de esta iteración. Sin embargo, la primera definición de dicho filtro ya se encuentra en el estándar H.263 , y Golden Frames ya se usaban en VP5 y VP7.

La transformada de coseno discreta (DCT) en bloques de 4 × 4 y la transformada de Hadamard (WHT) sirven como transformadas de frecuencia básicas. Se puede hacer referencia a un máximo de tres marcos para la predicción temporal: el último marco dorado (puede ser un marco interno), marco de referencia alternativo y el marco directamente anterior. Los llamados marcos de referencia alternativos (altref) pueden servir como marcos de solo referencia para mostrarlos y pueden desactivarse. En este caso, el codificador puede llenarlos con datos de imagen útiles arbitrarios, incluso de fotogramas futuros, y por lo tanto cumplir el mismo propósito que los fotogramas b de los formatos MPEG. Se pueden asignar macrobloques similares a uno de hasta cuatro segmentos (incluso espacialmente disjuntos) y, por lo tanto, compartir parámetros como el marco de referencia utilizado, el tamaño del paso del cuantificador o la configuración del filtro. VP8 ofrece dos filtros de desbloqueo ajustables diferentes que están integrados en los bucles del códec (filtrado en bucle). Muchas herramientas de codificación utilizan probabilidades que se calculan continuamente a partir del contexto reciente, comenzando en cada intra-fotogramas. Los macrobloques pueden comprender muestras de 4 × 4, 8 × 8 o 16 × 16. Los vectores de movimiento tienen una precisión de un cuarto de píxel.

Historia

VP8 fue lanzado por primera vez por On2 Technologies el 13 de septiembre de 2008, como On2 TrueMotion VP8, reemplazando a su predecesor, VP7 .

Después de que Google adquirió On2 en febrero de 2010, se hicieron pedidos para que Google lanzara el código fuente de VP8. En particular, la Free Software Foundation emitió una carta abierta el 12 de marzo de 2010, pidiendo a Google que reemplazara gradualmente el uso de Adobe Flash Player y H.264 en YouTube con una mezcla de HTML5 y un VP8 liberado.

La noticia de un inminente anuncio de lanzamiento de código abierto se publicó el 12 de abril de 2010. El 19 de mayo, en su conferencia de Google I / O , Google lanzó el software de códec VP8 bajo una licencia similar a BSD y la especificación de formato de flujo de bits VP8 bajo una irrevocable licencia de patente gratuita. Esto convirtió a VP8 en el segundo producto de On2 Technologies en abrirse, luego de su donación del códec VP3 en 2002 a la Fundación Xiph.Org , de la cual derivaron el códec Theora .

En febrero de 2011, MPEG LA invitó a los titulares de patentes a identificar las patentes que pueden ser esenciales para VP8 con el fin de formar un grupo conjunto de patentes VP8 . Como resultado, en marzo, el Departamento de Justicia de los Estados Unidos (DoJ) inició una investigación sobre MPEG LA por su papel en el posible intento de sofocar la competencia. En julio de 2011, MPEG LA anunció que 12 titulares de patentes habían respondido a su llamado para formar un grupo de patentes VP8 , sin revelar las patentes en cuestión, y a pesar de que On2 había hecho todo lo posible para evitar tales patentes.

En noviembre de 2011, el Grupo de trabajo de ingeniería de Internet publicó la guía informativa RFC 6386, VP8 Data Format and Decoding Guide.

En marzo de 2013, MPEG LA anunció que había abandonado su esfuerzo por formar un grupo de patentes VP8 después de llegar a un acuerdo con Google para licenciar las patentes que, según alega, "pueden ser esenciales" para la implementación de VP8, y otorgó a Google el derecho a sublicenciar. estas patentes a cualquier usuario de terceros de VP8 o VP9 . Este acuerdo ha despejado el camino para una posible estandarización de MPEG como su códec de video de Internet libre de regalías, luego de que Google presentara VP8 al comité de MPEG en enero de 2013.

En marzo de 2013, Nokia presentó una reclamación de patente contra HTC y Google por el uso de VP8 en Android en un tribunal alemán; sin embargo, el 5 de agosto de 2013, el proyecto webm anunció que el tribunal alemán dictaminó que VP8 no infringe la patente de Nokia.

Nokia ha realizado una declaración oficial de derechos de propiedad intelectual (IPR) ante el IETF con respecto a la Guía de decodificación y formato de datos VP8 que enumera 64 patentes concedidas y 22 solicitudes de patente pendientes.

Implementaciones

libvpx

La implementación de referencia de un códec VP8 (y VP9) se encuentra en la biblioteca de programación libvpx, que se publica como software gratuito . Tiene un modo para codificación de una pasada y dos pasadas , respectivamente, mientras que el modo de una pasada se conoce por estar roto y no ofrecer un control efectivo sobre la tasa de bits de destino.

Actualmente, libvpx es la única biblioteca de software capaz de codificar transmisiones de video VP8. El equipo de x264 está desarrollando un codificador basado en el marco x264 llamado xvp8.

Codificación

Está disponible un contenedor de Video para Windows del códec VP8 basado en la biblioteca Google VP8 ( FourCC : VP80).

El equipo de hardware de WebM Project en Finlandia lanzó un codificador de hardware RTL para VP8 que está disponible sin costo para los fabricantes de semiconductores.

Los conjuntos de chips móviles Nvidia Tegra tienen codificación y decodificación de hardware VP8 completa (desde Tegra 4 ).

Nexus 5 podría usar codificación de hardware

Descodificación

libvpx es capaz de decodificar transmisiones de video VP8.

El 23 de julio de 2010, Fiona Glaser, Ronald Bultje y David Conrad del equipo FFmpeg anunciaron el decodificador ffvp8. A través de las pruebas, determinaron que ffvp8 era más rápido que el decodificador libvpx de Google. El equipo de hardware de WebM Project lanzó un decodificador de hardware RTL para VP8, que se puede lanzar a las empresas de semiconductores sin costo alguno. TATVIK Technologies anunció un decodificador VP8 que está optimizado para el procesador ARM Cortex-A8 . El mini chipset ARMADA 1500 de Marvell tiene soporte para decodificación de hardware VP8 SD y HD (usado en Chromecast ). Intel tiene soporte de decodificación VP8 completo integrado en sus conjuntos de chips Bay Trail . Intel Broadwell también agrega soporte de decodificación de hardware VP8.

Soporte del sistema operativo

Soporte VP8 por diferentes sistemas operativos
Microsoft Windows Mac OS BSD / Linux SO Android iOS
Soporte de códec Solo aplicaciones de terceros Solo aplicaciones de terceros
Soporte para contenedores En la actualización de aniversario de Windows 10 (1607) :
WebM (.webm no se reconoce; requiere una pseudo extensión)
Matroska (.mkv)

En la actualización de Windows 10 de octubre de 2018 (1809) :
WebM (.webm se reconoce oficialmente)

WebM (.webm)
Matroska (.mkv)
WebM (.webm)
Matroska (.mkv)
WebM (.webm)
Matroska (.mkv)
WebM (.webm)
Matroska (.mkv)
Notas En Windows 10 :
- En Anniversary Update (1607), el soporte limitado está disponible en Microsoft Edge ( solo a través de MSE ) y las aplicaciones de la Plataforma universal de Windows .

- En la actualización de abril de 2018 (1803) con Web Media Extensions preinstaladas, Microsoft Edge (EdgeHTML 17) admite videos VP8 incrustados en etiquetas <video>.

- En la actualización de octubre de 2018 (1809), las extensiones de video VP9 están preinstaladas. Permite la codificación de contenido VP8 y VP9 en dispositivos que no tienen un codificador de video basado en hardware.

No hay soporte nativo en el marco multimedia nativo de macOS. - - Soporte introducido en Android 2.3.3+

- Transmitible en Android 4.0+

No hay soporte nativo en el marco multimedia nativo de iOS.

Formatos relacionados

WebM

También el 19 de mayo de 2010, se lanzó el Proyecto WebM , con contribuciones de "Mozilla, Opera, Google y más de cuarenta otros editores, proveedores de software y hardware" en un gran esfuerzo por utilizar VP8 como formato de video para HTML5. En el formato contenedor WebM , el video VP8 se usa con audio Vorbis u Opus . Internet Explorer 9 admitirá la reproducción de video VP8 si está instalado el códec adecuado. Android está habilitado para WebM desde la versión 2.3 - Gingerbread. Desde Android 4.0, VP8 se puede leer dentro de mkv y WebM se puede transmitir. Adobe también anunció que Flash Player admitirá la reproducción de VP8 en una versión futura.

WebP

El 30 de septiembre de 2010, Google anunció WebP , su nuevo formato de imagen, en el blog de Chromium . WebP se basa en la codificación intracuadro de VP8 y utiliza un contenedor basado en el formato de archivo de intercambio de recursos (RIFF).

Comparación con H.264

Si bien H.264 / MPEG-4 AVC contiene tecnología patentada y requiere licencias de los titulares de patentes y regalías limitadas para el hardware, Google ha liberado irrevocablemente las patentes VP8 que posee bajo una licencia pública libre de regalías.

De acuerdo con una comparación de VP8 (codificada con la versión inicial de libvpx) y H.264 realizada por StreamingMedia, se concluyó que "H.264 puede tener una ligera ventaja de calidad, pero no es comercialmente relevante" y que "Incluso el lado de observación "lado a lado (que ningún espectador hace), muy pocos espectadores podrían notar la diferencia". También afirmaron que "H.264 tiene una ventaja de implementación, no una ventaja tecnológica".

Google afirma que VP8 ofrece la "entrega de video en tiempo real de la más alta calidad" y Libvpx incluye un modo en el que se utilizarán los máximos recursos de CPU posibles mientras se mantiene la velocidad de codificación casi exactamente equivalente a la velocidad de reproducción (tiempo real), manteniendo la calidad como lo más alto posible sin retraso. Por otro lado, una revisión realizada por streamingmedia.com en mayo de 2010 concluyó que H.264 ofrece una calidad ligeramente mejor que VP8.

En septiembre de 2010, Fiona Glaser, una desarrolladora del codificador x264 , dio varios puntos de crítica para VP8, alegando que su especificación estaba incompleta y que el rendimiento del filtro de desbloqueo del codificador era inferior al x264 en algunas áreas. En su especificación, VP8 debería ser un poco mejor que H.264 Baseline Profile y VC-1 de Microsoft . La codificación está en algún lugar entre Xvid y VC-1. La decodificación es más lenta que el H.264 de FFmpeg , pero este aspecto difícilmente puede mejorarse debido a las similitudes con H.264. En cuanto a la compresión, VP8 ofrece un mejor rendimiento que Theora y Dirac . Según Glaser, la interfaz VP8 carece de funciones y tiene errores, y la especificación no está completamente definida y podría considerarse incompleta. Gran parte del código de VP8 es copiar-pegar C código , y desde la fuente constituye la especificación actual, también se definirá cualquier error como algo que tiene que ser implementado para estar en conformidad.

En 2010, se anunció que el formato de audio / video WebM se basaría en un perfil del formato contenedor Matroska junto con el video VP8 y el audio Vorbis .

Ver también

Referencias

Otras lecturas

enlaces externos