licence: GPL
TTempSmooth je pohybově adaptivní (pracuje jen ve statických částech obrazu), časový vyhlazovací filtr. TTempSmoothF je rychlejší (50-75%) verzí TTempSmooth, která nemá parametry lmdiff/cmdiff (je shodný s chodem TTempSmooth, ve kterém jsou lmdiff/mdiffC nastaveny tak, že se rovnají nebo jsou větší než LThresh-1/CThresh-1).
TTempSmooth
(clip, int "maxr", int "lthresh", int "cthresh",
int "lmdiff", int "cmdiff", int "strength", float "scthresh",
bool "fp", int "vis_blur", bool "debug", bool "interlaced", PClip "pfclip")
TTempSmoothF
(clip, int "maxr", int "lthresh", int "cthresh", float "scthresh",
bool "fp", int "vis_blur", bool "debug", bool "interlaced", PClip "pfclip")
maxd - (maximální časový-temporal průměr)
Toto nastavuje maximální časový rádius. TTempSmooth ostatně automaticky mění použitý rádius... toto nastavuje maximální meze. Možné hodnoty jsou 1 až 7. Při 1 TTempSmooth zahrne pixely z (maximálně) 1 snímku dále nebo blíže od středního (celkem budou uvažovány 3 snímky včetně aktuálního). Při 7 by byly zahrnuty pixely ze snímků vzdálených až o 7 snímků (celkem bude uvažováno 15 snímků). S kontrolou pohybu není moc nebezpečné jeho vyšší nastavení, je to v podstatě možnost upřednostnění kvality proti rychlosti. Nižší nastavení jsou rychlejší, zatímco větší hodnoty směřují k vytvoření stabilnějšího obrazu.
výchozí = 3 (int)
LThresh/CThresh - (prahové hodnoty jasu - luma a barevnosti - chroma)
Vaše standardní prahové hodnoty jasu a barevnosti pro rozdíly pixelů mezi snímky. lthresh je pro jas a cthresh je pro barevnost. TTempSmooth kontroluje vzdálenost 2 snímků a také jednoho snímku, takže mohou být obvykle nastaveny mírně výše, než u většiny jiných časových vyhlazovačů a pořád se ještě vyhnete artefaktům. Platná nastavení jsou od 1 do 256. Také je důležitý fakt, že dokud je "mdiff" menší než hodnota prahové hodnoty tak pixely s většími rozdíly od původního budou mít menší váhu v průměru. Tak dokonce i s dost velkými prahovými hodnotami, právě pixely pod prahovými hodnotami nebudou mít velkou váhu, a to napomáhá snížení artefaktů.
výchozí - LThresh = 4 (int)
CThresh = 5 (int)
lmdiff/cmdiff - (stálý rozdíl) - (použito jen v TTempSmooth ne v TTempSmoothF)
Jakékoli pixely s rozdíly menšími nebo rovnými "mdiff" budou maximálně rozmazány. Obvykle čím větší rozdíl od středového pixelu tím menší váha v průměru. mdiff nutí TTempSmooth zpracovávat pixely takové, které se liší méně nebo stejně jako "mdiff" tak, jako by měli rozdíl 0. Jinými slovy, posouvá bod nulového rozdílu dále. Nastavte "mdiff" na hodnotu rovnou nebo větší než lthresh-1/cthresh-1 aby jste úplně vypnuly vážení převráceného (1/x)) rozdílu pixelu. Platné hodnoty jsou od 0 do 255. lmdiff je pro jas a cmdiff je pro barevnost.
výchozí - lmdiff = 2 (int)
cmdiff = 3 (int)
strength - (součinitel prostorové váhy)
TTempSmooth používá vážení převrácené hodnoty vzdálenosti při rozhodování jakou váhu dát každé
hodnotě pixelu. Možnost strength vám umožní posunout místo spádu od středu, což dává
silnější efekt vyhlazení a přidává váhu vnějším pixelům. Dělá pro prostorové vážení to samé co dělá
mdiff pro váhu rozdílu. Možná nastavení jsou:
1 = 0.13 0.14 0.16 0.20 0.25 0.33 0.50 1.00 0.50 0.33 0.25 0.20 0.16 0.14 0.13
2 = 0.14 0.16 0.20 0.25 0.33 0.50 1.00 1.00 1.00 0.50 0.33 0.25 0.20 0.16 0.14
3 = 0.16 0.20 0.25 0.33 0.50 1.00 1.00 1.00 1.00 1.00 0.50 0.33 0.25 0.20 0.16
4 = 0.20 0.25 0.33 0.50 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.50 0.33 0.25 0.20
5 = 0.25 0.33 0.50 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.50 0.33 0.25
6 = 0.33 0.50 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.50 0.33
7 = 0.50 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.50
8 = 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
Zobrazené hodnoty jsou pro maxr = 7, při použití menších hodnot rádiusu váhy mimo tento rozsah jsou jednoduše vypuštěny. Tedy, nastavení strength na hodnotu maxr+1 nebo vyšší vám dá stejné prostorové vážení všech pixelů v jádře. Verze před v0.9.3 vždy používali vážení podle strength = 2.
výchozí = 2 (int)
scthresh - (prahová hodnota změny scény)
Standardní prahová hodnota změny scény jako procento maximální možné změny jasové plochy. Dobrý rozsah hodnot je mezi 8 a 15. Použijte ladící (debug) výstup, aby jste se podívali na to, které snímky jsou detekovány jako změna scény a na hodnotu rozdílu vypočtenou pro každý snímek. Nastavte scthresh na <= 0.0 pro vypnutí detekce změny scény.
výchozí = 12.0 (float)
fp - (regulární nebo zakotvené zprůměrování podle počtu)
Nastavení fp=true přidá nějakou váhu nedodanou vnějším pixelům zpět k centrálnímu pixelu, při výpočtu finální hodnoty. Nastavení fp=false prostě udělá normální vážený průměr. fp=true je mnohem lepší pro redukci artefaktů v oblastech pohybu a obvykle vytváří celkově lepší výsledky.
výchozí = true (bool)
vis_blur - (vizualizace rozmazání)
Tato možnost vysílá mapu, která ukazuje které pixely jsou filtrovány a jak moc. Pro každý pixel počítá jaká váha byla dána vnějším pixelům (t.j. ne centrálnímu pixelu) z maximální možné váhy, která by vnějším pixelům mohla být dána. Pak převádí tento výsledek do rozsahu 0 až 255, takže oblasti kde nebyla dána žádná váha vnějším pixelům (neprovádí se žádné vyhlazování) zobrazí černě, a oblasti, kde byla dána celá možná váha vnějším pixelům (maximální vyhlazení) zobrazuje bíle. Jinými slovy, čím temnější hodnota tím slabší vyhlazení, čím světlejší hodnota, tím silnější vyhlazení. Možné hodnoty jsou:
0 - bez mapy
1 - mapa vyhlazení plochy Y
2 - mapa vyhlazení plochy U
3 - mapa vyhlazení plochy V
výchozí = 0 (int)
debug - (ladící výstup)
Pokud je zapnutý, TTempSmooth vysílá statistiky změny scény a ukazuje, které snímky byly detekovány jako snímky změny scény. To je zamýšleno jako pomoc při nastavování parametru scthresh. Pro zobrazení výstupu můžete použít "DebugView" ze sysinternals.
výchozí = false (bool)
interlaced - (prokládaný yv12 vstup)
Nastavte ho na true, pokud používáte ttempsmooth na prokládaný YV12 klip... jinak ho nastavujte na false. Toto nastavení ovlivní jen YV12 vstup a nemá vliv na vstup YUY2 protože prokládané YUY2 nepotřebuje žádné zvláštní zacházení.
výchozí = false (bool)
pfclip - (předfiltrovaný klip k použití rozdílů pixelů)
Toto vám umožní zadat jiný klip pro ttempsmooth k použití při výpočtu rozdílů pixelů. Platí to pro kontrolu prahových hodnot pohybu, výpočet převrácených vah rozdílů, a detekci změny scén. V zásadě, pfclip bude použit pro určení vah zprůměrované hodnoty, ale budou použity na hodnoty původních pixelů klipu. Tato možnost je podobná jako "ppClip" v TBilateral... některé možné návrhy pro předfiltrování jsou gaussovo rozmazání, adaptivní median, atd...výchozí = NULL (PClip)
11/17/2005 v0.9.4
+ Added interlaced parameter (fix incorrect interlaced yv12 chroma handling)
+ Added pfclip parameter
+ Added MMX scenechange routines (for those that don't have an isse capable cpu)
- Changed default scthresh value to 12.0
07/20/2005 v0.9.3
+ Added scenechange detection
+ Added visualize blur option
+ Added back in fp and the ability to do a regular average (was removed in v0.9.1)
+ Added debug output
+ Added strength option to adjust spatial weights
+ Rewrote all the code (vastly reduced the total source size)
+ 10% speed increase for TTempSmooth()
- Changed to maxr instead of maxd, increased max possible radius value from 4 to 7
and decreased the min possible radius from 2 to 1
- Changed some of the parameter names (mdiff=lmdiff,mdiffc=cmdiff)
- Changed default lmdiff/cmdiff values to 2/3 (were 3/4)
07/29/2004 v0.9.2
- Modified buffering code to remove unneeded BitBlts()... small speed up (5-10%).
- Request frames in linear order when completely refilling buffer.
- Added TTempSmoothF(), a faster version of TTempSmooth (50-75%), which is equivalent to using
TTempSmooth() with mdiff/mdiffC equal to or greater then LThresh/CThresh. Thus, it only takes
maxd, LThresh, and CThresh as parameters.
- Changed defaults to be less aggressive.
- There were no quality changes, the same settings will produce the same output as in v0.9.1.
06/15/2004 v0.9.1
- Fixed a major bug that caused incorrect calculation of the chroma differences, rendering the
filter completely useless.
- Got rid of amount/amountC and fixedPoint parameters. They were unneeded in the case of amount
and fixedPoint = true always worked better then false...
- Small speed up
- Changed some of the defaults.
06/11/2004 v0.9
- Initial Release
$English Date: 2006/05/14 16:32:16 $
Český překlad:16.4.2009