grafikkomprimierung andreas pretzsch inhalt allgemein algorithmen grafikformate

60
Grafikkomprimierung Grafikkomprimierung Andreas Pretzsch Andreas Pretzsch

Upload: anneken-geiken

Post on 05-Apr-2015

108 views

Category:

Documents


3 download

TRANSCRIPT

GrafikkomprimierungGrafikkomprimierung

Andreas PretzschAndreas Pretzsch

InhaltInhalt

AllgemeinAllgemein

AlgorithmenAlgorithmen

GrafikformateGrafikformate

Wozu?Wozu?

Reduzierung der Datenmengen fürReduzierung der Datenmengen für– Netzwerke (z.B. Internet)Netzwerke (z.B. Internet)– ArchivierungArchivierung– Begrenzter SpeicherplatzBegrenzter Speicherplatz

AlgorithmenAlgorithmen

KompressionKompression

verlustfreieverlustfreie verlustbehaftverlustbehaftetet

RLERLE

LZWLZW

HuffmanHuffman

DCTDCT

FraktaleFraktale

WaveletWavelet

CCITTCCITT

verlustfreie verlustfreie KompressionKompression

„„Bijektive Abblidung“Bijektive Abblidung“ Bildinformation wichtig z.B. Bildinformation wichtig z.B.

SternenkarteSternenkarte Details wichtigDetails wichtig „„Qualität vor Geschwindigkeit“Qualität vor Geschwindigkeit“

verlustbehaftete verlustbehaftete KompressionKompression

„„Surjektive Abbildung“Surjektive Abbildung“ Motiv wichtig z.B. LandschaftMotiv wichtig z.B. Landschaft Details unwichtigDetails unwichtig „„Geschwindigkeit vor Qualität“Geschwindigkeit vor Qualität“

RLERLERun Length Run Length EncodingEncoding

einfach und schnelleinfach und schnell verlustfreiverlustfrei gut geignet für S/W-Bildergut geignet für S/W-Bilder

Beispiel:

LauflängenkodierungLauflängenkodierung

aaaaaaaaaaaaaaa -> 15a15 byte -> 2 byte

RLERLERun Length Run Length EncodingEncoding

Beispiel:

12 KB 2 KB

LZWLZW

1977 von 1977 von LLempelempel und und ZZiviv entwickeltentwickelt

1984 modifiziert von 1984 modifiziert von WWelchelch

Beispiel:

„ the „ = 32,116,104,101,32 =: 2565 byte -> 1 byte

geeignet für jede Art von Datengeeignet für jede Art von Daten symetrische Kompressionsymetrische Kompression erstellt Datenlexikonerstellt Datenlexikon

zur verbesserung zur verbesserung Differenzberechnung (=differencing)Differenzberechnung (=differencing)

LZWLZW

verwendet von: z.B. TIFF, GIF, verwendet von: z.B. TIFF, GIF, PostScriptPostScript

Algorithmus patentiert von Firma Algorithmus patentiert von Firma UnisysUnisys

BeispielBeispiel– http://www.cs.sfu.ca/CourseCentral/365/li/squeeze/LZW.htmlhttp://www.cs.sfu.ca/CourseCentral/365/li/squeeze/LZW.html

LZWLZW

Huffman EncodingHuffman Encoding

1952 von Huffman entwickelt1952 von Huffman entwickelt stochastische Auswertung des stochastische Auswertung des

CodesCodes

BeispielBeispiel– http://www.cs.sfu.ca/CourseCentral/365/li/squeeze/http://www.cs.sfu.ca/CourseCentral/365/li/squeeze/

Huffman.htmlHuffman.html

Beispiel:

15 7 6 6 5A B C D E

„„Huffman-Baum“Huffman-Baum“

00

00

00

11

11

11

0011

Alphabet Huffman Code

A 0 B 100 C 101

D 110 E 111

AAAAA CCC AAAAA BBBBB EEEE AAAAA BBCCC DD DDDDE

Beispiel:

15 7 6 6 5A B C D E

„„Huffman-Baum“Huffman-Baum“

00

00

00

11

11

11

0011

Alphabet Huffman Code

A 0 B 100 C 101

D 110 E 111

0000010110110100000100100100100100111111111111...

CCITT EncodingCCITT Encoding

CCITT : International Telegraph CCITT : International Telegraph and Telephone Consultative and Telephone Consultative CommitteeCommittee

Speziel für 1-Bit-Daten entwickeltSpeziel für 1-Bit-Daten entwickelt für Fax und Modemfür Fax und Modem

