Vektorbasierte Grafikformate

Werbung
REFERAT
Multimedia-Grafikformate
Gliederung
Einleitung
Vektorbasierte Grafikformate
Pixelbasierte Grafikformate
GIF:
Allgemeines
Features
Aufbau
SVG:
Allgemeines
Textcode  Grafik
Grafik  Textcode
Quellen
JEPG:
Allgemeines
Feature
PNG:
Allgemeines
Features
Aufbau
Zusammenfassung
Gaab/IAV2
2
Einleitung:
Grafiken spielen in der heutigen Zeit eine sehr wichtige Rolle. Sie können die Aufmerksamkeit des
Betrachters wecken, Inhalte ansprechender gestalten und helfen auch oft dem Betrachter einen
besseren Überblick zu verschaffen. Dies gilt nicht nur im Bereich von Printmedien und Fernsehen
sondern auch im Bereich der neuen Medien, speziell dem Internet. Es ist jedoch nicht ganz einfach
Grafiken sinnvoll und optisch ansprechend auf Internet-Seiten anzubringen. Verschiedene Hard- und
Softwarevoraussetzungen erschweren das Erstellen von Grafiken im Netz da man erreichen möchte
dass die Grafik bei jedem (egal welches Betriebssystem) angezeigt wird.
Gaab/IAV2
3
Pixelbasierte und Vektorbasierte Grafikformate
Um die genauen Unterschiede der beiden Grafikformate und ihr Vor- und Nachteile
erörtern zu können, werden wir uns nun die Grafikformate an sich betrachten, sowie
ihre Eigenschaften und Funktionsweisen.
Übersicht:
Pixelbasierte Grafikformate:
Vektorbasierte Grafikformate:
Gaab/IAV2
4
Pixelbasierte und Vektorbasierte Grafikformate
Um die genauen Unterschiede der beiden Grafikformate und ihr Vor- und Nachteile
erörtern zu können, werden wir uns nun die Grafikformate an sich betrachten, sowie
ihre Eigenschaften und Funktionsweisen.
Übersicht:
Pixelbasierte Grafikformate:
Sie sind die am meisten verwendeten Grafikformate sowohl im Internet als auch in den anderen Medien.
Die am meisten genutzten Formate im Internet sind: JPG, GIF und PNG. Der große Unterschied zwischen
den Formaten liegt in der Art wie sie komprimiert werden.
Vektorbasierte Grafikformate:
Gaab/IAV2
5
Pixelbasierte und Vektorbasierte Grafikformate
Um die genauen Unterschiede der beiden Grafikformate und ihr Vor- und Nachteile
erörtern zu können, werden wir uns nun die Grafikformate an sich betrachten, sowie
ihre Eigenschaften und Funktionsweisen.
Übersicht:
Pixelbasierte Grafikformate:
Sie sind die am meisten verwendeten Grafikformate sowohl im Internet als auch in den anderen Medien.
Die am meisten genutzten Formate im Internet sind: JPG, GIF und PNG. Der große Unterschied zwischen
den Formaten liegt in der Art wie sie komprimiert werden.
Vektorbasierte Grafikformate:
Ein Vektorbasiertes Grafikformat ist zum Beispiel SVG. Im Gegensatz zu den Pixelbasierten
Grafikformaten werden die einzelnen Farbinformationen nicht in den einzelnen Pixeln gespeichert sondern
die Vektorgrafik enthält die Eigenschaftsbeschreibung des Objekts das gezeichnet werden soll.
Gaab/IAV2
6
Nahansicht einer Linie zwischen zwei Punkten: Pixelgrafik- Vektorgrafik
Eine Nahansicht der Linie als Pixelgrafik
Eine Nahansicht der Linie als Vektorgrafik
Wenn man annimmt, dass das auszugebende
Bild 200x200 Pixel groß ist und in
256 Graustufen gespeichert wird, so wird pro
Pixel 1 Byte gespeichert. Bei der
angenommenen Bildgröße werden also
200x200x1 Byte ≈ 40 KByte
gespeichert.
Wenn man nun für die Vektorgrafik
veranschlagt, dass die Information der
Dicke mit 2 Byte, die Farbe mit 1 Byte und
die Position der Punkte mit jeweils 8
Byte abgespeichert wird, so ergibt sich eine
Bildgröße von 2+1+8+8 = 19 Byte
(≈ 0,02 KByte).
Gaab/IAV2
7
Pixelbasierte Bildformate
GIF ( „Graphic Interchange-Format“ ):
Dieses Bildformat wurde 1987 von den CompuServe-Betreibern zum schnellen, kostensparenden
Austausch von Bildern durch Mailboxnetze entwickelt und ist heute wohl das am weitesten verbreitete
Grafikformat auf dem PC.
Für den Datenaustausch wichtig ist vor allem, dass das Format plattformunabhängig definiert wurde und
nicht wie andere Formate an bestimmte Grafikmodi gebunden ist, da es die Dateien in einem für alle
Grafiksysteme verwendbaren Format hält. GIF erlaubt Bilder bis zu einer Auflösung von 16000 x 16000
Punkten bei einer Palette von 256 Farben.
Das GIF-Format bietet nützliche Features:
Im „Interlace-Modus“ gespeichert wird beim öffnen eines GIF-Bildes erst jede 10 Bildzeile übertragen was
eine durch „Klonzeilen“ ergänzte Vorabversion des Bildes ermöglicht. So kann man bevor die gesamte
Datei geladen ist schon einen groben Eindruck über das Gesamtbild bekommen. Gerade im Internet kann
dies oftmals von nutzen sein.
Auch das abspeichern mehrerer Bilder in einer GIF-Dateien ist möglich. Diese können dann sogar als
kleiner Film animiert werden. Dies ist jedoch sehr speicheraufwändig, da auch bei geringen Unterschieden
der Einzelbilder jedes Bild einzeln Komprimiert abgespeichert wird.
Gaab/IAV2
8
Es besteht auch die Möglichkeit eine Farbe als unsichtbar (transparent) zu definieren. Durch diese
Möglichkeit werden z.B. GIFs, die eine transparente Hintergrundfarbe haben, egal auf welcher
Hintergrundfarbe sie sich befinden ohne ihren eigenen Hintergrund dargestellt, der sonst ein hässliches
Viereck in einer Farbe, die sich vom Hintergrund abheben würde, wäre.
ohne transparenten Hintergrund
mit transparenten Hintergrund
Gaab/IAV2
9
Aufbau einer Gif-Datei
Im Header steht die Formatkennung „GIF“
Der Logical Screen Discriptor enthält Informationen
über Höhe und Breite des Bildes in Pixel.
Dadurch wird festgelegt, wie viel Platz vom Browser
auf dem Bildschirm reserviert wird, um das Bild
anzuzeigen.
Im Global Color Table sind Informationen über
Hintergrundfarbe und Farbtiefe hinterlegt.
Der Bild-Definitionsblock enthält Informationen über
die Position der linken oberen Ecke des Bildes auf
dem Bildschirm und über die Breite und Höhe des
Bildes. Zusätzlich beinhaltet er diverse Flags, welche
u. a. angeben, ob interlaced auszugeben ist.
Die GIF-Datei wird hexadezimal durch die Zahl 3B
Abgeschlossen.
Gaab/IAV2
10
JEPG (Joint Photographic Expert Group):
Bei JPEG, entwickelt von der Joint Photographic Expert Group, handelt es sich um ein Grafikformat, das
auf dem Komprimierungsalgorithmus DCT (Diskrete Cosinus Transformation) in Verbindung mit der
Huffman-Kodierung basiert.
Das Bildformat bietet ähnliche Merkmale wie GIF-Bilder, kann aber bis zu 16,7 Mio. Farben darstellen.
Deshalb eignet sich dieses Format vor allem zum Darstellen von Fotos und anderen Halbtonbildern.
Mit JPEG wird die Dateigröße durch selektives Löschen von Daten komprimiert. Da hierbei Daten verloren
gehen, wird die JPEG-Komprimierung auch als verlustreich bezeichnet. Das JPEG-Format kann zu
Detailverlusten in einem Bild führen
Die Funktionsweise von JPEG wird hier nicht sehr detailliert erklärt werden können, da die Kompression
und Reduktion auf mathematischen Formeln beruhen, die ziemlich komplex sind. Es folgt nur ein kleiner
Auszug aus einem Artikel zu der Funktionsweise von JPEG:
[...] Das uncodierte Standbild wird in Blöcke zerlegt, die mit einem speziellen Algorithmus (DCT),
transformiert werden. Bei diesem Schritt werden die Daten zum ersten mal reduziert. Um die
Eigenschaften des menschlichen Auges auszunutzen, werden nun einige hochfrequente Segmente des
Bildes mit weniger Informationen gespeichert, als niederfrequente Teile. Die verschiedenen
Farbkomponenten des Bildes werden nun einzeln codiert und mit jeweils einer Quantisierungsmatrix
einem weiteren Algorithmus (DPCM) zugeführt. Das auf diese Weise komprimierte Bild wird dann bei
Bedarf in umgekehrter Reihenfolge wieder dekomprimiert. [...]
Gaab/IAV2
11
Im allgemeinen kann man bei dem JPEG Format zwei Variablen zur Kompression und Reduktion selbst
bestimmen:
Die DPI-Dichte: Das ist die Punktdichte (dpi = dots per inch). Bei JPEG-Dateien, die man für die Anzeige
in WWW-Seiten benötigt, reicht ein Wert zwischen 70 und 100 dpi, da so eine gute Anzeige auf dem
Monitor gewährleistet ist. Für den Druck wiederum sind sie absolut ungeeignet, da sie auf einem Drucker
mit 1440 DPI sehr, sehr klein werden würden; oder wenn man sie größer ausdruckt stark "pixelig"
aussehen würden.
Den Kompressionsfaktor: Je höher der Kompressionsfaktor, desto schlechter die Bildqualität. Ein
Komprimierungsfaktor von 5 bis 10 ist ein sinnvoller Wert, sozusagen ein Kompromiss, bei dem die
Bildqualität nicht zu sehr unter der Reduktion leidet und das Bild trotzdem vom Datenvolumen um ein
vielfaches kleiner wird, als in der unkomprimierten Form.
Gaab/IAV2
12
70dpi, Komprimierung 10, Dateigröße 34k
70dpi, Komprimierung 80, Dateigröße 7k
Das Originalbild hatte bei einer
Auflösung von 1200 x 1800 eine
Größe von 513k
50dpi, Komprimierung 10, Dateigröße 19k
Gaab/IAV2
13
Feature:
Es gibt beim JPEG-Format die Variante "progressive JPEG-Grafik". Hier wird, ähnlich wie beim GIF in
der Variante "interlaced", zuerst eine vollständige, aber noch undeutliche Fassung der Grafik am
Bildschirm aufgebaut. Das erste, noch nicht ganz deutliche Bild kann bereits am Bildschirm angezeigt
werden, nachdem etwa 15% der Grafikdatei an den aufrufenden WWW-Browser übertragen wurden.
Das
Bild wird dann stufenweise besser, bis es die volle Qualität erreicht hat, nämlich wenn 100% der
Grafikdatei an den Browser übertragen wurden.
von oben nach unten (standard encoding)
ansteigende Qualität (progressive encoding)
Gaab/IAV2
14
PNG ( „Portable Network Graphics“ ):
Das PNG-Format wurde vom Word Wide Web Consortium (W3C) entwickelt um das durch
Patentprobleme behaftete GIF Format abzulösen. Es ist ebenfalls plattformunabhängig, bietet
aber im Gegensatz zu diesem eine Farbtiefe bis zu 48 Bit und übertrifft damit selbst das
JPEG-Format. Die Komprimierung erfolgt ohne Qualitätsverlust und führt zu 10-30% besseren
Kompressionsergebnissen.
Features:
Ebenfalls ähnlich zum GIF-Format bietet PNG nützliche Features wie Interlace-Modus und Transparenz.
Der durch Adam M. Costello verbesserte Interlaced-Modus, auch als Adam7 bekannt, baut das
Bild statt zeilenweise (GIF) zweidimensional auf. Dies geschieht in 7 Durchgängen. Dabei wird das
Bild in 8x8 große Quadrate eingeteilt welche entsprechend dem folgenden Schema übertragen werden:
Gaab/IAV2
15
Adam7-Schema
Der Vorteil des Adam7-Schemas gegenüber dem von GIF liegt darin, dass schneller ein (grober)
Überblick über das ganze Bild gewonnen werden kann, und vor allem auch Text ist schneller zu erkennen.
Gaab/IAV2
16
Alpha-Kanal
Im Gegensatz zu GIF gibt es bei PNG einen "echten" Alpha-Kanal mit verfügbaren 65 000 Graustufen.
Dies ermöglicht weiche Schatten und Glow-Effekte. Allgemeiner gesprochen, es gibt eine für
Monitorverhältnisse fast stufenlose Transparenz (alpha-Transparenz). Die einfache Farbmaskierung
wie bei GIF ist weiterhin möglich.
Originalbild
Alphakanal
Verknüpfung von Originalbild +
Alphakanal
Gaab/IAV2
17
Aufbau:
Jede PNG-Datei besteht aus einer Signatur und einer Folge beliebig vieler Blöcke, den Chunks.
Die Signatur dient lediglich dazu, eine PNG-Datei als solche zu identifizieren, während in den
Chunks die eigentlichen Bildinformationen gespeichert werden.
Allgemeine Dateistruktur PNG
Gaab/IAV2
18
Sämtliche Information, die zum korrekten Darstellen eines Bildes unbedingt erforderlich ist,
steht in den „Critical Chunks“. In jeder PNG-Datei müssen mindestens diese Chunks enthalten
sein und jedes Programm, das mit PNG-Dateien arbeitet, muss sie kennen und auswerten können.
Die „Critical Chunks“ sind :
Der IHDR-Chunk bildet den Kopf einer Datei, er muss als erster Chunk direkt nach der
Signatur stehen und enthält die in der folgenden Tabelle aufgelisteten Informationen:
Breite und Höhe geben die Dimensionen des Bildes in Pixeln an. Dabei ist die Null ist nicht erlaubt.
Die Bittiefe bestimmt die Anzahl der Bits pro Paletteneintrag.
Der Farbtyp beschreibt die Interpretation der Bilddaten.
Für die Kompressionsmethode ist zurzeit nur der Wert 0 definiert.
Die Filtermethode gibt an ob das Bild vor dem Kodieren bearbeitet wurde.
Die Interlacemethode definiert die Übertragungsmethode: 0 kein Interlace 1 Adam7 Interlace
Gaab/IAV2
19
Die PLTE-Chunk Palette enthält 1 bis 256 Paletteneinträge, jeder eine 3-Bytefolge in der Form RGB
(Rot, Grün, Blau). Die Anzahl von Einträgen hängt von der Chunk-Länge ab. Ist diese Länge nicht durch
drei teilbar, so liegt ein Fehler vor. Der erste Eintrag definiert die Farbe 0, der Zweite die Farbe 1, usw.
bis 255. Es müssen nicht soviele Farben wie die Bittiefe zulässt definiert werden, doch man darf sie dann
logischerweise auch nicht benutzen.
Der IDAT-Chunk enthält die Bilddaten in komprimierter Form. Um sie zu lesen muss man sie unter
Berücksichtigung der Filter- und Komprimierungsinformationen dekodieren. Danach sind die Daten
entsprechend der Kombination von Bittiefe und Farbtyp auszulesen. Es können auch mehrere dieser
Chunks definiert sein.
Der IEND-Chunk ist ein leerer Chunk (Länge=0) und signalisiert das Dateiende.
Diese Standart Chunks sollten auch in dieser Reihenfolge erscheinen. IHDR vor PLTE vor IDAT vor IEND.
Gaab/IAV2
20
Zusammenfassung
Bei genauerer Betrachtung erkennt man, dass dir einzelnen Bildformate durchaus sehr unterschiedlich
sind und verschiedene Stärken und Schwächen aufweisen. Je nach Verwendungsbedarf bietet sich so an
ein anderes Bildformat an. Die folgende Tabelle soll dabei als Überblick und Entscheidungshilfe dienen :
Gaab/IAV2
21
Vektorbasierte Grafikformate
Original Kreis (Pixelgrafik)
Original Kreis (Vektorgrafik)
Gaab/IAV2
Stark vergrössert
Stark vergrössert
22
SVG (Scalable Vector Graphics)
Schon im Jahr 1998 gab es den Versuch skalierbare Webgrafiken zu standardisieren. Doch die Firmen
Microsoft, Macromedia, IBM, Adobe, Netscape und Sun konnten sich nicht auf ein gemeinsames Format
einigen. Das W3C (World Wide Web Consortium) hingegen erstellte im Oktober 1998 selbst ein
Pflichtenheft für skalierbare Webgrafiken. Dieser Entwurf wurde weiter entwickelt und im September 2001
gab das W3C die Scaleable Vector Graphics als offizielle W3C Empfehlung frei.
SVG ist XML, was soviel bedeutet, als das SVG ebenfalls mit den Programmieranweisungen der Sprache
arbeitet. Ein Vorteil ist natürlich, dass sich SVG und XML ohne Probleme kombinieren lassen. Die
Grundzüge der Sprache XML lassen sich relativ einfach erlernen, was damit genauso für das Arbeiten
mit SVG gilt.
Genau wie XML ist SVG auch „open source“ bzw. patentfrei. Jede der im W3C beteiligten Firmen kann
daher an der Weiterentwicklung von SVG mitarbeiten und Anwendungen oder Werkzeuge für die Arbeit
mit SVG erstellen.
Ein weiteres Prinzip von SVG ist, dass es kein Binärformat ist. Grafiken, die in SVG erstellt worden sind,
liegen weiterhin im XML-Format, also als „Textdatei“, vor. Beim Betrachten einer SVG-Datei besteht auch
die Möglichkeit sich den Quelltext anzeigen zu lassen, in dem tatsächlich jede Anweisung nachlesbar ist.
Der Vorteil liegt hier hauptsächlich darin, dass es nicht nur von Maschinen, sondern auch von Menschen
gelesen werden kann.
Gaab/IAV2
23
Das SVG kein Binärformat ist kann jedoch auch zu unnötig großen Dateien führen. Daher gibt es auch bei
SVG die Möglichkeit der Kompression. Das Erstellen einer „gepackten“ Datei, die dann die Endung SVGZ
trägt, ermöglicht die maximale Kompression im Bereich von Texten, was ungefähr zwei Dritteln entspricht.
SVG bietet auch die Möglichkeit mit Pixelgrafiken umzugehen. Jedoch ist dies nur insofern möglich, dass
ähnlich wie in einem HTML-Dokument, eine Pixelgrafik als Bild eingefügt werden kann.
Die benötigte Werkzeuge für SVG
Zum erstellen einer Grafik genügt ein einfacher Editor wie beispielsweise Notepad. Weiterhin gibt es auch
für SVG einige kostenpflichtige Autorenprogramme. Adobe Illustrator 10 und Corel Draw 11 sind hierbei
wahrscheinlich die bekanntesten, da sie neben vielen anderen Formaten auch die Möglichkeit bieten,
SVG-Grafiken zu erstellen.
Um sich die damit erstellten Dateien aber anschauen zu können, wird ein Browser Plug-In benötigt.
Adobe liefert mit dem SVG Viewer ein solches Plug-In, welches man kostenlos downloaden kann. Im
Microsoft Internet Explorers (ab Version 5.5) ist dieses Plug-In sogar schon integriert.
Gaab/IAV2
24
Animation:
Um ein wirklich leistungsfähiges Format zu werden, gaben die Entwickler SVG auch die Fähigkeit zur
Animation mit auf den Weg. So können Elemente einer SVG-Grafik animiert werden, wenn ein bestimmtes
Ereignis eintritt. So ein Ereignis kann das Laden der Grafik, ein Mausklick oder ähnliches sein. Die
Animationsfähigkeiten von SVG sind dabei ähnlich wie die von Flash. Man kann Objekteigenschaften
verändern (Größe, Farbe, Sichtbarkeit), Bewegung entlang von Pfaden erzeugen oder aber auch Objekte
transformieren.
Gaab/IAV2
25
Ganz einfaches Beispiel einer SVG Datei:
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG July 1999//EN"
"http://www.w3.org/Graphics/SVG/svg-19990706.dtd">
„Das SVG ist Teil eines
XML Dokuments“
<svg>
<circle style="fill: red; stroke: black" cx="2.5cm" cy="2.5cm" r=„1.5cm"/>
</svg>
„Die Grafikanweisungen werden
In <svg> Tags eingebettet“
Diese Grafik entsteht:
Gaab/IAV2
26
Vektorgrafik mit Hilfe von CorelDRAW erstellen
Gaab/IAV2
27
Gaab/IAV2
28
Gaab/IAV2
29
Quellen:
http://goethe.ira.uka.de/seminare/rftk
http://homepages.fhgiessen.de/~hg10013/Lehre/MMS/SS01_WS0102/Farbmodelle/index.
html
http://www.heise.de/ix/artikel/1996/09/116/
http://www.ece.purdue.edu/~ace/jpeg-tut/jpegtut1.html
http://goethe.ira.uka.de/seminare/rftk/jpeg/
http://home.earthlink.net/~ritter/tiff/
http://www.peliworks.de/design/formatenew/pix_und_vecdruck.html
http://svg.tutorial.aptico.de/
http://193.23.168.186/pc_pool/lernmodule/multimediadateien/Inhaltsverzeichnis.htm
Gaab/IAV2
30
Herunterladen