SYNC 오퍼레이터

연산자 라이브러리: 동기화

SYNC operator는 모든 입력 링크의 타이밍 및 이미지 크기 동기화를 수행합니다. 동기화해야 하는 링크 수는 operator 인스턴스화 시 지정됩니다. 모든 출력 링크의 출력 이미지는 동기화되며, 즉 동시에 출력되고 모두 동일한 이미지 크기를 갖습니다. 따라서 이 operator는 비동기 링크를 O-동기화(O-synchronous) 상태로 동기화하여 O-타입 VisualApplets operator 네트워크에서 사용할 수 있도록 합니다.

이 operator는 빈 라인이나 빈 프레임을 지원하지 않습니다.

2D와 1D 및 0D 스트림 간의 혼합 도메인 동기화의 경우, operator는 출력 링크를 가장 높은 입력 도메인으로 변환합니다. SYNC를 사용하여 2D 링크와 1D 링크를 동기화하면 두 출력 링크 모두 2D 형식으로 설정됩니다. 1D 링크가 충분한 라인을 제공하지 않으면 오류가 발생합니다. operator를 사용하여 1D 링크를 0D 링크와 동기화하면 모든 출력 링크가 1D 형식이 됩니다. 이 경우 0D 링크가 충분한 픽셀을 제공하지 않으면 오류가 발생합니다.

이미지 크기가 다른 입력 이미지의 경우, operator는 모든 출력 이미지의 크기가 동일해지도록 이미지를 동기화합니다.

[팁] 동기화 규칙

SYNC operator를 사용하기 전에 모든 동기화 규칙을 이해해야 합니다. 사용자 매뉴얼 및 기초와 예제(Basics and Examples)에서 동기화 규칙을 자세히 설명하고 있습니다. 다음을 참조하세요:

타이밍 동기화와 이미지 크기 동기화 모두에 대해 다음에서 설명합니다.

타이밍 동기화(The Timing Synchronization)

픽셀 전송 중 흐름 제어 또는 이미지 소스의 대역폭을 초과하는 링크 대역폭으로 인해 일시 중지가 발생할 수 있습니다. 위 그림은 2개의 링크에 대해 시간 동기화가 수행되는 방식을 보여줍니다. 두 입력 링크의 타이밍은 서로 다릅니다. 그러나 출력 링크 데이터는 동기화됩니다. 즉, 모든 링크에서 픽셀이 동시에 출력됩니다.

이 operator는 모든 입력 링크에 대한 밸브 역할을 합니다. 모든 입력에 유효한 픽셀이 존재할 때까지 입력 링크가 닫혀 있습니다. 그런 다음 operator는 모든 입력의 픽셀을 출력으로 전달합니다. 즉, 밸브를 엽니다.

이미지 차원 동기화(The Image Dimension Synchronization)

SYNC operator는 VALT_IMAGE2D, VALT_LINE1D 또는 VALT_PIXEL0D의 서로 다른 이미지 프로토콜을 사용하여 이미지를 동기화할 수 있습니다. 다음 세 개의 그림은 서로 다른 이미지 프로토콜의 몇 가지 이미지를 보여줍니다.

  • 2D

    2D 이미지는 유한한 높이 H와 유한한 너비 W를 가집니다. 그림에 표시된 첫 번째 이미지는 일반적인 2D 이미지입니다. 두 번째 이미지는 라인 길이가 서로 다른 불규칙한 2D 이미지입니다.

  • 1D

    1D 라인은 유한한 너비 W를 가지지만 높이는 무한합니다. 이러한 유형의 이미지는 일반적으로 라인 스캔 응용 분야에서 생성됩니다. 마찬가지로 그림에 표시된 두 번째 이미지는 라인 길이가 서로 다릅니다.

  • 0D

    0D 스트림은 너비나 높이가 없습니다. 이러한 스트림은 무한 데이터 스트림입니다.

