JR-100のビデオ出力のカラーNTSC化(4) S-Video出力完成、しかし……

プログラミング

前回の同期ずれ問題を解消すべく、そもそもビデオキャプチャ側で同期分離する必要がなくなるようS-Videoでの出力化をすることにしました。S-Videoでは輝度信号(Y)と色信号(C)を分離して出力すれば良いです。JR-100からのコンポジットビデオ信号はS-VideoでのY信号そのものなので、JR-100の出力をそのままYに流してやり、適当なタイミングでC信号を出力すればよいはずです。

回路図

回路図の基本は前回のものを踏襲します。ただし次の2点を組み合わせて合計4パターンで実験してみることにします。

  1. 水平同期信号の幅
    JR-100の水平同期信号の幅は9.05μsと規格よりだいぶ長くなっているので、これをそのままにするのか規格通り4.7μsにするかで結果の違いを見てみます。回路としてはPICの空いているI/OポートとビデオスイッチICを使うことにします。ビデオスイッチIC NJM2246を使って、PICのRA0の状態がLowのときはJR-100のコンポジットビデオ信号、HighのときはRA1の電圧を切り替えるようにします。具体的には水平同期信号を検知してから4.7μs後にHighにし、9.05μs後より少し後(JR-100の水平同期が終了した後)にLowに戻すことで、水平同期信号の開始はJR-100からのタイミングそのままに同期信号幅を任意の時間に調整することができます。なおPICのRA1の出力電圧をJR-100のコンポジットビデオ信号のペデスタルレベルに合わせるため、抵抗で分圧してNJM2246に入力します。NJM2246の出力は、インピーダンスを75Ωにするためのトランジスタ回路を入れて、ACカップリングとしておきます。
  2. カラーバースト信号の生成
    カラーバースト用の信号をPICで生成することで、規格で求めている期間のみ3.579545MHzの信号を生成することとしていますが、これの欠点は、サンプル数が1周期当たり6点しか取れなかったことと、抵抗の分圧を使った簡易的な5bitのDACなので電圧誤差が発生してしまうことです。そこで水晶発振子の出力をそのままC信号の流し続けることで、これらの問題は解消できるであろう(ただし文字には変な色がついてしまうかもしれない)という予想のもと、これを実現する回路も加えました。
    クロックはこれまで水晶発振子をPIC直付けしていたところを、外部回路で生成するようにしました。またこのクロック信号を抵抗で分圧してC信号として出力します。一応ACカップリング用のコンデンサと75Ωの負荷抵抗を入れておきます。

実験

ということで早速実験してみます。それぞれのパターンで、ディスプレイ(VA BOX2でキャプチャして液晶ディスプレイに出力したもの)とオシロでキャプチャしたY/C信号波形を示します。

パターン1: 水平同期4.7μs、カラーバーストはPICから

VA BOX2でのキャプチャはできています。ただし当初の目的であるGV-USB2ではキャプチャできず。信号のタイミングは期待通りですがダメでした。ちなみに信号波形のうち青い線がY信号、赤い線がC信号です。オシロで観測したときは画面委πに市松模様を表示しています。

パターン2: 水平同期4.7μs、カラーバーストは水晶から

これもGV-USB2でのキャプチャはできず。カラーバーストの信号が映像期間にもでているため、これにより画面が緑付いてしまいました。

パターン3: 水平同期9.0μs、カラーバーストは水晶から

これもGV-USB2ではキャプチャできず。水平同期信号が長いと全体的に画面が緑付いた白っぽくなりました。

パターン4: 水平同期9.0μs、カラーバーストはPICから

これもGV-USB2ではキャプチャできず。色は付かなくなりましたがやはり全体的に白っぽくなりました。

なおGV-USB2の出力を、アマレコTVを使ってキャプチャするとこんなになります。

JR-100出力をそのまま取り込んだときには何も表示されない状態でしたが、S-Videoだと一応何らかのキャプチャが行われていることが分かります。この結果からY/Cを事前に分離しておくことの有効性が分かりました。ただ垂直同期が全然合いません。

ここでふと思ったのですが、JR-100のビデオ信号のフレームレートはノンインターレースで62.4fpsですね(過去記事で示した垂直同期周波数より)。NTSCだとインターレースの29.97fpsで、ノンインターレース換算しても59.94fpsですからちょっとずれてます。そうか、フレームレートを調整すればうまくいくかも? そこでソフトの設定でフレームレートを62.4fpsにしてみたり少しずつずらしたり31.2fpsにしたりしてみました。しかし……ダメでした。そこでgoogle先生に聞いてみたところ、

フレームレートは、29.97fps固定です。
(出典: フレームレートはいくつですか?)

がーん。キャプチャ対象のフレームレートとキャプチャ後のフレームレートのどちらを言っているかは明確ではありませんが、これにひっかかっているような気がしてきました。もっと早く気づくべきでした……。

となると作戦はまた少し変わります。フレームレートを29.97fpsに変換する、つまりスキャンコンバータを作る必要がでてきました。なおGV-USB2ではなくもっと高性能な機器を使うという選択肢はまだありません:-)

まだ先は長そうです。

 

 

コメント

  1. くろょ より:

    S-Video入力の件、お役に立てたようでなによりです。
    やっぱりスキャンコンバーターが必要になりますか…

タイトルとURLをコピーしました