AV1, h265 (HEVC) и VP9: в чем разница между этими стандартами сжатия?

AV1, h265 (HEVC) и VP9: в чем разница между этими стандартами сжатия?
Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Потоковое вещание в формате 4K — это новая норма, но каждые 16 миллисекунд передается информация для более чем 8,2 миллиона пикселей, поэтому хранение и передача видео 4K в Интернете — непростая задача.





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





СДЕЛАТЬ ВИДЕО ДНЯ

Ну, нет, потому что они используют видеокодеки для уменьшения размера фильмов, но что такое видеокодек и какой из них лучше?





Что такое видеокодек?

Прежде чем углубляться в сложности видеокодеков, очень важно понять, как создается видео. Проще говоря, видео — это не что иное, как набор неподвижных изображений, быстро сменяющих друг друга.

  Программное обеспечение для редактирования видео, работающее на компьютере

Из-за этой высокой скорости изменения человеческий мозг думает, что изображения движутся, создавая иллюзию просмотра видео. Поэтому при просмотре видео в 4К вы просто смотрите на набор изображений с разрешением 2160х3840. Благодаря высокому разрешению изображения видео, снятое в формате 4K, обеспечивает отличное качество видео. Тем не менее, это высокое разрешение изображений увеличивает размер видео, делая невозможным потоковую передачу по каналам с ограниченной пропускной способностью, таким как Интернет.



Для решения этой проблемы у нас есть видеокодеки. Сокращенный от кодер/декодер или сжатие/распаковка, видеокодек сжимает поток изображений в биты данных. Это сжатие может либо снизить качество видео, либо никак не повлиять на него в зависимости от используемых алгоритмов сжатия.

Как следует из названия, бит сжатия в кодеке уменьшает размер каждого изображения. Чтобы сделать то же самое, алгоритм сжатия использует нюансы человеческого глаза, чтобы люди не знали, что видео, которые они смотрят, сжаты.





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

Хотя кодеки отлично справляются со сжатием информации, их выполнение может быть обременительным для вашего процессора. В связи с этим нормально наблюдать колебания производительности системы при запуске алгоритмов сжатия видео в вашей системе.





  Приложение для редактирования видео, работающее на iPad

Чтобы решить эту проблему, процессоры и графические процессоры поставляются со специальным оборудованием, которое может запускать эти алгоритмы сжатия. Включение ЦП для выполнения текущих задач, в то время как выделенное оборудование обрабатывает видеокодеки, повышая эффективность.

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

Теперь, когда у нас есть общее представление о том, что делает видеокодек, мы можем посмотреть, как он работает.

почему мой файловый менеджер такой медленный

Подвыборка цветности

Как объяснялось ранее, видео состоит из изображений, и подвыборка цветности уменьшает количество информации в каждом изображении. Для этого он уменьшает информацию о цвете, содержащуюся в каждом изображении, но как это уменьшение информации о цвете обнаруживается человеческим глазом?

Видите ли, человеческие глаза прекрасно улавливают изменения яркости, но этого нельзя сказать о цветах. Это связано с тем, что в человеческом глазу больше палочек (клеток фоторецепторов, ответственных за обнаружение изменений яркости) по сравнению с колбочками (клеток фоторецепторов, ответственных за дифференциацию цветов). Разница в палочках и колбочках не позволяет глазам обнаруживать изменения цвета при сравнении сжатых и несжатых изображений.

  Различные уровни сжатия видео с использованием субдискретизации цветности
Кредиты изображений: Янке в английской Википедии / Викискладе

Для выполнения субдискретизации цветности алгоритм сжатия видео преобразует информацию о пикселях в формате RGB в данные о яркости и цвете. После этого алгоритм уменьшает количество цвета в изображении на основе уровней сжатия.

как проверить историю активности компьютера в Windows 10

Удаление избыточной информации о кадре

Видео состоит из нескольких кадров изображений, и в большинстве случаев все эти кадры содержат одну и ту же информацию. Например, представьте себе видео с человеком, говорящим на фиксированном фоне. В таком случае все кадры в видео имеют одинаковую композицию. Поэтому все изображения не нужны для рендеринга видео. Все, что нам нужно, — это базовое изображение, содержащее всю информацию и данные, связанные с изменением при переходе от одного кадра к другому.

Следовательно, чтобы уменьшить размер видео, алгоритм сжатия делит видеокадры на кадры I и P (прогнозируемые кадры). Здесь I-кадры являются основной истиной и используются для создания P-кадров. Затем кадры P визуализируются с использованием информации в кадрах I и информации об изменении для этого конкретного кадра. Используя эту методологию, видео разбивается на набор I-кадров, чередующихся с P-кадрами, что приводит к дальнейшему сжатию видео.

Сжатие движения

Теперь, когда мы разбили видео на кадры I и P, нам нужно рассмотреть сжатие движения. Часть алгоритма сжатия видео, помогающая создавать P-кадры с использованием I-кадров. Для этого алгоритм сжатия разбивает I-кадр на блоки, известные как макроблоки. Этим блокам затем присваиваются векторы движения, которые определяют направление, в котором эти блоки перемещаются при переходе от одного кадра к другому.

  Векторы движения на игровом изображении
Кредиты изображений: Фонд Blender/ Викисклад

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

Удаление высокочастотных данных изображения

Так же, как и изменения в цветовых данных, человеческий глаз не может обнаружить тонкие изменения в высокочастотных элементах изображения, но что такое высокочастотные элементы? Видите ли, изображение, отображаемое на вашем экране, состоит из нескольких пикселей, и значения этих пикселей меняются в зависимости от отображаемого изображения.

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

Вот как это работает. Сначала алгоритм DCT запускается для каждого макроблока, а затем обнаруживает области, в которых изменение интенсивности пикселей происходит очень быстро. Затем он удаляет эти точки данных из изображения, уменьшая размер видео.

Кодирование

Теперь, когда вся избыточная информация в видео удалена, мы можем сохранить оставшиеся биты данных. Для этого алгоритм сжатия видео использует схему кодирования, такую ​​как кодирование Хаффмана, которая связывает все биты данных в кадре с тем, сколько раз они встречаются в видео, а затем соединяет их в виде дерева. Эти закодированные данные хранятся в системе, что позволяет легко отображать видео.

  Структура кодирования Хаффмана
Кредиты изображений: Редор/ Викисклад