Operator InsertLine

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

InsertLine 연산자는 N개의 입력 링크 I[0] .. I[n-1]의 라인을 출력 링크 O로 멀티플렉싱합니다. 따라서 연산자는 모든 입력의 입력 이미지 라인을 O에서 순차적인 순서로 출력합니다.

연산자는 입력 이미지 라인을 차례대로 출력으로 전달합니다. 새 프레임이 들어올 때마다 연산자는 입력 I[0]부터 시작합니다. 먼저 입력 I[0]의 첫 번째 라인이 처리되어 출력으로 전달됩니다. 다음으로 입력 I[1]의 첫 번째 라인이 처리됩니다. I[n-1]의 첫 번째 라인이 처리된 후, 연산자는 I[0]의 두 번째 라인으로 계속 진행하는 식입니다. 연산자는 현재 선택된 입력에 필요한 라인이 나타날 때까지 대기합니다. 따라서 입력을 건너뛰는 것은 불가능합니다. "선착순 처리(first come first processed)" 전략은 존재하지 않습니다.

설명한 바와 같이, 연산자는 특정 시점에 특정 입력만 전달합니다. 하나의 입력이 처리되는 동안 다른 모든 입력은 차단(block)됩니다. 차단된 입력에 이미지 라인이 존재할 경우, 처리될 때까지 버퍼링될 수 있도록 해야 합니다. 또한, 교착 상태(deadlock)를 유발할 수 있으므로 사용자는 여러 입력이 동일한 이미지 소스에서 공급되지 않도록 해야 합니다. 올바른 삽입에 대한 자세한 내용은 Basics and Examples의 'Multiplex the Images of Two Cameras'를 확인하십시오. 이 예시는 InserLine 연산자에도 유사하게 적용됩니다.

모든 입력 I[k]에 대해 연산자는 제어 입력 Ins[k]을 제공합니다. 이러한 입력은 이미지 라인의 데이터를 사용하여 출력으로 전달할지 아니면 폐기할지 제어하는 데 사용됩니다. Ins[k] 입력은 바이너리 데이터를 수용합니다. 해당 이미지 라인의 맨 처음 픽셀에 1이 제공되면 해당 라인이 출력으로 전달됩니다. 반면, 해당 이미지 라인의 맨 처음 픽셀에 값 0이 제공되면 해당 라인은 처리되지만 폐기됩니다.

The I[k] and Ins[k] pairs are synchronous i.e. they have to be sources by the same M-type source though an arbitrary network of O-type operators. See 'M-type Operators with Multiple Inputs' for more information. Therefore, no SYNC operator is required for these pairs (different in VA versions < VA2).

연산자의 출력 이미지 크기는 입력 이미지 크기보다 n배 더 큽니다. 그러나 출력 Parallelism은 증가하지 않습니다. 따라서 더 많은 데이터를 전송해야 할 수 있음에도 불구하고 출력 대역폭은 입력 대역폭과 같습니다. 연산자가 데이터를 처리하기 전에 입력의 Parallelism을 높여야 할 수 있습니다.

I[k]의 모든 이미지는 너비가 다를 수 있습니다. 그러나 모든 이미지의 높이는 같아야 합니다. 빈 입력 라인의 경우 제어 입력 Ins[k]은 무시됩니다. 이러한 라인은 출력으로 전달되지 않고 폐기됩니다.

I/O Properties

Property Value
Operator Type M
Input Links I[0], 데이터 입력
I[k], 데이터 입력
Ins[k], 제어 입력
Output Link O, data output

Supported Link Format

Link Parameter 입력 링크 I[0] 입력 링크 I[k] 입력 링크 Ins[k] Output Link O
Bit Width [1,64]1 I[0]과 같음 1 I[0]과 같음
Arithmetic {unsigned, signed} I[0]과 같음 unsigned I[0]과 같음
Parallelism any I[0]과 같음 I[0]과 같음 I[0]과 같음
Kernel Columns any I[0]과 같음 1 I[0]과 같음
Kernel Rows any I[0]과 같음 1 I[0]과 같음
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} I[0]과 같음 I[0]과 같음 I[0]과 같음
Color Format any I[0]과 같음 VAF_GRAY I[0]과 같음
Color Flavor any I[0]과 같음 FL_NONE I[0]과 같음
Max. Img Width any any I[k]와 같음 auto2
Max. Img Height any I[0]과 같음 I[k]와 같음 N * I[0]3

1

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

2

최대 출력 이미지 너비는 모든 입력 이미지 너비의 최댓값입니다.

3

VisualApplets 버전 3.3.0부터 적용되며, Simulation Build Setttings에서 Simulate 1D Line By Line 옵션이 선택된 경우에만 해당됩니다. Image Protocol이 VALT_LINE1D으로 설정된 경우 최대 출력 이미지 높이는 강제로 1로 설정됩니다.

동기 및 비동기 입력

  • 동기 그룹(Synchronous Groups): I[k] 및 Ins[k]
  • 모든 그룹은 서로 비동기식입니다.

Parameters

없음

사용 예제

InsertLine 연산자의 사용법은 다음 예시에 나와 있습니다: