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