基于Blackfin561的JPEG2000 壓縮算法實現(xiàn)及優(yōu)化
5.2 代碼優(yōu)化
設計時可以結合具體的硬件環(huán)境對代碼本身做出大量優(yōu)化,以使得編譯器能夠充分的使用硬件循環(huán)、軟件流水化、矢量化等技術。但是,也應注意一下幾個方面:
首先,因為循環(huán)是程序中時間消耗最大的部分,所以要把主要精力集中在循環(huán)程序的設計上。應盡量使用短循環(huán);避免循環(huán)執(zhí)行的依賴性;確保內(nèi)部循環(huán)次數(shù)比外部的多;在循環(huán)中應避免條件代碼,否則會出現(xiàn)大量控制流延遲;在循環(huán)體中不要放函數(shù)調(diào)用語句,這樣會妨礙編譯器用硬件循環(huán)結構。
其次,定點處理器本身不直接支持除法操作,所以,應該盡量避免除法。如“if(X/Y>A/B)”可以寫成“if(X*B>A*Y)”。通過移位操作同樣可以避免除法,如除以8可以用左移3位來代替。最后,通過查詢表的方法也可以避免一些復雜運算。
5.3 存儲器優(yōu)化
Blackfin56l中的存儲器采用分層結構,距離核最近的Ll存儲器運行速度最快,但容量很小。因此需要對圖像數(shù)據(jù)進行合理的存儲器資源分配,以使得絕大多數(shù)操作都集中在L1存儲器。下面以小波變換為例來進行說明。
本系統(tǒng)中待處理的圖像位于SDRAM中。圖3所示是DMA雙緩沖操作示意圖,DMA優(yōu)化的總體思想是以一行圖像數(shù)據(jù)為基本單位,然后通過DMA把要處理的數(shù)據(jù)轉(zhuǎn)移到Ll,實現(xiàn)數(shù)據(jù)的高效處理。傳輸可采用雙緩沖乒乓操作,這樣可避免DMA傳輸數(shù)據(jù)所耗費的時間。
為了驗證JPEG2000編碼器在BF56l上移植和優(yōu)化后的效果,我們對一幅512x512x8bit圖像進行測試并給出了相關數(shù)據(jù)。表l所列為16倍壓縮率下優(yōu)化前后的數(shù)據(jù)對比。
6 結束語
JPEG2000是新一代圖像壓縮國際標準。本設計可實現(xiàn)JPEG2000圖像壓縮算法在DSP上的移植和優(yōu)化,壓縮后的圖像具有較高的信噪比。同時經(jīng)過優(yōu)化,其編碼器的運算速度也得到了很大的提高,可以滿足實際應用的需要。最后的結果。所以,為了在高頻輸入時,系統(tǒng)也能正常工作,可以把CA3140替換成高頻特性比較好的LM616l,這樣可以提高系統(tǒng)的高頻特性。
評論