Качество jpeg: Качество JPEG. Как настроить JPEG.

Содержание

Качество JPEG. Как настроить JPEG.

JPEG – это не просто формат файлов для хранения изображений, а сложный метод кодирования и декодирования изображений, который имеет множество настроек.

Про JPEG

Про JPEG

Современные продвинутые цифровые камеры имеют несколько основных настроек JPEG:

  1. Качество снимка JPEG
  2. Размер снимка JPEG
  3. Настройка параметров снимка

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

Например, в камере Nikon D40 можно задать 3 уровня качества снимка JPEG

  • Высокое качество – Fine
  • Стандартное качество – Norm
  • Базовое качество – Basic

В общем случае, режим Fine подразумевает сохранение снимка в формате JPEG со 100% сохранением деталей. Но из-за специфики работы алгоритма, 100% являются условными. Режим Norm имеет уровень сжатия в два раза больший, чем режим Fine. А режим Basic сжимает фотографии в 4 раза сильней, за режим Fine. Таким образом мы получаем файлы изображений меньшим объемом и с меньшим количеством полезных данных. Уровень сжатия легко проследить по максимальному размеру файла при разном уровни сжатия JPEG. Так, для Nikon D40:

  • Fine – 3,4МБ
  • Norm – 1,8МБ
  • Basic – 0,9МБ

Самое интересное, что объем файлов, которые показывает камера в настройках меню является максимальным расчетным объемом при заданном кодировании. Из-за особенностей алгоритма, например, снимая с качеством Fine, вряд ли можно будет получить файл именно с 3.4МБ, обычно алгоритм справляется лучше и создает более мелкие файлы. Размер файла JPEG зависит именно от того, что имеется на изображении

. Если говорить грубо, то снимок с равномерно синим небом алгоритм закодирует с минимальными затратами и в итоге получим вместо 3.4МБ примерно 1МБ. А вот если снимать ночью на высоких значениях ISO, то можно получить файл размером около 3МБ. Это связано с тем, что на высоких значениях ISO будет много цифрового шума, то есть на фотографии будет много разнородных пикселей, для которых сложно подобрать интерполяцию (усреднение) и алгоритму JPEG нужно использовать больше памяти для сохранения всех деталей на снимке.

Внимание: из-за того, что камера рассчитывает количество оставшихся кадров на карточке именно по максимальному допустимому объему снимка, реальное их количество значительно больше. Например, я использую 16GB карточку памяти на Nikon D40. При этом в разных режимах камера показывает:

  • Fine – 4400 фото
  • Norm – 8400 фото
  • Basic – 16.400 фото

А на самом деле у меня в режиме Fine легко помещается свыше 6000 фотографий.

Вот пример падения качества фотографии при использовании программной обработки одного и того же снимка с разным уровнем сжатия.

Качество 100%. Размер файла 308 kb

Качество 100%

Качество 100%

Качество 70%. Размер файла 107 kb

Качество 70%

Качество 70%

Качество 40%. Размер файла 89,4 kb

Качество 40%

Качество 40%

Качество 1%. Размер файла 60,5 kb

Качество 1%

Качество 1%

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

Также, большинство современных цифровых камер имеют

настройку размера изображения. Эта настройка показывает, сколько мегапикселей будет иметь снимок. Для примера, Nikon D40:

  • Большой, L (large) – 6.0MP, 3008X2000 точек
  • Средний, M (medium) – 3.3MP, 2256X1496 точек
  • Маленький, S (small) – 1.5MP, 1504X1000 точек

Такая настройка позволяет сохранять файлы не только оригинального размера, который является наибольшим, но и файлы с меньшим количеством точек (пикселей). Данная настройка важна для экономии места. Очень часто снимки могут нести избыточную информацию. Избыточная информация – это пиксели, которые не несут полезной информации. Например такие пиксели являются цифровым шумом, появляются из-за некачественной оптики. При использовании меньшего формата можно ничего не потерять.

Все то же самое касается не только Nikon D40, которую я использовал в качестве примера, но и остальных цифровых камер.

Важное замечание: когда мы используем большой (максимальный) размер изображения JPEG, то кодируется вся информация со всей матрицы фотоаппарата. Когда мы используем меньший размер снимка, то сама камера все равно делает снимок с помощью всей матрицы, то есть, с помощью всех доступных пикселей. Только после этого снимок уменьшается программно до указанного значения. Это связано со стандартным циклом работы АЦП камеры. Не стоит думать, что если снимать в маленьком размере снимка, то будут работать только отдельные пиксели на камере, и при этом можно будет получить увеличение дифракционного порога или экономии заряда батареи.

Важное замечание: практически всегда можно комбинировать качество снимка и его размер. Таким образом можно подбирать любые варианты качества конечного изображения. Также, всякие манипуляции с размером и качеством JPEG очень сильно влияют на возможности буфера кадров современных камер. Чем меньше размер и чем меньше качество – тем больше фотографий может поместить в буфер кадров при серийной съемке. Для примера, в формате JPEG L, Fine Nikon D40 может поместить только 7 снимков, а M, Norm целых 17. Собственно, ради манипуляций с буфером я и затевал данную статью.

Алгоритмы, по которым происходит сжатие от размера L до М или S очень сложны и их существует огромное множество. Например, уменьшение снимка можно выполнить и на компьютере, для этого программа обработчик может использовать такие алгоритмы уменьшения размера: LancZos3, Bell, Bicubic, Bilinear, BSplite, FastLinear, LancZos2, Linear, Mitchell, Nearest, Triangle и кучу других. Используя формат JPEG мы из чистой фотографии попадаем в абстрактное математическое поле матриц, векторов и умом непостижимых тонкостей.

720Х479. Файл весит 193 kb

720

720Х479

640Х426. Файл весит 159 kb

640Х426

640Х426

320Х213. Файл весит 51,2 kb

640Х426

320Х213

160Х106. Файл весит 24,1kb

640Х426

640Х426

Очень часто огромного размера изображения, например, 30-ти мегапиксельные снимки на мобильные телефоны, занимают огромный объем, а весь потенциал 30-ти мегапикселей попросту не используется. Потому можно смело ставить более маленький размер снимков. От себя добавлю, что для удобного просмотра фотографий даже на самых дорогих мониторах с матрицей 2560×1600 достаточно порядка 4-х мегапиксельного снимка, а для печати форматом 10Х15 вообще нужно всего около 1 мегапикселя. Вспомните, когда в последний раз печатали фотографии, или увеличивали снимок на компьютере? Из личного опыта скажу, что огромное количество пикселей современных камер нужны только для серьезного занятия фотографией. Для обычных бытовых задач я не вижу нужды гоняться за количеством мегапикселей, а в камере с большим их количеством можно уменьшать размер выходного снимка без серьезной потери в качестве.

Некоторые современные камеры имеют некоторые дополнительные настройки JPEG. Например, продвинутые камеры Nikon, такие как Nikon D700, D800 имеют настройку приоритета качества/размера JPEG. Эта настройка позволяет указать алгоритму на то, что важней при обработке изображения – величина файла или качество.

Важно: для наилучшего качества снимков я, все же, рекомендую использовать наибольший размер снимков с наилучшим качеством. Например, для камер Nikon это L, Fine, приоритет качества. А вот полностью весь потенциал и точность передачу изображения с матрицы на карту памяти может реализовать только формат RAW. Но даже RAW файлы в некоторых камерах проходят через специальную ‘обжимку’ для уменьшения их размеров, здесь нужно быть предельно осторожным.

Выводы:

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

Не забудьте нажать на кнопки соцсетей ↓ – это важно для меня. Спасибо за внимание. Аркадий Шаповал.

Как устроен формат JPEG / Хабр

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

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

Для решения этой проблемы в 1986 году был собран комитет экспертов со всего мира под названием «Объединённая группа экспертов по фотографии» (Joint Photographic Experts Group, JPEG), основанный в рамках совместной работы Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC) – двух международных организаций по стандартизации, штаб-квартира которых расположена в Женеве (Швейцария).

