Формат Dolby АС-3. Алгоритмы компрессии
цифровых аудиоданных.
Часть 1
Юрий Ковалгин
В первом номере за 2001 год рассмотрен европейский формат цифрового
вещания DAB (Digital Audio Broadcasting). В этой статье рассматриваются
назначение, общие сведения, принцип работы основных функциональных
блоков, а также форматы данных системы компрессии высококачественных
цифровых звуковых сигналов радио- и телевизионного вещания Dolby
АС-3 (Digital Audio Compression Standard) стандартов A 52 и A
53 ATSC (Advanced Television System Committee), продвигаемой США
в качестве альтернативы системе DAB.
Общие сведения о системе Dolby АС-3
Система Dolby АС-3 предназначена для кодирования сигналов многоканальной
стереофонии и рекомендована национальным комитетом ATSC (Advanced
Television System Committee) США для телевидения высокой четкости
HDTV и других применений, таких как спутниковое вещание, передача
звуковых сигналов по оптоволоконным линиям связи, запись на магнитные,
оптические и другие носители информации.
После первичного кодирования на выходе аналого-цифрового преобразователя
студийного тракта скорость цифрового потока аудиоданных обычно
составляет 768 кбит/с на канал при частоте дискретизации звукового
сигнала f Д = 48 кГц и кодировании с разрешением
16 бит/семпл. Как известно, такой цифровой сигнал обладает существенной
статистической и психоакустической избыточностью.
Избыточность сигнала устраняется в кодере источника. Напомним,
что цель компрессии цифровых данных состоит в снижении скорости
передачи аудиосигналов путем устранения элементов звукового сигнала,
не важных для слухового восприятия, и применения методов кодирования,
учитывающих статистические особенности звуковых сигналов ("Звукорежиссер",
6/2000). После компрессии цифровые данные подвергаются помехоустойчивому
кодированию, и далее передаются по каналу связи на приемную сторону
системы передачи. Здесь выполняются обратные преобразования, затем
реконструированный в декодере сигнал преобразуется в цифро-аналоговом
преобразователе в исходную аналоговую форму.

Рис.1. Пример использования системы АС-3 в спутниковых системах
передачи
Кодер системы Dolby AC-3 предназначен для обработки высококачественных
звуковых сигналов различных форматов от 1/0 (моно) до 5.1 (многоканальное
стерео). В последнем случае по каналам связи в едином цифровом
потоке передаются каналы: левый, правый и центральный фронтальные,
левый и правый тыловые пространственные, и дополнительный сигнал
канала низких частот (Low Frequency Effects). В этот поток включены
также форматы 2/0 (обычное стерео) и 3/2 (Dolby-Stereo,Dolby-Surround,
Dolby-Pro-Logic).
Наиболее типичное применение алгоритма Dolby AC-3 спутниковые
системы, например, цифровое спутниковое радиовещание и звуковое
сопровождение телевидения высокой четкости HDTV (рис. 1). Для
передачи многоканального сигнала формата 5.1 методом линейной
ИКМ требуется пропускная способность канала связи более 3,5 Мбит/с.
Кодер системы Dolby АС-3 (AC-3 Encoder) преобразует исходную совокупность
первичных цифровых ИКМ сигналов (Input Audio Signals) в последовательный
поток цифровых данных уже со скоростью 384 кбит/с (Encoded Bit-Stream).
Оборудование спутниковой системы передачи (Transmission Equipment)
преобразует этот поток цифровых данных в высокочастотный модулированный
(Modulated Signal) QPSK-сигнал (Quadrature Phase Shift Keying),
который затем с помощью антенны (Satellite Dish) передается непосредственно
на спутниковый ретранслятор.
Благодаря компрессии цифровых аудиоданных, необходимая полоса
пропускания и мощность передатчика могут быть снижены примерно
в десять раз. В приемнике (Reception Equipment) принятый сигнал
демодулируется, полученный на его выходе последовательный поток
цифровых данных (Encoded Bit-Stream, 384 кбит/с) декодируется
в декодере (AC-3 Decoder), на выходе которого получается исходная
совокупность цифровых ИКМ сигналов (Output Audio Signals).
Кодер системы Dolby АС-3
Упрощенная структурная схема кодера Dolby AC-3 представлена на
рисунке 2. Цифровой поток на выходе кодера системы Dolby AC-3
представляет собой последовательность аудиофреймов (Pack AC-3
Frame). Структура данных аудиофрейма строго определена. Содержащаяся
в нем информация условно может быть разделена на две части: основную
(Main Information) и дополнительную (Side Information).

Рис.2. Структурная схема кодера системы Dolby AC-3
Аудиофрейм цифровых данных на выходе кодера включает шесть аудиоблоков.
Каждый такой аудиоблок содержит информацию о 512 семплах для каждого
из кодируемых сигналов (Audio 1, Audio 2, ..., Audio n). Вследствие
50% временного перекрытия, в каждый аудиоблок для каждого из сигналов
включаются 256 семплов предыдущего блока и 256 новых семплов следующего
блока.
В шести аудиоблоках аудиофрейма общее число обрабатываемых семплов
для каждого из входных сигналов будет равно 512 х 6=3072. При
этом последние 256 семплов будут снова использованы в следующем
аудиофрейме для временного перекрытия. Заметим, что если число
кодируемых звуковых сигналов равно пяти (например, формат 3/2),
то общее число семплов, информация о которых содержится в одном
аудиофрейме, составит (512 х 5) х 6=15360, однако с учетом 50%
временного перекрытия здесь будет лишь 15360/2=7680 новых семплов.
После сегментации по времени аудиосемплы каждого канала преобразуются
в новую совокупность цифровых данных посредством модифицированного
дискретного косинусного преобразования (МДКП). О достоинствах
этого преобразования уже было сказано в статье "Компрессия цифровых
аудиоданных" ("Звукорежиссер", 6/2000). Сегментация звуковых сигналов
по времени с 50-процентным перекрытием выборок и их преобразование
из временной в частотную область выполняются в блоке время-частотного
преобразования (Frequency Domain Transform).

Рис.3. Форма оконной функции
Перед ортогональным преобразованием выборки звуковых сигналов,
состоящие из 512 семплов, взвешиваются оконной функцией. Она представлена
в стандарте A-52 таблицей. Форма оконной функции показана на рис.3.
Преобразование выборки звукового сигнала из временной области
в частотную может быть выполнено посредством одного длинного (512
точек) или двух коротких (256 точек) преобразований. В первом
случае будет получено 256, а во втором - соответственно 128 +
128 значений коэффициентов МДКП. При короткой выборке коэффициенты
МДКП обоих сегментов, содержащие по 128 значений, объединяются
в один общий блок путем их чередования. В этом общем блоке будет
также 256 коэффициентов МДКП.
Заметим, что длинное преобразование наиболее предпочтительно
для сигналов медленно изменяющихся по амплитуде с течением времени.
Оно имеет лучшее разрешение по частоте. Короткое преобразование
обеспечивает лучшее разрешение по времени и применяется для сигналов,
амплитуда которых быстро меняется во времени, например, в области
атаки звука. Флаг Blksw flags указывает, какое преобразование
(длинное или короткое) применено при расчете коэффициентов МДКП.
Параметр Blksw flags включается в выходной поток цифровых данных
как дополнительная информация и используется декодером при выполнении
обратного ортогонального преобразования.
При малых скоростях передачи цифровых данных в кодере Dolby AC-3
предусмотрено использование специальной процедуры объединения
канальных сигналов (Coupling), позволяющей при их кодировании
обойтись меньшим количеством бит. Об этой процедуре будет сказано
позже.
При кодировании каждый коэффициент МДКП представляется в формате
с плавающей запятой двумя значениями: экспонентой (или порядком)
и мантиссой:
, где A[k] и
B[k] -соответственно мантисса и порядок k-того коэффициента преобразования.
Порядок равен числу нулей перед первой единицей двоичного представления
коэффициента МДКП. Он является по сути дела его масштабным коэффициентом
(или нормирующим множителем).
В блоке распределения бит (Bit Allocaton) учитывается эффект
маскировки при выделении бит, требуемых для кодирования каждой
мантиссы коэффициента МДКП в соответствующей частотной полосе.
В основе процедуры выделения бит лежит модель слуха, позволяющая
оценить максимально допустимое (пороговое) значение уровня шума,
который еще маскируется полезным сигналом в полосе кодирования,
и в соответствии с данными этих расчетов выделить при кодировании
мантисс коэффициентов МДКП соответствующее число разрядов. Все
указанные вычисления выполняются в блоке, называемом обычно "психоакустической
моделью". Каждая нормированная мантисса квантуется с числом ступеней
квантования, соответствующим числу бит, определенному в модуле
Bit Allocaton. Блок форматирования объединяет цифровые потоки
основной и дополнительной информации в единый поток, образуя аудиофреймы
(Pack AC-3 Frame).
Аудиофрейм системы Dolby АС-3
Заключительной стадией обработки звуковых сигналов в кодере является
упаковка всей закодированной информации в выходной аудиофрейм
(Pack AC-3 Frame, рис.2), структура данных которого показана на
рисунке 4.
Рис.4.
Структура данных аудиофрейма системы Dolby AC-3
Поле данных заголовка (Header) аудиофрейма содержит информацию
о синхронизации SI (Syncronization Information) и информацию о
конфигурации потока данных BSI (Bit Stream Information).
Поле данных SI включает синхрослово, биты помехоустойчивого
кодирования (CRC-код), значения частоты дискретизации и размера
аудиофрейма. Аудиофрейм системы Dolby АС-3 включает два 16-разрядных
слова CRC-кода, первое из них следует в начале каждого фрейма
после слова синхронизации, а второе в его конце (CRC). Поле данных
BSI включает информацию о конфигурации потока цифровых данных,
например, такую как тип сервиса, режим работы кодера (т.е. число
кодируемых сигналов или тип звукового формата), абсолютный акустический
уровень сигнала каждого канала, информация о языке, о времени
и другое.
Рис.5.
Структура данных аудиоблока системы Dolby AC-3
Аудиофрейм системы АС-3, как было сказано ранее, содержит шесть
аудиоблоков. Структура данных аудиоблока показана на рисунке 5.
Он включает следующие поля битов:
Block Switch Flags параметр длины ортогонального преобразования
(Blksw flags);
Dither Flags признак наличия добавочного шума;
Dynamic Range Control данные управления динамическим диапазоном
передаваемых сигналов;
Coupling Strategy информация об объединении сигналов (сигналы
каких каналов объединены и, начиная с какой частоты);
Coupling Coordinates координаты объединения для сигнала каждого
канала;
Exponent Strategy выбранная стратегия кодирования порядков;
Exponents кодовые слова порядков коэффициентов МДКП;
Bit Allocation Parametrs параметры психоакустической модели;
Mantissas кодовые слова мантисс коэффициентов МДКП.
Кодирование коэффициентов МДКП в системе Dolby AC-3
Итак, в системе Dolby AC-3 коэффициенты МДКП представлены в формате
с плавающей запятой, и имеют мантиссу и порядок, которые, как
было сказано выше, кодируются с использованием разных процедур.
Кодирование порядков
Порядок коэффициента МДКП в кодере Dolby АС-3 представляет собой
число, изменяющееся в пределах от 0 до 24. Поэтому кодовое слово
порядка должно иметь по крайней мере пять разрядов (m = 5; 25
= 32). Максимальная величина порядка в кодере ограничивается значением
24, если его значение превышает это число.
Известно, что если спектр сигнала анализируется с помощью банка
фильтров, каждый из которых имеет достаточно узкую полосу частот,
то разница в уровнях энергии звукового сигнала между соседними
фильтрами редко превышает значение 12 дБ. Это обстоятельство учтено
при кодировании порядков. При кодировании значений порядков в
кодере системы Dolby AC-3 применен метод дифференциальной ИКМ,
когда кодируется не само значение порядка, а разность между значениями
порядков соседних коэффициентов МДКП.
Первое значение порядка для сигнала каждого канала в самой первой
наиболее низкой по частоте полосе анализа это всегда четырехразрядное
кодовое слово, что соответствует диапазону изменения чисел от
0 до 15. Значение порядка в следующей вверх по частоте полосе
анализа определяется как разница между текущим и предыдущим значениями
порядков соответствующих коэффициентов МДКП. В кодере Dolby AC-3
разрешающая способность дифференциальной ИКМ (дискретность изменения
величин порядков) при кодировании ограничена значениями: -2/-1/+1/+2.
Из этого следует, что максимальное изменение значений порядков
соседних коэффициентов МДКП составляет +/- 2, что соответствует
+/- 12 дБ.
Дифференциальные значения порядков коэффициентов МДКП объединяются
в группы.
Декодер распаковывает и восстанавливает значения порядков, используя
инверсную процедуру.
Кодирование мантисс
Диапазон изменения мантисс коэффициентов МДКП лежит в пределах
от -1 до +1. Знак коэффициента МДКП учитывается при кодировании
мантиссы. При квантовании и кодировании значений мантисс учитываются
требования психоакустической модели кодера.
При так называемом "симметричном квантовании" вместо квантованных
значений мантисс в цифровой поток включены значения их индексов,
заданные соответствующей таблицей. Например, если число ступеней
квантования равно трем, а значение мантиссы лежит в пределах от
-1 до -1/3, то передаваться к декодеру будет значение равное -2/3
и ему будет соответствовать индекс mc = 0. Если значение мантиссы
лежит в интервале от -1/3 до +1/3, то декодеру передается значение
равное нулю и кодируется индекс mc = 1. Наконец, если значение
мантиссы находится в интервале от +1/3 до +1, то декодеру передается
значение равное +2/3 и кодируется соответствующий ему табличный
индекс mc = 2.
Аналогичным образом в форме таблиц задаются интервалы значений
мантисс и соответствующие им индексы для числа ступеней квантования
равных 5, 7, 11 и 15. Такой способ квантования позволяет уменьшить
число требуемых бит. Для всех других значений числа ступеней квантования
(32, 64, …, 65536) кодируются не индексы, а сами значения мантисс
коэффициентов МДКП.
Следующим этапом является кодирование и упаковка в цифровой поток
значений табличных индексов квантованных мантисс. При симметричном
квантовании для уменьшения требуемого для кодирования индексов
числа бит используется дополнительно процедура группирования.
В декодере определяется длина кодового слова каждой мантиссы
или соответствующего ей табличного индекса, после чего мантиссы
распаковываются по специальной процедуре.
Объединение сигналов при кодировании
Человеческое ухо при оценке азимута кажущегося источника звука
в высокочастотной области спектра (на частотах свыше 1...2 кГц)
реагирует на огибающую спектра звукового сигнала, а не на отдельные
спектральные составляющие его тонкой структуры. Именно эта особенность
работы механизма локализации слуха приводит к тому, что высокочастотные
составляющие спектра стереофонического сигнала практически не
влияют на оценку пространственной структуры стереопанорамы, если
сохранен энергетический баланс исходных сигналов в этой области
частот. Заметим, что процедуру объединения высокочастотных частей
сигнала можно использовать и при кодировании сигналов обычной
двухканальной стереофонии. В результате такого объединения уменьшается
объем информации, необходимый для кодирования высокочастотной
части сигнала каждого канала.
При работе в этом режиме кодер системы Dolby АС-3 объединяет
высокочастотные части исходных сигналов в определенной полосе
частот в один общий сигнал и при этом генерирует дополнительно
так называемые "координаты объединения". Последние будут использованы
декодером для восстановления энергетических соотношений высокочастотных
частей спектра каждого исходного сигнала, подвергнутого процедуре
объединения. После декодирования объединенные части в каждом из
восстановленных сигналов будут иметь одинаковый спектральный состав
и отличаться только уровнем.
Кодер формирует этот общий сигнал путем простого сложения коэффициентов
МДКП объединяемых сигналов. При этом коэффициенты МДКП с 37 по
252 группируются в 18 полос (так называемых "полос объединения"),
по 12 коэффициентов в каждой такой полосе. Частотные границы полос
объединения задаются пользователем. Координаты объединения рассчитываются
для каждого объединяемого полосного сигнала. Они представляют
собой отношения максимальных значений коэффициентов МДКП каждого
объединяемого сигнала и суммарного сигнала в полосе объединения.
Далее координаты объединения преобразовываются в формат чисел
с плавающей запятой и включаются в выходной поток данных как дополнительная
информация.
Суммарный (объединенный) сигнал кодируется так же, как и сигналы
независимых каналов. До нижней частоты полосы объединения сигналы
индивидуальных каналов кодируются отдельно и независимо друг от
друга. В декодере объединенные части субполосных сигналов умножаются
на координаты объединения. В результате получаются реконструированные
сигналы, имеющие значения энергий в полосах объединения, равные
энергиям исходных сигналов, но с одинаковым по форме спектром
в полосах, подвергнутых процедуре объединения.
Заметим, что неправильное использование этого режима может привести
к появлению заметных на слух искажений, прежде всего пространственных,
а затем и тембральных.
Декодер системы Dolby АС-3
Декодер системы Dolby АС-3 (рис.6) получает форматированный поток
цифровых данных (Input Bit-Stream) и преобразует его в выходные
ИКМ сигналы (Output PCM). Первый этап процесса декодирования заключается
в распаковке информации аудиофрейма (Unpack AC-3 Frame) и разделении
ее на основную (Main Information) и дополнительную (Side Informaton)
части.

