當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]JPEG2000中位平面編碼的存儲優(yōu)化方案設(shè)計

    1引言

 JPEG2000的兩大核心模塊(見圖1),小波變換和EBCOT[2](基于優(yōu)化截斷點(diǎn)的嵌入式塊編碼)其運(yùn)算開銷很大,占據(jù)了整個編碼器處理時間的一半以上。因此,有必要研究合理的實(shí)現(xiàn)方式,一般來說采取軟件實(shí)現(xiàn)方式相對比較簡單,比如JPEG2000的參考代碼jasper[3],但實(shí)時處理的能力較差,即使采用嵌入式系統(tǒng)的方案,如使用DSP或ARM等通用處理器,基本上也是通過軟件的方式來實(shí)現(xiàn),速度提升不大,必須針對塊編碼本身的特點(diǎn)設(shè)計高效的硬件結(jié)構(gòu)單元。只有這樣,才能使JPEG2000在實(shí)時處理的應(yīng)用中發(fā)揮其作用。
 

  2.存儲優(yōu)化的實(shí)現(xiàn)方案

  JPEG2000的嵌入式塊編碼是基于位平面的編碼,其對象是小波變換后頻域系數(shù)組成的相對較小的碼塊,大小一般是32×32或64×64。碼塊中的系數(shù)包含符號信息和許多個不同權(quán)值的幅度信息。位平面編碼的思想就是將最重要的信息先進(jìn)行編碼,也就是權(quán)值較大的幅度信息先編碼,這樣配合后續(xù)的碼流組織(見圖1)即可使最終的碼流獲得漸進(jìn)傳輸?shù)奶匦浴?/p>

  根據(jù)標(biāo)準(zhǔn)[1],編碼過程中除了用到符號和幅度信息外,還需要每個比特位的顯著信息,細(xì)化信息和訪問信息。因此,對于一個32×32的碼塊,編碼一個位平面時,總共需要存儲5×1024位的信息。另外,由于編碼是以一列中的4位為單位,所以通常將每塊編碼信息存儲為256×4的形式(見表1)。

  但是事實(shí)上這種存儲結(jié)構(gòu)是低效的,因?yàn)楦鶕?jù)標(biāo)準(zhǔn)[1],編碼一個比特位包括兩個步驟,即判斷通道歸屬和編碼原操作。在這兩個步驟中,需要訪問的信息包括當(dāng)前位的顯著、符號、幅度、細(xì)化和訪問信息,以及當(dāng)前位的周圍8個比特位的顯著和符號信息。對于基于列的編碼方式,如果按照上面的方案存儲信息,即將符號和顯著信息以字長為4存儲,則實(shí)際上每次編碼一列,需要讀入前一編碼帶(通常將每4行稱為一個編碼帶)、當(dāng)前編碼帶和后一編碼帶的共12位顯著和符號信息,但是事實(shí)上只有其中的6位是有用的,其余6位是冗余信息。由于編碼是基于比特位的操作,因此會頻繁地訪問存儲區(qū)域,每次編碼一列必須讀出相應(yīng)的各信息位,編碼完成一列數(shù)據(jù)還要將相應(yīng)的編碼信息再次寫回存儲區(qū)域,以達(dá)到更新編碼信息的目的??梢姡扇∩鲜?位字長的方案是非常低效的。

  所以,本文設(shè)計了一種相對合理的存儲方案,即在碼塊的最上面一行和最下面一行各添加一行全0數(shù)據(jù)(這是對顯著和符號平面而言),構(gòu)成34×32的塊,然后以兩行為一組,并按交錯存儲的方式,即A,B,C,B,A,。。。,C,B,A,將信息分配至三塊存儲區(qū)域MEMA,MEMB和MEMC(見表2)。

  另外,從顯著和符號信息緩存寫數(shù)據(jù)至相應(yīng)的寄存器(6×3bit)時,也要根據(jù)相應(yīng)的編碼帶進(jìn)行切換,對于奇數(shù)編碼帶(假設(shè)第一個編碼帶記為零),順序?yàn)锳BC,對于偶數(shù)的編碼帶,順序?yàn)镃BA(見表3)。而且,從表三可以看出,用于訪問MEMA、MEMB、MEMC的地址信號的變化也不盡相同,其中訪問MEMB的地址順序增長,而MEMA的地址在從奇編碼帶過渡到偶編碼帶的過程中保持不變,從偶編碼帶過渡到奇編碼帶的過程中增長,對于MEMC的情況正好和MEMA相反。

  因此,必須設(shè)計相應(yīng)的控制電路和地址產(chǎn)生電路來配合這個存儲方案。

  3.硬件架構(gòu)

  根據(jù)上面的分析,提出相應(yīng)的位平面編碼器的硬件架構(gòu),如圖2所示,本架構(gòu)針對32×32的碼塊。

  圖2?;趦?nèi)存優(yōu)化方案的位平面編碼器的硬件架構(gòu)

  圖2中的位平面編碼器主要包括幾個部分,即內(nèi)部緩存,寄存器組,地址產(chǎn)生模塊,判斷通道歸屬模塊,編碼原操作模塊,狀態(tài)機(jī)模塊,計數(shù)器模塊。

  地址產(chǎn)生模塊包括兩個,地址產(chǎn)生模塊1負(fù)責(zé)產(chǎn)生讀取外部DWT系數(shù)緩存的地址信號;地址產(chǎn)生模塊2負(fù)責(zé)產(chǎn)生讀取內(nèi)部5塊緩存區(qū)域的相應(yīng)地址。

  判斷通道歸屬模塊,根據(jù)當(dāng)前寄存器組中相應(yīng)的編碼信息,判斷比特位是否屬于當(dāng)前的編碼通道,如果屬于當(dāng)前的編碼通道,則進(jìn)行相應(yīng)的編碼原操作,否則跳過該比特位,繼續(xù)編碼下一個比特位。

  編碼原操作模塊包括4部分,即零值編碼、符號編碼、細(xì)化編碼和游程編碼。一般的實(shí)現(xiàn)方式采用查找表來實(shí)現(xiàn)編碼原操作,而本設(shè)計中均采用組合電路的形式來實(shí)現(xiàn),這樣可以提高產(chǎn)生CX(編碼模式)和D(編碼比特位)的速度。

  狀態(tài)機(jī)模塊決定了整個編碼器的編碼流程,編碼主要分為兩個階段,即預(yù)處理階段和模式產(chǎn)生階段。預(yù)處理階段主要用于完成5塊緩存區(qū)域內(nèi)容的初始化,模式產(chǎn)生階段則按照顯著、細(xì)化和清除通道的順序依次進(jìn)行編碼,輸出編碼模式給后續(xù)的算術(shù)編碼模塊。狀態(tài)機(jī)模塊還接收來自計數(shù)器的輸出,決定當(dāng)前處于什么狀態(tài),在每個位平面編碼完成后必須轉(zhuǎn)到預(yù)處理階段,更新下一位位平面的幅度信息,并清零訪問緩存的內(nèi)容。[!--empirenews.page--]

  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 個子模塊。編碼流程的實(shí)現(xiàn)通過主狀態(tài)機(jī)產(chǎn)生相應(yīng)的使能信號,激活當(dāng)前的模塊操作,當(dāng)操作完成后,由該模塊產(chǎn)生操作中止信號給主狀態(tài)機(jī),從而使編碼流程進(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í)驗(yàn)結(jié)果

  本設(shè)計采用modelsim工具進(jìn)行了功能仿真,使用quartus[6]工具進(jìn)行了邏輯綜合,得到的綜合結(jié)果如表3所示。

  下面是使用jasper軟件和本硬件實(shí)現(xiàn)對幾幅標(biāo)準(zhǔn)圖像(大小512×512的灰度圖像)編碼的時間比較。

  6.結(jié)論

  本文通過對JPEG2000中的位平面編碼器的存儲方案進(jìn)行了分析,設(shè)計了一個高效的存儲結(jié)構(gòu)以及相應(yīng)的控制電路,設(shè)計采用verilog[4]語言描述,通過quartus[6]軟件邏輯綜合后,能夠在0.1s內(nèi)完成一幅512×512灰度圖像的編碼,編碼時間僅為jasper[3]軟件實(shí)現(xiàn)方案的30%左右。由于塊編碼器的特點(diǎn),每個碼塊的編碼本身是獨(dú)立的,可以并行進(jìn)行,而且根據(jù)綜合結(jié)果,使用EP1C12Q240C8完全可以在一塊芯片內(nèi)集成多個位平面編碼器的IP核,每個塊編碼器核可以并行執(zhí)行,因此,可以進(jìn)一步提高編碼器的速度,從而使實(shí)時處理圖像成為可能。另外,還可以將設(shè)計定制為ASIC,將最終產(chǎn)品應(yīng)用到數(shù)碼相機(jī)、圖像監(jiān)控中,其市場前景是十分廣闊的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