Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Streaming i 4K er den nye norm, men med information for mere end 8,2 millioner pixels, der transmitteres hvert 16. millisekund, er lagring og transmission af 4K-video på internettet ikke nogen nem opgave.

En to timer lang film ville hobe over 1,7 terabyte lagerplads, når den ikke er komprimeret. Så hvordan formår streaminggiganter som YouTube og Netflix at gemme og streame videoer, der fylder så meget?

Nå, det gør de ikke, fordi de bruger video-codecs til at reducere størrelsen af ​​film, men hvad er et video-codec, og hvilken er den bedste?

Hvad er et video-codec?

Før du dykker dybt ned i kompleksiteten af ​​video-codecs, er det vigtigt at forstå, hvordan en video skabes. Kort sagt er video intet andet end et sæt stillbilleder, der hurtigt erstatter hinanden.

På grund af denne høje skiftende hastighed tror den menneskelige hjerne, at billederne bevæger sig, hvilket skaber en illusion af at se en video. Derfor, når du ser en video i 4K, ser du bare på et sæt billeder med en opløsning på 2160x3840. Denne høje opløsning af billeder gør det muligt at optage video i 4K for at levere en fantastisk videooplevelse. Når det er sagt, øger denne høje billedopløsning størrelsen af ​​videoen, hvilket gør det umuligt at streame over kanaler med begrænset båndbredde, såsom internettet.

For at løse dette problem har vi video-codecs. Forkortelse for coder/decoder eller compression/decompression, et video-codec komprimerer strømmen af ​​billeder til bits af data. Denne komprimering kan enten reducere kvaliteten af ​​videoen eller ikke have nogen effekt på den baseret på de anvendte komprimeringsalgoritmer.

Som navnet antyder, reducerer komprimeringsbitten i et codec størrelsen af ​​hvert billede. For at gøre det samme udnytter komprimeringsalgoritmen nuancerne i det menneskelige øje - og forhindrer folk i at vide, at de videoer, de ser, er komprimerede.

Dekompressionen virker tværtimod modsat og gengiver videoen ved hjælp af den komprimerede information.

Selvom codecs gør et godt stykke arbejde, når det kommer til at komprimere information, kan det være belastende for din CPU at udføre det samme. På grund af dette er det normalt at se udsving i systemets ydeevne, når du kører videokomprimeringsalgoritmer på dit system.

For at løse dette problem kommer CPU'er og GPU'er med speciel hardware, som kan køre disse komprimeringsalgoritmer. Gør det muligt for CPU'en at udføre opgaverne, mens den dedikerede hardware behandler video-codecs, hvilket forbedrer effektiviteten.

Hvordan fungerer en video-codec?

Nu hvor vi har en grundlæggende forståelse af, hvad et video-codec gør, kan vi se på, hvordan et codec fungerer.

Chroma subsampling

Som forklaret tidligere består videoer af billeder, og chroma subsampling reducerer informationen i hvert billede. For at gøre dette reducerer det farveinformationen indeholdt i hvert billede, men hvordan opdages denne reduktion i farveinformation af det menneskelige øje?

Nå, ser du, menneskelige øjne er gode til at registrere ændringer i lysstyrke, men det samme kan ikke siges om farver. Dette skyldes, at det menneskelige øje har flere stave (fotoreceptorceller, der er ansvarlige for at detektere ændringer i lysstyrke) sammenlignet med kegler (fotoreceptorceller, der er ansvarlige for at differentiere farver). Forskellen i stænger og kegler forhindrer øjnene i at registrere farveændringer, når de sammenligner komprimerede og ukomprimerede billeder.

Billedkreditering: Janke på engelsk Wikipedia/Wikimedia Commons

For at udføre chroma subsampling konverterer videokomprimeringsalgoritmen pixelinformationen i RGB til lysstyrke og farvedata. Derefter reducerer algoritmen mængden af ​​farve i billedet baseret på kompressionsniveauer.

Fjernelse af redundant rammeinformation

