Daala
Daala | |
---|---|
| |
Dateiendung: | .ogv
|
MIME-Type: | video/ogg |
Entwickelt von: | Xiph.Org, Mozilla, IETF |
Art: | Videoformat, verlustbehaftete Videodatenkompression |
Enthalten in: | Ogg |
Website: | 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.[1] 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.[2] 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.[3][4][5] Außerdem hielten Projektbeteiligte Vorträge bei verschiedenen IT-Konferenzen.
Entwurfsziele
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.[6] 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.[7]
Außerdem sollen Möglichkeiten zur Parallelverarbeitung berücksichtigt und Hardware-Unterstützung[8] angestrebt werden.
Es ist als hocheffizientes Videoformat für ähnliche Anwendungen wie High Efficiency Video Coding (HEVC oder H.265) und VP9 gedacht.[9] Seine Leistungsfähigkeit zielt dabei erklärtermaßen auf eine Generation nach HEVC und VP9.[10]
Technik
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.[11]
Zur Quantisierung nutzt Daala die an der menschlichen Wahrnehmung ausgerichtete Perceptual Vector Quantisation (PVQ, eine sphärische Vektorquantisierung).[12] 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.[13]
Die Ausgabedaten des Kodierers werden mit einer Bereichskodierung zu einem einzigen Bitstrom zusammengepackt.
Geschichte
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.[6] 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.[14] Ab dem 27. Mai 2013 sollten erste Schritte von einem reinen Rechercheprojekt hin zu einem funktionsfähigen Codec-Prototyp erfolgen.[15] Am 30. Mai wurde dann mit einem Alpha-Prototyp Video durch das Internet gestreamt.[3]
Nach mehreren Vortreffen seit dem 1. Oktober 2014 wurde eine entsprechende Arbeitsgruppe der IETF am 18. Mai 2015 offiziell aktiv.[16] Dieser wurden unter anderem eine Reihe von Kodierungstechniken aus Daala als Arbeitsgrundlage vorgelegt.[17]
Im Juni 2016 hatte Daala (der algorithmischen Metrik PSNR-HVS-M zufolge) annähernd die gleiche Bitrateneffizienz wie HEVC.[18]
Die Entwicklung ist offenbar beendet. Der veröffentlichte Zeitplan endet im Jahr 2015.[19] Die letzten nennenswerten Änderungen am Quellcode wurden im Jahre 2017 vorgenommen.[20]
NetVC
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.[21] Sowohl Daala als auch der von Cisco vorgestellte Codec Thor sollen in NetVC aufgehen.[22]
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.[23] Zusätzliche Merkmale, die abhängig vom Aufwand zu NetVC hinzugefügt werden könnten, sind verlustfreie Komprimierung, RGB-Farbmodus und Alphakanäle.[23]
Literatur
- 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
- Offizielle Webpräsenz
- Leistungsvergleich verschiedener Daala-Versionen nach objektiven Metriken
Einzelnachweise
- ↑ Janko Roettgers: Open codec pioneer leaves Red Hat, joins Mozilla to work on next-generation video codec. In: GigaOm. 15. Oktober 2013. Abgerufen am 20. April 2014.
- ↑ Sebastian Grüner: Freier Videocodec: Daala muss Technik patentieren, golem.de, 1. Februar 2015
- ↑ a b Introducing Daala. Xiph.Org Foundation, 20. Juni 2013, abgerufen am 21. Juni 2013.
- ↑ 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]). Lapped transform via time-domain pre- and post-filtering (Memento vom 4. März 2016 im Internet Archive)
- ↑ 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).
- ↑ a b IETF Begins Standardization Process For Next-Generation 'NETVC' Video Codec (Daala). Tom’s Hardware, 25. März 2015, abgerufen am 28. März 2015.
- ↑ Rudi Schmidts: Daala – besser als H.265/HEVC und V9?, slashCAM, 23. Oktober 2013
- ↑ Thomas Daede: Senior Honors Thesis – Daala in Hardware (Memento vom 20. März 2015 im Internet Archive), 25. November 2013
- ↑ Stephen Shankland: VLC steps into next-gen video wars with VP9, HEVC support. In: CNET. 15. November 2013. Abgerufen am 20. April 2014.
- ↑ Lucian Parfeni: Mozilla Announces Next-Generation Video Codec to Leapfrog Google's VP9 and H.265. In: Softpedia. 30. Oktober 2013. Abgerufen am 20. April 2014.
- ↑ Nathan Willis: Developing the Opus and Daala codecs. In: LWN.net. 30. Oktober 2013. Abgerufen am 20. April 2014.
- ↑ Thomas R. Fischer: A pyramid vector quantizer. In: IEEE (Hrsg.): IEEE Transactions on Information Theory. Band 32, Nr. 4, Juli 1986.
- ↑ Jean-Marc Valin: Revisiting Daala Technology Demos, 6. Juni 2016
- ↑ Initial import of Timothy Terriberry’s daala-exp code. In: github.com. GitHub, 13. Oktober 2010, abgerufen am 1. August 2015.
- ↑ Nachricht von Timothy B. Terriberry am 20. Mai 2013 über die IETF-Mailingliste video-codec: Daala Coding Party
- ↑ Internet Video Codec (netvc) – History
- ↑ Entwurfsdokumente der NetVC-Arbeitsgruppe
- ↑ Sebastian Grüner (golem.de), 9. Juni 2016: Freie Videocodecs teilweise besser als H.265
- ↑ Roadmap. 28. Februar 2021, abgerufen am 28. Februar 2021.
- ↑ Quellcode. 28. Februar 2021, abgerufen am 28. Februar 2021.
- ↑ NETVC Hackathon Results IETF 93 (Prague) (PDF; 577 kB)
- ↑ Sebastian Grüner: Lizenzkostenfreier Videocodec: Aus drei mach eins, golem.de, 23. September 2015
- ↑ a b Video Codec Requirements. IETF, 9. März 2015, abgerufen am 28. März 2015.