Deinterlace - porovnání algoritmů pro odstranění prokládání


Úvod

Tento přehled je pokračováním mého článku o prokládání. Snažím se porovnat 16 nejznámějších filtrů a programů pro odstranění prokládání. Zjistil jsem, že většina lidí nemá příliš ponětí o tom, jak jednotlivé filtry fungují a jaké jsou jejich nevýhody. Snad jim tento test ukáže, které filtry jsou dobré a které ne. Všechny deinterlace algoritmy jsou v podstatě založeny na 3 postupech -

Jak špatné jsou metody bob a blend Vám nejlépe ukáží následující obrázky:

Originál Bob
Blend

Na prvním obrázku je ukázka z originálního videa tvořeného stejnými obrázky s 1 px širokými černo-bílými pruhy. Na druhém je ten samý obrázek po zpracování metodou "bob". Protože půlsnímek s černými pruhy se vyhodil, zůstal obrázek celý bílý. Mohlo to ale dopadnout také zcela obráceně a výsledek by byl úplně černý. Na třetím obrázku je výsledek metody "blend". Ta zprůměruje oba půlsnímky a výsledkem je celá plocha šedivá. Jak vidíte oba postupy na odstranění interlace artefaktů napáchají na originále obrovské škody. Můj příklad je samozřejmě vykonstruovaný a nereálný, ale krásně ukazuje, kam použití těchto metod vede.

Když jsem teď tedy pohaněl všechny možné způsoby odstranění prokládání, vyvstane na mysli určitě otázka: Co tedy používat? Odpověď je prostá: Kombinovat. Na místa bez pohybu je vhodné použít weave a na místech s pohybem nám nezbyde než interpolovat (použít bob). Kvalita filtrů se tedy liší hlavně v tom, jak dobře jsou schopné najít místa s pohybem a jak dobře umí interpolovat. Některé filtry hledají pohyb pouze v jednom obrázku, jiné analyzují 2 až 3 po sobě jdoucí snímky. Některé filtry se ale s hledáním vůbec nenamáhají a použijí natvrdo bob nebo blend pro celý obraz. Výsledek takového deinterlace ja samozřejmě nepěkný.

Testování

Filtry jsem odzkoušel na 3 různých ukázkách při stejném nastavení, ve většině případů výchozím. První 2 ukázky jsou z DVD se záznamem z hokejového utkání. Práci algoritmům tak ztěžuje použití MPEG-2 komprese, která je navíc v tomto případě poměrně nekvalitní. Na prvním záběru se pohybuje vlastně všechno, proto je nutné použít interpolaci pro skoro celý obraz. Filtry zde tedy nemohly nic moc předvést. Kromě metody blend zde částečně selhaly filtry Kernel Deinterlace, TDeint a PowerDVD. Zbytek filtrů podal dost podobné výsledky. Při zkoumání doporučuji zaměřit se na nápisy ve znaku a hráče v pozadí.

Druhá ukázka prověřila filtry asi nejlépe. Jde opět o ukázku z DVD s hokejovým zápasem. Část obrazu je ale statická, část se pohybuje rychle a zbytek pomalu. Při zkoumání doporučuji zaměřit pozornost na kulatý znak vlevo a hráče v popředí. Filtry blend i bob samozřejmě zklamaly. Poměrně dobrých výsledků tentokrát ale dosáhly filtry Kernel Deinterlace a TDeint, i když s mírnými problémy stejně jako HiCon32, PowerDVD, TomsMoComp nebo Area Based. Excelovaly filtry Deinterlace MAP, DgBob a SmartDeinterlace.

Poslední ukázka je záběr z DV kamery. Vše je statické až na projíždějící auto. Tato ukázka nechtěně také dokladuje, jak špatná je kvalita videa z běžných digitálních kamer. Při dobré interpolaci téměř není poznat snížení rozlišení na polovinu. To není zrovna dobrá vizitka. Každopádně v této ukázce selhal do té doby vynikající DgBob a ani Deinterlace MAP a HiCon32 nebyly stoprocentní. Naopak excelovaly Kernel Deinterlace, TDeint a Smart Deinterlace. Díky víceméně statickému obrazu a nízké kvalitě jsou akceptovatelné i výsledky filtrů bob a blend.

Nyní již tedy víte, jak jsem k výsledkům dospěl, a můžete si prohlédnout Galerii s obrázky a podrobnějšími komentáři.

Závěr

