что значит фактическое сжатие изображения
Как работает сжатие цифровой фотографии – базовые алгоритмы
Сжатие является большой проблемой, когда дело доходит до фотографий. Вы можете легко испортить большое изображение, сжимая его слишком много или слишком часто.
Если Вы будете понимать принципы сжатия цифровой фотографии, вы сможете правильно управлять им, чтобы удовлетворить потребности конкретного изображения.
Что такое сжатие файла
Сжатие используется для уменьшения размера любого файла на компьютере, включая файлы изображений. Файлы сжимаются, чтобы уменьшить их размер и облегчить их публикацию в Интернете. Однако, когда дело доходит до фотографий, сжатие не всегда полезно, потому что сжатие может повлиять на качество изображения.
Различные форматы файлов фотографий на камерах DSLR и компьютерах применяют разные уровни сжатия. Когда изображение сжимается – в камере или на компьютере – в файле остается меньше информации, а более мелкие детали цвета, контрастности и резкости могут вовсе исчезнуть.
С таким форматом сжатия, как в файле JPEG, вы можете поместить больше файлов на карту памяти, но при этом вы жертвуете качеством. Опытные фотографы избегают сжатия, снимая в формат RAW, в котором сжатие не применяется. Однако, для обычной фотографии сжатие в формате JPEG не является существенным недостатком.
Когда заметно сжатие
Разница в форматах сжатия может быть не заметна на ЖК-экране камеры или даже на мониторе компьютера. Это наиболее очевидно при печати изображения, особенно если оно увеличено. Слишком сильное сжатие может повлиять даже на качество печати размером 8×10 дюймов. Однако, если вы просто делитесь фотографией в социальных сетях, потери при сжатии не будут заметны.
Цифровая фотография значительно продвинулась в последние годы. Многие фотографы хотят использовать новейшие камеры с максимальным количеством мегапикселей и постоянно обновляются, чтобы использовать новейшие технологии. Однако, если те же фотографы не обращают внимания на сжатие в момент захвата изображения, они теряют качество, за которое заплатили.
Как работает цифровое сжатие
Цифровой датчик способен захватывать гораздо больше информации, чем может обработать человеческий глаз. Следовательно, некоторая часть этой информации может быть удалена во время сжатия, и зритель ничего не заметит.
Механизм сжатия ищет любые большие области повторяющихся цветов и удаляет некоторые повторяющиеся данные. Затем они восстанавливаются на изображении при распаковке файла.
Два типа сжатия изображений
Два типа сжатия – без потерь и с потерями, и они означают именно то, как звучит их название.
Советы по предотвращению проблем со сжатием
Любой фотограф может предпринять шаги, чтобы не потерять качество фотографии при сжатии.
Как работает сжатие изображений
Одним из самых важных изобретений в сфере IT абсолютно точно можно считать такой формат сжатия, как JPEG, который на сегодняшний день является стандартом в Интернете. Благодаря нему мы имеем возможность сжимать картинки, практически без визуальных потерь, в десятки, сотни и даже тысячи раз.
Если не JPEG, то наш Интернет, возможно, выглядел бы совсем иначе, и мы явно не могли бы с такой скоростью и комфортом проводить свободное время в Интернете, лайкать Инстаграмы подружек, читать новости, листать ленту ВКонтакте, да вообще все, к чему мы привыкли в нашей будничной жизни. И это все не так просто, как кажется на первый взгляд. Поэтому давайте разберемся, как же работают процессы в сжатии картинок.
Первый этап работы алгоритма заключается в том же переводе изображения в цветовое пространство YUV. Принцип его работы ничем не отличается от такового в сжатии видео. Об этом процессе подробнее мы поговорим в одном из следующих материалов.
После того, как алгоритм разбил изображение на три составляющих, начинается процесс ресемплинга для всех цветовых масок. В ходе его работы, каждые четыре рядом стоящие пикселя объединяются в один. Благодаря этому, изображение проходит первый этап фактического сжатия, тем самым теряя десятку, другую килобайт.
Далее вся картинка разделяется на блоки 8х8 пикселей.
Это необходимо для работы следующего алгоритма, по которому компьютер должен понять, какое количество деталей находится в каждом блоке, чтобы в случае если их там мало, закодировать эту часть меньшим количеством бит.
Например, если это не особо детализированная часть изображения, обладающая преимущественно близкими оттенками цвета. Вместо того, чтобы кодировать цвет каждого блока отдельно, например неба, вся такая зона изображения заливается одним цветом.
Называется весь этот процесс Дискретным Косинусным Преобразованием, который в свою очередь является разновидностью преобразования Фурье, применяемым в том числе при сжатии музыки.
В процессе его работы блоки 8х8 пикселей, раскладываются на 64 периодических перехода. Выглядят они вот так:
На этом этапе все частички из матрицы периодического перехода накладываются друг на друга с разным коэффициентом, при том некоторые из них, наименее важные, отсекаются, делая объем файла еще меньше в несколько раз.
Приближаясь к последнему этапу в работе алгоритма сжатия, вступает процесс квантования и сканирования матрицы зиг-загом. После выполнения последнего, начинается, говоря простым языком, округление коэффициентов из нашей матрицы пространственных волн. Ведь среди них есть те, у которых значение равно, либо немногим больше отличается от нуля. Посему их можно сократить, удалив часть ненужной, на взгляд алгоритма, информации.
Затем идет процесс энтропийного кодирования. В конце его работы множество нулей, оставшихся после выполнения предыдущего этапа, заменяются числом, обозначающим их количество. Затем каждый из сгенерированных коэффициентов кодируется кодом Хаффмана, то есть наибольшие и наименьшие значения кодируются соответственным количеством бит.
Ну и в конце, результаты работы каждого из этапов алгоритма суммируются, приводя тем самым к общему уменьшению размера файла, зависящим от степени сжатия. Все, что осталось после кодирования, склеивается в один документ с расширением JPEG.
Сам по себе формат JPEG довольно старый, на сегодняшний день изобретено множество более совершенных алгоритмов сжатия, например WebP, который превосходит JPEG, относительно сохранения качества изображений практически на 30%. Тем не менее JPEG явно еще не собирается отправляться на заслуженный покой.
Стандарты качества в стоковой фотографии. Часть 3: Сжатие (компрессия)
Шум (искажение цветов пикселей) и «артефакты сжатия» — это две технические проблемы, с которыми сталкиваются фотографы. В обоих случаях на одном из этапов работы с фотографией страдает качество изображения. Пригодность фотографии для фотобанков зависит от степени повреждения изображения.
К счастью, с развитием технологии эти проблемы встречаются все реже и становятся все менее острыми. Но даже если вы пользуетесь менее современным оборудованием, можно научиться сводить эти проблемы к минимуму.
Эта статья состоит из двух частей: первая посвящена сжатию, вторая развивает тему цифрового шума. Статья в основном нацелена на новичков, но мы также затронем и несколько более продвинутых примеров. Снимки были сделаны специально для этой статьи. В большинстве случаев мы для наглядности утрировали недостатки изображения. На самом деле даже изображения с меньшими повреждениями могут оказаться непригодными для фотобанков.
Сжатие
Не считая проблем освещения, «артефакты сжатия», вероятно, наиболее частая причина отклонения изображения на фотобанках.
Сжатие («компрессия») и «артефакты сжатия» – термины, которые описывают визуальные искажения, возникающие в изображении из-за потери информации. Формат JPEG в прямом смысле слова сжимает изображение, чтобы уменьшить размер файла фотографии. В данном формате используется алгоритм сжатия с потерей информации (lossy format), который опускает часть информации для того, чтобы снизить количество байтов, которое занимает изображение. Если упущено слишком много информации, это может сказаться на качестве изображения. Подобная потеря информации может произойти и на стадии редактирования.
Сжатие, как правило, приводит к нескольким типам визуального искажения, которые обычно называют «артефактами», «контурами» и «огрублением»:
Это изображение голубого неба сильно сжато. Переход из одного оттенка голубого в другой заметно искажен полосками, а на тех частях изображения, где цвет должен быть равномерным, появились контуры.
Это крайний пример, чересчур сжатое изображение не всегда смотрится так плохо. Обращайте внимание на блики и квадраты в тех частях снимка, где должен быть равномерный цвет, а также на полоски вместо плавного перехода между оттенками.
Если на изображении появились подобные недостатки, их практически невозможно исправить. Иногда артефакты сжатия пытаются замаскировать дополнительным редактированием, например, программами для шумоподавления или частичным размыванием изображения. Однако при использовании подобной маскировки возникают новые трудности, изображение начинает выглядеть неестественно, а качество снимка снижается.
Существуют две основные причины сжатия: ограниченные возможности оборудования и, что встречается намного чаще, слишком агрессивное редактирование и обработка изображения. В любом случае, ваша задача – избежать сжатия.
1. Используйте DSLR (цифровой зеркальный фотоаппарат).
Существует множество компактных цифровых фотоаппаратов для съемки «навел и снял». Как правило, они не могут предложить такое же качество изображения как DSLR. Во многих цифровых фотоаппаратах слишком много мегапикселей при очень маленьком сенсоре, а также встроенное программное обеспечение для конвертации изображения в JPEG, которое не поддается ручной настройке. Уже этого достаточно, чтобы привести к сжатию изображения. Если вы всерьез хотите делать качественные фотографии, забудьте о компактной «мыльнице» и купите DSLR. Они дешевеют с каждым днем, а выбор моделей достаточно широк.
Это два примера классического сжатия компактной камерой. Эти снимки были сделаны цифровыми фотоаппаратами «навел и снял», которые просто не в состоянии корректно воспроизвести детали.
Изображение на этом снимке сильно сжато, поэтому создается впечатление, что оно состоит из мелких квадратов.
2. Снимайте в формате RAW
В отличие от формата JPEG, формат RAW снимает «без потерь» (lossless format), т.е. потери информации во время съемки не происходит. Снимайте в формате RAW и не конвертируйте снимок в JPEG до окончания редактирования, таким образом вы сможете сохранить максимальное количество информации до окончания работы над изображением. Основной недостаток формата RAW – больший размер файла. Но в наше время диски, флеш-карты и другие носители информации становятся все дешевле. В конечном итоге, не стоит мириться с существенным сжатием формата JPEG для того, чтобы на карту памяти поместилось больше снимков.
Изначальный файл в формате RAW
Файл, конвертированный в JPEG. Конвертация также демонстрирует, как был отредактирован RAW файл, в основном, коррекцию контраста и цвета. Согласитесь, в этом масштабе снимок выглядит неплохо.
Часть снимка, показанного ранее, в 100% масштабе. Редактирование привело к значительному сжатию, потере деталей и образованию мелких квадратов.
Основное преимущество формата RAW — это то, что не происходит потери информации, поэтому всегда можно вернуться к изначальному изображению. Если во время редактирования или сохранения изображения появились «артефакты сжатия», у вас по-прежнему остается изначальный файл, вы всегда можете начать работу заново, и снимок не будет потерян. Так, например, несмотря на то, что в процессе редактирования фотографии, показанной ранее, на ней появились артефакты сжатия, мы можем вернуться к изначальному изображению и попробовать отредактировать снимок заново.
Сжатие и сверхобработка.
Как мы уже говорили ранее, компрессия в большинстве случаев вызвана чрезмерным редактированием. Неумеренное использование фильтров или технических приемов приводит к потере информации, появлению сжатия и снижению качества изображения. Мы приведем несколько примеров:
Первоначальный снимок в формате RAW, сделанный с использованием двух градиентных фильтров: нейтрально серого ND-фильтра (Neutral- Density filter) и фильтра коррекции цвета (colour correction filter).
Изображение после конвертации в JPEG, масштаб 100%. Повреждение изображения сжатием хорошо заметно в этом масштабе: зубчатые контуры, чрезмерная резкость и насыщенность изображения.
Часть снимка в 100% масштабе демонстрирует появление квадратов на изображении, вызванное сжатием.
Снимок в формате RAW после попытки откорректировать тени и светлые участки снимка с помощью повышения уровней.
Это участок неба, который на фотографии находится прямо под крестом, масштаб 100%. Обратите внимание, насколько сжатие повлияло на детали.
Изображение в формате RAW после редактирования, фотография заброшенного бункера времен Первой мировой войны. Из-за плохого освещения снимок сделан при высоком ISO, что придало изображению специфический тон.
Часть изображения после конвертации файла в JPEG, 100% масштаб. Стена вне фокуса, передний план справа.
Часть изображения после конвертации файла в JPEG, 100% масштаб. Часть потолка в конце коридора, вне фокуса.
В приведенных выше изображениях проблема заключается в том, что обработка оригинального снимка с высокой светочувствительностью ISO привела к тому, что вместо изначальной приемлемой «зернистости» на изображении появились артефакты сжатия, детали стали размытыми, пропала четкость.
Оригинальный RAW файл до редактирования.
RAW файл после редактирования: восстановлены детали в темных частях снимка, кривые отредактированы для получения более теплых тонов, избирательно отредактирован контраст и яркость, снижен цветовой шум (chrominance noise), и т.д.
Изображение после конвертации в JPEG, 100% масштаб.
Изображение после конвертации в JPEG, 100% масштаб.
Недоэкспонированный снимок с блеклыми красками в формате RAW, 100% масштаб.
Изображение в формате RAW в 100% масштабе. Здесь была избирательно отредактирована экспозиция и откорректированы кривые, что привело к значительной потере деталей.
Как избежать сжатия при редактировании:
1. Будьте аккуратны
Если вы используете формат JPEG, всегда подходите к редактированию фотографий с осторожностью. Каждый раз, когда вы корректируете что-то, вы рискуете привнести артефакты сжатия; но если файл был испорчен во время редактирования, вы всегда можете вернуться к изначальному изображению.
В целом, если вы работаете с 8-битным JPEG файлом, любые радикальные изменения контраста, насыщенности, цветов или четкости могут привести к появлению артефактов сжатия.
Предположим, вы работаете над пейзажем с голубым небом. Во время обработки появляется соблазн чрезмерно увеличить насыщенность и контраст, чтобы получить яркую, поражающую воображение фотографию. Обратите внимание на небо. Возможно, появились некрасивые, бросающиеся в глаза полоски в тех частях, где должны быть плавные переходы между оттенками голубого.
Чрезмерное редактирование кривых может также привести к подобным результатам. Даже конвертация из формата RAW в JPEG может испортить качество деталей.
Всегда сохраняйте файлы JPEG с настройками на сохранение максимального качества.
Конвертируйте с осторожностью.
Редактируйте аккуратно, старайтесь не потерять информацию. Если возможно, используйте новые слои.
2. Конвертируйте файлы перед значительным редактированием
Если требуется агрессивное редактирование, попробуйте конвертировать файл в 16-битный TIFF формат и работайте в нем. Редактирование в 16-битном формате позволяет использовать большое количество дополнительной информации до конвертации изображения в 8-битный JPEG.
3. Работайте с фотоаппаратом.
С голубым небом часто возникают сложности, поэтому постарайтесь уловить максимальное количество деталей во время съемки, чтобы избежать сжатия в целом. Поляризационный фильтр может оказаться вашим лучшим другом при съемке красивого летнего неба. Существуют и другие полезные фильтры, которые сделают фотографии пейзажей лучше: фильтры коррекции цвета (colour correction filters), ND-фильтры (neutral density), или сочетание обоих фильтров как градиентных.
Рассмотрите снимок перед сохранением.
Откалибрируйте монитор, используйте профили и рабочий атлас цветов. Это позволит вам лучше рассмотреть всю площадь снимка в 100% масштабе перед тем, как сохранить окончательный вариант. Сравните конечный вариант с первоначальным изображением, чтобы убедиться в том, что качество деталей не пострадало.
Статья написана по материалам фотобанка iStockPhoto, фотографии авторов Gremlin и emigee.
Последнее изменение: 17 октября 2019 в 17:43.
Простым языком о том, как работает сжатие файлов
Авторизуйтесь
Простым языком о том, как работает сжатие файлов
Сжатие файлов позволяет быстрее передавать, получать и хранить большие файлы. Оно используется повсеместно и наверняка хорошая вам знакомо: самые популярные расширения сжатых файлов — ZIP, JPEG и MP3. В этой статье кратко рассмотрим основные виды сжатия файлов и принципы их работы.
Что такое сжатие?
Сжатие файла — это уменьшение его размера при сохранении исходных данных. В этом случае файл занимает меньше места на устройстве, что также облегчает его хранение и передачу через интернет или другим способом. Важно отметить, что сжатие не безгранично и обычно делится на два основных типа: с потерями и без потерь. Рассмотрим каждый из них по отдельности.
Сжатие с потерями
Такой способ уменьшает размер файла, удаляя ненужные биты информации. Чаще всего встречается в форматах изображений, видео и аудио, где нет необходимости в идеальном представлении исходного медиа. MP3 и JPEG — два популярных примера. Но сжатие с потерями не совсем подходит для файлов, где важна вся информация. Например, в текстовом файле или электронной таблице оно приведёт к искажённому выводу.
MP3 содержит не всю аудиоинформацию из оригинальной записи. Этот формат исключает некоторые звуки, которые люди не слышат. Вы заметите, что они пропали, только на профессиональном оборудовании с очень высоким качеством звука, поэтому для обычного использования удаление этой информации позволит уменьшить размер файла практически без недостатков.
15–17 ноября, Онлайн, Беcплатно
Аналогично файлы JPEG удаляют некритичные части изображений. Например, в изображении с голубым небом сжатие JPEG может изменить все пиксели на один или два оттенка синего вместо десятков.
Чем сильнее вы сжимаете файл, тем заметнее становится снижение качества. Вы, вероятно, замечали такое, слушая некачественную музыку в формате MP3, загруженную на YouTube. Например, сравните музыкальный трек высокого качества с сильно сжатой версией той же песни.
Сжатие с потерями подходит, когда файл содержит больше информации, чем нужно для ваших целей. Например, у вас есть огромный файл с исходным (RAW) изображением. Целесообразно сохранить это качество для печати изображения на большом баннере, но загружать исходный файл в Facebook будет бессмысленно. Картинка содержит множество данных, не заметных при просмотре в социальных сетях. Сжатие картинки в высококачественный JPEG исключает некоторую информацию, но изображение выглядит почти как оригинал.
При сохранении в формате с потерями, вы зачастую можете установить уровень качества. Например, у многих графических редакторов есть ползунок для выбора качества JPEG от 0 до 100. Экономия на уровне 90 или 80 процентов приводит к небольшому уменьшению размера файла с незначительной визуальной разницей. Но сохранение в плохом качестве или повторное сохранение одного и того же файла в формате с потерями ухудшит его.
Посмотрите на этот пример.
Оригинальное изображение, загруженное с Pixabay в формате JPEG. 874 КБ:
Результат сохранения в формате JPEG с 50-процентным качеством. Выглядит не так уж плохо. Вы можете заметить артефакты по краям коробок только при увеличении. 310 КБ:
Исходное изображение, сохранённое в формате JPEG с 10-процентным качеством. Выглядит ужасно. 100 КБ:
Где используется сжатие с потерями
Как мы уже упоминали, сжатие с потерями отлично подходит для большинства медиафайлов. Это крайне важно для таких компаний как Spotify и Netflix, которые постоянно транслируют большие объёмы информации. Максимальное уменьшение размера файла при сохранении качества делает их работу более эффективной.
Сжатие без потерь
Сжатие без потерь позволяет уменьшить размер файла так, чтобы в дальнейшем можно было восстановить первоначальное качество. В отличие от сжатия с потерями, этот способ не удаляет никакую информацию. Рассмотрим простой пример. На картинке ниже стопка из 10 кирпичей: два синих, пять жёлтых и три красных.
Вместо того чтобы показывать все 10 блоков, мы можем удалить все кирпичи одного цвета, кроме одного. Используя цифры, чтобы показать, сколько кирпичей каждого цвета было, мы представляем те же данные используя гораздо меньше кирпичей — три вместо десяти.
Это простая иллюстрация того, как осуществить сжатие без потерь. Та же информация сохраняется более эффективным способом. Рассмотрим реальный файл: mmmmmuuuuuuuoooooooooooo. Его можно сжать до гораздо более короткой формы: m5u7o12. Это позволяет использовать 7 символов вместо 24 для представления одних и тех же данных.
Где используется сжатие без потерь
ZIP-файлы — популярный пример сжатия без потерь. Хранить информацию в виде ZIP-файлов более эффективно, при этом когда вы распаковываете архив, там присутствует вся оригинальная информация. Это актуально для исполняемых файлов, так как после сжатия с потерями распакованная версия будет повреждена и непригодна для использования.
Другие распространённые форматы без потерь — PNG для изображений и FLAC для аудио. Форматы видео без потерь встречаются редко, потому что они занимают много места.
Сжатие с потерями vs сжатие без потерь
Теперь, когда мы рассмотрели обе формы сжатия файлов, может возникнуть вопрос, когда и какую следует использовать. Здесь всё зависит от того, для чего вы используете файлы.
Скажем, вы только что откопали свою старую коллекцию компакт-дисков и хотите оцифровать её. Когда вы копируете свои компакт-диски, имеет смысл использовать формат FLAC, формат без потерь. Это позволяет получить мастер-копию на компьютере, которая обладает тем же качеством звука, что и оригинальный компакт-диск.
Позже вы, возможно, захотите загрузить музыку на телефон или старый MP3-плеер. Здесь не так важно, чтобы музыка была в идеальном качестве, поэтому вы можете конвертировать файлы FLAC в MP3. Это даст вам аудиофайл, который по-прежнему достаточно хорош для прослушивания, но не занимает много места на мобильном устройстве. Качество MP3, преобразованного из FLAC, будет таким же, как если бы вы создали сжатый MP3 с оригинального CD.
Тип данных, представленных в файле, также может определять, какой вид сжатия подходит больше. В PNG используется сжатие без потерь, поэтому его хорошо использовать для изображений, в которых много однотонного пространства. Например, для скриншотов. Но PNG занимает гораздо больше места, когда картинка состоит из смеси множества цветов, как в случае с фотографиями. В этом случае с точки зрения размера файлов лучше использовать JPEG.
Проблемы во время сжатия файлов
Бесполезно конвертировать формат с потерями в формат без потерь. Это пустая трата пространства. Скажем, у вас есть MP3-файл весом в 3 МБ. Преобразование его в FLAC может привести к увеличению размера до 30 МБ. Но эти 30 МБ содержат только те звуки, которые имел уже сжатый MP3. Качество звука от этого не улучшится, но объём станет больше.
Также стоит иметь в виду, что преобразовывая один формат с потерями в аналогичный, вы получаете дальнейшее снижение качества. Каждый раз, когда вы применяете сжатие с потерями, вы теряете больше деталей. Это становится всё более и более заметно, пока файл по существу не будет разрушен. Помните также, что форматы с потерями удаляют некоторые данные и их невозможно восстановить.
Заключение
Мы рассмотрели как сжатие файлов с потерями, так и без потерь, чтобы увидеть, как они работают. Теперь вы знаете, как можно уменьшить размер файла и как выбрать лучший способ для этого.
Алгоритмы, которые определяют, какие данные выбрасываются в методах с потерями и как лучше хранить избыточные данные при сжатии без потерь, намного сложнее, чем описано здесь. На эту тему можно почитать больше информации здесь, если вам интересно.