Profile ICCczęœć I
6 Dec 2016 14:44

Upowszechnienie się na przestrzeni lat otwartych systemów graficznych oraz wynikajšce z tego trudnoœci w komunikowaniu i odwzorowywaniu barw na różnych urzšdzeniach, powstałe jako rezultat elastycznoœci współczesnych systemów prepress, różnorodnoœci urzšdzeń do wprowadzania i realizowania informacji graficznej, stały się powodem stworzenia systemu, którego zadaniem była pomoc w okiełznaniu tego powszechnie panujšcego chaosu. Systemy zarzšdzania barwš, bo o nich mowa, miały ułatwiać pracę. W większoœci przypadków realizujš to zadanie, tzn. ułatwiajš pracę nad informacjš graficznš nie wykonujšc wszystkiego za użytkownika. Jednym z argumentów przeciwników color managementu (oprócz kosztów inwestycyjnych) jest to, że systemy takie sš skomplikowane (i nie chodzi tu o nieprzyjemny dla użytkownika interfejs, bo z tym nie ma problemu) lub, po prostu, nie działajš, wywołujšc przy tym wiele niepotrzebnych negatywnych emocji. Po częœci majš oni rację. Mnogoœć dostawców takich systemów spowodowała pewien powrót do czasów zamkniętych systemów graficznych, w których użytkownik wykonujšc jakiœ ruch na wejœciu (manipulujšc obrazem, a w tym przypadku np. profilem) wiedział, co otrzyma na wyjœciu. Wobec tego systemy takie, z założenia elastyczne i otwarte, w rezultacie nie do końca takie sš. Wprawdzie ICC wprowadza specyfikacje, w oparciu o które producenci tworzš swoje pakiety oprogramowania do generowania i edycji profili, jednakże twórcy oprogramowań, w których implementowane sš tego typu profile (ICC) ărobiš, co chcšÓ. Wobec tego znajomoœć elementów wchodzšcych w skład systemów zarzšdzania barwš, do których zaliczyć można profile ICC, pomóc może w rozwišzywaniu pewnych problemów, z jakimi można się zetknšć podczas codziennej pracy. Celem poniższego artykułu jest przedstawienie pewnych aspektów zwišzanych z funkcjonowaniem profili ICC wynikajšcych z ich budowy. Profile ICC Profil ICC jest plikiem, który zawiera informacje o korelacji współrzędnych barw przestrzeni niezależnej (tzw. PCS Đ Profile Connection Space) z wartoœciami wyrażanymi w systemach barw zależnych od urzšdzenia, np. RGB czy CMYK. Stanowi on niejako opis zachowania się urzšdzenia w rozumieniu reprodukcji barw. Dzięki niemu możliwe jest uzyskiwanie (z okreœlonš dokładnoœciš) tych samych barw na różnych urzšdzeniach, np. skanerach, monitorach, drukarkach. Profil taki jest œciœle zwišzany z danym urzšdzeniem oraz charakteryzuje je dla œciœle okreœlonego jego stanu, czyli kalibracji. Zatem, aby profil był skuteczny, należy zwracać szczególnš uwagę na kalibrację urzšdzeń, sprowadzajšcš system do stanu, w którym dany profil był tworzony. Profil urzšdzenia zawiera informacje o trzech podstawowych zmiennych, za pomocš których można scharakteryzować dane urzšdzenie: Ľ gamut urzšdzenia, który poœrednio można przedstawić znajšc współrzędne barw pierwszorzędowych reprodukowalnych przez dane urzšdzenie; Ľ zakres dynamiki urzšdzenia (w przy-padku drukarek gęstoœci optyczne maksymalne) Đ odcień i jasnoœć punktu bieli i czerni danego urzšdzenia; Ľ krzywe reprodukcji barw pierwszorzędowych. Niektóre rodzaje profili mogš zawierać dodatkowe informacje takie jak instrukcje przetwarzania barw spoza gamutu danego urzšdzenia, bardziej szczegółowe informacje o krzywych reprodukcji czy też specjalne dane, które sš używane przez konkretne CMM. Profile można podzielić na typy czy też klasy: Ľ wejœciowe (urzšdzeń wejœciowych, np. skanerów czy aparatów cyfrowych); Ľ wyjœciowe (np. drukarek czy maszyn drukujšcych); Ľ zobrazowania (monitory, wyœwietlacze LCD); Ľ połšczeń pomiędzy urzšdzeniami (Device Link Profile); sš to profile powstałe z dwóch profili. Dzięki nim uzyskujemy bezpoœrednie zależnoœci pomiędzy przestrzeniami różnych urzšdzeń, pomijajšc L*a*b* (np. RGB Đ CMYK, CMYK Đ CMYK). Często stosowane w RIP-ach w celach proofingu; Ľ przestrzeni roboczych Đ sš to profile dwukierunkowe urzšdzeń wirtualnych, które stanowiš przestrzeń roboczš np. w programie Photoshop. Profilem takim jest np. sRGB. Mimo że sš to profile urzšdzeń wirtualnych, mówi się o nich jako o niezależnych od urzšdzeń; Ľ abstrakcyjne Đ używane do zapisania pewnych edycji w obrazie w celu ich póŸniejszego użycia; Ľ specjalne Đ znajdujš zastosowanie do systemów barw specjalnych, np. Pantone. Istnieje jeszcze inny podział profili w zależnoœci od funkcji, jakš w danej chwili pełniš. Profile mogš być Ÿródłowe (source) i docelowe Đ przeznaczenia (destination). Aby mogło dojœć do jakiejkolwiek konwersji, potrzebne sš dwa profile: profil urzšdzenia symulowanego i profil urzšdzenia symulujšcego. Wobec tego np. profil maszyny drukujšcej może pełnić raz funkcję profilu docelowego przeznaczenia (kiedy konwertujemy obraz RGB do CMYKa maszyny, uzyskujšc tym samym odpowiednie separacje dla barw podstawowych Đ rys. 1), a innym razem funkcję profilu Ÿródłowego (kiedy jest on stosowany w celach symulacji wyniku drukowania nakładowego na wybranym systemie odbitek próbnych Đ wtedy to profil tego systemu pełni rolę profilu docelowego, rys. 2). W przypadku profilu połšczeń pomiędzy urzšdzeniami (Device Link Profile) zasada koniecznoœci zastosowania dwóch profili do konwersji ma zastosowanie podczas tworzenia takiego profilu, polegajšcego na wskazaniu dwóch profili Đ Ÿródłowego i przeznaczenia Đ których odpowiednie częœci służš do tworzenia bezpoœrednich zależnoœci pomiędzy przestrzeniami dwóch urzšdzeń, np. CMYK Đ CMYK. W przypadku profilu Ÿródłowego wykorzystywana jest odpowiednia tablica LUT dla konkretnego sposobu renderingu (raczej kolorymetrycznego) w kierunku CMYK Đ L*a*b*, natomiast dla profilu przeznaczenia Đ odpowiednia tablica LUT w kierunku L*a*b* Đ CMYK. Profile mogš być oparte na macierzach lub tablicach. Oba typy zawierajš informacje o punkcie bieli, różniš się natomiast sposobem przedstawiania reprodukcji barw przez urzšdzenia. Sprawia to m.in., że jedne profile zajmujš więcej miejsca na dysku niż drugie. Niektóre wymagajš kilku megabajtów, podczas gdy inne zaledwie kilku kilobajtów. Czasami zdarza się, że używajšc profilu i różnych sposobów renderingu otrzymujemy te same rezultaty, co spowodowane jest tym, że dany profil nie zawiera tablicy odnoszšcej się do konkretnej metody przetwarzania barw. Najprostszš metodš transformacji przestrzeni trójwymiarowej (np. RGB) na przestrzeń trójwymiarowš (np. XYZ) jest użycie macierzy 3 na 3. W profilu ICC taka trzywymiarowa macierz zawiera współrzędne XYZ dla każdej z trzech barw pierwszorzędowych. Profil zawiera jednš (parametr gamma) lub więcej liczb (okreœlajšcych krzywš) definiujšcych krzywe reprodukcji dla każdego z kolorów pierwszorzędowych. Barwy urzšdzenia sš tłumaczone w ten sposób, że najpierw przed konwersjš przechodzš one przez macierz 3 na 3 opisujšcš krzywe reprodukcji. Profile oparte na macierzach zawsze używajš przestrzeni niezależnej XYZ. Innym sposobem przeliczania barw sš transformacje oparte na tablicach LUT. Sš to tablice z liczbami, które pozwalajš okreœlić wartoœci wyjœciowe odpowiadajšce wartoœciom wejœciowym. Oprogramowanie do tworzenia profili decyduje o liczbie punktów w takiej tablicy, tym samym jego dostawcy próbujš znajdować takš ich iloœć, aby profil był dostatecznie dokładny i jednoczeœnie zachowywał rozsšdne rozmiary oraz pracował szybko. Profile oparte na tablicach LUT zawsze używajš przestrzeni L*a*b* jako niezależnej od urzšdzeń. Macierze sš znacznie mniejsze od tablic LUT, ponieważ przechowujš w sobie tylko 9 liczb, natomiast tablice mogš zawierać, w zależnoœci od iloœci punktów próbkowania, od kilkuset do kilku tysięcy liczb. Macierze sš dwukierunkowe, tzn. jedna macierz może być odpowiedzialna za konwersje w obu kierunkach. Sš one odpowiednie do charakteryzacji urzšdzeń o stosunkowo prostych krzywych reprodukcji, do których można zaliczyć skanery czy monitory CRT. Dla bardziej skomplikowanych urzšdzeń (pod względem reprodukcji barwy), takich jak drukarki, macierze zawierajš za małš iloœć informacji. Profile oparte na macierzach zawierajš informacje o przekształcaniu barw dla jednego sposobu renderingu, jakim jest sposób relatywnie kolorymetryczny, nawet gdy użytkownik ma do wyboru w aplikacji graficznej inny sposób. Obsługujš również sposób absolutnie kolorymetryczny, bowiem nie wymaga on dodatkowej macierzy Đ korzysta z macierzy dla sposobu relatywnie kolorymetrycznego oraz wartoœci punktu bieli. Zaletš profili opartych na tablicach LUT jest możliwoœć charakteryzacji urzšdzeń zachowujšcych się nieliniowo, mniej stabilnie oraz ich używanie nie jest ograniczone do urzšdzeń trzykanałowych Đ mogš charakteryzować urzšdzenie drukujšce CMYKiem, jak również korzystajšce z większej niż cztery liczby farb czy atramentów. Wadš jest koniecznoœć użycia osobnej tablicy dla każdego kierunku transformacji oraz dla każdego z trzech sposobów renderingu (absolutnie kolorymetryczny korzysta z tablicy dla relatywnie kolorymetrycznego). Profile skanerów, aparatów cyfrowych oraz monitorów (CRT i LCD) mogš bazować zarówno na macierzach, jak i na tablicach LUT, dlatego profile pochodzšce z różnych programów różniš się wielkoœciš: jedni producenci preferujš macierze, inni Đ tablice LUT. Profile monitorów sš zawsze dwukierunkowe, podczas gdy profile urzšdzeń wejœcia Đ najczęœciej jednokierunkowe, ponieważ wydaje się bezcelowe konwertowanie obrazów do przestrzeni skanera czy aparatu cyfrowego. Niemniej nowa specyfikacja ICC (4.0) dopuszcza dwukierunkowoœć tego typu profili. Profile monitorów a karty graficzne Podczas rozpatrywania sposobu wyœwietlania barw na monitorze ważnym czynnikiem, oprócz poprawnie wygenerowanego profilu, jest karta graficzna i zwišzana z niš współpraca z profilem monitora, bowiem oczywisty wydaje się fakt, że dany profil charakteryzuje zestaw składajšcy się z karty graficznej i monitora, co w pewnym sensie należy utożsamiać z kalibracjš urzšdzenia. Aspekt ten budzi wiele wštpliwoœci i często współpraca taka powoduje powstawanie niezrozumiałych problemów z wyœwietlaniem barw na monitorze. Komputer, a dokładnie jego karta graficzna, ma wewnętrzny algorytm przetwarzania informacji w celu wyœwietlania barw na monitorze. Ten algorytm nosi nazwę Color Look Up Table (CLUT), przy czym nie należy utożsamiać go z tablicš LUT, która może być częœciš profilu monitora (może, ale nie musi Đ najczęœciej bowiem profile monitorów oparte sš na macierzach). Wartoœci pikseli obrazu RGB sš przechowywane w pamięci karty graficznej. W celu wyœwietlenia obrazu na monitorze te wartoœci przechodzš przez CLUT karty graficznej, która tworzy sygnały wysyłane do monitora. Informacje zawarte w CLUT można zmieniać, a to powoduje zmianę sposobu wyœwietlania barw na monitorze. Podczas tworzenia profilu monitora oprogramowanie wraz z kolorymetrem lub spektrofotometrem mierzy i oblicza faktyczny (aktualny) parametr gamma oraz punkt bieli monitora. Jednakże użytkownik może zmienić te parametry podczas kolejnych etapów tworzenia profilu monitora, jeœli aktualne parametry mu nie odpowiadajš (nie należy jednak utożsamiać takiego manewru z bezpoœredniš zmianš kontrastu, jasnoœci i temperatury barwowej z poziomu pulpitu monitora, bowiem te ustawienia wchodzš w zakres kalibracji urzšdzenia i każda ingerencja w nie po pomiarze spektrofotometrem sprawi, że profil, który uzyskamy, będzie niepoprawny, gdyż uzyskany z pomiarów innych niż faktyczne). Taka zmiana de facto realizowana jest poprzez stworzenie korekcji, która wysłana do CLUT odpowiednio skoryguje sygnały w niej tworzone, czego wynikiem będš wskazane przez użytkownika zmiany parametrów gamma i punktu bieli poprawnie realizowane na ekranie monitora. Zmiany faktycznych (zmierzonych, wyliczonych) parametrów gamma i punktu bieli na odpowiadajšce użytkownikowi zapisywane sš w odpowiednim tagu profilu monitora. Pomimo że koncepcja oparta o CLUT jest powszechnie stosowana zarówno dla platformy Mac, jak i PC, tylko w pierwszym przypadku można stwierdzić, że system jest dobrze sprecyzowany do przechowywania informacji o CLUT i ich używania. Profile dla platformy Mac posiadajš specjalny tag vcgt (video card gamma tag), który był częœciš systemu od momentu pojawienia się ColorSync 2.5. Tag vcgt jest używany do przechowywania danych potrzebnych tablicy CLUT do poprawnego skorygowania parametrów wyœwietlania. Kiedy profil jest aktualnie używany, dane te sš rozpakowywane i wysyłane do CLUT w czasie rzeczywistym determinujšc sposób wyœwietlania barw na monitorze. Jednakże istnieje wiele kontrowersji dotyczšcych używania tagu vcgt. Jednš z nich jest to, że ów tag jest sprecyzowany przez CMM ColorSync, a nie przez ICC. To poœrednio może być przyczynš problemów interpretacji tagu vcgt na platformie PC. Jak wspomniano wczeœniej, tag vcgt i CLUT karty graficznej współpracujš: tag vcgt precyzuje nowe parametry gamma i punktu bieli, natomiast CLUT wykonuje przeliczenia na podstawie danych przesłanych z tagu vcgt. I tu może pojawić się problem. Niektóre programy do tworzenia profili monitorów wysyłajš dane z tagu vcgt na etapie wczytywania systemu operacyjnego. Jeœli podczas pracy zostanie zmieniony profil monitora, wówczas jest on używany bez odpowiadajšcej mu CLUT. Wtedy takš pracę należy zsynchronizować ręcznie, używajšc np. oprogramowania Adobe Gamma Loader. Ponieważ tag vcgt nie jest wymagany i sprecyzowany przez ICC, oprogramowanie różnych producentów tworzy profile zawierajšce taki tag lub niezawierajšce go. Jeœli zastosowany zostanie profil bez tego tagu, wówczas istnieje ryzyko, że CLUT skorzysta z tagu vcgt pochodzšcego od innego, wczeœniej użytego profilu (który miał tag vcgt). Taka sytuacja może być powodem powstawania dużych błędów i jeœli producent oprogramowania nie zdecydował się na tag vcgt, powinien zawiadomić użytkownika o takiej sytuacji. Nadgorliwi użytkownicy mogš stworzyć profil z zerowym tagiem vcgt i zastosować go Đ tym sposobem wykasujš niepoprawne informacje znajdujšce się w CLUT. W kolejnym artykule przedstawiona zostanie dokładniej struktura profili ICC ze wskazaniem elementów, które poprawny profil powinien zawierać wraz z ich opisem i znaczeniem dla przetwarzania barw. cdn. Autor jest studentem Instytutu Poligrafii Politechniki Warszawskiej Literatura 1. Abhay Sharma Understandung Color Management, Thomson Delmar Learning 2004 2. Bruce Frazer, Chris Murphy, Fred Bunting Real World Color Management (second edition), Peachpit Press 2005 3. www.color.org, The reasons for changing to the v4 ICC profile format; Specification ICC.1:2003-09 File Format for Color Profiles (Version 4.1.0) 4. lista dyskusyjna lcms-user@lists.sourceforge.net 5. Abhay Sharma and Paul D. Fleming Measuring The Quality of ICC Profiles and Color-Management Software, The Seybold Report Volume 2, Number 19