999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高吞吐率低時延圖像DCT 處理器設(shè)計*

2021-10-01 02:39:50劉思軍秦明偉劉多強(qiáng)
電子技術(shù)應(yīng)用 2021年9期
關(guān)鍵詞:結(jié)構(gòu)設(shè)計

劉思軍 ,秦明偉 ,劉多強(qiáng)

(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010;2.中國直升機(jī)設(shè)計研究所,江西 景德鎮(zhèn) 333000)

0 引言

DCT 變換運算量大,是圖像處理中計算復(fù)雜、耗時長的運算單元。目前學(xué)界提出了兩種快速DCT 變換算法:一類是尋求類似于FFT的蝶形算法來計算DCT[1],另一類是根據(jù)DCT 變換的規(guī)律尋求快速算法[2]。在第二類算法中,最常用的快速算法是行列分解法,該算法最初由Chen 等人提出[3]。典型的圖像DCT 處理器的輸入端采用串行輸入機(jī)制,在進(jìn)行DCT 變換前進(jìn)行串并轉(zhuǎn)換[4],吞吐率不高,耗時長,實時性差,無法應(yīng)用于高分辨率、高幀率視覺測量場景。

針對高速大容量圖象的處理,馬林[5]等人針對2 048×2 048 像素、幀頻為150 f/s的高速圖像數(shù)據(jù)設(shè)計了存儲與實時顯示系統(tǒng),便于延長記錄時間和顯示;楊志勇[6]等人針對星載圖像高速大容量存儲的文件化壞塊管理進(jìn)行了設(shè)計。本文從圖像壓縮變換角度延長記錄時間和節(jié)省數(shù)據(jù)存儲空間,針對高速風(fēng)洞試驗中視覺測量設(shè)備產(chǎn)生的分辨率可達(dá)5 120 像素×5 120像素、幀率達(dá)80 f/s 以上的高分辨率、高幀率海量圖像數(shù)據(jù)的實時壓縮問題,研究設(shè)計了一種應(yīng)用于高速圖像JPEG 壓縮編碼的高吞吐率、低延時的DCT 處理器。

1 DCT 算法

1.1 DCT 變換定義

若{X(m)|m=0,1,…,N-1}是對帶寬有效信號x(t)取樣得到的數(shù)據(jù)序列,共N 個樣值,其1D-DCT 定義為[7]:

式中,Y(u)為第u 個離散余弦變換系數(shù),u 為廣義頻率變量,u=0,1,…,7。當(dāng)u=0,c(u)=;其他情況下,c(u)=1。

1D-DCT的定義可推廣到2D-DCT。設(shè)一個大小為N×M的像素塊,{X(i,j)|i=0,1,…,M-1;j=0,1,…,N-1}為二維圖像信號數(shù)據(jù)矩陣,其二維離散余弦變換定義為[8]:

1.2 DCT 變換快速算法

若直接按照式(2)計算一個8×8的圖像矩陣,則一次2D-DCT 變換共需要4 096 次乘法和4 032 次加法,不論是通過軟件還是硬件實現(xiàn)該算法,都需要消耗大量資源。觀察定義式(2)可知,2D-DCT 變換具有正交性和和對稱性,基于此規(guī)律,很多2D-DCT 快速算法被提出。為方便描述,將N=8的1D-DCT 變換的定義式重寫如下:

若將式(3)寫成矩陣的形式,則可表示為:

其中,i=0,1,2,…,7;j=0,1,2,…,7。

根據(jù)式(5)和系數(shù)約束條件,可得到相應(yīng)的系數(shù)矩陣:

式(6)第一行作了數(shù)據(jù)上的處理,根據(jù)式(6) 和系數(shù)約束條件,可計算出第一行為定值,剛好等于c(4)。

設(shè)X=[X(0),X(1),X(2),X(3),X(4),X(5),X(6),X(7)]為輸入的一行信號序列,Y=[Y(0),Y(1),Y(2),Y(3),Y(4),Y(5),Y(6),Y(7)]為1D-DCT 變換后輸出的一行信號序列。根據(jù)式(4)和式(6),可得:

式(7)進(jìn)行展開計算后,利用對稱性進(jìn)行奇偶分解,可得到:

根據(jù)上式計算8 點1D-DCT 只需要32 次乘法和32次加法。

式(8)、式(9)兩式展開,可以得到如圖1 所示的1DDCT 算法流圖。

2D-DCT的矩陣表示為:

其中,C 為DCT的系數(shù)矩陣,CT為C的轉(zhuǎn)置。令Z=CX,則:

所以8×8的圖像矩陣的2D-DCT 變換分為兩步:首先計算Z=CX,得到1D-DCT的結(jié)果(逐行計算),第二步是將中間結(jié)果Z 進(jìn)行轉(zhuǎn)置后作為第二次1D-DCT 變換的輸入,再次計算1D-DCT(逐列計算),得到的結(jié)果為圖像塊的2D-DCT 變換結(jié)果Y的轉(zhuǎn)置YT,基于該思想即可實現(xiàn)DCT 變換的行列分解快速算法。

在對2D-DCT 變換硬件設(shè)計時,1D-DCT 一般采用分布式算法(Distributed Arithmetic,DA)[9-10]或者流圖算法(Flow-Graph Algorithm,F(xiàn)GA)[11]實現(xiàn)。DA 算法是一種基于查找表和累加器計算結(jié)果的位級重構(gòu)算法,其基本思想是通過查找ROM 表,利用ROM 和累加器代替乘法器[12-13]。DA 算法并行處理時需要使用大量ROM 資源,查詢后經(jīng)過累加移位等操作,控制變得復(fù)雜。由于對ROM的頻繁訪問和位串行實現(xiàn)算法結(jié)構(gòu)的采用,數(shù)據(jù)處理速度受到限制,難以獲得很高的時鐘頻率[14]。本文采用基于圖1 所示的流圖算法,計算過程采用流水線處理方式,提升處理速度,減少運算時間。

圖1 1D-DCT 算法流圖

2 架構(gòu)設(shè)計

2.1 一般DCT 變換結(jié)構(gòu)

根據(jù)行列分解算法可知,將2D-DCT 分解為兩次1D-DCT 變換。行列變換法實現(xiàn)2D-DCT 有兩種硬件實現(xiàn)結(jié)構(gòu):分時循環(huán)結(jié)構(gòu)和全流水結(jié)構(gòu)。前者行列變換采用同一個1D-DCT 變換單元,其結(jié)構(gòu)如圖2所示,該結(jié)構(gòu)雖然節(jié)約資源,但是限制了2D-DCT 變換的速度,實時性差。全流水結(jié)構(gòu)如圖3 所示,采用兩個1D-DCT 變換核分別處理行變換和列變換,采用乒乓操作進(jìn)行中間數(shù)據(jù)的存儲和轉(zhuǎn)置操作,實現(xiàn)流水線處理。

圖2 分時循環(huán)DCT 變換結(jié)構(gòu)

圖3 全流水線DCT 變換結(jié)構(gòu)

對于這兩種DCT 變換結(jié)構(gòu),輸入端數(shù)據(jù)經(jīng)過8 個時鐘完成串并轉(zhuǎn)換后,再將8 個像素并行送入1D-DCT 變換單元,這樣的結(jié)構(gòu)能夠處理低速圖像,吞吐率受限。例如,一個DCT 處理器在200 MHz的工作時鐘下,每個時鐘輸入一個8 bit 像素,則吞吐率為200 MB/s。但對于圖像源的數(shù)據(jù)率可達(dá)2 GB/s的高速圖像處理系統(tǒng),為了保證圖像數(shù)據(jù)在處理過程中不丟失,則必須保證圖像處理系統(tǒng)的吞吐率可達(dá)2 GB/s 以上,因此必須考慮設(shè)計新的DCT 處理器結(jié)構(gòu)。

2.2 DCT 變換結(jié)構(gòu)設(shè)計

整個DCT 處理器設(shè)計結(jié)構(gòu)如圖4 所示,主要分為三部分:讀控制器、數(shù)據(jù)預(yù)處理、DCT 算法處理單元。讀控制器從圖像行緩存模塊FIFO 陣列中讀取數(shù)據(jù),然后傳輸至DCT 算法處理模塊完成后續(xù)操作。前級的圖像行緩存的數(shù)據(jù)源按照Camera Link 通信協(xié)議[15]從外部模塊寫入,包含4 個視頻數(shù)據(jù)信號:幀有效信號FVAL、行有效信號LVAL、數(shù)據(jù)有效信號DVAL 和數(shù)據(jù)DATA。從圖4中可以看出,整個設(shè)計架構(gòu)是一種并行流水線處理結(jié)構(gòu),設(shè)計了兩個DCT 變換核,以此提高處理器吞吐率。

