VP8

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
VP8
Разработчик Google
Опубликован 13 сентября 2008 года
Тип формата Сжатое видео
Содержится в WebM, Matroska, Ogg
Расширен из VP7
Развит в VP9
Стандарт(ы) RFC6386
Открытый формат? Да (спецификация под CC Attribution)[1]
libvpx (VP8 codec library)[2][3][4]
Тип Видеокодек
Разработчик Google
Написана на Си
Операционная система UNIX-подобные (включая GNU/Linux, Mac OS X), Windows
Первый выпуск 18 мая 2010 года
Последняя версия 1.1.0 (11 мая 2012 года)
Состояние Active
Лицензия Новая лицензия BSD[5]
Сайт webmproject.org

VP8 — видеокодек, созданный компанией On2 Technologies как замена предыдущим кодекам VP7 и VP6. Анонсирован в сентябре 2008 года[6][7][8]. В 2010 году компания Google приобрела компанию-создателя формата и 19 мая 2010 года представила открытые исходные коды на конференции Google I/O[9]. Таким образом, VP8 стал вторым продуктом компании On2, имеющим открытый исходный код (первым был кодек VP3, в 2002 году открытый под лицензией BSD как кодек Theora). Возможно, данное событие стало результатом открытого письма из Free Software Foundation от 12 марта 2010 к Google с предложением открыть формат и постепенно заменить им ныне используемую комбинацию из Adobe Flash Player и H.264/MPEG-4 AVC форматом VP8 и HTML5[10][11]. Исходные коды VP8 открыты под лицензией, схожей с BSD, но дополненной передачей некоторых патентных прав.

Особенности кодека

  • Golden Frames — введён новый тип ключевых кадров. Это опорные кадры, хранящиеся в отдельном буфере и допускающие ссылку на себя спустя значительное время после их декодирования.
  • Повышенная устойчивость к потере пакетов (кадры типа Recovery строятся не на базе непосредственно предшествующих кадров).
  • Loop Filtering (фильтрация артефактов от DCT-кодирования, может применяться по-разному к частям кадра с быстрым движением, с медленным движением, к неизменным частям).
  • Multicore adaptability (возможно кодирование со множеством слабо зависимых подпотоков, позволяющее масштабировать декодирование на многоядерных архитектурах).
  • Декодирование адаптировано как к SIMD-расширениям, так и к процессорам без них, со слабой (медленной) поддержкой байтовых операций (например, для ARM9 или ARM11 сложение 4 пар байт может быть заменено на одно сложение пары 32-битных слов, за счёт того, что кодек гарантирует отсутствие переполнения или насыщения в некоторых операциях). Для архитектур без поддержки вывода в формате YUV возможно определение другого цветового пространства, более близкого к RGB.
  • Упрощено по сравнению с предыдущими кодеками On2 энтропийное кодирование и субпиксельное предсказание для ускорения декодирования.
  • Realtime Quality — кодек имеет профили, оптимизированные для проведения видеоконференций в реальном времени.

Ограничения формата

  • Максимальный размер кадра составляет 16384x16384 пикселей, так как для высоты и ширины отводится всего по 14 бит.
  • Нет поддержки B-кадров, что может уменьшить степень сжатия. С другой стороны, это упрощает декодер. Для повышения степени сжатия используются аналогичные, но не подпадающие под патенты MPEG LA технологии: alternate reference frame[12].
  • Заявляется о большей лёгкости декодирования, чем в VP7 — это связано с меньшей силой энтропийного сжатия. Из-за этого кодек очень медленный при кодировании (в 2 раза хуже, чем VP7) на максимальных настройках качества, это нужно для того, чтобы превосходить VP7 по сжатию.
  • Отмечается большое сходство методик intra-предсказания с форматом H.264, вплоть до совпадающих имён функций. Это может повлечь патентные проблемы[13]. Так, в марте 2011 г. Министерство юстиции США начало расследование против MPEG LA по подозрению в использовании патентного права с целью устранения конкурента — WebM от Google. Поводом к началу расследования стали обвинения в нарушении патентов третьих разработчиков.[14].
  • Спецификации формата не формализованы, содержат множество вставок исходного кода[13].
  • Отсутствие независимой реализации кодера. Оригинальные кодер и декодер в реализации On2 имеют значительные общие части. Это усложняет поиск ошибок по сравнению со стандартами, для которых имеется независимая реализация[13]. Здесь стоит отметить, что существует декодер (но не кодер) VP8, созданный в рамках проекта FFmpeg[15], независимо от On2.


