Google Suche

 
Loading...
Loading...

Komprimierung

PDFDruckenE-Mail

Komprimierung von Daten:

Es ist oftmals zweckmäßig, Daten vor Ihrer Übertragung zu komprimieren, da so die verfügbare Bandbreite besser ausgenutzt werden kann.

Klassische Komprimierungsverfahren suchen in den Ausgangsdaten nach Redundanzen, sprich nach sich wiederholenden Mustern. So ein Muster wird dann nur einmal gespeichert, zusammen mit der Information, wie oft es zu wiederholen ist. Auf diese Art arbeiten Kompressionsprogramme für Dateien wie z.B. pkzip, arj (DOS / Windows), gzip oder compress (Unix).

Ebenso arbeitet das Bildformat gif. Es setzt ein Palettenbild voraus, d.h. im ganzen Bild können nur maximal 256 verschiedene Farben vorkommen. Nun wird zeilenweise vorgegangen und gleichfarbige Bildpunkte oder Punktemuster werden wie oben beschrieben komprimiert. Deswegen komprimiert gif bei großen einfarbigen Flächen am besten.

Für Musik und "natürliche" Bilder erweist sich ein anderes Verfahren als günstiger. Hier muss das ursprüngliche Signal nicht zwingend exakt reproduziert werden. Es genügt, dass das Ohr bzw. Auge keinen Unterschied wahrnehmen kann. Dazu macht man sich den Effekt zunutze, dass z.B. bei einem Gemisch lauter und leiser Töne das Gehör die leisen sowieso nicht wahrnimmt. Man kann sie folglich auch gleich weglassen.

Dies nennt man "verlustbehaftete Komprimierung". Erstmals populär wurde sie im Audiobereich bei der Einführung der MiniDisc (MD). Im Bereich von Kommunikationssystemen ist z.B. Real Audio im Internet populär, bei Musikdateien ist "MP3" momentan sehr angesagt.

Die verlustbehaftete Komprimierung von Audiosignalen läuft folgendermaßen ab:

Das Tonsignal wird einer Spektralanalyse unterzogen, d.h. zu jedem Abtastzeitpunkt wird die Intensität aller im Signal enthaltenen Frequenzanteile ermittelt. Nach einem psychoakustischen Modell (d.h. basierend auf Forschungen über die Gehörfunktion des Menschen) werden nicht hörbare Frequenzanteile ausgefiltert. So können Tonsignale ohne merkliche Verluste auf ca. 10% komprimiert werden. Bei Fotos oder Gemälden funktioniert die Komprimierung ähnlich wie bei Tönen. Das Bild wird dazu in Zonen zerlegt und die Spektralanalyse auf diese angewendet. Auch hier werden schwach ausgeprägte Frequenzanteile verworfen.

Eine Schwäche hat das Verfahren an Kanten mit harten Kontrasten. Hier können unregelmäßige Streumuster auftreten, die man als "Artefakte" bezeichnet.

Bei der Komprimierung von Videos kann zusätzlich zur verlustbehafteten Komprimierung eir Vergleich aufeinander folgender Bilder miteinander eine zusätzliche Datenreduktion bringen.

ASCII:

Für Texte gibt es einen einfachen Code, der Buchstaben, Ziffern und Sonderzeichen einfach bestimmte Zahlenwerte fest zuweist. Dieser Code heißt "ASCII" (American Standard Code for Information Interchange). Das Problem dabei ist, dass dieser Code nur 128 Zeichen definiert, obwohl mit einem Byte 256 verschiedene möglich wären. Zudem enthält er weder Umlaute noch andere nationale Sonderzeichen noch mathematische oder wissenschaftliche Sonderzeichen.

In der Folge entwickelten sich zahlreiche unterschiedliche Erweiterungen von ASCII, die die übrigen 128 Zeichen nutzen. Leider passen diese nicht zusammen, so dass Sonderzeichen verfälscht werden, wenn Sender und Empfänger verschiedene ASCII‑Varianten verwenden. Eine Erweiterung ist allerdings bei weitem die verbreitetste. 1S0 Latin‑ 1 " wird nicht nur von Windows verwendet, sondern auch von den meisten Unix‑Varianten.

Leitungscodes:

Leitungscodes werden verwendet, um Übertragungsfehler erkennen und gegebenenfalls korrigieren zu können. Dabei wird aus den reinen Nutzdaten redundante Information berechnet und hinzugefügt. Am Ziel kann dann die gleiche Berechnung nochmals vorgenommen und das Ergebnis mit den angehängten Informationen verglichen werden. Ergibt sich eine Abweichung, wurden die Daten sicherlich fehlerhaft übertragen.