3 詳細(xì)設(shè)計

3.1 讀控制器設(shè)計

讀控制器完成從圖像緩存器中讀取圖像數(shù)據(jù),讀數(shù)據(jù)過程通過一個狀態(tài)機(jī)實現(xiàn)。圖4中的FIFO_A 陣列和FIFO_B 陣列構(gòu)成乒乓緩存,每個FIFO 陣列由8 個FIFO組成,用于緩存8 行圖像。系統(tǒng)啟動后,讀控制器首先從8 個FIFO 均已寫滿的FFIO_A 陣列中的第一個FIFO 開始讀取一個128 bit 有效數(shù)據(jù),第二個時鐘時在狀態(tài)機(jī)的切換控制下讀FIFO_A 陣列的第二個FIFO。以此類推,讀了第8 個FIFO 后又回到讀第1 個FIFO,如此循環(huán)操作,讀空FIFO_A 陣列,接著以同樣的方式讀FIFO_B 陣列。

3.2 數(shù)據(jù)預(yù)處理

該模塊主要功能是將每次輸入的128 bit 數(shù)據(jù)分割為16 個數(shù)據(jù)段,每個數(shù)據(jù)段即為一個8 bit 像素值,然后將每個像素值都減去固定值128 后轉(zhuǎn)變?yōu)橛蟹枖?shù)輸出,送入DCT 變換處理單元。數(shù)據(jù)傳輸至DCT 處理單元時,將輸入數(shù)據(jù)高位分割出來經(jīng)過有符號化處理后的8 個數(shù)據(jù)發(fā)送至DCT_A 模塊,將低位分割出來經(jīng)過有符號化處理后的8 個數(shù)據(jù)發(fā)送至DCT_B 模塊,16 個數(shù)據(jù)并行輸出。

3.3 DCT 變換單元設(shè)計

從圖4 所示的架構(gòu)圖可以看出,DCT 變換單元分為DCT_A 和DCT_B 兩個結(jié)構(gòu)完全相同的模塊,數(shù)據(jù)處理時相互獨立,完全并行操作。因DCT_A 模塊與DCT_B 模塊結(jié)構(gòu)完全相同,在此僅給出DCT_A 模塊的設(shè)計結(jié)構(gòu),如圖5 所示。在輸入數(shù)據(jù)有效時,同時輸入8×8 圖像塊的一行8 個有符號數(shù)據(jù),然后依次完成一維DCT 變換換、轉(zhuǎn)置、第二次一維DCT 變換。該模塊一個時鐘并行處理8 個輸入數(shù)據(jù),完成DCT 計算后,同時輸出8 個計算結(jié)果。

圖4 2D-DCT 處理器設(shè)計結(jié)構(gòu)

圖5 DCT_A 模塊設(shè)計結(jié)構(gòu)圖

由于FPGA 處理浮點數(shù)將消耗大量資源,需要將浮點數(shù)轉(zhuǎn)化為定點整數(shù)進(jìn)行運算。在設(shè)計中,考慮到計算精度,將變換系數(shù)擴(kuò)大4 096 倍,然后取整作為固定系數(shù)參與運算。結(jié)合式(9),擴(kuò)大4 096 倍并四舍五入取整后的c(1)~c(7)依次為2 009、1 892、1 703、1 448、1 138、784、400。根據(jù)式(9)和式(10),采用3 個處理步驟完成1D-DCT 運算。實現(xiàn)1D-DCT 變換的具體過程可以通過表1 說明。在計算過程中,一共使用24 個乘法器、28 個加法器。3 個步驟構(gòu)成流水線處理結(jié)構(gòu),對于一個8×8圖像子塊的1D-DCT 變換,只需要11 個時鐘即可完成。

表1 1D-DCT 變換單元數(shù)據(jù)處理過程

