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

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

    6.8 Объединенное кодирование

     

6.8.1 Стерео М/С

6.8.1.1 Описание инструмента

Объединенное кодирование каналов M/S действует на парах каналов. Каналы чаще всего спариваются так, что у них есть симметричное представление относительно слушателя, такое как левый/правый или левое окружение/правое окружение. Первый канал в паре обозначается как "левый", а второй как "правый". На основе спектрального коэффициента вектор, сформированный сигналами левого и правого каналов, восстанавливается или де-матрицируется либо матрицей идентичности

,


или инверсной матрицей M/S

.


Решение, какую матрицу использовать, принимается по полосе масштабного коэффициента на основе полосы масштабного коэффициента, как обозначено флагами ms_used. Для аудиообъектных типов ААС Main, LC, SSR и LTP кодирование соединения каналов M/S может использоваться только, если common_window равен '1'. Для масштабируемого аудио объектного типа ААС всегда используются общие окна между этими двумя звуковыми каналами, так что кодирование M/S всегда бывает возможно.

6.8.1.2 Определения

ms_mask_present

Это двухбитовое поле указывает, что маска МС имеет вид:
00 - все нули;
01 - маска max_sfb полос ms_used следует за этим полем;
10 - все единицы;
11 - зарезервировано.

ms_used [g] [sfb]

Однобитовый флаг на полосу масштабного коэффициента, указывающий, что кодирование M/S используется в группе окон g и полосе масштабного коэффициента sfb.

I_spec []

Массив, содержащий спектр левого канала соответствующей пары каналов.

r_spec []

Массив, содержащий спектр правого канала соответствующей пары каналов.

is_intensity (g, sfb)

Функция, возвращающая состояние интенсивности.

is_noise (g, sfb)

Функция, возвращающая состояние шумовой замены.

     

6.8.1.3 Процесс декодирования

Восстанавливает спектральные коэффициенты первого ("левого") и второго ("правого") каналов, как определено флагами ms_mask_present и ms_used [] [] следующим образом:

if (ms_mask_present> = 1) {

for (g = 0; g <num_window_groups; g ++) {

for (b = 0; b <window_group_length [g]; b ++) {

for (sfb = 0; sfb <max_sfb; sfb ++) {

if ((ms_used [g] [sfb] || ms_mask_present == 2) &&

! is_intensity (g, sfb) &&! is_noise (g, sfb)) {

for (i = 0; i <swb_offset [sfb+1]-swb_offset [sfb]; i ++) {

tmp = l_spec [g] [b] [sfb] [i] - r_spec [g] [b] [sfb] [i];

i_spec [g] [b] [sfb] [i] = i_spec [g] [b] [sfb] [i] +

r_spec [g] [b] [sfb] [i];

r_spec [g] [b] [sfb] [i] = tmp;}

}