Back to Top

PHNETZ - Internetagentur

Marketing für Ihren Erfolg

Komprimierung

Komprimierung

Komprimierung (Datenkompression) bezeichnet das Verfahren, bei dem die Größe einer Datei oder eines Datenstroms reduziert wird, indem Redundanzen und statistische Muster entfernt werden. Ziel ist, Speicherplatz zu sparen und die Übertragungszeit zu verkürzen, ohne (verlustlose Kompression) oder mit akzeptiertem Qualitätsverlust (verlustbehaftete Kompression) die ursprünglichen Daten zu beeinträchtigen.

 

Funktionsprinzipien

Prinzip
Beschreibung
Typ
Entropie‑Codierung
Ersetzt häufige Symbole durch kurze Codes, seltene durch längere (z. B. Huffman‑Codierung, arithmetische Codierung).
Verlustlos
Dictionary‑Verfahren
Baut während der Kompression ein Wörterbuch von wiederholten Zeichenketten auf und ersetzt diese durch Verweis‑IDs (z. B. LZ77, LZ78, LZW).
Verlustlos
Transform‑Codierung
Wandelt Daten in ein Format um, in dem Redundanzen leichter erkennbar sind (z. B. DCT bei JPEG, Wavelet bei JPEG 2000).
Verlustbehaftet
Predictive Coding
Sagt den nächsten Datenwert anhand vorheriger Werte voraus; speichert nur die Differenz (z. B. FLAC für Audio).
Verlustlos
Run‑Length Encoding (RLE)
Zählt Wiederholungen gleicher Symbole und speichert Symbol + Wiederholungszahl.
Verlustlos (einfach)

Verlustlose vs. verlustbehaftete Kompression

Merkmal
Verlustlos
Verlustbehaftet
Originaldaten
Wieder vollständig rekonstruierbar
Irreversible Qualitätsverluste
Anwendungsbereiche
Text, Code, Datenbanken, Archivierung, Firmware
Bilder, Audio, Video, Streaming
Beispiele
ZIP, GZIP, PNG, FLAC, LZW, Brotli
JPEG, MP3, AAC, H.264/H.265, WebP
Kompressionsrate
Oft 2 – 3‑fach, selten > 5‑fach
Sehr hohe Raten (10‑‑100‑fach) je nach Qualitätseinstellung

Gängige Formate und Algorithmen

Format
Typ
Verwendeter Algorithmus
Einsatz
ZIP / GZIP
Verlustlos
Deflate (LZ77 + Huffman)
Datei‑Archivierung, Web‑Transfer
PNG
Verlustlos
Deflate
Rastergrafiken, Transparenz
JPEG
Verlustbehaftet
DCT + Quantisierung
Fotos, Web‑Bilder
MP3 / AAC
Verlustbehaftet
Psychoakustische Modellierung + Huffman
Audio‑Streaming
H.264 / H.265 (HEVC)
Verlustbehaftet
Block‑Based Motion‑Compensation + Transform‑Coding
Video‑Streaming, Blu‑Ray
Brotli
Verlustlos (auch optional)
LZ77 + Huffman + Kontext‑Modelle
Web‑Kompression, HTTP/2
Zstandard (zstd)
Verlustlos
Finite‑State Entropy + LZ77‑ähnlich
Schnelle Kompression, hoher Durchsatz

Anwendungsgebiete

  • Dateispeicherung – Reduktion von Festplatten‑/SSD‑Belegung.
  • Netzwerkübertragung – Beschleunigung von Web‑Requests, E‑Mail‑Anhängen, APIs (z. B. gzip‑komprimierte HTTP‑Antworten).
  • Multimedia‑Streaming – Adaptive Bitrate‑Verfahren (HLS, DASH) nutzen verlustbehaftete Kompression, um Bandbreite zu optimieren.
  • Datenbanken – Spalten‑ oder Zeilen‑Kompression, um I/O zu verringern.
  • Embedded Systeme – Firmware‑Updates in komprimierter Form, um Over‑The‑Air‑Updates zu verkleinern.
 

Wichtige Kennzahlen

  • Kompressionsratio = Originalgröße / komprimierte Größe.
  • Durchsatz (MB/s) – Geschwindigkeit, mit der Daten komprimiert/dekomprimiert werden.
  • Latenz – Zeit bis ein einzelner Block fertig komprimiert ist (relevant für Echtzeitanwendungen).
  • Speicherverbrauch – Arbeitsspeicher, der für das Wörterbuch/Buffer benötigt wird.
 

Best Practices

  1. Passendes Format wählen – Verlustlos für kritische Daten, verlustbehaftet für Medien.
  2. Kompressionsstufe anpassen – Höhere Stufen geben bessere Ratio, aber längerere Laufzeiten.
  3. Chunk‑basiertes Vorgehen – Große Dateien in Blöcke teilen, um Speicherbedarf zu reduzieren und Parallelisierung zu ermöglichen.
  4. Checksum / Hash – Nach der Dekompression prüfen, um Datenintegrität sicherzustellen (z. B. CRC32, SHA‑256).
  5. Hardware‑Unterstützung nutzen – Moderne CPUs bieten Beschleunigungsinstruktionen (z. B. Intel QuickAssist, ARM Crypto Extensions).