Работаем по всей России
Часы работы: Пн-Пт, 10:00-22:00
+7 ()
Обратный звонок

ГОСТ Р 53556.3-2012 Звуковое вещание цифровое. Кодирование сигналов звукового вещания с сокращением избыточности для передачи по цифровым каналам связи. Часть 3 (MPEG-4 audio). Кодирование речевых сигналов с использованием линейного предсказания — CELP

Получить консультацию специалиста

Ошибка: Контактная форма не найдена.

Оставляя заявку, вы соглашаетесь с пользовательским соглашением

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТ Р 53556.3— 2012

Звуковое вещание цифровое

КОДИРОВАНИЕ СИГНАЛОВ ЗВУКОВОГО ВЕЩАНИЯ С СОКРАЩЕНИЕМ ИЗБЫТОЧНОСТИ ДЛЯ ПЕРЕДАЧИ ПО ЦИФРОВЫМ КАНАЛАМ СВЯЗИ

Кодирование речевых сигналов с использованием линейного предсказания — CELP

Часть 3

(MPEG-4 AUDIO)

ISO/IEC 14496-3:2009 (NEQ)

Издание официальное

етиотртенфчвм

2014

ГОСТ Р 53556.3—2012

Предисловие

1 РАЗРАБОТАН Санкт-Петербургским филиалом Центрального научно-исследовательского института связи «Ленинградское отделение» (ФГУП ЛО ЦНИИС)

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 480 «Связь»

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 20 ноября 2012 г. Ns 942-от

4 Настоящий стандарт разработан с учетом основных нормативах положений международного стандарта ИСО/МЭК 14496-3:2009 «Информационные технологии. Кодирование аудиовизуальных объектов. Часть 3. Аудио» (ISO/IEC 14496-3:2009 «Information technology — Coding of audio-visual objects — Part 3: Audio») [1)

5 ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в ГОСТР1.0—2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты». а официальный текст изменении и поправок—в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячно издаваемом информационном указателе «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования—на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (gostru)

© Сгандартинформ. 2014

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

ГОСТ Р 53556.3—>2012

Содержание

1 Область применения………… …………………… 1

1.1 Общее описание декодера CELP………………………….. 1

1.2 Функциональные возможности MPEG-4 CELP………………….. 1

2 Термины и определения………………….

3 Синтаксис потока бит……………… …

3.1 Тип объекта CELP………………….

3.2 Тип объекта ER-CELP…………………

4 Семантики……………………….

4.1 Семантики заголовка………………….

4.2 Семантика фрейма………………….

5 Инструменты декодера MPEG-4 CELP……………

5.1 Введение в набор инструментов декодера CELP MPEG-4 . . .

5.2 Конфигурация масштабируемого AAC/CELP……….

5.3 Переменные помощи………………….

5.4 Элементы потока бит для набора инструментов MPEG-4 CELP

5.5 Демультиплексор потока бит CELP……………

5.6 Декодер CELP LPC и интерполятор…………..

5.7 Генератор возбуждения CELP……………..

5.8 Фильтр синтеза CELP LPC……………….

5.9 Инструмент сжатия тишины CELP……………

Приложение А (справочное) Инструменты декодера MPEG-4 CELP .

Приложение В (справочное) Инструменты кодера MPEG-4 CELP………………. 71

Библиография……………………………………. 96

II

ГОСТ Р 53556.3—2012

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Звуковое вещание цифровое КОДИРОВАНИЕ СИГНАЛОВ ЗВУКОВОГО ВЕЩАНИЯ С СОКРАЩЕНИЕМ ИЗБЫТОЧНОСТИ ДЛЯ ПЕРЕДАЧИ ПО ЦИФРОВЫМ КАНАЛАМ СВЯЗИ Ч а ст ь 3 (MPEG-4 AUDIO)

Кодирование речевых сигналов с использованием линейного предсказания — CELP

Sound broadcasting digital. Coding of signals of sound broadcasting with reduction of redundancy for transfer on digital communication channels. Part 3 (MPEG-4 audio). Code excited linear prectiction

Дата введения — 2013—09—01

1 Область применения

1.1 Общее описание декодера CELP

Здесь дается краткий обзор декодера CELP (Code Excited Linear Prediction (Линейное предсказание с кодированием)).

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

1.2 Функциональные возможности МРЕ<5~4 CELP

MPEG-4 CELP представляет собой универсальный алгоритм кодирования с новыми функциональными возможностями. Обы**4ые кодеры CELP предлагают сжатие при одной битовой скорости и оптимизированы для определении приложена. Сжатие является домой из футео^й. предоставленных CELP MPEG-4. позволяющей использовать один базовый кодер для различных приложений. Это обеспечивает масштабируемость по битовой скорости и полосе пропускания, а также возможность генерировать потоки бит с произвольной битовой скоростью. Кодер CELP MPEG-4 поддерживает две частоты дискретизации, а именно 8 и 16 кГц. Соответствующие полосы пропускания равны 100—3400 Гц для частоты дискретизации 8 кГц и 50— 7000 Гц для частоты дискретизации 16 кГц. Кроме того, заново приняты сжатие молчание и переупорядочение эластичного потока бит ошибок.

1.2.1 Конфигурация кодера CELP MPEG-4

Чтобы генерировать сигнал возбуждения, могут использоваться два различных инструмента. Это инструмент МиШ-Pulse Excitation (Мультиимпульсное возбуждение) (МРЕ) или инструмент Reguiar-Putse Excitation (Возбуждение регулярным импульсом) (RPE). МРЕ используется для дискретизации речи на частотах 8 кГц или 16 кГц. RPE используется только для дискретизации на частоте 16 кГц. Два возможных режима кодирования сведены в таблице 1.

Издание официальное

1

ГОСТ Р 53556.3—2012

Таблица 1 — Режим* кодирования в кодере CELP MPEG-4

Режим кодирован**

Инструмент возбуждения

Частота дискретизации

1

RPE

16 кГц

1

UPE

8.16 кГц

1.2.2 Особенности кодера CELP MPEG-4

Кодер CELP MPEG-4 предлагает следующие функциональные возможности в зависимости от режима кодирования (см. таблицу 2).

Таблица 2 — Функциональные возможности кодера CELP MPEG-4

Режим кодирования

Функциональноете

1

Несколько битовых скоростей, управление RneRate

1

Несколько битовых скоростей, масштабируемость битовой скорости, масштабируемость полосы пропускания, управление FineRate

Для обоих режимов кодирования доступны сжатие молчания и переупорядочение эласпемого потока битошибок.

Доступные битовые скорости зависят от режима кодирования и частоты дискретизации. Поддерживаются следующие фиксированные битовые скорости (см. таблицы 3.4).

Таблица 3 — Фиксирование битовые скорости для режима I кодера

Битовые скорости для частоты дискретизации 16кГц.битУс

14400. 16000. 18667. 22533

Таблица 4 — Фиксировав те битовые скорости для режима II кодера

Битовые скорости дпя частоты дискретизации В кГц (бят/с)

Битовые скорости для частоты дискретизации 16 кГц (бмт/с>

3850. 4250. 4650. 4900. 5200. 5500. 5700. 6000. 6200. 6300. 6600. 6900. 7100. 7300. 7700. 8300. 8700. 9100. 9500. 9900. 10300. 10500. 10700. 11000. 11400. 11800. 12000. 12200

10900. 11500. 12100. 12700. 13300. 13900. 14300. 14700. 15900. 17100. 17900. 18700. 19500. 20300. 21100. 13600. 14200. 14800. 15400. 16000. 16600. 17000. 17400. 18600. 19800. 20600. 21400. 22200. 23000. 23800

Во время неактивных фреймов используется инструмент сжатия тишины и кодер CELP работает на битовых скоростях, показанных в таблице 5. Битовая скорость зависит от режима кодирования, частоты дискретизации и длины фрейма.

Таблица 5 — Битовые скорости для инструмента сжатия тииыны

Реяли

кодирования

Частота

взятии

выборок. кГц

Масштабируемое? * ширины полосы

Длина фрейма

Битовая скорость. бит>с

ТХ_Яад

HD-SID

LR-SID

l(RPE)

16

15

133

2533

400

10

200

3800

600

II (МРЕ)

8

On. Off

40

50

525

150

30

67

700

200

20

100

1050

300

10

200

2100

600

2

ГОСТ Р 53556.3—2012

Окончание таблицы 5

Рем* и

код и ремни я

Частота •тяти* амборок. кГц

Мгсштабируемос?» ширины полосы

Длина фрейма

Битовая скорость, бит/с

TXJiag

HD-SID

LR-SID

16

0#

20

100

1900

300

10

200

3600

600

Ол

40

50

1050

150

30

67

1400

200

20

100

2100

300

10

200

4200

600

Управление скоростью; обеспечивает управление битовой скоростью малыми шажками (давая возможность работать на варьируемой битовой скорости). Это достигается только за счет управления скоростью передачи параметров LPC, используя комбинации двух элементов потока бит interpolation_flag и флажок LPC_prasent. Для изменения отношения фреймов LPC к общему числу фреймов между 50 % и 100 % можно использовать управление FrieRate. Это позволяет уменьшить битовую скорость относктегъно битовой скорости привязки, как определено в семантике.

Масштабируемость битовой скорости обеспечивается добавлением уровней расширения. Уровни расширения могут быть добавлены с шагом 2000 бит/с для сигналов, дискретизированных с частотой 8 кГц или 4000 бит/с для сигналов, дискретизированных на 16 кГц. С любой битовой скоростью, выбранной из таблицы 4. можно объединить максимум три уровня расширения.

Масштабируемость полосы пропускания с охватом обеих частот дискретизации достигнута включением инструмента расширения полосы пропускания в кодере CELP. Это инструмент расширения, поддерживаемый в Режиме II. который может быть добавлен, если требуется масштабирование с переходом от частоты дискретизации 8 кГц к частоте дискретизации 16 кГц. Полный кодер с масштабируемостью полосы пропускания состоит из основного кодера CELP для частоты дискретизации 8 кГц и инструмента расширения полосы пропускания для обеспечения одного уровня масштабируемости. Основной кодер CELP для частоты дискретизации 8 кГц может включить несколько уровней. Кодер частоты дискретизации 8 кГц с этим инструментом отличается от кодера частоты дискретизации 16 кГц. Обе конфигурации (кодер частоты дискретизации 8 кГц с масштабируемостью полосы пропускания и кодер частоты дискретизации 16 кГц) предлагают большую ясность и естественность декодированной речи, чем дает один только кодер 8 кГц. потому что они разворачивают полосу пропускания до 7 кГц. Дополнительная битовая скорость, требующаяся для инструмента масштабируемости полосы пропускания, может быть выбрана из четырех дискретных шагов для каждой битовой скорости основного уровня, как показано в таблице 6.

Таблица 6 — Битовые скорости для режима масштабируемой полосы пропускания

Битовая скорость основного уровня, бит/с

Дополнительная битовая скорость, бит/с

3850 — 4650

+9200. +10400. +11600. +12400

4900 — 5500

+9467. +10667. +11867, +12667

5700 — 10700

+10000. +11200. +12400. +13200

11000— 12200

+11600. +12800. +14000. +14800

Инструмент сжатия тишины может использоваться, чтобы уменьшить битовую скорость для входных сигналов с небольшой голосовой активностью. В течение таких неактивных периодов декодер заменяет регулярный сигнал возбуждения искусственно сгенерированным шумом. Для периодов голосовой активности всегда используется регулярный процесс синтеза речи. Инструмент сжатия тишины доступен, когда используется тип объекта ER-CELP.

Переупорядочение эластичного потока бит ошибок позволяет эффективно использовать усовершенствованные техники кодироваться канала как неравномерная защита от ошибок (JEP). Основная идея состоит в том. чтобы перестроить контент звукового фрейма в зависимости от его чувствительности кошиб-

3

ГОСТ Р 53556.3—2012

кам в одном или более случаях, принадлежащих различным категориям чувствительности к ошибкам {ESC). Эта перестановка воздействует на данные поэлементно или даже поразрядно. Фрейм эластичного потока бит ошибок строится, связывая эти случаи. Эти функциональные возможности доступны, когда используется тип объекта ER-CELP.

1.2.3 Алгоритмическая задержка режимов CELP MPEG-4

Алгоритмическая задержка кодера CELP исходит из длины фрейма и длины дополнительного пред» видения. Длина фрейма зависит от режима кодирования и битовой скорости. Длина предвидения, которая является информативным параметром, также зависит от режима кодирования. Задержки, представленные ниже, применимы к режимам, где управление FineRate Control выключено (см. таблицы 7. 8. 9). Когда управление FineRate Control включено, вносится дополнительная задержка на один фрейм. Масштабируемость полосы пропускания в кодере режима II требует дополнительного предвидения на 5 мс из-за суб-дискретизации.

Таблица 7 — Задержка и длит фрейма для кодера режима I частоты дискретизации 16 кГц

Битом* скорость для режима 1. бят/с

Задержка, мс

Длина фрейма, мс

14400

26.25

15

16000

18.75

10

18667

26.56

15

22533

26.75

15

Таблица 8 — Задержка и длина фрейма для кодера режима II частоты дискретизации в кГц

Битовая скорость для режима II. 6ит<с

Задержка, мс

Длина фрейма, мс

3850. 4250. 4650

45

40

4900. 5200. 5500. 6200

35

30

5700. 6000. 6300. 6600. 6900. 7100. 7300. 7700. 8300. 8700. 9100. 9500. 9900. 10300. 10500. 10700

25

20

11000. 11400. 11800. 12000. 12200

15

10

Таблица 9 — Задержка и длина фрейма для кодера режима К частоты дискретизации

Битом* скорость для режима II. бит/с

Задержка, мс

Длина фрейма, мс

10900. 11500. 12100. 12700. 13300. 13S00. 14300.14700. 15900. 17100. 17900. 18700. 19500. 20300. 21100

25

20

13600. 14200. 14800. 15400. 16000. 16600. 17000.17400. 18600. 19600. 20600. 21400. 22200. 23000. 23800

15

10

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

2 Термины и определения

Термины и определения в соответствии с ГОСТ Р 53556.0-2009

4

ГОСТ Р 53556.3—>2012

3 Синтаксис потока бит

3.1 Тип объекта CELP

3.1.1 Синтаксис заголовка

CelpSpecificConfig о

Для типа объекта CELP требуется следующий CelpSpedficConfig () (см. таблицы 10.11.12)

Таблица 10 — Синтаксис CelpSpedbcConfig ()

Синтаксис

Количество

битое

Мнемосхема

CelpSpecibcConfig (uint(4) sampKngFrequencytndex) {

isBaseLayer if (isBaseLayer)

{

CeipHeader (samphngFrequencylndex):

}

else

{

isBWSLayer if (isBWSLayer)

{

CelpBWSenhHeader 0:

}

else

{

1

uimsbf

CELP-BRS-td:uimcbf

}

}

}

2

uimsbf

Таблица 11 — Сжтаксис CelpHeader 0

Синтаксис

Количество

битое

Мнемосхема

CeipHeader (samphngFrequencylndex) /

>

ExatabonMode:

1

ияпсЫ

SampleRateMode:

1

ияпсЫ

FineRateControt

1

ияпсЫ

if (ExatabonMode == RPE) {

RPE Configuration:

}

if (ExatabonMode == MPE) {

3

ияпсЫ

MPE_Configurabon:

5

ияпсЫ

NumEohLayers:

2

ияпсЫ

BandwidthScalabiMyMode:

}

}

1

ияпсЫ

Таблица 12 — Синтаксис CeipBWSenhHeader ()

Синтаксис

Количество

битое

Мнемосхема

CelpBWSenhHeader 0

{

BWS_conrtgurabon:

2

ияпсЫ

5

ГОСТ Р 53556.3—2012

3.1.2 Синтаксис фрейма Передача потоков бит CELP

Каждый уровень потока бит аудио CELP MPEG-4 передается а элементарном потоке. В sPacketPayioad должны быть включены следующие динамические данные для Аудио CELP:

Базовый уровень CELP—полезная нагрузка модуля доступа

sIPacketPaytoad

{

CeipBaseFrame ():

}

Уровень расширения CELP—полезная нагрузка модуля доступа

Чтобы анализировать и декодировать уровень расширения CELP. требуется информация, декодированная из базового уровня CELP. Для масштабируемого режима битовой скорости должны быть включены следующие данные для уровня расширения CELP: sIPacketPaytoad {

CelpBRSenhFrame Q;

}

Для масштабируемого режима полосы пропускания должны быть включены следующие данные для уровня расширения CELP. slPacketPayioad {

CelpB WSenhFrama Q:

)

8 случае, если масштабирование битовой скорости и масштабирование полосы пропускания используются одновременно, сначала должны быть переданы все уровни расширения битовой скорости, а затем уровень масштабируемости полосы пропускания (см. таблицы 13.14.15.16.17.18.19.20)

Таблица 13 — Синтаксис CelpBaseFrame 0

Синтаксис

Количество

битое

Мнемосхема

CotpBasoFramof)

{

Calp LPCO:

if (ExcitationMode = UPE) {

MPE framed;

}

if ((ExatationMode==RPE) && (Samp/eRatoMode— 16кГц|) { RPE frwnefl:

}

}

Таблица 14 — Синтаксис CeJpBRSenbFrame ()

Синтаксис

Количество

битое

Мнемосхема

CelpBRSenhFrame{)

{

for (subframe = 0: subframe < nrof_subframes: subframe**) { sbape_enh_posibons [subframe][enh_layer]; sbape_enh_signs [subframejfenhjayerf: gain enh index (subframe][enh layer];

}

}

4. 12 2,4 4

uimcbf

uimcbf

uimcbf

6

ГОСТ Р 53556.3—>2012

Таблица 15 — Синтаксис CelpBWSenhFrame 0

СИКТЭКСИС

Количество

Мнемосхема

битов

CelpBWSenhFrame()

{

BandScalabte_LSP()

for (subframe=C: subframe<nrof subframe bws: subframe**)

{

sbape_bws_delay (subframe):

sbape_bws_positbns (subframe):

3

uimcbf

sbape_bws_sjgns (subframe):

22. 26. 30. 32

uimcbf

gain bws ndex /subframe/.

6.6. 10. 12

uimcbf

}

11

uimcbf

}

3.1.2.1 Синтаксис LPC

Таблица 16 — С**-1таксис Ceip_LPC ()

Синтаксис

Количество

битое

Мнемосхема

Cefp LPC()

{

if (FneRaieControi — ON){ mterpofabon_Bag:

1

uimcbf

LPC Present

1

uimcbf

if (LPC Present == YES) { LSP VQO:

}

}else{

LSP VQ()

>

}

Таблица 17 — Стмтаксис LSP.VQQ

Синтаксис

Количество

битов

Мнемосхема

LSP VQO {

if (SampieRataUode == бкГц) / Narrow8and_ LSPO: )etse{

WtieBand LSP():

}

}

Таблица 18 — Синтаксис NarmwBand_LSP 0

Синтаксис

Количество

битов

Мнемосхема

NarrowBand LSP()

{

lpc_rxtces (0):

4

uimcbf

lpc_ndices [1J:

4

uimcbf

Ipc ndices [2$

7

uimcbf

ipcjntces (3):

6

uimcbf

Ipc indices (4):

1

uimcbf

}

7

ГОСТ Р 53556.3—2012

Таблица 19 — Синтаксис BandScaiabto_LSP {)

СяКТаКСИС

Количество

битов

Мнемосхема

BandScaiable LSP() {

tpc_rxOcss [Sf:

4

uimcbf

Ipcjndices [6):

7

uimcbf

lpc_rx*ces [7J:

4

uimcbf

lpc_rKtces /8/.

6

uimcbf

tpc_rxHces /9/:

7

uimcbf

Ipc indices [10}:

4

uimcbf

}

Таблица 20 — Синтаксис Wide8and_LSP 0

Синтаксис

Количество

битое

Мнемосхема

WideBend_LSPQ

>

/pc_«*ces /D)

5

итгтгсД/

be indices (H

5

uimcbf

lpc_indices /2j

7

uimcbf

toe indices (3j

7

uimcbf

/pc_«fces [4\

1

uimcbf

toe indices fSI

4

uimcbf

/pc_«fces /6j

4

uimcbf

toe indices [7l

7

uimcbf

toc.indces /8j

5

uimcbf

toc.indces /9J

1

uimcbf

}

3.122 Синтаксис возбуждения (см. таблицы 21.22)

Таблица 21 — Синтаксис RPEJrame ()

Синтаксис

Количество

бито*

Мнемосхема

RPE framed {

for (subframe = 0: subframe < rrof subframes: subframe**)

{

shape_defay [subframe):

8

uimcbf

shape_index /subframe/;

11

uimcbf

gauvndices /0}[subframe}:

12

uimcbf

gammdices [1][subframe}:

}

6.3.5

uimcbf

Таблица 22 — СинтаксисMPEJframe()

Синтаксис

Количество

битое

Мнемосхема

MPE framed {

signai_mode:

2

uimcbf

mejndex:

for (subframe = 0: subframe < nmf subframes: subframe**)

б

uimcbf

{

8.9

uimcbf

в

ГОСТ Р 53556.3—>2012

Окончание таблицы 22

СИНТЭХСИС

Количество

битов

Мнемосхема

shape_detay {subframe}: shapeposibons [subframe]: shapesigns [subframe]: gamindex (subframe):

}

}

14

323… 12 6.7

uimcbf

uimcbf

uimcbf

3.2 Тип объекта ER-CELP

3.2.1 Синтаксис заголовка

EnorRosihontColpSpoaficConfig {)

Для типа объекта ER-CELP требуется следующим ErrorR&siltentCefpSpedficConfig 0 (си. таблицы 23.24).

Таблица 23 — Синтаксис ErmrRestbenlCeipSpecificCcnfig ()

Синтахсис

Количество

битое

Мнемосхема

ErrorResrbentCetpSpedficConfig (шЛ(4) samptngFrequencylndex) {

isBaseLayer. if (isBaseLayer)

{

ER SC CeipHeader (sampbngFrequencyindex):

>

Else

{

isBWSLayen i (rsBWSLayer)

{

CelpBWSenhHeader ():

}

else

{

1

uimcbf

1

uimcbf

CELP-BRS-id:

}

>

}

2

uimcbf

Таблица 24— СинтаксисER_SC_CeipHeader{)

Синтаксис

Количество

Мнемосхема

битое

ER SC CeipHeader (samptngFrequencylndex) {

ExdtabonMode:

1

uimcbf

SampieRateMode:

1

uimcbf

FineRateContmt:

1

uimcbf

SfenceCompresston; if (ExdtabonMode == RPE) {

1

uimcbf

RPE Configuration. if (ExatationMode == MPE) {

3

uimcbf

uimcbf

MPE_Configuration;

5

uimcbf

NumEnhLayers;

2

uimcbf

BandwidthScalabibtyMode:

}

)

1

9

ГОСТ Р 53556.3—2012

3.2.2 Синтаксис фрейма

Чтобы описать чувствительность к ошибке в символе элементов потока бит. введены категории чувствительности к ошибкам (ESC). Чтобы описать отдельные биты элементов, используется следующая система обозначений.

Усиление, х—у

Обозначает усиление элемента от бита х до бита у, в силу чего сначала передается х. Младший бит LSB — нулевой бит и МСВ элемента, который состоит из N бит равен N-1. МСВ всегда первый бит в потоке бит.

Следующий синтаксис является заменой для CeipBaseFrame. Синтаксис для уровня расширения для масштабируемости битовой скорости и полосы пропускания не затронут.

Передача потоков бит CELP

Данные полезной нагрузки для объекта CELP ER передаются как полезная нагрузка sIPacketPayioad в базовом уровне и опционном уровне расширения Elementary Stream (элементарный поток).

Базовый уровень эластичного CELP ошибок — полезная нагрузка модуля доступа

sIPacketPayioad

{

ER__SC_CeipBaseFrame 0;

)

Уровень расширения эластичного CELP ошибок — полезная нагрузка модуля доступа.

Чтобы анализировать и декодировать уровни расширения эластичного CELP ошибок, требуется декодированная информация из базового уровня эластичного CELP ошибок. Для режима масштабируемой битовой скорости должны быть включены следующие данные для уровней расширения эластичного CELP ошибок:

sIPacketPayioad

{

ER_SC_CeipBRSenhFrame 0;

Для режима масштабируемой полосы пропускания должны быть включены следующие данные для уровня расширения эластичного CELP ошибок: sIPacketPayioad {

ER SC^CeipBWSenhFrame 0;

}

3.2.2.1 Базовый уровень CELP (см. таблицы 25.26,27)

Таблица 25 — Синтаксис ER_SC_CelpBaseFrame ()

Синтаксис

Количество

битое

Мнемосхема

ER SC CelpBaseFrameO {

if (SSenceCompression = OFF) { ER_CelpBaseFrame{): }else{

SC VokxActivity ESC0(); if(TX_Rag = 1) {

ER CelpBaseFrameO-}etseif(TX Rag == 2) {

SID LSP VО ESC0(): SID Frame ESC0(): ;efce/ff7X Rag == 3) {

5Ю Frame ESC0():

}

}

}

10

ГОСТ Р 53556.3—>2012

Таблица 26 — С*мтахсисSC_Vo>csActmty_ESCO()

Синтаксис

Количество

битов

Мнемосхема

SC VdcaAdmty ESC0()

{

ТХ flag;

2

uimcbf

}

Таблица 27 — Синтаксис ER_CalpBaseFrame {)

Синтаксис

Количество

битов

Мнемосхема

ER CefpBaseFramef)

{

4 (ExcdabonModa ~ МРЕ) {

if (SampieRateMode == 8кГц) {

МРЕ NarrowBand ESCOQ:

МРЕ NarrowBand ESC1():

МРЕ NarrowBand ESC2Q:

МРЕ NarrowBand ESC3():

МРЕ NarrowBand ESC4Q:

}

if (SampfeRat&Mode == f бкГц) {

МРЕ WidaBand ESC0();

UPE WidaBand ESC IQ:

MPE WidaBand ESC2Q:

UPE WidaBand ESC3Q;

UPE WidaBand ESC4Q;

}

}

if ((ExatadonModa == RPE) && (SanpteRateMode = 16хГи)) { RPE WidaBand ESCOQ:

RPE WidaBand ESC1Q:

RPE WidaBand ESC2Q:

RPE_WideBand_ESC30; rpe WidaBand ESG4{):

}:

}

3.2.2.1.1 Синтаксис уэкополооюго МРЕ (см. таблицы 28.29.30.31.32)

Таблица 28 — СинтаксисMPE_NarrowBand_ESCOQ

Синтаксис

Количество

Мнемосхема

битов

МРЕ NarrowBand ESCOQ {

if (FmeRateCortrol == ON) {

irrterpolaOon_flag;

1

uimcbf

LPC Present

1

uimcbf

}

ntc_index. 5-4:

for (subframe = 0: subframe < nrof subframes.

2

uimcbf

subframe**) {

shape delayfsubframe}. 7;

}

}

1

uimcbf

11

ГОСТ Р 53556.3—2012

Таблица 29 — СинтаксисMPE_NarrowBand_ESC1 0

Синтаксис

Количество

битов

Мнеыосхеыа

МРЕ NarrowBand ESC1 0 {

if (FmeRaieControl == ОМ) { i (LPC_Present == YES) {

!pc_tndces (0). 1-0;

2

uimcbf

Ipc m&ces (1}. 0: }else{

1

uimcbf

lpc_indices fO). 1-0:

2

uimcbf

Ipc indices /fJL 0:

}

signal mode;

for (subframe = 0: subframe < nrof_subframes: subframe**) {

1

uimcbf

2

uimcbf

shape deiaylsubframe}. 6-5;

}

}

2

uimcbf

Таблица 30 — СинтаксисMPE_NarrowBand_ESC20

Синтаксис

Количество

битое

Мнемосхема

MPE NarrowBand ESC2()

{

if (FneRaieContml == ON) { / (LPC_Present == YES) { $>c_irKtces (2). &

1

uimcbf

lpc_fndces (2). 0:

1

uimcbf

4>c irxbces {4}:

}

}eise{

IpcJnOces [2J. 6:

1

uimcbf

1

uimcbf

Ipc indices [2], 0:

1

uimcbf

Ipc indices (4):

>

лис index. 3

1

uimcbf

1

uimcbf

for (subframe = 0: subframe < nmf subframes: subframe**)

{

2

uimcbf

shape_detaylsubframe}. 4-3:

2

uimcbf

gain indexfsubframe). 1-0:

>

}

Таблица 31 — Синтаксис MPE_NarrowBand_ESC3 0

Синтаксис

Количество

битое

Маеыосхема

MPE NarrowBand ESC3()

{

if (FneRaleConfml = OM){ / (LPC_Present = YES) { Ipc indees (0/. 3-2:

2

uimcbf

t>c inrtces [1}. 2-1:

2

uimcbf

Ipc intfees /2/. 5-1.

5

uimcbf

}

}efse{

12

ГОСТ Р 53556.3—>2012

Окончание таблицы 31

СвКТЭХСИС

Количество

битов

Мнемосхеме

lpc_indices fO). 3-2:

2

uimcbf

lpc_indices (1). 2-1:

2

штсЫ

Ipc indices [2). 5-1:

}

for (subframe = 0: subframe < nrof_subframes:

5

uimcbf

subframe++) {

3

uimcbf

shape_deiay}subframe}. 2-0:

3.. 12

uimcbf

shape signsfsubframe}: рам indexfsubframe}. 2:

}

}

1

uimcbf

Таблица 32 — Синтаксис MPE_NarrowBand_ESC4 0

Синтаксис

Количество

битое

Мнемосхеме

MPE NarrowBand ESC4()

{

if (FneRateContml == ON) { if (LPC_Present == YES) {

lpc_in&ces (1]. 3:

1

uimcbf

Ipc indces (3):

}

}eise{

б

uimcbf

Ipc «ndi’ces 11}. 3:

1

uimcbf

Ipc indices (3f.

}

mcjndex. 2-0

for (subframe = 0: subframe < nrof_subframes: subframe**) {

б

uimcbf

3

uimcbf

shape posibonsfsubframe}:

13… 32

uimcbf

gain indexfsubframe}. 5-3;

}

}

3

uimcbf

3.2.2.1.2 Широкополосный синтаксис МРЕ (см. таблицы 33.34.35.36.37)

Таблица 33 — Стгаксис MPE_WideBand_ESCO ()

Синтахсис

Количество

битое

Мнемосхеме

MPE WideBand ESC0()

{

if (FneRateContml == ON) {

interpolation flag:

1

uimcbf

LPC Present

1

uimcbf

if (LPC_Presenl == YES) {

tpcjnrices [0}:

5

uimcbf

lpc_indices fl}. 1-0:

2

uimcbf

ipcJndKes (2}. 6:

1

uimcbf

lpc_indces (2]. 4-0:

5

uimcbf

tpcJndKes [4):

1

uimcbf

tpc indices [5]. 0:

}

}etse{

1

uimcbf

tpc_mdices fO):

5

uimcbf

13

ГОСТ Р 53556.3—2012

Окончание таблицы 33

Синтаксис

Количество

битов

Мнеыосхеиа

lpc_indices pj. 1-0:

2

uimcbf

lpc_mdices PJ. б;

1

uimcbf

lpc_mdices py 4-0:

5

uimcbf

lpc_mdices (4);

1

uimcbf

Ipc indices /5}. 0:

1

uimcbf

}

rue index. 4-5 :

2

uimcbf

}

Таблица 34 — С*мтаксисMPE_WkfeBand_ESC-\ (}

Синтаксис

Количество

битое

Ыиеыосяема

MPE WkJeBand ESC1Q {

if (FneRateControi == ON) { f(LPC_Present == YES) {

t>cjn&ces pj. 3-2:

2

uimcbf

lpc_fndces p\. 5;

1

uimcbf

4>c indees [5}. 1:

1

uimcbf

Ipcjndces /6/. 1-0:

2

uimcbf

у

}else{

Ipc indices pj, 3-2:

2

uimcbf

lpc_indices pj. 5:

1

uimcbf

lpc_indices PI 1:

1

uimcbf

Ipc indices pj. 1-0:

>

signal mode:

2

uimcbf

2

uimcbf

for (subframe = 0; subframe < nrof_subframes; subframe**) {

shape deiayfsubframe]. 8-6:

3

uimcbf

>

)

Таблица 35 — Сттаксис MPE_WxieBand_ESC2 ()

Синтаксис

Количество

битое

Uxeuocxewe

MPE WideBand ESC2()

{

if (FneRateContml == ON) { i (LPC_Present == YES) {

^>c_indces pj. 4:

1

uimcbf

frc_indcss pj. 6.

1

uimcbf

t>c_in<*ces PJ. 1:

1

uimcbf

lpc_indces f5J. 2:

1

uimcbf

pc_indces (6J. 3l

1

uimcbf

t>c_indces pj. 6:

1

uimcbf

t>c_indces pj. 4:

1

uimcbf

bejndees pj. 1-0:

2

uimcbf

pc indices (9}:

}

feisef

1

uimcbf

Ipc indices pj. 4:

1

uimcbf

Ipcjndices PJ. 6:

1

uimcbf

14

ГОСТ Р 53556.3—>2012

Окончание таблицы 35

Синтаксис

Количество

битов

Миемосхена

ipc_mdices [3], 1:

1

uimcbf

lpc_indices (5). 2:

1

uimcbf

lpc_indices 16/, 3:

1

uimcbf

ipc_mdices [7], 6:

1

uimcbf

lpc_indices [7], 4;

1

uimcbf

lpc_indices [7J, 1-0:

2

uimcbf

ipc indices [9]:

}

rvcjndex. 3:

for (subframe = 0: subframe < nrof_subframes:

1

uimcbf

1

uimcbf

subframe**) {

2

uimcbf

sbape_detayfsubframe). 5-4; gain index]subframe}. 1-0:

}

}

2

uimcbf

Таблица 36 — Синтаксис МРЕ_ W>deBand_ESC3 ()

Синтаксис

Количество

битое

Uxcuocxewa

MPE VMeBand ESC3Q {

if (FneRateConbot == ON) { a (LPC_Present == YES) {

Ipcjndces {3}. 4-2:

3

uimcbf

Ipc Joyces [3}. 0:

1

uimcbf

lpc_kKSces (5}. 3L*

1

uimcbf

tpcjnrtces 16}. 2:

1

uimcbf

lpc_in<fces [7J. 5:

1

uimcbf

Ipcjnticss [7]. 3-2:

2

uimcbf

Ipc indces (8}. 4-1;

}

}else{

4

uimcbf

lpc_mdices [3}. 4-2

3

uimcbf

Ipcjndices [3]. 0:

1

uimcbf

ipc_mdices [5}. 3:

1

uimcbf

lpc_indiees [6]. 2:

1

uimcbf

lpc_indices [7], 5:

1

uimcbf

ipc_mdices [7]. 3-2

2

uimcbf

Ipc indices (8). 4-1:

}

for (subframe = 0: subframe < nrot_subframes; subframe**) {

4

uimcbf

shape_delayfsubframe). 3-2

2

uimcbf

shape signsfsubframe):

3… 12

uimcbf

gain indexfsubframe}. 2:

1

uimcbf

}

}

