看板 LCD作者 coldcolour (Ghost的呢喃)標題 Re: [求助] sony 50吋led電視接電腦看起來灰灰的時間 Tue Nov 5 18:15:36 2013
※ 引述《mrschiu (布萊恩的老婆)》之銘言:
雖然你的問題好像應該到Digitalhome問
不過這也算是顯示器透過HDMI接電腦常常會發生的狀況之一
還是回一下好了
首先先講一個基本觀念
影視內容 也就是指所有的電視節目 電影 BD/DVD等等
其製作時使用的色彩空間 還有黑階位準(black level 以下簡稱黑位)的定義範圍
跟電腦上所使用的是不一樣的
影視內容使用的是Y'CbCr 黑位範圍是16~235 也就是16為最黑 235為最白
這個一般我們會稱為Studio Level
當然如果在電視裡或播放軟體裡的設定選項看到
Limited Range/Studio Level/TV Level/標準/限制 這些的字眼
指的就是16~235這個黑位範圍
而電腦上使用的是RGB 黑位範圍是0~255 也就是0為最黑 255為最白
如果在電視裡或播放軟體裡的設定選項看到
Full Range/Extended Range/Computer Level/PC Level(RGB)/增強/全取
指的就是0~255這個黑位範圍
既然所有影視內容都是以16~235的黑位去製作的
因此基本上電視機跟影碟機都是以16~235做為其預設的支援標準
當然現在很多機種也是可以支援0~255
而在電腦上使用的是0~255的黑位
所有的電腦螢幕基本上都是使用0~255這個標準(但有HDMI輸入的電腦螢幕有些也會另外支
援16~235)
影碟機(BD/DVD) MOD 電視天線 接電視機 完全沒有問題
一路都是使用16~235的輸出範圍
電腦(桌面 圖片 網路等等內容) 接電腦螢幕 也完全沒有問題
一路都是使用0~255的輸出範圍
而當我們把原本製作目的不一樣的媒介跟裝置混在一起使用時
問題就產生了
兩種不同標準的媒介在一起使用時
是需要透過一些轉換的 否則就會產生黑位錯誤
而黑位錯誤最直接的影響就是畫面會泛白或黑不黑 白不白
我們來看看接電腦時有幾個環節會影響到最終輸出的黑位是否正確
第一 內容 影片是16~235 電腦桌面 照片 瀏覽器裡的圖片通通都是0~255
第二 播放軟體 直接輸出16~235 或是透過Y/C伸張後輸出0~255
第三 顯卡的輸出 透過HDMI輸出YCbCr or RGB ?
第四 顯示器本身的設定
這邊您可能有個疑問 為什麼平常接電腦螢幕時(D-SUB或DVI) 播放影片不會有問題?
很簡單 播放軟體會對16~235的影視內容做Y/C伸張 並且進行YUV→RGB的色域轉換
讓其變成0~255的RGB訊號給顯卡
然後顯卡輸出0~255的RGB訊號給電腦螢幕
電腦螢幕本身也接受0~255的黑位範圍 皆大歡喜
但是接HDMI時呢?
這邊就要特別提一下了
接D-SUB或DVI 輸出的黑位範圍一定都是0~255 而且一定是RGB訊號
因為這個標準是設計給電腦裝置使用
但HDMI就不一樣了
其本來是設計給影視裝置使用的標準
但是電腦也可以使用
HDMI既可以傳輸YCbCr訊號也可以傳輸RGB訊號
當其傳輸YCbCr訊號時 一定是16~235的黑位範圍
當其傳輸RGB訊號時 它容許傳輸0~255和16~235兩種黑位範圍
所以這讓整個問題複雜化起來
但其實罪魁禍首並不在它身上
說到底是為了適應兩種不一樣的顯示裝置才採取了這樣的做法
再來我們看看顯卡
接D-SUB或DVI 不用說也一定是輸出0~255的RGB訊號
那接HDMI呢?
這邊不同家的顯卡似乎還會有不同的結果
以A卡來說 接HDMI的話預設還是輸出0~255的RGB訊號
但是也可以自行選擇輸出RGB 16~235訊號或是YCbCr
(還有4:2:2和4:4:4的差別 這個一樣要看顯示裝置的支援度
再講下去可以另發一篇了 此處就先不提)
I內顯接HDMI預設是會輸出16~235 RGB
N卡接HDMI預設也是會輸出16~235 RGB 不過可以改成輸出0~255 RGB
(需要透過一些hacking工具去覆寫驅動設定)
(我自己沒I跟N卡 有誤請指正)
所以這就是為什麼有時會建議同時有HDMI或DVI輸入的"電腦螢幕"
還是以接DVI為首選 因為你可能不知道接HDMI時顯卡輸出了什麼訊號
而螢幕本身接受HDMI輸入時又設定成接受哪個黑位範圍的訊號
當接電腦螢幕時 我們會希望顯卡輸出0~255 電腦螢幕黑位也是0~255
但接HDMI的場合 也可能出現另外三種組合
顯卡輸出16~235 螢幕黑位0~255 這邊就錯了 畫面可能泛白
顯卡輸出0~255 螢幕黑位16~235 這邊也錯了
顯卡輸出16~235 螢幕黑位16~235 黑位是正確了
不過別忘了電腦上的內容本來都是0~255 這邊等於多讓電腦進行一次Y/C壓縮
而顯卡的壓縮演算並不是那麼好 可能會產生不必要的畫質損失
當接電視時 問題更複雜了 除了黑位外還有YCbCr和RGB的問題
當然我們儘量以輸出RGB為主 因為同樣讓顯卡做RGB→YCbCr的轉換是多一次損失
(雖然這個轉換可能在電視上再做一次 但有些電視是能接受RGB訊號的)
然後可以分成兩種情形來討論對策
第一種情形 電視本身支援0~255的黑位
當然如果電視有做D-sub或DVI輸入的話是一定支援的
而最近比較新的電視也很多都有支援
接HDMI的時候 可能電視上要做一些設定讓其能夠正確對應0~255
這個設定可能是在一些HDMI的相關選項裡 關鍵字就是我這篇文最上面提到的那些
或是所謂的"遊戲模式"或"PC模式"等等 都會讓電視接受0~255的黑位
然後接下來只要把顯卡設定成輸出0~255的RGB訊號就OK了
A卡CCC控制介面可以調整
N卡我不確定 不過確定有些小程式可以讓它強制輸出0~255
I內顯就不太確定接HDMI倒底能不能輸出0~255
而播放軟體通常預設就是會做Y/C伸張輸出0~255
因此這樣下來桌面 圖片 瀏覽器 影片等等黑位就都會正確了
第二種情形 電視本身不支援0~255黑位 只能接受16~235
這種情形有兩種對策
A對策 讓顯卡輸出16~235(limited range) 播放軟體還是預設
這樣一來 播放軟體輸出的訊號跟桌面 圖片 等等通通會被顯卡做壓縮成16~235
輸出 而能正確對應電視的黑位 當然會有一些畫質損失
B對策 讓顯卡一樣輸出0~255 但是播放軟體的設定改成輸出16~235(TV level)
也就是不做Y/C伸張 這時影片播放輸出的黑位會是正確的 且沒有畫質損失
但是桌面 圖片 程式等等其他的黑位通通都會不正確
另外這邊提供一個測試影片
http://www.mediafire.com/download/mjli5bzrz7yfb5b/lossless_colorbars_hd.mp4
如果右下角倒數第二個方塊看到一條黑槓 就是黑位對應正確
如果看到全黑或是三條黑槓就是對應錯誤
如果有定義錯誤或是觀念錯誤的地方 還請不吝指正 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.83.104
推 web2312:推教學文xd
另外補充在電腦上看一般有限範圍Rec.709的HD內容時,
所做的Y/C伸張(16~235->0~255)會導致灰階banding的產生,這時候會建議播放器使用madVR,因為madVR支援dithering輸出可以使伸張後的灰階正確的表現,而不會出現掉階現象.
或者使用mpc-hc時,將EVR-CP渲染器設定的"Half floating
point processing"打開,也可使EVR-CP以dithering輸出
~EVR-CP未開啟dithering
http://i.minus.com/ixXLTPD8kjyyF.png1F 11/05 20:37
→ web2312:這時候可以看到圖中的1(實際上為8-bit灰階下的0.5)
透過抖色方式保留了資訊,而非直接rounding至1
更正第二行推文 ~在"接受全範圍RGB的顯示裝置"上看一般..~20F 11/05 21:04
推 gn01160025:推教學 所以說電腦用HDMI輸出到電腦螢幕 要改ycbcr是因為電腦螢幕的HDMI是預設在(16~235)囉?
所以若是遇到這種情況用DVI輸出會比HDMI好嗎?
因為可以省下一次Y/C的轉換23F 11/05 22:39
→ coldcolour:1.不一定 2.HDMI也可以輸出0~255 RGB (設定正確的話)DVI是一定輸出0~255 RGB27F 11/05 22:49
推 s25g5d4:N跟I都可以設定0~255或16~235喔~ 驅動內就能改了31F 11/06 01:06
※ 編輯: coldcolour 來自: 114.32.83.104 (11/06 08:15)
推 vic81324:非本版相關事務,但有強人回覆保留文章一個禮拜後刪除32F 11/06 10:23
推 desamber:推 長知識!一般人應該都搞不清楚電腦螢幕跟電視的差別33F 11/06 12:43
※ coldcolour:轉錄至看板 Digitalhome 11/07 09:32
--