Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Medien- Technik Dateiformate für Rasterbilder.bmp.tiff. pcx.png.jpeg.

Ähnliche Präsentationen


Präsentation zum Thema: "Medien- Technik Dateiformate für Rasterbilder.bmp.tiff. pcx.png.jpeg."—  Präsentation transkript:

1 Medien- Technik Dateiformate für Rasterbilder.bmp.tiff. pcx.png.jpeg

2 Medien- Technik Windows Bitmap BitmapFileHeader BitmapInfoHeader RGBQuad array Color-Index array Dateiaufbau.BMP typedef struct tagBITMAPFILEHEADER { WORD bfType; BM Magic numberbfType DWORD bfSize; DateigrößebfSize WORD bfReserved1; 0bfReserved1 WORD bfReserved2; 0bfReserved2 DWORD bfOffBits; Offset Color IndexbfOffBits } BITMAPFILEHEADER, *PBITMAPFILEHEADER; typedef struct tagBITMAPINFOHEADER{ DWORD biSize; Länge des HeadersbiSize LONG biWidth; Breite in PixelbiWidth LONG biHeight; Höhe in Pixel + - biHeight WORD biPlanes; Muss 1 sein !biPlanes WORD biBitCount Bit pro Pixel (1-32)biBitCount DWORD biCompression; ohne RLE JPEG PNGbiCompression DWORD biSizeImage; Datei- PuffergrößebiSizeImage LONG biXPelsPerMeter; AusgabeauflösungbiXPelsPerMeter LONG biYPelsPerMeter;biYPelsPerMeter DWORD biClrUsed; 0 oder Anzahl FarbenbiClrUsed DWORD biClrImportant; 0 oder wichtige F.biClrImportant } BITMAPINFOHEADER, *PBITMAPINFOHEADER; DWORD 32 Bit o. Vz. LONG 32 Bit mit Vz. WORD 16 Bit o. Vz.

3 Medien- Technik Windows Bitmap BitmapFileHeader BitmapInfoHeader RGBQuad array Color-Index array Dateiaufbau.BMP... DWORD bV4RedMask; RGB-Rot DWORD bV4GreenMask; RGB-Grün DWORD bV4BlueMask; RGB-Blau DWORD bV4AlphaMask; Transparenz Farbe DWORD bV4CSType; Art des Farbraumes ( CIEXYZTRIPLE bV4EndPoints; CIE-Farbdreieck DWORD bV4GammaRed; Gamma für jede Farbe DWORD bV4GammaGreen; DWORD bV4GammaBlue;bV4RedMaskbV4GreenMaskbV4BlueMaskbV4AlphaMaskbV4CSTypebV4EndPointsbV4GammaRedbV4GammaGreenbV4GammaBlue Ab Windows 95 erweiterter BitmapV4InfoHeader: DWORD bV5Intent; DWORD bV5ProfileData; Internes oder DWORD bV5ProfileSize; externes Farbprofil DWORD bV5Reserved; } BITMAPV5HEADER, *PBITMAPV5HEADER;bV5IntentbV5ProfileDatabV5ProfileSizebV5Reserved Win 95 Win 98 LogColorSpace Calibrated RGB sRGB linked profile embedded profile Windows Ab Windows 98/2000 erweiterter BitmapV5InfoHeader:

4 Medien- Technik Windows Bitmap BitmapFileHeader BitmapInfoHeader RGBQuad array Color-Index array Dateiaufbau.BMP typedef struct tagRGBQUAD { BYTE rgbBlue;rgbBlue BYTE rgbGreen;rgbGreen BYTE rgbRed;rgbRed BYTE rgbReserved; = 0rgbReserved } RGBQUAD; Palette Farbwerte oder Farbindizes zeilenweise von links nach rechts von unten nach oben (Höhe positiv) von oben nach unten (Höhe negativ) ggfs. Komprimiert Doppelwortausrichtung jeder Zeile

5 Medien- Technik Windows Bitmap RGB-Bitmap 10*8 Höhe*Breite Höhe Ebenen Bits/Pixel Zeile 8 Magic number Dateilänge Offset

6 Medien- Technik Windows Bitmap Run-Length Encoding Lauflängen-Kodierung RLE8: für 8-Bit-Bitmaps (256 Graustufen oder 256 Palettenfarben): Encoded mode: 1. Byte = Wiederholungsfaktor 2. Byte = zu wiederholender Farbwert oder -index Sonderfall:1. Byte = 00 (Fluchtsymbol, Escape-Zeichen) und2. Byte = 00 Zeilenende oder2. Byte = 01 Ende des Bitmaps oder2. Byte = 02 Die nächsten 2 Bytes enthalten einen Offset, ab dem es dann weitergeht oder2. Byte >= 3: soviele Bytes kommen unverschlüsselt Jeder Lauf auf Wortgrenze ausgerichtet 03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01 02 78 00 00 09 1E 00 01 04 04 04 06 06 06 06 06 45 56 67 78 78 5 rechts 1 runter 78 78 (eol) 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E eobm RLE4 auf Nibbles

