まずそもそも「YC伸張」って何ですかというと.
PC で色を表現する時には,RGB それぞれ 0~255 で扱うのが一般的.んが,テレビなんかのアナログデータでは,歴史的理由により,「輝度 + 色彩」みたいなので情報を持つ.これを YUV とかそんな感じの名前で呼ぶ.
で,この YUV をデジタルデータで表現するためにアレコレ定めた ITU-R BT.601 なる規格があるのだけど,この規格に従って作成されたデジタルデータは,輝度が 16~240 の範囲に収まるようになっている.つまり解像度が 256段階でなく 225 段階なわけだ.
で,PC では色が 0~255 段階になってるわけなんで,YUV → RGB の変換をやる時に,例えば 16 の時には 0 に,240 の時には 255 になるようにスケールしてやって,PC の色をきっちり使い切るように変換する.これが「YC伸張」.
YC伸張しないで 16~240 が RGB の 16~240 になるように変換しちゃうと,真っ白の部分がなんだか暗く灰色に,真っ黒の部分もなんだか明るく灰色に.うわ「灰色」って曖昧な表現だなぁ.
で,だ.ここから本題.
普通はビデオカードが動画再生の時にデータを YC 伸張してくれるんで,動画データ自体は 16~240 の方で情報を持っておいて,再生時に伸張されることを期待する.誰だってそーする.俺だってそーする.
そしたらですね,うちの環境,nVidia の GeForce7600GS-Z なんだが,どーーも YC 伸張してくれねーわけですよ.ドライバなのかカードなのかわからんがあーもークソ.
とか悪態をつきつつ,なんだか薄暗い動画再生を悲しんでいたのだけど,ある日なんとなく検索でYC伸張するようになる設定ってのを見つけまして.
ほうほう.これは ForceWare 90.x 系の問題点だったのか.GeForce7600GS-Z 買った時からもうそのレベルのバージョンだったから知らんかったわ.レジストリ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{GUID}\0000 に "VMRCCCSStatus"=dword:00000003 とな.
ってことで,さくっとレジストリエディタでホゲって再起動~っと.うわあい YC 伸張したよ!これで F1 の LiveTiming の録画がキレイな色で見れるよ!うわあいっていうかこれが普通じゃね?じゃね!?
というわけで,GeForce で動画観るひとでこの設定してないひとは,今すぐやりましょう.
あーもーなんで nVidia ってこう動画関係が最初から変なんだろう……Matrox がもちっと現実的な性能・価格のビデオカード出してればこんなことにはぶつぶつ……