USB3 Visionは、産業用カメラ向けのインターフェース規格である。USB 3.0をベースとした高性能カメラのサポートに特に重点を置き、USB規格の拡張仕様として記述されている。USB3 Visionは最も急速に成長しているマシンビジョンカメラ規格の1つとして認識されている。
Association for Advancing Automation(A3)に管理されており、USB3 Vision規格を実装した製品を商用目的で開発するにはライセンスを取得し適合試験に合格する必要がある。参照用または評価用の規格自体は無料で入手することができる。
USB3 VisionはGigE Visionと多くの部分が同じで、GenICamをベースにしているが、イーサネットの代わりにUSBポートを利用しているという違いがある。この規格の主な利点には、 広い帯域幅と低いオーバーヘッド プラグアンドプレイの使いやすさ 5メートルのケーブル1本で伝送と電力供給ができる(アクティブケーブルならもっと長く) GenICamの汎用インターフェース がある。ハードウェア面では、標準的なUSBコネクタに産業用のネジロックを追加したロック式コネクタを定義している。
技術 USB3 Visionは4つの主要領域をカバーしている: デバイス検出(Device Detection) レジスタアクセス(Register Access) データ伝送(Streaming Data) イベント処理(Event Handling)
USB規格は、USB3 Vision用にデバイスを識別するための特定のUSBクラスID(クラス0xEF、サブクラス0x05)を定義している。レジスタアクセス機能には、必須である「USB3 Visionレジスタ」と、シャッタ速度や積分時間、ガンマ補正、ホワイトバランスなどのパラメータを制御する「カメラ固有レジスタ」が含まれる。カメラ固有レジスタはGenICam規格の一部であるXML Schemaファイルを通して参照することができる。GenICam規格には標準機能命名規則(SFNC, Standard Feature Naming Convention)があり、ベンダに依存しないソフトウェアが作成できる。
USB3 VisionとGigE Visionは、GenICam規格とペアになる「ワイヤプロトコル」の一例であり、Camera Serial Interfaceとは対照的である。多くの実デバイスでは、ベンダが特定のデバイスがサポートするパラメーターのフルセットにアクセスするために、I2Cなどの代替方法を提供している。これには、照明の同期や光学フォーカシング用の個別のモータ制御が含まれる。USB3の技術は、小型コンポーネント(FPGA)の使用も可能にしており、デバイスのコンパクト化や軽量化につながっている。
実装 この規格に準拠した製品を提供している企業の一覧は、A3のサイトから確認できる。
オープンソース実装 USB3 Vision Linux kernel driver Linuxカーネルドライバ(注:基本的なレジスタアクセスと画像ストリーミングのみ。GenICamを組み込み、USB3 Vision仕様と完全に互換性を持たせるには、このカーネルモジュール以外の多くのアプリケーションロジックが必要である。) AravisはUSB3 Visionプロトコルを実装するためにを用いている。レジスタのイントロスペクション用にGenICamインターフェースをサポートしている。 Basler Linux kernel modifications- USB3 zero copy streamingを可能にする。 Linux 4.9+ zero copy usbfsはの新しいバージョンでサポートされている。 脚注