瀏覽單個文章
rugner
*停權中*
 
rugner的大頭照
 

加入日期: Oct 2000
您的住址: 躺在美麗撫子的懷裡
文章: 10,113
引用:
Originally posted by LIBIDO

MPEG 是以 YUV 4:2:0 儲存,以上下兩行 2x2 個點為一個單位,四點共用一個 U 值和 V 值。解碼時解出 YUV 4:2:0 之後要展開 --> 4:2:2 --> 4:4:4 再轉成 RGB 最後輸出到螢幕上。
MPEG2 壓縮時可以以 frame 為單位壓縮或是以 field 為單位壓縮。如果是 progressive frame,畫面無交錯,壓縮時以 frame 為單位壓縮,則解碼時要拿第一條掃瞄線 Odd1 和第二條掃瞄線 Even1 的 YUV 4:2:0 去展開第一條掃瞄線和第二條掃瞄線的 U、V 值(因為此時一、二條掃瞄線共用一個 UV),拿第三條掃瞄線 Odd2 和第四條掃瞄線 Even2 去展開第三和第四條掃瞄線共用的 UV 值。
然而,如果是 interlaced frame,壓縮時以 field 為單位壓縮(將奇偶掃瞄線拆成兩個獨立的 filed 壓縮,各個 field 是完整無交錯的畫面,這樣的壓縮效果較好),則解碼時就要反過來做,要拿第一條掃瞄線 Odd1 和第三條掃瞄線 Odd2 為一組,展開他們共用的 UV(因為編碼時,是以 Odd1 和 Odd2 為一組取樣為 YUV 4:2:0 再壓縮的,Odd1、Odd2 為同一個 field),要拿第二條 Even1 和第四條 Even2 去展開他們共用的 U、V 值。
唔... 我的文筆拙劣,不知道該怎麼簡單明瞭的說明這個觀念,不知道您是否已經看了頭暈了呢 ^^;
總之 progressive frame 時,解碼時要以 line1 + line2 為一組,line3 +line4 為一組。interlaced frame 則要以 line1 + line3 為一組,line2 + line4 為一組,才能解出正確的 UV 值。
然後現在有許多軟體的 DVD Player 甚至是硬體的 decoder 晶片會出現這種 UV 解碼的錯誤,不是遇到 interlaced frame 時拿 1+2、3+4 去解 UV,就是 progressive frame 時拿 1+3、2+4 去解 UV,造成 UV 解碼的錯誤。

解碼錯誤看起來會怎樣?
請參考下面這兩個網址
交錯畫面解錯
http://arbor.ee.ntu.edu.tw/~jackei/dvd2avi/interlace/
progressive frame 解錯
http://www.hometheaterhifi.com/volu...bug-4-2001.html


大致瞭解
非常感謝

總言之
CANOPUS VIDEOGATE 1000 這張卡幾乎是CANOPUS 系列御用的TV輸出套件
舊 2002-06-30, 08:28 AM #10
回應時引用此文章
rugner離線中