次の方法で共有


KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION

KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION は、ドライバーにおける視線補正を制御するために使用されるプロパティ ID です。

このプロパティ ID は、ドライバーが実行できるインストリーム補正を制御します。これにより、プレビューおよび記録された画像で使用される高品質の画像補正が有効になります。 インストリーム補正は、Windows またはアプリケーションで機能を制御できるように、一様にドライバー内で有効または無効にする必要があります。

KSPROPERTY コントロールの設定例は、GitHub の AVStream カメラ サンプル ドライバーでご確認ください。

KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION コントロールの更新

Windows 11 バージョン 22H2 以降では、Stare モードはオプション機能として既存の視線補正コントロールに導入されています。

KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE は、ドライバーの Stare モードを制御するために使用される KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION コントロールに追加された新しいフラグです。

視線補正 (アイ コンタクトとも呼ばれます) はカメラとディスプレイのオフセットに関する幾何学的な問題を解決しますが、多くのビデオ シナリオでは、ユーザーが話しながら長時間画面を見下ろす必要があります。たとえば、通話中にプレゼンテーションやドキュメントを読む場合などです。

Stare モードは、より積極的なアイコンタクトの形式です。このモードでは、目のピクセルを絶えずシフトすることにより、たとえ視線を忙しく動かしながらスクリプトを読み上げていたとしても、聴衆と話しているように見せることができます。

使用状況概要表

範囲 コントロール タイプ
バージョン 1 フィルター 同期

KSCAMERA_EXTENDEDPROP_HEADER.Flags フィールドに以下のフラグを配置することにより、Stare モードを制御できます。 既定ではオフにしておく必要があります。

#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF   0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON    0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE 0x0000000000000002

ドライバーでこのコントロールをサポートする場合は、EYEGAZECORRECTION_OFF に加えてあと 1 つ以上の他のフラグをサポートする必要があります。

ドライバーで視線補正をサポートしない場合は、このコントロールをドライバーに実装しないでください。

このコントロールの SET 呼び出しは、ビデオまたは写真ピンが KSSTATE_RUN 状態にある場合も有効になります。 GET 呼び出しでは、ドライバーが Flags フィールドの現在の設定を返す必要があります。

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

フラグ 説明
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF これは必須の機能です。 指定すると、ドライバーでの視線補正が無効になります。
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON これは必須の機能です。 指定すると、ドライバーでの視線補正が有効になります。
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE これはオプションの機能です。 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON と共に指定すると、ドライバーでの Stare モードが有効になります。

Note

SET の観点では、Stare モードが有効になるのは、KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STAREKSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON の両方が同時に設定されている場合のみです。 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF は、他の 2 ビットに対して排他的である必要があります。

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

メンバー 説明
バージョン これは 1 である必要があります。
PinId これは KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) にする必要があります。
Size これは sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_値) にする必要があります。
Result 使用されていません。0 にする必要があります。
Capability 上記で定義した、サポートされている KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_* フラグのビット論理和にする必要があります。
Flags これは読み取り/書き込みフィールドです。 上で定義した KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_* フラグのいずれか (ただし、有効にするには ON と共に設定する必要がある KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE を除く) またはこれらのビットの有効な組み合わせを指定できます。 SET の観点では、Stare モードが有効になるのは、KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE と KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON の両方が同時に設定されている場合のみです。 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF は、他の 2 ビットに対して排他的である必要があります。

要件

サポートされている最小クライアント: Windows 11 バージョン 22H2

ヘッダー: ksmedia.h (Ksmedia.h を含む)

関連項目

背景セグメンテーション縦長モードと視線入力凝視モードのドライバー サンプル

KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION

KSCAMERA_EXTENDEDPROP_HEADER