RAW - изображение это или нет?

Предуведомление: это текст на понятно какой сайт, но захотелось его сначала протестировать на знакомой аудитории

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

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

На самом деле же, RAW - это изображение. Просто это изображение в другом формате и в другой кодировке. Чем же отличается RAW от традиционных изображений?

1. Цветовое пространство
Любое изображение всегда - явно или неявно - связано с некоторым цветовым пространством. Чтобы показать изображение "правильно" на мониторе, мы должны конвертировать это изображение из ассоциированного цветового пространства в цветовое пространство монитора.

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

2. γ (gamma)
RAW изображение (как правило) линейно, т.е. имеет γ=1.0.

Сильно ли это отличает RAW от других изображений? Нет, т.к. любое "привычное" изображение может быть записано с любым значением γ, в том числе - и с единичным (например, после сканирования), и чтобы правильно показать это изображение, мы всегда компенсируем это значение γ.

Задачи 1. и 2. выше - это банальные задачи color management, и любой современный редактор изображений их решает всегда, для любого изображения. Значит, тут мы отличий RAW от, скажем, TIFF не имеем вовсе никаких.

3. RAW данные часто предстваляют собой байеровскую мозаику - иными словами, они не содержат тройки (R,G,B) для каждого пиксела.
Обычно для изображений в формате JPEG мы тоже не имеем полных цветовых данных для каждого пиксела. Более того, в JPEG вообше нет данных RGB, они получаются после распаковки, интерполяции и конвертации. Следовательно, в обоих случаях - и JPEG и RAW - чтобы показать изображение, мы должны применить к нему некоторую раскодировку и интерполяцию. Однако при этом JPEG почему-то является признанным форматом изображений, а вот RAW почему-то нет. Не стоит ли признать, что RAW имеет не меньше прав считаться изображением, чем JPEG?
Для того, чтобы показывать RAW-изображение на мониторе, (FastRawViewer) распаковывает и интерполирует его, создавая триплеты RGB. А выполнив распаковку и интерполяцию, использует color management для его показа, строит гистограмму, индицирует статистику и зоны недодержки и передержки. И все это - непосредственно на основе RAW-данных.

Comments

Баланс белого - это имитация "стандартного" освещения. Такой задачи может не быть.

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

UPD: да, и три исключения с демозаикой. Становятся ли от этого sRAW изображениями, тогда как обычные CR2 ими не были?

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

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

Меня ввело в ступор сочетание "sRGB" и "спектров" в одной фразе.

Разве sRGB каким-либо образом специфицирует спектры?

1) Причем тут sRGB?
2) Тему про CMF в этом блоге много раз обсуждали. Спектры чувствительности пикселов не делают линейными комбинациями cone fundamentals не потому что не могут, а потому что не хотят. А не хотят - из довольно очевидных соображений.

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

(понятно, что в телефонном классе в первую очередь удешевление)

Ну вот вообще-то потребители тоже хотят видеть узнаваемые цвета - узнаваемыми.

Нет, в смысле "видно чем снимали".

Вот по этой вот "классической" картинке беретесь угадать камеру: http://www.imaging-resource.com/PRODS/samsung-nx1/NX1hSLI00400NR0.HTM
?

В смысле, я вот возьму несколько камер прямо с IR, отрендерю "по нулям", сконвертирую в sRGB JPEG 1200x900, отрежу метаданные и скажу список камер.

Так и я о том же. Не "не могут", а "не хотят". Потому что у них есть другие ограничители, по которым линейная комбинация CMF получается сильно неоптимальной. Шумы, например.

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

Хотел бы я посмотреть, для начала, на демозаику по 5-6 типам пикселов.
X-Trans титаны индустрии бодали год (да и то, результат так себе), а всего-то нестандартный паттерн.

Ещё бы цветовую матрицу в правильную сторону, а не как в DNG...
На опубликованые спектры для камер дешевле самолёта я уже не надеюсь.

