WEBマガジン詳細

Webマガジン Vol.50- Feb., 2022

Column: イメージセンサの設定と使いこなし

イメージセンサの設定データの構造や、設定の方法、そのコツなどについて

~~ 複雑なイメージセンサの使いこなしを、ごく簡単に紹介します ~~

 

イメージセンサは、構造が複雑な大型センサーです。
その設定は多岐に渡るので、最適化は容易ではありません。

本稿では、イメージセンサの設定データの構造や、設定の方法、そのコツなどについて紹介します。

 

まず初めに、イメージセンサの動作を順番に見ながら、その機能を一通りおさらいします。

イメージセンサの表面には、光の強度を感知する画素(pixel)がXY状に敷き詰められています。カラーセンサーの場合、その表面にはRGBのベイヤー配置でカラーフィルターが施されており、それぞれの色(=光の波長)の光の強度を検出します。

一定の露光時間、センサーを暴露することで、入射した光量に応じた電荷がpixel内に蓄えられます。センサーは、その量を画素値として読み出します。

 

下の図は、イメージセンサの動作を模式的に表したものです。

まず、横方向の一行(ライン)に沿って、752画素分のデータを読み出します。

次の行に移って、同じ動作を繰り返します。

これを、縦480行分、繰り返すことで、一枚の画像(1フレーム)のデータが出力されます。

この動作を、出力波形で模式的に表したのが次の図です。

一番上のピンクの背景の部分が、イメージセンサの基本的な動作サイクルを表した図です。露光と読出し、Wait時間(フレームレートを合せるなどの目的の待ち時間、ゼロの場合もある)を繰り返します。図中のFENは、センサーが「読出し期間」であることを、外部に伝える信号です。

真ん中の、緑の背景の部分は、上記のFEN期間を拡大した図で、ライン出力が0行目から479行目まで繰り返されている「フレーム出力」の波形です。信号LENは「ライン出力」で、センサーが「一行分のデータを出力している期間」を示しています。

一番下の、青の背景の部分が、LEN期間を更に拡大した図で、0番目から751番目までの一行分のデータを、クロックに同期して出力しています。

CLK、LEN、FENの各信号をモニターすることで、センサーの出力がどの画素に対応しているのか、認識することができます。

 

下の図は、同じ動作を、さらに別のイメージで表したものです。

まず初めに、グローバルシャッター動作について説明します。

水色の部分が露光時間、オレンジの部分が読出し期間を模式的に表しています。

読出し期間が平行四辺形なのは、上の行から下の行に順次読み出しが進む様子を表現しています。

通常は、露光、読出し、Waitを順繰りに行いますが、グローバルシャッターの場合は、露光と読出しを同時に行えます。そのため、下の波形のように、これらをダブらせて行うことも可能です。(オーバーラップモード)

対して、次の図は、ローリングシャッターの場合です。回路動作の仕様として「読み出し開始」がすなわち「露光の終了」となる場合がほとんどで、各行の露光の直後にライン読出しを行います。

これを各行で、順繰りに繰り返す動作となります。データの読出しと、各行の露光は同時に行えますが、行の読出しは順次行うことになりますので、ここが接するまで、タイムスケジュールを詰めることが可能です。

 

下の図は、イメージセンサの画素構造と、その読出しの様子を、もう少し実際に即して、詳細に表した図です。

イメージセンサは、実際の読出しに使うpixelの他に、実際には使わないダミーのpixelや、リファレンス用のpixelを備えています。

液晶画面の画像データには、表示には用いないブランク期間が含まれますが、同じように、イメージセンサでも冗長なデータ出力を持つ場合があります。単純にダミーpixelのデータを入れ込みつつ、後処理の段階で捨ててしまうこともありますが、他のデータ、例えば、露光時間や回路ステータスの情報(エラーの有無やエラーコードなど)を入れ込んで、ISPでの後処理や、各種のデバッグに役立てるケースもあります。

また、リファレンスpixelのデータは、各種の補正、例えば、暗レベルの補正用のサンプリングデータとして用いられます。各種の補正スキームがメーカーから提供されている場合もあるので、データシートやユーザマニュアルをご参照頂くか、メーカーや販売元にお問い合わせください。

 

