VP8 - VP8

VP8
Логотип VP8
Тип интернет-СМИ видео / VP8
Разработано Google
Первый выпуск 13 сентября 2008 г.
Тип формата Сжатое видео
Содержится WebM , Матроска
Расширен с VP7
Расширен до VP9
Стандарт RFC6386
Открытый формат ? Да (спецификация под CC-by )

VP8 - это открытый и бесплатный формат сжатия видео, созданный On2 Technologies в качестве преемника VP7 и принадлежащий Google с 2010 года.

В мае 2010 года, после покупки On2 Technologies, Google предоставила безотзывное патентное обещание на свои патенты на реализацию формата VP8 и выпустила спецификацию формата под лицензией Creative Commons Attribution 3.0 . В том же году Google также выпустил libvpx , эталонную реализацию VP8, под пересмотренной лицензией BSD .

Opera , Firefox , Chrome и Chromium поддерживают воспроизведение видео VP8 в видеотеге HTML5 . Internet Explorer официально поддерживает VP8 с отдельным кодеком. Согласно Google, VP8 в основном используется в связи с WebRTC и как формат для коротких зацикленных анимаций, как замена формата обмена графическими данными (GIF).

VP8 может быть мультиплексирован в контейнерный формат WebM на основе Matroska вместе со звуком Vorbis и Opus . Формат изображения WebP основан на внутрикадровом кодировании VP8. Прямой преемник VP8, VP9 , и развивающийся бесплатный формат видео в Интернете AV1 от Alliance for Open Media (AOMedia) основаны на VP8.

Функции

VP8 поддерживает только видеосигналы с прогрессивной разверткой с субдискретизацией цветности 4: 2: 0 и 8 бит на выборку . В своей первой общедоступной версии реализация On2 VP8 поддерживает многоядерные процессоры с 64 ядрами одновременно. По крайней мере, в реализации (с августа 2011 г.) VP8 сравнительно плохо адаптирован к высоким разрешениям ( HD ). При необходимости только трех буферов опорных кадров VP8 позволяет реализовать декодеры с относительно небольшим объемом памяти. Формат имеет чистый внутренний режим, то есть использование только независимо закодированных кадров без временного предсказания, чтобы обеспечить произвольный доступ в таких приложениях, как редактирование видео.

Технология

VP8 - это традиционный формат кодирования с преобразованием на основе блоков . Он имеет много общего с H.264 , например, некоторые режимы прогнозирования. Во время первой презентации VP8, согласно On2, внутриконтурный фильтр и Golden Frames были среди новинок этой итерации. Однако первое определение такого фильтра уже содержится в стандарте H.263 , а Golden Frames уже использовались в VP5 и VP7.

Дискретного косинусного преобразования (DCT) на 4 × 4 блоков и преобразование Адамара (WHT) служат в качестве основных частотных преобразований. Для временного предсказания можно ссылаться максимум на три кадра: последний золотой кадр (может быть внутренним кадром), альтернативный опорный кадр и непосредственно предшествующий кадр. Так называемые альтернативные опорные кадры (altref) могут служить только опорными кадрами, для их отображения можно отключить. В этом случае кодер может заполнить их произвольными полезными данными изображения, даже из будущих кадров, и тем самым служить той же цели, что и b-кадры форматов MPEG. Подобные макроблоки могут быть назначены одному из четырех (даже пространственно непересекающихся) сегментов и, таким образом, совместно использовать такие параметры, как используемый опорный кадр, размер шага квантователя или настройки фильтра. VP8 предлагает два различных настраиваемых фильтра удаления блочности , которые интегрированы в циклы кодека (внутриконтурная фильтрация). Многие инструменты кодирования используют вероятности, которые непрерывно вычисляются из недавнего контекста, начиная с каждого внутреннего кадра. Макроблоки могут содержать 4 × 4, 8 × 8 или 16 × 16 отсчетов. Векторы движения имеют точность до четверти пикселя.

История

Впервые VP8 был выпущен компанией On2 Technologies 13 сентября 2008 г. как On2 TrueMotion VP8, заменив своего предшественника VP7 .

После того, как Google приобрела On2 в феврале 2010 года, компания призвала выпустить исходный код VP8. В частности, 12 марта 2010 г. Фонд свободного программного обеспечения опубликовал открытое письмо с просьбой к Google постепенно заменить использование Adobe Flash Player и H.264 на YouTube смесью HTML5 и освобожденного VP8.

