JPEG-LS. Что такое джипег


JPEG - это... Что такое JPEG?

JPEG (произносится «джейпег»[1], англ. Joint Photographic Experts Group, по названию организации-разработчика) — один из популярных графических форматов, применяемый для хранения фотоизображений и подобных им изображений. Файлы, содержащие данные JPEG, обычно имеют расширения (суффиксы) .jpeg, .jfif, .jpg, .JPG, или .JPE. Однако из них .jpg является самым популярным на всех платформах. MIME-типом является image/jpeg.

Фотография заката в формате JPEG с уменьшением степени сжатия слева направо

Алгоритм JPEG позволяет сжимать изображение как с потерями, так и без потерь (режим сжатия lossless JPEG). Поддерживаются изображения с линейным размером не более 65535 × 65535 пикселей.

Область применения

Алгоритм JPEG в наибольшей степени пригоден для сжатия фотографий и картин, содержащих реалистичные сцены с плавными переходами яркости и цвета. Наибольшее распространение JPEG получил в цифровой фотографии и для хранения и передачи изображений с использованием сети Интернет.

С другой стороны, JPEG малопригоден для сжатия чертежей, текстовой и знаковой графики, где резкий контраст между соседними пикселами приводит к появлению заметных артефактов. Такие изображения целесообразно сохранять в форматах без потерь, таких как TIFF, GIF или PNG.

JPEG (как и другие методы искажающего сжатия) не подходит для сжатия изображений при многоступенчатой обработке, так как искажения в изображения будут вноситься каждый раз при сохранении промежуточных результатов обработки.

JPEG не должен использоваться и в тех случаях, когда недопустимы даже минимальные потери, например, при сжатии астрономических или медицинских изображений. В таких случаях может быть рекомендован предусмотренный стандартом JPEG режим сжатия Lossless JPEG (который, однако, не поддерживается большинством популярных кодеков) или стандарт сжатия JPEG-LS.

Сжатие

При сжатии изображение преобразуется из цветового пространства RGB в YCbCr (YUV). Следует отметить, что стандарт JPEG (ISO/IEC 10918-1) никак не регламентирует выбор именно YCbCr, допуская и другие виды преобразования (например, с числом компонентов[2], отличным от трёх), и сжатие без преобразования (непосредственно в RGB), однако спецификация JFIF (JPEG File Interchange Format, предложенная в 1991 году специалистами компании C-Cube Microsystems, и ставшая в настоящее время стандартом де-факто) предполагает использование преобразования RGB->YCbCr.

После преобразования RGB->YCbCr для каналов изображения Cb и Cr, отвечающих за цвет, может выполняться «прореживание» (subsampling[3]), которое заключается в том, что каждому блоку из 4 пикселов (2х2) яркостного канала Y ставятся в соответствие усреднённые значения Cb и Cr (схема прореживания «4:2:0»[4]). При этом для каждого блока 2х2 вместо 12 значений (4 Y, 4 Cb и 4 Cr) используется всего 6 (4 Y и по одному усреднённому Cb и Cr). Если к качеству восстановленного после сжатия изображения предъявляются повышенные требования, прореживание может выполняться лишь в каком-то одном направлении — по вертикали (схема «4:4:0») или по горизонтали («4:2:2»), или не выполняться вовсе («4:4:4»).

Стандарт допускает также прореживание с усреднением Cb и Cr не для блока 2х2, а для четырёх расположенных последовательно (по вертикали или по горизонтали) пикселов, то есть для блоков 1х4, 4х1 (схема «4:1:1»), а также 2х4 и 4х2 (схема «4:1:0»). Допускается также использование различных типов прореживания для Cb и Cr, но на практике такие схемы применяются исключительно редко.

Далее яркостный компонент Y и отвечающие за цвет компоненты Cb и Cr разбиваются на блоки 8х8 пикселов. Каждый такой блок подвергается дискретному косинусному преобразованию (ДКП). Полученные коэффициенты ДКП квантуются (для Y, Cb и Cr в общем случае используются разные матрицы квантования) и пакуются с использованием кодирования серий и кодов Хаффмана. Стандарт JPEG допускает также использование значительно более эффективного арифметического кодирования, однако из-за патентных ограничений (патент на описанный в стандарте JPEG арифметический QM-кодер принадлежит IBM) на практике оно используется редко. В популярную библиотеку libjpeg последних версий включена поддержка арифметического кодирования, но с просмотром сжатых с использованием этого метода изображений могут возникнуть проблемы, поскольку многие программы просмотра не поддерживают их декодирование.

Матрицы, используемые для квантования коэффициентов ДКП, хранятся в заголовочной части JPEG-файла. Обычно они строятся так, что высокочастотные коэффициенты подвергаются более сильному квантованию, чем низкочастотные. Это приводит к огрублению мелких деталей на изображении. Чем выше степень сжатия, тем более сильному квантованию подвергаются все коэффициенты.

При сохранении изображения в JPEG-файле указывается параметр качества, задаваемый в некоторых условных единицах, например, от 1 до 100 или от 1 до 10. Большее число обычно соответствует лучшему качеству (и большему размеру сжатого файла). Однако даже при использовании наивысшего качества (соответствующего матрице квантования, состоящей из одних только единиц) восстановленное изображение не будет в точности совпадать с исходным, что связано как с конечной точностью выполнения ДКП, так и с необходимостью округления значений Y, Cb, Cr и коэффициентов ДКП до ближайшего целого. Режим сжатия Lossless JPEG, не использующий ДКП, обеспечивает точное совпадение восстановленного и исходного изображений, однако его малая эффективность (коэффициент сжатия редко превышает 2) и отсутствие поддержки со стороны разработчиков программного обеспечения не способствовали популярности Lossless JPEG.

Разновидности схем сжатия JPEG

Стандарт JPEG предусматривает два основных способа представления кодируемых данных.

Наиболее распространённым, поддерживаемым большинством доступных кодеков, является последовательное (sequential JPEG) представление данных, предполагающее последовательный обход кодируемого изображения поблочно слева направо, сверху вниз. Над каждым кодируемым блоком изображения осуществляются описанные выше операции, а результаты кодирования помещаются в выходной поток в виде единственного «скана», то есть массива кодированных данных, соответствующего последовательно пройденному («просканированному») изображению. Основной или «базовый» (baseline) режим кодирования допускает только такое представление. Расширенный (extended) режим наряду с последовательным допускает также прогрессивное (progressive JPEG) представление данных.

В случае progressive JPEG сжатые данные записываются в выходной поток в виде набора сканов, каждый из которых описывает изображение полностью с всё большей степенью детализации. Это достигается либо путём записи в каждый скан не полного набора коэффициентов ДКП, а лишь какой-то их части: сначала — низкочастотных, в следующих сканах — высокочастотных (метод «spectral selection» то есть спектральных выборок), либо путём последовательного, от скана к скану, уточнения коэффициентов ДКП (метод «successive approximation», то есть последовательных приближений). Такое прогрессивное представление данных оказывается особенно полезным при передаче сжатых изображений с использованием низкоскоростных каналов связи, поскольку позволяет получить представление обо всём изображении уже после передачи незначительной части JPEG-файла.

