RGB&YUV 顏色編碼理解

前言:RGB 和 YUV 都是色彩空間模型秆剪,下面來分別介紹下

一、RGB顏色編碼

\color{red}{RGB}顏色編碼格式国旷,是指每種顏色都可以用\color{red}{(紅刨晴,綠屉来,藍(lán))}三種顏色來表示,將\color{red}{RGB}分別取不同的值狈癞,會展示不同的顏色(即三原色)茄靠。

使用\color{red}{RGB}編碼的圖像中國呢,每個(gè)像素點(diǎn)都是由紅蝶桶、綠慨绳、藍(lán)三個(gè)顏色組成,每種顏色在內(nèi)存中都占用\color{red}{8bit}(一個(gè)字節(jié)),即一個(gè)像素點(diǎn)占用\color{red}{24bit},加上透明度,所以一個(gè)像素點(diǎn)在內(nèi)存中占用\color{red}{32bit}(4個(gè)字節(jié))脐雪。

RGB展示圖

當(dāng)有一張 大小的圖片時(shí)厌小,該圖片中有 個(gè)像素點(diǎn),其中每個(gè)像素點(diǎn)都采用战秋,那么這張圖片就會占用 的存儲空間璧亚。

二、YUV顏色編碼

\color{red}{YUV} 顏色編碼采用的是\color{red}{明亮度}\color{red}{色度}來指定像素的顏色脂信,其中Y表示明亮度(Luminance Luma)癣蟋,U和V表示色度(Chrominance chroma),而色度狰闪,又定義了顏色的色調(diào)和飽和度疯搅。
\color{red}{YUV顏色編碼格式在默認(rèn)情況下是圖像和視頻壓縮的標(biāo)準(zhǔn)},如下圖所示埋泵,和RGB類似幔欧,每個(gè)像素先都包含Y、U丽声、V3個(gè)分量琐馆,但是其中Y和UV是可以分離的,沒有UV信息恒序,也是可以顯示圖片的,只不過的黑白的谁撼。

YUV顏色編碼

使用YUV的優(yōu)勢

  • 降低占用的存儲空間
  • 節(jié)省帶寬

對于YUV圖像來說歧胁,并不是每個(gè)像素點(diǎn)都需要包含Y、U厉碟、V三個(gè)分量喊巍,我們可以根據(jù)不同的采樣格式,有以下幾種采樣格式

  • YUV4:4:4:每個(gè)Y分量對應(yīng)自己的UV分量
  • YUV4:2:2:兩個(gè)Y分量共用一套UV分量
  • YUV4:2:0:4個(gè)Y分量共用一套UV分量

其中最常用的YUV格式則是YUV4:2:0

YUV采樣格式 - YUV4:4:4

YUV4:4:4 采樣格式箍鼓,表示其中的Y崭参、U、V三個(gè)分量的采樣比例是相同的款咖,所以每個(gè)像素點(diǎn)的分量信息都是完整的何暮,每個(gè)分量占用8bit,一個(gè)像素點(diǎn)占用1個(gè)字節(jié)铐殃。與RGB顏色編碼相比海洼,并沒有節(jié)省帶寬,占用的存儲空間也沒有減少

可以簡單理解為:原始像素原樣輸出富腊,沒有任何壓縮坏逢,如下圖所示

image
  • 假設(shè)原始圖像的像素為(一對[]表示一個(gè)像素點(diǎn)):
    [Y0, U0, V0]; [Y1, U1, V1]; [Y2, U2, V2]; [Y3, U3, V3];

  • 將原始圖像像素按照YUV4:4:4采樣的碼流為(相對原始像素是原樣輸出):
    Y0, U0, V0, Y1, U1, V1, Y2, U2, V2, Y3, U3, V3

  • 最后映射還原的像素點(diǎn) = 原始圖像的像素,為:
    [Y0, U0, V0]; [Y1, U1, V1]; [Y2, U2, V2]; [Y3, U3, V3];

其中映射過程如下圖所示

image

YUV采樣格式 - YUV4:2:2

YUV4:2:2采樣格式,是指其中Y分量的采樣是UV分量的2倍是整,即Y分量與UV分量是按照2:1的比例采樣肖揣。舉例說明:如果水平方向有10個(gè)像素點(diǎn),通過這種采樣格式浮入,最終采樣了10個(gè)Y分量龙优,5個(gè)UV分量

可以通俗的理解為:每采樣一個(gè)像素點(diǎn),都會采樣Y分量舵盈,而U陋率、V分量則會間隔一個(gè)采集一個(gè),如圖所示

image
  • 假設(shè)原始圖像的像素為(一對[]表示一個(gè)像素點(diǎn)):
    [Y0, U0, V0]; [Y1, U1, V1]; [Y2, U2, V2]; [Y3, U3, V3];

  • 將原始圖像像素按照YUV4:2:2采樣的碼流為:
    Y0, U0, Y1, V1, Y2, U2, Y3, V3

  • 最后映射還原的像素點(diǎn)為:
    [Y0, U0, V1]; [Y1, U0, V1]; [Y2, U2, V3]; [Y3, U2, V3];

其映射過程如圖所示

image

YUV采樣格式 - YUV4:2:0

YUV4:2:0采樣格式秽晚,并不是只采樣U分量瓦糟,而不采樣V分量,而是在每一行掃描時(shí)赴蝇,只掃描一種U/V其中一種色度分量菩浙,而Y按照2:1的方式采樣。

舉例說明:

  • 當(dāng)?shù)谝恍袙呙钑r(shí)句伶,YU按照2:1的方式采樣
  • 當(dāng)?shù)诙袙呙钑r(shí)劲蜻,YV按照2:1的方式采樣

對于每個(gè)色度分量來說,在水平方向和豎直方向的采樣 和 Y分享相比都是2:1

可以簡單的理解為:在田字格的4個(gè)像素點(diǎn)中考余,4個(gè)Y分量共用了一套UV分量先嬉,如圖所示

image
  • 假設(shè)原始圖像的像素為(一對[]表示一個(gè)像素點(diǎn)):
    [Y0, U0, V0]; [Y1, U1, V1]; [Y2, U2, V2]; [Y3, U3, V3];
    [Y5, U5, V5]; [Y6, U6, V6]; [Y7, U7, V7]; [Y8, U8, V8];

  • 將原始圖像像素按照YUV4:2:0采樣的碼流為:
    Y0, U0, Y1, Y2, U2, Y3,
    Y5, V5, Y6, Y7, V7, Y8,

  • 最后映射還原的像素點(diǎn)為:
    [Y0, U0, V5]; [Y1, U0, V5]; [Y2, U2, V7]; [Y3, U2, V7];
    [Y5, U0, V5]; [Y6, U0, V5]; [Y7, U2, V7]; [Y8, U2, V7];

其映射過程如圖所示

image

總結(jié)

  • YUV4:4:4中Y、U楚堤、V分量的采樣比例相同疫蔓,既可以理解為原始圖像像素點(diǎn)原樣輸出,存儲空間沒有任何變化

  • YUV4:2:2采樣格式身冬,是指每采樣一個(gè)像素點(diǎn)衅胀,都會采樣Y分量,而U酥筝、V分量則會間隔一個(gè)采集一個(gè)滚躯,本質(zhì)是通過左右相鄰像素點(diǎn)共用U/V分量。相比RGB顏色編碼格式嘿歌,節(jié)省了 1/3的存儲空間掸掏,同時(shí)節(jié)約了在傳輸時(shí)的帶寬

  • YUV4:2:0采樣格式,是實(shí)際開發(fā)中最常用的顏色編碼格式宙帝,相比YUV4:2:2采樣格式阅束,更能節(jié)省空間。是指在2*2的田字格中有4個(gè)像素點(diǎn)茄唐,其中4個(gè)Y分量共用一套UV分量息裸,其本質(zhì)是通過田字格的上下左右像素點(diǎn)共用U/V分量

三蝇更、RGB — YUV 顏?色編碼轉(zhuǎn)換

對于圖像顯示器來說,它是通過 RGB 模型來顯示圖像的呼盆,而在傳輸圖像數(shù)據(jù)時(shí)又是使用 YUV 模型年扩,這是因?yàn)?YUV
型可以節(jié)省帶寬。因此就需要采集圖像時(shí)將 RGB 模型轉(zhuǎn)換到 YUV 模型访圃,顯示時(shí)再將YUV 模型轉(zhuǎn)換為RGB 模型.

  • RGBYUV的轉(zhuǎn)換厨幻,就是將圖像所有像素點(diǎn)的R、G腿时、B 分量轉(zhuǎn)換到 Y况脆、U、V分量批糟。
    YUV 轉(zhuǎn)RGB
  R = Y + 1.14 * V
  G = Y - 0.39 * U - 0.58 * V 
  B = Y + 2.03 * U

RGB轉(zhuǎn)YUV

  Y = 0.299 * R + 0.587 * G + 0.114 * B
  U = -0.147 * R - 0.289 * G + 0.436 * B 
  V = 0.615 * R - 0.515 * G - 0.100 * B
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末格了,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子徽鼎,更是在濱河造成了極大的恐慌盛末,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件否淤,死亡現(xiàn)場離奇詭異悄但,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)石抡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門檐嚣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人啰扛,你說我怎么就攤上這事嚎京。” “怎么了侠讯?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長暑刃。 經(jīng)常有香客問我厢漩,道長,這世上最難降的妖魔是什么岩臣? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任溜嗜,我火速辦了婚禮,結(jié)果婚禮上架谎,老公的妹妹穿的比我還像新娘炸宵。我一直安慰自己,他們只是感情好谷扣,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布土全。 她就那樣靜靜地躺著捎琐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裹匙。 梳的紋絲不亂的頭發(fā)上瑞凑,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機(jī)與錄音概页,去河邊找鬼籽御。 笑死,一個(gè)胖子當(dāng)著我的面吹牛惰匙,可吹牛的內(nèi)容都是我干的技掏。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼项鬼,長吁一口氣:“原來是場噩夢啊……” “哼哑梳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秃臣,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤涧衙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后奥此,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弧哎,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年稚虎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了撤嫩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蠢终,死狀恐怖序攘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寻拂,我是刑警寧澤程奠,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站祭钉,受9級特大地震影響瞄沙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜慌核,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一距境、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垮卓,春花似錦垫桂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霹粥。三九已至,卻和暖如春碱呼,著一層夾襖步出監(jiān)牢的瞬間蒙挑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工愚臀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留忆蚀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓姑裂,卻偏偏與公主長得像馋袜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子舶斧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361