Α видеокодек - это программное обеспечение или устройство, обеспечивающее кодирование и декодирование для цифрового видео, которое может включать или не включать использование сжатия видео и / или декомпрессии. Большинство кодеков обычно являются реализациями форматов кодирования видео.
. Сжатие может использовать сжатие данных с потерями, так что вопросы измерения качества становятся важными. Вскоре после того, как компакт-диск стал широко доступным в качестве замены аналогового аудио в цифровом формате, стало возможным также хранить и использовать видео в цифровой форме. Вскоре для этого появились самые разные технологии. Основная цель большинства методов сжатия видео - создать видео, которое максимально приближается к точности исходного источника, одновременно обеспечивая минимально возможный размер файла. Однако есть также несколько других факторов, которые можно использовать в качестве основы для сравнения.
При сравнении видеокодеков сравниваются следующие характеристики:
Качество, которого может достичь кодек, во многом зависит от формата сжатия, который он использует. Кодек не является форматом, и может быть несколько кодеков, которые реализовать ту же спецификацию сжатия - например, кодеки MPEG-1 обычно не достигают соотношения качество / размер, сравнимого с кодеками, реализующими более современную спецификацию H.264. Но соотношение качество / размер выходного продукта ed разными реализациями одной и той же спецификации также могут отличаться.
Каждая спецификация сжатия определяет различные механизмы, с помощью которых необработанное видео (по сути, последовательность несжатых цифровых изображений с полным разрешением) может быть уменьшено в размере от простого битового сжатия (например, Lempel-Ziv-Welch ) для психовизуального резюмирования и обобщения движений, а также того, как вывод сохраняется в виде битового потока. Пока компонент кодера кодека соответствует спецификации, он может выбрать любую комбинацию этих методов для применения различных частей контента. Компонент декодера кодека, который также соответствует спецификации, распознает каждый из используемых механизмов и, таким образом, интерпретирует сжатый поток для рендеринга его обратно в необработанное видео для отображения (хотя это не будет идентично входному необработанному видео, если только сжатие не было выполнено). без потерь). Каждый кодировщик реализует спецификацию в соответствии со своими собственными алгоритмами и параметрами, что означает, что сжатый вывод различных кодеков будет различаться, что приведет к различиям в качестве и эффективности между ними.
Прежде чем сравнивать качество видео кодека, важно понять, что каждый кодек может дать различную степень качества для данного набора кадров в видеопоследовательности. Многочисленные факторы играют роль в этой изменчивости. Во-первых, у всех кодеков есть механизм, который отвечает за определение битрейта и качества для каждого кадра. Разница между переменным битрейтом (VBR) и постоянным битрейтом (CBR) создает компромисс между постоянным качеством для всех кадров, с одной стороны, и более постоянным битрейтом, что требуется для одних приложений, для других. Во-вторых, некоторые кодеки различают разные типы кадров, такие как ключевые кадры и неключевые кадры, различающиеся по важности для общего визуального качества и степени, до которой они могут быть сжаты. В-третьих, качество зависит от префильтров, которые есть во всех современных кодеках. Могут играть роль и другие факторы.
Для достаточно длинного клипа можно выбрать последовательности, которые мало пострадали от сжатия, и последовательности, которые сильно пострадали, особенно если использовался CBR, при этом качество между кадры могут сильно различаться из-за разной степени сжатия, необходимой для достижения постоянной скорости передачи данных. Таким образом, в данном длинном клипе, таком как полнометражный фильм, любые два кодека могут работать совершенно по-разному с определенной последовательностью из клипа, в то время как кодеки могут быть приблизительно равными (или ситуация обратная) по качеству в более широкой последовательности. рам. Пресс-релизы и любительские форумы могут иногда выбирать в обзорах последовательности, которые, как известно, отдают предпочтение конкретному кодеку или стилю управления скоростью.
Объективные методы оценки видео - это математические модели, которые стремятся предсказать человеческие суждения о качестве изображения, что часто подтверждается результатами экспериментов по оценке субъективного качества. Они основаны на критериях и показателях, которые могут быть объективно измерены и автоматически оценены компьютерной программой. Объективные методы классифицируются на основе наличия исходного исходного видеосигнала, который считается высококачественным (как правило, без сжатия). Следовательно, их можно классифицировать как:
Это касается того, как видео воспринимается зритель и обозначает свое мнение о конкретной видеоряде. Субъективные тесты качества видео довольно дороги с точки зрения времени (подготовка и выполнение) и человеческих ресурсов.
Есть много способов показать экспертам видеоряды и записать их мнения. Некоторые из них были стандартизированы, в основном в Рекомендации МСЭ-R BT.500-13 и Рекомендации МСЭ-Т P.910.
Причина для измерения субъективного качества видео такая же, как и для измерения средней оценки мнения для аудио. Мнения экспертов могут быть усреднены, и средняя оценка может указываться как заданный доверительный интервал или сопровождаться им. Для усреднения можно использовать дополнительные процедуры. Например, мнения экспертов, мнения которых считаются нестабильными (например, если их корреляция со средним мнением оказывается низкой), могут быть отвергнуты.
В случае видеокодеков это очень распространенная ситуация. Когда кодеки с одинаковыми объективными результатами показывают результаты с разными субъективными результатами, основными причинами могут быть:
Трудно использовать длинные последовательности для субъективного тестирования. Обычно используются три или четыре десятисекундных последовательности, а для объективных показателей используются полные фильмы. Выбор последовательности важен - те последовательности, которые похожи на те, которые используются разработчиками для настройки своих кодеков, более конкурентоспособны.
Количество кадров в секунду (FPS), обычно используемых для измерения скорости сжатия / декомпрессии.
При оценке возможных различий в производительности кодеков следует учитывать следующие проблемы:
Так, например, кодек A (оптимизированный для использования памяти, т. Е. Использует меньше памяти) может на современных компьютерах (которые обычно не ограничены памятью) давать более низкую производительность, чем кодек B. Между тем та же пара кодеков может дать противоположные результаты при работе на старом компьютере с ограниченными ресурсами памяти (или кеша).
Современные стандарты определяют широкий спектр функций и требуют очень значительных программных или аппаратных усилий и ресурсов для их реализации. В любом конкретном продукте обычно поддерживаются только выбранные профили стандарта. (Это очень распространено, например, для реализаций H.264.)
Стандарт H.264 включает следующие семь наборов возможностей, которые называются профилями, ориентированными на определенные классы приложений:
Стандарт также содержит четыре дополнительных профиля all-Intra, которые определены как простые подмножества других соответствующих профилей. В основном они предназначены для профессиональных приложений (например, камеры и монтажные системы):
Более того, стандарт теперь также содержит три профиля Scalable Video Coding.
Точное сравнение кодеков должно учитывать вариации профиля внутри каждого кодека.
См. Также Профили и уровни MPEG-2.
Стратегии управления скоростью видеокодеков можно разделить на:
переменный битрейт (VBR)) - это стратегия максимального визуального качества видео и минимизации битрейта. В сценах с быстрым движением переменный битрейт использует больше битов, чем в сценах с замедленным движением аналогичной продолжительности, но при этом обеспечивает постоянное визуальное качество. Для потоковой передачи видео в реальном времени и без буферизации, когда доступная полоса пропускания фиксирована, например в видеоконференцсвязи, передаваемой по каналам с фиксированной полосой пропускания, необходимо использовать постоянный битрейт (CBR).
CBR обычно используется для видеоконференций, спутникового и кабельного вещания. VBR обычно используется для создания видео CD / DVD и видео в программах.
Управление скоростью передачи данных подходит для потокового видео. Для автономного хранения и просмотра, как правило, предпочтительнее кодировать с постоянным качеством (обычно определяемым квантованием ), а не использовать управление скоростью передачи данных.
Кодек | Создатель / сопровождающий | Дата первого публичного выпуска | Последняя стабильная версия | Лицензия | Запатентованные форматы сжатия | Метод сжатия | Базовый алгоритм | Поддержка OpenCL | nVidia Поддержка CUDA | Intel SSE Поддержка | Intel AVX поддержка | Intel Quick Sync Video поддержка |
---|---|---|---|---|---|---|---|---|---|---|---|---|
AOM Video 1 (AV1 ) | Alliance for Open Media | 2018-06-25 | 1.0.0 | BSD с двумя пунктами | Запатентовано, но свободно лицензируемый | Lossy / Lossless | DCT | Неизвестно | Неизвестно | Да | Да | Неизвестно |
libtheora (Theora ) | Xiph.org | 2002-09 гг. -25 | 1.1.1 (2009) | BSD-style | Запатентовано, но свободно лицензировано | Lossy | ||||||
dirac-research (Дирак ) | BBC Отдел исследований | 2008-09-17 | 1.0.2 (2009) | MPL 1.1, GNU GPL 2, GNU LGPL 2.1 | нет | Lossy / Lossless | DWT | |||||
CineForm | GoPro | 2001 | 10.0.2a (2019) | Лицензия Apache 2.0, Лицензия MIT | нет | Lossy | DWT | Нет | Нет | Да | Нет | Нет |
Шредингер (Дирак ) | Дэвид Шлиф | 2008-02-22 | 1.0.11 (2012) | MPL 1.1, GNU GPL 2, GNU LGPL 2, Лицензия MIT | нет | Lossy / Lossless | DWT | Да | Да | Неизвестно | Неизвестно | Неизвестно |
x264 | x264 team | 2003 | 2638 (2015) | GNU GPL | MPEG-4 AVC / H.264 | Lossy / Lossless | DCT | Да | Нет | Да | Да | Неизвестно |
x265 | x265 team | 2013 | 2.8 (2018) | GNU GPL | HEVC / H.265 | Lossy / Lossless | DCT | Нет | Нет | Да | Да | Неизвестно |
Xvid | Команда Xvid | 2001 | 1.3.5 (2017) | GNU GPL | MPEG-4 ASP | Lossy | DCT | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
FFmpeg (libavcodec ) | Команда FFmpeg | 2000 | 3.4.0 (15 октября 2017 г.) | GNU LGPL | MPEG-1, MPEG-2, MPEG-4 ASP, H.261, H. 263, VC-3, WMV7, WMV8, MJPEG, MS-MPEG-4v3, DV, кодек Соренсона и т. Д. | с потерями / без потерь | DCT | Нет | Да | Нет | Да | Да |
FFavs (libavcodec ) | FFavs team | 2009 | 0.0.3 | GNU LGPL | MPEG-1, MPEG -2, MPEG-4 ASP и т. Д. | Lossy / Lossless | DCT | Неизвестно | Неизвестно | Неизвестно n | Неизвестно | Неизвестно |
OpenH264 | Cisco Systems | 2014-05 | 2.0.0 | BSD | MPEG с двумя пунктами -4 AVC / H.264 | Lossy | DCT | Нет | Нет | Да | Нет | Нет |
Blackbird | Forbidden Technologies plc | 2006-01 | 2 | Собственный | Blackbird | Lossy | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
DivX | DivX, Inc. | 2001 | DivX Plus (2010) | Собственный | MPEG-4 ASP, H.264 | Lossy | DCT | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Да |
DivX ;-) | взлом кодека Microsoft MPEG-4v3 | 1998 | 3.20 альфа (2000) | Собственный | MPEG-4v3 от Microsoft (не совместимый с MPEG-4) | Lossy | DCT | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
3ivx | 3ivx Technologies Pty. Ltd. | 2001 | 5.0.5 (2012) | Собственный | MPEG-4 ASP | |||||||
Nero Digital | Nero AG | 2003 | Неизвестно | Собственное | MPEG-4 ASP, H.264 | |||||||
ProRes 422 / ProRes 4444 | Apple Inc. | 2007 | Собственный | Неизвестно | ||||||||
Sorenson Video | Sorenson Media | 1998 | Собственная собственность | Sorenson Video | ||||||||
Sorenson Spark | Sorenson Media | 2002 | Собственная собственность | Sorenson Spark | ||||||||
VP3 | On2 Technologies | 2000 | BSD-style | Запатентовано, но бесплатно лицензировано | ||||||||
VP4 | On2 Technologies | 2001 | Собственное | VP4 | ||||||||
VP5 | On2 Technologies | 2002 | Собственный | VP5 | ||||||||
VP6 | On2 Technologies | 2003 | Собственный | VP6 | ||||||||
VP7 | On2 Technologies | 2005 | Собственный | VP7 | ||||||||
libvpx (VP8 ) | On2 Technologies (теперь принадлежит Google ) | 2008 | 1.1.0 (2012) | BSD-style | Запатентованный, но свободно лицензируемый | |||||||
libvpx (VP9 ) | 2013 | BSD-style | P защищенный, но свободно лицензируемый | Lossy / Lossless | ||||||||
DNxHD | Avid Technology | 2004 | Собственный | VC-3 | Lossy | |||||||
Cinema Craft Encoder SP2 | Custom Technology Corporation | 2000 | 1.00.01.09 (2009) | Собственный | MPEG-1, MPEG-2 | |||||||
TMPGEnc Бесплатная версия | Pegasys Inc. | 2001 | 2.525.64.184 (2008) | Собственный | MPEG-1, MPEG-2 | |||||||
кодировщик Windows Media | Microsoft | 1999 | 9 (2003) (WMV3 в FourCC ) | Собственный | WMV, VC-1, (в ранних версиях MPEG-4 Part 2 и несовместимых с MPEG-4 MPEG-4v3, MPEG-4v2) | |||||||
Cinepak | Создано SuperMac, Inc. В настоящее время поддерживается Compression Technologies, Inc. | 1991 | 1.10.0.26 (1999) | Собственный | Неизвестно | Lossy | VQ | |||||
Indeo Video | Intel Corporation, в настоящее время предлагается от Ligos Corporation | 1992 | 5.2 | Собственное | Indeo Video | Lossy | DCT | |||||
TrueMotion S | The Duck Corporation | 1995 | Собственная | TrueMotion S | Lossy | Неизвестно | ||||||
RealVideo | RealNetworks | 1997 | RealVideo 10 | Собственный | H.263, RealVideo | Lossy | DCT | |||||
Huffyuv | Бен Рудяк- Гулд | 2000 | 2.1.1 (2003) | GNU GPL 2 | нет | Lossless | Хаффман | |||||
Лагарит | Бен Гринвуд | 2004-10-04 | 1.3.27 (2011-12-08) | GNU GPL 2 | нет | |||||||
MainConcept | MainConcept GmbH | 1993 | 8.8.0 (2011) | Собственный | MPEG-1, MPEG-2, H.264 / AVC, H.263, VC-3, MPEG-4 Part 2, DV, MJPEG и т. Д. | С потерями | DCT | Да | Да | Неизвестно | Неизвестно | Да |
Elecard | Elecard | 2008 | G4 (2010) | Собственный | MPEG-1, MPEG-2, MPEG-4, AVC | Lossy | DCT | Нет | Да | Нет | Да | Да |
Кодек | Создатель / Сопровождающий | Первый пу Дата выпуска blic | Последняя стабильная версия | Лицензия | Запатентованные форматы сжатия | Метод сжатия | Базовый алгоритм | Поддержка OpenCL | nVidia CUDA поддержка | Intel SSE Поддержка | Intel AVX поддержка | Intel Quick Sync Video поддержка |
Обратите внимание, что поддержка операционной системы не означает, можно ли воспроизводить видео, закодированные с помощью кодека. вернуться к конкретной операционной системе - например, видео, закодированное с помощью кодека DivX, можно воспроизводить в Unix-подобных системах с использованием бесплатных декодеров MPEG-4 ASP (FFmpeg MPEG-4 или Xvid), но кодек DivX (который является программным продуктом) доступно только для Windows и macOS.
Кодек | macOS | другое Unix и Unix-like | Windows |
---|---|---|---|
3ivx | Да | Да | Да |
Blackbird | Да | Да | Да |
Cinepak | Да | Нет | Да |
DivX | Да | Нет | Да |
FFmpeg | Да | Да | Да |
RealVideo | Да | Да | Да |
Шредингер (Дирак ) | Да | Да | Да |
Соренсон Видео 3 | Да | Нет | Да |
Theora | Да | Да | Да |
x264 | Да | Да | Да |
Xvid | Да | Да | Да |
Elecard | Да | Нет | Да |
Кодек | Тип сжатия | Базовый алгоритм | Максимально поддерживаемый битрейт | Максимально поддерживаемое разрешение | Переменный кадр скорость |
---|---|---|---|---|---|
Blackbird | Сжатие с потерями | Неизвестно | Неизвестно | 384 × 288 (PAL), 320 × 240 (NTSC) | Да |
Чинепак | Лос sy сжатие | Векторное квантование | Неизвестно | Неизвестно | Неизвестно |
Дирак | С потерями / Сжатие без потерь | Вейвлет-сжатие | Без ограничений | Без ограничений | Да |
Соренсон 3 | Сжатие с потерями | Дискретное косинусное преобразование | Неизвестно | Неизвестно | Неизвестно |
Theora | Сжатие с потерями | Дискретное косинусное преобразование | 2 Gibit/s | 1,048,560 ×1,048,560 | Через цепочку |
RealVideo | Сжатие с потерями | Дискретное косинусное преобразование | Неизвестно | Неизвестно | Да |
Elecard | Сжатие с потерями | Неизвестно | Без ограничений | 16k | Да |
.
Список свободно доступных сравнений и описание их содержания:
Название сравнения | Тип сравнения | Дата (даты) публикации | Список сравниваемых кодеков | Комментарии |
---|---|---|---|---|
Серия сравнений кодеков Doom9 | Серия субъективного сравнения популярных кодеков |
|
| Субъективное сравнение с удобной визуализацией |
Серия ежегодных сравнений видеокодеков MSU | Серия объективных сравнений кодеков HEVC / AV1 |
|
| Подробные объективные сравнения |
Серия ежегодных сравнений кодеков H.264 MSU | Серия объективных сравнений кодеков H.264 с эталоном MPEG-4 ASP |
|
| Подробное объективное сравнение |
Сравнение серий видеокодеков без потерь | Два сравнения размера и времени без потерь кодеки (с проверкой без потерь) |
|
| в 2007 г. - более подробный отчет с новыми кодеками, включая первый стандарт H.264 (x264) |
MSU MPEG-4 c Сравнение кодеков | Объективное сравнение кодеков MPEG-4 |
| DivX 5.2.1, DivX 4.12, DivX 3.22, MS MPEG-4 3688 v3, XviD 1.0.3, 3ivx D4 4.5.1, OpenDivX 0.3 | Также сравнивались разные версии DivX. Результаты Xvid могут быть ошибочными, поскольку при использовании DivX для него была отключена разблокировка. |
Субъективное сравнение современных видеокодеков | Точное с научной точки зрения субъективное сравнение с использованием 50 экспертов и методологии SAMVIQ |
| DivX 6.0, Xvid 1.1.0, x264, WMV 9.0 ( 2 битрейта для каждого кодека) | PSNR через VQM через SSIM Также было выполнено сравнение |
Сравнение видеодекодеров MPEG-2 | Цель MPEG-2 Декодеры сравнение |
| bitcontrol MPEG-2 Video Decoder, DScaler MPEG2 Video Decoder, Elecard MPEG-2 Video Decoder, ffdshow MPEG-4 Video Decoder (libavcodec), InterVideo Video Decoder, Ligos MPEG Video Decoder, MainConcept MPEG Video Decoder, Pinnacle MPEG-2 Decoder | Объектно протестированные (100 раз на поток) «краш-тест» декодеров (тест на поврежденном потоке - например, поцарапанный DVD или спутниковые образцы) |
Сравнение кодеков | Персональный субъективно мнение |
| 3ivx, Avid AVI 2.02, Cinepak, DivX 3.11, DivX 4.12, DivX 5.0.2, DV, Huffyuv, Indeo 3.2, Indeo 4.4, Indeo 5.10, Microsoft MPEG-4 v1, Microso ft MPEG-4 v2, Microsoft RLE, Microsoft Video 1, XviD, 3ivx, Animation, Blackmagic 10-бит, Blackmagic 8-бит, Cinepak, DV, H.261, H.263, Motion-JPEG, MPEG-4 Video, PNG, Sorenson Video, Sorenson Video 3 | Иногда сравнение бывает коротким (до одной текстовой строки на кодек) |
Оценка Дирака и Теоры | Научная статья |
| Дирак, Dirac Pro, Theora I, H.264, Motion JPEG2000 (тестируемые кодеки из Q2-2008) | Довольно подробное сравнение программного обеспечения, доступного во втором квартале 2008 года; Однако использовалась версия ffmpeg2Theora с ошибками |
VP8 против x264 | Объективное и субъективное сравнение качества VP8 и x264 |
| VP8, x264 | VQM, SSIM и PSNR for 19 CIF video clips with bitrates of 100, 200, 500 and 1000 kbit/s |