입력 링크의 이미지 크기가 서로 다른 경우, 즉 너비(또는 라인 길이)와 높이가 다른 경우 이미지 크기 동기화가 적용됩니다. 이미지 크기 동기화는 출력되는 모든 이미지의 크기가 동일함을 보장합니다. SYNC operator는 가장 작은 이미지에 동기화(SyncToMin) 및 가장 큰 이미지에 동기화(SyncToMax)의 두 가지 동기화 모드를 지원합니다. SyncMode 파라미터를 통해 동기화 모드를 선택합니다. SyncToMin 모드는 더 큰 이미지를 잘라서 가장 작은 이미지에 맞춥니다. SyncToMax 모드는 작은 이미지를 확장하여 가장 큰 이미지에 맞춥니다. 누락된 픽셀은 더미 제로 픽셀(검은색 픽셀)로 채워집니다. 이 두 가지 모드와 세 가지 이미지 도메인을 결합하면 다음과 같은 기본 동기화 조합이 가능합니다.

2D to 2D SyncToMin

2D to 2D SyncToMax

패딩 픽셀은 제로 픽셀입니다.

1D to 1D SyncToMin

1D to 1D SyncToMax

패딩 픽셀은 제로 픽셀입니다.

0D to 0D SyncToMin / SyncToMax

0D 이미지에는 이미지 크기가 없으므로 0D 이미지 간의 동기화는 순수한 시간 동기화입니다.

2D to 1D SyncToMin

2D-1D 이미지 간의 SyncToMin 동기화는 너비의 이미지 크기 동기화를 수행합니다. 출력 이미지는 입력 2D 이미지의 이미지 높이를 유지합니다. 1D 라인 스트림은 2D 이미지와 동일한 높이를 가진 이미지로 분할됩니다.

2D to 1D SyncToMax

2D-1D 이미지 간의 SyncToMax 동기화는 너비의 이미지 크기 동기화를 수행합니다. 출력 이미지는 입력 2D 이미지의 이미지 높이를 유지합니다. 1D 라인 스트림은 2D 이미지와 동일한 높이를 가진 이미지로 분할됩니다.

2D to 0D SyncToMin / SyncToMax

0D 데이터 스트림에는 형태가 없으므로 2D-0D 동기화는 두 링크를 단순 우회하는 것입니다. 물론 SYNC operator는 여전히 타이밍 동기화를 수행합니다. 이 조합에서는 SyncToMin과 SyncToMax 작업 간에 차이가 없습니다.

1D to 0D SyncToMin / SyncToMax

0D 데이터 스트림에는 형태가 없으므로 1D-0D 동기화는 두 링크를 단순 우회하는 것입니다. 물론 SYNC operator는 여전히 타이밍 동기화를 수행합니다. 이 조합에서는 SyncToMin과 SyncToMax 작업 간에 차이가 없습니다.

2D to 1D to 0D SyncToMin / SyncToMax

이 작업은 2D-1D, 2D-0D 및 1D-0D 작업의 조합입니다. 2D 이미지와 1D 라인 스트림은 라인 길이로 동기화됩니다. 1D 링크는 2D 이미지가 포함하는 라인 수 이상의 라인을 제공해야 합니다. 또한 0D 링크는 2D-1D 동기화 결과가 생성하는 픽셀 수 이상을 제공해야 합니다. 이 두 조건이 모두 충족되면 operator가 결과를 출력합니다.

[주의] 주의

경고: 2D-1D 또는 1D-0D 또는 이들 3가지 모두의 조합과 같은 혼합 작동 모드의 시뮬레이션에는 다음 조건이 충족되어야 합니다.

  1. 높이는 무한하지만 너비는 유한한 링크, 즉 1D 링크는 동기화에 참여하는 모든 2D 채널의 최대(SyncToMax) / 최소 (SyncToMin) 라인 수 이상을 포함해야 합니다.

  2. 너비와 높이가 무한대인 링크, 즉 0D 링크는 모든 2D-to-2D 및 2D-to-1D 연산 결과가 생성할 수 있는 최대(SyncToMax) / 최소(SyncToMin) 픽셀 수를 제공해야 합니다.

  3. 특정 조건을 충족하지 않는 한 혼합 영역 동기화를 위한 이미지 시퀀스 시뮬레이션은 불가능합니다. 무한대 라인에는 라인 시퀀스가 존재할 수 없으며, 그렇지 않으면 더 이상 무한대가 아니기 때문입니다. 높이에도 동일하게 적용됩니다. 높이가 유한한 경우 이는 1D 링크가 아니라 2D 링크입니다. 모든 링크에서 이미지 시퀀스를 시뮬레이션하려면 0D 채널의 픽셀 수가 2D-to-1D 동기화 후의 픽셀 수와 정확히 일치해야 합니다. 1D 채널의 라인 수는 2D-to-1D 동기화 후의 결과와 정확히 일치해야 합니다. 초과되는 라인(1D) 또는 픽셀(0D)은 다음 이미지 시퀀스로 이월되지 않습니다.

다양한 이미지 프로토콜에 대한 자세한 정보는 'Image Protocols, Image Dimensions and Data Structure'에서 확인하실 수 있습니다.

I/O Properties

Property Value
Operator Type M
Input Links I[0], 데이터 입력
I[k], 데이터 입력
Output Link O[k], 데이터 출력

Supported Link Format

Link Parameter 입력 링크 I[0] 입력 링크 I[k] 출력 링크 O[k]
Bit Width [1, 64]1 [1, 64]2 I[k]와 같음
Arithmetic {unsigned, signed} {unsigned, signed} I[k]와 같음
Parallelism any I[0]과 같음 I[0]과 같음
Kernel Columns any any I[k]와 같음
Kernel Rows any any I[k]와 같음
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} auto3
Color Format any any I[k]와 같음
Color Flavor any any I[k]와 같음
Max. Img Width any any auto4
Max. Img Height any any auto5

1 2

부호 없는 입력의 경우 입력 Bit Width 범위는 [1, 64]입니다. 부호 있는 입력의 경우 범위는 [2, 64]입니다. 부호 없는 컬러 입력의 경우 범위는 [3, 63]이며, 부호 있는 컬러의 경우 범위는 [6, 63]입니다.

3

입력 중 하나 이상이 VALT_IMAGE2D인 경우 출력 이미지 프로토콜은 VALT_IMAGE2D이며, 그렇지 않고 입력 중 하나 이상이 VALT_LINE1D인 경우 VALT_LINE1D입니다. 모든 입력의 VALT_PIXEL0D는 이미지 프로토콜 VALT_PIXEL0D를 갖습니다.

4

파라미터 SyncMode가 SyncToMin인 경우 최대 출력 이미지 너비는 입력 최대 이미지 너비 중 최소값이 됩니다. 파라미터가 SyncToMax로 설정된 경우 최대 출력 이미지 너비는 입력 최대 이미지 너비 중 최대값이 됩니다.

5

파라미터 SyncMode가 SyncToMin인 경우 최대 출력 이미지 높이는 입력 최대 이미지 높이 중 최소값이 됩니다. 파라미터가 SyncToMax로 설정된 경우 최대 출력 이미지 높이는 입력 최대 이미지 높이 중 최대값이 됩니다.

동기 및 비동기 입력

  • 모든 입력은 서로 비동기화 상태입니다. 즉, O-type 오퍼레이터의 임의 네트워크를 통해 서로 다른 M-type 오퍼레이터로부터 소스를 공급받을 수 있습니다.

Parameters

SyncMode
Type static parameter
Default SyncToMin
Range {SyncToMin, SyncToMax}

이 파라미터는 작동 모드를 지정합니다. SyncToMin 모드에서 오퍼레이터는 모든 입력 이미지를 가장 작은 이미지로 동기화(즉, 더 큰 이미지를 자름)합니다. SyncToMax 모드에서 오퍼레이터는 모든 더 작은 이미지를 가장 큰 이미지로 확장합니다. 위의 설명을 참조하십시오.

사용 예제

오퍼레이터 SYNC의 사용법은 다음 예시와 같습니다.