%PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R 17 0 R ] /Count 2 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R /F3 10 0 R /F4 11 0 R /F5 12 0 R /F6 19 0 R >> /ExtGState << /GS1 13 0 R /GS2 14 0 R /GS3 15 0 R /GS4 16 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (dompdf 1.0.2 + CPDF) /CreationDate (D:20240629043641+00'00') /ModDate (D:20240629043641+00'00') >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 1437 >> stream xWMs6W1:~3Zv$֤=P("!$D?S}hNag)X}o<ϣ_K&sz'UD=9_7FJF/Nt:| ˉZ;0a^8>HS4U$}}$z=pq8洢\JM+4&Y ^FjF8ɨY1oGkCbl SeLp?Ȥ v5\6t'S59$p4J,Yfz.BF)jU֝r] 0 Z eUYdb -;?ɊB64VMsjZeff7Y!ZZ2zCmys! |ЁhԭX#dkSS)UU+.?u!XxY* kcVIeS`9z>g<39; SpB|B2PFp|v?u)$ۂPMSmi.6,;@9.7 d=[t6N>q2 F HaKƷMi陵p\7Jڡ68ӊ-#|5zi{ϝ|D m FPqNc\UYjz2M-MnBLm+z//h[p(]b Hb"0ڕ壇~[xQ#E{'g/bKaٙjonuV%E_9hbACC, =uiQ٧OchDhH:Db9gIf 9zBk2`AAЍ,]~⃄v7u5(OI?L`hH h@h8L ƺ=Ԏu G& endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Times-Roman /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Times-Bold /Encoding /WinAnsiEncoding >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /Name /F3 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 11 0 obj << /Type /Font /Subtype /Type1 /Name /F4 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj 12 0 obj << /Type /Font /Subtype /Type1 /Name /F5 /BaseFont /Courier /Encoding /WinAnsiEncoding >> endobj 13 0 obj << /Type /ExtGState /BM /Normal /CA 0.3 >> endobj 14 0 obj << /Type /ExtGState /BM /Normal /ca 0.3 >> endobj 15 0 obj << /Type /ExtGState /BM /Normal /CA 1 >> endobj 16 0 obj << /Type /ExtGState /BM /Normal /ca 1 >> endobj 17 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 18 0 R >> endobj 18 0 obj << /Filter /FlateDecode /Length 1098 >> stream xVnG+8RՑ^IC$"Jό?rHpELSj} 8C'!dI ðB21]~' _0m(}-֏.*c\(kP MO-e ̫||_%#\.J\f%L<|Z.2->8jR<@_yr3f!\َjA\m{ooq7)Zڏw]QVu9{_A1u_QB:ap>JHfM8ps8c&ςv|8U,jqaqz*LZ4Fd > endobj xref 0 20 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000401 00000 n 0000000430 00000 n 0000000579 00000 n 0000000682 00000 n 0000002192 00000 n 0000002301 00000 n 0000002409 00000 n 0000002517 00000 n 0000002630 00000 n 0000002736 00000 n 0000002795 00000 n 0000002854 00000 n 0000002911 00000 n 0000002968 00000 n 0000003073 00000 n 0000004245 00000 n trailer << /Size 20 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 4359 %%EOF Komprimierung • Calify

Verlustfreie Komprimierung

Es gehen keinerlei Daten verloren. Die Originaldaten können exakt wiederhergestellt werden. Man spricht von Redundanzreduktion.

Verlustbehaftete Komprimierung

Irrelevante Informationen werden entfernt, man spricht von Irrelevanzreduktion. Ein Teil der Daten geht verloren.

RLE-Verfahren

Es werden die Läufe gezählt und dan aufgeschrieben. Es handelt sich um eine verlustfreie Kompression. Das Verfahren eignet sich vorallem für Bilder mit kleiner Farbpalette. Eignet sich nicht gut für Texte, da dort meist keine Symbole mehrfach hintereinander auftreten.

AAAABBBCCCCDEEEEE —> 4A 3B 4C 1D 5E

Huffman

Das Huffman-Verfahren ist Präfixfrei und Längenvariabel

  1. Erstelle für jedes Zeichen einen Knoten, der mit der Häufigkeit des Zeichen markiert ist
  2. Solange es mehr als einen Knoten gibt, zu dem keine Kante hinführt:
    1. Suche zwei Knoten u und v mit minimaler Makierung p(u) bzw. p(v), zu denen noch keine Kante hinführt
    2. erzeuge einen neuen Knoten w und verbinde w mit u und v; markiere den Knoten w mit p(u) + p(v)
  3. Markiere die Kanten der inneren Knoten zu ihren Nachfolgern mit 0 und 1

Mittlere Codewortlänge

Es kann unterschiedliche Bäume geben, um herauszufinden, welcher der beste ist, berechnet man die Mittlere Codewortlänge:
Beispiel bei 11 Buchstaben (Tabelle erstellt aus dem Huffman Baum)

A55 / 110
B22 / 11110
C11 / 11101
D11 / 11100
E22 / 11111

5/11*1 + 2/11*3 + 1/11*3 + 1/11*3 + 2/11*3 = 23/11 = 2,09

Speicherersparnis

z.B.: Es sind 11 Buchstaben zu codieren, mit einer Mittleren Codewortlänge von 2,09 = 23 Bits
Im Vergleich zu 8 Bit = 88 Bit
7 Bit 77 Bit

Präfixcode

Ein Präfixcode ist ein Code, bei dem kein Codewort ein Präfix eines anderen Codeworts ist. Also kein Codewort taucht am Anfang eines anderen auf, dies wird als Fano-Bedingung bezeichnet.

Längenvariabel bedeutet das Codewörter unterschiedliche Längen haben können

Keine Beiträge mehr verpassen?

Trage deine E-Mail Adresse ein und bleibe auf dem neusten Stand

Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.

Bisher keine Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

© 2023 Calify • Datenschutz und Impressum