Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? 2012-2013 Lasse Lensu 2
Ongelma 2: Voidaanko dataa tai informaatiota tallettaa tiiviimpään tilaan koodaamalla se uudelleen? 2012-2013 Lasse Lensu 3
Ongelma 3: Mikä on tiivein esitysmuoto tai koodaustapa tietylle datalle? 2012-2013 Lasse Lensu 4
Digitaalisen datan ja informaation määrä kasvaa kiihtyvää tahtia digitalisoitumisen sekä kuva-, video- ja äänisovellusten takia. Datan esitysmuotoa on mahdollista muuttaa koodaamalla se uudelleen. 2012-2013 Lasse Lensu 5
Tietojenkäsittelyn perusteet 1 Tiedon tiivistäminen 2012-2013 Lasse Lensu 6
Aiheen sijoittuminen 2012-2013 Lasse Lensu 7
Tiedon tiivistäminen Brookshear, J.G. Computer Science - An overview, 7 th ed. Addison Wesley, 2003 Alaoutinen, S., 2008 Motivaatio tiivistämiseen Perusmenetelmiä 2012-2013 Lasse Lensu 8
Miksi säästellä bittejä Pakattu tieto vie vähemmän tilaa siirrossa ja talletuksessa nopeus/tehokkuus. Useimmissa tapauksissa tiedon esitystapaa voi tiivistää käsiteltävän tiedon kärsimättä. Entropia kertoo, kuinka monta bittiä/merkki keskimäärin vähintään tarvitaan (satunnaisen tiedon koodaamiseen). 2012-2013 Lasse Lensu 9
Tiivistäminen Jokaiselle koodattavalle merkkijonon merkille (jostakin aakkostosta) oma koodisana: N L log b K, missä N koodisanan pituus, L on koodattavan merkkijonon pituus, b koodiaakkoston koko ja K koodattavan aakkoston koko. Tiivistämissuhde: kuinka paljon uudelleen koodaaminen hyödyttää. Kiinteäpituinen/muuttuvapituinen koodi 2012-2013 Lasse Lensu 10
Perusmenetelmät Häviötön tiivistäminen: Alkuperäisestä tiedosta ei katoa tai muutu mitään Tiivistämisessä tulee raja vastaan Häviöllinen tiivistäminen: Alkuperäistä tietoa katoaa Parempi tiivistämissuhde 2012-2013 Lasse Lensu 11
Gray-koodi Binääriesitys, jossa kahden peräkkäisen symbolin binääriesitykset eroavat mahdollisimman vähän. Liittyy lähinnä tiedonsiirron säilyttämiseen virheettömänä. 7 1 0 0 6 1 0 1 5 1 1 1 4 1 1 0 3 0 1 0 2 0 1 1 1 0 0 1 0 0 0 0 2012-2013 Lasse Lensu 12
Jakson/jononpituuskoodaus Tiedon binääriesityksessä vuorottelevat ykkösten ja nollien jonot. Lähetetään tieto vain siitä, kunka monta kutakin bittiä on peräjälkeen (ykkönen aloittaa): 00011010100001111100010111001111 032111145311324 2012-2013 Lasse Lensu 13
Kiinteän pituuden koodaus Häviötön tiivistäminen Jokaiselle koodattavalle sanalle (tai merkille) on oma bittikuvio. Bittikuvion bittien määrä N L log b K Wenglish koostuu viisikirjaimisista merkistön a-z sanoista: Kuinka monta bittiä/sana tarvitaan, jotta jokainen sana saa oman bittikuvion? 2012-2013 Lasse Lensu 14
Lasketaan... N L log b K N 5 log 2 26 N 23. 5 eli wenglish vaatisi 24 bittiä sanaa kohti. Tietokoneessa se vaatisi 4 tavua, eli pitkän kokonaisluvun verran. 2012-2013 Lasse Lensu 15
Kiinteän pituuden koodaus Häviöllinen tiivistäminen: Yleisimmille koodattaville sanoille oma bittikuvio. Harvinaiset sanat eivät kaikki saa omaa koodia. Wenglish käyttää kuitenkin tavallisesti vain noin 32 000 sanaa, joten näille omat koodisanat; loput niputetaan 8 000 sanaan: Entä nyt, kuinka monta bittiä/sana? 2012-2013 Lasse Lensu 16
Lasketaan... N log 2 40000 N 15. 29 Edellisessä käsitellään siis sanoja, ei kirjaimia, joten tarvitaan siis 16 bittiä/sana. Tilantarve on tietokoneessa 2 tavua eli puolet aiemmasta. 2012-2013 Lasse Lensu 17
Muuttuvan pituuden koodaus Häviötön koodaus Huffman koodi: Useimmin esiintyville merkeille annetaan lyhin bittikuvio. LZW-koodi: Luo taulukkoa esiintyneistä sanoista. Q-koodi: Käyttää koodattavan merkin todennäköisyyden laskemiseen lähiympäristön merkkejä. 2012-2013 Lasse Lensu 18
Huffman-koodi Koodattavien symbolien esiintymistodennäköisyydet on tiedettävä. Menetelmä: Kahden vähiten todennäköisen symbolin todennäköisyydet lasketaan yhteen ja tulos sijoitetaan listaan niiden kahden tilalle. Toistetaan kunnes kaksi todennäköisyyttä on jäljellä: Toiselle koodisanaksi 0 ja toiselle 1. Yhdistetyn todennäköisyyden koodisanaan lisätään oikealle 0 ja 1. 2012-2013 Lasse Lensu 19
Huffman-koodi s i s 1 s 2 s 3 s 4 s 5 P(s i ) 0.40 0.20 0.15 0.15 0.10 0.40 0.25 0.20 0.15 0.40 0.35 0.25 0.60 0.40 s i s 1 1 s 1 2 000 1 0 01 s 00 3 001 1 000 s 010 01 4 001 s 5 011 2012-2013 Lasse Lensu 20
Häviöllinen koodaus Ennustava koodaus Esim. Differentiaalinen pulssikoodimodulaatio (DPCM): Jo lasketuista pisteistä (historia) seuraavan pisteen lähinaapurit määräävät uuden pisteen arvon. Muunnoskoodaus Esim. Diskreetti Fourier -muunnos (DFT): Taajuustasoon muunnettu kuva kertoo, mitä taajuuksia (minkä kokoluokan yksityiskohtia) kuvassa on. Alkuperäinen kuva on täysin palautettavissa taajuustiedon perusteella. 2012-2013 Lasse Lensu 21
DPCM 187 187 176 199 176 187 187 187 176 199 172 199 176 187 176 199 172 172 172 199 176 199 172 172 178 172 172 199 187 0 11-23 23-11 0 0 11-23 27-27 23-11 11-23 27 0 0-27 23-23 27 0-6 6 0-27 2012-2013 Lasse Lensu 22
Fourier-muunnos 2012-2013 Lasse Lensu 23
Yhteenveto Koodattua tietoa voidaan tiivistää (koodata uudelleen), kun tietoalkiot koodit sisältävät päällekkäistä tietoa. Tiivistäminen voi tapahtua häviöttömästi (kaikki alkuperäinen tieto on tallella) tai häviöllisesti. Entropia määrää minimirajan tietoalkioiden koodaamiseen käytettävälle bittimäärälle. 2012-2013 Lasse Lensu 24