Сравнение гибкости VBR режимов кодеков

Дата обновления: 25 Июля 2014
2014-07-25T12:52
Audiophile's Software

Введение

Первоначальная идея данного теста заключается в сравнении того, насколько способны отдельные кодеры подстраиваться под сигналы различной степени сложности.

Под сложностью сигнала прежде всего подразумевается энтропия. Информационная энтропия в данном случае — это мера неопределенности и непредсказуемости изменения сигнала, а также показатель его избыточности. Чем выше энтропия, тем ниже избыточность данных, и тем сложнее сжать информацию математическими методами.

Примером данных с высокой избыточностью могут послужить текстовые файлы — в силу единообразия бинарной кодировки текстовых символов, такая информация легко сжимается (например, с помощью архиваторов ZIP и RAR). С другой стороны, изображения формата JPG и видео-файлы уже являются сжатыми файлами, в которых избыточность практически сведена к нулю — по этой причине при архивации размер таких файлов не уменьшается.

В случае с сигналами можно привести яркие примеры. Так чистый тон (синусоидальный сигнал) имеет очень низкую энтропию (его поведение можно предсказать лишь по первому периоду — на неограниченное количество времени). Если же взять белый шум, то его энтропия крайне высока — это сигнал, амплитуда которого меняется совершенно случайным образом (её значения распределены по равномерному закону).

Таким образом, если мы возьмем чистый тон и сожмем его lossless кодером (работающим исключительно по математическому алгоритму сжатия), битрейт получится очень низкий, для белого шума — наоборот, высокий (сигнал практически не поддаётся компрессии).

Здесь надо сказать, что при lossy кодировании также используется математическое сжатие, и это один из важнейших его этапов. После того, как психоакустическое кодирование исключает из сигнала неслышимые составляющие, полученные данные сжимаются математическим алгоритмом — обычно это кодирование с использованием оптимизированных таблиц Хаффмана. При lossy кодировании психоакустика работает в тесной взаимосвязи с математическим кодированием, особенно в случае, когда необходимо добиться конкретного битрейта. Так, например, если психоакустическая модель отбросила некую часть информации, а после кодирования оставшейся битрейт фрейма получился ниже или выше требуемого — процесс повторяется, с уже откорректированными значениями квантователей. В случае с VBR кодированием психоакустика задаётся конкретным целевым качеством, отбрасывает всё ненужное, а далее —какой битрейт получится — такой получится. Подробно об этом можно прочитать в статье Понятно об MP3 кодировании (принцип работы других lossy кодеков аналогичен)

Таким образом, высокий битрейт на белом шуме даёт как lossless, так и lossy сжатие, то есть можно предположить определенную корреляцию между битрейтами lossless и lossy аудио. С другой стороны, у lossy есть психоакустиеская модель, которая учитывает порог слышимости и различные виды маскировки, благодаря чему даже сложный сигнал может быть в значительной мере сжат дополнительно.

В этом эксперименте мы оценим степень корреляции между значениями битрейта lossless и lossy, а также сравним между собой популярные lossy кодеры по способности адаптировать битрейт к сигналам различной сложности.

Подготовка и тестирование

Для теста я взял 140 семплов формата 16 бит 44.1 кГц, первоначально подготовленных для слухового теста кодеков. Их продолжительность варьируется от 3 до 35 секунд.

Мною была произведена предварительная подготовка семплов: для чистоты эксперимента было решено исключить из теста работу НЧ фильтров и стерео кодирования. Для этого все семплы были предварительно пропущены через ФНЧ 18. 5 кГц и сведены в моно (затем разведенное на два канала, во избежание ошибок кодирования некоторыми кодеками).

После этого я сжал семплы с использованием следующих кодеров/параметров:

FLACCL 2.1.5 -11
TAK 2.3.0 -p4m
LAME 3.99.5 -V2
QAAC 2.40 (CoreAudioToolbox v7.9.8.5) -V 90
QAAC 2.40 (CoreAudioToolbox v7.9.8.5) -v 200
OggEnc v2.87 LancerMod based on aoTuV b6.03 -q6
Musepack SV8 --quality 6
Opus libopus 1.1 -b 200

Как видите, главным образом я использовал рекомендуемые VBR настройки со средним выходным битрейтом около 200 кбит/с. Кроме того я включил в тест QuickTime CVBR для сравнения с рекомендуемым режимом TVBR.

Результаты

Корреляция

Привожу графики результирующих битрейтов (отсортировано по битрейту TAK):

Итак, что мы видим? Прежде всего, судя по графику, корреляция между битрейтом lossless и lossy незначительная — наша гипотеза не подтвердилась. В то же время корреляция между TAK и FLAC очевидна (и это не удивительно).

Что ж, давайте проанализируем данные более детально. Рассчитаем взаимные коэффициенты корреляции и построим таблицу.

Коэффициенты корреляции между lossless и lossy главным образом лежат в диапазоне 0.2–0.5, что интерпретируется как слабая корреляция. Наиболее сильно коррелирует с lossless AAC (0.56). Кроме того, между собой lossy кодеки коррелируют тоже слабо (средний коэффициент по lossy — 0.47). Больше всего корреляция наблюдается с Vorbis (особенно Vorbis-MP3 — 0.77). Самым же «своенравным» оказался Opus (и в меньшей степени — MPC) — у него даже наблюдается отрицательная корреляция с lossless.

Отсортируем данные по битрейту Vorbis (как по самому коррелируемому):

Распределение битрейта

Построим диаграмму средних битрейтов с планками среднеквадратичных отклонений:

Для lossy:

Выводы

1. При lossy кодировании значительно большую роль играет психоакустическое сжатие, нежели математическое. Доказательством этого является низкая корреляция как между lossless и lossy, так и между lossy кодерами (здесь — из-за различных психоакустических моделей).

2. Особенно вышеописанное выражено у кодеков MPC и Opus. Это говорит о том, что их психоакустические модели уникальны и, вероятно, более эффективны (подтверждается прослушиванием).

3. Судя по первому графику, можно сказать, что в единичных случаях, при низкой энтропии сигнала, lossless сжатие может быть эффективнее, чем lossy.

4. Разброс значений битрейта lossless значительно выше, чем у lossy. Отсюда вытекают и случаи, когда битрейт lossless оказался ниже, чем у отдельных lossy кодеров.

5. Наиболее гибкими в плане битрейта являются Opus и Vorbis.

6. Ограниченный режим CVBR не отразился на степени разброса битрейтов. Это говорит о том, что в результате ограничений битрейт в равной степени как сглаживается (когда психоакутсика инициирует занижение), так и завышается (когда есть избыток неиспользованного). В то же время степень корреляции между двумя режимами довольно высока, то есть ограничения на гибкость влияют не так уж значительно.


Информация от спонсора

SelimS.ru: федеральная служба заселения. Здесь вы можете арендовать квартиру, дом, или же снять часть дома без посредников. Все объявления принадлежат собственникам недвижимости и проверяются операторами сервиса.

 
   
Добавил: Audiophile | Просмотров: 4784 | Рейтинг: 4.7/5, голосов: 6
Комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]