最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

MPEG-4 SP級(jí)解碼器中的SDRAM接口設(shè)計(jì)

出處:sillboy 發(fā)布于:2007-04-29 11:49:21

摘 要:本文提出了一種在MPEG-4 SP級(jí)解碼器中的SDRAM接口設(shè)計(jì),并巧妙地利用了一種新穎的填充方法,使得程序執(zhí)行的效率大幅度提高。
關(guān)鍵詞:SDRAM;MPEG-4;填充
引言
圖像處理系統(tǒng)都需要用到容量大、讀寫速度高的存儲(chǔ)介質(zhì)。SRAM操作簡(jiǎn)單,但其昂貴的價(jià)格會(huì)使產(chǎn)品成本上升。相比較而言,SDRAM的控制較RAM復(fù)雜,但具有價(jià)格便宜、體積小、速度快、功耗低等優(yōu)點(diǎn),所以從降低成本的角度出發(fā),本文采用SDRAM實(shí)現(xiàn)MPEG-4 SP(Simple Profile)級(jí)解碼器的數(shù)據(jù)緩沖功能。

MPEG-4 SP級(jí)解碼器
MEPG-4 SP的定義就是面向低碼率的視頻通信標(biāo)準(zhǔn),工作在矩形I幀和P幀,支持帶有運(yùn)動(dòng)補(bǔ)償?shù)幕贒CT 編碼的基本功能。I幀采用幀內(nèi)編碼方式,而P幀采用幀間編碼方式,仍然在16×16 的宏塊基礎(chǔ)上進(jìn)行幀間/幀內(nèi)編碼。其中,Intra 宏塊的紋理編碼采用 DCT 變換和 AC/DC 預(yù)測(cè),進(jìn)一步降低了碼率;Inter 宏塊的運(yùn)動(dòng)矢量可有1MV和 4 MV兩種表示方法,其中運(yùn)動(dòng)矢量具有半像素,支持非限制運(yùn)動(dòng)矢量。
本解碼器選用FPGA作為系統(tǒng)的處理器,因?yàn)镕PGA可提供必需的并行機(jī)制,從而可為視頻解碼器提供經(jīng)濟(jì)的實(shí)時(shí)解決方案。對(duì)比目前硬件的MOPS性能,發(fā)現(xiàn)通用處理器的性能約為2000 MOPS;DSP處理器將這一數(shù)字提高到8000 MOPS左右,但仍然受限于只能通過有限數(shù)量的計(jì)算單元完成數(shù)據(jù)流的處理。相比之下,FPGA則有很大的自由度,性能可輕松超過10萬MOPS,而且用FPGA能夠比較方便地實(shí)現(xiàn)系統(tǒng)的集成,維護(hù)和升級(jí)。
圖1是解碼器的電路結(jié)構(gòu)圖,實(shí)現(xiàn)了從ES流到可供顯示器顯示用的模擬信號(hào)的解碼過程。首先,進(jìn)入FPGA的ES流被緩存到FIFO中,F(xiàn)IFO的大小是3M bits,實(shí)踐表明它可以應(yīng)對(duì)各種碼速率的碼流輸入;然后FPGA讀取FIFO中的數(shù)據(jù)進(jìn)行解碼,外擴(kuò)16Mbits的SDRAM作為必要的數(shù)據(jù)中轉(zhuǎn);解碼得出的數(shù)據(jù)是4:2:0的YCrCb信號(hào),通過色度空間轉(zhuǎn)換變?yōu)镽GB信號(hào),再加上用于控制顯示的行、場(chǎng)同步以及消隱信號(hào),傳送給ADV7210轉(zhuǎn)化成模擬信號(hào),從而在顯示器上看到實(shí)際解出的畫面。

