《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > JPEG-LS多路并行譯碼的FPGA實現
JPEG-LS多路并行譯碼的FPGA實現
來源:微型機與應用2010年第19期
王成成,鄧家先,王海榮
(海南大學 信息科學與技術學院,海南 ???570228)
摘要: 提出了一種基于FPGA的JPEG-LS的多路并行譯碼系統,運用VHDL語言實現,以提高圖像的譯碼速度。系統主要分為檢測模塊、譯碼模塊和碼流分配模塊三部分。在檢測模塊中提取和去除頭文件的圖像信息,譯碼模塊則根據算法對圖像數據進行恢復,碼流分配模塊為多路并行算法的關鍵,利用流水線結構的思路采用乒乓操作將碼流從檢測模塊傳送到外部RAM。在譯碼時采用同樣的方法將數據送入多個譯碼模塊進行譯碼。
Abstract:
Key words :

摘  要: 提出了一種基于FPGA的JPEG-LS的多路并行譯碼系統,運用VHDL語言實現,以提高圖像的譯碼速度。系統主要分為檢測模塊、譯碼模塊和碼流分配模塊三部分。在檢測模塊中提取和去除頭文件的圖像信息,譯碼模塊則根據算法對圖像數據進行恢復,碼流分配模塊為多路并行算法的關鍵,利用流水線結構的思路采用乒乓操作將碼流從檢測模塊傳送到外部RAM。在譯碼時采用同樣的方法將數據送入多個譯碼模塊進行譯碼。
關鍵詞: 現場可編程邏輯門陣列;碼流分配;多路并行;流水線;乒乓操作

    JPEG-LS無損和近無損壓縮算法已經在醫療和遙感圖像領域得到了廣泛應用。在現有的硬件譯碼中實現高性能的JPEG-LS譯碼大都采用流水線處理方式[1]。并行運算在硬件譯碼中的應用使得其相對于軟件譯碼更有明顯的優勢。由于FPGA具有系統結構和邏輯單元靈活、集成度高、開發周期短、可適用于較大規模的電路等優點,因此本設計中采用FPGA作為硬件開發平臺,對圖片的譯碼采用多路并行的方式[2]來實現高速譯碼。為了節省系統資源,本設計采用四路并行譯碼。由于處理的圖像信息量比較大,在圖片處理過程中需要對數據進行緩存,而在芯片內部的RAM無法滿足要求的情況下,采用外掛RAM對從檢測模塊和解碼模塊出來的圖片信息進行緩存[3]。本多路并行譯碼系統主要由檢測模塊、譯碼模塊和碼流分配模塊組成。
1 檢測模塊
 檢測模塊用來對圖片信息的頭文件進行處理。對于每一種圖像壓縮算法,其頭文件都有固定的一種格式。在檢測模塊中,接收到頭文件信息后首先檢測標識號是否正確。為了正確提取頭文件中的圖像信息,設計中設置一個計數器對輸入的時鐘進行計數。如果標識號正確,則進入下一個狀態并且計數器開始計數;若錯誤則停留在當前狀態檢測下一個標識號,計數器保持為0。標識好并正確后去除標識號信息,從頭文件后面的信息中在不同的狀態根據計數器的不同分別提取出圖像的高、寬、精度等信息。頭文件信息提取完之后,根據碼流長度的值判斷選擇對數據進行緩存。當碼流長度依次遞減為0時,狀態選擇跳轉為最初狀態,等待下一幅圖片的輸入。
