本文雖然是科普性質,但我也盡力用最直白最淺顯的語言來講述,務求讓每一個讀者都能看懂。如果你認為文中還有看不明白的地方,請在評論區告訴我。此外,因能力所限,本文必然有所疏漏,如有錯誤,請不留情面地為我指出,你的批評和支援都是我所需要的!
一,色深是什麼?
色深(Color depth或者colour depth)是指在點陣圖或影片幀緩衝區中用於表示單個畫素的顏色的位元數,或者是用於單個畫素的每個顏色分量的位元數[1]。
說人話就是:用來描述色彩豐富程度的引數。
色深越高,色彩數量就越多,所以顏色過渡越自然、絲滑,條紋狀的等高線(或者說「色彩斷層」)也越少。當色深足夠高的時候,顏色和顏色之間可以非常平滑地過渡。
具體來說,
色深為1bit表示只能顯示2^1=2個色階(後面我儘量不用專業術語),也就是指的是紅/綠/藍三者的任何一個原色都能被平均分成2份。以紅色舉例,一份是最暗的黑,一份是最亮的紅。
色深為2bit表示紅/綠/藍能被平均分成2^2=4份,這時候除了最亮和最暗,就會有中間的過度。
我以紅色為例繪製1bit-3bit的示意圖如下:
色深為8bit表示紅/綠/藍能被平均分成2^8=256份。
(圖我就不畫了)
色深為10bit表示紅/綠/藍能被平均分成2^10=1024份。
二,1670萬色彩數目和10億色彩數目指的是什麼?
1670萬色彩數目是8bit色深下能展示的顏色數量。剛才不是說8bit是256種嗎?為什麼又是1670萬個顏色數量?
答案很簡單,所有顏色都由紅/綠/藍組成,既然紅/綠/藍各自有256種,他們的排列組合就有256*256*256=16,777,216種,也就是所謂的“1670萬色彩數量”。
同理,10bit則是1024*1024*1024=1,073,741,824,也就是“10億色彩數量”。
三,色深和色域有什麼關係?
二者無關,色域描述的是色彩範圍,色深描述的是色彩數量。
如下圖,大的三角形是標準Adobe RGB色域,小的是標準sRGB色域,Adobe RGB中有很多顏色是sRGB裡沒有的,尤其是綠色部分。所以,Adobe RGB的色彩範圍更大。
而色深則和所有顏色可以被細分成多少份有關。顯然,無論Adobe RGB的範圍有多大,依然可以按照8bit對應的1670萬個顏色進行細分,只是細分後的每一部分面積都更大。
現在我來舉例說明。首先,把問題簡化,因為色座標是三個數值(紅綠藍)構成,太麻煩了,為了方面表述,我把問題簡化成只有一個數值,假設Adobe RGB色域的範圍0-1500(數值我隨便寫的),sRGB色域的範圍是0-1000,現在把他們都從高到低平均分成100份。在Adobe RGB色域中,每一份都是15;在sRGB色域中,每一份都是10。雖然每一份的大小不一樣,但是份數相同,也就是說Adobe RGB和sRGB的色深可以一樣,即色深和色域無關。
再深入一點,為什麼用Adobe RGB色域(或其他廣色域)顯示器來輸出sRGB影象的時候,會出現「過飽和問題」?
回到剛才的例子。現在系統收到資訊要在某個位置輸出顏色為30的色彩,因為系統是基於sRGB色域來構建的,30在上文假設的sRGB範圍(0-120)中為第三份,於是系統讓顯示器輸出第三份的色彩。顯示器聽從系統的指令輸出了它自己的第三份顏色,但這臺顯示器並不是sRGB色域的,而是Adobe RGB色域,它的第三份並不是30,而是45。所以,當它嚴格執行系統指令輸出第二份色彩時,過飽和問題就產生了!
(似乎已經越扯越遠了,明明講色深,為什麼說到了色域和過飽和問題?)
繼續扯遠,那麼,如何讓廣色域顯示器輸出正確的色彩,避免過飽和呢?答案是透過ICC色彩管理檔案(或者叫ICM,其實是一回事),告訴系統:現在顯示器換了,你想要30的色彩,不能再讓顯示器輸出第三份顏色,第二份是45,你應該讓它輸出第二份顏色。
顯示器大廠會對自家的部分型號提供驅動,驅動其實就是一個ICC檔案,安裝驅動後顯示器就能在支援色彩管理的應用中正確顯示器廣色域了!不過,大部分顯示器並官方驅動,廠家也沒有提供ICC檔案。這個時候就需要使用者透過校色儀來自己建立ICC檔案,比如我自己就用紅蜘蛛來製作ICC檔案,校色儀做出來的ICC除了能夠應對過飽和問題,還能大幅度改善顯示器的色準、色溫和伽馬值。(建議雙11折扣的時候買,目前太貴了)
那ICC檔案就能解決色彩過飽和了嗎?
並不是,因為大部分應用程式,比如windows系統桌面和QQ、微信等,都不支援色彩管理。雖然ICC牛逼,但是他們並不會用ICC,所以,該過飽和還是過飽和。
四,抖10bit是什麼意思?
抖10bit,又叫8bit+FRC。就是8bit透過FRC技術來模擬出10bit的效果。FRC (Frame Rate Control),中文名可能叫幀率控制,這是一種時間性抖動的形式,它在每一個新的幀中在不同的色階之間迴圈,以模擬一箇中間色階[2]。
簡單來說,假如某顯示器只能顯示0、2、4、6這4種顏色,現在想要顯示出3,應該怎麼辦呢?顯示器就會快速地在2和4之間來回快速切換或者說抖動,把2和4混合在一起,從而獲得3。如果想要2.5怎麼辦呢?一樣是2和4抖動,但是可以讓2出現的頻率多一點而4少一點,只要2出現的頻率是4的三倍即可,即那(2*3+4*1)/4=2.5。
更形象的舉例是混合顏料,假如我只有黑色和白色,怎麼弄出灰色呢?只要把黑和白混在一起就行,那我想要灰色淺一點應該怎麼辦呢?只要增加白色的比例或者減少黑色的比例就行。
透過FRC,能把8bit顯示器抖成10bit,其效果和10bit是非常接近的。這種高頻的抖動並不能為人眼察覺到,不會傷眼,也不會造成顏色錯亂。
因為人眼的分辨能力有限,在人眼看來,8bit和10bit本身差距並不大,10bit和100bit的差距則更小。所以,8bit+FRC和原生10bit的差異也非常非常不明顯。因而,沒有必要追求原生10bit的顯示器,除非預算實在太充足。
但是,6bit和8bit的差距過大,6抖8bit和原生8bit的區別也能為肉眼所捕捉,這就使得原生8bit顯示器要比6bit+FRC的顯示器強很多很多。現在除了幾百塊錢的低端顯示器以外,基本上所有顯示器都至少是原生8bit。
原生10bit的顯示器非常非常貴,網傳PA329CV、PG27UQ為原生10bit,前段時間我特意嫖來了這兩個顯示器,實測發現,他們都是8bit+FRC。如果他們是原生10bit的話,價格應該要貴上一兩萬才對。
此外,displayspecification網站上關於色深的資料經常出錯,這個網站總是會把一些8bit+FRC的顯示器寫成10bit。這是錯的,不要信,不要信,不要信!
螢幕網也有錯誤,但是比displayspecification靠譜很多。
每當有人在我文章的評論區指出某某顯示器不是原生10bit的時候,我都懶得反駁,這些兩三千、三四千塊錢的東西,怎麼可能是原生10bit?
五,什麼時候需要10bit?
需要說明的是,這一章節說的10bit指的是「SDR 10bit」而不是「HDR 10bit」,SDR就是正常顯示模式而非HDR模式。SDR下10bit的意義遠大於HDR下的10bit,畢竟大部分時候我們用的都不是HDR模式。此外,我認為8bit+FRC也算「支援10bit」。
1.攝影設計
一款用於攝影設計的顯示器需要支援10bit。儘管大多數軟體並不支援10bit,但是Adobe等設計軟體對10bit都有極好的支援性。利用Photoshop修圖的話,有時候能看出8bit和10bit的巨大差異,尤其是在處理有大面積光暈或者大範圍色彩漸變的影象(比如藍天)時。8bit和10bit的巨大差異就能得到體現。
可以說,對於一個專業或者半專業的設計師而言,一款支援10bit色深的顯示器的顯示器是必備的。
2.影視設計
我對這個領域並不瞭解,但是製作10bit影片顯然也要用到10bit顯示器。
3.大型單機遊戲
一些畫質極好的新款大型單機可以支援10bit (別問我具體是哪款,我也不知道),而且支援10bit的遊戲會越來越多。如果你想要購買一臺遊戲體驗極好的顯示器,10bit支援也是必須的。
因此,凡是不能支援10bit的遊戲顯示器,我都要給它適當扣點分。
4. 某些專業工程軟體
我也不知道具體是啥,可能一些對畫面精細程度要求特別高的軟體會需要10bit吧。
除此以外,10bit並沒有意義,10bit色深並不會讓風暴英雄遊戲的色彩提高一丁點,因為這個遊戲本來就只能顯示8bit,10bit也不會對辦公、上網、普通電影有任何幫助。
* PS5等遊戲主機
遊戲主機一般是在HDR下玩遊戲,HDR下 10bit非常容易實現,但是隻在HDR應用中有效,它不同於SDR 10bit。下一章我會討論SDR 10bit和HDR 10bit。
六,SDR 10bit和HDR 10bit
很多不支援抖10bit的顯示器,比如SANC G7,開啟HDR後都能支援10bit。但是,這意味著他們只在HDR應用程式中才能輸出10bit影象訊號,在普通的SDR應用程式中依然是8bit。對於這種顯示器,我依然認為它是「不支援10bit」。
我們需要的是SDR下的10bit,像Photoshop等大部分支援10bit的軟體,都不屬於HDR應用程式,因而HDR下的10bit,實際上沒有太大作用,只在HDR遊戲/HDR電影中有點價值。
如何檢測我的顯示器能否輸出SDR 10bit影象?
首先在顯示卡控制面板中的「更改解析度」選項裡開啟10bit。我這臺華為MateView GT,無法選擇10bpc色彩深度,因為DP1.2的頻寬不足以支撐滿解析度165Hz 10bit,需要把重新整理率降低到120Hz,點應用後然後才能看到10bpc色彩深度的選項。
PS:如果你的筆記本沒有獨顯直連,你是找不到「更改解析度」這個選項的。
Photoshop 2020/2021都行,選擇編輯-首選項-效能-高階設定,勾選30位設定,然後關閉Photoshop。
開啟燒屏網的灰色測試圖,下載連結:https://pan.baidu.com/s/152aQymmPBSUzxIHjcXKxLQ
提取碼:yzxh
如果看到的圖片中沒有明顯的色彩斷層,說明可以10bit。
如何檢測我的顯示器能否輸出HDR 10bit影象?
首先在系統和顯示器OSD設定裡都開啟HDR,微軟商店下載VESA DisplayHDR軟體。開啟軟體,用鍵盤十字鍵的↓和PageDown翻到「7. Bit-Depth/Precision」。
這個測試中,最下面一行就是10bit影象,如果你的顯示器能夠顯示HDR 10bit影象,那最後一行是平滑無斷層的,如果有斷層,就是無法HDR 10bit。
七,HDR和10bit色深
HDR和10bit色深並不是相互繫結的,但是10bit對HDR的意義非凡。
在電影、影片的拍攝和製作中,HDR高色深(10Bit)是剛需。雖然播放端(電視/顯示器)的高色深並不是絕對的剛性需求,例如HDR400標準就不要求高色深。但是在拍攝端卻需要高色深的支援。這裡我們用影片拍攝時必須使用的德塔顏色(datacolor)的色卡來進行舉例,
色卡主要分為兩個區域,黃色框的亮度標定區域和藍色框的色彩標定區域。為了簡單我們只討論亮度的變化對於色深的需求。
如果是拍攝SDR的影片,那麼我們只需要覆蓋自然界中的一部分亮度區間,比如色卡中間的一部分亮度區間,這時候只需要三個色階就能有效覆蓋。但是如果HDR還是用低色深,同樣的三個色階就需要覆蓋更廣的範圍,這時候就會損失中間的一部分過度色階,於是就會出現大家常說的色彩斷層問題。
解決的辦法其實非常簡單,只要HDR使用了高色深就可以保證又廣闊又順滑的過度了。大家經常在電影的拍攝中會見到這種彩色的卡片,它的作用其實就是標定亮度範圍和顏色的準確度。
八,筆記本和SDR 10bit
筆記本輸出SDR 10bit的條件是獨顯直連 ,核顯無法輸出SDR 10bit影象
因此,大部分(99%以上)筆記本並不能實現SDR 10bit。要知道,雖然很多筆記本有獨顯,但是他們都是透過核顯輸出影片訊號,獨顯只負責計算工作,因而筆記本內建螢幕上還是隻能8bit。只有帶獨顯直連的筆記本才能實現SDR下的10bit影象輸出,雖然輸出SDR 10bit影象還需要顯示卡本身支援(太老的不行),但是目前市面上所有帶獨顯直連的筆記本都至少有一個能支援10bit的顯示卡。
不少筆記本在桌面右鍵的顯示設定裡,寫著10位色深,但是實際上他們依然只能輸出8bit影象。比如下面的華碩無畏Pro14,寫的是10位色深,實際上依然只有8bit。此外,顯示卡控制面板裡可以調到10bit不代表顯示器能顯示10bit影象(比如微星PAG272QR,控制面板裡能調到10bit,但是依然只能顯示8bit影象),能否10bit還是要以本文第六章提到的測試為準。
★只有極少數支援內屏獨顯直連的筆記本能夠在內屏上輸出SDR下的10bit影象。
★不支援內屏獨顯直連,但是外接顯示器後可以獨顯直連的筆記本能夠在外接顯示器上實現SDR 10bit影象輸出。
★外接顯示器也不能獨顯直連,或者壓根沒有獨顯的筆記本,不可能實現SDR 10bit影象輸出。
九,筆記本和HDR 10bit
現在的AMD和Intel核顯都可以輸出HDR 10bit影象,所以核顯本子和沒有獨顯直連的本子也可以正常看HDR電影和玩HDR遊戲。但是。如果筆記本內屏不支援HDR,那這個筆記本在不借助外接顯示器的情況下,就徹底和10bit無緣。比如華為MateBook 16。
核顯輸出HDR 10bit影象的條件如下:
★內屏支援HDR,如果不支援就得外接支援HDR的顯示器
★筆記本有DP1.4或者HDMI 2.0/2.1
沒有DP1.4或者HDMI 2.0/2.1就無法開啟HDR效果,所以也不存在外接顯示器後輸出10bit HDR的可能性。現在很多筆記本都帶有雷電4介面了,一般都支援DP1.4協議,可以透過typeC轉DP來獲得DP1.4介面。部分搭載RTX3050(及更高型號)顯示卡的遊戲本,可以支援HDMI 2.1,當然,也有很多廠家為了省錢強行把HDMI 2.1縮掉了,比如紅米G 3050和3060版本。
其中,HDMI 2.0的頻寬不足以支援“4K 60Hz 色彩無損的HDR”,只能要麼損失色深,變成“8位遞色”,也就是無法抖到10bit,要麼損失顏色格式(或者說色彩取樣),從完全取樣的無損RGB或者444變成422或者420。
不過,我更換了桌上型電腦來測試,顯示卡為RTX3060(HDMI2.1),顯示器輸入端接的是HDMI 2.0介面,發現可以4K 60Hz 無損HDR。
十,HDR、色深和介面(DP1.2、DP1.4、HDMI2.1)
上面提到,DP1.4和HDMI 2.1是開啟HDR的條件,那麼,只有DP1.2介面的顯示器就無法開啟HDR嗎?
非也!只要顯示卡有DP1.4或者HDMI 2.1即可輸出HDR影象訊號,顯示器本身有麼有DP1.4/HDMI2.1並不重要,顯示器只要有DP1.2就能開啟HDR,當然,前提是顯示器本身必須支援HDR。
不少遊戲顯示器為了省錢,都會使用DP1.2介面,DP1.2雖然也能HDR,但是因為頻寬限制,無法支援高解析度高重新整理率高色深的影象訊號輸入。解析度、重新整理率、色深、色彩取樣(444,422,420這些)都會需要佔用頻寬,頻寬不足會導致這四個引數無法跑滿,相當於道路太窄,車流量太大無法通行。
具體來說,在RGB或者YCBCR444即完全的色彩取樣下,
(完全取樣即不存在色彩損失。以後再具體說YCBCR444無損取樣和422、420有損取樣的區別)
DP1.2可以2K 170Hz 8bit,但是如果想要10bit色深,就只能2K 120Hz。
DP1.4可以2K 170Hz 10bit,4K 144Hz 8bit;但是隻能4K 120Hz 10bit,支援HDR。
HDMI 2.0可以2K 144Hz 8bit,4K 60Hz 8bit;2K 100Hz 10bit,4K 50Hz 10bit,支援HDR。
HDMI 2.1可以4K 144Hz 10bit,支援HDR。
不過,實際上,你會發現高階顯示器接HDMI 2.1只能4K 120Hz 10bit,但是接DP1.4可以4K 144Hz 10bit。這是為啥呢?這是由於顯示器自身設定限制或者HDMI 2.1介面不滿血,而高階顯示器帶有DSC(Display Stream Compression,顯示流壓縮技術),可以讓DP1.4實現4K 144Hz 10bit輸出[3]。DSC是先讓從顯示卡處出來的資料壓縮,壓縮後透過DP線後到達顯示器,再解壓縮。
請務必注意,想要擁有DP1.4的頻寬,顯示卡和顯示器本身都需要支援DP1.4協議才行,HDMI 2.1也是同理。這和HDR不同,HDR是隻要顯示卡有DP1.4顯示器有DP1.2就行。
NVIDIA從GTX10系顯示卡開始支援原生DP1.4和HDR,從RTX30系開始支援原生HDMI 2.1,從RTX20系顯示卡開始支援DSC技術;AMD則是RX400系顯示卡開始支援原生DP1.4和HDR,從RX6000系開始支援原生HDMI 2.1,目前沒有DSC支援。
常見問題
-我應該買支援(抖)10bit的顯示器嗎?
如果你沒有與10bit相關的需求,可以不買。據我所知,吃雞、CSGO等遊戲都無法支援10bit,10bit對日常上網辦公娛樂也無用。
如果你有攝影設計等相關需求,10bit顯示器是必須的。
-我在網上、瀏覽器裡或者微信中看到的圖是幾bit?
6bit或者8bit,不可能是10bit。
-我的顯示器無法抖10bit,有辦法讓它實現抖10bit嗎?
有,換個顯示器。
-我的顯示卡是GTX970,有辦法讓它支援HDR和10bit輸出嗎?
有,換個顯示卡。
-Macbook Air/Pro是幾bit?幾萬塊的Apple Pro Display XDR是原生10bit嗎?
Macbook Air和Pro都是原生8bit,無法抖10bit。iMac是抖10bit。
Pro Display XDR雖然貴,但依然是抖10bit。
-DP1.4顯示器需要搭配DP1.4線材嗎?HDMI2.1的電視需要HDMI 2.1線嗎?
線本身不分版本,10元的DP線基本也能支援DP1.4,10元的HDMI線也有可能支援HDMI 2.1。之後我會寫一個線材測試,測試已經做過了,結論就是部分10幾元的HDMI/DP線一樣能用,高階線只在距離足夠長的時候和便宜的線有區別。
-原生10bit顯示器一定比抖10bit顯示器好嗎?
不一定,還要看具體的顯示器型號。Rtings說原生10bit的色彩過渡也可能不如抖10bit的顯示器[4]。
-本文為啥沒有提到表妹?
表妹去準備事業編考試了,近期不會出現。
下一期預告,為什麼色溫要用K表示?6500K這個數值到底表示什麼?
下下期預告,響應速度和輸入延遲的異同。
參考
- ^https://en.wikipedia.org/wiki/Color_depth
- ^https://en.wikipedia.org/wiki/Frame_rate_control
- ^https://vesa.org/vesa-display-compression-codecs/dsc/
- ^https://www.rtings.com/monitor/tests/picture-quality/gradients