top of page
検索
執筆者の写真Seki Albatross

RAWデータって何?

【大前提】

これは技術屋さんが書く技術文書ではありません。

もっと手前のユーザーレベルの理解を深めるための「基礎概念を整理する話」です。

ですので技術レベルで粗かったり間違ってたりする部分もあると思いますが、文脈の主旨をご理解の上でお読みください。




デジタルカメラを使う時「RAWデータ」という単語にぶつかることがあります。

そして、それは次のような表現で説明されていることが多いようです。


・JPEGが出来上がった料理だとしたらRAWデータは調理前の材料みたいなもの

・まだ画像になってない生のデータ

・JPEGより綺麗なデータ

・センサーが受けた光の情報をそのまま保存したもの

・センサーからの電気信号をそのまま記録したもの


でもどうですか?

これらの説明で腑に落ちますか?

私にはどんなデータなのか全然伝わってきません。



ということで、

難しい技術論ではないけれどRAWデータってこういうものだよ

という話を書いてみたいと思います。




【前提となる知識】



[前提1.デジタルカメラは

        コンピューター]


デジタルカメラは「カメラの形をしたコンピューター」です。

なのでコンピューターの基礎知識がないとわからないことが出てきます。


デジタルカメラというコンピューターの中で、画像の処理をしている部分を

「画像処理エンジン」

と呼びます。


例)

PENTAX:PRIME 

キャノン:DIGIC

ソニー :BIONZ

ニコン :EXPEED

OM SYSTEM:TruePic

Panasonic:ヴィーナスエンジン

SIGMA :TRUE

リコー :GR ENGINE

etc


この画像処理エンジンは、様々な仕事をしています。

例えば次のような仕事です。


・レンズの歪みを修正する

 (歪曲修正)

・周辺光量の低下を修正する

 (シェーディング補正)

・画像のノイズを低減する

 (ノイズリダクション)

・撮影時の各種設定を画像に反映させる

 (ホワイトバランス・コントラスト等)

・JPEG画像の生成/保存


主にこんな感じですが、この他にも大事な仕事をしています(後述)。




[前提2.コンピューターの

       『画像データ』とは]


コンピューターで

「これは画像データだ」

「これは画像データじゃない」

等と言う場合、2つの意味を持っています。


1.データの実際の中身が何かという意味

2.データが「画像データ規格」に沿ったものかという意味


そう、「規格」

世の中には様々な規格がありますね。

代表的なものだとJIS規格でしょうか。


コンピューターの世界にも規格があります。

よく使われている「USB」というのも「規格」の一つです。

そして画像データにも規格があります。


例)

・JPEGJoint Photographic Experts Group

・PNG(Portable Network Graphics)

・TIFF(Tagged Image File Format)

・GIF(Graphics Interchange Format)


では、なぜこのような規格があるのでしょう?

それは規格に沿った形でデータが記録されていれば、様々なプログラムはその規格を前提にした処理を用意すれば済むからですね。


「JPEG規格の画像を表示するプログラム」を作っておけば、

 A社が作ったJPEG画像

 B社が作ったJPEG画像

どちらも同じように画面に表示出来ます。


これが実際には画像を格納したデータであってもそのデータの記録方法が規格に合ったものでないと、一般的なプログラムは処理することが出来ません。


つまり

「このデータは画像データかどうか」

というのは、

多くの場合

「一般的なプログラムが通常の画像として扱える規格に沿ったデータかどうか」

という意味になる、ということです。


そして、とても大事なことですが

基本的に「RAWデータ」という

     「規格」はありません。

※Adobe社が提唱しているdngというデータ形式はありますが、一部のメーカーしか準拠していません。


RAWデータと呼ばれるものは、カメラのメーカー・機種によってバラバラな構造をしています。

ですからファイル名の拡張子(***.orf 等)もバラバラです。

同じ会社のカメラでも機種が違うとRAWデータの構造も違ってきます。


これでは一般的なコンピュータープログラムは画像データとして扱えません。

なので、このような

「実際には画像情報を含んでいても画像データ規格に沿っていないデータ」

「画像データではない」と言われることが多いのです。


しかし、RAWデータは「規格」の観点では画像データではありませんが、実際には画像データを含んでいます(後述)。

※画像データ以外のデータも含まれています




