Как RAW предотвращает «уродливое цифровое вырезание»?

10

В другом ответе пользователь Ilmari пишет в контексте предотвращения передержки:

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

Как RAW предотвращает отсечение переэкспонированных областей?

Мартин
источник
1
Съемка в RAW не гарантирует устранение обрезки светлых участков. Тем не менее, файлы RAW содержат полную информацию, полученную датчиком изображения, которая, как правило, включает в себя детали подсветки сверх того, что было бы зафиксировано в изображении JPEG. Имейте в виду, что файлы RAW обычно имеют 12 или 14 бит тональных данных на пиксель, в то время как JPEG ограничен 8 битами, поэтому в файле RAW значительно больше данных для работы. Я знаю это на собственном опыте и восстанавливался из обрезанных бликов в формате JPEG бесчисленное количество раз, когда я открывал файл RAW в RawTherapee. Смотрите также: photo.stackexchange.com/a/13448
bwDraco
(продолжение) Черт, преимущества RAW, в том числе возможность более эффективного подавления шума и другой постобработки на ПК после события, достаточно значительны, чтобы я снимал спортивные состязания в RAW + JPEG, хотя это значительно уменьшает буфер глубина! (Мой работодатель часто хочет сразу же использовать изображение JPEG для своего веб-сайта сразу после игры, а я
оставляю

Ответы:

13

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

Хорошо, да, я был немного лаконичен, когда писал это . Позвольте мне немного его распаковать.

Очевидно, что простое переключение с JPEG на RAW ничего не изменит для усечения. Когда я писал абзац выше, я пытался предложить следующее:

  1. Умышленно недоэкспонируй свои фотографии настолько, чтобы блики не обрезались.

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

  3. Исправьте недоэкспонирование в постобработке, используя алгоритм, который имитирует мягкие «пленочные» блики вместо жесткого цифрового отсечения. (Я считаю, что любой приличный процессор RAW должен иметь эту встроенную функцию; я знаю, что UFRaw делает, и это бесплатное программное обеспечение.)

Зачем идти на все эти неприятности, вместо того, чтобы просто снимать JPEG напрямую при экспозиции по умолчанию? Ну, в основном (помимо всех других причин снимать RAW ), так что вы можете получить это:

Пример фото А с мягкими бликами Пример фото Б с мягкими бликами

вместо этого:

Пример фото А с резкими бликами Пример фото Б с мягкими бликами
(Нажмите на изображение, чтобы увеличить.)

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

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

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

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

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

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

Конечно, ничего из вышеперечисленного не требует , чтобы вы снимали в RAW - вы также можете легко увеличить яркость изображений JPEG, например, в Photoshop. Но по сравнению с RAW формат JPEG имеет две проблемы:

  • JPEG использует только 8-битный цвет; то есть наименьшая разница между двумя уровнями яркости, которую он может сохранить, составляет примерно 1/256 от разницы между чистым черным и чистым белым. JPEG фактически использует нелинейное цветовое кодирование, что несколько помогает, но эффективный динамический диапазон изображения JPEG все еще составляет всего около 11 ступеней (в отличие от 8 ступеней, которые можно получить при линейном кодировании). Этого достаточно для отображения изображений на экране, но оно все же меньше, чем эффективный динамический диапазон даже низкокачественных датчиков камеры, и не оставляет много места для регулировки экспозиции для восстановления деталей из теней.

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

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

Илмари Каронен
источник
Ух ты. Ура, приятель. ;-)
Мартин
3

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

Чтобы понять, как это помогает, рассмотрим один пиксель (мы будем игнорировать цвет, та же логика сохраняется, но она все усложняет). Если у вас есть 8 бит для записи амплитуды (количество света, попадающего на этот пиксель), у вас есть 256 уровней, включая «вообще нет света» (0).

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

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

Файл RAW содержит больше битов на пиксель, чем соответствующий JPEG (например, 14 для Canon 5D, по сравнению с 8 для JPEG). Это позволяет ему захватывать больше уровней воздействия. Пиксели, которые были бы насыщены в 8-битном представлении, могут не насыщать 14-битное представление. Это превращает полностью белые переэкспонированные области в оттенки серого и позволяет захватывать некоторые детали.

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

Эндрю
источник
1

Сырье отлично подходит по нескольким другим причинам, но, конечно, сырье НЕ МОЖЕТ предотвратить отсечение переэкспонированных областей. Как только цифровые данные превышают 255, они обрезаются, что означает, что они остаются на 255, больше не представляя истинный цвет. Цифровой просто не имеет возможности сохранять большие числа, самая большая возможность масштабируется до 255. Нет никакого способа восстановить обрезанные данные, кроме другой попытки с меньшей экспозицией.

Пример, который вы показываете, - это белый цвет света. Белый особенный, с тремя равными компонентами RGB. Но представьте, что цвет (переэкспонированный) был как красный 500, зеленый 250, синий 250, который является красным цветом. Но когда он обрезается до 255, получается 255, 250, 250, совершенно другой цвет, примерно белый. Откат в постобработке примерно до половины по-прежнему составляет 128, 125, 125, но по-прежнему НЕ красный.

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

WayneF
источник
1
Это зависит от того, как камера отобразила необработанное изображение на 8-битное изображение. Многие камеры имеют параметры HDR для одного изображения, в которых вы можете изменить это отображение. Стандартный параметр будет иметь меньший динамический диапазон, чем другие параметры. Таким образом, обычно 8-битное изображение с обрезанными частями не будет иметь такие же обрезанные области в необработанном изображении. Чтобы всегда тонировать карту, весь записанный динамический диапазон обходится дорого; просто позволяя переэкспонировать небольшие области, вы получаете диапазон до 255 для остальной части изображения, что может привести к лучшему общему результату.
Граф Иблис
1
Чего ждать? Типичные RAW имеют 14 бит информации о яркости на пиксель. Существует бесчисленное множество оттенков почти белого цвета, которые можно восстановить из RAW, даже если все они по умолчанию будут отображаться в 255,255,255 в формате JPEG.
JohannesD
2
Если бы ваш ответ был ответом «16-битный TIFF против JPEG», это было бы правильно, поскольку с TIFF черные и белые точки уже запекаются, а необработанные данные переводятся в 16-битные на основе выбранных черных и белых точек. в конвертации. Но настоящий необработанный файл содержит данные из замаскированных пикселей и не содержит черных и белых точек. Это самая большая проблема, с которой я сталкиваюсь при преобразовании файлов Canon .cr2 в .dng: замаскированные пиксели отбрасываются, а черно-белые Точки запекаются. DNG больше похож на TIFF, чем на настоящий необработанный файл.
Майкл С
1
Вы можете восстановить очень яркие детали, но вы не можете восстановить обрезанные значения. Вот почему динамический диапазон так важен. Кроме того, вы смешиваете динамический диапазон с разрядностью АЦП. Это совсем не одно и то же, см .: peachpit.com/articles/article.aspx?p=1709190&seqNum=2
Гребу
1
Вот как выглядит изображение при визуализации так, как вы описываете в своем ответе: первое визуализируется линейно, ко второму применяется гамма-коррекция, а 0-2047 в 14-битном файле отображаются как 0 в 8-битном файле и 14383 -16383 в 14-битном файле отображаются как 255 в 8-битном файле. Последнее изображение имеет черную точку (0 в 8-битном файле), установленную на приблизительное значение самых темных частей сцены, которые значительно выше 2047, а белую точку (255 в 8-битном файле), установленную на самые яркие части сцены, которые намного ниже 14383. photo.stackexchange.com/a/39478/15871
Майкл С