> Разрешение упадёт, но сейчас это не главная проблема.

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

Z / V

Довольно хитрый переход.

То, что это изображение - не спорю. И на плёнке тоже есть (скрытое) изображение, которое надо еще проявить.

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

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

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

Как-то так.

1) Для JPEG такую задачу (улучшить распаковку) просто (массово) не ставят. Но там тоже есть место подвигу. Квадраты спрятать, можно много чего придумать.

2)То, что изображение нуждается в "интерпретации" - это для всех изображений так. Маргулис вон сколько книжек исписал именно об интрепретации и улучшении (без всяких RAW, готовых TIFF/JPEG).
Вот классический "полуцифровой" процесс:
- есть изображение (слайд), ну не цифровое.
- отсканировали, получили TIFF (изображение ж!)
- этот TIFF нуждается в интерпретации. По банальной причине - диапазон яркостей слайда раз в 10 шире чем у бумаги (на которой будем печатать).

Для видео такую задачу давно поставили и чего-то даже добились.

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

А JPEG - тоже три?

Если YCrCb или RGB — видимо, да. А там же ещё CMYK может быть, YCrCbK.
Хм... а JPEG вообще как-то больше с макроблоками вяжется, там же пикселов как таковых вообще нет. То есть RAW даже изображенистей, чем JPEG.

"RAW изображение существует в "цветовом пространстве" сенсора" - Хм. Может, соответствует? И то не совсем однозначно. Пример - ИК-телескопы.

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

1. Цветовое пространство
Любой изображение всегда

Мне пожалуйста один кофе и один булка :-).
Опечатка там.

спасибо!

предлагаю просто в EULA (продуктов) включить пункт raw это image...

Z / V

Тогда уж в думу - с запрещением отрицания.

IMHO jpg == image потому что стандартизирован. Десять программистов, посаженные имплементировать jpg-
читалку сделают идентичную картинку на мониторе.
Десять программистов, посаженные имплементировать raw-читалку получат совершенно разные картинки и будут кидаться в друг друга к#к#шками.

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

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

> Десять программистов, посаженные имплементировать raw-читалку получат совершенно разные картинки и

батенька - ну вы сами же написали - "получат...картинки" -> ЧТД :-)

Z / V

уточню = на этих разных картинках будет опознана снятая сцена... и их разнообразие не изменит этого простого факта... уберите полностью демозаик, color transform, итд - все равно снятая сцена будет видна и опознана

Z / V

"Является" != "получат".
"Возьмите литр воды и добавьте чайную ложку соли" - это рецепт. Будет одинаково в каждом макдональдсе.
"Возьмите литр воды и добавьте соли по вкусу" - это не рецепт.

С JPEG, если его сделать со всеми возможными наворотами - аналогичная история.

Неужели не видел JPEG-ов для проверки работы ICC в браузерах?

UPD: то есть вот утверждение заключается в том, что разница между JPEG и RAW - количественная, а не качественная. JPEG - да, документирован. Но в разных местах и противоречиво. RAW - документирован нормально только DNG-формат. Но с остальными можно поступать "по аналогии" и будет приемлемо.

Опциональны навороты документированы. ICC может быть, может не быть в файле; может быть отключен в смотрелке.

Это именно качественная разница. Там ISO/IEC 10918, а здесь бесконечное количество proprietary недокументированных вариантов.
Вот посадят Коффина в Гуантанамо за нелегальный reverse engineering и опаньки.

Ну вот давай начнем с JPEG vs DNG? Оба - документированы. DNG, по мне, и получше...

Ты выискиваешь курьезы типа "арбуз - ягода".
DNG документирован, но не является raw'ом.

DNG - бесполезная абстракция. Давайте переведем Пушкина, Байрона, Ван Вэя на эсператно и будет всем счастье.

Владельцы камер pentax, leica, kodak (некоторых моделей), ricoh, casio - несогласны с "бесполезной абстракцией". И с тем что "не является raw'ом" - не согласны. У них камеры снимают прямо в эту бесполезную абстракцию.

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

