Operator Library: Synchronization
オペレーター SYNC は、すべての入力リンクの時間および画像ディメンションの同期を実行します。 同期が必要なリンクの数は、オペレーターのインスタンス化時に指定します。 すべての出力リンク上の出力画像は同期されます。つまり、それらは同時に出力され、 すべて同じ画像ディメンションを持ちます。 したがって、このオペレーターは非同期リンクを同期させ、O 同期状態にして、 O 型の VisualApplets オペレーターネットワーク内で使用できるようにします。
このオペレーターは、空のラインや空のフレームをサポートしていません。
2D と 1D、0D ストリームなどの異なるドメインが混在する同期の場合、 オペレーターは出力リンクを最も高い入力ドメインに変換します。 SYNC を使用して 2D リンクを 1D リンクと同期させる場合、両方の出力リンクが 2D フォーマットに設定されます。 1D リンクが十分なラインを提供しない場合はエラーが発生します。 オペレーターを使用して 1D リンクを 0D リンクと同期させる場合、すべての出力リンクが 1D フォーマットになります。 この場合、0D リンクが十分なピクセルを提供しない場合はエラーが発生します。
入力画像の画像ディメンションが異なる場合、オペレーターはすべての出力画像のサイズが 同じになるように画像を同期させます。
![]() |
同期ルール |
|---|---|
|
SYNC オペレーターを使用する前に、すべての同期ルールを理解していることを確認してください。 ユーザーマニュアルおよび基礎と例では、同期ルールについて詳しく説明しています:
|
タイミング同期と画像ディメンション同期の両方について、以下で説明します。

ピクセルの転送中、フロー制御や、画像ソースの帯域幅を超えるリンク帯域幅が原因で、一時停止が発生する場合があります。 上の図は、2つのリンクに対して時間同期がどのように実行されるかを示しています。両方の入力リンクのタイミングは異なります。 ただし、出力リンクのデータは同期されます。つまり、すべてのリンクでピクセルが同時に出力されます。
このオペレーターは、すべての入力リンクに対してバルブのように機能します: すべての入力に有効なピクセルが存在するまで、入力リンクは閉じられたままになります。 その後、オペレーターはすべての入力のピクセルを出力へと転送します(つまり、バルブを開きます)。
SYNC オペレーターは、異なる画像プロトコル(VALT_IMAGE2D、VALT_LINE1D、VALT_PIXEL0D)を使用した画像を同期させることができます。 以下の3つの図は、異なる画像プロトコルのいくつかの画像を示しています。
-
2D

2D 画像には、有限の高さ H と有限の幅 W があります。 図に示されている最初の画像は通常の 2D 画像です。2番目の画像は、ライン長が異なる不規則な 2D 画像です。
-
1D

1D ラインには有限の幅 W がありますが、高さは無限です。 これらのタイプの画像は通常、ラインスキャンアプリケーションで作成されます。 ここでも、図に示されている2番目の画像はライン長が異なります。
-
0D

0D ストリームには幅も高さもありません。これらのストリームは無限のデータストリームです。
入力リンク上の画像の画像ディメンションが異なる場合、つまり幅(またはライン長)や高さが異なる場合に、 画像ディメンション同期が適用されます。 画像ディメンション同期により、出力されるすべての画像が同じディメンションを持つことが保証されます。 SYNC オペレーターは2つの同期モードをサポートしています:最小画像への同期(SyncToMin)と 最大画像への同期(SyncToMax)です。 パラメータ SyncMode を介して同期モードを選択します。 SyncToMin モードは、より大きな画像を切り詰めて最小の画像に合わせます。 SyncToMax モードは、小さな画像を拡張して最大の画像に合わせます。 不足しているピクセルはダミーのゼロピクセル(黒ピクセル)で埋められます。 これら2つのモードと3つの異なる画像ドメインを組み合わせることで、次の基本同期の組み合わせが可能になります:

2D から 1D 画像への SyncToMin 同期では、幅の画像ディメンション同期が実行されます。 出力画像は、入力 2D 画像の画像高さを維持します。1D ラインストリームは、 2D 画像と同じ高さを持つ画像に分割されます。

2D から 1D 画像への SyncToMax 同期では、幅の画像ディメンション同期が実行されます。 出力画像は、入力 2D 画像の画像高さを維持します。1D ラインストリームは、 2D 画像と同じ高さを持つ画像に分割されます。

0D データストリームには形状がないため、2D から 0D への同期は両方のリンクの単純なバイパスになります。 もちろん、SYNC オペレーターは引き続きタイミング同期を実行します。 この組み合わせにおいて、SyncToMin と SyncToMax の動作に違いはありません。

