概要
安いUSB接続のHDMIキャプチャはもっていましたが、もう少し上位機種を購入しようとしたところ、選び方が非常に難しかったので、選び方について調べてみました。
色圧縮について
HDMIは映像系の転送方式なので、一般的なパソコンとは色の管理方法が異なります。
RGB(無圧縮)
RGB(無圧縮)はR(赤)、G(緑)、B(青)を256段階ずつ保存8+8+8で24ビットですが処理しやすいように8ビット足して、2バイト(32ビット)単位で転送する場合が多い方式です。一般的にフルカラーという場合にはこの方式になると思います。
HDMIキャプチャではこの方式はあまり利用されていないようです。
YUV4:4:4(無圧縮)
テレビなどで利用されている方式で、Yがモノクロテレビで使われていた輝度で、Uが青色、Vが赤色を表します。Yの輝度が輪郭やドットになり、そこにUとVで色を乗せているような構造になります。4:4:4で12ビットではなく、比を表しますので8ビットが3つで24ビットになります。4:4:4はRGBと同じく無圧縮になります。
実際には4:4:4で利用することは殆どないと思います。
YUY(YUV422, YUV2)
YUV4:4:4からUとVのビット数を削ったもので16ビットになります。Yはそのままですので輪郭は崩れませんが、色が若干横ににじむような感じになります。輪郭がはっきりしているため、それほど影響がないと言われています。
パソコンやマイコンの場合にはRGB565などで16ビットにしますが、映像系はYUV422が一般的な様です。
NV12(YUV420, YV12, YU12)
YUYから更にビット数を削ったものです。1ピクセルあたり12ビットでDVDやMPGEG圧縮などで利用されているフォーマットです。YUV411に近いフォーマットなのですがUとVを場所により保存対象を変更しています。
ちょっと色がにじみますが、よく使われています。YUVの並びとYVUの並びがあり、微妙に名前が変わります。
ピクセル圧縮について
無圧縮の場合と圧縮している場合があります。
JPEG(Motion JPEG)
圧縮した状態で転送します。転送量が減りますが、不可逆圧縮なので元の映像には戻りません。JPEGを複数つなげて動画にしたものをMotion JPEGと呼びます。
H.264(MPEG-4 AVC)
フレーム単位での差分を考慮して圧縮をした動画フォーマットです。Motion JPEGよりも高度な圧縮ですので、画質は向上しても転送量が減ります。
色とピクセルの関係
色の圧縮なし | 色の圧縮あり | |
ピクセルの圧縮なし | 無圧縮 | YUY, NV12 |
ピクセルの圧縮あり | (PNG) | MJPEG, H.264 |
映像系の転送の場合、色の差が人間には識別しにくいために圧縮していることが多いです。そしてさらに転送量を減らすために、 MJPEGやH.264を使って不可逆圧縮をしてデータ量を減らします。
RGBでの無圧縮転送が一番キレイなのですが、転送量が多くなります。
スペックを見比べてみる
安いキャプチャ
私が使っているのが上記のようなものになります。外見がいろいろありますが、中身は基本一緒です。
1920x1080 - MJPEG/120(実質60)
1280x720 - MJPEG/120(実質60), YUY/10
720x480 - YUY/30
スペックを見てみると、上記のような感じでした。1920×1080のフルHDではMJPEGで120フレームのキャプチャが可能です。ただし、同じフレームを連続して送って来るだけなので実質は60フレームです。
1280×720に解像度を落とすことでYUY(YUV422)が10フレームで利用できます。30フレームでほしいときには720×480以下の解像度に落とす必要がありました。
この機種に関してはUSB2.0での接続なので、パソコンとの転送速度が処理上限になってしまいます。なので処理が軽いはずのYUYでも転送速度が追いつかず高い解像度では利用できません。
反面MJPEGの場合には圧縮でパワーが必要になりますが、転送量が減るので転送できています。
ハードウエアH.264圧縮
大体一万円を超えるものになると、ハードウエアでH.264を圧縮できるものがあります。
1920x1080 - H.264/60
これはお手軽に60フレームを保存可能です。キャプチャにてH.264圧縮済みですので、パソコン側はそのまま保存するだけで構いません。
基本的にH.264以外のフォーマットは使いません。
USB3.0搭載120fps対応
3840x2160 - NV12/30
2560x1440 - NV12/60, YUY/50
1920x1080 - NV12/120, YUY/60, XRGB/30
1280x720 - NV12/60, YUY/60, XRGB/60
私が選んだのはこれです。4Kの場合NV12で30フレーム保存できます。私が欲しかったのが 1920×1080 XRGB/30のスペックで、フルHDを30フレーム無圧縮でキャプチャ可能です。
このキャプチャボードはMJPEGも使えず、ただただ早い転送だけのボードですがRGBでフルHDを無圧縮キャプチャでくるものは非常に少ない感じです。
キャプチャボードの選び方
PCスペックが低い場合
H.264をハードウエアで搭載しているものが非常に軽いのでおすすめです。とはいえ、最近はPCスペックが上がってきているのと、配信は保存で再圧縮かける場合が多いみたいですのでH.264を搭載していなくてもいいんじゃないのって風潮みたいです。
とにかく無圧縮
がんばってRGB出力があるものを探してみてください。あまり需要は無いようです!
スペックの見方
AliExpressとかでいろいろ見てみましたが、露骨なスペック詐欺は少ないみたいです。とはいはUSB3.0はコネクタだけ採用しており、転送速度は2.0ってのが多いので注意しましょう。
見るべき項目はキャプチャできる解像度とフレーム数です。USB2.0だとフルHDはMJPEGなどになってしまいます。またNV12よりはYUYの方がキレイなのですが、転送量が増えるために対応解像度が低くなったりします。このへんの関係を知りつつフルHDでYUYが何フレーム保存できるかを目安に選ぶのがいいと思います。
基本的に詐欺スペックなのは入力を前面に書いてあります。4K対応やフルHDで120fps対応って書いてあっても入力だけで、キャプチャできる性能とは違います。露骨なスペック詐欺は少ないですが、読み間違えるように書いてあります。。。
色の勉強方法
上記のEIZOさんが提供している「RGB データと YUV データについて」の資料が非常にわかりやすかったです。
まとめ
HDMIキャプチャは対応しているキャプチャスペックを見ましょう。通常利用はMJPEGの2千円以下の安いやつで十分です。PCスペックに不安があれば一万円以上するH.264搭載機がおすすめ。最近のパソコンであればちゃんとしたUSB3.0に対応したキャプチャで十分な気がしますが、結構高いやつが多いです。
私が購入したのは無圧縮で外部サウンド取り込みもない最低限のですがAliExpressで4,000円前後でした。ゲーム配信をするのであればHDMIパススルーとかも必要なんで、いろいろ高くなるみたいです。
コメント