RGB和YUV之比較

來源:互聯網
上載者:User

標籤:blog   http   ar   sp   on   資料   div   art   問題   

http://blog.csdn.net/qfnu08zzr/article/details/6763159

 

RGB 原理

   RGB 是從顏色發光的原理來設計定的,通俗點說它的顏色混合方式就好像有紅、綠、藍三盞燈,當它們的光相互疊合的時候,色彩相混,而亮度卻等於兩者亮度之總和(兩盞燈的亮度嘛!),越混合亮度越高,即加法混合。

  有色光可被無色光沖淡並變亮。如藍色光與白光相遇,結果是產生更加明亮的淺藍色光。知道它的混合原理後,在軟體中設定顏色就容易理解了。 

  紅、綠、藍三盞燈的疊加情況,中心三色最亮的疊加區為白色,加法混合的特點:越疊加越明亮。

  紅、綠、藍三個色彩通道每種色各分為 255 階亮度,在 0 時 “ 燈 ” 最弱 —— 是關掉的,而在 255 時 “ 燈 ” 最亮。當三色數值相同時為無色彩的灰階色,而三色都為 255 時為最亮的白色,都為 0 時為黑色。 

   RGB 顏色稱為加成色,因為您通過將 R 、 G 和 B 添加在一起(即所有光線反射回眼睛)可產生白色。 加成色用於照明光、電視和電腦顯示器。 例如,顯示器通過紅色、綠色和藍色熒光粉發射光線產生顏色。絕大多數可視光譜都可表示為紅、綠、藍 (RGB) 三色光在不同比例和強度上的混合。 這些顏色若發生重疊,則產生青、洋紅和黃。

       對一種顏色進行編碼的方法統稱為 “ 色彩空間 ” 或 “ 色域 ” 。用最簡單的話說,世界上任何一種顏色的 “ 色彩空間 ” 都可定義成一個固定的數字或變數。 RGB (紅、綠、藍)只是眾多色彩空間的一種。採用這種編碼方法,每種顏色都可用三個變數來表示 - 紅色綠色以及藍色的強度。記錄及顯示彩色映像時, R GB 是最常見的一種方案。但是,它缺乏與早期黑白顯示系統的良好相容性。因此,件多電子電器廠商普遍採用的做法是,將 RGB 轉換成 YUV 顏色空同,以維持相容,再根據需要換回 RGB 格式,以便在電腦顯示器上顯示彩色圖形。 

RGB24 是指 R , G , B 三個分量各占 8 位

RGB32 是指 R , G , B , A 四個分量各占 8 位

在 Windows 案頭屬性外觀中編輯顏色時,有 YUV 和 RGB 兩種編輯 方法。

  YUV 主要用於最佳化彩色視頻訊號的傳輸,使其向後相容老式黑白電視。與 RGB 視頻訊號傳輸相比,它最大的優點在於只需佔用極少的頻寬( RGB 要求三個獨立的視頻訊號同時傳輸)。其中 “Y” 表示明亮度( Luminance 或 Luma ),也就是灰階值;而 “U” 和 “V” 表示的則是色度( Chrominance 或 Chroma ),作用是描述影像色彩及飽和度,用於指定像素的顏色。 “ 亮度 ” 是透過 RGB 輸入訊號來建立的,方法是將 RGB 訊號的特定部分疊加到一起。 “ 色度 ” 則定義了顏色的兩個方面 ─ 色調與飽和度,分別用 Cr 和 CB 來表示。其中, Cr 反映了 GB 輸入訊號紅色部分與 RGB 訊號亮度值之間的差異。而 CB 反映的是 RGB 輸入訊號藍色部分與 RGB 訊號亮度值之同的差異。

  採用 YUV 色彩空間的重要性是它的亮度訊號 Y 和色度訊號 U 、 V 是分離的。如果只有 Y 訊號分量而沒有 U 、 V 分量,那麼這樣表示的映像就是黑白灰階映像。彩色電視採用 YUV 空間正是為了用亮度訊號 Y 解決彩色電視機與黑白電視機的相容問題,使黑白電視機也能接收彩色電視訊號。

   YUV 與 RGB 相互轉換的公式如下( RGB 取值範圍均為 0-255 )︰

   Y = 0.299R + 0.587G + 0.114B

   U = -0.147R - 0.289G + 0.436B

   V = 0.615R - 0.515G - 0.100B

   R = Y + 1.14V

   G = Y - 0.39U - 0.58V

   B = Y + 2.03U

  在 DirectShow 中,常見的 RGB 格式有 RGB1 、 RGB4 、 RGB8 、 RGB565 、 RGB555 、 RGB24 、 RGB32 、 ARGB32 等;常見的 YUV 格式有 YUY2 、 YUYV 、 YVYU 、 UYVY 、 AYUV 、 Y41P 、 Y411 、 Y211 、 IF09 、 IYUV 、 YV12 、 YVU9 、 YUV411 、 YUV420 等。

