UVC での赤外線ストリームのサポート

Windows 10 バージョン 1607 以降では、受信トレイ USB ビデオ クラス (UVC) ドライバーは、赤外線 (IR) ストリームを生成するカメラをサポートしています。

これらのカメラは、シーンの luma 値をキャプチャし、圧縮されていない形式または圧縮された MJPEG 形式として USB 経由でフレームを送信します。 これらのカメラとそのストリームは、メディア キャプチャ パイプラインを介してアプリケーションに公開されます。

次の IR 形式の種類の GUID は、IR ストリームがアプリケーションに正しく公開されるように、ストリームのビデオ形式記述子を指定するために使用されます。

これらの IR 形式の種類の GUID は ksmedia.h で定義されています。

IR 形式の種類 GUID 説明
KSDATAFORMAT_SUBTYPE_L8_IR 8ビット ルーマ専用フレーム
KSDATAFORMAT_SUBTYPE_L16_IR 16ビットルーマ専用フレーム
KSDATAFORMAT_SUBTYPE_MJPEG_IR MJPEG 圧縮ルーマ専用フレーム

これらの IR 形式の種類の GUID を指定すると、キャプチャ パイプラインによってこれらのストリームが IR ストリームとして自動的にマークされます。これにより、アプリケーションはシナリオに合った適切なストリームを選択できます。

// Example: Format descriptor for UVC 1.1 frame based uncompressed format

typedef struct _VIDEO_FORMAT_FRAME
{
    UCHAR bLength;
    UCHAR bDescriptorType;
    UCHAR bDescriptorSubtype;
    UCHAR bFormatIndex;
    UCHAR bNumFrameDescriptors;
    GUID  guidFormat;           // guidFormat must contain one of the IIR format type GUIDs from the table above
    UCHAR bBitsPerPixel;
    UCHAR bDefaultFrameIndex;
    UCHAR bAspectRatioX;
    UCHAR bAspectRatioY;
    UCHAR bmInterlaceFlags;
    UCHAR bCopyProtect;
    UCHAR bVariableSize;
} VIDEO_FORMAT_FRAME, *PVIDEO_FORMAT_FRAME;