今天小編分享的科技經驗:告别“灰蒙蒙”的螢幕截圖,Android 16 将支持真 HDR 截圖功能,歡迎閱讀。
IT 之家 2 月 21 日消息,随着 HDR(高動态範圍)内容的日益普及,用戶對在安卓設備上截取 HDR 截圖的需求也逐漸增加。此前,由于大多數内容仍以标準動态範圍(SDR)形式呈現,安卓系統并未支持 HDR 截圖。然而,如今 HDR 内容的流行使得用戶在截取包含 HDR 元素的螢幕時,希望能夠保留其原有的色彩和亮度細節。令人欣喜的是,谷歌在即将發布的安卓 16 中終于加入了對 HDR 截圖的支持。
HDR,即高動态範圍,是指影像或視頻具有比标準動态範圍(SDR)内容更廣泛的亮度和色彩範圍。HDR 能夠呈現出更逼真的視覺效果,包括更明亮的高光、更深的陰影以及更豐富的細節,使影像看起來更加接近真實世界。為了顯示 HDR 内容,設備需要配備支持更廣色網域的 HDR 顯示屏,而非僅限于相對狹窄的 sRGB 标準。盡管部分現代安卓手機和平板電腦已配備 HDR 顯示屏,但目前大多數内容仍以 SDR 格式存在。
此前,即使在支持 HDR 顯示的設備上截取 HDR 内容的截圖,這些截圖也會以 SDR 格式保存。這是因為安卓系統在編碼截圖影像時,并未保留 HDR 内容的額外色彩信息,導致 HDR 截圖中的高光部分顯得較暗。
據 IT 之家了解,在安卓 13 引入端到端 HDR 視頻支持後,谷歌不得不更新安卓的截圖算法,以使截圖盡可能接近螢幕上的内容。然而,由于截圖仍然以 SDR 格式保存,HDR 截圖中的 HDR 區網域會顯得較暗,而 SDR 内容則會顯得與 HDR 内容同樣明亮,未能完全反映真實觀感。安卓 14 進一步引入了對 HDR 影像(即超高清 HDR)的支持,但由于 HDR 影像通常在 SDR 應用界面中顯示,谷歌不得不設計一種方法,将 SDR 界面和 HDR 影像編碼到單個 SDR 截圖中。為實現這一點,谷歌選擇提亮應用界面并裁剪 HDR 高光,但這也導致截圖無法真實還原用戶所看到的内容。
到了安卓 15 QPR1,系統引入了一種用于 HDR 截圖的局部色調映射算法。該算法既能保留界面顏色,又能防止 HDR 高光被裁剪,顯著提升了 HDR 截圖的效果。盡管如此,截圖仍然是 SDR 格式,在 HDR 顯示屏上無法完全展現 HDR 的視覺衝擊力。
最終,在安卓 16 中,谷歌實現了對真正 HDR 截圖的支持。在安卓 16 Beta 2 中,Android Authority 發現 HDR 内容的截圖被保存為 HDR 格式。當在 Pixel 手機的照片應用中查看這些截圖時,螢幕會因 HDR 高光的突出而變亮。Android Authority 将 Pixel 7 Pro 更新至安卓 16 Beta 2 前後分别截取了同一 HDR 影像的截圖進行對比。結果顯示,更新前的截圖為 SDR 格式,而更新後的截圖則為 HDR 格式。
通過對安卓源代碼的深入分析,發現在 SurfaceFlinger(安卓螢幕渲染中的關鍵系統服務)中多次提及 " 真正 HDR 截圖 " 功能。啟用該功能後,HDR 内容可以無色調映射地進行截圖。
顯示分析師 Dylan Raga 和 GitHub 用戶 ledoge 檢查了安卓 16 生成的 HDR 截圖,并确認這些截圖是嵌入了 HDR 增益圖(gainmap)的 PNG 檔案。大多數常規工具無法檢測到這些增益圖,但通過專業的 PNG 檢查器可以發現它們。正是這些增益圖使得截圖在安卓 16 設備上以 HDR 形式顯示,而在其他設備上則以 SDR 形式顯示。
目前尚不清楚谷歌為何選擇 PNG 格式用于 HDR 截圖,而不是支持 Ultra HDR 的 JPEG 格式。或許是希望避免 JPEG 壓縮可能帶來的偽影,尤其是在裁剪截圖時。