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へのリクエストとして実現します。

Function Topology - UVC for H.264

以下のExtension Unitのリクエスト(= H.264制御)が定義されています。ダイナミックコントロールとは、エンコード中に発行可能なリクエストで、これも他の画像形式には無いUVC H.264固有機能です。

リクエスト名備考ダイナミック
コントロール
UVCX_VIDEO_UNDEFINED0x00Reserved 
UVCX_VIDEO_CONFIG_PROBE0x01Negotiate encoding parameters without altering current streaming state 
UVCX_VIDEO_CONFIG_COMMIT0x02Sets the current configuration of the encoder 
UVCX_RATE_CONTROL_MODE0x03Configuration of the encoder in bitrate/quality mode.
UVCX_TEMPORAL_SCALE_MODE0x04Number of layers
UVCX_SPATIAL_SCALE_MODE0x05Setting the spatial mode
UVCX_SNR_SCALE_MODE0x06Setting the quality mode
UVCX_LTR_BUFFER_SIZE_CONTROL0x07LTR Buffer usage
UVCX_LTR_PICTURE_CONTROL0x08LTR Control
UVCX_PICTURE_TYPE_CONTROL0x09I , IDR frame requests
UVCX_VERSION0x0ASpec. version supported from the device
UVCX_ENCODER_RESET0x0BEncoder Reset 
UVCX_FRAMERATE_CONFIG0x0CDynamic frame rate configuration
UVCX_VIDEO_ADVANCE_CONFIG0x0DConfiguration for level_idc
UVCX_BITRATE_LAYERS0x0EBitrate per layer
UVCX_QP_STEPS_LAYERS0x0FMinimum/Maximum QP Configuration per layers