国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

MPEG-4實(shí)時(shí)編碼器在ADSP-BF533上的實(shí)現(xiàn)

發(fā)布時(shí)間:2010-7-15 22:26    發(fā)布者:conniede
引言

MPEG-4視頻編碼技術(shù)可以在較小的帶寬下傳輸高質(zhì)量的視頻數(shù)據(jù),節(jié)省大量存儲(chǔ)空間,但編碼復(fù)雜度也較高,目前豐要有3種實(shí)現(xiàn)方案:在通用PC上編程實(shí)現(xiàn);通過(guò)ASIC硬件實(shí)現(xiàn)以及使用通用DSP芯片實(shí)現(xiàn)。與前兩者相比,通用DSP芯片實(shí)現(xiàn)方案具有以下優(yōu)勢(shì):運(yùn)算性能強(qiáng);可升級(jí)性好,與PC類似,通用DSP芯片的功能仍是通過(guò)編程來(lái)實(shí)現(xiàn)的,能快速、方便地進(jìn)行軟件升級(jí)及添加新的功能,以適應(yīng)技術(shù)發(fā)展和市場(chǎng)變化;成本低、功耗低、適應(yīng)場(chǎng)合廣泛。

系統(tǒng)硬件設(shè)計(jì)

編碼系統(tǒng)處理核心為ADSP-BF533(以下簡(jiǎn)稱BF533),利用其多功能并行接口PPI采集視頻數(shù)據(jù),該P(yáng)PI具有DMA功能,無(wú)需內(nèi)核干預(yù)便可進(jìn)行高速數(shù)據(jù)傳輸,傳輸完成后可自動(dòng)向內(nèi)核發(fā)出DMA中斷。

視頻采集部分選用0mniVision公司的CIF級(jí)彩色CMOS圖像傳感芯片OV6630,其最大分辨率為352×288,采集速率最高可達(dá)60fps,且片內(nèi)硬件實(shí)現(xiàn)了原始RGB數(shù)據(jù)到4:2:2YUV格式數(shù)據(jù)的轉(zhuǎn)換,用戶無(wú)需自行編寫(xiě)復(fù)雜的RGB轉(zhuǎn)YUV應(yīng)用程序,大大減少了代碼量,很適合用作MPEG-4編碼。

設(shè)置OV6630輸出為4:2:2 YUV視頻數(shù)據(jù)格式,BF533的PPI即可直接接收該格式視頻數(shù)據(jù)。二者可實(shí)現(xiàn)無(wú)縫連接,無(wú)需中間電路。

考慮到目前還有大量模擬制式的攝像機(jī)仍在廣泛應(yīng)用,系統(tǒng)中還增加了視頻ADC ADV7183,該芯片可以把PAL制模擬電視信號(hào)轉(zhuǎn)為ITU-R656標(biāo)準(zhǔn)4:2:2格式數(shù)字視頻,同樣將ADV7183輸出端口與BF533的PPI相連。這樣,既可以采用系統(tǒng)自帶CMOS圖像傳感器采集視頻,也可以外接PAL制模擬攝像機(jī),用戶可自由選擇。

由于BF533片內(nèi)存儲(chǔ)空間有限,而視頻采集、編碼數(shù)據(jù)量巨大,選用一片Hynix公司的4MBSDRAM HY57V56162(內(nèi)含4個(gè)內(nèi)部子集)作為BF533片外大容量動(dòng)態(tài)存儲(chǔ)器。同時(shí),為存放程序啟動(dòng)代碼,利用一片容量為1MB的閃存芯片PSD4256G6V構(gòu)成BF533的片外非易失性存儲(chǔ)器。系統(tǒng)硬件構(gòu)成如圖1所示。


編碼器設(shè)計(jì)實(shí)現(xiàn)

存儲(chǔ)器空間分配

BF533采用統(tǒng)一的32位、共4GB可尋址空間,包括位于片內(nèi)的L1高速SRAM,片外的同步存儲(chǔ)器空間SDRAMSpace,以及異步存儲(chǔ)器空間(A syn chronousMemory Space)。

