Релиз реализации видеокодека VP8/WebM - VP8 Codec SDK 1.0
Компания Google представила пакет VP8 Codec SDK 1.0.0 (libvpx), в рамках которого подготовлено четвёртое обновление реализации свободного видеокодека VP8, доступное под кодовым именем "Duclair". Код всех компонентов SDK поставляется под лицензией BSD.Формат кодирования и связанные с VP8 и WebM спецификации не изменились, изменению подверглись только средства разработки и библиотека с реализацией кодека. На уровне ABI новый выпуск не совместим с прошлыми версиями библиотеки, что требует пересборки приложений после обновления libvpx. Совместимость программного интерфейса (API) сохранена, т.е. модификации кода программ при переходе на новую версию не потребуется.
В новой версии продолжена работа по ускорению работы кодировщика/декодировщика, увеличению эффективности и качества кодирования видео. Особое внимание уделено увеличению производительности декодировщика VP8 и оптимизации способов кодирования в режиме реального времени. В кодировщик добавлено несколько важных улучшений, полезных для применения в режиме реального времени, например, для обеспечения работы потокового вещания и видеоконференций.
Ключевые улучшения:
- Поддержка техники временного масштабирования (Temporal scalability), позволяющей сформировать многослойный видеопоток с независимой частотой кадров для каждого субпотока, который может быть использован для воспроизведения с разной частотой кадров. Базовый поток обеспечивает слой с низкой частотой кадров, а дополнительные слои включают данные, позволяющие восстановить промежуточные кадры, упущенные в базовом потоке. Например, если качество канала не даёт возможность обеспечить заданную частоту кадров, вместо заметного для пользователя отбрасывания кадров будет незаметно снижена частота кадров без разрыва целостности воспроизведения;
- Реализация многокадровой постобработки (Multiframe postprocessing), позволяющей добиться более однородного визуального качества в условиях наличия кадров, существенно отличающихся по качеству от окружающих кадров. Такая ситуация возможна при использовании временного масштабирования или при некоторых сценариях включения более качественных ключевых кадров;
- Поддержка кодирования сразу в нескольких разрешениях. Позволяет одновременно закодировать несколько результирующих потоков с разным разрешением на базе одного контента, что будет значительно быстрее, чем при раздельном кодировании;
- Скорость декодирования на процессорах x86 увеличилась на 10.5%;
- Кодировщик улучшен в плане повышения эффективности кодирования в разных скоростных режимах: для режимов 1-3 скорость возросла на 4%-1.5% (4% для режима 1 и 1.5% для режима 3), для режимов 4-8 менее чем на 1%, а для режимов 9-16 - от 1.5% до 10.5%;
- Устранена неприятная ошибка, появившаяся в релизе 0.9.7 и приводившая к краху в процессе кодирования при возникновении определённых условий.
© OpenNet