JPEG


JPEG или JPG ( / р ɛ ɡ / ДЖЭЙ -PEG ) [2] является широко используемым методом сжатия с потерями для цифровых изображений , особенно для тех изображений , полученных с помощью цифровой фотографии . Степень сжатия можно регулировать, что позволяет выбирать компромисс между размером хранилища и качеством изображения . JPEG обычно обеспечивает сжатие 10: 1 с незначительной потерей качества изображения. [3] С момента своего появления в 1992 году JPEG был наиболее широко используемым стандартом сжатия изображений в мире.[4] [5] и наиболее широко используемый формат цифровых изображений: по состоянию на 2015 год ежедневно создавалось несколько миллиардов изображений JPEG. [6]

Постоянно изменяемое сжатие JPEG (от Q = 100 до Q = 1) для КТ брюшной полости

Термин «JPEG» является аббревиатурой от Joint Photographic Experts Group , которая создала стандарт в 1992 году. Основой для JPEG является дискретное косинусное преобразование (DCT) [1], метод сжатия изображений с потерями, который был впервые предложен Насир Ахмед в 1972 году. [7] JPEG был в значительной степени ответственен за распространение цифровых изображений и цифровых фотографий в Интернете, а затем и в социальных сетях . [8]

Сжатие JPEG используется во многих форматах файлов изображений . JPEG / Exif - наиболее распространенный формат изображения, используемый цифровыми фотоаппаратами и другими устройствами захвата фотографических изображений; наряду с JPEG / JFIF , это наиболее распространенный формат для хранения и передачи фотографических изображений во всемирной паутине . [9] Эти варианты формата часто не различаются и называются просто JPEG.

Тип мультимедиа MIME для JPEG - image / jpeg , за исключением старых версий Internet Explorer , которые предоставляют MIME-тип изображения / pjpeg при загрузке изображений JPEG. [10] файлы JPEG обычно имеют расширение имени файла в .jpgили .jpeg. JPEG / JFIF поддерживает максимальный размер изображения 65 535 × 65 535 пикселей [11], следовательно, до 4 гигапикселей при соотношении сторон 1: 1. В 2000 году группа JPEG представила формат, который должен был стать преемником, JPEG 2000 , но он не смог заменить исходный JPEG в качестве доминирующего стандарта изображения. [12]

Задний план

Исходная спецификация JPEG, опубликованная в 1992 году, реализует процессы из различных более ранних исследовательских работ и патентов, на которые ссылаются CCITT (ныне ITU-T , через ITU-T Study Group 16 ) и Joint Photographic Experts Group. [1] Основной основой алгоритма сжатия JPEG с потерями является дискретное косинусное преобразование (DCT) [1] [13], которое впервые было предложено Насиром Ахмедом в качестве метода сжатия изображений в 1972 году. [7] [13] Ахмед разработал методику сжатия изображений. Практический алгоритм DCT с Т. Натараджаном из Университета штата Канзас и К.Р. Рао из Техасского университета в Арлингтоне в 1973 г. [7] Их основополагающая статья 1974 г. [14] цитируется в спецификации JPEG вместе с несколькими более поздними исследовательскими работами, которые сделали дальнейшее работа над DCT, в том числе статья Wen-Hsiung Chen, CH Smith и SC Fralick 1977 года, в которой описан быстрый алгоритм DCT, [1] [15], а также статья 1978 года NJ Narasinha и SC Fralick, и статья 1984 г. Б.Г. Ли. [1] В спецификации также цитируется статья Вэнь-Сюн Чена и В.К. Пратта 1984 года, оказавшая влияние на его алгоритм квантования , [1] [16] и статью Дэвида А. Хаффмана 1952 года об алгоритме кодирования Хаффмана . [1]

В спецификации JPEG цитируются патенты нескольких компаний. Следующие патенты легли в основу алгоритма арифметического кодирования . [1]

  • IBM
    • Патент США 4652856 - 4 февраля 1986 - Коттаппурам М.А. Мохиуддин и Йорма Дж. Риссанен - ​​Многоалфавитный арифметический код без умножения.
    • Патент США 4905297 - 27 февраля 1990 г. - Дж. Лэнгдон, Дж. Л. Митчелл, У. Б. Пеннебейкер и Йорма Дж. Риссанен - ​​Система кодирования и декодирования арифметических кодов.
    • Патент США 4935882 - 19 июня 1990 г. - У. Б. Пеннебейкер и Дж. Л. Митчелл - Вероятностная адаптация для арифметических кодеров.
  • Mitsubishi Electric
    • JP H02202267 ( 1021672 ) - 21 января 1989 - Тошихиро Кимура, Сигенори Кино, Фумитака Оно, Масаюки Ёсида - Система кодирования
    • JP H03247123 ( 2-46275 ) - 26 февраля 1990 г. - Фумитака Оно, Томохиро Кимура, Масаюки Ёсида и Сигенори Кино - Устройство кодирования и метод кодирования

В спецификации JPEG также упоминаются три других патента IBM. Другие компании, упомянутые в качестве держателей патентов, включают AT&T (два патента) и Canon Inc. [1]. В списке отсутствует патент США № 4698672 , поданный Вен-Сюн Ченом и Дэниелом Дж. Кленке из Compression Labs в октябре 1986 года. Алгоритм сжатия изображений на основе DCT, который позже станет причиной разногласий в 2002 г. (см. Споры о патентах ниже). [17] Тем не менее, спецификация JPEG процитировала две более ранние исследовательские работы Вен-Сюн Чена, опубликованные в 1977 и 1984 годах. [1]

Стандарт JPEG

«JPEG» означает Joint Photographic Experts Group, название комитета, который создал стандарт JPEG, а также другие стандарты кодирования неподвижных изображений. «Джойнт» означает ISO TC97 WG8 и CCITT SGVIII. Основанная в 1986 году, группа разработала стандарт JPEG в конце 1980-х годов. Среди нескольких методов кодирования с преобразованием , которые они исследовали, они выбрали дискретное косинусное преобразование (DCT), поскольку это был наиболее эффективный практический метод сжатия. Группа опубликовала стандарт JPEG в 1992 году. [4]

В 1987 году ISO TC 97 стал ISO / IEC JTC1, а в 1992 году CCITT стал ITU-T. В настоящее время на стороне JTC1 JPEG является одной из двух подгрупп Объединенного технического комитета 1 ISO / IEC , Подкомитета 29, Рабочей группы 1 ( ISO / IEC JTC 1 / SC 29 / WG 1) - под названием « Кодирование неподвижных изображений» . [18] [19] [20] Со стороны МСЭ-Т ИК16 МСЭ-Т является соответствующим органом. Первоначальная группа JPEG была организована в 1986 году [21], выпустив первый стандарт JPEG в 1992 году, который был утвержден в сентябре 1992 года как Рекомендация ITU-T T.81 [22], а в 1994 году как ISO / IEC 10918-1 .

Стандарт JPEG определяет кодек , который определяет, как изображение сжимается в поток байтов и распаковывается обратно в изображение, но не формат файла, используемый для этого потока. [23] Стандарты Exif и JFIF определяют обычно используемые форматы файлов для обмена сжатыми изображениями JPEG.

Стандарты JPEG официально называются « Информационные технологии» - цифровое сжатие и кодирование неподвижных изображений с непрерывным тоном . ИСО / МЭК 10918 состоит из следующих частей:

Ecma International TR / 98 определяет формат обмена файлами JPEG (JFIF); первое издание было опубликовано в июне 2009 года. [27]

Патентные споры

В 2002 году Forgent Networks заявила, что владеет и будет обеспечивать соблюдение патентных прав на технологию JPEG, вытекающих из патента, который был подан 27 октября 1986 года и выдан 6 октября 1987 года: патент США 4698672 , выданный Вен- Сюн Чен и Даниэль Дж. Кленке. [17] [28] В то время как Forgent не владел лабораториями сжатия, Чен позже продал лаборатории сжатия Forgent, прежде чем Чен перешел на работу в Cisco . Это привело к тому, что Forgent получил право собственности на патент. [17] Объявление Форгента в 2002 году произвело фурор, напоминающий попытки Unisys отстоять свои права на стандарт сжатия изображений GIF.

