LinuxでRAW画像ファイルを処理する

最近のデジタルカメラ画像について語るとき、周りの人々に自分をプロフェッショナルらしく見せる一番簡単な方法は、RAWファイルコンバータの欠如について不平を言うことである。「プロレベル」のデジタルカメラと一般コンシューマ向けの製品との差は画像をJPEGやTIFFではなくRAWフォーマットで保存できる機能にあるのだが、自分のカメラの仕様に率直に言及するのではなく、深いため息をつき、美しい作品を的確に編集できる申し分のないソフトウェアがなかなか見つからないことを嘆けばいいのだ。本稿では、Linuxとオープンソースソフトウェアを利用してRAWフォーマットの画像を処理する方法を説明しよう。

初心者にとっては、まず「RAW画像ファイル」という用語の意味を理解することが重要である。一般的に(個々の場面で)どのように使われようとも、RAWという用語はファイルフォーマットを示すものではない。むしろ、複数のハードウェアメーカーがそれぞれに管理している多数のファイルフォーマットを包括的に指す用語である。普通は大文字で表記されるが、これは多分「未加工の」という意味の一般的な形容詞“raw”と区別するための慣習だろう。

つまり、RAWとは何の処理も加えられていない画像ファイルフォーマットを指しており、RAWフォーマットにはデジタルカメラのCMOSセンサが捉えたデータが変更されずにそのまま含まれていることになる。だが実際には、デッドピクセル(正常に反応しないピクセル)の除去など、いくらかの処理が必ずカメラ内で行われている。とはいえ、こうしたRAWフォーマットに含まれているのは確かにビット数の高い測定値であり、圧縮されておらず、表示される画像を調整する目的で最終的に実施される白点補正などの変更処理のための再マッピングもまだ行われていない状態にある。

要するにこうしたすべての調整は、ノイズを減らしたり色あせや露出不足の領域にあるデータを復元したりする調整可能なアルゴリズムを駆使する対話的ソフトウェアを使えば、ユーザ側で行えるということだ。RAW画像そのものの調整だけでなく、RAWを標準のRGBフォーマットに変換するためのアルゴリズムも多数あり、それらは互いに競合関係にあるが、どのアルゴリズムが最も優れているかについての合意は得られていない。とにかくRAWフォーマットで画像をキャプチャしておけば、すべての変換アルゴリズムを試して評価できるわけだ。

完璧主義者なら誰でも承知しているが、原画像は必ず保存しておいて編集はそのコピーに対して行なうべきである。カメラが捉えたままの画像を表現しているのはRAWファイルである。そのため(RAWフォーマットではなく)JPEGまたはTIFFフォーマットでしかフラッシュメモリに写真を保存できないデジタルカメラはすべて、カメラが捉えたそのままの画像を棄ててそれよりも粗悪で劣化した画像をユーザに渡していることになるのだ。

議論を呼ぶファイル

RAWフォーマットそのものは各デジタルカメラメーカーに固有のものである。キヤノンでは現在、1世代前の.crw拡張子に代わって.cr2というフォーマットを使用している。ニコンは.nefを、ミノルタは.mrw、富士写真フィルムは.raf、ペンタックスは.pef、オリンパスは.orf、Hasselbladは.3frをそれぞれ使用している。伸長性の高いTIFFフォーマットのバリエーションに内部的に基づいたものが大半だが、これらはどれも独自仕様のフォーマットで、新機種が出るたびに変更される傾向があり、ほとんどは正式な文書化がなされていない。

カメラメーカーが生み出したものではないRAWフォーマットが2つある。.x3fフォーマットはチップメーカーのFoveonが同社の特殊な画像センサ用に開発したもので、SigmaおよびPolaroidが製造するカメラに採用されている。また2004年には、ソフトウェア企業の巨人Adobeが.dngという新たなRAWフォーマットの開発を進めていることを発表した。これは他のRAWフォーマットすべてに対する包括的フォーマットとして位置付けられる。同社はフリーのアプリケーションDNG Converterを提供しているが、今のところDNGの後継ツールは出ていない。多くの人々は、このDNGの動きはRAWフォーマットの市場にまだ参入していない欲深いソフトウェア会社が市場を乗っ取ろうとする見え透いた企みだと見ている。またデジタルSLR(一眼レフ)には実際に採用されていないことから、そうしたカメラを持つ人々のほとんどにとって、DNGはまた別の新たな(不必要な)中間フォーマットでしかない。

自由の道

幸いにして、デジタルカメラからRAWファイルをLinuxにインポートするのに特別な手順は必要ない。使っているカメラの機種に対応してさえいれば(新しい機種への対応には多少の時間がかかる)、gPhotoスイートのようなソフトウェアを使ってRAWフォーマットの画像をインポートできる。

GtkamはgPhotoを裏側で支えているライブラリlibgphoto2用の対話的フロントエンドで、使い方も簡単だ。USBケーブルでデジタルカメラに接続してGtkamを立ち上げると、デジタルカメラ内の画像を一覧できるリストが表示される。Gtkamの代わりにgphoto2というコマンドラインツールを使ってもよい。KDEはkioスレーブとしてlibgphoto2をサポートしており、カメラをファイルシステムに直接マウントできるようにlibgphoto2のFUSEによる実装まで提供している。

カメラからLinux PCにどのように画像を移すにせよ、実際に行われる作業はGIMP、CinePaint、Photoshopのような画像エディタで利用できるファイルフォーマットへの変換である。フリーソフトウェアではdcrawという有名なプレイヤーがあるが、これはほとんどの主要カメラメーカーのフォーマットに対応したコンパクトで高速なRAWファイルコンバータである。開発者のDave Coffin氏は、デジタルカメラの新機種が登場するとその対応作業に自らの時間を割き、そのメーカーが自社のツールやファームウェアをアップデートすると新しいフォーマットに合わせて実装の変更も行なっている。

dcrawはコマンドラインから使えるが、このdcrawを画像のインポートに利用する一方で幅広い調整ツールも提供する、ユーザにとってより馴染みやすいGUIツールであるUFRawについても触れておこう。UFRawはスタンドアロンのプログラムまたはGIMPのプラグインとして実行できるほか、対話性を排したバッチプロセッサとしても使える。GPLライセンスされているこのUFRawは、あなたのLinuxディストリビューションのパッケージ管理システムからでもおそらく入手可能なはずだ。それがだめなら、ソースコードをダウンロードして自分の手でコンパイルすることもできる。依存関係としては、基本機能ではGIMPやlibgimp、拡張機能ではLittleCMSやlibEXIFが含まれる。

UFRawを利用した、RAWファイルからの完全な画像の取得は、多数の要因に依存した主観的な処理になることが多い。UFRawには色管理、露出制御、白色補正、複数の補間アルゴリズム、個々のチャネルに対する緻密な制御など、RAWフォーマット向けの各種ワークフロー機能が含まれている。

GIMP内部からUFRawを呼び出した場合は、インポートの完了した画像がGIMPファイルとして開かれる。これはGIMP自体の色深度が8ビットに制限されているためである。スタンドアロンアプリケーションとしてのUFRawでは、8ビットまたは16ビットのPPM、同じく8ビットまたは16ビットのTIFF、もしくはJPEGの各フォーマットでの保存ができる。

しかし、難しそうだからという理由でUFRawを敬遠してはならない。UFRawでは、ホワイトバランスやRGBの意味がわからなくてもRAWファイルのインポートやフォーマット変換ができるのだ。またヒストグラムや補正曲線は直観的でわかりやすく、操作の結果はすぐさまプレビューウィンドウに反映される。そのため、自由に設定を変えながら結果を確認することができる。実際、これが経験を積むための唯一の方法だ。

その他のツール

個人的に使い慣れているのはUFRawだが、dcrawの機能上に構築された類似のオープンソースプロジェクトRawstudioについても説明しておこう。Rawstudioは比較的新しいプロジェクト(設立は今年の前半)だが、UFRawと同じ機能を多数提供している。ただし、まだ日が浅いこともあって、Rawstudioの新しいリリース版はソースコードのtarballでしか入手できない。

フリーソフトウェアのツール以外にも、Linux用の独占的ソフトウェアが利用できる。Bibble LabsはBibble LiteとBibble Proの両ツールをLinuxのほか、Mac OS X、Windows PC向けに提供している。BibbleはMac OS XとWindowsの両プラットフォームでは非常に注目度の高いRAWコンバータであり、ApertureやPhotoshopといった高価なツールとよく比較される。シェアウェアであるBibbleの価格は、Liteは70ドル、Proは130ドルとなっている。また、無料ではあるがソースが公開されていないものとして、Light Craftsが手がけているJavaアプリケーションのLightZoneがある。さらに、GoogleのPicasaもRAWファイルをサポートしているが、当然、その画像編集機能は十分とは言えない。

ツールを選ぶときに重要になるのは、どのRAWコンバータを使えば最も良い画像が得られるかだろう。だが、この議論をしても結論は出ない。当事者であるソフトウェア会社は(当然)偏った見方をしているし、独占的ソフトウェアを愛用する写真家はRAWファイルのインポート機能を持つ主要な商用ソフトウェアのアップデート内容を目にするたびに批評を繰り返すので、この問題で合意が得られることはない。各アプリケーションにはそれぞれに優れた領域があるが、すべてに秀でた究極のアプリケーションは存在しない。したがって、プロの写真家もどれが一番なのかを明言できないのだ。

dcrawとその派生ツールを使えば、MacやWindowsマシン上で見られるのと遜色ない優れた結果が得られる。Linuxの場合は少ないとはいえ、RAWフォーマットをネイティブサポートするツールの選択肢は確かに存在する。とにかく、RAWファイル対応の優れたツールを果てしなく探し求めながら、がっかりしたり嘆いたりできるという状況も悪くはないのではなかろうか。

OpenRAW

多くの写真家は、独自仕様で文書化されておらず互換性のないRAWフォーマットが過剰に存在することを多大な迷惑と感じている。そうした中でOpenRAWプロジェクトは、カメラメーカーに自社フォーマットの仕様を完全公開するように働きかけ、写真家や画像編集アプリケーションに携わるプログラマの仕事を楽にするための活動を進めている。

NewsForge.com 原文