Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Computergrafik Grafikformate PNG und GIF Stefan Hubertus.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Computergrafik Grafikformate PNG und GIF Stefan Hubertus."—  Präsentation transkript:

1 Seminar Computergrafik Grafikformate PNG und GIF Stefan Hubertus

2 Um was geht es?  Rasterformate (Bitmaps) –Pixel mit Koordinaten und Farbwert  Internetgerechte Speicherformate –Verlustfreie Kompression –Plattform- und Geräteunabhängig –Interlaced Modus (grobe Bildvorschau)

3 Die LZW-Komprimierung Lempel, Ziv, Welch  Kodiert beliebige Zeichenfolgen  Wörterbuchbasierte Kodierung –Zeichenketten durch Kürzel dargestellt und in Wörterbuch geschrieben –Wörterbuch kann aus der Codierung rekonstruiert werden  Einträge im Lexikon über 12 Bit langen Index ansprechbar –Maximal 2 12 = 4096 Einträge  Einfacher Algorithmus

4 Algorithmus in Worten (abbbcab) 1. Indiziere alle Zeichen im Text (ASCII) 2. Hole nächstes Zeichen (falls vorhanden) a.Falls diese(s) schon im Lexikon, hole nächstes Zeichen und hänge es an. Wdh. solange bis ein Wort entsteht welches nicht im Lexikon existiert b.Gebe Index für das Wort ohne sein letztes Zeichen aus c.Hänge neues Wort an das Lexikon an d.Merke Dir letztes Zeichen des Wortes 3. Gehe zu 2. wobei dessen neues Zeichen an das gemerkte angehängt wird, bis keine Zeichen mehr vorhanden ist.

5 Dekodierung in Worten 1. Init Lexikon für alle Zeichen 2. Lese Indexe solange es welche gibt Fall1 : Index im Lexikon => einfach ersetzen Fall2 : Index nicht im Wörterbuch. (Nur möglich bei zkzkz Kombination : z = Zeichen, k = beliebige Kette.) => letztes Wort + 1.Zeichen letztes Wort = Ausgabe 3. Wenn der n-te Code interpretiert ist, erweitere das Lexikon mit dem Wort n-1 und dem ersten Zeichen des n-ten Wortes und fahre fort mit 2.

6 LZ77-Algorithmus Lempel und Ziv  Gleitendes Fenster konstanter Größe (32kB) –Vorschaupuffer (noch zu komprimieren) –Textfeld (Wörterbuch)  Es entstehen 3-Tupel 1.Position des Eintrags im Fenster 2.Länge der zu kopierenden Daten 3.Das darauf folgende Zeichen (Um auch neue Daten in das Lexikon schreiben zu können)  Einstellbare Parameter –Fenstergröße –Suchintensität

7 Beispiel zur Kodierung Ananas Wörterbuchfenster Vorschau =>(0,0,A) =>(0,0,N) =>(7,2,A) =>(0,0,S) =>fertig ANAN ANANA ANANAS ANANAS ANANAS

8 Beispiel zur Dekodierung (0,0,A);(0,0,N);(7,2,A);(0,0,S) (0,0,A) (0,0,N) (7,2,A) (0,0,S) A AN ANANA ANANAS

9 Huffman-Codierung (Entropiecodierung)  Ziel : Kurzmöglichste Darstellung ohne Informationsverlust  Weg : Häufigstes Zeichen => kürzester Code |Text| = Σ Zeichen Text * #Zeichen Text  Präfixfrei und Eindeutig bei der Decodierung  Der Algorithmus in Worten: 1.Sei jedes Zeichen ein Wurzelknoten mit Gewicht = # Vorkommen im Text 2. Die 2 Knoten/Bäume mit dem geringsten Gewicht zusammen an neuen Vater hängen 3. Wiederholen bis nur noch ein Baum existiert

10 Geschichtliches 1977 LZ77 (Komprimierungsalgorithmus) wird von Abraham Lempel und Jacob Ziv entwickelt 1978 LZ78 als Variante weiterentwickelt 1981 LZ78 wird patentiert 1983 LZW von Terry A. Welch (Sperry Corporation) patentiert (Ähnlichkeit zu LZ78 wurde nicht erkannt) 1987 GIF 87a als freie und offene Spezifikation 1989 CompuServe stellt GIF 89a vor

11 Geschichtliches 1994 Unisys fordert für kommerzielle Nutzung von LZW Gebühren 1995 PNG in Diskussionsforen gegründet, erhält Unterstützung von CompuServe, W3C veröffentlicht PNG-Spezifikation 0.92 als öffentliches Arbeitsdokument 1997 Netscape 4.04 und IE 4.0 unterstützen PNG 1999 Auch für nichtkommerzielle Nutzung des LZW werden Gebühren erhoben 2003 GIF-Patent von Unisys läuft in Amerika aus 2004 Patentende auch in Europa, Japan und Kanada

