SYNC 오퍼레이터

오퍼레이터 라이브러리: Synchronization

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

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

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

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

[팁] 동기화 규칙

SYNC 오퍼레이터를 사용하기 전에 모든 동기화 규칙을 이해하고 있는지 확인하십시오. 사용 설명서 및 기초와 예제에서 동기화 규칙을 자세히 설명하고 있습니다. 다음을 참조하십시오:

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

The Timing Synchronization

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

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

Image Dimension Synchronization

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

  • 2D

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

  • 1D

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

  • 0D

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

이미지 크기 동기화는 입력 링크의 이미지 크기가 서로 다를 때, 즉 너비(또는 라인 길이)와 높이가 다를 때 적용됩니다. 이미지 크기 동기화는 출력의 모든 이미지가 동일한 크기를 갖도록 보장합니다. SYNC 오퍼레이터는 가장 작은 이미지에 맞추는 동기화(SyncToMin)와 가장 큰 이미지에 맞추는 동기화(SyncToMax)의 두 가지 동기화 모드를 지원합니다. SyncMode 파라미터를 통해 동기화 모드를 선택합니다. SyncToMin 모드는 가장 작은 이미지에 맞추기 위해 더 큰 이미지를 자릅니다. SyncToMax 모드는 가장 큰 이미지에 맞추기 위해 작은 이미지를 확장합니다. 누락된 픽셀은 더미 제로 픽셀(검은색 픽셀)로 채워집니다(Fill). 이 두 모드를 세 가지 서로 다른 이미지 도메인과 결합하면 다음과 같은 기본 동기화 조합이 가능합니다:

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 오퍼레이터는 여전히 타이밍 동기화를 수행합니다. 이 조합에서는 SyncToMin과 SyncToMax 동작 간에 차이가 없습니다.

1D to 0D SyncToMin / SyncToMax

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

2D to 1D to 0D SyncToMin / SyncToMax

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

[주의] 주의

경고: 2D-1D 또는 1D-0D와 같은 혼합 동작 모드나 세 가지 모두의 조합을 시뮬레이션하려면 다음 조건을 충족해야 합니다:

  1. The links with inifinite height but finite width, i.e. 1D links, must contain at least the maximal (SyncToMax) / minimal (SyncToMin) amount of lines of all 2D channels participating in the synchronization.

  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], 데이터 입력
출력 링크 O[k], 데이터 출력

지원되는 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형 오퍼레이터 네트워크를 통해 서로 다른 M형 오퍼레이터로부터 소스를 제공받을 수 있습니다.

Parameters

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

이 파라미터는 작동 모드를 지정합니다. SyncToMin 모드에서 오퍼레이터는 모든 입력 이미지를 가장 작은 이미지에 동기화하여 더 큰 이미지를 잘라냅니다. SyncToMax 모드에서 오퍼레이터는 모든 더 작은 이미지를 가장 큰 이미지에 맞게 확장합니다. 위의 설명을 참조하십시오.

사용 예

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