USB Video Classについて

制御方法

ディスクリプタを2つにわける

-ターミナル

入出力関連の機能を示す。ここで入力、出力ターミナルと言った場合、デバイス側からの言い方(INエンドポイントは出力ターミナル)となる。絞り、ズームなどはこっちに入る(らしい)

-ユニット

画像処理の機能を示す。色調、コントラストなど。ユニットの種類は以下
  • Processing Unit
    ビデオ属性の制御
  • Extension Unit
    ベンダ定義機能
  • Selector Unit
    ターミナルのルーティングを制御

ハード機能

カメラがUVCのどの制御(機能)に対応しているかが、結局制御の要になりそう。
画像形式も然り
そこで、「USBviewer」でみると、ターミナル、ユニット部でこんな表示があった。


===>Camera Input Terminal Data
bmControls : 0x2A 0x00 0x02
    D00 = 0   no -  Scanning Mode
    D01 = 1  yes -  Auto-Exposure Mode
    D02 = 0   no -  Auto-Exposure Priority
    D03 = 1  yes -  Exposure Time (Absolute)
    D04 = 0   no -  Exposure Time (Relative)
    D05 = 1  yes -  Focus (Absolute)
    D06 = 0   no -  Focus (Relative)
    D07 = 0   no -  Iris (Absolute)
    D08 = 0   no -  Iris (Relative)
    D09 = 0   no -  Zoom (Absolute)
    D10 = 0   no -  Zoom (Relative)
    D11 = 0   no -  Pan (Absolute)
    D12 = 0   no -  Pan (Relative)
    D13 = 0   no -  Roll (Absolute)
    D14 = 0   no -  Roll (Relative)
    D15 = 0   no -  Tilt (Absolute)
    D16 = 0   no -  Tilt (Relative)
    D17 = 1  yes -  Focus Auto
    D18 = 0   no -  Reserved
    D19 = 0   no -  Reserved
    D20 = 0   no -  Reserved
    D21 = 0   no -  Reserved
    D22 = 0   no -  Reserved
    D23 = 0   no -  Reserved

         ===>Video Control Processing Unit Descriptor<===
bmControls : 0x7B 0x16
    D00 = 1  yes -  Brightness
    D01 = 1  yes -  Contrast
    D02 = 0   no -  Hue
    D03 = 1  yes -  Saturation
    D04 = 1  yes -  Sharpness
    D05 = 1  yes -  Gamma
    D06 = 1  yes -  White Balance Temperature
    D07 = 0   no -  White Balance Component
    D08 = 0   no -  Backlight Compensation
    D09 = 1  yes -  Gain
    D10 = 1  yes -  Power Line Frequency
    D11 = 0   no -  Hue, Auto
    D12 = 1  yes -  White Balance Temperature, Auto
    D13 = 0   no -  White Balance Component, Auto
    D14 = 0   no -  Digital Multiplier
    D15 = 0   no -  Digital Multiplier Limit


某社のカメラでの情報。対応機能がディスクリプタとして取得できる。
これにより、制御できる機能を考える必要あり。特に、コントラスト(Contrast)、明るさ(Brightness)は重要だなあ


制御方法

どうやらDirectX経由らしい(今更)。
そのなかで「DirectShow」という機能が動画カメラ制御みたい。



ソース

linux上で扱うなら”V4L2”というモジュール(ソース)を使うといいみたい

Linux+UVCカメラによる静止画キャプチャをやっている方々:
http://naonao.ktkr.net/?p=166
http://reaching.dip.jp/~chamaeleo/spaghetti/?p=180
動画:
http://sakura.meijo-u.ac.jp/wiki-home/index.php?luvcview






※予想も含んでいるので嘘もいっぱいです。


















タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年03月22日 19:38