Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Entropiakoodaus, Entropy Coding

Samankaltaiset esitykset


Esitys aiheesta: "Entropiakoodaus, Entropy Coding"— Esityksen transkriptio:

1 Entropiakoodaus, Entropy Coding
Tiedon tiivistäminen muodostaa laajan asiakokonaisuuden tietoliikennetekniikassa. Tiedon tiivistämisen malleihin liittyy käsite entropia (entropy). Tietoliikenteessä entropian tunnus on H, ja se antaa alarajan koodatun tiedon keskimääräiselle sanapituudelle. Jokaiselle mallille voidaan osoittaa, ettei entropiaa parempaan tiivistykseen keskimäärin voida päästä. Entropiakoodaus tMyn

2 Tarve tiedon tiivistämiseen on suuri, koska siirrettävän tiedon määrä on kasvanut moninkertaisesti nopeammin kuin mitä siirtotekniikka sallii. Valitun tiivistysmenetelmän (algoritmin) nopeus on tärkeä kriteeri, koska sekä tiedon tiivistäminen että sen purku pääsääntöisesti tapahtuvat siirron aikana. Näin ollen algoritmin on selviydyttävä tehtävästään siten, ettei se vaikuta liikaa hidastavasti tiedon siirtoon. Entropiakoodaus tMyn

3 Koodaustapaa mietittäessä tulee ottaa huomioon mahdollisuus yksiselitteiseen tulkintaan (unique decipherability). Esim. olkoot lähetettävänä 4 sanomaa, sanomat M1-M4. Koodataan sanomat binaariseen muotoon seuraavasti: M1=1, M2=10, M3=01 ja M4=101. Jos nyt vastaanotetaan bittijono 101, niin ei voida yksiselitteisesti tulkita vastaanotettiinko sanoma M4, M2M1 vaiko M1M3. Tilanne paranee, jos koodataan kukin sanoma siten, että niillä on yksiselitteinen etuliite. Siis esim. M1=1, M2=01, M3=001 ja M4=0001. Entropiakoodaus tMyn

4 Otetaan vielä esimerkki koodaustavasta: M1=1, M2=10, M3=100 ja M4=1000
Otetaan vielä esimerkki koodaustavasta: M1=1, M2=10, M3=100 ja M4=1000. Kyseessä on kylläkin yksikäsitteisesti tulkittava koodaustapa, mutta tämä ei ole välittömästi (instantaneous) tulkittavissa. Esim. Kuvitellaan, että ollaan vastaanotettu bitit 10. Tässä vaiheessa ei voida olla varma siitä, tuliko vastaanotettua sanoma M2, M3 vaiko M4. Entropiakoodaus tMyn

5 Informaatio ja entropia
Määritellään sanoman x informaatiosisältö kaavalla . Kaavassa on sanoman x esiintymis-todennäköisyys. Valitaan informaatiosisällön kaavassa logaritmin kantaluvuksi 2. Esim. Olkoot ravintolassa yksi ruokalista. Ruokalistassa on kaksi vaihtoehtoista valintaa, joita kumpaakin valitaan yhtä usein. Siispä todennäköisyys sille, että jompaa kumpaa ruokalajia tilataan, on 1/2. Entropiakoodaus tMyn

6 Nyt kaavaan sijoitettuna sanoman informaatiosisällöksi saadaan
Nyt kaavaan sijoitettuna sanoman informaatiosisällöksi saadaan Tulkinta: tarvitaan yksi bitti kertomaan kumpaa ruokalajia tilataan. Monipuolistetaan ruokalistaa: olkoot siellä nyt neljä vaihtoehtoa, ja ajatellaan, että kutakin lajia tilataan yhtä paljon. Todennäköisyys, että tilataan tiettyä lajia on siis 1/4. Sanoman informaatiosisällöksi saadaan Tulkinta: Jos sanoma lähetetään binaarisena, tarvitaan 2 bittiä/sanoma, esim. 00, 01, 10 ja 11. Entropiakoodaus tMyn

7 Määritellään entropia H seuraavasti:
Määritellään entropia sanoman keskimääräiseksi informaatiosisällöksi. Olkoot sanomia n kappaletta, Määritellään entropia H seuraavasti: Entropiakoodaus tMyn

8 Esim. Järjestelmä koostuu kuudesta sanomasta
Esim. Järjestelmä koostuu kuudesta sanomasta. Vastaavat todennäköisyydet ovat 1/4, 1/4, 1/8, 1/8, 1/8 ja 1/8. Laske entropia. Entropiaksi saadaan bittiä/sanoma. Entropiakoodaus tMyn

