Old Mann of Storr o świcie

Niebezpieczne przestrzenie

… barwne

A myśleliście że jakie? Nie, w dalszym ciągu jeździmy tylko w bezpieczne miejsca, jeśli pominąć niedoszły wypad do R’lyeh. Ale w przestrzeniach barwnych, jak się okazuje, nie zawsze można czuć się bezpiecznie. Jakiś czas temu pisałam o problemach, jakie mogą wyniknąć z zamieszczania w internecie zdjęć z przestrzenią inną niż sRGB. Były to jednak problemy banalne i niegroźne: zdjęcia takie wyświetlają się w nieco innych barwach niż autor zamierzał. Takiego numeru, jaki pewne zdjęcie wycina telefonom z Androidem, nie przewidziałam. Proszę zwrócić uwagę na słowo „wycina” – jest bardziej trafne niż się wydaje.

Old Mann of Storr o świcie

Zabójczo piękny krajobraz

Otóż sytuacja wygląda tak: ładny widoczek przedstawiający jezioro, góry i chmurki, wszystko to podświetlone zachodzącym (albo wschodzącym?) słońcem – idealny na tapetę do telefonu! Niestety, po wgraniu go jako tapety, telefon wpada w pętlę wiecznych zawieszeń i restartów, i jest całkowicie wycięty z funkcjonalności. Dopiero fabryczny reset pomaga, oczywiście wycinając przy okazji całość danych, bo na tym właśnie fabryczny reset polega.

Najważniejsze dla nas pytanie brzmi: DLACZEGO? Skąd taki efekt? Z połączenia sposobu wyświetlania obrazów przez Androida oraz nietypowego profilu barwnego. Serio: profil barwny potrafi zabijać telefony. Kto by się spodziewał?

Profile i problemy

Telefony wyświetlają obrazy jako sRGB, ale nie sprawdzają, czy plik rzeczywiście ma taki profil. Prawie zawsze nie ma problemu: jeśli profil jest szerszy, to po prostu zdjęcie wyświetla się jako mniej nasycone albo nieco przebarwione. Nie podoba się, to sobie zmień na inne. W tym przypadku jednak zastosowano bardzo szeroki profil, który przypadkowo ma taką dziwną właściwość, że gdy Android zaczyna liczyć jasność pikseli do wyświetlenia, to mu wychodzi więcej niż 256… a to wykracza poza RGB (każde RGB), powodując błąd w telefonie i wyżej wzmiankowaną pętlę zawieszeń i restartów. Jeśli więc chcecie sobie wgrać nową tapetę, to najpierw sprawdźcie jaki ma profil barwny… a najlepiej zróbcie ją sobie osobiście, w końcu nie wypada żeby szewc pożyczał buty.

Prostota ma swoje zalety

Problem nie jest powszechny, a Samsung do spółki z Googlem podobno już mają prawie gotową łatkę, więc niedługo pewnie niebezpieczeństwo zniknie. W całej historii jest jednak pewien smaczek, na który chciałam zwrócić uwagę szczególnie miłośnikom szerokich gamutów. Felerne zdjęcie ma przypisany profil o długiej i skomplikowanej nazwie, składającej się głównie z liter i cyfr wyglądających na losowe. Niemniej jednak profil ten jest praktycznie identyczny jak ProPhoto RGB – coś, co można sobie ustawić jako wyjściowe w wielu programach do edycji zdjęć. ProPhoto to bardzo szeroki gamut, pozwalający uzyskać bardzo nasycone, bogate kolory, więc aż kusi, żeby go używać do krajobrazów we wspaniałym świetle. A teraz uwaga, trzymamy się mocno: po poprawnej konwersji do sRGB kolory na morderczym zdjęciu nie zmieniają się ani odrobinę. Wszystkie te wspaniałe barwy spokojnie mieszczą się w skromnym sRGB. Może jednak nie takim skromnym? Natomiast jeśli nie wykonamy konwersji, tylko wrzucimy zdjęcie na urządzenie, które ignoruje profile (tak jak spora część przeglądarek internetowych), to otrzymamy to co poniżej po prawej. I to jest jeszcze jeden powód, żeby jednak nie wypuszczać z domu zdjęć z profilami innymi niż sRGB.

zdjęcie, które zabija telefony

Zwykle nie publikujemy nieswoich zdjęć, ale czego się nie robi w celach edukacyjnych? Po lewej oryginalny wygląd feralnego zdjęcia zabijającego telefony, po prawej jego wygląd na urządzeniach ignorujących profile. To oczywiście symulacja: tutaj obie strony są sRGB. I nie psują telefonów 🙂