LineCCDカメラ - Line CCD Camera

目次

Line CCD Camera

概要

 RGB各ライン2タップ構成のCCDを用いたカラーラインカメラです。本コンテンツではラインCCDカメラ全体に含まれる技術について解説します。本構成により2012年現在、2タップCCDとしては世界最速クラスとなるピクセルレート70MHzのカメラを実現しています。以下に全体のブロック図を示します。

CCD

 今回説明するのは、70MHzのピクセルレートを持ったカラーCCDで2タップ(偶数ピクセルと奇数ピクセルのデータが別々に出てくる)の物です。従って、CCDの動作速度は35MHzです。

Video AMP

 CCDから出てくるRGBそれぞれの偶数タップ、奇数タップのビデオ信号をバッファしてA/Dコンバータに供給します。高速ビデオ信号なので広帯域なアンプが必要で、このクラスのカメラの場合、最低でも500MHz程度の帯域が必要です。また、信号の遅延がチャンネル毎に異なると画質に影響を及ぼしますので全ての信号ラインの長さを等長にする必要があります。

A/D Converter

 高速なビデオ用A/Dコンバータで相関二重サンプリング(Correlated Double Sampling)により高S/Nサンプリングします。出力はシリアル出力の物が一般的です。

Timing Generator

 カメラ内部で必要な各種タイミングを発生します。重要なタイミングとしてはCCDを駆動するためのクロック、A/Dコンバータを駆動するためのクロックなどがあります。その他にもCPUを駆動するクロックやカメラリンク用のクロックなど必要なタイミングを生成します。

画質を良くするためには、特にCCDとA/D Converterの制御信号をナノセコンド単位で個別にコントロールする必要がありますので、この部分がカメラの心臓部と言えます。

Odd/Even Merge

 RGBそれぞれの偶数タップと奇数タップ(合計6本)のストリームを、RGB3本のストリームにするロジックです。35MHzで動作するCCDからの偶数、奇数ストリームを2倍の70MHzで出力します。以降のロジックは70MHzのピクセルレートで動作します。

Shading Control

 ピクセル毎の感度の違いを補正します。FPGA内メモリに格納された各ピクセルの感度補正係数を、データストリーム中のピクセルデータに掛け算しながら出力していきます。実際には掛け算だけでなくオフセットの加減算も行います。補正値、オフセット値はCPUにより起動時に外部メモリからFPGAに転送されます。

Line Remaping

 カラーラインCCDは、RGBの3ラインのCCDが並んでおり電気的に同時に取り込んだとしても実際にはそれぞれのラインは別の場所をスキャンしていることになります。したがってRGBのデータを単純に重ね合わせてもぼやけた画像になってしまいます。そこで実際にはカメラの前を通過していく被写体の速度に合わせて例えば、Rラインのデータと合わせるGラインのデータは2スキャン前のデータ、Bラインのデータは4スキャン前のデータなどという具合に別のタイミングで取り込んだラインデータを重ね合わせて出力しています。この操作をライン・リマッピングと言います。

Scaling

 画像の縮小を行います。設定された比率でデータを間引きながら出力します。この時、ピクセル間やライン間のデータが必要となりますが各種の補完方法を用いて補完したデータを出力します。拡大する事も可能ですが、出力データレートは入力データレート以上になる事は出来ないため、拡大された画像の元画像と同じサイズの一部しか出力することは出来ません。

Look Up Table (Gamma Correction)

 ピクセルデータはそのまま出力せず、LUTを介して出力します。LUTは入力値を出力値に変換する単なるテーブルです。入力値と出力値を同じにしておけばそのまま出力されますが、テーブルに様々な値を書き込むことによって、入出力特性を変化させることができます。通常は暗部の特性と明部の特性を定義するガンマ補正に使用されます。テーブルの値をCPUから書き換えることでガンマ特性を変化させることができます。

Color Matrix Calculation

 色空間行列演算を行います。RGBのピクセルデータに対して変換行列を掛け算し、3つの出力値を決定する部分です。これによりRGBをXYZ色空間やCMYK色空間などに変換して出力する事が可能になります。

Camara Link Interface

 最終的にデータストリームを出力するカメラリンクインターフェースです。RGB各ラインデータとライン同期、フレーム同期のための信号が含まれます。

Camera Control (CPU)

 Camera Control部は、Camera Link Interfaceのシリアル通信により外部PCと通信し、PCからのコマンドによってカメラ全体を制御します。制御はCPUからFPGA内に用意したレジスタを読み書きすることで行います。

今後

 徐々に詳しい仕組みなどアップしていきたいと思いますが、かなり広範囲かつ膨大な量なので時間がかかりそうです。質問がある方はメールいただければ可能な範囲でお返事します。