Сообщение о готовящемся объявлении о выпуске открытого исходного кода стало известно 12 апреля 2010 года. 19 мая на конференции Google I / O Google выпустила программное обеспечение кодека VP8 под лицензией, подобной BSD, и спецификацию формата битового потока VP8 под безотзывной бесплатная патентная лицензия. Это сделало VP8 вторым продуктом On2 Technologies, который был открыт после того, как в 2002 году они пожертвовали кодек VP3 в фонд Xiph.Org Foundation , из которого они получили кодек Theora .

В феврале 2011 года MPEG LA предложила держателям патентов определить патенты, которые могут иметь важное значение для VP8, чтобы сформировать совместный патентный пул VP8 . В результате в марте Министерство юстиции США начало расследование в отношении MPEG LA из-за его роли в возможной попытке подавить конкуренцию. В июле 2011 года MPEG LA объявила, что 12 патентообладателей откликнулись на его призыв сформировать патентный пул VP8 , не раскрывая патенты, о которых идет речь, и несмотря на то, что On2 приложила все усилия, чтобы избежать таких патентов.

В ноябре 2011 года Инженерная группа Интернета опубликовала информационный документ RFC 6386, Руководство по формату данных и декодированию VP8.

В марте 2013 года MPEG LA объявила о прекращении своих усилий по формированию патентного пула VP8 после достижения соглашения с Google о лицензировании патентов, которые, по его утверждению, «могут иметь важное значение» для реализации VP8, и предоставила Google право на сублицензирование. эти патенты любому стороннему пользователю VP8 или VP9 . Эта сделка открыла путь для возможной стандартизации MPEG в качестве бесплатного видеокодека для Интернета после того, как Google представил VP8 комитету MPEG в январе 2013 года.

В марте 2013 года Nokia подала иск против HTC и Google по поводу использования VP8 в Android в немецком суде; однако 5 августа 2013 года проект webm объявил, что немецкий суд постановил, что VP8 не нарушает патент Nokia.

Nokia сделала официальное заявление о правах интеллектуальной собственности (IPR) в IETF в отношении Руководства по формату и декодированию данных VP8, в котором перечислены 64 выданных патента и 22 заявки на патенты, ожидающие рассмотрения.

Реализации

libvpx

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

В настоящее время libvpx - единственная программная библиотека, способная кодировать видеопотоки VP8. Кодировщик, основанный на платформе x264 под названием xvp8, находится в разработке командой x264.

Кодирование

Видео для Windows , оберток кодека VP8 на основе библиотеке Google VP8 ( FourCC : VP80) доступно.

Команда разработчиков оборудования WebM Project в Финляндии выпустила аппаратный кодировщик RTL для VP8, который бесплатно доступен для производителей полупроводников.

В Nvidia Tegra мобильные наборы микросхем имеют полный VP8 аппаратное кодирование и декодирование (с Tegra 4 ).

Nexus 5 может использовать аппаратное кодирование

Расшифровка

libvpx может декодировать видеопотоки VP8.

23 июля 2010 года Фиона Глейзер, Рональд Бултье и Дэвид Конрад из команды FFmpeg анонсировали декодер ffvp8. В ходе тестирования они определили, что ffvp8 быстрее, чем собственный декодер libvpx от Google. Команда разработчиков оборудования WebM Project выпустила аппаратный декодер RTL для VP8, который может быть выпущен полупроводниковыми компаниями по нулевой цене. Компания TATVIK Technologies анонсировала декодер VP8, оптимизированный для процессора ARM Cortex-A8 . Чипсет ARMADA 1500-mini от Marvell поддерживает аппаратное декодирование VP8 SD и HD (используется в Chromecast ). Intel имеет полную поддержку декодирования VP8, встроенную в их наборы микросхем Bay Trail . Intel Broadwell также добавляет поддержку аппаратного декодирования VP8.

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

Поддержка VP8 различными операционными системами
Майкрософт Виндоус macOS BSD / Linux ОС Android iOS
Поддержка кодеков да Только сторонние приложения да да Только сторонние приложения
Поддержка контейнера В юбилейном обновлении Windows 10 (1607) :
WebM (.webm не распознается; требуется псевдорасширение)
Matroska (.mkv)

