Heutzutage steigt die Leistung der Prozessoren schneller als die Speicherkapazität
und viel schneller als die Bandbreite der Netze,
da dies enorme Veränderungen in den Infrastrukturen der Telekommunication erfordert.
Um diesem Mangel entgegenzuwirken, ist es
gängig, die Größe der Daten zu reduzieren, indem eher
auf die Ausnutzung der Leistung der Prozessoren zurückgegriffen wird als
auf die Steigerung der Speicher- und Datenübertragungskapazitäten.
Die Komprimierung besteht darin, die phyische Größe der Informationsblöcke zu reduzieren. Ein Komprimierer benutzt einen Algorithmus, der dazu dient, die Daten zu optimisieren, indem Überlegungen benutzt werden, die sich auf die Art der zu komprimierenden Daten beziehen; ein Dekomprimierer ist also erforderlich, um die ursprünglichen Daten zurückzuholen dank dem umgekehrten Algorithmus im Vergleich zu dem, der für die Komprimierung benutzt wird.
Die Komprimierungsmethode ist eigentlich abhängig von der Art der zu komprimierenden Daten: ein Bild wird nicht auf dieselbe Art und Weise komprimiert wir eine Audiodatei ...
Die Komprimierung kann durch den Komprimierungquotienten bestimmt werden, das bedeutet der Quotient der Anzahl der Bits im komprimierten Bild und der Anzahl der Bits im ursprünglichen Bild.
Die häufig benutzte Komprimierungsrate ist das Gegenteil des Komprimierungsquotienten, er wird gewöhnlich in Prozent ausgedrückt.
Letztendlich ist der Komprimierungsgewinn, der auch in Prozent ausgedrückt wird, die Ergänzung auf 1 der Komprimierungsrate :
Die physische Komprimierung wirkt direkt auf die Daten ein; es geht so darum, die redundanten Daten von einem Bitstrom zum anderen zu betrachten.
Die logische Komprimierung hingegen erfolgt über einen logischen Gedankengang, indem eine Information durch
eine gleichwertige Information ersetzt wird.
Bei einer symmetrischen Komprimierung wird dieselbe Methode angewandt, um die Information zu komprimieren und zu dekomprimieren, der selbe Arbeits- aufwand ist also für jeden dieser Vorgänge erforderlich. Diese Art der Komprimierung wird generell bei Datenübertragungen benutzt.
Die asymmetrische Komprimierung erfordert mehr Arbeitsaufwand für einen der beiden Vorgänge, man sucht häufig nach Algorithmen, für die die Komprimierung langsamer erfolgt als die DeKomprimierung. Algorithmen, die bei der Komprimierung schneller sind als bei der Dekomprimierung können notwendig sein, wenn Daten archiviert werden, auf die man selten zugreift (aus Sicherheitsgründen zum Beispiel), da dies Kompaktdateien erstellt.
Die verlustbehaftete Komprimierung (auf Englisch lossy compression), im Gegensatz zur Komprimierung ohne Verluste (lossless compression), kann zur Löschung einiger Informationen führen, um eine bestmögliche Komprimierungsrate zu erhalten, dabei soll ein Ergebnis beibehalten werden, das den ursprünglichen Daten so nah wie möglich kommt. Dies ist zum Beispiel der Fall bei bestimmten Bild- oder Tonkomprimierungen wie zum Beispiel MP3 oder das Format Ogg Vorbis.
Da diese Komprimierungsart Informationen löscht, die in den zu komprimierenden Daten enthalten sind, spricht man generell von irreversiblen Komprimierungsmethoden.
Die ausführbaren Dateien können zum Beispiel nicht nach dieser Methode komprimiert werden, da insbesondere ihre Unversehrtheit erforderlich ist, damit sie funktionieren. Es ist in der Tat nicht vorstellbar, ein Programm annähernd neu aufzubauen, indem Bits vergessen oder hinzugefügt werden.
Dafür können die Multimediadaten (Audio, Video) ein bestimmtes Verschlechterungsniveau tolerieren, ohne dass die Sensoren (Auge, Trommelfell, etc.) eine bedeutende Verschlechterung erkennen.
Bestimmte Komprimierungsalgorithmen sind basiert auf spezifische Wörterbücher mit einer Datenart: es handelt sich um nicht adaptiveKodierer. Das Vorkommen von Buchstaben in einer Textdatei zum Beispiel hängt von der Sprache ab, in der sie geschrieben ist.
Ein adaptiver Kodierer richtet sich nach den Daten, die er zu komprimieren hat, er stützt sich nicht auf ein bereits vorbereitetes Wörterbuch für einen Datentyp.
Letztendlich konstruiert sie ein semi-adaptiver Kodierer je nach den zu komprimierenden Daten: er konstruiert das Wörterbuch, indem er die Datei durchläuft und sie dann komprimiert.