デジタルカメラから出力されるデジタル信号の3つの重要な要素は、データライン、ピクセルクロック、イネーブルラインです。
デジタルカメラの多くは画像集録にCCD (Charge Coupled Device) センサを使用しています。CCDは、シャッターが開いて電荷が増えている間、光量子を吸収する数千の小さいセンサで構成されています。カメラで写真を撮る場合、CCD素子を放電し、電圧をカメラのデジタルデータに変換します。CCD素子は、ピクセルに対応する各素子で長方形またはラインを形成します。
そのため、カメラの種類には、主にラインスキャンとエリアスキャンの2種類があります。ラインスキャンカメラでは、CCD素子が一列に並んでいるものです。ラインが1つしかないため、ラインスキャンカメラはH-Enable信号のみを必要とします。エリアスキャンカメラは、定義された幅と高さでフレームを形成し、フレーム構築にH-Enable信号とV-Enable信号の両方を使用します。以下は、これら2種類のカメラのイネーブル信号とピクセルクロックの画像です。以下の図は、ラインスキャンカメラとエリアスキャンカメラのイネーブル信号とピクセルクロック信号を示します。この図のデータラインは、ピクセルクロックの各アクティブエッジ間で変更する可能性があることに注目してください。H-Enable信号とV-Enable信号がアクティブな場合に、ピクセルクロックのアクティブエッジ間でライン上のデータが画像集録デバイスにラッチされます。
デジタルカメラのピクセルクロック速度を上げる、または一度に1ピクセルよりも多くのピクセルを集録すると、カメラの集録速度を著しく上げられます。ピクセルクロックのアクティブエッジで、1ピクセルのみをラッチするカメラを1タップカメラと呼びます。タップまたはチャンネルは、複数のデータラインをグループ化したもので、この1グループが1ピクセルを出力します。一部のカメラでは、複数のピクセルを別々のデータラインからピクセルクロックの同じアクティブエッジで出力するものもあります。これらのカメラはマルチタップカメラと呼ばれており、デジタルカメラでは最大4タップが可能です。これらの技術はより多くのラインが必要ですが、より高速な転送が可能です。
IMAQ 1422シリーズデバイスは16デジタルライン、IMAQ 1424シリーズデバイスは32デジタルラインが特徴です。したがって、IMAQ 1422デバイスは1つの16ビットタップまたは2つの8ビットタップでカメラをサポートでき、IMAQ 1424デバイスは1つの32ビットタップ、2つの16ビットタップ、4つの8ビットタップを処理できます。IMAQデバイスは8ビットの倍数になるタップを要求するので、カメラに10ビット/ピクセルのみがある場合でも、16ビットのタップを要求し、データを処理して上位6ビットを無視します。
複数タップカメラのデータを格納するために、複数の異なる構成があります。単一タップカメラは、左上ピクセルで始まるデータを格納し、次のラインに移動する前に右に移動します。そのフレームに対して最後のラインが完了するまで、この方法を継続します。次に、カメラは次のフレームの上部でピクセルの集録を開始します。以下の図は、複数タップカメラにより使用されるストレージの構成をそれぞれ示します。
多くの場合、デジタルカメラはシリアルコマンドまたは制御信号を介して機能を変更することができます。Measurement & Automation Explorer (MAX) で該当カメラを右クリックし、プロパティを選択して詳細タブをクリックすると、カメラ属性を変更できます。このタブでご使用のカメラのプロパティのすべてを表示して変更することができます。また、LabVIEWのimgSetCameraAttributeString関数またはIMAQ Set Camera属性VIを使用して、プログラム的にこれらのプロパティにアクセスすることもできます。
メモ:カメラプロパティを設定する場合、スペルが正しいかどうかと属性の順番を確認してください。常に上位の属性を最初に設定します (パルス幅を変更する前に、シャッター制御器とシャッター速度を正しい設定に指定してください)。
デジタルカメラは、シリアルコマンドまたは制御パルスを使用して制御されます。これらのメソッドは同じVIまたは関数呼び出しを使用します。NI-IMAQとご使用のカメラのカメラファイルは、カメラの要求に応じてシリアルコマンドと制御パルスを管理します。IMAQ 1422および1424シリアルデバイスは、デジタルカメラを使用したシリアル通信用に設計されたUARTチップを特徴としています。カメラ属性関数で呼び出された高レベルコマンドにより、低レベルコマンドの明示的な知識なしでこれらのプロパティを設定できます。また、カメラファイルはシリアルコマンドと制御パルスの使用を明確に定義しています。
カメラを制御するもう1つの方法は、デジタル制御パルスを送信することです。一般的には、露光時間が制御信号で制御されています。カメラによっては、シャッターを開く前に信号が立ち上がりエッジであり、シャッターは信号が立ち下がりエッジになるまで開いたままになることがあります。立ち下がりエッジが発生するとすぐに、シャッターが閉じて、カメラは画像集録デバイスにデジタルデータの転送を開始します。制御パルスの周波数はフレームレートを決定し、制御パルスの長さはシャッター時間を決定します。
メモ:シリアルコマンド、制御パルス、またはその両方で、シャッターを設定できます。カメラでどのメソッドを使用するかに関する詳細については、ご使用のカメラのドキュメントを参照してください。
一部のプロパティは画像のフォーマットを変更します。ただし、これらの変更はタイムアウトエラーを引き起こす場合があります。たとえば、1000 x 1000画像を作成し、画像サイズを500 x 500に変更する属性を使用した場合、NI-IMAQは1000 x 1000画像を引き続き検索するため、結果的にエラーメッセージが発生します。
画像サイズを変更する一般的な例は、ビニング属性です。ビニングは、連続する2つのピクセルを組み合わせて、単一ピクセル値にして解像度を下げ、より小さいなめらかな画像を作成するメソッドです。この属性は画像に影響するため、ウィンドウが適切に縮小されているかどうか確認する必要があります。適切であれば、縮小された画像サイズでエラーが発生しません。カメラ属性関数がシリアルコマンドや制御パルスを送信して属性変更をNI-IMAQに通知する間、集録サイズを変更し続ける必要があります。
メモ:画像集録デバイスからのケーブルは、(シリアルラインはカメラの電源コネクタに配置されていることが多いため) 接続されたシリアルラインがなく、画像に合うようにウィンドウサイズを変更して、ご使用のオペレーティングシステムのCOMポートを使用するシリアルコマンドを送信します。
カメラファイルは、NI-IMAQでカメラがピクセルを構成する方法、カメラがサポートする属性の種類、属性の変更方法、シリアルコマンドと制御パルスのどちらを使用するかという内容が記述されているファイルです。
サポートするデータとモードのフォーマット方法などすべてのデジタルカメラに対応できるように、NI-IMAQはデータの受信方法、および集録のモードや属性の変更にカメラに送信するシリアルコマンドと制御パルスの種類を指定するカメラファイルを必要とします。 NI Camera File Generatorは、使いやすいユーザインタフェースで独自のカスタムカメラファイルを作成するのに役立ちます。
関連項目:
NI Camera File Generator
デジタルカメラには、画像データを画像集録デバイスに送信する4種類の信号タイプがあります。