Введение

Формат файла сжатого изображения JPEG XR (JPEG extended range) - это стандарт сжатия изображений для непрерывных фотографических изображений, основанный на спецификациях HD Photo (ранее Windows Media Photo), которые Microsoft первоначально разработала и запатентовала. Он поддерживает как стерильное, так и беспотерильное сжатие, и является предпочтительным форматом изображения для документов Ecma 388 Open XML Paper Specification. Поддержка формата была доступна в Adobe Flash Player 11.0, Adobe AIR 3.0, Sumatra PDF 2.1, Windows Imaging Component, NET Framework 3.0, Windows Vista, Windows 7, Windows 8, Internet Explorer 9, Internet Explorer 10, Internet Explorer 11, Pale Moon 27.2. По состоянию на январь 2021 года до сих пор не было камер, которые снимали бы фотографии в формате JPEG XR. Формат JXR.

История

Microsoft впервые анонсировала Windows Media Photo на WinHEC 2006, а затем переименовала его в HD Photo в ноябре того же года. В июле 2007 года Совместная группа экспертов по фотографии и Microsoft объявили, что HD Photo рассматривается как стандарт JPEG, известный как JPEG XR. 16 марта 2009 года JPEG XR получил окончательное одобрение в качестве Рекомендации Т.832 МСЭ и с апреля 2009 года стал доступен в ТМСЭ в "предварительно опубликованной" форме. В 2010 году, после завершения спецификации кодирования изображений, ITU T и ISO/IEC также опубликовали спецификацию формата движения (ITU T T.833 ISO/IEC 29199 3), набор тестов соответствия (ITU T T.834 ISO/IEC 29199 4) и справочное программное обеспечение (ITU T T.835 ISO/IEC 29199 5) для JPEG XR. В 2011 году они опубликовали технический отчет, описывающий архитектуру рабочего процесса для использования изображений JPEG XR в приложениях (ITU T T. Sup2 ISO / IEC TR 29199 1).

Формат контейнера

Один из форматов контейнера файлов, который может использоваться для хранения данных изображения JPEG XR, указан в приложении А к стандарту JPEG XR. Это TIFF-подобный формат, использующий таблицу тегов каталога файлов изображений (IFD). Файл JPEG XR содержит данные изображения, дополнительные данные альфа-каналов, метаданные, дополнительные XMP метаданные, хранящиеся в формате RDF/XML, и дополнительные метаданные Exif в тегах IFD. Данные изображения - это соседствующий самостоятельный кусок данных. Альфа-канал, если он есть, может быть сжат в виде отдельной записи изображения, что позволяет декодировать данные изображения независимо от данных прозрачности в приложениях, которые не поддерживают прозрачность. (В качестве альтернативы JPEG XR также поддерживает "пересеченный" формат альфа-каналов, в котором данные альфа-каналов кодируются вместе с другими данными изображения в одном сжатом потоке кода.) Будучи основанным на TIFF, этот формат унаследовал все ограничения формата TIFF, включая ограничение размера файла в 4 ГБ, которое, согласно спецификации HD Photo, "будет рассмотрено в будущем обновлении". В комитете JPEG начата новая работа по использованию кодирования изображений JPEG XR в формате хранения файлов JPX, позволяя использовать протокол JPIP, который позволяет интерактивно просматривать изображения в сети.

Алгоритм сжатия

