Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Поточното предаване в 4K е новата норма, но с информация за повече от 8,2 милиона пиксела, предавана на всеки 16 милисекунди, съхраняването и предаването на 4K видео в интернет не е лесна задача.

Двучасов филм ще заеме над 1,7 терабайта място за съхранение, когато е некомпресиран. И така, как стрийминг гиганти като YouTube и Netflix успяват да съхраняват и предават поточно видеоклипове, които заемат толкова много място?

Е, не го правят, защото използват видео кодеци за намаляване на размера на филмите, но какво е видео кодек и кой е най-добрият?

Какво е видео кодек?

Преди да се потопите дълбоко в сложността на видео кодеците, жизненоважно е да разберете как се създава видеоклип. Казано по-просто, видеото не е нищо друго освен набор от неподвижни изображения, които се сменят бързо.

Поради тази висока скорост на промяна, човешкият мозък мисли, че изображенията се движат, създавайки илюзията, че гледате видео. Следователно, когато гледате видео в 4K, вие просто гледате набор от изображения с разделителна способност 2160x3840. Тази висока разделителна способност на изображенията позволява на видео, заснето в 4K, да осигури страхотно видео изживяване. Въпреки това тази висока разделителна способност на изображенията увеличава размера на видеото, което прави невъзможно поточно предаване през канали с ограничена честотна лента, като интернет.

instagram viewer

За да разрешим този проблем, имаме видео кодеци. Съкратено от кодер/декодер или компресия/декомпресия, видео кодекът компресира потока от изображения в битове данни. Това компресиране може или да намали качеството на видеото, или да няма ефект върху него въз основа на използваните алгоритми за компресиране.

Както подсказва името, битът за компресия в кодека намалява размера на всяко изображение. За да направи същото, алгоритъмът за компресиране използва нюансите на човешкото око – предотвратявайки хората да разберат, че видеоклиповете, които гледат, са компресирани.

Декомпресията, напротив, работи обратното и изобразява видеото, използвайки компресираната информация.

Въпреки че кодеците вършат страхотна работа, когато става въпрос за компресиране на информация, извършването на същото може да бъде натоварващо за вашия процесор. Поради това е нормално да виждате колебания в производителността на системата, когато изпълнявате алгоритми за компресиране на видео във вашата система.

За да решат този проблем, процесорите и графичните процесори идват със специален хардуер, който може да изпълнява тези алгоритми за компресия. Позволява на процесора да изпълнява текущите задачи, докато специалният хардуер обработва видео кодеците, подобрявайки ефективността.

Как работи видеокодек?

Сега, след като имаме основно разбиране какво прави видео кодекът, можем да разгледаме как работи кодекът.

Chroma Subsampling

Както беше обяснено по-рано, видеоклиповете са съставени от изображения, а субсемплирането на наситеността намалява информацията във всяко изображение. За да направи това, той намалява цветовата информация, съдържаща се във всяко изображение, но как това намаляване на цветовата информация се открива от човешкото око?

Е, разбирате ли, човешките очи са страхотни в откриването на промени в яркостта, но не може да се каже същото за цветовете. Това е така, защото човешкото око има повече пръчици (фоторецепторни клетки, отговорни за откриване на промени в яркостта) в сравнение с колбички (фоторецепторни клетки, отговорни за разграничаването на цветовете). Разликата в пръчките и конусите не позволява на очите да открият промени в цвета при сравняване на компресирани и некомпресирани изображения.

Кредити за изображения: Janke в английската Wikipedia/Wikimedia Commons

За да извърши подсемплиране на наситеност, алгоритъмът за видео компресия преобразува информацията за пикселите в RGB в данни за яркост и цвят. След това алгоритъмът намалява количеството цвят в изображението въз основа на нивата на компресия.

Премахване на информация за излишната рамка

Видеоклиповете са съставени от няколко кадъра от изображения и в повечето случаи всички тези кадри съдържат една и съща информация. Например, представете си видео с човек, който говори на фиксиран фон. В такъв случай всички кадри във видеото имат подобна композиция. Следователно всички изображения не са необходими за изобразяване на видеоклипа. Всичко, от което се нуждаем, е основна картина, която съдържа цялата информация и данни, свързани с промяната при преминаване от един кадър към друг.

