Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Zarządzanie kolorami w Androidzie: wszystko, co musisz wiedzieć

Spisu treści:

Anonim

Ostatnio dużo mówi się o zarządzaniu kolorami tutaj i gdzie indziej w Internecie. Android Oreo zapewnia nowe wsparcie zarządzania kolorami, Pixel 2 XL ma reputację źle wykonujących, a te dwie rzeczy razem sprawiają, że chcemy o tym porozmawiać. Ale co dokładnie oznacza zarządzanie kolorami?

Porozmawiajmy o tym i trochę o tym, jak i dlaczego jest używany, a może nawet więcej fajnych rzeczy.

Co to jest zarządzanie kolorami?

Nie śmiej się, ale zanim zaczniesz mówić o tym, jak nasze gadżety starają się to zrobić, musisz zrozumieć, jaki kolor opiera się na tym, jak widzą go nasze oczy.

Kolor najłatwiej opisać jako wynik Barwy, Nasycenia i Blasku.

Światło emituje energię na określone pasma lub długości fal, ale nasze oczy nie widzą większości z nich. Jest to znane jako widmo. Terminy takie jak IR (podczerwień lub dłuższe długości fali niż czerwony koniec widma, który widzimy) i UV (ultrafiolet, krótszy niż niebieskie długości fali, które widzimy) są prawdziwe i istnieje wiele nauk na temat pomiaru ich intensywności, ale nie nie mają nic wspólnego z kolorem, ponieważ kolor jest rzeczą ludzką.

W tych długościach fali światła, które są widoczne, Barwa jest punktem, w którym pasmo ma największą energię, Nasycenie określa szerokość pasma (gdzie emisja światła zaczyna się na widmie i gdzie się kończy), a Blask jest intensywnością człowieka widzialna fala świetlna. Barwa określa, jaki kolor zobaczą nasze oczy, Nasycenie określa jej czystość, a Blask określa jej jasność. Wykresy pomagają, więc oto jeden.

Jest to rodzaj światła, którego roślina nie może wykorzystać do fotosyntezy. Dlatego rośliny są w większości tego koloru - odbijają to światło!

Na tym wykresie czerwony, zielony i niebieski mają w przybliżeniu ten sam odcień - osiągają wartość szczytową około 450 - 550 nanometrów. Czerwony ma największą szerokość pasma (obejmuje więcej widma), więc jest mniej nasycony niż niebieski, który ma najmniejszą szerokość pasma. Wszystkie trzy kolory mają bardzo wysoki połysk tam, gdzie osiągają szczyt, więc są równie intensywne. Nasze oczy interpretują to jako zabłocony, brzydki żółty kolor. Wszystkie kolory utworzone w kolorze czerwonym, niebieskim i zielonym będą miały swój własny profil widma, podobnie jak brzydki żółty.

Kolor w telewizorze, kolor w telefonie i kolor z aparatu muszą się zgadzać.

RGB oznacza czerwony, zielony i niebieski. Jest to model addytywny do tworzenia kolorów, w którym światło w każdym spektrum jest emitowane w celu stworzenia koloru. Jeśli masz kolorową drukarkę atramentową (pamiętasz te?), Tworzy ona kolor, używając cyjanu, magenty, żółtego i czarnego (CMYK) jako modelu subtraktywnego, w którym stosowane są kolory, dzięki czemu światło odbite od powierzchni ma określony kolor. RGBA (A oznacza Alpha i określa poziom przezroczystości) to model używany na wyświetlaczu w celu uzyskania koloru, bez względu na używany typ wyświetlacza.

Kolor wytworzony przez drukarkę korzystającą z modelu CMYK i kolor wytworzony na ekranie telefonu za pomocą modelu RGBA muszą wyglądać tak samo dla naszych oczu - czerwony musi wyglądać na czerwony.

Jest to zarządzanie kolorami w najbardziej podstawowej formie.

Rzeczywiste zarządzanie kolorami

Istnieje wiele różnych sposobów „tworzenia” koloru. Przyjrzeliśmy się modelom HSB, RGB i CMYK powyżej, ale istnieje wiele innych sposobów, aby spróbować przedstawić, jak wygląda źródło światła dla naszych oczu. Wszystkie zostały zaprojektowane tak, aby różowy wyglądał na różowy, zielony wyglądał na zielony, pomarańczowy wyglądał na pomarańczowy i tak dalej. Możemy uzyskać dobre podstawowe wyobrażenie o tym, jaki kolor próbuje reprezentować dowolny model kolorów na dowolnym medium. Ale podstawowy pomysł po prostu nie wystarczy.

