: архив : архив журнала "Звукорежиссер" : 2001 : #4

Формат Dolby АС-3. Алгоритмы компрессии цифровых аудиоданных.
Часть 2
Юрий Ковалгин

Психоакустическая модель системы Dolby AC-3

Все расчеты, связанные с процедурой выделения бит, выполняются в блоке называемом психоакустической моделью. Массивом входных данных для этого блока являются значения порядков B[k]. Выполняемые в модели вычисления включают следующие этапы.

Преобразование массива значений порядков коэффициентов МДКП и формирование полос психоакустического анализа. Значение порядка B[k] каждого коэффициента МДКП преобразуется в значение PSD[k] в новой шкале, содержащей 3072 градации, по формуле:

PSD[k]=3072- (B[k] х 128).

В результате формируется новый массив значений порядков коэффициентов МДКП (рисунок 1, нижняя часть). В верхней части данного рисунка представлен исходный массив значений порядков коэффициентов МДКП.

Рис.1.
Расчет интенсивностей
значений порядков коэффициентов МДКП

Дискретность изменения величины порядка коэффициента МДКП, как уже было сказано ранее, составляет 6 дБ, а наибольшее его значение равно 24. Поэтому полный динамический диапазон сигнала в системе Dolby АС-3 равен 24 х 6 = 144 дБ. Множитель 128 в этой формуле позволяет уменьшить дискретность грубой шкалы до величины шага, равного 6/128 = 0,046875 дБ, что лежит уже существенно ниже порога различимости слуха по амплитуде.

Полученная таким образом новая шкала значений, изменяющихся в диапазоне от 0 до 3072 с шагом 0,046875 дБ (если эти величины выражать в числе дискретных ступеней), принимается далее в качестве основной. Все значения параметров в стандарте выражены в абсолютных единицах этой новой шкалы.

Вычисления в психоакустической модели выполняются в так называемых полосах психоакустического анализа. Они не одинаковы по ширине. Различие между структурой полос психоакустического анализа, принятой в системе Dolby АС-3, и критическими полосами слуха, иллюстрирует рисунок 2. По оси ординат отложены значения ширины полос анализа и критических полос слуха, а по оси абсцисс - значения средней частоты сигнала. При этом ступенчатая кривая соответствует полосам анализа системы Dolby АС-3, сплошная кривая (Critical Bandwidth) - критическим полосам слуха, а пунктирная линия – полосам, ширина которых соответствует половине ширины критических полос слуха (0,5 Critical Bandwidth).

Рис. 2
Изменение ширины полос психоакустического анализа
в функции от средней чостоты для системы Dolby AC-3

До частоты 2531 Гц ширина полос психоакустического анализа одинакова, и выбрана так, что в каждую из них попадает только один коэффициент МДКП. Например, при частоте дискретизации fд = 48 кГц и длине выборки N = 512 отсчетам звукового сигнала, ширина этих полос составляет 93,75 Гц. До частоты 2531 Гц мы имеем в этом случае 28 полос анализа одинаковой ширины. Далее их ширина возрастает с ростом частоты так, что они включают соответственно по 3, 6, 12 и, наконец, по 24 коэффициента МДКП каждая. Всего в нашем случае будет 256 коэффициентов МДКП, а полос психоакустического анализа - 50, что соответствует полосе частот входного звукового сигнала 0…23900 Гц.

Изложенное поясняет верхний график на рисунке 3. Здесь изображены массивы значений PSD[k] порядков коэффициентов МДКП в полосах психоакустического анализа (синий и зеленый цвета).

Рис. 3
Структура полос психоакустического анализа
в системе Dolby AC-3

Расчет энергии звукового сигнала в полосах психоакустического анализа

В стандарте использован следующий механизм вычислений: сначала берутся значения порядков первых двух соседних (по частоте) коэффициентов МДКП в данной полосе анализа, и определяется максимальное значение. К нему добавляется величина, равная разности значений порядков этих двух коэффициентов. Величина последней задается в форме табличной функции экспоненциального вида. Затем полученное таким образом суммарное значение порядка записывается в аккумулятор (накопитель), и далее осуществляется сравнение этого вычисленного значения со значением порядка следующего по частоте коэффициента МДКП, и т. д.

Процесс вычислений повторяется до тех пор, пока не будут использованы все коэффициенты МДКП данной полосы анализа. На рисунке 3 (нижний график) показан массив значений энергий порядков коэффициентов МДКП в полосах анализа, а на верхнем рисунке красным цветом тот же самый массив, но вместо номера полосы анализа по оси абсцисс отложены номера коэффициентов МДКП, что позволяет увидеть число коэффициентов МДКП в каждой из полос психоакустического анализа.

Выбор прототипа индивидуальной кривой маскировки

Как и в стандартах MPEG, здесь учитывается маскировка только в частотной области. В основе выбора прототипа кривой маскировки лежат экспериментальные данные, полученные для тонов. В качестве примера на рисунке 4 изображено семейство кривых маскировки для тона частотой 3200 Гц. Параметром каждой кривой является абсолютный акустический уровень маскирующего тона (в дБ), вычисленный относительно звукового давления p = 2 х 10-5 Па, и равный соответственно 40, 60, 80 и 100 дБ.

Рис. 4
Изменение порога слышимости измерительного тона,
маскируемого тоном частотой 3200 Гц

Для каждого уровня маскирующего тона (из экспериментальных данных, подобных представленным на рисунке 4) определялся относительный порог слышимости шума, который имел полосу частот, равную полосе психоакустического анализа. Средняя частота полосы шума изменялась. Иными словами, рассматривалась маскировка вне критической полосы слуха, при которой тон маскирует шум с полосой, примерно равной 0,5 барка. Затем каждая полученная таким путем зависимость нормировалась к уровню маскирующего сигнала по формуле:

NRNT(F)=NNT(F)-NMT(F), дБ,

где NRNT(F) - нормированное по отношению к уровню маскирующего тона значение порога слышимости шума, NNT(F) - порог слышимости шума, маскируемого тоном, NMT(F) - уровень маскирующего тона. Эти вычисления выполнялись отдельно для каждого значения частоты и уровня маскирующего тона.

В качестве примера на рисунке 5 показано семейство таких зависимостей для тона частотой 2000 Гц (тонкие линии). Параметром каждой из представленных здесь кривых является уровень маскирующего тона NMT, в данном случае частотой 2000 Гц. Жирной линией здесь показана так называемая композитная кривая маскировки, представляющая собой наименьшие возможные значения для всего представленного здесь семейства нормированных кривых маскировки.

Рис. 5
К построению композитной кривой порога слышимости шума,
маскируемого тоном частотой 2000 Гц

В результате этих вычислений разработчиками было получено в общей сложности десять таких композитных зависимостей. Далее эта совокупность композитных кривых маскировки была преобразована в так называемые обобщенные кривые маскировки.

Они представлены на одном графике в виде, показанном на рисунке 6 (тонкие кривые). По оси абсцисс здесь отложены уже значения высот тона (а не частоты, как это было ранее), деления следуют через 0,5 барка, что соответствует расстоянию между центрами соседних полос психоакустического анализа системы Dolby АС-3, а нуль этой новой шкалы соответствует высоте маскирующего тона, выраженной в барках. Параметром каждой такой обобщенной кривой маскировки является частота маскирующего тона. Представленные здесь кривые и есть ничто иное, как развертывающие функции или индивидуальные кривые маскировки.

Рис. 6
К построению обобщенных кривых маскировки
для области частот 500...4000 Гц

Кодирование параметров обобщенных кривых маскировки

Аппроксимация таких зависимостей достаточно сложна. Поэтому далее при их использовании введены упрощения. В системе Dolby AC-3 маскировка в сторону низких частот не учитывается. Маскировка в сторону верхних частот (Рис. 6) с точностью, вполне достаточной для практики, может быть аппроксимирована двумя отрезками прямых линий (жирные линии): Fast Upwards Masking - быстро спадающая прямая, и Slow Upwards Masking - медленно затухающая прямая (Рис. 6 и 7). Для их задания в стандарте системы Dolby AC-3 используются четыре параметра, которые включаются кодером в поле данных психоакустической модели для передачи декодеру и обозначаются как:

Slow Decay - крутизна медленно затухающего сегмента, диапазон изменений этого параметра составляет от -0,70 до -0,98 дБ/полосу;

Slow Gain - вертикальное смещение от уровня маскирующей компоненты сигнала для медленно затухающего сегмента, диапазон изменений этой величины составляет от -49 до -63 дБ;

Fast Decay - крутизна быстро затухающего сегмента, диапазон изменений крутизны наклона от -2,95 до -5,77 дБ/полосу;

Fast Gain - вертикальное смещение от максимального уровня маскирующей спектральной компоненты для быстро затухающего сегмента прямой; диапазон изменений этой величины равен от -6 до -48 дБ.

Рис. 7
Прототип обобщенной кривой маскировки
в системе Dolby AC-3

Синтез обобщенной кривой маскировки

Отрезки аппроксимирующих прямых линий в кодере системы Dolby AC-3 синтезируются с помощью двух рекурсивных фильтров, включенных параллельно. Результирующее значение глобального порога маскировки в полосе психоакустического анализа определяется как наибольшее значение из выходных отсчетов этих двух фильтров.

Далее полученные значения корректируются с целью учета влияния уровня маскирующего сигнала на величину порога маскировки. После коррекции значения глобального порога маскировки в каждой полосе психоакустического анализа сравниваются с величиной абсолютного порога слышимости, и выбирается наибольшее из этих двух значений. В результате выполнения этих операций получается результирующая кривая маскировки, определяющая допустимые значения мощности шумов квантования в каждой из полос психоакустического анализа.

Минимально допустимое для каждой полосы психоакустического анализа отношение сигнал/шум квантования SNRn, дБ, вычисляется как разность уровней энергий полезного сигнала и шумов квантования, при котором они лежат на пороге слышимости.

При расчете энергии полезного сигнала используются только значения порядков коэффициентов МДКП. Значение SNRn[k], приведенное к одному коэффициенту МДКП данной полосы психоакустического анализа, вычисляется как SNRn[k] = SNRn/k, где k - число коэффициентов МДКП в n-ой полосе психоакустического анализа. Именно этот массив данных образует кривую глобального порога маскировки, которая и определяет число бит, выделяемых на кодирование мантисс коэффициентов МДКП. Пример данной кривой показан на рисунке 8 (верх, кривая синего цвета). Коэффициенты МДКП, расположенные ниже этой кривой, не кодируются и не передаются на приемную сторону системы передачи, ибо лежат ниже относительного порога слышимости. На нижней части рисунка 8 приведено число бит, которое требуется выделить для кодирования мантисс каждого из тех коэффициентов МДКП, передача которых необходима на приемную сторону цифровой системы передачи.

Рис. 8
К процедуре выделения бит
при кодировании мантисс коэффициентов МДКП

При вертикальном смещении кривой глобального порога маскировки изменяется отношение сигнал/шум (SNR), а следовательно, и число выделяемых бит на кодирование мантисс коэффициентов МДКП. Возможны грубое и плавное смещение кривой глобального порога маскировки. Достигается это изменением параметров CSNR и FSNR[ch]. Причем плавное смещение кривой с величиной шага 3/16 дБ достигается изменением параметра FSNR[ch], а грубое смещение кривой с шагом 3 дБ - изменением параметра CSNR. Значение параметра FSNR[ch] определено стандартом Dolby AC-3 отдельно для сигнала каждого кодируемого канала, в то время как значение параметра CSNR одинаково для всех кодируемых сигналов.

Перед началом итерационного процесса кривая глобального порога маскировки устанавливается в верхнее максимальное положение, как это показано на рисунке 9. При этом оба параметра FSNR[ch] и CSNR принимают нулевые значения. Далее кривая маскировки смещается вниз на 3 дБ при каждом шаге итерации, что соответствует грубому ее смещению. При этом значение параметра CSNR увеличивается на единицу при каждом шаге итерации. Процесс смещения кривой вниз повторяется до тех пор, пока число бит, выделяемых на кодирование мантисс коэффициентов МДКП, не превысит доступного их числа, определяемого установленной скоростью цифрового потока. В этом и состоит первый цикл итерационного процесса.

Рис. 9
Смещение кривой глобального порога маскировки
с шагом 3 дБ (первый цикл интерационального процесса)

Второй цикл итерационного процесса заключается в медленном смещении кривой глобального порога маскировки, но уже вверх от последнего ее положения. При этом величина шага смещения составляет уже существенно меньшее значение, равное 3/16 дБ, что соответствует изменению параметра FSNR[ch] на единицу при каждом таком шаге итерации (Рис. 10). Процесс плавного смещения этой кривой вверх повторяется до тех пор, пока число бит, выделяемых для кодирования мантисс, станет меньше или равно их доступному количеству бит для данной скорости цифрового потока. Заметим, что когда кривая находится в самом нижнем своем положении, параметр FSNR[ch] принимает максимально возможное значение, равное 15, а затем при каждом шаге итерации значение этого параметра уменьшается на единицу. В результате кривая медленно смещается вверх (Рис. 10).

Рис. 10
Смещение кривой глобального порога маскировки
с шагом 3/16 дБ (второй цикл интерационального процесса)

Помимо вышеперечисленных в процессе выделения бит используется дополнительно еще один параметр, обозначенный как Floor. Значением этого параметра устанавливается определенный уровень смещения кривой глобального порога маскировки, ниже которого она опуститься не может, что при определенных ситуациях может вызвать спрямление расчетной кривой глобального порога маскировки (Рис. 11).

Рис. 11
К пояснению влияния flor-параметра

В итоге, в поле данных, отведенное для передачи параметров психоакустической модели, включаются также значения параметров CSNR и FSNR[ch], определяющие смещение кривой глобального порога маскировки.

 

Замечания и предложения по работе сервера направляйте: web.master at 625-net.ru.

© 1996—2009 «Издательство 625». Все права защищены.

e-mail: magazine at 625-net.ru, тел./факс: (495) 691-7724, 695-9588.

Свидетельство о регистрации средства массовой информации Эл № 77-2794.