Цифровой звук

Методика тестирования


Обычно для сравнения исходного и кодированного сигнала применяют метод сравнения их Амплитудно-Частотных Характеристик (АЧХ). Существует две разновидности этого метода: сравнение средних АЧХ сигналов и сравнение изменения АЧХ во времени. Чаще всего используется первая разновидность ввиду простоты ее реализации - сравнение необходимо производить только один раз. Однако при усреднении теряется значительная часть информации о сигнале, и как следствие при абсолютно одинаковых АЧХ исходный и кодированный сигнал могут весьма различаться в звучании, если в сигнале существуют большие по амплитуде, но весьма кратковременные всплески некоторых частот. Вторая разновидность позволяет избежать таких проблем, однако для реализации тестирования необходимо производить столь огромное количество вычислений с плавающей точкой (быстрое преобразование Фурье (БПФ) дает весьма неплохие результаты для анализа больших блоков сэмплов, однако для определения АЧХ по 10-20 сэмплам оно абсолютно неприменимо), что весь процесс тестирования займет несколько дней для минуты сигнала CD качества.

Не так давно распространение получил метод сравнения сонограмм сигналов - графического представления АЧХ сигналов во времени, в котором по оси абсцисс откладывается время, по оси ординат частота составляющей сигнала (обычно используется логарифмическая шкала), а интенсивность свечения точек определяет амплитуду данной частотной составляющей сигнала. Этот метод по сути дела представляет собой модификацию метода сравнения изменений АЧХ во времени, а проблема нехватки производительности в нем решается посредством уменьшения количества рассматриваемых частотных составляющих и расширении "окна сканирования" АЧХ до 50-100 сэмплов, что делает возможным использование БПФ. Такое упрощение метода неизбежно приводит и к уменьшению его точности. Во-первых уменьшение количества рассматриваемых частотных составляющих приводит к потере "разрешающей способности" этого метода, делая его практически аналогичным усреднению АЧХ во времени.
Во-вторых из-за расширения сканируемого окна и использования БПФ возникает эффект "размазывания" сигнала во времени. Чтобы проиллюстрировать сказанное имеет смысл привести скриншот, сделанный в звуковом редакторе GoldWave 4.16.



Данный скриншот был получен следующим образом: был создан файл содержащий в качестве сигнала синусоиду с частотой 2 Кгц, причем ей предшествовала примерно 1 секунда "тишины". Как видно из скриншота, несмотря на то, что маркер проигрываемого в настоящий момент сэмпла еще не достиг начала синусоидального сигнала, и АЧХ и сонограмма уже (!!!) показывают наличие сигнала с максимальной интенсивностью в районе 2 КГц, причем этот сигнал явно не синусоидальный, так как его АЧХ даже отдаленно не напоминает узкий пик. Форму узкого пика (тонкой и яркой линии на сонограмме) АЧХ приобретает только через ~0,1 секунды после начала синусоидального сигнала. Тем не менее "устойчивость" этого узкого пика также находится под большим вопросом - его максимум колеблется в пределах от 500 Гц до 4 Кгц. Если учесть, что сам алгоритм сжатия МР3 также вносит в сигнал похожие артефакты из-за того, что он основан на квантовании сигнала по частотным полосам, то использование сонограмм для оценки качества кодирования явно не имеет особого смысла ввиду огромной неточности получаемого результата.

Для избежания упомянутых выше проблем с методами, основанными на анализе АЧХ, была разработана методика тестирования, работающая по абсолютно другому принципу. Кодер МР3 фактически является "грубым" архиватором, при "распаковке" продукции которого нельзя полностью восстановить исходную информацию. При таком подходе качество кодирования можно однозначно оценить через процент сохранения информации. Таким образом, если из исходного сигнала вычесть закодированный сигнал, результат будет представлять собой именно ту часть информации, которая была потеряна в процессе кодирования. Среднее значение амплитуды этого результата и будет тем самым параметром, определяющим качество кодирования.