Поэтому давай вот обсуждать DNG, потому что в этом случае проблемы с документированностью нет, а все остальные "проблемы RAW" (если они есть) - имеются в полный рост.

> У них камеры снимают прямо в эту бесполезную абстракцию

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

> определил тот минимум метаданных

Вот в Foveon'е радуются.

Ну отлично, пусть "конвертируют в эту абстракцию", я не против (пока).

Эта абстракция - изображение?

JPG и DNG - изображения.
Зоопарк данных с физических сенсоров - не изображения. Особенно четко это видно, когда покупаешь новую камеру, и обнаруживаешь, что Фотошоп 15 его "raw" не открывает и нужно покупать за кучу денег Фотошоп 19. А автор бесплатного конвертора уехал на лето в Монголию, или вообще бросил программирование и занялся разведением пчел.

О, прекрасно, раз "DNG - это изображение", значит из RAW (пусть, для начала, не произвольного, а хоть из каких-то) можно сделать изображение путем конвертации в DNG.

Значит что мы про это знаем (для простых случаев)
1) Собственно данные (значения пикселов) не меняются. Ну вот как минимум для тех камер, где возможна запись DNG и "родного" raw (вроде пентакса). Меняется упаковка.
2) Свои, посконные-лапотные метаданные превращаются в DNG-теги. Без изменения значений, просто вот значения одних (своих) тегов копируются в DNG-шные.

Таким образом, чтобы из RAW сделать "изображение" - нужно набрать метаданных в примерно том количестве, какое есть в DNG.

Я вот совершенно с этим согласен! Если мы про RAW знаем метаданных в объеме DNG тегов и можем распаковать собственно пиксельные значения, то мы оный RAW знаем достаточно хорошо.

Есть, понятно, исключения. Это когда данные-метаданные нельзя просто скопировать в DNG, потому что в DNG нету места (тегов) под эти данные. Foveon - хороший пример. Файлы PhaseOne - хороший пример. Но эти два примера - те самые исключения, которые подтверждают (потому что сделать DNG все равно можно, но не просто копированием значений).

Пример Пентакса ни о чем не говорит. Ну просто и адобовский и пентаксовский программисты читали одну и ту же википедию, когда изобретали свои форматы. (Пентакс же сам не делает сенсоры).

> потому что сделать DNG все равно можно

Ну наверняка можно сделать DNG из JPG, высасывая из пальца отсутствующие [в JPG] метаданные.

> но не просто копированием значений.

Конвертация с потерей метаданных - не есть хорошо. Они же не для красоты были введены.
И все рекомендуют хранить оригинальные raw'ы, а не выбрасывать после конвертации в DNG.

Исключений - более чем достаточно.
У Сони была 4x-цветная (RGBE) матрица. WGRB кто-то пытался сделать.
Foveon, PhaseOne, X-trans, Lytro.
Будушие - APCS (Active-Pixel-Color-Sampling).

Плутон лишили статуса планеты, может и DNG стоит лишить статуса формата изображения.
DNG's dead, baby. DNG's dead.

RGBE, X-Trans, WGRB - какие с ними проблемы? Проблемы были с Super-CCD, но и их решили в рамках DNG-спеков.
Foveon, PhaseOne - частично согласен, но вопрос задам "какие с ними проблемы?"

Про метаданные - я согласен, что не надо их выкидывать (хотя вот многие введены именно что для красоты). Ну так EXIF/MakerNotes вполне хранятся в DNG, а интерпретация их "если DNG-данных достаточно чтобы называться изображением" - дело, на самом деле второе, если при создании DNG-контейнера нужное положили в DNG-теги.

> DNG - бесполезная абстракция

