Matematiikka ja teknologia, kevät 2011 Peter Hästö 3. helmikuuta 2011 Matemaattisten tieteiden laitos
Sisältö Kurssi koostuu kuudesta (seitsemästä) toisistaan riippumattomasta luennosta. Aihepiirit ovat: 13.1 Global positioning system (GPS) 20.1 Satunnaislukugeneraattorit 27.1 Google ja PageRank algoritmi 3.2 JPEG kuvanpakkaus 10.2 ei luentoa! 17.2 Geometria arkkitehtuurissa 24.2 ROF kuvan virheenpoisto (3.3 Fraktaalit ja kuvanpakkaus) HUOM! 3.3 on ylimääräinen luento fraktaaleista tässä luennossa ei ole ollenkaan perusosaa, koska aiheen käsittely vaatii enemmän matemaattista pohjaa. Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 2 / 10
Pakkaus yleensä Tiedon pakkaus voidaan jakaa häviöllisiin ja häviättömiin menetelmiin. Pakkaus perustuu esiinytmistodennäköisyyteen: pakkauksessa jotkin tiedostot pitenevät! Esimerkkinä voidaan ajatella kirjainten esiitymistä tekstissä: e ja a esiintyvät paljon, p harvemmin, ja x ei juuri ollenkaan. Jos e:n koodi on 10010 ja x:n 0011101001001, niin säästämme todennäköisesti tilaa verrattuna siihen, että jokaisen kirjaimen koodi on 8-bittinen. Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 3 / 10
Kuvanpakkaus Kuva tallennetaan useimmiten tietokoneella n m matriisina jossa jokainen alkoi on 8- tai 32-bittinen luku joka kertoo harmaasävyn tai värien vahvuudet. Esim. pieni 640 480 harmaasävykuva vie 300 kb, värikuva kolminkertaisen määrän; Digikameran 10 megapikselin kuva vie vastaavasti 10 MB tai 40 MB. Ilman pakkausta värikuvia mahtuisi 2 GB muistikortille vain 50 kappaletta! Kuvan pakkauksessa voi säästää paljon tilaa koska kuvassa on tyypillisesti erittäin paljon niin vähäpätöistä informaatiota, ettei sitä voi edes silmällä havaita. JPEG pakkaus perustuu kuvan jakamiseen 8 8 kokosiin kenttiin, jotka koodataan erikseen. Jos kuvan koko ei ole kahdeksalla jaollinen, siihen lisätään tarvittavat lisäpikselit. Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 4 / 10
Miten kuvasta voidaan jättää pois tietoa? Tarkastellaan ensin 2 2 tapausta. Vastaavaa matriisi voidaan lausua seuraavien neljän matriisin summan avulla: ( ) ( ) ( ) ( ) 1 0 0 1 0 0 0 0 e 11 =, e 0 0 21 =, e 0 0 12 =, e 1 0 22 =. 0 1 [kuva] Siis voimme kirjoittaa ( ) a b = ae c d 11 + be 21 + ce 12 + de 22, eli matriisi (kuva) voidaan esittää vektorina (a, b, c, d). Voisimme säästää tilaa tallentamalla vain osa vektorista, mutta tällä on ei toivottu vaikutus lopputulokseen. Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 5 / 10
Miten kuvasta voidaan jättää pois tietoa? 2 2 matriisi voidaan myös esittää toisten kantamatriisien avulla, esim. ( ) ( ) ( ) ( ) 1 1 1 1 1 1 1 1 e 1 =, e 1 1 2 =, e 1 1 3 =, e 1 1 4 =. 1 1 Mikä on matriisien graafinen esitys? Jos nyt jätämme representaatiosta xe 1 + ye 2 + ze 3 + we 4, pois 3 4 tiedosta ja meille jää vain x, niin tiedämme silti jotain mielekästä, globaalia kuvasta (mitä?). Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 6 / 10
Kantamatriisit 8 8 tapauksessa Voimme generoida vastaavat kantamatriisit 8 8 tapauksessa. [kuva] JPEG pakkauksessa on tarkoitus lausua kuvablokki näiden kantaelementtien avulla. Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 7 / 10
JPEG algoritmi Ensin kuva-alkiot skaalataan välille [ 128, 127]. Sitten lasketaan kuvan representaatio 8 8 kantamatriisien avulla. Lopuksi kertoimet kvantifioidaan ja tallennetaan. Tämä on se häviöllinen vaihe, jossa tilaa säästyy. Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 8 / 10
JPEG algoritmi Ensin kuva-alkiot skaalataan välille [ 128, 127]. Sitten lasketaan kuvan representaatio 8 8 kantamatriisien avulla. Lopuksi kertoimet kvantifioidaan ja tallennetaan. Tämä on se häviöllinen vaihe, jossa tilaa säästyy. [selitys kvantifionnista taululle] [kuva] Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 8 / 10
JPEG algoritmi dekoodaus Ensin kertoimet kerrotaan kvantifiointikertoimella. Kertomien rekonstruktiolla generoidaan alkuperäinen matriisi käyttäen kantamatriiseja. Lopuksi kuva-alkiot skaalataan välille [0, 255]. Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 9 / 10
JPEG algoritmi dekoodaus Ensin kertoimet kerrotaan kvantifiointikertoimella. Kertomien rekonstruktiolla generoidaan alkuperäinen matriisi käyttäen kantamatriiseja. Lopuksi kuva-alkiot skaalataan välille [0, 255]. [kuva] Pakkausjärjestelmästä johtuen kuvan laadussa voi olla suurta eroa yhdestä 8 8-blokista toiseen. Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 9 / 10
Matemaattinen osa Matemaattisessa osassa pohditaan, miten voimme siirtyä representaatioiden (kantojen) välillä. Tarvittavat käsitteet ovat linearialgebrasta: kanta käänteismatriisi, transpoosi Peter Hästö Matemaattisten tieteiden laitos 3. helmikuuta 2011 10 / 10