KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2
KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 は、カメラの対角視野 (FoV) を度単位で指定するプロパティ ID です。 対角 FoV 値は、センサーネイティブ縦横比の対角 FoV に対応します。 これにより、ネイティブでない縦横比で、実際の対角線 FoV が少し異なります。
このコントロールは、KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW、KSPROPERTY_CAMERACONTROL_ZOOM、および KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOMに関連します。 相互運用性の要件については、後述の「解説」セクションを参照してください。
使用状況の概要テーブル
範囲 | 取得 | オン | コントロール | タイプ |
---|---|---|---|---|
Version 1 | イエス | イエス | フィルター | 同期 |
KSCAMERA_EXTENDEDPROP_HEADER構造体フィールド
次の表に、コントロールを使用する場合の KSCAMERA_EXTENDEDPROP_HEADER 構造体フィールドの要件を示します。
メンバー | 説明 |
---|---|
バージョン | 1 にする必要があります。 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
サイズ | sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE) にする必要があります。 |
結果 | 0 を含む必要があります。 このフィールドは、最後の非同期 SET 操作の結果を返すためにのみ使用されます。 |
能力 | 0 にする必要があります。 |
フラグ | 0 にする必要があります。 |
KSCAMERA_EXTENDEDPROP_VALUE ペイロード
ペイロードは、ULONG 型の既存の KSCAMERA_EXTENDEDPROP_VALUE 構造体を使用します。
注釈
KSPROPERTY_CAMERACONTROL_ZOOMとKSPROPERTY_CAMERACONTROL_EXTENDED_ZOOMとの相互運用性
ドライバー/デバイスがこの新しい FoV コントロールと古い KSPROPERTY_CAMERACONTROL_ZOOM または KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOMの両方をサポートすることを選択した場合、ズーム コントロールは新しい視野 (FoV) の選択内で動作する必要があります。 つまり、ズームは FoV に対して相対的です。 FoV の値が異なる場合、同じズーム値を使用すると、見かけ上のズームの量が異なります。 さらに、FoV を設定すると、実際の FoV 値に変更があったかどうかにかかわらず、常に Zoom が既定値にリセットされます。
たとえば、古いズーム コントロールの範囲は 10 から 600 に指定され、ズームは既定値の 10 になります。新しい FoV 設定が 75 度から 90 度に設定されている場合、古いズーム コントロールは 10 ~ 600 の範囲で引き続き 10 になります。 ただし、古いズームが 50 であった場合、新しい FoV 値が設定されると 10 にリセットされます。
KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOWとDIGITALWINDOW_CONFIGCAPSとの相互運用性
ドライバー/デバイスがこの新しい FoV2 コントロールとデジタル ウィンドウ (DW) コントロールの両方をサポートすることを選択した場合は、次の要件に従う必要があります。
デジタル ウィンドウのサポートを実装する唯一の目的がKSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMINGをサポートする場合、手動のデジタル ウィンドウでサポートされるウィンドウ サイズは、完全なウィンドウを表す 1 つだけです。 この完全なウィンドウは、FIELDOFVIEW2_CONFIGCAPSの DefaultDiagonalFieldOfViewInDegrees と一致する必要がありますが、最大 FoV は広くすることができます。 この場合、手動デジタル ウィンドウは完全にはサポートされていないため、手動デジタル ウィンドウに関する以下の要件は無視できます。
サポートされている手動のデジタル ウィンドウ領域は、少なくとも最も広い FoV 設定をカバーする必要があります。たとえば、デジタル ウィンドウを使用すると、サポートされている FoV 設定のいずれかに一致するデジタルトリミングを作成できます。 既定の FoV が最も広い FoV でない場合、デジタル ウィンドウでは、Porch 値を使用して、より広いウィンドウを表す必要があります。
KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW_CONFIGCAPSは、FoV 制御状態に関係なく、同じ機能を報告する必要があります。
現在の手動デジタルウィンドウは、現在のFoV設定を反映する必要があり、その逆も同様に、最後のコントロールが優先されます。
手動のデジタル ウィンドウが設定されている場合、FoV は、選択したウィンドウ領域を含む使用可能な最小の FoV 設定に内部的に変更する必要があります。 つまり、デジタルウィンドウの原点座標は、デジタルウィンドウウィンドウのサイズが同じであってもFoVに変化を引き起こす可能性があります。 たとえば、デジタル ウィンドウの原点座標が 0.4 ウィンドウ サイズの左上隅にある場合、FoV 設定では、使用可能な最も広い FoV (この例では 120°) がアドバタイズされます。それ以外の場合、その領域は含まれません。 ただし、同じウィンドウ サイズの 2 つ目のデジタル ウィンドウを中央のトリミングとして行うと、反射された FoV の幅が狭くなる可能性が高くなります (この例では 75° )。
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMINGがサポートされ、設定されている場合、ドライバー/デバイスは内部的に FoV を最も広い設定に変更する必要があります。 たとえば、KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2の GET 操作では、KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMINGが有効になっていると、最も広い FoV 設定が返されます。 ただし、KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2の SET 操作が成功すると、最後のコントロールが優先されるため、デジタル ウィンドウはKSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL モードに戻ります。
関心領域コントロールとの相互運用性
このコントロールは見かけ上の視野 (FoV) を変更するため、関心領域 (ROI) コントロールを通じて選択された座標は、このコントロールに対して SET が発行されるたびに既定値にリセットする必要があります。 現在の ROI コントロールの一覧には、次のものが含まれます。
KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_PROPERTY_ID
KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGCAPS/KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL
四角形領域を定義する将来のコントロールを定義する場合は、そのコントロールもリセットする必要があります。
さらに、関心領域コントロールは、出力ウィンドウに対して相対的な領域を指定するため、指定した座標は常に現在のビューフィールドの四角形になります。 このコントロールは現在のビューのフィールドを変更するため、現在のビューフィールド内に収まるように、カメラで関心領域の四角形を再マップする必要があります。
必要条件
サポートされる最小クライアント: Windows 11 バージョン 24H2
ヘッダー: ksmedia.h (Ksmedia.h を含む)