一張4.9MB的照片,竟能讓這麼多安卓機翻車?
帶着十幾年前對論壇「多圖殺貓」的好奇,我在2020年經歷了「單圖殺機」的血淚事件。就好像當年不信Modem會燒一樣,我趁着主編沒有反應過來的單身手速,完成了下載、打開、設置壁紙3個關鍵步驟...果然,沒有奇蹟,主編的安卓機開始閃屏、崩潰、重啓,然後...無限重啓。
趁着主編還沒注意到之前,我給大家交待一下網友們最近經歷的安卓大BUG的來龍去脈。
一張壁紙引發的安卓危機?
事件的始作俑者是一張由攝影師Gaurav Agrawal用尼康D850拍攝的風景照片,大小4.90MB。
這張看似普通的照片只要被部分安卓手機(包括谷歌Pixel、三星、小米、諾基亞等)設置成壁紙,就能讓手機系統瞬間崩潰。這些中招的手機大部分可以通過在安全模式下修改壁紙原地復活,有的(比如谷歌Pixel)只能雙清恢復出廠設置,手機內的數據全部丟失,這就是好奇的代價。
所以,建議大家不要輕(嘗試)易(記得)嘗(保存為)試(原圖)。
這張照片之所以會讓一堆安卓機崩潰,是因為照片採用了普通用户比較少見的「Adobe RGB色域標準」。所謂「色域」簡單來説就是顏色的呈現空間範圍,而「色域標準」則是各行各業根據自身需要確定的(通常會參考CIELAB或者CIEXYZ色彩空間,涵蓋我們人類能看到的所有顏色)。
這其中我們容易接觸到的屏幕色域標準有「sRGB」和「NTSC」。sRGB色域自從1996年由微軟和惠普開發初始到現在,一直被作為網上瀏覽圖像的通用色彩標準,目前手機屏幕和電腦顯示屏基本都是默認sRGB模式。不過sRGB色域所能顯示的色彩範圍比較小(在這裏開始埋坑了),滿足不了印刷行業的顏色需求,所以印刷行業的專業人員一般不會使用這個色域標準。
NTSC色域是我們在選購手機和筆記本時經常能看到的色域標準,由美國國家電視標準委員會(National Television Standards Committee)負責開發,用於規範當時電視廣播傳輸接收協議的色彩標準。NTSC比起sRGB的色域要大得多,sRGB相當於72%NTSC色域水平。
前面提到,印刷行業的專業人員(也包括攝影師、設計師、工程師等)一般不會使用sRGB的屏幕色域標準,那麼他們用什麼呢?沒錯,就是這次事件中的「Adobe RGB」。這個標準是由Adobe System公司在1998年開發的,初衷是為了同時覆蓋sRGB和CMYK(印刷常用的標準),如此一來拍攝出來的照片既可以在電腦上正確顯示和編輯,也能夠顏色無損地印刷出來。
對比色彩範圍,Adobe RGB則相當於95%NTSC。也就是説色域範圍NTSC最廣,Adobe RGB次之,sRGB相對最窄(我們可以通過上面兩張色度圖來直觀地看到它們的區別)。
由於各個色域之間並不是完全的包含和被包含的關係,所以如果在支持其中一種色域的設備上使用另一種色域的照片,這之間就需要進行轉換。目前安卓10系統普遍採用的是sRGB,而開頭的照片為Adobe RGB,部分手機因為在轉換計算的過程中發生BUG,就導致了這次悲劇事件發生。
目前已有反饋該BUG的手機廠商已經在加班加點修復,近期有接收到手機更新補丁的童鞋記得抓緊上車。誰也不確定下一張設置為壁紙的照片用的是不是Adobe RGB。
……
背脊有點發涼,隱約感覺身後有人,正準備……
“我靠,你不會是?”...“主編我錯了,我這就去擺地攤。”