Tento plugin pro Avisynth implementuje robustní detektor duplikovaných snímků. Původně byl vytvořen jako testovací podklad pro nový algoritmus rozlišení snímků, ale aby byl proveden jako užitečný filtr sám o sobě, byly do něj implementovány funkce pro kopírování a smíchání (blend), čímž řetězec snímků, které jsou všechny pod prahovou hodnotou rozdílu od prvního snímku řetězce, bude nahrazen řetězcem snímků identických s posledním snímkem zdrojového řetězce. Místo prvního snímku je použit poslední, protože první snímek po změně scény má často více blokových artefaktů, atd. Když je zapnuta možnost smíchání (blend), nahrazovací snímek bude generován ze smíchání všech duplikátů v řetězci (užitečné pro redukci šumu).
Toto je zamýšleno pro použití v klipech, které mají značné množství obsahově duplikovaných snímků, ale které se liší šumem. Typicky animované filmy mají mnoho takových duplikátů. Nahrazením zašumělých duplikátů přesnými duplikáty lze dosáhnout snížení datového toku. Je to zdarma! ('Marc FD' poprvé implementoval tuto kopírovací funkctionalitu.) Doplňkově lze u duplikovaných snímků významně snížit šum při zapnutí možnosti smíchání (blend).
Některé detektory duplikátů se nejsou schopny adaptovat ke změnám úrovně jasu v různých scénách klipu, a jsou zle ovlivněny šumem. Mají ne jednoduché absolutní prahové hodnoty, které musí být nastaveny uživatelem. Tento filtr se pokouší řešit všechny tyto problémy.
Dup používá malé okno, kterým skenuje snímek, takže je schopen uvidět velmi malé změny. Efekt šumu je redukován prostřednictvím automatického vyrušení při procesu sumarizace. Rozdíl snímků je normalizován do rozsahu 0-100% pro intuitivnější nastavení prahové hodnoty.
Filtr přijímá jak YUY2 tak YV12 vstup. Není zatím optimalizován pro rychlost. Optimalizace budou zahrnuty v příštích verzích.
Tato verze Dup vyžaduje Avisynth 2.5 a novější. Existuje starší verze Dup pro použití s verzí Avisynth 2.0x .
Dup(threshold=5,debug=true)
Je povolena jakákoliv kombinace a pořadí parametrů. Nicméně pamatujte, že by jste měli vždy vkládat prázdné závorky, pokud nespecifikujete žádné parametry.
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth] "plugindir2_5"="d:\\avisynthplugins"
Dále, vytvořte výchozí soubory jak je potřeba ve složce pluginů. Například, k nastavení výchozí hodnoty blend=true pro Dup(), vytvořte soubor zvaný Dup.def a vložte do něj tento řádek:
blend=true
Můžete sepsat tolik přiřazení parametrů kolik chcete, na každý řádek jeden. Při nespecifikování zůstanou hodnoty uvedené níže. Samozřejmě můžete vždy přepsat tyto výchozí jinými hodnotami uvedenými ve vašem skriptu, když vyvoláváte funkci. Poznámka: Řádky ve výchozím souboru nesmí obsahovat žádné mezery nebo tabulátory.
Následující je syntaxe pro Dup (nahraďte parameter_list vaším čárkou oddělovaným seznamem jmenných parametrů):
Dup(parameter_list)
threshold (0.0-100.0, výchozí 3.0): Tento parametr definuje procentuální změnu v nejodlišnějším okně 32x32-pixelů, které je dostačující pro deklarování duplikovaného snímku. Dá se to chápat jako, že pokud je threshold (řekněme) 7%, tak jestliže jakákoliv oblast 32x32 pixelů se změní o 7% nebo více, není to duplikát, jinak jím je. Použijte možnost show pro zobrazení hodnot rozdílu snímků jako nápovědu při nastavování prahové hodnoty threshold, Pokud upřednostňujete jinou než výchozí.
Měli by jste vždy nastavovat vaši prahovou hodnotu nad úroveň šumu v klipu. O kolik výše, závisí na tom, kolik duplikátů chcete generovat, t.j. na žádaném snížení datového toku. Pro určení úrovně šumu vyzkoušejte snímky a hledejte takové, které mají duplikovaný obsah, třebaže s rozdílem vyvolaným šumem. Můžete najít takové snímky, které jsou obsahovými duplikáty zobrazují metriku rozdílu několik procent (kvůli šumu). Stanovte nejvyšší metriku, kterou obdržíte pro duplikáty se stejným obsahem. Pak nastavte vaši threshold nad touto úrovní s takovou rezervou jakou chcete pro dosažení žádaného snížení datového toku.
chroma (true/false, výchozí true): Nastavte chroma=false pro vyloučení barevnosti (chroma) z rozlišování snímků.
show (true/false, výchozí false): Když nastavíte na true, do levého horního rohu snímku je překrytím vložena informace. Když je copy=false, oblast 32x32 pixelů, která se nejvíce liší od stejné oblasti v dalším snímku, je vybarvena bílým čtverečkem, a zobrazí se metrika rozdílu. Pokud má čtvereček přes sebe X , snímek byl označen jako duplikát v souladu s nakonfigurovaným procentuálním rozdílem (threshold). Když je copy=true, čtvereček se nezobrazí. Textová informace vám řekne, které snímky jsou duplikovány a ze kterého zdrojového snímku.
copy (true/false, výchozí true): Pokud je tato možnost nastavena na true, označené duplikáty budou nahrazeny jednou kopií. Pokud je řetězec duplikátů, použije se poslední snímek v řetězci pro všechny kopie. Pokud je blend=true, kopírovaný snímek bude generován smícháním všech duplikátů v řetězci dohromady.
maxcopies (1-20, výchozí 20): Určuje maximální počet kopií, které mohou být vyslány kvůli oznámení duplikátu. Nicméně, pokud má vstupní stream více než maximální počet duplikátů v řetězci, pak samozřejmě budou vyslány všechny. Toto omezení prostě donutí aktuální duplikovanou sekvenci skončit; srovnání se znovu spustí od následujícího snímku.
blend (true/false, výchozí false): Pokud je tato možnost nastavena na true, tak chování copy bude upraveno tak, že místo použití posledního snímku z řetězce duplikátů, bude snímek vytvořen a použit ze smíchání (blend) všech duplikátů v řetězci. To je užitečné pro redukci šumu. Tato možnost vyžaduje copy=true. Také si všimněte, že smíchaný snímek je generován, když je žádaný prvním snímkem řetězce. Takže náhodný přístup do středu řetězce nevyvolá smíchání. Pro správnou funkci proto přehrávejte klip přímo od počátečního místa.
debug (true/false, výchozí false): Tento parametr zapíná ladící (debug) výstup do utility DebugView. Tuto utilitu můžete stáhnout z mé webové stránky uvedené níže.
Copyright © 2003, Donald A. Graft, All Rights Reserved.
Pro aktualizace a jiné filtry/nástroje, navštivte moji webovou stránku:
http://neuron2.net/
$English Date: 2005/07/27 17:51:01 $
Český překlad:25.3.2009