片內(nèi)Ll SRAM包括:64KB指令SRAM、16KB指令Cache/SRAM、32KB數(shù)據(jù)SRAM、32KB數(shù)據(jù)Cache/SRAM,以及4KB便簽存儲(chǔ)器。
L1 SRAM工作在內(nèi)核時(shí)鐘頻率,內(nèi)核可以對(duì)其進(jìn)行高速帶寬訪問(wèn)。它是所有存儲(chǔ)器中訪問(wèn)速度最快的,但容量有限,因此,只應(yīng)將那些最關(guān)鍵的代碼和數(shù)據(jù)存放在L1SRAM里。同時(shí),指令Cache和數(shù)據(jù)Cache全部使能,這樣可以大大提高訪問(wèn)片外存儲(chǔ)器的效率。Cache設(shè)置是通過(guò)相應(yīng)的I M E M_C O N T R O L、DMEM_CONTROL,以及CPLB寄存器配置實(shí)現(xiàn)的。

由于BF533片內(nèi)存儲(chǔ)空間有限,而原始視頻數(shù)據(jù)量較大:CIF級(jí)4:2:2格式每幀圖像占用的空間為202752字節(jié),如果采用模擬PAL制式視頻輸入,每幀占用空間更是高達(dá)829440字節(jié),只能將其放至SDRAM中。同樣,視頻編碼數(shù)據(jù)也應(yīng)存放在SDRAM中。此外,系統(tǒng)啟動(dòng)完成Boot loader引導(dǎo)后,主要關(guān)鍵代碼放在片內(nèi)L1程序SRAM中執(zhí)行,但大部分程序代碼仍需從SDRAM中執(zhí)行。由于SDRAM特殊的讀/寫(xiě)方式,如果下次訪問(wèn)內(nèi)存頁(yè)與當(dāng)前活動(dòng)頁(yè)(Active Page)不同,即出現(xiàn)了頁(yè)錯(cuò)失(Page Miss),SDRAM就必須首先關(guān)閉當(dāng)前頁(yè),再打開(kāi)新的頁(yè),大大降低了SDRAM讀寫(xiě)速率。而該系統(tǒng)中SDRAM又需存儲(chǔ)多種數(shù)據(jù),內(nèi)核、DMA均需要頻繁訪問(wèn)SDRAM,因此,應(yīng)精心分配SDRAM空間,以使頁(yè)錯(cuò)失現(xiàn)象盡量少發(fā)生。

BF533的SDRAM控制器(SDC)可以支持SDRAM每個(gè)內(nèi)部子集中的一個(gè)活動(dòng)頁(yè),且在這4個(gè)I-Bank中進(jìn)行切換時(shí)無(wú)需任何延遲。這樣,將不同的數(shù)據(jù)、代碼映射至不同的I-Bank,可使頁(yè)錯(cuò)失現(xiàn)象降到最少,進(jìn)而改善訪問(wèn)SDRAM的效率。

由于需要實(shí)時(shí)編碼,為保證視頻采集和壓縮可以同步執(zhí)行,采用乒乓緩沖技術(shù):設(shè)置了兩塊視頻幀接收緩沖區(qū)BUF1和BUF2,采用BF533的DMA傳輸鏈方式進(jìn)行傳輸。當(dāng)某一DMA緩沖區(qū)填滿后,內(nèi)核對(duì)其作MPEG-4編碼(同時(shí)也在構(gòu)建參考幀),此時(shí)DMA開(kāi)始對(duì)另一塊緩沖區(qū)進(jìn)行填充。由于BUF1、BUF2、程序代碼以及參考幀均位于不同的I-Bank,減少了SDRAM頁(yè)面切換的機(jī)會(huì),實(shí)現(xiàn)了對(duì)SDRAM的高效訪問(wèn)。

MPEG-4程序流程

