上圖使用sRGB色域,下圖使用Display P3色域,在經校準且支援廣色域的顯示器,會呈現不同的顏色。

Google要開發者準備為Android應用程式加入廣色域照片的支援,Google提到,由於現在手機的螢幕面板以及相機可以捕捉到的色域,遠超過Android原本支援的sRGB色域,由於sRGB的每個色彩通道只有8位元,將不足以呈現廣色域照片。

現在市面上許多手機使用支援廣色域的校準顯示面板,再加上現代相機能夠捕捉sRGB色域以外的顏色,這兩者加在一起,將能為使用者提供端到端的攝影體驗,也就是說,開發者的應用程式將需要處理其ICC色彩特性文件不是sRGB的照片,像是Adobe RGB或是Display P3等比sRGB更廣的色域,採用這些色域的照片,將能更真實呈現實際環境的顏色。

同一張照片使用Display P3(左圖)和sRGB(右圖)色域,在有校準且支援廣色域的顯示器上,顏色呈現將有所不同。

Google提到,所謂應用程式準備好支援廣色域,代表著應用程式具有管理顏色的能力,在處理圖片時,應該主動檢查圖片的顏色空間,並且依據廣色域顯示能力進行轉換,因此即便裝置最終無法處理廣色域照片,但是仍然可以正確地顯示sRGB顏色,不會造成照片顏色失真。應用程式應該根據使用的API等級,採取對應的顏色校正API,開發者不應該總是假設圖片使用sRGB顏色空間,也不該在上傳圖片作為貼圖時,沒有經過必要的顏色轉換,而且在壓縮的時候,也不能忽略ICC色彩特性文件。

Google提供了圖片,供使用者測試顏色校正與廣色域,當應用程式有為照片進行顏色校正,則圖片顏色看起來會相當自然(左圖),而當應用程式沒有良好的處理顏色,放任顏色錯誤轉換,最終將導致圖片顏色不真實,像是(右圖)顏色褪色。

在廣色域測試上,當應用程式能夠支援廣色域圖像,則該應用程式在支援廣色域的Android裝置,像是Pixel 3或Samsung Galaxy S10,必須能夠顯示sRGB色彩空間之外的顏色。在裝置與應用程式都支援廣色域的情況下,(下圖)Android機器人應該顯示為紅色。

Google也提醒,對於維護圖像解碼與編碼的函式庫,開發者應該要為函式庫進行顏色校正測試,並且為了讓應用程式符合未來趨勢,在擴充管理顏色的API時,應採用ColorSpace參數,而非寫死的顏色空間。另外,還要修改所有舊版的API,在處理Bitmap時,將其解碼為sRGB顏色空間,Google提到,這樣將能為使用者提供向後相容性。

熱門新聞

Advertisement