Kurvekompresjon

Den kurve for kompresjons ( kurvetilpasnings-komprimering ) er en metode for datakomprimering som brukes for lagring eller overføring av data. Det utføres ved å erstatte et analytisk uttrykk ( kurvetilpasning) for kurven . Parametrene til det analytiske uttrykket brukes deretter til å representere kurven.

Dekompresjon er den omvendte funksjonen som gjør det mulig å rekonstruere kurven fra parametrene.

Kurvekomprimering kan gjøres mot flere mål:

Generelle prinsipper

Begrepet kurve refererer til begrepet en plan kurve . Dette er for eksempel tilfelle med kurver som representerer tidsserier .

For å kunne brukes numerisk, må kurven være representert med et sett med diskrete verdier ( sampling ). Valget av antall verdier avhenger av informasjonsvolumet som skal behandles og ønsket presisjon.

Den trykket er da å erstatte alle de verdier som er registrert av alle parametere. Det er definert av et kompresjonsforhold og en kompresjonsfeil (målt ved å sammenligne de opprinnelige verdiene med verdiene som er oppnådd på slutten av en kompresjons / dekompresjonssyklus). Valget av kompresjonsmetode er et kompromiss mellom kompresjonsforholdet og kompresjonsfeilen.

Kompresjon utføres langs to akser:

I begge tilfeller ledsages det vanligvis av tap av informasjon (ikke-komprimeringsfeil).

Kompresjonsmetodene som reduserer antall punkter på kurven er hovedsakelig regresjonsmetoder . Den mest kjente metoden er lineær regresjon som kan reduseres til en linje som best nærmer seg punktene ( affinjustering ) i tilfelle en lineær regresjon med to parametere.

Kompresjonen kan også integrere et utjevningstrinn i tilfelle der parasittiske variasjoner er lagt på kurven (eksempel på støyende målinger) . Utjevning kan gjøres før komprimering ( digitalt filter ) eller etter komprimering.

De vanligste teknikkene er enkel filtrering før komprimering ( eksponentiell utjevning , glidende gjennomsnitt osv.). Andre teknikker som glatting av splines kan brukes etter komprimering.

Den koding blir brukt til å representere parametrene med en minimal mengde med informasjon. Det oppnås ved hjelp av datakomprimeringsteknikker som kan være "lossy" eller "lossless".

Tapsfri koding kan oppnås ved hjelp av "bitpakking" -teknikker som består i ikke lenger å lagre tallene med faste lengder (byte som inneholder sekvenser på 0), men med variable størrelser avhengig av antallet som skal vises.

Den skalære kvantiseringen er en enkel kodingsmetode med tap. Hvis amplituden er 20, vil verdien 15 kodet på 3 biter (8 mulige verdier) være 110. Maksimal kodefeil eller forvrengning vil da være 20/8, dvs. 2,5.

applikasjoner

Kurvekompresjon brukes i områder der:

De to siste begrensningene er ofte assosiert med begrenset behandlingskapasitet, noe som fører til å favorisere komprimeringsmetoder med lavt algoritmisk kompleksitet.

For eksempel autoriserer Sigfox-nettverksprotokollen sending av 140 meldinger på 12 byte per dag. Uten komprimering kan 12 byte lagre 3 flytpunktsverdier. Vi kan derfor sende 420 verdier per dag, dvs. tilsvarer en verdi hvert 4. minutt. Med et kompresjonsforhold på 10 kan en sendt melding inneholde tilsvarende 30 verdier. 4200 verdier kan deretter sendes per dag, dvs. tilsvarer en verdi hvert 21. sekund.

Gjennomføring

Implementeringen av en kurvekomprimering krever å definere på forhånd:

Deretter følger kompresjonen flere påfølgende faser. Kompresjon blir fremstilt oppstrøms med en normalisering av kurven, det vil si en skalering av den, ledsaget av andre operasjoner som klipping eller filtrering. Deretter blir kurven effektivt komprimert av komprimeringsalgoritmen, og resultatdataene blir transformert til binære data klare for sending.

Den omvendte operasjonen utføres etter samme logikk, det vil si først ved å dekode den binære kurven, deretter ved å dekomprimere den, og til slutt ved å denormalisere den.

Implementering av kurvekompresjonsmetoder

Algoritmer

Dette kapittelet presenterer eksempler på algoritmer som reagerer på ovennevnte brukssaker.

Kompresjon ved polynomisk regresjon

En sekvens av n poeng er representert av et polynom der graden p er fast (komprimeringsmål).

Parametrene til polynomet oppnås ved å minimere den kvadratiske forskjellen mellom verdiene som skal komprimeres og verdiene beregnet av polynomet.

Flere scenarier for å implementere en polynomial regresjon kan vurderes:

Algoritme for beregning av kompresjon ved polynomregresjon

Rangeringer:

Kompresjonsberegninger:

Parameterpunktene til kurven bekrefter ligningen:

Beregninger for dekompresjon:

De estimerte verdiene verifiserer ligningen:

Merknader:

 

Skalar kvantisering koding

Den skalære kvantiseringen skal representere et verdiområde for en enkelt verdi (å miste informasjon). I sammenheng med en komprimeringsalgoritme, søkes det å representere en digital verdi av et verdiområde som er fiksert av en binær koding med et definert antall biter.

Skalarkvantiseringskodingsalgoritme

notasjoner:

koding:

med

dekoding:

Merk :

 

Denne typen koding er egnet når verdiene som skal kodes utforske hele det definerte området. Men i tilfelle hvor variasjonsområdet for verdiene er mye mindre enn det faste verdiområdet, vil kodingen ikke gjøre det mulig å representere variasjonene av verdiene som skal kodes korrekt. I dette tilfellet må vi bruke ikke-ensartede eller adaptive skalare kvantifiserere.

Splineutjevning

Den glatting spline benyttes etter komprimeringen av polynom regresjon. Det gjelder punktene som definerer polynomet og ikke koeffisientene til polynomet.

Spline-utjevningsalgoritme

Algoritmen er beskrevet på siden dedikert til spline.

 

Merknader og referanser

  1. (no-US) “  kurvetilpasning - Ordliste  ” (åpnet 6. desember 2019 )

Se også

Bibliografi

Relaterte artikler

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">