在表1中,add0、add1、add2、add3、sub0、sub1、sub2、sub3為1D-DCT 第一步計算的結(jié)果,將第一步的結(jié)果作為第二步的輸入得到第二步的運算結(jié)果,即q0、q1、q2、q3、q4、q5、q6、q7、q8、q9、q10、q11的值,再將第二步的結(jié)果作為第三步的輸入,從而完成1D-DCT的計算。兩次1D-DCT 變換結(jié)構(gòu)相同,只需要將相關(guān)的數(shù)據(jù)端口和片內(nèi)寄存器適配對應(yīng)的數(shù)據(jù)位寬。為了減小計算誤差,第一次1D-DCT 變換的結(jié)果直接送入轉(zhuǎn)置單元,在第二次1D-DCT 變換輸出時,通過截斷丟棄低位保留高位的操作方法,將運算得到的結(jié)果縮小224倍,同時完成四舍五入取整輸出。

3.4 轉(zhuǎn)置單元設(shè)計

通常中間結(jié)果用RAM 存儲起來,然后通過讀地址操作完成行列轉(zhuǎn)換,但考慮到處理速度和操作靈活性,本設(shè)計利用寄存器組完成轉(zhuǎn)置操作。為了減少圖像塊處理時間等待消耗,采用乒乓操作技術(shù),設(shè)計兩個寄存器組實現(xiàn)連續(xù)讀寫,提高吞吐率和實現(xiàn)低時延。每個寄存器組由64 個寄存器組成,構(gòu)成8×8的寄存器陣列,用于緩存8×8 圖像塊的1D-DCT 變換得到的64 個數(shù)據(jù)結(jié)果。8 個時鐘后,64 個寄存器已經(jīng)完成數(shù)據(jù)寄存,然后按照8×8 矩陣的列順序讀出。

4 實驗與分析

4.1 MATLAB 平臺算法仿真

在進(jìn)行DCT 變換處理器用FPGA 進(jìn)行算法硬件實現(xiàn)前,通過MATLAB 完成相應(yīng)的算法開發(fā)和數(shù)值分析。在MATLAB 程序中,讀取一幅分辨率為5 120×5 120的灰度圖像,將無符號的像素值轉(zhuǎn)化為有符號數(shù),經(jīng)過8×8分塊,然后根據(jù)DCT 算法實現(xiàn)DCT 變換。為方便顯示計算結(jié)果,以原始灰度圖像前4 個8×8 圖像塊的DCT 變換結(jié)果為例,給出MATLAB 平臺計算DCT 變換的結(jié)果,如圖6 所示。

圖6 MATLAB 平臺計算DCT 變換結(jié)果

4.2 FPGA 板級調(diào)試與分析

DCT 處理器在Vivado 集成環(huán)境上設(shè)計完成,當(dāng)仿真驗證通過后,下載至FPGA 板卡上進(jìn)行板級調(diào)試。為了測試圖像處理系統(tǒng)的實際工作情況,DCT 處理器與圖像采集、緩存和圖像8×8 分塊等功能模塊進(jìn)行合并,完成圖像采集到變換的處理過程。板級測試時,硬件管理器實時捕獲的待測信號如圖7 和圖8 所示。從圖7 可以看出,圖像數(shù)據(jù)從輸入DCT 單元到輸出,只需要16 個時鐘周期,完成一個8×8 圖像塊的2D-DCT 變換,只需要24 個時鐘周期。圖8 是將數(shù)據(jù)波形觀察窗口進(jìn)行了放大,便于觀察DCT 處理器的計算結(jié)果。

圖7 ILA 捕獲DCT_B 部分?jǐn)?shù)據(jù)和時序

圖8 FPGA 計算DCT 變換結(jié)果

從圖6 和圖8中可以看出,DCT 變換在MATLAB 平臺上的仿真結(jié)果與在FPGA中實際計算結(jié)果完全一致。在設(shè)計驗證過程中,針對不同的數(shù)據(jù)源進(jìn)行重復(fù)性測試,實驗結(jié)果表明,在圖像分辨率為5 120×5 120、幀率為116 f/s、數(shù)據(jù)率為3 GB/s的連續(xù)幀圖像數(shù)據(jù)源下,處理過程中數(shù)據(jù)無丟失,平均每幀圖像的處理時間不超過10 ms。針對不同的數(shù)據(jù)率圖像源進(jìn)行測試,經(jīng)過多次重復(fù)實驗,得到DCT 變換單元的性能測試結(jié)果,如表2 所示。