[前提3.光の三原色]

話はコンピューターの話から光の話に変わります。


「三原色」という言葉を聞いたことがあると思います。

絵の具の場合は「赤・青・黄色」が三原色で、この3色を混ぜることで様々な色を作り出すことが出来ます。


これと同じように光にも三原色があります。

いわゆる「赤Red 緑Green 青Blue」がそれです。

この3色(RGB)の光を混ぜることで様々な色の光を作り出すことが出来ます。


実はデジタルカメラでカラー写真を撮影する際に困ったことがあります。


デジタルカメラには「撮像センサー(撮像素子・イメージセンサーとも)」というフィルムカメラのフィルムに相当するものが使われているのですが、

この撮像センサー

「明るさ」しか測ることが出来ません。

「色」を認識出来ません。

要はモノクロ情報しか扱えないわけです。


ではどうやってカラー写真を撮るのか?




[前提4.モノクロ画像から

       カラー画像を作る]

デジカメの撮像センサーはモノクロ(明るさ)しか認識出来ない。

なかなか辛い事実です。

しかしここを「なんとかしている」のが現代のデジタルカメラ。


ではどのように「なんとかしている」のか、見てみましょう。


<考え方の基本>

モノクロ画像しか記録出来ないなら、

・赤いフィルター越しに撮ったモノクロ画像

・緑のフィルター越しに撮ったモノクロ画像

・青いフィルター越しに撮ったモノクロ画像

の3枚を組み合わせて後から合成しよう!


はい、実際に実験してみたので見てみましょう。


これが実験の被写体です。

実験に使う赤(R)緑(G)青(B)の各フィルターは百均で売っているセロハンです。

実験の被写体にはこのセロハンのパッケージを使います。

(いい感じでいろんな色が印刷されてるので)


もっと色精度の高い光学フィルターを使ってもいいのですが、簡単な実験ならセロハンで十分です。


まず赤いセロハン越しに撮った

モノクロ画像。


次に緑色のセロハン越し


そして青色のセロハン


どうでしょう

各々少しづつ濃淡が違いますね?


この3枚のモノクロ画像をPhotoshopを使ってRGB合成してみます。

その結果がこちらの画像。


ほら、ちゃんとカラー画像になったでしょ?

なんせセロハンですから、ちゃんとしたフィルターで撮った写真に比べると色の再現性は落ちますが、それでもカラー画像が出来上がりました。


デジタルカメラもこれと同じ原理を使っています。


しかし、です。


写真を撮る時に

・まず赤いフィルターで撮って

・次に緑のフィルターで撮って

・で最後に青いフィルターで撮って

とかやっていたのでは、

実用になりません


そこで、この問題を解決するために

「一回の撮影でRGB3色分が撮れる方法」

というのを考え出しました。


この方法がRAWデータを理解する

キーとなります。

※詳細は後述




[前提5.色深度(bit深度)]


前提知識の最後にbit深度について書きます。

もう少しで前提知識おわりです。


撮像センサーは「明るさ」しか記録できないと書きました。

この「明るさ」は、真っ白から真っ黒まであるわけですが、

その真っ白から真っ黒までの間を何段階に区切って記録するか

を表しているのが「色深度(bit深度)」です。


コンピューターは取り扱う情報の量をbit(ビット)あるいはbite(バイト)で表します。

bitというのは

・0か1か

・右か左か

・上か下か

というような「2つのどちらか」を現す単位です。


ですので

・1bit=2つの情報を

・2bit=2×2で4つの情報を

・3bit=2×2×2で8つの情報を

表します。


要は「2の何乗か」ということです。

・8bitなら2の8乗(2×2×2×2×2×2×2×2)で256

・12bitなら4,096

・14bitなら16,384

となります。


ちなみにbite(バイト)というのはbitを8bit毎にまとめた単位で、1bite=8bitです。

コンピュータで扱われる情報(データ)は、このbite単位で処理されることが多いので、一般的なメモリー容量やUSBメモリー/SSD等の容量もbiteで表されます(ギガバイトとかのアレです)。



話を「色深度」に戻しましょう。


先ほど

この「明るさ」は、真っ白から真っ黒まであるわけですが、

その真っ白から真っ黒までの間を

何段階(何階調)に区切って記録するか

を表しているのが

