1 / 21

Iz vsebine

Iz vsebine. Osnovno o zgoščevanju podatkov Entropijsko kodiranje, Huffmanov kod Kodiranje nizov, algoritem LZW. Zgoščevanje podatkov – osnovni cilj. Čimkrajše zapisati dano informacijsko vsebino zmanjšamo potrebni pomnilniški prostor povečamo informacijski pretok Osnovna pristopa:

diza
Download Presentation

Iz vsebine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Iz vsebine • Osnovno o zgoščevanju podatkov • Entropijsko kodiranje, Huffmanov kod • Kodiranje nizov, algoritem LZW

  2. Zgoščevanje podatkov – osnovni cilj • Čimkrajše zapisati dano informacijsko vsebino • zmanjšamo potrebni pomnilniški prostor • povečamo informacijski pretok • Osnovna pristopa: • brezizgubno kodiranje: • vsa informacijska vsebina ostane popolnoma neokrnjena • izgubno kodiranje: • nekaj informacije se izgubi, bistvena pa ostane

  3. Količina informacije • Kolikšna je informacijska vsebina sporočila ? • Na primer sporočila: a b a b a b a a c a a c a b d d ? • Množica simbolov • Verjetnosti simbolov (pogostost pojavljanja): • Entropija – merilo nedoločenosti in količine informacije

  4. Primer 1/3 • Za prejšnji primer, vseh simbolov v nizu: 16 • a – 8, pa = 8/16 = 0.5 (to je seveda ocena verjetnosti) • b – 4, pb = 4/16 = 0.25 • c – 2, pc = 2/16 = 0.125 • d – 2, pd = 2/16 = 0.125 • Entropija: • H = - (0.5 x log 0.5 + 0.25 x log 0.25 + 0.125 x log 0.125 + 0.125 x log 0.125) • H = 1.75 bitov/simbol • Razlaga: • Če želimo z binarnimi simboli (biti) zakodirati osnovne simbole a, b, c d, • rabimo v povprečju vsaj 1.75 binarnih simbolov (bitov) na osnovni simbol. • Z manj biti se tega ne da narediti.

  5. Primer 2/3 • Vprašanje: kako ? • a  wa = 00 • b  wb = 01 • c  wc = 10 • d  wd = 11 • (Povprečno) število bitov na simbol, • To je več, kot bi bilo nujno potrebno • Nekaj binarnih simbolov je torej odveč • To imenujemo odvečnost ali redundanca:

  6. Primer 3/3 • Druga možnost – različno število bitov na simbol: • a  wa = 0 • b  wb = 10 • c  wc = 110 • d  wd = 111 • (Povprečno) število bitov na simbol: • Redundanca: • Boljše se s kodiranjem posameznih osnovnih simbolov ne da zakodirati

  7. Kodiranje - splošno • Imamo: • Kod je pravilo za prirejanje kodnih besed osnovnim simbolom: • Iščemo kod - kodne besede: • Želimo, da bi bila redundanca čim manjša: • Povprečna dolžina kodnih besed čim manjša

  8. Kodiranje - splošno • Velja (!): • Ampak tudi • Pri tem je:

  9. Huffmanov kod • Bolj pogostim (verjetnim) simbolom priredimo krajše kodne besede • Simbol z najmanjšo verjetnostjo ima najdaljšo kodno besedo • Simbola z najmanjšima verjetnostima imata enako dolgi kodni besedi • Pomembno: • Zakodirano sporočilo se da ‘sproti’ odkodirati

  10. Huffmanov kod - postopek • Simbole uredimo po padajočih verjatnostih • Združimo simbola z najmanjšo verjetnostjo v nov simbol z • verjetnostjo, ki je enaka vsoti verjetnosti posameznih simbolov • Ponavljamo zgornja koraka, dokler se da – imamo samo dva simbola • Dobljena simbola zakodiramo, priredimo enemu 0 in drugemu 1 • Razdružimo združeni simbol • Pripišemo prejšnjemu binarnemu simbolu enkrat 0 in drugič 1 • Ponavljamo zgornja dva koraka, dokler se da.

  11. Huffmanov kod - primer

  12. Huffmanov kod - primer

  13. Huffmanov kod – primer 1

  14. Huffmanov kod – primer 2

  15. Huffmanov kod – primer 3 H(S) = H(0.9, 0.1) = 0.469

  16. Huffmanov kod – primer 3 H(S2) = H(0.81, 0.09, 0.09, 0.01) = 0.938 H (S2) = 2 H(S)

  17. Huffmanov kod – primer 3 H(S2) = H(0.81, 0.09, 0.09, 0.01) = 0.938 H (S2) = 2 H(S)

  18. Huffmanov kod – primer 3 H(S2) = H(0.81, 0.09, 0.09, 0.01) = 0.938 H (S2) = 2 H(S) Na en simbol torej 1.29/2 = 0.645 Na ta način se spodnji meji lahko poljubno pribljižamo

  19. LZW (Lempel, Ziv, Welch) Daljše in različno dolge nize vhodnih simbolov nadomestimo s krajšimi in enako dolgimi nizi izhodnih simbolov. Algoritem se sproti prilagaja statističnim zakonitostim vhodnega niza Sprva kodni slovar sestavljajo osnovni simboli, s kodiranjem se slovar dopolnjuje tako, da se vhodnim nizom prireja nove simbole. Kodni slovar, ki je potreben za dekodiranje, se da pridobiti iz sprejetega zakodiranega niza. Za dekodiranje kodnega slovarja torej ni potrebno poznati (prenašati).

  20. LZW (Lempel, Ziv, Welch)

More Related