4.6. ローリングシャッターとグローバルシャッター¶
センサーは2次元のピクセルグリッドを1セルずつ読み出します。この読み出しに関する2つの要素が記録される画像を形作ります。ピクセルがスキャンされる順序と、各行の露出ウィンドウがそのスキャンと時間的にどう揃うかです。前者はシリコンによって固定されますが、後者には動きのあるシーンにとって大きな意味を持つ、確立された2つの方式があります。
4.6.1. 読み出し順序¶
一般的なセンサーは左下のピクセルから始めてその行に沿って右へスキャンし、次に1行上へ進んで再び右へスキャンし、これを繰り返して右上で終了します。
ピクセルアレイは左下のピクセルから読み出しが始まり、各行に沿って右へスキャンし、行と行の間で1行上へ進んでいきます。¶
この順序は偶然ではありません。レンズはシーンをセンサーに投影する際に水平方向に反転し垂直方向に反転させます。シーンの上部はセンサーの下部に、シーンの左はセンサーの右に届きます。左下から上へという読み出しは、この両方の反転を元に戻す順序でセンサーをたどり、ピクセルを正しい向きでメモリに収めます。
4.6.2. ローリングシャッター¶
ローリングシャッターセンサーでは、各行が順番に露出され読み出されます。ある行が読み出されている間、次の行はまだ露出を終えつつあり、その次の行はちょうど露出を始めたばかり、というように、各行の露出ウィンドウは次の行から時間的にわずかにずれています。センサーの積分ウィンドウはスキャン順にフレーム全体を転がるように移動し、1回の完全なスキャンには1フレーム周期分の時間がかかります。
静止したシーンではこれは見えません。高速で動くシーンでは、このずれがスキューとして現れます。最初の行が取り込まれた時刻と最後の行が取り込まれた時刻の間に動く物体は、同じフレーム内の異なる行で異なる位置に現れます。
右へ動く縦棒を各シャッター方式で取り込んだ様子。ローリングシャッターは、フレームの上部と下部が異なる時刻に読み出されるため棒を傾けます。グローバルシャッターは棒を1つの瞬間で固定します。¶
ローリングシャッターはより安価な設計です。各行は露出を終えた直後に読み出されるため、ピクセル回路はセンサー全体の読み出しの間その値を保持する画素ごとの遮蔽されたストレージを必要としません。節約されたトランジスタによりフォトダイオードがピクセル面積のより大きな割合を占めることができ、これは同じ物理ピクセルサイズで高い感度と低いノイズに直接つながります。ほとんどの民生用イメージセンサーがこの理由でローリングシャッターです。
4.6.3. グローバルシャッター¶
グローバルシャッターセンサーでは、すべてのピクセルが同じ瞬間に露出を開始し、同じ瞬間に終了します。取り込まれた電荷はその後ピクセル上の遮蔽されたストレージ領域に転送され、そこから行ごとの読み出しが行われます。取り込まれたフレームは、シーンがどれほど速く動こうとも、時間的に1つの瞬間を表します。
グローバルシャッターはより多くのシリコンを要し、そのコストはフォトダイオードに降りかかります。センサー全体の読み出しの間に各行の値を保持するには、各ピクセルに追加の遮蔽されたストレージセルと、それをフォトダイオードから遮断するトランジスタが必要です。これらは本来フォトダイオード自体に属するはずの面積です。フォトダイオードが小さくなると単位時間あたりに捉える光子が減るため、グローバルシャッターのピクセルは同サイズのローリングシャッターのピクセルより感度が低くなります。同じシーンを同じ明るさで記録するにはより長い露出または高いゲインが必要になり、その上で追加の回路が読み出しノイズをわずかに上昇させます。
もう1つの代償は露出予算にかかります。ローリングシャッターセンサーでは各行の露出が隣接する行の読み出しと重なるため、どの行もほぼフレーム周期全体にわたって光を積分できます。グローバルシャッターでは、すべての行が露出を終えるまで読み出しを開始できないため、所与のフレームレートにおける最大露出時間はフレーム周期から読み出し全体の時間を引いたものになります。同じフレームレートでは、ローリングシャッターのピクセルの方がフレームあたりより多くの光を得ることになります。
これらのコストは積み重なります。グローバルシャッターセンサーは、ローリングシャッターのものと比べてピクセル数が少なく、ノイズが多く、感度が低く、ピクセルあたりのコストが高くなります。このトレードオフは、高速な動きをクリーンに取り込む必要がある場合にのみ価値があります。
4.6.4. どちらを使うべきか¶
シャッター方式はセンサーのハードウェア特性であり、ソフトウェアの設定ではありません。この選択はカメラが設計されるときに行われます。
ローリングシャッターは次の場合に適しています。
シーンが静止しているか、ゆっくり動く場合。
アプリケーションが多少のスキューを許容できる場合(ほとんどの写真撮影やほとんどのユーザーインターフェース作業)。
ドルあたりのコストと解像度が優先される場合。
グローバルシャッターは次の場合に正しい選択です。
シーンにクリーンに取り込む必要のある高速な動きが含まれる場合(ロボティクス、ドローン、ベルトコンベアの検査)。
カメラ自体が静止したシーンに対して振動または移動している場合。
各フレームが単一の時間的瞬間であると仮定するビジョンアルゴリズムに画像が入力される場合(ほとんどの姿勢推定やStructure-from-Motionのパイプライン)。
注釈
OpenMV Cam のラインナップは、マシンビジョン用途ではデフォルトでグローバルシャッターセンサーを採用しています。マシンビジョンでは、動く被写体(または動くカメラ)でのモーションブラーが下流の検出と追跡を破綻させるためです。低速または静止したシーンの画質が高速な動きを固定することよりも重要なアプリケーション、つまり古典的な写真撮影スタイルのキャプチャ向けに、ローリングシャッターセンサーモジュールも提供されています。