RAFファイルのRawデータを読み取ってみる

since:2014-7-21
last update:2014-7-21
次のページへ




0、いきさつ

 天体関連の撮影データの処理にはRaw画像を処理することがほぼ必須です。
 これを実現するために非圧縮DNGベースでのダーク減算やフラットフィールディングを行なう RStackerを開発していました。
 利便性を向上するためにキヤノン製デジタルカメラのRAWフォーマットであるCR2形式に暫定対応させましたが、 今回、これに加えて富士フィルム製デジタルカメラのRaw画像形式であるRAF形式ファイルから 直接処理する機能を実装しました。
 このドキュメントは、この実装に際して得られたRAF形式のデコードを行なう方法を 実際の例を交えながら記述したものです。

0.1 免責事項

このドキュメントに記載されている事項はすべて無保証ですので、取り扱いは自己責任でお願いします。

1、Raw画像形式とは

 Raw画像形式とは、デジタルカメラのセンサーが得た情報をそのまま記録した画像形式です。
 デジタル写真向けの画像形式としてもっとも普及しているJPEG形式はRGB各8bitの階調、すなわち0から255の値を保持できますが、 デジタルカメラのセンサーの多くはそれを上回る12bit(0から4095)や14bit(0から16383)の階調で取り込む能力があります。
 このためデジタルカメラのセンサー情報をJPEGに変換するということは、センサーから得た情報の多くを切り捨てていることになります。
このことはコントラストや色調変更等の後処理を行う場合に、センサーからの情報がある場合に比べて出来栄えが不利になります。

 また、CMOSにせよCCDにせよセンサーの波長に対する感度領域は紫外領域から赤外領域まで広がっているため、 単純なひとつのセンサーでは色を識別することができません。 そのため、現時点(2014年)のデジタルカメラのほとんどは(狭義の)センサーの前に、ベイヤー配列と呼ばれる並びでカラーフィルタを実装しています。
実際に人間が識別可能な画像に変換するときは、このカラーフィルタの配列を元に、各色を補完して処理しています。 しかしホットピクセル等除去に代表されるいくつかの処理は、補完した後では厳密にできなくなるため、Raw画像形式での処理が有効となります。

1.1 Raw画像形式の種類

主なRaw画像形式は以下のようなものがあります。

主なRaw画像形式
策定者主な形式備考
キヤノンCR2
ニコンNEF
ソニーARW
富士フィルムRAF
AdobeDNG仕様が公開されている。

1.2 RAF形式

 RAF形式は、他のメーカー主導のRaw画像形式と同様に、その仕様が公開されていません。
 そのため、その内容は有志による無保証の解析結果に頼ることになります。
 今回以下のサイトから情報を収集しました。

libopenraw/Fuji RAF

Fujifilm Tags

上記以外に、仕様が公開されているいくつかの情報が必要です。

まずRAF形式の一部はTIFF形式となっているためTIFFの理解が必要です。
以下のAdobeのサイトに仕様書があります。
http://partners.adobe.com/public/developer/tiff/index.html

TIFFは普及しているフォーマットなので、上記以外にも日本語での解説サイトがいくつかあります。

参考:有用なツール

RAFファイルの解析を行なうにあたり有用なツールを以下に記載します。
このドキュメントも以下のツールを使用して記述しています。

JpegAnalyzer Plus
 JPEG形式やTIFF形式をパースして情報を表示してくれます。RAF形式もパースして情報を表示してくれます。

ExifTool
 Exif情報を中心に各種情報を表示できます。RAF固有の情報もかなり表示してくれます。

Stirling
 バイナリーエディタです。使いやすいバイナリーエディタであれば何でも良いです。

Adobe DNG Converter
 非圧縮でRawデータを書き出せますので、実行結果の照合する際に有用です。


次ページ:解説の概要/RAFの構造の概要

[1] [2] [3] [4] [5] [6]  次のページ