Mjukvarurealiserad bildtelefoni - Umeå universitet
Mjukvarurealiserad bildtelefoni - Umeå universitet
Mjukvarurealiserad bildtelefoni - Umeå universitet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Förlustfri komprimering<br />
De flesta typer av förlustfri komprimering (lossless compression) baserar sig på ansatsen att finna<br />
ett mer effektivt sätt att representera informationen (till skillnad mot dataförstörande som väljer<br />
bort information efter en given strategi). Den maximala kompressionsnivån som kan uppnås av en<br />
förlustfri komprimering definieras av datamängdens inneboende entropi (energiinnehåll), vilken i<br />
runda ordalag definierar hur mycket information det egentligen finns i en datamängd och ger därigenom<br />
även indirekt ett mått på den mest effektiva representationens storlek. Vi skall här översiktligt<br />
gå igenom ett antal exempel på förlustfri kompression, vilka alla har förenklats en smula<br />
för läsarens intuitiva förståelses skull. De finns med här för att erbjuda läsaren en introduktion till<br />
komprimering och en bättre bild av hur olika tekniker för komprimering är uppbyggda.<br />
Run–Length Encoding<br />
Run–Length Encoding (hädanefter kallad RLE) är en av de enklaste varianterna av komprimering<br />
och baserar sig på antagandet att det i data finns återkommande sekvenser av samma värde (så<br />
kallade run–lengths). Dessa sekvenser kodas efter identifierandet i termer av tecken bestående av<br />
värdet och längden på sekvensen. RLE kan (och görs ofta) även med fördel appliceras på tvådimensionella<br />
datastrukturer och uppnår oftast sin högsta effektivitet på datamängder med enkel<br />
struktur. Ett vanligt förekommande exempel på sådana datamängder är text eller bilder med lågt<br />
färgdjup (lågt antal distinkta färger i bilden), varför RLE återfinns inom ett flertal standarder för<br />
telefax och liknande tillämpningar.<br />
Predictive coding<br />
Predictive coding kan ses som en utökning av RLE då denna variant fokuserar på att identifiera<br />
strukturer av vanligt förekommande data och kodar sedan informationen i termer av avvikelser<br />
från denna förutsägelse. Härledningsmässigt gäller dock inte detta släktskap då predictive coding<br />
egentligen baseras på statistiska analyser av tillämpningsmässigt data. Predictive coding finner<br />
sina tillämpningar främst inom överföringstillämpningar där det finns utförlig kunskap om vanligt<br />
förekommande datastrukturer i data, snarare än möjlighet att analysera det data som genereras i sin<br />
helhet.<br />
Dictionary based coding<br />
En till Predictive coding närbesläktad ansats är Dictionary based coding, vilken liksom den förstnämnda<br />
baseras på statistisk analys av data. Här fokuseras dock på att identifiera strukturer i data<br />
vilka lagras i speciella uppslagstabeller. Informationen kodas sedan om i termer av index in i dessa<br />
tabeller istället för som tidigare i termer av sekvensstorlekar. Rent generellt lämpar sig dessa algoritmer<br />
bättre för lagringstillämpningar snarare än överföringstillämpningar eftersom ett effektivt<br />
identifierande och uppbyggande av dessa tabeller baserar sig på en överblick över den fullständiga<br />
datamängden. Detta ställer i sin tur krav på tillgängligheten av data som inte alltid uppfylls av<br />
överföringstillämpningar, vilka oftast börjar överföra data innan allt data är genererat. Naturligt<br />
följer effekten att dessa algoritmer tenderar att ignorera kunskap om datakällan och istället fokusera<br />
på de strukturer som finns i tillgängligt data. Därmed har dessa algoritmer en generalitet som<br />
gör att de kan appliceras på godtyckligt data och de återfinns därför ofta i tillämpningar för kompression<br />
av godtyckliga datafiler (såsom verktygen pkzip och UNIX compress). Värt att notera är<br />
även att dessa algoritmer når en hög effektivitet vid kompression av homogena bilder (vilka exempelvis<br />
kan ha mycket bakgrund i sig) och därför även återfinns i många komprimeringsbaserade<br />
filformat för grafik, såsom GIF (Graphics Interchange Format).<br />
24