Рис. 6. Структурная схема системы Dolby AC-3
Декодер Dolby АС-3 получает значения порядков коэффициентов
МДКП в кодированном и упакованном виде. Чтобы распаковать и декодировать
значения порядков, необходимо иметь дополнительную информацию
о числе передаваемых экспонент в сигнале каждого канала и о стратегии
их кодирования (D15, D25, D45), использовавшейся в кодере. Процесс
декодирования порядков осуществляется в блоке декодирования экспонент
(Decode Exponent).
После декодирования порядков выполняется процедура распаковки,
декодирования, деквантования (Dequantize) денормализации (Denormalize)
мантисс коэффициентов МДКП. Для выполнения этой процедуры используются
параметры психоакустической модели, параметры, определяющие распределение
бит в кодере, а также восстановленные значения порядков коэффициентов
МДКП. Операция денормирования мантисс производится путем сдвигов
разрядов кодового слова мантиссы вправо. При этом число сдвигов
определяется значением соответствующего данному коэффициенту МДКП
порядка.
Если в кодере была использована процедура объединения сигналов
ряда каналов, то, очевидно, что декодер должен выполнить обратную
операцию (De-Coupling), используя переданные декодеру в поле данных
дополнительной информации значения координат объединения. В блоке
обратного ортогонального МДКП (Inverse Transform) осуществляется
обратное преобразование реконструированного в декодере сигнала
из частотной во временную область.
(Окончание в следующем номере)