2 譯碼模塊
   譯碼模塊是對壓縮后的圖片信息進行恢復。JPEG-LS的編碼方法是一種利用Glomb編碼和上下文建模的編碼方法。
 建模建立在上下文的基礎上。在上下文建模時,每個樣本值都是以周圍幾個像素的值為條件的,要確定一個概率分布用來編碼當前樣本值。若樣本為x,如圖1所示,上下文是由圖中a、b、c、d 4個位置的重建樣本值來確定的。圖像數據的掃描順序是按從左到右從上到下進行。通過對4個重建樣本值計算出3個梯度值D1、D2、D3,然后根據3個梯度值決定對x位置的樣本值采用游長編碼還是采用常規編碼。當梯度值D1、D2、D3全為0時或者全部小于近無損壓縮控制的壓縮比控因子(NEAR)值時選擇游長編碼,否則選擇常規編碼。
    常規編碼主要是一個對預測值、預測誤差的編碼過程和一個變量更新過程。在上下文建模之后是預測過程。預測值是由如圖1所示的a、b、c、d位置的樣本重建值對x位置的樣本值的一個預測。預測誤差則是預測值與實際值之間的差值。預測誤差后則根據上下文對其修正補償在預測過程中的系統偏差。對近無損壓縮而言,要對預測誤差進行量化。

    在游長編碼中,如果a、b、c、d位置的樣本重建值的梯度值均為0,或者樣本重建值之間梯度值在近無損壓縮控制因子的范圍之內,則上下文建模選擇游長編碼。游長編碼過程不需要對樣本預測值和預測誤差編碼,編碼器從x位置開始對連續出現樣本值相同的樣本均用a位置的樣本值來重建,直到樣本值之間的梯度值不滿足要求,或者到本行結束時,結束游長編碼。
    圖像的解碼過程和編碼過程大致相同,即根據上下文之間重建樣本值的關系來確定x位置的樣本值,采用同樣的方式選擇是常規譯碼還是游長譯碼。
3 碼流分配模塊
3.1 碼流分配方案

    碼流分配模塊為多路并行算法的關鍵,也是本設計的頂層模塊,負責對輸入碼流[5]的走向進行調配。在本設計中采用4個外掛的RAM存儲解碼過程中的碼流數據。為了節省FPGA系統資源,本設計采用4路并行的方式,如圖2所示。首先碼流通過檢測模塊對圖像的頭文件進行處理,將處理后的結果順序緩存到RAM1和RAM2中。當緩存RAM寫滿之后,RAM中的數據送入4個譯碼模塊dec1、dec2、dec3、dec4開始譯碼。譯碼后的數據順序緩存到RAM3和RAM4中,然后顯示器循環調用RAM3和RAM4中的數據進行顯示。

    設計中將每個RAM的地址空間劃分為四個部分,分別存放一幀數據中4幅圖像的數據。在譯碼部分提取數據時也可根據RAM中存放圖片的位置對應提取出所要譯碼圖片的信息。為了提高設計的整體性能和效率,設計中對檢測模塊和譯碼模塊采用不同頻率的時鐘,在檢測模塊采用50 MHz的時鐘,譯碼模塊則采用90 MHz的時鐘。由于對RAM讀寫時鐘采用不同的頻率,保證了時序控制上有嚴格的要求。在第一個緩存周期中,從檢測模塊出來的數據采用乒乓操作的方法[4]首先存儲到RAM1的4個空間中。在第二個緩存周期,如果RAM1存儲滿、RAM2為空,則檢測輸出選擇信號將切換到RAM2上,開始對RAM2進行寫操作,同時譯碼模塊輸入選擇信號切換到RAM1并對RAM1中的4幅圖像的數據采用流水線方式4路并行譯碼。在第三個緩存周期中,如果RAM1譯碼完成、RAM2寫滿,則先將RAM1復位,再將檢測輸出選擇信號選擇RAM1,并對RAM1進行寫操作,譯碼輸入選擇信號選擇RAM2,開始對RAM2中的4幅圖像譯碼。對RAM3和RAM4的讀寫也采用相同的乒乓操作方式。在第三個緩存周期,譯碼輸出選擇RAM3,并對RAM3開始寫操作,當RAM3寫滿、RAM4為空時,進入第四個緩存周期,譯碼輸出選擇對RAM4寫操作,屏幕顯示調用RAM3中的數據。到下一個操作時序時,RAM3中的數據讀完、RAM4存儲滿,則對RAM3復位,譯碼輸出選擇RAM3,屏幕顯示調用RAM4中的數據。如此實現圖片的不間斷輸出。
