Chaos en orde rond videocodecs

De strijd tussen h265, av1, vp9 en h266

Inleiding

2015 deed zijn intrede en de taart met twee kaarsjes stond klaar voor high efficiency video coding. Hevc ofwel h265 werd twee jaar oud en de videocodec leek een succesvolle toekomst tegemoet te gaan. Ten opzichte van voorganger h264, die nog altijd veel wordt gebruikt, is de nieuwe compressiestandaard een stuk efficiënter. Ook op het juridische vlak van patenten en de te betalen royalty's leek het wel snor te zitten. Opensourcealternatieven leken geen serieuze vuist te kunnen maken en bovendien zat 4k eraan te komen. Al met al genoeg elementen voor een stevige en aanhoudende wind in de rug voor h265.

Binnen een half jaar werd er echter volop geklaagd. In een artikel uit september 2015 uitte Joe Inzerillo zijn ongenoegen, zoals al valt op te maken uit de titel: 4K gets thumbs down from Discovery, BBC and others at IBC. De toenmalige cto van Major League Baseball Advanced Media was niet te spreken over de licentiesituatie. Daarbij werd zelfs voorgesteld om gebruikers van de h265-standaard een percentage van hun omzet te laten betalen, dus royalty's voor content die met h265 is gecodeerd. Inzerillo gaf aan dat geen enkel mainstreambedrijf daarvoor ging tekenen en hij was stellig in zijn oordeel dat 'het h265-patentgebeuren de 4k- en 8k-verkopen de wind uit de zeilen nam'.

De onduidelijkheid en complexiteit rondom de voorwaarden voor het gebruik van h265 leidden tot een bundeling van de krachten op het opensourcefront. De Alliance for Open Media, opgericht door onder meer Amazon, Facebook, Google, Microsoft, Mozilla en Netflix, kondigde in september 2015 aan dat er gewerkt werd aan een codec zonder royalty's: av1. Verder hanteert Google nog zijn eigen royaltyvrije vp9-codec en onlangs is de opvolger van h265 aangekondigd, met de voorspelbare aanduiding h266, of versatile video coding. Het landschap wordt er dus allerminst overzichtelijker op. Hoe gaat encoderen in zijn werk, welke verschillende videocodecs zijn er allemaal, wat hebben gebruikers eraan, hoe presteren ze en wat zijn de slagingskansen, gelet op alle bijkomende juridische aangelegenheden?

Het nut van videocodecs

Statistieken en nerds zijn een goede combinatie en daar is YouTube het mee eens. Tijdens het afspelen van een YouTube-video op bijvoorbeeld een televisie is het 'Statistieken voor nerds'-venster te openen, met allerlei informatie over die afgespeelde video, zoals de verbindingssnelheid en de huidige resolutie. Daar is ook te zien welke codecs YouTube toepast bij het streamen van video's: veelal de vp9-codec van Google voor het beeldmateriaal en opus of aac voor de audiocompressie.

Foto van een shot uit een veelbekeken hdr-video op YouTube, inclusief een geopend venster met de nerd stats

Een gemiddelde kijker of luisteraar heeft doorgaans niet in de gaten dat er sprake is van compressie, en dat er dus nogal wat wiskunde en algoritmen zijn gebruikt om de video's tot in de huiskamer te brengen. Stream een episode op Netflix en nergens staat dat de video is gecodeerd met h264 of av1. Stop echter een uhd-blu-rayschijfje in een daarvoor geschikte speler en de film wordt enkel weergegeven doordat de speler is ingericht om de compressie via de hevc-standaard te decoderen. Daar zie je verder niets van. Werp een blik op de achterkant van het doosje van een uhd-blu-rayfilm en je vindt genoeg disclaimers waarin bijvoorbeeld Dolby en andere merknamen worden genoemd, maar nergens wordt vermeld dat videocodec h265 is toegepast voor de compressie.

Het nut van compressie

Dergelijke technische informatie zal het grote publiek ook niet interesseren, maar het belang van compressie is groot. Zonder goede compressie past een film niet zomaar op een willekeurig blu-rayschijfje, neemt een rip van de film op een blu-rayschijfje aanzienlijk meer schijfruimte in beslag en zal een stream van een video-on-demanddienst een onoverkomelijk obstakel vormen voor de bandbreedte waarover de gemiddelde consument beschikt.

Anne Aaron, werkzaam bij Netflix als leidinggevende bij de afdeling Encoding Technologies, gaf een sprekend voorbeeld van de problemen die opdoemen bij het zonder compressie streamen van content naar de televisie van de thuisgebruiker. De laatste, 53 minuten durende episode van het tweede seizoen van de serie Jessica Jones was maar liefst 293GB groot toen die als ruw beeldmateriaal aan Netflix werd aangeleverd, conform de jpeg 2000-compressiestandaard. Dat zou vervolgens neerkomen op een datarate van 750Mbit/s. Voor verreweg de meeste consumenten is dat veel hoger dan wat hun internetverbinding haalt. Daarom is het zaak om dat via compressie met pakweg een factor honderd te verkleinen en de beeldkwaliteit er niet te veel onder te laten lijden, zodat het er nog goed genoeg uitziet bij een bitrate van 7,5Mbit/s.

Jessica Jones

In landen waar vooral de smartphone wordt gebruikt en waar Netflix dus vooral mobiel wordt bekeken, zijn mobiele databundels leidend en die zijn lang niet altijd toereikend. Zelfs als de compressie de bitrate terugbrengt tot 750kbit/s, zit je in combinatie met de bandbreedte voor de audio met een vaste databundel van 2GB per maand na het bekijken van vijf uur Netflix al aan de limiet. Voor Netflix en andere streamingdiensten is het dan belangrijk om de beste algoritmen en videocodecs te gebruiken voor een zo hoog mogelijke compressie.

