Статус документа
Статус документа

ГОСТ Р 53556.4-2013 Звуковое вещание цифровое. Кодирование сигналов звукового вещания с сокращением избыточности для передачи по цифровым каналам связи. Часть III (MPEG-4 AUDIO). Основные методы кодирования звуковых сигналов (GA): усовершенствованное звуковое кодирование (AAC), взвешивающее векторное квантование (TwinVQ), побитовое арифметическое кодирование (BSAC)

     4.1 Конфигурация декодера  (GASpecificConfig)*

______________

* Слова GASpecificConfig в наименовании пункта 4.1 в бумажном оригинале выделены курсивом. - Примечание изготовителя базы данных.


Таблица 1 - Синтаксис GASpecificConfig ()

Синтаксис

Количество битов

Мнемоника

GASpecificConfig (samplingFrequencyIndex, channelConfiguration, audioObjectType)

{

1

bslbf

frameLengthFlag; dependsOnCoreCoder;
if (dependsOnCoreCoder) {

coreCoderDelay;
}

1

bslbf

extensionFlag;

14

uimsbf

if (! channelConfiguration) {
program_config_element ();
}
if ((audioObjectType == 6) || (audioObjectType == 20)) {
layerNr;
}
if (extensionFlag) {

1

bslbf

if (audioObjectType == 22) {
numOfSubFrame;
layer_length;

3

uimsbf

}

5

bslbf

if (audioObjectType == 17 || audioObjectType == 19 ||
audioObjectType ==20 || audioObjectType == 23) {
aacSectionDataResilienceFlag;
aacScalefactorDataResilienceFlag;
aacSpectralDataResilienceFlag;

11

bslbf

}

1

bslbf

extensionFlag3;

1

bslbf

if (extensionFlag3) {

1

bslbf

/* tbd in version 3 * /
}
}
}

1

bslbf

          

    4.1.1 Элемент конфигурации программы



Таблица 2 - Синтаксис program_config_element()

Синтаксис

Количество битов

Мнемоника

program_config_element()
{

element_instance_tag;

4

uimsbf

object_type;

2

uimsbf

sampling_frequency_index;

4

uimsbf

num_front_channel_elements;

4

uimsbf

num_side_channel_elements;

4

uimsbf

num_back_channel_elements;

4

uimsbf

num_lfe_channel_elements;

2

uimsbf

num_assoc_data_elements;

3

uimsbf

num_valid_cc_elements;

4

uimsbf

mono_mixdown_present;
if (mono_mixdown_present == 1)

1

uimsbf

mono_mixdown_element_number;

4

uimsbf

stereo_mixdown_present;
if (stereo_mixdown_present == 1)

1

uimsbf

stereo_mixdown_element_number;

4

uimsbf

matrix_mixdown_idx_present;
if (matrix_mixdown_idx_present == 1) {

1

uimsbf

matrix_mixdown_idx;

2

uimsbf

pseudo_surround_enable;
}
for (i = 0; i < num_front_channel_elements; i++) {

1

uimsbf

front_element_is_cpe[i];

1

bslbf

front_element_tag_select[i];
}
for (i = 0; i < num_front_channel_el
ements; i++) {

4

uimsbf

side_element_is_cpe[i];

1

bslbf

side_element_tag_select[i];
}
for (i = 0; i < num_back_channel_elements; i++) {

4

uimsbf

back_element_is_cpe[i];

1

bslbf

back_element_tag_select[i];
}
for (i = 0; i < num_lfe_channel_elements; i++)

4

uimsbf

lfe_element_tag_select[i];

4

uimsbf

for (i = 0; i < num_assoc_data_elements; i++)

4

uimsbf

assoc_data_element_tag_select[i];

1

uimsbf

for (i = 0; i < num_valid_cc_elements; i++) {
cc_element_is_ind_sw[i];

4

uimsbf

valid_cc_element_tag_select[i]; }

8

Примечание
uimsbf

byte_alignment();
comment_field_bytes;
for (i = 0; i < comment_field_bytes; i++)
comment_field_data[i]; }

8

uimsbf

Примечание - Если вызов поступил из AudioSpecificConfig (), этот byte_alignment должен относиться к запуску AudioSpecificConfig ().