mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 27.04.2024 05:22 Benutzername: Passwort: Auto-Login

Thema: LZW-Komprimierung vom 15.02.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Abschlussprüfung Theorie -> LZW-Komprimierung
Seite: 1, 2, 3  Weiter
Autor Nachricht
Prinzregent
Threadersteller

Dabei seit: 23.02.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst So 15.02.2009 19:56
Titel

LZW-Komprimierung

Antworten mit Zitat Zum Seitenanfang

Hallo Leute.
LZW wird ja gerne mal gefragt aber ich raffs net so ganz und bräuchte eine simple erklärung.
Ich denke es ist so: verlustfreie komprimierung, die spezielle Zeichenabfolgen in sogenannte Wörterbücher (Tabellen)abspeichert und diese bei der speicherung mit abkürzungen aufruft. stimmt das? Außerdem sind immer zwei bilder gezeigt wobei man sagen soll, welches die kleinere dateigröße hat und warum. (schwarze und weiße streifen einmal horizontal und einmal vertikal)
  View user's profile Private Nachricht senden
Adilos

Dabei seit: 02.10.2008
Ort: Bayreuth
Alter: 41
Geschlecht: Männlich
Verfasst Mo 16.02.2009 13:13
Titel

Antworten mit Zitat Zum Seitenanfang

Klingt doch nicht schlecht die Erklärung.
Ich habs damals so verstanden das ein Farbpixel ja immer aus 8bit (bzw 16bit) pro Kanal gespeichert wird.
Also bei RGB wären das dann 3x8 Binarzeichen. 00110110 01101011 01101011 Diese Kombination ergibt dann Farbwert X.
Bei LZW wird dieser Farbwert dann in den "magic Numbers" im Header vermerkt und bekommt dann einen speziellen wert in einer Tabelle. Falls nun die Farbe erneut auftaucht wird nicht nochmal die gesammte Binärzahl geschrieben sondern einfach ein querverweiß auf den Tabellenwert. (z. B. Pixel 30 = Tabellenwert 10).

Ich vermute das es hier auch wie im RLE Compression die Pixel zeilenweise gelesen werden und ebenfalls eine RLE codierung bekommen.
Also nicht Pixel 30 = Tabellenwert 10, Pixel 31 = Tabellenwert 10, Pixel 32 = Tabellenwert 10 usw.
Sondern: Pixel 30 bis 50 = Tabellenwert 10.
Falls das stimmen sollte wäre das bild mit den horizontalen streifen natürlich besser zu komprimieren. da weniger abwechslung in einer Zeile ist.

Ich hoffe das hilft dir weiter Grins

PS: ob das mit der RLE Compression zutrifft weiß ich nicht genau, wäre aber ein ansatz für die 2 Bilder.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Prinzregent
Threadersteller

Dabei seit: 23.02.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 18.02.2009 20:36
Titel

Antworten mit Zitat Zum Seitenanfang

Schonmal danke aber weiß es vielleicht noch jemand genau?
  View user's profile Private Nachricht senden
katrin1506

Dabei seit: 19.02.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 19.02.2009 11:32
Titel

Antworten mit Zitat Zum Seitenanfang

LZW ist für Daten aller Art gedacht.

LZW arbeitet zeilenorientiert.

Bei Bildern mit ausgeprägten vertikalen Strukturen, z.B. senkrechten Linien, bleibt de Datei vergleichsweise groß.

LZW ist richtungsabhängig; horizontale Streifenmuster sind viel stärker komprimierbar als vertikale.
  View user's profile Private Nachricht senden
Adilos

Dabei seit: 02.10.2008
Ort: Bayreuth
Alter: 41
Geschlecht: Männlich
Verfasst Do 19.02.2009 13:22
Titel

Antworten mit Zitat Zum Seitenanfang

ah ja, also doch RLE (Run Lenght Encoding)
  View user's profile Private Nachricht senden
M_a_x

Dabei seit: 28.02.2005
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 20.02.2009 18:33
Titel

Antworten mit Zitat Zum Seitenanfang

katrin1506 hat geschrieben:
......

Bei Bildern mit ausgeprägten vertikalen Strukturen, z.B. senkrechten Linien, bleibt de Datei vergleichsweise groß.

LZW ist richtungsabhängig; horizontale Streifenmuster sind viel stärker komprimierbar als vertikale.


Adilos hat geschrieben:
ah ja, also doch RLE (Run Lenght Encoding)



Beides falsch.

Definitiv ist LZW keine RLE-Kompression und zeigt im vorliegenden Fall weitaus hohe Kompressionsraten auch im Falle der vertikalen Streifen.
Vertikale Streifen bilden ein regelmässiges Muster, daß mit LZW ebenfalls sehr gut komprimiert werden kann.

