grafikkomprimierung andreas pretzsch inhalt allgemein algorithmen grafikformate
TRANSCRIPT
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
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
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
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
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