ГОСТ Р 54713—2011
10.2 Intensity stereo
10.2.1 Описание инструмента
Этот инструмент используется, чтобы реализовать кодирования intensity stereo пары каналов. Оба
выходных канала получаются из одного набора спектральных коэффициентов после обратного процесса
квантования. Это выполняется выборочно на основе полос масштабных коэффициентов при активном
intensity stereo.
10.2.2 Определения
10.2.2.1 Элементы данных
hcod_sf[] Кодовая комбинация Хаффмана изтаблицы Хаффмана, используемая для кодирования масш
табных коэффициентов (см. 7.2).
10.2.2.2 Элементы справки
dpcm
_
is
_
position |] []
Дифференциально-кодированная позиция intensity stereo
is
_
position [group] [sfb]
Позиция
intensity stereo
для каждой группы и полосы масштабных коэффи
циентов
l
_
spec []
Массив, содержащий спектр левого канала соответствующей пары канала
r
_
spec []
Массив, содержащий спектр левого канала соответствующей пары канала
10.2.3 Процесс декодирования
Использование кодирования intensity stereo сигнализируется при помощи псевдокодовых книг
INTENSITY_HCB и INTENSITY_HCB2 (15 и 14) в правом канале channel_pair_element (), имеющем общий
icsjnfo () (common_window == 1). INTENSITY_HCB и INTENSITY_HCB2 сигнализируют синфазное и
несов падающее по фазе кодирование intensitystereo соответственно.
Кроме того, фазовое соотношение кодирования intensitystereo может быть реверсировано посред
ством поля ms_used. поскольку кодирование MISstereo и кодирование intensitystereo являются взаимоис
ключающими для определенной полосы масштабных коэффициентов и группы, основное фазовое соотно
шение. обозначенное таблицами Хаффмана, изменяется от синфазногодо несовпадающего по фазе или
наоборот, если соответствующий бит ms_used устанавливаетсядля соответствующей полосы.
Информация для декодирования intensitystereo представлена "позицией intensitystereo’. указываю
щей на соотношение между масштабированием левого и правого каналов. Если кодирование intensity
stereoявляется активнымдля определенной группы и полосы масштабных коэффициентов, значение пози
ции intensitystereo передается вместо масштабного коэффициента правого канала.
Позиции интенсивности кодируются точно так же. как масштабные коэффициенты, т. е. с помощью
кодирования методом Хаффмана разностных значений, за исключениемдвух отличий:
нет первого значения, которое передается как ИКМ. Вместо этого следует дифференциальное деко
дирование, предполагая, что последнее значение позиции intensity stereo равно нулю;
дифференциальноедекодирование выполняется отдельнодля масштабных коэффициентов и пози
ций intensitystereo. Другими словами, декодер масштабных коэффициентов игнорирует значения позиции
intensity stereo и наоборот (см. 9.3.2).
Одна и та же кодовая книга используется для кодирования позиций intensity stereo и масштабных
коэффициентов. Две псевдофункции определеныдля использования вдекодировании intensitystereo,
function is_intensity (group, sfb) {
* 1для оконных групп/полос масштабных коэффициентов с кодовой книгой правого канала
sfb_cb [group] [sfb] == INTENSITY_HCB
-1 для оконных групп / полос масштабных коэффициентов с кодовой книгой правого канала
sfb_cb [group] [sfb] == INTENSITY_HCB2
0 else
}
function invertjntensity (group, sfb) {
1-2’ms_used [group] [sfb],if (ms_mask_present == 1)
+1else
}
63