SDRAM接口電路的設(shè)計(jì)
整體時(shí)序和結(jié)構(gòu)安排
圖2是SDRAM的接口電路結(jié)構(gòu)框圖。SDRAM接口負(fù)責(zé)SDRAM與FPGA內(nèi)部模塊的數(shù)據(jù)交互,其中命令產(chǎn)生器與SDRAM直接通信,產(chǎn)生SDRAM能識(shí)別的控制信號(hào);地址產(chǎn)生模塊負(fù)責(zé)地址映射,因?yàn)榭偪刂破鹘o出的地址是解出的宏塊在重建幀中的相對(duì)位置和P幀中宏塊對(duì)應(yīng)的MV,經(jīng)過地址映射后,就變成SDRAM命令產(chǎn)生器能識(shí)別的地址;上電模塊完成正常工作前的SDRAM初始化工作。SDRAM總控模塊控制著整個(gè)接口,主要負(fù)責(zé)啟動(dòng)和控制相關(guān)模塊??偪啬K在上電時(shí)啟動(dòng)上電模塊;在場(chǎng)消影期啟動(dòng)刷新模塊。解碼時(shí)與SDRAM的數(shù)據(jù)交互主要分三部分:讀顯示數(shù)據(jù),填充并且讀參考幀數(shù)據(jù),寫入解出的宏塊數(shù)據(jù),在此期間總控模塊的控制信號(hào)啟動(dòng)相應(yīng)的地址映射模塊產(chǎn)生讀寫地址,并由地址選擇模塊負(fù)責(zé)分配。
存儲(chǔ)策略和地址映射策略
在SDRAM中總共存儲(chǔ)了兩幀圖像的數(shù)據(jù),其中一幀作為參考幀,在解P幀時(shí)要根據(jù)運(yùn)動(dòng)矢量提供參考宏塊的數(shù)據(jù)形成重建幀,同時(shí)它還可實(shí)現(xiàn)顯示數(shù)據(jù)緩沖;另外一幀是寫入正在解出的重建幀數(shù)據(jù)。解碼器處理的圖像格式為CIF,數(shù)據(jù)格式為4:2:0,所以每一幀占用空間為352×288×1.5×8 bit。SDRAM中的兩個(gè)bank(組),分別存放正在重建的幀和參考幀。每一個(gè)bank被分成三個(gè)連續(xù)空間,一塊用來順序存儲(chǔ)亮度信息,另外兩塊分別順序存儲(chǔ)色度信息。在下一個(gè)幀起始信號(hào)到來時(shí),原來存儲(chǔ)參考幀的bank變成存儲(chǔ)重建幀,而另外一個(gè)bank中存儲(chǔ)的解完的重建幀將作為正在重建的下一幀的參考幀。