Следователно, за да намали размера на видеото, алгоритъмът за компресиране разделя видео кадрите на I и P кадри (предвидени кадри). Тук I кадрите са основната истина и се използват за създаване на P кадри. След това P кадрите се изобразяват, като се използва информацията в I кадрите и информацията за промяната за този конкретен кадър. Използвайки тази методология, видеоклипът се разделя на набор от I кадри, вложени в P кадри, компресиращи видеото допълнително.

Компресия на движение

Сега, след като разделихме видеото на I и P кадри, трябва да разгледаме компресията на движение. Част от алгоритъма за компресиране на видео, който помага за създаването на P кадри с помощта на I кадри. За да направи това, алгоритъмът за компресиране разбива I кадъра на блокове, известни като макроблокове. След това на тези блокове се дават вектори на движение, които определят посоката, в която тези блокове се движат при преход от един кадър към друг.

Кредити за изображения: Blender Foundation/Wikimedia

Тази информация за движението за всеки блок помага на алгоритъма за видео компресия да предвиди местоположението на всеки блок в предстоящ кадър.

Премахване на високочестотни изображения

Точно както промените в цветовите данни, човешкото око не може да открие фините промени във високочестотните елементи в изображението, но какво представляват високочестотните елементи? Е, виждате ли, изображението, изобразено на вашия екран, се състои от няколко пиксела и стойностите на тези пиксели се променят в зависимост от показаното изображение.

В някои области на картината стойностите на пикселите се променят постепенно и за такива области се казва, че имат ниска честота. От друга страна, ако има бърза промяна в пикселните данни, областта се категоризира като имаща високочестотни данни. Алгоритмите за видеокомпресия използват дискретно косинусово преобразуване, за да намалят високочестотния компонент.

Ето как работи. Първо, DCT алгоритъмът работи върху всеки макроблок и след това открива областите, където промяната в интензитета на пикселите е много бърза. След това премахва тези точки с данни от изображението, като намалява размера на видеоклипа.

Кодиране

Сега, след като цялата излишна информация във видеото е премахната, можем да съхраним останалите битове данни. За да направи това, алгоритъмът за компресиране на видео използва схема за кодиране като кодирането на Хъфман, което свързва всички битове данни в кадър до броя пъти, в които се появяват във видеото и след това ги свързва по дървовиден начин. Тези кодирани данни се съхраняват в система, което й позволява лесно да рендира видео.

Кредити за изображения: Redor/Wikimedia

Различните видео кодеци използват различни техники за компресиране на видеоклипове, но на много основно ниво те използват петте основни метода, дефинирани по-горе, за намаляване на размера на видеоклиповете.

AV1 срещу. HEVC срещу. VP9: Кой кодек е най-добрият?

След като разбираме как работят кодеците, можем да определим кое е най-доброто от AV1, HEVC и VP9.

Свиваемост и качество

Ако имате 4K видео, което заема много място в системата ви и не можете да го качите на любима платформа за стрийминг, може би търсите видео кодек, който предлага най-добрата компресия съотношение. Трябва обаче също така да имате предвид, че качеството, което предоставя, намалява, докато продължавате да компресирате видеоклипа. Следователно, докато избирате алгоритъм за компресиране, важно е да разгледате качеството, което осигурява при определен битрейт, но какъв е битрейтът на видео?

Просто казано, битрейтът на видеото се определя като броя битове, които видеото трябва да възпроизведе за секунда. Например 24-битово некомпресирано 4K видео, работещо при 60 кадъра, има битрейт от 11,9 Gb/s. Следователно, ако предавате поточно некомпресирано 4K видео в интернет, вашият Wi-Fi трябва да доставя 11,9 гигабита данни всяка секунда - изчерпвайки месечната си квота за данни за минути.

