Интернет магазин китайских планшетных компьютеров



Компьютеры - Dolby Digital - Кодер системы Dolby AC-3

15 мая 2011


Оглавление:
1. Dolby Digital
2. Кодер системы Dolby AC-3
3. Декодер системы Dolby AC-3
4. Технологии Dolby Digital
5. Интересные факты



Цифровой поток на выходе кодера представляет собой последовательность аудиофреймов. Содержащаяся в нём информация условно может быть разделена на две части: основную и дополнительную.

Аудиофрейм кодера включает шесть аудиоблоков. Каждый аудиоблок содержит информацию о 512 отсчётах для каждого из кодируемых сигналов. Вследствие 50 % временного перекрытия в аудиоблок для каждого из сигналов включаются 256 отсчётов предыдущего блока и 256 новых отсчётов. В шести аудиоблоках аудиофрейма общее число обрабатываемых отсчётов для каждого из входных сигналов будет равно 512 × 6 = 3072. Заметим, что если число кодируемых звуковых сигналов равно 5, то общее число отсчётов, информация о которых содержится в одном аудиофрейме, составит × 6 = 15360, однако с учётом 50 % временного перекрытия здесь будет лишь 15360 ÷ 2 = 7680 новых отсчётов.

После сегментации по времени выборки отсчётов звуковой сигнал каждого канала преобразуется в новую совокупность цифровых данных посредством модифицированного дискретного косинусного преобразования. Сегментация звуковых сигналов по времени с 50%-ным перекрытием выборок и их преобразование из временной в частотную область выполняются в блоке время-частотного преобразования. Перед ортоганальным преобразованием выборки отсчётов звуковых сигналов взвешиваются оконной функцией. Последняя представлена в стандарте А/52 таблицей.

Преобразование выборки звукового сигнала из временной области может быть выполнено посредством одного длинного или двух коротких преобразований. В первом случае будет получено 256, а во втором — соответственно 128 + 128 коэффициентов МДКП. При короткой выборке коэффициенты МДКП обеих сегментов, содержащие по 128 значений, объединяются в один общий блок путём их чередования. В этом общем блоке будут также 256 коэффициентов МДКП.

Длинное преобразование наиболее предпочтительно для сигналов, медленно изменяющихся по амплитуде с течением времени. Оно имеет лучшее разрешение по частоте. Короткое преобразование обеспечивает лучшее разрешение по времени и применяется для сигналов, амплитуды которых быстро меняются во времени, например в области атаки звука. Флаг Block Switch Flags указывает, какое преобразование применено при расчёте коэффициентов МДКП. Параметр Block Switch Flags включается в выходной поток цифровых данных как дополнительная информация и используется декодером при выполнении обратного ортогонального преобразования.

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

В системе Dolby AC-3 каждый коэффициент МДКП представляется в формате с плавающей запятой двумя значениями: экспонентой и мантиссой: Xd = A × 2^-B, где A и B — соответственно мантисса и порядок k-го коэффициента преобразования. Порядок равен числу нулей перед первой единицей двоичного представления коэффициента МДКП. Он является по сути дела его масштабным коэффициентом. Например, если коэффициент МДКП Xd = 0,158 и его двоичное представление записывается как 0,001010000110, то порядок B = 2, а мантисса равна 0,1010000110 в двоичной или A = 0,6308 в десятичной системах исчисления. Знак коэффициента МДКП учитывается при кодировании мантиссы. Перед кодированием мантисы нормируются. Экспоненты и мантиссы коэффициентов МДКП кодируются отдельно в блоках Encode Exponent и Quantisse, Encode Mantissas.

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

Порядок кодирования коэффициента МДКП в кодере Dolby AC-3 представляет собой число, изменяющееся в пределах от 0 до 24. Поэтому кодовое слово порядка должно иметь по крайней мере m = 5 разрядов. Максимальный порядок в кодере ограничивается значением 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.

После выбора стратегии кодирования порядков кодер Dolby AC-3 объединяет кодовые слова, соответствующие дифференциальным значениям экспонент, в группы. Для всех режимов работы кодера наборы чисел M для трёх соседних коэффициентов МДКП M, M, M группируются и кодируются как одно семибитовое слово по правилу:

                                       M = {25M} + {5M} + M.