7 Medien- Technik Codetabelle 01: 02: 03: 04: 05: 06: 07: 08: 09: Codetabelle initialisieren Präfix = Lese nächstes Zeichen A Muster = Präfix + A Muster in Codetabelle ? Muster in Codetabelle eintragen LZW-Code von Präfix ausgeben Präfix = A Präfix = Muster LZW-Code von Präfix ausgeben Ende Lempel Ziv Walsh nein ja Idee: Silben oder Muster erkennen und codieren Präfix: Muster: Output: Anwendung: GIF und TIFF Grafik-Formate

8 Medien- Technik Codetabelle 01:A 02:B 03:C 04:D 05: 06: 07: 08: 09: Codetabelle initialisieren Präfix = Lese nächstes Zeichen A Muster = Präfix + A Muster in Codetabelle ? Muster in Codetabelle eintragen LZW-Code von Präfix ausgeben Präfix = A Präfix = Muster LZW-Code von Präfix ausgeben Ende nein ja Präfix: Muster: Output: Beispiel: A B C A B C A B C A B C D =A=A A

9 Medien- Technik Codetabelle 01:A 02:B 03:C 04:D 05: 06: 07: 08: 09: Codetabelle initialisieren Präfix = Lese nächstes Zeichen A Muster = Präfix + A Muster in Codetabelle ? Muster in Codetabelle eintragen LZW-Code von Präfix ausgeben Präfix = A Präfix = Muster LZW-Code von Präfix ausgeben Ende nein ja Präfix: Muster: Output: Beispiel: A B C A B C A B C A B C D A =AB AB 01 =B=B B

10 Medien- Technik Codetabelle 01:A 02:B 03:C 04:D 05:AB 06: 07: 08: 09: Codetabelle initialisieren Präfix = Lese nächstes Zeichen A Muster = Präfix + A Muster in Codetabelle ? Muster in Codetabelle eintragen LZW-Code von Präfix ausgeben Präfix = A Präfix = Muster LZW-Code von Präfix ausgeben Ende nein ja Präfix: Muster: Output: 01 Beispiel: A B C A B C A B C A B C D B =BC BC 02 =C=C C

11 Medien- Technik Codetabelle 01:A 02:B 03:C 04:D 05:AB 06:BC 07: 08: 09: Codetabelle initialisieren Präfix = Lese nächstes Zeichen A Muster = Präfix + A Muster in Codetabelle ? Muster in Codetabelle eintragen LZW-Code von Präfix ausgeben Präfix = A Präfix = Muster LZW-Code von Präfix ausgeben Ende nein ja Präfix: Muster: Output: 01 02 Beispiel: A B C A B C A B C A B C D C =CA CA 03 =A=A A

12 Medien- Technik Codetabelle 01:A 02:B 03:C 04:D 05:AB 06:BC 07: 08: 09: Codetabelle initialisieren Präfix = Lese nächstes Zeichen A Muster = Präfix + A Muster in Codetabelle ? Muster in Codetabelle eintragen LZW-Code von Präfix ausgeben Präfix = A Präfix = Muster LZW-Code von Präfix ausgeben Ende nein ja Präfix: Muster: Output: 01 02 Beispiel: A B C A B C A B C A B C D C =AB CA 03 AB

13 Medien- Technik Codetabelle 01:A 02:B 03:C 04:D 05:AB 06:BC 07: 08: 09: Codetabelle initialisieren Präfix = Lese nächstes Zeichen A Muster = Präfix + A Muster in Codetabelle ? Muster in Codetabelle eintragen LZW-Code von Präfix ausgeben Präfix = A Präfix = Muster LZW-Code von Präfix ausgeben Ende nein ja Präfix: Muster: Output: 01 02 Beispiel: A B C A B C A B C A B C D C =CA CA 03 =A=A A

14 Medien- Technik LZW-Komprimierung A AB BC CA AB ABC CA CAB BC BCA AB ABC ABCD hat Code neu AB=04 neu BC=5 neu CA=6 hat Code neu ABC=7 hat Code neu CAB=8 hat Code neu BCA=9 hat Code hat Code neu Ausgabe 01 01 02 01 02 03 01 02 03 01 02 03 04 01 02 03 04 01 02 03 04 06 01 02 03 04 06 01 02 03 04 06 05 01 02 03 04 06 05 01 02 03 04 06 05 01 02 03 04 06 05 07 04 A B C D A B C D AB A B C D AB BC A B C D AB BC CA A B C D AB BC CA A B C D AB BC CA ABC A B C D AB BC CA ABC A B C D AB BC CA ABC CAB A B C D AB BC CA ABC CAB A B C D AB BC CA ABC CAB BCA A B C D AB BC CA ABC CAB BCA A B C D AB BC CA ABC CAB BCA A B C D AB BC CA ABC CAB BCA Erkannte PräfixeAktion ABCABCABCABCD Präfixtabelle begrenzen 4096 Präfixtabelle kann bei bekannter Codierungsstrategie rekonstruiert werden Muster:

