《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Q-Coder算術編碼器IP核的設計
基于Q-Coder算術編碼器IP核的設計
摘要: 基于Q-Coder算術編碼器的IP核設計[圖],1概述JPEG2000[1,2]是新的靜止圖像壓縮標準,它具有的多種特性使得它有著廣泛的應用前景。
Abstract:
Key words :
 

1 概述

JPEG2000[1,2]是新的靜止圖像壓縮標準,它具有的多種特性使得它有著廣泛的應用前景。目前為止,JPEG2000的解決方案比較少,并且其中的絕大部分是軟件解決方案:Jasper[3]軟件是經IEC JTC1/SC29/WG1小組推薦使用的實現JPEG2000的為數不多的軟件之一。

由于軟件實現JPEG2000的時間開銷比較大,因此,JPEG2000編碼系統很難應用于實際系統中;硬件解決方案由于處理速度大大提高,因而用硬件實現JPEG2000具有廣泛的市場前景。但是,JPEG2000算法復雜,完全用硬件實現比較困難;然而使用硬件實現JPEG2000中的某些模塊,相對而言就比較容易實現,同時也能大大提高編碼效率。

圖1為JPEG2000的幾個基本模塊。文獻[4]指出,軟件處理中,圖1中的算術編碼模塊的時間開銷占據了整個軟件時間開銷的40%左右,若使用硬件實現算術編碼模塊必然能大大提高編碼速度,對于提高JPEG2000的編碼速度有著重要的意義。

基于<a class=Q-Coder算術編碼器IP核設計" height="138" src="http://files.chinaaet.com/images/20110720/16a58e01-a538-48a5-8077-bc205346187d.jpg" width="350" />

2 Q-Coder算術編碼器原理

Q-coder算術編碼是一種特殊的高效自適應二進制算術編碼器。其輸入是成對待編碼數據D(DATA)以及上下文CX(CONTEXT),數據D和上下文CX是由比特平臺(bit plane)[1]產生的;輸出則是壓縮數據CD(COMPRESSED DATA)。在JPEG2000中,上下文指D周圍8個相鄰比特的狀態,這些狀態被特定的規則劃分為19類,稱為19種上下文。每種上下文都包含兩部分內容,一部分選擇了對數據D編碼時使用的概率估計值對應的索引,另一部分決定了當前大概率符號所代表的符號,這兩部分內容將在編碼后被更新。

2.1 區間的遞歸劃分

概率區間的遞歸劃分是二進制算術編碼的基礎。每執行一次二元判定,當前概率區間就被劃分成為兩個子區間,并在必要的時候修改輸出碼流,使之指向該符號所在的概率子區間的下界。

在區間劃分時,小概率符號的子區間和大概率符號的子區間這樣排序:通常取靠近0的區間作為MPS的子區間,因此,若編碼的是MPS,則應向輸出碼流中加入LPS子區間的長度。這種約定要求把編碼的符號區別為LPS或MPS,而不是0或者1。因此在對一次二元判定編碼時,必須知道該判定的LPS子區間的長度和MPS的含義。

2.2 編碼約定和近似計算

Q-coder算術編碼器設置兩個寄存器:一個是概率區間寬度寄存器A,用于存放子區間的寬度,另一個是碼字寄存器C,用來表示概率區間的下限。編碼過程使用固定精度的整數運算和小數的整型表示形式,即X‘8000’代表十進制小數0.75。概率區間A的范圍是,并且當A的整型值小于X‘8000’時,把A翻倍,即把A限制在十進制范圍0.75–1.5之間,這個“翻倍”過程稱為重整化。當A進行重整化時,C也必須同時翻倍。為了防止寄存器C發生上溢,每隔一段時間,應將寄存器C的高位部分移出并送至另外的寄存器中。

將A限制在十進制范圍0.75~1.5之間,概率區間的劃分可以使用簡單的算術近似方法。如果LPS當前的概率估計值是基于Q-Coder算術編碼器的IP核設計,則子區間的精確計算如下進行:

基于Q-Coder算術編碼器的IP核設計

3 算術編碼器的實現

3.1 算術編碼流程

所有的設計都是用Verilog硬件描述語言編寫的,由上述描述可知,算術編碼器的輸出不僅和當前狀態有關,而且和輸入也相關,所以本文選擇Mearly有限狀態機[5]來描述復雜的控制模塊。整個設計的主有限狀態機如圖2所示。

基于Q-Coder算術編碼器的IP核設計
圖2 算術編碼主有限狀態機

