Theora


Theora es un formato de compresión de video con pérdida gratuito . [6] Está desarrollado por la Fundación Xiph.Org y se distribuye sin tarifas de licencia junto con sus otros proyectos de medios abiertos y gratuitos, incluido el formato de audio Vorbis y el contenedor Ogg .

El códec de video libtheora es la implementación de referencia del formato de compresión de video Theora que está siendo desarrollado por la Fundación Xiph.Org. [7] [8]

Theora se deriva del códec VP3 anteriormente patentado , liberado al dominio público por On2 Technologies . Es ampliamente comparable en diseño y eficiencia de velocidad de bits a MPEG-4 Parte 2 , versiones anteriores de Windows Media Video y RealVideo, aunque carece de algunas de las características presentes en algunos de estos otros códecs. Es comparable en las normas filosofía abierta a la BBC 's Dirac códec.

Theora lleva el nombre de Theora Jones , la controladora de Edison Carter en el programa de televisión Max Headroom . [9]

Theora es una tasa de bits variable , DCT basados en esquema de compresión de vídeo. Como la mayoría de los códecs de video comunes, Theora también usa submuestreo de croma , compensación de movimiento basada en bloques y un bloque DCT de 8 por 8. Los píxeles se agrupan en varias estructuras, a saber, bloques, superbloques y macrobloques . Theora admite marcos intracodificados y marcos predictivos hacia adelante, pero no marcos bi-predictivos que se encuentran en H.264 y VC-1 . Theora tampoco admite el entrelazado o profundidades de bits superiores a 8 bits por componente. [2]

Las transmisiones de video de Theora se pueden almacenar en cualquier formato de contenedor adecuado , pero se encuentran más comúnmente en el contenedor Ogg con transmisiones de audio Vorbis o FLAC . Esta combinación proporciona un formato multimedia completamente abierto y libre de regalías. También se puede utilizar con el contenedor Matroska . [10]

El formato de compresión de video de Theora es esencialmente compatible con el formato de compresión de video VP3, que consiste en un superconjunto compatible con versiones anteriores. [11] [12] Theora es un superconjunto de VP3, y los flujos de VP3 (con algunas modificaciones sintácticas menores) se pueden convertir en flujos de Theora sin recompresión (pero no al revés). [12] La compresión de video VP3 se puede decodificar usando implementaciones de Theora, pero la compresión de video Theora generalmente no se puede decodificar usando implementaciones antiguas de VP3.

El predecesor de Theora, On2 TrueMotion VP3, fue originalmente un códec de video patentado y patentado desarrollado por On2 Technologies . VP3.1 se introdujo en mayo de 2000 [13] y, tres meses después, se lanzó la versión VP3.2, [14] que es la base de Theora.

Pasar al software libre

En agosto de 2001, On2 Technologies anunció que lanzarían una versión de código abierto de su algoritmo de compresión de video VP3.2. [15] [16] En septiembre de 2001, On2 Technologies publicó el código fuente del códec VP3.2 bajo la Licencia pública VP3.2 0.1, [17] una licencia personalizada de fuente abierta. [18] [19] La licencia solo otorgaba el derecho a modificar el código fuente si el trabajo más grande resultante continuaba admitiendo la reproducción de datos VP3.2. [17] [20]

En marzo de 2002, On2 respondió a la recepción del público volviendo a otorgar la licencia del códec VP3 bajo la GNU Lesser General Public License . [21] En junio de 2002, On2 donó VP3 a la Fundación Xiph.Org y lo ofreció bajo la licencia de estilo Ogg Vorbis BSD . [22] [23] [24] [25] On2 también otorgó una licencia irrevocable y libre de regalías para cualquier reclamo de patente que pudiera tener sobre el software y cualquier derivado, [2] permitiendo que cualquiera use cualquier códec derivado de VP3 para cualquier propósito. [11] [26] En agosto de 2002, On2 firmó un acuerdo con la Fundación Xiph.Org para hacer de VP3 la base de un nuevo códec de video gratuito, llamado Theora. [27] On2 declaró a Theora como la sucesora de VP3. [ cita requerida ] El 3 de octubre de 2002, On2 y Xiph anunciaron la finalización y disponibilidad del lanzamiento del código alfa inicial de libtheora , la implementación de referencia de Theora. [28]

