瀏覽單個文章
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
以 DVD/VCD 的播放來說,讀出來的 YUV 4:2:0 包成 YV12 的格式,如果顯示卡有支援 YV12 的 FourCC Codec,播放時就會直接走 DirectDraw YV12 Overlay,直接丟 YV12 的資料給顯示卡處理,由顯示卡去做 YUV 4:2:0 展開(內插補點)-> YUV 4:2:2 -> YUV 4:4:4 -> RGB32,也就是色彩空間轉換的的工作。如果你的螢幕解析度大於影片原始解析度,顯示卡還要做 scaling,也就是放大畫面的動作,將影片的解析度放大到和你的螢幕的解析度相同,例如 640x480 -> 1024x768。(內插補點,補出不足的點)
所以顯示卡的 YUV 4:2:0 -> 4:4:4 內插補點的好壞第一個就影響 MPEG 的播放品質,如果顯示卡的 interpolating filter 不好,色彩補得不夠平滑,紅色的部分(人眼對紅色較藍色敏感,紅色不好特別容易看出)就會出現一格一格的鋸齒狀。
再來就是顯示卡的 scaling filter,放大補點的好壞,放大補點不好,畫面就容易出現鋸齒或是變得模糊不夠清晰。

YV12 是最多顯示卡支援的格式,傳輸的資料只有 YUV 4:2:0,比 RGB32 少很多,速度最快,所以大部分的軟體都用這種格式傳送資料。然而這種格式在遇到 interlaced 場線交錯的畫面的時候,會發生色度解碼錯誤的問題。這個問題說起來很複雜,再講個這篇文章又會太長,有興趣的人可以參考 DVD2AVI 作者 jackei 的網頁,有很詳細的說明,這個解碼錯誤的問題也是 jackei 大大撰寫 DVD2AVI 這個軟體的原因:
The decoding problem with interlaced frame of most software MPEG-2 decoders
http://arbor.ee.ntu.edu.tw/~jackei/dvd2avi/interlace/

另一種錯誤,發生在 progressive frame 上
http://www.hometheaterhifi.com/volu...bug-4-2001.html

這個問題說起來也太長,有機會我再解釋。

另一種常見的格式,就是 YUY2,也有許多顯示卡支援,PowerDVD 為了解決上述的交錯線色度解碼錯誤的問題,便是使用這種格式。YUY2 也就是 YUV 4:2:2 的一種包裝形式,播放時軟體會先自己做 YUV 4:2:0 -> YUV 4:2:2 的內插補點(upsampling),做好以後再將 YUV 4:2:2 包成 YUY2,走 DirectDraw YUY2 Overlay,直接丟資料給顯示卡,由顯示卡去做後續的 YUV 4:2:2 -> 4:4:4 -> RGB32 的工作。

由以上可知,顯示卡的 DirectDraw Overlay 有沒有啟動很重要,如果不使用 DirectDraw Overlay,而走傳統的 GDI(Graphic Display Interface)圖形顯示介面,顯示速度會很慢
1. 無法使用 DirectDraw 硬體加速,無法使用硬體的內插補點和色彩空間轉換,CPU 負擔非常重
2. 直接傳送 RGB32,資料量大。無法使用顯示卡的 scaling/interpolating filter,放大到全螢幕,會鋸齒方塊一格一格的非常難看。

現在大部分的顯示卡,即使在高解析度的時候,DirectDraw Overlay 還是會啟動,尤其是 ATI 的顯示卡,即使在超高解析度的時候還是可以啟動。
但是部分的顯示卡有一個限制,那就是影片的水平解析度必須能被 32 整除,這樣才能使用 DirectDraw Overlay。所以 GKnot 這個軟體的 resize 選項,水平部分有一個 32 Mod(能被 32 整除)的限制,就是這個原因。由上述可知,720 的水平解析度不能被 32 整除,所以會有無法啟動 DirectDraw Overlay 的危險,為了最大的相容性,製作的影片水平解析度最好是能夠被 32 整除。
附帶一提,垂直高度最好是能夠被 16 整除,因為 MPEG 壓縮是以 16x16 的巨方塊為單位壓縮,不是 16 的倍數的高度會製造壓縮困難,壓縮後可能會出現壓縮瑕疵。
最好是先做好 resize 再壓縮,不要以原始的解析度 720x576 壓縮,播放時才調整比例作即時 resize。
即時 resize 的效果無法和慢慢計算的高品質 resize 相比,畫質會比較差。本來是想保留較多的原始訊息,結果播放時的 resize 不好,反而得不償失。
舊 2003-01-02, 04:41 AM #196
回應時引用此文章
Shade離線中