Voorheen gebruikte Netflix veelal een codeoptimalisatiemethode waarbij per titel werd geanalyseerd wat het optimale recept voor het coderen was. Daarbij was de complexiteit leidend. Een film met veel beweging en snelle actie is een stuk complexer en vergt dus meer bits om de informatie te comprimeren en door te geven dan een film met minder beweging of een animatievideo. Zo vergde het relatief eenvoudig te coderen BoJack Horseman 680kbit/s, terwijl Jessica Jones 910kbit/s nodig heeft. Deze besparing bij BoJack Horseman heeft het voordeel dat de animatieserie nu in hd-kwaliteit kan worden gecodeerd rond de 900kbit/s. Per-title encoding of complexity-based encoding heeft dus het voordeel dat per titel de beste aanpak wordt gekozen, zodat er meer bandbreedte vrijkomt om bijvoorbeeld de kwaliteit te kunnen verhogen.

Inmiddels is optimized shot-based encoding leidend bij Netflix. Daarbij wordt het gekozen codeerrecept niet bepaald aan de hand van de hele serie of film, maar op basis van individuele shots uit die content. Ook dit is weer bedoeld om de beste kwaliteit te bereiken met de minste benodigde bits. In vergelijking met de bitrate van 750kbit/s die via complexity-based encoding wordt bereikt bij een waargenomen kwaliteitspercentage van iets boven de zeventig, is bij optimized shot-based encoding op basis van vp9 slechts 270kbit/s nodig bij dezelfde kwaliteit. Dat maakt dat er meer ruimte komt om de kwaliteit te verhogen en gebruikers met weinig beschikbare bandbreedte of kleine databundels kunnen hiermee meer content bekijken.

VMAF of Video Multimethod Assessment Fusion is een maatstaf van Netflix voor het evalueren van de videokwaliteit van het gedecodeerde beeld ten opzichte van het referentiebeeld. Bij deze maatstaf wordt de door de gebruikers ervaren kwaliteitsscore geschat op basis van verschillende kwaliteitsbeoordellingsalgoritmen in combinatie met een support vector machine. Die laatste is een algoritme waarbij zaken als antiruis, verlies aan detail en de visuele natuurgetrouwheid van het beeld een rol spelen.

Hoe werkt videocompressie?

Simpel gezegd kan compressie, en dus beduidend kleinere filmbestanden, alleen gerealiseerd worden door niet alle informatie tot op de pixel nauwkeurig voor elk frame in kaart te brengen. Er moet als het ware informatie genegeerd worden. Daarmee is de compressie doorgaans lossy; het eindresultaat voor de consument is een benadering van de originele content en zal niet exact dezelfde kwaliteit hebben als het origineel. De efficiëntie van compressiemethodes, de effectiviteit van de toegepaste algoritmen en de mate van informatie die wordt genegeerd, zijn grofweg bepalend voor het kwaliteitsverlies ten opzichte van het ruwe materiaal.

Hoe gaat de compressie in zijn werk en hoe zijn daar verbeteringen in aan te brengen? We willen niet vervallen in een gedetailleerde bespreking van de combinaties van verschillende technieken en de achterliggende complexe wiskunde. We kijken slechts hoe standaardcompressietechnieken in beginsel werken en hoe dat proces bij h264 en veel andere codecs is verbeterd.

Voorspellende gaven

Stel je een denkbeeldige scène uit een video voor, waarbij de camera stilstaat en is gericht op een boom waaraan een bonte specht zich vastklampt en met zijn snavel af en toe in de boomstam hakt. In het eerste frame is de vogel nog met zijn kop van de stam verwijderd, maar in het volgende frame zit ie al met zijn snavel tegen de boomschors. In dit voorbeeld heeft alleen de vogel bewogen. De rest, zoals de boom, de lucht en de takken op de achtergrond, is grotendeels onveranderd tussen de twee frames. Zonder compressie zouden volledige beschrijvingen van de scène in beide frames moeten worden worden verstuurd. Met compressietechnieken valt de beeldinformatie in elk frame weliswaar te comprimeren, maar moet nog altijd behoorlijk wat data worden verstuurd. Dat komt mede doordat elk frame afzonderlijk wordt gecomprimeerd, ook al haalt het tweede frame nogal wat informatie uit het eerste.

Die herhaling en de daarmee gepaard gaande extra data is eigenlijk overbodig, want in deze specifieke scène hoeft alleen rekening gehouden te worden met de beweging van de specht. Om compressie op basis hiervan mogelijk te maken, vormt het eerste frame de basis. Dit wordt ook wel het I-frame, keyframe of referentieframe genoemd. Na het decoderen van dit frame kan het volledige beeld worden weergegeven. Het staat dus op zichzelf en is niet afhankelijk van andere frames. Het tweede frame met de specht die op de boomschors inhakt, staat niet op zichzelf en is gebaseerd op het I-frame. Dit wordt het P-frame genoemd met de p van predictive. Dit frame is gebaseerd op een voorspelling vanuit het vorige frame. In plaats van het hele beeld te versturen, wordt bekeken welke gebieden zijn veranderd ten opzichte van het vorige beeld. Zijn er delen die niet veranderd zijn, zoals in dit geval het grootste deel van de boom en de achtergrond, dan wordt die informatie niet opgeslagen of verzonden. Bij de delen waar wel verandering is, volgt compressie. Dan zijn er ook nog B-frames, die wat beeldinformatie betreft zijn gebaseerd op eerdere en toekomstige frames.