CCITT EncodingCCITT Encoding

Drei verschiedene AlgorithmenDrei verschiedene Algorithmen

Group 3 1-dimensional (G31D)Group 3 1-dimensional (G31D)

Group 3 2-dimensional (G32D)Group 3 2-dimensional (G32D)

Group 4 2-dimensional (G42D)Group 4 2-dimensional (G42D)

Group 3 1-dimensional Group 3 1-dimensional (G31D)(G31D)

1. Anwendung RLE1. Anwendung RLE

2. Entnimmt Kodes festen 2. Entnimmt Kodes festen WertetabellenWertetabellen– basiert auf statischtische Erhebungenbasiert auf statischtische Erhebungen

basiert auf Huffman basiert auf Huffman KompressionsschemaKompressionsschema

Zeilenbreite muß bekannt seinZeilenbreite muß bekannt sein

Group 3 2-dimensional Group 3 2-dimensional (G32D)(G32D)

Erkennt unterschiede von eine Zeile zur Erkennt unterschiede von eine Zeile zur nächstennächsten

K-Faktor verhindert Fehler K-Faktor verhindert Fehler

2 2 k k 4 4

Group 4 2-dimensional Group 4 2-dimensional (G42D)(G42D)

enthält keine enthält keine korrekturmechanismenkorrekturmechanismen

hauptsächlich für Festplatten und hauptsächlich für Festplatten und Datennetzwerke gedacht Datennetzwerke gedacht

benötigt mehr Rechenkapazitätbenötigt mehr Rechenkapazität

DCTDCTDiskrete Cosinus Diskrete Cosinus TransformationTransformation

Verwandt mit Fourier-TransformationVerwandt mit Fourier-Transformation Ansatzpunkt menschliche Ansatzpunkt menschliche

WahrnehmungWahrnehmung hoher Rechenaufwandhoher Rechenaufwand

JPEG-AlgorithmusJPEG-Algorithmus

1. Änderung des Farbmodells RGB-->YUV 2. Unterabtastung (optional) 3. Blockbildung 8x8 4. Diskrete Cosinus-Transformation 5. Quantisierung 6. Zick-Zack-Scanning 7. Run-Level-Codierung (RLC*) 8. Variable Längencodierung (VLC)

(Huffman)

verlustbehaftet! verlustfrei

JPEG-AlgorithmusJPEG-Algorithmus

JPEG-AlgorithmusJPEG-Algorithmus

BeispielBeispiel 1 1– http://www.cs.sfu.ca/CC/365/li/interactive-jpeg/Ijpeg.htmlhttp://www.cs.sfu.ca/CC/365/li/interactive-jpeg/Ijpeg.html

Beispiel 2Beispiel 2– http://www.fh-jena.de/contrib/fb/et/personal/ansorg/dct/dct/http://www.fh-jena.de/contrib/fb/et/personal/ansorg/dct/dct/

applet.htmlapplet.html

JPEG-AlgorithmusJPEG-Algorithmus

Fraktale KompressionFraktale Kompression

Fraktale = sich wiederholende Muster Fraktale = sich wiederholende Muster 1970 erstmals von Mandelbrot 1970 erstmals von Mandelbrot

benutzt benutzt

Bild durch iterierte Funktion Bild durch iterierte Funktion beschreibenbeschreiben

““Selbstähnlichkeiten”Selbstähnlichkeiten”

Fraktale KompressionFraktale Kompression

Fraktale KompressionFraktale Kompression

extrem rechenintensivextrem rechenintensiv assymetrische Kompressionassymetrische Kompression

1988 von Barnsley erstmals 1988 von Barnsley erstmals vorgestelltvorgestellt

inzwischen stark verbessertinzwischen stark verbessert

Fraktale KompressionFraktale Kompression

nicht verlustfreinicht verlustfrei entfernt Bildinformationen unabhängig entfernt Bildinformationen unabhängig

von unsere Wahrnehmungvon unsere Wahrnehmung

geignet für Landschaften, Gesichter geignet für Landschaften, Gesichter etc.etc.

viele Patenteviele Patente

WaveletWavelet

1930 mathematische Grundlagen 1930 mathematische Grundlagen entwickeltentwickelt

basiert auf Wavelet-Transformationbasiert auf Wavelet-Transformation verschieden Funktion (nicht wie verschieden Funktion (nicht wie

DCT)DCT) ““Hoch- und Tiefpassfilter”Hoch- und Tiefpassfilter” nur in JPEG2000 verwendetnur in JPEG2000 verwendet

