RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于TMS320DM642 DSP芯片實(shí)現(xiàn)IMlab6421視頻服務(wù)器的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:微計(jì)算機(jī)信息 ? 作者:微計(jì)算機(jī)信息 ? 2021-03-17 11:50 ? 次閱讀

1 引言

AVS是具有自主知識(shí)產(chǎn)權(quán)的數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn),其包括系統(tǒng)、視頻、音頻、數(shù)字版權(quán)管理等四個(gè)主要技術(shù)標(biāo)準(zhǔn)和一致性測試等支撐標(biāo)準(zhǔn)。其中,移動(dòng)視頻標(biāo)準(zhǔn)AVS-M (AVS第七部分)適用范圍包括視頻會(huì)議、可視電話、移動(dòng)多媒體等領(lǐng)域。

TMS320DM642是TI公司開發(fā)研制的一款專門面向多媒體應(yīng)用的專用數(shù)字信號(hào)處理芯片,使用此DSP芯片并利用AVS-M算法來進(jìn)行視頻壓縮,可大幅提高視頻壓縮率,減少傳輸流量,即使在低帶寬情況下也可以有效保證實(shí)時(shí)性和監(jiān)控需求。

我們開發(fā)的IMlab6421視頻服務(wù)器,是基于Internet 的視/音頻監(jiān)控設(shè)備。核心DSP芯片采用DM642芯片。而應(yīng)用軟件、視頻壓縮算法是根據(jù)AVS-M標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)、優(yōu)化的。下面針對這款視頻服務(wù)器的系統(tǒng)結(jié)構(gòu)、視頻優(yōu)化的軟件設(shè)計(jì)等進(jìn)行詳細(xì)的介紹。音頻壓縮的優(yōu)化本文不做介紹。

2 硬件設(shè)計(jì)

視頻服務(wù)器IMlab6421原理框圖如圖1所示,系統(tǒng)采用TMS320DM642 用于音視頻壓縮。DM642芯片包含一個(gè)64位的外部存儲(chǔ)器接口,可驅(qū)動(dòng)4個(gè)片選地址空間(CE0,CE1,CE2,CE3), 它支持8,16,32,64位寬度的同步和異步訪問。我們在 DM642的片外擴(kuò)展了16M Bytes的SDRAM,位于EMIF的CE0地址空間,用于存放程序和數(shù)據(jù)。SDRAM工作時(shí)鐘為100MHz,是由DM642芯片的CPU工作時(shí)鐘6分頻產(chǎn)生的。數(shù)據(jù)更新由DM642自動(dòng)完成。還在DM642板上設(shè)計(jì)有512K Bytes的Flash存儲(chǔ)器,位于DM642的CE1地址空間,寬度為8 bits。另外能實(shí)現(xiàn)與Internet連接的以太網(wǎng)處理器采用的是CRYSTAL公司的CS8900A,它高度集成設(shè)計(jì)使其不再需要其它以太網(wǎng)控制器所必需的昂貴外部器件。

視頻編碼工作原理大致為:輸入的模擬視頻信號(hào)經(jīng)TVP5150(支持PAL和NTSC兩種制式)被數(shù)字化為YUV4:2:2的數(shù)字視頻格式,經(jīng)由I2C總線被送至輸入緩沖區(qū)(采用三緩沖機(jī)制), DM642的CPU把捕捉到的視頻數(shù)據(jù)從一個(gè)輸入緩沖區(qū)中取出待編碼圖像數(shù)據(jù)進(jìn)行壓縮編碼處理,形成的壓縮碼流放到輸出緩沖區(qū),然后打包通過網(wǎng)口直接傳輸?shù)絀nternet。

基于TMS320DM642 DSP芯片實(shí)現(xiàn)IMlab6421視頻服務(wù)器的設(shè)計(jì)

圖1 IMlab6421硬件原理框圖

3 軟件設(shè)計(jì)

DSP嵌入式程序受硬件資源的限制,對程序流程和數(shù)據(jù)組織需要從硬件資源和代碼運(yùn)行效率上做仔細(xì)的考慮。通過分析AVS-M編碼器的程序流程,借助實(shí)驗(yàn)中積累的經(jīng)驗(yàn),本文給出了AVS-M編碼器的優(yōu)化方案,主要介紹Cache性能優(yōu)化、存儲(chǔ)空間的分配以及CPU與DMA的并行性設(shè)計(jì)等。

3.1 存儲(chǔ)結(jié)構(gòu)及CACHE性能優(yōu)化

(1)存儲(chǔ)結(jié)構(gòu):DM642的存儲(chǔ)器系統(tǒng)由片內(nèi)內(nèi)存L1、 L2和片外外存兩部分組成,L1, L2和片外SDRAM構(gòu)成了整個(gè)存儲(chǔ)器系統(tǒng)的三級(jí)層次結(jié)構(gòu),如圖2所示。其中,片內(nèi)內(nèi)存采用兩級(jí)緩存結(jié)構(gòu),第一級(jí)由L1P和L1D組成,L1距離DSP核最近,數(shù)據(jù)訪問速度最快,只需一個(gè)時(shí)鐘周期,只能作為不能尋址的Cache使用。第二級(jí)L2是一個(gè)統(tǒng)一的程序/數(shù)據(jù)空間,可以整體作為SRAM映射到存儲(chǔ)空間,也可以整體作為第二級(jí)Cache,或是二者按比例進(jìn)行組合。第三級(jí)是片外外存,一般由SDRAM構(gòu)成。L1P cache大小為16KB,直接映射,每行大小32 字節(jié);L1D cache大小16KB, 2路映射,每行大小64 字節(jié)。L2是L1和外存儲(chǔ)器的中間層,容量較大有256KB,訪問速度較慢,根據(jù) L2 配置為Cache 或SRAM 的不同選擇,訪問速度需8個(gè)或6個(gè)時(shí)鐘周期。片外存儲(chǔ)器容量很大但訪問速度很慢,一般都會(huì)遠(yuǎn)遠(yuǎn)大于 8 個(gè)時(shí)鐘周期。

圖2 三級(jí)存儲(chǔ)系統(tǒng)

(2)CACHE性能優(yōu)化:要優(yōu)化Cache的使用性能需了解Cache的具體結(jié)構(gòu),如Cache容量、行大小、組相聯(lián)數(shù)等。下面總結(jié)了一些優(yōu)化Cache性能的方法:合理配置L2;合理布置程序代碼段和數(shù)據(jù)段的內(nèi)存布局,為防止有效代碼、數(shù)據(jù)在緩沖存儲(chǔ)器中相互排擠,應(yīng)盡量把順序執(zhí)行的代碼、同時(shí)使用的數(shù)據(jù)放在相互鄰接的物理空間當(dāng)中;若函數(shù)模塊和數(shù)據(jù)包含在一個(gè)循環(huán)中,循環(huán)體的大小應(yīng)和Cache的容量相吻合,以便能把整個(gè)循環(huán)體全部放入Cache中。為了提高Cache中數(shù)據(jù)的重復(fù)利用率,把數(shù)據(jù)操作構(gòu)成一條數(shù)據(jù)處理鏈,鏈中的下一級(jí)操作就能直接使用上一級(jí)操作留在Cache中的數(shù)據(jù)。此外還可以根據(jù)Cache行數(shù)據(jù)寬度信息調(diào)節(jié)數(shù)據(jù)在物理內(nèi)存中的存放位置,從而利用數(shù)據(jù)預(yù)取增加Cache的命中率;挖掘L1D的不命中流水處理能力,加速待使用數(shù)據(jù)的讀入速度;通過合理的數(shù)據(jù)填充策略,避免同一時(shí)鐘周期對相同存儲(chǔ)體的讀寫操作將造成存儲(chǔ)器的存取沖突。

3.2 存儲(chǔ)空間的分配

在DSP上由于內(nèi)存空間有限,需要合理分配內(nèi)存空間,這對于程序的運(yùn)行效率十分重要。使用的一個(gè)原則是:應(yīng)盡量把數(shù)據(jù)和代碼放入片內(nèi)存儲(chǔ)器。因?yàn)橥獯姹菴PU工作的速度要慢很多,如果用CPU來處理訪問外部存儲(chǔ)器的工作,大量時(shí)間將浪費(fèi)在存取等待上。

DM642的L2片內(nèi)存儲(chǔ)器可以配置為SRAM或Cache。由于編碼器的數(shù)據(jù)流程是有規(guī)律的,因此我們考慮用程序控制DMA控制器來進(jìn)行內(nèi)存和外存之間的數(shù)據(jù)交換,這樣比硬件自動(dòng)地來處理效率要高。

由于片內(nèi)存儲(chǔ)器容量的限制,不可能將編碼器的所有數(shù)據(jù)都放入片內(nèi)存儲(chǔ)器。原始圖像和重構(gòu)圖像是無法完全放到片內(nèi)存儲(chǔ)器中的。事實(shí)上,沒有必要將這些數(shù)據(jù)放在片內(nèi),因?yàn)榫幋a器的處理過程是以宏塊為單位的,我們只需要在片內(nèi)維護(hù)一個(gè)宏塊的數(shù)據(jù)結(jié)構(gòu),CPU訪問這些數(shù)據(jù)進(jìn)行計(jì)算。每編碼一個(gè)宏塊的時(shí)候把該宏塊需要的數(shù)據(jù)從外存調(diào)入內(nèi)存,填到相應(yīng)的這些數(shù)據(jù)結(jié)構(gòu)中。利用DM642提供的QDMA機(jī)制,CPU發(fā)出QDMA請求后就可以繼續(xù)對其它數(shù)據(jù)進(jìn)行計(jì)算,由DMA負(fù)責(zé)將數(shù)據(jù)從外存調(diào)到內(nèi)部存儲(chǔ)器。因此如何設(shè)計(jì)使CPU與DMA之間協(xié)調(diào)工作很重要,本文2.3部分將詳細(xì)討論這個(gè)問題。

需要注意的問題是當(dāng)前宏塊編碼過程中需要用到前面編碼已經(jīng)獲得的一些信息。參考代碼中是保留所有宏塊的編碼信息,這樣的做法是不適合DSP實(shí)現(xiàn)的,需要的存儲(chǔ)空間太大,片內(nèi)存儲(chǔ)器無法容納。實(shí)際上編碼當(dāng)前宏塊只需要參考它上面和左面的宏塊。因此設(shè)計(jì)編碼器中各模塊的局部數(shù)據(jù)結(jié)構(gòu)如圖3所示。該數(shù)據(jù)結(jié)構(gòu)保留上面一行的值和左邊宏塊的值,每編碼完一個(gè)宏塊,確定當(dāng)前宏塊的信息后更新這些緩沖區(qū),這些數(shù)據(jù)可以放在L2中,不用訪問外存。而且實(shí)驗(yàn)證明用來維護(hù)這樣的數(shù)據(jù)結(jié)構(gòu)所需要的計(jì)算時(shí)間很小。

經(jīng)過優(yōu)化的程序和常用的數(shù)據(jù)結(jié)構(gòu)的大小可以放在L2中。所以按照上面的分析將L2配置為256KB SRAM,將程序代碼段(.text)、變量初值表(.cint)、常量字符串(.const)、全局變量靜態(tài)變量(.bss/.far)、堆棧段(.stack)等放入L2 SRAM當(dāng)中,全局堆(.sysmem用于動(dòng)態(tài)存儲(chǔ)器分配)置于外部存儲(chǔ)器。表1總結(jié)了編碼器所要用到的存儲(chǔ)空間分配情況。

圖3模塊的局部數(shù)據(jù)結(jié)構(gòu)

表1 編碼器存儲(chǔ)空間的分配

其中整像素運(yùn)動(dòng)估計(jì)參考緩沖區(qū)包括亮度和色度。因?yàn)閰⒖紟袃蓚€(gè),整像素運(yùn)動(dòng)估計(jì)參考緩沖區(qū)也有兩個(gè)。分像素運(yùn)動(dòng)估計(jì)參考緩沖區(qū)也是兩個(gè):一個(gè)用來調(diào)入SKIP編碼模式的預(yù)測值,一個(gè)用來做分像素運(yùn)動(dòng)估計(jì)。

3.3 CPU與DMA并行性設(shè)計(jì)

I幀編碼可以說是P幀編碼的特例,如果P幀中不用運(yùn)動(dòng)估計(jì)的話,則與I幀編碼流程相同。因此下面對于CPU與DMA的并行性的討論只針對P幀。

我們要解決的問題是CPU什么時(shí)候發(fā)QDMA請求,命令DMA控制器將需要的數(shù)據(jù)調(diào)入內(nèi)存中。而且這種調(diào)度方式要保證CPU發(fā)命令之后可以進(jìn)行其它的計(jì)算,等CPU需要這些數(shù)據(jù)的時(shí)候,DMA已經(jīng)將其調(diào)入內(nèi)存中了。

為了解決這個(gè)問題需要了解編碼器各個(gè)模塊的運(yùn)行時(shí)間,以及DMA調(diào)度數(shù)據(jù)到內(nèi)存所需要的時(shí)間。通過在DM642上運(yùn)行優(yōu)化過的程序,一個(gè)參考幀情況下測得各部分占程序運(yùn)行時(shí)間的比例大致如表2所示:

表2 程序各部分運(yùn)行時(shí)間所占比例

