OLED螢幕因其畫素自發光的特性,相比LCD屏色彩更鮮豔、低溫時也不會產生拖影,擁有更好的觀感,從而逐漸在中高階市場中流行並取代LCD的位置。

不過,OLED螢幕的流行也帶來了新的問題。為了保證色彩準確度,目前使用OLED螢幕的主流手機亮度降低到一定程度之後,會切換為低頻PWM調光,各家廠商的閾值不一,用另一臺手機開啟相機對著螢幕即可檢視到一道道黑色條紋的交替閃爍。

相對於高亮度下的DC調光,以及手機中罕見的高頻PWM調光,一些對於閃爍比較敏感的使用者面對低頻PWM調光的螢幕可能會感到不適。因此,各家廠商紛紛推出讓敏感使用者也可能舒適使用OLED螢幕手機的全程DC調光方案,具體方法有所不同,低亮度下的螢幕觀感也有所區別。

Redmi K20 Pro搭載的純硬體DC調光,是市面上所有DC調光中唯一不損失顯示資料,觀感最佳的方案。如果要詳細瞭解這種方案的優點,有必要先介紹DC和PWM兩種調光方法本身,以及市面上DC調光方案應用的手段區別。

DC與PWM:各自優劣均十分明顯

目前主流的顯示裝置,包括手機、膝上型電腦、顯示器在內,無論是傳統LCD面板還是OLED面板,調整顯示內容亮度的方式都可以歸為DC和PWM兩種。

其中,DC調光的手段比較傳統,即透過調整發光元件電壓或電流,也就是改變功率的方式來控制顯示亮度。主流LCD螢幕由於發光來自於面板背後的背光LED燈,工藝已經非常成熟,發光均勻性不難控制,因此全程DC調光並不影響LCD螢幕在各個亮度下的表現,顯示觀感更多取決於背光LED燈之前的液晶面板本身。

但DC調光遇到OLED面板則產生了問題。由於主流OLED面板的原理是通過幾百萬個RGB子畫素自發光形成影象,在現有的工藝條件下,幾乎不可能保證這幾百萬個畫素在所有亮度下的表現完全一致,從而導致色彩準確度降低,這種情況在亮度低的時候更加明顯。因此,為了保證OLED面板在一定亮度以下的觀感,才引入了PWM調光。

相對而言,PWM調光從原理上看更先進一些。它不會改變功率,而是透過控制發光元件在一定的頻率上交替閃爍,利用人眼的視覺殘留效應達到連續顯示的效果,需要低亮度則交替閃爍中熄屏時間更久,高亮度則亮屏時間更長。如果用另一臺手機開啟相機對PWM調光螢幕錄影,可以很明顯看到一道道黑色條紋的交替閃爍。由於PWM調光並不改變亮屏時的功率,因此可以有效提升低亮度下螢幕的顯示引數,如色彩及灰階準確度、色域覆蓋等。

PWM調光也有自己的劣勢。有研究發現,長期觀看低頻交替閃爍可能會給敏感人群造成不適,尤其是頻率在1000Hz以下的閃爍。目前手機的PWM調光多為240Hz,只有部分膝上型電腦和顯示器中可見數千甚至數萬Hz的PWM頻率。沒有閃爍的DC調光螢幕則不存在這個問題。

真科普!Redmi K20 Pro純硬體DC調光方案

DC調光(無閃爍條紋)和PWM調光(有閃爍條紋)的對比效果

因此,大多數廠商的OLED螢幕手機採用的是DC和PWM混合調光的方式。在中高亮度下采用DC調光防止閃爍,低亮度下采用PWM調光以獲得更好的觀感。但隨著人們每天使用手機的時間越來越長,低頻PWM給敏感人群造成的不適也時有報告,因此不少廠商都探索並推出了全程DC調光方案,在防止低亮度螢幕閃爍的同時,透過不同的手段來抑制螢幕顯示引數下降。

真科普!Redmi K20 Pro純硬體DC調光方案

目前OLED螢幕手機普遍採用的調光方式

市面類DC調光方案回顧 色彩資料均有丟失

在各廠商推出全程DC調光模式之前,就有一些防閃爍類的App提供類似的功能,原理是強制螢幕保持在最高亮度,顯示影象的亮度則透過GPU後期渲染來調整。缺點是螢幕亮度維持在最高和GPU後期渲染都需要消耗很多電量,同時由於螢幕本身亮度維持最高,系統內建的自動亮度功能也無法起作用,顯示的實時渲染影象也非常粗糙。

包括小米首發的純硬體DC調光方案在內,目前市面上全程DC調光實現的方法均是讓螢幕亮度降低到DC和PWM調光切換節點後維持不變,透過不同的手段調整顯示影象,使其符合設定的亮度。

真科普!Redmi K20 Pro純硬體DC調光方案

實現全程DC調光的方法

要深入瞭解這些方法的不同點,有必要簡單介紹Android手機顯示影象的過程及簡單的系統架構。