Macroblocks

Dat negeren van de beeldinformatie ten opzichte van eerdere frames gebeurt door een frame op te delen in vakjes, ofwel macroblocks. Zie het als een raster dat over het frame wordt geplaatst. Bij een P-frame wordt geanalyseerd welke blocks wel en niet zijn veranderd. Bij geen verandering worden die blocks niet verwerkt. De blocks die wel zijn veranderd, worden gecomprimeerd. Op deze manier kan bij het tweede frame een aanzienlijke hoeveelheid data worden bespaard, oplopend tot 80 procent of meer.

Voorbeeld uit een white paper van Samsung van hoe op basis van I- en P-frames bandbreedte kan worden bespaard. Hier wordt een I-frame opgevolgd door 29 P-frames, waarna weer een nieuw I-frame begint. De benodigde bandbreedte is een stuk hoger bij de I-frames, omdat er een grotere hoeveelheid data wordt verzonden. Zeker bij P-frames met weinig beweging en dus weinig verschil is de bandbreedte een stuk lager.

Verbeteringen bij h265 ten opzichte van h264

Dit concept vormt de basis van h264, waarbij de individuele blocks een formaat van maximaal 16x16 pixels kunnen hebben. H265 gebruikt ook nog steeds de blocks als basis en gebruikt verder een vergelijkbare aanpak bij het coderen, maar verbetert de prestaties van voorganger h264 onder meer door meer flexibiliteit bij de blocks toe te passen. Het maximale formaat is bij h265 een stuk groter en gaat tot 64x64 pixels. Deze blocks worden bij h265 coding tree blocks genoemd, omdat ze kunnen worden onderverdeeld in subgedeeltes. Een ctb van 64x64 kan bijvoorbeeld worden verdeeld in vier blocks van 32x32, die op hun beurt zijn te verkleinen in blocks van 16x16 of 8x8. Deze kleinere blocks binnen een ctb worden coding units genoemd. Deze kunnen vervolgens weer worden opgedeeld in transform units van 32x32, 16x16, 8x8 of 4x4. Deze units vormen de basiseenheid voor de voorspelling binnen de h265-compressiestandaard.

Een coding tree block met vier coding units die rechtsboven en linksonder ook weer zijn opgedeeld in transform units. De cijfers geven de scanvolgorde aan.

Grotere ctb's leiden tot een hogere efficiëntie, maar vergen ook meer codeertijd. Die hogere efficiëntie komt voort uit de hogere mate van flexibiliteit die coding en transform units mogelijk maken. Kleine units worden vaak gebruikt bij gedetailleerde gebieden, zoals hoeken van objecten, terwijl grotere units vaak gebruikt worden om egale gebieden of gebieden met weinig beweging te voorspellen. Door de grotere ctb's en de kleinere units zijn meer vormen mogelijk en kan een codeersysteem een beeld veel efficiënter opbreken in grote blocks, terwijl waar nodig kleinere blocks worden ingezet voor de fijne details. Dat levert een flinke besparing in de bandbreedte op en leidt door de optie van kleine units voor de details niet tot een verslechtering van de beeldkwaliteit ten opzichte van h264.

Macroblocking van het beeld van een bewakingscamera conform h264 (links) en h265. De veel efficiëntere grote blocks kunnen worden gebruikt voor gedeelten waar weinig gebeurt en waar weinig detail noodzakelijk is. Kleinere blocks worden toegepast bij de details en in de gebieden waar activiteit plaatsvindt.

Een andere belangrijke verbetering ten opzichte van h264 is de manier waarop h265 inspeelt op bewegende objecten. Door effectief in te spelen op beweging kan ook aanzienlijk worden bespaard op de bandbreedte of opslagruimte. Stel dat er in een video een auto voorbijrijdt. Bij een stilstaande camera beweegt alleen de auto in een serie frames. Grote delen van het beeld zien er dan vaak in opeenvolgende frames hetzelfde uit, alleen zijn bepaalde delen naar een nieuwe positie verschoven. De koplampen van de auto zitten bijvoorbeeld net in een ander block ten opzichte van een vorig frame.

Links de negen richtingen bij h264 en daarnaast de veel verfijndere richtingsinformatie die in h265 wordt gebruikt

De richting van die verschuiving wordt aangeduid als de motion vector. Het gaat hier om intra prediction: het proberen om informatie te halen uit de omliggende blocks. Het valt echter niet altijd mee om die overeenkomende blocks precies te laten overeenkomen tussen de verschillende frames, dus is het ook nodig om kleine veranderingen bij een block door te geven. H264 heeft maximaal negen richtingen om de beweging van een block aan te geven, terwijl dat er bij h265 in totaal 34 zijn. Door de negen richtingen bij h264 lukt het lang niet altijd om de beweging exact te beschrijven en moeten vaak kleine aanpassingen worden doorgegeven. De 35 richtingen om blockbewegingen door te geven bij h265 maken dat proces veel preciezer en dus hoeft er minder informatie te worden doorgegeven voor het beschrijven van veranderingen of afwijkingen.

Het landschap van videocodecs

Codec is een samenstelling van coder en decoder, en staat voor een systeem dat een audio- en/of videosignaal kan comprimeren en dat signaal vervolgens ook weer kan omvormen tot de gewenste audio en video. De komst van nieuwe codecs is een logisch gevolg van de niet aflatende behoefte om steeds meer data zo efficiënt mogelijk te versturen, en van de toenemende beschikbare rekenkracht en bandbreedte. Daar komt bij dat er geld valt te verdienen met videocodecs, dus hebben bedrijven niet per se de behoefte om zich bij een codec van andere bedrijven aan te sluiten. Ze komen soms liever met een eigen compressiestandaard, zeker als dat besparingen oplevert aan royalty's voor andermans codecs. Zo is een landschap ontstaan dat altijd in beweging is en waarin verschillende codecs worden gebruikt, die ook met elkaar wedijveren. Om daar wat meer op in te zoomen, staan we hieronder stil bij enkele videocodecs die nu de dienst uitmaken of dat wellicht in de toekomst gaan doen.