9 Määritellään koodatun sanan keskimääräinen pituus
Miten kehittää koodaustapa, jossa koodattavat sanat olisi koodattu keskimäärin pienimmällä mahdollisella bittimäärällä? Koodatut sanat tulisi olla yksiselitteisesti tulkittavissa. Määritellään koodatun sanan keskimääräinen pituus Kaavassa on i:nnen koodisanan pituus ja on i:nnen koodisanan esiintymistodennäköisyys. Kaavasta nähdään, että mitä useammin sana esiintyy, sitä lyhyemmäksi se kannattaa koodata. Entropiakoodaus tMyn

10 Koodauksen teorioista tiedetään, että binaarimuotoisessa koodauksessa keskimääräinen koodatun sanan pituus on yhtä suuri tai suurempi kuin entropia, siis Jos lähetettävien symbolien lähetystodennäköisyys ei ole kaikilla sama, niin silloin lyhin keskimääräinen koodatun sanan pituus saavutetaan koodaamalla symbolit eri pituisiksi. Entropiakoodaus tMyn

11 Esim. Oletetaan, että lähetettäviä symboleja on neljä eri laista, ja vastaavat lähetystodennäköisyydet ovat 1/8, 1/8, 1/4 ja 1/2. Mielikuvitukseton tapa koodata symbolit olisi antaa seuraavat binaarivastineet: 00, 01, 10 ja 11. Nyt siis koodatun sanan keskimääräinen pituus olisi 2 bittiä/sana. Entropiakoodaus tMyn

12 Jos sitä vastoin koodattaisiin symbolit seuraavasti: 111, 110, 10 ja 0, saataisiin keskimääräiseksi koodatun sanan pituudeksi =1,75 bittiä/koodattu sana. Miten keksitään kullekin mahdolliselle symbolille koodaus, joka tuottaa lähetyksessä keskimäärin minimipituuden siirrettävälle aineistolle? Tiivistysmenetelmä voi keskittyä käytetyn koodiston optimointiin, tai se voi käyttää sanakirjaa. Entropiakoodaus tMyn

13 Koodistoon keskittyvät menetelmät pyrkivät optimoimaan merkkien binaarimuotoista koodausta, ja sanakirjaa käyttävät menetelmät muistavat esiintyneitä sanoja ja niiden osia, eivätkä toista niitä uudelleen. Tavallisessa tekstissä käytetty aakkosto muodostuu symboleista {0, 1, …a, b, …å, ä, ö} sekä joukosta erikoismerkkejä. Tietoliikenteessä aakkosto esitetään jollakin sopivalla binaarikoodilla, jonka pituus on joko kiinteä tai vaihteleva. Entropiakoodaus tMyn

14 Sellaiset menetelmät, joilla on olemassa jokin tiivistettävästä aineistosta riippumaton malli, kutsutaan staattisiksi. Staattisessa menetelmässä sekä lähettäjä että vastaanottaja tuntevat etukäteen niin käytettävän mallin kuin mahdollisen hakemiston tai aakkoston rakenteen. Menetelmä on yksinkertainen, mutta esim. englannin kielen merkkijakaumalle laadittu menetelmä ei kelpaa käytettäväksi muilla kielillä. Malli voidaan määritellä myös siten, että käydään läpi siirrettävä aineisto, ja lasketaan aineiston merkkien todellinen esiintymisjakauma. Entropiakoodaus tMyn

15 Tällöin puhutaan puoliadaptiivisesta menetelmästä.
Kun jakauma on valmis, se siirretään vastaanottajalle, ja vasta sen jälkeen ryhdytään varsinaiseen tiedonsiirtoon. Tällöin puhutaan puoliadaptiivisesta menetelmästä. Heikkoutena on se, että siirrettävä aineisto on käsiteltävä kertaalleen ennen lähettämistä. Tämä voi olla joskus hankala toteuttaa! Kolmantena vaihtoehtona on mukautuva eli adaptiivinen menetelmä, jossa mallia korjataan siirron aikana tiedon rakenteen mukaisesti. Entropiakoodaus tMyn