Комитет JPEG исследовал патентных претензий в 2002 году , и высказали мнение о том , что они были признаны недействительными по уровню техники , [29] мнение разделяют различными экспертами. [17] [30] В патенте описан алгоритм сжатия изображения, основанный на дискретном косинусном преобразовании (DCT), [17] метод сжатия изображений с потерями, который был взят из статьи 1974 года Насира Ахмеда, Т. Натараджана и К.Р. Рао . [1] [13] [14] Вен-Сюн Чен продолжил развитие своей техники DCT, описав быстрый алгоритм DCT в статье 1977 г. с CH Smith и SC Fralick. [15] [17] В спецификации JPEG 1992 года цитируются как статья Ахмеда 1974 года, так и статья Чена 1977 года для его алгоритма DCT, а также статья 1984 года Чена и В.К. Пратта для его алгоритма квантования . [1] [16] Compression Labs была основана Ченом и стала первой компанией, коммерциализировавшей технологию DCT. [31] К тому времени, когда Чен подал в Klenke патент на алгоритм сжатия изображений на основе DCT в 1986 году, большая часть того, что позже станет стандартом JPEG, уже было сформулировано в предшествующей литературе. [17] Представитель JPEG Ричард Кларк также утверждал, что сам Чен входил в состав одного из комитетов JPEG, но Форгент отрицал это утверждение. [17]

В период с 2002 по 2004 год Forgent смогла получить около 105 миллионов долларов США, выдав лицензию на свои патенты примерно 30 компаниям. В апреле 2004 года Forgent подал в суд на 31 другую компанию с требованием обеспечить дальнейшие лицензионные платежи. В июле того же года консорциум из 21 крупной компьютерной компании подал встречный иск с целью признания патента недействительным. Кроме того, Microsoft подала отдельный иск против Forgent в апреле 2005 года. [32] В феврале 2006 года Управление США по патентам и товарным знакам согласилось пересмотреть патент Forgent в формате JPEG по запросу Public Patent Foundation . [33] 26 мая 2006 г. ВПТЗ США признало патент недействительным на основании предшествующего уровня техники. ВПТЗ США также обнаружило, что Forgent знал об известном уровне техники, но намеренно не сообщил об этом в Патентное ведомство. Это делает маловероятным успех любого призыва к восстановлению патента. [34]

Forgent также обладает аналогичным патентом, выданным Европейским патентным ведомством в 1994 году, хотя неясно, насколько он подлежит исполнению. [35]

По состоянию на 27 октября 2006 г. 20-летний срок действия патента в США, по-видимому, истек, и в ноябре 2006 г. Forgent согласился отказаться от исполнения патентных требований в отношении использования стандарта JPEG. [36]

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

Начиная с августа 2007 года другая компания, Global Patent Holdings, LLC, заявила, что ее патент (патент США 5 253 341 ), выданный в 1993 году, нарушается путем загрузки изображений JPEG на веб-сайт или по электронной почте. Если не будет признан недействительным, этот патент может применяться к любому веб-сайту, на котором отображаются изображения в формате JPEG. Патент находился на повторной экспертизе в Управлении по патентам и товарным знакам США с 2000 по 2007 год; в июле 2007 г. Патентное ведомство отозвало все первоначальные притязания на патент, но обнаружило, что дополнительное притязание, предложенное Global Patent Holdings (п. 17), является действительным. [37] Global Patent Holdings затем подала ряд исков на основании пункта 17 своего патента.

В своих первых двух судебных исках после повторного рассмотрения, поданных в Чикаго, штат Иллинойс, Global Patent Holdings предъявила иск против Green Bay Packers , CDW , Motorola , Apple , Orbitz , Officemax , Caterpillar , Kraft и Peapod в качестве ответчиков. Третий иск был подан 5 декабря 2007 г. в Южной Флориде против ADT Security Services , AutoNation , Florida Crystals Corp., HearUSA, MovieTickets.com , Ocwen Financial Corp. и Tire Kingdom , а четвертый иск 8 января 2008 г. в Южном Флорида против Boca Raton Resort & Club . Пятый иск был подан против Global Patent Holdings в Неваде. Этот иск был подан компанией Zappos.com , Inc., которой якобы угрожала компания Global Patent Holdings, и требовала судебного объявления о том, что патент «341» недействителен и не нарушается.

Global Patent Holdings также использовала патент «341», чтобы подать в суд или запугать откровенных критиков широких программных патентов, включая Грегори Агарониана [38] и анонимного оператора блога веб-сайта, известного как « Патентный тролль-трекер ». [39] 21 декабря 2007 г. патентный юрист Вернон Фрэнсиссен из Чикаго обратился в Бюро по патентам и товарным знакам США с просьбой пересмотреть единственную оставшуюся формулу патента «341» на основе нового известного уровня техники. [40]

5 марта 2008 г. Управление по патентам и товарным знакам США согласилось пересмотреть патент «341», обнаружив, что новый уровень техники вызывает новые существенные вопросы относительно действительности патента. [41] В свете повторной экспертизы обвиняемые нарушители в четырех из пяти ожидающих рассмотрения исков подали ходатайства о приостановлении (приостановлении) рассмотрения их дел до завершения рассмотрения Управлением США по патентам и товарным знакам патента «341». 23 апреля 2008 года судья, председательствовавший в двух судебных процессах в Чикаго, штат Иллинойс, удовлетворил ходатайства по этим делам. [42] 22 июля 2008 г. Патентное ведомство выпустило первое «решение ведомства» второй повторной экспертизы, признав иск недействительным на основании девятнадцати отдельных оснований. [43] 24 ноября 2009 г. было выдано свидетельство о повторной экспертизе, отменяющее все претензии.

Начиная с 2011 года и до начала 2013 года, организация, известная как Princeton Digital Image Corporation [44], базирующаяся в Восточном Техасе, начала судиться с большим количеством компаний за предполагаемое нарушение патента США 4 813 056 . Princeton утверждает, что стандарт сжатия изображений JPEG нарушает патент '056 и подал в суд на большое количество веб-сайтов, розничных продавцов, производителей камер и устройств, а также торговых посредников. Патент изначально принадлежал и переуступался General Electric. Срок действия патента истек в декабре 2007 года, но Принстон подал в суд на большое количество компаний за «прошлое нарушение» этого патента. (Согласно патентным законам США, патентообладатель может подать в суд за «прошлое нарушение» за шесть лет до подачи иска, поэтому Принстон теоретически мог продолжать предъявлять иски компаниям до декабря 2013 года.) По состоянию на март 2013 года в Принстоне находились иски, находящиеся на рассмотрении в Нью-Йорк и Делавэр против более 55 компаний. Причастность General Electric к иску неизвестна, хотя протоколы судебных заседаний показывают, что она передала патент Принстону в 2009 году и сохраняет определенные права на патент. [45]

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

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

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

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

JPEG использует форму сжатия с потерями, основанную на дискретном косинусном преобразовании (DCT). Эта математическая операция преобразует каждый кадр / поле видеоисточника из пространственной (2D) области в частотную область (также известную как область преобразования). Модель восприятия, в некоторой степени основанная на психовизуальной системе человека, отбрасывает высокочастотную информацию, то есть резкие переходы интенсивности и цветового тона . В области преобразования процесс сокращения информации называется квантованием. Проще говоря, квантование - это метод оптимального уменьшения масштаба большого числа (с разными вхождениями каждого числа) в меньший, а область преобразования - удобное представление изображения, поскольку высокочастотные коэффициенты вносят меньший вклад. к общей картине, чем другие коэффициенты, характерны небольшие значения с высокой сжимаемостью. Затем квантованные коэффициенты упорядочиваются и без потерь упаковываются в выходной битовый поток . Почти все программные реализации JPEG позволяют пользователю управлять степенью сжатия (а также другими дополнительными параметрами), позволяя пользователю выбирать между качеством изображения и меньшим размером файла. Во встроенных приложениях (таких как miniDV, в котором используется аналогичная схема сжатия DCT) параметры предварительно выбираются и фиксируются для приложения.

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

Существует также чересстрочный прогрессивный формат JPEG, в котором данные сжимаются за несколько проходов с более высокой детализацией. Это идеально подходит для больших изображений, которые будут отображаться при загрузке через медленное соединение, обеспечивая разумный предварительный просмотр после получения только части данных. Однако поддержка прогрессивных JPEG не универсальна. Когда прогрессивные JPEG-файлы принимаются программами, которые их не поддерживают (например, версиями Internet Explorer до Windows 7 ) [47], программное обеспечение отображает изображение только после того, как оно было полностью загружено.

Редактирование без потерь

Ряд изменений изображения JPEG может быть выполнен без потерь (то есть без повторного сжатия и связанной с этим потери качества) до тех пор, пока размер изображения кратен 1 блоку MCU (минимальная кодированная единица) (обычно 16 пикселей в обоих направлениях, для подвыборки цветности 4: 2: 0 ). Утилиты, которые это реализуют, включают:

  • jpegtran и его графический интерфейс Jpegcrop.
  • IrfanView использует «Обрезка без потерь JPG (подключаемый модуль)» и «Вращение без потерь JPG (подключаемый модуль)», которые требуют установки подключаемого модуля JPG_TRANSFORM.
  • Программа просмотра изображений FastStone использует функции «Обрезка без потерь в файл» и «Поворот без потерь в формате JPEG».
  • XnViewMP с использованием «преобразований без потерь JPEG».
  • ACDSee поддерживает вращение без потерь (но не обрезку без потерь) с опцией «Принудительно выполнять операции JPEG без потерь».

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

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

