Condividi tramite


KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION

KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION è un ID proprietà usato per controllare la sfocatura dello sfondo sul driver.

Questa proprietà controlla una correzione in flusso che un driver può eseguire per abilitare la correzione di immagini di alta qualità da usare con immagini di anteprima e registrate. La correzione in flusso deve essere abilitata e disabilitata nel driver in modo uniforme, in modo che le funzionalità possano essere controllate da Windows o da un'applicazione.

Esempi di impostazione dei controlli KSPROPERTY sono disponibili in AVStream Camera Sample Driver in GitHub.

Eseguire l'aggiornamento al controllo KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION

A partire da Windows 11 versione 22H2, la modalità messa a fuoco superficiale è stata introdotta nel controllo della segmentazione in background esistente come funzionalità facoltativa.

KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS è un nuovo flag aggiunto al controllo KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION utilizzato per controllare bokeh (modalità messa a fuoco superficiale) sul driver. Si tratta di una versione di sfocatura dello sfondo KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION, in cui l'enfasi è meno sulla privacy e più su come rendere lo sfondo dell'utente sembra da una fotocamera di qualità superiore con profondità di effetto campo. Questo visivamente farà risaltare il soggetto in primo piano, simile a come la fotografia in modalità verticale su molti telefoni cellulari è diventato popolare.

Tabella di riepilogo dell'utilizzo

Scope Control Tipo
Versione 1 Filtra Sincrono

I flag seguenti possono essere inseriti nella KSCAMERA_EXTENDEDPROP_HEADER. Campo flag per controllare la modalità messa a fuoco superficiale.

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

Se il driver supporta questo controllo, deve supportare BACKGROUNDSEMENTATION_OFF e uno o più degli altri flag.

Se il driver non supporta la segmentazione in background, il driver non deve implementare questo controllo.

La chiamata SET di questo controllo avrà effetto anche quando il segnaposto video o foto si trova nello stato KSSTATE_RUN. In una chiamata GET, il driver deve restituire le impostazioni correnti nel campo Flag.

Nella tabella seguente vengono descritte le funzionalità del flag.

Flag Descrizione
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF Si tratta di una funzionalità obbligatoria. Se specificato, la segmentazione di sfondo viene disabilitata nel driver. Si tratta del valore predefinito.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR Si tratta di una funzionalità facoltativa. Se specificato, la sfocatura dello sfondo è abilitata nel driver e si applica al frame, se possibile.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK Si tratta di una funzionalità facoltativa. Se specificato, la produzione dei metadati della maschera di sfondo viene abilitata nel driver (se possibile, dato il mediaType usato come espresso tramite il set di KSPROPERTY_CAMERACONTROL_EXTENDED_ BACKGROUNDSEGMENTATION_CONFIGCAPS restituito nel campo Dimensioni del KSCAMERA_EXTENDEDPROP_HEADER). Si noti che questo può essere supportato non solo per le fotocamere a colori, ma anche per le fotocamere di profondità e ir.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS Si tratta di una funzionalità facoltativa. Se specificato insieme a KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR , lo stato attivo superficiale viene abilitato nel driver.

Nota

Dal punto di vista SET, è necessario aggiungere KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS insieme a KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR per rendere effettive; Possono anche essere impostati insieme a KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK.

La tabella seguente contiene le descrizioni e i requisiti per i campi della struttura KSCAMERA_EXTENDEDPROP_HEADER quando si usa il controllo .

Membro Descrizione
Versione Deve essere 1.
PinId Deve essere KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF).
Dimensione Deve essere sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE).
Risultato Inutilizzato, deve essere 0.
Funzionalità Deve essere un OR bit per bit dei flag supportati KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION _* definiti in precedenza.
Flags Si tratta di un campo di lettura/scrittura. Può trattarsi di uno qualsiasi dei flag _* KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION definiti in precedenza, ad eccezione di SHALLOWFOCUS (che deve essere impostato insieme a BLUR per rendere effettive) o combinazioni valide dei bit. Dal punto di vista SET, la modalità messa a fuoco superficiale verrà abilitata solo quando sia SHALLOWFOCUS che BLUR sono impostati contemporaneamente, possono essere impostati insieme a MASK.

Requisiti

Client minimo supportato: Windows 11, versione 22H2

Intestazione: ksmedia.h (include Ksmedia.h)

Vedi anche

Esempio di driver per la modalità verticale di segmentazione dello sfondo e sguardo fisso

KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION

KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS

KSCAMERA_EXTENDEDPROP_HEADER