Compresie de date

În informatică, compresia sau comprimarea datelor (în engleză: data compression) reprezintă codificarea unor date astfel încât ele să necesite la stocare în memoria calculatoarelor mai puțini biți decât datele inițiale. Scopul este economisirea de resurse, deoarece informația cu volum mai mic ocupă mai puțin spațiu de stocare. De asemenea, se poate transmite mai rapid, folosind o lărgime de bandă mai redusă. Un alt scop mai poate fi și cifrarea informației pentru asigurarea ținerii ei în secret pe timpul transmiterii.

Comparație între un fișier audio necomprimat (WAV) și unul comprimat (MP3)

Caracteristici

Pentru această comprimare se utilizează diferite metode denumite „tehnici de codificare” (în engleză: encoding techniques).

Tehnicile de codificare informatică a datelor se bazează pe algoritme speciale; acestea se implementează concret prin crearea de programe scrise în diverse limbaje de programare.

Tehnicile de codificare evoluează permanent, atingând o eficiență (un grad de compresie) din ce în ce mai înaltă.

La fel de importantă ca și compresia (codificarea) datelor este desigur și decompresia (decodificarea), necesară atunci când datele trebuiesc folosite sau înțelese.

Uneori algoritmul de codificare și cel de decodificare corespunzător sunt implementate împreună în același modul de program, care atunci, de obicei, se numește codec.

Performanțele compresiei pot fi exprimate prin raportul de compresie și rata de compresie. Raportul de compresie este raportul dintre numărul de biți necesar reprezentării datelor înainte și după compresie. Rata de compresie reprezintă numărul mediu de biți necesar reprezentării unui eșantion.[1]

Tipuri de compresie / codificare

Codificarea poate fi cu sau fără pierdere de date (de informație):

Codificarea cu pierdere de date (compresie „lossy”)

În anumite domenii o pierdere de date relativ mică poate fi tolerată, dacă gradul de comprimare necesar nu se poate atinge altfel; compresia audio și video digitală, precum și compresia imaginilor suportă o anumită pierdere de date, fără înrăutățirea evidentă a rezultatelor. Compresia cu pierdere de informație, mai este cunoscută și sub numele de compresie ireversibilă.

Compresie audio

Compresia audio este destinată reducerii mărimii fișierelor audio. Algoritmii de comprimare audio se referă la codec-urile audio.

Compresie video

Compresia video este procedeul prin care se reduce cantitatea de date utilizate pentru prezentarea de imagini video.

Compresia imaginilor

Compresia cu fractali[2] și compresia cu rețele neurale[3] sunt două din compresiile lossy folosite în compresia imaginilor.

Codificarea fără pierdere de date (compresie „lossless”)

Se mai numește și metodă de compresie reversibilă sau cu păstrarea biților. La decodificare se obțin exact datele inițiale. Acest gen de codificare este cel mai întâlnit și se aplică în general în situațiile în care refacerea fără eroare este esențială:

  • programe executabile: BIN, ELF, EXE, SDC, BAT
  • surse de programe
  • arhivare (fișiere comprimate): 7-Zip, TAR, GZIP, WinZIP, LZW, ARJ, WinRAR, SDC
  • fișier text: ODT, TXT, DOC, RTF
  • fișiere audio: FLAC (Free Lossless Audio Codec), ALAC (Apple Lossless), MPEG-4 ALS, TTA (True Audio Lossless), Monkey's Audio
  • imagerie medicală (DICOM[4], PET/CT, IRM), imagini satelit, scheme, desene tehnice.

Exemple de algoritmi fără pierdere de informație: RLE (Run-length encoding); LZ (LZ77 și LZ78); LZW (Lempel-Ziv-Welch); LZR (Lempel-Ziv-Renau); Huffman.

Note

Vezi și

Legături externe

Bibliografie

  • Dobrescu Radu: Compresia datelor, Editura Academiei Române, București, 2002
  • Ștefănoiu Dan: Compresia datelor, Editura Printech, București, 2003
  • Bogdan Orza: Codarea și compresia informațiilor multimedia, Editura Albastră, 2007