日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]本文完成了視頻服務(wù)器的硬件設(shè)計(jì),針對(duì)如何充分發(fā)揮DM642硬件平臺(tái)的處理能力,提出了關(guān)于AVS-M算法的編碼優(yōu)化方案,該方案是對(duì)軟件框架流程進(jìn)行仔細(xì)考慮后提出的,避免了冗余操作

摘要:本文完成了視頻服務(wù)器的硬件設(shè)計(jì),針對(duì)如何充分發(fā)揮DM642硬件平臺(tái)的處理能力,提出了關(guān)于AVS-M算法的編碼優(yōu)化方案,該方案是對(duì)軟件框架流程進(jìn)行仔細(xì)考慮后提出的,避免了冗余操作,針對(duì)存儲(chǔ)系統(tǒng)對(duì)各部分的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了設(shè)計(jì),而且通過DMA實(shí)現(xiàn)了計(jì)算與數(shù)據(jù)傳輸?shù)牟⑿刑幚怼?
關(guān)鍵字:AVS-M; DM642;視頻服務(wù)器;實(shí)時(shí)編碼

1引言

AVS是具有自主知識(shí)產(chǎn)權(quán)的數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn),其包括系統(tǒng)、視頻、音頻、數(shù)字版權(quán)管理等四個(gè)主要技術(shù)標(biāo)準(zhǔn)和一致性測(cè)試等支撐標(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)化的。下面針對(duì)這款視頻服務(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位寬度的同步和異步訪問。我們?cè)?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。

圖1 IMlab6421硬件原理框圖

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

DSP嵌入式程序受硬件資源的限制,對(duì)程序流程和數(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í)鐘周期對(duì)相同存儲(chǔ)體的讀寫操作將造成存儲(chǔ)器的存取沖突。

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

在DSP上由于內(nèi)存空間有限,需要合理分配內(nèi)存空間,這對(duì)于程序的運(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請(qǐng)求后就可以繼續(xù)對(duì)其它數(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í)間很小。

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

經(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ǔ)空間分配情況。

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

數(shù)據(jù)名稱

大小(字節(jié))

所屬段名

存放位置

程序

130K

.text

L2 SRAM

整像素運(yùn)動(dòng)估計(jì)參考緩沖區(qū)

9.5K

.far

L2 SRAM

分像素運(yùn)動(dòng)估計(jì)參考緩沖區(qū)

10K

.far

L2 SRAM

編碼常用數(shù)據(jù)結(jié)構(gòu)

40K

.far

L2 SRAM

編碼碼表

9K

.const

L2 SRAM

函數(shù)調(diào)用棧

8K

.stack

L2 SRAM

當(dāng)前編碼幀

圖像大小

.sysmem

片外SDRAM

當(dāng)前重構(gòu)幀

圖像大小

.sysmem

片外SDRAM

整像素參考幀

圖像大小

(兩參考幀)

.sysmem

片外SDRAM

分像素參考幀

圖像大小的四倍

(兩參考幀)

.sysmem

片外SDRAM

    其中整像素運(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ù)測(cè)值,一個(gè)用來做分像素運(yùn)動(dòng)估計(jì)。

3.3CPUDMA并行性設(shè)計(jì)

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

我們要解決的問題是CPU什么時(shí)候發(fā)QDMA請(qǐng)求,命令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è)參考幀情況下測(cè)得各部分占程序運(yùn)行時(shí)間的比例大致如表2所示:

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

模塊名稱

所占比例

1/2插值

10%

初始化

2%

整像素運(yùn)動(dòng)估計(jì)

35%

分像素運(yùn)動(dòng)估計(jì)

15%

幀內(nèi)亮度預(yù)測(cè)

15%

重構(gòu)和掃描

10%

環(huán)濾波

6%

熵編碼

4%

其它

3%

圖4中由CPU指向DMA的箭頭表示啟動(dòng)QDMA傳輸。每個(gè)DMA傳輸所用的時(shí)間相對(duì)于程序運(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ù)可以看出,按照?qǐng)D4進(jìn)行安排可以達(dá)到上面所述目標(biāo)。

圖4 CPU與DMA并行工作

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

4. 結(jié)論

結(jié)合AVS-M視頻壓縮處理流程的特點(diǎn),本文完成了一個(gè)基于DM642平臺(tái)的編碼器的設(shè)計(jì)與實(shí)現(xiàn)。通過對(duì)編碼流程的合理安排使得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ù)器的視頻壓縮,目前市場(chǎng)上還沒有采用此壓縮標(biāo)準(zhǔn)的產(chǎn)品,此產(chǎn)品具有極高得性價(jià)比,采用此壓縮標(biāo)準(zhǔn)還可以避免產(chǎn)品產(chǎn)業(yè)化之后知識(shí)產(chǎn)權(quán)之爭(zhēng),具有很好的應(yīng)用前景。

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

參考文獻(xiàn):

