低遅延ビデオキャプチャ製品

提供: MonoBook
2022年2月14日 (月) 09:48時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「== 遅延の原因 == ビデオキャプチャにおける遅延の原因はほぼ「データ圧縮」である。 必要な帯域 * フルHD, 60fps = 1920 x 1080 x 4…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

遅延の原因

ビデオキャプチャにおける遅延の原因はほぼ「データ圧縮」である。

必要な帯域

  • フルHD, 60fps = 1920 x 1080 x 4 x 60 = 475MB/s

USBの帯域

  • USB 2.0 = 60MB/s
  • USB 3.0 = 625MB/s
  • USB 3.1 = 1250MB/s

見ての通り「フルHD60fps」を流すにはUSB 2.0では帯域が全然足りない。USB 3.0になると理論値ではフルHD60fpsを流せるが、現実問題として理論値ギリギリの数値など出るはずもなく、やっぱり足りない。

この問題を解決すべく、安いビデオキャプチャ製品ではUSBの狭い帯域に大きなデータを流す手法として「Motion JPEGなどで圧縮して送信する」ということが行われている。大雑把にいえばJPEGに圧縮して送信しているわけだ。これによりUSB 2.0の60MB/sという狭い帯域でもフルHDの動画を流すことができる。

ただJPEG圧縮に時間がかかる。表示するパソコン側もJPEG伸張に時間がかかる。これが遅延である。

解決策:圧縮速度を上げる

ビデオキャプチャ製品のハードウェアを高性能にしてJPEG圧縮の速度を高速化する手法である。1万円前後の製品に多い。

利点はJPEGの伸張はさほど重くないのでPC側が低性能でも良い。

欠点はJPEG圧縮されているので映像の劣化は避けられない。

解決策:圧縮しない

USB 3.1やUSB 3.2の広い帯域を使って無圧縮で力任せにデータを垂れ流す手法である。2万円以上する製品はほぼこれ。

利点はPC側で表示するだけなら「ほぼ遅延ゼロ」にできる。また無圧縮なので劣化も一切ない。

ただし表示だけでなく、ライブ配信しようとするとPC側でCPUを使って圧縮する必要があり、そこそこのハイスペックなCPUが求められる。

またUSBケーブルなどにノイズが乗ると映像が映らないことがある。デジタルなので「劣化」ではなく「断線」のような状態になる。1メートル以上のケーブルを使うとでのエラー率は結構高い。