Он был назван "средней разницей сигналов" (СРС).

Однако, не все так хорошо в этом методе. Например, если перевернуть сигнал относительно его нулевого уровня (или просто сместить этот уровень на некоторую величину), то СРС приимет значение удвоенного среднего уровня сигнала (или значение величины смещения нулевого уровня), несмотря на то, что сигнал будет звучать идентично исходному (и иметь соответствующую АЧХ).

Поэтому более применимым для оценки качества кодирования стал другой параметр, названный "средней разницей форм сигналов" (СРФС). Для его определения исходный и кодированный сигналы обрабатываются так, что каждый сэмпл вместо амплитуды отклонения динамика от положения равновесия равен значению разности этих амплитуд для предыдущего и этого сэмпла (такая техника представления сигнала использовалась в ADPCM кодировании). Для уже обработанных сигналов вычислялась их СРС которая, для исходных сигналов является СРФС. Основное отличие СРФС от СРС заключается в использовании для оценки различий сигналов модулей их дифференциалов, а не разницы в амплитуде. Благодаря этому сравниваются именно формы сигнала, независимо от расположения нулевого уровня.

Но, несмотря на очевидные недостатки СРС, при тестировании было решено воспользоваться обоими методами. Это решение мотивировалось повышенными требованиями к кодеру. Хотя стандарт МР3 и был изначально разработан как "дающий похожее звучание, но не идентичные сигналы" (вот что значит слова "психоакустическая модель"), максимальное сохранение всех параметров исходного сигнала все равно является первостепенной задачей кодера, ввиду их явной корреляции с похожим звучанием.

Недостатки такого метода сравнения очевидны. СРС и СРФС не несут в себе информации о том, в чем именно теряет качество кодированный сигнал по сравнению с исходным. Более того, они даже не могут быть 100% характеристикой качества кодирования. Возможна ситуация, когда сигнал с СРФС близкой к нулю будет для человека звучать неотличимо от сигнала со значительно большей СРФС.



В то же время невозможна ситуация, когда сигнал с СРФС близкой к нулю будет сильно отличаться в звучании от исходного. Поэтому СРС и СРФС являются избыточными характеристиками и гарантируют, что различия сигналов будут не больше некоторого уровня. Поэтому первым этапом исследований было определение максимальных значений СРС и СРФС, при которых человеческое ухо еще не может заметить разницы в сигналах. Для этого к синусоидальным сигналам разных частот (от 200 Гц до 20КГц) максимальной амплитуды прибавлялся "белый" шум разного уровня. Полученные сигналы прослушивались совместно с исходными и определялись те пороговые значения уровня "белого" шума, при которых его не слышно за основным синусоидальным сигналом. Для такого уровня шума определялись СРС и СРФС, которые и принимались за "эталон". В случае, если кодирование сигнала дает СРС и СРФС меньшие эталонных, дальнейшее улучшение качества кодирования представляется бесполезным. Для значений СРС и СРФС больших эталонных существует вероятность слышимого отличия сигналов. Однако, из-за использования психоакустической модели эта вероятность весьма мала даже для значений СРС и СРФС, превышающих эталонные в несколько раз.

Среди преимуществ этого метода сравнения следует отметить его применимость к любым методам кодирования сигнала. Уже сейчас существуют некоторые форматы кодирования звука, не уступающие по степени сжатия МР3, основанные не на сохранении определенной части частотного спектра сигнала, а на, например, динамическом изменении частоты дискретизации. Для восстановления сигнала в таких методах используют интерполяционные методики, и полученный в результате сигнал сохраняет среднюю АЧХ исходного, несмотря на значительные отличия в локальных АЧХ. Для таких форматов кодирования метод сравнения средней АЧХ неприменим - он даст слишком завышенные результаты - а вот СРС и СРФС без проблем охарактеризуют качество кодирования. Поэтому исследование не было ограничено рамками только МР3 формата.


Содержание раздела