# MultiDecimate

## Přehled

autor: Donald A. Graft
verze: 1.0.7
stáhnout: http://neuron2.net/mine.html, http://www.avisynth.org/warpenterprises/
kategorie: Odstraňování prokládání & pulldown
požadavky: YUY2 Barevné prostředí

## Úvod

Tento filtr nabízí rozšířené decimační schopnosti nedostupné v Decimate(). Může odstranit všechny duplikované snímky z klipu, nebo může odstranit N snímků z každých M snímků, kde N a M mohou být vybrány uživatelem, odstraněním snímků nejpodobnějších svým předchůdcům. Jsou dostupné speciální režimy pro ochranu statických scén před decimací.

Tento filtr používá 2-průchodový přístup pro umožnění plného náhodnému přístupu na časové ose, náhodné decimaci, a pozdějšího přidání na GUI založeném ručním nastavování.

Tento filtr se hodí, když tradiční decimace 1-z-5 není dostatečná. Například, řada němých filmů je převáděna na DVD s přidáváním duplikátů s neobvyklými šablonami, proto původní frekvence snímků nejsou 24 fps. Není neobvyklé vidět klipy vyžadující zvláštní decimace jako 20 ze 43. Občas lze těchto zvláštních decimací dosáhnout nebo téměř dosáhnout, opakovaným použitím Decimate() využívajícím různých cyklů, ale to je těžkopádný přístup, který ne vždy dosáhne přesných požadovaných decimačních poměrů. Tento filtr se snaží přistupovat k problému více přímo, ale za cenu 2-průchodové operace.

Dalším typickým použitím je odstranění 3 ze 4 snímků u klipů, které byly rendrovány při 120fps pro správnou přítomnost hybridů filmu a videa.

Tato verze podporuje jen YUY2 pro Avisynth 2.5. YV12 bude přidáno až se funkce stabilizuje.

## Úvodní nastavení

Umístěte MultiDecimate.exe a ProcessMD.exe někam vaší DOS executable cesty. Vložte MultiDecimate.dll do vaší složky s pluginy Avisynthu (nebo ho načtete ručně ve vašich skriptech). Pokud nevíte nic o DOS cestách, prostě vložte MultiDecimate.exe a ProcessMD.exe do složky s vaším skriptem.

## Zpracování

Krok 1. Vytvořte váš skript pro 1. průchod:

...
MultiDecimate(pass=1)

Načtěte skript do VirtualDubu a hned spusťte analýzu videa od začátku až do konce (neskákejte sem a tam po časové ose!). To vytvoří soubor metrik, mfile.txt, ve vaší složce se skriptem. Pokud chcete vyzkoušet vaše video na šablonu duplikátů, okomentujte výzvu MultiDecimate(), nesnažte se to dělat během 1. průchodu, protože jakékoliv skoky po časové ose pokazí soubor metrik. Nakonec, po dokončení průchodu 1, ihned ukončete VirtualDub; nic si neprohlížejte.

Je ztráta času, zahrnovat jakékoliv filtry za výzvu MultiDecimate() do prvního průchodu. Zahrňte je formou komentářů aby bylo zpracování rychlejší. Pro druhý průchod pak funkce zbavte znaků pro komentáře.

Krok 2. Spusťte MultiDecimate.exe pro spuštění GUI. Nalistujte soubor mfile.txt . Vyberte požadovaný režim (viz níže na popis režimů). Nastavte ostatní konfigurační položky jak požadujete (viz níže). Pak klikněte na tlačítko Create. Tím se vytvoří soubory cfile.txt a dfile.txt ve složce vašeho skriptu.

Krok 3. Upravte skript pro změnu průchodu pass=1 na pass=2. Nyní můžete načíst skript a ten bude mít správně decimované video, a náhodný přístup po časové ose bude podporován. Pass 2 čte soubor dfile.txt do paměti a používá ho pro stanovení, které snímky mají být doručeny.

## GUI Decimační režimy a konfigurace

Jsou dostupné následující režimy:

- "Remove duplicates : Global: Naive":(Odstranit duplikáty:Globálně:Naivně) - Tento režim odstraní všechny snímky určené jako duplikáty podle definované prahové hodnoty Threshold. Snímky s metrikou menší než prahová hodnota budou považovány za duplikáty. Prověřte si v souboru mfile.txt jaké mají snímky metriky.

- "Remove duplicates: Global: Protect static scenes": (Odstranit duplikáty:Globálně:Ochránit statické scény) - Tento režim odstraní všechny snímky určené jako duplikáty podle definované prahové hodnoty, ale statické scény nebudou odstraněny. Statická scéna je definována jako posloupnost duplikátů, která se rovná nebo je větší než konfigurovaná posloupnost (počet snímků) Run Length.

- "Remove duplicates: Cycle-based: Naive": (Odstranit duplikáty:Cyklicky:Naivně) - Tento režim odstraní N snímků z každých M snímků, kde N je definováno nastaveným Cycle, a M je definováno nastaveným Remove.

- "Remove duplicates: Cycle-based: Protect static scenes": (Odstranit duplikáty:Cyklicky:Ochránit statické scény) - Tento režim odstraní N snímků z každých M snímků, jako výše, ale statické scény jsou "ochráněny". V naivním režimu, mohou být statické scény uvnitř cyklu přednostně decimovány. To může být špatné, protože můžete ztratit hodně ze statické scény, a proto odebrání zvláštních duplikátů ze statické scény znamená, že zvláštní duplikáty jsou ponechány v akčních scénách.

  Pro přijetí tohoto, použijte režim "protect static scenes" . Když zvolíte tento režim z roletového seznamu, objeví se dva zvláštní editační boxy. Threshold je metrika pod níž jsou deklarovány duplikáty. Metriky jsou stejné jako ty použité v souboru mfile.txt , takže je můžete použít aby vám napověděli. Pole v mfile.txt jsou následující:

  FrameNum IsADup Metric

  Run Length je počet duplikátů (takto definovaných) v řádku, který definuje předmět ochrany statické scény. Chráněná statická scéna je decimována poměrem odstranit/cyklus, ne více a ne méně (předmět celočíselně oříznut).

## Parametry filtru pro AviSynth

Následující je syntaxe pro MultiDecimate (nahraďte parameter_list vaším čárkou odděleným seznamem jmenných parametrů):

`MultiDecimate` (parameter_list)

pass (1 nebo 2, výchozí 1): Tento parametr definuje průchod zpracování jak je popsáno výše.

quality (0-3, výchozí 2) Tato možnost umožňuje uživateli vyvážit kvalitu detekce rozdílů s rychlostí. Zde jsou možnosti:

quality = 0: Podvzorkováno pro rychlost a barevnost neuvažována (nejrychlejší).
quality = 1: Podvzorkováno pro rychlost a barevnost uvažována.
quality = 2: Plné vzorkování a barevnost neuvažována.
quality = 3: Plné vzorkování a barevnost uvažována (nejpomalejší).

show (true/false, výchozí false) zapíná zobrazení informací do snímku. Také zobrazuje verzi softwaru.

debug (true/false, výchozí false) zapíná tisk informací přes OutputDebugString(). Pro zachycení těchto řetězců je dostupná utilita zvaná DebugView. Zobrazené informace jsou stejné jako ty zobrazované v možnosti výše.

## Poděkování

Děkuji Tomu Danielovi ('manono') za návrh této nové decimační funkcionality.

## Copyright

Copyright (C) 2003, Donald A. Graft, All Rights Reserved.
Zpětná vazba/žádosti k neuron2 na attbi.com.

Pro aktualizace a další filtry/nástroje, navštivte mou webovou stránku:
http://neuron2.net/

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

`Český překlad:24.3.2009`