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

根據(jù)B’的取值不同,ofset的取值取整后為14,15,16。在計算過程中,可以用一個數(shù)據(jù)選擇器根據(jù)B’值的不同選擇offset的值。0.5-B’的計算可以用移位實現(xiàn)。化簡后的轉換算法.對Y,Cb,Cr的計算將比原來節(jié)省4個乘法器。在FPGA中,加法器、數(shù)據(jù)選擇器和移位算法的實現(xiàn)比乘法器簡單,該化簡將利于減少邏輯資源的應用,簡化實現(xiàn)電路,提高運算速度。轉換電路結構如圖l所示。本文引用地址:http://www.antipu.com.cn/article/191650.htm
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中內嵌的乘法器實現(xiàn),該方法實現(xiàn)簡單,當用VHDL語言實現(xiàn)時,調用相應的乘法模塊即可。
本文采用第三種方法,用專用乘法器來實現(xiàn)轉換公式中的乘法運算。Xilinx的Virtex 4系列FPGA芯片內嵌的乘法器為Xtreme DSPTM S1i-ceDSP48 Slice其工作頻率高達500 MHz,支持多種獨立的功能,包括乘法器、乘累加器(MAC)、后接加法器的乘法器、三輸入加法器、桶形移位寄存器、寬路線多路復用器、大小及比較器或寬計數(shù)器。本文將運用DSP48 Slice模塊實現(xiàn)乘加運算,在電路結構圖的虛線框中,乘法和加法的運算將用單個DSP48 Slice模塊實現(xiàn)。這樣將會減少轉換關系式中加法器的數(shù)量,節(jié)約邏輯資源,在程序中可以用元件例化語句調用DSP-48 Slice模塊,實現(xiàn)方法簡單,程序簡潔。為了滿足浮點數(shù)和運算精度的要求,適合在FPGA中實現(xiàn),將式(2)改寫為:
評論