Концептуально дизайн JPEG XR очень похож на JPEG: изображение исходного источника может быть преобразовано в цветовое пространство luma chroma, плоскости хрома могут быть подкарантинными, каждая плоскость делится на блоки фиксированного размера, блоки преобразуются в частотную область, а коэффициенты частоты квантируются и энтропии кодируются. Основные различия включают в себя следующее: JPEG поддерживает битовую глубину 8 и 12 бит; JPEG XR поддерживает битовую глубину до 32 бит. JPEG XR также поддерживает беспотеритное и потеряно сжатие данных изображения с плавающей запятой (препоставляя значения плавающей запятой в формате IEEE 754 и кодируя их, как если бы они были целыми числами) и изображения RGBE. JFIF и другие типичные методы кодирования изображения определяют линейную трансформацию от RGB к YCbCr, которая на практике имеет небольшие потери из-за ошибки окружения. JPEG XR определяет беспотерянную трансформацию цветового пространства, а именно YCoCg R, данную (для RGB) следующим образом: В то время как JPEG использует 8 × 8 блоков для преобразования частоты, JPEG XR в основном использует преобразования блоков 4 × 4. (2 × 4 и 2 × 2 преобразования также определены для особых случаев, связанных с подпробованием цвета; варианты кодировки включают YUV 444, YUV 422, YUV 420 и только монохромный Y.) В то время как JPEG использует одну стадию трансформации, JPEG XR применяет свою трансформацию ядра 4 × 4 в двухуровневой иерархической форме в 16 × 16 макроблоковых областях. Это дает трансформации волновой блок, похожий на многоразрешение и улучшает ее способность сжатия. DCT, частотная трансформация, используемая JPEG, имеет небольшие потери из-за ошибки окружения. JPEG XR использует тип целочисленной трансформации, используя схему подъема. Требуемая трансформация, называемая трансформацией фотоядра (PCT), напоминает DCT 4 × 4, но не имеет потерь (точно обратимый). На самом деле, это особое воплощение более крупного семейства бинарных дружественных мультипликаторов без трансформаций, называемых binDCT. JPEG XR позволяет сделать факультативный этап пересечения, называемый префильтрацией, перед каждым из его 4 × 4 основных этапов преобразования PCT. В JPEG коэффициенты постоянного тока изображения блоков DCT предсказываются путем применения прогноза постоянного тока от левого соседского трансформационного блока, и никакие другие коэффициенты не предсказываются. В JPEG XR 4 × 4 блока группируются в макроблоки из 16 × 16 образцов, а 16 коэффициентов постоянного тока из 4 × 4 блоков каждого макроблока проходят через другой уровень преобразования частоты, оставляя три типа коэффициентов, которые должны быть закодированы энтропией: коэффициенты постоянного тока макроблока (называемые DC), коэффициенты переменного тока уровня макроблока (называемые "lowpass") и коэффициенты переменного тока более низкого уровня (называемые AC). Прогноз значений коэффициентов в блоках трансформации применяется к коэффициентам постоянного тока и к дополнительному ряду или столбцу коэффициентов переменного тока. JPEG XR поддерживает кодирование изображения путем разложения его на более мелкие отдельные прямоугольные области площади плитки. Каждая область плитки может быть расшифрована независимо от других областей изображения. Это позволяет быстро получить доступ к пространственным областям изображений без декодирования всей картины. Фаза кодирования энтропии JPEG XR более адаптивна и сложна, чем у JPEG, включая схему прогнозирования коэффициентов постоянного тока и переменного тока, адаптивное переустройство коэффициентов (в отличие от фиксированного зигзагового упорядочения JPEG) и форму адаптивного кодирования Хаффмана для самих коэффициентов. JPEG использует один размер шага квантования на компонент DC / AC на цветовую плоскость на изображение. JPEG XR позволяет выбирать размеры шагов квантования постоянного тока на основе области плитки и позволяет изменять размеры шагов квантования низкого прохода и переменного тока от макроблока к макроблоку. Поскольку все фазы кодирования, кроме квантования, не имеют потерь, JPEG XR не имеет потерь, когда все коэффициенты квантования равны 1. Это не относится к JPEG. JPEG определяет отдельный безпотерянный режим, который не использует DCT, но он не реализован libjpeg и поэтому не широко поддерживается. В спецификации бит-потока HD Photo утверждается, что "HD Photo предлагает качество изображения, сопоставимое с JPEG 2000 с вычислительной и памятью, более близкой к JPEG", что он "предоставляет сжатое изоб�...

Лицензирование

У Microsoft есть патенты на технологию JPEG XR. Представитель Microsoft заявил в интервью в январе 2007 года, что для поощрения принятия и использования HD Photo спецификация доступна в соответствии с Microsoft Open Specification Promise, в котором утверждается, что Microsoft разрешает реализацию спецификации бесплатно и не будет подавать иски на запатентованную технологию для ее реализации, как сообщается Джошем Вайсбергом, директором Microsoft Rich Media Group. С 15 августа 2010 года Microsoft предоставила полученный стандарт JPEG XR в рамках своего обещания сообщества. В июле 2010 года было опубликовано справочное программное обеспечение для реализации стандарта JPEG XR в качестве Рекомендации ITU T T.835 и Международного стандарта ISO/IEC 29199 5. Microsoft включила эти публикации в список спецификаций, охватываемых ее обещанием сообщества. Это решило любые проблемы с лицензированием библиотеки, реализованной в пакетах программного обеспечения, распространяемых по популярным лицензиям с открытым исходным кодом, таким как GNU General Public License, с которыми ранее выпущенный "HD Photo Device Porting Kit" был несовместим.