Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

(по цифровому вещанию) Dvorkovich_V_Cifrovye_videoinformacionnye_sistemy

.pdf
Скачиваний:
267
Добавлен:
15.03.2016
Размер:
23.26 Mб
Скачать

Глава 17. Стандарты кодирования звуковой информации

Рис. 17.18. Упаковка дифференциальных значений порядков в поток данных при стра-

тегии D15

Эта процедура для стратегии D15 поясняется на рис. 17.18, где в верхней части приведены значения порядков коэффициентов МДКП, в средней части — величины чисел M [k], а в нижней части — число битов, использованное для 20 полос их кодирования.

При кодировании значений мантисс коэффициентов МДКП (диапазон их изменения — от −1 до +1) учитываются следующие особенности:

при 16 возможных ступенях квантования (0, 3, 5, 7, 11, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 16383, 65535) используется равномерное квантование значений мантисс;

при 5 ступенях квантования (3, 5, 7, 11, 15) применяется так называемое симметричное квантование, во всех остальных — асимметричное;

при 3 ступенях квантования (3, 5, 11) кодовые слова объединяются в группы.

При симметричном квантовании вместо квантованных значений мантисс включаются значения их индексов, заданные таблицей. Например, если при числе ступеней квантования, равном трем, величина мантиссы находится в диапазоне

17.6. Совершенствование алгоритмов сжатия звука на основе стандарта AAC

от −1 до −1/3, то декодеру будет передаваться число −2/3, соответствующее индексу mc = 0; при величине мантиссы в пределах от −1/3 до +1/3 передается число 0, соответствующее индексу mc = 1, а при величине мантиссы в пределах от +1/3 до +1 передается число +2/3, соответствующее индексу mc = 2.

С целью уменьшения требуемого для кодирования индексов числа битов при 3, 5 и 11 ступенях квантования табличные индексы мантисс группируются по следующим правилам:

Group_code[3] = 9 · mc[a] + 3 · mc[b] + mc[c],

Group_code[5] = 25 ·

mc[a] + 5 · mc[b] + mc[c],

(17.17)

Group_code[11] = 11

· mc[a] + mc[b],

 

где mc[a], mc[b], mc[c] — значения табличных индексов мантисс коэффициентов МДКП с номерами a, b, c.

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

Декодер системы Dolby AC-3 обеспечивает распаковку информации аудиофрейма и разделение ее на основную (Main Information) и дополнительную (Side Information) части (рис. 17.19). Далее в соответствующих блоках осуществляются процесс декодирования порядков, процедуры распаковки, деквантования и денормирования мантисс коэффициентов МДКП. Если в кодере была использована процедура объединения сигналов ряда каналов, то декодер реализует обратную операцию (De-Coupling). В блоке обратного МДКП осуществляется преобразование реконструированного сигнала во временную область.

Структура данных аудиофрейма стандарта Dolby AC-3 приведена на рис. 17.20а. Помимо заголовка и дополнительных данных аудиофрейм включает два 16-бито- вых слова помехоустойчивого кодирования, первое из которых следует в начале каждого фрейма после передачи сигнала синхронизации (0B77h или 0000 1011 0111 0111), а второе — в конце фрейма. Аудиофрейм содержит 6 аудиоблоков, структура данных каждого из них приведена на рис. 17.20б.

Несмотря на широкое распространение различных форматов сжатия звуковой информации разработчики непрерывно занимаются их совершенствованием [6.53– 6.55].

Алгоритмы усовершенствованного кодирования звуковой информации AAC организованы в профили (стандарт MPEG-2) или объектные типы (стандарт MPEG-4). MPEG-2 AAC предусматривает три различных профиля кодирования:

Глава 17. Стандарты кодирования звуковой информации

Рис. 17.19. Структурная схема декодера системы Dolby AC-3

Рис. 17.20. Структура данных аудиофрейма (а) и данных аудиоблока (б) системы Dolby AC-3

основной (AAC/Main);

малой сложности (AAC/LC — Low Complexity);

с масштабируемой величиной выборки (AAC/SSR — Scalable Sampling Rate).

В зависимости от того, какой профиль используется во время кодирования, изменяются время кодирования и качество формируемого цифрового потока. Наивысшее качество звучания (при самой медленной скорости компрессии) обеспечивает основной профиль AAC/Main. Это связано с тем, что этот профиль включает в себя все механизмы анализа и обработки входного потока. Профиль AAC/LC упрощен, что сказывается на качестве звучания восстанавливаемого цифрового потока, сильно отражается на скорости компрессии и, что более важно, декомпрессии. Профиль Main обеспечивает более качественную компресиию

17.6. Совершенствование алгоритмов сжатия звука на основе стандарта AAC

