Kompression und Datenformate.key
Transcrição
Kompression und Datenformate.key
Sinnvoll beim Auftreten von stark redundanten Datenmustern, wie z. B. flächige Farben Verwendung eines Kennzeichens zur Unterscheidung von Wiederholungsfaktor und Datenwort (z. B. 0). Einfachwiederholung zur Darstellung des Kennzeichen als Datenwort. Beispiel: – Originaldaten: – RLE-Kodierung: RLE, LZW, Huffmann, CCITT, ZIP 12341114222278555557888888888966666603744 1234031404278055709890660103744 wobei die ''0'' das Wiederholungskennzeichen ist. Formate: TIFF, PCX Kompression • Verlustfreie Verfahren Urprungsformat 1977 von Abraham Lempel und Jakob Ziv »LZ77« Verwendung in Textverarbeitungsprogrammen, dem UNIX-Programm »compress«, in den Paketen »zoo«, »lha«, »pkzip«, und »arj«. Modifizierter »LZ78« Algorithmus für Binärdateien und Bitmaps. 1984 Modifikation des »LZ78« durch Terry Welch bei Unisys für »high-performance disc controller« in den heute bekannten »LZW« Algorithmus. Stufenweise Erstellung eines Wörterbuches (Übersetzungstabelle) aus dem Datenstrom (substitutions- oder wörterbuchbasierender Algorithmus) Algorithmus war bis 2007 patentgeschützt (Compuserve/Unisys) Kompression • Verlustfreie Verfahren Folie 27 Folie 26 Kompression: Dekompression: set w = NIL read a character k output dictionary entry for k w = k loop read a character k entry = dictionary entry for k output entry add dictionary entry for w + first char of entry to the dictionary w = index of entry endloop loop read a character k if wk exists in the dictionary w = wk else output the code for w add wk to the dictionary w = k endloop Kompression • Verlustfreie Verfahren Folie 28 Beispiel: – Originaldaten: ABACABA... – LZW-Kodierung: 010240... Vorteil: Tabelle muss nicht mit übertragen werden Formate: Index 0 1 2 3 4 5 6 7 8 Substring A B C D AB BA AC CA ABA GIF, TIFF, PostScript Level 2, V.42bis Modemkompression JPEG, PNG, MP3, MPEG Kompression • Verlustfreie Verfahren Folie 29 Kommunikationsprotokolle für die Übermittlung von Schwarzweiß - Bildern »CCITT T.4« entspricht »CCITT Group 3«-Kompression (Fax) »CCITT T.6« entspricht »CCITT Group 4«-Kompression (1-Bit-Bildformate) Vorgegebene Codetabelle, die durch die CCITT aus einer Sammlung von Referenzdokumenten mit Bildern und Texten gewonnen wurde CCITT-Kodierung ist eine Art Spezialfall der »Huffman-Kompression« Kompressionsverhältnis von 5:1 bis 8:1 bei »Group 3« bei Auflösung von 200dpi (204x196dpi) auf DIN-A4 Seiten »Group 4« erzielt um das doppelte verbesserte Ergebnisse Beispiele: David A. Huffman 1952 Erstellung einer Tabelle mit variabler Wortlänge (Kodierung auf Bitebene) Häufige Werte erhalten kurze Tabellenworte Aufteilung eines Dokumentes in mehrere Blöcke „Nachteil“: Tabelle der Kodierung muss übermittelt werden Beispiele: Details: Vgl. VL ADS Kompression • Verlustfreie Verfahren Folie 30 Archivierungs- und Kompressionsformat – Containerformat – Zugriff auf einzelne Dateien und Pfade möglich 9 verschiedene Stufen/Kompressionen möglich Verbreitet ist der DEFLATE-Algorithmus – Kombination von LZW-Kompression und Huffman-Codierung Beispiele: PKzip, GZIP, Acrobat, TIFF, OpenDocument Fax, TIFF Kompression • Verlustfreie Verfahren Folie 31 Kompression • Verlustfreie Verfahren Folie 32 »Joint Photographic Experts Group« ist ein Standardisierungskomitee der »International Standard Organization« (ISO) und der »International Telecommunication Union« (ITU). JPEG ist ein Zusammenschluß der ISO-PEG (»Photographic Experts Group«) »Entwicklung von Methoden zur effizienten Transmission von Text und Standbildern über ISDN-Verbindungen« (1987) und einer Untergruppe der CCITT (umbenannt in ITU) »Entwicklung von Kompression für Grauwertbildern bei FAX-Übertragungen« (1986) Beispiel: JPEG-Verfahren, Wavelet-Verfahren Kompression • Verlustbehaftete Verfahren JPEG ist keine eigenständige Kompressionsmethode – Bibliothek parametrisierbarer Algorithmen, die den Grad der Kompression und den Grad der entstehenden Verluste steuern (Qualitätsfaktor Q=1 hoher Verlust; Q = 100 geringer Verlust) JPEG Kompression für Fotomotive geeignet – JPEG-Kompression entworfen für farbige oder grauwertbehaftete Abbildungen von natürlichen Objekten (typisch Fotos) – Bilder mit mindestens vier oder fünf Bit Auflösung pro Pixel. – JPEG benötigt Bilder, bei denen sich benachbarte Pixel nicht allzu stark unterscheiden. Folie 34 »Psychovisuelle Kompression« – Kleine Änderungen im Farbton registriert das menschliche Auge nicht so sehr wie kleine Helligkeitsänderungen. Dadurch Reduktion der Farben möglich. Kompression • Verlustbehaftete Verfahren Folie 35 Die JPEG-Kompression zerfällt in 5 Einzelschritte: 1. Transformation des Bildes aus RGB in einen geeigneten Farbraum (Standard: YUV) 2. Herunterskalieren der Farbtonkomponenten durch Mittelung über mehrere Pixel 3. Anwendung der diskreten Cosinustransformation (DCT) 4. Gewichtung (Quantisierung) der Koeffizienten der DCT 5. Codierung der gewichteten Koeffizienten mit variabler Wortlänge (Hufmann) Kompression • Verlustbehaftete Verfahren Folie 36 1 Kanal für Helligkeit Y = Luminanz = 0,299 R + 0,587 G + 0,114 B 2 Kanäle für Farbinformationen U = ChrominanzB = B - Y Herunterskalieren der Farbtonkomponenten durch Mittelung über mehrere Pixel V = ChrominanzR = R - Y Zusammenfassung benachbarter, nahezu gleichfarbiger Pixelwerte (»Psychovisuelle Kompression«) Kompression • Verlustbehaftete Verfahren Folie 37 Folie 38 • DCT Funktion wandelt Intensitätswerte in Frequenzwerte (verlustfrei!!!) • Frequenzwert beschreibt die Änderung der Details eines Macro-Blocks •Zerlegung der jeweils drei Kanäle (YUV oder YIQ oder RGB) in Blöcke von 8 x 8 Pixeln Kompression • Verlustbehaftete Verfahren Kompression • Verlustbehaftete Verfahren – Hohe Detailänderung = hohe Frequenz = Werte im Bereich 0 – Geringe Detailänderung = niedrige Frequenz = große Werte Folie 39 Kompression • Verlustbehaftete Verfahren Folie 40 Ermittlung von jeweils 64 Koeffizienten anhand von 64 Basisfunktionen der DCT F(x) Division der 64 Koeffizienten durch die Quantisierungstabelle und ganzzahlige Rundung Die Quantisierungstabelle berücksichtigt die Farb- und Helligkeitsempfindlichkeit des Auges Verkleinerung des Wertebereiches, viele Koeffizienten werden Null Qualitätsfaktor wird mit der Quantisierungstabelle multipliziert DIV = quantisation matrix Kompression • Verlustbehaftete Verfahren Folie 41 Blockübergreifende Codierung der Koeffizienten Verwendung von Huffmann Codes mit variabler Wortlänge Kompression • Verlustbehaftete Verfahren Folie 42 Sequentiell Auch Baseline Modus genannt Progressiv Zunächst werden die wichtigsten Bits aller AC Koeffizienten übertragen (approximative Übertragung) Hierarchisch Bild wird zunächst in grober Auflösung codiert, die nächstfeinere Auflösung wiederum wird nur als Differenz zur gröberen übertragen usw. Kompression • Verlustbehaftete Verfahren Folie 43 Kompression • Verlustbehaftete Verfahren Folie 44 Kompression • Verlustbehaftete Verfahren Folie 45 • JPEG teilt Bild in Makroblöcke, Frequenztransformation blockweise • Wavelet transformiert gesamtes Bild in den Frequenzraum (Koeffizienten) • Koeffizienten leichter zu komprimieren, Die JPEG-Standardisierung ist kein »starres« Kompressionsverfahren sondern definiert nur die algorithmischen Grundprinzipien Die konkrete Implementierung bleibt flexibel (Farbmodell, Quantisierungstabellen, Koeffizientenkodierung, usw.) – Information auf einige wenige Koeffizienten konzentriert – Dieses Prinzip heißt auch Transform Coding. • Koeffizienten werden quantisiert und die quantisierten Werte entropiekodiert und/oder lauflängenkodiert. JPEG 2000 (www.jpeg.org/JPEG2000.htm) – – – – – – Folie 46 Ergänzung zum JPEG-Format Wavelet Transformation an Stelle der DCT (keine Block-Artefakte mehr) Verlustfreie Kompression möglich Compound Documents (verschiedene Auflösungen innerhalb eines Bildes) Verschlüsselung und Zusatzinformationen Alpha-Kanäle Kompression • Verlustbehaftete Verfahren Folie 47 Kompression • Verlustbehaftete Verfahren Folie 48 Kompression • Verlustbehaftete Verfahren Folie 49 Kompression • Verlustbehaftete Verfahren Rasterformate Vektorformate Kompression • Verlustbehaftete Verfahren Folie 51 Folie 50 Wie lassen sich Datenformate klassifizieren? Was gibt es für gängige Formate? Wie sind diese Formate aufgebaut? Für welchen Zweck eignen sich die Formate? Foto-/Rasterformate – TIFF, GIF, PNG, JPEG/JFIF/EXIF... Grafik-/Vektorformate – DXF, HPGL, EPSF, SVG, ... Bilddateiformate Folie 53 Bilddateiformate Folie 54 Speicher sparen Schnelles Öffnen und Speichern Kompatibilität: Austauschbarkeit und Verwendbarkeit mit verschiedenen Programmen und Betriebssystemen Verwendbarkeit für das World Wide Web Verwendung von Ebenen, Alphakanälen u.a. TIFF, GIF, BMP, PNG Bildformate • Rasterformate Folie 56 Rasterung – Digitalisierung/Scannen eines Bildes – Bildung von Pixelwerten mit Helligkeitsund/oder Farbwerten Auflösung – 72-100 dpi Bildschirm – 300-1200 dpi Laserdrucker – 1200-2400 dpi Fotosatz-Belichter Beispiel: 72dpi 300dpi 1200dpi 2400dpi 500fache Vergrößerung Bildformate • Rasterformate Folie 57 Bildgröße Farbtiefe – Anzahl der Farben insgesamt oder pro (Farb-)Kanal Farbmodelle – RGB, CMYK, HSB, LAB, YUV, YIQ Folie 58 Header oder Trailer – Abmessung in cm oder Pixel in Abhängigkeit von der Auflösung – Grösse des Bildes hat unmittelbaren Einfluss auf die Dateigröße Bildformate • Rasterformate Kanäle – Farbkanäle, z. B. RGB, ... – Alphakanäle, z. B. Masken, Transparenz, ... – Volltonkanäle, z. B. Gold, Pantone, ... Bildformate • Rasterformate – Dateiidentifikation z. B. »GIF« (GIF), »%!« (PostScript), »0x59a66a95h« (Sun Raster) – Dateiversion z. B. »GIF87a«, »GIF89a« – Anzahl der Zeilen pro Bild – Anzahl der Pixel pro Zeile – Anzahl der Bit pro Pixel – Anzahl der Farbebenen – Art der Kompression Beispiel GIF – Kommentartext, ... Datenteil Folie 59 Header LSD GCM Extension Data Term Bildformate • Rasterformate Folie 60 Am weitesten verbreitetes und am häufigsten unterstütztes Print-Format Unterstützt die LZW Komprimierung (20-50% Speicherersparnis) Unterschiedliche Kodierung im Mac/PC-Format Bildformate • Rasterformate TIFF-Dateien zerfallen in drei Hauptbestandteile – Image File Header (IFH) markiert eine Tiff-Datei – File Directory (IFD) enthält eine beliebige Liste von »tags« mit Pointern – Bitmapdaten Folie 61 Neben LZW werden weitere Verfahren zur Datenverdichtung angeboten (Erweiterte TIFF-Speicherungsoptionen): – Verlustlose ZIP-Kompression (geringfügig effektiver als LZW) – PACKBITS- Export (RLC) – Verlustbehaftete JPEG-Kompression (nicht für mehrere Ebenen) Bildformate • Rasterformate Unterstützung von Transparenz. Bildpyramide für schnellere Bildübersicht bei großen Dateien. Folie 62 Entwicklung durch CompuServe zur WEB-Übertragung GIF, das erste Streamingformat ??? Nur 256 Farben! Unterstützung von Transparenz Kompression immer LZW ACHTUNG: Das erweiterte TIFF-Format wird nicht von allen Anwendungen unterstützt. Bildformate • Rasterformate Folie 63 Animated GIF: Standard für kleine Filme im WEB In allen Internet-Browsern darstellbar Geeignet vor allem für plakative Grafiken (Schriftzüge, Logos, Zeichnungen, Bildschirmfotos etc.) Bildformate • Rasterformate Folie 64 Folge von Datenpaketen (Blocks) und Protokollinformationen Pixeltiefe zwischen 1 und 8 Bit, Palette im RGB-Farbmodell Versionen – GIF87a (Ursprungsformat, Mai 1997) – GIF89a (Ermöglicht Definition von Erweiterungsblöcken, z. B. für Kommentare, Transparenzangaben, usw.) Bildformate • Rasterformate »ping« wurde speziell für das WEB-Publishing entworfen Bis zu 48-Bit Farbtiefe und 16 Bit Graustufen und Transparenz Alpha-Kanäle Gamma-Korrektur 2-dimensionales Interlacing Lizenzfreie verlustfreie Kompression: Huffman Eher begrenzte Verbreitung im WEB www.w3.org/graphics/PNG/overview.html Folie 65 Bildformate • Rasterformate Folie 66 JPEG-Dateiformat, basiert auf JPEG-Kompression Farbtiefe von 8 und 24 Bit, Thumbnail-Preview möglich Tags für Copyright- & Dateiinformationen (IPTC-Informationen) Tags für Farbprofile zum Farbmanagement (ICM-Daten) Windows - OS/2 System-Grafikformat (Icons, Mauszeiger, ...) 1 bis 24-Bit Farbtiefe Datei besteht aus Frame Header – Bitmap-file header, Bitmap-information header, Farbtabelle, – Bitmap-Bits (Anordnung der Bitmapdaten) Verlustfreie Kompression (RLE) Sample Precision Bit/Pixel Width, Height Breite und Höhe in Pixel # of components Anzahl der Komponenten ID Eindeutige Benennung Horizontal/Vertical Sampling Factor Auflösung Quantisation Table Scan Header # of components Anzahl der Komponenten Component ID Eindeutige Benennung Huffman Table Bildformate • Rasterformate Folie 67 Bildformate • Rasterformate Folie 68 JPEG-Variante mit Zusatzinformationen für Digitalkameras Informationsfelder (Tags) für Kameraeinstellungen Blende, Belichtungszeit, Weißabgleich, GPS-Koordinaten DXF, IGES, HPGL, EPSF, SVG Bildformate • Rasterformate Folie 69