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ユーザーガイドの文書改訂履歴

28.3. Mixer IPの機能の説明

ミキサーには、オーバーレイ層ごとにアルファ・ブレンディングが含まれています。アルファ・ブレンディングを使用すると、既存の画像にオーバーレイ層をミックスするときに、オーバーレイ層の透明度を変更できます。

アルファ・ブレンディング

透明度を決定する値はアルファ値です。アルファ値は0から1の間で変化します。0は完全な透明を表します (オーバーレイ層のデータがまったく表示されません)。1は完全に不透明を表します (オーバーレイ層によって既存の画像が完全に隠されます)。

IPはアルファ・ブレンディングを再帰的に適用し、レイヤー1 (I 1) の画像をレイヤー0 (I 0) の画像にブレンドして中間画像 (O 1) を作成します。次に、IPはレイヤー2 (I 2) の画像を0 1にブレンドしてO 2を作成し、以下同様にレイヤーごとに順番に実行します。Nレイヤーを持つミキサーの場合、O N-1が最終出力画像になります。次の方程式は、アルファ・ブレンディングを示しています。
方程式 2. アルファ・ブレンディング

IPは、画像内の各カラープレーンにアルファ・ブレンディング・プロセスを個別に適用し、オフセット・オーバーレイ画像が中間画像と重なる領域にのみ適用します。

Alpha blending mode

ミキサーの各レイヤーをパラメーター化して、IPが前景レイヤーデータを既存の画像にスーパーインポーズする方法に関するさまざまなオプションをサポートできます。Alpha blending modeパラメーターには、4つのオプションがあります。

  • No blending。ミキサーには、指定されたレイヤーのアルファ・ブレンディング・プロセスを実行するために必要なロジックは含まれていません。IPは、透明度を持たずにレイヤー画像を既存の画像にオーバーレイします。これは、既存の画像のピクセル値を、出力画像の適切な領域 (レイヤーオフセットとレイヤーの寸法によって定義される) のレイヤー画像のピクセル値に完全に置き換えます。ランタイム時にレジスターマップを使用してオーバーレイをオフにすることを選択することもできます。 No blendingの場合、DSPブロックは必要ありません。
  • Alpha from command。IPには、アルファ・ブレンディングのロジックが含まれています。IPはレジスターマップからアルファ値を取得し、それを定数 (静的アルファ) 値としてレイヤー画像内のすべてのピクセルに適用します。ランタイム時にレジスターマップを使用してオーバーレイをオフにしたり、アルファ値を完全に無視してブレンドなしに戻すことを選択したりすることもできます。
  • Alpha from data。IPには、アルファ・ブレンディング用のロジックが含まれています。受信ビデオデータには、透明度を決定するピクセルごとのアルファ値を含む追加のカラープレーンが含まれています。アルファ値は常に、各ピクセルのMSBの最も高いインデックスのカラープレーンにあります。ランタイム時にレジスターマップを使用してオーバーレイをオフにしたり、アルファ値を完全に無視してブレンドなしに戻すことを選択したりすることもできます。
  • Alpha from command or data。ランタイム時に、オーバーレイのディスエーブル化、ブレンドなしのオーバーレイ、静的アルファを使用したオーバーレイ、またはピクセルごとのアルファを使用したオーバーレイのいずれかを柔軟に選択できます。

レジスターマップ設定

Avalonメモリーマップド制御エージェント・インターフェイスを介してミキサーのレジスターマップを編集することで、ランタイム時にミキサー内の各オーバーレイ層の設定を調整できます。Lite modeベースレイヤーのプロパティーもレジスターマップを介して設定されます。

各オーバーレイ層には、Lite modeをオフにした場合にランタイム時に制御可能な5つの設定があります。

  • レイヤーのイネーブル化 (レイヤーのオン/オフを切り替え)
  • レイヤー・ブレンド・モード
  • レイヤー静的アルファ
  • レイヤーの水平オフセット
  • レイヤーの垂直オフセット

Lite modeをオンにすると、オーバーレイ層ごとに2つの追加レジスターがそのレイヤーの予想解像度を設定します。これらのレジスタはすべてダブル・バッファリングされており、その値の編集は次のフレーム境界でのみ有効になります。Lite modeをオフにすると、次のフレーム境界で編集を有効にするには、COMMIT レジスターに書き込む必要があります。

オーバーレイ層のイネーブル化

各オーバーレイ層 n (1 <= n <= 7) には、IPがレイヤー (LAYER n _MODE) をオンまたはオフにするかどうかを定義するための、Avalonメモリーマップド制御エージェントのレジスターマップ内のレジスターがあります。レジスター値の3つのLSBによって、IPがレイヤーを処理する方法が決まります。

  • ビット0。特定のレイヤーの主なイネーブルビット。このビットを0に設定すると、IPは tready 信号を0に設定したフィールド境界でレイヤーを保持します。このビットを1に設定すると、IPは1フィールド分のパケットを含む指定されたレイヤーの入力パケットを受け入れます。ベースレイヤーのすべてのフィールドで受け入れられます。IPは制御パケットを出力に伝播し、レジスターのビット1の値に応じてフィールドデータを出力フレームの一部として表示するか表示しません。
  • ビット1。このビットは、IPがレイヤーを表示するかどうかを決定します。このレジスターに0を書き込むと、 LAYER n _BLEND_MODE レジスターの設定に従って) IPはレイヤーのフィールドデータを出力フィールド (表示モード) に混合します。このレジスターに1を書き込むと、IPにはレイヤーのフィールドデータが含まれません (コンシューム・モード)。コンシューム・モードでは、ミキサーはベースレイヤーのフィールドごとにレイヤーデータの1フィールドを受け入れます。レイヤーストリーム内の制御パケットは引き続き出力に伝播されます。表示モードでは、ミキサーは、このレイヤーの垂直および水平オフセット設定に従って、出力画像情報パケットの一部を構成する必要がある場合にのみ、レイヤーのフィールドデータを入力で受け入れます。コンシューム・モードでは、ミキサーはオフセットを参照せず、ベースのフィールドデータの各行に対して1ラインのレイヤーのフィールドデータを受け入れようとせず、できるだけ早くレイヤーのフィールドデータを受け入れます。
  • ビット2。このビットは、LAYERn_MODE レジスターの値が変更された後の最初のフィールドに対するミキサーの動作を決定します。このビットを0に設定すると (ビット0が1に設定されている場合)、ミキサーは出力フィールドを開始する前に、レイヤーnでデータが使用可能になるまで待機します。使用可能なデータがない場合、ミキサーは一時停止して待機します (ハードスタート状態)。このビットを1に設定すると、レイヤーnの入力で新しいフレームの準備ができていなくても、ミキサーは出力フレームを処理できます。各フィールド境界で、ミキサーはデータが使用可能になるかどうかを再度チェックします。レイヤーnでデータが使用可能になると、そのレイヤーの通常のミキシングが再開され、データがすぐに使用できない場合 (ソフトスタート状態)、ミキサーは後続フィールドのデータを待ちます。

システムにどちらが適しているかを判断するときは、ハードスタート条件とソフトスタート条件の違いを慎重に考慮してください。

  • レイヤー入力が、HDMIやDisplayPortからのクロックビデオ入力など、ストールできないソースから直接来る場合、ソフトスタートを使用しないでください。この場合、IPは出力をレイヤー入力のフレーム開始タイミングに一致させます。それ以外の場合は入力がストールされます。ソフトスタートを使用すると、出力をベースレイヤー (または別のオーバーレイ層) のフレーム開始タイミングと同期して実行できます。オーバーレイ層のフレーム開始タイミングがベースレイヤーのフレーム開始タイミングと正確に一致していない場合、オーバーレイ層は出力のフレーム開始を逃し、最悪の場合はフルフレーム期間まで、一定の時間遅延します。この動作により、入力がオーバーフローします。
  • 複数の入力レイヤーが外部から制御されてフレームの開始とフレームレートのアライメントを強制されない限り、不安定なソースから直接取得できるのは1つのレイヤーのみです。レイヤーが入力で同期されていない場合、少なくとも1つのレイヤーが停止してオーバーフローすることなく、各レイヤーにハードスタートを設定することはできません。これは通常、最大で1つのレイヤーのみがハードスタート条件を使用する必要があることを意味します。
  • 通常、フレームバッファーのドロップやフレームの繰り返しなど、ストールできるソースは、ほとんどのレイヤーを駆動します。フレームバッファーはオーバーフローせずにストールできます。これには、ソフトスタート条件の方が適しています。これにより、ミキサーからの既存の出力が現在のフレーム開始タイミングを維持できます。フレームバッファーからのオーバーレイ層は、既存のタイミングに同期します。出力タイミングは同じままなので、接続されているディスプレイでグリッチは発生しません。

ミキサーは、すべてのレイヤーのデータが各入力で保留になるまで、フィールドの処理をコミットしません。IPがこの状態に達するまで、ミキサーは Avalonメモリーマップド制御エージェント・インターフェイスを介してレジスターマップを編集できる状態のままです。ミキサーはフィールド間のため、変更はすぐに有効になります。システムでいずれかの入力のビデオが失われると、システム・コントローラーは指定されたレイヤーをオフにして、システムのロックアップを回避できます。

制限されたオフセット

各オーバーレイ層に水平オフセットを指定します。これにより、そのレイヤーが背景に混合され始めるライン内のピクセル・インデックスが決まります。並列ピクセル数が1の場合、どのピクセルオフセットからでも簡単にミキシングを開始できます。並列ピクセル数が1より大きい場合、並列ピクセル数の整数倍でないオフセットでは、さらに問題が生じます。

