Информация о MPEG-4 (включая AVC/H.264)

Информация о MPEG-4 (включая AVC/H.264)

Серия: Технические видеостандарты

Как поделят "болваночный" сбор?

Если Вы хотите обсудить содержание этого документа с автором, Вы сможете сделать это на форуме Doom9 в разделах «Новые форматы» – Кодеки и Контейнеры.
Пожелания, предложения, замечания, возражения и возмущения по поводу перевода посылайте по адресу: pogo-stick@nm.ru.
Если Вы хотите разместить эти документы на каком-либо из сайтов, обратитесь за разрешением к автору. Связаться с ним можно, послав личное сообщение в форуме Doom9. Мои условия: не изменять содержание, включая это небольшое сообщение, копировать документ целиком, дать ссылку на расположение перевода: pogo-stick.nm.ru и послать оповещение по адресу: pogo-stick@nm.ru.


MPEG-4 — это международный стандарт, используемый преимущественно для сжатия цифрового аудио и видео. Он появился в 1998 году, и включает в себя группу стандартов сжатия аудио и видео и смежные технологии, одобренные ISO — Международной организацией по стандартизации/IEC Moving Picture Experts Group (MPEG). Стандарт MPEG-4 в основном используется для вещания (потоковое видео), записи фильмов на компакт-диски, видеотелефонии (видеотелефон) и широковещания, в которых активно используется сжатие цифровых видео и звука.

MPEG-4 всё ещё находится на стадии разработки и делится на несколько частей. Ключевыми частями стандарта MPEG-4 являются часть 2 (MPEG-4 part 2, включая Advanced Simple Profile, используемый такими кодеками как DivX, Xvid, Nero Digital и 3ivx, а также Quicktime 6) и часть 10 (MPEG-4 part 10/MPEG-4 AVC/H.264 или Advanced Video Coding, используемый такими кодеками как x264, Nero Digital AVC, Quicktime 7, а также используемый в форматах DVD следующего поколения, таких как HD DVD и Blu-Ray Disc).

Перспективы MPEG-4 (справочный материал)

Эволюция формата MPEG продолжается с завидным постоянством. Каждый новый кодек был лучше предыдущего и, благодаря дешевому лицензированию и чёткой стандартизации, завоевал массы.

После появления MPEG-1 (1991 год) и MPEG-2 (1995 год) пришло время (1999 год) более прогрессивному кодеку MPEG-4 (ASP), основной задачей которого было максимальное уменьшение битрейта при сохранении качества предшественника. Нельзя со 100% уверенностью сказать, что это удалось, но попытка была близка к успеху. Формат обеспечивал 6-кратное сжатие, сохраняя при этом высокое качество изображения.

Но не только группа MPEG (Motion Picture Experts Group) от ISO разрабатывала стандарты видео сжатия. Параллельно с ней работала группа VCEG (Video Coding Expert Group) от ITU-T (International Telecommunication Union), дочерней организации ООН. В результате объединения их усилий была организована группа JVT (Join Video Team). Результатом работы которой, в декабре 2003 года, был утверждён стандарт ISO/IEC MPEG-4 Part 10 или ITU-T H.264. Общее название этих, абсолютно идентичных стандартов, - AVC (Advanced Video Coding), было предложено MPEG. Как дополнение к нему, был также утвержден аудио стандарт AAC (Advanced Audio Coding).

В целом, стандарт MPEG-4 делится на несколько частей, но основные из них следующие:

  • ISO 14496-1 (Системный), Анимация / Интерактивность (DVD-меню)
  • ISO 14496-2 (Видео), Advanced Simple Profile (ASP), которого придерживаются XviD, DivX
  • ISO 14496-3 (Аудио), Advanced Audio Coding (AAC)
  • ISO 14496-10 (Видео), Advanced Video Coding (AVC), он же H.264
  • ISO 14496-14 (Контейнер / упаковка), MP4 формат контейнера (используется расширение .mp4)
  • ISO 14496-17 (Субтитры), MPEG-4 Синхронизированный текстовый формат субтитров (.ttxt)

AVC/H.264 определяет 4 профиля, которые, в свою очередь, делятся на уровни.
Профили определяют набор механизмов кодирования или алгоритмов, которые можно использовать для создания соответствующего потока данных, тогда как уровни накладывают ограничения на использования некоторых ключевых параметров этого потока.
Все декодеры, соответствующие некоему профилю, должны поддерживать все возможности этого профиля. В свою очередь, кодекам необязательно использовать какие-то особенные поддерживаемые функции профиля, но они должны предоставить соответствующий поток данных, т.е. поток, который будет декодироваться соответствующий декодером.

Базовый профиль (Base profile) – поддерживает все возможности AVC/H.264 кроме следующих наборов.
Набор 1: B-Frames, Weighted Prediction, CABAC, кодирование полей и адаптивное переключение между кадровым кодированием и кодированием полей.
Набор 2: SP/SI-Кадры и кадровое дробление данных.
Основной профиль (Main profile) – поддерживает первый набор возможностей, которые не поддерживаются Базовым профилем, но не поддерживает FMO, ASO и избыточность изображения, которые поддерживают первым.
Расширенный профиль (Extended Profile) – поддерживает все возможности Базового профиля, а также Набор 1 и Набор 2, за исключением CABAC.
Высший профиль (High Profile) – поддерживает все возможности Основного профиля, плюс 8x8 intra prediction, различные матрицы квантования, кодирование без потерь, больше YUV форматов (4:4:4, 4:2:2…)

Стандарт MPEG-4 Part 10 (AVC/H.264) использует наилучший на сегодняшний день метод сжатия аудиоданных - AAC (Advanced Audio Coding).
Кодек MPEG-4 AVC претендент для использования на HD-DVD (High Definition DVD) дисков, а также для Blu-Ray дисков. Со стороны конкурентов выступают Microsoft со своим VC-1 и MPEG-2 в HD варианте.
Для эффективного хранения и использования всех возможностей стандарта MPEG-4 был утвержден новый формат контейнера, который позволяет хранить разные мультимедийные потоки в одном файле.
MP4 - это глобальное расширение файла для официального формата контейнера, описанного в MPEG-4 стандарте. Так же существуют расширения: m4a, m4p, m4e, mp4v, m4v и др.
Контейнер поддерживает потоковую передачу и все виды мультимедийного контента, в т.ч. несколько аудио-, видео-потоков, субтитры, картинки, видео/аудио с разной частотой кадров/битрейтом. Также предусмотрена возможность хранить 2D и 3D анимационную графику, интерактивность, ДВД-подобные меню.
Что такое MPEG-4 стандарт?