SDRAM接口的主要任務(wù)
解碼器工作時(shí)是以宏塊為單位進(jìn)行處理的。解一個(gè)宏塊時(shí),首先從已經(jīng)存在SDRAM中的參考幀中讀取參考宏塊數(shù)據(jù),加上殘差數(shù)據(jù)后得到解出的宏塊,存儲(chǔ)到SDRAM中,而且發(fā)給顯示模塊的數(shù)據(jù)也是以宏塊為單位提供的。所以考慮到解碼器工作的實(shí)際情況,本文選擇長(zhǎng)度為8的突發(fā)讀寫模式,這樣可以高效地存儲(chǔ)數(shù)據(jù)。下面介紹SDRAM的具體任務(wù)。
和解碼模塊的數(shù)據(jù)交互
SDRAM主要與解碼模塊和顯示模塊進(jìn)行大量的數(shù)據(jù)交互,具體的數(shù)據(jù)流向(實(shí)線)和地址線(虛線)如圖3所示。
圖3中的RAM在FPGA內(nèi)部,負(fù)責(zé)緩存SDRAM讀出和將要存儲(chǔ)的數(shù)據(jù)。本存儲(chǔ)方案以宏塊為基本單位,所以每個(gè)RAM存儲(chǔ)的都是一個(gè)宏塊的數(shù)據(jù)。其中,存儲(chǔ)重建幀色度和亮度數(shù)據(jù)的RAM和存儲(chǔ)待顯示的亮度和色度數(shù)據(jù)的RAM大小都為384byte,包括亮度的16×16和色度的8×8×2個(gè)像素點(diǎn)。存儲(chǔ)參考幀色度和亮度參考數(shù)據(jù)的RAM大小為486byte,其中包括亮度的4個(gè)9×9的像素點(diǎn)和色度的9×9×2個(gè)像素點(diǎn)。MPEG-4解碼器支持半像素的,所以先根據(jù)半像素的運(yùn)動(dòng)矢量取出一個(gè)9×9的塊,再進(jìn)行半像素插值成8×8的宏塊以后,與殘差相加得到重建宏塊。
填充
MPEG-4支持非限制運(yùn)動(dòng)矢量,所以填充就成為數(shù)據(jù)存儲(chǔ)操作的一個(gè)重要內(nèi)容。本文提出了一種簡(jiǎn)便的方法,該方法在把數(shù)據(jù)存儲(chǔ)到SDRAM中的時(shí)候,并不進(jìn)行填充操作,而是在讀出數(shù)據(jù)的時(shí)候用了一種等價(jià)的方法,得到了相同的結(jié)果,大大減少了數(shù)據(jù)操作的復(fù)雜度。
具體的實(shí)現(xiàn)過程如圖4所示,在程序中增加了一個(gè)變量,這里稱之為“偏移量”。解碼出來的矢量如果沒有超出圖像的邊界,“偏移量”值設(shè)為0;如果超出了邊界,則送給讀取SDRAM模塊的矢量,取剛好沒有超出邊界但離解出的運(yùn)動(dòng)矢量接近的值,并把“偏移量”設(shè)為超出邊界的像素?cái)?shù),并表明超出的方向。
根據(jù)16×16宏塊的位置和解碼得出的四個(gè)8×8塊運(yùn)動(dòng)矢量的大小求解出偏移量:
if 宏塊位置位于邊界處 and 宏塊的四個(gè)8×8塊超出邊界 then
按照上述的規(guī)則分別設(shè)置四個(gè)8×8塊的運(yùn)動(dòng)矢量和偏移量;
else
運(yùn)動(dòng)矢量不變;
偏移量<=0;
end if;
如果偏移量不等于0,從SDRAM讀到RAM中的數(shù)據(jù)并不是我們想要的數(shù)據(jù),里面有很多多余的數(shù)據(jù),但可以根據(jù)“偏移量”的值,在從RAM讀取補(bǔ)償數(shù)據(jù)時(shí),配合上適當(dāng)?shù)倪壿?,?zhǔn)確地取出相應(yīng)的非限制運(yùn)動(dòng)矢量對(duì)應(yīng)的數(shù)據(jù)塊,然后和殘差數(shù)據(jù)相加得到的重建塊。
刷新
在解碼器中選用的SDRAM必須在128ms內(nèi)至少刷新4096次。在時(shí)序安排上主要利用了顯示時(shí)的消影期進(jìn)行集中刷新。這樣就避免了分散刷新有可能帶來的一些控制和數(shù)據(jù)存儲(chǔ)延時(shí)方面的問題,而且也完全滿足SDRAM刷新次數(shù)的要求。

硬件實(shí)現(xiàn)
解碼器采用SDRAM是ISSI公司的IS42S1600,規(guī)格為512K Word×16bit×2 Bank(16Mbits),采用VHDL硬件描述語言,SDRAM接口模塊工作在80MHz的頻率上,已經(jīng)成功地應(yīng)用到了MPEG-4的解碼器中。通過對(duì)各種碼流的測(cè)試,表明接口模塊在各種情況下都可以正確的工作。接口模塊占用了FPGA的668個(gè)邏輯單元,518個(gè)片式觸發(fā)器,分別占資源的8%和3%?,F(xiàn)在我們只是使用了SDRAM的16位數(shù)據(jù)總線的低8位,如果升級(jí)成更高版本的解碼器,配合上數(shù)據(jù)拼接模塊,還有一半的吞吐潛力可以提升。■

參考文獻(xiàn)
1 ISSI IS42S16100 DATASHEET NOVEMBER 2001

(收稿日期:2004-07-04)




  

關(guān)鍵詞:MPEG-4 SP級(jí)解碼器中的SDRAM接口設(shè)計(jì)80002001  20004096IS42S16100

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

sc2001電源芯片
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!