1.Pixel5, 4a(5G)のHDR+をブラケット撮影で改良(2/2)まとめ
・バースト撮影ではショットノイズの影響は減らせるが読み取りノイズは増加する
・ブラケット撮影でハイライト保護とノイズ削減を両立させる事が可能になった
・工夫により元のHDR+よりエラー耐性を高め40%高速に画像を併合可能になった
2.HDR+でのブラケット撮影
以下、ai.googleblog.comより「HDR+ with Bracketing on Pixel Phones」の意訳です。元記事の投稿は2021年4月23日、Manfred ErnstさんとBartlomiej Wronskiさんによる投稿です。
アイキャッチ画像のクレジットはPhoto by Diana Polekhina on Unsplash
これが、連続撮影写真(バースト撮影)を使用して総ノイズを減らすことが、単純に長時間の露出を行ってノイズを減らす事より効率的にならない理由です。
複数のフレームを取得すると、ショットノイズの影響は減らすことができますが、読み取りノイズが増加してしまいます。バースト撮影で全体的なノイズを減らすことは可能ですが、効率は低下します。
長時間露光をN回の短い露光に分割すると、読み取りノイズが追加されるため、最終画像の信号対ノイズ比(ratio of signal to noise)は低くなります。
この場合、1回の長時間露光相当の信号対雑音比に戻すには、\(N^2\)の短時間露光フレームを併合する必要があります。
以下の例では、長時間露光を12回の短時間露光に分割した場合、シャドウの信号対ノイズ比に一致するように144(12×12)枚もの短いフレームを撮影する必要があります!
この多数のフレームの撮影と処理には、従来よりはるかに時間がかかります。バースト写真の撮影と処理には1分以上かかり、ユーザー体験が低下する可能性があります。代わりに、ブラケット撮影を使用すると、ハイライト保護とノイズ削減を両立させる、短時間露光と長時間露光の両方の利点を使った撮影が可能になります。
左:夜間撮影用のナイトサイトモードで撮影した12枚の短時間露光フレームを併合した結果
右:バーストモードで撮影した個々のフレームより露出時間を12倍長くした単一のフレーム
露出時間が長くなると、影部分のノイズは大幅に少なくなりますが、ハイライト部分が犠牲になります。
ブラケット撮影を使った解決策
当初、ブラケット撮影を実現する際に解決しなければならない課題があったため、元のHDR+システムではブラケットは使用できませんでしたが、それ以降の段階的な改善と最近の集中的な取り組みにより、カメラアプリでブラケット撮影が可能になりました。
まず、HDR+にブラケットを追加するには、撮影戦略を再設計する必要がありました。Pixl搭載カメラを使った撮影は、Pixelでの高速撮影体験を支えるゼロシャッターラグ(ZSL:Zero Shutter Lag)によって複雑になります。
ZSLでは、シャッターを押す前にファインダーに表示されているフレームは、HDR+バースト写真を併合させる際に実際に使用するフレームです。
ブラケット撮影を実現するためには、長時間露光フレームを撮影する必要がありますが、これはファインダーに表示されていなかったフレームであり、シャッターを押した後に撮影しなければなりません。なお、長時間露光に対応するためにシャッターを押した後、カメラを0.5秒間静止させたままにしておくと、通常レベルの手ブレが発生していても画質を向上させることができます。
通常時の撮影戦略
上:元のHDR+手法は、シャッターを押す前から短い露出を捕捉しています。この例では6枚です。
下:ブラケット撮影付きHDR+は、シャッターを押す前の5回の短時間露光と、シャッターを押した後の1回の長時間露光を撮影します。
ナイトサイトモードの場合、撮影戦略はビューファインダーによって制約されません。ビューファインダーが停止しているときにシャッターを押した後に全てのフレームが撮影されるため、このモードでは長時間露光フレームのキャプチャに簡単に対応できます。この場合、ノイズを更に減らすために3回の長時間露光を撮影しています。
ナイトサイトモードの撮影戦略
上:元のナイトサイトモードでは15枚の短い露出フレームを撮影しました。
下:ブラケット撮影付きのナイトサイトでは、12回の短い露出と3回の長い露出を撮影します。
併合アルゴリズム
ブラケット撮影結果を1枚の写真に併合する時は、ハイライト部分が消えたり、動きのある部分がぼやけたり(モーションブラー)しないように、参照フレームとして短いフレームの1つを選択します。
他の全てのフレームは、併合される前にこの参照フレームと位置合わせを行います。これには課題があります。複雑に動いている風景や、視点が遮蔽されている領域が存在する場合、正確に一致する領域を見つけることは不可能であり、こういったケースでは、ナイーブマージアルゴリズム(naïve merge algorithm)は、写真内に人工的な歪み(ゴースト)を生成してしまいます。
左:ゴースト除去が無効になっている場合、移動する人物のシルエットの周囲にゴーストアーティファクトが表示されます。
右:ロバストマージ(Robust merging)により、きれいな画像が生成されます。
これに対処するために、Super Res Zoomに使用されるものと同様の新しい空間マージアルゴリズムを設計しました。これは、画像コンテンツを併合するかどうかを画素毎に決定します。
このゴースト除去処理は、露出が異なるフレーム間ではより複雑になります。長時間露光フレームには、様々なノイズ特性、白抜きされたハイライト、および様々な量のモーションブラーが存在し、短時間露光で撮影した参照フレームとの比較がより困難になります。
更に、ブラケット撮影を行うと、これらのエラーを目立たなくさせていたノイズが減少するため、ゴーストがより目立つようになります。
これらの課題にもかかわらず、私たちのアルゴリズムは、元のHDR+やSuperRes Zoomと同じくらいこれらの問題に対して堅牢であり、ゴーストを生成しません。同時に、従来手法よりも40%高速に画像を併合します。
写真併合処理の早い段階でRAW画像を併合するため、残りの処理とHDR+の内部構成と外観を変更せずに、これらすべての利点を実現することができました。そのため、計算生画像(computational RAW images)の使用を好むユーザーは、これらの画質とパフォーマンスの向上を利用できます。
Pixelのブラケット撮影
ブラケット撮影付きのHDR+は、Pixel 4a(5G)とPixel 5のユーザーがデフォルトのカメラで使用できるほか、ナイトサイトモードとポートレートモードでも使用できます。Pixel 4および4aのユーザーの場合、Googleカメラアプリのナイトサイトモードでブラケット撮影をサポートしています。
ブラケット撮影を使用してHDR+をアクティブにするために、ユーザーは特別な操作は必要ありません。撮影風景のダイナミックレンジとモーションの存在に応じて、ブラケット撮影付きHDR+は、画質を最大化するために最適な露出を自動で選択します。ブラケット撮影した写真のサンプルについてはphotos.google.comの「HDR+ with Bracketing」をご覧ください。
謝辞
ブラケット撮影付きHDR+は、Googleの複数のチーム間のコラボレーションの結果です。このプロジェクトは、以下の人々の共同の努力なしには実現できなかったでしょう。
Sam Hasinoff, Dillon Sharlet, Kiran Murthy, Julian Iseringhausen, Mike Milne, Andy Radin, Nicholas Wilson, Navin Sarma, Gabriel Nava, Emily To, Sushil Nath, Alexander Schiffhauer, Isaac Reynolds, Bill Strathearn, Marius Renn, Alex Hong, Jose Ricardo Lima, Bob Hung, Ying Chen Lou, Joy Hsu, Blade Chiu, David Massoud, Jean Hsu, Ellie Yang, そして Marc Levoy。
3.Pixel5, 4a(5G)のHDR+をブラケット撮影で改良(2/2)関連リンク
1)ai.googleblog.com
HDR+ with Bracketing on Pixel Phones
2)photos.google.com
HDR+ with Bracketing