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

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

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

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

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

Ответы (3)

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

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

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

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

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

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

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

Пример фотографии A с мягкими бликами Пример фото B с мягкими бликами

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

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

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

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

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

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

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

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

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

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

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

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

Ух ты. Здоровья, приятель. ;-)

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

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

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

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

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

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

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

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

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

Это зависит от того, как камера сопоставила необработанное изображение с 8-битным изображением. Многие камеры будут иметь параметры HDR для одного изображения, где вы можете изменить это сопоставление, стандартная настройка будет иметь меньший динамический диапазон, чем другие настройки. Таким образом, обычно 8-битное изображение с обрезанными частями не будет иметь таких же обрезанных областей в необработанном изображении. За то, чтобы всегда тонировать весь записанный динамический диапазон, приходится платить; просто позволяя переэкспонировать небольшие области, вы получаете диапазон до 255 для остальной части изображения, что может привести к лучшему общему результату.
HDR? HDR — это специальная операция, объединяющая несколько брекетинговых экспозиций, в том числе одну с меньшей экспозицией. HDR — это не что иное, как обычная экспозиция камеры. У меня Nikon D800, и HDR недоступен даже в режиме Raw. Мое предыдущее утверждение верно, клиппирование вызвано передержкой, превышающей 255, которая не зависит от камеры.
Чего ждать? Типичные файлы RAW имеют 14 бит информации о яркости на пиксель. Существует бесчисленное множество оттенков почти белого, которые можно восстановить из RAW, даже если по умолчанию все они соответствуют 255 255 255 в JPEG.
14 бит — это 16384 возможных значения. Преобразование составляет 2048 возможных значений за один шаг 0..255. Это означает, что было 2048 возможных значений между 255 и 256, которые будут называться 255. Но это мало помогает, незначительная помощь для отсечения, которое наверняка потеряет и 257, и 260, и 270, и, может быть, 300? Но все это может исчезнуть, потому что отсечение есть отсечение. Избегание передержки очень важно для цифрового изображения.
Количество битов n вообще не имеет значения для отсечения белого. Если вход в АЦП, выполняющий считывание пикселя, достигает насыщения, вы получаете максимальное значение (2^n)-1. Больше битов не поможет.
Значения в ответе следует рассматривать только как примерные. Переформулировка может помочь прояснить это, возможно, используя относительные значения (диапазон АЦП 90% / 150%). Принцип, объясненный в ответе, верен.
Это зависит от того, как камера отображает 14-битные необработанные данные и как она отображает 8-битный JPEG, который она создает из этих данных. Большинство файлов JPEG, созданных камерой, НЕ отображают только 16384 как 255 в JPEG (или только «0» в необработанном 14-битном файле как «0» в 8-битном jpeg. Если они сжали весь 14-битный динамический диапазон преобразовать датчик в 8 бит, вывод будет выглядеть плоским и тусклым без контраста, а также будет демонстрировать слишком много полос. Вместо этого алгоритмы демозаики анализируют необработанные данные и решают, где установить точку черного (обычно где-то значительно выше 0) и точку белого (обычно где-то значительно ниже 16384).
Если бы ваш ответ был ответом на «16-битный TIFF против JPEG», это было бы правильно, поскольку в TIFF черные и белые точки уже запечены, а необработанные данные преобразованы в 16 бит на основе выбранных черных и белых точек. в конверсии. Но настоящий необработанный файл включает данные из замаскированных пикселей и не содержит запеченных черных и белых точек. Это самая большая проблема, с которой я столкнулся при преобразовании файлов Canon .cr2 в .dng: замаскированные пиксели отбрасываются, а точки запекаются. DNG больше похож на TIFF, чем на настоящий необработанный файл.
См. photo.stackexchange.com/q/55825/15871, чтобы узнать, как блики, снятые в jpeg в камере, могут быть восстановлены из необработанного файла.
Вы можете восстановить очень яркие детали, но вы не можете восстановить обрезанные значения. Вот почему динамический диапазон так важен. Кроме того, вы смешиваете динамический диапазон с разрядностью АЦП. Это совсем не то же самое, см. peachpit.com/articles/article.aspx?p=1709190&seqNum=2 .
Чтобы уточнить, я согласен с @Michael Clark в том факте, что ограничение битовой глубины 8-битного JPEG приводит к потере информации и обрезке по сравнению с исходным изображением RAW с большей битовой глубиной. С другой стороны, динамический диапазон описывает ограничивающий фактор в процессе перехода от аналогового датчика к цифровому считыванию, где битовая глубина играет лишь незначительную роль в отношении ограничения. Ответ будет правильным, если он относится к отсечению из-за ограничений динамического диапазона или должен учитывать сопоставление, о котором упомянул Майкл.
Вот как выглядит изображение при рендеринге так, как вы описываете в своем ответе: первое визуализируется линейно, ко второму применяется гамма-коррекция, а 0-2047 в 14-битном файле отображаются как 0 в 8-битном файле и 14383. -16383 в 14-битном файле отображаются как 255 в 8-битном файле. Последнее изображение имеет точку черного (0 в 8-битном файле), установленную на приблизительное значение самых темных частей сцены, которые намного выше 2047, а точку белого (255 в 8-битном файле), установленную на самые яркие части сцены, которые значительно ниже 14383. photo.stackexchange.com/a/39478/15871