wikipedia compresie fără pierderi

În acest termen, există alte utilizări, vezi. Compresie.

compresia fără pierderi a datelor este utilizat în multe aplicații. De exemplu, acesta este utilizat în toate arhivator. Este, de asemenea, utilizat ca o componentă în compresie lossy.







se utilizează compresie fără pierderi, atunci când identitatea importante date comprimate pentru original. Un exemplu comun - codul sursă și binarele. Unele formate de fișiere grafice (cum ar fi PNG) folosesc doar o compresie fără pierderi, în timp ce altele (TIFF. MNG sau GIF) fișiere pot utiliza compresia ca lossy și fără pierderi.

Compresie și combinatorică [| ]

Este ușor de demonstrat o teoremă.

Pentru orice N> 0 există un algoritm de compresie fără pierderi, care este:

  1. Orice fișier care nu mai este decât N bytes, sau frunze de aceeași lungime, sau să scadă.
  2. Un fișier nu mai este decât N. se reduce la cel puțin un octet.

Dovada. Fără a pierde din generalitate, putem presupune că fișierul A scăzut lungime exact N. Fie ca alfabetul # X03A3; . Luați în considerare setul # X03A3; 0 # X222A; # X03A3; 1 # X222A; # X2026; # X222A; # X03A3; N # X2212; 1 # X222A; \ Cupa \ Sigma ^ \ ceașcă \ ldots \ cup \ Sigma ^ \ cup \>. In acest set de 256 0 + 256 + 1 # X2026; 256 N + # X2212; 1 + 1 + ^ fișiere 256 \ ldots + 256 ^ + 1> sursă, în timp ce nu comprimat mai mult de 256 256 0 + 1 + # X2026; 256 N + # X2212; 1 ^ + 256 \ ldots + 256>. Prin urmare, funcția de decompresie este ambiguă. contradicție. Acest lucru dovedește teorema.

Cu toate acestea, această teoremă nu umbrească compresie fără pierderi. Cert este că orice algoritm de compresie poate fi modificat, astfel încât aceasta crește dimensiunea de mai mult de 1 bit: în cazul în care algoritmul a redus fișierul, scrie „1“, apoi o secvență de comprimat, în cazul în care a crescut - scrie „0“, apoi originalul.

Deci fragmentele incompresibile nu va duce la necontrolate „umfla“ arhiva. „Real“ este de lungime fișiere N este mult mai mică de 256 N> (spun că acestea au informații entropie joasă) - de exemplu, este puțin probabil ca o combinație de litere „NULL“ întâlnit în textul semnificativ, iar nivelurile audio digitale nu se poate pentru o probă pentru a sări la 0 la 100%. În plus, datorită specializării într-un anumit tip de algoritmi de date (.. Text, grafică, sunet, etc.), este posibil să se atingă un grad ridicat de compresie: de exemplu, sunt evaluate în arhivator algoritmii universal comprima sunetul cu aproximativ o treime (de 1,5 ori) în timp ce FLAC - de 2,5 ori. Cele mai multe dintre algoritmi de specialitate sunt de puțin folos pentru fișierele tip „străine“: de exemplu, datele audio nu comprima algoritm, proiectat pentru texte.







Metoda de compresie fără pierderi [| ]

În general, sensul de compresie fără pierderi este că găsirea regularitate, și având în vedere această regularități genera o a doua secvență în datele originale, care descriu în totalitate originalul. De exemplu, pentru a codifica secvențele binare, în care numărul de zero-uri și unități mici, putem folosi această înlocuire:

În acest caz, șaisprezece biți

Acestea vor fi transformate în treisprezece biți

O astfel de substituție este un prefix de cod. are că este o astfel de caracteristică: dacă vom scrie o linie de scurt, fără spații, vom putea să-l plaseze în golurile - și, astfel, a restabili secvența originală. Cel mai bine cunoscut cod prefix este un cod Huffman.

Majoritatea algoritmilor de compresie fără pierderi lucrează în două etape: prima este generat de un model statistic pentru datele de intrare, iar a doua afișează datele primite în reprezentare binară, folosind modelul (adică comune) date „probabilitate“, care sunt folosite mai des decât „non-probabilitate“ .

Modele statistice de algoritmi pentru text (date binare sau text, cum ar fi fișierele executabile) includ:

Algoritmi pentru generarea unei secvențe de biți de codificare prin:

Metode de compresie fără pierderi [| ]

Adăugați link-uri la surse. subiectul care este subiectul acestui articol (sau secțiune), ca un întreg, care conține elementele pe lista de date ca exemple. În caz contrar, partiția poate fi ștearsă.

Multifuncțională [| ]

  • Run Length Encoding - circuit simplu, oferind compresie de date bune, care conțin multe valori duplicate
  • LZW - folosit în format GIF, și multe altele.
  • Dezumfla - utilizat în gzip, versiunea îmbunătățită a zip și PNG, ca parte a procesului de comprimare.
  • LZMA - utilizat 7-zip.

compresie audio [| ]

grafica comprimând [| ]

compresie textul [| ]

Exemple de algoritmi [| ]

  • Familia de algoritmi Lempel-Ziv
  • RLE (codare Run lungime - codificare de lungime)

Exemple de formate și implementări [| ]

A se vedea, de asemenea, [. | ]

Note [| ]