Компания 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.


Источник: http://www.opennet.ru/opennews/art.shtml?num=29849