Robienie czegoś nie jest tym samym, co robienie tego dobrze, dotyczy to również zarządzania kolorami.

Spektrum kolorów jest prawie nieskończone, a kiedy używasz czegoś, co pozwala wyświetlić więcej niż garstkę z nich, potrzebujesz sposobu, aby upewnić się, że określony odcień zieleni wygląda tak samo dla oczu osoby, bez względu na to, gdzie jest wyświetlana lub co model jest używany do jego utworzenia. Kiedy mamy do czynienia z milionami różnych kolorów, które może pokazywać nowoczesny wyświetlacz elektroniczny, bardzo ważna staje się dobra metoda reprodukcji właściwego koloru.

Potrzebujesz dobrego ekranu

Zaczynasz od samego wyświetlacza. Każdy dobry wyświetlacz wysokiej klasy musi być w stanie odtworzyć szeroką gamę kolorów. Istnieją normy ITU-R (International Telecommunication Union - Radiocommunications Sector), które decydują o szerokiej gamie kolorów, i obejmują wiele matematyki i nauki. Na szczęście nie musimy wykonywać obliczeń matematycznych i musimy tylko wiedzieć, jakie przestrzenie kolorów spełniają standardy. W przypadku naszych telefonów jest to zwykle przestrzeń kolorów DCI-P3.

Ma to większe znaczenie, ponieważ wyświetlacze mogą pokazywać więcej kolorów.

Niefortunny Galaxy Note 7 jest wymieniony jako pierwszy telefon ze 100% wyświetlaczem HDI DCI-P3, ale odkąd widzieliśmy wyświetlacze obsługujące DCI-P3 z wielu firm. IPhone 7 i nowsze są dostarczane z jednym, OnePlus 5 i nowsze mają jeden, HTC U11 + i Pixel 2 XL i więcej mają wszystkie w 100% zgodne wyświetlacze DCI-P3. Oznacza to, że ekran może poprawnie i dokładnie odwzorować kolory zgodnie ze standardami ITU-R.

Następnie skalibruj go

Gdy użyjesz odpowiedniego sprzętu, w grę wchodzi kalibracja. Kalibracja mierzy moc wyjściową wyświetlacza, ponieważ odtwarza różne kolory i dostosowuje sprzęt, aby odczyty osiągały określoną wartość. Ponieważ nie można skalibrować 16, 7 miliona różnych kolorów, używane są przestrzenie kolorów wspólnych. Najczęstszym jest sRGB (standardowy czerwony zielony niebieski).

Opracowany przez HP i Microsoft, sRGB jest standardem w monitorach, drukarkach i Internecie, gdy nie ma określonej określonej przestrzeni kolorów, i jest to bardzo dobry standard. Kalibracja dla sRGB jest dość łatwa, ponieważ dostosowujesz jeden kanał do niezerowej wartości, a dwa pozostałe do zera i przełączasz cyklicznie. Dlatego zobaczysz 255, 255, 255 wyrażonych dla koloru (ten jest biały) lub 255, 0, 0 (to czerwony). Po skalibrowaniu chromatyczności każdego głównego kanału, każdy inny kolor również będzie.

Idealnie właśnie to robi każda firma produkująca wyświetlacz, a następnie wysyła wyświetlacz za drzwi.

Przed Oreo zarządzanie kolorami na Androidzie było zepsute

Problem polega na tym, że niektóre firmy używające wyświetlaczy z szeroką gamą kolorów rozciągnęłyby przestrzeń sRGB i ponownie zinterpretowałyby wartości kolorów we własnej, unikalnej gamie. To sprawia, że ​​trzy podstawowe kanały są bardzo przesycone, co z kolei oznacza, że ​​każdy z 16, 7 miliona kolorów, które był w stanie wyświetlić, nie był już skalibrowany tak, aby wyglądał tak samo na żadnym innym urządzeniu.

Istnieje wiele przestrzeni kolorów i profili. Najważniejszym dla Androida jest sRGB.

