Открыть сервис

Формат JPEG

JPEG (произносится «джейпег», от англ. Joint Photographic Experts Group) — это один из наиболее распространённых форматов графических файлов, предназначенный для хранения растровых изображений с потерей качества. JPEG использует алгоритм сжатия с потерями, основанный на дискретном косинусном преобразовании, что позволяет значительно уменьшить размер файла по сравнению с несжатыми форматами (например, BMP) при сохранении приемлемого визуального качества. Формат широко применяется в цифровой фотографии, веб-дизайне, полиграфии и других областях, где требуется эффективное хранение и передача изображений.

История

Разработка стандарта

История JPEG начинается в 1986 году, когда Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) сформировали объединённую экспертную группу по фотографии (Joint Photographic Experts Group). Целью группы было создание универсального стандарта сжатия непрерывно-тоновых изображений. В 1992 году был опубликован первый стандарт ISO/IEC 10918-1, который и лёг в основу формата JPEG. В 1994 году он был принят в качестве рекомендации ITU-T T.81.

Распространение и развитие

В 1990-е годы JPEG стал стандартом де-факто для хранения фотографий в интернете и на цифровых камерах. Его популярность была обусловлена высокой степенью сжатия при относительно низких потерях качества. В 2000 году был предложен новый стандарт JPEG 2000, основанный на вейвлет-преобразовании, который обеспечивал лучшее качество при тех же размерах файлов, но не получил широкого распространения из-за более высокой вычислительной сложности и меньшей совместимости с существующим программным обеспечением. В 2020-х годах появились более современные форматы, такие как HEIF и AVIF, но JPEG остаётся наиболее универсальным и поддерживаемым форматом.

Принцип сжатия

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

Сжатие JPEG основано на дискретном косинусном преобразовании (ДКП) и квантовании. Процесс включает несколько этапов:

  1. Преобразование цветового пространства. Изображение переводится из цветовой модели RGB (красный, зелёный, синий) в YCbCr (яркость и две цветоразностные компоненты). Человеческий глаз менее чувствителен к изменениям цвета, чем к яркости, поэтому цветоразностные компоненты могут быть сжаты сильнее.
  2. Разбиение на блоки. Изображение делится на квадратные блоки размером 8×8 пикселей.
  3. Дискретное косинусное преобразование. К каждому блоку применяется ДКП, которое преобразует пространственные данные в частотные. В результате получается матрица коэффициентов, где низкочастотные компоненты (отвечающие за плавные переходы) сосредоточены в верхнем левом углу, а высокочастотные (детали и шум) — в правом нижнем.
  4. Квантование. Коэффициенты ДКП делятся на значения из таблицы квантования, которая определяется степенью сжатия (фактором качества). Высокочастотные коэффициенты часто обнуляются, что приводит к потере мелких деталей, но значительно уменьшает объём данных.
  5. Сжатие без потерь. Полученная матрица квантованных коэффициентов дополнительно сжимается с помощью кодирования длин серий (RLE) и алгоритма Хаффмана или арифметического кодирования.

Фактор качества

Пользователь может задать степень сжатия JPEG с помощью параметра «качество» (quality), который обычно выражается в процентах или по шкале от 0 до 100. Чем выше качество, тем меньше потери и больше размер файла. При качестве 100 сжатие практически отсутствует, но файл всё равно может быть меньше исходного из-за преобразования цветового пространства. При низком качестве (например, 10–20) изображение приобретает характерные артефакты: блоки 8×8 становятся заметными, появляются «муаровые» узоры и размытие деталей.

Сжатие без потерь

Существует также режим сжатия JPEG без потерь (lossless JPEG), описанный в стандарте, но он практически не используется из-за низкой степени сжатия. Вместо него для сжатия без потерь применяются форматы PNG, GIF или WebP.

Структура файла

Формат файла

Файл JPEG обычно имеет расширение .jpg или .jpeg. Он состоит из последовательности маркеров, каждый из которых начинается с байта 0xFF и кода маркера. Основные маркеры:

  • SOI (Start of Image) — начало файла.
  • APP0маркер приложения, содержащий метаданные, например, информацию о модели камеры или дате съёмки (в формате Exif).
  • DQT (Define Quantization Table) — таблица квантования.
  • SOF (Start of Frame) — параметры изображения: ширина, высота, количество цветовых компонентов.
  • DHT (Define Huffman Table) — таблица Хаффмана.
  • SOS (Start of Scan) — начало сжатых данных.
  • EOI (End of Image) — конец файла.

