Operator LUT

Operator Library: Memory

operator LUTは、動的コンテンツのルックアップテーブルです。入力リンクの値がLUTのアドレスを定義します。そして出力リンクは、そのアドレスに格納されている値を提供します。入力のBit Widthは、LUT内のアドレス数を定義します。出力のBit Widthは、各LUT要素の値の範囲を定義します。両方を任意の値に設定できます。LUTの内容は、合成前または実行時に動的に変更できます。

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

I/O Property

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

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

Link Parameter Input Link I Output Link O
Bit Width [1, 16]1 [1, 63 unsigned / 64 signed]2
Arithmetic {unsigned} {63 bit unsigned, 64 bit signed}
Parallelism any as I
Kernel Columns any as I
Kernel Rows any as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format VAF_GRAY as I
Color Flavor FL_NONE as I
Max. Img Width any as I
Max. Img Height any as I

1

パラメータ ImplementationType を URAM に設定した場合、入力リンクの Bit Width は1から14の間の値に設定する必要があります。

URAMは、imaFlex CXP-12 QuadおよびimaFlex CXP-12 Pentaプラットフォームでのみ利用可能です。

2

パラメータ ImplementationType を URAM に設定した場合、出力リンクの Bit Width は入力リンクのBit Widthに依存します。

  • If the bit width of the input link <= 12, you can set any value.

  • 入力リンクのBit Widthが13または14の場合、出力リンクのBit Widthを1から16の間の値に設定してください。

URAMは、imaFlex CXP-12 QuadおよびimaFlex CXP-12 Pentaプラットフォームでのみ利用可能です。

パラメーター

LUTcontent
タイプ dynamic/static read/write parameter
Default 恒等関数
範囲 [0, 2^OuptuBitWidth-1]

このフィールドパラメータは、LUTの内容を定義します。フィールド値の数は、operatorの入力のBit Widthによって定義されます。

'パラメータの編集'でのフィールドパラメータの設定方法については、こちらをご覧ください。

[注] 入力 Bit Widthが変更されました

入力のBit Widthが変更されると、このパラメータ内のフィールド要素の数が変化します。入力のBit Widthが縮小された場合、値は切り捨てられて削除されます。入力のBit Widthが増加された場合、新しいフィールド要素は0に設定されます。

[注] 警告ステータス

BRAMが25%未満の容量で動作している場合、LUTcontent パラメータが警告ステータスになることがあります。

ImplementationType
タイプ static write parameter
Default AUTO
範囲 (AUTO、BRAM、LUTRAM、URAM)

パラメータ ImplementationType は、オペレーターの実装戦略、つまりオペレーターの実装にどのメモリ要素が使用されるかに影響を与えます。

以下の値から選択できます:

AUTO: 接続されたリンクのパラメータ化に基づいて、最適な実装戦略が自動的に選択されます。AUTOはBRAMとLUTRAMの間でのみ選択を行います。

BRAM: オペレーターは FPGA のブロック RAM を使用します。

LUTRAM: オペレーターは FPGA の LUT RAM を使用します。

URAM: オペレーターは FPGA の UltraRAM を使用します。

[注] URAMの可用性と制限事項

値 URAM は、imaFlex CXP-12 QuadおよびimaFlex CXP-12 Pentaプラットフォームでのみ利用可能です。

URAMには以下の制限事項があります。

  • 入力リンクの Bit Width は、1から14の間の値に設定する必要があります。

  • 出力リンクの Bit Width は、入力リンクのBit Widthに依存します。

    • If the bit width of the input link <= 12, you can set any value.

    • 入力リンクのBit Widthが13または14の場合、出力リンクのBit Widthを1から16の間の値に設定してください。

[注] 通常は AUTO を使用

通常、パラメータは AUTO に設定する必要があります。特別な場合、つまりデザイン内で特定の種類の FPGA リソースが不足している場合は、BRAM、LUTRAM、または URAM の値を使用して FPGA リソース管理に手動で影響を与えることができます(URAM は imaFlex CXP-12 Quad および imaFlex CXP-12 Penta プラットフォームでのみ利用可能です)。

AUTOはBRAMとLUTRAMの間でのみ選択を行います。

使用例

The use of operator LUT is shown in the following examples:

  • 「HSL Color Classification」

    例 - HSL 画像での色分類は非常に簡単です。 アプレットは RGB 画像を HSL 画像に変換し、色分類を実行します。 色相はルックアップテーブルを使用してフィルタリングされます。 さらに、彩度と明度はカスタムのしきい値を使用してしきい値処理されます。

  • 'Geometric Transformation and Distortion Correction'

    Examples- Geometric Transformation and Distortion Correction using PixelReplicator

  • 'Distortion Correction'

    Examples- Distortion Correction

  • 'Scaling a Line Scan Image'

    使用例 - Line Scan画像のScaling

  • 「カメラ応答関数を使用した高ダイナミックレンジおよび低ダイナミックレンジの例」

    例 - Debevec に準拠した高ダイナミックレンジ

  • 「重み付き線形アンザッツを使用した高ダイナミックレンジおよび低ダイナミックレンジの例」

    使用例 - リニアアンザッツによる High Dynamic Range

  • 'Lookup Table 8 Bit'

    Examples - 8 Bitから8 Bitへのルックアップテーブルの使用方法を示しています。

  • 'Lookup Table 10 to 16 Bit'

    Examples - 10 bit入力および16 bit出力を持つルックアップテーブルの使用方法を示しています。

  • 'Knee-Lookup Table 24 Bit Color'

    Examples - この例では、RGBの色補正のために3つのルックアップテーブルが使用されています。

  • 'Block Flat Field Correction - Monochrome and Bayer'

    例 - この例では、ブロック単位のフラットフィールド補正(FFC)の実装を示します。補正値はLUTに格納され、DRAMリソースを必要としません。この例の1つのバージョンはモノクロカメラ用、もう1つはBayerフォーマットのカメラ用です。これらのデザインでは、個々の要件に応じてブロックサイズや補正モードなどの複数のパラメータを設定できます。さらに、Pythonベースのスクリプトにより、取得したダーク画像とブライト画像から補正係数を計算する方法を示します。Block FFCメソッドの理論的背景や、デザイン時およびハードウェアでのアプレットの使用方法に関する詳細な説明は、デザイン例のコメントボックスに記載されています。Block FFCの理論に関する詳細情報は、https://docs.baslerweb.com/frame-grabbers/flat-field-correction-ffc-imaflexにある拡張標準acquisition appletsの説明の一部に含まれています。

  • '1D Shading Correction Using Block RAM'

    使用例 - このサンプルは、1D Shading Correction の実装を示しています。 補正値はブロック RAM メモリに保存されます。