インテルのみ表示可能 — GUID: xmr1653553536799
Ixiasoft
インテルのみ表示可能 — GUID: xmr1653553536799
Ixiasoft
20.3. Frame Cleaner IPの機能説明
プロトコルのどちらのバリアントでも、指定されたフィールド幅と比較して、ビデオフィールドの各ラインパケット内のピクセルが少なすぎる、または多すぎる可能性があります。各ラインパケットには異なる数のピクセルを含めることもできますが、これはプロトコル仕様に違反しません。ピクセルが多すぎるラインパケットの場合、IPはデータの余分なビートをクリッピングします。ピクセルが少なすぎるラインパケットの場合、予想されるピクセル数に一致するように、追加のデータビートがパケットに追加されます。
ビデオフィールドのラインパケットが、指定されたフィールドの高さに比べて少なすぎる、または多すぎる場合もあります。ラインパケットが多すぎるフィールドの場合、余分なパケットは破棄されます。パケットが少なすぎるフィールドの場合は、予想される長さに一致するように、最後の入力パケットの後に追加のパケットが追加されます。
Frame Cleaner IPが追加のピクセルデータを作成する場合、使用される値は常に同じです。各カラープレーンの最上位ビットは「1」に設定され、他のすべてのビットは「0」に設定されます。IPは、RGB、YCbCr、およびモノクロのカラースペースで同様のライトグレー色として表示されるため、この値を使用します。
バックプレッシャーとオーバーフロー
Frame Cleaner IPが、ラインあたりのピクセル数が予想よりも少ないフィールドを受信した場合、ラインパケットの最後にピクセルを追加する必要があります。予想よりもラインパケットが少ないフィールドを受信した場合は、追加のラインパケットをストリームに挿入する必要があります。どちらの場合も、追加のピクセルをストリームに挿入できるようにするには、IPが入力インターフェイスの tready 信号を下げてバックプレッシャーを作成する必要があります。予想される幅または高さと受信した幅または高さの差が小さい場合、この追加のバックプレッシャーは、受信ビデオ (存在する場合) のブランキングによって吸収される可能性があります。ただし、視差が大きい場合 (または受信ビデオにブランキングがない場合)、バックプレッシャーが長時間かかるため、ストールできないビデオソース (HDMI など) がデータをドロップ (オーバーフロー) する可能性があります。
入力時のデータの損失は、予想されるサイズに一致するようにフィールドをパディングした場合の望ましくない (避けられない場合でも) 結果です。ただし、追加のバックプレッシャーによって正のフィードバック・ループが作成され、継続的なオーバーフローが発生する可能性があります。この場合、入力フィールドが予想より短いため、パディングとバックプレッシャーが発生します。入力は引き続き次のフィールドを受信しますが、バックプレッシャーによりオーバーフローが発生し、通常、入力IPが予想よりも早く入力フィールドのストリームを終了します。その後、Frame Cleaner IPはこのフィールドにパディングを適用することを強制され、より多くのバックプレッシャーが発生し、サイクルが繰り返されます。
このオーバーフロー・フィードバック状態の発生を回避するには、バックプレッシャーを受け入れる (およびビデオレートを下げる) ことができる、またはシステム・コントローラーが一時停止できるオーバーフロー状態を検出 (および通知) できるビデオソースでのみ、Frame Cleaner IPを使用してください。
最大および最小フィールドサイズの制限
ビデオ処理用のIPを作成する場合、リソースを節約し、クロック速度を向上させるために、IPが処理できる最大および最小フィールドサイズを制限することができます。例えば、Intel Video and Vision Processing SuiteのIPは、幅および高さ1ピクセルほどの小さなフィールドを処理できます。ただし、Intel FPGA Streaming Videoプロトコルでは、最大65536ピクセルの幅または高さのフィールドが許可されますが、Intel Video and Vision Processing Suite IPのほとんどは、最大16384ピクセルの幅と高さのみをサポートします。大きすぎるフィールドを受信してもIPはハングしませんが、出力フィールドは予想どおりに処理されません。
Intel FPGA Streaming VideoプロトコルのLiteバリアントでFrame Cleaner IPを使用する場合、フィールドの幅と高さはレジスターマップを介してコンフィグレーションされます。レジスターマップに書き込む値を制御する際に、書き込む値を制限することで、ソフトウェアでフィールドサイズの最小値または最大値の制限を適用できます。Frame Cleaner IPはレジスターマップ内の値を受け入れ、出力フィールドは常に最大値と最小値によって制限されます。
Intel FPGA Streaming VideoのFullバリアントでFrame Cleanerを使用する場合、フィールドのサイズは受信する画像情報パケットによって指定されます。通常、アップストリームIPによって送信される幅と高さの値を完全に制御できない場合があり、ストリーム内の画像情報パケットがダウンストリームIPの最小または最大フレームサイズ要件に準拠していない可能性があります。このため、フルバリアントのFrame Cleaner IPを使用すると、ユーザーが設定した幅と高さの最大値と最小値を適用できます。Custom resolution limitsをオンにすると、IPは、指定された範囲外の高さまたは幅の値を持つ受信画像情報パケットを適切な最大値または最小値に編集します。IPは、送信画像情報パケットの値と一致するように、必要に応じて付随フィールドをパディングまたはクロッピングします。
制御エージェント・インターフェイス
ライトバリアントのFrame Cleaner IPの場合、予想されるフィールドの高さと幅の値を設定できるように、Avalonメモリーマップド制御エージェント・インターフェイスをオンにする必要があります。Frame Cleanerのフルバリアントの場合、IPは受信画像情報パケットからこれらの値を取得します。Frame Cleaner IPには他にランタイム時に編集可能な設定がないため、フルバリアントでは制御エージェント・インターフェイスは必要ありません (ただし、パラメーター化中にDebug features をオンにすると、引き続きオンになる可能性があります)。
Frame Cleaner IPは、発生したエラー状態の数をカウントし、レジスターマップを介してこれらの値を報告して、デバッグを支援します。この機能は、Debug featuresをオンにした場合にのみオンになります。