ГОСТ Р 54713—2011
6.3.2.2 Декодирование indrvidual_channel_stream ()
В individual_channel_stream используется следующий порядокдекодирования:
- получить global_gain:
- получить icsjnfo () (искать в потоке битов, если общая информация не присутствует).
- получить section_data ():
- получить scalefactor_data (). если есть;
- получить pulse_data (), если есть:
- получить tns_data (). если есть;
- получитьgain_control_data (), если есть;
- получить spectral_data (). если есть.
Процесс восстановления pulse_data описан в разделе 7, tns_data — в разделе 12. gain_controlдан
ных — в разделе 14. Краткий обзор декодирования ics_info() (см. 6.3). данных раздела 7, масштабных
коэффициентов (разделы 7 и 9) и спектральныхданных (раздел 7) дается ниже.
6.3.2.3 Восстановление icsjnfo ()
Для элементов single_channel_olement () icsjnfo () всегда располагается непосредственно после
global_gain в inidividual_channet_stream (). Для channeljpair_e!ement() есть два возможных расположения
icsjnfo (). Если оба отдельных канала в парном окне переключаются вместе, то icsjnfo () располагается
непосредственно после common_windo*vв channel_pair_element() и common_window устанавливается в 1.
Иначе icsjnfo () присутствует сразу после global_gain в каждом из двух individualchannel_slream () в
channel_pair_element(), и common_v/indow устанавливается в 0.
icsjnfo () содержит информацию об окне, связанную с ICS. и таким образом позволяет каналам в
channel_pair переключаться при необходимости независимо. Кроме того, icsjnfo () содержит max_sfb. ко
торый определяет верхнюю границу количества ms_used Qи predictor_used Qбит. которые должны быть
переданы. Если v/indow_sequence является EIGHT_SHORT_SEQUENCE. то scale_factor^дго иpinд переда
ется. Если ряд коротких окон образует группу, то они совместно используют масштабные коэффициенты,
так же как и позиции intensity stereo и их спектральные коэффициенты чередуются. Первое короткое окно
всегда является новой группой, таким образом, группировка битов не передается. Последующие короткие
окна находятся в той же самой группе, если соответствующий бит группировки равен 1. Новая группа
начинается, если соответствующий бит группировки равен 0. Предполагается, что сгруппированные корот
кие окна обладают подобной сигнальной статистикой. Следовательно, ихспектральные значения череду
ются для размещения коррелированных коэффициентов друг с другом. Способ чередования показан на
рисунке 6. icsjnfo () также содержит данные предсказания для отдельного канала или пары каналов (см.
раздел 11).
6.3.2.4 Восстановлениеданных разделения
В ICS восстанавливается информация об одном длинном окне или восьми коротких окнах. Данные
разделения являются первым полем, котороедолжно быть декодировано и описывают коды Хаффмана,
которые применяются к полосам масштабных коэффициентов в ICS (см. разделы 7 и 9). Форма данных
разделения; sect_cb кодовая книга для раздела и sectJen длина раздела.
Этадлина восстанавливается путем последовательного считывания разделов из потока битов, сдо
бавлением символа escape к разделу, до тех пор. пока значение, отличное от escape не будет найдено и
добавлено к разделу. Этот процесс ясно объясняется при использовании С-подобного описания синтакси
са. Следует учесть, что в пределах каждой группы разделы должны формировать полосы масштабных
коэффициентов от нуля до max_sfb так, чтобы первый раздел в пределах каждой группы начинался с
нулевой полосы, а последний раздел заканчивался на полосе max_sfb.
Данные разделения описывают кодовую книгу и затем длину раздела, использующего эту кодовую
книгу, начинающегося с первой полосы масштабных коэффициентов и продолжающегося, пока не будет
достигнуто полное количество полос масштабных коэффициентов.
После того, как это описание предоставлено, все масштабные коэффициенты и спектральные дан
ные. соответствующие нулевой кодовой книге, обнуляются, и значения, соответствующие этим масштаб
ным коэффициентам или спектральным данным, не будут переданы. Масштабные коэффициенты любых
полос масштабных коэффициентов, кодовая книга Хаффмана которых является нулем, будут отброшены.
Точно так же, все спектральные данные, относящиеся к нулевой кодовой книге Хаффмана,
исключаются (см. разделы 7 и 9).
Кроме того, спектральные данные, относящиеся к полосам масштабных коэффициентов, у которых
есть сборник интенсивиостных кодов, не будут переданы, однако управляющие интенсивностные коэффи
циенты будут переданы вместо масштабных коэффициентов, как описано в 10.2.
33