15 Medien- Technik GIF Graphics Interchange Format Compuserve, 1987-89Palettenbilder mit max. 256 Einträgen Mehrere Teilbilder LZW-Komprimierung (Patent Unisys) Transparenz (1 Stufe) 1D-Interlacing www.cdrom.com/pub/png Portable Network Graphics PNG spec 1.0 released as Informational RFC 2083 (IETF) RGB-Bilder Graustufenbilder Palettenbilder Kompression Variable Transparenz 2D-Interlacing Farbraum-Unterstützung Say ping !

16 Medien- Technik PNG Alpha-Kanal: Maß der Deckkraft RGBA als 4. Byte A=0 durchsichtig A=2 Bittiefe -1 opak Korrekter Schatten auf jedem Hintergrund ! Progressiver Bildaufbau Alpha-Kanal des GIF-Formates ordnet jedem Pixel das Attribut Transparent / nicht transparent zu. Alpha-Kanal des PNG-Formates ordnet jedem Pixel Deckkraft zu. Transparenz

17 Medien- Technik PNG Transparenz

18 Medien- Technik PNG Transparenz Hintergrund Vordergrund Alpha-Kanal

19 Medien- Technik PNG Progressivität Interlacing 1 6 4 6 2 6 4 6 7 7 7 7 5 6 5 6 7 7 7 7 3 6 4 6 7 7 7 7 5 6 5 6 7 7 7 7 Gif-Interlacing 1. Schritt: jede 8. Zeile, Start: 0 2. Schritt: jede 8. Zeile, ab 4 3. Schritt: jede 4. Zeile, ab 2 4. Schritt: alle ungeraden Reihenfolge des Erscheinens der Pixel Adam7

20 Medien- Technik PNG: Dateistruktur PNG-Signatur: 137 80 78 71 13 10 26 10 (dezimal) \211 P N G \r \n \032 \n Chunks IEND IHDR LängeTyp DatenCRC Alle Bytes in Network Byte Order (Little Endian) Alle Integer-Werte 31 Bit, höchstes 0

21 Medien- Technik PNG: Chunks IHDR Width: 4 bytes Height: 4 bytes Bit depth: 1 byte Color type: 1 byte Compression method: 1 byte Filter method: 1 byte Interlace method: 1 byte Color type 1 Bild hat Palette 2 Bild hat Farbe 4 Bild hat Alphakanal sinnvolle Kombinationen 0,2,3,4,6 Bittiefen: 1,2,4,8,16 für Graustufen 1,2,4,8 für Palettengröße 8,16 für RGB, RGBA, Grau+A Filter: verlustfreie Transformation pro Zeile z.B. Differenz zum Vorgängerpixel Compression 0: ähnlich LZ77 (zip, gzip, pkzip) zlib, RFC 1950

22 Medien- Technik PNG: Chunks IDAT: Zeilenweise, vor jeder Zeile Filterbyte (None = 0), komprimiert mit zlib. PLTE: Bis zu 256 8 oder 16-Bit tiefe RGB-Werte gAMA: sample = lightout^gamma sample, lightout [0..1] 4 Byte Gamma-Wert, interpretiert als Gamma*100.000 Beispiel: 1/2.2 = 45455 cHRM: (Chroma) Weißpunkt (x,y) nach CIE Rot (x,y) Grün (x,y) Blau (x,y) x,y als 4 Byte Festkommazahlen mit 5 Dezimalen

23 Medien- Technik PNG: Chunks sRGB: (1 Byte) 0: Perceptual 1: Relative colorimetric 2: Saturation 3: Absolute colorimetric tRNS: Für einfache Transparenz, besteht aus (je nach Bildart) n einem Farbwert für Truecolor-Bilder n einem Grauwert für Graufstufenbilder n einer Alpha-Palette, die jeder Palettenfarbe einen Alpha-Wert zuordnet. Weitere Chunks pHYs (Pixelgröße)sPLT (suggested Palette)sBIT (signifcant Bits) tIME (Zeit)iTXt (international Text)sKGD (Background) tEXt zTXt (zipped text) hIST (histogramm)iCCP (color profile)pivate Chunks

24 Medien- Technik Vorlesung Medientechnik WS 1999/2000 Dr. Manfred Jackel Studiengang Computervisualistik Institut für Informatik Universität Koblenz-Landau Rheinau 1 56075 Koblenz © Manfred Jackel E-Mail:jkl@uni-koblenz.dejkl@uni-koblenz.de WWW:www.uni-koblenz.de/~jklwww.uni-koblenz.de/~jkl mtech.uni-koblenz.de Literatur zu diesem KapitelHyperlinks zu diesem Kapitel http://www.libpng.org/pub/png/ Grafik-Quellen


Herunterladen ppt "Medien- Technik Dateiformate für Rasterbilder.bmp.tiff. pcx.png.jpeg."

Ähnliche Präsentationen


Google-Anzeigen