家人們,不知道最近大家在微信群里有沒有刷到過這么一張巨邪門的表情包 ——
咱們差評編輯部八十個人的大群,這兩天直接被這張「熒光蛙」給淪陷了。。。
因為只要有人在群里甩出這么一張表情包,群里那幫用 iPhone 和 Mac 的同事們,就會看到表情包跟開了 LED 燈似的瘋狂自發光,亮度高得離譜,感覺下一秒屏幕都能當手電筒使,有一種亮瞎眼睛的美:
但特別神奇的是,那些用安卓手機的同事,就只能看到一張再普通不過的表情包:
然后群里就出現了這么一幕。。。( PS:同事之間沒有惡意,純屬編輯部日常聊天畫風~
說實話,一開始世超也挺納悶,好好的表情包咋就能自己發光了,難不成微信偷偷給蘋果埋了個彩蛋,區別對待安卓?
直到看到同事說,這玩意兒在 iPhone 上會觸發 HDR 效果,才突然反應過來 —— 合著微信里還藏著之前一直都沒被發現的 HDR 開關 「BUG」。
眾所周知,現在很多手機基本都支持上了 HDR,你在各大平臺比如微博,點開一個 HDR 視頻,這時候手機屏幕就會自動把視頻里高光部分比如燈牌、天空進行一個提亮,這么一來畫面看上去就會更加鮮活:
包括照片也是,如果你拍的是 HDR 格式的照片,那么在相冊里回看的時候,手機屏幕也會自動提亮高光部分。
然而盡管現在很多平臺都支持上了 HDR,但微信一直都是 HDR 絕緣體。
平時大家發 HDR 照片和視頻到微信,就算發送之前勾選了「原圖」,對方收到的也都是被轉換成普通 SDR 格式的版本,HDR 效果全給整沒了,是不是很小而美。。。( bushi
至于為啥這次的表情包就能突破限制,在 iPhone 和 Mac 上玩出 HDR 表情包花活,經過咱們編輯部以及那些懂技術的外援小伙伴們討論之后,我們猜測,其實問題可能就出在微信對表情包的處理上。
很多小伙伴可能不知道,咱們平時拍的照片、存的表情包,并不單純只是一張圖片,其實它們都偷偷攜帶著這么一份說明書 —— ICC 配置文件。
里面寫著「這張圖的白色該多亮」「黑色該多暗」「紅色是番茄紅還是草莓紅」等等之類的關鍵信息,有了這份說明書,不同設備才能看懂這張圖片,然后在當前設備上正確還原出這張圖片本來的樣子。
adobe 官網對于 ICC 配置文件的解釋:
可能是為了照顧到個人隱私,也可能是微信覺得根本沒必要保留這些信息,它在處理圖片時,會自動剝離或者忽略圖片的 ICC 配置文件,這就使得咱們平時通過微信發送的圖片,丟失了很多關鍵信息。
就像你微信發一張手機拍的照片到對面,對面收到照片并且下載到相冊后,根本沒法看到這張照片是在哪拍的,之前咱們還詳細聊過這事兒(傳送門)。
但在處理表情包時,可能是程序員漏了這茬,沒對表情包的 ICC 配置文件動手腳,結果就讓它鉆了空子,iPhone 通過 ICC 配置文件,了解到這玩意得用 HDR 模式顯示后,自然就觸發了屏幕 HDR 效果。
為了驗證這個猜想,世超先是把開頭那張表情包下載到本地,然后查看了下它的配置文件,果不其然,這個表情包使用的配置文件是 Rec.ITU-R BT.2100PQ 標準,不是我們平時常見的 sRGB IEC61966-2.1。
其中 sRGB IEC61966-2.1 絕對可以稱得上是最最最主流的版本,幾乎所有電腦、手機、打印機出廠都會默認支持這個標準,這也意味著,不管你用啥設備看,只要按這個標準來,顏色基本大差不差。
而開頭那張表情包使用的 Rec.ITU-R BT.2100PQ,根據國際電信聯盟給出的技術文檔顯示,它剛好就是一種針對 HDR 高動態范圍的標準,借助這標準,視頻和圖片就能在支持 HDR 的設備上顯示 HDR 效果。
其實不止是微信,你把這這張圖片發到 iPhone、Mac 上的飛書或者直接在系統文件管理里看,只要它的 ICC 配置文件沒被改動,我們照樣能看到 HDR 效果。
甚至把它傳到 Apple Watch 上,都能激發 HDR,就離譜。。。
搞明白原理之后,咱們編輯部小伙伴也嘗試著復現了下,試著自己做了幾個 HDR 表情包。
主要就是把圖片 ICC 配置文件統一改成 Rec.ITU-R BT.2100PQ,然后適當縮小圖片尺寸到幾十 KB,導出設置里勾選 " 嵌入顏色配置文件 ",接著把圖片添加到微信表情包,最后確實是在微信上復現了:
不過它這效果很不穩定,有些表情包只能在自己手機上看到 HDR 效果,發到群里別人看到的還是普通表情包。
我個人猜測啊,這其中應該還涉及到某些參數的調整,也可能跟微信對表情包的玄學壓縮機制有關系,這會兒網上也有博主試著用 Python 寫了個自動化程序,各位感興趣的差友也可以自己動手試試。
OK,搞清楚微信為啥能顯示 HDR 表情包后,我相信很多人都會好奇 ——
為啥只有 iPhone、Mac 這類蘋果設備能把表情包的 HDR 效果給顯示出來,安卓這邊咋就跟個沒事人似的?難道安卓手機都不支持 HDR?
其實不然,現在不少安卓旗艦機都支持 HDR10 甚至杜比視界,硬件條件其實并不差。
其中的問題可能出在 —— 安卓陣營各個廠商對 HDR 的支持標準和優化水平參差不齊。
換句話說,有的手機雖然硬件支持 HDR,但系統在顯示圖片時,不會主動讀取 ICC 配置文件里的信息,導致 HDR 效果無法觸發;還有的手機,則是只支持自家私有 HDR 標準,換成其他標準就不行了。
之前有人把 vivo 手機拍的 HDR 照片和實況照片,分享到 OPPO 或者小米手機上,發現照片到了這些手機上,自帶的 HDR 效果和實況效果就會失效,就是因為各家支持的 HDR 和實況標準不同導致的。
包括快充也是一樣,因為各家支持的快充協議不同,很多手機用的還是私有快充協議,所以用同個充電器給不同品牌手機充電,能實現的最大充電功率也有區別,對于這點,相信差友們早就見怪不怪了~
而蘋果很早開始就在自家產品上標榜生產力,雖然很多網友吐槽,它這生產力只對設計師、程序員和視頻博主等特定群體更友好。
但不可否認的是,從 Mac 到 iPad 再到 iPhone,蘋果全系設備確實很早就支持上了各類主流標準,并且統一了色彩管理體系,自帶的色彩管理引擎還能讓不同尺寸、不同亮度的屏幕,都按同一套標準顯示。
不過好在最近這兩年,各家手機廠商都陸續開始在系統層面統一 HDR 標準和實況照片標準,我們跨品牌分享照片的時候,也能保留該有的效果了,未來它們在色彩管理體系和標準上看齊蘋果也不是沒可能。
希望到了那個時候,微信還沒有修復這個蠻有意思的 「BUG」~
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。