Partager via


KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION

KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION est un ID de propriété utilisé pour contrôler le flou d’arrière-plan sur le pilote.

Cette propriété contrôle une correction in-stream qu’un pilote peut effectuer pour activer la correction d’image de haute qualité à utiliser avec des images d’aperçu et enregistrées. La correction in-stream doit être activée et désactivée dans le pilote de manière uniforme, afin que les fonctionnalités puissent être contrôlées par Windows ou une application.

Vous trouverez des exemples de définition de contrôles KSPROPERTY dans l’exemple de pilote de caméra AVStream sur GitHub.

Mettre à jour vers le contrôle KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION

À compter de Windows 11 version 22H2, le mode focus superficiel a été introduit dans le contrôle de segmentation en arrière-plan existant en tant que fonctionnalité facultative.

KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS est un nouvel indicateur ajouté au contrôle KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION utilisé pour contrôler le Bokeh (mode focus superficiel) sur le pilote. Il s’agit d’une version du flou d’arrière-plan KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION, où l’accent est moins mis sur la confidentialité et plus sur l’apparence de l’arrière-plan de l’utilisateur à partir d’un appareil photo de meilleure qualité avec un effet de profondeur de champ. Cela permettra visuellement de faire ressortir le sujet de premier plan, semblable à la façon dont la photographie en mode portrait sur de nombreux téléphones mobiles est devenue populaire.

Tableau récapitulatif de l’utilisation

Étendue Control Type
version 1 Filtrer Synchrone

Les indicateurs suivants peuvent être placés dans le KSCAMERA_EXTENDEDPROP_HEADER. Champ Indicateurs pour contrôler le mode de focus superficiel.

#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF          0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR         0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK         0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS 0x0000000000000004

Si le pilote prend en charge ce contrôle, il doit prendre en charge BACKGROUNDSEMENTATION_OFF et un ou plusieurs autres indicateurs.

Si le pilote ne prend pas en charge la segmentation en arrière-plan, il ne doit pas implémenter ce contrôle.

L’appel SET de ce contrôle prend effet même lorsque la broche vidéo ou photo est dans l’état KSSTATE_RUN. Dans un appel GET, le pilote doit retourner les paramètres actuels dans le champ Indicateurs.

Le tableau suivant décrit les fonctionnalités d’indicateur.

Indicateur Description
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF Il s’agit d’une fonctionnalité obligatoire. Quand elle est spécifiée, la segmentation en arrière-plan est désactivée dans le pilote. Il s’agit de la valeur par défaut.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR Il s’agit d’une fonctionnalité facultative. Lorsqu’il est spécifié, le flou d’arrière-plan est activé dans le pilote et s’applique au cadre si possible.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK Il s’agit d’une fonctionnalité facultative. Lorsqu’elle est spécifiée, la production de métadonnées de masque en arrière-plan est activée dans le pilote (si possible compte tenu du MediaType utilisé tel qu’exprimé via le jeu de KSPROPERTY_CAMERACONTROL_EXTENDED_ BACKGROUNDSEGMENTATION_CONFIGCAPS retourné dans le champ Taille du KSCAMERA_EXTENDEDPROP_HEADER). Notez que cela peut être pris en charge non seulement pour les caméras couleur, mais également pour les caméras de profondeur et ir.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS Il s’agit d’une fonctionnalité facultative. Lorsqu’il est spécifié avec KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR , le focus superficiel est activé dans le pilote.

Notes

Du point de vue de SET, KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS doit être ajouté avec KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR pour prendre effet; Ils peuvent également être définis avec KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK.

Le tableau ci-dessous contient les descriptions et les conditions requises pour les champs de structure KSCAMERA_EXTENDEDPROP_HEADER lors de l’utilisation du contrôle.

Membre Description
Version Cela doit être 1.
PinId Cela doit être KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF).
Taille Il doit s’agir de sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE).
Résultats Non utilisé, doit être 0.
Fonctionnalité Doit être un OR au niveau du bit des indicateurs _* KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION pris en charge définis ci-dessus.
Indicateurs Il s’agit d’un champ en lecture/écriture. Il peut s’agir de l’un des indicateurs _* KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION définis ci-dessus, à l’exception de SHALLOWFOCUS (qui doit être défini avec BLUR pour prendre effet) ou de combinaisons valides des bits. Du point de vue de SET, le mode focus superficiel n’est activé que lorsque SHALLOWFOCUS et BLUR sont définis en même temps, ils peuvent être définis avec MASK.

Spécifications

Client minimum pris en charge : Windows 11, version 22H2

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

Voir aussi

Exemple de pilote de mode portrait de segmentation en arrière-plan et de mode regard de regard

KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION

KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS

KSCAMERA_EXTENDEDPROP_HEADER