Anti – Aliasing Ondřej Burkert atrey.karlin.mff.cuni.cz/~ondra/stranka.

Slides:



Advertisements
Podobné prezentace
PID regulátory Ideální paralelní tvar (také nazýván standardní či ISA tvar) ro proportional gain popř. proportional band pb=100%/ ro, Td derivative action,
Advertisements

Počítačová grafika Nám umožňuje:
Analýza experimentu pro robustní návrh
Základy focení – Zlatý řez a formáty souborů ve fotografii
Efekty - 2 kontura, čočka, oříznutí, deformace, stín, rastry
Metody zpracování fyzikálních měření - 4 EVF 112 ZS 2009/2010 L.Přech.
Rozhodování spotřebitele v podmínkách rizika
Kuželosečky Autor: Mgr. Alena Tichá.
PZORA pzora.wz.cz 2. přednáška. součet hodnot dělený jejich počtem "těžiště hodnot" součet odchylek od průměru je nulový Průměr.
MONITOR.
Počítačová grafika III – Monte Carlo integrování
RASTROVÁ A VEKTOROVÁ GRAFIKA
Miloslav Mazanec © 2013 Počítačová grafika.
Výukový materiál zpracován v rámci oblasti podpory 1.5 „EU peníze středním školám“ Název školy Obchodní akademie a Hotelová škola Havlíčkův Brod Název.
Základní pojmy počítačové grafiky
TYPY MODELŮ FYZIKÁLNÍ MATEMATICKÉ ANALYTICKÉ NUMERICKÉ.
Počítačová grafika III – Cvičení 3 Jaroslav Křivánek, MFF UK
Jak na Prezentace? Power Point ZŠ Jiráskova Benešov
Příprava plánu měření pro přírubu
Bitmapová (rastrová) grafika
Bitmapová a Vektorová grafika
Počítačová grafika.
Digitální zpracování obrazu
Počítačová grafika III – Multiple Importance Sampling Jaroslav Křivánek, MFF UK
Diskrétní Fourierova transformace
ZPRACOVÁNÍ A ANALÝZA BIOSIGNÁLŮ
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_060 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Ing. Roman Bartoš Předmět Informatika.
Základní škola národního umělce Petra Bezruče, Frýdek-Místek, tř. T. G. Masaryka 454 Projekt SIPVZ 2005.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Matematické metody v ekonomice a řízení II 4. Metoda PERT
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Dagmar Vítková. Obchodní akademie a Střední odborná škola logistická, Opava, příspěvková.
Rastrová grafika Výpočetní technika.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Gymnázium, Žamberk, Nádražní 48 Projekt: CZ.1.07/1.5.00/ Inovace ve vzdělávání na naší škole Název: Základní pojmy počítačové grafiky Autor: Mgr.
Strojove videni Martin Ruzek Obsah Uvod do strojoveho videni Motivace Metody Odkazy.
GRAFIKA úvod.
Zpracování obrazu Počítače & grafika Přednáška č. 7 Autoři: David Škaroupka, Jiří Liška, Miroslav Cepl, Michal Pokorný, Ivo Bílek.
Definice fraktální (vnitřní) dimenze a její aplikace v databázích
1 Prezentace - Úvod Ing, Jiří Hejhal. 2 Moudrost Nestačí jenom být dobrý. Musí se to dát vědět.
 Zkoumáním fyzikálních objektů (např. polí, těles) zjišťujeme že:  zkoumané objekty mají dané vlastnosti,  nacházejí se v určitých stavech,  na nich.
