ГОСТ Р ИСО/МЭК 19794-4—2014
Сжать* данныеизображения
SOI
[
EOI
tablesI
misc
РисунокЕ.17— Синтаксическая структура компактного форматаданных спецификации таблицы
Е.4 Спецификация таблицы Хаффмана
Е.4.1 Общие положения
Таблицы Хаффмана установлены в формате обмена в выражениях списка из 16 байтов (BITS), предостав
ляющего число кодов для каждой длины кода от 1 до 16. Далее следует список 8-битных значений символов
(HUFFVAL), каждому из которых присвоен код Хаффмана. Значения символов расположены в списке в порядке
возрастаниядлины коды.Длина кодабольше 16битоенедопускаются. Вдополнение, кодыдолжны бытьсгенери
рованытакимобразом,чтооднобитноекодовоесловолюбойдлинырезервируется вкачестве префиксадляболее
длинных кодовыхслов.
П р им ечание — Порядок значений символов в пределах HUFFVALопределяется толькодлиной кода.
В пределахпредставленнойдлины кода порядок значений символов произволен. В настоящем пункте устанавли
ваются процедуры, припомощикоторыхтаблицаХаффмана (кодовыесловаХаффмана и соответствующие8-бит
ные значения символов) берутся из двух списков (BITS и HUFFVAL) в формате обмена. Однако метод создания
данных списков неустановлен. Спискидолжны создаваться в соответствиисправилами
кодированияХаффмана, и при этомдолжныучитываться ограничения, описанные в предыдущем параграфе.
Е.4.2 Сегменты с маркерами для спецификации таблицы Хаффмана
ОТХ маркеруказывает началоопределений таблицыХаффмана в пределахсжатыхданных изображения. В
Е.3.2.4.2 устанавливается синтаксическаяструктура спецификациитаблицы Хаффмана.
Е.4.3 Преобразование таблиц Хаффмана, установленных в формате обмена в таблицы кодов идлин
кодов
При наличии списка BITS (1..16). содержащего число кодов каждого размера и списка HUFFVAL. содержащего
значениясимволов, связанныхсданнымикодами, какуказановыше, можетбытьсозданодветаблицы.ТаблицаHUFF-
SIZE содержитсписокдлинкодов; таблицаHUFFCODEсодержит кодыХаффмана, соответствующиеданнымдлинам.
Рисунок Е.18— Создание таблицы размеров кодовХаффмана
70