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

基于Blackfin DSP的H.264解碼顯示

2008-04-12 00:00:00張殿凱干宗良朱秀昌
現(xiàn)代電子技術(shù) 2008年6期

摘 要:在簡(jiǎn)要介紹BF533 DSP開(kāi)發(fā)平臺(tái)的基礎(chǔ)上,著重描述如何對(duì)BF533的PPI,DMA等硬件資源進(jìn)行配置,以及如何將解碼器輸出的YUV數(shù)據(jù)按照ITU-R 656幀格式配置成幀后傳送到監(jiān)視器進(jìn)行顯示,實(shí)現(xiàn)H.264解碼器輸出的視頻播放。測(cè)試結(jié)果表明,視頻顯示播放可以達(dá)到實(shí)時(shí)要求,完成了一個(gè)基于低功耗DSP的實(shí)時(shí)H.264解碼器系統(tǒng),為移動(dòng)和無(wú)線視頻的接收終端的實(shí)現(xiàn)打下良好的基礎(chǔ)。

關(guān)鍵詞:H.264;DSP;ITU-R656;視頻解碼;視頻顯示

中圖分類(lèi)號(hào):TN919.8 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004-373X(2008)06-050-03[HJ1*5]

Display of H.264 Decoded Video Based on Blackfin DSP

ZHANG Diankai,GAN Zongliang,ZHU Xiuchang

(College of Communications and Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing,210003,China)[HJ1*5]

Abstract:This paper introduces the resources configuration and architecture of BF533 platform and addresses the principle of H.264 decoder briefly.Then we configure the hardware resources(PPI,DMA etc.) and deliver the video data which is configured by ITU-656 format to display on monitor realizing the display of video-out ofH.264 decoder.The results oftest demonstrate the video display can meet the real-time demand and complete the H.264 decoder system which is based on low power consumption DSP,and then lay the foundation for realization of mobile and wireless terminate.

Keywords:H.264;DSP;ITU-R656;video decoder;video display[HJ1*2]

1 Blackfin533 DSP平臺(tái)簡(jiǎn)介

Blackfin533 是美國(guó)模擬器件公司(ADI)開(kāi)發(fā)的一款高性能視頻處理芯片,其主頻高達(dá)600 MHz,每秒可處理1 200 M次乘加運(yùn)算,具有大量針對(duì)視頻的專(zhuān)用指令,可以并行處理多條指令,這些特性使得該DSP芯片能處理廣泛用于互聯(lián)網(wǎng)的大量圖像﹑聲音﹑文本和數(shù)據(jù)流,適用于通信和各種互聯(lián)網(wǎng)設(shè)備。Blackfin DSP開(kāi)發(fā)平臺(tái)如圖1所示:

開(kāi)發(fā)平臺(tái)的中心處理器Blackfin533是一種單核、加載/存儲(chǔ)結(jié)構(gòu)的DSP,擁有雙MAC以及正交RISC微處理指令集。除此之外,Blackfin533還具有以下特點(diǎn):雙40 b算法邏輯單元(ALU);一個(gè)40 b的移位器;4個(gè)視頻ALU;一個(gè)8通道的32 b數(shù)據(jù)寄存器;148 kB的片內(nèi)存儲(chǔ)器(16 kB可作為指令CACHE,32 kB可作為數(shù)據(jù)CACHE);動(dòng)態(tài)電源管理功能等。另外,在Blackfin533的存儲(chǔ)器結(jié)構(gòu)中,DMA 控制器提供高帶寬數(shù)據(jù)轉(zhuǎn)移,能夠完成L1/L2 存儲(chǔ)器和外部存儲(chǔ)器之間編碼或數(shù)據(jù)塊轉(zhuǎn)移,并且高速緩沖存儲(chǔ)器可以設(shè)置,以便處理器和DMA可獨(dú)立地訪問(wèn)。此開(kāi)發(fā)平臺(tái)的外設(shè)中有ADV7171視頻編碼器(用于視頻顯示)和ADV7183視頻解碼器(用于視頻采集)。其中ADV7171可提供3種模擬視頻輸出方式,而ADV7183可提供3個(gè)模擬視頻的輸入通道。視頻編碼器連接到PPI1口,解碼器連接到PPI0口,每個(gè)PPI口都有其獨(dú)立的時(shí)鐘信號(hào)。

2 H.264解碼顯示的設(shè)計(jì)模塊

H.264解碼器的視頻顯示采用PPI口的DMA操作,他將緩沖區(qū)中的視頻數(shù)據(jù)傳輸?shù)紸DV進(jìn)行數(shù)/模轉(zhuǎn)換后到監(jiān)視器進(jìn)行顯示播放,其中BF533的PPI口支持ITU-R656的3種輸入模式和1種輸出模式。

2.1 ITU-R 656簡(jiǎn)介

BF533處理器支持ITU-R 656的并行數(shù)字視頻輸出,對(duì)8 b和10 b精度的數(shù)字視頻都支持,圖2和圖3分別給出了輸出模式下NTSC/PAL制式顯示的行結(jié)構(gòu)和幀結(jié)構(gòu),只要按照這個(gè)結(jié)構(gòu)配置幀緩沖區(qū)就可以實(shí)現(xiàn)視頻顯示。

在這種輸出模式下,水平標(biāo)志位H、垂直標(biāo)志位V和場(chǎng)標(biāo)志位F(如圖3所示)都插入到視頻數(shù)據(jù)中進(jìn)行傳送,不需要單獨(dú)傳送。活動(dòng)視頻開(kāi)始標(biāo)志(SAV)和結(jié)束標(biāo)志(EAV)表示視頻數(shù)據(jù)讀入的開(kāi)始和結(jié)束,SAV發(fā)生在H的1-to-0的轉(zhuǎn)變,EAV發(fā)生在H的0-to-1轉(zhuǎn)變。完整的視頻場(chǎng)(field)應(yīng)包含視頻的水平掃描消隱和和以及垂直掃描消隱信號(hào)。隔行掃描的視頻由奇場(chǎng)和偶場(chǎng)組成,兩場(chǎng)的掃描行呈交插關(guān)系,逐行掃描視頻則沒(méi)有奇偶場(chǎng)的區(qū)別。

如圖2所示,EAV和SAV標(biāo)志有3個(gè)已定義的字節(jié)(0xFF,0x00,0x00),緊跟著是XY狀態(tài)字,XY狀態(tài)字除了F,V,H位外,包含4個(gè)保護(hù)位(P0~P4)來(lái)進(jìn)行單個(gè)位錯(cuò)誤檢測(cè)和修正。注意F和V僅可以作為EAV序列的一部分來(lái)改變(即H從而變到1)。標(biāo)志位的定義如下:

F=0,奇數(shù)場(chǎng),F(xiàn)=1,偶數(shù)場(chǎng);V=0,垂直消隱,V=1,活動(dòng)視頻;H=0,SAV,H=1,EAV;P3=V xor H,P2=F xor H,P1=F xor V,P0=F xor V xor H。

其中各個(gè)標(biāo)志位在8 b和10b情況下的定義如表1所示。開(kāi)發(fā)平臺(tái)的處理器接口能適應(yīng)不同長(zhǎng)度的行和場(chǎng)。一般來(lái)說(shuō),只要引入的視頻有合適的EAV和SAV標(biāo)志,PPI就可以讀入。一個(gè)CIF圖像可以被轉(zhuǎn)換格式以適應(yīng)ITU-R656幀格式的要求,其中EAV和SAV定義了每個(gè)數(shù)據(jù)流的圖像排列,V和F標(biāo)志可以用來(lái)限定場(chǎng)和幀。