Digitální měřící přístroje
Informatika Základní formáty počítačové grafiky Obrázek: Žaneta Lažková 2012.
CW01 - Teorie měření a regulace © Ing. Václav Rada, CSc. cv ZS – 2010/2011 Ústav technologie, mechanizace a řízení staveb.
Monte Carlo simulace Experimentální fyzika I/3. Princip metody Problémy které nelze řešit analyticky je možné modelovat na základě statistického chování.
Počítačová grafika (základy práce v (vektorovém) kreslicím programu)
Model lidského zraku pro hodnocení kvality obrazu
Podobnost trajektorií Jiří Jakl Úvod - využití Rozpoznáváni ručně psaných textů GPS navigace Analýza pohybu pracovníku v budovách Predikce.
Počítačová grafika III – Path tracing Jaroslav Křivánek, MFF UK
Vyhledávání vzorů (template matching)
Ztrátová komprese obrázků JPG
Bitmapová (rastrová) grafika
Algoritmy pro počítačovou grafiku Mikšů Vojtěch, Gymnázium Dr. A. Hrdličky, Humpolec Dobeš Václav, Soukromé Gymnázium AD Fontes, Jihlava Větrovský Lukáš,
Ztrátová komprese obrázků JPG. Formát JFIF (JPEG File Interchange format)‏  sekvenční, nejpoužívanější  progresivní,poněkud více náročné na paměť, určeno.
2D grafika Jak pracuje grafik s 2D daty Fotografie Statické záběry
Martin Langhammer Antonín Wimberský. ÚVOD PŘEDPOKLADY Jednotný vstup Zadní SPZ Stejný úhel a vzdálenost záběru Pouze vodorovné záběry značek Obdélníkové.
Geografické informační systémy pojetí, definice, součásti
REPREZENTACE 3D SCÉNY JANA ŠTANCLOVÁ Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK.
1 Televizní obraz Digitální záznam Tento projekt je spolufinancován Evropským sociálním fondem, státním rozpočtem České republiky a rozpočtem Hlavního.
DIGITÁLNÍ OBRAZ JANA ŠTANCLOVÁ Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK.
Rozdíly rastrové a vektorové grafiky (01). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická.
ŘEŠENÍ PROBLÉMŮ: GESTALT PSYCHOLOGIE, TEORIE PROSTORU PROBLÉMU EXPERTI ROZHODOVÁNÍ: HEURISTIKY, TEORIE PODPORY, TEORIE UŽITKU CHYBY V ROZHODOVÁNÍ Řešení.
Střední škola a Vyšší odborná škola cestovního ruchu, Senovážné náměstí 12, České Budějovice Č ÍSLO PROJEKTU CZ.1.07/1.5.00/ Č ÍSLO MATERIÁLU.
Financováno z ESF a státního rozpočtu ČR.
Financováno z ESF a státního rozpočtu ČR.
Grafika – opakování Číslo projektu CZ.1.07/1.5.00/
Technické zobrazování
Sčítání a odčítání celých čísel
LCD monitor Nikola Kodetová\1.L.
Softwarové rádio cesta k moderní komunikační technice
ANALÝZA A KLASIFIKACE DAT
Transkript prezentace:

Anti – Aliasing Ondřej Burkert atrey.karlin.mff.cuni.cz/~ondra/stranka

Úvod Co je to anti - aliasing ? Aliasing = vznik artefaktů v důsledku podvzorkování při vzorkování (sampling) obrazu Aliasing = vznik artefaktů v důsledku podvzorkování při vzorkování (sampling) obrazu podvzorkování = příliš vysoká frekvence dat vzhledem k vzorkovací frekvenci podvzorkování = příliš vysoká frekvence dat vzhledem k vzorkovací frekvenci vzorkovací frekvence musí být alespoň 2x větší než frekvence dat (Shannonův teorém) vzorkovací frekvence musí být alespoň 2x větší než frekvence dat (Shannonův teorém) podvzorkování způsobuje rušivé efekty (jaggies, Moire) podvzorkování způsobuje rušivé efekty (jaggies, Moire) Anti – aliasing Anti – aliasing metody na odstranění nesrovnalostí způsobených podvzorkování metody na odstranění nesrovnalostí způsobených podvzorkování Techniky Techniky no – filter no – filter pre - filtering pre - filtering post - filtering post - filtering uniformní uniformní Stochastický – Jitter Stochastický – Jitter

Techniky Pre-filtering Pre-filtering intenzita/barva pixelu se spočítá přes zastoupení jednotlivých segmetů v pixelu váženo plouchou, kterou zabírají intenzita/barva pixelu se spočítá přes zastoupení jednotlivých segmetů v pixelu váženo plouchou, kterou zabírají výpočetně náročné výpočetně náročné Uniformní post-filtering Uniformní post-filtering zvýšení vzorkovací frekvence (rozlišení) zvýšení vzorkovací frekvence (rozlišení) filtrace filtrace rekonstrukce rekonstrukce nevýhody nevýhody špatné pro malé objekty špatné pro malé objekty paměťové nároky paměťové nároky problém jen odsunut do vyšší frekvence problém jen odsunut do vyšší frekvence výhody výhody jednoduchá implementace jednoduchá implementace