ミキサーには、データワード内およびデータワード間でピクセルを0から並列ピクセル数-1までの任意のピクセル数だけシフトするロジックが含まれている必要があります。並列ピクセル数が少ない場合、この追加ハードウェアのALMコストは比較的小さくなります。ただし、並列ピクセル数が4から8の場合、リソース使用量がミキサーのALM総数のかなりの割合を占める可能性があります。

任意のレイヤーの水平オフセットを常に平行ピクセルの整数倍になるように制限する場合、そのレイヤーに対してuse restricted offsetsをオンにできます。そうすれば、ミキサーはその層の余分なピクセル・シフト・ロジックを省略し、ALMコストを削減できます。任意のレイヤーに対してuse restricted offsetsをオンにし、そのレイヤーの水平オフセットをピクセルの非整数倍に並行して設定しようとすると、内部ロジックによりオフセットが最も近い整数の位置に戻されます。

サブサンプリングのサポート

ミキサーは4:4:4、4:2:2、4:2:0のクロマ・サンプリング・ビデオデータをサポートし、ランタイム時にクロマ・サンプリングを動的に切り替えることができます。フルバリアントは、各フィールドに付随する画像情報パケットによって現在のクロマ・サンプリングを駆動します。ライトバリアントでは、レジスターマップを介してクロマ・サンプリングを設定できます。クロマ・サンプリングに関する次の制限が適用されます。

  • すべてのレイヤーは、ベースレイヤー (レイヤー0) と同じクロマ・サンプリングである必要があります。
  • 4:2:2クロマ・サンプリングの場合、すべてのレイヤー (ベースレイヤーを含む) のフィールド幅は2の整数倍である必要があります。
  • 4:2:2クロマ・サンプリングの場合、各アクティブ・オーバーレイ層の水平オフセットは2の整数倍である必要があります。
  • 4:2:0クロマ・サンプリングの場合、すべてのレイヤー (ベースレイヤーを含む) のフィールドの高さとフィールドの幅は、どちらも2の整数倍である必要があります。
  • 4:2:0クロマ・サンプリングの場合、各アクティブレイヤーの水平オフセットと垂直オフセットは両方とも2の整数倍である必要があります。

インターレースのサポート

ミキサーは主にプログレッシブ・ビデオ用ですが、フルバリアントのインターレース・ビデオも限定的にサポートしています。垂直オフセットは、プログレッシブ・フレーム内ではなく、各フィールド内に適用する必要があります。各レイヤーは、ベースレイヤー (レイヤー0) と同期してF0またはF1フィールドを提供する必要があります。表示用にオンにしたレイヤーが、ベースレイヤーがF0を提供しているときにF1フィールドを提供する場合 (またはその逆)、IPは出力のフレーム終了パケットで壊れたフィールドフラグをアサートします。

オーバーレイのエラー状態

各オーバーレイ層には、フルバリアントの場合は画像情報パケットから、ライトバリアントの場合はレジスターマップから取得される、予想されるフィールド幅と高さがあります。また、各レイヤーには、レジスターマップで指定するベースレイヤー内の水平オフセットと垂直オフセットがあります。オーバーレイ・フィールド幅と任意のレイヤーの水平オフセットの合計がベースレイヤーのフィールド幅を超える場合、IPはレイヤーを表示しません (IPはレイヤーを消費モードにします)。IPは、出力のフレーム終了パケットで壊れたフィールドフラグをアサートします。

パケット伝播

インテルFPGAストリーミング・ビデオのフルバリアントでは、各レイヤーの入力ストリームに、ビデオ・ライン・パケットとともに、画像情報、フィールドの終了、補助制御パケットが含まれる場合があります。ミキサーは、各レイヤーからのこれらのパケットを処理するときに、次のルールに従います。

  • 画像情報とフレーム終了パケット。ベースレイヤー (レイヤー0) からの画像情報とフレーム終了パケットは出力に伝搬されます。画像情報パケットは常に変更されません。フレーム終了パケットは、破損フィールドフラグが編集される可能性があるものの、それ以外は変更されずに伝搬されます。IPがベースレイヤーまたは表示されたオーバーレイ層で破損フィールドフラグをアサートすると、IPは出力破損フィールドフラグをアサートします。フレーム終了パケットの破損フィールドフラグは、ミキサーが処理中にインターレース・フィールドの不一致などのエラーを経験した場合にもアサートされることがあります。
  • 補助制御パケット。いずれかのレイヤーが表示または消費のためにアクティブになっている場合、その補助制御パケットはベースレイヤーからのビデオパケットとともに出力に伝播します。IPは、フィールド・ライン・パケットの前後で、各レイヤーから補助制御パケットを順番に取得します。
図 62. パケット伝播の制御この図では、n 個のレイヤーとすべてのn 個のレイヤーが現在のフィールドでアクティブであると想定しています。