MPEG-4編碼是基于宏塊(Macro Block)進(jìn)行的,每個(gè)宏塊包含4個(gè)8×8亮度子塊和2個(gè)8×8色度子塊。MPEG-4編碼原理主要包括對(duì)I幀和P幀的編碼,P幀比I幀多出了運(yùn)動(dòng)估計(jì)和補(bǔ)償模塊,二者編碼流程如圖2所示。


代碼編寫(xiě)及優(yōu)化

BF533支持C/C++高級(jí)語(yǔ)言,但高級(jí)語(yǔ)言執(zhí)行效率較低,為達(dá)到最大執(zhí)行效率,采用全匯編語(yǔ)言實(shí)現(xiàn)MPEG-4編碼。

對(duì)于I幀編碼,主要的運(yùn)算量是前向離散余弦變換FDCT和反向離散余弦變換IDCT,這里采用了ADI提供的優(yōu)化代碼,它基于chen氏快速DCT算法,大量運(yùn)用了BF533特有的并行指令,完成一次8×8 DCT僅需293個(gè)時(shí)鐘周期。

與I幀相比,P幀編碼相對(duì)復(fù)雜,其中,運(yùn)動(dòng)估計(jì)是P幀編碼最費(fèi)時(shí)的部分,即在參考幀中搜索與當(dāng)前編碼宏塊或子塊最匹配的位置。
SAD(絕對(duì)誤差和)準(zhǔn)則具有無(wú)需乘除運(yùn)算、實(shí)現(xiàn)簡(jiǎn)單方便等優(yōu)點(diǎn),選用它作為運(yùn)動(dòng)估計(jì)匹配準(zhǔn)則。

運(yùn)動(dòng)估計(jì)搜索算法則采用菱形搜索法(又稱鉆石搜索法),搜索精度為半像素,菱形搜索法具有簡(jiǎn)單、魯棒、高效的特點(diǎn)。

Blackfin匯編指令集中有專門(mén)用于SAD計(jì)算的指令SAA(src_reg_O,src_reg_1),一條該指令即可同時(shí)完成4個(gè)字節(jié)的SAD計(jì)算。此外,綜合使用其它一些視頻專用操作指令,如BYTEPACK(_將4個(gè)字節(jié)打包至一個(gè)3 2位寄存器中)、BYTEUNPACK(與BYTEPACK功能相反)、BYTEOPl6M(對(duì)4個(gè)字節(jié)作減法處理),可以使代碼運(yùn)行效率得到顯著改善。

BF533集成開(kāi)發(fā)環(huán)境VisualDSP++中還提供了Profile功能,可以利用該功能對(duì)程序代碼性能進(jìn)行評(píng)估,發(fā)現(xiàn)程序執(zhí)行的瓶頸,從而進(jìn)行有針對(duì)性的優(yōu)化。主要的優(yōu)化方法有:

1.盡量減少分支、條件判斷指令,因?yàn)檫@些指令會(huì)破壞BF533流水線,造成額外的時(shí)鐘延遲;同時(shí),對(duì)部分較簡(jiǎn)單的子程序用宏改寫(xiě),免去子程序調(diào)用過(guò)程中的堆棧操作和參數(shù)傳遞;
2.采用并行執(zhí)行指令,BF533并非超標(biāo)量結(jié)構(gòu)DSP,但仍能有限地支持最多3條指令并行執(zhí)行,如:saa(r1:0,r3:2)Ⅱr0=[i0++]Ⅱr2=[i1++];使用該并行指令即可在一個(gè)時(shí)鐘周期內(nèi)完成4個(gè)字節(jié)的SAD計(jì)算,同時(shí)完成r0、r2的數(shù)據(jù)更新,以便下次計(jì)算;
3.在DCT/IDCT的量化過(guò)程及其它一些模塊中,要牽涉到除法,而B(niǎo)F533計(jì)算除法需要耗費(fèi)大量時(shí)鐘周期,因此,這里將除法變?yōu)槌艘粤炕蜃拥牡箶?shù),求倒數(shù)可以通過(guò)查找表方式實(shí)現(xiàn)。再結(jié)合移位操作,即可在基本不損失精度的同時(shí)達(dá)到高效計(jì)算除法的目的。

