ГОСТ Р 53556.7—2013
previousTmaxEnh
prevtousR_alkEnb
previousR_decEnh
previousAmplEnh[k]
previousFreqEnh[k]
previousPhaseEnh[k]
Улучшенный параметр огибающей l_max в предыдущем фрейме.
Улучшенный параметрогибающей r_atkв предыдущем фрейме.
Улучшенный параметрогибающей r__deс в предыдущемфрейме.
Улучшенная амплитуда /с-йлинии8 предыдущем фрейме.
Улучшенная частотак-й линии в предыдущем фрейме. Гц.
Фаза к-йлинии в предыдущем фрейме (в радианах).
5.1.4.3 Процесс синтеза
5.1.4.3.1 Комбинация гармонических и отдельных линий
Для синтеза гармонических линий используется тот же самый метод синтеза, что идля отдельных
линий.
Если никакая гармоническая составляющая недекодируетсядля следующих шагов. numHarmLine
должен быть обнулен.
Иначе параметры гармонических линий добавляются к списку параметров отдельных линий как
декодируемые декодером отдельных линий:
for (i=0: / <numHarmLine: i +*) {
freq [питLine+i) = hLineFreq [i];
amp! [numLine+i] = hLineAmpI [i],
if (harmContFlag && provNumLine+i <proviousTota!NumLino) {
HneContFlag [numLine+i) = 1:
linePred [numUne+i] =prevNumLine+i;
}
else
HneContFlag [numLine+IJ = 0:
UneEnvFlag [numLino+i] = harmEnvFlag:
startPhase [numUne+i] = hStartPhase [),
startPhaseAvai![numLino+i] = hStartPhaseAvail[ij:
}
Таким образом, общее количество параметров пиний, поступивших на синтезатор гармонических
и отдельных линий равно:
totalNumLine = numLine + numHarmLine.
В зависимости от значения HILNcontMode возможно соединить линии в смежных фреймах, чтобы
избежать разрывов фазы в случае переходов с гармонических линий (HILNcontMode == 0) или допол
нительно с отдельных линий на отдельные линии, для которых бит продолжения HneContFlag в потоке
битов не был установлен кодером (HILNcontMode == 1). Это дополнительное продолжение линии также
может быть полностью отключено (HILNcontMode == 2).
Для каждой линии /’= 0.. totalNumLine-1текущего фрейма, у которой нет никакого предшественни
ка (то есть HneContFlag [i] == 0). линия оптимальной подгонкиупредыдущего фрейма, не имеющая пре
емника и с комбинацией, удовлетворяющей требованиям, определенным HILNcontMode определяется,
максимизируя следующую меру д:
df = freq pj/ previousFreq [j[;
df = max (df. ]/df):
da = amp! p] / proviousAmpI [Ц:
da = max (da. 1/da):
q = (1 - (df-1) / (dfContA)) * (1 - (daA) / (daContA)).
где dfCont = 1,05 и daCont = 4 являются максимальными разрешенными относительными изменениями
частоты и амплитуды. Если имеется больше одного кандидата в предшественники, достигающего мак
симума q. то выбирается кандидат с самым маленьким индексом Для дополнительных продолжений
линии, определенных таким образом, информация о предшественнике строки обновляется:
38