Stochastický post - filtering pozice vzorků je náhodně pozměněna (jitter) pozice vzorků je náhodně pozměněna (jitter) lidské oko lépe vnímá šum než aliasing lidské oko lépe vnímá šum než aliasing nevýhody nevýhody nefunguje dobře u paralelních výpočtů nefunguje dobře u paralelních výpočtů výhody výhody vyšší frekvence nahrazeny šumem vyšší frekvence nahrazeny šumem rychlejší rychlejší

Algoritmy pro kreslení přímky Gupta-Sproull Gupta-Sproull Fujimoto-Iwata Fujimoto-Iwata Xiaolin Wu Xiaolin Wu

Obecné předpoklady Oba popisované algoritmy předpokládají náležení přímky do prvního oktanu Oba popisované algoritmy předpokládají náležení přímky do prvního oktanu To se snadno zařídí prostřednicvím symetrií To se snadno zařídí prostřednicvím symetrií

Gupta – Sproull (1981) Algoritmus pracuje s konvolučním filtrem tvaru kužele (další varianty krychle, Gaussian) Algoritmus pracuje s konvolučním filtrem tvaru kužele (další varianty krychle, Gaussian) Tvar kužele zvolen, vzhledem k chování CRT monitoru Tvar kužele zvolen, vzhledem k chování CRT monitoru Střed kužele je roven středu počítaného pixelu, intenzita barvy pixelu závisí na ploše průniku kužele a kreslené přímky Střed kužele je roven středu počítaného pixelu, intenzita barvy pixelu závisí na ploše průniku kužele a kreslené přímky Ve sloupci jsou 3 pixely Ve sloupci jsou 3 pixely Výpočet se urychluje předpočítáním si tabulky hodnot pro jednotlivé druhy průmětů, tabulka je parametrizovaná úhlem a vzdáleností Výpočet se urychluje předpočítáním si tabulky hodnot pro jednotlivé druhy průmětů, tabulka je parametrizovaná úhlem a vzdáleností

… Algoritmus hodně záleží na volbě velikosti konvolučního filtru a stupňů intenzity Algoritmus hodně záleží na volbě velikosti konvolučního filtru a stupňů intenzity Další možné vylepšení: readback Další možné vylepšení: readback Barva pixelu je zohledněna i vzhledem k barvě pozadí a okolních pixelů Barva pixelu je zohledněna i vzhledem k barvě pozadí a okolních pixelů Řeší rozumně protínání přímek Řeší rozumně protínání přímek Hodně časově náročné – časté přístupy do paměti Hodně časově náročné – časté přístupy do paměti

Příklady vlivu nastavení

Wu’s algorithm (1991) Mnohem jednodušší a efektivnější než Gupta-Sproull Mnohem jednodušší a efektivnější než Gupta-Sproull Založen na úpravě Bresenhamova algoritmu pro kreslení přímky Založen na úpravě Bresenhamova algoritmu pro kreslení přímky Snadno implementovatelný i hardwarově Snadno implementovatelný i hardwarově Používá proměnou určující vzdálenost středu pixelu od středu přímky k určení intenzity/barvy Používá proměnou určující vzdálenost středu pixelu od středu přímky k určení intenzity/barvy Kreslí místo jednoho pixelu dva, součet intenzity dává jedna Kreslí místo jednoho pixelu dva, součet intenzity dává jedna Vystačí s operacemi sčítání a bitovými posuny Vystačí s operacemi sčítání a bitovými posuny

