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_PREVIEW、FACEDETECTION_VIDEO または FACEDETECTION_PHOTO が KSCAMERA_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 |