Обе описанные схемы (и sequential, и progressive JPEG) базируются на ДКП и принципиально не позволяют получить восстановленное изображение абсолютно идентичным исходному. Однако стандарт допускает также сжатие, не использующее ДКП, а построенное на основе линейного предсказателя (lossless, то есть «без потерь», JPEG), гарантирующее полное, бит-в-бит, совпадение исходного и восстановленного изображений. При этом коэффициент сжатия для фотографических изображений редко достигает 2, но гарантированное отсутствие искажений в некоторых случаях оказывается востребованным. Заметно большие степени сжатия могут быть получены при использовании не имеющего, несмотря на сходство в названиях, непосредственного отношения к стандарту JPEG ISO/IEC 10918-1 (ITU T.81 Recommendation) метода сжатия JPEG-LS, описываемого стандартом ISO/IEC 14495-1 (ITU T.87 Recommendation).

Синтаксис и структура

Файл JPEG содержит последовательность маркеров, каждый из которых начинается с байта 0xFF, свидетельствующего о начале маркера, и байта-идентификатора. Некоторые маркеры состоят только из этой пары байтов, другие же содержат дополнительные данные, состоящие из двухбайтового поля с длиной информационной части маркера (включая длину этого поля, но за вычетом двух байтов начала маркера то есть 0xFF и идентификатора) и собственно данных. Такая структура файла позволяет быстро отыскать маркер с необходимыми данными (например, с длиной строки, числом строк и числом цветовых компонентов сжатого изображения).

Основные маркеры JPEG[5] Маркер Байты Длина Назначение Комментарии SOI SOF0 SOF1 SOF2 DHT DQT DRI SOS RSTn APPn COM EOI
0xFFD8 нет Начало изображения
0xFFC0 переменный размер Начало фрейма (базовый, ДКП) Показывает что изображение кодировалось в базовом режиме с использованием ДКП и кода Хаффмана. Маркер содержит число строк и длину строки изображения (двухбайтовые поля со смещением соответственно 5 и 7 относительно начала маркера), количество компонентов (байтовое поле со смещением 8 относительно начала маркера), число бит на компонент (байтовое поле со смещением 4 относительно начала маркера), а также соотношение компонентов (например, 4:2:0).
0xFFC1 переменный размер Начало фрейма (расширенный, ДКП, код Хаффмана) Показывает что изображение кодировалось в расширенном (extended) режиме с использованием ДКП и кода Хаффмана. Маркер содержит число строк и длину строки изображения, количество компонентов, число бит на компонент, а также соотношение компонентов (например, 4:2:0).
0xFFC2 переменный размер Начало фрейма (прогрессивный, ДКП, код Хаффмана) Показывает что изображение кодировалось в прогрессивном режиме с использованием ДКП и кода Хаффмана. Маркер содержит число строк и длину строки изображения, количество компонентов, число бит на компонент, а также соотношение компонентов (например, 4:2:0).
0xFFC4 переменный размер Содержит таблицы Хаффмана Задает одну или более таблиц Хаффмана.
0xFFDB переменный размер Содержит таблицы квантования Задает одну или более таблиц квантования.
0xFFDD 4 байта Указывает интервал повторений Задает интервал между маркерами RST n в макроблоках.
0xFFDA переменный размер Начало сканирования Начало первого или очередного скана изображения с направлением обхода слева направо сверху вниз. Если использовался базовый режим кодирования, используется один скан. При использовании прогрессивных режимов используется несколько сканов. Маркер SOS является разделяющим между информативной (заголовком) и закодированной (собственно сжатыми данными) частями изображения.
0xFFDn нет Перезапуск Вставляется в каждом r макроблоке, где r — интервал перезапуска DRI маркера. Не используется при отсутствии DRI маркера. n, младшие 3 бита маркера кода, циклы от 0 до 7.
0xFFEn переменный размер Задаётся приложением Например, в EXIF JPEG-файла используется маркер APP1 для хранения метаданных, расположеных в структуре, основанной на TIFF.
0xFFFE переменный размер Комментарий Содержит текст комментария.
0xFFD9 нет Конец закодированной части изображения.

Достоинства и недостатки

К недостаткам сжатия по стандарту JPEG следует отнести появление на восстановленных изображениях при высоких степенях сжатия характерных артефактов: изображение рассыпается на блоки размером 8x8 пикселов (этот эффект особенно заметен на областях изображения с плавными изменениями яркости), в областях с высокой пространственной частотой (например, на контрастных контурах и границах изображения) возникают артефакты в виде шумовых ореолов. Следует отметить, что стандарт JPEG (ISO/IEC 10918-1, Annex K, п. K.8) предусматривает использование специальных фильтров для подавления блоковых артефактов, но на практике подобные фильтры, несмотря на их высокую эффективность, практически не используются. Однако, несмотря на недостатки, JPEG получил очень широкое распространение из-за достаточно высокой (относительно существовавших во время его появления альтернатив) степени сжатия, поддержке сжатия полноцветных изображений и относительно невысокой вычислительной сложности.

Производительность сжатия по стандарту JPEG

Для ускорения процесса сжатия по стандарту JPEG традиционно используется распараллеливание вычислений, в частности — при вычислении ДКП. Исторически одна из первых попыток ускорить процесс сжатия с использованием такого подхода описана в опубликованной в 1993 г. статье Касперовича и Бабкина [6], в которой предлагалась оригинальная аппроксимация ДКП, делающая возможным эффективное распараллеливание вычислений с использованием 32-разрядных регистров общего назначения процессоров Intel 80386. Появившиеся позже более производительные вычислительные схемы использовали SIMD-расширения набора инструкций процессоров архитектуры x86. Значительно лучших результатов позволяют добиться схемы, использующие вычислительные возможности графических ускорителей (технологии NVIDIA CUDA и AMD FireStream) для организации параллельных вычислений не только ДКП, но и других этапов сжатия JPEG (преобразование цветовых пространств, run-level, статистическое кодирование и т.п.), причём для каждого блока 8х8 кодируемого или декодируемого изображения. В статье [7] была впервые[источник?] представлена реализация распараллеливания всех стадий алгоритма JPEG по технологии CUDA, что значительно ускорило производительность сжатия и декодирования по стандарту JPEG.

Интересные факты

В 2010 году ученые из проекта PLANETS поместили инструкции по чтению формата JPEG в специальную капсулу, которую поместили в специальный бункер в швейцарских Альпах. Сделано это было с целью сохранения для потомков информации о популярных в начале XXI века цифровых форматах.[8]

