ГОСТ Р 53556.11—2014
6.6.2.4 Кодирование остаточных LSB и концевых частей
LSB и концевые части передаются способом чередования (то есть, если msb р)! = tail_code. пере
даем Isb р], иначе tail [i]) для всех остатков в подблоке.
LSB передаются непосредственно, используя к битов, в то время как концевые части кодируются,
используя коды Райса с параметром s. как описано в 6.6.1.
6.7 Объединенное кодирование пар каналов
Объединенное кодирование пар каналов идентично объединенному кодированию стереопары.
Таким образом, используем термины «левый канал» и «правый канал», чтобы сослаться на два канала
любой пары каналов, независимо от того, переносит ли она подлинный сигнал стерео или два других
канала многоканального сигнала.
Когда декодируемый блок, который обычно представлял левый канал {L) или правый канал (R),
содержит разностный сигнал объединенного стерео (D = R -L . обозначенныйjs_block), исходные дан
ные каналадолжны быть явно восстановлены. Если первый канал содержит разностный сигнал, левый
канал был заменен и может быть восстановлен, используя L = R -D для всех выборок этого блока. Если
второй канал содержит разностный сигнал, правый канал был заменен, и восстанавливается, исполь зуя
R = D * L для всех выборок. Если bk>ck_switching включено, это относится к любой паре синхрони
зируемых блоков пары каналов, то есть любой блок может содержать разностный сигнал или исходный
сигнал канала. Сточки зрения прогноза разностные сигналы обрабатываются как нормальные сигналы.
Если фильтр прогноза использует выборки из предыдущего блока, то они должны быть разностными
значениями тех же самых двух каналов в этом предыдущем блоке. То же самое применяется к инверс
ному фильтру прогноза декодера.
6.8 Многоканальное кодирование (МСС)
Многоканальное кодирование использует адаптивно взвешенное межканальное вычитание, что
бы далее уменьшить амплитуды остатков прогноза.
6.8.1 Декодирование и восстановление одиночных каналов
Наборы информации о межканальной зависимости, включая master_channel_index. woighting_
factors time_difference_flag, декодируются для каждого канала. Числами итераций управляет stopjlag.
Кроме того имеется битjs^switch, который активирует простое кодирование входных сигналов объеди
ненного стерео вместо многоканального кодирования остаточных сигналов прогноза LPC. даже когда
используется режим межканальной корреляции.
Если флаг time_differonce_fiag является нулем, выполняется синфазное взвешенное дополнение
с тремя ответвлениями, как показано в следующем псевдокоде.
IN7K4 и.
for(smpl=1; smp/<W-1; smpl++)
{
и = (INT84)MCCgain[0)’d_masterchannel[smpl-’\]
+(INT64)MCCgain[’\]’d_masterchannel[smpl]
+(INT64)MCCgain[2)’d_masterchannGl(smpl+’\];
d[smpl) += (long) ((u+64)»7);
}
d: целое число для остаточного сигнала
MCCgain: величина усиления y(i)*128
Если time_differenco_flag равен единице, выполняется взвешенное дополнение с шестью
ответвлениями с декодированным параметром временного различия TDL. как показано в следующем
псевдокоде.
INT&4 и.
if(TDL>0) {ss=1: se=N-TDL-’\:}
else {ss~TDL+‘\: se=N-A;)
for(smpl=ss: smpkse: smpl++)
{
и = (INT64)MCCgam[0)’d_masterchannel[smpl^)
♦ (INT64)MCCgain[1)‘d_masterchannel[smpl)
56