999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的RGB到YCrCb顏色空間轉換

2010-04-12 00:00:00封岸松,戰仕成,
現代電子技術 2010年10期

摘 要:RGB,YCrCb是表示顏色時經常用到的兩種顏色空間,在應用中經常需要實現它們之間的轉換。在此結合FPGA運算的特點,推導出一種適合在FPGA上實現從RGB到YcrCb顏色空間轉換的算法,該方法能有效節省邏輯資源。運用VHDL語言編寫程序實現電路,調用DSP48 Slice模塊實現乘法運算,采用流水線設計,運算速度快,實時性好,易于在實際工程中實現。

關鍵詞:RGB; YcrCr; 顏色空間; FPGA; DSP48 Slice

中圖分類號:TP391 文獻標識碼:A

文章編號:1004-373X(2010)10-0122-03

Color Space Conversion from RGB to YcrCb Based on FPGA

FENG An-song, ZHAN Shi-cheng, WANG Ying

(Shenyang Chemical College, Shenyang 110142, China)

Abstract:RGB and YCrCb color spaces are usually used to describe color, and sometimes people need to achieve the conversion between them. A new algorithm to implement the conversion from RGB to YCrCb color space was deduced, which bases on FPGA′s characters and can effectively reduce the cost of logic resources of FPGA device. The circuit is described in VHDL language, and uses the DSP48 Slice module to implement the multiplicative calculation. The line production design is adopted. It makes the conversion velocity fast and real-time performance tetter, and it is easily applied in practical project.

Keywords:RGB; YCrCb; color space; FPGA; DSP48 Slice

0 引 言

隨著多媒體和通信技術的發展,視頻圖像處理的實時性成為人們關注的熱點。視頻圖像處理一般都是用數字信號處理器(digital signal processor, DSP)來完成的。為了滿足實時性要求,往往采用多DSP或DSP陣列的方法,使系統在成本、重量、功耗等方面都會快速升高[1]。現場可編程門陣列(FPGA)運算的并行性和內嵌DSP核等特點,能夠提高運算速度滿足視頻處理的實時性要求。在視頻圖像顯示、處理時,采用的顏色空間主要有RGB,YCrCb兩種。RGB基于三基色原理,顏色實現簡單,在計算機、電視機顯示系統中應用廣泛,YCrCb將顏色的亮度信號與色度信號分離,易于實現壓縮,方便傳輸和處理。在視頻壓縮、傳輸等應用中經常需要實現RGB與YCbCr顏色空間的相互變換。這里推導出一種適合在FPGA上實現從RGB到YCbCr顏色空間變換的新算法,采用單片FPGA完成電路設計,利用FPGA內嵌DSP核實現乘法運算,提高了轉換算法的運行速度。

1 顏色空間

在RGB顏色空間中,自然界所有顏色都可以用紅(R)、綠(G)、藍(B)三種顏色的不同強度組合而重現[2]。RGB的取值范圍分別為0~255,表1列出了幾種顏色對應的R,G,B取值。

表1 幾種顏色對應的R,G,B取值

顏色黑紅綠藍黃青深紅白

R0255002550255255

G025502552550255

B0002550255255255

RGB生成顏色容易實現,被廣泛應用在計算機、彩色電視機的顯示系統中。但是RGB表示顏色的效率并不是很高,3個顏色分量同等重要,而且亮度信息存在于所有顏色分量中,當需要對像素點的亮度或者色度值進行修改時,必須同時改變RGB三者的值。

YCrCb顏色空間是在開發世界范圍數字分量食品標準過程中作為ITU-R BT.601標準的一部分而開發出來的[3]。在YCRCb顏色空間中,Y表示亮度信號,取值范圍為16~235;Cr,Cb表示色度信號,取值范圍為16~240,亮度信號與色度信號相互獨立[4]。這種顏色表示方法可以利用人眼的特性降低數字彩色圖像的存儲空間。人眼視覺系統(HVS)對亮度細節的敏感度高于顏色細節,適當減少色度分辨率不會明顯影響圖像的畫質,易于實現數據壓縮。

2 RGB到YCrCb的轉換

在ITU-R BT.601標準中給出了RGB與YCrCb的轉換關系式如下[5]:

YCbCr=0.256 80.504 10.097 9

-0.148 2-0.291 00.439 2

0.439 2-0.367 8-0.071 4#8226;

R′G′B′+16128128(1)

式中:R′,G′,B′表示Gamma校正后的R,G,B值。該轉換關系式是一個3×3乘法矩陣,電路實現時需要9個乘法器和9個加法器,在FPGA中直接實現時將會占用較多邏輯資源。

為了減少邏輯資源的使用,需要對該算法做進一步改進,簡化運算過程,從而以較少的邏輯資源實現轉換電路。首先對Cb,Cr做如下化簡:

Cb = 0.148 2(B′-R′) + 0.291 0(B′-G′) +128

