4.7. 露出とゲイン¶
各ピクセルセルがパイプラインの残りの部分にどれだけ明るく報告されるかを変える2つのつまみがあります:
露出時間(積分時間とも呼ばれます) -- フォトダイオードが読み出し前に電荷を集めることを許される時間の長さ。
アナログゲイン -- ADCの前にオンチップアンプによって読み出し電圧に適用される乗数。
どちらのつまみも記録される画像を明るくしますが、そこに至る方法は異なり、それぞれに固有のコストがあります。
4.7.1. 露出時間¶
露出が長くなると、各セルはフレームごとにより多くの電子を集めるため、同じシーンでもデジタルカウントは高くなります。露出を半分にすると、おおよそカウントも半分になり、2倍にするとおおよそ2倍になります。この関係はウェルが飽和するまでは線形です。
そのコストは動きです。セルは積分ウィンドウ全体にわたって到達する光の平均を記録するため、そのウィンドウの間に目立った距離だけ動く物体は複数のピクセルにわたってにじみます。これが モーションブラー です。1/30秒の露出で歩く人は数ピクセルにわたってにじみますが、同じ人が1/500秒では鮮明に写ります。
長い露出はセルを飽和に近づけるため、明るく照らされたシーンでは明るさが十分であっても露出を 下げる 必要があります。そうしないとハイライトがクリップしてしまいます。
4.7.2. アナログゲイン¶
アナログゲインは、フォトダイオードの読み出しとADCの間にある小さなアンプです。信号電圧はデジタル化される前にゲインによって乗算されるため、同じ数の電子がより大きな数値として読み出されることになります。ゲインは通常デシベル(dB)で表され、ゲインを2倍にすることは+6 dBに相当します。
ゲインは、これ以上露出を長くできないほど暗い光の下で役立ちます。露出を延ばすとフレームレートがアプリケーションの必要とする値を下回るか、モーションブラーが多くなりすぎる場合です。そのコストはノイズです。アンプは信号とともにノイズフロアも乗算するため、ゲインを増やしても 信号対雑音比 は改善しません。高いゲインは、低いゲインと同じシーン明るさでも、よりざらついてノイズの多い画像を生み出します。
一部のセンサーは デジタルゲイン のつまみも備えており、これはADC後の整数乗数です。デジタルゲインはアナログゲインよりもノイズの面でさらに悪く、ADCからの量子化ノイズも増幅してしまいます。最後の手段として使ってください。
4.7.3. 自動露出と自動ゲイン¶
実際のカメラは、明るさが大きく異なる範囲にまたがるシーンを扱う必要があります。たとえば、薄暗い屋内の部屋と、同じ視野内にある日の当たる窓などです。2つの制御ループがつまみをリアルタイムで調整します:
自動露出制御(AEC)は、直近のフレームの平均ピクセル値を測定し(多くは中央に重み付けされるか、最も明るいピクセルから重みを外して)、その平均をターゲットに向かわせるように露出時間を調整します。
自動ゲイン制御(AGC)はアナログゲインで同じことを行い、通常は露出時間がすでに安全な最大値まで引き上げられた後のフォールバックとして機能します。
順序が重要です。露出を先に、ゲインを後に調整することで、所与のターゲット明るさに対して最良の信号対雑音比が得られます。露出はノイズを増幅せずにより多くの信号を集めるのに対し、ゲインは両方を増幅するからです。したがってAECとAGCは優先順位を付けて動作します。暗いシーンを明るくするにはまず露出が増加し、ゲインは露出が上限(フレームレートまたは明示的なモーションブラーの予算によって設定される)に達して初めて作動します。
4.7.4. ハイダイナミックレンジ¶
AECとAGCはシーンの 平均 に対して適切な単一フレームの明るさを選びますが、どのシーンにも平均より明るい部分と暗い部分があります。単一の露出では、その範囲を一度にカバーできる量に限りがあります。短い露出はハイライトを保持しますが、シャドウを読み出しノイズに埋もれさせます。長い露出はシャドウを引き上げますが、ハイライトを飽和でクリップしてしまいます。センサーの ダイナミックレンジ -- クリップせずに記録できる最も明るいピクセルと、ノイズと区別できる最も暗いピクセルとの比率 -- は、フォトダイオードのフルウェル容量と読み出しノイズフロアによって固定されており、多くのシーンはセンサーが1フレームで捉えられるよりも広い範囲を持っています。薄暗い屋内の部屋にある日の当たる窓が典型的な例です。
ハイダイナミックレンジ(HDR)イメージングは、同じシーンの2つ以上の露出 -- 最低でも短い露出と長い露出、時にはそれ以上 -- を1つの出力フレームに合成することで、この限界を回避します。短い露出は飽和することなくハイライトを保持し、長い露出はシャドウをノイズフロアから引き上げます。合成された画像は、短いフレームからハイライトを、長いフレームからシャドウを取り入れ、どの単一入力もそれ単独では持ち得ないほど多くの使用可能なダイナミックレンジを実現します。
合成はオフチップで行われることもあり、ソフトウェアが複数フレームのバーストをつなぎ合わせます。あるいはオンチップで行われ、センサーが走査線を交互に短露出行と長露出行に分けてインターリーブするか、各ピクセルを異なる変換ゲインの2つの読み出し経路に通します。いずれにせよ、結果はフォトダイオードが1ショットで記録できるよりも多くのビットのダイナミックレンジを持つ1つのフレームになります。
この拡張範囲のフレームは、そのままでは表示できません。フレームバッファとその下流の消費側はいずれも固定のビット深度(通常はチャンネルあたり8ビット)で動作しますが、HDR信号は12ビット、16ビット、またはそれ以上に達することがあります。トーンマッピング は、シャドウとハイライトの両方のディテールを見える状態に保つ非線形カーブを適用することで、余分なビットを出力深度まで圧縮し直します。HDR信号を単純に線形にスケーリングすると、暗い領域を黒につぶすか、明るい領域を白にクリップしてしまいます。良いトーンマップは、範囲の両端にわたってディテールを保持するために絶対的な明るさの忠実度をいくらか犠牲にし、その出力は、いかなる単一のセンサー露出よりも、目が実際にシーンで見るものにはるかに近く見えます。