KernelDeint

Abstrato

autor: Donald A. Graft
versão: 1.4.0
download: http://neuron2.net/mine.html
categoria: Remoção de Desentrelaçamento & Pulldown
requisitos: YV12 & YUY2 & RGB Colorspace

Introdução

Este filtro desentrelaça com uma aproximação de núcleo. Dá resolução vertical grandemente melhorada em áreas de desentrelaçadas comparadas a simples descarte de campo.

Se você fixou o percentual a 0, você pode ter resultados totalmente livres de artefatos (devido a falta de percentual) mas com muito menos perda de resolução vertical que simples descarte de campos. Para ótimos resultados, porém, fixe um percentual de movimento que permite passar áreas estáticas do quadro. Neste modo, o desentrelace baseado em núcleo das áreas móveis preserva sua resolução vertical comparada a interpolação simples.

O filtro aceita entradas RGB, YUY2, ou YV12.

Para usar este filtro como um pós-processador para Telecide(), use o escrito seguinte:

Telecide(..., post=1, hints=true)
KernelDeint(...)

 


Sintaxe da Função KernelDeint() 

Pega os seguintes parâmetros nomeados:

order (0-1, nenhum padrão!) Este parâmetro define a ordem de campo do clipe. É muito importante fixar isto corretamente. Use order=0 para o primeiro campo de fundo (bff). Use order=1 para o primeiro campo de topo (tff). Você tem que especificar a ordem; DGBob lança uma exceção se você omitir este parâmetro.

É essencial fixar a ordem de campo corretamente para renderização correta. Por fixar isto corretamente é tão importante que lhe encorajo a não fazer suposições sobre a ordem de campo de um clipe, mas especialmente para verificar a ordem de campo que usa o procedimento seguinte.

Para determinar a ordem de campo, faça um escrito Avisynth que serve o clipe cru sem qualquer processo. Se fosse um AVI, então só AviSource() seria usado. Para nossos exemplos, usaremos AviSource (). Inclua uma linha de escrito para separar os campos com o primeiro campo de topo, como segue:

AviSource("your_clip.avi")
AssumeTFF().SeparateFields()

Agora sirva o escrito no VirtualDub e ache uma área com movimento. Um passo adiante pelo movimento. Note se os movimentos sempre avançam como deve ser, ou se salta de um lado para outro ao prosseguir. Por exemplo, se a ordem de campo está errada, uma mudança de objeto continuamente da esquerda para direita moveria direito, então volte um pouco para a esquerda e mova para a direita novamente, etc. Se a ordem de campo estiver correta, move-se continuamente para a direita.

Se o movimento está correto com AssumeTFF().SeparateFields(), então sua ordem de campo é primeiro campo de topo e você tem que fixar order=1. Se o movimento estiver incorreto, então sua ordem de campo é primeiro campo de fundo e você tem que fixar order=0. Caso queira reconferir, pode usar AssumeBFF.SeparateFields() para checar a correta operação do primeiro campo de fundo.

threshold (0-255, padrão 10) Este parâmetro define o percentual de movimento. Áreas móveis são desentrelaçadas no núcleo enquanto áreas imóveis são atravessadas. Use o parâmetro map  para beliscar o parâmetro threshold  de forma que só as áreas penteadas da armação sejam desentrelaçadas.

sharp (true/false, padrão false) Este parâmetro, quando fixo em true, seleciona um núcleo que provê melhor resolução vertical e executa algum aguçamento do vídeo. Para aguçamento menor mas também resolução menos vertical, fixe este parâmetro em false.

twoway (true/false, padrão false) Este parâmetro, quando fixo em true, seleciona um núcleo que inclui os campos prévio e seguintes para o desentrelace. Quando fixo em false, o núcleo inclui só o campo prévio. O núcleo de mão única posterior é mais rápido, mais encaracolado e dá menos mistura (esta última vantagem faz o filtro executar melhor em anime). O parâmetro twoway é incluído para o caso dos usuários alcançarem o comportamento das versões prévias.

map (true/false, padrão false) Este parâmetro, quando fixo em true, mostra as áreas que estão se "movendo"  como determinadas pelo parâmetro threshold e que serão desentrelaçadas no núcleo. Use este parâmetro para ajudar beliscar o parâmetro threshold.

debug (true/false, padrão false) Este parâmetro, quando fixo em true, habilita depurar a saída com a utilidade DebugView. Atualmente, mostra o número de versão do filtro e se sugestões de Telecide() estão presentes, se quadro é indicado como progressivo ou entrelaçado. Se sugestões não estão presentes, o depurador mostra todos os quadros como entrelaçados.

 


Copyright © 2003, Donald A. Graft, Todos os direitos reservados.

Para atualizações e outros filtros / ferramentas, visite meu web site:
http://neuron2.net/

$Date: 2006/03/26 18:11:53 $ Portuguese translation by RoLon