Поддержка VP8 операционными системами

Microsoft Windows macOS Linux Android OS iOS
Поддержка кодеков да Только сторонние приложения да да Только сторонние приложения
Контейнерная поддержка В Windows 10 Anniversary Update (1607) :

WebM (.webm не распознается; требуется псевдо-расширение) Matroska (.mkv)
В Windows 10, обновление 2018 г. (1809) : WebM (официально признан .webm)

WebM (.webm)

Matroska (.mkv)

WebM (.webm)

Matroska (.mkv)

WebM (.webm)

Matroska (.mkv)

WebM (.webm)

Matroska (.mkv)

Заметки В Windows 10 :
  • в Anniversary Update (1607) ограниченная поддержка доступна в приложениях Microsoft Edge (только через MSE) и Universal Windows Platform.
  • В обновлении за апрель 2018 года (1803) с предустановленными расширениями для веб-сайтов Microsoft Edge (EdgeHTML 17) поддерживает видео VP8, встроенные в теги <video>.
  • В обновлении за октябрь 2018 года (1809) предварительно установлены расширения VP9 Video. Он позволяет кодировать контент VP8 и VP9 на устройствах, которые не имеют аппаратного видеокодера.
Отсутствует встроенная поддержка в мультимедийной среде MacOS. - - Поддержка введена в Android 2.3.3+

- Streamable в Android 4.0+

Нет встроенной поддержки в родной мультимедийной среде iOS.

См. также

Примечания

  1. VP8 Bitstream Specification License. WebM Project. Дата обращения: 30 января 2012. Архивировано 18 июня 2012 года.
  2. WebM Code - Build Prerequisites. Дата обращения: 2 июня 2010. Архивировано 18 июня 2012 года.
  3. WebM Downloads. Дата обращения: 1 ноября 2010. Архивировано 18 июня 2012 года.
  4. WebM Code > Repository Layout. Дата обращения: 2 июня 2010. Архивировано 18 июня 2012 года.
  5. Software License. Дата обращения: 4 июня 2010. Архивировано 18 июня 2012 года.
  6. On2 VP8 (недоступная ссылка). Yenra. Дата обращения: 11 сентября 2009. Архивировано 18 июля 2011 года.
  7. Glen Dickson. IBC2008: On2 Touts New Codec for Web Video. Broadcasting & Cable (16 сентября 2008). Дата обращения: 11 сентября 2009. Архивировано 26 апреля 2012 года.
  8. On2 Technologies. On2 Technologies Unveils New Advanced Video Compression Format (недоступная ссылка). On2 Technologies (13 сентября 2008). Дата обращения: 11 сентября 2009. Архивировано 22 сентября 2008 года.
  9. Google Makes Major Announcements at Google I/O Архивная копия от 17 апреля 2021 на Wayback Machine, Ben Parr, mashable.com, May 19, 2010
  10. Open letter to Google: free VP8, and use it on YouTube Архивная копия от 21 января 2022 на Wayback Machine, Holmes Wilson, Free Software Foundation, March 12, 2010
  11. OpenNews: Фонд свободного ПО предложил перевести видекодек VP8 в разряд свободных продуктов. Дата обращения: 19 мая 2010. Архивировано 28 марта 2010 года.
  12. Inside WebM Technology: The VP8 Alternate Reference Frame — The WebM Open Media Project Blog. Дата обращения: 10 июня 2010. Архивировано 30 мая 2010 года.
  13. 13,0 13,1 13,2 Анализ VP8 одним из разработчиков x264 Архивировано 21 мая 2010 года.
  14. В США MPEG LA подозревают в попытках нечестно конкурировать с Google. ITC.ua (7 марта 2011). Дата обращения: 7 марта 2011. Архивировано 15 февраля 2012 года.
  15. Разработчики FFmpeg написали собственный декодер для видеокодека VP8. Дата обращения: 1 июля 2010. Архивировано 30 июня 2010 года.

Ссылки