ГОСТ Р 53556.10—2014
Таблица 17 - Биты, используемые для кодирования Element
Nr Of Elements
0
1
2..3
4..7
8..15
16..31
32..63
64..127
128..255
256.511
512..1023
1024..2047
2048..4095
4096..8191
8192.. 16383
16384..32766
Номер используемого бита
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
6.2.1.1.7 Half_Probability
Синтаксис Half_Probability определяется в таблице 11.
Chanrtel_Nr является локальной индексной переменной.
N_Channels является числом используемых звуковых каналов.
6.2.1.1.7.1 Hatf_Prob
Half_Prob используется, при кодировании, для каждого звукового канала. Метод обычно
используется для того, чтобы применить значение вероятности к арифметическому декодеру.
Определение Half_Prob дается в таблице 18.
Таблица 18- Определение Half_Prob
Half РгоЬ[ ]
0
Вероятность для использования во время первых битов Fred Orderf/ аудиоканала
Использовать записи из Ptable.
1
Использовать р=— (соответствует Р one = 128)
2
1
Для оптимальной эффективности кодирования требуется, чтобы у следующего остаточного
бита в Е было значение, которое имеет наибольшую вероятность. Если применяется вероятность,
которая отражает высокий шанс следующего бита Е быть 1, в то время как следующий бит Е
является 0, то требуется более 1 бита в арифметическом коде, чтобы отправить этот бит.
Фильтр прогноза первоначально заполнен образцом инициализации. Во время первых выборок
Pred_Order в звуковом канале ChannelJNr фильтр прогноза постепенно заполняется реальными
данными DSD. Как следствие распределение вероятности может отличаться от остальной части
фрейма, и комбинация примененных Е и Р для этих битов приведет к большему количеству битов,
чем требуется. Применяя вероятность 1/2 во время кодирования, каждый бит будет также стоить
только одного бита в арифметическом коде.
Чтобы быть в состоянии отвергнуть плохую комбинацию Е и Р в начале фрейма Half_Prob
доступен для каждого канала отдельно.
6.2.1.1.8 Filtor_Coef_Sets
Для каждого сегмента в каждом звуковом канале декодер DST использует фильтр прогноза. В
случае если два или более фильтра прогноза одинаковы, соответствующие коэффициенты фильтра
могут кодироваться только однажды. В синтаксисе Filter_Coef_Sets используются переменные
Prod_Order[Filter_Nr] и Coef[Filter_Nr][Q..Pred_Order(Filter_Nr)-1/. где Filter_Nr = 0.. Nr_Of_Filters-1.
Все коэффициенты фильтра прогноза кодируются. Коэффициенты фильтра прогноза могут
быть закодированы, используя простое линейное предсказание и кодирование Райса. Кодирование
Райса является методом кодирования переменной длины (особый случай кодирования методом
Хаффмана), который используется, чтобы сократить число битов, необходимых для определенного
14