Operator Library: Memory
このオペレーターは、バッファリングされたデータのランダムリードを容易にします。フレームデータは、リンクIを介してオペレーターに転送されます。データのランダムリードは、ポート RColA(読み取り列アドレス)および RRowA(読み取り行アドレス)にアドレスを転送することで実行できます。オペレーターは、これらのアドレスを使用して、指定された座標に従ってフレームデータを読み取ります。結果として得られる出力フレームの画像寸法は、アドレス入力の寸法になります。タイプ RAM の VisualApplets リソースが1つ必要です。詳細については、'Allocation of Device Resources'を確認してください。オペレーターのレイテンシについては、Table 46, 'Individual Latencies of the Operators in Library Memory'を参照してください。
FrameBufferRandomRead(フレームバッファランダムリード)オペレーターは、画像ストリームを Frame Grabber RAM (DRAM)にバッファリングします。タイプ RAM の VisualApplets リソースが1つ必要です。
オペレータには2つの状態があります:
-
書き込み状態:入力画像がバッファに保存されます。オペレーターはFIFOのように動作します。十分なメモリが利用可能な場合、複数の画像をバッファに保存できます。
-
読み取り状態:画像がメモリに完全に保存された後、入力 RColA および RRowA で指定されたアドレスを使用してメモリが読み出されます。アドレスの数とアドレスリンクの画像寸法によって、画像の出力幅と高さが決まります。
画像データ入力とアドレス入力は互いに同期していません。異なる画像寸法を持つ場合があります。アドレス入力 RColA と RRowA の両方がO同期している必要があります。
入力リンクのタイミングに注意してください。アドレス入力は、バッファリングなしでデータリンク入力 I と同じオペレーターからソースを取得してはなりません。これは、画像データをオペレーターに書き込んでいる間は、現在のフレームを読み取るためのアドレスを受け入れることができないためです。フレームがバッファに完全に保存された場合にのみ、アドレスを受け入れることができます。多くの場合、オペレーター CreateBlankImage は、アドレス用の画像を生成するために使用されます。
オペレーターは、大規模な非FPGAメモリを使用します。保存するフレームやラインが小さい場合は、オペレーター FrameMemoryRandomRd または LineMemoryRandomRd の使用を検討してください。
バッファのフィルレベルを測定するために、オペレーターには FillLevel と Overflow の2つのパラメータが用意されています。FillLevel は、RAMの充填率(パーセンテージ)を示します。Overflow パラメータは、FillLevel が 100% に近いか 100% であり、バッファに保存される次の画像がRAMの容量を超過する場合に 1 に設定されます。オーバーフローが発生した場合、入力フレームは破棄されます。ユーザーはオーバーフローパラメータをポーリングする必要があります。オーバーフロー状態の持続時間は非常に短いため、オペレーターのポーリングサイクルの合間に発生する可能性があります。
パラメータ InfiniteSource は、オペレーターがカメラに直接接続されているか、他のメモリオペレーターとシーケンスされているかを指定するために使用されます。詳細については、'Infinite Sources / Connecting Cameras'を確認してください。
Operator Restrictions
-
空のフレームはサポートされていません。
-
ライン長が変動する画像はサポートされていません。
-
アドレスポートの Parallelism は 2 に設定する必要があります。
-
I.MaxImgWidth * I.MaxImgHeight は、利用可能なRAMサイズ(2^RamAddressWidth)を超えてはなりません。
Frame Grabber RAM (DRAM) を使用するオペレーターを通過する理論上の帯域幅 [ビット/秒] は、次の式に従って計算されます。

しかし、実際の帯域幅はDRAMの効率により、常に理論上の帯域幅よりも小さくなります。
オペレーターを通過する最大帯域幅は、Bit WidthとParallelismの積が内部のRAM Port Widthと等しい場合に達します。
![]() |
プラットフォーム固有の値 |
|---|---|
|
RAM Port WidthとSystem Clockはプラットフォーム固有のものです。 個々のプラットフォームの詳細については、Device Resourcesを参照してください。 |
| Property | 値 |
|---|---|
| オペレータータイプ | M |
| 入力リンク | I、画像データ入力 RColA、I におけるピクセルの読み出し列アドレス RRowA、I におけるピクセルの読み出し行アドレス |
| Output Link | O、データ入力 |
同期および非同期入力
- 同期グループ:RColAおよび RRowA
- 入力 I はグループに対して非同期です。
|
入力 Bit Width の範囲は次のとおりです:
入力ビット幅は、ネイティブRAMデータ幅を超えてはなりません。詳細については、Device Resourcesを確認してください。 |
|
|
列アドレスの Bit Width は次のとおりです: ![]() |
|
|
行アドレスの Bit Width は次のとおりです。 ![]() |
|
|
オペレーターを効率的に使用するには、アドレスポートの Parallelism を 2 に設定する必要があります。 |
|
|
I.BitWidth x I.Kernel Columns x I.Kernel Rows <= RamDataWidth. |
|
|
I.MaxImgWidth * I.MaxImgHeight は、利用可能なRAMサイズ(2^RamAddressWidth)を超えてはなりません。 |
| RamDataWidth | |
|---|---|
| タイプ | static write parameter |
| Default | N/A |
| 範囲 | 整数 |
|
このパラメータは、RAMインターフェースで使用できるデータビット数を提供します。これは、入力および出力の最大ビット数です。 |
|
| RamAddressWidth | |
|---|---|
| タイプ | static write parameter |
| Default | N/A |
| 範囲 | 整数 |
|
このパラメータは、利用可能なアドレスビット数を提供します。これは、許可される最大画像寸法と最大アドレス幅を計算するのに役立ちます。 |
|
| FillLevel | |
|---|---|
| タイプ | 動的リードパラメータ |
| Default | 0 |
| 範囲 | [0%, 100%] |
|
このパラメータは、RAMのフィルレベルを提供します。 |
|
| Overflow | |
|---|---|
| タイプ | 動的リードパラメータ |
| Default | 0 |
| 範囲 | [0, 1] |
|
このパラメータはバッファオーバーフローを示します。 |
|
| InfiniteSource | |
|---|---|
| タイプ | static パラメータ |
| Default | ENABLED |
| 範囲 | {ENABLED, DISABLED} |
|
このパラメータは、カメラオペレーターなどのインフィニットソースオペレーターのサポートを有効にします。詳細については、'Infinite Sources / Connecting Cameras'を参照してください。 |
|
FrameBufferRandomRead オペレーターの使用法を次の例に示します:
-
'Color Plane Separation Option 5 - Sequential Output with Advances Processing'
カラープレーン分離の例。 RGB入力はコンポーネントに分割され、1つのDMAチャネルを介して順次出力されます。 分割は、パラレルワードで同じコンポーネントを収集し、FrameBufferRandomReadで読み取ることで実行されます。
-
'Geometric Transformation Using FrameBufferRandomRead'
Examples- Geometric Transformation using FrameBufferRandomRead
-
'Geometric Transformation and Distortion Correction'
Examples- Geometric Transformation and Distortion Correction using PixelReplicator
-
Examples- Distortion Correction
-
使用例 - Line Scan画像のScaling
-
使用例 - Line Scan画像のScaling
-
'Image Composition Using Exposure Fusion'
Examples - ExposureFusion

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








前へ