Группа людей под названием JPEG создала стандарт сжатия цифровых изображений JPEG в 1992 году. Любой человек, использовавший интернет, вероятно, встречался с изображениями в кодировке JPEG. Это самый распространённый способ кодирования, отправки и хранения изображений. От веб-страниц до емейла и соцсетей, JPEG используется миллиарды раз в день – практически каждый раз, когда мы смотрим изображение онлайн или отправляем его. Без JPEG веб был бы менее ярким, более медленным, и, вероятно, в нём было бы меньше фоток котиков!

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

Кроме того, играться с изображениями таким способом очень интересно.

Заглядывая внутрь JPEG


На компьютере всё хранится в виде последовательности двоичных чисел. Обычно эти биты, нули и единицы, группируются по восемь, составляя байты. Когда вы открываете JPEG изображение на компьютере, что-то (браузер, операционка, ещё что-то) должно декодировать байты, восстановив изначальное изображение в виде списка цветов, которые можно показать.

Если вы скачаете эту умильную фотографию кота и откроете её в текстовом редакторе, вы увидите кучу бессвязных символов.


Здесь я использую Notepad++ для изучения содержимого файла, поскольку обычные текстовые редакторы, типа Notepad из Windows, испортят двоичный файл после сохранения, и он перестанет удовлетворять формату JPEG.

Открывая изображение в текстовом редакторе, вы сбиваете компьютер с толку, точно так же, как вы сбиваете с толку свой мозг, когда потрёте глаза и начинаете видеть цветные пятна!

Эти пятна, которые вы видите, известны, как фосфены, и не являются результатом воздействия светового стимула или галлюцинациями, порождёнными разумом. Они возникают, потому что ваш мозг считает, что любые электрические сигналы в глазных нервах передают информацию о свете. Мозгу необходимо делать такие предположения, поскольку никак нельзя узнать, является ли сигнал звуком, видением или чем-то ещё. Все нервы в теле передают абсолютно одинаковые электрические импульсы. Давя на глаза, вы отправляете сигналы, не являющиеся зрительными, но активирующие рецепторы глаза, что ваш мозг интерпретирует – в данном случае, неверно – как нечто зрительное. Вы буквально способны видеть давление!

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

Чтобы понять, как декодировать JPEG, нам нужно увидеть сами изначальные сигналы – двоичные данные. Это можно сделать при помощи шестнадцатеричного редактора, или же прямо на веб-странице оригинала статьи! Там есть изображение, рядом с которым в текстовом поле приведены все его байты (кроме заголовка), представленные в десятичном виде. Вы можете менять их, и скрипт перекодирует и выдаст новое изображение на лету.

Можно узнать многое, просто играясь с этим редактором. К примеру, можете ли вы сказать, в каком порядке хранятся пиксели?

В этом примере странно то, что изменение некоторых чисел вообще не влияет на изображение, а, например, если заменить число 17 на 0 в первой строке, то фотка полностью испортится!

Другие изменения, например, замена 7 на строке 1988 на число 254 изменяет цвет, но только последующих пикселей.

Возможно, наиболее странным будет то, что некоторые числа меняют не только цвет, но и форму изображения. Измените 70 в строке 12 на 2 и посмотрите на верхний ряд изображения, чтобы увидеть, что я имею в виду.

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

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

Три уровня JPEG сжатия:

  1. Цветовая субдискретизация.
  2. Дискретное косинусное преобразование и дискретизация.
  3. Кодирование длин серий, дельта и Хаффмана

Дабы вы могли представить себе масштабы сжатия, обратите внимание, что изображение, приведённое выше, представляет 79 819 чисел, то есть, около 79 Кб. Если бы мы хранили его без сжатия, для каждого пикселя потребовалось бы по три числа – для красной, зелёной и синей составляющей. Это составило бы 917 700 чисел, или ок. 917 Кб. В результате JPEG сжатия итоговый файл уменьшился больше чем в 10 раз!

На самом деле, это изображение можно сжать гораздо сильнее. Снизу приведены два изображения рядом – фотка справа была ужата до 16 Кб, то есть в 57 раз меньше, чем несжатая версия!

Если присмотреться, будет видно, что эти изображения не идентичны. Оба они – картинки с JPEG сжатием, однако правая гораздо меньше по объёму. Также она выглядит чуть похуже (посмотрите на квадраты цветов фона). Поэтому JPEG ещё называют сжатием с потерями; в процессе сжатия изображение меняется и теряет некоторые детали.

1. Цветовая субдискретизация


Вот изображение с применением только первого уровня сжатия.


(Интерактивная версия – в оригинале статьи). Удаление одного числа рушит все цвета. Однако если удалить ровно шесть чисел, это практически не влияет на изображение.

Теперь числа чуть проще расшифровать. Это почти что простой список цветов, у которого каждый байт изменяет ровно один пиксель, но при этом он уже в два раза меньше несжатого изображения (которое занимало бы ок. 300 Кб в таком уменьшенном размере). Догадаетесь, почему?

Можно видеть, что эти числа не обозначают стандартные красную, зелёную и синюю компоненты, поскольку если заменить все числа нулями, мы получим зелёное изображение (а не белое).

Это потому, что эти байты обозначают Y (яркость),

Cb (относительная голубизна),

и Cr (относительная краснота) картинки.

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

Это также очень похоже на работу человеческого глаза. Цветовые рецепторы наших глаз называются «колбочки», и делятся на три типа, каждый из которых более чувствителен либо к красному, либо к зелёному, либо к синему цветам [колбочки S-типа чувствительны в фиолетово-синей (S от англ. Short — коротковолновый спектр), M-типа — в зелено-желтой (M от англ. Medium — средневолновый), и L-типа — в желто-красной (L от англ. Long — длинноволновый) частях спектра. Наличие этих трёх видов колбочек (и палочек, чувствительных в изумрудно-зелёной части спектра) даёт человеку цветное зрение. / прим. перев.]. Палочки, другой тип фоторецепторов в наших глазах, способны улавливать только изменения в яркости, однако они гораздо более чувствительные. В наших глазах есть около 120 млн палочек и всего 6 млн колбочек.

Поэтому наши глаза гораздо лучше замечают изменения в яркости, чем изменения в цвете. Если отделить цвет от яркости, можно убрать немного цвета, и никто ничего не заметит. Цветовая субдискретизация – это процесс представления цветовых компонентов изображения в меньшем разрешении по сравнению с компонентами яркости. В примере выше у каждого пикселя ровно один компонент Y, а у каждой отдельной группы из четырёх пикселей есть ровно одна компонента Cb и одна Cr. Поэтому изображение содержит в четыре раза меньше цветовой информации, чем было у оригинала.

Цветовое пространство YCbCr используется не только в JPEG. Его изначально придумали в 1938 году для телепередач. Не у всех есть цветной телевизор, поэтому разделение цвета и яркости позволило всем получать один и тот же сигнал, а телевизоры без цвета просто использовали только компонент яркости.

Поэтому удаление одного числа из редактора полностью рушит все цвета. Компоненты хранятся в виде Y Y Y Y Cb Cr (на самом деле, не обязательно в таком порядке – порядок хранения задаётся в заголовке файла). Удаление первого числа приведёт к тому, что первое значение Cb будет воспринято, как Y, Cr как Cb, и в целом получится эффект домино, переключающий все цвета картинки.

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


(Интерактивная версия – в оригинале статьи).

Удаление синего не так заметно, как красного или зелёного. Всё потому, что из шести миллионов колбочек в ваших глазах около 64% чувствительны к красному, 32% к зелёному и 2% к синему.

Субдискретизация компонента Y (слева внизу) видна лучше всего. Заметно даже небольшое изменение.

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

2. Дискретное косинусное преобразование и дискретизация


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


(Интерактивная версия – в оригинале статьи). В интерактивной версии клик на пикселе прокручивает редактор на строчку, которая его обозначает. Попробуйте поудалять числа с конца или добавить несколько нулей к определённому числу.

