Почему несколько маркеров FFDA в файле JPEG - PullRequest
1 голос
/ 01 января 2012

В моем файле JPEG есть несколько маркеров FFDA.С какого маркера начинаются мои данные и как узнать, с какого маркера я декодирую файл?

Ответы [ 2 ]

2 голосов
/ 07 января 2012

Стандарт JPEG имеет много опций, которые используются не очень часто. Типичное цветное изображение будет иметь 3 цветовых компонента (Y, Cr, Cb), чередующихся за одно сканирование (один маркер FFDA). Они также могут быть сохранены в любой комбинации в отдельных сканированиях. Прогрессивное изображение JPEG кодирует несколько сканов с большим количеством деталей (коэффициентов переменного тока) при каждом последующем скане, но стандарт позволяет смешивать любую комбинацию цветовых компонентов и коэффициентов при разных скансах. Я видел только один случай непрогрессивного JPEG с отдельными сканированиями для каждого цветового компонента; оно пришло с IP-камеры.

1 голос
/ 02 января 2012

Ваш JPEG, вероятно, является прогрессивным, что означает, что вам нужно декодировать данные, по крайней мере, после первого маркера FFDA, что даст вам промежуточный результат.

Если это ваша первая попытка сделать декодер JPEG, выследует выбрать другое изображение и попробовать вместо него реализовать базовый декодер.Прогрессивные изображения значительно усложняют проблему.

...