Operator IsLastPixel

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

Operator IsLastPixel은 라인 모드에서의 라인 마지막 픽셀 또는 프레임 모드에서의 프레임 마지막 픽셀을 표시합니다. 또한 이 오퍼레이터는 라인 모드에서 빈 라인을 표시하거나 프레임 모드에서 빈 프레임을 표시하는 데 사용할 수도 있습니다.

이 오퍼레이터는 1개의 입력 포트와 2~3개의 출력 포트를 가집니다:

  • 입력 포트 I,
  • 출력 포트 O,
  • 출력 포트 IsLastO, 그리고
  • (선택 사항) 출력 포트 IsEmptyO.

일반 오퍼레이터 기능

Operator IsLastPixel은 항상 현재 픽셀 값을 유지합니다. 입력 포트 I로 새로운 픽셀 값이 들어오자마자, 이전 픽셀 값은 출력 포트 O로 출력됩니다. 입력 포트 I에서 수신된 픽셀 값은 해석되지 않습니다.

라인 모드에서의 라인 마지막 픽셀 또는 프레임 모드에서의 프레임 마지막 픽셀은 출력 포트 IsLastO에 1로 표시됩니다:

  • Line Mode: Operator IsLastPixel이 수신하는 각 EndOfLine(EOL) 태그에 대해, 오퍼레이터는 출력 포트 IsLastO로 1을 출력합니다.

  • Frame Mode: Operator IsLastPixel이 수신하는 각 EndOfFrame(EOF) 태그에 대해, 오퍼레이터는 출력 포트 IsLastO로 1을 출력합니다.

End of Line / End of Frame 정보는 하나 이상의 클록 주기 지연과 함께 IsLastO로 출력됩니다(마지막으로 들어오는 픽셀과 들어오는 end-of-line 태그 사이의 간격에 따르며, 항상 간격의 클록 주기 수 + 1개의 추가 클록 주기임).

[경고] 빈 라인/프레임 허용 안 함

IsEmptyO를 사용하지 않는 동안(아래 참조):

  • 프레임 모드에서는 마지막 라인이 비어 있어서는 안 됩니다.

  • 라인 모드에서는 빈 라인이 전혀 허용되지 않습니다.

빈 라인 또는 프레임 표시(IsEmptyO 활성화)

또한 각 빈 라인 / 각 빈 프레임에 대한 마커를 얻을 수 있습니다. 마커는 추가 출력 포트인 IsEmptyO로 출력됩니다.

출력 포트 IsEmptyO는 기본적으로 비활성화되어 있습니다.

출력 포트 IsEmptyO를 활성화하려면:

  1. 오퍼레이터를 인스턴스화할 때 Output (IsEmptyO) 값을 1로 설정하십시오.

출력 포트 IsEmptyO가 활성화되면:

  • Line Mode: 해당 오퍼레이터가 수신하는 각 빈 라인에 대해 IsLastPixel 오퍼레이터는 다음을 출력합니다.
    • 출력 포트 O*로 Parallelism x 개의 0을 출력하며,
    • 출력 포트 IsEmptyO로 1을 출력합니다.
  • Frame Mode: 해당 오퍼레이터가 수신하는 각 빈 프레임에 대해 IsLastPixel 오퍼레이터는 다음을 출력합니다.
    • 출력 포트 O로 Parallelism x 개의 0을 출력하며,
    • 출력 포트 IsEmptyO로 1을 출력합니다.

기타 모든 경우에 출력 포트 IsEmptyO는 0입니다.

*예: Line mode에서 Parallelism을 6으로 설정하여 작업하는 경우, 빈 라인마다 출력 포트 O에 6개의 픽셀이 삽입됩니다.

[중요] 새로운 픽셀 시작 지점 또는 EOL(End-of-Line Tag)에서만 픽셀 중단

오퍼레이터 IsLastPixel은 오퍼레이터가 다음 픽셀이나 EOL(End-of-Line Tag)을 수신하는 시점에만 픽셀을 출력합니다. 이는 마지막 픽셀 바로 다음에 EOL이 수신되지 않는 경우에 특히 중요합니다.

