H 264 или mpeg4 что лучше: Какое видео по качеству лучше?- mpeg4 или H264? – Сравнение шести H.264 видеокодеков c DivX 5

Содержание

Сравнение шести H.264 видеокодеков c DivX 5

Введение

Основная задача настоящего тестирования - сравнить результаты работы нового поколения MPEG4-кодеков (называемых MPEG-4 AVC или H.264) при записи домашнего видео простыми пользователями. Такие пользователи, как правило, используют простые известные программы для того, чтобы считывать DVD или оцифровывать сигнал с тюнера и редко изменяют настройки кодеков. Мы прекрасно понимаем, что писать кодеки так, чтобы они хорошо работали в разных ситуациях без специальной настройки (автоматически подстраиваясь под тип видео) сложнее, но тем больше чести авторам, если их кодеки хорошо справляются с такой задачей. DivX Pro 5 использовался для сравнения, как один из лучших кодеков предыдущего поколения, стандарта MPEG-4 ASP. Подробнее о разновидностях MPEG-4 можно прочитать здесь.

Использованные кодеки

КОДЕК

ПРОИЗВОДИТЕЛЬ

ВЕРСИЯ

ОБОЗНАЧЕНЫ НА ГРАФИКАХ

dicas 0.10 AVC
MoonLight 0.1.2546 MoonLight
Main Concept 1.04.02.00 MainConcept
Fraunhofer IIS от 25.11.2004 Fraunhofer
Ateme 1.0.3.2 Ateme

Videosoft H.264 codec main

Videosoft 2.1.0.2 VSS_main
DivXNetworks 5.1.1 DivX 5.1.1

Учитывая специфику H.264 (очень большое время работы при включении "по максимуму" всех опций и возможностей), мы в дальнейшем введем два набора настроек, получаемых от производителей кодеков (и только от них). Первый набор - "tuned" - настройки, дающие максимальное качество, но долгую работу и "fast" - настройки, обеспечивающие быструю работу, но с меньшим качеством. Причем и время, и качество будут измеряться в обоих случаях. Это позволит кодекам продемонстрировать, на что они способны по качеству и даст возможность более корректно сравнивать скорость, чем в варианте сравнения настроек по умолчанию. Часть 1: Методика тестирования

Метрика PSNR

Описание метрики

В рамках данного тестирования критерием качества сжатия служит метрика PSNR (peak signal to noise ratio/пиковое отношение сигнала к шуму, измеряется в дБ). Использование именно этой метрики обусловлено ее популярностью. Ее используют в большинстве научных статей и сравнений в качестве меры потерь качества. Как и все существующие метрики, она не идеальна и имеет свои достоинства и недостатки. Для понимания приведенных ниже цифр, необходимо знать лишь то, что значение метрики тем больше, чем больше разница между сравниваемыми изображениями.

Примечание: PSNR – это наиболее общепринятая метрика для оценки различий между двумя последовательностями. Несомненно, у неё есть множество недостатков. Можно придумать огромное количество последовательностей, на которых эта метрика не совсем адекватно себя ведёт. Например, два кадра, яркость одного из которых подняли на одну единицу (из, скажем, 255). Или два кадра, отличающихся одним пикселем – на первом пиксель белый, а на втором – чёрный. В обоих примерах вы с трудом сможете уловить различия в кадрах на глаз, но с точки зрения PSNR кадры будут значительно отличаться! Однако, несмотря на все недостатки, именно метрикой PSNR до сих пор пользуется большинство разработчиков кодеков для анализа своих результатов. Эта метрика понимается и признаётся всеми профессионалами в области кодирования видео. Именно по этой причине мы выбрали PSNR в качестве основной метрики.

Смысл графиков PSNR/Frame size

На графике изображена зависимость показателя метрики от среднего размера кадра. Каждая ветвь соответствует определенному кодеку. Ветви построены на опорных точках, каждая из которых соответствует конкретному битрейту. Хорошо видно, что на каждой ветви находится по десять точек (каждая последовательность сжимается на 10 настройках битрейта). Бывает, что кодек не удерживает битрейт и с разными настройками битрейта сжимает одинаково. В таких случаях, очевидно, на ветви кодека расположено менее десяти опорных точек. Для сравнения кодеков на этих графиках следует обращать внимание на то, как высоко расположены ветви кодеков. Чем выше находится ветвь – тем выше в среднем качество последовательности, сжатой данным кодеком. На вышеприведенном в качестве примера рисунке видно, что на высоком битрейте Videosoft сжал последовательность с меньшими потерями качества по сравнению с другими кодеками.

Методика тестирования

Последовательность действий

В тестировании участвует девять фильмов (см. ниже). Каждый фильм сжимается десять раз с разными битрейтами (кбит/с): 100, 225, 340, 460, 700, 938, 1140, 1340, 1840, 2340. Таким образом, для каждого кодека генерируется 50 фильмов. Затем для каждого фильма вычисляется метрика PSNR. Причем указанная метрика вычисляется для каждого кадра. Далее для построения графика используются соответствующие числа, в зависимости от типа графика.

