Lektion 1.2

Kompression und Dateiformate

17 min Lesezeit

Du willst das Video von deinem Ausflug an eine Freundin schicken. Es ist 500 MB groß, und das Verschicken würde ewig dauern. Der Messenger packt das Video zusammen, und plötzlich sind es nur noch etwa 40 MB. Das Video sieht fast genauso aus wie vorher, vielleicht ein wenig unschärfer.

Wie kann eine Datei schrumpfen, ohne dass das Video verschwindet? Warum darf man bei einem Text nichts weglassen, bei einem Video aber schon? Und wie kann ein Video schon laufen, bevor es ganz angekommen ist? Das klärst du in dieser Lektion.

Definition

Dateiformate

Du kennst Dateiformate schon: Sie legen fest, wie die Daten einer Datei aufgeschrieben sind. Die Dateiendung verrät das Format. Für eine Art von Inhalt gibt es oft mehrere Formate, weil sie die Daten verschieden speichern. Manche halten jedes Pixel einzeln fest, andere schreiben die Daten kürzer auf.

EndungInhaltBesonderheit
.txtTexteinfacher Text ohne Gestaltung
.pngBildverlustfrei komprimiert, gut für Zeichnungen und klare Kanten
.jpgBildverlustbehaftet komprimiert, gut für Fotos
.wavTonmeist unkomprimiert, sehr groß
.mp3Tonverlustbehaftet komprimiert, viel kleiner
.mp4Videoenthält Bild und Ton, meist stark verlustbehaftet komprimiert
.zipArchivfasst Dateien zusammen und komprimiert sie verlustfrei

Was „verlustfrei“ und „verlustbehaftet“ heißt, erfährst du gleich.

Definition

Kompression: verlustfrei und verlustbehaftet

Kompression heißt: Daten so aufschreiben, dass sie weniger Speicherplatz brauchen. Das spart Platz und verkürzt die Übertragung. Das Gegenteil heißt Dekomprimieren oder Entpacken. Es gibt zwei Arten:

  • Bei der verlustfreien Kompression kommt nach dem Entpacken genau das Original heraus, Bit für Bit. Das Verfahren nutzt Wiederholungen in den Daten. Du brauchst es für Texte, Tabellen und Programme, denn ein einziges falsches Zeichen kann sie zerstören.
  • Bei der verlustbehafteten Kompression lässt das Verfahren Teile weg, die du kaum bemerkst: feine Farbunterschiede im Foto oder sehr leise Töne neben lauten. Das Original lässt sich danach nicht mehr herstellen. Dafür werden die Dateien viel kleiner. Je stärker die Kompression, desto sichtbarer wird der Verlust.
Definition

Kompressionsrate

Wie gut eine Kompression ist, misst die Kompressionsrate: Du teilst die Größe vor der Kompression durch die Größe danach. Eine Rate von 4 bedeutet: Die Datei ist auf ein Viertel geschrumpft. Manche geben stattdessen an, auf wie viel Prozent die Datei geschrumpft ist. Beides sagt dasselbe, denn Rate 4 sind 25 %. Je größer die Rate, desto besser komprimiert das Verfahren. Sie hängt auch von den Daten ab: Daten mit vielen Wiederholungen schrumpfen stark, Daten ohne Wiederholungen kaum.

Beispiel

Wie gut ist die Kompression?

Ein Foto ist 1000 Pixel breit und 800 Pixel hoch. Jedes Pixel braucht 24 Bit, also 3 Byte. Angenommen, als JPG ist die Datei nur 240 kB groß. Wie groß wäre das Foto ohne Kompression, und wie hoch ist die Kompressionsrate?

Ohne Kompression: 1000 · 800 = 800 000 Pixel. Jedes Pixel braucht 3 Byte, also 800 000 · 3 = 2 400 000 Byte = 2400 kB. Die Rate ist 2400 kB : 240 kB = 10. Das JPG ist auf ein Zehntel geschrumpft, das sind 10 %.

Definition

Lauflängencodierung

Die Lauflängencodierung ist ein einfaches verlustfreies Verfahren. Eine Folge gleicher Zeichen heißt Lauf. Statt den Lauf auszuschreiben, schreibst du auf, wie lang er ist und welches Zeichen es ist. Aus AAAAAABBB (6 mal A, 3 mal B) wird 6A3B. Das Verfahren lohnt sich nur bei langen Läufen: Aus ABAB wird 1A1B1A1B, und das ist doppelt so lang. Gut geeignet sind einfache Bilder mit großen einfarbigen Flächen, zum Beispiel ein Schwarz-Weiß-Bild mit langen Reihen Weiß.

Beispiel

Ein Bild mit Lauflängencodierung komprimieren

Ein Schwarz-Weiß-Bild ist 8 Pixel breit und 4 Pixel hoch. W steht für weiß, S für schwarz.

ZeilePixel
1WWWWWWWW
2WWSSSSWW
3WWSSSSWW
4WWWWWWWW

Codiere jede Zeile mit Lauflängencodierung und berechne die Kompressionsrate. Zähle dabei jedes Zeichen als 1 Byte.

Zeile 1 besteht aus 8 mal W, also 8W. Zeile 2 besteht aus 2 mal W, 4 mal S und 2 mal W, also 2W4S2W. Zeile 3 ist genauso: 2W4S2W. Zeile 4 ist wie Zeile 1: 8W.