0D データストリームには形状がないため、1D から 0D への同期は両方のリンクの単純なバイパスになります。 もちろん、SYNC オペレーターは引き続きタイミング同期を実行します。 この組み合わせにおいて、SyncToMin と SyncToMax の動作に違いはありません。
この操作は、2D から 1D、2D から 0D、および 1D から 0D の操作を組み合わせたものです。 2D 画像と 1D ラインストリームはライン長で同期されます。 1D リンクは、2D 画像に含まれるライン数以上のラインを提供する必要があります。 また、0D リンクは、2D から 1D への同期結果が生成するピクセル数以上のピクセルを提供する必要があります。 これら両方の条件が満たされた場合、オペレーターは結果を出力します。
![]() |
注意 |
|---|---|
|
警告:2Dから1D、1Dから0Dへの混在動作モードのシミュレーション、またはこれら3つのすべての任意の組み合わせのシミュレーションには、以下の条件を満たす必要があります。
|
さまざまな画像プロトコルについての詳細は、'Image Protocols, Image Dimensions and Data Structure'を参照してください。
|
符号なし入力の場合、入力ビット幅の範囲は[1, 64]です。 符号付き入力の場合、範囲は[2, 64]です。 符号なしカラー入力の場合、範囲は[3, 63]であり、符号付きカラー入力の場合の範囲は[6, 63]です。 |
|
|
入力の少なくとも1つがVALT_IMAGE2Dである場合、出力画像プロトコルはVALT_IMAGE2Dになり、そうではなく入力の少なくとも1つがVALT_LINE1Dである場合はVALT_LINE1Dになります。すべての入力の画像プロトコルがVALT_PIXEL0Dである場合はVALT_PIXEL0Dになります。 |
|
|
パラメータ SyncMode が SyncToMin の場合、最大出力画像幅は入力の最大画像幅の最小値になります。 パラメータが SyncToMax に設定されている場合、最大出力画像幅は入力の最大画像幅の最大値になります。 |
|
|
パラメータ SyncMode が SyncToMin の場合、最大出力画像ハイトは入力の最大画像ハイトの最小値になります。 パラメータが SyncToMax に設定されている場合、最大出力画像ハイトは入力の最大画像ハイトの最大値になります。 |
同期および非同期入力
- すべての入力は互いに非同期です。つまり、Oタイプオペレータの任意のネットワークを介して、異なるMタイプオペレータから供給されている可能性があります。
| SyncMode | |
|---|---|
| タイプ | static パラメータ |
| Default | SyncToMin |
| 範囲 | {SyncToMin, SyncToMax} |
|
このパラメータは動作モードを指定します。 SyncToMinモードでは、オペレータはすべての入力画像を最小の画像に同期させます(つまり、より大きな画像を切り取ります)。 SyncToMaxモードでは、オペレータはすべての小さな画像を最大の画像に拡張します。 上記の説明を参照してください。 |
|
オペレータ SYNC の使用法を以下の例に示します。
-
'M-type Operators with Multiple Inputs'
同期ルール - SYNC オペレータの使用法
-
Synchronization - デッドロックの回避。
-
「2つのカメラソースからの画像データの結合 - オーバーレイブレンドの構築」
例:2台のカメラの同期。
-
例 - ヒストグラムシレッショルド
-
「Bayer Demosaicing Algorithm According to Laroche」
例 - Laroche Bayer Demosaicing フィルター
-
「Modified Laroche Bayer Demosaicing Algorithm 」
例 - リソース最適化された Laroche Bayer Demosaicing フィルター
-
例 - Logic Analyzer: オシロスコープのような信号測定と解析を快適に行う方法。
-
Examples - 2つの連続する画像間の差分を計算します。 差分をしきい値処理し、DMAチャネル経由で出力します。
-
「カメラ応答関数を使用した高ダイナミックレンジおよび低ダイナミックレンジの例」
例 - Debevec に準拠した高ダイナミックレンジ
-
「重み付き線形アンザッツを使用した高ダイナミックレンジおよび低ダイナミックレンジの例」
使用例 - リニアアンザッツによる High Dynamic Range
-
例 - High Speedかつ頑健なレーザーライン検出アルゴリズム。 このアルゴリズムは、サブピクセル精度の結果を得るために重心座標を決定します。
-
'A rolling average is applied on a dynamic number of images'
例 - Rolling Average - Loop
-
例 - ループを使用した Depth From Focus
-
Examples - Auto Exposure: Automatic ajustment of exposure time
-
使用例 - このサンプルは、2D Shading Correction の実装を示しています。 補正値はフレームグラバーの RAM に保存されます。 アプレットは、高精度なオフセットおよびゲイン補正を実行します。
-
'2D Shading Correction / Flat Field Correction Using Operator RamLUT'
使用例 - このサンプルは、2D Shading Correction の実装を示しています。 補正値はオペレーター RamLUT に保存されます。 アプレットは、高精度なオフセットおよびゲイン補正を実行します。
-
imaFlex CXP-12 Quad プラットフォーム上の DMAFromPC オペレータの例
例 - Shading Correction の例を用いたオペレータの使用方法のデモ

![[ヒント]](../common/images/admon/tip.png)




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





前へ