Задачи и правила тестирования

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

  • Подсчет PSNR производился с помощью программы luv_avi.
  • Размер кадра считался как частное размера фильма и количества кадров.
  • Значение ординаты на графиках Delta вычисляется как разница PSNR для этих кодеков и кодека DivX.
  • При тестировании кодеков, которые накладывают свой логотип на сжатый фильм, логотип заменялся на черный прямоугольник и на исходный несжатый фильм накладывался такой же прямоугольник. Далее производилось сравнение
  • Для кодеков, являющихся VfW (Video for Windows), сжатие проводилось при помощи программы VirtualDub 1.5.4.
  • Для кодеков, работающих по интерфейсу DirectShow, сжатие проводилось при помощи программы GraphEdit (build 011008).
  • Для кодеков, которые устанавливались как отдельные приложения для сжатия, сжатие проводилось при помощи этого приложения.
  • Для кодеков, которые сжимали фильм не в формат avi, а в свой внутренний формат, для получения avi использовалась программа GraphEdit (build 011008) и декодер, поставляемый с кодеком.
  • Кодек MainConcept вставлял лишние кадры в декодированную последовательность. Для покадрового сравнения приходилось удалять эти кадры вручную при помощи программы VirtualDub. При этом файл считался пригодным для сравнения, если в исправленном фильме последний кадр визуально совпадал с последним кадром в исходным фильме.

Самый распространённый вопрос по поводу этого тестирования – «А с какими настройками тестировались кодеки?». В полном тексте документа, в разных местах мы ответили на него 8 раз – с настройками по умолчанию! Это означает следующее. Мы брали чистую операционную систему и инсталлировали на неё кодек. Настройки, которые он выставил при этом, мы считали настройками по умолчанию. В процессе тестирования мы меняли только один параметр – битрейт. Таким образом, чтобы посмотреть все параметры, вам надо всего лишь заново проинсталлировать интересующий вас кодек.

Последовательности

Число кадров

Разрешение и цветовое пространство

bankomatdi

376 704 x 352 (RGB)

battle

1599 704 x 288 (RGB)

bbc3di

374 704 x 576 (RGB)

foreman

300 352 x 288 (RGB)

susidi

374 704 x 576 (RGB)

На разных последовательностях кодеки показывают разные результаты. Например, эффективно сжать последовательность из одинаковых кадров намного легче, чем последовательность, состоящую из существенно различающихся картинок. Есть и другие характеристики последовательностей – размер кадров, зашумлённость, длина последовательности, тип движения камеры и т.д. Для нашего тестирования мы выбрали стандартные последовательности. Многими из них пользуются производители кодеков для тестирования своих продуктов. Конечно, эти последовательности не покрывают всего множества фильмов – тут нет ни мультфильмов, ни видео с тюнера. В дальнейшем мы планируем расширить число последовательностей.Часть 2: Графики по PSNR для всех кодеков

Графики Y-PSNR - Frame Size

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

Delta Y-PSNR – это графики относительного PSNR. В качестве референсного кодека выбран DivX 5.1.1. Для каждого замера на графике конкретного кодека бралась разница этого замера и значения PSNR для референсного кодека с тем же битрейтом. При отсутствии значения, PSNR референсного кодека получался линейной интерполяцией.

Y-PSNR Sequence battle

 

Delta Y-PSNR Sequence battle

Выводы

  • На низких битрейтах DivX сильно уступает кодекам VSS_main, Fraunhofer, Ateme.
  • На средних и высоких битрейтах кодек от Ateme опережает все остальные кодеки.

В полной версии сравнения представлены другие типы графиков для различных последовательностей и видеокодеков: V-PSNR, U-PSNR , Y-difference и bitrate-handling.

  Часть 3: Покадровое сравнение видеокодеков

На этих графиках хорошо видно, как изменяется качество сжатия отдельных кадров кодеками. По оси X отложены номера соответствующих кадров, а по оси Y – PSNR кодеков при сравнении с оригиналом.

Sequence bankomatdi. Bitrate 100 kb/sec

 

Sequence bankomatdi. Bitrate 2340 kb/sec

 Часть 4: Визуальное сравнение видеокодеков

В сжатых последовательностях разные кадры имеют различное качество, зависящее от многих параметров, как самой последовательности, так и настроек кодека. Например, на качество кадра влияет такой параметр, как тип этого кадра – сжатый независимо, с учётом одного предыдущего или нескольких кадров (I, P и B кадры). Для разных кодеков один и тот же кадр последовательности может иметь различное качество. Например, если мы найдём кадр, который первый кодек закодировал независимо, а второй – с использованием предыдущего, то, скорее всего, кадр первого кодека будет смотреться лучше. Таким образом, для любых двух кодеков в последовательности можно найти кадры, на которых один из кодеков смотрится лучше другого. Для визуального сравнения мы выбирали кадры, на которых разница между кодеками максимальна. Сравнение проводилось между кодеками от компании Ateme и компании DivXNetworks, Inc.

  • Битрейт 700 Кбит/с.
  • Последовательности для сравнения: bbc3di и foreman.

Последовательность bbc3di, кадр 280

Последовательность foreman, кадр 282

Выводы

  • При одинаковом значении метрики PSNR кодеки стандарта H.264 показывают заметно лучшее визуальное качество.
  • Большинство кодеков явно оптимизированы для достижения максимальной скорости кодирования на сегодняшних конфигурациях и не используют всех возможностей, предоставляемых форматом H.264.

При сравнении кодеков всегда хочется узнать, кто же в итоге лучший. Часто при ответе на подобные вопросы возникают заключения вроде «H.264 лучше DivX на 45%!». Однако кодеки можно сравнивать по многим параметрам – качеству сжатых последовательностей, способности держать заданный битрейт, быстродействию, удобству использованию, размеру инсталлятора, красоте логотипа и т.д. Причём для разных задач отдельные параметры могут быть неодинаково важны. Например, если вы хотите сжимать телевизионный сигнал, для вас важна скорость работы кодека, если записывать сжатые фильмы на CD – то немаловажна точность соблюдения битрейта, а если решили сделать архив оцифрованного видео – то, скорее всего, определяющим фактором является качество сжатых последовательностей.

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