「色深度(bit深度)」です。

と書きました。



光は三原色「R・G・B」で構成されていて、その各々が「明るさ」を持っています。

ということはRGB3色各々の明るさをかけ合わせた数だけの「色」があるということになります。


例えばJPEG画像は1色当たり8bit=256段階の明るさを記録しています。

これが3色あるので、256×256×256=16,777,216色の色を現すことが出来るということですね。



この「記録される明るさの段階=色深度」が多い(細かい)ほど、微妙な明るさの変化を滑らかに記録出来る

= 豊なグラデーション情報を持っている

と言えます。



はい、これで前提知識おしまいです。

お疲れ様でした ( ̄ー ̄)_旦~~


一服したら本論に入りましょう。

(本論の方が短いかもしれない)







【本論:RAWデータって

        どんなもの?】


【前提事項】

先にも書いたようにRAWデータは規格化されていません。

ですから

「全てのRAWデータがこうだ」

という話にはなり得ませんし、全てのRAWデータについて語ることも出来ません。


要はここで書くのは「一般論」なので

「一部には違う形式のRAWデータもあるんだから一概には言い切れないだろ」

等の ズ レ た ツ ッ コ ミ はお控えください。



[本論1.RAWデータは

画像処理エンジンが作るデータセット]


結論から書きますが、RAWデータというのは

カメラの画像処理エンジンが作成する

「カラー画像の元になるデータセット」

です。


そしてそのデータセットは次の3点セットになっている場合が多いようです。


・1チャンネルのモザイク状の

 「モノクロ画像」

 ※メーカーによってはこのモノクロ画像作成時点で調整を施している場合もあるようです


・カメラやレンズの機種/絞り/SS/ISO/ホワイトバランス/アスペクト比/適用効果等々の

 「撮影情報」


 ・プレビュー用の

 「JPEG画像」



これについては他のサイトで解説されてもいるので、

こちらのリンクから参照してみてください。

※この記事の末尾に(あくまで参考ですが)ChatGPT4との会話結果も添付してあります


◯中判デジタル雑学講座 「RAWデータの成り立ち」


抜粋スクショ


◯イメージングソリューション 【OpenCV-Python】デモザイキング(Bayer変換)


抜粋スクショ



[本論2.RAWデータの主役は

  モザイク状のモノクロ画像]


さて、デジカメの撮像センサーというのは光の明るさに反応する小さなセンサー(画素)がズラーっと並べられたものです。


例えば縦横比3:2で2400万画素の撮像センサーは

 縦に4000個

 横に6000個

の小さなセンサー(画素)が並べられたものです。

※ざっくりした基礎概念の理解が主旨です。

文章表現や図表に対する技術的で細かな指摘はお控えください。


このズラッと並んだ画素1つ1つに赤・緑・青のフィルターをある順番(※1)で被せます。

(※1:この並べる順番(配列)で最も多く使われているものが「ベイヤー配列」と呼ばれるものですが、ここでは話がややこしくなるので触れません。興味のある方はググってみてくださいね。)




そしてこのカラーフィルター越しにモノクロ写真を撮ります。

すると

・赤いフィルターが被ってた部分

・緑のフィルターが被ってた部分

・青いフィルターが被ってた部分

で、先ほどの実験のように各々濃度の違う「明るさ(モノクロ)」が記録されますね。


そうして撮られた画像は

「モザイク状のモノクロ画像」になります。


この「モザイク状のモノクロ画像」こそが

・JPEGが出来上がった料理だとしたらRAWデータは調理前の材料みたいなもの

「材料」に当たるものです。


現在のほとんどのデジタルカメラは、この「モザイク状のモノクロ画像」を材料としてカラー写真を作成しています。


ではなぜ、このモザイク状のモノクロ画像が「材料」となり得るのでしょう?


何が優れているのでしょう?


よく

「RAWデータはJPEGより

 多くの画像情報を持っています」

と言われる理由は、主に


・このモザイク状のモノクロ画像データが非可逆圧縮されていないこと


・このモザイク状のモノクロ画像のbit深度がJPEG画像より深いこと


に起因しています。


よく「14bit RAW」等と書かれていますが、その「14bit」の部分がbit深度です。


要は

「とても細かく分けられた明るさ情報

 =豊かなグラデーション情報を持った

           モノクロ画像」