по сравнению с LC, однако эта разница в качестве не всегда оправдывает разницу затрат мощности процессора при компрессии в Main и LC.

Профиль AAC/SSR кодирует данные в несколько слоев (layers) от очень низкого битрейта к высшим битрейтам (вплоть до компрессии без потерь). Такой подход позволяет, например, транслирующим серверам передавать пользователям звук с нужной скоростью без необходимости транскодирования данных.

О качестве кодирования звука, можно сказать, что поток AAC/Main 96 кбитов/с обеспечивает качество звучания, аналогичное потоку MPEG-1 Layer-3 128 кбитов/с. При компрессии AAC 128 кбитов/с, качество звучания ощутимо превосходит MPEG-1 Layer-3 128 кбитов/с.

Стандарт MPEG-4 AAC, предусматривающий правила и алгоритмы кодирования аудио, является продолжением MPEG-2 AAC. MPEG-4 AAC стандартизует следующие типы объектов:

основной (AAC/Main);

малой сложности (AAC/LC);

с масштабируемой величиной выборки (AAC/SSR);

с длительным предсказанием (LTP-AAC — Long Term Prediction);

с малой задержкой (LD-AAC — Low Delay);

версия 2 (Version-2);

версия 3 (Version-3, включая HE-AAC);

звуковой кодер без потерь (AAC/ALS — Audio Lossless Coding);

масштабируемый звуковой кодер без потерь (AAC/SLS — Scalable Lossless Сoding).

Как видно из этого перечня, первые три позаимствованы у кодера MPEG-2 AAC. При этом новый стандарт является только дополнением к уже существующим и описанным в MPEG-2 алгоритмам звуковой обработки, а не отменяет его. В частности, профиль AAC-LC описан только в стандарте MPEG-2, являясь при этом базовым для нового высокоэффективного варианта кодека – HE-AAC (High

Efficiency).

AAC/LTP основан на методах предсказания сигнала и является более сложным алгоритмом, нежели остальные, что сильно сказывается на скорости компрессии. Version-2 — это пакет стандартов, расширающих некоторые механизмы кодирования стандарта MPEG-4. Version-3 — это еще одно расширение стандарта MPEG-4. Основным нововведением в стандарт MPEG-4, введенным Version-3, является стандартизация (с мая 2003 г.) алгоритма HE-AAC, известного также под именем aacPlus.

Существуют две версии расширения кодека ААС: «НЕ-ААС v.1» и «НЕ-ААС v.2». Первая версия (v.1) использует технологию спектрального «дублирования» (replication) нижней части спектра звукового сигнала в верхнюю: данный алгоритм носит название SBR — Spectral Band Replication. Вторая версия (v.2) полностью включает в себя всю функциональность первой и расширяет ее с помощью алгоритма параметрического кодирования стереосигнала, этот алгоритм носит название Parametric Stereo (PS).

Проведенные исследования подтвердили превосходство стандарта ААС над самым популярным на сегодняшний день форматом сжатия звука МР3 для всех

Глава 17. Стандарты кодирования звуковой информации

скоростей кодирования и всех типов звуковых сигналов. При этом установлено, что при скорости цифрового потока 24 кбитов/с кодек HE-ААС в состоянии обеспечить качество FM-стереовещания, а при скорости 32 кбитов/с — качество Audio-СD, при потоке 128 кбитов/с по качеству декодированного сигнала звук сравним с шестиканальным звуком стандарта «Dolby Digital Surround EX» (см. раздел 17.5).

Инструментарий MPEG-4 AAC содержит несколько интересных технологий. Например, принцип замены воспринимаемого шума (PNS — Perceptual Noise Substitution). Суть PNS довольно проста. Основываясь на идее, что один шум можно подменить другим, искусственным, PNS предполагает подмену шума, присутствующего в кодируемом сигнале, другим шумом, искусственным. Это позволяет генерировать искусственный шум на стадии декомпрессии сигнала (воспроизведении) и не передавать настоящий шум сигнала. Иными словами, при кодировании исходного сигнала происходит регистрация шума и запоминание его основных параметров (вместо непосредственного кодирования шумового сигнала), а на стадии воспроизведения — генерация искусственного шума вместо настоящего.

AAC/ALS — стандарт кодирования звука без потерь, включенный в MPEG-4

вконце 2005 года. Основными характеристиками этого варианта являются:

поддержка PCM-потоков с разрешением до 32 бит и самыми разными частотами дискретизации (включая пары 16 бит/44,1 кГц, 16/48, 24/48, 24/96, 24/192);

многоканальная/мультитрековая поддержка до 65536 каналов;

поддержка данных в формате 32-bit IEEE с плавающей точкой.

AAC/SLS — совместная разработка Infocomm Research и института Fraunhofer. Он никак не связан с AAC/ALS. Расширение SLS предусматривает аудиопоток с несколькими уровнями данных, позволяющий его декодирование как в варианте без потерь (точное декодирование исходного аудиосигнала), так и с потерями при низкой скорости передачи. Иными словами, поток в формате SLS легко масштабируем в том смысле, что качество декодируемого сигнала находится в зависимости от того, сколько данных из этого потока было использовано для декодирования. Поток SLS стандартным неспециализированным MPEG-4- плеером воспринимается как формат AAC/LC. Более того, из файла в формате SLS можно извлечь файл в формате AAC/LC без необходиомсти перекодирования, а лишь просто средствами извлечения одного слоя данных из большого файла.

17.6.1. Общие алгоритмы кодека AAC

Общие алгоритмы обработки аудиосигнала в кодере ААС [6.50, 6.51, 6.56] поясняются с использованием структурной схемы, приведенной на рис. 17.21.

Регулировка усиления (Gain control) не является обязательной в структуре кодека и предназначена для регулировки уровней звукового сигнала. На стороне кодера происходит поблочная регулировка уровня звукового сигнала и передача декодеру информации, необходимой для восстановления исходного соотношения. В состав модуля регулировки усиления входит 4 полифазных квадратурных

17.6. Совершенствование алгоритмов сжатия звука на основе стандарта AAC

Рис. 17.21. Алгоритмическая структурная схема кодера AAC

Глава 17. Стандарты кодирования звуковой информации

фильтра (PQF), обеспечивающих четырехполосное разделение спектра сигнала с последующим контролем уровня в каждой из четырех полос во временной области.

Психоакустическая модель вычисляет максимальные значения ошибок, маскируемых (т. е. незаметных для человеческого уха) основным сигналом. Это — пороги ошибок, превышение которых заметно при воспроизведении декодированного звукового сигнала. В стандарте [6.50] приведены таблицы, в соответствии с которыми производятся вычисления указанных порогов. Кроме этого

вблоке психоакустической модели осуществляется выбор типа и длины взвешивающего окна, используемого в дальнейшем непосредственно перед МДКПпреобразованием (см. раздел 17.4). Отметим, что выбор осуществляется между двумя типами окон — Кайзера–Бесселя и синусным. Выбор длины взвешивающего окна и, соответственно, длины МДКП для одного кадра осуществляется исходя из следующих альтернатив: при длине кадра 1024 отсчета — 2048 либо 256 отсчетов; при длине кадра 960 отсчетов — 1920 либо 240 отсчетов. Короткие преобразования (256 и 240) осуществляются на том же интервале кадра 8 раз подряд, при этом используются соответствующие короткие взвешивающие окна. При обнаружении участка резкого изменения уровня сигнала с целью локализации этой динамической особенности данный блок выносит решение о применении коротких взвешивающих окон. Здесь же происходит оценка количества битов, необходимых для кодирования очередного анализируемого кадра.

МДКП — модифицированное дискретное косинусное преобразование (MDCT — Modified Discrete Cosine Transform) осуществляет преобразование временного звукового сигнала в частотную область (см. раздел 15.7.2, психоакустическая мо- дель-3).

Размерность входного сигнала в два раза больше размерности выходного. Это связано с тем, что МДКП, в отличие, например, от обычного косинусного преобразования, работает с перекрывающимися (на 50%) областями сигнала. Этим решается или по крайней мере ослабляется проблема блочности, т. е. появления немаскируемых артефактов на границах преобразования при последовательной обработке сигнала, длительность которого больше, чем длина окна используемого преобразования. Кроме этого для предотвращения разрывов фазы на границах окна преобразования и, как следствие, появления мешающих артефактов в этих областях в алгоритм ААС вводятся взвешивающие временные окна. Решение о длине окна и типе окна, как уже было сказано, принимается

вблоке психоакустической модели кодека.

Метод временного преобразования формы шума квантования (TNS — Temporal Noise Shaping) служит для борьбы с последствиями процедуры квантования сигнала, что проявляется, например, в частом появлении немаскируемых, т. е. различимых человеческим ухом, преэхо сигналов при наличии в сигнале резких фронтов, особенно характерных для речевых сигналов. Суть метода состоит в том, чтобы на основе спектрального анализа звукового сигнала предсказать ошибку квантования (Forward Prediction, или опережающее предсказание) и ввести ее в сигнал («вычесть» ее). Таким образом при восстановлении сигнала немаскируемые артефакты, вызванные квантованием, будут частично подавлены.

Совмещенное стерео (Joint stereo): Intensity-стерео или M/S-стерео. Данный алгоритм служит для сокращения информационной избыточности, обусловлен-

17.6. Совершенствование алгоритмов сжатия звука на основе стандарта AAC

