科普向:電視和顯示器到底用RGB還是YCBCR?
你看到的并不是所謂“真實(shí)”,就如你看到的紫色就只是你大腦的腦補(bǔ),從來(lái)沒(méi)有被視網(wǎng)膜接收過(guò)。
人眼視網(wǎng)膜的長(zhǎng)中短波視錐細(xì)胞工作方式更像RGB,而人的神經(jīng)元傳遞工作方式更像YCBCR。
人眼中單色的視桿細(xì)胞比視錐細(xì)胞多了18倍,視桿細(xì)胞就像低ios的單色傳感器。也就是說(shuō)人對(duì)亮度的敏感度遠(yuǎn)遠(yuǎn)超過(guò)對(duì)顏色的敏感度。
計(jì)算機(jī)里常用的8bit RGB編碼雖然理論上有1677萬(wàn)色,但人實(shí)際能分辨的顏色數(shù)其實(shí)也就1000w種左右,也就是會(huì)造成很大數(shù)據(jù)帶寬浪費(fèi)。
單純的拿換算公式計(jì)算,如果一個(gè)8bit RGB數(shù)據(jù)轉(zhuǎn)換成8bit YCBCR然后再轉(zhuǎn)換回8bit RGB那確實(shí)會(huì)因?yàn)榫仃囆?shù)不整除而導(dǎo)致有損的失真,也可以理解成有效數(shù)字變少。也就是拿純理論計(jì)算的確是YCBCR需要高大概2bit才能產(chǎn)生出RGB編碼的總數(shù)。會(huì)得出所謂的8bit RGB=10bit YCBCR看起來(lái)一樣的錯(cuò)誤結(jié)論。
但是純理論完全脫離了現(xiàn)實(shí),也就是說(shuō)RGB理論上多出來(lái)的顏色數(shù)其實(shí)從來(lái)就沒(méi)存在過(guò)。因?yàn)橐曨l原始素材的就是YUV的而不是RGB的,換句話說(shuō)RGB所謂的多的那些數(shù)量壓根就沒(méi)用,因?yàn)榧词褂昧四阋部床怀鰜?lái)。
顯示器面板最后是要轉(zhuǎn)化成RGB工作的,也就是說(shuō)你顯卡用RGB那就是YUV轉(zhuǎn)RGB,你顯卡用YCBCR其實(shí)也一樣是YUV轉(zhuǎn)RGB,如果同樣是444都是無(wú)損的。
8bit如果你理解了,那么10bit也是一樣的情況。只不過(guò)3個(gè)通道從256x256x256階變成了1024x1024x1024階。
10bit和12bit的YUV信號(hào)一般都不是444,多數(shù)都是422或者420的,你可以理解成一個(gè)4K的黑白清晰度混合一個(gè)1080P的彩色清晰度。
如果你的顯示設(shè)備使用10bit RGB或者10bit YCBCR那么都是無(wú)損的。但問(wèn)題的關(guān)鍵點(diǎn)在于4K再往上的數(shù)據(jù)量太大了,也就是可能會(huì)遇到接口帶寬不足的情況。所以在主流的hdmi2.0接口下其實(shí)是不能用10bit RGB的,因?yàn)樵斐闪颂鄮捓速M(fèi),用了也看不出區(qū)別。這時(shí)候你可能要說(shuō)了,那不是有hdmi2.1嗎,之所以那么多4K的電視和顯示器在4K 120HZ下會(huì)出現(xiàn)字體模糊的情況其實(shí)就是設(shè)備的圖像芯片壓縮的產(chǎn)物。電視和顯示器的圖像芯片要額外計(jì)算很多的效果,還有陣列背光。沒(méi)人愿意在沒(méi)用的地方浪費(fèi)帶寬。
數(shù)據(jù)壓縮無(wú)處不在,很多的顯示器最大帶寬模式芯片都會(huì)壓縮的,電視的處理芯片也會(huì)壓縮。甚至顯卡本身和軟件的編碼也存在壓縮。單純從編碼角度講YCBCR要比RGB先進(jìn),因?yàn)閅CBCR可以兼容黑白,同時(shí)也能近乎“無(wú)損"的壓縮圖像,因?yàn)榭梢詥为?dú)分離亮度信息而只壓縮顏色信息,你就算是寫(xiě)輪眼也很難出區(qū)別,近乎可以“無(wú)損”節(jié)約一半帶寬。而RGB編碼壓縮就一定是有損的,可以很明顯就能看出失真。
有UP主專(zhuān)門(mén)做過(guò)RGB和YCBCR 4:2:2/4:2:0的對(duì)比,這還不是對(duì)比的YCBCR4:4:4。
https://www.youtube.com/watch?v=FeQRsQQ-JbA
HDMI - RGB vs YCbCr 4:2:2 / 4:2:0 - It Really Doesn't Matter !
但是8bit和10bit的區(qū)別就天地之差了,因?yàn)?0bit的亮度信號(hào)的細(xì)膩程度遠(yuǎn)遠(yuǎn)超過(guò)8bit。也就是說(shuō)一個(gè)10bit YCBCR 4:2:2的顯示設(shè)備看8bit YUV是無(wú)損的,看10bit YUV也是無(wú)損的。但是一個(gè)8bit RGB 4:4:4顯示設(shè)備看一個(gè)8bit YUV是無(wú)損的,但是看一個(gè)10bit YUV就是有損的。
其實(shí)都不用這么復(fù)雜,如果你有10bit的顯示設(shè)備。就簡(jiǎn)單的對(duì)比下windows桌面的藍(lán)色經(jīng)典徽標(biāo)桌面壁紙。10bit 無(wú)論RGB還是YCBCR都沒(méi)有顏色斷層;但是你拿8bit的面板去看,就滿屏的顏色過(guò)渡斷層。
既然YCBCR節(jié)省帶寬,為什么PC上大多用RGB?因?yàn)殡娔X不只是個(gè)娛樂(lè)設(shè)備,這東西本身就是個(gè)生產(chǎn)力工具。很多的生產(chǎn)端軟件是用RGB的,而且顯示器的DP接口一般都沒(méi)有帶寬限制。也就是8bit的和10bit顯示器大多都能直接使用RGB 4:4:4,所以就沒(méi)有必要去使用可能二次轉(zhuǎn)換有損的YCBCR了。真正干活的繪圖顯示器基本都是60HZ的,壓根沒(méi)有帶寬問(wèn)題(其實(shí)更準(zhǔn)確的說(shuō)就是因?yàn)橛袔拞?wèn)題所以才都是60HZ)。
【【科普】4:2:0 4:2:2 色彩抽樣?8bit 10bit 色彩深度?YCbCr編碼?| 詳解色度采樣 Chroma Subsampling 與色覺(jué)淵源】 https://www.bilibili.com/video/BV13z411B7U2/?share_source=copy_web&vd_source=035a0d06f5c4d55ff084927bc36f2bfd
這個(gè)視頻可以幫助你簡(jiǎn)單理解為什么摳圖的要使用10bit的專(zhuān)業(yè)顯示器而且必須用RGB。
但是對(duì)于大眾的消費(fèi)端就完全不同,高刷新率設(shè)備比比皆是。所以在顯卡、hdmi接口、顯示設(shè)備這三者任何一個(gè)在帶寬瓶頸的情況下,真10bit以上設(shè)備都是優(yōu)先使用高bit的YCBCR4:2:2/4:2:0要比8bit的RGB4:4:4要好(你能用10bitRGB依然可以用RGB)。尤其在你能接收HDR的電影和游戲信號(hào)的時(shí)候。很多的顯示設(shè)備內(nèi)部圖像芯片在你使用RGB或者YCBCR4:4:4的時(shí)候其實(shí)也會(huì)給你壓縮的,根本就不是你想的那樣編碼無(wú)損,他就真無(wú)損了。而8bit面板因?yàn)榛径紱](méi)有帶寬問(wèn)題,所以直接用RGB4:4:4就可以了。
“8bit RGB 4:4:4效果=10bit YCBCR 4:4:4效果”,但凡你用過(guò)一個(gè)真10bit面板看過(guò)一個(gè)HDR視頻都不可能說(shuō)出口的事,簡(jiǎn)直科普都是在浪費(fèi)時(shí)間。只要不是一個(gè)瞎子,是個(gè)人都能看出來(lái)巨大的區(qū)別。工程師費(fèi)那么大勁搞了個(gè)HDR,結(jié)果跟SDR效果一樣的?高質(zhì)量的HDR片源跟SDR相比就不是一個(gè)時(shí)代的產(chǎn)物,看過(guò)就再也回不去了。但是因?yàn)榇蟛糠秩说娘@示設(shè)備根本都不是10bit,國(guó)內(nèi)也沒(méi)太多的直播或者視頻分享HDR辦法,所以很多人以為HDR就只是多了2bit就只是亮了點(diǎn)而已。
這里再轉(zhuǎn)一個(gè)B站UP的PC端EDGE看HDR的方法,雖然B站的畫(huà)質(zhì)不是太好。但是這個(gè)可能是大多數(shù)國(guó)人能在擁有10bit顯示器為數(shù)不多能觀看HDR視頻的地方了。
【【保姆級(jí)教程】完美解鎖播放B站8K·HDR·杜比視界·杜比全景聲視頻PC教程】 https://www.bilibili.com/video/BV1P84y1t7s6/?share_source=copy_web&vd_source=035a0d06f5c4d55ff084927bc36f2bfd
另外很多的所謂顯卡顏色問(wèn)題其實(shí)都是nvidia的hdmi接口問(wèn)題,hdmi是電視該用的接口,PC使用DP能避免一大堆的灰階問(wèn)題。PC只要你能就用DP,別用hdmi。