主要的採樣格式有 YCbCr 4:2:0 、 YCbCr 4:2:2 、 YCbCr 4:1:1 和 YCbCr 4:4:4 。其中 YCbCr 4:1:1 比較常用,其含義為:每個點儲存一個 8bit 的亮度值 ( 也就是 Y 值 ) ,每 2x2 個點儲存一個 Cr 和 Cb 值 , 映像在肉眼中的感覺不會起太大的變化。所以, 原來用 RGB(R , G , B 都是 8bit unsigned) 模型, 1 個點需要 8x3=24 bits (如第一個圖),(全採樣後, YUV 仍各占 8bit )。按 4:1:1 採樣後,而現在平均僅需要 8+(8/4)+(8/4)=12bits ( 4 個點, 8*4 ( Y ) +8(U)+8(V)=48bits ) , 平均每個點占 12bits( 如第二個圖 ) 。這樣就把映像的資料壓縮了一半。

  上邊僅給出了理論上的樣本,在實際資料存放區中是有可能是不同的,下面給出幾種具體的儲存形式:

  ( 1 ) YUV 4:4:4

   YUV 三個通道的抽樣率相同,因此在產生的映像裡,每個象素的三個分量資訊完整(每個分量通常 8 位元),經過 8 位元量化之後,未經壓縮的每個像素佔用 3 個位元組。

  下面的四個像素為 : [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

  存放的碼流為 : Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3

  ( 2 ) YUV 4:2:2

  每個色差通道的抽樣率是亮度通道的一半,所以水平方向的色度抽樣率只是 4:4:4 的一半。對非壓縮的 8 位元量化的映像來說,每個由兩個水平方向相鄰的像素組成的宏像素需要佔用 4 位元組記憶體。

  下面的四個像素為: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

  存放的碼流為: Y0 U0 Y1 V1 Y2 U2 Y3 V3

  映射出像素點為: [Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]

  ( 3 ) YUV 4:1:1

   4:1:1 的色度抽樣,是在水平方向上對色度進行 4:1 抽樣。對於低端使用者和消費類產品這仍然是可以接受的。對非壓縮的 8 位元量化的視頻來說,每個由 4 個水平方向相鄰的像素組成的宏像素需要佔用 6 位元組記憶體。

  下面的四個像素為 : [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

  存放的碼流為 : Y0 U0 Y1 Y2 V2 Y3

  映射出像素點為: [Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]

  ( 4 ) YUV4:2:0

   4:2:0 並不意味著只有 Y , Cb 而沒有 Cr 分量。它指得是對每行掃描線來說,只有一種色度分量以 2:1 的抽樣率儲存。相鄰的掃描行儲存不同的色度分量,也就是說,如果一行是 4:2:0 的話,下一行就是 4:0:2 ,再下一行是 4:2:0... 以此類推。對每個色度分量來說,水平方向和豎直方向的抽樣率都是 2:1 ,所以可以說色度的抽樣率是 4:1 。對非壓縮的 8 位元量化的視頻來說,每個由 2x2 個 2 行 2 列相鄰的像素組成的宏像素需要佔用 6 位元組記憶體。

  下面八個像素為: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

   [Y5 U5 V5] [Y6 U6 V6] [Y7U7 V7] [Y8 U8 V8]

  存放的碼流為: Y0 U0 Y1 Y2 U2 Y3 Y5 V5 Y6 Y7 V7 Y8

  映射出的像素點為: [Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7]

   [Y5 U0 V5] [Y6 U0 V5] [Y7U2 V7] [Y8 U2 V7]

RGB和YUV之比較 (轉)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.