Nástin algoritmu I(x0,y0)=I(x1,y1)=I; //pocatecni body I(x0,y0)=I(x1,y1)=I; //pocatecni body D=0; D=0; d=[k2^n+0.5]; //dolni cela část, de facto obdoba DDA algoritmu d=[k2^n+0.5]; //dolni cela část, de facto obdoba DDA algoritmu while (x0<x1){ //postupuji z obou stran dokud nedojdu doprostřed while (x0<x1){ //postupuji z obou stran dokud nedojdu doprostřed x0+=1; x0+=1; x1-=1; x1-=1; D+=d; D+=d; if (D overflow){ if (D overflow){ //D presahne mez, posunu linku o pixel nahoru po souradnici y //D presahne mez, posunu linku o pixel nahoru po souradnici y y0+=1; y0+=1; y1-=1; y1-=1; } } I(x0,y0)=I(x1,y1)=D div 2^(n-m); //prvnimu pixelu jeho stupen sedi I(x0,y0)=I(x1,y1)=D div 2^(n-m); //prvnimu pixelu jeho stupen sedi //n je pocet bitu D, m je pocet stupnu sedi //n je pocet bitu D, m je pocet stupnu sedi //intenzita je dana m nejvyznamejsimi bity D //intenzita je dana m nejvyznamejsimi bity D I(x0,y0+1)=I(x1,y1-1)=I(x0,y0) doplnek; I(x0,y0+1)=I(x1,y1-1)=I(x0,y0) doplnek; //druhemu priradim komplement hodnoty prvniho pixelu //druhemu priradim komplement hodnoty prvniho pixelu //I(x,y)=i putpixel(x,y,i)i..intenzita pixelu //I(x,y)=i putpixel(x,y,i)i..intenzita pixelu }} }}

Dodatky k algoritmu D … diference je reálné číslo s fixní desetinnou čárkou a velikostí rovnou velikosti slova stroje D … diference je reálné číslo s fixní desetinnou čárkou a velikostí rovnou velikosti slova stroje d … posun vzhledem k ose y (posun k x je 1) d … posun vzhledem k ose y (posun k x je 1) Konce přímek: v případě neceločíselných hodnot počátku a konce… pomocí poměrného přesahu poslední integerové hodnoty x-ové soořadnice Konce přímek: v případě neceločíselných hodnot počátku a konce… pomocí poměrného přesahu poslední integerové hodnoty x-ové soořadnice Přímky kratší jednoho pixelu – intenzita určena poměrem délky a velikosti pixelu Přímky kratší jednoho pixelu – intenzita určena poměrem délky a velikosti pixelu

Srovnání Gupta-Sproull x Wu Gupta-Sproull Gupta-Sproull Lepší výsledky Lepší výsledky Přímky jsou trochu rozmazanější Přímky jsou trochu rozmazanější Výpočetně náročné (výpočet tabulky) Výpočetně náročné (výpočet tabulky) Neošetřuje konce přímek Neošetřuje konce přímek Wu Rychlejší Jednodušší (jen přičtení a bitový posun) Benchmark data: Pentium III 450Mhz, Visual C Release Build, Default Maximum Speed Optimization... AlgorithmLines Drawn (x1000) (s) Lines Per Sec DDA Bresenham Wu EFLA Variation E

Využití Oba algoritmy se dají s úspěchem použít i na vykreslování anti-aliasovaných kružnic a elips, pro vykreslování polygonů je třeba algoritmy příslušně upravit. Oba algoritmy se dají s úspěchem použít i na vykreslování anti-aliasovaných kružnic a elips, pro vykreslování polygonů je třeba algoritmy příslušně upravit. Při vykreslování na obrazovku se občas používá několik algoritmů a jejich nastavení najednou a postupně se zlepšuje kvalita obrazu Při vykreslování na obrazovku se občas používá několik algoritmů a jejich nastavení najednou a postupně se zlepšuje kvalita obrazu

Oblasti využití Prakticky ve všech oblastech grafiky Prakticky ve všech oblastech grafiky Fraktály Fraktály Renderování polygonů Renderování polygonů Ray – tracing Ray – tracing Mapování textur Mapování textur Video (blur) Video (blur) Temporary antialiasing Temporary antialiasing

Zdroje Graphic Gems III., s Graphic Gems III., s Fundamental Algorithms for Computer Graphics, s Fundamental Algorithms for Computer Graphics, s Computer Graphics, July 1991 Computer Graphics, July 1991 Computer Graphics Techniques, Computer Graphics Techniques, asing.html asing.html asing.html asing.html