См. также

Примечания

Ссылки

dic.academic.ru

JPEG — Википедия. Что такое JPEG

Статья из Википедии — свободной энциклопедии

JPEG (произносится «джейпег»[2], англ. Joint Photographic Experts Group, по названию организации-разработчика) — один из популярных растровых графических форматов, применяемый для хранения фотоизображений и подобных им изображений. Файлы, содержащие данные JPEG, обычно имеют расширения (суффиксы) .jpg, .jfif, .jpe или .jpeg. Однако из них .jpg является самым популярным на всех платформах. MIME-типом является image/jpeg.

Фотография заката в формате JPEG с уменьшением степени сжатия слева направо

Алгоритм JPEG позволяет сжимать изображение как с потерями, так и без потерь (режим сжатия lossless JPEG). Поддерживаются изображения с линейным размером не более 65535 × 65535 пикселей.

В 2010 году, с целью сохранения для потомков информации о популярных в начале XXI века цифровых форматах, учёные из проекта PLANETS заложили инструкции по чтению формата JPEG в специальную капсулу, которую поместили в специальное хранилище в швейцарских Альпах[3][4].

Область применения

Алгоритм JPEG в наибольшей степени пригоден для сжатия фотографий и картин, содержащих реалистичные сцены с плавными переходами яркости и цвета. Наибольшее распространение JPEG получил в цифровой фотографии и для хранения и передачи изображений с использованием сети Интернет.

Формат JPEG в режиме сжатия с потерями малопригоден для сжатия чертежей, текстовой и знаковой графики, где резкий контраст между соседними пикселями приводит к появлению заметных артефактов. Такие изображения целесообразно сохранять в форматах без потерь, таких как JPEG-LS, TIFF, GIF, PNG или использовать режим сжатия Lossless JPEG.

JPEG (как и другие форматы сжатия с потерями) не подходит для сжатия изображений при многоэтапной обработке, так как искажения в изображения будут вноситься каждый раз при сохранении промежуточных результатов обработки.

JPEG не должен использоваться и в тех случаях, когда недопустимы даже минимальные потери, например, при сжатии астрономических или медицинских изображений. В таких случаях может быть рекомендован предусмотренный стандартом JPEG режим сжатия Lossless JPEG (который, однако, не поддерживается большинством популярных кодеков) или стандарт сжатия JPEG-LS.

Сжатие

При сжатии изображение преобразуется из цветового пространства RGB в YCbCr. Следует отметить, что стандарт JPEG (ISO/IEC 10918-1) никак не регламентирует выбор именно YCbCr, допуская и другие виды преобразования (например, с числом компонентов[5], отличным от трёх), и сжатие без преобразования (непосредственно в RGB), однако спецификация JFIF (JPEG File Interchange Format, предложенная в 1991 году специалистами компании C-Cube Microsystems, и ставшая в настоящее время стандартом де-факто) предполагает использование преобразования RGB->YCbCr.

После преобразования RGB->YCbCr для каналов изображения Cb и Cr, отвечающих за цвет, может выполняться «прореживание» (subsampling[6]), которое заключается в том, что каждому блоку из 4 пикселей (2х2) яркостного канала Y ставятся в соответствие усреднённые значения Cb и Cr (схема прореживания «4:2:0»[7]). При этом для каждого блока 2х2 вместо 12 значений (4 Y, 4 Cb и 4 Cr) используется всего 6 (4 Y и по одному усреднённому Cb и Cr). Если к качеству восстановленного после сжатия изображения предъявляются повышенные требования, прореживание может выполняться лишь в каком-то одном направлении — по вертикали (схема «4:4:0») или по горизонтали («4:2:2»), или не выполняться вовсе («4:4:4»).

Пример изображения в формате jpg.

Стандарт допускает также прореживание с усреднением Cb и Cr не для блока 2х2, а для четырёх расположенных последовательно (по вертикали или по горизонтали) пикселей, то есть для блоков 1х4, 4х1 (схема «4:1:1»), а также 2х4 и 4х2 (схема «4:1:0»). Допускается также использование различных типов прореживания для Cb и Cr, но на практике такие схемы применяются исключительно редко.

Далее яркостный компонент Y и отвечающие за цвет компоненты Cb и Cr разбиваются на блоки 8х8 пикселей. Каждый такой блок подвергается дискретному косинусному преобразованию (ДКП). Полученные коэффициенты ДКП квантуются (для Y, Cb и Cr в общем случае используются разные матрицы квантования) и пакуются с использованием кодирования серий и кодов Хаффмана. Стандарт JPEG допускает также использование значительно более эффективного арифметического кодирования, однако из-за патентных ограничений (патент на описанный в стандарте JPEG арифметический QM-кодер принадлежит IBM) на практике оно используется редко. В популярную библиотеку libjpeg последних версий включена поддержка арифметического кодирования, но с просмотром сжатых с использованием этого метода изображений могут возникнуть проблемы, поскольку многие программы просмотра не поддерживают их декодирование.

Матрицы, используемые для квантования коэффициентов ДКП, хранятся в заголовочной части JPEG-файла. Обычно они строятся так, что высокочастотные коэффициенты подвергаются более сильному квантованию, чем низкочастотные. Это приводит к огрублению мелких деталей на изображении. Чем выше степень сжатия, тем более сильному квантованию подвергаются все коэффициенты.

При сохранении изображения в JPEG-файле указывается параметр качества, задаваемый в некоторых условных единицах, например, от 1 до 100 или от 1 до 10. Большее число обычно соответствует лучшему качеству (и большему размеру сжатого файла). Однако даже при использовании наивысшего качества (соответствующего матрице квантования, состоящей из одних только единиц) восстановленное изображение не будет в точности совпадать с исходным, что связано как с конечной точностью выполнения ДКП, так и с необходимостью округления значений Y, Cb, Cr и коэффициентов ДКП до ближайшего целого. Режим сжатия Lossless JPEG, не использующий ДКП, обеспечивает точное совпадение восстановленного и исходного изображений, однако его малая эффективность (коэффициент сжатия редко превышает 2) и отсутствие поддержки со стороны разработчиков программного обеспечения не способствовали популярности Lossless JPEG.

Разновидности схем сжатия JPEG

Стандарт JPEG предусматривает два основных способа представления кодируемых данных.

Наиболее распространённым, поддерживаемым большинством доступных кодеков, является последовательное (sequential JPEG) представление данных, предполагающее последовательный обход кодируемого изображения разрядностью 8 бит на компоненту (или 8 бит на пиксель для чёрно-белых полутоновых изображений) поблочно слева направо, сверху вниз. Над каждым кодируемым блоком изображения осуществляются описанные выше операции, а результаты кодирования помещаются в выходной поток в виде единственного «скана», то есть массива кодированных данных, соответствующего последовательно пройденному («просканированному») изображению. Основной или «базовый» (baseline) режим кодирования допускает только такое представление (и хаффмановское кодирование квантованных коэффициентов ДКП). Расширенный (extended) режим наряду с последовательным допускает также прогрессивное (progressive JPEG) представление данных, кодирование изображений разрядностью 12 бит на компоненту/пиксель (сжатие таких изображений спецификацией JFIF не поддерживается) и арифметическое кодирование квантованных коэффициентов ДКП.

В случае progressive JPEG сжатые данные записываются в выходной поток в виде набора сканов, каждый из которых описывает изображение полностью с всё большей степенью детализации. Это достигается либо путём записи в каждый скан не полного набора коэффициентов ДКП, а лишь какой-то их части: сначала — низкочастотных, в следующих сканах — высокочастотных (метод «spectral selection» то есть спектральных выборок), либо путём последовательного, от скана к скану, уточнения коэффициентов ДКП (метод «successive approximation», то есть последовательных приближений). Такое прогрессивное представление данных оказывается особенно полезным при передаче сжатых изображений с использованием низкоскоростных каналов связи, поскольку позволяет получить представление обо всём изображении уже после передачи незначительной части JPEG-файла.

Обе описанные схемы (и sequential, и progressive JPEG) базируются на ДКП и принципиально не позволяют получить восстановленное изображение абсолютно идентичным исходному. Однако стандарт допускает также сжатие, не использующее ДКП, а построенное на основе линейного предсказателя (lossless, то есть «без потерь», JPEG), гарантирующее полное, бит-в-бит, совпадение исходного и восстановленного изображений. При этом коэффициент сжатия для фотографических изображений редко достигает 2, но гарантированное отсутствие искажений в некоторых случаях оказывается востребованным. Заметно большие степени сжатия могут быть получены при использовании не имеющего, несмотря на сходство в названиях, непосредственного отношения к стандарту JPEG ISO/IEC 10918-1 (ITU T.81 Recommendation) метода сжатия JPEG-LS, описываемого стандартом ISO/IEC 14495-1 (ITU T.87 Recommendation).

Синтаксис и структура

Файл JPEG содержит последовательность маркеров, каждый из которых начинается с байта 0xFF, свидетельствующего о начале маркера, и байта-идентификатора. Некоторые маркеры состоят только из этой пары байтов, другие же содержат дополнительные данные, состоящие из двухбайтового поля с длиной информационной части маркера (включая длину этого поля, но за вычетом двух байтов начала маркера, то есть 0xFF и идентификатора) и собственно данных. Такая структура файла позволяет быстро отыскать маркер с необходимыми данными (например, с длиной строки, числом строк и числом цветовых компонентов сжатого изображения).

Основные маркеры JPEG[8] Маркер Байты Длина Назначение Комментарии SOI SOF0 SOF1 SOF2 DHT DQT DRI SOS RSTn APPn COM EOI
0xFFD8 нет Начало изображения
0xFFC0 переменный размер Начало фрейма (базовый, ДКП) Показывает, что изображение кодировалось в базовом режиме с использованием ДКП и кода Хаффмана. Маркер содержит число строк и длину строки изображения (двухбайтовые поля со смещением соответственно 5 и 7 относительно начала маркера), количество компонентов (байтовое поле со смещением 9 относительно начала маркера), число бит на компонент — строго 8 (байтовое поле со смещением 4 относительно начала маркера), а также соотношение компонентов (например, 4:2:0).
0xFFC1 переменный размер Начало фрейма (расширенный, ДКП, код Хаффмана) Показывает, что изображение кодировалось в расширенном (extended) режиме с использованием ДКП и кода Хаффмана. Маркер содержит число строк и длину строки изображения, количество компонентов, число бит на компонент (8 или 12), а также соотношение компонентов (например, 4:2:0).
0xFFC2 переменный размер Начало фрейма (прогрессивный, ДКП, код Хаффмана) Показывает, что изображение кодировалось в прогрессивном режиме с использованием ДКП и кода Хаффмана. Маркер содержит число строк и длину строки изображения, количество компонентов, число бит на компонент (8 или 12), а также соотношение компонентов (например, 4:2:0).
0xFFC4 переменный размер Содержит таблицы Хаффмана Задает одну или более таблиц Хаффмана.
0xFFDB переменный размер Содержит таблицы квантования Задает одну или более таблиц квантования.
0xFFDD 4 байта Указывает длину рестарт-интервала Задает интервал между маркерами RST n в макроблоках. При отсутствии DRI появление в потоке кодированных данных маркеров RSTn недопустимо и считается ошибкой. Если при кодировании маркеры RST n не применяются, маркер DRI либо не используется вовсе, либо интервал повторений в нём указывается равным 0.
0xFFDA переменный размер Начало сканирования Начало первого или очередного скана изображения с направлением обхода слева направо сверху вниз. Если использовался базовый режим кодирования, используется один скан. При использовании прогрессивных режимов используется несколько сканов. Маркер SOS является разделяющим между информативной (заголовком) и закодированной (собственно сжатыми данными) частями изображения.
0xFFDn нет Перезапуск Маркеры перезапуска используются для сегментирования кодированных энтропийным кодером данных. В каждом сегменте данные декодируются независимо, что позволяет распараллелить процедуру декодирования. При повреждении кодированных данных в процессе передачи или хранения JPEG-файла использование маркеров перезапуска позволяет ограничить потери (макроблоки из неповреждённых сегментов будут восстановлены правильно). Вставляется в каждом r-м макроблоке, где r — интервал перезапуска DRI маркера. Не используется при отсутствии DRI маркера. n, младшие 3 бита маркера кода, циклы от 0 до 7.
0xFFEn переменный размер Задаётся приложением Например, в EXIF JPEG-файла используется маркер APP1 для хранения метаданных, расположенных в структуре, основанной на TIFF.
0xFFFE переменный размер Комментарий Содержит текст комментария.
0xFFD9 нет Конец закодированной части изображения.

Достоинства и недостатки

К недостаткам сжатия по стандарту JPEG следует отнести появление на восстановленных изображениях при высоких степенях сжатия характерных артефактов: изображение рассыпается на блоки размером 8x8 пикселей (этот эффект особенно заметен на областях изображения с плавными изменениями яркости), в областях с высокой пространственной частотой (например, на контрастных контурах и границах изображения) возникают артефакты в виде шумовых ореолов. Следует отметить, что стандарт JPEG (ISO/IEC 10918-1, Annex K, п. K.8) предусматривает использование специальных фильтров для подавления блоковых артефактов, но на практике подобные фильтры, несмотря на их высокую эффективность, практически не используются.

Однако, несмотря на недостатки, JPEG получил очень широкое распространение из-за достаточно высокой (относительно существовавших во время его появления альтернатив) степени сжатия, поддержке сжатия полноцветных изображений и относительно невысокой вычислительной сложности.

Производительность сжатия по стандарту JPEG

Для ускорения процесса сжатия по стандарту JPEG традиционно используется распараллеливание вычислений, в частности — при вычислении ДКП. Исторически одна из первых попыток ускорить процесс сжатия с использованием такого подхода описана в опубликованной в 1993 году статье Касперовича и Бабкина[9], в которой предлагалась оригинальная аппроксимация ДКП, делающая возможным эффективное распараллеливание вычислений с использованием 32-разрядных регистров общего назначения процессоров Intel 80386. Появившиеся позже более производительные вычислительные схемы использовали SIMD-расширения набора инструкций процессоров архитектуры x86. Значительно лучших результатов позволяют добиться схемы, использующие вычислительные возможности графических ускорителей (технологии NVIDIA CUDA и AMD FireStream) для организации параллельных вычислений не только ДКП, но и других этапов сжатия JPEG (преобразование цветовых пространств, run-level, статистическое кодирование и т. п.), причём для каждого блока 8х8 кодируемого или декодируемого изображения. В статье[10] была представлена реализация распараллеливания всех стадий алгоритма JPEG по технологии CUDA, что значительно ускорило производительность сжатия и декодирования по стандарту JPEG.

См. также

Примечания

Ссылки

wiki.sc

Семейство графических форматов JPEG

История создания и область применения

Что такое JPEG?

Началось все в 1986 году, когда под эгидой международной организации по стандартизации (ISO) и международной электротехнической комиссиии (IEC) была создана рабочая группа - ISO/IECJTC1/SC29/WG1, в которую вошли ведущие специалисты в области фотографии со всего мира. Именно тогда мир услышал слово JPEG, которое на самом деле является аббревиатурой от Joint Photographic Experts Group. Теперь рабочая группа ISO/IECJTC1/SC29/WG1 имела куда более благозвучное название - JPEG Сommittee.JPEG это Объединенная группа экспертов в области фотографии (аббревиатура от Joint Photographic Experts Group).

Основной целью Joint Photographic Experts Group было создание метода сжатия изображений фотографического качества, до размеров, приемлемых для передачи по компьютерным сетям. И уже в августе 1990 года ISO стандартизовал метод сжатия графических изображений с потерями, созданный Joint Photographic Experts Group. Данный метод получил название JPEG (официальное название стандарта ISO/IEC IS 10918-1 | ITU-T Recommendation T.81). Впервые был реализовал новый принцип сжатия с потерями информации. Он основан на удалении из изображения той части информации, которая слабо воспринимается человеческим глазом. Лишенное избыточной информации изображение занимает гораздо меньше места, чем исходное. Степень сжатия, а, следовательно, и количество удаляемой информации, плавно регулируется. Низкие степени сжатия дают лучшее качество изображения, а высокие могут существенно его ухудшить.JPEG это метод сжатия графических изображений с потерями.

В дальнейшем, стандарт улучшали и добавляли новые возможности. В частности, было добавлено прогрессивное чередование. Данная версия стандарта получила название p-JPEG (Progressive JPEG).

JPEG-LS

После того, как был создан алгоритм компрессии JPEG, описанный выше, в комитет стали поступать некоторые критические отзывы о существующем стандарте. Чаше всего высказывались претензии к плохому качеству JPEG изображений, сохраненных без потерь (параметр сжатия равен нулю). Комитет принимает решение пересмотреть стандарт – добавить режим кодирования без потерь. По сути, требовалась интеграция двух видов компрессии: с потерями и без потерь.

Традиционно был устроен конкурс алгоритмов сжатия, на котором проводилось численное и визуальное сравнение результатов работы различных программ. Лучшие результаты показал алгоритм LOCO от HP Labs. Он и был выбран в качестве основы для нового стандарта.

Так появился новый стандарт JPEG-LS – ISO/IEC IS 14495-1 | ITU-T Recommendation T.87.

JPEG2000

JPEG в целом оказался достаточно удачным стандартом. Он обеспечивает высокую эффективность сжатия при приемлемом уровне потерь. Несмотря на огромную популярность стандарта JPEG, по прошествии нескольких лет естественным образом возникла необходимость в появлении нового, усовершенствованного стандарта. Так как были разработаны более эффективные методы сжатия, и приложения требовали от форматов хранения видеоданных все больше и больше функциональности. Стандарт JPEG часто не удовлетворял новым требованиям и должен был быть заменен.

Название нового стандарта JPEG2000 изначально указывало на год его ожидаемого выхода, но к 2000 году стандарт так и не был завершен.

На сегодняшний день документация на JPEG2000 состоит из 12 частей. Первая ее часть содержит основную информацию – ядро, и имеет официальный статус международного стандарта. Она описывает основные моменты, которые должны быть в обязательном порядке соблюдены в любой реализации стандарта. Вторая часть содержит расширения основной части, которые не являются обязательными. Так как в процессе разработки поступало большое количество различных предложений, было принято решение часть из них внести в базовый вариант стандарта, а часть рассматривать как дополнение. Данный подход выгоден тем, что, во-первых, учитывает большое количество различных предложений и обеспечивает гибкость, а во-вторых, позволяет получать достаточно непритязательные в плане вычислительных ресурсов реализации, совместимые со стандартом. Остальные 10 частей содержат множество дополнительных функций, все эти части можно найти на официальном сайте JPEG2000.

Отправной точкой для стандарта JPEG2000 стало предложение М. Болиека 1996 года. Разработанный Болиеком алгоритм участвовал в конкурсе для стандарта сжатия изображений без потерь JPEG-LS, но был отвергнут в пользу более перспективного алгоритма LOCO. Алгоритм Болиека, тем не менее, обладал рядом очень привлекательных возможностей, что послужило причиной создания нового стандарта JPEG2000.

Объявление о начале разработки нового стандарта датируется мартом 1997 года. Алгоритм также был отобран путем конкурса нескольких алгоритмов. Программа -победитель (ею стала разработка аризонского университета, алгоритм WTCQ) была выбрана за основу первой версии стандарта. В ноябре 1998 года с подачи Д. Таубмана в стандарт было внесено существенное изменение. Таубман предложил решение, позволившее сделать стандарт существенно более гибким и менее требовательным к ресурсам вычислительной системы. Алгоритм Таубмана (алгоритм EBCOT) в результате составил основу финальной версии стандарта.

JPEG форматы - JFIF, SPIFF

В августе 1990 года ISO стандартизовал метод сжатия графических изображений с потерями, созданный Joint Photographic Experts Group (он же ISO/IECJTC1/SC29/WG1). Данный метод получил название JPEG. Уже в 1991 году появились первые приложения, использующие этот алгоритм. Впервые был реализовал новый принцип сжатия с потерями информации. Он основан на удалении из изображения той части информации,которая слабо воспринимается человеческим глазом. Лишенное избыточной информации изображение занимает гораздо меньше места, чем исходное. Степень сжатия, а, следовательно, и количество удаляемой информации, плавно регулируется. Низкие степени сжатия дают лучшее качество изображения, а высокие могут существенно его ухудшить.

