Diplomarbeit (PDF, 3,5MB) - Donkeymedia
Farbmanagement im Internet
Diplomarbeit von Thorsten Krug
28. Januar 2006
Zusammenfassung
Farbmanagement nach dem ICC-Standard hat sich in den letzten Jahren in der Druckvorstufe
durchgesetzt. Diese Arbeit untersucht bisherige Ansätze für Farbmanagement im
World Wide Web und analysiert vom W3C entwickelte Empfehlungen für Farbmanagement
im Bereich des cross-media Publishing XML-basierter Sprachen.
Der Text richtet sich an Webentwickler die beabsichtigen, Farbmanagementfunktionen
in ihren Webapplikationen zu verwenden. Im praktischen Teil geht es um die Umsetzung
des Internet-Standard-Farbraums sRGB in Webapplikationen durch serverseitige Bildverarbeitung
und die Auswertung von Informationen über ICC-Profile mittels farbmanagementfähiger
Open Source Software. Entwickler von Webbrowsern die planen, künftige
W3C-Standards in ihren Produkten umzusetzen, finden Informationen über die Integration
von Farbmanagementsystemen in den Betriebssystemen Windows, OS-X und Linux.
Abstract
Colormanagement according to the ICC-Standard has become common for pre-press
within the past years. This document is an investigation on previous approaches for
Colormanagement within world wide web and analyses recommendations for Colormanagement
of the W3C in the field of cross-media publishing using XML-based documents.
The intended audience are web developers aiming at the use of Colormanagement functions
within webapplications. The practical part is about using Open Source software for
server-sided image manipulation applying current Internet standard colorspace sRGB and
working with ICC-profiles. Programmers, planning to integrate W3C-Colormanagement-
Recommendations within webbrowsers, will find usefull information about the integration
of Colormanagement within the operating systems Windows, OS-X and Linux.
Danksagung
An dieser Stelle möchte ich mich bei all jenen Personen bedanken, die diese Arbeit
ermöglicht und unterstützt haben.
Mein besonderer Dank meiner gilt Betreuerein Frau Ulrike Häßler, die mich zur Wahl
des Themas motiviert hat, und mit der ich fachliche und berufliche Fragen stets offen
diskutieren konnte.
Mein Dank gilt auch allen Entwicklern freier und Open Source Software ohne die diese
Arbeit nicht möglich gewesen wäre. Ganz besonders danke ich denen, die mir bei schwierigen
Fragen in Foren und Mailing-Listen weitergeholfen haben.
Insbesondere möchte ich mich bei meiner Kommilitonin Isabel Huber bedanken, die meine
Arbeit kritisch verfolgt hat und mich bei den Korrekturen unterstützte.
Mein Dank gilt auch meiner Mitbewohnerin Kerstin und meiner Freundin Jacqueline,
die mir ebenso halfen die Kommas etwas regelgerechter über den Text zu verteilen.
Für eventuelle Fehleinschätzungen oder Ungenauigkeiten in der Darstellung bitte ich
um Nachsicht. Anregungen und Kritik nehme ich gerne auf elektronischem Wege entgegen.
Thorsten Krug
e-Mail: driver@digitaldonkey.de
Inhaltsverzeichnis
1. Theoretischer Teil 7
1.1. Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1. Farbmanagement im Internet . . . . . . . . . . . . . . . . . . . . . 7
1.1.2. Wer braucht Farbmanagement im Internet? . . . . . . . . . . . . . 9
1.1.3. Die Leser dieses Dokuments . . . . . . . . . . . . . . . . . . . . . . 11
1.2. Aktuelle Situation des Farbmanagements im Internet . . . . . . . . . . . . 11
1.2.1. Die Entwicklung des Internet . . . . . . . . . . . . . . . . . . . . . 11
1.2.2. Die ersten Bilder und websichere Farben . . . . . . . . . . . . . . . 14
1.2.3. Webbrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.4. Die Akteure im Internet . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.5. Farbliche Abweichungen bestimmen . . . . . . . . . . . . . . . . . 18
1.2.6. PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.7. Farbmanagement mit Java . . . . . . . . . . . . . . . . . . . . . . . 20
1.3. Farbdarstellung in digitalen Medien . . . . . . . . . . . . . . . . . . . . . . 21
1.3.1. Farbwahrnehmung, Color-Appearance und Betrachtungsbedingungen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.2. Das Gamma der elektronischen Bildverarbeitung . . . . . . . . . . 23
1.3.3. Farbräume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3.4. sRGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.3.5. Medienneutrale Arbeitsprozesse . . . . . . . . . . . . . . . . . . . . 30
1.3.6. ICC-Profile Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3.7. Der ICC-Proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.4. Problemanalyse und Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.4.1. Unterschiedliche Betriebssysteme . . . . . . . . . . . . . . . . . . . 33
1.4.2. Unterschiedliche Ausgabegeräte . . . . . . . . . . . . . . . . . . . . 40
1.4.3. Benutzer und Webmaster . . . . . . . . . . . . . . . . . . . . . . . 47
1.5. Webstandards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.5.1. Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.5.2. Das World Wide Web Consortium (W3C) . . . . . . . . . . . . . . 51
1.5.3. Die W3C-Techniken . . . . . . . . . . . . . . . . . . . . . . . . . . 53
1.5.4. Das W3C über Farben . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.5.5. Anforderungen an künftige Webbrowser . . . . . . . . . . . . . . . 68
2. Praktisches Farbmanagement für den Webserver 69
2.1. Server- und Clientseitige Bildverarbeitung . . . . . . . . . . . . . . . . . . 69
2.1.1. Workflow im Internet . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.1.2. Serverseitige Bildverarbeitung . . . . . . . . . . . . . . . . . . . . . 71
5
Inhaltsverzeichnis 6
2.2. OpenSource Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.2.1. Lizenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.2.2. Verwendung von OSS . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.2.3. Kosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.2.4. Open Source Programme zur Bildbearbeitung . . . . . . . . . . . . 76
2.3. Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.3.1. Farbraumtransformation nach sRGB . . . . . . . . . . . . . . . . . 81
2.3.2. Safaribrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.3.3. Softproof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.3.4. Profile auswerten und auslesen . . . . . . . . . . . . . . . . . . . . 83
2.3.5. Farbdifferenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.3.6. Farbprofile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
A. Anhang 85
A.1. Weiterführende Informationen zu den Programmen . . . . . . . . . . . . . 85
A.1.1. ImageMagick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
A.1.2. LCMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
A.1.3. ArgylCMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.2. Formalisierter Entwicklungsprozeß beim W3C . . . . . . . . . . . . . . . . 89
A.3. Medientypen in CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
A.4. Umfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.5. Qualität von Fernsehsignalen . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.6. Quelltexte der Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . 91
B. Literaturverzeichnis 95
B.1. Literaturverzeichnis verwendeter Bücher und Aufsätze . . . . . . . . . . . 95
B.2. Links zum Theoretischen Teil . . . . . . . . . . . . . . . . . . . . . . . . . 97
B.3. Links zur Bildverarbeitung auf dem Webserver . . . . . . . . . . . . . . . 103
B.4. Links aus dem Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Abbildungsverzeichnis109
6
1. Theoretischer Teil
1.1. Einführung
1.1.1. Farbmanagement im Internet
Seit 1992 das erste, nicht sehr gelungene Bild im Internet
veröffentlicht wurde, hat sich das Verständnis von
Farbmanagement grundlegend geändert. War es bis dahin
noch möglich eine Druckerei oder ein Grafikbüro zu
betreiben und mit viel Mühe und Geduld alle Monitore,
Scanner und Drucker aufeinander abzustimmen, so ist
mit dem ersten Bild das virtuell ins Haus kam eine kleine
Welt zusammengebrochen. Beim Kollegen im anderen
Büro sah das Bild doch sowohl auf dem Bildschirm als
auch im Druck ganz anders aus.
Abbildung 1.1.: Laut Wikipedia
das erste im World Wide
Web veröffentlichte Bild
Die Bildbearbeitung änderte sich seither grundlegend.
Wurden damals Bilder von erfahrenen Fachkräften direkt
in den CMYK-Farbraum des Druckers gescannt und
im selben Farbraum archiviert, versucht man heute möglichst
mit geräteunabhängigen Farbräumen zu arbeiten, um die mittlerweile zum Standard
gewordene digitale Weiterverarbeitung nicht unnötig zu erschweren.
Große Teile der grafischen Industrie und einige Computerhersteller schlossen sich 1993
zusammen und gründeten das International Color Consortium(ICC). Die Spezifikation
von Farbprofilen ermöglicht es relativen Bilddaten (z.B. RGB 255,0,0 ) in einen Zusammenhang
mit realen spektralen Farben zu bringen. Bis dahin waren die tatsächlichen
Farben eines Bildes von der willkürlichen Kombination aus Betriebssystem, Grafikkarte
und Monitor abhängig. Während sich in der grafischen Industrie die Arbeit mit profilierten
Geräten und in Bilder eingebettete Farbprofilen durchgesetzt hat, herrscht im
Internet noch immer farbenfrohe Anarchie.
Die wenigsten Bilder haben Farbprofile eingebettet. Eingebettete Farbprofile werden mal
vom Browser ausgewertet, mal ignoriert. Bilddaten ohne Farbprofile werden auf unterschiedliche
Weise interpretiert. Im Internet treffen unterschiedliche Betriebssysteme und
Webbrowser auf Bilder, die mit den unterschiedlichsten Techniken fotografiert, eingescannt
oder bearbeitet wurden - eine einfache, verständliche Lösung fehlt.
Im Idealfall sollte ein Browser beim Laden einer Bilddatei prüfen, ob diese ein eingebettetes
ICC-Profil enthält und die Daten mit Hilfe eines Farbrechners in den Farbraum
7
1.1. EINFÜHRUNG 8
des Ausgabegeräts transformieren. Die künftigen Internetstandards bieten weitere interessante
Möglichkeiten, Farbprofile in Webseiten zu integrieren. Diese Arbeit versucht
einen Überblick über Entwicklungen im Bereich Farbmanagement im Internet und den
damit verbundenen Standards und Problemen zu geben. Der praktische Teil beschreibt
mit Beispielen, wie mittels freier Software farbrichtige Wiedergabe im Internet realisiert
werden kann.
Es gab schon einige kommerzielle Ansätze dem Internet
Farbmanagement beizubringen. Sie scheiterten
an mangelnder Akzeptanz:
So versuchte die Firma WayTech in der Zeit des
großen IT-Booms um die Jahrtausendwende ColoReal
1 auf dem Markt zu etablieren. Ein ehrgeiziges
Projekt, bei dem sowohl Hardwarehersteller
von Monitor und Grafikkarte, als auch Websitebetreiber
ColoReal-Unterstützung implementieren
sollten um dem Consumer ein einfaches Farbmanagement
zu ermöglichen. Dieser musste sich
eine eigene Software installieren, die ColoRealBilder
erkennt und nur diese richtig an den Bildschirmfarbraum
anpasst. Durchgesetzt hat sich das Konzept
nicht, obwohl einige namhafte Hersteller (Leadtec,
Matrox) ColoReal-Funktionen anboten, verschwindet
das Produkt 2003 vom Markt.
Abbildung 1.2.: Sie wollten schon
immer mal ein T-Shirt kaufen,
das so aussieht, als wäre es mit
dem roten Pullover in der Wäsche
gewesen? Beispiele für falsche Farbdarstellung
finden sich fast in jedem
Onlineshop
Einen anderen Ansatz verfolgt WebSync. Hier erstellt der Benutzer per Java-Applet ein
Monitorprofil nach dem Adobe-Gamma-Prinzip. Das Applet sorgt nun dafür, dass alle
Bilder auf dem Client-Computer in den Bildschirmfarbraum umgerechnet werden. Die
Firma GretagMcBath 2 hat die Technik übernommen, sie jedoch schließlich nicht mehr
weiterentwickelt.
3 4
Über die Grundlagen von ICC-Farbmanagement und Internettechniken sind schon viele
Bücher und Diplomarbeiten geschrieben worden, eine komplette Einführung in das
ICC Farbmanagement würde den Rahmen dieser Arbeit sprengen. Ich verweise in diesem
Zusammenhang auf die Diplomarbeit von Tobias Huneke, 5 die eine sehr gute
und lesbare Einführung in den ICC-Standard bietet und im Internet frei verfügbar
ist.
1 Color Real, Web-Farbmanagement per Java Applet :
http://www.coloreal.com
2 GretagMcBath:
http://www.gretagmacbeth.com
3 Seybold Publications, Westmont USA,1998 :
http://www.seyboldreports.com/SRIP/subs/0207/IP020714.HTM
4 Seybold Publications, Westmont USA,1998 :
http://www.seyboldreports.com/SRPS/subs/2904/html/news-comments.html
5 Tobias Huneke, Internetseite zur Visualisierung von ICC Profilen mit Hilfe von 3D-Farbraummodellen,
FH-Köln, Juni 2002 :
http://iccview.de/download/ICCView-Colormanagement.pdf
8
1.1. EINFÜHRUNG 9
1.1.2. Wer braucht Farbmanagement im Internet?
In den letzten 10 Jahren erlangte das Internet durch eine steigende Anzahl von Computern
mit Internetanschluss im Business- und Consumerbereich eine stetig wachsende
wirtschaftliche Bedeutung: »Das Internet [...] wird seinen Marktanteil von 2% bei allen
elektronischen Waren heute [2000] auf ungefähr 50% in zehn Jahren erweitern«.
6
Firmen mit International zu handendelnden
Gütern können auf Ihre Webpräsenz
zur Produktinformation und Kontaktaufnahme
nicht mehr verzichten, teuren Anschaffungen
gehen immer häufiger europaweite
oder internationale Preisvergleiche
voran und auch im Consumer-Bereich
wird der Online-Einkauf immer gängiger.
Es gibt viele Produkte bei denen Farbe
die wesentliche Rolle bei der Kaufentscheidug
liefert. Dazu gehören neben Farben
aller Art (Kosmetika, Künstlerfarben,
Wandfarben...), Kleidung und Stoffen
auch Autos oder Blumen. Mit dem im
Juni 2000 verabschiedeten Fernabsatzgesetz
7 fällt dem Händler unweigerlich die
Verantwortung für eine ordnungsgemäße
Abbildung 1.3.: E-Government und andere
Zwecke der Internetnutzung, Statistisches
Bundesamt Wiesbaden, 2005
Präsentation der Ware zu, da der Kunde bei Telefon - oder Onlinegeschäften ein 14-
tägiges, uneingeschränktes Rückgaberecht hat.
Abbildung 1.4.: Wieviele Produkte wegen falscher Farben im Onlineshop an den
Hersteller zurückgehen ist schwer abzuschätzen
Professionelle Anbieter von Bilddaten, wie Bildagenturen, Bildarchive, Internetdatenbanken
oder Presseagenturen haben oft einen großen Bildbestand in unterschiedlichsten
Formaten und Farbräumen. Die Präsentation der Bilder im Internet ist gängige Praxis,
doch was bekommt der Internetsurfer eigentlich tatsächlich von den Bildern zu sehen?
Die Textilindustrie versucht im Business-to-Business Bereich mittels aufwändiger Techniken
die sofortige Verfügbarkeit von farbrichtigen Stoffmustern (Swatches) zu ermöglichen.
Die Arbeitsgruppe vom Rochester Institute of Technology entwickelte ein Verfahren,
6 Informationeller Globalismus, Doktorarbeit von Georgios Chatzimarkakis, Kap 6.1, RFWU Bonn,
2000 :
http://deposit.ddb.de/cgi-bin/dokserv?idn=967325897&dok_var=d1&dok_ext=pdf&filename=967325897.pdf
7 Fernabsatzgesetz:
http://dejure.org/gesetze/FernAbsG
9
1.1. EINFÜHRUNG 10
das mittels spektraler Druckerkalibrierung das Ausdrucken von Stoffmustern ermöglicht
8
Das Farbmanagement im Consumer-Bereich findet aus folgenden Gründen weniger Akzeptanz.
• Die Farbwahrnehmung ist ein hochkomplexer, aber sehr anpassungsfähiger Prozess,
bei dem die Erwartung des Betrachters eine nicht unwesentliche Rolle spielt. Das
Auge ist daran gewöhnt »automatisch« mit verschiedenen Weisspunkten umzugehen,
so lassen sich selbst mit einem farbstichigen Monitor die Urlaubsbilder auf
der Homepage betrachten, im Kopf des Betrachters bleibt der blaugrüne Himmel
strahlend blau.
• Die Wahrnehmung von Farbfehlern ist eine Frage der Erfahrung. Ein untrainierter
Betrachter benötigt wesentlich länger, farbliche Unterschiede wahrzunehmen als
z.B. ein erfahrener Fotograf.
Farbabstand ∆E Erkennungszeit
15 5 sek.
10 10 sek.
5 15 sek.
Tabelle 1.1.: Wahrnehmung von Farbdifferenzen. Zeit die ein ungeübter Betrachter
benötigt, um eine gegebene Farbdifferenz zu erkennen.
Man kann also nicht davon ausgehen, dass Consumer die Notwendigkeit sehen, für richtige
Farben besondere Maßnahmen zu ergreifen, z.B. die Installation eines extra Plugins
oder Programms. Erst wenn die Farbmanagement Funktionen für den Benutzer integriert
und gut versteckt Ihren Dienst tun, werden sie sich auf breiter Front durchsetzen.
Aber auch klassische DTP-Domänen, wie der Softproof könnten im Internet Einzug halten.
Vielleicht kann der Papierhersteller oder der Belichtungsservice den Kunden von
der »etwas teureren Papiersorte« überzeugen, wenn er sein Bild auf unterschiedlichen
Papieren vor sich auf dem Bildschirm beurteilen kann.
Und schließlich arbeiten viele Softwarehersteller daran, die Unterschiede zwischen lokalen
Anwendungen und Internetanwendungen für den Benutzer zu minimieren. Der Webserver
wird zum Anwendungsserver und aus Farbmanagement im Internet wird Farbmanagement
in Anwendungen.
8 Spectral Color Management for a Virtual Swatch; Mitchell R. Rosen, Lawrence A. Taplin, Francisco
H. Imai, Roy S. Berns, and Noboru Ohta. Publiziert in: »The 9th Color Imaging Conference: Color
Science and Engineering: Systems, Technologies, Applications Scottsdale, Arizona«, 2001 :
http://www.imaging.org/store/epub.cfm?abstrid=6898
10
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 11
1.1.3. Die Leser dieses Dokuments
Beim Leser wird ein allgemeines Verständnis von Farbräumen und dem Farbmanagement
nach dem ICC-Standard vorausgesetzt. Grundlagen der elektronischen Bildverarbeitung
und von Auszeichnungssprachen (wie HTML) sind hilfreich.
• Farbmanagement Interessierte
• Entwickler von Anwendungssoftware, wie Webbrowsern oder HTML-Editoren
• Entwickler von Webanwendungen die planen, farbmanagementfähige Webanwendungen
zu entwickeln
Ich empfehle diese Arbeit am Bildschirm zu lesen. Denn in der PDF-Version sind die
Teile der Arbeit miteinander verknüpft und alle Quellangaben aus dem Web per Klick
verfügbar.
1.2. Aktuelle Situation des Farbmanagements im
Internet
1.2.1. Die Entwicklung des Internet
Das Internet entstand aus dem Bedürfnis von wissenschaftlichen und militärischen Einrichtungen
die Kommunikation und den Austausch von Informationen zu verbessern. Die
Abkürzung Internet steht für Interconnected Networks, es handelt sich um ein Netzwerk
aus vielen unabhängigen Netzwerken, die über definierte Protokolle miteinander kommunizieren.
Umgangssprachlich wird der Begriff Internet gerne als Synonym für das World Wide Web
(www) verwendet, obwohl es sich beim www zwar um den populärsten, aber keineswegs
einzigen Dienst 9 des Internets handelt.
Bis Ende der 70er Jahre bestand das Internet im wesentlichen aus einem Zusammenschluss
teurer Großcomputer militärischer und wissenschaftlicher Einrichtungen, die mit dem Ziel
vernetzt wurden, die rare Rechenkapazität besser Nutzen zu können.
Die dezentrale Architektur des Internet, ein Datenpaket mit Ziel- und Absenderadresse
sucht sich autonom einen Weg durch das Netz, ohne von einer zentralen Koordinierungsstelle
abhängig zu sein, war eine technische Notwendigkeit, nicht Entwicklungsziel, wie
die Legende vom atomkriegresistenten Kommunikationsnetz nahe legt. Die bis dahin übliche
verbindungsorientierte Kommunikation erwies sich als unwirtschaftlich, unflexibel
und unzuverlässig.
9 Beschreibung der Internetdienste :
http://de.wikipedia.org/wiki/Internet#Dienste
11
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 12
Die entscheidende Entwicklung für den komerziellen Erfolg des Internets Anfang der 90er
war die Entwicklung des www und der HyperText Markup Language (HTML) durch Tim
Berners-Lee und die Erfindung des Webbrowsers.
Die Idee war so einfach wie revolutionär: Jeder Text hat eine Struktur, im allgemeinen
zumindest eine Überschrift und einen Absatz. Komplexere Texte zeichnen sich durch
eine Gliederung in Hauptthemen und Unterthemen aus, die durch Zwischenüberschriften
unterbrochen werden. Bei wissenschaftlichen Arbeiten findet sich zudem noch Referenzen
auf weitere Texte, die in der Arbeit berücksichtigt wurden. Berners-Lee verallgemeinerte
die beschriebenen Textstrukturen und brachte sie in eine für Menschen und Computer
leicht lesbare Form.
Wesentliche Eigenschaften von HTML sind:
• Leichte Lesbarkeit
HTML Dateien bestehen aus ASCI Text, zum einen mit einfachen Texteditoren
bearbeitbar ist und zum anderen von Computern unkompliziert bearbeitet werden
kann.
• Strukturierung
Man benutzt sogenannte Tags (engl: Etikett, Anhänger, Aufkleber, Marke) um die
Inhalte in zu strukturieren, das sind in Kleiner- und Größerzeichen eingeschlossenen
Kürzel, denen dann bestimmte Eigenschaften zugewiesen werden.
Die Farben im World Wide Web
Es gibt eine Diplomarbeit über Farbmanagement im Internet zu finden
unter folgendem Link
• Verlinkung
Jedes Webdokument hat eine eindeutige Adresse. So können mit Hilfe eines Link-
Tags Referenzen zwischen einzelnen Webdokumenten hergestellt werden. Beim Lesen
des Dokuments kann man mit einem Klick auf einen solchen Link die gewünschte
Seite im Webbrowser laden.
Nach der Einführung von HTML konnten auch weniger computererfahrene Benutzer
auf Informationen zugreifen und vorhandene Inhalte durch Verlinkung in neue Zusammenhänge
stellen. Die rasch wachsende Anzahl der Nutzer führte Mitte der 90er dazu,
dass innovative Unternehmen neue Absatzmärkte, Werbe- und Informationspotentiale
erkannten und schließlich webbasierte Produktideen entwickelten. Mit anderen Worten:
Das Internet wurde kommerziell interessant.
Man erkannte auch schnell, dass dem Webbrowser als »Auge und Ohr« des Benutzers
eine wesentliche Bedeutung zukommt. Wer den am weitesten verbreiteten Webbrowser
entwickelte, bestimmt gewissermaßen, durch welche Brille der Nutzer blickt. Da es kein
zentrales Inhaltsverzeichnis, wie z.B. in einer Bibliothek gibt, beeinflussen die ersten
12
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 13
Links, die ein neuer Nutzer zur Verfügung hat, sein künftiges Surf- und Konsumverhalten
mit.
So entbrannte unter den Entwicklern von Webbrowsern intensiver Wettstreit um die
Gunst der Nutzer. Die Entwickler maßen sich darin, wer seinem Browser mehr »features«
beibringen konnte. Dabei entwickelte jeder Hersteller eigene Ansätze und neue
Markup-Tags zu dem damals aktuellen HTML 2.0 Standard. Webdesigner konnten sich
entscheiden auf welchem Webbrowser ihr Design besser aussehen oder funktionieren soll.
Tipps und Tricks, wie man die jeweiligen Eigenheiten der Webbrowser umschiffen kann,
wurden in einschlägigen Foren ausgetauscht, man schrieb »Browserweichen« mit Javascript,
um mit den eitlen Eigenheiten der Browser zu umgehen.
Das war der Entwicklung und Anwendung einheitlicher Standards für Webseiten nicht
sehr förderlich, weshalb sich 1994 mehrere Firmen zusammenschlossen um das W3-
Consortium (World Wide Web Consortium, W3C -> 1.5.2) zu gründen. Es soll die
Entwicklung allgemein akzeptierter Standards und neuer Techniken vorantreiben und
deren Akzeptanz fördern, denn erst die Zahl der tatsächlichen Anwender einer neuen
Technik entscheidet darüber, ob sie sich durchsetzen kann. Entwickler von Webbrowsern
und Webdesigner beeinflussen sich dabei wechselseitig.
»In den letzten 10 Jahren hat sich das Internet zum Massenmedium entwickelt. Niemand
bezweifelt mehr ernsthaft die kommerzielle Bedeutung des Internets. Keine der großen
Erfindungen der technischen Neuzeit hat sich so schnell ausgebreitet wie das Internet. [...]
Der Internet-Verkehr verdoppelt sich alle hundert Tage, und die Zahl der Nutzer dürfte
bis 2004 auf eine Milliarde Menschen steigen.« [F AZ] 10
Trotz der Krise der new Economy 1999 11 ist der Anteil der über das Internet abgewickelten
Geschäfte am Welthandel stetig gestiegen.
Mit den technischen Fortschritten ging die Entwicklung neuer Formen der Kommunikation
und Informationskompetenz einher. Es kommt nicht mehr so sehr darauf an Informationen
zu finden, sondern das Informationsangebot richtig zu bewerten und dann die
geeigneten Informationen auszuwerten.
Der Computer ist nicht mehr eine Maschine für eine spezielle Aufgabe, sondern ein universelles
Werkzeug zur Bewerkstelligung verschiedenster Aufgaben. Die Komplexität der
Anforderungen hat auch dazu geführt, dass kein Einzelner mehr in der Lage ist, alle
Aspekte eines Computers ausreichend zu beherrschen. Die Entwicklung von Anwendungen
wurde modularisiert, Standards für Geräte, Betriebssysteme und Netzwerke ermöglichen
Nutzung von Diensten, ohne dass man über die Details jeder einzelnen Funktion
genau Bescheid wissen muss.
Eine neue Software ist heute nur noch zu geringen Teilen wirklich neu. Entwickler ver-
10 Frankfurter Allgemeine Zeitung,10.01.2001, S.8 :
http://www.dgap.org/Publikationen/Weltwirtschaft/Wie das%20Internet%20die%20Weltpolitik%20ver%E4ndert.html
11 ikT in Deutschland - Informations- und Kommunikationstechnologien 1995 – 2003, Statistisches Bundesamt
Wiesbaden, Sept 2004, S.22 :
http://www.destatis.de/download/d/veroe/iktvoe.pdf
13
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 14
wenden verschiedene Bibliotheken (Librarys), um bestimmte Funktionalitäten nicht von
Grund auf neu umsetzen zu müssen. Frameworks bieten einem Entwickler systematisierten
Zugriff auf benötigte Dienste und Funktionen, wie Schnittstellen für Netzwerkprotokolle,
das Benutzerinterface, Ein -und Ausgabegeräte.
Es hat sich gezeigt, dass die Beteiligung vieler Entwickler die Stabilität und Sicherheit
einer Anwendung erhöhen kann. Dem trägt die OpenSource-Bewegung (->2.2) Rechnung,
sie nutzt die Kommunikationsmöglichkeiten von e-Mail, Chat oder Internetforen.
In Gruppen organisierte Entwickler tauschen Quelltexte - oft die best gehüteten Geheimnisse
kommerzieller Softwareentwickler - für einzelne Funktions-Bibliotheken oder
Anwendungsprogramme aus und ermöglichen durch verschiedene liberale Lizenzpolitiken
(-> 2.2.1) auch die Weiterverwendung der Arbeit in anderen Projekten. Die offenen
Quelltexte schaffen Vertrauen in Software im demokratischen Sinn: Wenn viele Programmierer
ein »stück Software« erfolgreich verwenden, werden Fehler erkannt, diskutiert und
korrigiert. »Hintertürchen«, die z.B. eine Sicherheitsfunktion aushebeln, werden durch
den evolutionsartigen Entwicklungsprozess vermieden.
Der selbe gedankliche Ansatz spiegelt sich auch in den freien Wissensdatenbanken wieder.
Hier schreiben die Benutzer durch einen technisch formalisierten Prozess gemeinsam an
Dokumenten. Der bekannteste Vertreter, die Wikipedia, ist mittlerweile eine der größten
Wissenssammlungen der Welt.
1.2.2. Die ersten Bilder und websichere Farben
In den Anfangszeiten des Internet (ca. 1996) konnten die meisten Computer nur 256
Farben darstellen, da die Grafikkarten mit 8Bit angesteuert wurden. Weitere Farbwerte
werden bei diesen Systemen durch Dithering dargestellt, was homogene Farbflächen zu
unansehenlichen Pixelmustern werden lässt. Heute sind 16 Bit (high color) und 32bit
(True Color) Farben Standard.
Eine verlässliche Möglichkeit zur Farbdarstellung war die Benutzung der 216-Farben-
Netscape-Farbpalette (auch Web-Palette, 6x6-ColorCube, Web-Safe ColorPalette), da
sie mit allen Browsern richtig dargestellt wurde. Die 216-Farben waren der größte gemeinsame
Nenner der PC -und Macintosh-Hardware Look-Up-Table (LUT), 40 weitere
Farben wurden auf beiden Systemen unterschiedlich interpretiert.
Diese Farbpalette ist in allen gängigen HTML-Editoren und in Photoshop integriert. Sie
setzt sich aus 6 erlaubten Farbwerten je Farbkanal (Hexadezimal: 00,33,66,99,CC,FF)
zusammen. Für RGB-Farbwerte gilt: Es sind Farbwerte erlaubt, die entweder Null oder
durch 51 teilbar sind. Eine weitere Einschränkung ergibt sich durch die unterschiedliche
Interpretation von Farbwerten aus Gif-Bildern und HTML/CSS-Farbwerten, bei 15,
16, 24 und 32-Bit-Systemen. So zeigen GIF-Bilder, die vor einen HTML-Hintergrund
gleichen Farbwerts gesetzt werden, bei manch einer Kombination aus Betriebssystemen,
Grafikkarte und Webbrowser eine Differenz zwischen Vorder- und Hintergrund.
12 Be-
12 Testseite: Demonstriert Unterschiede zwischen gif- und Hintergrundfarbwert, Nov 2005 :
http://hotwired.lycos.com/webmonkey/00/37/stuff2a/complete_websafe_216/test.html
14
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 15
rücksichtigt man dieses Problem, ergibt sich eine Websichere-Farbpalette, die nur noch
22 Farben enthält. Vermeiden kann man das Problem durch die Verwendung von transparenten
Hintergründen bei den gif-Bildern.
13 14
Heute gibt es nur noch wenige Mobil-Geräte, die nur 256 Farben darstellen können. Nach
einer Statistik von Stat-Market im Auftrag von Z-Net surften schon im Jahr 2000 mehr
als 93% mit mehr als 256 Farben 15
Die Verwendung der 216-Farben-Farbpalette ist nur sinnvoll, wenn Webanwendungen für
eine Zielgruppe mit solchen Geräten entwickelt werden.
1.2.3. Webbrowser
Webbrowser sind für die Darstellung des Inhalts einer Webseite auf einem Ausgabemedium
zuständig. Unterschiedliche Ausgabemedien werden in Kapitel 1.4.2 besprochen.
Allen Webbrowsern gemein ist ihre Fähigkeit den durch Markups strukturierten Inhalt
der Webseite in ein für Menschen verständliche Form zu bringen. Abgesehen davon, dass
manche Ausgabemedien keine Darstellung von Bildern erlauben, ist die für Farbmanagement
wesentliche Frage, wie die einzelnen Browser mit den durch Links referenzierten
Bildern umgehen. Die unterschiedlichen Vorraussetzungen, die Betriebssysteme (->1.4.1)
mitbringen, bieten beste Vorraussetzungen für farbliche Willkür.
Bezüglich der Bilddarstellung kann man Browser folgendermaßen klassifizieren:
1. Keinerlei Farbfunktionen
-> Die Farbdaten werden als referenzlose Werte an den Ausgabeprozess übergeben.
2. Standardisierte Farbfunktionen
-> Ein einheitlicher Farbraum ( z.B. sRGB ) wird bei allen Farbdaten angenommen.
Eine korrekte Transformation in den Farbraum des Ausgabegerätes wird möglich,
ist jedoch nicht mehr korrekt, wenn Bilddaten in anderen Farbräumen vorliegen.
3. Auswertung von Farbprofilen
-> In Bilder eingebettete Farbprofile werden beim Ausgabeprozess berücksichtigt
Weitere Farbdaten werden einem standardisierten Farbraum zugeordnet.
13 »Death of the Websafe Color Palette?«, David Lehn and Hadley Stern, 6.9.2000 :
http://hotwired.lycos.com/webmonkey/00/37/index2a.html
14 »The browser-safe web palette«, Lynda Weinman, Nov.2005 :
http://lynda.com/hex.html
15 Statistik zur Farbfähigkeit der Webbenutzer, Nov. 2005 :
http://reviews-zdnet.com.com/4520-6033_16-4204478.html
15
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 16
4. Auswertung von im Markup-Tags spezifizierten Farbprofilen für Farbdaten
-> es wird möglich unprofilierten Bilddaten an zentraler Stelle ein Profil zuzuordnen.
Dies ermöglicht die Reduzierung der übertragenen Datenmenge durch Verzicht
auf redundante Profile in jedem Bild. Weiteren Farben im Webdokument, wie z.B.
Hintergründen, können farbmetrisch festgelegte Werte zugeweisen werden.
Die aktuellen Webbrowser sind fast ausschließlich der Kategorie 2 zuzuordnen. Ausnahmen
bilden lediglich der Internet Explorer 5 für Mac OS-X und Apples Safari Browser.
Diese kann man der Kategorie 3 zuordnen.Mit der kleinen Einschränkung, dass sich Safari
bei Bilddaten ohne eingebettetes Farbprofil nicht an den sRGB Standard hält, sondern
das dem Monitor zugeordnete Farbprofil verwendet, was bei Daten aus dem Internet
keinen Sinn macht.
Die in künftigen CSS-Standards (->1.5.4) beschriebenen »color-profile« Eigenschaften
werden derzeit von keinem Browser vollständig unterstützt.
1.2.4. Die Akteure im Internet
Wer ist das Internet? Diese Frage muss zunächst eingegrenzt werden. Zunächst betrachten
wir aus technischer Sicht die Vorgänge, die der Abruf Web-Adresse nach sich zieht
um einige technische Begriffe zu klären. Desweiteren sollen alle an der Entwicklung von
Standards beteiligten Gruppen untersucht werden. Probleme mit denen sich für Surfer
und Webdesigner auseinander setzen müssen, werden erst bei der Problemanalyse unter
1.4.3 behandelt.
Die Kommunikation im Internet findet immer zwischen Clients und Servern statt. Soll
eine Webseite angezeigt werden stellt ein Client eine Anfrage an einen Server, der das
gewünschte Dokument ausliefert.
Der Server ist ein ganz normaler Computer, der eine permanente Verbindung zu dem
Verbund von Netzwerken hat, die wir als Internet bezeichnen (WAN-Server). Um Webseiten,
anzuzeigen wird vom Client eine http-Anfrage (Hypertext Transfer Protokoll) an
den Server gestellt - niemals umgekehrt.
Nicht alle Computer im Internet sind Webserver. Ein Webserver ist genau genommen ein
Prozess auf dem Server, der http-Anfragen beantwortet. Der berühmteste und verbreitetste
ist der Open-Source-Webserver Apache. 16 Häufig wird der Server auf dem ein
Webserver-Prozeß läuft, als Webserver bezeichnet, um Ihn umgangssprachlich von evtl.
vorhandenen lokalen Servern (LAN-Servern) abzugrenzen. Das ist nicht ganz korrekt,
führt aber im Allgemeinen nicht zu Verwechselungen.
Was geschieht nun wenn eine bestimmte Webadresse angefragt wird? Zunächst muss die
Angefragte Internetadresse, beispielsweise http://digitaldonkey.de/hallo.html einer für jeden
Internet-Teilnehmer einzigartigen IP-Adresse zugeordnet werden. Dazu wird vom
16 Webserver Apache, Apache Software Foundation :
http://www.apache.de/
16
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 17
Client ein DNS-Server (Domain Name Server) befragt: Der liefert z.B. für digitaldonky.de
die IP-Adresse 195.137.213.86 . Nun wird vom httpd-Dienst des Servers mit der
genannten Adresse die Datei hallo.html gefordert. Ist sie abrufbar, wird sie an den Client
geschickt und im Webbrowser angezeigt.
HTML-Seiten sind statisch. Unveränderliche Textdateien, die vom Webserver so, wie
sie gespeichert wurden, ausgeliefert werden. Um eine individuell angepasste Ausgabe
zu ermöglichen werden verschiedene Programmier- und Interpretersprachen, wie PHP,
PERL oder JAVA verwendet. Sie können vom Client gesendete Informationen (z.B.
aus einem Formular) verarbeiten, Datenbankabfragen vornehmen oder andere Prozesse
aufrufen. Letztendlich wird aus den dynamischen Daten ein individuelles Webdokument
generiert. Bei dieser Vorgehensweise spricht man von Serverseitiger Programmierung.
Interaktive Webseiten lassen sich durch clientseitige Programmiersprachen, wie JavaScript/Ecmascript
realisieren. In diesem Zusammenhang entstand der Begriff Dynamic
HTML (DHTML).
Wie entstehen Standards (-> 1.5) in einem dezentralen Medium wie dem Internet?
Wie wird festgelegt welche Techniken angewendet werden? Welche Akteure am Prozess
der Entwicklung von Internettechniken unabhängig vom W3C (-> 1.5.2) teilhaben
und wie sie sich dabei wechselseitig beeinflussen, soll der folgende Abschnitt beleuchten.
Um die Entwicklung von Webstandards verstehen, sollen zunächst alle Beteiligten und
ihre Motive analysiert werden:
• Der Surfer oder Benutzer ruft Webseiten auf und lässt sie von seinem Webbrowser
anzeigen. Von Webentwicklern wird der Surfer gemeinhin als ein recht naives Wesen
betrachtet, das wohl geleitet und geführt sein will - schließlich ist der Zweck einer
Webseite Informationen zu sammeln, zu verbreiten oder Geschäfte zu machen und
dazu braucht es Kunden - die Surfer. Sie interessieren sich im allgemeinen nicht
dafür, ob alles korrekt angezeigt wird, wählen aber sicherlich ein alternatives Angebot,
wenn »irgendwas nicht funktioniert«. Eine für die Entwicklung des Internets
wesentliche Entscheidung trifft der Surfer zumeist unbewusst: Welchen Webbrowser
er verwendet.
• Der Webdesigner, Webentwickler oder Webprogrammierer erstellt Internetseiten und
macht sie auf dem Server verfügbar. 17 Webdesigner müssen gut überlegen, welche
Techniken Sie anwenden und welche Webbrowser sie Unterstützen wollen. Verwenden
sie ein Element, das vom Webbrowser nicht oder nur unzureichend unterstützt
wird, müssen sie damit rechnen, dass der Surfer nicht das Gewünschte zu sehen
bekommt und bei der Konkurenz fündig wird.
• Der Webbrowser ist ein Computerprogramm, das die Anzeige von Webdokumenten
17 Der Webdesigner ist theoretisch für das Layout mit Techniken wie HTML, CSS und Flash verantwortlich,
der Webprogrammierer für Serverseitige Programmiersprachen. Da es sich oft um die selbe
Person handelt, werden die Begriffe in dieser Arbeit synonym verwendet.
17
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 18
ermöglicht. Verschiedene kommerzielle und freie Webbrowser werden mit verschiedenen
Motiven entwickelt - der Verkauf der Software Webbrowser an die Surfer ist
es nicht. Es ist üblich das Webbrowser für den Endkunden kostenlos sind. Es gibt
eine ganze Menge von Webbrowsern, welche von den Benutzern seines Webangebots
am häufigsten verwendet werden, kann der Webdesigner durch die Browserstatistik
seines Webservers erfahren.
• Der Browser-Entwickler beschäftigt sich mit der Entwicklung von Webbrowsern.
Er entscheidet welche Webstandards, Tags, Plug-ins, Grafikformate etc. ein Webbrowser
darstellen kann. Die Entwicklung eines Webbrowsers ist ein aufwändiges
Projekt und welche Standards und Techniken unterstützt werden sollen ist nicht
nur eine Frage der technischen und benutzerorientierten Notwendigkeit, sondern in
großem Maße abhängig von marktstrategischen Überlegungen.
• Entwickler von HTML-Editoren bestimmen darüber welche Techniken den weniger
Interessierten Webmastern zur Verfügung stehen. Sie setzen bestimmte Standards
in »What You See Is What You Get« (WYSIWYG) Editoren um und beeinflussen
damit den Großteil der Webdesigner.
Angenommen das W3C hat eine neue Standard-Empfehlung herausgegeben, es gibt auch
schon ein bis zwei Webbrowser, die diese Technik unterstützen. Professionelle Webmaster
werden diese Technik so lange nicht einsetzen, bis der Großteil der Surfer Webbrowser
verwendet, die sie unterstützen. Bestenfalls entwickelt er eine Alternative, die die Verwendung
der neuen und einer etablierten Technik parallel erlauben (Browserweiche), denn
er will keine Benutzer verlieren.
Für Browser-Entwickler wird es erst dringend die neue Technik zu implementieren, wenn
sie eine gewisse Verbreitung gefunden hat und er Gefahr läuft eine Entwicklung verpasst
zu haben. Innovationen, wie die Implementierung eines neuen Standards bergen immer
das Risiko auf den Entwicklungskosten sitzen zu bleiben, wenn sich die Technik nicht
durchsetzt.
Der WYSIWYG-Editor-Entwickler will ein ausgereiftes Produkt verkaufen. Er arbeitet
ziel orientiert, d.h. er sucht für eine bestimmte Funktion, beispielsweise die Darstellung
einer Tabelle, einen Weg diese auf möglichst allen Browsern korrekt darzustellen - er
orientiert sich also an den unterstützten Browser-Techniken.
Der Großteil der Surfer verwendet den Webbrowser der Firma Microsoft, weil er mit
dem Betriebssystem ausgeliefert wird. Eine neue Technik, selbst wenn sie vom W3C als
Standard empfohlen wurde, hat es also nicht leicht sich durchzusetzen, solange sie nicht
vom Marktführer unterstützt wird.
1.2.5. Farbliche Abweichungen bestimmen
Es gestaltet sich äußerst schwierig, genau zu bestimmen, welche Farben ein Internetsurfer
zu sehen bekommt, denn einerseits bestimmt das Betriebssystem (->1.4.1) und
18
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 19
der Webbrowser (-> 1.2.3) darüber, wie die Farben eines Bildes dargestellt werden und
andererseits steht es dem Surfer frei, selbst bei technisch guten Vorraussetzungen für
ungünstige Betrachtungsbedingungen (->1.4.3) zu sorgen.
Da die meisten Webbrowser Farbprofile ignorieren und die Bilddaten als sRGB-Farbwerte
interpretieren, können augenfällige Farbabweichungen entstehen, wenn Bilder nicht im
sRGB Farbraum vorliegen, auch wenn sie das richtige Farbprofil eingebettet haben.
Ein systematischer Fehler entsteht, wenn Bilddaten im Adobe-RGB-Farbraum innerhalb
einer Webseite verwendet werden, die mit dem Internet-Explorer auf einem Windows-
System angezeigt werden. In diesem Fall kann man, unabhängig von den Betrachtungsbedingungen,
Farbabstände quantifizieren, die durch die falsche Interpretation der Bilddaten
entstehen.
Im Rahmen dieser Arbeit habe ich eine Webanwendung 18 mit Javascript erstellt, um
die Auswirkungen einer solchen Fehlinterpretation zu visualisieren. Der Anwender hat
die Möglichkeit verschiedene Farbwerte anzugeben und sich die Farbdifferenz anzeigen
zu lassen.
Der ausgewählte 8bit RGB-Farbwert wird sowohl nach dem sRGB- 19 als auch nach dem
Adobe-RGB 20 Standard in den Lab Farbraum umgerechnet. Der sich ergebende Lab-
Farbabstand wird nach CIE-Farbabstandsformeln bestimmt und angezeigt.
Die Quelltexte der Anwendung finden sich im Anhang (->A.6).
1.2.6. PDF
Einer der Hauptgründe warum sich neue Farbmanagementtechniken im Internet nicht so
recht durchsetzen wollen, ist das von der Firma Adobe-Systems 1993 entwickelte Portable
Document Format (PDF). Ein proprietäres, aber offen gelegtes Format zur Seitenbeschreibung.
Im Gegensatz zu HTML ist die Ausgabe vollkommen unabhängig vom
Ausgabemedium, der Ersteller eines Dokuments legt die Seitengröße fest. In der Druckindustrie
erfreut sich PDF als Austausch- und Archivformat großer Beliebtheit. Ein Teil
der PDF-Spezifikation wurde von der ISO in den Normen für PDF-X (ISO 15930) und
PDF-A (ISO 19005) zum internationalen Standard erhoben.
Das PDF-Format basiert auf für Drucker entwickelten Post-Script Seitenbeschreibungssprache.
Es ist möglich Bilder in verschiedenen Farbräumen innerhalb eines Dokuments
zu verwenden und dem gesamten Dokument kann ein beliebiger Farbraum zugewiesen
werden. Auf Betriebssystemen mit CMS-Funktionen werden PDF-Dokumente farbkor-
18 Webanwendung zur Visualisierung von Farbdifferenzen :
http://colormanagement.digitaldonkey.de/farbdifferenz
19 »A Standard Default Color Space for the Internet - sRGB«, Michael Stokes, Matthew Anderson,
Srinivasan Chandrasekar, Ricardo Motta, Version 1.10, November 1996 :
http://www.w3.org/Graphics/Color/sRGB
20 Adobe R○ RGB (1998) Color Image Encoding, Version 2005-05 :
http://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
19
1.2. AKTUELLE SITUATION DES FARBMANAGEMENTS IM INTERNET 20
rigiert angezeigt. Mit Adobe-Acrobat (Professionell) lassen sich auch Druckfarbräume
simulieren (Softproof). Außen vor bleiben, wie bei den Browsern, Betriebssysteme ohne
entsprechende CMM-Funktionen.
Anzeigen lassen sich PDF-Dokumente mit Adobes Acrobat-Reader. Das Programm wird
kostenlos vertrieben, ist für alle Plattformen verfügbar und lässt sich als Plug-in in gängige
Webbrowser integrieren. Mac OS-X verwendet das PDF-Format für die Berechnung
der Bildschirmausgabe.
Es gibt eine große Anzahl von Programmen mit denen sich PDF Dokumente erzeugen
lassen. Der Großteil aktueller Grafik-Software bietet PDF-Export-Funktionen, zahlreiche
Programme ermöglichen PDF-Dokumente aus dem Druck-Dialog zu erzeugen, Bibilotheken
für gängige Programmiersprachen vereinfachen Entwicklern die Erstellung von PDF-
Dokumenten. Die Qualität der erzeugten Dokumente kann jedoch variieren, da nicht
alle Entwickler alle Funktionen der fast 1300 Seiten starken PDF-Dokumentation 21
umgesetzt haben.
PDF wurde auf die Darstellung im Internet optimiert, so lassen sich Dokumente der
jüngeren Generation beispielsweise anzeigen noch ehe sie vollständig geladen sind. Das
Format hat im Internet sehr große Verbreitung gefunden und eignet sich zum Austausch
farbrelevanter Daten. Leider können die meisten Browser PDF nur mit Hilfe eines Plugin
in einem eigenen Browserfenster anzeigen - nur Apples Safari kann PDF ebenso wie
alle anderen Bilder behandeln und an beliebiger Stelle in die Webdokumente integrieren.
1.2.7. Farbmanagement mit Java
Es gab auch Versuche Webbrowsern mittels in Webdokumente eingebetteten Java-Applets
farbrichtige Darstellung zu ermöglichen. Diese Lösungen offensichtlich an mangelnder Akzeptanz
durch die Benutzer.
Die Applets erfreuten sich nie großer Beliebtheit: Man benötigt eine installierte Java-
Virtual-Machine, das Applet muss vom Browser zunächst geladen werden. Schließlich
haben manche Benutzer Sicherheitsbedenken und deaktivieren Java, auch wenn der Zugriff
auf Dateien auf der Festplatte des Internetsurfers prinzipiell unmöglich ist. Der
Zugriff auf ein ggf. vorhandenes lokales Monitorprofil ist nicht möglich, ein Applet kann
nur mit einem Server kommunizieren oder Cookies auslesen.
Das Problem bei Farbmanagement mit Java besteht für den Programmierer darin, ein
geeignetes Farbprofil für das Ausgabegerät zur Verfügung zu haben: Der Surfer muss
selbst Initiative ergreifen und sein Bildschirmprofil auf den Server laden oder mit Hilfe
des Applets visuell ein geeignetes Farbprofil erstellen.
Für die Bearbeitung von Profilen und Farbberechnungen ist Java gut geeignet. Das Pa-
21 PDF Reference - fifth edition, Adobe R○ Portable Document Format Version 1.6 :
http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf
20
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 21
ket jawa.awt.color 22 bietet dazu verschiedene Unterklassen, die dem Programmierer
Aufgaben, wie das Einlesen von Farbprofilen abnehmen können. Neben der Programmiersprache
C und deren Weiterentwicklungen bietet Java die beste Unterstützung für
Anwendungen im Sinne des ICC-Standards.
Es gab schon mehrere in Java realisierte CMM-Anwendungen im Internet. Im Prinzip
funktionierten Sie folgendermaßen:
• Benutzer erstellt beim ersten Besuch der Webseite ein Farbprofil. Dies geschieht
visuell wie bei Adobe Gamma oder der Anbieter verschickt Farbfilter per Post, die
dem Benutzer bei der Kalibrierung unterstützen.
• Das Farbprofil wird auf dem Server gespeichert, ein Cookie beim Client ermöglicht
die Identifizierung des Surfers, so dass beim nächsten Besuch die Profilierung nicht
mehr stattfinden muss.
• Mit Hilfe dieses Farbprofils kann nun auf dem Server eine Verrechnung der Bilddaten
mit dem Ausgabeprofil stattfinden - die farbkorrigierten Bilder werden speziell
für den Client übertragen und innerhalb eines normalen Webdokuments im Webbrowser
angezeigt, wie beim True Internet Color System der Firma e-color.inc Die
Anwendung Websync überließ die Farbberechnungen dem Prozessor des Client-
Computers: das Java-Applet verrechnete Bilddaten und Monitorprofil.
Beiden Anwendungen ist gemeinsam, dass der Anwender gezwungen ist zu handeln, noch
bevor er feststellen kann, was er eigentlich von dem ganzen Aufwand hat. Die zweite
Gemeinsamkeit ist, dass beide Anwendungen nicht mehr weiterentwickelt wurden, sich
auf dem Markt offensichtlich nicht durchsetzen konnten.
23 24
1.3. Farbdarstellung in digitalen Medien
Dieses Kapitel befasst sich mit Themen und Begriffen der Farbdarstellung in digitalen
Medien. Es bildet die Grundlage für das Verständnis der Problematik »Farbmanagement
im Internet« und der im praktischen Teil beschriebenen Anwendungen.
22 Das Java Paket java.awt.color in Java 1.4 bietet Klassen für Farbräume und eine Implementierung des
ICC Standards (Version 3.4) :
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/color/package-summary.html
23 Color Real, Web-Farbmanagement per Java Applet :
http://www.coloreal.com
24 e-color.inc »True Internet Color System« Farbmanagement mit Java Applets :
http://www.peimag.com/pdf/pei00/pei0300/benedettipei0300.pdf
21
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 22
1.3.1. Farbwahrnehmung, Color-Appearance und
Betrachtungsbedingungen
Ziel eines Colormanagementsystems ist es
den Farbeindruck einer Vorlage auf unterschiedlichen
Medien für das Auge des Betrachters
so ähnlich wie möglich erscheinen
zu lassen. Ähnlich, weil es aufgrund der physikalischen
Beschaffenheit der Primärfarben
von Druck und Monitor und den Einflüssen
durch das Umgebungslicht nicht möglich ist,
spektral gleiche Farben zu erzeugen.
Die Spektralfarben der Bildschirmphosphore
(additive Farbmischung) erzeugen im Auge
einen wesentlich intensiveren Farbreiz, als
die lasierenden, nicht ganz reinen Primärfarben
bei subtraktiv gemischten Druckfarben
hervorrufen können.
Abbildung 1.5.: Reproduzierbare Betrachtungsbedingungen
können mit Hilfe eines
Normlichtbetrachters geschaffen werden
Die Wahrnehmung von Farbreizen hängt aber auch wesentlich von dem umgebenden Licht
ab. In der Druckindustrie benutzt man für den Vergleich von gedruckten Farberzeugnissen
Normlichtbetrachter. Ausgestattet mit speziellen Lampen nach dem D50 Standard
ermöglichen sie einen objektiven Vergleich der Farben. Bei der Arbeit am Bildschirm
wird der Einfluss des Umgebungslichtes durch das Farbwahrnehmungsmodell (color appearance
model) des verwendeten Farbraumes festgelegt.
Grundsätzlich sollte man beachten unter welchen Bedingungen man farbrelevante Arbeiten
vornimmt, denn es macht einen wesentlichen Unterschied in welcher Umgebung ein
Monitor betrachtet wird. Je nach Umgebung benötigt man ein anderes Visuelles-Gamma
(-> 1.3.2) damit die Farben natürlich anmuten.
Ein exakt arbeitendes Colormanagementsystem muss folglich die Helligkeit und Farbtemperatur
des Umgebenden Lichts berücksichtigen. Bisher half man sich mit festen Definitionen
der Umgebungsbedingungen aus, die in den Standards der Farbäume festgelegt
sind und die schon manchen Farbverarbeiter nach einer morgendlichen Systemkalibrierung
im Abendlicht verzweifeln ließen. Definierte Arbeitsumgebungen sind zwar nicht
gänzlich zu vermeiden, denn ein farbig gestrichener Raum wird auch in Zukunft unseren
Sehsinn beeinflussen, doch künftige Entwicklungen von Hard- und Software lassen
Verbesserungen erwarten. So ist manch TFT-Display der neuesten Generation mit einem
Sensor zur Messung des Umgebungslichts ausgestattet, das CMM von Microsofts künftigem
Betriebssystem »Windows Vista« wird voraussichtlich diese Informationen bei der
Gammaberechnung berücksichtigen.
Ein professioneller Farbarbeitsplatz sollte mit steigendem Ansprüchen folgende Merkmale
aufweisen:
• Neutrale Farbe für Wände und große Flächen: Im Idealfall in einem mittleren Grau,
sonst reines Weiß
22
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 23
• Keine bunte Kleidung bei der Bildbearbeitung tragen
• Direkte Sonneneinstrahlung vermeiden, gut geeignet sind farbneutrale Jalousien
• Blendschutz für den Monitor oder das Display minimiert Streulichteinfluss
• Normlichtbeleuchtung D50. Helligkeit ca. 60-100 Lux
Abbildung 1.6.: Auch ungeeignete Kleidung kann zu Farbverfälschungen führen
Abbildung 1.7.: Einfluss des Umgebungslichts durch Reflexion auf dem Bildschirm
1.3.2. Das Gamma der elektronischen Bildverarbeitung
Die Gammakurve bezeichnet die Helligkeitsverteilung aller Mitteltöne zwischen dem
Schwarz- und dem Weißpunkt eines Bildes. Es gibt kaum Geräte mit einen linearen
Gamma (γ = 1).
Im Algemein gilt:
Ausgangssignal = (Eingangssignal) γ
Betrachtet man die einzelnen Farbkanäle eines RGB-Signals:
R ′ = R γ G ′ = G γ B ′ = B γ
Ob die Verteilung der Tonwerte eines Bildes natürlich wirkt, hängt wesentlich von den
Lichtverhältnissen der Umgebung ab. Man unterscheidet Betrachtungsbedingungen, die
jeweils ein anderes typisches γ visuell implizieren.
23
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 24
Einteilung unterschiedlicher Umgebungsbedingungen
• Dunkle Umgebung (dark evironmement, < 15 Lux), wie sie in Kinosälen und bei
der Diabetrachtung üblich sind.
γ visuell = 1, 5
• Stark gedämpftes Umgebungslicht (very dimm room, ca. 15 Lux)
γ visuell = 1, 25
Entspricht den in der HDTV-Fernsehwelt üblichen Umgebungsbedingungen, wie
sie in der ITU-Empfehlung BT.709 festgelegt sind.
• Gedämpftes Umgebungslicht (ca. 64 Lux)
γ visuell = 1, 125
• Büroumgebung (bright surround, ca. 200 Lux)
γ v visuell = 1
Visuelles-Gamma (viewing gamma)
Betrachtet man einen digitalen Bildverarbeitungsprozess so bekommt man es mit einer
ganzen Reihe von Gammawerten zu tun. Der Gammawert des gesamten Systems ist
das Visuelle-Gamma, es wird typischerweise durch Multiplikation von Kamera-Gamma
und Anzeige-Gamma ermittelt. γ v visuell kann auch visuell mit einem Testbild bestimmt
werden.
γ visuell = γ Kamera γ Display
Das visuelle Gamma ist von der Helligkeit des Umgebungslichts abhängig. Ein typischer
Wert für gedämpft beleuchtete Umgebungen (ca. 64 Lux), wie er dem sRGB Standard
entspricht:
γ visuell = 1, 125
Kamera-Gamma (camera gamma)
Charakteristik der physikalisch durch die verwendeten Bauteile bestimmten Übertragungsfunktion
Bildaufnahmegeräts.
Heute wäre es aufgrund technischer Fortschritte durchaus möglich Ein- und Ausgabe mit
einem linearen Gamma zu produzieren. Wir schleppen aber noch eine »Altlast« aus den
Anfangszeiten des Fernsehens mit uns herum. Zu dieser Zeit gab es noch keine technischen
Möglichkeiten das Bildgamma in Echtzeit zu verändern. Man behalf sich, indem man die
physikalisch bedingten Gammas von Aufnahmebildröhre (γ = 0.45) und Wiedergabegabebildröhre
(γ = 2, 2) im Fernsehstandard festschrieb, um insgesammt ein visuelles
Gamma von 1 zu erhalten (Gamma Vorverzerrung).
Anzeige-Gamma (display gamma)
Gammawert des Ausgabesystems.
γ Display = γ crt γ lut
24
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 25
Monitor-Gamma (CRT gamma - Cathode Relay Tube) Physikalisches Gamma des
Bildausgabegeräts.
Bei Bildröhren ist die Leuchtdichte des Bildschirms folgender Beziehung definiert:
L = L max (gD + O) γcrt
L: Leuchtdichte [cd/m 2 ] D: Pixelwert [0-255]
L max : Maximale Leichtdichte
g: gain = Verstärkung, Kontrastregler des CRT
O: Offset, Helligkeitsregler des CRT
Für den Benutzer ist es verwirrend, dass die Regler für Helligkeit und Kontrast am
Bildschirm nicht ganz das tun, was man intuitiv erwartet. So verstellt man mit dem
Kontrast-Regler tatsächlich Leuchtdichte einer weißen Fläche (also die Helligkeit) und
mit dem Helligkeits-Regler die minimale Leuchtdichte, also die des Schwarzpunkts ein.
Wird der Kontrast auf das Maximum gestellt und die Helligkeit so eingestellt, dass der
Schwarzwert gerade kein Licht emitieren läßt, also genauso hell, wie der ausgeschaltete
Bildschirm ist, vereinfacht sich die obige Gleichung zu
L = (L max D) γcrt
und der Kontrastumfang des Bildschirms wird maximal ausgenutzt. Die Helligkeit des
Pixelwerts 0 (minimale Leuchtdichte) ist vom Umgebungslicht abhängig, weshalb die
Betrachtungsbedingungen (-> 1.3.2) zu berücksichtigen sind. Schlechtere Bildschirme
reflektieren bis zu 20% des Umgebungslichts, das dann die Farben des digitalen Bildes
überlagert.
Grafikkarten Gamma (LUT gamma - Look Up Table der Grafikkarte)
Gamma des Bildspeichers (framebuffer) der Grafikkarte ist abhängig von der Treibersoftware
der Grafikkarte, folglich also abhängig vom verwendeten Betriebssystem.
Bei der Verwendung von ordnungsgemäß eingerichteten CMS sollte der Anwender keine
Probleme mit dem LUT-Gamma bekommen, da das CMS die LUT der Grafikkarte mit
den Informationen aus dem BToA0Tag des ICC Profils versorgt wird. Die Diskussion
über PC-Gamma (2,2) und Mac Gamma (1,8) ist seit Einführung von CMM eigentlich
überflüssig geworden, wird aber immer noch gerne geführt. Webdesigner sollten ein
sRGB-kompatibles Gamma von 2,2 einstellen.
25
1.3.3. Farbräume
Ein Farbraum ist ein Modell zur anschaulichen Darstellung von Farben, es ergibt sich aus
der numerischen Beschreibung von Farben. 26 Es gibt Farbräume die dem menschlichen
25 Portable Network Graphics (PNG) Specification (Second Edition), Nov. 2003 :
http://www.w3.org/TR/2003/REC-PNG-20031110
26 Lexikon der Bildverarbeitung, Helge Moritz, Hüthig Verlag Heidelberg, 2003
25
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 26
Farbempfinden entsprechen (z.B. CIE-Lab, CIE Luv) und solche deren Farbabstände
nicht sinnvoll vergleichbar sind (z.B CIE-XYZ). Man unterscheidet geräteabhängige Farbräume
(device-color-spaces) und geräteunabhängige Farbräume (device-independendcolor-spaces).
Zum Vergleichen von Farbräumen ist die dreidimensionale Darstellung besonders geeignet,
da sich bei der Darstellung in zwei Dimensionen immer nur Ausschnitte des Gamuts
bei festzulegenden Helligkeitsabstufungen darstellen lassen. Mac OS-X (->1.4.1) ermöglicht
den visuellen Vergleich ebenso, wie das kostenlose ICC-Examin 27 oder die ebenfalls
auf Argyl-CMS 28 basierende Webseite ICC-View 29
Es gibt eine unendliche Anzahl von geräteabhängigen Farbräumen, da bei jedem Gerät,
ob Scanner, Kamera, Monitor und Druckprozess, jeweils unterschiedliche physikalische
Vorraussetzungen gegeben sind.
• Bei Scannern und Kameras bestimmen die spektralen Empfindlichkeiten der Sensoren
den Farbwert eines Pixels
• Monitore und TFT-Displays haben unterschiedliche Phosphore bzw. Farbfilter und
mischen die Farben additiv zusammen (sind alle Farben voll ausgesteuert ergibt
sich Weiß)
• Druckprozesse mischen manchmal drei, zumeist aber vier oder mehr Farben subtraktiv
zusammen (d.h. viele Farben ergeben zusammen Schwarz)
Selbst Geräte aus der gleichen Produktionsserie weisen aufgrund von Fertigungstoleranzen
unterschiedliche Farbcharakteristiken auf. Viele Hersteller haben für die Vermessung
von Farbräumen verschiedener Ein- und Ausgabegeräte Messverfahren und entsprechende
Messgeräte entwickelt, die meist mit der entsprechenden Software für die Profilerstellung
ausgeliefert werden. Neben Bildschirmen, TFT-Displays, Druckprozessen und
verschiedenen Druckern kann man mittlerweile auch für Projektoren Farbprofile erstellen.
Geräteabhängige Farbräume werden im allgemeinen als LUT-Farbprofile (-> 1.3.6)
gespeichert, da hierbei die Farbabweichungen der Geräte besser korrigiert werden können.
Dazu kommen geräteunabhängige Farbräume, die für spezielle Anwendungsgebiete entwickelt
wurden. Zum Beispiel visuell gleichabständige Farbräume als Grundlage für Farbabstandsberechnungen,
weichere Gammas für die Offset-Druckvorstufe oder unkomplizierte
Handhabung für den Consumer-PC.
Theoretisch ideal ist der CIE-L*a*b* Farbraum. Er besitzt einen für den menschlichen
Sehsinn homogene Koordinatenverteilung (d.h. er ist visuell gleichabständig) und in-
27 Farbprofile unter Linux uns OS-X analysieren: ICC-Examin :
http://behrmann.name
28 Experimentielles Colormanagment für Unix: Argyl-CMS :
http://www.argyllcms.com
29 ICC-Profile online vergleichen :
http://www.iccview.de
26
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 27
ternational genormt. 30 Er dient neben CIE-XYZ als Austauschfarbraum (PCS - Profile
Connection Space) beim ICC-Farbmanagement.
Die CIE Farbräume sind vollkommen geräteunabhängig und basieren auf empirischen
Forschungen zum menschlichen Farbsehen. Die Betrachtungsbedingungen sind durch die
D50-Standardbeleuchtung und den 2 ◦ -Standard-Beobachter festgelegt. 31
Die ICC-Spezifikation legt jedoch nicht fest, wie die Austauschfarbräume bei der digitalen
Umsetzung beschrieben werden - wie sie zu quantisieren sind. Das war gut gemeint,
man wollte es den Entwicklern eines CMS offen lassen, in welcher Genauigkeit sie
den PCS umsetzen, doch es hat auch dazu geführt, dass CMS verschiedener Hersteller
bei gleichen Ausgangsbedingungen zu unterschiedlichen Ergebnissen kommen können.
32
Die PCS, CIE-XYZ und CIE-L*a*b* sind also medienneutrale, allumfassende Farbräume,
sie umfassen alle aktuellen physikalischen Farbräume inklusive des menschlichen Farbsehens.
Bei der heute noch üblichen Codierung von Bilddaten mit 8bit/Farbkanal (8bpc -
Bit per Chanel) werden die Abstände zwischen den einzelnen Farbabstufungen so groß,
dass es, spätestens bei der unvermeidlichen Umwandlung in den Farbraum des Ausgabegeräts,
zu Branding-Fehlern käme. Eine höhere Quantisierung mit 16 oder 32bpc erhöht
Speicherbedarf und Rechenaufwand. Die PCS eignen sich bei aktuellen Computern folglich
nicht als Farbräume für Bildbearbeitung.
Deshalb haben sich als geräteunabhängige Farbräume verschiedene matrixbasierte (->
1.3.6) RGB-Farbräume etabliert. Sie eignen sich als Arbeitsfarbräume und werden von
den meisten Bildbearbeitungsprogrammen unterstützt. Einige sollen im folgenden kurz
vorgestellt werden, der als Internet-Standard-Farbraum festgelegte 33 sRGB Farbraum
wird genauer betrachtet.
34
Die wichtigsten Unterscheidungskriterien sind:
• Größe des Gamut
Welche Ein- und Ausgabefarbräume eingeschlossen werden. Ergibt sich aus Gamma
und den Primärfarben 35 des Farbraumes.
• Weißpunkt (WP)
Manche Farbräume orientieren sich an den Standards der Grafischen Industrie, die
das genormte Prüflicht D50 verwendet, andere verwenden als Weißpunkt den in
Normen für Büroumgebungen festegelegten D65 Standard. Bei der Umrechnung
von D65-Farbräumen in Farbräume gängiger Druckprozesse ist eine Weißpunktan-
30 ISO 13655:1996
31 CIE Standard 1931
32 CIE Specification ICC.1:2004-10 :
http://www.color.org/ICC1V42.pdf
33 A Standard Default Color Space for the Internet - sRGB :
http://www.w3.org/Graphics/Color/sRGB
34 »Wohlgefühl im Farbraum«, Digit 2/2005, Klie Verlag Hann. Münden
35 Eine Übersicht über Weißpunkte und Primärfarben wichtiger Farbräume :
http://www.brucelindbloom.com/index.html?WorkingSpaceInfo.html
27
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 28
passung notwendig, die nicht nur die Grauachse, sondern den gesamten Farbraum
verschiebt, was die Genauigkeit der Reproduktion verringert.
• Gradation
Das Gamma, das der digitalen Codierung der Daten zugrunde liegt, ist die Gradation
des Farbraums. Die wesentliche Aufgabe eines Arbeitsfarbraums ist es, möglichst
viele Bildinformationen zu speichern. Da ein 8bit Bild unabhängig in welchem Farbraum
es abgespeichert wurde 256 Farbabstufungen je Farbkanal enthält, ist nun
die Frage wie geschickt diese Stufen in einem Farbraum verteilt werden.
Der visuelle Informationsgehalt hängt vom Empfänger ab. Bildanteile, die dieser
nicht wahrnimmt, tragen nicht zum Informationsgehalt bei. Es geht darum, die
Helligkeitsbereiche in denen das menschliche Auge eine feine Unterscheidung ermöglicht,
bei der Datenspeicherung zu bevorzugen und den weniger relevanten
Bildteilen, wie dem Bildrauschen in dunklen Bildteilen weniger Abstufungen zuzuteilen.
Ein visuell gleichabständiger Farbraum speichert die Daten für die medienunabhängige
Bildbearbeitung am besten, denn bei der Transformation in den Ausgabefarbraum
wird dessen LUT (-> 1.3.2) optimal mit Daten versorgt.
Ältere Farbräume orientieren sich oftmals am Gamma des bevorzugten Ausgabeprozesses
um Rundungsfehler bei der Gamma-anpassung zu minimieren.
sRGB
ist der Standardfarbraum für Internet, Konsumer- und Officeanwendungen.
Wegen der wichtigen Bedeutung im Internet gehe ich unter 1.3.4 noch genauer darauf
ein.
WP: D65, Gamma: 2,2
Adobe-RGB
ist ein Kompromiss aus den Anforderungen der Druckvorstufe und Konsumer Anwendungen.
Ein erweitertes sRGB das auch den in Europa wichtigen Euroscale-Offsetdruck-
Farbraum einschließt. Adobe-RGB wird heute oft in »besseren Digitalkameras« als Ausgabefarbraum
angeboten. Problematisch ist das Gamma von 2,2 in dunklen Bereichen:
Für die dunkelsten 3% der Grauachse, die eher Bildrauschen als Bildinformationen enthalten,
werden ca. 10% der verfügbaren Abstufungen (ca. 4-5 Bit) »verschwendet«.
WP: D65 Gamma: 2,2
ECI-RGB
hat sich seit 1999 im Bereich der Druckvorstufe bewährt und wurde von der ECI als
Arbeitsfarbraum empfohlen. Er eignet sich für medienneutrales Speichern von Bilddaten
und als Basis für Ausgaben in gängigen Druckverfahren, wie Offset und Tiefdruck oder
Fotobelichtern. Das Gamma ist dem des Offsetdrucks ähnlich und der Weißpunkt entspricht
den Standards in dieser Branche.
WP: D50 Gamma: 1,8
28
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 29
LStar-RGB
wurde 2004 als Nachfolger des ECI-RGB entwickelt und hat den gleichen Farbumfang.
Er ist wie L*a*b* visuell gleichabständig und somit linear.
WP: D50 Gamma. 1,0
1.3.4. sRGB
ist der vom W3C für die Verwendung im www empfohlene Farbraum. Auf Betriebssystemen
der Firma Microsoft wird er für alle nicht farbmanagementfähigen Anwendungen als
Standardfarbraum verwendet und auf Unixsystemen mit X-11-Anwendungen ist Kompatibilität
gewährleistet, da X-11 ebenfalls ein visuelles Gamma von 2,2 vorsieht. Das macht
sRGB zum zur Zeit verbreitetsten Farbraum für Computeranwendungen im Consumerbereich.
Entwickelt wurde sRGB, um neben dem Farbmanagement nach ICC-Standard einen
für den Betrachter möglichst unkomplizierten Farbraum verfügbar zu haben, die zur
damaligen Zeit noch rare Rechenkapazität für Farbtransformationen zu sparen und den
Programmieraufwand bei farblich weniger relevanten Anwendungen einsparen zu können.
Ziel der Standardisierung war auch, Bilder ohne eingebettete Farbprofile abspeichern zu
können, um die Dateigröße zu minimieren.
sRGB basiert auf Vermessungen von CRT-Bildröhren und gilt als der durchschnittliche
Bildschirmfarbraum für Büro- und Consumergeräten. Das vorgesehene CRT-Gamma von
2,2 ermöglicht die für den Austausch mit der Fernsehwelt notwendige Kompatibilität mit
dem 1990 verabschiedeten, internationalen HDTV-Standard (High Definition TeleVision)
der ITU High Definition TeleVision, ITU-Standard BT-709. 36 Dieser basiert wiederum
auf den Fernsehnormen PAL und SECAM, weshalb man Farben von europäischen Fernsehbildern
ohne Korrekturen über den Bildschirm ausgeben kann. Als Farbraum für die
Condition
sRGB
Luminance level
80 cd/m2
Illuminant White
x = 0.3127, y = 0.3291 (D65)
Image surround
20% reflectance
Encoding Ambient Illuminance Level
64 lux
Encoding Ambient White Point x = 0.3457, y = 0.3585 (D50)
Encoding Viewing Flare 1.0%
Typical Ambient Illuminance Level
200 lux
Typical Ambient White Point x = 0.3457, y = 0.3585 (D50)
Typical Viewing Flare 5.0%
Tabelle 1.2.: sRGB viewing environment Parameters
36 High Definition TeleVision, ITU-Standard BT-709.:
http://www.itu.int
29
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 30
Druckvorstufe ist sRBG hingegen ungeeignet: der Weißpunkt D65 entspricht nicht dem
Standard und das Gamut ist besonders in den Grüntönen kleiner als gängige CMYK-
Druckfarbräume.
Die Betrachtungsbedingungen für den sRGB Farbraum sind ein Kompromiss zwischen
den unterschiedlichen Anforderungen. Der BT.709-Standard sieht eine dunkle Umgebung
vor. Viele Heimcomputer stehen in einer gedämpft beleuchteten Umgebung, die
Lichtverhältnisse eines typischen Computerarbeitsplatzes sind jedoch sehr viel heller (-
> 1.3.2). Es wird unterschieden zwischen einer Umgebung zur Bildbearbeitung (typical
encoding environment), die auch als Betrachtungsumgebung empfohlen wird, und einer
typischen Betrachtungsumgebung (typical viewing environment), wie in Richtlinien für
Büroarbeitsplätzen vorgesehen. Der Weißpunkt des Umgebungslichtes entspricht dem
D50-Standard.
Es ist also vorgesehen, dass sich der Produzent von sRGB-Daten intensiver um die Bedingungen
an seinem Arbeitsplatz kümmert und der Betrachter sich wenig Gedanken machen
muss und zur Anpassung von Lichtern und Tiefen die Helligkeit/Kontrast-Einstellungen
des Bildschirms benutzen kann.
Das Anzeige-Gamma ergibt sich beim sRGB Farbraum aus einem angenommenem γ crt
von 2,2 37 und einem linearen γ lut = 1. Im sRGB Farbraum gespeicherte Daten müssen
also erst mit einer Gammafunktion behandelt werden, bevor Sie in einen Austauschfarbraum
umgerechnet werden können. Die Primärfarben entsprechen nahezu denen des
BT.709-Standards.
1.3.5. Medienneutrale Arbeitsprozesse
Bei der Menge an Farbräumen drängt sich die Frage auf, welcher Farbraum für wen geeignet
ist. In den letzten Jahren ist es üblich geworden, Bilder in einem geräteunabhängigen
Arbeits- und Archivfarbraum abzuspeichern. Welcher Farbraum dafür verwendet
wird hängt einerseits von den verwendeten Bildaufnahmegeräten ab, andererseits von
den vorgesehenen Ausgabemedien. Das Gamut des idealen Arbeitsfarbraums beinhaltet
alle Ein- und Ausgabegeräte. Ein gemeinsamer Weisspunkt ist wünschenswert, um
verlustbehaftete Berechnungen zu vermeiden.
Für einen Webdesigner, der gelegentlich Bilder einscannt oder mit einer einfachen Digitalkamera
aufnimmt, bietet sich sRGB als Arbeitsfarbraum an: Konsumer-Geräte bieten
oft sRGB Daten an, Bilddaten vom Scanner können umgerechnet werden. Werden
alle Bilder konsequent in sRGB archiviert, sinkt der Aufwand für die Weiterverarbeitung.
Für eine Bildagentur wäre ein solcher Workflow allerdings ungeeignet. Die Farbräume von
professionellen Kameras und Scannern würden in sRGB »gezwängt«, und für manchen
Farbton im Offsetdruck gäbe es keine ausreichende Datenbasis.
37 Es handelt sich nicht exakt um ein Gamma von 2,2. Im Bereich der Tiefen wird ist die Funktion nicht
Linear (->2.3.5)
30
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 31
Es kommt also bei der Wahl des persönlichen Archivfarbraums darauf an, woher man
die Bilddaten bezieht und welche Ausgabegeräte man hauptsächlich verwenden will. Unnötige
Umwandlungen sollten vermieden werden, denn jede Farbtransformation ist mit
Rundungsfehlern behaftet und lässt das Bild unschärfer werden. Folglich macht es keinen
Sinn als Webdesigner alle Bilder in L*RGB umzuwandeln und für die Webausgabe
zurück in sRGB zu transformieren.
1.3.6. ICC-Profile Format
Das International Color Consortium (ICC) hat 1993 einen Standard veröffentlicht, der
es ermöglicht den Bytes, in denen die Bilddaten codiert sind, physikalisch messbare Größen
zuzuordnen. Seit September 2003 ist die ICC-Spezifikation 1-2004-10 38 aktuell.. Die
Spezifikation ist auch als ISO Norm verfügbar. 39
An dieser Stelle sollen nur einige für diese Arbeit relevante Punkte des ICC-Profile Formats
besprochen werden, für einen allgemeinen Überblick über die Spezifikation empfehle
ich die Diplomarbeit von Tobias Huneke. 40
LUT- und Matrix Profile unterscheiden sich in der Art, wie die Grenzen eines Farbraums
beschrieben werden. Bei Matrix-Profilen ist der Farbraum durch die Primärfarben, den
Weisspunkt und eine mathematische Vorschrift beschrieben, die die Verteilung der Stufen
angibt - also dem Gamma jedes Farbkanals.
Bei LUT-Profilen sind die Daten in einer Look Up Table für eine Anzahl von Farben
festgelegt. LUT-Profile können Geräte mit unlinearem Verhalten genauer beschreiben
als Matrix-Profile. Mit der Anzahl der Samples verbessert sich die Genauigkeit des Profils
und die Größe der LUT, was dazu führt das LUT Profile manchmal mehrere MB
Speicherplatz benötigen.
Für geräteabhängige Farbräume sind LUT-Profile üblich, für Austauschfarbräume werden
eher Matrix-Profile verwendet.
Weisspunkt
Zu jedem Farbprofil gehört ein definierter Weisspunkt. Er wird als CIE-XYZ-Farbwert im
wtpt-Tag angegeben. Eine Transformation in einen Farbraum mit anderem Weisspunkt
impliziert eine Änderung der Grauachse, die mathematisch kompliziert und mit Ungenauigkeiten
behaftet ist. Sie sollte nach Möglichkeit vermieden werden.
Gamma-Tag
Jedem Farbraum liegt ein Gamma zugrunde (->1.3.2). Abhängig von der Profilart steckt
der Gammawert in den LUT-Tabellen, bei monochomen Profilen im GrayTRCTag oder
38 Die ICC-Spezifikation 1-2004-10 beschreibt -Profile der Version 4.2.0.0 :
http://www.color.org/ICC1V42.pdf
39 ISO 15076-1, Image technology colour management
40 Tobias Huneke, Internetseite zur Visualisierung von ICC Profilen mit Hilfe von 3D-Farbraummodellen,
FH-Köln, Juni 2002 :
http://iccview.de/download/ICCView-Colormanagement.pdf
31
1.3. FARBDARSTELLUNG IN DIGITALEN MEDIEN 32
bei Matrixprofilen im redTRCTag, greenTRCTag und blueTRCTag.
Datenformat
Das Erstellen und Bearbeiten von ICC-Profilen ist aus Sicht des Programmierers komplex.
Im Gegensatz zum leicht verständlichen und klartextbasierten XML-Format, in dem
Microsoft die künftigen Farbprofile anlegen will, sind ICC-Profile als Binärdaten gespeichert:
Im Profil-Header stehen allgemeine Informationen im Klartext, anschließend folgt
Tag auf Tag in binärer Schreibweise jeweils mit der Angabe, wie viele Bytes der Inhalt des
Tags lang ist. Da es verschiedene Profiltypen mit jeweils unterschiedlichen Pflicht-Tags
gibt, wird das Ganze dann recht unübersichtlich.
41
Man kann die Daten der Farbprofile mit geeigneter Software anzeigen. Eine Webanwendung
zur Analyse von Profildaten ist unter 2.3.4 beschrieben und kann unter
42 getestet
werden.
Einbetten von Farbrofilen
Das Einbetten von ICC-Profilen in verschiedene Bildformate dient der Objektivierung der
Bilddaten. Das Farbprofil gibt eine Referenz zum PCS, dem CIE-XYZ oder CIE-LAB
Farbraum und macht die Bilddaten damit bewertbar.
Bei großen Bilddaten, wie sie beim Fotografen auftauchen, machen die 8-2500kB Datenmenge
(LUT-Profile haben manchmal sehr große LUT) die man zum speichern eines
Farbprofils benötigt, nicht viel aus. Betrachtet man jedoch die Dateigrößen auf Webseiten,
bei denen Bilder zwischen 1-20kB und selten mehr als 100kB groß sind, kann ein
eingebettetes Farbprofil die Dateigröße vervielfachen. Aus diesem Grund ist es nicht üblich
bei Bildern im Internet Farbprofile einzubetten, obwohl keine weiteren Nachteile zu
befürchten sind. Bilddaten ohne Referenz sind als sRGB-Daten zu interpretieren, wenn
der Webmaster korrekt gearbeitet hat.
1.3.7. Der ICC-Proof
Der ICC Standard beinhaltet mehrere Möglichkeiten, die Farben eines Ausgabegeräts auf
einem Ausgabegerät mit größerem Gamut zu simulieren (ICC-Proof).
Ein Grafiker, der eine Druckvorlage für den Offsetdruck erstellt, kann sich die Farben
des Druckerfarbraums inklusive dem Weisspunkt des zu bedruckenden Papiers auf seinem
ordnungsgemäß kalibrierten Monitor darstellen lassen (Softproof) oder auf einem
hochwertigen Drucker ausgeben (Proofdruck).
Dabei ist zu beachten, dass für einen korrekten Proof alle Farben des zu simulierenden
Ausgabeverfahrens (z.B. FORGA DIN, dem neuen europäischen Offsetdruck Standard)
auch in dem Simulationsfarbraum darstellbar sind. Optional kann bei manchen Anwen-
41 CIE Specification ICC.1:2004-10 :
http://www.color.org/ICC1V42.pdf
42 Webanwendung zur Analyse von ICC-Farbprofilen :
http://colormanagement.digitaldonkey.de/iccprofileInfo
32
1.4. PROBLEMANALYSE UND AUSBLICK 33
dungen eine farbliche Maskierung für Farben vorgenommen werden, die im Simulationsfarbraum
nicht darstellbar sind.
Für die Berechnung einer Simulation sind drei ICC-Profile notwendig:
1. Das Quellprofil
ist das Profil des Arbeitsfarbraums, in dem die Bilddaten gespeichert sind.
2. Das Simmulationsprofil
ist das Profil des zu simulierenden Druckverfahrens (oder eines anderen Ausgabegeräts
mit einem gegenüber dem Proofgerät kleineren Farbraum).
3. Das Prooferprofil
ist entweder das Profil des Monitors beim Softproof oder das eines hochwertigen
Druckers beim Proofdruck.
Vorgehensweise
Die Bilddaten werden zunächst aus dem Arbeitsfarbraum mit perzeptiven (wahrnehmungsorientiertem)
Rendering-Intent in den Simulationsfarbraum transformiert. Anschließend
folgt eine Transformation in den Farbraum des Proofgeräts. Wenn eine Simulation
des Weisspunkts des Bedruckstoffes gewünscht ist, wird der Rendering-Intend Absolut
Farbmetrisch verwendet. Wird auf das gleiche Papier wie im Druckverfahren geprooft,
verwendet man den Rendering-Intend Relativ Farbmetrisch.
Nach diesem Prinzip können farbmanagementfähige Anwendungsprogramme Proof Szenarien
umsetzen. Die ICC-Spezifikation bietet eine weitere Möglichkeit einen Proof zu
realisieren: Die Device-Link Profile.
DeviceLink Profiles (DLP) beinhalten eine festgelegte Transformation zwischen zwei Geräten,
sie repräsentieren keinen Farbraum und können auch nicht in Bilder eingebettet
werden. Man erstellt DLP, um eine Transformationskette, an der mehrere Farbräume
und Rendering-Intents beteiligt sein können, in eine einzige »Formel« zu packen. So
lässt sich beispielsweise ein Proof-Szenario (->1.3.7) in einem einzigen Profil beschreiben.
DLP-Profile lassen sich mit dem Programm icclink erstellen ->2.2.4.
1.4. Problemanalyse und Ausblick
1.4.1. Unterschiedliche Betriebssysteme
Der ICC-Standard impliziert das Vorhandensein einer Programmarchitektur, die Grundfunktionalität
für das Farbmanagement bereitstellt, das sogenannte Colormanagement
Framework. Dieses Kapitel soll zeigen, welche Probleme es zu überwinden gilt, wenn im
Internet Farbmanagement stattfinden soll. Das Internet besteht aus vielen Betriebssys-
33
1.4. PROBLEMANALYSE UND AUSBLICK 34
temen, die unterschiedliche Voraussetzungen für Client-seitiges Farbmanagement mitbringen.
So braucht man zur Farbtransformation für die Ausgabe ein entsprechendes
Bildschirm-Farbprofil, Funktionen zum Auslesen von Profilinformationen, zur Transformation
in CIE-LAB, bzw. CIEXYZ. Die ICC-Spezifikation 43 beschreibt Ein- und Ausgabeprofile,
Geräteprofile, Transformationen und Rendering Intents, nicht aber wie Programmierer
die einzelnen Teile implementieren sollen.
So bleibt es prinzipiell den jeweiligen Softwareentwicklern überlassen, ob und wie Farbmanagement
implementiert wird. Farbmanagement-Funktionen können sowohl auf Anwendungsebene,
wie beispielsweise in Photoshop, als auch auf Betriebssystemebene umgesetzt werden.
44
Für die Umsetzung des Farbmanagements auf Betriebssystemebene wie bei Apple und
Microsoft spricht, dass es Anwendungs-Entwicklern (z.B. den Entwicklern eines Webbrowsers)
leichter gemacht wird, mit Farben umzugehen. Prinzipiell kann man drei Stufen
der Implementierung unterscheiden:
1. Farbmanagement auf Anwendungsebene
Der Programmierer muss sich um die komplette Implementierung aller Farbmanagement-Funktionen
selber bemühen. Der Benutzer dieser Anwendung muss dann mindestens
ein passendes Bildschirmprofil einstellen, da CMM sonst nicht funktionieren
kann.
2. Farbmanagement auf Betriebssystem-API-Ebene
Hier sind CMM-Funktionen im Betriebssystem integriert, Standardprofile für Ausgabegeräte
werden in den Einstellungen des Betriebssystems vorgenommen. Der
Anwendungsentwickler ruft dann CMM-Funktionen über ein API auf, um auf diese
Informationen zuzugreifen.
3. Implizites Farbmanagement auf Betriebssystem-Ebene
Bei Verwendung moderner, objektorientierter Programmiersprachen kümmert sich
der Anwendungsentwickler nicht mehr um Basisfunktionen wie das Einlesen und
Ausgeben von Bildern. Stattdessen erstellt er ein Objekt vom Typ »Bild«, ruft
dessen »öffne-Bild-Datei-Funktion« auf und gibt das geöffnete Objekt dann zur
Ausgabe an den Bildschirm weiter. In solch abstrakten Programmiersprachen kann
das Betriebssystem sämtliche CMM-Funktionen übernehmen, ohne dass der Entwickler
sich dessen überhaupt bewusst sein muss.
43 CIE Spezifikation ICC.1-2004-10 :
http://www.color.org/ICC1V42.pdf
44 Michael Haas, Color Management - Current Aprroaches, Standards und Futur Perspectives - Recent
Progress in Color Management and Communications 1998, S. 14-18, ISBN / ISSN: 0-89208-210-0
34
1.4. PROBLEMANALYSE UND AUSBLICK 35
Um bei dem Beispiel zu bleiben: Der »Öffnen-Dialog« überprüft bei entsprechendem
Dateityp automatisch, ob sich in dieser Datei ein Farbprofil befindet und ordnet
es dem Objekt zu. Wird das Objekt zur Ausgabe auf den Bildschirm geschickt,
so kann automatisch eine korrekte Farbausgabe durch Verrechnung des Farbprofils
des Bild-Objekts mit dem des Bildschirm-Objekts sichergestellt werden. Erst wenn
der Programmierer in Farbfunktionen bewusst eingreifen will, ruft er entsprechende
Funktionen seines Bildobjekts auf.
Untersuchung gängiger Betriebssysteme aus Sicht des
Farbmanagements
Untersuchungskriterien:
• Implementierung
• Benutzerfreundlichkeit
• Möglichkeiten zur Profilierung des Systems
• Programmieraufwand
Windows ICM
Mit Windows 95 veröffentlichte Microsoft ICM 1.0, ein Farbmanagement-Framework auf
Betriebssystem-API-Ebene, mit Windows 98, 2000 und XP folgte ICM2.0, das sich aber
nicht wesentlich von ICM 1.0 unterscheidet. 45 Der Anwender bekommt die Möglichkeit
Farbprofile für Ein -und Ausgabegeräte festzulegen. Der entsprechende Dialog für die
Auswahl eines Bildschirmprofils ist in den erweiterten Anzeigeoptionen Farbeinstellungen
versteckt. Einen vergleichbarer Dialog findet sich bei installierten Druckern. Bei der
Installation des Betriebssystems wird dem Bildschirm standardmäßig ein sRGB-Profil
zugeordnet. Mittlerweile sorgen auch immer mehr Druckerhersteller bei der Installationsroutine
für die Treibersoftware dafür, dass die Standard-Drucker-Profile eingerichtet
werden.
Eine Möglichkeit zur Profilerstellung ist nicht vorgesehen. Der Anwender muss sich aktiv
um geeignete Zusatzsoftware zur Profilerstellung bemühen. Hier gibt es ein breites
Angebot, vom einfachen Adobe-Gamma bis hin zu Messgeräte-basierter Profilerstellung.
Der Anwendungsprogrammierer kann das API nutzen, um Farbmanagementfunktionalität
in seine Anwendung zu implementieren, falls er bereit ist einen Mehraufwand bei der
Entwicklung der Anwendung in Kauf zu nehmen. Der Großteil der Programmierer weiß
45 Introduction to Microsoft Color Management, 7.11.05 :
http://www.microsoft.com/whdc/device/display/color/icmwp.mspx
35
1.4. PROBLEMANALYSE UND AUSBLICK 36
Abbildung 1.8.: Bei Windows ICM erhält man CMM-Funktionalität durch Aufruf von
Win32-Api-Funktionen
aber entweder nicht um die Möglichkeiten oder scheut den Aufwand. Selbst Microsofts
marktführende Software wie das Office-Paket oder der Internet-Explorer unterstützen
bisher kein Colormanagement nach ICC-Standard.
Apple Color-Sync
Mit Mac System-7 veröffentlichte Apple 1993 die erste Version von ColorSync. Zur Zeit
ist die Version 3 aktuell. ColorSync ist vollständig ICC kompatibel. Die Bedienung ist
einfach, intuitiv und gut dokumentiert. Seit OS-X kamen noch einige benutzerunterstützende
Funktionen hinzu. So kann man bei OS-X-Tiger Farbprofile nicht nur anzeigen lassen,
sondern auch zwei Profile miteinander vergleichen oder einzelne Farbwerte mit dem
Farbrechner von einem Farbraum in den anderen umrechnen.
Abbildung 1.9.: Bei der Verwendung von QuickDraw oder Quartz bei der Programmierung
unter OS-X gibt es Farbmanagement ohne Mehraufwand für den Programmierer
36
1.4. PROBLEMANALYSE UND AUSBLICK 37
Farbprofile kann man entweder mit dem systemeigenen Farbhilfsprogramm visuell erstellen
oder man benutzt ein Messgerät mit entsprechender Software. Da der Mac traditionell
im DTP-Bereich sehr geschätzt wird, sind alle Messgeräte, die es für den PC gibt, auch
mit entsprechender Software für den Mac ausgestattet.
ColorSync ist tief ins System verankert, was die Programmierung von CM-fähigen Anwendungen
vereinfacht. Verwendet der Programmier QuickDraw-GX oder Quarz für die
Ausgabe auf dem Bildschirm, werden alle Bilder automatisch vom Betriebssystem für die
farbrichtige Ausgabe umgerechnet. Enthält eine Datei kein Farbprofil, so geht ColorSync
allerdings davon aus, dass die Bilddaten im Bildschirm-Farbraum vorliegen.
46 47
48
Die gute Integration von ColorSync in die Programmierumgebung hat schon mehrere
Farbmanagementfähige Webbrowser hervorgebracht. So sind Internet Explorer 4 und 5,
49 sowie der aktuelle Mac-Webbrowser Safari Colormanagement-fähig (-> 1.2.3).
Farbmanagement und Linux
Auf Unix/Linux-Systemen gibt es kein Desktop CMS, nur partielle Lösungen, die geeignet
sind CMS-Funktionen auf Anwendungsebene zu realisieren.
Am weitesten verbreitet ist das Open Source Programm Little CMS. 50 (LCMS -> 2.2.4)
LCMS wird seit 1998 entwickelt und ist zur Zeit in der Version 1.5.2 erhältlich. Es handelt
sich um eine nur 100kB große Funktionsbibliothek für die Entwicklung von CMM-fähigen
C-Programmen, kann aber auch mit Hilfe mehrerer Kommandozeilen-Programme verwendet
werden. LCMS dient vielen anderen CMS-implementierenden Anwendungen (z.B.
GIMP, CinePaint) als Farbrechner. Es kann mit vielen Bildformaten umgehen, ICC (v.4)
Profile lesen und schreiben, Farbraumtransformationen berechnen und Softproofs erstellen.
Mit LCMS lassen sich farbmanagementfähige Anwendungen entwickeln, es bleibt
jedoch immer dem Entwickler überlassen, wo Transformationen stattfinden sollen und
welche Farbprofile er den Ausgabegeräten des Systems zuordnet. Für das Internet ist
LCMS insbesondere für schnelle serverseitige Bildverarbeitung oder Stapelverarbeitung
interessant.
Die Profilerstellung unter Unix/Linux befindet sich noch in experimentellen Zustand,
was die Anwendung im Desktop-Bereich sehr erschwert. Farbprofile für Geräte können
aufgrund der unterschiedlichen Hardware-Ansteuerung auch nicht einfach von einem System
auf das andere übernommen werden. Es gibt Berichte über die erfolgreiche Erstel-
46 Apple Developper - Color Management Overview :
http://developer.apple.com/documentation/GraphicsImaging/Conceptual/csintro/csintro.pdf
47 Advanced Color Imaging on the Mac OS, Addison-Wesley Publishing Company August 1995
48 Apple Developper: Technical Note TN2035 :
http://developer.apple.com/technotes/tn/tn2035.html
49 Internet Explorer 4.01 Mac Release Notes, 7.11.05 :
http://support.microsoft.com/default.aspx?scid=kb;en-us;192270
50 CMS Funktionen für Linux: LCMS »Little Colormanagement System« :
http://www.littlecms.com
37
1.4. PROBLEMANALYSE UND AUSBLICK 38
lung von ICC-Profilen mit dem Windows-Emulator WINE mit Windows-Kalibrierungs-
Software. Das ebenfalls für alle gängigen Systeme erhältliche Argyll-CMS 51 (->2.2.4)
kann Farbprofile für Monitor, Scanner und Drucker per Messgerät erstellen, Test-Charts
und Device-Link-Profile erzeugen.
Benutzerfreundlich im Sinne einer Desktop-Anwendung ist keines der Programme. Es
handelt sich um Kommandozeilen-Tools, die vom Benutzer ein tiefes Verständnis der
Materie und eine geduldige Einarbeitung verlangen. Systemweite Lösungen befinden sich
noch in einem sehr frühen Entwicklungsstadium. Wie z.B. das Oyranos-Projekt, 52 einer
C-Library das mit dem Ziel entwickelt wird, Unix-CMM-Anwendungen eine Schnittstelle
zum Zugriff auf Voreinstellungen, wie Monitor - und Druckerprofilen zu bieten. Die
großen Distributionen lassen bisher keinerlei Aktivitäten erkennen systemweite Lösungen
bereitzustellen.
Für Anwendungsprogrammierer ist LCMS jedoch ein einfach zu benutzendes Tool, das die
Integration von CMM Funktionen mit verschiedenen Programmier- und Scriptsprachen
ermöglicht (u.a. C, C++, PHP, Perl).
Abbildung 1.10.: Bei Linux gibt es keine ausgereifte CMM Infrastruktur. Der Anwendungsprogrammierer
muss sich selber um die Implementierung von CMM und geeignete
Ausgabeprofile kümmern.
51 Experimentielles Colormanagement für Linux: Argyll CMS :
http://www.argyllcms.com
52 Experimentielle Farbmanagement Infrastruktur für Linux: Oyranos-Projekt :
http://www.behrmann.name
38
1.4. PROBLEMANALYSE UND AUSBLICK 39
Windows Longhorn / Windows Vista
Windows Vista 53 wird voraussichtlich Ende 2007 erscheinen. Microsoft ist dabei, das
Windows Farbmanagement komplett zu überarbeiten - der neue Name: Windows Color
System (WCS).
Das WCS enthält ein überarbeitetes Color Management Framework, das intern mit dem
Microsoft scRGB Farbraum (32bit/sc-Kanal) arbeitet und auf einem anderen Color-
Appearance-Modell (CIECAM02) basiert. Microsoft verspricht Kompatibilität mit ICC
v. 4 und künftigen ICC-Entwicklungen, bietet jedoch auch ein erweitertes, XML basiertes
Device Profile Modell Format (DMP-Profile). Dies bietet gegenüber dem ICC-Format
weitere Möglichkeiten, beispielsweise mehrere Weisspunkte für unterschiedliche Papiere
in einem Drucker, zuletzt vorgestellt in einem als informativ deklarierten Whitepaper.
54
Der Benutzer muss nur noch an einer zentralen Stelle Farbeinstellungen vornehmen, ein
Kalibrierungs-Wizard soll helfen das System einzurichten.
Das betagte Win32-Api wird durch das abwärtskompatible WinFX-Framework ersetzt,
das dem Anwendungsprogrammierer einen Color Context bietet, der auf einfache Weise
Informationen über vorhandene Bilddaten liefert und Transformationen ermöglicht.
55
Mit der dazu gehörenden, ebenfalls neu entwickelten Windows-Anwendungs-Oberfläche
Avalon wird die Entwicklung farbrichtig arbeitender Anwendungen um einiges einfacher,
denn WCS erhebt den Anspruch ein implizites Farbmanagement auf Betriebssystemebene
bereitzustellen.
Fazit
Während Apple und Microsoft mit ihren aktuellen, bzw. zukünftigen CM-Lösungen versuchen
den Anwendungsprogrammierer das Leben zu vereinfachen, steht der Linux/Unix
als Desktop-System etwas auf verlorenem Posten. Zwar gibt es die notwendigen Bausteine,
von einem in alle Anwendungen integrierten Color Management System ist man
jedoch weit entfernt. Die Aussicht auf einen Browser, der zumindest die gängigen Farbräume
und Bildformate korrekt darstellt ist dennoch ganz gut - das Thema »Farbmanagement
für Mozilla Webbrowser« taucht immer wieder in Foren auf. Apple hat bereits
einen Browser, der Farbprofile berücksichtigt, Microsoft wird vermutlich mit Windows-
Vista nachziehen. Unix Nutzer bleiben außen vor.
Tools für die serverseitige Bildverarbeitung sind meist für mehrere Plattformen verfügbar,
oft aber auf Unix-Systemen einfacher zu installieren und einzusetzen.
53 der Entwicklungsname war »Windows Longhorn«
54 Windows Color System: The Next Generation Color Management System, Microsoft White Paper,
Sept. 2005 :
http://download.microsoft.com/download/5/d/6/5d6eaf2b-7ddf-476b-93dc-7cf0072878e6/WCS.doc
55 Preliminary documentation for WindowsCodecs.dll APIs :
http://www.eggheadcafe.com/forumarchives/windowsdeveloperwinfxavalon/Jun2005/post23451501.asp
39
1.4. PROBLEMANALYSE UND AUSBLICK 40
1.4.2. Unterschiedliche Ausgabegeräte
Das Internet erobert ständig neue Bereiche des täglichen Lebens: »Internet am Computer
- das war gestern« wollen uns zumindest die Marketing-Strategen zahlreicher Anbieter
der verschiedensten mehr oder weniger internetfähigen Geräte glauben machen. Mittlerweile
gibt es Fernseher, Handys, Hand-Computer (Palm, PDA), Spielkonsolen, Autos und
DVD-Player mit Internet- oder LAN-Verbindung. Fernsteuerung über ein Webinterface
gehört bei einer immer größeren Anzahl von Geräten zum Standard.
Welche Dienste genutzt werden ist dabei unterschiedlich. Manche Geräte versuchen einen
vollen Internetzugang bereitzustellen, andere beschränken sich auf der jeweiligen Hardware
oder Konsumenten-Zielgruppe angepasste Funktionalität.
Doch auch beim klassischen Computer mit Bildschirm oder TFT-Display und Tastatur
hat die Entwicklung nicht aufgehört. Neben der visuellen Ausgabe per Bildschirm gibt
es Geräte für Sprachausgabe und die Ausgabe für Blinde. Sie verwenden eine Braille
Zeile. Das ist ein Lesegerät für Blindenschrift und Braille-Drucker, die in Blindenschrift
stanzen. Diese Geräte können, wie die frühen Computer keine Grafik sondern nur Text
ausgeben.
Klassifizierung der Ausgabegeräte
Die Einteilung der Ausgabegeräte nach dem Working Draft der CSS-2.1 Spezifikation.
56
• continuous / paged
Ausgabe kann eine beliebige Länge haben, bei Bedarf kann gescrollt werden /
Seitenweise Ausgabe: Das Ausgabegerät hat eine definierte Höhe und Breite.
• visual / audio / speech / tactile
Visuell, Auditiv (akkustische Effekte), Sprachausgabe, Fühlbar (Blindenschrift).
• grid / bitmap
Textausgabe mit fester Breite, wie Terminals oder die Command-Line sind character
grid devices / Ausgabe von Pixel-Rastern (Bildschirm, Projektoren).
• interactive / static
Benutzer kann mit dem Ausgabegerät interagieren (z.B. eine Maus, Tasten o.ä.
benutzen) / Keine Interaktionsmöglichkeiten (Präsentation).
56 W3C CSS-2.1 Working Darft :
http://www.w3.org/TR/2005/WD-CSS21-20050613
40
1.4. PROBLEMANALYSE UND AUSBLICK 41
CMS relevante Ausgabemedien
Für Farbmanagement sind ausschließlich Medien interessant, die der Gruppe visual und
bitmap zugeordnet werden können. Character-Devices (grid) können keine Bilder darstellen
und auf eine Software, die Bilder per Sprachausgabe beschreibt werden wir wohl
noch einige Zeit warten müssen.
Eine informative W3C Definition der einzelnen Medientypen findet sich in Abschnitt A.3.
Media
Types
Media Groups
continuous/paged visual/audio/speech/tactile grid/bitmap interactive/static
braille continuous tactile grid both
embossed paged tactile grid static
handheld both visual, audio, speech both both
print paged visual bitmap static
projection paged visual bitmap interactive
screen continuous visual, audio bitmap both
speech continuous speech N/A both
tty continuous visual grid both
tv both visual, audio bitmap both
Abbildung 1.11.: Einteilung verschiedener Ausgabemedien
Untersuchungskriterien für visuelle Ausgabemedien:
• Leistungsressourcen
Welche Hardware Ressourcen (Arbeitsspeicher und Prozessorleistung) stehen für
das Rendern der Ausgabe zur Verfügung.
• Größe, Auflösung
Wie ist die physikalische Auflösung eines Ausgabegeräts [dpi] und wie groß ist die
zu Verfügung stehende Ausgabefläche?
• Farben
In welchem Farbraum arbeitet ein Ausgabegerät?
• Qualität
Wie ist die zu erwartende Qualität der Darstellung, wenn man die genannten Punkte
berücksichtigt.
• Recommendation / Working Draft
Gibt es vom W3C schon eine Empfehlung oder einen Working Draft zum Medium?
41
1.4. PROBLEMANALYSE UND AUSBLICK 42
Analyse visueller Ausgabemedien
Screen
Dies ist der Ausgabetyp für den klassischen Computerbildschirm. Es kann sich dabei um
betagte CRT-Bildröhren und um modernste TFT-Displays handeln, die RGB-Farben
mit mehr als 8bpc darstellen können. Das Gamut ist dabei abhängig von Typ, Alter und
Qualität des Geräts.
Da ein »screen« an einem Computer angeschlossen ist, stehen im allgemeinen ausreichend
Ressourcen für Farbtransformationen zur Verfügung. Sollten Browser in Zukunft
CMM-Funktionalität bieten, ist der Screen das Ausgabemedium, bei dem CMM über
eine einfache Geräteanpassung hinaus sinnvoll wäre. Es kann von einer Auflösung von
mindestens 800x600 Pixeln ausgegangen werden, heute sind Auflösungen größer 1024x768
üblich.
Die Entwicklung der Verkaufszahlen zeigt einen eindeutigen Trend in Richtung der augenfreundlicheren
und langsamer alternden TFT-Displays.
Während man bis 2003 in der professionellen Bildverarbeitung wegen der blickwinkelabhängigen
Farbdarstellung und einem für Druckprozesse nicht ausreichendem Gamut
noch auf hochwertige Röhrenmonitore setzte, ist die Technik mittlerweile soweit entwickelt,
dass die Darstellungsqualität der besten Röhren-Bildschirme nicht mehr mit halb
so teuren TFT-Displays mithalten können. Der Trend geht hin zu hardwarekalibrierten
Geräten mit aktiver Luminanzsteuerung und einem Farbtemperatursensor zur Berücksichtigung
des Umgebungslichts.
57
Betrachtet man diese Entwicklungen vor dem Hintergrund der Entwicklungen von CMS
auf Betriebssystem-Ebene und geht davon aus, dass die Entwicklungen für Profigeräte
nach einiger Zeit auch im Consumer-Bereich Verbreitung finden, so ist Microsofts Idee
der »Out-of-the-Box-Color Experience« für den unbedarften Anwender gar nicht mehr
fern. Es wird jedoch auch für den Benutzer der ausgereiftesten Technik notwendig sein,
Einflüsse der Betrachtungsbedingungen zu bedenken. Eine Bunte Wand hinter dem Bildschirm
beeinflusst das visuelle System, wenn die Augen des Benutzers zwischen Wand
und Monitor wechseln. Mir ist kein mathematischer Ansatz bekannt solcherlei Einflüsse
zu berücksichtigen.
Handheld
Der Markt bietet heute eine große Anzahl unterschiedlichster Kleinstcomputer. Vom webfähigen
WAP-Handy mit monochromen LCD-Bild bis zum Fast-Notebook mit echtfarben
Grafik gibt es eine Anzahl unterschiedlicher Geräte.
Die Ressourcen der Geräte sind begrenzt. Die CPU-Geschwindigkeiten liegen zwischen
100 und 400 MHz, die Ausstattung mit Arbeitsspeicher variiert stark. Handys haben
monochrome oder farbige Displays, die Auflösungen variieren in Dimensionen zwischen
50x50 und 100x200 Pixel. Handheld-Geräte haben etwas leistungsfähigere Prozessoren
und Displaygrößen.
57 »Abschied von der Röhre«, MacUp 12/2004, Redtec Publishing Verlag
42
1.4. PROBLEMANALYSE UND AUSBLICK 43
Sinnvoll einteilen lassen sich die Geräte nach den unterstützen Standards. WAP (Wireless
Application Protokoll) ist eine eigene XML-Sprache, speziell für mobile Geräte.
Der XHTML-konforme Nachfolger ist das modular aufgebaute XHTML Mobile Profile.
Viele Geräte unterstützen jedoch nur ein abgespecktes HTML zwischen HTML-3.2 und
HTML-4.x.
Aktuell steht eine Candidate Recommendation 58 zur
Diskussion. Darin sind aufgrund der vorgesehenen Tastennavigation
interaktive Funktionen wie hoover ebenso
wenig vorgesehen wie die Colormanagement relevante
color-profile-Regel (->1.5.4).
Für den Webdesigner geht es eher darum, Inhalte für
mobile Geräte zugänglich zu machen. Die Darstellung
von Farbbildern ist bei modernen Geräten möglich, aber
die oft schlechte Qualität der Displays, das Fehlen von
Möglichkeiten zur Displaykalibrierung und die nicht reproduzierbaren
Betrachtungsbedingungen mobiler Geräte
lassen eine farbrichtige Anzeige unmöglich werden.
Print
Es gibt eine große Zahl unterschiedlicher Druckverfahren
und Papiersorten. Immer häufiger werden auch günstige
Consumer-Drucker mit ICC-Profilen für die Druckpapiere
des Herstellers ausgeliefert. 59 Eine genaue Profilierung
nach ICC-Standard ist bei teureren Geräten
möglich, erfordert aber entsprechende Messgeräte. Aufgrund
der großen Zahl an Druckprozessen und entsprechenden
geräteabhängigen Farbräumen verweise ich an
dieser Stelle auf einschlägige Farbmanagement Literatur.
Die Berechnung der Druckvorlagen für den jeweiligen
Drucker wird vom Druckertreiber des Betriebssystems
übernommen. Die vorgesehene Ausgabegröße kann ausgelesen
werden, damit Seitenaufteilung, die Umrechnung
von Auflösung und Ausgabegrößen auch vom Webbrowser
bestimmt werden können. Im Allgemeinen haben
Drucker einen geringeren Dynamikumfang und folglich
ein kleineres Gamut als Bildschirm-Ausgabegeräte. Bei
Consumergeräten kümmert sich der Druckertreiber um
die Umrechnung der Farben in den Farbraum des Ausgabegeräts.
Es gibt kein einheitliches, vorhersehbares Schema
wie dabei mit Farben und Farbprofilen umgegangen
wird.
Abbildung 1.12.: Webseiten
auf Kleincomputern, PDAs
und dem Handy
58 W3C Candidate Recommendation zum CSS-Mobile-Profile :
http://www.w3.org/TR/2002/CR-css-mobile-20020725
59 Die Kalibrierung nach ICC-Standard ist oft nur bei Druckern der oberen Preisklasse möglich. Offensichtlich
wollen es die Druckerhersteller den Anwendern nicht so leicht machen auf billigere Tinte von
Fremdanbietern auszuweichen.
43
1.4. PROBLEMANALYSE UND AUSBLICK 44
Das CSS-Print-Profile 60 ist für Farbdrucker gedacht. Die Implementierung von color-
Anweisungen ist auch für SW-Drucker zwingend vorgesehen. Die color-profile Regeln
müssen aber nicht zwingend unterstützt werden, um den Standard zu implementieren.
Es ist aber zu erwarten, dass es in Zukunft einen Webbrowser geben wird, der CMM-
Funktionen implementiert. Damit ließe sich ein Workflow erarbeiten, der das farbrichtige
Drucken aus optimierten Webseiten ermöglicht.
Da XML-Webseiten durch Serverseitige Verarbeitung auch in andere Formate wie beispielsweise
PDF umwandelbar sind ist es zur Zeit erfolgsversprechender die Drucke auf
diesem Wege vorzubereiten.
TV
Der Fernseher ist ein für analoge Übertragungstechnik entwickeltes Gerät. Um ihn als
Ausgabemedium für Webdokumente zu verwenden, muss er entweder an einen Computer
oder an eine Set-Top-Box angeschlossen sein. Es gibt auch schon Fernseher und
DVD-Player mit eingebautem Internetzugang. Angeschlossen an einen Computer hat
man die gleichen Leistungsressourcen zur Verfügung wie beim Screen. Das CSS-TV-
Profile des W3C
61 wurde mit Fokus auf Geräte mit begrenzten Ressourcen entwickelt.
Bezüglich Auflösung und Farben gibt es mehre Standards: Aktuell gilt in Deutschland
und vielen anderen Ländern der PAL-Standard, in den USA und Japan NTSC und in
Frankreich SECAM, das farblich jedoch voll zu PAL kompatibel ist. Das größte Problem
bei der Ausgabe auf Fernsehschirmen liegt in der geringen Auflösung und den Eigenheiten
der analogen Signalübertragung.
Abbildung 1.13.: Farbraumvergleich zwischen NTSC und sRGB
Wie viele Pixel eine Zeile auf dem Fernsehbildschirm enthält wurde bei der Entwicklung
des Fernsehstandards nicht festgelegt. Man benutzte Aufnahmeröhren, die das Bildsignal
nur in vertikaler Richtung diskretisieren (zeileweise Abtastung). Im PAL-Standard ist die
60 W3C Candidate Recommendation für das CSS-Print-Profile vom Februar 2004 :
http://w3c.org/TR/2004/CR-css-print-20040225
61 W3C CSS-TV-Profile Recommendation, Mai 2003 :
http://w3c.org/TR/2003/CR-css-tv-20030514
44
1.4. PROBLEMANALYSE UND AUSBLICK 45
Abbildung 1.14.: Farbraumvergleich zwischen PAL und sRGB
Zeilenzahl auf 575 sichtbare Zeilen festgelegt (weitere 50 Zeilen enthalten Steuersignale
und Videotext). Bei einem Bildverhältnis von 4:3 ergeben sich daraus ca. 767 Pixel je
Zeile. Mit dem Einzug digitaler Techniken hat sich eine Auflösung von 576x768 etabliert.
Die NTSC-Auflösung ist noch geringer.
Das Bild in einem Fernseher wird nicht zeilenweise erzeugt, wie bei einem Computerbildschirm.
Beim Interlaced-Verfahren - auch ein Relikt aus der analogen Fernsehtechnik
- wird das Bild aus zwei zeitlich kurz nacheinander übertragenen Halbbildern zusammengesetzt.
Das eine Halbbild beinhaltet alle geradzahligen Zeilen, das andere die ungradzahligen,
das menschliche Auge setzt die Bilder dann zu einem Ganzen zusammen.
Probleme entstehen bei der Darstellung waagerechter Linien, deren vertikale Ausdehnung
am TV-Schirm kleiner als die doppelte Zeilenhöhe ist. Dann taucht die Linie in einem
Halbbild auf, im nächsten verschwindet sie wieder (Zeilenflimmern). Da Schriften viele
horizontale Linien enthalten, lassen sich auf dem Fernsehschirm maximal 40 Buchstaben
in einer Zeile leserlich darstellen.
PAL und NTSC stammen aus der Anfangszeit des Farbfernsehens (in Deutschland 1967).
Zu dieser Zeit war es notwendig einen zum SW-Fernsehen kompatiblen Standard für die
Übertragung von Farbbildern zu entwickeln. Man verwendet einen YUV Farbraum: Das
Y-Signal entspricht dem SW-Bild, die Farbdifferenzsignale U und V sind so in das Frequenzspektrum
einmoduliert, dass sie das Bild auf einem SW-Fernseher nicht beeinträchtigen.
Wie gut die (analoge) Übertragung der Farbinformationen ist, hängt auch davon ab, wie
gut sich die mit einem Multiplexverfahren zusammengemixten Frequenzen im Endgerät
wieder trennen lassen. Das hängt von der Übertragungsqualität ab. Das Fernsehsignal
kann auf verschiedene Weise übertragen werden. Wie sich verschiedene Übertragungsverfahren
auf die Farbqualität auswirken, zeigt eine Übersicht der Übertragungsverfahren
im Anhang (->A.5).
Da Farbmanagement auf TV-Schirmen vom W3C nicht vorgesehen ist und auch wegen
des geringen Dynamikumfangs und der mangelnden Schärfe nicht sehr viel Sinn macht,
45
1.4. PROBLEMANALYSE UND AUSBLICK 46
bleibt zu untersuchen, ob die vorhandenen Fernsehfarbräume zum sRGB-Internetstandard
kompatibel sind. sRGB wurde mit dem Ziel entwickelt zu HDTV kompatibel zu sein (->
1.3.4), PAL war die Basis für die Entwicklung von HDTV. Hier ergeben sich also keine
Probleme.
High Definition Tele Vision (HDTV) wurde vor mehr als 10 Jahren für die digitale Fernsehübertragung
entwickelt, konnte sich aber noch nicht durchsetzen. Es ist ein breiteres
Bildseitenverhältnis (16:9) und eine höhere Auflösung. Wie diese genau sein soll, darüber
sind sich die Entwickler noch nicht ganz einig. Es scheint sich eine Auflösung von
1920 x 1080 Pixel durchzusetzen. Gleichzeitig gilt ein kürzerer Betrachtungsabstand.
62
Eine Internetausgabe auf HDTV bietet dem Webdesigner stark verbesserte Darstellungsmöglichkeiten.
Neben der doppelten Auflösung wird die analoge Altlast des Interlaced-
Verfahrens aus den Wohnzimmern verschwinden. Die Weltmeisterschaft 2006 wird erstmals
auch in HDTV übertragen - es bleibt abzuwarten, wann sich dieser Standard durchsetzt.
Projektion
Der Medientyp Projection ist für Geräte wie LCD- und DLP-Projektoren gedacht. Das
Liquid Crystal Display verwendet Polariationsfilter als Lichtventile zur Steuerung der
Helligkeit, der Digital Light Processor ist ein Chip mit magnetisch gesteuerten Microspiegeln,
die für jeden Pixel das Licht entweder ins Projektionsobjektiv (an) spiegeln oder
daran vorbei (aus). Helligkeitsabstufungen werden durch zeitliche an/aus Modulation erzeugt,
das träge Auge erkennt den Mittelwert. Der hohe Wirkungsgrad der DLP-Chips
ermöglicht einen Dynamikumfang, der bei qualitativ hochwertigen Geräten mit der Diaoder
Filmprojektion mithalten kann.
Wird ein Projektor über eine Computerschnittstelle, wie VGA oder DVI angeschlossen
(nicht über ein Fernsehkabel), so verfügt er über die gleiche Auflösung, wie ein screen
(ab 800x600). Die Qualität und Blickwinkelabhängigkeit der Projektion variiert mit der
verwendeten Leinwand.
Messgeräte zur ICC-Profilierung von Projektoren gibt es mittlerweile von mehreren Herstellern.
Da die Leinwand die »Papierfarbe« eines Projektors darstellt, muss dieser bei jedem
Standortwechsel, selbst bei gleichen Lichtverhältnissen neu kalibriert werden.
Das W3C erwähnt den Medientypen projection in CSS-2. Er gehört wie die Druckausgabe
zu der Gruppe der Paged Media. Es ist kein Scrollen vorgesehen, sondern eine Seitenweise
Darstellung wie bei Power Point.
Das W3C hat noch kein CSS-Profil für die Projektion entworfen. Ob CMM-Funktionen
vorgesehen sind, ist somit nicht feststellbar. Es spricht aber auch nichts dagegen, da die
Projektion über einen normalen Screen-Webbrowser im Projektions-Modus stattfinden
kann.
62 Image Formats for HDTV, John Ive, EBU Technical Review, Juli 2004 :
http://www.ebu.ch/en/technical/trev/trev_299-ive.pdf
46
1.4. PROBLEMANALYSE UND AUSBLICK 47
Bisher sieht das Angebot an Browsern, die diesen Medientyp unterstützen aber dürftig
aus: Nur Opera unterstützt ab Version 4 einen Projektionsmodus. 63
Fazit
Die Qualität der Ausgabegeräte hat sich in den letzten Jahren stetig verbessert. Homogen
darstellende TFT-Displays sind technisch einfacher und billiger zu realisieren als Röhrenmonitore
und werden mit der Zeit die klobigen Kathodenstrahler ersetzen.
Die Qualität von CMM für »Otto-Normaluser« steht und fällt mit den Bemühungen der
Betriebssystemhersteller zur Vereinfachung der Bedienung. Die Hardwarequalität von Geräten
für Screen und Projection ist gegeben, denn mittlerweile haben die billigen Displays
des Massenmarktes eine Farbwiedergabequalität erreicht, von der professionelle Grafiker
lange träumten. Die Preise für Bildschirmkolorimeter sind in den letzten Jahren stetig
gefallen, bleibt abzuwarten, wann das erste Farbmessgerät bei Aldi & Co am Wühltisch
liegt und CMM am Computer selbstverständlich wird.
1.4.3. Benutzer und Webmaster
Da die trichromatischen Farbwerte eines Bildes nur unter sorgfältig kontrollierten Betrachtungsbedingungen
der wahrgenommenen Farbe entsprechen, sind sowohl bei der
Entstehung und Bearbeitung, als auch bei der Ausgabe bestimmte Bedingungen (->
1.3.2) zu beachten.
Da sich die Problematik nicht intuitiv erschließen lässt - der Mensch tendiert dazu, das
zu sehen, was er erwartet - ist sowohl bei Webdesignern als auch bei Surfern grundlegendes
Wissen über die Farbwahrnehmung und die Einflüsse der Umgebung notwendig.
Von einem Webdesigner, der eine farblich objektive Darstellung wünscht, kann man erwarten,
dass er sich schon mit Farbwahrnehmung beschäftigt hat und seine Bilder in
einer kalibrierten Arbeitsumgebung bearbeitet.
Die Zeit für ein »Out of the Box Colormanagement« für alle Anwender ist noch nicht
gekommen, dazu verlangt die komplexe Problematik noch zuviel Hintergrundwissen vom
einzelnen Benutzer.
Ein Webmaster kann nicht viel Verständnis von einem Surfer erwarten, der »einfach nur«
einen Pullover in einer bestimmten Farbe bestellen will. Solange die Betriebssystemhersteller
das Thema Farbdarstellung stiefmütterlich behandeln kann man nicht davon ausgehen,
dass Benutzer über kalibrierte Bildschirme verfügen. Denn selbst wenn er sein
Bestes gibt, verfügt er über einen veralteten Bildschirm mit einem zu geringen Gamut,
63 codestyle.org : »Projection media browser conformance and compatibility« :
http://www.codestyle.org/css/media/projection-BrowserSummary.shtml
47
1.5. WEBSTANDARDS 48
bleiben seine Bemühungen fruchtlos.
Das künftige Windows Vista lässt Besserung erwarten. Es soll bessere Unterstützung zur
Kalibrierung der Farbausgabe geben, eine Zusammenlegung der bisher verteilten Konfigurationseinstellungen
und einen Assistenten zur Farbeinstellung.
Nicht jede Webseite ist für alle gemacht, oft kennt ein Webmaster seine Zielgruppe recht
gut und weiss, was er von seinen Besuchern an Hardware und Wissen erwarten kann. Sieht
man sich auf verschiedenen Webseiten um, kann man vier grundsätzliche Strategien bei
der Behandlung der Farbproblematik ausmachen:
• Der potentielle Kunde soll nicht verunsichert werden, weil es ihn von einer Kaufentscheidung
abbringen könnte. Es werden keinerlei Hinweise zur Farbdarstellung
gegeben.
• Ein Hinweis informiert den Surfer, dass es zu Problemen mit der Farbdarstellung
am Bildschirm kommen kann. Etwas unauffälliger sind die oft zu sehenden Hinweise
»Abbildung ähnlich« oder »Symbolfoto«.
• Eine Anleitung zur Einstellung des Bildschirms (z.B. mit einem Monitortestbild)
wird angeboten.
• Es wird alles versucht um dem Kunden eine Kaufentscheidung zu erleichtern. Z.B.
Musterversand, Katalogversand, Vertreterbesuche, Farbgemanagte PDF-Kataloge.
Die jeweiligen Strategien des Anbieters sind von den angebotenen Produkten und dem
zu erwartenden Erlös abhängig.
1.5. Webstandards
Ohne einheitliche Standards können Computer nicht untereinander kommunizieren. Im
Internet gibt es eine große Anzahl verschiedener Standards, die auf verschiedenen Abstraktionsebenen
die Kommunikation der Computer untereinander regeln. Der wichtigste
Internetstandard ist das TCP/IP Protokoll. Es regelt den Datentransport im Internet. In
diesem Kapitel sollen aktuelle und vorgeschlagene Standards des W3C untersucht werden,
die auf Basis des http-Protokolls für das World-Wide-Web entwickelt wurden und
werden. Der Fokus liegt dabei auf allen für die Farbdarstellung wichtigen Entwicklungen.
1.5.1. Grundlagen
Ein Standard ist ein allgemein akzeptiertes Regelwerk, das einzelne oder mehrere Regeln
zur Lösung einer Problemstellung zusammenfasst. Der Begriff Standard wird im englischen
Sprachgebrauch synonym für Norm oder technische Norm verwendet, die deutsche
48
1.5. WEBSTANDARDS 49
Sprache differenziert genauer.
Eine Norm ist ein allseits rechtlich anerkanntes, allgemeingültiges und durch ein Normungsverfahren
entstandenes Regelwerk, das von dem jeweiligen international oder national
anerkannten Normungsgremium beschlossen und veröffentlicht wurde. Ein Standard
muss dagegen weder Allgemeingültigkeit besitzen oder öffentlich zugänglich sein. Man
spricht auch von herstellerspezifischen Standards oder propiretären Standards, wenn es
sich um von einem Hersteller entwickelten, ggf. auch patentgeschützen Lösungsansatz
handelt. Von de-facto Standard spricht man, wenn sich ein Standard in der Praxis durchgesetzt
hat und allgemeine Anwendung findet, unabhängig davon wer für sein Entstehen
verantwortlich ist.
In dieser Arbeit wird von Webstandards gesprochen und an gegebener Stelle darauf hingewiesen,
in welchem Entwicklungsstadium sich der Standard befindet.
Validierung
Zur Überprüfung, ob ein Dokument der gewünschten Spezifikation entspricht, kann man
es validieren. Darunter versteht man die Überprüfung der standardkonformen Verwendung
der Syntax (Markup-Tags und Attribute) gemäß der in Dokumententyp-Deklaration
festgelegten Grammatik. War die Validierung erfolgreich, spricht man auch von einem
wohlgeformten Dokument. Das W3C bietet einen kostenlosen Service, bei dem man XML-
Sprachen validieren kann, den W3C-Validator. 64
Ein korrekt validiertes Webdokument hat folgende Vorteile:
• Webbrowser werden zuverlässiger in der Anzeige.
Nicht standardkonforme Dokumente zwingen den Webbrowser in einen fehlertoleranten
Kompatiblitätsmodus. Nun werden Tags nach allen irgendwie möglichen
Weisen interpretiert, der Browser versucht zu »erraten«, was der Ersteller des Dokuments
gemeint haben könnte. Da jeder Browserhersteller anders an diese Problematik
herangeht ist keine Eindeutigkeit mehr gegeben.
• Lesbarkeit für akustische Webbrowser, Suchmaschinen und Braille-Lesegeräte wird
verbessert.
Browserkompatiblität
Browserkompatibles Design ist eine wichtige Vorraussetzung für den Erfolg einer Webseite,
da die Browser die Schnittstelle des Surfers zu den Inhalten darstellen. Niemandem
nützt eine schöne Seite, wenn sie entweder nicht fehlerfrei, oder teilweise gar nicht angezeigt
wird.
64 W3C-Validator.:
http://validator.w3.org
49
1.5. WEBSTANDARDS 50
Man kann zwei Aspekte der Browserkompatiblität betrachten:
1. Die sinngemäße Kompatibilität. Darunter versteht man, dass eine Seite zumindest
so angezeigt wird, dass ihre wesentlichen Inhalte und Strukturen zugänglich sind
und die Navigation funktioniert.
2. Die Exakte Kompatibilität bezieht sich im wesentlichen auf die pixelgenaue Darstellung
von Internet-Seiten. Inwiefern eine pixelgenaue Gestaltung im www überhaupt
sinnvoll (Auflösungsunabhängige Darstellung nicht mehr gegeben) und möglich ist
(unterschiedliche Interpretation von Abständen duch Webbrowser), darüber lässt
sich sicher streiten.
Standards und Webdesigner
Kein Webdesigner, der nicht von seinem Arbeit - oder Auftraggeber dazu verpflichtet
wurde, ist dazu gezwungen, sich an irgendwelche Webstandards zu halten. Dennoch kann
es für ihn von Vorteil sein, wenn er sich daran hält:
• Es lassen sich Vorhersagen über das Layout für unterschiedliche Browser treffen,
wenn diese den Standard unterstützen.
• Man kann die technische Qualität einer Arbeit durch die Validierung nach einem
Standard verifizieren und dadurch einem Kunden einen objektiven, nachprüfbaren
Bewertungsmaßstab anbieten.
Standards und Webbrowser
Entwickler von Webbrowsern können im Prinzip auch ihre eigenen Ideen umsetzten,
sofern sie dazu in der Lage sind sich auf dem Markt damit durchsetzen. Da Anbieter
von Webinhalten aber Interesse daran haben, dass möglichst viele Menschen ihre Inhalte
lesen, sehen oder hören können, besteht ein gewisses Interesse an einer gemeinsamen
Sprache.
Im Internet ist die Entwicklung von Standards sehr eng mit Ihrer Akzeptanz verknüpft. So
ist Macromedia Flash zwar ein proprietärer, doch allgemein akzeptierter Standard zur
Verwendung von animierten Vektorgrafiken im Interenet. Flash wird zwar von keinem
Browser direkt unterstützt, doch liefern die meisten Browser entweder ein Plug-In gleich
in der Basisinstallation mit oder der Anwender installiert es nachträglich.
Die Problematik bei neuen Standards ist folgende: Gibt es keinen Browser, der einen
Standard unterstützt, ist die Entwicklung von Inhalten, die sich an den neuen Standard
halten zum einen schwierig und zum anderen unwirtschaftlich. Sind aber keine Inhalte
für einen neuen Standard vorhanden, ist es für die Entwickler von Webbrowsern nicht
dringlich diesen Standard zu unterstützen.
50
1.5. WEBSTANDARDS 51
1.5.2. Das World Wide Web Consortium (W3C)
Nach dem »Feature Wildwuchs« mit Tags, die mal von dem einen mal von dem anderen
Browser unterstützt werden, schlossen sich 1994 verschiedene Firmen, Organisationen
und Einzelpersonen zum World Wide Web Consortium zusammen. Heute sind es ca.
400 Organisationen und ca. 60 Mitarbeiter, die in rund 50 Arbeitsgruppen (Working-,
Interest- und Coordination-Groups) die Entwicklung allgemein akzeptierter Standards
für das Internet voranzutreiben.
65
Das W3C hat sich zum Ziel gesetzt technische Richtlinien, sogenannte »Empfehlungen«
(Recommendations) zu veröffentlichen. Sie werden in Arbeitsgruppen nach einem vorgegebenen
Ablaufschema entwickelt. Es handelt sich »nur« um defakto-Standards, da das
W3C keine international anerkanntes Normungsgremium wie beispielsweise die International
Standard Organisation (ISO) ist.
Wird eine Technik sowohl von verbreiteten Webbrowsern unterstützt, als auch von Webdesignern
angewendet, hat sie sich durchgesetzt und wird dadurch zum defakto-Standard.
Das W3C hat sich auch darauf verpflichtet ausschließlich patentgebührenfreie (Royaltyfree)
Techniken zu unterstützen und dadurch ein langfristiges Wachstum des Internets
zu gewährleisten. Weitere allgemeine Entwicklungsziele der W3C-Arbeitsgruppen sind
Herstellerunabhängigkeit (Vendor Independendence), Hardwareunabhängigkeit (device
independence), Zugänglichkeit für Menschen mit Behinderungen (Accessibility) und die
Verlässlichkeit der entwickelten Techniken. Auch gibt es Arbeitsgruppen, die damit beschäftigt
sind, W3C-Techniken in Form von OpenSource Software zu implementieren, um
die Entwicklung der Standards um Implementierungsbeispiele zu ergänzen und dadurch
die Arbeit der Browser-Entwickler zu vereinfachen, wie z.B. der Amaya Webbrowser.
66
Die Entwicklung der Empfehlungen findet im Internet 67 statt: Zwischenschritte werden
veröffentlicht und die Gruppen diskutieren in privaten und öffentlichen Mailinglisten.
Auch Nicht-Mitglieder werden aufgerufen Ideen und Vorschläge einzubringen. Ein
weiterer Teil der Entwicklungsarbeit wird im Rahmen von Konferenzen und Tagungen
geleistet. Neben der englischsprachigen W3C Website gibt es nationale Büros, die eigene
Webseiten betreiben und die Empfehlungen teilweise in andere Sprachen übersetzen, so
auch die Webseite des deutschen W3C-Büros 68
65 Mitglieder und Organisationen des W3C :
http://www.w3.org/Consortium/Member/List
66 W3C Webbrowser: Amaya :
http://www.w3.org/Amaya
67 Alle W3C-Dokumente sind über die W3C Website zu erreichen :
http://www.w3c.org
68 Die Webseite des deutschen W3C-Büros :
http://w3c.de
51
1.5. WEBSTANDARDS 52
Mitglieder des W3C
Prinzipiell kann jede Einzelperson, Organisation oder jedes Unternehmen Mitglied des
W3C werden und sich in einer oder mehrerer Arbeitsgruppen an der Entwicklung von
Standards beteiligen. Es wird ein Mitgliedsbeitrag erhoben, der abhängig von Herkunftsland
und Mitgliedsart unterschiedlich ausfällt. 69
Der Entwicklungsprozess eines W3C Standards
Bevor der Abschluss einer Entwicklung in einem Standard, einer Recommendation (CR)
manifestiert wird, muss er einen Standardisierungsprozess nach den Regeln des W3C
durchlaufen. Ein Prozess, der sich durchaus einige Jahre hinziehen kann, da die jeweiligen
Arbeitsgruppen zu einer einvernehmlichen Lösung (consensus) finden müssen. Neben
norminativen Empfehlungen veröffentlichen die Arbeitsgruppen auch informative Notizen
(Notes), die ergänzende Hinweise und Bemerkungen enthalten.
Formalisierter Entwicklungsprozess
Bei der Analyse der Standards ist es wichtig den Entwicklungsstatus im Auge zu behalten.
Es kann durchaus passieren, dass Teile eines Arbeitsentwurfs in der abschließenden
Empfehlung nicht mehr auftauchen. Kurz zusammengefasst gibt es fertige Standards,
»W3C-Recommendations« (REC) und solche, die sich noch in der Entwicklung befinden.
Im Anhang unter A.2 sind die formalen Zustände (Status of Document) beschrieben, in
denen sie eine Entwicklung befinden kann.
Akzeptanz der Standards
Ein wesentlicher Faktor für die Akzeptanz eines Standards liegt darin, ob Entwickler von
Webbrowsern sich zur Umsetzung einer Recommendation entschließen. Solange nur ein
kleiner Teil der Webbrowser die Anforderungen einer Recommendation unterstützt, sind
Webentwickler, die nicht einen Teil der Besucher ausschließen wollen, dazu gezwungen
alternative Zugriffsmöglichkeiten bereitzustellen.
Eine nicht vernachlässigbare Stellung nimmt dabei der jeweils aktuelle Microsoft Webbrowser
ein, der fest in die weltweit verbreitetesten Desktop-Betriebssysteme des Herstellers
implementiert ist.
Betreiber einer Website sind darauf angewiesen beim Design ihres Angebots darauf zu
achten, dass sie nur Standards verwenden, die Webbrowser ihres Zielpublikums auch
69 Mitglieder aus Entwicklungsländern bezahlen beispielsweise deutlich weniger für eine gleichberechtigte
Teilnahme und Non-profit Organisationen weniger als Unternehmen
52
1.5. WEBSTANDARDS 53
unterstützen. So kann es beispielsweise für den Betreiber einer Macintosh-Webseite vertretbar
sein, dass er Funktionen verwendet, die nur vom Apple-Safari Webbrowser unterstützt
werden, während der Betreiber einer Windows-Website damit wahrscheinlich
nahezu 100% seiner Besucher verärgern würde.
In Deutschland hat die Akzeptanz moderner Webstandards seit der Verordnung zur
Schaffung barrierefreier Informationstechnik
70 einen Aufschwung erhalten. Die Verordnung
verpflichtet Behörden und Öffentlich Rechtliche Medien ihre Webseiten für Behinderte
nutzbar zu gestalten, so müssen für öffentliche Auftraggeber arbeitende Webentwickler,
sich an die »Zugänglichkeitsrichtlinien für Web-Inhalte« 71 halten. Die Richtlinien
implizieren die korrekte Validierung der Webseiten und erhöhen die Lesbarkeit auf
den unterschiedlichen Ausgabegeräten erheblich.
Ein angenehmer Nebeneffekt: Auch Suchmaschinen sind »blind«. Die Crawler der Suchdienste,
das sind Programme die automatisiert das Internet durchsuchen, um die Indexe
der Suchdienstbetreiber zu aktuallisieren, sehen die Seiten so, wie sie auf einem Textbrowser
(z.B. Lynx 72 ) angezeigt werden. Eine Braille Lesezeile oder ein Sprachbrowser
»sehen« auch nur die Textanteile des Webdokuments. Wenn sich der Crawler einer Suchmaschine
also gut auf einer Seite zurechtfindet, hat man beim ständigen Wettbewerb um
die besten Plätze bei google, yahoo & Co eine gute Ausgangsbasis.
Langsam setzt sich bei Webdesignern und Browserentwicklern die Einsicht durch, dass
Standards die Entwicklung der Webinhalte und auch der Browser vereinfachen, auch wenn
die Verlockung für den Marktführer groß bleibt, mit einer neuen Browsergeneration die
ein oder andere proprietäre Technik auf dem Markt zu etablieren.
1.5.3. Die W3C-Techniken
Das W3C hat sich zum Ziel gesetzt die Möglichkeiten des Internets bestmöglich zu nutzen.
Allgemeine Entwicklungsziele sind die einfache Erstellung und Verarbeitung von
multimedialen Daten für alle internetfähigen Geräte. Daraus folgt, dass die Entwicklungen
Platformübergreifend funktionieren, den unterschiedlichen Anforderungen der Ausgabegeräte
(->1.4.2) genügen und international übliche Zeichensätze unterstützen sollen.
XML als Basis
Nachdem die Erfindung von www und HTML dem Internet zum gesellschaftlichen Durchbruch
verholfen hat, erkannte man bald, dass HTML mit seiner starren Form künftigen
70 Behindertengleichstellungsgesetz, Bundesgesetzblatt 27.4.2002 :
http://bundesrecht.juris.de/bitv/index.html
71 Web Content Accessibility Guidelines 1.0, 5. Mai 1999 :
http://www.w3.org/TR/WAI-WEBCONTENT
72 Textbrowser: Lynx :
http://lynx.browser.org
53
1.5. WEBSTANDARDS 54
Anforderungen nicht gewachsen ist. Es musste ein allgemeinerer Weg gefunden werden
mit strukturierten Daten umzugehen.
Strukturierte Daten findet man z.B. in so unterschiedlichen Dingen wie Kalkulationstabellen,
Adressbücher, Konfigurationsparameter, finanzielle Transaktionen und technische
Zeichnungen. Daten gelten als strukturiert, wenn sie in ein vorher wohldefiniertes
Schema eingeordnet werden können. Ein Beispiel hierfür sind Datenbanken in einem Datenbankschema.
Strukturierte Dokumente zeichnen sich dadurch aus, dass man explizit
nach Inhalt und logischer Struktur unterscheiden kann. Der Vorteil daran ist ein hohes
Maß an Flexibilität, denn die Struktur erlaubt eine automatische Verarbeitung nach den
logischen Kriterien.
Die Muttersprache von HTML, Standard Generalized Markup Language (SGML) 73 erwies
sich als zu allgemein und zu schwierig umsetzbar, als dass sich an der Erfolg von HTML
auf weitere Techniken übertragen ließe . So entschied man sich, eine weitere SGML-
Sprache mit dem Ziel zu entwickeln, beliebige Markup-Dokumente zu erstellen: Die erste
XML-Recommendation wurde im Februar 1998 veröffentlicht.
Die wichtigsten Eigenschaften von XML:
• lizenzfrei, plattformunabhängig und gut unterstützt. Es gibt viele Programme und
Tools für die Erstellung und Verarbeitung von XML. Für alle gängigen Programmiersprachen
gibt es Bibliotheken oder andere Ergänzungen zur Verarbeitung von
XML-Daten. Auch Microsoft stellt seine Office-Reihe auf XML-basierte Datenformate
um.
• Freie Dokumentdefinitionen
HTML und XML sind das Klartextformat und das Prinzip der Tags (Elemente)
gemeinsam. Der Vorteil von XML besteht darin, dass man mit den Konzepten und
Regeln eigene Auszeichnungssprachen definieren kann.
– Strukturierte Inhalte
Die XML-Spezifikation 74 gibt vor, wie man Regeln für erlaubte Elemente,
Attribute und Verschachtelungsmöglichkeiten einer XML-gerechten Auszeichnungssprache
erstellt. Die jeweils verwendeten Tags werden in der Dokumenttyp-Definition
(engl. Document Type Definition, DTD) festgelegt, die dann
per Link mit dem XML-Dokument verknüpft wird.
Anhand der DTD kann eine XML-Anwendung prüfen, ob ein Dokument wohlgeformt
ist und somit die technische saubere Umsetzung eines Dokuments sicherstellen.
Ein Entwickler kann eine eigene DTD erstellen, um sein individuelles
Datenformat festzulegen oder auf durch andere W3C-Recommendations
standardisierte DTD, wie z.B. XHTML 1.0 Strict, SVG 1.1 oder SMIL 2.0
verweisen.
73 ISO 8879,1986
74 Extensible Markup Language (XML) 1.1, W3C Recommendation, Feb. 2004 :
http://www.w3.org/TR/xml11/
54
1.5. WEBSTANDARDS 55
– Sichere Datenbasis mit Schemas
Mit XML-Schemas kann definiert werden, welche Elemente Daten enthalten
müssen und welche auch leer bleiben dürfen und welche Datentypen oder
Wertebereiche erforderlich sind. Nun kann eine XML-Anwendung auch prüfen,
ob die Inhalte den gewünschten Anforderungen entsprechen. Man spricht
von einem gültigenDokument, wenn die Bedingungen erfüllt sind. Ziel ist es
einen Mechanismus bereitzustellen, der verlässliche Datenbestände sicherstellen
kann. XML-Schemas werden als Nachfolger der DTD gehandelt, da sie die
gleichen Anforderungen erfüllen können und zudem selbst XML-Dokumente
sind.
• Namensräume
Während bei HTML das gesamte Dokument einem einheitlichen Syntax für die
Darstellung der Elemente unterliegt, ist es mit XML möglich Bereiche festzulegen,
sogenannte Namensräume (namespaces), in denen jeweils eine eigene Namensraum-
Definition gültig ist. So wird es möglich, in einem Dokument verschiedene XMLbasierte
Sprachen gleichzeitig zu verwenden, z.B. ein XHTML-Dokument mit Formeln
aus MathML und Grafiken aus SVG aufzumischen.
75
• Zeichensätze
XML Dokumente können in verschiedenen Zeichensätzen
76 erstellt werden. Dadurch
können die Sonderzeichen aller internationalen Zeichensätze berücksichtigt
werden.
Wird kein Zeichensatz angegeben, gilt der Unicode-gerechte Zeichensatz 77
• Beleibige Tags (Elemente)
Neben standardisierten DTD, wie z.B. XHTML, MathML oder SVG lassen sich
eigene erstellen. So wird es möglich, für beliebige strukturierte Daten eine DTD
oder ein Schema zu erstellen. Beispielsweise ließe sich ein eigenes XML-Format
erstellen, um Nachrichten zu speichern.
XML ist eine flexible Sache
Die neue Definitionssprache für Auszeichnungssprachen.
20.10.2001
Thorsten Krug
• Unabhängig vom Ausgabemedium XML ist ein universelles Datenformat. Neben
der einfachen Verarbeitung in Datenbanken oder Anwendungsprogrammen bietet
das W3C mit den Cascading Style Sheets und der Extended Stylesheet Language
75 Beispiel für gemischte Namensräume :
http://colormanagement.digitaldonkey.de/xhtml-svg-mathMl
76 Zeichensätze im Überblick :
http://www.fontstuff.net/deutsch/typografie/schrift/lexikon/Zeichensatz
77 Unicode Zeichensatz: ISO/IEC 10646 :
http://www.unicode.org
55
1.5. WEBSTANDARDS 56
(XSL) Mechanismen, die Daten in den unterschiedlichsten Medien für die Ausgabe
zu formatieren(-> 1.5.3).
Dies ermöglicht »cross Media Publishing«, die kostengünstige Mehrfachnutzung
von Inhalten in verschiedenen Medien. So kann beispielsweise ein Unternehmen
seine Produktinformationen für einen Katalog, die Website und eine multimediale
Promotion CD aufbereiten und aus der gleichen Datenbasis Angebotsschreiben für
Kundenanfragen per Post und E-Mail erstellen.
• Verlinkbar XHTML Dokumente können wie HTML-Seiten miteinander verlinkt
werden.
• Interaktiv Das Document Object Model (DOM) erlaubt es XML-Strukturierte
Dokumente mit Programmiersprachen, wie z.B. Javascript zu bearbeiten. Man kann
auf einfache Weise auf beliebige Elemente zugreifen, sie auslesen, animieren oder
die Element-Inhalte bearbeiten.
XHTML
Die W3C-XHTML-Working-Group 78 arbeitet an der Weiterentwicklung des erfolgreichen,
aber etwas in die Jahre gekommenen HTML 4.0 Standards. Die HTML 4.0 Recommendation
wurde 1997 veröffentlicht, der Nachfolger HTML 4.1 brachte nur geringfügige
Korrekturen.
Entwicklungsziele sind die Reduzierung der Entwicklungskosten für Webseiten durch eine
vereinfachte Integration von Daten aus Datenbanken und der Aufteilung (Modularisierung)
der Funktionen. Der Sinn der Modularisierung liegt darin, den unterschiedlichen
Fähigkeiten verschiedener Browser Rechnung zu tragen (-> 1.4.2). Die gleichen Inhalte
sollen ohne großen Aufwand sowohl auf leistungsstarken Desktop-Computern, als auch
auf Geräten mit begrenzten Kapazitäten, wie Handheld-Computern, veröffentlicht werden
und die Möglichkeiten der Geräte optimal nutzen.
XHTML 1.0
Der erste Schritt war die Entwicklung von XHTML, das seit Januar 2000 als Empfehlung
des W3-Konsortiums vorliegt. Der Standard ist eine Neufassung von HTML 4.1 basierend
auf XML. Dies hat folgende Vorteile:
• Kompatiblität zu allen anderen XML-Sprachen.
• Die einheitliche XML-Syntax erleichtert die Verwendung von Scriptsprachen.
• Vereinfachung der Verwendung von Style-Sprachen.
XHTML 1.0 ist eine XML-kompatible Version von HTML 4.1, die besonders Webdesi-
78 W3C-XHTML-Working-Group:
http://www.w3.org/MarkUp
56
1.5. WEBSTANDARDS 57
gnern den Umstieg auf XML-basierte Techniken vereinfachen soll. Berücksichtigt man
einige Ausnahmen, ist auch eine Kompatiblität mit älteren HTML 4 Browsern gewährleistet.
79
Um den Umstieg weiter zu vereinfachen gibt es drei verschiedene XHTML-1.0-DTD:
• HTML 1.0 Strict ermöglicht die strikte Trennung von Inhalt und Layout. Es sind
nur HTML-Elemente ohne Layoutangaben erlaubt, das Design kann mit CSS beeinflusst
werden.
• XHTML 1.0 Transitional bietet eine bessere Abwärtskompatiblität mit älteren
Webbrowsern, die nicht mit CSS-Stylesheets zurechtkommen.
• XHTML 1.0 Frameset ermöglicht die Verwendung von Frames.
XHTML 1.1 , XHTML 2 und Module
Die Weiterentwicklung steht ganz unter dem Motto der Modularisierung. Es soll eine
verlässliche Basis geschaffen werden, dass sowohl Entwickler von Webbrowsern, als auch
die Webdesigner genau spezifizieren können, welche Funktionen ihr Produkt unterstützt.
Heute ist es üblich, entwickelte Webseiten auf den verschieden, bei der Zielgruppe zu
erwartenden Webbrowsern zu testen, da manches Element mangels standardkonformer
Browserunterstützung die ein oder andere Überraschung bereithält. Die Idee: der Entwickler
gibt an, welche Module sein Webbrowser (vollständig!) unterstützt und der Designer
verwendet in seiner Anwendung nur Module, die von den Browsern seiner Zielgruppe
auch unterstützt werden.
Modularisierung bedeutet also die Aufteilung des XHTML 1.0 Strict Standards in eine
Sammlung von einzelnen Modulen (z.B. Table Modules, Image Module, Object Module,
Metainformation Module ...). Die Module können miteinander und mit anderen Modulen
kombiniert werden, um erweiterte XHTML-Dokumenttypen nach den Anforderungen des
Webdesigners zu entwickeln, deren Teilmengen untereinander kompatibel sind. Das Modulkonzept
vereinfacht die Integration künftiger Entwicklungen, indem Teile der Sprache
durch verbesserte Module ersetzt werden können, ohne den Rest der Sprache zu beeinflussen.
Dies ermöglicht individuelle Entwicklungen neuer, hybrider Dokumenttypen bei
gleichzeitiger Standardkompatibilität und Validierbarkeit, sowie neue Konzepte für Webbrowser,
bei denen eine nicht vorhandene Modul-Funktionalität automatisch nachgeladen
werden kann.
80
XHTML 1.1 (REC) wurde entwickelt, um einen konsistenten Dokumenttypen zu schaffen,
der als Basis für erweiterte Dokumenttypen der XHTML-Familie dienen kann. Es handelt
sich um eine Reformulierung von XHTML 1.0 Strict durch XHTML-Module. Abwärtskompatibilität
zu HTML 4.x ist nicht mehr gegeben. Entwickler können XHTML 1.1 als
Basis nehmen und weitere Module implementieren, um neue Doctypes für individuelle
79 Richtlinien für die Erstellung von HTML-4 kompatiblem XHTML :
http://www.w3.org/TR/xhtml1/#guidelines
80 W3C Empfehlung zur Modularisierung von XHTML :
http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410
57
1.5. WEBSTANDARDS 58
Aufgabenfelder zu entwickeln.
81
XHTML 2.0 (WD) wird eine konsequente Weiterentwicklung der durch XHTML 1.1 vorgegebenen
Linie mit erweiterter Modul-Unterstützung.
82
XHTML Basic (REC) ist eine minimale modulbasierte Version von XHTML, die entwickelt
wurde, um Geräte mit eingeschränkten Möglichkeiten, wie PDA, Set-top-Boxen
etc. zu unterstützen.
83
Layout für alle - CSS
Cascading Style Sheets (CSS) sind eine Möglichkeit strukturierte Daten wie HTML- oder
XML-Dokumenten zu formatieren und somit das Layout unabhängig vom Inhalt eines
Dokuments festzulegen, indem man dem Inhalt von Elementen bestimmte Formatanweisungen
zuordnet.
• Für visuelle Ausgabemedien kann man u.a. Schriftarten und -Stile, Farben für
Text, Rahmen und Hintergründe festlegen, Einzüge und Abstände der Elemente
bestimmen und somit komplette Layouts entwerfen.
• Für Sprachausgabegeräte können u.a. verschiedene Stimmen, Sprechpausen und
Betonungen festgelegt werden.
• Für Braille und Blindendrucker.
CSS-Styles können einzelnen Elementen zugeordnet
werden oder mittels IDs oder Klassen referenziert
werden, wobei die Styles entweder im Dokument
selbst oder in einer verlinkten externen
Datei definiert werden. So kann eine CSS-Datei
für die Formatierung mehrerer Seiten einer Webanwendung
verwendet werden, Änderungen am Layout
oder der Farbgebung gelten dann automatisch
für alle verknüpften Seiten, was den Aufwand und
somit die Entwicklungskosten reduziert.
Abbildung 1.16.: Braille Lesegeräte
ermöglichen Blinden das Lesen von
Texten am Computer
Dem Begriff der Kaskadierung von Stylesheets liegt
das Prinzip der Vererbung (inheritance) zugrunde:
Eine Style-Definition für ein Element gilt gleichzeitig
für enthaltene Elemente, wenn sie nicht explizit überschrieben wird.
81 XHTML 1.1 - W3C-Recommendation vom 31. Mai 2001 :
http://www.w3.org/TR/2001/REC-xhtml11-20010531
82 W3C XHTML 2.0 Working Draft, Mai 2005 :
http://www.w3.org/TR/2005/WD-xhtml2-20050527
83 W3C XHTML-Basic Recommendation, Dezember 2000 :
http://www.w3.org/TR/2000/REC-xhtml-basic-20001219
58
1.5. WEBSTANDARDS 59
BILDSCHIRMDARSTELLUNG
IM WEBBROWSER
LIENEARE DARSTEL-
LUNG
(CONTINUOUS MEDIA)
SYTHESIZER FÜR
SPRACHAUSGABE
LINEARE DARSTELLUNG FÜR
EINFACHE ZUGÄNGLICHKEIT
HANDHELD
DRUCKAUSGABE
PROJEKTION
SEITENWEISE
DARSTELLUNG
(PAGED MEDIA)
Abbildung 1.15.: Eine Webseite für unterschiedliche Ausgabemedien
59
1.5. WEBSTANDARDS 60
Ein weiter Vorteil bei der Verwendung von CSS besteht darin, dass für Unterschiedliche
Ausgabemedien (media types->A.3) eigene Formatanweisungen definiert werden
können, was einen medienneutralen Produktionsprozess vereinfacht. Es lassen sich z.B.
Elemente für die Navigation auf einer Webseite, die am Bildschirm notwendig sind und
auf einem Ausdruck störend wirken mit einer entsprechenden Anweisung leicht verstecken.
Profiles und Modularisierung von CSS
Aufgrund des großen Umfangs der möglichen Formatierungen (allein das Inhaltsverzeichnis
der CSS-2.1 Spezifikation 84 umfasst ca. 10 Seiten) hat man in der Version 2 der
CSS-Spezifikation damit begonnen, den Standard in kleinere Teile zu zerlegen und wie
auch XHTML-1.1 zu modulisieren.
Es ist ausdrücklich nicht notwendig, dass ein Webbrowser alle Möglichkeiten von CSS
unterstützt. Es ist aber für den Webdesigner elementar zu wissen, welchen Formatanweisungen
auf welchen Medien möglich sind. Mit einem »Profile« wird festgelegt, welche
CSS-Module von einem Medientypen unterstützt werden, woraus implizit folgt, welche
Formate der Webdesigner verwenden darf.
Medientypen
Um die Ausgabe von Webdokumenten an verschiedene Ausgabegeräte (->1.4.2) anzupassen,
kann man CSS-Medientypen (media) verlinken. Der Webbrowser erkennt seinen
Medientypen in den CSS-Angaben und stellt die Seite so dar, wie es sich der Webdesigner
für dieses Ausgabemedium vorgestellt hat.
Im Allgemeinen kann ein Webbrowser nur einen Ausgabetypen unterstützen. Ausnahmen
sind Browser, die einen anderen Medientypen simulieren (Druckvorschau) oder auf
mehrere Ausgabegeräte zugreifen können, wie Screen-Webbrowser mit der Option zum
Drucken.
Eine Auflistung der Medientypen findet sich im Anhang (->A.3).
Ein Stylesheet für jedes Ausgabemedium
Die Zuordnung eines Meda-types auf drei unterschiedliche Arten mit den für das Medium
gewünschten CSS-Stilen verknüpft werden: 85
• Importieren einer Style Datei für ein Medien Typen mit der @import-Regel. Z.B.
@import url("fancyfonts.css") screen;
• Angeben der Styles in einem Abschnitt der CSS-Datei:
@media print {
/* Stile für den Druck */
}
84 W3C CSS 2.1 Working Draft, Juni 2005 :
http://www.w3.org/TR/2005/WD-CSS21-20050613/
85 Es gibt auch die Möglichkeit CSS-Stile im Webdokument festzulegen.
60
1.5. WEBSTANDARDS 61
• Definition des Media-types mit als Tag-Element im Header-Teil des Webdokuments.
Z.B. HTML 4.x
Link to a target medium
The body content ...
CSS Versionen
Der CSS-1 Standard (REC) 86 wird von allen gängigen Browsern gut unterstützt. Mit
CSS-2 (REC)
87 wird die Unterstützung verschiedener Medien-Typen (->1.4.2) eingeführt.
Nun ist es möglich für definierte Medien ein unabhängiges Layout per Stylesheet
festzulegen. Das »paged Media Module« ermöglicht die seitenweise Darstellung
der ursprünglich endlosen Dokumente, Unterstützung für Aural-Stylesheets wird eingeführt.
CSS-2.1 (WD) 88 hat das Entwicklungsziel bekannte Probleme von CSS-2 zu korrigieren,
allgemein akzeptierte Umsetzungen zu integrieren und von keinem Browser implementierte
Teile der Spezifikation zu entfernen. Dabei soll CSS-2.1 kompatibel zu aktuellen
Browsern bleiben.
CSS-3 (WD) 89 liegt die Idee der vollständigen Modularisierung zugrunde. Es soll möglich
werden, Teile (Module) der Spezifikation zu ändern, ohne dass der komplette Standard
überarbeitet werden muss. Browser-Entwicklern wird die Möglichkeit gegeben, genau
zu spezifizieren, welche CSS-Module der Webbrowser unterstützt und Webdesignern ein
verlässliches Mittel herauszufinden, auf welchen Browsern ihre Webseite wie gewünscht
angezeigt wird, ohne dass sie aufwändige Tests vornehmen müssen.
86 W3C CSS-1 Recommendation vom Dezember 1996 :
http://www.w3.org/TR/CSS1
87 W3C CSS-2 Recommendation vom Mai 1998 :
http://www.w3.org/TR/1998/REC-CSS2-19980512
88 CSS-2.1 Working Draft Juni 2005 :
http://www.w3.org/TR/CSS21/css2.pdf
89 Introduction to CSS3 - ein überblick über vorgesehne CSS-3 Module :
http://www.w3.org/TR/2001/WD-css3-roadmap-20010406
61
1.5. WEBSTANDARDS 62
Weitere W3C-XML-Sprachen
SVG - Scalable Vector Graphics
Der aktuell verbreiteteste Standard für Vektorgraphiken im Web ist das 1996 von Macromedia
veröffentlichte Flash Format.
90 Vektorgrafiken eignen sich zur auflösungsunabhängigen
Darstellung von Grafiken, wie Statistiken, Charts, Straßenkarten und animierten
Online-Spielen. Das W3C hat im Jahr 2001 den ersten Versuch gestartet Macromedias
proprietärem 91 Standard ein offenes, XML-basiertes Format entgegenzusetzen.
92
Wie alle Sprachen der XML-Familie ist SVG leicht mit serverseitigen Scriptsprachen zu
erstellen: Börsenkurse oder Wahlergebnisse lassen sich somit leicht aus vorhandenen Datenbeständen
erstellen. Auf Clientseite kann dem Benutzer über Javascript und DOM interagieren.
Mit der Unterstützung durch Webbrowser sieht es noch dürftig aus, doch außer
Microsoft arbeiten fast alle Browserentwickler an SVG-Unterstützung. 93
MathML
Mathematiker haben es seit jeher schwer ihre Arbeiten digital zu publizieren. Zwar bieten
professionelle Mathematikprogramme die Möglichkeit HTML zu exportieren, doch
werden Formeln oft als gif-Grafiken in die exportierten Dokumente eingefügt, was das
Abspeichern, den auflösungsunabhängigen Druck und Copy&Paste schwierig bis unmöglich
macht. MathML 94 bietet ein XML-basiertes Format für alle, die komplexe Formeln
leserlich im Web veröffentlichen wollen.
XHTML + MathML + SVG - Ein Beispiel
Ein schönes Beispiel, wie künftig die Vermischung der verschiedenen W3C Techniken
realisiert werden soll. Vektorgrafiken (SVG), mathematische Formeln (Math ML) und
XHTML lassen sich in ihren jeweiligen Namensräumen innerhalb eines Dokuments verwenden.
Opera 8.0 95 ist der erste Browser und zur Zeit noch einzige Webbrowser der
diesen Dokumenttyp darstellen kann.
96
Ein kleines Beispiel dazu findet sich auf der Webseite 97 zu dieser Arbeit.
90 Informationen über Macromedia Flash :
http://openswf.org/spec.html
91 Für die Erstellung der in binärem Datenformat gespeicherten swf-Dateien ist man auf das kostenpflichtige
Programm Macromedi Flash angewiesen. Macromedia von gehört heute zu Adobe-Systems
92 Mittlerweile gilt die SVG-1.1 Specification, W3C Recommendation Januar 2003 :
http://www.w3.org/TR/2003/REC-SVG11-20030114/
93 Ein vom Autor bei Mediaevent verfasster Artikel befasst sich mit der Browserunterstützung von SVG,
Nov. 2005 :
http://www.mediaevent.de/article.php/20060103130224175
94 W3C MathML 1.1 Recommendation vom Juli 1999 :
http://www.w3.org/1999/07/REC-MathML-19990707
95 Webseite des Webbrowsers Opera :
http://www.opera.com
96 Ein XHTML-Profil, das die Vermischung von XHTML, MathML und SVG ermöglicht :
http://w3c.org/XHTMLplusMathMLplusSVG
97 Beispiel für gemischte Namensräume :
http://colormanagement.digitaldonkey.de/xhtml-svg-mathMl
62
1.5. WEBSTANDARDS 63
1.5.4. Das W3C über Farben
In Webdokumenten werden Farben für die visuelle Gestaltung eingesetzt und finden sich
in verknüpften Bildern. Aktuelle Standards gehen von sRGB als Farbraum aus.
In manchen Standards sind alternative Möglichkeiten zur Angabe von Farben vorgesehen.
In der SVG Spezifikation 98 wurde das Problem der Farbdarstellung erstmals behandelt.
Im Zuge der Modularisierung der W3C-Standards sind wesentliche Elemente aus dieser
Spezifikation in das CSS-3 Color Modul 99 eingeflossen, dem bei künftigen Standards eine
zentrale Bedeutung zukommt.
Farben in aktuellen Recommendations
Bei allen aktuellen Recommendations, in denen die Angabe von Farben möglich ist, können
diese prinzipiell auf mehrere verschiedene Arten angegeben werden.
1. Über Farbnamen (named colors)
Beispiel:
body {color: black; background: white }
h1 { color: maroon }
h2 { color: olive }
Eine Liste möglicher Farbnamen findet sich unter 100 .
2. Angaben von RGB Farbwerten
kann man auf drei unterschiedliche Arten machen. Eine Überschreitung des vorgesehenen
Wertebereichs wird auf den entsprechenden Minimal, bzw. Maximalwert
geklippt. Die Beispiele sind in CSS Syntax angegeben.
a) Angabe von drei oder sechs hexadezimalen Werten: [0-9, A-F] je Farbkanal
Ermöglicht die Angabe der Werte äquivalent zu Integer Werten [0-255] für
jeden Farbkanal
Beispiel:
p { color: #f00 } /* #rgb wird interpretiert wie #rrggbb*/
p { color: #ff0000 } /* #rrggbb */
98 Scalable Vector Graphics (SVG) 1.1 Recommendation, Januar 2003 :
http://www.w3.org/TR/2003/REC-SVG11-20030114/
99 W3C CSS-3 Color Module, Canaidate Recommendation vom Mai 2003 :
http://www.w3.org/TR/2003/CR-css3-color-20030514
100 Farbnamen und ihre numerischen Werte :
http://www.mediaevent.de/tutorial/farbcodes.html
63
1.5. WEBSTANDARDS 64
b) Angabe von integer Zahlenwerten: 0-255 je RGB Farbkanal
Beispiel:
p { color: rgb(255,0,0) }
p { color: rgb(300,0,0) } /* clipped to rgb(255,0,0) */
p { color: rgb(255,-10,0) } /* clipped to rgb(255,0,0) */
3. Angabe von prozentualen RGB Werten: [0-100%] je Farbkanal
p { color: rgb(100%, 0%, 0%) }
p { color: rgb(110%, 0%, 0%) } /* clipped to rgb(100%,0%,0%) */
Alle genannten Farbangaben sind als sRGB-Farbwerte zu verstehen und sollen vom Webbrowser
auch als solche interpretiert werden.
Künftige Standards sehen weitere Mögichkeiten zur Angabe von Farbwerten vor, sie werden
im folgenden Abschnitt besprochen.
CSS-3 Color Module
Zur modularisierten CSS-3 Spezifikation gehört das CSS-3 Color Module. 101 In diesm
Modul werden alle mit farbiger Darstellung zuammenhängenden Stile definiert. Jede
Implementierung von CSS-3-Farben muss spezifizieren welche Teile des Color Modules
unterstützt werden. Das geschieht durch Profiles. 102 Für das Color Module sind die
Profiles zum aktuellen Zeitpunkt noch nicht norminativ festgeschrieben. Im folgenden
sollen nicht in früheren CSS-Versionen enthaltene Eigenschaften besprochen werden. Der
Schwerpunkt liegt dabei auf Farbmanagementfunktionen.
Neue Farben und Transparenz
Neben mittlerweile 147 festgelegten Farbnamen gibt es in CSS-3 ein Schlüsselwort für
Transparenz: »color: transparent;« und die Möglichkeit die Transparenz (opacity) eines
Objekts bei Farbangaben mit anzugeben. Transparenz wird durch eine vierte Zahl angegeben,
die den normalen Farbangaben angehängt werden kann. Die vierstelligen RGBA
und HSLA Farbangaben sind also keine CMYK-Farbangaben, wie es auf den ersten Blick
erscheinen mag. Der letzte Wert ist die Alpha-Angabe und kann numerische Werte zwischen
0 und 1 oder 0% und 100% annehmen. Voreinstellung ist 100% also keine Transparenz,
bei 0% ist nichts mehr von der angegebenen Farbe zu sehen.
Die ursprüngliche Bestimmung des RGB-Farbraums lag in der in der Ansteuerung von
CRT-Röhrenmonitoren durch die Grafikkarte. Die Verwendung von RGB Farbwerten ist
nicht intuitiv, deshalb sieht im CSS-3 Standard die Möglichkeit vorgesehen, die Farben
nach Farbwinkel (Hue), Farbsättigung (Saturation) und Helligkeit (Lightness) anzugeben,
101 W3C CSS-3 Color Module, Canaidate Recommendation vom Mai 2003 :
http://www.w3c.org/TR/2003/CR-css3-color-20030514
102 Profiles von html und CSS beschreiben Teilmengen der Spezifikation. Nicht zu verwechseln mit ICC-
Profilen
64
1.5. WEBSTANDARDS 65
einem HSL-Farbraum.
Will man beispielsweise ähnliche Farben erzeugen geht das mit HSL-Farben erheblich
leichter: Man variiert Helligkeit oder Sättigung und kann den Farbwinkel beibehalten.
Die Farbwerte:
Rot: 0, 360 ◦ Grün: 120 ◦ Blau: 240 ◦
Helligkeit: 0-100%
Sättigung: 0-100%
Bei den HSL-Farbangaben handelt es sich um eine
andere Schreibweise für RGB Farbwerte. Wenn
dem Dokument also kein anderes Farbprofil zugeordnet
wurde also um sRGB Werte. Wie man die
Farbwerte ineinander umrechnent, ist im Standard
festgelegt. 103 .
Eine weitere Neuerung betrifft die bisher kaum
implementierten CSS-2 system colors. Sie sollten
es dem Webdesigner ermöglichen die im Betriebssystem
festgelegten Desktop-Farben auch in Webanwendungen
zu verwenden. In CSS-3 gelten sie
als unerwünscht (depreciated). Statt dessen wurden
neue Farbschlüsselwörter festgelegt, die vom
Browser mit Systemfarben versorgt werden können.
Diese übernehmen die Farbeinstellungen aus
dem Betriebssystem von Elementen, wie Menü,
Scrollbar, markierter Text etc.
104
Abbildung 1.17.: HSL - steht für
Hue, Saturation und Lightness
Das Color-Profile Tag und die @color-profile Regel
Bei Ausgabemedien des Typs visual können im CSS-3 Standard erstmals Farbprofile
zur Definition von Farben und die Verknüpfung mit Bildern verwendet werden. Leider
unterstützt derzeit noch kein Webbrowser diese Funktionen.
Mögliche Attribute von color-profile:
auto | sRGB | | | inherit
Ein Farbprofil kann mit allen Elementen verlinkt werden, ist keines angegeben, so ist
die Voreinstellung auto: Es werden in Bildern eingebettete Farbprofile ausgewertet. Wird
dagegen sRGB angegeben, werden alle eingebetteten Farbprofile ignoriert und stattdessen
der sRGB-Farbraum angenommen.
103 Umrechnung von HSL in RGB Farbwerte. W3C Color-Module Candidate Recommendation, Dezember
2004 :
http://www.w3.org/TR/css3-color/index.html#hsl-examples
104 Farbnamen für Systemfarben, W3C Color-Module Candidate Recommendation, Dezember 2004 :
http://www.w3.org/TR/css3-color/index.html#css-system
65
1.5. WEBSTANDARDS 66
Der Wert name wird weiter unten im Zusammenhang mit der @color-profile-Regel besprochen.
Mit dem CSS-üblichen Schlüsselwort inherit wird in der Dokumentstruktur nach einer
profile-Anweisung in übergeordneten Ebenen gesucht und diese vererbt.
Die Hierarchie bei der Verwendung von Farbrofilen ist wie bei CSS üblich, durch das
Prinzip der Vererbung festgelegt. Es gilt das der Farbanweisung nächstliegende Element.
Mit der Ausnahme: In Bilder eingebettete Farbprofile können durch explizite Angabe
eines Farbprofils im Image-Tag überschrieben werden. Dann gilt das in der URI angegebene
Profil, das eingebettete wird ignoriert, auch wenn es dem Bild eigentlich näher
liegt.
/*
Allen Bildern, die über ein img-Tag eingebunden sind, wird
das AdobeRGB Farbprofil von der angegebenen Serveradresse
zugewiesen
*/
img { color-profile: url("http://example.com/profiles/AdobeRGB.icm") }
Zu dem verlinkten Farbprofil kann ein rendering-intent angegeben werden. Mögliche Werte
sind:
auto|perceptual|relative-colorimetric|saturation|absolute-colorimetric|inherit
Es gelten die vom ICC Definitionen
105 für die Rendering intents. Der Attributwert
auto ist die Voreinstellung. Bei Bildern mit eingebettetem Farbprofil wird der Rendering
Intent, der im Farbprofil angegeben ist verwendet.
Ein Farbprofil und alle dazugehörigen Angaben können an zentraler Stelle in der CSS-
Datei definiert werden. Diese Angaben werden mit einem Bezeichner »« versehen
und können an anderen Stellen referenziert werden. Dazu wird die @color-profile Regel
verwendet. Es gilt folgende Syntax:
@color-profile {
descriptor: value;
...
descriptor: value;
}
105 Es gelten die vom ICC Definitionen der ICC Profile Format Spezifikation, Version 3.2. 1995 für die
Rendering Intents im CSS-3 Color Module :
http://www.color.org/icc32.pdf
66
1.5. WEBSTANDARDS 67
Die Descriptoren:
• name
kann und sollte frei vergeben werden. Ist kein Name angegeben, so gilt sRGB per
Voreinstellung.
• src
Mögliche Werte sind:
sRGB | | | ( )
• sRGB ist die Voreinstellung. Verwendet man sRGB, kann man sich den @color-
Aufwand auch ersparen.
• local("+ + ") ermöglicht die Referenz auf ein clientseitig vorhandenes
Farbprofil. Das macht natürlich nur Sinn, wenn man davon ausgehen kann, dass
auf Client-Seite auch ein entsprechendes Farbprofil zur Verfügung steht.
• referneziert ein auf einem Server bereitgestelltes Farbprofil.
• ( ) ist eine sinnvolle Kombination. Nur, wenn das lokale Profil
nicht vorhanden ist, wird die URI-Referenz geladen.
• rendering-intent erlaubt die explizite Angabe eines ICC Rendering-Intents (s.o.).
/* Die @ color-profile Regel in der Anwendung*/
@color-profile {
name: myProfile;
src: (local(Adobe RGB) http://www.myserver.org/AdobeRGB.icc);
rendering-intent: perceptual;
}
img { color-profile: myProfile;}
Der Einsatz von color-profile und @color-profile ist für die Lösung komplexer Farbprobleme
geeignet. Durch die Referenz von Farbprofilen kann man gerade bei speicherintensiven
LUT-Profilen Übertragungskapazität einsparen, da der Browsercache dafür sorgt, dass
ein einmal verlinktes Profil nicht erneut vom Server geladen werden muss. Bei in Bildern
eingebetteten Farbprofilen müssen die Daten mit jedem Bild erneut übertragen werden.
Man kann also Bilder in einem beliebigen Farbraum ohne Farbprofil speichern und per
CSS-Link mit einem Profil verknüpfen.
Weitere Anwendungsszenarien wären Denkbar. Bei bekanntem Bild-Farbraum und Verwendung
eines geeigneten abstract-Profils wären per JavaScript interaktive Softproof
Anwendungen denkbar (->2.3.3).
67
1.5. WEBSTANDARDS 68
1.5.5. Anforderungen an künftige Webbrowser
Berücksichtigt man die im CSS-3 Color Modul vorgeschlagenen Möglichkeiten für die
Verwendung von ICC-Farbprofilen ist es notwendig Webbrowser, mit CMM Funktionnalitäten
auszustatten.
Die Farbverarbeitung lässt sich laut W3C auf eine Gamma-Anpassung reduzieren. Ist
dies gewünscht, so ist eine Gammakorrektur nötig, die zusammen mit dem Geräteeigenen
Gamma des Ausgabegeräts ein Gamma von 2,2 ergibt. Denn es wird ein idealer
CRT-Bildschirm angenommen, wie in der Spezifikation des sRGB (-> 1.3.4) Farbraums
beschrieben. Gammaverschiebungen, die durch Dithering entstehen werden dabei ignoriert.
106
Webbrowser, die im CSS-3-Color-Modul (-> 1.5.3) beschriebene Profile-Tags unterstützen
sollen, müssen auf eine geeignete ICC-kompatible Infrastruktur zugreifen können um
die Anforderungen richtig umzusetzen.
Wie ein Webbrowser diese Anforderungen umsetzt bleibt zunächst offen. Damit ein
Webbrowser-Entwickler das Colormanagement nicht selber implementieren muss, kann
er die vom Betriebssystem bereitgestellte Infrastruktur nutzen.
Die Aussicht auf farbrichtig arbeitende Browser ist also stark abhängig von den CMS Implementierungen
der Betriebssystem-Entwickler. Bei Windows und Macintosh Betriebssystemen
ist die Infrastruktur vorhanden, Unix-Surfer werden vermutlich noch länger
auf eine farbfähigen Browser warten müssen. Denkbar wäre aber ein Farbmanagement
auf Anwendungsebene, bei dem der Surfer in den Einstellungen des Browsers ein Bildschirmfarbprofil
auswählt. Farbraumtransformationen ließen sich dann durch Integration
der LCMS-API realisieren.
106 W3C Color Module über den Umgang mit verschiedenen Gammawerten unterschiedlicher Systeme :
http://www.w3.org/TR/css3-color/#gamma
68
2. Praktisches Farbmanagement für den
Webserver
Im praktischen Teil dieser Arbeit soll aufgezeigt werden, wie sich farbrelevante Bildverarbeitung
auf Webservern durch den Einsatz freier Software implementieren lässt.
2.1. Server- und Clientseitige
Bildverarbeitung
Will ein Webdesigner Webseiten erstellen, sollte er seine Bilder im Internet-Standard-
Farbraum sRGB veröffentlichen. Erstellt er einzelne Webseiten, bieten die meisten Bildbearbeitungsprogramme
Möglichkeiten Bilder internetkonform zu speichern. Dabei wird
das Bild in den sRGB Farbraum gewandelt und ohne Farbprofil als jpeg-, gif- oder png-
Grafik abgespeichert. Einfache Bildbearbeitungsprogramme erlauben manchmal keinen
anderen Farbraum als sRGB.
Hat er eine größere Menge Bilder zu verarbeiten bieten sich Automatisierungsfunktionen,
wie die Photoshop-Aktionen an, die es erlauben eine einmal aufgenommenes
Macro auf andere Dateien oder ganze Ordner anzuwenden oder als Droplett zu speichern.
Ein Droplett ist ein ausführbares Programm, zieht man einen Ordner mit Bildern
darauf startet Photoshop und führt die im Macro gespeicherten Aktionen automatisch
aus.
Oft sind Webdesigner nicht für die Erstellung der Inhalte zuständig, sondern realisieren
Internetauftritte in Zusammenarbeit mit Redakteuren.
Es entspricht nicht der gängigen Praxis in Unternehmen, dass ein Webdesigner einen kompletten
Internetauftritt erstellt. Vielmehr bietet er mit einer auf dem Webserver installiertem
Content Management System verschiedenen Redakteuren die Möglichkeit Inhalte zu
veröffentlichen. Ein Webinterface mit WYSIWYG-Editor ermöglicht es dem Redakteur
die Inhalte online zu erstellen und zu verändern. Oft sind die Redakteure auch für die
Beschaffung von Bildmaterial zuständig. Doch die Vorbereitung der Bilder für einen Webauftritt
bedarf einer geeigneten Software und Übung in deren Anwendung. Schließlich
kostet es Zeit diese Aufgaben zu erledigen. Je mehr Redakteure an einem Webauftritt beteiligt
sind desto schneller steigen die damit verbundenen Kosten.
69
2.1. SERVER- UND CLIENTSEITIGE BILDVERARBEITUNG 70
2.1.1. Workflow im Internet
Wie sich die serverseitige Bildverarbeitung in einen Produktionsprozess integrieren lässt
soll anhand eines Beispiels erörtert werden: Die hypothetische Zeitschrift »Der Blumenzüchter«
erscheint alle zwei Wochen und verfügt über zwei feste Redakteure in München,
die vorwiegend mit Kleinst-Artikeln und dem Anzeigengeschäft beschäftigt sind und das
Gros der Artikel, inklusive Bildern, von freien Mitarbeitern aus dem gesamten Bundesgebiet
einkaufen. Das Layout erstellt ein Grafiker aus Hamburg.
Die Redaktion hat sich auf einem Webserver ein Content Management System einrichten
lassen, Redakteure und freie Mitarbeiter können sich von jedem Internetzugang aus
einloggen, Artikel einstellen und überarbeiten. Besprechungen mit der Redaktion finden
telefonisch statt, sobald ein Freier Mitarbeiter einen Artikel fertig hat, kann der Redakteur
ihn lesen und Korrekturwünsche anbringen.
Die Bilder der Freien werden in hoher
Druckauflösung hochgeladen. Eine
Kopie des Originals mit dem Artikel
verknüpft. Alle Bilder automatisch
in den Arbeitsfarbraum der Redaktion
gewandelt. Ein Softproof des
Druckfarbraums wird in der Online-
Version des Artikels angezeigt, so dass
alle Beteiligten beurteilen können, wie
das Bild in der Zeitung erscheinen wird.
Ein Beschneidungsrahmen
1 ermöglicht
die Anpassung des Bildausschnitts.
Ist der Redakteur mit einem Artikel
zufrieden, ordnet er ihm eine Rubrik
zu und gibt ihn per Mausklick zur Veröffentlichung
frei.
Abbildung 2.1.: Bei Gallery kann man Bilder
im Webbrowser mit Hilfe eines Java Applets
beschneiden
Der Grafiker erhält per automatisiertem
XML-Export alle Artikel entsprechend
dem Aufbau der Zeitschrift geordnet.
Die Bilder kommen in Originalversion
versehen mit den Daten des online vorgenommenen Bildausschnitts. Die XML-
Daten und Layoutvorlage des Blumenfreunds werden in der Layoutsoftware verknüpft.
Die Aufgabe des Grafikers ist es die Bilder zu prüfen, ggf. zu bearbeiten und das Layout
visuell zu gestalten. Eine Druckfertige PDF-Ausgabe der Zeitschrift kann er ebenfalls per
Telefon mit der Redaktion besprechen.
Die Webseite der Blumenzüchter lässt sich aus dem System ebenfalls mit Inhalten versorgen.
Die Redaktion kann per Klick entscheiden, ob ein Artikel ganz oder teilweise
auf den Webseiten veröffentlicht werden soll. Natürlich werden die Bilddaten dabei automatisch,
passend beschnitten, scharfgezeichnet und in den sRGB-Farbraum transformiert.
1 Bildbeschnitt lässt sich mit Java-Applets direkt im Webbrowser vornehmen. Realisiert in der Online-
Bildergalerie Gallery2 :
http://gallery.menalto.com
70
2.1. SERVER- UND CLIENTSEITIGE BILDVERARBEITUNG 71
In diesem Beispiel brauchen nicht alle Mitarbeiter ein funktionierendes Farbmanagement
nur bei Redaktion und Grafik sollten reproduzierbare Bedingungen herrschen. Freie Mitarbeiter
können Bilder bei entsprechenden Kenntnissen nach Ihren Vorstellungen vorbereiten
oder unbearbeitet von der Digitalkamera hochladen.
Als zweites Beispiel für serverseitige Bildverarbeitung möchte ich die Open-Source Webanwendung
Gallery2 anführen. Eine Bildgalerie für den Webserver, bei der Bilder in verschiedensten
Bildformaten und Auflösungen über ein Webinterface auf den Server lädt.
Anschließend können die Bilder in Alben angeordnet, IPTC Daten angezeigt, Bildausschnitte
angepasst, Anzeige- und Bearbeitungsrechte für Benutzer und Gruppen vergeben
werden. Es lässt sich festlegen in welcher Auflösung nicht angemeldete Benutzer die Bilder
anzeigen dürfen und ob ein Wasserzeichen eingebettet werden soll. Das Plug-in-Konzept
von Gallery ermöglicht noch viele weitere Funktionen, wie die Anbindung eines Shopping-
Charts oder den Versand zu einem Online-Belichtungs-Dienstleister.
2.1.2. Serverseitige Bildverarbeitung
Internetserver gibt es mit einen unüberschaubaren Anzahl unterschiedlicher Hard- und
Softwareausstattungen. Neben den häufig anzutreffenden Unix- und Linuxsystemen buhlen
auch Apple und Microsoft um die Gunst der Webadministratoren. Eine sehr verbreitete
und kostengünstige Kombination besteht aus einem Linux-Betriebssystem mit einem
Apache Webserver. Die meisten im folgenden besprochenen Programme laufen ebenfalls
auf Apple- und teilweise auch auf Microsoft- Systemen.
Auf Internetservern sind keine grafischen Oberflächen installiert, serverseitige Bildverarbeitung
hat also nichts mit Mausschieben und Pinselchen anklicken zu tun sondern
mit automatisierter Bildbearbeitung im Rahmen von Webanwendungen. Diese können
in Server-Programmiersprachen, wie Perl oder PHP geschrieben sein. Bedingt durch das
http-Protokoll kann die Bildbearbeitung nicht in Echtzeit stattfinden.
Besondere Beachtung muss bei der Bildverarbeitung den Systemressourcen zukommen.
Bildverarbeitung ist mit rechenintensiven Arbeitsschritten verbunden, besonders, wenn
die Auflösungen und Bildgrößen über im Internet übliche Maß hinausgehen. Es sollten
Maßnahmen ergriffen werden, dass Bildverarbeitungsprogramme nicht zu große Teile des
Arbeitsspeicher oder der Rechenzeit in Anspruch nehmen können, da der Webserver
jederzeit verfügbar bleiben sollte.
Für die Installation von Programmen auf dem Webserver ist meist ein voller System-
Zugriff (root-Rechte) auf den Webserver nötig.
71
2.2. OPENSOURCE SOFTWARE 72
2.2. OpenSource Software
In der Frühzeit der Computertechnik war die Software eine Zugabe zu großen Computeranlagen.
Die in Assemblersprachen geschriebenen Programme liefen nur auf der dafür
vorgesehenen Hardware. Die wirtschaftlichen Vorraussetzungen für das Verheimlichen der
Quelltexte von Softwareprogrammen entstand erst, als Computer für kleinere Unternehmen
und schließlich auch für den Einzelnen erschwinglich wurden. Erst höhere Programmiersprachen
und damit die Trennung von Betriebssystem und Anwendung ermöglichen
die gleiche Software auf unterschiedlicher Hardware einzusetzen.
Open Source Software (OSS) ist ein durch ein die Open Source Initiative (OSI) mit einem
Certification Mark 2 geschützter Begriff. Um ein Produkt als Open Source Software zu
bezeichnen muss eine Software folgende Bedingungen erfüllen:
• Der Quelltext der Software steht der Öffentlichkeit zu Einsicht zur Verfügung
• Die Software darf beliebig verbreitet, kopiert und benutzt werden
• Die Software darf verändert und in veränderter Form weitergegeben werden
Im Kontrast zur 1998 gegründeten OSI steht die ungleich ältere Idee der freien Software.
Das 1984 von Richard Stallmann gegründete GNU-Projekt
3 und die von ihm
entwickelte General Public License (GPL) sieht freie Software als ein gemeinnütziges
Projekt an. Die GPL bedient sich dabei eines juristischen Kunstgriffes des Copylefts:
Der erlaubt Modifizierungen der Software nur, wenn diese auch wiederum unter der
GNU Lizenz veröffentlicht werden. Das soll verhindern, dass freie Software nach einer
Weiterentwicklung privatisiert werden kann. Seit 1991 gibt es ein vollständiges, freies Betriebssystem
das GNU/Linux mit weltweit schätzungsweise 30 Millionen Installationen.
4
Die Voraussetzung für die Entwicklung von OSS ist das Internet. Über Webseiten, per
Mailinglisten oder über den Internet Relay Chat können Programmierer und Anwender
sich Austauschen, Software anbieten und diskutieren. Die Quelloffenheit bietet den Vorteil,
dass Fehler in der Software selten unentdeckt bleiben. 5 Viele Open Source Projekte
konnten dadurch eine überdurchschnittliche Stabilität erlangen. Hersteller proprietärer
Software dagegen tendieren dazu Fehler in ihren Produkten zu verheimlichen, schließlich
müssen Sie ihre Software ja verkaufen.
Open Source kann also als eine effiziente Methode zur Entwicklung von Software angesehen
werden, während bei dem Begriff freier Software die ideologische Idee frei Zugängli-
2 Warenzeichen, das es erlaubt Produkte andere zu zertifizieren
3 GNU-Projekt Website :
http://gnu.org
4 Volker Grassmuck, Freie Software - Zwischen Privat und Gemeineigentum, Bundeszentrale für Politische
Bildung, 2.Auflage, Bonn 2004, S. 229 :
http://freie-software.bpb.de/Grassmuck.pdf
5 Eine Programmierer Faustregel besagt, dass auf 100 Zeilen Quellcode ein Fehler angenommen werden
kann
72
2.2. OPENSOURCE SOFTWARE 73
chen Wissens zugrunde liegt.
2.2.1. Lizenzen
Eine Lizenz regelt die vertraglichen Rechte und Pflichten des Lizenznehmers gegenüber
dem Lizenzgeber, dem Inhaber des Urheberrechts. Diesem steht es frei bei Veröffentlichung
seiner Arbeit Bedingungen für die Nutzung festzulegen. Es haben sich in den letzten
Jahren eine ganze Reihe verschiedenartiger OSS-Lizenzen entwickelt, deren Gemeinsamkeiten
bereits erwähnt wurden. Die wesentlichen Unterschiede sollen an diese Stelle
kurz beschrieben werden. Ebenso wie kommerzielle Lizenzen schließen die Lizenzbedingungen
jegliche Haftung und Gewährleistung für die Produkte aus.
Public Domain-Software
ist lizenzlose Software, sie ist nicht Copyright geschützt. Software oder Quellcode sind gemeinfrei,
was jegliche Nutzung bis hin zu Beantragung eines Copyrights möglich macht.
BSD
Die Lizenz der Berkeley Software Distribution erlaubt die Weiterverbreitung und Veränderung
von Quelltext und binärer Software, wenn Copyrightvermerk und Lizenztext mit
verbreitet werden und in Werbematerialien eine Hinweis auf die Beteiligung der Barkley
Universität dem entstehen der Software gegeben wird. Das die abgeleitete Software im
Quellcode veröffentlicht werden muss schreibt die Lizenz nicht vor. Ab 1999 fällt auch
die Pflicht für einen Hinweis in den Werbematerialien, da sich mit zunehmender Verbreitung
der Lizenz bei komplexeren Softwareprodukten die Anzahl der in die Werbung
einzufügenden Sätze nicht mehr tragbar war.
GPL
Die General Public License hat zum Ziel jegliche Weitentwicklungen GPL-lizenzierter
Software unbedingt wieder der freien Softwaregemeinde zukommen zu lassen. Der Entwickler
ist verpflichtet sein Produkt unter die gleiche Lizenz zu stellen, will er GPL
Software in sein Projekt einbauen. Die unterschiedlichen Interpretationen des Freiheitsbegriffes
treten hier zu Tage: Für Vertreter ökonomischen Sichtweise ist Software frei,
wenn man alles mit ihr machen kann, beispielsweise ein abgeleitetes Softwareprodukt
teuer verkaufen. Die GNU-Gemeinde sieht im Recht freie Arbeiten Anderer zu verwenden,
auch die Verpflichtung zu freien Arbeiten beizutragen, die Software ist Frei - nicht
nur kostenlos.
LGPL
Die Benutzung von GPL-Software ist für kommerzielle Anbieter, die innovative Software
entwickeln wollen ökonomisch unvertretbar. Die Leser- oder Library-GPL soll ihnen ermöglichen
freie Bibliotheken in ihre Produkte einzubauen, ohne dadurch gezwungen zu
werden ihre gesamten Quelltexte offen zu legen. Erklärtes Ziel der LGPL ist es die Verbreitung,
Akzeptanz und Weiterentwicklung freier Software fördern.
73
2.2. OPENSOURCE SOFTWARE 74
MPL
Die Mozilla Public License
6 wurde 1998 von der Firma Netscape herausgegeben. Sie
gilt als ein Kompromiss zwischen den beiden Extremen GNU und BSD. Veränderungen
am Quelltext eine MPL-Lizensierten Software müssen dieselbe Lizenz erhalten, jedoch
ist es möglich MPL-Quellcode mit proprietärem Quellcode zu verbinden und unter restriktiveren
Bedingungen zu verbreiten. Die MPL ist ausdrücklich inkompatibel mit der
GPL.
Es gibt noch eine große Menge weiterer Open Source Lizenzen, die den vorher genannten
oft ähnlich sind. Einen Überblick über verschiedene Open Source Lizenzen bietet die
Seite der Ifos. 7
2.2.2. Verwendung von OSS
Die Verwendung von Open Source Software erfordert eine andere Arbeitsweise als die
Verwendung gekaufter Software.
Kommerzielle Softwareanbieter bieten meist ein fertig geschnürtes, ausführlich getestetes
Paket und ein Supportangebot, falls etwas nicht funktionieren sollte. Das Marketing
versucht das Produkt möglichst vielen bekannt zu machen und die Funktionalität
leicht verständlich darzustellen. Ein wichtiges Entscheidungskriterium ist die
Qualität der Software und des gebotenen Supports: Werden Anfragen schnell und zuverlässig
beantwortet? Gibt es ein leicht verständliches Handbuch oder eine Online-
Hilfsangebot?
Bei Open Source Software steht meist kein organisiertes Unternehmen hinter dem Produkt.
Das Marketing besteht aus mehr oder minder informativen Webseiten, Zeitschriftenartikeln
und Beiträgen in Diskussionsforen. Auch gibt es keinen kostenlosen Support,
der sich freundlichst mit jeder Frage auseinandersetzt, die in der Dokumentation auf Seite
1 mit drei Ausrufezeichen steht. Für manche Software gibt es kostenpflichtigen Support
von den Entwicklern oder anderen Firmen.
Im Normalfall muss sich der Anwender aber selber informieren. Alle angebotenen Hilfsdokumente
und Manpages lesen und in Webforen und FAQ nach Lösungen suchen. Kommt
man mit den gebotenen Informationen nicht mehr weiter kann man sich mit seiner Frage
an projekbezogene Maillinglisten oder ein Webforen wenden. Fast immer werden qualifizierte
Fragen schnell und gut beantwortet. Man kann davon ausgehen, dass sich die
Entwickler darüber freuen, wenn Anwender auf Probleme oder Fehler in der Anwendung
stoßen und sie diskutieren wollen.
6 Mozilla Public License (MPL) :
http://www.mozilla.org/MPL/MPL-1.1.html
7 Das IFOS Lizenz-Center bietet einen Überblick über verschiedene Open Source Lizenzen, Dez. 2005 :
http://www.ifross.de/ifross_html/lizenzcenter.html
74
2.2. OPENSOURCE SOFTWARE 75
Für den Webentwickler der seiner Webanwendung Farbmanagementfunktionen mit OSS
hinzufügen will ergeben sich folgende Aufgaben:
1. Recherche nach einer geeigneten Software und der notwendigen Dokumentation
2. Untersuchung und Eignungstest der Software:
Welche Vorraussetzungen sind für die Installation notwendig?
Sind sie auf dem Webserver gegeben? Können die Lizenzbestimmungen eingehalten
werden?
Eignet sich die Software tatsächlich für die gewünschte Funktionalität?
Welche Kommandos sind für die Anwendung der Software nötig?
3. Installation der Software auf dem Server
4. Implementierung in die gewünschte Webanwendung
5. Testen der Implementierung
Die folgende Untersuchung von farbverarbeitender Bildverarbeitungssoftware soll den
Webentwickler bei den Problemen der Recherche, des Testens und der Installation unterstützen
und Beispiele für Möglichkeiten der Implementierung geben.
2.2.3. Kosten
Für die im folgenden betrachteten Programme fallen keine Lizenzgebühren für die Software
oder regelmäßige Updates an, sie sind deshalb aber nicht gänzlich kostenlos.
Im Idealfall wird vor der Einführung neuer Software wird eine Kostenanalyse erstellt,
die alle direkten und indirekten Kosten berücksichtigen sollte. Direkte Kosten sind alle
budgetierbaren Kosten (Hardware, Software, Administration, Anwenderschulung), zu
indirekten Kosten zählt man solche, die schwer budgetierbar und vorhersehbar sind. Insbesondere
sind das Arbeitszeiten, die Anwender mit der Software verbringen (gegenseitige
Hilfe bei Problemen, Supportanfragen, autodidaktisches Lernen durch Handbücher und
Online-Hilfe, Dateiverwaltung) und Arbeitszeitverlust durch Ausfallzeiten (downtime).
8
Bei der Verwendung von OSS fallen manche Kosten weg und andere stärker ins Gewicht,
sie müssen für jedes Softwareprojekt individuell ermittelt werden.
• Kosten für Lizenzen und regelmäßige Updates fallen weg. Bei kommerzieller Software
ist alle 3-5 Jahre ein kostenpflichtiges Update notwendig, weil der Support für
die alte Version ausläuft.
8 Gartner, Chart of Accounts, E-Rev. n Revised 16 June 2003 :
http://www.gartner.com/4_decision_tools/modeling_tools/costcat.pdf
75
2.2. OPENSOURCE SOFTWARE 76
• Installation, Anpassung, Implementierung sind tendenziell aufwändiger, da die Qualität
der Dokumentation freier Software manchmal zu wünschen übrig lässt. Dafür
lassen sich Anwendungen individueller anpassen, was schließlich der Benutzerfreundlichkeit
zugute kommt.
2.2.4. Open Source Programme zur Bildbearbeitung
Für eine in Webanwendungen integrierte Bildverarbeitung auf dem Webserver bietet
sich die Verwendung von Open Source Software an. Webanwendungen werden meist
individuell erstellt oder angepasst. Webentwickler können ihre favorisierte Scriptsprache
verwenden, um Anwendungen Farbmanagement-Funktionen hinzuzufügen. Die Auswahl
versucht, gängige und besonders für die Arbeit mit Farbprofilen geeignete Software zu
berücksichtigen, erhebt aber keinen Anspruch auf Vollständigkeit.
Mit der Ausnahme von ImageMagick ist bei den hier besprochenen Programmen keine
grafische Schnittstelle vorhanden. Die Ausführung erfolgt zu Testzwecken oder für die
Stapelverarbeitung über die Kommandozeile. Sollen Funktionen in Webanwendungen
verfügbar sein, bieten alle serverseitigen Scriptsprachen die Möglichkeit, Kommandozeilenaufrufe
vorzunehmen.
Durch Scriptprogrammierung schwer lösbare Probleme ergeben sich bei Bildern, die kein
Farbprofil eingebettet haben. Da jede Farbraumtransformation neben dem Zielprofil unbedingt
Informationen über den Quellfarbraum benötigt, gehen die Programme bei profillosen
Bildern davon aus, sRGB-Daten vorliegen zu haben.
NetPBM
Ist eine Sammlung verschiedener Bildbearbeitungstools und eine Bibliothek für alle gängigen
Betriebssysteme. Die ca. 220 primitiven Programme und Konverter wurden zusammengestellt,
um Programmierern eine einheitliche Quelle für verschiedenste Bildbearbeitungsfunktionen
zu bieten.
9
NET PBM steht unter GNU Lizenz. Colormanagementfunktionen sind nicht vorhanden:
man verwendet ein sRGB-kompatibles Gamma von 2,2. NetPBM ist die Grundlage von
GD und ImageMagick.
10 11
9 Website von NET-PBM :
http://netpbm.sourceforge.net
10 NET PBM Projektseite :
http://netpbm.sourceforge.net/
11 Net PBM Readme :
http://netpbm.sourceforge.net/README
76
2.2. OPENSOURCE SOFTWARE 77
PHP GD
»GD« steht für Graphics Draw (früher Gif Draw) und ist eine Open Source Library für
die dynamische Erstellung von Grafiken. Es bietet zahlreiche Bildbearbeitungsfunktionen
und ist auf den meisten PHP-fähigen Webservern zu finden. Alle Web-Bildformate (jpeg,
gif und png) werden unterstützt, Programmierschnittstellen für gängige Scriptsprachen
(Perl, Ocaml, Tcl, Pascal, REXX und weitere) sind vorhanden, seit Version 4.3.0. ist GD
fester Bestandteil von PHP.
12
Farbmanagementfunktionen sind nicht vorgesehen. Seit Version 2.0.22 gibt es die Möglichkeit,
CMYK-jpegs in RGB umzuwandeln, doch eingebettete Farbprofile werden dabei
ignoriert, die Ergebnisse sind nicht vorhersehbar.
GD bietet auch ein schönes Beispiel über die Verwirrungen des Copyrights. Eine BSDartige
Lizenz mit einer langen Liste, die das Copyright einzelner Programmteile verschiedenen
Inhabern zuordnet, vermischt mit "Credits" an weitere Autoren.
13 14
ImageMagick
Ist eine Zusammenstellung freier Software zum Erstellen und Bearbeiten von Pixelbildern.
ImageMagick 15 läuft auf allen gängigen Betriebssystemen, ist für gängige Distributionen
als Paket verfügbar und bietet Schittstellen für eine große Anzahl an Programmiersprachen.
16
Das ImageMagick-Projekt verwendet eine GPL-kompatible Lizenz, die nicht zur Veröffentlichung
eigener Weiterentwicklungen zwingt.
Eigentlich wurde ImageMagick zur Verwendung auf X11-Desktop entwickelt, doch alle
Funktionen die nicht der Anzeige dienen, lassen sich interaktiv über die Kommandozeile
steuern. Eine hervorragende Dokumentation und eine große Anwenderzahl macht
ImageMagick neben GD zur gebräuchlichsten Anwendung für serverseitige Bildbearbeitung.
Besonders interessant für Farbmanagementinteressierte ist die Nutzung von ImageMagick
mit dem LCMS-Library. Sollen farbrichtige Formatumwandlungen wie das folgende
Beispiel ausgeführt werden, muss sich der Programmierer erst versichern, dass die installierte
Version von ImageMagick auch mit LCMS zusammenarbeitet. Wie das geht ist im
12 Website von GD :
http://www.boutell.com/gd/
13 PHP-GD Dokumentation :
http://de3.php.net/gd
14 PHP-GD-Website :
http://www.boutell.com/gd/
15 Webseite von ImageMagick :
http://www.imagemagick.org
16 Perl - PerlMagick, C++ - Magick++ und ChMagick, Python - PythonMagick, Ruby - Rmagick, PHP
- MagickWand for PHP , Java - Jmagick, C - ChMagick
77
2.2. OPENSOURCE SOFTWARE 78
Anhang unter A.1.1 beschrieben.
Ein Beispiel:
Konvertiertierung eines CMYK-jpeg mit eingebettetem Farbprofil mit wahrnehmungsorientiertem
Rendering-Intent in ein profilloses sRGB-jpeg für das Internet:
convert -profile sRGB.icm
cmyk.jpeg RGB.jpeg && mogrify -strip RGB.jpeg
Erklärung:
Zunächst wird das CMYK-jpeg mit convert in ein neues sRGB-jpeg umgewandelt. Convert
erstellt immer neue Bilder.
convert
[options]
Das "&&ïst ein Unix-Shell-Befehl und sorgt für einen zweiten Programmaufruf. Der Befehl
mogrify bearbeitet immer ein vorhandenes Bild und überschreibt dieses.
mogrify [options]
Lässt man die -profil Optionen weg, wird kein Colormanagement ausgeführt. Die Grauachse
bleibt nicht erhalten und Grau wird zu Grün.
Weitere Informationen über ImageMagick’s Farbmanagementfunktionen und die Zusammenarbeit
von ImageMagick und LCMS finden sich im Anhang unter A.1.1.
LCMS
Das "Little Color Management System" (LCMS) 17 ist eine Bibliothek, die ein Anwendungsprogrammierer
mit verschiedenen Programmiersprachen verwenden kann. 18 Auf
Webservern kann LCMS über die Kommandozeile verwendet werden.
LCMS steht seit Version 1.12 unter einer der BSD ähnlichen Lizenz ( MIT 19 ), kann also
auch in Closed-Source Anwendungen verwendet werden.
Wenn die Quell-Bilder keine eingebetteten Profile mitbringen, nimmt LCMS an, dass es
sich um sRGB-Bilddaten handelt, was zu falschen Ergebnissen führt.
LCMS besteht aus fünf Programmen. Den Umgang mit Profilen in Jpeg- und Tiff-
Bildern ermöglichen jpecicc und tifficc. Mit icctrans kann man einzelne Farbwerte
17 Webseite vom "Little Color Management System"LCMS :
http://www.littlecms.com
18 Delphi, C++ Builder, Visual C++, Tcl/Tk, Visual Basic
19 MIT Lizenz vom "Massachusetts Institute of Technology":
http://ocw.mit.edu/OcwWeb/Global/license.htm
78
2.2. OPENSOURCE SOFTWARE 79
über ein Profil berechnen (Farbtaschenrechner) und wtpt gibt Informationen über den
Weisspunkt des ICC-Profile preis. Mit dem Programm icclink lassen sich Abstrakte
und Device Link Profile erstellen, icc2ps rechnet Farbprofile ins Postscrip-Format
um.
Anwendungsbeispiele zu LCMS finden sich im Anhang unter A.1.2. Wie man ImageMagick
mit dem LCMS-Library verwendet, um korrekte Farbraumtransformationen vorzunehmen,
steht unter A.1.1.
ArgyllCMS
Das »Argyll Color Management System« befindet sich noch in experimentellem Zustand,
was aber nicht bedeutet, dass alle Programme des Pakets unbrauchbar wären. Ausführlich
getestete Funktionen können auf dem Webserver gute Dienste leisten.
Da der Webprogrammierer die Argyll-Programme nur anwendet, nicht implementiert,
muss er sich auch nicht mit den Nachteilen der GNU-Lizenz auseinander setzen. Die
Entwickler von Argyll machen unmissverständlich klar, dass sie Implementierungen von
Argyll ausschließlich unter der genannten Lizenz erlauben. Der Quelltext einer Weiterentwicklung
muss öffentlich verfügbar gemacht werden.
Mit Argyll kann man Monitore, Scanner und Drucker unter Windows, Mac OSX und
Linux kalibrieren, Device Link Profile erstellen und Farbräume im VRML Format visualisieren.
Im Gegensatz zu manch teurer kommerzieller Profilierungssoftware geht bei
Farbprofilen die mit Argyll erstellt wurden, das Copyright an den, der das Profil erstellt
- es gibt keine Lizenzprobleme bei einer Veröffentlichung der Farbrofile im Internet.
Das Visualisierungstool viewgam 20 ermöglicht die 3D-Darstellung von Farbräumen im
VRML 21 Format, das sich in Webseiten integrieren lässt. Eindrucksvoll dokumentiert
auf http://iccview.de.
Das Tool icclink 22 ist zum Erstellen von DLP und abstrakten Farbprofilen gedacht. Es
bietet mehr Optionen als das gleichnamige Tool aus dem LCMS-Paket.
Das Tool iccdump 23 ermöglicht die Analyse von Profilen. Man kann sich zu einem ICC-
Profil alle oder einzelne Tags im Textformat ausgeben lassen, um sich die trockenen Texte
der ICC-Spezifikation zu veranschaulichen oder die Daten in Webanwendungen weiter zu
verwenden.
20 ArgylCMS viewgam Dokumentation :
http://www.argyllcms.com/doc/viewgam.html
21 VRML97 ist ein internationaler Standard: ISO/IEC 14772-1:1997 :
http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97
22 ArgylCMS icclink Dokumentation :
http://www.argyllcms.com/doc/icclink.html
23 ArgylCMS iccdump Dokumentation :
http://www.argyllcms.com/doc/iccdump.html
79
2.3. ANWENDUNGSBEISPIELE 80
Informationen über weitere Tools finden sich in der
Anhang unter A.1.3.
Online Dokumentation 24 und im
EXIF Tool
Das Exif Tool ist ein Perl Modul für das Lesen und Schreiben verschiedener Bild-Metadaten.
Es lässt sich auch über die Kommandozeile verwenden und steht unter einer liberalen
Lizenz.
25
Tags folgender Metadaten einer großen Anzahl verschiedener Bild-, Audio- und Videoformate
können ausgelesen werden: EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile,
Photoshop IRB und ID3. Desweiteren sind Kamera-Metadaten verschiedener Digitalkameras.
26
Die ICC-Profildaten können nur ausgelesen, nicht geschrieben werden. Iccdump aus
dem ArgylCMS-Paket liefert die ICC-Profiltags in einer leichter weiterverarbeitbaren
Form.
Das Exiftool bietet sich an, wenn in Webanwendungen wie Bilddatenbanken Metainformationen
verfügbar gemacht werden sollen.
27 Der Vorteil des Exif-Tools liegt in der
großen Anzahl unterstützter Metadatenformate.
2.3. Anwendungsbeispiele
Im Rahmen dieser Diplomarbeit wurden einige Beispiele erstellt, die in diesem Kapitel
vorgestellt werden. Sie laufen auf dem Debian-Linux Webserver des Autors und sind
unter http://colormanagement.digitaldonkey.de erreichbar.
Einige Testseiten sollen die praktischen Probleme bei der Farbdarstellung im www visualisieren,
andere demonstrieren beispielhaft Implementierungen einiger der beschriebenen
freien Softwareprogramme, wie sie sich in Webapplikationen einsetzen lassen.
24 ArgylCMS Online Dokumentation :
http://www.argyllcms.com/doc/ArgyllDoc.html
25 Perl Artistic License :
http://www.perl.com/pub/a/language/misc/Artistic.html
26 Das ExifTool kennt Metadaten von Kameras folgender Hersteller: Canon, Casio, FujiFilm, Kodak, Leaf,
Minolta/Konica-Minolta, Nikon, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Ricoh, Sanyo and
Sigma/Foveon
27 Website zum Perl ExifTool :
http://www.sno.phy.queensu.ca/˜phil/exiftool
80
2.3. ANWENDUNGSBEISPIELE 81
2.3.1. Farbraumtransformation nach sRGB
Liegen Bilddaten in unterschiedlichen Farbräumen vor, bietet es sich an, diese vor der Veröffentlichung
im Internet in den sRGB Farbraum zu konvertieren. Wichtig ist dabei allerdings,
dass die Quelldaten auch ein eingebettetes Farbprofil mitbringen.
Ist die LCMS Bibliothek in ImageMagick verfügbar, (->A.1.1) reicht ein einfaches
convert -profile sRGB.icm
damit verschiedene Bildformate farbrichtig in ein sRGB-Jpeg umgewandelt werden.
Die Beispielanwendung wandelt verschiedene Bilder nach der beschriebenen Methode in
den sRGB Farbraum um. Im Internet zu finden unter
http://colormanagement.digitaldonkey.de/sRGB-konvertierung 28
2.3.2. Safaribrowser
Apples Safari Webbrowser hat zwar Farbmanagementfunktionen implementiert, setzt
jedoch den sRGB Internet-Standard nicht korrekt um: Bilder ohne Farbprofil werden
nicht als sRGB-Daten interpretiert, statt dessen wird der im Betriebssystem eingestellte
Bildschirmfarbraum angenommen.
Die von mir erstellte Seite beinhaltet zwei Bilder, beide identisch im sRGB Format. Mit
dem kleinen Unterschied, dass eines ein Farbprofil eingebettet hat, das andere nicht.
Laut W3C-Standard soll ein Browser, falls kein Farbprofil im Bild vorhanden ist und
keine color-Profile Tags im HTML-Quelltext angegeben werden, die Bilddaten als sRGB-
Farbwerte interpretieren.
Bei Apple wurde dieser Fehler beschrieben und kann unter der Bug Id: 4354445 verfolgt
werden. Alle anderen mir bekannten Webbrowser interessieren sich nicht für eingebettete
Farbprofile, weshalb beide Bilder gleich aussehen.
Eine überraschende Ausnahme bietet Microsofts Internet Explorer 5 für den Mac (IE5):
Surfer, die den Browser verwenden, sehen beide Bilder gleich, obwohl IE5 die Farbprofile
auswertet - der Standard wurde richtig umgesetzt.
Im Internet zu finden unter
http://colormanagement.digitaldonkey.de/safaritest 29
28 Beispielanwendung: Bildumwandlung nach sRGB :
http://colormanagement.digitaldonkey.de/sRGB-konvertierung
29 Beispielanwendung: Safari browsertest :
http://colormanagement.digitaldonkey.de/safaritest
81
2.3. ANWENDUNGSBEISPIELE 82
2.3.3. Softproof
Wozu dient ein Softproof, wenn der Großteil der Webbrowser nicht einmal das Original
farbrichtig anzeigt?
• Farben lassen sich relativ beurteilen. Stellt man neben ein sRGB-Original Bilder mit
sRGB-Proofs verschiedener Druckprozesse und Druckpapiere, so kann der Kunde
sehen, wie stark der Kontrastverlust auf den einzelnen Medien ausfällt.
• Belässt man die Farbprofile in den Bildern, können Kunden mit dem Safari-Webbrowser
und kalibriertem Bildschirm in den Genuss eines echten Softproofs kommen. Dies
kann für eine geschlossene Nutzergruppe, beispielsweise eine Bildagentur oder Druckerei
sinnvoll sein.
• Schließlich bleibt zu hoffen, dass künftig weitere Webbrowser Farbprofile auswerten
und immer mehr Surfer in den Genuss farbrichtiger Ausgaben kommen.
Ich möchte zwei Möglichkeiten, einen Proof zu erstellen, vorstellen. Serverseitige Proofs
lassen sich beispielsweise mit jpegicc 30 (-> A.1.2) aus dem LCMS-Paket erstellen.
jpegicc -c2 -t0 -q100 -e -o CMYK.icm sRGB.jpeg CMYK.jpeg
&& jpegicc -t3 -c2 -q100 CMYK.jpeg sRGB_softproof.jpeg
Die zweite Softproof-Methode basiert auf der Verwendung von abstrakten Profilen. Diese
sind dazu gedacht, eine Umrechnung von einem Farbraum in den PCS vorzunehmen.
Mit icclink (-> A.1.2) aus dem LCMS-Paket lässt sich ein abstraktes Profil erstellen,
welches eine Transformation vom sRGB Farbraum in den Lab-Farbraum vornimmt und
dabei einen anderen Farbraum (hier: cmyk.icc) prooft.
icclink -t1 -x -o softproof.icc *sRGB cmyk.icc cmyk.icc *Lab
Der Vorteil liegt darin, dass man dieses abstrakte Profil für die Umwandlung von sRGB
Daten bei einem CSS-3 fähigen Browser theoretisch auch per Link in der CSS-Datei
verwenden könnte. Alternativ kann man das abstrakte Profil per jpegicc anwenden um
einen Softproof zu erhalten.
jpegicc -n -i softproof.icc
sRGB.jpeg sRGB_softproof.jpeg
Die Beispielanwendung prooft verschiedene Druckfarbräume absolut farbmetrisch in den
sRGB Farbraum. Für professionelle Anwendungen jedoch ist das ungeeignet, denn Informationen
in den Grüntönen gehen dabei wiederum verloren, da sRGB in diesem Bereich
ein geringeres Gamut als die Druckprozesse aufweist.
30 LCMS jpegicc Manpage :
http://linux.com.hk/penguin/man/1/jpegicc.html
82
2.3. ANWENDUNGSBEISPIELE 83
Entwickelt man eine Anwendung für ein Grafikbüro und geht man davon aus, dass alle
Benutzer einen farbmanagementfähigen Browser verwenden, kann man den Softproof in
anderen Farbräumen erstellen und das Potential voll ausschöpfen.
Im Internet zu finden unter
http://colormanagement.digitaldonkey.de/iccproof 31
2.3.4. Profile auswerten und auslesen
Damit Online Datenbanken automatisiert Informationen zur Verfügung stellen können,
ist es notwendig, in Bilder eingebettete Daten auszulesen. Bildbeschreibungen und Stichworte
lassen sich in IPTC-Profilen speichern und ermöglichen automatisierte Workflows.
So kann der Fotograf die Metainformationen gleich mit in die Bilddatei speichern und
die Bilddatenbank kann sie ausgeben.
Auch die Daten von ICC-Profilen können ausgegeben werden. Man kann sich mit LCMS
den Weisspunkt anzeigen lassen oder einzelne Profil-Tags auswerten, um genaue Informationen
über ein Bild oder ein Farbprofil zu erhalten. Ich habe exemplarisch eine Anwendung
erstellt, die zeigt, welche Informationen sich mit verschiedenen Tools anzeigen
lassen.
Mit ArgyllCMS iccdump lassen sich einzelne ICC-Profil-Tags ausgeben. LCMS wtpt gibt
den Weisspunkt eines Farbprofils aus und das Perl Exif Tool ist der Spezialist für die
Ausgabe vieler verschiedener Metadatenformate.
Im Internet zu finden unter
http://colormanagement.digitaldonkey.de/iccprofileInfo 32
2.3.5. Farbdifferenzen
Eine JavaScript-Anwendung soll demonstrieren, wie sich Fehlinterpretationen von Bilddaten
im Webbrowser auswirken. Die Anwendung geht davon aus, dass ein Bild im
AdobeRGB-Farbraum vorliegt, der Webbrowser dies jedoch nicht erkennt und die Bilddaten
als sRGB-Farbdaten interpretiert.
Es werden beliebige RGB-Farbwerte in den Lab Farbraum umgerechnet, einmal nach
der sRGB-Spezifikation 33 und einmal nach der Adobe-RGB Spezifikation. 34 Aus zwei
31 Beispielanwendung: ICC-Softproof :
http://colormanagement.digitaldonkey.de/iccproof
32 Webanwendung: Informationen über ICC Profile ausgeben :
http://colormanagement.digitaldonkey.de/iccprofileInfo
33 A Standard Default Color Space for the Internet - sRGB :
http://www.w3.org/Graphics/Color/sRGB
34 Adobe R○ RGB (1998) Color Image Encoding, Version 2005-05 :
http://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
83
2.3. ANWENDUNGSBEISPIELE 84
resultierenden Lab-Farbwerten wird der Farbabstand DeltaE berechnet und angezeigt.
Im Internet zu finden unter
http://colormanagement.digitaldonkey.de/farbdifferenz 35
2.3.6. Farbprofile
Die Seite über Farbprofile demonstriert was der verwendete Webbrowser mit eingebetteten
Farbprofilen anfangen kann. Für Surfer mit Apples Safari sieht alles gleich aus, da er
die eingebetteten Farbprofile auswertet. Andere Surfer können ein buntes Durcheinander
verschiedener Farbraum-Fehlinterpretationen begutachten.
Nicht alle verwendeten Bildformate sind von jedem Webbrowser darstellbar. Wenn Bilder
nicht angezeigt werden, wird das entsprechende Bildformat vom verwendeten Browser
nicht unterstützt.
Im Internet zu finden unter
http://colormanagement.digitaldonkey.de/profiletest 36
35 Webanwendung: Visualisierung von Profilfehlinterpretation :
http://colormanagement.digitaldonkey.de/farbdifferenz
36 Webanwendung: Darstellung unterschiedlicher Bildformate im Webbrowser :
http://colormanagement.digitaldonkey.de/profiletest
84
A. Anhang
A.1. Weiterführende Informationen zu den
Programmen
A.1.1. ImageMagick
Der Umgang mit Farbprofilen bei ImageMagick
ImageMagick ist nur in Kombination mit LCMS in der Lage, Farbprofile zu verarbeiten
(->A.1.1). Die -profile Option funktioniert theoretisch mit allen von ImageMagick
unterstützten Bildformaten, die Profile einbinden können.
Welche Profile sind vorhanden?
Der Befehl identify 1 gibt Informationen über das verwendete Bild preis. Die Option
-verbose macht die Ausgabe detaillierter.
Profile hinzufügen
Ein wenig verwirrend ist die Verwendung der "+ünd "Parameter: Ein Plus steht nämlich
für das Entfernen, ein Minus für das Hinzufügen. Um einem Bild ein Farbprofil zuzuweisen
verwendet man:
mogrify -profile sRGB.icm bild.jpeg
Profile entfernen
Neben ICC-Profilen kann ImageMagick auch mit IPTC Profilen umgehen. Ein Aufruf
mit den Optionen +profile icm entfernt Farbprofile.
+profile iptc entfernt IPTC Profile. Die Option -strip entfernt alle im Bild enthaltenen
Metadaten und ist zur Zeit für die Webausgabe zu empfehlen.
Profile auslesen
Für das Auslesen von Profilen ist die -profile Option nicht notwendig:
convert cockatoo.jpg profile.icm
extrahiert ein ICC Profil aus dem Jpeg. Ist kein ICC-Profil eingebettet, erhält man eine
0-Byte-icm Datei. ImageMagick erkennt an der Dateiendung welche Art von Profil
1 ImageMagick identify Dokumentation :
http://imagemagick.org/script/identify.php
85
A.1. WEITERFÜHRENDE INFORMATIONEN ZU DEN PROGRAMMEN 86
ausgelesen werden soll. Zum Auslesen des IPTC-Profils würde der folgende Befehl ausreichen:
convert Bild.jpeg
iptc-Profil.iptc
ImageMagick und LCMS
Will man feststellen, ob das LCMS-Library in ImageMagick verwendet wird, hilft der
Befehl identify -list configure weiter. Unter den ausgegebenen Konfigurationseinstellungen
findet sich eine Zeile »LIBS«, in der LCMS unter der Bezeichnung "llcmsäuftauchen
sollte:
LIBS -lMagick -llcms -ltiff -lfreetype -ljpeg -lpng -lXext -lXt -lSM -l Ist
LCMS nicht in ImageMagick vorhanden, aber auf dem Server verfügbar, (z.B. man wtpt)
muss ImageMagick mit der Option --with-lcms neu kompiliert werden.
Hilfe erhält man auf der Website 2 und durch die Unix-Manpages der einzelnen Tools.
Welche Tools man verwenden kann, klärt ein man ImageMagick auf der Kommandozeile.
An das ImageMagick Forum 3 kann man sich bei Problemen wenden.
A.1.2. LCMS
Die Informationen sind für die Kommandozeilennutzung von LCMS 4 leider etwas dürftig,
die Manpages der einzelnen Tools spartanisch - sie bieten nur die Optionsparameter und
unkommentierte Beispiele. Ein Tutorial erklärt die Verwendung von LCMS als Library
5 für andere Programmiersprachen.
Es folgt eine kurze Einführung in die LCMS-Tools:
icclink
Mit icclink lassen sich DLP-Profile erstellen, die es ermöglichen, komplexe Farbtransformationen,
wie beispielsweise einen Proof in ein einziges Farbprofil zu packen. Das spart
Rechenzeit bei sich wiederholenden Aufgaben. Man kann beispielsweise ein DLP einmalig
mit sehr hoher Genauigkeit erstellen und dann als Vorlage für viele Bilder verwenden.
6
icclink -t1 -x -o softproof.icc sRGB.icm euro.icm euro.icm sRGB.icm
2 ImageMagick Projektwebseite: Dokumentation und Download :
http://imagemagick.org/script/index.php
3 ImageMagick Forum :
http://studio.imagemagick.org/discussion-server/
4 LCMS Projektseite :
http://www.littlecms.com
5 Tutorial: LCMS als Library einsetzen :
http://www.littlecms.com/tutorial.txt
6 LCMS icclink Manpage :
http://linux.com.hk/penguin/man/1/icclink.html
86
A.1. WEITERFÜHRENDE INFORMATIONEN ZU DEN PROGRAMMEN 87
jpegicc
ist für die farbrichtige Umwandlung von jpeg-Bildern geeignet. Es erkennt eingebettete
Farbprofile und kann sowohl mit RGB- als auch CMYK-Dateien umgehen.
Laut Manpage ist auch eine Möglichkeit für den Softproof vorgesehen, die bei meinen
Tests jedoch nicht zum gewünschten Ergebnis führte.
7
tifficc
bietet ähnliche Funktionen wie jpegicc für das TIFF-Dateiformat. Zusätzlich lassen sich
auch DLP-Profile anwenden.
8
wtpt
Das Programm "Whitepoint" 9 gibt Informationen zum Weisspunkt eines Farbprofils
aus. Verwendet man den Befehl:
wtpt
ruft man wtpt ohne Parameter auf. Man kann XYZ Farbwerte umrechnen und herausfinden,
ob sie zu einem Standard gehören.
wtpt
X? 0.3127 Y? 0.3291 Z? 0.3582
führt zu folgender Ausgabe:
WhitePoint : D65 (daylight)
XYZ=(0.3, 0.3, 0.4)
Lab=(64.088, -1.683, -13.368)
(x,y)=(0.313, 0.329)
Hue=262.82, Chroma=13.47
7 LCMS jpegicc Manpage :
http://linux.com.hk/penguin/man/1/jpegicc.html
8 LCMS tifficc Manpage :
http://linux.com.hk/penguin/man/1/tifficc.html
9 LCMS wtpt Manpage :
http://linux.com.hk/penguin/man/1/wtpt.html
87
A.1. WEITERFÜHRENDE INFORMATIONEN ZU DEN PROGRAMMEN 88
icctrans
ist ein kleiner Farbtaschenrechner. Zunächst wird icctrans mit einem Eingabe- und Ausgabeprofil
oder einem DLP aufgerufen. Danach hat man die Möglichkeit, einzelne Farbwerte
einzugeben und bekommt deren Entsprechung im Zielfarbraum zurück. Benutzt
man den Parameter -v (verbose) werden auch die entsprechenden XYZ und Lab-Werte
angezeigt.
10
icctrans -v -i EuroscaleCoatedv2.icm -osRGB.icm
Die Frage nach dem Farbwert zur Umrechnung:
C (0..100)? 0
M (0..100)? 0
Y (0..100)? 0
K (0..100)? 100
Das Ergebnis:
R=27.25 G=27.75 B=31.67
X=1.1292 Y=1.1536 Z=1.1414
L*=10.2037 a*=0.5664 b*=-2.8438
A.1.3. ArgylCMS
Die Verwendung einzelner Programme aus dem ArgyllCMS Paket ist bestechend einfach.
Für Unix Systeme werden sie fertig kompiliert geliefert, müssen also nur in ein Verzeichnis
entpackt und mit Ausführungsrechten versehen werden.
Das Tool iccdump 11 kann präzise Informationen über Farbprofile ausgeben. Ist das
Profil in einem Bild eingebettet muss es erst ausgelesen werden. Dazu verwendet man
am besten ImagaMagick convert. Für die Ausgabe in der Beispielanwendung 12 habe ich
eine einfache Standardausgabe verwendet.
iccdump -v2
Die Option -v regelt wie viele Details mit ausgegeben werden. -v1 gibt nur die vorhandenen
Tags aus, während -v3 ohne die Angabe eines Tags (Option -t) alle
Profildaten auf den Bildschirm bringt.
10 LCMS icctrans Manpage :
http://linux.com.hk/penguin/man/1/icctrans.html
11 ArgylCMS iccdump Manpage :
http://www.argyllcms.com/doc/iccdump.html
12 Beispielanwendung ICC-Profil Informationen auslesen :
http://colormanagement.digitaldonkey.de/iccprofileInfo/
88
A.2. FORMALISIERTER ENTWICKLUNGSPROZEß BEIM W3C 89
Es lassen sich aber auch die Binärdaten einzelner Tags extrahieren, sie können durch geeignete
Scriptprogrammierung dann in andere Datenformate gewandelt werden. Denkbar
wäre eine Darstellung der Gammakurven über SVG oder oder ein »on the Fly« erzeugtes
Gif-Bild.
Online Dokumentation 13
Diskussionsforum 14
Anwendunsbeispiele für ArgyllCMS 15
A.2. Formalisierter Entwicklungsprozeß beim
W3C
Es gibt folgende Entwicklungszustände für vom W3C bearbeitete Themen (Status of
Document) 16
• Working Draft (WD - Arbeitsentwurf)
Ein Arbeitsentwurf wird veröffentlicht, damit W3C-Mitglieder und die Öffentlichkeit
die Ideen prüfen und Kommentare dazu abgeben können.
• Last Call Announcement (letzter Aufruf)
Der letzte Aufruf einer Arbeitsgruppe für weitere Ideen und Vorschläge. Nach dem
Last Call, dessen Zeitpunkt von der Arbeitsgruppe festgelegt wird, ist es nicht mehr
vorgesehen einem WD weitere Funktionalitäten hinzuzufügen.
• Candidate Recommendation (CR -Empfehlungskandidat)
Wenn die Arbeitsgruppe davon ausgeht, dass ein WD ausreichend abgestimmt und
geprüft wurde und den technischen Anforderungen der Arbeitsgruppe entspricht,
ändert sie den Status des Dokuments in eine CR. Ziel ist es nun, Erfahrungen mit
der Umsetzung (Implementierung) des künftigen Standards zu sammeln.
• Proposed Recommendation (PR - Empfehlungsvorschlag)
Ein Empfehlungsvorschlag ist ein ausführlicher technischer Bericht. Er wird nach
ausführlichen Tests der Implementierbarkeit und Zuverlässigkeit erstellt und muss
vom W3C Advisory Committee 17 bestätigt werden, bevor eine Empfehlung ausgesprochen
werden kann.
13 ArgyllCMS Online Dokumentation :
http://www.argyllcms.com/doc/ArgyllDoc.html
14 ArgyllCMS Diskussionsforum :
http://www.freelists.org/cgi-bin/archive-search.fcgi?query=abstract&list=argyllcms
15 ArgyllCMS Anwendunsbeispiele :
http://www.argyllcms.com/doc/Scenarios.html
16 W3C Recommendation Track Process :
http://www.w3.org/2004/02/Process-20040205/tr.html#Reports
17 W3C Advisory Committee:
http://www.w3.org/2004/02/Process-20040205/organization.html#AC
89
A.3. MEDIENTYPEN IN CSS 90
• Recommendation (REC - Empfehlung)
Wird erst ausgesprochen, wenn jede Funktion (feature) der PR einmal implementiert
wurde. Es ist ausdrücklich gewünscht, dass die Arbeitsgruppe in der Lage ist
zwei vollständig kompatible Umsetzungen (interoperable implementations) des künftigen
Standards vorzuweisen. Zudem muss ein Konsens innerhalb der Arbeitsgruppe
und des W3C-Advisory-Committees erreicht sein. Eine Recommendation kann abgesehen
von der schon erwähnten rechtlichen Lage gleichwertig wie ein Standard
(z.B. ISO-Standard) angesehen werden.
A.3. Medientypen in CSS
Die Namen der Medientypen sind vom W3C festgelegt, Groß-Kleinschreibung ist beliebig.
Es ist vorgesehen, die Anzahl der Medientypen in Zukunft nach Bedarf zu erweitern.
Die Beschreibung kann großzügig interpretiert werden, sie gilt als informativ.
• all Styles für alle Ausgabegeräte
• braille
fühlbare Braille Geräte
• embossed
Braille Drucker (seitenweise - paged)
• handheld
Handheld Geräte (typischerweise kleine Bildschirme und begrenzte Ressourcen).
• print
Medien die eine seitenweise Ausgabe erfordern, bzw. die Druckvorschau am Bildschirm
• projection
für projezierte Präsentationen (Power-Point), seitenweise Ausgabe.
• screen
für farbige Bildschirme und Displays
• speech, aural
Sprachausgabegeräte
• tty
Geräte Textausgabe in fester Breite (charackter-grid). Der Begriff tty steht im
Unix-Bereich für Terminal und Kommandozeile
• tv
Fernsehbildschirm (geringe Auflösung, begrenztes Scrollen, Audioausgabe)
90
A.4. UMFRAGE 91
A.4. Umfrage
Im Rahmen dieser Diplomarbeit wurde eine Online-Umfrage erstellt. Sie richtet sich an
Betreiber von Webseiten mit farblich relevanten Inhalten, wie Bildagenturen, Onlineshops
für Textilien, Farben etc. Mit den Fragen wird versucht, einen Überblick darüber zu
bekommen, wie Website-Betreiber mit Farbproblemen umgehen, ob Hilfen für Kunden
vorgesehen sind und welche Kosten dadurch entstehen.
Im Internet zu finden unter
http://colormanagement.digitaldonkey.de/umfrage 18
A.5. Qualität von Fernsehsignalen
Wie sich verschiedene Übertragungsverfahren auf die Farbqualität auswirken zeigt die
qualitativ ansteigende Einteilung der Übertragungsarten:
• NF-Signal
SW-, Farb- und Audiosignale werden in einem übertragen, das ist beim analogen
Fernsehen und Kabelfernsehen üblich. Es kann aber je nach Übertragungsqualität
zu erheblichen Störungen kommen.
• Composite-Signal
enthält nur die YUV-Bildinformation
• sVGA
Y, und die zwei Farbsignale erhalten einen eigenen Übertragungskanal. Übersprechen
zwischen Farb- und SW-Bildinformationen ist ausgeschlossen.
• Component
Y und die Farbsignale erhalten je einen eigenen Übertragungskanal. Geringste Störungseinflüsse.
A.6. Quelltexte der Anwendungen
Im Folgendenn Anhang gibt es die PHP (HTML) und Javascript Quelltexte der in Kapitel
2.3 vorgestellten Anwendungen. Es wurden nur die für die Farbanwendungen relevanten
Teile der Webanwendung eingefügt.
18 Webanwendung: Colormanagement Umfrage :
http://colormanagement.digitaldonkey.de/umfrage
91
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
array('NTSC RGB jpeg', 'Monitor_NTSC.jpg'),
array('PAL RGB jpeg', 'Monitor_PAL.jpg'),
array('Wide Gammut RGB jpeg', 'Monitor_Widegammut.jpg'),
array('sRGB jpeg ohne ICC-Profil', 'Monitor_sRGB_no_profile.jpeg'),
array('SWOAP tif', 'SWOAPv2.tif'),
);
/* die Ausgabe des konvertierten Bildes vorbereiten */
$convertedImage = array('Konvertiertes sRGB Bild', 'sRGB.jpg',$localUrl.'sRGB.jpg',$
localRoot.'sRGB.jpg','width: 300px; height: 225px;');
/* POST auswerten */
if(isset($_POST['selectColorspace'])){
/* postImageData (legt auch select voreinstellung fest !) */
$postImageData= getPost($images);
/* makeTheImageData Rerurn: array(error[bool], String or array) */
$theImageData = makeTheImageData($postImageData);
/* Fehlerprüfen */
if(!$theImageData[0]) {
$theImageData=$theImageData[1];
$printImage=true;
}else{
/* Fehler beim Laden des Bildes */
$pageString.=''.$theImageData[1].'';
}
}
/* AUSGABE unter Select Start */
$pageString.=''; # $pageString Start
/* SELECT Bilderauswahl */
$pageString.=makeSelect($images);
$pageString.=$text1; # aus text.html.php
/* Bild wurde gewählt */
if($printImage){
/* Ausgabe für image starten */
#$pageString.=makeHead($theImageData);
$pageString.=makeImage($theImageData);
/* nur konvertieren, wenn auch ein Profil eingebettet ist ! */
# convert tmp.icm
$profile = makeTempProfile($theImageData);
if($profile[0]==0){
/* Image Magick convert -profile */
93
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
$proof=makeProof($theImageData);
$pageString.= makeImage($convertedImage);
if($proof[0]==0){
$pageString.=$proof[1];
}
}
}
/* Html Ausgabe */
print($pageString.' ');
# Make Proof
function makeProof($theImageData){
# convert -profile sRGB.icm cmyk.jpeg RGB.jpeg
$command ="rm $GLOBALS[localRoot]sRGB.jpg && /usr/local/bin/convert -
profile $GLOBALS[localRoot]sRGB.icm $theImageData[3] $GLOBALS[localRoot]sRGB.jpg";
#echo $command;
$outputs=false;
$return = array(true,'');
exec($command,$outputs,$return[0]);
if($return[0]==0){
foreach($outputs as $a => $i){
$return[1].=$i."";
}
}else{
$return[1] = "Error getting 'convert -profile' by Exec by $val 'convert -profile' Exit Status: ".$error."";
}
return $return;
}
?>
94
B. Literaturverzeichnis
Eine Arbeit über Farbmanagement im Internet basiert naturgemäß auf zahlreichen Quellen
aus dem Internet. Ich habe mich stets bemüht, seriöse und etablierte Quellen zu verwenden.
Bei einem so jungen Thema ist gedruckte Literatur eher die Ausnahme.
Als Quellen gibt es ein Literaturverzeichnis und kommentierte Link-Listen zu den einzelnen
Kapiteln
B.1. Literaturverzeichnis verwendeter Bücher und
Aufsätze
Autor(en) Titel Untertitel
Mitchell R. Rosen, Lawrence A. Taplin, Francisco H. Imai, Roy S.
Berns, and Noboru Ohta Spectral Color Management for a Virtual Swatch
Publiziert in: "The 9th Color Imaging Conference: Color Science and Engineering: Systems,
Technologies, Applications Scottsdale, Arizona", 2001
Michael Has, Color Management Current Approaches, Standards and Futur Perspectives
Previously published in IS&T’s NIP11, p. 441, 1995 11th International Congress on Advances
in Non-Impact Printing Technologies
Helge Moritz Lexikon der Bildverarbeitung
Hüthig Verlag Heidelberg, 2003
Tobias Huneke Internetseite zur Visualisierung von ICC Profilen mit Hilfe
von 3D-Farbraummodellen
Diplomarbeit FH-Köln, Juni 2002
Michael Stokes, Matthew Anderson, Srinivasan Chandrasekar, Ricardo
Motta A Standard Default Color Space for the Internet - sRGB
Version 1.10, November 1996
Michael Haas Color Management Current Aprroaches, Standards und Futur Perspectives
- Recent Progress in Color Management and Communications
1998, ISBN / ISSN: 0-89208-210-0
95
B.1. LITERATURVERZEICHNIS VERWENDETER BÜCHER UND AUFSÄTZE 96
Advanced Color Imaging on the Mac OS
Addison-Wesley Publishing Company, August 1995
Volker Grassmuck Freie Software Zwischen Privat und Gemeineigentum
Bundeszentrale für Politische Bildung, 2.Auflage, Bonn 2004
http://freie-software.bpb.de/Grassmuck.pdf
Marco Catarozzi Colormanagement mit ICC-Profilen in der Praxis
Smart Books Publishing AG, 2001
David Flanagan JavaScript kurz & gut
O’Reilly Verlags GmbH, 2. Auflage 2003
Jan-Peter Homann Digitales Colormanagement
Springer Verlag, 2. Auflage, Sonderausgabe 2000
Leon Atkinson Core PHP 4 Programmierung
Markt+Technik Verlag München, 2001
Palmer W. Agnew und Anne S. Kellermann Distributed Multimedia
Technologies, Applications, and Opportunities in the Digital Information Industry A
Guide for Users and Providers
Addison-Wesley Publishing Company, ACM Press Orford UK, 1996
Iris Fiebinger SVG-Scaleable Vector Graphics Praxiswegweiser und Referenz für
den neuen Vektorgrafikstandard
Markt+Technik Verlag München, 2002
Heiko Wöhr Web-Technologien Konzepte-Programmiermodelle-Architekturen
dpunkt.verlag Heidelberg, 1. Auflage 2004
Claus Biasch-Wiebke Videosysteme Videosysteme, Videokameras, Camcorder
Vogel Buchverlag Würzburg 1. Auflage 1991
Dan Parks Sydow Mac OS X Programmierung
mitp-Verlag Bonn, 1. Auflage 2002
Uwe Baufeldt , Hand Rösner, Jürgen Scheuermannn, Hans Walk
Informationen übertragen und drucken Lehr und Arbeitsbuch für das Berufsfeld
Drucktechnik
Verlag Beruf und Schule Ithehohe, 14. Auflage 2000
Michael Hilscher Der eigene Webserver
Galileo Press, Bonn 2003
96
B.2. LINKS ZUM THEORETISCHEN TEIL 97
B.2. Links zum Theoretischen Teil
1 Color Real, Web-Farbmanagement per Java Applet :
http://www.coloreal.com
2 GretagMcBath:
http://www.gretagmacbeth.com
3 Seybold Publications, Westmont USA,1998 :
http://www.seyboldreports.com/SRIP/subs/0207/IP020714.HTM
4 Seybold Publications, Westmont USA,1998 :
http://www.seyboldreports.com/SRPS/subs/2904/html/news-comments.html
5 Tobias Huneke, Internetseite zur Visualisierung von ICC Profilen mit Hilfe von
3D-Farbraummodellen, FH-Köln, Juni 2002 :
http://iccview.de/download/ICCView-Colormanagement.pdf
6 Informationeller Globalismus, Doktorarbeit von Georgios Chatzimarkakis, Kap 6.1,
RFWU Bonn, 2000 :
http://deposit.ddb.de/cgibin/dokserv?idn=967325897&dok_var=d1&dok_ext=pdf&filename=967325897.pdf
7 Fernabsatzgesetz:
http://dejure.org/gesetze/FernAbsG
8 Spectral Color Management for a Virtual Swatch; Mitchell R. Rosen, Lawrence A.
Taplin, Francisco H. Imai, Roy S. Berns, and Noboru Ohta. Publiziert in: »The 9th
Color Imaging Conference: Color Science and Engineering: Systems, Technologies,
Applications Scottsdale, Arizona«, 2001 :
http://www.imaging.org/store/epub.cfm?abstrid=6898
9 Beschreibung der Internetdienste :
http://de.wikipedia.org/wiki/Internet#Dienste
10 Frankfurter Allgemeine Zeitung,10.01.2001, S.8 :
http://www.dgap.org/Publikationen/Weltwirtschaft/Wie
das%20Internet%20die%20Weltpolitik%20ver%E4ndert.html
11 ikT in Deutschland - Informations- und Kommunikationstechnologien 1995 – 2003,
Statistisches Bundesamt Wiesbaden, Sept 2004, S.22 :
http://www.destatis.de/download/d/veroe/iktvoe.pdf
12 Testseite: Demonstriert Unterschiede zwischen gif- und Hintergrundfarbwert, Nov
2005 :
97
B.2. LINKS ZUM THEORETISCHEN TEIL 98
http://hotwired.lycos.com/webmonkey/00/37/stuff2a/complete_websafe_216/test.html
13 »Death of the Websafe Color Palette?«, David Lehn and Hadley Stern, 6.9.2000 :
http://hotwired.lycos.com/webmonkey/00/37/index2a.html
14 »The browser-safe web palette«, Lynda Weinman, Nov.2005 :
http://lynda.com/hex.html
15 Statistik zur Farbfähigkeit der Webbenutzer, Nov. 2005 :
http://reviews-zdnet.com.com/4520-6033_16-4204478.html
16 Webserver Apache, Apache Software Foundation :
http://www.apache.de/
18 Webanwendung zur Visualisierung von Farbdifferenzen :
http://colormanagement.digitaldonkey.de/farbdifferenz
19 »A Standard Default Color Space for the Internet - sRGB«, Michael Stokes,
Matthew Anderson, Srinivasan Chandrasekar, Ricardo Motta, Version 1.10, November
1996 :
http://www.w3.org/Graphics/Color/sRGB
20 Adobe R○ RGB (1998) Color Image Encoding, Version 2005-05 :
http://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
21 PDF Reference - fifth edition, Adobe R○ Portable Document Format Version 1.6 :
http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf
22 Das Java Paket java.awt.color in Java 1.4 bietet Klassen für Farbräume und eine
Implementierung des ICC Standards (Version 3.4) :
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/color/package-summary.html
23 Color Real, Web-Farbmanagement per Java Applet :
http://www.coloreal.com
24 e-color.inc »True Internet Color System« Farbmanagement mit Java Applets :
http://www.peimag.com/pdf/pei00/pei0300/benedettipei0300.pdf
25 Portable Network Graphics (PNG) Specification (Second Edition), Nov. 2003 :
http://www.w3.org/TR/2003/REC-PNG-20031110
26 Lexikon der Bildverarbeitung, Helge Moritz, Hüthig Verlag Heidelberg, 2003
27 Farbprofile unter Linux uns OS-X analysieren: ICC-Examin :
http://behrmann.name
98
B.2. LINKS ZUM THEORETISCHEN TEIL 99
28 Experimentielles Colormanagment für Unix: Argyl-CMS :
http://www.argyllcms.com
29 ICC-Profile online vergleichen :
http://www.iccview.de
32 CIE Specification ICC.1:2004-10 :
http://www.color.org/ICC1V42.pdf
33 A Standard Default Color Space for the Internet - sRGB :
http://www.w3.org/Graphics/Color/sRGB
34 »Wohlgefühl im Farbraum«, Digit 2/2005, Klie Verlag Hann. Münden
35 Eine Übersicht über Weißpunkte und Primärfarben wichtiger Farbräume :
http://www.brucelindbloom.com/index.html?WorkingSpaceInfo.html
36 High Definition TeleVision, ITU-Standard BT-709.:
http://www.itu.int
38 Die ICC-Spezifikation 1-2004-10 beschreibt -Profile der Version 4.2.0.0 :
http://www.color.org/ICC1V42.pdf
40 Tobias Huneke, Internetseite zur Visualisierung von ICC Profilen mit Hilfe von
3D-Farbraummodellen, FH-Köln, Juni 2002 :
http://iccview.de/download/ICCView-Colormanagement.pdf
41 CIE Specification ICC.1:2004-10 :
http://www.color.org/ICC1V42.pdf
42 Webanwendung zur Analyse von ICC-Farbprofilen :
http://colormanagement.digitaldonkey.de/iccprofileInfo
43 CIE Spezifikation ICC.1-2004-10 :
http://www.color.org/ICC1V42.pdf
44 Michael Haas, Color Management - Current Aprroaches, Standards und Futur
Perspectives - Recent Progress in Color Management and Communications 1998, S.
14-18, ISBN / ISSN: 0-89208-210-0
45 Introduction to Microsoft Color Management, 7.11.05 :
http://www.microsoft.com/whdc/device/display/color/icmwp.mspx
46 Apple Developper - Color Management Overview :
http://developer.apple.com/documentation/GraphicsImaging/Conceptual/csintro/csintro.pdf
99
B.2. LINKS ZUM THEORETISCHEN TEIL 100
47 Advanced Color Imaging on the Mac OS, Addison-Wesley Publishing Company
August 1995
48 Apple Developper: Technical Note TN2035 :
http://developer.apple.com/technotes/tn/tn2035.html
49 Internet Explorer 4.01 Mac Release Notes, 7.11.05 :
http://support.microsoft.com/default.aspx?scid=kb;en-us;192270
50 CMS Funktionen für Linux: LCMS »Little Colormanagement System« :
http://www.littlecms.com
51 Experimentielles Colormanagement für Linux: Argyll CMS :
http://www.argyllcms.com
52 Experimentielle Farbmanagement Infrastruktur für Linux: Oyranos-Projekt :
http://www.behrmann.name
54 Windows Color System: The Next Generation Color Management System,
Microsoft White Paper, Sept. 2005 :
http://download.microsoft.com/download/5/d/6/5d6eaf2b-7ddf-476b-93dc-
7cf0072878e6/WCS.doc
55 Preliminary documentation for WindowsCodecs.dll APIs :
http://www.eggheadcafe.com/forumarchives/windowsdeveloperwinfxavalon/Jun2005/post23451501.asp
56 W3C CSS-2.1 Working Darft :
http://www.w3.org/TR/2005/WD-CSS21-20050613
57 »Abschied von der Röhre«, MacUp 12/2004, Redtec Publishing Verlag
58 W3C Candidate Recommendation zum CSS-Mobile-Profile :
http://www.w3.org/TR/2002/CR-css-mobile-20020725
60 W3C Candidate Recommendation für das CSS-Print-Profile vom Februar 2004 :
http://w3c.org/TR/2004/CR-css-print-20040225
61 W3C CSS-TV-Profile Recommendation, Mai 2003 :
http://w3c.org/TR/2003/CR-css-tv-20030514
62 Image Formats for HDTV, John Ive, EBU Technical Review, Juli 2004 :
http://www.ebu.ch/en/technical/trev/trev_299-ive.pdf
63 codestyle.org : »Projection media browser conformance and compatibility« :
http://www.codestyle.org/css/media/projection-BrowserSummary.shtml
100
B.2. LINKS ZUM THEORETISCHEN TEIL 101
64 W3C-Validator.:
http://validator.w3.org
65 Mitglieder und Organisationen des W3C :
http://www.w3.org/Consortium/Member/List
66 W3C Webbrowser: Amaya :
http://www.w3.org/Amaya
67 Alle W3C-Dokumente sind über die W3C Website zu erreichen :
http://www.w3c.org
68 Die Webseite des deutschen W3C-Büros :
http://w3c.de
70 Behindertengleichstellungsgesetz, Bundesgesetzblatt 27.4.2002 :
http://bundesrecht.juris.de/bitv/index.html
71 Web Content Accessibility Guidelines 1.0, 5. Mai 1999 :
http://www.w3.org/TR/WAI-WEBCONTENT
72 Textbrowser: Lynx :
http://lynx.browser.org
74 Extensible Markup Language (XML) 1.1, W3C Recommendation, Feb. 2004 :
http://www.w3.org/TR/xml11/
75 Beispiel für gemischte Namensräume :
http://colormanagement.digitaldonkey.de/xhtml-svg-mathMl
76 Zeichensätze im Überblick :
http://www.fontstuff.net/deutsch/typografie/schrift/lexikon/Zeichensatz
77 Unicode Zeichensatz: ISO/IEC 10646 :
http://www.unicode.org
78 W3C-XHTML-Working-Group:
http://www.w3.org/MarkUp
79 Richtlinien für die Erstellung von HTML-4 kompatiblem XHTML :
http://www.w3.org/TR/xhtml1/#guidelines
80 W3C Empfehlung zur Modularisierung von XHTML :
http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410
81 XHTML 1.1 - W3C-Recommendation vom 31. Mai 2001 :
101
B.2. LINKS ZUM THEORETISCHEN TEIL 102
http://www.w3.org/TR/2001/REC-xhtml11-20010531
82 W3C XHTML 2.0 Working Draft, Mai 2005 :
http://www.w3.org/TR/2005/WD-xhtml2-20050527
83 W3C XHTML-Basic Recommendation, Dezember 2000 :
http://www.w3.org/TR/2000/REC-xhtml-basic-20001219
84 W3C CSS 2.1 Working Draft, Juni 2005 :
http://www.w3.org/TR/2005/WD-CSS21-20050613/
86 W3C CSS-1 Recommendation vom Dezember 1996 :
http://www.w3.org/TR/CSS1
87 W3C CSS-2 Recommendation vom Mai 1998 :
http://www.w3.org/TR/1998/REC-CSS2-19980512
88 CSS-2.1 Working Draft Juni 2005 :
http://www.w3.org/TR/CSS21/css2.pdf
89 Introduction to CSS3 - ein überblick über vorgesehne CSS-3 Module :
http://www.w3.org/TR/2001/WD-css3-roadmap-20010406
90 Informationen über Macromedia Flash :
http://openswf.org/spec.html
92 Mittlerweile gilt die SVG-1.1 Specification, W3C Recommendation Januar 2003 :
http://www.w3.org/TR/2003/REC-SVG11-20030114/
93 Ein vom Autor bei Mediaevent verfasster Artikel befasst sich mit der
Browserunterstützung von SVG, Nov. 2005 :
http://www.mediaevent.de/article.php/20060103130224175
94 W3C MathML 1.1 Recommendation vom Juli 1999 :
http://www.w3.org/1999/07/REC-MathML-19990707
95 Webseite des Webbrowsers Opera :
http://www.opera.com
96 Ein XHTML-Profil, das die Vermischung von XHTML, MathML und SVG
ermöglicht :
http://w3c.org/XHTMLplusMathMLplusSVG
97 Beispiel für gemischte Namensräume :
http://colormanagement.digitaldonkey.de/xhtml-svg-mathMl
98 Scalable Vector Graphics (SVG) 1.1 Recommendation, Januar 2003 :
102
B.3. LINKS ZUR BILDVERARBEITUNG AUF DEM WEBSERVER 103
http://www.w3.org/TR/2003/REC-SVG11-20030114/
99 W3C CSS-3 Color Module, Canaidate Recommendation vom Mai 2003 :
http://www.w3.org/TR/2003/CR-css3-color-20030514
100 Farbnamen und ihre numerischen Werte :
http://www.mediaevent.de/tutorial/farbcodes.html
101 W3C CSS-3 Color Module, Canaidate Recommendation vom Mai 2003 :
http://www.w3c.org/TR/2003/CR-css3-color-20030514
103 Umrechnung von HSL in RGB Farbwerte. W3C Color-Module Candidate
Recommendation, Dezember 2004 :
http://www.w3.org/TR/css3-color/index.html#hsl-examples
104 Farbnamen für Systemfarben, W3C Color-Module Candidate Recommendation,
Dezember 2004 :
http://www.w3.org/TR/css3-color/index.html#css-system
105 Es gelten die vom ICC Definitionen der ICC Profile Format Spezifikation,
Version 3.2. 1995 für die Rendering Intents im CSS-3 Color Module :
http://www.color.org/icc32.pdf
106 W3C Color Module über den Umgang mit verschiedenen Gammawerten
unterschiedlicher Systeme :
http://www.w3.org/TR/css3-color/#gamma
B.3. Links zur Bildverarbeitung auf dem Webserver
1 Bildbeschnitt lässt sich mit Java-Applets direkt im Webbrowser vornehmen.
Realisiert in der Online-Bildergalerie Gallery2 :
http://gallery.menalto.com
3 GNU-Projekt Website :
http://gnu.org
4 Volker Grassmuck, Freie Software - Zwischen Privat und Gemeineigentum,
Bundeszentrale für Politische Bildung, 2.Auflage, Bonn 2004, S. 229 :
http://freie-software.bpb.de/Grassmuck.pdf
6 Mozilla Public License (MPL) :
http://www.mozilla.org/MPL/MPL-1.1.html
103
B.3. LINKS ZUR BILDVERARBEITUNG AUF DEM WEBSERVER 104
7 Das IFOS Lizenz-Center bietet einen Überblick über verschiedene Open Source
Lizenzen, Dez. 2005 :
http://www.ifross.de/ifross_html/lizenzcenter.html
8 Gartner, Chart of Accounts, E-Rev. n Revised 16 June 2003 :
http://www.gartner.com/4_decision_tools/modeling_tools/costcat.pdf
9 Website von NET-PBM :
http://netpbm.sourceforge.net
10 NET PBM Projektseite :
http://netpbm.sourceforge.net/
11 Net PBM Readme :
http://netpbm.sourceforge.net/README
12 Website von GD :
http://www.boutell.com/gd/
13 PHP-GD Dokumentation :
http://de3.php.net/gd
14 PHP-GD-Website :
http://www.boutell.com/gd/
15 Webseite von ImageMagick :
http://www.imagemagick.org
17 Webseite vom "Little Color Management System"LCMS :
http://www.littlecms.com
19 MIT Lizenz vom "Massachusetts Institute of Technology":
http://ocw.mit.edu/OcwWeb/Global/license.htm
20 ArgylCMS viewgam Dokumentation :
http://www.argyllcms.com/doc/viewgam.html
21 VRML97 ist ein internationaler Standard: ISO/IEC 14772-1:1997 :
http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97
22 ArgylCMS icclink Dokumentation :
http://www.argyllcms.com/doc/icclink.html
23 ArgylCMS iccdump Dokumentation :
http://www.argyllcms.com/doc/iccdump.html
24 ArgylCMS Online Dokumentation :
104
B.4. LINKS AUS DEM ANHANG 105
http://www.argyllcms.com/doc/ArgyllDoc.html
25 Perl Artistic License :
http://www.perl.com/pub/a/language/misc/Artistic.html
27 Website zum Perl ExifTool :
http://www.sno.phy.queensu.ca/˜phil/exiftool
28 Beispielanwendung: Bildumwandlung nach sRGB :
http://colormanagement.digitaldonkey.de/sRGB-konvertierung
29 Beispielanwendung: Safari browsertest :
http://colormanagement.digitaldonkey.de/safaritest
30 LCMS jpegicc Manpage :
http://linux.com.hk/penguin/man/1/jpegicc.html
31 Beispielanwendung: ICC-Softproof :
http://colormanagement.digitaldonkey.de/iccproof
32 Webanwendung: Informationen über ICC Profile ausgeben :
http://colormanagement.digitaldonkey.de/iccprofileInfo
33 A Standard Default Color Space for the Internet - sRGB :
http://www.w3.org/Graphics/Color/sRGB
34 Adobe R○ RGB (1998) Color Image Encoding, Version 2005-05 :
http://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
35 Webanwendung: Visualisierung von Profilfehlinterpretation :
http://colormanagement.digitaldonkey.de/farbdifferenz
36 Webanwendung: Darstellung unterschiedlicher Bildformate im Webbrowser :
http://colormanagement.digitaldonkey.de/profiletest
B.4. Links aus dem Anhang
1 ImageMagick identify Dokumentation :
http://imagemagick.org/script/identify.php
2 ImageMagick Projektwebseite: Dokumentation und Download :
http://imagemagick.org/script/index.php
105
B.4. LINKS AUS DEM ANHANG 106
3 ImageMagick Forum :
http://studio.imagemagick.org/discussion-server/
4 LCMS Projektseite :
http://www.littlecms.com
5 Tutorial: LCMS als Library einsetzen :
http://www.littlecms.com/tutorial.txt
6 LCMS icclink Manpage :
http://linux.com.hk/penguin/man/1/icclink.html
7 LCMS jpegicc Manpage :
http://linux.com.hk/penguin/man/1/jpegicc.html
8 LCMS tifficc Manpage :
http://linux.com.hk/penguin/man/1/tifficc.html
9 LCMS wtpt Manpage :
http://linux.com.hk/penguin/man/1/wtpt.html
10 LCMS icctrans Manpage :
http://linux.com.hk/penguin/man/1/icctrans.html
11 ArgylCMS iccdump Manpage :
http://www.argyllcms.com/doc/iccdump.html
12 Beispielanwendung ICC-Profil Informationen auslesen :
http://colormanagement.digitaldonkey.de/iccprofileInfo/
13 ArgyllCMS Online Dokumentation :
http://www.argyllcms.com/doc/ArgyllDoc.html
14 ArgyllCMS Diskussionsforum :
http://www.freelists.org/cgi-bin/archive-search.fcgi?query=abstract&list=argyllcms
15 ArgyllCMS Anwendunsbeispiele :
http://www.argyllcms.com/doc/Scenarios.html
16 W3C Recommendation Track Process :
http://www.w3.org/2004/02/Process-20040205/tr.html#Reports
17 W3C Advisory Committee:
http://www.w3.org/2004/02/Process-20040205/organization.html#AC
18 Webanwendung: Colormanagement Umfrage :
http://colormanagement.digitaldonkey.de/umfrage
106
B.4. LINKS AUS DEM ANHANG 107
107
Abbildungsverzeichnis
Quelle: http://en.wikipedia.org/wiki/First_image_on_the_Web
1.1. Laut Wikipedia das erste im World Wide Web veröffentlichte Bild
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Quelle: Ein anonymer Onlineshop
1.2. Sie wollten schon immer mal ein T-Shirt kaufen, das so aussieht, als wäre
es mit dem roten Pullover in der Wäsche gewesen? Beispiele für falsche
Farbdarstellung finden sich fast in jedem Onlineshop
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
http://www.destatis.de/download/d/wista/egovernment.pdf
1.3. E-Government und andere Zwecke der Internetnutzung, Statistisches Bundesamt
Wiesbaden, 2005
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Quelle: Ein anonymer Onlineshop
1.4. Wieviele Produkte wegen falscher Farben im Onlineshop an den Hersteller
zurückgehen ist schwer abzuschätzen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Quelle: Homann s.232
1.5. Reproduzierbare Betrachtungsbedingungen können mit Hilfe eines Normlichtbetrachters
geschaffen werden
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Quellen: Catarozzi S. 27 und 28
1.6. Auch ungeeignete Kleidung kann zu Farbverfälschungen führen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.7. Einfluss des Umgebungslichts durch Reflexion auf dem Bildschirm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Quelle: Nach http://www.microsoft.com/whdc/device/display/color/icmwp.mspx
1.8. Bei Windows ICM erhält man CMM-Funktionalität durch Aufruf von
Win32-Api-Funktionen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Quelle: Nach http://developer.apple.com/technotes/tn/tn2035.html
1.9. Bei der Verwendung von QuickDraw oder Quartz bei der Programmierung
unter OS-X gibt es Farbmanagement ohne Mehraufwand für den Programmierer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
108
Abbildungsverzeichnis 109
Quelle: Vom Autor erstellt
1.10. Bei Linux gibt es keine ausgereifte CMM Infrastruktur. Der Anwendungsprogrammierer
muss sich selber um die Implementierung von CMM und
geeignete Ausgabeprofile kümmern.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Quelle: http://www.w3.org/TR/CSS21/css2.pdf S.98
1.11. Einteilung verschiedener Ausgabemedien
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Quelle: Internet.
1.12. Webseiten auf Kleincomputern, PDAs und dem Handy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Quelle: Vom Autor mit: http://iccview.de erstellt
1.13. Farbraumvergleich zwischen NTSC und sRGB
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.14. Farbraumvergleich zwischen PAL und sRGB
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Quelle: Vom Autor erstellt Quelle: Internet
1.16. Braille Lesegeräte ermöglichen Blinden das Lesen von Texten am Computer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.15. Eine Webseite für unterschiedliche Ausgabemedien
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Quelle: Nach Catarozzi S. 40
1.17. HSL - steht für Hue, Saturation und Lightness
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Quelle: Vom Autor erstellt
2.1. Bei Gallery kann man Bilder im Webbrowser mit Hilfe eines Java Applets
beschneiden
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
109