【USBカメラ】USB2.0と3.0の解像度限度

【USBカメラ】USB2.0と3.0の解像度限度

組込み開発のための実践的プログラミング【電子書籍】[ 鷹合 大輔 ]

価格:2,970円
(2020/2/7 14:29時点)

ながれです。

 

今回は下回りの話になります。

私は組み込み開発で、USBカメラ周りの開発に携わりました。

USBカメラの映像を表示するソフトウェアを開発したのですが、どう頑張っても全然パフォーマンスが出ない時がありました。

その中で色々と調べながら学んだことについて、お話します。

 

下回りの話になりますが、アプリにも関わる話でもありますので是非最後までご覧ください!

 

はじめに

USBカメラの映像を表示するアプリを開発する際、以下の3つが重要になってきます。

・解像度

・フレームレート

・圧縮方法

ご存知とは思いますが、補足します。

解像度:「640×480」や「1920×1080」など、横と縦のピクセルを表す数値です。この数値が大きいほど、画質が綺麗になります。ちなみによく聞く画質でフルHDは1920×1080、4Kは3840×2160です。

フレームレート:映像のコマ数を表します。映像は、何枚もの画像をパラパラ漫画のように見せることで、動いているように見せています。フレームレートとは、その画像が一秒間に何枚見えるのか?を表す値です。例えば、フレームレートが30の場合、画像が一秒間に30枚見えるため、フレームレート30未満よりもヌルヌルな映像になります。

圧縮方法:映像の圧縮方法を表します。先程説明した通り、映像は複数枚の画像で構成されています。その画像を圧縮することでUSBカメラ→ソフトウェアへの画像の転送速度が上がります。ただし処理コストが上がります。理由については、また今度説明します。

【送料無料】Logicool C1000e 4K HD Webカメラ ウェブカメラ Web会議 ウェブ会議 会議マイクスピーカー カメラ内蔵 フルHD 1080P Skype/FaceTime 対応 USB接続

価格:28,000円
(2020/2/7 14:31時点)

USB2.0とUSB3.0

さて、本題です。

私の経験した開発では、USBカメラの映像をPCやスマホなどの端末に表示するソフトウェアを作成していました。

先ほどの、全然パフォーマンスは出なかったというのは

想定していたフレームレートが出なかった、ということです。

例えば、USBカメラ側でフレームレート30と設定しても、ソフトウェア側ではフレームレート10程度しか出ていない、というような現象です。

 

結果として、原因はソフトウェア側ではなくUSBの規格の問題でした。

 

USBカメラ→端末内ソフトウェアへの映像の転送速度は、解像度・フレームレート・圧縮率によって変わります。

高解像度・高フレームレート・無圧縮の映像を転送するには、限度があるということですね。

で、USBはUSB2.0とUSB3.0がありますよね。

USB2.0よりもUSB3.0の方が転送速度は早いです。(当たり前ですね)

ここで、私はつまづいてしまったのです…。

わかる人だったら、そんなことで引っかかってるのか笑となるようなことです。

 

それでは、具体的にUSB2.0・USB3.0とUSBカメラの転送可速度を見ていきましょう。

 

USB2.0とUSB3.0の転送速度

USB2.0とUSB3.0の転送速度の理論値は以下となります。

USB2.0 : 480Mbps

USB3.0 : 5Gbps

理論値を超える速度は出ません。

 

次にUSBカメラの転送速度を見てみましょう。

USBカメラの転送速度は以下のように計算できます。

 

(解像度)×(圧縮方法)×(フレームレート)×(色空間(RGBとか))=転送速度(bps)

今回、色空間はあまり気にしなくて良いです。

例えば、解像度フルHDでフレームレート30の圧縮方法はYV12の場合

1920×1080×1.5×30×8=746,496,000bps(約746Mbps)

となります。

 

746Mbpsということは、USB2.0の理論値を超えています。

こうなると、フレームレート30は出なくなるわけです。

 

これが、全然パフォーマンスが出ない原因となっていました。

 

おわりに

アプリ開発をする方も、カメラを使用するアプリを作る可能性があります。

クライアントの要件で、USBカメラも対応してほしいとなった際には、上記の転送速度の話を思い出してください。

クライアントによっては、USB2.0やUSB3.0の転送速度の話を知らない場合があります。

 

よくわからないまま、「対応可能です!」というのは後々問題になりますので、ご注意ください。

組み込みソフトウェア開発スタートアップ ITエンジニアのための組み込み技術入門 (Design wave mook) [ Design wave magazine ]

価格:2,420円
(2020/2/7 14:33時点)

PCカテゴリの最新記事