亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SDRAM緩存的實時視頻圖像幾何校正系統(tǒng)

        2016-06-20 07:54:50陳文藝李龍龍劉禹韜
        電視技術(shù) 2016年5期

        陳文藝,李龍龍,劉禹韜,馮 晨

        (西安郵電大學(xué) a.通信與信息工程學(xué)院;b.電子工程學(xué)院, 陜西 西安 710061)

        ?

        基于SDRAM緩存的實時視頻圖像幾何校正系統(tǒng)

        陳文藝a,李龍龍b,劉禹韜a,馮晨b

        (西安郵電大學(xué) a.通信與信息工程學(xué)院;b.電子工程學(xué)院, 陜西 西安 710061)

        摘要:采用基于后向映射查找表結(jié)構(gòu)的幾何校正算法,結(jié)合雙線性插值算法和SDRAM的時序特性,利用FPGA內(nèi)部存儲資源設(shè)計了一個特殊的Cache來緩存圖像數(shù)據(jù),等效實現(xiàn)了對SDRAM緩存圖像四鄰域像素的快速隨機讀取。該方法處理延時小、實時性強、成本低,可實現(xiàn)高分辨率視頻圖像的實時幾何校正,對不同畸變視頻圖像校正,只需修改映射查找表。

        關(guān)鍵詞:FPGA;SDRAM;實時幾何校正;視頻圖像

        在現(xiàn)實生活和實際應(yīng)用中,經(jīng)常會遇到將視頻圖像投影到非平面屏幕上的情況,而所有的視頻圖像在設(shè)計時都是針對平面屏幕的,投射的圖像也是標(biāo)準(zhǔn)的矩形,當(dāng)將標(biāo)準(zhǔn)的視頻圖像投射到柱面或球面的非平面屏幕上時,視頻圖像畫面就會出現(xiàn)幾何變形失真,因此需對投影前的視頻圖像進行幾何校正,以抵消非平面屏幕幾何形狀造成的畸變[1]。對高分辨率的視頻圖像進行校正時,需要處理龐大的數(shù)據(jù)量,這就要求設(shè)計的硬件系統(tǒng)具有很高的實時性,而基于FPGA的視頻圖像實時幾何校正,可以滿足實時性要求高的場合[2]。

        在視頻圖像幾何校正處理過程中,通常采用灰度級插值算法來確定輸出圖像像素點的灰度值[3],需要對緩存圖像進行高速的隨機讀取,因此一般的視頻圖像實時幾何校正系統(tǒng)都采用SRAM作為圖像緩存,成本較高。本文提出了一種高效的圖像數(shù)據(jù)緩沖架構(gòu),利用FPGA內(nèi)部豐富的RAM資源,設(shè)計一個特殊的Cache緩存圖像數(shù)據(jù),在插值運算時系統(tǒng)直接高效訪問Cache獲取所需圖像數(shù)據(jù),從而等效實現(xiàn)了對SDRAM緩存圖像數(shù)據(jù)的快速隨機讀取。

        1系統(tǒng)組成及工作原理

        圖1示出了幾何校正系統(tǒng)的組成框圖,其中FPGA是整個系統(tǒng)的核心,后向映射表中的數(shù)據(jù)是壓縮預(yù)畸變系數(shù),片外存儲器SDRAM用來存儲圖像數(shù)據(jù)和預(yù)畸變系數(shù),這兩大塊數(shù)據(jù)分開存儲,起始地址分別為0和524 288,本系統(tǒng)對后向映射表中的數(shù)據(jù)進行壓縮是為了縮短數(shù)據(jù)寫入SDRAM的時間,并降低讀出這部分?jǐn)?shù)據(jù)的SDRAM帶寬占有率。

        圖1 幾何校正系統(tǒng)的組成框圖

        系統(tǒng)開始時先通過FPGA的控制把后向映射表中的數(shù)據(jù)寫入Flash中,再次上電后把Flash中的數(shù)據(jù)讀至片外存儲器SDRAM中。視頻輸入模塊負(fù)責(zé)輸入1 280×1 024@60 Hz的單色數(shù)字視頻圖像,然后通過FPGA的控制將并行的數(shù)字視頻信號轉(zhuǎn)換成Avalon—ST視頻信號流[4],并且按照塊及四鄰域像素的格式緩存至片外存儲器SDRAM。順序讀出SDRAM中的預(yù)畸變系數(shù),實時無損地解壓得到原始的預(yù)畸變系數(shù)即后向映射坐標(biāo)。根據(jù)映射坐標(biāo)計算出訪問SDRAM的讀地址,讀取圖像數(shù)據(jù),然后結(jié)合插值權(quán)值完成雙線性插值運算,得到預(yù)畸變圖像的像素值,同時按照VGA的顯示時序同步產(chǎn)生控制信號。視頻輸出模塊將插值后的數(shù)字視頻信號經(jīng)過D/A轉(zhuǎn)換后送給顯示器進行正常的顯示。

        2系統(tǒng)實現(xiàn)原理

        本系統(tǒng)綜合考慮價格、存儲容量、體積等因素選取SDRAM作為圖像存儲器和預(yù)畸變系數(shù)存儲器。雖然SDRAM控制時序比較復(fù)雜,無法滿足快速隨機的讀取數(shù)據(jù),但是可以通過其他方式來提高讀取效率,從而滿足系統(tǒng)的實時性。

        2.1預(yù)畸變系數(shù)的存取

        本文采用后向映射方法得到預(yù)畸變圖像中各像素點的預(yù)畸變系數(shù),即后向映射坐標(biāo)[5-6],通過MATLAB完成算法仿真生成后向映射表,具體算法實現(xiàn)見文獻[5]。如表1所示,后向映射坐標(biāo)由x,dx,y,dy四部分組成,其中x,y分別為像素點的列坐標(biāo)和行坐標(biāo),dx,dy分別為量化后的列坐標(biāo)和行坐標(biāo)的雙線性插值權(quán)值。如圖2所示,坐標(biāo)N(x+dx,y+dy)表示當(dāng)前輸出的預(yù)畸變圖像像素點M映射回原輸入圖像空間中的像素坐標(biāo)[7]。

        由于后向映射查找表中有1 280×1 024×32 bit=40 Mbit的數(shù)據(jù),數(shù)據(jù)量太大,導(dǎo)致讀出SDRAM時的總帶寬占有率高,無法滿足系統(tǒng)實時性,因此本系統(tǒng)對預(yù)畸變系數(shù)進行了壓縮,壓縮后的數(shù)據(jù)量只有原始數(shù)據(jù)量的1/4,壓縮算法通過MATLAB實現(xiàn)。在系統(tǒng)需要查表時,先從SDRAM讀出預(yù)畸變系數(shù),實時無損地解壓得到原始的后向映射坐標(biāo),然后再根據(jù)映射關(guān)系讀取圖像數(shù)據(jù),解壓算法在FPGA實現(xiàn)中。由于篇幅有限本文就不予詳細(xì)介紹壓縮和解壓原理。

        表1 后向映射坐標(biāo)數(shù)據(jù)格式

        圖2 輸出預(yù)畸變圖像到輸入標(biāo)準(zhǔn)矩形圖像的坐標(biāo)映射圖

        2.2圖像數(shù)據(jù)的存取

        本系統(tǒng)在進行雙線性插值[8]運算時需要四鄰域像素,如圖2所示,計算M點的像素值時需要N點周圍的四個像素值(P1.1,P1.2,P2.1,P2.2),這四個像素分布在原始圖像的相鄰兩行和兩列,然而SDRAM讀取一個圖像數(shù)據(jù),需要經(jīng)過行選通到列選通的延時tRCD、CAS潛伏期tCL的延時數(shù)據(jù)才能讀出來,而且當(dāng)需要讀取的下一個數(shù)據(jù)不在當(dāng)前選中的行時,需先發(fā)送預(yù)充電命令關(guān)閉激活的行,然后才能進行讀取操作,因此讀取效率低,肯定無法滿足本系統(tǒng)實時性要求。

        2.2.1圖像數(shù)據(jù)分塊思想

        將1 280×1 024@60 Hz的單色數(shù)字視頻圖像分成4×8的塊,SDRAM按照4×8塊的形式來存取圖像數(shù)據(jù),從而提高讀寫效率,滿足系統(tǒng)實時性。

        圖3為圖像數(shù)據(jù)分塊存儲方式映射圖,其中左圖為標(biāo)準(zhǔn)圖像數(shù)據(jù)格式,Px,y表示第x行,第y列的像素值,如P0,0表示第0行,第0列的像素值;右圖為分塊后的數(shù)據(jù)格式,Ku,v表示第u行,第v列的塊數(shù)據(jù),如:K0,0表示第0行,第0列的塊數(shù)據(jù),總共可以分成160×256個塊。

        圖3 圖像數(shù)據(jù)分塊存儲方式映射圖

        同時將圖像數(shù)據(jù)按四鄰域像素格式進行拼接并存儲,如表2所示,把四鄰域像素存儲在一個SDRAM單元中,方便之后的讀取和緩存操作。

        表2 四鄰域像素存儲格式

        從SDRAM讀取一個圖像數(shù)據(jù)需要6個時鐘周期,其效率為1/6=16.7%;采用4×4分塊存儲,每次可以讀取16個圖像數(shù)據(jù),其效率為:16/(16+6)=72.3%;采用4×8分塊存儲,每次可以讀取32個圖像數(shù)據(jù),其效率為:32/(32+6)=84.2%。對比可知,按4×8塊批量突發(fā)讀取數(shù)據(jù),極大地提高了SDRAM讀取圖像數(shù)據(jù)的效率。

        2.2.2數(shù)據(jù)緩存思想

        為了滿足系統(tǒng)的實時性,快速隨機地從SDRAM讀取四鄰域像素,本文借鑒Cache的工作原理[9-10],提出了分塊按順序突發(fā)讀取圖像數(shù)據(jù)的思想,利用FPGA內(nèi)部的存儲單元設(shè)計一個特殊的Cache,提前把雙線性插值所需的圖像數(shù)據(jù)存入Cache,以便在插值運算時可以直接訪問Cache獲取圖像數(shù)據(jù),避免直接訪問SDRAM造成讀取圖像數(shù)據(jù)的延時。如圖4所示,描述了分塊讀取圖像數(shù)據(jù)算法的實現(xiàn)思路。

        圖4 分塊存取圖像數(shù)據(jù)算法原理圖

        該算法的具體實現(xiàn)過程如下:

        第一,將1 280×1 024的數(shù)字視頻圖像按照4×8分塊及四鄰域的形式緩存,并寫入片外SDRAM。

        第二,讀取SDRAM中的預(yù)畸變系數(shù)并逐行逐像素地進行解壓,得到原始的后向映射坐標(biāo),然后計算像素的塊地址,根據(jù)塊地址先判斷數(shù)據(jù)是否命中Cache,如果沒有命中,從SDRAM中讀取塊數(shù)據(jù)存入Cache中;如果命中,無需操作,繼續(xù)下一個后向映射坐標(biāo)的判斷。同時將后向映射坐標(biāo)緩存至FIFO中。

        第三,從緩存器FIFO[11]讀出后向映射坐標(biāo),生成訪問Cache的映射地址,一次從Cache中讀出雙線性插值算所需的四鄰域像素數(shù)據(jù)。緩存器FIFO深度要足夠大,確保在進行插值運算時四鄰域像素能夠百分百命中Cache。

        第四,根據(jù)緩存器Cache讀出的4個相鄰像素值和后向映射坐標(biāo)中的權(quán)值,完成雙線性插值,得到該像素點的灰度值。

        2.3系統(tǒng)硬件算法的實現(xiàn)

        本系統(tǒng)要解決的核心問題是Cache和SDRAM的數(shù)據(jù)訪問,在插值運算時,F(xiàn)PGA無需直接訪問SDRAM獲取圖像數(shù)據(jù),只需要和Cache進行數(shù)據(jù)通信獲取圖像數(shù)據(jù),這就要求每次訪問Cache時,必須保證所需圖像數(shù)據(jù)能夠百分之百命中Cache。

        結(jié)合視頻圖像幾何校正系統(tǒng)的特點,Cache以4×8塊的方式來更新圖像數(shù)據(jù),構(gòu)成幀緩存器,根據(jù)后向映射坐標(biāo)生成訪問SDRAM的讀地址,讀取圖像數(shù)據(jù)塊到Cache中。在緩存SDRAM中圖像數(shù)據(jù)時,根據(jù)圖像的幾何畸變程度,來選擇需要緩存多少個圖像數(shù)據(jù)塊,本文實現(xiàn)的幾何校正系統(tǒng),采用3行塊,即160×3=480塊作為圖像緩存處理,就能夠滿足系統(tǒng)的要求。

        本文首先采用FIFO的設(shè)計思想來實現(xiàn)硬件算法,實現(xiàn)過程如下:如圖5所示,可以采用160個FIFO來等效模擬Cache進行仿真。FIFO存儲器的主要功能是實現(xiàn)480個塊的緩存,以便FPGA能夠快速隨機的讀取視頻圖像數(shù)據(jù)進行插值運算,灰色部分為等效的160個FIFO存儲器,循環(huán)自上而下刷新遍歷整幅圖像,構(gòu)成一個大的環(huán)形BUFFER,來完成畸變圖像的像素值緩存,最終實現(xiàn)一幀圖像的快速讀取。

        012157158159012……253254255圖5 FIFO實現(xiàn)硬件算法流程圖

        3畸變校正FPGA實現(xiàn)方案

        結(jié)合上述硬件算法原理的實現(xiàn)結(jié)果,確定緩存器設(shè)計的相關(guān)參數(shù),提出本系統(tǒng)的FPGA實現(xiàn)方案,如圖6所示,為實時視頻圖像幾何校正系統(tǒng)的FPGA實現(xiàn)框圖。

        圖6 幾何校正系統(tǒng)的FPGA實現(xiàn)框圖

        FPGA 硬件系統(tǒng)分為兩部分,一部分是利用SOPC技術(shù)配置的NIOS II 系統(tǒng),另一部分是幾何預(yù)畸變電路。其中NIOS II 系統(tǒng)主要負(fù)責(zé)系統(tǒng)的調(diào)度以及讀入和寫入壓縮預(yù)畸變系數(shù)的工作。幾何預(yù)畸變電路則是整個視頻圖像幾何校正系統(tǒng)的核心處理單元,如圖7所示,是幾何校正電路的實現(xiàn)框圖,主要完成單色數(shù)字視頻圖像的接收、按塊和四鄰域像素格式緩存圖像數(shù)據(jù)、解壓預(yù)畸變系數(shù)、Cache和SDRAM之間的數(shù)據(jù)交換、Cache中塊數(shù)據(jù)的替換策略[9-10],寫Cache和讀Cache的地址映射、插值運算以及VGA[12]輸出顯示控制等工作,各模塊功能如下:

        圖7 幾何校正電路詳細(xì)實現(xiàn)框圖

        BUFFER_4X8模塊:按塊及四鄰域像素格式準(zhǔn)備圖像數(shù)據(jù)。

        DECOMPRES模塊:預(yù)取一定數(shù)量的畸變系數(shù)并實時解壓,至少提前解壓一行的后向映射坐標(biāo),保證雙線性插值的連續(xù)性。

        CACHE_WR模塊:由塊地址判斷數(shù)據(jù)是否命中Cache;生成訪問SDRAM的讀地址以及Cache的寫地址。

        FIFO_CDATA模塊:緩存解壓后的后向映射坐標(biāo),緩存一行后輸出。

        CACHE_RD模塊:生成訪問Cache的讀地址,一次性讀取四鄰域像素。

        IMFIFO_CTL模塊:SDRAM讀寫預(yù)畸變系數(shù)和圖像數(shù)據(jù)控制電路。

        CACHE模塊:在FPGA內(nèi)部開辟4個獨立的雙端口RAM作為高速緩存器Cache來緩存視頻圖像,等效于硬件算法原理中的160個FIFO存儲器,4個獨立的雙口RAM分別用來存儲偶行偶列、偶行奇列、奇行偶列、奇行奇列像素,深度為3 840 byte,寬度為8 bit。

        BLINERA_I模塊:雙線性插值電路。

        VGA_CTL模塊:VGA顯示控制電路。

        4實驗結(jié)果及分析

        本系統(tǒng)是在ALTERA公司的DE2-70實驗平臺上進行驗證,主芯片為EP2C70F896C6[13],SDRAM是ISSI公司的IS42S16160B,用2片IS42S16160B構(gòu)成本系統(tǒng)所需的位寬為32 bit的SDRAM,系統(tǒng)的預(yù)畸變電路使用Verilog[14]語言編寫,并通過QuartusII 9.1和Modelsim6.2b對設(shè)計進行綜合仿真調(diào)試,設(shè)計按照視頻數(shù)據(jù)流的走向分模塊進行仿真驗證,這樣不僅可以提高效率,而且還能確保設(shè)計的正確性和可行性。

        將系統(tǒng)校正后的數(shù)字視頻信號轉(zhuǎn)換成VGA信號,輸出到顯示器觀察結(jié)果,校正結(jié)果如圖8所示。圖8a中的黑色區(qū)域是由特殊的灰度值0所定義的像素值,這些像素點的坐標(biāo)映射到輸入的標(biāo)準(zhǔn)矩形圖像時落在了界外,而圖8b中曲邊四邊形的形狀即是投影儀所需的預(yù)畸變圖像的形狀。通過數(shù)字投影儀,將圖8b圖像投影至對應(yīng)形狀的非平面屏幕,即可將其顯示成如圖8a所示的無畸變的投影圖像。

        圖8 輸入標(biāo)準(zhǔn)矩形圖像和輸出預(yù)畸變圖像

        5結(jié)論

        本文結(jié)合雙線性插值算法的特殊性和SDRAM的時序特性,借鑒Cache的工作原理,提出了圖像數(shù)據(jù)的四鄰域像素存儲機制和分塊按順序突發(fā)讀取圖像數(shù)據(jù)的思想,利用FPGA內(nèi)至的RAM資源,設(shè)計一個特殊的Cache,用來緩存SDRAM中的圖像數(shù)據(jù),從而能夠快速隨機獲取插值運算所需圖像數(shù)據(jù)。本系統(tǒng)的工作時鐘為108 MHz,處理的視頻圖像為1 280×1 024@60 Hz,校正效果良好,而且處理延時小、實時性強,傳統(tǒng)的校正系統(tǒng)需要多片SDRAM緩存圖像數(shù)據(jù)和校正參數(shù),本系統(tǒng)只需一片SDRAM就能實現(xiàn),因此成本低。如果要實現(xiàn)不同畸變率的視頻圖像的幾何校正,只需修改后向映射查找表和Cache的容量即可,因此本系統(tǒng)具有很高的工程應(yīng)用價值。

        參考文獻:

        [1]王健,陳文藝.投影圖像畸變的一種校正方法[J]. 西安郵電學(xué)院學(xué)報,2011,16(1):65-69.

        [2]鄭永瑞,李潔.基于FPGA的視頻圖像實時幾何畸變校正[J]. 電光與控制,2013,20(6):75-78.

        [3]黃思敏. 視頻圖像幾何校正卡的設(shè)計與實現(xiàn)[D]. 成都:電子科技大學(xué),2005.

        [4]鄧超,付揚.基于Avalon-ST接口幀讀取IP核的設(shè)計和應(yīng)用[J].電子技術(shù)應(yīng)用,2010,36(9):24-27.

        [5]劉亞強,陳文藝.桶形畸變圖像的一種校正方法[J].西安郵電學(xué)院學(xué)報,2012,17(2):27-30.

        [6]周秉鋒.一個基于線性變換的數(shù)字圖像自由拉伸算法[J].北京大學(xué)學(xué)報(自然科學(xué)版),1997,33(6):770-775.

        [7]陳文藝,田科.基于FPGA的實時視頻圖像幾何校正系統(tǒng)設(shè)計[J].電視技術(shù),2014,38(3):66-69.

        [8]徐雨明,文雙春.數(shù)字圖像插值算法的分析與實現(xiàn)[J].福建電腦,2007(1):91-94.

        [9]張喆. 處理器cache擴展數(shù)據(jù)集在FPGA的實現(xiàn)[D]. 北京:北京郵電大學(xué),2008.

        [10]黃河.計算機組成與體系結(jié)構(gòu)[M].北京:機械工業(yè)出版社,2006.

        [11]向厚振,張志杰. 基于FPGA視頻和圖像處理系統(tǒng)的FIFO緩存技術(shù)[J].電視技術(shù),2012,36(9):41-43.

        [12]謝磊.基于FPGA的VGA圖像控制器的設(shè)計與實現(xiàn)[J].新鄉(xiāng)學(xué)院學(xué)報,2009,26(6):51-53.

        [13]ALTERA. Cyclone II device family datasheet[EB/OL].[2015-09-22].http://www.altera.com/literature/hb/cyc2/cyc2_cii51001.pdf.

        [14]夏雨聞. Verilog數(shù)字系統(tǒng)設(shè)計教程[M]. 北京:北京航空航天大學(xué)出版社,2003.

        陳文藝(1964— ),教授,主要從事通信集成電路設(shè)計、視頻圖像實時處理及傳輸?shù)难芯浚?/p>

        李龍龍(1988— ),碩士研究生,主研視頻圖像處理;

        劉禹韜(1989— ),碩士研究生,主研信息處理技術(shù)及應(yīng)用;

        馮晨(1990— ),碩士研究生,主研視頻圖像處理。

        責(zé)任編輯:閆雯雯

        Real-time video image geometric correction system based on SDRAM cache

        CHEN Wenyia,LI Longlongb,LIU Yutaoa,F(xiàn)ENG Chenb

        (a.DepartmentofCommunicationandInformationEngineering;b.DepartmentofElectronicsEngineering,Xi’anUniversityofPostsandTelecommunications,Xi′an710061,China)

        Abstract:This design uses an algorithm of mapping lookup table architecture for geometric correction,combining with the bilinear interpolation algorithm and the timing characteristics of SDRAM,a special Cache is designed to cache the image data using the RAM resource in FPGA.It is equivalent to achieve a fast random access to the four neighborhood pixels of the SDRAM cache image.This method has the advantages of small processing time delay, strong real-time and low-cost,it can achieve real-time geometric correction of high resolution video images,it only needs to modify the mapping table for the correction of different distorted video images.

        Key words:FPGA; SDRAM; geometric correction;video image

        中圖分類號:TN911.73

        文獻標(biāo)志碼:A

        DOI:10.16280/j.videoe.2016.05.023

        作者簡介:

        收稿日期:2015-09-22

        文獻引用格式:陳文藝,李龍龍,劉禹韜,等. 基于SDRAM緩存的實時視頻圖像幾何校正系統(tǒng)[J].電視技術(shù),2016,40(5):105-109.

        CHEN W Y,LI L L,LIU Y T,et al. Real-time video image geometric correction system based on SDRAM cache [J].Video engineering,2016,40(5):105-109.

        天天影视性色香欲综合网| 久久久久久国产精品美女| 亚洲日本va午夜在线电影| 极品熟妇大蝴蝶20p| 亚洲欧洲日产国码久在线观看| 好爽~又到高潮了毛片视频| av天堂手机一区在线| 一本色道久久综合亚州精品| 一区二区三区精品免费| 蜜桃视频在线免费观看| 7777色鬼xxxx欧美色妇| 黑人巨茎大战欧美白妇| 久久香蕉免费国产天天看| 国产亚洲精品日韩综合网| 大屁股少妇一区二区无码| 国产精品一区一区三区| 国产真实一区二区三区| 久久人妻少妇嫩草av| 欧美性受xxxx白人性爽| 四月婷婷丁香七月色综合高清国产裸聊在线 | 久久99国产综合精品女同| 在线视频观看一区二区| 亚洲av无码国产精品色| 亚欧色一区w666天堂| 日日躁夜夜躁狠狠躁超碰97| YW亚洲AV无码乱码在线观看| 国产精品一区区三区六区t区| 国产黄色一区二区三区av| 欧美白人战黑吊| 久久久久久人妻一区二区三区| 亚洲aⅴ无码日韩av无码网站| 亚洲av粉色一区二区三区| 日本综合视频一区二区| 免费人成在线观看| 18禁无遮挡羞羞污污污污网站| 国产精品青草久久久久婷婷| 黄片午夜免费观看视频国产| 中文字幕人妻在线少妇| 天天摸夜夜摸夜夜狠狠摸| 最近日本中文字幕免费完整| 欧美成人免费看片一区|