JPEG фактически использует два типа сжатия: с потерями и без потерь. Сжатие без потерь не вызывает артефактов, поэтому мы можем игнорировать эту часть. Конкретный тип сжатия с потерями в JPEG, называемый дискретным косинусным преобразованием для математических чисел, позволяет найти компромисс между степенью сжатия и точностью. В большинстве программ это значение оценивается как «качество», обычно по шкале от 0 до 100, где 100 практически не имеет или очень мало потерь, и от этого дела идут вниз.
Этот конкретный алгоритм сжатия был принят, потому что он хорош при отбрасывании того, что человеческая зрительная система не замечает так сильно, как другие компоненты сцены. Это частично, почему довольно прилично выглядящие изображения могут иметь впечатляюще высокие коэффициенты сжатия. Именно поэтому он хорошо работает на реальных фотографиях с непрерывным тоном, а не на синтетических изображениях и штриховых рисунках.
Вот область размером 200 x 300 с более крупной фотографией с дублированными пикселями, чтобы увидеть их лучше. Этот используемый JPEG сжимает "качество" 100:
![](https://i.stack.imgur.com/xua2b.jpg)
Качество 80, уменьшение размера файла на 79%:
![](https://i.stack.imgur.com/f3j6j.jpg)
Качество 60, снижение на 86%:
![](https://i.stack.imgur.com/UG59q.jpg)
Качество 40, снижение на 90%:
![](https://i.stack.imgur.com/Yjck5.jpg)
Уменьшение размера файла было основано на сжатии JPEG всего файла, так что структуры заголовков и другие фиксированные издержки составляли небольшую часть данных.
Обратите внимание, что вам нужно искать артефакты на втором изображении, даже если было отброшено почти 4/5 исходной информации. Артефакты сжатия JPEG обычно наиболее заметны на острых краях и в медленно меняющихся плоских областях. Поскольку штриховые рисунки имеют все острые края, сжатие JPEG для этого не подходит.
Вы можете видеть, что артефакты сжатия постепенно ухудшаются при более высоких степенях сжатия. Имейте в виду, однако, что нижняя картинка содержит удивительное количество визуальной информации для удаления 9/10-й ее необработанной информации.
Типы артефактов, характерных для сжатия с потерями JPEG, - это «блочность» в медленно изменяющихся плоских областях и «грязь», окружающая высококонтрастные края. Например, смотрите нижнюю правую область на картинке выше. Это содержит не в фокусе фон, поэтому значения меняются медленно. Блочность вполне очевидна. Для примеров «грязи», посмотрите вокруг левого рога козла. Эти два типа артефактов обычно являются сильным признаком того, что сжатие JPEG было включено. Также посмотрите на них на других рисунках выше, чтобы понять, как они выглядят, когда они только начинают появляться, и какую степень сжатия вы можете выдержать при различных обстоятельствах.