Przed Androidem Oreo aplikacje korzystały z przestrzeni kolorów sRGB. Jest ku temu powód - sprzęt niskiej jakości. Wyświetlanie szerokiej gamy kolorów wymaga więcej mocy procesora graficznego i procesora niż przestrzeń sRGB. Gdyby system Android został skonfigurowany z szeroką przestrzenią kolorów jako domyślną, niektóre telefony, które kupują ludzie, miałyby problem z wyświetleniem go. Nawet jeśli wyświetlacz telefonu nie był w stanie pokazać wszystkich kolorów, wciąż istnieje dość duży hit wydajności.

Producenci zaawansowanych urządzeń uważali, że „przełamanie” kalibracji kolorów i przetwarzanie kolorów własnymi wartościami pokazałoby ich lepsze wyświetlacze, a jeśli jest jedna rzecz, której nauczyłem się wykonywać tę pracę przez prawie osiem lat, to fakt, że producentowi telefonu zależy tylko na co jest najlepsze dla siebie.

Niektóre aplikacje nadal muszą pokazywać głównie dokładne kolory, nawet gdy producent łamie przestrzeń kolorów, więc programiści musieli dokonać desaturacji swoich zasobów, aby spróbować zrekompensować. Na przykład wideo wygląda najlepiej, gdy czerwony znak stop to ten sam czerwony, który rozpoznajesz jako, a nie losowy kolor, który producent uznał za odpowiedni. Po wprowadzeniu urządzenia ze 100% wyświetlaczem DCI-P3 skalibrowanym dla przestrzeni kolorów sRGB, sprawy zaczynają wyglądać na zepsute. Jest to sedno problemów związanych z „wyciszonymi” kolorami w Pixel 2, choć niektórzy eksperci twierdzą, że kalibracja nie jest bardzo dokładna dla poszczególnych jednostek.

Oto jak to naprawić

Właściwa obsługa szerokiej gamy kolorów sprawia, że ​​ten konkretny Pixel 2 XL i Note 8 wyświetlają ten sam obraz na obu ekranach.

To jest prosta część i prawdopodobnie powinna była zostać wykonana od samego początku. Deweloper może wykryć, czy urządzenie korzysta z szerokiej gamy kolorów, a aktywność wewnątrz aplikacji korzysta z właściwej przestrzeni kolorów, aby w pełni ją wykorzystać. Jeśli urządzenie nie może wyświetlać szerokich kolorów, używany jest domyślny profil sRGB.

Google udostępnia wiele zasobów programistom, którzy chcą stosować się do nowych wskazówek w swoich aplikacjach:

  • Dokumentacja ogólnej przestrzeni kolorów Androida dla API 26
  • Przestrzenie kolorów obsługiwane przez system Android
  • Szeroki przewodnik po zasobach i zawartości

To wszystko dobrze i powinno być dobrym sposobem, aby upewnić się, że kolory wyglądają tak samo w zależności od urządzenia, chyba że jest to niższy model, który nie jest w stanie wyświetlić każdego koloru. Te nadal wyglądałyby poprawnie między urządzeniami, ponieważ korzystałyby z przestrzeni kolorów sRGB. Problem polega na tym, aby wszyscy na pokładzie zrobili to samo.

Mamy nadzieję, że wszystko się poprawi

Aby to zadziałało, Samsung, OnePlus, LG i każda inna firma, która „zepsuła” interpretację sRGB, musi cofnąć ją i poprawić, a programiści muszą przebudować swoje aplikacje, aby obsługiwać nowe wytyczne dotyczące przestrzeni kolorów. I nikt nie chce tego robić.

Firmy prawdopodobnie nie zmienią sposobu, w jaki robią, dopóki programiści nie poprawią aplikacji, które wyglądają dobrze, a programiści nie będą pisać aplikacji, które będą wyglądały na zepsute na milionach telefonów. Apple udało się przejść do właściwego zarządzania kolorami, ponieważ kontroluje przestrzeń sprzętową i programową, a także określa wytyczne App Store. Google nie ma tego luksusu.

Gdzieś ktoś zastanawia się, jak to naprawić. I wysyłanie zepsutej, wybieranej przez użytkownika przestrzeni kolorów na telefony Pixel 2, aby to zrekompensować - cóż, to nie wszystko. Wiemy, że wszyscy zaangażowani chcą robić rzeczy we właściwy sposób, a to oznacza również, że nie zepsują niczego na telefonach, które zostały już sprzedane. Mamy nadzieję, że zostanie rozwiązany wcześniej niż później.