ピクセル深度とビット深度

ピクセル深度とビット深度

ドット絵ムービーエンコードにおいて避けては通れないRGB→YUV変換処理の色劣化
代表的な3つの色空間を分析する 

ピクセル深度

8bit IndexColor
2の8乗=256色

15bit HighColor
R:5bit G:5bit B:5bit
赤32段階 x 緑32段階 x 青32段階 = 32,768色

16bit HighColor
R:5bit G:6bit B:5bit
赤32段階 x 緑64段階 x 青32段階 = 65,536色

24bit TrueColor
R:8bit G:8bit B:8bit
赤256段階 x 緑256段階 x 青256段階 = 16,777,216色

48bit DeepColor
R:16bit G:16bit B:16bit
赤65,536段階 x 緑65,536段階 x 青65,536段階 = 281,474,976,710,656色


RGB32 (=RGB24)
RGB32
ピクセル深度:32bit カラー、1ピクセルあたり24bit
内部:R:8bit G:8bit B:8bit = 24bit +α:8bit
サンプル比:4:4:4(YUVの場合)
32bitカラーといっても42億色表示出来るわけではなく、
実際の色数は赤256段階 x 緑256段階 x 青256段階の24bitカラー = 1677万色
24bitよりも32bitで処理した方が速いので32bitカラーが一般的になっている
残り8bitのアルファチャネルは存在しないデータとして扱われるか、映像合成といった用途に使われる


YUY2 (YUV422)
YUY2
ピクセル深度:16bit カラー、1ピクセルあたり平均16bit
内部:Y:8bit U:4bit V:4bit = 16bit
サンプル比:4:2:2
デジタル放送で使われている色空間のうちの1つ
放送用途の場合、RGBのまま転送するには情報量が大きすぎるのでYUV空間で帯域を減らしている
MPEG-2、H.264のHighプロファイルが対応
FRAPSのFPS1コーデックもYUY2である


YV12 (YUV420)
YV12
ピクセル深度:12bit カラー、1ピクセルあたり平均12bit
内部:Y:8bit U:4bit V:0bit = 12bit
サンプル比:4:2:0
MPEG4系コーデックを含むほとんどのコーデックがこの色空間
3種の中で色数が最も少ない分処理が軽い
DivX(xvid)でエンコードしたものを真空波動研などのコーデックチェッカで判別すると
24bitと表示されることがあるが実質12bitである
主なコーデック:MPEG-1 MPEG-2 DivX xvid WMV9 H.264


次にキャラクターを使い比較
青や赤は一目見て劣化がわかりやすい


青色比較 左:RGB24 中:YUY2 右:YV12
RGB24YUY2YV12

左:RGB24 中:YUY2 右:YV12
RGB24YUY2YV12


赤色比較 左:RGB24 中:YUY2 右:YV12
RGB24YUY2YV12

左:RGB24 中:YUY2 右:YV12
RGB24YUY2YV12

RGBソースの場合HuffyuvのYUY2コンバートは色が失われるので出来るだけRGBを選択した方がよい
YUV系ソースの場合YUV入力に対応しているソフトであれば余計な色変換をされずにすむ
(YUVをRGBで読み込み出力時YUVで保存すると再びYUVに変換されるので更に色が減る)

ドット絵の鮮明さを保つには録画時RGBを推奨
特にLagarithはここで挙げた色空間を選択出来るので重宝する


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。