ГОСТ Р 53556.12-2014
ные символы вне точки усечения, используя свойства арифметического кодирования.
5.5.2.2 Процесс декодирования
ВРСС/СВАС
Процесс декодирован»!
BPGC
или декодирования
СВАС
выполняется на полосах мас
штабного коэффициента, для которых
laz\_bp>
0. Процесс декодирования разрядной матрицы
ВРСС/СВАС
используется, чтобы декодировать символы разрядной матрицы для восстановле
ния целочисленных спектральных данных остатка
res.
Процесс декодирования разрядной мат
рицы стартует с
тах_Ьр
для каждого
sfb
и постепенно продолжается с нижними разрядными
матрицами. Для начала разрядная матрица
NUM_BP
сканирует символы разрядной матрицы,
которые являются арифметически декодированными, как иллюстрировано в следующем псев
докоде:
Л
preparing the help element */
for (g=0;g<num_window_groups;g++){
for (sfb - 0:sfb<num_sjb;sfb++){
width =swb_offset[g}{sfb
+1
J - swb_offset}g]ls}b]:
/
for (win = 0:win <windo\v_group_lenlgJ;win++)
/
for (bin
=0;
bin<width:bin++)/
is_sig(gjfwin][ф Ц bin] =
(quant[gjfsfb](win]{bin])&<&/bandjype}g][sfl>
==
ImplicitBand)?\:
0;
/* sign will be determined implicitly if is_sig
== 1
*/
amplg][win}lsfb}}bin]
= 0;
signfg}}win][sfb]}bin]
= 1;
/
/
cur_bp[g}fsfb}
=
max_bplg]
/
sfb};
}
}
/*
BPGC/CBAC decoding */
while ((maxjbplgjlsfbJ - cur_bp[g]fsfb]<NUM_BP)
<£<£
(cur_hpfg][sfb]
>= 0
))(
for (g=0:g<num_window_groups:g++)(
for (sfb = Q:xfb<num_sfb:sjb++){
if((cur bplg](sfl)]>=Q)&& flazyjbpf,g]}sfb] > 0))}
width =swb_offsetlg]fsfb
+ 1/ -
swb_offset]g]]sfb]:
16