На первый взгляд, выглядит, как очень плохое сжатие. В изображении 100 000 пикселей, и для обозначения их яркости (Y-компоненты) требуется 102 400 чисел — это хуже, чем если вообще ничего не сжимать!

Однако обратите внимание на то, что большинство этих чисел равны нулю. Более того, все эти нули в конце строк можно удалять, не меняя изображение. Остаётся порядка 26 000 чисел, а это уже почти в 4 раза меньше!

На этом уровне находится секрет шахматных узоров. В отличие от других эффектов, которые мы видели, появление этих узоров не является глюком. Они – строительные блоки всего изображения. В каждой строчке редактора содержится ровно 64 числа, коэффициенты дискретного косинусного преобразования (DCT), соответствующие интенсивностям 64-х уникальных узоров.

Эти узоры формируются на основе графика косинуса. Вот, как выглядят некоторые из них:


8 из 64 коэффициентов

Ниже – изображение, демонстрирующее все 64 узора.


(Интерактивная версия – в оригинале статьи).

Эти узоры имеют особое значение, поскольку они формируют базис изображений размера 8х8. Если вы незнакомы с линейной алгеброй, то это означает, что любое изображение размера 8х8 можно получить из этих 64-х узоров. DCT – это процесс разбиения изображений на блоки 8х8 и преобразования каждого блока в комбинацию из этих 64 коэффициентов.

То, что любое изображение можно составить из 64 определённых узоров, кажется волшебством. Однако это то же самое, что сказать, что любое место на Земле можно описать двумя числами – широтой и долготой [с указанием полушарий / прим. перев.]. Мы часто считаем поверхность Земли двумерной, поэтому нам требуются всего два числа. Изображение 8х8 имеет 64 измерения, поэтому нам требуются 64 числа.

Пока непонятно, как это помогает нам в смысле сжатия. Если нам нужно 64 числа для представления изображения 8х8, почему этот способ будет лучше, чем просто хранить 64 компоненты яркости? Мы делаем это по той же причине, по которой мы превратили три числа RGB в три числа YCbCr: это позволяет нам удалить незаметные детали.

Сложно увидеть, какие именно детали удаляются на этом этапе, поскольку JPEG применяет DCT к блокам 8х8. Однако никто не запрещает нам применить его к целой картинке. Вот, как выглядит DCT по компоненте Y в применении к целой картинке:

С конца можно удалить более 60 000 чисел практически без заметных изменений на фотке.

Однако отметьте, что если мы обнулим первые пять чисел, разница будет очевидной.

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

Мы видим все области изображения, в которых происходит наибольшее изменение от пикселя к пикселю. Выделяются глаза кота, его усы, махровое одеяло и тени в нижнем левом углу. Можно пойти и дальше, обнулив первые 10 000 чисел:

20 000:

40 000:

60 000:

Эти высокочастотные детали JPEG и удаляет на этапе сжатия. Преобразование цветов в коэффициенты DCT не несёт потерь. Потери образуются на шаге дискретизации, где удаляются величины высокой частоты или близкие к нулю. Когда вы понижаете качество сохранения JPEG, программа увеличивает порог количества удаляемых значений, что даёт уменьшение размера файла, но делает картинку более пикселизированной. Поэтому изображение в первом разделе, которое было в 57 раз меньше, так выглядело. Каждый блок 8х8 представлялся гораздо меньшим количеством коэффициентов DCT по сравнению с более качественной версией.

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

Вот, просто для интереса, что получится при использовании всего 24 000 чисел:

Или всего 5000:

Очень размыто, но как будто узнаваемо!

3. Кодирование длин серий, дельта и Хаффмана


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

Как можно сжать что-либо, не отбрасывая информацию? Представьте, как бы мы описали простой чёрный прямоугольник 700 х 437.

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

Минимальная схема, которую смог придумать я, использует четыре: три для обозначения цвета, и четвёртый – сколько пикселей имеет такой цвет. Идея представления повторяющихся значений таким сжатым способом называется кодирование длин серий. Она не имеет потерь, поскольку мы можем восстановить закодированные данные в первозданном виде.

Размер файла JPEG с чёрным прямоугольником гораздо больше 4 байт – вспомните, что на уровне DCT сжатие применяется к блокам 8х8 пикселей. Поэтому как минимум нам нужен один коэффициент DCT на каждые 64 пикселя. Один нам нужен потому, что вместо того, чтобы хранить один DCT-коэффициент, за которым идёт 63 нуля, кодирование длин серий позволяет нам хранить одно число и обозначить, что «все остальные – нули».

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

12 13 14 14 14 13 13 14

Мы могли бы начать с 12, а потом просто обозначать, сколько надо прибавить или отнять, чтобы получить следующее число. И эта последовательность в дельта-кодировании приобретает вид:

12 1 1 0 0 -1 0 1

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

Дельта-кодирование – одна из немногих техник, применяемых вне блоков 8х8. Из 64 коэффициентов DCT один – просто постоянная волновая функция (сплошной цвет). Он представляет среднюю яркость каждого блока для компонент яркости, или среднюю голубизну для компонентов Cb, и так далее. Первое значение каждого DCT-блока называется DC-значением, и каждое DC-значение проходит дельта-кодирование по отношению к предыдущим. Поэтому изменение яркости первого блока повлияет на все блоки.

Остаётся последняя загадка: как изменение единственного числа полностью портит всю картинку? Пока таких свойств у уровней сжатия не было. Ответ лежит в заголовке JPEG. Первые 500 байт содержат метаданные об изображении – ширину, высоту, и проч., и пока мы с ними не работали.

Без заголовка практически невозможно (ну, или очень сложно) декодировать JPEG. Это будет выглядеть так, будто я пытаюсь описать вам картину, и начинаю изобретать слова для того, чтобы передать своё впечатление. Описание будет, вероятно, весьма сжатым, поскольку я могу изобретать слова именно с тем значением, которое я хочу передать, однако для всех остальных они не будут иметь смысла.

Звучит глупо, но именно так это и происходит. Каждое изображение JPEG сжимается с кодами, специфичными именно для него. Словарь кодов хранится в заголовке. Эта техника называется «код Хаффмана», а словарь – таблицей Хаффмана. В заголовке таблица отмечена двумя байтами – 255 и потом 196. У каждого цветового компонента может быть своя таблица.

Изменения таблиц радикально повлияют на любое изображение. Хороший пример – поменять на 15-й строке 1 на 12.

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

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

234 115

То, в зависимости от таблицы Хаффмана, это могут быть три числа. Чтобы их извлечь, вам надо сначала разбить их на отдельные биты:

11101010 01110011

Затем обращаемся к таблице, чтобы понять, как их группировать. К примеру, это могут быть первые шесть битов, (111010), или 58 в десятичной системе, за которыми идут пять битов (10011), или 19, и наконец последние четыре бита (0011), или 3.

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

Один из интересных трюков, которые можно проделать, зная это – отделить заголовок от JPEG и хранить его отдельно. По сути, получится, что файл сможете прочесть только вы. Facebook проделывает это, чтобы ещё сильнее уменьшать файлы.

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

Подведём итоги: так что же нужно для декодирования JPEG? Необходимо:

  1. Извлечь таблицу (таблицы) Хаффмана из заголовка и декодировать биты.
  2. Извлечь коэффициенты дискретного косинусного преобразования для каждого компонента цвета и яркости для каждого блока 8х8, проведя обратные преобразования кодирования длин серий и дельты.
  3. Скомбинировать косинусы на основе коэффициентов, чтобы получить значения пикселей для каждого блока 8х8.
  4. Масштабировать компоненты цветов, если проводилась субдискретизация (эта информация есть в заголовке).
  5. Преобразовать полученные значения YCbCr для каждого пикселя в RGB.
  6. Вывести изображение на экран!

