Video and Vision Processing Suite Intel® FPGA IPユーザーガイド

ID 683329
日付 6/26/2023
Public
ドキュメント目次
1. Video and Vision Processing Suiteについて 2. Video and Vision Processing IPのスタートガイド 3. Video and Vision Processing IPの機能の説明 4. Video and Vision Processing IPインターフェイス 5. Video and Vision Processing IPレジスター 6. Video and Vision Processing IPのソフトウェア・プログラミング・モデル 7. Protocol Converter Intel® FPGA IP 8. 3D LUT Intel® FPGA IP 9. AXI-Stream Broadcaster Intel® FPGA IP 10. Bits per Color Sample Adapter Intel FPGA IP 11. Chroma Key Intel® FPGA IP 12. Chroma Resampler Intel® FPGA IP 13. Clipper Intel® FPGA IP 14. Clocked Video Input Intel® FPGA IP 15. Clocked Video to Full-Raster Converter Intel® FPGA IP 16. Clocked Video Output Intel® FPGA IP 17. Color Space Converter Intel® FPGA IP 18. Deinterlacer Intel® FPGA IP 19. FIR Filter Intel® FPGA IP 20. Frame Cleaner Intel® FPGA IP 21. Full-Raster to Clocked Video Converter Intel® FPGA IP 22. Full-Raster to Streaming Converter Intel® FPGA IP 23. Genlock Controller Intel® FPGA IP 24. Generic Crosspoint Intel® FPGA IP 25. Genlock Signal Router Intel® FPGA IP 26. Guard Bands Intel® FPGA IP 27. Interlacer Intel® FPGA IP 28. Mixer Intel® FPGA IP 29. Parallel Converter Intel® FPGA IPのピクセル 30. Scaler Intel® FPGA IP 31. Stream Cleaner Intel® FPGA IP 32. Switch Intel® FPGA IP 33. Tone Mapping Operator Intel® FPGA IP 34. Test Pattern Generator Intel® FPGA IP 35. Video and Vision Monitor Intel FPGA IP 36. Video Frame Buffer Intel® FPGA IP 37. Video Frame Reader Intel FPGA IP 38. Video Frame Writer Intel FPGA IP 39. Video Streaming FIFO Intel® FPGA IP 40. Video Timing Generator Intel® FPGA IP 41. Warp Intel® FPGA IP 42. デザイン・セキュリティー 43. Video and Vision Processing Suiteユーザーガイドの文書改訂履歴

17.3. Color Space Converter IPの機能説明

IPの入力と出力は、カラー プレーンごとにピクセルあたり8から16ビットをサポートします。

入力および出力のデータ型

変換で入力または出力がその範囲外に存在できない最小値または最大値を指定する必要がある場合は、Guard Bands Intel FPGA IPを使用します。Guard Bands Intel FPGA IPは、デザインの要件に応じて、前後または前および後にインスタンス化できます。符号付きデータを含むパイプラインでColor Space Converterを使用する場合は、Guard Bands Intel FPGA IPを使用できます。

カラースペース変換

カラースペース間で変換するには、カラースペースを関連付ける9つの係数と3つの加数の配列を指定します。

これらの係数と加数はコンパイル時に設定することも、Avalonメモリーマップド・インターフェイスをイネーブルしてランタイム時に動的に変更することもできます。

9つの係数のセット [A0、A1、A2、B0、B1、B2、C0、C1、C2] と3つの加数のセット [S0、S1、S2] が与えられると、カラースペース・コンバーターはカラープレーン0、1、および2 (dout_0、dout_1、および doout_2 で表示) の出力値を計算します。

  • dout_0 = (A0 × din_0) + (B0 × din_1) + (C0 × din_2) + S0
  • dout_1 = (A1 × din_0) + (B1 × din_1) + (C1 × din_2) + S1
  • dout_2 = (A2 × din_0) + (B2 × din_1) + (C2 × din_2) + S2

din_0、din_1、およびdin_2は、カラープレーン0、1、および2から読み出される入力です。

