Как работают видеокодеки? Разбор |

Как самому кодировать что-либо

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

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

Чаще всего кодировать файл необходимо либо для передачи его через Интернет, либо для переноса на мобильное устройство для последующего просмотра. Естественно речь идет об экономии места, которой можно добиться не только за счет применения очередного кодека, но и за счет изменения размеров картинки (например, на телефон загружать видео формата FullHD большого смысла нет и размер кадра можно сделать поменьше, существенно сэкономив места).

Справиться с этой задачей вам помогут в том числе и бесплатные решения, вроде Any Video Converter или Format Factory. Главное, чтобы в дальнейшем на другом устройстве также был соответствующий кодек (или программа со встроенными кодеками), что сумеет воспроизвести, то есть декодировать, то, что было вами «запаковано».

3840 x 2160 точек x 8 (бит) x 3 (канала цвета) x 24 (кадра) x 5400 (сек) / 8 000 000 000 000 (биты в терабайты) = 3,22 tб

Современные кодеки позволяют без заметной потери качества уменьшить размер файла до 5 гигабайт на всё видео. Это в почти в 645 раз меньше! Но как они это делают, и что значит без заметной потери качества?

H.264

Теперь мы представляем, как примерно работают работают кодеки, а значит сможем их сравнить.

Самый популярный и устаревший на текущий момент кодек — это всеми любимый H.264 или AVC (Advanced Video Coding), или MPEG-4 Part 10. Это всё одно и тоже.

Кодек существует с 2003 года и он по-прежнему популярен. В первую очередь, потому что он поддерживается всеми браузерами, операционными системами и процессорами.

Но при этом кодек безбожно устарел. И вот почему:

  • Максимальный размер блока только 16×16 пикселей. А это очень мало для 4K и 8K видео. Допустим, что у нас в кадре большое синее небо, которое можно бы было разбить на огромные блоки. Но AVC так не умеет, поэтому он тупо не эффективен для UHD-контента. Кино в 4K в этом кодеке будет весить 20 и больше гигов.
  • Нет поддержки HDR, а значит не сможет раскрыть потенциал современных дисплеев.
  • Кодек не умеет восстанавливать изображение из промежуточных кадров, поэтому видео часто распадается на блоки и плохо подходит для стриминга видеозвонков.
  • Кодек платный.

H.265

Поэтому на смену H.264 пришел его старший брат H.265 или High Efficiency Video Coding, то есть HEVC. Тот самый кодек, на который перешли в Apple в 2022 году. Поэтому все видео и даже фоточки на iPhone кодируются при помощи кодека HEVC.

Скажу сразу, кодек хорош. На текущий момент это такая золотая середина между скоростью кодирования, декодирования и эффективностью сжатия. Смотрите сами:

  • H.265 в 2 раза эффективнее сжимает видео, чем его предшественник. То есть файлы в том же качестве будут весить в 2 раза меньше.
  • Максимальный размер блока тут увеличен в 4 раза: 64×64 пикселя. При этом уровень анализа изображения сильно прокачали. Поэтому кодек очень эффективно сжимает 4K-видео.
  • Появилась функция произвольного доступа к изображению. В этом кодеке нет ключевых кадров и промежуточных, тут все кадры равны и каждый кадр может быть декодирован самостоятельно. Поэтому HEVC не распадается на блоки и отлично себя ведет во время стриминга. FeceTime обязан своей хорошей картинкой именно кодеку HEVC.
  • Тут сильно прокачали внутрикадровое прогнозирование. Теперь учитывается 33 направления движения вместо 9, в прошлом кодеки.
  • Ну и конечно, кодек поддерживается всеми современными процессорами.
:/>  Что такое кодеки, для чего они нужны, где скачать | Интернет - грамотность с Надеждой

Кодек сам по себе великолепный. Но есть у него проблема — неадекватная политика лицензионных отчислений. Он настолько дорогой, что он просто не прижился в интернете.

Из всех браузеров его поддерживает только Safari, несмотря на то что кодеку уже 9 лет.

Тем не менее, кодек очень приглянулся всем любителям торрентов, поэтому для телевизоров поддержка H.265 обязательна. Поэтому прежде чем купить телевизор внимательно посмотрите в инструкции, есть ли цифровой декодер H.265. В телевизоре Haier поддержка есть, мы специально проверили.

