Operator ConvertPixelFormat

Operator Library: Base

ConvertPixelFormat 오퍼레이터는 원하는 출력 Pixel Format에 맞추어 Arithmetic과 Bit Width를 조정하면서 최대한 많은 정보를 유지하려고 시도합니다. 따라서 이 오퍼레이터를 사용하면 출력 링크에서 Bit Width와 Arithmetic을 정의할 수 있습니다.

알고리즘의 기본 원리는 두 가지입니다.

  1. 클리핑을 통한 Arithmetic 변경
    • unsigned에서 signed로 변환: 출력의 MSB가 부호 비트로 사용됨
    • signed에서 unsigned로 변환: 양수 값으로 클리핑, 즉 값이 0보다 작으면 0으로 설정됨
  2. 상대적 밝기를 유지하면서 Bit Width 변경
    • 출력 Bit Width가 증가하면, 원하는 Bit Width에 맞추기 위해 값이 왼쪽으로 시프트됨
    • 출력 Bit Width가 감소하면, 원하는 Bit Width에 맞추기 위해 값이 나누어지고 반올림됨

따라서 출력 값은 다음과 같이 결정될 수 있습니다:

Input Bit Width Output Bit Width Input Arithmetic Output Arithmetic Input Value 출력 값 Comment
Decimal Binary Decimal Binary
4 5 unsigned unsigned 10 1010 20 10100 value * 2
5 4 unsigned unsigned 15 1111 8 1000 value를 2로 나누고 반올림
5 4 unsigned unsigned 31 11111 15 1111 최대값으로 클리핑된 value
4 4 unsigned signed 11 1011 6 0100 value를 2로 나누고 반올림
4 4 signed unsigned 4 0100 8 1000 value * 2
5 4 signed unsigned 10 01010 10 1010 유지된 value
5 4 signed unsigned -2 11110 0 0000 0으로 클리핑된 value
5 4 signed signed -7 11001 -4 1100 value를 2로 나누고 반올림

표 34. 예시


컬러 링크의 경우, 각 색상 성분이 개별적으로 처리됩니다.

I/O Properties

Property Value
Operator Type O
입력 링크 I, data input
출력 링크 O, data output

지원되는 Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 64]1 [1, 64]2
Arithmetic {unsigned, signed} {unsigned, signed}
Parallelism any as I
Kernel Columns any as I
Kernel Rows any as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format any as I
Color Flavor any as I
Max. Img Width any as I
Max. Img Height any as I

1

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

2

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

Parameters

None

사용 예

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