なわけです。

※どれだけ広い明暗差のデータを扱えるかというダイナミックレンジの話とは違いますから注意しましょう


そしてこの豊かなグラデーションのモノクロ画像を元に作られたJPEG変換のカラー画像(いわゆる「RAW画像」)は豊かなグラデーション情報を持ったカラー画像になります。


「RAW画像は綺麗だ」と言われる所以がここです。


この「とても豊かなグラデーション情報」が画像編集の幅を広げてくれます。


・各色8bitのJPEG画像では白飛び/黒つぶれしていた部分にグラデーションが蘇る。


・画像を明るくしたり暗くしたりしても、グラデーションが破綻しにくくなる。


ということですね。


ではその「豊かなグラデーション情報をもったカラー画像を作る処理」

「RAW現像」

について見てみましょう。




[本論3.モザイク状のモノクロ画像(材料)からカラー画像を作ろう]


はい、ここで登場してくるのが いわゆる「RAW現像」です。

ではその手順を見てみましょう。


まず材料である「モザイク状のモノクロ画像」を

・赤いフィルターが被ってた部分だけ

・緑のフィルターが被ってた部分だけ

・青いフィルターが被ってた部分だけ

と3つに分離します(魚を三枚におろす感じですね)。


すると、

「3枚の歯抜けだらけのモノクロ画像」

が出来ます。


この「3枚の歯抜けだらけのモノクロ画像」を先ほどの実験と同じようにRGB合成したいのですが、なんせ「歯抜け」で「重なる部分がない」わけですからそのままでは合成出来ません。


なので歯抜けを埋めます。

しかし歯抜けの部分は空っぽで明るさの情報がありませんから演算で埋めます。


難しい計算をして

「ここは多分こういう明るさだろうな」

という数値を推測して埋めます。


この

歯抜けを埋めてモザイクを修復する処理

のことを

デモザイク

(De-mosaic。「デモザイキング」「ディベイヤー」とも)

といいます。

実際にはモノクロです(イメージが掴みやすいようにカラーになってます)



このデモザイク処理のおかげで、

1度の撮影でカラー画像を作成する

という処理が行えるようになったわけです

素晴らしい。


そして最近は、このデモザイク処理の部分にAIが導入されて来ました。

その結果「歯抜け」を埋める演算精度が向上。

合成結果である画像も以前より綺麗になりました。


3枚の画像の不一致から生まれる「不鮮明さ」「偽色」等の発生が、画像の合成「後」ではなく合成する段階で減らせるようになりました。


そしてノイズの低減にも役立ちました。

(AIノイズリダクション)

※デモザイク時の処理でノイズを減らしているのでAIノイズリダクションはRAWデータにしか適用出来ません(少なくとも現時点では)。


「画像エンジンがニューラルなんたらの処理を行って、、、」と書かれていたら、ここら辺りの話だと思ってください。




[補足:JPEG画像との違い]


RAWデータの作成は画像エンジンが行っていますが、言うまでもなくJPEG画像の作成こそがカメラの画像エンジンの主な仕事です。


そしてJPEG画像を作る際には


・モザイク状のモノクロ画像からベースとなるカラー画像(RAW画像)を作成して


・そのRAW画像に

 ー撮影情報の反映

 ーノイズリダクション

 ー周辺減光の補正

 ーレンズの歪曲収差の補正

 等の処理を行い


・そうして出来上がったカラー画像を

ーJPEG規格に沿った色深度8bitに変換

ーJPEG規格に沿った形で圧縮

ーExif規格に沿った形で撮影情報を添付

ーJPEG規格に合った形で画像データとして

 まとめあげ保存する


ということをしています。


お気づきでしょうか?

これらの処理はLightroom等のRAW現像ソフトも行っていますね?


要はカメラやRAW現像ソフトが

 ーデモザイク処理

 ー撮影情報の反映

 ーノイズリダクション

 ー周辺減光の補正

 ーレンズの歪曲収差の補正

 等の処理をそれぞれ独自に行っている

 ということです。


これらの処理は、料理で言えば「下ごしらえ」に相当すると思うのですが、残念なことにユーザーがコントロール出来る領域は限定的になります。

※当然RAW現像ソフトによって調整範囲は異なりますから「限定的」の程度もバラバラです。