Создав метод компрессии, JPEG комитет не создал формат файлов, использующих этот метод сжатия. Официально, причиной того, что данный формат не был создан, было заявлено следующее: руководитель JPEG комитета понимал, что существует огромное множество всевозможных групп, которые создают свои собственные форматы файлов для множества различных приложений. И каждая из этих групп по своему использовала JPEG компрессию, в соответствии с устройством формата. Поэтому было решено, что невозможно создать формат, который бы полностью удовлетворял всех. Имеется также и неофициальная версия, которая утверждает, что комитет находился под сильным давлением, нужно было выпустить стандарт, так что брать на себя еще одну крупную задачу, такую как создание формата, комитет не мог.

Данный метод сжатия давал возможность передавать изображения высокого качества по сети, ввиду их маленького размера. Однако, данные сжатые методом JPEG, нуждались в сопровождении какой-то дополнительной информацией. В результате возникла острая потребность в формате, который был бы переносим для многих операционных систем. Именно такой формат создали Эрик Гамильтон (Eric Hamilton) из C-Cube Microsystems, а также ряд других разработчиков. В октябре 1991 года IJG (Independent JPEG Group) представила этот графический формат файлов, назвав его JFIF (JPEG File Interchange Format), то есть формат для обмена файлами с использованием компрессии JPEG. JFIF устроен очень просто, он содержит небольшое количество заголовков следующих за JPEG данными. Благодаря IJG, в частности Тому Лейну (Tom Lane), формат быстро стал стандартом де-факто для изображений сжатых методом JPEG. Их, так называемый Open Source, способствовал тому, что многие компании включали поддержку формата в свои графические редакторы и веб-браузеры.

Однако, пятью годами позже, в 1995, JPEG комитет восполнил данный пробел выпустив стандарт графического формата под названием SPIFF(Still Picture Interchange File Format). SPIFF является официальным, международным стандартом, использующим JPEG компрессию. Он является официальной заменой формата JFIF.

Когда Гамильтон стал руководителем WG1 ( JPEG и JBIG комитетов), он стал работать над полным определением формата файлов с компрессией JPEG. Необходимость в новом формате он обосновывал тем, что до сих пор существуют огромные сложные форматы с огромными наборами различных возможностей, в то время как большинству пользователей требовался простой формат для обмена файлами. Обмен сжатыми изображениями входил в задачи проекта ISO под названием JTC 1.29.04 ( JPEG), и, следовательно, замечал Гамильтон, комитет может начать работу над SPIFF без бюрократических проволочек по созданию нового рабочего плана.

Почему же понадобился новый формат? Ведь уже существовал JFIF – малых объемов, простой, распространенный, и практически любое ПО для работы с изображениями поддерживало этот формат.

Во-первых, SPIFF намного тщательнее проработан, точнее определен, и лучше продуман чем JFIF. SPIFF подвергся более доскональному анализу.

Во-вторых, SPIFF более гибкий, чем JFIF. Он содержит набор дополнительных возможностей. Дополнительные опции включают поддержку многих цветовых пространств, и предоставляет определение гамма-изображений. JFIF разрабатывался как минимальный формат, поддерживающий JPEG компрессию, поэтому значение гаммы выставлялось - 1.0. Многие исходные изображения имели другое, технически более высокое, значение гаммы, чаще всего около 0.4 - 0.5. Изменение значений гамма означало, что JFIF изображения часто получались или слишком темными, или слишком светлыми, в зависимости от исходного изображения и системы просмотра. SPIFF же предполагает маркировку файлов их значением гамма. После зритель может откорректировать яркость, если это необходимо для его оборудования.

SPIFF часть стандарта JPEG и следовательно очень хорошо определен и протестирован на совместимость. Предполагается, что SPIFF в конечном счете заменит JFIF.

SPIFF также полностью поддерживается IJG, следовательно вы можете использовать SPIFF в своих приложениях, оперируя досконально документированной, качественно написанной, свободно распространяемой библиотекой исходного кода, что и делают сотни программ.

Спецификация SPIFF не определяет стандартное расширение файлов. IJG рекомендует следующие расширения: ".JPG" и ".JPEG" - для SPIFF фалов, использующих JPEG-компрессию с потерями, и ".SPF" для всех других вариантов SPIFF.

Расширение файлов .JPG уже широко используется для формата JFIF (JPEG files). Однако, написанное должным образом, JFIF-совместимое ПО, должно читать SPIFF-JPEG файлы без проблем. Такая совместимость тщательно продумывалась при создании SPIFF формата. Для того, чтобы это было возможным, SPIFF заголовок устроен как набор JPEG APPn маркеров, которые игнорируются старыми декодерами.

Предполагается так же и обратная совместимость. То есть SPIFF-JPEG-совместимое ПО должно корректно обрабатывать JFIF файлы. Именно потому, что JFIF и SPIFF-JPEG форматы корректно обрабатываются этими двумя видами ПО, нет необходимости вводить новое расширение для SPIFF файлов, создавая тем самым путаницу.

Стоит отметить, что существуют варианты формата SPIFF, использующие отличную от JPEG компрессию. Такие форматы, несовместимы с любым существующим JPEG-совместимым ПО. Для таких файлов, конечно же, необходимы другие расширения. Использование расширений ".JPG" и ".SPF" даст четкое разграничение SPIFF файлов на файлы использующие сжатие с потерями и без потерь. Что, в свою очередь, поможет пользователям точно определить тип компрессии и исключить непреднамеренную порчу данных.

На сегодняшний день GIF и JFIF являются самыми популярными графическими форматами в мире компьютерных сетей. Эти форматы не являются взаимозаменяемыми, они служат для разных целей. Например, для оформления сайта (под оформлением я подрозумеваю логотип сайта, кнопочки, стрелочки, черточки и пр.) идеально подходит GIF. Он имеет малый размер, обладает прозрачностью и самое интересное, позволяет создавать анимированые картинки. Но GIF обладает палитрой в 256 цветов, такого каличества вполне достаточно для оформления, а если нам необходимо разсместить на сайте изображение фотографического качества? Для передачи по сети изображений фотографического качества идеально подходят форматы JPEG. Этот формат лучше всего подходит для изображений реальной жизни в сети — отсканированных картинок или цифровых фотографий.

cs.usu.edu.ru

как перевести фото в формат JPEG

Открыть с помощью любой графической проги, хть через Пейнт, и пересохранить выбрав формат JPEG

Открываете программу просмотра изображений ACDSee, загружаете то изображение, которое необходимо обработать. После загрузки на панели задач выбирает "Файл", "Сохранить как", вводите имя и в нижней строчке - необходимый формат. Он выбирается, если нажать на кнопку с треугольником справа.

