*10/12/08追記:D7000のRAWをRawshooterで開く方法をアップしております。
あわせてご参照ください。
以前、って、もう2年近く前の事ですが、
このブログで、「RawShooterを延命する方法」と題して、
新しいデジカメのRAWファイルを、
古いRAW展開ソフト「RawShooter」で開く方法を採り上げました。
以来、今でも、RawShooterを検索値とするアクセスが多く、
「軽くて品質が良い」と評判だったこのソフトを、
今でも使いたいと思っている人が多い事が伺えます。
で、そのエントリを自分で読みながら、非常に今更なんですが
書き足りないかな、あるいは書き足した方がいいかな、
と思う事がいくつかあったので、改めて取り上げてみたいと思います。
■「Adobe DNG Converter」最新版に対応させる
僕が前回のエントリをあげたのは2008年3月の事。
当時、Adobe DNG Converterのヴァージョンは4.3.1でした。
その後、新しいデジカメが発売されると共に、
何度もヴァージョンアップを繰り返し、
今では5.6になっていたようです。
しかし、その5.6をダウンロードしてファイルを変換してみたところ、
それまでの方法でファイルを開く事が出来ませんでした。
なんでだろ、と思って、同じRAW(D80なのでNEF)ファイルを、
Ver4.3.1とVer5.6、両方でDNG変換してみたところ、
明らかにファイルサイズが異なり
(あるNEFファイルでは、4.3.1では20MB、5.6では8MBでした)、
はき出されるDNGの仕様が異なっている事が分かりました。
そこで、改めて双方のDNGを、
バイナリエディタで開いて見比べてみます。
※ここでは、定番バイナリエディタ「Stirling」を使ってみる事にします。
まず、4.3.1で変換したDNGのバイナリを覗いてみると、
この辺り↓に「D80」という文字を見ることが出来ます。
一方、5.6で変換した方だと、ここ↓にあります。
DNGPatchでは、ここに書いてある機種名を、
RawShooterで読み込める古いデジイチの機種名に書き換える事で、
「機種偽装」して読み込ませる、というのが根本的な考え方です。
Nikon D80の場合、「D80」の真ん中の数字を「7」に、
すなわち「D70」に見せかけるようにしています。
※D80は1000万画素機種ですから、
ほぼ同じスペックのD200の方が良さそうなもんですが、
機種名と画素数は関連性がない事、
また、文字数が違う事からちと面倒である事もあり、
D70への偽装、となっています。
DNGPatchで、「その文字を、こう書き換えろ」という指示をするには、
「dngpatch.exe」が入っているフォルダの中にある
「settings.xml」をテキストエディタで開き、
書き換える、ないしは書き足す事で編集が可能です。
以下、実例です。
青で囲ったのは、4.3.1で読み込むための設定。
赤で囲ったのは、5.6で読み込むための設定。
文字にするとこうなります。
<body>
<Description>Kennzeichne als Nikon D70</Description>
<Name>Nikon D80(4.3.1)</Name>
<NewString>7</NewString>
<Offset>513</Offset>
<WriteTailingNull>No</WriteTailingNull>
</body>
<body>
<Description>Kennzeichne als Nikon D70</Description>
<Name>Nikon D80(5.6)</Name>
<NewString>7</NewString>
<Offset>669</Offset>
<WriteTailingNull>No</WriteTailingNull>
</body>
Descriptionは、特に動作上の意味はなさそうなんですが、
「何の機種に偽装しようとしています」という宣言みたいなもんです。
Nameは、プルダウンで機種名を選ぶときに表示されるものですから、
自分が分かりやすいように記入しておきます
(この場合、同じD80でも、DNG Converterのヴァージョンが違うよ、
という事を書き記してあります)
NewStringが、先ほど説明した「8を7に書き換える」の部分で、
何に書き換えるかを書くので「7」としています。
そして、これを間違えてはいけないのが、
Offsetの部分で、これは、バイナリのアドレスが、
10進数で何番目になるか、を指定する部分です。
バイナリエディタで、「D80」の中の「8」の数字の部分にカーソルをあわせ、
「検索・移動」メニューから「指定アドレスへ移動」を開きます。
最初は16進数となっているので、それを10進数にしてやると、
「現在のアドレス」として513(4.3.1)や、669(5.6)と表示されます。
Ver4.3.1で変換したDNGの「8」があるアドレス
Ver5.6で変換したDNGの「8」があるアドレス
この、513や669というのがアドレスになるので、
これをOffsetに指定してやるわけです。
今後、DNG Converterのアップデートにより、
更に仕様が変わる可能性もありますので、
その度毎に、こうしてsettings.xmlを書き換えるようにしましょう。
※書き換える時に、元々のxmlのバックアップを、念のために取っておく習慣をつけておきましょう。
■最新機種をRawShooterに適用させる
この論理で、最新のデジイチ(じゃなくてもいいけど)のRAWファイルを、
DNGPatchで書き換えるためのセッティングを用意してみましょう。
例えば、「Olympus PEN E-P1」のRAW(ORF)ファイルを、
RawShooterで読み込むための、DNGPatchの設定をしようとすると、
以下のようになります。
<body>
<Description>Kennzeichne als Olympus E-500</Description>
<Name>Olympus PEN E-P1</Name>
<NewString>500</NewString>
<Offset>752</Offset>
<WriteTailingNull>No</WriteTailingNull>
</body>
この場合、RawShooterに対しては、
「これはE-500で撮ったRAWです」と偽装させる必要があるので、
10進数アドレスの752からの文字列を「500」に書き換えろ、
という意味になります。
他の機種でも方法論は同じなので、
最新のデジイチをRawShooterで読み込めるようになる可能性があります。
■偽装する機種を変える
これはちょっと応用編なのですが、
そもそも、DNGPatchをダウンロードした時点では、
上記のsettings.xmlファイルでは、
「K10DはEOS 350D(日本名「kiss Digital N」)に偽装」、
となっています。
でも、この方法でRawShooterで読み込ませた画像って、
なんかPENTAXらしくない印象がありました。
なので、いまいちK10Dの写りに馴染めませんでした。
ところが、ちょっと試しに、偽装する機種を*ist Dsにするよう、
構文を書き換えてみました。
するとどうでしょう、RawShooterで読み込んだ時に表示される画像が、
PENTAXっぽい感じの色合いに変わるではないですか!
どうも、RawShooter側で、メーカーや機種によって、
異なるアルゴリズムでデフォルトの色、明るさなどが変わってくるようです。
この理屈を逆に適用すると、
Nikonで撮った写真を、あえてCanonの機種名に書き換える事で
RawShooterに、いつもと異なる挙動をさせる、
なんて事も可能かもしれません。
僕は試したことがないですが、興味のある方はどうぞ(他力本願)
■リンクを直しました
前回のエントリの際、
DNGPatchへ貼っていたリンクが正常に繋がっていなかったので、
書き換えました。
英語版のページへの直リンは向こうだったので、
ドイツ語版か英語版かを選択するページへのリンクです。
DNGPatchのアップデート自体は終了している(休止している?)ようなので、
もし、最新のデジイチでRawShooterを使いたい、
あるいはAdobe DNG Converterのアップデートに適応させたい、
と思った場合は、このエントリに書いた方法で各自工夫してみて下さい。
ごっさんは、目下は*ist DsとD80を
(デジイチの)メインカメラとして使っていますが、
ゆくゆくは、K-7ないしK-x、PEN E-P1あたりを導入したいなぁ、と思っています。
今のところ、まだこれらの方法でRawShooterに対応させる事は可能なようです
(今回、E-P1のRAWで試しにやってみたら大丈夫だったんで、正直驚き)。
ただ、例えばK-7の場合、
本体自身でRAW→JPEGへの書き出しができる
(しかも、いろいろ設定を変えたり、その設定を複数のRAWに適応させる事もできる)事から、
やがては、RawShooterに頼らなくてもいい時代がくるのかもしれないな、
と思っています。
その頃までは、しばらくこんな感じで対応させていくことにしましょう。
※素直にLightroomを導入しろ、って声が聞こえてきそう(汗
最近のコメント