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

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

     4.2 Полезные нагрузки потока битов GA

     

4.2.1 Полезные нагрузки для аудио объекта типа основное  ААС, ААС SSR, LC ААС и ААС LTP

      


Таблица 3 - Синтаксис высокоуровневой полезной нагрузки для аудио объектов типов основное ААС, SSR, LC и LTP (raw_data_block())

Синтаксис

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

Мнемоника

raw_data_block()
{
while((id = id_syn_ele) != ID_END){
switch (id) {
case ID_SCE: single_channel_element();
break;
case ID_CPE: channel_pair_element();
break;
case ID_CCE: coupling_channel_element();
break;
case ID_LFE: lfe_channel_element();
break;
case ID_DSE: data_stream_element();
break;
case ID_PCE: program_config_element();
break;
case ID_FIL: fill_element();
}
}
byte_alignment();
}

3

uimsbf



Таблица 4 - Синтаксис single_channel_element ()

Синтаксис

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

Мнемоника

single_channel_element()
{
element_instance_tag;
individual_channel_
stream(0,0);
}

4

uimsbf



Таблица 5 - Синтаксис channel_pair_element ()

Синтаксис

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

Мнемоника

channel_pair_element()
{

element_instance_tag;

4

uimsbf

common_window;
if (common_window) {
ics_info();

1

uimsbf

ms_mask_present;
if (ms_mask_present == 1) {
for (g = 0; g < num_window_groups; g++) {
for (sfb = 0; sfb < max_sfb; sfb++) {

2

uimsbf

ms_used[g][sfb];
}
}
}
} individual_channel_stream(common_window,0);
individual_channel_stream(common_window,0);}

1

uimsbf



Таблица 6 - Синтаксис ics_info ()

Синтаксис

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

Мнемоника

ics_info ()

ics_reserved_bit;

1

bslbf

window_sequence;
window_shape;

2

uimsbf

if (window_sequence == EIGHT_SHORT_SEQUENCE) {

1

uimsbf

max_sfb;

4

uimsbf

scale_factor_grouping;
}

7

uimsbf

max_sfb;

6

uimsbf

predictor_data_present;
if (predictor_data_present) {

1

uimsbf

predictor_reset;
if (predictor_reset) {

1

uimsbf

predictor_reset_group_number;
}     
for (sfb = 0; sfb < min (max_sfb,
PRED_SFB_MAX); sfb++) {

5

uimsbf

prediction_used[sfb];
}
}

1

uimsbf

ltp_data_present;
if (ltp_data_present) {
ltp_data();

1

uimsbf

ltp_data_present;
if (ltp_data_present) {
ltp_data();
}
}
}
}
}
}

1

uimsbf



Таблица 7 - Синтаксис pulse_data ()

Синтаксис

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

Мнемоника

pulse_data() {

number_pulse;

2

uimsbf

pulse_start_sfb;
for (i = 0; i < number_pulse+1; i++) {

6

uimsbf

pulse_offset[i];

5

uimsbf

pulse amp[i];
}

4

uimsbf



Таблица 8 - Синтаксис coupling_channel_element ()

Синтаксис

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

Мнемоника

coupling_channel_element()
{

element_instance_tag;

4

uimsbf

ind_sw_cce_flag;

1

uimsbf

num_coupled_elements;
num_gain_element_lists = 0;
for (с = 0; с < num_coupled_elements+1; с++) {
num_gain_element_lists++;

3

uimsbf

cc_target_is_cpe[c];

1

uimsbf

cc_target_tag_select[c];
if (cc_target_is_cpe[c]) {

4

uimsbf

cc_l[c];

1

uimsbf

cc_r[c];
if(cc_l[c] && cc_r[c])
num_gain_element_lists++;
}
}

1

uimsbf

cc_domain;

1

uimsbf

gain_element_sign;

1

uimsbf

gain_element_scale;
individual_channel_stream(0,0);
for (c=1; c<num_gain_element_lists; с++) {
if (ind_sw_cce_flag) {
cge = 1;
} else {

2

uimsbf

common_gain_element_present[c];
cge = common_gain_element_present[c];
}
if (cge)

1

uimsbf

hcod_sf[common_gain_element[c]];
else {
for (g = 0; g < num_window_groups; g++) { for
for (sfb = 0; sfb<max_sfb; sfb++) {
if (sfb_cb[g][sfb] != ZERO_HCB)

1...19

Viclbf

hcod_sf[dpcm_gain_element[c][g][sfb]];
}
}
}

}
}

1...19

Viclbf



Таблица 9 - Синтаксис lfe_channel_element ()