Next gen video kodek AV1 je tady (skoro), aliance AOMedia oznamuje dokončení specifikace

Video kodek AV1, který přináší novou generaci komprese pro streamování na internetu, je téměř hotov a pomalu začíná doba jeho nasazování do praxe.

22

Tento týden se přiblížil možná významný milník ve vývoji digitálního videa na internetu. Po letech vývoje bylo totiž konsorciem AOMedia oznámeno vydání specifikace kodeku či přesněji řečeno formátu AV1, který tato aliance vyvíjela jako konkurenci pro pokročilý formát HEVC, která by ale byla dostupné pro použitá zdarma a také vyvinuta v duchu open source.

AOMedia včera oznámila veřejné vydání verze 1.0 specifikace video kodeku 1.0, což signalizuje dokončení prací na jeho vývoji a přechod do fáze, kdy se tato technologie může pomalu začít šířit a pomalu nasazovat do provozu. To doposud nebylo možné, jelikož formát nebyl finální, nebyl tzv. „zmrazen“, což znamená, že už nebude měněn. Pokud byste video zkomprimované enkodérem před verzí 1.0 veřejně distribuovali, budoucí standardní dekodéry by ho už nedokázaly správně přehrát.

Specifikace potřebuje ještě malou chvíli

V titulu stojí, že kodek je tady „skoro“. Realita je totiž mírně odlišná informacím v tiskové zprávě. Jak zjistíte pohledem do repozitáře na githubu, specifikace je stále ještě označená jako předběžný „draft“. V tuto chvíli ještě pořád není vypořádáno několik zbývajících záležitostí a vývojáři mi potvrdili, že ve skutečnosti k onomu zmrazení formátu ještě nedošlo. Nedávno údajně běžely i konzultace s výrobci na úpravách, které by usnadnily dekodování v hardwarových blocích, ještě tedy může dojít k nějaké změně, která by kompatibilitu rozbila.

Podle vývojářů údajně tiskovou zprávu oznamující vydání specifikace vydalo PR oddělení AOMedia poněkud odtrženě od skutečného stavu schvalování formátu. Pravděpodobně proto, aby byly vyslány ty správné signály o připravenosti technologie AV1 před blízkým veletrhem NAB, který je důležitou výroční událostí pro svět videa, vysílací techniky a souvisejících oborů. Nicméně tato šalba by ve výsledku neměla situaci až zas tak měnit. Oněch problematických bodů zbývá jen pár a na jejich dotažení se usilovaně pracuje. Ač tedy ještě reálně specifikace hotová není, měla by snad být dofinalizována brzy, během několika týdnů.

Netflix
O nasazení kodeku AV1 v streamování má zájem i Netflix

Nasazení AV1 je běh na delší trať

Po dokončení a skutečném zmrazení formátu by ale měla brzy být dostupná počáteční ostrá podpora přehrávání v prohlížečích a přehrávačích videa pomocí knihovny libaom (odvozené od libvpx pro VP8/VP9). AOMedia oficiálně slibuje „až o 30 % lepší“ kompresi proti konkurenčním formátům, což na internetu znamená lepší využití omezené rychlosti připojení a možnost dostat vyšší rozlišení do stejného objemu dat. Tato zlepšení by měla být výraznější ve vyšších rozlišeních.

Ovšem je třeba počítat s tím, že zpočátku formát AV1 nebude úplně praktický a tato zlepšení zůstanou nějakou dobu spíše teoretická. V tuto chvíli je enkodér libaom/libvpx v značně syrovém stavu, což znamená jednak extrémní pomalost, ale vedle toho také velmi rudimentární „rate control“, tedy optimalizaci využití datového toku. Obecně platí, že pro nový formát trvá zrání enkodérů i několik let.

Služby a produkty, v kterým se má podpora AV1 objevit
Služby a produkty, v kterým se má podpora AV1 objevit

Pozitivní je, že nebudeme odkázáni jen na oficiální implementaci libaom. V tuto chvíli již existuje i separátní projekt enkodéru Rav1e, který píše jeden z vývojářů AV1 v jazyce Rust a nachystán je i další nezávislý enkodér Eve od autorů VP9 enkodéru se stejným jménem. Ten ale asi bude stejně jako Eve dostupný jen velkým streamovacím firmám. V rámci projektu FFmpeg by také měl být vyvinut nezávislý dekodér AV1, stejně jako tomu bylo v případě VP8 a VP9 (pro tyto formáty je FFmpeg výkonnější a lépe škáluje na více jader než oficiální knihovna od Googlu). Eventuálně se v procesorech a grafikách objeví i hardwarová podpora, to ale bude trvat delší dobu, nejméně rok až dva.

aomedia-av1-video-format-kodekAV1: konkurence HEVC i technologie nové generace

Formát AV1 je je do určité míry následníkem formátu VP9, který v roce 2013 uvolnil také k bezplatnému použití Google. Ovšem AV1 má podstatně širší „technologickou základnu“. Založen byl na projektu kodeku VP10 (evoluci VP9), prvcích z kodeku Thor od Cisca a experimentálního projektu Daala vyvíjeného Mozillou a Xiphem (autoři Vorbisu) a dalších příspěvcích, které se objevily poté. Přímo k vývoji nebo jako partneři se připojili mnohé další společnosti, takže na rozdíl od VP9 má AV1 skutečně širokou podporu napříč průmyslem, od výrobců hardwaru po firmy živící se streamingem videa.

Členové konsorcia AV1
Členové konsorcia AV1, podporující formát AV1

AV1 má některé technické parametry pokročilejší než HEVC. Například velikosti bloků mohou být ještě větší, formát umožňuje použít nepravoúhlé plochy pro kompenzaci pohybu a používá se například technika predikce barevné složky z luminance (kódování je klasicky v barevném prostoru YUV), což byla technika navržená pro HEVC, ale nakonec nepoužitá. Ambicí aliance AOM je proto HEVC technologicky předstihnout. To by ostatně bylo přirozené vzhledem k několikaletému zpoždění formátu proti tomuto konkurentovi, ale i tomu, že z něj AV1 zdědilo určité inspirace skrze VP9 a VP10.

Kompresi by mělo pomoci, že AV1 používá podstatně více různých nástrojů (i když všechny z HEVC nemá), ale kvůli tomu bude enkódování se srovnatelnou sofistikovaností vyžadovat výrazně větší množství procesorového výkonu. Zhoršení komplexity nastane i při dekódování, tam ale asi bude zpomalení mírnější, dejme tomu jen dvojnásobné, kdežto komplexita enkódování na CPU se nafoukne spíše několikanásobně. Ovšem pokud byste AV1 zkoušeli nyní, nebude náročnost odpovídat předpokladům. Jak dekodéry, tak enkodéry nejsou ještě optimalizované. Oficiální libaom prý například zvládá dekódovat na highendovém procesoru Skylake-X zhruba rozlišení 1080p30 (ne s použitím všech jader, multi-threading asi ještě moc nefunguje).

Next gen video kodek AV1 je tady (skoro), aliance AOMedia oznamuje dokončení specifikace
Ohodnoťte tento článek!
4.47 (89.33%) 15 hlas/ů

22 KOMENTÁŘE

  1. Piratsky ripy se furt delaji do H264. Nechapu proc.
    AV1 jiste super pro Netflix a spol, ze nemusi platit licencni poplatky. My co pouzivame x265 pro soukrome ucely, nam je to jedno. Nemyslim, ze bych prechazel na AV1.

    • Videopřenosy činí údajně skoro 3/4 přenášených dat v Internetu, takže z obecného využívání efektivnějších kodeků profitují v důsledku vyšichni (snížení tlaku na infrastrukturu, dostupnější vyšší kvalita při dané rychlosti, obecná dostupnost vyššího rozlišení/kvality). Netflix používá HEVC pro 4K obsah a pro nižší rozlišení/kvality snad využívá H.264.

    • Pirátské groupy, které to mají skoro jako povolání to mají vcelku promyšlené a h264 mají z mnoha důvodů. Mají na to už optimální profily s dobrým poměrem velikost/kvalita/čas encodingu. Navíc pro SD a HD rozlišení je to výrazně vhodnější než h265, u FullHD se to láme a někdo to jede na h265. Případně na h265 dávají to, co je třeba BRrip, ale TVripy s logy televize, střihy přes reklamy apod. nemá význam extra tlačit na zmenšení souboru při výrazně delším encodingu.

      • Ony jsou hlavně strašně konzervativní (=obvykle pozadu) a ne všechny volby formátů musí být logické, co jsem tak odpozoroval 🙂 Například přechod z xvid na x264, ten byl u pirátů (mimo anime) IIRC hodně pozdě?

        • To není pravda prosím vás. Nejstahovanější jsou h264 protože si to všechny sociálky stahujou na svoje prehistorické zařízení. Jakmile se objeví film FHD v h265 tak okamžitě začnou brečet, kdy bude 720p v h264 protože nic jiného jejich sencor přehrávač nepřehraje. Piráti byli vždy o krok ve předu. Problém je výrobcích kdy prostě nová podpora nového kodeku vyžaduje upgrade hardware. U počítače vyměníte procák, nebo grafiku nebo to nějak utáhnete silou CPU, ale u televize nebo setboxu težko. Za posledních pár měsíců co se začínají objevovat UHD snímeky jsou všechny v h265, proč asi, protože nikdo nebude stahovat (a mršit si ratio) 80GB když může mít to stejný za 40GB.

  2. Je mi šumák, zda je nějaká komprese open source nebo ne. Pro mě je důležité rozšíření a podpora. Je to vidět na HDMI – přestože je licencované, tak se v AV používá a má podstatně lepší podporu u výrobců, jak třeba DisplayPort (také i proto, že DP neumí to, co umí HDMI, ale šlo by to dodělat, kdyby chtěli) a rychleji se rozšiřují nové verze HDMI proti DP. Na tom, že někdo něco vymyslí a má za to odměnu nevidím nic špatného. Nejsem „sluníčkář“, který když vidí něco Open Source, tak z toho čůrá blahem :-).

    PS: Jen bych upřesnil neustále používanou a zažitou „dezinformaci“ i zde v nadpisu a perexu (v textu to pak Honza správně upřesňuje), že H.265 nebo H.264 nebo AV1 je kodek. Není to kodek, je způsob komprese. Kodek je konkrétní implementace daného způsobu komprese nebo dekomprese, takže kodek je např. ffmpeg, ale ne HEVC.

    • Ad slovo kodek.
      Já chvíli zvažoval, zda to použít. Vím, že úplně rigorózně správně by bylo formát, nebo něco takového. Jenže to „kodek“ se pro video kompresi zažilo tak moc, že mi přijde, že se už kolokviálně používá víc a je to lepší označení. Protože líp vymezuje tu podstatu věci, tedy že je to formát/způsob komprese videa (nebo audia), kdežto jenom „formát“ může navádět i k jiným věcem (poměr stran, formát digitálního TV vysílání, ale hlavně asi ke zmatení s kontejnéry – AVI, MKV, MP4). Kdežto u „kodek“ se tím slovem dneska prakticky vždycky míní druh komprese.

      Tudíž jsem to tam taky tak použil. IMHO to není špatný termín, když přijmeme, že prostě došlo k významovému posunu. Ten reálně nastal, protože v tom původním významu (hardware nebo software, který kombinuje kódování i dekódování) se to prakticky vůbec nepoužívá. Ono taky takové věci už dneska moc nejsou, používáme slova dekodéry a enkodéry a ty jsou prakticky vždycky separátní knihovna/kód/hardwarový blok.

      Je to trochu jako čipset/čipová sada. Reálně to už nic takového jako kdysi není, už přes deset let jsou tu „čipsety“ tvořené jediným kusem a někdy už je to dokonce jenom blok integrovaný v CPU. Jenže ten termín má svoji hodnotu v tom, že označuje ty funkce, které čipset měl a které se zas tak nezměnily. Proto má asi smysl ho držet a nenahrazovat ho každé dva roky něčím jiným podle situace.

      • Je pravda, že kdyby v nadpisu bylo místo kodek napsáno „komprese“ nebo „kódování“, tak by se asi spousta lidí v souvislosti s dosud neznámou zkratkou AV1 nechytala a netušila by, o čem je řeč 🙂

    • To je právě ten problém, že dobrý enkodér trvá dva, tři roky. Přidat multi-threading a přepsat nejdůležitější funkce do ASM jde ovšem ještě jakž takž dobře, takže tam by to až tak dlouho být nemuselo. (I když v případě libpvx se třeba Google v podstatě pro VP9 nikdy nedokopal udělat skutečné MT – protože to používají jenom na youtube a tam jim nevadí všechno převádět v jednom vlákně, protože dělají spoustu videjí paralelně.)
      Na rychlejší enkódování bude taky třeba v tom enkodéru udělat různé heuristické zkratky, aby se neanalyzovaly všechny volby, které ten formát při kompresi určitého bloku má, protože možných kombinací je hrozně moc (víc, než u předešlých formátů).

      Horší bude to vyladění kvality a psychovizuálních optimalizací, to než se dotáhne, aby ten formát měl dobrou subjektivní kvalitu i na vyšších datových tocích, to může někdy trvat dost dlouho a je to asi hodně těžký udělat. Třeba x264 se tam dostalo tak zhruba v roce 2009.

        • Tam bych to viděl na rok až dva, nebude to tak hrozné. Firmy které ty dekódovací bloky dělají, spolupracovaly přímo na návrhu, takže by měly mít ideální pozici pro implementaci. Vím že třeba transformace byla změněná (k horšímu bohužel), aby mohl být hardwarový blok pro ni sdílený s VP9. Některé ARM čipy to podle mě budou mít hodně rychle, pak už to závisí hlavně na prioritích a hardwarových cyklech. V průběhu příštího roku by se asi mohlo něco objevit.

          • Vzhledem k tomu jak dlouho trvalo Intelu a AMD zakomponování hardwarové podpory HEVC a jak dlouho trvá vývoj nových CPU, tak bych byl spíše pesimistou v tomto směru.

          • HEVC byl schválen v 6/2013 a AMD HW dekódování HEVCu prezentovalo v 1/2015 na CESu na APU Carrizo. Intel měl částečnou akceleraci dekódování HEVCu snad již v řadě Broadwell (1/2015+). Nvidia zahrnula podporu v GTX 950/960 (VP7) s uvedením 1/2015.

          • Já takový optimista nejsem. Jak dlouho je v přehrávačích (nemyslím PC, ale tohle https://multimedialni-centra.heureka.cz/ ) HW podpora H.265? Ještě před rokem/dvěma to moc běžné nebylo a pokud to měli, tak to spíše nefungovalo jak fungovalo. Trvalo to minimálně 3 roky, než se to stalo běžnou věcí.

          • Trh s ARM SoC je vysoce konkurenčním prostředím, takže si případnou konkurenční výhodou někteří tvůrci určitě nenechají ujít. Členem je i ARM, takže i do Mali GPU to má asi cestu otevřenou.