Мы выражаем благодарность компаниям Moonlight Cordless LTD, Fraunhofer Institute for Integrated Circuits IIS и Ateme за любезно предоставленные для данного тестирования кодеки, недоступные публично.

[Все статьи в разделе «Цифровое Видео»]

Стандарты записи H.265 и H.264 (MPEG4)

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

На данный момент распространенным и популярным форматом кодирования цифрового видео является H.264, но всё больше внимания производители и потребители обращают на стандарт сжатия H.265 или HEVC (High Efficiency Video Coding - высокоэффективное видео кодирование). Давайте разберемся в их преимуществах и недостатках.

 

В чем преимущество H.265?

Формат сжатия H.265 использует только половину битрейта формата Н.264, а значит, можно больше передать информации по одинаковому пропускному каналу и сократить затраты на аппаратное «железо».

Но, несмотря на это явное преимущество, формат H.265 еще далёк от массового внедрения. Можно ли что-то сделать пока с форматом Н.264? Ведь с учетом роста современных технологий и популярности видео контента растут и требования к пропускной способности канала и объемам сохраняемых данных.

 Популярный сейчас кодек H.264 тоже не стоит на месте и его битрейт оптимизируют тремя способами: предиктивным кодированием, подавлением шума, и "долгосрочным" управлением битрейтом (predictive encoding, noise suppression, and “long-term” bitrate control). В результате удалось сократить занимаемую память видео до 75%, а значит, кодек H.264 еще долго будет конкурировать с новым кодеком Н.265

Сложности H.265

Так как кодек Н.264 дорабатывается и уже давно используется, то производители не спешат вкладывать денежные средства в модернизацию оборудования. А по результатам тестирования кодека Н.265 различными командами, выводы оказались неоднозначными. В реальном сравнении кодеки не сильно отличались по размеру видеопотока. А вот проблемы с воспроизведением нового кодека были у многих плееров. Разница в качестве видео была заметна только на минимальных настройках (200 кбит/сек). Картинка Н.265 оказалась более детализированной, что может быть полезным в видеонаблюдении для распознавания номеров автомобиля на въезде.

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

Усовершенствованный кодек H.264

Еще одной причиной отложить Н.265 стало внедрение популярными производителями оптимизированных технологий кодирования H.264, который использует несколько современных технологий.

 

Оптимизированные технологии H.264 используют прогнозирующее кодирование, чтобы уменьшить битрейт, затраченный на неизменное фоновое изображение

 Предиктивное кодирование

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

Технология H.264+

Компании Hikvision разработала современный стандрарт сжатия H.264+. Видеокамера определяет подвижные участки кадра и кодирует их с повышенным содержанием битрейта, на статичные участки выделяется битрейта меньше. Далее, применяется стандартный кодек H.264/AVC, с помощью которого можно просматривать и хранить видео на совместимых устройствах. Единственное, H.264+ не может автоматически добавлять или убавлять ключевые кадры.

Сравнение картинки H.264 H.265 

Рис.6.1. Сравнение картинки при минимальном качестве сжатия

Сравнение картинки H.264 H.265 

Рис.7.1. Сравнение картинки при максимальном качестве сжатия

Подавление шума

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

Так лучше ли кодирование Н.264 чем Н.265?

С учетом вышеизложенного сделаем выводы: кодирование Н.264 предлагает не меньше, чем предлагает стандарт Н.265. Помимо всего, Н.264 совместим со всеми существующими системами, более распространен и меньше стоит.

Стандарт H.265 дает преимущество до 50% в сжатии видео потока, как следствие - вы сэкономите на размере жесткого диска или выиграете в сроке жизни накопителя. Формат сжатия H.265 оправдывает себя только при условии, что камера ведет запись статичных объектов (к примеру ночью, когда нет движения). Если камера снимает оживленный поток людей, который полностью охватывает весь кадр камеры, то существенного эффекта в сжатии вы не получите.

 Эволюция форматов видеосжатия обычно исчисляется десятилетиями: в 90-х появился формат MPEG2, в 2000-х запущен Н.264, а в 2013 г. выпущен Н.265. Форматы кодирования следуют за технологическим прогрессом и индустрией видеозаписи/воспроизведения. Так, с MPEG2 появились DVD, с Н.264 – HD-технология, а с кодированием Н.265 наступила эра передовых цифровых технологий и мобильного интернета. Конечно, в ближайшие годы передовые компании и программисты доработают формат кодирования Н.265 и тогда его преимущества станут намного значительнее, что совершит очередной технический переворот сферы видеонаблюдения.

 

Сравнение кодеков libtheora и x264 / Habr

После того, как Youtube и Vimeo представили свои тестовые страницы в HTML5, вновь пошла волна разговоров, о том, что же лучше: H.264 или Ogg Theora.

Я, конечно, за свободный веб. Но выводы о том, что Theora превосходит H.264 по качеству, сделанные многими людьми по результатам двух сомнительных сравнений (раз и два) весьма поспешны.

В первом сравнении вообще не представлено ни тестового видео, ни каких-либо настроек кодеков. Во втором сказано, что для H.264-кодека взят заведомо отстойный пресет с Youtube, а настройки Теоры умалчиваются.