16 Yhtenä ratkaisuna on etuliitekoodin käyttäminen.
Tietoliikenteessä esitetään yleisesti siirrettävä tieto kiinteämittaisilla binaarikoodeilla käyttäen esim. 8 bitin ASCII-koodia. Kiinteämittainen koodaus yksinkertaistaa tiedon käsittelyä vastaanotossa, koska riittää, että tunnetaan merkin pituus ja synkronointimenetelmä. Tiivistys perustuu kuitenkin usein myös merkkien vaihtuvamittaiseen koodaukseen. Miten voidaan erottaa koodatut sanat toisistaan, jos käytettyjen symbolien koodatut muodot ovat erimittaisia? Yhtenä ratkaisuna on etuliitekoodin käyttäminen. Entropiakoodaus tMyn

17 Etuliitekoodauksen tarkoituksena on koodata aakkosto siten, että kunkin symbolin arvo voidaan määritellä heti, kun sen viimeinen bitti on luettu, ts. koodin alkuosa ei ole minkään toisen koodin alkuosa. Entropiakoodaus tMyn

18 Aritmeettinen koodaus on merkkipohjaisista menetelmistä tehokkaimpia, mutta sen haittapuolena on tiivistämisen hitaus. Koodaus perustuu tiivistettävien yksiköiden (merkkien tai sanojen) todennäköisyysjakaumaan, ja tässä kukin yksikkö varaa todennäköisyyttään vastaavan välin asteikolla 0,0 - 1,0. Merkkikohtaisten todennäköisyyksien käyttäminen aritmeettisessa koodauksessa ei yleensä tuota riittävän hyvää tiivistystä. Entropiakoodaus tMyn

19 Parempaan tulokseen päästään, jos otetaan huomioon merkkien keskinäiset riippuvuussuhteet. Esim. suomen kielessä kirjaimen k jälkeen ei tule koskaan kirjainta b, c, d, f, g, h, j, q, x tai z. Se minkälaisia seuraajia k:lla on, voidaan edelleen rajata tarkastelemalla k:n edeltäjiä… Tunnettuja algoritmeja ovat DMC (Dynamic Marcov Coding) ja PPM (Prediction by Partial Matching). Entropiakoodaus tMyn

20 Käydään seuraavaksi Huffman-koodauksen perusidea läpi.
Kaksi tunnettua etuliitekoodaukseen perustuvaa tiivistysmenetelmää ovat Shannon Fano -koodaus ja Huffman-koodaus. Menetelmät muistuttavat toisiaan, mutta Huffman-koodaus on tehokkaampi. Molemmat perustuvat siihen, että käytetylle aakkostolle on olemassa todennäköisyysjakauma, jonka perusteella voidaan määritellä tuotettavan koodin pituus. Useimmin esiintyvät merkit koodataan pienemmällä bittimäärällä kuin harvemmin esiintyvät merkit. Käydään seuraavaksi Huffman-koodauksen perusidea läpi. Entropiakoodaus tMyn

21 Olkoot lähetettävät symbolit ja .
Vastaavat lähetystodennäköisyydet ovat ja 1. Listataan 1. sarakkeeseen symbolit laskevassa todennäköisyysjärjestyksessä. Lähteen symbolit muodostavat puun lehdet. Entropiakoodaus tMyn

22 2. Yhdistellään symboleita: otetaan kaksi alinta todennäköisyyttä ja yhdistetään ne. Tämän seurauksena syntyi kaksi oksaa: merkitään ylempää ’0’ ja alempaa ’1’ (tai sitten päinvastoin, kunhan pysytään koko prosessi loogisesti samassa käytännössä!). 3. Toistetaan askel 2 niin kauan kunnes saadaan yhdistelmäsymbolin todennäköisyydeksi 1. 4. Koodisanat saadaan lukemalla oikealta vasemmalle oksia myöten, katso kuva 1. Entropiakoodaus tMyn

23 10 1 110 1 1110 1 1 1111 Kuva 1. Esimerkki Huffman-koodauksesta.
Tod.näk. Symboli Koodisana 10 1 110 1 1110 1 1 1111 Kuva 1. Esimerkki Huffman-koodauksesta. Entropiakoodaus tMyn

24 Lempel-Ziv -tiivistys
Lempel-Ziv -tiivistysmenetelmät käyttävät hyväkseen hakemistoja. Hakemiston avulla vältetään toistamasta aiemmin esiintyneitä merkkiyhdistelmiä tai fraaseja. Koodattu tieto muodostuu viitteestä sanakirjaan, jonka lähettäjä ja vastaanottaja ovat muodostaneet siirron aikana. Entropiakoodaus tMyn


Lataa ppt "Entropiakoodaus, Entropy Coding"

Samankaltaiset esitykset


Iklan oleh Google