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