圖4中由CPU指向DMA的箭頭表示啟動(dòng)QDMA傳輸。每個(gè)DMA傳輸所用的時(shí)間相對于程序運(yùn)行的時(shí)間比例是:傳輸原始像素占1%,傳輸SKIP和分像素運(yùn)動(dòng)估計(jì)參考區(qū)各占3%,傳輸整像素亮度和色度參考區(qū)共15%,傳輸環(huán)路濾波結(jié)果5%。整個(gè)DMA傳輸?shù)臅r(shí)間大概占CPU計(jì)算時(shí)間的30%。通過這些數(shù)據(jù)可以看出,按照圖4進(jìn)行安排可以達(dá)到上面所述目標(biāo)。

圖4 CPU與DMA并行工作

只依靠上面這些方法進(jìn)行優(yōu)化,視頻壓縮還不能達(dá)到實(shí)時(shí)要求,還需要進(jìn)行算法級(jí)優(yōu)化,以及對編碼器中各個(gè)模塊進(jìn)行程序代碼級(jí)的優(yōu)化。常通過采用內(nèi)聯(lián)函數(shù)、軟件流水、線性匯編優(yōu)化等方法,以及合理使用針對視頻處理而設(shè)計(jì)的特殊指令集,充分利用DM642內(nèi)部的并行計(jì)算單元,提高了程序的運(yùn)行速度。由于篇幅有限,對這些優(yōu)化方法本文不再重點(diǎn)論述。

4. 結(jié)論

結(jié)合AVS-M視頻壓縮處理流程的特點(diǎn),本文完成了一個(gè)基于DM642平臺(tái)的編碼器的設(shè)計(jì)與實(shí)現(xiàn)。通過對編碼流程的合理安排使得CPU能與DMA控制器并行工作,CPU不用等待數(shù)據(jù),需要的數(shù)據(jù)已經(jīng)被DMA調(diào)到內(nèi)存中。實(shí)驗(yàn)表明通過系統(tǒng)級(jí)優(yōu)化、程序級(jí)優(yōu)化、匯編級(jí)優(yōu)化、算法級(jí)優(yōu)化等優(yōu)化之后,基于這款視頻服務(wù)器(實(shí)物圖見圖5),能達(dá)到2路CIF352x288格式實(shí)時(shí)視頻壓縮,以及音頻實(shí)時(shí)編碼、解碼處理,且圖像主觀效果及音頻效果良好。

本文創(chuàng)新點(diǎn)是:把具有自主知識(shí)產(chǎn)權(quán)的數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn)第七部分(AVS-M)應(yīng)用于視頻服務(wù)器的視頻壓縮,目前市場上還沒有采用此壓縮標(biāo)準(zhǔn)的產(chǎn)品,此產(chǎn)品具有極高得性價(jià)比,采用此壓縮標(biāo)準(zhǔn)還可以避免產(chǎn)品產(chǎn)業(yè)化之后知識(shí)產(chǎn)權(quán)之爭,具有很好的應(yīng)用前景。

