12.1. Aliakset eli laskostuminen ja näytteistys 12. Laskostumisen teoria ja käytäntö Monet seikat vaikuttavat kuvien laatuun tietokonegrafiikassa. Mallintamisesta ja muista tekijöistä syntyy myös artefakteja, jotka ovat seurausta kuvan luomisessa käytetyistä renderöintialgoritmeista. Artefaktit voivat johtua sävytys tai interpolointimenetelmistä. Laskostumisen estäminen (anti aliasing) on yleinen termi, joka tarkoittaa alinäytteistyksestä aiheutuvien poikkeavuuksien käsittelyä. Käsitettä on jo edellä kosketeltu. Mikä on alias? Teoriassa se viittaa erikoiseen kuva artefaktiin, joka on enimmäkseen näkyvä tekstuurikuvauksissa jaksollisuuden lähetessä pikselin ulottuvuutta. Tämä on nähtävissä jo aiemminkin annetussa kuvassa 12.1., joka on ääretön shakkilauta. Neliöt pienenevät kohti laudan yläosaa ja sitten näkyvästi suurenevat aiheuttaen visuaalisen häiriön. Tämä johtuu alinäytteistyksestä. Näytteistyksen käsite tietokonegrafiikassa tulee yksittäisen värin tai valon laskemisesta pikselille. Näytteistetään ratkaisu diskreeteistä arvoista ratkaisuavaruudessa. Tämä avaruus on käsitteellisesti jatkuva, koska kuvat luodaan abstraktioista. Tällöin näytteet ovat laskettavissa missä tahansa ja kaikkialla kuvatasolla. 12. luku 596 12. luku 597 Kuva 12.1. (a) Vasemmalla laskostumista esiintyy alinäytteistyksen takia. (b) Oikealla hahmo on saatu ylinäytteistyksellä tapauksesta (a). Laskostusta esiintyy edelleen, mutta vasta kauempana eli suuremmilla tilataajuuksilla. Palataan jälleen yksiulotteiseen funktioon, sinikäyrään, laskostumisilmiön selkeää kuvaamista varten. Siniä käytetään nimenomaan havainnollistamaan asiaa, vaikka sini ei sinänsä sisällä mitään olennaista informaatiota. Kuvassa 12.2. on eri taajuuksilla näytteistettyjä sinikäyriä. Kuva 12.2. Siniaallon näytteistystä: (a) Näyteintervalli eli väli on pienempi kuin puolet siniaallon jaksosta siis riittävän pieni eli taajuus riittävän suuri ylittäessään Nyquistin taajuuden. (b) Näyteintervalli on yhtä suuri kuin puolet siniaallon jaksosta rajatilanne. (c) Näyteintervalli on suurempi kuin puoli aaltoa liian suuri. (d) Näyteintervalli on paljon suurempi kuin puoli aaltoa. 12. luku 598 12. luku 599
Alinäytteistys ja jatkuvan signaalin rekonstruointi näytteistä (pisteet) tuottavat alkuperäisen signaalin aliaksen, joka ei vastaa alkuperäistä, vaan on vääristymä siitä, väärällä taajuudella esiintyvä siniaalto. Kyseessä on laskostuminen. Pitää näytteistää riittävän suurella näytteenottotaajuudella eli pienellä näytteenottointervallilla laskostumisen välttämiseksi. Tällöin signaalin rekonstruointi onnistuu kohtuullisella tarkkuudella. Sama pätee kuviin, so. kaksi tai kolmiulotteisiin signaaleihin. Pohditaan vielä kuvan 12.1. ääretöntä shakkilautaa. Hahmoyksiköt lähenevät nopeasti pikselin kokoa, jolloin hahmo murtuu. Suuret tilataajuudet laskostuvat pienemmiksi eli pienet aallot suuremmiksi ( hitaammiksi ). Kuvan osassa (b) laskostumisvaikutusta on vähennetty nostamalla näytteenottotaajuutta. Kokonaan ilmiö ei kuitenkaan katoa. Tämä merkitsee kahta teoreettisesti olennaista seikkaa. Tilataajuudet kuvassa ovat rajoittamattomia, koska ne syntyvät matemaattisesta määritelmästä. Laskostumisesta ei pääse eroon vain kasvattamalla pikselitarkkuutta. Artefaktit esiintyvät vain entistä suuremmilla tilataajuuksilla. Ne eivät kokonaan katoa, ovat toki vähemmän näkyviä. Yleistetään kuvan 12.2. esimerkkiä tarkastelemalla tapauksia taajuustasossa funktiolle f(x), joka sisältää jotakin jaksollista informaatiota, mutta ei puhdasta siniaaltoa. Se voi olla mitä tahansa yleistä vaihtelua x:n suhteen ja voi edustaa esim. valon intensiteettiä selaussuoralla. Funktion f(x) spektri (taajuustasossa) esittää jonkin vaipan tai verhon (kuva 12.3. (a)), jonka raja on korkein esiintyvä taajuuskomponentti f max. 12. luku 600 12. luku 601 Näytteenottofunktion taajuusspektri eli vaste (kuva 12.3. (b)) on sarja janoja (mpulsseja) jatkuen teoriassa äärettömyyteen ja näytteenottotaajuuden f s välein. Näytteenotto tilassa käsittää f(x):n kertomisen näytteenottofunktiolla. Ekvivalentti prosessi taajuusalueella on konvoluutio. Näytteenottofunktion taajuusspektri konvoloidaan f(x):n kanssa kuvan 12.3. (c) taajuusspektrin saamiseksi (f(x):n näytteistetyn version spektri). Tämä näytteistetty funktio kerrotaan rekonstruktiosuodattimella alkuperäisen funktion saamiseksi. Kuva 12.3. Näytteistyksen taajuustasoesitys, kun f s > 2 f max. (a) f(x):n taajuusspektri. (b) Näytteenottofunktion taajuusspektri. (c) Näytteistetyn funktion taajuusvaste ((a):n ja (b):n konvoluutio). (d) Ideaalinen rekonstruktiosuodatin. (e) Rekonstruoitu f(x). Prosessista on hyvä esimerkki nykyaikainen digitaalipuhelinverkko, jossa näytteistetään puhe, koodataan ja siirretään jokaisen näytteen digitaalinen versio verkkoa pitkin, rekonstruoidaan alkuperäinen signaali dekoodatuista eli puretuista näytteistä rekonstruktiosuodattimella. 12. luku 602 12. luku 603
Rekonstruktio, joka merkitsee kertomista taajuustasolla, on konvoluutio tilassa (siis kaksiulotteiselle funktiolle). Prosessi tilassa vastaa alkuperäisen funktion kertomista näytteistetyn funktion kanssa, jota seuraa funktion näytteistetyn version konvoluutio rekonstruktiosuodattimen kanssa. Yo. esimerkissä ehto f s > 2 f max on tosi. Seuraavassa esimerkissä (kuva 12.4.) esitetään sama prosessi, mutta nyt f s < 2 f max on tosi. Tällöin f s /2 on Nyquistin taajuus, raja, johon on edellä tutustuttu. Kuva 12.4. Taajuustasoesitys, kun f s < 2 f max (siis liian pieni): (a) Funktion f(x) taajuusspektri. (b) Näytteenottofunktion taajuusspektri. (c) Näytteistetyn funktion taajuusspektri. (d) Ideaali rekonstruktiosuodatin. (e) Vääristetty f(x). 12. luku 604 12. luku 605 Tällöin f(x):ään sisältyvää informaatiota edustavat vaipat tai verhot menevät päällekkäin. Spektri on tavallaan laskostunut Nyquistin taajuuden määrittelemän janan yli (kuva 12.4. (e)). Tämä laskostuminen on informaatiota hävittävä ilmiö, jolloin korkeat taajuudet (kuvien yksityiskohdat) menetetään ja esiintyy häiriöitä (aliaksia eli laskostumista) matalien taajuuksien alueilla. Juuri näin oli kuvassa 12.1. Näytteenottoteoreema yleistyy kaksiulotteisiin taajuuksiin eli tilataajuuksiin. Kuvan tilataajuuden spektri on jatkuvana periaatteessa ääretön. Näytteenotossa ja rekonstruoinnissa lasketaan arvo pikselin keskipisteestä. Arvo vastaa diskreetisti koko pikselin alaa. Laskostumista kuvissa voidaan estää näytteenottotaajuuden (tilan suhteen) kasvattamisella, mutta tässä tulee tekniset, muistitila ja laskennan määrän rajat vastaan. Sitä paitsi taajuusspektrin jatkuessa äärettömyyteen näytteenottotaajuuden kasvattaminen ei välttämättä ratkaise ongelmaa. Tavallaan kuvassa 12.1. ongelmaa vain siirrettiin korkeammalle tilataajuudelle. Se riitti kuitenkin tuottamaan visuaalisessa mielessä tyydyttävän tarkkuuden, mikä oli tärkeintä. 12. luku 606 12. luku 607
12.2. Pykäläiset reunat Kuvan reunan pykäläisyys on tuttu riesa. Se johtuu yleensä neliönmuotoisten pikselien äärellisestä koosta selkeän kontrastin esiintyessä reunakuvauksessa. Ongelma on kiusallinen erikoisesti animoinneissa. Ongelmasta voi kuitenkin päästä eroon, koska se ei johdu itse algoritmista, vaan on suoraviivainen kuvatason epätarkkuusongelma. Reunojen pykäläisyys ei ole klassisessa mielessä laskostumista, vaan se on näyttölaitteen lopullisesta rajoituksesta aiheutunut. Toki näytteenottotaajuutta nostamalla pykäläisyyttä voidaan lieventää, kuten laskostumistakin. Pykäläisyyden tapauksessa reunainformaatio pakotetaan pikselien vaaka ja pystysuoriksi reunoiksi. Kuvassa 12.5. on täydellinen suorakulmio ja tämän pikselöity versio. Kuva 12.5. Pykälien vaikutuksesta suurienergiset komponentit kiertyvät vaaka ja pystyakseleille Fourier tasolla. 12. luku 608 12. luku 609 12.3. Näytteenotto tietokonegrafiikassa verrattuna näytteenottoon todellisuudessa Täydellisen suorakulmiokuvan Fourier muunnos kuvaa reunainformaation tilataajuuden suurienergisillä komponenteilla sellaisille suunnille, jotka vastaavat reunojen suuntia kuvassa. Pikselöidyn version Fourier muunnoksessa on em. informaation lisäksi suurienergisiä komponentteja akselien suuntaisina aiheutuen vääristä, so. pikselien reunoista. Tarkastellaan vielä näytteenoton käsitettä kuvatasossa. Kuvasynteesissä jokaiselle pikselille lasketaan ehkä monimutkaisenkin laskennan avulla vakioarvo. Tavallisesti se lasketaan pikselin keskipisteestä ja levitetään koko pikselin yli. Oletetaan, ettei ole mitään eroa jatkuvan kuvaesityksen ja siitä näytteistetyn diskreetin kaksiulotteisen näytepisteiden taulukon välillä. Oletus voidaan tehdä, koska tarvittaessa nostamalla näytteenottotaajuutta yhä enemmän näytteitä saadaan kuvasta ja yhä tarkemmin. On luonnollisesti otettava huomioon todellisen käsittelyn diskreetti luonne ja sen rajoitukset. Tavallaan termit näytteenotto ja rekonstruktio ovat tietokonegrafiikassa keinotekoisia, sillä mitään todellista, mitattua kuvaa esim. jostakin todellisesta fysikaalisesta kohteesta ei useinkaan ole olemassa, vaan kuva on täysin synteettinen. 12. luku 610 12. luku 611
Kuvankäsittelyssä (kuva 12.6.) on usein todellisia kuvia, jolloin näytteenlukijalaite muuttaa kaksiulotteisen jatkuvan kuvan näytteiden taulukoksi. Joitakin operaatioita suoritetaan digitaaliselle kuvalle ja rekonstruktiosuodatin muuttaa tarvittaessa näytteet takaisin (jatkuvaksi) analogiasignaaliksi. Kuvasynteesissä sen sijaan näytteenottoa ei ole olemassa samassa mielessä. Pikselin arvon laskeminen riippuu sovelletusta renderöintialgoritmista. Kuvafunktio voidaan laskea ainoastaan näissä luoduissa pisteissä. Kuvasynteesissä rekonstruktiossa ei jatkuvaa kuvaesitystä luoda digitaalisesta (diskreetistä), vaan saatetaan esim. luoda matalan tarkkuuden (pikseleissä) kuva korkeamman tarkkuuden kuvasta, joka ei olisi esitettävissä näyttölaitteella. Kuvaa ei rekonstruoida, koska jatkuvaa kuvaa ei koskaan ollut olemassakaan. 12. luku 612 Kuva 12.6. Näytteenotto, rekonstruktio ja laskostumisen esto kuvankäsittelyssä ja kuvasynteesissä: (a) kuvankaappaus ja käsittely, (b) kuvasynteesi ja (c) laskostumisen esto kuvankaappauksessa. 12. luku 613 Edeltäneen näytteenottoteoreeman mukaan haluttaessa näytteistää kuva informaatiota menettämättä on käytettävä riittävän korkeaa tilataajuutta. Tietokonegrafiikassa tämä merkitsee, että kuvatasossa tulee olla neliönmuotoisten pikselien hila, jossa pitkin selaussuoraa korkein mukaan tuleva taajuus on: f =1/ 2d Tässä d on pikselien keskipisteiden välinen etäisyys. Nähdään, kuinka vaikeaa laskostumisen esto on tietokonegrafiikassa. Kuten aiemmin todettiin äärettömän shakkilaudan ääressä, ei ole mitään korkeiden komponenttien rajaa (kaistaa) tilataajuuksilla. Kuvan 12.6. (c) tilanteessa ennen jatkuvan kuvan näytteistystä voidaan kuva suodattaa kaistarajoitettuna, ts. laskostumisenestosuodattimella. Liian korkeat taajuudet, joita ei voida esim. näyttää, pyyhkäistään pois (lähes täysin). Kyse on esisuodatuksesta, jolloin laskostuminen estetään. Tietokonegrafiikassa näytteistys on laajennettu renderöintiin. Näytteistetään laskemalla kuvaprojektio diskreeteissä pisteissä. Kuvan taajuuskaistaa ei voida rajoittaa, koska mitään alkuperäistä jatkuvaa kuvaa ei ollut olemassakaan. 12. luku 614 12. luku 615
12.4. Näytteistys ja rekonstruktio Edellä kuvassa 12.3. näytteenottoteoriaa noudatettaessa informaation rekonstruktio näytteistä tehtiin suorakaiteen muotoisella suodattimella. Tietokonegrafiikassa kaikki tehdään tilassa. Täten rekonstruktio on konvoluutio kuvan eli tilan suhteen. Pitää siis tavallisesti suodattaa renderöity kuva jollakin tavalla. Jos renderöity kuva olisi jatkuva, rekonstruktiosuodatin käsittäisi sinc funktion h(x,y), joka on Fourier tason muunnos ekvivalenttina ympyränmuotoiselle askelfunktiolle kuvassa 12.7. Siinä vaikuttavat kuitenkin käytännön seikat. Nimittäin suodatin ei voi olla rajoittamaton laajuudeltaan (äärettömästi kertoimia), vaan sitä on typistettävä jotenkin, mikä on keskeinen suodatinsuunnittelun kysymys. Kuva 12.7. Ideaalisia suodattimia Fourier ja tilatasolla: (a) ideaalinen alipäästösuodatin H(u,v) (kertoimet) ja (b) ekvivalentti (konvoloiva) suodatin h(x,y). 12. luku 616 12. luku 617