ГОСТ Р 53556.12-2014
т
= 0;
while (read_bits( l)
== 0; m++;
if О») {
if (read_bits(\)) m -
-
m;
}
max_bp[gj[sfb]
=
mO
-
ni;
I
mO
=
max_bp[gj[sfbl:
I
if(max_bplgilsfb]
>=0J
(
if (read_bits(l)==0)
tazy_bplg][sfbj = max_bplg][sjb} - 2:
else {
if (rcad_bits(l)= =0)lazyjbplgjlsfb] = max_bplg][sfbj ■
1;
else tazy_bplgJls/1>J
=
max_bp[g][sfb]
- 3;
/
}
}
Для
Implicit_Bands, maxjbp
[,<?]
[sfb
] вычисляется из порогов квантования квантователя ба
зового уровня следующим образом:
Как первый шаг может быть вычислена максимальная разрядная матрица
М
для каждого
спектрального бункера остатка для существенных полос масштабного коэффициента с помо
щью
M[g][win
]] - /Л/Г|1°дг[
intep/aJ[g]\wm]\sfb
][£wi]J}.
где
interval
|#1 [и7л]
[sfb] [bin]
является интервалом квантования, который дается как:
interval[g][win][sfb][bin] = thr(guant[g][win][sfb][bin] +thr(guanl[g]\\vin][sfb][bin] + \).
Здесь
thr (х)
и
inv_quant
(л) являются соответственно детерминированным порогом кван
тования и соответствующим детерминированным инверсным квантованием для квантователя
ААС.
Они вычисляются в следующем псевдокоде:
/f(x==0)
thr(x)=0;
else
thr(x) = (thrMantissa(\ x
1-1,
scale res))« (12+ scale int);
inv_quatu(x)
=
(invQuantMantissa(\x, scale_res)) «
(12+
scale_int);
где
scaleJnt = DIV(scaleA)
13