GrafikformateGrafikformate

..tiftif

..epseps

..jpgjpg

..jp2jp2

..gifgif

..pngpng

.pix.pix

.bmp.bmp

.fpx.fpx

.lwf.lwf

.pcx.pcx

.rtf.rtf

.wmf.wmf

.sun.sun

InternetInternetDruckvorstufeDruckvorstufe SonstigeSonstige HerstellerHersteller

TIFFTIFF Tagged Immage File FormatTagged Immage File Format

Windows:Windows: .tif.tif

Kompression:Kompression: ohne, ohne, RLE,RLE, LZW,LZW, CCITT CCITT Group 3 und 4, Group 3 und 4, JPEGJPEG

TIFFTIFF Tagged Immage File FormatTagged Immage File Format

Hersteller:Hersteller: Adobe System Inc.Adobe System Inc.

Entwickelt in Absprache mit:Entwickelt in Absprache mit: MicrosoftMicrosoft ver. Scanner und Druckerherstellerver. Scanner und Druckerhersteller

TIFFTIFF Tagged Immage File FormatTagged Immage File Format

Für den Austausch über Für den Austausch über Plattformgrenzen hinaus geeignetPlattformgrenzen hinaus geeignet

1986 erste Spezifikation1986 erste Spezifikation universel einsetzbaruniversel einsetzbar

EPSEPSEncapsulated PostScriptEncapsulated PostScript

Windows:Windows: .eps.eps

Kompression:Kompression: ohneohne JPEGJPEG

Hersteller:Hersteller: Adobe System Inc.Adobe System Inc.

EPSEPSEncapsulated PostScriptEncapsulated PostScript

SeitenbeschreibungsspracheSeitenbeschreibungssprache Einbettung von PixelgrafikenEinbettung von Pixelgrafiken

JPEGJPEGJoint Photographic Experts GroupJoint Photographic Experts Group

Windows:Windows: .jpg.jpg

Kompression:Kompression: DCT (JPEG)DCT (JPEG) (ohne)(ohne)

Hersteller:Hersteller: JPEGJPEG ISOISO

JPEGJPEGJoint Photographic Experts GroupJoint Photographic Experts Group

Ende der 80’ Jahre entwickeltEnde der 80’ Jahre entwickelt Einsatzgebiete:Einsatzgebiete:

Kompression über einen Faktor einstellbarKompression über einen Faktor einstellbar einfach in Hard- und Software integrierbareinfach in Hard- und Software integrierbar für Halbtonbilderfür Halbtonbilder

standard für Datenkompressionstandard für Datenkompression ““kein Dateiformat” kein Dateiformat”

JPEGJPEGJoint Photographic Experts GroupJoint Photographic Experts Group

hohe kompressionsratenhohe kompressionsraten– BildverlusteBildverluste

bis 1:4 bis 1:4 keinekeine ab 1:10 ab 1:10 wahrnehmbarwahrnehmbar 1:251:25 viele Artefakteviele Artefakte

nicht geeignet für Bilder mitnicht geeignet für Bilder mit großen einheitlichen Farbflächengroßen einheitlichen Farbflächen harten Kantenharten Kanten

JPEGJPEGJoint Photographic Experts GroupJoint Photographic Experts Group

JPEG, Qual.faktor 10 %:7,4 K

JPEG, verlustfrei komprimiert:123 K

JPEG2000JPEG2000

Windows:Windows: .jp2.jp2

Kompression:Kompression: WaveletWavelet

Hersteller:Hersteller: JPEGJPEG ISOISO

JPEG2000JPEG2000

1997 erste Entwürfe1997 erste Entwürfe 2000 Spezifikation an ISO 2000 Spezifikation an ISO

übergebenübergeben

ZieleZiele– höhere Kompressionraten als JPEGhöhere Kompressionraten als JPEG– auch verlustfreie Methode möglichauch verlustfreie Methode möglich– S/W BilderS/W Bilder

JPEG2000JPEG2000

möglich:möglich: ““Interlaced”Interlaced” ROI = Region of InterestROI = Region of Interest Kopierschutz per digitalem Kopierschutz per digitalem

WasserzeichenWasserzeichen

nicht möglich:nicht möglich: TransparenzTransparenz AnimationenAnimationen

GIFGIFGraphics Interchange FormatGraphics Interchange Format

Windows:Windows: .gif.gif

Hersteller:Hersteller: CompuserveCompuserve

