Что такое артефакты JPEG и что с ними можно сделать? - Фотопедия
25 голосов
/ 16 января 2012

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

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

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

Ответы [ 6 ]

19 голосов
/ 09 ноября 2012

Пример

Использование текущей фотографии недели. Это высококачественный JPEG:

gimp Q=99

повторно сохранено в Gimp с качеством JPEG 80 (низкое); обратите внимание на общую потерю резкости, «точки» вокруг высококонтрастных краев, потерю деталей в малоконтрастных областях:

gimp Q=80

и повторно сохранено в GIMP с качеством JPEG 30 (очень низкое); обратите внимание на очевидные блоки 8x8 и серьезную потерю резкости и детализации цвета:

gimp Q=30

Три вида искажений

JPEG имеет тенденцию вводить два три вида искажений:

  • общая потеря резкости и колебаний вокруг высококонтрастных краев: это связано с аппроксимацией переходов интенсивности с гладкими функциями (косинусы); Вы видите их как маленькие "точки" или "ореолы" по краям; их особенно легко увидеть на изображениях с текстом рисунков от руки.
  • структура блокировки: изображение обрабатывается отдельно для каждого блока 8x8 (или больше в случае уменьшения цветности), края блоков становятся видимыми при высоких коэффициентах сжатия.
  • потеря детализации цвета: зависит от сохраняемых параметров, программа может агрессивно «понижать частоту» (уменьшать разрешение) каналов цветности; это редко проблема для естественной фотографии.

Видимая блочная структура и ореолы вокруг краев обычно называются артефактами JPEG. Давайте увеличим наш пример, чтобы увидеть их лучше. Слева направо - обрезка оригинала, изображений JPEG Q80 и JPEG Q30. Я пометил артефакты зеленым цветом (круги для ореолов и точки для блоков 8x8):

three-way compare

Как и любая потеря информации, вы не можете ее восстановить. Резкость может помочь восстановить утраченный контраст, но делает «ореолы» более очевидными; шумоподавление может помочь удалить «ореолы», но снижает резкость еще больше. Если структура блока видна, возможно, уже слишком поздно. Просто сохраняйте оригинальные высококачественные изображения высокого разрешения и не перезаписывайте их.

Стратегии хостинга

Если вы управляете параметрами сжатия JPEG и хотите максимизировать качество изображения:

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

Если вы загружаете в сторонний сервис и не управляете параметрами сжатия, вы ничего не можете с этим поделать:

  • выберите службу, которая, как известно, предпочитает высококачественный JPEG (Flickr, SmugMug, 23hq, 500px), а не службы, которые, как известно, чрезмерно сжимают для экономии трафика (Picasa, Imgur, Dropbox); обычно вы получаете то, за что платите.
  • Попробуйте изменить размер фотографий самостоятельно и загрузить файл нужного размера (некоторые службы будут повторно сжимать его в любом случае, некоторые могут обслуживать ваш файл как загруженный)
16 голосов
/ 17 января 2012

JPEG фактически использует два типа сжатия: с потерями и без потерь. Сжатие без потерь не вызывает артефактов, поэтому мы можем игнорировать эту часть. Конкретный тип сжатия с потерями в JPEG, называемый дискретным косинусным преобразованием для математических чисел, позволяет найти компромисс между степенью сжатия и точностью. В большинстве программ это значение оценивается как «качество», обычно по шкале от 0 до 100, где 100 практически не имеет или очень мало потерь, и от этого дела идут вниз.

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

Вот область размером 200 x 300 с более крупной фотографией с дублированными пикселями, чтобы увидеть их лучше. Этот используемый JPEG сжимает "качество" 100:

Качество 80, уменьшение размера файла на 79%:

Качество 60, снижение на 86%:

Качество 40, снижение на 90%:

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

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

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

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

10 голосов
/ 16 января 2012

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

enter image description here

Вот типичный пример в небе - JPG сохранен с качеством 0.

Если вы загружены на сайт, использующий сжатие JPG, у вас могут быть лучшие результаты при выполнении двух вещей (вам нужно поэкспериментировать с сайтом, чтобы увидеть, что работает):

  • измените размеры вашего изображения так, чтобы оно было в пределах максимальной высоты / ширины, разрешенной сайтом, чтобы веб-сайт не изменял размеры ваших изображений для вас

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

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

noise like jpg artifacts

Вот пример с качеством JPG 50%, с блочностью, но также с более темными и яркими пикселями, которые напоминают шум.

В Topaz Labs есть продукт под названием DeJpeg , который специально работает с артефактами JPG. Это делает хорошую работу без потери деталей. Плагин также может сделать некоторую резкость и общее шумоподавление. Плагин совместим с Photoshop CS, Photoshop Elements и Paint Shop Pro. Я не думаю, что это работает с Lightroom или Aperture.

5 голосов
/ 17 января 2012

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

JPEG работает путем преобразования изображения в [серию] частотных пространственных представлений [s] (где X и Y представляют горизонтальные и вертикальные частоты, а «яркость» представляет амплитуду частоты). Частоты ниже определенной амплитуды игнорируются, что уменьшает объем хранимых данных и обеспечивает сжатие.

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

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

3 голосов
/ 16 января 2012

Вот пример увеличенного JPEG:

enter image description here

Изображение пользователя Википедии FelixH. Это изображение лицензировано в соответствии с лицензией Creative Commons Attribution-Share Alike 3.0 Unported.

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

Существует ряд вещей, которые можно сделать, чтобы избежать или уменьшить эту проблему:

  • Самое очевидное: не используйте JPEG. Возможно, вы захотите работать со своими изображениями, используя формат сжатия без потерь, такой как RAW, PNG или TIFF без потерь. Вы переходите на jpeg только в последнем шаге, когда хотите загрузить изображение в Интернет, по электронной почте и т. Д.

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

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

1 голос
/ 16 января 2012

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

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

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

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

При более сжатых сценах артефакты также могут быть видны вокруг границ объектов, например ветки дерева на фоне светлого неба. Они похожи на пятнистые блоки, окружающие предмет.

Наилучший подход для уменьшения артефактов:

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

Для получения дополнительной информации см. http://photo.net/learn/jpeg/

...