В Windows 10 October 2018 Update (1809) :
WebM (официально признан .webm)

WebM (.webm)
Matroska (.mkv)
WebM (.webm)
Matroska (.mkv)
WebM (.webm)
Matroska (.mkv)
WebM (.webm)
Matroska (.mkv)
Заметки В Windows 10 :
- В юбилейном обновлении (1607) ограниченная поддержка доступна в приложениях Microsoft Edge ( только через MSE ) и универсальной платформы Windows .

- В обновлении за апрель 2018 г. (1803) с предустановленными расширениями веб-мультимедиа Microsoft Edge (EdgeHTML 17) поддерживает видео VP8, встроенные в теги <video>.

- В обновлении за октябрь 2018 г. (1809) предустановлены видеорасширения VP9 . Он позволяет кодировать содержимое VP8 и VP9 на устройствах, не имеющих аппаратного кодировщика видео.

Нет встроенной поддержки в мультимедийной среде macOS. - - Поддержка представлена ​​в Android 2.3.3+.

- Возможность потоковой передачи в Android 4.0+

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

Связанные форматы

WebM

Также 19 мая 2010 года был запущен проект WebM , в который вошли вклады «Mozilla, Opera, Google и более сорока других издателей, поставщиков программного и аппаратного обеспечения» в крупных усилиях по использованию VP8 в качестве видеоформата для HTML5. В формате контейнера WebM видео VP8 используется с аудио Vorbis или Opus . Internet Explorer 9 будет поддерживать воспроизведение видео VP8, если установлен правильный кодек. Android поддерживает WebM, начиная с версии 2.3 - Gingerbread. Начиная с Android 4.0, VP8 можно было читать внутри mkv, а WebM можно было передавать в потоковом режиме. Adobe также объявила, что Flash Player будет поддерживать воспроизведение VP8 в будущем выпуске.

WebP

30 сентября 2010 года Google анонсировал WebP , свой новый формат изображений, в блоге Chromium . WebP основан на внутрикадровом кодировании VP8 и использует контейнер на основе формата файла обмена ресурсами (RIFF).

Сравнение с H.264

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

Согласно сравнению VP8 (закодирован с исходной версией libvpx) и H.264, проведенным StreamingMedia, был сделан вывод, что «H.264 может иметь небольшое преимущество в качестве, но это не имеет коммерческого значения» и что «Даже наблюдающая сторона рядом (чего не делает ни один зритель), очень немногие зрители могут заметить разницу ». Они также заявили, что «H.264 имеет преимущество в реализации, а не в технологии».

Google утверждает, что VP8 предлагает "высочайшее качество доставки видео в реальном времени", а Libvpx включает режим, в котором будут использоваться максимально возможные ресурсы ЦП, при этом скорость кодирования будет почти точно равна скорости воспроизведения (в реальном времени), сохраняя качество как как можно выше без лагов. С другой стороны, обзор, проведенный streamingmedia.com в мае 2010 года, показал, что H.264 предлагает немного лучшее качество, чем VP8.

В сентябре 2010 года Фиона Глейзер, разработчик кодировщика x264 , высказала несколько критических замечаний по поводу VP8, заявив, что его спецификация была неполной, а производительность фильтра устранения блочности кодировщика в некоторых областях уступала x264. По своей спецификации VP8 должен быть немного лучше, чем H.264 Baseline Profile и Microsoft VC-1 . Кодировка находится где-то между Xvid и VC-1. Декодирование происходит медленнее, чем H.264 FFmpeg , но этот аспект вряд ли можно улучшить из-за сходства с H.264. Что касается сжатия, VP8 предлагает лучшую производительность, чем Theora и Dirac . По словам Глейзера, интерфейс VP8 не имеет функций и содержит ошибки, а спецификация не полностью определена и может считаться неполной. Большая часть кода VP8 - это скопированный код C , и поскольку исходный код представляет собой фактическую спецификацию, любые ошибки также будут определяться как что-то, что должно быть реализовано, чтобы соответствовать.

В 2010 году было объявлено , что WebM формат аудио / видео будет основываться на профиле в Matroska формат контейнера вместе с VP8 видео и Vorbis аудио.

Смотрите также

Рекомендации

дальнейшее чтение

Внешние ссылки