Kompression:Kompression: LZWLZW

GIFGIF Graphics Interchange FormatGraphics Interchange Format

1987 von CompuServe 1987 von CompuServe veröffentlichtveröffentlicht

GIF87aGIF87a

1989 erweitert1989 erweitert GIF89aGIF89a

1994 Lizensschwierigkeiten1994 Lizensschwierigkeiten

GIFGIF Graphics Interchange FormatGraphics Interchange Format

Ungeignet für:Ungeignet für:– FarbverläufeFarbverläufe

HalbtonbilderHalbtonbilder

geignet für:geignet für:– wenig Farbenwenig Farben

z.B. Logosz.B. Logos

– harte Kanten harte Kanten z.B. Zeichnungz.B. Zeichnung

GIFGIF Graphics Interchange FormatGraphics Interchange Format

Farbpalette bis 8 BitFarbpalette bis 8 Bit unterstützt websichere Farbenunterstützt websichere Farben

DitheringDithering Mischung mehrere Punkte zu anderen Mischung mehrere Punkte zu anderen

FarbenFarben

TransparenceTransparence Alpha-Kanal wählbarAlpha-Kanal wählbar

InterlacedInterlaced Schrittweises Aufbauen des BildesSchrittweises Aufbauen des Bildes

PNGPNGPortable Network GraphicsPortable Network Graphics

Windows:Windows: .png.png

Hersteller:Hersteller: Thomas Boutell, Tom Lane u.a.Thomas Boutell, Tom Lane u.a. Massachusetts Institute of Technologiy (MIT)Massachusetts Institute of Technologiy (MIT)

Kompression:Kompression: LZ77 VarianteLZ77 Variante

PNGPNGPortable Network GraphicsPortable Network Graphics

1996 dem W3C-Konsortium 1996 dem W3C-Konsortium vorgelegtvorgelegt

Entwickelt aufgrund unklarer Entwickelt aufgrund unklarer Linzenssituation beim GIFLinzenssituation beim GIF

Ziele:Ziele: Soll gleiche Möglichkeiten wie GIF bietenSoll gleiche Möglichkeiten wie GIF bieten keine Lizenseinschränkungenkeine Lizenseinschränkungen einfache implementierungeinfache implementierung auf verschidenen Plattformen einsetzbar auf verschidenen Plattformen einsetzbar

PNGPNGPortable Network GraphicsPortable Network Graphics

möglich:möglich: 16 Bit-Farbtiefe 16 Bit-Farbtiefe InterlacingInterlacing TransparenzTransparenz verlustfreie Kompressionverlustfreie Kompression

nicht möglichnicht möglich AnimationenAnimationen

PNGPNGPortable Network GraphicsPortable Network Graphics

verwendet modifizierte LZW-verwendet modifizierte LZW-VarianteVariante

keine Tabellenkeine Tabellen Filtereinsatz zu verbesserung wählbarFiltereinsatz zu verbesserung wählbar

– NoneNone– SubSub– UpUp– AverageAverage– PeathPeath

PNGPNGPortable Network GraphicsPortable Network Graphics

Im Internet nicht etabliertIm Internet nicht etabliert Größere dateien als bei GIF und JPEG bei Größere dateien als bei GIF und JPEG bei

gleicher Qualitätgleicher Qualität– d.h. zur Zeit noch ungeeignet für Internetd.h. zur Zeit noch ungeeignet für Internet– erst ab 8-Bit Farbtiefe bei GIFerst ab 8-Bit Farbtiefe bei GIF

Interlaced erhöht Dateigröße um 35 % Interlaced erhöht Dateigröße um 35 % (bei GIF nur ca. 5%)(bei GIF nur ca. 5%)

erst ab Netscape 4.7 und 6.0 sowieerst ab Netscape 4.7 und 6.0 sowieInternet Explorer 5.5 unterstützt (ohne Internet Explorer 5.5 unterstützt (ohne Plugin)Plugin)

– Transparenz nicht / kaum möglichTransparenz nicht / kaum möglich

PIXPIX

InhaltsfolieInhaltsfolie

BMPBMP

InhaltsfolieInhaltsfolie

FPXFPX

InhaltsfolieInhaltsfolie

LWFLWF

InhaltsfolieInhaltsfolie

PCXPCX

InhaltsfolieInhaltsfolie

RTFRTF

InhaltsfolieInhaltsfolie

WMFWMF

InhaltsfolieInhaltsfolie

SUNSUN

InhaltsfolieInhaltsfolie

EndeEnde