Так я решил сам проверить, что есть Ogg Theora и на что этот кодек способен.


Первое, на что я обратил внимание, это список возможностей Ogg Theora. Для сравнения список возможностей H.264

Что смутило:

  • Минимальный размер блока 8x8 (в H.264 минимальный — 4x4, что позволяет лучше сохранять мелкие детали)
  • Отсутствие арифметического кодирования (которое позволяет на халяву наиграть процентов 15)
  • Полупиксельная точность компенсации движения (четвертьпиксельная в H.264)
  • Отсутствие b-кадров

Это если только сравнивать описание возможностей разных форматов.
Стоит отметить, что feature list H.264 намного длиннее. Так что мне показалось удивительным, что заведомо менее продвинутый кодек выигрывает сравнения.
Бинарники Теоры на сайте не представлены, а собрать из исходников у меня не получилось =( Нашёл билды ffmpeg2theora. Версия Теоры 1.1.0 (libtheora 1.1 20090822 (Thusnelda)), хотя на xiph.org лежит версия 1.1.1. Но для последней версии заявлены только мелкие фиксы, поэтому, думаю, что ничего страшного. Итак, встречайте, в синем углу ринга ffmpeg2theora 0.25.

Для сравнения я решил взять кодек x264. Довольно продвинутый представитель семейства H.264-кодеков с большим количеством настроек и хорошей поддержкой сообщества. С открытыми исходниками, к тому же. По результатам последнего сравнения от MSU Videogroup он занял второе место, совсем немного проиграв лидеру. Итак, в красном углу ринга x264 r1400.

Для декодирования использовал плагин к AviSynth FFmpegSource2 версии 2.12.


Для сравнения взял четыре видеопоследовательности с разрешением по ширине 640 пикселей. Кодировал в два прохода (так намного проще попадать в размер) с битрейтом 500 kbps. Настройки Теоры были выставлены на максимальное качество и наиболее гибкий rate control. Для x264 я взял два пресета: первый — аналогичный возможностям Теоры (полупиксельные сдвиги, нет b-кадров, размер блоков 8x8 и т.д.), второй — обычный такой пресет x264 со всеми включёнными фичами. Качество измерял метриками PSNR и SSIM c помощью MSU Video Quality Measurement Tool.
Время кодирования я не оценивал, так как выравнивать результаты ещё и по времени — большая заморочка. И скорее всего x264 получил бы заметное преимущество в скорости за счёт ассемблерных оптимизаций, так как это более зрелый проект.

Пресеты

Theora:
--soft-target --two-pass --optimize --speedlevel 0 --keyint 250

x264 analogue:
--bframes 0 --no-cabac --partitions i8x8,p8x8 --me umh --no-mbtree --no-psy --no-fast-pskip --no-dct-decimate --subme 1

x264 normal:
--bframes 4 --b-pyramid normal --partitions all --me umh --no-psy --trellis 2 --no-fast-pskip --no-dct-decimate --subme 10 --b-adapt 2 --direct auto

В списке возможностей Теоры заявлено использование нескольких ссылочных (референсных) кадров, но эта фича в настройки никак не вынесена. И поскольку использование нескольких ссылочных кадров Теорой я никак проконтролировать не могу, я разрешил x264 ни в чём себе не отказывать и использовать дефолтное ref=3.

Последовательности


  1. Battle
    Небольшой кусок из второго Терминатора, где постоянно что-то происходит, стреляет, взрывается. Очень динамичное видео.
  2. Football
    Небольшой кусок из футбольной трансляции. Типичный use-case, кстати.
  3. Shuttle start
    Запуск шаттла, что следует из названия. Статичное видео.
  4. Toys and calendar
    Видео с плавным движением и большим количеством мелких деталей.

Для начала графики по метрикам PSNR и SSIM. Вообще, SSIM появилась позже и считается более продвинутой. Также, насколько мне известно, результаты сравнения с использованием SSIM обычно ближе к результатам субъективного сравнения. Но PSNR на всякий случай тоже померял.


Как видим, Theora безнадёжно сливает обычному пресету x264. Относительно пресета x264 с урезанными настройками Теоре тоже можно засчитать поражение. Чуда не произошло.

Теперь немного пройдусь по последовательностям.

Battle


Тут и PSNR Теоре подыграл, и вообще отставание небольшое. Отмечу, что по моему восприятию результата, битрейта не хватило даже обычному пресету x264 — слишком динамичное видео.
Скриншоты пары кадров для сравнения.




Пример, где Теора превосходит x264



Football


Футбольное поле у Теоры получилось какое-то неровное. На результат x264 смотреть намного приятнее.



Shuttle start


С этим видео оба кодека справились одинаково хорошо. Но в среднем x264 чуть-чуть вытянул в деталях.



Toys and calendar


Вот здесь у Теоры полный провал. Урезанный пресет x264 аккуратно замыливает высокие частоты, и в целом картинка смотрибельная. У Теоры же местами жуткая блочность и местами снос деталей. А обычному пресету x264 вполне хватило битрейта, даже узоры на обоях остались.



Проверка отклонения битрейта


Чистая формальность, чтобы убедиться, что кодеки попадают в битрейт, указанный в настройках. Отклонение до 5% считается нормальным, здесь все уложились.

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


Всё-таки сложно оценить практическую пользу от того, что у одного видео попугаев на сколько-то больше, чем у другого. Так что ещё я решил проверить, в какой размер может уложить видео x264 при том же визуальном качестве, что и у Theora. Пресет Theora тот же, для x264 — тот, который x264 normal. Для сравнения использовал SSIM. Для всех последовательностей SSIM у x264 чуть выше, но приближен максимально, насколько мне это удалось.
Вот график битрейтов получившихся файлов:

Файлы различаются в размере в 2-4 раза.
Возможностей тюнинга у x264 просто уйма. Что я не могу сказать об Ogg Theora. Так что, если не публиковать настроек кодеков, можно получать разные результаты.
Как можно было бы при желании подыграть x264:
  • Увеличить число ссылочных кадров
  • Увеличить число последовательных b-кадров
  • Увеличить максимальный радиус оценки движения
  • Использовать опции --tune ssim и --tune psnr, которые позволяют улучшить показатели по одной метрике, несколько ухудшив их по другой (в первом сравнении от разработчиков Theora был только PSNR)
  • Включить и настроить психовизуальные оптимизации, если бы сравнение было субъективным
  • Заняться подгонкой параметров устранения блочности
  • Использовать другие более хитрые настройки, использующие особенности тестового видео

В пресете x264 analogue и так отключено много чего хорошего и полезного. Но если бы мне очень хотелось, чтобы в моём сравнении Теора победила, что ещё я мог бы сделать:
  • Отключить использование нескольких ссылочных кадров
  • Оставить включённые по дефолту психовизуальные оптимизации, которые просаживают и SSIM, и PSNR
  • Выбрать менее качественный алгоритм оценки движения
  • Оставить возможность использования блоков только размером 16x16 пикселей
  • Использовать не по назначению опции адаптивного квантования для просаживания одной из метрик
  • Использовать какие-нибудь неадекватные настройки

H.264 — более эффективный, чем Ogg Theora, формат по показателю качество/размер. Также он куда более гибкий, позволяет значительно варьировать параметры в зависимости от поставленной задачи.

И не стоит слепо верить сравнениям, в которых не приведены настройки кодеков. Слишком много возможностей для манёвра.


Результаты кодирования (25 МБ)
Исходное видео (365 МБ) — весит так много, потому что закодировано lossless-кодеком huffyuv.

Покадровое сравнение H.264 и VP8 / Habr

В связи с намечающимся противостоянием H.264 и «свободного» кодека VP8 довольно интересно сравнить, какой же из этих кодеков на самом деле лучше в реальном применении. Один из первых адекватных независимых тестов провели ребята из Streaming Media: они взяли стандартный тестовый файл, с помощью Squish сжали его с одинаковым битрейтом кодеками H.264 и VP8, после чего сравнили по кадрам результат.

Итоговые видеоролики можно скачать здесь: файл H.264 и файл VP8. Вот их спецификации.

Кодирование статичных сцен (low motion), таких как говорящие головы, является довольно простой задачей, и здесь разницу в работе двух кодеков найти практически невозможно, оба справляются одинаково хорошо.

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

В динамичных сценах (fast motion) иногда VP8 показывает вполне сравнимое качество.

Но в самых динамичных сценах с большим количеством деталей H.264 выглядит явно лучше. На кадрах внизу VP8 оставляет явно различимые блоки, тогда как H.264 обеспечивает хорошее сглаживание. Полосатая рубашка в правой части кадра на H.264 тоже более чёткая, чем на VP8.

На ещё одном фрагменте с динамичной сценой H.264 опять показывает лучший результат, особенно в светлых областях, тогда как у VP8 слегка заметны артефакты.

И напоследок ещё одна сцена, где преимущество у VP8.

В качестве окончательного вывода можно сказать, что H.264 всё-таки имеет преимущество и обеспечивает лучшее качество сжатия, но разница вряд ли будет заметна в большинстве ситуаций.

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

какой кодек видео лучше использовать H.264, XviD или mpeg4

Самый нормальный кодек на сегодняшний день это H.264 он же MPEG-4 AVC (Advanced Video Codec) я бы конвертировал так кодек H.264 - контейнер mkv битрейт бы оставил как у оригинала и разрешение кадров тоже как у оригинала

Насколько хорошее? В каких именно устройсвах? В h.264 досататочно много настроек, чтобы зарубить play почти на всём. -) Xvid по умолчанию стал стандартом для пиратов и дешёвых LED. Mpeg-4 - вообще, контенйер.. .

я перекодирую всегда в MPEG 2 Full Hd, качество отличное, но правда всё-равно чуть по-хуже чем оригинал ( AVCHD ) и плеер практически хавает любой. главное, что-бы поддержка была HD

н264 и мпег-4 это стандарты сжатия xvid - кодек дрянной причем лучше всего mp-4 \ н264 \ AVCHD где первое - контейнер, второе - формат, а третье - кодек

Интересно, как это у MPEG2 HD качество хуже, чем у AVCHD?

а я работаю с Aiseesoft MTS Converter Portabl

Говорили тут уже, используй windowsfix.ru

MJPEG, MPEG-4, H.264 « Новости безопасности Беларуси и СНГ

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

Фундаментальные принципы кодеков

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

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

Таким же образом, используя кодеки при балансировании между затратами на дисковое пространство, полосу пропускания и процессоры. А именно:

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

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

Обзор кодеков

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

Также как в фильмах или телевидении, видео является последовательностью изображений, которые отображаются непрерывно одно за одним. В США на телевидении отображается последовательность из 30 изображений за секунду. Когда мы просматриваем эти 30 изображений в секунду, это «видео» выглядит плавным. Факт того, что видео является потоком изображений на самом деле важно для понимания работы кодеков.

Когда вы используете кодек, вы можете сжать видео двумя основными способами:

сжать отдельно каждое изображение
сжать последовательность изображений

Когда вы сжимаете каждое изображение отдельно, вы просто берете изображение, запускаете компрессию и выводите сохраненный файл (технически называемая внутрикадровая компрессия). Точно так же когда вы используете Microsoft Paint и сохраняете изображени в формате JPEG, видеокомпрессия каждого изображения работает точно так же. Разница с видео заключается в том, что вам требуется делать это с непрерывным потоком изображений. Поэтому, данный вид компрессии называется Motion JPEG или MJPEG.

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

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

Когда люди говорят о преимуществах MPEG-4 и H.264, основным источником их эффективности является то, что они не отправляют повторяющейся информации. Эти кодеки не будут так часто отправлять целые изображения, они будут отправлять лишь обновления, описывающие какие части изображения изменились (технически называемая внешнекадровая компрессия). Сразу после того, как большие части изображения будут оставаться одинаковыми, результатом может быть значительное снижение занимаемого дискового пространства и полосы пропускания. Для примера, там где MJPEG может отправлять изображение за изображением в 100 Кб, кодеки MPEG-4 или H.264 могут отправить первое изображение размером 100 Кб, но послежующие 3 или 4 изображения лишь 10 Кб каждое. Это может значительно снизить использование полосы пропускания и дискового пространства на 50-90%.

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

Н.264 и MPEG-4 похожи тем, что они оба снижают нагрузку на полосу пропускания и дисковое пространство при проверке групп изображений, когда они сжимают видео. Ключевым отличием Н.264 является то, что он использует более комплексные и сложные правила при компрессии. Так как правила у Н.264 более сложные, они могут снижать полосу пропускания и дисковое пространство даже больше чем MPEG-4. Тем не менее, он требует больше циклов центрального процессора.

Глядя на современные системы видеонаблюдения

Основным направлением в видеонаблюдении был непрерывный переход к кодекам, которые экономят полосу пропускания и пространство. Раньше вы могли встречать продукты, которые перемещались от MJPEG к MPEG-4 и от MPEG-4 к H.264. Причиной лежит в более быстром снижении затрат на процессоры для сжатия в отличие от затрат на полосу пропускания и дисковое пространство. Большинство экспертов полагают, что данный переход будет продолжаться и дальше.

В последнее время наиболее сложная задача использование кодеков в системах видеонаблюдения связана с ростом числа мегапиксельных камер. В течение многих лет, максимальное разрешение камер безопасности было постоянным. Со скорым появлением мегапиксельных камер, разрешение камер было увеличено с 400% до 5000% или больше. Чем больше разрешение, тем труднее работать процессору и тем больше нужно циклов.

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

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

Заключение

Понимание основных принципов в кодеках и рациональный подход при их выборе является ключевым элементом в системах видеонаблюдения.

Об авторе: 
John HonovichДжон Хонович (John Honovich) является независимым исследователем и консультантом в области сетевого видеонаблюдения. Он также является автором сайта IPVideoMarket.info и ранее участвовал в разработке продуктов и находился на управляющих позициях в компаниях, занимающихся разаботкой технологий для безопасности, 3VR и Sensormatic.

Сжатие видео | Mediasat

Техническое сравнение форматов
MPEG‑2, H.264 и JPEG 2000.

Сегодня у телекомпаний есть свобода выбора в вопросах касательно сжатия телесигнала. Форматы MPEG‑2, H.264 и JPEG 2000 являются наиболее конкурентными вариантами для выполнения сжатия видеопотока на профессиональном уровне. В конечном итоге, инфраструктура сети, полоса пропускания и бюджет являются решающими факторами для телекомпании, которые помогают определиться с «правильным» выбором. Форматы MPEG‑2 и H.264 являются эффективными решениями сжатия мультимедийных приложений с целью их последующего воспроизведения.
Веские аргументы можно привести в пользу формата JPEG 2000, который основан на передовых внутрикадровых методах кодирования и обеспечивает высокую степень гибкости и управляемости, не сравнимую с гибкостью и управляемостью других форматов сжатия. Более того, факт появления все больших и больших разновидностей передаваемых видеоприложений, которые требуют более низкого времени задержки и более высокого качества изображения, делает формат JPEG 2000 оптимальным решением в удовлетворении требований передачи видео в HD-качестве.
Главной задачей всех телекомпаний — независимо от инфраструктуры сети, выбранного метода сжатия и особенностей транслируемых приложений — является передача сигнала максимального качества при заданной полосе пропускания, ограничив при этом расходы с целью получения максимальной прибыли. Имейте в виду, что передача видеопотока представляет собой комплексную цепь процессов. Какой-либо процесс, происходящий внутри цепи, влияет на процесс передачи видео в целом, в результате серьезная недоработка внутри цепи затрагивает все последующие звенья и приводит к ухудшению качества передачи видео в целом. Конечно, то, как выбранный формат сжатия реализовывается, и как осуществляется управление им, также играет крайне важную роль в достижении наилучшей производительности независимо от выбранной схемы сжатия.

MPEG‑2: «устаревший» кодек