Серьёзная работа для простого просмотра фотки с котиком! Однако, что мне в этом нравится – видно, насколько технология JPEG человекоцентрична. Она основана на особенностях нашего восприятия, позволяющих достичь гораздо лучшего сжатия, чем обычные технологии. И теперь, понимая, как работает JPEG, можно представить, как эти технологии можно перенести в другие области. К примеру, дельта-кодирование в видео может дать серьёзное уменьшение размера файла, поскольку там часто есть целые области, не меняющиеся от кадра к кадру (к примеру, фон).

Код, использованный в статье, открыт, и содержит инструкции по замене картинок на свои собственные.

Качество JPEG. Как настроить JPEG.

JPEG – это не просто формат файлов для хранения изображений, а сложный метод кодирования и декодирования изображений, который имеет множество настроек.

Про JPEG

Про JPEG

Современные продвинутые цифровые камеры имеют несколько основных настроек JPEG:

  1. Качество снимка JPEG
  2. Размер снимка JPEG
  3. Настройка параметров снимка

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

Например, в камере Nikon D40 можно задать 3 уровня качества снимка JPEG

  • Высокое качество – Fine
  • Стандартное качество – Norm
  • Базовое качество – Basic

В общем случае, режим Fine подразумевает сохранение снимка в формате JPEG со 100% сохранением деталей. Но из-за специфики работы алгоритма, 100% являются условными. Режим Norm имеет уровень сжатия в два раза больший, чем режим Fine. А режим Basic сжимает фотографии в 4 раза сильней, за режим Fine. Таким образом мы получаем файлы изображений меньшим объемом и с меньшим количеством полезных данных. Уровень сжатия легко проследить по максимальному размеру файла при разном уровни сжатия JPEG. Так, для Nikon D40:

  • Fine – 3,4МБ
  • Norm – 1,8МБ
  • Basic – 0,9МБ

Самое интересное, что объем файлов, которые показывает камера в настройках меню является максимальным расчетным объемом при заданном кодировании. Из-за особенностей алгоритма, например, снимая с качеством Fine, вряд ли можно будет получить файл именно с 3.4МБ, обычно алгоритм справляется лучше и создает более мелкие файлы. Размер файла JPEG зависит именно от того, что имеется на изображении. Если говорить грубо, то снимок с равномерно синим небом алгоритм закодирует с минимальными затратами и в итоге получим вместо 3.4МБ примерно 1МБ. А вот если снимать ночью на высоких значениях ISO, то можно получить файл размером около 3МБ. Это связано с тем, что на высоких значениях ISO будет много цифрового шума, то есть на фотографии будет много разнородных пикселей, для которых сложно подобрать интерполяцию (усреднение) и алгоритму JPEG нужно использовать больше памяти для сохранения всех деталей на снимке.

Внимание: из-за того, что камера рассчитывает количество оставшихся кадров на карточке именно по максимальному допустимому объему снимка, реальное их количество значительно больше. Например, я использую 16GB карточку памяти на Nikon D40. При этом в разных режимах камера показывает:

  • Fine – 4400 фото
  • Norm – 8400 фото
  • Basic – 16.400 фото

А на самом деле у меня в режиме Fine легко помещается свыше 6000 фотографий.

Вот пример падения качества фотографии при использовании программной обработки одного и того же снимка с разным уровнем сжатия.

Качество 100%. Размер файла 308 kb

Качество 100%

Качество 100%

Качество 70%. Размер файла 107 kb

Качество 70%

Качество 70%

Качество 40%. Размер файла 89,4 kb

Качество 40%

Качество 40%

Качество 1%. Размер файла 60,5 kb

Качество 1%

Качество 1%

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

Также, большинство современных цифровых камер имеют настройку размера изображения. Эта настройка показывает, сколько мегапикселей будет иметь снимок. Для примера, Nikon D40:

  • Большой, L (large) – 6.0MP, 3008X2000 точек
  • Средний, M (medium) – 3.3MP, 2256X1496 точек
  • Маленький, S (small) – 1.5MP, 1504X1000 точек

Такая настройка позволяет сохранять файлы не только оригинального размера, который является наибольшим, но и файлы с меньшим количеством точек (пикселей). Данная настройка важна для экономии места. Очень часто снимки могут нести избыточную информацию. Избыточная информация – это пиксели, которые не несут полезной информации. Например такие пиксели являются цифровым шумом, появляются из-за некачественной оптики. При использовании меньшего формата можно ничего не потерять.

Все то же самое касается не только Nikon D40, которую я использовал в качестве примера, но и остальных цифровых камер.

Важное замечание: когда мы используем большой (максимальный) размер изображения JPEG, то кодируется вся информация со всей матрицы фотоаппарата. Когда мы используем меньший размер снимка, то сама камера все равно делает снимок с помощью всей матрицы, то есть, с помощью всех доступных пикселей. Только после этого снимок уменьшается программно до указанного значения. Это связано со стандартным циклом работы АЦП камеры. Не стоит думать, что если снимать в маленьком размере снимка, то будут работать только отдельные пиксели на камере, и при этом можно будет получить увеличение дифракционного порога или экономии заряда батареи.

Важное замечание: практически всегда можно комбинировать качество снимка и его размер. Таким образом можно подбирать любые варианты качества конечного изображения. Также, всякие манипуляции с размером и качеством JPEG очень сильно влияют на возможности буфера кадров современных камер. Чем меньше размер и чем меньше качество – тем больше фотографий может поместить в буфер кадров при серийной съемке. Для примера, в формате JPEG L, Fine Nikon D40 может поместить только 7 снимков, а M, Norm целых 17. Собственно, ради манипуляций с буфером я и затевал данную статью.

Алгоритмы, по которым происходит сжатие от размера L до М или S очень сложны и их существует огромное множество. Например, уменьшение снимка можно выполнить и на компьютере, для этого программа обработчик может использовать такие алгоритмы уменьшения размера: LancZos3, Bell, Bicubic, Bilinear, BSplite, FastLinear, LancZos2, Linear, Mitchell, Nearest, Triangle и кучу других. Используя формат JPEG мы из чистой фотографии попадаем в абстрактное математическое поле матриц, векторов и умом непостижимых тонкостей.

720Х479. Файл весит 193 kb

720

720Х479

640Х426. Файл весит 159 kb

640Х426

640Х426

320Х213. Файл весит 51,2 kb

640Х426

320Х213

160Х106. Файл весит 24,1kb

640Х426

640Х426

Очень часто огромного размера изображения, например, 30-ти мегапиксельные снимки на мобильные телефоны, занимают огромный объем, а весь потенциал 30-ти мегапикселей попросту не используется. Потому можно смело ставить более маленький размер снимков. От себя добавлю, что для удобного просмотра фотографий даже на самых дорогих мониторах с матрицей 2560×1600 достаточно порядка 4-х мегапиксельного снимка, а для печати форматом 10Х15 вообще нужно всего около 1 мегапикселя. Вспомните, когда в последний раз печатали фотографии, или увеличивали снимок на компьютере? Из личного опыта скажу, что огромное количество пикселей современных камер нужны только для серьезного занятия фотографией. Для обычных бытовых задач я не вижу нужды гоняться за количеством мегапикселей, а в камере с большим их количеством можно уменьшать размер выходного снимка без серьезной потери в качестве.

Некоторые современные камеры имеют некоторые дополнительные настройки JPEG. Например, продвинутые камеры Nikon, такие как Nikon D700, D800 имеют настройку приоритета качества/размера JPEG. Эта настройка позволяет указать алгоритму на то, что важней при обработке изображения – величина файла или качество.

Важно: для наилучшего качества снимков я, все же, рекомендую использовать наибольший размер снимков с наилучшим качеством. Например, для камер Nikon это L, Fine, приоритет качества. А вот полностью весь потенциал и точность передачу изображения с матрицы на карту памяти может реализовать только формат RAW. Но даже RAW файлы в некоторых камерах проходят через специальную ‘обжимку’ для уменьшения их размеров, здесь нужно быть предельно осторожным.

Выводы:

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

Не забудьте нажать на кнопки соцсетей ↓ – это важно для меня. Спасибо за внимание. Аркадий Шаповал.

Качество JPEG. Как настроить JPEG.

JPEG – это не просто формат файлов для хранения изображений, а сложный метод кодирования и декодирования изображений, который имеет множество настроек.

Про JPEG

Про JPEG

Современные продвинутые цифровые камеры имеют несколько основных настроек JPEG:

  1. Качество снимка JPEG
  2. Размер снимка JPEG
  3. Настройка параметров снимка

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

Например, в камере Nikon D40 можно задать 3 уровня качества снимка JPEG

  • Высокое качество – Fine
  • Стандартное качество – Norm
  • Базовое качество – Basic

В общем случае, режим Fine подразумевает сохранение снимка в формате JPEG со 100% сохранением деталей. Но из-за специфики работы алгоритма, 100% являются условными. Режим Norm имеет уровень сжатия в два раза больший, чем режим Fine. А режим Basic сжимает фотографии в 4 раза сильней, за режим Fine. Таким образом мы получаем файлы изображений меньшим объемом и с меньшим количеством полезных данных. Уровень сжатия легко проследить по максимальному размеру файла при разном уровни сжатия JPEG. Так, для Nikon D40:

  • Fine – 3,4МБ
  • Norm – 1,8МБ
  • Basic – 0,9МБ

Самое интересное, что объем файлов, которые показывает камера в настройках меню является максимальным расчетным объемом при заданном кодировании. Из-за особенностей алгоритма, например, снимая с качеством Fine, вряд ли можно будет получить файл именно с 3.4МБ, обычно алгоритм справляется лучше и создает более мелкие файлы. Размер файла JPEG зависит именно от того, что имеется на изображении. Если говорить грубо, то снимок с равномерно синим небом алгоритм закодирует с минимальными затратами и в итоге получим вместо 3.4МБ примерно 1МБ. А вот если снимать ночью на высоких значениях ISO, то можно получить файл размером около 3МБ. Это связано с тем, что на высоких значениях ISO будет много цифрового шума, то есть на фотографии будет много разнородных пикселей, для которых сложно подобрать интерполяцию (усреднение) и алгоритму JPEG нужно использовать больше памяти для сохранения всех деталей на снимке.

Внимание: из-за того, что камера рассчитывает количество оставшихся кадров на карточке именно по максимальному допустимому объему снимка, реальное их количество значительно больше. Например, я использую 16GB карточку памяти на Nikon D40. При этом в разных режимах камера показывает:

  • Fine – 4400 фото
  • Norm – 8400 фото
  • Basic – 16.400 фото

А на самом деле у меня в режиме Fine легко помещается свыше 6000 фотографий.

Вот пример падения качества фотографии при использовании программной обработки одного и того же снимка с разным уровнем сжатия.

Качество 100%. Размер файла 308 kb

Качество 100%

Качество 100%

Качество 70%. Размер файла 107 kb

Качество 70%

Качество 70%

Качество 40%. Размер файла 89,4 kb

Качество 40%

Качество 40%

Качество 1%. Размер файла 60,5 kb

Качество 1%

Качество 1%

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

Также, большинство современных цифровых камер имеют настройку размера изображения. Эта настройка показывает, сколько мегапикселей будет иметь снимок. Для примера, Nikon D40:

  • Большой, L (large) – 6.0MP, 3008X2000 точек
  • Средний, M (medium) – 3.3MP, 2256X1496 точек
  • Маленький, S (small) – 1.5MP, 1504X1000 точек

Такая настройка позволяет сохранять файлы не только оригинального размера, который является наибольшим, но и файлы с меньшим количеством точек (пикселей). Данная настройка важна для экономии места. Очень часто снимки могут нести избыточную информацию. Избыточная информация – это пиксели, которые не несут полезной информации. Например такие пиксели являются цифровым шумом, появляются из-за некачественной оптики. При использовании меньшего формата можно ничего не потерять.

Все то же самое касается не только Nikon D40, которую я использовал в качестве примера, но и остальных цифровых камер.

Важное замечание: когда мы используем большой (максимальный) размер изображения JPEG, то кодируется вся информация со всей матрицы фотоаппарата. Когда мы используем меньший размер снимка, то сама камера все равно делает снимок с помощью всей матрицы, то есть, с помощью всех доступных пикселей. Только после этого снимок уменьшается программно до указанного значения. Это связано со стандартным циклом работы АЦП камеры. Не стоит думать, что если снимать в маленьком размере снимка, то будут работать только отдельные пиксели на камере, и при этом можно будет получить увеличение дифракционного порога или экономии заряда батареи.

Важное замечание: практически всегда можно комбинировать качество снимка и его размер. Таким образом можно подбирать любые варианты качества конечного изображения. Также, всякие манипуляции с размером и качеством JPEG очень сильно влияют на возможности буфера кадров современных камер. Чем меньше размер и чем меньше качество – тем больше фотографий может поместить в буфер кадров при серийной съемке. Для примера, в формате JPEG L, Fine Nikon D40 может поместить только 7 снимков, а M, Norm целых 17. Собственно, ради манипуляций с буфером я и затевал данную статью.

Алгоритмы, по которым происходит сжатие от размера L до М или S очень сложны и их существует огромное множество. Например, уменьшение снимка можно выполнить и на компьютере, для этого программа обработчик может использовать такие алгоритмы уменьшения размера: LancZos3, Bell, Bicubic, Bilinear, BSplite, FastLinear, LancZos2, Linear, Mitchell, Nearest, Triangle и кучу других. Используя формат JPEG мы из чистой фотографии попадаем в абстрактное математическое поле матриц, векторов и умом непостижимых тонкостей.

720Х479. Файл весит 193 kb

720

720Х479

640Х426. Файл весит 159 kb

640Х426

640Х426

320Х213. Файл весит 51,2 kb

640Х426

320Х213

160Х106. Файл весит 24,1kb

640Х426

640Х426

Очень часто огромного размера изображения, например, 30-ти мегапиксельные снимки на мобильные телефоны, занимают огромный объем, а весь потенциал 30-ти мегапикселей попросту не используется. Потому можно смело ставить более маленький размер снимков. От себя добавлю, что для удобного просмотра фотографий даже на самых дорогих мониторах с матрицей 2560×1600 достаточно порядка 4-х мегапиксельного снимка, а для печати форматом 10Х15 вообще нужно всего около 1 мегапикселя. Вспомните, когда в последний раз печатали фотографии, или увеличивали снимок на компьютере? Из личного опыта скажу, что огромное количество пикселей современных камер нужны только для серьезного занятия фотографией. Для обычных бытовых задач я не вижу нужды гоняться за количеством мегапикселей, а в камере с большим их количеством можно уменьшать размер выходного снимка без серьезной потери в качестве.

Некоторые современные камеры имеют некоторые дополнительные настройки JPEG. Например, продвинутые камеры Nikon, такие как Nikon D700, D800 имеют настройку приоритета качества/размера JPEG. Эта настройка позволяет указать алгоритму на то, что важней при обработке изображения – величина файла или качество.

Важно: для наилучшего качества снимков я, все же, рекомендую использовать наибольший размер снимков с наилучшим качеством. Например, для камер Nikon это L, Fine, приоритет качества. А вот полностью весь потенциал и точность передачу изображения с матрицы на карту памяти может реализовать только формат RAW. Но даже RAW файлы в некоторых камерах проходят через специальную ‘обжимку’ для уменьшения их размеров, здесь нужно быть предельно осторожным.

Выводы:

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

Не забудьте нажать на кнопки соцсетей ↓ – это важно для меня. Спасибо за внимание. Аркадий Шаповал.

Секреты и возможности сжатия JPEG и режима Разница в Photoshop / WAYUP

Обучайся бесплатно с WAYUP Premiere сегодня вечером

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

