UVC H.264
2011/6/20(米国時間) H.264向けのUVC規格が公開されました。この規格が公開されるまでのUVCにおけるH.264の取り扱いは、MPEG-TS(Transport Stream)で多重して送っても良いと述べられているだけで、USBホスト側の取り扱いが難しく、普及しませんでした。現在流通するUVC対応USBカメラは、非圧縮とMotion-JPEG(MJPEG)がほとんどを占めています。今回の規格公開で、H.264による高画質・高圧縮なUSBカメラ、それに付随するサービスが期待されます。実際、UVC H.264のコントリビュータにはSkype社も含まれており、新たなサービスを予感させます。
Extension Unit による実装
UVC H.264が他の画像形式(非圧縮、MJPEG)と大きく異なる点は、H.264制御をExtension Unitで実現している点です。H.264制御に関わるコントロールは、Extension Unitへのリクエストとして実現します。
以下のExtension Unitのリクエスト(= H.264制御)が定義されています。ダイナミックコントロールとは、エンコード中に発行可能なリクエストで、これも他の画像形式には無いUVC H.264固有機能です。
リクエスト名 | 値 | 備考 | ダイナミック コントロール |
UVCX_VIDEO_UNDEFINED | 0x00 | Reserved | |
UVCX_VIDEO_CONFIG_PROBE | 0x01 | Negotiate encoding parameters without altering current streaming state | |
UVCX_VIDEO_CONFIG_COMMIT | 0x02 | Sets the current configuration of the encoder | |
UVCX_RATE_CONTROL_MODE | 0x03 | Configuration of the encoder in bitrate/quality mode. | ○ |
UVCX_TEMPORAL_SCALE_MODE | 0x04 | Number of layers | ○ |
UVCX_SPATIAL_SCALE_MODE | 0x05 | Setting the spatial mode | ○ |
UVCX_SNR_SCALE_MODE | 0x06 | Setting the quality mode | ○ |
UVCX_LTR_BUFFER_SIZE_CONTROL | 0x07 | LTR Buffer usage | ○ |
UVCX_LTR_PICTURE_CONTROL | 0x08 | LTR Control | ○ |
UVCX_PICTURE_TYPE_CONTROL | 0x09 | I , IDR frame requests | ○ |
UVCX_VERSION | 0x0A | Spec. version supported from the device | ○ |
UVCX_ENCODER_RESET | 0x0B | Encoder Reset | |
UVCX_FRAMERATE_CONFIG | 0x0C | Dynamic frame rate configuration | ○ |
UVCX_VIDEO_ADVANCE_CONFIG | 0x0D | Configuration for level_idc | ○ |
UVCX_BITRATE_LAYERS | 0x0E | Bitrate per layer | ○ |
UVCX_QP_STEPS_LAYERS | 0x0F | Minimum/Maximum QP Configuration per layers | ○ |