AviUtlの「色変換の設定」についての私のメモ的な記事です。
※私が勝手に思っているだけで間違ってる可能性大なので、流し見程度に見てください
色変換の際の係数(colormatrix)
パソコンのディスプレイは色の3原則(RGB)で表示されるのに対し、動画ファイルの多くはYUV系です。
YUV系の動画ファイルを再生する際には、YUV→RGBに変換してディスプレイに表示させます。
この時、YUV→RGBに変換する時に使用する「係数」のようなものの事を「colormatrix」と言います。
この係数に応じてデコーダでは映像の色を決定します。
例えば、デコーダ側(再生プレイヤー等)が再生する際に使用する「colormatrix」と、動画データの「colormatrix」が一致していないとおかしな色で出力されてしまったりもします。
「BT.601」と「BT.709」
AviUtlでよく使用する「colormatrix」には「BT.601」「BT.709」があります。
※「BT.601」はNTSCで使われてて、「BT.709」はHDTV、Youtubeとか色々などで使われます。
AviUtlでは、デフォルトの「入力」と「出力」設定が「自動」になっていますが、これは読み込んだ動画の縦解像度が「720px」以上なら「BT.709」、「BT.709」以下なら「BT.601」として読み込まれる設定です。
基本的にはどのような動画もこの方式に従って「colormatrix」が「BT.709」か「BT.601」に割振られているようですが、中には縦解像度が「720px」以上なのに「BT.601」として設定されるキャプチャボードなどもあるらしい?です。
また、動画データの「colormatrix」が「BT.709」となっているのに、デコーダ側がそれを無視して強制的に「BT.601」として読み込んだりする場合もあるらしいです。(flashプレイヤーなどはDXVAを有効・非有効によって動作が異なったりするらしいです)
AviUtlでの読み込みの流れ
AviUtlの場合は、「入力→YC48(AviUtl専用の色空間)として処理→出力」と言った流れになります。
YC48というのは「BT.601なYUV422」として捉えて良いみたいです。
AviUtlでの設定例
例えば「BT.709」で「YUY2」な色空間の動画ファイル(縦解像度720以上)を読み込む際には以下のように設定すると良い。
- 「色変換の設定」の「入力」を「自動」か「BT.709」
- 「色変換の設定」の「出力」を「自動」か「BT.709」
例えば「BT.709」で「RGB」な色空間の動画ファイル(縦解像度720以上)を読み込む際には以下のように設定すると良い。
- 「色変換の設定」の「入力」を「自動」か「BT.709」
- 「色変換の設定」の「出力」を「自動」か「BT.709」
- 「ファイル」→「環境設定」→「コーデックの設定」から該当コーデックの「YUY2で展開する」と「YUY2で圧縮する」のチェックを外す
- デフォルトでは全てYUY2として読み込む設定になっています
例えば「BT.709」で「YUY2」な色空間の動画ファイル(縦解像度720以下)を読み込む際には以下のように設定すると良い。
- 「色変換の設定」の「入力」を「BT.709」
- 「色変換の設定」の「出力」を「BT.709」
このページの情報は以上です。
コメント