また、上記とは逆に、読出し領域のpixelの一部分だけを抜き出して用いることも可能です。

ROI (Region of interest) と呼ばれる機能で、複数のROIを、撮影状況に応じてダイナミックに設定することが可能な場合もあります。

ROIを絞れば、データ転送の時間が減り高速化できたり、センサーの消費電力が抑えられるなどのメリットがあります。

 

「イメージセンサの設定」は、上記のような動作モードや設定値を、イメージセンサに書き込むことを指します。

・ 動作モード(シャッターモード、読出しモード、各種の補正モードなど)
・ pixelフォーマット(縦横pixel数、ROI、ブランクやリファレンスデータの有無など)
・ タイミング系(撮影や読出しの時間設定、PLLの逓倍によるCLK周波数の設定など)
・ 動作パラメータ(各種補正値、デジ・アナゲイン、データビット数、データレーン数など)
・ 画処理系 (AE、HDR、検出機能などがあればそれに応じて)

具体的な書込み方法ですが、イメージセンサ内部にレジスターメモリーが備えられており、制御ポートを通して値を書き込むことにより行います。

どのアドレスがどの設定に当たるのかのテーブルがメーカーから提供されますので、ユーザマニュアルなどを参照して、ご確認いただけます。

書き込みを行う制御ポートは、I2CやSPIなど一般的な規格に準じていますので、それに応じたシーケンスで行います。

SPIポートの波形例を下に挙げます。

レジスターの設定値は、メーカーの推奨セットがありますので、初めに必ず参照するようにして下さい。

メーカーのレジスターセットは、それまでの販売活動で市場から収集したノウハウを集積しており、有用な情報も多いので、ぜひ活用して下さい。

なお、メーカーの推奨値は、イメージセンサ本体のデフォルト値(電源ONで自動的に設定される初期値)とは異なる場合が多いので、ご注意下さい。

また、メーカーのレジスターセットは、定期・不定期にアップデートします。必要に応じて、メーカーや販売元に定期的に問い合わせるようにして、必ず最新版を参照するようにしてください。

イメージセンサのレジスターセットの開発は、まず最新バージョンを入手し、それに準拠した上で、独自のセッティングを上書きする手順で行います。

実使用時のルーチンとしては、イメージセンサの電源を投入後に、レジスターセットを一通り書き込んだ後、動作の最中に、必要な変更を適宜行う形で行います。

なお、レジスターには、書込みのタイミングに制限がある場合があります。

・ 任意に書き込みが可能なもの
・ Wait期間にしか書き込めないもの
・ 一旦動作を停止しないと書き込めないもの、など

これらは、ユーザマニュアルに記載されていますので、ご参照の上で対応するようにしてください。

 

最後に、イメージセンサの設定の効果の一例を挙げます。

下の図は、「夜の和室での見守りカメラ」の開発事例で、常夜灯レベルの暗い照明下でのカラー撮影を目指したものです。

  

左のデフォルト設定では、ノイズが大きく、まともな像が得られていませんが、イメージセンサの設定を追い込んだ結果、右のように明確な像が得られるようになりました。(レンズの収差による樽型の歪みは未補正です。)

ここで設定した項目は、露光時間やゲインなどの通常の設定の他に、アンチブルーミング特性が特に効果がありました。

アンチブルーミングは、明度の高い環境で、pixelに蓄積する電荷が飽和値を超えてあふれてしまうことを避けるための設定です。いわば「明る過ぎる時」の設定なのですが、これが暗い環境での性能向上に役立ったメカニズムについては、冗長なので、ここでは割愛いたします。しかし、イメージセンサの設定の奥深さ(≒ややこしさ)をお感じいただける事例として、今回、紹介させていただきました。

以上のように、一筋縄では行かない「イメージセンサの使いこなし」ですが、メーカーや販売元でノウハウを持っている場合がありますので、お問い合わせいただければと思います。

 

【関連製品】

・TELEDYNE e2v社高感度CMOSイメージセンサ Rubyシリーズ
https://www.cornestech.co.jp/tech/products/products_cmos_ruby/
・TELEDYNE e2v社小型産業用CMOSイメージセンサ Topaz
https://www.cornestech.co.jp/tech/products/products_cmos_topaz/

 

ページトップへ戻る