3.2 乒乓操作并行控制的VHDL實現及仿真
    設計中的乒乓操作主要體現在對RAM1和RAM2的讀寫時序控制上。對RAM1和RAM2的寫操作采用50 MHz的時鐘,而讀操作則采用90 MHz的時鐘。本設計在Modeltech_6.3a仿真工具下做時序和功能仿真。測試文件采用10位精度壓縮后的碼流作為譯碼的輸入,選擇16數據線的RAM作為緩沖儲存器。
    設計中,用來控制RAM1寫信號的為碼流輸入判斷信號fram,當fram信號為1時則為有碼流輸入;data_valid用來控制是否為有效數據;fram_flag1作為判斷一幀數據的4幅圖像在RAM1中是否存儲完成的標志;fram_flag2作為判斷一幀數據的4幅圖像在RAM2中是否存儲完成的標志。如果一幀數據的4幅圖像在RAM1寫完則fram_flag1為1。同樣如果在RAM2中存儲完成則fram_flag2為1;ram1_ready為判斷RAM1是否準備好接收數據的標志。當ram1_ready為1時表示已經復位完成,準備接收數據;ram2_ready則為判斷RAM2是否準備好接收數據的標志;read_empty1為RAM1讀空信號;read_empty1_delay為read_empty1的一個時鐘的延遲信號;ram1_2為RAM1和RAM2之間的切換信號。ram1_2為0時表示選擇RAM1,為1時表示選擇RAM2;ram1_strm、ram2_strm為RAM中的輸入碼流信息;cnt1為以8為碼流計數,當其為奇數時RAM地址+1,當其為偶數時RAM地址不變。
    在50 MHz時鐘的上升沿,如果read_empty1=1、read_empty1_delay=0,則ram1_ready=1。如圖3所示為RAM1寫操作時各寫操作控制信號的波形圖。

    設計中用來控制RAM讀操作的信號有write_full1,它是判斷RAM1是否寫滿的標志。復位時,write_full1為0,當一幀輸入碼流存儲到RAM1中后,write_full1為1。RAM2的滿標志用write_full2信號來判斷。dec_end1為RAM1中信息譯碼結束標志,RAM1中信息譯碼結束時dec_end1為1,復位時dec_end1為0。dec_end1_delay為dec_end1的一個時鐘延遲信號。dec_end2和dec_end2_delay分別為RAM2譯碼結束標志和對譯碼標志的一個延時。dec_permit為RAM1、RAM2的譯碼允許標志。ram1_rd、ram2_rd分別為RAM1、RAM2的讀信號。dec_start1、dec_start2分別為RAM1和RAM2開始譯碼的標志位。
    當dec_end1_delay=0、dec_end1=1時,dec_permit=1。當dec_end2_delay=0、dec_end2=1時,dec_permit=0。
    當write_full1=1、dec_end1=0、dec_permit=0時,RAM1的譯碼開始標志位為1,表示開始對RAM1的譯碼。當write_full2=1、dec_end2=1、dec_permit=1時,RAM2的譯碼開始標志位為1,表示開始對RAM2的譯碼。
    圖4為RAM1讀操作控制波形圖。從圖中可以看出,4個譯碼模塊采用流水線的方式根據RAM的地址分別讀取4幅圖像的數據進行解碼。

    本設計采用4路并行譯碼的方式,芯片的面積利用率為90%,雖然占用的邏輯單元數量比較多,但是譯碼速度卻有很大提高,充分體現出面積和速度之間的關系。設計是在ISE7.1的軟件環境下進行綜合的。譯碼部分使用邏輯單元數目為4 414個,占所用邏輯單元總數的17%,使用片內RAM為11個,占片內RAM總數的3%,綜合頻率達到了135.485 MHz。采用90 MHz的時鐘譯碼,使得譯碼圖像輸出幀之間相隔約9 ms,真正實現了圖片譯碼的實時傳輸。在測試階段采用多幅遙感圖像對多路譯碼器進行了測試,實驗結果表明,在采用多路并行譯碼的情況下,能夠實現快速、準確的傳輸。本設計具有很好的可移植性,能夠應用到圖片處理的許多領域中。