經(jīng)過(guò)前述的優(yōu)化過(guò)程后,成功地在BF533上實(shí)現(xiàn)了MPEG-4 SP的CIF級(jí)實(shí)時(shí)編碼。此外,對(duì)于CIF級(jí)CMOS傳感器OV6630,系統(tǒng)可以直接對(duì)其實(shí)時(shí)編碼。但如果是外接PAL制式模擬攝像頭,經(jīng)ADV7183作A/D轉(zhuǎn)換后,其分辨率為720×576,受BF533的性能限制,尚無(wú)法對(duì)該級(jí)別分辨率做到實(shí)時(shí)編碼,因此,應(yīng)先使其分辨率降為352×288,然后再作:MPEG-4編碼。

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

BF533內(nèi)核時(shí)鐘(CLK)設(shè)為594MHz,系統(tǒng)時(shí)鐘(SLK)為118.8MHz。選取CIF級(jí)標(biāo)準(zhǔn)測(cè)試序列flower(幀速率為25fps,共75幀)對(duì)系統(tǒng)進(jìn)行驗(yàn)證。

圖3、圖4給出了分別采用I幀編碼和P幀編碼后的重建圖像。I幀編碼壓縮率為11.5:1,重建圖像信噪比為33.43dB。P幀編碼壓縮率則達(dá)到了65.7:1,重建圖像信噪比為32.65dB。經(jīng)采用BF533片內(nèi)實(shí)時(shí)時(shí)鐘RTC精確計(jì)時(shí),整個(gè)視頻序列共75幀,編碼耗費(fèi)2.27s,平均編碼率達(dá)到了33fps,滿足實(shí)時(shí)編碼要求。



結(jié)語(yǔ)

本文介紹了CIF級(jí)別的MPEG-4 SP實(shí)時(shí)編碼在BF533 DSP;DSP片上的實(shí)現(xiàn),該編碼器可以靈活地選用系統(tǒng)自帶CMOS傳感器及用戶自選PAL制模擬攝像機(jī)兩種視頻采集源。該系統(tǒng)可以用在IP可視電話、交通檢測(cè)、超市監(jiān)視、智能小區(qū)安保等領(lǐng)域,具有很強(qiáng)的實(shí)用價(jià)值。
本文地址:http://www.qingdxww.cn/thread-15358-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來(lái)節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产福利在线观看永久视频 | 久久九九99热这里只有精品 | 五月天视频网 | 99在线视频免费 | 精品乱人伦一区二区三区 | 日本不卡视频在线播放 | 狠狠色狠狠色综合日日小蛇 | 一级毛片在线播放免费 | 精品一区二区三区在线播放 | 色综合天天综合给合国产 | 亚洲国产天堂久久综合226 | 日韩在线观看第一页 | 人蛇大战高清完整版在线观看 | 91精品免费高清在线 | 亚洲日本在线看片 | 午夜羞羞影院体验区60秒 | 香蕉网站视频高清在线观看 | 日韩综合在线 | 女人体1963午夜免费视频 | 老司机精品在线视频 | 亚洲黄色片一级 | 落跑甜心电视剧全集在线观看 | 国产色综合天天综合网 | 精品播放| gaysex中国小伙 | 国产4tube在线播放 | 免费h福利动漫网站在线 | 日韩 欧美 国产 亚洲 中文 | 91国视频在线观看 | 中国国产成人精品久久 | 操操操操网 | 日韩手机在线观看 | 国产老色批视频在线观看应用 | 老子影院午夜久久亚洲 | 韩国一级伦理片 | 亚洲图片视频在线 | 不卡无毒免费毛片视频观看 | 在线观看国产精品麻豆 | 亚洲欧美日韩在线一区 | 99精品国产第一福利网站 | 爱婷婷网站在线观看 |