Video kodek AV1 dlouho nevydržel. Nahradí ho nová verze AV1.1.0, jež není kompatibilní

3. 12. 2018

Sdílet

 Autor: Alliance for Open Media, Cnews.cz

Letos byl dokončen video kodek AV1, jenž je alternativou formátu HEVC, použitelnou bezplatně a vyvinutou velkými internetovými společnostmi jako je Google, Netflix a další (zúčastnily se však i open source organizace jako Mozilla nebo Xiph). Nyní na podzim se už AV1 přes zatím nezralý stav začalo nasazovat třeba na Youtube. Jenže do toho teď přichází překvapivá zpráva, že se tento kodek (přesněji řečeno kompresní formát) zřejmě vrací na rýsovací prkna. Navzdory tomu, že specifikace byla definitivně uzavřena kolem poloviny letoška, bylo zdá se rozhodnuto ji znovu otevřít a formát změnit. Má z toho vzniknout nová revize AV1.1.0, která ale nebude s původní plně kompatibilní. Dojde tedy k fragmentaci tohoto formátu.  

Po krátké době už se chystá nová revize

Zatím to ještě nikde nebylo oficiálně vyhlášeno, ale informace o přípravě nové verze AV1 prosákly vývojářskými kanály například přes projekty Chromium, FFmpeg a na GitHubu. Podle těch firmy vyvíjející tento formát interně připravují novou verzi, která přeruší kompatibilitu a verzí 1.0. Zdá se, že ponese označení AV1.1.0, protože podle vývojářů už je pro nový kodek zdá se navrženo „4cc“ (identifikační kód) AV11.

Součástí nové specifikace by měly být například tyto dvě změny, které by právě měly rozbíjet zpětnou kompatibilitu. Příchod nové revize je zmíněn také zde, zdezde. Je pravděpodobné, že když už bylo jednou o porušení kompatibility rozhodnuto, bude při této příležitosti učiněno více dalších změn. Obecně jde zdá se o úpravy, které omezují některé aspekty původního formátu. Například se stanovuje minimální šířka jednotlivých „tile“ sloupců (nezávisle enkódovaných částí obrazu, podobných slice u H.264 a HEVC).

Jean-Baptiste Kempf, prezident Videolan, zmiňuje AV1.1.0 (Zdroj: AOMediaCodec/av1-spec, GitHub)

Ale protože budou v AV1.1.0 na bitstream videa kladeny tyto nové požadavky navíc, znamená to, že videa zakódovaná pomocí nynějších enkodérů požívajících specifikaci AV1.0 nebudou kompatibilní, protože mohou vyprodukovat videa, kde nově zavedená omezení byla porušena. Zdá se, že zatímco videa ve formátu AV1.1.0 by mohla být kompatibilní s původními dekodéry verze 1.0, opačně to platit nebude. Dekodér nebo zařízení implementující čistě specifikaci AV1.1.0 nebude kompatibilní s videem ve formátu AV1 původní verze („1.0“).

Zmínka o AV1.1.0 v databázi chyb AOMedia (Ronald Bultje je autor/šéf dekodéru Dav1d s vazbami na vývoj AV1)

Hardwarové dekodéry asi mohou podporovat až kodek AV1.1.0

Tyto změny v bitstreamu jsou zdá se činěny hlavně kvůli zjednodušení dekódování, a to patrně toho hardwarového, jelikož softwarové přehrávání je přizpůsobivější. Jde tedy asi o změny, které si vyžádali vývojáři hardwarových dekódovacích bloků pro procesory, GPU a čipy SoC. Je-li toto pravda, pak by to asi mohlo znamenat, že takové hardwarové dekodéry přijdou až pro onu zjednodušenou verzi AV1.1.0 a první původní verzi specifikace AV1 hardwarové přehrávače umět obvykle nebudou. Tuto možnost naznačují i zmínky z IRC kanálu FFmpegu (viz níže), kde padlo, že výrobci hardwaru s implementacemi dekodérů údajně čekají až na AV1.1.0. Ověřeno to však nemáme. I pokud by to byla pravda, jsou samozřejmě možné výjimky, tedy že někdo si dá práci a původní AV1.0 v hardwaru nakonec podporovat bude.

bitcoin_skoleni

[17:55:05 CET] I still wonder how hwaccel for AV1 should work
(...)
[17:56:32 CET] BtbN: seeing hardware people are waiting for the new spec revision which will apparently be incompatible with the current one, it's not something we should worry about for the next two years :p
(...)
[17:56:55 CET] they are breaking the bitstream already?
[17:57:01 CET] looks like
[17:57:03 CET] yeah
[17:57:13 CET] way to fail early
[17:58:19 CET] it's not ideal, but better do it now before hardware is out in the wild than after that

Fragmentace je minus, ale alespoň přichází brzy

AV1.1.0 představuje nepříjemnost, protože dojde k fragmentaci kodeku a některá videa, která mezitím budou vyprodukována, nebudou na budoucích zařízeních fungovat. Také vyvstává otázka, zda bylo nutno tak spěchat s uzavřením původní specifikace (což se stalo v červnu, papírově/marketingově bylo ale oznámeno už v březnu), když byla nakonec nutná nekompatibilní revize. Tzv. „zmrazení bitstreamu“ tak vlastně nakonec žádným zmrazením nebylo a reálné vlastně dokončení kodeku nabralo další zpoždění. Ukazuje to, že organizace AOM úplně nezvládla vývoj a doladění formátu (nebo možná netrpělivost některých členů).

Beta test AV1 na YouTube

Ovšem na druhou stranu je dobře, že když už k této fragmentaci došlo, je to v rané fázi vývoje. Většina materiálu ve formátu AV1 je nyní na streamovacích službách typu Youtube, kde z definice může být nahrazen novějšími streamy. Kvůli tomu, že enkodéry jsou zatím hodně pomalé a/nebo nekvalitní, nemají běžní uživatelé asi zatím vytvořeno mnoho vlastních videí, které by měla být „trvalá“. Pokud tedy reálně bude používáno až AV1.1.0 a videa dle původní specifikace budou hlavně pro testování a postupně zapadnou, asi tato fragmentace nebude problém. Ovšem o něco asi zdrží rozšíření tohoto formátu oproti hypotetickému stavu, kdyby nevznikla a AV1 verze 1.0 bylo opravdu finálním formátem, jak jsme si původně mysleli.