Time LapseのためのRAW Deflicker & Rampソリューション | Nature | Photography | Music | Art

Nature | Photography | Music | Art

日々好奇心の趣くまま

サイト内の写真の使用ならびに無断転用を禁じます。

以下、TimeLapse限定の非常にテクニカルな話題で、ほぼ個人の備忘録のつもりでまとめたのですが、誰かの役に立つかもしれないのでとりあえず。

Time Lapse撮影に必ずついてくる厄介な現象、フリッカー。
特に日の出、日の入の明るさの変化する時間の撮影はフリッカー対策がすべてといっても過言ではないほど。

ずいぶん以前にこんなavisynthを使ったソリューションを紹介しましたが、これはあくまでもtiffやjpgシーケンスに落としたものにdeflickerをかけるため劣化が避けられず、よりよいソリューションをずっと物色していました。

そしてMagicLantern(以降ML)のフォーラムで現状最強とも思われるスクリプトを発見、非常に有用なのでご紹介します。ただしAdobe Bridge(以降Bridge)+Adobe Camera Raw CS5.0以上(以降ACR)の環境限定のようですが。

実際、先日作成した奄美のTimeLapseでもこのスクリプトを使用してかなりの効果を得ることができました。

入手先や情報は以下。

ダウンロード

Forum

何はともあれ使用前・使用後のサンプルを作ってみました。以前と同じ素材で。



ほぼ完全にフリッカーが消滅、なおかつ劣化が極めて少ないことがお分かりになるかと思います。

このツールが目指しているのは、より自由度の高いRAW段階でDeflickerや各種パラメータのRamp処理を行うということで、そのことによって劣化がより少ないまま後工程に映像を渡すことができます。

なぜそんなことが可能になるかという鍵はxmpというファイルにあります。
このxmpファイル、今まではACRを弄ったときにできる中間ファイル程度にしか考えていませんでしたが、中身を理解するとアイデアしだいでいろいろな可能性を秘めたファイルだということが分かりました。
xmpとはACRが(たぶんLightRoomも?使ってないのでわかりませんが。)RAW編集の際に吐き出すxmlデータファイルで、各RAWファイルにひとつづつ同名のxmpが同じディレクトリに作成されます。
内容は一般的なxmlファイルなんですが、要はACRで編集した内容をRAWファイル本体ではなくこのファイルに記録するわけです。

そしてこのスクリプトはxmpファイルの項目の中で、crs:Exposure)(CS5.xまで)もしくはcrs:Exposure2012(CS6以降)プロパティの値を増減させることによって、全体の露出補正を微調整、その結果deflicker処理ができるわけです。要は凸凹な道を平らに均すイメージ。

そもそもこの手法を初めて知ったのはLRTimelapseというソフトで、そのDeflicker機能がxmpのExposureを調整するやり方を採用していて、初めて知ったときには「こんなdeflickerのやりかたがあるんだ!」と目から鱗状態。。

しかしながら、このソフトのDeflicker機能はシーケンス途中でシャッタースピードや絞りやISOが変わると対応できないようで、結局採用に至りませんでした。
最もフリッカーが起こるのは朝日と夕日の時で、その際このあたりの設定を変えずに撮影するのはほぼ不可能なので。

そんな経緯で、仕方なくxmpを調整できる環境を自作するしかないか…と思って方法論をググっていた際に上述のMLのフォーラムのスクリプトをたまたま見付けて試した結果、非常に良好なdeflicker(及びRamp)処理が可能だということが分かりました。

以上が長い前置きで…

このスクリプト、Bridge用のJavaScriptで書かれており、非常に分かりやすいコードなので、スキルのある方ならカスタマイズすることもできるかと思います。 実際、このコードを読んでいろいろ勉強になりました。

インストール方法はリンクに書いてある通りなので省略して、使用方法のツボなどを自身の備忘録を兼ねて書いておきます。

このスクリプトをインストールするとBridgeの右クリックで以下のようにRamp, Ramp Multiple, Deflicker.....といくつかのメニューが追加されます。このうちよく使うのはRampとDeflickerだと思うのでそこを重点的に。Ramp Mulitipleはまだ使いこなせてません(…というか今後も個人的には使わないと思う)。

いずれの作業の前にも処理すべきRAWファイルを一括ACRを弄って(たとえばcontrastとかの設定をちょっとずらすとか)xmpを生成しておく必要があるようです。
その後、処理したいRAWファイルをすべて選択して右クリック+上記のメニューを選ぶ形になります。



ACRのほかの調整、トーンカーブやら色温度やら云々はRamp,Deflickerの先でも後でもいいようですが、事前にあまり大胆に設定を弄るとDeflickerが収束せず終了しないこともよくあります。

以下、各機能の説明。間違っているかもしれませんが。

[Ramp]

本家のサイトでは「より賢いSynchronizeだ」と書いてありますが、ACRのある設定値を始まり(Start)と終わり(End)の値を指定してRamp(すなわち直線的にに値を変化させる)処理をすることができます。




Additiveはおそらく差分を入力するもの(?あまりつかってないのでわからず)
環境がCS5.xならばUse PV2010をチェック、それより新しければノーチェック。これはCS6からいくつかのプロパティの仕様が変わったのが理由っぽいです。

設定パラメータは多数サポートされていますが、おそらく実際使用するのは高々Exposure(2012)とかTemperatureとか限られた種類のパラメータのみでしょう。



また、Rampはパラメータを単に機械的に線形変化させるだけの機能なので、deflickerは行われません。

[Deflicker]

これがこのスクリプトの白眉の部分。

まずはキーフレームの設定。Exposureの基準となるフレームを幾つか決めておいて、それらのExposureをそれぞれ調整してキーフレームとする。
最初と終わりのフレームは強制的にキーフレームとして扱われるが、必要であれば、途中のRAWファイルに事前に星ひとつをLabelにしておくとキーフレームとして扱われる。キーフレームはそのフレームのExposureは変化せず、ひとつ前のキーフレームのExposureからここのExposure目指してスムージングが行われる。以下同様の繰り返し。

メニューを選ぶと以下のようなダイアログが出る。以下がメニューの説明。




まずPercentile

Percentとは違う。日本では特殊な職業の人以外は使わない用語だが、欧米では普通に使うらしい。
ここでは、Histogram Matchingという手法が使われていて、グレースケールにした画像のヒストグラムの暗いほうから70番目(実際にはピクセル数は100個ではないので、それに比例した値)のピクセル値と期待値(つまりキーフレーム間を線形補間した値)の誤差が一定以下になるように繰り返し各RAWファイルのExposureの微調整を行う。
70という値はだいたい空の明るい部分になり、そのあたりは最もフリッカーが顕著な領域なので、あまり動かす必要はないと思う。空のない画像や暗い画像とかの場合は調整がいるかもしれない。

Analysis Sizeは高速化のため、RAWデータそのものではなく、逐次RAWと現状のxmpからサムネールを作ってヒストグラムの比較を行うため、そのサイズ。これもデフォルトで問題ないはず。

Analysis Crop、ヒストグラム計算を行う部分の矩形を縦横それぞれパーセント幅で指定。これは重要。一般的には空の明るい部分とかあまり明るさの変化しない部分でフリッカーの出やすい部分を指定してやるとうまく行く。

Max Iterations: これは上のExposureの値の調整を何回繰り返すかの指定。すべてのフレームが上述の誤差に収まればそれ以前でも終了する。
本家サイトでは3回程度で十分とかいてあるが、少なくとも5,6回、ヘタをすると100回でも終了しない時もあるので大きい目に設定しておいた方が二度手間が少ない。
終了しないときはPercentile調整や、ACRの設定(カーブとかコントラスト)を地味目にする、Rampを事前に行うなどを試してみる。

Use PV2010: Rampと同様

Save data in....: よくわからない。使ったことがない。

Preview: これを押すとCropの範囲と最初のフレームのPercentileに該当する部分が赤で表示される。非常に便利。
要はここで赤になる部分とフリッカーの多い部分が一致している必要がある。

以上でOKを押すと計算が始まる。枚数にもよるが、早くて1分ほど、長いと繰り返しが多く発生するため30分かそれ以上かかることもある。
一度処理をすると結構不安定になるので、一旦Bridgeを再起動したほうがいいみたい。

処理が終了すればACRでtiffシーケンスを書き出すなり、AEで直接RAWシーケンスを読み込むなりすれば出来上がり。

以上が使い方です。

話は変わって、このスクリプトの出元であるMagicLanterのForum、本当に凄い人々が集結しています。内容もEOSやMLのことを超えてより一般的な技術事項に関する高度なディスカッションも数多く行われており、ヘタなカメラ情報サイトを見ている暇があれば、ここを熟読した方がずっと勉強になると思う。

もちろんテクニカル面という話ですが。

以上ご参考になれば。