圖5 IMlab6421視頻服務(wù)器實(shí)物圖

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    553

    文章

    7987

    瀏覽量

    348729
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423118
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9123

    瀏覽量

    85322
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于DSP TMS320DM642芯片實(shí)現(xiàn)運(yùn)動(dòng)控制卡的設(shè)計(jì)

    目前,視頻運(yùn)動(dòng)控制卡的研究已經(jīng)成為熱點(diǎn)。本文針對TI公司的視頻高速處理芯片TMS320DM642,設(shè)計(jì)了對目標(biāo)物體進(jìn)行視頻實(shí)時(shí)跟蹤的運(yùn)動(dòng)控制
    發(fā)表于 10-19 10:24 ?1482次閱讀
    基于<b class='flag-5'>DSP</b> <b class='flag-5'>TMS320DM642</b><b class='flag-5'>芯片</b><b class='flag-5'>實(shí)現(xiàn)</b>運(yùn)動(dòng)控制卡的設(shè)計(jì)

    TMS320DM642視頻圖像處理雙路應(yīng)用主板

    CIPS-VIDEO雙向?qū)崟r(shí)圖像處理雙路應(yīng)用主板,采用專業(yè)的多媒體(圖像視頻/音頻)處理芯片(TI 的DSP TMS320DM642)為核心,內(nèi)嵌自主開發(fā)的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)(C
    發(fā)表于 12-01 11:35

    TMS320DM642

    有在使用TMS320DM642的嗎?加好友啊
    發(fā)表于 12-05 18:47

    怎么實(shí)現(xiàn)基于TMS320DM642視頻采集驅(qū)動(dòng)開發(fā)?

    本文針對自行研制的基于TMS320DM642(以下簡稱DM642DSP視頻處理板卡,使其在C64x系列DSP的實(shí)時(shí)操作系統(tǒng)
    發(fā)表于 06-08 06:07

    基于TMS320DM642視頻采集驅(qū)動(dòng)程序的怎么實(shí)現(xiàn)?

    本文針對自行研制的基于TMS320DM642(以下簡稱DM642DSP視頻處理板卡,使其在C64x系列DSP的實(shí)時(shí)操作系統(tǒng)
    發(fā)表于 06-08 07:05

    TMS320DM642 pdf datasheet

    fixed-point DSP generation in the TMS320C6000™ DSP platform. The TMS320DM642 (
    發(fā)表于 08-07 21:18 ?117次下載

    基于DSP TMS320DM642的H.264視頻編碼的實(shí)現(xiàn)

            闡述了低碼率視頻編碼國際標(biāo)準(zhǔn)H.264的主要內(nèi)容,重點(diǎn)討論了H.264編碼在DSP TMS320DM642上的
    發(fā)表于 09-11 10:54 ?26次下載

    基于TMS320DM642的網(wǎng)絡(luò)視頻監(jiān)控服務(wù)器的研究與實(shí)現(xiàn)

    基于TMS320DM642 DSP 處理構(gòu)建的硬件平臺(tái),采用JPEG 圖像壓縮標(biāo)準(zhǔn),系統(tǒng)在軟件設(shè)計(jì)上采用了TI 的RF5 框架和DSP/BIOS 實(shí)時(shí)內(nèi)核,采用了擴(kuò)展的“類驅(qū)動(dòng)/微驅(qū)
    發(fā)表于 12-21 10:20 ?40次下載

    基于TMS320DM642視頻采集卡設(shè)計(jì)

     針對構(gòu)建高穩(wěn)定性、高魯棒性的多媒體數(shù)字監(jiān)控系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)了一款基于TMS320DM642型數(shù)字信號(hào)處理的四路實(shí)時(shí)MPEG-4視頻采集兼壓縮處理PCI板卡。詳細(xì)介紹
    發(fā)表于 12-03 16:22 ?80次下載

    基于TMS320DM642的嵌入式Web服務(wù)器設(shè)計(jì)

    基于TMS320DM642的嵌入式Web服務(wù)器設(shè)計(jì)。
    發(fā)表于 05-10 16:31 ?15次下載

    TMS320DM642中文手冊

    TMS320DM642中文手冊,又需要的下來看看
    發(fā)表于 08-05 18:37 ?28次下載

    如何從進(jìn)行TMS320DM642TMS320DM6467的遷移

     本文件描述了從TMS320DM642設(shè)備遷移TMS320DM6467的裝置,以TMS320DM642裝置及其熟悉設(shè)備   表1顯示了TMS320DM642的基本特征和
    發(fā)表于 04-18 14:11 ?12次下載
    如何從進(jìn)行<b class='flag-5'>TMS320DM642</b>到<b class='flag-5'>TMS320DM</b>6467的遷移

    基于TMS320DM642視頻采集驅(qū)動(dòng)開發(fā)

    采集驅(qū)動(dòng)的原理。 結(jié)合TMS320DM642芯片類/微型驅(qū)動(dòng)模型,提供了按幀采集ITU-R BT.656數(shù)據(jù)驅(qū)動(dòng)的實(shí)現(xiàn)方法,并詳細(xì)討論視頻采集驅(qū)動(dòng)的硬件配置及軟件設(shè)計(jì)中的幀緩存管理、同
    發(fā)表于 02-03 00:13 ?507次閱讀

    基于TMS320DM642多媒體芯片實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)的應(yīng)用方案

    本文以TMS320C6000系列DSP中的一款TMS320DM642多媒體芯片為例,來具體說明如何設(shè)計(jì)嵌入式DSP數(shù)字
    的頭像 發(fā)表于 03-17 09:44 ?3379次閱讀
    基于<b class='flag-5'>TMS320DM642</b>多媒體<b class='flag-5'>芯片</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>視頻</b>監(jiān)控系統(tǒng)的應(yīng)用方案

    TMS320DM642遷移至TMS320DM648/DM6437

    電子發(fā)燒友網(wǎng)站提供《從TMS320DM642遷移至TMS320DM648/DM6437.pdf》資料免費(fèi)下載
    發(fā)表于 10-14 09:17 ?0次下載
    從<b class='flag-5'>TMS320DM642</b>遷移至<b class='flag-5'>TMS320DM</b>648/<b class='flag-5'>DM</b>6437
    RM新时代网站-首页