ITU-R 656輸出模式下通過(guò)PPI口從內(nèi)存中輸出數(shù)據(jù)和標(biāo)志字節(jié),數(shù)據(jù)和控制標(biāo)志必須在輸出前在內(nèi)存的幀緩沖區(qū)中放置好。本文中采用的監(jiān)視器顯示制式為NTSC,根據(jù)圖2和圖3可知每行為1 716 B,每幀為525行,因此開(kāi)辟的幀緩沖區(qū)大小應(yīng)為1 716×525。視頻顯示流程圖如圖2所示。

2.2 相關(guān)寄存器的配置

H.264解碼視頻顯示涉及到的硬件相關(guān)寄存器配置主要有:PLL的初始化、中斷寄存器的配置、DMA、PPI、ADV、FALSH等有關(guān)寄存器進(jìn)行配置。其中DMA傳送可以是基于描述符的,也可以是基于自動(dòng)緩沖的。在2種方式下都需要對(duì)各個(gè)寄存器進(jìn)行相應(yīng)的配置。

2.3 H.264解碼顯示的實(shí)現(xiàn)

本文的H.264解碼器的軟件模塊的設(shè)計(jì)主要是面向DSP硬件實(shí)現(xiàn)。從NAL層的比特流經(jīng)逆量化和反變換后根據(jù)幀內(nèi)或幀間預(yù)測(cè)模式進(jìn)行相應(yīng)的還原得到解碼重構(gòu)幀,對(duì)重構(gòu)幀的YUV數(shù)據(jù)進(jìn)行視頻顯示。

將H.264解碼器輸出的YUV數(shù)據(jù)暫存到SDRAM中,然后插值為ITU-R656格式數(shù)據(jù)存儲(chǔ)到以frame_buffer為首地址的幀緩沖區(qū)中相應(yīng)的位置,在加上合適的控制信號(hào)字節(jié),完成ITU-R656一幀數(shù)據(jù)的初始化,用DMA傳輸幀緩沖區(qū)中的數(shù)據(jù)到PPI端口經(jīng)ADV數(shù)模變換后到監(jiān)視器顯示播放。框圖如圖5所示。

其中DMA傳輸分別采用了自動(dòng)緩沖方式和描述符方式。在自動(dòng)緩沖方式下實(shí)現(xiàn)圖像的動(dòng)態(tài)輸出,可以在DMA中斷時(shí)按照單幀顯示的方法不斷將YUV數(shù)據(jù)寫(xiě)入幀緩沖區(qū),這樣對(duì)同一塊緩沖區(qū)邊讀邊寫(xiě)的方式使得緩沖區(qū)的數(shù)據(jù)產(chǎn)生了沖突,在兩幀圖像的顯示之間有不定的圖像,而且從計(jì)算機(jī)中讀取數(shù)據(jù)的效率不高導(dǎo)致顯示延時(shí)較大,圖像顯示不連續(xù),因此要加以改進(jìn)。在描述符方式下開(kāi)辟一塊連續(xù)N個(gè)緩沖區(qū),一起讀入數(shù)N幀數(shù)據(jù),把這N個(gè)緩沖區(qū)全部初始化為單幀顯示的形式。

然后DMA將這N幀數(shù)據(jù)連續(xù)傳送來(lái)實(shí)現(xiàn)了圖像的動(dòng)態(tài)顯示。但由于硬件的內(nèi)部資源有限,所讀入的數(shù)據(jù)幀數(shù)N也是有限的。為了克服存儲(chǔ)器資源的限制,在描述符方式下實(shí)現(xiàn)多幀圖像的顯示,采用“乒乓”機(jī)制來(lái)實(shí)現(xiàn)邊寫(xiě)邊顯示。“乒乓”機(jī)制的實(shí)現(xiàn)方法如下:

typedef struct _vout_frame {

volatile unsigned char *data;

int flag;

} vout_frame;

