Adaptiv kodning - Adaptive coding

Adaptiv kodning henviser til varianter af entropikodningsmetoder til tabsfri datakomprimering . De er især velegnede til streaming af data, da de tilpasser sig lokaliserede ændringer i dataets egenskaber og kræver ikke en første gennemgang af dataene for at beregne en sandsynlighedsmodel. De omkostninger, der betales for disse fordele, er, at koderen og dekoderen skal være mere kompleks for at holde deres tilstande synkroniseret, og der kræves mere computerkraft for at fortsætte med at tilpasse koderen / dekodertilstanden.

Næsten alle datakomprimeringsmetoder involverer brug af en model , en forudsigelse af datasammensætningen. Når dataene svarer til den forudsigelse, der er foretaget af modellen, kan koderen normalt transmittere indholdet af dataene til en lavere informationsomkostning ved at henvise til modellen. Denne generelle erklæring er lidt vildledende, da generelle datakomprimeringsalgoritmer ville omfatte de populære LZW og LZ77 algoritmer, som næppe kan sammenlignes med komprimeringsteknikker, der typisk kaldes adaptive . Kørelængde-kodning og den typiske JPEG- komprimering med kørelængdekodning og foruddefinerede Huffman-koder transmitterer ikke en model. En masse andre metoder tilpasser deres model til den aktuelle fil og er nødt til at overføre den ud over de kodede data, fordi både koderen og dekoderen skal bruge modellen.

Ved adaptiv kodning er koderen og dekoderen i stedet udstyret med en foruddefineret metamodel om, hvordan de vil ændre deres modeller som svar på det faktiske indhold af dataene, og ellers begynde med en tom skifer, hvilket betyder, at der ikke behøver en indledende model at være transmitteret. Når dataene transmitteres, tilpasser både koderen og dekoderen deres modeller, så medmindre datakarakteren ændrer sig radikalt, modellen bliver bedre tilpasset de data, den håndterer, og komprimerer dem mere effektivt med henblik på effektiviteten af ​​den statiske kodning.

Adaptiv metode

Encoder

  1. Initialiser datamodellen i henhold til aftale.
  2. Der er flere data at sende
    1. Kod det næste symbol ved hjælp af datamodellen og send det.
    2. Rediger datamodellen baseret på det sidste symbol.

Dekoder

  1. Initialiser datamodellen i henhold til aftale.
  2. Mens der er flere data at modtage
    1. Afkode det næste symbol ved hjælp af datamodellen og udsende det.
    2. Rediger datamodellen baseret på det afkodede symbol.

Enhver adaptiv kodningsmetode har en tilsvarende statisk modelmetode , hvor datamodellen er forberegnet og derefter transmitteret med dataene.

Statisk metode

Encoder

  1. Initialiser datamodellen baseret på en første gennemgang af dataene.
  2. Overfør datamodellen.
  3. Der er flere data at sende
    1. Kod det næste symbol ved hjælp af datamodellen og send det.

Dekoder

  1. Modtag datamodellen.
  2. Mens der er flere data at modtage
    1. Afkode det næste symbol ved hjælp af datamodellen og udsende det.

eksempler

Adaptiv billedkodning bruges i øjeblikket af Cassini-Huygens håndværk til videresendelse af billeder fra Saturn . Kun ca. 5% af billederne viser visuelle tegn på skade. Da rumfartøjet har en fejl med at korrigere Flash-drev og lange tidsrammer mellem begivenheder, der tager billeder, kan beskadigede billeder som dette gentages. Det antages, at antallet af beskadigede, men ikke-genvindelige billeder fra Cassini-missionen er ca. 0,01% eller mindre.

Image
Cassini-kameraet pegede mod DIONE i en afstand af cirka 548.210 kilometer. Billedet blev taget ved hjælp af filtrene CL1 og CL2 den 17. maj 2010.

Cassini Lossless Compression

  • Både konverterede (8-bit) og ikke-konverterede (12-bit) data kan komprimeres tabt. Cassini-hardwaredatakompressoren bruger et modificeret Huffman-kodningsskema som en del af sin adaptive kompressor.
  • Hvert komprimeret billede kan rekonstrueres på jorden uden tab for billedets informationsindhold, forudsat at billedantropien ikke overskrider tærsklen, hvor 2: 1-komprimering nås.
  • På grund af kameraproblemer og behovet for at reducere filstørrelse er der en lille ændring af billedkodningsskemaet, så hver komprimeret linje er effektivt båndbredde begrænset af antallet af tilgængelige bits til at kode det.