UVC は USB ビデオ クラスの略です。 USB ビデオ デバイスがホストと通信するための標準化された方法を定義します。 UVC 互換カメラは、多くの場合、クラス ドライバーが既に含まれているオペレーティング システムによって認識されます。そのため、UVC は Web カメラや組み込み USB カメラ モジュールで一般的です。
製品開発者にとっての主な利点は、統合速度です。完全にカスタムの USB ビデオ ドライバーを作成する代わりに、アプリケーションは多くの場合、オペレーティング システムの既存のビデオ フレームワークを通じてカメラにアクセスできます。これは、迅速な評価が重要なプロトタイプ、キオスク、産業用 PC、組み込み Linux または Windows デバイスに役立ちます。
UVC では、カメラのセンサー、レンズ、FOV、画質、サポートされている解像度、フレーム レートはわかりません。また、すべてのオプションのコントロールが同じ方法で実装されることも保証されません。 2 台の UVC カメラは、異なるフォーマット、露出制御、オートフォーカス機能、または拡張ユニットを露光できます。
したがって、「UVC 互換性」は、完全な互換性の質問ではなく、ドライバー クラスの質問に答えます。
UVC モジュールは、MJPEG、YUY2、またはその他の形式を出力できます。これらにより、さまざまな帯域幅と処理要件が作成されます。たとえば、一見高い 4K フレーム レートは MJPEG でのみ利用可能ですが、非圧縮 YUY2 は低い解像度またはフレーム レートに制限されます。
仕様を読むときは、必ず解像度とフレーム レートおよびフォーマットを組み合わせてください。
ほとんどの主流デスクトップ オペレーティング システムは UVC をサポートしていますが、組み込みホストはカーネル バージョン、USB コントローラの動作、利用可能な帯域幅、アプリケーション フレームワークが異なる場合があります。カメラは正しく列挙しても、ホストがそれを維持できないため、目的のモードを提供できない場合があります。
特に高解像度またはマルチカメラ設計の場合、正確なターゲット ボードとオペレーティング システムをテストします。
標準 UVC コントロールには、カメラに応じて、明るさ、コントラスト、露出、またはフォーカスが含まれる場合があります。より特殊な機能 (外部トリガー、独自の ISP 設定、センサー レジスター) には、ベンダー固有の制御が必要な場合があります。これらは、デバイスが UVC であるという理由だけで自動的に利用可能になるわけではありません。
インターフェイスのバージョン、サポートされている解像度、フレーム レート、ビデオ形式、利用可能なコントロールの 5 つの項目を確認します。次に、ホスト OS、ケーブルの長さ、他の USB デバイスが同じコントローラーを共有しているかどうかを確認します。これにより、統合作業の現実的なビューが得られます。
Windows ラップトップは UVC カメラをすぐに認識する可能性がありますが、組み込み Linux ボードは同じデバイスを列挙しても、カーネル、USB コントローラー、またはデコーダーの制限により、要求された 4K モードを提供できない場合があります。どちらの場合もカメラは UVC のままです。これは、クラス ドライバーのサポートとアプリケーション レベルのパフォーマンスが 2 つの別個のレイヤーであることを思い出させるのに役立ちます。
OEM 検証では、カメラの検出、モード ネゴシエーション、再接続、および最終アプリケーションが使用する正確なキャプチャ フレームワークをテストします。
UVC は重要なビデオ デバイスの動作を標準化しますが、ベンダーはさまざまなコントロールや拡張ユニットを公開する可能性があります。外部トリガー、独自の ISP チューニング、または異常なセンサー モードは、標準制御の範囲外にある場合があります。プロジェクトが特別な関数に依存している場合は、UVC がそれをカバーすると仮定するのではなく、ホストがその関数にどのようにアクセスするかを尋ねてください。
通常、ドライバーの作業は軽減されますが、正確なホスト OS、USB コントローラー、ビデオ モード、およびオプションのコントロールについては依然として検証が必要です。
いいえ、UVC はデバイス クラスです。 USB2.0 と USB3.x は、トランスポート インターフェイスと帯域幅を記述します。
はい、モジュールにオートフォーカス ハードウェアが含まれており、関連するコントロールが公開されている場合は可能です。 UVC 自体はオートフォーカスを必要としません。