Videoer består af flere billeder af billeder, og i de fleste tilfælde indeholder alle disse billeder den samme information. Forestil dig for eksempel en video med en person, der taler mod en fast baggrund. I et sådant tilfælde har alle frames i videoen en lignende sammensætning. Derfor er alle billeder ikke nødvendige for at gengive videoen. Alt, hvad vi behøver, er et basisbillede, der indeholder al information og data relateret til ændringer, når du flytter fra den ene ramme til den anden.

For at reducere videostørrelsen opdeler kompressionsalgoritmen derfor videobillederne i I- og P-rammer (forudsagte rammer). Her er I-rammer grundsandheden og bruges til at skabe P-rammer. P-rammerne gengives derefter ved at bruge informationen i I-rammerne og ændringsinformationen for den pågældende ramme. Ved at bruge denne metode bliver en video opdelt i et sæt I-rammer, der er indflettet i P-rammer, hvilket komprimerer videoen yderligere.

Bevægelseskompression

Nu hvor vi har opdelt videoen i I- og P-rammer, skal vi se på bevægelseskomprimering. En del af videokomprimeringsalgoritmen, som hjælper med at skabe P-frames ved hjælp af I-frames. For at gøre dette opdeler kompressionsalgoritmen I-rammen i blokke kendt som makroblokke. Disse blokke får derefter bevægelsesvektorer, som definerer retningen, hvori disse blokke bevæger sig, når de skifter fra en ramme til en anden.

Billedkreditering: Blender Foundation/Wikimedia

Denne bevægelsesinformation for hver blok hjælper videokomprimeringsalgoritmen med at forudsige hver bloks placering i en kommende frame.

Fjernelse af højfrekvente billeddata

Ligesom ændringer i farvedata, kan det menneskelige øje ikke registrere subtile ændringer i højfrekvente elementer i et billede, men hvad er højfrekvente elementer? Nå, ser du, billedet, der gengives på din skærm, består af flere pixels, og værdierne af disse pixels ændres baseret på det billede, der vises.

I nogle områder af billedet ændres pixelværdierne gradvist, og sådanne områder siges at have en lav frekvens. På den anden side, hvis der er en hurtig ændring i pixeldataene, kategoriseres området som havende højfrekvente data. Videokomprimeringsalgoritmer bruger den diskrete cosinustransformation til at reducere højfrekvenskomponenten.

Her er hvordan det fungerer. Først kører DCT-algoritmen på hver makroblok og detekterer derefter de områder, hvor ændringen i pixelintensitet er meget hurtig. Det fjerner derefter disse datapunkter fra billedet – hvilket reducerer størrelsen af ​​videoen.

Indkodning

Nu hvor al den overflødige information i videoen er blevet fjernet, kan vi gemme de resterende data. For at gøre dette bruger videokomprimeringsalgoritmen et kodningsskema såsom Huffman-kodning, som forbinder alle databits i en ramme til det antal gange, de forekommer i videoen og forbinder dem derefter på en trælignende måde. Disse kodede data gemmes på et system, hvilket gør det nemt at gengive en video.

Billedkreditering: Redor/Wikimedia

Forskellige video-codecs bruger forskellige teknikker til at komprimere videoer, men på et meget grundlæggende niveau bruger de de fem grundlæggende metoder defineret ovenfor til at reducere størrelsen af ​​videoer.

AV1 vs. HEVC vs. VP9: Hvilken codec er bedst?

Nu hvor vi forstår, hvordan codecs fungerer, kan vi bestemme, hvad der er det bedste ud af AV1, HEVC og VP9.

Komprimerbarhed og kvalitet

Hvis du har en 4K-video, der fylder meget på dit system og ikke kan uploade den til din foretrukne streamingplatform, leder du måske efter et videocodec, der tilbyder den bedste komprimering forhold. Du skal dog også overveje, at kvaliteten, den leverer, falder, efterhånden som du bliver ved med at komprimere videoen. Når du vælger en komprimeringsalgoritme, er det derfor vigtigt at se på den kvalitet, den leverer ved en bestemt bitrate, men hvad er bithastigheden af ​​en video?

Kort sagt defineres en videos bithastighed som antallet af bits, som videoen skal afspille i et sekund. For eksempel har en 24-bit ukomprimeret 4K-video, der kører ved 60 billeder, en bitrate på 11,9 Gb/s. Derfor, hvis du streamer en ukomprimeret 4K-video på internettet, skal din Wi-Fi levere 11,9 gigabit data hvert sekund – og opbruge din månedlige datakvote på få minutter.

