Operator Library: Synchronization
オペレーター RemovePixel は、制御入力リンク Rem に応じて、入力リンク I と出力リンク O の間にあるピクセルを削除します。 削除入力リンク Rem は、ピクセルの削除を制御するバイナリ入力リンクです。 Rem のピクセルが 1 に設定されている場合、入力リンク I の同じ位置にあるピクセルが削除されます。 その結果、後続のピクセルが左にシフトされます。 これにより、出力行の幅は削除されたピクセルの数だけ小さくなります。
ピクセルの削除に伴い、リンクの Parallelism で割り切れないライン幅を持つラインが構築される可能性があります。
出力リンク O でリンクの Parallelism で割り切れるライン長を生成するために、オペレーターはダミーピクセルを挿入します。これらのダミーピクセルの内容は未定義です(VAシミュレーションではこれらの値は 0 に設定されます)。
リンクの Parallelism で割り切れる長さを持つラインを作成するには、次の 2 つのオプションがあります。
オペレーターの動作として以下のいずれかを選択できます
- ライン長がリンクの Parallelism で割り切れるようになるまで、対象のラインをダミーピクセルで Fill する(例 1 を参照)、または
- 並列ピクセルの完全なブロックを構成しないピクセルを次のラインにシフトする(例 2 を参照)。 この場合、オペレーターは必要に応じてフレームの最後のラインにのみダミーピクセルを挿入します。
このオペレーターの動作は、パラメータ FlushCondition で制御します。 パラメータが EoL(End of Line)に設定されている場合、オペレーターは Parallelism で割り切れないラインの末尾にダミーピクセルを追加します。 画像からすべてのピクセルが削除された場合でも、画像のライン構造は保持されます(その場合、画像は空のラインのみで構成されます)。 フレーム内のすべてのピクセルが削除された場合、フレームは空のラインのみで構成されます。ライン数は変更されません。
パラメータ FlushCondition が EoF(End of Frame)に設定されている場合: ラインの最後のピクセルが並列ピクセルのブロックを完了しない場合、これらの最後のピクセルは次の出力ラインに移動されます。 したがって、ラインは Parallelism の境界で終わり、超過したピクセルは後続のラインに移動されます。 そのため、オペレーターはフレームの末尾にのみダミーピクセルを作成します。 このモードではライン構造が変更される可能性があり、最後のラインが(1 Parallelism 分)長くなることがあります。 したがって、MaxWidth は入力リンクよりも 1 Parallelism 分広くなります。 EoF モードは、画像圧縮アプリケーションによく使用されます。
![]() |
リソース消費量 |
|---|---|
|
オペレーターの FPGA リソース消費量は、Parallelism とともに急激に増加します。 Basler では、このオペレーターで低い Parallelism を使用することをお勧めします。 RemovePixel オペレーターを使用する前に、並列ピクセルをカーネルにシフトする(つまり CastKernel を使用する)ことで、Parallelism を削減できます。 ラインの最後のピクセルのみを削除する場合は、代わりに CutLine オペレーターを truncate モードで使用できます。これによりリソースを節約できます。 |
-------------------------------------------------------------------------------------
例 1(パラメータ FlushCondition が EoL に設定されている場合):
この例では、FlushCondition は EoL(デフォルト)に設定されています。オペレーターは Parallelism 4 で使用され、図に示すような画像を取得します。
2番目のラインでは、2つのピクセルが削除されます。これにより、後続のピクセルがシフトされます。新しいライン長である 6 は 4(Parallelism)で割り切れないため、2つのダミーピクセルが挿入されます。 3番目のラインでは、4つのピクセルが削除されます。新しいライン長である 4 は 4 で割り切れるため、ラインは単純に短くなり、ダミーピクセルは挿入されません。 6番目のラインは完全に削除されます。後続のシミュレーションでは、空のラインとして扱われます。
例 1:FlushCondition が EoL に設定され、Parallelism が 4 に設定されている場合の動作(Rem は、1に設定されたピクセルを除き、常に 0 です)
-------------------------------------------------------------------------------------
例 2(パラメータ FlushCondition が EoF に設定されている場合):
この例では、FlushCondition は EoF に設定されています。オペレーターは Parallelism 4 で使用され、図に示すような画像を取得します。
例 2:FlushCondition が EoF に設定され、Parallelism が 4 に設定されている場合の動作(Rem は、1に設定されたピクセルを除き、常に 0 です)
![]() |
EoF モードでの最大画像幅の変更 - 以前のデザインにご注意ください! |
|---|---|
|
EoF モードの最大画像幅が、1 Parallelism 分広くなるように修正されました(Parallelism > 1 の場合)。 この問題点を理解するために、例をご確認ください。これにより、古いデザインで DRC エラーが発生する可能性があります。 この追加の幅が必要ないことが確実な場合は、SetDimension を使用してディメンションを最大入力幅に戻すことができます。 |
|
符号なし入力の場合、入力ビット幅の範囲は[1, 64]です。 符号付き入力の場合、範囲は[2, 64]です。 符号なしカラー入力の場合、範囲は[3, 63]であり、符号付きカラー入力の場合の範囲は[6, 63]です。 |
同期および非同期入力
- すべての入力は互いに同期しています。つまり、O 型オペレーターの任意のネットワークを介して、同じ M 型オペレーターから供給される必要があります。
| FlushCondition | |
|---|---|
| タイプ | static パラメータ |
| Default | EoL |
| 範囲 | {EoL, EoF} |
|
このパラメータはダミーピクセルの挿入を制御します。EoLモードでは、行の長さが Parallelism で割り切れない場合、行の終端にダミーピクセルが挿入されます。 EoFモードでは、行の最後のピクセルが並列ピクセルのブロックを完成させない場合、これらのピクセルは次の出力行に移動されます。 これにより、行は Parallelism の境界で終わり、超過したピクセルは次の行に移動されます。 したがって、このオペレータは、フレームの最終行が Parallelism で割り切れない場合にのみ、フレームの終端にダミーピクセルを作成します。 出力リンクOにおけるフレームの MaxWidth は、入力リンクのフレーム幅 + 1 Parallelism となります。 画像プロトコル VALT_PIXEL0D が使用されている場合、このパラメータは無効になります。画像プロトコル VALT_LINE1D の場合は、EoL のみを使用できます。
|
|
RemovePixel オペレータの使用方法は、以下の例に示されています。
-
例 - 定義されたフォーマットのランレングスエンコーディングの例です。
-
使用例 - オペレーターの使用方法のデモ

![[注]](../common/images/admon/note.png)
![[注意]](../common/images/admon/caution.png)

前へ