真科普!Redmi K20 Pro純硬體DC調光方案

以上是Google官方Android開發者社群提供的平臺架構圖,我們只需要知道其中的四個模組:從最接近使用者的頂層往下檢視,藍色的是App即應用程式,綠色的是Android Framework框架,然後跳過紫色和黃色是青色的HAL硬體抽象層,最後是最底層的Linux Kernel即核心。一個App顯示影象的過程如下圖所示:

真科普!Redmi K20 Pro純硬體DC調光方案

①Android應用把要顯示的圖形分解成一個個圖層,然後進行各個圖層的測量和繪製,將測量出的共24位紅(R)、綠(G)、藍(B),以及透明度(Alpha)四個分量訊號傳輸給Framework框架。

②Framework框架接收App傳輸的RGB和Alpha訊號,並進行各個圖層的渲染。

③待框架層渲染完畢後,再由HAL硬體抽象層根據RGB訊號和Alpha透明度,疊加圖層合成完整的影象,然後將合成後圖像的RGB數值轉交給Kernel核心。

④由Kernel核心呼叫SoC中的顯示處理模組進行色域對映、色彩增強等最佳化,處理後的資料傳輸給螢幕面板驅動晶片。

⑤由螢幕的驅動晶片進行處理開始在螢幕上繪製。

除小米首發的純硬體方案外,其他DC調光方案分別作用於顯示影象過程的不同階段,相比防閃爍類的App有著巨大進步,不僅相容自動亮度,影象質量也有大幅提升。不過它們的共同點都是最後傳輸給OLED螢幕驅動晶片的資料相比App繪製的資料更少,壓縮了灰階值。

真科普!Redmi K20 Pro純硬體DC調光方案

1、 蒙版+dither抖動,作用於顯示流程第②部分

這種方法相當於在人眼與螢幕之間疊加了一個半透明的蒙版,Framework在渲染圖層時會根據蒙版修改Alpha通道的透明度以壓縮灰階值。隨後從Framework傳輸至HAL層進行影象合成的色彩位數已經小於24位,低於原有色彩資料。然後在Kernel進行色域對映、色彩增強最佳化後加入dither抖動演算法,對小於24位的色彩進行補償。

真科普!Redmi K20 Pro純硬體DC調光方案

2、 PCC+dither抖動,作用於顯示流程第④部分

小米9開發版最早加入的DC調光方案就是採用PCC+dither的方式。在Kernel進行色域對映、色彩增強後呼叫高通PCC(Picture Color Calibration,影象色彩校正)硬體模組,壓縮輸出給螢幕資料的色彩位數,計算應該顯示的亮度,隨後同樣透過dither抖動演算法進行色彩補償。

真科普!Redmi K20 Pro純硬體DC調光方案

以上兩種演算法在低亮度下計算的色彩準確度比較依賴於DC/PWM切換臨界點時螢幕的Gamma值。如果螢幕原有的Gamma未經過矯正,色彩不準確的問題經過DC調光演算法方大後會更加明顯。

3、 Pixelworks第三方顯示晶片+dither抖動,同樣作用於顯示流程第④部分

黑鯊2採用的這種方案流程和PCC+dither抖動類似,不同點在於灰階壓縮由第三方Pixelworks顯示晶片和高通PCC硬體模組共同實現。相比單純的高通PCC模組處理,第三方Pixelworks晶片並不依賴螢幕在臨界點時的Gamma值,因此色彩準確度更佳,但引入第三方晶片也帶來了額外的成本和功耗。

三種方案都採用了dither抖動演算法,它可以改善由於色彩位數減少導致的影象過渡不均勻題,但模擬的色彩深度會導致解析度上的損失,螢幕上容易出現一個個“小麻點”或者“小方塊”,畢竟經過色彩有失真壓縮再模擬放大,計算得到的資料和原始色彩資料還是存在不小差異。未經色彩壓縮、色彩壓縮後和經dither處理後的對比效果示例如下,從左到右分別為色彩未壓縮、色彩壓縮後、色彩壓縮+dither抖動補償的效果:

真科普!Redmi K20 Pro純硬體DC調光方案

灰階無損 首發純硬體DC調光方案

相比前面介紹的三種資料有損方案,Redmi K20 Pro的純硬體DC調光傳輸給OLED面板驅動晶片的資料並未減少,灰階、色彩位數都保持原樣。同樣的,這種純硬體DC調光在螢幕亮度降低至DC/PWM切換臨界點後使其維持不變,透過整合在面板驅動晶片中的自研演算法,來調整顯示影象讓它符合設定的亮度。

由於傳輸給驅動晶片的資料沒有減少,純硬體DC調光方案並未引入dither抖動來補償色彩位數,也避免了dither抖動帶來的“小方塊”現象。透過一系列實拍對比,可以看出採用純硬體DC調光的Redmi K20 Pro色彩過渡效果更好,觀感更佳,罕見普通DC調光出現的過渡不均勻、解析度降低等現象。