adblock check

Как работает сжатие изображений

И что бы мы делали без него? Спойлер - было бы очень грустно. В статье объясняется принцип сжатия JPEG и уже наступившее будущее с WebP

Одним из самых важных изобретений в сфере IT абсолютно точно можно считать такой формат сжатия, как JPEG, который на сегодняшний день является стандартом в Интернете. Благодаря нему мы имеем возможность сжимать картинки, практически без визуальных потерь, в десятки, сотни и даже тысячи раз.

Если не JPEG, то наш Интернет, возможно, выглядел бы совсем иначе, и мы явно не могли бы с такой скоростью и комфортом проводить свободное время в Интернете, лайкать Инстаграмы подружек, читать новости, листать ленту ВКонтакте, да вообще все, к чему мы привыкли в нашей будничной жизни. И это все не так просто, как кажется на первый взгляд. Поэтому давайте разберемся, как же работают процессы в сжатии картинок.

Как работает сжатие изображений

Первый этап работы алгоритма заключается в том же переводе изображения в цветовое пространство YUV. Принцип его работы ничем не отличается от такового в сжатии видео. Об этом процессе подробнее мы поговорим в одном из следующих материалов.

После того, как алгоритм разбил изображение на три составляющих, начинается процесс ресемплинга для всех цветовых масок. В ходе его работы, каждые четыре рядом стоящие пикселя объединяются в один. Благодаря этому, изображение проходит первый этап фактического сжатия, тем самым теряя десятку, другую килобайт.

Как работает сжатие изображений

Далее вся картинка разделяется на блоки 8х8 пикселей.

Это необходимо для работы следующего алгоритма, по которому компьютер должен понять, какое количество деталей находится в каждом блоке, чтобы в случае если их там мало, закодировать эту часть меньшим количеством бит.

Например, если это не особо детализированная часть изображения, обладающая преимущественно близкими оттенками цвета. Вместо того, чтобы кодировать цвет каждого блока отдельно, например неба, вся такая зона изображения заливается одним цветом.

Как работает сжатие изображений

Называется весь этот процесс Дискретным Косинусным Преобразованием, который в свою очередь является разновидностью преобразования Фурье, применяемым в том числе при сжатии музыки.

В процессе его работы блоки 8х8 пикселей, раскладываются на 64 периодических перехода. Выглядят они вот так:

Как работает сжатие изображений

На этом этапе все частички из матрицы периодического перехода накладываются друг на друга с разным коэффициентом, при том некоторые из них, наименее важные, отсекаются, делая объем файла еще меньше в несколько раз.

Приближаясь к последнему этапу в работе алгоритма сжатия, вступает процесс квантования и сканирования матрицы зиг-загом. После выполнения последнего, начинается, говоря простым языком, округление коэффициентов из нашей матрицы пространственных волн. Ведь среди них есть те, у которых значение равно, либо немногим больше отличается от нуля. Посему их можно сократить, удалив часть ненужной, на взгляд алгоритма, информации.

Затем идет процесс энтропийного кодирования. В конце его работы множество нулей, оставшихся после выполнения предыдущего этапа, заменяются числом, обозначающим их количество. Затем каждый из сгенерированных коэффициентов кодируется кодом Хаффмана, то есть наибольшие и наименьшие значения кодируются соответственным количеством бит.

Ну и в конце, результаты работы каждого из этапов алгоритма суммируются, приводя тем самым к общему уменьшению размера файла, зависящим от степени сжатия. Все, что осталось после кодирования, склеивается в один документ с расширением JPEG.

Как работает сжатие изображений

Сам по себе формат JPEG довольно старый, на сегодняшний день изобретено множество более совершенных алгоритмов сжатия, например WebP, который превосходит JPEG, относительно сохранения качества изображений практически на 30%. Тем не менее JPEG явно еще не собирается отправляться на заслуженный покой.

Спасибо за внимание!

podogreykin podogreykin
Пользователь
3 комментария по лайкам по дате
Оставьте комментарий...
Оставьте комментарий...
IbnXatab 5 лет
Круто.почитав такие вот статьи прямо каждый сможет стать умным.
я уже 4 статьи прочитал у вас на сайте.так что скоро я стану умным и буду знать всё