H264

Advanced video coding, ook wel aangeduid met h264 of mpeg-4 part 10 advanced video coding, werd in 2003 gestandaardiseerd door de ITU-T Video Coding Experts Group en de ISO/IEC Moving Picture Experts Group. De Moving Picture Experts Group zal een belletje doen rinkelen als de naam wordt afgekort tot mpeg. De groep zit achter de videocodec die vandaag de dag nog overal is te vinden. Uit gegevens op Statista zat h264 tussen 2016 en 2018 op een marktaandeel van rond de 80 procent, iets waaraan h265, Googles vp9 en WebM bij lange na niet konden tippen en dat is nog altijd het geval.

MeFeedia liet in 2011 zien hoe snel h264 een opmars heeft gemaakt bij html5-video's op het web. In januari 2010 was de codec verantwoordelijk voor 10 procent van de html5-playback en in juni 2011 was dat al gegroeid tot 69 procent. Deze groeispurt werd verklaard door de opkomst van moderne browsers en de enorme groei in de mobiele sector, waarbij vooral naar Android en iOS kan worden gekeken. Verder heeft de opkomst van op video gerichte tablets een duit in het zakje gedaan, net als slimme tv's en blu-rayspelers. H264 wordt overal toegepast, van streamingdinesten en blu-rays tot aan browsers, besturingssystemen, mobiele platforms, opnameapparaten, kabel- en satelliet-tv, en digitale beveiligingscamera's.

H265

In de begintijd van h264 stond een efficiëntere codec al te trappelen. De in 2013 geïntroduceerde opvolger h265, ook bekend onder de naam hevc en eveneens ontwikkeld door de ITU-T Video Coding Experts Group en de ISO/IEC Moving Pictures Experts Group, zat er al aan te komen wegens voorstellen van de groepen om de h264-standaard te verbeteren. Die verbeteringen, waaronder de ondersteuning van resoluties tot 8192x4320 pixels en een 10bit-kleurruimte, vergden nogal wat extra rekenkracht en die was destijds nog onvoldoende beschikbaar. Om te voorkomen dat de chips overuren moesten draaien en de stroomrekening te veel zou oplopen, werd niet tot het uiterste gegaan bij de mate van compressie in h264. Met de gaandeweg toegenomen rekenkracht en de teruglopende kosten was h265 later wel kansrijk. Ten opzichte van h264 vergt h265 grofweg tien keer zoveel rekenkracht.

De belofte was even simpel als aantrekkelijk: een besparing tot 50 procent in bandbreedte ten opzichte van h264 bij dezelfde videokwaliteit. Daarmee is de nieuwere codec ook een stuk geschikter voor 4k-video's, aangezien al die extra data niet hoeft te leiden tot veel grotere bestanden. Er zijn studies waarbij die besparing op de bits bij 4k-materiaal zelfs opliep naar 64 procent. Niet toevallig is h265 de codec die gebruikt wordt voor de compressie van films op uhd-blu-rays. Ook streamingdiensten maken er gebruik van en uiteraard kunnen allerlei videospelers, zoals Kodi en VLC, met h265 gecomprimeerde data decoderen en afspelen. Dergelijke spelers kunnen handig zijn, mede doordat Microsoft ondersteuning voor h265 uit Windows 10 haalde met de Fall Creators Update.

Uit het Video Developer Report 2019 van Bitmovin blijkt dat h264 nog altijd heer en meester is. In 2019 gaf 91 procent van de ondervraagde ontwikkelaars aan het te gebruiken of in de komende twaalf maanden te gaan implementeren, tegenover 43 procent voor h265. Mpeg2 was goed voor 29 procent, gevolgd door vp9 met 12 procent en av1 met 7 procent. H265 is overduidelijk groeiende, maar kan zijn voorganger voorlopig niet van de troon stoten.

Vp9

Naast de Moving Picture Experts Group heeft ook Google zich niet onbetuigd gelaten. Vp9 kwam uit in 2013 als de opvolger van vp8 en is de dominante codec op YouTube. Ook webbrowsers als Chrome, Opera, Edge en Firefox ondersteunen de codec; er is Android-ondersteuning sinds versie 4.4 KitKat en ook veel smart-tv's ondersteunen vp9-decoding. Netflix maakt eveneens gebruik van vp9 en met de komst van iOS 14 lijken ook iPhone-gebruikers YouTube-video's in 4k en hdr te kunnen streamen, wat voorheen niet kon. Dat komt doordat Google begin 2017 is gestopt met de ondersteuning van h264, is overgestapt op vp9 en hevc niet heeft omarmd. Apple weigerde tot nu toe om vp9 te omarmen, waarschijnlijk mede omdat het bedrijf in hevc heeft geïnvesteerd. Vp9 ondersteunt 4k, 10 of 12bit en hdr, en is daarmee net als hevc geschikt voor uhd-content.

Av1

Vp10 was in de maak en Google publiceerde er onder meer code voor in 2015, maar het bedrijf heeft besloten om vp10 te laten opgaan in een andere videocodec: AOMedia Video 1 of av1. Deze codec is naast vp10 gebaseerd op technologie van de Daala-codec van de Xiph.Org Foundation en Mozilla, en de Thor-codec van Cisco Systems. Av1 kwam in begin 2018 uit en is ontwikkeld door de Alliance for Open Media. Zowel Google als Apple maakt daarvan deel uit, naast veel andere grote namen, zoals Netflix, Facebook, LG, Microsoft en Samsung. Netflix is eerder dit jaar ook al in beperkte vorm begonnen met streamen via de av1-codec, en YouTube en Vimeo maken er ook in beperkte mate gebruik van.

Omdat av1 een relatief jonge codec is, is er nog geen brede ondersteuning. Er is softwarematige ondersteuning door Chrome, Opera, Edge en Firefox, maar de software-implementaties van de av1-standaard, zoals de code-intensieve Libaom-referentiecodec, de voor datacenters en Intel Xeon-processors bedoelde svt-av1-codec en de dav1d-decoder, zijn nog niet allemaal uitontwikkeld en bugvrij. Op hardwarevlak is het niet beter; er zijn nog maar weinig processors of socs die hardwarematige av1-decoding ondersteunen. De Oppo Reno3 5G vormt een uitzondering, doordat deze smartphone is uitgerust met de MediaTek Dimensity 1000, de enige smartphone-soc die het ondersteunt. YouTube voor Android TV is in het voorjaar geüpdatet met av1-ondersteuning. Veel Android TV-apparaten met ondersteuning voor hardware-accelerated av1-decoding zijn er echter niet en de nieuwe Nvidia Shield TV uit 2019 biedt evenmin soelaas. Alleen socs als de Broadcom BCM72190/72180 en de Realtek RTD1311/RTD1319 vormen een uitzondering. LG's 8k-oled-tv's in de ZX-lijn ondersteunen av1 en dat geldt ook voor alle 8k-tv's van Samsung die in 2020 uitkomen.

H266/VVC

De ISO/IEC Moving Picture Experts Group heeft niet stilgezeten en heeft begin deze maand de officiële opvolger van h265 uitgebracht, samen met Fraunhofer HHI, de Video Coding Experts Group en een aantal grote spelers uit de techsector, zoals Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm en Sony. De opvolger heet h266 of versatile video coding. H266 zou in vergelijking met hevc een stuk efficiënter zijn op het vlak van het compressiealgoritme. Volgens Fraunhofer HHI worden nieuwe chips met hardwarematige ondersteuning voor h266 momenteel al ontworpen en de eerste softwarecoders moeten in de herfst uitkomen.

Veel moet nog duidelijk worden, maar h266 zal volgens het consortium weer een flinke stap voorwaarts zijn ten opzichte van h265. Fraunhofer HHI gaf daar een voorbeeld van; een negentig minuten durende uhd-video zou met h265 10GB data opleveren en bij h266 zou dat bij dezelfde kwaliteit uitkomen op 5GB. De codec zou vooral erg effectief zijn bij videomateriaal met een hoge resolutie, waarbij het instituut specifiek het streamen van 4k- en 8k-video's noemt. Ook high dynamic range en 360-gradenvideo's worden ondersteund.

H266 gaat ook nog steeds uit van de principes van zo ongeveer alle voorgangers: de codeeraanpak op basis van het eerder besproken concept van blocks, waarbij elk frame in blocks wordt opgesplitst, waarna alle blocks in een volgorde worden verwerkt. Volgens Christian Feldmann van Bitmovin heeft het consortium dus niet het wiel opnieuw uitgevonden en is h266 geen revolutie, maar vooral een evolutie. Zo zijn bijvoorbeeld de blocks weer een stuk groter; waar ze bij h264 en h265 een formaat hebben van respectievelijk 16x16 en 64x64 pixels, is dat bij h266 128x128 pixels. Om de blocks te coderen, moeten ze meer dan eens opgeknipt worden in kleinere blocks en dat opknippen kan op heel veel manieren gebeuren, leidend tot allerlei vormen. Dat maakt dat de coding units bij h266 veel flexibeler zijn en daarmee veel beter kunnen inspelen op de content die gecomprimeerd moet worden. De sterk toegenomen flexibiliteit is goed nieuws voor de mate van compressie, maar betekent automatisch ook extra hoofdbrekens voor de coder, want die moet alles proberen en berekenen hoe het beste opgesplitst kan worden.

Links de wijze van partitioning/opsplitsen bij h265 en daarnaast de veel grotere flexibiliteit die betracht kan worden bij h266

Evc

Mpeg komt overigens ook nog met twee andere, nieuwe codecs: evc en lcevc. Lcevc is min of meer een add-oncodec, die uitgaat van h264 of h265 en de codeersnelheid daarvan verbetert. Deze codec laten we hier verder buiten beschouwing. Mpeg-5 essential video coding of evc is te beschouwen als een alternatief voor h265 en moet niet alleen een bitratebesparing opleveren van grofweg 31 procent ten opzichte van h264 of 26 procent ten opzichte van h265; de codec is vooral ook bedoeld om iets te doen aan de bekritiseerde licentiestructuur van h265. Evc wordt door mpeg omschreven als 'een codeerstandaard voor degenen die een ISO-standaard willen gebruiken, maar niet in staat zijn hevc te gebruiken'. De codec heeft een deel dat royaltyvrij is en een beter presterend deel, het Main-profile, waaraan wel royalty's zijn verbonden. Dit gedeelte hanteert tools die aan- of uitgezet kunnen worden zonder dat de prestaties er serieus onder lijden.