Повороты, при которых ширина и высота изображения не кратны 8 или 16 (в зависимости от субдискретизации цветности), не без потерь. Вращение такого изображения вызывает пересчет блоков, что приводит к потере качества. [48]

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

Кроме того, несколько изображений JPEG можно объединить без потерь, если они были сохранены с одинаковым качеством и края совпадали с границами блоков.

Формат файла, известный как «JPEG Interchange Format» (JIF), указан в Приложении B стандарта. Однако этот «чистый» формат файла используется редко, в первую очередь из-за сложности программирования кодировщиков и декодеров, которые полностью реализуют все аспекты стандарта, а также из-за определенных недостатков стандарта:

  • Определение цветового пространства
  • Регистрация подвыборки компонентов
  • Определение соотношения сторон пикселя.

Для решения этих проблем было разработано несколько дополнительных стандартов. Первым из них, выпущенным в 1992 году, был формат обмена файлами JPEG (или JFIF), за которым в последние годы последовали формат обмена файлами изображений (Exif) и цветовые профили ICC . Оба этих формата используют фактическую структуру байтов JIF, состоящую из разных маркеров , но, кроме того, используют одну из точек расширения стандарта JIF, а именно маркеры приложений : JFIF использует APP0, а Exif использует APP1. В этих сегментах файла, которые были оставлены для будущего использования в стандарте JIF и не читаются им, эти стандарты добавляют определенные метаданные.

Таким образом, в некотором смысле JFIF является урезанной версией стандарта JIF в том смысле, что он определяет определенные ограничения (например, запрещение всех различных режимов кодирования), в то время как в других отношениях это расширение JIF из-за добавленных метаданные. В документации к исходному стандарту JFIF говорится: [49]

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

Файлы изображений, использующие сжатие JPEG, обычно называются «файлами JPEG» и хранятся в вариантах формата изображения JIF. Большинство устройств захвата изображений (таких как цифровые камеры), которые выводят JPEG, на самом деле создают файлы в формате Exif, формате, стандартизированном в индустрии фотоаппаратов для обмена метаданными. С другой стороны, поскольку стандарт Exif не допускает цветовых профилей, большинство программ для редактирования изображений хранят JPEG в формате JFIF, а также включают сегмент APP1 из файла Exif для включения метаданных почти совместимым способом; стандарт JFIF трактуется несколько гибко. [50]

Строго говоря, стандарты JFIF и Exif несовместимы, потому что каждый указывает, что его сегмент маркера (APP0 или APP1 соответственно) появляется первым. На практике большинство файлов JPEG содержат сегмент маркера JFIF, который предшествует заголовку Exif. Это позволяет более старым читателям правильно обрабатывать сегмент JFIF старого формата, в то время как новые считыватели также декодируют следующий сегмент Exif, не требуя, чтобы он появлялся первым.

Расширения файлов JPEG

Большинство расширений имен файлов общих для файлов , использующих сжатие JPEG являются .jpgи .jpeg, хотя .jpe, .jfifи .jifтакже используются. Также возможно встраивание данных JPEG в файлы других типов - файлы с кодировкой TIFF часто включают изображение JPEG как миниатюру основного изображения; файлы MP3 могут содержать обложку в формате JPEG в теге ID3v2 .

Цветовой профиль

Многие файлы JPEG содержат цветовой профиль ICC ( цветовое пространство ). Обычно используемые цветовые профили включают sRGB и Adobe RGB . Поскольку эти цветовые пространства используют нелинейное преобразование, динамический диапазон 8-битного файла JPEG составляет около 11 ступеней ; см. гамма-кривую .

Изображение JPEG состоит из последовательности сегментов , каждый из которых начинается с маркера , каждый из которых начинается с байта 0xFF, за которым следует байт, указывающий, что это за маркер. Некоторые маркеры состоят только из этих двух байтов; за другими следуют два байта (старший, затем младший), указывающие длину следующих за ними данных полезной нагрузки, специфичных для маркера. (Длина включает два байта длины, но не два байта маркера.) За некоторыми маркерами следуют данные с энтропийным кодированием ; длина такого маркера не включает данные с энтропийным кодом. Обратите внимание, что последовательные байты 0xFF используются в качестве байтов заполнения для целей заполнения , хотя это заполнение байтов должно происходить только для маркеров, следующих сразу за данными сканирования с энтропийным кодированием (подробности см. В разделах B.1.1.2 и E.1.2 спецификации JPEG; в частности: «Во всех случаях, когда маркеры добавляются после сжатых данных, необязательные байты заполнения 0xFF могут предшествовать маркеру»).

Внутри данных с энтропийным кодированием после любого байта 0xFF байт 0x00 вставляется кодировщиком перед следующим байтом, чтобы не было маркера там, где он не предназначен, что предотвращает ошибки кадрирования. Декодеры должны пропускать этот байт 0x00. Этот метод, называемый байтовым заполнением (см. Раздел F.1.2.3 спецификации JPEG), применяется только к данным с энтропийным кодированием, а не к данным полезной нагрузки маркера. Однако обратите внимание, что данные с энтропийным кодом имеют несколько собственных маркеров; в частности, маркеры сброса (от 0xD0 до 0xD7), которые используются для выделения независимых фрагментов энтропийно-кодированных данных, чтобы обеспечить параллельное декодирование, и кодеры могут свободно вставлять эти маркеры сброса через равные промежутки времени (хотя не все кодеры делают это).

Существуют и другие маркеры начала кадра, которые вводят другие типы кодировок JPEG.

Поскольку несколько поставщиков могут использовать один и тот же тип маркера APP n, маркеры для конкретных приложений часто начинаются со стандартного имени или имени поставщика (например, «Exif» или «Adobe») или какой-либо другой идентифицирующей строки.

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

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

  1. Представление цветов в изображении преобразуется в Y'C B C R , состоящее из одного компонента яркости (Y '), представляющего яркость, и двух компонентов цветности (C B и C R ), представляющих цвет. Этот шаг иногда пропускают.
  2. Разрешение данных цветности снижается, обычно в 2 или 3 раза. Это отражает тот факт, что глаз менее чувствителен к мелким деталям цвета, чем к мелким деталям яркости.
  3. Изображение разбивается на блоки размером 8 × 8 пикселей, и для каждого блока данные Y, C B и C R подвергаются дискретному косинусному преобразованию (DCT). DCT похож на преобразование Фурье в том смысле, что он создает своего рода спектр пространственных частот.
  4. Амплитуды частотных составляющих квантуются. Человеческое зрение гораздо более чувствительно к небольшим изменениям цвета или яркости на больших площадях, чем к силе высокочастотных изменений яркости. Следовательно, величины высокочастотных составляющих сохраняются с меньшей точностью, чем низкочастотные составляющие. Настройка качества кодировщика (например, 50 или 95 по шкале от 0 до 100 в библиотеке Independent JPEG Group [52] ) влияет на степень уменьшения разрешения каждого частотного компонента. Если используется слишком низкая настройка качества, высокочастотные компоненты полностью отбрасываются.
  5. Результирующие данные для всех блоков 8 × 8 дополнительно сжимаются с помощью алгоритма без потерь, варианта кодирования Хаффмана .

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

Кодирование

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

Преобразование цветового пространства

Во-первых, изображение должно быть преобразовано из RGB в другое цветовое пространство, называемое Y′C B C R (или, неофициально, YCbCr). Он состоит из трех компонентов: Y ', C B и C R : компонент Y' представляет яркость пикселя, а компоненты C B и C R представляют цветность (разделенную на синий и красный компоненты). Это в основном то же цветовое пространство, которое используется в цифровом цветном телевидении, а также в цифровом видео, включая видео DVD , и похоже на то, как цвет представлен в аналоговом видео PAL и MAC (но не в аналоговом NTSC , который использует цветовое пространство YIQ. ). Преобразование цветового пространства Y'C B C R обеспечивает большее сжатие без значительного влияния на качество восприятия изображения (или более высокое качество изображения при таком же сжатии). Сжатие более эффективно, поскольку информация о яркости, которая более важна для конечного качества восприятия изображения, ограничивается одним каналом. Это больше соответствует восприятию цвета зрительной системой человека. Преобразование цвета также улучшает сжатие за счет статистической декорреляции .

