Методы преобразования и передачи звуковых сигналов
Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru
На физическом уровне в ISDN используется кодово-импульсная модуляция с частотой стробирования 8кГц (что превосходит ограничение Найквиста = 2*3.3кГц, где 3.3кГц - полоса пропускания канала для традиционной телефонной сети). Эмпирически установлено, что для удовлетворительного воспроизведения речи, достаточно 4096 уровней квантования сигнала (12 разрядов АЦП). Такое разрешение диктуется большим динамическим диапазоном сигналов. По этой причине возникает возможность преобразования 12-битных кодов в 8-битные, что формирует информационный поток в 64 Кбит/c. Для этого используется логарифмическое преобразование. Природа позаботилась о человеке, снабдив его логарифмической чувствительностью слуха, в противном случае у нас в мозгу перегорали бы предохранители при близком выстреле или грозовом разряде. Логарифмическое преобразование наталкивается на определенные трудности при низких значениях входного сигнала, ведь логарифм для значений меньше 1 имеет отрицательную величину. Функция же преобразования должна пройти через нуль. В США две логарифмические кривые смещаются в направлении оси ординат (вертикальная ось), в результате получается функция вида:
y ~ log(1 +mx) |
(так называемая m-зависимость [m-law]) |
В Европе используется функция преобразования вида: | |
y ~ ax | в области значений x вблизи нуля и |
y ~ 1 + log(Ax) | при “больших” значениях x (A-зависимость [a-law], см. рис. 2.4.1) |
Для дальнейшего упрощения процесса преобразования реальные кривые апроксимируются последовательностью отрезков прямых, наклоны которых каждый раз меняется вдвое. На практике функция табулируется (рекомендация G.711) и отличия m- и A-функций пренебрежимо малы. Но следует учитывать, что при реализации практической связи между Европой и Америкой, например телефонной, необходим m/A-конвертор.
Для кодирования используется симметричный код, у которого первый бит характеризует полярность сигнала.
Рис. 2.4.1. Иллюстрация функций преобразования сигналов
Дальнейшим усовершенствованием схемы pcm является адаптивный дифференциальный метод кодово-импульсной модуляции (Рис. 2.4.2).
Здесь преобразуется в код не уровень сигнала в момент времени ti, а разница уровней в моменты ti и ti-1. Так как обычно сигнал меняется плавно, что типично для человеческой речи, можно заметно сократить необходимое число разрядов АЦП. Принципиальное отличие между PCM и ADPCM (1984 год) заключается в использовании адаптивного АЦП и дифференциального кодирования, соответственно. Адаптивный АЦП отличается от стандартного PCM-преобразователя тем, что в любой момент времени уровни квантования расположены однородно (а не логарифмически), причем шаг квантования меняется в зависимости от уровня сигнала. Применение адаптивного метода базируется на том, что в человеческой речи последовательные уровни сигнала не являются независимыми. Поэтому, преобразуя и передавая лишь разницу между предсказанием и реальным значением, можно заметно снизить загрузку линии, а также требования к широкополосности канала. Следует иметь в виду, что метод не лишен серьезных недостатков: уровень шумов, связанный с квантованием сигнала, выше; при резких изменениях уровня сигнала, превышающих диапазон АЦП, возможны серьезные искажения.
Рис. 2.4.2. Адаптивный преобразователь голоса в код
Расширение диапазона преобразования достигается умножением шага квантования на величину несколько больше (или меньше) единицы.
При дифференциальном преобразовании на вход кодировщика подается не сам сигнал, а разница между текущим значением сигнала и предыдущим (рис. 2.4.3).
Рис. 2.4.3. ADPCM-преобразователь голоса в код для 32кбит/с
Блок прогнозирования является адаптивным фильтром, который использует предшествующий код для оценки последующего стробирования. На вход кодировщика поступает сигнал, пропорциональный разнице между входным сигналом и предсказанием. Чем точнее предсказание, тем меньше бит нужно, чтобы с нужной точностью закодировать эту разницу. Характер человеческой речи позволяет заметно снизить требования к каналу при использовании адаптивного дифференциального преобразователя.
Для компактных музыкальных дисков (cd) характерна полоса 50Гц - 20 кГц, обычная же речь соответствует полосе 50 Гц - 7 кГц.
Только звуки типа Ф или С имеют заметные составляющие в высокочастотной части звукового спектра. Для высококачественной передачи речи используется субдиапазонный ADPCM-преобразователь (Adaptive Differential Pulse Code Modulation). В нем звук сначала стробируется с частотой 16 кГц, производится преобразование в цифровой код с разрешением не менее 14 бит, а затем подается на квадратурный зеркальный фильтр (qmf), который разделяет сигнал на два субдиапазона (50Гц-4кГц и 4кГц-7кГц). Диапазоны этих фильтров перекрываются в области 4кГц. Нижнему диапазону ставится в соответствие 6 бит (48кбит/с), а верхнему 2 бита (16 Кбит/с). Выходы этих фильтров мультиплексируются, формируя 64 кбит/с -поток.
На CD используется 16-битное кодирование с частотой стробирования 44,1 кГц, что создает информационный поток 705 Кбит/c. Для стерео сигнала этот поток может удвоиться. Практически это не так - сигналы в стереоканалах сильно коррелированны, и можно кодировать и передавать лишь их разницу, на практике высокочастотные сигналы каналов суммируются, для различия каналов передается код их относительной интенсивности. Исследования показывают, что для акустического восприятия тонкие спектральные детали важны лишь в окрестности 2 кГц. Для передачи звуковой информации с учетом этих факторов был разработан стандарт MUSICAM (Masking pattern Universal Sub-band Integrated Coding and Multiplexing), который согласуется с ISO MPEG (Moving Picture Expert Group; стандарт ISO 11172). musicam развивает идеологию деления звукового диапазона на субдиапазоны, здесь 20кГц делится на 32 равных интервалов. Логарифмическая чувствительность человеческого уха и эффект маскирования позволяет уменьшить число разрядов кодирования. Эффект маскирования связан с тем, что в присутствии больших звуковых амплитуд человеческое ухо нечувствительно к малым амплитудам близких частот. Причем чем ближе частота к частоте маскирующего сигнала, тем сильнее этот эффект (см. рис. 2.4.4). Сплошной линией на рисунке показана нормальная зависимость порога чувствительности уха, а пунктиром - зависимость порога чувствительности в присутствии 500-герцного тона с амплитудой в 110 дБ.
Рис. 2.4.4. Изменение порога чувствительности человеческого уха под влиянием эффекта маскирования.
При разбиении на субдиапазоны можно оценить эффект маскирования и передавать только ту часть информации, которая этому эффекту не подвержена. При этом уровень ошибок квантования следует держать лишь ниже порога маскирования, что также снижает информационный поток. Для стробирования высококачественных звуковых сигналов используются частоты 32, 44,1 или 48 кГц. Стандартом предусмотрено три уровня кодирования звука, отличающиеся по сложности и качеству. На первом уровне производится разбивка на 32 диапазона, определение диапазонных коэффициентов и формирование кадров, несущих по 384 результатов стробирования. Уровень 2 формирует кадры с 1152 результатами стробирования и дополнительными данными. Уровень 3 допускает динамическое разбиение на субдиапазоны и уплотнение данных с использованием кодов Хафмана. Любой декодер способен работать на своем и более низком уровне.
Для улучшения качества передачи низких частот в дополнение к суб-диапазонным фильтрам, используется быстрое Фурье-преобразование (FFT). Результирующая частота бит при передаче звуковых данных оказывается не постоянной. Практическое измерение показывает, что частота редко превышает 110кбит/с, применение 128кбит/с делает качество воспроизведения неотличимым от CD. Ограничение скорости на уровне 64 Кбит/с вносит лишь незначительные искажения.
Ниже в таблицах представлены данные по скоростям передачи аудиоданных по традиционным цифровым и отповолоконным каналам (см. также раздел 3.5.6).
Таблица 2.4.1 Скорости передачи данных по цифровым каналам
Линия | Быстродействие Мбит/с | Число аудио каналов |
DS-0 | 0,064 | 1 |
T-1 | 1,544 | 24 |
T-1C | 3,152 | 48 |
T-2 | 6,312 | 96 |
T-3 | 44,736 | 672 |
Линия OC-x | Быстродействие Мбит/с | Число аудио каналов | STM-x |
1 | 51,84 | 672 | - |
3 | 155,52 | 2016 | 1 |
9 | 466,56 | 6048 | 3 |
12 | 622.08 | 8064 | 4 |
24 | 1244,16 | 16128 | 8 |
48 | 2488,32 | 32256 | 6 |
6 | 976,64 | 4512 | 2 |
92 | 953,28 | 29024 | 4 |