なので「あのソフトでは◯◯が自由に出来るぞ」等の話はやめましょう。



つまり、

・カメラの画像エンジンによる処理

・RAW現像ソフトAによる処理

・RAW現像ソフトBによる処理

がある場合、


これらの結果

「最初に表示されるカラー画像」は

みんな違ったものになりますし、


「最初に表示されるカラー画像」が

表示された時点で

「本来のRAW現像処理」

は終わっています。


言ってみれば、そこから先は

「RAW現像の済んだRAW画像を使った

 画像編集作業」

ということになります。


RAW現像ソフトを使う際には、頭に置いておきましょう。




【まとめのようなもの】


あれこれ書いてきましたが、

「RAWデータの主役は

  モザイク状のモノクロ画像」

というのが一番のキーです。


そしてそれは豊かなグラデーション情報を持っていますから「優れた材料」ではあるのですが

・所詮モザイク状のモノクロ画像でしかない

・ノイズも取ってない

・各種の補正もされてない

・撮影情報も反映していない

という「不完全なモノ」です。


この材料に

・デモザイクによる綺麗なカラー画像合成

・ノイズリダクション

・各種の補正

・撮影情報の反映

といった「下ごしらえ」を施すことで

初めて

「自由度の高い画像編集のスタート地点」

 =「料理のスタート地点」に立てます。


なので下ごしらえが不十分なRAW画像というのは、非常に汚い画像になり得ます。


下ごしらえすらされてない材料そのものが「美味しい料理」であることは少ないのに似ていますね。

※ないとは言ってない


そして材料に含まれるものの量を調整することは出来ますが、「無い材料」や「使えない状態にされた材料」は使えません。


「ゴロゴロ野菜のカレー」を作るには

材料に野菜が必要ですが、


・そもそも材料に野菜が含まれてないとか


・野菜をみじん切りにしてしまったのでは


「ゴロゴロ野菜」は無理です。


料理を作る時は「どんな料理を作るか」をイメージしてから材料を仕込むじゃないですか。

RAW現像(料理)に慣れた人は

・どのように料理にするか

どんな風に材料を仕込んでおくか

考えながら撮っています


要は

「思った形に仕上げやすい状態の画像」

=「よりよい仕込み」にしておくこと

を考えます。


「後から何とでもなるから適当に撮っておけばいい」などと考える人は非常に少ないと思います。


これはいわゆる「撮って出し」とは工程も考え方も違います。


「どちらがいいのか」という優劣の話ではありません。

「異なるものである」ということですね。




【最後に】


木の性質を知らなくても

木工細工はできます。

でも、より楽しむためには木の性質は知っておいた方がいい。


クルマの仕組みは知らなくても

運転はできます。

でも、より楽しむためにはクルマの仕組みを知っておいた方がいい。


食材の性質など知らなくても

料理はできます。

でも、より楽しむためには食材の性質を知っておいた方がいい。


同じように

RAWデータの性質や仕組みを知らなくても

RAW現像や画像編集はできます。

でも、より楽しむには性質や仕組みを知っておいた方がいい。


そして

「それらの基礎概念をちゃんと把握できたらいいな」と思い、この解説を書きました。


より楽しく自分の思ったように画像編集を楽しむことに少しでも役に立てれば幸いです。


最後までお読み頂き

ありがとうございました。





【蛇足 ( ̄◇ ̄;)】


それを言ったらおしまいよー、という話を。


市販されているコンピューターディスプレイのほとんどは色深度8bitまでしか表示できません。

RAW画像の色深度14bitのグラデーションとか、実はちゃんとは表示できません。


JPEG画像で夕焼け空が等高線のように段々になったりするの(バンディング)は色深度が原因ではなく、画像が圧縮されていることに主因があります。


RAW画像は「豊かなグラデーション情報」を持っていますが、最終的に書き出す写真は色深度8bit×3色=256bit=約1670万色のJPEG画像です。


ということは、RAWデータ(≒RAW画像)が持つ「豊かなグラデーション情報」が役に立つのは、「いわゆるRAW現像(≒画像編集)の時だけ」ということです。


おわり!



参考資料:ChatGPT4との会話ログ・スクショ




閲覧数:22回0件のコメント

最新記事

すべて表示

Comments


bottom of page