![]() |
20.4 Tiedon pakkaus (kompressio)Tiedon tallennus tulee sitä halvemmaksi, mitä vähemmän talletettavaa dataa on. Samoin tiedonsiirto käy nopeammin, jos siirrettävää dataa on vähemmän. Tiedon pakkauksen (kompression) tarkoituksena on ottaa tiedosta "tyhjät pois" niin, että uusi pakattu tieto vie mahdollisimman vähän tilaa. Tästä pakatusta tiedosta täytyy tietenkin vielä pystyä "rekonstruoimaan" alkuperäinen tieto.
Pakkausalgoritmeista
Informaatioteorian yksi perustotuuksia on, että yleinen tiedon pakkaminen on mahdotonta.
Esimerkki
Otetaan esimerkkinä pakkausalgoritmi, joka korvaa tekstin yleisimmät sanat merkinnällä "/numero". Korvatut sanat luetellaan tiedoston alussa. Tekstissä oleva "/" korvataan "//":llä. Tällä algoritmilla esim. teksti "auto/mopo/vene" pitenisi muotoon "auto//mopo//vene". Algoritmi ei muutenkaan ole kovin hyvä, mutta toimiva kuitenkin. Kokeile itse: Lyhyessä tekstissä koko saattaa tosiaan jopa kasvaa, mutta pidemmän tekstin pakkauksessa alkaa pieneneminen näkyä tälläkin algoritmilla.
Häviöllinen pakkaus
Jos pakattavana on kuva- tai ääni-informaatiota, ei pakattua tietoa tarvitse saada palautettua 100 %:sti alkuperäiseen muotoon, kunhan silmä tai korva ei vain huomaa eroa. Tähän perustuen on kehitetty häviöllisiä pakkausalgoritmeja (lossy compression). Ne pystyvät pakkaamaan tiedon kuin tiedon pienempään tilaan jättämällä pakattavasta tiedosto pois "epäolennaisia" asioita.
Häviöllinen pakkaus ei tietysti sovi esim. teksti- tai ohjelmatiedostoille, koska niihin ei saa pakkauksessa tulla muutoksia. Kotisivu | Edellinen sivu | Ylös | Seuraava sivu Sanahaku | Hakemisto |