Color Space Converter Intel FPGA IPは、プラットフォーム・デザイナーのプリセットを通じて使用できる以下の定義済みの変換をサポートしています。

  • コンピューターB'G'R'からCbY'Crへ: SDTV
  • CbY'Cr: SDTVからコンピューターB'G'R'
  • コンピューターB'G'R'からCbY'Crへ: HDTV
  • CbY'Cr: HDTVからコンピューターB'G'R'
  • Studio B'G'R'からCbY'Crへ: SDTV
  • CbY'Cr: SDTVからStudio B'G'R'
  • Studio B'G'R'からCbY'Crへ: HDTV
  • CbY'Cr: HDTVからStudio B'G'R'

IPは、変換名で示された順序で値を割り当てます。例えば、コンピューターB'G'R'からCbY'Cr: SDTVを選択した場合、din_0 = B'、din_1 = G'、din_2 = R'、dout_0 = Cb、dout_1 = Y'、dout_2 = Crとなります。Intel FPGA Streaming Video Protocolに記載されているように、din_0はワードのLSBを占め、din_1は中間ビットを占め、din_2はMSBを占めます。例えば、サンプルあたり8ビットで、定義済みの変換入力の1つがB'G'R'の場合、din_0はビット0から7でB'を伝送し、din_1はビット8から15でG'を伝送し、din_2はビット16から23でR'を伝送します。

定義済みの変換

定義済みの変換を使用する場合でも、係数と加数の精度を定義する必要があります。定義済みの係数も、Memory-Mapped制御をオフにした場合にのみ使用できます。それ以外の場合、係数はランタイム時にAvalonメモリーマップド・インターフェイスを使用して設定する必要があります。

定義済みの変換は、8、10、および12に等しいカラープレーンあたりのピクセルあたりの入力および出力ビットに対してのみ定義されます。カラープレーンあたりの異なるビット値を使用する場合は、それに応じて加数を手動でスケーリングする必要があります。カラープレーンごとに各ピクセルの異なる入力ビットと出力ビットを使用する場合は、正しいバイナリー桁数だけ結果をシフトして補正する必要もあります。例えば、10ビットCbYCr'から8ビット・コンピューターB'G'R'に変換するには、10ビットCbYCr'から10ビット・コンピューターB'G'R'の変換プリセットを選択します。加数はすでに10ビット入力に合わせてスケーリングされているため、変更されません。パラメーター・エディターでカラープレーンごとの出力ビット値を10から8に変更し、警告メッセージの指示に従って結果を正しいバイナリー桁数 (左に2桁) シフトします。

定義済みの変換を適用した後、またはカスタム変更を行った後は、係数のマトリクスを必ず確認してください。必要な浮動小数点係数値と実際の固定小数点量子化値との差が許容できない精度の低下を示している場合は、整数または小数ビットの数を増して問題を解決する必要があります。

出力データ型の変換

計算後、IPは結果の固定小数点型を出力の整数データ型に変換する必要があります。

IPは、この変換を次の順序の4段階で実行します。

  1. 結果をスケーリングします。結果をスケーリングして、範囲の拡大を選択できます。これは、出力のカラー深度をすばやく増やすのに役立ちます。使用可能なオプションは、2進小数点の右への-16桁から+16桁のシフトです。IPはスケールを単純なシフト演算として実装するため、乗算器は必要ありません。
  2. 小数ビットを削除します。小数ビットが存在する場合は、それらを削除することを選択できます。
    • 整数に切り捨てます。小数ビットはデータから削除されます。これは、負の無限大に向かって切り捨てるのと同じです。
    • 半分を切り上げます。最も近い整数に切り上げます。小数ビットが0.5に等しい場合、切り上げは正の無限大に向かって行われます。
    • 偶数の半分を丸めます。最も近い整数に丸めます。小数ビットが0.5に等しい場合、最も近い偶数の整数に向かって丸めます。
  3. 符号付きから符号なしへ変換します。結果に負の数値が存在する可能性があり、出力タイプが符号なしの場合、それらは最小出力値まで飽和します。
  4. 範囲を制限します。結果を最小出力値と最大出力値に飽和させるロジックは、次のとおりです。
    • いずれかの結果が、ピクセルあたりの出力ビットで許可される最小値と最大値の範囲内にない場合、値は自動的にこの範囲に制限されます。
    • 下限値と上限値をさらに細かく制御する必要がある場合は、Color Space Converterの後にGuard Bands Intel FPGA IPをインスタンス化することを検討してください。