15

ГОСТ Р 53556.3—2012

Таблица 37 — Синтаксис MPE_WideBand_ESC4 ()

Синтаксис

Количество

битов

Мхеыосхемэ

МРЕ WideBand ESC4Q {

if (FmeRaieControl == ОМ) ( i (LPC_Present == YES) {

lpc_indces /3/. 5.

1

uimcbf

£c indces (8}. ft

;

}else{

1

uimcbf

lpc_indices [3]. 5:

1

uimcbf

Ipc indices [8]. ft

}

me Jndex. 2-0:

for (subframe = ft subframe < nrof_subframes: subframe**) {

1

uimcbf

3

uimcbf

shape_detayfsubframe], 1-0:

2

uimcbf

shape positons(subframe):

14 …32

uimcbf

gain indexfsubframe). 6-3:

}

}

4

uimcbf

3.2.2.1.3 Широкополосный синтаксис RPE {см. таблицы 38.39.40.41.42)

Т а б л и ц а 38 — Синтаксис RPE_WkteBand_ESCO ()

Синтаксис

Количество

битое

Ыиеыосяема

RPE WideBand ESCOQ {

if (FmeRateControi — ON){

interpolation flag:

1

uimcbf

LPC Present. f (LPC_Preseot == YES) {

1

uimcbf

Lpc_indces fOJ:

5

uimcbf

Ipcjndces 11}. 1-0:

2

uimcbf

tpc indees (2). ft

1

uimcbf

lpc_indces (21 4-0

5

uimcbf

fccjndces f4):

1

uimcbf

lpc_indces 15}. ft

1

uimcbf

у

}else{

Ipc indices [0):

5

uimcbf

lpc_indices }l}, 1-0:

2

uimcbf

lpc_indices [2], 6:

1

uimcbf

lpc_indices [2]. 4-0.

5

uimcbf

Ipc_indices {4J;

1

uimcbf

Ipc indices [5]. 0:

>

for (subframe = 0: subframe < nrof_subframes: subframe**) {

1

uimcbf

gam_indices(0][sobframe), 5-3: f (subframe — 0)(

3

uimcbf

gain_indces( TJfsubframe/. 4-3: }etse{

2

uimcbf

gam mdices[1J[subframe]. 2:

}

}

1

uimcbf

16

ГОСТ Р 53556.3—>2012

Таблица 39 — СинтаксисRPE_WideBand_ESC’\ ()

Синтаксис

Количество

битов

Мхеыосхемэ

RPE VMeBand ESC1 ()

{

if {Fry&RateContruf == ON) {

Я(LPC Present— YES){

lpc_kxtces (1}. 3-2:

2

uimcbf

fpcjn&ces (2/. 5;

1

uimcbf

fpcjntces 15}. 1:

1

uimcbf

Ipc ifKtces [6}. 1-0.

}

}else{

2

uimcbf

Ipc indices 11), 3-2

2

uimcbf

Ipc indices (2). 5:

1

uimcbf

Ipc indices [5). 1:

1

uimcbf

Ipc indices (6), 1-0:

{

for (subframe = 0: subframe < nmf subframes: subframe**) {

shape deiayfsubframe). 7-5:

}

}

2

uimcbf

3

uimcbf

Таблица 40 — Синтжсис RPE_WkteBand_ESC2 ()

Синтаксис

Количество

битое

Мнемосхема

RPE WideBand ESC2()

{

if (FneRaleContmi == ON) { в (LPC_Present == YES) { Ipc indices (1). 4:

1

uimcbf

tpcjndkes (3). 6:

1

uimcbf

fpcjt&ces (3). 1;

1

uimcbf

pc_fn<eces )bj, 2

1

uimcot

fpcJnAces (6). 3:

1

uimcbf

tpcjntbces (7). &

1

uimcbf

lpc_inctces [7], 4:

1

uimcbf

Ipcjndkes [7]. 1-0.:

2

uimcbf

Ipc inrtces (9):

}

}e!se{

1

uimcbf

Ipcjndices f1), 4 :

1

uimcbf

lpc_indices /3/. 6:

1

uimcbf

Ipcjndices {3}. 1:

1

uimcbf

lpc_indices [5}. 2:

1

uimcbf

Ipc indices /6/. 3:

1

uimcbf

lpc_mdices [7). 6:

1

uimcbf

lpc_indices f7J, 4:

1

uimcbf

Ipc indices (7). 1-0:

2

uimcbf

Ipc indices [9]:

}

for (subframe = 0: subframe < nmf subframes: subframe**)

1

uimcbf

{

2

uimcbf

shape_delayfsubframe). 4-3:

1

uimcbf

gam_mdicesfO][subframe). 2: в (subframe ~0){

1

uimcbf

17

ГОСТ Р 53556.3—2012

Окончание таблицы АО

Синтаксис

Количество

битов

Мнемосхема

gain_indices{1){subframe). Z’ }eise{

gain «frees/J //subframe/. 1:

}

}

}

1

uimcbf

Таблица 41— Синтаксис RPE_WxteBand_ESC3 ()

Синтаксис

Количество

битов

Мнемосхема

RPE WideBand ESC3()

{

if (FineRateControl — ON) { i (LPC_Prssent == YES) {

Ipcjndices PJ. 4-2:

3

uimcbf

Ipc (indices P), 0:

1

uimcbf

Ipcjndices /5/. 3:

1

uimcbf

Ipc indices (6]. 2:

1

uimcbf

lpc_indices [7], 5:

1

uimcbf

ipc indices pj, 3-2:

2

uimcbf

lpc_mdices /8/. 4-1:

4

uimcbf

}efse{

Ipc indices P). 4-2:

3

uimcbf

Ipcjndices /3/. 0:

1

uimcbf

Ipc indices /5/. 3:

1

uimcbf

Ipcjndices f6J. 2:

1

uimcbf

lpc_mdices P). 5:

1

uimcbf

Ipcjndices pj, 3-2:

2

uimcbf

Ipc indices /8/ 4-1:

}

for (subframe = 0: subframe < nrof subframes: subframe**)

4

uimcbf

{

2

uimcbf

shape delayfsubframe), 2-1;

}

}

Таблица 42— Синтаксис RPEJMdeBand_ESC4 ()

Синтаксис

Количество

битое

Мнемосхема

RPE WideBand ESC4()

{

H (FneRateContml == ON) {

I (LPC_Presen! == YES) {

Ipcjndices pj. 5:

1

uimcbf

t>c_«ndoes /8/. 0:

1

uimcbf

}efse{

lpc_mdices pj. 5:

1

uimcbf

ipc indices pj. 0:

}

for (subframe = 0; subframe < nrof_subframes; subframe**) {

1

uimcbf

shape_delayfsubframe). 0:

1

uimcbf

18

ГОСТ Р 53556.3—>2012

Окончание таблицы 42

СЯНТЭКСИС

Количество

битов

Мнемосхема

shape indexfsubframe):

11. 12

uimcbf

gam_indkes{0)[subframe]. 1-0: if (subframe — 0)(

2

uimcbf

gain_mdices{1}(subframe]. 1-0: } else {

2

uimcbf

gain mdicesf 1 HsubframeJ. 0:

}

}

}

1

uimcbf

3.2.22 Уровни расширения CELP (см. таблицы 43.44)

Таблица 43 — Синтаксис ER_SC_CelpBRSenhFrame 0

Синтаксис

Количество

битов

Мнемосхема

ER SC CetpBRSenhFrameO {

if (SHenceCompression == OFF) { CetpBRSenhFrame{).

}eise 1 (ТХ_Язд == 1){ Ceb>BRSenhFrame();

}

}

Таблица 44 — Синтаксис ER_SC_CetpBWSenhFrame Q

Синтаксис

Количество

битое

Мнемосхема

ER SC CetpBWSenhFrameO {

if (SHoncoCompression — OFF) { CebBWSenhFrameQ:

}etse{

ffTXJiag— 1){

CefpBWSanhFrame():

}

ff(TX Rag == 2) {

SID BandScaiabie LSP():

}

}

}

3.22.3 Элементы синтаксиса для неактивных фреймов (см. таблицы 45.46.47.48.49)

Таблица 45 — СинтаксисSiD_LSP_VQ_ESCO()

Синтаксис

Количество

битов

Мнемосхема

SID LSP VO ESCO0 {

if (SampieRateMode — 8кГц) { StD_NarrowBanc}_LSP(): }etse{

SID WideBand LSPf):)

}

}

19

ГОСТ Р 53556.3—2012

Таблица 46 — СинтаксисSID_NarmwBand_LSP0

Синтаксис

Количество

битов

Мнемосхема

SID NarmwBand LSP() {

SID Ipc inttces }0}:

4

Uimcbf

SID Ipc inttces 11]:

4

uimcbf

SID Ipc indices [2}

}

7

uimcbf

Таблица 47 — Синтаксис SID_BandScalabie_LSP 0

Синтаксис

Количество

битое

Мнемосхема

SID BandScalable LSP() {

SID Ipc inttces [3}:

4

uimcbf

SID_lpc_m<tces [4]:

7

uimcbf

SID Ipc inttces /5);

4

uimcbf

SID Ipc inttces /6}:

6

uimcbf

}

Таблица 48 — СинтаксисSID_WkteBand_LSP0

Синтаксис

Количество

битое

Мнемосхема

SID_ WkteBand_LSP()

SID Ipc inttces 10}

5

uimcbf

SID Ipc inttces {1}

5

uimcbf

SID Ipc inttces {2}

7

uimcbf

SID Ipc inttces 13}

7

uimcbf

SID Ipc inttces {4}

4

uimcbf

SID Ipc inttces IS}

4

uimcbf

}

Таблица 49 — Синтаксис SID_Frame_ESCO 0

Синтаксис

Количество

битое

Мнемосхема

SID Frame ESCO()

{

SID me index:

в

uimcbf

}

4 Семантики

Здесь описана семантика синтаксических элементов.

4.1 Семантики заголовка

isBaseLayer—однобитовый идентификатор, показывающий является ли соответствующий уровень базовым (1). либо уроеенем расширения масштабируемой полосы пропускания или масштабируемой битовой скорости (0).

isBWSLayer—однобитовый идентификатор, показывающий является ли соответствующий уровень уроеенем расширения масштабируемой полосы пропускания (1) или уроеенем расширения масштабируемой битовой скорости (0).

20

ГОСТ Р 53556.3—>2012

CELP-BRS-td—двухбитовый идентификатор, показывающий порядок уровней расширения масштабируемой битовой скорости, где у первого уровня расширения значение Т. Значение ТУ не должно использоваться

ExcitationMode — однобитовый идентификатор, показывающий используется ли инструмент Multi-Pulse Excitation игы инструмент Regular-Pulse Excitation (см. таблицу 50).

Таблица 50 — Описание режима ExcitationMode

Режим возбуждения

10 возбуждения

Описание

0

МРЕ

Инструмент МРЕ используется

1

RPE

Инструмент RPE используется

SampleRateMode—однобитовый идентификатор, показывающий частоту дискретизации. Поддерживаются две частоты дискретизации (см. таблицу 51).

Таблица 51 — Описание режима SampleRateMode

Режим

SampJeRe feJUode

Идентификатор

SamploRatcIO

Описание

0

в кГц

8 кГц Частота хмскреткзации

1

16 кГц

16 кГц Частота дискретизации

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

Таблица 52 — Описание FtneRateControl

Точное управление скорость» FineRat*Conlrol

Идентификатор управления скорость* Ra lo ConlroHO

Описание

0

OFF

То**юе управление скоростью отключено

1

UN

Точное управление ишриь.1ыи зеиутцепо

Управление FineRate Control позволяет уменьшать битовую скорость относительно ее битовой скорости привязки. Когда параметры LPC передаются в каждом фрейме, будет получена битовая скорость привязки. Самая низкая возможная битовая скорость для каждой конфигурации может быть получена, передавая параметры LPC в 50 % фреймов.

SilenceCompression — однобитовый идентификатор, показывающий, используется ли Silence Compression или нет.

SilenceCompression

StfenceCotnpressionlD

Описание

0

SCOFF

SilenceCompression отклонено

1

SC_ON

SilenceCompression задействовано

RPE_ Configuration — это 3-битовый идентификатор, который конфигурирует кодер MPEG-4 CELP. используя инструмент Regular-Pulse Excitation. Этот параметр непосредственно определяет набор разрешенных битовых скоростей (таблица 53) и число подфреймов во фрейме CELP (таблица 54).

21

ГОСТ Р 53556.3—2012

Таблица53 — Назначение скорости для кодера режима I на 16 кГц

ЯР£_ Configurator!

Фиксированная бмтовая скорость

Точная регулировка скорости выключена, бит/с

Минимальная битовая скорость

Точная регулировка скорости включена. S0% LPC. 6ят>с

Максимальная битовая скорость

Точная ретулнрояяа скорости вкяочена, 100% LPC. бит/с

0

14400

13000

14533

1

16000

13900

16200

2

16667

17267

18800

3

22533

21133

22667

4…7

Зарезервировано

МРЕ_СопЪдигэ1юп — это 5-битовое поле, которое конфигурирует кодер MPEG-4 CELP. используя инструмент Multi-Pulse Excitation. Этот параметр определяет переменные nrof_subframes и nrof_ subframes_bws. Этот параметр также определяет число битов для shape_positionsp). shape_signsfi]. shape_enhj>osit)onsfi][j] и shape_enh_signs[iXi].

nrof_subframes— вспомогательный параметр, определяющий число подфреймов во фрейме CELP. и использующийся, чтобы сообщить, сколько раз должны быть прочитаны параметры возбуждения. Для инструмента Regular-Pulse Excitation, работающего при частоте дискретизации 16 кГц. эта переменная зависит от RPE_Configuration следующим образом.

Таблица 54 — Определыые nrof_subframes для кодера режима 1 на 16 й*ц

ПРЕ_СопЛдигаЧоп

Nrof_Sub(ram»s

0

6

1

4

2

8

3

10

4… 7

Зарезервировано

Для инструмента МиШ-Pulse Excitation это лолучают из МРЕ_Соппдигайоп в зависимости от частоты

дискретизации (см. таблицы 55.56).

Таблица 55 — Определение nm(_sublrames для кодера режима II на 8 кГц

МРЕ_ Сол figure Рол

nrof_sub!cames

0. 1.2

4

3.4.5

3

6… 12

2

13… 21

4

22… 26

2

27

4

28… 31

зарезервировано

Таблица 56 — Определение nrof_subtrames для кодера режима И на 16 кГц

UPE_ ConEgoraboo

ого f_sub frames

0……6

4

8„ 15

8

16…22

2

24 … 31

4

7. 23

зарезервировано

NumEnhLayers — это двухбитовое поле, определяющее число уровней расширения, которые используются (см. таблицу 57)-

22

ГОСТ Р 53556.3—>2012

Таблица 57 — Определи «о nrof_enh_tayers

NumSnbLayoes

tifof_enh_>ay*rz

0

0

1

1

2

2

3

3

BandwidthScalabtlityMode — это однобитовый идентификатор, который указывает, запущена ли масштабируемость полосы пропусхаиия. Этот режим имеет силу только, когда ExatationMode = МРЕ (см. таблицу 58).

Таблица 58 — Описание режима BandwidthScatatMyMode

Banif* кП/iSceiabeXyUode

Scalable JO

Описание

0

OFF

Масштабируемость полосы отключена

1

ON

Масштабируемость полосы задействована

BWS_Configurat)on—это деухбитоеое поле, которое конфигурирует инструмент расширения полосы пропуска*ыя. Этот идентификатор имеет силу только, когда EiandwtdthScalab&tyMode — ON. Этот параметр определяет число битов для shapejbws_positions [i]. shape_bws_signs [i].

nrof_subframes_bws — этот параметр, который является вспомогательной переменной, показывает число под фреймов в инструменте расширения полосы пропускания, и его получают из МРЕ_ Configurator) (см. таблнщу 59).

Таблица 59 — Определениеnmf_subframes_bws

UPE_Contiqvralion

nref_subframes_bws

0.1.2.3

8

3. 4.5

в

6… 12

4

13 -.21

4

22 …26

2

27

Не имеет сихы

28. 31

Зарезервировано

4.2 Семантика фрейма

interpolation_flag — это однобитовый флажок. Когда он установлен, параметры LPC для текущего фрейма должны быть получены, используя интерполяцию (см. таблицу 60).

Таблица 60 — Ошсание флажка interpotabon_fiag

/nterpotabon_fb$

InterpolationlO

Описание

0

OFF

Коэффм^иенты LPC фрейма не должны интерполироваться

1

ON

Коэффициенты LPC фрейма должны быть найдены путем ютерполяфи

LPC__Present— этот бит указывает, присоединены ли параметры LPC к текущему фрейму. Эти параметры LPC относятся или к текущему фрейму или следующему фрейму (см. таблицу 61).

23

ГОСТ Р 53556.3—2012

Таблица 61 — ОписаниеLPC_Presen(

LPC_Prescn<

LPC/0

Опйсаиие

0

NO

Фрейм не содержит данные LPC

1

YES

Фрейм сод ержит данные LPC

вместе interpolation^flag и флажок LPC_Present описывают, как параметры LPC должны быть полу* чены (см. таблицу 62).

Таблица 62 — Процесс декодирования LPC. описаний intefpotation_flag и флажком LPC_Present flag

т1вгрЫа1юп_Я*д

LPC_Presont

Описание

1

1

Параметры LPC текущего фрейма должны быть извлечены. используя интерполяцию. Текущий фрейм несет параметры LPC. принадлежащие следующему фрейму

1

0

ЗАРЕЗЕРВИРОВАНО

0

1

Параметры LPC текущего фрейма присутствуют в текущем фрейме

0

0

Параметры LPC предыдущего фрейма должны испогъ-эовэться в текущем фрейме

(jpc_«xflces [) — это мультибитовые поля, представляющие коэффициенты LPC. Они содержат информацию необходимую, чтобы извлечь коэффициенты LSP. Точная процедура извлечения описана в процессе декодирования.

shape_de!ay (subframe]—это битовое поле представляет адаптивную задержку книги шифров. Декодирование этого поля зависит от ExcrtatioriMcde и SampteRateMode (см. таблицу 63).

Таблица 63 — Число битое для shapejMayf/

Exc/tabofiModt

SampMRaleUode

s/>ape_defey (] (биты)

яре

16 кГц

В

МРЕ

8 кГц

8

МРЕ

16 кГц

9

shape Jndex (subframe]—этот индекс содержит информацию, необходимую чтобы извлечь фиксированное вложение книги шифров из книги шифров регулярного импульса. Число битое, занимаемых этим полем, зависит от битовой скорости (полученной из RPE_configurabon) (см. таблицу 64).

Таблица 64 — Число битов для shape_index {]

RPE_ Configurator!

Число биюа, вреде (автошин sAape_«ntfe* {)

0

11

1

11

2

12

3

12

4 …7

Зарезервировано

gainjndices (0] (subframe] — эти битовые поля определяют адаптивное усиление книги шифров в инструменте RPE. используя 6 битое. Это читается из потока бит для каждого лсщфрейма.

24

ГОСТ Р 53556.3—>2012

gainjndices [1] [subframe] — эти битовые поля определяют фиксированное усиление книги шифров в инструменте RPE. Это читается иэ потока бит для каждого подфрейма. Число читаемых битое для пред* стаеления этой области зависит от номера подфрейма. Для первого подфрейма это 5 битое, в то время как для остальных под фреймов это 3 бита.

gatn_mdex [subframe]—это 6 или 7-битовое поле представляет усиления для адаптивной книги шифров и мультиимпульсного возбуждения для частоты дискретизации 8 кГц или 16 кГц соответственно.

gain_enh_index [subframe] — это 4-битоеое поле представляет усиление для мультиимпульсного возбуждения расширения в кодере CELPна 8 кГц.

gain_bws_tndex [subframe]—это 11 -битовое поле представляет усиления для адаптивной книги шифров и двух возбуждений мульти импульса в инструменте расширения полосы пропускания.

signal_mode — это 2-битовое поле представляет тип сигнала. Эта ««формация используется в инструменте МРЕ. Книги шифров усиления переключаются в зависимости от этой информации (см. таблицу 65).

Таблица 65 — Огысаниеsignai_mode

в<длЫ_ою4е

Описание

0

Неголосоеой

1.2.3

Голосовой

rmc_index — этот параметр указывает средиеквадратический уровень фрейма. Эта информация используется только е инструменте МРЕ.

shape_positions [subframe]. shape_signs [subframe] — эти битовые поля представляют позиции импульсов и знаки импульсов для мультиимпульсного возбуждения. Длина битового поля зависит от МРЕ_Configurators (см. таблицы 66.67).

Таблица 66 — Определения sbape_posftfons{] и sbspe_5jgns[] для дискретизированной на 8 кГц речи

UPE_ ConGgvrabon

shape_роз*олс[) (битов)

shape_s>gas[) (битов)

0

14

3

1

17

4

2

20

5

3

20

5

4

22

6

5

24

7

б

22

6

7

24

7

8

26

8

9

28

9

10

30

10

11

31

11

12

32

12

13

13

4

14

15

5

15

16

6

16

17

7

17

18

8

18

19

9

25

ГОСТ Р 53556.3—2012

Окончание таблицы 66

UPE_ СопбдигаИоп

sXape_pos*ons|) (битое)

sA9pe_s>pns{) (битое)

19

20

10

20

20

11

21

20

12

22

18

8

23

19

9

24

20

10

25

20

11

26

20

12

27

19

6

28… 31

Зарезервировано

Таблица 67 — Определения shape_pos$ons{] и shape_sjg/is(] для диофетизироваином на 16 кГц речи

i/P£_Coo6gu/alroo

*ларе_po»Aon*|J (битое)

$йаре_«9стс|) (битое)

0. 16

20

5

1. 17

22

6

2. 18

24

7

3. 19

26

8

4.20

28

9

5. 21

30

10

6.22

31

11

7.23

Зарезервировано

Зарезервировано

8.24

11

3

9.25

13

4

10. 26

15

5

11. 27

16

6

1Z 28

17

7

13. 29

18

8

14. 30

19

9

15. 31

20

10

shape_enh_posibons[subframe}i], sftape_en/>_s»gns[si/fcframe)[] — эти битовые поля представляют по* зиции импульсов, и знаки импульсов для мультиимлульсного возбуждения в каждом уровне расширения. Длина битового поля зависит от MPE_Con6guration (ом. таблицы 68.69).

26

ГОСТ Р 53556.3—>2012

Таблица 68 — Определение shape_enh_posifiOTsl)[j и s/iape_enn_s>gns[](] для дискретизированной на 8 кГц речи

UPE_ СопбдыаЬоп

shape_enfr_pos<«os|)() (бито*)

*Лвре_елЛ_»9Л5[)(] (битов)

0… 12

12

4

13…26

4

2

27

не имеет силы

28… 31

зарезервировав

Таблица 69 — Определение shapejsnh_posrtiws()[] и 5/>ape_en/>_signs[](] для дискретизированной на 16 кГц ре*м

ЫРЕ_СопЛдигаЬоп

sftape_en№_рокИлэл*(){] (битов)

вЬвре_елА_варпв|)|] (битов)

0 … 6. 16 _. 22

12

4

8… 15.24… 31

4

2

7.23

зарезервировано

shape_bws_delay[subframe] —

— это 3-битовое поле используется в декодировании адаптивной книги

шифров для инструмента расширения полосы пропускания. Это значение указывает задержку, отличающуюся от задержки, описанной в shape_delay [].

shape_bws_posi1ions[stjbframe], shape_bws_signs (subframe] — эти поля представляют позиции импульсов и знаки импульсов для мультиимпульс кого возбуждения е инструменте расширения полосы пропускания. Длина битового поля зависит от BWSjConUgurstion (см. таблицу 70).

Таблица 70 — Определение shape_bws_pos№ons Q и sbape_bws_signs Q

BWS_ConfigofeUon

sftape_6w’s_po«<wosn (битов)

5А»РО_ЬМГ9_ВфЛ1{} (6ИТОВ)

0

22

6

1

26

8

2

30

10

3

32

12

TX_ttag —двух битовая область, указывающая режим передачи (см. таблицу 71).

Таблица 7t — Определение ТХ_Яэд

ТХ.Пад

Режим передачи

0

Нвактившй фрейм Энергия фрейма игм юдоксы LPC не передаются

1

Активный фрейм

2

Неактившй фрейм Энергия фрейма или индексы LPC передаются

3

Неактивный фрейм. Передается толью энергия фрейма, индексы LPC »« передаются

SID_rmc_index—6-битоеое поле, указывающее энергию фрейма.

SID^fpcJndices — это мультибитовые поля, представляющие коэффициенты LPC для неактивных фреймов LPC (TXJiag — 2). Они содержат информацию, необходимую для извлечения коэффициентов LSP. Семантики потока бит для SID_lpc_rndicss показаны в таблице 72.

27

ГОСТ Р 53556.3—2012

Таблица 72 — Семантмси потока бит для StD_tpc_indices

Режим

юдироеамие

Частота

дискретизации кГц

Масштабируемое?» попоем

Параметр

Огмсание

i

16

Off

SID_lpc_tnd*ces[0]

0-4m LSPs of the 1st stage VQ

