ConvertPixelFormatオペレータ

Operator Library: Base

オペレーター ConvertPixelFormat は、Arithmetic と Bit Width が希望の出力 Pixel Format に調整される一方で、可能な限り多くの情報を保持しようとします。 そのため、このオペレーターでは、出力リンクでの Bit Width と Arithmetic の定義が可能です。

アルゴリズムの基本原則は2つあります。

  1. クリッピングによる Arithmetic の変更
    • unsigned から signed へ: 出力の MSB が符号ビットとして使用されます
    • signed から unsigned へ: 正の値へのクリッピング、つまり値が 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
10進数 2進法 10進数 2進法
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 Property

Property 値
オペレータータイプ O
Input Link I, data input
Output Link O, data output

サポートされているリンクフォーマット

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] です。 符号付き入力の場合の範囲は [2, 64] です。 符号なしカラー入力の場合の範囲は [3, 63] であり、符号付きカラーの場合の範囲は [6, 63] です。

2

出力の Bit Width の範囲は [1, 64] です。 符号付き出力の場合、範囲は [2, 64] です。 符号なしカラー出力の場合の範囲は [3, 63] で、符号付きカラーの場合の範囲は [6, 63] です。

パラメーター

None

使用例

オペレーター ConvertPixelFormat の使用方法は、以下の例に示されています。