활성화된 출력 포트 IsEmptyO가 포함된 예시(파라미터 Mode = Line):

출력 포트 O의 빨간색 픽셀은 빈 라인을 위해 삽입된 값이 0인 더미 픽셀입니다.

출력 포트 IsLastO에서 빈 라인은 1을 받습니다. 즉, 빈 라인은 입력 포트 I로 들어올 때 이미 1개의 픽셀을 포함하고 있는 예시의 네 번째 라인과 동일하게 보입니다. 따라서 출력 포트 IsEmptyO가 활성화된 경우, 포트 IsLastO의 출력은 포트 IsEmptyO의 출력과 연계해서만 해석할 수 있습니다.

위의 예시에서 포트 IsLastO는 4번째 라인과 8번째 라인에 대해 1을 출력합니다. IsEmptyO의 4번째 라인에 대한 0은 들어오는 라인이 비어 있지 않고 따라서 1개의 픽셀을 포함하고 있음을 나타냅니다. IsEmptyO의 8번째 라인에 대한 1은 들어오는 라인이 비어 있었으며, 즉 0개의 픽셀을 포함하고 있었음을 나타냅니다.

[참고] Parallelism > 1

Parallelism > 1인 경우, Parallelism 내의 마지막 픽셀(최상위 비트)만 출력 포트 IsLastO에서 1로 표시됩니다. Parallelism의 다른 모든 픽셀은 0입니다.

예: Parallelism=4일 때, 마지막 병렬 워드에서 출력 포트 IsLastO는 0x8이지만, 그 외의 모든 경우에는 0입니다.

I/O Properties

Property Value
Operator Type M
Input Link I, image data input
Output Links O, 이미지 데이터 출력
IsLastO, 라인/프레임의 마지막 픽셀에 대해 1을 출력하고 다른 모든 픽셀에 대해 0을 출력
IsEmptyO (선택 사항), 각 빈 라인/프레임에 대해 1을 출력하고 이미지 데이터가 포함된 라인/프레임에 대해 0을 출력

Supported Link Format

Link Parameter Input Link I Output Link O Output Link IsLastO Output Link IsEmptyO (선택 사항)
Bit Width [1:63] as I 1 1
Arithmetic {unsigned, signed} as I unsigned unsigned
Parallelism any as I as I as I
Kernel Columns any as I 1 1
Kernel Rows any as I 1 1
Img Protocol {VALT_LINE1D, VALT_IMAGE2D} as I as I as I
Color Format {VAF_COLOR, VAF_GRAY} as I VAF_GRAY VAF_GRAY
Color Flavor any as I FL_NONE FL_NONE
Max. Img Width any1 as I as I as I
Max. Img Height any as I as I as I

1

최대 이미지 너비는 Parallelism으로 나누어떨어져야 합니다.

Parameters

Mode
Type static 또는 dynamic 쓰기 파라미터
Default Frame
Range {Line, Frame}

Line으로 설정하면 오퍼레이터가 라인의 마지막 픽셀을 표시합니다. 오퍼레이터는 라인의 각 마지막 픽셀에 대해 출력 포트 IsLastO로 1을 출력합니다.

Frame으로 설정하면 오퍼레이터가 프레임의 마지막 픽셀을 표시합니다. 오퍼레이터는 프레임의 각 마지막 픽셀에 대해 출력 포트 IsLastO로 1을 출력합니다.

이 파라미터를 static 또는 dynamic으로 설정할 수 있습니다. 파라미터를 동적 파라미터로 사용하는 경우: 쉐도우 레지스터가 구현되며 다음과 같은 시점에 변경 사항이 적용됩니다.

  • 두 이미지 사이(I가 VALT_IMAGE2D인 경우), 또는

  • 두 라인 사이(I가 VALT_ LINE1D인 경우), 또는

  • 직접(I가 VALT_ PIXEL0D인 경우),

그리고 항상 리셋 시 적용됩니다. 그 전까지는 이전 값이 사용됩니다.

사용 예제

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