# DctFilter

## Přehled

autor: Tom Barry
verze: 0.0.1.4
stáhnout: http://www6.impacthosting.com/trbarry/downloads.htm, http://avisynth.org/warpenterprises/
kategorie: Různé pluginy
požadavky:

- YV12 & YUY2 Barevné prostředí a velikost obrazu násobkem 16x16
- SSEMMX podpora

## Popis

DctFilter je experimentální filtr který pro každý blok 8x8, provede Diskrétní kosinovou transformaci (DCT), sníží vybrané frekvenční hodnoty, a pak obrátí proces pomocí Inverzní diskrétní kosinové transformace (IDCT).

### Použití

Ve vašem souboru Avisynthu použijte příkazy podobné těmto

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

### Parametry

Existuje 8 pozičních desetinných (floating) parametrů, všechny musí být zadány jako rozsah (0.0 <= x <= 1.0). To odpovídá násobícím faktorům pro 8 řádků a sloupců 8x8 DCT bloků. Parametr nejvíc vlevo odpovídá hornímu řádku, levému sloupci. To by byla DC komponenta transformace a měla by být vždy ponechána jako 1.0.

Ve výše uvedeném příkladu by byla nejvyšší frekvence komponenty v každém řádku a sloupci vynulována, zatímco druhá komponenta by byla oříznuta na polovinu.

Řádkové & sloupcové parametry jsou násobeny společně pro získání součinitele měřítka pro každou ze 64 hodnot v bloku. Takže, když horní levá hodnota byla V[0,0] pak v příkladu výše bychom násobili řádek 6, sloupec 6 (V[6,6]) součinitelem .5*.5 = .25.

Všimněte si, že zatímco vypadají desetinné (float) parametry jsou výše uvedené ve skutečnosti teď mají jen 3 bitovou přesnost takže ve skutečnosti jsou použité jen hodnoty 0, 1/8, 1/4, 3/8 ... 1.0. Ale můžete zadat jakoukoliv hodnotu a ta bude zaokrouhlena na nejbližší.

### DctFilterD - Nově ve verzi 0.0.1.4

Můžete místo předchozího použít DctFilterD(DiagCt). Tento pracuje podobně, ale vynuluje číslo DiagCt spodních pravých diagonál DCT, a ostatní hodnoty ponechá nezměněné. V 8x8 DCT výsledné matici (matrix) je 15 možných diagonál. (Představte si šachovnici) DiagCt parametry musí být celočíselné od 1-14 což říká kolik těchto diagonál musí být vynulováno, počínaje od spodního pravého rohu.

### Komentáře

Tato nová funkce DctFilterD(DiagCt) pracuje na diagonálách. Je jednodušší a buď nuluje diagonály nebo je nechává samotné.

V 8x8 DCT výsledku je 15 možných diagonál (představte si šachovnici). Takže pokud zadáte:

    DctFilterD(4)

pak 4 diagonály ve spodním pravém rohu DCT výsledku budou nastaveny na 0. Parametr DiagCt může být jakákoli celá hodnota od 1-14.

Nezkoušel jsem to moc, ale jako u výsledků s uživatelskými kvantizačními tabulkami, se objeví to, že pokud nastavíte DiagCt velmi velké, začnete dostávat šum na hranách, něco jako zvonění.

`$English Date: 2004/08/13 21:57:25 $`

`Český překlad:24.2.2009`