參考文獻
[1] PAPADONIKOLAKIS M E, KAKAROUNTAS A P. Efficient high-performance implementation of JPEG2LS encoder[J]. Journal of Real-time Image, 2008(3):303-307.
[2] 王浩,劉文怡,韓志軍.多通道同步數據采集與處理系統的設計與實現[J].通信技術,2009,42(1):297-299.
[3] 莊懷宇,吳成柯,鄧家先,等.JPEG2000 T2編碼快速算法及硬件實現[J].系統工程與電子技術,2004,26(12):1939-1942.
[4] 王智,羅新民.基于乒乓操作的異步FIFO設計及VHDL實現[J].電子工程師,2005,31(6):13-16.
[5] 鄧家先,肖江,吳成柯,等.JPEG2000的重要性編碼[J].電路與系統學報,2003,8(5):145-148.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          免费观看一级特黄欧美大片| 欧美成人精品在线视频| 国产精品日韩欧美一区二区三区| 亚洲欧美日韩国产另类专区| 久久久不卡网国产精品一区| 亚洲欧洲一级| 亚洲精品美女在线观看播放| 久久久久国色av免费看影院| 在线国产精品播放| 在线观看一区二区精品视频| 亚洲欧美成aⅴ人在线观看| 久久视频在线免费观看| 亚洲国产精品一区在线观看不卡| 国产精品乱子久久久久| 欧美主播一区二区三区美女 久久精品人| 欧美亚洲成人精品| 噜噜噜噜噜久久久久久91| 亚洲欧美国产精品va在线观看| 国产精品久久久久久久久久久久久久| 在线精品一区| 久久岛国电影| 亚洲愉拍自拍另类高清精品| 国产精品高清在线观看| 激情成人av在线| 国产伦精品一区二区三区视频孕妇| 亚洲国产高清一区二区三区| 亚洲免费观看高清完整版在线观看| 亚洲第一区中文99精品| 久久se精品一区精品二区| 久久成人在线| 国产欧美日韩亚洲| 欧美精品免费在线观看| 国产真实精品久久二三区| 亚洲人成网站999久久久综合| 经典三级久久| 国产精品揄拍500视频| 国产精品毛片a∨一区二区三区|国| 欧美激情一区二区三区不卡| 欧美高清一区二区| 国产精品日本欧美一区二区三区| 国产精品夫妻自拍| 国产精品久久久久久久一区探花| a91a精品视频在线观看| 国产日韩欧美一二三区| 国产一区二区三区视频在线观看| 欧美视频在线观看 亚洲欧| 欧美日韩一区二区高清| 一卡二卡3卡四卡高清精品视频| 亚洲福利专区| 亚洲欧美在线免费观看| 99精品视频免费观看| 久久影院亚洲| 欧美成人一区二区三区| 久久成年人视频| 亚洲校园激情| 亚洲先锋成人| 久久久国产精品一区二区三区| 欧美一区二区三区四区在线观看地址| 国产一区二区三区观看| 在线看国产日韩| 欧美大学生性色视频| 国产欧美一区二区白浆黑人| 国产一区二区av| 国产精品久久久一本精品| 亚洲影院高清在线| 欧美一区二区大片| 一本色道久久综合亚洲精品不卡| 亚洲国产专区校园欧美| 国产精品一二三视频| 欧美国产成人在线| 中日韩美女免费视频网址在线观看| 国产精品theporn| 亚洲一区二区三区精品视频| 亚洲综合三区| 国内精品久久久久影院优| 欧美亚洲不卡| 国产日韩欧美在线视频观看| 欧美成人精品不卡视频在线观看| 欧美日韩在线一二三| 欧美在线观看天堂一区二区三区| 国产精品爱啪在线线免费观看| 欧美呦呦网站| 久久久综合网| 国产亚洲美州欧州综合国| 欧美色图天堂网| 亚洲国产欧美精品| 免费观看不卡av| 午夜精品短视频| 欧美高清视频www夜色资源网| 久久午夜国产精品| 免费中文日韩| 亚洲欧美视频在线观看视频| 免费在线播放第一区高清av| 篠田优中文在线播放第一区| 亚洲精品一品区二品区三品区| 亚洲一区二区三区在线| 欧美视频在线观看视频极品| 亚洲第一天堂av| 亚洲一本视频| 欧美日韩国内自拍| 欧美激情一区二区三区在线视频| 欧美日韩在线一区二区三区| 制服丝袜亚洲播放| 亚洲在线观看视频| 香港久久久电影| 欧美激情一区二区三区不卡| 欧美特黄a级高清免费大片a级| 美女性感视频久久久| 国产精品麻豆欧美日韩ww| 欧美激情第一页xxx| 激情欧美丁香| 欧美成人高清视频| 永久域名在线精品| 久久夜色撩人精品| 亚洲在线第一页| 亚洲精品久久| 亚洲毛片视频| 午夜精品久久久久久久久久久久久| 国产精品国产三级国产普通话三级| 亚洲尤物视频在线| 亚洲黄色片网站| 欧美三区在线观看| 一区二区三区视频在线播放| 欧美日韩一区二区欧美激情| 亚洲精品少妇| 久久av免费一区| 一区二区高清视频| 欧美精品91| 国产欧美日韩中文字幕在线| 欧美成人激情视频免费观看| 亚洲精品国久久99热| 亚洲一区二区三区色| 国产精品久久777777毛茸茸| 米奇777超碰欧美日韩亚洲| 国产亚洲欧洲997久久综合| 国产精品久久波多野结衣| 欧美精品www| 亚洲你懂的在线视频| 久久本道综合色狠狠五月| 亚洲成色777777在线观看影院| 欧美精品三级日韩久久| 国产精品永久免费视频| 午夜精品成人在线视频| 亚洲人精品午夜| 亚洲精品乱码久久久久久按摩观| 亚洲最新在线| 欧美在线中文字幕| 亚洲精品在线电影| 欧美激情精品| 久久一区免费| 久久久xxx| 亚洲一级网站| 久久精品日韩欧美| 国产伦精品一区二区三区四区免费| 欧美国产日韩二区| 国产亚洲综合在线| 亚洲视频在线一区观看| 亚洲区欧美区| 欧美精品久久99久久在免费线| 亚洲一区观看| 欧美高清在线精品一区| 久久久久久一区二区| 欧美黄色视屏| 欧美一级免费视频| 亚洲午夜影视影院在线观看| 国产精品久久午夜夜伦鲁鲁| 亚洲福利视频二区| 国产精品日韩欧美一区二区三区| 欧美在线播放一区二区| 国产目拍亚洲精品99久久精品| 欧美日韩p片| 夜夜爽av福利精品导航| 久久天天躁狠狠躁夜夜爽蜜月| 免费成人美女女| 国产精品婷婷午夜在线观看| 欧美日韩精品免费在线观看视频| 国产欧美精品一区二区色综合| 久久精品免视看| 亚洲美女淫视频| 亚洲黄色影片| 免播放器亚洲一区| 亚洲第一福利在线观看| 国产精品成人在线观看| 在线观看日韩www视频免费| 国产精品视频第一区| 久久这里只精品最新地址| 亚洲免费激情| 欧美精品成人一区二区在线观看| 一区精品在线播放| 中日韩美女免费视频网址在线观看| 国产欧美在线播放| 激情综合激情| 99国内精品久久久久久久软件| 西瓜成人精品人成网站| 国产精品久久久免费| 亚洲少妇最新在线视频| 这里只有精品电影| 亚洲一区制服诱惑| 国产综合精品| 亚洲一区二区伦理| 国产亚洲一本大道中文在线| 国产精品久久久久久久一区探花| 久久理论片午夜琪琪电影网| 欧美另类女人| 黄色成人在线网址| 国产精品国产精品国产专区不蜜| 亚洲成色www8888| 亚洲激情啪啪| 国产欧美日韩不卡免费| 国产手机视频一区二区| 国产精品久久久久久av下载红粉| 欧美日本国产精品| aa亚洲婷婷| 国产亚洲a∨片在线观看| 欧美国产日韩二区| 亚洲第一精品久久忘忧草社区| 国产亚洲精品v| 韩国一区二区三区美女美女秀| 黑人巨大精品欧美黑白配亚洲| 免费日韩一区二区| 一本色道久久综合亚洲精品婷婷| 麻豆久久精品| 久久久精品国产一区二区三区| 午夜免费电影一区在线观看| 亚洲精品网址在线观看| 一区二区三区日韩精品| 欧美精品成人91久久久久久久| 久久久青草婷婷精品综合日韩| 欧美—级a级欧美特级ar全黄| 国产精品成人免费| 91久久精品一区二区别| 国产精品s色| 午夜亚洲性色福利视频| 欧美日韩在线影院| 欧美日韩一区三区| 日韩写真视频在线观看| 国产一区欧美| 国产精品久久久久aaaa| 国产精品高清一区二区三区| 亚洲激情第一区| 另类人畜视频在线| 伊人久久亚洲影院| 国产精品久久久久国产精品日日| 麻豆av福利av久久av| 免费成人在线观看视频| 欧美日韩福利视频| 国产老肥熟一区二区三区| 欧美 日韩 国产精品免费观看| 亚洲综合首页| 国外视频精品毛片| 欧美日本一区二区视频在线观看| 欧美日韩午夜剧场| 一区二区欧美在线观看| 欧美在线高清视频| 欧美日韩免费观看中文| 国产一区二区三区视频在线观看| 欧美性大战久久久久久久蜜臀| 国产伦理精品不卡| 免费欧美在线视频| 欧美激情2020午夜免费观看| 国产精品av久久久久久麻豆网| 欧美黄色一区二区| 黑人极品videos精品欧美裸| 欧美成人免费全部观看天天性色| 性做久久久久久| 国内久久精品| 欧美视频在线观看免费| 久久久久成人精品| 狠狠狠色丁香婷婷综合久久五月| 国产精品稀缺呦系列在线| 国产日韩欧美一二三区| 亚洲片在线观看| 亚洲视频播放| 国产精品亚洲一区| 久久久久久日产精品| 欧美日韩中文字幕| 欧美一区二区精品| 欧美jizzhd精品欧美喷水| 欧美自拍偷拍| 媚黑女一区二区| 亚洲午夜视频在线| 亚洲天堂视频在线观看| 亚洲精品国精品久久99热一| 亚洲国产精品成人| 免费日韩精品中文字幕视频在线| 亚洲美女av网站| 久久久久久一区二区三区| 一区二区精品| 国产精品一国产精品k频道56| 欧美日韩国产精品自在自线| 亚洲免费高清视频| 国产一区二区三区在线观看视频| 欧美成人精品激情在线观看| aa成人免费视频| 在线不卡视频| 欧美天天综合网| 一二三区精品福利视频| 久久久久久网站| 欧美高清视频一区二区三区在线观看| 国产精品永久免费观看| 欧美激情一区二区三区全黄| 好看的av在线不卡观看| 久久久人成影片一区二区三区观看| 国产精品亚洲一区| 国产三级欧美三级日产三级99| **欧美日韩vr在线| 欧美成人亚洲成人日韩成人| 欧美精品18videos性欧美| 欧美在线免费| 国产午夜精品全部视频在线播放| 伊人久久亚洲影院| 亚洲一区在线播放| 在线亚洲电影| 噜噜噜躁狠狠躁狠狠精品视频| 一区在线免费观看| 欧美视频一区二| 国产精品欧美精品| 亚洲免费观看高清完整版在线观看| 好吊成人免视频| 亚洲香蕉成视频在线观看| 国产精品视频一区二区三区| 久久这里有精品视频| 欧美久久久久| 欧美精品成人91久久久久久久| 国产精品一区二区你懂的| 欧美视频免费| 免费的成人av| 亚洲一区二区三区精品在线|