RGB生成顏色容易實現(xiàn),被廣泛應用在計算機、彩色電視機的顯示系統(tǒng)中。但是RGB表示顏色的效率并不是很高,3個顏色分量同等重要,而且亮度信息存在于所有顏色分量中,當需要對像素點的亮度或者色度值進行修改時,必須同時改變RGB三者的值。
YCrCb顏色空間是在開發(fā)世界范圍數(shù)字分量食品標準過程中作為ITU-R BT.601標準的一部分而開發(fā)出來的。在YCRCb顏色空間中,Y表示亮度信號,取值范圍為16~235;Cr,Cb表示色度信號,取值范圍為16~240,亮度信號與色度信號相互獨立。這種顏色表示方法可以利用人眼的特性降低數(shù)字彩色圖像的存儲空間。人眼視覺系統(tǒng)(HVS)對亮度細節(jié)的敏感度高于顏色細節(jié),適當減少色度分辨率不會明顯影響圖像的
畫質,易于實現(xiàn)數(shù)據(jù)壓縮。
2 RGB到YCrCb的轉換
在ITU-R BT.601標準中給出了RGB與YCrCb的轉換關系式如下:
式中:R’,G’,B’表示Gamma校正后的R,G,B值。該轉換關系式是一個3×3乘法矩陣,電路實現(xiàn)時需要9個乘法器和9個加法器,在FPGA中直接實現(xiàn)時將會占用較多邏輯資源。
為了減少邏輯資源的使用,需要對該算法做進一步改進,簡化運算過程,從而以較少的邏輯資源實現(xiàn)轉換電路。首先對Cb,Cr做如下化簡:[!--empirenews.page--]
根據(jù)B’的取值不同,ofset的取值取整后為14,15,16。在計算過程中,可以用一個數(shù)據(jù)選擇器根據(jù)B’值的不同選擇offset的值。0.5-B’的計算可以用移位實現(xiàn)?;喓蟮霓D換算法.對Y,Cb,Cr的計算將比原來節(jié)省4個乘法器。在FPGA中,加法器、數(shù)據(jù)選擇器和移位算法的實現(xiàn)比乘法器簡單,該化簡將利于減少邏輯資源的應用,簡化實現(xiàn)電路,提高運算速度。轉換電路結構如圖l所示。
3 基于FPGA的實現(xiàn)
在FPGA中,對乘法的實現(xiàn)比較復雜,可以采用如下幾種方法:
(1)直接用編程語言描述乘法運算,由綜合工具自動實現(xiàn),用該方法描述,實現(xiàn)簡單,但是耗用比較多的邏輯資源。
(2)利用查找表的方式實現(xiàn)乘法運算,事先把要相乘數(shù)據(jù)的所有結果算出來存到ROM中,根據(jù)輸入數(shù)據(jù)的值讀取相應的結果,當用該方法相乘數(shù)據(jù)位數(shù)比較多時,會占用大量的存儲空間。
(3)用FPGA中內(nèi)嵌的乘法器實現(xiàn),該方法實現(xiàn)簡單,當用VHDL語言實現(xiàn)時,調(diào)用相應的乘法模塊即可。
本文采用第三種方法,用專用乘法器來實現(xiàn)轉換公式中的乘法運算。Xilinx的Virtex 4系列FPGA芯片內(nèi)嵌的乘法器為Xtreme DSPTM S1i-ceDSP48 Slice其工作頻率高達500 MHz,支持多種獨立的功能,包括乘法器、乘累加器(MAC)、后接加法器的乘法器、三輸入加法器、桶形移位寄存器、寬路線多路復用器、大小及比較器或寬計數(shù)器。本文將運用DSP48 Slice模塊實現(xiàn)乘加運算,在電路結構圖的虛線框中,乘法和加法的運算將用單個DSP48 Slice模塊實現(xiàn)。這樣將會減少轉換關系式中加法器的數(shù)量,節(jié)約邏輯資源,在程序中可以用元件例化語句調(diào)用DSP-48 Slice模塊,實現(xiàn)方法簡單,程序簡潔。為了滿足浮點數(shù)和運算精度的要求,適合在FPGA中實現(xiàn),將式(2)改寫為:[!--empirenews.page--]
式中的除法運算可以通過截斷低位數(shù)據(jù)的方法實現(xiàn),在截斷數(shù)據(jù)時,對截去小數(shù)部分判斷,采用4舍5入的方法,當截去部分的最高位是1時,有進位,最高位是0時,直接舍去。用VHDL語言描述式(3)的轉換算法,輸入R’,G’,B’是8位無符號二進制數(shù),進行加減運算時,需要做符號位補位。
在每個運算部件(包括乘法和加減法器)的輸出以及系統(tǒng)的輸入/輸出之間加上緩存寄存器,實現(xiàn)流水線設計。能提高資源利用率,加快運算速度,寄存器級數(shù)由運算延時大小決定。在輸出端用計數(shù)器控制運算開始時的噪音輸出。箝位電路控制輸出數(shù)據(jù)范圍滿足顏色空間的要求。
4 仿真結果
在xilinx的Virtex4-FX平臺實現(xiàn)現(xiàn)圖1的電路結構,用ISE軟件仿真。資源使用情況如下:
時序仿真結果如圖2所示。
通過圖2可以驗證轉換算法的正確性。在使能信號en有效后,經(jīng)過6個時鐘的運算時延,輸出端有轉換結果輸出,輸出結果四舍五入,誤差為O.5,比以往算法提高了變換結果的精度。
5 結語
通過對轉換算法的研究,推導出適合在FPGA上實現(xiàn)的新算法,算法優(yōu)點突出。算式中乘法器采用DSP48 Slice模塊實現(xiàn),提高了轉換算法的運算速度。從綜合報告可以看出,除了使用5個DSP48s外,其他資源使用的比較少。運算速度最大能夠達到189 MHz,能夠充分滿足運算量大,實時性要求高的應用。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...
關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車