No existe una especificación formal para el formato de flujo de bits de VP3 más allá del código fuente de VP3 publicado por On2 Technologies. En 2003, Mike Melanson creó una descripción incompleta del proceso de decodificación y formato de flujo de bits VP3 a un nivel superior al del código fuente, con la ayuda de On2 y Xiph.Org Foundation. La especificación de Theora adoptó algunas partes de esta descripción de VP3. [2] [29]

Un sucesor de Theora, Daala , se fusionó más tarde en AV1 . [30]

Especificación de Theora I

"> Reproducir medios
Ejemplo de un video de Theora usado en Wikipedia , que muestra un biplano Polikarpov I-15 en una exhibición acrobática.

El formato de flujo de bits de Theora I se congeló en junio de 2004 después del lanzamiento de libtheora 1.0alpha3. [1] Vídeos codificados con cualquier versión de libtheora ya que alpha3 será compatible con cualquier reproductor futuro. [1] [31] Esto también es cierto para los videos codificados con cualquier implementación de la especificación Theora I desde la congelación del formato. La Especificación Theora I se publicó por completo en 2004. [32] Cualquier cambio posterior en la especificación son actualizaciones menores.

La implementación de referencia de Theora libtheora pasó varios años en estado alfa y beta. [31] La primera versión alfa se publicó el 25 de septiembre de 2002 [33] y la primera versión beta se publicó el 22 de septiembre de 2007. La primera versión estable de libtheora se realizó en noviembre de 2008. [34] [35] El trabajo se centró entonces en mejorando el rendimiento del códec en la rama "Thusnelda" , que fue lanzada como versión 1.1 en septiembre de 2009 como la segunda versión estable de libtheora. [31] [36] Esta versión trajo algunas mejoras técnicas y nuevas características, como el nuevo módulo de control de tasa y el control de tasa de dos pasadas .

El nombre en clave de la próxima versión de libtheora es Ptalarbvorm . [37]

Theora está bien establecido como formato de video en aplicaciones de código abierto y es el formato utilizado para el contenido de video de Wikipedia . Sin embargo, la adopción propuesta de Theora como parte del soporte de video de línea de base en HTML5 resultó en controversia . [38]

Rendimiento de codificación

Las evaluaciones de los codificadores VP3 [39] y Theora tempranos [40] [41] [42] encontraron que su calidad visual subjetiva era inferior a la de los códecs de video contemporáneos. Más recientemente, sin embargo, los desarrolladores de Xiph han comparado el codificador 1.1 Theora con los codificadores H.264 y H.263 + de YouTube , en respuesta a las preocupaciones planteadas en 2009 sobre el rendimiento inferior de Theora por Chris DiBona , un empleado de Google . [43] Encontraron que los resultados de Theora eran casi los mismos que los de la salida H.264 de YouTube, y mucho mejores que la salida H.263 +. [44] [45]

Las características de rendimiento de la implementación de referencia de Theora 1.0 están dominadas principalmente por problemas de implementación heredados del código base original de VP3. [46] El trabajo previo a la versión 1.1 estable se centró en mejorarlos o eliminarlos. Una revisión de mayo de 2009 de este trabajo muestra una mejora considerable en la calidad, tanto subjetiva como según la medición de PSNR , simplemente mejorando la DCT directa y las matrices de cuantificación. [47] Una falla en la versión de FFmpeg utilizada en la prueba inicialmente dio lugar a informes incorrectos de que Theora PSNR superaba al de H.264 . Aunque no se logra este objetivo, la mejora en la PSNR medida y la calidad percibida es considerable. En cualquier caso, las diferencias en calidad, tasa de bits y tamaño de archivo entre un video de YouTube H.264 y un archivo de video Ogg transcodificado son insignificantes. [48] El trabajo adicional sobre la cuantificación adaptativa, así como el ajuste subjetivo detallado general del códec, aún está por llegar.

Rendimiento de reproducción

Hay una base de código VHDL de código abierto para un decodificador de hardware Theora en desarrollo. [49] Comenzó como un proyecto de Google Summer of Code de 2006 y se ha desarrollado en los procesadores Nios II y LEON . [50] Sin embargo, actualmente no hay chips decodificadores Theora en producción, y los reproductores multimedia portátiles , teléfonos inteligentes y dispositivos similares con una potencia informática limitada dependen de dichos chips para proporcionar una reproducción eficiente. Pero dado que decodificar Theora consume menos CPU que decodificar H.264, la necesidad de decodificar Theora acelerada por hardware puede ser algo menor. [ cita requerida ]