Поскольку формат JPEG — это основной формат для изображений, несмотря на существование PNG или WebP, в течение уже более двух десятков лет, сжатие его происходит уже при сохранении файла. Но и качество обычно страдает, хотя не всегда можно это заметить, особенно если смотреть на картинки на компьютере. Тем не менее, при попытке сохранить/распечатать/изменить размер такого изображения и проявляются все недостатки сжатия JPEG.

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

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

Режим смешивания

Для того чтобы точно узнать и увидеть, что происходит с изображением при его уменьшении, мы используем режим наложения Photoshop – Разница. Мы немного о нем уже упоминали ранее. Напомним, что режим получил свое название от того, что он ищет различия между двумя слоями. Любые области на обоих слоях, что выглядят одинаково (например, черный цвет) и области,  отличающиеся друг от друга (с проявлениями странных и чужеродных цветов). При работе со спецэффектами режим Разница обычно не используется и если  читатели блога вспомнят наши практические материалы, то данного режима нигде и не было.

Но при этом Разница проделывает огромную работу, демонстрируя пользователям, как много «мусора» мы добавляем к нашим изображениям, когда сжимаем их. Это совершенно не означает, что теперь нужно перестать сжимать файлы, использовать jpeg вообще и так далее. В реальном мире это попросту невозможно. Но это помогает понять нам, что происходит с картинкой и как можно избежать ухудшения. Тем более, если учесть то, что в веб-дизайне используются огромные по разрешению фотографии, а если их открыть на мониторах с разрешением более 1080р, то и «артефакты», и «мусор» будут явно видны и создастся негативное отношение и к самому сайту, и к работе дизайнера.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

У нас два изображения, одно из которых пережато на 60%. Но какое из них где? Проявления искажений могут быть обманчивыми, особенно на экране компьютера. Истина заключается в том, что это два совершенно разных изображения. Слева – оригинал, справа  – сжатое на 60%. В это сложно поверить на слово, но если действительно увеличить их и сравнить, то можно увидеть лишние элементы, размытость или отсутствие пикселей. Если их не нужно печатать, то можно использовать в веб-дизайне и в таком виде, но иметь в виду, что в дальнейшем при любом изменении сжатого варианта, «огрехи» будут все явнее и четче.

Обратимся к режиму Разница, который ищет различия между двумя слоями. Давайте испытаем его в действии. Открываем наш оригинал и создаем копию Ctrl+J. Ничего переименовывать не будем. Выбираем Слой 1 и в списке режимов наложения выбираем Разница.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Обучайся бесплатно с WAYUP Premiere сегодня вечером

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

Но давайте попробуем удостовериться, что изменений действительно нет и черный цвет полностью однороден. Добавим к Слой 1 корректирующий слой Уровни.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

В появившемся диалоговом окне появится гистограмма. Если каждый пиксель в изображении отображает чистый черный цвет, который должен быть в данном случае (при одинаковых слоях), то все, что мы увидим на гистограмме – одна вертикальная полоска по левому краю. Таким образом, в нашем изображении нет никаких лишних цветовых пикселей, нет артефактов и нет мусора. Оно идеально. И так всегда, если мы создаем копию оригинального изображения, она есть 100% копия и никак иначе.

Но идем дальше…

Оставим только наш фоновый слой-изображение и удалим Слой 1 и Уровни. Вернемся к самому началу, иными словами. Но теперь сравним наш оригинал с изображением, которое подвергается маломальскому сжатию или обработке. У нас два документа открыты в окнах, и выбрав инструмент Перемещение, мы сжатый вариант перемещаем на окно оригинала (клик по нужному документу, зажимаем, «тащим» на другой и отпускаем). Таким образом, второй файл открывается у нас, как новый слой.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

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

Поскольку мы перетаскивали наше сжатое изображение, то и отображаться оно будет в слегка сдвинутом виде. Поправим его, зажав Shift или по направляющим.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Таким образом, у нас снова появилось два слоя, но один из них имеет «в себе» изображение, пережатое на 60%. Применим к Слой 1 режим смешивания Разница. И если разницы между двумя вариантами нет, то мы должны видеть снова чистый черный цвет. Вы можете видеть чисто черный или небольшие артефакты, но мы видим явные примеси (мы ближе к монитору).

Обучайся бесплатно с WAYUP Premiere сегодня вечером

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

Что же в них не так? Мусор. Сжимая одну версию, мы по факту использовали чистую, нетронутую информацию изображения и добавили к ней целую кучу мусора. Шум, мусор, артефакты – называйте это, как вам нравится. Суть заключается в том, что мы повредили оригинал. Сколько мусора добавляет JPEG сжатие? Это сложно увидеть даже через режим смешивания или гистограмму Уровней. Но можно сдвинуть все ползунки Уровней влево. Не будем долго вдаваться в рассуждения, просто отметим, что таким образом слабый шум на изображении сделается гораздо ярче и его станет лучше видно.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

При этом стоит помнить, что все странные места непонятных цветов (красные, желтые и др.) это как раз и есть те самые области, что отличаются от оригинала и которые повредились при сжатии. Не очень красиво выглядит, но это как раз есть то, что называется «артефакты сжатия».  Таким нехитрым способом можно очень хорошо узнать, как сильно повреждено изображение при пересохранении и в каких местах.

По возможности в этих места веб-дизайнер можно поместить надписи, блоки (если изображение используется как фоновое) и так далее. То есть, «прикрыть» их.

Настройки сжатия jpeg

Хорошо, мы знаем, что при сжатии на 60% наше изображение было повреждено достаточно сильно. Как же теперь выбрать оптимальное сжатие, которое и  не очень повредит, и сделает размер файла небольшого размера? В Photoshop существует шкала сжатия от 0 до 12, где последнее – наилучшее качество. И если логичным было бы от 0 до 10, где 10 соответствовало бы 100%, то у Adobe все совершенно иначе.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Если после многих сравнений посмотреть на таблицу, то становится видно, что некоторые параметры шкалы попросту не имеют смысла. Сравните 80%, 77% и 84%. По факту, это соответствует 10 и 11 по шкале Adobe. Но на деле ничего не меняется. Если вы сравните результат сжатия 11 и 9, то разница будет очевидна. Аналогично отсутствует видимая разница в качестве сжатия между 12 и 11.

Мы сохранили наше изображение со сжатием в 11 и провели анализ мусора. Как видите, его… нет, даже на гистограмме Уровней.

 Обучайся бесплатно с WAYUP Premiere сегодня вечером

Обучайся бесплатно с WAYUP Premiere сегодня вечером

А вот результат сжатия 10 дает более утолщенную линию на Гистограмме Уровней, хотя кажется, что черный цвет полностью однороден.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Из чего следует, что иногда смело можно сжимать на много единиц сразу и тогда уже начинать сравнение и смотреть, проявились ли «артефакты» или нет.

Сохранение для Web

В новейших версиях Photoshop до сих пор осталась функция Сохранения для Web, хотя она и получила приписку «Старая версия». Она прячется в Экспортировании. Здесь сжатие происходит по другому алгоритму. Да, это еще один вариант. В данном случае уже можно увидеть процентное сжатие от 0 до 100, множественные дополнительные настройки, а размер файла при этом может очень уменьшаться без потери качества.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Дело в том, что Adobe решили намеренно создать алгоритм, идеально подходящий для интернета, в отличие от иных методов. Мы сохранили наше изображение при максимальных настройках сжатия (100%), получили в разы уменьшенный размер файла, но и искажений нет ни при режиме смешивания, ни на гистограмме Уровней.

И еще вариант.

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Обучайся бесплатно с WAYUP Premiere сегодня вечером

Завершение

Для многих фотографий даже 77% (10 по шкале) бывает очень малым сжатием, что создает и большой файл, но и при малом искажении.  Если же выбрать хотя бы 9, то можно увидеть и малое искажение оригинала, и небольшой размер файла, что уже более приемлемо для большинства случаев. Бывают варианты изображений, когда получается и на 62% – 54% сделать отличный вариант, который и распечатать не стыдно.

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

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

Форматы изображений: какой из них выбрать?

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

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