SJD_lpc_tndices[1j

5-9” LSPs of the 1st stage VQ

SiDJpc_indices[2]

10-14* LSPs of the 1st stage VO

SJD_tpc_indices{3]

15-19* LSPs of the 1st stage VQ

SJD_lpc_»ndices[4]

0-4A LSPs of the 2nd stage VQ

SJD_lpc_tfxbces{5]

5.9* LSPs of the 2nd stage VQ

я

8

On. Off

SiD_lpc_indiCGs{0]

0-4* LSPs of the 1st stage VQ

SID_lpc_Vxbces[1]

5-9* LSPs of the 1st stage VQ

SJD_lpc_»ncbces[2J

0-4* LSPs of the 2nd stage VQ

16

On

SJD_lpc_mdices{3]

0-9m LSPs of 1st stage VQ

SJD_ lpc_tndices{4]

10-19* LSPs of 1st stage VO

SJD_lpc_»ndices[5]

0-4* LSPs of 2nd stage VQ

SJD_<pc_tfxbces{6]

5.9* LSPs of 2nd stage VQ

Off

SiD_lpc_vxiices[0]

0-4* LSPs of 1st stage VQ

SlD_tpc_indices( 1]

5-9* LSPs of 1st stage VQ

SID_tpc_indices(2j

10-14* LSPs of 1st stage VO

SiD_lpc_mdtces[3]

15-19* LSPs of 1st stage VO

SiD_lpc_tndtces[4]

0-t* LSPs of 2nd stage VQ

SID_lpc_»ndices^5]

5-9* LSPs of 2nd stage VQ

5 Инструменты декодера MPEG-4 CELP

Здесь дается краткое описание функциональных возможностей, определение параметре и процессов декодирования инструментов, поддержанных ядром MPEG-4 CELP. Описание каждого инструмента включает три части и дополнительную часть, содержащую таблицы, используемые инструментом:

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

2 Определения: здесь описаны параметры ввода и вывода, так же как элементы справки инструмента. Каждый элемент дается полужирным шрифтом или курсивным. Полужирные названия указывают, что элемент читается из потока битое, курсивные названия указывают вспомогательные элементы. Если эле-менты уже используются другим инструментом, дается ссылка на предыдущее определение.

3 Процесс декодирования: процесс декодирования объяснен здесь подробно при помощи математических уравнений и кода pseudо-С.

4 Таблицы: эта дополнительная четвертая часть содержит таблицы, которые используются инструментом.

5.1 введение в набор инструментов декодера CELP MPEG-4

Декодер MPEG—4 CELP работает при частоте дискретизации 8 или 16 кГц. Один или несколько индивидуальных блоков сгруппированы, формируя инструменты, доступные для декодирования MPEG-4 CELP. Поддерживаются следующие инструменты:

Демультиплексор потока бит CELP

Декодер CELP LPC и интерполятор

Узкополосиьы инструмент декодирования LSP-VQ

Широкополосный и нструмент декодирования LSP- VQ

Инструмент декодирования LSP-VQ с ыасшабируемой полосой пропускания

Генератор воэбужде»мя CELP

28

ГОСТ Р 53556.3—2012

Инструмент генерации возбуждения регулярным импульсом Инструмент генерации мультиимпульсного возбуждения

Инструмент генерации мультиимпульсного возбуждения масштабируемой битовой скорости Инструмент генерации мультиимпульсного возбуждения масштабируемой полосы пропускания Фильтр синтеза CELP LPC Постпроцессор CELP (информативный инструмент)

Декодирование выполняется на основе фрейма, и каждый фрейм разделен на подфреймы. Фрейм в потоке бит демультиплексируется модулем демультиплексора потока бит CELP. Параметры, которые извлечены из потока бит. являются информацией заголовка, кедами, представляющими коэффициенты LPC фрейма и параметрами возбуждения для каждого подфрейма. Эти кеды декодируются и интерполируются для каждого подфрейма модулем декодера и интерполятора CELPLPC. Для каждого подфрейма используются параметры возбуждения, чтобы генерировать сигнал возбуждения, используя модуль генератора возбуждения CELP Модуль фильтра синтеза CELP LPC восстанавливает речевой сигнал на основании подфрейма, исходя из интерполированных коэффициентов LPC и сгенерированного сигнала возбуждения. Расширение синтезируемого сигнала получено дополнительным модулем постпроцессора CELP.

Чтобы реализовать масштабируемость битовой скорости, для генерации сигнала возбуждения используется инструмент генерации мультиимпульсного возбуждения масштабируемой битовой скорости (МРЕ). Инструмент генерации МРЕ масштабируемой битовой скорости реализуется путем добавления инструмента декодирования возбуждения расширения к инструменту генерации МРЕ, чтобы повысить качество сигнала возбуждения.

Декодер CELP масштабируемой полосы пропускания реализуется с использованием как инструмента LSP-VQ масштабируемой полосы пропускания, таки инструмента генерации МРЕ масштабируемой битовой скорости. Эти инструменты масштабирования используются, чтобы расширить полосу пропускания декодированного сигнала от 3.4 кГц до 7 кГц.

5.2 Конфигурация масштабируемого AAC/CELP

Когда декодер узкополосного CELP используется как ‘основном кодер’ в масштабируемой конфигурации AAC/CELP(cu. часть T1F) для масштабируемости большого шага, постфильтр выключен. В случае, если декодер узкополосного CELP работает как основной декодер в масштабируемой конфигурации, этот декодер может декодировать объект аудио CELP при частоте дискретизации, отличающейся от 8 кГц. Частота дискретизащы объекта аудио СВР определяется samptngFrequencylndex в AudtoSpeafidrrfo (см. подраздел 1). Флажок SampleRateMode в заголовке CELP. управляющий работой декодера, должен указывать 8 кГц. В случае, если samplingFrequencylndex указывает, что частота дискретизации отличается от 8000 Гц. битовая скорость, длина фрейма и задержка изменяются соответственно.

5.3 Переменные помощи

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

frame_size: Это поле указывает число отсчетов во фрейме. Декодер выводит фрейм с frame_sae отсчетов

nrof^subframes: Фрейм состоит из ряда подфреймов. Число подфреймов определено в этом поле. sbfrmsize: Подфрейм состоит из ряда отсчетов, количество которых обозначено этим полем. Число отсчетов во фрейме всегда должно быть равным сумме количеств отсчетов в подфреймах. Соответственно всегда должно соблюдаться следующее соотношение frame_size = nrof_subframes * sbfrm_sae.

Эти три параметра зависят от настройки параметров режима кодирования и битовой схорости. как указано в таблице 73 для режима I. таблице 74 и таблице 75 для режима II.

Таблица 73 — Конфигурация кодера CELP (режим I) для частоты дискретизации 16 кГц

RP£_ Configurator

Fram*_sita ffsampfes)

nrof^sobfram e*

sbtriB_sizo (Maamphs)

0

240

6

40

1

160

4

40

2

240

8

30

3

240

10

24

4 …7

Зарезервировано

29

ГОСТ Р 53556.3—2012

Таблица 74 — Конфигурация кодера CELP (режим II) для частоты дискретизации 8 кГц

ЫРЕ_СолНдигаЬоп

Fiame_sue (tsseiptos)

nrot_sub frames

sbfrm_size (Msamples)

0.1.2

320

4

80

3,4.5

240

3

80

6… 12

160

2

80

13…21

160

4

40

22… 26

80

2

40

27

240

4

60

28 …31

Зарезервировано

Таблица 75 — Конфигурация кодера CELP (режим И) для частоты диофетиээцм* 16 кГц

МРЕ^Сол figuration

Ftama_stza (tsseiptos)

nrot_sub frames

sbfrm_size (Usamphs)

0…..6

320

4

80

8…..15

320

8

40

16…..22

160

2

80

24…..31

160

4

40

7. 23

Зарезервировано

tpc_order: Это поле указывает число коэффициентов, используемых для линейного предсказания. Значение этого поля равно 20 для частоты дискретизации 16 кГц и 10 для 8 кГц.

num_lpc_ind>ces. Этот параметр определяет число индексов, содержащих информацию LPC. которая должна читаться из потока бит. Оно не равно порядку LPC. num_lpcjndices равно 5 в режиме в кГц и дополнительно 6 для инструмента расширения полосы пропускания. Для частоты дискретизации 16 кГц в векторном квантователе это значение равно 10.

5.4 Элементы потока бит для набора инструментов MPEG-4 CELP

Описания всех переменных потока бит пере* (ислены е разделе 4.

5.5 Демультиплексор потока бит CELP

5.5.1 Описание инструмента

Инструмент демультиплексора потока бит CELP извлекает фрейм CELP из полученного потока бит.

5.5.2 Определения

Все элементы потока бит и связанные переменные справки были определены в разделе 4,

5.5.3 Процесс декодирования

Декодирование элементов потока бит производится в соответствии с синтаксисом, опописанньгм в разделе 3.

5.6 Декодер CELPLPC и интерполятор

У декодера CELP LPC и интерполятора есть две функции:

1 Восстанавливать коэффициенты LPC из fpcJrxHces Q.

2 Интерполировать восстановленные коэффициенты LPC для каждого подфрейма.

В зависимости от режима квантования (pcjncScesJ] содержат информацию, необходимую чтобы восстановить коэффициенты LSP. Есть три типа процессов декодирования, а именно, процесс декодирования узкополосного LSP. процесс декодирования широкополосного LSP. и процесс декодирования LSP с масштабируемой полосой пропускания. Выходы этого процесса являются коэффициентами фильтра, названные коэффициентами LPC или параметрами, которые могут использоваться в фильтре прямой формы (см. таблицу 76).

30

ГОСТ Р 53556.3—2012

Таблица 76 — Инструменты декодирования LPC

Режим коаиромиия

Частота Аиаретиэаиии

Инструмент

Mode t

16 кГц

Wideband LSP-VQ

ModeII

8 кГц 16 кГц

ал 6 кГц (BWS)

Narrowband LSP-VQ

Wideband LSP-VQ

Bandwidth Scatabie (BIVS) LSP-VQ

5.6.1 Инструмент декодирования узкополосного LSP-VQ

5.6.1.1 Описание инструмента

Инструмент декодирования узкополосного LSP имеет двухступенчатую структуру VQ. Квантованные LSPs воспроизводятся добавлением декодированных в первой и во второй стадиях LSPs. во второй ста* дни есть два процесса декодирования, с или без межфреймового предсказания, процесс декодирования выбирается согласно флажку ipcjndices. Затем декодированные LSPs интерполируются и преобразуются в коэффициенты LPC.

5.6.1.2 Определения

Вход

ipc_rtdices [): Размерность этого массива num_ipcjndtces содержит упакованные индексы 1рс.

Выход

int_ Qipc_coefficients^. Этот массив содержит коэффициенты LPC для каждого подфрейма. Коэффициенты LPC декодированы и интерполированы, как описано в процессе декодирования. Коэффициенты LPC расположены в стеке один за другим в блоках tpc_order. Таким образом размерность массива равна order* nrof_subframes.

Конфигурация

ipc_order. Это поле указывает порядок используемого LPC.

num_lpc_mdices: Это поле содержит ряд упакованных кодов LPC. Для узкополосного LSP. numjpcjndices процесса декодирования установлен 5.

nrof^subframes: Это поле содержит ряд подфреймов.

Элементы справки, используемые е процессе декодирования узкополосного LSP. tsp_tbt[][][] таблицы поиска для первой стадии процесса декодирования

dJblllUli таблицы помеха для второй стадии процесса декодирования VQ без меж

фреймового предсказания

pfi_thl[)[)f] тябпм гы плитка для птлрли стадии npm утля дмеодирлйамия I/O с межфрей

dimnn

sign

ktx

fsp_first{]. ispj>revious[] isp_predictl} tsp_currentf] isp_$ubframe{][) ratio_predct ratk>_sub min_gap Convert2lpc ()

мовым предсказанием

размерности для квантования расщепленного вектора знак вектора кода для второй стадии процесса декодирования распакованный индекс для второй стадии процесса декодирования LSPs. декодированные на первой стадии процесса декодирования LSPs. декодированные в предыдущем фрейме LSPs. предсказанные из Isp jxeviousf)и lsp_firstf}

LSPs. декодированные в текущем фрейме LSPs. интерполированные е каждом подфрейме коэффициент для предсказания isp jxedictf] коэффициент интерполяции для вычисления tsp_subframe()(/ минимальное расстояние между соседними LSPs функция для преобразования LSPs в LPCs

5.6.1.3 Процесс декодирования

Процесс декодировала LSP для восстаноележя коэффициентов интерполированного LPC для каждого подфрейма описан ниже.

5.6.1.3.1 Преобразование индексов в LSPs

LSPs текущего фрейма [lsp_current[J). которые кодируются разбиением и двухступенчатым векторным квантованием, декодируются двухступенчатым процессом декодирования. Размерность каждого вектора описана е таблице 77 и таблице 78. /pc_/nd/ces{0].[1] и 4pcjndfces[2],{3] представляют индексы для первой и второй стадии, соответственно.

31

ГОСТ Р 53556.3—2012

Таблица 77 — Размерность вектора первой стадии LSP

Индекс еевтора разбнеиия: i

Рааиермость вектора’ <Ып{0|И

0

5

1

5

Таблица 78 — Размерность вектора второй стад»* LSP

Индесс вектор* разбиения.

t

Размерность вектора; <*»ПМ

0

5

1

5

8 первой стадии вектор LSP первой стад»* Jsp_frsg/ декодируется путем просмотра таблицы forfi = 0: i < &т[0][0]: i++)

{

lsp_first{i] = lsp_tbf0]ppcjndices{0ffli]:

}

forfi г 0; i < <Hmf0][1J: i**)

{

lsp_first(<Sm{0}(0)*i] — lsp_ tbi[1 )[lpc_indices[ 1

}

Во второй стадии есть два типа процессов декодирования, а именно, процесс декодирования УОбез межфреймового предсказания и VQ—с иежфреймовым предсказанием. Ipc_tndtces[4] указывает, какой процесс должен быть выбран (см. таблицу 79).

Таблица 79 — Процесс декодирован* для второй стадии

Индекс LPC. &c_indic*% |4)

Проиесс декодирования

0

VQ без межфреймового предсказания

1

VQ с межфреймовым предсказанием

Процесс декодирования VQ без межфреймового предсказания

Чтобы получить LSPs текущего фрейма lsp_currerit[), декодированные векторы во второй стад»* добавляются к декодированному вектору LSP первой стадии tsp_first[). МСВ для (pc_/ncSces{j представляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы djbl[)(]f]. sign = lpcjndtces[2] » 6; idx — lpcjndk»s{21 & 0x3f: if (s»gn==0)

{

for (i = 0: i < dim(1]{0J; i*+)

{

lsp_current[i] = lsp_f/rst[i] ♦ d_tbi[0}[idx]{i):

}

}

else

{

for (i — 0; / < dim[1]{0]: i**)

(

Isp currentfi] — isp_ftrst[i) — dJblfOtfkfxJfi):

}

}

sign = lpc_indices[3} » 5: idx — tpcjndices[3] & 0x1 f: if (sign—0)

{

for{i = 0: i < dim[1][l}: i**)

{

Isp_curr»nt[dim{1tf0]+i] — tsp_firstfdim[ 1 }[0}*i] *

d tbl{l)pdx№]:

}

32

ГОСТ Р 53556.3—>2012

;

else

(

for(i — 0; i < dim[1g1J: i*+)

(

Isp_current(dimf1g0]*i} — tsp_firstfdtm[1 ][0)*i] -d_tbl[1)fKtxffi )

}

Процесс декодирования VQ с ыежфреймоеым предсказание**

Чтобы получить LSPs текущего фрейма Ispjcurrentf). декодированные векторы второй стадии добавляются к вектору LSP • — Isp jtredictU- которые предсказаны из декодированных LSPs предыдущего фрейма Isp_prevk>us[} и декодированного вектора LSP первой стадии lsp_fkst{}. Таким же образом как процесс декодирования УО без межфреймоеого предсказания. LSP для lpc_mdices[] представляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы pdjbtflltf]. for (i — 0: i < Ipc order, i**)

(

Isp__predict(i}-(1-rauo_predict) ‘lsp_first[i]

* ratio_predict’lsp_pr

eviousfi/

}

где ratio_predict = 0.5

sign = lpc_indtces[2) » 6: idx — lpcjnd*ces[2] & 0x3f; if (sign—0)

(

for (i- 0: i < dim(1Jf0J: >**)

{

tsp_current[i] = isp_predictfi] ♦

pdjbmpdxM:

)

}

else

{

for (i = 0: i < dimfigOj: i**)

(

lsp_current[i] = Ispjxedtd -pd_W01Pdx№;

}

}

sign = lpc_indtces[3] » 5: idx — tpcjndtces[3} & 0x1 f; if(sign-=0)

i

fotfi — 0: i < dim[1Jfi]: i**)

{

Isp_current[dim[1ff0)*i} — Isp_predict[dim[1g0]+i} * pdjbl[1)fidx}[ij:

}

}

else

(

for (i = 0; i < dim[1g1]: i**)

(

33

ГОСТ Р 53556.3—2012

lsp_current[dim(1ff0]*i] — Isp_predtct{dim[1tf0]+i] -рб_Ы[1)ГкЬт;

}

)

5.6.1.3.2 Стабилизация LSPs

Декодированные LSPs lsp_current(] стабилизируются, чтобы гарантировать стабильность фильтра синтеза LPC, который получен из декодированных LSPs. Декодированные LSPs упорядочиваются в порядке возрастания, имея расстояние между соседними коэффициентами, по крайней мере, min_рар. forfi — 0; I < Ipcjyrder, i**)

{

if Osp_current[i] < min_gap)

(

Isp^currentfi] = minjjap:

}

}

for 0 s 0: i < lpc_order-1: i*+)

{

if (lsp_cumnt[i+1f-isp_current[i] < min_gap)

(

lsp_current(i+1} — lsp_currentfi]*min_gap:

}

}

for (i -0:i< lpc_order. /*■*■)

{

if (Isp current^] > 1-min_gap)

{

isp currentfi) — 1-min_gap:

}

}

for (i = lpc__order-1; i > 0: /- ■)

{

if (Isp currentfi]-lsp_currentfi-1] * min_gap)

{

Isp сиггепф-1]=lsp_current[i}-min_gap:

t

}

где min_gap — 2,0/256,0

5.6.1.3.3 Интерполяция LSPs

Декодированные LSPs lsp_current[} линейно интерполируются в каждом под фрейме, используя LSPs предыдущего фрейма Isp_previousfl. for(n-0;n<nrof subframes: п**)

{

га6о_ sub={n+1 ynrof_subframes forfi — 0: i < Ipcjordar: i**)

(

lsp_subframe[n]{i}=((1-

ratk>_sub)*ispjxevtous{i]-*rat>o_sub’tsp_currefitfi])):

}

}

5.6.1.3.4 Преобразование LSP в LPC

Интерполированные LSPs преобразуются в LPCs. используя вспомогательную фумсцию Conveft2tpcQ. for(n = 0;n< nrof subframes: n++)

{

Convert2lpc (lpc__order. Isp_subframe{n). int_Qlpc coefficients * nVpcjorder)):

}

34

ГОСТ Р 53556.3—>2012

Преобразование LSP в LPC описано ниже. Входные LSPs должны быть нормализованы в диапазоне от нуля до я.

tmpJpclOJ -1.0;

for0-1:i< lpc_order * 1; i**) tmpjpcf] = 0.0: for 0-0: i< (tpc_order*1)’2: wp} — 0.0:

for (j — 0; j < tjpc_order * 1; j**)

i

xk>1 — tmp_lpc[j}; xin2 — tmpjpcljy. tor (if = 0: i < (lpc_order »1): i*+)

{

n1 -Г4: n2 = n1*1: n3 = n2*1; n4-n3*1:

xoutl = -2. * cos(lsp_coeffic>entsp*2+0]) * wfn1J ♦ w[n2]

*xin1;

xoul2 = -2. * cos(lsp_coeffiaents[>’2+1]) * wfn3/ ♦ w(n4] *

xkiZ

wfn2] — w{n1]: wfn1]-xin1: wfn4} = wfn3J: wfn3} — xin2; xin1 -xoutl; xin2 — xoutZ }

xoutl — xin1 * wfr>4*1]: xout2 = xin2- w[rt4*2]; tmpJpcSJ — 0.5 * (xoutl * xout2): wfn4*1}-xin1; wfn4*2) — xin2:

}

for(i- 0: i < Ipc order. i*+)

(

ipc_coerttaentsii] — tmpjpc(i+ij:

}

5.6.1.3.5 Сохранение коэффициентов

После вычисления коэффициентов LPC. текущие LSPs должны быть сохранены в памяти, так как они используются для интерполяции в следующем фрейме. for (i = 0; i < fpcjorder. i*+)

{

tsp_previousfi] — tsp_current(i]:

}

Сохраненные tsp_prevk>us(] LSPs должны быть инициализированы как описано ниже, когда инициализируется весь декодер.

for0-0:f< tpcjorder. i**)

(

fsp__prev)Ous{i] — (i*1)/(fpc_order+1);

}

5.6.2 Инструмент декодирования широкополосного LSP-VQ

5.6.2.1 Описание инструмента

Процесс декодирования широкополосного LSP основан на процессе декодирования узкополосного LSP. Процесс декодирования широкополосного LSP состоит из двух блоков декодирования LSP. соединенных параллельно. Каждый из блоков декодирования идентичен процессу декодирования узкополосного LSP и декодирует нижнюю и верхнюю части LSPs соответственно. Декодированные LSPs объединяются и выводятся как один набор параметров.

35

ГОСТ Р 53556.3—2012

S.S.22 Определения Вход

4>c_tfxftcesn; Размерность этого массива — nvm_tpcjndtces. он содержит упакованные индексы 1рс. Выход

tnt_ Qipc_co6fficients{f. Этот массив содержит коэффициенты LPC для каждого подфрейма. Коэффициенты LPC декодированы и интерполированы, как описано в процессе декодирования. Коэффициенты LPC расположены в стеке один за другим в блоках tpc_order. Таким образом, размерность массива равна ipcjorder* nrof_subframes.

Конфигурация

tpc_order Это поле указывает порядок используемого LPC.

num_lpcjndices: Это поле содержит число кодов упакованного LPC. Для процесса декодирования широкополосного LSPrwm_lpcJndKes устанавливается 10.

nrof_subframes\ Это поле содержит число подфреймое.

Элементы справки, используемые в процессе декодирования широкополосного LSP: lsp_tbtfUHJ таблицы поиска для первой стадии процесса декодирования

djbtonn таблицы поиска для второй стадии процесса декодирования VQ без межфреймо

вого предсказания

pd_tbi[][)l} таблицы поиска для второй стадии процесса декодирования VQ с межфреймо-

вым предсказанием

dimiHi

sjgл к/х

lsp_firstf] isp_previous[]

Isp_predict[J

lsp_current[]

lsp_ajrrent_lowerf)

lsp_cuirenl_upperfj

lsp_subframe{][]

ratiojxbdict

ratio_sub

min_pap

Convert2lpc0

размерности для квактоважя расщепленного вектора знак кодового вектора для второй стадии процесса декодирования распакованный индекс для второй стадии процесса декодирования LSPs. декодированные на первой стадии процесса декодирования LSPs. декодированные в предыдущем фрейме LSPs. предсказанные из Isp_prevk>usf) и lsp_first{}

LSPs. декодированные в текущем фрейме нижняя часть текущих LSPs верхняя часть текущих LSPs LSPs. интерполированные в каждом подфрейме коэффициент для предсказания Isp_pradictO коэффициент интерполяции для вычисления lsp_subframe[]{] минимальное расстояние между смежными LSPs функция для преобразования LSPs в LPCs

5.6.2.3 Процесс декодирования

Процесс декодирования LSP для поиска интерполированных коэффициентов LPC для каждого подфрейма опием ниже.

5.6.2.3.1 Преобразование индексов в LSPs

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

Сначала декодируется нижняя часть текущих LSPs lsp_current_fower\ ]. Размерность каждого вектора описана в таблице 80 и таблице M.lpcjndicss [0]. [1] и ipc_/ndces{2}.[3] представляют индексы для первой и второй стадии, соответственно.

Таблица 80 — Размерность вектора LSP первой стадии

Индекс вектора разбиения

i

Размерность вектора.

0

5

1

5

Таблица 81 — Размерность вектора LSP второй стаем*

Имдеес вектора разбиение.

t

Размерность вектора. *»ПИ

0

5

1

5

В первой стадии вектор LSP первой стадж lsp_firstf] декодируется путем просмотра таблицы Isp^tbflffl. for 0 -0:i< drn[0][0}. h*)

{

tsp_firstfi] — lspJbfOJ{Jpc_indices(0fl{t];

36

ГОСТ Р 53556.3—>2012

;

for 0 — 0: i < <Sm{0)[1): i**)

{

l$p_firstfd*n[0][0]*i] = lsp_tbi{1}ppc_indices{ 1ff[i};

}

Во второй стадии lpc_tndices И] указывает, какой процесс должен быть выбран (см. таблмду 82).

Таблица82 — Процесс декодирования для второй стад>м

Икоекс LPC (4)

Прочесе декодирования

0

VO без межфреймоеого предсказания

1

VQ с межфреймовым предсказанием

Процесс декодирования VQ без межфреймоеого предсказания

Чтобы полу-мтъ LSPs текущего фрейма lsp_current__towerf), декодированные векторы второй стадии добавляются к декодированному вектору LSP. Isp_tkst_k>weffl. МСв lpc_indices{] представляет знак декодированного вектора, а остальные биты представляют индекс для таблицы d_tbt[}[}(}-sign — Ipc_indic6s[2] » 6; idx — tpc_indtces[2] & 0x3f; if (sign == 0)

{

for 0 * 0: i < dim[1]{0}: i* *)

{

lsp_cumni_k>werfi] — lsp_Hrst{i} * d_tbl[0]pdx}pj:

}

)

else

(

for (i = 0: i < dim[1](0}; i**)

{

lsp_currentJoweffi] — tsp_firstfi} — djbl[0}pdx}[i];

}

)

sign — lpcjndtces[3} » 6: idx — lpcjndtces(3] & 0x3f: if (sign —— 0)

(

for (i = 0: i < dim[1]f1J; i**)

{

tsp_curren!_lowerfdim[ 1 ]{0]+i] — tsp_first(dim{ 1][0}*i] * d_tbi(1}pdx}p]:

}

}

else

{

for (i я 0: i < dim(1J(1j; >**)

{

Isp_curreni_k>werfdim[1]f0}+i] — lsp_first[dim[1)(0}+i] -d_tbl(1]pdx№

}

)

Процесс декодирования VQ с межфреймовым предсказанием

Чтобы получить LSPs текущего фрейма lsp_current_lower[], к вектору LSPtep_pred*cf[) добавляются декодированные векторы второй стадии, которые предсказаны из декодированных LSPs предыдущего

37

ГОСТ Р 53556.3—2012

фрейма tep_p/ievx>os{] и декодированного вектора LSP первой стадии fep_/5rsff]. Таким же образом как в процессе декодирования VO без межфреймового предсказания. МС8 lpcjndices[] представляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы р4_М(К)П-for 0 = 0; i < fpc_order/2: i**)

{

tsp_pre<tictp)-(1-ratio_predict)*lsp_firstfi} * ratio_j>redict’tsp_prev*xjs[i}:

}

где ratio_pradict — 0.5

sign = lpc_indices[2] » 6; tdx — tpc_indk»s[2} & 0x3f: if (sign — 0)

{

for (i = 0: i < dim[1]{0J: i*+)

(

IspjcurrantJowar^,/ = Isp_predictp] ♦ pd_tbffO)[idx}(t}.

}

}

else

{

for (i — 0; / < dim[1]{0]: i**)

{

lsp__current_lower[i] = Isp_predict{i] ~ pdjbi{0)[idx][i}:

}

}

sign = Ipcjrx6ces[3j » 6: idx = tpcjndtcesp} & 0x3f: if (sign == 0)

{

for(i- 0: i < dim(1J[1li*+)

(

lsp_currentJowerfdim[1 ](0]*i)=lsp_predict[dim[1][0]+i]+pd_ tutfijfidxm.

}

}

else

{

tor (i = 0; i < dim[1}{1]; i++)

{

lsp_current_towerfdim{1](0]*i}-lsp_predict[diml1}(0]*i}-fidjbtf1JpdxJp];

}

}

Затем, декодируется верхняя часть текущих LSPs тем же способом как в процессе декодирования нижней части. Размерность каждого вектора описана в таблице 83 и таблице 84. jipc_fn<Aces{5].[6] и J{pc_/n<ftcesf7].[8] представляют индексы для первой и второй стадии соответственно.

Таблица 83 — Размерность вектора LSP первой стадии

Индекс вектора рзэбнения’

i

Размерность вектора: <М0)И

0

5

1

5

Таблица 84 — Размерность вектора LSP второй стадии

Инде«с дек?орд раэбиом** *

Размерность вектора: <*»ПИ

0

5

1

5

38

ГОСТ Р 53556.3—>2012

For (i = 0: i < dim(0}[0}: i**)

(

fsp_firstfi] = lsp_tbi{0][)pcjndices[5]]{i]:

}

for 0 s 0: t < <tm{0][1]; i**)

(

tsp_firstfdMn[0)(0]+i] = isp_tb^ 1}ppc_tndices[6ff[i];

}

Во второй стадии lpc_mdices [9] указывает, какой процесс должен быть выбран (см. таблицу 85).

Таблицэ65 — Процесс декодорования для второй стад»**

Индекс LPC pc.«idces {9}

Прочесе декодирования

0

VQ без межфреймового предсказания

1

VQ с межфреймоеым предсказанием

Процесс декодирования VQ без межфреймового предсказания sign = ipc_indic6s[7J » 6: idx = tpc_tndices[7] & 0x3f; if (sign -= 0)

{

for (i a 0: i < dim[1]{0}: i* *)

{

lsp_current_upper[i] = lsp_6rstp] ♦ djbl[0]p<tx]p);

}

}

Else

{

forp — 0: i < dim[1]{0]: i**)

{

lsp__currem_upperft] = Isp^firstp] — djbl[0}pdx)p):

}

}

sign — lpc_indtces[8] » A; idx — tpcjndices(81 & OxOf: if (sign == 0)

(

for (i a 0; i < dim[1){1J; i**)

{

Isp_current_uppeftdim[1]f0}4i] — lsp_first{dim{ 1 }[0)*i] ♦ djblf 1)[idx]p];

}

)

Else

{

for (i^ 0: i < dim(1){1}: i**)

(

isp_current_upperfdim[1}l0)+i] = fsp first(dim(1](0J*i] -dJbWPdxm }

}

Процесс декодирования VQ с межфреймовым предсказанием for (i = 0; i < tpcjorder/2: i**)

(

isp_рге<аар}=(1-

ratio_predtct)*lsp_firstfi]+ratfO_predict*!sp_previous ppc_orde

39

ГОСТ Р 53556.3—2012

r/2+Q:

}

где ratio^predict = 0.5 sign = lpc_inchces[7J » 6: idx — tpcjndtcesf?] & 0x3f: if (sign == 0)

{

for (i = 0; / < dim[1]{0]: i**)

(

lsp_current_upperfi] — Isp_predtctp] ♦ pd_tbt(0][idx)[i];

}

}

else

(

foe (i — 0: i < dim[1tf0]: i**)

{

Isp curren(_upperfi] = Isp_predict(i] — pdjbl{0)pdx}p];

}

}

sign — ipc_indtces[8) » A: idx — tpcjndtces[8] & OxOf: if (sign == 0)

{

for (i = 0; i < dim[1](1}; i**)

{

tsp_curreat_upperfdimf1]f0]+i] — isp_predict{dim[1]{0]*i] * pd_tbi[1)pdx}(i];

}

}

else

{

for (i я 0; i < dim[1tf1f: i**)

{

Isp_current_upperfdim[1]f0]+i} — Ispj>redictfdim[1][0]+i] —

po^tutviioxjM:

}

}

Наконец декодированные LSPs lsp__currentJowerf) и lsp_current_upperfl объединяются и сохраняют* ся в массиве isp^currentf].

for (i я 0; i < lpc_order/2: i**)

{

fsp_current{i] — isp_current_k)wer[i]:} for (i я 0; i < lpc_order/2; i**)

{

fsp_currentflpc_order/2 + i]=lsp current^upperfi):

S.6.2.4 Стабилизация LSPs

Декодированные LSPs lsp_currentf] стабилизируются, чтобы гарантировать стабильность фильтра синтеза LPC, который получен из декодированных LSPs. Декодированные LSPs упорядочены в порядке возрастания, имея расстояние между смежными коэффициентами, по крайней мере, minjgep. for (i я 0; i < tpc order, i**)

{

if (lsp_current[i] < mm_gap)

{

isp currentfi]=min^gap:

}

40

ГОСТ Р 53556.3—>2012

;

for (i = 0: i < lpc_order-

(

if psp_currentfi+1 }-4sfl_currerxfi] < min_gap)

{

lsp_currentfi+1] = lsp_current[i]*min_gap:

}

)

for ft — 0: f < ipcjorder. i**)

(

rf ftsp_current{i] > 1-mir_gap)

(

lsp_currentp] = 1-min_gap:

}

}

for(i- lpc_order •

{

ifflsp currantfi]-isp_currentft-1] < minjgap)

(

Isp current^-1 ]=tsp_curmrti[t]-mtn_gap;

}

}

гав lpc__order s 20 и min_gap = 1.0/256.0

S.6.2.5 Интерполяция LSPs

Декодированные LSPs lsp_current[] интерполированы линейно e каждом подфрейме, используя LSPs предыдущего фрейма Isp jtreviousf]. for(n = 0;n < nrof subframes: n**)

{

rabo_sub={n+1yorof_subframes for 0 -0: i< !pc_order: i++)

{

fsp_subframe{n](i] = ((1-

rabo_sub)4spjxevjousfij+ratio^sub’lsp^currerttli])):

}

}

5.62.6 Преобразование LSP в LPC

Интерполированные LSPs преобразуются в LPCs с использованием вспомогательной функции Convert2lpc().

for(n — 0: о < nrof_subframes: n**)

{

Convert2tpc (lpc_order. tsp_subframe{n]. int_Qtpc_coefficients * nVpc_orderj):

}

5.62.7 Сохранение коэффициентов

После вычисления коэффициентов LPC текущие LSPs должны быть сохранены в памяти, так как они используются для интерполяции в следующем фрейме. for 0 — 0: i < tpc_order. i**)

(

Ispj>reviousfi] — lsp_currentfi]:

)

Сохраненные LSPs Isp.jyevwusfl должны быть инициализированы как описано ниже, когда инициализируется весь декодер.

for 0 — 0: i < ipc_orden /++J

{

Isp_prevtous{i] = (fpc_order* 1):

}

41

ГОСТ Р 53S56.3—2012

5.6.3 Инструмент декодирования масштабируемого по полосе пропускания LSP-VQ

5.6.3.1 Описание инструмента

Инструмент декодирования масштабируемого по полосе пропускания LSP- VQ используется. чтобы добавить масштабируемость полосы пропускания к кодеру режима II. В инструменте декодирования мае* штабируемого по полосе пропускания LSP- VQ декодирующий инструмент, инструмент расширения поло* сы пропускания соединен с инструментом декодирования узкополосного LSP-VQ. Коэффициенты LPC дпя каждого подфрейма восстанавливаются путем поиска /pc_wx*ces[] и преобразовывая декодированные LSPs в узкополосном режиме.

5.6.3.2 Определения

Вход

Ipc^indices (]: Размерность этого массива равна num_lpc_indices. содержит упакованные индексы

Ipc.

tsp_current Этот массив содержит декодированные параметры LSP. которые нормализованы в диапазоне от нуля до Р/. в инструменте декодирования узкополосного LSP. Эти параметры получены как промежуточные параметры в процессе декодирования узкополосного LSP. описанном в 5.6.1 и передан* ным в инструмент декодирования масштабируемого по полосе пропускания LSP.

выход

trH_Oipc_coeffidents[}’. Этот массив содержит коэффициенты LPC дпя каждого подфрейма. Коэффициенты LPC декодируются и интерполируются, как описано в процессе декодирования. Коэффициенты LPC расположены в стеке один за другим в блоках lpc__order. Таким образом, размерность массива — tpc_order * nrof_subframes.

Конфигурация

tpc_ocder: Это поле указывает порядок используемого LPC.

num_lpcjndices: Это поле содержит число кодов упакованного LPC. Для процесса декодирования LSP с масштабируемой полосой пропускания num_fpc_indices устанавливается в 11.

nrofjsubframes: Это поле содержит число подфреймое.

nrof_subframes_bws: Этот параметр, который является переменной справки, представляет число под* фреймов в инструменте расширения полосы пропускания.

Следующие элементы справки используются в процедуре декодирования

таблицы поиска дпя процесса декодирования LSP с масштабируемой полосой пропускания

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

декодированные LSPs в узкополосном кодере CELP

декодированные LSPs е текущем фрейме в инструменте расширения полосы про* пускания

декодированные LSPs е предыдущем фрейме е инструменте расширения поло* сы пропускания

порядок LPC в инструменте расширения полосы пропускания (=20). Это удвоенный lpc_order в узкополосном CELP.

5.6.3.3 Процесс декодирования

Коэффициенты LPC в каждом подфрейме воспроизводятся, используя lpc_indices [5J.____(pc_m<*ces(10)

и текущие LSPs (isp_curren(fj) для узкополосного кодера CELP. Процедура декодирования состоит из грех шагов, декодирования LSPs в последнем подфрейме, интерполяции для других подфреймое и преобразования LSPs в коэффициенты LPC.

Процесс декодирования инструмента расширения полосы пропускания дпя параметров LSP.

Модуль межфреймового предсказания производит оценку параметров LSP. преобразовывая декодированные параметры LSP (lsp_current[J) в инструменте декодирования узкополосного LSP-VQ. Оцениваемые остаточные параметры LSP декодируются из (pc_/ntfces() посредством межфреймового предсказания скользящего среднего значения (МА).

LSPs в последнем подфрейме (lsp_bws_cu(rentfj) для инструмента расширения полосы пропусками еосстановливаются просмотром таблицы и предсказанием следующим образом:

lsp_bws_bu{}[] bws та prdctHf} bws_nw_pfdct[]

{sp_curmntf}

tsp_bws_current{]

isp_bws_pf9VtOUS[J

onterjows

42

ГОСТ Р 53556.3—>2012

for(i*0:i<5:i++)

(

lsp_bws_buffO}(i}=isp__bws_tbl[0]ppcJndtces{S]}[l}*lsp_bwsjbi{

ЗЩрс_ vxtices[7]]fi):

}

for (i = 5; i < 10; >*+)

{

tsp_bws_buf[0][i}=lsp_bws_tbl[0jppc_indices[5]][i]+lsp_bws_tbi[

3tflpcJndices[8}][b-S];

}

for(t- 10:i< 15:i*+)

(

tsp_bws_buf[0}fi}=lsp_bws_tbl[1flipcJndees{6J}[i-10}*lsp_bws tbl[4)(ipcJrKtK*sf9J}p-10);

}

for (i1S:i<20:i++)

(

tsp_bws_buf[0}[>J=4sp_bws_tbl[1 )(lpcjndices{6]][b 10)+lsp_bws_tbi(5lppcjndices(1 OJJp-IS];

}

for (n — 0: n <= 2; n*+)

(

for (f = 0: i < 20: i++)

{

lsp_bws_currBntp] *-bws_ma_j>rdct[n)[iJ4sp_bws_buf[n){i]:

}

}

for(i = 0:i<

{

tsp_bws_currentfi] ♦= bws_nwj>ntctfi)4sp_currentffi:

}

где isp_bws_tbi[}[}[) являются книгами шифров LSP. bws_ma_prdct[](] и bws_nw_prdaf] являются коэффициентами предсказания для скользящего среднего значения межфреймового предсказания и вмут-рмфреймооого предсказание, соответственно. tsp_bws_buff}[] является буфером, содержащим остаток пред» сказания LSP в текущем фрейме и предыдущих двух. Этот буфер сдвигается для работы следующего фрейма следующим образом: for (п = 2; п > 0; л* •)

(

for (i = 0: i < 20: i++)

(

lsp_bws_buffnjfi] = Isp bws_buf[n~1ff,]:

}

}

Декодированные LSPs lsp_bws_curreat{] стабилизируются, чтобы гарантировать стабильность фильтра синтеза LPC. который получен из декодированных LSPs. Декодированные LSPs упорядочены в порядке возрастания, имея расстояние между смежными коэффициентами, по крайней мере, min_дар. for (i — 0: / < lpc_order_bws; i**)

(

Я flsp_bws_cutrentfi] < 0.0 Н lsp_bws_currentp] > PAI)

{

Isp bws_currentfi] — 0.05 * PAI 4 / lpc_order_bws;

)

}

forp — (lpc_order_bws~1): i > 0; ь -J

(

43

ГОСТ Р 53556.3—2012

for 0 *0:j <i:j*+)

{

if(lsp_bws„currentft) * mm„gap > lsp_bws„current{j+1))

{

imp — 0.5 *(lsp_bws„current[j) ♦ fsp_bws_current(j+l]); lsp_bws„currontQ] = imp — 0.51 *min_gap: lsp_bws_currentQ+1] — imp ♦ 0.51* min_gap;

}

)

)

где PAI — 3.141592 и min_gap = 0,028.

Интерполяция параметров LSP

Декодированные LSPs линейно интерполируются в каждом подфрейме. for(n — 0; п < nrof subframes_bws; п**)

{

ratio_sub = (п+1 ynrof_subframes„bws: for (i — 0: i < 2*lpc_order; t*+)

(

lsp_bws_subframe{n][i}*{(1-ratio„sub) 4sp_b#sjxevtousp]

* ratio_sub’lsp_bws„currentfi))):

}

}

for (i -0:i< 2*tpc„or6ec i++)

{

isp_bws_previou${i]=tsp_bws_subframe{nrof_subframes_bw$~

Ш-

}

Преобразование LSPs в коэффициенты LPC

Интерполированные LSPs преобразуются в коэффициенты LPC в каждом подфрейме. for (о = 0:п< nrof subframes_bws: п++)

{

Ccnvert2lpc 0pc„oriar_bws.lsp_bws„sitbframe{n].

&mj_CHpc_co6fnciems[n ‘ipc_oraer_ows]);

}

5.6.4 Управление скоростью в инструменте декодирования LSP

5.6.4.1 Описание инструмента

Управление скоростью возможно с помощью инструмента декодирования LSP. Если используется FRC. во входные параметры включаются два дополнительных параметра interpotation_flag и LPC_present. Процесс декодирования узкополосного LSP выполняется, если в текущем фрейме присутствуют lpc_indtces{] (LPC„present* YES).

5.6.4 2 Определения Вход

fc>c_indjces{]: Размерность этого массива равна numjpcjndices и содержит индексы LPC. interpolation_flag: Это однобитовый флажок. Когда он установлен, флажок указывает, что рассматриваемый фрейм является неполным фреймом, то есть фрейм не несет коэффициенты LPC текущего речевого фрейма, а только его параметры возбуждения (параметры адаптивной и фиксированной книги шифров). Коэффициенты LPC для рассматриваемого речевого фрейма должны быть получены, используя интерполяцию коэффициентов LPC смежных фреймов.

1 коэффициенты LPC фрейма должны быть найдены интерполяцией 0 коэффициенты LPC фрейма не нужно интерполировать.

Для того чтобы поддержать хорошее субъективное качество, никогда не должно быть более одного фрейма подряд без информации LPC. то есть. interpo/at>on_fieg не может иметь значения 1 в двух последовательных CetpFrames.

44

ГОСТ Р 53556.3—2012

LPC_Preseat—Это поле указывает присутствие параметров LPC в рассматриваемом речевом фрейме. Эти коэффициенты LPC принадлежат текущему речевому фрейму или последующему фрейму. Когда используются в комбинации с interpolation_ffag эти два параметра полностью описывают, как получены коэффициенты LPC текущего фрейма. Если установлен флажок интерполяции, коэффициенты LPC текущего фрейма вычисляются при использовании коэффициентов LPC предыдущего и следующего фрейма. Это означает, что декодирование текущего фрейма должно быть отсрочено на один фрейм. Чтобы избежать этой дополнительной задержки в декодере, коэффициенты LPC следующего фрейма включены в текущий фрейм. В этом случае установлен флажок LPC_Present. Так как коэффициенты LPC следующего фрейма уже присутствуют в текущем фрейме, следующий фрейм не будет содержать информацию LPC.

Ест interpotattonjlag равен *1~ и LPC^Present равно *1*. то (а) параметры LPC текущего фрейма получают, используя параметры LPC предыдущего фрейма и параметры следующего фрейма, и (£>) текущий фрейм (фрейм на рассмотрении) переносит параметры LPC последующего фрейма, но не такие, как для рассматриваемого фрейма. Коэффициенты LPC рассматриваемого фрейма получаются интерполяцией ранее полученных параметров LPC и параметров LPC. полученных в рассматриваемом фрейме.

Ест interpotatk>n_fteg равен *0* и LPC_Preseni равно ”0’. параметры LPC. которые будут использоваться с рассматриваемым фреймом, получены в предыдущем фрейме.

Когда interpotatk>n_fIag *0* и LPC_Present равно * 1 *. тогда текущий фрейм является полным фреймом, и параметры LPC. полученные в текущем фрейме, принадлежат текущему фрейму.

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

01.01.01.01.01.01.. .. строка 01 повторяется

11.00. 11.00.11.00…. строка 11.00 повторяется (фиксированная битовая скорость достигается на протяжении двух фреймов)

Для переменной битовой скорости (когда FineRateControl = ON) строка обычно не будет содержать фиксированный шаблон.

Выход

int_ Qtpc_coeffic/enfs/7- Этот массив содержит коэффициенты LPC для каждого подфрейма. Коэффициенты LPC декодируются и интерполируются, как описано в процессе декодирования.

5.6.4.3 Процесс декодирования

Если in}orpoJoik>r>_ flog установлен, декодированные в текущем фрейме LSPe принадлежат следую

щему фрейму, a LSPs для текущего фрейма вычисляются линейной интерполяцией LSPs соседних фреймов.

Ест interpciatfon_flag не установлен и £cj/Khces(] присутствуют в текущем фрейме, вычисленные коэффициенты пртадлежат текущему фрейму, и интерполяцию выполнять не нужно.

Ест interpoiabon_flag не установлен и4pc./n<*ces(] отсутствует в текущем фрейме. LSPs для текущего фрейма уже получены в предыдущем фрейме. Поэтому LSPs. полученные в предыдущем фрейме, копируются и используются в текущем фрейме.

5.7 Генератор возбуждения CELP

Генератор возбуждения CELP генерирует сигнал возбуждения для одного подфрейма из полученных индексов, используя процесс возбуждения регулярным импульсом (RPE) или процесс мультиимпульс-мото возбуждения (МРЕ) в зависимости от режима кодирования (см. таблицу 86).

Таблица 86 — УЪгструменты генерации возбуждения

Режим Еоаиродеиия

Частота дисхретимдии

Инструмент

Model

16 кГц

RPE

Mode II

8.16 кГц

8.16 кГц

8/16 кГц (8WS)

МРЕ

МРЕ с масштабируемой битовой скоростью МРЕ с масштабируемой полосой

45

ГОСТ Р 53556.3—2012

5.7.1 Инструмент возбуждения регулярным импульсом

5.7.1.1 Описание инструмента

Сигнал возбуждения создается из периодического компонента (вклад адаптивной книги шифров) и непериодического компонента (вклад RPE). масштабированных их соответствующими усилениями. Используя shape_deiay[sub_frame] и pa«_/ntfces[0][so6_frame]. вычисляется вклад адаптивной книги шифров. Вклад RPE вычисляется путем использования shape_tndex{sub__frame] и ga/nJrxflcesIlKsub.fra/ne]. Для ясности индексация, основанная на subjrame. опущена. Процесс генерации возбуждения повторяется каждый подфрейм.

5.7.12 Определения вход

shape__defay{Y Этот массив имеет размерность nrof_subframes и содержит задержку адаптивной книги шифров.

sfiape_tfx#exfl- Этот массив имеет размерность nrof_subframes и содержит индекс книги шифров RPE. gainJndices{Q%]: Этот массив имеет размерность nrof_subframes и содержит индекс усиления адаптивной книги шифров.

gain_ir>ctices{1K]. Этот массив имеет размерность nrof_subframes и содержит усиление книги шифров

RPE.

выход

ехсПабопЦ. Этот массив имеет размерность sbfrm_size и содержит сигнал возбуждения. Этот сигнал восстановлен из векторов формы и усиления, используя адаптивные и фиксированные книги шифров. lag: Это поле содержит декодированную задержку (период шага) для адаптивного codevector. adaptive_gatn: Эта область содержит декодированное усиление для адаптивного codevector. Конфигурация

sbfrm_size: Это поле указывает число отсчетов в подфрейме. nrof_subframes: Это поле указывает число подфреймов.

Дополнительные элементы, используемые е режиме возбуждения RPE. следующие: tbi_cba_gain[J таблица поиска для усиления адаптивной книги шифров tbi_cbf jjainfl таблица поиска для усиления фиксированной книги шифров

tbl^cbf_gain_diff} таблица поиска для разницы усиления фиксированной книги шифров cba[] адаптивная книга шифров

ptev_Gf усиление фиксированной книги шифров предыдущего подфрейма

5.7.1.3 Процесс декодирования

5.7.1.3.1 Декодер формы

Этот блок описывает извлечение запаздывание адаптивной книги шифров и параметров ЯРС. Задержка адаптивной книги шифров получается из shape_delay следующим образом. lag — Lmax — Lmin — shape^deiay,

где Lmax и Lmin—максимальная и минимальная задержка, соответственно, равные 295 и 40. Коэффициент уменьшения D и число импульсов Np сведены в таблицу.

Параметры RPE, а именно, фаза RPE (rpe_phase) и амплитуды RPE (rpe_amps) получают следующим образом:

rpejndex — shapejndex: rpe_phase — rpejndex MOD D rpe_tndex — rpejndex/D; for (n = Np — 1: n> — 0: n-)

{

rpe_amps (n) = (rpejndex MOD 3) -1;

rpe__index — rpejndex/3:

}

5.7.1.3.2 Декодер усиления

Этот блок извлекает скалярное квантованное усиление адаптивной и фиксированной книг шифров из индексов усиления. Усиление адаптивной книги шифров Ga определяется поиском cba_gain (] в таблице (см. таблицу 88):

if (gain indtces[0}>31)

{

Ga — -1 * cba_gain(((64 — gainJndicesfO]) -1)}:

46

ГОСТ Р 53556.3—>2012

;

Else

{

Ga = cba_gain[gajn_indices(OJ);

}

Декодирование усиления фиксированной книги шифров зависит от рассматриваемого подфрейма. Для поиска усиления фиксированной книги шифров Gf используется вектор усиления. Для первого под* фрейма во фрейме усиление декодируется с:

Gf-cbf_gain[gainjndices[1)).

где cbf_gain[] дается в таблице 89. Для всех последующих подфреймов усиление декодируется, используя сЫ_9&n_<Af[]. представленный в таблице 90;

Gf-cbf_gain_dif[gair>_indices[1 В * prev_Gf.

где prev_Gf— декодированное усиление предыдущих подфреимов.

5.7.1.3.3 Генерация адаптивной книги шифров

Сначала будет описана генерация сигнала возбуждения, обусловленная адаптивной книгой шифров. Возбуждение для адаптивной книги шифров уа[п] вычисляется, используя вектор формы: for (п -0:п< sbfrm size: п +*)

(

уа{п) = cbapag * п]:

)

5.7.1.3.4 Генерация фиксированной книги шифров

Возбуждение для фиксированной книги шифров вычисляется в два шага. Чтобы генерировать фиксированную книгу шифров, также нужны два дополнительных параметра, а именно. О (интервал импульса или коэффициент уменьшения) и Np (число импульсов).

Эти значения зависят от битовой скорости и сведены в таблицу 87.

Таблица 87 — Распределение интервала импугъса и числа импульсов в RPE

RPE_CooSgurabcn

0

Np

0

8

5

1

8

5

2

5

6

3

4

6

4…..7

Зарезервировано

Когда фаза и амплитуды известны, амплитуды помещают в регулярную сетку. У амплитуд может быть 3 различных значения:-!,0 и 1. Возбуждение для фиксированной книги шифров, yf, вычисляется, используя /?Р£-формулу:

for (п -0:п< sbfrm_size: п**)

(

т — 0:

}

for (п -0:п< Np: п**)

(

yf[pbase ♦ D‘n] — amp/п/.

}

5.7.1.3.5 Генерация возбуждения

Возбуждение является суммой адаптивного и фиксированного возбуждения, умноженных на соответствующие усиления:

for(n -0:п< sbfrm see; п**)

(

excitationln) = Ga * уа/л/ ♦ Gf * yffnj:

}

47

ГОСТ Р 53556.3—2012

Должна быть обновлена адаптивная книга шифров, используя возбуждение. Это делается путем сдвига адаптивной книги шифров на sbfrm_size входов, заполняя пустые входы вычисленным возбуждением.

for(n — sbfrm_size: п < Lmax: п*+)

{

cba[n-sbfrm_size]-cba[n];

}

for (п -0;п< sbfrm_Size; п**)

{

cbafLmax- 1-п] = excitation{$bfrm_size -1 — п):

}

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

Представления для усиления книги шифров даны в таблице 88. таблице 89 и таблице 90.

Таблицам — Таблица предстаалетя для усиления адаптивной книги шифров Масштэб*ый коэффициент: 2*17

Индекс

cba_g*m

3

471471

4

548272

5

61669

Индекс

сЬв_9в<о

0

12386

1

27800

2

38483

Масштабный коэффициент: 2*15

Индекс

сЬа_дач7

Индекс

сбагрил

6

16993

15

318778

7

18520

16

302847

8

20021

17

336079

9

21493

18

3555010

10

22938

19

3780811

11

24396

20

4061312

12

25834

21

4412213

13

27292

22

4884714

14

28767

23

55745

Масштабный коэффициент: 2*8

Индекс

сб а_даи>

Индекс

с Ьа_дат

24

528

28

5553

25

727

29

11107

26

1388

30

22214

27

2777

31

44426

Таблица89 — Таблица представления для усиления фиксированной книги шифров Масштабный коэффициент: 2*12

Индекс

сbargain

Индекс

cba_g*m

0

8192

4

265731

1

11578

5

343242

2

14877

6

441603

3

199909

7

55564

48

ГОСТ Р 53556.3—2012

Масштабам коэффициент: 2*9

Индекс

сЬа_раи?

8

8739

9

10823

10

13458

11

16451

12

19978

13

24039

Масштабам коэффициент: 2*5

Индекс

cda_pw

20

4327

21

4954

22

5700

23

6551

24

7649

25

8977

Индекс

с 6а_рвп

14

28624

15

33682

16

39118

17

45372

18

52626

19

60243

Индекс

с6а_9*ил

26

10689

27

13066

28

16183

29

21291

30

32832

31

Зарезервирован

ТабпицаЭО — Таблица представления для дифференциала усиления фиксированной книги шифров Масштабам коэффициент: 2*13

Индекс

cfta_pem

0

819

1

3205

2

5418

3

7335

Индекс

cba_g*tn

4

9544

5

12783

6

22118

7

53248

5.7.2 Инструмент генерации мультиимпульсмого возбуждения

5.7.2.1 Описание инструмента

Процесс генерации возбуждения повторяется каждый под фрейм. Сигнал возбуждения создается из периодического компонента (вектор адаптивной книги шифров) и непериодического компонента (вектор фиксированной книг шифров), масштабированных их соответствующими усилениями. Векторы адаптивной и фиксированной книги шифров декодированы из shape_delay. shape_pos&ons и shape_stgns. Усиления декодируются исходя из трех типов индексов $tgnal_mode. rmsjndax и gatn_tndex.

5.72.2 Определения

Вход

s/rape.de&yf): Этот массив имеет размерность nrof_subframes и содержит задержку адаптивной книги шифров

shape_postk>ns[]: Этот массив имеет размерность nrof_subframes и содержит позиции импульса

sAape_sipns[l: Этот массив имеет размерность nrof_subframes и содержит знаки импульса

gam_index[): Этот массив имеет размерность nrof_subframes и содержит индекс усиления адаптивной книги

шифров и индекс усиления фиксированной книги шифров

rms_tnd6x: Это попе определяет индекс для мощности сигнала

stgnal_mode: Это поле содержит флажок голосовой/меголосоеой

int_0fpc_coefficfen(s{]: Это — массив размерности 1рс_огбег. содержит коэффициенты квантованного и интерполированного LPC одного подфрейма.

Выход

exatabonf): Этот массив имеет размерность sbfrm sae и содержит сигнал возбуждения. Этот сигнал реконструируется из векторов формы и усиления, используя адаптивные и фиксированные книги шифров

49

ГОСТ Р 53556.3—2012

acb_detay. Это поле содержмт декодированную задержку для адаптивного codevector adapttve_gain: Это поле содержит декодированное усиление для адаптивного codevector.

Конфигурация

Ipc_order Это поле указывает порядок LPC. который используется

sbfrm_size Это поле указывает число отсчетов в лодфрейме

nmf_subframes Это поле указывает число подфреймов.

Дополнительные элементы, используемые в инструменте МРЕ. следующие: pacb[j таблица поиска возбуждения для периодического компонента

pos_tbi[][] таблица поиска возбуждения для непериодического компонента

acb[) декодированный сигнал возбуждения как периодический компонент

fct>[] декодированный сигнал возбуждения как непериодический компонент

да декодированное усиление для периодического компонента

gf декодированное усиление для непериодического компонента

qxnormf] декодированные среднеквадратические значения речевого сигнала

parf] коэффициенты отражения, преобразованные из Qlpc_coeffidentsl]

acb_energy энергия acbfj

fcb__energy энергия fct[}

acb_defay целая часть задержки шага

acbjrac дробная часть задержки шага

5.7.2.3 Процесс декодирования

5.7.2.3.1 Декодирование stgnai^mode

Stgnai_mode (режим сигнала) представляет собой один из четырех режимов для каждого фрейма. Режимы 0 и 1 соответствуют неголосовому фрейму и фрейму перехода. Режимы 2 и 3 соответствуют голосовым фреймам, а последний указывает более высокую периодичность шага, чем первый. Эта информация используется в декодировании энергии фрейма, мультиимпульсиого возбуждения и усилений.

5.7.2.3.2 Декодирование энергии фрейма

Среднеквадратическое значение (rms) в последнем подфрейме восстанавливается, используя sjgrtal^mode и rmcjndax. Значение rms декодировано в шкале р—характеристики. Параметры р—характеристики зависят от stgnat_mode. Среднеквадратические значения других подфреймов получают линейной интерполяцией декодированных срвднвквадрапческих значений в последнем подфрейме текущего и предыдущего фреймов. Квантованные значения rms используются для процесса декодирования усиления.

deft = 1.0/64:

аа — 1.0/tog10(1.0 * mu_law); bb — rms^max /mu_law: pwk = aa ‘fog10(1.0 *pqxnorm/bb): qwk = detC(rms_index+1); forfi-0:i<n subframes:i**)

{

nwk — (qwk-pwky(t+1)/n_subframes ♦ pwk: qxnormp] — bb'(pow((doubie>10.0.(nwk/aa)) -1.0):

}

pqxnorm — qxnorm (n_subframes-1];

Значение rmc_max и mujaw показаны в таблмце 91.

Таблица 91 — Значение тк_тах и mu_taw

Sign»l_mode

гт с_тах

mu_iaw

0

7932

1024

1.Z3

15864

512

5.7.2.3.3 Декодирование вектора адаптивной книги шифров

Целую и дробную части задержки шага получают из shape_<Шау. таблицы отображения между shape_detay и двумя частями задержки шага показаны в таблице 92 для частоты дискретизации 8 кГц и в таблице 93 для частоты дискретизации 16 кГц. Вектор адаптивной книги шифров acbfn) вычисляется интер

50

ГОСТ Р 53556.3—>2012

поляцией прошлого сигнала возбуждения pacb[n) в декодированной целой части задержки ach_delay и дробной части acbjrac. Интерполяция производится, используя FIR фильтр кк_Щк]. основанный на функции синхронизации с окном Хемминга. Если значение shape_delay равно 255 для частоты дискретизации 8 кГц или 511 для частоты дискретизации 16 кГц. выход acb{] состоит из отсчетов со всеми нулевыми значениями. Для других индексов выход acbf) вырабатывается следующей процедурой: for(n = 0:п <sbfrm size;)

(

tt *- acb_frac:

kt — acb_delay ♦ tt/6:

tt = tt % 6;

for (i — 0: i<kt&&n< sbfrm_size; n*+)

{

for (k- -/flap: к <= iftap; k**)

{

kk-(k*1)

acb[n) *- int_fU{abs(kk)] * pacb[pacb_size-{kt4+k+1)];

pacb[pacb_size+n] = acbfn]:

}

}

)

где параметры справки iftap и pacb_size зависят от частоты дискретизации (см. таблицы 92.93.94).

Таблица 92 — Отображение между shape_delay и задержкой шага для частоты дискретизации 8 кГц

atrape^dolay

acb_ttetay

acb_frac

0-161

shape _delay!3+-17

[2‘shape_delay)%6

162-199

(shape_delay- 162У2+71

(3*(shape_de/ay-162))%6

200 — 254

sftape_detey-200+90

0

255

0

0

Таблица 93 — Отображение между shape_delay и задержкой шага для частоты дискретизации 16 <Гц

thape_delay

acb_betay

ocb_frac

0-215

shape_deiayl3+2Q

(2’shape_delay)%6

216 — 397

(shape_delay- 216J/2+92

{3*(sftape_defey-216))%6

398 — 510

s/iape_detoy-398+183

0

511

0

0

Таблица94 — Число отводов фильра интерполяции и размер адаптивной книги шифров

Частота дискретизации

Число отводов

pacb_s»e

в кГц

6

150

16 кГц

11

306

5.7.2.3.4 Декодирование вектора фиксированной книги шифров

Вектор фиксированной книги шифров содержит несколько ненулевых импульсов и представлен позицией импульса и амплитудами импульса. Позиции импульса pul_j>os[i] извлекаются из shape_positions. Амплитуды импульса pui_amp[i] получают из shape__stgns. for fi = пит jwlse-1. к а 0; i >= О; ь •)

{

for (j- 0: j < пит_Ы_pos[iJ: j**) (

51

ГОСТ Р 53556.3—2012

posjdxp] \= ((shape_postions»k)&0x1)«/; к**:

}

put_amp[i] -1.0;

if (((stiape_signs » (num_pul$e~1-i))&0x1) — 1)

(

pul_amp{i] = -1.0;

}

pulJ>os[i] = pos_tbi{i}[pos_kix{i]];

}

где пит_putee—число импульсов, устанавливается из MPE_ConfiguraOon в зависимости от частоты дискретизации. num_bit_pos[i)—число битое для кодирования позиции wo импульса. posJUpJQJявляется таблицей ограничения, которая указывает возможные позиции для каждого импульса. Таблица 95 указывает возможные позиции для каждого импульса. Таблица 96 устанавливается в соответствии с комбинацией subfrm_size. пит_putse и num_bit_posQ следующим образом: step =subfrm_s<ze/min_num_bft_pos. for (i = 0; i <■ num_putse: i+*)

{

m = 1« (num_brt_pos[i}-rr*n_num_bft_pos); for (j = 0. к = 0: к < m)

{

cft/Я = i;

j *= (fong)((fk>at)step’m * O.S): j =j% step;

}

}

for (i = 0: i < num_pulse: /♦♦J

/

for (I = 0. к = 0; к < step; к**)

{

iffi== chfk})

{

for(j = 0: j < min_num_bit_pos.y>+)

{

posjblfi}p**J = к * step ‘j:

}

)

}

Таблица 95 — *Ь*сло импульсов для частоты дискретизации 8 кГц

UP£_Con-ftgucaCon

яит_риН*

0

3

1

4

2

5

3

5

4

6

5

7

6

6

7

7

8

8

9

9

UPE_Con-

hgurabon

num_puis«

10

10

11

11

12

12

13

4

14

5

15

6

16

7

17

8

18

9

19

10

MPf.Co»-

Apurstton

num_pu&«

20

11

21

12

22

8

23

9

24

10

25

11

26

12

27… 31

Зарезервировано

52

ГОСТ Р 53556.3—>2012

Таблица 96 — Число импульсов для частоты дискретизации 16 кГц

UPE_ConAgur»tion

8.24

3

9.25

4

10. 26

5

11. 27

6

12. 28

7

13. 29

в

14. 30

9

15. 31

10

UPE _Соп figuration

num_polse

0. 16

5

1. 17

6

2. 18

7

3. 19

8

4. 20

9

5. 21

10

6. 22

11

7. 23

Зарезервировано

Позиции импульса, используемые в кодере режима II на 6 кбит/с для частоты дискретизации 8 кГц показаны в таблице 97.

Таблица 97 — Позиции импульса дли кодера на 6 кбит/е

Poise number, f

Hum _ M_ pospl

Позиции иипупьса. pos_t&Jfi7W

0

4

0,5.10.15.20.25.30,35.

40.45.50.55.60.65.70.75

1

4

1.6.11.16.21.26,31.36. 41.46.51.56.61.66.71.76

2

4

2.7.12.17.22.27.32.37

42.47.52.57.62.67.72.77

3

3

3.13.23.33.43.53.63.73

4

3

4.14.24.34.44.54.64.74

5

3

8.18.28.38.48.58.68.78

6

3

9.19.29.39.49.59.69.79

Вектор фиксированной книги шифров fcb(n) подсчитывается из pul_posfi) и pul_amp[i) следующим образом:

for (п = 0; л < sbfrm_sae: п*+)

{

fcbfn) = 0.0:}

for пит_pufee: i**)

{

fcbfpuljxtsfifl — pul_amp[i):

}

Если целочисленная задержка acbjMay меньше, чем размер подфрейма sbfrm_size. векторный сигнал фиксированной книги шифров fcbfn) измененяется гребенчатой фильтрацией zen>stat&-cornbfjftenng следующим образом:

for (п = 0; п < sbfrm_Size: п**)

{

if (п — acb_detayt >- 0)

{

Ы — fcbfn — acbjlalay):

}

else

(

и-0.0:

53

ГОСТ Р 53556.3—2012

;

fcbfn] *- cga[signaJ_mode] *ix:

}

roe cga [4] = {0.0.0.0.0.6.0.8} являются усилением гребенчатого фильтра.

5.7.2.3.5 Декодирование усилений адаптивной и фиксированной книг шифров

gatn_mdex преобразуется в нормализованные усиления пда. ngf для векторов адаптивной и фиксированной книг шифров. Таблица усиления изменяется в соответствии cstgnal_mode. sbfrm_stze и частотой дискретизации. Усиление адаптивной книги шифров да и усиление фиксироеамюй книги шифров gf вычисляются следующим образом:

да = пда * sqrt (norm/acb_energy): gf=ngf’sqrt (norm / fcb^energy).

где acb_energy и fcb_energy являются энергиями для векторов адаптивной книги шифров и фиксированной книги шифров соответственно, norm—коэффициент нормализации.

norm — (qxnonn*sob6w_sizenqxnorm’,subfim_size): for(i- 0;i<lpc order i**)

{

norm «= (1 — parpj * parffl):

}

где part] являются коэффициентами отражения и подсчитываются из LP коэффициентов int_Qfpc_ coefficients!). При этом qxnorm является квантованной энергией подфрейма, которая декодируется из rmcjndex (см. 5.7.2.3.2).

5.7.2.3.6 Генерация сигнала возбуждения

Сигнал возбуждения (excitationf)) вычисляется суммированием acbff и fcPfl масштабированных да и д/соответственно.

for 0 — 0: i < sbfrm_size: i+*)

{

excitationfi) — ga’acbfi) ♦ gTfcbp):

}

5.7.2.3.7 Обновление адаптивной книги шрифтов

Адаптивная книга шифров обновляется для процесса декодирования в следующем фрейме сгенерированным сигналом возбуждения excitationf] следующим образом: for 0-O;i< pacb size — sbfrm_sjze; i**)

(

pacbp] — pacbfsbfrm_si2e*i);

}

for 0- 0: i < sbfrm_size: (++}

{

pacb[pacb size-sbfrm_size*i] — excitationf];

)

5.7.3 Инструмент генерации мультиимпульсного возбуждения с масштабируемой битовой скоростью

5.7.3.1 Описание инструмента

Декодер масштабируемой битовой скорости реализуется, используя инструмент мультиимпульсного возбуждения с масштабируемой битовой скоростью, который состоит из инструмента мультиимпульсного возбуждения и инструмента декодирования возбуждения расширения. Это расширение масштабируемости разрешено только для кодера режима II. Сигнал возбуждения расширения восстанавливается путем поиска shape_enh_positions. sbape_enh_stgns. gain_enhjndex и использования сигнала декодированного мультиимпульсного возбуждения в инструменте мультиимпульсного возбуждения.

5.7.3.2 Определения Вход

shape_defay[]: Этот массив имеет размерность nrof_subframes и содержит задержку адаптивной книги шифров

sfiape_positions[]: Этот массив имеет размерность nrof_subframes и содержит позиции импульса shape_signs[]: Этот массив имеет размерность nrof_subframes и содержит знаки импульса sbape__enh_positions[Y Этот массив имеет размерность nrof_subframes и содержит позиции импульса

54

ГОСТ Р 53556.3—>2012

shape_enh_sjgns[]: Этот массив имеет размерность nrof_subframes и содержит знаки импульса gain_enhjndex[): Этот массив имеет размерность nrof_subframes и содержит индекс усилений адаптивной книги шифров и индекс усиления фиксированной книги шифров

int_Qlpc_coeffidents[f. Это массив размерности lpc_order содержит квантованные и интерполированные коэффициенты LPC одного подфрейма Выход

enh_exdtabon[]: Этот массив имеет размерность sbfrm_size и содержит сигнал возбуждения расширения. Этот сигнал реконструируется из векторов формы и усиления, используя фиксированную книгу шифров.

Конфигурация

lpc_order. Это поле указывает порядок LPC. который используется sbfrm^size: Это поле указывает число отсчетов в подфрейме nrof_subframes: Это поле указывает число подфреймое

Дополнительные элементы, используемые в инструменте МРЕ с масштабируемой битовой скоростью. следующие:

pos_tbt{JI] таблица поиска возбуждения для непериодического компонента

enhjfcbl) декодированный сигнал возбуждения как непериодический компонент

да декодированное усиление для непериодического компонента

anhjcbjanargy энергия enhJcbQ

5.7.3.3 Процесс декодирования

5.7.3.3.1 Декодирование вектора фиксированной книги шифров расширения Вектор фиксированной книги шифров расширения также состоит из нескольких ненулевых импульсов. Позиции импульса и амплитуды извлекаются из shape_anh^positions. shape_enb_stgns тем же алгоритмом декодирования, что из фиксированной книги шифров. Векторы фиксированной книги шифров расширения enh_fcb[n] вычисляются из put_pos р] и put^amp [i] следующим образом: for(i-пит_putse enh-1,

(

for numjbitjx>s[i], j++) (

pos_kfxp]\-((shapa__enh_positions»k)&Ox 1) «/; k*+:

}

pul_amp[i] -1.0;

if(((snape_ann signs »(num_putse_enn-i-i))&Oxi)~i)

{

put_ampfi] = -1.0;

}

pul_posfi]-pos tbtfiflpos^idxpff;

}

for (n -0;n< sbfrm_sjze: n**)

(

enh_fcb[n]=0.0;

}

for fl -0;i< num__pulse_enh: h*)

(

enh_fcb[pulJ30sftj] — pul_ampp]:

}

Таблица 98 — Определение по/л_putse_enh

sb(rm_me

num

40

2

80

4

55

ГОСТ Р 53556.3—2012

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

for (п = 0; п < num_enh: п**)

{

for (i = aumfn}-1. к — 0: i >- О: /• -)

{

pu/_foc = 0:

tor (j -0;j < bitjxtsfi); j**)

{

pul Joe |= ((tdx(nf»k)&Ox1)«j; k**:

}

pul_loc-chn_posfi*ten+pul_loc); for (!-0: К 10; h+)

{

for(m-0:m< (1« bit_posjygPJ): m+*)

{

if (pui_kx — ctin_pos_orgp’ien+m]) chn_ctrfi)++; break

}

}

)

}

for (i — 0: i < 10: t+*)

{

ctr_tmp(i] — chn_ctrfij:

}

for 0 — 0: i < num[n*1}; i**)

{

min_ctr — ten:

for Q=.0:j< 10;j*+)

{

if (ctr tmpfi] < min_ctr)

{

min_ctr — ctr_tmpffl: m/n_cftn =j;

}

}

ctr_tmp[mtn_chn] = ten:

M_pos__org[min_chn);

for(j = 0:j<(1«bkjx>s_org[min_ctwJ):j++)

{

chn_pos(i*len*jJ-chn_pos_org[min_chnTen+j];

}

}

}

for fi — 0: i < num[num_enhj; i**)

{

Ыф] = bit_fiOS(i):

for(j -0;J< (1«ЬЩ): j**)

(

56

ГОСТ Р 53556.3—>2012

posjbft*fan*jJ-chn_posp*ten+fl:

}

}

Позиции импульса, используемые е инструменте возбуждения расширения, показаны в таблице 99 и таблице 100. Таблица изменяется в зависимости от длины подфрейма.

Таблица 99 — Временная таблица позиций имгтугьсз для подфрвйма с 80 отсчетами

Номер импульс* i

bit_ро*_огрй

0

3

0.10.20.30.40.50.60.70

1

3

1.11.21.31.41.51.61.71

2

3

2.12.22.32.42.52.62.72

3

3

3.13.23.33.43.53.63.73

4

3

4.14.24.34.44.54.64.74

5

3

5.15.25.35.45.55.65.75

6

3

6.16.26.36.46.56.66.76

7

3

7.17.27.37.47.57.67,77

8

3

8.18.28.38.48.58.68.78

9

3

9.19.29.39.49,59.69.79

Таблица 100 — Времежая тэбгмца поэм^ий импугъса для под фрейма с 40 отсчетами

Номер импульса, i

bit_po*_orp(i|

Позиция импульса cftn_po*_orj(i]|j]

0

2

0.10.20.»

1

2

1.11.21.31

2

2

2.12.22.32

3

2

3.13.23.33

4

2

4.14.24.34

5

2

5.15.25.35

6

2

6.16.26.»

7

2

7.17.27.37

8

2

8.18.28.X

9

2

9.19.29.»

5.7.3.3.2 Декодирование усиления фиксированной книги шифров расширения gain_anb_indax преобразуется в нормализованное усиление пде для вектора фиксированной книги

шифров расширения путем просмотра таблицы усиления. Таблица усиления меняется в соответствии с stgnal^mode. Усиление фиксированной книги шифров расширения да вычисляется следующим образом: да — пде * sort (norm/enh_fcb_energy):

где enh_fcb_energy — энергия для вектора фиксированной книги шифров расширения, norm — коэффициент нормализации.

5.7.3.3.3 Генерация расширенного сигнала возбуждения

Расширенный сигнал возбуждения (anh_excitation[]) вычисляется, добавляя вектор книги шифров расширения к сигналам возбуждения, for (7= 0; i < sMто see: i+*)

(

anh_axc*tation[i) — axcilatsonfi] * ge’enh^fcbp]:

}

57

ГОСТ Р 53556.3—2012

5.7.4 Инструмент генерации мультмимпульсного возбуждения с масштабируемой полосой пропускания

5.7.4.1 Описание инструмента

Процесс декодирования возбуждения в декодере с масштабируемой полосой пропускания достигается с помощью инструмента мультиимпульсного возбуждения с масштабируемой полосой пропускания, который состоит из инструмента мультиимпульсного возбуждения и инструмента расширения полосы про-пускания. Это расширение масштабируемости позволено только для кодера режима II. Сигнал масштабируемого возбуждения восстанавливается поиском shape_bwsjx&tions. shape_bws_ signs и gain_bws_index и использованием декодированных выходов для частоты дискретизации 8 кГц. а именно, целочисленной и дробной части задержки шага и вектора фиксированной книги шифров. Эти выходы генерируются инструментом декодирования МРЕ (5.7.2) или инструментом декодирования МРЕ с масштабируемой битовой скоростью (5.7.3).

5.7.4.2 Определения Вход

shape_bws_delay\ ]: Этот массив имеет размерность nrof_subframes_bws и содержит задержку адаптивной книги шифров

$hape_bws_posrt/ons(J: Этот массив имеет размерность nrof_subframas_bws и содержит позиции импульса

sftape_bws_signs(]: Этот массив имеет размерность nrof_subframes_bws и содержит знаки импульса ga/n_ptvs_jr>dex[]: Этот массив имеет размерность nrof_SLtbframes_bws и содержит индекс усиления адаптивной книги шифров и индекс усиления фиксированной книги шифров mc_index: Это поле определяет индекс для мощности сигнала stgrtal^mode. Это поле содержит флажок голосовой/неголосоеой

frtf_Q4pc_coefficie/itefj: Это массив размерности lpc_order содержит коэффициенты квантованного и интерполированного LPC одного подфрейма Выход

ехс4агюл[]: Этот массив имеет размерность sbfrm__size и содержит сигнал возбуждения. Этот сигнал восстановлен из векторов формы и усиления, используя адаптивные и фиксированные книги шифров acb_deiay. Это поле содержит декодированную задержку для адаптивной книги шифров adaptive_gain: Это поле содержит декодированное усиление для адаптивной книги шифров Конфигурация

Upcjxder. Это поле указывает порядок LPC, который используется

sofim^s/ze; это поле указывает число отсчетов в подфрейме в инструменте расширения полосы пропускания

nrof_subframes_bws: Это поле указывает число подфреймов в инструменте расширения полосы пропускания

Дополнительные элементы, используемые в инструменте МРЕ с масштабируемой полосой пропускания. следующие:

pacbf)

pos_tbl[)[}

acbf]

fcb1U

fcb2{)

9a

on

9f

qxnorml} parQ

acb^energy

fcb1_energy

fcb2_anafgy

acb_deiay_wb

acbjracjub

таблица поиска возбуждения для периодического компонента таблица поиска возбуждения для непериодического компонента декодированный сигнал возбуждения как периодический компонент декодированный сигнал возбуждения как непериодический компонент декодированный сигнал возбуждения как непериодический компонент декодированное усиление для периодического компонента декодированное усиление для непериодического компонента декодированное усиление для непериодического компонента декодированные среднеквадратические значения речевого сигнала коэффициенты отражения, конвертированные иэюГ_ОД>с_ coefficients О энергия acb[] энергия fcb1[/ энергия fcb2[J целая часть задержки шага дробная часть задержки шага

ГОСТ Р 53556.3—>2012

5.7.4.3 Процесс декодирования

Для декодера режима II с масштабируемостью полосы пропускания сигнал возбуждения при частоте выборки 16 кГц создается из периодического компонента (вектор адаптивный книги шифров) и двух непериодических компонентов (вектор фиксированной книги шифров 1 и 2) масштабированных соответствующими усилениями.

5.7.4.3.1 Декодирование stgnaJ_mode

Stgnal_mode также используется в декодировании энергии фрейма, мультиимлульсного возбуждения и усилений е этом процессе декодирования.

5.7.4.3.2 Энергия декодирования фрейма

Процедура декодирования является такой же. как инструмент декодирования МРЕ.

5.7.4.3.3 Декодирование вектора адаптивной книги шифров

Целую и дробную части задержки шага получают из shape_delay и shape_bws_delay. acb_detay и ecbjrac в частоте дискретизации 8 кГц декодируются в инструменте МРЕ и подаются на инструмент расширения полосы пропускания для сигнала воэбуждежя. Параметры частоты дискретизации 8 кГц конвертируются в параметры частоты дисхретизацт 16 кГц acb_detay_wb, acb_frac_wb в частоте дискретизации 16 кГц следующим образом; op_deiay_wb = 2 * acb_delay if (acbjrac!- О)

(

op de!ay__wb++:

}

if (op_ctelay_ wb == 0)

(

op_idx_wb = 778;

)

else

(

op_idx__wb = (op_delay wb — 32) ‘3*2:

}

st_ktx_wb — opJdx_wb — 4; if (st_ktx_wb < 0)

(

st_kfx wb-0;

}

if ((st_idx_wb ♦ 7) >- 778)

(

st_kfx wb = 778-8:

}

if (opJdx__wb == 778)

{

acb_tdx_wb — 778:

}

else

(

acb_tdx__wb = st_idx_wb * shape__bws_delay:

)

Отображение между acb_idx_wb и параметрами задержки шага acb_delayjwb. acbjrac_wb показано в таблице 101. Вектор адаптивной книги шифров acb{n] вычисляется, интерполируя прошлый сигнал возбуждения pacb(n) при декодированной целочисленной задержке acb_delay_wb и дробной acbjracjwb. Интерполяция выполняется, используя фи/ътр FIR int_fil[k). к=0…, 66. основанный на функции синхронизации с окном Хемминга. Если значениеshape^delay равно 255 или значение shape_bws_delay равно 768. выход act>{] состоит из всех нулевых отсчетов. Для других комбинаций индексов выход acb{) получают следующей процедурой:

for (п -0:п< sbfrm_sae:)

{

59

ГОСТ Р 53556.3—2012

tt ♦= acb_frac_wb:

kt — acb_deiay_wb *tt/6:

tt = tt% 6:

for 0 — 0: i < kt && n < sbfrm size: n++)

{

for(k = -ii:k<= 11: k**)

{

kk = (k*1) • 6 — ff;

acb[n] ♦= *расЬ/ЗО6-0сГ-й*;/;

pacb{306*n) = acbfn):

}

}

}

Таблица 101 — Отображение между shape_deiay и задержкой шага

ась_>

ас6_ве(ау_«6

acb_trme_mb

0. 1

32

{2′(acb_idx_wb+1 )%6

2-777

32+2′(acf>_idx_vW>-2)/6

(2*(всЬ_кйг_»6-2))%в

778

0

0

5.7.4.3.4 Декодирование вектора фиксированной книги шифров 1

вектор фиксированной книги шифров 1 fcb1[n] получен преобразованием частоты дискретизации вектора фиксированной книги шифров nb_fcb[n). используемой в инструменте МРЕ или инструменте МРЕс масштабируемой битовой скоростью следующим образом: for (п * 0; п < sbfrm_Size/2: п**)

{

fcb1[2’n) — nbjcbfn/. fcb1[2*n*1J-0:

}

5.7.4.3.5 Декодирование вектора фиксированной книги шифров 2

Век юр фиксированней khhiи шифров 2 содержи! несколько ненулевых импульсов и представлен позицией импульса и амплитудами импульса. Позиции импульса pui_posfi] получают voshape^bws_posjt>ons. Амплитуды импульса pul^ampp} получают из shape_bws_signs. for (i — пит_pulse_bws ~ 1, к-0: i >= 0: ь -J {

for (j = 0;j < пит_М_pos[i]:j++)

{

posjdxp] |= ((shape_bws^positions » к) & 0x1) «j: к**:

}

pui_amp[i] -1.0:

if (((shape_bws_signs » (num_putse_bws-1-4)) £ 0x1) == 1)

{

pfJ_amp[i] = -1.0:

}

puljx>s[i] — pos_tblfi][pos kJxfi]};

}

где пит_putse_Pws — число импульсов равно одному из вариантов 6. 8. 10. 12. Выбор зависит от BWSjconfiguratjon. numjxtjjosffl является числом битов для кодирования позиции /-го импульса, posjbffij} является таблицей ограничения, которая указывает возможные позиции для каждого импульса. Таблица 102 указывает возможные позиции для каждого импульса.

60

ГОСТ Р 53556.3—>2012

Таблица 102 — Определен ме пот_polse_bws

ewS_conHgura0on

num_putsc_bws

0

6

1

8

2

10

3

12

Таблицы позиции импульса для каждого числа импульсов также устанавливаются в соответствии с комбинацией subfrm_siza. пит_putse и пит_Ы_pos[] той же самой процедурой, что инструмент МРЕ.

Вектор фиксированной книги шифров fcb2(n)вычисляется иэрЫ_pos[i]иpuf^ampfi]следующим об* разом:

for (п а 0; п < sbfrm_size: п**)

{

fcb2[n)*0.0:

}

forfi = 0: i < пот__puise_bws; i**) fcb2[pul_pos[iJ} — pui_amp(i);

}

Если целочисленная задержка acb_datay_wb меньше, чем размер подфрейма sbrm_siza. сигнал вектора фиксированной книги шифров fcb2(n) изменяется фильтрацией zaro-state-comb следующим образом: for (п а 0; п < sbfrm_size: п**)

(

if (п- acb_delayt >= 0)

{

ix a fcb2fn — acb_delay];

}

etee

{

ix a 0.0;

)

fcbZfn] cgQ[3/gnof_modeJ * ix:

}

где cga [4] = {0.0.0.0.0.6.0.8} являются усилениями фильтра гребенки comtbfiitar.

5.7.4.3.6 Декодирование усилений адаптивной и фиксированной книг шифров

gain_bws_index преобразуется в два индекса.

qga_tdx = gain_bws_index » 7:

qgc_Kix = gain_bws_irxtex — (gain_bws_index « 7):

qga^tdx преобразуется к нормализованным усилениям пда, лд/^дпя векора 2 адаптивной и фиксированной книг шифров путем просмотра таблицы усиления. qgc__tdx преобразуется в нормалиэованноое усиление пдп для вектора 1 фиксированной книги шифров просмотром таблицы усиления. Таблица усилетя изменяется в соответствии с signal_mode. Усиление адаптивной книги шифров да. усиление фиксированной книга шифров 1 до и усиление фиксированной книги шифров 2 gf вычисляются следующим образом: да — пда * sqrt( norm /acb_energy); дп-пдп ‘sqrt(norm/fcb1_energy); gf = ngf * sqrt( norm / fcb2_energy );

где acb_energy. fcb2_energy и fcb1_enargy являются энергиями для векторов адаптивной книги шифров и двух фиксированных книг шифров, norm — коэффициент нормализации. norm — (qxnorm*subfrm_size) * (qxnorm’subfrm_size); for (i = 0: i < lpc_orden r>+J (

norm(1 — par[i} * раф)):

)

61

ГОСТ Р 53556.3—2012

где раг{] являются коэффициентами отражения и вьмюля ются из коэффициентов LP int_ Qlpc_coefficients{]. qxnorm — квантованная энергия под фрейма, декодируется из rucjndx.

5.7.4.3.7 Генерация сигнала возбуждения

Сигнал возбуждения (excitabonff) подсчитывается, суммируя scbfl, fcb1Q и fcb2[n} масштабированные ga.gnngf соответственно. for 0 — 0: / < sbfrm_size: i+*)

{

exatationfi] = ga’acbp) * gnfcblft) * gTfcb2[i].

}

5.7.4.3.8 Обновление адаптивной книги шифров

Адаптивная книга шифров обновляется для процесса декодирования в следующем фрейме генерированным сигналом возбуждения exdtationf]следующим образом: forfi-0;i< 306sbfrm_size:

{

pacb[i] = pacb[sbfrm_size*i]:

}

for fi — 0; i < sbfrm_size: i**)

{

pacbp06-sbfrm_size*-i] — exatationp]:

}

5.8 Фильтр синтеза CELP LPC

5.8.1 Описание инструмента

Фильтр синтеза CELP LPC создает синтезируемый сигнал из коэффициентов LPC и сигнала возбуждения для каждого лодфрейма.

5.8.2 Определения Вход

axotationf): Этот массив содержит сигнал возбуждения для одного подфрейма tni_Qipc_coefficients[f. Этот массив размерности lpc_order содержит квантованные и интерполированные коэффициенты LPC.

Выход

synth_signal[}: Сигнал возбуждения. вхЛа1юп () подается через фильтр синтеза, используя коэффициенты LPC из int_Qipc_coefficientsf]. Размерность этого массива равна lpc__order.

Конфигурация

lpc__ordec Это поле содержит порядок используемого LPC sbfrm_size: Это поле содержит число отсчетов в подфрейме

5.8.3 Процесс декодирования

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

*** ^ ” д(г) ” л

i } 1- I а» г

к — 1

где А (2) — фильтр инверсии LPC. использующий квантованные коэффициенты LPC. Коэффициент ак является к-ым коэффициентом LPC (tnt_Qfpc_coefnaents[k-1J). Вывод фильтра инверсии является реконструированной речью. Прядок LPC устанавливается в 10 и 20 для частоты дискретизации 8 кГц и 16 кГц соответственно.

Следующий алгоритм представляет собой реализацию вышеупомянутого фильтра: for (п = 0; п < sbfrm size: п*+)

{

imp = exdlattonfn):

for (к -0:k< Ipcjorden к**)

{

imp — Imp * Fitter__states[k] • int_ Qtpc_ coeffidents[k}:

{

62

ГОСТ Р 53556.3—2012

synth_signai[n) = tmp:

for (к — Ipc_order-1: к > 0; к- •)

{

Frtter_states[k) = F4ter_states[k-1);

}

Fiker_states[OJ = synth_stgnaf[n};

)

Массив Filter_states первоначально установлен в нуль.

5.9 Инструмент сжатия тишины CELP

5.9.1 Описание инструмента

Инструмент сжатия тишины содержит модуль voice activity detection (VAD). блок discontinuous transmission {DTX) и модуль comfort noise generator {CNG). Инструмент кодирует/декодирует входной сиг* нал на нижних битовых схоростях во время неактивных (тишина) фреймов. Во время вокально активных (речевых) фреймов используются, кодирование MPEG-4 CELP и декодирование.

На стороне передачи модуль DTXкодирует входную речь во время неактивных фреймов. Во время разговорных фреймов используется кодер MPEG-4 CELP. Флажок речевой активности (VAD^fiag). указывающий неактивный фрейм (VAD_flag=Q) или речевой фрейм (VAD_fiag=’\). определяется исходя из вход* ной речи модулем VAD. Во время неактивных фреймов модуль D ТХ обнаруживает фреймы, где входные характеристики изменяются (07X_ftag=1 и 2: Изменение. D7X_flsg=0: Никакого изменения). Когда обнаружено изменение, модуль DTX кодирует входную речь, чтобы генерировать информацию S/0 (описатель вставки тишины). VADJag и DTXJiag передаются совместно на декодер как флаг TXJag, чтобы сохранить синхронизацию между кодером и декодером.

На стороне приема модуль CNG генерирует комфортный шум. основанный на информации SID. во время неактивных фреймов. Во время фреймов речевой активности вместо этого используется декодер MPEG-4 CELP. Модуль CNG или декодер MPEG-4 CELP выбираются согласно флажку TX_fiag.

Информация SID и TX_fiag передаются, только когда обнаружено изменение входных характеристик. Иначе во время неактивных фреймов передается только TXJiag.

5.9.2 Описания

CNG: генератор комфортного шума

Codtng mode: Т для RPE и ‘1Г для МРЕ (см. таблицу 1)

DTX: прерывающаяся передача

LR. линейное прогнозирование

LPCs: коэффициенты LP

МРЕ. мультиимлульсиое возбуждение

МРЕ_ Configuration: см. раздел 4

RMS: среднеквадратичны й

RPE: возбуждение регулярным импульсом

RPE_Con figuration: см. раздел 4

SID. описатель вставки тишины

S/0 frame: фрейм, в котором передается/при нимается информация S/0

stgnaJ_mode: режим, определяющийся на основе среднего усиления предсказания шага (см. раздел 4)

VAD: опознавание речевой активности

5.9.3 Процесс декодирования

5.9.3.1 Полезная нагрузка передачи

Имеется четыре типа полезных нагрузок передачи в зависимости от решения VAD/DTX. TXJag указывает тип полезной нагрузки передачи и определяется флажками VADJiag и DTXJiag. как показано в таблице 103. Когда TXJtag указывает речевой фрейм (TXJlag — 1). передаются информация, сгенерированная кодером MPEG-4 CELP, и флаг ТХ_Яад. Когда TXJiag указывает фрейм перехода между речевым фреймом и неактивным фреймом или неактивный фрейм, в котором меняются спектральные характеристики входного сигнала {TXJiag = 2). передаются информация High-Rate (HR) SiD и флаг TX_fiag. чтобы обновить параметры CNG. Когда TXJag указывает неактивный фрейм, в котором мощность фрейма входного сигнала измененяется (TXJiag — 3). передаются информация Low-Rate (LR) SiD и TXJiag. Другие неактивные фреймы категоризируются в четвертый тип TXJiag (7X_flag = 0). В этом случае передается только TXJiag. Примеры изменения TXJag согласно VAD_ftag и DTXJag показаны в таблице 104.

63

ГОСТ Р 53556.3—2012

Таблица 103 — Соотношение между флажками для инструмента сжатия тжиины

Флаги

Речевая акгиямость

Неактяеносг»

VAD_nag

1

0

DTXJfag

0

1

2

TX_flag

1

0

2

3

Таблица 104 — Примеры измаю»чя ТХ_Яадсогласно VAD_0ag и ОТХ_Яэд

Фрейм •

..М-5

к-4

к-3

к-2

к-1

к

к+1

к+2

к+3

к+4

к+5

к+6

к+7

VAD_flag

…1

1

1

1

0

0

0

0

0

0

0

0

0…

DTX_flag

1

0

0

0

1

0

0

0

2…

ТХ_Нэд

_1

1

1

1

2

0

0

0

2

0

0

0

з._

активный период разговора

активный период разговора

5.9.3.2 Передача LSP

В случае, когда инструмент сжатия тишины используется а комбинации с запущенным FineRate Control. фрейм CELP с LPC^present = 1 и interpolabon fiag = 0 должен быть передан а первом фрейме с речевой активностью после фрейма неактивной речи. Фреймы с речевой активностью отмечаются TX_flag = 1. фреймы с неактивной речью отмечаются TX_flag = 0.2 или 3.

5.9.3.3 Модуль CNG

Комфортный шум генерируется путем фильтрации возбуждения с помощью фильтра синтеза LP. аналогичным способом как сигналы вокализованной речи. Чтобы улучшить качество кодирования, может использоваться постфильтр. Возбуждение дается, добавляя мультиимпульсное возбуждение или воз* Суждение регулярным импульсом и случайное возбуждение, масштабированные их соответствующими усилениями. Возбуждения генерируются на базе случайной последовательности, независимой от информации SID. Коэффициенты для фильтра синтеза LP и усилений вычисляются из LSPs и значения RMC (энергия фрейма), соответственно, которые получены как информация LSPs и RMC сглажены, чтобы улучшить качество кодирования для речи с шумящим входом. Модуль CNG использует те же самые размеры фрейма и подфройма. как о активных ре»юеых фреймах. Обработка е каждой части описана в следующих подпунктах.

5.9.3.3.1 Определения Вход

ТХ_Яад: Это поле содержит режим передачи

S/0_(pc_№dces{]: Этот массив содержит упакованные индексы LP. Размерность 3.5 или 6 (см. таблицу 72)

SID_ruc_mdex: Это поле содержит индекс RMC

Выход

PP_synth_signal(): Этот массив содержит пост фильтрованный (улучшенный) речевой сигнал. Размерность —sbfrm_size. Элементы справки, используемые в модуле CNG: lpc_order. порядок LP sbfrm_size: число отсчетов в подфрейме n_subframe: число подфреймое во фрейме int_QJpc_co6ffiaents{]. интерполированные LPCs (см. 5.8.2).

5.9.3.3.2 Декодер LSP

LSP 1рс_сиггШ17 декодированные из LSP индексы SID_lpcJndices[j. Процесс декодирования идентичен описанному в 5.6 со следующими исключениями:

1) Подмножество lpc_indices(] передается на декодер. Соотношение между передаваемыми индексами LSP. SID_lpc_indic6sf] и индексами LSP для MPEG-4 CELP. fpc_indices{}. показано в таблице 105.

2) Процесс декоди рован ия для непереданных индексов не выполняется.

64

ГОСТ Р 53556.3—>2012

Таблица 105 — Соотношение индекса LSP между тструментом сжатия тишиш и MPEG-4 CELP

Режим

•одироаемия

Частота

дискретизации. кГц

Масштабируемость

ПОАОСМ

Инструмент сжатия тиишкы

UPEG-4 CELP

1 (RP€)

16

Off

SID_ipc_rxStCBS[0]

lpc_mdiCBsfOJ

SID_tpc_indicesD J

lpc_indicesf\]

SID_lpc_indices[2J

Ipc_indicesf2}

StD_lpc_indices[3]

lpc_indicesfi}

SID_lpc_tndtces[4}

lpc_indices(5}

SlD_Ipc_ndtces[b]

tpc_indicesfb)

II (MPE)

в

On. Off

SlD_lpc_indiceslO]

lpc_indicesf>)

SID_lpc_ndice$p J

lpc_mdicesfl]

StDJpcJndicesp./

Ipc_indicesf2]

16

On

SID_lpc_ndKe$(3}

lpc_indices{bj

SID_ipc_ndKes[4]

lpc_(ndicesfBJ

S/D_/pc_ind>ces/5/

Ipc_indicesf7j

SlD_!pc_ndtces[6]

lpc_mdicesJ8)

Off

SID_lpc_ndices[0]

IpcJndicesfO}

SID_lpc_indKesp J

lpc_indicesp)

StD_tpc_indicespj

Ipc_indicesf2]

SID_ipc_nd>cesl3]

lpc_indicesfi)

SID_lpc_indices[4l

lpc_indicesfS)

SID_lpc_indk:esl5]

Ipc_indicesf6]

5.9.3.3.3 Сглаживатель LSP

Сглаженные LSPs. lsp_current_sm[\ обновляются, используя декодированные LSPs lsp_current[] в каждом фрейме как:

0,875/sp current smf/1+0.125/sp current sm[/1, TX flags2 fsp current smf/laJ “ “

j0,875/sp_ ct//renf_s/n[/]+0.125/sp_curre/if_sjtf[/], TX_ flag =0or3.

где #=0…. lpc_order-1 и lsp_current_skf[] являются lsp_currentf) в последнем фрейме SID. В начале каждого неактивного периода lsp_current_smf) инициализируется lsp_currentO. в конце предыдущего речевого периода.

5.9.3.3.4 Интерполяция LSP и преобрзование LSP-LPC

LPCs для синтеза LP irrt_QJpc_coeffiaents{\ подсчитываются из сглаженных LSPs lpc_current_sm[}. используя интерполяцию LSP со стабилизацией и преобразование LSP в LPC. Эти процессы описаны в 5.6. Общий буфер для предыдущего фрейма fsp_j>reinousfl используется и в инструменте сжатия тишины, и в кодировании CELP для фреймов с речевой активностью.

5.9.3.3.5 Декодер RMC

RMC входной речи qxnorm в каждом подфрейме восстанавливается, используя SID_rms_rxlex в том же процессе, как описано в 5.7.2.3.2 за исключением того, что параметры ц-закона независимы от режима сигнала и установлены, как mrs_max=7932 и mujaw = 1024.

В останов ленное RMC входной речи преобразуется в RMC сигнала возбуждения (norm), используя коэффициенты отражения рзг[] следующим образом и используется для вычисления усиления: norm = (qxnorm*subfm_size} ‘(qxnorm’subfrm_size): for (i = 0; i < Ipc order i**)

(

65

ГОСТ Р 53556.3—2012

пот *- (1 — parfi/ * parfi}) * at:

}

гдера^] вычисляется из LPCsint_Qlpc_coeffiaents{), и коэффициент масштабирования сц равен 0.8.

5.9.3.3.6 Сглажиеатель RMC

Сглаженное RMC nom_sm обновляется, используя norm в каждом подфрейме следующим образом:

{0,875norm sw+0.125 лот? [suOnum] for ТХ flag =2or3 0,875 norm_ sm + 0,125 nom?_ sid for 7X_ flag =0 .

где subnum номер текущего подфрейма в диапазоне от 0 до n_subframe-1 и norm_sid является norm[n_subframe-1] в последнем фрейме SID. В первом фрейме каждого неактивного периода norm_sm устанавливается в norm. Во время первых 40 мс неактивного периода norm_sm инициализируется norm[subnum], когда ТХ_Пад = 2 или 3 и

|20k>g10norm^skf ~ 20tog,z norm[n_subframe -1]\ >6db

5.9.3.3.7 Генерация возбуждения CNG

Сигнал возбуждения CNG exciation[] подсчитывается из сигнала мульти импульсного возбуждения и случайного сигнала возбуждения следующим образом: for 0 — 0: / < sbfm_size: i+*)

{

exdtationfi] -gf9 fcb_cng[i] *gr* excg[i):

}

где fct>_crtg(] и excgf] являются, соответственно, сигналом мультиимпульсного (МР) возбуждения или возбуждения регулярным импульсом (RP) и случайным сигналом возбуждения, gf и дг являются их соответствующими усилениями. Случайный сигнал возбуждения, позиции и знаки импульсов для возбуждения MP/RP последовательно производятся из случайной последовательности в каждом под фрейме. Чтобы синхронизировать генератор случайных чисел CNG в кодере и декодере, случайный сигнал возбуждения ехсд(] для данного подфрейма должен быть вычислен до генерации возбуждения MP/RP fc0_cng(] для этого подфрейма.

5.9.3.3.7.1 Случайная последовательность

Случайная последовательность генерируется следующей функцией и используется для генерации сигналов мультиимпульсного и случайного возбуждения: short Random (‘seed)

(

•seed — (short) ((tnt)Cseed ‘31821 + 13849)): return (‘seed):

}

со значением начального числа 21845 и обычно используемого для обоих возбуждений. Этот генератор имеет периодический цикл 16 бит. Начальное число инициализируется значением 21845 в начале каждого неактивного периода.

5.9.3.3.7.2 Генерация случайного возбуждения

Сигнал случайного возбуждения каждого подфрейма является Гауссовсхой случайной последовательностью. которая генерируется следующим образом: for 0 — 0: / < sbfm_size: i+*)

{

excgfi] = Gauss (seed):

}

где

float Gauss (short ‘seed)

{

temp = 0:

forfi = 0: i < 12: h+)

{

temp *- (Float) Random (seed):

}

66

ГОСТ Р 53556.3—>2012

temp/=(2*32768): return (temp):

}

5.9.3.3.7.3 Гемерация мультиимпульсмого возбуждения

В случае, когда для кодирования голосовых фреймов используется МРЕ. сигнал мультиимпульсмо-го возбуждения генерируется для каждого подфрейыа случайным выбором позиций и знаков импульсов. Мультиимлульсные структуры MPEG-4 версии 1 CELP с МРЕ_Configuration=24 и 31 используются для частоты дискретизации 8 и 16 кбит/с соответственно. Позиции и знаки 10 импульсов генерируются в векторе с 40 отсчетами. Для размера подфрейма 80 отсчетов дважды генерируется 20 импульсов в векторе с 80 отсчетами. Индексы позиций и знаков тр_pos_tdx и mp_sign_idx генерируются в каждом подфрейме следующим образом:

if (subframe size is 40 samples)

(

setRandomBits (&mp_pos_ktx. 20. seed): setRandomBits (&mp_sgn_idx 10. seed):

}

if (subframe size is 80 samples)

(

setRandomBits(&mp_posJdx_1st_hatf. 20. seed): setRandomBXs (&mp_sgn_idx_ 1st_haM. 10. seed): setRandomBits (&mp_pos_ktx_2nd_hatf. 20. seed): setRandomBits (&mp_sgn_Ktx_2nd_hatf. 10. seed):

}

где mp_pos_idx_ 1st_hatf, и mp_sgn_idx_1st_hatf— индексы позиций и знаков первой половины подфрейма и тр_posJdx_2nd_hatf, и 20 mp_sgn_idx_2nd_half — индексы для второй половины. Функция setRandomBitsQ определяется в 5.9.3.3.7.5.

5.9.3.3.7.4 Возбуждение регулярным импульсом

В случае, когда RPE используется для кодирования речевых фреймов, сигнал возбуждения регулярным импульсом генерируется для каждого подфрейма. В случае неактивных фреймов контент адаптивной книги шифров инициализируется нулем. Для неактивных фреймов используется только фиксированная книга шифров. Сигнал возбуждения фиксированной книги шифров генерируется, используя случайный shapejndex. как вход для процесса декодирования RPE. setRandomBits (&shape__index. n_bits. seed): rpe_index = shapejndex: rpe_phase = rpejndex % D: rpe_tndex=rpejndex ZD: for (n = Np — 1: n >= 0; л- -)

(

rpe_amps [n] = (rpejndex %3)-1: rpe_index = rpejndex / 3;

;

for (n = 0:n< sbfrm_size: n+*)

(

fcb_cng[n] = 0.0F:

)

for (n = 0: n < Np: n**)

(

tcb_cng(rpe jjhase * D’n] = gn(RPEjConfiguration} *

(ffoat)(rpe_amps [n)):

}

nMs устанавливается в 11 для RPE_Configurations 0 и 1 и устанавливается в 12 для RPE_configurations 2 и 3. D является коэффициентом децимации (прореживания). Np — число импульсов в подфрейме и sbfrm_size — число отсчетов в подфрейме, как определено в MPEG-4 CELP версии 1. Коэффициент нормализации дп определяется в таблице 106.

67

ГОСТ Р 53556.3—2012

Таблица 106 — Коэффициент нормализации gn для RPE

ЛРЕ^СсяЯдопЬоа

9п 11

0

56756 t 32768

1

56756 / 32738

2

44869 / 32768

3

40132 / 32768

5.9.3.3.7.5 Функция генератора случайного индекса

Функция генератора случайного индекса setRandomBOs 0 определяется для МРЕ и RPE следующим образом:

void setRandom8its (long *I, intn. short ’seed)

{

•/ = OxffffS, Random(seed); if(n > 16)

{

1 (Oxffff & Random(seed))«16:

)

if(n < 32)

{

1 ((unsigned tong)1 «л;- f;

}

5.9.3.3.7.6 Подсчет усиления

Усиления gf и gr вычисляются из сглаженного RMC возбуждения. norm_sm следующим образом:

gf = а norm_sm! \ £ fct_cng(ff !sbfrm_size

| 1.0

gr m (-«• Aj + Af — {a2 — 1) A A2)/ A2 где a s 0.6 и

ШМ «*-1

A * £ gf2fcb_cng(i)2

j-o

tbtim tat-1

A * I excgt/f

1-0

— 1

A* X gf2 fcb_cng{i) excg[i]

1-0

5.9.3.3.8 Фильтр синтеза LP

Фильтр синтеза идентичен фильтру синтеза LP в MPEG-4 CELP. описамюму в 5.8.

5.9.3.3.9 Обновление памяти

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

68

ГОСТ Р 53556.3—2012

Приложение А (справочное)

Инструменты декодера MP£G-4 CELP

А.1 Постпроцессор CELP А.1.1 Описание инструмента

Постпроцессор CELP улучшает восстановленный речевой сипчал. сгенерированный фильтром синтеза для одного подфрвйма. Инструменты постфильтрации включают постфильтр форманты и постфильтр компенсацм* наклона.

А.1 J2 Определения Вход

synth_signal&. Этот массив содержит восстановленный речевой сигнал int_Qtx_coeffrcients{]: Этот массив содержит коэффициенты LPC для каждого подфрвйма acb_detay. Это поле указывает задержку шага, которая используется для лостфигътрэ шага. Если пост-фкльтр шага не нужен. ocb_detay должен быть установлен в значение, меньшее чем 10.

adapEvajgain: Это поле ухазыеэет коэффициент усиления для периодического компонента сигнала возбуждения. Этот коэффициент усилемтя используется для пост фильтра шага. Если постфильтр шага не нужен. adaptive_дат должен быть установлен е значение, меньшее чем 0.4 Выход

PP_synth_signal(J: Этот массив содержит постфильтроеангъм (улучшенный) речевой сигнал. Размерность этого массива — sbfrm_size Конфигурация

tpcjorder. Это поле указывает порядок LPC. который испогъзуется sbfrm_size: Это поле указывает число отсчетов е подфрейме А.1.3 Процесс декодирования

Процедура декодирования состоит из пост фильтрации и адаптивного управления усилением. Постфильтр H^z) является каскадным соединемгем трех фильтров: постфильтра форманты НДг). дополкитегъного постфильтра шага Hp{z) и фильтра компенсации наклона H^z):

Н^ = Н^)Нр[г)Н^).

Постфильтр форманты дается вырааиимом

1 —

вс OfOet

I

>-1

1м a, z»

вс 010*1

1- I 1м а» г*1 V-1

где Az — фильтр инверсии LPC. коэффициенты и управляют степенью постфильтрации форманты. Ъ устанавливаются в 0,65 и 0,75. соответственно.

Постфилыр шага дается выражением

Ч><*> = 7^^’+ 7,0,

Л«‘*’1-о^{пК(л — зсЬ-delay)

9.- Ь_Юау) ■

где вДл) является остаточным сигналом, произведенным фильтрацией входного сигнала через подсистему нумератора лостфигътра форманты. Коэффициент усиления да ограничен 1. Коэффициент чр управляет степенью пост фильтрации шага и имеет значение 0.5. Постфигътр шага применяется, только если усиление больше 0.4 и задержка шага богъше 10. В частоте дискретизации 16 кГц для кодера режима I постфильтр шага не применяется.

Фильтр H^z) компенсирует аысокочастопшй наклон и дается выражением

Н,(г) = 1-*г-’.

где ъ — коэффициент наклона 0.3.

69

ГОСТ Р 53556.3—2012

Синтезируемой сигнал (synih_stgna4J) фильтруется через подсистему нумератора постфильта форманты Л{г1у„). чтобы произвести остаточюй сигнал. В кодере режима II остаточный сигнал затем фильтруется через постфильтр шага H0(z). тогда как в кодере режима I нясакой постфиг*»тр шага не используется. Остаток постфигъ-трации шага подается через подсистему деноьмагора постфильтра форманты >. Выходной сигнал пост-

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

Адаптивное управление усилением компенсирует различия усиления между синтезируемым сигналом s(n) и пост фильтрованном сигналом 5р(л). Коэффициент управления усилением G для текущего подфрейыа подсчитывается из

Масштабированный по усиление постфильтрооашый сипел 5р(л) дается выражением s(n) = д(л)5р(л). О £ л £ sbtrmjsize — 1. где д(л) обновляется на лоотоетной основе и дается кас д(л) = 0.95 g(л- 1) + 0.05 G. 0£л£sbtrmjsize — 1.

Используется начальное значение д{-1) = 0.0. Тогда для каждого нового подфрейма д(- 1) устанавливается равшм д(ЛМ) предыдущего под фрейма.

•САП 6М-1

I.o S*(«)

G

1

«МП Ut* —

70

ГОСТ Р 53556.3—2012

Приложение В (справочное)

Инструменты кодера MPEG-4 CELP В.1 Введение в набор инструментов кодера MPEG-4 CELP

Это приложемьв дает краткое описанге функциональных возможностей, определение параметров и процессов кодирования инструментов, поддерживаемых ядром MPEG-4 CELP. Описано каждого инструмента вкло-чает до четырех частей: описание инструмента, опредепенш. процесс кодированья и тэбгмцы. Поддерживаются следующие ньструменты кодера: предварительная обработка CELP анагмз CELP LPC

квантизатор CELP LPC и интерполятор векторный квантователь

кодер с масштабируемой полосой пропускания фильтр анализа CELP LPC модуль взвешивания CELP анализ возбуждения CELP возбуждение регулярным импульсом мутътиимпугьсное возбуждение мультиплексор потока бит CELP

Кодирование выполнено на основе фрейма, и каждый фрейм разделен на подфреймы. Инструмент экэ-гмза возбуждения CELP использует каждый подфрейы. в то время как другие инструменты используют каждый фрейм.

В.2. Переменные справки

Для каждого иьструмента кодера дается описание перемой ых. которые он использует. В этом подпунсте предоставлены переменные, которые используются совместно многими инструментами.

frame_size: Это поле указывает число отсчетов во фрейме. Декодер выводит фрейм с frame_stze выборками.

nrof_subfr3mes: Фрейм построен из ряда подфреймов. Число подфреймов определяется в этом попе. sbfrm_size: Подфрейм состоит из ряда отсчетов, их число определяется в этом поле. Число отсчетов во фрейме всегда должно быть равным сумме чисел отсчетов а поафреймах. Так, что всегда должно соблюдаться следующее соотношенте

frame_size = nrx>f_subframes ‘ sbtrm_size.

Эти три параметра зависят от настройки параметров частоты дискретизации и битовой скорости, как представлено е таблице 73 для пещера режима 1 и в таблице 74 для кодера режима II.

Ipc_order. Это поле указывает «мело коэффициентов, испотъзуеыых для линейного предсказания. По умолчанию значение этого поля равно 20 для частоты диежретизациь 16 кГц и 10 для 8 й»ц.

л(яп_фс_*л<*се5. Этот параметр определяет число индексов, содержащих информащео LPC. которая должна быть записана в поток бит. Оно не равно порядку LPC. num_lpc_indtces равно 5 в режиме в кГц и дополнитегъ-но 6 для уровня с масштабируемой полосой пропускания.

n_lpc_anatysis: Это попе указывает, как часто во фрейме выпогмяется анагмз LPC. Существует возможность выполнять несколько анализов LPC во фрейме с вариациями размера окна и смещения. Для частоты дискретизации 16 кГц значенье этого поля равно 1. указывая, что анализ LPC выполняется только однажды. Для частоты дискретизации 6 кГц значенье этого поля определяется отношеньем sbtrm_s/zet80.

mndow_offsete[]: Этот массив содержит смещения окон анализа LPC. и его размерность равна n_fcc_anafys«. wmdoiv.sizest}: Этот массив содержит размеры окна для анализа LPC. Так как анагмз LPC вьлолняется njpc_anatysis раз. размерность этого массива равна n_^x_anafyzis.

Размер окна и смещение для кодера представлены в таблицах В.1. В.2, В.З. а параметры окна для кодера в таблице В.4.

71

ГОСТ Р 53556.3—2012

Таблица В.1 — Размер окна и смещение для кодера режима > на t6 кГц

ЯРЕ_СояЯдипОоп

Wittdo *_sizes] j (отсчетов)

WBdow_o/fs*fsf) (отсчетов)

0

400

280

1

320

160

2

400

280

3

400

280

4.7

Зарезервировано

Таблица В-2 — Размер окна и смещение для кодера режима II на 8 кГц

иРЕ^СопЛдшаЧоо

Window_sizes[]

(отсчетов)

lV«Vi(3o*_o/fsefs[J

(отсчетов)

0. 1.2

200

0. 80. 160. 240

3.4.5

200

0. 80. 160

6_ 12

200

0. во

13— 21

200

0. во

22 „.26

200

0

Таблица В.З—Размер окна и смещение для кодера режима II на 16 кГц

иРЕ_Соо6дигоЧоа

Window_sizesfl (отсчетов)

Windo w_ollsetsff (отсчетов)

0… 6.8… 15

320

0. 80. 160. 240

16… 22.24 …31

320

0. во

wwjpowsf): Этот массив содержит окно для каждого анализа, таким образом длина этого массива равна сумме window_sizes раз л_фс_алд/у$в. Для кодера режима I используется прямоугольное ото Хэмвмнга: for (х — 0: х < wtndow_sizes[i}: х+*)

{

wndQwfftxJ = (0.54 — 0.4 в * cos{2 * pi * wrtdowfi](xJ = wiri(kmfij(xj * *rindow{i}{x].

}

Для кодера режима li используется гибридное ото. Окно состоит из двух частей: половины окна Хэммм-гз и четверти косинусоидальной функции, дающихся выражением. for (п — О; л < nlb+len_ipcana/2: л++1

{

Hw(n) = 0.54-0.46* cos(2’ РГ п / (2‘(rib*ten_lpcna/2) —

Ц):

}

(or (п = nlb+len_lpcan&2; п < ¥tmdow_sizesp): п++)

{

Hw(n) = cos (2 • Р) • (п — (nfb+bnjpcanaf2)) /

(4′(nta*len_tpcana/2)-1)):

}

nib отсчеты анализа прошлого фрейма. <ел_/реале отсчеты анализа текущего фрейма, и nla отсчеты будущего фрейма форьмруют сдай блок для работы с окнам*.

Таблица В.4 — Параметры окна для кодера режима К

Частоте вискретемции. кГц

пЪ

п\Ь

1еп_(рс_*лв

8

40

80

80

16

80

160

80

72

ГОСТ Р 53556.3—2012

gamma_be[f. Этот массив имеет размер lpc_order. чтобы применить расширение полосы пропускания к коэффициентам LPC. Эта информация используется только для кодера режима L дагтта_Ье{0] = GAMMA, for (х = 1; х < lpc_order: х++}

{

gamma_be(x] = GAMMA * gamma_be[x-1):

)

Значение GAMMA равно 0.9883 для инструмента RPE.

n_fag_can<Matos: Эти поля содержат число кандидатов шага. Данная информация используется только для частоты досфетизации 16 кГц. значение этого поля равно 15.

max_pitch_freqoency. Это поле содержит максимальную частоту шага (задержка). Для частоты дискретизации 16 кГц это попе имеет эючение 0.025. постольку миымальная задержка равна 40. Для частоты дискретиза-iрял 8 кГц это поле имеет качение 0.05882. так как минимальная задержка равна 17.

min_p6ch_frequency. Это поле содержит ьмнимагьную частоту шага (задержка). Значение этого поля для частоты дисфегизацт 16 кГц равно 3.38986*3. так как максима/ъная задержка равна 295. Для частоты дискретизации 8 й’ц это поле имеет значение 6.944е*э. так как максимальная задержка равна 144.

В.З Элементы потока бит для набора инструментов кодера MPEG-4 CELP См. 5.4.

В.4. Предварительная обработка CELP В.4.1 Описание инструмента

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

В.4.2 Определения Вход

s[(: Это — массив размерности frame_size. содержит входные речевые отсчеты.

Выход

pp_s Ц: Это массив дпеы (rame_size. содержит речевые отсчеты, свободные от постоянного тока. ВходВыход

ргвч_х. prev_y. память фильтра предварительной обработки.

Конфигурация

framo_sizo: Это попе указывает число отсчетов во входном сигнзле.

В.4.3 Процесс кодирования

Этот блок удаляет элемент постоянного тока из входного сигнала э(л]. Это рекурсивный фигътр первого порядка, его форма.

1 — г-1 1 0.90 г*’

Реахмзация этого фи/ътра: for (л = О: п < frame_stze: п++}

{

pp_s[n} = s(n) -prev_x * 0.99 ‘prev_y prev_x = sfn}. prev_y = рр_ф};

}

Состояния входа/выхоза фильтра prev х и prev_y инициализируются в нуль (обнуляются).

В.5 Анализ CELP LPC

В.5.1 Описание инструмента

Инструмент Анагыза CELP LPC оценивает краткосрочный спектр. Анализ LPC выполняется на предобрэбо-тайном речевом сигнале pp_s []. Порядок линейного предсказания определен параметром }pc_order. Чтобы взвешивать предобрэботанкую речь, используется окно с размером, заданным в mndow_size [). Чтобы опреде-тмть смещение для каждого ома. задается параметр wvrdow.offisef [),

В.5.2 Определения Вход

PP_lnputSignai [}: Этот массив содержит пред обработанный речевой сигнал. Его размерность равна frame_size Выход

Ipc_coefficionts[)-. Этот массив содержит вычисленные коэффициенты LPC и имеет размер lpc_order. first_order_lpc_раг. Это попе выхода содержит коэффициент LPC для согласования 1-го порядка. Этот параметр используется для предваритвгъной выборки при поисхе в адаптивной книге шифров.

73

ГОСТ Р 53556.3—2012

Конфигурация

frame_size: Эго поле обозначает число отсчетов во фрейме. window_offset О- Этот массив содержит смещение окна. wtndow_sjre [f Этот массив содержит размер окна анализа LPC.

windows (}: Этот массив содержит окна, ислогъзуемые для взвешивания речевого сигнала. gamma_be If Этот массив содержит гамма-коэффициенты, которые используются для рэсширежя полосы пропусками коэффициентов LPC.

lpc_order. Это поле указывает порядок LPC. n_tpc_anafy$is: Это поле обозначает номер анализа LPC.

В.5.3 Процесс кодирования

Анагмз линейного лредсказажя выполняется п_фс_ела1у«« раз. каждый раз с различным размером ота и смещением, как определено в массивах ivfodow_size и wmdow_otfset. Каждый раз входной сигнал PP_lnputSignal взвешивается и^л].

Посредством взвешенного сигнала получают коэффициенты автокоррелящм. используя:

«ляде* м«-*-1

acf[k\ = £ sw(n]-sw{n+A]. О S * £ /pc_o«fer

••о

Имеется lpc_order+1 коэффициентов автокорреляцт. Для кодера режима II расширение полосы пропускания и коррекция белого шума применяются путем модификации коэффициентов автокорреляции следующим образом:

for (к- О: к < lpc_order к**)

{

эефс/ *= 1ад_тп[к):

}

где tag_w’m{] является коэффициентами для расширения полосы пропускания.

Коэффициенты LPC вычисляются с помощью рекурсии Levinson-DiMbin (Левинсона-Дурбина). Первый коэффициент LPC назначается для first_ocder_kx_раг. Для кодера режима I расширение полосы пропускания применяется к коэффициентам LPC. используя массив дэтта_Ье. Для каждого анализа LPC рэссчетные фс_ coefficients располагают в стеке, приведя к коэффициентам n_ipc_anelysis * fpc_otder.

В.6 Квантизатор LPC CELP и интерполятор

Коэффициенты LPC квантуются при испогъзовамы одного из трех квантователей, инструмента узкополосного квантования LSP. инструмента широкополосного квантования LSP игы инструмента квантования LSP с масштабируемой полосой пропускания.

В.6.1 Инструмент узкополосного квантования LSP В.6.1.1 Описание инструмента

Инструмент узкополосного квантования LSP квантует коэффициенты LPC как параметры LSP. используя двухступенчатую и с разбиением вектора методику квантования.

В.6.12 Определения Вход

ijpe coefficients//: Это массив размерности 1рс_огЬег. содержит текущие неквантоеамюе коэффициенты

LPC.

Выход

int_Qtpc_coefScrents{]: Это массив длиной ntof_subframes * фс_order. содержит интерпопироватые и квантованные коэффициенты LPC для каждого подфрейма. Коэфф*щиенты LPC для каждого подфрейма располагают в стеке один за другим, образуя массив nrof_subframas * lpc_order.

(pc_«dces (]: Это массив размерности num_lpc_indices. содержит упакованные индексы фс, которые при-гысэкы потоку бит.

Конфигурация

lpc_order. Это попе содержит порядок LPC.

гмкп_фс_г/кйсе$: Эти поля указывают число упакованных кодов LPC. пит _lpc_anatysts: Это поле содержит число параметров LPC. nrof_subfremes: Это поле содержит число подфреймов.

В.6. U Процесс кодирования

LPCs конвертируются в LSPs и квантуются. Как описано в процессе декодирования, есть два метода квантования LSPs: двухступенчатым VQ без иежфроммового предсказания, и комбинация УО и VQ с межфреймовым предсказав*ом. В ходе процесса кодирования >ытаются применить оба метода, чтобы квантовать LSPs. и какой метод должен быть применен, определяется сравнением ошибки квантования. Ошибка квантования вычисляется как взвешенное Евклидово расстояние. Коэффициенты взвешивания w[] следующие

74

ГОСТ Р 53556.3—>2012

1)

где Nd — порядок анагмза LP !pc_order и tsp[] являются LSPs. преобразованными из LPCs.

Квантователь первой стадии — для каждого метода квантования. LSPs квантуются при использовании коан тователя разбитого надвое вектора, и соответствующие индексы сохраняется е |зс_ indices [0] и (pc_indices [1]. Чтобы выполнить отсроченное решение, два индекса сохраняются ках кандидаты на вторую стадио. Ошибка квантования в первой стадии &г1[] дается выражением

ел1[л] = £ |{tep[sp+r| — fep_tof|n][/n]l»lf w[sp+/|| n»ai..

где п — число вектора раэбиежя. т является ждексом вектора разбиения кандидата, sp — порядок стартового LSP л-го вектора разбиения, и dim является размерностью л-го вектора разбиения (сы. табгмцу В.5).

Таблица В.5 — Порядок запуска и размерность вектора LSP первой стадж

Номер еекюре расщепления л

Стартовый порадос LSP: ар

Размерность вектора: d яп

0

0

5

1

5

5

»И«

<*=0)

fepioj lsp[T\ — top 10] fePt’l — fcPl’-Ч + tepji + 1] — tep(f] <1 < N? ~ 1)

fePlWp — t] — bplNc, — 2] + 10 — &pV — 4 0 * Np

Во второй стадии вышеупомянутые два метода квантования, которые являются также квантователями вектора с разбиением надвое, примвнеж соответственно. Полные ошибки квантования во второй стадж подсчитываются для всех комбинаций кандидатов первой стадии и кандидатов второй стадии, и выбирается тот. у которого минимальная ошибка. В резутътате определяется индексы первой стадж и соответствующие индексы, и знаки для второй стадии сохраняются в fcc_mdicesJ2] и ljpe_»dces[3]. Флажок, который указывает выбражый метод квантования, также сохраняется в ipc_<nd>ces{4]. Ошибка квантования во второй стадии en2_total дается выраже-тем:

VO без межфреймового предсказания: err2_totaS = err 2(0] + «72(1}

еп2[п] = £ |(jtsp_resf5p+/| — 51рп[л{-Р_Ш[л] [л))[/]]г-и'[5р+г]| п=(Х1 Isp_ras[sp + /] = &p[sp + i] — lsp_first[sp ♦

где isp_first{] является тванговажым вектором LSP первой стадии, п — число разбиения вектора, m является индексом вектора раэбиежя кандидата, sp — стартовый порядок LSP л-го вектора разбиения и <tm является размерностью л-го вектора разбиения.

VO с межфреймовым предсказанием:

err2_total = егт2(0] + вп2[ 1]

егг2[л] = £ |(/sp_pres|sp+/j — адл(л| рр_(Ы(л] Jm|[/]J2-n’|sp + ;|j л=0,1 (sp_pres[sp + j] = tep[sp + i]-

{(1 — ratio_predict) ■ lsp_fkst[sp * r] + ratio_pradict ■ Isp_previous{sp * j]}. где lsp_first{J является квантора ■ им вектором LSP первой стадж. л — номер вектора раэбиежя. m является индексом вектора раэбиежя кандидата, sp — стартовый порядок LSP л-го вектора разбиения. Фп является размерностью л-го вектора разбиения и ratio_pradictsQ.5 (см. таблицу В.6).

75

ГОСТ Р 53556.3—2012

Таблица В.6 — Порядок запуска и размерность вектора LSP второй стадии

Ноыар аестора расщеплена*: п

Стартовый порядок LSP: *Р

Раамермость вектора dim

0

0

5

1

5

5

Квантованные LSPs tsp_current[] стабилизированы, чтобы гарантировать стабильность фильтра синтеза LPC. который получен из квантованных LSPs. Квантованные LSPs упорядочены, имея расстояние, по крайней мере, ткг_дар между смежшми коэффициентами. for р — О: i < lpc_order; t*+)

{

if ftsp_curren(fi) < minjgap)

{

fsp_curmntfi] s mmjgap:

}

}

for (i = 0: i < fpcjordar — 1: •+*)

{

if (lsp_currentfi+ 7] — fsp_currantfi) < min_gap)

{

tsp_currartft* 1) = lsp_corrantfiJ+minjgap:

}

}

for Q — Or / < lpc_order; t++)

{

if (bp_currentfi) > 1-min_gap)

{

isp_currert(i] = 1-min_gap:

}

}

for (i = lpc_order — 1: i > fit i- -) if Qsp curront{i}-lsp_curTent{i—1] < min gap)

{

tsp_currantp—1] = tsp currertfi}—min gap:

}

}

где mn_gap = 2.0/256.0

После процесса квантования вантованные LSPs в каждой подфрейме ли1 ю*кю интерполируются. for (п — 0; л < nro(_so6frames; n++J

{

rabo_sub={n+1 )/nrof_subframes; for (i= 0:i < фс_ order /++^

{

lsp_subframe[n}{if={( 1 —

ratio sub}‘l$p_previous[i}*rabo_sub4sf>_curront[i])};

}

}

Интерполированные LSPs конвертируются в LPCs. используя вспомогательную функцию Convar&IpcO-for (n — 0: n < rvof_subframes; n++j

{

Corrver12fpc(ipc_order. isp_subhame[n}. nt_Qlpc_coefficients + n’lpc_orderj).

}

После вымело*um коэффициентов LPC текущие LSPs должны быть сохранены в памяти, так как они используются для интерлолпры в следующем фрейме. for Q — О: i < Нх order, г*-*)

{

Isp_pravious[i] = fep_curTer>//i7;

}

76

ГОСТ Р 53556.3—>2012

Сохраненные LSPs tsp_provious{] должны быть инициализированы. как описано ниже, когда инициализируется весь кодер.

for (i = О: i < lpc_order; t**)

{

isp_prBviousp) = (i+1) / (lpc_onfer+1):

}

B.6-2 Инструмент квантования широкополосного LSP B.6.2.1 Описание инструмента

Инструмент квантования широкополосный LSP квантует коэффициенты LPC как параметры LSP. используя методику двухступенчатого и с разбившем вектора квантования.

В.6.2.2 Определения Вход

lpc_coeffiaents\]: Это массив размерности lpc_order. содержит коэффициенты текущего неква-гтоаанного

LPC.

Выход

/п(_Офс_соеЛ$с*ел/5[): Это массив длины nrof_subframes * фс_ order. содержит м-лерпогырованные и квантованные коэффициенты LPC для каждого подфрейма. Коэффициенты LPC для каждого подфрейма расположены в стеке друг за другом, образуя массив nrot_subframes * lpc_order.

/pc_«*ces(]: Это массив размерности nixn_lpc_fn&ces. содержит упакованные индексы фс. которые лрит-сам потоку бит.

Конфигурация

/рс_ order Это поле содержит порядок LPC.

numjpcjndices: Эти поля указывают число упакованных кодов LPC n_lpc_anafysis: Это поле содержит число параметров LPC nrof_subframes. Это поле содержит число подфреймов В.6.2.3 Процесс кодирования

Схема квантования основана на узкополосном квантовании LSP. Квантоватегъ состоит из двух блоков квантования. соединении параллельно, каждый из которых идентичен инструменту узкополосного квантования LSP. Входные LSPs делятся на дев части, а именно, нижняя часть и верхняя часть, затем раздело кто LSPs вводятся в блоки квантования соответственно.

Во-первых, нижняя часть квантуется тем же самьш способом как узкополосное квантование LSP. Стартовый порядок и размерность векторов LSP описаны в таблицах В.7 и В.8. Квантованные LSPs сохраняются в массиве lsp_current_lowerfj.

Таблица В.7 — Стартовым порядок и размерность вектора LSP подвой стадии

Номер вектора расщепления п

Стартовый порядок ■мжяого ISP sf>

Размерность вектора dm

0

0

5

1

5

5

Таблица В.8 — Стартовым порядок и размерность вектора LSP второй стадии

Номер ееетора расщепления о

Стартовый порядок ■якжнего LSP вр

Размерность вектора dm

0

0

5

1

5

5

Затем, тем же самым способом квантуется верхняя часть. Стартовый порядок и размерность векторов LSP описаны в таблице В.9 и таблице В.10. Квантованные LSPs сохраняются е массиве lsp_current_upper Q. В квантовании верхней части индексы подвод стадии сохраняются в 1рс_гкИсев [5] и /pc_inc4ces [6]. а индексы и знаки для второй стадии сохраняются в фс_(т?<*св5 [7] и фс_яхйсе$ (8}. Флажок, который указывает выбранный метод квантования. таюке сохраняется в fxjndicas [9].

Таблица В.9 — Стартовым порядок и размерность вектора LSP подвой стадии

Номер вектора расщепления: п

Стартовый порядок •оркиего LSP. sp

Размерность вектора dm

0

0

5

1

5

5

77

ГОСТ Р 53556.3—2012

Таблица В.10 — Стартовым порядок и размерность вектора LSP второй стадт

Номер векторе реешеплеи**: о

Стартовый порядок верхнего LSP. sp

Раанермость вектора dim

0

0

5

1

5

5

Наконец, декодироважыв LSPs lsp_curmnt_low&r[) и lsp_a/rrent_upper{} объединяются и сохраняются в массиве 1зр_сигтеЫЦ.

for Q — О: i< lpc_order/2i*+)

{

isp_currentfi] = Ispjcurrent кхтегр):

}

for {T = Or / < lpc_onter/2i*+)

{

/sp_current(ipc_order/2+i) = lsp_current_upperfi).

}

Квантованные LSPs. bp_comntf) стабишэируются. чтобы гарантировать стабильность фильтра синтеза LPC. который получают из квантора! пых LSPs. Квантованные LSPs упорядочиваются в порядке воэрастагмя. имея расстояние, по крайней мере. тп_дар между смежными коэффициентами for 0 — О; i < fpcjxder: /++)

{

И flspjajtrentfi) < mm_gap)

{

lsp_currer*fi} = топ gap;

}

}

for fr = 0r / < lpc_order — f; t*+)

{

if (Ьр_сигголф+ ?] — Ьр_сиггъпф] < mm gap)

{

tsp_currertfi*1) = lsp_corrBalffi+min_gap:

}

}

forfi = 0; i < lpc_orden

{

if flxp_ri irrontfi] > 1—min пял)

{

lsp_curmntfi} = 1-rrwi_gap:

}

for (i = /pc_order — 1; i> 0: i- -)

{

if flsp_curTbrrtp}-fsp_a*Tent{i—1] < mm gap)

{

tsp_corr9ntf-1) = lsp_corrbntf]—minjgap:

}

}

где tpc_order = 20 и min_gap = 1.0/256.0

После процесса квантования квантованные LSPs линейно интерполируются в каждом подфрейме, for (л = 0; л < nruf_subframes; п++)

{

rabo_sub={n+1 )/nrof_subframes; for (i= 0:i < fpc_ordec /++J {

lsp_subframe[n}{i]={(1-

ratio_sub) «lsp_prevtous{i]+ratio_stJb *lsp_ctxrent{>])):

}

}

Интерполированные LSPs преобразуются a LPCs. используя вспомогательную функцио Convort2lpc Q. for (n -0;n< nrof subframes: n++)

{

78

ГОСТ Р 53556.3—-2012

Coryvert2fpc(lpc_order. Isp_subframe(nj. ini_Qtpc_coefficwits * n‘^x_orderJ):

}

После вычисления коэффициентов LPC текущие LSPs должны быть сохранны в памяти, так как они используются для интерполары в следующем фрейме. for 0 = 0: i < Ipcjorder; i++)

{

Isp_previousfi} = isp_ajrrent(i}:

)

Сохраненные LSPs. Isp_prevrous[}, должны быть гмщиагмзированы как описано ниже, когда инициализируется весь кодер.

for (i = 0: i < Ipc order: H-*)

{

Isp_proviousfj = (i*1) / (lpc_arder+1):

}

B.6.3 Инструмент квантования LSP с масштабируемой полосой пропускания B.6.3.1 Описание инструмента

Инструмент квантовамгя LSP с масштабируемой полосой пропускаться квантует входьые LSPs с частотой дискретизации 16 кГц. испогъзуя схему векторного квантования с внутрмфреймовьш и межфреймовым предсказанием.

В.6.3.2 Определения Вход

!pc_axfficients[]: Это — массив размерности lpc_otder. содержит текущие нетвантоеашыо коэффициенты

LPC.

(sp_current(}: Этот массив содержит декодирооа! ■ ыо параметры LSP. которые норыагыэоеаны в диапазоне от нуля до PI. а тструменте узкополосного квантор»»т LSP. Эти параметры получают как промежуточные параметры в процессе узкополосного квантования LSP и отправляют на инструмент декодирования LSP с масштабируемой полосой пропускания Выход

int_Офс_сoeffioerts[]: Это массив длины nro/_subframes ‘ kpcjxder. содержит интерпогырованные и квант о-ванше коэффициенты LPC для каждого подфрвйма. Коэффициенты LPC для каждого подфрейма расположены в стеке один за одугим. образуя массив nro/_subframes * lpc_order.

Ipcjndiceslf. Это массив размерности numjpcjnrtces. содержит упакованные индексы Ipc. которые приписаны потоку бит.

Конфигурация

fpc_order. Это попе содержит порядок LPC

num_lpc_tndK9s: Эти поля указывают число упаковажых кодов LPC n_ipc_anatysa: это пале содержит число параметров LPC nrof_subframes: Это попе содержит число подфреймов

nrof_subframes_bws: Этот параметр является переменной справки, представляет число подфреймов в уровне масштабируемой полосы пропускания.

В.6.3.3 Процесс кодирования

Входные LSPs с частотой дискретизации 15 кГц {input_lsp{J) являются векторно-квагтоеанньпм методом внутрифрейнового и межфреймового предсказания. Модугь анутрифреймового предсказания производит оценочные LSPs. преобразовывая квантованные LSPs, полученные в кодере CELP с частотой доосретизации 8 кГц. Кроме того, для более точного предсказания также используется предиктивный VQ межфреймового скользящего среднего. Остаточте LSPs предсказания (e/r_tsp£/) выделяются следующим обрезом: for 0 -0:i< 20: t*+)

{

err_tsp[i] = (inputjsppj — pred_tspfij) / bws_ma_prddf0][i):

)

for (n = 1: n <= 2: n**)

{

for(i = 0:i< 20: i++)

{

prad_lspp} += bws_ma_prdctfngi)4sp tMrs_bofJn}fi]:

}

}

for (i = 0: i < 10:i*+)

(

79

ГОСТ Р 53556.3—2012

pred_tsp[ij += bws_nw_prdctfiJ4sp_currertf^;

}

где pred_lsp{] содержат предсказанные LSPs. bws_tna_prdctU[] и bws_nw_prdct(} являются коэффициентами предсказания для мвжфреймоеого предсказания скользящего среднего и внутрифреймоеого предсказания соответственно. Isp_bws_bufl](] является буфером, содержащим остаток предсказания LSP в предыдущих двух фреймах.

Тогда. err_lsp(] являются векторно-квантованными, используя схему двухступенчатого и с разбиением вектора квантования, и соответствующие индексы сохраняются в fc>c_«06c&s(5J…. фс_глс*се5(10]. Буфер fst>_bws_bufjj(l сдвигается для операции следующего фрейма следующим обрезом: for(i = 0:i< 20: r++J {

tep_ bws_ buff0}p) = errjspfi}:

}

for(n =2; n >0:n—)

{

for (i = 0; i < 20; t*+)

{

tsp_bws_buffn)(ij = tsp_bws_buf}n-

}

)

После процесса квантования квантован»*» LSPs (lsf>_bws_current{J) линежо ингерпогыруются в каждом подфрейме.

for (п • 0; п < nrot_subframes_bws: п+*)

{

rebo_sub = (n+iynrof_subframes_bws: forfi = 0; i < 24pc_order. /’++>

{

lsp_bws_subframe{ngi]=((1-rabo_sub) ‘lsp_bws_previousp]

+ rabo_sub’lsp_bws current^}):

}

}

for p — 0: i < 2*fpc order t**)

{

lsp_bws_previousfi] = lsp_bws_subframefnmf_subframes_bws-1]p}:

>

Интерполиров»**» LSPs конвертируются в коэффициенты LPC в каждом под фрейме. for (п -0;п< nrof_subframes_bws: n++J

{

Convef12lpc (IpcjorderJbws. Isf>_bws_subframe{nj.

&*Tt_Q}pc_coeffidents{n’)pc_order_bws]):

}

B.6.4 Тонкое управление скоростью в инструменте квантования LSP В.6.4.1 Описание инструмента

Тонкое управление скоростью (Я/7С) доступно с применением инструмента квантования LSP. Если испогъ-эуется FRC. массив tpc_coefficrents{} содержит коэффициенты LPC следующего фрейма, который является фреймом. следующим после обрабатываемого в данное время фрейма. Принимается решение, передавать ли LSPs обрабатываемого в настоящее время фрейма е декодер. Согласно решению. interpotation_fiag и LPC_presert устанавливаются в 1 или 0.

В.6.4.2 Определения Вход

$>с_сое№сюпОД: Это массив размерности lpc_order. который содержит коэффициенты текущего не квантованного LPC Выход

int_Qlpe_coefScients{J: Это массив длины nrof_subframes * lpc_order. который содержит жтврпогмрованн*» и квантованные коэффициенты LPC для каждого подфрейма. Коэффициенты LPC для каждого подфрейма расположен*! в стеке одж за другим, образуя массив nmf_sobframes * lpc_order

lpc_indtces(]’. Это массив размер»юсти num_lpc_mdices. содержит упакован**» индексы /рс. которые записаны в потоке бит

Ыегро1аИоп_Яэд: Это попе указывает, выполнена гм интерполяция коэффициентов LPC между фреймами. Если флажок интерполяции установлен, текуие» коэффициенты LPC вычислены из предыдущих и следующих коэффициентов LPC

LPC_Present Этот флажок указывает, закончен ли текущий фрейм или неполон

80

ГОСТ Р 53556.3—2012

В.6.4.3 Процесс кодирования

Решение о том. передавать ли коэффициенты LPC анализируемого речевого фрейма на декодер, зависит от количества различи d между спектром текущего фрейма и спектрами смежных фреймов. Если d больше, чем заданный порог, тогда коэффициенты передаются в декодер. Этот порог далее сделан зависящим от установки желательной битовой скорости следующим образом: порог поднят, если фактическая битовая скорость выше, чем установка желательной битовой скорости, а иначе — понижен В.7 Фильтр анализа CELP LPC В.7.1 Описание инструмента

Инструмент фильтра анализа CELP LPC подает входные сигналы через фитътр с коэффициентами LPC и возвращает остаточный сигнал.

В.7.2 Определения Вход

PP_tnputSignaЦ): Этот массив имеет размерность sbfrm_size и содержит входной сигнал int_Qlpc_coef6cienis[]\ Этот массив имеет размерность lpc_order и содержит коэффищюнты LPC Выход

!pc_msiduaf(]: Этот массив имеет размерность sbtrm_stze и содержит фильтрованный остато*кмй сипел

LPC

Конфигурация

fpcjorder. Эго поле указывает порядок LPC

sbfrm_&ze: Это поле указывает *еюло отсчетов е одном подфрейме В.7.3 Процесс кодирования

Входной сигнал фильтруется, используя коэффициенты фильтра. for (к — О: к < sbtrm_size: к* *)

{

fmp = PP_lnputSignafk}: for (/= 0;j< lpc_order. J*+)

{

Imp = Imp — int_Qfpc_coeffiaentsSJ * РЛег_ Slatesfj);

}

lpc_restdoa%k] = imp: update FMer_States:

}

Начальные состояния фильтра установлены на куль.

В.8 Модуль взвешивания CELP В.8.1 Описание инструмента

Модуль взвешивания CELP вычисляет значения, которые будут примочены к коэффициентам LPC.

В.8.2 Определения

В*пд

tpc_coefficientsl]: Это массив размерности tpc_order. содержащий коэффициенты LPC датта_пипг Это поле содержит коэффициент взвешивамся чистыхеля gamma_deer. Это поле содержит коэфф»щивнг взвешивания знаменателя Выход

Wnumjcoefftf. Это массив размерности Wnumjorder. содержащий взвешенные коэффициенты чюлителя Wdenjooefff}. Этот массив имеет размерность Wden_order и содержит взвешенные коэффициенты знаменателя

Конфигурация

fpcjorder. Это поле содержит порядок LPC В.8.3 Процесс кодирования

Взвешенные юэффтрюнты числителя вычисляются согласно выражению: for (к — 0: к < Wnum_order к**)

{

Wnum coeffpi] = lpc_coefTraentspfJ * gamma_nun?’1;

)

Взвешенные коэффициенты з*вменателя вычисляются согласно еьраженюо. forpt- 0: к < Wden order. к*+)

{

Wden_coefffk] = lpc_coefficients[k} ‘ gamma_den*’‘’:

}

B.9 Анализ возбуждения CELP

Анагмз возбуждения CELP вычисляет векторы формы и усиления, а также декодированный сюгтезирооэн ный речевой сигнал. Для модулей анагыза возбуждения определены возбуждение регулярным импульсом (ЯРЕ) и ыультиимлульсное возбуждение (JMPE).

81

ГОСТ Р 53556.3—2012

В.9.1 Возбуждение регулярным импульсом В.9.1.1 Описэню инструмента

Для возбуждения регулярным импульсом выходом анализа возбуждения являются shape_detay\), shapejndex\\ и ga<n_«ndices(l. Индексы формы и усиламя генерируют каждый подфрейм. Вектор sftepe_de<ayf] содержит задержху адаптивной книги шифров для каждого подфрейма, в то время как вектор sftape_mdex[j содержит индекс фиксированной книги шифров. Вектор ga*)_indrces{0)(! содержит усилете адаптивной книги шифров для каждого подфрейма. Усилемю фиксированной книги имфров для каждого подфрейма сохраняется в векторе ga*)_imftces{1H]-В.9.1.2 Определения Вход

PP_xipu/Sfgna(/: Этот массив содержит предобработанный входной сигнал и имеет размерность sfrm_size lpc_r&sjduat{]-. Этот массив содержит остаточный сигнал фс

int_Qipc_coeffioents[]: Этот массив содержит коэффициенты интерполироватого и квантованного LPC

Wnum_coefffJ: Этот массив содержит коэффициенты фильтра взвешивания «мспителя

Wder_coeff[]’. Этот массив содержит коэффициенты фильтра взвешивания хаменателя

first_or6erJpc_раг. Эго поле указывает первый коэффициент LPC

tag_candkiatesl): Этот массив содержит кандидатов задержки

signa/_mode: Это попе содержит флажок речевой’неречееой

rmc_irKtox: Это поле определяет индекс для мощности сигнала

Выход

sftepe_<feJa>1): Этот массив имеет размерность rmf_subframes. Он содержит задержку книги шифров для адаптивных книг шифров

sftepe_jncfex1). Этот массив имеет размерность nrof_sub(rames. Он содержит индексы формы для фиксированное юыг шифров

pa«n_indt<ces{g]: Этот массив имеет размерность 2 * nrof_subframes. Он содержит индексы усиления для адаптивной и фиксированной книг шифров

decoded_exdtaUon[|: Этот массив имеет длину sbtrm_size и содержит синтезууемый речевой сигнал Конфигурация

n_lag_candtdafes: Это поле ухазьеает число кандадатов задержки frame_size: Это поле указывает количество отсчетов в одном фрейме sbfrm_s/ze: Это попе указывает количество отсчетов в одном подфрейме nrof_subframes: Это попе указывает число подфреймов в одном фрейме ipc_order. Это поле указывает порядок LPC В 9.1.3 Процесс кодирования

Все блоки выполнены на основе единой для подфрейма базы. Для каждого подфрейма выполняются следующие шаги:

перцепционное взвешивание.

прелнаритАгммй ewfinfi плитка дддптигк тй книги шифрпв

поив адаптивной книги шифров.

предвэритегъмый выбор поиска фиксированной книги шифров, поив фиксированной тиги шифров, моделирование декодера.

Затем каждый шаг будет описан подробно. Для удобства вместо int_Qlpc_coetficients[\ используется ад(]. таким образом эд{] содержит квантованные коэффициенты LPC для рассматриваемого подфрейма.

Перцепционное взвешивание выполняется фильтрацией входного сигнала PP_lnpvtStgnal{] следующим фильтром:

AW A(z!у)

Kfcortot-л

1- I aqlk\zk-‘ _*-о_

|»СО#0»Г-1

1- I aglft]-/*1-*-*’1

«•о

при у = 0.8. Получающийся сигнал называют wsfnj.

Отклик на нулевой ехед zfn| определяется вычислением отклика S(z) на входной сигнал с нулевым значением.

S(z) =

1

_1_

Jbcawr-i

1- I aQl*]-y**,-z’*-1

ft>0

где у = 0.8. 82

ГОСТ Р 53556.3—>2012

Взвешенный целевой сигнал t[nj получают вычитающем z[n} из tvs/л/: for (л -0:п< Mm; п++)

{

Цп] = ws[n) — zfn}:

)

Импульсная передаточная фумщия /t/л/ вычисляется следующим образом: for (к — О; к < lpc_order к**)

{

tmp_stales(k] = 0:

/

Imp = 1.0:

for (л — О: п < sbhmjsize; п**}

{

д = 0.8:

for (к -О: к < lpc_order: к**)

{

tmp = Imp * aqfkfls} * д ‘ tmp_statesfk}; д * 0.8 ‘д:

}

Л/л/ = tmp:

for (к- lpc_order-1: к > О: к- -)

{

tmp_statesfk) = tmp_sta tes[k- 1J:

}

tmp_staiesfOf = tmp:

}

После вышеупомянутых вычислений выполняется предварительная выборка в адаптивной юмге шифров. Адаптивная книга шифров содержит 256 последовательностей ими шифров, из которых 5 предвыбрэны. Пред-вэритегъная выборка достигается, оценивая элемент (для 0 <= / <Lm и 0 <- i <nrof_subframesy.

(мы sa« • i

£ са J/.min + i • sbfrm_size + I — 3 — л — l] fajnj

’ •’—1:5-щгигп\-

где

Lm — 1

Г sbfrm

size —

и ca(Lm»n + i sbfrm_size +31 — л-1] и /э(л). представляющих последовательность книги шифров при задержхе (Lmin+j sbirm_size*3f) и «фильтрованном в обратном направление целевом сигнале Цп]. соответственно.

Обратная фильтрация вкпочает обращение времени tfnj. фильтрацмо S(z) и снова обращение времени. Lmm — мюымалывя задержка в отсчетах. Значение Lmin равно 40.

Еар. Lm*!} является энергией той последоватегъности ими шифров, фильтрованной фильтром синтеза уменьшенной сложности Sfl(z). которая является оценкой первого порядка фильтра синтеза LPC S(z):

лр

1

1 — и ■ у •

Первый коэффициент LPC фрейма берется для а. В зависимости от номера под фронт, который рассматривается. первый коэффициент LPC текущего или предыдущего берется, используя следующее: if (subframe_numbor < nr_svbframes/2) а = prev_a; else {

a = cvr_e:

}

После оценки rapf) выбираются максимагъно 5 последовательностей совместно с их 2 соседними последовательностями. приводя к 15 кандидатам, к которым применяется полный поиск. Индексы предвыбранмых последовательностей и их соседей сохраняется в *э£/(0 <= г<15).

Поио адаптивный книги шифров минимизирует среанеквадратическую взвешенную оимбку между оригжалом и восстановленный речью. Эго достигается поиском индекса г. максимизирующего элемент

83

ГОСТ Р 53556.3—2012

гэ(г) =

»Ыт tat-i

1 ‘М-гИМ

А»0

sbtrm ^ 1

X у2 ИИ

■ •в

Сигнал t[n) представляет взвешенный целевой сигнал. y[rjfn] — свертка последовательности сераfr)-n-1) с импульсной пвредэтсмной функцией hfnj. Индекс (ie{rf-Lmin) максимума обозначен как shape_de(ay \subtrame]. После определения индекса коэффициент усиления вычисляется согласно

г&гт _иг» -1

£ *И-у’М

® ~ KBttm км . 1

I у2 И

я*0

при у” [л] равном свертке cap*Lmin-n-1Jch(nJ. Коэффициент усилетя квантуется неоднородным квантователем:

(or (/ ~ О; abs{g) > сba_gain quantQJ && j < 31: j ++): if(9<0)

{

6a = -cba_gam{j}; gam_indices{0) = (((-j — 1)) & 63):

}

Else

{

6a = cba_gan&:

бал indicesfOJlsiAframe) = j:

}

Квантованным коэффициент усиления называют 6а. С помощью &ftape_de/ay(] и 6а вычисляется вклад pfn] адаптивной книги иыфров согласно

р{п) = Ga y ‘{п}.

Вклад р[пI адаптивной книги шифров вычитается из взвешенного целевого сигнала tfn), чтобы получать остаточный сигнал efn):

в W = t[nf— р /л/. 05л <аббтл_ size.

Остаточный сигнал е(п] «фильтруется е обратном направлении», чтобы получггь tffn]

Поиск фиксированный книги шифров также состоит из предварительного выбора и фазы выбора. Для огм6ужл**кея фикгирпвямной «миги имфрпя игяппняуитг» РРР-*кыга шифров Кажлый ммгтпр «миги шифров ш»п ет sbfrm_size импульсов, кэ которых Np импульсов могут быть с амплитудой +1. 0 или -1. Эти Np импульсов позиционируются в регулярную сетку, определенную фазой р и междуимпульсньш промежутком D таким образом. что позиции сетки равш р* Di. где / между 0 и Np. Оставшиеся lsbfrm_size-Np) имгтугъсое являются нулевыми. О и Np зависят от установок битовой скорости, как дано в табгиде 87.

Чтобы уменьшить сложность, локальная РРЕ-книга шифров генерируется для каждого подфрейма, содержащего подмножество 16 входов. У всех векторов этой локальной RPE-книги шифров одна и та же фазе Р. которая вычисляется следующим образом: max = 0:

(or (р = 0:р < D: р++)

{

tmp_max = О: tor(l-0;t<Np-1:t**)

{

tmp max +» abs(tf[p+D ’ (]);

{

if (bnp_max > max)

{

max = tmp max:

P = p.

}

)

Определив фазу P, нужно чтобы амплитуда импутъса 1,0<=/<Wp была нулем, или равной знаку соответствующего отсчета tf [л]. Знак сохраняется в атр{1\ следующим образом:

(or (1 = 0; К Np: (+*)

{

84

ГОСТ Р 53556.3—>2012

атрЮ = *дп(гГ(Р + 0’ф:

)

где знак равен +1 для эначешм. больших 0 и -1 — в ином случае.

Для импульсов Np-4 возможность нулевой амплитуды исхлочена априорно в тех поэмдиях. где О (л] максимален. Поэтому испогъзуется массив pos[]. который имеет следующую семантику:

pos(I] = 0 указывает, что возможность нулевой аышыгуды включена для импутъса I. pos(I] = 1 указывает, что возможность нулевой амгомтуды исключена.

Чтобы определить массив ровЦ. используется следующий алгоритм:

1. Инициализировать post] нулями,

2. Определить л таким образом, чтобы выполнялось ate(tf [Р + D * п])> = ate (tf [Р ♦ О * fl) для всех i не равных л.

3. pos{n] = 1,

4. tf\P*D‘ni = 0.

5. Продолжить с шагом 2, пока не фиксируются Ыр-4 позм^ий.

На основе Рагтф(] и pos генерируется локальная РРЕ-книга шифров cf[k%n], используя следующий алгоритм: for (X = 0; к< /&■*++>

{

for(n-0:n< $bfrm_size): п++)

{

}

)

for 0-О; К Ыр; /++)

{

cffl)}(P+D’I}=ampp}:

}

т = 1:

for 0 = 0: К Ыр: )**)

{

if (posp]==0)

{

с-т:

k»f(q-0:q<e;q**)

{

for fn = ft л < Np: n++)

{

сЦт](Р+ОЪ1 = cffqffP+D «л/.

}

cffm+*-ffP+D’l} = ft

}

}

)

На основе локальной РРЕ-книги шифров предварительно выбираются 5 векторов из 16 для поиска с обратной связью. Предварительная выборка достигается путем оценки элемента для О <= * <16:

(«Млп \2

I Cf[*||n| tf[rt]

—'»a ЕП1]

с сфМ представлением вектора локагъной РРЕ-ккиги шифров. Bf[k] является энергией этого вектора пита шифров, фильтрованного фильтром синтеза уменьиинкюй сложности Sjz). Индексы предвыбранных векторов сохраняются а Щф

Используя эти предвыбранные индексы, выпотяется поиск фиксированный книги шифров с обратной связью. С помощью поиска фиксированной книги шифров с обратной связью разыскивается индекс г. максимизирующий элемент

Шт *d*-1

rf[r]«2‘Gf- 1 •И*УМИ-«а

л *0

ibfrm U34 ~1

I У2 ИМ.

л-е

85

ГОСТ Р 53556.3—2012

Сигнал е{п] представляет остзтмшй сигнал поиска адаптивной ю-мги шифров, а у(г](п] — свертка с

импульсной реакцией h{n]. Gf — квантованный коэффициент усилетя д. который определяется согласно

9 =

КМЮ -1

1 вИуИ(п]

я-0_

«Млп *в*-1

1 У21гЦп]

я-в

Процесс квантования усиления фиксированной от шифров дается ниже, где 6р — предыдущее квантованное усиление фиксированной книги шифров. if (fksi subframe)

{

forfm = 0: g > cbf_gain_quant{m} && m < 30: m **);

Gf = cbf_gain(mj:

}

else

{

g-g/Gp:

for(m -0:g> cbl_gain_quanl_dilfm) &&m< 7: m ++): g — Gjp * сЫ_да/п dUffmJ:}

}

gam_indices{0} = m.

Представления cbf_gam и сЫ даю <fif даются в табгмце 89 и таблице 90: табтещы квантования сЫ gain Quart и cb(_gain_Quant_ctf даются ю«же.

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

Детальное огмсание этих шагов приводится в декодере.

Табгмцы В.11. В.12. В.13 используются для квантования усиления

Таблица В. 11 — Табтщэ квантования для усиления адаптивной книги шифров

Индекс

C6e_9»m_quart

О

0.1622

1

0.2542

2

0.3285

3

0.3900

4

0.4457

5

0.4952

6

0.5425

7

0.5887

в

0.6341

9

0.6783

10

0.7227

11

0.7664

12

0.8104

13

0.8556

14

0.9005

15

0.9487

Индекс

С6е_9* «_еиеп(

16

0.9989

17

1.0539

18

1.1183

19

1.1933

20

1.2877

21

1.4136

22

1.5842

23

1.8559

24

2.3603

25

3.8348

26

7.6697

27

15.339

28

30.679

29

61.357

30

122.71

31

245.43

86

ГОСТ Р 53556.3—2012

Таблица В.12 — Таб/ыца квантования для усиления фиксированной nwm шифров

Индекс

Cb/_gam_quant

Индекс

СЫ_дат_диап1

0

2.4726

16

82.3374

1

3.1895

17

95.3755

2

4.2182

18

109.8997

3

5.6228

19

126.3037

4

7.3781

20

144.3995

5

9.5300

21

165.5142

б

12.1013

22

190.9742

7

15.2262

23

220.6299

8

19.0319

24

258.2699

9

23.6342

25

305.5086

10

29.1562

26

368.5894

11

35.3606

27

453.5156

12

42.8301

28

573.6164

13

51.1987

29

801.6422

14

60.6440

30

9999.9

15

70.9884

31

Таблица В.13 — Таблица квантования для разностностного усиления фиксированной ю-мги шифров

Индекс

Cbf_g*m_quaal

Индекс

Cbf_gam_guanl

0

0.2500

16

1.3356

1

0.5378

17

1.8869

2

0.7795

18

4.2000

3

1.0230

19

9999.9

В.9.2 Мультмимлульсиое возбуждение В.9-2.1 Описание инструмента

Для кодера CELP, базирующегося на мульти импульсном возбуждаем, выходом анажза возбуждения является sjgna/_mode, rmcjndex. &hape_de#3yt). shape_pos/tions[]. s/iape_»gns{] и gain_tndex[). Коэффициенты формы и усиления генерируют каждый подфрейм. Вектор s/iape_de/ayf] содержит задержку адаптивной книги шифров для каждого подфрейма. в то время как векторы sSiape_positions{] и shape_s<gns{] содержат позиции импульса и знаки соответственно. Усиление адаптивной книги шифров и мультиимпульсное усиление для каждого подфрейма представляют собой вектор, квантованный и сохранений в векторе gam_indexf}.

В.9 22 Определения Вход

PP_wiputSignaf}: Этот массив содержит прадобреботанный входной сигнал и имеет размерность sfrm_sae int_Qipc_coeiTioents(]: Этот массив содержит коэффициенты интерполироваьмого и квантованного LPC Wnumjcoefftf. Этот массив содержит взеешение коэффициенты фильтра жслигеля Wden_coeff[f: Этот мэсоге содержит взвешенные коэффициенты фигьтра знаменателя Выход

signal_mode: Эго поле содержит флажок голосовой/неголосоеой rmcjndex: Эго поле определяет индекс для мощности сигнала

s/>ape_d6/ayQ: Этот массив имеет размерность nmf_subframes. Он содержит задержку книги шифров для адаптивной и фиксированной книг шифров

s/>ape_positfons(]: Этот массив имеет размерность nrof_sut/rames. Он содержит позиции импугъса s/jape_s#gns[J. Этот массив имеет размерность nmf_subframes. Он содержит знаки импульса gatn_rtdex[): Этот массив имеет размерность nrnt_subframes. Он содержит квантованное усиление вектора для адаптивной пеки шифров и мультиимпульса

87

ГОСТ Р 53S56.3—2012

Конфигурация

frame_size: Это поле указывает ч«сло отсчетов в одном фрейме st>frm_s/ze: Это поле указывает «мело отсчетов в одном поофрейме nrof_subfr3mes Это попе указывает число подфреймов в одном фрейме lpc_order. Эго поле указывает порядок LPC В.9.2.3 Процесс кодирования

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

Квантование энергии фрейма

Среднеквадратичное (/ms) значение отсчетов входа подфрейма вычисляется в последнем подфрейме Значение /ms скалярно-квантованное по шкале д-law. Значения rms других подфреймов получают лмыейной интерполяцией квантованных эчачений rms в последнем подфрейме текущего и предыдущего фреймов. Квантор») ныв значения rms используются для нормализации усиления.

Оценка шага без обратной связи и решете о режиме

Процедуры разомкнутой (без обратной связи) оценки шага и решения о режиме выполняются совместно каждый интервал анализа 10 мс. используя пврцепциочый взвешенный сигнал. Оценка шага выбирается, чтобы минимизировать квадратичную ошибку между текущим и предыдущим блоками взвешенных входных отсчетов. Усиление предсказания шага вычисляется для каждого интервала анализа. Каждый фрейм классифицируется в оды из четырех режимов, основываясь на среднем усилении пред сказа ыя шага. Режимы О и 1 соответствуют неголосовому и переходному фреймам соответственно. Режимы 2 и 3 соответствуют голосовьм фреймам, и у последнего более высокая периодичность, чем у предыдущего. Если длина подфрейма равна 5 мс. тот же самый шаг оценки используется в двух подфреймах для помеха шага с обратной связью.

Кодирование сигнала возбуждения

Сигнал возбуждения представлен линейной комбинацией адаптивного вектора кода и фиксированного вектора кода, масштабированных их соответствующими усилениями. Каждый компонент сигнала воэбуждетя последовательно выбирается процедурой помеха «анализа через синтез» гак, чтобы перцепционная взвешенная ошибка между входным сигналом и восстановленным сигналом была минимальна. Параметрами адаптивного вектора кода является задержка с обратной связью и усиление. Задержка с обратной связью выбирается в диапазоне. блихом оценочной задержке без обратной связи. Адаптивный вектор кода генерируется из блока прошлых отсчетов сигнала возбуждения с выбранной задержкой с обратной связью. Фиксированный вектор кода содержит носколысо ненулевых импульсов. Позиции импульсов ограничены в алгебраической структуре. Таблица ограничения позиций импульса устанавливается исходя из параметров. Чтобы улучшить производительность, после определения многочисленных наборов кандидатов позиций импульса выполняется комбинаторный помех между кандидатами позиции импульса и индексом амплитуды импульса. Усиления для адаптивного и для мулътиимпульс-ного вектора кода нормализуются и еекторно вактуются. Коэффициент нормализации вычисляется из квантованных коэффициентов LP. квэнговатого rms подфрейма и rms сигнала возбуждения. Кьмга ходов усилетя изменяется в соответствии с режимом.

Поиск адаптивной книги шифров

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

Е, = X <х(л> » 9t /*(«»*• *вр-в<<<<*+8.

•-о

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

1 *(л)у, (л)

л « 0

в» = *-1 •

I yf («)

л-0

Оптимальная задержка шага закодирована 8 битами, основываясь на соотношении между s/7ape_jfKrtces(0J и задержкой (см. процесс декодирования).

Поиск фиксированной п-мги цмфров

Вектор фиксированной книги шифров представлен позищюй импульса и амплитудами импульса. Поэицм* импульса и амплитуды раэысшваются. чтобы минимизировать среднеквадратичную ошибку между целевым сиг-налюм и взвешенным синтезируемым сигналом.

88

ГОСТ Р 53556.3—>2012

X <хИ — д, у, И — g. ** (n)f.

Л-e

где д, является оптимальным усилением следующим образом:

9k »

w.i

Г.

••о

(х(л) — д, y,(n))zk(n)

Н-1

I *?<«>

Л-В

где к указывает возможную комбинацию s/»ape_xx*ces[ 1 ] и s/iepe_indfces(2) (см. 4.2). Вектор фиксированной книги шифров создается из позиций имгтугъса и ампхмтуд импульса (см. 4.2). Взвешенный сигнал zjn) вычисляется. пропуская вектор ф*мсироо»вюй книги шифров через фигьтр смчтеза LP 1/A(z) и фильтр перцепционного взвешивания W(z).

Квантование усиления

Усиления для адаптивного вектора кода и фиксированного вектора кода нормализуются остаточной энергией предсказания гз и скалярно квантуются. Остаточгая энергии rs вычисляется на основе энерпм фрейма и коэффициентов отражения. Энергия фрейма вычисляется каждый лодфрейм как среднеквадратичное (RMC) значение и квантуется в домене fj-iaw. Коэффициенты отражемгя k(i) конвертируются из интерполированных коэффициентов LPCs int_Qlpc_coe№oants{f. Следовательно остаточная энергия лредскаэа мя (rs) подфрейма равна

п = аЫгт_ teng.emp2 1″|(1 — к2 <)).

i-i

где N0 — порядок анагмза LP. q_amp — квантооавюя амтимтуда RtJC. a sbfrm_ten — опта подфрвйма. Квантование усиления выполняется путем поиска пары коэффициентов усиления, которые миюгмизируют ошибку между целевым и взвешенным синтезируемым сигналом. Ошибка агг , обусловленная квантованием усиления дается выражением:

«Мм во»- 1/ 1

вГТд = X (врСТУдс A(iaPtG^nCB[rn] ЭС_5У°(0

po*sc

1

«Мм дел -1

pow_ac= X ac_ex*(i)

Д.0

pow_sc = X sc_ex*( r).

1-0

где /пил — мчдексы. ac_ex(t) — выбранный адаптивный вектор кода. ac_syn(i) — ситал. который синтезируется из ac_ex(i) и перцепционно взвешивается. sc_ex(t) — выбранный стохэстичеаий вектор кода, и sc_syn(i) — сигнал, который синтезируется из sc_ex(i) и перцепциото взвешивается.

Пара индексов п и гп. которые ьынимизируют ошибку елг0. выбирается и сохраняется е gain_indtces{]. Затем квантованное адаптивное усиление qacg. квантованное стохастическое qscg и сигнал возбуждения decoded. excHal/on(i) вычисляется следующим образом.

decoded. exota6on(/) = qacg • ac_ex(i) + gscg ■ sc_ex(/) (О £ i £ sblrm_Len — 1)

qacg = J ^_

4 * Ypcw.ae

qacg = l 4 * ypotv.sc

■ ;4dap#Ga»nCB[m] RxedGainCSfn]

89

ГОСТ Р 53556.3—2012

В.9.3 Мультмимпульсное возбуждение с масштабируемой битовой скоростью В.9.3.1 Описание инструмента

Выходом анализа возбуждения расширения являются sftape_en/)_posit/ons{]. shap&_enh_signs[] и дакт_елЛ_кх*ех{}. №дексы формы и усиления генерируются каждый подфрейм. Векторы sftape_enb_posffions(] и s/upe_enft_s>gns[| содержат позиции импульса расширены и знаки соответственно. Мультмимпульсное усиламо расширения для каждого подфрейма является скалярной величнной. квантованной и сохраненной в векторе gain_index(].

В.9.3.2 Определения Вход

PP_nputSignal[}-. Этот массив содержит предобрвботанный входной сипчал и имеет размерность sfrm_size int_Qipc_coet6cientsl): Этот массив содержит интерполированные и квантованные коэффициенты LPC Wnum_coeff[]’. Этот массив содержит взвешенные коэффициенты фильтра нклигеля Wden_coefflf. Этот массив содержит взвешенные коэффициенты фигътра знаменателя Выход

srtape_en/»_pos*ons(]: Этот массив имеет размерность nrof_subframes. Он содержит позиции импульса shepe_en/i_signs(]: Этот массив имеет размерность nrof_subframes. Он содерхсит знаки импульса gain_enh_indexl]. Этот маосив имеет размерность nrof_subtrames Он содержит квантованные усиления вектора для адаптивной книги шифров и мультишпульса Конфигурация

n_lag_can<Mates: Это поле указьеает число кандидатов задержки frame_size: Это поле указывает ннсло отсчетов в одном фрейме sb/rm_size: Это попе указывает нюло отсчетов в одном подфрейме nrof_subframes Эго поле указывает число подфроймов в одном фрейме. ipejorder. Это поле указывает порядок LPC В.9-3.3 Процесс кодирования

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

N.J

£* « £(*(‘0-дгУ|(л>-д*г*<п))2.

л-К

где д, является оптимальным усилением спедуккдем образом:

М.1

I (х(п) — д, /г(л))г*(п)

• -0

9* -лГП-•

I zUn)

л»0

где к указывает возможную комбинацию shapejanh_positkxts и shape_enh_s>gns (см. 4.2). Вектор фиксированной пеги шифров создается из позиций импульса и амплитуд импульса (см. 42). Взвешенный сипчал zk(n) вычисляется путем фильтрации, пропуская вектор фиксированной книги шифров через фигътр синтеза LP VA(z) и фильтр перцепционного взвешивания W(z).

8.9.4 Мультмимпульсное возбуждение для инструмента расширения полосы пропускания В.9.4.1 Описамо инструмента

Выходом анализа возбуждения 8 инструменте расширения полосы пропускания являются shape_bws_ deiayl), shape_bws_pos№ons(). sftape_£H*s_srignsQ и gatn_invs_/nOej(1], Индексы формы и усиления генерируются каждый подфрейм Вектор sftape_bws_de/ayf] содерхсит задержку адалпвной книги шифров для кзхсдого под-фрейма. е то время как векторы shape_bws_positions{] и sfcape_bivs_5igrcs{] содержат поэмрм и знак импугъса соответственно. Усиление адаптивной книги шифров и мультиммпульсное усило! ыо для каждого подфреймз являются вектором, квантованным и сохранении в векторе ga*i_bws_&xiex[].

В.9.4.2 Определения Вход

PP_nputSignal[f. Этот массив содержит пред обработанный входной сигнал и имеет размерность sfrm_size int_Qlpc_coefTicientsl): Этот массив содержит интерполированные и квангооачыв коэффициенты LPC 1Улит_соеЛ27. Этот массив содержит коэффициенты фильтра взвешивания числителя Wden_coeff[j-. Этот массив содержит коэффициенты фильтра взвешивания знаменателя Выход

shape_i»vs_cte/ay(]: Этот массив имеет размерность nrof_subframes_tMfs. Он содержит задержку книги шифров для адаптивных и фиксированных книг шифров

90

ГОСТ Р 53556.3—2012

shape_bws_possttons\}: Этот массив имеет размерность nrof_subframes_bws. Он содержит позиции им-путъса

shape_bws_stgns[]: Этот массив имеет размерность nrof_subframes_bws, содержит знаки импугъса gaw7_bws_indexl]. Этот массив имеет размерность nrof_subframes_tms. Он содержит квантованное усиление вектора для адаптивной книги шифров и мульгиимпульсной Конфигурация

n_lag_candidates: Это попе указьеэет число кандодагое задержки (rame_size: Это поле указывает ччспо отсчетов в одном фрейме

sbfrm_size: Это поле указывает число отсчетов в одном подфрейме в инструменте расширения полосы пропускания

nrvf_subframes_bws: Это поле указывает число подфреймов в инструменте расширения полосы пропускания

lpc_order. Эго поле указывает порядок LPC В.9.4.3 Процесс кодирования

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

Квантование энергии фрейма

Используется то же самое среднеквадратичное (/ms) значение, как для CELP с частотой дисфетизацуи

8 кГц.

Оцежа шага без обратной связи и речи» мо о режиме

Оценка шага без обратной связи выполняется путем преобразования задержки шага с частотой дискретизации 8 кГц (см. процесс декодирования). Используется тот же самый режим, как у CELP частоты дисжретизэцуи 8 кГц.

Кодирование сигнала возбуждения

Сипел возбуждения представлен линейной комбинацией адаптивного вектора кода и двух фиксированных векторов кода, масштабированных их соответствующим! усилениям!. Задержка шага выбирается в диапазоне около предполагаемой задержки шага без обратной свяж. Один из двух фиксированных векторов кода получают путем рэсиирения частоты дискретизации фиксированного вектора кода, используемой в кодере частоты дискретизации 8 кГц. Другой фиксированной вектор кода определяется процедурой поиска «анагмз через синтез». Помех адаптивной книги шифров

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

^ =»£(*(/»-9, У, <«)>*. (^-8</<<вв + 8.

л-0

где — задержха без обратной свяж. определенная в анализе шага без обратной связи, д, является оптима/ъ-ным усилением следующим образом.

9: —

t (х(л), у,(л)

#-* —

1 Уfin)

Разгмчие между оптимальной задержкой изага и задержхой шага без обратной связи кодируется 3 битами, основываясь на соотношение! между shape_bws_ctelay м дифференциальной задержкой (см. процесс декодирования).

Поиос фиксированной книги шифров 1

Фиксирований вектор кода 1 получают увехыченмем частоты дискретизации фиксированного вектора кода, используемого в кодере с частотой дискретизации 8 кГц (см. 5.7.4.3.4),

Поив фиксированной ичиги шифров 2

Фиксированный вектор книги шифров представлен позицией импульса и амгимтудами импульса. Позиции и амплитуды импугъса разыскиваются так. чтобы мишмизировать среднеквадратичную ошибку между целевым сигналом и взвешенным синтезированным сигналом

Е* ■

л-а

91

ГОСТ Р 53556.3—2012

где д, является оптимальным усилением спедуюиенм образом:

«.1

I (*(л)-9«Уг («))*» (л)

«•о

9к—мП-•

1 4 <л)

■ -0

где к указывает возможную комбинацмо shape_bws_posibons и shape_b#s_signs (см. 4.2). Вектор фиксированной ктги шифров создается из позиций импульса и амплитуд импутъса (см. 4.2). Взвешенный сигнал z„(n) подсчитывается. пропуская вектор фиксированной книги шифров через фильтр синтеза LP 11А (г), и перцепционный взве-имвающий фильтр W(z).

Квантование усиления

Усиления для адаптивного вектора кода и двух фиксированных векторов кода нормагмзуются остаточной энергией предсказания га и квантуются. Остаточная энергия га вычисляется на основант энергт фрейма и коэффициентов отражения. Энергия фрейма подсчитывается каждый подфрвйм нас среднеквадратичное (РАЮ) значение и квантуется в домене закона fi-taw. Коэффициенты отражения k(i) преобразуются из Интерполирован-ш LPCs rt_Q/pc_coeffraents(l. Следовательно, остатоыая энергия предсказания (га) подфрейма равна

га = sbfrm_ len-<t_»mp3 f|(1 — А2»)).

где Np является порядком анагмза LP. q_amp — квантора пая амплитуда РАЮ и sbfrw_fen — длина подфрейма

Усиления для адаптиаюго вектора кода и фиксированного вектора кода 2 является оокторно квантованы ми. Усиление для фиксированного вектора кода 1 является скалярно квантованным. Эти операции квантования достигаются минимизацией перцелционио взвешенного исхажвния (с обратной связью).

В.10 Мультиплексор потока бит CELP В.10.1 Описание инструмента

Инструмент мультиплексор потока бит CELP мультиплексирует фрейм в поток бит.

В.10.2 Определения

Все элементы потока бит и переменные поддержки были определи ы в 5.3 и 5.4.

В.10.3 Процесс кодирования

Параметры кодируются а поток бит согласно синтаксису, огмсанному а разделе 3.

В.11 Инструмент сжатия тишины CELP В.11.1 Модуль VAD

Модуль VAD принимает решение о том. является ли фрейм фреймом паузы а разговоре или фреймом разговора, основываясь на том. насколько изменяются характеристики входного сигнала. Характеристики представлены четырьмя параметрами: энергиям полной полосы и нижней полосы, LSPs и частотой перехода через нуль фрейма входного сигнала. Временное решение принимается через каждые 80 отсчетов, и конокюе решете для фрейма принимается на оо-юее временных решений с ограничением затягивания. Для широкополосного режима параметры характеристик вычисляются исходя из входной речи с пониженной дискретизацией от 16 кГц до8 нГц.

В.11.1.1 Определения Вход

PP_tnpulSignalf] Этот массив содержит предобработайный речевой сигнал. Размерность равна frame_stze Выход

VAD_Hag: Это попе содержит флажок VAD (см. таблицу 103).

Элементы справки, используемые в модуле VAD:

4ос_олЗег порядок LP

sbfrmjsize: тело отсчетов в подфрейме

frame_size: число отсчетов во фрейме

n_subframe: тело подфреймое во фрейме

В.11.1.2 Уменьшение дискретизации для широкополосного случая

Сигнал s_vad(|. испотъзуемый в модуле VAD. генерируется предварительной обработкой входного сигнала тем же способом, как это огмеано в В.4. Когда частота дискретизации составляет 16 кГц. частота дискретизации входного сигнала понижается до 8 кГц после предварительной обработки.

В.11.1.3 Вычисление параметров

LSPs входного сигнала, fspf] вычисляются из коэффициентов LPCs 4K_coeffioenfs[]. которые даются модулем взвешивания UPEG-4 CELP. описатым в В.8. Энергия полной полосы Р. энергия нижней полосы Р, между 0 и 1 кГц и частота перехода через нуль Z вычисляются следующим образом.

92

ГОСТ Р 53556.3—2012

Р = 10togfC/?/0/

Р, = I0togiehr Rh

во

ZsJq IJ»*» I*- — **»[*_ **\i — IjJ.

где h — вектор импульсной передаточной функцмч фильтра FIR с частотой среза 1 кГц. R(0] — первый коэффициент автокорреляц|ы и R — матрица автокорреляции Toephte (Теплица) с коэффициентами автокорреляции в каждой диагонали. Эти параметры подсчитываются каждые 10 мс. Их средние значения обновляется следующим образом:

Р = аР + (1 — а)Р

р = 6Р + <1 — й)Р,

Z = nZ + (1 — n)Z

Lsp(/] = dLsp[/] + (1 — d)L$p[r]. i s 1,….фс_ order.

где a = 0.995. b = 0.995. c = 0,998 и d — 0.75. Каждые 80 отсчетов оцемеаются следуюиде дифференциагъ-ные параметры, чтобы принять временное решение, характеризуется ли входной сигнал как разговорами или как пауза в разговоре:

др = Р — Р

Др, = Й, — Р,

&Z в Z — Z

фс вмн

ALspm «X

В.11.1.4 Временное решение о речевой активности

Если удовлетворяется любое из следующих неравенств, флажок временной голосовой активности. vad flap sobfi! для

frm siге [samples]

1 = 0 —80(sempiee)- устанаегмвается в 1.

>f(

ALsp > 0,0009 or

ALsp > 0.00175 * JZ + 0.00085 or

.\LSP > -0.UU4OO * AZ * 0.00110 ОГ

JP<-0.47 or

JP < -2,5 ‘ JZ — 0.5 or

JP < 2.0 * JZ — 0.6 or

AP < 2.5 * JZ-0.7 or

AP < -2.91 ‘ AZ-0.482 or

AP < 880,0 * ALsp — 1.22 or

AP, < 1400.0 ’ ALsp — 1.55 or

AP, > 0.929 * AP + 0.114 or

JP,<-1.5 * JP-0.9or

JP,<0.714* JP-0.214

)

{

vad_Rag_sub{i} = 1;

} else {

vad_ ftag_ subfi] = 0:

}

B.11.1.5 Решение о речевой активности фрейма

Флажок голосовой активности фрейма vad_flag определяется на основании временного флажка vad_ffag_sub{]. что выполняется в соответствующем фрейме следующим образом: vad_8ag = vad_tiag_sub fOJ и vad_fteg_sub [1] и …о vad_Rag_sub [L-1J. гps «ш» замещает логическое ИЛИ.

[Tsp[i] — Lsp [r]f . / = \…lpc_order

93

ГОСТ Р 53556.3—2012

В.11.1.6 Затягивание

Затягивание применяется к конечному решению VAD. VAD_fiag, после переключения из речевого фрейма в фрейм с отсутствием речи:

| I first 80 ш sec afler the active — voce period <vad flag = 1}

VAD flag = {

[vad _ flag. otherwise

Когда период речевой активности (vad_flag=1) короче, чем 80 мс. VAD_ftag всегда равен vad_flag.

В11-2 Модуль DTX

Модуль DTX обнаруживает фреймы, в вторых входные характеристики изменяются во время фреймов паузы в разговоре. В первом фрейме во время каждого периода паузы в разговоре и во фрейме, где обнаружено изменение, модуль DTX извлекает параметры, энергию фрейма и LSPs речевого входа и кодирует эти параметры. Есть три режима DTX; DTX_flag = 0.1 и 2 в зависимости от того, какая информация передается. Когда обнаружено изменение в LSPs [DTX_flag = 1). закодированные параметры LSP и RMC а также ТХ_Яад передаются как информация HR-SID. Когда обнаружено изменение среднеквадратичного значения RMS (энергия фрейма) {DTXJRag — 2), передаются только закодированный параметр RMS и ТХ_Пад как информация LR-SID. Иначе передается только ТХ_Пад.

В. 11.2.1 Определения Вход

PP_tnputSignaf] Этот массив содержит предобработ энный речевой сигнал. Размерность равна frame_siza TX_flag Это поле содержит режим передачи (см. таблицу 103)

Выход

VAD_tlag Это поле содержит флажок VAD (см. таблицу 103).

Элементы справки, испогъзуемые в модуле DTX. t>c_order: порядок LP frame_size: число отсчетов во фрейме п subframe: ч«сло подфреймов во фрейме В?11.2.2 Анапа LP

Испогъзуются тот же самый анализ LP и преобразование LPC-\o-LSP. как описанные е подпункте В.5. Это дает кекаантоважые LSPs JspOI).

В.11.2.3 Усреднение LSP

Среднее LSP tep_avf j вычисляется из неквантооаиых LSPs <sp(](| следующим образом:

t-»

tep_av[r] = (1/f.) X,fcpl/№L * = &…lpc_order — 1.

1-о

где ispfyX] являются несвантоважными LSPs в /-№ новом фрейме, которые вычислены из не квантованных LPCs /рс_соеМс*епа{). описанных в В.б. L — число фреймов за 80 мс.

В.11.2.4 Вычисление RMS

RMS входного сигнала вычисляется способом, идентижгыы описанному в В.9. Это вы-мспение дает некван-тоеанное RMS хлогтл(] в каждом подфрейме.

В.11.2.5 Усреднение RMS

Среднее RMS входного сигнала xnorm_av{] вычисляется из некеэнтованного RMC хпогглЦ следующим образом:

1Г.1

xnorm_av = (17JW) ^хполпЦ].

где М является чгслом подфреймов за 80 мс. Кроме того xnorm_av_end является xnorm_av[n_subframe-1]. где n_subframe — это число подфреймов во фрейме.

В.11.2.6 Обнаружение изменения характеристик

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

ОТХ_Пад = 0

4 f20togic xnorm_std — 29tog10 xnorm_end\ > Ош0в) DTX_Bag = 2

МЯГ

П X i/sp_»d[r] — fsp_av[i\X>Dbp)DTX_Hag =t

i -1

где LSPs нормализованы к диапазону от 0 до 1. Порог &ялеут перекпочэется согласно xnorm_sxi. как показано в табл нею В.14. Порог изменяется согласно частоте дискретизации: 0,002 для 8 кГц и 0.0015 для 16 кГц.

94

ГОСТ Р 53556.3—>2012

fsp_3v_sid и xnorm_sid являются tep_av и xnorm_av_end последнего фрейма SID соответственно. Есть ьмнимагъ-«м период, где обнаружена не производится. Длина этого периода обычно 20 ыс. но во время первых 40 мс периода паузы в разговоре — это 0 мс.

Таблица В.14 — Соотношения между Эдл*. и xnorm_sid

20foglgxnorm_sid. rffi

D <SB

< 1.0;

о

(О*

1.0-5.0

4.0

5.0 — 9.0

3.0

9.0 — 12.0

2.5

12.0 <

2.0

В.11.2.7 Кодирование параметров

Срехнее значение LSP Jsp.avf] кодируется, используя тот же процесс, который описан в В.6 с исключениями. описи» чими в 5.9.3. Кодирование среднего RMS xnorni_avfl идвнтичю кодированию, описанному в В.9. за ноиючеьмем того что параметры fj-faw независимы от режима сигнала и установлены как rms_max = 7932 и mujaw = 1024.

В.11.2.8 Локальный декодер CNG

Локагьное декодирование CNG вылогчяется для того, чтобы обновить буфера для фильтра оегтеза LP. Обработка иденторма процессу декодирования в декодере.

95

ГОСТ Р 53556.3—2012

Библиография

[1| ИСО/14ЭК 14496-3:2009 Информационные технологии. Кодирование аудиовизуальных

объектов. Часть 3. Аудио (ИСО/МЭК 14496-3:2009 hiformabon technology — Со&пд of autto-wsual obfOds — Part 3: Autfo)

96

ГОСТ Р 53556.3—2012

УДК 621.396:006.354 ОКС 33.170

Ключевые слова: звуковое вещание, электрические параметры, каналы и тракты, технологии MPEG-кодировамв*. синтетический звук, масштабирование, защита от ошибок, поток битов расширения, психоакустическая модель

97

Редактор £ В. Вахрушева Технический редактор в. Н. Прусакова Корректор С. И. Фирсова Компьютерная верстка 3. И. Мартыновой

Сдано в набор 03.10-2013. Подписано а печать 05.03.20 14 Формат 60×84’^ Бумага офсетная Гарнитура А риал Печать офсетная Уел. печ. я. 11.63. Ун.-над. п. 11.35. Тяраж 58 экз. Зак. 1440

•ГУП «СТАН0АРТИМФОРМ». 123095 Мосжаа. Гранатный пер. 4. nww.90sta1fo.ru infoQ90sbnfo.ru

Набрано м отпечатано в Калужской типографии стандартов. 248021 Калуга, уа. Московская. 256

Выполненные работы

Натуральные чаи «Чайные технологии»
Натуральные чаи «Чайные технологии»
О проекте

Производитель пищевой продукции «Чайные технологии» заключил контракт с федеральной розничной сетью «АЗБУКА ВКУСА» на поставку натуральных чаев.

Под требования заказчика был оформлен следующий комплект документов: технические условия с последующей регистрацией в ФБУ ЦСМ; технологическая инструкция; сертификат соответствия ГОСТ Р сроком на 3 года; декларация соответствия ТР ТС ЕАС сроком на 3 года с внесение в госреестр (Росаккредитация) с протоколами испытаний; Сертификат соответствия ISO 22 000; Разработан и внедрен на производство план ХАССП.

Выдали полный комплект документов, производитель успешно прошел приемку в «АЗБУКЕ ВКУСА». Срок реализации проекта составил 35 дней.

Что сертифицировали

Азбука Вкуса

Кто вёл проект
Дарья Луценко - Специалист по сертификации

Дарья Луценко

Специалист по сертификации

Оборудования для пожаротушения IFEX
Оборудования для пожаротушения IFEX
О проекте

Производитель оборудования для пожаротушения IFEX открыл представительство в России. Заключив договор на сертификацию продукции, организовали выезд экспертов на производство в Германию для выполнения АКТа анализа производства, часть оборудования провели испытания на месте в испытательной лаборатории на производстве, часть продукции доставили в Россию и совместно с МЧС РОССИИ провели полигонные испытания на соответствия требованиям заявленным производителем.

По требованию заказчика был оформлен сертификат соответствия пожарной безопасности сроком на 5 лет с внесением в госреестр (Росаккредитация) и протоколами испытаний, а также переведена и разработана нормативное документация в соответствии с ГОСТ 53291.

Выдали полный комплект документации, а производитель успешно реализовал Госконтракт на поставку оборудования. Срок реализации проекта составил 45 дней.

Что сертифицировали

Международный производитель оборудования
для пожаротушения IFEX

Кто вёл проект
Василий Орлов - Генеральный директор

Василий Орлов

Генеральный директор

Рассчитать стоимость оформления документации

Специалист свяжется с Вами в ближайшее время

Получить консультацию специалиста

Ошибка: Контактная форма не найдена.

Оставляя заявку, вы соглашаетесь с пользовательским соглашением