# Convolution3D

## Přehled

autor: Vlad59
verze: - 1.01 (YUY2 verze)
- beta 5 (YV12 verze s vypnutým časovým (temporal) ovlivňováním)
stáhnout: http://www.avisynth.org/warpenterprises/
kategorie: Prostorově-časové vyhlazovače
požadavky:

- YV12 nebo YUY2 (podle verze) barevné prostředí
- ISSE podpora

## Popis

Convolution3D je avisynth filtr, který aplikuje 3D konvoluci na všechny pixely snímku.

## 1 - Jak ho použít

`Convolution3d` (matrix=0, ythresh=3, cthresh=4, t_ythresh=3, t_cthresh=4, influence=3, debug=0)

Volba matice :
0 : původní matice :
1 2 1 2 4 2 1 2 1
2 4 1 4 8 4 2 4 1
1 2 1 2 4 2 1 2 1
Tato matice je užitečná pro normální video (ne animované) protože zachovává více detailů
1 : nápad bb na matici ze samých 1 (ohromný nápad)
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
Tato matice je velmi užitečná u animovaných nebo zdrojů špatné kvality, protože rozmazává trochu více (tedy odstraňuje více šumu)

Časové (temporal) ovlivnění :
Je použito zvláště pro malé urychlení tohoto filtru a pro vyhnutí se použití časových informací, když nejsou potřeba
(změna scény, stmívání, ...)
Nejdříve vypočítám limit = Časová prahová hodnota jasu * Časové ovlivnění
Pro každé 2 spočítané pixely (kvůli MMX, 2 pixely ve stejný čas), nejdříve zkontroluji toto :
pokud
(Abs (Y0 - Y0[Předchozí snímek]) +
Abs (Y0 - Y0[Následující snímek]) +
Abs (Y1 - Y1[Předchozí snímek]) +
Abs (Y1 - Y1[Následující snímek])) > limit
pak
provádíme prostorové zpracování (jen matice 3*3 )
jinak
provádíme prostorové i časové zpracování (matice 3*3*3 )
Čím je hodnota nižší -> tím bude filtr rychlejší, ale bude horší komprimovatelnost
Čím je hodnota vyšší -> tím bude filtr pomalejší, ale bude lepší komprimovatelnost
pokud je časové ovlivnění nastaveno na -1 tak pracuje jen prostorově (vysokou rychlostí).
Tento parametr je desetinný.

## 2 - Příklady parametrů

Sestavil jsem následující přednastavení, aby bylo použití snazší :
Convolution3d (preset="movieHQ") // Video vysoké kvality (dobré DVD zdroje)
je jiný název pro Convolution3D (0, 3, 4, 3, 4, 2.8, 0)
Convolution3d (preset="movieLQ") // Video nízké kvality (zašumělé DVD zdroje)
je jiný název pro Convolution3D (0, 6, 10, 6, 8, 2.8, 0)
Convolution3d (preset="animeHQ") // Animované vysoké kvality (dobré DVD zdroje)
je jiný název pror Convolution3D (0, 6, 12, 6, 8, 2.8, 0)
Convolution3d (preset="animeLQ") // Animované nízké kvality (zašumělé DVD zdroje)
je jiný název pro Convolution3D (1, 8, 16, 8, 8, 2.8, 0)
Convolution3d (preset="animeBQ") // Animované špatné kvality (???)
je jiný název pro Convolution3D (1, 12, 22, 8, 8, 2.8, 0)
Convolution3d (preset="vhsBQ") // VHS nahrávky špatné kvality (???)
je jiný název pro for Convolution3D (0, 32, 128, 16, 64, 10, 0)

Testoval jsem Convolution3d s nekvalitními TV nahrávkami a v takovém případě
budete muset zvýšit zvláště prahové hodnoty barevnosti (což způsobuje nějaké duchy ale přesto vypadá celková kvalita lépe).
Osobně používám tyto parametry :

    Convolution3D (0, 32, 128, 32, 128, 10, 0)

Prahové hodnoty Convolution3d jsou zde jen proto, aby dohlíželi na hrany a změny scén. Můžete zvýšit prostorovou (obzvláště prahovou hodnotu pro barevnost) ale zastavte jakmile uvidíte nějaké rozmazání kolem hran (pokud chcete kvalitu). S navrženými nastaveními by jste neměli mít takový problém.
Časová prahová hodnota by měla zůstat pod 10, aby jste se vyhnuly duchům.
Měli by jste dbát zvláštní opatrnosti na prahovou hodnotu s maticí 1, protože s touto maticí má aktuální snímek menší váhu, takže je snazší obdržet duchy.

Nějaké informace o tom jak pracuje můžete najít na : http://forum.doom9.org/showthread.php?s=&threadid=29829

## 3 - Současná omezení nebo známé problémy

- Pracuje jen s YUV2, PROVĚŘENO.
- vyžaduje Integer SSE u CPU (ani PII ani K6-II), PROVĚŘENO.

UPOZORNĚNÍ : je pomalý, vím to a snažím se ho urychlit takže s tím na mě nespěchejte, předem děkuji.

## 4 - Poděkování

Díky
bb za původní myšlenku a spoustu testů
iago, Koepi a TheReal za testy skutečných videí plné délky (nebo nahrávek)
Tom Barry, Dividee a Sh0dan za jejich užitečné technické informace nebo nápady
Ctrl-Alt-Suppr za francouzský tutorial
Defiler za hostování Convolution3d
všem uživatelům Convolution3D

Vlad59 (babas.lucas@laposte.net)

## 5 - Licence

Copyright (c) 2002 Sébastien LUCAS. All rights reserved.
babas.lucas@laposte.net

Tento soubor je předmětem podmínek GNU General Public License publikované Free Software Foundation. Kopie této licence je zahrnuta u této distribuce software v souboru COPYING. Pokud nemáte kopii, můžete ji získat napsáním do Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

Tento software je šířen v naději, že bude užitečný, ale BEZ JAKÉKOLI ZÁRUKY; dokonce i bez předpokkládané záruky OBCHODOVATELNOSTI nebo POUŽITÍ PRO KONKRÉTNÍ ÚČELY. Pro více podrobností viz. GNU General Public License

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

`Český překlad:24.4.2009`