AC3
Dolby Digital (AC-3, ATSC A/52) (Долби Диджитал) — система цифрового многоканального звука для кинематографа, разработанная фирмой «Dolby Laboratories, Inc.» в 1991 году.
Формат стандартизирован Advanced Television Systems Committee, ему присвоен код A/52, Dolby Digital (DD) является торговой маркой.
Современные системы Dolby Digital предоставляют шесть каналов объёмного цифрового звука. Левый, центральный и правый фронтальные каналы позволяют определить позицию источника звука на экране. Отдельные «разделённые» левый и правый задние боковые каналы усиливают ощущение присутствия, создавая объём. А дополнительный низкочастотный канал добавляет накал действию на экране.
Звуковая дорожка Dolby Digital кодируется оптически прямо на киноленту в промежутках между перфорационными отверстиями. Размещение цифровой звуковой дорожки на том же носителе, что и фильм, позволяет ей сосуществовать вместе с аналоговой дорожкой без привлечения дополнительных носителей данных, а также обеспечивает синхронность изображения и звука. В кинотеатрах системы IMAX звук записывается на отдельном жестком диске и синхронизируется с кинопленкой при помощи временно́го кода SMPTE.
Кодер системы Dolby AC-3
Цифровой поток на выходе кодера представляет собой последовательность аудиофреймов (Pack AC-3 Frame). Содержащаяся в нём информация условно может быть разделена на две части: основную (Main Information) и дополнительную (Side Information).
Аудиофрейм кодера включает шесть аудиоблоков. Каждый аудиоблок содержит информацию о 512 отсчётах для каждого из кодируемых сигналов (Audio 1, Audio 2, …, Audio n). Вследствие 50 % временного перекрытия в аудиоблок для каждого из сигналов включаются 256 отсчётов предыдущего блока и 256 новых отсчётов. В шести аудиоблоках аудиофрейма общее число обрабатываемых отсчётов для каждого из входных сигналов будет равно 512 × 6 = 3072. Заметим, что если число кодируемых звуковых сигналов равно 5 (формат 3/2), то общее число отсчётов, информация о которых содержится в одном аудиофрейме, составит (512 × 5) × 6 = 15360, однако с учётом 50 % временного перекрытия здесь будет лишь 15360 ÷ 2 = 7680 новых отсчётов.
После сегментации по времени выборки отсчётов звуковой сигнал каждого канала преобразуется в новую совокупность цифровых данных посредством модифицированного дискретного косинусного преобразования (МДКП). Сегментация звуковых сигналов по времени с 50%-ным перекрытием выборок и их преобразование из временной в частотную область выполняются в блоке время-частотного преобразования (Frequency Domain Transform). Перед ортогональным преобразованием выборки отсчётов звуковых сигналов взвешиваются оконной функцией. Последняя представлена в стандарте А/52 таблицей.
Преобразование выборки звукового сигнала из временной области может быть выполнено посредством одного длинного (512-точечного) или двух коротких (256-точечных) преобразований. В первом случае будет получено 256, а во втором — соответственно 128 + 128 коэффициентов МДКП. При короткой выборке коэффициенты МДКП обеих сегментов, содержащие по 128 значений, объединяются в один общий блок путём их чередования. В этом общем блоке будут также 256 коэффициентов МДКП.
Длинное преобразование наиболее предпочтительно для сигналов, медленно изменяющихся по амплитуде с течением времени. Оно имеет лучшее разрешение по частоте. Короткое преобразование обеспечивает лучшее разрешение по времени и применяется для сигналов, амплитуды которых быстро меняются во времени, например в области атаки звука. Флаг Block Switch Flags(blksw flags) указывает, какое преобразование (длинное или короткое) применено при расчёте коэффициентов МДКП. Параметр Block Switch Flags включается в выходной поток цифровых данных как дополнительная информация и используется декодером при выполнении обратного ортогонального преобразования.
При малых скоростях передачи цифровых данных в кодере Dolby AC-3 предусмотрено использование специальной процедуры объединения канальных сигналов (Coupling), позволяющей при их кодировании обойтись меньшим числом битов.
В системе Dolby AC-3 каждый коэффициент МДКП представляется в формате с плавающей запятой двумя значениями: экспонентой (или порядком) и мантиссой: Xd[k] = A[k] × 2-B[k], где A[k] и B[k] — соответственно мантисса и порядок k-го коэффициента преобразования. Порядок равен числу нулей перед первой единицей двоичного представления коэффициента МДКП. Он является по сути дела его масштабным коэффициентом (или нормирующим множителем). Например, если коэффициент МДКП Xd[k] = 0,158 и его двоичное представление записывается как 0,001010000110, то порядок (масштабного коэффициента) B[k] = 2, а мантисса равна 0,1010000110 в двоичной или A[k] = 0,6308 в десятичной системах исчисления. Знак коэффициента МДКП учитывается при кодировании мантиссы. Перед кодированием мантисы нормируются (Normalize Mantissas). Экспоненты и мантиссы коэффициентов МДКП кодируются отдельно в блоках Encode Exponent и Quantisse, Encode Mantissas.
В блоке распределения битов (Bit Allocation) учитывается эффект маскировки. В основе процедуры выделения битов лежит модель слуха, позволяющая оценить максимально допустимое (пороговое) значение уровня шума, который ещё маскируется полезным сигналом в полосе кодирования, и в соответствии с данными этих расчетов выделить при кодировании мантисс коэффициентов МДКП соответствующее число разрядов. Все указанные вычисления выполняются в блоке, называемом обычно психоакустической моделью. Каждая нормированная мантисса квантуется с числом ступеней квантования, соответствующим числу битов, определённому в модуле Bit Allocation.
Порядок кодирования коэффициента МДКП в кодере Dolby AC-3 представляет собой число, изменяющееся в пределах от 0 до 24. Поэтому кодовое слово порядка должно иметь по крайней мере m = 5 разрядов (25 = 32). Максимальный порядок в кодере ограничивается значением 24.
Известно, что если спектр выборки звукового сигнала анализируется при помощи банка фильтров, каждый из которых имеет достаточно узкую полосу частот, то разница в уровнях энергии сигнала между соседними фильтрами редко превышает значение 12 dB. Это обстоятельство учтено при кодировании порядков. При кодировании порядков в кодере системы Dolby AC-3 применён метод дифференциальной импульсно-кодовой модуляции, когда кодируется не сам порядок, а разность между значениями порядков соседних коэффициентов МДКП.Первое значение порядка для сигнала каждого канала в самой первой наиболее низкой по частоте полосе анализа — это всегда четырёхбитовое кодовое слово, что соответствует диапазону изменения чисел от 0 до 15. Порядок в следующей вверх по частоте полосе анализа определяется как разница между текущим и предыдущим значениями порядков соответствующих коэффициентов МДКП. В кодере Dolby AC-3 разрешающая способность дифференциальной импульсно-кодовой модуляции (дискретность изменения порядков) при кодировании ограничена значениями −2, −1, 0, +1, +2. Максимальное изменение порядков соседних коэффициентов МДКП составляет ± 2, что соответствует ± 12 dB.
Дифференциальное значение порядков коэффициентов МДКП объединяются в группы. Для процедуры группирования используются три возможных стратегии, обозначенные в стандарте как D15, D25 и D45. В стратегии D15 каждая пара, а в стратегии D45 уже каждая четвёрка дифференциальных значений порядков представлены одним значением числа M в потоке цифровых данных.
Дифференциальные значения порядков, полученные непосредственно из исходных коэффициентов МДКП, на практике не всегда дают максимальную разность соседних коэффициентов, не превышающую диапазон ± 2, что требуют соответствующие таблицы стандарта Dolby AC-3. Поэтому перед кодированием необходима дополнительная обработка массива порядков. С её помощью уменьшаются некоторые значения порядков, но при этом изменяются и соответствующие им значения мантисс так, что в их двоичном представлении впереди появляются нули. После выполнения этой операции максимальный дифференциальный порядок уже не будет превышать требуемое значение, равное ± 2.
Выбор стратегии (D15, D25 или D45) кодирования порядков коэффициентов МДКП — это компромисс между хорошим частотным разрешением, разрешением по времени и числом битов, требуемым для кодирования экспонент. Стратегии D15 и D25 могут быть использованы для кодирования сигналов, имеющих неравномерный спектр, когда значение зкспоненты изменяется довольно быстро от одной полосы анализа к другой. Если же спектр сигнала достаточно гладкий (плоский), тогда используются стратегии кодирования D45.