表2 DCT 變換單元性能測試結(jié)果

5 結(jié)論

本文所設(shè)計的基于FPGA的高速圖像DCT 處理器能夠?qū)崟r處理高分辨率、高幀率時序圖像。采用并行流水結(jié)構(gòu)設(shè)計,在DCT 處理器中設(shè)計兩個DCT 變換核,可同時處理16 個像素,實現(xiàn)了數(shù)據(jù)率高達(dá)3 GB/s 圖像DCT 變換,此時平均單幀圖像處理時間在10 ms 以內(nèi),滿足高吞吐率、高精度、低時延要求。設(shè)計的DCT 處理器具備靈活性和可移植性,可根據(jù)需要選擇相應(yīng)模塊集成到圖像JPEG 壓縮編碼器中,實現(xiàn)高速圖像實時壓縮,具有較大的應(yīng)用價值。

猜你喜歡
結(jié)構(gòu)設(shè)計
《形而上學(xué)》△卷的結(jié)構(gòu)和位置
何為設(shè)計的守護(hù)之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
論結(jié)構(gòu)
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結(jié)構(gòu)的應(yīng)用
模具制造(2019年3期)2019-06-06 02:10:54
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
論《日出》的結(jié)構(gòu)
創(chuàng)新治理結(jié)構(gòu)促進(jìn)中小企業(yè)持續(xù)成長
主站蜘蛛池模板: 欧美国产在线看| 中文字幕日韩欧美| 69精品在线观看| 欧美另类第一页| 91精品啪在线观看国产| 女人毛片a级大学毛片免费| 真实国产乱子伦视频| 色婷婷亚洲综合五月| 亚洲国模精品一区| 国产欧美网站| 老熟妇喷水一区二区三区| 亚洲日韩图片专区第1页| 欧美一区二区自偷自拍视频| 亚洲精品在线影院| 欧美性猛交一区二区三区| 一区二区三区精品视频在线观看| 一本大道无码日韩精品影视| 一级毛片a女人刺激视频免费| 一区二区欧美日韩高清免费| 国产高清在线精品一区二区三区| 国产人前露出系列视频| 国产成人区在线观看视频| 成人无码区免费视频网站蜜臀| 国产视频久久久久| 国产成人高清精品免费5388| 在线色国产| 97在线免费视频| 亚洲专区一区二区在线观看| 青青草原国产免费av观看| 国产视频a| 日韩免费视频播播| 国产精品主播| 黄色网站不卡无码| 国产原创演绎剧情有字幕的| 精品一區二區久久久久久久網站| 成人国产三级在线播放| 爱做久久久久久| 99尹人香蕉国产免费天天拍| 日韩成人在线网站| 激情综合网激情综合| 日韩精品毛片| 亚洲欧美日韩综合二区三区| 丰满人妻久久中文字幕| 亚洲精品少妇熟女| 国产精品区视频中文字幕| 国产一区亚洲一区| 国产在线拍偷自揄拍精品| 激情综合网激情综合| 国产成人精品男人的天堂 | 国产极品粉嫩小泬免费看| 亚洲人成网站18禁动漫无码| 99热这里只有成人精品国产| 黄色三级网站免费| 久久国产精品国产自线拍| 国产三级国产精品国产普男人| 国产网站黄| 青青网在线国产| 黄色网页在线观看| 又爽又大又黄a级毛片在线视频 | 综合色亚洲| 国产亚洲精品在天天在线麻豆| 91麻豆国产精品91久久久| 九九线精品视频在线观看| 无码免费视频| 久久这里只有精品66| 国产性精品| 99精品伊人久久久大香线蕉 | 免费无遮挡AV| 久久99国产视频| 巨熟乳波霸若妻中文观看免费 | 97亚洲色综久久精品| 日本黄色a视频| 自拍亚洲欧美精品| 一级毛片网| 日本成人在线不卡视频| 欧美色99| 永久免费无码成人网站| 五月婷婷欧美| 久久国产高清视频| 亚洲午夜天堂| 国产白丝av| 欧美亚洲综合免费精品高清在线观看|