MPEG-4 (ISO 14496) – это широкий открытый стандарт разработанный Moving Picture Experts Group (MPEG), рабочей группой Интернациональной Организацией Стандартизации (International Organization for Standardization – ISO), которая также разработала общеизвестные MPEG-1 (MP3, VCD) и MPEG-2 (DVD, SVCD) стандарты, упорядочивающие разного рода форматы аудио-видео сжатия и многое другое.
В сущности MPEG-4 предназначался не для стандартизации одного потенциального продукта (например, чего-то сравнимого с DVD), а для того чтобы охватить большое количество под-стандартов, из которых поставщики продуктов могли бы выбрать то, что им нужно для своей продукции.
MPEG-4 стандарт, как уже упоминалось, разделён на множество разных под-стандартов, из которых наибольший интерес представляют следующие:

  • ISO 14496-1 (Системы), формат контейнера MP4, анимация/интерактивность (например, DVD меню)
  • ISO 14496-2 (Видео #1), Продвинутый Простой Профайл (Advanced Simple Profile – ASP), которому соответствуют XviD, DivX5, 3ivx...
  • ISO 14496-3 (Аудио), Продвинутое Кодирование Аудио (Advanced Audio Coding – AAC)
  • ISO 14496-10 (Видео #2), Продвинутое Кодирование Видео (Advanced Video Coding – AVC), так же известное как H.264

Каковы возможные преимущества открытого стандарта, такого как MPEG-4, по сравнению с закрытыми форматами, такими как Windows Media Micro$oft-а?

Преимущество в том, что открытый стандарт открыт для всех, желающих создать продукт. Поэтому, уже сейчас существует множество разных продуктов совместимых с MPEG-4 стандартом и, соответственно, совместимых друг с другом.
Кроме возможной совместимости и широкого выбора продуктов, открытый стандарт приводит к конкуренции, которая сулит потребителям более высокое качество продуктов, менее высокие цены и большую сосредоточенность производителей на нуждах потребителей.
И, возможно, самым важным аргументом в пользу открытого стандарта является то, что он делает возможным развитие программных продуктов с открытыми исходными текстами. XviD – ярчайший пример.

ISO 14496-1 (Системы) - MP4

Как уже было упомянуто MPEG-4 стандарт определяет собственный формат контейнера (другие форматы контейнеров не охватываются этим стандартом: AVI, OGM, Matroska и т.д.), который предусматривает не только хранение аудио и видео, а ещё и анимированного/интерактивного содержимого (так же известного как BIFS).

Анимация/интерактивность.

Не вдаваясь в технические детали, стандарт MPEG-4 системы определяет широкий ряд мощных инструментов, которые делают возможными различные виды анимации (не только схожие с flash анимацией, но и подобные тем, что были использованы в фильмах «Toy Story» и «Finding Nemo») или интерактивность (например, DVD меню и интерактивные потоковые меню). Всё это может быть сделано в 2D и 3D. Образцы того, что могут предложить MPEG-4 системы, могут быть найдены здесь. Для воспроизведения системных файлов вам понадобиться системный декодер/проигрыватель. Самые популярные для 2D систем: GPAC's Osmo4 (скачать) и EnvivioTV (скачать). Для 3D систем посмотрите здесь.

Совместимость.

MP4 контейнер – очень важная часть MPEG-4 стандарта, так как нельзя достичь 100% совместимости между разными MPEG-4 аудио-видео реализациями без стандартного контейнера. В противоположность этому, для MPEG-4 видео всё ещё самым популярным форматом является AVI. AVI контейнер – это основная причина существующей не совместимости в MPEG-4 (например, в аппаратных проигрывателях).

Дальнейшее изучение.

Если Вы хотите прочитать больше о MP4 контейнере обратите внимание на MP4 FAQ в форуме Новые А/В контейнеры сайта Doom9. Некоторая документация по MP4 доступна здесь и здесь. Смотрите так же FAQ о MPEG-4 системах от Motion Picture Experts Group (MPEG). Если Вы заинтересованы в описании интерактивного содержимого взгляните на этот документ от GPAC проекта. Спецификацию MPEG-4 систем можно скачать здесь. Спецификацию ISO базового формата медиа файла (14996-12), на котором основан MP4, можно найти здесь.

ISO 14496-2 (Видео) - Продвинутый Простой Профайл (ASP)

MPEG-4 стандарт определяет широкий ряд инструментов для кодирования. В настоящее время наиболее распространены те, что входят в ISO 14496-2. Эту часть стандарта часто называют MPEG-4 "Часть 2", но далее она будет называться – MPEG-4 ASP.

MPEG-4 Часть 2.

Как уже упоминалось, MPEG-4 стандарт может быть использован для достижения разных целей. И, конечно, различные задачи требуют различных инструментов для кодирования. Например, если Вы хотите создавать потоковое видео с очень низким битрейтом вам потребуются инструменты отличные от тех, что Вы будете использовать при кодировании DVD материала со средним или высоким битрейтом. Чтобы обеспечить эти потребности MPEG-4 стандарт определяет множество различных профайлов и уровней (Profiles and Levels). Каждый профайл/уровень – это уровень совместимости, обеспечивающий слаженную работу продуктов соответствующих ему. Даже если продукты изготовлены разными производителями. Эти уровни стандартизуют не только инструменты, которые могут быть использованы при кодировании, но и задают видео параметры: ограничение битрейта, размер изображения, частота смены кадров и т. д. Обзор MPEG-4 профайов может быть найден здесь.

Продвинутый Простой Профайл (ASP).

При кодировании DVD материала наиболее полезным оказывается Продвинутый Простой Профайл @ Уровень 5 (ASP@L5). Он допускает размер изображения до 720x576, частоту смены кадров до 30fps и предлагает такие инструменты как B-Frames (B-VOPS), Quarter Pixel Motion Search Precision (QPEL), Global Motion Compensation (GMC) и MPEG/Custom Quantization, в противоположность к Простому Профайлу (Simple Profile), который допускает только 352x288 и 15fps.
Самые важные инструменты доступные в Продвинутом Простом Профайле (не могут использоваться в Простом Профайле):

B-Frames/B-VOPS/Bi-directional encoding:
B-кадры/двунаправленное кодирование

В отличие от I-кадров/ключевых кадров, которые содержат всё изображение и не зависят от других кадров, и P-кадров, которые содержат только изменённые части изображения из предыдущего I- или P-кадра, B-кадры используют информацию, содержащуюся в предыдущем или следующем I- или P-кадре. Поэтому B-кадры могут быть сжаты гораздо сильнее, чем другие типы кадров. Это должно значительно улучшить качество и повысить сжимаемость.

Quarter Pixel Motion Search Precision (QPEL):
Четверть-пиксельная точность определения движения

В основном большинство MPEG-4 кодеков по умолчанию обнаруживают движение между двумя кадрами с точностью в половину пикселя (HalfPel). Теперь же с QuarterPel передвижения объектов на четверть пикселя могут быть обнаружены, эффективно удваивая точность! Практически, это означает, что Вы получите более чёткое изображение, используя QPEL.

Global Motion Compensation (GMC):
Глобальная компенсация перемещения

GMC определяет на сколько сходны параметры передвижений больших частей кадра. Если направления движений совпадают, то GMC начинает действовать и для всех подобных частей применяет один вектор взамен нескольких. Практически, это помогает сэкономить биты в тех частях фильма, где использованы панорамные съемки, съемки с изменением масштаба изображения или с вращением. Эти биты могут быть использованы для других целей, увеличивая чёткость изображения. Эффективность зависит от того, на сколько хороша реализация GMC (сколько warppoints предлагается).

MPEG/Custom Quantization:
MPEG/индивидуальная квантизация
В то время как Простой Профайл MPEG-4 предполагает использование только h.263 квантизации, ASP так же допускает использование квантизации индивидуальных типов. Тип h.263 делает изображение более «мягким» (хорошо для «однодисковых» фильмов). MPEG матрица хороша для высоких битрейтов и сохраняет больше деталей. hvs_good – пример популярной индивидуальная матрицы, дающей не плохие результаты на низких битрейтах. Существует множество индивидуальных матриц.

В общем, MPEG-4 ASP стал популярен благодаря кодеку DivX5, именем которого очень часто называют видео соответствующее ASP@L5 (так же как люди называют все сорта Колы, даже Пепси, Кока-колой). Но очень важно осознавать, что существуют другие MPEG-4 ASP кодеки, которые совместимы с MPEG-4 не более и не менее чем DivX5.

MPEG-4 ASP кодеки.

На данное время доступны следующие ASP кодеки: XviD (binary), DivX5, DivX4/OpenDivX, ffmpeg/ffvfw/ffdshow, 3ivx, Nero Digital, Skal, Quicktime, mpegable, Envivio, Sorenson и многие другие...
Сравнение качества кодеков doom9: 1 2
(RV9, VP6, WMV9 и DivX3.11 так же известный как MS MPEG-4 – не совместимы с MPEG-4!)

XviD
Самый передовой MPEG-4 ASP кодек. Тщательно настроен на кодирование DVD материалов и обладает очень большим рядом инструментов, предлагаемых стандартом. Включая более одного B-Frame, QPEL, GMC (3 warppoints), MPEG/Custom Quants, Trellis и многое другое. XviD – кодек с открытым исходным текстом (GPL). На сайте Doom9 есть XviD Форум, который часто посещают разработчики этого кодека. Если Вы хотите узнать больше о XviD, посетите официальный сайт XviD.org и прочтите crusty's FAQ.

DivX5
Самый популярный и широко используемый MPEG-4 ASP кодек. Хотя, этим он обязан главным образом своему имени. Он предлагает меньше MPEG-4 ASP функций, чем XviD. Только 1 B-Frame, только h.263 Quant, слабую GMC (1 warppoint)... И «есть мнение», что он менее качественен, чем XviD. Но DivX5 имеет некоторое влияние в мире бизнеса и способствует популяризации MPEG-4. Если Вы хотите узнать больше о DivX5, посетите официальный сайт DivX.com и DivX Форум на сайте Doom9.

ffmpeg
ffmpeg (также известный как libavcodec/format) – это реализация с открытым исходным текстом (LGPL), предлагающая все вообразимые MPEG-4 инструменты. Не смотря на то, что кодек стоит в тени XviD-а когда дело доходит до кодирования, многие проекты основаны на труде разработчиков ffmpeg (например, известные mplayer и ffdshow). Если Вы хотите узнать больше о ffmpeg, посетите официальный сайт ffmpeg.org и форум Новые А/В Форматы - Кодеки на сайте Doom9.

3ivx
Не смотря на то, что 3ivx – один из самых старых MPEG-4 кодеков (разработчики утверждают, что он старше, чем DivX5), он стал популярен в последние месяцы. Кодек предлагает QPEL и MPEG Quantization, но нет B-Frame и GMC. 3ivx – это не только продукт используемый для видео кодирования, но и более широкая реализация MPEG-4 стандарта, включающая AAC кодирование и один из наилучших доступных инструментов для создания и воспроизведения видео в MP4 контейнере. Если Вы хотите узнать больше о 3ivx, посетите официальный сайт 3ivx.com и форумы Новые А/В Форматы - Кодеки/ Контейнеры на сайте Doom9, которые время от времени посещают разработчики 3ivx.

Nero Digital
MPEG-4 ASP кодек от Ahead – самый молодой из рассматриваемых. Но Ahead очень амбициозны и стремятся добиться популярности. В данное время кодек доступен только в Nero Recode2 вместе с одним из наилучших AAC кодировщиков. NeroDigital предлагает тот же набор функций что и DivX5 + GMC (3 warppoints) и MPEG/Custom Quants. Один из самых быстрых кодеков. Если Вы хотите узнать больше о NeroDigital, посетите официальный сайт NeroDigital.com и форум Новые А/В Форматы - Кодеки на сайте Doom9, которые время от времени посещают разработчики NeroDigital.

MPEG-4 ASP, "Железо" и DivX сертификация.

Так как первое поколение чипов аппаратных декодеров не могло справиться с декодированием видео, созданного при помощи всех инструментов ASP (т.е. QPEL и GMC), DivXNetworks, производители DivX5 кодека, создали что-то, что может быть названо индивидуальным MPEG-4 профайлом, а именно Профайл Домашнего Кинотеатра (Home Theater Profile – HTP). Каждый проигрыватель способный воспроизводить видео соответствующее HTP может получить так называемую DivX сертификацию от DivXNetworks. Видео соответствующее HTP не может быть создано при помощи QPEL и GMC, и битрейт так же более ограничен HTP, чем в случае с MPEG-4 ASP. Следовательно, HTP – это компромисс между качеством и работоспособностью старых аппаратных декодеров. И, конечно, DivX сертификация так же помогает DivXNetworks дальше укреплять торговую марку "DivX". Тем не менее, правильное выражение требований к проигрывателю должно быть – MPEG-4 ASP@L5. То есть проигрыватель соответствующий определенному уровню интересующего нас профайла MPEG-4 стандарта должен без проблем воспроизводить видео созданное в соответствии с этим стандартом.

Дальнейшее изучение.

Если Вы хотите прочитать больше о MPEG-4 видео, обратите внимание на страницу Промышленного Форума MPEG, предоставляющего обзор доступных Ресурсов и Статей. Поправка 1 к 14996-2 может быть найдена здесь. Так же важно упомянуть сайт Moving Picture Experts Group (MPEG), содержащий MPEG-4 Видео FAQ и обзор MPEG-4 стандарта (включающий много информации о MPEG-4 Видео).

ISO 14496-3 (Аудио) - Продвинутое Кодирование Аудио (AAC)

MPEG-4 стандарт определяет один из наилучших аудио форматов доступных на данный момент: Продвинутое Кодирование Аудио (Advanced Audio Coding – AAC). AAC может включать 48 (до 96 kHz) аудио каналов в одном потоке плюс 15 низко-частотных (LFE, ограниченных 120 Hz), до 15 потоков и многое другое.

AAC профайлы.

В AAC, так же как в MPEG-4 Видео, существуют разные профайлы. Профайл Низкой Сложности (Low Complexity Profile – LC AAC) – широко используется на потребительском рынке (например, очень популярен музыкальный магазин iTunes, принадлежащий Apple). Примеры других профайлов: MAIN Profile, Long Term Prediction (LTP), Scalable Sampling Rate (SSR) или Low Delay (LD).

Сравнение качества LC AAC с другими не плохими форматами с битрейтом 128kbps (спасибо rjamorim-у):

MPEG-4 AVC Info

Примечательно, что lame (лучший mp3 кодек) обеспечивает гораздо меньшее качество, чем другие с тем же битрейтом. Обратите внимание, что wma кодек, представленный в этом тесте – это не стандартный wma9 (используемый в музыкальных магазинах и CD плеерах), а совершенно другой и обеспечивающий лучшее качество – wma9 pro (они не совместимы).

AAC Высокой Эффективности (High Efficiency – HE AAC) – особенно полезен на низких битрейтах и при многоканальном кодировании.

Сравнение качества HE AAC с другими популярными форматами с битрейтом 64kbps (спасибо rjamorim-у):

MPEG-4 AVC Info

QT – это LC AAC Quicktime кодек, а He – это HE AAC Nero кодек.

AAC кодеки.

В данное время следующие AAC кодеки доступны: Quicktime/ iTunes, Nero, FAAC (binary), Psytel, Compaact!, Winamp5, Real и Sorenson.

Сравнения качества rjamorim-а: 1 2

Дальнейшее изучение.

Если Вы хотите прочитать больше о AAC аудио, обратите внимание на AAC FAQ в форуме Аудио кодирование сайта Doom9 или audiocoding.com wiki. Смотрите так же FAQ от Motion Picture Experts Group (MPEG) о MPEG-4 Аудио. Спецификацию MPEG-4 AAC можно скачать здесь, здесь и здесь.

ISO 14496-10 (Видео) - Продвинутое Кодирование Видео (AVC)

AVC/H.264 – это часть MPEG-4 стандарта, определяющая один из самых современных и технически совершенных форматов видео кодирования. Он был совместно завершён и специфицирован в 2003 году двумя группами: MPEG (Moving Pictures Experts Group) из Интернациональной Организацией Стандартизации (International Organization for Standardization – ISO) и VCEG (Video Coding Experts Group) из Интернационального Телекоммуникационного Союза (International Telecommunication Union – ITU) Организации Объединённых Наций (Organization of the United Nations – UNO), которые так же стандартизовали H.263 формат (в основном сейчас используется в программном обеспечении для видеоконференций). AVC/H.264 стандарт был разработан Joint Video Team (JVT), которая включает экспертов из MPEG и VCEG. Со стороны MPEG, стандарт называется MPEG-4 Часть 10 (ISO 14496-10), а со стороны ITU – H.264 (по номеру документа ITU). Под этим названием формат уже широко известен. «Официальное» наименование нового стандарта, Advanced Video Coding (AVC), было выбрано MPEG как видео дополнение к аудио формату Advanced Audio Coding (AAC).

AVC/H.264 профайлы.

AVC/H.264 определяет три разных профайла:
- Базовый (Baseline) предлагает I/P-кадры, поддерживает только прогрессивное (progressive) изображение и CAVLC
- Основной (Main) предлагает I/P/B-кадры, поддерживает прогрессивное или чересстрочное (interlaced) изображение и CAVLC или CABAC
- Расширенный (Extended) предлагает I/P/B/SP/SI-кадры, поддерживает только прогрессивное изображение и CAVLC

Только будущее покажет, какой профайл и какие инструменты будут больше подходить для перекодирования DVD материалов, но, скорее всего, это будет Основной Профайл и следующие инструменты:

CAVLC/CABAC:
Context-Adaptive Variable Length Coding и Context-Adaptive Binary Arithmetic Coding

Это передовые (более сложные, чем в ASP) инструменты для статистического кодирования синтаксиса потока битов (тип макроблока, вектор движения + reference-index...). CAVLC (так же известный как UVLC) – это метод сжатия, используемый AVC по умолчанию. CABAC – более действенный метод, способный снизить битрейт ещё на 10-15% (особенно на высоких битрейтах). Оба метода обеспечивают сжатие без потерь и, следовательно, не повредят качеству, но снизят скорость кодирования и декодирования.

Loop/Deblocking фильтр:
В отличие от предфильтрации (например, используя avisynth до кодирования) или постобработки/фильтрации (используя декодер после кодирования), Loop фильтрация применяется для каждого кадра, после того как он был скодирован, но до того как он будет использован для кодирования последующих кадров. Это помогает избежать артефактов-блоков, особенно на низких битрейтах.

Variable Block Sizes:
Переменные размеры блока

В отличие от ASP, где размеры блоков могут быть 16x16 и 8x8 пикселей (с inter4v), AVC предлагает деление макроблоков до 4x4 пикселей. Размер блоков адаптивен и переменен, хороший кодировщик будет способен выбрать наиболее эффективный размер каждого конкретного макроблока.

Multiple Reference Frames:
Множественно связанные кадры

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

Rate Distortion Optimisation (RDO):
RDO позволит кодировщику принимать наиболее эффективные решения когда ему придётся делать выбор. RDO – это не инструмент определённый AVC спецификацией, а новый подход к принятию решений, который впервые представлен в H.264. Другие кодеки так же могут использовать RDO. Например, VHQ режим в XviD.

Не полный сравнительный обзор AVC и ASP от Envivio:

MPEG-4 AVC Info

AVC/H.264 кодеки.

В настоящее время доступны следующие реализации AVC/H.264: x264 (binary), MainConcept, VSS, Envivio, Hdot264 (binary), Moonlight, DSPR, JM (reference software) (binary), ffmpeg
(анонсированные кодеки: Skal, Nero, Apple, Sorenson)

Кодировщики

x264
Кодек с открытым исходным текстом (GPL), который изначально разрабатывал Fenrir, работающий сейчас над анонсированным Nero кодеком. x264 доступен как VFW кодек (здесь или в ffdshow/ffvfw - только для windows) и как часть Handbrake (для Linux, MacOS и BeOS) и уже довольно быстр.

MainConcept
MainConcept AVC/H.264 реализация пока доступна как бесплатная ознакомительная версия (с добавлением «водяного знака») с собственной программой для кодирования в .mpg файлы и DirectShow декодером (не лишённым недостатков).

Vanguard Software Solutions (VSS)
Одна из первых AVC реализаций. Доступна бесплатная ознакомительная (ограниченна 5-ю днями работоспособности) версия, основанная на референсном программном обеспечении, в виде VFW кодировщика для Базового и Основного профайлов.

JM (Референсная программа)
JM 8.2 предлагает очень богатый набор функций, среди которых: B/SP-кадры, CABAC, Loop Filter, Variable Block Sizes до 4x4, Multiple Reference Frames, Error Resilience, RDO, Rate Control и так далее... Но JM отличается низкой скоростью кодирования.

Hdot264
VFW версия референсной программы с открытым исходным текстом (GPL), которую написал charact3r. Не обновлялась долгое время и всё ещё основана на очень старой версии (JM 4.0c)

Декодеры

Vanguard Software Solutions (VSS)
Бесплатный AVC/H.264 декодер для воспроизведения avc потоков, помещённых в .avi (с VSSH fourcc).

Moonlight
Бесплатный проигрыватель, содержащий DirectShow декодер и splitter для воспроизведения .mpg и .264 avc потоков. Moonlight так же предлагает AVC кодировщик в SDK, не доступный обычным покупателям.

MainConcept
Ознакомительная версия кодировщика содержит AVC DirectShow декодер и splitter для воспроизведения .mpg и .264 avc потоков. Как уже упоминалось, содержит рад недостатков.

ffmpeg
Декодер, предлагаемый ffmpeg (LGPL), изначально написал Michael Niedermayer. Fenrir добавил поддержку CABAC и исправил несколько дефектов. Декодер уже используют ffdshow и VideoLAN (но похоже, что есть некоторые проблемы с качеством).

DSPR
Бесплатный AVC DirectShow декодер и демонстрационный, защищенный паролем кодировщик.

Envivio
EnvivioTV – AVC DirectShow декодер. Способен декодировать .mp4 файлы (начиная с версии 2.0 – текущая версия 2-1-181) и бесплатно не доступен. Envivio – одна из первых компаний, предложивших реализацию AVC и включивших AVC в свои продукты, кодирующие в .mp4.

Примеры.
Скромное сравнение MPEG-4 ASP и AVC (битрейт 460kbps):

MPEG-4 ASP (XviD RC2 – h.263, QPEL, VHQ4, ChromaMotion, Trellis, 2 B-Frames, другие настройки по умолчанию):

MPEG-4 AVC Info

MPEG-4 AVC (ознакомительная версия MainConcept – Основной Профайл, другие настройки по умолчанию):

MPEG-4 AVC Info

Другие доступные примеры:
Moonlight (очень низкие битрейты)
VSS - heise (старые образцы).

Недостатки AVC/H.264 в данное время.

Если Вы изучите доступные реализации AVC, то, несомненно, обнаружите, что существуют проблемы, которые необходимо будет решить, для того чтобы AVC получил широкое распространение:
- совместимость: как это ни печально, но большинство доступных реализаций поддерживают разные форматы контейнеров:
   .mp4: «родной» для AVC контейнер, соответствующий MPEG-4 стандарту
   .mpg: так же стандартизирован для AVC
   .264: простой поток битов (bitstream), например, производимый референсным кодировщиком
   .avi: использование AVI для AVC – это плохая идея! AVI уже сейчас является причиной несовместимости. AVI и VFW задерживают полную реализацию всех возможных инструментов, предлагаемых AVC (некоторые из них просто не возможны в AVI и VFW), и, поэтому, вредят возможному качеству или, по крайней мере, скорости развития, совместимости и, следовательно, конкуренции.

- скорость: большинство реализаций крайне медлительны. x264 кажется наиболее быстрым, но это пока всего лишь базисный кодировщик. Ahead заявили, что они сделают AVC пригодным для домашнего использования (их MPEG-4 ASP кодек уже довольно таки быстр).

MPEG-4 AVC/H.264, "Железо" и HD-DVD.

DVD Форум в настоящее время работает над «преемником» популярного DVD формата. Как сообщалось здесь, DVD Форум уже сделал предварительное решение о том, что MPEG-4 AVC/H.264 будет обязательным кодеком для HD-DVD. Поэтому, очень вероятно, что AVC/H.264 будет следующим, широко используемым и поддерживаемым, видео форматом, каким является MPEG-2 сейчас (используется в DVD).

Дальнейшее изучение.

Если Вы хотите прочитать больше о MPEG-4 AVC/H.264 формате, обратите внимание на этот детальный обзор, освещающий также техническую сторону. С общей информацией можно познакомиться здесь или здесь. Результаты контрольных тестов могут быть найдены здесь или здесь (html). Полная спецификация доступна для скачивания здесь (от 7-14 марта 2003).


По материалам pogo-stick.nm.ru



Предыдущая статья     Следующая статья

С этой статьей читают еще:



Буду признателен за плюсики, лайки и ретвиты! Заранее спасибо!

Оцените и поделитесь с друзьями!



Комментировать через «ВКонтакте»:





Обмен постовыми


Всем доброго времени суток. С радостью обменяюсь постовыми с вашими блогами или сайтами. Требования к обмену:

  1. Сайт или блог должен быть на фото, видео или свадебную тематику.
  2. Домен 2 уровня. Рассмотриваются сайты как на бесплатном, так и на платном хостинге.
  3. ТИЦ и PR роли не играют.
  4. Посещаемость > 40 уник/сутки с поисковых систем.

Также на блоге публикуются гостевые посты. Требования к гостевым постам:

  1. 1 внешняя ссылка.
  2. Объем от 1500 символов без пробелов.
  3. Статья должна быть написана на фото, видео или свадебную тематику.

Пишите на email: petrovideo@ya.ru


PetroVideo
Свадебное видео Севастополь
Хостинг видео. Свадебные фотосессии и видеосеты
dukefilms.ru

Информация

Видео

Свадебный фильм в Санкт-Петербурге

Вернисаж

Свадебная фотография в Санкт-Петербурге

Top 5

Улыбнитесь...

Наши контакты:

(911) 211-9876

Позвоните нам!

Задавайте вопросы

Свадебный консультантСвадебный консультант