Brug af en komprimeringsalgoritme reducerer tværtimod bithastigheden ned til en meget lille mængde baseret på den bitrate efter dit valg uden at forringe kvaliteten.

Når det kommer til tal for kompressibilitet/kvalitet, er AV1 førende og tilbyder 28,1 procent bedre kompression sammenlignet med H.265 og 27,3 procent besparelse sammenlignet med VP9, ​​mens den leverer lignende kvalitet.

Derfor, hvis du leder efter den bedste kompression uden forringelse af kvaliteten, er AV1 kompressionsforholdet for dig. På grund af det store komprimerings-til-kvalitetsforhold for AV1-codec'et, bruges det af Google i sin videokonferenceapplikation Google Duo og af Netflix, mens du sender video på en dataforbindelse med lav båndbredde.

Kompatibilitet

Som forklaret tidligere koder en videokomprimeringsalgoritme en video, når den er komprimeret. For at afspille denne video skal din enhed nu afkode det samme. Derfor, hvis din enhed ikke har hardware/software-understøttelse til at dekomprimere en video, vil den ikke kunne køre den.

Derfor er det vigtigt at forstå kompatibilitetsaspektet af en komprimeringsalgoritme, for hvad er meningen med at skabe og komprimere indhold, der ikke kan køre på mange enheder?

Så hvis kompatibilitet er noget, du leder efter, så bør VP9 være codecet for dig som den understøttes på over to milliarder slutpunkter og kan køre på alle browsere, smartphones og smarte TV.

Det samme kan ikke siges om AV1, da det bruger nyere, mere komplekse algoritmer til at reducere filstørrelsen på en video og ikke kan afspilles på ældre enheder. Med hensyn til browsersupport kan Safari ikke afspille AV1, men browsere som Firefox og Chrome kan afspille AV1-videoer uden problemer.

Med hensyn til hardwaresupport, nye SoC'er og GPU'er som Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, Nvidias RTX 4000-serie og Intel Xe og Arc GPU'er understøtter accelereret hardwareafkodning til AV1 codec. Derfor, hvis du ejer enheder, der drives af disse chipsæt, kan du nyde streaming af indhold komprimeret ved hjælp af AV1-codecs uden at opbruge dine CPU'er/GPU'er.

Når det kommer til H.265 codec, kan de fleste populære browsere som Safari, Firefox og Google Chrome køre videoer kodet ved hjælp af komprimeringsalgoritmen uden problemer. Når det er sagt, sammenlignet med AV1 og VP9 er H.265 ikke open source, og der skal anskaffes licenser for at bruge H.265 codec. Af denne grund kan apps som Microsofts film- og tv-videoafspiller, der følger med operativsystemet, ikke køre videoer, der er kodet med H.265 som standard. I stedet skal brugerne installere yderligere tilføjelser fra Windows-butikken for at køre sådanne videoer.

Kodningshastighed

Video-codecs reducerer størrelsen af ​​en video væsentligt, men for at reducere størrelsen af ​​en video skal den ukomprimerede video behandles ved hjælp af software, hvilket tager tid. Derfor, hvis du vil reducere størrelsen på en video, skal du se på den tid, det tager at komprimere videoen ved hjælp af en komprimeringsalgoritme.

Med hensyn til kodningseffektivitet er VP9 førende i flokken, og kodningstiden til at komprimere videoer er meget lavere end H.265 og AV1. AV1, på den anden side, er den langsomste i indkodningstid og kan tage over tre gange så lang tid at kode en video sammenlignet med H.265.

Hvilken codec skal du vælge?

Når det kommer til video-codecs, er det meget subjektivt at finde det perfekte codec, da hvert codec tilbyder forskellige funktioner.

Hvis du leder efter den bedste videokvalitet, så gå efter AV1. På den anden side, hvis du leder efter den mest kompatible video-codec, ville VP9 være den bedste pasform for dig.

Endelig er H.265-codec en god pasform, hvis du har brug for god kvalitet og komprimering uden kodningsomkostninger.