Получите образец ТУ или ГОСТа за 3 минуты

Получите ТУ или ГОСТ на почту за 4 минуты

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

ФЕДЕРАЛЬНОЕ АГЕНТСТВО

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

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

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТ Р 53556.2 — 2012

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

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

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

Часть 3

(MPEG-4 AUDIO)

ISO/1EC 14496-3:2009 (NEQ)

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

Стандарт нферм

2014

ГОСТ Р 53556.2—2012

Предисловие

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

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

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

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

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

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

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

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

ГОСТ Р 53556.2—2012

Содержание

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

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

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

3.1 Конфигурация декодера (HvxcSpedficConfig)……………………. 1

3.2 Фрейм потока битое (afPduPaytoad)…………

3.3 Конфигурация декодера (ErrorRes/fantHvxcSpecificConfig)

3.4 Фрейм потока битое (atPduPayfoad)…………

4 Семантика потока битое……………….

4.1 Конфигурация декодера (HvxcSpec&cConfig. ErrorResdtentHvxcSpeaficConfig)……….

4.2 Фрейм потока битое (a/PduPaytoad)………………………….

5 Инструменты декодера HVXC………………………………

5.1 Обзор………………………………………

5.2 Декодер LSP……………………………………

5.3 Декодер гармонического VQ…………………………….

5.4 Декодер временного домена…………………………….

5.5 Интерполяция параметров для управления скоростью………………….

5.6 Синтезатор речевой компоненты…………………………..

5.7 Синтезатор неречевой компоненты………………………….

5.8 Декодер варьируемой скорости…………………………..

5.9 Расширение режима варьируемой скорости HVXC…………………..

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

Приложение Б (справочное) Инструменты декодера HVXC………………….

Приложение В (справочное) Определения системного уровня…………………

Приложение Г (справочное) Пример установки инструмента £Ри маомровки ошибок для HVXC. . .

ш

ГОСТ Р 53556.2—2012

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

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

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

Часть 3

(MPEG-4 AUDIO)

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

Sound broadcasting rtgital.

Coding of signals of sound broadcasting with reduction of redundancy for transfer on tfcgrtal communication channels.

A part 3 (MPEG-4 audio). Harmonic Vector Excitation Coring

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

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

Параметрическое речевое кодировате MPEG-4 использует алгоритм гармонического кодирования с векторным возбуждением (HVXC). гое используется гармоническое кодирование остаточных сигналов LPC для речевых сегментов и кодирование с векторным возбуждением (VXC) для неречевых сегментов. HVXC позволяет кодировать речевые сигналы на 2.0 Кбит/с, и 4.0 Кбит/с масштабируемой схемой, где возможно декодирование потока 2.0 Кбит/с используя поток битов 2.0 Кбит/с. и поток битов 4.0 Кбит/с. HVXC также обеспечивает кодирование потока битое с варьируемой битовой скоростью, где типичная средняя скорость передачи информации в битах составляет приблизительно 1.2—1.7 Кбит/с. возможно независимое изменение скорости и шага во время декодирования, которое является мощной функциональной возможностью для быстрого поиска в базе данных. Длина фрейма равна 20 мс. и может быть выбрана одна из четырех различных алгоритмических задержек 33.5 мс. 36 мс. 53,5 мс. 56 мс.

Кроме того, как расширение HVXC, тип объекта ER_HVXC предлагает эластичный синтаксис ошибок и режим с переменной скоростью передачи данных на 4.0 Кбит/с.

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

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

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

Естественный Звуковой Объектный HVXC/ER_HVXC передается в одном или двух элементарных потоках: потоке базового уровня и опционном потоке уровня расширения.

Когда инструмент HVXC используется с инструментом защиты от ошибок, таким как инструмент MPEG-4 ЕР. должен использоваться порядок битое, упорядоченных в соответствии с чувствительностью к ошибкам. HVXC с эластичным синтаксисом ошибок и режимом переменной скорости передачи данных на 4.0 Кбит/с. описанным а 3.3 и 3.4. называют ER_HVXC.

Синтаксис потока битое описан в коде pseudo-C.

3.1 Конфигурация декодера (HvxcSpeciflcConffg)

Информация о конфигурации декодера для типа объекта HVXC передается в DecoderConfigOescriptorO базового уровня и Elementary Stream опционного уровня расширения.

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

1

ГОСТ Р 53556.2—2012

Требуется следующий HvxcSpedftcConfig ():

Синтаксис

Количество

битое

Мививми

HvxcSpeaficConfig 0 { isBaseLayer 0 (isBaseLayer) { HVXCcorGg 0

}

}

1

uimcbf

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

HVXCvarMode-0 HVXC fixed bit rate

HVXCrateMode = 0 HVXC 2kbps

IsBaseLayer -1 base layer

Таблица 1 — Синтаксис HVXCconfig ()

Синтаксис

Количество

битое

Мнемоника

HVXCconfigO

{

HVXCvarMode:

1

uimcbf

HVXCrateMode;

2

uimcbf

extensionFtag:

0 (extensionFtag) {

< to be defined in MPEG-4 Version 2

>

1

uimcbf

Таблица 2 — РежимHVXCvarMode

HVXCvarMode

Описание

0

HVXC fixed bit rate

1

HVXC variable Ы rate

ТаблицаЗ — Режим HVXCrateMode

HVXCrateMode

HVXCraie

Описание

0

2000

HVXC Z0 kbit/s

1

4000

HVXC 4.0 kbit/s

2

3700

HVXC 3.7 kbit/s

Таблица 4 — Константы HVXC

NUM_SUBF1

NUU_SUBF2

2

4

3.2 Фрейм потока битов (alPduPayfoad)

Динамические данные для типа объекта HVXC передаются как полезная кагружа AL-PDU в базовом уровне и опционном уровне расширения Elementary Stream.

Базовый уровень HVXC — полезная нагрузка Модуля Доступа alPduPayload {

HVXCframeQ:

}

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

2

ГОСТ Р 53556.2—2012

Чтобы анализировать и декодировать уровень рэсширежя HVXC. требуется информация, декодированная из базового уровня HVXC. alPtJuPayload {

HVXCenhaFrameO

)

Таблица 5 — Синтаксис фрейма HVXCirame {)

Сиятахсис

Количество

битов

Мивуоми

HVXCframeO

{

if (HVXCvarMode == 0} {

HVXCfixframe(HVXCrate):

}

else {

HVXCvarframef):

)

}

3.2.1 Фрейм потока битов HVXC

Таблица б — Синтаксис HVXCfixframe (rate}

Таблица 7 — Сютаксис HVXCenhaFrame ()

Синтаксис

Количество

битов

Миеном ка

HVXCenhaFratneO

{

k)LsP20: к)Ехс2(4О00):

}

Таблица 8 — Сжтаксис idLspI ()

Синтаксис

Количество

битов

Миеном ка

tdLspI ()

{

LSP1:

5

uimcbf

LSP2:

7

uimcbf

LSP3;

5

uimcbf

LSP4:

1

uimcbf

}

3

ГОСТ Р 53556.2—2012

Таблица 9 — Синтаксис idLsp2 ()

Синтаксис

Количество

битов

Мнемоника

kJLsp2{)

{

LSP5:

8

uimcbl

}

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

Синтаксис

Количество

битов

Мнемоника

kMJV 0

{

VUV:

8

uimcbf

}

Таблица 11 — VUV (для режима фиксированной скорости передачи битое)

VUV

Описание

0

Unvoiced Speech

1

Mixed Voiced Speech-1

2

Mixed Voiced Speech-2

Таблица 12 — Синтаксис jdExef 0

CnwtKcxe

Количество

битое

Ымамомика

idExclQ

{

if (VUV /= 0) {

Pitch:

7

uimcbf

SE_shape1:

4

uimcbf

SE_shape2:

4

uimcbf

SE_gain:

5

}

else{

for (sJ_rwm=0: s(_num < NUM_SUBF1: d_num+*}{

VX_shape1 [sf_mxn]:

6

uimcbf

VX_ga*nl lsf numf:

4

uimcbf

}

}

}

4

ГОСТ Р 53556.2—2012

Таблица 13 — Сттаксис kJExc2 (rata)

Синтаксис

Количество

битое

Мнемоника

idExc2(rate)

{

if (VUV Ы (9 {

SE_sbape3.

7

uimcbf

SE_sbape4:

10

uimcbf

SE sbapeS: if (rate >= 4000) {

9

uimcbf

SE shapefi;

}

}

efse {

for (sf_num=0: sf_num < NUM_ SUBF2-1: sf_num**){

в

uimcbf

VX_shape2(sf_num]:

5

uimcbf

VX gain2fsf numj:

}

if (rate >-4000) {

3

uimcbf

VX sbape2(3J:

5

uimcbf

VX gam2{3):

}

)

)

3

uimcbf

kJLspI (). jdExrf (). kJVUVQ обработаны как базовый уровень в случае масштабируемого режима. idLsp2 (), idExc2() обработаны как уровень расширения в случае масштабируемого режима

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

Синтаксис

Количество

битов

Мнеиоми

HVXCvariramel)

{

Kjvarvuvo;

tdvarLsp1():

kfvarExclQ

)

Таблица 15 — Сжтаксис ktvarVUV ()

Синтаксис

Количество

битов

Мнемотмса

kfvarVUVO

{

VUV:

2

uimcbf

}

Таблица 16 — VUV (для режима варьируемой битовой скорости)

VUV

Описание

0

Unvoiced Speech

1

Background Noise

2

Mixed Voiced Speech

3

Voiced Speech

5

ГОСТ Р 53556.2—2012

Таблица 17 — Синтаксис idvartspl ()

Синтаксис

Количество

битое

Мнеыомка

idvartspl ()

(

f(VUV!=1){ LSP1:

5

uimcbf

LSP2:

7

uimcbf

LSP3:

5

uimcbf

LSP4:

1

uimcbf

}

}

Таблица 16 — Синтаксис idvarExc! ()

Синтаксис

Количество

битов

Мнемоника

idvar£xc1()

{

if(VUV!= 1){ M(VUV!=0){

Pitch:

7

uimcbf

SE_Shape1:

4

uimcbf

SE_Sbape2:

4

uimcbf

SE_Gam:

}

else {

for fsf_num=0: sf_num<MM_SUBF1: sf_cxxn++)

5

uimcbf

{

VX_gaint[sf num};

}

}

}

}

4

uimcbf

3.3 Конфигурация декодера (ErrorResiHentHvxcSpecificConfig)

Информация конфигурации декодера для типа объекта ER_HVXC передается в Decod&ConfigDescriptorO базового уровня и в Elementary Stream опционного уровня расширения.

Требуется следующий ErrorResthentHvxcSpedficCoflfig 0.

ErrorResHientHvxcSpadficConfig Q { isBaseLayer 1 штсЫ rf (isBaseLayer) (

E/HVXCconfigO;

}

i

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

HVXCrateMode = О ER_HVXC 2.0 kbit/s isBaseLayer = 1 base layer

6

ГОСТ Р 53556.2—2012

Таблица 19 — Синтаксис ErHvxcConfig 0

Синтаксис

Количество

битое

Мнемоника

ErHVXCconfigf)

{

HVXCvarMode:

1

uimcbf

HVXCrateMode:

2

uimcbf

extensfonFtag: i (extensKmFlag) {

1

uimcbf

ver_ScalableFiag:

}

}

1

uimcbf

Таблица 20 — Режим HVXCvarMods

HVXCvorUode

Описание

0

ERHVXC fixed titrate

1

ERHVXC variable

Таблица 21 — HVXCrateMode

HVXCratoMttdo

HVXCrate

Описание

0

2000

ERHVXC 2.0 K6unVc

1

4000

ERHVXC 4.0 K6umfc

2

3700

ERHVXC 3.7 K6unVc

3 (reserved)

Таблица 22 — var_ScelabtePlag

var_ Scafaoм^ rap

Описание

0

ERHVXC variable rate non-scalable

1

ERHVXC variable rate scalable mode

3.4 Фрейм потока битов (alPduPaytoad)

Динамические данные для типа объекта ER_HVXC передаются как полезная нагрузка AL-PDU в базовом уровне и Elementary Stream олциомкэго уровня расширения.

Базовый уровень ER_HVXC — полезная нагрузка Модуля Доступа alPduPaytoad {

ErHVXCframe Q;

}

Уровень расширения ERJHVXC — полезная нагрузка Модуля Доступа.

Чтобы анализировать и декодировать уровень расширения ER_HVXC. требуется информация, декодированная из базового уровня ER_HVXC. alPduPaytoad {

ErHVXCenhaFrama Q:

}

7

ГОСТ Р 53556.2—2012

Таблица 23 — Синтаксис ErHVXCframe 0

Синтаксис

Количество

битов

Мнемоника

ErHVXCframeQ

{

i (HVXCvarMode — 0){

ErHVXCRxframe(HVXCrate);

}

else {

ErHVXCvarframe(HVXCrate):

}

}

Таблица 24 — Синтжсис ErHVXCenhaframe ()

Синтаксис

Количество

битов

Мнемоника

ErHVXCenhaframe()

{

Ш (HVXCvarMode = 0) { EfHVXCenh HxframeO;

)

eise {

EfHVXCenh varframeO:

)

}

3.4.1 Синтаксис потока битов режима фиксированной скорости

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

Синтаксис

Количество

битов

Мнемо»чка

ErHVXCfixframe(rate)

{

М (rate — гооон 2k_ESC0(): 2k_ESC1{): 2k_ESC2():

2k ESC30:

)

else if (rate >= 3700) { 4k_ESC0(rate): 4k_ESC1(rate): 4k_ESC2(): 4k_ESC3():

4k ESC4(rate):

}

}

в

ГОСТ Р 53556.2—2012

Таблица 26 — Синтаксис 2k_ESCO ()

Синтаксис

Количество

бито*

Мнемоника

2k ESCO() {

VUV. 1-0:

2

uimcbf

1 (VUV != 0) {

LSP4. 0:

1

uimcbf

SE_даю. 4-0:

5

uimcbf

LSP1. 4-0

S

uimcbf

Pitch. 6-1:

6

uimcbf

LSPZ 6;

1

uimcbf

LSP3. 4:

1

uimcbf

LSPZ 5:

1

uimcbf

}

afse {

LSP4. 0:

1

uimcbf

VX gain 1(0}. 3-0:

4

uimcbf

VX даю 1(1}. 3-0:

4

uimcbf

LSP1. 4-0:

S

uimcbf

LSPZ 6-3:

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

Таблица 27 — Синтаксис2k_ESC1 ()

Синтаксис

Количество

битое

Мнемоника

2k ESC 10 {

4 (VUV 1=0} {

SE shapel. 3-0:

}

4

uimcbf

etse{

LSPZ 2-0:

3

uimcbf

LSPZ Z

1

uimcbf

}

)

Таблица 28 — Синтаксис 2k_ESC2 ()

Синтаксис

Количество

битое

Мнемоника

2k_ESC2()

{

4(VUV f= 0) {

SE_shape2. 3-0:

4

uimcbf

}

else {

LSP3. 1-0:

2

uimcbf

VX shape 1(0}. 5-4:

2

uimcbf

}

}

9

ГОСТ Р 53556.2—2012

Таблица 29 — Синтаксис 2k_ESC3 {)

Синтаксис

Количество

битое

UnewoHxu

2к ESC30 {

a (vuv != 0) {

LSP2. 4-0:

5

uimcbf

LSP3. 34):

4

uimcbf

Pitch, а

1

uimcbf

}

VX_shape1(0). 3-0:

4

uimcbf

VX shapeipi 50;

6

uimcbf

}

}

Таблица 30 — Синтаксис4k_ESCO()

Сиитаксис

Количество

битов

Ымемоиика

4k ESCOQ {

VUV. 1-0:

2

uimcbf

if (VUV !=0) {

LSP4. 0:

1

uimcbf

SE_gam. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

б

uimcbf

LSP2. 6-3:

4

uimcbf

SE_shape3. 6-2:

5

uimcbf

LSP3. 4:

1

uimcbf

LSPS. 7:

1

uimcbf

SE_shape4. 9:

1

uimcbf

SE_shapeS. 8:

1

uimcbf

if (rate >= 4000) {

SE shape6. 5:

1

uimcbf

}

}

else {

LSP4. 0:

1

wmcbf

VX_9*п1(0]. 3-0:

4

uimcbf

VX_gam1(1J. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4:

1

uimcbf

LSPS. 7.

1

uimcbf

VX_gan2l0}. 2-0:

3

uimcbf

VX_длп2[1}. 2-0:

3

uimcbf

VX_gain2f21. 2-0:

3

uimcbf

if (rate >- 4000) {

VX_gain2f3}, 2-1:

2

uimcbf

}

}

)

10

ГОСТ Р 53556.2—2012

Таблица 31— Синтаксис 4k_ESC1 ()

Синтаксис

Количество

битва

Мнемоника

4к ESC 1 (rate)

{

if (VUV != 0) {

SE_shape4. 8-0:

9

uimcbf

SE_shape5. 7-0.

8

uimcbf

g (rate >= 4000) {

SE shape6. 4-0:

5

uimcbf

}

}

eise {

8 (rate >= 4000) { VX_gain2[3J. O.

1

uimcbf

}

LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0

7

uimcbf

VX_sftape 1(0}. 5-0.

6

uimcbf

VX sfiape1[1], 5,

1

uimcbf

}

)

Таблица 32 — С**чтзксис4k_ESC20

4k_ESC2()

{

if (VUV != О) {

SE_shape1. 3-0.

)

eise{

VX_shape1(1l 4-1;

}

}

Синтаксис

Ко

пичестео

битва

Мнемоника

4

uimcbf

4

uimcbf

Таблица 33 — Синтаксис 4k_ESC3 ()

Синтаксис

Количество

битое

Мнемоника

4k_ESC3()

{

if (VUV <= 0) {

SE_shape2. 3-0.

4

uimcbf

}

eise {

VX_shape1{1}. O.

1

uimcbf

VX shape2l0], 4-2:

3

uimcbf

}

)

11

ГОСТ Р 53556.2—2012

Таблица 34 — Синтаксис 4k_ESC4 ()

Синтаксис

Количество

битов

Мнемоника

4к ESC4(rate)

{

if (VUV != 0) { LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0:

7

uimcbf

Pilch. 0:

1

uimcbf

SE shape3. 1-0:

2

uimcbf

}

else {

VX shape2{0). 1-0:

2

uimcbf

VX shape2(1). 443:

5

uimcbf

VX shape2[2], 443

5

uimcbf

if (rate** 4000) {

VX shape2[3f. 443:

5

uimcbf

}

}

}

3.4.2 Синтаксис потока битов для масштабируемого режима

Синтаксис потока битое базового уровня для масштабируемого режима такой же самый как синтаксис ErHVXCfixframe (2000). Синтаксис потока битое уровня расширения. ErHVXCenhaFrarne (). для масштабируемого режима показан ниже.

Таблица 35 — Сюгтаксис ErHVXCenh_8xframe 0

Синтаксис

Количество

битов

Мнемоника

ErHVXCenh fixframeO {

Enh ESCOf):

Enh ESC1Q: Enh_ESC2():

}

Таблица Зв — СинтаксисEnh_ESCO()

Синтаксис

Количество

Мнемоника

битов

Enh ESCO() {

if (VUV != 0){

SE shape3. 6-2.

5

uimcbf

LSP5. 7:

1

uimcbf

SE shap&4. 9:

1

uimcbf

SE_shape5. 8:

1

uimcbf

SE shape6. 5:

1

uimcbf

SE shape4. 8-6:

}

else {

3

uimcbf

LSP5. 7:

1

uimcbf

VX ga*n2fOJ. 243

3

uimcbf

VXgain2f1). 2-0

3

uimcbf

VXgain2f2). 2-0

3

uimcbf

VX_gam2{3]. 2-1

2

uimcbf

}

}

12

ГОСТ Р 53556.2—2012

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

Сии таксис

Количество

битое

Мнемоника

Enh ESC1()

{

/f(VUV!=0){

SE shape4. 5-0:

6

uimcbf

SE shape5. 7-0:

8

uimcbf

SE shape6. 4-0:

S

uimcbf

}

else {

VX gam2pi 0:

1

wmcbf

LSP5. 6-0:

7

uimcbf

VX shape2{0], 4-0:

5

uimcbf

VX shape2{1}. 4-0:

5

uimcbf

VX shape2[2}. 4:

1

uimcbf

}

}

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

Синтаксис

Количество

битое

Миемоника

Enh ESC20 {

if(VUV!= Of { LSP5. 6-0:

7

uimcbf

SE shape3. 1-0:

2

uimcbf

}

else {

VX shape2{2}. 3-0.

4

uimcbf

VX shape2l3}. 4-0.

S

uimcbf

}

}

3.4.3 Синтаксис потока битое режима с варируемой скоростью передачи данных

Таблица 39 — Синтаксис ErHVXCvarframe ()

Синтаксис

Количество

битое

Мнемоника

ErHVXCvarframefrate)

{

if до — 2000) {

a War ScalabieFiag == 1) { BaseVar ESC0(): BaseVar ESC1Q: BaseVar ESC2(): Base Var_ESC3():

} else {

Var2k ESC00:

Var2k ESC1Q:

Vai2k ESC20:

Var2k ESC30:

)

}eise{

Var4k ESCOi):

Var4k ESC1():

Var4k ESC2():

Var4k ESC3():

Var4k ESC4Q:

}

}

13

ГОСТ Р 53556.2—2012

Таблица 40 — Синтаксис Var2k_ESC0 ()

Синтаксис

Количество

битов

Мнемоника

Var2k ESCO0 {

VUV. 1-0:

2

uimcbf

if(VUV == 21 VUV~3){

LSP4. Ос

1

uimcbf

SEjgam. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Piet}. 6-1:

6

uimcbf

LSP2. fir

1

uimcbf

LSP3, 4:

1

uimcbf

LSP2. &

1

uimcbf

}

else H (VUV ~0){

LSP4. ft

1

uimcbf

VX gainlfO}. 3-0:

4

uimcbf

VX_gam1(1J. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

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

Синтаксис

Количество

битов

Мнемоника

Var2k_ESC1()

{

if (VUV == 21 VUV = 3){ SE shape T. 3-0:

4

uimcbf

}

else * (VUV — 0) { LSP2. 2-0:

3

uimcbf

LSP3. Z

1

uimcbf

}

}

Таблица 42 — Синтаксис Var2k_ESC2 0

Синтаксис

Количество

битов

Мнемоника

Var2k ESC20 {

if (VUV == 2% VUV = 3){

SE_shapeZ 3-0:

}

4

uimcbf

else 8 (VUV — 0) {

LSP3. 1-0:

}

}

2

uimcbf

14

ГОСТ Р 53556.2—2012

Таблица 43— Сттаксис Var2k_ESC3 ()

Синтаксис

Количество

бито*

Мнемоника

Var2k ESC30

{

if (VUV — 21 VUV — 3) {

LSP2. 4-0:

5

uimcbf

LSP3. 3-0:

4

uimcbf

Pich. Or

1

uimcbf

}

}

Таблица 44 — Синтаксис Var4kJESC0 ()

Синтаксис

Количество

битое

Мнемоника

Var4k ESC0() {

VUV. 1-0:

2

uimcbf

if (VUV ” 21 VUV = 3}{

LSP4. Or

1

uimcbf

SE gam. 4-0.

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

6

uimcbf

LSP2. 6-3:

4

uimcbf

SE_shape3. 6-2:

5

uimcbf

LSP3. 4:

1

uimcbf

LSP5. 7:

1

uimcbf

SE_shapa4. 9:

1

uimcbf

SE_shape5. 8:

1

uimcbf

SE_snapec. s:

1

uimcbf

}

eise i (VUV ~0){

LSP4. Or

1

uimcbf

VX_gam1{0}. 3-0:

4

uimcbf

VX_gamlf1f. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4-3:

}

else {

2

uimcbf

UpdateFlag. 0:

1

uimcbf

i (UpdateFlag =1){

LSP4. Or

1

uimcbf

VX_gain1(0}. 3-0;

4

uimcbf

LSP1. 4-0;

5

uimcbf

LSP2. 6-3;

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

}

15

ГОСТ Р 53556.2—2012

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

Синтаксис

Количество

биток

Мнемоника

Var4k ESC 10 {

if (VUV== 21 VUV = 3){ SE shape4. 8-0:

9

wmcbf

SE shapes. 7-0:

8

uimcbf

SE shape6. 4-0:

i

else * (VUV — 0) { LSP2. 2-0:

5

wmcbf

3

uimcbf

LSP3. 2-0:

3

uimcbf

VX shapelfOJ. 5-0.

6

uimcbf

VX shapel(1). 5-0:

6

uimcbf

}

else {

i (UpdaHeFtag ~1){ LSPZ 2-0:

3

wmcbf

LSP3. 2-0:

3

uimcbf

}

}

}

Таблица 46 — Синтаксис Var4k_ESC2 ()

Синтаксис

Количестао

биток

Мнемоника

Var4k ESC20 {

if (VUV== 21 VUV = 3){ SE shape 1. 3-0:

i

}

4

uimcbf

Таблица 47 — Сжтакое Var4k_ESC3 0

Синтаксис

Количестао

биток

Мнемоника

Var4k ESC30 {

H (VUV == 21 VUV = 3){

SE shape2. 3-0:

}

}

4

uimcbf

Таблица 48 — Синтаксис Var4k_ESC4 ()

Синтаксис

Количестао

битоа

Мнемоника

Var4k ESC40 {

И (VUV == 21 VUV — ЗП LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0:

7

uimcbf

Pich.O:

1

uimcbf

SE shape3. 1-0:

2

uimcbf

}

}

16

ГОСТ Р 53556.2—2012

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

Синтаксис

Количество

битое

Мнемоника

BaseVar ESC00 {

VUV. 1-0;

2

uimcbf

if (VUV == 21 VUV==3){

LSP4. Or

1

uimcbf

SE_gain. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

6

uimcbf

LSP2. 6.

1

uimcbf

LSPZ 4;

1

uimcbf

LSP2. 5:

1

uimcbf

}

else if (VUV = 0) {

LSP4. 0:

1

uimcbf

VX_gain1fO], 3-0;

4

uimcbf

VX_gan1(1]. 3-0.

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3;

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

else {

UpdateFiag. 0;

1

uimcbf

if (UpdateFtag =1) {

LSP4. 0;

1

uimcbf

VX_gain1{0l. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSPZ 6-3;

4

uimcbf

LSP3. 4-3;

2

uimcbf

}

}

}

Таблица 50 — СинтаксисBaseVar_ESC1 ()

Синтаксис

Количество

битов

Мнемоника

Base Var_ESC1()

{

if (VUV = 2 Й VUV ==3){ SE_shape1. 3-0:

4

uimcbf

}

else i (VUV =0) { LSP2. 2-0:

3

uimcbf

LSP3. г

1

uimcbf

}

else {

ffUpdateRag — 1) { LSPZ 2-0;

3

uimcbf

LSP3. 2-0;

3

uimcbf

}

}

}

17

ГОСТ Р 53556.2—2012

Таблица 51 — Синтаксис BaseVar_ESC2 0

Синтаксис

Количество

битва

Мнемоника

BaseVar ESC2()

{

if(VUVss 2Ц VUV ==ЗН SE shape2. 3-0.

4

wmcbf

}

else 4 (VUV — 0){ LSP3. 1-0:

2

uimcbf

VX shape 1(0). 5-4.

2

wmcbf

}

}

Таблица 52 — СинтаксисSaseVa^E^J0

Синтаксис

Количество

битва

Мнемоника

BaseVar ESC3Q {

if (VUV == 21 WV ~3){ LSP2. 4-0

5

uimcbf

LSP3. 3-0:

4

uimcbf

Pitch, ft

1

uimcbf

;

else if (VUV — 0) {

VX shape 1{0}. 3-0

4

uimcbf

VX Shape1(1}. 5-0

в

uimcbf

}

}

3.4.4 Уровень расширения масштабируемого режима с перо мен ной скоростью передачи данных

Таблица 53 — СинтаксисErHVXCenh varframe ()

Синтаксис

Количество

битва

Мнемоника

ErHVXCenh varfrme() {

EnhVar ESCO0: EnhVar ESC 1Q: EnhVar ESC2Q:

)

Таблица 54 — Синтаксис EnhVar_ESCO ()

Синтаксис

Количество

битва

Мнемоника

EnhVar ESCO(>

{

if (VUV == 21 VUV = 3){

SE shape3. 6-2:

5

uimcbf

LSP5. 7:

1

uimcbf

SE shape4. 9:

1

uimcbf

SE shape5. 8:

1

uimcbf

SE shape6. 5.

1

uimcbf

SE shape4. 8-6.

3

uimcbf

}

}

18

ГОСТ Р 53556.2—2012

Таблица 55 — Синтэссис EnhVar_ESC1 ()

Синтаксис

Количество

битое

Мнемоника

EnbVar ESC10 {

if (VUV — 2| VUV = 3){ SE_shape4. 5-0:

6

uimcbf

SE_shape5. 7-0:

8

uimcbf

SE shapeG. 4-0:

5

uimcbf

}

}

Таблица 56 — Синтаксис EnhVar_ESC2 Q

Синтаксис

Количество

битов

Мнемоника

EnbVar ESC2Q

{

if (VUV == 21 VUV = 3){

LSP5. 6-0:

7

uimcbf

SE shap*3. 1-0:

2

uimcbf

}

}

4 Семантика потока битов

4.1 Конфигурация декодера (HvxcSpecificConfig, ErrorRasilientHvxcSpecfficConfig)

HVXCvarMode: HVXCrateMode: extansionFlag: var_ScatabtoFiag: isBaseLayer.

Флажок, указывающий режим варьируемой скорости HVXC (Таблица 1).

2-битовое поле, указывающие режим битовой скорости HVXC (Таблица 1}.

Флажок, указывающий присутствие данных MPEG-4 версии 2 (Таблица 1).

Флажок, указывающий варьируемый режим масштабирования ER_HVXC (Таблица 22). Однобитовый идентификатор, представляющий является ли соответствующий уровень базовым уровнем (1) или уровнем расширения (0).

4.2 Фрейм потока битов (alPduPayioad)

LSP1: Это поле из 5 битов представляет индекс первой стадии квантования LSP (базовый

уровень. Табгмца 8 и Таблица 17).

LSP2: Это поле из 7 битов представляет индекс второй стадии квантования (.ЭР(базоеый

уровень. Таблица 8 и Таблица 17).

LSP3: Это поле из 5 битов представляет индекс второй стадии квантования LSP (базовый

уровень. Таблица 8 и Таблица 17).

LSP4: Это однобитовое поле представляет флажок указания, используется ли межкаоровое

предсказание или не используется во второй стадии квантования LSP (базовый уровень. Таблица 8 и Таблица 17).

LSP5: Это поле из 8 битое представляет индекс третьей стадж квантования LSP (уровень

расширения. Таблица 9).

VUV. Это попе из 2 битов представляет решающий режим VAJV. У этого поля есть различ

ные экачвюя согласно режиму варьируемой скорости HVXC (Тэбпща 10 и Таблица 15).

Pitch: Это поле из 7 битое представляет индекс линейно квантованной задержки шага в

пределах от 20—147 выборок (отсчетов) (Таблица 12 и Таблица 18).

SE_shape1: Это 4-битовое поле представляет индекс формы огибающей спектра (базовый уро

вень. Таблица 12 и Таблица 18).

SE_shape2. Это 4-битоеое поле представляет индекс формы огибающей спектра (базовый уро

вень. Таблица 12 и Таблица 18).

19

ГОСТ Р 53556.2—2012

SE_gain: Это 5-битоеое поле представляет индекс усиления огибающей спектра (базовый уро

вень. Таблица 12 и Табгмца 18).

VX_shape1 [sf.num]: Это 6-битоеое поле представляет индекс формы VXC подфрейма sf__num-{h (базовый уровень. Таблица 12 и Таблица 18).

Это 4-битовое поле представляет индекс усиления VXC подфрейма sf_num4h (базовый уровень. Таблица 12 и Таблица 18).

Это поле из 7 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 10 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 9 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 6 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

VX_sbapa2 [s/_num]: Это поле из 5 битов представляет индекс формы VXC подфрейма sf_nom-th (уровень расширения. Таблица 13).

VX_gain2 [sf_num]: Это поле из 3 битов представляет индекс усиления VXC подфрейма sf_num~ih (уро

вень расширения. Таблица 13).

UpdateFtag. Это 1-битовое попе представляет флажок для указания обновления фрейма шума

(только для режима варьируемой скорости ER_HVXC на 4 Кбит/с).

5 Инструменты декодера HVXC

5.1 Обзор

HVXC обеспечивает эффективную схему для разности Кодироваться с Линейным Предсказанием (LPC) на базе гармонического и стохастического векторного представления. Векторное квантование (VO) огибающей спектра остатков LPC со взвешенной мерой искажения используется, когда сигнал является речевым. Кодирование с векторным Возбуждением (VXC) используется, когда сигнал не является речевым. Главные алгоритмические особенности следующие:

* Взвешенный VQ спектрального вектора варьируемой размерности.

* Алгоритм быстрого гармонического синтеза IFFT.

* Параметры кодера интерполяциидпя управления схоростъкУшагом.

Кроме того, функциональные особенности включают:

– Низкую, до 33.5 мс. полную алгоритмическую задержку;

* Масштабируемый режим 2.0—4.0 Кбит/с;

* Кодирование с варьируемой битовой скоростью для скоростей меньше 2.0 Кбит/с.

5.1.1 Структура кадрирования и блок-схема декодера

Инструменты декодера HVXC позволяют декодировать речевые сигналы на скорости 2.0 Кбит/с и выше, до 4.0 Кбит/с. Инструменты декодера HVXC также позволяют декодировать с режимом варьируемой битовой скорости при битовой скорости приблизительно 1,2—1.7 Кбит/с. Основной процесс декодирования состоит из четырех шагов: деквантование параметров, генерация сигналов возбуждения для разговорных фреймов синусоидальным синтезом (гармонический синтез) и добавление шумовой составляющей, генерация сигналов возбуждения для иеразгоеориых фреймов путем просмотра книги шифров и синтез LPC. Чтобы повысить качество синтезируемой речи, испогъэуют спектральную постфильтрацию.

5.1.2 Режим задержки

Кодер/декодер HVXC поддерживает режим низкой/нормальной задержки кодирования/декодирова-ния. позволяя любые комбинации режима задержки при 2.0—4.0 Кбит/с с масштабируемой схемой. Рисунок ниже показывает структуру кадрирования каждого режима задержки. Длина фрейма равна 20 мс для всех режимов задержки. Например, использование режима с низкой задержкой кодирования и низкой задержкой декодирования приводит к полной задержке кодера/декодера 33.5 мс.

8 кодере алгоритмическая задержка может быть выбрана равной 26 мс. либо 46 мс. Когда выбрана задержка 46 мс. для обнаружения шага используется просмотр одного фрейма вперед. Когда выбрана задержка 26 мс. для обнаружения шага используется только текущий фрейм. Синтаксис для обоих случаев общий, все квантователи общие, и потоки битов совместимы. В декодере алгоритмическая задержка может быть выбрана равной или 10 мс (режим нормальной задержки), или 7.5 мс (режим низкой задер

VX_gain1

SE_shape3.

SE_shapa4:

SE_shapeS.

SE_$hape6:

20

ГОСТ Р 53556.2—2012

жки). Когда выбрана задержка 7.5 ыс. интервал фрейма декодера сдвинут на 2.5 мс (20 отсчетов) по сдав* нению с 10 мс режимами задержки. В этом случае, генерация возбуждения и фаза синтеза LPC сдвинуты на 2.5 мс. Для обоих случаев, синтаксис общий, все квантователи общие и потоки битов совместимы.

Возможен любой независимый выбор задержки кодера/декодера из следующей комбинации:

Задержка кодера: 26 мс или 46 мс

Задержка декодера: 10 мс или 7,5 мс

В зависимости от приложения должны поддерживаться одна или несколько комбинаций режима за* держки.

5.2 Декодер LSP

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

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

Когда битовая скорость равна 2.0 Кбит/с. LSPs текущего фрейма, которые закодированы разбиением и двухступенчатым векторным квантованием, декодируются, используя двухступенчатый процесс декодирования. При 4.0 Кбит/с к основанию схемы квантователя LSP кодера 2.0 Кбит/с добавлен 10*мерный векторный квантователь, у которого имеется книга шифров на 8 битов. Биты, необходимые для LSPs. увеличены с 18 6итов/20мс до 26 битов /20мс.

Таблица 57 — Конфигурация ыногоступетатого LSP VQ

1-й этап

10 LSPVQ

5 битов

2-й этап

(5+5) LSP VQ

(7+5+1) битов

3-й этап

10 LSPVQ

8 битов

5.2.2 Определения Определения констант LPCORDER. Порядок анализа LPC (=10).

Ат[][]: Размерности для квантования вектора разбиения.

твп_дар: ЕАыииагьное расстояние между сосааыми коэффициентами LSP(базовый ypoeetfe=4,0/256.0).

ratio_ predict. Коэффициент межхадрового предсказания LSP (=0,7).

THRSLD_ L: Минимальное расстояние между соседними коэффициентами LSP (низкочастотная часть

уровня расширения = 0.020).

THRSLD_M: Минимальное расстояние между смежными коэффициентами LSP (средмочастотная честь

уровня расширения = 0,020).

THRSLD_ ht. Минимальное расстояние между смежными коэффициентам /.5Р(вькхжочастотная часть

уровня расширения = 0.020).

Определения переменных QLsp(]: Параметры квантованного LSP.

LSP1: Индекс первой стадии квантования LSP (базовый уровень).

LSP2. LSP3: Индексы второго квантования LSP (базовый уровень).

LSP4: Флажок, показывающий используется ли мвжкадровое предсказание (базовый уровень).

LSPS: Индекс третьего квантования LSP( уровень расширения).

Isp_ tbJ [][){]: Таблицы поиска для первой стадии процесса декодирования.

d _ to/Qni): Таблицы поиска для второй стадии процесса декодирования VQ без межхадроеого пред

аю ШН*

vqLsp 0П-sign:

Ktr.

lsp_ predict l): /sp_ previous (]: lsp_ current []: tsp_ first ft

сказания.

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

Таблица поиска для уровня расширения.

Знак вектора мзда для второй стадии процесса декодирования.

Индекс распаковки для второй стадии процесса декодирования.

LSPs. предсказанные из lsp_ previous и lsp_

LSPs. декодированные в предыдущем фрейме.

LSPs. декодированные в текущем фрейме.

LSPs. декодированные на первой стадии процесса декодирования.

21

ГОСТ Р 53556.2—2012

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

Процесс декодирования параметров LSP для базового уровня (2.0 Кбит/с) является тем же самым, что и процесс узкополосного CELP. Процесс декодирования описан ниже.

Индексы преобразования к LSPs

LSPs текущего фрейма (tap_currenf(]). которые закодированы разбиением и двухступенчатым вектор* ным квантованием, декодируются двухступенчатым процессом декодирования. Размерность каждого вектора приведена в таблицах ниже. LSP1 и LSP2, LSP3 представляют индексы для первой и второй стадии соответственно.

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

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

Размерность вектора dm, (0) M

0

10

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

Индекс вектора

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

разбиения i

dm, (1) М

0

5

1

5

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

top. 1Ы [Ш(].

for 0- 0; i < <«гл/0/ДО i**) { lsp_first(i} = IspJbifO} {LSP1)p}:

)

Во второй стадии есть два типа процессов декодирования, а именно, процесс декодирования VQ без межкадроеого предсказания и VQ с межкадровым предсказанием. Флажок LSP4 указывает, какой процесс должен быть выбран.

Т а 6 л и ц а 60 — Процесс де^одирова» tun дпя второй сгадн

Индекс LSP LSP4

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

0

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

1

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

Процесс декодирования УОбез межкадроеого предсказания

Чтобы получить LSPs текущего фрейма lsp_ current\\. декодированные векторы во второй стадии добавляются к декодированному в первой стадии вектору LSPIsp_ firsfl]. МС8 дпя LSP2 и LSP3 представ* ляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы d_ tt>/( ][](]• sign = LSP2»6; idx – LSP2&0x3f: if (sign — 0) ( for (i – 0: i < dim[l](0]: i**){ lsp_current[tJ – lsp_fksi[i] + d_tbf[0}fidx][i]:

}

)

else {

for 0 – 0: i < den[1}[0l h+) { lsp_currentft] – lsp_first[i] – d_tbi[0}pdx}fi};

}

}

22

ГОСТ Р 53556.2—2012

sign = LSP3»4. idx – LSP3&0x0f. if (sign == 0) { for (i – 0: i < h*) {

lsp_current(dim[1 ][0}+i) = lsp_firstfdim(1][0)+i] ♦ d tbif1]pdx]pj;

)

}

else {

for (i – 0:1 < <Hm[1)[1J: h+) {

Isp__currentfdim[1]l0]+i] = lsp_first(dim(1)[0)*i] – d_tbl[1)fidx}p]:

}

)

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

Чтобы получить LSPs текущего фрейма lsp_ current[). декодированные векторы второй стадии добавляются к вектору LSPisp jX9dict[]. которые предсказаны из декодированного LSPs предыдущего фрейма pravfoosf] и декодированного е первой стадии вектора LSP lsp_firsf[). Как в процессе декодирования VQ без межкадроеого предсказания. МСВ для LSP2 и LSP3 представляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы pd_tt4]QD-for (i = О: / < LPCORDER; i**) {

Ispjxedictp] = (1-ratio_predict) *tsp_firsip)

♦ ratio_pradictVspjxevtousp];

}

sign – LSP2»€: idx = LSP2&0x3t. if (sign == 0) { for (i – 0: t < dim[1][0j: i**) { lsp_currentfi] = Isp_pradictp] * pdjbl[0]pdx]p}:

}

)

else {

for (i – 0: i < dim[1][0}: h*) { lsp_currentp) – Isp_predict[i] – pd tbi{0}pdx][i]:

}

}

sign – LSP3»4. idx = LSP3&0x0f: if (sign == 0) { for (i – 0: t < dim[1J[1J: i**) {

lsp_currentfdim[1}[0}+i) = Isp_predict[dtm[1 }(0]*t] + pd_tb$1)pdx]p]:

}

)

else {

for (i – 0: i < dim[1](lj: h*) {

lsp_current(dim[1][0J*iJ – Isp_predict[dim[ 1 ][0]*i] – pd_tt4{1][idx}[i]:

}

}

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

Декодированною LSPs ^>.сиггел<П стабилизированы, чтобы гарантировать стабильность фильтра синтеза LPC. который извлекается из декодированных LSPs. Декодированные LSPs упорядочены в порядке возрастания, имея минимум расстояния между соседними коэффициентами, for (i = О. / < LPCORDER: i*+) { if (Isp currentp] < min^gap) isp^currentp] – min_gap:

}

for (I a ft I < LPCORDER-1: I**) { if (lsp_ currentp* 1 }-lsp_currentfi] < mtn_gap)

Isp_cunrentfi+1] = lsp_currentp}+minjgap:}

23

ГОСТ Р 53556.2—2012

;

for (i – О; i< LPCORDER: i**) { if (Jsp_currentfi) > 1-mtn_gap) tsp_currentfi] = 1-mm_gap:

}

for (i — LPCORDER- 1;i> 0: i–){ if (lsp_curren(fi}-lsp_currentfi-1] < min^gap) { lsp_currentfi-1]-lsp_currentfi}-minjjap:

}

}

for (i = 0: i < LPCORDER: i**) { qLspfi) – lsp_currentfi):

)

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

После процесса декодирования LSP декодированные LSPs должны быть сохранены в памяти, так как они используются для предсказания в следующем фрейме. for (i – О: i< LPCORDER: i**) {

Isp_j>revious(i] – lsp_currentfi):

}

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

for (i = О. / < LPCORDER: i**) {

Ispjxevtousp] – (i*1)/(LPCORDER*1):

}

Процесс декодирования для уровня расширения

Для уровня расширения (4.0 и 3.7 Кбит/с). дополнительные векторы кода и LSPs базового уровня суммируются следующим образом, for (i = О: / < LPCORDER: i**) { qLspfi] *- vqLsp{LSPS]fi]:

}

После вычисления LSPs снова стабилизируются, for (i = 0: i< 2: f**) { if (qLspp+1/- qLspfi] <0){

Imp – qLspp*1]; qLspfi* 1] – qLspfi): qLspfi] = Imp:

}

if (qLspfi* 1]- qLspfi] < THRSLD_L) { qLspfi * 1] – qLspfi] * THRSLD_L

}

}

for (i -2: i < 6: i**) { if (qLspfi* 1] – qLspfi] < THRSLD_M) { tmp = (qLspfi*1) * qLsp[i])/2.0; qLspfi* 1) = tmp * THRSLD_M/2.0: qLspfi] – tmp – THRSLD_M/Z0:

}

}

for (i = 6: i < LPCORDER-1: i**) { if (qLspfi*1)~ qLspfi] <0){ tmp – qLspfi *1}: qLspfi* 1) – qLspfi]: qLspfi] = tmp:

24

ГОСТ Р 53556.2—2012

}

if (qLspfi+1] – qLspfi] < THRSLD_H){ qLspfi] – qLspp+1]- THRSLD_H;

}

5.3 Декодер гармонического VQ

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

Промесс декодирования состоит иэ двух главных шагов для базового уровня, а именно, инверсного векторного квантования векторов огибающей спектра и преобразования размерности. Для уровня расширения используются дополнительные инверсные квантователи.

5.3.2 Определения Определения констант

SAMPLE: Число выборок е частотном спектре в пределах от 0 до 2л (=256).

R: Превышение частоты выборок в преобразовании размерности (=8).

ирйглО: Размерность вектора квантования огибающей спектра (=44).

JISU: Порядок фильтра передискретизации в домене с квантованием (=9).

f _ coef[\. Коэффициенты фильтра передискретизации.

Определения переменных

pitch:

pch:

pch_mode: иОГ: send: иО.

HVXCrate: pedvec[]: S£_ gain: SE_ shapel. SE_ shape2: SE_ shape3. SE_ shape4. SE_ shape5. SE_ shaped: gOQ: cbOfl D: cP1Q fl: сМЛЮШП: СМЛГ1ШП: СМЛ12ШП: cMfc[3HJ[]: ref):

re/O. rail :

ip_ratio:

target!):

Индекс величины отставания линейно квантованного шага Значение отставания шага в текущем фрейме Фактор модификации шага

Исходная фундаментальная частота, где SAMPLE представляет 2л Число гармоник в текущем фрейме (между 0 и 3800 Гц)

Целевая фундаментальная частота после преобразования размерности, где SAMPLE* R представляет 2л.

Операционная битовая скорость декодера.

вектор квантованной огибающей спектра в фиксированной размерности.

Индекс усиления огибающей спектра (базовый уровень).

Индексы формы огибающей спектра (базовый уровень).

Индексы формы огибающей спектра (уровень расширения).

Кодовое слово SE_ gain.

Кодовое слово SE_ shapel.

Кодовое слово SE_ shape2.

Кодовое слово SE_ shape3.

Кодовое слово SE_ shape4.

Кодовое слово SE_ shapes.

Кодовое слово SE_ shape€.

Ввод преобразования размерности.

Значения 8-кратного превышения дискретности в преобразовании размерности. Коэффициент линейной интерполяции преобразования размерности.

Восстановленный вектор, обусловленный векторными квантователями для уровня расширения.

ат[]: Восстановленный вектор гармонических величин.

feneq: Среднеквадратичюв значение вектора квантованной огибавшей спектра втекущем фрейме.

feneqold Среднеквадратичное значение вектора квантованной огибающей спектра в предыду

щем фрейме.

5.3.3 Процесс декодирования Декодирование индекса шага

Значение задержки шага в текущем фрейме, pch. декодировано из индекса шага Pitch следующим образом:

pch = Pitch * 20.0

25

ГОСТ Р 53556.2—2012

Модификация шага может быть выполнена делением pch на фактор модификации шага pch_ mod.

pch – pch / pch_ mod

Если модификацией шага управляет поле pitch в узле AudoSource BIFS. коэффициент модификации равен:

pch_mod = pitch

Значение модулированной задержки шага должно быть в пределах диапазона от 8.0 до 147.0.

Тогда число гармоник в частотном диапазоне между 0 и 3800 Гц. send, и фундаментальная частота. wO (где SAMPLE ж R представляет 2х). вычисляются следующим образом:

send – (/nfX0.9S х pch ж 0.5)

иЮв SAMPLE «* pch

Декодирование гармонических величин

Декодирование гармоиичесхих величин состоит из следующих шагов:

(51) Инверсия квантования вектора базового уровня.

(52) Подавление малых сигналов.

(53) Преобразование размерности выхода базового уровня.

(54) Инверсия квантования вектора уровня расширения.

Для режима 2.0 Кбит/с. выполняются вышеприведенные S1. S2 и S3 для того, чтобы получить гармо-ничесхие величины. Для режимов 4.0 и 3.7 Кбит/с в дополнение к S1. S2 и S3 выполняется S4.

В режиме 2.0 Кбит/с используется комбинация двухступенчатого квантования вектора формы и сха-парного квантования усиления, чьиии индексами являются SE_shape1, SE_shape2 и SE^gain. соответственно. Размерность двух книг шифров формы фиксирована (=44). В S1 добавляются два вектора формы, представленные SE_shape 1 и SE_shape2. и затем умножаются на усиление, представленное SEjgain. Вектор огибающей спектра, полученный в S1. охватывает частотный диапазон от 0 до 3800 Гц. Вектор огибающей спектра очень малой энергии затем подавляется в S2. Чтобы получить вектор гармонических величин исходной размерности, send, затем в S3 к вектору огибающей спектра применяется преобразование размерности. В режиме 4.0 Кбит/с используется дополнительная стадия с разбиением схемы VO. составленной из четырех векторных квантователей для уровня расширения. SE_$hape3, SE_shape4. SE_shape5 и SE_shape6 представляют индексы квантователей для уровня расширения. В S4 вывод этих квантователей добавляется к выводу S3 для гармонических величин в самых нижних 14 частотных гармониках. Когда выбран режим 3.7 Кбит/с, SE_shape6 ив доступно, и S4 выполняется для гармонических величин только самых низких 10 частотных гармоник.

Таблиц а 61 — Конфьжу рация |могоступенчатого гармомчесхого VQ

Размерность двухэтапиого V0

4 битовая форма

» 4 битовая форма * 5 битоаоо усиление

на 2.0 Кбит/с

44

Размерность расщепленного

7 битое

10 битов

9 битое

6 битое

VQ на 4.0 Кбит/с

2

4

4

4

Конверсионный алгоритм размерности

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

Число точек, которые составляют огибающую спектра, изменяется в зависимости от значения шага, поскольку огибающая спектра является рядом оценок величин в каждой гармонике. Число гармоник колеблется от 9 до 70. Чтобы получить величин варьируемого количества гармоник, декодер должен преобразовать кодовый вектор фиксированной размерности (=44) в вектор варьируемой размерности. Число точек, которые представляют форму огибающей спектра, должно быть изменено без изменения формы. С этой целью используется конвертер размерности, состоящий из комбинации фильтра нижних частот и линейного интерполятора 1-го порядка. Фильтр нижних частот FIR с 7 наборами коэффициентов. Каждый набор, состоящий из 8 коэффициентов, используется для 8-разоеой передискретизации первой стадии.

26

ГОСТ Р 53556.2—2012

7 наборов коэффициентов фильтра получены, группируя каждые в коэффициентов от реализуемого методом окна sine f _coefp). со смешениями 1 —7. где

мл к (j-32)/8

f_coe^i] = х (i-32>/8 0-5 “ 0-5 cos2xif64) Ой iй 64

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

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

(51) Квантование вектора инверсии базового уровня: qedvecfO] – O.OF.

for (i = 0: i < vqdimO: t*+) qedvecp*1] –

gO[SE_gain)*(cbO{SE_stiape1][i}+cb1[SE_shape2}[i]):

(52) Подавление малых сигналов: feneq = O.Of;

for (i -0:i< vqdimO: b*) feneq ♦= qedveep* 1]*qedvecp*1]: feneq – sqrt(feneqf(float)vqdimO): if (feneq < 1.0f\\

0. 5f*(fenoqofd*feneq) < i.4f) ( for (i = 0; i < vqdimO: i**) qedveep* 1} – O.Of;

}

feneqoki – feneq.

(53) Преобразование размерности вывода базового уровня: for (i -0: i< (JISU‘1)/2; b*)

rep] = O.Of:

for (i = 0; / <= vqdimO: b*] rep*(JISU-1)/2] = qedveep]: for (i = 0: i < (JiSU-1)/2: i**) rep* vqdimO* 1 * (JISU• 1)/2] * qodvecfvqdknO]: wOf-(ftoat)(SAMPLE*0.S*0.9Sy(ftoat)vqdtmQ: ii – 0:

for p = 0: i <- vqdimO && fi <= send: i**) { for (p = 0: p < R && н <- send: p**) { ip_rato = (TR*p*1)*w0f-w0*e: if(ip_ratk> > 0) { ip_ralto/=wOf; retO – rel1 = O.Of: for 0 s 1: i < JISU: j**) { геЮ *= f_coefU’R~pprep*i]: rel1 += f_coef[j’R~(p*1)prep*j]:

}

ampf] = reKTif}_rabo * roll •(l.Of-ip^ratio): ii**:

}

)

(54) Квантование вектора инверсии уровня расширения: targetfO/ = 0:

k = 1:

for (i – 0: i < Z b*. k**) targetfk] = ct>4k[0](SE_shape3]p};

27

ГОСТ Р 53556.2—2012

for (i = 0; i < 4: t**. к**) targetfk) = cb4k[1][SE_shape4][);

for (i = 0; i < 4: h*. k**) targetfk} = cb4k{2)(SE_shapeS}0}:

if (HVXCrate >= 4000){ for (i – 0; i < 4: k*+)

targetfk} – cb4k[3][SE_shape6)[i]:

}

etsef

for fi – 0: i < 4: /++. k++) targetfk} = O.Of:

)

if (send > 14) { for 0 = 15; / <= send: i**) targetfi} – O.Of:

}

for 0 – 0: i <- send: i**) amfi] *- targetfi}

5.4 Декодер временного домена

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

Для неречевых сегментов в составе речи используется схема, которая подобна VXC (Кодирование с векторным возбуждением). Декодер временного домена генерирует форму волны возбуждения для неречевой части, просматривая таблицы и используя переданные индексы. Вектор формы и усиление базового уровня обновляются каждые 10 мс. Форма масштабируется путем умножения каждого отсчета на величину усиления. В режиме 2.0 Кбит/с используется только вывод первой стадии (базовый уровень). В режимах 4.0 Кбит/с и 3.7 Кбит/с умножаются вектор формы и усиление второй стадии (уровень расширения) и добавляются к выводу первой стадии. Форма и усиление уровня расширения обновляются каждые 5 мс.

Таблица 62 — Конфигурация временного домена VQ

1-й этап

(80 мерная 6 битовая форма + 4 битовое усиление) х 2

2-й этап

(40 мерная 5 битовая форма * 3 битовое усиление) х 4

5.4.2 Определения Определения констант

ОшюПаре. Длина фрейма VXC первой стадии (=60).

DiuchapeZ Длина фрейма VXC второй стадии (=40).

Определетя переменных

HVXCrate: Операционная битовая скорость декодера.

cbL0_ gf/]: cbL0_ s[flj]:

сы.1_ т

cbL1_ sf/1/l: VX_ ga/nf(/]; VX_ sftapef[/]: VX_ gain20\: VX_ sftape2[/]:

Вывод декодера VXC (0 S i & FRM). мл вход книги шифров усиления VXC первой стадии.

/•й компонент ьго входа книги шифров формы VXC первой стадии.

Fit вход книги шифров усиления VXC второй стадии.

/•й компонент мо входа книги шифров формы VXC второй стадии.

Индекс усиления VXC но подфрейма (базовый уровень. / – 0.1).

Индекс формы VXC ьго подфрейма (базовый уровень, / = 0.1).

Индекс усиления VXC ьго подфрейма (уровень расширения, i = 0.1.2.3). Индекс формы VXC ьго подфрейма (уровень расширения, / = 0.1.2.3).

5.4.3 Процесс декодирования Для базового уровня: for 0 = О: / < DimSПа ре: i++) resfi] = cbL0_g[VX_gainf0J} * cbL0_sfVX_shapef0}}fi): for 0 = 0. / < DtmShape: i**)

resp ♦ DimShape) – ct)L0_g[VX_gain[1}] *cbL0_sfVX_stiape[1])ft}:

28

ГОСТ Р 53556.2—2012

Добавить уровень расширения. if (HVXCrale >- 4000){ Г 4.0 kbps mode V for 0 – 0: i < 4: i**){ for(i- 0: j < DimShape2: j**H res[j*DimShape2’iJ *-

cbL1_g[VX_gain2p])‘cbL 1_s[VX_shape2(iJ][j):

)

}

)

else{ Г 2.7kbps mode V

for 0 – 0; i < 3; /+*)( for (j = 0; j < DimShape2: j++){ resQ+DimShaperi) *-

cbL1_g(VX_gain2p]}*cbL1 s[VX_shape2(iJ][j];

)

}

}

5.5 Интерполяция параметров для управления скоростью

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

У декодера имеется схема интерполяции параметров, чтобы генерировать ввод для «Синтезатора Речевой Компоненты» и «Синтезатора Неречевой Компоненты» в любой произвольный момент времени. С помощью этой схемы вычисляется последовательность параметров в измененных интервалах и применяется в обоих синтезаторах. Таким образом получается вывод декодера в измененной временной шкале.

5.5.2 Определения Определежя констант.

FRM: Интервал фрейма (=160).

р: Порядок LPC (=10).

Определения переменных

Блок ‘Parameter Interpolatiorr (Интерполяция параметров) вычисляет параметры в измененной временной шкапе, интерполируя полученные параметры.

Работа этого блока состоит в основном из линейной интерполяции и замены параметров. Обозначим массивы оригинальных параметров как: pch [л]: Величина отставания шага в момент времени л.

vuv |л]: Индекс V/UV в момент времени с индексом п.

isp (л] Ю: Декодированные LSPs при временном индексе п (0 £ i < Р).

send [л]: Число гармоник при временном индексе л.

am [п] [/]: Величины гармоник при временном индексе п (0 й i< send [л]).

vex [пт Декодированный сигнал возбуждения VXC при временном индексе л (0£/< FRM).

рагат (л): Параметр при временном индексе л.

и интерполированные параметры как:

mdf _ pch [m]: mdf_ vuv [mj: mdf _ isp (m) [/]: mdf _ send [m]: mdf _ апЦт] [/): mdf _ vex [m] (/]: mdf _ param [m]:

Величина задержки шага при временном индексе т.

Индекс VAJV при временном индексе т.

Декодированные LSPs при временном индексе т (0 £ / < 10).

Число гармоник при временном индексе т.

Величины гармоник при временном индексе т (0 £ / < send (л]).

Декодированный сигнал возбуждения VXC при временном индексе m(0£/< FRM). Параметр при временном индексе т. где л и mявляются временными индексами (номер фрейма) до и после модификации временной шкалы. Интерва/ы фрейма в обоих случаях равны 20 мс. spd: Отношение изменения скорости (0.5 £ spd £ 2.0).

N, : Продолжительность речевого оригинала (полное число фреймов).

N2: Продолжительность речи с управлением осоростью (полное число фреймов).

fre. fr,: Индексы фрейма, смежного с точкой интерполяции.

left, right. Коэффициент интерполяши.

tmp_ vuv: Временной индекс V/UV.

29

ГОСТ Р 53556.2—2012

5.5.3 Процесс управления скоростью Определим коэффициент изменения скорости »ак spd:

spd = N, IN2 (1)

где N, является продолжительностью речевого оригинала и N2 является продолжительностью речи с управляемой скоростью. Поэтому.

0 £ л < N, и 0 й т < Ыг.

Если скоростью управляют соответственно фактору временного масштабирования в none speed узла AudioSource BIFS. отношение изменения скорости равно:

spd = 1!speed

8 основном измененные параметры временной шкалы выражены как:

mdf_ param [т\ = param \т х spd]. (2)

где param являются: pch. vuv. Isp и am. Однако, m х spd не является целым числом.

Поэтому определяем.

fr0-m х spd

(3)

fr, = fr0 + 1.

чтобы генерировать параметры при временном индексе т х spd линейной интерполяцией параметров при временных индексах fr0 и fr,.

Чтобы выпогыить линейную интерполяцию, определим:

left-тх spd – fr0 (4)

right – fir, – m x spd

Тогда уравнение (2) может быть аппроксимировано как:

mdf_ param [mj = param (frj fr0 ♦ param ffrj x left (5)

где param являются, pch, vuv. fsp и ant

Дан k>p [a] [i] и atn(ii] [/] эта лимейнаи **иер1Ю»нция применивши с фиксируемым индексом /.

Параметр vex

vex [л] [г] имеет сигналы возбуждения для фреймов UVe результате просмотра книги шифров. Берутся отсчеты FRM из vex [л] [г], центрированные вокруг времени mxspd, и вычисляется энергия по отсчетам FRM. Затем генерируется состоящий из отсчетов FRM Гауссовский шум. и его норма корректируется так. чтобы его энергия была равна энергии из отсчетов FRM. взятых из vex [л] [/]. Эта последовательность Гауссовсхого шума с регулируемым усилением используется для mdf_vex (я?) [/].

Главная операция изменения временной шкагы может быть выражена уравнением (5). однако до интерполяции нужно рассмотреть решения VJUV при fr0 и fr,.

Стратегии интерполяции и замены, адаптированные к решениям ViUV, описаны ниже. 8 объяснении полностью речевой и смешанный речевой (vuv [л] * 0) сгруппированы как *Voiced” (речевой), и только случай vw[n] – 0 расценивается как •Unvoiced” (неречевой). В случае варьируемой скорости кодирования режим “Background Noise’ (фоновый шум) (vuv [л] = 1) также рассматривается как “Unvoiced’.

Когда решения VAJV при fr0 и fr, являются Voiced—Voiced, новый индекс VAJV mdf_ vuv (m) получают следующим образом: tmp_ vuv = vuv (fr6\ x right ♦ vuv [frf] x left if{tmp_ vuv>2)

mdf _ vuv [m] = 3 else if(tmp _ vuv> 1) mdf _ vuv [m] = 2 else if (tmp_ vuv>0) mdf _ vuv [m] = 1

30

ГОСТ Р 53556.2—2012

Новая величина задержки шага mdf_ pch [m] получается следующим образом: if (0,57 < pch Ifr0] / pch [fr,] &&pch [fr0)lpch [fr,] < 1.75) mdf _ pch [m] = pch [fr0] x right ♦ pch [fr,] x left else

if (left < nght)

mdf _ pch [m] = pch [fro] else

mdf _ pch [m] = pch [fr,]

Все другие параметры интерполированы по уравнению (5).

Когда решения WLTV при fr0 и fr, являются Unvotced— Unvoiced, все параметры интерполируются по уравнению (5). исключая mdf_vex. mdf_vex [л?] [#] генерируется по Гауссовскому шуму, имеющему ту же энергию, что и энергия выборок FRU. взятых из vex [л] [/], це«тированных вокруг времени т х spd.

Когда решения VIUV при fra и fr, являются Voiced — Unvoiced, if lefl<right.

вместо того, чтобы вычислять параметры при mx spd. используются все параметры в момент времени fr0.

if left i right

Вместо того, чтобы вычислять параметры при mx spd. используются все параметры в момент времени fr,.

mdf_ vex [m] [/] также сгенерирован Гауссовым шумом, имеющим ту же самую энергию, что и выборки FRM из vex (fr,] [/]. (0 ii< FRM).

Когда решения VIUV при fr0 и fr, являются Unvoiced— Voiced.

if left<right.

Все параметры во время fr0 используются вместо того, чтобы вычислять параметры при mxspd. mdf _ vex [/л] [г] также сгенерирован Гауссовским шумом, имеющим ту же самую энергию, как энергия выборок FRM из vex (fr0] р]. (0 й i < FRM)

if iefc-right.

Все параметры во время fr, используются вместо того, чтобы вычислять параметры при mxspd. Этим способом получают все необходимые параметры для декодера HVXC. Только применяя эти измененные параметры, mdf_ pawn [т]. к “Синтезатору Речевом Компоненты” и “Синтезатору Неречевой Компоненты” тем же способом как обычный (нормальный) процесс декодирования, получают вывод с измененной времегеюй шкалой.

Очевидно, когда Ыг < W,. выполняется ускоренное декодирование, а когда N2 > N, выполняется декодирование со сниженной скоростью. На спектр мощности и шаг это управление скоростью не влияет, таким образом мы можем получить хорошее качество речи для коэффициента управления скоростью приблизительно 0.5 < spd < 2,0.

5.6 Синтезатор речевой компоненты

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

Синтезатор речевой компоненты состоит из следующих этапов:

• модификация величин гармоник.

• синтез возбуждения гармоник.

• добавлен не шумовой составляющей.

• синтез LPC.

• постфильтр.

Эффективный метод синтеза возбуждения гармоник одежде всего используется для того, чтобы получить периодическую волну возбуждения из величин гармонмс Добавляя шумовую компоненту к периодической волне, получают сигнал речевого возбуждения, который затем подается в фильтр синтеза LPC и постфильтр, чтобы генерировать речевой сигнал. Конфигурация постфильтра не нормативна и описана в Приложении Б.

31

ГОСТ Р 53556.2—2012

5.6.2 Определения Определения констант PI: я = 3.14159265358979….

FRM: SAMPLE: WAVE LEN: WDEVI:

LD LEN. RND MAX: SCALEFAC:

Интервал фрейма (=160).

Длина фрейма анализа (=256).

Длина волны одного периода шага (=128).

Порог отношения фундаментального изменения частоты (=0.1).

Сдвиг интервала декодирования для режима низкой задержки (=20).

Максимальное число, сгенерированное генератором случайных чисел <=0x7fffffff). Масштабный коэффициент для измененных величин гармоник для генерации шумовой

c_dis[i\:

составляющей (=10).

Окно трапецоида для гармонического синтеза шага прерывистая волна показано на рисунке 1 (0 5 i <FRM ♦ LD_ LEN).

ham (/]: ham z[<): HAMLD:

Окно Хэмминга (0 5 / < SAMPLE).

Дополненное нулями окно Хэмминга (0 5 /<2 х FRM). Длина окна Хэмминга для режима низкой задержки (=240).

Р: Порядок LPC (=10).

Определения переменных

ат2 [/]: Гармою«ческие величины в границе окончания интервала декодирования. Они получены

ат_ h И: am_noisa (/]:

как am [/] в 5.3.3.

Измененные величины гармоник на конечной границе интервала декодирования. Измененные величины гармоник для генерации компоненты шума на конечной границе

и*2:

интервала декодироаажя.

Индекс VAJV на конечной границе интервала декодирования. Получен как VJV из потока битов.

vwt:

илО:

рсЛ2:

Индекс VAJV на границе начала интервала декодирования.

Индекс V/UV на границе начала предыдущего интервала декодирования.

Значение задержки шага (отсчет] на коне^мой границе интервала декодирования. Полу

рсЛ1:

sandZ.

sandv.

и02:

м01:

рЛа2 [/]:

f^ha^ [#]:

ovsr2:

ovsrl:

ovsrc:

wave 2 pt

чено как pch (значение задержки шага в текущем фрейме) в 5.3.3.

Значение задержки шага (отсчет] на начальной границе интервала декодирования. Число гармоник на конечной границе интервала декодирования.

Число гармоник на нача/ъной границе интервала декодирования.

Фундаментальная частота на конечной границе интервала декодирования [radJsampie]. Фундаментальная частота на начальной границе интервала декодирования [/edteampfe]. Значения фазы гармоник на конечной границе интервала декодирования.

Значения фазы гармоник на начальной границе интервала декодирования. Коэффициент передискретизации на конечной гра»мце интервала декодирования. Коэффициент передискретизации на начальной границе интервала декодирования. Линейно интерполированный коэффициент передискретизации.

Форма волны периода в один шаг. сгенерированная из шага и величин гармоник на

travel pi:

конечной границе интервала декодирования (05 i< WAVE_ LEN).

Форма волны периода в один шаг. сгенерированная из шага и величин гармоник на начальной границе интервала декодирования (05/< WAVE^ LEN).

Jjp12.(jo12r:

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

(p1. Jjp2. Ip2r.

Длина передискретиэированной формы вопш, необходимая чтобы восстановить форму

St.

волны интервала декодирования (в случае прерывающегося перехода шага). Смешение для циклического расширения wava2 [/] на начальной границе интервала де

iflaft. iflat2:

кодирования.

Длина периода, где интерполяция параметров не производится в домене перекодирования (для режима малой задержки).

out2 {): ot41 |): ot43():

Циклически расширенная форма волны, генерированная из nave2 (ij.

Циклически расширенная форма волны, генерированная из navel [/].

Взвешенная перекрытая и добавленная циклически расширенная форма волны в интервале декодирования, сгенерированная из о*41 (] и о*42(] (в случае непрерывного перехода шага).

32

ГОСТ Р 53556.2—2012

sv2 [/]: Повторно квантованная форма волны из out 2 [] (в случав прерывающегося перехода

шага, 0 5/ <FRM).

svl [/]: Повторно квантованная форма волны изоиП [] (в случае прерывающегося перехода

шага, 0 £i<FRM).

sv (/]: Сгенерированный сигнал речевого возбуждения (0 £ / <FRA4).

ns ffl: Гауссовский шум с нулевым средним и единичной дисперсией (0 £ i < SAMPLE).

wns [fl: Взвешенный функцией Хемминга Гауссовский шум (0£/< SAMPLE).

rue [/]: Массив амплитуд спектра (0 £ / < SAMPLE / 2).

апд [/]: Массив фаз спектра (0 & / < SAMPLE / 2).

re (/]: Вещественная часть коэффициентов FFT(0£/< SAMPLE).

■о [/]: Мнимая часть коэффициентов FFT (0£/< SAMPLE).

wO. Фундаментальная частота текущего фрейма, где 2* выражен как SAMPLE (- 256).

ens [0: Результат IFFTтекущего фрейма для генерации шумовой компоненты (0 й /< SAMPLE).

cns_ 2 [/]: Заполненный нулями массив для cns|j(0^/<2хРРМ).

cns_ z _р (/]: cns_z [) предыдущего фрейма для перекрытия и добавления (0 й i <2 xFRM).

adoLuv [/]: Сгенерированная шумовая компонента в интервале декодирования (0 £ / <FRM).

lsf>2 [): Декаактованные LSPs текущего фрейма, полученные как gLsp{] в 5.2.3.

йр1[]: Дехвантованные LSPs предыдущего фрейма.

Ispip [] []: Интерполированные LSPs.

Mpaip f) [); Коэффициенты линейного прогнозирования, преобразованные из интерпогмрованных

LSPs Ispip [) П-Определения функций

random^): Генератор случайных чисел, который возвращает случайные числа в пределах отО

до RND_ МАХ.

сеЦх): Функция, которая возвращает наименьшее целое число, большее чем или равное х.

воог(х): Функция, которая возвращает наибольшое целое число, меньшее чем или равное х.

5.6.3 Процесс синтеза

Алгоритм синтеза может применяться как для режима нормальной задержки, так и для режима малой задержки. Для режима малой задержки используется смещение интервала декодирования LD_ LEN. Синтезированная форма волны охватывает от N=-160 ♦ LD_ LEW [выборка] до N= О ♦ LD_ LEN [выборка). N- 0 представляет собой центр текущего фрейма. Если сдвиг фрейма равен 0 (LD_ LEN – 0). синтезируемая форма волны идентична форме режима нормальной задержки. Это показано на рисунке ниже.

Во еремя периода от N- 0 до N- LD_LENзадержка шага, величины гармоник и параметры LSPne интерполированы и сохраняются. Если LD_ LEN – 0. задержка декодера равна 10 мс. а если LQ_ LEN – 20. задержка декодера равна 7.5 мс.

Рисунок 1 — Интервал декодирования

5.6.3.1 Модификация величин гармоник

Гармонические величины. ат2(/]. изменены для гармонического синтеза возбуждения и шумового составляющего поколения независимо согласно индексу VJUVтекущего фрейма, vuv2.

Измененные величины гармоник am_b[i] для синтеза возбуждения гармоник и ат_ логаер] для генерации шумой компоненты получают как описано ниже.

Когда индекс VIUV. vuv2.0. ничего не делается (работает только декодер VXC).

33

ГОСТ Р 53556.2—2012

Когда индекс VAJV. vw2. равен 1:

am2[i] (1 £ / < send! х В_ ТН1)

am2[i) у. АИЛ (cend2xB_TH\^i^send2)

am_notse(/]

JO (1£/<se/xf2x8_7W1)

[SCAL£FACxam2(/] xAN\ (send2x B_ ТЖ £ г £send2)

Когда индекс VAJV. vuv2. равен 2:

am2[i) (l£/<ser?d2x 8_TH2)

an?2(/]xAW2 (senc/2xS_TH2£i<ssnd2 x8_TH2_2)

am2[i\ xAH2_2 (send2xB_TH2_2£i <send2)

am _ noise [/]

0 (l£/<senP2x8_7H2)

SCALEFACxam2[i] xAN2 (send2xB_TH2Zi<send2 xB_TH2_2) SCALEFAC xam2[i\x AN2J2 ($end2x B_TH2_2£i£send2)

Когда индекс VAJV. vuv2. равен 3:

am2[i] (Mi<sand2xB_TH3) am2[i] xAH3 (send2x B_ TH3 £ / £send2)

am_noisa[i]

JO (l£r<send2xB_7H3)

lSCALEFAC x am2 [/] xAN3 (send2 x B_ TH3 £/ £ seod2)

Таблиц a 63 — Значения констант для мооификэцм вели» м ы гармоник: 2.0 Кбит/с

В тнл

АЛЛ

АН1

В ТН2

АЫ2

АН2

ВТИ22

AN2 2

АН2 2

В тнз

AN3

АНЗ

0.5

0.4

0.8

0.5

0.3

0.9

0.85

0.5

0.5

0.7

0.2

1.0

4 Кбит/с

В ТИЛ

АЛЛ

АНЛ

В ТН2

AN2

АН2

ВТН2 2

AN2 2

АН2 2

В ТНЗ

AN3

АНЗ

0.5

0.3

О)

о*

0.5

0.3

0.9

0.85

0.5

0.5

0.8

0.2

1.0

5.6.3.2 Синтез возбуждения гармоник

Сигнал возбуждения гармоник sv(/J (0 £ i <FRM) может быть получен методом быстрого синтеза, состоящим из IFFTи преобразования частоты дискретизации.

Во-первых, используя величины гармоник и значения фазы, форма волны за период одного шага генерируется /FFT. Согласно непрерывности шага, выбирается одна из двух различных операций циклического расширежя и перевыборы формы волны за один период шага и выполняется, чтобы получить сигнал возбуждения гармоник.

Генерация формы волны за период одного шага.

Фундаментальная частота в начальной границе интервала декодирования. *01. вычислена как

w01 = 2,СГР1фсМ.

Фундаментальная частота в конечной границе интервала декодирования. *02, вычислена как

w02 – 2.0’Р1фсД2.

Значения фазы гармоник в конечной границе интервала декодирования. рЛа2(]. вычисляются из значений фазы гармоник в начальной границе. рАа1{) Когда и индекс VAJV а начале текущего интервала декодирования, vuv1. и индекс VAJV в начальной границе предыдущего интервала декодирования. vuvO. 0 [Unvoiced), значения фазы гармоник pha2[\ инициализируются, используя случайные значения фазы, равномерно распределенные между 0 и 0.5*.

34

ГОСТ Р 53556.2—2012

Для режима нормальной задержки: if (vuv1 == 0 && vuvO —0){ for 0 – 0: i < WAVE_LEN/2; i**) pha2p]-O.S*Pr(ftoat)random(y(float)RND_MAX:

}

else {

for 0-0:i< WAVEJ-EN/2: /♦♦) pha2fi)-pha1fi] * 0.S'(w01*w02)TFRM;

}

Для режима малой задержки: if (vuv1 =* 0 vuvO — 0) ( for fi-0:i< WAVE_LEN/2; /♦♦) pha2ffl – O.S*Pr(fk>at)random(y(fhat)RND_MAX:

)

else {

for (i – 0; i < WAVE_LEN/2; /**) {

pha2fi] – phalfi] * 0.5’(w01 *w02)T(FRM-LD_LEN) * w01 *i*LD_LEN:

}

На конечной границе интервала декодирования имеется спектр с sen<f2 гармониками, чьи величины равны ат_ />[/] (1 £/£ send2), а значения фазы равны pha2 [(] (1 £/£ send2). Добавление нулей к этим массивам приводит к новым массивам с компонентами WAVE_LENf2 (= 64) в пределах от 0 до л. Если send2 больше чем 63, используются первые 64 значения ofam_ ftf/J и pha2[i\. 128 точек IFFT применены к этим массивам значений величин и фазы с ограничением, которое дает в результате вещестеежые числа. Теперь есть форма волны передискретизации за период одного шага. wave2 [/] (0 £ /< WAVEJLEN).

WAVE_LEN (= 128) отсчеты используются, чтобы выразить период одного шага формы волны. Так как фактическое значение задержки шага равно pch2. скорость передискретизации ovsr2 равна

ovsr2 – WAVE_LEN/pch2.

Аналогично скорость передискретизации ovsrl для формы волны за период одного шага на начальной границе интервала декодирования, wavel []. равна

ovsrl = WAVE_LEN/pch1.

Проверка непрерывности шага

Когда отмошегыв фундаментальных частот. |(w02-w01)/tv02|, меньше чем WDEVI(- 0.1% то переход шага непрерывен. В таком случае фундаментальные частоты и величины гармоник линейно интерполируются между началом и окончанием интервала декодирования. Иначе, это рэсцененивается как прерывистый переход шага, а фундаментальные частоты и величины гармоник не интерполированы линейно. В этом случае добавляются независимо синтезируемые периодические формы волны, используя соответствующие высоеые функции.

Циклическое расширение и операция передискретизации (непрерывный переход шага)

Формы волны за период одного шага. waye1(] и wave2[]. циклически расширены соответственно, чтобы иметь достаточную длину в домене с чрезвычайной передискретизацией.

Длина сверхдискретиэироеанмой формы волны, необходимая чтобы восстановить форму волны длины FRM(= 160) при оригинальной частоте дискретизации (8 кГц), составляет не менее £12.

Для режима нормальной задержки:

/р/2 =

ceil(FRbrO, 5 ‘(overt *ovs/2)):

Ipl2r-

fioor(FRKT0. 5 ‘(ovsrt *ovsr2}*

0.S);

st = WAVEJ.EN -(tp12r%WAVE_LEN): for (i – 0; i < lp1Z i**) { outlp] = wave1[l%WAVE_LEN); out2(i] –

wave2[(st*i)%WAVE_LEN];

)

35

ГОСТ Р 53556.2—2012

Для режима малой задержки: lpi2 – c&t((FRM-LD_LEN)*0.5′(over1 +ovsr2)*LD_LEN*ovsr1);

Ipl2r – f)oor((FRM-LD_LEN) V,S*(ovsr1 +ovsr2)+LD_LEN*ovsr1 +0.5):

St – WAVE_LEN – (!p12r%WAVEJLEN) ifiatl -Roor(ovsn’LD_LEN*C.5) ifiat2 – fk>or(ovsr2’LD_LEN*C.5) for (i = 0:i < Ip12+tfiat2+10: i++) { out1(>) – wave1[i%WAVE_LEN}; оut2[i] – wave2[(st+i)%WAVE_LEN};

}

У этих двух форм волны. оиМ[] и out 2(]. есть тот же самый «псевдо» период шага (-WAVE_LEN [samp/e]). и они выравниваются. Так простое добавление этих двух форм волны, используя треугольные окна производит форму волны ои&(}.

Для режима нормальной задержки: for (i – О: i < Ip12: i**) out3[i] – out1(iT(fhat)(lp12~i)/(float)lp12 ♦ out2f<r(fk>al)i/(fiaai)lp12.

Для режима малой задержки: for (i – 0: i < ifiatl: h*) out3p] – outlfi): for (7 = ifiatl: i < tp12: i**) out3p] – out1ffl*(fk>at)0p12-i)/(ftoat)(lp12-iflat1)

+out2pr(float)(h-tiatiy(fk>at)(lp12-dlat1): for(i = Ip 12; i < lp12*iflatZ i**) out3[i] – oul2fil

Наконец. ouf3Q должен быть лередискретиэировак так. чтобы получающаяся форма волны могла быть выражена в оригинальной частоте дискретизации (8 кГц). Эта операция возвращает форму волны из домена «псевдо» шага в домен фактического шага. Операция передисхретизации:

sv М = оиГЗ [f (/)) (0< / <FRM). где

W) =* fcfovsrl –F-^± + ovsr2 -^f)dt.

Функция fo) отображает время индекса / из оригинальной частоты дисхретизации (8 кГц) к индексу времени в over-sampledrate при условии, что фундаментальные частоты. и01 и и02, линейно интерполиро* ваны. С тех пор ДО doesnot возвращают целочисленное значение, svft] получен, линейно интерполируя ot*3 (/(/) ] и out3 [Г(/) ].

Для нормального режима задержки: sv(0J – outm т-0:

for (7= 1; i < FRM; i+*) { ovsrc – ovsrt *(fk>at)(FRM-i)/(float)FRM ♦ over2*(ftoat)i/(hoat)FRM: ffi *= ovsrc: ffim = ftoorfffi): fffo = ceH(fH): if (ffim == mp) svfi] = out3((int)ffip]; else

svp] = (ffi-mm)*out3{(int)ffip] * (ffip-fl1) ’out3f(int)fHm):

}

Для режима малой задержки: sv(0J – out3[(flat1J;

т-0:

for (i — 1; i < FRM; i**) {

36

ГОСТ Р 53556.2—2012

ovsrc=о vsrt ‘(ftoat)(FRM-LD_LEN-iy(fioat)(FRM-LD_LEN)

♦ over2*(ftet)i/(fk&)(FRM-LD__LEN): ffi ♦= ovsrc:

ffim = fioorfffi): ffip – ceii(ffi); if (ffim == ffip) svfi7 = oufiffirtJffip+iSaff/; else

svfi] = (ffi-ffim) ‘out3{(int)ff>p+iflat1}

♦ (ffip-ffi)*out3{(int)ffim*ifIat1]:

}

Циклическое расширение и операция передискретизации (прерывистый переход шага)

Формы волны за один период шага. wave1[] и wave2[] циклически расширены, чтобы иметь достаточную длину в домене передискретизации. И на начальной и на конечной границах интервала декодирования получены циклически расширенные формы волны. ot/M(] и out2[].

Ip1 = cei(FRM*ovsr1):

Ip2 – cei(FRM*ovsr2):

lp2r-fioor(FRM’ov&r2*0.5):

st – WAVE_LEN- (lp2r%WAVE_LEN)

Для режима нормальной задержки: for (i = 0: i < fp1: i**) out1[i] = wava1[i%WAVE_LEN]; for (i = 0: i < Ip2: i**) out2[i] – wava2((st*i)%WAVE_LEN]

Для режима малой задержки: ifiatl =fioor(ovsr1’LD_LEN+O.S); ifiat2 = fioor(ovsr2*LD_LEN+0.5): for fi = 0: i < Ip1+iflat1+10: i**) оutlfi] – wave1[i%WAVE_LEN], for (i = 0: i < Ip2+if}at2+10: i**) out2[i] – wave2/(‘st^)%M^Ve_L£M.

где ф1 и /р2 — длина передискретизированныхформ вогыы, необходимая чтобы восстановить форму волны длиной FRM (= 160) при первоначальной частоте дискретизации (8 кГц).

Эти две формы волны, otrtl Q и ои(2 [), передискретизмруются независимо. используя тот же самый метод л шейной интерполяции как в случае «непрерывного перехода шага».

Для режима нормальной задержки: sv1{0] – outlfO£ ffi = 0:

for (i = 1; i < FRM. /♦♦) { ffi ♦= ovsrl: ffim = ftoorfffi): ffip – ceil(ffi): if (ffim == ffip) svT/»/ = out1((int)ffip): else

svlfi] = (ffi-ffim)’out 1[(int)ffip] ♦ (ffip-ffi)*otrtf/(tftf)ffim);

;

sv2f0] – out2[0): ffi-0:

for (i – 1: i < FRM: i**) { ffi *- ovsr2: ffim – fioorfffi): ffip – cei(ffi); if (ffim == ffip) sv2[i) = out2ffint)ffip]:

37

ГОСТ Р 53556.2—2012

else

sv2p] = (ffi-ffimyoiA2l(int)ffip} ♦ (mp-fR)9out2[(int)ffim):

}

Для режима малой задержки: sv1{0J – out1{(fiat1};

т-0:

for (i — 1: i < FRM; i+*) { ffi ♦= ovsrl:

№m = fioorfffi):

mp = сей(т);

if (ffim == mp) svfffl – ovtl((int)ff>p+met1]; else

svlp} = (ffi-ffimj *oo( 1 ((int)ffip +iflal 1)

* (ffip-ffi) ‘outlftintjffim+fflatl]:

}

sv2[0] = оut2pftet2]:

Q:

/br|7 = 1: i < FRM: h+) { m *- ovsr2: mm – fioorfffi): mp – ceiifm); if (mm == mp) sv2[i) = out2[(int)ffip+iftet2]: else

sv2[i] = (ffi-mm)*out2f(int)mp+iflat2)

* (ffip-ffi) ‘out2{(int)mm*if)at2):

}

Используя лере дискретизированные формы волны при первоначальной частоте дискретизации (8 кГц), svl () и sv2 [] тогда перекрываются и добавлены окном трапецоида с_(#з0. показанным на рисунке 2. те НР_ UP – НМ_ DOWN = 60. НМ FLAT= 50. for 0 = О: i < HM_FLAT: /**) c_disfij = 1.Ж

for 0- HM_FLAT: i < HM_FLAT*HM_DOWN; /♦+) c^disp) – (~i+(HM_FLAT+HMJX)WN)y(fk>at)HM_DOWN: for (i – HM_FLAT+HM_DOWN; i FRM; i**) c_dtsft] = 0.Л:

Для режима нормальной задержки: for (i = О; / < FRM; i**) svfi] – svlppc^disfi} * sv2[ij‘(1.0 – c_dtsfij).

Для режима малой задержки: for (i = О; / < FRM;

svfi] – svWcjSis[t+LDJ.EN} ♦ sv2[i}*(1.0 – + LD_LEN))

Рисунок 2 — Окно синтеза для прерывающегося шага 38

ГОСТ Р 53556.2—2012

5.6.3.3 Генерация шумовой компоненты

Для генерации шумовой компоненты для речевого возбуждения сначала генерируется белый Гауссовский шум. Затем он настраивается по цвету и усилению модифицированными величинами гармоник. am_ notse(l. а чтобы генерировать непрерывную шумовую компоненту во временном домене используется взвешенное перекрытие и добавление.

Сначала определяется окно Хемминга длины SAMPLE{= 256). Aamfi].

Для режима нормальной задержки, for (i * 0: / < SAMPLE: »*) hamp] – 0.54-0.46’cos(2.0’PtV(SAMPLE-1))

Для режима малой задержки for 0 – О: / < (SAMPLE-HAMLDV2: i**) bamp] = 0.0:

for р — (SAMPLE-HAMLD)/2; i < (SAMPLE*HAMLD)/2: i++) bamp] = 0,S4~0.46’co$(2.0*PIV(SAMPLE‘1)); for (i = (SAMPLE*HAMLD)/2: (< SAMPLE: i**) hamp] = 0.0:

ham[] окна нормализуется, чтобы получить единичную энергию.

Пусть nsp) (Ой i < SAMPLE) будет отсчетами белого Гауссовского шума с нулевым средним значением и единичной дисперсией. Затем окно Хэмминга hamp]умножается на nsp)и получается wnsp). for p = 0:i< SAMPLE: i**) wnsp] = nspj’hamp):

Обсчитывают256 lcnetiFFTwnsp) и вычисляют массив спектральных амплитуд плср){0й1й SAMPLE/2) и массив спектральных фаз апдр]{0й1й SAMPLE12) как for 0- 0: i <- SAMPLE/2: i**) ( rmsp) – sqrt(rap]*rep]*imp]*imp]): angp] = atan2(imp]. rap]):

}

где rap](0& I< SAMPLE) и imp](QSi< SAMPLE)являются вещественной частью и мнимой частью коэффициентов FFT. соответствен**}. Затем спектральное среднеквадратичное значение амплитуды лисП настраивается по цвету и усилению модифицированными гармоническими величинами. am_r)o*se(). (wO является фундаментальной частотой текущего фрейма, где *0 значение SAMPLE представляет собой 2х).

for (i = 0: i <= sand2: i**) { if (i — 0) ib = 0: aisa

Ib = ub+1: if (i — send2) ub = SAMPLE/2 alsa

ub – ftoor((ftoat)i*w0*w0/2.0*0.5): if (ub >= SAMPLE/2) ub = SAMPLE/2: bw – ub~ib*1: s = 0.0:

for (j – lb; j <- ub: j**) s *- rms[j]*rmsp]: s – sqrt(s/(ftoat)bw): for 0 – lb: j <= ub: j**) rmsp] *= am noisapys:

}

256-точечный IFFT вычисляется с настроенным no цвету и усилению массивом спектральных амплитуд ппс [] и исходным массивом спектральных фаз апд(] с ограничением, что результат будет вещественными числами. Пусть результат IFFT будет cns{/] (0 й I й SAMPLE).

39

ГОСТ Р 53556.2—2012

Когаз текущий фрейм является ’Unvoiced”, frame (vuv2 – 0), cnsf] = 0.0 (0 S / < SAMPLE).

Чтобы генерировать сигнал шумовой компоненты по интервалу декодирования, выполняется взвешенное перекрытие и добавление результата IFFT предыдущего фрейма. Массив cns_ z[i] (0 й i < 24 FRM) получен путем дополнения (FRM – SAMPLE/2) нулей к обеим сторонам (начало и окончание) cnsf]. for (i = О: / < FRMSAMPLE/2: Ь*) cns_z[i] = 0.0:

for (if = FRM-SAMPLE/2: i < FRM+SAMPLE/2: i**) cns_zfij – cnsp-FRM*SAMPLE/2): for (i = FRM+SAMPLE/2; i < 2’FRM: r++) cns_zpj – 0.0.

Тем же самым способом, дополненный нулями массив окна Хэмминга ftam_ z[i]

(0 й i < 2 Ч FRM). определен как: for (i — О: i < FRM-SAMPLE/2: >+*) ham_zfi] – 0.0;

for (i = FRM-SAMPLE/2; i < FRM*SAMPLE/2; h*) bamjzfi) = ham[t-FRM+SAMPLE/2); for (i – FRM*SAMPLE/2: i < 2’FRM: fr+) ham_zft) = 0.0.

Обозначи м cns_ г[} предыдущего фрейма как cns_ г _ р{]. Теперь шумовая ком помента по интервалу декодирования. add_uv(ij (О S / < FRM), получается объединением cns_ z[) и cns_ z _ р[].

Для режима нормальной задержки: for (i = 0: # < FRM; i**)

add_uv[i] = (cns_z_p{FRM*i}*ham_z(FRM*i]*cns_zp]’ham_z[i)) /(ham_z[FRM*i)’ham_zfFRK1*i]*ham_z(t}’ham_z(iJ)

Для режима малой задержки шумовая компонента в сдвинутом интервале декодирования получается следующим образом:

for 0 – О: I < FRM-LD_LEN: h+) add_uv{i] – (cns_z_p{FRM+t+LD_LENf’ham_z{FRM+i+LD_LEN}+ cns_zfi*LD_LEN)’ham_zft*LD_LEN))

/(ham_z{FRM+i+LD_LEN}*ham_zlFRM+f+LD_LEN)

*ham_zp*LD_LEN}’ham_zfi*LD LEN]). for (i = FRM-LD_LEN; i < FRM: add_uvpj – cns_zp+LD_LENjmam_zp+LD_LENj).

Шумовая компонента add_uv{i] добавляется к сигналу возбуждения гармоник svfl. чтобы создать сигнал речевого возбуждения: for (i = О: i < FRM; i+*) svfi) *- add_uvfi]:

5.6.3.4 Синтез LPC

Сигнал возбуждения, полученный ранее, si/fi] (05i< FRM). подается на фильтр синтеза LPC. коэффициенты которого обновляются каждые 2.5 мс (=20 отсчетов).

Линейным интерполированием деквантованных LSPs предыдущего и текущего фрейма. Jspl[] I) и /sp2|) Н.получают 8 наборов интерполированного LSPs, Ispipi) []. for (/ = О: i < 8: for (j = 0:j < P; j**)

Ispipft)Ш – (2.0’n1.0yi6.0’fsp2[j} * i16.0-2.0’i-1.0)/16.04sp10}.

Для режима малой задержки, так как интервал декодирования сдвинут на LD_ LEN(= 20) отсчетов (2.5 мс). интерполяция LSPs выполнена для первых 17.5 мс интервала декодирования, показанного на рисунке 9. a LSPs текущего фрейма. /др2(). используется для последних 2.5 мс без интерполяции, for |7 = О: i < 7: for Q- 0; j < Р; j**)

fsppPJOl- (2.0’i*1.0yi4.0*lsp2{j) ♦ (14.0-2,0’

^1.0yi4.0tSf>1U}: for (j – 0;j < P. j**)

Ispipf7][j} = lsp2[j]:

40

ГОСТ Р 53556.2—2012

8 наборов интерполированных LSPs, []. преобразованы в коэффициенты линейного прогнозиро

вания. афаф[] []. соответственно.

Функция преобразования йо интервала 2.5 мс (20 отсчетов) фи/ътра синтеза LPC равна

НМ)

Хаф/iar (<](п]2л

4*0

(0 £ / < 8)

Выход фи/ътра синтеза LPC подан в постфильтр, описанный в Б.1.3.1. Выходной сигнал находится в диапазоне от -32768 до 32767.

5.7 Синтезатор неречевой компоненты

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

Синтезатор неречевой компоненты составлен из трех шагов, которые являются выделением окон неголосоеого сигнала возбуждения, фильтром синтеза LPC и работой постфильгра. Для неречевых сегментов используется схема VXC (CELP).

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

Определения констант

FRM:

LD_ LEN. w_celp_upp] w_ceip_downfi]. Р.

Интервал фрейма (-160).

Сдвиг интервала декодирования для режима малой задержки (=20). Окно из речевого фрейма в неречевой фрейм (0 £/< FRM ♦ LD_LEN). Окно из неречевого фрейма в речевой фрейм (0 £i< FRM * LD_LEN). Порядок LPC (=10).

Определегмя переменных

qRes pi Декодированный неречевой сигнал возбуждения, получвнньй как res (4 в 5.4.3 (0£/< FRM).

otd_qRes ftp. Последняя половина декодированного неречевого сигнала возбуждения предыдущего фрейма (0£r< FRMI2).

suvp]: Неречевой сигнал возбуждения по интервалу декодирования (0 £/< FRM).

vw2: Индекс VAJV текущего фрейма, полученный как VUV в потоке битое.

vw1: Индекс VAJV предыдущего фрейма.

Isp2[]: Деквантоеанные LSPs текущего фрейма, полученного как pLsp[j в 5.2.3.

Isp1[j: Д©квантованные LSPs предыдущего фрейма.

aipha2[}- Коэффициенты LPC. преобразованные из LSPs Isp2[],

afphaltf. Коэффиииенты LPC, конвертированные из LSPslsp1[],

5.7.3 Процесс синтеза

Сигнал неречевого воэбужде»мя в интеовале декодирования. suvtl. сгенерирован из декодиооеанмо-го сигнала неречевого возбуждения текущего фрейма. Q/?es(]. и последней половины декодированного сигнала неречевого возбуждения предыдущего фрейма. otd_qRes[]: for (i = О; i < FRU/2; /+♦) { suvp] – okijqResp]. suvp+FRM/2} – qResp]: old_qRes[i] = qResp+FRM/2);

}

Для режима малой задержки используется сигнал возбуждения сдвинутой версии выборок LD_ LSV(= 20): for (i = О: # < FRM/2-LD_LEN; t*+) { suvp] – oW_ qRes[i+LD_LEN}; suvp*FRM/2] = qResp*U>_LEN]: okf_qResp] – qResp+FRM/2]:

}

for (if = FRM/2-LD_LEN; i < FRW2: /+*) { suvp] = qResp-FRM/2+LD LEN]; suvp+FRM/2] – qResp*LD_LEN): okf_qRosp] – qResp*FRM/2]:

}

Сгенерированный сигнал неречевого возбуждения является реализуемым методом окна, чтобы подключаться к речевому фрейму. Рисунки 3 и 4 показывают форму окна для формы волны возбуждения, где VAJV переходит от неречевого к речевому и от речевого к неречевому, соответственно. Параметры на рисунке установлены как: TDJJP-30. TDJFLAT- 50. TD_ DOWN = 30. НМ_ DOWN = 60. НМ_ FLAT-50.

41

ГОСТ Р 53556.2—2012

HMJUP – 60. Эти окна для неречевого фрейма используются, только когда неречевой фрейм смежный с речевым или смешанным речевым фреймом. for(i – О: / < FRM-TD_UP-TD_FLAT; i++) w__c&p_up[i] = 0.0:

for(l= FRM-TD_UP-TD_FLAT: i < FRM-TD_FLAT; i++) w_c&p_up[i) = (fk>at)(>-FRM+TD_ UP* TD__FLAT)/(ftoat) TD_ UP: for (FRM-TDJFLAT; i < FRM+LDJLEN; i++) w_ce/p_upp] -1.0: for (i = 0;i< TDJFLAT; i++) w ceip_down[i] = 1.0:

for(i— TD__FLAT; i < TD_FLAT+TD_DOWN;i++) w_ceip_down[i] – (floai)(TD_FLAT+TD__DOWN-iy(flaat)TD_DOWN. for (i = TD_FLAT+TD_DOWN: i < FRM+LDJLEN; i++) w_ceip_downfi]=0.0:

Для режима нормальной задержки: if (vwl /= 0 && vuv2 О) { for (i – 0: i < FRM: i++) s_uvp] – O.Of:

}

else if (vuv1 !- 0 && vuv2 -= 0) { for (i – 0: i < FRM: i++) s_uvfi} *= w_celp_upp]:

}

else if (vuv1 —0&& vuv2!- 0) { for (i = 0: i < FRM: i++) s_uvp} *- w_celp_downp}

}

Для режима малой задержки позиция работы с окнами сдвинута выборками LD_ LEN: if (vuv1 /= 0 && vuv2 Is О) { for (i – 0: i < FRM; i++) s_uvp) – O.Of:

}

else if (vuv1!- 0 <£<£ vuv2 — 0) { for (i = 0: i < FRM: i++)

3_uvp] *« w_oefp_uf>p*LD_LEN]:

)

else if (vuv1 — 0 .&<£ vuv2!- 0) { for (i – 0: i < FRM: i++) s_uvfi] *= w celp_dowr[t+LD_LEN]

}

Рисунок 3 — Окно сжтеза для случая неречееой/речееой

42

ГОСТ Р 53556.2—2012

Голосовой фрейм Неголосовом фрейм

Первая половина неречевого сигнала возбуждения. suv[j] (0 5 / < FRM/2). подается в фильтр синтеза LPC

Н,(2) = -*-,

£аДОа/г1 tnjz‘”

№•0

где attain являются линейными прогнозирующими коэффициентами, преобразованными из декв аи-тованных LSPs предыдущего фрейма. IspU). Когда вторая половина неречевого сигнала возбуждения. suv р) [FRM/2H < FRM). подается в фильтр синтеза LPC. функция преобразования переключается в

Н2(*)= ——.

Xa/phair2 [л]г л

п«о

где alpha#] являются линейными прогнозирующими коэффициентами, преобразованными из двкваи-тоеанных LSPs текущего фрейма. &р2Ц.

Дпп режима малой задержки, так как интервал декодирование сдвинут на LD_ LENвыборок. нере»»е вой сигнал возбуждения, suvfi]{0йг< FRM/2-LD_LEN). подается в фильтр синтеза LPC H,(z). а неречевой сигнал возбуждения. (FRM/2 – LD_ LEN £/< FRM). подается в фильтр синтеза LPC Н^г).

Выход фи/ътра синтеза LPC подается в постфильтр, описанный в Б.1.3.2. Выходной сигнал находится в диапазоне от -32768 до 32767.

5.8 Декодер варьируемой скорости

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

Инструмент для декодирования переменной скорости с ядром HVXC.

Этот инструмент позволяет HVXC работать в потоках данных с переменной скоростью, где средняя битовая скорость уменьшена до 1.2—1.7 Кбит/сдля типичного речевого материала. Главная часть алгоритма составлена из «декодирования фонового шума», где только биты режима получают во время «режима фонового шума», и неречевой фрейм получают через определенный промежуток времени для генерации фонового шума.

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

Определения констант

BGN_INTVL: Максимальный интервал фонового шума (=8).

Определения переменных ktVUV: Решение УЛ/Утекущего фрейма.

pfBvLSPI: Вектор ранее переданного LSP.

prevLSP2. Вектор ранее переданного LSP прежде prevLSPI.

bgnCnt Счет последовательных фреймов «Фонового шума».

43

ГОСТ Р 53556.2—2012

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

idVUV— параметр, который имеет в результате решение VAJV и определенный как:

idVUV =

0 Непроизнесенная речь

1 Интервал фонового шума

2 Смешанная вокализованная речь

3 Вокализованная речь

Используя метод обнаружения фонового шума, кодирование с варьируемой скоростью выполняется на базе фиксированной битовой скорости 2.0 Кбит/с HVXC.

Таблица 64 — Распределение разрядов закодированных параметров для режима варьируемой битовой скорости

Pexira (ktVUV)

Фоноаим шуи {11

t/V(0)

UV {2». V (3)

V/UV

LSP

Возбуждение

2 бит/20 мс 0 бит/20 мс 0 бит/20 мс

2 бит/20 мс 18 бит/20 мс 8 бит/20 мс (только усиление)

2 бит/20 мс 18 бит/20 мс 20 бит/20 мс

(Основной тон и гармонические параметры спектра)

Совокупно

2 бит/20 мс 0.1 Кбит/с

28 бит/20 мс 1.4 Кбит/с

40 бит/20 мс Z0 Кбит/с

Для Смешанной вокализованной речи и Вокализованной речи (ktVUV = 2.3) используется тот же самый метод декодирования, как для режима фиксированной битовой скорости.

В декодере содержатся два набора параметров LSP. pnevLSPI и prevLSPl, где prevLSPI представляет ранее переданные параметры LSP. a prevLSPZ представляет ранее переданные параметры LSP прежде prevLSPI. Для фрейма Фонового шума (ktVUV = 1). декодер VXC используется тем же самым способом как для фрейма UV. но никакие параметры LSP не передаются. Сгенерированные линейной интерполяцией параметры LSP prevLSPI и prevLSP2. используются для синтеза LPC. и тот же самый индекс усиления предыдущего фрейма используется для генерации возбуждения декодирования VXC. Во время фрейма Фонового шума, через каждые (BGN_ INTVL ♦ 1) (-9) фреймов вставляется фрейм Не во кал изо ванный речевой (t/V). чтобы передать параметры фонового шуме. Этот фрейм UV может быть или не быть реальным иУфреймом начала речевых пакетов. Является ли фрейм реальным UV. оценивает переданный индекс усиления. Если индекс усиления меньше или равен индексу из предыдущего +2. то этот UV фрейм расценивается как фрейм Фонового шума, и поэтому ранее переданный вектор LSP(- prevLSPI) используется. чтобы сохранить гладкое изменение параметров LSP. иначе передаваемые е данное время LSPs используются как реальный UVфрейм. Индексы усиления сортируются согласно величинам. Если снова выбран режим Фоновый шум. то используют интерпогмрованные LSPs. использующие prevLSPI и prevLSP2.

И для фрейма Невокал изованной реч* и для Фонового шума {ktVUV=0.1) используется Гауссовский шум с единичной энергией для возбуждения декодирования VXC (вместо стохастического кодового вектора формы для декодирования VXC).

Рисунок S показывает пример. Предположим, что фрейм #0 и фрейм #1 являются Невокалиэованным речевым фреймом, а фрейм #2… фрейм #9 являются фреймом Фонового шума. Во время декодироватя фрейма #2… фрейма #9. prevLSPI и prevLSP2 установлены как: prevLSPI = LSP(1) иprevLSP2 – LSP(O) и вектор LSP фрейма # /. LSP (/) (2 й / £ 9). генерируется как

. pr#vLSP2K(2xSeH_WTVi.-2xi>prtCnt-1)+pr*vLSPlK(2xepnCnf + 1)

LSP[l) в 2 х BGH_INTVL ’

где BGN_ INTVL — интервал максимального фонового шума (=8). и bgnCnt — является счетчиком последовательных фреймов Фонового шума.

8 этом примере. 6gr>Cnf=0 для фрейма #2. bgnCnt-1 для фрейма #3…..bgnCnt-7 для фрейма #9.

Для индекса усиления декодирования VXC во время фрейма #2… фрейма #9 используется индекс усиле

44

ГОСТ Р 53556.2—2012

ния фрейма #1. Когда получены параметры фрейма #10. prevLSPI, и ptevLSPl обновляются как: ptBvLSPy – LSP[ 10) и prevLSP2 – LS (1). Для декодирования фрейма #10 сначала проверяется больше ли индекс усиления, чем значение индекса “фрейм #1 * 2~. Если больше, фрейм #10 декодируется как обычный UVфрейм: иначе он декодируется как фрейм Фонового шума, и вместо LSP(10) используется LSP( 1). в то время как полученный индекс усиления используется для обоих случаев.

UV UV BN BN BN BN BN BN BN ВЫ UV Фрейм | «о I *1 I 02 I «3 I 84 I *$ I 86 I *7 I 88 I «9 I *10 I

LSf\0} LSP(1) LSP( 10)

I l

peevLSP2 pntvLSPA

UV -потопocoвой фрейм:

BN – фрейм фонового шума

Рисунок 5 — Генерация параметров декодера для интервала фонового шума

5.9 Расширение режима варьируемой скорости HVXC

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

8 5.8 описан режим с варьируемой битовой скоростью, основанный на режиме 2.0 Кбит/с. Здесь описан режим с варьируемой битовой скоростью максимум 4.0 Кбит/с.

8 режиме с фиксированной битовой скоростью есть решение 2-битового VHJV, а именно:

VUV- 3: полностью речевой. VUV-2. смешанный речевой. VUV- 1: смешанный речевой. VW=0: неречевой.

Когда режимом работы является режим с переменной битовой скоростью. VUV= 1 указывает состояние фонового шума вместо смешанного речевого. Текущий операционный режим определяется “HVXCconfig ()’. и декодер знает, является ли это режимом переменной или фиксированной скорости и может понять значение VUV -1. В кодировании варьируемой скорости распределение разрядов меняется в зависимости от речевого/» юр о* юоого решения, и сохранение битовой скорости получают, главным образом, уменьшая распределение разрядов для сегмента невокалиэованной речи (VUV- 0). Когда выбран VUV-0. тогда проверяется. является ли сегмент реальным сегменом не вокализованной речи или сегментом фонового шума. Если он заявлен как фоновый шум. то VUV изменяется на 1. и распределение разрядов для фрейма дополнительно уменьшается. Во время режима фонового шума передаются только биты режима или фрейм обновления шума согласно изменению характеристик фонового шума. Используя этот режим варьируемой пспрпсти средняя битовая скпрлстк уиАньлцмтся до 56—Я5 % режима сфикгиропаммпи битовой ехпрп-

стью в зависимости от исходных элементов.

5.9.2 Определения Определения констант

NUM_SUBFY. Число подфреймое водном фрейме (=2).

NUM_SHAPE_L0: Число индекса книги шифров(=64).

BGNJNTVL: Интервал обновления фонового шума (=12).

Определения переменных

peevLSPI: Передажые параметры LSP.

pfBvLSP2. Переданные параметры LSP прежде prei-tSPf.

qLsp: LSP, который будет использоваться для операции декодирования текущего фрейма.

bgnlntvat Счетчик, который считает число последовательных фреймов фонового шума.

met. Случайно сгенерированное целочисленное значение между -3 и 3.

5.9.3 Полезная нагрузка передачи

8 зависимости от решения V1UV и результата обнаружения фонового шума используются полезные нагрузки передачи с четырьмя различными битовыми скоростями. Флажки VUV и UpdateFlag указывают тип передачи полезной нагрузки.

VUVявляется параметром, который содержит результат решения VfUV и определяется как:

0 Не вокализованная речь

1 Интервал фонового шума

2 Вокализованная речь 1

3 Вокализованная речь 2

45

ГОСТ Р 53556.2—2012

Чтобы определить является ли отмеченный “VUV-1 ” фрейм фреймом обновления шума, вводится параметр “UpdateFlag ”. UpdateFlag используется, только когда VUV-1.

)0 нефрейм обновления шума 1 фрейм обновления шума

Если UpdateFlag равно 0. фрейм не является фреймом обновления шума, и если UpdateFlag равно 1. фрейм является фреймом обновпемм шума. Первый фрейм режима фоновый шум всегда классифицирует* ся как фрейм обновления шума. Кроме того, если усиление или огибающая спектра фрейма фонового шума изменяются, вводится фрейм обновления шума.

В фрейме обновления шума подсчитывается среднее параметров LSP по последним 3 фреймам и кодируется как индексы LSP в кодере. Тем же самым способом подсчитывается среднее усиление Ceip по последним 4 фреймам (8 подфреймое) и кодируется как индекс усиления Cetp.

Во время интервала фонового шума (VUV-1), параметры LSPи параметры возбуждения посылают, только когда выбран шумовой фрейм обновления (UpdateFlag = 1). Выходные сигналы декодера для интервала фонового шума генерируются с использованием LSP и параметров возбуждения, переданные в шумовых фреймах обновления.

Если текущий фрейм или предыдущий фрейм является режимом «фоновый шум», другой режим в квантовании LSP запрещен в кодере, потому что параметры LSP не посылаются во время режима «фоновый шум», а межфреймовое кодирование невозможно.

Используя описанный выше метод обнаружения фонового шума, кодирование с варьируемой скоростью выполнено на базе HVXC фиксированной битовой скорости 4 Кбит/с. Битовая скорость в каждом режиме показана ниже.

Режим (VUV)

Фоиоеши шум (1)

UV(0)

V(2.3)

Флагобиоеленм

-0

Флаг обновления *1

Флагобновления VIUV Возбуждение LSP

2 бит/20 мс 1 бит/20 мс 0 бит/20 мс

2 бит/20 мс 1 бит/20 мс 18 бит/20 мс 4 бит/20мс (толью усиление)

2 бит/20 мс 0 бит/20 мс 18 бит/20 мс 20 бит/20 мс

2 бит/20 мс 0 бит/20 мс 26 бит/20 мс 52 бит/20 мс

Совокупно

3 бит/20 мс 0.15 Кбит/с

25 бит/20 мс 1.25 Кбит/с

40 бит/20 мс 2.0 Кбит/с

80 бит/20 мс 4.0 Кбит/с

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

В декодере речевой фрейм (VUV – 2.3) обработывается тем же самым способом, как в режиме с фиксированной битовой скоростью 4 Кбит/с. а неречевой фрейм (VUV- 0) обработывается тем же способом. как в режиме с фиксированной битовой скоростью 2.0 Кбит/с. Когда выбран режим фонового шума (VUV – 1). выходной сигнал декодера генерируется так же. как мевокализованный речевой в режиме с фиксированной битовой скоростью 2.0 Кбит/с. Параметры декодера для интервала обратного фонового шума генерируются при использовании параметров, переданных в шумовых фреймах обновления (VUV-1. UpdateFlag = 1)и иногда в пред шест еовующих неречевых фреймам (VUV-0). Ниже показано, как генерировать параметры декодера для интервала обратного фонового шума.

5.9.4.1 Декодирование LSP

8 декодере удерживаются два набора ранее переданных параметров LSP. prevLSPI и prevLSPl.

prevLSPI: переданные параметры LSP

prevLSP2: переданные прежде prevLSP^ параметры LSP

Режим фонового шума имеет место только после режима неречевой или фоновый шум. Если выбран режим фонового шума, параметры LSP передаются, только когда фрейм является шумовым фреймом обновления (UpdateFlag = 1). Если переданы новые параметры LSP. prevLSP1 колируется в prevLSP2. и недавно переданные LSPs копируются в prevLSPl независимо от решения VUV.

46

ГОСТ Р 53556.2—2012

Параметры LSP для каждого фрейма ео время режима фонового шума генерируются интерполяцией между pravLSPI и prevLSP2. используя уравнение

qLsp (г) является ьи LSP, который должен использоваться для операцж декодирования текущего фрейма. prevLsp 1 (/) является buLSPprevLSP1. prevLsp2 (/) является ьм LSPprevLSP2 (1 £/£10). В этом уравнении bgrUnt\/al представляет собой счетчик, который считает число последовательных фреймов фонового шума, и сбрасывается в 0 при приеме фрейма обновления фонового шума. BGNJNTVL (=12) является константой, а тд — случайно сгенерированное целочисленное значение между -3 и 3. Если счетчик bgntntoalдостигает BGNJNTVL. bgnlntvt устанавливается в BGNJNTVL*1. и если отношение, полученное из уравнения (7). меньше 0 или больше 1. значение md установливается в 0. и отношение пересчитывается.

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

Во время режима фонового шума индекс усиления (VX_gain {0]). переданный в шумовом фрейме обновления, используется для всех подфреймов, значения индекса Shape (VX_Shape 1 (0.1)) случайным образом сгенерированы между 0 и NUM_SHAPE_L0~A. Эти параметры возбуждения используются с интер-полироеатыми параметрами LSP. как описано ранее, чтобы генерировать сигналы режима фонового шума.

QLsp(i) = ratio previsp1(0 ♦ (1 – ratio) • prevLsp2{i)… i – 1..10.

(6)

где

(7)

47

ГОСТ Р 53556.2—2012

Приложение А (Справочное)

Инструменты кодера HVXC А.1 Краткий обзор инструментов кодера

Речевой веса при частоте дискретизации 6 кГц сформирован во фреймы с длиной и интервалом 256 и 160 отсчетов, соответствегио. Анализ LPC выполнен, используя windowed (обработанные методом окна) вход-ные данные по одному фрейму. Остаточные сигналы LPC вычисляется обратной фитырагаюй входных данных, используя параметры квантованного и интерпотрованиого LSP. Остаточные сигналы затем подаются в блок оценки величины шага и спектра, где огибающие спектра для остаточного LPC оцениваются тем же способом, что и в кодере МВЕ за исключением того, что используется только двухбитоеое решение V/UV на фрейм. Огибающая спектра для речевого сегмента, затем — вектор, квантованный со взвешеныой мерой искажению. Для неречевого сегмента выполняется поиск по замкнутому контуру для кодирования вектора возбуждения.

А2 Нормализация

Ait Описано* инструмента

Процесс нормализации составлен из трех операции, а имен ■ ю. ана/мэа LPC. квантованию параметров LSP. и обратной фильтрации.

AJ2.2 Процесс нормализации А.2.2.1 Анагмз LPC

Для каждого фрейма вычисляются коэффициенты LPC 10-го порядка, используя входные сип-агы Xommiki га. обработанные методом окна, методом автокорреляции.

A.222 Квантование LSP

Используется тот же семьи квантователь LSP как в узкополосных CELP.

Коэффициенты LPC сначала преобразованы в параметры пары Line Spectra/ Pair (LSP). Параметры LSP затем квантуются Vector Quantization (VO). В случае базового уровня есть два метода квантования LSPs. гак описано в разделе декодирования: двухступенчатый VO без межфреймового предсказания и комбинация VQ и ИЗ с межфреймоеым прогнозированном. В процессе ксдорования обе метода используются для квантования LSft. и один из них выбирается путем сравнения ошибок квантования. Ошибка квантования вычисляется как взвешенное евклидово paccTotMte.

В случав уровня расширения 10-мврный векторньм квантователь, у которого есть книга шифров на 8 битов, добавляется к основанию текущей схе*ы квангтоеателя LSP кода на 2.0 Кбит/с. Битовая скорость LSPs увеличена с 18 бит/20 мс до 26 бит/20 ыс.

Процесс кодирования базового уровня следующий.

Коэффициенты взвешивания (иг /Л равны:

/sp(0] + /sp(0) – /sp(0] (‘ = °)

= Isp {/] – Isp [/ – f + fsp [i + 1J – tsp [i ] <10 << np ~ 1>

_1_ 1

– tip|Np -2) 1.0 – ttplWp-1) (•= Ne– 1).

где Np — порядок анагмза LP. и Isp [] s — конвертированные LSPs.

w_tact = 1.:

for (i = 0:i< A: /+*) wfi] ‘= wjac fc

for (i = 4;i< 8: r*+) { w_fact *= .694: wpl ’= w_fact

}

for (i = 8: i < W:r**){ wjact *= .510: wfij *= w_fact

}

Квантизатор первой стадии — тот же для каждого метода квантования. LSPs квантованы при использовании векторного квантователя, и соответствующий индекс сохранен в LSP1. Чтобы выполнить отсроченнюе решение. множественные индексы сохранены как кандидаты на вторую стадию. Ошибка квантования в первой стаои егг1[] дается формулой

48

ГОСТ Р 53556.2—2012

©гг[л] = £ |{/5p|spTij – /sp_{W|r>][m][/lf – w[sp + r|j л = О,

где л — число векторе резбиежя. т является индексом векторе раэбиетя кандидата, sp — порядок стартового LSP гмо вектора разбиения и <йт является размерностью л-го вектора разбиежя.

Таблица А.1 — Порядок запуска и размерность вектора LSP первой стадии

Вектор разбиения: n

Порядок стартового LSP■ sp

Размерность o-ro вектора разбееяия: dsn

0

0

10

Во второй стадии вышеупомянутые два метода квантования, которые являются векторным квантователем с двумя раэбиешяьм. применены соответствежо. Потные ошибки квантования во второй стадии подсчитываются для всех комбинаций кандидатов первой стадии и кандидатов второй стадии и выбирается гот. у которого минимальная ошибка. В результате определяются индексы первой стадю* и ооответствуюиив индексы, и знаки для второй стадии сохраняются в LSPZ и LSP3- Флажок, который указывает выбрамый метод квантования, также сохраняется в i.SP4. Ошибка квантования во второй стадии err2_totai дается выражением:

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

err2Jotal = егr2f0] + вп2{1}

вгг2[п] = £ j(tep_res[sp + t| – 5ign[n) • <У_М[л] |гл][г|)2 iv[sp + /]j п = 0.1

lsp_r&s[sp + »7 = lsp{sp * if- isp_fkstfsp + Q.

где tsp_first[] является еантоеамым вектором LSP первой стадии, л — число вектора разбиения л? является индексом вектора разбиежя кандидата, sp — порядок стартового LSP л-го вектора разбиения и dm является размерностью л-го вектора разбиения.

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

en2_totai = егт2}0] + егг2(1]

егг2[п] = £ |(/sp_pres[sp+»J – srpnfn] pd_tbl[n] [лтЦ/!)2 • w(sp + r’|l л = 0.1

fcp_proc[cp – !орЦер * >]

{(1 – /аto_pred>cf) – lsp_fks^sp + i] + rabo_prodd – /sp_prBvrous[sp * j}}, где tsp_drst(J является квантора шм вектором LSP первой стадии, л — число вектора разбиения, т является индексом вектора разбиения кандидата, sp — порядок стартового LSP л-го вектора разбиения и dm является размерностью л-го вектора разбиения и ratio_pcsdtcl = 0.7.

Таблица А.2 — Порядок запуска и размерность вектора LSP второй стадии

Вектор разбиения: п

Порядок стартового LSP- sp

Размерность оно вектора разбиения: dm

0

0

5

1

5

5

Квантованные LSPs lsp_curroot(] стабилизируются, чтобы гарантировать стабильность фильтра синтеза LPC. который получен из квантованных LSPs. Квантованные LSPs упорядочены в порядке возрастания, имея минимальное расстояние между смежным коэффициентам*. for (i = 0:i<LPCORDER:i*+){

if (lsp_currerrt{i] < тт_дар) )sp_CLrmnt[i) = тп_дзр.

}

for (i = 0: i < LPCORDER-1: (++) { if (tsp_curmnt[H-1}-tsp_current[i} < тю_дар) { lsp_currQnt[h-1) = Isp current(i^*fmn pap.

}

49

ГОСТ Р 53556.2—2012

}

for (i – ft / < LPCORDER: i**) { if (lsp_currentfi] > 1-min_gap) tsp_currentp} = 1—min gap.

}

forfi- LPCORDER-1: i>0:h-){ if (lsp_ajrrenift}-isp_cufT&ntfi-1} < mm_gap) { lsp_currentfi-1] = lsp_curref>t[i}-min_gap:

}

}

for (i * Ct i < LPCORDER; /++tf qLspp] = tsp_curontp}:

}

где гтт_gap = 4.0/256.0

После промесса кодирования LSP текущие LSPs должны быть сохранены в памяти, так как они используются для предсказания в следующем фрейме. for (i-О: i< LPCORDER *+/ { tsp_pfWKXJs[i] = tsp_currentfi};

Сохраненные LSPs lap_prevkxjs //должны быть иющиалиэированы как описано ниже, когда весь кодер тидиалиэи ровен.

for (i – 0t I < LPCORDER: i**) { tspjxwiousf] = (M) / (LPCORDER*1);

}

Третья стадия для уровня расим ре кия (4.0 и 3.7 Кбит/с) имеет 10-мерную струхгуру VQ. Ошибка между версией квантования базового уровня и оригинальной версией квантуется, и соответствующий индекс сохраняется в LSP5

После квантования LSP5 уровня расширения дСдо(] снова стабилизируются. for (i – ft г <

2:i**)

{

if (qLspp* 1]-qLsp{>}<

0)

{

tmp = qLspp *

4

qispfi * Vs

qLspfip

qLspfi] = tmp.

}

if (qLspp *1}- qLspfi} < THRSLD_L)

{

qLspp *1J- qLspfi} * THRSLD_L

}

}

for (i = 2: i < 6: /++>

{

if (qLspp *1)- qLspfi} < THRSLD_U)

{

tmp = (qLspp * 1] * qLspfi}) / 2,0: qLspfi * 1} – trrv * THRSLD_M/2.0: qLspfi} -tmp- THRSLD_M / 2.0:

)

}

for (i-6: i< LPCORDER- 1:i*+)

{

И (qLspp +1}- qLsp[i] < 0)

{

tmp = qLspfi * 1J: qLspfi + r) = qLspp}: qLspfi]* Imp:

50

ГОСТ Р 53556.2—2012

}

it (qLspfi *1}- qLspfi] < THRSLO_H)

{

qLspffl = qLspfi + 1)- THRSLD_hk

}

}

где THRSLD_L = 0.020. THRSLD_M = 0.020 и THRSLD_H = 0.020

Таблица A.3 — Конфигурация многоступенчатого LSP VO

1-й этап

10 LSP VO

5 битое

2-й этап

(5+5) LSP VQ

(7+5+1) битое

3-й этап

10 LSP VQ

8 битое

AJ-2.3 Фильтр инверсии LPC

LSP5 преобразованы к альфа-параметрам. чтобы сфорамровать. фигьтр тюорсии LPC в прямой форме. Остаточные сигнат LPC затем вычисляются путем тверской фильтраты входного сигнала. Только квантованный LPC текущего фрейма используется без какой-либо интерполяции для инверсной фильтрации, чтобы выделить остаточный сигнал LPC. Остато-кчый сигнал тогда является 256 точечной окомной обработкой Хэмминга, чтобы вымелить спектр мощности. Функция преобразования инверсного фильтра LPC такова

*<*>»£ 0а„г’а.

где Я» 10 и 0,3= 1. Коэффициенты LPCa„ остаются неизменными во время вычисления остаточных отсчетов длины одного фрейма (256 отсчетов}.

А.З Оценка шага

А.3.1 Описание инструмента

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

А.3.2 Процесс оценки шага

В кодер© режима малой задержки треп»* (отслеживание) шага проводится, используя только текущие, и прошлые фреймы, чтобы сохранить задвржху кодера 26 мс. Когда используется режим нормальной задержки, отслеживание шага использует один предстоящий фрейм и задержка кодера становится 46 мс.

А.Э.Э Трекинг шага

Для режима малой задержки HVXC алгоритм прослеживания шага »в использует значение шага будущего (предвиденью) фрейма. Алгоритм прослеживания шага работает, основываясь на надежном шаге “гЫРсЬГ, реше-ми ViUV предыдущего фрейма “prevVUV’, и параметрах прошлых/текущих шагов.

Основная операция состоит в следующем:

Коша prevVUV) = 0 и гЫРс/г! = 0. шаг прослеживается на основе rbIPch. Однако, у значенье шага предыдущего фрейма более высокий приоритет.

Коша prevVUV = 0 и /tWPcW = 0. шаг прослеживается на основе гЫРсЬ.

Когда prevVUV) = 0 и rbIPch = 0. трекинг проводится на основе шага предыдущего фрейма.

Коша prevVUV = 0 и rbIPch = 0. просто используется параметр текущего шага.

prevVUV) = 0 представляет речевой, и prevVUV = 0 представляет неречевой статус, соответствен ю.

В соответстам* с этой стратегией, трепе* шага выполняется без какого-либо заглядывания вперед. Исходный текст программы трекимв шага показан ниже.

typedef struct

i

Float pitch: /* pitch V

Float prvb. f 1st peak devidad by 2nd peak of autocorrelation V

Float rOr Г 1st peak of autocorrelation – modified V

Float rawROr/’ 1st peak of autocorrelation – raw V

Float rawPrtch: /* pkch with no tracking V

}

NgbPrm:

static int NearPitefy

float pO.

51

ГОСТ Р 53556.2—2012

float р1. float ratio)

{

tatum((pO * (1.0 – ratio) < p1) &&(p1<p0‘ (1.0 * ratio))):

}

static float TrackingPrtchf

NgbPrm ’cmtPrm. /• currant parameter V

NgbPrm ’prevPrm. Г previous parameter V

ini *scanbmA. Г Number of autocorrelation peaks V

Яоа! ‘ac. /* Autocorrelation V

ini peakPos[PEAKMAX}. /* Position of autocorrelation peaks V int prevVUV) P VAJV of ptrevious frame V {

float kmete: float pich; int к

static float prevflawp* 0.0:

int stO. st1. stZ

float stdPcb:

static float rbIPch = 0.0:

static float prevRbIPch = 0.0;

rbIPch = global_pitch:

if (prevVUV /= 0 && rbIPch f= 0.0)

{

stO = Ambiguoos(prevPrm—>pilcb. rbIPch,

0.11):

st1 = Ambiguous(cmtPrm->pitcb. rtkPcft,

0.11):

if(!(stOtst1))

{

if (NearPitch(cmtPrm->pitch. prevPrm->pitcb. 0.2)) pitch = cmtPrm->pitch:

else 9 (NearPrtch(cm(Pnn->pitch. tbiPcb. 0.2)) pitch = cmtPrm—>pitch:

else 9 (NearPitch(prevPrm->pitch. rbIPch. 0.2))

(

if (cmtPtm->tOr > prevPrm->rOr && cmtPrm->pro0 > prevPrm->prob)

pitch = cmtPm}->pitch: else

pitch = prevPrm->pilch;

}

else

pitch = GetStdPch2EJms(cmtPrm. prevPrm. scanlirrA peakPos. ac):

}

else if (fstO)

{

if (NearPitch(pfevPrm->pttch, cmtPmr->pitch.

0.2))

pitch = cmtPrm->pitch: else i ((gpMax * 1.2 > cmtPrm->p9ch) &&

NearPitch(prevPrm->fawPrtch. cmtPrm->pitch.

0.2))

pitch = cmtPr7Tj->prfoh: else

pitch = prevPrm->pitch:

}

elseiffisll)

{

52

ГОСТ Р 53556.2—2012

if ((cmtPrm->f9wPilch t= cmtPrm->pitch) ДД NearPgch(crntPrm->rawP*ch. pr9vPrm->rawPitch.

0.2))

pilch = cmlPrm->rawPitch; else

pitch = cmtPrm->pitch:

}

else

{

if (NearPitch(ptevPrm->pttch, cmtPrm->p4ch.

0.2))

pilch = cmtPrm->pitch: else

pitch = rblPch:

}

}

else i(pfevVUV rbtPch != 0.0)

{

st1 = Ambtguous^CJT7lPrm—>pitch. rblPch.

0.11);

H(!st1)

pitch = cmtPrm->pitch: else

pitch = rblPch:

}

else * (prevVUV 1= 0 && rblPch = 0.0)

{

st1 = Ambiguous(cmtPrm->pitch. prevPrm->pitch.

0.11):

#(!st1)

pitch = GetStdPch2EIms(cmtPrm. prevPrm. scanlimL peakPos. ac): else {

if (prevPrm->fOr < ui*Puii->rOr) pitch = cmtPrm->pitch: else

pitch = pmvPrm—>pitch-

}

}

else

pitch = cmtPrm->pitch. cmtPrm->pitch = pitch; prevRblPch = rblPch: prevRawp = pitch: retum(pitch):

}

A.4 Извлечение величин гармоник A.4.1 Описание инструмента

Извлечение величин гармоник состоит из двух шагов: поиск шага и оценка огибающей спектра. Операция для каждого шага описана маке.

А.4.2 Процесс извлечения величин гармоник А.4.2.1 Поиск шага

Используя целочислежую задержку шага разомкнутого докла. оценивается дробное значение задержки шага. Размер шага фракции равен 0.25. Это выполненяется путем минимизации ошибки между синтезируемым спектром и исходным спектром. Здесь одновременно оцениваются значение задержки шага и величоы тармо-мес спектра. Оцениваемое значение задержки шага. pcft. передается в декодер как Prtcft.

РЛсЬ – (irtf) (рсЛ – 20.0)

А.4.2-2 Оценка огибающей спектра

Чтобы получить исходный спектр к остаточным сигналам LPC применяется ОРТ 256 точек. Используя исходный спектр, производится определение огибающей спектра. Огибающая спектра — это ряд вели» ее i спектра.

53

ГОСТ Р 53556.2—2012

оцениваемых для каждой гармоники. Эта оценка величин выполняется вычислением оптимальной амплитуда Ат. ислогъзуя предопределенную базисную функцию £(у)и исходный спектр ХУ). Пусть ат и Ьт будут индексам коэффициента DTS нижней и верхней границы т-й полосы, соответсгаенно. охватывая полосу m-й гармони**. Ошибка оценки амплитуды е определяется как

– ММ!

Решение

дает

N

Это значение определено как спектральная велигмпа. Базисная функция Е (J) может быть получена DFT окна Хешмчга 256 точек.

А.5 Перцепционное взвешивание

А.5.1 Описание инструмента

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

аЛаяЛГж-a.S« ш**-‘

где могли использоваться А = 0.9; В = 0.4. В этом нмструменте также вычисляется частотная характеристика фильтра синтеза LPC – /i{z) так. чтобы ее можно было включить

В этом инструменте да мелена частотная характеристика w{zy7{z) и выведена как массам ‘per_wetght. который может быть использован как диагональные компоненты матриц взвешивания WH.

А.6 Кодер гармоник №

А.6.1 Описание инструмента

Процесс кодирования гармонюс VQ состоит из двух шагов: преобразование размерности и квантование векторов огибающей спектра. Операции каждого шага приведет ниже.

А.6.2 Процесс кодирования

А.6.2.1 Конвертер размерности

Коли«ство точек, которые составляют огибающую спектра, изменяется в зависимости от вешчюг шага, так как огибающая спектра является набором оценок величин каждой гармоники. Число гармоник равно приблизительно от 9 до 70. Чтобы аекторно квантовать огибающую спектра, кодер должен преобразовать их в постоянное число для VO фиксированной размерности. Для преобразования частоты взятия выборки используется интерполяция с ограниченной полосой, чтобы получить спектральные векторы фиксированной размерности. Число точек. которые представляют форму огибающей спектра, должно быть изменено, не изменяя ее форму. С этой цегъю используется конвертер размерности для огибающей спектра, состоящей из комби надои низкочастотного фильтра и линейного интерполятора 1-го порнока. Для 8-кратной передиофетиэацни первой стадии используется низкополотый фигътр FIR с 7 наборами коэффициентов: каждый набор состоит из 6 коэффициентов. 7 наборов коэффициентов фильтра получат группировкой каждых в коэффициентов из endowed sine, coe/(i]. со смещениями от 1 до 7, где

сое/И*

мл я(1 – 32)/8 х{1 – 32^8

(0.5 — 0.5 сое 2я i/64)

0S/S64

54

ГОСТ Р 53556.2—2012

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

Во второй стадии передискретизации применяется линейная интерполяция 1-го порядка, чтобы получить необходимее точки выхода. Таким образом, мы получаем спектральные векторы фиксированной размерности (=44).

А.6-2-2 Квантование вектора

Спектральный вектор фиксированной размерности (= 44) затем геантуется. В базовом уровне используется двухступенчатая схема векторного квантора ыя для спектральной форкы совместно со асаляргьш квантователем для усиления. Мера взвешенного искажения О используется для поиска в ю-ыге шифров как формы, так и усиления.

где х — исходный вектор, в, — выход ю-ыги шифров Special Envelope (SE) s/iapel. s2 — выход SE shape2 омги шифров, ид — выход книги шифров усиления SE. Соответствующие индексы обозначены как SE_shape 1, SE_shape2 и SE_да«п. соответственно. Размерность книг шифров формы фиксируется (=44). Диагональные компоненты матриц Н и W являются ветчтаыи частотной характеристмси фильтра оытеза LPC и перцепционного фильтра вэвешиаатя. соответственно. Для уровня расширения к основатю квантизатора базового уровня добавлены дополнительные векторные квантизаторы. Режим 2.0 Кбит/с использует только квантизаторы базового уровня.

Для режима 4.0 Кбит/с ввличиш квантованных гармоник с фиксированной размерностью (=44) в базовом уровне сначала преобразуются к размерности исходного вектора гармотк. которым изменяется в зависимости от величию шага. Вычисляется различие между квантованным (с восстановлетой размерностью вектором гэрмонмс) и исходным вектором гармоник. Это различие затем квантуется схемой VQ с разбиением, составленной из четырех векторных квантователей в уровне расширения. Соответствующие индексы — SE_shape3. SE_shape4. SE_shape5 и SE_shape6.

Индекс SE_shape6 не используется, когда выбран режим 3.7 Кбш/с.

А.7 Решение VIUV

АЛЛ Описание инструмента

Решение VIUV принимается каждым фреймом 20 мс. Решение принимается на основе: подобия формы синтезируемого спектра и исходного спектра, мощности сигнала, максимальной автокорреляции остэтотых сигналов LPC. нормэ/мэованюх остатотой моивюстью сигнала и топом переходов через нулевого.

А.72 Процесс кодирования

Решете V/UV составлено из трех разгмчых режимов, т. е. неречевого, смешан юго речевого, и полностью

речевого.

Чтобы отослать информацию этих трех режимов, используются два бита для VIUV. Во-первых, нужно решить. неречевой гм текущий фрейм. Когда это решение речевой, тогда оценивается сила звучания, исходя из значения нормализованного максимального пика автокорреляции остаточного сигнала LPC. Обозначим значение Юг.

Ниже показано правило принятия решения:

Когда первым решением является неречевой VIUV = 0 Когда первым решением является речевой VIUV – 1

VIUV = 2 V/UV- 3

для Юг <7X2 для ТИ2 <= /0г < 7Н1 для 7W1 <= /От

Неречевой

Смешан ый речевой 1 Смешан ый речевой 2 Полностью речевой

А.8 Кодер временного домена А.8.1 Описание инструмента

Когда речевой сегмент является неголосоеьм. используется алгоритм Vector Exatabon Coding {VXC}. Работа VXC огмеана ниже.

А.8.2 Процесс кодирования

Сначала выполняется анализ LPC. а затем коэффициенты LPC (а) преобразуются а параметры LSP тем же самым способом, как в речевом случае. Параметры LSP квантуются, и квантованное LSPs преобразуются в

коэффициенты LPC (а).

Перцепциото взвешетый фильтр синтезе LPC – – Щг) выражен как:

Н(2)=Л(г) Щг).

где А(г) — функция преобразования фильтра синтеза LPC. и W(z) является пврцепционно взвешенным фильтром, полуголым из коэффициентов LPC.

55

ГОСТ Р 53556.2—2012

Пусть *ж (л) будет перцепциомно взвешен ■ ым вхсоным сигналом. Вы-мтая отклик на нулевой ввод г(п) из жф (л), получаем опорный сигнал. г(л) для процедуры анатза мороз синтез VXC. Векторы оптимальном формы и усиления разыскиваются с использоеашем меры искажения Е:

Е = Л* Ил) – 9 х syn(n))2.

где syn(n) является реакцией нулевого состояния Щг). управляемого вводом возбуждения только вектором формы s(n). которым является выходом книги шифров VX_sftape. Здесь д — это усиление, которое является выводом ю-мги шифров VX_дэп. N является векторной размерностью книги шифров Wf_shape.

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

1. Пои» в(л). которое максимкз»фует

„ л-Vг(п) х syn{n) ES–■ =”

2. Поиск д, которое минимизирует

= -9?-

где

*.0*f <“)* ДУ”(“) 9nt «-V syn(mf

Ошибка квантователя е(л) подсчитывается как:

е(л) = г (л) – g х syn(n)

Когда битовая скорость равна 4 Кбит/с. используется еще одна стадия для кванторами неголосовых сег-ментов, и е(л) используется как опорный ввод для VQ второй стазы.

Работа VQ второй стадии такая же как работа VO первой стадии.

Кодер 2.0 Кбит/с испогъзует книги шифров формы на б битов и усиленыя на 4 бита двоичного для неречевого возбуждения каждые 10 мс. Соответствующие индексы — VX_sftape [г]. УХ дат [i] (/ = 0.1). Схема 4.0 (Шит/с добавляет книги шифров для формы на 5 битов и усиления на 3 бита для каждых 5 мс внизу текущего квантователя. Соответствующими индексами являются — УХ_зЛаре2 [i). VX_gain2 (ij (i = 0.1.2.3). Режим 3.7 Кбит/с макет использовать ту же самую процедуру кодирования как режим 4.0 Кбит/с. хотя VX_s/>арв2 [3] и VX gatnl [Э) ыв используются в декодере режима 3.7 Кбиг/с

Таблица А.4 — Конфигурация книг шифров VXC

1- й этап (60-мерная 6 битовая форма * 4 битовое усилечге ) х 2

2- й этап (40-мерная 5 битовая форма + 3 битовое усиление) х 4

А.9 Кодер варьируемой скорости

Здесь описан инструмент для кодирования варьируемой скорости с ядром HVXC. Данный инструмент позволяет HVXC работать при изменяющихся битовых скоростях. Главная часть алгоритма составлена из «обнаружения интервала фонового шума», где передаются тогъко биты режима во время «режима фонового шума», и неречевой фрейм вставляется с определенньы промежутком времени, чтобы послать параметры для генералы фонового шума.

В алгоритме кодироса мл трекер (следящая система) мш «мольного уровня имеет временный минимагъ-ный уровень, чтобы корректировать пороговое экачемге. по которому прмымается решение о том. является гы входной сегмент речевым.

Трекинг минимального уровня

Параметры определены следующим образом: lev. r.m.s~ речевого фрейма: vCont: число непрерывных голосовых фреймов: cdlev. значение кандидата минимального уровня: ptevtev. гтл. предыдущего фрейма:

gmlSetState число фреймов, в которых установлено значение кандидата.

56

ГОСТ Р 53556.2—2012

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

gmh минимальный уровень.

Минимальный уровень отслеживается согласно алгоритму, который показан ниже.

И (vCont > 4)

{

cdLev = 0.0: gmISetState = О: gmIResetState

}

else if (lev <

MIN_GML)

{

‘gmt = MIN_GUL gmIResetState = 0: gmISetState =

0:

}

else if Ct/mi > lev)

{

“gml = lev: gmIResetState = 0: gmISetState –

a

}

else if ((lev<500.0 && cdLev ‘ 0.7<Xlev && tev<cdLev * 1.30) || lev<100.0)

{

it (gmlSetSlats > 6)

{

*gmf = lev: gmIResetState

-0:

gmISetState =

Or

;

else

i

cdLev = lev: gmIResetState

-0:

gmISetState**:

}

i

else if (Qev<500.0 && prevtev * 0.70<Jev && lev<prevLev * 1.30) || lev<100.0)

{

cdLev = lev: c = 0:

gmISetStat

e**:

}

else H (gmIResetState >40)

{

‘grrt = MIN_GKtj gmIResetState = 0: gmISetState =

Or

}

57

ГОСТ Р 53556.2—2012

else

{

cdtev = 0.0: gm/SetState = О: gmIReset State**

}

Как показано вькые. мн «мальньм уровень удерживается в течение соответствующего промежутка време-км и обновляется. Мижмальньы урооотж всегда устанавтмвается выше, чем предопределенное значение MIN_GML Обнаружение фонового шума, основа!кос на миммальном уровне Справочный уровень refLev оъгмсляется как

rgfLev -Ах max(fev. retLev) + <1.0 – А) х min(tev. refLev) (А.1)

Обичю А устанавливается в 0.75. Обнаружение фонового шума выполняется используя refLevei. полученное из уравнения (А.1).

Для фреймов, где пр*в ведается решение «речевой»: d (refLev < в ‘gmf <SS contV<2) ( idVUV = 1;

}

Для фреймов, где прижмэется решение «неречевой»: if (refLev < В *gml) {Г condition—1 У if (bgnCnt < 3) { bgnCnt**:

}

else {

d (bgn/nM < B) { idVUV-1: bgnlntvf++;

;

else { bgnlntvt^O:

}

}

}

else {

bgnCnt=0:

}

где 8 — константа. В этом случае устанавливаем В = 2.0.

Каждой параметр определен мгже. countV: число последователышх речевых фреймов: bgnCnt: число фреймов, которое удовлетворяет условие 1; bgnlntvf. число фреймов, где объявлен режим «фоновым шум»: idVUV: — параметр, результат которого решение VIUV. определенный как

О Невокализованная речь

idVUV = 1 Интервал фонового шума

2 Смешенная вокализованная речь

3 Вокализоважая речь

Есть* текущий фрейм объявлен как «Речевой», производится проверка, был ли предыдущий фрейм тоже речевой. Если режим предыдущего фрейма речевой, режим фонового шума не выбирается, иначе выбирается режим фонового шума.

Есгм текущий фрейм, заявлен как «Неречевой», режим фонового шума выбирается только после того, как условие 1 удовлетворено для четырех последовательшх фреймов. Когда режим фонового шума выбран для N последовательных фреймов, режим последнего фрейма заменяется режимом «Неречевой», чтобы передать речевые параметры, которые представляют характеристики времени изменения фонового шума.

В этот момент N устанавтмвается в 9.

Кодирование с переменной скоростью

Испогьзуя огмсанный выше метод обнаружения фонового шума, выполненяется кодирование с варьируемой скоростью на базе HVXC с фиксированной битовой асоростью 2.0 Кбит/с.

56

ГОСТ Р 53556.2—2012

Таблица А.5 — Распределение разрядов закодированных параметров для режима варьируемой битовой скорости

Режим (irfVUV)

•омоеми 1В)гм (1)

UVT<H

MVW. У»Э>

VfUV

2 бит/20 мс

2 бит/20 мс

2 бит/20 мс

LSP

0 бит/20 мс

18 бит/20 мс

18 бит/20 мс

Возбуждение

0 бит/20 мс

8 бит/20 мс (только усиление)

20 бит/20 мс

Совокупно

2 бит/20 мс 0.1 Кбит/с

28 бит/20 мс 1.4 Кбит/с

40 бит/20 мс 2.0 Кбит/с

Есгм режим текущего фрейма ит предыдущего фрейма — «Фоновый шум», другой режим квантования LSP запрещается в кодере, потому что параметры LSP не передаются во время режима «Фоновым шум» и межфрей-мовов кодирование невозможно.

А.10 Расширение кодера с варьируемой скоростью HVXC

В А.9 описана операция кодера режима варьируемой скорости максимом на 2.0 Кбит/с. Здесь описан одт пример реализации кодера режима варьируемой скорости HVXC максимом на 4.0 Кбит/с. По существу может использоваться любой вид алгоритма выбора решения фоноеьы шум/неречевой. Изменение уровня сигнала и огибающей спектра используются, чтобы обнаружить интервал фонового шума из неречевых фреймов Во время шумового интервала предполагается, что уровень сигнала и форма огибающей спектра устойчивы. Характеристика зарегистрированной вели» м 1ы в квадрате в низкочастотном диапазоне огибающей спектра подсчитывается из коэффициентов квпстра LPC. Характеристика зарегистрирооо! ■ юн величие ы в квадрате текущего фрейма срав-►меается со средним зарегистрирован ой ветчины в квадрате нвсколымх предыдущих фреймов. Ест разните мало, предполагается, что сигнал устойчив. Когда эти параметры показывают что состояние сигнала достаточно стабильно, фрейм классифнщируется как «интервал фонового шума». Ест характеристика сигнала изменяется в определенном диапазоне, предполагается, что характеристика фонового шума изменилась, и передается фрейм обновления шума. Если характеристика сигнала изменилась больше чем заданный диапазон, то предполагается. что сигнал является нееокалиэоеанной ретю.

А.10.1 Определения

stFfag: Флажок стабильности сигнала

bgnCnt Счетчик фонового шума

Вдп/пМ: Счете* интервала фонового шума

UpdateFfag”. Флажок обновления фонового шума

А.10.2 Вычисление RUC

Сначала вычисляется RMC входного сигнала з(). чтобы получить минимальный уровень сигнала (mtn_/mc). Ест величина RMC меньше, чем предопределенное «нэчение. которое является наименьшим возможным речевым уровнем, и отклонения значения RMC нескольких фреймов находятся а определенном диапазоне, то иемнмальньм уровень обновляется, используя обнаруженное значение RMC и текущее mxwmc. Текущее знаю мне RMC ‘/тле* затем делится на текущее min_m>c. чтобы получить ееличену ‘rate*.

ratio s ms .

ГТХП_/ТП5

Это эначенме используется для обнаружения стабильности сигнала, как описано в А.10.4.

А.10.3 Сравнение спектра

Огибающая спектра рассчитывается, используя коэффициенты л темного предсказания (LP). Коэффши-енггы LP преобразуются в параметры кепстра Сс []. Исходя из параметров квпстра характеристика зарегистрированной ветчины в квадрате 4r?|Hi{e#a)p вычисляется как

I ” **о

Средний уровень каждого диапазона частот в л-м фрейме вычисляется кая

logО = m|Ht (e’“lf<fU = £

и

m-1

г = 0… 3

59

ГОСТ Р 53556.2—2012

Здесь о ширина полосы (=500 Гц). и i — «испо полос, где вычислен** 4 полосы между 0 и 2 кГц. Исходя из полученных значений за регистра рооа ■ юй величны а квадрате для последних 4 фреймов рассчитываются усредненные значения для каждой полосы как

4

eve Ampin. 0 s 4* X ЮдА/пр(л- /. t).

j-1

Испогьзуя эти уравнения. различие “т*Г между текущим уровнем и усредненным уровнем для каждого даапазона частот # вычисляются как показано ниже

wdrf = |=1 £ (1одД/лр(л. г) – eveAmpfn. i))2 .

V 4/-e

А. 10.4 Обнаружение стабильности сигнала

Исходя из комбинации ratio и их*/ рассчитывается сигнал флажка стабильности “sffiag”, у которого есть следующие 3 состояния. Естественно, чем меньше эти переменные. тем более стабильно состояние сигнала.

stFlag =

0 Почти стабигъный

1 Не стабильный

2 Более стаби/ъный

А.10.5 Обнаружение фонового шума

В соответствии с переменной stFtag и решением VIUV обнаруживается фоноеьм шум. Блок-схема показана на рис. А1. Когда решением VIUV является речевой {VUV = 2.3), фрейм клэссифидоруется как речевой независимо от значения stFlag. Когда в неречевом интервале обнаруживается фоновый шум {VUV = 0). VUV устанавливается в 1. Когда параметры фонового шума должны быть обновлены. *UpdateFiag* устанавливается а 1. Чтобы обеспечить устойчивую работу алгоритма обнаружено? фонового шума, введены пере мои то. счетчик фонового шума (bgnCnf) и счетчик интервала фонового шума (б^тФМ). BGN_CNT и BGN_NTVL — предопределенные константы.

А.10.6 Решение о принятых параметрах

VUV — параметр содержит реэутътат решения VJUV и определен как:

0 Невокалиэованная речь

1 Интервал фонового шума

VW = 2 Вокализованная речь 1

3 Вокализованная ре^н 2

Чтобы укятатк является пи фрейм, мя(жмрпвяьмм кяк “VIIV = 1’* фреймом обновления шумя, введен параметр “UpdatsFiag”. UpdateFlag ниже испогъзувтся. только когда VUV = 1.

|0 нефрейм обновления шуме UpoateFtag = ^ фрейм обновления шума

В фрейме обновления шума вычисляется параметры усредненного LSP и Саф Gain.

Необработанные LSPs усреднены по последним 3 фреймам

awteplnHiJs-i £ LsPlrt-ЛМ. г“1.-~ЛР.

3/-о

где av&Lsp{n] [] обозначает усрешенное LSP а п-м фрейме и Lsp(n] Ц обозначает необработанный LSP в л-м фрейме. NP представляет собой порядок LSP. avetspjn] Q является квантованным и закодированным, где кодирование LSP другим режимом запрещено.

Усреднены усиления необработанных Сеф по последним 4 фреймам (8 подфреймам).

а*еват [л) = -g- £ £ Gam (л – yj (ft).

0 /-14-0

где эиебаФ {nj является усредненным усилением Сеф в л-м фрейме, a Gain(nj {*] — необработанное усиление Сеф а л-м фрейме и к-м подфрейме. Усредоенное усиление Сеф квантовано и закодировано тем же самым способом, как обычное усиление Сеф.

Согласию VUV. передаются следующие параметры.

60

ГОСТ Р 53556.2—2012

Таблица А.6 — Закодированные параметры для режима варьируемой скорости на 4 Кбит/с

Реаам (VUV0

®<1)

Ш/(0)

Ц2.3)

Флагобмоаления *0

Фпагобновпе>мя *1

VIUV

Флагобновлвния LSP Возбуждение

2 бит/20 мс 1 бит/20 мс 0 бит/20 мс

2 бит/20 мс 1 бит/20 МС 16 бит/20 мс 4 6ит/20мс (только усиленно)

2 бит/20 мс 0 бит/20 мс 18 бит/20 мс 20 бит/20 мс

2 бит/20 мс 0 бит/20 мс 26 бит/20 мс 52 бит/20 мс

Совокупно

3 бит/20 мс 0.15 К5ит/с

25 бит/20 мс 1,25 Кбит/с

40 бит/20 мс 2.0 Кбит/с

80 бит/20 мс 4.0 Кбит/с

я*

Ьрп!пМ = 0

. No

updateFiag ■ 1 bgnlnM «0

Рисунок А.1 — Блок-схема обнаружения шума

61

ГОСТ Р 53556.2—2012

Приложение Б (справочное)

Инструменты декодера HVXC

Б.1 Пост фильтр

Б.1.1 Описание инструмента

Основной работой постфкгътра является расширение спектральных формант и подавление спектр алы-ых точек минимума. Можно использовать единый постфильтр после добавлено! синтеза вока/мэованной и неаока-гмэованной речи. Альтернативно можно использовать независимые постфильтры для вокализованной и неаока-гьоованном речи, соответственно. Рекомендуется испогъэоеанме независимых постфильтров для речевых и неречевых сигналов.

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

Ислольэовате постфилыра требуется, однако конфигурация и константы постфильтров, описа ■ ыо здесь, являются одним из примеров, а не нормой, и от могут быть изменены.

Б.1.2 Определения

Pf^z):

Pf«A*Y-

гщ-

S(n):

S^(n):

Sat(n):

Передаточная фуысция фильтра формирования спектра для вокапиэооаиой pern. Передаточная фужция фильтра формирования спектра для новокалиэованной речи Коэффициент регулировки усиления для формирования спектра.

Выход фильтра оитеза PC H(z).

Выход фильтра формирования спектра РМ,г).

Сформированный по спектру и отрегулироватый по усиление выход.

Sp, _ рю{пу. (л), рассчитанный с использованием ц, иг^ предыдущего фрейма.

vspeech{n): Постфильтро ванная еокахмэованная речь.

UYspeectyn): Посгфихьтроватая невокапизованная речь.

Б.1.3 Обработка

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

Б.1.3.1 Вокализованная речь Формирование спектра:

О-0

где а„ — коэффициенты линейного предсказания, преобразованные из деквантоваюых и линейно интерполирован*» LSPs. которые обновляются каждые 2.5 мс. р = 10. у = 0.5. 6 = 0.8. 6 = -0.15ха,. где значение 6 ограничено диапазоном 0 £ S £ 0.5. Когда выбран режим декодирования с шзкой задержкой, жгереал фрейма декодера сдвигается на 2.5 мс. и интерполяция LSPs выполняется для первого 17.5 мс интервала фрейма декодирования. а последние LSPs используются для последних 2.5 мс без ютерполяци. Вывод с фитьта синтеза LPC — s(n) тачала подается на фильтр спектрального формирования Pf. (z).

Ресугмровкэ усиления:

Вьеод фильтра спектрального форм ир осами, S^(n). затем регулируется по усилению так. чтобы у си лете фрейма ввода и вывода спектрального формирования было неизменно. Регулировка усиления выполняется однажды за каждые 160 фреймов выборки, в то время как LSPs обновляются каждые 2.5 мс. Фактор регулировки усиления Грц вычисляется следующим образом:

_ f ,!е«(л»а

Сформировавши по спектру и отрегулированный по усилению выход spl (о) получается как:

s‘pf = гщ– s„ (л) (0 £ л £ 159)

62

ГОСТ Р 53556.2—2012

Процесс сглаживанмя:

Отрегутрованный по усилению выход 5^ (г?) затем сглаживается, чтобы избежать нарушения непрерьв-ностм из-за изменения параметра в начале каждого фрейма. Постфильтроеанный речевой выход vspeect? (л), получают следуюиаш образом

«реесЛ(л) = 1 –^S p, ^(л) + JLs^n) (0snsl9)

Sp,(n) {20 S гг £ 159),

где Spf до,(л>—это Sp, (п). вычисленным с испопьзованмем ал ипредыдущего фрейма.

Б.1.3.2 Невокализованная речь Спектральное формирование:

Аналогично здесь дается Pf^ <z) как функция преобраэооа мл фигътра спектрального формирования для невокалиэованной речи.

««<*>«

где ал — линейные предиктивные коэффициенты, преобразован ыо из деквантоаанных LSPs. которые обновляется каждые 20 мс

Когда выбран режим нормального декодирования, коэффиененты LSP обновляется в середине интервала фрейма декодирования. Есгм выбран режим декодирования с малой задержкой, ннтервал фрейма декодироеа-нмя сдвигается на 2.5 мс. и обновление LSP происходат в точке 7.5 мс с начала жтервалэ декодирования на рисунке 1. р ■ 10, у = 0.5, fi = О.в. S = 0.1. Регулировка усиленегя и промесс сглаживания — те же самые, как в речевой части, огмеанной выше, и производят гххпфигыроваг-ыую невокалиэоезнную р&*. i/yspeecfifn).

Выход каждого из постфильтров. vspee&t{n) и t/v5peech<n). добавляется, чтобы генерировать выход пост-фильтрооа ■ юй ре*«.

Б2 Постобработка

Б.2.1 Описание инструмента

Выход постфильгра подается е подсистему постобработки. Постобработка составлена из трех фигътрое: это фильтр нижних частот, высокочастотным фильтр акцента и фильтр верхних частот. Фильтр верхних частот испогъ-эуется. чтобы уда/мть ненужные низкочастотные компоненты, высокочастотный фильтр акцента используется, чтобы увегычить яркость речи, и фильтр нижнмх частот используется, чтобы удалить ненужные вьюоктэстопыю компоненты. Конфигурации фильтров и описакыо здесь константы является одним из примеров и не нормативны. они могут быть изменен*

Б.2.2 Определения

HPF(z): Фунпмя преобразования фильтра нижнмх частот.

Emp(z): Функция преобразования высокочастотного фильтра акцента.

LPF{z): Функция преобразования фильтра верхних частот

Б2.3 Обработка

Три фильтра применены к выходу постфильтра.

Фигъгр нижних частот:

HPF(z) = GMv

1 + AyZ

1 + Cf

* 8,2~2

* DyZ’2

1 * А2г~% * В2г 2 1 + CjZ*1 + O^”2

Высокочастотный фигьтр акцента;

Etnp(z) = 60

1 + ■* B8z~2

1 +• CCz-‘ + DDz 2

Фи/ыгр верхние частот

LPF{z) * GL

1 + ALz~’ 1 + CLz 1

+ BLz2 *DLz 2

63

ГОСТ Р 53556.2—2012

Б .2.4 Таблицы

Таблица Б.1 — Коэффициенты фильтра мокних частот

Gw

1.100000000000000

-1.998066423746901

S,

1.000000000000000

С,

-1.962822436245804

°1

0.9684991816600951

Аг

-1.999633313803449

Вг

0.9999999999999999

с2

-1.858097918647416

Ог

0.8654599836007603

Таблица Ъ2 — Коэффициенты высокочастотного фильтра акцента

АА

0.551543

ВВ

0.152100

сс

0.89

DD

0.198025

GG

1.226

Таблица Б.З — Коэффициенты фигътра верхних частот

AL

-2. * 1. * cos((4.0/4.0)*x)

BL

1.

CL

-2. * 0.78 • cos((3,55/4.0)*x)

DL

0.78*0.78

GL

0.768

Приложение В (справочное)

Определения системного уровня

В.1 Точка случайного доступа

То*а случайного доступа в потоке битое HVXC может быть установлена в любой гршьгнюй тоже фрейма.

64

ГОСТ Р 53556.2—2012

Приложение Г (справочное)

Пример установки инструмента ЕР и маскировки ошибок для HVXC Г.1 Краткий обзор

Этот раздел огмсывает пример реализашы инструмента ЕР (зашита от ошибок) и метод маскировки ошибок для HVXC. Некоторые из перцепщюнно важных битов защмцвны схемой FEC (прямая коррекция ошибок), а некоторые проверяется цикгмчесхим контролем избыточности (CRC), чтобы решать, активны ли е состав ошибочные биты. Когда происходит ошибка CRC. выполняется маскировка ошибок, чтобы уменьшить заметную деградацию.

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

Г.2 Установка инструмента ЕР

Г.2.1 Пример внеполосной информации для HVXC

Фиксированная скорость 2.0 Кбит/с

ESC (Категория чувствительности ошибок) примеры двух смежных фреймов приложены непосредственно для классов ЕР.

Класс 1: 22 бита (фиксированных). 2 фрейма связан те. скорость кода SRCPC 8/16. CRC на 6 битое;

Класс 2: 4 битв (фиксированных), скорость кода SRCPC 8/8. 1 битовый CRC;

Класс 3: 4 бита (фиксированных), скорость кода SRCPC 8/8. 1 разрядный CRC:

Класс 4: 20 битое (фиксированных). 2 фрейма связаыые. скорость кода SRCPC 8/8. СЯС отсутствует.

1

/* number of predefined sets V

2

Г bit interleaving V 0

3

/* bitstuffing У

2

Г 2 frame concatenate V

4

Г number of classes У

00010020

/* length_esc. snpc_esc. ctcjasc, concatenate, FEC type. No terminabcn. interleave SW. dess option У

22

/* bits used for class length (0 = unti the end) У

8

/”puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

6

Г ere length У

00000030

/* length_esc. s/qx_esc. ctcjasc, concatenate. FEC type. No terminabcn. interleave SW. dess option У

4

Г bits used for class length (0 = unti the end) У

0

Z’puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

1

Г ore longth V

00000030

/* length_asc. snpc_esc. ctcjasc, concatenate. FEC type. No terminabcn. interleave SW. dess option У

4

Г 6#ts used for class length (0 = unti the end) У

0

/* punctue rate for srcpc 0 = 8/8… 24 = 32/8 У

1

/* ere length У

00010030

Г length_esc. s/qx_esc. ctcjasc, concatenate, FEC type. No terminabcn. interleave SW. ctess option У

10

Г 6its used for class length (0 = until the end) У

0

/* puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

0

Г ere length У

Фиксированная скорость 4 Кбит/с.

ESC (Категория чувствительности ошибок) примеры двух смежных фреймов приложены непосредственно для классов ЕР:

Класс 1: 33 битв (фиксированных). 2 фрейма связанные, скорость кода SRCPC 8/16, 6 битов CRC.

Класс 2: 22 бита (фиксировать*). 2 фрейма свяэажые, скорость кода SRCPC 8/8. 6 битое CRC.

Класс 3: 4 бита (фиксированных), скорость кода SRCPC 8/8. 1 бит CRC.

Класс 4: 4 битв (фиксированных), скорость кода SRCPC 8/8. 1 бит СЯС.

Класс 5:17 битое (фиксированных). 2 фрейма связанные, скорость кода SRCPC 8/8. CRC отсутствует.

1

Г number of predefined sets У

2

/*Ш nterteaving V0 Г bitstuffing V

2

/* 2 frame concatenate V

5

/* number of classes У

00010020

/“ length_asc. snpc_esc. ac_esc. concatenate. FEC type. No terminabcn. interleave SW. dass option V

65

ГОСТ Р 53556.2—2012

33

8

6

00010030 22 0 6

00000030

4

0

1

00000030

4

О

О

ООО 10030 17 О О

Г bits used for class length (0 = until the end) V Г puncture rate for srcpc 0 = 8/8… 24 – 32/8 V Г crc length V

Г length_esc. srcpc_esc. crc_esc. concatenate. FEC type. No terwinabcn interleave SW. ctess option V /* bits used for class length (0 = until the end) 7 /* puncture rate for srcpc 0 = 8/8… 24 – 32/8 V /■ crc length V

/• iengtfi_esc. srcpc_esc. crc_esc. concatenate. FEC type. No termination. яte/feave StV. ctess cptran У Г bits used for class length (0 = until the end) V /* puncture rate for srcpc 0 = 6®… 24 = 12/8 V /* crc length V

/* tengtn_esc. srppc.esc. crc_esc. concatenate. FEC type. No termination, nterfeeve SIV. ctess option У /* Ms used for class length (0 = until the end) V Г puncture rate for srcpc 0 = 68… 24 = 12/8 V Г crc length V

^ teogtb_esc. srcpc_esc, crc_esc . concatenate. FEC l)pe. Nb terminator], nterteare SW. ctess option У Г bits used for class length (0 = until the end) V /” puncture rate for srcpc 0 – 8/8… 24 = 32/8 V Г crc length V

Таблица Г.1 показывает назначение битое закодированного канала для использования параметров настройки вышеупомтутого тструментэ ЕР.

Таблица Г.1 — Закодированное каналом назначение битов для испогъэования инструмента ЕР

Фиксированная скорость 2.0 Кбат/с

Фиксированная скорость 4 Кбит/с

Класс I

Биты кодера источника

44(‘Ч

Контроль CRC

6

6

Кодовая скорость

8/16

8/16

Класс 1 совокутмо

1UU

144

Класс II

Биты кодера источника

4

44,1>

Контроль CRC

1

6

Кодовая скорость

8/8

8/8

Класс II совокупно

5

50

Класс III

Биты кодера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/8

Класс IU совокутью

5

5

Класс IV

Биты «одера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/3

Класс fV совокупно

5

5

66

ГОСТ Р 53556.2—2012

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

Фиксированная скорость 2.0 Кбит/с

Фиксированная скорость 4 Кбиг/с

KnaccV

Биты кодера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/8

Класс V совокупно

5

5

Класс VI

Биты кодере источника

20’*”

4

Контроль CRC

0

0

Кодовая скорость

8/8

8/8

Класс VI совокупно

20

5

Класс VII

Биты кодера источника

34”1

Контроль CRC

0

Кодовая скорость

8/8

Класс VII совокупно

34

Совокупность битов всех классов

140

248

Битовая скорость

3.5 Кбит/с

6.20 Кбит/с

(*1) 2 фрейма связаны

Класс I:

CRC охватывает все биты Класса I. Биты Клаоса I. включая циклический контроль избыточности CRC, защищены сверхточным кодироса чем.

Классы II—V (Z0 Кбит/с). II—VI (4 Кбит/с):

биты по крайней мере одного CRC охватъеаюг исходные биты кодера этих классов.

Класс VI (2.0 Кбит/с). VI (4 Кбит/с):

исходные биты кодере не проверяются CRC и не защищеш какой-либо схемой ислрэвлвтя ошибок.

Г.З Маскирование ошибок

Когда обнаружена ошибка CRC. выполняется процесс ыасамроеамня ошибок (маскировка плохого фрейма). Пример метода маскировки описан ниже.

Состояние маскирования текущего фрейма обновляется на базе результата декодироеажя СЯС Класса I. Диаграмма переходов состояния показана на рисунке Г.1. Начальное состояние — состояние = 0. Стрелка с символом «1» обозначает переход для плохого фрейма, и стрелка с символом «0» хороший фрейм.

Г.3.1 Замена параметра

Согласно значению состояния выполняется следующая замена параметров. При отсутствии ошибок эначо кме состояныя становится 0. и полу км «то исходные биты кодера ислогъэуются без какой-либо обработки масхм-роеанием.

Г.3.1.1 Параметры LSP

При состоя*» = 1…6 параметры LSP заменяются таковыьм из предыдущих.

Кощз состогмю = если LSP4 = 0 (режим квантования LSP без ыежфреймоеого предсказания), то параметры LSP вычисляются исходя из всех индексов LSP. полученных а текущем фрейме. Ест LSP4 = 1 (режим квантоватя LSP с межфреймоеым кодирооанюм). го параметры LSP вычисляются следующим методом.

В этом режиме параметры LSP от индекса LSP1 интерпотруются с предыдущими LSPs.

LSP^ (л) = р LSP^ (л) + (1 – p)LSP,„(n) для л«1..Ю

67

ГОСТ Р 53556.2—2012

LSP. |)((n1 является параметрам LSP базового урсо!Я. LSP(r9r (л) является предыдущим LSPs. LSPffjl (л) — декодированные LSPs от текущего индекса LSP1 и р — коэффнмент дотерполяшм- Р меняется согласно числу битов прешдущих ошибочных фреймов CRC Класса I. как показано е табгмце П2. кодексы LSP – – LSP2. LSP3 и LSP5 не испогъзуются. и LSPM##(o) используются как параметры текущего LSP.

Таблица Г2 — Фактор р

• р*йм

Р

0

0.7

1

0.6

2

0.5

3

0.4

4

0.3

5

0.2

6

0.1

*7

0.0

Г.3.1.2 Переменная отключения звука

Согласно значению “state'” (состояние), значение переменной ’mute’ (молча но) установлено для управления уровнем вывода речи.

Значение “mute” ислогъзуется мою.

В состоянии3 7 испогъзуется среднее чюло 1.0 и значения *mute” предыдущего фрейма (* 0.5 (1.0 + + предыдущее “значение mute”)), но когда это значение богъше 0.8. значение “mute“ заменяется на 0.8.

Таблица Г.З — Переменная mute (молчание)

Молчание

0

1.000

1

0.800

2

0.700

3

0.500

4

0.25000

5

0.125

6

0.000

7

Среднее/0.600

Г.3.1.3 Замена и управление усилением «речевых» параметров

В состоянии = 1..6, параметр спектра SE_stlape^. SE_shape2. параметр усиления SE оанп. параметр спектра для кодека на 4 Кбит/с SE_shape3. SE_shepeб заменены соотеетстеуюимми параметрам предыдущего фрейма. Кроме того, чтобы управлять громюстью вывода речи, параметры величины гармоник остаточного сигнала LPC. “Ат {0 … 127]“ управляются по усилен*», как показано в (Г.1). В этом уравнении Алт^^ [/] вычисляется исходя из принятых параметров спектра последнего фрейма, свободного от ошибок

Am(i} = mute ’ Amlvg) ft] для/ = О..127 (Г.1)

Если предыдущий фрейм является неречевым и текущее состояние =7. (Г.1) заменяется (Г.2).

Amf) = 0.6 ’mute * Алт , [i] для г*О..127 <Г2)

Как огмсано ранее. S£_sftapel и SE_shape2 индивидуально защищены СЯС на 1 бит. В состоянии = О или 7. когда ошибки СЯС этих классов обнаружены а то же самое время, квантованные величины гармонюс с фиксированной размерностью Amgn( [1..44] подавляются по усиленно, как показано в (Г.З).

^”W’l = *£/’*’”**<*9>W Для » = 1..44. (Г.З)

где s(f] — коэффициент для подавления усиления.

68

ГОСТ Р 53556.2—2012

Таблица Г.4 — Коэффициент для подаалеютя усиления’s {0..44J”

i

1

2

3

4

5

6

7….44

0.10

0.25

0.40

0.55

0.70

0.85

1.00

При 4 Кбит/с SE_shap&4. S£_shape5. и S£_shapeS проверяется по СЯС как биты Класса II. Когда обнаружена ошибка CRC. параметр спектра уровня рэсимрения не испогъзуется.

Г.3.1.4 Замена и управление усилением «неречевых» параметров

В состоянии = 1.. 6. стохэстичеаме параметры усиления мки шифров УХ_дак?1[0]. VX_рагл1[1] заменяются на VX_ga«r>1(1I из последнего фрейма, свободного от ошибок. Также стохэстичесте параметры усиления пим шифров для кодека на 4 Кбит/с VX_gair2\0\.. VX qa/n2f31 заменяются на VX_gain2fi] из последнего фрейма, свободного от ошибок.

Стохэстичесте параметры формы книги шифров \OC_s/tape1[0]. УХ_зЛаре1[1{. и стохэстичеоом параметр формы книт шифров кодека на 4 Кбмт/с генерируются, исходя из случайно сгенерированных значемы ждекса.

Кроме того, чтобы управлять громкостью речевого выхода, остаточшм сигнал LPC resfO … 159] управляется по усиленюо. как показано а (Г.4). В этом уравнении r&s/<t9i [i] оымсляется. исходя из стохастических параметров омги шифров.

r9sfi]-mute resorfp’] (0 Si£159). (Г.4)

Г.3.1.5 Переходы состояния маскирования фрейма

69

ГОСТ Р 53556.2—2012

УДК 621.396:006.354 ОКС 33.170

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

Редактор Е. В. Baxpyweea Технический редактор В. Н. Прусакова Корректор Л. Я. Митрофанова Компьютерная верстка А П. Финогеновой

Сдано в набор 14.11.2013 Подписано • печать 17.02.2014. Формат 60 x 84 \’t. Бумага офсетная Печать офсетная Уел. печ а. 8.37. Уч.-иад. л. 7.80 Тирах S6 эха За* 1482

Гарнитура Ариал.

•ГУП « СТЛНДАРТИ Н#ОРМ •. 123005 Мосяха. Гранатный пер . 4 lu info^postinfo.nt

Набрано и отпечатано а Калужской типографии стандартов. 24802т Калуга, уя Московская. 258

Николай Иванов

Эксперт по стандартизации и метрологии! Разрешительная и нормативная документация.

Оцените автора
Все-ГОСТЫ РУ
Добавить комментарий

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

ФЕДЕРАЛЬНОЕ АГЕНТСТВО

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

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

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТ Р 53556.2 — 2012

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

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

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

Часть 3

(MPEG-4 AUDIO)

ISO/1EC 14496-3:2009 (NEQ)

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

Стандарт нферм

2014

ГОСТ Р 53556.2—2012

Предисловие

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

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

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

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

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

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

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

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

ГОСТ Р 53556.2—2012

Содержание

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

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

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

3.1 Конфигурация декодера (HvxcSpedficConfig)……………………. 1

3.2 Фрейм потока битое (afPduPaytoad)…………

3.3 Конфигурация декодера (ErrorRes/fantHvxcSpecificConfig)

3.4 Фрейм потока битое (atPduPayfoad)…………

4 Семантика потока битое……………….

4.1 Конфигурация декодера (HvxcSpec&cConfig. ErrorResdtentHvxcSpeaficConfig)……….

4.2 Фрейм потока битое (a/PduPaytoad)………………………….

5 Инструменты декодера HVXC………………………………

5.1 Обзор………………………………………

5.2 Декодер LSP……………………………………

5.3 Декодер гармонического VQ…………………………….

5.4 Декодер временного домена…………………………….

5.5 Интерполяция параметров для управления скоростью………………….

5.6 Синтезатор речевой компоненты…………………………..

5.7 Синтезатор неречевой компоненты………………………….

5.8 Декодер варьируемой скорости…………………………..

5.9 Расширение режима варьируемой скорости HVXC…………………..

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

Приложение Б (справочное) Инструменты декодера HVXC………………….

Приложение В (справочное) Определения системного уровня…………………

Приложение Г (справочное) Пример установки инструмента £Ри маомровки ошибок для HVXC. . .

ш

ГОСТ Р 53556.2—2012

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

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

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

Часть 3

(MPEG-4 AUDIO)

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

Sound broadcasting rtgital.

Coding of signals of sound broadcasting with reduction of redundancy for transfer on tfcgrtal communication channels.

A part 3 (MPEG-4 audio). Harmonic Vector Excitation Coring

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

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

Параметрическое речевое кодировате MPEG-4 использует алгоритм гармонического кодирования с векторным возбуждением (HVXC). гое используется гармоническое кодирование остаточных сигналов LPC для речевых сегментов и кодирование с векторным возбуждением (VXC) для неречевых сегментов. HVXC позволяет кодировать речевые сигналы на 2.0 Кбит/с, и 4.0 Кбит/с масштабируемой схемой, где возможно декодирование потока 2.0 Кбит/с используя поток битов 2.0 Кбит/с. и поток битов 4.0 Кбит/с. HVXC также обеспечивает кодирование потока битое с варьируемой битовой скоростью, где типичная средняя скорость передачи информации в битах составляет приблизительно 1.2—1.7 Кбит/с. возможно независимое изменение скорости и шага во время декодирования, которое является мощной функциональной возможностью для быстрого поиска в базе данных. Длина фрейма равна 20 мс. и может быть выбрана одна из четырех различных алгоритмических задержек 33.5 мс. 36 мс. 53,5 мс. 56 мс.

Кроме того, как расширение HVXC, тип объекта ER_HVXC предлагает эластичный синтаксис ошибок и режим с переменной скоростью передачи данных на 4.0 Кбит/с.

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

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

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

Естественный Звуковой Объектный HVXC/ER_HVXC передается в одном или двух элементарных потоках: потоке базового уровня и опционном потоке уровня расширения.

Когда инструмент HVXC используется с инструментом защиты от ошибок, таким как инструмент MPEG-4 ЕР. должен использоваться порядок битое, упорядоченных в соответствии с чувствительностью к ошибкам. HVXC с эластичным синтаксисом ошибок и режимом переменной скорости передачи данных на 4.0 Кбит/с. описанным а 3.3 и 3.4. называют ER_HVXC.

Синтаксис потока битое описан в коде pseudo-C.

3.1 Конфигурация декодера (HvxcSpeciflcConffg)

Информация о конфигурации декодера для типа объекта HVXC передается в DecoderConfigOescriptorO базового уровня и Elementary Stream опционного уровня расширения.

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

1

ГОСТ Р 53556.2—2012

Требуется следующий HvxcSpedftcConfig ():

Синтаксис

Количество

битое

Мививми

HvxcSpeaficConfig 0 { isBaseLayer 0 (isBaseLayer) { HVXCcorGg 0

}

}

1

uimcbf

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

HVXCvarMode-0 HVXC fixed bit rate

HVXCrateMode = 0 HVXC 2kbps

IsBaseLayer -1 base layer

Таблица 1 — Синтаксис HVXCconfig ()

Синтаксис

Количество

битое

Мнемоника

HVXCconfigO

{

HVXCvarMode:

1

uimcbf

HVXCrateMode;

2

uimcbf

extensionFtag:

0 (extensionFtag) {

< to be defined in MPEG-4 Version 2

>

1

uimcbf

Таблица 2 — РежимHVXCvarMode

HVXCvarMode

Описание

0

HVXC fixed bit rate

1

HVXC variable Ы rate

ТаблицаЗ — Режим HVXCrateMode

HVXCrateMode

HVXCraie

Описание

0

2000

HVXC Z0 kbit/s

1

4000

HVXC 4.0 kbit/s

2

3700

HVXC 3.7 kbit/s

Таблица 4 — Константы HVXC

NUM_SUBF1

NUU_SUBF2

2

4

3.2 Фрейм потока битов (alPduPayfoad)

Динамические данные для типа объекта HVXC передаются как полезная кагружа AL-PDU в базовом уровне и опционном уровне расширения Elementary Stream.

Базовый уровень HVXC — полезная нагрузка Модуля Доступа alPduPayload {

HVXCframeQ:

}

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

2

ГОСТ Р 53556.2—2012

Чтобы анализировать и декодировать уровень рэсширежя HVXC. требуется информация, декодированная из базового уровня HVXC. alPtJuPayload {

HVXCenhaFrameO

)

Таблица 5 — Синтаксис фрейма HVXCirame {)

Сиятахсис

Количество

битов

Мивуоми

HVXCframeO

{

if (HVXCvarMode == 0} {

HVXCfixframe(HVXCrate):

}

else {

HVXCvarframef):

)

}

3.2.1 Фрейм потока битов HVXC

Таблица б — Синтаксис HVXCfixframe (rate}

Таблица 7 — Сютаксис HVXCenhaFrame ()

Синтаксис

Количество

битов

Миеном ка

HVXCenhaFratneO

{

k)LsP20: к)Ехс2(4О00):

}

Таблица 8 — Сжтаксис idLspI ()

Синтаксис

Количество

битов

Миеном ка

tdLspI ()

{

LSP1:

5

uimcbf

LSP2:

7

uimcbf

LSP3;

5

uimcbf

LSP4:

1

uimcbf

}

3

ГОСТ Р 53556.2—2012

Таблица 9 — Синтаксис idLsp2 ()

Синтаксис

Количество

битов

Мнемоника

kJLsp2{)

{

LSP5:

8

uimcbl

}

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

Синтаксис

Количество

битов

Мнемоника

kMJV 0

{

VUV:

8

uimcbf

}

Таблица 11 — VUV (для режима фиксированной скорости передачи битое)

VUV

Описание

0

Unvoiced Speech

1

Mixed Voiced Speech-1

2

Mixed Voiced Speech-2

Таблица 12 — Синтаксис jdExef 0

CnwtKcxe

Количество

битое

Ымамомика

idExclQ

{

if (VUV /= 0) {

Pitch:

7

uimcbf

SE_shape1:

4

uimcbf

SE_shape2:

4

uimcbf

SE_gain:

5

}

else{

for (sJ_rwm=0: s(_num < NUM_SUBF1: d_num+*}{

VX_shape1 [sf_mxn]:

6

uimcbf

VX_ga*nl lsf numf:

4

uimcbf

}

}

}

4

ГОСТ Р 53556.2—2012

Таблица 13 — Сттаксис kJExc2 (rata)

Синтаксис

Количество

битое

Мнемоника

idExc2(rate)

{

if (VUV Ы (9 {

SE_sbape3.

7

uimcbf

SE_sbape4:

10

uimcbf

SE sbapeS: if (rate >= 4000) {

9

uimcbf

SE shapefi;

}

}

efse {

for (sf_num=0: sf_num < NUM_ SUBF2-1: sf_num**){

в

uimcbf

VX_shape2(sf_num]:

5

uimcbf

VX gain2fsf numj:

}

if (rate >-4000) {

3

uimcbf

VX sbape2(3J:

5

uimcbf

VX gam2{3):

}

)

)

3

uimcbf

kJLspI (). jdExrf (). kJVUVQ обработаны как базовый уровень в случае масштабируемого режима. idLsp2 (), idExc2() обработаны как уровень расширения в случае масштабируемого режима

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

Синтаксис

Количество

битов

Мнеиоми

HVXCvariramel)

{

Kjvarvuvo;

tdvarLsp1():

kfvarExclQ

)

Таблица 15 — Сжтаксис ktvarVUV ()

Синтаксис

Количество

битов

Мнемотмса

kfvarVUVO

{

VUV:

2

uimcbf

}

Таблица 16 — VUV (для режима варьируемой битовой скорости)

VUV

Описание

0

Unvoiced Speech

1

Background Noise

2

Mixed Voiced Speech

3

Voiced Speech

5

ГОСТ Р 53556.2—2012

Таблица 17 — Синтаксис idvartspl ()

Синтаксис

Количество

битое

Мнеыомка

idvartspl ()

(

f(VUV!=1){ LSP1:

5

uimcbf

LSP2:

7

uimcbf

LSP3:

5

uimcbf

LSP4:

1

uimcbf

}

}

Таблица 16 — Синтаксис idvarExc! ()

Синтаксис

Количество

битов

Мнемоника

idvar£xc1()

{

if(VUV!= 1){ M(VUV!=0){

Pitch:

7

uimcbf

SE_Shape1:

4

uimcbf

SE_Sbape2:

4

uimcbf

SE_Gam:

}

else {

for fsf_num=0: sf_num<MM_SUBF1: sf_cxxn++)

5

uimcbf

{

VX_gaint[sf num};

}

}

}

}

4

uimcbf

3.3 Конфигурация декодера (ErrorResiHentHvxcSpecificConfig)

Информация конфигурации декодера для типа объекта ER_HVXC передается в Decod&ConfigDescriptorO базового уровня и в Elementary Stream опционного уровня расширения.

Требуется следующий ErrorResthentHvxcSpedficCoflfig 0.

ErrorResHientHvxcSpadficConfig Q { isBaseLayer 1 штсЫ rf (isBaseLayer) (

E/HVXCconfigO;

}

i

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

HVXCrateMode = О ER_HVXC 2.0 kbit/s isBaseLayer = 1 base layer

6

ГОСТ Р 53556.2—2012

Таблица 19 — Синтаксис ErHvxcConfig 0

Синтаксис

Количество

битое

Мнемоника

ErHVXCconfigf)

{

HVXCvarMode:

1

uimcbf

HVXCrateMode:

2

uimcbf

extensfonFtag: i (extensKmFlag) {

1

uimcbf

ver_ScalableFiag:

}

}

1

uimcbf

Таблица 20 — Режим HVXCvarMods

HVXCvorUode

Описание

0

ERHVXC fixed titrate

1

ERHVXC variable

Таблица 21 — HVXCrateMode

HVXCratoMttdo

HVXCrate

Описание

0

2000

ERHVXC 2.0 K6unVc

1

4000

ERHVXC 4.0 K6umfc

2

3700

ERHVXC 3.7 K6unVc

3 (reserved)

Таблица 22 — var_ScelabtePlag

var_ Scafaoм^ rap

Описание

0

ERHVXC variable rate non-scalable

1

ERHVXC variable rate scalable mode

3.4 Фрейм потока битов (alPduPaytoad)

Динамические данные для типа объекта ER_HVXC передаются как полезная нагрузка AL-PDU в базовом уровне и Elementary Stream олциомкэго уровня расширения.

Базовый уровень ER_HVXC — полезная нагрузка Модуля Доступа alPduPaytoad {

ErHVXCframe Q;

}

Уровень расширения ERJHVXC — полезная нагрузка Модуля Доступа.

Чтобы анализировать и декодировать уровень расширения ER_HVXC. требуется информация, декодированная из базового уровня ER_HVXC. alPduPaytoad {

ErHVXCenhaFrama Q:

}

7

ГОСТ Р 53556.2—2012

Таблица 23 — Синтаксис ErHVXCframe 0

Синтаксис

Количество

битов

Мнемоника

ErHVXCframeQ

{

i (HVXCvarMode — 0){

ErHVXCRxframe(HVXCrate);

}

else {

ErHVXCvarframe(HVXCrate):

}

}

Таблица 24 — Синтжсис ErHVXCenhaframe ()

Синтаксис

Количество

битов

Мнемоника

ErHVXCenhaframe()

{

Ш (HVXCvarMode = 0) { EfHVXCenh HxframeO;

)

eise {

EfHVXCenh varframeO:

)

}

3.4.1 Синтаксис потока битов режима фиксированной скорости

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

Синтаксис

Количество

битов

Мнемо»чка

ErHVXCfixframe(rate)

{

М (rate — гооон 2k_ESC0(): 2k_ESC1{): 2k_ESC2():

2k ESC30:

)

else if (rate >= 3700) { 4k_ESC0(rate): 4k_ESC1(rate): 4k_ESC2(): 4k_ESC3():

4k ESC4(rate):

}

}

в

ГОСТ Р 53556.2—2012

Таблица 26 — Синтаксис 2k_ESCO ()

Синтаксис

Количество

бито*

Мнемоника

2k ESCO() {

VUV. 1-0:

2

uimcbf

1 (VUV != 0) {

LSP4. 0:

1

uimcbf

SE_даю. 4-0:

5

uimcbf

LSP1. 4-0

S

uimcbf

Pitch. 6-1:

6

uimcbf

LSPZ 6;

1

uimcbf

LSP3. 4:

1

uimcbf

LSPZ 5:

1

uimcbf

}

afse {

LSP4. 0:

1

uimcbf

VX gain 1(0}. 3-0:

4

uimcbf

VX даю 1(1}. 3-0:

4

uimcbf

LSP1. 4-0:

S

uimcbf

LSPZ 6-3:

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

Таблица 27 — Синтаксис2k_ESC1 ()

Синтаксис

Количество

битое

Мнемоника

2k ESC 10 {

4 (VUV 1=0} {

SE shapel. 3-0:

}

4

uimcbf

etse{

LSPZ 2-0:

3

uimcbf

LSPZ Z

1

uimcbf

}

)

Таблица 28 — Синтаксис 2k_ESC2 ()

Синтаксис

Количество

битое

Мнемоника

2k_ESC2()

{

4(VUV f= 0) {

SE_shape2. 3-0:

4

uimcbf

}

else {

LSP3. 1-0:

2

uimcbf

VX shape 1(0}. 5-4:

2

uimcbf

}

}

9

ГОСТ Р 53556.2—2012

Таблица 29 — Синтаксис 2k_ESC3 {)

Синтаксис

Количество

битое

UnewoHxu

2к ESC30 {

a (vuv != 0) {

LSP2. 4-0:

5

uimcbf

LSP3. 34):

4

uimcbf

Pitch, а

1

uimcbf

}

VX_shape1(0). 3-0:

4

uimcbf

VX shapeipi 50;

6

uimcbf

}

}

Таблица 30 — Синтаксис4k_ESCO()

Сиитаксис

Количество

битов

Ымемоиика

4k ESCOQ {

VUV. 1-0:

2

uimcbf

if (VUV !=0) {

LSP4. 0:

1

uimcbf

SE_gam. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

б

uimcbf

LSP2. 6-3:

4

uimcbf

SE_shape3. 6-2:

5

uimcbf

LSP3. 4:

1

uimcbf

LSPS. 7:

1

uimcbf

SE_shape4. 9:

1

uimcbf

SE_shapeS. 8:

1

uimcbf

if (rate >= 4000) {

SE shape6. 5:

1

uimcbf

}

}

else {

LSP4. 0:

1

wmcbf

VX_9*п1(0]. 3-0:

4

uimcbf

VX_gam1(1J. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4:

1

uimcbf

LSPS. 7.

1

uimcbf

VX_gan2l0}. 2-0:

3

uimcbf

VX_длп2[1}. 2-0:

3

uimcbf

VX_gain2f21. 2-0:

3

uimcbf

if (rate >- 4000) {

VX_gain2f3}, 2-1:

2

uimcbf

}

}

)

10

ГОСТ Р 53556.2—2012

Таблица 31— Синтаксис 4k_ESC1 ()

Синтаксис

Количество

битва

Мнемоника

4к ESC 1 (rate)

{

if (VUV != 0) {

SE_shape4. 8-0:

9

uimcbf

SE_shape5. 7-0.

8

uimcbf

g (rate >= 4000) {

SE shape6. 4-0:

5

uimcbf

}

}

eise {

8 (rate >= 4000) { VX_gain2[3J. O.

1

uimcbf

}

LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0

7

uimcbf

VX_sftape 1(0}. 5-0.

6

uimcbf

VX sfiape1[1], 5,

1

uimcbf

}

)

Таблица 32 — С**чтзксис4k_ESC20

4k_ESC2()

{

if (VUV != О) {

SE_shape1. 3-0.

)

eise{

VX_shape1(1l 4-1;

}

}

Синтаксис

Ко

пичестео

битва

Мнемоника

4

uimcbf

4

uimcbf

Таблица 33 — Синтаксис 4k_ESC3 ()

Синтаксис

Количество

битое

Мнемоника

4k_ESC3()

{

if (VUV <= 0) {

SE_shape2. 3-0.

4

uimcbf

}

eise {

VX_shape1{1}. O.

1

uimcbf

VX shape2l0], 4-2:

3

uimcbf

}

)

11

ГОСТ Р 53556.2—2012

Таблица 34 — Синтаксис 4k_ESC4 ()

Синтаксис

Количество

битов

Мнемоника

4к ESC4(rate)

{

if (VUV != 0) { LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0:

7

uimcbf

Pilch. 0:

1

uimcbf

SE shape3. 1-0:

2

uimcbf

}

else {

VX shape2{0). 1-0:

2

uimcbf

VX shape2(1). 443:

5

uimcbf

VX shape2[2], 443

5

uimcbf

if (rate** 4000) {

VX shape2[3f. 443:

5

uimcbf

}

}

}

3.4.2 Синтаксис потока битов для масштабируемого режима

Синтаксис потока битое базового уровня для масштабируемого режима такой же самый как синтаксис ErHVXCfixframe (2000). Синтаксис потока битое уровня расширения. ErHVXCenhaFrarne (). для масштабируемого режима показан ниже.

Таблица 35 — Сюгтаксис ErHVXCenh_8xframe 0

Синтаксис

Количество

битов

Мнемоника

ErHVXCenh fixframeO {

Enh ESCOf):

Enh ESC1Q: Enh_ESC2():

}

Таблица Зв — СинтаксисEnh_ESCO()

Синтаксис

Количество

Мнемоника

битов

Enh ESCO() {

if (VUV != 0){

SE shape3. 6-2.

5

uimcbf

LSP5. 7:

1

uimcbf

SE shap&4. 9:

1

uimcbf

SE_shape5. 8:

1

uimcbf

SE shape6. 5:

1

uimcbf

SE shape4. 8-6:

}

else {

3

uimcbf

LSP5. 7:

1

uimcbf

VX ga*n2fOJ. 243

3

uimcbf

VXgain2f1). 2-0

3

uimcbf

VXgain2f2). 2-0

3

uimcbf

VX_gam2{3]. 2-1

2

uimcbf

}

}

12

ГОСТ Р 53556.2—2012

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

Сии таксис

Количество

битое

Мнемоника

Enh ESC1()

{

/f(VUV!=0){

SE shape4. 5-0:

6

uimcbf

SE shape5. 7-0:

8

uimcbf

SE shape6. 4-0:

S

uimcbf

}

else {

VX gam2pi 0:

1

wmcbf

LSP5. 6-0:

7

uimcbf

VX shape2{0], 4-0:

5

uimcbf

VX shape2{1}. 4-0:

5

uimcbf

VX shape2[2}. 4:

1

uimcbf

}

}

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

Синтаксис

Количество

битое

Миемоника

Enh ESC20 {

if(VUV!= Of { LSP5. 6-0:

7

uimcbf

SE shape3. 1-0:

2

uimcbf

}

else {

VX shape2{2}. 3-0.

4

uimcbf

VX shape2l3}. 4-0.

S

uimcbf

}

}

3.4.3 Синтаксис потока битое режима с варируемой скоростью передачи данных

Таблица 39 — Синтаксис ErHVXCvarframe ()

Синтаксис

Количество

битое

Мнемоника

ErHVXCvarframefrate)

{

if до — 2000) {

a War ScalabieFiag == 1) { BaseVar ESC0(): BaseVar ESC1Q: BaseVar ESC2(): Base Var_ESC3():

} else {

Var2k ESC00:

Var2k ESC1Q:

Vai2k ESC20:

Var2k ESC30:

)

}eise{

Var4k ESCOi):

Var4k ESC1():

Var4k ESC2():

Var4k ESC3():

Var4k ESC4Q:

}

}

13

ГОСТ Р 53556.2—2012

Таблица 40 — Синтаксис Var2k_ESC0 ()

Синтаксис

Количество

битов

Мнемоника

Var2k ESCO0 {

VUV. 1-0:

2

uimcbf

if(VUV == 21 VUV~3){

LSP4. Ос

1

uimcbf

SEjgam. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Piet}. 6-1:

6

uimcbf

LSP2. fir

1

uimcbf

LSP3, 4:

1

uimcbf

LSP2. &

1

uimcbf

}

else H (VUV ~0){

LSP4. ft

1

uimcbf

VX gainlfO}. 3-0:

4

uimcbf

VX_gam1(1J. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

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

Синтаксис

Количество

битов

Мнемоника

Var2k_ESC1()

{

if (VUV == 21 VUV = 3){ SE shape T. 3-0:

4

uimcbf

}

else * (VUV — 0) { LSP2. 2-0:

3

uimcbf

LSP3. Z

1

uimcbf

}

}

Таблица 42 — Синтаксис Var2k_ESC2 0

Синтаксис

Количество

битов

Мнемоника

Var2k ESC20 {

if (VUV == 2% VUV = 3){

SE_shapeZ 3-0:

}

4

uimcbf

else 8 (VUV — 0) {

LSP3. 1-0:

}

}

2

uimcbf

14

ГОСТ Р 53556.2—2012

Таблица 43— Сттаксис Var2k_ESC3 ()

Синтаксис

Количество

бито*

Мнемоника

Var2k ESC30

{

if (VUV — 21 VUV — 3) {

LSP2. 4-0:

5

uimcbf

LSP3. 3-0:

4

uimcbf

Pich. Or

1

uimcbf

}

}

Таблица 44 — Синтаксис Var4kJESC0 ()

Синтаксис

Количество

битое

Мнемоника

Var4k ESC0() {

VUV. 1-0:

2

uimcbf

if (VUV ” 21 VUV = 3}{

LSP4. Or

1

uimcbf

SE gam. 4-0.

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

6

uimcbf

LSP2. 6-3:

4

uimcbf

SE_shape3. 6-2:

5

uimcbf

LSP3. 4:

1

uimcbf

LSP5. 7:

1

uimcbf

SE_shapa4. 9:

1

uimcbf

SE_shape5. 8:

1

uimcbf

SE_snapec. s:

1

uimcbf

}

eise i (VUV ~0){

LSP4. Or

1

uimcbf

VX_gam1{0}. 3-0:

4

uimcbf

VX_gamlf1f. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4-3:

}

else {

2

uimcbf

UpdateFlag. 0:

1

uimcbf

i (UpdateFlag =1){

LSP4. Or

1

uimcbf

VX_gain1(0}. 3-0;

4

uimcbf

LSP1. 4-0;

5

uimcbf

LSP2. 6-3;

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

}

15

ГОСТ Р 53556.2—2012

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

Синтаксис

Количество

биток

Мнемоника

Var4k ESC 10 {

if (VUV== 21 VUV = 3){ SE shape4. 8-0:

9

wmcbf

SE shapes. 7-0:

8

uimcbf

SE shape6. 4-0:

i

else * (VUV — 0) { LSP2. 2-0:

5

wmcbf

3

uimcbf

LSP3. 2-0:

3

uimcbf

VX shapelfOJ. 5-0.

6

uimcbf

VX shapel(1). 5-0:

6

uimcbf

}

else {

i (UpdaHeFtag ~1){ LSPZ 2-0:

3

wmcbf

LSP3. 2-0:

3

uimcbf

}

}

}

Таблица 46 — Синтаксис Var4k_ESC2 ()

Синтаксис

Количестао

биток

Мнемоника

Var4k ESC20 {

if (VUV== 21 VUV = 3){ SE shape 1. 3-0:

i

}

4

uimcbf

Таблица 47 — Сжтакое Var4k_ESC3 0

Синтаксис

Количестао

биток

Мнемоника

Var4k ESC30 {

H (VUV == 21 VUV = 3){

SE shape2. 3-0:

}

}

4

uimcbf

Таблица 48 — Синтаксис Var4k_ESC4 ()

Синтаксис

Количестао

битоа

Мнемоника

Var4k ESC40 {

И (VUV == 21 VUV — ЗП LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0:

7

uimcbf

Pich.O:

1

uimcbf

SE shape3. 1-0:

2

uimcbf

}

}

16

ГОСТ Р 53556.2—2012

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

Синтаксис

Количество

битое

Мнемоника

BaseVar ESC00 {

VUV. 1-0;

2

uimcbf

if (VUV == 21 VUV==3){

LSP4. Or

1

uimcbf

SE_gain. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

6

uimcbf

LSP2. 6.

1

uimcbf

LSPZ 4;

1

uimcbf

LSP2. 5:

1

uimcbf

}

else if (VUV = 0) {

LSP4. 0:

1

uimcbf

VX_gain1fO], 3-0;

4

uimcbf

VX_gan1(1]. 3-0.

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3;

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

else {

UpdateFiag. 0;

1

uimcbf

if (UpdateFtag =1) {

LSP4. 0;

1

uimcbf

VX_gain1{0l. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSPZ 6-3;

4

uimcbf

LSP3. 4-3;

2

uimcbf

}

}

}

Таблица 50 — СинтаксисBaseVar_ESC1 ()

Синтаксис

Количество

битов

Мнемоника

Base Var_ESC1()

{

if (VUV = 2 Й VUV ==3){ SE_shape1. 3-0:

4

uimcbf

}

else i (VUV =0) { LSP2. 2-0:

3

uimcbf

LSP3. г

1

uimcbf

}

else {

ffUpdateRag — 1) { LSPZ 2-0;

3

uimcbf

LSP3. 2-0;

3

uimcbf

}

}

}

17

ГОСТ Р 53556.2—2012

Таблица 51 — Синтаксис BaseVar_ESC2 0

Синтаксис

Количество

битва

Мнемоника

BaseVar ESC2()

{

if(VUVss 2Ц VUV ==ЗН SE shape2. 3-0.

4

wmcbf

}

else 4 (VUV — 0){ LSP3. 1-0:

2

uimcbf

VX shape 1(0). 5-4.

2

wmcbf

}

}

Таблица 52 — СинтаксисSaseVa^E^J0

Синтаксис

Количество

битва

Мнемоника

BaseVar ESC3Q {

if (VUV == 21 WV ~3){ LSP2. 4-0

5

uimcbf

LSP3. 3-0:

4

uimcbf

Pitch, ft

1

uimcbf

;

else if (VUV — 0) {

VX shape 1{0}. 3-0

4

uimcbf

VX Shape1(1}. 5-0

в

uimcbf

}

}

3.4.4 Уровень расширения масштабируемого режима с перо мен ной скоростью передачи данных

Таблица 53 — СинтаксисErHVXCenh varframe ()

Синтаксис

Количество

битва

Мнемоника

ErHVXCenh varfrme() {

EnhVar ESCO0: EnhVar ESC 1Q: EnhVar ESC2Q:

)

Таблица 54 — Синтаксис EnhVar_ESCO ()

Синтаксис

Количество

битва

Мнемоника

EnhVar ESCO(>

{

if (VUV == 21 VUV = 3){

SE shape3. 6-2:

5

uimcbf

LSP5. 7:

1

uimcbf

SE shape4. 9:

1

uimcbf

SE shape5. 8:

1

uimcbf

SE shape6. 5.

1

uimcbf

SE shape4. 8-6.

3

uimcbf

}

}

18

ГОСТ Р 53556.2—2012

Таблица 55 — Синтэссис EnhVar_ESC1 ()

Синтаксис

Количество

битое

Мнемоника

EnbVar ESC10 {

if (VUV — 2| VUV = 3){ SE_shape4. 5-0:

6

uimcbf

SE_shape5. 7-0:

8

uimcbf

SE shapeG. 4-0:

5

uimcbf

}

}

Таблица 56 — Синтаксис EnhVar_ESC2 Q

Синтаксис

Количество

битов

Мнемоника

EnbVar ESC2Q

{

if (VUV == 21 VUV = 3){

LSP5. 6-0:

7

uimcbf

SE shap*3. 1-0:

2

uimcbf

}

}

4 Семантика потока битов

4.1 Конфигурация декодера (HvxcSpecificConfig, ErrorRasilientHvxcSpecfficConfig)

HVXCvarMode: HVXCrateMode: extansionFlag: var_ScatabtoFiag: isBaseLayer.

Флажок, указывающий режим варьируемой скорости HVXC (Таблица 1).

2-битовое поле, указывающие режим битовой скорости HVXC (Таблица 1}.

Флажок, указывающий присутствие данных MPEG-4 версии 2 (Таблица 1).

Флажок, указывающий варьируемый режим масштабирования ER_HVXC (Таблица 22). Однобитовый идентификатор, представляющий является ли соответствующий уровень базовым уровнем (1) или уровнем расширения (0).

4.2 Фрейм потока битов (alPduPayioad)

LSP1: Это поле из 5 битов представляет индекс первой стадии квантования LSP (базовый

уровень. Табгмца 8 и Таблица 17).

LSP2: Это поле из 7 битов представляет индекс второй стадии квантования (.ЭР(базоеый

уровень. Таблица 8 и Таблица 17).

LSP3: Это поле из 5 битов представляет индекс второй стадии квантования LSP (базовый

уровень. Таблица 8 и Таблица 17).

LSP4: Это однобитовое поле представляет флажок указания, используется ли межкаоровое

предсказание или не используется во второй стадии квантования LSP (базовый уровень. Таблица 8 и Таблица 17).

LSP5: Это поле из 8 битое представляет индекс третьей стадж квантования LSP (уровень

расширения. Таблица 9).

VUV. Это попе из 2 битов представляет решающий режим VAJV. У этого поля есть различ

ные экачвюя согласно режиму варьируемой скорости HVXC (Тэбпща 10 и Таблица 15).

Pitch: Это поле из 7 битое представляет индекс линейно квантованной задержки шага в

пределах от 20—147 выборок (отсчетов) (Таблица 12 и Таблица 18).

SE_shape1: Это 4-битовое поле представляет индекс формы огибающей спектра (базовый уро

вень. Таблица 12 и Таблица 18).

SE_shape2. Это 4-битоеое поле представляет индекс формы огибающей спектра (базовый уро

вень. Таблица 12 и Таблица 18).

19

ГОСТ Р 53556.2—2012

SE_gain: Это 5-битоеое поле представляет индекс усиления огибающей спектра (базовый уро

вень. Таблица 12 и Табгмца 18).

VX_shape1 [sf.num]: Это 6-битоеое поле представляет индекс формы VXC подфрейма sf__num-{h (базовый уровень. Таблица 12 и Таблица 18).

Это 4-битовое поле представляет индекс усиления VXC подфрейма sf_num4h (базовый уровень. Таблица 12 и Таблица 18).

Это поле из 7 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 10 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 9 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 6 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

VX_sbapa2 [s/_num]: Это поле из 5 битов представляет индекс формы VXC подфрейма sf_nom-th (уровень расширения. Таблица 13).

VX_gain2 [sf_num]: Это поле из 3 битов представляет индекс усиления VXC подфрейма sf_num~ih (уро

вень расширения. Таблица 13).

UpdateFtag. Это 1-битовое попе представляет флажок для указания обновления фрейма шума

(только для режима варьируемой скорости ER_HVXC на 4 Кбит/с).

5 Инструменты декодера HVXC

5.1 Обзор

HVXC обеспечивает эффективную схему для разности Кодироваться с Линейным Предсказанием (LPC) на базе гармонического и стохастического векторного представления. Векторное квантование (VO) огибающей спектра остатков LPC со взвешенной мерой искажения используется, когда сигнал является речевым. Кодирование с векторным Возбуждением (VXC) используется, когда сигнал не является речевым. Главные алгоритмические особенности следующие:

* Взвешенный VQ спектрального вектора варьируемой размерности.

* Алгоритм быстрого гармонического синтеза IFFT.

* Параметры кодера интерполяциидпя управления схоростъкУшагом.

Кроме того, функциональные особенности включают:

– Низкую, до 33.5 мс. полную алгоритмическую задержку;

* Масштабируемый режим 2.0—4.0 Кбит/с;

* Кодирование с варьируемой битовой скоростью для скоростей меньше 2.0 Кбит/с.

5.1.1 Структура кадрирования и блок-схема декодера

Инструменты декодера HVXC позволяют декодировать речевые сигналы на скорости 2.0 Кбит/с и выше, до 4.0 Кбит/с. Инструменты декодера HVXC также позволяют декодировать с режимом варьируемой битовой скорости при битовой скорости приблизительно 1,2—1.7 Кбит/с. Основной процесс декодирования состоит из четырех шагов: деквантование параметров, генерация сигналов возбуждения для разговорных фреймов синусоидальным синтезом (гармонический синтез) и добавление шумовой составляющей, генерация сигналов возбуждения для иеразгоеориых фреймов путем просмотра книги шифров и синтез LPC. Чтобы повысить качество синтезируемой речи, испогъэуют спектральную постфильтрацию.

5.1.2 Режим задержки

Кодер/декодер HVXC поддерживает режим низкой/нормальной задержки кодирования/декодирова-ния. позволяя любые комбинации режима задержки при 2.0—4.0 Кбит/с с масштабируемой схемой. Рисунок ниже показывает структуру кадрирования каждого режима задержки. Длина фрейма равна 20 мс для всех режимов задержки. Например, использование режима с низкой задержкой кодирования и низкой задержкой декодирования приводит к полной задержке кодера/декодера 33.5 мс.

8 кодере алгоритмическая задержка может быть выбрана равной 26 мс. либо 46 мс. Когда выбрана задержка 46 мс. для обнаружения шага используется просмотр одного фрейма вперед. Когда выбрана задержка 26 мс. для обнаружения шага используется только текущий фрейм. Синтаксис для обоих случаев общий, все квантователи общие, и потоки битов совместимы. В декодере алгоритмическая задержка может быть выбрана равной или 10 мс (режим нормальной задержки), или 7.5 мс (режим низкой задер

VX_gain1

SE_shape3.

SE_shapa4:

SE_shapeS.

SE_$hape6:

20

ГОСТ Р 53556.2—2012

жки). Когда выбрана задержка 7.5 ыс. интервал фрейма декодера сдвинут на 2.5 мс (20 отсчетов) по сдав* нению с 10 мс режимами задержки. В этом случае, генерация возбуждения и фаза синтеза LPC сдвинуты на 2.5 мс. Для обоих случаев, синтаксис общий, все квантователи общие и потоки битов совместимы.

Возможен любой независимый выбор задержки кодера/декодера из следующей комбинации:

Задержка кодера: 26 мс или 46 мс

Задержка декодера: 10 мс или 7,5 мс

В зависимости от приложения должны поддерживаться одна или несколько комбинаций режима за* держки.

5.2 Декодер LSP

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

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

Когда битовая скорость равна 2.0 Кбит/с. LSPs текущего фрейма, которые закодированы разбиением и двухступенчатым векторным квантованием, декодируются, используя двухступенчатый процесс декодирования. При 4.0 Кбит/с к основанию схемы квантователя LSP кодера 2.0 Кбит/с добавлен 10*мерный векторный квантователь, у которого имеется книга шифров на 8 битов. Биты, необходимые для LSPs. увеличены с 18 6итов/20мс до 26 битов /20мс.

Таблица 57 — Конфигурация ыногоступетатого LSP VQ

1-й этап

10 LSPVQ

5 битов

2-й этап

(5+5) LSP VQ

(7+5+1) битов

3-й этап

10 LSPVQ

8 битов

5.2.2 Определения Определения констант LPCORDER. Порядок анализа LPC (=10).

Ат[][]: Размерности для квантования вектора разбиения.

твп_дар: ЕАыииагьное расстояние между сосааыми коэффициентами LSP(базовый ypoeetfe=4,0/256.0).

ratio_ predict. Коэффициент межхадрового предсказания LSP (=0,7).

THRSLD_ L: Минимальное расстояние между соседними коэффициентами LSP (низкочастотная часть

уровня расширения = 0.020).

THRSLD_M: Минимальное расстояние между смежными коэффициентами LSP (средмочастотная честь

уровня расширения = 0,020).

THRSLD_ ht. Минимальное расстояние между смежными коэффициентам /.5Р(вькхжочастотная часть

уровня расширения = 0.020).

Определения переменных QLsp(]: Параметры квантованного LSP.

LSP1: Индекс первой стадии квантования LSP (базовый уровень).

LSP2. LSP3: Индексы второго квантования LSP (базовый уровень).

LSP4: Флажок, показывающий используется ли мвжкадровое предсказание (базовый уровень).

LSPS: Индекс третьего квантования LSP( уровень расширения).

Isp_ tbJ [][){]: Таблицы поиска для первой стадии процесса декодирования.

d _ to/Qni): Таблицы поиска для второй стадии процесса декодирования VQ без межхадроеого пред

аю ШН*

vqLsp 0П-sign:

Ktr.

lsp_ predict l): /sp_ previous (]: lsp_ current []: tsp_ first ft

сказания.

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

Таблица поиска для уровня расширения.

Знак вектора мзда для второй стадии процесса декодирования.

Индекс распаковки для второй стадии процесса декодирования.

LSPs. предсказанные из lsp_ previous и lsp_

LSPs. декодированные в предыдущем фрейме.

LSPs. декодированные в текущем фрейме.

LSPs. декодированные на первой стадии процесса декодирования.

21

ГОСТ Р 53556.2—2012

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

Процесс декодирования параметров LSP для базового уровня (2.0 Кбит/с) является тем же самым, что и процесс узкополосного CELP. Процесс декодирования описан ниже.

Индексы преобразования к LSPs

LSPs текущего фрейма (tap_currenf(]). которые закодированы разбиением и двухступенчатым вектор* ным квантованием, декодируются двухступенчатым процессом декодирования. Размерность каждого вектора приведена в таблицах ниже. LSP1 и LSP2, LSP3 представляют индексы для первой и второй стадии соответственно.

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

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

Размерность вектора dm, (0) M

0

10

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

Индекс вектора

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

разбиения i

dm, (1) М

0

5

1

5

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

top. 1Ы [Ш(].

for 0- 0; i < <«гл/0/ДО i**) { lsp_first(i} = IspJbifO} {LSP1)p}:

)

Во второй стадии есть два типа процессов декодирования, а именно, процесс декодирования VQ без межкадроеого предсказания и VQ с межкадровым предсказанием. Флажок LSP4 указывает, какой процесс должен быть выбран.

Т а 6 л и ц а 60 — Процесс де^одирова» tun дпя второй сгадн

Индекс LSP LSP4

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

0

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

1

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

Процесс декодирования УОбез межкадроеого предсказания

Чтобы получить LSPs текущего фрейма lsp_ current\\. декодированные векторы во второй стадии добавляются к декодированному в первой стадии вектору LSPIsp_ firsfl]. МС8 дпя LSP2 и LSP3 представ* ляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы d_ tt>/( ][](]• sign = LSP2»6; idx – LSP2&0x3f: if (sign — 0) ( for (i – 0: i < dim[l](0]: i**){ lsp_current[tJ – lsp_fksi[i] + d_tbf[0}fidx][i]:

}

)

else {

for 0 – 0: i < den[1}[0l h+) { lsp_currentft] – lsp_first[i] – d_tbi[0}pdx}fi};

}

}

22

ГОСТ Р 53556.2—2012

sign = LSP3»4. idx – LSP3&0x0f. if (sign == 0) { for (i – 0: i < h*) {

lsp_current(dim[1 ][0}+i) = lsp_firstfdim(1][0)+i] ♦ d tbif1]pdx]pj;

)

}

else {

for (i – 0:1 < <Hm[1)[1J: h+) {

Isp__currentfdim[1]l0]+i] = lsp_first(dim(1)[0)*i] – d_tbl[1)fidx}p]:

}

)

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

Чтобы получить LSPs текущего фрейма lsp_ current[). декодированные векторы второй стадии добавляются к вектору LSPisp jX9dict[]. которые предсказаны из декодированного LSPs предыдущего фрейма pravfoosf] и декодированного е первой стадии вектора LSP lsp_firsf[). Как в процессе декодирования VQ без межкадроеого предсказания. МСВ для LSP2 и LSP3 представляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы pd_tt4]QD-for (i = О: / < LPCORDER; i**) {

Ispjxedictp] = (1-ratio_predict) *tsp_firsip)

♦ ratio_pradictVspjxevtousp];

}

sign – LSP2»€: idx = LSP2&0x3t. if (sign == 0) { for (i – 0: t < dim[1][0j: i**) { lsp_currentfi] = Isp_pradictp] * pdjbl[0]pdx]p}:

}

)

else {

for (i – 0: i < dim[1][0}: h*) { lsp_currentp) – Isp_predict[i] – pd tbi{0}pdx][i]:

}

}

sign – LSP3»4. idx = LSP3&0x0f: if (sign == 0) { for (i – 0: t < dim[1J[1J: i**) {

lsp_currentfdim[1}[0}+i) = Isp_predict[dtm[1 }(0]*t] + pd_tb$1)pdx]p]:

}

)

else {

for (i – 0: i < dim[1](lj: h*) {

lsp_current(dim[1][0J*iJ – Isp_predict[dim[ 1 ][0]*i] – pd_tt4{1][idx}[i]:

}

}

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

Декодированною LSPs ^>.сиггел<П стабилизированы, чтобы гарантировать стабильность фильтра синтеза LPC. который извлекается из декодированных LSPs. Декодированные LSPs упорядочены в порядке возрастания, имея минимум расстояния между соседними коэффициентами, for (i = О. / < LPCORDER: i*+) { if (Isp currentp] < min^gap) isp^currentp] – min_gap:

}

for (I a ft I < LPCORDER-1: I**) { if (lsp_ currentp* 1 }-lsp_currentfi] < mtn_gap)

Isp_cunrentfi+1] = lsp_currentp}+minjgap:}

23

ГОСТ Р 53556.2—2012

;

for (i – О; i< LPCORDER: i**) { if (Jsp_currentfi) > 1-mtn_gap) tsp_currentfi] = 1-mm_gap:

}

for (i — LPCORDER- 1;i> 0: i–){ if (lsp_curren(fi}-lsp_currentfi-1] < min^gap) { lsp_currentfi-1]-lsp_currentfi}-minjjap:

}

}

for (i = 0: i < LPCORDER: i**) { qLspfi) – lsp_currentfi):

)

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

После процесса декодирования LSP декодированные LSPs должны быть сохранены в памяти, так как они используются для предсказания в следующем фрейме. for (i – О: i< LPCORDER: i**) {

Isp_j>revious(i] – lsp_currentfi):

}

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

for (i = О. / < LPCORDER: i**) {

Ispjxevtousp] – (i*1)/(LPCORDER*1):

}

Процесс декодирования для уровня расширения

Для уровня расширения (4.0 и 3.7 Кбит/с). дополнительные векторы кода и LSPs базового уровня суммируются следующим образом, for (i = О: / < LPCORDER: i**) { qLspfi] *- vqLsp{LSPS]fi]:

}

После вычисления LSPs снова стабилизируются, for (i = 0: i< 2: f**) { if (qLspp+1/- qLspfi] <0){

Imp – qLspp*1]; qLspfi* 1] – qLspfi): qLspfi] = Imp:

}

if (qLspfi* 1]- qLspfi] < THRSLD_L) { qLspfi * 1] – qLspfi] * THRSLD_L

}

}

for (i -2: i < 6: i**) { if (qLspfi* 1] – qLspfi] < THRSLD_M) { tmp = (qLspfi*1) * qLsp[i])/2.0; qLspfi* 1) = tmp * THRSLD_M/2.0: qLspfi] – tmp – THRSLD_M/Z0:

}

}

for (i = 6: i < LPCORDER-1: i**) { if (qLspfi*1)~ qLspfi] <0){ tmp – qLspfi *1}: qLspfi* 1) – qLspfi]: qLspfi] = tmp:

24

ГОСТ Р 53556.2—2012

}

if (qLspfi+1] – qLspfi] < THRSLD_H){ qLspfi] – qLspp+1]- THRSLD_H;

}

5.3 Декодер гармонического VQ

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

Промесс декодирования состоит иэ двух главных шагов для базового уровня, а именно, инверсного векторного квантования векторов огибающей спектра и преобразования размерности. Для уровня расширения используются дополнительные инверсные квантователи.

5.3.2 Определения Определения констант

SAMPLE: Число выборок е частотном спектре в пределах от 0 до 2л (=256).

R: Превышение частоты выборок в преобразовании размерности (=8).

ирйглО: Размерность вектора квантования огибающей спектра (=44).

JISU: Порядок фильтра передискретизации в домене с квантованием (=9).

f _ coef[\. Коэффициенты фильтра передискретизации.

Определения переменных

pitch:

pch:

pch_mode: иОГ: send: иО.

HVXCrate: pedvec[]: S£_ gain: SE_ shapel. SE_ shape2: SE_ shape3. SE_ shape4. SE_ shape5. SE_ shaped: gOQ: cbOfl D: cP1Q fl: сМЛЮШП: СМЛГ1ШП: СМЛ12ШП: cMfc[3HJ[]: ref):

re/O. rail :

ip_ratio:

target!):

Индекс величины отставания линейно квантованного шага Значение отставания шага в текущем фрейме Фактор модификации шага

Исходная фундаментальная частота, где SAMPLE представляет 2л Число гармоник в текущем фрейме (между 0 и 3800 Гц)

Целевая фундаментальная частота после преобразования размерности, где SAMPLE* R представляет 2л.

Операционная битовая скорость декодера.

вектор квантованной огибающей спектра в фиксированной размерности.

Индекс усиления огибающей спектра (базовый уровень).

Индексы формы огибающей спектра (базовый уровень).

Индексы формы огибающей спектра (уровень расширения).

Кодовое слово SE_ gain.

Кодовое слово SE_ shapel.

Кодовое слово SE_ shape2.

Кодовое слово SE_ shape3.

Кодовое слово SE_ shape4.

Кодовое слово SE_ shapes.

Кодовое слово SE_ shape€.

Ввод преобразования размерности.

Значения 8-кратного превышения дискретности в преобразовании размерности. Коэффициент линейной интерполяции преобразования размерности.

Восстановленный вектор, обусловленный векторными квантователями для уровня расширения.

ат[]: Восстановленный вектор гармонических величин.

feneq: Среднеквадратичюв значение вектора квантованной огибавшей спектра втекущем фрейме.

feneqold Среднеквадратичное значение вектора квантованной огибающей спектра в предыду

щем фрейме.

5.3.3 Процесс декодирования Декодирование индекса шага

Значение задержки шага в текущем фрейме, pch. декодировано из индекса шага Pitch следующим образом:

pch = Pitch * 20.0

25

ГОСТ Р 53556.2—2012

Модификация шага может быть выполнена делением pch на фактор модификации шага pch_ mod.

pch – pch / pch_ mod

Если модификацией шага управляет поле pitch в узле AudoSource BIFS. коэффициент модификации равен:

pch_mod = pitch

Значение модулированной задержки шага должно быть в пределах диапазона от 8.0 до 147.0.

Тогда число гармоник в частотном диапазоне между 0 и 3800 Гц. send, и фундаментальная частота. wO (где SAMPLE ж R представляет 2х). вычисляются следующим образом:

send – (/nfX0.9S х pch ж 0.5)

иЮв SAMPLE «* pch

Декодирование гармонических величин

Декодирование гармоиичесхих величин состоит из следующих шагов:

(51) Инверсия квантования вектора базового уровня.

(52) Подавление малых сигналов.

(53) Преобразование размерности выхода базового уровня.

(54) Инверсия квантования вектора уровня расширения.

Для режима 2.0 Кбит/с. выполняются вышеприведенные S1. S2 и S3 для того, чтобы получить гармо-ничесхие величины. Для режимов 4.0 и 3.7 Кбит/с в дополнение к S1. S2 и S3 выполняется S4.

В режиме 2.0 Кбит/с используется комбинация двухступенчатого квантования вектора формы и сха-парного квантования усиления, чьиии индексами являются SE_shape1, SE_shape2 и SE^gain. соответственно. Размерность двух книг шифров формы фиксирована (=44). В S1 добавляются два вектора формы, представленные SE_shape 1 и SE_shape2. и затем умножаются на усиление, представленное SEjgain. Вектор огибающей спектра, полученный в S1. охватывает частотный диапазон от 0 до 3800 Гц. Вектор огибающей спектра очень малой энергии затем подавляется в S2. Чтобы получить вектор гармонических величин исходной размерности, send, затем в S3 к вектору огибающей спектра применяется преобразование размерности. В режиме 4.0 Кбит/с используется дополнительная стадия с разбиением схемы VO. составленной из четырех векторных квантователей для уровня расширения. SE_$hape3, SE_shape4. SE_shape5 и SE_shape6 представляют индексы квантователей для уровня расширения. В S4 вывод этих квантователей добавляется к выводу S3 для гармонических величин в самых нижних 14 частотных гармониках. Когда выбран режим 3.7 Кбит/с, SE_shape6 ив доступно, и S4 выполняется для гармонических величин только самых низких 10 частотных гармоник.

Таблиц а 61 — Конфьжу рация |могоступенчатого гармомчесхого VQ

Размерность двухэтапиого V0

4 битовая форма

» 4 битовая форма * 5 битоаоо усиление

на 2.0 Кбит/с

44

Размерность расщепленного

7 битое

10 битов

9 битое

6 битое

VQ на 4.0 Кбит/с

2

4

4

4

Конверсионный алгоритм размерности

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

Число точек, которые составляют огибающую спектра, изменяется в зависимости от значения шага, поскольку огибающая спектра является рядом оценок величин в каждой гармонике. Число гармоник колеблется от 9 до 70. Чтобы получить величин варьируемого количества гармоник, декодер должен преобразовать кодовый вектор фиксированной размерности (=44) в вектор варьируемой размерности. Число точек, которые представляют форму огибающей спектра, должно быть изменено без изменения формы. С этой целью используется конвертер размерности, состоящий из комбинации фильтра нижних частот и линейного интерполятора 1-го порядка. Фильтр нижних частот FIR с 7 наборами коэффициентов. Каждый набор, состоящий из 8 коэффициентов, используется для 8-разоеой передискретизации первой стадии.

26

ГОСТ Р 53556.2—2012

7 наборов коэффициентов фильтра получены, группируя каждые в коэффициентов от реализуемого методом окна sine f _coefp). со смешениями 1 —7. где

мл к (j-32)/8

f_coe^i] = х (i-32>/8 0-5 “ 0-5 cos2xif64) Ой iй 64

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

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

(51) Квантование вектора инверсии базового уровня: qedvecfO] – O.OF.

for (i = 0: i < vqdimO: t*+) qedvecp*1] –

gO[SE_gain)*(cbO{SE_stiape1][i}+cb1[SE_shape2}[i]):

(52) Подавление малых сигналов: feneq = O.Of;

for (i -0:i< vqdimO: b*) feneq ♦= qedveep* 1]*qedvecp*1]: feneq – sqrt(feneqf(float)vqdimO): if (feneq < 1.0f\\

0. 5f*(fenoqofd*feneq) < i.4f) ( for (i = 0; i < vqdimO: i**) qedveep* 1} – O.Of;

}

feneqoki – feneq.

(53) Преобразование размерности вывода базового уровня: for (i -0: i< (JISU‘1)/2; b*)

rep] = O.Of:

for (i = 0; / <= vqdimO: b*] rep*(JISU-1)/2] = qedveep]: for (i = 0: i < (JiSU-1)/2: i**) rep* vqdimO* 1 * (JISU• 1)/2] * qodvecfvqdknO]: wOf-(ftoat)(SAMPLE*0.S*0.9Sy(ftoat)vqdtmQ: ii – 0:

for p = 0: i <- vqdimO && fi <= send: i**) { for (p = 0: p < R && н <- send: p**) { ip_rato = (TR*p*1)*w0f-w0*e: if(ip_ratk> > 0) { ip_ralto/=wOf; retO – rel1 = O.Of: for 0 s 1: i < JISU: j**) { геЮ *= f_coefU’R~pprep*i]: rel1 += f_coef[j’R~(p*1)prep*j]:

}

ampf] = reKTif}_rabo * roll •(l.Of-ip^ratio): ii**:

}

)

(54) Квантование вектора инверсии уровня расширения: targetfO/ = 0:

k = 1:

for (i – 0: i < Z b*. k**) targetfk] = ct>4k[0](SE_shape3]p};

27

ГОСТ Р 53556.2—2012

for (i = 0; i < 4: t**. к**) targetfk) = cb4k[1][SE_shape4][);

for (i = 0; i < 4: h*. k**) targetfk} = cb4k{2)(SE_shapeS}0}:

if (HVXCrate >= 4000){ for (i – 0; i < 4: k*+)

targetfk} – cb4k[3][SE_shape6)[i]:

}

etsef

for fi – 0: i < 4: /++. k++) targetfk} = O.Of:

)

if (send > 14) { for 0 = 15; / <= send: i**) targetfi} – O.Of:

}

for 0 – 0: i <- send: i**) amfi] *- targetfi}

5.4 Декодер временного домена

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

Для неречевых сегментов в составе речи используется схема, которая подобна VXC (Кодирование с векторным возбуждением). Декодер временного домена генерирует форму волны возбуждения для неречевой части, просматривая таблицы и используя переданные индексы. Вектор формы и усиление базового уровня обновляются каждые 10 мс. Форма масштабируется путем умножения каждого отсчета на величину усиления. В режиме 2.0 Кбит/с используется только вывод первой стадии (базовый уровень). В режимах 4.0 Кбит/с и 3.7 Кбит/с умножаются вектор формы и усиление второй стадии (уровень расширения) и добавляются к выводу первой стадии. Форма и усиление уровня расширения обновляются каждые 5 мс.

Таблица 62 — Конфигурация временного домена VQ

1-й этап

(80 мерная 6 битовая форма + 4 битовое усиление) х 2

2-й этап

(40 мерная 5 битовая форма * 3 битовое усиление) х 4

5.4.2 Определения Определения констант

ОшюПаре. Длина фрейма VXC первой стадии (=60).

DiuchapeZ Длина фрейма VXC второй стадии (=40).

Определетя переменных

HVXCrate: Операционная битовая скорость декодера.

cbL0_ gf/]: cbL0_ s[flj]:

сы.1_ т

cbL1_ sf/1/l: VX_ ga/nf(/]; VX_ sftapef[/]: VX_ gain20\: VX_ sftape2[/]:

Вывод декодера VXC (0 S i & FRM). мл вход книги шифров усиления VXC первой стадии.

/•й компонент ьго входа книги шифров формы VXC первой стадии.

Fit вход книги шифров усиления VXC второй стадии.

/•й компонент мо входа книги шифров формы VXC второй стадии.

Индекс усиления VXC но подфрейма (базовый уровень. / – 0.1).

Индекс формы VXC ьго подфрейма (базовый уровень, / = 0.1).

Индекс усиления VXC ьго подфрейма (уровень расширения, i = 0.1.2.3). Индекс формы VXC ьго подфрейма (уровень расширения, / = 0.1.2.3).

5.4.3 Процесс декодирования Для базового уровня: for 0 = О: / < DimSПа ре: i++) resfi] = cbL0_g[VX_gainf0J} * cbL0_sfVX_shapef0}}fi): for 0 = 0. / < DtmShape: i**)

resp ♦ DimShape) – ct)L0_g[VX_gain[1}] *cbL0_sfVX_stiape[1])ft}:

28

ГОСТ Р 53556.2—2012

Добавить уровень расширения. if (HVXCrale >- 4000){ Г 4.0 kbps mode V for 0 – 0: i < 4: i**){ for(i- 0: j < DimShape2: j**H res[j*DimShape2’iJ *-

cbL1_g[VX_gain2p])‘cbL 1_s[VX_shape2(iJ][j):

)

}

)

else{ Г 2.7kbps mode V

for 0 – 0; i < 3; /+*)( for (j = 0; j < DimShape2: j++){ resQ+DimShaperi) *-

cbL1_g(VX_gain2p]}*cbL1 s[VX_shape2(iJ][j];

)

}

}

5.5 Интерполяция параметров для управления скоростью

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

У декодера имеется схема интерполяции параметров, чтобы генерировать ввод для «Синтезатора Речевой Компоненты» и «Синтезатора Неречевой Компоненты» в любой произвольный момент времени. С помощью этой схемы вычисляется последовательность параметров в измененных интервалах и применяется в обоих синтезаторах. Таким образом получается вывод декодера в измененной временной шкале.

5.5.2 Определения Определежя констант.

FRM: Интервал фрейма (=160).

р: Порядок LPC (=10).

Определения переменных

Блок ‘Parameter Interpolatiorr (Интерполяция параметров) вычисляет параметры в измененной временной шкапе, интерполируя полученные параметры.

Работа этого блока состоит в основном из линейной интерполяции и замены параметров. Обозначим массивы оригинальных параметров как: pch [л]: Величина отставания шага в момент времени л.

vuv |л]: Индекс V/UV в момент времени с индексом п.

isp (л] Ю: Декодированные LSPs при временном индексе п (0 £ i < Р).

send [л]: Число гармоник при временном индексе л.

am [п] [/]: Величины гармоник при временном индексе п (0 й i< send [л]).

vex [пт Декодированный сигнал возбуждения VXC при временном индексе л (0£/< FRM).

рагат (л): Параметр при временном индексе л.

и интерполированные параметры как:

mdf _ pch [m]: mdf_ vuv [mj: mdf _ isp (m) [/]: mdf _ send [m]: mdf _ апЦт] [/): mdf _ vex [m] (/]: mdf _ param [m]:

Величина задержки шага при временном индексе т.

Индекс VAJV при временном индексе т.

Декодированные LSPs при временном индексе т (0 £ / < 10).

Число гармоник при временном индексе т.

Величины гармоник при временном индексе т (0 £ / < send (л]).

Декодированный сигнал возбуждения VXC при временном индексе m(0£/< FRM). Параметр при временном индексе т. где л и mявляются временными индексами (номер фрейма) до и после модификации временной шкалы. Интерва/ы фрейма в обоих случаях равны 20 мс. spd: Отношение изменения скорости (0.5 £ spd £ 2.0).

N, : Продолжительность речевого оригинала (полное число фреймов).

N2: Продолжительность речи с управлением осоростью (полное число фреймов).

fre. fr,: Индексы фрейма, смежного с точкой интерполяции.

left, right. Коэффициент интерполяши.

tmp_ vuv: Временной индекс V/UV.

29

ГОСТ Р 53556.2—2012

5.5.3 Процесс управления скоростью Определим коэффициент изменения скорости »ак spd:

spd = N, IN2 (1)

где N, является продолжительностью речевого оригинала и N2 является продолжительностью речи с управляемой скоростью. Поэтому.

0 £ л < N, и 0 й т < Ыг.

Если скоростью управляют соответственно фактору временного масштабирования в none speed узла AudioSource BIFS. отношение изменения скорости равно:

spd = 1!speed

8 основном измененные параметры временной шкалы выражены как:

mdf_ param [т\ = param \т х spd]. (2)

где param являются: pch. vuv. Isp и am. Однако, m х spd не является целым числом.

Поэтому определяем.

fr0-m х spd

(3)

fr, = fr0 + 1.

чтобы генерировать параметры при временном индексе т х spd линейной интерполяцией параметров при временных индексах fr0 и fr,.

Чтобы выпогыить линейную интерполяцию, определим:

left-тх spd – fr0 (4)

right – fir, – m x spd

Тогда уравнение (2) может быть аппроксимировано как:

mdf_ param [mj = param (frj fr0 ♦ param ffrj x left (5)

где param являются, pch, vuv. fsp и ant

Дан k>p [a] [i] и atn(ii] [/] эта лимейнаи **иер1Ю»нция применивши с фиксируемым индексом /.

Параметр vex

vex [л] [г] имеет сигналы возбуждения для фреймов UVe результате просмотра книги шифров. Берутся отсчеты FRM из vex [л] [г], центрированные вокруг времени mxspd, и вычисляется энергия по отсчетам FRM. Затем генерируется состоящий из отсчетов FRM Гауссовский шум. и его норма корректируется так. чтобы его энергия была равна энергии из отсчетов FRM. взятых из vex [л] [/]. Эта последовательность Гауссовсхого шума с регулируемым усилением используется для mdf_vex (я?) [/].

Главная операция изменения временной шкагы может быть выражена уравнением (5). однако до интерполяции нужно рассмотреть решения VJUV при fr0 и fr,.

Стратегии интерполяции и замены, адаптированные к решениям ViUV, описаны ниже. 8 объяснении полностью речевой и смешанный речевой (vuv [л] * 0) сгруппированы как *Voiced” (речевой), и только случай vw[n] – 0 расценивается как •Unvoiced” (неречевой). В случае варьируемой скорости кодирования режим “Background Noise’ (фоновый шум) (vuv [л] = 1) также рассматривается как “Unvoiced’.

Когда решения VAJV при fr0 и fr, являются Voiced—Voiced, новый индекс VAJV mdf_ vuv (m) получают следующим образом: tmp_ vuv = vuv (fr6\ x right ♦ vuv [frf] x left if{tmp_ vuv>2)

mdf _ vuv [m] = 3 else if(tmp _ vuv> 1) mdf _ vuv [m] = 2 else if (tmp_ vuv>0) mdf _ vuv [m] = 1

30

ГОСТ Р 53556.2—2012

Новая величина задержки шага mdf_ pch [m] получается следующим образом: if (0,57 < pch Ifr0] / pch [fr,] &&pch [fr0)lpch [fr,] < 1.75) mdf _ pch [m] = pch [fr0] x right ♦ pch [fr,] x left else

if (left < nght)

mdf _ pch [m] = pch [fro] else

mdf _ pch [m] = pch [fr,]

Все другие параметры интерполированы по уравнению (5).

Когда решения WLTV при fr0 и fr, являются Unvotced— Unvoiced, все параметры интерполируются по уравнению (5). исключая mdf_vex. mdf_vex [л?] [#] генерируется по Гауссовскому шуму, имеющему ту же энергию, что и энергия выборок FRU. взятых из vex [л] [/], це«тированных вокруг времени т х spd.

Когда решения VIUV при fra и fr, являются Voiced — Unvoiced, if lefl<right.

вместо того, чтобы вычислять параметры при mx spd. используются все параметры в момент времени fr0.

if left i right

Вместо того, чтобы вычислять параметры при mx spd. используются все параметры в момент времени fr,.

mdf_ vex [m] [/] также сгенерирован Гауссовым шумом, имеющим ту же самую энергию, что и выборки FRM из vex (fr,] [/]. (0 ii< FRM).

Когда решения VIUV при fr0 и fr, являются Unvoiced— Voiced.

if left<right.

Все параметры во время fr0 используются вместо того, чтобы вычислять параметры при mxspd. mdf _ vex [/л] [г] также сгенерирован Гауссовским шумом, имеющим ту же самую энергию, как энергия выборок FRM из vex (fr0] р]. (0 й i < FRM)

if iefc-right.

Все параметры во время fr, используются вместо того, чтобы вычислять параметры при mxspd. Этим способом получают все необходимые параметры для декодера HVXC. Только применяя эти измененные параметры, mdf_ pawn [т]. к “Синтезатору Речевом Компоненты” и “Синтезатору Неречевой Компоненты” тем же способом как обычный (нормальный) процесс декодирования, получают вывод с измененной времегеюй шкалой.

Очевидно, когда Ыг < W,. выполняется ускоренное декодирование, а когда N2 > N, выполняется декодирование со сниженной скоростью. На спектр мощности и шаг это управление скоростью не влияет, таким образом мы можем получить хорошее качество речи для коэффициента управления скоростью приблизительно 0.5 < spd < 2,0.

5.6 Синтезатор речевой компоненты

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

Синтезатор речевой компоненты состоит из следующих этапов:

• модификация величин гармоник.

• синтез возбуждения гармоник.

• добавлен не шумовой составляющей.

• синтез LPC.

• постфильтр.

Эффективный метод синтеза возбуждения гармоник одежде всего используется для того, чтобы получить периодическую волну возбуждения из величин гармонмс Добавляя шумовую компоненту к периодической волне, получают сигнал речевого возбуждения, который затем подается в фильтр синтеза LPC и постфильтр, чтобы генерировать речевой сигнал. Конфигурация постфильтра не нормативна и описана в Приложении Б.

31

ГОСТ Р 53556.2—2012

5.6.2 Определения Определения констант PI: я = 3.14159265358979….

FRM: SAMPLE: WAVE LEN: WDEVI:

LD LEN. RND MAX: SCALEFAC:

Интервал фрейма (=160).

Длина фрейма анализа (=256).

Длина волны одного периода шага (=128).

Порог отношения фундаментального изменения частоты (=0.1).

Сдвиг интервала декодирования для режима низкой задержки (=20).

Максимальное число, сгенерированное генератором случайных чисел <=0x7fffffff). Масштабный коэффициент для измененных величин гармоник для генерации шумовой

c_dis[i\:

составляющей (=10).

Окно трапецоида для гармонического синтеза шага прерывистая волна показано на рисунке 1 (0 5 i <FRM ♦ LD_ LEN).

ham (/]: ham z[<): HAMLD:

Окно Хэмминга (0 5 / < SAMPLE).

Дополненное нулями окно Хэмминга (0 5 /<2 х FRM). Длина окна Хэмминга для режима низкой задержки (=240).

Р: Порядок LPC (=10).

Определения переменных

ат2 [/]: Гармою«ческие величины в границе окончания интервала декодирования. Они получены

ат_ h И: am_noisa (/]:

как am [/] в 5.3.3.

Измененные величины гармоник на конечной границе интервала декодирования. Измененные величины гармоник для генерации компоненты шума на конечной границе

и*2:

интервала декодироаажя.

Индекс VAJV на конечной границе интервала декодирования. Получен как VJV из потока битов.

vwt:

илО:

рсЛ2:

Индекс VAJV на границе начала интервала декодирования.

Индекс V/UV на границе начала предыдущего интервала декодирования.

Значение задержки шага (отсчет] на коне^мой границе интервала декодирования. Полу

рсЛ1:

sandZ.

sandv.

и02:

м01:

рЛа2 [/]:

f^ha^ [#]:

ovsr2:

ovsrl:

ovsrc:

wave 2 pt

чено как pch (значение задержки шага в текущем фрейме) в 5.3.3.

Значение задержки шага (отсчет] на начальной границе интервала декодирования. Число гармоник на конечной границе интервала декодирования.

Число гармоник на нача/ъной границе интервала декодирования.

Фундаментальная частота на конечной границе интервала декодирования [radJsampie]. Фундаментальная частота на начальной границе интервала декодирования [/edteampfe]. Значения фазы гармоник на конечной границе интервала декодирования.

Значения фазы гармоник на начальной границе интервала декодирования. Коэффициент передискретизации на конечной гра»мце интервала декодирования. Коэффициент передискретизации на начальной границе интервала декодирования. Линейно интерполированный коэффициент передискретизации.

Форма волны периода в один шаг. сгенерированная из шага и величин гармоник на

travel pi:

конечной границе интервала декодирования (05 i< WAVE_ LEN).

Форма волны периода в один шаг. сгенерированная из шага и величин гармоник на начальной границе интервала декодирования (05/< WAVE^ LEN).

Jjp12.(jo12r:

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

(p1. Jjp2. Ip2r.

Длина передискретиэированной формы вопш, необходимая чтобы восстановить форму

St.

волны интервала декодирования (в случае прерывающегося перехода шага). Смешение для циклического расширения wava2 [/] на начальной границе интервала де

iflaft. iflat2:

кодирования.

Длина периода, где интерполяция параметров не производится в домене перекодирования (для режима малой задержки).

out2 {): ot41 |): ot43():

Циклически расширенная форма волны, генерированная из nave2 (ij.

Циклически расширенная форма волны, генерированная из navel [/].

Взвешенная перекрытая и добавленная циклически расширенная форма волны в интервале декодирования, сгенерированная из о*41 (] и о*42(] (в случае непрерывного перехода шага).

32

ГОСТ Р 53556.2—2012

sv2 [/]: Повторно квантованная форма волны из out 2 [] (в случав прерывающегося перехода

шага, 0 5/ <FRM).

svl [/]: Повторно квантованная форма волны изоиП [] (в случае прерывающегося перехода

шага, 0 £i<FRM).

sv (/]: Сгенерированный сигнал речевого возбуждения (0 £ / <FRA4).

ns ffl: Гауссовский шум с нулевым средним и единичной дисперсией (0 £ i < SAMPLE).

wns [fl: Взвешенный функцией Хемминга Гауссовский шум (0£/< SAMPLE).

rue [/]: Массив амплитуд спектра (0 £ / < SAMPLE / 2).

апд [/]: Массив фаз спектра (0 & / < SAMPLE / 2).

re (/]: Вещественная часть коэффициентов FFT(0£/< SAMPLE).

■о [/]: Мнимая часть коэффициентов FFT (0£/< SAMPLE).

wO. Фундаментальная частота текущего фрейма, где 2* выражен как SAMPLE (- 256).

ens [0: Результат IFFTтекущего фрейма для генерации шумовой компоненты (0 й /< SAMPLE).

cns_ 2 [/]: Заполненный нулями массив для cns|j(0^/<2хРРМ).

cns_ z _р (/]: cns_z [) предыдущего фрейма для перекрытия и добавления (0 й i <2 xFRM).

adoLuv [/]: Сгенерированная шумовая компонента в интервале декодирования (0 £ / <FRM).

lsf>2 [): Декаактованные LSPs текущего фрейма, полученные как gLsp{] в 5.2.3.

йр1[]: Дехвантованные LSPs предыдущего фрейма.

Ispip [] []: Интерполированные LSPs.

Mpaip f) [); Коэффициенты линейного прогнозирования, преобразованные из интерпогмрованных

LSPs Ispip [) П-Определения функций

random^): Генератор случайных чисел, который возвращает случайные числа в пределах отО

до RND_ МАХ.

сеЦх): Функция, которая возвращает наименьшее целое число, большее чем или равное х.

воог(х): Функция, которая возвращает наибольшое целое число, меньшее чем или равное х.

5.6.3 Процесс синтеза

Алгоритм синтеза может применяться как для режима нормальной задержки, так и для режима малой задержки. Для режима малой задержки используется смещение интервала декодирования LD_ LEN. Синтезированная форма волны охватывает от N=-160 ♦ LD_ LEW [выборка] до N= О ♦ LD_ LEN [выборка). N- 0 представляет собой центр текущего фрейма. Если сдвиг фрейма равен 0 (LD_ LEN – 0). синтезируемая форма волны идентична форме режима нормальной задержки. Это показано на рисунке ниже.

Во еремя периода от N- 0 до N- LD_LENзадержка шага, величины гармоник и параметры LSPne интерполированы и сохраняются. Если LD_ LEN – 0. задержка декодера равна 10 мс. а если LQ_ LEN – 20. задержка декодера равна 7.5 мс.

Рисунок 1 — Интервал декодирования

5.6.3.1 Модификация величин гармоник

Гармонические величины. ат2(/]. изменены для гармонического синтеза возбуждения и шумового составляющего поколения независимо согласно индексу VJUVтекущего фрейма, vuv2.

Измененные величины гармоник am_b[i] для синтеза возбуждения гармоник и ат_ логаер] для генерации шумой компоненты получают как описано ниже.

Когда индекс VIUV. vuv2.0. ничего не делается (работает только декодер VXC).

33

ГОСТ Р 53556.2—2012

Когда индекс VAJV. vw2. равен 1:

am2[i] (1 £ / < send! х В_ ТН1)

am2[i) у. АИЛ (cend2xB_TH\^i^send2)

am_notse(/]

JO (1£/<se/xf2x8_7W1)

[SCAL£FACxam2(/] xAN\ (send2x B_ ТЖ £ г £send2)

Когда индекс VAJV. vuv2. равен 2:

am2[i) (l£/<ser?d2x 8_TH2)

an?2(/]xAW2 (senc/2xS_TH2£i<ssnd2 x8_TH2_2)

am2[i\ xAH2_2 (send2xB_TH2_2£i <send2)

am _ noise [/]

0 (l£/<senP2x8_7H2)

SCALEFACxam2[i] xAN2 (send2xB_TH2Zi<send2 xB_TH2_2) SCALEFAC xam2[i\x AN2J2 ($end2x B_TH2_2£i£send2)

Когда индекс VAJV. vuv2. равен 3:

am2[i] (Mi<sand2xB_TH3) am2[i] xAH3 (send2x B_ TH3 £ / £send2)

am_noisa[i]

JO (l£r<send2xB_7H3)

lSCALEFAC x am2 [/] xAN3 (send2 x B_ TH3 £/ £ seod2)

Таблиц a 63 — Значения констант для мооификэцм вели» м ы гармоник: 2.0 Кбит/с

В тнл

АЛЛ

АН1

В ТН2

АЫ2

АН2

ВТИ22

AN2 2

АН2 2

В тнз

AN3

АНЗ

0.5

0.4

0.8

0.5

0.3

0.9

0.85

0.5

0.5

0.7

0.2

1.0

4 Кбит/с

В ТИЛ

АЛЛ

АНЛ

В ТН2

AN2

АН2

ВТН2 2

AN2 2

АН2 2

В ТНЗ

AN3

АНЗ

0.5

0.3

О)

о*

0.5

0.3

0.9

0.85

0.5

0.5

0.8

0.2

1.0

5.6.3.2 Синтез возбуждения гармоник

Сигнал возбуждения гармоник sv(/J (0 £ i <FRM) может быть получен методом быстрого синтеза, состоящим из IFFTи преобразования частоты дискретизации.

Во-первых, используя величины гармоник и значения фазы, форма волны за период одного шага генерируется /FFT. Согласно непрерывности шага, выбирается одна из двух различных операций циклического расширежя и перевыборы формы волны за один период шага и выполняется, чтобы получить сигнал возбуждения гармоник.

Генерация формы волны за период одного шага.

Фундаментальная частота в начальной границе интервала декодирования. *01. вычислена как

w01 = 2,СГР1фсМ.

Фундаментальная частота в конечной границе интервала декодирования. *02, вычислена как

w02 – 2.0’Р1фсД2.

Значения фазы гармоник в конечной границе интервала декодирования. рЛа2(]. вычисляются из значений фазы гармоник в начальной границе. рАа1{) Когда и индекс VAJV а начале текущего интервала декодирования, vuv1. и индекс VAJV в начальной границе предыдущего интервала декодирования. vuvO. 0 [Unvoiced), значения фазы гармоник pha2[\ инициализируются, используя случайные значения фазы, равномерно распределенные между 0 и 0.5*.

34

ГОСТ Р 53556.2—2012

Для режима нормальной задержки: if (vuv1 == 0 && vuvO —0){ for 0 – 0: i < WAVE_LEN/2; i**) pha2p]-O.S*Pr(ftoat)random(y(float)RND_MAX:

}

else {

for 0-0:i< WAVEJ-EN/2: /♦♦) pha2fi)-pha1fi] * 0.S'(w01*w02)TFRM;

}

Для режима малой задержки: if (vuv1 =* 0 vuvO — 0) ( for fi-0:i< WAVE_LEN/2; /♦♦) pha2ffl – O.S*Pr(fk>at)random(y(fhat)RND_MAX:

)

else {

for (i – 0; i < WAVE_LEN/2; /**) {

pha2fi] – phalfi] * 0.5’(w01 *w02)T(FRM-LD_LEN) * w01 *i*LD_LEN:

}

На конечной границе интервала декодирования имеется спектр с sen<f2 гармониками, чьи величины равны ат_ />[/] (1 £/£ send2), а значения фазы равны pha2 [(] (1 £/£ send2). Добавление нулей к этим массивам приводит к новым массивам с компонентами WAVE_LENf2 (= 64) в пределах от 0 до л. Если send2 больше чем 63, используются первые 64 значения ofam_ ftf/J и pha2[i\. 128 точек IFFT применены к этим массивам значений величин и фазы с ограничением, которое дает в результате вещестеежые числа. Теперь есть форма волны передискретизации за период одного шага. wave2 [/] (0 £ /< WAVEJLEN).

WAVE_LEN (= 128) отсчеты используются, чтобы выразить период одного шага формы волны. Так как фактическое значение задержки шага равно pch2. скорость передискретизации ovsr2 равна

ovsr2 – WAVE_LEN/pch2.

Аналогично скорость передискретизации ovsrl для формы волны за период одного шага на начальной границе интервала декодирования, wavel []. равна

ovsrl = WAVE_LEN/pch1.

Проверка непрерывности шага

Когда отмошегыв фундаментальных частот. |(w02-w01)/tv02|, меньше чем WDEVI(- 0.1% то переход шага непрерывен. В таком случае фундаментальные частоты и величины гармоник линейно интерполируются между началом и окончанием интервала декодирования. Иначе, это рэсцененивается как прерывистый переход шага, а фундаментальные частоты и величины гармоник не интерполированы линейно. В этом случае добавляются независимо синтезируемые периодические формы волны, используя соответствующие высоеые функции.

Циклическое расширение и операция передискретизации (непрерывный переход шага)

Формы волны за период одного шага. waye1(] и wave2[]. циклически расширены соответственно, чтобы иметь достаточную длину в домене с чрезвычайной передискретизацией.

Длина сверхдискретиэироеанмой формы волны, необходимая чтобы восстановить форму волны длины FRM(= 160) при оригинальной частоте дискретизации (8 кГц), составляет не менее £12.

Для режима нормальной задержки:

/р/2 =

ceil(FRbrO, 5 ‘(overt *ovs/2)):

Ipl2r-

fioor(FRKT0. 5 ‘(ovsrt *ovsr2}*

0.S);

st = WAVEJ.EN -(tp12r%WAVE_LEN): for (i – 0; i < lp1Z i**) { outlp] = wave1[l%WAVE_LEN); out2(i] –

wave2[(st*i)%WAVE_LEN];

)

35

ГОСТ Р 53556.2—2012

Для режима малой задержки: lpi2 – c&t((FRM-LD_LEN)*0.5′(over1 +ovsr2)*LD_LEN*ovsr1);

Ipl2r – f)oor((FRM-LD_LEN) V,S*(ovsr1 +ovsr2)+LD_LEN*ovsr1 +0.5):

St – WAVE_LEN – (!p12r%WAVEJLEN) ifiatl -Roor(ovsn’LD_LEN*C.5) ifiat2 – fk>or(ovsr2’LD_LEN*C.5) for (i = 0:i < Ip12+tfiat2+10: i++) { out1(>) – wave1[i%WAVE_LEN}; оut2[i] – wave2[(st+i)%WAVE_LEN};

}

У этих двух форм волны. оиМ[] и out 2(]. есть тот же самый «псевдо» период шага (-WAVE_LEN [samp/e]). и они выравниваются. Так простое добавление этих двух форм волны, используя треугольные окна производит форму волны ои&(}.

Для режима нормальной задержки: for (i – О: i < Ip12: i**) out3[i] – out1(iT(fhat)(lp12~i)/(float)lp12 ♦ out2f<r(fk>al)i/(fiaai)lp12.

Для режима малой задержки: for (i – 0: i < ifiatl: h*) out3p] – outlfi): for (7 = ifiatl: i < tp12: i**) out3p] – out1ffl*(fk>at)0p12-i)/(ftoat)(lp12-iflat1)

+out2pr(float)(h-tiatiy(fk>at)(lp12-dlat1): for(i = Ip 12; i < lp12*iflatZ i**) out3[i] – oul2fil

Наконец. ouf3Q должен быть лередискретиэировак так. чтобы получающаяся форма волны могла быть выражена в оригинальной частоте дискретизации (8 кГц). Эта операция возвращает форму волны из домена «псевдо» шага в домен фактического шага. Операция передисхретизации:

sv М = оиГЗ [f (/)) (0< / <FRM). где

W) =* fcfovsrl –F-^± + ovsr2 -^f)dt.

Функция fo) отображает время индекса / из оригинальной частоты дисхретизации (8 кГц) к индексу времени в over-sampledrate при условии, что фундаментальные частоты. и01 и и02, линейно интерполиро* ваны. С тех пор ДО doesnot возвращают целочисленное значение, svft] получен, линейно интерполируя ot*3 (/(/) ] и out3 [Г(/) ].

Для нормального режима задержки: sv(0J – outm т-0:

for (7= 1; i < FRM; i+*) { ovsrc – ovsrt *(fk>at)(FRM-i)/(float)FRM ♦ over2*(ftoat)i/(hoat)FRM: ffi *= ovsrc: ffim = ftoorfffi): fffo = ceH(fH): if (ffim == mp) svfi] = out3((int)ffip]; else

svp] = (ffi-mm)*out3{(int)ffip] * (ffip-fl1) ’out3f(int)fHm):

}

Для режима малой задержки: sv(0J – out3[(flat1J;

т-0:

for (i — 1; i < FRM; i**) {

36

ГОСТ Р 53556.2—2012

ovsrc=о vsrt ‘(ftoat)(FRM-LD_LEN-iy(fioat)(FRM-LD_LEN)

♦ over2*(ftet)i/(fk&)(FRM-LD__LEN): ffi ♦= ovsrc:

ffim = fioorfffi): ffip – ceii(ffi); if (ffim == ffip) svfi7 = oufiffirtJffip+iSaff/; else

svfi] = (ffi-ffim) ‘out3{(int)ff>p+iflat1}

♦ (ffip-ffi)*out3{(int)ffim*ifIat1]:

}

Циклическое расширение и операция передискретизации (прерывистый переход шага)

Формы волны за один период шага. wave1[] и wave2[] циклически расширены, чтобы иметь достаточную длину в домене передискретизации. И на начальной и на конечной границах интервала декодирования получены циклически расширенные формы волны. ot/M(] и out2[].

Ip1 = cei(FRM*ovsr1):

Ip2 – cei(FRM*ovsr2):

lp2r-fioor(FRM’ov&r2*0.5):

st – WAVE_LEN- (lp2r%WAVE_LEN)

Для режима нормальной задержки: for (i = 0: i < fp1: i**) out1[i] = wava1[i%WAVE_LEN]; for (i = 0: i < Ip2: i**) out2[i] – wava2((st*i)%WAVE_LEN]

Для режима малой задержки: ifiatl =fioor(ovsr1’LD_LEN+O.S); ifiat2 = fioor(ovsr2*LD_LEN+0.5): for fi = 0: i < Ip1+iflat1+10: i**) оutlfi] – wave1[i%WAVE_LEN], for (i = 0: i < Ip2+if}at2+10: i**) out2[i] – wave2/(‘st^)%M^Ve_L£M.

где ф1 и /р2 — длина передискретизированныхформ вогыы, необходимая чтобы восстановить форму волны длиной FRM (= 160) при первоначальной частоте дискретизации (8 кГц).

Эти две формы волны, otrtl Q и ои(2 [), передискретизмруются независимо. используя тот же самый метод л шейной интерполяции как в случае «непрерывного перехода шага».

Для режима нормальной задержки: sv1{0] – outlfO£ ffi = 0:

for (i = 1; i < FRM. /♦♦) { ffi ♦= ovsrl: ffim = ftoorfffi): ffip – ceil(ffi): if (ffim == ffip) svT/»/ = out1((int)ffip): else

svlfi] = (ffi-ffim)’out 1[(int)ffip] ♦ (ffip-ffi)*otrtf/(tftf)ffim);

;

sv2f0] – out2[0): ffi-0:

for (i – 1: i < FRM: i**) { ffi *- ovsr2: ffim – fioorfffi): ffip – cei(ffi); if (ffim == ffip) sv2[i) = out2ffint)ffip]:

37

ГОСТ Р 53556.2—2012

else

sv2p] = (ffi-ffimyoiA2l(int)ffip} ♦ (mp-fR)9out2[(int)ffim):

}

Для режима малой задержки: sv1{0J – out1{(fiat1};

т-0:

for (i — 1: i < FRM; i+*) { ffi ♦= ovsrl:

№m = fioorfffi):

mp = сей(т);

if (ffim == mp) svfffl – ovtl((int)ff>p+met1]; else

svlp} = (ffi-ffimj *oo( 1 ((int)ffip +iflal 1)

* (ffip-ffi) ‘outlftintjffim+fflatl]:

}

sv2[0] = оut2pftet2]:

Q:

/br|7 = 1: i < FRM: h+) { m *- ovsr2: mm – fioorfffi): mp – ceiifm); if (mm == mp) sv2[i) = out2[(int)ffip+iftet2]: else

sv2[i] = (ffi-mm)*out2f(int)mp+iflat2)

* (ffip-ffi) ‘out2{(int)mm*if)at2):

}

Используя лере дискретизированные формы волны при первоначальной частоте дискретизации (8 кГц), svl () и sv2 [] тогда перекрываются и добавлены окном трапецоида с_(#з0. показанным на рисунке 2. те НР_ UP – НМ_ DOWN = 60. НМ FLAT= 50. for 0 = О: i < HM_FLAT: /**) c_disfij = 1.Ж

for 0- HM_FLAT: i < HM_FLAT*HM_DOWN; /♦+) c^disp) – (~i+(HM_FLAT+HMJX)WN)y(fk>at)HM_DOWN: for (i – HM_FLAT+HM_DOWN; i FRM; i**) c_dtsft] = 0.Л:

Для режима нормальной задержки: for (i = О; / < FRM; i**) svfi] – svlppc^disfi} * sv2[ij‘(1.0 – c_dtsfij).

Для режима малой задержки: for (i = О; / < FRM;

svfi] – svWcjSis[t+LDJ.EN} ♦ sv2[i}*(1.0 – + LD_LEN))

Рисунок 2 — Окно синтеза для прерывающегося шага 38

ГОСТ Р 53556.2—2012

5.6.3.3 Генерация шумовой компоненты

Для генерации шумовой компоненты для речевого возбуждения сначала генерируется белый Гауссовский шум. Затем он настраивается по цвету и усилению модифицированными величинами гармоник. am_ notse(l. а чтобы генерировать непрерывную шумовую компоненту во временном домене используется взвешенное перекрытие и добавление.

Сначала определяется окно Хемминга длины SAMPLE{= 256). Aamfi].

Для режима нормальной задержки, for (i * 0: / < SAMPLE: »*) hamp] – 0.54-0.46’cos(2.0’PtV(SAMPLE-1))

Для режима малой задержки for 0 – О: / < (SAMPLE-HAMLDV2: i**) bamp] = 0.0:

for р — (SAMPLE-HAMLD)/2; i < (SAMPLE*HAMLD)/2: i++) bamp] = 0,S4~0.46’co$(2.0*PIV(SAMPLE‘1)); for (i = (SAMPLE*HAMLD)/2: (< SAMPLE: i**) hamp] = 0.0:

ham[] окна нормализуется, чтобы получить единичную энергию.

Пусть nsp) (Ой i < SAMPLE) будет отсчетами белого Гауссовского шума с нулевым средним значением и единичной дисперсией. Затем окно Хэмминга hamp]умножается на nsp)и получается wnsp). for p = 0:i< SAMPLE: i**) wnsp] = nspj’hamp):

Обсчитывают256 lcnetiFFTwnsp) и вычисляют массив спектральных амплитуд плср){0й1й SAMPLE/2) и массив спектральных фаз апдр]{0й1й SAMPLE12) как for 0- 0: i <- SAMPLE/2: i**) ( rmsp) – sqrt(rap]*rep]*imp]*imp]): angp] = atan2(imp]. rap]):

}

где rap](0& I< SAMPLE) и imp](QSi< SAMPLE)являются вещественной частью и мнимой частью коэффициентов FFT. соответствен**}. Затем спектральное среднеквадратичное значение амплитуды лисП настраивается по цвету и усилению модифицированными гармоническими величинами. am_r)o*se(). (wO является фундаментальной частотой текущего фрейма, где *0 значение SAMPLE представляет собой 2х).

for (i = 0: i <= sand2: i**) { if (i — 0) ib = 0: aisa

Ib = ub+1: if (i — send2) ub = SAMPLE/2 alsa

ub – ftoor((ftoat)i*w0*w0/2.0*0.5): if (ub >= SAMPLE/2) ub = SAMPLE/2: bw – ub~ib*1: s = 0.0:

for (j – lb; j <- ub: j**) s *- rms[j]*rmsp]: s – sqrt(s/(ftoat)bw): for 0 – lb: j <= ub: j**) rmsp] *= am noisapys:

}

256-точечный IFFT вычисляется с настроенным no цвету и усилению массивом спектральных амплитуд ппс [] и исходным массивом спектральных фаз апд(] с ограничением, что результат будет вещественными числами. Пусть результат IFFT будет cns{/] (0 й I й SAMPLE).

39

ГОСТ Р 53556.2—2012

Когаз текущий фрейм является ’Unvoiced”, frame (vuv2 – 0), cnsf] = 0.0 (0 S / < SAMPLE).

Чтобы генерировать сигнал шумовой компоненты по интервалу декодирования, выполняется взвешенное перекрытие и добавление результата IFFT предыдущего фрейма. Массив cns_ z[i] (0 й i < 24 FRM) получен путем дополнения (FRM – SAMPLE/2) нулей к обеим сторонам (начало и окончание) cnsf]. for (i = О: / < FRMSAMPLE/2: Ь*) cns_z[i] = 0.0:

for (if = FRM-SAMPLE/2: i < FRM+SAMPLE/2: i**) cns_zfij – cnsp-FRM*SAMPLE/2): for (i = FRM+SAMPLE/2; i < 2’FRM: r++) cns_zpj – 0.0.

Тем же самым способом, дополненный нулями массив окна Хэмминга ftam_ z[i]

(0 й i < 2 Ч FRM). определен как: for (i — О: i < FRM-SAMPLE/2: >+*) ham_zfi] – 0.0;

for (i = FRM-SAMPLE/2; i < FRM*SAMPLE/2; h*) bamjzfi) = ham[t-FRM+SAMPLE/2); for (i – FRM*SAMPLE/2: i < 2’FRM: fr+) ham_zft) = 0.0.

Обозначи м cns_ г[} предыдущего фрейма как cns_ г _ р{]. Теперь шумовая ком помента по интервалу декодирования. add_uv(ij (О S / < FRM), получается объединением cns_ z[) и cns_ z _ р[].

Для режима нормальной задержки: for (i = 0: # < FRM; i**)

add_uv[i] = (cns_z_p{FRM*i}*ham_z(FRM*i]*cns_zp]’ham_z[i)) /(ham_z[FRM*i)’ham_zfFRK1*i]*ham_z(t}’ham_z(iJ)

Для режима малой задержки шумовая компонента в сдвинутом интервале декодирования получается следующим образом:

for 0 – О: I < FRM-LD_LEN: h+) add_uv{i] – (cns_z_p{FRM+t+LD_LENf’ham_z{FRM+i+LD_LEN}+ cns_zfi*LD_LEN)’ham_zft*LD_LEN))

/(ham_z{FRM+i+LD_LEN}*ham_zlFRM+f+LD_LEN)

*ham_zp*LD_LEN}’ham_zfi*LD LEN]). for (i = FRM-LD_LEN; i < FRM: add_uvpj – cns_zp+LD_LENjmam_zp+LD_LENj).

Шумовая компонента add_uv{i] добавляется к сигналу возбуждения гармоник svfl. чтобы создать сигнал речевого возбуждения: for (i = О: i < FRM; i+*) svfi) *- add_uvfi]:

5.6.3.4 Синтез LPC

Сигнал возбуждения, полученный ранее, si/fi] (05i< FRM). подается на фильтр синтеза LPC. коэффициенты которого обновляются каждые 2.5 мс (=20 отсчетов).

Линейным интерполированием деквантованных LSPs предыдущего и текущего фрейма. Jspl[] I) и /sp2|) Н.получают 8 наборов интерполированного LSPs, Ispipi) []. for (/ = О: i < 8: for (j = 0:j < P; j**)

Ispipft)Ш – (2.0’n1.0yi6.0’fsp2[j} * i16.0-2.0’i-1.0)/16.04sp10}.

Для режима малой задержки, так как интервал декодирования сдвинут на LD_ LEN(= 20) отсчетов (2.5 мс). интерполяция LSPs выполнена для первых 17.5 мс интервала декодирования, показанного на рисунке 9. a LSPs текущего фрейма. /др2(). используется для последних 2.5 мс без интерполяции, for |7 = О: i < 7: for Q- 0; j < Р; j**)

fsppPJOl- (2.0’i*1.0yi4.0*lsp2{j) ♦ (14.0-2,0’

^1.0yi4.0tSf>1U}: for (j – 0;j < P. j**)

Ispipf7][j} = lsp2[j]:

40

ГОСТ Р 53556.2—2012

8 наборов интерполированных LSPs, []. преобразованы в коэффициенты линейного прогнозиро

вания. афаф[] []. соответственно.

Функция преобразования йо интервала 2.5 мс (20 отсчетов) фи/ътра синтеза LPC равна

НМ)

Хаф/iar (<](п]2л

4*0

(0 £ / < 8)

Выход фи/ътра синтеза LPC подан в постфильтр, описанный в Б.1.3.1. Выходной сигнал находится в диапазоне от -32768 до 32767.

5.7 Синтезатор неречевой компоненты

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

Синтезатор неречевой компоненты составлен из трех шагов, которые являются выделением окон неголосоеого сигнала возбуждения, фильтром синтеза LPC и работой постфильгра. Для неречевых сегментов используется схема VXC (CELP).

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

Определения констант

FRM:

LD_ LEN. w_celp_upp] w_ceip_downfi]. Р.

Интервал фрейма (-160).

Сдвиг интервала декодирования для режима малой задержки (=20). Окно из речевого фрейма в неречевой фрейм (0 £/< FRM ♦ LD_LEN). Окно из неречевого фрейма в речевой фрейм (0 £i< FRM * LD_LEN). Порядок LPC (=10).

Определегмя переменных

qRes pi Декодированный неречевой сигнал возбуждения, получвнньй как res (4 в 5.4.3 (0£/< FRM).

otd_qRes ftp. Последняя половина декодированного неречевого сигнала возбуждения предыдущего фрейма (0£r< FRMI2).

suvp]: Неречевой сигнал возбуждения по интервалу декодирования (0 £/< FRM).

vw2: Индекс VAJV текущего фрейма, полученный как VUV в потоке битое.

vw1: Индекс VAJV предыдущего фрейма.

Isp2[]: Деквантоеанные LSPs текущего фрейма, полученного как pLsp[j в 5.2.3.

Isp1[j: Д©квантованные LSPs предыдущего фрейма.

aipha2[}- Коэффициенты LPC. преобразованные из LSPs Isp2[],

afphaltf. Коэффиииенты LPC, конвертированные из LSPslsp1[],

5.7.3 Процесс синтеза

Сигнал неречевого воэбужде»мя в интеовале декодирования. suvtl. сгенерирован из декодиооеанмо-го сигнала неречевого возбуждения текущего фрейма. Q/?es(]. и последней половины декодированного сигнала неречевого возбуждения предыдущего фрейма. otd_qRes[]: for (i = О; i < FRU/2; /+♦) { suvp] – okijqResp]. suvp+FRM/2} – qResp]: old_qRes[i] = qResp+FRM/2);

}

Для режима малой задержки используется сигнал возбуждения сдвинутой версии выборок LD_ LSV(= 20): for (i = О: # < FRM/2-LD_LEN; t*+) { suvp] – oW_ qRes[i+LD_LEN}; suvp*FRM/2] = qResp*U>_LEN]: okf_qResp] – qResp+FRM/2]:

}

for (if = FRM/2-LD_LEN; i < FRW2: /+*) { suvp] = qResp-FRM/2+LD LEN]; suvp+FRM/2] – qResp*LD_LEN): okf_qRosp] – qResp*FRM/2]:

}

Сгенерированный сигнал неречевого возбуждения является реализуемым методом окна, чтобы подключаться к речевому фрейму. Рисунки 3 и 4 показывают форму окна для формы волны возбуждения, где VAJV переходит от неречевого к речевому и от речевого к неречевому, соответственно. Параметры на рисунке установлены как: TDJJP-30. TDJFLAT- 50. TD_ DOWN = 30. НМ_ DOWN = 60. НМ_ FLAT-50.

41

ГОСТ Р 53556.2—2012

HMJUP – 60. Эти окна для неречевого фрейма используются, только когда неречевой фрейм смежный с речевым или смешанным речевым фреймом. for(i – О: / < FRM-TD_UP-TD_FLAT; i++) w__c&p_up[i] = 0.0:

for(l= FRM-TD_UP-TD_FLAT: i < FRM-TD_FLAT; i++) w_c&p_up[i) = (fk>at)(>-FRM+TD_ UP* TD__FLAT)/(ftoat) TD_ UP: for (FRM-TDJFLAT; i < FRM+LDJLEN; i++) w_ce/p_upp] -1.0: for (i = 0;i< TDJFLAT; i++) w ceip_down[i] = 1.0:

for(i— TD__FLAT; i < TD_FLAT+TD_DOWN;i++) w_ceip_down[i] – (floai)(TD_FLAT+TD__DOWN-iy(flaat)TD_DOWN. for (i = TD_FLAT+TD_DOWN: i < FRM+LDJLEN; i++) w_ceip_downfi]=0.0:

Для режима нормальной задержки: if (vwl /= 0 && vuv2 О) { for (i – 0: i < FRM: i++) s_uvp] – O.Of:

}

else if (vuv1 !- 0 && vuv2 -= 0) { for (i – 0: i < FRM: i++) s_uvfi} *= w_celp_upp]:

}

else if (vuv1 —0&& vuv2!- 0) { for (i = 0: i < FRM: i++) s_uvp} *- w_celp_downp}

}

Для режима малой задержки позиция работы с окнами сдвинута выборками LD_ LEN: if (vuv1 /= 0 && vuv2 Is О) { for (i – 0: i < FRM; i++) s_uvp) – O.Of:

}

else if (vuv1!- 0 <£<£ vuv2 — 0) { for (i = 0: i < FRM: i++)

3_uvp] *« w_oefp_uf>p*LD_LEN]:

)

else if (vuv1 — 0 .&<£ vuv2!- 0) { for (i – 0: i < FRM: i++) s_uvfi] *= w celp_dowr[t+LD_LEN]

}

Рисунок 3 — Окно сжтеза для случая неречееой/речееой

42

ГОСТ Р 53556.2—2012

Голосовой фрейм Неголосовом фрейм

Первая половина неречевого сигнала возбуждения. suv[j] (0 5 / < FRM/2). подается в фильтр синтеза LPC

Н,(2) = -*-,

£аДОа/г1 tnjz‘”

№•0

где attain являются линейными прогнозирующими коэффициентами, преобразованными из декв аи-тованных LSPs предыдущего фрейма. IspU). Когда вторая половина неречевого сигнала возбуждения. suv р) [FRM/2H < FRM). подается в фильтр синтеза LPC. функция преобразования переключается в

Н2(*)= ——.

Xa/phair2 [л]г л

п«о

где alpha#] являются линейными прогнозирующими коэффициентами, преобразованными из двкваи-тоеанных LSPs текущего фрейма. &р2Ц.

Дпп режима малой задержки, так как интервал декодирование сдвинут на LD_ LENвыборок. нере»»е вой сигнал возбуждения, suvfi]{0йг< FRM/2-LD_LEN). подается в фильтр синтеза LPC H,(z). а неречевой сигнал возбуждения. (FRM/2 – LD_ LEN £/< FRM). подается в фильтр синтеза LPC Н^г).

Выход фи/ътра синтеза LPC подается в постфильтр, описанный в Б.1.3.2. Выходной сигнал находится в диапазоне от -32768 до 32767.

5.8 Декодер варьируемой скорости

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

Инструмент для декодирования переменной скорости с ядром HVXC.

Этот инструмент позволяет HVXC работать в потоках данных с переменной скоростью, где средняя битовая скорость уменьшена до 1.2—1.7 Кбит/сдля типичного речевого материала. Главная часть алгоритма составлена из «декодирования фонового шума», где только биты режима получают во время «режима фонового шума», и неречевой фрейм получают через определенный промежуток времени для генерации фонового шума.

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

Определения констант

BGN_INTVL: Максимальный интервал фонового шума (=8).

Определения переменных ktVUV: Решение УЛ/Утекущего фрейма.

pfBvLSPI: Вектор ранее переданного LSP.

prevLSP2. Вектор ранее переданного LSP прежде prevLSPI.

bgnCnt Счет последовательных фреймов «Фонового шума».

43

ГОСТ Р 53556.2—2012

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

idVUV— параметр, который имеет в результате решение VAJV и определенный как:

idVUV =

0 Непроизнесенная речь

1 Интервал фонового шума

2 Смешанная вокализованная речь

3 Вокализованная речь

Используя метод обнаружения фонового шума, кодирование с варьируемой скоростью выполняется на базе фиксированной битовой скорости 2.0 Кбит/с HVXC.

Таблица 64 — Распределение разрядов закодированных параметров для режима варьируемой битовой скорости

Pexira (ktVUV)

Фоноаим шуи {11

t/V(0)

UV {2». V (3)

V/UV

LSP

Возбуждение

2 бит/20 мс 0 бит/20 мс 0 бит/20 мс

2 бит/20 мс 18 бит/20 мс 8 бит/20 мс (только усиление)

2 бит/20 мс 18 бит/20 мс 20 бит/20 мс

(Основной тон и гармонические параметры спектра)

Совокупно

2 бит/20 мс 0.1 Кбит/с

28 бит/20 мс 1.4 Кбит/с

40 бит/20 мс Z0 Кбит/с

Для Смешанной вокализованной речи и Вокализованной речи (ktVUV = 2.3) используется тот же самый метод декодирования, как для режима фиксированной битовой скорости.

В декодере содержатся два набора параметров LSP. pnevLSPI и prevLSPl, где prevLSPI представляет ранее переданные параметры LSP. a prevLSPZ представляет ранее переданные параметры LSP прежде prevLSPI. Для фрейма Фонового шума (ktVUV = 1). декодер VXC используется тем же самым способом как для фрейма UV. но никакие параметры LSP не передаются. Сгенерированные линейной интерполяцией параметры LSP prevLSPI и prevLSP2. используются для синтеза LPC. и тот же самый индекс усиления предыдущего фрейма используется для генерации возбуждения декодирования VXC. Во время фрейма Фонового шума, через каждые (BGN_ INTVL ♦ 1) (-9) фреймов вставляется фрейм Не во кал изо ванный речевой (t/V). чтобы передать параметры фонового шуме. Этот фрейм UV может быть или не быть реальным иУфреймом начала речевых пакетов. Является ли фрейм реальным UV. оценивает переданный индекс усиления. Если индекс усиления меньше или равен индексу из предыдущего +2. то этот UV фрейм расценивается как фрейм Фонового шума, и поэтому ранее переданный вектор LSP(- prevLSPI) используется. чтобы сохранить гладкое изменение параметров LSP. иначе передаваемые е данное время LSPs используются как реальный UVфрейм. Индексы усиления сортируются согласно величинам. Если снова выбран режим Фоновый шум. то используют интерпогмрованные LSPs. использующие prevLSPI и prevLSP2.

И для фрейма Невокал изованной реч* и для Фонового шума {ktVUV=0.1) используется Гауссовский шум с единичной энергией для возбуждения декодирования VXC (вместо стохастического кодового вектора формы для декодирования VXC).

Рисунок S показывает пример. Предположим, что фрейм #0 и фрейм #1 являются Невокалиэованным речевым фреймом, а фрейм #2… фрейм #9 являются фреймом Фонового шума. Во время декодироватя фрейма #2… фрейма #9. prevLSPI и prevLSP2 установлены как: prevLSPI = LSP(1) иprevLSP2 – LSP(O) и вектор LSP фрейма # /. LSP (/) (2 й / £ 9). генерируется как

. pr#vLSP2K(2xSeH_WTVi.-2xi>prtCnt-1)+pr*vLSPlK(2xepnCnf + 1)

LSP[l) в 2 х BGH_INTVL ’

где BGN_ INTVL — интервал максимального фонового шума (=8). и bgnCnt — является счетчиком последовательных фреймов Фонового шума.

8 этом примере. 6gr>Cnf=0 для фрейма #2. bgnCnt-1 для фрейма #3…..bgnCnt-7 для фрейма #9.

Для индекса усиления декодирования VXC во время фрейма #2… фрейма #9 используется индекс усиле

44

ГОСТ Р 53556.2—2012

ния фрейма #1. Когда получены параметры фрейма #10. prevLSPI, и ptevLSPl обновляются как: ptBvLSPy – LSP[ 10) и prevLSP2 – LS (1). Для декодирования фрейма #10 сначала проверяется больше ли индекс усиления, чем значение индекса “фрейм #1 * 2~. Если больше, фрейм #10 декодируется как обычный UVфрейм: иначе он декодируется как фрейм Фонового шума, и вместо LSP(10) используется LSP( 1). в то время как полученный индекс усиления используется для обоих случаев.

UV UV BN BN BN BN BN BN BN ВЫ UV Фрейм | «о I *1 I 02 I «3 I 84 I *$ I 86 I *7 I 88 I «9 I *10 I

LSf\0} LSP(1) LSP( 10)

I l

peevLSP2 pntvLSPA

UV -потопocoвой фрейм:

BN – фрейм фонового шума

Рисунок 5 — Генерация параметров декодера для интервала фонового шума

5.9 Расширение режима варьируемой скорости HVXC

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

8 5.8 описан режим с варьируемой битовой скоростью, основанный на режиме 2.0 Кбит/с. Здесь описан режим с варьируемой битовой скоростью максимум 4.0 Кбит/с.

8 режиме с фиксированной битовой скоростью есть решение 2-битового VHJV, а именно:

VUV- 3: полностью речевой. VUV-2. смешанный речевой. VUV- 1: смешанный речевой. VW=0: неречевой.

Когда режимом работы является режим с переменной битовой скоростью. VUV= 1 указывает состояние фонового шума вместо смешанного речевого. Текущий операционный режим определяется “HVXCconfig ()’. и декодер знает, является ли это режимом переменной или фиксированной скорости и может понять значение VUV -1. В кодировании варьируемой скорости распределение разрядов меняется в зависимости от речевого/» юр о* юоого решения, и сохранение битовой скорости получают, главным образом, уменьшая распределение разрядов для сегмента невокалиэованной речи (VUV- 0). Когда выбран VUV-0. тогда проверяется. является ли сегмент реальным сегменом не вокализованной речи или сегментом фонового шума. Если он заявлен как фоновый шум. то VUV изменяется на 1. и распределение разрядов для фрейма дополнительно уменьшается. Во время режима фонового шума передаются только биты режима или фрейм обновления шума согласно изменению характеристик фонового шума. Используя этот режим варьируемой пспрпсти средняя битовая скпрлстк уиАньлцмтся до 56—Я5 % режима сфикгиропаммпи битовой ехпрп-

стью в зависимости от исходных элементов.

5.9.2 Определения Определения констант

NUM_SUBFY. Число подфреймое водном фрейме (=2).

NUM_SHAPE_L0: Число индекса книги шифров(=64).

BGNJNTVL: Интервал обновления фонового шума (=12).

Определения переменных

peevLSPI: Передажые параметры LSP.

pfBvLSP2. Переданные параметры LSP прежде prei-tSPf.

qLsp: LSP, который будет использоваться для операции декодирования текущего фрейма.

bgnlntvat Счетчик, который считает число последовательных фреймов фонового шума.

met. Случайно сгенерированное целочисленное значение между -3 и 3.

5.9.3 Полезная нагрузка передачи

8 зависимости от решения V1UV и результата обнаружения фонового шума используются полезные нагрузки передачи с четырьмя различными битовыми скоростями. Флажки VUV и UpdateFlag указывают тип передачи полезной нагрузки.

VUVявляется параметром, который содержит результат решения VfUV и определяется как:

0 Не вокализованная речь

1 Интервал фонового шума

2 Вокализованная речь 1

3 Вокализованная речь 2

45

ГОСТ Р 53556.2—2012

Чтобы определить является ли отмеченный “VUV-1 ” фрейм фреймом обновления шума, вводится параметр “UpdateFlag ”. UpdateFlag используется, только когда VUV-1.

)0 нефрейм обновления шума 1 фрейм обновления шума

Если UpdateFlag равно 0. фрейм не является фреймом обновления шума, и если UpdateFlag равно 1. фрейм является фреймом обновпемм шума. Первый фрейм режима фоновый шум всегда классифицирует* ся как фрейм обновления шума. Кроме того, если усиление или огибающая спектра фрейма фонового шума изменяются, вводится фрейм обновления шума.

В фрейме обновления шума подсчитывается среднее параметров LSP по последним 3 фреймам и кодируется как индексы LSP в кодере. Тем же самым способом подсчитывается среднее усиление Ceip по последним 4 фреймам (8 подфреймое) и кодируется как индекс усиления Cetp.

Во время интервала фонового шума (VUV-1), параметры LSPи параметры возбуждения посылают, только когда выбран шумовой фрейм обновления (UpdateFlag = 1). Выходные сигналы декодера для интервала фонового шума генерируются с использованием LSP и параметров возбуждения, переданные в шумовых фреймах обновления.

Если текущий фрейм или предыдущий фрейм является режимом «фоновый шум», другой режим в квантовании LSP запрещен в кодере, потому что параметры LSP не посылаются во время режима «фоновый шум», а межфреймовое кодирование невозможно.

Используя описанный выше метод обнаружения фонового шума, кодирование с варьируемой скоростью выполнено на базе HVXC фиксированной битовой скорости 4 Кбит/с. Битовая скорость в каждом режиме показана ниже.

Режим (VUV)

Фоиоеши шум (1)

UV(0)

V(2.3)

Флагобиоеленм

-0

Флаг обновления *1

Флагобновления VIUV Возбуждение LSP

2 бит/20 мс 1 бит/20 мс 0 бит/20 мс

2 бит/20 мс 1 бит/20 мс 18 бит/20 мс 4 бит/20мс (толью усиление)

2 бит/20 мс 0 бит/20 мс 18 бит/20 мс 20 бит/20 мс

2 бит/20 мс 0 бит/20 мс 26 бит/20 мс 52 бит/20 мс

Совокупно

3 бит/20 мс 0.15 Кбит/с

25 бит/20 мс 1.25 Кбит/с

40 бит/20 мс 2.0 Кбит/с

80 бит/20 мс 4.0 Кбит/с

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

В декодере речевой фрейм (VUV – 2.3) обработывается тем же самым способом, как в режиме с фиксированной битовой скоростью 4 Кбит/с. а неречевой фрейм (VUV- 0) обработывается тем же способом. как в режиме с фиксированной битовой скоростью 2.0 Кбит/с. Когда выбран режим фонового шума (VUV – 1). выходной сигнал декодера генерируется так же. как мевокализованный речевой в режиме с фиксированной битовой скоростью 2.0 Кбит/с. Параметры декодера для интервала обратного фонового шума генерируются при использовании параметров, переданных в шумовых фреймах обновления (VUV-1. UpdateFlag = 1)и иногда в пред шест еовующих неречевых фреймам (VUV-0). Ниже показано, как генерировать параметры декодера для интервала обратного фонового шума.

5.9.4.1 Декодирование LSP

8 декодере удерживаются два набора ранее переданных параметров LSP. prevLSPI и prevLSPl.

prevLSPI: переданные параметры LSP

prevLSP2: переданные прежде prevLSP^ параметры LSP

Режим фонового шума имеет место только после режима неречевой или фоновый шум. Если выбран режим фонового шума, параметры LSP передаются, только когда фрейм является шумовым фреймом обновления (UpdateFlag = 1). Если переданы новые параметры LSP. prevLSP1 колируется в prevLSP2. и недавно переданные LSPs копируются в prevLSPl независимо от решения VUV.

46

ГОСТ Р 53556.2—2012

Параметры LSP для каждого фрейма ео время режима фонового шума генерируются интерполяцией между pravLSPI и prevLSP2. используя уравнение

qLsp (г) является ьи LSP, который должен использоваться для операцж декодирования текущего фрейма. prevLsp 1 (/) является buLSPprevLSP1. prevLsp2 (/) является ьм LSPprevLSP2 (1 £/£10). В этом уравнении bgrUnt\/al представляет собой счетчик, который считает число последовательных фреймов фонового шума, и сбрасывается в 0 при приеме фрейма обновления фонового шума. BGNJNTVL (=12) является константой, а тд — случайно сгенерированное целочисленное значение между -3 и 3. Если счетчик bgntntoalдостигает BGNJNTVL. bgnlntvt устанавливается в BGNJNTVL*1. и если отношение, полученное из уравнения (7). меньше 0 или больше 1. значение md установливается в 0. и отношение пересчитывается.

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

Во время режима фонового шума индекс усиления (VX_gain {0]). переданный в шумовом фрейме обновления, используется для всех подфреймов, значения индекса Shape (VX_Shape 1 (0.1)) случайным образом сгенерированы между 0 и NUM_SHAPE_L0~A. Эти параметры возбуждения используются с интер-полироеатыми параметрами LSP. как описано ранее, чтобы генерировать сигналы режима фонового шума.

QLsp(i) = ratio previsp1(0 ♦ (1 – ratio) • prevLsp2{i)… i – 1..10.

(6)

где

(7)

47

ГОСТ Р 53556.2—2012

Приложение А (Справочное)

Инструменты кодера HVXC А.1 Краткий обзор инструментов кодера

Речевой веса при частоте дискретизации 6 кГц сформирован во фреймы с длиной и интервалом 256 и 160 отсчетов, соответствегио. Анализ LPC выполнен, используя windowed (обработанные методом окна) вход-ные данные по одному фрейму. Остаточные сигналы LPC вычисляется обратной фитырагаюй входных данных, используя параметры квантованного и интерпотрованиого LSP. Остаточные сигналы затем подаются в блок оценки величины шага и спектра, где огибающие спектра для остаточного LPC оцениваются тем же способом, что и в кодере МВЕ за исключением того, что используется только двухбитоеое решение V/UV на фрейм. Огибающая спектра для речевого сегмента, затем — вектор, квантованный со взвешеныой мерой искажению. Для неречевого сегмента выполняется поиск по замкнутому контуру для кодирования вектора возбуждения.

А2 Нормализация

Ait Описано* инструмента

Процесс нормализации составлен из трех операции, а имен ■ ю. ана/мэа LPC. квантованию параметров LSP. и обратной фильтрации.

AJ2.2 Процесс нормализации А.2.2.1 Анагмз LPC

Для каждого фрейма вычисляются коэффициенты LPC 10-го порядка, используя входные сип-агы Xommiki га. обработанные методом окна, методом автокорреляции.

A.222 Квантование LSP

Используется тот же семьи квантователь LSP как в узкополосных CELP.

Коэффициенты LPC сначала преобразованы в параметры пары Line Spectra/ Pair (LSP). Параметры LSP затем квантуются Vector Quantization (VO). В случае базового уровня есть два метода квантования LSPs. гак описано в разделе декодирования: двухступенчатый VO без межфреймового предсказания и комбинация VQ и ИЗ с межфреймоеым прогнозированном. В процессе ксдорования обе метода используются для квантования LSft. и один из них выбирается путем сравнения ошибок квантования. Ошибка квантования вычисляется как взвешенное евклидово paccTotMte.

В случав уровня расширения 10-мврный векторньм квантователь, у которого есть книга шифров на 8 битов, добавляется к основанию текущей схе*ы квангтоеателя LSP кода на 2.0 Кбит/с. Битовая скорость LSPs увеличена с 18 бит/20 мс до 26 бит/20 ыс.

Процесс кодирования базового уровня следующий.

Коэффициенты взвешивания (иг /Л равны:

/sp(0] + /sp(0) – /sp(0] (‘ = °)

= Isp {/] – Isp [/ – f + fsp [i + 1J – tsp [i ] <10 << np ~ 1>

_1_ 1

– tip|Np -2) 1.0 – ttplWp-1) (•= Ne– 1).

где Np — порядок анагмза LP. и Isp [] s — конвертированные LSPs.

w_tact = 1.:

for (i = 0:i< A: /+*) wfi] ‘= wjac fc

for (i = 4;i< 8: r*+) { w_fact *= .694: wpl ’= w_fact

}

for (i = 8: i < W:r**){ wjact *= .510: wfij *= w_fact

}

Квантизатор первой стадии — тот же для каждого метода квантования. LSPs квантованы при использовании векторного квантователя, и соответствующий индекс сохранен в LSP1. Чтобы выполнить отсроченнюе решение. множественные индексы сохранены как кандидаты на вторую стадию. Ошибка квантования в первой стаои егг1[] дается формулой

48

ГОСТ Р 53556.2—2012

©гг[л] = £ |{/5p|spTij – /sp_{W|r>][m][/lf – w[sp + r|j л = О,

где л — число векторе резбиежя. т является индексом векторе раэбиетя кандидата, sp — порядок стартового LSP гмо вектора разбиения и <йт является размерностью л-го вектора разбиежя.

Таблица А.1 — Порядок запуска и размерность вектора LSP первой стадии

Вектор разбиения: n

Порядок стартового LSP■ sp

Размерность o-ro вектора разбееяия: dsn

0

0

10

Во второй стадии вышеупомянутые два метода квантования, которые являются векторным квантователем с двумя раэбиешяьм. применены соответствежо. Потные ошибки квантования во второй стадии подсчитываются для всех комбинаций кандидатов первой стадии и кандидатов второй стадии и выбирается гот. у которого минимальная ошибка. В результате определяются индексы первой стадю* и ооответствуюиив индексы, и знаки для второй стадии сохраняются в LSPZ и LSP3- Флажок, который указывает выбрамый метод квантования, также сохраняется в i.SP4. Ошибка квантования во второй стадии err2_totai дается выражением:

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

err2Jotal = егr2f0] + вп2{1}

вгг2[п] = £ j(tep_res[sp + t| – 5ign[n) • <У_М[л] |гл][г|)2 iv[sp + /]j п = 0.1

lsp_r&s[sp + »7 = lsp{sp * if- isp_fkstfsp + Q.

где tsp_first[] является еантоеамым вектором LSP первой стадии, л — число вектора разбиения л? является индексом вектора разбиежя кандидата, sp — порядок стартового LSP л-го вектора разбиения и dm является размерностью л-го вектора разбиения.

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

en2_totai = егт2}0] + егг2(1]

егг2[п] = £ |(/sp_pres[sp+»J – srpnfn] pd_tbl[n] [лтЦ/!)2 • w(sp + r’|l л = 0.1

fcp_proc[cp – !орЦер * >]

{(1 – /аto_pred>cf) – lsp_fks^sp + i] + rabo_prodd – /sp_prBvrous[sp * j}}, где tsp_drst(J является квантора шм вектором LSP первой стадии, л — число вектора разбиения, т является индексом вектора разбиения кандидата, sp — порядок стартового LSP л-го вектора разбиения и dm является размерностью л-го вектора разбиения и ratio_pcsdtcl = 0.7.

Таблица А.2 — Порядок запуска и размерность вектора LSP второй стадии

Вектор разбиения: п

Порядок стартового LSP- sp

Размерность оно вектора разбиения: dm

0

0

5

1

5

5

Квантованные LSPs lsp_curroot(] стабилизируются, чтобы гарантировать стабильность фильтра синтеза LPC. который получен из квантованных LSPs. Квантованные LSPs упорядочены в порядке возрастания, имея минимальное расстояние между смежным коэффициентам*. for (i = 0:i<LPCORDER:i*+){

if (lsp_currerrt{i] < тт_дар) )sp_CLrmnt[i) = тп_дзр.

}

for (i = 0: i < LPCORDER-1: (++) { if (tsp_curmnt[H-1}-tsp_current[i} < тю_дар) { lsp_currQnt[h-1) = Isp current(i^*fmn pap.

}

49

ГОСТ Р 53556.2—2012

}

for (i – ft / < LPCORDER: i**) { if (lsp_currentfi] > 1-min_gap) tsp_currentp} = 1—min gap.

}

forfi- LPCORDER-1: i>0:h-){ if (lsp_ajrrenift}-isp_cufT&ntfi-1} < mm_gap) { lsp_currentfi-1] = lsp_curref>t[i}-min_gap:

}

}

for (i * Ct i < LPCORDER; /++tf qLspp] = tsp_curontp}:

}

где гтт_gap = 4.0/256.0

После промесса кодирования LSP текущие LSPs должны быть сохранены в памяти, так как они используются для предсказания в следующем фрейме. for (i-О: i< LPCORDER *+/ { tsp_pfWKXJs[i] = tsp_currentfi};

Сохраненные LSPs lap_prevkxjs //должны быть иющиалиэированы как описано ниже, когда весь кодер тидиалиэи ровен.

for (i – 0t I < LPCORDER: i**) { tspjxwiousf] = (M) / (LPCORDER*1);

}

Третья стадия для уровня расим ре кия (4.0 и 3.7 Кбит/с) имеет 10-мерную струхгуру VQ. Ошибка между версией квантования базового уровня и оригинальной версией квантуется, и соответствующий индекс сохраняется в LSP5

После квантования LSP5 уровня расширения дСдо(] снова стабилизируются. for (i – ft г <

2:i**)

{

if (qLspp* 1]-qLsp{>}<

0)

{

tmp = qLspp *

4

qispfi * Vs

qLspfip

qLspfi] = tmp.

}

if (qLspp *1}- qLspfi} < THRSLD_L)

{

qLspp *1J- qLspfi} * THRSLD_L

}

}

for (i = 2: i < 6: /++>

{

if (qLspp *1)- qLspfi} < THRSLD_U)

{

tmp = (qLspp * 1] * qLspfi}) / 2,0: qLspfi * 1} – trrv * THRSLD_M/2.0: qLspfi} -tmp- THRSLD_M / 2.0:

)

}

for (i-6: i< LPCORDER- 1:i*+)

{

И (qLspp +1}- qLsp[i] < 0)

{

tmp = qLspfi * 1J: qLspfi + r) = qLspp}: qLspfi]* Imp:

50

ГОСТ Р 53556.2—2012

}

it (qLspfi *1}- qLspfi] < THRSLO_H)

{

qLspffl = qLspfi + 1)- THRSLD_hk

}

}

где THRSLD_L = 0.020. THRSLD_M = 0.020 и THRSLD_H = 0.020

Таблица A.3 — Конфигурация многоступенчатого LSP VO

1-й этап

10 LSP VO

5 битое

2-й этап

(5+5) LSP VQ

(7+5+1) битое

3-й этап

10 LSP VQ

8 битое

AJ-2.3 Фильтр инверсии LPC

LSP5 преобразованы к альфа-параметрам. чтобы сфорамровать. фигьтр тюорсии LPC в прямой форме. Остаточные сигнат LPC затем вычисляются путем тверской фильтраты входного сигнала. Только квантованный LPC текущего фрейма используется без какой-либо интерполяции для инверсной фильтрации, чтобы выделить остаточный сигнал LPC. Остато-кчый сигнал тогда является 256 точечной окомной обработкой Хэмминга, чтобы вымелить спектр мощности. Функция преобразования инверсного фильтра LPC такова

*<*>»£ 0а„г’а.

где Я» 10 и 0,3= 1. Коэффициенты LPCa„ остаются неизменными во время вычисления остаточных отсчетов длины одного фрейма (256 отсчетов}.

А.З Оценка шага

А.3.1 Описание инструмента

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

А.3.2 Процесс оценки шага

В кодер© режима малой задержки треп»* (отслеживание) шага проводится, используя только текущие, и прошлые фреймы, чтобы сохранить задвржху кодера 26 мс. Когда используется режим нормальной задержки, отслеживание шага использует один предстоящий фрейм и задержка кодера становится 46 мс.

А.Э.Э Трекинг шага

Для режима малой задержки HVXC алгоритм прослеживания шага »в использует значение шага будущего (предвиденью) фрейма. Алгоритм прослеживания шага работает, основываясь на надежном шаге “гЫРсЬГ, реше-ми ViUV предыдущего фрейма “prevVUV’, и параметрах прошлых/текущих шагов.

Основная операция состоит в следующем:

Коша prevVUV) = 0 и гЫРс/г! = 0. шаг прослеживается на основе rbIPch. Однако, у значенье шага предыдущего фрейма более высокий приоритет.

Коша prevVUV = 0 и /tWPcW = 0. шаг прослеживается на основе гЫРсЬ.

Когда prevVUV) = 0 и rbIPch = 0. трекинг проводится на основе шага предыдущего фрейма.

Коша prevVUV = 0 и rbIPch = 0. просто используется параметр текущего шага.

prevVUV) = 0 представляет речевой, и prevVUV = 0 представляет неречевой статус, соответствен ю.

В соответстам* с этой стратегией, трепе* шага выполняется без какого-либо заглядывания вперед. Исходный текст программы трекимв шага показан ниже.

typedef struct

i

Float pitch: /* pitch V

Float prvb. f 1st peak devidad by 2nd peak of autocorrelation V

Float rOr Г 1st peak of autocorrelation – modified V

Float rawROr/’ 1st peak of autocorrelation – raw V

Float rawPrtch: /* pkch with no tracking V

}

NgbPrm:

static int NearPitefy

float pO.

51

ГОСТ Р 53556.2—2012

float р1. float ratio)

{

tatum((pO * (1.0 – ratio) < p1) &&(p1<p0‘ (1.0 * ratio))):

}

static float TrackingPrtchf

NgbPrm ’cmtPrm. /• currant parameter V

NgbPrm ’prevPrm. Г previous parameter V

ini *scanbmA. Г Number of autocorrelation peaks V

Яоа! ‘ac. /* Autocorrelation V

ini peakPos[PEAKMAX}. /* Position of autocorrelation peaks V int prevVUV) P VAJV of ptrevious frame V {

float kmete: float pich; int к

static float prevflawp* 0.0:

int stO. st1. stZ

float stdPcb:

static float rbIPch = 0.0:

static float prevRbIPch = 0.0;

rbIPch = global_pitch:

if (prevVUV /= 0 && rbIPch f= 0.0)

{

stO = Ambiguoos(prevPrm—>pilcb. rbIPch,

0.11):

st1 = Ambiguous(cmtPrm->pitcb. rtkPcft,

0.11):

if(!(stOtst1))

{

if (NearPitch(cmtPrm->pitch. prevPrm->pitcb. 0.2)) pitch = cmtPrm->pitch:

else 9 (NearPrtch(cm(Pnn->pitch. tbiPcb. 0.2)) pitch = cmtPrm—>pitch:

else 9 (NearPitch(prevPrm->pitch. rbIPch. 0.2))

(

if (cmtPtm->tOr > prevPrm->rOr && cmtPrm->pro0 > prevPrm->prob)

pitch = cmtPm}->pitch: else

pitch = prevPrm->pilch;

}

else

pitch = GetStdPch2EJms(cmtPrm. prevPrm. scanlirrA peakPos. ac):

}

else if (fstO)

{

if (NearPitch(pfevPrm->pttch, cmtPmr->pitch.

0.2))

pitch = cmtPrm->pitch: else i ((gpMax * 1.2 > cmtPrm->p9ch) &&

NearPitch(prevPrm->fawPrtch. cmtPrm->pitch.

0.2))

pitch = cmtPr7Tj->prfoh: else

pitch = prevPrm->pitch:

}

elseiffisll)

{

52

ГОСТ Р 53556.2—2012

if ((cmtPrm->f9wPilch t= cmtPrm->pitch) ДД NearPgch(crntPrm->rawP*ch. pr9vPrm->rawPitch.

0.2))

pilch = cmlPrm->rawPitch; else

pitch = cmtPrm->pitch:

}

else

{

if (NearPitch(ptevPrm->pttch, cmtPrm->p4ch.

0.2))

pilch = cmtPrm->pitch: else

pitch = rblPch:

}

}

else i(pfevVUV rbtPch != 0.0)

{

st1 = Ambtguous^CJT7lPrm—>pitch. rblPch.

0.11);

H(!st1)

pitch = cmtPrm->pitch: else

pitch = rblPch:

}

else * (prevVUV 1= 0 && rblPch = 0.0)

{

st1 = Ambiguous(cmtPrm->pitch. prevPrm->pitch.

0.11):

#(!st1)

pitch = GetStdPch2EIms(cmtPrm. prevPrm. scanlimL peakPos. ac): else {

if (prevPrm->fOr < ui*Puii->rOr) pitch = cmtPrm->pitch: else

pitch = pmvPrm—>pitch-

}

}

else

pitch = cmtPrm->pitch. cmtPrm->pitch = pitch; prevRblPch = rblPch: prevRawp = pitch: retum(pitch):

}

A.4 Извлечение величин гармоник A.4.1 Описание инструмента

Извлечение величин гармоник состоит из двух шагов: поиск шага и оценка огибающей спектра. Операция для каждого шага описана маке.

А.4.2 Процесс извлечения величин гармоник А.4.2.1 Поиск шага

Используя целочислежую задержку шага разомкнутого докла. оценивается дробное значение задержки шага. Размер шага фракции равен 0.25. Это выполненяется путем минимизации ошибки между синтезируемым спектром и исходным спектром. Здесь одновременно оцениваются значение задержки шага и величоы тармо-мес спектра. Оцениваемое значение задержки шага. pcft. передается в декодер как Prtcft.

РЛсЬ – (irtf) (рсЛ – 20.0)

А.4.2-2 Оценка огибающей спектра

Чтобы получить исходный спектр к остаточным сигналам LPC применяется ОРТ 256 точек. Используя исходный спектр, производится определение огибающей спектра. Огибающая спектра — это ряд вели» ее i спектра.

53

ГОСТ Р 53556.2—2012

оцениваемых для каждой гармоники. Эта оценка величин выполняется вычислением оптимальной амплитуда Ат. ислогъзуя предопределенную базисную функцию £(у)и исходный спектр ХУ). Пусть ат и Ьт будут индексам коэффициента DTS нижней и верхней границы т-й полосы, соответсгаенно. охватывая полосу m-й гармони**. Ошибка оценки амплитуды е определяется как

– ММ!

Решение

дает

N

Это значение определено как спектральная велигмпа. Базисная функция Е (J) может быть получена DFT окна Хешмчга 256 точек.

А.5 Перцепционное взвешивание

А.5.1 Описание инструмента

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

аЛаяЛГж-a.S« ш**-‘

где могли использоваться А = 0.9; В = 0.4. В этом нмструменте также вычисляется частотная характеристика фильтра синтеза LPC – /i{z) так. чтобы ее можно было включить

В этом инструменте да мелена частотная характеристика w{zy7{z) и выведена как массам ‘per_wetght. который может быть использован как диагональные компоненты матриц взвешивания WH.

А.6 Кодер гармоник №

А.6.1 Описание инструмента

Процесс кодирования гармонюс VQ состоит из двух шагов: преобразование размерности и квантование векторов огибающей спектра. Операции каждого шага приведет ниже.

А.6.2 Процесс кодирования

А.6.2.1 Конвертер размерности

Коли«ство точек, которые составляют огибающую спектра, изменяется в зависимости от вешчюг шага, так как огибающая спектра является набором оценок величин каждой гармоники. Число гармоник равно приблизительно от 9 до 70. Чтобы аекторно квантовать огибающую спектра, кодер должен преобразовать их в постоянное число для VO фиксированной размерности. Для преобразования частоты взятия выборки используется интерполяция с ограниченной полосой, чтобы получить спектральные векторы фиксированной размерности. Число точек. которые представляют форму огибающей спектра, должно быть изменено, не изменяя ее форму. С этой цегъю используется конвертер размерности для огибающей спектра, состоящей из комби надои низкочастотного фильтра и линейного интерполятора 1-го порнока. Для 8-кратной передиофетиэацни первой стадии используется низкополотый фигътр FIR с 7 наборами коэффициентов: каждый набор состоит из 6 коэффициентов. 7 наборов коэффициентов фильтра получат группировкой каждых в коэффициентов из endowed sine, coe/(i]. со смещениями от 1 до 7, где

сое/И*

мл я(1 – 32)/8 х{1 – 32^8

(0.5 — 0.5 сое 2я i/64)

0S/S64

54

ГОСТ Р 53556.2—2012

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

Во второй стадии передискретизации применяется линейная интерполяция 1-го порядка, чтобы получить необходимее точки выхода. Таким образом, мы получаем спектральные векторы фиксированной размерности (=44).

А.6-2-2 Квантование вектора

Спектральный вектор фиксированной размерности (= 44) затем геантуется. В базовом уровне используется двухступенчатая схема векторного квантора ыя для спектральной форкы совместно со асаляргьш квантователем для усиления. Мера взвешенного искажения О используется для поиска в ю-ыге шифров как формы, так и усиления.

где х — исходный вектор, в, — выход ю-ыги шифров Special Envelope (SE) s/iapel. s2 — выход SE shape2 омги шифров, ид — выход книги шифров усиления SE. Соответствующие индексы обозначены как SE_shape 1, SE_shape2 и SE_да«п. соответственно. Размерность книг шифров формы фиксируется (=44). Диагональные компоненты матриц Н и W являются ветчтаыи частотной характеристмси фильтра оытеза LPC и перцепционного фильтра вэвешиаатя. соответственно. Для уровня расширения к основатю квантизатора базового уровня добавлены дополнительные векторные квантизаторы. Режим 2.0 Кбит/с использует только квантизаторы базового уровня.

Для режима 4.0 Кбит/с ввличиш квантованных гармоник с фиксированной размерностью (=44) в базовом уровне сначала преобразуются к размерности исходного вектора гармотк. которым изменяется в зависимости от величию шага. Вычисляется различие между квантованным (с восстановлетой размерностью вектором гэрмонмс) и исходным вектором гармоник. Это различие затем квантуется схемой VQ с разбиением, составленной из четырех векторных квантователей в уровне расширения. Соответствующие индексы — SE_shape3. SE_shape4. SE_shape5 и SE_shape6.

Индекс SE_shape6 не используется, когда выбран режим 3.7 Кбш/с.

А.7 Решение VIUV

АЛЛ Описание инструмента

Решение VIUV принимается каждым фреймом 20 мс. Решение принимается на основе: подобия формы синтезируемого спектра и исходного спектра, мощности сигнала, максимальной автокорреляции остэтотых сигналов LPC. нормэ/мэованюх остатотой моивюстью сигнала и топом переходов через нулевого.

А.72 Процесс кодирования

Решете V/UV составлено из трех разгмчых режимов, т. е. неречевого, смешан юго речевого, и полностью

речевого.

Чтобы отослать информацию этих трех режимов, используются два бита для VIUV. Во-первых, нужно решить. неречевой гм текущий фрейм. Когда это решение речевой, тогда оценивается сила звучания, исходя из значения нормализованного максимального пика автокорреляции остаточного сигнала LPC. Обозначим значение Юг.

Ниже показано правило принятия решения:

Когда первым решением является неречевой VIUV = 0 Когда первым решением является речевой VIUV – 1

VIUV = 2 V/UV- 3

для Юг <7X2 для ТИ2 <= /0г < 7Н1 для 7W1 <= /От

Неречевой

Смешан ый речевой 1 Смешан ый речевой 2 Полностью речевой

А.8 Кодер временного домена А.8.1 Описание инструмента

Когда речевой сегмент является неголосоеьм. используется алгоритм Vector Exatabon Coding {VXC}. Работа VXC огмеана ниже.

А.8.2 Процесс кодирования

Сначала выполняется анализ LPC. а затем коэффициенты LPC (а) преобразуются а параметры LSP тем же самым способом, как в речевом случае. Параметры LSP квантуются, и квантованное LSPs преобразуются в

коэффициенты LPC (а).

Перцепциото взвешетый фильтр синтезе LPC – – Щг) выражен как:

Н(2)=Л(г) Щг).

где А(г) — функция преобразования фильтра синтеза LPC. и W(z) является пврцепционно взвешенным фильтром, полуголым из коэффициентов LPC.

55

ГОСТ Р 53556.2—2012

Пусть *ж (л) будет перцепциомно взвешен ■ ым вхсоным сигналом. Вы-мтая отклик на нулевой ввод г(п) из жф (л), получаем опорный сигнал. г(л) для процедуры анатза мороз синтез VXC. Векторы оптимальном формы и усиления разыскиваются с использоеашем меры искажения Е:

Е = Л* Ил) – 9 х syn(n))2.

где syn(n) является реакцией нулевого состояния Щг). управляемого вводом возбуждения только вектором формы s(n). которым является выходом книги шифров VX_sftape. Здесь д — это усиление, которое является выводом ю-мги шифров VX_дэп. N является векторной размерностью книги шифров Wf_shape.

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

1. Пои» в(л). которое максимкз»фует

„ л-Vг(п) х syn{n) ES–■ =”

2. Поиск д, которое минимизирует

= -9?-

где

*.0*f <“)* ДУ”(“) 9nt «-V syn(mf

Ошибка квантователя е(л) подсчитывается как:

е(л) = г (л) – g х syn(n)

Когда битовая скорость равна 4 Кбит/с. используется еще одна стадия для кванторами неголосовых сег-ментов, и е(л) используется как опорный ввод для VQ второй стазы.

Работа VQ второй стадии такая же как работа VO первой стадии.

Кодер 2.0 Кбит/с испогъзует книги шифров формы на б битов и усиленыя на 4 бита двоичного для неречевого возбуждения каждые 10 мс. Соответствующие индексы — VX_sftape [г]. УХ дат [i] (/ = 0.1). Схема 4.0 (Шит/с добавляет книги шифров для формы на 5 битов и усиления на 3 бита для каждых 5 мс внизу текущего квантователя. Соответствующими индексами являются — УХ_зЛаре2 [i). VX_gain2 (ij (i = 0.1.2.3). Режим 3.7 Кбит/с макет использовать ту же самую процедуру кодирования как режим 4.0 Кбит/с. хотя VX_s/>арв2 [3] и VX gatnl [Э) ыв используются в декодере режима 3.7 Кбиг/с

Таблица А.4 — Конфигурация книг шифров VXC

1- й этап (60-мерная 6 битовая форма * 4 битовое усилечге ) х 2

2- й этап (40-мерная 5 битовая форма + 3 битовое усиление) х 4

А.9 Кодер варьируемой скорости

Здесь описан инструмент для кодирования варьируемой скорости с ядром HVXC. Данный инструмент позволяет HVXC работать при изменяющихся битовых скоростях. Главная часть алгоритма составлена из «обнаружения интервала фонового шума», где передаются тогъко биты режима во время «режима фонового шума», и неречевой фрейм вставляется с определенньы промежутком времени, чтобы послать параметры для генералы фонового шума.

В алгоритме кодироса мл трекер (следящая система) мш «мольного уровня имеет временный минимагъ-ный уровень, чтобы корректировать пороговое экачемге. по которому прмымается решение о том. является гы входной сегмент речевым.

Трекинг минимального уровня

Параметры определены следующим образом: lev. r.m.s~ речевого фрейма: vCont: число непрерывных голосовых фреймов: cdlev. значение кандидата минимального уровня: ptevtev. гтл. предыдущего фрейма:

gmlSetState число фреймов, в которых установлено значение кандидата.

56

ГОСТ Р 53556.2—2012

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

gmh минимальный уровень.

Минимальный уровень отслеживается согласно алгоритму, который показан ниже.

И (vCont > 4)

{

cdLev = 0.0: gmISetState = О: gmIResetState

}

else if (lev <

MIN_GML)

{

‘gmt = MIN_GUL gmIResetState = 0: gmISetState =

0:

}

else if Ct/mi > lev)

{

“gml = lev: gmIResetState = 0: gmISetState –

a

}

else if ((lev<500.0 && cdLev ‘ 0.7<Xlev && tev<cdLev * 1.30) || lev<100.0)

{

it (gmlSetSlats > 6)

{

*gmf = lev: gmIResetState

-0:

gmISetState =

Or

;

else

i

cdLev = lev: gmIResetState

-0:

gmISetState**:

}

i

else if (Qev<500.0 && prevtev * 0.70<Jev && lev<prevLev * 1.30) || lev<100.0)

{

cdLev = lev: c = 0:

gmISetStat

e**:

}

else H (gmIResetState >40)

{

‘grrt = MIN_GKtj gmIResetState = 0: gmISetState =

Or

}

57

ГОСТ Р 53556.2—2012

else

{

cdtev = 0.0: gm/SetState = О: gmIReset State**

}

Как показано вькые. мн «мальньм уровень удерживается в течение соответствующего промежутка време-км и обновляется. Мижмальньы урооотж всегда устанавтмвается выше, чем предопределенное значение MIN_GML Обнаружение фонового шума, основа!кос на миммальном уровне Справочный уровень refLev оъгмсляется как

rgfLev -Ах max(fev. retLev) + <1.0 – А) х min(tev. refLev) (А.1)

Обичю А устанавливается в 0.75. Обнаружение фонового шума выполняется используя refLevei. полученное из уравнения (А.1).

Для фреймов, где пр*в ведается решение «речевой»: d (refLev < в ‘gmf <SS contV<2) ( idVUV = 1;

}

Для фреймов, где прижмэется решение «неречевой»: if (refLev < В *gml) {Г condition—1 У if (bgnCnt < 3) { bgnCnt**:

}

else {

d (bgn/nM < B) { idVUV-1: bgnlntvf++;

;

else { bgnlntvt^O:

}

}

}

else {

bgnCnt=0:

}

где 8 — константа. В этом случае устанавливаем В = 2.0.

Каждой параметр определен мгже. countV: число последователышх речевых фреймов: bgnCnt: число фреймов, которое удовлетворяет условие 1; bgnlntvf. число фреймов, где объявлен режим «фоновым шум»: idVUV: — параметр, результат которого решение VIUV. определенный как

О Невокализованная речь

idVUV = 1 Интервал фонового шума

2 Смешенная вокализованная речь

3 Вокализоважая речь

Есть* текущий фрейм объявлен как «Речевой», производится проверка, был ли предыдущий фрейм тоже речевой. Если режим предыдущего фрейма речевой, режим фонового шума не выбирается, иначе выбирается режим фонового шума.

Есгм текущий фрейм, заявлен как «Неречевой», режим фонового шума выбирается только после того, как условие 1 удовлетворено для четырех последовательшх фреймов. Когда режим фонового шума выбран для N последовательных фреймов, режим последнего фрейма заменяется режимом «Неречевой», чтобы передать речевые параметры, которые представляют характеристики времени изменения фонового шума.

В этот момент N устанавтмвается в 9.

Кодирование с переменной скоростью

Испогьзуя огмсанный выше метод обнаружения фонового шума, выполненяется кодирование с варьируемой скоростью на базе HVXC с фиксированной битовой асоростью 2.0 Кбит/с.

56

ГОСТ Р 53556.2—2012

Таблица А.5 — Распределение разрядов закодированных параметров для режима варьируемой битовой скорости

Режим (irfVUV)

•омоеми 1В)гм (1)

UVT<H

MVW. У»Э>

VfUV

2 бит/20 мс

2 бит/20 мс

2 бит/20 мс

LSP

0 бит/20 мс

18 бит/20 мс

18 бит/20 мс

Возбуждение

0 бит/20 мс

8 бит/20 мс (только усиление)

20 бит/20 мс

Совокупно

2 бит/20 мс 0.1 Кбит/с

28 бит/20 мс 1.4 Кбит/с

40 бит/20 мс 2.0 Кбит/с

Есгм режим текущего фрейма ит предыдущего фрейма — «Фоновый шум», другой режим квантования LSP запрещается в кодере, потому что параметры LSP не передаются во время режима «Фоновым шум» и межфрей-мовов кодирование невозможно.

А.10 Расширение кодера с варьируемой скоростью HVXC

В А.9 описана операция кодера режима варьируемой скорости максимом на 2.0 Кбит/с. Здесь описан одт пример реализации кодера режима варьируемой скорости HVXC максимом на 4.0 Кбит/с. По существу может использоваться любой вид алгоритма выбора решения фоноеьы шум/неречевой. Изменение уровня сигнала и огибающей спектра используются, чтобы обнаружить интервал фонового шума из неречевых фреймов Во время шумового интервала предполагается, что уровень сигнала и форма огибающей спектра устойчивы. Характеристика зарегистрированной вели» м 1ы в квадрате в низкочастотном диапазоне огибающей спектра подсчитывается из коэффициентов квпстра LPC. Характеристика зарегистрирооо! ■ юн величие ы в квадрате текущего фрейма срав-►меается со средним зарегистрирован ой ветчины в квадрате нвсколымх предыдущих фреймов. Ест разните мало, предполагается, что сигнал устойчив. Когда эти параметры показывают что состояние сигнала достаточно стабильно, фрейм классифнщируется как «интервал фонового шума». Ест характеристика сигнала изменяется в определенном диапазоне, предполагается, что характеристика фонового шума изменилась, и передается фрейм обновления шума. Если характеристика сигнала изменилась больше чем заданный диапазон, то предполагается. что сигнал является нееокалиэоеанной ретю.

А.10.1 Определения

stFfag: Флажок стабильности сигнала

bgnCnt Счетчик фонового шума

Вдп/пМ: Счете* интервала фонового шума

UpdateFfag”. Флажок обновления фонового шума

А.10.2 Вычисление RUC

Сначала вычисляется RMC входного сигнала з(). чтобы получить минимальный уровень сигнала (mtn_/mc). Ест величина RMC меньше, чем предопределенное «нэчение. которое является наименьшим возможным речевым уровнем, и отклонения значения RMC нескольких фреймов находятся а определенном диапазоне, то иемнмальньм уровень обновляется, используя обнаруженное значение RMC и текущее mxwmc. Текущее знаю мне RMC ‘/тле* затем делится на текущее min_m>c. чтобы получить ееличену ‘rate*.

ratio s ms .

ГТХП_/ТП5

Это эначенме используется для обнаружения стабильности сигнала, как описано в А.10.4.

А.10.3 Сравнение спектра

Огибающая спектра рассчитывается, используя коэффициенты л темного предсказания (LP). Коэффши-енггы LP преобразуются в параметры кепстра Сс []. Исходя из параметров квпстра характеристика зарегистрированной ветчины в квадрате 4r?|Hi{e#a)p вычисляется как

I ” **о

Средний уровень каждого диапазона частот в л-м фрейме вычисляется кая

logО = m|Ht (e’“lf<fU = £

и

m-1

г = 0… 3

59

ГОСТ Р 53556.2—2012

Здесь о ширина полосы (=500 Гц). и i — «испо полос, где вычислен** 4 полосы между 0 и 2 кГц. Исходя из полученных значений за регистра рооа ■ юй величны а квадрате для последних 4 фреймов рассчитываются усредненные значения для каждой полосы как

4

eve Ampin. 0 s 4* X ЮдА/пр(л- /. t).

j-1

Испогьзуя эти уравнения. различие “т*Г между текущим уровнем и усредненным уровнем для каждого даапазона частот # вычисляются как показано ниже

wdrf = |=1 £ (1одД/лр(л. г) – eveAmpfn. i))2 .

V 4/-e

А. 10.4 Обнаружение стабильности сигнала

Исходя из комбинации ratio и их*/ рассчитывается сигнал флажка стабильности “sffiag”, у которого есть следующие 3 состояния. Естественно, чем меньше эти переменные. тем более стабильно состояние сигнала.

stFlag =

0 Почти стабигъный

1 Не стабильный

2 Более стаби/ъный

А.10.5 Обнаружение фонового шума

В соответствии с переменной stFtag и решением VIUV обнаруживается фоноеьм шум. Блок-схема показана на рис. А1. Когда решением VIUV является речевой {VUV = 2.3), фрейм клэссифидоруется как речевой независимо от значения stFlag. Когда в неречевом интервале обнаруживается фоновый шум {VUV = 0). VUV устанавливается в 1. Когда параметры фонового шума должны быть обновлены. *UpdateFiag* устанавливается а 1. Чтобы обеспечить устойчивую работу алгоритма обнаружено? фонового шума, введены пере мои то. счетчик фонового шума (bgnCnf) и счетчик интервала фонового шума (б^тФМ). BGN_CNT и BGN_NTVL — предопределенные константы.

А.10.6 Решение о принятых параметрах

VUV — параметр содержит реэутътат решения VJUV и определен как:

0 Невокалиэованная речь

1 Интервал фонового шума

VW = 2 Вокализованная речь 1

3 Вокализованная ре^н 2

Чтобы укятатк является пи фрейм, мя(жмрпвяьмм кяк “VIIV = 1’* фреймом обновления шумя, введен параметр “UpdatsFiag”. UpdateFlag ниже испогъзувтся. только когда VUV = 1.

|0 нефрейм обновления шуме UpoateFtag = ^ фрейм обновления шума

В фрейме обновления шума вычисляется параметры усредненного LSP и Саф Gain.

Необработанные LSPs усреднены по последним 3 фреймам

awteplnHiJs-i £ LsPlrt-ЛМ. г“1.-~ЛР.

3/-о

где av&Lsp{n] [] обозначает усрешенное LSP а п-м фрейме и Lsp(n] Ц обозначает необработанный LSP в л-м фрейме. NP представляет собой порядок LSP. avetspjn] Q является квантованным и закодированным, где кодирование LSP другим режимом запрещено.

Усреднены усиления необработанных Сеф по последним 4 фреймам (8 подфреймам).

а*еват [л) = -g- £ £ Gam (л – yj (ft).

0 /-14-0

где эиебаФ {nj является усредненным усилением Сеф в л-м фрейме, a Gain(nj {*] — необработанное усиление Сеф а л-м фрейме и к-м подфрейме. Усредоенное усиление Сеф квантовано и закодировано тем же самым способом, как обычное усиление Сеф.

Согласию VUV. передаются следующие параметры.

60

ГОСТ Р 53556.2—2012

Таблица А.6 — Закодированные параметры для режима варьируемой скорости на 4 Кбит/с

Реаам (VUV0

®<1)

Ш/(0)

Ц2.3)

Флагобмоаления *0

Фпагобновпе>мя *1

VIUV

Флагобновлвния LSP Возбуждение

2 бит/20 мс 1 бит/20 мс 0 бит/20 мс

2 бит/20 мс 1 бит/20 МС 16 бит/20 мс 4 6ит/20мс (только усиленно)

2 бит/20 мс 0 бит/20 мс 18 бит/20 мс 20 бит/20 мс

2 бит/20 мс 0 бит/20 мс 26 бит/20 мс 52 бит/20 мс

Совокупно

3 бит/20 мс 0.15 К5ит/с

25 бит/20 мс 1,25 Кбит/с

40 бит/20 мс 2.0 Кбит/с

80 бит/20 мс 4.0 Кбит/с

я*

Ьрп!пМ = 0

. No

updateFiag ■ 1 bgnlnM «0

Рисунок А.1 — Блок-схема обнаружения шума

61

ГОСТ Р 53556.2—2012

Приложение Б (справочное)

Инструменты декодера HVXC

Б.1 Пост фильтр

Б.1.1 Описание инструмента

Основной работой постфкгътра является расширение спектральных формант и подавление спектр алы-ых точек минимума. Можно использовать единый постфильтр после добавлено! синтеза вока/мэованной и неаока-гмэованной речи. Альтернативно можно использовать независимые постфильтры для вокализованной и неаока-гьоованном речи, соответственно. Рекомендуется испогъэоеанме независимых постфильтров для речевых и неречевых сигналов.

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

Ислольэовате постфилыра требуется, однако конфигурация и константы постфильтров, описа ■ ыо здесь, являются одним из примеров, а не нормой, и от могут быть изменены.

Б.1.2 Определения

Pf^z):

Pf«A*Y-

гщ-

S(n):

S^(n):

Sat(n):

Передаточная фуысция фильтра формирования спектра для вокапиэооаиой pern. Передаточная фужция фильтра формирования спектра для новокалиэованной речи Коэффициент регулировки усиления для формирования спектра.

Выход фильтра оитеза PC H(z).

Выход фильтра формирования спектра РМ,г).

Сформированный по спектру и отрегулироватый по усиление выход.

Sp, _ рю{пу. (л), рассчитанный с использованием ц, иг^ предыдущего фрейма.

vspeech{n): Постфильтро ванная еокахмэованная речь.

UYspeectyn): Посгфихьтроватая невокапизованная речь.

Б.1.3 Обработка

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

Б.1.3.1 Вокализованная речь Формирование спектра:

О-0

где а„ — коэффициенты линейного предсказания, преобразованные из деквантоваюых и линейно интерполирован*» LSPs. которые обновляются каждые 2.5 мс. р = 10. у = 0.5. 6 = 0.8. 6 = -0.15ха,. где значение 6 ограничено диапазоном 0 £ S £ 0.5. Когда выбран режим декодирования с шзкой задержкой, жгереал фрейма декодера сдвигается на 2.5 мс. и интерполяция LSPs выполняется для первого 17.5 мс интервала фрейма декодирования. а последние LSPs используются для последних 2.5 мс без ютерполяци. Вывод с фитьта синтеза LPC — s(n) тачала подается на фильтр спектрального формирования Pf. (z).

Ресугмровкэ усиления:

Вьеод фильтра спектрального форм ир осами, S^(n). затем регулируется по усилению так. чтобы у си лете фрейма ввода и вывода спектрального формирования было неизменно. Регулировка усиления выполняется однажды за каждые 160 фреймов выборки, в то время как LSPs обновляются каждые 2.5 мс. Фактор регулировки усиления Грц вычисляется следующим образом:

_ f ,!е«(л»а

Сформировавши по спектру и отрегулированный по усилению выход spl (о) получается как:

s‘pf = гщ– s„ (л) (0 £ л £ 159)

62

ГОСТ Р 53556.2—2012

Процесс сглаживанмя:

Отрегутрованный по усилению выход 5^ (г?) затем сглаживается, чтобы избежать нарушения непрерьв-ностм из-за изменения параметра в начале каждого фрейма. Постфильтроеанный речевой выход vspeect? (л), получают следуюиаш образом

«реесЛ(л) = 1 –^S p, ^(л) + JLs^n) (0snsl9)

Sp,(n) {20 S гг £ 159),

где Spf до,(л>—это Sp, (п). вычисленным с испопьзованмем ал ипредыдущего фрейма.

Б.1.3.2 Невокализованная речь Спектральное формирование:

Аналогично здесь дается Pf^ <z) как функция преобраэооа мл фигътра спектрального формирования для невокалиэованной речи.

««<*>«

где ал — линейные предиктивные коэффициенты, преобразован ыо из деквантоаанных LSPs. которые обновляется каждые 20 мс

Когда выбран режим нормального декодирования, коэффиененты LSP обновляется в середине интервала фрейма декодирования. Есгм выбран режим декодирования с малой задержкой, ннтервал фрейма декодироеа-нмя сдвигается на 2.5 мс. и обновление LSP происходат в точке 7.5 мс с начала жтервалэ декодирования на рисунке 1. р ■ 10, у = 0.5, fi = О.в. S = 0.1. Регулировка усиленегя и промесс сглаживания — те же самые, как в речевой части, огмеанной выше, и производят гххпфигыроваг-ыую невокалиэоезнную р&*. i/yspeecfifn).

Выход каждого из постфильтров. vspee&t{n) и t/v5peech<n). добавляется, чтобы генерировать выход пост-фильтрооа ■ юй ре*«.

Б2 Постобработка

Б.2.1 Описание инструмента

Выход постфильгра подается е подсистему постобработки. Постобработка составлена из трех фигътрое: это фильтр нижних частот, высокочастотным фильтр акцента и фильтр верхних частот. Фильтр верхних частот испогъ-эуется. чтобы уда/мть ненужные низкочастотные компоненты, высокочастотный фильтр акцента используется, чтобы увегычить яркость речи, и фильтр нижнмх частот используется, чтобы удалить ненужные вьюоктэстопыю компоненты. Конфигурации фильтров и описакыо здесь константы является одним из примеров и не нормативны. они могут быть изменен*

Б.2.2 Определения

HPF(z): Фунпмя преобразования фильтра нижнмх частот.

Emp(z): Функция преобразования высокочастотного фильтра акцента.

LPF{z): Функция преобразования фильтра верхних частот

Б2.3 Обработка

Три фильтра применены к выходу постфильтра.

Фигъгр нижних частот:

HPF(z) = GMv

1 + AyZ

1 + Cf

* 8,2~2

* DyZ’2

1 * А2г~% * В2г 2 1 + CjZ*1 + O^”2

Высокочастотный фигьтр акцента;

Etnp(z) = 60

1 + ■* B8z~2

1 +• CCz-‘ + DDz 2

Фи/ыгр верхние частот

LPF{z) * GL

1 + ALz~’ 1 + CLz 1

+ BLz2 *DLz 2

63

ГОСТ Р 53556.2—2012

Б .2.4 Таблицы

Таблица Б.1 — Коэффициенты фильтра мокних частот

Gw

1.100000000000000

-1.998066423746901

S,

1.000000000000000

С,

-1.962822436245804

°1

0.9684991816600951

Аг

-1.999633313803449

Вг

0.9999999999999999

с2

-1.858097918647416

Ог

0.8654599836007603

Таблица Ъ2 — Коэффициенты высокочастотного фильтра акцента

АА

0.551543

ВВ

0.152100

сс

0.89

DD

0.198025

GG

1.226

Таблица Б.З — Коэффициенты фигътра верхних частот

AL

-2. * 1. * cos((4.0/4.0)*x)

BL

1.

CL

-2. * 0.78 • cos((3,55/4.0)*x)

DL

0.78*0.78

GL

0.768

Приложение В (справочное)

Определения системного уровня

В.1 Точка случайного доступа

То*а случайного доступа в потоке битое HVXC может быть установлена в любой гршьгнюй тоже фрейма.

64

ГОСТ Р 53556.2—2012

Приложение Г (справочное)

Пример установки инструмента ЕР и маскировки ошибок для HVXC Г.1 Краткий обзор

Этот раздел огмсывает пример реализашы инструмента ЕР (зашита от ошибок) и метод маскировки ошибок для HVXC. Некоторые из перцепщюнно важных битов защмцвны схемой FEC (прямая коррекция ошибок), а некоторые проверяется цикгмчесхим контролем избыточности (CRC), чтобы решать, активны ли е состав ошибочные биты. Когда происходит ошибка CRC. выполняется маскировка ошибок, чтобы уменьшить заметную деградацию.

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

Г.2 Установка инструмента ЕР

Г.2.1 Пример внеполосной информации для HVXC

Фиксированная скорость 2.0 Кбит/с

ESC (Категория чувствительности ошибок) примеры двух смежных фреймов приложены непосредственно для классов ЕР.

Класс 1: 22 бита (фиксированных). 2 фрейма связан те. скорость кода SRCPC 8/16. CRC на 6 битое;

Класс 2: 4 битв (фиксированных), скорость кода SRCPC 8/8. 1 битовый CRC;

Класс 3: 4 бита (фиксированных), скорость кода SRCPC 8/8. 1 разрядный CRC:

Класс 4: 20 битое (фиксированных). 2 фрейма связаыые. скорость кода SRCPC 8/8. СЯС отсутствует.

1

/* number of predefined sets V

2

Г bit interleaving V 0

3

/* bitstuffing У

2

Г 2 frame concatenate V

4

Г number of classes У

00010020

/* length_esc. snpc_esc. ctcjasc, concatenate, FEC type. No terminabcn. interleave SW. dess option У

22

/* bits used for class length (0 = unti the end) У

8

/”puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

6

Г ere length У

00000030

/* length_esc. s/qx_esc. ctcjasc, concatenate. FEC type. No terminabcn. interleave SW. dess option У

4

Г bits used for class length (0 = unti the end) У

0

Z’puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

1

Г ore longth V

00000030

/* length_asc. snpc_esc. ctcjasc, concatenate. FEC type. No terminabcn. interleave SW. dess option У

4

Г 6#ts used for class length (0 = unti the end) У

0

/* punctue rate for srcpc 0 = 8/8… 24 = 32/8 У

1

/* ere length У

00010030

Г length_esc. s/qx_esc. ctcjasc, concatenate, FEC type. No terminabcn. interleave SW. ctess option У

10

Г 6its used for class length (0 = until the end) У

0

/* puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

0

Г ere length У

Фиксированная скорость 4 Кбит/с.

ESC (Категория чувствительности ошибок) примеры двух смежных фреймов приложены непосредственно для классов ЕР:

Класс 1: 33 битв (фиксированных). 2 фрейма связанные, скорость кода SRCPC 8/16, 6 битов CRC.

Класс 2: 22 бита (фиксировать*). 2 фрейма свяэажые, скорость кода SRCPC 8/8. 6 битое CRC.

Класс 3: 4 бита (фиксированных), скорость кода SRCPC 8/8. 1 бит CRC.

Класс 4: 4 битв (фиксированных), скорость кода SRCPC 8/8. 1 бит СЯС.

Класс 5:17 битое (фиксированных). 2 фрейма связанные, скорость кода SRCPC 8/8. CRC отсутствует.

1

Г number of predefined sets У

2

/*Ш nterteaving V0 Г bitstuffing V

2

/* 2 frame concatenate V

5

/* number of classes У

00010020

/“ length_asc. snpc_esc. ac_esc. concatenate. FEC type. No terminabcn. interleave SW. dass option V

65

ГОСТ Р 53556.2—2012

33

8

6

00010030 22 0 6

00000030

4

0

1

00000030

4

О

О

ООО 10030 17 О О

Г bits used for class length (0 = until the end) V Г puncture rate for srcpc 0 = 8/8… 24 – 32/8 V Г crc length V

Г length_esc. srcpc_esc. crc_esc. concatenate. FEC type. No terwinabcn interleave SW. ctess option V /* bits used for class length (0 = until the end) 7 /* puncture rate for srcpc 0 = 8/8… 24 – 32/8 V /■ crc length V

/• iengtfi_esc. srcpc_esc. crc_esc. concatenate. FEC type. No termination. яte/feave StV. ctess cptran У Г bits used for class length (0 = until the end) V /* puncture rate for srcpc 0 = 6®… 24 = 12/8 V /* crc length V

/* tengtn_esc. srppc.esc. crc_esc. concatenate. FEC type. No termination, nterfeeve SIV. ctess option У /* Ms used for class length (0 = until the end) V Г puncture rate for srcpc 0 = 68… 24 = 12/8 V Г crc length V

^ teogtb_esc. srcpc_esc, crc_esc . concatenate. FEC l)pe. Nb terminator], nterteare SW. ctess option У Г bits used for class length (0 = until the end) V /” puncture rate for srcpc 0 – 8/8… 24 = 32/8 V Г crc length V

Таблица Г.1 показывает назначение битое закодированного канала для использования параметров настройки вышеупомтутого тструментэ ЕР.

Таблица Г.1 — Закодированное каналом назначение битов для испогъэования инструмента ЕР

Фиксированная скорость 2.0 Кбат/с

Фиксированная скорость 4 Кбит/с

Класс I

Биты кодера источника

44(‘Ч

Контроль CRC

6

6

Кодовая скорость

8/16

8/16

Класс 1 совокутмо

1UU

144

Класс II

Биты кодера источника

4

44,1>

Контроль CRC

1

6

Кодовая скорость

8/8

8/8

Класс II совокупно

5

50

Класс III

Биты кодера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/8

Класс IU совокутью

5

5

Класс IV

Биты «одера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/3

Класс fV совокупно

5

5

66

ГОСТ Р 53556.2—2012

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

Фиксированная скорость 2.0 Кбит/с

Фиксированная скорость 4 Кбиг/с

KnaccV

Биты кодера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/8

Класс V совокупно

5

5

Класс VI

Биты кодере источника

20’*”

4

Контроль CRC

0

0

Кодовая скорость

8/8

8/8

Класс VI совокупно

20

5

Класс VII

Биты кодера источника

34”1

Контроль CRC

0

Кодовая скорость

8/8

Класс VII совокупно

34

Совокупность битов всех классов

140

248

Битовая скорость

3.5 Кбит/с

6.20 Кбит/с

(*1) 2 фрейма связаны

Класс I:

CRC охватывает все биты Класса I. Биты Клаоса I. включая циклический контроль избыточности CRC, защищены сверхточным кодироса чем.

Классы II—V (Z0 Кбит/с). II—VI (4 Кбит/с):

биты по крайней мере одного CRC охватъеаюг исходные биты кодера этих классов.

Класс VI (2.0 Кбит/с). VI (4 Кбит/с):

исходные биты кодере не проверяются CRC и не защищеш какой-либо схемой ислрэвлвтя ошибок.

Г.З Маскирование ошибок

Когда обнаружена ошибка CRC. выполняется процесс ыасамроеамня ошибок (маскировка плохого фрейма). Пример метода маскировки описан ниже.

Состояние маскирования текущего фрейма обновляется на базе результата декодироеажя СЯС Класса I. Диаграмма переходов состояния показана на рисунке Г.1. Начальное состояние — состояние = 0. Стрелка с символом «1» обозначает переход для плохого фрейма, и стрелка с символом «0» хороший фрейм.

Г.3.1 Замена параметра

Согласно значению состояния выполняется следующая замена параметров. При отсутствии ошибок эначо кме состояныя становится 0. и полу км «то исходные биты кодера ислогъэуются без какой-либо обработки масхм-роеанием.

Г.3.1.1 Параметры LSP

При состоя*» = 1…6 параметры LSP заменяются таковыьм из предыдущих.

Кощз состогмю = если LSP4 = 0 (режим квантования LSP без ыежфреймоеого предсказания), то параметры LSP вычисляются исходя из всех индексов LSP. полученных а текущем фрейме. Ест LSP4 = 1 (режим квантоватя LSP с межфреймоеым кодирооанюм). го параметры LSP вычисляются следующим методом.

В этом режиме параметры LSP от индекса LSP1 интерпотруются с предыдущими LSPs.

LSP^ (л) = р LSP^ (л) + (1 – p)LSP,„(n) для л«1..Ю

67

ГОСТ Р 53556.2—2012

LSP. |)((n1 является параметрам LSP базового урсо!Я. LSP(r9r (л) является предыдущим LSPs. LSPffjl (л) — декодированные LSPs от текущего индекса LSP1 и р — коэффнмент дотерполяшм- Р меняется согласно числу битов прешдущих ошибочных фреймов CRC Класса I. как показано е табгмце П2. кодексы LSP – – LSP2. LSP3 и LSP5 не испогъзуются. и LSPM##(o) используются как параметры текущего LSP.

Таблица Г2 — Фактор р

• р*йм

Р

0

0.7

1

0.6

2

0.5

3

0.4

4

0.3

5

0.2

6

0.1

*7

0.0

Г.3.1.2 Переменная отключения звука

Согласно значению “state'” (состояние), значение переменной ’mute’ (молча но) установлено для управления уровнем вывода речи.

Значение “mute” ислогъзуется мою.

В состоянии3 7 испогъзуется среднее чюло 1.0 и значения *mute” предыдущего фрейма (* 0.5 (1.0 + + предыдущее “значение mute”)), но когда это значение богъше 0.8. значение “mute“ заменяется на 0.8.

Таблица Г.З — Переменная mute (молчание)

Молчание

0

1.000

1

0.800

2

0.700

3

0.500

4

0.25000

5

0.125

6

0.000

7

Среднее/0.600

Г.3.1.3 Замена и управление усилением «речевых» параметров

В состоянии = 1..6, параметр спектра SE_stlape^. SE_shape2. параметр усиления SE оанп. параметр спектра для кодека на 4 Кбит/с SE_shape3. SE_shepeб заменены соотеетстеуюимми параметрам предыдущего фрейма. Кроме того, чтобы управлять громюстью вывода речи, параметры величины гармоник остаточного сигнала LPC. “Ат {0 … 127]“ управляются по усилен*», как показано в (Г.1). В этом уравнении Алт^^ [/] вычисляется исходя из принятых параметров спектра последнего фрейма, свободного от ошибок

Am(i} = mute ’ Amlvg) ft] для/ = О..127 (Г.1)

Если предыдущий фрейм является неречевым и текущее состояние =7. (Г.1) заменяется (Г.2).

Amf) = 0.6 ’mute * Алт , [i] для г*О..127 <Г2)

Как огмсано ранее. S£_sftapel и SE_shape2 индивидуально защищены СЯС на 1 бит. В состоянии = О или 7. когда ошибки СЯС этих классов обнаружены а то же самое время, квантованные величины гармонюс с фиксированной размерностью Amgn( [1..44] подавляются по усиленно, как показано в (Г.З).

^”W’l = *£/’*’”**<*9>W Для » = 1..44. (Г.З)

где s(f] — коэффициент для подавления усиления.

68

ГОСТ Р 53556.2—2012

Таблица Г.4 — Коэффициент для подаалеютя усиления’s {0..44J”

i

1

2

3

4

5

6

7….44

0.10

0.25

0.40

0.55

0.70

0.85

1.00

При 4 Кбит/с SE_shap&4. S£_shape5. и S£_shapeS проверяется по СЯС как биты Класса II. Когда обнаружена ошибка CRC. параметр спектра уровня рэсимрения не испогъзуется.

Г.3.1.4 Замена и управление усилением «неречевых» параметров

В состоянии = 1.. 6. стохэстичеаме параметры усиления мки шифров УХ_дак?1[0]. VX_рагл1[1] заменяются на VX_ga«r>1(1I из последнего фрейма, свободного от ошибок. Также стохэстичесте параметры усиления пим шифров для кодека на 4 Кбит/с VX_gair2\0\.. VX qa/n2f31 заменяются на VX_gain2fi] из последнего фрейма, свободного от ошибок.

Стохэстичесте параметры формы книги шифров \OC_s/tape1[0]. УХ_зЛаре1[1{. и стохэстичеоом параметр формы книт шифров кодека на 4 Кбмт/с генерируются, исходя из случайно сгенерированных значемы ждекса.

Кроме того, чтобы управлять громкостью речевого выхода, остаточшм сигнал LPC resfO … 159] управляется по усиленюо. как показано а (Г.4). В этом уравнении r&s/<t9i [i] оымсляется. исходя из стохастических параметров омги шифров.

r9sfi]-mute resorfp’] (0 Si£159). (Г.4)

Г.3.1.5 Переходы состояния маскирования фрейма

69

ГОСТ Р 53556.2—2012

УДК 621.396:006.354 ОКС 33.170

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

Редактор Е. В. Baxpyweea Технический редактор В. Н. Прусакова Корректор Л. Я. Митрофанова Компьютерная верстка А П. Финогеновой

Сдано в набор 14.11.2013 Подписано • печать 17.02.2014. Формат 60 x 84 \’t. Бумага офсетная Печать офсетная Уел. печ а. 8.37. Уч.-иад. л. 7.80 Тирах S6 эха За* 1482

Гарнитура Ариал.

•ГУП « СТЛНДАРТИ Н#ОРМ •. 123005 Мосяха. Гранатный пер . 4 lu info^postinfo.nt

Набрано и отпечатано а Калужской типографии стандартов. 24802т Калуга, уя Московская. 258

Николай Иванов

Эксперт по стандартизации и метрологии! Разрешительная и нормативная документация.

Оцените автора
Все-ГОСТЫ РУ
Добавить комментарий

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

ФЕДЕРАЛЬНОЕ АГЕНТСТВО

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

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

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТ Р 53556.2 — 2012

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

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

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

Часть 3

(MPEG-4 AUDIO)

ISO/1EC 14496-3:2009 (NEQ)

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

Стандарт нферм

2014

ГОСТ Р 53556.2—2012

Предисловие

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

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

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

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

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

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

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

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

ГОСТ Р 53556.2—2012

Содержание

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

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

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

3.1 Конфигурация декодера (HvxcSpedficConfig)……………………. 1

3.2 Фрейм потока битое (afPduPaytoad)…………

3.3 Конфигурация декодера (ErrorRes/fantHvxcSpecificConfig)

3.4 Фрейм потока битое (atPduPayfoad)…………

4 Семантика потока битое……………….

4.1 Конфигурация декодера (HvxcSpec&cConfig. ErrorResdtentHvxcSpeaficConfig)……….

4.2 Фрейм потока битое (a/PduPaytoad)………………………….

5 Инструменты декодера HVXC………………………………

5.1 Обзор………………………………………

5.2 Декодер LSP……………………………………

5.3 Декодер гармонического VQ…………………………….

5.4 Декодер временного домена…………………………….

5.5 Интерполяция параметров для управления скоростью………………….

5.6 Синтезатор речевой компоненты…………………………..

5.7 Синтезатор неречевой компоненты………………………….

5.8 Декодер варьируемой скорости…………………………..

5.9 Расширение режима варьируемой скорости HVXC…………………..

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

Приложение Б (справочное) Инструменты декодера HVXC………………….

Приложение В (справочное) Определения системного уровня…………………

Приложение Г (справочное) Пример установки инструмента £Ри маомровки ошибок для HVXC. . .

ш

ГОСТ Р 53556.2—2012

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

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

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

Часть 3

(MPEG-4 AUDIO)

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

Sound broadcasting rtgital.

Coding of signals of sound broadcasting with reduction of redundancy for transfer on tfcgrtal communication channels.

A part 3 (MPEG-4 audio). Harmonic Vector Excitation Coring

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

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

Параметрическое речевое кодировате MPEG-4 использует алгоритм гармонического кодирования с векторным возбуждением (HVXC). гое используется гармоническое кодирование остаточных сигналов LPC для речевых сегментов и кодирование с векторным возбуждением (VXC) для неречевых сегментов. HVXC позволяет кодировать речевые сигналы на 2.0 Кбит/с, и 4.0 Кбит/с масштабируемой схемой, где возможно декодирование потока 2.0 Кбит/с используя поток битов 2.0 Кбит/с. и поток битов 4.0 Кбит/с. HVXC также обеспечивает кодирование потока битое с варьируемой битовой скоростью, где типичная средняя скорость передачи информации в битах составляет приблизительно 1.2—1.7 Кбит/с. возможно независимое изменение скорости и шага во время декодирования, которое является мощной функциональной возможностью для быстрого поиска в базе данных. Длина фрейма равна 20 мс. и может быть выбрана одна из четырех различных алгоритмических задержек 33.5 мс. 36 мс. 53,5 мс. 56 мс.

Кроме того, как расширение HVXC, тип объекта ER_HVXC предлагает эластичный синтаксис ошибок и режим с переменной скоростью передачи данных на 4.0 Кбит/с.

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

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

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

Естественный Звуковой Объектный HVXC/ER_HVXC передается в одном или двух элементарных потоках: потоке базового уровня и опционном потоке уровня расширения.

Когда инструмент HVXC используется с инструментом защиты от ошибок, таким как инструмент MPEG-4 ЕР. должен использоваться порядок битое, упорядоченных в соответствии с чувствительностью к ошибкам. HVXC с эластичным синтаксисом ошибок и режимом переменной скорости передачи данных на 4.0 Кбит/с. описанным а 3.3 и 3.4. называют ER_HVXC.

Синтаксис потока битое описан в коде pseudo-C.

3.1 Конфигурация декодера (HvxcSpeciflcConffg)

Информация о конфигурации декодера для типа объекта HVXC передается в DecoderConfigOescriptorO базового уровня и Elementary Stream опционного уровня расширения.

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

1

ГОСТ Р 53556.2—2012

Требуется следующий HvxcSpedftcConfig ():

Синтаксис

Количество

битое

Мививми

HvxcSpeaficConfig 0 { isBaseLayer 0 (isBaseLayer) { HVXCcorGg 0

}

}

1

uimcbf

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

HVXCvarMode-0 HVXC fixed bit rate

HVXCrateMode = 0 HVXC 2kbps

IsBaseLayer -1 base layer

Таблица 1 — Синтаксис HVXCconfig ()

Синтаксис

Количество

битое

Мнемоника

HVXCconfigO

{

HVXCvarMode:

1

uimcbf

HVXCrateMode;

2

uimcbf

extensionFtag:

0 (extensionFtag) {

< to be defined in MPEG-4 Version 2

>

1

uimcbf

Таблица 2 — РежимHVXCvarMode

HVXCvarMode

Описание

0

HVXC fixed bit rate

1

HVXC variable Ы rate

ТаблицаЗ — Режим HVXCrateMode

HVXCrateMode

HVXCraie

Описание

0

2000

HVXC Z0 kbit/s

1

4000

HVXC 4.0 kbit/s

2

3700

HVXC 3.7 kbit/s

Таблица 4 — Константы HVXC

NUM_SUBF1

NUU_SUBF2

2

4

3.2 Фрейм потока битов (alPduPayfoad)

Динамические данные для типа объекта HVXC передаются как полезная кагружа AL-PDU в базовом уровне и опционном уровне расширения Elementary Stream.

Базовый уровень HVXC — полезная нагрузка Модуля Доступа alPduPayload {

HVXCframeQ:

}

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

2

ГОСТ Р 53556.2—2012

Чтобы анализировать и декодировать уровень рэсширежя HVXC. требуется информация, декодированная из базового уровня HVXC. alPtJuPayload {

HVXCenhaFrameO

)

Таблица 5 — Синтаксис фрейма HVXCirame {)

Сиятахсис

Количество

битов

Мивуоми

HVXCframeO

{

if (HVXCvarMode == 0} {

HVXCfixframe(HVXCrate):

}

else {

HVXCvarframef):

)

}

3.2.1 Фрейм потока битов HVXC

Таблица б — Синтаксис HVXCfixframe (rate}

Таблица 7 — Сютаксис HVXCenhaFrame ()

Синтаксис

Количество

битов

Миеном ка

HVXCenhaFratneO

{

k)LsP20: к)Ехс2(4О00):

}

Таблица 8 — Сжтаксис idLspI ()

Синтаксис

Количество

битов

Миеном ка

tdLspI ()

{

LSP1:

5

uimcbf

LSP2:

7

uimcbf

LSP3;

5

uimcbf

LSP4:

1

uimcbf

}

3

ГОСТ Р 53556.2—2012

Таблица 9 — Синтаксис idLsp2 ()

Синтаксис

Количество

битов

Мнемоника

kJLsp2{)

{

LSP5:

8

uimcbl

}

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

Синтаксис

Количество

битов

Мнемоника

kMJV 0

{

VUV:

8

uimcbf

}

Таблица 11 — VUV (для режима фиксированной скорости передачи битое)

VUV

Описание

0

Unvoiced Speech

1

Mixed Voiced Speech-1

2

Mixed Voiced Speech-2

Таблица 12 — Синтаксис jdExef 0

CnwtKcxe

Количество

битое

Ымамомика

idExclQ

{

if (VUV /= 0) {

Pitch:

7

uimcbf

SE_shape1:

4

uimcbf

SE_shape2:

4

uimcbf

SE_gain:

5

}

else{

for (sJ_rwm=0: s(_num < NUM_SUBF1: d_num+*}{

VX_shape1 [sf_mxn]:

6

uimcbf

VX_ga*nl lsf numf:

4

uimcbf

}

}

}

4

ГОСТ Р 53556.2—2012

Таблица 13 — Сттаксис kJExc2 (rata)

Синтаксис

Количество

битое

Мнемоника

idExc2(rate)

{

if (VUV Ы (9 {

SE_sbape3.

7

uimcbf

SE_sbape4:

10

uimcbf

SE sbapeS: if (rate >= 4000) {

9

uimcbf

SE shapefi;

}

}

efse {

for (sf_num=0: sf_num < NUM_ SUBF2-1: sf_num**){

в

uimcbf

VX_shape2(sf_num]:

5

uimcbf

VX gain2fsf numj:

}

if (rate >-4000) {

3

uimcbf

VX sbape2(3J:

5

uimcbf

VX gam2{3):

}

)

)

3

uimcbf

kJLspI (). jdExrf (). kJVUVQ обработаны как базовый уровень в случае масштабируемого режима. idLsp2 (), idExc2() обработаны как уровень расширения в случае масштабируемого режима

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

Синтаксис

Количество

битов

Мнеиоми

HVXCvariramel)

{

Kjvarvuvo;

tdvarLsp1():

kfvarExclQ

)

Таблица 15 — Сжтаксис ktvarVUV ()

Синтаксис

Количество

битов

Мнемотмса

kfvarVUVO

{

VUV:

2

uimcbf

}

Таблица 16 — VUV (для режима варьируемой битовой скорости)

VUV

Описание

0

Unvoiced Speech

1

Background Noise

2

Mixed Voiced Speech

3

Voiced Speech

5

ГОСТ Р 53556.2—2012

Таблица 17 — Синтаксис idvartspl ()

Синтаксис

Количество

битое

Мнеыомка

idvartspl ()

(

f(VUV!=1){ LSP1:

5

uimcbf

LSP2:

7

uimcbf

LSP3:

5

uimcbf

LSP4:

1

uimcbf

}

}

Таблица 16 — Синтаксис idvarExc! ()

Синтаксис

Количество

битов

Мнемоника

idvar£xc1()

{

if(VUV!= 1){ M(VUV!=0){

Pitch:

7

uimcbf

SE_Shape1:

4

uimcbf

SE_Sbape2:

4

uimcbf

SE_Gam:

}

else {

for fsf_num=0: sf_num<MM_SUBF1: sf_cxxn++)

5

uimcbf

{

VX_gaint[sf num};

}

}

}

}

4

uimcbf

3.3 Конфигурация декодера (ErrorResiHentHvxcSpecificConfig)

Информация конфигурации декодера для типа объекта ER_HVXC передается в Decod&ConfigDescriptorO базового уровня и в Elementary Stream опционного уровня расширения.

Требуется следующий ErrorResthentHvxcSpedficCoflfig 0.

ErrorResHientHvxcSpadficConfig Q { isBaseLayer 1 штсЫ rf (isBaseLayer) (

E/HVXCconfigO;

}

i

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

HVXCrateMode = О ER_HVXC 2.0 kbit/s isBaseLayer = 1 base layer

6

ГОСТ Р 53556.2—2012

Таблица 19 — Синтаксис ErHvxcConfig 0

Синтаксис

Количество

битое

Мнемоника

ErHVXCconfigf)

{

HVXCvarMode:

1

uimcbf

HVXCrateMode:

2

uimcbf

extensfonFtag: i (extensKmFlag) {

1

uimcbf

ver_ScalableFiag:

}

}

1

uimcbf

Таблица 20 — Режим HVXCvarMods

HVXCvorUode

Описание

0

ERHVXC fixed titrate

1

ERHVXC variable

Таблица 21 — HVXCrateMode

HVXCratoMttdo

HVXCrate

Описание

0

2000

ERHVXC 2.0 K6unVc

1

4000

ERHVXC 4.0 K6umfc

2

3700

ERHVXC 3.7 K6unVc

3 (reserved)

Таблица 22 — var_ScelabtePlag

var_ Scafaoм^ rap

Описание

0

ERHVXC variable rate non-scalable

1

ERHVXC variable rate scalable mode

3.4 Фрейм потока битов (alPduPaytoad)

Динамические данные для типа объекта ER_HVXC передаются как полезная нагрузка AL-PDU в базовом уровне и Elementary Stream олциомкэго уровня расширения.

Базовый уровень ER_HVXC — полезная нагрузка Модуля Доступа alPduPaytoad {

ErHVXCframe Q;

}

Уровень расширения ERJHVXC — полезная нагрузка Модуля Доступа.

Чтобы анализировать и декодировать уровень расширения ER_HVXC. требуется информация, декодированная из базового уровня ER_HVXC. alPduPaytoad {

ErHVXCenhaFrama Q:

}

7

ГОСТ Р 53556.2—2012

Таблица 23 — Синтаксис ErHVXCframe 0

Синтаксис

Количество

битов

Мнемоника

ErHVXCframeQ

{

i (HVXCvarMode — 0){

ErHVXCRxframe(HVXCrate);

}

else {

ErHVXCvarframe(HVXCrate):

}

}

Таблица 24 — Синтжсис ErHVXCenhaframe ()

Синтаксис

Количество

битов

Мнемоника

ErHVXCenhaframe()

{

Ш (HVXCvarMode = 0) { EfHVXCenh HxframeO;

)

eise {

EfHVXCenh varframeO:

)

}

3.4.1 Синтаксис потока битов режима фиксированной скорости

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

Синтаксис

Количество

битов

Мнемо»чка

ErHVXCfixframe(rate)

{

М (rate — гооон 2k_ESC0(): 2k_ESC1{): 2k_ESC2():

2k ESC30:

)

else if (rate >= 3700) { 4k_ESC0(rate): 4k_ESC1(rate): 4k_ESC2(): 4k_ESC3():

4k ESC4(rate):

}

}

в

ГОСТ Р 53556.2—2012

Таблица 26 — Синтаксис 2k_ESCO ()

Синтаксис

Количество

бито*

Мнемоника

2k ESCO() {

VUV. 1-0:

2

uimcbf

1 (VUV != 0) {

LSP4. 0:

1

uimcbf

SE_даю. 4-0:

5

uimcbf

LSP1. 4-0

S

uimcbf

Pitch. 6-1:

6

uimcbf

LSPZ 6;

1

uimcbf

LSP3. 4:

1

uimcbf

LSPZ 5:

1

uimcbf

}

afse {

LSP4. 0:

1

uimcbf

VX gain 1(0}. 3-0:

4

uimcbf

VX даю 1(1}. 3-0:

4

uimcbf

LSP1. 4-0:

S

uimcbf

LSPZ 6-3:

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

Таблица 27 — Синтаксис2k_ESC1 ()

Синтаксис

Количество

битое

Мнемоника

2k ESC 10 {

4 (VUV 1=0} {

SE shapel. 3-0:

}

4

uimcbf

etse{

LSPZ 2-0:

3

uimcbf

LSPZ Z

1

uimcbf

}

)

Таблица 28 — Синтаксис 2k_ESC2 ()

Синтаксис

Количество

битое

Мнемоника

2k_ESC2()

{

4(VUV f= 0) {

SE_shape2. 3-0:

4

uimcbf

}

else {

LSP3. 1-0:

2

uimcbf

VX shape 1(0}. 5-4:

2

uimcbf

}

}

9

ГОСТ Р 53556.2—2012

Таблица 29 — Синтаксис 2k_ESC3 {)

Синтаксис

Количество

битое

UnewoHxu

2к ESC30 {

a (vuv != 0) {

LSP2. 4-0:

5

uimcbf

LSP3. 34):

4

uimcbf

Pitch, а

1

uimcbf

}

VX_shape1(0). 3-0:

4

uimcbf

VX shapeipi 50;

6

uimcbf

}

}

Таблица 30 — Синтаксис4k_ESCO()

Сиитаксис

Количество

битов

Ымемоиика

4k ESCOQ {

VUV. 1-0:

2

uimcbf

if (VUV !=0) {

LSP4. 0:

1

uimcbf

SE_gam. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

б

uimcbf

LSP2. 6-3:

4

uimcbf

SE_shape3. 6-2:

5

uimcbf

LSP3. 4:

1

uimcbf

LSPS. 7:

1

uimcbf

SE_shape4. 9:

1

uimcbf

SE_shapeS. 8:

1

uimcbf

if (rate >= 4000) {

SE shape6. 5:

1

uimcbf

}

}

else {

LSP4. 0:

1

wmcbf

VX_9*п1(0]. 3-0:

4

uimcbf

VX_gam1(1J. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4:

1

uimcbf

LSPS. 7.

1

uimcbf

VX_gan2l0}. 2-0:

3

uimcbf

VX_длп2[1}. 2-0:

3

uimcbf

VX_gain2f21. 2-0:

3

uimcbf

if (rate >- 4000) {

VX_gain2f3}, 2-1:

2

uimcbf

}

}

)

10

ГОСТ Р 53556.2—2012

Таблица 31— Синтаксис 4k_ESC1 ()

Синтаксис

Количество

битва

Мнемоника

4к ESC 1 (rate)

{

if (VUV != 0) {

SE_shape4. 8-0:

9

uimcbf

SE_shape5. 7-0.

8

uimcbf

g (rate >= 4000) {

SE shape6. 4-0:

5

uimcbf

}

}

eise {

8 (rate >= 4000) { VX_gain2[3J. O.

1

uimcbf

}

LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0

7

uimcbf

VX_sftape 1(0}. 5-0.

6

uimcbf

VX sfiape1[1], 5,

1

uimcbf

}

)

Таблица 32 — С**чтзксис4k_ESC20

4k_ESC2()

{

if (VUV != О) {

SE_shape1. 3-0.

)

eise{

VX_shape1(1l 4-1;

}

}

Синтаксис

Ко

пичестео

битва

Мнемоника

4

uimcbf

4

uimcbf

Таблица 33 — Синтаксис 4k_ESC3 ()

Синтаксис

Количество

битое

Мнемоника

4k_ESC3()

{

if (VUV <= 0) {

SE_shape2. 3-0.

4

uimcbf

}

eise {

VX_shape1{1}. O.

1

uimcbf

VX shape2l0], 4-2:

3

uimcbf

}

)

11

ГОСТ Р 53556.2—2012

Таблица 34 — Синтаксис 4k_ESC4 ()

Синтаксис

Количество

битов

Мнемоника

4к ESC4(rate)

{

if (VUV != 0) { LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0:

7

uimcbf

Pilch. 0:

1

uimcbf

SE shape3. 1-0:

2

uimcbf

}

else {

VX shape2{0). 1-0:

2

uimcbf

VX shape2(1). 443:

5

uimcbf

VX shape2[2], 443

5

uimcbf

if (rate** 4000) {

VX shape2[3f. 443:

5

uimcbf

}

}

}

3.4.2 Синтаксис потока битов для масштабируемого режима

Синтаксис потока битое базового уровня для масштабируемого режима такой же самый как синтаксис ErHVXCfixframe (2000). Синтаксис потока битое уровня расширения. ErHVXCenhaFrarne (). для масштабируемого режима показан ниже.

Таблица 35 — Сюгтаксис ErHVXCenh_8xframe 0

Синтаксис

Количество

битов

Мнемоника

ErHVXCenh fixframeO {

Enh ESCOf):

Enh ESC1Q: Enh_ESC2():

}

Таблица Зв — СинтаксисEnh_ESCO()

Синтаксис

Количество

Мнемоника

битов

Enh ESCO() {

if (VUV != 0){

SE shape3. 6-2.

5

uimcbf

LSP5. 7:

1

uimcbf

SE shap&4. 9:

1

uimcbf

SE_shape5. 8:

1

uimcbf

SE shape6. 5:

1

uimcbf

SE shape4. 8-6:

}

else {

3

uimcbf

LSP5. 7:

1

uimcbf

VX ga*n2fOJ. 243

3

uimcbf

VXgain2f1). 2-0

3

uimcbf

VXgain2f2). 2-0

3

uimcbf

VX_gam2{3]. 2-1

2

uimcbf

}

}

12

ГОСТ Р 53556.2—2012

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

Сии таксис

Количество

битое

Мнемоника

Enh ESC1()

{

/f(VUV!=0){

SE shape4. 5-0:

6

uimcbf

SE shape5. 7-0:

8

uimcbf

SE shape6. 4-0:

S

uimcbf

}

else {

VX gam2pi 0:

1

wmcbf

LSP5. 6-0:

7

uimcbf

VX shape2{0], 4-0:

5

uimcbf

VX shape2{1}. 4-0:

5

uimcbf

VX shape2[2}. 4:

1

uimcbf

}

}

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

Синтаксис

Количество

битое

Миемоника

Enh ESC20 {

if(VUV!= Of { LSP5. 6-0:

7

uimcbf

SE shape3. 1-0:

2

uimcbf

}

else {

VX shape2{2}. 3-0.

4

uimcbf

VX shape2l3}. 4-0.

S

uimcbf

}

}

3.4.3 Синтаксис потока битое режима с варируемой скоростью передачи данных

Таблица 39 — Синтаксис ErHVXCvarframe ()

Синтаксис

Количество

битое

Мнемоника

ErHVXCvarframefrate)

{

if до — 2000) {

a War ScalabieFiag == 1) { BaseVar ESC0(): BaseVar ESC1Q: BaseVar ESC2(): Base Var_ESC3():

} else {

Var2k ESC00:

Var2k ESC1Q:

Vai2k ESC20:

Var2k ESC30:

)

}eise{

Var4k ESCOi):

Var4k ESC1():

Var4k ESC2():

Var4k ESC3():

Var4k ESC4Q:

}

}

13

ГОСТ Р 53556.2—2012

Таблица 40 — Синтаксис Var2k_ESC0 ()

Синтаксис

Количество

битов

Мнемоника

Var2k ESCO0 {

VUV. 1-0:

2

uimcbf

if(VUV == 21 VUV~3){

LSP4. Ос

1

uimcbf

SEjgam. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Piet}. 6-1:

6

uimcbf

LSP2. fir

1

uimcbf

LSP3, 4:

1

uimcbf

LSP2. &

1

uimcbf

}

else H (VUV ~0){

LSP4. ft

1

uimcbf

VX gainlfO}. 3-0:

4

uimcbf

VX_gam1(1J. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

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

Синтаксис

Количество

битов

Мнемоника

Var2k_ESC1()

{

if (VUV == 21 VUV = 3){ SE shape T. 3-0:

4

uimcbf

}

else * (VUV — 0) { LSP2. 2-0:

3

uimcbf

LSP3. Z

1

uimcbf

}

}

Таблица 42 — Синтаксис Var2k_ESC2 0

Синтаксис

Количество

битов

Мнемоника

Var2k ESC20 {

if (VUV == 2% VUV = 3){

SE_shapeZ 3-0:

}

4

uimcbf

else 8 (VUV — 0) {

LSP3. 1-0:

}

}

2

uimcbf

14

ГОСТ Р 53556.2—2012

Таблица 43— Сттаксис Var2k_ESC3 ()

Синтаксис

Количество

бито*

Мнемоника

Var2k ESC30

{

if (VUV — 21 VUV — 3) {

LSP2. 4-0:

5

uimcbf

LSP3. 3-0:

4

uimcbf

Pich. Or

1

uimcbf

}

}

Таблица 44 — Синтаксис Var4kJESC0 ()

Синтаксис

Количество

битое

Мнемоника

Var4k ESC0() {

VUV. 1-0:

2

uimcbf

if (VUV ” 21 VUV = 3}{

LSP4. Or

1

uimcbf

SE gam. 4-0.

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

6

uimcbf

LSP2. 6-3:

4

uimcbf

SE_shape3. 6-2:

5

uimcbf

LSP3. 4:

1

uimcbf

LSP5. 7:

1

uimcbf

SE_shapa4. 9:

1

uimcbf

SE_shape5. 8:

1

uimcbf

SE_snapec. s:

1

uimcbf

}

eise i (VUV ~0){

LSP4. Or

1

uimcbf

VX_gam1{0}. 3-0:

4

uimcbf

VX_gamlf1f. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3:

4

uimcbf

LSP3. 4-3:

}

else {

2

uimcbf

UpdateFlag. 0:

1

uimcbf

i (UpdateFlag =1){

LSP4. Or

1

uimcbf

VX_gain1(0}. 3-0;

4

uimcbf

LSP1. 4-0;

5

uimcbf

LSP2. 6-3;

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

}

}

15

ГОСТ Р 53556.2—2012

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

Синтаксис

Количество

биток

Мнемоника

Var4k ESC 10 {

if (VUV== 21 VUV = 3){ SE shape4. 8-0:

9

wmcbf

SE shapes. 7-0:

8

uimcbf

SE shape6. 4-0:

i

else * (VUV — 0) { LSP2. 2-0:

5

wmcbf

3

uimcbf

LSP3. 2-0:

3

uimcbf

VX shapelfOJ. 5-0.

6

uimcbf

VX shapel(1). 5-0:

6

uimcbf

}

else {

i (UpdaHeFtag ~1){ LSPZ 2-0:

3

wmcbf

LSP3. 2-0:

3

uimcbf

}

}

}

Таблица 46 — Синтаксис Var4k_ESC2 ()

Синтаксис

Количестао

биток

Мнемоника

Var4k ESC20 {

if (VUV== 21 VUV = 3){ SE shape 1. 3-0:

i

}

4

uimcbf

Таблица 47 — Сжтакое Var4k_ESC3 0

Синтаксис

Количестао

биток

Мнемоника

Var4k ESC30 {

H (VUV == 21 VUV = 3){

SE shape2. 3-0:

}

}

4

uimcbf

Таблица 48 — Синтаксис Var4k_ESC4 ()

Синтаксис

Количестао

битоа

Мнемоника

Var4k ESC40 {

И (VUV == 21 VUV — ЗП LSP2. 2-0:

3

uimcbf

LSP3. 3-0:

4

uimcbf

LSP5. 6-0:

7

uimcbf

Pich.O:

1

uimcbf

SE shape3. 1-0:

2

uimcbf

}

}

16

ГОСТ Р 53556.2—2012

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

Синтаксис

Количество

битое

Мнемоника

BaseVar ESC00 {

VUV. 1-0;

2

uimcbf

if (VUV == 21 VUV==3){

LSP4. Or

1

uimcbf

SE_gain. 4-0:

5

uimcbf

LSP1. 4-0:

5

uimcbf

Pitch. 6-1:

6

uimcbf

LSP2. 6.

1

uimcbf

LSPZ 4;

1

uimcbf

LSP2. 5:

1

uimcbf

}

else if (VUV = 0) {

LSP4. 0:

1

uimcbf

VX_gain1fO], 3-0;

4

uimcbf

VX_gan1(1]. 3-0.

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSP2. 6-3;

4

uimcbf

LSP3. 4-3:

2

uimcbf

}

else {

UpdateFiag. 0;

1

uimcbf

if (UpdateFtag =1) {

LSP4. 0;

1

uimcbf

VX_gain1{0l. 3-0:

4

uimcbf

LSP1. 4-0:

5

uimcbf

LSPZ 6-3;

4

uimcbf

LSP3. 4-3;

2

uimcbf

}

}

}

Таблица 50 — СинтаксисBaseVar_ESC1 ()

Синтаксис

Количество

битов

Мнемоника

Base Var_ESC1()

{

if (VUV = 2 Й VUV ==3){ SE_shape1. 3-0:

4

uimcbf

}

else i (VUV =0) { LSP2. 2-0:

3

uimcbf

LSP3. г

1

uimcbf

}

else {

ffUpdateRag — 1) { LSPZ 2-0;

3

uimcbf

LSP3. 2-0;

3

uimcbf

}

}

}

17

ГОСТ Р 53556.2—2012

Таблица 51 — Синтаксис BaseVar_ESC2 0

Синтаксис

Количество

битва

Мнемоника

BaseVar ESC2()

{

if(VUVss 2Ц VUV ==ЗН SE shape2. 3-0.

4

wmcbf

}

else 4 (VUV — 0){ LSP3. 1-0:

2

uimcbf

VX shape 1(0). 5-4.

2

wmcbf

}

}

Таблица 52 — СинтаксисSaseVa^E^J0

Синтаксис

Количество

битва

Мнемоника

BaseVar ESC3Q {

if (VUV == 21 WV ~3){ LSP2. 4-0

5

uimcbf

LSP3. 3-0:

4

uimcbf

Pitch, ft

1

uimcbf

;

else if (VUV — 0) {

VX shape 1{0}. 3-0

4

uimcbf

VX Shape1(1}. 5-0

в

uimcbf

}

}

3.4.4 Уровень расширения масштабируемого режима с перо мен ной скоростью передачи данных

Таблица 53 — СинтаксисErHVXCenh varframe ()

Синтаксис

Количество

битва

Мнемоника

ErHVXCenh varfrme() {

EnhVar ESCO0: EnhVar ESC 1Q: EnhVar ESC2Q:

)

Таблица 54 — Синтаксис EnhVar_ESCO ()

Синтаксис

Количество

битва

Мнемоника

EnhVar ESCO(>

{

if (VUV == 21 VUV = 3){

SE shape3. 6-2:

5

uimcbf

LSP5. 7:

1

uimcbf

SE shape4. 9:

1

uimcbf

SE shape5. 8:

1

uimcbf

SE shape6. 5.

1

uimcbf

SE shape4. 8-6.

3

uimcbf

}

}

18

ГОСТ Р 53556.2—2012

Таблица 55 — Синтэссис EnhVar_ESC1 ()

Синтаксис

Количество

битое

Мнемоника

EnbVar ESC10 {

if (VUV — 2| VUV = 3){ SE_shape4. 5-0:

6

uimcbf

SE_shape5. 7-0:

8

uimcbf

SE shapeG. 4-0:

5

uimcbf

}

}

Таблица 56 — Синтаксис EnhVar_ESC2 Q

Синтаксис

Количество

битов

Мнемоника

EnbVar ESC2Q

{

if (VUV == 21 VUV = 3){

LSP5. 6-0:

7

uimcbf

SE shap*3. 1-0:

2

uimcbf

}

}

4 Семантика потока битов

4.1 Конфигурация декодера (HvxcSpecificConfig, ErrorRasilientHvxcSpecfficConfig)

HVXCvarMode: HVXCrateMode: extansionFlag: var_ScatabtoFiag: isBaseLayer.

Флажок, указывающий режим варьируемой скорости HVXC (Таблица 1).

2-битовое поле, указывающие режим битовой скорости HVXC (Таблица 1}.

Флажок, указывающий присутствие данных MPEG-4 версии 2 (Таблица 1).

Флажок, указывающий варьируемый режим масштабирования ER_HVXC (Таблица 22). Однобитовый идентификатор, представляющий является ли соответствующий уровень базовым уровнем (1) или уровнем расширения (0).

4.2 Фрейм потока битов (alPduPayioad)

LSP1: Это поле из 5 битов представляет индекс первой стадии квантования LSP (базовый

уровень. Табгмца 8 и Таблица 17).

LSP2: Это поле из 7 битов представляет индекс второй стадии квантования (.ЭР(базоеый

уровень. Таблица 8 и Таблица 17).

LSP3: Это поле из 5 битов представляет индекс второй стадии квантования LSP (базовый

уровень. Таблица 8 и Таблица 17).

LSP4: Это однобитовое поле представляет флажок указания, используется ли межкаоровое

предсказание или не используется во второй стадии квантования LSP (базовый уровень. Таблица 8 и Таблица 17).

LSP5: Это поле из 8 битое представляет индекс третьей стадж квантования LSP (уровень

расширения. Таблица 9).

VUV. Это попе из 2 битов представляет решающий режим VAJV. У этого поля есть различ

ные экачвюя согласно режиму варьируемой скорости HVXC (Тэбпща 10 и Таблица 15).

Pitch: Это поле из 7 битое представляет индекс линейно квантованной задержки шага в

пределах от 20—147 выборок (отсчетов) (Таблица 12 и Таблица 18).

SE_shape1: Это 4-битовое поле представляет индекс формы огибающей спектра (базовый уро

вень. Таблица 12 и Таблица 18).

SE_shape2. Это 4-битоеое поле представляет индекс формы огибающей спектра (базовый уро

вень. Таблица 12 и Таблица 18).

19

ГОСТ Р 53556.2—2012

SE_gain: Это 5-битоеое поле представляет индекс усиления огибающей спектра (базовый уро

вень. Таблица 12 и Табгмца 18).

VX_shape1 [sf.num]: Это 6-битоеое поле представляет индекс формы VXC подфрейма sf__num-{h (базовый уровень. Таблица 12 и Таблица 18).

Это 4-битовое поле представляет индекс усиления VXC подфрейма sf_num4h (базовый уровень. Таблица 12 и Таблица 18).

Это поле из 7 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 10 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 9 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

Это поле из 6 битов представляет индекс формы огибающей спектра (уровень расширения. Таблица 13).

VX_sbapa2 [s/_num]: Это поле из 5 битов представляет индекс формы VXC подфрейма sf_nom-th (уровень расширения. Таблица 13).

VX_gain2 [sf_num]: Это поле из 3 битов представляет индекс усиления VXC подфрейма sf_num~ih (уро

вень расширения. Таблица 13).

UpdateFtag. Это 1-битовое попе представляет флажок для указания обновления фрейма шума

(только для режима варьируемой скорости ER_HVXC на 4 Кбит/с).

5 Инструменты декодера HVXC

5.1 Обзор

HVXC обеспечивает эффективную схему для разности Кодироваться с Линейным Предсказанием (LPC) на базе гармонического и стохастического векторного представления. Векторное квантование (VO) огибающей спектра остатков LPC со взвешенной мерой искажения используется, когда сигнал является речевым. Кодирование с векторным Возбуждением (VXC) используется, когда сигнал не является речевым. Главные алгоритмические особенности следующие:

* Взвешенный VQ спектрального вектора варьируемой размерности.

* Алгоритм быстрого гармонического синтеза IFFT.

* Параметры кодера интерполяциидпя управления схоростъкУшагом.

Кроме того, функциональные особенности включают:

– Низкую, до 33.5 мс. полную алгоритмическую задержку;

* Масштабируемый режим 2.0—4.0 Кбит/с;

* Кодирование с варьируемой битовой скоростью для скоростей меньше 2.0 Кбит/с.

5.1.1 Структура кадрирования и блок-схема декодера

Инструменты декодера HVXC позволяют декодировать речевые сигналы на скорости 2.0 Кбит/с и выше, до 4.0 Кбит/с. Инструменты декодера HVXC также позволяют декодировать с режимом варьируемой битовой скорости при битовой скорости приблизительно 1,2—1.7 Кбит/с. Основной процесс декодирования состоит из четырех шагов: деквантование параметров, генерация сигналов возбуждения для разговорных фреймов синусоидальным синтезом (гармонический синтез) и добавление шумовой составляющей, генерация сигналов возбуждения для иеразгоеориых фреймов путем просмотра книги шифров и синтез LPC. Чтобы повысить качество синтезируемой речи, испогъэуют спектральную постфильтрацию.

5.1.2 Режим задержки

Кодер/декодер HVXC поддерживает режим низкой/нормальной задержки кодирования/декодирова-ния. позволяя любые комбинации режима задержки при 2.0—4.0 Кбит/с с масштабируемой схемой. Рисунок ниже показывает структуру кадрирования каждого режима задержки. Длина фрейма равна 20 мс для всех режимов задержки. Например, использование режима с низкой задержкой кодирования и низкой задержкой декодирования приводит к полной задержке кодера/декодера 33.5 мс.

8 кодере алгоритмическая задержка может быть выбрана равной 26 мс. либо 46 мс. Когда выбрана задержка 46 мс. для обнаружения шага используется просмотр одного фрейма вперед. Когда выбрана задержка 26 мс. для обнаружения шага используется только текущий фрейм. Синтаксис для обоих случаев общий, все квантователи общие, и потоки битов совместимы. В декодере алгоритмическая задержка может быть выбрана равной или 10 мс (режим нормальной задержки), или 7.5 мс (режим низкой задер

VX_gain1

SE_shape3.

SE_shapa4:

SE_shapeS.

SE_$hape6:

20

ГОСТ Р 53556.2—2012

жки). Когда выбрана задержка 7.5 ыс. интервал фрейма декодера сдвинут на 2.5 мс (20 отсчетов) по сдав* нению с 10 мс режимами задержки. В этом случае, генерация возбуждения и фаза синтеза LPC сдвинуты на 2.5 мс. Для обоих случаев, синтаксис общий, все квантователи общие и потоки битов совместимы.

Возможен любой независимый выбор задержки кодера/декодера из следующей комбинации:

Задержка кодера: 26 мс или 46 мс

Задержка декодера: 10 мс или 7,5 мс

В зависимости от приложения должны поддерживаться одна или несколько комбинаций режима за* держки.

5.2 Декодер LSP

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

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

Когда битовая скорость равна 2.0 Кбит/с. LSPs текущего фрейма, которые закодированы разбиением и двухступенчатым векторным квантованием, декодируются, используя двухступенчатый процесс декодирования. При 4.0 Кбит/с к основанию схемы квантователя LSP кодера 2.0 Кбит/с добавлен 10*мерный векторный квантователь, у которого имеется книга шифров на 8 битов. Биты, необходимые для LSPs. увеличены с 18 6итов/20мс до 26 битов /20мс.

Таблица 57 — Конфигурация ыногоступетатого LSP VQ

1-й этап

10 LSPVQ

5 битов

2-й этап

(5+5) LSP VQ

(7+5+1) битов

3-й этап

10 LSPVQ

8 битов

5.2.2 Определения Определения констант LPCORDER. Порядок анализа LPC (=10).

Ат[][]: Размерности для квантования вектора разбиения.

твп_дар: ЕАыииагьное расстояние между сосааыми коэффициентами LSP(базовый ypoeetfe=4,0/256.0).

ratio_ predict. Коэффициент межхадрового предсказания LSP (=0,7).

THRSLD_ L: Минимальное расстояние между соседними коэффициентами LSP (низкочастотная часть

уровня расширения = 0.020).

THRSLD_M: Минимальное расстояние между смежными коэффициентами LSP (средмочастотная честь

уровня расширения = 0,020).

THRSLD_ ht. Минимальное расстояние между смежными коэффициентам /.5Р(вькхжочастотная часть

уровня расширения = 0.020).

Определения переменных QLsp(]: Параметры квантованного LSP.

LSP1: Индекс первой стадии квантования LSP (базовый уровень).

LSP2. LSP3: Индексы второго квантования LSP (базовый уровень).

LSP4: Флажок, показывающий используется ли мвжкадровое предсказание (базовый уровень).

LSPS: Индекс третьего квантования LSP( уровень расширения).

Isp_ tbJ [][){]: Таблицы поиска для первой стадии процесса декодирования.

d _ to/Qni): Таблицы поиска для второй стадии процесса декодирования VQ без межхадроеого пред

аю ШН*

vqLsp 0П-sign:

Ktr.

lsp_ predict l): /sp_ previous (]: lsp_ current []: tsp_ first ft

сказания.

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

Таблица поиска для уровня расширения.

Знак вектора мзда для второй стадии процесса декодирования.

Индекс распаковки для второй стадии процесса декодирования.

LSPs. предсказанные из lsp_ previous и lsp_

LSPs. декодированные в предыдущем фрейме.

LSPs. декодированные в текущем фрейме.

LSPs. декодированные на первой стадии процесса декодирования.

21

ГОСТ Р 53556.2—2012

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

Процесс декодирования параметров LSP для базового уровня (2.0 Кбит/с) является тем же самым, что и процесс узкополосного CELP. Процесс декодирования описан ниже.

Индексы преобразования к LSPs

LSPs текущего фрейма (tap_currenf(]). которые закодированы разбиением и двухступенчатым вектор* ным квантованием, декодируются двухступенчатым процессом декодирования. Размерность каждого вектора приведена в таблицах ниже. LSP1 и LSP2, LSP3 представляют индексы для первой и второй стадии соответственно.

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

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

Размерность вектора dm, (0) M

0

10

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

Индекс вектора

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

разбиения i

dm, (1) М

0

5

1

5

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

top. 1Ы [Ш(].

for 0- 0; i < <«гл/0/ДО i**) { lsp_first(i} = IspJbifO} {LSP1)p}:

)

Во второй стадии есть два типа процессов декодирования, а именно, процесс декодирования VQ без межкадроеого предсказания и VQ с межкадровым предсказанием. Флажок LSP4 указывает, какой процесс должен быть выбран.

Т а 6 л и ц а 60 — Процесс де^одирова» tun дпя второй сгадн

Индекс LSP LSP4

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

0

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

1

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

Процесс декодирования УОбез межкадроеого предсказания

Чтобы получить LSPs текущего фрейма lsp_ current\\. декодированные векторы во второй стадии добавляются к декодированному в первой стадии вектору LSPIsp_ firsfl]. МС8 дпя LSP2 и LSP3 представ* ляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы d_ tt>/( ][](]• sign = LSP2»6; idx – LSP2&0x3f: if (sign — 0) ( for (i – 0: i < dim[l](0]: i**){ lsp_current[tJ – lsp_fksi[i] + d_tbf[0}fidx][i]:

}

)

else {

for 0 – 0: i < den[1}[0l h+) { lsp_currentft] – lsp_first[i] – d_tbi[0}pdx}fi};

}

}

22

ГОСТ Р 53556.2—2012

sign = LSP3»4. idx – LSP3&0x0f. if (sign == 0) { for (i – 0: i < h*) {

lsp_current(dim[1 ][0}+i) = lsp_firstfdim(1][0)+i] ♦ d tbif1]pdx]pj;

)

}

else {

for (i – 0:1 < <Hm[1)[1J: h+) {

Isp__currentfdim[1]l0]+i] = lsp_first(dim(1)[0)*i] – d_tbl[1)fidx}p]:

}

)

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

Чтобы получить LSPs текущего фрейма lsp_ current[). декодированные векторы второй стадии добавляются к вектору LSPisp jX9dict[]. которые предсказаны из декодированного LSPs предыдущего фрейма pravfoosf] и декодированного е первой стадии вектора LSP lsp_firsf[). Как в процессе декодирования VQ без межкадроеого предсказания. МСВ для LSP2 и LSP3 представляет знак декодированного вектора, а остающиеся биты представляют индекс для таблицы pd_tt4]QD-for (i = О: / < LPCORDER; i**) {

Ispjxedictp] = (1-ratio_predict) *tsp_firsip)

♦ ratio_pradictVspjxevtousp];

}

sign – LSP2»€: idx = LSP2&0x3t. if (sign == 0) { for (i – 0: t < dim[1][0j: i**) { lsp_currentfi] = Isp_pradictp] * pdjbl[0]pdx]p}:

}

)

else {

for (i – 0: i < dim[1][0}: h*) { lsp_currentp) – Isp_predict[i] – pd tbi{0}pdx][i]:

}

}

sign – LSP3»4. idx = LSP3&0x0f: if (sign == 0) { for (i – 0: t < dim[1J[1J: i**) {

lsp_currentfdim[1}[0}+i) = Isp_predict[dtm[1 }(0]*t] + pd_tb$1)pdx]p]:

}

)

else {

for (i – 0: i < dim[1](lj: h*) {

lsp_current(dim[1][0J*iJ – Isp_predict[dim[ 1 ][0]*i] – pd_tt4{1][idx}[i]:

}

}

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

Декодированною LSPs ^>.сиггел<П стабилизированы, чтобы гарантировать стабильность фильтра синтеза LPC. который извлекается из декодированных LSPs. Декодированные LSPs упорядочены в порядке возрастания, имея минимум расстояния между соседними коэффициентами, for (i = О. / < LPCORDER: i*+) { if (Isp currentp] < min^gap) isp^currentp] – min_gap:

}

for (I a ft I < LPCORDER-1: I**) { if (lsp_ currentp* 1 }-lsp_currentfi] < mtn_gap)

Isp_cunrentfi+1] = lsp_currentp}+minjgap:}

23

ГОСТ Р 53556.2—2012

;

for (i – О; i< LPCORDER: i**) { if (Jsp_currentfi) > 1-mtn_gap) tsp_currentfi] = 1-mm_gap:

}

for (i — LPCORDER- 1;i> 0: i–){ if (lsp_curren(fi}-lsp_currentfi-1] < min^gap) { lsp_currentfi-1]-lsp_currentfi}-minjjap:

}

}

for (i = 0: i < LPCORDER: i**) { qLspfi) – lsp_currentfi):

)

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

После процесса декодирования LSP декодированные LSPs должны быть сохранены в памяти, так как они используются для предсказания в следующем фрейме. for (i – О: i< LPCORDER: i**) {

Isp_j>revious(i] – lsp_currentfi):

}

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

for (i = О. / < LPCORDER: i**) {

Ispjxevtousp] – (i*1)/(LPCORDER*1):

}

Процесс декодирования для уровня расширения

Для уровня расширения (4.0 и 3.7 Кбит/с). дополнительные векторы кода и LSPs базового уровня суммируются следующим образом, for (i = О: / < LPCORDER: i**) { qLspfi] *- vqLsp{LSPS]fi]:

}

После вычисления LSPs снова стабилизируются, for (i = 0: i< 2: f**) { if (qLspp+1/- qLspfi] <0){

Imp – qLspp*1]; qLspfi* 1] – qLspfi): qLspfi] = Imp:

}

if (qLspfi* 1]- qLspfi] < THRSLD_L) { qLspfi * 1] – qLspfi] * THRSLD_L

}

}

for (i -2: i < 6: i**) { if (qLspfi* 1] – qLspfi] < THRSLD_M) { tmp = (qLspfi*1) * qLsp[i])/2.0; qLspfi* 1) = tmp * THRSLD_M/2.0: qLspfi] – tmp – THRSLD_M/Z0:

}

}

for (i = 6: i < LPCORDER-1: i**) { if (qLspfi*1)~ qLspfi] <0){ tmp – qLspfi *1}: qLspfi* 1) – qLspfi]: qLspfi] = tmp:

24

ГОСТ Р 53556.2—2012

}

if (qLspfi+1] – qLspfi] < THRSLD_H){ qLspfi] – qLspp+1]- THRSLD_H;

}

5.3 Декодер гармонического VQ

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

Промесс декодирования состоит иэ двух главных шагов для базового уровня, а именно, инверсного векторного квантования векторов огибающей спектра и преобразования размерности. Для уровня расширения используются дополнительные инверсные квантователи.

5.3.2 Определения Определения констант

SAMPLE: Число выборок е частотном спектре в пределах от 0 до 2л (=256).

R: Превышение частоты выборок в преобразовании размерности (=8).

ирйглО: Размерность вектора квантования огибающей спектра (=44).

JISU: Порядок фильтра передискретизации в домене с квантованием (=9).

f _ coef[\. Коэффициенты фильтра передискретизации.

Определения переменных

pitch:

pch:

pch_mode: иОГ: send: иО.

HVXCrate: pedvec[]: S£_ gain: SE_ shapel. SE_ shape2: SE_ shape3. SE_ shape4. SE_ shape5. SE_ shaped: gOQ: cbOfl D: cP1Q fl: сМЛЮШП: СМЛГ1ШП: СМЛ12ШП: cMfc[3HJ[]: ref):

re/O. rail :

ip_ratio:

target!):

Индекс величины отставания линейно квантованного шага Значение отставания шага в текущем фрейме Фактор модификации шага

Исходная фундаментальная частота, где SAMPLE представляет 2л Число гармоник в текущем фрейме (между 0 и 3800 Гц)

Целевая фундаментальная частота после преобразования размерности, где SAMPLE* R представляет 2л.

Операционная битовая скорость декодера.

вектор квантованной огибающей спектра в фиксированной размерности.

Индекс усиления огибающей спектра (базовый уровень).

Индексы формы огибающей спектра (базовый уровень).

Индексы формы огибающей спектра (уровень расширения).

Кодовое слово SE_ gain.

Кодовое слово SE_ shapel.

Кодовое слово SE_ shape2.

Кодовое слово SE_ shape3.

Кодовое слово SE_ shape4.

Кодовое слово SE_ shapes.

Кодовое слово SE_ shape€.

Ввод преобразования размерности.

Значения 8-кратного превышения дискретности в преобразовании размерности. Коэффициент линейной интерполяции преобразования размерности.

Восстановленный вектор, обусловленный векторными квантователями для уровня расширения.

ат[]: Восстановленный вектор гармонических величин.

feneq: Среднеквадратичюв значение вектора квантованной огибавшей спектра втекущем фрейме.

feneqold Среднеквадратичное значение вектора квантованной огибающей спектра в предыду

щем фрейме.

5.3.3 Процесс декодирования Декодирование индекса шага

Значение задержки шага в текущем фрейме, pch. декодировано из индекса шага Pitch следующим образом:

pch = Pitch * 20.0

25

ГОСТ Р 53556.2—2012

Модификация шага может быть выполнена делением pch на фактор модификации шага pch_ mod.

pch – pch / pch_ mod

Если модификацией шага управляет поле pitch в узле AudoSource BIFS. коэффициент модификации равен:

pch_mod = pitch

Значение модулированной задержки шага должно быть в пределах диапазона от 8.0 до 147.0.

Тогда число гармоник в частотном диапазоне между 0 и 3800 Гц. send, и фундаментальная частота. wO (где SAMPLE ж R представляет 2х). вычисляются следующим образом:

send – (/nfX0.9S х pch ж 0.5)

иЮв SAMPLE «* pch

Декодирование гармонических величин

Декодирование гармоиичесхих величин состоит из следующих шагов:

(51) Инверсия квантования вектора базового уровня.

(52) Подавление малых сигналов.

(53) Преобразование размерности выхода базового уровня.

(54) Инверсия квантования вектора уровня расширения.

Для режима 2.0 Кбит/с. выполняются вышеприведенные S1. S2 и S3 для того, чтобы получить гармо-ничесхие величины. Для режимов 4.0 и 3.7 Кбит/с в дополнение к S1. S2 и S3 выполняется S4.

В режиме 2.0 Кбит/с используется комбинация двухступенчатого квантования вектора формы и сха-парного квантования усиления, чьиии индексами являются SE_shape1, SE_shape2 и SE^gain. соответственно. Размерность двух книг шифров формы фиксирована (=44). В S1 добавляются два вектора формы, представленные SE_shape 1 и SE_shape2. и затем умножаются на усиление, представленное SEjgain. Вектор огибающей спектра, полученный в S1. охватывает частотный диапазон от 0 до 3800 Гц. Вектор огибающей спектра очень малой энергии затем подавляется в S2. Чтобы получить вектор гармонических величин исходной размерности, send, затем в S3 к вектору огибающей спектра применяется преобразование размерности. В режиме 4.0 Кбит/с используется дополнительная стадия с разбиением схемы VO. составленной из четырех векторных квантователей для уровня расширения. SE_$hape3, SE_shape4. SE_shape5 и SE_shape6 представляют индексы квантователей для уровня расширения. В S4 вывод этих квантователей добавляется к выводу S3 для гармонических величин в самых нижних 14 частотных гармониках. Когда выбран режим 3.7 Кбит/с, SE_shape6 ив доступно, и S4 выполняется для гармонических величин только самых низких 10 частотных гармоник.

Таблиц а 61 — Конфьжу рация |могоступенчатого гармомчесхого VQ

Размерность двухэтапиого V0

4 битовая форма

» 4 битовая форма * 5 битоаоо усиление

на 2.0 Кбит/с

44

Размерность расщепленного

7 битое

10 битов

9 битое

6 битое

VQ на 4.0 Кбит/с

2

4

4

4

Конверсионный алгоритм размерности

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

Число точек, которые составляют огибающую спектра, изменяется в зависимости от значения шага, поскольку огибающая спектра является рядом оценок величин в каждой гармонике. Число гармоник колеблется от 9 до 70. Чтобы получить величин варьируемого количества гармоник, декодер должен преобразовать кодовый вектор фиксированной размерности (=44) в вектор варьируемой размерности. Число точек, которые представляют форму огибающей спектра, должно быть изменено без изменения формы. С этой целью используется конвертер размерности, состоящий из комбинации фильтра нижних частот и линейного интерполятора 1-го порядка. Фильтр нижних частот FIR с 7 наборами коэффициентов. Каждый набор, состоящий из 8 коэффициентов, используется для 8-разоеой передискретизации первой стадии.

26

ГОСТ Р 53556.2—2012

7 наборов коэффициентов фильтра получены, группируя каждые в коэффициентов от реализуемого методом окна sine f _coefp). со смешениями 1 —7. где

мл к (j-32)/8

f_coe^i] = х (i-32>/8 0-5 “ 0-5 cos2xif64) Ой iй 64

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

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

(51) Квантование вектора инверсии базового уровня: qedvecfO] – O.OF.

for (i = 0: i < vqdimO: t*+) qedvecp*1] –

gO[SE_gain)*(cbO{SE_stiape1][i}+cb1[SE_shape2}[i]):

(52) Подавление малых сигналов: feneq = O.Of;

for (i -0:i< vqdimO: b*) feneq ♦= qedveep* 1]*qedvecp*1]: feneq – sqrt(feneqf(float)vqdimO): if (feneq < 1.0f\\

0. 5f*(fenoqofd*feneq) < i.4f) ( for (i = 0; i < vqdimO: i**) qedveep* 1} – O.Of;

}

feneqoki – feneq.

(53) Преобразование размерности вывода базового уровня: for (i -0: i< (JISU‘1)/2; b*)

rep] = O.Of:

for (i = 0; / <= vqdimO: b*] rep*(JISU-1)/2] = qedveep]: for (i = 0: i < (JiSU-1)/2: i**) rep* vqdimO* 1 * (JISU• 1)/2] * qodvecfvqdknO]: wOf-(ftoat)(SAMPLE*0.S*0.9Sy(ftoat)vqdtmQ: ii – 0:

for p = 0: i <- vqdimO && fi <= send: i**) { for (p = 0: p < R && н <- send: p**) { ip_rato = (TR*p*1)*w0f-w0*e: if(ip_ratk> > 0) { ip_ralto/=wOf; retO – rel1 = O.Of: for 0 s 1: i < JISU: j**) { геЮ *= f_coefU’R~pprep*i]: rel1 += f_coef[j’R~(p*1)prep*j]:

}

ampf] = reKTif}_rabo * roll •(l.Of-ip^ratio): ii**:

}

)

(54) Квантование вектора инверсии уровня расширения: targetfO/ = 0:

k = 1:

for (i – 0: i < Z b*. k**) targetfk] = ct>4k[0](SE_shape3]p};

27

ГОСТ Р 53556.2—2012

for (i = 0; i < 4: t**. к**) targetfk) = cb4k[1][SE_shape4][);

for (i = 0; i < 4: h*. k**) targetfk} = cb4k{2)(SE_shapeS}0}:

if (HVXCrate >= 4000){ for (i – 0; i < 4: k*+)

targetfk} – cb4k[3][SE_shape6)[i]:

}

etsef

for fi – 0: i < 4: /++. k++) targetfk} = O.Of:

)

if (send > 14) { for 0 = 15; / <= send: i**) targetfi} – O.Of:

}

for 0 – 0: i <- send: i**) amfi] *- targetfi}

5.4 Декодер временного домена

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

Для неречевых сегментов в составе речи используется схема, которая подобна VXC (Кодирование с векторным возбуждением). Декодер временного домена генерирует форму волны возбуждения для неречевой части, просматривая таблицы и используя переданные индексы. Вектор формы и усиление базового уровня обновляются каждые 10 мс. Форма масштабируется путем умножения каждого отсчета на величину усиления. В режиме 2.0 Кбит/с используется только вывод первой стадии (базовый уровень). В режимах 4.0 Кбит/с и 3.7 Кбит/с умножаются вектор формы и усиление второй стадии (уровень расширения) и добавляются к выводу первой стадии. Форма и усиление уровня расширения обновляются каждые 5 мс.

Таблица 62 — Конфигурация временного домена VQ

1-й этап

(80 мерная 6 битовая форма + 4 битовое усиление) х 2

2-й этап

(40 мерная 5 битовая форма * 3 битовое усиление) х 4

5.4.2 Определения Определения констант

ОшюПаре. Длина фрейма VXC первой стадии (=60).

DiuchapeZ Длина фрейма VXC второй стадии (=40).

Определетя переменных

HVXCrate: Операционная битовая скорость декодера.

cbL0_ gf/]: cbL0_ s[flj]:

сы.1_ т

cbL1_ sf/1/l: VX_ ga/nf(/]; VX_ sftapef[/]: VX_ gain20\: VX_ sftape2[/]:

Вывод декодера VXC (0 S i & FRM). мл вход книги шифров усиления VXC первой стадии.

/•й компонент ьго входа книги шифров формы VXC первой стадии.

Fit вход книги шифров усиления VXC второй стадии.

/•й компонент мо входа книги шифров формы VXC второй стадии.

Индекс усиления VXC но подфрейма (базовый уровень. / – 0.1).

Индекс формы VXC ьго подфрейма (базовый уровень, / = 0.1).

Индекс усиления VXC ьго подфрейма (уровень расширения, i = 0.1.2.3). Индекс формы VXC ьго подфрейма (уровень расширения, / = 0.1.2.3).

5.4.3 Процесс декодирования Для базового уровня: for 0 = О: / < DimSПа ре: i++) resfi] = cbL0_g[VX_gainf0J} * cbL0_sfVX_shapef0}}fi): for 0 = 0. / < DtmShape: i**)

resp ♦ DimShape) – ct)L0_g[VX_gain[1}] *cbL0_sfVX_stiape[1])ft}:

28

ГОСТ Р 53556.2—2012

Добавить уровень расширения. if (HVXCrale >- 4000){ Г 4.0 kbps mode V for 0 – 0: i < 4: i**){ for(i- 0: j < DimShape2: j**H res[j*DimShape2’iJ *-

cbL1_g[VX_gain2p])‘cbL 1_s[VX_shape2(iJ][j):

)

}

)

else{ Г 2.7kbps mode V

for 0 – 0; i < 3; /+*)( for (j = 0; j < DimShape2: j++){ resQ+DimShaperi) *-

cbL1_g(VX_gain2p]}*cbL1 s[VX_shape2(iJ][j];

)

}

}

5.5 Интерполяция параметров для управления скоростью

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

У декодера имеется схема интерполяции параметров, чтобы генерировать ввод для «Синтезатора Речевой Компоненты» и «Синтезатора Неречевой Компоненты» в любой произвольный момент времени. С помощью этой схемы вычисляется последовательность параметров в измененных интервалах и применяется в обоих синтезаторах. Таким образом получается вывод декодера в измененной временной шкале.

5.5.2 Определения Определежя констант.

FRM: Интервал фрейма (=160).

р: Порядок LPC (=10).

Определения переменных

Блок ‘Parameter Interpolatiorr (Интерполяция параметров) вычисляет параметры в измененной временной шкапе, интерполируя полученные параметры.

Работа этого блока состоит в основном из линейной интерполяции и замены параметров. Обозначим массивы оригинальных параметров как: pch [л]: Величина отставания шага в момент времени л.

vuv |л]: Индекс V/UV в момент времени с индексом п.

isp (л] Ю: Декодированные LSPs при временном индексе п (0 £ i < Р).

send [л]: Число гармоник при временном индексе л.

am [п] [/]: Величины гармоник при временном индексе п (0 й i< send [л]).

vex [пт Декодированный сигнал возбуждения VXC при временном индексе л (0£/< FRM).

рагат (л): Параметр при временном индексе л.

и интерполированные параметры как:

mdf _ pch [m]: mdf_ vuv [mj: mdf _ isp (m) [/]: mdf _ send [m]: mdf _ апЦт] [/): mdf _ vex [m] (/]: mdf _ param [m]:

Величина задержки шага при временном индексе т.

Индекс VAJV при временном индексе т.

Декодированные LSPs при временном индексе т (0 £ / < 10).

Число гармоник при временном индексе т.

Величины гармоник при временном индексе т (0 £ / < send (л]).

Декодированный сигнал возбуждения VXC при временном индексе m(0£/< FRM). Параметр при временном индексе т. где л и mявляются временными индексами (номер фрейма) до и после модификации временной шкалы. Интерва/ы фрейма в обоих случаях равны 20 мс. spd: Отношение изменения скорости (0.5 £ spd £ 2.0).

N, : Продолжительность речевого оригинала (полное число фреймов).

N2: Продолжительность речи с управлением осоростью (полное число фреймов).

fre. fr,: Индексы фрейма, смежного с точкой интерполяции.

left, right. Коэффициент интерполяши.

tmp_ vuv: Временной индекс V/UV.

29

ГОСТ Р 53556.2—2012

5.5.3 Процесс управления скоростью Определим коэффициент изменения скорости »ак spd:

spd = N, IN2 (1)

где N, является продолжительностью речевого оригинала и N2 является продолжительностью речи с управляемой скоростью. Поэтому.

0 £ л < N, и 0 й т < Ыг.

Если скоростью управляют соответственно фактору временного масштабирования в none speed узла AudioSource BIFS. отношение изменения скорости равно:

spd = 1!speed

8 основном измененные параметры временной шкалы выражены как:

mdf_ param [т\ = param \т х spd]. (2)

где param являются: pch. vuv. Isp и am. Однако, m х spd не является целым числом.

Поэтому определяем.

fr0-m х spd

(3)

fr, = fr0 + 1.

чтобы генерировать параметры при временном индексе т х spd линейной интерполяцией параметров при временных индексах fr0 и fr,.

Чтобы выпогыить линейную интерполяцию, определим:

left-тх spd – fr0 (4)

right – fir, – m x spd

Тогда уравнение (2) может быть аппроксимировано как:

mdf_ param [mj = param (frj fr0 ♦ param ffrj x left (5)

где param являются, pch, vuv. fsp и ant

Дан k>p [a] [i] и atn(ii] [/] эта лимейнаи **иер1Ю»нция применивши с фиксируемым индексом /.

Параметр vex

vex [л] [г] имеет сигналы возбуждения для фреймов UVe результате просмотра книги шифров. Берутся отсчеты FRM из vex [л] [г], центрированные вокруг времени mxspd, и вычисляется энергия по отсчетам FRM. Затем генерируется состоящий из отсчетов FRM Гауссовский шум. и его норма корректируется так. чтобы его энергия была равна энергии из отсчетов FRM. взятых из vex [л] [/]. Эта последовательность Гауссовсхого шума с регулируемым усилением используется для mdf_vex (я?) [/].

Главная операция изменения временной шкагы может быть выражена уравнением (5). однако до интерполяции нужно рассмотреть решения VJUV при fr0 и fr,.

Стратегии интерполяции и замены, адаптированные к решениям ViUV, описаны ниже. 8 объяснении полностью речевой и смешанный речевой (vuv [л] * 0) сгруппированы как *Voiced” (речевой), и только случай vw[n] – 0 расценивается как •Unvoiced” (неречевой). В случае варьируемой скорости кодирования режим “Background Noise’ (фоновый шум) (vuv [л] = 1) также рассматривается как “Unvoiced’.

Когда решения VAJV при fr0 и fr, являются Voiced—Voiced, новый индекс VAJV mdf_ vuv (m) получают следующим образом: tmp_ vuv = vuv (fr6\ x right ♦ vuv [frf] x left if{tmp_ vuv>2)

mdf _ vuv [m] = 3 else if(tmp _ vuv> 1) mdf _ vuv [m] = 2 else if (tmp_ vuv>0) mdf _ vuv [m] = 1

30

ГОСТ Р 53556.2—2012

Новая величина задержки шага mdf_ pch [m] получается следующим образом: if (0,57 < pch Ifr0] / pch [fr,] &&pch [fr0)lpch [fr,] < 1.75) mdf _ pch [m] = pch [fr0] x right ♦ pch [fr,] x left else

if (left < nght)

mdf _ pch [m] = pch [fro] else

mdf _ pch [m] = pch [fr,]

Все другие параметры интерполированы по уравнению (5).

Когда решения WLTV при fr0 и fr, являются Unvotced— Unvoiced, все параметры интерполируются по уравнению (5). исключая mdf_vex. mdf_vex [л?] [#] генерируется по Гауссовскому шуму, имеющему ту же энергию, что и энергия выборок FRU. взятых из vex [л] [/], це«тированных вокруг времени т х spd.

Когда решения VIUV при fra и fr, являются Voiced — Unvoiced, if lefl<right.

вместо того, чтобы вычислять параметры при mx spd. используются все параметры в момент времени fr0.

if left i right

Вместо того, чтобы вычислять параметры при mx spd. используются все параметры в момент времени fr,.

mdf_ vex [m] [/] также сгенерирован Гауссовым шумом, имеющим ту же самую энергию, что и выборки FRM из vex (fr,] [/]. (0 ii< FRM).

Когда решения VIUV при fr0 и fr, являются Unvoiced— Voiced.

if left<right.

Все параметры во время fr0 используются вместо того, чтобы вычислять параметры при mxspd. mdf _ vex [/л] [г] также сгенерирован Гауссовским шумом, имеющим ту же самую энергию, как энергия выборок FRM из vex (fr0] р]. (0 й i < FRM)

if iefc-right.

Все параметры во время fr, используются вместо того, чтобы вычислять параметры при mxspd. Этим способом получают все необходимые параметры для декодера HVXC. Только применяя эти измененные параметры, mdf_ pawn [т]. к “Синтезатору Речевом Компоненты” и “Синтезатору Неречевой Компоненты” тем же способом как обычный (нормальный) процесс декодирования, получают вывод с измененной времегеюй шкалой.

Очевидно, когда Ыг < W,. выполняется ускоренное декодирование, а когда N2 > N, выполняется декодирование со сниженной скоростью. На спектр мощности и шаг это управление скоростью не влияет, таким образом мы можем получить хорошее качество речи для коэффициента управления скоростью приблизительно 0.5 < spd < 2,0.

5.6 Синтезатор речевой компоненты

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

Синтезатор речевой компоненты состоит из следующих этапов:

• модификация величин гармоник.

• синтез возбуждения гармоник.

• добавлен не шумовой составляющей.

• синтез LPC.

• постфильтр.

Эффективный метод синтеза возбуждения гармоник одежде всего используется для того, чтобы получить периодическую волну возбуждения из величин гармонмс Добавляя шумовую компоненту к периодической волне, получают сигнал речевого возбуждения, который затем подается в фильтр синтеза LPC и постфильтр, чтобы генерировать речевой сигнал. Конфигурация постфильтра не нормативна и описана в Приложении Б.

31

ГОСТ Р 53556.2—2012

5.6.2 Определения Определения констант PI: я = 3.14159265358979….

FRM: SAMPLE: WAVE LEN: WDEVI:

LD LEN. RND MAX: SCALEFAC:

Интервал фрейма (=160).

Длина фрейма анализа (=256).

Длина волны одного периода шага (=128).

Порог отношения фундаментального изменения частоты (=0.1).

Сдвиг интервала декодирования для режима низкой задержки (=20).

Максимальное число, сгенерированное генератором случайных чисел <=0x7fffffff). Масштабный коэффициент для измененных величин гармоник для генерации шумовой

c_dis[i\:

составляющей (=10).

Окно трапецоида для гармонического синтеза шага прерывистая волна показано на рисунке 1 (0 5 i <FRM ♦ LD_ LEN).

ham (/]: ham z[<): HAMLD:

Окно Хэмминга (0 5 / < SAMPLE).

Дополненное нулями окно Хэмминга (0 5 /<2 х FRM). Длина окна Хэмминга для режима низкой задержки (=240).

Р: Порядок LPC (=10).

Определения переменных

ат2 [/]: Гармою«ческие величины в границе окончания интервала декодирования. Они получены

ат_ h И: am_noisa (/]:

как am [/] в 5.3.3.

Измененные величины гармоник на конечной границе интервала декодирования. Измененные величины гармоник для генерации компоненты шума на конечной границе

и*2:

интервала декодироаажя.

Индекс VAJV на конечной границе интервала декодирования. Получен как VJV из потока битов.

vwt:

илО:

рсЛ2:

Индекс VAJV на границе начала интервала декодирования.

Индекс V/UV на границе начала предыдущего интервала декодирования.

Значение задержки шага (отсчет] на коне^мой границе интервала декодирования. Полу

рсЛ1:

sandZ.

sandv.

и02:

м01:

рЛа2 [/]:

f^ha^ [#]:

ovsr2:

ovsrl:

ovsrc:

wave 2 pt

чено как pch (значение задержки шага в текущем фрейме) в 5.3.3.

Значение задержки шага (отсчет] на начальной границе интервала декодирования. Число гармоник на конечной границе интервала декодирования.

Число гармоник на нача/ъной границе интервала декодирования.

Фундаментальная частота на конечной границе интервала декодирования [radJsampie]. Фундаментальная частота на начальной границе интервала декодирования [/edteampfe]. Значения фазы гармоник на конечной границе интервала декодирования.

Значения фазы гармоник на начальной границе интервала декодирования. Коэффициент передискретизации на конечной гра»мце интервала декодирования. Коэффициент передискретизации на начальной границе интервала декодирования. Линейно интерполированный коэффициент передискретизации.

Форма волны периода в один шаг. сгенерированная из шага и величин гармоник на

travel pi:

конечной границе интервала декодирования (05 i< WAVE_ LEN).

Форма волны периода в один шаг. сгенерированная из шага и величин гармоник на начальной границе интервала декодирования (05/< WAVE^ LEN).

Jjp12.(jo12r:

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

(p1. Jjp2. Ip2r.

Длина передискретиэированной формы вопш, необходимая чтобы восстановить форму

St.

волны интервала декодирования (в случае прерывающегося перехода шага). Смешение для циклического расширения wava2 [/] на начальной границе интервала де

iflaft. iflat2:

кодирования.

Длина периода, где интерполяция параметров не производится в домене перекодирования (для режима малой задержки).

out2 {): ot41 |): ot43():

Циклически расширенная форма волны, генерированная из nave2 (ij.

Циклически расширенная форма волны, генерированная из navel [/].

Взвешенная перекрытая и добавленная циклически расширенная форма волны в интервале декодирования, сгенерированная из о*41 (] и о*42(] (в случае непрерывного перехода шага).

32

ГОСТ Р 53556.2—2012

sv2 [/]: Повторно квантованная форма волны из out 2 [] (в случав прерывающегося перехода

шага, 0 5/ <FRM).

svl [/]: Повторно квантованная форма волны изоиП [] (в случае прерывающегося перехода

шага, 0 £i<FRM).

sv (/]: Сгенерированный сигнал речевого возбуждения (0 £ / <FRA4).

ns ffl: Гауссовский шум с нулевым средним и единичной дисперсией (0 £ i < SAMPLE).

wns [fl: Взвешенный функцией Хемминга Гауссовский шум (0£/< SAMPLE).

rue [/]: Массив амплитуд спектра (0 £ / < SAMPLE / 2).

апд [/]: Массив фаз спектра (0 & / < SAMPLE / 2).

re (/]: Вещественная часть коэффициентов FFT(0£/< SAMPLE).

■о [/]: Мнимая часть коэффициентов FFT (0£/< SAMPLE).

wO. Фундаментальная частота текущего фрейма, где 2* выражен как SAMPLE (- 256).

ens [0: Результат IFFTтекущего фрейма для генерации шумовой компоненты (0 й /< SAMPLE).

cns_ 2 [/]: Заполненный нулями массив для cns|j(0^/<2хРРМ).

cns_ z _р (/]: cns_z [) предыдущего фрейма для перекрытия и добавления (0 й i <2 xFRM).

adoLuv [/]: Сгенерированная шумовая компонента в интервале декодирования (0 £ / <FRM).

lsf>2 [): Декаактованные LSPs текущего фрейма, полученные как gLsp{] в 5.2.3.

йр1[]: Дехвантованные LSPs предыдущего фрейма.

Ispip [] []: Интерполированные LSPs.

Mpaip f) [); Коэффициенты линейного прогнозирования, преобразованные из интерпогмрованных

LSPs Ispip [) П-Определения функций

random^): Генератор случайных чисел, который возвращает случайные числа в пределах отО

до RND_ МАХ.

сеЦх): Функция, которая возвращает наименьшее целое число, большее чем или равное х.

воог(х): Функция, которая возвращает наибольшое целое число, меньшее чем или равное х.

5.6.3 Процесс синтеза

Алгоритм синтеза может применяться как для режима нормальной задержки, так и для режима малой задержки. Для режима малой задержки используется смещение интервала декодирования LD_ LEN. Синтезированная форма волны охватывает от N=-160 ♦ LD_ LEW [выборка] до N= О ♦ LD_ LEN [выборка). N- 0 представляет собой центр текущего фрейма. Если сдвиг фрейма равен 0 (LD_ LEN – 0). синтезируемая форма волны идентична форме режима нормальной задержки. Это показано на рисунке ниже.

Во еремя периода от N- 0 до N- LD_LENзадержка шага, величины гармоник и параметры LSPne интерполированы и сохраняются. Если LD_ LEN – 0. задержка декодера равна 10 мс. а если LQ_ LEN – 20. задержка декодера равна 7.5 мс.

Рисунок 1 — Интервал декодирования

5.6.3.1 Модификация величин гармоник

Гармонические величины. ат2(/]. изменены для гармонического синтеза возбуждения и шумового составляющего поколения независимо согласно индексу VJUVтекущего фрейма, vuv2.

Измененные величины гармоник am_b[i] для синтеза возбуждения гармоник и ат_ логаер] для генерации шумой компоненты получают как описано ниже.

Когда индекс VIUV. vuv2.0. ничего не делается (работает только декодер VXC).

33

ГОСТ Р 53556.2—2012

Когда индекс VAJV. vw2. равен 1:

am2[i] (1 £ / < send! х В_ ТН1)

am2[i) у. АИЛ (cend2xB_TH\^i^send2)

am_notse(/]

JO (1£/<se/xf2x8_7W1)

[SCAL£FACxam2(/] xAN\ (send2x B_ ТЖ £ г £send2)

Когда индекс VAJV. vuv2. равен 2:

am2[i) (l£/<ser?d2x 8_TH2)

an?2(/]xAW2 (senc/2xS_TH2£i<ssnd2 x8_TH2_2)

am2[i\ xAH2_2 (send2xB_TH2_2£i <send2)

am _ noise [/]

0 (l£/<senP2x8_7H2)

SCALEFACxam2[i] xAN2 (send2xB_TH2Zi<send2 xB_TH2_2) SCALEFAC xam2[i\x AN2J2 ($end2x B_TH2_2£i£send2)

Когда индекс VAJV. vuv2. равен 3:

am2[i] (Mi<sand2xB_TH3) am2[i] xAH3 (send2x B_ TH3 £ / £send2)

am_noisa[i]

JO (l£r<send2xB_7H3)

lSCALEFAC x am2 [/] xAN3 (send2 x B_ TH3 £/ £ seod2)

Таблиц a 63 — Значения констант для мооификэцм вели» м ы гармоник: 2.0 Кбит/с

В тнл

АЛЛ

АН1

В ТН2

АЫ2

АН2

ВТИ22

AN2 2

АН2 2

В тнз

AN3

АНЗ

0.5

0.4

0.8

0.5

0.3

0.9

0.85

0.5

0.5

0.7

0.2

1.0

4 Кбит/с

В ТИЛ

АЛЛ

АНЛ

В ТН2

AN2

АН2

ВТН2 2

AN2 2

АН2 2

В ТНЗ

AN3

АНЗ

0.5

0.3

О)

о*

0.5

0.3

0.9

0.85

0.5

0.5

0.8

0.2

1.0

5.6.3.2 Синтез возбуждения гармоник

Сигнал возбуждения гармоник sv(/J (0 £ i <FRM) может быть получен методом быстрого синтеза, состоящим из IFFTи преобразования частоты дискретизации.

Во-первых, используя величины гармоник и значения фазы, форма волны за период одного шага генерируется /FFT. Согласно непрерывности шага, выбирается одна из двух различных операций циклического расширежя и перевыборы формы волны за один период шага и выполняется, чтобы получить сигнал возбуждения гармоник.

Генерация формы волны за период одного шага.

Фундаментальная частота в начальной границе интервала декодирования. *01. вычислена как

w01 = 2,СГР1фсМ.

Фундаментальная частота в конечной границе интервала декодирования. *02, вычислена как

w02 – 2.0’Р1фсД2.

Значения фазы гармоник в конечной границе интервала декодирования. рЛа2(]. вычисляются из значений фазы гармоник в начальной границе. рАа1{) Когда и индекс VAJV а начале текущего интервала декодирования, vuv1. и индекс VAJV в начальной границе предыдущего интервала декодирования. vuvO. 0 [Unvoiced), значения фазы гармоник pha2[\ инициализируются, используя случайные значения фазы, равномерно распределенные между 0 и 0.5*.

34

ГОСТ Р 53556.2—2012

Для режима нормальной задержки: if (vuv1 == 0 && vuvO —0){ for 0 – 0: i < WAVE_LEN/2; i**) pha2p]-O.S*Pr(ftoat)random(y(float)RND_MAX:

}

else {

for 0-0:i< WAVEJ-EN/2: /♦♦) pha2fi)-pha1fi] * 0.S'(w01*w02)TFRM;

}

Для режима малой задержки: if (vuv1 =* 0 vuvO — 0) ( for fi-0:i< WAVE_LEN/2; /♦♦) pha2ffl – O.S*Pr(fk>at)random(y(fhat)RND_MAX:

)

else {

for (i – 0; i < WAVE_LEN/2; /**) {

pha2fi] – phalfi] * 0.5’(w01 *w02)T(FRM-LD_LEN) * w01 *i*LD_LEN:

}

На конечной границе интервала декодирования имеется спектр с sen<f2 гармониками, чьи величины равны ат_ />[/] (1 £/£ send2), а значения фазы равны pha2 [(] (1 £/£ send2). Добавление нулей к этим массивам приводит к новым массивам с компонентами WAVE_LENf2 (= 64) в пределах от 0 до л. Если send2 больше чем 63, используются первые 64 значения ofam_ ftf/J и pha2[i\. 128 точек IFFT применены к этим массивам значений величин и фазы с ограничением, которое дает в результате вещестеежые числа. Теперь есть форма волны передискретизации за период одного шага. wave2 [/] (0 £ /< WAVEJLEN).

WAVE_LEN (= 128) отсчеты используются, чтобы выразить период одного шага формы волны. Так как фактическое значение задержки шага равно pch2. скорость передискретизации ovsr2 равна

ovsr2 – WAVE_LEN/pch2.

Аналогично скорость передискретизации ovsrl для формы волны за период одного шага на начальной границе интервала декодирования, wavel []. равна

ovsrl = WAVE_LEN/pch1.

Проверка непрерывности шага

Когда отмошегыв фундаментальных частот. |(w02-w01)/tv02|, меньше чем WDEVI(- 0.1% то переход шага непрерывен. В таком случае фундаментальные частоты и величины гармоник линейно интерполируются между началом и окончанием интервала декодирования. Иначе, это рэсцененивается как прерывистый переход шага, а фундаментальные частоты и величины гармоник не интерполированы линейно. В этом случае добавляются независимо синтезируемые периодические формы волны, используя соответствующие высоеые функции.

Циклическое расширение и операция передискретизации (непрерывный переход шага)

Формы волны за период одного шага. waye1(] и wave2[]. циклически расширены соответственно, чтобы иметь достаточную длину в домене с чрезвычайной передискретизацией.

Длина сверхдискретиэироеанмой формы волны, необходимая чтобы восстановить форму волны длины FRM(= 160) при оригинальной частоте дискретизации (8 кГц), составляет не менее £12.

Для режима нормальной задержки:

/р/2 =

ceil(FRbrO, 5 ‘(overt *ovs/2)):

Ipl2r-

fioor(FRKT0. 5 ‘(ovsrt *ovsr2}*

0.S);

st = WAVEJ.EN -(tp12r%WAVE_LEN): for (i – 0; i < lp1Z i**) { outlp] = wave1[l%WAVE_LEN); out2(i] –

wave2[(st*i)%WAVE_LEN];

)

35

ГОСТ Р 53556.2—2012

Для режима малой задержки: lpi2 – c&t((FRM-LD_LEN)*0.5′(over1 +ovsr2)*LD_LEN*ovsr1);

Ipl2r – f)oor((FRM-LD_LEN) V,S*(ovsr1 +ovsr2)+LD_LEN*ovsr1 +0.5):

St – WAVE_LEN – (!p12r%WAVEJLEN) ifiatl -Roor(ovsn’LD_LEN*C.5) ifiat2 – fk>or(ovsr2’LD_LEN*C.5) for (i = 0:i < Ip12+tfiat2+10: i++) { out1(>) – wave1[i%WAVE_LEN}; оut2[i] – wave2[(st+i)%WAVE_LEN};

}

У этих двух форм волны. оиМ[] и out 2(]. есть тот же самый «псевдо» период шага (-WAVE_LEN [samp/e]). и они выравниваются. Так простое добавление этих двух форм волны, используя треугольные окна производит форму волны ои&(}.

Для режима нормальной задержки: for (i – О: i < Ip12: i**) out3[i] – out1(iT(fhat)(lp12~i)/(float)lp12 ♦ out2f<r(fk>al)i/(fiaai)lp12.

Для режима малой задержки: for (i – 0: i < ifiatl: h*) out3p] – outlfi): for (7 = ifiatl: i < tp12: i**) out3p] – out1ffl*(fk>at)0p12-i)/(ftoat)(lp12-iflat1)

+out2pr(float)(h-tiatiy(fk>at)(lp12-dlat1): for(i = Ip 12; i < lp12*iflatZ i**) out3[i] – oul2fil

Наконец. ouf3Q должен быть лередискретиэировак так. чтобы получающаяся форма волны могла быть выражена в оригинальной частоте дискретизации (8 кГц). Эта операция возвращает форму волны из домена «псевдо» шага в домен фактического шага. Операция передисхретизации:

sv М = оиГЗ [f (/)) (0< / <FRM). где

W) =* fcfovsrl –F-^± + ovsr2 -^f)dt.

Функция fo) отображает время индекса / из оригинальной частоты дисхретизации (8 кГц) к индексу времени в over-sampledrate при условии, что фундаментальные частоты. и01 и и02, линейно интерполиро* ваны. С тех пор ДО doesnot возвращают целочисленное значение, svft] получен, линейно интерполируя ot*3 (/(/) ] и out3 [Г(/) ].

Для нормального режима задержки: sv(0J – outm т-0:

for (7= 1; i < FRM; i+*) { ovsrc – ovsrt *(fk>at)(FRM-i)/(float)FRM ♦ over2*(ftoat)i/(hoat)FRM: ffi *= ovsrc: ffim = ftoorfffi): fffo = ceH(fH): if (ffim == mp) svfi] = out3((int)ffip]; else

svp] = (ffi-mm)*out3{(int)ffip] * (ffip-fl1) ’out3f(int)fHm):

}

Для режима малой задержки: sv(0J – out3[(flat1J;

т-0:

for (i — 1; i < FRM; i**) {

36

ГОСТ Р 53556.2—2012

ovsrc=о vsrt ‘(ftoat)(FRM-LD_LEN-iy(fioat)(FRM-LD_LEN)

♦ over2*(ftet)i/(fk&)(FRM-LD__LEN): ffi ♦= ovsrc:

ffim = fioorfffi): ffip – ceii(ffi); if (ffim == ffip) svfi7 = oufiffirtJffip+iSaff/; else

svfi] = (ffi-ffim) ‘out3{(int)ff>p+iflat1}

♦ (ffip-ffi)*out3{(int)ffim*ifIat1]:

}

Циклическое расширение и операция передискретизации (прерывистый переход шага)

Формы волны за один период шага. wave1[] и wave2[] циклически расширены, чтобы иметь достаточную длину в домене передискретизации. И на начальной и на конечной границах интервала декодирования получены циклически расширенные формы волны. ot/M(] и out2[].

Ip1 = cei(FRM*ovsr1):

Ip2 – cei(FRM*ovsr2):

lp2r-fioor(FRM’ov&r2*0.5):

st – WAVE_LEN- (lp2r%WAVE_LEN)

Для режима нормальной задержки: for (i = 0: i < fp1: i**) out1[i] = wava1[i%WAVE_LEN]; for (i = 0: i < Ip2: i**) out2[i] – wava2((st*i)%WAVE_LEN]

Для режима малой задержки: ifiatl =fioor(ovsr1’LD_LEN+O.S); ifiat2 = fioor(ovsr2*LD_LEN+0.5): for fi = 0: i < Ip1+iflat1+10: i**) оutlfi] – wave1[i%WAVE_LEN], for (i = 0: i < Ip2+if}at2+10: i**) out2[i] – wave2/(‘st^)%M^Ve_L£M.

где ф1 и /р2 — длина передискретизированныхформ вогыы, необходимая чтобы восстановить форму волны длиной FRM (= 160) при первоначальной частоте дискретизации (8 кГц).

Эти две формы волны, otrtl Q и ои(2 [), передискретизмруются независимо. используя тот же самый метод л шейной интерполяции как в случае «непрерывного перехода шага».

Для режима нормальной задержки: sv1{0] – outlfO£ ffi = 0:

for (i = 1; i < FRM. /♦♦) { ffi ♦= ovsrl: ffim = ftoorfffi): ffip – ceil(ffi): if (ffim == ffip) svT/»/ = out1((int)ffip): else

svlfi] = (ffi-ffim)’out 1[(int)ffip] ♦ (ffip-ffi)*otrtf/(tftf)ffim);

;

sv2f0] – out2[0): ffi-0:

for (i – 1: i < FRM: i**) { ffi *- ovsr2: ffim – fioorfffi): ffip – cei(ffi); if (ffim == ffip) sv2[i) = out2ffint)ffip]:

37

ГОСТ Р 53556.2—2012

else

sv2p] = (ffi-ffimyoiA2l(int)ffip} ♦ (mp-fR)9out2[(int)ffim):

}

Для режима малой задержки: sv1{0J – out1{(fiat1};

т-0:

for (i — 1: i < FRM; i+*) { ffi ♦= ovsrl:

№m = fioorfffi):

mp = сей(т);

if (ffim == mp) svfffl – ovtl((int)ff>p+met1]; else

svlp} = (ffi-ffimj *oo( 1 ((int)ffip +iflal 1)

* (ffip-ffi) ‘outlftintjffim+fflatl]:

}

sv2[0] = оut2pftet2]:

Q:

/br|7 = 1: i < FRM: h+) { m *- ovsr2: mm – fioorfffi): mp – ceiifm); if (mm == mp) sv2[i) = out2[(int)ffip+iftet2]: else

sv2[i] = (ffi-mm)*out2f(int)mp+iflat2)

* (ffip-ffi) ‘out2{(int)mm*if)at2):

}

Используя лере дискретизированные формы волны при первоначальной частоте дискретизации (8 кГц), svl () и sv2 [] тогда перекрываются и добавлены окном трапецоида с_(#з0. показанным на рисунке 2. те НР_ UP – НМ_ DOWN = 60. НМ FLAT= 50. for 0 = О: i < HM_FLAT: /**) c_disfij = 1.Ж

for 0- HM_FLAT: i < HM_FLAT*HM_DOWN; /♦+) c^disp) – (~i+(HM_FLAT+HMJX)WN)y(fk>at)HM_DOWN: for (i – HM_FLAT+HM_DOWN; i FRM; i**) c_dtsft] = 0.Л:

Для режима нормальной задержки: for (i = О; / < FRM; i**) svfi] – svlppc^disfi} * sv2[ij‘(1.0 – c_dtsfij).

Для режима малой задержки: for (i = О; / < FRM;

svfi] – svWcjSis[t+LDJ.EN} ♦ sv2[i}*(1.0 – + LD_LEN))

Рисунок 2 — Окно синтеза для прерывающегося шага 38

ГОСТ Р 53556.2—2012

5.6.3.3 Генерация шумовой компоненты

Для генерации шумовой компоненты для речевого возбуждения сначала генерируется белый Гауссовский шум. Затем он настраивается по цвету и усилению модифицированными величинами гармоник. am_ notse(l. а чтобы генерировать непрерывную шумовую компоненту во временном домене используется взвешенное перекрытие и добавление.

Сначала определяется окно Хемминга длины SAMPLE{= 256). Aamfi].

Для режима нормальной задержки, for (i * 0: / < SAMPLE: »*) hamp] – 0.54-0.46’cos(2.0’PtV(SAMPLE-1))

Для режима малой задержки for 0 – О: / < (SAMPLE-HAMLDV2: i**) bamp] = 0.0:

for р — (SAMPLE-HAMLD)/2; i < (SAMPLE*HAMLD)/2: i++) bamp] = 0,S4~0.46’co$(2.0*PIV(SAMPLE‘1)); for (i = (SAMPLE*HAMLD)/2: (< SAMPLE: i**) hamp] = 0.0:

ham[] окна нормализуется, чтобы получить единичную энергию.

Пусть nsp) (Ой i < SAMPLE) будет отсчетами белого Гауссовского шума с нулевым средним значением и единичной дисперсией. Затем окно Хэмминга hamp]умножается на nsp)и получается wnsp). for p = 0:i< SAMPLE: i**) wnsp] = nspj’hamp):

Обсчитывают256 lcnetiFFTwnsp) и вычисляют массив спектральных амплитуд плср){0й1й SAMPLE/2) и массив спектральных фаз апдр]{0й1й SAMPLE12) как for 0- 0: i <- SAMPLE/2: i**) ( rmsp) – sqrt(rap]*rep]*imp]*imp]): angp] = atan2(imp]. rap]):

}

где rap](0& I< SAMPLE) и imp](QSi< SAMPLE)являются вещественной частью и мнимой частью коэффициентов FFT. соответствен**}. Затем спектральное среднеквадратичное значение амплитуды лисП настраивается по цвету и усилению модифицированными гармоническими величинами. am_r)o*se(). (wO является фундаментальной частотой текущего фрейма, где *0 значение SAMPLE представляет собой 2х).

for (i = 0: i <= sand2: i**) { if (i — 0) ib = 0: aisa

Ib = ub+1: if (i — send2) ub = SAMPLE/2 alsa

ub – ftoor((ftoat)i*w0*w0/2.0*0.5): if (ub >= SAMPLE/2) ub = SAMPLE/2: bw – ub~ib*1: s = 0.0:

for (j – lb; j <- ub: j**) s *- rms[j]*rmsp]: s – sqrt(s/(ftoat)bw): for 0 – lb: j <= ub: j**) rmsp] *= am noisapys:

}

256-точечный IFFT вычисляется с настроенным no цвету и усилению массивом спектральных амплитуд ппс [] и исходным массивом спектральных фаз апд(] с ограничением, что результат будет вещественными числами. Пусть результат IFFT будет cns{/] (0 й I й SAMPLE).

39

ГОСТ Р 53556.2—2012

Когаз текущий фрейм является ’Unvoiced”, frame (vuv2 – 0), cnsf] = 0.0 (0 S / < SAMPLE).

Чтобы генерировать сигнал шумовой компоненты по интервалу декодирования, выполняется взвешенное перекрытие и добавление результата IFFT предыдущего фрейма. Массив cns_ z[i] (0 й i < 24 FRM) получен путем дополнения (FRM – SAMPLE/2) нулей к обеим сторонам (начало и окончание) cnsf]. for (i = О: / < FRMSAMPLE/2: Ь*) cns_z[i] = 0.0:

for (if = FRM-SAMPLE/2: i < FRM+SAMPLE/2: i**) cns_zfij – cnsp-FRM*SAMPLE/2): for (i = FRM+SAMPLE/2; i < 2’FRM: r++) cns_zpj – 0.0.

Тем же самым способом, дополненный нулями массив окна Хэмминга ftam_ z[i]

(0 й i < 2 Ч FRM). определен как: for (i — О: i < FRM-SAMPLE/2: >+*) ham_zfi] – 0.0;

for (i = FRM-SAMPLE/2; i < FRM*SAMPLE/2; h*) bamjzfi) = ham[t-FRM+SAMPLE/2); for (i – FRM*SAMPLE/2: i < 2’FRM: fr+) ham_zft) = 0.0.

Обозначи м cns_ г[} предыдущего фрейма как cns_ г _ р{]. Теперь шумовая ком помента по интервалу декодирования. add_uv(ij (О S / < FRM), получается объединением cns_ z[) и cns_ z _ р[].

Для режима нормальной задержки: for (i = 0: # < FRM; i**)

add_uv[i] = (cns_z_p{FRM*i}*ham_z(FRM*i]*cns_zp]’ham_z[i)) /(ham_z[FRM*i)’ham_zfFRK1*i]*ham_z(t}’ham_z(iJ)

Для режима малой задержки шумовая компонента в сдвинутом интервале декодирования получается следующим образом:

for 0 – О: I < FRM-LD_LEN: h+) add_uv{i] – (cns_z_p{FRM+t+LD_LENf’ham_z{FRM+i+LD_LEN}+ cns_zfi*LD_LEN)’ham_zft*LD_LEN))

/(ham_z{FRM+i+LD_LEN}*ham_zlFRM+f+LD_LEN)

*ham_zp*LD_LEN}’ham_zfi*LD LEN]). for (i = FRM-LD_LEN; i < FRM: add_uvpj – cns_zp+LD_LENjmam_zp+LD_LENj).

Шумовая компонента add_uv{i] добавляется к сигналу возбуждения гармоник svfl. чтобы создать сигнал речевого возбуждения: for (i = О: i < FRM; i+*) svfi) *- add_uvfi]:

5.6.3.4 Синтез LPC

Сигнал возбуждения, полученный ранее, si/fi] (05i< FRM). подается на фильтр синтеза LPC. коэффициенты которого обновляются каждые 2.5 мс (=20 отсчетов).

Линейным интерполированием деквантованных LSPs предыдущего и текущего фрейма. Jspl[] I) и /sp2|) Н.получают 8 наборов интерполированного LSPs, Ispipi) []. for (/ = О: i < 8: for (j = 0:j < P; j**)

Ispipft)Ш – (2.0’n1.0yi6.0’fsp2[j} * i16.0-2.0’i-1.0)/16.04sp10}.

Для режима малой задержки, так как интервал декодирования сдвинут на LD_ LEN(= 20) отсчетов (2.5 мс). интерполяция LSPs выполнена для первых 17.5 мс интервала декодирования, показанного на рисунке 9. a LSPs текущего фрейма. /др2(). используется для последних 2.5 мс без интерполяции, for |7 = О: i < 7: for Q- 0; j < Р; j**)

fsppPJOl- (2.0’i*1.0yi4.0*lsp2{j) ♦ (14.0-2,0’

^1.0yi4.0tSf>1U}: for (j – 0;j < P. j**)

Ispipf7][j} = lsp2[j]:

40

ГОСТ Р 53556.2—2012

8 наборов интерполированных LSPs, []. преобразованы в коэффициенты линейного прогнозиро

вания. афаф[] []. соответственно.

Функция преобразования йо интервала 2.5 мс (20 отсчетов) фи/ътра синтеза LPC равна

НМ)

Хаф/iar (<](п]2л

4*0

(0 £ / < 8)

Выход фи/ътра синтеза LPC подан в постфильтр, описанный в Б.1.3.1. Выходной сигнал находится в диапазоне от -32768 до 32767.

5.7 Синтезатор неречевой компоненты

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

Синтезатор неречевой компоненты составлен из трех шагов, которые являются выделением окон неголосоеого сигнала возбуждения, фильтром синтеза LPC и работой постфильгра. Для неречевых сегментов используется схема VXC (CELP).

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

Определения констант

FRM:

LD_ LEN. w_celp_upp] w_ceip_downfi]. Р.

Интервал фрейма (-160).

Сдвиг интервала декодирования для режима малой задержки (=20). Окно из речевого фрейма в неречевой фрейм (0 £/< FRM ♦ LD_LEN). Окно из неречевого фрейма в речевой фрейм (0 £i< FRM * LD_LEN). Порядок LPC (=10).

Определегмя переменных

qRes pi Декодированный неречевой сигнал возбуждения, получвнньй как res (4 в 5.4.3 (0£/< FRM).

otd_qRes ftp. Последняя половина декодированного неречевого сигнала возбуждения предыдущего фрейма (0£r< FRMI2).

suvp]: Неречевой сигнал возбуждения по интервалу декодирования (0 £/< FRM).

vw2: Индекс VAJV текущего фрейма, полученный как VUV в потоке битое.

vw1: Индекс VAJV предыдущего фрейма.

Isp2[]: Деквантоеанные LSPs текущего фрейма, полученного как pLsp[j в 5.2.3.

Isp1[j: Д©квантованные LSPs предыдущего фрейма.

aipha2[}- Коэффициенты LPC. преобразованные из LSPs Isp2[],

afphaltf. Коэффиииенты LPC, конвертированные из LSPslsp1[],

5.7.3 Процесс синтеза

Сигнал неречевого воэбужде»мя в интеовале декодирования. suvtl. сгенерирован из декодиооеанмо-го сигнала неречевого возбуждения текущего фрейма. Q/?es(]. и последней половины декодированного сигнала неречевого возбуждения предыдущего фрейма. otd_qRes[]: for (i = О; i < FRU/2; /+♦) { suvp] – okijqResp]. suvp+FRM/2} – qResp]: old_qRes[i] = qResp+FRM/2);

}

Для режима малой задержки используется сигнал возбуждения сдвинутой версии выборок LD_ LSV(= 20): for (i = О: # < FRM/2-LD_LEN; t*+) { suvp] – oW_ qRes[i+LD_LEN}; suvp*FRM/2] = qResp*U>_LEN]: okf_qResp] – qResp+FRM/2]:

}

for (if = FRM/2-LD_LEN; i < FRW2: /+*) { suvp] = qResp-FRM/2+LD LEN]; suvp+FRM/2] – qResp*LD_LEN): okf_qRosp] – qResp*FRM/2]:

}

Сгенерированный сигнал неречевого возбуждения является реализуемым методом окна, чтобы подключаться к речевому фрейму. Рисунки 3 и 4 показывают форму окна для формы волны возбуждения, где VAJV переходит от неречевого к речевому и от речевого к неречевому, соответственно. Параметры на рисунке установлены как: TDJJP-30. TDJFLAT- 50. TD_ DOWN = 30. НМ_ DOWN = 60. НМ_ FLAT-50.

41

ГОСТ Р 53556.2—2012

HMJUP – 60. Эти окна для неречевого фрейма используются, только когда неречевой фрейм смежный с речевым или смешанным речевым фреймом. for(i – О: / < FRM-TD_UP-TD_FLAT; i++) w__c&p_up[i] = 0.0:

for(l= FRM-TD_UP-TD_FLAT: i < FRM-TD_FLAT; i++) w_c&p_up[i) = (fk>at)(>-FRM+TD_ UP* TD__FLAT)/(ftoat) TD_ UP: for (FRM-TDJFLAT; i < FRM+LDJLEN; i++) w_ce/p_upp] -1.0: for (i = 0;i< TDJFLAT; i++) w ceip_down[i] = 1.0:

for(i— TD__FLAT; i < TD_FLAT+TD_DOWN;i++) w_ceip_down[i] – (floai)(TD_FLAT+TD__DOWN-iy(flaat)TD_DOWN. for (i = TD_FLAT+TD_DOWN: i < FRM+LDJLEN; i++) w_ceip_downfi]=0.0:

Для режима нормальной задержки: if (vwl /= 0 && vuv2 О) { for (i – 0: i < FRM: i++) s_uvp] – O.Of:

}

else if (vuv1 !- 0 && vuv2 -= 0) { for (i – 0: i < FRM: i++) s_uvfi} *= w_celp_upp]:

}

else if (vuv1 —0&& vuv2!- 0) { for (i = 0: i < FRM: i++) s_uvp} *- w_celp_downp}

}

Для режима малой задержки позиция работы с окнами сдвинута выборками LD_ LEN: if (vuv1 /= 0 && vuv2 Is О) { for (i – 0: i < FRM; i++) s_uvp) – O.Of:

}

else if (vuv1!- 0 <£<£ vuv2 — 0) { for (i = 0: i < FRM: i++)

3_uvp] *« w_oefp_uf>p*LD_LEN]:

)

else if (vuv1 — 0 .&<£ vuv2!- 0) { for (i – 0: i < FRM: i++) s_uvfi] *= w celp_dowr[t+LD_LEN]

}

Рисунок 3 — Окно сжтеза для случая неречееой/речееой

42

ГОСТ Р 53556.2—2012

Голосовой фрейм Неголосовом фрейм

Первая половина неречевого сигнала возбуждения. suv[j] (0 5 / < FRM/2). подается в фильтр синтеза LPC

Н,(2) = -*-,

£аДОа/г1 tnjz‘”

№•0

где attain являются линейными прогнозирующими коэффициентами, преобразованными из декв аи-тованных LSPs предыдущего фрейма. IspU). Когда вторая половина неречевого сигнала возбуждения. suv р) [FRM/2H < FRM). подается в фильтр синтеза LPC. функция преобразования переключается в

Н2(*)= ——.

Xa/phair2 [л]г л

п«о

где alpha#] являются линейными прогнозирующими коэффициентами, преобразованными из двкваи-тоеанных LSPs текущего фрейма. &р2Ц.

Дпп режима малой задержки, так как интервал декодирование сдвинут на LD_ LENвыборок. нере»»е вой сигнал возбуждения, suvfi]{0йг< FRM/2-LD_LEN). подается в фильтр синтеза LPC H,(z). а неречевой сигнал возбуждения. (FRM/2 – LD_ LEN £/< FRM). подается в фильтр синтеза LPC Н^г).

Выход фи/ътра синтеза LPC подается в постфильтр, описанный в Б.1.3.2. Выходной сигнал находится в диапазоне от -32768 до 32767.

5.8 Декодер варьируемой скорости

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

Инструмент для декодирования переменной скорости с ядром HVXC.

Этот инструмент позволяет HVXC работать в потоках данных с переменной скоростью, где средняя битовая скорость уменьшена до 1.2—1.7 Кбит/сдля типичного речевого материала. Главная часть алгоритма составлена из «декодирования фонового шума», где только биты режима получают во время «режима фонового шума», и неречевой фрейм получают через определенный промежуток времени для генерации фонового шума.

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

Определения констант

BGN_INTVL: Максимальный интервал фонового шума (=8).

Определения переменных ktVUV: Решение УЛ/Утекущего фрейма.

pfBvLSPI: Вектор ранее переданного LSP.

prevLSP2. Вектор ранее переданного LSP прежде prevLSPI.

bgnCnt Счет последовательных фреймов «Фонового шума».

43

ГОСТ Р 53556.2—2012

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

idVUV— параметр, который имеет в результате решение VAJV и определенный как:

idVUV =

0 Непроизнесенная речь

1 Интервал фонового шума

2 Смешанная вокализованная речь

3 Вокализованная речь

Используя метод обнаружения фонового шума, кодирование с варьируемой скоростью выполняется на базе фиксированной битовой скорости 2.0 Кбит/с HVXC.

Таблица 64 — Распределение разрядов закодированных параметров для режима варьируемой битовой скорости

Pexira (ktVUV)

Фоноаим шуи {11

t/V(0)

UV {2». V (3)

V/UV

LSP

Возбуждение

2 бит/20 мс 0 бит/20 мс 0 бит/20 мс

2 бит/20 мс 18 бит/20 мс 8 бит/20 мс (только усиление)

2 бит/20 мс 18 бит/20 мс 20 бит/20 мс

(Основной тон и гармонические параметры спектра)

Совокупно

2 бит/20 мс 0.1 Кбит/с

28 бит/20 мс 1.4 Кбит/с

40 бит/20 мс Z0 Кбит/с

Для Смешанной вокализованной речи и Вокализованной речи (ktVUV = 2.3) используется тот же самый метод декодирования, как для режима фиксированной битовой скорости.

В декодере содержатся два набора параметров LSP. pnevLSPI и prevLSPl, где prevLSPI представляет ранее переданные параметры LSP. a prevLSPZ представляет ранее переданные параметры LSP прежде prevLSPI. Для фрейма Фонового шума (ktVUV = 1). декодер VXC используется тем же самым способом как для фрейма UV. но никакие параметры LSP не передаются. Сгенерированные линейной интерполяцией параметры LSP prevLSPI и prevLSP2. используются для синтеза LPC. и тот же самый индекс усиления предыдущего фрейма используется для генерации возбуждения декодирования VXC. Во время фрейма Фонового шума, через каждые (BGN_ INTVL ♦ 1) (-9) фреймов вставляется фрейм Не во кал изо ванный речевой (t/V). чтобы передать параметры фонового шуме. Этот фрейм UV может быть или не быть реальным иУфреймом начала речевых пакетов. Является ли фрейм реальным UV. оценивает переданный индекс усиления. Если индекс усиления меньше или равен индексу из предыдущего +2. то этот UV фрейм расценивается как фрейм Фонового шума, и поэтому ранее переданный вектор LSP(- prevLSPI) используется. чтобы сохранить гладкое изменение параметров LSP. иначе передаваемые е данное время LSPs используются как реальный UVфрейм. Индексы усиления сортируются согласно величинам. Если снова выбран режим Фоновый шум. то используют интерпогмрованные LSPs. использующие prevLSPI и prevLSP2.

И для фрейма Невокал изованной реч* и для Фонового шума {ktVUV=0.1) используется Гауссовский шум с единичной энергией для возбуждения декодирования VXC (вместо стохастического кодового вектора формы для декодирования VXC).

Рисунок S показывает пример. Предположим, что фрейм #0 и фрейм #1 являются Невокалиэованным речевым фреймом, а фрейм #2… фрейм #9 являются фреймом Фонового шума. Во время декодироватя фрейма #2… фрейма #9. prevLSPI и prevLSP2 установлены как: prevLSPI = LSP(1) иprevLSP2 – LSP(O) и вектор LSP фрейма # /. LSP (/) (2 й / £ 9). генерируется как

. pr#vLSP2K(2xSeH_WTVi.-2xi>prtCnt-1)+pr*vLSPlK(2xepnCnf + 1)

LSP[l) в 2 х BGH_INTVL ’

где BGN_ INTVL — интервал максимального фонового шума (=8). и bgnCnt — является счетчиком последовательных фреймов Фонового шума.

8 этом примере. 6gr>Cnf=0 для фрейма #2. bgnCnt-1 для фрейма #3…..bgnCnt-7 для фрейма #9.

Для индекса усиления декодирования VXC во время фрейма #2… фрейма #9 используется индекс усиле

44

ГОСТ Р 53556.2—2012

ния фрейма #1. Когда получены параметры фрейма #10. prevLSPI, и ptevLSPl обновляются как: ptBvLSPy – LSP[ 10) и prevLSP2 – LS (1). Для декодирования фрейма #10 сначала проверяется больше ли индекс усиления, чем значение индекса “фрейм #1 * 2~. Если больше, фрейм #10 декодируется как обычный UVфрейм: иначе он декодируется как фрейм Фонового шума, и вместо LSP(10) используется LSP( 1). в то время как полученный индекс усиления используется для обоих случаев.

UV UV BN BN BN BN BN BN BN ВЫ UV Фрейм | «о I *1 I 02 I «3 I 84 I *$ I 86 I *7 I 88 I «9 I *10 I

LSf\0} LSP(1) LSP( 10)

I l

peevLSP2 pntvLSPA

UV -потопocoвой фрейм:

BN – фрейм фонового шума

Рисунок 5 — Генерация параметров декодера для интервала фонового шума

5.9 Расширение режима варьируемой скорости HVXC

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

8 5.8 описан режим с варьируемой битовой скоростью, основанный на режиме 2.0 Кбит/с. Здесь описан режим с варьируемой битовой скоростью максимум 4.0 Кбит/с.

8 режиме с фиксированной битовой скоростью есть решение 2-битового VHJV, а именно:

VUV- 3: полностью речевой. VUV-2. смешанный речевой. VUV- 1: смешанный речевой. VW=0: неречевой.

Когда режимом работы является режим с переменной битовой скоростью. VUV= 1 указывает состояние фонового шума вместо смешанного речевого. Текущий операционный режим определяется “HVXCconfig ()’. и декодер знает, является ли это режимом переменной или фиксированной скорости и может понять значение VUV -1. В кодировании варьируемой скорости распределение разрядов меняется в зависимости от речевого/» юр о* юоого решения, и сохранение битовой скорости получают, главным образом, уменьшая распределение разрядов для сегмента невокалиэованной речи (VUV- 0). Когда выбран VUV-0. тогда проверяется. является ли сегмент реальным сегменом не вокализованной речи или сегментом фонового шума. Если он заявлен как фоновый шум. то VUV изменяется на 1. и распределение разрядов для фрейма дополнительно уменьшается. Во время режима фонового шума передаются только биты режима или фрейм обновления шума согласно изменению характеристик фонового шума. Используя этот режим варьируемой пспрпсти средняя битовая скпрлстк уиАньлцмтся до 56—Я5 % режима сфикгиропаммпи битовой ехпрп-

стью в зависимости от исходных элементов.

5.9.2 Определения Определения констант

NUM_SUBFY. Число подфреймое водном фрейме (=2).

NUM_SHAPE_L0: Число индекса книги шифров(=64).

BGNJNTVL: Интервал обновления фонового шума (=12).

Определения переменных

peevLSPI: Передажые параметры LSP.

pfBvLSP2. Переданные параметры LSP прежде prei-tSPf.

qLsp: LSP, который будет использоваться для операции декодирования текущего фрейма.

bgnlntvat Счетчик, который считает число последовательных фреймов фонового шума.

met. Случайно сгенерированное целочисленное значение между -3 и 3.

5.9.3 Полезная нагрузка передачи

8 зависимости от решения V1UV и результата обнаружения фонового шума используются полезные нагрузки передачи с четырьмя различными битовыми скоростями. Флажки VUV и UpdateFlag указывают тип передачи полезной нагрузки.

VUVявляется параметром, который содержит результат решения VfUV и определяется как:

0 Не вокализованная речь

1 Интервал фонового шума

2 Вокализованная речь 1

3 Вокализованная речь 2

45

ГОСТ Р 53556.2—2012

Чтобы определить является ли отмеченный “VUV-1 ” фрейм фреймом обновления шума, вводится параметр “UpdateFlag ”. UpdateFlag используется, только когда VUV-1.

)0 нефрейм обновления шума 1 фрейм обновления шума

Если UpdateFlag равно 0. фрейм не является фреймом обновления шума, и если UpdateFlag равно 1. фрейм является фреймом обновпемм шума. Первый фрейм режима фоновый шум всегда классифицирует* ся как фрейм обновления шума. Кроме того, если усиление или огибающая спектра фрейма фонового шума изменяются, вводится фрейм обновления шума.

В фрейме обновления шума подсчитывается среднее параметров LSP по последним 3 фреймам и кодируется как индексы LSP в кодере. Тем же самым способом подсчитывается среднее усиление Ceip по последним 4 фреймам (8 подфреймое) и кодируется как индекс усиления Cetp.

Во время интервала фонового шума (VUV-1), параметры LSPи параметры возбуждения посылают, только когда выбран шумовой фрейм обновления (UpdateFlag = 1). Выходные сигналы декодера для интервала фонового шума генерируются с использованием LSP и параметров возбуждения, переданные в шумовых фреймах обновления.

Если текущий фрейм или предыдущий фрейм является режимом «фоновый шум», другой режим в квантовании LSP запрещен в кодере, потому что параметры LSP не посылаются во время режима «фоновый шум», а межфреймовое кодирование невозможно.

Используя описанный выше метод обнаружения фонового шума, кодирование с варьируемой скоростью выполнено на базе HVXC фиксированной битовой скорости 4 Кбит/с. Битовая скорость в каждом режиме показана ниже.

Режим (VUV)

Фоиоеши шум (1)

UV(0)

V(2.3)

Флагобиоеленм

-0

Флаг обновления *1

Флагобновления VIUV Возбуждение LSP

2 бит/20 мс 1 бит/20 мс 0 бит/20 мс

2 бит/20 мс 1 бит/20 мс 18 бит/20 мс 4 бит/20мс (толью усиление)

2 бит/20 мс 0 бит/20 мс 18 бит/20 мс 20 бит/20 мс

2 бит/20 мс 0 бит/20 мс 26 бит/20 мс 52 бит/20 мс

Совокупно

3 бит/20 мс 0.15 Кбит/с

25 бит/20 мс 1.25 Кбит/с

40 бит/20 мс 2.0 Кбит/с

80 бит/20 мс 4.0 Кбит/с

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

В декодере речевой фрейм (VUV – 2.3) обработывается тем же самым способом, как в режиме с фиксированной битовой скоростью 4 Кбит/с. а неречевой фрейм (VUV- 0) обработывается тем же способом. как в режиме с фиксированной битовой скоростью 2.0 Кбит/с. Когда выбран режим фонового шума (VUV – 1). выходной сигнал декодера генерируется так же. как мевокализованный речевой в режиме с фиксированной битовой скоростью 2.0 Кбит/с. Параметры декодера для интервала обратного фонового шума генерируются при использовании параметров, переданных в шумовых фреймах обновления (VUV-1. UpdateFlag = 1)и иногда в пред шест еовующих неречевых фреймам (VUV-0). Ниже показано, как генерировать параметры декодера для интервала обратного фонового шума.

5.9.4.1 Декодирование LSP

8 декодере удерживаются два набора ранее переданных параметров LSP. prevLSPI и prevLSPl.

prevLSPI: переданные параметры LSP

prevLSP2: переданные прежде prevLSP^ параметры LSP

Режим фонового шума имеет место только после режима неречевой или фоновый шум. Если выбран режим фонового шума, параметры LSP передаются, только когда фрейм является шумовым фреймом обновления (UpdateFlag = 1). Если переданы новые параметры LSP. prevLSP1 колируется в prevLSP2. и недавно переданные LSPs копируются в prevLSPl независимо от решения VUV.

46

ГОСТ Р 53556.2—2012

Параметры LSP для каждого фрейма ео время режима фонового шума генерируются интерполяцией между pravLSPI и prevLSP2. используя уравнение

qLsp (г) является ьи LSP, который должен использоваться для операцж декодирования текущего фрейма. prevLsp 1 (/) является buLSPprevLSP1. prevLsp2 (/) является ьм LSPprevLSP2 (1 £/£10). В этом уравнении bgrUnt\/al представляет собой счетчик, который считает число последовательных фреймов фонового шума, и сбрасывается в 0 при приеме фрейма обновления фонового шума. BGNJNTVL (=12) является константой, а тд — случайно сгенерированное целочисленное значение между -3 и 3. Если счетчик bgntntoalдостигает BGNJNTVL. bgnlntvt устанавливается в BGNJNTVL*1. и если отношение, полученное из уравнения (7). меньше 0 или больше 1. значение md установливается в 0. и отношение пересчитывается.

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

Во время режима фонового шума индекс усиления (VX_gain {0]). переданный в шумовом фрейме обновления, используется для всех подфреймов, значения индекса Shape (VX_Shape 1 (0.1)) случайным образом сгенерированы между 0 и NUM_SHAPE_L0~A. Эти параметры возбуждения используются с интер-полироеатыми параметрами LSP. как описано ранее, чтобы генерировать сигналы режима фонового шума.

QLsp(i) = ratio previsp1(0 ♦ (1 – ratio) • prevLsp2{i)… i – 1..10.

(6)

где

(7)

47

ГОСТ Р 53556.2—2012

Приложение А (Справочное)

Инструменты кодера HVXC А.1 Краткий обзор инструментов кодера

Речевой веса при частоте дискретизации 6 кГц сформирован во фреймы с длиной и интервалом 256 и 160 отсчетов, соответствегио. Анализ LPC выполнен, используя windowed (обработанные методом окна) вход-ные данные по одному фрейму. Остаточные сигналы LPC вычисляется обратной фитырагаюй входных данных, используя параметры квантованного и интерпотрованиого LSP. Остаточные сигналы затем подаются в блок оценки величины шага и спектра, где огибающие спектра для остаточного LPC оцениваются тем же способом, что и в кодере МВЕ за исключением того, что используется только двухбитоеое решение V/UV на фрейм. Огибающая спектра для речевого сегмента, затем — вектор, квантованный со взвешеныой мерой искажению. Для неречевого сегмента выполняется поиск по замкнутому контуру для кодирования вектора возбуждения.

А2 Нормализация

Ait Описано* инструмента

Процесс нормализации составлен из трех операции, а имен ■ ю. ана/мэа LPC. квантованию параметров LSP. и обратной фильтрации.

AJ2.2 Процесс нормализации А.2.2.1 Анагмз LPC

Для каждого фрейма вычисляются коэффициенты LPC 10-го порядка, используя входные сип-агы Xommiki га. обработанные методом окна, методом автокорреляции.

A.222 Квантование LSP

Используется тот же семьи квантователь LSP как в узкополосных CELP.

Коэффициенты LPC сначала преобразованы в параметры пары Line Spectra/ Pair (LSP). Параметры LSP затем квантуются Vector Quantization (VO). В случае базового уровня есть два метода квантования LSPs. гак описано в разделе декодирования: двухступенчатый VO без межфреймового предсказания и комбинация VQ и ИЗ с межфреймоеым прогнозированном. В процессе ксдорования обе метода используются для квантования LSft. и один из них выбирается путем сравнения ошибок квантования. Ошибка квантования вычисляется как взвешенное евклидово paccTotMte.

В случав уровня расширения 10-мврный векторньм квантователь, у которого есть книга шифров на 8 битов, добавляется к основанию текущей схе*ы квангтоеателя LSP кода на 2.0 Кбит/с. Битовая скорость LSPs увеличена с 18 бит/20 мс до 26 бит/20 ыс.

Процесс кодирования базового уровня следующий.

Коэффициенты взвешивания (иг /Л равны:

/sp(0] + /sp(0) – /sp(0] (‘ = °)

= Isp {/] – Isp [/ – f + fsp [i + 1J – tsp [i ] <10 << np ~ 1>

_1_ 1

– tip|Np -2) 1.0 – ttplWp-1) (•= Ne– 1).

где Np — порядок анагмза LP. и Isp [] s — конвертированные LSPs.

w_tact = 1.:

for (i = 0:i< A: /+*) wfi] ‘= wjac fc

for (i = 4;i< 8: r*+) { w_fact *= .694: wpl ’= w_fact

}

for (i = 8: i < W:r**){ wjact *= .510: wfij *= w_fact

}

Квантизатор первой стадии — тот же для каждого метода квантования. LSPs квантованы при использовании векторного квантователя, и соответствующий индекс сохранен в LSP1. Чтобы выполнить отсроченнюе решение. множественные индексы сохранены как кандидаты на вторую стадию. Ошибка квантования в первой стаои егг1[] дается формулой

48

ГОСТ Р 53556.2—2012

©гг[л] = £ |{/5p|spTij – /sp_{W|r>][m][/lf – w[sp + r|j л = О,

где л — число векторе резбиежя. т является индексом векторе раэбиетя кандидата, sp — порядок стартового LSP гмо вектора разбиения и <йт является размерностью л-го вектора разбиежя.

Таблица А.1 — Порядок запуска и размерность вектора LSP первой стадии

Вектор разбиения: n

Порядок стартового LSP■ sp

Размерность o-ro вектора разбееяия: dsn

0

0

10

Во второй стадии вышеупомянутые два метода квантования, которые являются векторным квантователем с двумя раэбиешяьм. применены соответствежо. Потные ошибки квантования во второй стадии подсчитываются для всех комбинаций кандидатов первой стадии и кандидатов второй стадии и выбирается гот. у которого минимальная ошибка. В результате определяются индексы первой стадю* и ооответствуюиив индексы, и знаки для второй стадии сохраняются в LSPZ и LSP3- Флажок, который указывает выбрамый метод квантования, также сохраняется в i.SP4. Ошибка квантования во второй стадии err2_totai дается выражением:

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

err2Jotal = егr2f0] + вп2{1}

вгг2[п] = £ j(tep_res[sp + t| – 5ign[n) • <У_М[л] |гл][г|)2 iv[sp + /]j п = 0.1

lsp_r&s[sp + »7 = lsp{sp * if- isp_fkstfsp + Q.

где tsp_first[] является еантоеамым вектором LSP первой стадии, л — число вектора разбиения л? является индексом вектора разбиежя кандидата, sp — порядок стартового LSP л-го вектора разбиения и dm является размерностью л-го вектора разбиения.

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

en2_totai = егт2}0] + егг2(1]

егг2[п] = £ |(/sp_pres[sp+»J – srpnfn] pd_tbl[n] [лтЦ/!)2 • w(sp + r’|l л = 0.1

fcp_proc[cp – !орЦер * >]

{(1 – /аto_pred>cf) – lsp_fks^sp + i] + rabo_prodd – /sp_prBvrous[sp * j}}, где tsp_drst(J является квантора шм вектором LSP первой стадии, л — число вектора разбиения, т является индексом вектора разбиения кандидата, sp — порядок стартового LSP л-го вектора разбиения и dm является размерностью л-го вектора разбиения и ratio_pcsdtcl = 0.7.

Таблица А.2 — Порядок запуска и размерность вектора LSP второй стадии

Вектор разбиения: п

Порядок стартового LSP- sp

Размерность оно вектора разбиения: dm

0

0

5

1

5

5

Квантованные LSPs lsp_curroot(] стабилизируются, чтобы гарантировать стабильность фильтра синтеза LPC. который получен из квантованных LSPs. Квантованные LSPs упорядочены в порядке возрастания, имея минимальное расстояние между смежным коэффициентам*. for (i = 0:i<LPCORDER:i*+){

if (lsp_currerrt{i] < тт_дар) )sp_CLrmnt[i) = тп_дзр.

}

for (i = 0: i < LPCORDER-1: (++) { if (tsp_curmnt[H-1}-tsp_current[i} < тю_дар) { lsp_currQnt[h-1) = Isp current(i^*fmn pap.

}

49

ГОСТ Р 53556.2—2012

}

for (i – ft / < LPCORDER: i**) { if (lsp_currentfi] > 1-min_gap) tsp_currentp} = 1—min gap.

}

forfi- LPCORDER-1: i>0:h-){ if (lsp_ajrrenift}-isp_cufT&ntfi-1} < mm_gap) { lsp_currentfi-1] = lsp_curref>t[i}-min_gap:

}

}

for (i * Ct i < LPCORDER; /++tf qLspp] = tsp_curontp}:

}

где гтт_gap = 4.0/256.0

После промесса кодирования LSP текущие LSPs должны быть сохранены в памяти, так как они используются для предсказания в следующем фрейме. for (i-О: i< LPCORDER *+/ { tsp_pfWKXJs[i] = tsp_currentfi};

Сохраненные LSPs lap_prevkxjs //должны быть иющиалиэированы как описано ниже, когда весь кодер тидиалиэи ровен.

for (i – 0t I < LPCORDER: i**) { tspjxwiousf] = (M) / (LPCORDER*1);

}

Третья стадия для уровня расим ре кия (4.0 и 3.7 Кбит/с) имеет 10-мерную струхгуру VQ. Ошибка между версией квантования базового уровня и оригинальной версией квантуется, и соответствующий индекс сохраняется в LSP5

После квантования LSP5 уровня расширения дСдо(] снова стабилизируются. for (i – ft г <

2:i**)

{

if (qLspp* 1]-qLsp{>}<

0)

{

tmp = qLspp *

4

qispfi * Vs

qLspfip

qLspfi] = tmp.

}

if (qLspp *1}- qLspfi} < THRSLD_L)

{

qLspp *1J- qLspfi} * THRSLD_L

}

}

for (i = 2: i < 6: /++>

{

if (qLspp *1)- qLspfi} < THRSLD_U)

{

tmp = (qLspp * 1] * qLspfi}) / 2,0: qLspfi * 1} – trrv * THRSLD_M/2.0: qLspfi} -tmp- THRSLD_M / 2.0:

)

}

for (i-6: i< LPCORDER- 1:i*+)

{

И (qLspp +1}- qLsp[i] < 0)

{

tmp = qLspfi * 1J: qLspfi + r) = qLspp}: qLspfi]* Imp:

50

ГОСТ Р 53556.2—2012

}

it (qLspfi *1}- qLspfi] < THRSLO_H)

{

qLspffl = qLspfi + 1)- THRSLD_hk

}

}

где THRSLD_L = 0.020. THRSLD_M = 0.020 и THRSLD_H = 0.020

Таблица A.3 — Конфигурация многоступенчатого LSP VO

1-й этап

10 LSP VO

5 битое

2-й этап

(5+5) LSP VQ

(7+5+1) битое

3-й этап

10 LSP VQ

8 битое

AJ-2.3 Фильтр инверсии LPC

LSP5 преобразованы к альфа-параметрам. чтобы сфорамровать. фигьтр тюорсии LPC в прямой форме. Остаточные сигнат LPC затем вычисляются путем тверской фильтраты входного сигнала. Только квантованный LPC текущего фрейма используется без какой-либо интерполяции для инверсной фильтрации, чтобы выделить остаточный сигнал LPC. Остато-кчый сигнал тогда является 256 точечной окомной обработкой Хэмминга, чтобы вымелить спектр мощности. Функция преобразования инверсного фильтра LPC такова

*<*>»£ 0а„г’а.

где Я» 10 и 0,3= 1. Коэффициенты LPCa„ остаются неизменными во время вычисления остаточных отсчетов длины одного фрейма (256 отсчетов}.

А.З Оценка шага

А.3.1 Описание инструмента

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

А.3.2 Процесс оценки шага

В кодер© режима малой задержки треп»* (отслеживание) шага проводится, используя только текущие, и прошлые фреймы, чтобы сохранить задвржху кодера 26 мс. Когда используется режим нормальной задержки, отслеживание шага использует один предстоящий фрейм и задержка кодера становится 46 мс.

А.Э.Э Трекинг шага

Для режима малой задержки HVXC алгоритм прослеживания шага »в использует значение шага будущего (предвиденью) фрейма. Алгоритм прослеживания шага работает, основываясь на надежном шаге “гЫРсЬГ, реше-ми ViUV предыдущего фрейма “prevVUV’, и параметрах прошлых/текущих шагов.

Основная операция состоит в следующем:

Коша prevVUV) = 0 и гЫРс/г! = 0. шаг прослеживается на основе rbIPch. Однако, у значенье шага предыдущего фрейма более высокий приоритет.

Коша prevVUV = 0 и /tWPcW = 0. шаг прослеживается на основе гЫРсЬ.

Когда prevVUV) = 0 и rbIPch = 0. трекинг проводится на основе шага предыдущего фрейма.

Коша prevVUV = 0 и rbIPch = 0. просто используется параметр текущего шага.

prevVUV) = 0 представляет речевой, и prevVUV = 0 представляет неречевой статус, соответствен ю.

В соответстам* с этой стратегией, трепе* шага выполняется без какого-либо заглядывания вперед. Исходный текст программы трекимв шага показан ниже.

typedef struct

i

Float pitch: /* pitch V

Float prvb. f 1st peak devidad by 2nd peak of autocorrelation V

Float rOr Г 1st peak of autocorrelation – modified V

Float rawROr/’ 1st peak of autocorrelation – raw V

Float rawPrtch: /* pkch with no tracking V

}

NgbPrm:

static int NearPitefy

float pO.

51

ГОСТ Р 53556.2—2012

float р1. float ratio)

{

tatum((pO * (1.0 – ratio) < p1) &&(p1<p0‘ (1.0 * ratio))):

}

static float TrackingPrtchf

NgbPrm ’cmtPrm. /• currant parameter V

NgbPrm ’prevPrm. Г previous parameter V

ini *scanbmA. Г Number of autocorrelation peaks V

Яоа! ‘ac. /* Autocorrelation V

ini peakPos[PEAKMAX}. /* Position of autocorrelation peaks V int prevVUV) P VAJV of ptrevious frame V {

float kmete: float pich; int к

static float prevflawp* 0.0:

int stO. st1. stZ

float stdPcb:

static float rbIPch = 0.0:

static float prevRbIPch = 0.0;

rbIPch = global_pitch:

if (prevVUV /= 0 && rbIPch f= 0.0)

{

stO = Ambiguoos(prevPrm—>pilcb. rbIPch,

0.11):

st1 = Ambiguous(cmtPrm->pitcb. rtkPcft,

0.11):

if(!(stOtst1))

{

if (NearPitch(cmtPrm->pitch. prevPrm->pitcb. 0.2)) pitch = cmtPrm->pitch:

else 9 (NearPrtch(cm(Pnn->pitch. tbiPcb. 0.2)) pitch = cmtPrm—>pitch:

else 9 (NearPitch(prevPrm->pitch. rbIPch. 0.2))

(

if (cmtPtm->tOr > prevPrm->rOr && cmtPrm->pro0 > prevPrm->prob)

pitch = cmtPm}->pitch: else

pitch = prevPrm->pilch;

}

else

pitch = GetStdPch2EJms(cmtPrm. prevPrm. scanlirrA peakPos. ac):

}

else if (fstO)

{

if (NearPitch(pfevPrm->pttch, cmtPmr->pitch.

0.2))

pitch = cmtPrm->pitch: else i ((gpMax * 1.2 > cmtPrm->p9ch) &&

NearPitch(prevPrm->fawPrtch. cmtPrm->pitch.

0.2))

pitch = cmtPr7Tj->prfoh: else

pitch = prevPrm->pitch:

}

elseiffisll)

{

52

ГОСТ Р 53556.2—2012

if ((cmtPrm->f9wPilch t= cmtPrm->pitch) ДД NearPgch(crntPrm->rawP*ch. pr9vPrm->rawPitch.

0.2))

pilch = cmlPrm->rawPitch; else

pitch = cmtPrm->pitch:

}

else

{

if (NearPitch(ptevPrm->pttch, cmtPrm->p4ch.

0.2))

pilch = cmtPrm->pitch: else

pitch = rblPch:

}

}

else i(pfevVUV rbtPch != 0.0)

{

st1 = Ambtguous^CJT7lPrm—>pitch. rblPch.

0.11);

H(!st1)

pitch = cmtPrm->pitch: else

pitch = rblPch:

}

else * (prevVUV 1= 0 && rblPch = 0.0)

{

st1 = Ambiguous(cmtPrm->pitch. prevPrm->pitch.

0.11):

#(!st1)

pitch = GetStdPch2EIms(cmtPrm. prevPrm. scanlimL peakPos. ac): else {

if (prevPrm->fOr < ui*Puii->rOr) pitch = cmtPrm->pitch: else

pitch = pmvPrm—>pitch-

}

}

else

pitch = cmtPrm->pitch. cmtPrm->pitch = pitch; prevRblPch = rblPch: prevRawp = pitch: retum(pitch):

}

A.4 Извлечение величин гармоник A.4.1 Описание инструмента

Извлечение величин гармоник состоит из двух шагов: поиск шага и оценка огибающей спектра. Операция для каждого шага описана маке.

А.4.2 Процесс извлечения величин гармоник А.4.2.1 Поиск шага

Используя целочислежую задержку шага разомкнутого докла. оценивается дробное значение задержки шага. Размер шага фракции равен 0.25. Это выполненяется путем минимизации ошибки между синтезируемым спектром и исходным спектром. Здесь одновременно оцениваются значение задержки шага и величоы тармо-мес спектра. Оцениваемое значение задержки шага. pcft. передается в декодер как Prtcft.

РЛсЬ – (irtf) (рсЛ – 20.0)

А.4.2-2 Оценка огибающей спектра

Чтобы получить исходный спектр к остаточным сигналам LPC применяется ОРТ 256 точек. Используя исходный спектр, производится определение огибающей спектра. Огибающая спектра — это ряд вели» ее i спектра.

53

ГОСТ Р 53556.2—2012

оцениваемых для каждой гармоники. Эта оценка величин выполняется вычислением оптимальной амплитуда Ат. ислогъзуя предопределенную базисную функцию £(у)и исходный спектр ХУ). Пусть ат и Ьт будут индексам коэффициента DTS нижней и верхней границы т-й полосы, соответсгаенно. охватывая полосу m-й гармони**. Ошибка оценки амплитуды е определяется как

– ММ!

Решение

дает

N

Это значение определено как спектральная велигмпа. Базисная функция Е (J) может быть получена DFT окна Хешмчга 256 точек.

А.5 Перцепционное взвешивание

А.5.1 Описание инструмента

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

аЛаяЛГж-a.S« ш**-‘

где могли использоваться А = 0.9; В = 0.4. В этом нмструменте также вычисляется частотная характеристика фильтра синтеза LPC – /i{z) так. чтобы ее можно было включить

В этом инструменте да мелена частотная характеристика w{zy7{z) и выведена как массам ‘per_wetght. который может быть использован как диагональные компоненты матриц взвешивания WH.

А.6 Кодер гармоник №

А.6.1 Описание инструмента

Процесс кодирования гармонюс VQ состоит из двух шагов: преобразование размерности и квантование векторов огибающей спектра. Операции каждого шага приведет ниже.

А.6.2 Процесс кодирования

А.6.2.1 Конвертер размерности

Коли«ство точек, которые составляют огибающую спектра, изменяется в зависимости от вешчюг шага, так как огибающая спектра является набором оценок величин каждой гармоники. Число гармоник равно приблизительно от 9 до 70. Чтобы аекторно квантовать огибающую спектра, кодер должен преобразовать их в постоянное число для VO фиксированной размерности. Для преобразования частоты взятия выборки используется интерполяция с ограниченной полосой, чтобы получить спектральные векторы фиксированной размерности. Число точек. которые представляют форму огибающей спектра, должно быть изменено, не изменяя ее форму. С этой цегъю используется конвертер размерности для огибающей спектра, состоящей из комби надои низкочастотного фильтра и линейного интерполятора 1-го порнока. Для 8-кратной передиофетиэацни первой стадии используется низкополотый фигътр FIR с 7 наборами коэффициентов: каждый набор состоит из 6 коэффициентов. 7 наборов коэффициентов фильтра получат группировкой каждых в коэффициентов из endowed sine, coe/(i]. со смещениями от 1 до 7, где

сое/И*

мл я(1 – 32)/8 х{1 – 32^8

(0.5 — 0.5 сое 2я i/64)

0S/S64

54

ГОСТ Р 53556.2—2012

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

Во второй стадии передискретизации применяется линейная интерполяция 1-го порядка, чтобы получить необходимее точки выхода. Таким образом, мы получаем спектральные векторы фиксированной размерности (=44).

А.6-2-2 Квантование вектора

Спектральный вектор фиксированной размерности (= 44) затем геантуется. В базовом уровне используется двухступенчатая схема векторного квантора ыя для спектральной форкы совместно со асаляргьш квантователем для усиления. Мера взвешенного искажения О используется для поиска в ю-ыге шифров как формы, так и усиления.

где х — исходный вектор, в, — выход ю-ыги шифров Special Envelope (SE) s/iapel. s2 — выход SE shape2 омги шифров, ид — выход книги шифров усиления SE. Соответствующие индексы обозначены как SE_shape 1, SE_shape2 и SE_да«п. соответственно. Размерность книг шифров формы фиксируется (=44). Диагональные компоненты матриц Н и W являются ветчтаыи частотной характеристмси фильтра оытеза LPC и перцепционного фильтра вэвешиаатя. соответственно. Для уровня расширения к основатю квантизатора базового уровня добавлены дополнительные векторные квантизаторы. Режим 2.0 Кбит/с использует только квантизаторы базового уровня.

Для режима 4.0 Кбит/с ввличиш квантованных гармоник с фиксированной размерностью (=44) в базовом уровне сначала преобразуются к размерности исходного вектора гармотк. которым изменяется в зависимости от величию шага. Вычисляется различие между квантованным (с восстановлетой размерностью вектором гэрмонмс) и исходным вектором гармоник. Это различие затем квантуется схемой VQ с разбиением, составленной из четырех векторных квантователей в уровне расширения. Соответствующие индексы — SE_shape3. SE_shape4. SE_shape5 и SE_shape6.

Индекс SE_shape6 не используется, когда выбран режим 3.7 Кбш/с.

А.7 Решение VIUV

АЛЛ Описание инструмента

Решение VIUV принимается каждым фреймом 20 мс. Решение принимается на основе: подобия формы синтезируемого спектра и исходного спектра, мощности сигнала, максимальной автокорреляции остэтотых сигналов LPC. нормэ/мэованюх остатотой моивюстью сигнала и топом переходов через нулевого.

А.72 Процесс кодирования

Решете V/UV составлено из трех разгмчых режимов, т. е. неречевого, смешан юго речевого, и полностью

речевого.

Чтобы отослать информацию этих трех режимов, используются два бита для VIUV. Во-первых, нужно решить. неречевой гм текущий фрейм. Когда это решение речевой, тогда оценивается сила звучания, исходя из значения нормализованного максимального пика автокорреляции остаточного сигнала LPC. Обозначим значение Юг.

Ниже показано правило принятия решения:

Когда первым решением является неречевой VIUV = 0 Когда первым решением является речевой VIUV – 1

VIUV = 2 V/UV- 3

для Юг <7X2 для ТИ2 <= /0г < 7Н1 для 7W1 <= /От

Неречевой

Смешан ый речевой 1 Смешан ый речевой 2 Полностью речевой

А.8 Кодер временного домена А.8.1 Описание инструмента

Когда речевой сегмент является неголосоеьм. используется алгоритм Vector Exatabon Coding {VXC}. Работа VXC огмеана ниже.

А.8.2 Процесс кодирования

Сначала выполняется анализ LPC. а затем коэффициенты LPC (а) преобразуются а параметры LSP тем же самым способом, как в речевом случае. Параметры LSP квантуются, и квантованное LSPs преобразуются в

коэффициенты LPC (а).

Перцепциото взвешетый фильтр синтезе LPC – – Щг) выражен как:

Н(2)=Л(г) Щг).

где А(г) — функция преобразования фильтра синтеза LPC. и W(z) является пврцепционно взвешенным фильтром, полуголым из коэффициентов LPC.

55

ГОСТ Р 53556.2—2012

Пусть *ж (л) будет перцепциомно взвешен ■ ым вхсоным сигналом. Вы-мтая отклик на нулевой ввод г(п) из жф (л), получаем опорный сигнал. г(л) для процедуры анатза мороз синтез VXC. Векторы оптимальном формы и усиления разыскиваются с использоеашем меры искажения Е:

Е = Л* Ил) – 9 х syn(n))2.

где syn(n) является реакцией нулевого состояния Щг). управляемого вводом возбуждения только вектором формы s(n). которым является выходом книги шифров VX_sftape. Здесь д — это усиление, которое является выводом ю-мги шифров VX_дэп. N является векторной размерностью книги шифров Wf_shape.

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

1. Пои» в(л). которое максимкз»фует

„ л-Vг(п) х syn{n) ES–■ =”

2. Поиск д, которое минимизирует

= -9?-

где

*.0*f <“)* ДУ”(“) 9nt «-V syn(mf

Ошибка квантователя е(л) подсчитывается как:

е(л) = г (л) – g х syn(n)

Когда битовая скорость равна 4 Кбит/с. используется еще одна стадия для кванторами неголосовых сег-ментов, и е(л) используется как опорный ввод для VQ второй стазы.

Работа VQ второй стадии такая же как работа VO первой стадии.

Кодер 2.0 Кбит/с испогъзует книги шифров формы на б битов и усиленыя на 4 бита двоичного для неречевого возбуждения каждые 10 мс. Соответствующие индексы — VX_sftape [г]. УХ дат [i] (/ = 0.1). Схема 4.0 (Шит/с добавляет книги шифров для формы на 5 битов и усиления на 3 бита для каждых 5 мс внизу текущего квантователя. Соответствующими индексами являются — УХ_зЛаре2 [i). VX_gain2 (ij (i = 0.1.2.3). Режим 3.7 Кбит/с макет использовать ту же самую процедуру кодирования как режим 4.0 Кбит/с. хотя VX_s/>арв2 [3] и VX gatnl [Э) ыв используются в декодере режима 3.7 Кбиг/с

Таблица А.4 — Конфигурация книг шифров VXC

1- й этап (60-мерная 6 битовая форма * 4 битовое усилечге ) х 2

2- й этап (40-мерная 5 битовая форма + 3 битовое усиление) х 4

А.9 Кодер варьируемой скорости

Здесь описан инструмент для кодирования варьируемой скорости с ядром HVXC. Данный инструмент позволяет HVXC работать при изменяющихся битовых скоростях. Главная часть алгоритма составлена из «обнаружения интервала фонового шума», где передаются тогъко биты режима во время «режима фонового шума», и неречевой фрейм вставляется с определенньы промежутком времени, чтобы послать параметры для генералы фонового шума.

В алгоритме кодироса мл трекер (следящая система) мш «мольного уровня имеет временный минимагъ-ный уровень, чтобы корректировать пороговое экачемге. по которому прмымается решение о том. является гы входной сегмент речевым.

Трекинг минимального уровня

Параметры определены следующим образом: lev. r.m.s~ речевого фрейма: vCont: число непрерывных голосовых фреймов: cdlev. значение кандидата минимального уровня: ptevtev. гтл. предыдущего фрейма:

gmlSetState число фреймов, в которых установлено значение кандидата.

56

ГОСТ Р 53556.2—2012

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

gmh минимальный уровень.

Минимальный уровень отслеживается согласно алгоритму, который показан ниже.

И (vCont > 4)

{

cdLev = 0.0: gmISetState = О: gmIResetState

}

else if (lev <

MIN_GML)

{

‘gmt = MIN_GUL gmIResetState = 0: gmISetState =

0:

}

else if Ct/mi > lev)

{

“gml = lev: gmIResetState = 0: gmISetState –

a

}

else if ((lev<500.0 && cdLev ‘ 0.7<Xlev && tev<cdLev * 1.30) || lev<100.0)

{

it (gmlSetSlats > 6)

{

*gmf = lev: gmIResetState

-0:

gmISetState =

Or

;

else

i

cdLev = lev: gmIResetState

-0:

gmISetState**:

}

i

else if (Qev<500.0 && prevtev * 0.70<Jev && lev<prevLev * 1.30) || lev<100.0)

{

cdLev = lev: c = 0:

gmISetStat

e**:

}

else H (gmIResetState >40)

{

‘grrt = MIN_GKtj gmIResetState = 0: gmISetState =

Or

}

57

ГОСТ Р 53556.2—2012

else

{

cdtev = 0.0: gm/SetState = О: gmIReset State**

}

Как показано вькые. мн «мальньм уровень удерживается в течение соответствующего промежутка време-км и обновляется. Мижмальньы урооотж всегда устанавтмвается выше, чем предопределенное значение MIN_GML Обнаружение фонового шума, основа!кос на миммальном уровне Справочный уровень refLev оъгмсляется как

rgfLev -Ах max(fev. retLev) + <1.0 – А) х min(tev. refLev) (А.1)

Обичю А устанавливается в 0.75. Обнаружение фонового шума выполняется используя refLevei. полученное из уравнения (А.1).

Для фреймов, где пр*в ведается решение «речевой»: d (refLev < в ‘gmf <SS contV<2) ( idVUV = 1;

}

Для фреймов, где прижмэется решение «неречевой»: if (refLev < В *gml) {Г condition—1 У if (bgnCnt < 3) { bgnCnt**:

}

else {

d (bgn/nM < B) { idVUV-1: bgnlntvf++;

;

else { bgnlntvt^O:

}

}

}

else {

bgnCnt=0:

}

где 8 — константа. В этом случае устанавливаем В = 2.0.

Каждой параметр определен мгже. countV: число последователышх речевых фреймов: bgnCnt: число фреймов, которое удовлетворяет условие 1; bgnlntvf. число фреймов, где объявлен режим «фоновым шум»: idVUV: — параметр, результат которого решение VIUV. определенный как

О Невокализованная речь

idVUV = 1 Интервал фонового шума

2 Смешенная вокализованная речь

3 Вокализоважая речь

Есть* текущий фрейм объявлен как «Речевой», производится проверка, был ли предыдущий фрейм тоже речевой. Если режим предыдущего фрейма речевой, режим фонового шума не выбирается, иначе выбирается режим фонового шума.

Есгм текущий фрейм, заявлен как «Неречевой», режим фонового шума выбирается только после того, как условие 1 удовлетворено для четырех последовательшх фреймов. Когда режим фонового шума выбран для N последовательных фреймов, режим последнего фрейма заменяется режимом «Неречевой», чтобы передать речевые параметры, которые представляют характеристики времени изменения фонового шума.

В этот момент N устанавтмвается в 9.

Кодирование с переменной скоростью

Испогьзуя огмсанный выше метод обнаружения фонового шума, выполненяется кодирование с варьируемой скоростью на базе HVXC с фиксированной битовой асоростью 2.0 Кбит/с.

56

ГОСТ Р 53556.2—2012

Таблица А.5 — Распределение разрядов закодированных параметров для режима варьируемой битовой скорости

Режим (irfVUV)

•омоеми 1В)гм (1)

UVT<H

MVW. У»Э>

VfUV

2 бит/20 мс

2 бит/20 мс

2 бит/20 мс

LSP

0 бит/20 мс

18 бит/20 мс

18 бит/20 мс

Возбуждение

0 бит/20 мс

8 бит/20 мс (только усиление)

20 бит/20 мс

Совокупно

2 бит/20 мс 0.1 Кбит/с

28 бит/20 мс 1.4 Кбит/с

40 бит/20 мс 2.0 Кбит/с

Есгм режим текущего фрейма ит предыдущего фрейма — «Фоновый шум», другой режим квантования LSP запрещается в кодере, потому что параметры LSP не передаются во время режима «Фоновым шум» и межфрей-мовов кодирование невозможно.

А.10 Расширение кодера с варьируемой скоростью HVXC

В А.9 описана операция кодера режима варьируемой скорости максимом на 2.0 Кбит/с. Здесь описан одт пример реализации кодера режима варьируемой скорости HVXC максимом на 4.0 Кбит/с. По существу может использоваться любой вид алгоритма выбора решения фоноеьы шум/неречевой. Изменение уровня сигнала и огибающей спектра используются, чтобы обнаружить интервал фонового шума из неречевых фреймов Во время шумового интервала предполагается, что уровень сигнала и форма огибающей спектра устойчивы. Характеристика зарегистрированной вели» м 1ы в квадрате в низкочастотном диапазоне огибающей спектра подсчитывается из коэффициентов квпстра LPC. Характеристика зарегистрирооо! ■ юн величие ы в квадрате текущего фрейма срав-►меается со средним зарегистрирован ой ветчины в квадрате нвсколымх предыдущих фреймов. Ест разните мало, предполагается, что сигнал устойчив. Когда эти параметры показывают что состояние сигнала достаточно стабильно, фрейм классифнщируется как «интервал фонового шума». Ест характеристика сигнала изменяется в определенном диапазоне, предполагается, что характеристика фонового шума изменилась, и передается фрейм обновления шума. Если характеристика сигнала изменилась больше чем заданный диапазон, то предполагается. что сигнал является нееокалиэоеанной ретю.

А.10.1 Определения

stFfag: Флажок стабильности сигнала

bgnCnt Счетчик фонового шума

Вдп/пМ: Счете* интервала фонового шума

UpdateFfag”. Флажок обновления фонового шума

А.10.2 Вычисление RUC

Сначала вычисляется RMC входного сигнала з(). чтобы получить минимальный уровень сигнала (mtn_/mc). Ест величина RMC меньше, чем предопределенное «нэчение. которое является наименьшим возможным речевым уровнем, и отклонения значения RMC нескольких фреймов находятся а определенном диапазоне, то иемнмальньм уровень обновляется, используя обнаруженное значение RMC и текущее mxwmc. Текущее знаю мне RMC ‘/тле* затем делится на текущее min_m>c. чтобы получить ееличену ‘rate*.

ratio s ms .

ГТХП_/ТП5

Это эначенме используется для обнаружения стабильности сигнала, как описано в А.10.4.

А.10.3 Сравнение спектра

Огибающая спектра рассчитывается, используя коэффициенты л темного предсказания (LP). Коэффши-енггы LP преобразуются в параметры кепстра Сс []. Исходя из параметров квпстра характеристика зарегистрированной ветчины в квадрате 4r?|Hi{e#a)p вычисляется как

I ” **о

Средний уровень каждого диапазона частот в л-м фрейме вычисляется кая

logО = m|Ht (e’“lf<fU = £

и

m-1

г = 0… 3

59

ГОСТ Р 53556.2—2012

Здесь о ширина полосы (=500 Гц). и i — «испо полос, где вычислен** 4 полосы между 0 и 2 кГц. Исходя из полученных значений за регистра рооа ■ юй величны а квадрате для последних 4 фреймов рассчитываются усредненные значения для каждой полосы как

4

eve Ampin. 0 s 4* X ЮдА/пр(л- /. t).

j-1

Испогьзуя эти уравнения. различие “т*Г между текущим уровнем и усредненным уровнем для каждого даапазона частот # вычисляются как показано ниже

wdrf = |=1 £ (1одД/лр(л. г) – eveAmpfn. i))2 .

V 4/-e

А. 10.4 Обнаружение стабильности сигнала

Исходя из комбинации ratio и их*/ рассчитывается сигнал флажка стабильности “sffiag”, у которого есть следующие 3 состояния. Естественно, чем меньше эти переменные. тем более стабильно состояние сигнала.

stFlag =

0 Почти стабигъный

1 Не стабильный

2 Более стаби/ъный

А.10.5 Обнаружение фонового шума

В соответствии с переменной stFtag и решением VIUV обнаруживается фоноеьм шум. Блок-схема показана на рис. А1. Когда решением VIUV является речевой {VUV = 2.3), фрейм клэссифидоруется как речевой независимо от значения stFlag. Когда в неречевом интервале обнаруживается фоновый шум {VUV = 0). VUV устанавливается в 1. Когда параметры фонового шума должны быть обновлены. *UpdateFiag* устанавливается а 1. Чтобы обеспечить устойчивую работу алгоритма обнаружено? фонового шума, введены пере мои то. счетчик фонового шума (bgnCnf) и счетчик интервала фонового шума (б^тФМ). BGN_CNT и BGN_NTVL — предопределенные константы.

А.10.6 Решение о принятых параметрах

VUV — параметр содержит реэутътат решения VJUV и определен как:

0 Невокалиэованная речь

1 Интервал фонового шума

VW = 2 Вокализованная речь 1

3 Вокализованная ре^н 2

Чтобы укятатк является пи фрейм, мя(жмрпвяьмм кяк “VIIV = 1’* фреймом обновления шумя, введен параметр “UpdatsFiag”. UpdateFlag ниже испогъзувтся. только когда VUV = 1.

|0 нефрейм обновления шуме UpoateFtag = ^ фрейм обновления шума

В фрейме обновления шума вычисляется параметры усредненного LSP и Саф Gain.

Необработанные LSPs усреднены по последним 3 фреймам

awteplnHiJs-i £ LsPlrt-ЛМ. г“1.-~ЛР.

3/-о

где av&Lsp{n] [] обозначает усрешенное LSP а п-м фрейме и Lsp(n] Ц обозначает необработанный LSP в л-м фрейме. NP представляет собой порядок LSP. avetspjn] Q является квантованным и закодированным, где кодирование LSP другим режимом запрещено.

Усреднены усиления необработанных Сеф по последним 4 фреймам (8 подфреймам).

а*еват [л) = -g- £ £ Gam (л – yj (ft).

0 /-14-0

где эиебаФ {nj является усредненным усилением Сеф в л-м фрейме, a Gain(nj {*] — необработанное усиление Сеф а л-м фрейме и к-м подфрейме. Усредоенное усиление Сеф квантовано и закодировано тем же самым способом, как обычное усиление Сеф.

Согласию VUV. передаются следующие параметры.

60

ГОСТ Р 53556.2—2012

Таблица А.6 — Закодированные параметры для режима варьируемой скорости на 4 Кбит/с

Реаам (VUV0

®<1)

Ш/(0)

Ц2.3)

Флагобмоаления *0

Фпагобновпе>мя *1

VIUV

Флагобновлвния LSP Возбуждение

2 бит/20 мс 1 бит/20 мс 0 бит/20 мс

2 бит/20 мс 1 бит/20 МС 16 бит/20 мс 4 6ит/20мс (только усиленно)

2 бит/20 мс 0 бит/20 мс 18 бит/20 мс 20 бит/20 мс

2 бит/20 мс 0 бит/20 мс 26 бит/20 мс 52 бит/20 мс

Совокупно

3 бит/20 мс 0.15 К5ит/с

25 бит/20 мс 1,25 Кбит/с

40 бит/20 мс 2.0 Кбит/с

80 бит/20 мс 4.0 Кбит/с

я*

Ьрп!пМ = 0

. No

updateFiag ■ 1 bgnlnM «0

Рисунок А.1 — Блок-схема обнаружения шума

61

ГОСТ Р 53556.2—2012

Приложение Б (справочное)

Инструменты декодера HVXC

Б.1 Пост фильтр

Б.1.1 Описание инструмента

Основной работой постфкгътра является расширение спектральных формант и подавление спектр алы-ых точек минимума. Можно использовать единый постфильтр после добавлено! синтеза вока/мэованной и неаока-гмэованной речи. Альтернативно можно использовать независимые постфильтры для вокализованной и неаока-гьоованном речи, соответственно. Рекомендуется испогъэоеанме независимых постфильтров для речевых и неречевых сигналов.

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

Ислольэовате постфилыра требуется, однако конфигурация и константы постфильтров, описа ■ ыо здесь, являются одним из примеров, а не нормой, и от могут быть изменены.

Б.1.2 Определения

Pf^z):

Pf«A*Y-

гщ-

S(n):

S^(n):

Sat(n):

Передаточная фуысция фильтра формирования спектра для вокапиэооаиой pern. Передаточная фужция фильтра формирования спектра для новокалиэованной речи Коэффициент регулировки усиления для формирования спектра.

Выход фильтра оитеза PC H(z).

Выход фильтра формирования спектра РМ,г).

Сформированный по спектру и отрегулироватый по усиление выход.

Sp, _ рю{пу. (л), рассчитанный с использованием ц, иг^ предыдущего фрейма.

vspeech{n): Постфильтро ванная еокахмэованная речь.

UYspeectyn): Посгфихьтроватая невокапизованная речь.

Б.1.3 Обработка

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

Б.1.3.1 Вокализованная речь Формирование спектра:

О-0

где а„ — коэффициенты линейного предсказания, преобразованные из деквантоваюых и линейно интерполирован*» LSPs. которые обновляются каждые 2.5 мс. р = 10. у = 0.5. 6 = 0.8. 6 = -0.15ха,. где значение 6 ограничено диапазоном 0 £ S £ 0.5. Когда выбран режим декодирования с шзкой задержкой, жгереал фрейма декодера сдвигается на 2.5 мс. и интерполяция LSPs выполняется для первого 17.5 мс интервала фрейма декодирования. а последние LSPs используются для последних 2.5 мс без ютерполяци. Вывод с фитьта синтеза LPC — s(n) тачала подается на фильтр спектрального формирования Pf. (z).

Ресугмровкэ усиления:

Вьеод фильтра спектрального форм ир осами, S^(n). затем регулируется по усилению так. чтобы у си лете фрейма ввода и вывода спектрального формирования было неизменно. Регулировка усиления выполняется однажды за каждые 160 фреймов выборки, в то время как LSPs обновляются каждые 2.5 мс. Фактор регулировки усиления Грц вычисляется следующим образом:

_ f ,!е«(л»а

Сформировавши по спектру и отрегулированный по усилению выход spl (о) получается как:

s‘pf = гщ– s„ (л) (0 £ л £ 159)

62

ГОСТ Р 53556.2—2012

Процесс сглаживанмя:

Отрегутрованный по усилению выход 5^ (г?) затем сглаживается, чтобы избежать нарушения непрерьв-ностм из-за изменения параметра в начале каждого фрейма. Постфильтроеанный речевой выход vspeect? (л), получают следуюиаш образом

«реесЛ(л) = 1 –^S p, ^(л) + JLs^n) (0snsl9)

Sp,(n) {20 S гг £ 159),

где Spf до,(л>—это Sp, (п). вычисленным с испопьзованмем ал ипредыдущего фрейма.

Б.1.3.2 Невокализованная речь Спектральное формирование:

Аналогично здесь дается Pf^ <z) как функция преобраэооа мл фигътра спектрального формирования для невокалиэованной речи.

««<*>«

где ал — линейные предиктивные коэффициенты, преобразован ыо из деквантоаанных LSPs. которые обновляется каждые 20 мс

Когда выбран режим нормального декодирования, коэффиененты LSP обновляется в середине интервала фрейма декодирования. Есгм выбран режим декодирования с малой задержкой, ннтервал фрейма декодироеа-нмя сдвигается на 2.5 мс. и обновление LSP происходат в точке 7.5 мс с начала жтервалэ декодирования на рисунке 1. р ■ 10, у = 0.5, fi = О.в. S = 0.1. Регулировка усиленегя и промесс сглаживания — те же самые, как в речевой части, огмеанной выше, и производят гххпфигыроваг-ыую невокалиэоезнную р&*. i/yspeecfifn).

Выход каждого из постфильтров. vspee&t{n) и t/v5peech<n). добавляется, чтобы генерировать выход пост-фильтрооа ■ юй ре*«.

Б2 Постобработка

Б.2.1 Описание инструмента

Выход постфильгра подается е подсистему постобработки. Постобработка составлена из трех фигътрое: это фильтр нижних частот, высокочастотным фильтр акцента и фильтр верхних частот. Фильтр верхних частот испогъ-эуется. чтобы уда/мть ненужные низкочастотные компоненты, высокочастотный фильтр акцента используется, чтобы увегычить яркость речи, и фильтр нижнмх частот используется, чтобы удалить ненужные вьюоктэстопыю компоненты. Конфигурации фильтров и описакыо здесь константы является одним из примеров и не нормативны. они могут быть изменен*

Б.2.2 Определения

HPF(z): Фунпмя преобразования фильтра нижнмх частот.

Emp(z): Функция преобразования высокочастотного фильтра акцента.

LPF{z): Функция преобразования фильтра верхних частот

Б2.3 Обработка

Три фильтра применены к выходу постфильтра.

Фигъгр нижних частот:

HPF(z) = GMv

1 + AyZ

1 + Cf

* 8,2~2

* DyZ’2

1 * А2г~% * В2г 2 1 + CjZ*1 + O^”2

Высокочастотный фигьтр акцента;

Etnp(z) = 60

1 + ■* B8z~2

1 +• CCz-‘ + DDz 2

Фи/ыгр верхние частот

LPF{z) * GL

1 + ALz~’ 1 + CLz 1

+ BLz2 *DLz 2

63

ГОСТ Р 53556.2—2012

Б .2.4 Таблицы

Таблица Б.1 — Коэффициенты фильтра мокних частот

Gw

1.100000000000000

-1.998066423746901

S,

1.000000000000000

С,

-1.962822436245804

°1

0.9684991816600951

Аг

-1.999633313803449

Вг

0.9999999999999999

с2

-1.858097918647416

Ог

0.8654599836007603

Таблица Ъ2 — Коэффициенты высокочастотного фильтра акцента

АА

0.551543

ВВ

0.152100

сс

0.89

DD

0.198025

GG

1.226

Таблица Б.З — Коэффициенты фигътра верхних частот

AL

-2. * 1. * cos((4.0/4.0)*x)

BL

1.

CL

-2. * 0.78 • cos((3,55/4.0)*x)

DL

0.78*0.78

GL

0.768

Приложение В (справочное)

Определения системного уровня

В.1 Точка случайного доступа

То*а случайного доступа в потоке битое HVXC может быть установлена в любой гршьгнюй тоже фрейма.

64

ГОСТ Р 53556.2—2012

Приложение Г (справочное)

Пример установки инструмента ЕР и маскировки ошибок для HVXC Г.1 Краткий обзор

Этот раздел огмсывает пример реализашы инструмента ЕР (зашита от ошибок) и метод маскировки ошибок для HVXC. Некоторые из перцепщюнно важных битов защмцвны схемой FEC (прямая коррекция ошибок), а некоторые проверяется цикгмчесхим контролем избыточности (CRC), чтобы решать, активны ли е состав ошибочные биты. Когда происходит ошибка CRC. выполняется маскировка ошибок, чтобы уменьшить заметную деградацию.

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

Г.2 Установка инструмента ЕР

Г.2.1 Пример внеполосной информации для HVXC

Фиксированная скорость 2.0 Кбит/с

ESC (Категория чувствительности ошибок) примеры двух смежных фреймов приложены непосредственно для классов ЕР.

Класс 1: 22 бита (фиксированных). 2 фрейма связан те. скорость кода SRCPC 8/16. CRC на 6 битое;

Класс 2: 4 битв (фиксированных), скорость кода SRCPC 8/8. 1 битовый CRC;

Класс 3: 4 бита (фиксированных), скорость кода SRCPC 8/8. 1 разрядный CRC:

Класс 4: 20 битое (фиксированных). 2 фрейма связаыые. скорость кода SRCPC 8/8. СЯС отсутствует.

1

/* number of predefined sets V

2

Г bit interleaving V 0

3

/* bitstuffing У

2

Г 2 frame concatenate V

4

Г number of classes У

00010020

/* length_esc. snpc_esc. ctcjasc, concatenate, FEC type. No terminabcn. interleave SW. dess option У

22

/* bits used for class length (0 = unti the end) У

8

/”puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

6

Г ere length У

00000030

/* length_esc. s/qx_esc. ctcjasc, concatenate. FEC type. No terminabcn. interleave SW. dess option У

4

Г bits used for class length (0 = unti the end) У

0

Z’puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

1

Г ore longth V

00000030

/* length_asc. snpc_esc. ctcjasc, concatenate. FEC type. No terminabcn. interleave SW. dess option У

4

Г 6#ts used for class length (0 = unti the end) У

0

/* punctue rate for srcpc 0 = 8/8… 24 = 32/8 У

1

/* ere length У

00010030

Г length_esc. s/qx_esc. ctcjasc, concatenate, FEC type. No terminabcn. interleave SW. ctess option У

10

Г 6its used for class length (0 = until the end) У

0

/* puncture rate for srcpc 0 = 8/8… 24 = 32/8 У

0

Г ere length У

Фиксированная скорость 4 Кбит/с.

ESC (Категория чувствительности ошибок) примеры двух смежных фреймов приложены непосредственно для классов ЕР:

Класс 1: 33 битв (фиксированных). 2 фрейма связанные, скорость кода SRCPC 8/16, 6 битов CRC.

Класс 2: 22 бита (фиксировать*). 2 фрейма свяэажые, скорость кода SRCPC 8/8. 6 битое CRC.

Класс 3: 4 бита (фиксированных), скорость кода SRCPC 8/8. 1 бит CRC.

Класс 4: 4 битв (фиксированных), скорость кода SRCPC 8/8. 1 бит СЯС.

Класс 5:17 битое (фиксированных). 2 фрейма связанные, скорость кода SRCPC 8/8. CRC отсутствует.

1

Г number of predefined sets У

2

/*Ш nterteaving V0 Г bitstuffing V

2

/* 2 frame concatenate V

5

/* number of classes У

00010020

/“ length_asc. snpc_esc. ac_esc. concatenate. FEC type. No terminabcn. interleave SW. dass option V

65

ГОСТ Р 53556.2—2012

33

8

6

00010030 22 0 6

00000030

4

0

1

00000030

4

О

О

ООО 10030 17 О О

Г bits used for class length (0 = until the end) V Г puncture rate for srcpc 0 = 8/8… 24 – 32/8 V Г crc length V

Г length_esc. srcpc_esc. crc_esc. concatenate. FEC type. No terwinabcn interleave SW. ctess option V /* bits used for class length (0 = until the end) 7 /* puncture rate for srcpc 0 = 8/8… 24 – 32/8 V /■ crc length V

/• iengtfi_esc. srcpc_esc. crc_esc. concatenate. FEC type. No termination. яte/feave StV. ctess cptran У Г bits used for class length (0 = until the end) V /* puncture rate for srcpc 0 = 6®… 24 = 12/8 V /* crc length V

/* tengtn_esc. srppc.esc. crc_esc. concatenate. FEC type. No termination, nterfeeve SIV. ctess option У /* Ms used for class length (0 = until the end) V Г puncture rate for srcpc 0 = 68… 24 = 12/8 V Г crc length V

^ teogtb_esc. srcpc_esc, crc_esc . concatenate. FEC l)pe. Nb terminator], nterteare SW. ctess option У Г bits used for class length (0 = until the end) V /” puncture rate for srcpc 0 – 8/8… 24 = 32/8 V Г crc length V

Таблица Г.1 показывает назначение битое закодированного канала для использования параметров настройки вышеупомтутого тструментэ ЕР.

Таблица Г.1 — Закодированное каналом назначение битов для испогъэования инструмента ЕР

Фиксированная скорость 2.0 Кбат/с

Фиксированная скорость 4 Кбит/с

Класс I

Биты кодера источника

44(‘Ч

Контроль CRC

6

6

Кодовая скорость

8/16

8/16

Класс 1 совокутмо

1UU

144

Класс II

Биты кодера источника

4

44,1>

Контроль CRC

1

6

Кодовая скорость

8/8

8/8

Класс II совокупно

5

50

Класс III

Биты кодера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/8

Класс IU совокутью

5

5

Класс IV

Биты «одера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/3

Класс fV совокупно

5

5

66

ГОСТ Р 53556.2—2012

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

Фиксированная скорость 2.0 Кбит/с

Фиксированная скорость 4 Кбиг/с

KnaccV

Биты кодера источника

4

4

Контроль CRC

1

1

Кодовая скорость

8/8

8/8

Класс V совокупно

5

5

Класс VI

Биты кодере источника

20’*”

4

Контроль CRC

0

0

Кодовая скорость

8/8

8/8

Класс VI совокупно

20

5

Класс VII

Биты кодера источника

34”1

Контроль CRC

0

Кодовая скорость

8/8

Класс VII совокупно

34

Совокупность битов всех классов

140

248

Битовая скорость

3.5 Кбит/с

6.20 Кбит/с

(*1) 2 фрейма связаны

Класс I:

CRC охватывает все биты Класса I. Биты Клаоса I. включая циклический контроль избыточности CRC, защищены сверхточным кодироса чем.

Классы II—V (Z0 Кбит/с). II—VI (4 Кбит/с):

биты по крайней мере одного CRC охватъеаюг исходные биты кодера этих классов.

Класс VI (2.0 Кбит/с). VI (4 Кбит/с):

исходные биты кодере не проверяются CRC и не защищеш какой-либо схемой ислрэвлвтя ошибок.

Г.З Маскирование ошибок

Когда обнаружена ошибка CRC. выполняется процесс ыасамроеамня ошибок (маскировка плохого фрейма). Пример метода маскировки описан ниже.

Состояние маскирования текущего фрейма обновляется на базе результата декодироеажя СЯС Класса I. Диаграмма переходов состояния показана на рисунке Г.1. Начальное состояние — состояние = 0. Стрелка с символом «1» обозначает переход для плохого фрейма, и стрелка с символом «0» хороший фрейм.

Г.3.1 Замена параметра

Согласно значению состояния выполняется следующая замена параметров. При отсутствии ошибок эначо кме состояныя становится 0. и полу км «то исходные биты кодера ислогъэуются без какой-либо обработки масхм-роеанием.

Г.3.1.1 Параметры LSP

При состоя*» = 1…6 параметры LSP заменяются таковыьм из предыдущих.

Кощз состогмю = если LSP4 = 0 (режим квантования LSP без ыежфреймоеого предсказания), то параметры LSP вычисляются исходя из всех индексов LSP. полученных а текущем фрейме. Ест LSP4 = 1 (режим квантоватя LSP с межфреймоеым кодирооанюм). го параметры LSP вычисляются следующим методом.

В этом режиме параметры LSP от индекса LSP1 интерпотруются с предыдущими LSPs.

LSP^ (л) = р LSP^ (л) + (1 – p)LSP,„(n) для л«1..Ю

67

ГОСТ Р 53556.2—2012

LSP. |)((n1 является параметрам LSP базового урсо!Я. LSP(r9r (л) является предыдущим LSPs. LSPffjl (л) — декодированные LSPs от текущего индекса LSP1 и р — коэффнмент дотерполяшм- Р меняется согласно числу битов прешдущих ошибочных фреймов CRC Класса I. как показано е табгмце П2. кодексы LSP – – LSP2. LSP3 и LSP5 не испогъзуются. и LSPM##(o) используются как параметры текущего LSP.

Таблица Г2 — Фактор р

• р*йм

Р

0

0.7

1

0.6

2

0.5

3

0.4

4

0.3

5

0.2

6

0.1

*7

0.0

Г.3.1.2 Переменная отключения звука

Согласно значению “state'” (состояние), значение переменной ’mute’ (молча но) установлено для управления уровнем вывода речи.

Значение “mute” ислогъзуется мою.

В состоянии3 7 испогъзуется среднее чюло 1.0 и значения *mute” предыдущего фрейма (* 0.5 (1.0 + + предыдущее “значение mute”)), но когда это значение богъше 0.8. значение “mute“ заменяется на 0.8.

Таблица Г.З — Переменная mute (молчание)

Молчание

0

1.000

1

0.800

2

0.700

3

0.500

4

0.25000

5

0.125

6

0.000

7

Среднее/0.600

Г.3.1.3 Замена и управление усилением «речевых» параметров

В состоянии = 1..6, параметр спектра SE_stlape^. SE_shape2. параметр усиления SE оанп. параметр спектра для кодека на 4 Кбит/с SE_shape3. SE_shepeб заменены соотеетстеуюимми параметрам предыдущего фрейма. Кроме того, чтобы управлять громюстью вывода речи, параметры величины гармоник остаточного сигнала LPC. “Ат {0 … 127]“ управляются по усилен*», как показано в (Г.1). В этом уравнении Алт^^ [/] вычисляется исходя из принятых параметров спектра последнего фрейма, свободного от ошибок

Am(i} = mute ’ Amlvg) ft] для/ = О..127 (Г.1)

Если предыдущий фрейм является неречевым и текущее состояние =7. (Г.1) заменяется (Г.2).

Amf) = 0.6 ’mute * Алт , [i] для г*О..127 <Г2)

Как огмсано ранее. S£_sftapel и SE_shape2 индивидуально защищены СЯС на 1 бит. В состоянии = О или 7. когда ошибки СЯС этих классов обнаружены а то же самое время, квантованные величины гармонюс с фиксированной размерностью Amgn( [1..44] подавляются по усиленно, как показано в (Г.З).

^”W’l = *£/’*’”**<*9>W Для » = 1..44. (Г.З)

где s(f] — коэффициент для подавления усиления.

68

ГОСТ Р 53556.2—2012

Таблица Г.4 — Коэффициент для подаалеютя усиления’s {0..44J”

i

1

2

3

4

5

6

7….44

0.10

0.25

0.40

0.55

0.70

0.85

1.00

При 4 Кбит/с SE_shap&4. S£_shape5. и S£_shapeS проверяется по СЯС как биты Класса II. Когда обнаружена ошибка CRC. параметр спектра уровня рэсимрения не испогъзуется.

Г.3.1.4 Замена и управление усилением «неречевых» параметров

В состоянии = 1.. 6. стохэстичеаме параметры усиления мки шифров УХ_дак?1[0]. VX_рагл1[1] заменяются на VX_ga«r>1(1I из последнего фрейма, свободного от ошибок. Также стохэстичесте параметры усиления пим шифров для кодека на 4 Кбит/с VX_gair2\0\.. VX qa/n2f31 заменяются на VX_gain2fi] из последнего фрейма, свободного от ошибок.

Стохэстичесте параметры формы книги шифров \OC_s/tape1[0]. УХ_зЛаре1[1{. и стохэстичеоом параметр формы книт шифров кодека на 4 Кбмт/с генерируются, исходя из случайно сгенерированных значемы ждекса.

Кроме того, чтобы управлять громкостью речевого выхода, остаточшм сигнал LPC resfO … 159] управляется по усиленюо. как показано а (Г.4). В этом уравнении r&s/<t9i [i] оымсляется. исходя из стохастических параметров омги шифров.

r9sfi]-mute resorfp’] (0 Si£159). (Г.4)

Г.3.1.5 Переходы состояния маскирования фрейма

69

ГОСТ Р 53556.2—2012

УДК 621.396:006.354 ОКС 33.170

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

Редактор Е. В. Baxpyweea Технический редактор В. Н. Прусакова Корректор Л. Я. Митрофанова Компьютерная верстка А П. Финогеновой

Сдано в набор 14.11.2013 Подписано • печать 17.02.2014. Формат 60 x 84 \’t. Бумага офсетная Печать офсетная Уел. печ а. 8.37. Уч.-иад. л. 7.80 Тирах S6 эха За* 1482

Гарнитура Ариал.

•ГУП « СТЛНДАРТИ Н#ОРМ •. 123005 Мосяха. Гранатный пер . 4 lu info^postinfo.nt

Набрано и отпечатано а Калужской типографии стандартов. 24802т Калуга, уя Московская. 258

Николай Иванов

Эксперт по стандартизации и метрологии! Разрешительная и нормативная документация.

Оцените автора
Все-ГОСТЫ РУ
Добавить комментарий