其中data是幀緩沖區(qū)的起始地址;flag為幀緩沖區(qū)寫(xiě)操作完成的標(biāo)志。定義類(lèi)型為結(jié)構(gòu)體vout_frame的2個(gè)幀緩沖區(qū)buffer[2],對(duì)緩沖區(qū)進(jìn)行寫(xiě)操作,如果完成就置標(biāo)志位flag為1,表示幀緩沖區(qū)寫(xiě)操作完成,每次中斷產(chǎn)生時(shí)就檢測(cè)這個(gè)非顯示的幀緩沖區(qū)的標(biāo)志位 flag,如果為0,就無(wú)操作;如果為1,就把DMA描述符的傳送地址改為這個(gè)幀緩沖區(qū)的起始地址,同時(shí)把剛才使用的那個(gè)幀緩沖區(qū)的標(biāo)志位flag置0。例如當(dāng)幀緩沖區(qū)1寫(xiě)操作完成,則置buffer[0].flag=1,當(dāng)中斷產(chǎn)生時(shí)檢測(cè)到這個(gè)幀緩沖區(qū)的標(biāo)志位為1,則把DMA描述符的傳送地址修改為這個(gè)幀緩沖區(qū)的起始地址buffer[0].data,就可以讀取這個(gè)幀緩沖區(qū)中的數(shù)據(jù)進(jìn)行顯示,然后對(duì)幀緩沖區(qū)2進(jìn)行寫(xiě)操作,如此循環(huán)。這樣在任意時(shí)刻,兩個(gè)緩沖區(qū)都有一個(gè)處于寫(xiě)操作狀態(tài),一個(gè)處于讀操作狀態(tài),互不干擾,實(shí)現(xiàn)了視頻的顯示播放。

3 實(shí)驗(yàn)結(jié)果

圖6所示顯示為claire和mobile序列YUV數(shù)據(jù)在DMA以自動(dòng)緩沖方式、描述符方式傳輸數(shù)據(jù)時(shí),播放在監(jiān)視器屏幕上的截圖:x

從圖6可以看出,DMA在兩種傳輸數(shù)據(jù)方式下,在顯示單幀圖像時(shí)沒(méi)什么區(qū)別,但是在動(dòng)態(tài)顯示時(shí),自動(dòng)緩沖方式不能改變傳送的幀緩沖區(qū)的地址,而描述符方式在中斷完成時(shí)可以修改DMA傳輸?shù)牡刂罚瑢?shí)現(xiàn)“乒乓”機(jī)制,因此動(dòng)態(tài)顯示時(shí)應(yīng)采用描述符方式傳送數(shù)據(jù)。

4 結(jié) 語(yǔ)

本文是在BF533開(kāi)發(fā)平臺(tái)上實(shí)現(xiàn)H.264解碼器的視頻顯示播放,完善一個(gè)基于低功耗DSP的實(shí)時(shí)H.264解碼器系統(tǒng),為完成移動(dòng)和無(wú)線視頻的接收終端的實(shí)現(xiàn)打下良好的基礎(chǔ)。調(diào)試結(jié)果表明,已基本滿(mǎn)足H.264實(shí)時(shí)解碼顯示的要求,具有較好的應(yīng)用意義。但是本文的主要程序大都是用C語(yǔ)言編寫(xiě)的,沒(méi)有進(jìn)行DSP硬件語(yǔ)言?xún)?yōu)化,運(yùn)行效率不是很高,下一階段將對(duì)程序代碼進(jìn)行優(yōu)化。

參考文獻(xiàn)

[1]Thomas Wiegand,Gary J Sullivan.Overview of the H.264/AVC Video Coding Standard,IEEE,2003.

[2]Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec.H.264 | ISO/IEC 14496-10 AVC),7th Meeting:Pattaya,Thailand,7-14 March,2003.

[3]陳峰.Blackfin系列DSP原理與系統(tǒng)設(shè)計(jì)\\[M\\].北京:電子工業(yè)出版社,2004.

[4]畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn)\\[M\\].北京:人民郵電出版社,2005.

