Сжатие графических файлов может стать решением многих проблем, с которыми сталкиваются современные IT-системы. Стремительное развитие цифровых камер и разрешение современных мониторов приучили нас к тому, что фотографии должны быть «большими». В результате графические файлы занимают всё больше места, а компьютерные диски, а точнее наши кошельки, не поспевают за объективами. Особенно, когда кто-то любит часто нажимать спуск затвора.
К счастью, мы можем хотя бы частично обойти эту проблему, и её решение заключается в сжатии файлов изображений. Каковы его преимущества, недостатки и как его осуществить?
Что такое сжатие данных и файлов
Если коротко, сжатие данных – это изменение их объёма, выполняемое с целью уменьшения заполняемости носителя, предназначенного для их хранения.
При переводе с «русского на русский» идея состоит в том, чтобы избавиться от всего ненужного, не затрагивая важные данные, необходимые для идеального воспроизведения сохраненного файла. Благодаря соответствующим методам, после сжатия выходная информация кодируется с использованием меньшего количества битов (бит – наименьшее количество информации), чем входная информация.
С точки зрения пользователя, сжатие данных должно быть обратимым, т.е. при следующем открытии файла мы должны видеть (если это, например, графический файл) точно такое же изображение. Не только в визуальной сфере, но и в сфере «IT». Каждый отображаемый нашему глазу пиксель должен быть на своём месте и иметь те же параметры, что и до сжатия.
Самый простой способ наблюдать за сжатием – поместить фотографии в папку и сжать её в rar или zip. Результат должен занимать гораздо меньше места на диске, чем исходная несжатая папка, содержащая те же фотографии.
Почему мы решили сжимать графические файлы
Основным аргументом в пользу сжатия графических файлов является уменьшение загрузки дисков компьютера. В связи с тем, что телефоны мы меняем чаще, чем компьютеры, такое сжатие может быть особенно актуально для тех, кто хранит очень большие объёмы фотографий.
Это будет важно, особенно когда такие фотографии хранятся в «облаке». Надо помнить, что это «мифическое облако» есть не что иное, как сервер, который вместо дома стоит где-то в идеальных для него «тепличных» условиях большой серверной комнаты. Они имеет свои жёсткие диски, процессор, оперативную память и также занимается передачей файлов. Всё это стоит денег, а когда нам нравится фотографировать, к чему нас приучили современные смартфоны, мы начинаем создавать «серьёзную проблему» для нашего облака.
Идя по тому же пути, если мы большой портал и обслуживаем тысячи клиентов в час, мы хотим, чтобы каждый из них видел страницу мгновенно. Никто не любит ждать загрузки медленных страниц. Одной из причин медленной загрузки страниц являются неправильно оптимизированные фотографии.
Как видите, почти всё зависит от сжатия изображения. Пишем почти, потому что графические дизайнеры и профессиональные фотографы в силу своей работы не заинтересованы в такой экономии. Они не знают, когда нужно будет вернуться к исходной фотографии и повторно её обработать, поэтому лучше иметь под рукой исходный файл без каких-либо следов манипуляций.
Типы сжатия файлов изображений
Есть два основных типа сжатия. Когда после обработки мы можем получить точное представление данных, как до обработки, мы говорим о сжатии без потерь. Этот тип сжатия требуется, например, когда изображение рассматривается как документ, например, медицинское изображение. То же самое верно, когда сделать новую фотографию по какой-то причине очень дорого. Тогда мы хотим всегда иметь в своём распоряжении идеальную оригинальную версию.
Графика также может быть сжата с потерями. В этом случае после всей операции сжатое изображение не будет идеальным отражением входного файла, но будет близко к нему. Степень потери качества и «похожести» выбирается во время самого сжатия. Программы графической обработки обычно позволяют предварительно просмотреть эффект, и благодаря этому мы можем сами решить, какую потерю качества мы готовы принять.
Для обычного пользователя и с возможностями современных камер допустимая потеря «качества» фото может быть относительно велика. В любом случае, он будет демонстрировать высокий уровень и допускать качественную печать, а на мониторе всё будет выглядеть красиво. При этом сжатый файл будет занимать лишь часть исходного размера в мегабайтах.
По сравнению со сжатием без потерь сжатие с потерями может значительно уменьшить размер сжатого файла.
Здесь следует отметить, что алгоритмы, предназначенные для сжатия, не обязательно подходят для сжатия графических файлов. Это связано с тем, что изображения двухмерны, в отличие, например, от текста, который представляет собой одномерную строку символов. Для того, чтобы иметь возможность сжимать изображение по стандартному алгоритму, нам сначала нужно преобразовать его в более подходящий для этого вид, т.е. создать одномерную строку пикселей, т.е. профессионально ее линеаризовать. Чаще всего линеаризацию делают в растровом порядке (сверху, слева, справа).
Форматы графических файлов и стандарты сжатия
Сжатие без потерь может выполняться, например, в стандарте JPEG (JPEG без потерь) или FELICS (быстрая, эффективная система сжатия изображений без потерь) для изображений в градациях серого, или более новый JPEG-LS также в градациях серого.
Наиболее распространенным форматом сжатия с потерями является обычный JPEG, но в настоящее время он заменяется в Интернете новым стандартом WebP. Этот метод разработан Google и характеризуется сохранением качества, сравнимого с JPEG, при меньшем размере файла. В конечном счете, этот формат может заменить такие файлы, как PNG и GIF, благодаря использованию сжатия без потерь и прозрачности.
Однако, возвращаясь к стандартам сжатия, в случае файлов PNG, MNG и TIFF используется сжатие DEFLATE без потерь.
Для GIF и TIFF это может быть LZW.
Одним из простых методов сжатия является RLE (кодирование длин серий), используемое для файлов BMP, TGA, TIFF.
Как сжать графический файл
Мы используем программы обработки графики для сжатия графических файлов. Среди них мы выделяем платные и бесплатные программы, которые мы можем установить на свой компьютер. В нашем распоряжении также есть онлайн-инструменты. Обычно они доступны в какой-то степени бесплатно, а за плату предлагают больше возможностей.
Популярные программы сжатия для установки на компьютер
Сжатие файлов изображений с помощью GIMP
Настоящий комбайн, за который нам не нужно платить ни копейки, – это GIMP. Он характеризуется немалыми возможностями уже в базовой версии, но программа написана таким образом, что позволяет установку дополнительных плагинов для дальнейшего расширения возможностей.
Самое интересное расширение, которое можно добавить в GIMP, это Save for Web. Как следует из названия, это надстройка, позволяющая быстро сжимать графические файлы для размещения в Интернете.
Следует отметить, что даже без этого плагина при каждом сохранении можно выбрать расширение графического файла и в настройках, посвященных каждому расширению, можно уменьшить качество графики, удалить метаданные или повозиться со сжатием в ущерб качеству.
Плагин Save for Web позаботится об этом за нас, значительно ускорив работу, ведь все необходимые опции удобно расположены в одном окне.
Сжатие файлов изображений с помощью Adobe Photoshop
Описывая инструменты, позволяющие сжимать графические файлы, нельзя не упомянуть пакет Adobe. Это платное решение и стоит довольно дорого.
Вся операция сжатия графического файла аналогична GIMP. Мы не дадим вам точный путь, потому что он немного меняется с каждым выпуском Photoshop, но независимо от того, какую версию программы вы используете, принцип один и тот же.
Сначала обрезаем фото до нужного разрешения, а затем с помощью выпадающего меню находим опцию экспорта и Сохранить для Web и… готово!
Средства сжатия графики онлайн
Photopea
Если вы не хотите устанавливать дополнительное программное обеспечение, в нашем распоряжении есть еще один комбайн, но на этот раз в онлайн-версии. Речь идёт о сервисе Photopea.
Просто зайдите на photopea.com, перетащите фотографию в окно редактирования, а затем используйте сочетание клавиш Shift + Ctrl + Alt + S. После одновременного нажатия всех клавиш появляется окно сохранения изображений для Cети. Мы можем изменить разрешение, установить качество с помощью ползунка и выбрать целевой формат файла.
Как мы уже упоминали, Photopea – это настоящий графический комбайн прямо в окне браузера, поэтому его также стоит использовать для более сложных действий с файлами. Благодаря ему мы можем, например, редактировать файлы, подготовленные ранее в пакете Adobe, так что стоит запомнить это решение.
TinyPng, Kraken, Compress JPEG и им подобные
Если вас не интересуют расширенные возможности, связанные с обработкой фотографий, доступные в приложении Photopea, но вы всё же предпочитаете сжимать файлы онлайн, а не устанавливать дополнительные программы, то у нас есть способ сделать это.
В Интернете есть множество сервисов, предлагающих быстрое сжатие графики, и мы можем порекомендовать TinyPng, Kraken и CompressJPEG.
Работа с ними сказочно проста. После входа на веб-сайт мы перетаскиваем фотографию в указанное окно и через несколько секунд можем загрузить результат. Не очень сложно правда?
По сравнению с сайтом Photopea у нас нет возможности «настраивать» сжатые изображения под свои нужды, но не всем будет интересно вникать в такие тонкости.
Ложка дёгтя к бочке меда онлайн услуг
Стоит отметить, что все сайты, предлагающие нам свои услуги, не могут работать «бесплатно». Хотя с нашей точки зрения они бесплатны, т.е. мы не используем кошелек при отправке туда файлов для обработки, стоит ознакомиться с правилами сайтов сжатия данных и выяснить, что происходит с нашими необработанными файлами и уже сжатыми.
Кроме рекламы, такие сервисы ещё как-то должны зарабатывать на жизнь.
Сжатие имеет много преимуществ, и его стоит использовать
Сжатие файлов изображений – это ответ на гонку мегапикселей фотокамер, и надо признать, что ответ весьма эффективен.
Хорошо оптимизированные и сжатые файлы занимают лишь часть исходного дискового пространства. В то же время они представляют качество, позволяющее печатать даже в очень большом формате. На экране монитора с очень высоким разрешением такое фото будет смотреться очень хорошо.