專利名稱:一種從rgb色彩空間到y(tǒng)uv色彩空間的圖像轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像轉(zhuǎn)換技術(shù)領(lǐng)域,尤其涉及一種從RGB色彩空間到Y(jié)UV色彩空間的 圖像轉(zhuǎn)換方法。
背景技術(shù):
RGB是計算機(jī)中最常見的的色彩空間,它通過紅、綠、藍(lán)3基色的相加來產(chǎn)生其他 的顏色。RGBM使用M比特位表示一個像素點的色彩,其中紅色、綠色、藍(lán)色各占8位,可以 得到256拉56拉56種顏色。YUV是另一種色彩空間,被歐洲電視系統(tǒng)采用。其中Y指顏色的明視度,即亮度,U 和V指色調(diào)。YUV易于實現(xiàn)壓縮,方便傳輸和處理,還可以減少和消除色彩變換處理,極大的 加快圖像的顯示速度。YUV格式中的Y值、U值、V值可以使用RGBM格式中對應(yīng)像素點的R、G、B值通過 公式計算得出。它有多種格式如YUV444、YUV411或者YUV420等。實際應(yīng)用中常需要將RGBM格式的圖片轉(zhuǎn)換為不同類型的YUV格式。不同的 YUV格式具有不同的取樣方式、不同的儲存方式。常見的取樣格式有YUV444、YUV411或者 YUV420。4:4:4表示完全取樣;4:1:1表示4:1的水平取樣,沒有垂直下采樣;4:20表 示2:1的水平取樣,2:1的垂直下采樣。儲存方式分為緊縮格式和平面格式。緊縮格式將 Y、U、V值儲存成Macro Pixels陣列,和RGB的存放方式類似。平面格式將Y、U、V三個分量 分別存放在不同的矩陣中。目前,從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法首先是取出RGBM格式中 的像素點,得到其R、G、B值。然后通過轉(zhuǎn)換公式計算出Y值,根據(jù)目標(biāo)YUV格式,找到該值 的儲存位置,放入Y值。再判斷是否要取樣U值和V值,若需要,則使用先前獲得的R、G、B 值通過公式計算出U值,V值,并放入目標(biāo)YUV格式規(guī)定的位置。完成后再取RGBM格式中 的下一像素點,進(jìn)行如上所述計算,直到所有的像素點均處理完成。由于YUV格式多變,有多種不同的取樣方式和存儲格式,且與Y值、U值、V值的計 算關(guān)系不大。上述方法中,數(shù)值計算與格式控制混雜在一起,對于不同YUV格式的轉(zhuǎn)換,上 述方法無法復(fù)用它們相同的數(shù)值計算部分,對于大量圖像相同YUV格式的轉(zhuǎn)換,重復(fù)判斷 取樣點,計算存儲位置,影響處理速度。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,能 夠在視頻圖像轉(zhuǎn)換時,節(jié)省大量計算,提高處理速度。為達(dá)此目的,本發(fā)明采用以下技術(shù)方案
一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,包括以下步驟 A、格式控制模塊生成并存儲格式控制結(jié)構(gòu),格式控制結(jié)構(gòu)包括RGB圖像的格式類型、 RGB圖像的分辨率、YUV圖像的格式類型以及與上述三者對應(yīng)的RGB圖像的每個像素點轉(zhuǎn)換
3為YUV圖像的Y值、U值和V值的存儲位置信息;
B、當(dāng)RGB圖像輸入到圖像轉(zhuǎn)換模塊,圖像轉(zhuǎn)換模塊獲取RGB圖像的格式類型、RGB圖像 的分辨率和需要轉(zhuǎn)換的YUV圖像的格式類型;
C、圖像轉(zhuǎn)換模塊調(diào)取格式控制模塊中與RGB圖像的格式類型、RGB圖像的分辨率和需 要轉(zhuǎn)換的YUV圖像的格式類型對應(yīng)的格式控制結(jié)構(gòu),獲取YUV圖像的Y值、U值和V值的存 儲位置信息;
D、圖像轉(zhuǎn)換模塊根據(jù)RGB圖像的每個像素點的RGB值計算出YUV圖像的Y值、U值和V
值;
E、圖像轉(zhuǎn)換模塊將YUV圖像的Y值、U值和V值存放到Y(jié)UV圖像的Y值、U值和V值的 存儲位置。步驟A中,YUV圖像的Y值、U值和V值的存儲位置信息是PixeUnform結(jié)構(gòu)的數(shù) 組,PixelInform結(jié)構(gòu)的數(shù)組的排列順序與RGB圖像像素點排列順序一致,PixelInform結(jié) 構(gòu)數(shù)組每組包括三個值,分別是作為目標(biāo)圖像的YUV圖像的Y值、U值和V值的存儲位置值。如果作為目標(biāo)圖像的YUV圖像的U值和V值不需要取樣,則作為目標(biāo)圖像的YUV 圖像的U值和V值的存儲位置為-1。RGB 圖像的格式類型是 RGB24、RGB555、RGB565 或者 RGB32。RGB 圖像的分辨率是 640*480、800*600 或者 1(^4*768。YUV圖像的格式類型是YUV444、YUV411或者YUV420。采用了本發(fā)明的技術(shù)方案,通過將格式控制和數(shù)值計算分離,形成單獨的模塊,從 而使程序結(jié)構(gòu)清晰,易于修改維護(hù),并可重用已生成的格式控制結(jié)構(gòu),尤其在視頻圖像轉(zhuǎn)換 時,可以節(jié)省大量計算,提高處理速度。
圖1是本發(fā)明具體實施方式
中從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換的流程 圖。
具體實施例方式下面結(jié)合附圖并通過具體實施方式
來進(jìn)一步說明本發(fā)明的技術(shù)方案。圖1是本發(fā)明具體實施方式
中從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換的流程 圖。如圖1所示,該流程包括以下步驟
步驟101、格式控制模塊生成并存儲格式控制結(jié)構(gòu),格式控制結(jié)構(gòu)包括多種RGB圖像的 格式類型、多種RGB圖像的分辨率、多種YUV圖像的格式類型以及與上述三者對應(yīng)的RGB圖 像的每個像素點轉(zhuǎn)換為YUV圖像的Y值、U值和V值的存儲位置信息。其中,RGB圖像的格式類型是RGB24、RGB555、RGB565或者RGB32。RGB 圖像的分辨率是 640*480、800*600 或者 1(^4*768。YUV圖像的格式類型是YUV444、YUV411或者YUV420。YUV圖像的Y值、U值和V值的存儲位置信息是PixeUnform結(jié)構(gòu)的數(shù)組, Pixel Inform結(jié)構(gòu)的數(shù)組的排列順序與RGB圖像像素點排列順序一致,PixeUnform結(jié)構(gòu)數(shù) 組每組包括三個值,即三個Long型變量,分別是作為目標(biāo)圖像的YUV圖像的Y值、U值和V值的存儲位置值。如果作為目標(biāo)圖像的YUV圖像的U值和V值不需要取樣,則作為目標(biāo)圖像的YUV 圖像的U值和V值的存儲位置為-1。步驟102、當(dāng)RGB圖像輸入到圖像轉(zhuǎn)換模塊,圖像轉(zhuǎn)換模塊獲取RGB圖像的格式類 型、RGB圖像的分辨率和需要轉(zhuǎn)換的YUV圖像的格式類型。也即通過圖片地址,得到圖片數(shù)據(jù),RGB圖像的格式類型和分辨率。圖片數(shù)據(jù)保存 至BYTE數(shù)組,保存RGB格式的⑶ID值,分辨率以兩個整形值保存RGB圖像的長、寬像素點, 再傳入YUV格式的⑶ID值。步驟103、圖像轉(zhuǎn)換模塊調(diào)取格式控制模塊中與RGB圖像的格式類型、RGB圖像的 分辨率和需要轉(zhuǎn)換的YUV圖像的格式類型對應(yīng)的格式控制結(jié)構(gòu),獲取YUV圖像的Y值、U值 和V值的存儲位置信息。步驟104、圖像轉(zhuǎn)換模塊根據(jù)RGB圖像的每個像素點的RGB值計算出YUV圖像的Y 值、U值和V值。步驟105、圖像轉(zhuǎn)換模塊將YUV圖像的Y值、U值和V值存放到Y(jié)UV圖像的Y值、U 值和V值對應(yīng)的存儲位置。這樣,對RGB圖像中的每個像素點,讀入其對應(yīng)的PixeUnform結(jié)構(gòu),依次查看 Yposition, Uposition 和 Vposition 值。以 Yposition 為例,若為-1,則不需對該 Y 值 取樣;若為其他值,則調(diào)用計算公式算出Y值,并存入目標(biāo)圖片的Yposition位置處。對 Uposition, Vposition做同樣處理。對所有像素點處理完成后,圖像格式就轉(zhuǎn)換完成了。由于不同種類的RGB圖像的格式類型、不同種類RGB圖像的分辨率和不同YUV圖 像的格式類型的所有組合都預(yù)先計算出與上述三者對應(yīng)的RGB圖像的每個像素點轉(zhuǎn)換為 YUV圖像的Y值、U值和V值的存儲位置信息,因此在具體圖像轉(zhuǎn)換中,就不需要臨時計算 了,尤其對于視頻節(jié)目,由于是同一 RGB圖像的格式類型、分辨率以及目標(biāo)YUV圖像的格式 類型,更只需要使用一種YUV圖像的Y值、U值和V值的存儲位置信息了,從而縮短了處理 時間。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋 在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,其特征在于,包括以下步驟A、格式控制模塊生成并存儲格式控制結(jié)構(gòu),格式控制結(jié)構(gòu)包括RGB圖像的格式類型、 RGB圖像的分辨率、YUV圖像的格式類型以及與上述三者對應(yīng)的RGB圖像的每個像素點轉(zhuǎn)換 為YUV圖像的Y值、U值和V值的存儲位置信息;B、當(dāng)RGB圖像輸入到圖像轉(zhuǎn)換模塊,圖像轉(zhuǎn)換模塊獲取RGB圖像的格式類型、RGB圖像 的分辨率和需要轉(zhuǎn)換的YUV圖像的格式類型;C、圖像轉(zhuǎn)換模塊調(diào)取格式控制模塊中與RGB圖像的格式類型、RGB圖像的分辨率和需 要轉(zhuǎn)換的YUV圖像的格式類型對應(yīng)的格式控制結(jié)構(gòu),獲取YUV圖像的Y值、U值和V值的存 儲位置信息;D、圖像轉(zhuǎn)換模塊根據(jù)RGB圖像的每個像素點的RGB值計算出YUV圖像的Y值、U值和V值;E、圖像轉(zhuǎn)換模塊將YUV圖像的Y值、U值和V值存放到Y(jié)UV圖像的Y值、U值和V值的 存儲位置。
2.根據(jù)權(quán)利要求1所述的一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,其特 征在于,步驟A中,YUV圖像的Y值、U值和V值的存儲位置信息是PixeUnform結(jié)構(gòu)的數(shù) 組,PixelInform結(jié)構(gòu)的數(shù)組的排列順序與RGB圖像像素點排列順序一致,PixelInform結(jié) 構(gòu)數(shù)組每組包括三個值,分別是作為目標(biāo)圖像的YUV圖像的Y值、U值和V值的存儲位置值。
3.根據(jù)權(quán)利要求2所述的一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,其特 征在于,如果作為目標(biāo)圖像的YUV圖像的U值和V值不需要取樣,則作為目標(biāo)圖像的YUV圖 像的U值和V值的存儲位置為-1。
4.根據(jù)權(quán)利要求1所述的一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,其特 征在于,RGB圖像的格式類型是RGB24、RGB555、RGB565或者RGB32。
5.根據(jù)權(quán)利要求1所述的一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,其特 征在于,RGB圖像的分辨率是640*480、800*600或者1(^4*768。
6.根據(jù)權(quán)利要求1所述的一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,其特 征在于,YUV圖像的格式類型是YUV444、YUV411或者YUV420。
全文摘要
本發(fā)明公開了一種從RGB色彩空間到Y(jié)UV色彩空間的圖像轉(zhuǎn)換方法,將格式控制部分封裝為一個獨立模塊,在圖像轉(zhuǎn)換時,將源RGB格式、目標(biāo)YUV格式和圖像分辨率三個參數(shù)傳入格式控制模塊,格式控制模塊處理后傳出格式控制結(jié)構(gòu),再由圖像轉(zhuǎn)換模塊調(diào)用該格式控制結(jié)構(gòu)完成剩余的數(shù)值計算,源RGB格式、目標(biāo)YUV格式和圖像分辨率相同的圖像轉(zhuǎn)換將使用同一控制結(jié)構(gòu)。采用了本發(fā)明的技術(shù)方案,能夠在視頻圖像轉(zhuǎn)換時,節(jié)省大量計算,提高處理速度。
文檔編號H04N9/64GK102118624SQ20111005448
公開日2011年7月6日 申請日期2011年3月8日 優(yōu)先權(quán)日2011年3月8日
發(fā)明者楊波, 王建 申請人:天脈聚源(北京)傳媒科技有限公司