Reproducción nativa del navegador

Como se recomendó originalmente en HTML 5 , estos navegadores son compatibles con Theora cuando están integrados por el videoelemento:

  • Mozilla Firefox 3.5 y versiones posteriores [51] [52], incluido Firefox para dispositivos móviles (Fennec). [53]
  • Google Chrome a partir de la versión 3.0.182.2 [54] [55] incluido Chromium a 14 de julio de 2009. [56]
  • Navegador Tizen
  • SeaMonkey a partir de la versión 2.0. [57]
  • Konqueror 4.4.2 [58] [59]
  • Opera a partir de la versión 10.50 . [60] [61] También fue compatible con las compilaciones de video experimentales de Opera 9.5 . [62] [63]
  • Web utiliza WebKitGTK + como motor de renderizado. Como WebKitGTK + usa GStreamer para implementar el reproductor multimedia HTML5, y todos los formatos compatibles con GStreamer (incluido Theora) están disponibles en el navegador.
  • Midori es otro ejemplo de un navegador compatible con Theora mediante WebKitGTK +.

Complementos del navegador

  • Complemento Annodex a través de OggPlay [64]
  • Cortado , un subprograma basado en Java
    • Itheora , un contenedor PHP para Cortado
  • Mv Embed [65] Contenedor de etiquetas de vídeo HTML 5 para numerosos tipos de complementos.
  • Complemento de navegador de reproductor de medios VLC para IE o Firefox
  • Microsoft Edge , a través del complemento Web Media Extensions [66]

Apoyando los marcos de medios

  • DirectShow con el uso de OpenCodecs
  • GStreamer es compatible a través del módulo Theora o FFmpeg, admite aplicaciones basadas en GStreamer, por ejemplo, Totem y Songbird
  • Phonon
  • QuickTime (incluido, entre otros, Safari) con el uso de componentes Xiph QuickTime
  • La suite de medios Silverlight Highgate traerá una implementación de código abierto Theora / Vorbis en Silverlight . Permitirá el soporte sin instalación para transmisión de video HTML5. [67]

Aplicaciones de apoyo

  • FFmpeg (implementación propia)
  • Jugador de la hélice
  • Miro Media Player (anteriormente conocido como Democracy Player )
  • MPlayer y front-end
  • Songbird , Totem , Moovida y todos los jugadores basados ​​en GStreamer
  • VLC (soporte nativo)
  • xine y todos los reproductores basados ​​en libxine como Kaffeine
  • Dragon player y todos los jugadores basados ​​en Phonon

Hay varios programas de terceros que admiten la codificación a través de libtheora:

La biblioteca libtheora contiene la implementación de referencia de la especificación Theora para codificar y decodificar. libtheora aún está en desarrollo por la Fundación Xiph.Org . La biblioteca se publica bajo los términos de una licencia de estilo BSD .

Además, varios marcos de medios tienen soporte para Theora.

  • El decodificador de audio / video ffdshow de código abierto es capaz de codificar videos de Theora usando su interfaz de múltiples códecs de Video para Windows (VFW) dentro de los programas de edición AVI más populares. [70] [71] [72] Admite tanto la codificación como la decodificación de secuencias de vídeo de Theora y utiliza las bibliotecas alpha 4 de Theora. Sin embargo, muchas de las funciones más refinadas de Theora no están disponibles para el usuario en la interfaz de ffdshow.
  • El marco GStreamer tiene soporte para analizar transmisiones de Theora sin procesar, codificar y decodificar transmisiones de Theora sin procesar hacia / desde video YUV [73] [74]

Los siguientes servidores de medios de transmisión son capaces de transmitir videos de Theora:

Elphel es el principal fabricante de cámaras que graban en theora.

  • Software de edición de video
  • Comparación de códecs de video
  • Comparación de codificadores de video

  1. ↑ a b c Giles, Ralph (1 de junio de 2004). "Theora I bitstream freeze" . theora-dev (lista de correo) . Consultado el 25 de septiembre de 2009 .
  2. ^ a b c d "Especificación de Theora" (PDF) . Fundación Xiph.Org. 16 de marzo de 2011 . Consultado el 31 de enero de 2012 .
  3. ^ "PlayOgg! - FSF - Free Software Foundation" . 17 de marzo de 2010 . Consultado el 1 de octubre de 2013 .
  4. ^ "Lanzamiento de Theora 1.1.1" . Fundación Xiph.Org . Consultado el 6 de octubre de 2009 .
  5. ^ "Liberación de libtheora 1.2.0alpha1" . Fundación Xiph.Org. Septiembre de 2010 . Consultado el 10 de octubre de 2010 .
  6. ^ Theora.
  7. ^ Fundación Xiph.Org. "Documentación de libtheora 1.1.0" . Fundación Xiph.Org . Consultado el 25 de septiembre de 2009 .
  8. ^ ohloh . "libtheora" . ohloh . Consultado el 25 de septiembre de 2009 .
  9. ^ "Preguntas frecuentes de Theora" . Fundación Xiph.Org . Consultado el 6 de agosto de 2009 .
  10. ^ "Especificaciones del códec Matroska" . Matroska . Consultado el 6 de agosto de 2009 .
  11. ↑ a b Xiph.org libtheora license (Subversion - Trunk) , obtenido el 16 de agosto de 2009
  12. ^ a b Preguntas frecuentes de Xiph.org : Theora y VP3 . Consultado el 2 de septiembre de 2009.
  13. ^ On2 (17 de mayo de 2000), On2.com lanza la próxima generación de tecnología revolucionaria de video de banda ancha , archivada desde el original el 3 de diciembre de 2007
  14. ^ On2 (16 de agosto de 2000), On2 presenta TrueMotion VP3.2 , archivado desde el original el 3 de diciembre de 2007 , consultado el 23 de agosto de 2010
  15. ^ On2 (7 de agosto de 2001), On2 Technologies to Open Source VP3.2 Video Compression Technology (sitio web archivado) , archivado desde el original el 3 de diciembre de 2007
  16. ^ Mariano, Gwendolyn (7 de agosto de 2001). "Códec de video de On2 para ir de código abierto" . CNET .
  17. ^ a b On2 Technologies (2001), VP3.2 Public License 0.1 , Xiph.Org Foundation , consultado el 10 de febrero de 2008
  18. ^ Bernat, Bill (7 de septiembre de 2001). "On2 ofrece hasta el código fuente VP3.2" . StreamingMedia.com .
  19. ^ On2 (7 de septiembre de 2001), On2 Technologies hace que la tecnología de compresión de video esté disponible para la comunidad de código abierto , archivado desde el original el 7 de diciembre de 2007
  20. ^ Seibert, Stan (septiembre de 2001). "Códec de vídeo VP3.2 de código abierto" . vorbis (lista de correo).
  21. ^ "On2 modifica los términos de licencia para VP3; la empresa responde a las demandas de la comunidad de código abierto" (comunicado de prensa). On2 Technologies. 28 de marzo de 2002.
  22. ^ Fundación Xiph.Org (16 de marzo de 2011). "Especificación de Theora" (PDF) . Fundación Xiph.Org. pag. 1.
  23. ^ On2 (24 de junio de 2002), VP3 se combina con Vorbis para crear la primera plataforma multimedia de código abierto , archivada desde el original el 3 de diciembre de 2007
  24. ^ Linux.com (23 de junio de 2002) Ogg Vorbis, VP3 combinar fuerzas para crear código abierto Paquete Multimedia , Consultado el 2009-08-16
  25. ^ InternetNews.com (24 de junio de 2002) On2 lanza más código abierto en MPEG-4 , obtenido el 16 de agosto de 2009
  26. Xiph.org VP32 codec license (Subversion - Trunk) , obtenido el 16 de agosto de 2009
  27. The Free Library (1 de agosto de 2002) On2 Signs Pact With Xiph.org to Develop / Support VP3 , Consultado el 16 de agosto de 2009
  28. ^ On2 (3 de octubre de 2002), On2 y Xiph anuncian el lanzamiento del código alfa de Theora, solución multimedia basada en VP3-Vorbis , archivada desde el original el 4 de diciembre de 2007
  29. ^ Mike Melanson (mike en multimedia.cx) (8 de diciembre de 2004), VP3 Bitstream Format and Decoding Process , Multimedia.cx, archivado desde el original el 6 de enero de 2013 , consultado el 27 de septiembre de 2009
  30. ^ Stephen Shankland (1 de septiembre de 2015). "Los gigantes de la tecnología unen sus fuerzas para acelerar los videos en línea de alta calidad" . CNET . Consultado el 17 de marzo de 2021 .
  31. ^ a b c Fundación Xiph.Org (24 de septiembre de 2009), Theora.org: noticias , Fundación Xiph.Org , consultado el 25 de septiembre de 2009
  32. ^ Fundación Xiph.Org (17 de septiembre de 2004). "Theora I Specification, Xiph.org Foundation, 17 de septiembre de 2004" (PDF) . Archivado desde el original (PDF) el 28 de septiembre de 2004 . Consultado el 26 de septiembre de 2009 .
  33. ^ https://git.xiph.org/?p=theora.git;a=blob_plain;f=CHANGES;hb=HEAD
  34. ^ Giles, Ralph (3 de noviembre de 2008). "¡Lanzamiento final de Theora 1.0!" . theora-dev (lista de correo) . Consultado el 4 de noviembre de 2008 .
  35. ^ "La Fundación Xiph.Org anuncia el lanzamiento de Theora 1.0" (Comunicado de prensa). Fundación Xiph.Org. 3 de noviembre de 2008 . Consultado el 6 de agosto de 2009 .
  36. ^ Giles, Ralph (24 de septiembre de 2009). "Liberación estable de libtheora 1.1 (Thusnelda)" . theora-dev (lista de correo) . Consultado el 24 de septiembre de 2009 .
  37. ^ Monty (18 de mayo de 2010). "Theora: actualización del proyecto Ptalarbvorm 20100518" . Consultado el 1 de julio de 2010 .
  38. ^ McLean, Prince (7 de julio de 2009). "Ogg Theora, H.264 y el navegador HTML 5 Squabble" . AppleInsider . Consultado el 1 de noviembre de 2020 .
  39. ^ "Disparo de códec MPEG-4 2002 - 1ª entrega" . Doom9 . 2002. Archivado desde el original el 23 de febrero de 2008 . Consultado el 19 de diciembre de 2007 .
  40. ^ Codec shoot-out 2005 - Qualification , Doom9 , 2005, archivado desde el original el 31 de diciembre de 2007 , consultado el 19 de diciembre de 2007
  41. ^ Loli-Queru, Eugenia (12 de diciembre de 2007). "Theora vs. h.264" . OSNews . Consultado el 1 de abril de 2008 .
  42. ^ Halbach, Till (marzo de 2009). "Dirac y Theora vs. H.264 y Motion JPEG2000" . Archivado desde el original el 7 de julio de 2012 . Consultado el 22 de abril de 2008 .
  43. ^ DiBona, Chris (13 de junio de 2009). "H.264-en vs API de complementos" . whatwg (lista de correo) . Consultado el 10 de agosto de 2009 .
  44. ^ Maxwell, Greg (13 de junio de 2009). "Comparación YouTube / Ogg / Theora" . Fundación Xiph.Org . Consultado el 10 de agosto de 2009 .
  45. ^ Merten, Maik (15 de junio de 2009). "Otra comparación de videos en línea" . Fundación Xiph.Org . Consultado el 10 de agosto de 2009 .
  46. ^ Montgomery, Chris. "Theora" el impulso de la "actualización" 1.0 . Consultado el 19 de diciembre de 2007 .
  47. ^ Ventisca, Christopher. "Actualización de Theora 7 de mayo de 2009" . Consultado el 10 de mayo de 2009 .
  48. ^ Richmond, Gary. "Firefogg: transcodificación de videos para abrir estándares web con Mozilla Firefox" . Consultado el 14 de febrero de 2010 .
  49. ^ "Repositorio de Xiph Subversion: trunk / theora-fpga" . Fundación Xiph.Org . Consultado el 10 de agosto de 2009 .
  50. ^ "XiphWiki: Theora Hardware" . Fundación Xiph.Org . Consultado el 10 de agosto de 2009 .
  51. ^ MozillaWiki (18 de marzo de 2009), Firefox3.5 / Features , MozillaWiki , consultado el 11 de octubre de 2009
  52. ^ Mozilla Corporation (30 de junio de 2009), Mozilla Firefox 3.5 Release Notes , Mozilla Corporation , consultado el 11 de octubre de 2009
  53. ^ Mozilla Corporation (9 de febrero de 2010), Firefox Mobile Features , Mozilla Corporation , consultado el 9 de febrero de 2010
  54. ^ Google Chrome para admitir video HTML 5 , SoftSailor, 28 de mayo de 2009, archivado desde el original el 3 de octubre de 2009 , consultado el 11 de octubre de 2009
  55. ^ Shankland, Stephen (28 de mayo de 2009), Google Chrome obtiene soporte de video HTML , cnet news , consultado el 11 de octubre de 2009
  56. ^ Problema 16657: Asegúrese de que los archivos binarios de FFmpeg terminen en instantáneas en todas las plataformas , Google Chromium, 14 de julio de 2009 , consultado el 6 de febrero de 2010
  57. ^ Kaiser, Robert (16 de septiembre de 2009), What's New in SeaMonkey 2.0 Beta 2 , seamonkey-project.org , consultado el 11 de octubre de 2009
  58. ^ Informe de error: deseo de compatibilidad con elementos de audio / vídeo en Konqueror , 13 de mayo de 2007, archivado desde el original el 28 de diciembre de 2012 , consultado el 2 de diciembre de 2009
  59. ^ Plans for Konqueror 4.4 , 26 de noviembre de 2009 , consultado el 2 de diciembre de 2009
  60. ^ Jägenstedt, Philip (31 de diciembre de 2009). "(re) Presentamos - Blog oficial para desarrolladores Core en Opera" . Ópera. Archivado desde el original el 4 de enero de 2010 . Consultado el 2 de enero de 2010 .
  61. ^ Arjan van Leeuwen (31 de diciembre de 2009). "¡Feliz año nuevo! - Blog oficial para desarrolladores de Core en Opera" . Ópera. Archivado desde el original el 4 de enero de 2010 . Consultado el 2 de enero de 2010 .
  62. ^ Compilación experimental de vídeo de Opera con soporte nativo de Ogg Theora , Opera, 25 de abril de 2007, archivado desde el original el 2 de diciembre de 2007 , consultado el 11 de octubre de 2009
  63. ^ A call for video on the web - Opera release on Labs , Opera, 7 de noviembre de 2007 , consultado el 11 de octubre de 2009
  64. ^ OggPlay
  65. ^ Mv Embed Archivado el 4 de agosto de 2008 en Wayback Machine.
  66. ^ https://www.microsoft.com/en-us/p/web-media-extensions/9n5tdp8vcmhs?activetab=pivot:overviewtab
  67. ^ alp (4 de febrero de 2010). "Códec de vídeo HTML5 Theora para Silverlight" . Blog de Alp Toker . Consultado el 14 de febrero de 2010 . La suite de medios Highgate brindará soporte sin instalación para transmisión de video HTML5
  68. ^ Firefogg
  69. ^ ffmpeg2theora
  70. ^ "Resumen de ffdshow" . Consultado el 23 de octubre de 2009 .
  71. ^ Cutka, Milán (4 de octubre de 2002). "Soporte de Theora en ffdshow a ffvfw" . theora-dev (lista de correo).
  72. ^ "Theora en .ogg no solo .avi - Foro de pruebas de ffdshow" . 15 de enero de 2008 . Consultado el 23 de octubre de 2009 .
  73. ^ gstreamer.freedesktop.org. "Complementos base de GStreamer 0.10 (0.10.24.1)" . Consultado el 23 de octubre de 2009 .
  74. ^ gstreamer.freedesktop.org. "GStreamer Base Plugins 0.10 Manual de referencia de complementos - Biblioteca de complementos de Theora" . Consultado el 23 de octubre de 2009 .
  75. ^ Herramientas de video Ogg en SourceForge

  • Theora.org
  • Ejemplos de videos codificados con Theora
  • Por qué Theora es importante para la televisión por Internet
  • Manual de usuario de Theora
  • Formato de carga útil RTP para video codificado de Theora - Xiph.Org , IETF Internet-Draft
  • El controvertido reproductor de video de Wikipedia estará disponible pronto
  • Comparación de códecs H.264 y Theora