Диапазон изменения мантисс коэффициентов МДКП лежит в пределах от −1 до +1.Знак коэффициента МДКП учитывается при кодировании мантиссы. Процесс квантования мантисс коэффициентов МДКП в стандарте Dolby AC-3 имеет следующие особенности:

  • число возможных ступеней квантования соответствует следующему ряду чисел:0,3,5,7,11,15,32,64,128,256,512,1024,2048,4096,16384,65536; используется равномерное квантование мантисс;
  • при числе ступеней квантования, равном 3, 5, 7, 11 и 15,используется так называемое симметричное квантование, во всех остальных случаях — асимметричное;
  • при числе ступеней квантования, равном 3, 5 и 11,кодовые слова мантисс объединяются в группы. При трёх ступенях квантования три кодовых слова, соответствующие трём значениям мантисс, кодируются одним пятибитовым кодовым словом. При пяти ступнях квантования три кодовых слова мантисс группируются и кодируются одним семибитовым кодовым словом. При 11 ступенях квантования два кодовых слова мантисс группируются и кодируются одним семибитовым кодовым словом; в остальных случаях процедуры группирования нет.

При симметричном квантовании вместо квантованных значений мантисс в цифровой поток включены их индексы, заданные соответствующей таблицей. Например, если число ступеней квантования равно 3, а значение мантиссы лежит в пределах от −1 до −1/3, то передаваться к декодеру будет значение, равное −2/3, и ему будет соответствовать индекс mc = 0. Если значение мантиссы лежит в интервале от −1/3 до +1/3, то декодеру передаётся значение, равное нулю, и кодируется индекс mc = 1. И наконец, если значение мантиссы находится в интервале от +1/3 до +1, то декодеру передаётся значение, равное +2/3, и кодируется соответствующий ему табличный индекс mc = 2. Аналогичным образом в форме таблиц задаются интервалы значений мантисс и соответствующие им индексы для числа ступеней квантования равных соответственно 5, 7, 11 и 15. Такой способ квантования позволяет уменьшить число требуемых битов. Для всех других ступеней квантования кодируются не индексы, а сами мантиссы коэффициентов МДКП.

Следующим этапом является кодирование и упаковка в цифровой поток табличных индексов квантованных значений мантисс. При симметричном квантовании для уменьшения требуемого для кодирования индексов числа битов используется дополнительно процедура групирования. Например, при числе ступеней квантования, равном 7, индекс мантиссы изменяется в пределах от 0 до 6. Для кодирования этого ряда чисел требуется 3 бита. При 11 ступенях квантования табличный индекс мантисс лежит в интервале от 0 до 10, а при 15 ступенях квантования он находится уже в интервале от 0 до 14. При этом требуемое для кодирования каждого из них число битов соответственно равно 4 или 5. Группирование табличных индексов позволяет уменьшить требуемое для их кодирования число битов при 3, 5 и 11 ступенях квантования. При 3 и 5 ступенях квантования три табличных индекса мантисс, а при 11 ступенях квантования два табличных индекса мантисс кодируются одним кодовым словом по следующим правилам:

                                       Group_code = 9mc + 3mc + mc;
                                       Group_code = 25mc + 5mc + mc;
                                       Group_code = 11mc + mc,

где Group_code, Group_code и Group_code — кодовые слова групп табличных индексов мантисс соответственно при 3, 5, 11 ступенях квантования; mc, mc, mc — табличные индексы мантисс коэффициентов МДКП с номерами a, b и c. Итак при трёх ступенях квантования мантисс кодовое слово группы, состоящей из трёх индексов, будет содержать 5 битов, поэтому на кодирование каждой мантиссы в этом случае будет затрачено 5 ÷ 3 = 1,67 бита. При n = 5 кодовое слово группы мантисс будет представлено уже семибитовым числом, и на кодирование каждой мантиссы потребуется уже 7 ÷ 3 = 2,33 бита. И наконец, при n = 11 на кодирование каждой мантиссы потребуется уже 7 ÷ 2 = 3,5 бита, а при n = 15 — 4 бита и т. д.

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

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

Кодер формирует общий сигнал путём простого сложения коэффициентов МДКП объединяемых сигналов. При этом коэффициенты МДКП с 37-го по 252-й группируются в 18 субполос по 12 коэффициентов в каждой такой субполосе. Нижняя и верхняя частотные границы полос объединения задаются пользователем. Координаты объединния рассчитываются для каждого объединения субполосного сигнала. Они представляют собой отношения максимальных коэффициентов МДКП каждого объединяемого сигнала и суммарного сигнала в субполосе объединения. Далее координаты объдинения преобразовываются в формат чисел с плавающей запятой и включаются в выходной поток данных как дополнительная информация. Суммарный сигнал кодируется так же, как и сигнал независимых каналов.



Просмотров: 6307


<<< AES/EBU
Dolby Pro Logic >>>