JPEG XL — не требующий отчислений формат файлов растровой графики, который поддерживает сжатие как с потерями, так и без потерь. Он призван превзойти существующие растровые форматы и, таким образом, стать их универсальной заменой.
Название JPEG — Joint Photographic Experts Group, Объединённая группа экспертов по фотографии — комитет, разработавший этот формат. X — часть названия нескольких стандартов JPEG с 2000 года: , JPEG XR, . L — Long-term (долгосрочный), потому что намерение авторов формата в том, чтобы заменить JPEG на столь же долгий срок.
Особенности Улучшенная функциональность и эффективность по сравнению с традиционными графическими форматами (например, JPEG, GIF и PNG); Размеры изображения могут составлять более миллиарда (230−1) пикселей по каждой стороне; До 4100 каналов (полутоновых или RGB), дополнительный альфа-канал и до 4096 «дополнительных» каналов; Прогрессивное декодирование (по разрешению и точности); Транскодирование файлов JPEG без дальнейших потерь данных с уменьшением размера примерно на 20 % и возможностью восстанавливать исходный JPG; Файлы JPEG с цветовым пространством CMYK не поддерживаются для перекодирования, но они очень редки; Транскодирование в прогрессивный формат JPEG XL поддерживается спецификациями, но ещё не реализовано в эталонном ПО; Кодирование без потерь любого канала, включая альфа-канал; Поддержка как фотографических, так и синтетических изображений; Поддержка большого диапазона битрейтов с плавным ухудшением качества: потеря качества не такая резкая, как в старых форматах; Перцепционно оптимизированный эталонный кодер, использующий перцепционное цветовое пространство, адаптивное квантование и консервативные настройки по умолчанию; Поддержка широкой цветовой гаммы и HDR: в JPEG XL встроена поддержка различных цветовых пространств, кривых передачи и высокой яркости экрана; Поддержка анимированного контента; Эффективное кодирование и декодирование без специального оборудования; В частности, JPEG XL примерно так же быстро кодируется и декодируется, как старый JPEG с использованием libjpeg-turbo, и на порядок быстрее кодируется и декодируется по сравнению с HEIC и x265. Кроме того, он распараллеливаемый. Royalty-free формат с эталонной реализацией с открытым исходным кодом.
Технические детали
JPEG XL основан на идеях формата PIK от Google и формата FUIF от Cloudinary (который был, в свою очередь, основан на FLIF).
Формат в основном основан на двух режимах кодирования:
VarDCT (дискретное косинусное преобразование (ДКП) с переменным размером блока) — использует тот же алгоритм ДКП, что и JPEG, но блоки вместо ограничения 8x8 имеют различные размеры (от 2 × 2 до 256 × 256), неквадратные формы (например, 16 × 8, 8 × 32, 32 × 64) или могут использовать другие преобразования (AFV, Hornuss). Модульный — отвечает, среди прочего, за эффективное кодирование контента без потерь. Этот режим используется для сохранения полей адаптивного квантования, дополнительных каналов (например, альфа-канала, карты глубины, теплового канала, плашечных цветов и т. д.) и коэффициентов децимации (изображение с пониженной частотой дискретизации 1:8) режима VarDCT. Он также допускает сжатие с потерями с помощью модифицированного преобразования Хаара (называемого «squeeze»), которое имеет прогрессивные свойства: качество изображения растёт с увеличением объёма загружаемых данных. Одним из способов постепенной загрузки изображений на основе VarDCT является сохранение коэффициентов децимации VarDCT с модульным «сжатием», благодаря чему оба режима работают в тандеме.
В обоих режимах может помочь раздельное моделирование конкретных особенностей изображения, не известных в других кодеках на момент создания формата:
для кодирования, например, волос; повторяющиеся «участки», такие как текст, точки или спрайты, синтез шума (поскольку шум трудно кодировать в обоих основных режимах, лучше оценить его значение в кодере, сохранить его, а затем восстановить шум в декодере).
Режимы с потерями обычно используют цветовое пространство XYB, полученное из LMS.
JPEG XL также может без потерь повторно кодировать уже существующие файлы JPEG, напрямую копируя коэффициенты блоков DCT JPEG в блоки 8 × 8 VarDCT в JPEG XL, что делает возможным меньший размер файла за счёт лучшего энтропийного кодирования. Ранее существовал отдельный режим, специализирующийся именно на этом, называемый Brunsli, который был отделён от VarDCT и модульным, но он был отменён, чтобы упростить спецификацию и сделать декодер меньше на 20 %.
По умолчанию используется параметр, визуально близкий к значению без потерь, который по-прежнему обеспечивает хорошее сжатие.
Анимированные (многокадровые) изображения не выполняют расширенное межкадровое предсказание, хотя доступны некоторые рудиментарные инструменты межкадрового кодирования:
фреймы могут быть меньше полного размера холста, оставляя другие пиксели нетронутыми; фреймы поддерживают несколько режимов наложения в дополнение к замене предыдущих фреймов, такие как сложение и умножение; можно запомнить до четырёх кадров и ссылаться на них в более поздних кадрах.
Программное обеспечение
Реализация кодека JPEG XL Reference Software (libjxl) лицензия: New BSD License (раннее Apache License 2.0) содержит (среди прочего): кодировщик cjxl декодировщик djxl быстрый кодировщик fjxl только с режимом без потерь инструмент для сравнительного анализа скорости и качества кодеков изображений benchmark_xl GIMP и Gtk pixbuf плагин file-jxl J40: Независимый, автономный декодер JPEG XL лицензия: MIT License без указания авторства Библиотека с одним заголовком C99 (без зависимостей) «XL» римскими цифрами обозначает 40, отсюда и название libjxl-tiny: более простая реализация кодера JPEG XL, предназначенная для фотоизображений без альфа-канала лицензия: New BSD License jxlatte: декодер JPEG XL на Java лицензия: MIT License jxl_decode: декодер JPEG XL на языке Python лицензия: MIT License jpeg-xl-encode: PHP-оболочка JPEG XL для кодировщика лицензия: MIT License hydrium: быстрый потоковый кодер JPEG XL со сверхнизким потреблением памяти, написанный на портативном C лицензия: BSD License jxl-oxide: небольшой декодер JPEG XL, полностью написанный на Rust двойная лицензия: MIT License и Apache License 2.0
Официальная поддержка ImageMagick — набор инструментов для обработки растровой графики XnView MP — просмотрщик и редактор растровой графики Affinity Photo — редактор растровой графики GIMP — редактор растровой графики; доступен плагин для GIMP 2.10 Krita — редактор растровой графики Paint.NET 5.1.5 и новее — редактор растровой графики gThumb — бесплатный просмотрщик изображений в Linux IrfanView — бесплатный просмотрщик и редактор изображений для Windows; через официальный плагин ExifTool — редактор метаданных Adobe Photoshop — редактор растровой графики Adobe Lightroom Classic — редактор растровой графики и «проявки» RAW-снимков ImageGlass — просмотрщик и редактор растровой графики Apple Inc. iOS/iPadOS — мобильная ОС версии 17 и новее — общесистемное чтение, включая Files и Photos macOS — ОС, начиная с macOS Sonoma версии 14 и новее — чтение в Finder и Preview visionOS (предполагается) watchOS версии 10 и новее Safari — веб-браузер версии 17 и новее через движок WebKit FFmpeg Фотографии — в версии 2025.11030.20006.0 и новее
Неофициальная поддержка Приложения Qt / KDE — через плагин Microsoft Windows — через плагин для , позволяет просматривать файлы в Средстве просмотра фотографий Windows, в приложении Фотографии, Проводнике и т. д. macOS (Ventura и ранее) — через автономное приложение и плагин быстрого просмотра
Предварительная поддержка Firefox — веб-браузер; в тестировании. Поддержка включается через экспериментальные настройки в Firefox Nightly или через аддон в основной версии. Chromium — веб-браузер; был в тестировании с 1 апреля 2021. 9 декабря 2022 поддержка была удалена, однако, пользователи продолжают настаивать на включении поддержки нового формата. Edge — веб-браузер; экспериментальная поддержка осуществлялась в версиях 91-109, начиная с версии 110 была удалена.
История В 2017 году JTC1/SC29/WG1 (JPEG) объявила конкурс предложений по JPEG XL — стандарту кодирования изображений следующего поколения.
Формат файла (битовый поток) был заморожен 25 декабря 2020 года и официально стандартизирован 13 октября 2021 года. Любой файл, соответствующий этому стандарту, гарантированно может быть декодирован во всех будущих версиях.
Статус стандартизации Общепринятое названиеЧастьДата первого публичного выпуска (Первое издание)ISO/IEC NumberFormal TitleJPEG XLЧасть 130 марта 2022ISO/IEC FDIS 18181-1Система кодирования изображений JPEG XL. Часть 1. Базовая система кодированияЧасть 213 октября 2021ISO/IEC 18181-2Система кодирования изображений JPEG XL. Часть 2. Формат файлаЧасть 33 октября 2022ISO/IEC DIS 18181-3Система кодирования изображений JPEG XL. Часть 3. Тестирование на соответствиеЧасть 45 августа 2022ISO/IEC DIS 18181-4Система кодирования изображений JPEG XL. Часть 4. Эталонное ПО
Примечания
Комментарии
Источники
Ссылки
The JPEG XL Community
Категория:Растровая графика Категория:JPEG Категория:Графика в Web