Формат изображений JPEG¶
JPEG (сокр. от Joint Photographic Experts Group) — это растровый формат сжатия изображений с потерями, созданный одноимённой рабочей группой экспертов в 1992 году. Файлы с расширением .jpg (или .jpeg) представляют собой сжатые фотографии, скриншоты и другие изображения, в которых часть данных отбрасывается ради существенного уменьшения размера файла. Формат является одним из самых распространённых в цифровой фотографии и веб-публикации.
¶История и стандарт
Разработка формата велась рабочей группой Joint Photographic Experts Group, объединившей специалистов из МСЭ (ITU-T) и ISO. Стандарт ISO/IEC 10918-1 (ITU-T Recommendation T.81) был опубликован в 1992 году. Название формата произошло от названия этой группы, а не от какого-либо технического термина.
До появления JPEG для хранения изображений использовался формат TIFF и несжатые bitmap-файлы, которые занимали очень много места. JPEG позволил сокращать размер файлов в 10–20 раз при визуально приемлемом качестве, что сделало возможным массовое распространение цифровых фотографий и обмен изображениями по сети.
¶Принцип сжатия
Сжатие JPEG основано на нескольких алгоритмах:
- Цветовое пространство YCbCr. Исходное RGB-изображение преобразуется в модель, где Y — яркость, а Cb и Cr — цветовые компоненты. Человеческий глаз чувствительнее к изменениям яркости, чем к цвету, поэтому цветовые компоненты сжимаются сильнее.
- Разбиение на блоки 8×8 пикселей. Изображение делится на квадратные блоки, к каждому применяется дискретное косинусное преобразование (DCT).
- Квантование. Коэффициенты после DCT делятся на значения из таблицы квантования. Именно на этом этапе происходит основная потеря данных — высокочастотные детали отбрасываются.
- Энтропное кодирование. Оставшиеся коэффициенты кодируются методом Хаффмана или арифметическим методом.
Поскольку часть данных необратимо отбрасывается, повторное сжатие JPEG-файла приводит к дальнейшему ухудшению качества — эффект, известный как поколенческая деградация.
¶Степень сжатия
Формат поддерживает переменную степень сжатия. Обычно пользователю предлагается выбрать уровень качества от 1 до 100. Значение 100 даёт минимальные потери, но большой файл; значения 60–80 считаются оптимальным балансом между размером и качеством. При низких значениях становятся заметны характерные артефакты — блочность и «размазанность» мелких деталей.
¶Ограничения
JPEG не поддерживает:
- Прозрачность. В отличие от PNG и GIF, у JPEG нет альфа-канала.
- Слой-канал. Формат не предназначен для редактирования слоями.
- Потребительское сжатие. В отличие от PNG, сжатие JPEG необратимо.
Поэтому JPEG не рекомендуется для логотипов, иконок, диаграмм с резкими границами и изображений с текстом — там предпочтительнее PNG.
¶Расширения файлов
Формат использует расширения .jpg и .jpeg. Исторически расширение .jpeg состояло из четырёх букв, что создавало неудобства в старых файловых системах с ограничением на три символа (например, в DOS и ранних версиях Windows). В результате появилось сокращение .jpg. Оба расширения полностью взаимозаменяемы и указывают на один и тот же формат.
¶Разновидности
На основе оригинального стандарта были разработаны расширения:
- JPEG 2000 (ISO/IEC 15444-1, 2000 год) — использует вейвлет-преобразование вместо DCT, поддерживает сжатие без потерь и альфа-канал. Распространение получил ограниченное.
- JPEG XR — формат Microsoft с поддержкой HDR и прозрачности.
- JPEG LS — алгоритм сжатия без потерь, созданный для замены TIFF в научных приложениях.
¶Применение
JPEG является стандартом де-факто для хранения и передачи фотографий. Он используется в цифровых камерах, смартфонах, веб-публикации (формат поддерживается всеми браузерами), электронной почте и мессенджерах. Большинство цифровых камер по умолчанию сохраняют снимки в JPEG, хотя профессионалы предпочитают формат RAW с последующей обработкой.
В вебе изображения JPEG обычно сжимаются до качества 75–85 и масштабируются под нужный размер перед публикацией, что позволяет显著но сократить время загрузки страниц.
¶Исторические факты
- Оригинальная группа JPEG состояла из 14 членов.
- Первые цифровые камеры, снимающие в JPEG, появились в середине 1990-х годов.
- В 2017 году JPEG-файл был отправлен в космос вместе с данными аппарата Cassini перед его затоплением в атмосфере Сатурна.
¶Источники
- ISO/IEC 10918-1:1994 — Information technology — Digital compression and coding of continuous-tone still images
- ITU-T Recommendation T.81
- W3C — WebP Image Format documentation
- ГОСТ Р ИСО/МЭК 10918-1
