Процесс сжатия изображений в формате JPG включает в себя несколько этапов: 2
- Перевод изображения в цветовое пространство YUV. 2 После этого каждые четыре рядом стоящие пикселя объединяются в один, что является первым этапом сжатия. 2
- Разделение картинки на блоки 8х8 пикселей. 2 Это необходимо для работы следующего алгоритма, по которому компьютер определяет, какое количество деталей находится в каждом блоке. 2 Если их мало, то эту часть можно закодировать меньшим количеством бит. 2
- Дискретное косинусное преобразование (ДКП). 24 В процессе ДКП блоки 8х8 пикселей раскладываются на 64 периодических перехода. 2 На этом этапе все частички из матрицы периодического перехода накладываются друг на друга с разным коэффициентом, при этом некоторые из них, наименее важные, отсекаются, делая объём файла ещё меньше. 2
- Квантование. 12 Более мелкие различия в цвете округляются до ближайшего доступного значения. 1
- Энтропийное кодирование. 2 В конце него множество нулей, оставшихся после выполнения предыдущего этапа, заменяются числом, обозначающим их количество. 2 Затем каждый из сгенерированных коэффициентов кодируется кодом Хаффмана, то есть наибольшие и наименьшие значения кодируются соответствующим количеством бит. 2
- Суммирование результатов. 2 Результаты работы каждого из этапов алгоритма суммируются, приводя к общему уменьшению размера файла, зависящим от степени сжатия. 2
- Склейка в один документ с расширением JPEG. 2
Эти два шага позволяют значительно сократить размер изображения с минимальной потерей качества. 1