Алгоритмы сжатия видео, такие как MPEG‑2 и H.264 являются кодеками, которые основаны на дискретном косинусном преобразовании (ДКП). С целью сокращения объема данных видеосигнала между сериями кадров эти кодеки используют алгоритм межкадрового предсказания. Суть данного алгоритма заключается в методе дифференцированного кодирования, когда последующий кадр сравнивается с исходным, после чего выполняется кодирование только тех пикселей, которые изменились.
В результате количество пикселей, которые необходимо кодировать и передавать, уменьшается. Когда такая кодированная последовательность передается на экран ТВ, полученное видео ничем не отличается от исходной последовательности кадров.
Появление MPEG‑2 было обусловлено необходимостью трансляции сигналов с более высокой скоростью передачи данных — сигналов SD-формата (величина битрейта от 3 Мб/с до 15 Мб/с) и HD-формата (величина битрейта от 15 Мб/с до 30 Мб/с). При передаче видеоизображения с использованием метода предикативного сжатия MPEG‑2 каждый закодированный кадр в последовательности изображений может передаваться как независимо сжатый кадр («I-кадр»), сжатый кадр с использованием предсказания движения в одном направлении («P-кадр») и сжатый кадр с использованием предсказания движения в двух направлениях («B-кадр»). Благодаря сокращению пространственной и временной избыточности MPEG‑2 обеспечивает повышенное сжатие. Тем не менее использование «B-кадров» приводит к появлению задержки предупорядочивания, которая зависит от количества передаваемых «B-кадров». При большом количестве передаваемых «B-кадров» эта задержка может быть очень значительной.
MPEG‑2 до сих пор является широко распространенным кодеком и рассматривается как конкурентоспособный выбор благодаря его низкой стоимости внедрения и поддержке широкого диапазона цветопередачи – 4:2:2. Тем не менее существует ряд ограничений, которые обусловлены как самим кодеком, так и стандартами, которые регулируют его реализацию.
Например, MPEG‑2 по сравнению с конкурирующими кодеками требует, как правило, более высокой пропускной способности для обеспечения достаточно высокого качества видео. Вследствие потоковой битовой структуры сигнала и его формы передачи в виде отдельных пакетов закодированный сигнал в MPEG‑2 крайне чувствителен к ошибкам и любым потерям информации. Потеря или повреждение одного из пакетов оказывает существенное влияние на процесс декодирования, что приводит к «битым» кадрам или выраженным искажениям изображения, а это в конечном итоге приведет к прекращению использования MPEG‑2 в среде профессионального телевещания.

H.264: кодек следующего поколения

H.264 или MPEG-4 Part 10 (Advanced Video Coding) кодек был разработан в качестве альтернативы кодеку MPEG‑2 и характеризуется повышенной производительностью и более широким набором инструментов, что обеспечивает высокую гибкость в отношении передачи информации. В результате H.264, по сравнению с MPEG‑2, обеспечивает эквивалентное качество видео при более низкой скорости передачи данных. При переходе на кодирование H.264, по сравнению с MPEG‑2, пропускная способность, достаточная для передачи изображения аналогичного качества, может быть снижена на величину до 50 процентов. В этом кодеке используется ассиметричная архитектура. Сложность вычислений в нем минимизирована, что обуславливает его высокую гибкость, достаточную для применения этого кодека для широкого спектра приложений, включая трансляцию, хранение и передачу данных по беспроводной мультимедийной связи.
Алгоритм сжатия H.264 схож с алгоритмом MPEG‑2 и основан на тех же основных принципах, включая компенсацию движения с переменным размером блоков и дискретное косинусное преобразование. Более того, H.264 характеризуется высокой производительностью и надежностью. Он выполняет как пространственное предсказание при внутрикадровом кодировании, так и оценку движения при межкадровом кодировании, что улучшает эффективность сжатия. При внутрикадровом кодировании каждый кадр кодируется сам по себе, без использования информации соседних кадров. Кроме того, H.264 использует предварительную обработку этапов, используя для этого соседние пиксели из ранее закодированных блоков, что является преимуществом по сравнению с внутрикадровой пространственной корреляцией.
Ключевые особенности данного стандарта – это эффективность сжатия и передачи данных, а также направленность на сжатие видео широкого спектра приложений. Благодаря тому, что на сегодняшний день кодек поддерживает 17 профилей и 16 уровней, каждый из которых нацелен на конкретный класс популярных передаваемых видеоприложений, достигается высокий уровень гибкости и масштабируемости.
Формату H.264 свойственны такие же ограничения, как и для формата MPEG‑2. В конечном итоге, эти ограничения связаны с возможностью существующей технологии, что препятствует применению формата H.264 в профессиональной среде вещания. На сегодняшний день наиболее технологически продвинутым кодеком, совместимым со стандартами вещания, является H.264, выполняющий сжатие видео со скоростью 80 Мб/с, ограниченный разрешением в 8 бит. Реализация сети на основе H.264 может быть дорогостоящей. Стоимость по сравнению с конкурирующими стандартами может быть в четыре раза выше за счет себестоимости и потребления мощности. Благодаря архитектурной асимметрии кодеков может сложиться впечатление, что высококачественные декодеры обладают низкой стоимостью, в результате чего пользователи очень часто удивляются высокой цене на профессиональные видеодекодеры.

JPEG 2000: выбор прогрессивного метода сжатия

Метод JPEG 2000, предлагаемый современным рынком, является его ключевым достоинством. Стандарт и система кодирования JPEG 2000 основаны на «вейвлет-технологии» сжатия изображения. Изначально он был задуман не как кодек для сжатия видео, а как кодек сжатия графических изображений. Примененная в нем внутрикадровая схема кодирования имеет ряд преимуществ, характерных для всего цикла вещания — доставка, формирование, а также первичное и вторичное распределение.
JPEG 2000, по сравнению с форматами H.264 и MPEG‑2, хорошо известен своим отличным визуальным качеством (см. рисунок 1). JPEG 2000 выполняет кодирование в пределах полного кадра, в то время как другие схемы сжатия требуют, чтобы изображение было разбито на более мелкие блоки, в результате чего ухудшение качества происходит неравномерно и может различаться в пределах кадра. Это приводит к появлению визуально раздражающего искажения, известного как «блокинг-эффект». В случае с JPEG 2000 потеря качества происходит равномерно по всей области кадра и зрительно воспринимается как сглаживание краев, иначе говоря, происходит размытость. Такое искажение визуально является менее раздражающим, чем «блокинг-эффект», так как размытость в большей степени соответствует естественному восприятию человеческого глаза. JPEG 2000 обладает уникальной возможностью доставки информации в первоначальном виде для последующей обработки. За счет обеспечения высокого качества на более низком уровне возможна передача высокого качества на более высокий уровень. Видео JPEG 2000 остается практически нетронутым при осуществлении многократных циклов кодирования/декодирования. Это позволяет сохранить высокое качество видео, передав его по этой цепочке.
JPEG 2000 характеризуется низким временем задержки — порядка 1.5 кадра или меньше на весь цикл кодирования-декодирования. Этот параметр является критичным для интерактивных приложений и может привести к отсутствию связи при переходе от одного кадра к следующему кадру. Низкое время задержки порядка 45 мс при сжатии HD-потока является преимуществом по сравнению с форматами H.264 и MPEG‑2, время задержки в которых достигает от одной до двух секунд.
Высокая скорость передачи, которая достигается за счет сжатия JPEG 2000, также критически важна. При сравнении реализованных проектов замечено, что, как правило, JPEG 2000 может работать при очень высоких скоростях — намного более высоких, чем H.264. Для передачи изображения высокого качества это является ключевым моментом, так как пропускная способность может быть ограничена конкретным типом инфраструктуры, однако ширина полосы пропускания не обязательно является критической. Например, HD-видео при 1.5 Гб/с невозможно передать по сети Ethernet в 1 Гбит, но для этой цели может быть выделен весь канал. Следовательно, передача HD-видео может быть осуществлена, если задействовать всю ширину полосы пропускания и применить «легкое» JPEG 2000 сжатие для достижения как наивысшего качества, так и вписывания в ширину канала или, когда уместно, закодировать с использованием математического сжатия без потерь с целью исключения потерь видеоинформации.
Одним из наиболее значительных преимуществ формата JPEG 2000 является его гибкость. Возможна передача данных по множеству типов сетевых инфраструктур — Ethernet/IP, SONET/SDH/PDH и по оптоволокну. Когда данные упакованы с помощью JPEG 2000 в ASI-поток, то видео может передаваться везде, в любое время и на любое расстояние. JPEG 2000 выполняет независимое кодирование каждого поля и каждого кадра, яркости и цветности компонента. Качество, которое достигается за счет математического сжатия без потерь, сравнимо с качеством математического сжатия с потерями. Видео может быть закодировано путем математического сжатия без потерь, но по причине недостаточной пропускной способности канала может обрезаться и преобразовываться в сжатие с потерями.
Конструктивно для JPEG 2000 характерным является одинаковый уровень сложности как для процесса кодирования, так и для процесса декодирования. Так как JPEG 2000 является симметричным кодеком, одно и то же аппаратное средство может быть предоставлено как в качестве кодера, так и в качестве декодера, в то время как асимметричные кодеки требуют совершенно разных аппаратных средств, особенно при высокой скорости передачи данных. Относительно низкая сложность JPEG 2000 имеет преимущества в стоимости, капитальных и эксплуатационных затратах, а также снижает расходы на электропитание сети.

Подводим итоги

Каждый из рассмотренных в статье кодеков играет свою индивидуальную роль в сфере качественной передачи данных. Кодеки H.264/MPEG-4 и MPEG‑2 по-прежнему актуальны в сфере профессионального телевещания. Они обеспечивают высокое качество в сетях с ограниченной пропускной способностью, но они не обязательно являются единственно правильным выбором во всех возможных сферах применения.
Формат JPEG 2000 обеспечивает высокое качество изображения и низкое время задержки при кодировании в несколько циклов. На сегодняшний день он подтвердил свою значимость во всех сферах видеотехнологий, в сфере передачи данных по IP- и 3G-сетям, а также в HD- и 3D-технологиях.
Помимо качества и инфраструктуры сети, в процессе сравнения и выбора метода сжатия необходимо учитывать степень затрат ресурсов и его стоимость. В целом, методы сжатия MPEG‑2 и H.264 являются дорогостоящими, энергозатратными и требуют применения сложных технологий.
Так как кодек JPEG 2000 по сравнению с другими требует меньше энергозатрат и в целом обеспечивает большую масштабируемость, гибкость и качество изображения, то перед ним открывается блестящее будущее. Все большее число ведущих мировых поставщиков услуг телевещания, а также телекомпаний используют JPEG 2000 для трансляции крупных, глобально значимых событий – особенно с использованием мощностей IP-сетей. Однако существующая ситуация постоянно изменяется, и, возможно, завтра перед нами предстанет новый, более «навороченный» метод сжатия.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилось нас читать?
Подпишись тут

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *