Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Streamen in 4K is de nieuwe norm, maar met informatie voor meer dan 8,2 miljoen pixels die elke 16 milliseconden wordt verzonden, is het opslaan en verzenden van 4K-video op internet geen gemakkelijke taak.

Een film van twee uur zou ongecomprimeerd meer dan 1,7 Terabyte aan opslagruimte in beslag nemen. Dus, hoe slagen streamingreuzen zoals YouTube en Netflix erin om video's op te slaan en te streamen die zoveel ruimte innemen?

Nou, dat doen ze niet omdat ze videocodecs gebruiken om films kleiner te maken, maar wat is een videocodec en welke is de beste?

Wat is een videocodec?

Voordat u diep in de complexiteit van videocodecs duikt, is het essentieel om te begrijpen hoe een video wordt gemaakt. Eenvoudig gezegd is video niets anders dan een reeks stilstaande beelden die elkaar snel vervangen.

Door deze hoge veranderingssnelheid denkt het menselijk brein dat de beelden bewegen, waardoor de illusie ontstaat dat je naar een video kijkt. Daarom kijk je bij het bekijken van een video in 4K gewoon naar een reeks afbeeldingen met een resolutie van 2160x3840. Dankzij deze hoge resolutie van afbeeldingen kan een video-opname in 4K een geweldige video-ervaring opleveren. Dat gezegd hebbende, deze hoge resolutie van afbeeldingen vergroot de grootte van de video, waardoor het onmogelijk wordt om te streamen via kanalen met een beperkte bandbreedte, zoals internet.

instagram viewer

Om dit probleem op te lossen, hebben we videocodecs. Een afkorting van coder/decoder of compressie/decompressie, een videocodec comprimeert de stroom van beelden in stukjes data. Deze compressie kan de kwaliteit van de video verminderen of er geen invloed op hebben op basis van de gebruikte compressie-algoritmen.

Zoals de naam al doet vermoeden, verkleint de compressiebit in een codec de grootte van elke afbeelding. Om hetzelfde te doen, maakt het compressie-algoritme gebruik van de nuances van het menselijk oog, waardoor mensen niet weten dat de video's die ze bekijken, zijn gecomprimeerd.

De decompressie daarentegen werkt averechts en geeft de video weer met behulp van de gecomprimeerde informatie.

Hoewel codecs geweldig werk leveren als het gaat om het comprimeren van informatie, kan het belastend zijn voor je CPU om hetzelfde te doen. Hierdoor is het normaal om schommelingen in de systeemprestaties te zien wanneer u algoritmen voor videocompressie op uw systeem uitvoert.

Om dit probleem op te lossen, worden CPU's en GPU's geleverd met speciale hardware die deze compressie-algoritmen kan uitvoeren. Hierdoor kan de CPU de taken uitvoeren terwijl de speciale hardware de videocodecs verwerkt, waardoor de efficiëntie wordt verbeterd.

Hoe werkt een videocodec?

Nu we een basiskennis hebben van wat een videocodec doet, kunnen we kijken hoe een codec werkt.

Chroma-subsampling

Zoals eerder uitgelegd, bestaan ​​video's uit afbeeldingen en vermindert chroma-subsampling de informatie in elke afbeelding. Om dit te doen, vermindert het de kleurinformatie in elk beeld, maar hoe wordt deze vermindering van kleurinformatie gedetecteerd door het menselijk oog?

Nou, zie je, menselijke ogen zijn geweldig in het detecteren van veranderingen in helderheid, maar hetzelfde kan niet gezegd worden over kleuren. Dit komt omdat het menselijk oog meer staafjes heeft (fotoreceptorcellen die verantwoordelijk zijn voor het detecteren van veranderingen in helderheid) in vergelijking met kegeltjes (fotoreceptorcellen die verantwoordelijk zijn voor het onderscheiden van kleuren). Het verschil in staafjes en kegeltjes voorkomt dat de ogen kleurveranderingen waarnemen bij het vergelijken van gecomprimeerde en ongecomprimeerde beelden.

Afbeeldingscredits: Janke op de Engelse Wikipedia/Wikimedia Commons

Om chroma-subsampling uit te voeren, converteert het videocompressie-algoritme de pixelinformatie in RGB naar helderheid en kleurgegevens. Daarna vermindert het algoritme de hoeveelheid kleur in de afbeelding op basis van compressieniveaus.

Redundante frame-informatie verwijderen

Video's zijn opgebouwd uit verschillende beeldframes en in de meeste gevallen bevatten al deze frames dezelfde informatie. Stel je bijvoorbeeld een video voor waarin een persoon spreekt tegen een vaste achtergrond. In dat geval hebben alle frames in de video een vergelijkbare samenstelling. Daarom zijn niet alle afbeeldingen nodig om de video weer te geven. Het enige wat we nodig hebben is een basisbeeld dat alle informatie en gegevens bevat die verband houden met de verandering wanneer we van het ene frame naar het andere gaan.

Om de videogrootte te verkleinen, verdeelt het compressie-algoritme de videoframes in I- en P-frames (voorspelde frames). Hier zijn I-frames de grondwaarheid en worden ze gebruikt om P-frames te maken. De P-frames worden vervolgens weergegeven met behulp van de informatie in de I-frames en de wijzigingsinformatie voor dat specifieke frame. Met behulp van deze methodologie wordt een video opgesplitst in een reeks I-frames die zijn verweven in P-frames, waardoor de video verder wordt gecomprimeerd.

Bewegingscompressie

Nu we de video hebben opgedeeld in I- en P-frames, moeten we kijken naar bewegingscompressie. Een onderdeel van het videocompressie-algoritme dat helpt bij het maken van de P-frames met behulp van de I-frames. Om dit te doen, breekt het compressie-algoritme het I-frame op in blokken die macroblokken worden genoemd. Deze blokken krijgen dan bewegingsvectoren die de richting bepalen waarin deze blokken bewegen bij de overgang van het ene frame naar het andere.

Beeldcredits: Blender Stichting/Wikimedia

Deze bewegingsinformatie voor elk blok helpt het algoritme voor videocompressie om de locatie van elk blok in een aankomend frame te voorspellen.

Hoogfrequente afbeeldingsgegevens verwijderen

Net als veranderingen in kleurgegevens kan het menselijk oog geen subtiele veranderingen in hoogfrequente elementen in een afbeelding detecteren, maar wat zijn hoogfrequente elementen? Zie je, de afbeelding die op je scherm wordt weergegeven, bestaat uit verschillende pixels en de waarden van deze pixels veranderen op basis van de afbeelding die wordt weergegeven.

In sommige delen van het beeld veranderen de pixelwaarden geleidelijk en dergelijke gebieden zouden een lage frequentie hebben. Aan de andere kant, als er een snelle verandering is in de pixelgegevens, wordt het gebied gecategoriseerd als zijnde hoogfrequente gegevens. Videocompressiealgoritmen gebruiken de discrete cosinustransformatie om de hoogfrequente component te verminderen.

Hier is hoe het werkt. Eerst draait het DCT-algoritme op elk macroblok en detecteert vervolgens de gebieden waar de verandering in pixelintensiteit zeer snel is. Vervolgens worden deze gegevenspunten uit de afbeelding verwijderd, waardoor de grootte van de video wordt verkleind.

Codering

Nu alle overbodige informatie in de video is verwijderd, kunnen we de resterende stukjes gegevens opslaan. Om dit te doen, gebruikt het videocompressie-algoritme een coderingsschema zoals Huffman-codering, dat alle databits in een frame naar het aantal keren dat ze in de video voorkomen en verbindt ze vervolgens op een boomachtige manier. Deze gecodeerde gegevens worden opgeslagen op een systeem, waardoor het eenvoudig een video kan renderen.

Beeldcredits: Redor/Wikimedia

Verschillende videocodecs gebruiken verschillende technieken om video's te comprimeren, maar op een heel basaal niveau gebruiken ze de vijf fundamentele methoden die hierboven zijn gedefinieerd om de grootte van video's te verkleinen.

AV1 tegen HEVC vs. VP9: welke codec is het beste?

Nu we begrijpen hoe codecs werken, kunnen we bepalen welke het beste is van AV1, HEVC en VP9.

Samendrukbaarheid en kwaliteit

Als u een 4K-video heeft die veel ruimte op uw systeem in beslag neemt en deze niet naar uw favoriete streamingplatform, ben je misschien op zoek naar een videocodec die de beste compressie biedt verhouding. U moet er echter ook rekening mee houden dat de kwaliteit die het levert afneemt naarmate u de video blijft comprimeren. Daarom is het bij het selecteren van een compressie-algoritme essentieel om te kijken naar de kwaliteit die het levert bij een bepaalde bitsnelheid, maar wat is de bitsnelheid van een video?

Simpel gezegd, de bitsnelheid van een video wordt gedefinieerd als het aantal bits dat de video nodig heeft om een ​​seconde af te spelen. Een 24-bits ongecomprimeerde 4K-video met 60 frames heeft bijvoorbeeld een bitsnelheid van 11,9 Gb/s. Als je dus een ongecomprimeerde 4K-video op internet streamt, moet je wifi elke seconde 11,9 gigabit aan data leveren, waardoor je maandelijkse dataquotum binnen enkele minuten uitgeput raakt.

Door een compressie-algoritme te gebruiken, wordt de bitsnelheid verlaagd tot een zeer kleine hoeveelheid op basis van de bitsnelheid van uw keuze, zonder dat de kwaliteit achteruitgaat.

Als het gaat om samendrukbaarheid/kwaliteitscijfers, leidt AV1 het peloton en biedt 28,1 procent beter compressie in vergelijking met H.265 en 27,3 procent besparing in vergelijking met VP9 terwijl het vergelijkbaar is kwaliteit.

Dus als u op zoek bent naar de beste compressie zonder kwaliteitsverlies, dan is AV1 de compressieverhouding voor u. Vanwege de geweldige compressie-kwaliteitsverhouding van de AV1-codec, wordt deze door Google gebruikt in zijn toepassing voor videoconferenties Google Duo en bij Netflix tijdens het verzenden van video via een gegevensverbinding met lage bandbreedte.

Compatibiliteit

Zoals eerder uitgelegd, codeert een algoritme voor videocompressie een video zodra deze is gecomprimeerd. Om deze video af te spelen, moet uw apparaat hetzelfde decoderen. Als uw apparaat dus niet over de hardware-/software-ondersteuning beschikt om een ​​video te decomprimeren, kan deze niet worden uitgevoerd.

Daarom is het belangrijk om het compatibiliteitsaspect van een compressiealgoritme te begrijpen, want wat heeft het voor zin om inhoud te maken en te comprimeren die niet op veel apparaten kan worden uitgevoerd?

Dus als compatibiliteit iets is waarnaar u op zoek bent, dan zou VP9 de codec voor u moeten zijn het wordt ondersteund op meer dan twee miljard eindpunten en kan op elke browser, smartphone en smart worden uitgevoerd TV.

Hetzelfde kan niet gezegd worden over AV1, aangezien het nieuwere, complexere algoritmen gebruikt om de bestandsgrootte van een video te verkleinen en niet kan worden afgespeeld op oudere apparaten. Wat betreft browserondersteuning: Safari kan AV1 niet afspelen, maar browsers zoals Firefox en Chrome kunnen zonder problemen AV1-video's afspelen.

In termen van hardware-ondersteuning, nieuwe SoC's en GPU's zoals de Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, Nvidia's RTX 4000-serie en Intel Xe en Arc GPU's ondersteunen versnelde hardwaredecodering voor de AV1-codec. Daarom, als u apparaten bezit die door deze chipsets worden aangedreven, kunt u genieten van streaming inhoud die is gecomprimeerd met behulp van de AV1-codecs zonder uw CPU's/GPU's uit te putten.

Als het gaat om de H.265-codec, kunnen de meeste populaire browsers zoals Safari, Firefox en Google Chrome zonder problemen video's uitvoeren die zijn gecodeerd met behulp van het compressie-algoritme. Dat gezegd hebbende, in vergelijking met AV1 en VP9 is H.265 geen open source en moeten er licenties worden aangeschaft om de H.265-codec te gebruiken. Om deze reden kunnen apps zoals Microsoft's Movies & TV-videospeler, die bij het besturingssysteem wordt geleverd, standaard geen video's afspelen die zijn gecodeerd met H.265. In plaats daarvan moeten gebruikers extra add-ons uit de Windows Store installeren om dergelijke video's uit te voeren.

Coderingssnelheid

Videocodecs verkleinen de grootte van een video aanzienlijk, maar om de grootte van een video te verkleinen, moet de niet-gecomprimeerde video worden verwerkt met behulp van software, wat tijd kost. Als u de grootte van een video wilt verkleinen, moet u daarom kijken naar de tijd die nodig is om de video te comprimeren met behulp van een compressie-algoritme.

Wat betreft coderingsefficiëntie, loopt VP9 voorop en is de coderingstijd voor het comprimeren van video's veel lager dan bij H.265 en AV1. AV1 daarentegen is de langzaamste in coderingstijd en kan drie keer meer tijd nodig hebben om een ​​video te coderen in vergelijking met H.265.

Welke codec moet u kiezen?

Als het om videocodecs gaat, is het vinden van de perfecte codec erg subjectief, aangezien elke codec andere functies biedt.

Als je op zoek bent naar de beste videokwaliteit, ga dan voor AV1. Aan de andere kant, als u op zoek bent naar de meest compatibele videocodec, zou VP9 het beste bij u passen.

Ten slotte is de H.265-codec uitstekend geschikt als u een goede kwaliteit en compressie nodig hebt zonder overheadkosten voor codering.