[1]周大山,李華,張淑芳等。AVS-M視頻解碼器設(shè)計(jì)和實(shí)現(xiàn). 電視技術(shù),2005,8:10-11
[2]李方慧,王飛,何佩琨.TMS320C6000系列DSPs原理及應(yīng)用.電子工業(yè)出版社,2003.
[3]許海燕,閆健恩,陳靜. H.264視頻編碼在DM642上的實(shí)現(xiàn)與優(yōu)化,微計(jì)算機(jī)信息,2006,8-2:160-162

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

進(jìn)一步加強(qiáng)檢測(cè)認(rèn)證服務(wù)合作 首爾2022年5月17日 /美通社/ -- 近日,全球領(lǐng)先的檢驗(yàn)檢測(cè)認(rèn)證機(jī)構(gòu)DEKRA德凱與韓國(guó)產(chǎn)業(yè)技術(shù)試驗(yàn)院(KTL)在韓國(guó)首爾簽署了MoU合作備忘錄。DEKRA德凱集團(tuán)執(zhí)行副總裁、亞太區(qū)...

關(guān)鍵字: WALSH EMC RF AVS

小編為大家整理出了三個(gè)有關(guān)性能監(jiān)控和優(yōu)化命令詳細(xì)講解,別看只有三個(gè),但不影響他噎啊,本篇文章很長(zhǎng),涉及top命令、free命令和vmstat命令,真的是很詳細(xì)的講解,希望能幫到大家,另外還有兩條相關(guān)的命令詳解,消化消化這...

關(guān)鍵字: CACHE ROOT BUFFER CPU

↓推薦關(guān)注↓無論你寫什么樣的代碼都會(huì)交給CPU來執(zhí)行,所以,如果你想寫出性能比較高的代碼,這篇文章中提到的技術(shù)還是值得認(rèn)真學(xué)習(xí)的。另外,千萬別覺得這些東西沒用,這些東西非常有用,十多年前就是這些知識(shí)在性能調(diào)優(yōu)上幫了我的很...

關(guān)鍵字: CPU CACHE BSP 內(nèi)存

摘要:隨著DSP技術(shù)的發(fā)展、寬帶網(wǎng)絡(luò)的普及和國(guó)際視頻編碼標(biāo)準(zhǔn)的不斷更新,通過網(wǎng)絡(luò)進(jìn)行視頻信號(hào)的實(shí)時(shí)傳輸已經(jīng)成為多媒體技術(shù)領(lǐng)域的一個(gè)重要研究方向。文中設(shè)計(jì)了一種基于TMS320DM642核心處理器的實(shí)時(shí)網(wǎng)絡(luò)視頻監(jiān)控平臺(tái)。詳...

關(guān)鍵字: 物聯(lián)網(wǎng) DM642 網(wǎng)絡(luò)傳輸 視頻采集

  數(shù)字錄像機(jī) (DVR) 和數(shù)字視頻服務(wù)器 (SVR) 都是用于視頻監(jiān)控的設(shè)備。DVR/SVR 從多個(gè)模擬監(jiān)控?cái)z像機(jī)中獲取模擬視頻信號(hào)并將它們數(shù)字化。處理引擎會(huì)以數(shù)字格式(例如 H.264、動(dòng)

關(guān)鍵字: 視頻服務(wù)器 dvr svr 數(shù)字錄像機(jī)

  嵌入式視頻服務(wù)器是一種能提供視頻采集,視頻數(shù)據(jù)壓縮,網(wǎng)絡(luò)傳輸功能的一種多媒體信息服務(wù)器。其傳輸處理的是視頻流,而視頻傳輸具有實(shí)時(shí)性高、數(shù)據(jù)量大等特點(diǎn),它需要滿足以下三點(diǎn)要求:一:高帶寬,高帶寬保證大數(shù)據(jù)量的多媒體數(shù)據(jù)...

關(guān)鍵字: 嵌入式開發(fā) 嵌入式; 視頻服務(wù)器

羅德與施瓦茨宣布與廣播商N(yùn)ika-TV簽訂合同,該廣播商為俄羅斯卡盧加地區(qū)提供服務(wù)。作為備受贊譽(yù)的衛(wèi)星電視、廣播運(yùn)營(yíng)商,Nika-TV已經(jīng)將羅德與施瓦茨公司VENICE視頻服務(wù)器應(yīng)用于其卡盧加市總部的演播室采集、生產(chǎn)和頻...

關(guān)鍵字: 羅德與施瓦茨 視頻服務(wù)器

目前,視音頻技術(shù)在各項(xiàng)工作和生活領(lǐng)域中得到了廣泛應(yīng)用,還為人們提出了高效的傳輸平臺(tái)以及接入和處理手段。多媒體監(jiān)控系統(tǒng)以其能夠?qū)崟r(shí)、形象、真實(shí)地反映被監(jiān)控對(duì)象的特性而逐漸成為現(xiàn)代化管理、檢測(cè).

關(guān)鍵字: adsp-bf532 嵌入式開發(fā) 嵌入式網(wǎng)絡(luò) 視頻服務(wù)器

數(shù)字電源

15504 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