Einzelnen Beitrag anzeigen

Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Komprimierung : Wie geht das?

  Alt 13. Jul 2010, 15:42
Ist identisch.
Die o.g. Buchstaben sind auch "nur" Bytes. Das 'A' hat den numerischen Wert von 65. Im Speicher steht da auch nur der Zahlenwert, den wir mit an passender Stelle als den Buchstaben 'A' interpretieren. Dem Algorithmus ist das aber egal. Der sieht nur eine Folge von Bytes. Das (vereinfachte) Prinzip lautet "Suche Folgen von gleichen Werten und ersetze diese durch was Kürzeres".
Kritisch wird es, wenn in Deinem Array NUR unterschiedliche Zahlen vorkommen, dann wirst Du mit dem o.g. Verfahren keinen Blumentopf gewinnen können. Dann könnte man jedoch andere Verfahren starten, wie sie z.B. bei MP3 oder JPG zum Einsatz kommen: Verlustbehaftete Kompression. Das heisst, dass die Daten (leicht) verändert werden, um bessere Kompressionsraten erzielen zu können. So könnte man z.B. die Werte eines Arrays runden, um wieder Bereiche von identischen Werten zu haben. Sehr plastisch siehst Du das, wenn Du in einem Grafikprogramm die Kompressionsrate beim JPG-Export sehr hoch und die Glättung sehr niedrig stellst. Dann bilden sich Klötzchen, die sich aber wunderbar komprimieren lassen. (Auch wieder arg vereinfacht dargestellt.)
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat