国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的ITU-656標(biāo)準(zhǔn)視頻解碼及存儲系統(tǒng)設(shè)計

2016-12-23 07:25:53王水魚李艷婷
關(guān)鍵詞:解碼像素控制器

王水魚,李艷婷

(西安理工大學(xué) 自動化與信息工程學(xué)院,陜西 西安 710048)

?

基于FPGA的ITU-656標(biāo)準(zhǔn)視頻解碼及存儲系統(tǒng)設(shè)計

王水魚,李艷婷

(西安理工大學(xué) 自動化與信息工程學(xué)院,陜西 西安 710048)

本文主要從視頻圖像采集系統(tǒng)出發(fā),針對基于FPGA視頻采集系統(tǒng)中需要實時顯示和高效存儲視頻數(shù)據(jù)的問題,設(shè)計了視頻解碼和SDRAM存儲模塊。在整個系統(tǒng)中使用CCD攝像頭將采集到的模擬信號經(jīng)解碼芯片ADV7181B解碼后,轉(zhuǎn)換為數(shù)字信號,并使用乒乓存儲方法存儲在SDRAM中,以方便提供給后期其他操作。在分析了視頻解碼及SDRAM的基本原理和主要參數(shù)的基礎(chǔ)上,利用Verilog語言實現(xiàn)了將有效視頻數(shù)據(jù)分離出來并串行輸出,同時也將圖像分辨率調(diào)整為符合VGA顯示的像素大小。另一方面通過乒乓緩存也保證了實時性、高速度的數(shù)據(jù)存儲。最后,經(jīng)過Modelsim仿真驗證,證明了本設(shè)計的有效性。

視頻解碼;ITU-656;SDRAM;乒乓緩存

0 引言

圖1 視頻采集系統(tǒng)框圖

視頻圖像采集系統(tǒng)應(yīng)用非常廣泛,隨著計算機通信技術(shù)的不斷發(fā)展,F(xiàn)PGA以其高性能、低開發(fā)成本等優(yōu)點廣泛應(yīng)用于視頻和圖像處理領(lǐng)域[1],因此,更加深入地研究基于FPGA的實時圖像采集系統(tǒng), 對于視頻監(jiān)控系統(tǒng)、高性能的圖像處理等都具有極其重要的作用。本文主要研究的內(nèi)容是基于FPGA的視頻采集及顯示系統(tǒng)中的視頻解碼和視頻數(shù)據(jù)存儲的問題,對于提取有效視頻數(shù)據(jù)流和高效實時存儲大量數(shù)據(jù)具有顯著性的意義。

1 視頻圖像數(shù)據(jù)采集系統(tǒng)的總體架構(gòu)

圖1為視頻圖像采集的系統(tǒng)框圖,主要由I2C配置模塊、ITU-656視頻解碼模塊、SDRAM控制器模塊、視頻格式轉(zhuǎn)化模塊和VGA控制器模塊組成[2]。為了使視頻數(shù)據(jù)能實時、高速的顯示,視頻解碼模塊和SDRAM控制模塊就顯得尤為重要。

2 ITU-656解碼

ITU-656是國際電信聯(lián)盟制成的視頻標(biāo)準(zhǔn),是國際電信聯(lián)盟建議為實現(xiàn)在專業(yè)視頻設(shè)備之間傳輸BT.601標(biāo)準(zhǔn)、4 ∶2 ∶2的YCrCb數(shù)字視頻信號而定義的一個并行接口和一個串行接口。其中,并行接口在傳輸4 ∶2 ∶2的YCrCb視頻數(shù)據(jù)流的同時,也會輸出水平同步信號HS及垂直同步信號VS控制。

本文中ITU-656標(biāo)準(zhǔn)的視頻數(shù)據(jù)以27 MB/s的速率按Cb,Y, Cr,Y, Cb,Y, Cr,…的順序分時傳送[3]。其中,Cb,Y,Cr是同一個地址的亮度和色差信號,Y對應(yīng)于下一個亮度采樣信號。 Y采樣頻率為13.5 MHz,Cb采樣頻率是6.75 MHz,使用8位PCM編碼表示每個采樣點。ITU-656 標(biāo)準(zhǔn)的數(shù)據(jù)傳輸格式如圖2所示,每行采樣1 728個樣本點,其中Y為720個,Cb,Cr各360個。消隱期間的數(shù)據(jù)為288個(包括EAV和SAV)。

圖2 ITU-656標(biāo)準(zhǔn)的數(shù)據(jù)編碼格式

行控制信號有兩個定時基準(zhǔn)信號:SAV和EAV。 EAV和SAV之間有280個固定填充數(shù)據(jù)。 SAV和EAV具有相同的前同步碼:FF,00,00,而后面的XY決定著該行在整個數(shù)據(jù)幀的位置,并且SAV和EAV信號可以通過XY的值來區(qū)別,同時XY也包含有奇偶場識別、狀態(tài)和信息、場消隱行消隱狀態(tài)。表1給出了XY各位的定義。

表1 SAV/EAV中XY各位的定義

F:F=0奇場,F(xiàn)=1偶場;V:V=1消隱數(shù)據(jù),V=0有效行數(shù)據(jù);H:H=0表示SAV,H=1表示EAV;P3,P2,P1,P0:保護比特位,其值由F、V、H 決定。

ITU-656數(shù)字解碼模塊[4]的功能是根據(jù)ITU-656視頻數(shù)據(jù)流的特點將有效視頻數(shù)據(jù)YCbCr和F、V、H 控制信號分離開來,并通過計算像素行列的坐標(biāo),確定圖像中像素的具體位置,根據(jù)ITU-656數(shù)據(jù)傳輸時序,通過行內(nèi)計數(shù)方式去除行消隱數(shù)據(jù),并分離出SAV、EAV 信號,留下只包括YCbCr信號的數(shù)據(jù)流,并將其串行輸出。ITU-656數(shù)字解碼模塊另一個功能是通過計算水平數(shù)據(jù)的像素坐標(biāo),將圖像分辨率由720×576調(diào)整為640×480,以便在VGA中顯示。

根據(jù)SAV 和EAV 都是以FF、00、00 的順序開始的特點,設(shè)置一個序列移位器,采用4級寄存器級聯(lián)的形式,每個寄存器緩存8 bit數(shù)據(jù),并監(jiān)測后面3個寄存器的值,當(dāng)這三個寄存器緩存的數(shù)據(jù)不是FF、00、00時,序列移位器向右移,當(dāng)檢測到這3個寄存器的值為FF、00、00、時,即認(rèn)為是SAV或EAV的到來,就將第一個寄存器的 bit6、bit5、bit4分別存放到3個一位寄存器中,從而提取出 F、V、H 信號。H(bit4)如果為0,即表示有效數(shù)據(jù)開始。再通過 V、F是否為0可判斷出是有效行數(shù)據(jù)還是消隱數(shù)據(jù),是奇場還是偶場的數(shù)據(jù)。解碼過程如圖3所示。

圖3 視頻解碼框圖

調(diào)整圖像分辨率,定義一個Active_Vedio信號,如果Active_Vedio在0~1 440之間,則為有效視頻數(shù)據(jù)。首先720行數(shù)據(jù)調(diào)整為640行數(shù)據(jù),把SAV和EAV信號提取出來后,此處設(shè)計一個FVAL信號,如果FVAL為1,則得到一行720個有效像素值,因此要在這720個有效像素中裁剪掉80個像素。本設(shè)計使用Verilog語言,水平方向的像素提取用一個除法器iskip來實現(xiàn),定義一個水平計數(shù)器OTY_X,即除法器iskip=OTV_X%9,若iskip為0,則該像素點被丟棄,否則保留。在丟棄像素點時遵循兩個原則[5]:(1)像素數(shù)據(jù)為只包含亮度信息的像素點,則將此像素點的亮度值Y丟棄,并且將上一個像素點的色度分量Cr同時丟棄;(2)像素數(shù)據(jù)為一個完整的像素點,包含了Y、Cb、Cr分量值:將分量Y和Cb丟棄,保留Cr;其次576行數(shù)據(jù)調(diào)整為480行數(shù)據(jù),根據(jù)PAL制式視頻信號的特點,分別取偶數(shù)場24~264行240個數(shù)據(jù),奇數(shù)場312~552行240個數(shù)據(jù),組成480行VGA數(shù)據(jù),其他數(shù)據(jù)丟棄,由于丟棄的僅是一副圖像的最邊緣部分,所以對整幅圖像影響不大。

圖4 視頻解碼模塊

圖5 視頻解碼模塊的時序仿真圖

提取有效視頻數(shù)據(jù),PAL制式的視頻信號的場消隱一共是49行,其中偶數(shù)場和奇數(shù)場的消隱期分別為24行和25行。通過設(shè)計一個4位行計數(shù)器TY_Y實現(xiàn),當(dāng)Hs=1時對Vs進行計數(shù),如果YV_Y大于或等于24,就可以輸出穩(wěn)定的有效視頻數(shù)據(jù)。解碼模塊如圖4所示。

圖5是ITU-656 數(shù)字解碼模塊在Modelism6.6中的仿真圖,圖中TD_DATA是輸入的視頻流,當(dāng)它出現(xiàn)FF0000同時XY中的H、V 都為0時,開始輸出有效的視頻數(shù)據(jù),輸出信號oYCbCr的高8 位為Y,低8位為Cb和Cr交替出現(xiàn)。

3 SDRAM控制器設(shè)計

視頻采集模塊中,采用ITU-656同步時鐘27 MHz,而SDRAM的工作時鐘通常在100 MHz以上。為解決讀寫時鐘不同步的問題,本設(shè)計中,采用了四個異步FIFO[6]用于跨時鐘域的同步化,其作用是將CCD攝像頭采集進來的圖像數(shù)據(jù)進行緩存,通過寫FIFO讀入SDRAM,讀FIFO輸出給VGA控制器。讀寫FIFO是利用FPGA的片上資源從IP核中調(diào)用過來的,將SDRAM的數(shù)據(jù)端口仿真成四個虛擬端口(兩個寫端口兩個讀端口),控制器根據(jù)緩存FIFO的狀態(tài)對SDRAM發(fā)出讀寫請求,采用頁模式突發(fā)傳輸和Bank切換的方式來匹配時序要求。

異步FIFO的宏模塊設(shè)計如圖6所示。

圖6 FIFO宏模塊

SDRAM 本身要進行刷新、預(yù)充電等操作,不能時刻處于傳輸數(shù)據(jù)的狀態(tài),而且控制邏輯比較復(fù)雜,不能和其他器件進行透明連接,為此,設(shè)計一個 SDRAM控制器,其他模塊就可通過 SDRAM控制器模塊接口和 SDRAM 相連接,從而對 SDRAM 進行操作,實現(xiàn)乒乓緩存。

本文設(shè)計的SDRAM控制器[7]主要由系統(tǒng)讀寫控制模塊、SDRAM控制接口模塊、命令解析響應(yīng)模塊、數(shù)據(jù)通道模塊組成,其內(nèi)部結(jié)構(gòu)如圖7所示。

圖7 SDRAM控制器與SDRAM接口控制系統(tǒng)框圖

(1)系統(tǒng)讀寫控制模塊

該模塊的功能是與外設(shè)接口相連,接受外部發(fā)來的控制信號,并對控制信號進行編碼。根據(jù)FIFO的空滿狀態(tài)發(fā)出對SDRAM的讀寫請求信號。當(dāng)寫FIFO里面所存儲的數(shù)據(jù)大小為SDRAM一頁數(shù)據(jù)時,則寫FIFO通過讀請求信號往SDRAM里面?zhèn)鬏敂?shù)據(jù)。因為每個端口FIFO里面可以緩存兩頁大小的SDRAM數(shù)據(jù),所以當(dāng)寫FIFO向SDRAM里面?zhèn)鬏敂?shù)據(jù)時也可以繼續(xù)緩存輸入進來的圖像數(shù)據(jù)。同理,當(dāng)VGA控制器向讀FIFO讀取數(shù)據(jù)時,讀FIFO里面緩存的數(shù)據(jù)大小小于SDRAM每頁的大小時就可以進行讀出了,此時SDRAM也可以繼續(xù)向讀 FIFO里面緩存數(shù)據(jù)。以此輪流進行緩存操作。

(2)SDRAM 控制接口模塊

該模塊主要完成初始化功能以及分析系統(tǒng)指令。初始化結(jié)束后,系統(tǒng)開始接收并分析指令信號和地址信息,同時還要分析來自命令模塊的CMD_ACK反饋信號,并產(chǎn)生相應(yīng)的SADDR信息給命令響應(yīng)模塊。

(3)命令解析響應(yīng)模塊

該模塊接受來自SDRAM控制接口模塊的指令并進行判斷,根據(jù)發(fā)來的指令產(chǎn)生對SDRAM進行控制的信號:地址信號(ADDR)、控制信號(CS、CKE)和指令信號(RAS、CAS、WE)。此外,可以通過LOAD-MODE命令,對預(yù)設(shè)的模式寄存器進行配置,從而實現(xiàn)對SDRAM工作模式的操控。最后,該模塊通過使能信號OE來判斷讀、寫請求信號,以此來控制數(shù)據(jù)通路模塊數(shù)據(jù)的發(fā)送方向。

(4)數(shù)據(jù)通路模塊

數(shù)據(jù)通路模塊的功能是:在寫數(shù)據(jù)時將輸入的數(shù)據(jù)送入到SDRAM中或者在讀數(shù)據(jù)時將SDRAM中的數(shù)據(jù)送到數(shù)據(jù)輸出口。

圖8 SDRAM控制器的頂層模塊圖

SDRAM控制器的頂層模塊如圖8所示。

設(shè)計好 SDRAM控制器后,采用2個SDRAM,利用乒乓緩存[8]結(jié)構(gòu)的方式來實現(xiàn)對視頻信號的緩存。在第1個緩存周期,輸入的數(shù)據(jù)流在SDRAM控制器控制下被寫入到SDRAM1中。在第2個緩存周期,通過選擇信號的切換,將輸入的數(shù)據(jù)流寫入到SDRAM2中;同時,將SDRAM1中寫入的第1個緩存周期的數(shù)據(jù)讀出,輸出到運算處理單元進行處理。在第3個緩存周期,再次通過選擇信號切換數(shù)據(jù)的輸入與輸出緩存單元。如此循環(huán),從而將緩沖的數(shù)據(jù)流不停頓地送到下一模塊進行處理。

圖9為SDRAM控制接口模塊的時序仿真圖。圖中,完成初始化后,該模塊根據(jù)CMD指令,解析出對應(yīng)的SDRAM操作命令。

圖9 SDRAM控制接口模塊的時序仿真圖

圖10是指令解析響應(yīng)模塊仿真時序圖,該模塊根據(jù)發(fā)來的讀、寫、刷等命令,對SDRAM的控制信號RAS_N、CAS_N、WE_N、CKE進行編碼。

4 結(jié)論

本文首先介紹了基于FPGA視頻采集系統(tǒng)的整體設(shè)計,對于采集和存儲過程中實時性和高效性的要求,分別討論了ITU-656視頻解碼中需要從采集到的視頻數(shù)據(jù)中提取出有效視頻數(shù)據(jù)流,以及將其調(diào)整為符合VGA顯示的像素大小。在存儲模塊中,SDRAM的工作時鐘和視頻采集系統(tǒng)的時鐘不同,為解決讀寫時鐘不同步的問題,采用異步FIFO實現(xiàn)跨時鐘域的同步化,同時采用了兩片SDRAM實現(xiàn)乒乓緩存設(shè)計,對SDRAM控制器各個模塊分別進行Modelsim仿真驗證,得出正確結(jié)果,可以滿足系統(tǒng)的整體要求。

