「低遅延ビデオキャプチャ製品」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の6版が非表示)
2行目: 2行目:
 
ビデオキャプチャにおける遅延の原因はほぼ「データ圧縮」である。
 
ビデオキャプチャにおける遅延の原因はほぼ「データ圧縮」である。
  
必要な帯域
+
「フルHD60fps」に必要な帯域
 
+
* 1920 x 1080 x 4 x 60 =  475MB/s
* フルHD, 60fps = 1920 x 1080 x 4 x 60 =  475MB/s
 
  
 
USBの帯域
 
USBの帯域
 
 
* USB 2.0 = 60MB/s
 
* USB 2.0 = 60MB/s
 
* USB 3.0 = 625MB/s
 
* USB 3.0 = 625MB/s
 
* USB 3.1 = 1250MB/s
 
* USB 3.1 = 1250MB/s
  
見ての通り「フルHD60fps」を流すにはUSB 2.0では帯域が全然足りない。USB 3.0になると理論値ではフルHD60fpsを流せるが、現実問題として理論値ギリギリの数値など出るはずもなく、やっぱり足りない。
+
見ての通り「フルHD60fps」を流すにはUSB 2.0では帯域が全然足りない。USB 3.0になると理論値ではフルHD60fpsを流せるが、現実問題として理論値ギリギリの数字など出るはずもなく、やっぱり足りない。
  
この問題を解決すべく、安いビデオキャプチャ製品ではUSBの狭い帯域に大きなデータを流す手法として「Motion JPEGなどで圧縮して送信する」ということが行われている。大雑把にいえばJPEGに圧縮して送信しているわけだ。これによりUSB 2.0の60MB/sという狭い帯域でもフルHDの動画を流すことができる。
+
この問題を解決すべく、安いビデオキャプチャ製品ではUSBの狭い帯域に大きなデータを流す手法として「[[Motion JPEG]](JPEGのパラパラアニメ)などで圧縮して送信する」ということが行われている。これによりUSB 2.0の60MB/sという狭い帯域でもフルHDの動画を流すことができる。
  
ただJPEG圧縮に時間がかかる。表示するパソコン側もJPEG伸張に時間がかかる。これが遅延である。
+
ただJPEG圧縮はかなり重い処理なので時間がかかる。
 +
これが遅延の原因である。
 +
なお、受信後の[[PC]]側でJPEG伸張する処理は圧縮に比べてかなり軽いのであまり問題にならない。
  
 
== 解決策:圧縮速度を上げる ==
 
== 解決策:圧縮速度を上げる ==
30行目: 30行目:
 
USB 3.1やUSB 3.2の広い帯域を使って無圧縮で力任せにデータを垂れ流す手法である。
 
USB 3.1やUSB 3.2の広い帯域を使って無圧縮で力任せにデータを垂れ流す手法である。
  
2万円以上する製品はほぼこれ。構造的には非常にシンプルなので安くできそうなものだが、「ほぼ業務用」とあまり需要がないので価格は高い傾向にある。実際に[[Blackmagic]]の製品を分解してみると「[[Spartan-6]]が1個入ってるだけ」と非常にシンプルであった。
+
2万円以上する製品はほぼこれ。構造的には非常にシンプルなので安くできそうなものだが、「ほぼ業務用」とあまり需要がないので価格は高い傾向にある。実際に[[Blackmagic]]のIntensityを分解してみると「[[Spartan-6]]が1個入ってるだけ」と非常にシンプルであった。
  
 
利点は[[PC]]側で表示するだけなら「ほぼ遅延ゼロ」にできる。また無圧縮なので劣化も一切ない。
 
利点は[[PC]]側で表示するだけなら「ほぼ遅延ゼロ」にできる。また無圧縮なので劣化も一切ない。
  
欠点はハイスペックな[[PC]]側が必要な点であり、ポンコツな[[社畜PC]]などに繋いだバカから「使えない」と苦情が殺到しかねないため、家電量販店などでは売りにくいという問題を抱えている。
+
欠点はハイスペックな[[PC]]側が必要な点であり、ポンコツな[[社畜PC]]などに繋いだバカから「使えない」と苦情が殺到しかねないため[[家電量販店]]や[[パソコンショップ]]などでは売りにくいという問題を抱えている。
  
またUSBケーブルなどにノイズが乗ると映像が映らないことがある。デジタルなので「劣化」ではなく「断線」のような状態になる。1メートル以上のケーブルを使うとでのエラー率は結構高い。
+
またUSBケーブルなどにノイズが乗ると映像が映らないことがある。デジタルなので「劣化」ではなく「断線」のような状態になる。高品位なケーブルでも1メートル以上だと結構な確率でエラーが発生する。2メートルのはかなり絶望的な感じ。当然ながら100均などの安物は全滅。

2022年2月15日 (火) 04:15時点における最新版

遅延の原因[編集 | ソースを編集]

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

「フルHD60fps」に必要な帯域

  • 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圧縮はかなり重い処理なので時間がかかる。 これが遅延の原因である。 なお、受信後のPC側でJPEG伸張する処理は圧縮に比べてかなり軽いのであまり問題にならない。

解決策:圧縮速度を上げる[編集 | ソースを編集]

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

利点はJPEGの伸張はさほど重くないのでPC側が低性能でも良い。 ほぼどんなポンコツPCでも利用できるため家電量販店などで売りやすい。

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

解決策:圧縮しない[編集 | ソースを編集]

USB 3.1やUSB 3.2の広い帯域を使って無圧縮で力任せにデータを垂れ流す手法である。

2万円以上する製品はほぼこれ。構造的には非常にシンプルなので安くできそうなものだが、「ほぼ業務用」とあまり需要がないので価格は高い傾向にある。実際にBlackmagicのIntensityを分解してみると「Spartan-6が1個入ってるだけ」と非常にシンプルであった。

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

欠点はハイスペックなPC側が必要な点であり、ポンコツな社畜PCなどに繋いだバカから「使えない」と苦情が殺到しかねないため家電量販店パソコンショップなどでは売りにくいという問題を抱えている。

またUSBケーブルなどにノイズが乗ると映像が映らないことがある。デジタルなので「劣化」ではなく「断線」のような状態になる。高品位なケーブルでも1メートル以上だと結構な確率でエラーが発生する。2メートルのはかなり絶望的な感じ。当然ながら100均などの安物は全滅。