★おしらせ★
ここはややマニアックなので、家庭用ビデオ編集向けのもっとベーシックな内容をhttp://dtv.sakura.ne.jp/に展開中です。あわせてご覧ください。

まえがき

PCで動画再生するとなんか色が変だなあと思ったことはありませんか?
これはシリーズの第1話です。話は最終的にDV編集になるつもりです。
用語の使い方とか内容はだいぶアバウトですが、致命的に間違ってたら教えてください。

色の表現方法

PCの世界で色といったらたいていの人が赤緑青(RGB)の組み合わせ↓ ↑を思い浮かべると思います。 この図では赤・緑・青がそれぞれ0〜255の256段階で表され、全部0だと黒、全部255だと白になります。
これに対し、TVやビデオの映像でよく使われる、「輝度」「色差(青)」「色差(赤)」の組み合わせ↓ ↑という色の表現のしかたがあります。 TVの世界では、PCの世界と違って、0〜255をフルで使っていません。例えば輝度で説明すると16が黒、235が白です。
このように、TVの世界とPCの世界では「ものさし」が違うのです。左側に摂氏、右側に華氏がついてる温度計みたいなものです。(←同じ「氷が融ける温度」「水が沸騰する温度」でも数字が違いますね。)
TVの世界で作られたデータを、PCの世界で表示するときのことを考えると、↓ ↑TVの世界のデータをPCの世界のデータにどう変換するかがポイントになります。

色空間の変換

まずはその1から。TVの世界の色情報を、PCの世界の色情報にするときの方法を考えます。 (ここでは明暗を例にとり、考え方を述べますが、色(色差)についても同じです。実際の変換式には触れません。)
やり方としては目盛りの数字がそのままになるように変換するストレート変換 ↑というやりかたと、TVの世界の「明」「暗」がPCの世界でも「明」「暗」になるように変換するYC伸長する変換↓ ↑の2つがあります。(Yは輝度、Cは色差のことです。輝度と色差を引き伸ばして変換するという意味です。)
DVカメラの映像をキャプチャしたものをストレート変換してPCで見ると、TVの世界の「白(明)」「黒(暗)」は、PCの世界では「やや灰色の白」「やや灰色の黒」になります。その代わり、16〜235の範囲外のデータも保持されます。
YC伸長して変換したものをPCで見ると、TVの世界の「白(明)」「黒(暗)」は、PCの世界では「白(明)」「黒(暗)」になります。その代わり、16〜235の範囲外のデータは切り落とされます。

誰が変換するのか

映像のデータは、CODECというソフトウェアを中継して再生ソフトに読み込まれ、そこからOSを介してビデオチップ(VGA)に渡されてモニタに出力されます。
この過程のどこかで輝度&色差(以下、YUVと表記)の情報が赤緑青(以下、RGBと表記)に変換されているはずなのですが、いろいろ試したところ(ちゃんと調べろっつう気もするが)次のどれかのパターンだろうと勝手に推測します。↓ ↑詳しく知ってる人がいたら教えてください、いや、分かりやすいサイトを作ってください。

Aのパターン

元のデータがそもそもRGB形式の場合、変換の必要なし。RGB非圧縮のAVIとかを再生する場合が相当する。

Bのパターン

CODECにより変換されるパターン。「CanopusDVはストレート変換」「まるものMPEG2 VFAPIプラグインは変換方式を選べる」とか言う場合がこれに相当する。TMPGEncで動画を開くと通常はこれで読み込まれる。また、AviUtlの「環境設定→コーデックの設定→YUY2展開」をOFFにするとこれになる。昔のMediaPlayer(DirectShowに対応してない?)で再生した場合もこれになる。

Cのパターン

再生ソフトで変換されるパターン。AviUtlの「環境設定→コーデックの設定→YUY2展開」をONにした場合がこれに相当する。また、TMPGEncで、「Canopus DV codecの設定→色空間変換式を指定する」をONにするとこれになる。

Dのパターン

OSで変換されるパターン。WindowsだとDirectShow(だと思う)。マックは謎。最近のMediaPlayer等で、「オーバーレイ(orビデオアクセラレーション?)を使用」をOFFにするとこれになる。

Eのパターン

ビデオチップで変換されるパターン。最近のMediaPlayer等で、「オーバーレイ(orビデオアクセラレーション?)を使用」をONにするとこれになる。RADEON系はYC伸長、GeForce系はストレートらしい。ちなみに我が家のi845GEはムチャクチャ変換(涙)。

サンプル

CanopusDV→ストレート変換 と短絡的に考えていたけど、C〜Eのパターンで再生すれば伸長されたものが目に届くらしい。無条件に色調補正で伸長していたが、間違いだったもよう。(このページの花火画像なんかまさにそれで、差し替えました。)
具体的にはある映像をBのパターンで再生するとこう↓ ↑なっているのだが、Dのパターンで再生するとこう↓ ↑なり、Eのパターンで再生するとこう↓ ↑なる(イメージです)。もうわけわからんて。

結論

むずかしすぎ。がんばってビデオ編集して人にあげても、むこうがちゃんと再生してくれるとは限らないし。