index

2007年 3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
2007年 4月
              1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
  30            
2007年 5月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

アレ

ビデオカードのYC伸張機能   ▽20070422a #コンピュータ #動画圧縮

まずそもそも「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 がもちっと現実的な性能・価格のビデオカード出してればこんなことにはぶつぶつ……

index