オペレーター ImageBufferSC

Operator Library: Memory

このオペレータは、ラインスキャンカメラを使用する場合にしばしば必要となるタップソート(=センサ補正)機能を備えています。さらに、関心領域(ROI)のサポートも含まれています。総ビット数(ビット幅×並列度)は、各フレームグラバーのメモリ制限を超えてはなりません。

このオペレータは、フレームグラバーRAM(DRAM)内の画像ストリームをバッファリングします。 VisualApplets RAMタイプのリソースが必要です( 「デバイスリソースの割り当て」を参照)。

タップソート機能により、シーケンシャルラスタースキャン形式に従わない読み出し方式のセンサーも透過的にサポートされます。デュアルタップベースカメラ(並列度4の場合)およびクワッドタップミディアムカメラで最も一般的な読み出し方式がサポートされています。

その他の並列処理においては、この演算子を他の演算子と組み合わせて使用​​することができます。

オペレーターのレイテンシについては、「表 46:Library Memory 内のオペレーターの個別のレイテンシ」を参照してください。

このオペレータはFIFOのように動作します。入力データは即座に出力に転送されます。ただし、例えば後続のオペレータが入力帯域幅を処理できないために出力がブロックされた場合、オペレータはデータを格納します。したがって、オペレータがデータを出力できない場合にのみメモリが満たされます。このオペレータは、ピーク時の入力帯域幅を補償するためによく使用されます。

内部的に、イメージバッファは画像ライン単位で動作します。 この内部ラインバッファ機能により、非常に短いメモリレイテンシが実現します。 もちろん、バッファに格納されるライン数が増えるとレイテンシは増加します。 例えば、メモリに転送された画像は即座に出力に転送されます。 アプリケーションでは、カメラが残りの画像ラインを転送している間にも、部分的なカメラ画像をPCに転送することができます。

パラメータXOffset 、 XLength 、 YOffset 、 YLengthを使用して ROI サイズを定義できます。入力画像の幅がXOffsetとXLengthの合計より小さい場合でも、オペレータはパラメータ化されたXLength を読み取ります。この場合、オペレータは超過ピクセルに対して未定義のメモリ領域を出力します。入力画像の高さが要求された出力画像の高さより小さい場合、オペレータは使用可能な行のみを出力します。

Line1Dアプリケーションモードでは、YOffsetおよびYLengthの設定はバッファに影響しません。

バッファの充填レベルを測定するために、オペレータはFillLevelとOverflow という2 つのパラメータを提供します。FillLevel は、RAM の充填率を 25% 刻みで示します。Overflow パラメータは、FillLevel が 100% に近いか 100% であり、次にバッファに格納される画像が RAM 容量を超える場合に 1 に設定されます。オーバーフローが発生した場合、入力データは破棄され、入力画像の高さが縮小されます。そのため、不完全な画像がメモリに格納されます。ユーザーは、overflow パラメータをポーリングする必要があります。オーバーフロー状態は非常に短い場合があるため、オペレータのポーリングサイクルの途中で発生する可能性があります。

パラメータ InfiniteSource は、オペレーターがカメラに直接接続されているか、他のメモリオペレーターと順序付けされているかを指定するために使用されます。 詳細については、「Infinite Sources / カメラの接続」を確認してください。

Operator Restrictions

  • 空のフレームはサポートされていません。

    ライン長が変動する画像はサポートされていません。

    入力線幅は、タップ数と並列度を乗じた値で割り切れる必要がある。

帯域幅の最適化

Frame Grabber RAM (DRAM) を使用するオペレーターを通過する理論上の帯域幅 [ビット/秒] は、次の式に従って計算されます。

しかし、実際の帯域幅はDRAMの効率により、常に理論上の帯域幅よりも小さくなります。

オペレーターを通過する最大帯域幅は、Bit WidthとParallelismの積が内部のRAM Port Widthと等しい場合に達します。

[注] プラットフォーム固有の値

RAM Port WidthとSystem Clockはプラットフォーム固有のものです。 個々のプラットフォームの詳細については、Device Resourcesを参照してください。

I/O Property

Property 値
オペレータータイプ M
Input Link I、画像データ入力
Output Link O、データ入力

サポートされているリンクフォーマット

Link Parameter Input Link I Output Link O
Bit Width [1, 64] unsigned、[2, 64] signed1 as I
Arithmetic {unsigned, signed} as I
Parallelism 42 as I
Kernel Columns 1 as I
Kernel Rows 1 as I
Img Protocol VALT_IMAGE2D as I
Color Format VAF_GRAY as I
Color Flavor FL_NONE as I
Max. Img Width 65535 as I
Max. Img Height any as I

1 2

ビット幅と並列処理数の積は、ネイティブRAMのデータ幅を超えてはなりません。詳細については、デバイスリソースを参照してください。

パラメーター

XOffset
タイプ dynamic/static read/write parameter
Default 0
範囲 [0, Max.Img Width - XLength]

このパラメータは、ROIの左上隅のX座標を定義します。

ステップサイズはParallelismです。

XLength
タイプ dynamic/static read/write parameter
Default 1024
範囲 [2*parallelism, Max.Img Width - XOffset]

このパラメータはROIの幅を定義します。

ステップサイズはParallelismです。

YOffset
タイプ dynamic/static read/write parameter
Default 0
範囲 [0, Max.Img Height - YLength]

このパラメータは、ROIの左上隅のY座標を定義します。

YLength
タイプ dynamic/static read/write parameter
Default 1024
範囲 [1, Max.Img Height - YOffset]

This parameter defines the height of the ROI.

センサー補正
タイプ 動的読み取り/書き込みパラメータ
Default Sモード_変更なし
範囲

利用可能なオプションは

このパラメータは、接続されているカメラのセンサー読み出し方式を指定します。SMODE_UNCHANGEDとSMODE_REVERSEは、シングルタップ、デュアルタップ、クワッドタップのカメラをサポートします。SMODE_TAPS2_xは、デュアルタップ(ベース)カメラをサポートします。SMODE_TAP4_xは、クワッドタップ(ミディアム)カメラをサポートします。

FillLevel
タイプ 動的リードパラメータ
Default 0
範囲 [0%, 100%]

このパラメータは、DRAMのFillレベルを25%刻みで提供します。

Overflow
タイプ 動的リードパラメータ
Default 0
範囲 [0, 1]

このパラメータはバッファオーバーフローを示します。

InfiniteSource
タイプ static パラメータ
Default ENABLED
範囲 {ENABLED, DISABLED}

このパラメータは、Cameraオペレーターなどの無限ソースオペレーターのサポートを有効にします。 詳細については、'Infinite Sources / Connecting Cameras'を参照してください。

使用例

ImageBufferSC演算子の使用例を以下に示します。