Алгоритм сжатия изображений YCbCr основан на особенностях человеческого восприятия цвета. compuart.ru dernasherbrezon.com Задача алгоритма — уменьшить размер картинки так, чтобы человек не заметил большой разницы. dernasherbrezon.com
Процесс сжатия включает несколько этапов: spravochnick.ru
- Преобразование из RGB в YCbCr. spravochnick.ru Этот этап не уменьшает размер файла, но облегчает поиск менее заметных деталей, которые можно удалить. habr.com
- «Прореживание». spravochnick.ru Каждому блоку из 4 пикселей (2х2) яркостного канала Y ставятся в соответствие усреднённые значения Cb и Cr. spravochnick.ru
- Разбиение на блоки 8х8 пикселей. spravochnick.ru Если разрешение не кратно стороне блока, используют заполнение. prohoster.info
- Дискретное косинусное преобразование (ДКП). spravochnick.ru Этот этап позволяет выбрать информацию, которую можно безболезненно отбросить, не внося серьёзных искажений в картинку. spravochnick.ru
- Квантование. spravochnick.ru Полученные коэффициенты ДКП квантуются (для Y, Cb и Cr в общем случае используются разные матрицы квантования) и пакуются с использованием кодирования серий и кодов Хаффмана. spravochnick.ru
Преобразование цветов в коэффициенты ДКП не несёт потерь. habr.com Потери образуются на шаге дискретизации, где удаляются величины высокой частоты или близкие к нулю. habr.com Когда понижают качество сохранения JPEG, программа увеличивает порог количества удаляемых значений, что даёт уменьшение размера файла, но делает картинку более пикселизированной. habr.com