ГОСТР 54713—2011
целью, как предполагается, равны 0, т. е. спаренный канал добавляется к спаренному целевому каналу с
его масштабированием. Иначе спектральные коэффициенты масштабируются и добавляются к коэффи
циентам спаренных целевых каналов, используя соответствующий список значений gain_element.
Независимо коммутируемый ССЕдекодируется как зависимо коммутируемый ССЕ. имеющий только
элементы common_gain_eloment. Однако получающийся масштабированный спектр преобразовывается
обратно к его временному представлению и затем спаривается.
Следует учесть, что списки gain_elemcnt могут быть совместно использованы левым и правым кана
лами долевого элемента пары каналов. Это сигнализируется нулевыми сс_/ и сс_г. как обозначено в
таблице 60.
Т а б л и ц а 60 — Совместное использование списков
gaineiem enl
e c j.
Общий список усиления
ce r
представлен
Л
евый список усиления
представлен
Правый список усиления
представлен
0.0да
0. 1
нет
1,0
нет
1. 1
нет
нет
нет
да
да
нет
да
нет
да
decode_coup!ing_channel О
{
-декодирует спектральные коэффициентывстроенногоsingle_channel_element в буфер
«cc_spectrum []».
Г Объединение спектральных коэффициентов по целевым каналам 7
listjndex - 0:
for (с = 0; с <num_coupled_elements+1; с ++> {
if (! cc_targot_is_cpo [с]) {
couplo_channel (cc_spectmm. spectrum_m (ccjargetJag_select [с]. cc_domain). listjndex ++):
}
if (ccjargetjs_cpe [cj) {
if (! c c j [c] &&! cc_r [c]) {
couple_channel (cc_spectrum,spectrumj (ccjargetjag_select [с]. cc_domain). listjndex);
couple_channel (cc_spectrum. spectrum г (ccjarget tog_select[с]. cc_domain). listjndex ++):
}
if (c c j[c j) {
couple_channel (cc_spectrum.
spectrumJ (ccjargetjag_se!ect [c). cc_domain). listjndex ++)):
if (cc_r [c]) {
couple_channel (cc_spectrum, spectrum_r (ccjargetJag_select [cj. cc_domain). listjndex ++));
couple_channel (sourco_spectmm []. dest_spectrum []. gainjistjndex)
{
idx = gainjistjndex;
a = 0;
cc_scale = cc_scalejable [gain_element_scatej;
for (g = 0; g <num_window_groups: g + +){
Г Декодировать спаренные элементы усиления для этой группы 7
if (common_gain_eloment_present[idx]) {
for (sfb = 0; sfb <max_sfb; sfb ++) {
cc_sign pdx] [g] [sfb] = 1;
gain_element [idx][g] [sfb] = common_gain_element [idx]:}
else {
for (sfb = 0; sfb <max_sfb. sfb +*) {
if (sfb_cb [g] [sfb] == ZERO_HCB)
continue;
66