RGB:
紅綠藍(RGB)是計算機顯示的基色,RGB565支持的色深可編程至高達每像素16位,
即 RGB565(紅色5位,綠色6位,藍色5位)。
YUV:
視頻編解碼器功能
視頻編碼器要求YUV4:2:0格式的視頻輸入,因此可能根據應用需要進行視頻輸入的預處 理,即對YUV4:2:2隔行掃描(例如從攝像機)到YUV 4:2:0非隔行掃描轉換,僅抽取但不過濾UV分。對視頻解碼器而言,還需要進行後處理,以將解碼的YUV 4:2:0數據轉換為RGB進行顯示,包括:YUV 4:2:0到RGB轉換;16位或12位RGB顯示格式;0到90度旋轉,實現橫向或縱向顯示。此外,視頻編解碼器通常還要求具有以下功能和特性:
支持MPEG-4簡單類 0、1 與 2 級;
兼容H.263與 MPEG-4 編解碼標准;
MPEG-4視頻解碼器支持的可選項有:AC/DC預測、可逆可變長度編碼(RVLC)、再同步標志(RM)、數據分割(DP)、錯誤隱藏專利技術、支持每個宏塊4個運動矢量(4MV)、自由運動補償、解碼VOS層;
MPEG-4視頻編碼器選項有:RVLC、RM、DP、支持每個宏塊4個運動矢量(4MV)、報頭擴展碼、支持編碼期間碼率改變、支持編碼期間編碼幀率改變、插入或不插入可視對象序列起始碼;
支持編碼期間序列中插入I幀;
支持編碼器自適應幀內刷新(AIR);
支持多編解碼器,可用相同代碼運行多個編解碼器實例。
計算機彩色顯示器顯示色彩的原理與彩色電視機一樣,都是采用R(Red)、G (Green)、B(Blue)相加混色的原理:通過發射出三種不同強度的電子束,使屏幕內側覆蓋的紅、綠、藍磷光材料發光而產生色彩。這種色彩的表示方 法稱為RGB色彩空間表示(它也是多媒體計算機技術中用得最多的一種色彩空間表示方法)。
根據三基色原理,任意一種色光F都可以用不同分量的R、G、B三色相加混合而成。
F = r [ R ] + g [ G ] + b [ B ]
其中,r、g、b分別為三基色參與混合的系數。當三基色分量都為0(最弱)時混合為黑色光;而當三基色分量都為k(最強)時混合為白色光。調整r、g、b三個系數的值,可以混合出介於黑色光和白色光之間的各種各樣的色光。
那麼YUV又從何而來呢?在現代彩色電視系統中,通常采用三管彩色攝像機或彩色CCD攝像機 進行攝像,然後把攝得的彩色圖像信號經分色、分別放大校正後得到RGB,再經過矩陣變換電路得到亮度信號Y和兩個色差信號R-Y(即U)、B-Y(即 V),最後發送端將亮度和色差三個信號分別進行編碼,用同一信道發送出去。這種色彩的表示方法就是所謂的YUV色彩空間表示。
采用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
YUV轉換為RGB的公式
第一個公式是YUV轉換RGB(范圍0-255)時用的,第二個公式是用在YUV(601)也成為YCbCr轉換RGB(范圍0-255)時用的。
1.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
2.
B= 1.164 * (Y - 16) + 2.018 * (U - 128)
G= 1.164 * (Y - 16) - 0.38 * (U - 128) - 0.813 * (V - 128)
R= 1.164 * (Y - 16) + 1.159 * (V - 128)
YUV 覆蓋(Overlay)
多媒體領域中,尤其在涉及到 MPEG 播放時,通常使用 YUV 顏色空間來表示顏色,如果要在屏幕上顯示一副 MPEG 解壓之後的圖片,則需要進行 YUV 顏色空間到 RGB 顏色空間的轉換。YUV 覆蓋最初來自一些顯示芯片的加速功能。
這種顯示芯片能夠在硬件基礎上完成 YUV 到 RGB 的轉換,免去軟件轉換帶來的
性能損失。在這種顯示芯片上建立了 YUV 覆蓋之後,可以直接將 YUV 信息寫入
緩沖區,硬件能夠自動完成 YUV 到 RGB 的轉換,從而在 RGB 顯示器上顯示出來
。在不支持 YUV 覆蓋的顯示芯片上,MiniGUI 也能夠通過軟件實現 YUV 覆蓋,
這時,需要調用 DisplayYUVOverlay 函數將 YUV 信息轉換並縮放顯示在建立
YUV 覆蓋的 DC 設備上。
reference from:http://6xudonghai.blog.163.com/blog/static/336406292009728052275/
本文出自 “驿落黃昏” 博客,請務必保留此出處http://yiluohuanghun.blog.51cto.com/3407300/860229