Конкретное преобразование в Y'C B C R указано в стандарте JFIF и должно выполняться для максимальной совместимости результирующего файла JPEG. Однако некоторые реализации JPEG в режиме «высочайшего качества» не применяют этот шаг и вместо этого сохраняют информацию о цвете в цветовой модели RGB [53], где изображение сохраняется в отдельных каналах для красной, зеленой и синей составляющих яркости. Это приводит к менее эффективному сжатию и вряд ли будет использоваться, когда размер файла особенно важен.

Даунсэмплинг

Из-за плотности чувствительных к цвету и яркости рецепторов в человеческом глазу люди могут видеть значительно больше мелких деталей в яркости изображения (компонент Y '), чем в оттенке и насыщенности цвета изображения (Cb и Компоненты Cr). Используя эти знания, можно разработать кодировщики для более эффективного сжатия изображений.

Преобразование в цветовую модель Y'C B C R позволяет выполнить следующий обычный шаг, который заключается в уменьшении пространственного разрешения компонентов Cb и Cr (называемого « понижающей дискретизацией » или «субдискретизацией цветности»). Соотношения, при которых понижающая дискретизация обычно выполняется для изображений JPEG, составляют 4: 4: 4 (без понижающей дискретизации), 4: 2: 2 (уменьшение в 2 раза по горизонтали) или (чаще всего) 4: 2: 0 (уменьшение в 2 раза как по горизонтали, так и по вертикали). Для остальной части процесса сжатия Y ', Cb и Cr обрабатываются отдельно и очень похожим образом.

Разделение блоков

После субдискретизации каждый канал должен быть разделен на блоки 8 × 8. В зависимости от субдискретизации цветности это дает блоки минимального кодирования (MCU) размером 8 × 8 (4: 4: 4 - без субдискретизации), 16 × 8 (4: 2: 2) или чаще всего 16 × 16 (4: 2: 0). При сжатии видео микроконтроллеры называются макроблоками .

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

Дискретное косинусное преобразование

Дополнительное изображение 8 × 8, показанное в 8-битной шкале серого

Затем каждый блок 8 × 8 каждого компонента (Y, Cb, Cr) преобразуется в представление в частотной области с использованием нормализованного двумерного дискретного косинусного преобразования (DCT) типа II, см. Цитату 1 в дискретном косинусном преобразовании. . DCT иногда упоминается как «DCT типа II» в контексте семейства преобразований, таких как дискретное косинусное преобразование , а соответствующая инверсия (IDCT) обозначается как «DCT типа III».

Например, одно из таких 8-битных фрагментов изображения размером 8 × 8 может быть:

Перед вычислением DCT блока 8 × 8 его значения сдвигаются с положительного диапазона на единицу с центром в нуле. Для 8-битного изображения каждая запись в исходном блоке попадает в диапазон. Средняя точка диапазона (в данном случае значение 128) вычитается из каждой записи, чтобы получить диапазон данных с центром на нуле, так что измененный диапазон равен. Этот шаг снижает требования к динамическому диапазону на следующем этапе обработки DCT.

Результатом этого шага являются следующие значения:

DCT преобразует блок входных значений 8 × 8 в линейную комбинацию этих 64 шаблонов. Шаблоны называются двумерными базисными функциями DCT , а выходные значения упоминаются как коэффициенты преобразования . Горизонтальный индекс а вертикальный индекс .

Следующим шагом является получение двумерного DCT, которое определяется как:

где

  • - горизонтальная пространственная частота для целых чисел.
  • - вертикальная пространственная частота, для целых чисел .
  • является нормализующим масштабным коэффициентом, чтобы сделать преобразование ортонормированным.
  • значение пикселя в координатах
  • - коэффициент DCT в координатах

Если мы выполним это преобразование в нашей матрице выше, мы получим следующее (округленное до ближайших двух цифр после десятичной точки):

Обратите внимание на запись в верхнем левом углу с довольно большой величиной. Это коэффициент DC (также называемый постоянной составляющей), который определяет основной оттенок для всего блока. Остальные 63 коэффициента - это коэффициенты переменного тока (также называемые переменными компонентами). [54] Преимущество DCT заключается в его тенденции агрегировать большую часть сигнала в одном углу результата, как можно увидеть выше. Последующий этап квантования усиливает этот эффект, одновременно уменьшая общий размер DCT-коэффициентов, в результате чего получается сигнал, который легко эффективно сжимать на этапе энтропии.

DCT временно увеличивает битовую глубину данных, поскольку DCT-коэффициенты 8-битного / компонентного изображения занимают до 11 или более битов (в зависимости от точности вычисления DCT) для хранения. Это может заставить кодек временно использовать 16-битные числа для хранения этих коэффициентов, удваивая размер представления изображения в этой точке; эти значения обычно уменьшаются обратно до 8-битных значений на этапе квантования. Временное увеличение размера на этом этапе не является проблемой производительности для большинства реализаций JPEG, поскольку обычно только очень небольшая часть изображения сохраняется в полной форме DCT в любой момент времени во время процесса кодирования или декодирования изображения.

Квантование

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

Элементы в матрице квантования управляют степенью сжатия, при этом большие значения производят большее сжатие. Типичная матрица квантования (для качества 50%, как указано в исходном стандарте JPEG) выглядит следующим образом:

Квантованные коэффициенты DCT вычисляются с помощью

где - неквантованные коэффициенты DCT; - матрица квантования, приведенная выше; а также - квантованные коэффициенты DCT.

Использование этой матрицы квантования с матрицей коэффициентов DCT из приведенного выше приводит к:

Слева: окончательное изображение состоит из ряда базовых функций. Справа: каждая из базовых функций DCT, составляющих изображение, и соответствующий весовой коэффициент. В центре: базовая функция, после умножения на коэффициент: этот компонент добавляется к окончательному изображению. Для наглядности макроблок 8 × 8 в этом примере увеличен в 10 раз с помощью билинейной интерполяции.

Например, используя -415 (коэффициент DC) и округляя до ближайшего целого числа

Обратите внимание, что большинство высокочастотных элементов субблока (т. Е. Те, у которых пространственная частота x или y больше 4) квантуются до нулевых значений.

Энтропийное кодирование

Зигзагообразный порядок компонентов изображения JPEG

Энтропийное кодирование - это особая форма сжатия данных без потерь . Он включает в себя размещение компонентов изображения в « зигзагообразном » порядке с использованием алгоритма кодирования длин серий (RLE), который группирует одинаковые частоты вместе, вставляя нули кодирования длины, а затем используя кодирование Хаффмана на том, что осталось.

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

Предыдущий квантованный коэффициент DC используется для предсказания текущего квантованного коэффициента DC. Разница между ними кодируется, а не фактическое значение. Кодирование 63 квантованных коэффициентов AC не использует такое предсказание разности.

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

Если i-й блок представлен как и позиции в каждом блоке представлены , где а также , то любой коэффициент в изображении DCT можно представить как . Таким образом, в приведенной выше схеме порядок кодирования пикселей (для i-го блока) равен, , , , , , , и так далее.

Базовые процессы последовательного кодирования и декодирования JPEG

Этот режим кодирования называется базовым последовательным кодированием. Базовый JPEG также поддерживает прогрессивное кодирование. В то время как последовательное кодирование кодирует коэффициенты одного блока за раз (зигзагообразно), прогрессивное кодирование кодирует пакет коэффициентов всех блоков с одинаковыми позициями за один раз (так называемое сканирование ), за которым следует следующий пакет коэффициентов всех блоков. , и так далее. Например, если изображение разделено на N блоков 8 × 8, то 3-сканирующее прогрессивное кодирование кодирует составляющую постоянного тока для всех блоков (т.е. для всех , в первом сканировании). За этим следует второе сканирование, которое кодирует (при условии, что еще четыре компонента) к , по-прежнему зигзагообразно. На этом этапе последовательность коэффициентов следующая:), за которым следуют оставшиеся коэффициенты всех блоков в последнем сканировании.

После того, как все коэффициенты с одинаковыми позициями были закодированы, следующая позиция, которая должна быть закодирована, - это позиция, встречающаяся следующей при зигзагообразном обходе, как показано на рисунке выше. Было обнаружено, что базовое прогрессивное кодирование JPEG обычно дает лучшее сжатие по сравнению с базовым последовательным JPEG из-за возможности использовать разные таблицы Хаффмана (см. Ниже), адаптированные для разных частот на каждом «сканировании» или «проходе» (что включает аналогичные - позиционированные коэффициенты), хотя разница не слишком велика.

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

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

Процесс кодирования зигзагообразных квантованных данных начинается с кодирования длин серий, где:

  • x - ненулевой квантованный коэффициент переменного тока.
  • RUNLENGTH - это количество нулей перед этим ненулевым коэффициентом переменного тока.
  • РАЗМЕР - это количество битов, необходимых для представления x .
  • АМПЛИТУДА - это битовое представление x .

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

