KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION

KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION é uma ID de propriedade usada para controlar o desfoque da tela de fundo no driver.

Essa propriedade controla uma correção no fluxo que um driver pode executar para habilitar a correção de imagem de alta qualidade para uso com imagens de visualização e gravadas. A correção no fluxo precisa ser habilitada e desabilitada no driver de maneira uniforme, para que os recursos possam ser controlados pelo Windows ou por um aplicativo.

Exemplos de configuração de controles KSPROPERTY podem ser encontrados no Driver de Exemplo de Câmera AVStream no GitHub.

Atualizar para KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION controle

A partir do Windows 11, versão 22H2, o modo de foco superficial foi introduzido no controle de segmentação em segundo plano existente como uma funcionalidade opcional.

KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS é um novo sinalizador adicionado ao controle KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION usado para controlar o Bokeh (modo de foco superficial) no driver. Esta é uma versão do KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION de desfoque de plano de fundo, em que a ênfase é menos na privacidade e mais em fazer com que a tela de fundo do usuário pareça de uma câmera de maior qualidade com profundidade de efeito de campo. Isso visualmente fará com que o assunto em primeiro plano se destaque, semelhante à forma como a fotografia do modo retrato em muitos telefones celulares se tornou popular.

Tabela de resumo de uso

Escopo Control Tipo
Versão 1 Filtrar Síncrono

Os sinalizadores a seguir podem ser colocados no KSCAMERA_EXTENDEDPROP_HEADER. Campo Sinalizadores para controlar o modo de foco superficial.

#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 o driver der suporte a esse controle, ele deverá dar suporte a BACKGROUNDSEMENTATION_OFF e um ou mais dos outros sinalizadores.

Se o driver não der suporte à segmentação em segundo plano, o driver não deverá implementar esse controle.

A chamada SET desse controle deve entrar em vigor mesmo quando o pino de vídeo ou foto estiver no estado KSSTATE_RUN. Em uma chamada GET, o driver deve retornar as configurações atuais no campo Sinalizadores.

A tabela a seguir descreve os recursos de sinalizador.

Sinalizador Descrição
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF Essa é uma funcionalidade obrigatória. Quando especificado, a segmentação em segundo plano é desabilitada no driver. Esse é o valor padrão.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR Essa é uma funcionalidade opcional. Quando especificado, o desfoque de plano de fundo é habilitado no driver e se aplica ao quadro, se possível.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK Essa é uma funcionalidade opcional. Quando especificado, a produção de metadados de máscara de plano de fundo é habilitada no driver (se possível, dado o MediaType usado conforme expresso por meio do conjunto de KSPROPERTY_CAMERACONTROL_EXTENDED_ BACKGROUNDSEGMENTATION_CONFIGCAPS retornado no campo Tamanho do KSCAMERA_EXTENDEDPROP_HEADER). Observe que isso pode ter suporte não apenas para câmeras coloridas, mas também para câmeras de profundidade e IR.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS Essa é uma funcionalidade opcional. Quando especificado junto com KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR , o foco superficial é habilitado no driver.

Observação

De uma perspectiva SET, KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS precisa ser adicionado junto com KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR para entrar em vigor; Eles também podem ser definidos junto com KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK.

A tabela a seguir contém as descrições e os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_HEADER ao usar o controle .

Membro Descrição
Versão Isso deve ser 1.
PinId Isso deve ser KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF).
Tamanho Deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE).
Result Não utilizado, deve ser 0.
Funcionalidade Deve ser um OR bit a bit dos sinalizadores KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION _* com suporte definidos acima.
Flags Este é um campo de leitura/gravação. Pode ser qualquer um dos sinalizadores _* KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION definidos acima, exceto SHALLOWFOCUS (que precisa ser definido junto com BLUR para entrar em vigor) ou combinações válidas dos bits. De uma perspectiva SET, o modo de foco superficial será habilitado somente quando SHALLOWFOCUS e BLUR forem definidos ao mesmo tempo, eles poderão ser definidos junto com MASK.

Requisitos

Cliente mínimo com suporte: Windows 11, versão 22H2

Cabeçalho: ksmedia.h (inclua Ksmedia.h)

Confira também

Exemplo de driver do modo retrato de segmentação de plano de fundo e do modo de olhar

KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION

KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS

KSCAMERA_EXTENDEDPROP_HEADER