Partager via


KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2

KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 est un ID de propriété qui spécifie le champ de vue (FoV) (FoV, field of view) diagonal de la caméra en degrés. Les valeurs diagonales du FoV correspondent au champ de vue diagonal du capteur en utilisant le rapport hauteur/largeur natif. Cela signifie qu'un rapport hauteur/largeur non natif entraîne un FoV diagonal réel légèrement différent.

Rapports hauteur/largeur et champ de vue diagonal.

Ce contrôle est lié à KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW, KSPROPERTY_CAMERACONTROL_ZOOM et KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM. Consultez la section Remarques ci-dessous pour connaître la configuration requise en termes d’interopérabilité.

Tableau récapitulatif de l'utilisation

Étendue Obtenir Yammer Définir Control Type
Version 1 Oui Oui Filtrer Synchrone

Champs de la structure KSCAMERA_EXTENDEDPROP_HEADER

Le tableau suivant contient la configuration requise pour les champs de la structure KSCAMERA_EXTENDEDPROP_HEADER lorsque le contrôle est utilisé.

Membre Description
Version Doit être égal à 1.
PinId KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)
Size Doit être sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
Result Doit contenir 0. Ce champ n'est utilisé que pour retourner les résultats de la dernière opération SET asynchrone.
Fonctionnalité Doit être égal à 0.
Indicateurs Doit être égal à 0.

Charge utile KSCAMERA_EXTENDEDPROP_VALUE

La charge utile emploie la structure KSCAMERA_EXTENDEDPROP_VALUE existante avec le type ULONG.

Notes

Interopérabilité avec KSPROPERTY_CAMERACONTROL_ZOOM et KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM

Si un pilote/appareil choisit de prendre en charge ce nouveau contrôle de FoV et l’ancien KSPROPERTY_CAMERACONTROL_ZOOM ou le KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM, le contrôle de zoom doit fonctionner dans la nouvelle sélection Champ de vue (FoV). Cela signifie que le zoom est rapporté au champ de vue (FoV). Pour différentes valeurs de FoV, la même valeur Zoom donne des niveaux de zoom apparent différents. D'autre part, toute définition du champ de vue (FoV) entraîne une réinitialisation du zoom à sa valeur par défaut, quelle que soit la modification réalisée sur la valeur FoV réelle.

Par exemple, si l’ancienne plage de contrôle du Zoom est spécifiée entre 10 et 600 et que le zoom est à sa valeur par défaut (10), lorsque le nouveau FoV est configuré entre 75 et 90 degrés, l’ancien contrôle de zoom reste à 10, sur la même plage de 10 à 600. Mais si l’ancien zoom est à 50, il revient à 10 après la configuration de la nouvelle valeur de FoV.

Interopérabilité avec KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW et DIGITALWINDOW_CONFIGCAPS

Si un pilote/appareil choisit de prendre en charge ce nouveau contrôle FoV2 et les contrôles de fenêtre numérique (DW), les conditions suivantes doivent être remplies :

  • Si le seul objectif de l’implémentation de la prise en charge de la fenêtre numérique est la prise en charge de KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING, il est acceptable que la fenêtre numérique manuelle ne prenne en charge qu’une seule taille, à savoir celle de la fenêtre complète. Cette fenêtre complète doit correspondre à la valeur DefaultDiagonalFieldOfViewInDegrees de FIELDOFVIEW2_CONFIGCAPS, même si la valeur maximale du champ de vue (FoV) peut être supérieure. Dans un tel cas, les conditions indiquées ci-dessous pour une fenêtre numérique manuelle peuvent être ignorées, dans la mesure où celle-ci n’est pas entièrement prise en charge.

  • La zone de fenêtre numérique manuelle prise en charge doit couvrir au moins la configuration de FoV la plus large. Par exemple, à l’aide de la fenêtre numérique, vous avez la possibilité de créer un rognage numérique capable de correspondre à l’une des configurations FoV prises en charge. Si la valeur FoV par défaut n’est pas la plus large, la fenêtre numérique doit utiliser les valeurs Porch pour représenter des fenêtres plus larges.

  • KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW_CONFIGCAPS doit rapporter les mêmes fonctionnalités, quel que soit l’état du contrôle FoV.

    • La fenêtre numérique manuelle actuelle doit refléter la configuration FoV actuelle et vice versa, le dernier contrôle l'emportant.

    • Lorsqu’une fenêtre numérique manuelle est définie, le champ de vue (FoV) doit être modifié en interne sur la base de la plus petite configuration FoV disponible englobant la zone de fenêtre sélectionnée. Cela signifie que les coordonnées d’origine de la fenêtre numérique peuvent entraîner une modification du FoV, même si la taille de la fenêtre numérique reste la même. Par exemple, si les coordonnées d’origine de la fenêtre numérique sont situées dans le coin supérieur gauche avec une taille de fenêtre de 0,4, la valeur FoV annonce la plus large configuration disponible (dans cet exemple, 120°). Dans le cas contraire, elle n’engloberait pas cette zone. Mais si une deuxième fenêtre numérique de même taille est créée par rognage central, le FoV qui en résulte est probablement un peu plus étroit (75° dans notre exemple).

    • Si KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING est pris en charge et défini, le pilote/appareil doit modifier le FoV en interne sur la plus grande valeur disponible. Par exemple, l’opération GET pour KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 définit le FoV sur la plus grande taille si KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING est activé. En revanche, toute opération SET réussie pour KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 replacera à nouveau la fenêtre numérique en mode KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL, car c'est le dernier contrôle qui l'emporte.

Comportement de synchronisation de la fenêtre numérique et du contrôle du champ de vue pour différentes configurations de la fenêtre numérique.

Interopérabilité avec les contrôles de région d’intérêt

Étant donné que ce contrôle modifie le champ de vue (FoV) apparent, les coordonnées sélectionnées à travers n’importe quelle région d’intérêt (ROI) doivent être réinitialisées à leurs valeurs par défaut chaque fois qu’un SET est émis à destination de ce contrôle. Liste des contrôles de ROI actuels :

  • KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_PROPERTY_ID

  • KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGCAPS / KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL

Si nous définissons un futur contrôle qui délimite une région rectangulaire, ce contrôle doit également être réinitialisé.

De plus, les contrôles de régions d’intérêt définissent leurs régions par rapport à la fenêtre de sortie, de sorte que les coordonnées qu’ils précisent forment toujours un rectangle dans le champ de vue actuel. Étant donné que ce contrôle modifie le champ de vue actuel, le rectangle d'une région d’intérêt doit être remappé par la caméra pour tenir dans le champ de vue actuel.

Spécifications

Client minimum supporté : Windows 11, version 24H2

En-tête : ksmedia.h (include Ksmedia.h)

Voir aussi

KSCAMERA_EXTENDEDPROP_FIELDOFVIEW2_CONFIGCAPS

KSCAMERA_EXTENDEDPROP_HEADER

KSCAMERA_EXTENDEDPROP_VALUE

KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2_CONFIGCAPS