Формат, о котором идет речь, скорее всего, это формат JPEG. Он использует алгоритм сжатия, который также называется JPEG, что является аббревиатурой от Joint Photographic Experts Group.
Давайте рассмотрим шаги, которые помогут понять, как работает этот алгоритм:
- Подготовка изображения: Сначала изображение преобразуется в цветовое пространство YCbCr, которое разделяет яркость (Y) и цветовые компоненты (Cb и Cr). Это позволяет более эффективно сжимать данные, так как человеческий глаз менее чувствителен к изменениям в цвете, чем в яркости.
- Дискретное косинусное преобразование (DCT): Затем применяется DCT, который преобразует блоки пикселей (обычно 8x8) в частотное представление. Это позволяет выделить основные характеристики изображения и уменьшить количество данных, необходимых для его представления.
- Квантование: На этом этапе происходит квантование коэффициентов DCT. Это значит, что некоторые из них округляются, что приводит к потере информации, но значительно уменьшает объем данных. Квантование основано на восприятии человека, что позволяет более сильно сжимать те частоты, которые менее заметны.
- Кодирование: После квантования применяется энтропийное кодирование, например, кодирование Хаффмана. Это позволяет дополнительно сжать данные, устраняя избыточность.
- Сохранение файла: В конце все эти данные собираются в файл формата JPEG, который можно сохранять и передавать.
Таким образом, формат JPEG и алгоритм сжатия JPEG тесно связаны между собой, что позволяет эффективно сохранять изображения с минимальными потерями в качестве.