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