Lossless JPEG
От: Nesta Украина  
Дата: 19.03.09 09:11
Оценка:
Добрый день, я работаю с Lossless JPEG изображениями.
Для кодирования и декодирования использую библиотеку Intel ipp53. При работе с обычными JPEG не возникает никаких проблем. Все пишется и считывается правильно. А вот когда работаю с Lossless JPEG вылазит следующая проблема:

Не могу прочитать цветовую схему (RGB, YСBСR и т.д.) из Lossless JPEG-файла. Самое интересное, что этот файл я пишу при помощи ipp53 и передаю этой библиотеке цветовую схему. А потом не могу получить цветовую схему из этого файла. Причем я опять-таки читаю его при помощи ipp53.

По этому поводу удалось накопать следующее. Некоторые библиотеки для работы с JPEG в заголовок Lossles JPEG файла вставляют строку "Adobe" (для обычных JPEG файлов в заголовок вставляется "JFIF"). ipp53 работает след. образом: если "Adobe" найдена, то включается дополнительная логика, которая позволяет определить цветовую схему. Если эта строка не найдена — то цветовая схема не определяется.

Вот что здесь интересно. Получается, что ipp53 может корректно прочитать цветовую схему из Lossless JPEG файла, созданного другими библиотеками (потому что они пишут строку "Adobe" в заголовок), но не может эту цветовую схему достать из файла, который сама же и записала (ipp53 не пишет строку "Adobe" в заголовок).

Для разрешения данной проблемы мне нужна спецификация для Lossless JPEG файлов. В спецификации я хочу посмотреть как нужно правильно кодировать цветовую схему для Lossless JPEG файлов.

Кто-нибудь знает где можно скачать подобный док?
Спасибо за помощь
Re: Lossless JPEG
От: Grey-  
Дата: 19.03.09 09:41
Оценка:
Здравствуйте, Nesta, Вы писали:

N>Добрый день, я работаю с Lossless JPEG изображениями.

N>Для кодирования и декодирования использую библиотеку Intel ipp53. При работе с обычными JPEG не возникает никаких проблем. Все пишется и считывается правильно. А вот когда работаю с Lossless JPEG вылазит следующая проблема:

N>Не могу прочитать цветовую схему (RGB, YСBСR и т.д.) из Lossless JPEG-файла. Самое интересное, что этот файл я пишу при помощи ipp53 и передаю этой библиотеке цветовую схему. А потом не могу получить цветовую схему из этого файла. Причем я опять-таки читаю его при помощи ipp53.


N>По этому поводу удалось накопать следующее. Некоторые библиотеки для работы с JPEG в заголовок Lossles JPEG файла вставляют строку "Adobe" (для обычных JPEG файлов в заголовок вставляется "JFIF"). ipp53 работает след. образом: если "Adobe" найдена, то включается дополнительная логика, которая позволяет определить цветовую схему. Если эта строка не найдена — то цветовая схема не определяется.


N>Вот что здесь интересно. Получается, что ipp53 может корректно прочитать цветовую схему из Lossless JPEG файла, созданного другими библиотеками (потому что они пишут строку "Adobe" в заголовок), но не может эту цветовую схему достать из файла, который сама же и записала (ipp53 не пишет строку "Adobe" в заголовок).


N>Для разрешения данной проблемы мне нужна спецификация для Lossless JPEG файлов. В спецификации я хочу посмотреть как нужно правильно кодировать цветовую схему для Lossless JPEG файлов.


N>Кто-нибудь знает где можно скачать подобный док?

N>Спасибо за помощь

wiki

Standards

* JPEG (lossy and lossless): ITU-T T.81, ISO/IEC IS 10918-1
* JPEG (extensions): ITU-T T.84
* JPEG-LS (lossless, improved): ITU-T T.87, ISO/IEC IS 14495-1
* JBIG (black and white pictures): ITU-T T.82, ISO/IEC IS 11544-1
* JPEG 2000 (successor of JPEG/JPEG-LS): ITU-T T.800, ISO/IEC IS 15444-1
* JPEG-2000 (extensions): ITU-T T.801
* JPEG XR (formerly called HD Photo) undergoing final voting as ISO/IEC 29199-2

Не бойтесь пользоваться поиском
Re[2]: Lossless JPEG
От: Nesta Украина  
Дата: 19.03.09 12:56
Оценка:
Здравствуйте, Grey-, Вы писали:

G>wiki


G>Standards


G> * JPEG (lossy and lossless): ITU-T T.81, ISO/IEC IS 10918-1

G> * JPEG (extensions): ITU-T T.84
G> * JPEG-LS (lossless, improved): ITU-T T.87, ISO/IEC IS 14495-1
G> * JBIG (black and white pictures): ITU-T T.82, ISO/IEC IS 11544-1
G> * JPEG 2000 (successor of JPEG/JPEG-LS): ITU-T T.800, ISO/IEC IS 15444-1
G> * JPEG-2000 (extensions): ITU-T T.801
G> * JPEG XR (formerly called HD Photo) undergoing final voting as ISO/IEC 29199-2

G>Не бойтесь пользоваться поиском


Я читал эти доки. В них достаточно хорошее описание стандартных baseline JPEGов, но нет ничего конкретного про lossless JPEG файлы
Re: Lossless JPEG
От: alex6565  
Дата: 26.03.09 11:40
Оценка:
Здравствуйте, Nesta, Вы писали:

N>Добрый день, я работаю с Lossless JPEG изображениями.

N>Для кодирования и декодирования использую библиотеку Intel ipp53. При работе с обычными JPEG не возникает никаких проблем. Все пишется и считывается правильно. А вот когда работаю с Lossless JPEG вылазит следующая проблема:

N>Не могу прочитать цветовую схему (RGB, YСBСR и т.д.) из Lossless JPEG-файла. Самое интересное, что этот файл я пишу при помощи ipp53 и передаю этой библиотеке цветовую схему. А потом не могу получить цветовую схему из этого файла. Причем я опять-таки читаю его при помощи ipp53.


N>По этому поводу удалось накопать следующее. Некоторые библиотеки для работы с JPEG в заголовок Lossles JPEG файла вставляют строку "Adobe" (для обычных JPEG файлов в заголовок вставляется "JFIF"). ipp53 работает след. образом: если "Adobe" найдена, то включается дополнительная логика, которая позволяет определить цветовую схему. Если эта строка не найдена — то цветовая схема не определяется.


N>Вот что здесь интересно. Получается, что ipp53 может корректно прочитать цветовую схему из Lossless JPEG файла, созданного другими библиотеками (потому что они пишут строку "Adobe" в заголовок), но не может эту цветовую схему достать из файла, который сама же и записала (ipp53 не пишет строку "Adobe" в заголовок).


N>Для разрешения данной проблемы мне нужна спецификация для Lossless JPEG файлов. В спецификации я хочу посмотреть как нужно правильно кодировать цветовую схему для Lossless JPEG файлов.


N>Кто-нибудь знает где можно скачать подобный док?

N>Спасибо за помощь

5116.DCT_Filter.pdf — там написано про маркер Adobe

Вообще то тут все просто — вот он

/* AbodeMarker == APP14; Adobe TN 5116
*/
struct AdobeMarker {
char sign[5]; // "Adobe"
uint16 version; // 0x64/0x65
uint16 flags0; // 0x8000 bit: Encoder used Blend=1 downsampling
uint16 flags1; // currently 0
uint8 colorTransform; // 1-YCbCr/2-YCCK/0-otherwise
};

вставляешь его в APP14 и все....

ЗЫ
я бы читал LJPEG своим кодом, итз перфекционизма
А ipp53 поддерживает bits per sample > 8 ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.