ГОСТ Р 53556.10—2014
7 Эталонная модель декодера
D S T
7.1 Процессы декодирования DST
Параметры, обработанные и извлеченные из потока, используются, чтобы декодировать
кодированный фрейм DST. Этот подпункт объясняет процессы декодирования, необходимые для
кодированных фреймов DST.
7.1.1 Введение
Существуют три функции: арифметический декодер, мультиплексор/демультиплексор и ряд
моделей источника. Арифметический декодер получает последовательность битов
последовательностьвероятностей(Р)игенерируетпоследовательность
(D=A_Data) и
битов (Е).
Последовательности Е и Р присваиваются моделям источника в циклическом порядке, которым
управляет мультиплексор/демультиплексор. Каждая модель источника получает необходимые
параметры, как коэффициенты фильтра прогноза и записи таблицы вероятности из потока, как
определено в синтаксисе и семантике.
Модель источника S соответствует каналу S. Вывод X из модели источника S является
сигналом DSD для канала S.
7.1.2 Арифметический декодер
Арифметическое кодирование является методом кодирования переменной длины для сжатия
данных близко к их энтропии. Кодированные данные представляются как число. Число использует
столько цифр, сколько требуется, чтобы однозначно определять исходные данные.
Таблица 23 определяет переменные, используемые на рисунке 2, рисунке 3, рисунке 4 и
рисунке 5.
Таблица 23 - Переменные, используемые в рисунке 2, рисунке 3. рисунке 4 и рисунке 5
ИмяХарактеристики
Описание
А12-битовый регистр
Эго целое число без знака представляет текущую величину интервала
арифметического декодера
С
12-битовый pemcrp
Это целое число без знака содержит часть битов арифметического
кода
К4-битовая переменная
Это целое число без знака является 4-битовым приближением А
Р8-битовая переменная
Это целое число без знака является величиной вероятности,
применяемой к арифметическому декодеру
О12-битовая переменная
Это целое число без знака является произведением К и Р
Рисунок 2 показывает полную блок-схему алгоритма декодирования DST.
Процесс инициализации показан на рисунке 3 и требуется в начале декодирования каждого
фрейма. Он состоит из загрузки первых 13 битов арифметического кода в регистр С и переустановки
регистра А в 4095. Первый бит. считываемый в С. будет перезаписан, это предусмотрено, потому что
первый бит всегда 0.
Функция "Input next bit D" (ввод следующего бита О) на рисунке 2. рисунке 3 и рисунке 5
означает, что бит D берется из A_Data (), начиная с первого бита. После того, как все биты из A_Data (]
были считаны, функция "Input next bit D" устанавливает бит D в 0.
Чтение информации о вероятности Р получает из модели источника, за исключением первого
бита, где вместо этого читается вероятность DST_X_Bit.
Рисунок 4 иллюстрирует декодирование одного бита Е и обновление регистра А и С. Сначала
вычисляетсятекущийаппроксимированныйразмеринтервалаК.Затемпроизведение
аппроксимированного размера интервала К и применяемой величины вероятности Р сохраняется в О.
Если С больше или равно A-О, то арифметический код находится в верхней части интервала, что
означает, что исходный закодированный бит Е был битом Т ; иначе был передан бит ’0’. А и С должны
18