JPEG2000中位平面編碼的存儲優(yōu)化方案設(shè)計
4.Verilog設(shè)計
本文建議的硬件架構(gòu)采用VERILOG[4]語言描述,主模塊是bpc.v,包括ram_block.v,addr_generator.v,fill_ram.v,pass_judge.v,coding_primitive.v和state_machine.v共6 個子模塊。編碼流程的實現(xiàn)通過主狀態(tài)機產(chǎn)生相應(yīng)的使能信號,激活當前的模塊操作,當操作完成后,由該模塊產(chǎn)生操作中止信號給主狀態(tài)機,從而使編碼流程進入下一步驟。下面列出了部分用于模塊間握手的代碼,代碼中以省略號代表其它一些控制信號和其它一些狀態(tài)。
case (cstate)
。。。
gene_layer:begin
。。。gene_layer_en = 1;fill_ram_en = 0;pass_judge_en = 0; 。。。
if (gene_layer_fin) nstate = fill_ram;else nstate = gene_layer;end
fill_ram:begin
。。。gene_layer_en = 0;fill_ram_en = 1;pass_judge_en = 0; 。。。
if (fill_ram_fin) nstate = pass_judge;else nstate = fill_ram;end
。。。
endcase
5.實驗結(jié)果
本設(shè)計采用modelsim工具進行了功能仿真,使用quartus[6]工具進行了邏輯綜合,得到的綜合結(jié)果如表3所示。
下面是使用jasper軟件和本硬件實現(xiàn)對幾幅標準圖像(大小512×512的灰度圖像)編碼的時間比較。
6.結(jié)論
本文通過對JPEG2000中的位平面編碼器的存儲方案進行了分析,設(shè)計了一個高效的存儲結(jié)構(gòu)以及相應(yīng)的控制電路,設(shè)計采用verilog[4]語言描述,通過quartus[6]軟件邏輯綜合后,能夠在0.1s內(nèi)完成一幅512×512灰度圖像的編碼,編碼時間僅為jasper[3]軟件實現(xiàn)方案的30%左右。由于塊編碼器的特點,每個碼塊的編碼本身是獨立的,可以并行進行,而且根據(jù)綜合結(jié)果,使用EP1C12Q240C8完全可以在一塊芯片內(nèi)集成多個位平面編碼器的IP核,每個塊編碼器核可以并行執(zhí)行,因此,可以進一步提高編碼器的速度,從而使實時處理圖像成為可能。另外,還可以將設(shè)計定制為ASIC,將最終產(chǎn)品應(yīng)用到數(shù)碼相機、圖像監(jiān)控中,其市場前景是十分廣闊的。
評論