DctFilter

Abstrato

autor: Tom Barry
versãon 0.0.1.4
download: http://mywebpages.comcast.net/trbarry/downloads.htm
categoria: Miscelânea de Plugins
requisitos:  

Descrição

DctFilter é um filtro experimental que, para cada bloco 8x8, fará um Transformar Co-seno Discreto (DCT), reduzir os valores da freqüência selecionada e inverter o processo com um Transformar Co-seno Discreto Inverso (IDCT).

Uso

Em seus arquivos Avisynth use comandos semelhante para

Avisource("D:\wherever\myfile.avi")
DctFilter(1,1,1,1,1,1,.5,0)

Parâmetros

Há 8 parâmetros de ponto flutuantes de localização, dos quais todos devem ser especificados como na gama (0.0 <= x <= 1.0). Eles correspondem a fatores de escala para as 8 linhas e colunas dos blocos DCT 8x8. O parâmetro à esquerda  corresponde à linha do topo, coluna esquerda. Este seria o componente DC do transformar e sempre deve ser 1.0.

No exemplo acima os componentes de freqüência mais altos em cada linha e coluna devem ser zerados enquanto os 2 mais altos cortados pela metade.

Os parâmetros de linha & coluna são multiplicados para ter o fator de escala para cada um dos 64 valores em um bloco. Assim se o valor do topo esquerdo era V[0,0] então no exemplo acima nós o escalaríamos linha 6, coluna 6 (V[6,6]) por .5 *.5 = .25.

Note que enquanto acima eles parecem parâmetros de ponto flutuante eles realmente agora só têm 3 bit de precisão assim os únicos valores atuais usados são 0, 1/8, 1/4, 3/8... 1.0. Mas você pode especificar qualquer valor que será arredondado ao mais próximo.

DctFilterD - Novo com v 0.0.1.4

Você pode usar DctFilterD(DiagCt) ao invés. Isto trabalha semelhante ao acima mas zerará o número DiagCt das mais baixas diagonais direitas do DCT, deixando outros valores inalterados. Em uma matriz DCT 8x8 resultada há 15 possíveis diagonais. (visualize uma tábua de xadrez) O parâmetro DiagCt deve ser um inteiro de 1-14 que diz quanto destas diagonais deve ser zerado, a partir do mais baixo canto da direita.

Comentários

Esta nova função DctFilterD(DiagCt) trabalha em diagonais. É mais simples e diagonais de zeros ou os deixa só.

Em um resultado de DCT 8x8 há 15 possíveis diagonais (como uma tábua de xadrez). Assim se você especifica:

DctFilterD(4)

então as 4 diagonais no canto direito mais baixo do resultado DCT serão fixadas a 0. O parâmetro DiagCt pode ser um valor inteiro de 1-14.

Eu não testei muito isto mas, como meus resultados com tabelas quant de costume, parece que se fixar DiagCt muito grande, começará a ter ruído de extremidade, algo como toque de campainha.

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