3.2 模塊設計

duram是雙口sram作為片內存儲單元存儲輸入的數據,當采用FPGA進行驗證時,直接調用Altera公司的宏功能塊即可;ari_core是實現算術編碼的運算處理單元,包含一個存儲概率估值和當前MPS符號的表以及LPS和MPS編碼子程序;模塊control是數據流控制單元,用于組織片內存儲單元duram和運算處理單元ari_core以及片外sram的數據交換。模塊control是整個設計的控制單元,負責調度以上各個模塊,產生控制和聯絡信號以及地址信號。模塊結構原理如圖3所示。

基于Q-Coder算術編碼器的IP核設計

3.3 電路驗證

將布局布線后生成的文件下載到自行設計的一塊FPGA的PCI開發板里進行驗證,如圖4所示。板上是一片Altera cyclone系列FPGA ep1c12qfp240,該FPGA含有約25萬邏輯門、30KB內部RAM。PCI接口控制邏輯也是在FPGA中實現[6~8],然后編寫PCI驅動程序和應用程序,先由Jasper軟件處理,抽取軟件中量化模塊處理后的數據,輸入FPGA中進行處理,再將數據返回給軟件中的下一模塊,驗證本文設計的算術編碼IP核的正確性,并計算處理時間。

基于Q-Coder算術編碼器的IP核設計

4 實驗結果與分析

(1)將Verilog源程序在QuartusⅡ軟件中綜合后,得到的參數如下:

1)器件名稱:EP20K200efc484-2x;
     2)FPGA時鐘最高頻率:45.18MHz;
     3)Total logic elements:3660/8320 (44%)。

(2)功能驗證。目前,只有JBIG[8]標準中有驗證算術編碼器編碼正確性的測試向量,因此該測試向量被用以測試本文設計IP核的正確性。需要說明的是:JBIG標準中的算術編碼器會產生“FF AC”標志位[8],而JPEG2000中的MQ-Coder算術編碼器并不產生該標志位[1]。

將JBIG中的測試向量作為輸入,經過本文設計的算術編碼IP核處理后的結果如圖5所示,由圖5可知本文設計的算術編碼IP核完全正確。

基于Q-Coder算術編碼器的IP核設計

(3)由概述可知,Jasper軟件具有一定的權威性,因此在實驗中被使用。表1列出了對于同一個圖像文件,Jasper軟件中算術編碼模塊執行所需的時間和本文設計的算術編碼IP核執行所需的時間以及兩者時間之比。

基于Q-Coder算術編碼器的IP核設計

5 結論

本文提出的一種實現算術編碼的集成電路IP核,經過仿真和FPGA驗證,能夠符合JPEG2000標準,仿真結果表明,在相同的條件下,該IP核編碼所需時間僅約為軟件編碼所需時間的40%,從而大大提高了算術編碼的效率,使得將來其應用于實時處理系統成為可能;并且將來可以定制所需的ASIC電路,用于新一代數字照相機等具有廣泛市場前景的項目。

作者:毛文娟 王建立 張孝三 上海工程技術大學高職學院   來源:《計算機工程》2006年21期

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 黄色一级a毛片 | a一级毛片免费高清在线 | 一机黄色片 | 青草网在线观看 | 午夜一级黄色片 | a在线观看欧美在线观看 | 激情五月激情 | 国产区精品一区二区不卡中文 | 国产成人精品三级91在线影院 | 在线播放h | 黄色小视频在线免费观看 | 在线99热 | 欧美日韩国产三级 | 午夜人体视频 | 新有菜在线 | 国产午夜精品不卡观看 | 全部免费特黄特色大片视频 | 黄色短视频免费看 | 动漫精品一区二区三区四区 | 亚洲精品永久www嫩草 | 羞羞视频网站在线观看 | 久久人人爽人人爽人人爽 | 好男人社区成人影院在线观看 | 中文字幕视频一区 | ppypp日本欧美一区二区 | 男女爽爽无遮挡午夜视频在线观看 | 日韩网站在线 | 国产黄色的视频 | 全部毛片免费看 | 久久国产偷 | 就草草在线观看视频 | 成人禁在线观看 | 成人亚洲国产综合精品91 | 综合自拍亚洲综合图区美腿丝袜 | 国产午夜精品一二区理论影院 | 国产日韩欧美视频在线 | 521香蕉视频 | 日日日日操| 亚洲国产成人久久精品动漫 | 欧美另类tv | 我想看一级毛片免费的 |