Третий релиз библиотеки с реализацией видеокодека VP8/WebMКомпания Google представила VP8 Codec SDK (libvpx 0.9.6), третий релиз свободного видеокодека VP8, выпущенный под кодовым именем "Bali". Отдельно отмечается, что изменения в новой версии коснулись только оптимизации работы кодека и не затронули формат кодирования, связанные с VP8 и WebM спецификации не изменились. При подготовке версии "Bali" работа была сфокусирована на увеличении производительности кодировщика и на увеличении качества кодирования видео. Ключевые изменения в коде кодировщика: Скорость кодирования в режиме максимального качества (режим "Best") на x86-процессорах увеличилась в 4.5 раза по сравнению с первым открытым вариантом кодировщика VP8 или в 1.35 раза по сравнению с прошлым выпуском; В режиме хорошего качества (режим "Good") скорость кодирования увеличилась в 2.7 раз по сравнению с первым вариантом кодировщика или в 1.4 раза по сравнению с прошлым выпуском; На платформах ARM, поддерживающих расширения Neon, кодирование видеопотока в режиме реального времени ускорено на 7% для одноядерных CPU ARM Cortex A9, на 15% для двухядерных и на 26% на четырехядерных; На платформе NVidia Tegra2 кодирование в режиме реального времени ускорено на 21-36%, в зависимости от заданных параметров кодирования; Качества кодирования в режиме "Best" по сравнению с прошлой версией увеличено на 6.3% при рассмотрении пикового отношения сигнала к шуму PSNR и на 6.1% при использовании метрик SSIM, сопоставляющих результат с незакодированным эталонным вариантом; Реализован режим контроля потока с принудительным обеспечением качества (CQ - Constrained Quality), при котором оптимизировано распределение битов из секций видео, что позволяет добиться более высокого визуального качества для некоторых типов секций; За счет использования улучшенного двухпроходного режима контроля интенсивности потока достигнут более постоянный высокий уровень качества для всего видео клипа; Значительно улучшено качество изначально зашумленного видео через использования временной фильтрации альтернативных ключевых кадров; Улучшено качество кодирования переходных сцен, за счет уменьшения числа выделяемых битов для переходного момента и увеличения числа битов для кадра, следующего непосредственно после перехода от одной сцены к другой; Значительно увеличена скорость кодирования сцен с предсказуемым вектором движения, за счет улучшения алгоритмов предсказания поведения небольших блоков; Добавлены новые оптимизирующие ассемблерные вставки и переписаны некоторые ранее присутствующие функции, связанные с обработкой альтернативных ключевых кадров (alt-ref), подавлением шумов, квантованием и оценкой изменений; Усилено использование возможностей многоядерных систем, за счет оптимизации синхронизации между потоками; Добавлены многопоточные оптимизации для платформы ARM.
Распечатано с HostDB.ru.
|