Theora
Theora (libtheora) | ||
---|---|---|
Información general | ||
Tipo de programa | formato de archivo | |
Desarrollador | Fundación Xiph.org | |
Licencia | Tipo BSD / "Licencia Xiph" | |
Enlaces | ||
Theora es un códec de video libre que está siendo desarrollado por la Fundación Xiph.org, como parte de su proyecto Ogg. Basado en el códec VP3 donado por On2 Technologies, Xiph.org lo ha refinado y extendido dándole el mismo alcance futuro para mejoras en el codificador como el que posee Vorbis.
Introducción
Theora es un códec de vídeo de propósito general con bajo consumo de CPU. Esta basado en el códec de vídeo VP3 producido por On2 Technologies quien donó el código fuente del VP3.1 a la Fundación Xiph.org quién lo publicó bajo la licencia BSD revisada de 3 cláusulas.
Aunque VP3 es tecnología patentada, On2 ha rechazado irrevocablemente todos los derechos y patentes que tenía sobre éste en septiembre del 2001. En junio de 2002, On2 Technologies y la Fundación Xiph.org anunciaron una alianza para desarrollar Ogg Theora: la integración de VP3 con el proyecto Ogg y Vorbis.
El objetivo es la posibilidad de tener ficheros Ogg, donde Theora actúa como la capa de vídeo, mientras que Vorbis actúa generalmente como la capa de audio (Speex y FLAC también pueden actuar como capas de audio). Esto permite trabajar con audio y video sin tener que maniobrar con formatos cerrados o de pago, es decir, teniendo una alternativa libre y competitiva a los formatos del grupo MPEG-4 del Consorcio MPEG.
Theora es nombrado después del personaje de ficción Theora Jones de la serie de televisión Max Headroom. Ella era interpretada por Amanda Pays.
VP3 y Theora
Theora está basado originalmente en el códec VP3 y contiene una ampliación de las características que están disponibles en este códec. El contenido codificado con VP3 puede ser transcodificado al formato Theora de manera que no exista ninguna pérdida en la calidad final. Por otro lado el contenido codificado en Theora no puede, en general, ser trasncodificado al formato VP3 sin que existan perdidas en la calidad.
Detalles técnicos
Theora es un método de compresión de video con pérdidas. El video comprimido puede ser almacenado en cualquier contenedor multimedia conveniente (ej. Matroska), pero generalmente se encuentra en el formato contenedor Ogg que es el recomendado por Xiph.org y es frecuentemente usado con el formato de audio Vorbis.
Theora I es un códec de transformación basado-en-bloque que utiliza la Transformada de coseno discreta 8 x 8 de Tipo-II y compensación de movimiento basada-en-bloque. Esto lo coloca en la misma clase de códecs que MPEG-1, MPEG-2, MPEG-4, y H.263. Sin embargo, los detalles de como los bloques individuales son organizados y como los coeficientes DCT son almacenados en el bitstream difieren substancialmente de estos códecs. Theora soporta únicamente cuadros intra (cuadros I en MPEG) y cuadros inter (cuadros P en MPEG). No existe un equivalente a los cuadros bi-predictivos (cuadros B) encontrados en códecs MPEG.
Theora ofrece un conjunto de características nuevas o mejoradas en comparación al VP3.
Características
- Compensación de movimiento basada-en-bloque
- Bit rate variable de forma-libre (VBR)
- Tamaño de bloque mínimo de 8x8
- Codificación flexible de la entropía
- Formatos de submuestreo de croma 4:2:0, 4:2:2, y 4:4:4
- 8 bits por pixel por color de canal
- Múltiples cuadros (frames) de referencia
- Cuadros intra (I-frames en MPEG), cuadros inter (P-frames en MPEG), pero no B-frames (en MPEG4 ASP, AVC)
- Tecnologías ya usadas por Vorbis
- Permite transcodificación desde VP3 sin pérdidas
Estado
Después de varios años en estado alpha y un año en beta, la Xiph.org Foundation publicó la versión final 1.0 de libtheora el 3 de noviembre de 2008 enfocandose principalmente en la estabilidad, portabilidad y compatibilidad con versiones anteriores.
La versión 1.1 es un esfuerzo patrocinado por Red Hat, Inc. que consiste en usar el codificador de próxima generación con nombre en código "Thusnelda", el cual ya ha demostrado una mejora substancial en la calidad sin romper la compatibilidad hacia atrás.
El formato del bitstream fue congelado el Jueves 1 de julio, 2004. Todos los archivos creados con el codificador alpha 3 (y, por supuesto, codificadores posteriores) pueden ser reproducidos con decodificadores futuros.
El estado "Alfa" de versiones anteriores era algo confuso ya que no se utilizaba para referirse a una fase donde el producto todavía era inestable o que contenía errores que faltaban depurar, sino a que no contenía todas las características necesarias para una versión definitiva. Theora es actualmente un códec maduro y estable para su uso y los archivos creados actualmente pueden ser reproducidos con decodificadores futuros que cumplan con la especificación de Theora.
Desde el lanzamiento 1.0 Beta 1, se cambió la versión del bitstream a 3.2.1 (en versiones anteriores era 3.2.0) y es necesario utilizar el nuevo decodificador de la rama theora-exp escrito por el Dr. Timothy Terriberry el cual cumple con las especificaciones completas de Theora para reproducir los archivos creados con este codificador o posteriores. El contenido nuevo creado con el codificador Beta 1 o posterior necesitará el decodificador nuevo, el contenido antiguo puede reproducirse sin problemas en el decodificador nuevo. Como regla general, todas las aplicaciones actuales necesitan actualizar el decodificador a la versión más reciente para soportar todos los contenidos.
Línea de desarrollo
Theora se encuentra en etapa de desarrollo, en la que Xiph.org ha publicado ocho versiones alfa y tres versiones beta.
Alfas | Fecha | Cambios importantes |
---|---|---|
Alpha 1 | 25 de septiembre de 2002 | Primer lanzamiento de la implementación de referencia de Theora basado el el códec VP3. |
Alpha 2 | 9 de junio de 2003 | Cambios en el bitstream y el API, limpieza del código. |
Alpha 3 | 20 de marzo de 2004 | Cambios en el bitstream. El 1 de julio de 2004 se congela el bitstream, todos los archivos creados con este codificador pueden ser reproducidos con futuros decodificadores. |
Alpha 4 | 15 de diciembre de 2004 | Primer borrador de la especificación del formato Theora I. Correcciones y nuevas funciones. |
Alpha 5 | 20 de agosto de 2005 | Corrección del administrador de bitrate y varias limpiezas del código. |
Alpha 6 | 30 de mayo de 2006 | Integración de código MMX. Actualización mayor de la especificación RTF, actualización menor de la especificación del formato. Varias correcciones. Mejorado el soporte de entradas inválidas. |
Alpha 7 | 20 de junio de 2006 | Habilitado el MMX de manera predeterminada. Correcciones de compilación. |
Alpha 8 | 18 de septiembre de 2007 | Nuevo decodificador de la rama theora-exp escrito por el Dr. Timothy Terriberry. Más optimizaciones. |
Betas | Fecha | Cambios importantes |
---|---|---|
Beta 1 | 22 de septiembre de 2007 | Granulepos modificado para funcionar igual que los otros códecs. Revisión bitstream 3.2.1. |
Beta 2 | 12 de octubre de 2007 | Varias correcciones. Mejorada la documentación del formato. |
Beta 3 | 16 de abril de 2008 | Algunas correcciones. Correcciones en la especificación. Mejoras en la robustez. Eliminado soporte para libogg2 y VS2003. |
Adopción
- Ogg Theora es el estándar nativo para vídeo en la mayoría de sistemas GNU/Linux.
- El navegador de código abierto más popular del mundo, Mozilla Firefox desde su versión 3.1, incluye soporte nativo para reproducir vídeos en Theora.
- Futuras versiones del navegador Opera incluirán soporte para Theora.
- Wikipedia utiliza Ogg Theora para todos sus vídeos.
Véase también
Enlaces externos
- Theora.org
- Xiph.org Foundation
- On2 Technologies
- VP3
- Theora Sea un directorio de videos en el formato theora.