12 GIF-Eigenschaften Graphics Interchange Format  Rastergrafikformat  1 bis 8 Bit (= 256 Farben)  Max. Bildgröße x Pixel  Mehrere Bilder pro Datei speicherbar (Animationen)  LZW- Kompression (verlustfrei)  Zusatzinformationen speicherbar (Text, Kommentare,..)  Stark verbreitet

13 GIF-Eigenschaften Graphics Interchange Format

14 Interlaced Modus bei GIF Arbeitet in 4 Schritten : 1.Jede 8. Zeile ab Zeile 0 => (0, 8,16,..) 2.Jede 8. Zeile ab Zeile 4 => (4,12,20,..) 3.Jede 4. Zeile ab Zeile 2 => (2, 6,10,..) 4.Jede 2. Zeile ab Zeile 1 => (1, 3, 5,..)

15 Aufbau einer GIF-Datei 1. Header : –Definiert die Daten die für alle Bilder gelten 2. Bilddaten : –Definiert Daten für das Einzelbild –Beinhaltet die LZW-komprimierten Pixelwerte 3. (Optional) Erweiterungsblöcke (ab Vers. 89a) 4. GIF-Terminator ; (Hex : 3b)

16 Erweiterungsblöcke Möglichkeiten der Erweiterungen sind : –ASCII-Text als Grafik auf Bildfläche –Kommentare als ASCII-Text mitspeichern –Verhalten der Grafik ändern (z.B.: Animationsgeschwindigkeit) –Eigene Erweiterungsblöcke  Genaue Strukturen können in den Spezifikationen nachgelesen werden

17 Bildbeispiele für Gif-Dateien

18 Warum PNG? (Portable Network Graphics)  Lizenzrechte für GIF  Bestehende Datenformate nicht so universell wie GIF  Neues Format musste her “PiNG is not GIF“

19 PNG (Portable Network Graphics)  Farbtiefe : –Palette bis zu 8 Bit –Graustufen 16 Bit pro Bildpunkt –Echtfarben 48 Bit pro Bildpunkt  Alpha-Kanal +16 Bit (Stufenlose Transparenz)  Max. Bildgröße: Pixel  Gamma-Information (Helligkeit, Kontrast um Bild auf versch. Systemen identisch anzuzeigen)  Keine Animation (  MNG)

20 Deflate/Inflate-Algorithmus Phil Katz  Verlustlose Datenkompression (zip,gz,TIFF,PDF,zlib)  Kein Urheberrecht  Teilt sich in auf in 1.LZ77: Komprimiert durch Indizierung z.B. die RGB-Werte des Bildes 2.Huffman-Code : Erstellt für die Indizes einen präfixfreien, eindeutigen Code  Einstellbare Parameter –Fenstergröße –Suchintensität –Vordefinierte / errechnete Huffmantabellen

21 Interlaced Modus (Adam 7) Arbeitet in 7 Schritten Blöcke 8x8 Pixel

22 Filtertypen  Ziel ist es möglichst gute Kompression  Filterung kann von Zeile zu Zeile wechseln Typ0Kein Filter Typ1Differenz zu linken Nachbarn Typ2Differenz zu oberen Nachbarn Typ3Differenz zum Mittelwert vom linken und oberen Nachbarn Typ4Paeth-Filter. Ermittelt günstigste Farbdifferenz aus linken, linken- oberen oder oberen Nachbarn

23 Aufbau einer PNG-Datei 1. SignaturIdentifikation 2. IHDR-ChunkImage Header 3. (PLTE-Chunk)Farbtabelle 4. (optionale Chunks) 5. IDAT-ChunksImage Data 6. IEND-ChunkImage Trailer

24 Aufbau der Chunks 4 Byte: Datenlänge = n 4 Byte : Typ (Chunk-Erkennung) n Byte: Daten (Chunktypabhängig) 4 Byte: CRC-32-Prüfsumme (Cyclic Redundancy Check)

25 Zusatzchunks  Nicht unbedingt erforderlich  Man kann eigene Zusatzchunks schreiben  Ein paar Beispiele der offiziellen Zusatzchunks –bKGDHintergrundfarbe –cHRMGeräteunabhängige Farbdarstellung –gAMAGamma-Wert des Bildes –hISTHäufigkeit der Farben –pHYsPhysikalische Bildgröße –tEXtTextuelle Informationen –tRNSAngaben über einfache Transparenz –gIFgKompatibilität zu GIF89a

26 Dateigrößen im Vergleich PNGGIFJPEG 256 Farben1,001,21- Graustufen1,001,461,02 Echtfarben1,00-1,29

27 PNG vs. GIF

28 Quellen       loads/Applet_work_fullscreen.html loads/Applet_work_fullscreen.html  e.pdf e.pdf  ent_gifs.html ent_gifs.html

29 ENDE Vielen Dank fürs Zuhören


Herunterladen ppt "Seminar Computergrafik Grafikformate PNG und GIF Stefan Hubertus."

Ähnliche Präsentationen


Google-Anzeigen