ной высокой корреляцией между левым и правым каналами стереосигнала. При этом метод Intensity-стерео является алгоритмом сжатия с потерей информации, а M/S (middle/side = среднее/разность) — алгоритмом без ее потери. Соответствующему блоку декодера передается информация о выбранном типе стереокодирования. Алгоритм Intensity использует корреляционную зависимость между верхними частями спектров стереопары звукового сигнала. При этом в выходной поток передаются нижние части спектров левого и правого каналов в полосе до 6 кГц, а оставшаяся верхняя часть полосы передается в виде масштабированной невосстанавливаемой на стороне декодера суммы спектров левого и правого каналов. Алгоритм M/S анализирует возможность передачи вместо сигналов левого (L) и правого (R) каналов пары M = (L + R)/2 и S = (L − R)/2 с точки зрения минимизации выходного битового потока. При этом оцениваются распределения мощностей для обоих вариантов, и выносится решение о передаче пары

L/R либо M/S.

Покадровое предсказание (Prediction) применяется для сокращения информационной избыточности, связанной с высокой степенью корреляции между спектрами последовательных кадров. При этом на стороне кодера используется так называемый алгоритм обратного предсказания (backward prediction), осуществляющий итеративное квантование и восстановление данных с целью предотвращения распространения ошибки предсказания. Добавим, что система кадрового предсказания включается только тогда, когда на уровне первоначального анализа звукового сигнала (на уровне психоакустической модели) принимается решение об отсутствии в данном кадре резких переходов и участков «нестационарности спектра» (так называемые transients).

Масштабирование спектральных компонент (Scaling) реализует умножение спектральных компонент на масштабные множители (Scalefactors). Данная процедура используется для управления в частотной области формой шумов квантования (во временной области этим занимается блок преобразования формы шума квантования TNS). Сами масштабирующие множители передаются вместе с потоком. Количество коэффициентов определяется разбиением спектра сигнала на так называемые «масштабные полосы» (scalefactor bands), каждой из которых соответствует один коэффициент.

Система квантования (Quantization) осуществляет неравномерное квантование спектральных компонент сигнала и разделена на 3 уровня. Верхний уровень занимается вычислением количества битов, в которые нужно «уложить» поток, проверяет, не равны ли все спектральные компоненты нулю и, если нет, вызывает процедуру следующего уровня — так называемый внешний итеративный цикл, который, в свою очередь, вызывает процедуру внутреннего итеративного цикла. Внутренний цикл квантует входной вектор, увеличивая шаг квантования до тех пор, пока выходной вектор все еще укладывается в отведенное ему количество битов. После выполнения внутреннего цикла внешний цикл оценивает искажения, вызванные последней итерацией квантования внутри каждой масштабной полосы (см. описание масштабирования спектральных компонент) и, если ошибка больше пороговой, уменьшает значение масштабирующего коэффициента для тех масштабных полос, в которых было допущено превышение порога ошибки.

Система хаффмановского кодирования (Ha man coding) представляет собой статистический кодер, работающий с парами или квартетами передаваемых кван-

Глава 17. Стандарты кодирования звуковой информации

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

Формирование битового потока (Bitstream formatter) реализует компоновку выходного битового потока, который включает в себя следующие основные типы управляющей информации:

квантованные спектральные коэффициенты звукового сигнала;

масштабирующие коэффициенты модуля масштабирования спектральных компонент;

информацию для восстановления входных уровней звукового сигнала в случае использования на стороне кодера блока регулировки усиления;

информацию о типе и длине использовавшихся взвешивающих окон;

информацию, необходимая для декодирования временного преобразования формы шума (TNS);

информацию об использовавшемся типе объединенного стерео;

информация об использовавшихся на стороне кодера параметрах хаффмановского кодирования.

Обработка информации при декодировании осуществляется в обратном (относительно кодирования) порядке (рис. 17.22).

Вектор развития стандарта звукового кодека ААС можно обозначить с помощью таких символических формул:

«HE-AAC v.1» = «AAC» + «SBR»; «HE-AAC v.2» = «AAC» + «SBR» + «PS».

17.6.2. Метод спектрального дублирования SBR

Метод спектрального дублирования, или отражения (SBR — Spectral Band Replication) основывается на двух вводимых в рамках данной концепции качественных постулатах:

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

на некотором временном интервале существует высокая корреляционная зависимость между мощностными характеристиками верхней и нижней половинами спектра звукового сигнала.

Оба эти утверждения непосредственно следуют из анализа алгоритмов, приведенных, например, в [6.51]. На рис. 17.23 приведена структурная схема HE-AAC кодера первой версии.

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

17.6. Совершенствование алгоритмов сжатия звука на основе стандарта AAC

Рис. 17.22. Алгоритмическая схема декодера AAC