[1] 馬峰,徐和根,趙曼,等.基于FPGA的智能卡控制器的實現(xiàn)[J].微型機與應(yīng)用,2013,32(1):20-22.

[2] 沙晶晶.基于CPLD的VGA時序彩色信號的實現(xiàn)[J].微型機與應(yīng)用,2013,32(1):57-58,61.

[3]范興山,彭軍,黃樂天,等.基于OpenCL的FPGA設(shè)計優(yōu)化方法研究[J].電子技術(shù)應(yīng)用,2014,40(1):16-19.

[4] 趙清華.基于FPGA的目標(biāo)跟蹤算法的設(shè)計與實現(xiàn)[D].西安:中國科學(xué)院西安光學(xué)精密機械研究所,2014.

[5] 祝長鋒,肖鐵軍.基于FPGA的實時圖像檢測技術(shù)的研究[D].鎮(zhèn)江:江蘇大學(xué),2008.

[6] 占文慶.基于FPGA的視頻監(jiān)控系統(tǒng)的設(shè)計[D].武漢:武漢理工大學(xué),2014.

[7] 何云斌,張玉芬.多端口SDRAM控制器的設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱理工大學(xué),2009.

[8] 黃彪.基于FPGA的高清視頻信號實時處理系統(tǒng)的研究[D].西安:國科學(xué)院西安光學(xué)精密機械研究所,2013.

The design of ITU-656 standard video decoding and storage system based on FPGA

Wang Shuiyu,Li Yanting

(School of Automation and Information Engineering, Xi’an University of Technology, Xi’an 710048, China)

The research mainly embarks from the video image acquisition system. In order to solve the problem of real-time display and highly efficient storage based in FPGA video capture system, a video decoding and SDRAM memory module is designed. Analog signals were collected by CCD camera and decoded by ADV7181B chip in the entire system, and then were stored in SDRAM by using the method of ping-pong after being convert into digital signals, for late being provided to other operations. On the basis of analysis about video decoding and SDRAM of basic principle and main parameters, the effective video is separated and serially output by Verilog language, and the image resolution is adjusted to meet the VGA display pixel size. Meanwhile the ping-pong cache also ensures real-time, high-speed of data storage. Finally, a Modelsim simulation verification is included and it demonstrates the effectiveness of this design.

video decoding; ITU-656; SDRAM; ping-pong cache

TP274.2

A

1674-7720(2016)07- 0025- 03

王水魚,李艷婷. 基于FPGA的ITU-656標(biāo)準(zhǔn)視頻解碼及存儲系統(tǒng)設(shè)計[J].微型機與應(yīng)用,2016,35(7):25-27,29.

2015-12-03)

王水魚(1958-),男,副教授,主要研究方向:信號采集系統(tǒng)與電子測量技術(shù)。

李艷婷(1992-),通信作者,女,碩士研究生,主要研究方向:電路設(shè)計與系統(tǒng)集成。E-mail:1610622878@qq.com。

猜你喜歡
解碼像素控制器
趙運哲作品
藝術(shù)家(2023年8期)2023-11-02 02:05:28
《解碼萬噸站》
像素前線之“幻影”2000
解碼eUCP2.0
中國外匯(2019年19期)2019-11-26 00:57:32
“像素”仙人掌
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
高像素不是全部
CHIP新電腦(2016年3期)2016-03-10 14:22:03
模糊PID控制器設(shè)計及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
自動化博覽(2014年9期)2014-02-28 22:33:17
谢通门县| 容城县| 屏东县| 沭阳县| 黄山市| 铜川市| 汉寿县| 巍山| 万载县| 疏勒县| 龙泉市| 江安县| 温泉县| 正定县| 德清县| 常州市| 霍州市| 赞皇县| 靖边县| 资兴市| 方城县| 平顶山市| 芦山县| 仁化县| 新沂市| 新和县| 和田市| 确山县| 北川| 鄄城县| 莫力| 武宣县| 方山县| 通城县| 布尔津县| 广宁县| 什邡市| 永德县| 遵义县| 兴山县| 将乐县|