Метаданные

JPEG поддерживает встраивание метаданных в формате Exif (Exchangeable Image File Format), который содержит информацию о параметрах съёмки (диафрагма, выдержка, ISO, фокусное расстояние), дате и времени, модели камеры, GPS-координатах. Также возможна вставка цветовых профилей ICC, миниатюр и текстовых комментариев.

Применение

Цифровая фотография

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

Веб-дизайн

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

Полиграфия

В полиграфии JPEG применяется для хранения фотографий и иллюстраций, но с высоким качеством (обычно 90–95%), чтобы избежать заметных артефактов при печати. Для профессиональной работы часто используются форматы без потерь, такие как TIFF.

Медицина и наука

В медицинской визуализации (рентгеновские снимки, МРТ) JPEG используется редко из-за потерь качества, которые могут повлиять на диагностику. Вместо него применяются специализированные форматы, такие как DICOM. В некоторых научных областях JPEG используется для хранения снимков со спутников и микроскопов.

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

Достоинства

  • Высокая степень сжатия. При умеренных потерях качества JPEG позволяет уменьшить размер файла в 10–20 раз по сравнению с несжатым изображением.
  • Широкая поддержка. Формат поддерживается практически всеми программами для просмотра и редактирования изображений, веб-браузерами, камерами и мобильными устройствами.
  • Гибкость. Возможность выбора степени сжатия от почти без потерь до очень низкого качества.

Недостатки

  • Потери качества. Каждое сохранение в JPEG приводит к дополнительным потерям, поэтому формат не подходит для многократного редактирования и пересохранения.
  • Артефакты сжатия. При низком качестве появляются заметные блоки 8×8, размытие деталей и «муар» на мелких текстурах.
  • Отсутствие поддержки прозрачности. JPEG не поддерживает альфа-канал, поэтому для изображений с прозрачными областями (например, логотипов) необходимо использовать PNG или GIF.
  • Неэффективность для изображений с резкими границами. Текст, линии и другие элементы с чёткими краями при сжатии JPEG становятся размытыми и искажёнными.

Альтернативы

JPEG 2000

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

WebP

WebP — формат, разработанный компанией Google в 2010 году. Он использует методы сжатия на основе VP8 и обеспечивает сжатие с потерями и без потерь, а также поддержку прозрачности. WebP обычно даёт файлы на 25–35% меньше, чем JPEG при том же качестве. Поддерживается большинством современных браузеров.

HEIF

HEIF (High Efficiency Image File Format) — формат, основанный на стандарте сжатия видео HEVC (H.265). Он обеспечивает значительно лучшее сжатие, чем JPEG (до 50% экономии), и поддерживает прозрачность, анимацию и глубину цвета до 16 бит. Используется в устройствах Apple с iOS 11 и выше, но ограниченно поддерживается в других системах.

AVIF

AVIF — формат, основанный на кодеках AV1, разработанный Альянсом за открытые медиа (AOMedia). Он обеспечивает ещё более высокую степень сжатия, чем HEIF, и поддерживает HDR (расширенный динамический диапазон) и прозрачность. Поддерживается в Chrome, Firefox и Opera, но пока не получил массового распространения.

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

  • Название «JPEG» является аббревиатурой от Joint Photographic Experts Group, но сам формат официально называется JPEG File Interchange Format (JFIF). Однако термин JPEG стал общеупотребительным.
  • При сохранении в JPEG с качеством 100% потери всё равно происходят из-за преобразования цветового пространства и квантования, хотя они минимальны.
  • Существует модификация JPEG, называемая JPEG XR (ранее HD Photo), разработанная Microsoft, которая поддерживает сжатие без потерь и более высокую глубину цвета, но не получила широкого распространения.
  • В 2019 году был опубликован стандарт JPEG XL, который объединяет преимущества JPEG 2000 и WebP, обеспечивая лучшее сжатие и поддержку современных функций, но его внедрение идёт медленно.

Источники

  • ISO/IEC 10918-1:1994 — Information technology — Digital compression and coding of continuous-tone still images.
  • ITU-T T.81 — Information technology — Digital compression and coding of continuous-tone still images.
  • Wallace, G. K. (1992). «The JPEG still picture compression standard». IEEE Transactions on Consumer Electronics.
  • Pennebaker, W. B., & Mitchell, J. L. (1992). «JPEG: Still Image Data Compression Standard». Van Nostrand Reinhold.
  • Обзор форматов сжатия изображений на сайте Google Developers.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →