KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOTEMPORALDENOISING

KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOTEMPORALDENOISING é usado para controlar o Denoising Temporal de Vídeo no driver.

Visão geral

Ao operar um sistema de câmera em condições de luz abaixo do ideal, a lógica de estatística 3A no isp (processador de sinal de imagem) tende a aumentar o ganho analógico e digital para aumentar a sensibilidade à luz do sistema de câmeras para compensar a falta de fótons atingindo o sensor na taxa de quadros de captura imposta. Isso tem o efeito colateral de amplificar o ruído de tiro, o que aumenta o ruído percebido nos quadros produzidos pelo sensor. Isso ainda pode ser aparente mesmo depois de ter sido processado por meio do pipeline do ISP.

Além de alterar a imagem da cena com as aberrações chroma e luma, devido à natureza estocástica desse ruído de captura, a incoerência temporal dos valores de pixel é perceptível em vídeo (visualização ou registro) e pode levar a uma experiência ruim para o usuário.

A intenção do VTD (Video Temporal Denoising) é resolver o ruído e reduzir a incoerência temporal de pixels barulhentos acumulando e combinando informações de vários quadros para produzir um quadro de saída mais limpo em um contexto com restrição de tempo em que a latência de quadro é importante, como com uma fonte de vídeo.

Esse processamento adicional deve ser executado em tempo real com atraso mínimo para melhorar a qualidade da imagem sem impedir que o usuário opere a câmera normalmente e sem a necessidade de nenhuma etapa pós-processamento.

Tabela de resumo de uso

Escopo Control Type
Versão 1 Filtrar Síncrono

Veja a seguir os sinalizadores que podem ser colocados no KSCAMERA_EXTENDEDPROP_HEADER. Campo Sinalizadores para controlar o Denoising Temporal de Vídeo no driver.

#define KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_AUTO   0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_OFF    0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_ON     0x0000000000000004

Se o driver der suporte a esse controle, ele deverá dar suporte a VIDEOTEMPORALDENOISING_AUTO ou VIDEOTEMPORALDENOISING_ON e VIDEOTEMPORALDENOISING_OFF.

Se o driver não der suporte ao Denoising Temporal de Vídeo, o driver não deverá implementar esse controle.

Esse é um controle síncrono que pode ser controlado dinamicamente durante o streaming de todos os pinos com suporte.

A tabela a seguir descreve os recursos de sinalizador.

Sinalizador Descrição
KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_AUTO Essa será uma funcionalidade obrigatória se não houver suporte para KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_OFF e KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_ON. Quando especificado, o Denoising Temporal de Vídeo é habilitado ou desabilitado automaticamente no driver e afeta todos os pinos com suporte transmitindo pixels no espectro visível de luz. Embora isso não esteja garantindo o processamento real de quadros em todos os tempos, isso implica que ele pode ocorrer a critério do implementador, dado o sinal de vídeo que passa pelo ISP.
KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_OFF Essa será uma funcionalidade obrigatória se KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_AUTO não tiver suporte e opcional se for. Quando especificado, o Denoising Temporal de Vídeo é desabilitado no driver o tempo todo para todos os pinos com suporte que transmitiam pixels no espectro visível de luz.
KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_ON Essa será uma funcionalidade obrigatória se KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_AUTO não tiver suporte e opcional se for. Quando especificado, o Denoising Temporal de Vídeo é habilitado no driver o tempo todo para todos os pinos com suporte que transmitiam pixels no espectro visível de luz.

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 Deve ser 1.
PinId Deve ser KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF).
Tamanho Deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+ sizeof(KSCAMERA_EXTENDEDPROP_VALUE).
Result Indica os resultados do erro da última operação SET. Se nenhuma operação SET tiver ocorrido, ela deverá ser 0.
Funcionalidade Deve ser um OR bit a bit dos sinalizadores KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_* com suporte definidos acima.
Flags Este é um campo de leitura/gravação. Esse deve ser qualquer um dos sinalizadores de KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_XXX definidos acima. Esses sinalizadores são mutuamente exclusivos e não podem ser definidos em nenhuma combinação OR bit a bit.

Requisitos

Cabeçalho: Ksmedia.h