ФОРМАТ JPEGJPEG (или JPG) - Joint Photographic Expert Group - формат для цифровых фотографий, разработанный "объединённой группой экспертов в области фотографии" в 1991 году. Этот формат работает в наших смартфонах, фотоаппаратах. Даже в самых навороченных профессиональных фотоаппаратах наряду с другими форматами обязательно есть и jpeg. Формат использует 24-х битовую цветовую схему RGB. Его замечательное свойство - внутренняя регулируемая компрессия. Рассмотрим, как это работает. Для начала посчитаем, сколько будет без сжатия весить типичная фотография в 10 мегапикселей (у меня на смартфоне установлено для фото 16:9, 4096х2304=9437184, то есть как раз примерно 10 Мпс). 24 бита = 3 байта для кодировки цвета на каждый пиксель. Итого, 30 млн. байт, или ~ 30 Мбайт на одну фотографию. В то же время реально фотографии весят 0,9 - 1,5 Мбайта, - работает внутренняя компрессия jpeg. Рассмотрим фотографию и её фрагмент.
В областях фотографии, где цветовые оттенки близки, выбираются группы пикселей (например, 6х6), цветовой оттенок группы усредняется. Вместо 36-ти цветовых оттеков в памяти достаточно хранить один. Там, где соседние пиксели сильно отличаются по оттенку, усреднение не проводится, контрастные границы на фото сохраняются, - поэтому фотографии при одинаковых настройках по сжатию имеют разный вес. Это - объяснение в первом приближении. На самом деле всё сложнее: группы пикселей могут быть не обязательно "квадратными", не обязательно связанными, а чтобы между группами не было резких переходов, применяется функциональное сглаживание. Сжатие, понятно, идёт с потерями качества. Но: найдена граница сжатия, до которой человеческий глаз не замечает потери качества, воспринимает сжатую фотографию так же, как несжатый оригинал. Эта степень сжатия как стандарт установлена в непрофессиональных камерах и смартфонах. Степень сжатия не слабая - примерно в 15 - 30 раз по памяти. Так, фотография вверху слева весит 14 Кбайт, а в несжатом виде весила бы 220 Кбайт. Степень сжатия при одинаковых настройках для разных фотографий разная, если на фото много мелких деталей, сжимается хуже. При сохранении картинки в формате jpeg всегда появляется ползунок для регулировки степени сжатия:
Шкала условная и не универсальная (в каждой графической программе она откалибрована по разному), по умолчанию степень сжатия уже установлена. Нажимая не глядя на кнопку "сохранить", мы как бы соглашаемся с этим. Но если вы редактируете, да не один раз, уже сжатую фотографию, стоит подумать. Поиграем с ползунком в редакторе GIMP.
Видно, что сжатие выше установленного стандарта роняет качество, а выигрыша по памяти практически не даёт. |