Comprimarea informațiilor. Comprimarea informaţiei Principiile comprimării informaţiei

Orice substanță aflată sub influența presiunii externe poate fi comprimată, adică își va schimba volumul într-un grad sau altul. Astfel, gazele cu presiune în creștere își pot reduce foarte semnificativ volumul. Un lichid este supus modificărilor de volum atunci când presiunea externă se modifică într-o măsură mai mică. Compresibilitatea solidelor este chiar mai mică. Compresibilitatea reflectă dependența proprietăților fizice ale unei substanțe de distanțele dintre moleculele sale (atomi). Compresibilitatea se caracterizează folosind raportul de compresie (același lucru: raportul de compresibilitate, raportul de compresie general, coeficientul de dilatare elastică volumetrică).

DEFINIŢIE

Raport de compresie este o mărime fizică egală cu modificarea relativă a volumului împărțită la modificarea presiunii care provoacă o modificare a volumului unei substanțe.

Există diverse denumiri pentru raportul de compresie, cel mai adesea acestea sunt literele sau. Sub forma unei formule, scriem raportul de compresie ca:

unde semnul minus reflectă faptul că o creștere a presiunii duce la o scădere a volumului și invers. În formă diferențială, coeficientul este definit ca:

Volumul este legat de densitatea unei substanțe, prin urmare, pentru procesele de modificare a presiunii la masă constantă, putem scrie:

Valoarea coeficientului de compresie depinde de natura substanței, de temperatura și presiunea acesteia. Pe lângă toate cele de mai sus, raportul de compresie depinde de tipul de proces în care are loc schimbarea presiunii. Astfel, într-un proces izoterm, raportul de compresie diferă de raportul de compresie într-un proces adiabatic. Raportul de compresie izotermă este definit ca:

unde este derivata parțială la T=const.

Raportul de compresie adiabatică poate fi găsit ca:

unde este derivata parțială la entropie constantă (S). Pentru solide, coeficienții de compresibilitate izotermă și adiabatică diferă foarte puțin și această diferență este adesea neglijată.

Există o relație între coeficienții de compresibilitate adiabatică și izotermă, care este reflectată de ecuația:

unde si sunt capacitatile termice la volum si presiune constanta.

Unități de raport de compresie

Unitatea de bază SI pentru coeficientul de compresibilitate este:

Exemple de rezolvare a problemelor

EXEMPLUL 1

Raportul de compresie este principala caracteristică a algoritmului de compresie. Este definit ca raportul dintre volumul datelor originale necomprimate și volumul datelor comprimate, adică: , unde k- raportul de compresie, S o este volumul datelor inițiale și S c - volumul comprimat. Astfel, cu cât raportul de compresie este mai mare, cu atât algoritmul este mai eficient. Trebuie remarcat:

    Dacă k= 1, atunci algoritmul nu efectuează compresie, adică mesajul de ieșire este egal ca volum cu intrarea;

    Dacă k< 1, то алгоритм порождает сообщение большего размера, нежели несжатое, то есть, совершает «вредную» работу.

Situatia cu k< 1 вполне возможна при сжатии. Принципиально невозможно получить алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные меньшей или равной длины. Обоснование этого факта заключается в том, что поскольку число различных сообщений длинойn bit este exact 2 n, numărul de mesaje diferite cu o lungime mai mică sau egală cu n(dacă există cel puțin un mesaj de lungime mai mică) va fi mai mic de 2 n. Aceasta înseamnă că este imposibil să mapați în mod unic toate mesajele originale la unul comprimat: fie unele mesaje originale nu vor avea o reprezentare comprimată, fie mai multe mesaje originale vor avea aceeași reprezentare comprimată și, prin urmare, nu pot fi distinse. Cu toate acestea, chiar și atunci când algoritmul de compresie crește dimensiunea datelor originale, este ușor să vă asigurați că volumul acestuia nu poate crește cu mai mult de 1 bit. Apoi, chiar și în cel mai rău caz, va exista o inegalitate: Acest lucru se face după cum urmează: dacă volumul de date comprimate este mai mic decât volumul datelor originale, returnăm datele comprimate adăugând „1” la ele, în caz contrar returnăm datele originale adăugând „0” la ele). Un exemplu de implementare în pseudo-C++ este prezentat mai jos:

bin_data_t __compass(bin_data_t input) // bin_data_t - tip de date care înseamnă o secvență arbitrară de biți de lungime variabilă

bin_data_t output = arch(input); // funcția bin_data_t arch(bin_data_t input) implementează un anumit algoritm de compresie a datelor

dacă (output.size()

output.add_begin(1); // funcția bin_data_t::add_begin(bool __bit__) adaugă un bit egal cu __bit__ la începutul secvenței

ieșire de retur; // returnează secvența comprimată cu „1” adăugat

else // altfel (dacă volumul datelor comprimate este mai mare sau egal cu volumul originalului)

input.add_begin(0); // adaugă „0” la secvența originală

returnare intrare; // returnează fișierul original cu „0” adăugat

Raportul de compresie poate fi fie constant (unii audio, algoritmi de compresie a imaginii etc., de exemplu legea A, legea μ, ADPCM, codificare bloc trunchiată) sau variabil. În al doilea caz, poate fi determinat fie pentru fiecare mesaj specific, fie evaluat în funcție de anumite criterii:

    medie (de obicei bazată pe un set de date de testare);

    maxim (cazul celei mai bune compresii);

    minim (cazul celei mai proaste compresii);

sau oricare altul. Raportul de compresie cu pierderi în acest caz depinde puternic de eroarea de compresie admisă sau calitate, care de obicei acționează ca un parametru al algoritmului. În general, numai metodele de comprimare a datelor cu pierderi pot oferi un raport de compresie constant.

Principalul criteriu de distincție între algoritmii de compresie este prezența sau absența pierderilor descrise mai sus. În general, algoritmii de compresie fără pierderi sunt universali în sensul că utilizarea lor este cu siguranță posibilă pentru date de orice tip, în timp ce posibilitatea utilizării compresiei cu pierderi trebuie justificată. Pentru unele tipuri de date, denaturarea nu este permisă în principiu. Printre ei

    date simbolice, schimbare care duce inevitabil la o schimbare a semanticii lor: programe și textele lor sursă, tablouri binare etc.;

    date vitale, modificări în care pot duce la erori critice: de exemplu, obținute din echipamente medicale de măsurare sau dispozitive de control ale aeronavelor, navelor spațiale etc.;

    date intermediare supuse în mod repetat compresiei și recuperării în timpul procesării în mai multe etape a datelor grafice, audio și video.

Principiile compresiei informatiei

Baza oricărei metode de compresie a informațiilor este modelul sursei de informații sau, mai precis, modelul redundanței. Cu alte cuvinte, pentru a comprima informația, se folosesc unele informații despre ce tip de informație este comprimată - fără a avea nicio informație despre informație, este imposibil să nu facem absolut nicio presupunere despre ce fel de transformare va reduce volumul mesajului. Aceste informații sunt utilizate în procesul de compresie și decompresie. Modelul de redundanță poate fi construit sau parametrizat și în timpul fazei de compresie. Metodele care permit modificarea modelului de redundanță a informațiilor pe baza datelor de intrare se numesc adaptive. Algoritmii neadaptativi sunt de obicei foarte specifici, utilizați pentru a lucra cu caracteristici bine definite și neschimbate. Majoritatea covârșitoare a algoritmilor destul de universali sunt adaptabili într-un grad sau altul.

Orice metodă de compresie a informațiilor include două transformări inverse:

  • conversie la compresie;
  • conversie prin compresie.

Transformarea prin compresie asigură obținerea unui mesaj comprimat din mesajul original. Decompresia asigură că mesajul original (sau aproximarea acestuia) este obținut din cel comprimat.

Toate metodele de compresie sunt împărțite în două clase principale

  • fara pierderi,
  • cu pierderi.

Diferența fundamentală dintre cele două este că compresia fără pierderi permite reconstrucția precisă a mesajului original. Compresia cu pierderi vă permite să obțineți doar o anumită aproximare a mesajului original, adică diferit de cel original, dar în limita unor erori prestabilite. Aceste erori trebuie determinate de un alt model - modelul receptorului, care determină care date și cu ce precizie prezentate sunt importante pentru destinatar și care pot fi aruncate.

Caracteristicile algoritmilor de compresie și aplicabilitate

Raport de compresie

Raportul de compresie este principala caracteristică a algoritmului de compresie, exprimând calitatea principală a aplicației. Este definit ca raportul dintre dimensiunea datelor necomprimate și a datelor comprimate, adică:

k = S o/ S c ,

Unde k- raportul de compresie, S o este dimensiunea datelor necomprimate și S c - dimensiunea comprimatului. Astfel, cu cât raportul de compresie este mai mare, cu atât algoritmul este mai bun. Trebuie remarcat:

  • Dacă k= 1, atunci algoritmul nu efectuează compresie, adică primește un mesaj de ieșire cu dimensiunea egală cu cea de intrare;
  • Dacă k < 1, то алгоритм порождает при сжатии сообщение большего размера, нежели несжатое, то есть, совершает «вредную» работу.

Situatia cu k < 1 вполне возможна при сжатии. Невозможно получить алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные меньшей или равной длины. Обоснование этого факта заключается в том, что количество различных сообщений длиной n Modelul:E:bit este exact 2 n. Apoi numărul de mesaje diferite cu o lungime mai mică sau egală cu n(dacă există cel puțin un mesaj de lungime mai mică) va fi mai mic de 2 n. Aceasta înseamnă că este imposibil să mapați în mod unic toate mesajele originale la unul comprimat: fie unele mesaje originale nu vor avea o reprezentare comprimată, fie mai multe mesaje originale vor avea aceeași reprezentare comprimată și, prin urmare, nu pot fi distinse.

Raportul de compresie poate fi fie un coeficient constant (unii algoritmi pentru comprimarea sunetului, imaginii etc., de exemplu legea A, legea μ, ADPCM) sau variabil. În al doilea caz, poate fi definit fie pentru un anumit mesaj, fie evaluat în funcție de anumite criterii:

  • medie (de obicei peste un set de date de testare);
  • maxim (cazul celei mai bune compresii);
  • minim (cazul celei mai proaste compresii);

sau oricare altul. Raportul de compresie cu pierderi în acest caz depinde în mare măsură de eroarea de compresie admisă sau de aceasta calitate, care de obicei acționează ca un parametru al algoritmului.

Toleranță la pierderi

Principalul criteriu de distincție între algoritmii de compresie este prezența sau absența pierderilor descrise mai sus. În general, algoritmii de compresie fără pierderi sunt universali în sensul că pot fi utilizați pe orice tip de date, în timp ce utilizarea compresiei cu pierderi trebuie justificată. Unele tipuri de date nu acceptă pierderi:

  • date simbolice, schimbare care duce inevitabil la o schimbare a semanticii lor: programe și textele lor sursă, tablouri binare etc.;
  • date vitale, modificări în care pot duce la erori critice: de exemplu, obținute din echipamente medicale de măsurare sau dispozitive de control ale aeronavelor, navelor spațiale etc.
  • date care sunt comprimate și decomprimate în mod repetat: fișiere grafice de lucru, sunet, video.

Cu toate acestea, compresia cu pierderi permite rate de compresie mult mai mari prin eliminarea informațiilor irelevante care nu se comprimă bine. Deci, de exemplu, algoritmul de compresie audio fără pierderi FLAC, în majoritatea cazurilor vă permite să comprimați sunetul de 1,5-2,5 ori, în timp ce algoritmul cu pierderi Vorbis, în funcție de parametrul de calitate setat, poate comprima până la 15 ori, menținând în același timp o calitate acceptabilă a sunetului. .

Cerințe de sistem pentru algoritm

Algoritmi diferiți pot necesita cantități diferite de resurse ale sistemului informatic pe care sunt executați:

  • RAM (pentru date intermediare);
  • memorie permanentă (pentru cod de program și constante);
  • Timp CPU.

În general, aceste cerințe depind de complexitatea și inteligența algoritmului. Conform tendinței generale, cu cât algoritmul este mai bun și mai universal, cu atât sunt mai mari solicitările pe care acesta le impune mașinii. Cu toate acestea, în cazuri specifice, algoritmii simpli și compacti pot funcționa mai bine. Cerințele de sistem determină calitățile lor de consum: cu cât algoritmul este mai puțin pretențios, cu atât mai simplu și, prin urmare, mai compact, mai fiabil și mai ieftin poate lucra.

Deoarece algoritmii de compresie și decompresie funcționează în perechi, raportul dintre cerințele de sistem și ei este de asemenea important. Adesea, complicând un algoritm, puteți simplifica semnificativ altul. Deci putem avea trei variante:

Algoritmul de compresie necesită mult mai multe resurse decât algoritmul de decompresie.

Acesta este cel mai comun raport și este aplicabil în principal în cazurile în care datele odată comprimate vor fi folosite de mai multe ori. Un exemplu sunt playerele digitale audio și video.


Algoritmii de compresie și decompresie au cerințe aproximativ egale.

Cea mai acceptabilă opțiune pentru o linie de comunicație este atunci când compresia și decompresia au loc o singură dată la cele două capete ale sale. De exemplu, aceasta ar putea fi telefonie.

    Algoritmul de compresie este semnificativ mai puțin solicitant decât algoritmul de decompresie. Un caz destul de exotic. Poate fi folosit în cazurile în care transmițătorul este un dispozitiv ultra-portabil, în care cantitatea de resurse disponibile este foarte critică, de exemplu, o navă spațială sau o rețea mare de senzori distribuiti, sau pot fi date a căror decompresie este necesară într-un procent foarte mic de cazuri, de exemplu, înregistrarea de la camere CCTV.

    Vezi de asemenea Fundația Wikimedia. 2010.

    Vedeți ce este „Comprimarea informațiilor” în alte dicționare: compresia informatiei Ghidul tehnic al traducătorului

    compactarea/comprimarea informaţiei- - [L.G. Sumenko. Dicționar englez-rus de tehnologia informației. M.: Întreprinderea de stat TsNIIS, 2003.] Subiecte tehnologia informației în general compactarea EN ... Ghidul tehnic al traducătorului

    compresia informatiei digitale- - [L.G. Sumenko. Dicționar englez-rus de tehnologia informației. M.: Întreprinderea de stat TsNIIS, 2003.] Subiecte tehnologia informației în general comprimarea EN ... Ghidul tehnic al traducătorului

    Sunetul este o undă simplă, iar un semnal digital este o reprezentare a acelei undă. Acest lucru se realizează prin stocarea amplitudinii semnalului analogic de mai multe ori într-o secundă. De exemplu, într-un CD obișnuit semnalul este memorat de 44.100 de ori pe... ... Wikipedia

    Un proces care reduce volumul de date prin reducerea redundanței datelor. Comprimarea datelor este asociată cu aranjarea compactă a porțiunilor de date de o dimensiune standard. Există compresii cu pierdere și fără pierdere de informații. În engleză: Date... ... Dicţionar financiar

    comprimarea informațiilor cartografice digitale- Prelucrarea informațiilor cartografice digitale în vederea reducerii volumului acesteia, inclusiv eliminarea redundanței în limita acurateței necesare prezentării acesteia. [GOST 28441 99] Subiecte cartografie digitală Termeni generali metode și tehnologii... ... Ghidul tehnic al traducătorului

Vizualizări

Exercita Lăsați un cub de material solid cu laturi egale să experimenteze o presiune uniformă. Latura cubului scade cu . Exprimați raportul de compresie al unui cub dacă presiunea exercitată asupra acestuia se modifică față de cea inițială prin
Soluţie Să facem un desen.


În conformitate cu definiția raportului de compresie, scriem:

Deoarece modificarea laturii cubului cauzată de presiune este egală cu , volumul cubului după comprimare () poate fi reprezentat ca:

Prin urmare, scriem modificarea relativă a volumului ca:

Valoarea este mică, așa că presupunem că sunt egale cu zero, atunci putem presupune că:

Să înlocuim modificarea relativă a volumului din (1.4) în formula (1.1), avem:

Răspuns