2017-02-12 19 views
0

Я пишу программу «чистой комнаты», которая требует разбора/разбора jpegs. Я нашел всю информацию, которая мне нужна для синтаксического анализа/unparse исходных jpegs, но я не могу найти информацию, которая мне нужна для синтаксического анализа/unparse прогрессивных jpeg.Как разобрать прогрессивный JPG

Мне нужно преобразовать сжатые данные в макроблоки и обратно, поэтому большинство доступных фреймворков слишком высокого уровня. Я также хочу понять, что происходит, следовательно, подход «чистой комнаты».

Может ли кто-нибудь помочь мне, пожалуйста? Полезной будет спецификация заголовка SOF1, равно как и расположение сжатых данных в сегменте сканирования.

Заранее спасибо.

+0

Ооооп, я, кажется, неправильно понял. Мне нужно понять заголовок SOF2, а не заголовок SOF1. Сожалею. – DrPhill

+0

У меня есть и пример заголовка SOF2 - он содержит 17 байтов данных, которые: [8, 3, -128, 6, 64, 3, 1, 34, 0, 2, 17, 1, 3, 17, 1 ]. – DrPhill

+0

тип: 194 Размер данные: 17 данные: [8, 3, -128, 6, 64, 3, 1, 34, 0, 2, 17, 1, 3, 17, 1] Это дает точность: 8 высота: = 896 ширина: = 1600 3 компонента 1, 34, 0 \t ID1, hSample 2 vsample 2 2, 17, 1 \t ID2, hSample 1 vsample 1 3, 17, 1 \t id3, hSample 1 vsample 1 – DrPhill

ответ

-1

Если вы хотите, чтобы понять это, я хотел бы получить эту книгу:

https://www.amazon.com/Compressed-Image-File-Formats-JPEG/dp/0201604434/ref=sr_1_5?ie=UTF8&qid=1486949641&sr=8-5&keywords=jpeg

Это объясняет все это в легкой для понимания терминов. У автора есть исходный код на

http://colosseumbuilders.com/sourcecode/imagelib403.zip

, который разработан, чтобы быть легко понять.

Заголовок SOF1 такой же, как и все другие заголовки SOF. Вам нужно иметь копию стандарта JPEG (как тупой, как есть). Другие источники выше помогут вам пройти через это.

+0

Это был бы приемлемый комментарий к исходному вопросу. Это, однако, не ответ. –

+0

Это побудило меня исследовать с помощью байт-инспектора и выяснить, что утверждение верно и что я действительно могу продолжать в частичном незнании. Итак, спасибо за nudge – DrPhill

+0

Проблема заключается в том, что для анализа потока JPEG вы в значительной степени должны его декодировать. Вы можете изучить блоки. Прогрессивное сканирование имеет формат и маркеры перезапуска в качестве последовательного сканирования, но получение фактических данных является жестким. – user3344003