Habe versuchsweise ein 5000*5000 Pix und 2500 schwarzen und 2500 weissen Streifen, je horizontal und vertikal erstellt.
Die Grösse betrug für Beide 24 MB vor der Kompression.
Die horizontale Variante wurde mit LZW von 24 MB ->106 KB kompriniert.
Die vertikale Variante von 24 MB -> 149 KB.
Der Unterschied ist in diesem konkreten Beispiel wohl eher als marginal zu sehen, sodass ich bei der Aufgabenstellung eher von RLE (!=LZW) ausgehen würde.

Hier sind die Verhältnisse sehr eindeutig und leicht nachvollziehbar:
RLE zeigt hingegen null Kompressionseffekt im Falle der vertikalen Streifen, da die Lauflänge (runlength) immer nur 1 Pixel ist und mithin nicht platzsparend durch neue Schlüssel ersetzt werden kann.

Horizontale Streifen werden mit RLE von 24 MB -> 106 KB komprimiert, vertikale wie zu erwarten gar nicht!
  View user's profile Private Nachricht senden
Prinzregent
Threadersteller

Dabei seit: 23.02.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 24.02.2009 17:07
Titel

Antworten mit Zitat Zum Seitenanfang

Jetzt bin ich leider verwirrt. Wie funktioniert deiner Meinung nach jetzt LZW. Bitte für Doofe

hab ne gut erklärung gefunden aber warum ist bei der vertikalen datei die menge mehr? weil die abkürzung öfter aufgerufen werden muss?

hier die gute erklärung:
Der Algorithmus zerlegt die Datei in Zeichenketten und analysiert sie auf Wiederholungen, die er mit einer Tabelle abgleicht. Neue Informationen kommen in die Tabelle, wenn eine Information mehrfach auftaucht, verweist der Algorithmus ab dem zweiten Mal nur noch auf den entsprechenden Tabelleneintrag


Zuletzt bearbeitet von Prinzregent am Di 24.02.2009 17:35, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Adilos

Dabei seit: 02.10.2008
Ort: Bayreuth
Alter: 41
Geschlecht: Männlich
Verfasst Di 24.02.2009 17:50
Titel

Antworten mit Zitat Zum Seitenanfang

Das witzige bei der Fragestellung ist ja das nur 2 Farbwerte in die Tabelle eingetragen werden.
1 für Schwarz und 1 für weiß.

Wenn keine RLE Kompression stattfindet, und gleich viele Schwarze wie Weiße Pixel im Bild sind müsste 2 mal der gleiche Kompressionserfolg da sein. In M_a_x seiner Rechnung dann eben 5000x5000 pixel mal 2 Farben

Is aber nicht so.
Hab grad nochmal den Test gemacht bei einem 60x60pixel Bild... LZW komprimiert
Vertikale Streifen = 60.392 Byte
Horzontale Streifen = 49.920 Byte
Ohne Kompremierung = 68.840 Byte

Ich bleibe daher bei meiner Meinung vom Mo 16.02.2009 12:13 Uhr.

Nochmal für Doofe (und nur das, was wir mit 100%iger Sicherheit wissen):
LZW = verlustfrei
Bei LZW wird eine Tabelle angelegt.
(Die Tabelle wird in den sogenannten Header geschrieben/ da steht noch allerhand anderes Zeug drin. Z. B. was das für eine Art Datei es ist und welches Kompressionsverfahren benutzt wurde)
(Die Zahlen in der Tabelle, die dem Bild erklären wie es sich entschlüsseln soll, nennen sich magic numbers)
In die Tabelle werden alle Farben eingetragen die im Bild vorkommen.
Wenn nun ein Pixel im Schiffeversenkenraster A7 zum Beispiel Schwarz ist, dann steht als Beschreibung für A7 nicht mehr die Binärzahl mit welcher man die Farbe ausrechnen kann. Sondern ein [u]Querverweiß[/u] der dem Pixel auf A7 sagt. Hey du, kuck in der Tabelle auf Platz 2 nach. Da steht die Farbe die du haben sollst.
Kurz: A7=2 anstelle von A7=00000000

Ob RLE steht nicht fest, aber ich vermute es stark... Und wenns die Million Euro frage wär würd ich mich da auf mein Bauchgefühl verlassen auch wenn mein Telefonjoker M_a_x was anderes sagt.


Zuletzt bearbeitet von Adilos am Di 24.02.2009 17:51, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen LZW-Komprimierung ??
ZIP-Komprimierung
Lossy und non Lossy Komprimierung
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3  Weiter
MGi Foren-Übersicht -> Abschlussprüfung Theorie


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.