楊 峰,陳建春
(西安電子科技大學(xué) 電子工程學(xué)院,陜西 西安 710071)
?
基于達(dá)芬奇技術(shù)的音視頻壓縮傳輸系統(tǒng)
楊 峰,陳建春
(西安電子科技大學(xué) 電子工程學(xué)院,陜西 西安 710071)
針對(duì)高集成Davinci數(shù)字媒體處理器的應(yīng)用,并結(jié)合現(xiàn)如今Davinci技術(shù)數(shù)字圖像處理的發(fā)展主流和應(yīng)用方向,設(shè)計(jì)了一種音視頻采集壓縮傳輸系統(tǒng)。系統(tǒng)以TMS320DM365為核心處理器,分別采用TLV320AIC3101芯片和TVP5146芯片對(duì)模擬音、視頻信號(hào)進(jìn)行采集,利用TMS320DM365核心處理器實(shí)現(xiàn)對(duì)音視頻數(shù)據(jù)進(jìn)行壓縮編碼處理,并通過以太網(wǎng)或PCI接口將處理后的音視頻數(shù)據(jù)流進(jìn)行傳輸。測(cè)試結(jié)果表明,音視頻回放清晰流暢,穩(wěn)定性較好,符合項(xiàng)目的設(shè)計(jì)要求,具有一定的工程應(yīng)用價(jià)值。
音視頻壓縮;DaVinci;多媒體處理器;TMS320DM365
結(jié)合當(dāng)前音視頻壓縮技術(shù)的發(fā)展現(xiàn)狀以及課題的具體需求,設(shè)計(jì)了一種音視頻壓縮傳輸系統(tǒng)[1-2]。該系統(tǒng)完成了模擬音視頻的采集,并對(duì)采集到的音視頻進(jìn)行壓縮處理[3](以MPEG-4的格式對(duì)視頻進(jìn)行壓縮處理,以AAC的格式對(duì)音頻進(jìn)行壓縮處理[4]),再將處理后的數(shù)據(jù)通過PCI接口傳輸?shù)缴衔粰C(jī),同時(shí)存入硬盤文件系統(tǒng)。
本文旨在設(shè)計(jì)一個(gè)音視頻壓縮傳輸系統(tǒng),實(shí)現(xiàn)對(duì)音視頻的實(shí)時(shí)采集、壓縮、傳輸和實(shí)時(shí)顯示等。系統(tǒng)主要包括DSP模塊、音視頻采集模塊、外部存儲(chǔ)器模塊以及網(wǎng)絡(luò)傳輸模塊。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)總體框圖
系統(tǒng)的基本工作原理是,由CCD攝像頭采集輸入模擬視頻信號(hào),經(jīng)過視頻解碼芯片TVP5146進(jìn)行模/數(shù)轉(zhuǎn)換,變成符合ITU-BT.656標(biāo)準(zhǔn)的數(shù)字視頻信號(hào),然后將數(shù)字視頻信號(hào)傳輸?shù)竭_(dá)芬奇處理器TMS320DM365的視頻處理子系統(tǒng)的前端,即實(shí)現(xiàn)了對(duì)視頻的實(shí)時(shí)捕獲。與此同時(shí),音頻編解碼芯片TLV320AIC3101將MIC采集輸入的模擬音頻信號(hào)量化成數(shù)字量傳輸給DM365,實(shí)現(xiàn)音頻的實(shí)時(shí)采集。通過DM365內(nèi)部的DSP核完成對(duì)音頻數(shù)據(jù)的AAC編碼以及對(duì)視頻數(shù)據(jù)的MPEG-4壓縮編碼,并由其內(nèi)部的ARM核將壓縮編碼后的數(shù)據(jù)打包成TS碼流,然后采用UDP協(xié)議通過以太網(wǎng)發(fā)送出去;或經(jīng)EMIF接口傳輸至FPGA進(jìn)行數(shù)據(jù)的緩存及傳輸[5]。
2.1 TMS320DM365數(shù)字媒體處理器
TMS320DM365是TI公司基于達(dá)芬奇技術(shù)開發(fā)的一款為迎合網(wǎng)絡(luò)多媒體技術(shù),特別是編解碼技術(shù)需求的低功耗、低成本、高性能的數(shù)字媒體處理器。其內(nèi)部集成了一個(gè)支持高達(dá)300 MHz工作頻率的ARM926EJ-S處理器,以及一個(gè)H.264高清編解碼協(xié)處理器(HDVICP)和一個(gè)用以MPEG-4/JPEG高清編解碼協(xié)處理器(MJCP)[6]。同時(shí)還具有DDR2內(nèi)存控制器,64通道的增強(qiáng)型DMA控制器,串行端口(2個(gè)UART、I2C、SPI、音頻串口),10/100 Mbit·s-1以太網(wǎng),以及多達(dá)104個(gè)通用I/O口。
2.2 音視頻采集模塊設(shè)計(jì)
系統(tǒng)的音頻采集模塊由音頻編解碼芯片TLV320AIC3101及其外圍電路組成。其主要功能是將由MIC采集輸入到TLV320AIC3101編解碼芯片的模擬音頻信號(hào)轉(zhuǎn)化成數(shù)字信號(hào),并以I2S格式將轉(zhuǎn)化后的音頻數(shù)據(jù)流傳輸給DM365進(jìn)行音頻壓縮處理[7-8]。
系統(tǒng)的視頻采集模塊采用由視頻解碼芯片TVP5146及其外圍電路組成。其主要是實(shí)現(xiàn)將一路由CCD攝像頭采集輸入的標(biāo)準(zhǔn)PAL制式的模擬視頻信號(hào)發(fā)送到TVP5146解碼芯片,完成視頻圖像的模擬信號(hào)數(shù)字化,并將模擬視頻信號(hào)轉(zhuǎn)換為數(shù)字并行信號(hào)(BT.656碼流格式)的功能。
2.3 外部存儲(chǔ)器模塊設(shè)計(jì)
2.3.1 DDR2 SDRAM緩存模塊
由于TMS320DM365內(nèi)置的存儲(chǔ)器容量不是很大,因此要完成大量圖像數(shù)據(jù)的采集和處理需要額外的存儲(chǔ)器。系統(tǒng)根據(jù)編碼模式及數(shù)據(jù)存儲(chǔ)容量的大小,選用一片MT47H64M16芯片作為SDRAM[9],SDRAM與TMS320DM365通過EMIF相連接。TMS320DM365內(nèi)部集成有對(duì)DDR的控制寄存器[10],系統(tǒng)在對(duì)DDR進(jìn)行讀寫之前,必須先對(duì)EMIF接口進(jìn)行設(shè)置。
2.3.2 NAND Flash存儲(chǔ)模塊
系統(tǒng)中NAND Flash的主要是用來存儲(chǔ)一級(jí)引導(dǎo)程序UBL、啟動(dòng)程序UBoot、Linux內(nèi)核(uImage)、文件系統(tǒng)、驅(qū)動(dòng)程序以及應(yīng)用程序等系統(tǒng)操作數(shù)據(jù)。在TMS320DM365上電或復(fù)位時(shí),DSP會(huì)從NAND Flash的起始地址拷貝1 kbit的代碼到內(nèi)部的RAM運(yùn)行,從而加載引導(dǎo)程序,啟動(dòng)系統(tǒng)的運(yùn)行。NAND Flash與DM365通過AEMIF(異步外部存儲(chǔ)器接口)進(jìn)行連接通信。
2.4 網(wǎng)絡(luò)傳輸模塊設(shè)計(jì)
2.4.1 以太網(wǎng)通信接口
系統(tǒng)采用KS8001作為以太網(wǎng)PHY芯片,并通過MII接口[11]與DM365相連接。DM365通過MDIO接口實(shí)現(xiàn)對(duì)KS8001寄存器的配置和控制,并通過上拉和下拉電阻對(duì)KS8001進(jìn)行適當(dāng)?shù)呐渲?。KS8001外接25 MHz晶振作為時(shí)鐘源,并且通過標(biāo)準(zhǔn)的RJ-45接口連接到網(wǎng)絡(luò)[12]。該模塊提供1路100 Mbit·s-1的網(wǎng)絡(luò)接口,能夠快速將從DM365傳輸過來的數(shù)據(jù)通過KS8001轉(zhuǎn)換為以太網(wǎng)物理層能接收的數(shù)據(jù),并通過RJ-45傳輸?shù)揭蛱鼐W(wǎng)。
2.4.2 PCI總線接口
PCI 總線是一種用來傳輸數(shù)據(jù)的高性能局部總線,用以解決原有的標(biāo)準(zhǔn)總線數(shù)據(jù)傳輸率低的問題。FPGA內(nèi)部集成有PCI軟核,支持32位33 MHz的PCI總線用以傳輸數(shù)據(jù)。系統(tǒng)中的PCI總線既可以將由DM365傳輸給FPGA的音視頻數(shù)據(jù)流傳給上位機(jī);同時(shí)也可以將從上位機(jī)中獲取的配置信息以及其他系統(tǒng)參數(shù)輸入到FPGA中,并由FPGA通過SPI總線傳輸?shù)紻M365中作為啟動(dòng)參數(shù),從而實(shí)現(xiàn)多種參數(shù)的系統(tǒng)啟動(dòng)方式。
系統(tǒng)的軟件設(shè)計(jì)主要是在設(shè)計(jì)好的硬件平臺(tái)上搭建達(dá)芬奇軟件開發(fā)環(huán)境,啟動(dòng)Linux系統(tǒng)并進(jìn)行程序設(shè)計(jì)。其中達(dá)芬奇軟件開發(fā)環(huán)境搭建,主要是將達(dá)芬奇的相關(guān)軟件安裝到Linux服務(wù)器的文件系統(tǒng)中[13],并在Linux服務(wù)器中安裝交叉編譯工具arm_v5t。系統(tǒng)采用NANDFlash模式啟動(dòng);這種啟動(dòng)方式需要進(jìn)行3個(gè)階段的代碼引導(dǎo),即RBL->UBL->UBoot;首先要通過CCS軟件實(shí)現(xiàn)目標(biāo)板的UBoot程序的燒寫,之后才能進(jìn)行內(nèi)核的加載及文件系統(tǒng)的創(chuàng)建[14](內(nèi)核及文件系統(tǒng)的燒寫通過Linux服務(wù)器中的TFTP實(shí)現(xiàn))。
應(yīng)用程序開發(fā)部分主要由主線程、視頻捕獲線程、視頻編碼線程、寫線程和語音線程組成[15]。其中主線程執(zhí)行相關(guān)的初始化;視頻捕獲線程和語音線程主要是采集原始的音視頻數(shù)據(jù);視頻編碼線程用來對(duì)視頻捕獲線程的幀數(shù)據(jù)進(jìn)行壓縮編碼處理[16];寫線程將已處理的數(shù)據(jù)通過以太網(wǎng)或PCI接口進(jìn)行傳輸。其主要流程圖如圖2所示。
圖2 程序設(shè)計(jì)主要流程
系統(tǒng)測(cè)試環(huán)境包括一個(gè)模擬攝像頭、使用系統(tǒng)設(shè)計(jì)的DM365硬件平臺(tái)、PC機(jī)一臺(tái)及LCD顯示屏一個(gè),測(cè)試環(huán)境如圖3所示。
圖3 測(cè)試環(huán)境
圖4 視頻編解碼效果圖
程序運(yùn)行后,在LCD顯示屏上可以看到視頻清晰流暢,在耳機(jī)中可以聽到清晰同步的聲音。同時(shí),系統(tǒng)還能根據(jù)用戶的需求靈活設(shè)置幀率、分辨率及P/I等參數(shù)。圖4 為視頻編解碼效果圖,其中幀率為25 fip·s-1,分辨率為720×576;設(shè)置其分辨率為352×288,幀率為25 fip·s-1,其效果如圖5所示。對(duì)幀率進(jìn)行設(shè)置,可在PC機(jī)的超級(jí)終端上看到幀率的變化,如圖6所示。同時(shí)也可以設(shè)置P/I比等參數(shù)。
圖5 分辨率為352×288實(shí)驗(yàn)結(jié)果圖
圖6 幀率為2實(shí)驗(yàn)結(jié)果圖
介紹了基于達(dá)芬奇技術(shù)的音視頻壓縮傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn);系統(tǒng)實(shí)現(xiàn)了對(duì)音視頻數(shù)據(jù)的采集、壓縮以及傳輸。經(jīng)過多次長(zhǎng)時(shí)間的測(cè)試,系統(tǒng)具有良好的穩(wěn)定性和可靠性。且能靈活的設(shè)置分辨率、幀率、P/I幀比例等參數(shù),符合項(xiàng)目的設(shè)計(jì)要求,具有一定的工程應(yīng)用價(jià)值。本文的創(chuàng)新點(diǎn):(1)能靈活地設(shè)置分辨率、幀率、P/I幀比例等參數(shù),實(shí)現(xiàn)了多種參數(shù)的系統(tǒng)啟動(dòng)方式;(2)系統(tǒng)中的音視頻數(shù)據(jù)流既可以通過以太網(wǎng)實(shí)時(shí)傳輸,又可以在FPGA中緩存再通過PCI總線傳輸?shù)缴衔粰C(jī)。
[1] 王飛.基于DaVinci技術(shù)的視頻編碼系統(tǒng)實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2012.
[2] 鄧娜.基于DM6467的多通道視頻傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].廣東通信技術(shù),2014(10):62-65.
[3] 李小平.MPEG-音視頻壓縮系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].福建電腦,2004,6(6):60-61.
[4] 張晶.基于DM6467的視頻壓縮存儲(chǔ)和網(wǎng)絡(luò)傳輸系統(tǒng)設(shè)計(jì)[J].液晶與顯示,2013,28(6):911-916.
[5] 底鵬.音視頻數(shù)據(jù)采集接口電路設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2015.
[6] 高玉龍,白旭,吳瑋.達(dá)芬奇技術(shù)開發(fā)基礎(chǔ)、原理與實(shí)例[M].北京:電子工業(yè)出版社,2012.
[7] 余涵.基于DM6467T的音視頻采集模塊設(shè)計(jì)[J].計(jì)算機(jī)工程,2013,39(11):312-316.
[8] 王雄偉.基于DM365 的視頻編碼器的硬件設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,19(8):128-129.
[9] 張剛,賈建超,趙龍.基于FPGA 的DDR3SDRAM控制設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2014,27(1):70-73.
[10] 周順燕,吳丹.TMS320C6713_DSP的高速EMIF數(shù)據(jù)接口設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2010,18(7):1654-1656.
[11] 張琦.基于達(dá)芬奇技術(shù)的數(shù)字視頻系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008,24(23):184-185.
[12] 魏建儒.基于DM365實(shí)時(shí)視頻采集傳輸模塊設(shè)計(jì)與研究[D].西安:西安理工大學(xué),2011.
[13] TI.TMS320DM36x digital media system on chip ARM_SUBSYSTEM user guide[EB/OL].(2009-05-11)[2015-12-20]www.ti.com.
[14] TI.TMS320DM365 digital media system on chip[EB/OL].(2011-03-26)[2016-01-29] www.ti.com.
[15] 王躍宗,劉京會(huì).TMS320DM642DSP應(yīng)用系統(tǒng)設(shè)計(jì)與開發(fā)[M].北京:人民郵電出版社,2009.
[16] 文全剛.嵌入式Linux操作系統(tǒng)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2014.
Design and Implementation of Audio and Video Compression Transmission System Based on DaVinci Technology
YANG Feng,CHEN Jianchun
(School of Electronic Engineering,Xidian University,Xi’an 710071,China)
In view of the high integration of the application of Davinci digital media processor,and combined with the nowadays Davinci technology mainstream and application direction of the development of digital image processing,designed a set of audio and video collection and compression transmission system.In system,TMS320DM365 as the core processor,TLV320AIC3101 chips and TVP5146 chips were respectively used to collect analog sound and video signal,using TMS320DM365 processor implementation of video image format conversion and h.264/mpeg-4 compression processing,and through the Ethernet or PCI interface for audio and video data stream transmission.The test results show that the audio and video playback fluidity,has better stability, conform to the design requirements of the project,and has certain engineering application value.
audio and video compression;DaVinci;multimedia processor;TMS320DM365
2016- 10- 24
楊峰(1992-),男,碩士研究生。研究方向:電路與系統(tǒng)。陳建春(1962-),男,博士,教授。研究方向:電子系統(tǒng)設(shè)計(jì)等。
10.16180/j.cnki.issn1007-7820.2017.08.026
TN919.8;TP368
A
1007-7820(2017)08-096-04