インテルのみ表示可能 — GUID: laq1662566055531
Ixiasoft
インテルのみ表示可能 — GUID: laq1662566055531
Ixiasoft
31.3. Stream Cleaner IPの機能説明
フィールドは画像情報パケットで始まり、その後に0からn個のビデオ・データ・パケット、そして0からm個の補助パケットとタイムスタンプ・パケットが続きます。その後、フィールドはフィールド終了パケットによって終了します。フィールド終了パケットの後、画像情報パケットの前では、プロトコルは任意の数の補助パケットを許可します。何らかの形でこのプロトコルが遵守されていない場合、ビデオとビジョンIPは正しく動作しません。
すべてのIPはプロトコルに従って送受信します。プロトコルに準拠しないストリームを生成することは困難です。ほとんどの場合、ビデオ処理パイプラインにStream Cleaner IPは必要ありません。ただし、パケットの途中でスイッチングが発生する可能性がある状況 (クラッシュ・スイッチング) での出力ストリームは、必要な長さと一致しない壊れた制御パケット、またはプロトコルで許可されていないパケット順序を生成する可能性があります。
この図では、インテルFPGAストリーミング・ビデオ入力は、フィールド終了パケットの最初のビートを受信し、続いて画像情報パケットの最初のビートを受信します。したがって、フィールドの終わりには2番目のビートがありません。このフォールトを検出すると、Stream Cleanerは axi_vid_in_tready をLowに下げることで入力ストリームを一時停止します。また、フィールド終了の2番目のビートを挿入してから、axi_vid_in_tready を上げることで入力ストリームを継続します。パケットは正当ですが、2番目のビートのデータは正しくありません。
フィールド終了パケットの後に別のフィールド終了パケットが続きますが、これは誤ったシーケンスです。Intel FPGA Streaming Video Protocol Specificationでは、フィールド終了パケットの後には画像情報パケットまたは補助制御パケットが続く必要があると規定されています。IPは、データが次のコンポーネントに渡されないように、output axi_vid_in_tvalid をLowに下げます。有効なパケットがStream Cleanerの出力にある場合、axi_vid_in_tvalid は再びHighになります。
壊れた画像情報パケット (赤の影付き) の後に、完全な画像情報パケットが続きます。最初の画像情報パケットは、最後のビートが欠落しているために壊れています。Stream Cleanerは、前のビートのデータを使用して失われたビートを再作成することによって、固定パケット (緑色の影付き) を生成します。次に、axi_vid_out_tlast 信号がHighになることを確認します。
Intel FPGA Streaming Video Protocol Specification では、画像情報パケットの後に次のパケットが続くと記載されています。
- データパケット (tuser[0] フィールド開始信号がHighの場合)
- タイムスタンプ・パケット
- カスタム補助パケット
- フィールド終了パケット
Stream Cleanerは、axi_vid_out_tvalid 信号を下げることによって2番目の画像情報パケットを破棄します。仕様に準拠したパケットが通過すると、axi_vid_out_tvalid 信号が再び発生します。
Stream Cleanerは、IDの範囲16から31のユーザー補助パケットのみをサポートし、長さが4ビートである必要があります。