Häviöttömät koodaustekniikat pienentävät digitaalisten tiedostojen kokoa.
Häviötön koodaus tai häviötön pakkaus viittaa prosessiin, jolla data koodataan tehokkaammin, jotta se varaa vähemmän bittejä tai tavuja, mutta siten, että alkuperäinen data voidaan rekonstruoida bittiltä, kun data on purettu. Häviöttömän koodaustekniikan etuna on, että ne tuottavat tarkan kaksoiskappaleen alkuperäisestä tiedosta, mutta niillä on myös joitain haittoja verrattuna häviöllisiin koodaustekniikoihin.
Puristussuhde
Häviöttömällä koodaustekniikalla ei voida saavuttaa korkeaa pakkaustasoa. Harvat häviöttömät koodaustekniikat voivat saavuttaa yli 8:1-pakkaussuhteen, mikä on epäedullista verrattuna niin kutsuttuihin häviöllisiin koodaustekniikoihin. Häviölliset koodaustekniikat - jotka saavat aikaan pakkaamisen hylkäämällä osan alkuperäisestä tiedosta - voivat saavuttaa pakkaussuhteet 10:1 audiolle ja 300:1 videolle ilman havaittavissa olevaa laatu. New Biggin Photography Groupin mukaan 1 943 x 1 702 pikselin 24-bittinen RGB-värikuva, jonka alkuperäinen koko on 9,9 megatavua voidaan pienentää vain 6,5 megatavuun häviöttömällä PNG-muodolla, mutta se voidaan pienentää vain 1 megatavuun häviöisellä JPEG-muodolla muoto.
Päivän video
Siirtoaika
Kaikki sovellukset, jotka sisältävät digitaalisten kuvien tallentamista tai jakelua tai molempia, edellyttävät, että nämä toiminnot voidaan suorittaa kohtuullisessa ajassa. Digitaalisen kuvan siirtoon tarvittava aika riippuu pakatun kuvan koosta ja pakkaussuhteista, jotka voidaan saavuttaa häviöttömät koodaustekniikat ovat paljon halvempia kuin häviöttömät koodaustekniikat, häviöttömät koodaustekniikat eivät sovellu näihin sovelluksiin.
Huffman koodaus
Monet häviöttömät koodaustekniikat, mukaan lukien PNG, käyttävät koodausmuotoa, joka tunnetaan nimellä Huffman-koodaus. Huffman-koodauksessa mitä useammin symboli esiintyy alkuperäisessä datassa, sitä lyhyempi binäärimerkkijono, jota käytetään edustamaan sitä pakatussa datassa. Huffman-koodaus vaatii kuitenkin kaksi kulkua, joista toinen muodostaa tilastollisen mallin tiedoista ja toinen koodatakseen sen, joten se on suhteellisen hidas prosessi. Tämä puolestaan tarkoittaa, että häviöttömät koodaustekniikat, jotka käyttävät Huffman-koodausta, ovat huomattavasti hitaampia kuin muut tekniikat tiedostoja luettaessa tai kirjoitettaessa.
Dekoodaus
Toinen Huffman-koodauksen haittapuoli on, että koodatun datan binaariset merkkijonot tai koodit ovat kaikki eripituisia. Tämä tekee dekoodausohjelmiston vaikeaksi määrittää, milloin se on saavuttanut viimeisen databitin ja onko koodattu data vioittunut -- toisin sanoen se sisältää vääriä bittejä tai siitä puuttuu bittejä -- se dekoodataan väärin ja tulos on hölynpöly.