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

Podobné dokumenty
Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

Rekurzivní sledování paprsku

Vývoj počítačové grafiky. Tomáš Pastuch Pavel Skrbek

- obvyklejší, výpočetně dražší - každé písmeno je definováno jako zakřivený nebo polygonální obrys

Reprezentace bodu, zobrazení

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Kreslení elipsy Andrej Podzimek 22. prosince 2005

Multimediální systémy

FOURIEROVA ANAL YZA 2D TER ENN ICH DAT Karel Segeth

Deformace rastrových obrázků

Zobrazování barev Josef Pelikán CGG MFF UK Praha.

Distribuované sledování paprsku

Vývoj počítačové grafiky

Omezení barevného prostoru

12 Metody snižování barevného prostoru

31SCS Speciální číslicové systémy Antialiasing

PB001: Úvod do informačních technologíı

Surfels: Surface Elements as Rendering Primitives

Anti-aliasing a vzorkovací metody

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY

Co je grafický akcelerátor

Direct Digital Synthesis (DDS)

Řídící karta PCI v. 2.2 LED Panely , revize 1.0

Monochromatické zobrazování

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

Dodatky k FT: 1. (2D digitalizace) 2. Více o FT 3. Více k užití filtrů. 7. přednáška předmětu Zpracování obrazů

Časová složitost / Time complexity

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

Úpravy rastrového obrazu

13 Barvy a úpravy rastrového

Textury a šumové funkce

CW01 - Teorie měření a regulace

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

4 Rasterizace liniových objektů

Počítačová grafika 2 (POGR2)

Práce na počítači. Bc. Veronika Tomsová

Čísla, reprezentace, zjednodušené výpočty

G R A F I C K É K A R T Y

Vyplňování souvislé oblasti

GRAFICKÉ ADAPTÉRY. Pracovní režimy grafické karty

1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např.

Grafika na počítači. Bc. Veronika Tomsová

B_PPG PRINCIPY POČÍTAČOVÉ GRAFIKY

Gymnázium Jiřího Ortena, Kutná Hora. Průřezová témata Poznámky. Téma Školní výstupy Učivo (pojmy) volné rovnoběžné promítání průmětna

Zpracování obrazů. Honza Černocký, ÚPGM

Digitalizace převod AS DS (analogový diskrétní signál )

ADA Semestrální práce. Harmonické modelování signálů

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Osvětlování a stínování

Analogově číslicové převodníky

SEZNAM ANOTACÍ. CZ.1.07/1.5.00/ III/2 Inovace a zkvalitnění výuky prostřednictvím ICT VY_32_INOVACE_MA4 Analytická geometrie

Výpočet vržených stínů

polyfázové filtry (multirate filters) cascaded integrator comb filter (CIC) A0M38SPP - Signálové procesory v praxi - přednáška 8 2

Základy 3D modelování a animace v CGI systémech Cinema 4D C4D

Grafická data jsou u 2D vektorové grafiky uložena ve voxelech NEPRAVDA Grafická data jsou u rastrové grafiky uložena v pixelech PRAVDA Grafická data

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

Zobrazování a osvětlování

Příloha č. 6 MATEMATIKA A JEJÍ APLIKACE

Algoritmy a struktury neuropočítačů ASN - P11

Pořízení rastrového obrazu

Třída DrawingTool. Obrázek 1: Prázdné okno připravené pro kreslení

Počítačová grafika. (Computer Graphics) Úvod do tématu. Martina Mudrová únor 2007

Lineární a adpativní zpracování dat. 3. Lineární filtrace I: Z-transformace, stabilita

Počítačové sítě. Lekce 5: Základy datových komunikací

9 Prostorová grafika a modelování těles

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

ZŠ ÚnO, Bratří Čapků 1332

Metodické listy pro kombinované studium předmětu. B_PPG Principy počítačové grafiky

7.5.1 Středová a obecná rovnice kružnice

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Zvuková karta. Zvuk a zvuková zařízení. Vývoj, typy, vlastnosti

Hardware 1. Které zařízení není umístěno na základní desce? A) Zpracovává obraz pro zobrazení na monitoru. C)

Zobrazovací a zvuková soustava počítače

Počítačová grafika 1 (POGR 1)

Karel Johanovský Michal Bílek SPŠ-JIA GRAFICKÉ KARTY

AGP - Accelerated Graphics Port

8. přednáška z předmětu GIS1 Rastrový datový model a mapová algebra

Číslicové filtry. Honza Černocký, ÚPGM

MĚSÍC MATEMATIKA GEOMETRIE

Informatika Počítačová grafika Mgr. Jan Jílek (v.11/12) Počítačová grafika

Výpočet průsečíků paprsku se scénou

Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.

1.8. Úprava uživatelského prostředí AutoCADu 25 Přednostní klávesy 25 Pracovní prostory 25

CT-prostorové rozlišení a citlivost z

P7: Základy zpracování signálu

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Kde se používá počítačová grafika

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Odečítání pozadí a sledování lidí z nehybné kamery. Ondřej Šerý

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Analýza spolehlivosti tlakové nádoby metodou Monte Carlo

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

Měření průtoku kapaliny s využitím digitální kamery

Elementární plochy-základní pojmy

Fakulta elektrotechniky a informatiky Počítačová grafika. Zkouška ústní

Čísla, reprezentace, zjednodušené výpočty

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

Monitory a grafické adaptéry

4.6 Zpracování videa na počítači

Transkript:

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

Úvod Co je to anti - aliasing? 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 vzorkovací frekvence musí být alespoň 2x větší než frekvence dat (Shannonův teorém) podvzorkování způsobuje rušivé efekty (jaggies( jaggies, Moire) Anti aliasing metody na odstranění nesrovnalostí způsobených podvzorkování Techniky no filter pre - filtering post - filtering uniformní Stochastický Jitter

Techniky Pre-filtering 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é Uniformní post-filteringp zvýšení vzorkovací frekvence (rozlišení) filtrace rekonstrukce nevýhody špatné pro malé objekty paměťové nároky problém jen odsunut do vyšší frekvence výhody jednoduchá implementace

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

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

Obecné předpoklady Oba popisované algoritmy předpokládají náležení přímky do prvního oktanu 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) 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 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í

Algoritmus hodně záleží na volbě velikosti konvolučního filtru a stupňů intenzity Další možné vylepšení: readback Barva pixelu je zohledněna i vzhledem k barvě pozadí a okolních pixelů Řeší rozumně protínání přímek 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 Založen na úpravě Bresenhamova algoritmu pro kreslení přímky 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 Kreslí místo jednoho pixelu dva, součet intenzity dává jedna Vystačí s operacemi sčítání a bitovými posuny

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

Dodatky k algoritmu D diference je reálné r číslo s fixní desetinnou čárkou a velikostí rovnou velikosti slova stroje 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 Přímky kratší jednoho pixelu intenzita určena poměrem délky a velikosti pixelu

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

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. 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 Fraktály Renderování polygonů Ray tracing Mapování textur Video (blur) Temporary antialiasing

Zdroje Graphic Gems III., s. 349-354 Fundamental Algorithms for Computer Graphics, s. 113-133 Computer Graphics, July 1991 Computer Graphics Techniques, 131-159 www.whisqu.se/per/docs/graphics75.html whisqu.se/per/docs/graphics75.html www.herakles herakles.zcu/education/ /education/apg_2002_2003/hradek/html/ Aliasing.html http://www.edepot.com/algorithm.html