Страница защищена ожидающими изменениями
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Термин «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 , через 16-ю Исследовательскую группу ITU-T ) и Joint Photographic Experts Group. [1] Основной основой алгоритма сжатия JPEG с потерями является дискретное косинусное преобразование (DCT) [1] [13], которое впервые было предложено Насиром Ахмедом в качестве метода сжатия изображений в 1972 году. [7] [13] Ахмед разработал методику сжатия изображений. практический алгоритм DCT с Т. Натараджаном из Университета штата Канзас и К. Р. Раоиз Техасского университета в Арлингтоне в 1973 году. [7] Их основополагающая статья 1974 года [14] цитируется в спецификации JPEG вместе с несколькими более поздними исследовательскими работами, в которых проводилась дальнейшая работа над DCT, включая статью 1977 года Вен-Сюнга Чена, Смит и С.К. Фралик, описавшие быстрый алгоритм DCT, [1] [15], а также статью 1978 года NJ Narasinha и SC Fralick и статью 1984 года BG Lee. [1] В спецификации также цитируется статья Wen-Hsiung Chen и WK Pratt 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 процитировала две более ранние исследовательские работы Wen-Hsiung Chen, опубликованные в 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 официально называются « Информационные технологии» - цифровое сжатие и кодирование неподвижных изображений с непрерывным тоном . ISO / IEC 10918 состоит из следующих частей:

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

Патентные споры [ править ]

В 2002 году Forgent Networks заявила, что владеет и будет обеспечивать соблюдение патентных прав на технологию JPEG, вытекающих из патента, который был подан 27 октября 1986 года и выдан 6 октября 1987 года: патент США 4698672, выданный компанией Compression Labs Wen- Сюн Чен и Даниэль Дж. Кленке. [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 г. ВПТЗ США признало патент недействительным на основании предшествующего уровня техники. USPTO также обнаружило, что 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 [ править ]

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 [ править ]

Формат файла, известный как «Формат обмена JPEG» (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; в частности, «Во всех случаях, когда маркеры добавляются после сжатых данных. data, необязательные байты заполнения 0xFF могут предшествовать маркеру ").

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

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

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

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

Пример кодека JPEG [ править ]

Хотя файл 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). При сжатии видео микроконтроллеры MCU называются макроблоками .

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

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

Дополнительное изображение 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 квантованных коэффициентов переменного тока такое предсказание разности не используется.

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

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

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

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

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

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

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

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

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

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

И 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 хорошо сочетаются с фотографиями с детализированными неоднородными текстурами, обеспечивая более высокий коэффициент сжатия. Обратите внимание, как более высокая степень сжатия сначала влияет на высокочастотные текстуры в верхнем левом углу изображения и как контрастные линии становятся более нечеткими. Очень высокая степень сжатия серьезно влияет на качество изображения, хотя общие цвета и форма изображения все еще узнаваемы. Однако точность цветов страдает меньше (для человеческого глаза), чем точность контуров (на основе яркости). Это оправдывает тот факт, что изображения должны быть сначала преобразованы в цветовую модель, отделяющую яркость от хроматической информации,перед субдискретизацией хроматических плоскостей (которые также могут использовать квантование более низкого качества), чтобы сохранить точность плоскости яркости с большим количеством информационных битов.

Примеры фотографий [ править ]

Визуальное влияние сжатия 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

JPS - это стереоскопическое изображение JPEG, используемое для создания 3D-эффектов из 2D-изображений. Он содержит два статических изображения, одно для левого глаза и одно для правого глаза; закодированы как два расположенных рядом изображения в одном файле JPG. 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) и SonyDSC-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. ^ Haines, Ричард Ф .; Чуанг, Шерри Л. (1 июля 1992 г.). Влияние сжатия видео на приемлемость изображений для наблюдения за научными экспериментами (Технический отчет). НАСА . НАСА-ТП-3239, А-92040, НАСА 1.60: 3239 . Проверено 13 марта 2016 . Уровни сжатия неподвижных изображений JPEG, даже в большом диапазоне от 5: 1 до 120: 1 в этом исследовании, дали столь же высокие уровни приемлемости.
  4. ^ a b Хадсон, Грэм; Леже, Ален; Нисс, Биргер; Себастьен, Иштван; Ваабен, Йорген (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 .
  6. ^ Baraniuk, Крис (15 октября 2015). «Защита от копирования может прийти на JPegs» . BBC News . BBC . Дата обращения 13 сентября 2019 .
  7. ^ a b c Ахмед, Насир (январь 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. ^ a b c "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. ^ a b Чен, Вэнь-Сюн; Smith, C .; Фралик, С. (1977). «Быстрый вычислительный алгоритм для дискретного косинусного преобразования». IEEE Transactions on Communications . 25 (9): 1004–1009. DOI : 10.1109 / TCOM.1977.1093941 . ISSN 0090-6778 . 
  16. ^ a b Чен, Вэнь-Сюн; Пратт, В.К. (1984). «Адаптивный кодер сцены». IEEE Transactions on Communications . 32 (3): 225–232. DOI : 10.1109 / TCOM.1984.1096066 . ISSN 0090-6778 . 
  17. ^ a b c d e f g h Лемос, Роберт (23 июля 2002 г.). «Поиск патентной истины в заявлении JPEG» . CNET . Дата обращения 13 июля 2019 .
  18. ^ ISO / IEC JTC 1 / SC 29 (2007-05-07). «ISO / IEC JTC 1 / SC 29 / WG 1 - Кодирование неподвижных изображений (структура SC 29 / WG 1)» . Архивировано из оригинала на 2013-12-31 . Проверено 11 ноября 2009 .
  19. ^ a b ISO / IEC JTC 1 / SC 29. «Программа работы, (передана в SC 29 / WG 1)» . Архивировано из оригинала на 2013-12-31 . Проверено 7 ноября 2009 .
  20. ^ ISO. «JTC 1 / SC 29 - Кодирование аудио, изображений, мультимедийной и гипермедийной информации» . Проверено 11 ноября 2009 .
  21. ^ a b 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 . Проверено 28 января 2009 .
  34. ^ «ВПТЗ США: самые широкие претензии фальшивых заявлений о недействительности стандарта JPEG» . Groklaw.net . 26 мая 2006 . Проверено 21 июля 2007 .
  35. ^ «Система кодирования для уменьшения избыточности» . Gauss.ffii.org . Проверено 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 C1
  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. ^ "ISO / IEC 10918-1: 1993 (E) p.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. ^ Julià Minguillón, Жауме Пуйоль (апрель 2001). «Стандартное равномерное моделирование ошибок квантования JPEG с приложениями для последовательного и прогрессивного режимов работы» (PDF) . Электронное изображение . 10 (2): 475–485. Bibcode : 2001JEI .... 10..475M . DOI : 10.1117 / 1.1344592 . hdl : 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: конвертируйте файлы Fujifilm MPO в стереопары 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 .
  76. ^ a b Ратушняк Александр; Вассенберг, Ян; Снейерс, Джон; Алакуйяла, Юрки; Вандевенн, Лоде; Версари, Лука; Обрик, Роберт; Забадка, Золтан; Ключников, Евгений; Комса, Юлия-Мария; Потемпа, Кшиштоф; Брюс, Мартин; Фиршинг, Мориц; Хасанова, Рената; Рууд ван Асселдонк; Букортт, Сами; Гомес, Себастьян; Фишбахер, Томас (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