ファミコンの映像をくっきりはっきり高画質化実験

fcmother

ファミコンをビデオ出力に改造して、今はビデオキャプチャ経由でパソコンのモニターに映して遊んでいます。
ある時ビデオ信号を観測していたら、波形がちょっとなまっていることに気づきました。
fcvideo
こちらがビデオ信号の波形の一部、水平同期とカラーバーストの部分になります。矢印の部分が水平同期信号が終わる部分に注目すると、本来ならばカクカクしているはずが、角が取れて丸くなっています。この後に続く波なみの波形のカラーバースト信号も、PPUはカクカクの波形を生成していると思われますが、なまってなみなみになっています。
ここがなまっているということは、文字や輪郭など映像が少しボケていることになります。
 波形を補正する回路を考える
波形が変化する部分がなまっているということは、変化する部分を逆に強調するよう補正することにします。
具体的にはこんな回路にして見ます。
fcvideofilter
上記の回路の左側がフィルター、右側が2倍の増幅回路です。この回路は、周波数がある値を境に、倍率が1倍、2倍と変化するフィルター回路です。周波数特性は上記のグラフのようになります。
左のフィルター回路は、R1とR2で波形の振幅を1/2に小さくする回路です。この信号を右側のアンプで2倍にするので、元の振幅に戻ります。なので、R1とR2だけでは何も変化しない回路です。
そして、R1と並列にコンデンサC1を入れます。すると、周波数が高い時だけ、すなわち信号が変化する瞬間だけ、信号がC1をバイパスして流れ、振幅が小さくならずに2倍のアンプに入ります。このため、信号が変化するときは、変化しない時の2倍に大きくなります。すなわち変化する部分が、強調されることになります。C1の値で、1倍から2倍に変化する周波数を設定します。
 実験
fcvideocorrecter
原理はよくわからなくても大丈夫。とにかく実験してみましょう。パラメーターは上記のようにします。抵抗値は4.7kΩを2つにしました。PPUの出力が弱くためか、抵抗値はこれより小さくすると波形が小さくなってしまいました。そして、コンデンサの値は、0pF(未実装)、10pF、22pF、44pFと変化させて効果を見てみます。
 波形の補正結果
filterwave
矢印の部分、水平同期信号の終わり部分に注目してください。0pFは角が丸まっています。
10pFはほぼ直角に補正されています。22pFはちょっと上がり過ぎて元に戻っていてやや強調気味になっています。44pFはかなり上がり過ぎていて、強調し過ぎとなっています。
この結果、10pFが波形的には一番いい感じになまりが補正されていることになります。
 映像の変化
それでは映像はどのような変化があったのでしょうか。
dq0
こちらがドラクエIIの映像の違いです。よくわからないので、一部を拡大して見ます。
dq2
コンデンサの値が大きくなるにつれて、ボケた輪郭がしっかりしていくのがわかるでしょう。
次にMotherの映像も見てみましょう。
mot0
これも一部を拡大して見ます。
mot1
mot2
くっきり感としては 44pF > 22pF > 10pF > 0pF なのは一目瞭然ですね。44pFは輪郭が強調され過ぎて、輪郭の周辺が少し明るくなってしまっています。さらに縦縞ノイズもちょっと強調されてしまっていますね。
見た目としては、ちょっとだけ強調した22pFがいい感じなのではないでしょうか。
 まとめ
fcvideocorrecter
ファミコンのビデオ出力ピンに、上記のフィルター回路をつけることで、なまった波形を補正し、ボケを改善できることがわかりました。フィルターのコンデンサの値としては、波形的には10pFがベストですが、映像の見た目としてはちょっと強調気味の22pFがいいことがわかりました。
これで、今までよりも映像がくっきりはっきり高画質化することができます。
 関連記事

コメント