И RUNLENGTH, и SIZE опираются на один и тот же байт, что означает, что каждый содержит только четыре бита информации. Старшие биты имеют дело с количеством нулей, а младшие биты обозначают количество битов, необходимых для кодирования значения x .

Из этого следует, что символ 1 может хранить информацию только о первых 15 нулях, предшествующих ненулевому коэффициенту переменного тока. Однако JPEG определяет два специальных кодовых слова Хаффмана. Один предназначен для преждевременного завершения последовательности, когда оставшиеся коэффициенты равны нулю (так называемый «конец блока» или «EOB»), а другой - когда серия нулей выходит за пределы 15 до достижения ненулевого коэффициента AC. В таком случае, когда перед заданным ненулевым коэффициентом переменного тока встречаются 16 нулей, символ 1 кодируется как (15, 0) (0).

Общий процесс продолжается до тех пор, пока не будет достигнут "EOB", обозначенный (0, 0).

Имея это в виду, предыдущая последовательность выглядит следующим образом:

  • (0, 2) (- 3); (1, 2) (- 3); (0, 1) (- 2); (0, 2) (- 6); (0, 1) (2); ( 0, 1) (- 4); (0, 1) (1); (0, 2) (- 3); (0, 1) (1); (0, 1) (1);
  • (0, 2) (5); (0, 1) (1); (0, 1) (2); (0, 1) (- 1); (0, 1) (1); (0, 1) ) (- 1); (0, 1) (2); (5, 1) (- 1); (0, 1) (- 1); (0, 0);

(Первое значение в матрице, −26, является коэффициентом DC; оно не кодируется таким же образом. См. Выше.)

Отсюда вычисления частоты производятся на основе появления коэффициентов. В нашем примере блока большинство квантованных коэффициентов представляют собой небольшие числа, которым непосредственно не предшествует нулевой коэффициент. Эти более частые случаи будут представлены более короткими кодовыми словами.

Степень сжатия и артефакты

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

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

Те, кто пользуется Всемирной паутиной, могут быть знакомы с нарушениями, известными как артефакты сжатия, которые появляются в изображениях JPEG, которые могут принимать форму шума вокруг контрастных краев (особенно кривых и углов) или «блочных» изображений. Это связано с этапом квантования алгоритма JPEG. Они особенно заметны вокруг острых углов между контрастными цветами (хороший пример - текст, поскольку он содержит много таких углов). Аналогичные артефакты в видео MPEG называются москитным шумом , поскольку возникающие в результате «граничные помехи» и ложные точки, которые меняются со временем, напоминают комаров, роящихся вокруг объекта. [55] [56]

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

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

Поскольку этап квантования всегда приводит к потере информации, стандарт JPEG всегда является кодеком со сжатием с потерями. (Информация теряется как при квантовании, так и при округлении чисел с плавающей запятой.) Даже если матрица квантования является матрицей единиц , информация все равно будет потеряна на этапе округления.

Расшифровка

Декодирование для отображения изображения заключается в выполнении всего вышеописанного в обратном порядке.

Взятие матрицы коэффициентов DCT (после добавления разницы коэффициентов DC)

и взятие произведения вход-вход с матрицей квантования из приведенной выше приводит к

что очень похоже на исходную матрицу коэффициентов DCT для верхней левой части.

Следующим шагом является получение двумерного обратного ДКП (ДКП 2D типа III), который определяется как:

где

  • - строка пикселей для целых чисел .
  • столбец пикселей, для целых чисел .
  • определяется, как указано выше, для целых чисел .
  • - восстановленный приближенный коэффициент в координатах
  • - восстановленное значение пикселя в координатах

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

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

и добавляя 128 к каждой записи

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

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

со средней абсолютной ошибкой около 5 значений на пиксель (т. е. ).

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

Требуемая точность

Соответствие кодирования и декодирования и, следовательно, требования к точности указаны в ISO / IEC 10918-2, то есть в части 2 спецификации JPEG. Эта спецификация требует, например, чтобы DCT-коэффициенты (преобразованные в прямом направлении), сформированные из изображения тестируемой реализации JPEG, имели ошибку, которая находится в пределах точности одного блока квантования по сравнению с эталонными коэффициентами. С этой целью ИСО / МЭК 10918-2 предоставляет тестовые потоки, а также коэффициенты DCT, которые кодовый поток должен декодировать.

Точно так же ISO / IEC 10918-2 определяет точность кодера с точки зрения максимально допустимой ошибки в области DCT. Это настолько необычно, поскольку многие другие стандарты определяют только соответствие декодера и требуют от кодера только генерировать синтаксически правильный кодовый поток.

Тестовые изображения, содержащиеся в ISO / IEC 10918-2, представляют собой (псевдо) случайные шаблоны для проверки наихудших случаев. Поскольку ISO / IEC 10918-1 не определяет цветовые пространства и не включает преобразование YCbCr в RGB JFIF (теперь ISO / IEC 10918-5), точность последнего преобразования не может быть проверена ISO / IEC 10918-2.

Для поддержки 8-битной точности на вывод компонента пикселя, деквантование и обратное DCT-преобразование обычно реализуются с точностью не менее 14-битной в оптимизированных декодерах.

"> Воспроизвести медиа
Повторное сжатие изображения (произвольное качество)

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

Образцы фотографий

Визуальное влияние сжатия jpeg в Photoshop на картинку 4480x4480 пикселей

Для информации: для несжатого 24-битного растрового изображения RGB ниже (73 242 пикселя) потребуется 219 726 байт (исключая все остальные информационные заголовки). Указанные ниже размеры файлов включают внутренние информационные заголовки JPEG и некоторые метаданные . Для изображений самого высокого качества (Q = 100) требуется около 8,25 бит на цветной пиксель. [ необходима цитата ] Для изображений в градациях серого достаточно минимум 6,5 бит на пиксель (для сопоставимой информации о цвете качества Q = 100 требуется примерно на 25% больше закодированных битов). Изображение наивысшего качества ниже (Q = 100) кодируется с использованием девяти битов на цветной пиксель, изображение среднего качества (Q = 25) использует один бит на цветной пиксель. Для большинства приложений коэффициент качества не должен опускаться ниже 0,75 бит на пиксель (Q = 12,5), о чем свидетельствует изображение низкого качества. Изображение самого низкого качества использует только 0,13 бита на пиксель и отображает очень плохую цветопередачу. Это полезно, когда изображение будет отображаться в значительно уменьшенном масштабе. Метод создания лучших матриц квантования для заданного качества изображения с использованием PSNR вместо Q-фактора описан в Minguillón & Pujol (2001). [57]

Фотография среднего качества использует только 4,3% дискового пространства, необходимого для несжатого изображения, но имеет незначительную потерю деталей или видимых артефактов. Однако после прохождения определенного порога сжатия сжатые изображения показывают все более заметные дефекты. См. Статью о теории искажений для математического объяснения этого порогового эффекта. Конкретным ограничением JPEG в этом отношении является его неперекрывающаяся структура блочного преобразования 8 × 8. Более современные конструкции, такие как JPEG 2000 и JPEG XR, демонстрируют более изящное ухудшение качества по мере уменьшения использования бит - за счет использования преобразований с большей пространственной протяженностью для более низких частотных коэффициентов и использования базовых функций перекрытия преобразования.

С 2004 по 2008 годы появились новые исследования способов дальнейшего сжатия данных, содержащихся в изображениях JPEG, без изменения представленного изображения. [58] [59] [60] [61] Применяется в сценариях, где исходное изображение доступно только в формате JPEG, и его размер необходимо уменьшить для архивирования или передачи. Стандартные универсальные инструменты сжатия не могут значительно сжимать файлы JPEG.

Как правило, в таких схемах используются улучшения наивной схемы кодирования коэффициентов DCT, которая не учитывает:

  • Корреляции между величинами смежных коэффициентов в одном блоке;
  • Корреляции между величинами одного и того же коэффициента в соседних блоках;
  • Корреляции между величинами одного и того же коэффициента / блока в разных каналах;
  • Коэффициенты DC, взятые вместе, напоминают уменьшенную версию исходного изображения, умноженную на коэффициент масштабирования. Могут быть применены хорошо известные схемы кодирования изображений с непрерывным тоном без потерь , достигающие несколько лучшего сжатия, чем кодированный по Хаффману DPCM, используемый в JPEG.

