AviUtlの色変化のナゾ


検証方法
 自作カラーチャートを作りました。PNG圧縮しているので、色調は異なるかも。。。
と思ったら大丈夫みたいです。追試したい方はこいつをBMP保存すれば使えます。


Fig1.自作カラーチャート

本カラーチャートRGB値。(R,G,B)、配置順に表示。

(255,0,0)、(224,0,0)、(192,0,0)、(160,0,0)、(128,0,0)、(96,0,0)、(64,0,0)、(32,0,0)

(0,255,0)、(0,224,0)、(0,192,0)、(0,160,0)、(0,128,0)、(0,96,0)、(0,64,0)、(0,32,0)

(0,0,255)、(0,0,224)、(0,0,192)、(0,160,0)、(0,0,128)、(0,0,96)、(0,0,64)、(0,0,32)

ず〜っと(255,255,255)

このビットマップをAviUtl 0.96iに読みこませ、「セーブ中のみフィルタを有効」OFF、フィルタ処理は一切無し、「現在の画像イメージをクリップボードにコピー」し、お絵かきソフトでRGB値を取得します。

検証結果
 上記手順で得られたRGB値
(252,0,0)、(222,0,0)、(190,0,0)、(158,0,0)、(127,0,0)、(95,0,0)、(63,0,0)、(31,0,0)

(0,251,0)、(0,220,0)、(0,188,0)、(0,157,0)、(0,126,0)、(0,94,0)、(0,63,0)、(0,31,0)

(6,6,255)、(6,6,230)、(5,5,197)、(4,4,164)、(3,3,131)、(2,2,98)、(1,1,65)、(0,1,32)

ず〜っと(255,255,255)

元画像とAviUtlを通した画像の、TMPGEncでのRGBヒストグラム(TMPGEncは色調変化しないので)。見やすくするために上下方向に縮小かけています。


Fig2.RGBヒストグラムの比較

・変化点
 1)R,Gのコントラスト低下。Gのほうが若干程度が大きい。
 2)Bのコントラスト増大。線形だとすると、「青飛び」状態。
 3)B成分にR,Gが混じる(致命的)

 1)、2)は、R,Gのコントラストだとすると、白が変化していないのがおかしい。ましてや、3)は不可解です。別途白黒のチャートで試したのですが、この場合は変化がありませんでした。すると、色差成分の誤差か、と思われるところですが、色差をどういじっても元に戻りませんでした(滝涙

どの段階で変化が起こるのか
 「セーブ中のみフィルタを有効」OFFにすると、メインウインドウ内の画像から既に色変化します。ONにすると、メインウインドウの色変化は無くなりますが、AVI出力するとやはり、色が変化してしまっています。このことから、色変化バグはフィルタ処理ルーチン内に含まれ、かつフィルタ本処理内では無さそうであることが想像されます。最終段のYUV→RGB色空間変換あたりでしょうか?(AviUtlのフィルタはプラグインも含めてYUVで固められている)

拡張色調補正であがいた結果(汗
 B offs-6、gain+10、gamm+5
 G offs-6、gain+11、gamm+6
 B offs-4、gain+-0、gamm+2


Fig3.補正値のスクリーンショット

このときのRGB値〜(TーT)ノ

(255,0,0)、(225,0,0)、(194,0,0)、(161,0,0)、(128,0,0)、(95,0,0)、(62,0,0)、(28,0,0)

(0,255,0)、(0,225,0)、(0,193,0)、(0,161,0)、(0,128,0)、(0,95,0)、(0,62,0)、(0,28,0)

(1,1,255)、(0,0,226)、(0,0,193)、(0,0,161)、(0,0,128)、(0,0,95)、(0,0,62)、(0,0,29)

ず〜っと(255,255,251)


Fig4.補正ヒストグラムの比較

はううぅ、白が白じゃ無くなっちゃった(;´Д`)

 B成分への混じりを低減させようとすると、RG共に飛ばし気味にしないとダメでした。なので、この方法はこのチャートに対してはOKですが、普通の映像だと破綻が生じるかもです(滝汗

結論
 これを色作りに転化できる強者なら問題ありませんが、おいらのようなヘタレは、この現象の起こらないAviUtl 0.96gに逃げときます(^-^;;

 戻る


 Copyright(C) もりのみやこ

hi6@nnet.ne.jp