Почему файлы RAW показывают только 8 бит из 14 записанных?

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

Во-первых, большинство экранов не могут отображать 14-битный цвет.
Это не имеет ничего общего с файлами RAW, но с любым программным обеспечением, которое вы используете, которое отображает гистограмму. Файлы ничего не показывают. Это делает прикладное программное обеспечение.
Основываясь на справочном вопросе, я предполагаю, что вы говорите о гистограмме на камере. Приложение показывает вам гистограмму преобразованного изображения.
Это сводится к тому, что это компромиссы и то, что практично. Вы не можете отображать 14-битные данные, если устройство вывода является 8-битным устройством вывода (ЖК-экран, большинство мониторов, большинство принтеров). Большая часть программного обеспечения предназначена для обработки 10-14-битных данных на канал и преобразования их в 8-битное пространство на канал. Если вы хотите, чтобы отображались все > 8-битные данные, вам понадобится дисплей, способный на это, поскольку уже существует программное обеспечение, которое уже будет обрабатывать > 8-бит на канал.
@WingTangWong - Это не так. Для гистограммы яркости требуется только 1-битное отображение. Проблема в том, что все 14-битное пространство не представлено по горизонтальной оси. В идеале я хотел бы видеть все пространство с метками обрезки, указывающими, какая часть динамического диапазона отображается в JPEG на основе текущих настроек.
@Itai Учитывая, что отображение берет диапазон 14 бит и сжимает / сдвигает его, когда происходит преобразование в jpeg, потерянные данные не обязательно ограничиваются только левыми / правыми крайними точками, но также могут быть представлены разделами в середине диапазона, которые выжимаются из преобразования. Гистограмма от этого должна учитывать потери преобразования, которые будут охватывать диапазон гистограммы, не так ли?
@WingTangWong - Да, потери есть во всем диапазоне, но если учесть, как значения объединены в гистограмму, они будут близки к нужному месту и будут отражать распределение значений. Это не вызывает особых проблем, а то, что не видны крайние значения диапазона, поскольку нельзя сказать, когда что-то было обрезано экспозицией.
Хм.. интересно. Похоже, масштабируемая и панорамируемая гистограмма решит эту проблему.

Ответы (5)

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

Файлы RAW записывают определенное количество битов на фотосайт. Обычно это 12 или 14 бит. Изображения JPEG имеют фиксированную битовую глубину 8 бит на компонент цвета. Что делают почти все камеры, так это создают предварительный просмотр файла RAW в формате JPEG и вычисляют гистограмму на основе этого предварительного просмотра. Это показывает правильную гистограмму для изображений JPEG. Если вы снимаете в формате RAW+JPEG, то для JPEG это тоже верно. Для тех, кто снимает исключительно в RAW, очевидно, что гистограмма в конечном итоге оказывается неправильной.

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

Нет экрана камеры, который может показывать даже 12 бит, так как разрешение по горизонтали слишком низкое. Гистограмма всегда состоит из сегментов, каждый из которых представляет более одного значения яркости или цвета, в случае гистограмм RGB. Если бы кто-то просто отбросил младшие биты из данных RAW, мы могли бы получить идеально репрезентативную 8-битную гистограмму для файла RAW, но, насколько мне известно, это делает только одна камера. Проблема заключается в том, что большинство камер отбрасывают крайние значения RAW и сопоставляют остальные значения с 8-битным пространством, что и происходит при создании изображения JPEG из данных RAW.

Почему сжатие изображения с высокой битовой глубиной в 8-битное пространство делает его скучным? У него все еще были бы очень темные черные и действительно яркие белые, нет?
Хотя могут использоваться крайности, и изображение будет иметь высокий общий контраст, если используется весь динамический диапазон, микроконтраст будет чрезвычайно низким, поэтому объекты потеряют текстуру и будут выглядеть так, как если бы они были видны сквозь густой туман.

Что ж, вы можете открыть необработанный файл в шестнадцатеричном редакторе и прочитать 14-битные значения как 0x0000h-0x3FFFh, если хотите, чтобы «необработанные данные показывали вам 14-битные данные».

В качестве альтернативы вы можете линейно отобразить весь диапазон для просмотра на 8-битном дисплее, чтобы ни с одной стороны не было разрезов:

линейный

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

гамма 2.2

Немного лучше, но все равно не приятно. Давайте выполним базовую «проявку фотографий», такую ​​как автоматическая обрезка и преобразование цветового пространства (sRGB):

реальное развитие

Незначительный nit: 14-битные шестнадцатеричные значения идут от 0 до 3FFF, а не от 0 до 4000.

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

  • Выберите 8-битную зону исходных 12–14-битных данных для отображения, при этом более яркие тона будут затемнены, а более темные тона будут чистыми черными.

    или же

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

    или же

  • Используйте комбинацию двух методов выше

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

ЖК-дисплей на задней панели камеры предназначен для того, чтобы каждый сделанный вами снимок выглядел максимально качественно. Другими словами, он лжет, как политик! Если вы просматриваете 25-мегапиксельное изображение на 1-мегапиксельном экране, это означает, что каждый пиксель на экране отображает объединенную область исходного изображения размером 5X5 пикселей. Ваш фокус может быть размыт на ширину четырех пикселей, и вы не сможете отличить идеально четкое изображение! Точно так же цвет и контраст отображаются таким образом, который, по мнению производителя, больше всего нравится большинству потенциальных покупателей.Если изображение предварительного просмотра на ЖК-экране уменьшило контрастность настолько, чтобы отобразить весь динамический диапазон файла RAW, никто из тех, кто покупает камеру, не ориентируется на то, как фотография, которую они только что сделали при дерьмовом свете магазина, выглядит на обратной стороне экрана. никогда бы не вышел из магазина с одним.

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

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

  1. Если вы имеете в виду то, что на дисплеях иногда отображается число 256 - это просто удобство. 256 — максимальная экспозиция непосредственно перед выбросом для условного 8-битного захвата. Суть в том, что изображения с большим количеством битов на канал будут иметь детализацию между целыми числами до 0. Думайте об этом как о масштабировании по шкале от 0 до 255.

  2. Если речь идет о дисплеях с обычно 5 областями, то они показывают остановки экспозиции. Это делает журнал гистограммы масштабируемым. Т.е. чтение справа. На одну строку назад будет на одну ступень меньше... так что 128 по нашей номинальной шкале 256, следующая строка будет 64 и т. д. последняя будет 8. Так что, если это было действительно 8-битное изображение, у вас есть только 8 уровней, доступных для вещи 5. останавливается ниже полной экспозиции. Это объясняет, почему изображения с низким битрейтом имеют ограниченные возможности коррекции экспозиции.

Короче говоря. 256 иногда используется просто как номинальная шкала, хотя может быть больше битов. Если обратиться к 5 ступеням, показанным на гистограмме: более битовые изображения будут иметь больше деталей при этих уровнях освещенности, но для 99% экспозиций у вас будут (близкие к) нулевые показания на гистограмме для них.