Смотря в каком формате до этого оно было. Возможно, надо будет поменять глубину цвета прежде чем нажимать "сохранить как... "

Скачал такую прогу <a rel="nofollow" href="http://www.cwer.ru/sphinx/?s=Advanced+JPEG" target="_blank">http://www.cwer.ru/sphinx/?s=Advanced+JPEG</a>

Нужно было написать из какого формата в....

программа Format Factory,там не только в формат jpeg можно переводить но и во многие другие

NEW в любом фото редакторе нажать сохранить как и выбрать формат

еСЛИ У МЕНЯ ГОТОВАЯ ПРЕЗЕНТАЦИЯ И ЕЕ НАДО ПЕРЕВЕСТИ В ФОРМАТ JPEB, ТО ГДЕ ЭТО СОХРАНИТЬ КАК?

touch.otvet.mail.ru

Что такое JPG и JPEG файлы

Файл с JPG или JPEG расширение представляет собой файл изображения JPEG. Причина, по которой некоторые файлы изображений JPEG используют расширение .JPG-файла по сравнению с .JPEG, объясняется ниже, но независимо от расширения, они оба являются одинаковыми файлами.

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

Примечание. Некоторые файлы изображений JPEG используют расширение файла .JPE, но это не очень часто. Файлы JFIF являются файлами обмена файлами JPEG, которые также используют сжатие JPEG, но не так популярны, как файлы JPG.

Как открыть файл JPG / JPEG

Файлы JPG поддерживаются всеми зрителями и редакторами изображений. Это наиболее распространенный формат изображения.

Вы можете открывать файлы JPG с помощью своего веб-браузера, например Chrome или Firefox (перетащить локальные файлы JPG в окно браузера) или встроенные программы Microsoft, такие как Paint, Microsoft Windows Photos и Microsoft Photo Viewer. Если вы находитесь на Mac, Apple Preview и Apple Photos могут открыть файл JPG.

Adobe Photoshop , GIMP и в основном любая другая программа, которая просматривает изображения, включая онлайн-сервисы, такие как Google Диск , также поддерживает файлы JPG.

Мобильные устройства обеспечивают поддержку для открытия JPG-файлов, что означает, что вы можете просматривать их в своей электронной почте и через текстовые сообщения, не требуя конкретного приложения для просмотра JPG.

Некоторые программы могут не распознавать изображение в виде файла изображения JPEG, если у него нет правильного расширения файла, которое программа ищет. Например, некоторые основные редакторы изображений и зрители будут открывать только файлы .JPG и не будут знать, что файл .JPEG у вас есть одно и то же. В этих случаях вы можете просто переименовать файл, чтобы иметь расширение файла, которое программа понимает.

Примечание. В некоторых форматах файлов используются расширения файлов, которые выглядят как .JPG-файлы, но на самом деле не связаны. Примеры включают JPR (JBuilder Project или Fugawi Projection), JPS (Стерео JPEG-изображение или архив архива Akeeba) и JPGW (JPEG World).

Как преобразовать файл JPG / JPEG

Существует два основных способа конвертировать файлы JPG. Вы можете использовать средство просмотра / редактирования изображений, чтобы сохранить его в новом формате (при условии, что эта функция поддерживается) или подключить файл JPG к программе конвертации изображений .

Например, FileZigZag - это онлайн-конвертер JPG, который может сохранять файл в нескольких других форматах, включая PNG , TIF / TIFF , GIF , BMP , DPX, TGA , PCX и YUV.

Вы даже можете конвертировать JPG-файлы в формат MS Word, такой как DOCX или DOC, с Zamzar , который похож на FileZigZag на то, что он конвертирует файл в формате JPG в Интернете. Он также сохраняет JPG для ICO, PS, PDF и WEBP, среди других форматов.

Совет. Если вы просто хотите вставить файл JPG в документ Word, вам не нужно преобразовывать файл в формат файла MS Word. На самом деле такой разговор не делает для очень хорошо отформатированного документа. Вместо этого используйте встроенное в Word меню INSERT> Pictures, чтобы подключить JPG непосредственно в документ, даже если у вас уже есть текст.

Откройте JPG-файл в Microsoft Paint и используйте меню File> Save as, чтобы преобразовать его в BMP, DIB, PNG, TIFF и т. Д. Другие упомянутые выше просмотры и редакторы JPG поддерживают аналогичные параметры меню и форматы выходных файлов.

Использование веб-сайта Convertio - это один из способов конвертировать JPG в EPS, если вы хотите, чтобы файл изображения находился в этом формате. Если это не сработает, вы можете попробовать AConvert.com .

Несмотря на то, что на веб-сайте создается впечатление, что работают только файлы PNG, Online PNG to SVG Converter также преобразует JPG-файл в формат изображения SVG (вектор).

Является ли .JPG тем же, что и .JPEG

Интересно, какая разница между JPEG и JPG? Форматы файлов идентичны, но там есть дополнительная буква. На самом деле ... это единственное различие.

JPG и JPEG представляют собой формат изображения, поддерживаемый Joint Photographic Experts Group, и имеют то же значение. Причина для разных расширений файлов связана с тем, что ранние версии Windows не принимают более длинное расширение.

Как и HTM и HTML- файлы, когда формат JPEG был впервые введен, официальное расширение файла было JPEG (с четырьмя буквами). Однако в то время в Windows требовалось, чтобы все расширения файлов не превышали трех букв, поэтому .JPG использовался для того же формата. Однако компьютеры Mac не имели такого ограничения.

Случилось так, что оба расширения файлов были использованы в обеих системах, а затем Windows изменила их требования, чтобы принимать более длинные расширения файлов, но JPG все еще используется. Поэтому файлы JPG и JPEG распространяются и продолжают создаваться.

Хотя оба расширения файлов существуют, форматы являются то же самое и могут быть переименованы в другие без потери функциональности.

lezhnyov.ru

LS - это... Что такое JPEG-LS?

Группа экспертов в области фотографии (Joint Photographic Experts Group) в дополнение к известным форматам сжатия изображений JPEG и JPEG 2000, ориентированным прежде всего на сжатие с потерями, предложила также стандарт на сжатие без потерь — JPEG-LS (в котором, однако, предусмотрен также режим сжатия с ограниченными потерями):

Формат JPEG-LS

Формат JPEG-LS был основан на формате LOCO-I (Low Complexity Lossless Compression for Images)[1]. Алгоритм сжатия без потерь LOCO-I, принятый за основу при разработке стандарта JPEG-LS, впервые предусматривал не только lossless, но и near lossless режим (сжатие с ограниченными, задаваемыми пользователем потерями). Декодер JPEG-LS почти не отличается от кодера, поэтому этот алгоритм сжатия симметричный. [1]

Алгоритм сжатия, лежащий в основе JPEG-LS, использует адаптивное предсказание значения текущего пиксела по окружению, включающему уже закодированные пикселы (метод Median Edge Detection), классификацию контекста, контекстное моделирование ошибки предсказания и её коррекцию, а также энтропийное кодирование скорректированной ошибки предсказания (используется кодирование Голомба-Райса)[2]. Для повышения эффективности кодирования низкоэнтропийных изображений (или фрагментов изображений) алгоритм предусматривает автоматический переход в режим кодирования длин серий, что позволяет использовать его для сжатия без потерь (или с ограниченными потерями) не только фотореалистических изображений, но и компьютерной графики.

Для цветных (многокомпонентных) изображений стандарт JPEG-LS не предписывает какого-то определённого метода преобразования цветовых компонент, поэтому программы, реализующие JPEG-LS, обычно предлагают выбрать одну схему из нескольких (независимое сжатие цветовых плоскостей, преобразование в стиле JPEG 2000 lossless mode и т. п.).

Применение

Формат JPEG-LS разрабатывался, прежде всего, для хранения изображений в медицинских целях, то есть для тех случаев, когда важно иметь большое изображение без малейших потерь качества. Как уже говорилось, за основу был взят формат LOCO-I, разработанный в стенах «HP Labs». Затем он был доработан совместными усилиями «Hewlett-Packard» и «Mitsubishi». Обе компании разрешили использовать их патенты на этот формат без оплаты лицензии, поэтому JPEG-LS можно встретить и в обычных программах для PC. [2]

Конкурирующие форматы

Lossless JPEG

Lossless JPEG представляет собой дополнение к JPEG (и к JPEG-LS, несмотря на некоторое сходство в названии, отношения не имеет). В отличие от «обычного» JPEG, построенного на основе дискретного косинусного преобразования, Lossless JPEG использует схему предсказания значения пиксела по трём ближайшим соседям — верхнему, левому и верхнему левому пикселам, а для сжатия разницы между истинным и предсказанным значением пиксела использует энтропийное кодирование. В отличие от JPEG-LS алгоритм сжатия Lossless JPEG не предусматривает ни адаптивного предсказания значения кодируемого пиксела, ни контекстного моделирования ошибки предсказания. Для энтропийного кодирования ошибки предсказания Lossless JPEG использует код Хаффмана. В качестве альтернативного стандарт допускает использование арифметического кодирования, однако, из-за патентных ограничений оно не нашло применения в практических реализациях Lossless JPEG. Этот метод не получил широкого распространения и не поддерживается популярными библиотеками IJG libraries.

JPEG 2000

JPEG 2000 также содержит режим сжатия без потерь (отличающийся от JPEG-LS) основанный на специальном целочисленном вейвлет фильтре (биортогональный 3/5). Сжатие без потерь в JPEG 2000 работает медленнее и дает несколько меньшее сжатие по сравнению с JPEG-LS как на искусственных, так и на фотореалистичных изображениях [3][4][5].

См. также

Примечания

Ссылки

biograf.academic.ru

LS - это... Что такое JPEG-LS?

Группа экспертов в области фотографии (Joint Photographic Experts Group) в дополнение к известным форматам сжатия изображений JPEG и JPEG 2000, ориентированным прежде всего на сжатие с потерями, предложила также стандарт на сжатие без потерь — JPEG-LS (в котором, однако, предусмотрен также режим сжатия с ограниченными потерями):

Формат JPEG-LS

Формат JPEG-LS был основан на формате LOCO-I (Low Complexity Lossless Compression for Images)[1]. Алгоритм сжатия без потерь LOCO-I, принятый за основу при разработке стандарта JPEG-LS, впервые предусматривал не только lossless, но и near lossless режим (сжатие с ограниченными, задаваемыми пользователем потерями). Декодер JPEG-LS почти не отличается от кодера, поэтому этот алгоритм сжатия симметричный. [1]

Алгоритм сжатия, лежащий в основе JPEG-LS, использует адаптивное предсказание значения текущего пиксела по окружению, включающему уже закодированные пикселы (метод Median Edge Detection), классификацию контекста, контекстное моделирование ошибки предсказания и её коррекцию, а также энтропийное кодирование скорректированной ошибки предсказания (используется кодирование Голомба-Райса)[2]. Для повышения эффективности кодирования низкоэнтропийных изображений (или фрагментов изображений) алгоритм предусматривает автоматический переход в режим кодирования длин серий, что позволяет использовать его для сжатия без потерь (или с ограниченными потерями) не только фотореалистических изображений, но и компьютерной графики.

Для цветных (многокомпонентных) изображений стандарт JPEG-LS не предписывает какого-то определённого метода преобразования цветовых компонент, поэтому программы, реализующие JPEG-LS, обычно предлагают выбрать одну схему из нескольких (независимое сжатие цветовых плоскостей, преобразование в стиле JPEG 2000 lossless mode и т. п.).

Применение

Формат JPEG-LS разрабатывался, прежде всего, для хранения изображений в медицинских целях, то есть для тех случаев, когда важно иметь большое изображение без малейших потерь качества. Как уже говорилось, за основу был взят формат LOCO-I, разработанный в стенах «HP Labs». Затем он был доработан совместными усилиями «Hewlett-Packard» и «Mitsubishi». Обе компании разрешили использовать их патенты на этот формат без оплаты лицензии, поэтому JPEG-LS можно встретить и в обычных программах для PC. [2]

Конкурирующие форматы

Lossless JPEG

Lossless JPEG представляет собой дополнение к JPEG (и к JPEG-LS, несмотря на некоторое сходство в названии, отношения не имеет). В отличие от «обычного» JPEG, построенного на основе дискретного косинусного преобразования, Lossless JPEG использует схему предсказания значения пиксела по трём ближайшим соседям — верхнему, левому и верхнему левому пикселам, а для сжатия разницы между истинным и предсказанным значением пиксела использует энтропийное кодирование. В отличие от JPEG-LS алгоритм сжатия Lossless JPEG не предусматривает ни адаптивного предсказания значения кодируемого пиксела, ни контекстного моделирования ошибки предсказания. Для энтропийного кодирования ошибки предсказания Lossless JPEG использует код Хаффмана. В качестве альтернативного стандарт допускает использование арифметического кодирования, однако, из-за патентных ограничений оно не нашло применения в практических реализациях Lossless JPEG. Этот метод не получил широкого распространения и не поддерживается популярными библиотеками IJG libraries.

JPEG 2000

JPEG 2000 также содержит режим сжатия без потерь (отличающийся от JPEG-LS) основанный на специальном целочисленном вейвлет фильтре (биортогональный 3/5). Сжатие без потерь в JPEG 2000 работает медленнее и дает несколько меньшее сжатие по сравнению с JPEG-LS как на искусственных, так и на фотореалистичных изображениях [3][4][5].

См. также

Примечания

Ссылки

dal.academic.ru