Существует два основных типа сжатия:
- сжатие без потерь
- сжатие с потерями
Как вы упомянули, JPEG - это метод сжатия с потерями, который использует некоторые математические приемы для сохранения данных, поэтому потеря информации об изображении приводит к потере качества.
В основном, если вы сохраняете изображение и сохраняете информацию о цвете для каждого пикселя без какой-либо кодировки, то каждое изображение, скорее всего, будет точно одинакового размера.
Но поскольку существуют методы сжатия без потерь, у вас есть возможность сохранить размер файла без потери качества. Самым базовым примером будет Кодировка длины прогона , где вы можете комбинировать идентичные последовательные данные и, таким образом, экономить место, необходимое для их хранения по одному. Например, вы должны хранить информацию типа «2 белых, 3 черных» вместо того, чтобы говорить «белый, белый, черный, черный, черный».
Это приводит к тому, что изображения без большой дисперсии сжимаются до сравнительно небольших размеров файлов, в то время как это невозможно для тех, у кого большая разница в них.
Вот почему различные необработанные снимки, сделанные на одной и той же камере, скорее всего, приведут к разным размерам файлов.