Daala
| Daala | |
|---|---|
| Daala Rainbow Vomit Tiger.png
| |
| Dateiendung: | .ogv
|
| MIME-Type: | video/ogg
|
| Entwickelt von: | Xiph.Org, Mozilla, IETF |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| Art: | Videoformat, verlustbehaftete Videodatenkompression |
| Enthalten in: | Ogg |
| xiph.org/daala | |
Daala ist ein offenes Datenformat zur verlustbehafteten Videokompression. Es wurde unter der Leitung von Timothy B. Terriberry von der Xiph.Org Foundation und dem Hauptsponsor Mozilla entwickelt.<ref name="GigaOm" /> Unter drei Dutzend weiteren Beitragenden außerhalb dieser Organisationen finden sich auch Ingenieure von Google Inc. und Cisco Systems. Technologien aus Daala und Opus fließen mittlerweile in AV1 ein.
Der Name ist von der weiblichen Fantasiefigur Admiral Natasi Daala aus Star Wars übernommen.
Die Referenzimplementierung ist in C geschrieben und wird als Freie Software mitsamt Quellcode unter den Bedingungen einer BSD-artigen Lizenz veröffentlicht.
Für in Daala verwendete und dafür entwickelte Techniken werden Softwarepatente angemeldet und freizügig zur allgemeinen Nutzung zur Verfügung gestellt.<ref name="Patente" /> Dabei wird sich allerdings ihre Verwendung zur Abwehr von Patentklagen Dritter vorbehalten.
Die Entwicklung wurde seit dem 20. Juni 2013 durch eine Serie unregelmäßig erscheinender Beiträge zur zugrundeliegenden Technik auf der Website der Xiph.Org Foundation begleitet.<ref name="IntroducingDaalaJune2013Xiph" /><ref name="Tran et al" /><ref name="Malvar" /> Außerdem hielten Projektbeteiligte Vorträge bei verschiedenen IT-Konferenzen.
Entwurfsziele[Bearbeiten]
Es soll als zukünftiger Standard für den Einsatz im Internet und für Echtzeitanwendungen geeignet sein. Dafür soll es offen dokumentiert und frei von Softwarepatentrestriktionen nutzbar sein, um sich möglichst ungehindert verbreiten zu können.<ref name="netvcMarch2015Toms" /> Des Weiteren soll es für eine große Bandbreite von Nutzungsszenarien geeignet sein.
Es wird eine zu anderen modernen Verfahren vergleichbare oder bessere Leistung angestrebt. Die Entwickler setzen auch aus patentrechtlichen Erwägungen weniger auf die inkrementelle Weiterentwicklung bewährter Entwurfsmuster. Stattdessen sollen riskantere Investitionen in das Finden und Erproben von grundlegenden Kodierungstechniken mehr neue und potenziell lohnendere Ansätze erbringen. Dadurch soll die immer stärkere Zunahme des Kodierungsaufwandes bei weiteren Verbesserungen durchbrochen werden, die sich bei der Entwicklung anderer Verfahren zeigt. Alle bisherigen gebräuchlichen Verfahren teilen seit zwei Jahrzehnten (H.261) denselben Grundentwurf.<ref name="slashcam2013" />
Außerdem sollen Möglichkeiten zur Parallelverarbeitung berücksichtigt und Hardware-Unterstützung<ref name="Hardware" /> angestrebt werden.
Es ist als hocheffizientes Videoformat für ähnliche Anwendungen wie High Efficiency Video Coding (HEVC oder H.265) und VP9 gedacht.<ref name="CNet" /> Seine Leistungsfähigkeit zielt dabei erklärtermaßen auf eine Generation nach HEVC und VP9.<ref name="Softpedia" />
Technik[Bearbeiten]
Als eine grundlegende Technik wird eine unkonventionelle Kosinustransformation mit überlappenden Blöcken genutzt. Gegenüber anderen Videocodecs, die die Diskrete Kosinustransformation (DCT) direkt nutzen, reduziert dies das Aufkommen von Blockartefakten, ohne zusätzliche Filtermaßnahmen gegen Blockartefakte implementieren zu müssen.<ref name="Willis" />
Zur Quantisierung nutzt Daala die an der menschlichen Wahrnehmung ausgerichtete Perceptual Vector Quantisation (PVQ, eine sphärische Vektorquantisierung).<ref name="PVQ" /> Chrominanz-Komponenten werden aus der Luminanz-Komponente vorhergesagt. Ein bedingter Ersetzungsfilter ähnlich einem Median- und einem bilateralen Filter wird als in-loop-Filter gegen Ringing-Artefakte eingesetzt.<ref name="CfL" />
Die Ausgabedaten des Kodierers werden mit einer Bereichskodierung zu einem einzigen Bitstrom zusammengepackt.
Geschichte[Bearbeiten]
Innerhalb der Familie der Xiph-Org-Multimedia-Formate ist Daala der Nachfolger des 2004 fertiggestellten Formates Theora. Als wesentliche Motivationen für die Entwicklung eines Videokodierungsstandards werden die Probleme bei der Einigung auf Codecs für WebRTC und die Erfolge bei der Entwicklung des Audiokodierungsstandards Opus genannt. Anknüpfend an Erfolge des Opus-Projektes der Internet Engineering Task Force (IETF) soll dort auch aus Daala ein weltweiter Standard entwickelt werden.<ref name="netvcMarch2015Toms" /> Der Zweck von Daala ist es, eine anfängliche Vorlage für die Entwicklung dieses Standards zu sein. Es ist daher die Hoffnung, dass es durch viele nützliche Beiträge anderer Parteien umgeformt wird oder darin aufgeht.
Erster experimenteller Code existierte bereits im Jahr 2010.<ref name="Code-Import" /> Ab dem 27. Mai 2013 sollten erste Schritte von einem reinen Rechercheprojekt hin zu einem funktionsfähigen Codec-Prototyp erfolgen.<ref name="list" /> Am 30. Mai wurde dann mit einem Alpha-Prototyp Video durch das Internet gestreamt.<ref name="IntroducingDaalaJune2013Xiph" />
Nach mehreren Vortreffen seit dem 1. Oktober 2014 wurde eine entsprechende Arbeitsgruppe der IETF am 18. Mai 2015 offiziell aktiv.<ref name="NetVC" /> Dieser wurden unter anderem eine Reihe von Kodierungstechniken aus Daala als Arbeitsgrundlage vorgelegt.<ref name="drafts-netvc" />
Im Juni 2016 hatte Daala (der algorithmischen Metrik PSNR-HVS-M zufolge) annähernd die gleiche Bitrateneffizienz wie HEVC.<ref name="golem20160609">Sebastian Grüner (golem.de), 9. Juni 2016: Freie Videocodecs teilweise besser als H.265</ref>
Die Entwicklung ist offenbar beendet. Der veröffentlichte Zeitplan endet im Jahr 2015.<ref name="roadmap" /> Die letzten nennenswerten Änderungen am Quellcode wurden im Jahre 2017 vorgenommen.<ref name="src" />
NetVC[Bearbeiten]
Die Internet Engineering Task Force (IETF) hat eine Arbeitsgruppe eingerichtet, die mit der Entwicklung eines „Internet Video Codec“ („NetVC“) beauftragt ist. Im Rahmen der Arbeitsgruppe sind nun auch andere Partner an der Weiterentwicklung von Daala beteiligt. So wird nun zum Beispiel auch Technik integriert, die die Firma Cisco Systems eingebracht hat, welche auch an der Entwicklung von HEVC beteiligt war.<ref name="Thor" /> Sowohl Daala als auch der von Cisco vorgestellte Codec Thor sollen in NetVC aufgehen.<ref name="Grüner" />
Einige der vorläufigen Entwurfsanforderungen für NetVC sind die Unterstützung für eine Farbtiefe von 8 bis 12 Bits je Abtastwert, Unterstützung für Auflösungen bis zu 4K, Unterstützung für 4:2:0-, 4:2:2- und 4:4:4-Farbunterabtastung, Unterstützung für die Farbräume Rec. 709 und Rec. 2020 und Berücksichtigung für Parallelverarbeitung.<ref name="netvcRequirementsDraftMarch2015" /> Zusätzliche Merkmale, die abhängig vom Aufwand zu NetVC hinzugefügt werden könnten, sind verlustfreie Komprimierung, RGB-Farbmodus und Alphakanäle.<ref name="netvcRequirementsDraftMarch2015" />
Literatur[Bearbeiten]
- Henrique S. Malvar: Extended lapped transforms: properties, applications, and fast algorithms. In: IEEE Transactions on Signal Processing. Band 40, Nr. 11, 1992, S. 2703–2714, doi:10.1109/78.165657 (microsoft.com [PDF]).
- Trac D. Tran, Jie Liang, Chengjie Tu: Lapped transform via time-domain pre- and post-filtering. In: IEEE Transactions on Signal Processing. Band 51, Nr. 6, 2003, S. 1557–1571, doi:10.1109/TSP.2003.811222 (thanglong.ece.jhu.edu [PDF]).
Weblinks[Bearbeiten]
- Offizielle Webpräsenz (englisch)
- Leistungsvergleich verschiedener Daala-Versionen nach objektiven Metriken
Einzelnachweise[Bearbeiten]
<references> <ref name="GigaOm">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Open codec pioneer leaves Red Hat, joins Mozilla to work on next-generation video codec.] In: GigaOm. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 20. April 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> <ref name="Patente">Sebastian Grüner: Freier Videocodec: Daala muss Technik patentieren, golem.de, 1. Februar 2015.</ref> <ref name="Willis">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Developing the Opus and Daala codecs.] In: LWN.net. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 20. April 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> <ref name="PVQ">Thomas R. Fischer: A pyramid vector quantizer. In: IEEE (Hrsg.): IEEE Transactions on Information Theory. Band 32, Nr. 4, Juli 1986.</ref> <ref name="CfL">Jean-Marc Valin: Revisiting Daala Technology Demos, 6. Juni 2016.</ref> <ref name="Code-Import">Initial import of Timothy Terriberry’s daala-exp code. In: github.com. GitHub, 13. Oktober 2010, abgerufen am 1. August 2015.</ref> <ref name="list">Nachricht von Timothy B. Terriberry am 20. Mai 2013 über die IETF-Mailingliste video-codec: Daala Coding Party.</ref> <ref name="IntroducingDaalaJune2013Xiph">Introducing Daala. Xiph.Org Foundation, 20. Juni 2013, abgerufen am 21. Juni 2013.</ref> <ref name="Tran et al">T.D. Tran, Jie Liang, Chengjie Tu: Lapped transform via time-domain pre- and post-filtering. In: IEEE Transactions on Signal Processing. Band 51, Nr. 6, Juni 2003, S. 1557–1571, doi:10.1109/TSP.2003.811222 (thanglong.ece.jhu.edu [PDF]). <templatestyles src="Webarchiv/styles.css" />Lapped transform via time-domain pre- and post-filtering ( vom 4. März 2016 im Internet Archive)</ref> <ref name="Malvar">Extended Lapped Transforms: Properties, Applications, and Fast Algorithms, Henrique S. Malvar, Dept. of Electrical Engineering, Universidade de Brasília. in: IEEE Trans. on Signal Processing. Band 40, Nr. 11, S. 2703–2714, November 1992 (PDF).</ref> <ref name="netvcMarch2015Toms">IETF Begins Standardization Process For Next-Generation 'NETVC' Video Codec (Daala). Tom’s Hardware, 25. März 2015, abgerufen am 28. März 2015.</ref> <ref name="slashcam2013">Rudi Schmidts: Daala – besser als H.265/HEVC und V9?, slashCAM, 23. Oktober 2013.</ref> <ref name="Hardware">Thomas Daede: <templatestyles src="Webarchiv/styles.css" />Senior Honors Thesis – Daala in Hardware ( vom 20. März 2015 im Internet Archive), 25. November 2013.</ref> <ref name="CNet">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig VLC steps into next-gen video wars with VP9, HEVC support.] In: CNET. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 20. April 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> <ref name="Softpedia">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Mozilla Announces Next-Generation Video Codec to Leapfrog Google's VP9 and H.265.] In: Softpedia. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 20. April 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> <ref name="NetVC">Internet Video Codec (netvc) – History</ref> <ref name="drafts-netvc">Entwurfsdokumente der NetVC-Arbeitsgruppe</ref> <ref name="netvcRequirementsDraftMarch2015">Video Codec Requirements. IETF, 9. März 2015, abgerufen am 28. März 2015.</ref> <ref name="Thor">NETVC Hackathon Results IETF 93 (Prague) (PDF; 577 kB).</ref> <ref name="Grüner">Sebastian Grüner: Lizenzkostenfreier Videocodec: Aus drei mach eins, golem.de, 23. September 2015.</ref> <ref name="roadmap">Roadmap. 28. Februar 2021, abgerufen am 28. Februar 2021.</ref> <ref name="src">Quellcode. 28. Februar 2021, abgerufen am 28. Februar 2021.</ref> </references>