Bei manchen Übertragungsmedien werden Anforderungen an die Struktur der übermittelten Daten gestellt, z.B. kann es eine Maximalzahl aufeinander folgender 1 ‑ oder 0 ‑ Bits geben oder aus den übertragenen Signalen muss ein Taktsignal extrahiert werden können.

Die Qualität eines Leitungscodes ist abhängig von:

-          Störfestigkeit: Wie robust ist die Erkennung eines fehlerhaften Bits, mehrerer zufällig verteilter Fehler, mehrerer fehlerhafter Bits hintereinander (Blockfehler)?

-          Korrektur: Welche Fehler können sicher korrigiert werden?

Prüfsummen:

normale Prüfsummen:

Über eine gewisse Anzahl von Werten wird die Summe gebildet, bei Kommunikationssystemen typischerweise über ein ganzes Datenpaket. Da die Prüfsumme sehr groß werden kann, typischerweise aber mögliche Abweichungen sich nur auf den letzten Stellen abspielen, wird oftmals eine Modulorechnung auf die Prüfsumme angewendet, d.h. die Prüfsumme wird durch einen festen Wert dividiert und nur der Divisionsrest wird übertragen. Bei byteorientierten Systemen ist z.B. eine Rechnung Modulo 256 naheliegend.

Die Sicherheit von Prüfsummen bei Bitfehlern auf Übertragungsmedien ist nicht besonders groß, da sich mehrere Fehler sehr leicht aufheben können.

Gewichtete Prüfsummen:

Bei der Bildung der Prüfsumme werden die einzelnen Werte abwechselnd unverändert addiert oder zunächst mit einem festen Wert multipliziert. Das Verfahren hat den Nutzen, dass vertauschte Zahlen erkannt werden, die bei einer normalen Prüfsumme nicht auffallen würden. Solche Vertauschungen kommen leicht vor, wenn Zahlen eingetippt werden, in Kommunikationsnetzen sind sie fast ausgeschlossen. Eine gewichtete Prüfsumme verwendet beispielsweise der EAN‑Code:

Die letzte Stelle der Summe plus die Prüfstelle (letzte Ziffer des EAN‑Codes) muss 10 ergeben.

Parität:

Im Grunde eine Prüfsumme über die Bits eines Binärwortes, z.B. eines Bytes, die Modulo 2 genommen wird. Anders ausgedrückt: Man Rügt eine Binärstelle hinzu, und zwar so, dass insgesamt eine ungerade Anzahl Bits in dem Wort gesetzt sind (ungerade Parität). Es kann natürlich auch eine gerade Anzahl Bits sein, dann spricht man von einer geraden Parität. Eine Paritätsprüfung scheitert, wenn in einem Wort eine gerade Anzahl Bits verfälscht werden. Früher war eine Paritätsprüfung in fast jedem RAM‑Modul für PCs eingebaut, bei der Übertragungstechnik ermöglicht z.B. die serielle RS‑232‑Schnittstelle eine Paritätsprüfung.

Fehlerkorrigierende Codes:

Man kann sich Binärzahlen als so genannten Coderaum vorstellen, in dem jede mögliche Zahl einen Punkt darstellt. Zwischen den Zahlen besteht überall dort eine Verbindung, wo die Veränderung nur eines Bits eine Zahl in die andere verwandelt. Für maximal drei Bits ist dies sehr leicht mit einem Würfel visualisierbar, bei längeren Binärzahlen kann man mit dem Coderaum zwar rechnen, ihn aber nicht mehr übersichtlich darstellen.

Paketierung:

In nahezu allen Netzwerken werden die zu übertragenen Daten in Pakete zerteilt, die eine festgelegte Maximalgröße nicht überschreiten.

-          Für jedes Paket kann eine Prüfsumme gebildet werden, damit festgestellt werden kann, ob die Daten beschädigt sind. Kommen die Daten am Stück, müsste bei einem Fehler die Übertragung neu beginnen

-          Könnte ein Teilnehmer beliebig viele Daten am Stück übertragen, wäre das Netz in dieser Zeit für alle anderen Teilnehmer blockiert.

-          Aufgaben des Senders:

o        Die Daten in Pakete zerteilen

o        Mit fortlaufenden Nummern Identifikationen versehen

o        Bestätigung des Empfängers über korrekt empfangene Pakete.

o        Bei Übertragungsfehlern oder fehlender Bestätigung das Paket nochmals senden

-          Aufgaben des Empfängers:

o        Empfang der Pakete bestätigen

o        Bei fehlerhafter Übertragung von Paketen nochmalige Anforderung



 

Wer ist online

Wir haben 45 Gäste online

Besucher

Heute234
Gestern936
Woche2684
Monat16804
Insgesamt495897
   
| Donnerstag, 24. Mai 2012 || Compu-Seite Compu-Seite |