Постараемся выяснить, какие форматы изображений нам могут пригодиться.

Чтобы действительно понять разницу между типами изображений, для начала нужно выяснить, чем отличаются растровые изображения от векторных.

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

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

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

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

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


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

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

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


Кажется, никто и никогда так и не произнес название этого формата правильно. Дизайнеры часто четко произносят первую букву G или диктуют все три буквы по очереди, однако его создатель, Стив Уилхайт, утверждает, что правильно произносить название как «джив». Хотя его аббревиатура расшифровывается как Graphics Interchange Format («формат для обмена изображениями»), а сам он главным образом используется в веб-дизайне.

Преимущество GIF (которое также отличает его от остальных веб-форматов для изображений) в том, что эти картинки можно анимировать.

Кроме того, GIF поддерживает прозрачность, что иногда позволяет существенно снизить вес файлов. Однако понятие маленького веса относительно, так как чем больше цветов используется, тем больше будет весить файл. Также важно учитывать количество кадров, так как каждый кадр также влияет на вес файла и увеличивает время загрузки веб-страницы.


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

Основной недостаток PNG — большой размер файла, а это отрицательно сказывается на скорости загрузки сайта. Этот формат лучше всего использовать выборочно для элементов, где требуется высокое качество, которое JPG и GIF не способны предложить (например, высококачественные логотипы). PNG также относится к растровым форматам изображений, поэтому при масштабировании таких файлов вы рискуете потерять качество.


TIFF (иногда TIF) – формат файла без сжатия, а это значит, что при сохранении он вообще не подвергается компрессии. TIFF также поддерживает послойную структуру.

Этот формат зачастую называют «готовым к печати» хотя большинство принтеров лучше работают с родными типами файлов вроде AI и PSD.

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


PSD представляет собой родной формат программы Adobe Photoshop. Это значит, что беспрепятственно редактировать эти файлы можно только в Photoshop.

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


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

Файлы в EPS-формате готовы к печати, однако, это не тот формат, который нужно использовать в веб-дизайне. Зачастую после утверждения дизайна страницы его составные элементы конвертируются в PNG, JPG и GIF.

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


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


PDF-формат от Adobe идеально подходит как для печатной продукции, так и для цифрового использования. Это формат, с которым «справится» любой клиент, и который без проблем можно распечатать на принтере. В PDF-документ можно поместить как растровые, так и векторные изображения, или даже комбинировать их в едином документе.

Конечно, придется сильно постараться, чтобы качественно отобразить содержимое PDF-документа на странице сайта, однако можно реализовать его скачивание. Этот формат также идеально подходит для отправки клиентам превью финального результата.

Однако PDF больше подходит для печатных продуктов вроде книг, брошюр или листовок.


В процессе работы над дизайном печатной продукции, вам, возможно, придется прыгать от одного формата к другому. Иногда нужно поместить JPG-фотографии и EPS-логотип в общий проект, работа над которым ведется в PSD-файле в Photoshop.

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

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

Конвертировать векторное изображение в растровое очень просто – нужно указать желаемый растровый формат при сохранении. Однако такое действие сожмет векторы в пиксели, а это значит, что вы больше не сможете «безболезненно» масштабировать сохраненное изображение, поэтому мы рекомендуем на всякий случай оставить копию исходного файла.

Конвертирование растрового изображения в векторное – это целая наука. Нет простого способа конвертировать пиксели растрового изображения в формулы, генерирующие векторы. Самый проверенный способ – это просто перерисовать картинку при помощи векторов.

Какой формат изображения лучше — JPEG, TIFF, PNG, GIF?

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

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

С развитием компьютеров и интернета появлялись новые форматы для записи изображений в файлы. Каждый формат имеет свои преимущества и недостатки.

В этой статье я решил попробовать разобраться какой формат изображения лучше и рассказать о наиболее распространенных форматах графических — JPEG, TIFF, PNG, и GIF.

Содержание статьи

Какой формат изображения лучше?

Формат JPEG

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

какой формат изображения лучше

Формат JPEG для цифровых камер

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

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

Данный формат используется в случаях когда небольшой размер файла более важен, чем максимальное качество изображения (оптимизированное изображения для сайта, электронная почта, перенос на картах памяти и т.д.). Формат JPEG достаточно хорош для большинства случаев, главное не переусердствовать в сжатии.

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

Формат TIFF

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

Формат TIFF позволяет сохранять несколько слоев, что очень удобно при дальнейшем редактировании, и в отличии от JPEG  может иметь разрядность 8 или 16 на канал. TIFF является наиболее универсальным, и как правило используется для хранения оригиналов изображений, которые в дальнейшем можно редактировать.  Но имейте в виду  что браузеры не отображают TIFF файлы.

Формат GIF

Данный формат разработала компания CompuServe в 1987 году для первых 8-битных видеокарт компьютера и предназначался для передачи по dial up (модемному) соединению. В свое время он был самым распространенным форматом в интернете. GIF использует компрессию без потерь LZW, и очень хорошо сжимает изображения, в которых много однородных заливок (баннеры, таблицы, логотипы, схемы).

Глубиной цвета данный формат нас не радует, всего 8 бит (256 цветов максимум) и использовать его для хранения фотографий не рекомендуется (фото имеют 24 битную глубину цвета).

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

Формат PNG

Был создан сравнительно недавно для замены устаревшего GIF (браузеры показывают оба формата), и в некоторой степени более сложного TIFF формата. PNG является растровым форматом с использованием сжатия без потерь, не поддерживает анимацию и может иметь 48 битную глубину цвета.

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

Типов файлов в зависимости от цели использования:

Фотографические изображенияГрафика, логотипы
СвойстваФотографии 24-битный цвет и 8-бит ч/бГрафика с множеством сплошных цветов, с небольшим количеством цветов (до 256 цветов), с текстом или линиями
Лучшее качествоTIFF или PNG (со сжатием без потерь)PNG или TIFF (со сжатием без потерь)
Наименьший размер файлаJPEG с высоким коэффициентом качестваTIFF или GIF или PNG (графика / логотипы без градиентов)
Cовместимость
(PC, Mac, Unix)
TIFF или JPEGTIFF или GIF
Худший выборGIF 256 цветов (очень ограничен цвет, и размер файла больше чем 24 -разрядного JPEG)Сжатие JPEG добавляет артефакты, смазывается текст и края линий

Итоги

Какой какой формат изображения лучше и как выбрать тип файла в зависимости от области использования:

  • Лучшая компрессия — с потерями для маленьких файлов — JPEG, или без потерь для наилучшего качества изображений — TIFF и PNG
  • Полноцветный RGB для фотографий — TIFF, PNG, JPEG
  • Прозрачность или анимация для использования в графике — GIF и PNG
  • Документы, штриховые рисунки, многостраничные текстовые, факс, и т.д. — TIFF
  • Полиграфия где используется цветовая модель CMYK — TIFF

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

Так как Вы заинтересовались форматом изображений и их отличиями, могу предположить, что одна из Ваших сфер деятельности связана с сайтами или лендингами. Рекомендую Вашему вниманию бесплатную книгу «Анатомия продающих лендингов». Очень полезная книга из которой Вы узнаете:

  • 4 элемента первого экрана продающего лендинга
  • 3 простые и работающие формулы продающего заголовка
  • анатомия конверсионной страницы

Скачивайте книгу «Анатомия продающих лендингов» и применяйте на практике полученные знания.

P.S. Для тех, кто хочет узнать про новые изобретения и быть причастным к инновационным технологиям рожденным в России, читайте статью Мотор-колесо Дуюнова.


Жду Ваших комментариев. Подписывайтесь на обновления блога. Дмитрий Леонов | leonov-do.ru

Подпишитесь на рассылку с блога

Качество изображения 90% или 80% для JPG?

Как выбрать лучшее качество JPEG

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

Правильное качество JPEG гарантирует, что ваши изображения будут выглядеть великолепно, ваши страницы будут загружаться быстро и даже помогут вам занять высокие позиции в поисковых системах. Давайте посмотрим на 2 часто используемых параметра: 80% и 90%.

Шесть сравнений качества JPEG

Ниже приведены бок о бок 6 наборов изображений JPEG.Внимательно изучите каждый, чтобы определить различия. Первое изображение имеет качество 80% и наименьший размер файла, поэтому загружается быстрее всего. Качество второго изображения составляет 90%, что считается высоким качеством. Хотя размер его файла больше, чем изображение с качеством 80%, он все же намного меньше, чем JPEG со 100% качеством.

Компромисс: качество и размер файла

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

Изучите циферблат часов Longines во втором примере, и вы, вероятно, заметите артефакты вокруг высококонтрастных областей, таких как логотип Longines.

Используйте Sirv, чтобы найти идеальное качество

JPEG качество сравнения стало проще с Sirv. Он генерирует новые изображения за доли секунды, что упрощает поиск изображений JPEG наилучшего качества для ваших нужд.Загрузите изображение в свою учетную запись Sirv (или создайте учетную запись) и прикрепите параметр q (качество , ) в URL-адресе изображения. По умолчанию Sirv выводит JPEG с 80%.

Пример URL:

Просто измените значение в URL-адресе, и вы сразу увидите новое изображение с выбранными вами настройками качества JPEG. Сравните изображения друг с другом и решите, какое качество изображения JPEG лучше всего подходит для вас.

В качестве общего ориентира:

  • 90% качество JPEG дает очень высокое качество изображения, значительно уменьшая исходный 100% размер файла.
  • 80% Качество JPEG дает большее уменьшение размера файла почти без потери качества.
  • 75% Качество JPEG и ниже начинают показывать очевидные различия в изображении, что может ухудшить качество обслуживания пользователей вашего веб-сайта.

Оптимизация JPEG для всего сайта

Дополнительные примеры сравнения качества JPEG см. В документации по качеству JPEG Sirv.

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

,

Является ли JPEG без потерь, когда качество установлено на 100?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. работы Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании

Загрузка…

.

Руководство по оптимизации JPEG для веб-дизайнеров

Сжатие изображений присутствует во всех собственных медиаформатах. Однако разница между GIF, PNG и JPEG составляет , как информация сжимается и отображается на экране.

В сети опубликовано так много советов по созданию великолепных мультимедийных материалов, и все же многие дизайнеры до сих пор не понимают некоторых основ.

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

Требуется некоторая начальная практика, но как только вы поймете, что такое сжатие JPEG, в будущем разрабатывать веб-сайты станет намного проще.

Рекомендуемая литература: Советы и передовые методы веб-оптимизации

Избегайте экономии при 100%

Вы почти никогда не должны сохранять изображения JPEG со 100% качеством. Это будет , а не , чтобы получить наиболее возможное «оптимизированное» изображение.Фактически он рассчитывается по формуле предела оптимизации, которая непомерно увеличивает размер вашего файла.

Даже по сравнению с качеством 90% или 95% размер файла значительно уменьшится.

В большинстве случаев рекомендуется сохранять изображения с качеством намного ниже 90%. Если вы откроете диалоговое окно «Сохранить для Интернета» в Photoshop, вы заметите, что оно предлагает предустановленные значения, из которых вы можете выбирать.

Я добавил возможные значения JPEG ниже — обратите внимание на внутренние соглашения об именах.

  • Низкая — 10%
  • Среднее — 30%
  • Высокая — 60%
  • Очень высокий — 80%
  • Максимум — 100%

Даже в Adobe Photoshop 60% качество изображения считается «высоким».Многие веб-разработчики утверждают, что от 50% до 70% — это безопасный диапазон.

Насколько низко слишком низко?

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

Я бы сказал, что ниже 30% вы действительно снижаете основное качество изображения. Другие дизайнеры будут клясться, что 50% — это «предел» для уменьшения оптимального значения.

Но лучший совет здесь — просто попробовать различные настройки и посмотреть, что лучше всего выглядит! Вы не ошибетесь, проведя несколько тестовых исследований по оптимизации изображений JPEG для Интернета.

Варианты сжатия

Сначала мы должны прояснить два термина «сжатие» и «качество», которые являются противоположными друг другу.

Это означает, что если вы сохраните JPEG со сжатием 40%, вы получите качество 60% (по сравнению с максимальным качеством 100% без сжатия).

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

Субдискретизация

позволяет решить более сложные задачи, когда вы конвертируете изображения RGB в YCbCr (яркость, синий цвет, красный цвет).

Яркость или настройка яркости всегда поддерживается на максимально возможном значении при сжатии JPEG. Благодаря этому значению яркости на отдельном канале проще оптимизировать отдельные значения цвета для красного и синего.

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

Ознакомьтесь с этой замечательной записью в блоге о сэмплировании цветности, специально предназначенной для изображений JPEG.

Интересно отметить, что Adobe Photoshop не всегда использует субдискретизацию для сжатия. Любые изображения, сохраненные через диалоговое окно «Сохранить для Интернета», будут использовать только субдискретизацию цветности ниже значения качества 50%.

Различные веб-медиа

Интернет также полон различных изображений.У вас могут быть фотографии, значки, кнопки, значки и множество другой графики. Но примечательно, что сравнивать качество кнопки и фотографии просто бессмысленно.

При использовании фотографий или подробных изображений рассмотрите возможность создания ссылки на отдельный файл JPEG с меньшей степенью сжатия. Затем вы можете настроить на своем сайте эскизы с более высокой степенью сжатия и гораздо меньшими размерами файлов.

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

Использование инструмента для сжатия

Возможно, вы хотите организовать файлы изображений, чтобы их было легко просматривать на своем сайте. Вы также можете разместить их фотографии в облачном сервисе, таком как Amazon S3, Google Cloud Storage, или через CDN, что ускорит доставку изображения. Тем не менее, вы можете использовать какой-нибудь инструмент сжатия, чтобы уменьшить размер изображения. Любые лишние байты, которые вы можете сократить для каждого файла, имеют решающее значение. И вот некоторые из инструментов, которые вы хотите проверить:

TinyJPG

TinyJPG — это веб-приложение на основе браузера, в которое вы можете загрузить изображение и все ненужные дополнительные байты для оптимизации размера файла.Это 100% без потерь, что означает, что качество изображения вообще не ухудшится. Вы можете загрузить до 20 изображений размером 5 Мб за раз.

Если вы используете WordPress для своего сайта. Вы можете использовать его официальный плагин, Сжатие изображений JPEG и PNG. Этот плагин также подключается к своему дочернему сайту TinyPNG, который позволяет оптимизировать изображения в формате PNG.

IrfanView

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

Что еще лучше, так это поддержка плагинов сторонними разработчиками. Одним из таких примеров является RIOT (инструмент радикальной оптимизации изображений). Этот плагин работает с другими похожими графическими редакторами с открытым исходным кодом, такими как GIMP.

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

Screenshot of RIOT plugin Screenshot of RIOT plugin

Замечательная поддержка программного обеспечения, а функции RIOT очень просты в использовании.Помимо сжатия изображений у вас также есть доступ к удалению дополнительных метаданных, таких как EXIF ​​и Adobe XMP. Эти дополнительные биты данных могут только добавить к вашему общему размеру файла, и они редко нужны.

ImageOptim для Mac

Если вы используете OS X и нуждаетесь в мощном приложении для сжатия, не ищите дальше. ImageOptim — мощный инструмент для сжатия изображений для Интернета, иногда даже лучше, чем Photoshop.

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

6 способов сохранить изображения WebP как JPG и PNG
6 способов сохранения изображений WebP как JPG и PNG

Проприетарный формат изображений Google WEBP, возможно, лучше, чем стандартный формат JPG или PNG. Создает много … Читать дальше

Заключение

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

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

Если у вас есть похожие приемы или идеи по сжатию JPEG, поделитесь с нами в разделе для обсуждения ниже.

Связанные

,

PHP Обработка изображений GD Качество JPEG

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. работы Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *