省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

ART の機能解説: レンズ歪曲を補正する2つのモジュールの関係

f:id:yasuo_ssi:20210904211415j:plain

 ART には、レンズのジオメトリック (幾何学的) な歪曲補正の調整項目として、レンズ補正プロファイルを使った歪曲補正と、それとは別に歪曲収差補正というモジュールがあります。デフォルトではレンズ補正プロファイルのジオメトリックな歪曲補正が自動で掛かっていて、歪曲収差補正はオフになっている状態かと思います (下図)。

レンズの歪曲を補正するダイアログ

 この2つのモジュールの関係はどのようになっているのでしょうか?

 まず、レンズ補正プロファイルモジュールですが、これは lensfun のデータベースにあるレンズプロファイルを基にレンズの歪曲を補正するプロファイルです。Raw ファイルに撮影したレンズの型番に関するメタデータが記録されており、そのレンズが lensfun データベースにあれば通常自動でジオメトリック (幾何学的歪曲) 補正、および周辺光量補正が適用されます。

 但し、レンズが新製品などで、lensfun のデータベースにない場合、あるいはフィルムカメラ用のレンズを転用していて、Raw ファイルのメタデータに撮影したレンズの型番が記録されていない場合は、当然ながら自動適用されません。

 Raw ファイルに記録されていない場合は、データベースから手動選択すればよいですが、そもそも lensfun のデータベースにない場合は次の2つの方法を取ります。1) Adobe の lcp ファイルを流用する、2) 歪曲収差補正モジュールを使って手動で補正する。

 1) の lcp ファイルですが、Adobe の Camera Raw、あるいは無料で配布されている DNG コンバーターに付属しています。これを読み込ませて補正できます。但し、lcp ファイルにもそのレンズがない場合は、2) の方法をとるしかありません。

 次に歪曲収差補正モジュールですが、おおむね自明だとは思いますが、スライダーを動かすとマニュアルでレンズの幾何学的歪曲が補正できます。特にフィルムカメラ用のレンズを使った場合、レンズの型がRawファイルに記録されず、当然 Raw のプレビューイメージにも歪曲補正が適用されず、かつ lensfun にデータがなく lcp ファイルも存在しない場合が多いので、レンズ補正プロファイルモジュールのジオメトリック補正では対応できず、こちらのモジュールを使ってマニュアルで補正するしかありません。

 問題は [自動] というボタンがありますが、これは何でしょうか?

歪曲収差補正の [自動] ボタン

 ツールチップにもありますが、Rawファイルに含まれる Jpeg プレビュー画像に適用されたカメラによる自動歪曲補正を基に、歪曲補正を掛ける機能です。但し、この機能は通常 lensfun のデータがあれば適用する必要はありません。lensfun のデータによる補正が掛かっているのにこの機能をオンにすると、2重に補正が掛かってしまい、通常は、過剰補正になってしまいます。このためデフォルトでは、歪曲収差補正はオフになっています。

 では、自動ボタンが有効な場合は何かというと、新製品レンズなどは、lensfun データもなく、lcp ファイルも用意されていない場合でも、カメラ内で現像されたプレビュー画像では自動的に歪曲補正が適用されている場合があります。このような場合、Raw ファイルのプレビュー画像を基に、歪曲補正値を自動計算して歪曲補正が可能になります。

 

・マイクロ 4/3 および一部デジタル補正を前提としたレンズにおける注意

 もともと、フィルム時代のカメラレンズでは、フィルムに焼き付けられた画像が最終結果ですので、あらゆるレンズの収差をいかに光学的に補正するかが課題でした。そのため、収差が良く補正されたレンズは構造も複雑になり、重量も重くなることが普通です。そのためいわゆる「大三元」レンズがもてはやされました。

 しかし、デジタルカメラが大半になってくると違うアプローチが可能になります。解像度だけは光学的に追及する必要がありますが、それ以外の収差は、ソフトウェア (数学) 的に補正するというアプローチです。

 過去、カメラ業界はソフトウェア的アプローチよりもやはり光学的補正を追求すべきなのではないか、と迷ってきましたが、近年に至り、ソフトウェア的な解決の方向に大きく踏み出してきました。さらに、光学ファインダーが主流の時代はF値の明るいレンズの優位性がありましたが、ミラーレスが主流になると電子ファインダーになりますので、レンズの F値が明るい優位性も下がってきます。さらに、ボケもソフトウェア的に作り出す、というようなアプローチが出てくれば、ますます「大三元」レンズの実用的な必要性は下がってきます。

 それはともかく、4/3 および マイクロ 4/3 陣営は早くからこのようなソフトウェア的アプローチの方向を追求しており、Raw ファイルに使ったレンズの補正データを記録するためのメタデータの規格を共通化しています。これにより、他社のレンズを使ったとしても、歪曲等が補正されたカメラ内現像が可能になり、また Rawファイルにも使ったレンズの補正データが正しく記録されるようにしています。但し、注意しなければならないのは、Raw ファイルの場合、補正された画像データが記録されるのではなく、レンズ補正のメタデータが記録されるだけだ、という点です。Raw 画像データ自体はレンズの歪曲が反映したまま記録されます。

 これを純正ソフトを使って現像する場合、ソフトが Raw ファイルに含まれるメタデータから補正データを読み込み、自動的に補正して現像します。これは純正ソフトではない、Adobe Camera Raw や Lightroom も同様です。このため、Adobe の提供する lcp ファイルには、4/3 およびマイクロ 4/3陣営のレンズが含まれていません。

 ところが、ART や darktable、RawTherapee といったフリーの Raw 現像ソフトは、現状では、これらのカメラの Raw ファイルに含まれるレンズ補正のためのメタデータを直接読み込めず、基本的に lensfun データに依存しているので、lensfun にデータがないとレンズ歪曲のデータに基づいた自動補正ができません。ART や RawTherapee は lcp ファイルも読めますが、Adobe は マイクロ 4/3 の lcp ファイルを提供していないのでこの点でも問題になります。もちろん、この点は歪曲収差補正の自動補正を使えば、プレビューイメージから補正が可能になるので、大きな問題ではないとは言えるのですが。

 この点は富士フィルムのカメラも同様のようで、Adobe富士フィルムのレンズに関しては、ごく僅かのレンズの lcp ファイルしか提供していません。また、今後、レンズのソフトウェア補正が常識になっていくと同様なアプローチを他のカメラメーカーも採用していく可能性が高いです。

 lensfun のデータはボランティアで維持されているので、新しいレンズに関しては対応が遅れがちで、かつこれらの陣営のレンズには lcp ファイルも提供されません。いわばこのような場合の対策として、歪曲収差補正の、[自動] 適用ボタンがあると言えます。

 なお、darktable では Raw ファイルから直接レンズ補正用メタデータを読むモジュールの試作が行われていますが*1、現状ではメインに取り込まれていません。これらの補正データは Exif メタデータとして保存されているようですが、その意味についてはデータが公開されておらず解明に苦労しているようです。マイクロ 4/3 陣営とライセンス契約を結べば、情報提供が得られるとは思いますが、このあたりはフリーソフトの苦しい点です。但し、darktable は 4.2.0 以降で、一部カメラについて Raw ファイルからのレンズ補正データを実装しています。しかし、富士フィルムの Raw ファイルについては、ネットの情報によれば、対応しているようですが、Olympus 機については、自分で確認したところ対応していませんでした。おそらく他のマイクロ 4/3 陣営に関しても同様と思われます。

*1:例えば

github.com