(по цифровому вещанию) Dvorkovich_V_Cifrovye_videoinformacionnye_sistemy
.pdfГлава 16. Основные стандарты кодирования речевой информации
связи с применением фильтра с характеристикой P k(z) = 1 −1/W k(z), а целевые отсчеты d[n] = x[n] − y[n] скалярно квантуются.
Закодированные отсчеты u[n] получаются путем квантования d[n] 3-битным квантователем с заданными параметрами.
Целью кодирования с использованием динамической кодовой книги является либо обработка остатков 23/22 отсчетов двух соответствующих подблоков, определяющих начало обработки, либо обработка 40 отсчетов подблока. Объем памяти книги равен 147 для двух/четырех подблоков с 40 отсчетами и 85 — для 23/22 отсчетов на подблок.
Поиск кодовой книги осуществляется на каждой стадии кодирования. Дополнительно к определению кодовых книг с учетом обновления взвешивающей цепи производится коррекция коэффициента усиления кодера, обеспечивающая максимальное подавление остаточного сигнала.
Последним этапом кодирования является пакетирование полезной информации. Структура битового потока на выходе кодера приведена в табл. 16.5.
Таблица 16.5. Структура цифрового потока стандарта iLBC
Параметры |
|
Биты |
||
|
|
|
Блок 20 мс |
Блок 30 мс |
|
|
|
|
|
|
|
Часть 1 |
6 |
6 |
|
LSF1 |
Часть 2 |
7 |
7 |
Коэффициенты LSF |
|
Часть 3 |
7 |
7 |
|
|
|
|
|
|
|
Часть 1 |
– |
6 |
|
LSF2 |
|
|
|
|
Часть 2 |
– |
7 |
|
|
|
|
|
|
|
|
Часть 3 |
– |
7 |
|
|
|
|
|
Общее количество |
|
20 |
40 |
|
|
|
|
|
|
Тип блока |
|
2 |
3 |
|
Позиция 22 отсчета в сегменте |
|
1 |
1 |
|
|
|
|
|
|
Фактор шкалы состояния кодирования |
|
6 |
6 |
|
|
|
|
|
|
|
|
Отсчет 0 |
3 |
3 |
|
|
Отсчет 0 |
3 |
3 |
|
|
|
|
|
Квантование остатков состояния отсчетов |
-«- |
-«- |
-«- |
|
|
|
|
||
|
|
-«- |
-«- |
-«- |
|
|
|
|
|
|
|
Отсчет 56 |
3 |
3 |
|
|
|
|
|
|
|
Отсчет 57 |
– |
3 |
|
|
|
|
|
Общее количество |
|
171 |
174 |
|
|
|
|
|
|
|
|
Положение 1 |
7 |
7 |
Кодовая книга для 22/23 отсчетов блока |
Положение 2 |
7 |
7 |
|
|
|
Положение 3 |
7 |
7 |
|
|
|
|
|
Общее количество |
|
21 |
21 |
|
|
|
Положение 1 |
5 |
5 |
Усиление для 22/23 отсчетов блока |
|
|
|
|
Положение 2 |
4 |
4 |
||
|
|
|
|
|
|
|
Положение 3 |
3 |
3 |
Общее количество |
|
12 |
12 |
|
|
|
|
|
|
|
|
Положение 1 |
8 |
8 |
Указатели для кодовых книг подблоков |
Подблок 1 |
|
|
|
Положение 2 |
7 |
7 |
||
|
|
|
|
|
|
|
Положение 3 |
7 |
7 |
|
|
|
|
|
16.10. Speex — свободный кодек, предназначенный для передачи речи по IP-сетям
Таблица 16.5 (окончание)
|
|
Положение 1 |
8 |
8 |
|
Подблок 2 |
Положение 2 |
8 |
8 |
|
|
|
|
|
|
|
Положение 3 |
8 |
8 |
|
|
|
|
|
|
|
Положение 1 |
- |
8 |
Указатели для кодовых книг подблоков |
Подблок 3 |
|
|
|
Положение 2 |
- |
8 |
||
|
|
|
|
|
|
|
Положение 3 |
- |
8 |
|
|
|
|
|
|
|
Положение 1 |
- |
8 |
|
Подблок 4 |
|
|
|
|
Положение 2 |
- |
8 |
|
|
|
Положение 3 |
- |
8 |
Общее количество |
|
46 |
94 |
|
|
|
Положение 1 |
5 |
5 |
|
Подблок 1 |
|
|
|
|
Положение 2 |
4 |
4 |
|
|
|
|
|
|
|
|
Положение 3 |
3 |
3 |
|
|
|
|
|
|
|
Положение 1 |
5 |
5 |
|
Подблок 2 |
Положение 2 |
4 |
4 |
Усиление для подблоков |
|
Положение 3 |
3 |
3 |
|
|
|
|
|
|
|
Положение 1 |
- |
5 |
|
Подблок 3 |
|
|
|
|
Положение 2 |
- |
4 |
|
|
|
|
|
|
|
|
Положение 3 |
- |
3 |
|
|
|
|
|
|
|
Положение 1 |
- |
5 |
|
Подблок 4 |
|
|
|
|
Положение 2 |
- |
4 |
|
|
|
Положение 3 |
- |
3 |
Общее количество |
|
24 |
48 |
|
|
|
|
|
|
Индикатор пустых кадров |
|
1 |
1 |
|
|
|
|
|
|
Суммарный поток |
|
304 |
400 |
|
Структурная схема декодирующего устройства стандарта iLBC приведена на рис. 16.9б. Декодирование для каждого блока начинается с восстановления и интерполяции LPC коэффициентов, затем расшифровывается начальное состояние. Подблоки декодируются в том же порядке, как они были закодированы. Постфильтрация устраняет постоянную составляющую декодированного сигнала. Нижняя граничная частота высокочастотного фильтра установлена равной 65 Гц.
-
Speex — свободный кодек для сжатия речевого сигнала. Он был создан в качестве альтернативы дорогим коммерческим кодекам для кодирования/декодирования голоса. Он оптимизирован для Интернет-приложений, Voice over IP (VoIP) и создания файлов со сжатым звуком. Кодек доступен по модифицированной свободной программной лицензии Университета Беркли (BSD license) и является частью проекта свободного программного обеспечения GNU. Он обладает множеством особенностей, которые отсутствуют в других кодеках. Speex является форматом сжатия с потерями, обеспечивает возможность изменения скорости
Глава 16. Основные стандарты кодирования речевой информации
передачи цифровых данных (variable bitrate, VBR), т. е. может динамически менять скорость передачи данных в ответ на изменение условий сети [6.44–6.46].
В кодеке возможно использование трех частот дискретизации: 8, 16 и 32 кГц; допускается использование и других частот, но Speex не оптимизирован для использования с ними. Кодек может использоваться для каналов со скоростью передачи данных от 2,15 до 22,4 кбита/с.
К особенностям кодека Speex следует отнести:
–алгоритм кодирования — линейное предсказание с кодовым возбуждением (Code Excited Linear Prediction, CELP);
–переменный цифровой поток (VBR) и динамическое переключение скорости потока;
–использование детектора активности голоса (VAD);
–реализация кодирования стереофонического звука, использование подавителей эхосигналов и шума;
–устойчивость к потере данных;
–возможность передачи с перерывами (DTX);
–может быть инкапсулирован в медиаконтейнер Ogg, являющийся основным файловым и потоковым форматом для свободных мультимедиакодеков в Интернете.
Процесс кодирования речи контролируется специальным параметром, представляющим собой число в диапазоне от 0 до 10. В режиме с постоянным цифровым потоком (Constant bit-rate, CBR) параметр качества — целое число, а в режиме с переменным потоком — число с плавающей точкой.
Speex позволяет изменять сложность работы кодирующего устройства. Процесс управления осуществляется с помощью целого числа от 1 до 10. В обычных условиях уровень шума при сложности 1 на 1–2 дБ выше, чем при сложности 10, но загрузка процессора при сложности 10 выше приблизительно в 5 раз. На практике лучшим выбором, вероятно, будет диапазон чисел от 2 до 4, но для кодирования неречевых сигналов могут оказаться полезными и более высокие значения.
Speex поддерживает большое количество приложений, от потоковых приложений (телеконференции) до видеоигр и программ обработки звука.
Speex VBR — кодек, реализующий динамически изменяющуюся скорость передачи звуковой информации (Variable Bit-Rate — VBR). Этот режим может обеспечить более низкую скорость передачи с постоянным качеством или лучшее качество при постоянной скорости передачи данных. Несмотря на свои преимущества Speex VBR имеет три основных недостатка. Во-первых, задание качества обработки звука не гарантирует определенную среднюю скорость передачи. Во-вторых, для некоторых приложений реального времени (например, VoIP), главной является максимальная скоростью передачи данных, что не всегда реализуется. И, в-третьих, шифрование Speex VBR-кодирования речи не может обеспечить полную конфиденциальность — передаваемую фразу можно определить, анализируя изменение скорости передачи.
Использование «средних скоростей» передачи данных (Average Bit-Rate — ABR) решает одну из проблем Speex VBR. Поскольку качество и скорость пере-
16.10. Speex — свободный кодек, предназначенный для передачи речи по IP-сетям
дачи данных настраиваются в режиме реального времени, общее качество будет несколько ниже, чем при реализации кодека Speex VBR.
Применение системы определения голосовой активности (Voice Activity Detection — VAD) реализует возможность анализа, кодируется ли речь или молчание/фоновый шум. VAD всегда активируется при кодировании в Speex VBR. В этом случае Speex обнаруживает неречевые интервалы и кодирует их малым количеством битов для воспроизведения фоновых шумов.
Значительным преимуществом Speex в дополнение к VAD/VBR является возможность разрывной передачи/приема.
Для улучшения восприятия (Perceptual enhancement) принимаемой информации при включении декодер пытается уменьшить уровень шума, возникающего в процессе кодирования/декодирования. В большинстве случаев процесс улучшения восприятия делает звук объективно более отличающимся от оригинала, но субъективно лучше воспринимаемым.
Кодек всегда вносит алгоритмическую задержку информации. Для кодека Speex эта задержка равна размеру и интервалу, необходимому для обработки каждого кадра. В узкополосной системе (частота дискретизации равна 8 кГц) задержка составляет 30 мс, а для широкополосной системы (16 кГц) она составляет 34 мс. Эти значения не учитывают процессорное время, необходимое для кодирования и декодирования.
На рис. 16.10 приведены графики сравнения качества кодеков Speex и других кодеков, используемых для передачи речи по Интернет-каналам.
Рис. 16.10. Сравнение качества кодирования речи различными кодеками |
Несмотря на многообразие используемых методов обработки звуковой информации в кодирующих устройствах с потерями их структуру можно представить в виде обобщенной структурной схемы рис. 17.1 [6.22]. На вход такой схемы поступает ИКМ-аудиосигнал с заданными частотой дискретизации fд и линейной шкалой квантования дискретных отсчетов N бит/отсчет.
Рис. 17.1. Обобщенная структурная схема кодирующего устройства аудиосигнала с потерями
В блоке частотной и временной сегментации сигнал X(n) разделяется на субполосные составляющие и сегментируется по времени. Длина кодируемой выборки зависит от формы временной функции аудиосигнала: в случаях резких изменений уровня сигнала используется выборка малой длительности, что обеспечивает высокое разрешение по времени; в противном случае применяется длительная по времени выборка, реализуется при этом более высокое разрешение по частоте.
Управление длиной выборки кодируемого сигнала осуществляет блок психоакустического анализа. После сегментации субполосные сигналы нормируются, квантуются и кодируются. В ряде алгоритмов компрессии кодированию подвергаются не дискретные выборки сигнала, а элементы их преобразования с помощью модифицированного дискретного косинусного преобразования МДКП.
Обычно при компрессии аудиоинформации используется энтропийное кодирование, использование которого позволяет учитывать статистические характеристики сигнала. Учет слухового восприятия звуковых сигналов обеспечивается в процессе психоакустического анализа. Блок динамического распределения битов в соответствии с используемой психоакустической моделью выделяет мини-
17.1. MPEG-1 Audio — кодирование аудиоинформации для цифровых систем
мально необходимое количество битов для сигналов каждой субполосы кодирования.
В современных алгоритмах кодирования используются также специальные итерационные процедуры, позволяющие управлять величиной энергии искажений квантования в субполосах при недостаточном числе доступных для кодирования битов.
Для обеспечения правильного декодирования передаваемой информации к декодеру кроме основного цифрового потока данных передается также определенная дополнительная информация. Цифровые потоки основной и дополнительной информации форматируются в выходном блоке кодирующего устройства.
Алгоритмы сжатия высококачественных звуковых сигналов весьма гибки, что при различных реализациях может обеспечить существенное различие в качестве декодируемой информации при одной и той же степени ее сжатия.
Информация об основных стандартах кодирования аудиоинформации приведена в табл. 17.1.
Таблица 17.1. Стандарты кодирования аудиоинформации
|
|
|
Частота |
Число |
Скорость би- |
|
|
|
Год |
тового потока |
|||
Название |
Стандарт |
дискретиза- |
каналов |
|||
публикации |
на канал, |
|||||
|
|
ции, кГц |
передачи |
|||
|
|
|
кбитов/с |
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
MPEG-1 |
ISO/IEC |
1993 |
48 |
1; 2 |
32–448 |
|
Audio, Layer-1 |
11172-3 |
|||||
|
|
|
|
|||
|
|
|
|
|
|
|
MPEG-1 |
ISO/IEC |
1993 |
32; 44,1; 48 |
1; 2 |
32–384 |
|
Audio, Layer-2 |
11172-3 |
|||||
|
|
|
|
|||
MPEG-1 |
ISO/IEC |
1993 |
32; 44,1; 48 |
1; 2 |
32–320 |
|
Audio, Layer-3 |
11172-3 |
|||||
|
|
|
|
|||
|
|
|
|
|
|
|
MPEG-2 |
ISO/IEC |
1995 |
16, 22,. . . , 48 |
1–5,1 |
32–384 |
|
Audio |
13818-3 |
|||||
|
|
|
|
|||
|
|
|
|
|
|
|
MPEG-2 |
ISO/IEC |
1997 |
16, 22,. . . , 48 |
1–5,1 |
16–384 |
|
Audio |
13818-7 |
|||||
|
|
|
|
|||
|
|
|
|
|
|
|
MPEG-4 |
ISO/IEC |
1998 |
16, 22,. . . , 48 |
1–5,1 |
2–64 |
|
Audio |
14496-3 |
|||||
|
|
|
|
|||
Dolby AC-3 |
ATSC A/53 |
1995 |
44,1 |
1–5б1 |
32–384 |
-
! "# $ &'
Этот стандарт и его расширение MUSICAM (Layer-2), разработанное специалистами Corporate Computer Systems, Inc. (США), применяется для звукового сопровождения телевизионных программ MPEG-2.
В стандарте МРЕG-1 содержатся две психоакустические модели, которые могут альтернативно служить в качестве основы для редукции аудиоданных при их обработке с целью сокращения избыточности передаваемых цифровых звуковых сигналов. Возможная редукция аудиоданных в обеих моделях различна. Однако для декодирования этих сигналов используется один и тот же декодер.
Глава 17. Стандарты кодирования звуковой информации
Встандарте MPEG-1 рекомендовано использование трех уровней (слоев) компрессии аудиоинформации: Layer-1, Layer-2 и Layer-3 [6.47].
Layer-1 применяется в профессиональных системах записи/перезаписи с высоким студийным качеством, характеризуется небольшой сложностью и невысокой степенью искажений при нескольких преобразованиях. Обеспечивает использование достаточно большой скорости цифрового потока — 192–256 кбитов/с, коэффициент компрессии — около 4, задержка сигнала при обработке — около 20 мс.
Layer-2 используется для высококачественного телерадиовещания; обладает средней сложностью преобразования сигналов и средней величиной их компрессии. Рекомендуемая скорость цифрового потока — 128 кбитов/с при кодировании звукового сигнала с полосой частот 40 Гц – 15 кГц, коэффициент компрессии — около 6, задержка сигнала при обработке — 40–50 мс.
Layer-3 применяется в основном для Интернет-вещания, отличается высокой сложностью обработки аудиоинформации, обеспечивая скорость передачи цифровой информации 64 кбитов/с при кодировании звукового сигнала с полосой частот 40Гц — 15 кГц, время задержки — более 50 мс.
17.1.1.MPEG-1 Audio Layer-1 — профессиональная система кодирования аудиоинформации с высоким качеством
Этот вариант стандарта разработан с использованием метода субполосного кодирования системы компрессии аудиоинформации MUSICAM [6.48].
Исходный цифровой ИКМ-сигнал с частотой дискретизации fд = 48 кГц, линейной шкалой квантования N = 16 бит/отсчет и цифровым потоком v = = 768 кбитов/с разделяется банком полифазных квадратурных зеркальных фильтров (Polyphase Quadrature Mirror Filter — PQMF) на M = 32 субполосные составляющие (рис. 17.2). Аудиофрейм (кадр) состоит из 384 отсчетов звукового сигнала, интервал передачи аудиофрейма равен 8 мс. Все субполосы обладают постоянной шириной полосы, равной fд/M = 750 Гц.
В каждой субполосе кодирования имеется 384/32 = 12 отсчетов сигнала, при этом макисмальное значение отсчета в каждой субполосе является масштабным коэффициентом (Scale Factor — SCF). Передаваемые декодеру значения SCF заданы в стандарте таблично, поэтому подбирается ближайшее наибольшее значение, а каждому табличному значению SCF соответствует свой индекс iSCF , представляющий собой целое число, изменяющееся от 0 до 62. Он кодируется 6 битами. Для каждой субполосы кодируется и передается лишь один индекс, либо он вообще не передается, если отсчеты данной полосы не кодируются и не передаются. Информация о выбранных масштабных коэффициентах (Scalenfactors Selection Information — SCFSI) кодируется 2 битами для каждой субполосы. Определение значений SCF выполняется в блоке расчета масштабных коэффициентов.
После расчета масштабных коэффициентов производится нормировка субполосных отсчетов сигнала с использованием значений SCF в качестве нормирующих множителей. Затем отнормированные отсчеты равномерно квантуются и кодируются. Для каждой субполосы число ступеней квантования задается приведенной в стандарте табл. 17.2.
Для каждой частоты дискретизации fд и скорости передачи информации v существует своя таблица набора квантователей и ограничения используемой макси-
Глава 17. Стандарты кодирования звуковой информации
–вычисление индивидуальных кривых маскировки, оставшихся после редуцирования спектральных компонент;
–вычисление глобального порога маскировки;
–вычисление наименьшего значения порога маскировки для каждой частотной субполосы;
–расчет SNR (отношения сигнал/шум) для каждой субполосы.
Число ступеней квантования при кодировании отсчетов сигнала в субполосах составляет 2k, где k — число разрядов в кодовом слове отсчета, равное величине от 2 до 16.
Кодируется не число ступеней квантования, а соответствующий им индекс — в соответствии с табл. 16.2 кодовые слова для соответствующих субполос определяются следующим количеством битов:
–для субполос 0, 1, 2 — 4 · 3 = 12;
–для субполос 3, . . . , 10 — 4 · 8 = 32;
–для субполос 11, . . . ,22 — 3 · 12 = 36;
–для субполос 22, . . . ,26 — 2 · 8 = 16.
Следовательно, количество информации, необходимое для распределения битов по субполосам в аудиофрейме, в данном случае равно 12 + 32 + 36 + 8 = 88 битов.
Процедура квантования отсчетов во фрейме выполняется в соответствии с соотношением:
Sq.sb(k) = A · Ssb(k) + B, |
(17.1) |
где A и B — коэффициенты квантования, определяемые стандартом для каждого числа ступеней квантования, Ssb(k)и Sq.sb(k) — нормированные и квантованные k-е значения субполосного отсчета соответственно.
Последовательность операций, выполняемых в MPEG-1 Audio кодере, представлена на рис. 17.3.
После того как в кодере определены уровни сигнала в отдельных частотных субполосах, определяется абсолютный порог слышимости и анализируется, идет ли речь о тональных (синусоподобных) или нетональных (шумовых) частях сигнала. На основе использованной психоакустической модели идентифицируются доли (части) сигнала, которые в значительной степени маскируются, и затем вычисляется отношение SNR, при котором шум еще маскируется полезным сигналом. Эти расчеты выполняются для каждой субполосы. С помощью вычисленных значений SNR и уровней сигнала для каждой субполосы рассчитываются шаги квантования и необходимое для кодирования число битов. Общее число битов распределяется между субполосами так, чтобы выполнялись требования, относящиеся как к скорости передачи сигнала, так и к маскировке шумов в каждой субполосе.
Всоответствии со стандартом MPEG-1 Audio Layer-1 основной единицей цифрового потока является аудиофрейм, структура данных внутри которого строго определена (рис. 17.4).
Впреамбуле (заголовке) аудиофрейма (Header) передается служебная информация (32 бита), содержащая составляющую синхронизации из 12 битов (1111 1111 1111) и информацию о структуре данных фрейма (20 битов):