В интернете господствуют кодеки от Google — VP8 и VP9.

По эффективности VP8 примерно равен H.264, а VP9 примерно равен H.265, но все же немного ему уступает. Эффективность — не главное их преимущество, главное, что они бесплатные. Поэтому кодеки быстро получили подержку всех браузеров, а в прошлом году даже появилась поддержка на девайсах Apple.

Как удалить кодеки в windows 10

Порой бывает необходимо не только устанавливать кодеки, но и «сносить» их с компьютера. Например, если кодеков уже установлено много настолько, что они мешают друг другу. Или для удаления тех кодеков, которые были установлены, но так и не понадобились.

Поиск приложения для удаления кодеков в Windows 10
Рис. 2. Поиск приложения для удаления кодеков в Windows 10.

Кликаем на значок с лупой (цифра 1 на рис. 2) для поиска стандартной программы, с помощью которой можно удалить кодеки. В строку поиска вводим без кавычек «удаление программ» (2 на рис. 2). Кликаем по найденной программе «Установка и удаление программ» (3 на рис. 2).

Откроется окно «Приложения и возможности» (рис. 3).

Поиск кодеков Codec Pack и их удаление
Рис. 3. Поиск кодеков Codec Pack и их удаление.

Ищем строку, содержащую название «Codec Pack». Кликаем по найденным кодекам. Появится кнопка «Удалить», по которой следует нажать.

Какой кодек выбрать?

Если при воспроизведении медиафайлов не будут обнаружены нужные кодеки, плеер выдает ошибку с указанием проблемы. Останется найти решение в интернете. Однако ПО не всегда указывает отсутствующий видеокодек.

Процесс создания кодированного видеофайла
Сообщение об отсутствующем кодеке в плеере «Кино и ТВ» Windows 10

Существуют сотни вариантов для разных целей: сжатия аудио и видео, потоковой передачи мультимедиа, видеоконференций, воспроизведения MP3, захвата экрана. Рассмотрим популярные кодеки для просмотра видео и проигрывания муз.файлов.

  • MPEG. MPEG-1 обеспечивает высококачественное видео и создает звук MP3, который воспроизводится на всех современных музыкальных устройствах без исключения. MPEG-2 является в данный момент стандартом сжатия видео для DVD и дисков Blu-ray. MPEG-4 обеспечивает лучшие методы сжатия и меньший размер выходного видео.
  • H.264. Самый популярный выбор для HD-видео, который может использовать сжатие с потерями и без потерь. H.264 в 2 раза эффективнее, чем MPEG-4 и создает меньший файл с плавным воспроизведением. H.264 используется для веб-видео и записи Blu-ray.
  • XVID/DIVX. DivX —коммерческий кодек, XviD — альтернатива с открытым исходным кодом. DivX может сжимать длинные сегменты видео в небольшие размеры, сохраняя высокое качество.
  • HEVC. Высокоэффективное кодирование видео (HEVC или H.265) является новым стандартом сжатия. Этот «родственник» H.264 еще эффективнее использует его алгоритмы сжатия. Кодек только набирает популярность и поддерживается не всеми программами.

Косинусы

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

Вот посмотрите на такую табличку с градиентами.

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

Вот посмотрите как потихоньку вырисовывается буква А.

:/>  Как включить или отключить DEP в Windows

Поэтому если разбить кадр на мелкие блоки. Всё изображение можно представить в виде наложения косинусов друг на друга.

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

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

Межкадровое сжатие

Как правило соседние кадры в видео мало чем отличаются друг от друга. Тогда зачем нам тогда кодировать каждый кадр отдельно?

Мы можем взять первый кадр, назовём его «ключевым». А второй, промежуточный, кадр можно сделать на основе первого. Что в нем закодировано? Только та информацию, которая изменилась.

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

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

Предсказания

И если вы уже сейчас думаете: WOW! Как круто люди придумали, то вы рано удивляетесь.

Больше всего сэкономить места кодекам помогают механизмы предсказаний.

Например, если человеку показать два кадра: в одном кадре объект находится слева, а в другом справа, и попросить его предположить, где бы находился объект в промежуточном состоянии. Человек легко это сможет сделать интуитивно.

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

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

