13.08.2013 Aufrufe

Image Compression

Image Compression

Image Compression

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Image</strong> <strong>Compression</strong><br />

Vorlesung FH-Hagenberg<br />

DSB<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Kompression<br />

Encoder<br />

Decoder<br />

Beseitigung der unnötigen Daten<br />

... Redundanz<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Inhalte<br />

• Redundanz<br />

• Loss-less <strong>Compression</strong><br />

– Hufmann Coding<br />

– Runlength Coding<br />

• Lossy <strong>Compression</strong><br />

– Transform Coding<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Redundanz<br />

• Daten Information<br />

• Kompressionsrate= n1 /n2 –n1 , n2 Anzahl der Info-Träger<br />

• Relative Redundanz<br />

– R D =1-(1/C R )<br />

• n1 =n2 RD =0, n2


Coding-Redundanz<br />

r p( r ) Code 1 l ( r ) Code 2 l ( r )<br />

1 0,19 000 3 11 2<br />

2 0,25 001 3 01 2<br />

3 0,21 010 3 10 2<br />

4 0,16 011 3 001 3<br />

5 0,08 100 3 0001 4<br />

6 0,06 101 3 00001 5<br />

7 0,03 110 3 000001 6<br />

8 0,02 111 3 000000 6<br />

L = ∑l( r)<br />

⋅ p(<br />

r)<br />

r<br />

L=2,7bit<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Interpixel-Redundanz<br />

• Threshold<br />

•Run-length<br />

•1024x343<br />

•~12.000 runs/ 11 bit<br />

•C R =2.63<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Psychovisuelle Redundanz<br />

(a) 256, (b) 16 gleichverteilt, (c ) 16 quantisiert<br />

Graustufen<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Literatur<br />

• http://datacompression.info/<br />

• comp.compression FAQ (part2)<br />

• University of Western Australia algorithms course<br />

– http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/huffman.html<br />

• http://compression.graphicon.ru/download/articles/huff/huffman_1952_mi<br />

nimum-redundancy-codes.pdf<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Informationstheorie<br />

• I(E)=log(1/p(E))=-log(p(E)) Selbstinformation<br />

– sicheres Ereignis p(E)=1 I(E)=0<br />

• Beispiel : Text bestehend aus einem Buchstaben<br />

– unwahrscheinliches Ereignis p(E)>1 I(E) >>0<br />

• Beispiel: “normal-verteilter” Text<br />

• Durchschnittliche Selbstinfo = Entropie<br />

H<br />

( z)<br />

=<br />

−<br />

J<br />

∑<br />

j=<br />

1<br />

p(<br />

a<br />

j<br />

) log( p(<br />

a<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder<br />

j<br />

))


Huffman: Source Reduction<br />

• Häufigkeit der Quellsymbole wird ermittelt<br />

• zwei Symbole mit niedrigster Wahrscheinlichkeit werde<br />

zusammengefaßt<br />

• Reduktion auf zwei Gruppen<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Huffman: Codierung<br />

• Oberstes Level: Zuweisung der Symbole 0,1<br />

• Aufspaltung der zusammengesetzen Gruppe<br />

• Resulierender Code:<br />

– eindeutig, instant, minimale Redundanz (optimal)<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Decodierung<br />

• Baum wird von oben<br />

nach unten durchlaufen<br />

• Dekodiertes Symbol am<br />

Ende eines Zweiges<br />

• Symbole eindeutig<br />

(binärer Baum)<br />

• Codelänge<br />

unterschiedlich für<br />

Symbole<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Run-length Coding<br />

• Verfahren für Fax<br />

• Zeilenweise Verarbeitung<br />

• Codierung (Grauwert, Anzahl)<br />

• Binär: Längen von weiß und schwarz<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Bitplane-Coding<br />

Bits 7-4 Bits 3-0<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Bitplane Decomposition & Coding<br />

• Decomposition eines Grauwertes mit m-<br />

Bit/Pixel<br />

