JPEG, содержащий несколько маркеров DHT - PullRequest
0 голосов
/ 29 мая 2018

У меня есть файл JPEG, который содержит более одного маркера DHT.Это разрешено согласно спецификации?Если это разрешено, то какой маркер DHT следует использовать для определения таблицы Хаффмана?

1 Ответ

0 голосов
/ 29 мая 2018

Посмотрите на определение маркера DHT.Начинается с длины маркера.Далее следуют 4-битные поля, которые определяют, является ли таблица таблицей AC или DC, и числовой идентификатор для таблицы.Затем следует количество символов в таблице, а затем символы.

Если вы прочитали символы и не израсходовали длину, вы зациклите и прочитаете следующую таблицу в том же формате.Чаще всего все таблицы помещаются в один маркер DHT, но выбор остается за кодировщиком.

Маркер начала кадра отображает компонент в таблицу Хаффмана по номеру.Выберите таблицы, указанные маркером SOF.Для цветного изображения вам может понадобиться до 6 таблиц Хаффмана для декодирования.

Если таблица повреждена, поток поврежден, и вы SOL.

...