Pokud nechcete zkoumat vše sami, můžete se pokusit spolehnout na mé hodnocení. Suverenně nejhůř dopadl zcela podle očekávání filtr blend, který používá například VirtualDub (kde je označen jako nejlepší!) a Sony Vegas. Na druhém místě odazadu se umístili různé interpolace (bob). Opět je najdeme hlavně ve VirtualDubu a Vegasu. Ve středu pole se umístili filtry TDeint a Kernel Deinterlace, které jednou selhaly, jednou byly průměrné a jednou výborné. Naopak výsledky PowerDVD (duchy) a TomsMoComp (rozmazání) byly vždy spíše průměrné. Filtry DgBob a Area Based byly dvakrát vynikající a jednou spíš podprůměrné. Deinterlace MAP a HiCon32 byly dvakrát výborné jednou pouze průměrné. Jediný filtr, který podal pokaždý vynikající a možná i nejlepší výsledek je Smart Deinterlace pro VirtualDub a Vegas.

Smart Deinterlace

Proto si myslím, že si tento filtr zaslouží alespoň krátký popis. První tři možnosti dávají na výběr, kde se má pátrat po pohybu. Buďto pouze mezi dvěma půlsnímky jednoho snímku, mezi třemi po sobě jdoucími stejnými půlsnímky nebo v obojím. Výběr záleží na konkrétním materiálu. Udělejte si sami test a zároveň si pohrajte s hodnotou "Motion threshold". Další 4 checkboxy nabízejí výběr způsobu, jakým se odstraní deinterlace artefakty. Blend nepoužívat !!! Kubická a lineární interpolace jsou podobné, kubická je kvalitnější a pomalejší. Poslední možnost se snaží detekovat hrany a opravovat je. Je nejkvalitnější a také nejpomalejší. Compare color channels bude porovnávat rozdíl bodů v barvě namísto rozdílu v jasu. Je to vhodné především pro kreslené filmy. Show motion area only zobrazí místa, která filtr nadetekoval jako pohybující se. Pomůže to při hledání správného thresholdu (přelomové hodnoty). Motion map deonising použíje před detekcí pohybu šumový filtr, čímž zamezí nadetekování šumu jako pohybu. Šumový filtr ale nebude aplikovaný na výstupní video. Motion threshold jak už jsem zmínil udává minimální hodnotu změny mezi půlsnímky, aby se místo začalo považovat za pohybující se. Příliš nízká hodnota odstraní prokládání i tam kde není a naopak příliš vysoká ponechá i pohybující se části obrazu netknuté. Scene change threshold je hodnota (v procentech), při jejímž překročení je považováno celé video za pohybující se a celý půlsnímek se zahodí a dopočítá se. Nastavením hodnoty na 100 tuto funkci de-facto zakážete.Možnosti u Advanced processing se vztahují ke špatně zachycenému videu, které bylo původně neprokládané. Pro jejich použití si raději přečtšte originální nápovědu. Pokud tápete nad správným nastavením, zkuste to podle mého obrázku nebo nechte výchozí hodnoty s tím, že místo "blend" zvolte raději interpolaci.

Zdrojová videa

Pokud se Vám zdá, že jsem některý filtr špatně použil a tím znehodnotil jeho výsledky, můžete si stáhnout zdrojová videa a vyzkoušet si výsledek sami. To samé platí i v případě, že víte o nějakém dobrém filtru, na který jsem zapomněl. Kontaktovat mě můžete na adrese vladovi@atlas.cz. A kde tedy najdete ta zdrojová videa? Tady jsou: Hokej - DVD, DV záznam. Stáhnout si můžete také moje pokusné video. Je to poružkovaný čtverec doplněný o červené okraje, formát je DV AVI (interlaced BFF). Zkuste si toto video přehrát ve vašem přehrávači na PC nebo z DV kamery na LCD či PDP televizi a hned uvidíte, jaký deinterlace se používá. Pokud prostředek bliká, je to 50fps BOB, jestli svítí bíle nebo je černý, jedná se o 25fps BOB. No a když je střed šedivý máme tu BLEND. Jediné správné zobrazení je ale toto:

Test

Zkuste si to a uvidíte sami, jak málo přístrojů je schopných provést korektní deinterlace. Proto se snažte bojovat proti prokládání kde se dá a bojkotujte nesmyslný HDTV standard 1080i. Jakmile se totiž jednou video natočí jako prokládané, je navěky poškozené a nejde již žádným způsobem zachránit. Mé ukázky to jasně dokazují.