Cr = 0.367 8(R′-G′) - 0.071 4(B′-R′) +128

對Y的計算公式進行化簡時,令Y′=0.256 8R′+ 0.501 4G′+0.097 9B′,Cb′=-0.148 2R′-0.291 0G′+0.439 2B′,有0.577 2Y′+Cb′=0.495 7B′。為了計算方便,近似值為0.5B′。此時,有Y′=1.732 5(0.5B′-Cb′),與原式誤差為ΔY′=0.007 4B′,其范圍為0~1.887。當以Y′表示Y時,需要對誤差作補償。計算公式可表示為:

Y=1.732 5(0.5B′-Cb′) +offset

式中:offset=16-0.007 4B′,化簡后的轉換公式如下:

Y= 1.732 5(0.5B′-Cb′)+offset

Cb=0.148 2(B′-R′) + 0.291 0(B′-G′) +128(2)

Cr=0.367 8(R′-G′) - 0.071 4(B′-R′) +128

式中:Cb′=0.148 2(B′-R′) + 0.291 0(B′-G′),

offset= 16-0.007 4B′。

根據B′的取值不同,offset的取值取整后為14,15,16。在計算過程中,可以用一個數據選擇器根據B′值的不同選擇offset的值。0.5B′的計算可以用移位實現。化簡后的轉換算法,對Y,Cb,Cr的計算將比原來節省4個乘法器。在FPGA中,加法器、數據選擇器和移位算法的實現比乘法器簡單,該化簡將利于減少邏輯資源的應用,簡化實現電路,提高運算速度。

轉換電路結構如圖1所示。

圖1 轉換電路結構

3 基于FPGA的實現

在FPGA中,對乘法的實現比較復雜,可以采用如下幾種方法:

(1) 直接用編程語言描述乘法運算,由綜合工具自動實現,用該方法描述,實現簡單,但是耗用比較多的邏輯資源[6]。

(2) 利用查找表的方式實現乘法運算,事先把要相乘數據的所有結果算出來存到ROM中,根據輸入數據的值讀取相應的結果,當用該方法相乘數據位數比較多時,會占用大量的存儲空間。

(3) 用FPGA中內嵌的乘法器實現,該方法實現簡單,當用VHDL語言實現時,調用相應的乘法模塊即可。

本文采用第三種方法,用專用乘法器來實現轉換公式中的乘法運算。Xilinx的Virtex 4系列FPGA芯片內嵌的乘法器為Xtreme DSPTM Slice-DSP48 Slice其工作頻率高達500 MHz,支持多種獨立的功能,包括乘法器、乘累加器(MAC)、后接加法器的乘法器、三輸入加法器、桶形移位寄存器、寬路線多路復用器、大小及比較器或寬計數器[7]。本文將運用DSP48 Slice 模塊實現乘加運算,在電路結構圖的虛線框中,乘法和加法的運算將用單個DSP48 Slice 模塊實現。這樣將會減少轉換關系式中加法器的數量,節約邏輯資源,在程序中可以用元件例化語句調用DSP48 Slice模塊,實現方法簡單,程序簡潔。

為了滿足浮點數和運算精度的要求,適合在FPGA中實現,將式(2)改寫為:

Y= (1/1 024)×1 774(0.5B′-Cb′) +offset

Cb=(1/1 024)[152(B′-R′) +

298(B′-G′)] +128

Cr=(1/1 024)[377(R′-G′) -

73(B′-R′)] +128(3)

式中的除法運算可以通過截斷低位數據的方法實現,在截斷數據時,對截去小數部分判斷,采用4舍5入的方法,當截去部分的最高位是1時,有進位,最高位是0時,直接舍去。用VHDL語言描述式(3)的轉換算法,輸入R′,G′,B′是8位無符號二進制數,進行加減運算時,需要做符號位補位[8]。

signal a_ sign: std_ logic := ′0′;

signal b_ sign: std_ logic := ′0′;

adder: if add generate c <= (a_ sign a) + (b_ sign b) + c_ in; end generate;

subtr: if not add generate c <= (b_ sign b) - (a_ sign a) - c_ in; end generate;

在每個運算部件(包括乘法和加減法器)的輸出以及系統的輸入/輸出之間加上緩存寄存器,實現流水線設計[9],能提高資源利用率,加快運算速度,寄存器級數由運算延時大小決定。在輸出端用計數器控制運算開始時的噪音輸出。箝位電路控制輸出數據范圍滿足顏色空間的要求。

4 仿真結果

在Xilinx的Virtex4-FX平臺實現現圖1的電路結構,用ISE軟件仿真[10]。資源使用情況如下:

Selected Device : 4vlx15ff668-10

Number of BUFGs 1 out of 32 3%

Number of DSP48s 5 out of 32 15%

Number of External IOBs 51 out of 320 15%

Number of LOCed IOBs 0 out of 51 0%

Number of Slices 132 out of 6144 2%

Number of SLICEMs 7 out of 3072 1%

Minimum period: 5.290ns (Maximum Frequency: 189.034MHz)

時序仿真結果如圖2所示。

圖2 時序仿真圖

通過圖2可以驗證轉換算法的正確性。在使能信號en有效后,經過6個時鐘的運算時延,輸出端有轉換結果輸出,輸出結果四舍五入,誤差為0.5,比以往算法提高了變換結果的精度。

5 結 語

通過對轉換算法的研究,推導出適合在FPGA上實現的新算法,算法優點突出。算式中乘法器采用DSP48 Slice模塊實現,提高了轉換算法的運算速度。從綜合報告可以看出,除了使用5個DSP48s外,其他資源使用的比較少。運算速度最大能夠達到189 MHz,能夠充分滿足運算量大,實時性要求高的應用。

參考文獻

[1]唐曉燕,賈囯鋒,韓磊.基于FPGA 的視頻顏色空間轉換電路設計[J].電子與電腦,2006(8):47-49.

[2][美]RICHARDSON I E G. Video codec design[M].長沙:國防科技大學出版社,2005.

[3]周錢生,戴麟.快速查表法優化視頻解碼中YCbCr到RGB的轉換[J].現代電子技術,2007,30(5):167-169,183.

[4]吳康,劉耀元,胡民山.用FPGA 實現色空間RGB 到YCbCr 的轉換[J].南昌高專學報,2007,22(6):140-142.

[5]林福宗.多媒體技術基礎[M].2版.北京:清華大學出版社,2002.

[6]宋冠群,段哲民,馮飛.基于FPGA的色度空間轉換設計[J].電子測量技術,2007,30(1):178-180.

[7]孟憲元,錢偉康.FPGA嵌入式系統設計[M].北京:電子工業出版社,2007.

[8]石英,李新新,姜宇柏.ISE應用于軟件開發[M].北京:機械工業出版社,2006.

[9]張海波,李方偉,劉開建.顏色空間轉換電路的FPGA設計與實現[J].重慶職業技術學院學報,2008,17(5):108-109.

[10]黃任.VHDL入門#8226;解惑#8226;經典實例#8226;經驗總結[M].北京:北京航空航天大學出版社,2005.

主站蜘蛛池模板: 国产精品短篇二区| 成人亚洲天堂| 国产免费久久精品99re不卡 | 欧美自拍另类欧美综合图区| 日韩一区精品视频一区二区| 欧美黄网站免费观看| 国产真实乱人视频| 国产欧美专区在线观看| 日本免费精品| 欧美另类图片视频无弹跳第一页| av一区二区人妻无码| 青青操视频免费观看| 久久99精品久久久久纯品| h视频在线观看网站| 激情乱人伦| 国产日韩欧美精品区性色| 国产小视频a在线观看| 国产91av在线| h视频在线观看网站| 少妇极品熟妇人妻专区视频| 亚洲天堂啪啪| 国产打屁股免费区网站| 在线观看视频一区二区| 热这里只有精品国产热门精品| 国产成人亚洲精品蜜芽影院| 在线欧美国产| 精品国产一区91在线| 青草视频网站在线观看| 久996视频精品免费观看| 99热这里都是国产精品| 亚洲二区视频| 国产精品香蕉在线观看不卡| 国产视频久久久久| 免费一级毛片不卡在线播放| 国产亚洲精品yxsp| 国产AV毛片| 亚洲视频三级| 国产精品hd在线播放| 日本午夜精品一本在线观看| 中文字幕在线看视频一区二区三区| 伊人中文网| 国产不卡一级毛片视频| 欧美国产视频| 一本无码在线观看| 婷婷开心中文字幕| 精品亚洲国产成人AV| 91精品国产自产在线老师啪l| 亚洲AV无码一二区三区在线播放| 亚洲精品另类| 日韩乱码免费一区二区三区| 婷婷激情亚洲| 免费无遮挡AV| 久操线在视频在线观看| 亚洲中文字幕在线一区播放| 日韩av电影一区二区三区四区| 美女国内精品自产拍在线播放| 国产精品久久久久久久久久98 | 亚洲综合狠狠| 伊人国产无码高清视频| a亚洲视频| 欧美无专区| 在线va视频| 国产午夜无码片在线观看网站| 国产精品女同一区三区五区| 亚洲欧美不卡| 欧美亚洲欧美| 国产精品一区二区在线播放| 思思99思思久久最新精品| 99久久精彩视频| 国产亚洲欧美在线专区| 欧美另类精品一区二区三区| 精品欧美一区二区三区久久久| 欧美精品v欧洲精品| 国产成人无码Av在线播放无广告| 欧美亚洲欧美区| 香蕉网久久| 国产亚洲视频在线观看| 亚洲日本中文字幕乱码中文| 88av在线看| 小说区 亚洲 自拍 另类| 99视频只有精品| 亚洲第一成年网|