(по цифровому вещанию) Dvorkovich_V_Cifrovye_videoinformacionnye_sistemy
.pdf
Глава 16. Основные стандарты кодирования речевой информации
Рис. 16.6. К пояснению работы декодера по стандарту G.729
ентами усиления;
–речевой сигнал реконструируется пропусканием возбуждающего сигнала через синтезирующий фильтр линейного предсказания;
–реконструированный речевой сигнал проходит стадию постобработки, включающую адаптивный постфильтр, основанный на коротком и длинном синтезирующих фильтрах, высокочастотный фильтр и масштабирование.
Задержка системы кодирования по Рекомендации G.729 складывается из размера кадра (10 мс), предварительного просмотра 5 мс (общая алгоритмическая задержка — 15 мс), времени вычислений кодера и декодера, времени передачи по линии связи, времени задержки мультиплексирования звуковых и других данных.
Имеется множество модификаций кодера речи G.729, основными из которых являются Приложения G.729A и G.729B [6.35, 6.36].
Принцип кодирования G.729А близок к G.729, но требует меньше вычислений ввиду использования операций с фиксированной точкой, в отличие от G.729, который использует операции с плавающей точкой. Это упрощение приводит к незначительному ухудшению качества речи.
Вмодификации G.729B дополнительно к G.729 содержится детектор голосовой активности (VAD), который способен снижать битовый поток во время отсутствия речевого сигнала, заполняя паузы особым комфортным шумом, чтобы не вызывать дискомфорта у абонента воспроизведением абсолютной тишины.
В2006 г. ITU-T принял Рекомендацию G.729.1 [6.37] масштабируемого широкополосного речевого кодера, обеспечивающего реализацию скорости передачи информации 8–32 кбитов/с и совместимого с кодерами стандарта G.729 и его модификациями.
Этот кодер был разработан с целью обеспечения лучшего качества воспроизведения звука и большей гибкости по сравнению с существующим кодером G.729. G.729.1 масштабируем в скорости передачи цифровой информации, акустической полосе пропускания и сложности. Кроме того, предлагаются различные кодирующие устройства и способы декодирования, включая поддержку частоты выборки входного сигнала, равной 8 и 16 кГц, совместимость с G.729B, а также уменьшение алгоритмической задержки.
Цифровой поток G.729.1 структурирован в 12 иерархических слоев. Первый слой (или основной слой) в 8 кбитов/с соответствует формату G.729. Второй слой
16.8. GSM — речевой кодек для систем сотовой связи
(12 кбитов/с) обеспечивает повышение качества низкочастотных составляющих речи. Третий слой (14 кбитов/с) является слоем расширения полосы пропускания. Дальнейшие слои (в шагах на 2 кбитов/с) обеспечивают повышение качества высокочастотных составляющих речи. Полоса пропускания канала G.729.1 составляет 50–4000 Гц при 8 и 12 кбитов/с, и 50–7000 Гц от 14 до 32 кбитов/с.
Кодек речевого сигнала стандарта GSM (Global System for Mobile Communications) цифровой сотовой связи использует долговременное предсказание с возбуждением регулярной последовательностью импульсов (Regular Pulse Excited Long Term Prediction — RPE-LTP). Он основан на применении двух способов кодирования: линейного предсказания с возбуждением остатком (Residual Excited Linear Prediction — RELP) и долговременного предсказания с импульсным возбуждением (Multi-Pulse Excited Long Term Prediction — MPE-LTP) [6.38].
Кодер создает битовый поток со скоростью 13 кбитов/с, он был выбран после многочисленных экспертных оценок. Преимущество RELP-кодека состоит в том, что он обеспечивает хорошее качество речи при сравнительно низкой сложности. Однако качество речи при использовании этого кодека ограничивается помехой, создаваемой при восстановлении высокочастотных компонентов речевого сигнала и ошибками при передаче битов по каналу связи. MPE-LTP-кодек обеспечивает очень хорошее качество речи при высокой сложности и не очень чувствителен к ошибкам в канале передачи [6.39, 6.40]. На рис. 16.7 приведена упрощенная функциональная схема кодека GSM.
Кодер содержит четыре основных блока обработки каждого сегмента речевого сигнала: предварительной обработки, кратковременного анализа (предсказания), долговременного анализа и формирования сигнала возбуждения в виде регулярной последовательности импульсов. На вход кодера с частотой следования 8 кГц поступают отсчеты речевого сигнала в виде 13-битовых кодовых слов ИКМ.
Блок предварительной обработки осуществляет:
–фильтрацию сигнала с использованием фильтра высоких частот, в результате чего подавляется постоянная составляющая сигнала и увеличивается уровень высокочастотных компонентов;
–разделение сигнала на сегменты по 20 мс (160 отсчетов в каждой выборке);
–взвешивание отсчетов каждого из сегментов временнымм окном Хэмминга.
Далее во втором блоке по 160 отсчетам сегмента вычисляются значения оценок параметров фильтра линейного предсказания при M = 8 (число оцениваемых параметров или порядок фильтра) и значения сигнала ошибки предсказания e.
Форма Z-характеристики анализатора кратковременного предсказания (в упрощенном варианте) имеет вид:
M |
|
i |
|
A(z) = 1 − aiz−i, |
(16.28) |
=1 |
|
Глава 16. Основные стандарты кодирования речевой информации
Рис. 16.7. Упрощенные функциональные схемы кодирующего (вверху) и декодирующего (внизу) устройств GSM
где ai — коэффициенты предсказания, значения которых постоянны на интервале кодируемого сегмента речи 20 мс, они вычисляются из условия минимизации среднеквадратичного значения остатка предсказания en (см. рис. 16.8а).
Приравнивание к нулю частных производных суммы квадратов величины предсказания (en)2 по каждому коэффициенту ai приводит к системе M линейных уравнений с M неизвестными коэффициентами ai. Матрица системы и метод ее решения оказываются несколько различными в зависимости от того, какими свойствами наделяется речевой сигнал на интервале преобразуемого сегмента речи.
В качестве побочного результата решения получаются значения так называемых коэффициентов отражения, или коэффициентов частичной корреляции ki, i = 1, . . . , M , число которых равно числу коэффициентов линейного предсказания ai и которые связаны с этими коэффициентами взаимно однозначными нелинейными функциональными соотношениями.
Коэффициенты отражения могут быть получены при использовании другой формы фильтра линейного предсказания — так называемым решетчатым, или лестничным, фильтром (рис. 16.8б). Коэффициенты отражения ki более удобны, чем коэффициенты линейного предсказания ai, для передачи по линии связи, так как в силу своих статистических характеристик в меньшей степени могут приводить к потере устойчивости фильтра при квантовании. Иначе говоря, они требуют меньшего числа разрядов при квантовании, т. е. приводят к более экономному использованию линии связи. Иногда используются также функции от
16.8. GSM — речевой кодек для систем сотовой связи
Рис. 16.8. Структура простого трансверсального фильтра-анализатора кратковременного преобразования (а) и решетчатого фильтра (б)
коэффициентов отражения — логарифмические отношения площадей: |
|
|||
ri = lg |
1 |
− ki |
. |
(16.29) |
|
||||
|
1 |
+ ki |
|
|
В дополнение к кратковременному предсказанию, используется еще долговременное предсказание, в значительной мере устраняющее остаточную избыточность и приближающее остаток предсказания по своим статистическим характеристикам к белому шуму. Передаточная характеристика инверсного фильтра долговременного предсказания имеет вид:
M2
P (z) = 1 − |
gkz−(d+k), |
(16.30) |
|
k=−M1 |
|
где gk — коэффициенты долговременного предсказания, порядок предсказания равен M1 +M2 +1, а временная задержка d соответствует периоду основного тона (для вокализованных звуков).
Если на вход инверсного фильтра долговременного предсказания подается остаток кратковременного предсказания en, то на выходе получается остаток (ошибка) долговременного предсказания fn, равный:
M2
fn = en − |
gken−d−k. |
(16.31) |
k=−M1
Ошибка fn весьма близка к белому гауссовскому шуму, что облегчает экономичное формирование параметров сигнала возбуждения. Параметры долговременного предсказания gk и d могут быть определены, например, из условия минимизации среднеквадратичного значения ошибки fn на некотором интервале, составляющем 20–25% от длительности передаваемого сегмента речи. Задержка d обычно устанавливается в пределах 20–160 интервалов дискретизации сигнала, что соответствует диапазону частот основного тона 50–400 Гц.
Глава 16. Основные стандарты кодирования речевой информации
Обычно порядок долговременного предсказателя устанавливается равным 1 и M1 = M2 = 0. При этом 160-выборочный сегмент остатка кратковременного предсказания en разделяется на 4 подсегмента, по 40 выборок в каждом, и параметры g, d оцениваются для каждого из подсегментов в отдельности, причем для оценки задержки d для текущего подсегмента используется скользящий подсегмент из 40 выборок, перемещающийся в пределах предшествующих 128 выборок сигнала остатка предсказания en. Сигнал en фильтруется фильтром-анализато- ром долговременного линейного предсказания, а выходной сигнал последнего — остаток предсказания fn — фильтруется сглаживающим фильтром, и по нему формируются параметры сигнала возбуждения, в отдельности для каждого из 40-выборочных подсегментов.
Сигнал возбуждения одного подсегмента состоит из 13 импульсов, следующих через равные промежутки времени (втрое большие, чем интервал дискретизации исходного сигнала) и имеющих различные амплитуды. Для формирования сигнала возбуждения 40 импульсов подсегмента сглаженного остатка fn обрабатываются следующим образом:
–последний (сороковой) импульс отбрасывается, а первые 39 импульсов разбиваются на три последовательности;
–в первой из последовательностей — импульсы 1, 4, . . . , 37, во второй — импульсы 2, 5, . . . , 38, в третьей — импульсы 3, 6, . . . , 39;
–в качестве сигнала возбуждения выбирается та из последовательностей, энергия которой больше;
–амплитуды импульсов нормируются по отношению к импульсу с наибольшей амплитудой, и нормированные амплитуды кодируются тремя битами каждая при линейной шкале квантования;
–абсолютное значение наибольшей амплитуды кодируется шестью битами в логарифмическом масштабе;
–положение начального импульса 13-элементной последовательности кодируется двумя битами, т. е. номером последовательности, выбранной в качестве сигнала возбуждения данного подсегмента.
Таким образом, выходная информация кодера речи для одного 20-миллисе- кундного сегмента речи включает:
–параметры фильтра кратковременного линейного предсказания — 8 коэффициентов, один набор на весь сегмент;
–параметры фильтра долговременного линейного предсказания — коэффициент предсказания g и задержка d — для каждого из четырех подсегментов;
–параметры сигнала возбуждения — номер последовательности n, максимальная амплитуда и нормированные амплитуды 13 импульсов последовательности — для каждого из четырех подсегментов.
В табл. 16.3 приведено число битов, используемых при кодировании передаваемых параметров 20 мс сегмента.
Таким образом, всего для одного 20-мс сегмента речи передается 260 битов информации, т. е. кодер речи осуществляет сжатие информации почти в 5 раз
16.8. GSM — речевой кодек для систем сотовой связи
(1280/260 = 4,92). Перед выдачей в канал связи выходная информация кодера речи подвергается дополнительно канальному кодированию.
В декодере (рис. 16.7, внизу) блок формирования сигнала возбуждения, используя принятые параметры сигнала возбуждения, восстанавливает 13-импульс- ную последовательность сигнала возбуждения для каждого из подсегментов сигнала речи, включая амплитуды импульсов и их расположение во времени. Сформированный таким образом сигнал возбуждения фильтруется фильтром-синте- затором долговременного предсказания, передаточная характеристика R(z) которого обратна P (z) с точностью до скалярного коэффициента усиления F :
|
R(z) = F/P (z). |
(16.32) |
|||
Таблица 16.4. Число битов при кодировании параметров 20-мс сегмента |
|||||
Параметры |
|
Число битов |
|
Примечания |
|
|
|
|
|
|
|
Анализатор кратковременного |
|
|
|
r1, r2 — по 6 битов; r3, r4 — по |
|
предсказания (отношения ri, i = 1, |
|
36 |
|
5 битов; |
|
. . . , 8) |
|
|
r5, r6 — по 4 бита; r7, r8 — по 3 бита |
|
|
Анализатор долговременного |
|
|
|
|
|
предсказания (коэффициент |
|
36 |
|
g — 2 бита, d — 7 битов |
|
усиления g и задержка d для |
|
|
|
||
|
|
|
|
|
|
каждого из 4 подсегментов) |
|
|
|
|
|
|
|
|
|
|
|
Сигнал возбуждения (номер |
|
|
|
|
|
последовательности n, |
|
|
|
|
|
максимальная амплитуда v, |
|
188 |
|
n — 2 бита, v — 6 битов, bi — по |
|
нормированные амплитуды |
|
|
3 бита |
|
|
|
|
|
|
||
импульсов bi, i = 1, . . . , 13 для |
|
|
|
|
|
каждого из 4-х подсегментов) |
|
|
|
|
|
|
|
|
|
|
|
Всего за 20-мс сегмент |
|
260 |
|
|
|
|
|
|
|
|
|
На выходе этого фильтра формируется восстановленный остаток предсказания фильтра-анализатора кратковременного предсказания, который преобразуется решетчатым фильтром-синтезатором, причем параметры фильтра предварительно преобразуются из логарифмических отношений площадей ri в коэффициенты частичной корреляции ki. Передаточная характеристика фильтрасинтезатора H(z) обратна характеристике анализатора A(z) с точностью до скалярного коэффициента усиления G:
A(z) = G/H(z). |
(16.33) |
Далее сигнал фильтруется в блоке постфильтрации, восстанавливающем амплитудные соотношения частотных составляющих сигнала речи, т. е. компенсирующим предыскажение, внесенное входным фильтром блока предварительной обработки кодера. Сигнал на выходе постфильтра является восстановленным цифровым сигналом речи. Разработано несколько вариантов GSM кодеков.
Для кодирования вызова при временном разделении каналов используется стандартный кодек GSM FR (Full-rate).
Для увеличения возможности одновременного обслуживания двух абонентов разработан так называемый «половинный» кодек GSM HR (Half-rate). Этот кодек «укладывает» звук в среднем в 5,6 кбитов/с, естественно, с потерей качества относительно GSM FR. В результате такого использования возможно появление различных артефактов и «кваканья» при разговоре.
Глава 16. Основные стандарты кодирования речевой информации
Далее семейство кодеков пополнилось сначала кодеком GSM EFR (Extended full rate),который обеспечивает лучшее качество голоса, чем GSM FR (при меньшей необходимой полосе пропускания 12,2 против 13,3 кбитов/с), а затем — кодеком GSM AMR (Adaptive multi-rate).Главное отличие кодека GSM AMR — способность работать, используя более широкий (но конечный) набор скоростей передачи данных при сопоставимом или более высоком, чем у базовых кодеков (GSM FR и GSM HR), качестве (в зависимости от доступной полосы пропускания).
-
Кодек GIPS iLBC (Global IP Sound internet Low-Bitrate Codec) рекомендован cпециальной комиссией интернет-разработок (Internet Engineering Task Force — IETF) для использования передачи речевой информации в Интернете. Кодек iLBC позволяет обеспечить относительно небольшую деградацию качества речи в случае потерь пакетов данных, которые происходят в канале связи из-за потерь или задержек IP-пакетов [6.41, 6.42].
Возможности кодека iLBC:
–цифровой поток 13,33 кбитов/с (399 битов, объединенные в пакет размером 50 байтов) при кодировании речи блоками по 30 мс и 15,2 кбитов/с (303 бита, объединенные в пакет размером 38 байтов) при кодировании речи блоками по 20 мс;
–качество выше, чем у кодека G.729A, высокая устойчивость к потерям пакетов;
–сложность вычислений находится на уровне кодека G.729A;
–кодек имеет свободные условия лицензирования.
На рис. 16.9а приведена упрощенная структурная схема кодирующего устройства iLBC.
Предварительная обработка речевого сигнала осуществляется с помощью фильтра верхних частот с граничной частотой, равной 90 Гц. При этом обеспечивается устранение постоянной составляющей и фоновых помех. Дискретизация сигнала осуществляется с частотой 8 кГц, используется исходно 16-битное линейное квантование.
При кодировании с линейным предсказанием (LPC) входная информация разделяется на блоки по 240 отсчетов (при интервале 20 мс) или 300 отсчетов (при интервале 30 мс), причем в первом случае 80 отсчетов используется из предыдущего блока и 160 — из текущего, а во втором случае 60 — из предыдущего и 240 — из текущего.
Каждый из блоков в 160/240 отсчетов разделяется на 4/6 подблоков, по 40 отсчетов сигнала каждый. Кодирование с линейным предсказанием проводится в несколько этапов.
Во-первых, производится расчет 11 коэффициентов корреляции следующим образом. Блок, состоящий из 240 отсчетов X(i), предварительно умножается на
16.9. GIPS iLBC — кодек, предназначенный для передачи речи по IP-сетям
такой же расчет десяти коэффициентов LSF, их разделение на три подвектора размера 3, 3 и 4, использование той же кодовой книги и принципа квантования. Интерполяция коэффициентов осуществляется между наборами коэффициентов подблоков текущего и предыдущего блоков.
Фильтр анализа речи с использованием вычисленных LPC-коэффициентов в каждом подблоке в 40 отсчетов обеспечивает вычисление остатка обработки сигнала.
Далее стандарт iLBC рекомендует использование взвешивающего фильтра, учитывающего восприятие речевой информации, для каждого подблока:
W (z) = 1/Ak(z/0,4222). |
(16.39) |
При кодировании начального положения исходно отводится 6 битов на блок и 3 бита — на подблоки во взвешенной речевой области. Производится поиск 2 подблоков наибольшей мощности с применением взвешивающих коэффициентов {0,9 1,0 0,9} для блоков длительностью 20 мс и {0,8 0,9 1,0 0,9 0,8} для блоков длительностью 30 мс.
Положение 2 подблоков наибольшей мощности при интервале в 20 мс кодируется двумя битами – индексы 1, 2 и 3 (0- и 1-; 1- и 2-; 2- и 3-подблоки соответственно), а на интервале 30 мс — тремя битами — индексы 1, 2, 3, 4, 5 (0- и 1-; 1- и 2-; 2- и 3-; 3-и 4-; 4- и 5-подблоки соответственно). Для того чтобы сократить оценку начального состояния, вычисление производится, исключая 57 отсчетов для блоков в 20 мс и 58 отсчетов для блоков в 30 мс. Для определения, какой из отчетов 57/58 используется, отводится 1 бит.
Вычисление мощности осуществляется следующим образом:
–сначала вычисляется мощность первых 23/22 отсчетов (путем суммирования квадратов их величин) и последних 23/22 отсчетов;
–затем значение меньшей из этих двух величин отбрасывается.
Блок остаточных LPC коэффициентов подвергается фильтрации и квантованию. Фильтрация с применением фазодисперсионного фильтра осуществляется с целью сглаживания распределения величин отсчетов в остаточном сигнале. Фильтрация осуществляется циклической сверткой при начальной инициализа-
ции, равной нулю. Z-характеристика фильтра: |
|
||
|
ˆ |
ˆ |
(16.40) |
|
P k(z) = Akr(z)/Ak(z), |
||
где Akrˆ (z) = z−M + |
M−1 |
|
|
! akˆ (m) · zm−(M−1). |
|
|
|
m=0
Из сформированного блока находится отсчет с максимальным значением, десятичный логарифм которого преобразуется 6-битовым квантователем до ближайшей величины qmax. Все остальные отсчеты нормализуются и сравниваются со шкалой с дискретностью 4,5 · 10−qmax .
Нормализованные отсчеты преобразуются взвешивающим фильтром, учитывающим восприятие звуковой информации, подвергаются ДИКМ и скалярно квантуются.
Последовательность отсчетов в блоке фильтруется с использованием фильтра с характеристикой W k(z), формируя взвешенные отсчеты x[n]. Затем из этих отсчетов вычитаются предсказанные значения y[n], формируемые в цепи обратной