решение принимает производитель камеры, если он считает что он может использовать DNG то какая же это абстракция-то ? во всех дискуссиях про DNG в кучу сваливают совершенно разные вопросы, например не надо мешать в кучу использование DNG как native формата для raw производителем камеры __с__ поддержкой DNG сконвертированного из native формата при помощи например Adobe DNG конвертера в каком-нибудь продукте (типa raw конвертеров C1 или DxO)... если у ряда производителей камер есть логичные резоны не использовать DNG, то у производителей raw конвертеров это просто глупость и оставление куска пирога (многих пользователей которые сконвертировали в DNG и удалили оригиналы) на столе для Adobe (LR) в борьбе за долю на рынке.

Z / V

DNG не является native форматом. В камере есть конвертор в DNG.
В DNG конвертируют мелкие компашки, которые боятся уменьшения количества покупателей, если Adobe не будет чесаться с добавлением их камер. Для лидеров (Canon/Nikon/Sony) ситуация противоположная - это Adobe боится что не будут покупать Фотошоп, если он не поддерживает их raw'ы.

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

А в каких случаях "конвертация в DNG невозможна"?

UPD:
>>DNG не является native форматом. В камере есть конвертор в DNG.
Вообще, это явно какой-то религиозный пунктик. Ну вот в чем разница между DNG и PEF. Ну вот хоть какая-нибудь?

Foveon. X-trans.
Sony в следущем году выкатит 54mp non-Bayer сенсор

X-Trans то чем не угодил? Сама Fuji считает его трехканальным, а 6x6 pattern задается средствами DNG-тегов без проблем.

Foveon - старые камеры (до Merrill) Adobe DNG Converter конвертирует в DNG не зная что этого нельзя. Новые - нет, но это скорее политическое решение, вряд-ли сигма не раскрыла формат.

> X-Trans то чем не угодил

Ну не знаю, но портил кадры:
=== cut ===
The bad news, as you have guessed, is that if a DNG has been created from an X-Trans RAF using the DNG Converter 7.3 or older, the bad demosaicking is locked in, so neither a second DNG conversion with the DNGC 7.4 or higher, nor even just opening that older X-Trans DNG in a newer ACR 7.4 RC or LR 4.4 RC will undo the damage.
=== cut ===

> Foveon - старые камеры (до Merrill) Adobe DNG Converter конвертирует в DNG не зная что этого нельзя

Насколько я помню форумы - тупо копирует файл во внутрь.
Типа DNG может быть с конвертированными данными, конвертированными + оригинальными (вдвое толще разумеется) и тупо оригинальными.

"For X3 sensors the raw sample data is not stored in the DNG unless the embed original option is chosen as DNG cannot specify how to process the X3 data."

Любая секретарша может в Нортон Коммандере конвертировать *.x3f -> *.dng

Ну правильно. Сначала они конвертировали в Linear DNG. А потом начали просто копировать данные As is, потому что контейнер позволяет. Контейнер оба варианта позволяет.

DNG от старых фовеонов - нормальные вроде бы. То есть содержат DNG-данные, а не embedded. Посмотрю.

> Ну вот в чем разница между DNG и PEF. Ну вот хоть какая-нибудь?

ну видимо есть какая-то.

=== cut ===
I recieved my K-5 rental in the mail yesterday, and today used it for 2 sessions. Stupidly, I set the camera to shoot in raw, but didn't look at the settings to make sure it was saving them in the dng file format, so now I am stuck with a card full of files in PEF files that I cannot open! ACK!
I have elements 8, and CS5 and neither will open the files. Is there a plug in I can get somewhere to be able to open these or am I S.O.L. ?
=== cut ===

Пусть возьмет (free!) Adobe DNG Convertor и сведет задачу к уже решенной.

> это не рецепт.

а мы не про рецепт - мы про результат... недосоленый или пересоленый суп, супом быть не перестает от этого...

Z / V

Перестает. Все компоненты raw - "по вкусу". Один грам мяса на литр воды или килограм мяса на литр воды. В первом случае получится чай, во втором - corned beef.

> Перестает.

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

Z / V