Na een in oktober 2018 uitgebrachte call for proposals koos mpeg voor het voorstel van Qualcomm, Huawei en Samsung. In april 2020 werd de First Draft International Standard-beschrijving van evc uitgebracht en een maand later gaven Qualcomm, Huawei en Samsung aan de standaard te omarmen. De drie bedrijven hebben naar eigen zeggen elk aanzienlijk bijgedragen aan de nieuwe standaard en geven aan de codec vooral te willen inzetten voor content met 4k, 8k, hdr, vr en ar. Ze zeggen ook het Frand-principe te zullen eerbiedigen. Het betekent dat een patenthouder aangeeft dat hij bereid is de patenten waarvan de technologie in een standaard terechtkomt, beschikbaar te stellen aan geïnteresseerden, door onder redelijke voorwaarden een licentie voor het gebruik van de patenten te verstrekken. De uiteindelijke licentievoorwaarden worden uiterlijk in april 2022 gepubliceerd. Pas als die voorwaarden er zijn, wordt duidelijk of de bedrijven woord hebben gehouden en of de situatie nog altijd overzichtelijk is met een enkele patentgroep.

Youtubelinkje

Licentiechaos bij h265 en opensourceconcurrentie

De komst van vp9 en vooral av1 kan niet los worden gezien van de licentiechaos die h265 heeft gecreëerd. Vp9 en av1 staan namelijk nadrukkelijk te boek als open source en zijn codecs waarvan het gebruik niet gepaard gaat met de betaling van royalty's. Delen van de vp9-standaard zijn weliswaar onderdeel van patenten van Google, maar de aan de codec gerelateerde patenten zijn gratis te gebruiken conform het concept van wederkerigheid. Zolang de gebruiker niet overgaat tot juridische stappen met betrekking tot de patenten, zijn ze vrij te gebruiken.

Patentpools

Hoe anders was en is dat bij h264 en vooral h265. Een bedrijf dat of organisatie die een product met h265-ondersteuning wil uitbrengen, moet eerst licenties afnemen uit in ieder geval drie patentgroepen: Velos Media, Mpeg LA en HEVC Advance. Mpeg LA geeft patenten in licentie van onder meer Apple, Canon, JVC Kenwood en Samsung, terwijl HEVC Advance dat doet voor patenten van onder andere Dolby Labs, Mitsubishi, Samsung, Philips en Warner Bros. Entertainment. Velos Media geeft licenties voor patenten van bijvoorbeeld Ericsson, Panasonic, Qualcomm, Sharp en Sony. Technicolor leek los van HEVC Advance te gaan opereren om zijn patenten bilateraal in licentie te geven, maar het bedrijf trad in oktober 2019 alsnog toe tot deze groep, nadat het in 2018 zijn patenten had verkocht. De reden voor het bestaan van drie pools in plaats van een enkele is simpel: geld. Codec-expert Jan Ozer stelt dat bijvoorbeeld iedereen in HEVC Advance de kans had tot MPEG LA toe te treden, maar ervoor koos dat niet te doen. De motivatie daarvoor was de gedachte dat men meer geld kon verdienen met een andere groep.

Aandeel van patentbezitters in de h265-standaard. Afbeelding: IPWatchdog

Onzekerheid en vertraagde innovatie

Deze patentgroepen zijn in feite pogingen om licentieafnemers een mate van zekerheid te geven dat hun licentie dekking biedt voor zoveel mogelijk patenten. Dat is een stuk handiger dan apart gaan onderhandelen met alle individuele patenteigenaren en het neemt in ieder geval deels de zorgen weg van mogelijke rechtszaken wegens schending van een bestaand hevc-patent. De pool van HEVC Advance bevat zo'n 10.800 patenten, terwijl de pool van MPEG LA ongeveer 7400 patenten heeft. Beide pools delen zo'n 5160 patenten van bedrijven als Canon, JVC Kenwood, Samsung, NEC en Ideahub. Het idee is dat als een bedrijf licenties van alle drie de pools afneemt, veel gedekt is en dat het risico op juridische procedures met andere eigenaren van intellectuele eigendom heel klein is.

Toch is dat niet zo. IPWatchdog schreef in 2018 dat er nog altijd grote techbedrijven met patenten zijn die niet zijn toegetreden tot een van de pools, zoals LG en Huawei, al traden beide bedrijven begin dit jaar uiteindelijk alsnog toe tot HEVC Advance. Dan zijn er ook bedrijven als Samsung en Mediatek, die slechts een deel van de relevante patenten in een of meer patentenpools hebben ingebracht. Twee jaar geleden was twee derde van de relevante patenten geen onderdeel van een van de drie pools. Ook al is dat deel inmiddels wat kleiner, het betekent nog altijd een behoorlijke mate van onzekerheid. Het helpt ook niet dat de verschillende pools niet al vanaf dag één hun licentievoorwaarden gereed hadden. MPEG LA kwam daar in september 2014 mee, HEVC Advance in 2015 en Velos Media was nog veel later.

Die voorwaarden waren bijvoorbeeld dat bij MPEG LA de eerste honderdduizend apparaten royaltyvrij waren, inclusief software-implementaties. Daarna was er een tarief van 20 dollarcent per apparaat tot een jaarlijks maximum van 25 miljoen dollar. HEVC Advance kwam in eerste instantie met een royaltytarief van 2,60 dollar per apparaat en een royaltytarief voor content van 0,5 procent van de omzet. HEVC Advance voerde na veel kritiek weliswaar verlagingen en aanpassingen door, maar de kosten bleven hoog. Ten opzichte van h264 zijn de licentiekosten bij h265 een paar maal zo hoog bij verkoop van meer dan vijf miljoen apparaten.