Използването на алгоритъм за компресиране, напротив, намалява битрейта до много малка сума въз основа на битрейта по ваш избор, без да влошава качеството.

Що се отнася до цифрите за свиваемост/качество, AV1 води пакета и предлага 28,1% по-добро компресия в сравнение с H.265 и 27,3 процента спестяване в сравнение с VP9, ​​като същевременно се предоставя подобно качество.

Следователно, ако търсите най-добрата компресия без влошаване на качеството, AV1 е съотношението на компресия за вас. Благодарение на голямото съотношение на компресия към качество на кодека AV1, той се използва от Google в приложение за видеоконференции Google Duo и от Netflix, докато предава видео по връзка за данни с ниска честотна лента.

Съвместимост

Както беше обяснено по-рано, алгоритъмът за компресиране на видео кодира видео, след като бъде компресирано. Сега, за да възпроизведете това видео, вашето устройство трябва да декодира същото. Следователно, ако вашето устройство няма хардуерна/софтуерна поддръжка за декомпресиране на видеоклип, то няма да може да го стартира.

Следователно е важно да разберете аспекта на съвместимостта на алгоритъма за компресиране, защото какъв е смисълът да се създава и компресира съдържание, което не може да работи на много устройства?

Така че, ако съвместимостта е нещо, което търсите, тогава VP9 трябва да бъде кодекът за вас поддържа се на над два милиарда крайни точки и може да работи на всеки браузър, смартфон и смарт телевизор.

Същото не може да се каже за AV1, тъй като той използва по-нови, по-сложни алгоритми за намаляване на размера на файла на видеоклипа и не може да се възпроизвежда на по-стари устройства. Що се отнася до поддръжката на браузъра, Safari не може да възпроизвежда AV1, но браузъри като Firefox и Chrome могат да възпроизвеждат AV1 видеоклипове без никакви проблеми.

По отношение на хардуерната поддръжка, нови SoC и графични процесори като Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, серията RTX 4000 на Nvidia и графичните процесори Intel Xe и Arc поддържат ускорено хардуерно декодиране за кодека AV1. Ето защо, ако притежавате устройства, захранвани от тези чипсети, можете да се наслаждавате на поточно съдържание, компресирано с помощта на кодеците AV1, без да изтощавате мощността на процесора/графичния процесор.

Що се отнася до кодека H.265, повечето популярни браузъри като Safari, Firefox и Google Chrome могат да изпълняват видеоклипове, кодирани с помощта на алгоритъма за компресиране, без никакви проблеми. Въпреки това, в сравнение с AV1 и VP9, ​​H.265 не е с отворен код и трябва да се осигурят лицензи за използване на кодека H.265. Поради тази причина приложения като видео плейъра Movies & TV на Microsoft, които идват с операционната система, не могат да изпълняват видеоклипове, кодирани с помощта на H.265 по подразбиране. Вместо това потребителите трябва да инсталират допълнителни добавки от магазина на Windows, за да стартират такива видеоклипове.

Скорост на кодиране

Видео кодеците значително намаляват размера на видеото, но за да се намали размерът на видеото, некомпресираното видео трябва да бъде обработено със софтуер, което отнема време. Следователно, ако искате да намалите размера на видеоклип, трябва да погледнете времето, необходимо за компресиране на видеото с помощта на алгоритъм за компресиране.

Що се отнася до ефективността на кодиране, VP9 води пакета, а времето за кодиране за компресиране на видеоклипове е много по-ниско от H.265 и AV1. AV1, от друга страна, е най-бавният във времето за кодиране и може да отнеме три пъти повече време за кодиране на видео в сравнение с H.265.

Кой кодек да изберете?

Когато става въпрос за видео кодеци, намирането на идеалния кодек е много субективно, тъй като всеки кодек предлага различни функции.

Ако търсите най-доброто видео качество, изберете AV1. От друга страна, ако търсите най-съвместимия видео кодек, VP9 би бил най-подходящият за вас.

И накрая, кодекът H.265 е чудесен, ако имате нужда от добро качество и компресия без допълнителни разходи за кодиране.