a<br />

m−1<br />

m−2<br />

m −12<br />

+ am−22<br />

+ ⋅⋅⋅+<br />

a0<br />

• Codierung mit exklusiv oder (XOR), g i<br />

neuer Code<br />

g<br />

g<br />

m−1<br />

i<br />

=<br />

=<br />

a<br />

i<br />

a<br />

m−1<br />

⊕a<br />

i+<br />

1<br />

• zB. 127={0111 1111} a ={0100 0000} g<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder<br />

2<br />

0


Transformations Coding<br />

• Einteilung in Sub-<strong>Image</strong>s (8x8)<br />

• Transformation<br />

• Quantisierung<br />

• Code-Generierung<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Transformation: Motivation<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Beispiel: DCT 1 Koeffizient<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Beispiel: DCT 3 Koeffizienten<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Transform Coding:<br />

Maskengröße<br />

(a) DCT 25%<br />

(b) Differenz 8x8 Maske<br />

(c) original<br />

(d) 2x2<br />

(e) 4x4<br />

(f) 8x8<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Quantisierung<br />

Auswahl der Koeffizienten<br />

• Zonale Masken<br />

• Threshold<br />

– Global<br />

– Adaptiv<br />

– Maskiert<br />

• Codierung<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Quantisierung:Masken<br />

(a) Zonale Maske<br />

(b) gespeicherte Bits<br />

(c) Threshold Mask<br />

(d) Koeffizienten-<br />

Anordnung<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Transform Coding:<br />

Quantisierung<br />

Threshold Coding<br />

(links)<br />

Zonen-Maske<br />

(rechts)<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Threshold und JPEG-Maske<br />

T(u,v)=round(T(u,v)/M(u,v))<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Quantisierung<br />

JPEG Maske<br />

(links)<br />

4xMaske<br />

(rechts)<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


JPEG-Verfahren<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Farbtransformation<br />

• RGB -> YUV ->YCbCr<br />

– Cb Abweichung Blau-Gelb<br />

– Cr Abweichnung Rot-Cyan<br />

• Komponenten in YUV geringer korreliert<br />

• Farbebenen werden getrennt komprimiert<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Down-Sampling<br />

• Farbkomponente wird komprimiert<br />

• Luninanz-Signal bleibt erhalten<br />

4:2:0-Abtastung PAL-DV Standard<br />

z.B. 2x2 Block: Original 4x3=12 Werte<br />

Komprimiert: 4+2=6 Werte = 50% reduziert<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Downsampling Schema<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Transformation<br />

• Bildung von 8x8 Blöcken<br />

• Diskrete Cosinustransformation<br />

– Basis-Funktionen<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Quantisierung<br />

• Gewichtung eines jeden Koeffizieneten der<br />

DCT<br />

G'(<br />

u,<br />

v)<br />

=<br />

round<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder<br />

⎛<br />

⎜<br />

⎝<br />

G(<br />

u,<br />

v)<br />

q(<br />

u,<br />

v)<br />

Quantisierungs-Tabelle<br />

• eine Tabelle pro Farbebene<br />

• für jeden Koeffizienten eine Qualitätswert<br />

• niedrige Werte -> geringer Verlust<br />

⎞<br />

⎟<br />


Quantisierungstabelle<br />

Beispiel:<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Codierung<br />

Umordnen der 8x8 Maske zu einem linearen Array:<br />

Zigg-Zagg-Ordering:<br />

Durch starke<br />

Quantisierung der<br />

hohen Frequenzen,<br />

entstehen lange<br />

Nullfolgen<br />

•Huffman coding<br />

•Runlength Coding<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder


Zusammenfassung:<br />

• Farbtransformation<br />

• Downsampling<br />

• Diskrete Cosinus-Transformation<br />

• Quantisierung<br />

• Codierung<br />

Orange markierte Schritte komprimieren Daten<br />

Digitale Signal & Bildverarbeitung Werner Backfrieder

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!