次の方法で共有


KSPROPERTY_CAMERACONTROL_EXTENDED_FACEDETECTION

KSPROPERTY_CAMERACONTROL_EXTENDED_FACEDETECTION は、顔検出のオンとオフを切り替えるために使用されるプロパティ ID です。

用法の要点

範囲 コントロール Type

Version 1

Assert

同期

KSCAMERA_EXTENDEDPROP_HEADER.Flags フィールドに以下のフラグを配置することにより、ドライバーの顔検出を制御できます。 既定では、ドライバーには FACEDETECTION_OFF が必要です。

#define KSCAMERA_EXTENDEDPROP_FACEDETECTION_OFF             0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_FACEDETECTION_PREVIEW         0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_FACEDETECTION_VIDEO           0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_FACEDETECTION_PHOTO           0x0000000000000004
#define KSCAMERA_EXTENDEDPROP_FACEDETECTION_BLINK           0x0000000000000008
#define KSCAMERA_EXTENDEDPROP_FACEDETECTION_SMILE           0x0000000000000010

ドライバーがこのコントロールをサポートしている場合は、FACEDETECTION_OFF と、FACEDETECTION_PREVIEW、FACEDETECTION_VIDEO、または FACEDETECTION_PHOTO のいずれかをサポートする必要があります。 ドライバーは、顔検出が有効になっている場合、さらに最も目立つ顔の分析を実行し、最も目立つ顔を直接 3A に供給する必要があります。

ドライバーが顔検出をサポートしていない場合、ドライバーはこのコントロールを実装しないでください。

以下の表では、フラグの機能について説明します。

フラグ 説明

KSCAMERA_EXTENDEDPROP_FACEDETECTION_OFF

これは必須の機能です。 指定すると、ドライバーで顔検出が無効になります。

KSCAMERA_EXTENDEDPROP_FACEDETECTION_PREVIEW

これはオプションの機能です。 指定すると、ドライバーで顔検出が有効になり、ドライバーは顔情報と、サポートされている場合に関連付けられているタイムスタンプを、プレビュー ピンを介してメタデータとして提供する必要があります。 このフラグは OFF フラグと同時に指定することはできませんが、他のフラグと共に使用できます。

KSCAMERA_EXTENDEDPROP_FACEDETECTION_VIDEO

この機能は任意です。 指定すると、ドライバーで顔検出が有効になり、そのような機能をサポートするドライバーは顔情報と、サポートされている場合に関連付けられているタイムスタンプを、ビデオ ピンを介してメタデータとして提供する必要があります。 このフラグは OFF フラグと同時に指定することはできませんが、他のフラグと共に使用できます。

KSCAMERA_EXTENDEDPROP_FACEDETECTION_PHOTO

この機能は任意です。 指定すると、ドライバーで顔検出が有効になり、そのような機能をサポートするドライバーは顔情報と、サポートされている場合に関連付けられているタイムスタンプを、写真ピンを介してメタデータとして提供する必要があります。 このフラグは OFF フラグと同時に指定することはできませんが、他のフラグと共に使用できます。

KSCAMERA_EXTENDEDPROP_FACEDETECTION_BLINK

この機能は任意です。 このフラグは、PREVIEW フラグ、VIDEO フラグ、PHOTO フラグが指定されている場合にのみ指定できます。 指定した場合、このような機能をサポートするドライバーは、対応するピンを介してメタデータとしてさらにまばたき情報を提供する必要があります。

KSCAMERA_EXTENDEDPROP_FACEDETECTION_SMILE

この機能は任意です。 このフラグは、PREVIEW フラグ、VIDEO フラグ、PHOTO フラグが指定されている場合にのみ指定できます。 指定した場合、このような機能をサポートするドライバーは、対応するピンを介してメタデータとしてさらに笑顔情報を提供する必要があります。

Note

MFT0 は、顔情報をさらに MF_CAPTURE_METADATA_FACEROIS として、タイムスタンプを MF_CAPTURE_METADATA_FACEROITIMESTAMPS として、まばたきや笑顔の情報をサンプルの MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS として添付します。 PREVIEW、VIDEO、PHOTO の機能は省略可能です。 ただし、このコントロールがサポートされている場合は、PREVIEW、VIDEO、PHOTO の機能の少なくとも 1 つをサポートする必要があります。

次の表は、KSCAMERA_EXTENDEDPROP_HEADER 構造体フィールドについて、このコントロールを使用する場合の説明と要件を示します。

メンバー 説明

Version

これは 1 である必要があります。

PinId

KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) にする必要があります。

サイズ

これは、sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) である必要があります。

結果

最後の SET 操作のエラー結果を示します。 SET 操作が実行されていない場合は、0 にする必要があります。

機能

上記で定義されているように、サポートされている KSCAMERA_EXTENDEDPROP_FACEDETECTION_* フラグのビット論理和にする必要があります。

Flags

これは読み取り/書き込みフィールドです。 これは、上で定義した KSCAMERA_EXTENDEDPROP_FACEDETECTION_OFF/PREVIEW/VIDEO/PHOTO フラグのビット論理和、または KSCAMERA_EXTENDEDPROP_FACEDETECTION_PREVIEW/VIDEO/PHOTO フラグの任意の組み合わせで KSCAMERA_EXTENDEDPROP_FACEDETECTION_BLINK または KSCAMERA_EXTENDEDPROP_FACEDETECTION_SMILE のビット論理和にすることができます。

次の表に、KSPROPERTY_CAMERACONTROL_EXTENDED_FACEDETECTION プロパティの KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体フィールドの説明と要件を示します。 この構造体は Ksmedia.h で定義されています。

メンバー 説明

モード

未使用。 0 を指定する必要があります。

Min/Max/Step

Min/Max/Step には、カメラ ドライバーが検出または検索できる顔の最小/最大/増分が含まれています。Min は [>= 1] で、Step は 1 である必要があります。 ドライバーは、GET 操作のためにこれらを返す必要があります。

VideoProc

FACEDETECTION_PREVIEWFACEDETECTION_VIDEO または FACEDETECTION_PHOTOKSCAMERA_EXTENDEDPROP_HEADER の Flags フィールドに指定されている場合、VideoProc.Value.ul では、ドライバーが検索する顔の最大数も指定する必要があります。

FACEDETECTION_OFF を指定した場合、SET 操作では VideoProc フィールドは無視されます。

GET 操作の場合、ドライバーは、ドライバーが現在検索している顔の最大数を返す必要があります。 顔検出が OFF の場合は、0 を返す必要があります。

予約されています。

これは使用されません。 これはドライバーで無視する必要があります。

解説

顔検出をオンにすると、必要に応じて 3A 処理を支援するために、関心のある顔領域 (ROI) をドライバーが直接使用できます。 ユーザー指定の ROI が KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL 経由で同時に構成されている場合、ユーザー指定の ROI は検出された顔 ROI よりも優先されます。 ユーザーが指定した ROI がクリアされると、検出された顔 ROI が有効になります。

要件

ヘッダー

Ksmedia.h