ГОСТ Р 53556.10—2014
DST_X_Bit = Е[0/.
Р [0] = Р (DST_X_Bit).
Ej[n] = E[C п + i].
P [C .n +i]*Pj[n].
Р (DST_X_Bit) должно быть взято из Сое/(0][0]) следующим образом. Если Сое/[0][0] =
%cgC7C6C5C4C3C2Ci
cq
.
то
Р (DST_X_Bits) должно быть равным %0
cqc
-|С2С3С4С5С6 ♦ 1. сх
представляет значение отдельных битов с х. находящимся в диапазоне 0 .. 8. Значение Р (DST_X_Bit)
находится в диапазоне 1 .. 128.
7.2 Ограничения на кодированный DST Audio_Frames
Чтобы позволить оптимальный проект декодера DST. должны быть введены следующие
ограничения для кодированных DST аудиофреймов.
7.2.1 Ограниченное количество ошибочно предсказанных выборок
Максимальное разрешенное число ошибочно предсказанных выборокв кодированном
Audio_Framo DST является половиной числа выборок DSD во фрейме.
N Errorsmax
N_ Channels" Frame _Length" 8
2
Общее количество ошибочных предсказанных выборок (N_Errors) во фрейме является суммой
числа ошибочных предсказанных выборок на звуковой канал:
NСУжпяЬ Sfama.i-1
N Errors =
]ГiL
£
J
где Ei [л] равно 0 (хороший прогноз) или 1 (неправильный прогноз).
Для каждого кодированного DST аудиофрейма должно применяться следующее правило:
N_Errors а N_Errors_max
7.2.2 Требование к разработке таблицы вероятности
Определенные в этом пункте ограничения должны применяться к таблицам Ptablcs.
Для каждой Ptable. которая используется во фрейме, содержание определяется следующим
алгоритмом:
Обратите внимание на все выборки фрейма, которые используют рассматриваемую Ptable. и
подсчитайте для этих выборок сколько раз используется запись Ptable(CA [ ] [ ] ) * сколько раз сигнал Е
равен 1 для записи Ptable (CW [)[])
for (Ptable_Nr=0: Ptable_Nr<Nr_Of_Ptables: Ptable_Nr++)
{
for (Entry_Nr=0: Entry_Nr<Ptable_Len[Ptable_Nr]: Entry_Nr++)
{
CAlPtable_Nr][Entry_Nr] = 0. CW(Ptable_Nr][Entry_Nr] = 0;
}
}
for (Channel_Nr=t; Channel_Nr<=N_Channels: Channel_Nr++)
{
if (Half_Prob[Channel_Nr]==0)
{
Start = 0:
}
else
{
Stan - Pred_Ordcr{Fiiter[Channel_Nr][1)]:
}
Stop = 0;
for (Seg_Nr-1. Seg_Nr<=Ptables.Nr_Of_Segments(Channel_NrJ; Seg_Nr++)
24
{
Stop += 8’Ptables.Segment_Longth[Channol_Nr][Seg_Nr};
for (Bit_Nr=Stan; Bit_Nr<Stop: Bit_Nr++)