Operator Library: Memory
| ハードウェアプラットフォームの可用性 |
|---|
| このオペレータは、microEnable 4シリーズ(Pixelplantを含む)のターゲットプラットフォームでのみ利用可能ですのでご注意ください。 |
このオペレータは、カラー成分の Spatial Correction を計算します。 さらに、ROI(関心領域)機能も含まれています。 総ビット数(Bit Width × Parallelism)は、それぞれのフレームグラバーのメモリ制限を超えてはなりません。
このオペレータは、イメージストリームを Frame Grabber RAM (DRAM) にバッファリングします。 タイプ RAM の VisualApplets リソースが1つ必要です('Allocation of Device Resources'を参照)。
オペレーターのレイテンシについては、「表 46:Library Memory 内のオペレーターの個別のレイテンシ」を参照してください。
オペレータの主な機能は、3ラインカラーラインスキャンカメラの空間的ずれ(spatial shift)の補正です。 赤、緑、青の各カラー成分に対して、パラメータ DeltaRed、DeltaGreen、 および DeltaBlue を使用して相対的なずれを定義できます。 ずれとは、入力画像と結果の出力画像との間のライン単位の遅延を意味します。 ずれが 0 の場合、入力画像は変更されません。 例えば、DeltaRed = 0、DeltaGreen = 1、DeltaBlue = 2 の場合、出力画像の最初のラインは次の 成分で構成されます: 最初の入力画像ラインから読み取られた赤成分、2番目の入力画像ラインから読み取られた緑成分、および3番目の入力画像ラインから読み取られた青成分。 読み出し方向を正方向から逆方向に切り替えるには、パラメータ(DeltaRed = 2、DeltaGreen = 1、DeltaBlue = 0)を変更するだけです。 デルタシフトは、負、0、または正の値にすることができます。
バッファは、デルタ値を内部で相対デルタに変換します。 変換には次の式が適用されます:

ここで、delta は DeltaRed、DeltaGreen、または DeltaBlue です。 この変換は内部で実行されます。 オペレータのデルタパラメータは変更されず、指定された値が表示されます。 相対デルタへの変換により、1つのデルタオフセットが 0 になり、他の2つが 0 または負の値になります。 例:設定 [DeltaRed = 1, DeltaGreen = 2, DeltaBlue = 1] は [DeltaRed = -1, DeltaGreen = 0, DeltaBlue = -1] と同等です。 設定 [DeltaRed = -3, DeltaGreen = -3, DeltaBlue = -3] および [DeltaRed = 1, DeltaGreen = 1, DeltaBlue = 1] は、 どちらも [DeltaRed = 0, DeltaGreen = 0, DeltaBlue = 0] と同等です。 [DeltaRed = 1, DeltaGreen = 1, DeltaBlue = 1] のような設定は、設定 [DeltaRed = 0, DeltaGreen = 0, DeltaBlue = 0] で Spatial Correction を実行し、最初のラインを切り捨てることを示します。 オペレータは相対デルタシフトのみをサポートしているため、最初のラインの切り捨てはオペレータによって実行されません。 ただし、CoordinateYやRemoveLineなどのVAオペレータを使用することで、オペレータ外での切り出しを比較的簡単に実現できます。
読み出された各ラインに対して、オペレータは出力リンク O と同期するライン ID マーカーを提供します。 ライン ID はグローバルマーカーであり、バッファ内のオーバーフローが原因でラインが失われた時期を検出するために使用できます。 オーバーフローが発生した場合、バッファは、オーバーフロー状態が解消されるまで(つまり、RAMに少なくとも1つのRoIライン分の十分なストレージ容量ができるまで)、入力ラインを破棄します。 連続する2つのラインの差から 1 を引いた値が、バッファ内のオーバーフローによって失われたライン数になります。
オペレータは空間的なずれを継続的に補正します。これは多くのラインスキャンアプリケーションにおける典型的な要件です。 ただし、取り込みが開始されると、バッファは補正されたラインを出力するために少なくとも一定量のラインを必要とします。 このしきい値に達しない場合、ラインは出力されません。 バッファは補正されたラインのみを出力します。 最初の画像ラインを補正するために必要なスタートアップラインは出力されません。 しきい値は指定されたデルタシフトによって異なります(例:DeltaRed = 0、DeltaGreen = 1、DeltaBlue = -3 では、補正を実行するために 5 ラインが必要です)。 したがって、しきい値は 5 です。 5番目のラインの後、バッファはラインの出力を開始します。 言い換えれば、バッファは補正が可能になり次第、ラインの出力を開始します。
フレーム補正アプリケーション(VALT_IMAGE2D 入力)では、Spatial Correction は各フレームに対して個別に実行されます。 つまり、フレームごとに Spatial Correction が新しく開始されます。
バッファから出力される最初のラインは常にライン ID 0 を持ちます。 2D アプリケーションモードでは、最初のフレームラインのライン ID は前のフレームの最後のラインとの間にギャップを示します。 ギャップのサイズは、この最初の出力ラインの補正を実行するために必要なライン数に等しくなります。 補正不可能なラインはバッファによって抑制されます。
パラメータ XOffset と XLength を使用して、ROI サイズを定義できます。 XLength がリンクの Parallelism で割り切れない場合、オペレータはダミーピクセルを挿入して最後の並列ワードを埋めます。 e.g. リンクの Parallelism が 2、XOffset が 0、XLength が 7 の場合、オペレータはそれぞれ 2 ピクセルで構成される 4 つの並列ワードを出力します。 最後のワードにはダミーピクセルが含まれます。 そのダミーピクセルの値は未定義です。 VA シミュレーションでは、視認性を高めるためにダミーピクセルはゼロに設定されます。 XOffset パラメータと XLength パラメータの合計は、最大のリンク画像幅を超えてはなりません。 入力画像幅が x オフセットと x 長さの合計よりも小さい場合でも、オペレータはパラメータ化された x 長さを読み取ります。 この場合、オペレータは超過したピクセルに対して未定義のメモリコンテンツを出力します。
バッファの充填レベルを測定するために、オペレータは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を参照してください。 |
|
ビット幅とParallelismの積が、ネイティブのRAMデータ幅を超えてはなりません。 詳細については、Device Resourcesを確認してください。 |
| XOffset | |
|---|---|
| タイプ | dynamic/static read/write parameter |
| Default | 0 |
| 範囲 | [0, Max.Img Width - XLength] |
|
このパラメータは、ROIの左上隅のX座標を定義します。 |
|
| XLength | |
|---|---|
| タイプ | dynamic/static read/write parameter |
| Default | 1024 |
| 範囲 | [1, Max.Img Width - XOffset] |
|
このパラメータはROIの幅を定義します。 |
|
| DeltaRed | |
|---|---|
| タイプ | dynamic/static read/write parameter |
| Default | 0 |
| 範囲 | any |
|
このパラメータは、赤成分のずれを定義します。 デルタには正または負の整数値を指定できます。 |
|
| DeltaGreen | |
|---|---|
| タイプ | dynamic/static read/write parameter |
| Default | 0 |
| 範囲 | any |
|
このパラメータは、緑成分のずれを定義します。 デルタには正または負の整数値を指定できます。 |
|
| DeltaBlue | |
|---|---|
| タイプ | dynamic/static read/write parameter |
| Default | 0 |
| 範囲 | any |
|
このパラメータは、青成分のずれを定義します。 デルタには正または負の整数値を指定できます。 |
|
| FillLevel | |
|---|---|
| タイプ | 動的リードパラメータ |
| Default | 0 |
| 範囲 | [0%, 100%] |
|
このパラメータは、DRAMのFillレベルを25%刻みで提供します。 |
|
| Overflow | |
|---|---|
| タイプ | 動的リードパラメータ |
| Default | 0 |
| 範囲 | [0, 1] |
|
このパラメータはバッファオーバーフローを示します。 |
|
| InfiniteSource | |
|---|---|
| タイプ | static パラメータ |
| Default | ENABLED |
| 範囲 | {ENABLED, DISABLED} |
|
このパラメータは、Cameraオペレーターなどの無限ソースオペレーターのサポートを有効にします。 詳細については、'Infinite Sources / Connecting Cameras'を参照してください。 |
|

![[注]](../common/images/admon/note.png)


前へ