[5]胡棟,朱秀昌.圖像通信技術(shù)與應(yīng)用\\[M\\].南京:東南大學(xué)出版社,1996.

[6]朱秀昌,劉峰,胡棟.數(shù)字圖像處理與圖像通信\\[M\\].北京:北京郵電大學(xué)出版社,2002.

[7]譚浩強(qiáng).C程序設(shè)計(jì)\\[M\\].北京:清華大學(xué)出版社,1999.

[8]林福宗.多媒體技術(shù)基礎(chǔ)\\[M\\].北京:清華大學(xué)出版社,2002.

作者簡(jiǎn)介 張殿凱 男,1983年出生,黑龍江嫩江人。南京郵電大學(xué)碩士。研究方向?yàn)閳D像處理和多媒體通信。

干宗良 男,1979年出生,新疆石河子人。南京郵電大學(xué)博士。主要研究方向?yàn)榉植家曨l編碼,視頻編碼DSP實(shí)現(xiàn)。

朱秀昌 男,1947年出生,江蘇丹徒人。南京郵電大學(xué)通信與信息工程學(xué)院副院長(zhǎng),教授,博導(dǎo)。江蘇省圖像處理與圖像通信重點(diǎn)實(shí)驗(yàn)室主任。

主站蜘蛛池模板: 久久99热这里只有精品免费看| 亚洲综合九九| 免费在线成人网| 色AV色 综合网站| 五月天综合网亚洲综合天堂网| 精品国产免费观看| 久久超级碰| 国产成人精品无码一区二| 久久综合色天堂av| 成年午夜精品久久精品| 国产女人水多毛片18| 国产三级成人| 亚洲嫩模喷白浆| 在线免费无码视频| 国产免费人成视频网| 一本一道波多野结衣一区二区| 国产精品亚洲а∨天堂免下载| 国产欧美视频在线观看| 亚洲第一黄片大全| 欧美日本一区二区三区免费| 91精品aⅴ无码中文字字幕蜜桃| 婷婷六月激情综合一区| 国产亚洲欧美另类一区二区| 日韩av高清无码一区二区三区| 日韩视频福利| 精品人妻系列无码专区久久| 91高清在线视频| 国产精品视频第一专区| 91美女视频在线| 久久精品只有这里有| 精品少妇人妻一区二区| 国产性精品| 99久久99这里只有免费的精品| a级毛片一区二区免费视频| 噜噜噜久久| 伊人AV天堂| 丁香综合在线| 99人妻碰碰碰久久久久禁片| 国产亚洲精品精品精品| 精品久久香蕉国产线看观看gif| 日本在线免费网站| 国产一区二区免费播放| 激情爆乳一区二区| 伊人色在线视频| 九九九久久国产精品| 亚洲Aⅴ无码专区在线观看q| 亚洲系列无码专区偷窥无码| 久久人与动人物A级毛片| 国产又粗又猛又爽视频| 最新国产精品第1页| 91成人免费观看在线观看| 免费毛片全部不收费的| 国产精品人成在线播放| 久久亚洲黄色视频| 欧美另类第一页| 国产一区二区三区在线精品专区| 国产成人盗摄精品| 国产原创演绎剧情有字幕的| 国产丝袜精品| 欧美精品高清| 国产成人久视频免费| 青青操国产| 一本无码在线观看| 欧美久久网| 亚洲精品少妇熟女| 国产欧美视频一区二区三区| 国产精品林美惠子在线播放| 国产精品一区在线麻豆| 精品福利视频导航| 国产第三区| 国产91丝袜在线播放动漫 | 国产乱子伦手机在线| 日本精品影院| 久久精品国产精品青草app| 精品国产网站| 91久久偷偷做嫩草影院| 亚洲精品中文字幕午夜| 亚洲日韩精品欧美中文字幕| 欧美激情综合一区二区| 91年精品国产福利线观看久久| 亚洲香蕉久久| 国产黄色视频综合|