どうもkohaniiです。
過去にファミコンの映像をHDMIに変換するためにアップコンバーターを購入しました。
アップコンバーターの変換の質は素晴らしいのですが、映像出力の解像度がVGA(640x480)、SVGA(800x600)、SXGA(1280x1024)などパソコンの画面の解像度のため、
所有しているHDMIキャプチャーが解像度に対応していなくてキャプチャーができません。
HDMIキャプチャーが対応している解像度はVGA(640x480)、DVD(720x480)、HD(1280x720)、フルHD(1920x1080)などとテレビ用の解像度です。
この解像度しかキャプチャーできないため、アップコンバーターから直接キャプチャーできる解像度はVGAしかありません。
ただ、VGA解像度はアナログ映像信号のNTSCと有効ライン数が同じなため映像との相性は良いのですが、所有しているHDMIキャプチャーの仕様でRGBの映像をYUV422(別名YUV2)でキャプチャーされてしまいます。
そうなると横方向の色情報が半分に間引かれるため映像によっては情報量が減ってしまいます。
なので、アップコンバーターのVGA解像度出力をスケーラーでフルHDにスケーリングしてキャプチャーすることで、色解像度を落とさずキャプチャーできます。
スケーラー
使えそうなスケーラーを探していたら、Cypress Technology CP-290を見つけました。
このスケーラーはD-Sub 15ピンのアナログ映像もしくはDVI-D映像信号をスケーリングして、HDMIで出力してくれます。
詳しいことはメーカーページのマニュアルに書いてあるので見てください。
この記事ではアナログ映像入力については扱いません。
購入して届きました。白い箱に入っています。
箱の横には型番が書いてあるシールが貼ってあります。
箱の中には本体と説明書、下にはACアダプターが入っています。
本体の保護カバーは事前に外してあります。
本体とACアダプターです。
本体は結構小型で、ケースは金属製で丈夫そうです。
電源はDCプラグで供給します。
ACアダプターはスイッチング電源で、5V 3A出力です。
表パネル
表パネルにはデジタル音声入力、アナログ音声入力、HDMI出力と入力切り替えボタン、出力解像度切り替えボタンがあります。
入力の映像に音声を多重してHDMIに出力する機能があるようです。
裏パネル
裏パネルにはDVI-D映像入力、D-Subアナログ映像入力、電源入力があります。
HDMIはDVI-Dの上位互換なので、変換ケーブルを使えばHDMIを入力できます。
横面
放熱を考えてかケースの横面にはスリッドが入っています。
ちなみに電源スイッチはありません。
アップコンバーターと繋げる
アップコンバーターはDVI-D出力なので、DVI-Dケーブルでスケーラーと接続します。
試しにスケーラーのHDMI出力を色々な解像度の入力に対応しているフルHDのモバイル液晶モニターに映します。
アップコンバーターにはテストパターン表示機能があるので、その出力をスケーリングしてみます。
SXGA → フルHD
アップコンバーターの出力を最大解像度のSXGA 16:9に設定しました。
映りました!
特に問題なく映っています。
一定時間のみ左上に情報が表示されます。
しっかりフルHDで出力されているようです。
VGA → フルHD
アップコンバーターの出力をVGA 4:3に変更しました。
こちらも問題なく映りました。
左上の情報表示も特に変わりません。
さすがに元がVGA解像度となるとかなり線がぼけてきます。
スケーリングの方式はバイリニアではなく少しオーバーシュートしています。
入力が無信号 → フルHD
アップコンバーターの電源を切ると全体が青い画面に変わりました。
入力が無くても出力は継続するようです。
ただし、入力の解像度の変更時、切断時や出力の解像度の変更時などは一時的に映像出力は止まります。
ちなみにある程度の時間動かしているとケースが人肌程度に温かくなります。
HDMIキャプチャーで録画してみる
まずはスケーラーを通さずに640x480でカラーバーを録画してみます。
HDMIキャプチャーの仕様で色情報の正確さは薄いので注意してください。
VGAそのまま
これが基準です。
中心上の部分を拡大してみると、緑と紫の間に暗い緑色が入っています。
下半分の白い縦線は輝度のみでしっかり幅1ピクセルなので劣化していません。
画像には1x1ピクセルの薄いグリッドと、2x1ピクセルのグリッドを入れてあります。
Yが輝度で、UとVが色情報です。
UとVは2x1ピクセルごとにしか変化していないのがわかると思います。
アップコンバーターのDVI-D映像はRGBで、HDMIキャプチャーによってYUVに変換されているため緑と紫の間の輝度にも模様が入っています。
次にスケーラーを通して1920x1080として録画してみます。
入力が無信号
青背景の画面です。
文字の部分をズームしてみると色信号が劣化して滲んでいるのがわかります。
VGA → フルHD
問題なく映りました。
4:3の映像を16:9にスケーリングしたためグリッドの縦横比がおかしくなっています。
入力をVGA 16:9に変更しました。
グリッドの比率が正しくなりました。
ただ、画面の上下に黒い部分が入っています。
この黒い部分は元のVGAの画面には入っていません。
調べてみると上下に25pxずつ黒が入っています。
フルHDの縦の解像度は1080pxなので、1030px(約95%)に圧縮されています。
SXGA → フルHD
まずSXGA 5:4です。
横と縦の画素数が5:4なのでピクセルのアスペクト比は1:1です。
ですがスケーラーによって画面全体が16:9に引き伸ばされています。
SXGA 16:9です。
どちらかというとこちらを使うことになるでしょう。
どちらも問題なく映っています。
VGAにはあった上下の黒い部分はSXGAにはありません。
明るさが違う?
スケーラーを通す前と後を比べてみると明るさが違うのがわかります。
ヒストグラムで見てみます。
オリジナル
スケーリング後
映像信号にはフルレンジとリミテッドレンジがあり、リミテットレンジの場合RGBが16 ~ 235のレベルになります。
スケーリング前のオリジナルのDVI-Dの映像は、おそらくフルレンジです。
そして、スケーリングするとフルレンジからリミテッドレンジに変換されるらしく、さらに暗い16 ~ 207の範囲になるようです。
補正
画像編集ソフトのレベル補正で16 ~ 207の範囲を0 ~ 255に変換してみました。
HDMIキャプチャーの内部がYUVで処理している都合でカラーバー部分の色の濃さが変わってしまっていますが、色のついていない部分が補正で同じになりました。
スケーリングを調べる
VGA 4:3をフルHDにCP-290でスケーリングした画像の輝度を生データで書き出してAudacityで音声として開いてみました。
灰色画面に白グリッドの縦線を拡大したところです。
画素が荒いのでAudacityでリサンプルしました。
この形でピンときた方もいるんじゃないでしょうか。
おそらくこのスケーリングはLanczosの2ローブによるものだと思います。
試しにVGAの画像をImageMagickでLanczos2スケーリングしてみました。
Lanczos2でスケーリングした画像の波形を下に置いてみました。
二つの波形を重ねてみました。
後ろの青色がCP-290スケーラー、前のオレンジがLanczos2です。
ほぼ確実と言っていいほどLanczos2っぽいです。
ただ、これは水平方向の話で、垂直方向にはあまりシャープがかからないようです。
比較してみると縦線は同じなのですが、横線はCP-290の方がすっきりしています。
追記おわり
色の変化や画像がシャープになったり少しクセのあるスケーラーですが、PC用の解像度をフルHDにスケーリングしてくれるのはすごくありがたいことです。
今後水平の色解像度や特殊な解像度の入力が必要になったら使ってみようと思います。
コメント