Volgens een advocaat met kennis van de materie leidden deze hoge kosten, en het gebrek aan transparantie en duidelijkheid tot aarzeling bij contentproviders en sommige hardwareproviders om 4k-technologie te implementeren. Bij gebrek aan duidelijkheid over de tarieven en wat de pools gaan doen, is afwachten een logisch gevolg. Dat heeft volgens hem geleid tot vertraging bij de introductie van uhd-blu-raydiscs en grote streamingplatforms. "Die vertraging was grotendeels een kwestie van geld. Het werd ook wel een beetje veroorzaakt door de concurrerende formats van elke patentpool, maar ze gebruiken de onderliggende compressietechnologie op dezelfde manier."

Prestaties van hevc, av1 en vvc


In het voorgaande zijn al de nodige claims voorbijgekomen waarbij bedrijven achter een codec met een percentage aangeven hoeveel efficiënter hun codec is ten opzichte van een eerdere of concurrerende codec. Om daar wat dieper op in te gaan en iets te kunnen zeggen over de prestatieverhoudingen van vvc, av1 en h265, kunnen we kijken naar eerdere praktijktests.

BBC Research & Development, de technische onderzoeksafdeling van de Britse omroeporganisatie, voerde vorig jaar een test uit waarin naar voren kwam dat vvc, in de vorm van vtm, ofwel het vvc test model, ten opzichte van h265 27 procent beter scoorde op de bitratebesparing bij hd-video en 35 procent bij uhd-video. Av1 bleek tijdens de test redelijk vergelijkbaar met h265.

Uit de grafieken voor de uhd-video's blijkt dat vvc ten opzichte van hevc consistent hogere peak signal-to-noise ratio-waarden haalde bij een gelijke bitrate. De peak signal-to-noise ratio is een kwaliteitsmaatstaf, net als het eerder genoemde vmaf. Ook is te zien dat av1 en hevc elkaar niet veel ontlopen, al benadrukken de onderzoekers dat av1 een belangrijk voordeel heeft. Naarmate de bitrate verder oploopt, haalt hevc av1 in en haalt het een hogere kwaliteit voor dezelfde bitrate. Av1 produceert echter juist video van een hogere kwaliteit op lagere bitrates. Dat laatste, dus gedecodeerde video van een hogere kwaliteit in scenario's met een lage bitrate, is sterk gewenst bij coderen.

Dit vertelt echter niet het hele verhaal. De tijd die een codec nodig heeft om video's te verwerken, is misschien net zo belangrijk. Oplopende verwerkingstijden betekenen oplopende complexiteit en dus de noodzaak van meer computerrekenkracht. Het coderen van video gebeurt doorgaans aan de kant van de omroep of de streamingdienst, mede omdat daar de benodigde rekenkracht aanwezig is. Er moet echter ook gedacht worden aan het scenario van de thuisgebruiker die een video uploadt of een rip maakt van een blu-ray. Het beperken van de complexiteit is zeker voor de thuisgebruiker belangrijk, maar ook voor bedrijven. Zij kunnen dan tijd en kosten besparen door sneller te coderen, al dan niet op goedkopere, eenvoudigere apparaten.

Uit de test van de BBC blijkt dat de efficiëntere compressie van vvc een prijs heeft. In vergelijking met hevc duurt coderen met vvc 6,5 keer zo lang en decoderen 1,5 keer zo lang. Als av1 tegen hevc wordt afgezet, blijkt dat coderen met av1 4 keer zo lang duurt, maar 8 procent sneller is te decoderen. Dit laatste maakt volgens de onderzoekers weer duidelijk dat av1 sterk is geoptimaliseerd voor streaming.

In een ander onderzoek van de Moscow State University werd dit punt van de extra tijd voor coderen met av1 nog eens benadrukt: "Av1-coder heeft een extreem lage snelheid." In een vergelijking met vp9 en hevc kwam av1 wel duidelijk als beste uit de bus, met de kanttekening dat de av1-coder nog niet denderend was en de nodige verbeteringen kon gebruiken. Uit de resultaten blijkt dat av1 dezelfde kwaliteit als de x264-decoder wist te bereiken en daarvoor slechts 55 procent van de data nodig heeft. Vp9 bleek iets beter te presteren dan hevc.

In weer een ander onderzoek uit maart van dit jaar blijkt dat av1 ten opzichte van hevc een bitratebesparing van 7,3 procent haalt bij uhd-video's en 3,8 procent bij hd-video's. Vtm liet av1 echter weer ver achter zich, met besparingen die tussen de 27 en 30 procent lagen. De onderzoekers concluderen dan ook dat de prestatie van av1 een kleine verbetering is ten opzichte van hevc, terwijl zowel av1 als hevc significant slechter presteert dan vtm.

Slot

De grote vraag is hoe het veld er over pakweg vijf jaar uitziet. Hoe dominant is h264 dan nog en heeft diens opvolger dan echt het stokje overgenomen of blijven de licentiecomplexiteit en het daarmee gepaard gaande negatieve imago de h265-codec parten spelen? Av1 is specifiek in het leven geroepen als reactie op de licentiechaos die h265 heeft gecreëerd en lijkt daarmee automatisch een streepje voor te hebben. Mpeg reageerde weer op het ogenschijnlijke royaltyvrije karakter van av1 door evc uit te brengen. En het duurt nog wel even voordat vvc echt tot leven komt, maar hoe levensvatbaar deze zeer geavanceerde maar zeer complexe codec wordt, is nog niet te zeggen. Het is lastig het landschap van over vijf, laat staan tien jaar te schetsen. Veel hangt af van marktbeslissingen, hoe goed codecs (verder) worden ontwikkeld, of er voldoende hardwarematige ondersteuning komt en of er voldoende goedwerkende decoders verschijnen. Het is misschien ook veelzeggend dat er allerlei bedrijven zijn die in meer dan één codec hebben geïnvesteerd. In zekere zin is dat wedden op meer dan één paard.