Das Bild hat 4 · 8 = 32 Zeichen. Die codierten Zeilen haben 2 + 6 + 6 + 2 = 16 Zeichen. Die Rate ist 32 : 16 = 2. Die Datei ist auf die Hälfte geschrumpft. Aus dem Code lässt sich das Bild vollständig zurückholen, die Kompression ist verlustfrei.

Definition

Archivformate

Ein Archiv fasst mehrere Dateien und Ordner in einer einzigen Datei zusammen, meist mit verlustfreier Kompression. Bekannte Formate sind ZIP und 7z. Archive haben zwei Vorteile: Du verschickst viele Dateien als eine, und die Datei ist kleiner. Beim Entpacken entstehen die Originale zurück. Bei Dateien, die schon komprimiert sind, etwa JPG, MP3 oder MP4, bringt das Packen kaum etwas, denn dort gibt es kaum noch Wiederholungen, die das Verfahren nutzen könnte.

Definition

Streaming

Beim Streaming läuft ein Video oder Lied schon, während es noch ankommt. Du wartest nicht, bis die ganze Datei geladen ist. Der Server schickt die Daten in kleinen Stücken. Dein Gerät sammelt ein paar Sekunden davon im Puffer, einem kleinen Zwischenspeicher, und spielt sie ab, während schon die nächsten ankommen. Wird die Verbindung langsamer, zehrt der Player vom Puffer. Ist er leer, stockt das Bild.

Streaming braucht Kompression. Die Verbindung muss mindestens so viele Daten pro Sekunde schaffen, wie der Strom braucht. Diese Datenrate misst man in kbit/s (1 kbit/s sind 1000 Bit pro Sekunde). Bei langsamer Verbindung wählen viele Dienste eine stärkere Kompression und damit ein schlechteres Bild.

Beispiel

Wie groß ist ein Lied?

Ein Lied dauert 4 Minuten. Als WAV hat es eine Datenrate von etwa 1400 kbit/s, als MP3 von 128 kbit/s. Wie groß sind beide Dateien in MB, und wie hoch ist die Kompressionsrate?

4 Minuten sind 240 Sekunden. WAV: 240 · 1400 = 336 000 kbit. Durch 8 geteilt sind das 42 000 kB, also 42 MB. MP3: 240 · 128 = 30 720 kbit. Durch 8 geteilt sind das 3840 kB, also etwa 3,8 MB. Die Rate ist 42 MB : 3,84 MB, das sind etwa 11. Die MP3-Datei ist etwa elfmal kleiner. Zum Streamen mit 128 kbit/s muss die Leitung mindestens 128 kbit/s schaffen.

Häufige Fehler

ZIP macht jede Datei kleiner

„Ich packe meine Urlaubsfotos in eine ZIP-Datei. Dann brauchen sie nur noch halb so viel Platz.“

Richtig ist

Ein JPG ist schon komprimiert. Es enthält kaum noch Wiederholungen, die ZIP nutzen kann. Die ZIP-Datei ist daher nur wenig kleiner. Stark schrumpfen Dateien mit vielen Wiederholungen, etwa Texte oder unkomprimierte Bilder.

Häufige Fehler

Die Qualität lässt sich zurückholen

„Mein JPG ist unscharf. Wenn ich es als PNG speichere, ist es wieder scharf.“

Richtig ist

Was die verlustbehaftete Kompression weggelassen hat, ist weg. Ein PNG speichert das unscharfe Bild jetzt nur ohne weiteren Verlust, und die Datei wird meist größer. Hebe darum von wichtigen Fotos das Original auf.

Zusammenfassung

  • Das Dateiformat legt fest, wie die Daten einer Datei aufgeschrieben sind. Die Endung verrät es.

  • Kompression schreibt Daten so auf, dass sie weniger Platz brauchen. Bei verlustfreier Kompression kommt nach dem Entpacken das Original heraus, bei verlustbehafteter nicht.

  • Texte, Tabellen und Programme brauchen verlustfreie Kompression. Bei Fotos, Musik und Videos ist Verlust oft vertretbar.

  • Die Kompressionsrate ist die Größe vor der Kompression geteilt durch die Größe danach.

  • Bei der Lauflängencodierung ersetzt man einen Lauf gleicher Zeichen durch Länge und Zeichen. Sie lohnt sich bei langen Läufen.

  • Ein Archiv wie ZIP fasst Dateien zusammen und komprimiert sie meist verlustfrei. Schon komprimierte Dateien schrumpfen kaum.

  • Beim Streaming läuft ein Video schon, während es ankommt. Der Puffer gleicht Schwankungen aus, und die Kompression hält die Datenrate niedrig.

Übungen

Aufgabe 1Numerisch

Eine Datei hat 6000 kB. Nach der Kompression hat sie 1500 kB. Wie hoch ist die Kompressionsrate?

Aufgabe 2Multiple Choice

Bei welcher Datei darf die Kompression nichts verändern?

Aufgabe 3Numerisch

Eine Pixelzeile besteht aus 12 W, dann 5 S, dann 3 W. Ausgeschrieben sind das 20 Zeichen. Mit Lauflängencodierung schreibt man 12W5S3W. Wie viele Zeichen spart man?

Aufgabe 4Multiple Choice

Warum wird eine JPG-Datei in einer ZIP-Datei kaum kleiner?

Aufgabe 5Numerisch

Ein Lied dauert 3 Minuten und hat eine Datenrate von 160 kbit/s. Wie groß ist die Datei in kB? Schreibe die Zahl ohne Punkt.

Aufgabe 6Freitext

Erkläre in zwei bis drei Sätzen, was Streaming ist und wozu der Puffer dient.