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

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
感謝諸位大大的整理和教學 m(_ _)m

這串討論的前面幾頁有提到色空間轉換和色域範圍的問題,最近剛好有一篇 YUV 的討論,因為原作者 Silky 絕對不會有異議(^^;),我把它轉貼過來給大家參考。
轉貼開始
================================
MPEG 儲存的 YU(Cb)V(Cr) 格式是遵循 CCIR601,也就是 ITU-R BT.601 的規範,Y 亮度的範圍是 16~235,UV(CbCr) 色度是以無色 =128 為中心,範圍是 16~240。
一般民生消費產品使用的 MPEG 壓縮,大都採用 YUV 4:2:0 的格式,也就是如果解析度是 720x576,則每個 Frame,Y 有 720x576 個點,U 只有 360x288 個點,V 也只有 360x288 個點。色度的資訊只有亮度的 1/4。那麼為什麼不寫 YUV 4:1:1(UV 和 Y 的比例是 1:4) 而要寫 YUV 4:2:0?這是因為要區分取樣的方式不同。YUV 4:1:1 是指水平 Y 取樣四個點,UV 各只取樣一個點,水平的 Y 和 UV 的取樣比例是 4:1,也就是
YC Y Y Y ....

C: Chroma, UV

YUV 4:2:0 是指水平和垂直 Y 各取樣兩個點,UV 各只取樣一個點,水平的取樣比例是 2:1,重直的取樣比例 2:1,也就是
Y Y
_C
Y Y

和 YUV 4:1:1 一樣,色度和亮度差 1/2 * 1/2 = 1/4,只是取樣的方式不同。

而 MPEG 最常採用的 YUV 4:2:0 格式,其 UV 的取樣位置,MPEG-1 和 MPEG-2 又不同(MPEG-4 是用和 MPEG-2 一樣的取樣位置)
MPEG-1
Y Y
_x
Y Y

x 是 UV 的取樣位置

MPEG-2
Y Y
x
Y Y

x 是 UV 的取樣位置

在個人電腦上,這些 YUV 讀出來以後會以一些格式包裝起來,送給軟體或硬體處理。包裝的方式分成兩種,一種是 packed format,把 Y 和相對應的 UV 包在一起。另一種是 planar format,把 Y 和 U 和 V 三種分別包裝,拆成三個 plane(平面)。
其中 YV12 和 YUY2 都是一種 YUV 的包裝格式,而且兩種都是 packed format。
YV12 和 YUY2 的不同,在於 YV12 是 YUV 4:2:0 格式,也就是 DVD/VCD 上原本儲存的格式。YUY2 則是 YUV 4:2:2 格式,也就是

YC Y YC Y ....

水平取樣比例是 1/2
重直取樣比例是 1/1,也就是垂直 UV 和 Y 的個數一樣多
以解析度來講,就是 Y 720x576 U 360x576 V 360x576。

至於詳細的包裝格式,這裡就不畫圖了,請參考
http://www.fourcc.org/fccyuv.htm
http://msdn.microsoft.com/library/d.../YUVFormats.asp
舊 2003-01-02, 04:32 AM #195
回應時引用此文章
Shade離線中