Leonardo Chiariglione

Leonardo Chiariglione, een Italiaanse technicus en medeoprichter van mpeg, durft ook nog geen duidelijke winnaars en verliezers aan te wijzen, al is hij wel duidelijk over de organisatie die hij in 1988 heeft opgericht en waaruit hij in juni van dit jaar vertrok. Hij omschrijft het als een 'feodale organisatie' met de nodige logheid en waar onnozele bureaucraten de dienst uitmaken. Veel vertrouwen in mpeg heeft hij niet, maar volgens hem is er vanuit technisch oogpunt weinig dat de drie mpeg-codecs - vvc, evc en lcevc - kan laten ontsporen. Hij stelt dat het gat dat hevc heeft achtergelaten, is opgevuld door av1 en dat vvc zomaar hevc achterna kan gaan, mede doordat het aantal patenthouders volgens hem bij vvc nog veel groter is.

Het in 2018 in het leven geroepen Media Coding Industry Forum, bedoeld om de adoptie van mpeg-standaarden en het licentieproces te bespoedigen, heeft volgens de Italiaan nog weinig voortgang geboekt. Hij zegt dat het je ook moeilijk voor te stellen is dat vvc het beter gaat doen dan hevc. Het kan weleens een heel donker scenario worden voor vvc, omdat de adoptie ervan in de broadcastwereld jaren zal duren, als het al gaat gebeuren, aldus Chiariglione. Evc, een standaard die hij eigenhandig heeft gestimuleerd, acht hij veelbelovend, omdat de kwaliteit vergelijkbaar is met of beter is dan die van av1, maar dan moet er wel een licentie komen en zover zijn Qualcomm, Samsung en Huawei nog niet. Chiariglione zegt dat het hem nooit te doen was om het succes van evc, maar dat evc interne competitie teweegbrengt en zodoende de kansen van vvc kan vergroten. De eenvoudigere en flexibelere licentiesituatie bij evc en av1 kan ertoe leiden dat vvc-patenthouders gedisciplineerd worden en niet anders kunnen dan komen met een degelijke licentie. "Hoewel ik zo'n ontwikkeling verwelkom, schat ik de kans dat dat gebeurt niet hoog in."

Av1 toch niet royaltyvrij?

Is av1 dan echt niet te stoppen? De codec wordt veelal gepresenteerd als het royaltyvrije alternatief, maar dat beeld behoeft toch de nodige nuance. Sisvel heeft in maart een av1-patentpool aangekondigd. De oorspronkelijke pool bestond uit JVC Kenwood, NTT, Orange, Philips en Toshiba, die overigens ook allemaal patenten in licentie geven aan MPEG LA. Sisvel werd echter benaderd door verschillende bedrijven, waarbij hun ip-claims werden onderzocht. Dat leidde tot negen nieuwe leden voor de patentpool, waaronder Dolby Labs en Ericsson.

De verwachting is dat de deelnemers komen tot een licentie voor bijna tweeduizend av1-patenten. Volgens Sisvel-ceo Mattia Fogliacco is dit een logische ontwikkeling. Hij geeft aan dat het doel van de Alliance for Open Media, het niet hanteren van royalty's, erg moeilijk is. "Elke videocodeertechnologie van de afgelopen dertig jaar is het resultaat van samenwerkingen tussen bedrijven en investeringen van die bedrijven. Het is moeilijk te geloven dat één groep, zelfs een alliantie met de grootte van AOMedia, alle technologie kan ontwikkelen die leidt tot een videocodec." Volgens Fogliacco zijn de voorgestelde av1-royalty's, te weten een standaardtarief van 0,32 dollar voor consumentenbeeldschermapparaten en 0,11 dollar voor consumentenapparaten zonder beeldscherm, redelijk en zal AOMedia dat ook erkennen.

De consument

Wat moet de consument die graag naar streamingdiensten kijkt, weleens video's maakt en uploadt, en zelfs weleens een eigen blu-ray ript, met al deze ontwikkelingen? De betere efficiëntie van nieuwere codecs is in theorie goed nieuws voor iedereen, maar betekent ook meer eisen aan de hardware. En als de bitratebesparingen alleen worden gebruikt om aan de kant van de aanbieder kosten te besparen, heb je er als consument niet veel aan. Lagere bandbreedtes voor dezelfde kwaliteit is vooral goed nieuws in regio's waar mobiel gebruik dominant is of waar beperkte data-abonnementen zijn. Een gemiddelde consument in Nederland met een snelle breedbandverbinding en geen datalimiet heeft in principe weinig aan besparingen op de bandbreedte, tenzij Netflix, Disney+, Amazon Prime en andere streamingdiensten de extra headroom gebruiken om ook de kwaliteit een boost te geven.

In deze coronatijd zien we dat de steamingdiensten maar wat graag voldoen aan een bedenkelijk verzoek vanuit de EU om de kwaliteit van de streams te verlagen. Het aanbieden van lossless audioformaten of het hanteren van bitrates die de 20Mbit/s halen en voorbijgaan, lijkt voorlopig toekomstmuziek. De betere compressie van de nieuwere codecs maakt het mogelijk om de streamingkwaliteit te verbeteren, maar in hoeverre dat gaat gebeuren, hangt af van de commerciële keuzes van deze bedrijven. De bitrate van minder dan 1,5Mbit/s waarmee sommige hd-streams het momenteel nog moeten doen, zegt wellicht veel over de manier waarop de betere compressie zal worden ingezet.

Bron: Tweakers

Copyright CcReturn by Luc Baert 2013 - 2022