А если что-то не совпало, то можно хранить просто разницу между реальным кадром и предполагаемым, в этом случае всё равно получится сохранить очень много байт. Более того при помощи предиктивных моделей, можно предугадывать не только соседние кадры, но и соседние блоки внутри кадра.

Например, если внутри блока у нас одни синие пиксели, мы можем предположить, что и соседний блок будет состоять из синих пикселей.

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

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

У нас сегодня недорогой телевизор HAIER 43 SMART TV MX с диагональю 43 дюйма и разрешением Ultra HD. В телевизоре есть все базовые функции.

Он работает на Android TV 9-й версии со всеми преимуществами системы: можно обмазаться всеми стриминговыми сервисами и смотреть сериальчики в 4K HDR.

Благо Wi-Fi модуль поддерживает частоту 5 ГГц, поэтому стримится контент без задержек. Также можно истыкать телевизор флешками и жесткими дисками, для любителей надежного старого способа.

Здесь удобный пульт с голосовым управлением, который работает по Bluetooth 5.0, а также можно подружить другие аксессуары: наушники, клавиатуры, геймпады. В общем, раздолье. Да и вы сами знаете, что позволяет Android TV.

Но самое главное в этом телике — качество картинки. Тут установлена очень хорошая VA-матрица и Direct LED подсветка. Картинка выглядит отлично: глубокий черный, сочные цвета. Есть поддержка HDR10.

Плюс есть 4K-апскейлинг, поэтому Full HD-контент на этом телевизоре выглядит замечательно.

:/>  soap - MSSoap 3.0 Error while creating Virtual Directory with SOAPVDIR.CMD - Server Fault

В общем, за дисплей пятёрка. Даже больше скажу, у Haier есть подобная модель с Full HD-разрешением по цене ниже. Так вот тут, картинка гораздо лучше, есть за что доплатить.

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

Особенное удовольствие доставляет безрамочный дизайн, который впишется в любой интерьер и не будет отвлекать на себя внимание от контента (в любом кодеке).

В общем, HAIER 43 SMART TV MX -отличная покупка если вам нужен небольшой ТВ с хорошим изображением. Для онлайн контента здесь все есть, топ модель в своем сегменте!

Принцип работы

Все это основано на принципах работы архивов. Кстати, напишите, если хотите материал про основы сжатия информации.

Но сейчас сосредоточимся на вдиео. Грубо говоря, есть два типа сжатия которые применяются в видеокодеках. Что это всё такое?

Первое — это внутрикадровое сжатие. А второе — межкадровое сжатие.

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

Существуют ли базовые кодеки

Возникают очевидные вопросы. Эти самые кодеки уже есть в компьютере? Или их обязательно нужно где-то искать и дополнительно устанавливать на компьютер? Без них ведь невозможно будет посмотреть ни видео, ни послушать аудио файлы.

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

Например, в Windows имеется бесплатный стандартный проигрыватель звуковых и видеофайлов Windows Media Player, сокращённо WMP. Но это отнюдь не означает, что с помощью данного плейера можно будет открыть и просмотреть абсолютно любой видео файл. Да, многие файлы откроются. Но некоторые, требующие для своей работы другие кодеки, не смогут открыться, видеоплеер откажется их воспроизводить.

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

Цветовая субдискретизация

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

Берём видео с тремя каналами цвета — RGB, и конвертируем его в видеоформат, в котором есть отдельный канал яркости — Y и два канала цвета Cb и Cr. И получаем формат YCbCr.

Кому интересно, вот такая математика за этим стоит.

Как работают видеокодеки? Разбор |
Преобразование ITU-R BT.709

А дальше, так как у нас теперь цвета и яркость — это отдельные сущности, мы уменьшаем каналы цвета по разрешению в два раза и натягиваем на канал яркости. Готово! Разница почти не видна, а количество информации почти в два раза уменьшили.

Такой вариант субдискретизации обозначается тремя цифрами 4:2:0, что расшифровывается так: на 4 пикселя яркости приходится всего 1 цветной пиксель, в каждом канале цвета.

Именно в формате 4:2:0 стримят всё видео в интернете. Включая этот видос. Хотя в настройках камеры я поставил 4 4 2 — чтобы хотя бы цветокоррекцию можно было сделать.

Оставьте комментарий

Adblock
detector