VP8
VP8 — видеокодек, созданный компанией On2 Technologies как замена предыдущим кодекам VP7 и VP6. Анонсирован в сентябре 2008 года[7][8][9]. В 2010 году компания Google приобрела компанию — создателя формата и 19 мая 2010 года представила открытые исходные коды на конференции Google I/O[10]. Таким образом, VP8 стал вторым продуктом компании On2, имеющим открытый исходный код (первым был кодек VP3, в 2002 году открытый под лицензией BSD как кодек Theora). Возможно, данное событие стало результатом открытого письма из Free Software Foundation от 12 марта 2010 к Google с предложением открыть формат и постепенно заменить им ныне используемую комбинацию из Adobe Flash Player и H.264/MPEG-4 AVC форматом VP8 и HTML5[11][12]. Исходные коды 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[13].
- Заявляется о большей лёгкости декодирования, чем в VP7 — это связано с меньшей силой энтропийного сжатия. Из-за этого кодек очень медленный при кодировании (в 2 раза хуже, чем VP7) на максимальных настройках качества, это нужно для того, чтобы превосходить VP7 по сжатию.
- Отмечается большое сходство методик intra-предсказания с форматом H.264, вплоть до совпадающих имён функций. Это может повлечь патентные проблемы[14]. Так, в марте 2011 г. Министерство юстиции США начало расследование против MPEG LA по подозрению в использовании патентного права с целью устранения конкурента — WebM от Google. Поводом к началу расследования стали обвинения в нарушении патентов третьих разработчиков.[15].
- Спецификации формата не формализованы, содержат множество вставок исходного кода[14].
- Отсутствие независимой реализации кодера. Оригинальные кодер и декодер в реализации On2 имеют значительные общие части. Это усложняет поиск ошибок по сравнению со стандартами, для которых имеется независимая реализация[14]. Cуществует декодер (но не кодер) VP8, созданный в рамках проекта FFmpeg[16], независимо от 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.
|
См. также
Примечания
Ссылки
|
|