Некоторые стандартные, но редко используемые параметры уже существуют в JPEG для повышения эффективности кодирования коэффициентов DCT: вариант арифметического кодирования и вариант прогрессивного кодирования (который дает более низкие битрейты, потому что значения для каждого коэффициента кодируются независимо, и каждый коэффициент имеет существенно разные значения). распределение). Современные методы улучшили эти методы, переупорядочив коэффициенты для группирования коэффициентов большей величины вместе; [58] использование смежных коэффициентов и блоков для прогнозирования новых значений коэффициентов; [60] разделение блоков или коэффициентов между небольшим количеством независимо кодированных моделей на основе их статистики и смежных значений; [59] [60] и совсем недавно, путем декодирования блоков, предсказания последующих блоков в пространственной области и последующего их кодирования для генерации предсказаний для коэффициентов DCT. [61]

Как правило, такие методы позволяют сжимать существующие файлы JPEG от 15 до 25 процентов, а для файлов JPEG, сжатых с настройками низкого качества, можно добиться улучшения до 65%. [60] [61]

Свободно доступный инструмент под названием packJPG основан на статье 2007 года «Улучшенное сокращение избыточности для файлов JPEG». [62] В статье 2016 года под названием «JPEG на стероидах» с использованием ISO libjpeg показано, что современные методы, с потерями или без них, могут сделать JPEG почти таким же эффективным, как JPEG XR ; mozjpeg использует аналогичные методы. [63] JPEG XL - это новый формат файла, который может без потерь перекодировать JPEG с эффективным обратным преобразованием в JPEG.

Для стереоскопического 3D

JPEG стереоскопический

Пример стереоскопического файла .JPS

JPEG Stereoscopic (JPS, расширение .jps) - это формат на основе JPEG для стереоскопических изображений. [64] [65] Он имеет ряд конфигураций, хранящихся в поле маркера JPEG APP3, но обычно содержит одно изображение двойной ширины, представляющее два изображения одинакового размера с перекрещенными глазами (т. Е. Левый кадр в правой половине изображения и наоборот) рядом. Этот формат файла можно просматривать как JPEG без какого-либо специального программного обеспечения или обрабатывать для рендеринга в других режимах.

Формат нескольких изображений JPEG

Формат нескольких изображений JPEG (MPO, расширение .mpo) - это формат на основе JPEG для хранения нескольких изображений в одном файле. Он содержит два или более файлов JPEG, объединенных вместе. [66] [67] Он также определяет сегмент маркера JPEG APP2 для описания изображения. Различные устройства используют его для хранения 3D-изображений, например Fujifilm FinePix Real 3D W1 , HTC Evo 3D , JVC GY-HMZ1U AVCHD / MVC extension camcorder, Nintendo 3DS , Sony PlayStation 3 , [68] Sony PlayStation Vita , [69] Panasonic Lumix DMC-TZ20 , DMC-TZ30 , DMC-TZ60 , DMC-TS4 (FT4) и Sony DSC-HX7V. Другие устройства используют его для хранения «изображений для предварительного просмотра», которые могут отображаться на телевизоре.

В последние несколько лет из-за растущего использования стереоскопических изображений научное сообщество потратило много усилий на разработку алгоритмов сжатия стереоскопических изображений. [70] [71]

JPEG XT

JPEG XT (ISO / IEC 18477) был опубликован в июне 2015 года; он расширяет базовый формат JPEG за счет поддержки более высокой целочисленной битовой глубины (до 16 бит), визуализации с расширенным динамическим диапазоном и кодирования с плавающей запятой, кодирования без потерь и кодирования альфа-канала. Расширения обратно совместимы с базовым форматом файлов JPEG / JFIF и 8-битным сжатым изображением с потерями. JPEG XT использует расширяемый формат файла на основе JFIF. Слои расширения используются для изменения 8-битного базового слоя JPEG и восстановления изображения с высоким разрешением. Существующее программное обеспечение имеет прямую совместимость и может читать двоичный поток JPEG XT, хотя декодирует только базовый 8-битный уровень. [72]

JPEG XL

С августа 2017 года JTC1 / SC29 / WG1 выпустил серию предварительных заявок на предложения по JPEG XL - стандарту сжатия изображений следующего поколения с существенно лучшей эффективностью сжатия (улучшение на 60%) по сравнению с JPEG. [73] Ожидается, что стандарт превзойдет производительность сжатия неподвижных изображений, продемонстрированную HEVC HM, Daala и WebP , и, в отличие от предыдущих попыток заменить JPEG, обеспечить более эффективную передачу и хранение без потерь для традиционных изображений JPEG. [74] [75] [76] Основные требования включают поддержку изображений с очень высоким разрешением (не менее 40 МП), 8–10 бит на компонент, цветовое кодирование RGB / YCbCr / ICtCp, анимированные изображения, кодирование альфа-канала, Rec . 709 цветовое пространство ( sRGB ) и гамма-функция (мощность 2,4), Rec. 2100 цветов с широким цветовым охватом (Rec.2020) и функциями передачи с высоким динамическим диапазоном ( PQ и HLG ), а также высококачественное сжатие синтетических изображений, таких как растровые шрифты и градиенты. Стандарт также должен предлагать более высокую битовую глубину (12–16-битное целое число и с плавающей запятой), дополнительные цветовые пространства и функции передачи (такие как Log C от Arri ), встроенные изображения предварительного просмотра, кодирование альфа-канала без потерь, кодирование области изображения и сложность кодирования. Любые запатентованные технологии будут лицензироваться на безвозмездной основе. Предложения были представлены к сентябрю 2018 года, после чего проект комитета был подготовлен в июле 2019 года с текущей целевой датой публикации в октябре 2019 года. [77] [76] Формат файла (битовый поток) был заморожен 25 декабря 2020 года, что означает, что формат теперь гарантированно можно будет декодировать в будущих выпусках. [78]

Несовместимые стандарты JPEG

Объединенная группа экспертов по фотографии также отвечает за некоторые другие форматы, носящие название JPEG, включая JPEG 2000 , JPEG XR и JPEG XS .

Очень важной реализацией кодека JPEG была бесплатная библиотека программирования libjpeg от Independent JPEG Group. Он был впервые опубликован в 1991 году и стал ключом к успеху стандарта. [79] В последних версиях представлены проприетарные расширения, которые нарушили совместимость ABI с предыдущими версиями . Во многих известных программных проектах libjpeg был заменен на libjpeg-turbo , который обеспечивает более высокую производительность, совместимость с SIMD и обратную совместимость с исходными версиями libjpeg. [80]

В марте 2017 года Google выпустил проект с открытым исходным кодом Guetzli , в котором гораздо более длительное время кодирования используется для меньшего размера файла (аналогично тому, что Zopfli делает для PNG и других форматов данных без потерь). [81]

