デジタルカメラ基礎

概要

デジタルカメラは、高確度、高フレームレート、大きい画像サイズ、カメラ属性のプログラム的な変更機能などの長所があり、マシンビジョンシステムで多く使用されるようになりました。このドキュメントには、デジタルカメラの基本概念、およびIMAQハードウェアとNI-IMAQソフトウェアとの通信方法が記載されています。

内容

構造

デジタルカメラから出力されるデジタル信号の3つの重要な要素は、データライン、ピクセルクロック、イネーブルラインです。

  • データラインはピクセル値に対応するデジタル信号を伝送する信号線です。通常、デジタルカメラは、8ビット、10ビット、12ビット、14ビットで1ピクセルを表します。したがって、1ピクセルを表すために8、10、12または14デジタルラインが必要です。ピクセルごとのライン数はピクセル深度と呼ばれます。すべての画像データは、同時に画像集録デバイスの各ラインに転送され、絶えずトグルアップ/トグルダウンします。
  • ピクセルクロックは、データラインに有効データがあるタイミングを決定する高周波数のパルス列です。ピクセルクロックのアクティブエッジ (カメラにより立ち上がりエッジまたは立ち下りエッジ) では、すべてのデジタルラインにデータでラッチする画像集録デバイスに入力される定数があります。データは、ピクセルクロックにおいて次のアクティブエッジの前に次のピクセル値に変更されるので、次のピクセル値は画像集録デバイスにラッチされます。ピクセルクロック周波数は、集録するピクセルレートを決定します。
  • イネーブルラインは、画像でのピクセル位置を決定するために使用されます。H-Enable (HSYNCまたはラインイネーブル信号とも呼ばれる) は、ピクセルの行全体が入力されている間アクティブになります。ピクセルの行の終わりで、次のピクセルの行が始まるまでH-Enableは無効になります。対となる信号のV-Enable (VSYNCまたはフレームイネーブル信号とも呼ばれる) は、フレーム全体の間は有効です。1フレームが完了すると、信号は次のフレームの始まりまで無効になります。イネーブル信号は、HIGHアクティブまたはLOWアクティブのどちらかになります。一部のカメラのイネーブルラインは、レベルに対する感度ではなく、エッジに対する感度が高くなります。これは、レベルよりもタイミング信号の立ち上がりエッジが使用されていることを示します。NI画像集録デバイスは、レベル感度の高いイネーブルラインとエッジ感度の高いピクセルクロックで動作するように設計されています。


デジタルカメラの多くは画像集録にCCD (Charge Coupled Device) センサを使用しています。CCDは、シャッターが開いて電荷が増えている間、光量子を吸収する数千の小さいセンサで構成されています。カメラで写真を撮る場合、CCD素子を放電し、電圧をカメラのデジタルデータに変換します。CCD素子は、ピクセルに対応する各素子で長方形またはラインを形成します。
そのため、カメラの種類には、主にラインスキャンとエリアスキャンの2種類があります。ラインスキャンカメラでは、CCD素子が一列に並んでいるものです。ラインが1つしかないため、ラインスキャンカメラはH-Enable信号のみを必要とします。エリアスキャンカメラは、定義された幅と高さでフレームを形成し、フレーム構築にH-Enable信号とV-Enable信号の両方を使用します。以下は、これら2種類のカメラのイネーブル信号とピクセルクロックの画像です。以下の図は、ラインスキャンカメラとエリアスキャンカメラのイネーブル信号とピクセルクロック信号を示します。この図のデータラインは、ピクセルクロックの各アクティブエッジ間で変更する可能性があることに注目してください。H-Enable信号とV-Enable信号がアクティブな場合に、ピクセルクロックのアクティブエッジ間でライン上のデータが画像集録デバイスにラッチされます。


図1.ラインスキャンカメラ ― ピクセルクロックの立ち下りエッジ上の有効データ付き


図2.エリアスキャンカメラ ― 12 x 4 (12ピクセル/ラインおよび4ライン/フレーム)

タップ


デジタルカメラのピクセルクロック速度を上げる、または一度に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ビットを無視します。

複数タップカメラのデータを格納するために、複数の異なる構成があります。単一タップカメラは、左上ピクセルで始まるデータを格納し、次のラインに移動する前に右に移動します。そのフレームに対して最後のラインが完了するまで、この方法を継続します。次に、カメラは次のフレームの上部でピクセルの集録を開始します。以下の図は、複数タップカメラにより使用されるストレージの構成をそれぞれ示します。


図3.タップのイラスト

カメラ通信

多くの場合、デジタルカメラはシリアルコマンドまたは制御信号を介して機能を変更することができます。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種類の信号タイプがあります。

  • TTLはシングルエンドの0 ~ 5 V信号です。確実な転送距離はわずか約1 mまでです。信号の電圧振幅が大きいため20 MHz以上のピクセルクロックは利用できません。これらの制限のため、デジタルカメラの信号タイプとしてTTL信号は一般ではありません。
  • RS-422は、転送距離が約6~8 mまで利用できる差動信号です。ピクセルクロックについては、最大20 MHzの制限があります。このタイプの信号は、通常、20 MHz以上のピクセルクロックを必要としないデジタルカメラに使用されています。
  • LVDS (低電圧差動信号) は、より低い電圧振幅を使用した差動信号です。差動特性により、転送距離は約6~8 mまでのデジタルデータ整合性が可能になり、電圧振幅が低いため、20 MHz周波数以上の高い信号が扱えます。より高速なピクセルクロックを必要とするカメラはLVDS信号を使用しています。
  • Camera Linkは、パラレル通信の代わりにシリアル通信を採用したデジタル規格です。すべてのビットは、カメラのオンボードコンバータを介して渡され、シングルラインにデータのすべてを配置します。これにより、デバイスはコンバータを介してこのシングルラインを送り戻し、データをカメラに返します。この規格により、より細いケーブルと標準コネクタの使用ができるようになります。Camera Link規格は、20 MHz以上のピクセルクロックに対応し、最大10 mまで転送可能です。Camera Linkのイネーブルラインは、LVDS信号を使用します。Camera Linkは各カメラリンク対応の画像集録デバイスに互換性があるため、特注ケーブルを必要とせず、コスト削減につながります。

 

Was this information helpful?

Yes

No