VP8

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
VP8

Vp8-logo-for-mediawiki.svg

Разработчик

Google

Опубликован

13 сентября 2008 года

Тип формата

Сжатое видео

Содержится в

WebM, Matroska

Расширен из

VP7

Стандарт(ы)

RFC6386

Сайт

webmproject.org

libvpx (VP8 codec library)[1][2][3]
Vp8-logo-for-mediawiki.svg
Тип

Видеокодек

Разработчик

Google

Написана на

Си

Операционная система

UNIX-подобные (включая GNU/Linux, Mac OS X), Windows

Первый выпуск

18 мая 2010 года

Последняя версия

1.1.0 (11 мая 2012 года)

Состояние

Active

Лицензия

Новая лицензия BSD[4]

Сайт

webmproject.org

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

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

Ссылки[править | править вики-текст]