Совместная группа экспертов по фотографии ISO / IEC поддерживает эталонную программную реализацию, которая может кодировать как базовый JPEG (ISO / IEC 10918-1 и 18477-1), так и расширения JPEG XT (ISO / IEC 18477, части 2 и 6-9), а также JPEG-LS (ISO / IEC 14495). [82]

  • AVIF
  • Better Portable Graphics , формат, основанный на внутрикадровом кодировании HEVC
  • C-Cube , ранний разработчик JPEG в форме микросхемы
  • Сравнение форматов графических файлов
  • Сравнение движков верстки (графика)
  • Фильтр деблокирования (видео) , аналогичные методы деблокирования могут быть применены к JPEG
  • Правило проектирования для файловой системы камеры (DCF)
  • Расширения файлов
  • Программа для редактирования графики
  • Высокоэффективный формат файла изображения , формат контейнера изображений для HEVC и других форматов кодирования изображений
  • Формат обмена файлами JPEG
  • Lenna (тестовое изображение) , традиционное стандартное изображение, используемое для тестирования алгоритмов обработки изображений.
  • Кодек изображений без потерь FELICS
  • Motion JPEG

  1. ^ a b c d e f g h i j k l m "T.81 - ЦИФРОВОЕ СЖАТИЕ И КОДИРОВАНИЕ НЕПРЕРЫВНЫХ ИЗОБРАЖЕНИЙ - ТРЕБОВАНИЯ И РЕКОМЕНДАЦИИ" (PDF) . CCITT . Сентябрь 1992 . Проверено 12 июля 2019 .
  2. ^ «Определение„JPEG “ » . Словарь английского языка Коллинза . Проверено 23 мая 2013 .
  3. ^ Хейнс, Ричард Ф .; Чуанг, Шерри Л. (1 июля 1992 г.). Влияние сжатия видео на приемлемость изображений для мониторинга научных экспериментов (Технический отчет). НАСА . НАСА-ТП-3239, А-92040, НАС 1.60: 3239 . Проверено 13 марта 2016 . Уровни сжатия неподвижных изображений JPEG, даже в большом диапазоне от 5: 1 до 120: 1 в этом исследовании, дали столь же высокие уровни приемлемости.
  4. ^ а б Хадсон, Грэм; Леже, Ален; Нисс, Биргер; Себастьен, Иштван; Ваабен, Йорген (31 августа 2018 г.). «Стандарт JPEG-1 25 лет: прошлые, настоящие и будущие причины успеха» . Журнал электронного изображения . 27 (4): 1. DOI : 10,1117 / 1.JEI.27.4.040901 .
  5. ^ «Объяснение формата изображения JPEG» . BT.com . BT Group . 31 мая 2018. Архивировано из оригинала 5 августа 2019 года . Дата обращения 5 августа 2019 .
  6. ^ Баранюк, Крис (15 октября 2015 г.). «Защита от копирования может прийти к JPegs» . BBC News . BBC . Проверено 13 сентября 2019 .
  7. ^ а б в Ахмед, Насир (январь 1991 г.). «Как я пришел к дискретному косинусному преобразованию» . Цифровая обработка сигналов . 1 (1): 4–5. DOI : 10.1016 / 1051-2004 (91) 90086-Z .
  8. ^ «Что такое JPEG? Невидимый объект, который вы видите каждый день» . Атлантика . 24 сентября 2013 . Проверено 13 сентября 2019 .
  9. ^ «HTTP-архив - интересная статистика» . httparchive.org . Проверено 6 апреля 2016 .
  10. ^ Определение типа MIME в Internet Explorer: загруженные типы MIME (msdn.microsoft.com)
  11. ^ Гамильтон, Эрик (1 сентября 1992 г.). «Формат обмена файлами JPEG» (PDF) . jpeg.org . Милпитас, Калифорния . Архивировано из оригинала (PDF) на 3 сентября 2014 года . Проверено 11 апреля 2020 .
  12. ^ «Почему JPEG 2000 никогда не взлетел» . Американский национальный институт стандартов . 10 июля 2018 . Проверено 13 сентября 2019 .
  13. ^ а б в "JPEG: 25 Jahre und kein bisschen alt" . Heise онлайн (на немецком языке). Октябрь 2016 . Дата обращения 5 сентября 2019 .
  14. ^ а б Ахмед, Насир ; Натараджан, Т .; Рао, КР (январь 1974), "дискретного косинусного преобразования", IEEE Transactions на компьютерах , C-23 (1): 90-93, DOI : 10,1109 / TC.1974.223784
  15. ^ а б Чен, Вэнь-Сюн; Smith, C .; Фралик, С. (1977). «Быстрый вычислительный алгоритм для дискретного косинусного преобразования». Транзакции IEEE по коммуникациям . 25 (9): 1004–1009. DOI : 10.1109 / TCOM.1977.1093941 . ISSN  0090-6778 .
  16. ^ а б Чен, Вэнь-Сюн; Пратт, В.К. (1984). «Адаптивный кодировщик сцены». Транзакции IEEE по коммуникациям . 32 (3): 225–232. DOI : 10.1109 / TCOM.1984.1096066 . ISSN  0090-6778 .
  17. ^ Б с д е е г ч Лемос, Роберт (23 июля 2002 г.). «Обнаружение очевидной истины в заявлении JPEG» . CNET . Проверено 13 июля 2019 .
  18. ^ ISO / IEC JTC 1 / SC 29 (07.05.2009). «ISO / IEC JTC 1 / SC 29 / WG 1 - Кодирование неподвижных изображений (структура SC 29 / WG 1)» . Архивировано из оригинала на 2013-12-31 . Проверено 11 ноября 2009 .
  19. ^ а б ISO / IEC JTC 1 / SC 29. «Программа работы (передано в SC 29 / WG 1)» . Архивировано из оригинала на 2013-12-31 . Проверено 7 ноября 2009 .
  20. ^ ISO. «JTC 1 / SC 29 - Кодирование аудио, изображений, мультимедийной и гипермедийной информации» . Проверено 11 ноября 2009 .
  21. ^ а б JPEG. «Объединенная группа экспертов по фотографии, домашняя страница JPEG» . Проверено 8 ноября 2009 .
  22. ^ «T.81: Информационные технологии - Цифровое сжатие и кодирование неподвижных изображений с непрерывным тоном - Требования и руководящие принципы» . Itu.int . Проверено 7 ноября 2009 .
  23. ^ Уильям Б. Пеннебейкер; Джоан Л. Митчелл (1993). Стандарт сжатия данных неподвижных изображений JPEG (3-е изд.). Springer. п. 291. ISBN. 978-0-442-01272-4.
  24. ^ ISO. «JTC 1 / SC 29 - Кодирование аудио, изображений, мультимедийной и гипермедийной информации» . Проверено 7 ноября 2009 .
  25. ^ «SPIFF, формат файла обмена неподвижными изображениями» . Библиотека Конгресса . 2012-01-30. Архивировано 31 июля 2018 года . Проверено 31 июля 2018 .
  26. ^ JPEG (24 апреля 2009 г.). «JPEG XR переходит в статус FDIS: формат обмена файлами JPEG (JFIF) должен быть стандартизирован как JPEG Часть 5» (пресс-релиз). Архивировано из оригинала на 2009-10-08 . Проверено 9 ноября 2009 .
  27. ^ «Формат обмена файлами JPEG (JFIF)» . ECMA TR / 98 1-е изд . Ecma International . 2009 . Проверено 1 августа 2011 .
  28. ^ «Патент Форджента в формате JPEG» . SourceForge . 2002 . Проверено 13 июля 2019 .
  29. ^ «Относительно недавних патентных притязаний» . Jpeg.org . 2002-07-19. Архивировано из оригинала на 2007-07-14 . Проверено 29 мая 2011 .
  30. ^ «JPEG и JPEG2000 - между патентной ссорой и сменой технологии» . Архивировано из оригинального 17 августа 2004 года . Проверено 16 апреля 2017 .
  31. ^ Станкович, Радомир С .; Астола, Яакко Т. (2012). "Воспоминания о ранних работах в DCT: Интервью с К.Р. Рао" (PDF) . Отпечатки с первых дней информационных наук . 60 . Дата обращения 13 октября 2019 .
  32. ^ Кавамото, Рассвет (22 апреля 2005 г.). «Патентный иск в области графики вызывает ответный удар в Microsoft» . CNET News . Проверено 28 января 2009 .
  33. ^ «Бюро по товарным знакам пересматривает патент Forgent JPEG» . Publish.com . 3 февраля 2006 года в архив с оригинала на 2016-05-15 . Проверено 28 января 2009 .
  34. ^ «ВПТЗ США: самые широкие претензии фальшивых заявлений против недействительности стандарта JPEG» . Groklaw.net . 26 мая 2006 . Проверено 21 июля 2007 .
  35. ^ «Система кодирования для уменьшения избыточности» . Gauss.ffii.org . Архивировано из оригинала 2011-06-12 . Проверено 29 мая 2011 .
  36. ^ «Заявка на патент JPEG отклонена» . Государственный патентный фонд . 2 ноября 2006 . Проверено 3 ноября 2006 .
  37. ^ «Свидетельство о повторной экспертизе Ex Parte на патент США № 5,253,341» . Архивировано из оригинала 2 июня 2008 года.
  38. ^ Рабочая группа. "Розманиф: Использование патентов на программы, чтобы заставить замолчать критиков" . Eupat.ffii.org . Архивировано из оригинала на 2011-07-16 . Проверено 29 мая 2011 .
  39. ^ «Награда в размере 5000 долларов США на имя тролля-трекера: Рэй Ниро хочет знать, кто говорит о нем все эти гадости» . Law.com . Проверено 29 мая 2011 .
  40. ^ Реймер, Джереми (2008-02-05). «Охота на троллей: ВПТЗ США попросили пересмотреть патент на широкое изображение» . Arstechnica.com . Проверено 29 мая 2011 .
  41. ^ США патентное ведомство - Предоставление переосвидетельствования по 5,253,341 С1
  42. ^ «Судья закрывает патент на JPEG» . Techdirt.com . 2008-04-30 . Проверено 29 мая 2011 .
  43. ^ «Единственная претензия к патенту JPEG отклонена (и отброшена для надлежащей оценки)» . Techdirt.com . 2008-08-01 . Проверено 29 мая 2011 .
  44. ^ Рабочая группа. "Домашняя страница Princeton Digital Image Corporation" . Архивировано из оригинала на 2013-04-11 . Проверено 1 мая 2013 .
  45. ^ Рабочая группа. «Статья о постановлении Принстонского суда относительно лицензионного соглашения GE» . Архивировано из оригинала на 2016-03-09 . Проверено 1 мая 2013 .
  46. ^ «2 причины использовать PNG вместо JPEG» . Ресурс Луна .
  47. ^ «Обзор прогрессивного декодирования» . Сеть разработчиков Microsoft . Microsoft . Проверено 23 марта 2012 .
  48. ^ «Почему всегда следует без потерь поворачивать оригинальные фотографии в формате JPEG» . Petapixel.com . Проверено 16 октября 2017 года .
  49. ^ «Формат файла JFIF как PDF» (PDF) .
  50. ^ Том Лейн (1999-03-29). «Часто задаваемые вопросы о сжатии изображений JPEG» . Проверено 11 сентября 2007 . (вопрос 14: «Почему все споры о форматах файлов?»)
  51. ^ «ИСО / МЭК 10918-1: 1993 (E) стр.36» .
  52. ^ Томас Г. Лейн. «Дополнительные возможности: выбор параметра сжатия» . Использование библиотеки IJG JPEG .
  53. ^ Райан, Дэн (2012-06-20). Модули электронного обучения: серия Dlr Associates . АвторДом. ISBN 978-1-4685-7520-0.
  54. ^ "Вопросы по частоте постоянного и переменного тока - Форум Doom9" . forum.doom9.org . Проверено 16 октября 2017 года .
  55. ^ a b Phuc-Tue Le Dinh и Жак Патри. Артефакты сжатия видео и уменьшение шума MPEG [ постоянная мертвая ссылка ] . Video Imaging DesignLine. 24 февраля 2006 г. Проверено 28 мая 2009 г.
  56. ^ « 3.9 москитный шум: форма искажения занятости краев, иногда связанная с движением, характеризующаяся движущимися артефактами и / или пятнистыми шумовыми узорами, наложенными на объекты (напоминающие комара, летающего вокруг головы и плеч человека)». Рек. МСЭ-Т. P.930 (08/96) Принципы эталонной системы искажений для видео. Архивировано 16 февраля 2010 г. в Wayback Machine.
  57. ^ Хулиа Мингильон, Жауме Пухоль (апрель 2001 г.). «Стандартное равномерное моделирование ошибок квантования JPEG с приложениями для последовательного и прогрессивного режимов работы» (PDF) . Электронное изображение . 10 (2): 475–485. Bibcode : 2001JEI .... 10..475M . DOI : 10.1117 / 1.1344592 . ЛВП : 10609/6263 .
  58. ^ а б И. Бауэрманн и Э. Стейнбач. Дальнейшее сжатие изображений JPEG без потерь. Proc. симпозиума по кодированию изображений (PCS 2004), Сан-Франциско, США, 15–17 декабря 2004 г.
  59. ^ a b Н. Пономаренко, К. Егиазарян, В. Лукин, Я. Астола. Дополнительное сжатие изображений JPEG без потерь, Proc. 4-го Междунар. Симпозиум по обработке и анализу изображений и сигналов (ISPA 2005), Загреб, Хорватия, стр. 117–120, 15–17 сентября 2005 г.
  60. ^ a b c d М. Штирнер и Г. Зельманн. Улучшенное сокращение избыточности для файлов JPEG. Proc. симпозиума по кодированию изображений (PCS 2007), Лиссабон, Португалия, 7–9 ноября 2007 г.
  61. ^ a b c Ичиро Мацуда, Юкио Номото, Кей Вакабаяси и Сусуму Ито. Перекодирование изображений JPEG без потерь с использованием блочно-адаптивного внутреннего предсказания. Труды 16-й Европейской конференции по обработке сигналов (EUSIPCO 2008).
  62. ^ «Последние бинарные версии packJPG: V2.3a» . 3 января, 2008. Архивировано из оригинала 23 января 2009 года.
  63. ^ Рихтер, Томас (сентябрь 2016 г.). «JPEG на СТЕРОИДАХ: Общие методы оптимизации для сжатия изображений JPEG». Международная конференция IEEE по обработке изображений (ICIP), 2016 г .: 61–65. DOI : 10,1109 / ICIP.2016.7532319 . ISBN 978-1-4673-9961-6. S2CID  14922251 . Выложите резюме .
  64. ^ Дж. Сирагуса; DC Swift (1997). «Универсальный дескриптор стереоскопических данных» (PDF) . VRex, Inc., Элмсфорд, Нью-Йорк . Архивировано из оригинального (PDF) 30 октября 2011 года.
  65. ^ Тим Кемп, файлы JPS
  66. ^ «Формат нескольких изображений» (PDF) . 2009 . Проверено 26 декабря 2019 .
  67. ^ «MPO2Stereo: конвертируйте файлы MPO Fujifilm в стереопары JPEG» , Mtbs3d.com , получено 12 января 2010 г.
  68. ^ «Типы файлов PS3, которые могут отображаться» . 2019 . Проверено 29 февраля 2020 .
  69. ^ «Типы файлов, которые можно просматривать с помощью приложения« Фото »» . 2019 . Проверено 29 февраля 2020 .
  70. ^ Алессандро Ортис; Себастьяно Баттиато (2015), Ситник, Роберт; Пуэч, Уильям (ред.), «Новый метод быстрого сопоставления для адаптивного сжатия стереоскопических изображений» , Обработка трехмерных изображений, Обработка трехмерных изображений, Измерение (3DIPM) и Приложения 2015, SPIE - Обработка трехмерных изображений , Measurement (3DIPM) и Applications 2015, 9393 : 93930K, Bibcode : 2015SPIE.9393E..0KO , doi : 10.1117 / 12.2086372 , S2CID  18879942 , получено 30 апреля 2015 г.
  71. ^ Алессандро Ортис; Франческо Рундо; Джузеппе Ди Джоре; Себастьяно Баттиато, Адаптивное сжатие стереоскопических изображений , Международная конференция по анализу и обработке изображений (ICIAP), 2013 г. , получено 30 апреля 2015 г.
  72. ^ «JPEG - JPEG XT» . jpeg.org .
  73. ^ «JPEG - окончательный проект конкурса предложений со сжатием изображений следующего поколения (JPEG XL)» . Jpeg.org . Проверено 29 мая 2018 .
  74. ^ Алакуйяла, Юрки; ван Асселдонк, Рууд; Букортт, Сами; Брюс, Мартин; Кома, Юлия-Мария; Фиршинг, Мориц; Фишбахер, Томас; Ключников, Евгений; Гомес, Себастьян; Обрик, Роберт; Потемпа, Кшиштоф; Ратушняк Александр; Снейерс, Джон; Забадка, Золтан; Вандервенн, Лоде; Версари, Лука; Вассенберг, янв (2019-09-06). «Архитектура сжатия изображений следующего поколения JPEG XL и инструменты кодирования». Приложения цифровой обработки изображений XLII . п. 20. DOI : 10,1117 / 12,2529237 . ISBN 978-1-5106-2967-7. S2CID  202785129 .
  75. ^ "Google Pik 試 し て み た" . Архивировано из оригинального 22 августа 2019 года . Проверено 22 августа 2019 .
  76. ^ а б Ратушняк Александр; Вассенберг, Ян; Снейерс, Джон; Алакуйяла, Юрки; Вандевенн, Лоде; Версари, Лука; Обрик, Роберт; Забадка, Золтан; Ключников, Евгений; Комса, Юлия-Мария; Потемпа, Кшиштоф; Брюс, Мартин; Фиршинг, Мориц; Хасанова, Рената; Рууд ван Асселдонк; Букортт, Сами; Гомес, Себастьян; Фишбахер, Томас (2019). «Проект комитета системы кодирования изображений JPEG XL». arXiv : 1908.03565 [ eess.IV ].
  77. ^ «N79010 Заключительный конкурс предложений по стандарту кодирования изображений следующего поколения (JPEG XL)» (PDF) . ISO / IEC JTC 1 / SC 29 / WG 1 (ITU-T SG16) . Проверено 29 мая 2018 .
  78. ^ «v0.2 · Теги · Справочное программное обеспечение jpeg / JPEG XL» . GitLab .
  79. ^ «Обзор JPEG» . jpeg.org . Проверено 16 октября 2017 .
  80. ^ Программное обеспечение, которое использует или предоставляет libjpeg-turbo . 9 февраля 2012 г.
  81. ^ «Представляем Guetzli: новый кодировщик JPEG с открытым исходным кодом» . Research.googleblog.com . Проверено 16 октября 2017 года .
  82. ^ «JPEG - JPEG XT» . jpeg.org .

  • Стандарт JPEG (JPEG ISO / IEC 10918-1 Рекомендация ITU-T T.81) на сайте W3.org
  • Официальный сайт Объединенной группы экспертов по фотографии (JPEG)
  • Формат файла JFIF на W3.org
  • Средство просмотра JPEG в 250 строках простого для понимания кода Python
  • Общедоступный компрессор JPEG в одном исходном файле C ++ вместе с соответствующим декомпрессором на code.google.com
  • Открытый исходный код декодера JPEG, авторское право (C) 1995–1997, Thomas G. Lane