68
intensity stereo.
- Определения
- Элементы данных
hcodsf [] Кодовая комбинация Хаффмана из таблицы Хаффмана, используемая для кодирования масштабных коэффициентов (см. 7.2).
- Элементы справки
- Процесс декодирования
Использование кодирования intensity stereo сигнализируется при помощи псевдокодовых книг INTENSITY_HCB и INTENSITYHCB2 (15 и 14) в правом канале channel_pair_element (), имеющем общий ics_info () (common_window == 1). INTENSITY HCB и INTENSITY_HCB2 сигнализируют синфазное и несовпадающее по фазе кодирование intensity stereo соответственно.
Кроме того, фазовое соотношение кодирования intensity stereo может быть реверсировано посредством поля ms_used: поскольку кодирование M/S stereo и кодирование intensity stereo являются взаимоисключающими для определенной полосы масштабных коэффициентов и группы, основное фазовое соотношение, обозначенное таблицами Хаффмана, изменяется от синфазного до несовпадающего по фазе или наоборот, если соответствующий бит ms_used устанавливается для соответствующей полосы.
Информация для декодирования intensity stereo представлена "позицией intensity stereo", указывающей на соотношение между масштабированием левого и правого каналов. Если кодирование intensity stereo является активным для определенной группы и полосы масштабных коэффициентов, значение позиции intensity stereo передается вместо масштабного коэффициента правого канала.
Позиции интенсивности кодируются точно так же, как масштабные коэффициенты, т. е. с помощью кодирования методом Хаффмана разностных значений, за исключением двух отличий:
нет первого значения, которое передается как ИКМ. Вместо этого следует дифференциальное декодирование, предполагая, что последнее значение позиции intensity stereo равно нулю;
дифференциальное декодирование выполняется отдельно для масштабных коэффициентов и позиций intensity stereo. Другими словами, декодер масштабных коэффициентов игнорирует значения позиции intensity stereo и наоборот (см. 9.3.2).
Одна и та же кодовая книга используется для кодирования позиций intensity stereo и масштабных коэффициентов. Две псевдофункции определены для использования в декодировании intensity stereo:
function is_intensity (group, sfb) {
+ 1 для оконных групп/полос масштабных коэффициентов с кодовой книгой правого канала sfb_cb [group] [sfb] == INTENSITY_HCB
- 1 для оконных групп / полос масштабных коэффициентов с кодовой книгой правого канала sfb_cb [group] [sfb] == INTENSITY_HCB2
0 else
}
function invert_intensity (group, sfb) {
1-2*ms_used [group] [sfb],if (ms_mask_present == 1)
+1 else
}