潘佚
(南華大學(xué) 電氣工程學(xué)院,湖南 衡陽 421001)
基于DM642的網(wǎng)絡(luò)視頻系統(tǒng)的設(shè)計與實(shí)現(xiàn)
潘佚
(南華大學(xué) 電氣工程學(xué)院,湖南 衡陽 421001)
為滿足現(xiàn)代實(shí)時網(wǎng)絡(luò)視頻應(yīng)用的需求,提出并實(shí)現(xiàn)了一種基于TI公司多媒體DSP芯片TMS320DM642的實(shí)時網(wǎng)絡(luò)視頻系統(tǒng),給出了網(wǎng)絡(luò)視頻節(jié)點(diǎn)的硬件及軟件的詳細(xì)設(shè)計方案。結(jié)果證明,該系統(tǒng)能對視頻圖像進(jìn)行實(shí)時壓縮編碼,并在各網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸,且傳輸速率穩(wěn)定,圖像質(zhì)量可調(diào),能滿足現(xiàn)代各種實(shí)時監(jiān)控系統(tǒng)的要求。
實(shí)時視頻;網(wǎng)絡(luò)節(jié)點(diǎn);DM642;圖像壓縮;動態(tài)JPEG
網(wǎng)絡(luò)視頻技術(shù)是隨著視頻圖像、語音等多媒體信息數(shù)字處理技術(shù)與數(shù)字通信技術(shù)的飛速發(fā)展應(yīng)運(yùn)而生的。網(wǎng)絡(luò)視頻系統(tǒng)將傳統(tǒng)攝像機(jī)和PC的功能整合到了一起,不僅將能模擬視頻信號數(shù)字化并壓縮,還帶有一個網(wǎng)絡(luò)接口,在網(wǎng)絡(luò)上擁有一個IP地址。視頻經(jīng)由網(wǎng)絡(luò)交換機(jī),通過IP網(wǎng)絡(luò)傳輸,并可在裝有視頻管理軟件的標(biāo)準(zhǔn)PC上顯示和存儲。網(wǎng)絡(luò)視頻系統(tǒng)可選擇高分辨率攝像機(jī)(數(shù)百萬像素),具有穩(wěn)定的圖像質(zhì)量和傳輸速率,現(xiàn)在已在各種嵌入式視頻會議系統(tǒng),可視電話及各種分布式實(shí)時監(jiān)控系統(tǒng)中得到越來越廣泛的應(yīng)用[1-2]。文中實(shí)現(xiàn)了一種基于TI公司推出的一款針對多媒體處理領(lǐng)域應(yīng)用的DSP,TMS320DM642的網(wǎng)絡(luò)視頻系統(tǒng)的設(shè)計方案。
系統(tǒng)視頻節(jié)點(diǎn)的硬件結(jié)構(gòu)如圖1所示,由CCD攝像頭輸入的視頻信號首先通過視頻編碼器SAA7115H進(jìn)行數(shù)字化處理,所得數(shù)字視頻信號經(jīng)過視頻端口(VP0)的內(nèi)部FIFO緩沖后,由DM642通過EDMA將數(shù)據(jù)傳送到片外SDRAM中,以便供視頻應(yīng)用程序使用。視頻應(yīng)用程序?qū)D像進(jìn)行相應(yīng)處理(如增強(qiáng)、編碼)之后由以太網(wǎng)控制器進(jìn)行網(wǎng)絡(luò)傳輸任務(wù)。
系統(tǒng)核心TMS320DM642是個強(qiáng)大的多媒體處理器,也是構(gòu)成多媒體通信系統(tǒng)的良好平臺。為了滿足視頻和圖像處理的需要,它采用了VelociTI體系結(jié)構(gòu),主頻600 MHz,8個并行運(yùn)算單元,處理能力達(dá)4 800 MIPS,L1PCache和L1DCache分別為16 kB,工作在CPU全速訪問狀態(tài),二級緩存256 kB。DM642采用高級超長指令字結(jié)構(gòu)和硬件流水機(jī)制,使其在一個指令周期能夠并行處理多條指令,從而加速了處理速度。這使得構(gòu)建小型實(shí)時化的視頻實(shí)時處理系統(tǒng)成為可能。DM642外設(shè)中有3個可配置的視頻接口,可以和視頻輸入、輸出或傳輸流無縫連接;同時還帶有10/100 Mbs自適應(yīng)以太網(wǎng)接口,提供DSP核與網(wǎng)絡(luò)之間的高效連接;豐富的外圍接口使其近乎是一個多媒體嵌入式系統(tǒng)的單芯片硬件平臺。DM642的完全可編程性,又可以使其能夠兼容正在發(fā)展的各種多媒體信號處理標(biāo)準(zhǔn),構(gòu)成通用的軟件平臺,因此得到越來越廣泛的應(yīng)用[3]。
圖1 網(wǎng)絡(luò)視頻系統(tǒng)節(jié)點(diǎn)結(jié)構(gòu)框圖Fig.1 Structure diagram of the network video system
TI公司的DSP開發(fā)軟件包括集成開發(fā)環(huán)境(CCS)、實(shí)時操作系統(tǒng)(DSP/BIOS)、第三方算法庫標(biāo)準(zhǔn)(eXpressDSP)。 本系統(tǒng)中調(diào)用TI提供的JPEG算法庫。
如圖2所示,整體流程可分為3個模塊:圖像的輸入任務(wù)、處理任務(wù)和網(wǎng)絡(luò)傳輸任務(wù)。輸入任務(wù)獲得獲取攝像頭捕獲的模擬視頻信號,并經(jīng)過兩次采樣后,將得到的數(shù)字圖像幀數(shù)據(jù)通過同步通訊 (Synchronized COMmunication,SCOM)由輸入任務(wù)進(jìn)入到處理模塊。處理模塊完成圖像幀的壓縮編碼。編碼結(jié)束以后,會產(chǎn)生JPEG格式的圖像文件。該壓縮圖像由SCOM傳遞到最后一個模塊-網(wǎng)絡(luò)傳輸模塊。網(wǎng)絡(luò)任務(wù)生成一個該JPEG圖像的HTML文件,傳輸?shù)浇K端計算機(jī)后,可在計算機(jī)的網(wǎng)頁瀏覽器上觀看到圖像。圖像幀在幾個任務(wù)模塊之間的傳遞都是通過指針實(shí)現(xiàn)的。
圖2 軟件流程圖Fig.2 Flow chart of software
本系統(tǒng)中,原始圖像幀是由攝像機(jī)獲取的,編碼后進(jìn)入DM642的視頻端口(VP)。對于DM642的VP口,TI提供了一個兩層設(shè)備驅(qū)動模型:類/微驅(qū)動模型(Class/Mini Driver),其中Class Driver(上層驅(qū)動)用于連接應(yīng)用程序和下層驅(qū)動,Mini Driver(下層驅(qū)動)靠近底層硬件。在此基礎(chǔ)上,應(yīng)用程序可以復(fù)用絕大部分相似設(shè)備的驅(qū)動程序,從而提高驅(qū)動程序的開發(fā)效率。根據(jù)VP口的特點(diǎn),Class Driver又可分為FVID Class Driver和 GIO Class Driver,F(xiàn)VID Class Driver更接近應(yīng)用程序,提供一些特別適用于圖像的API函數(shù),而GIO Class Driver則提供與Mini Driver進(jìn)行通信的API函數(shù)。在視頻采集過程中,使用硬件中斷對視頻數(shù)據(jù)進(jìn)行控制和傳輸,在中斷服務(wù)程序中,根據(jù)視頻端口內(nèi)部FIFO的狀態(tài)通過EDMA完成視頻數(shù)據(jù)的讀入。
系統(tǒng)用于編碼支持的視頻標(biāo)準(zhǔn)有PAL、NTSC和SECAM制式。PHILIPS的圖像解碼芯片SAA7115支持6路復(fù)合模擬視頻或3路S端子信號輸入,支持多種格式的數(shù)字RGB和YUV視頻信號輸出。輸入的模擬視頻信號經(jīng)過SAA7115H采樣后轉(zhuǎn)化為YUV 4:2:2格式的數(shù)字視頻,分辨率為720×480(可根據(jù)需要進(jìn)行設(shè)置,DM642通過I2C總線對SAA7115H進(jìn)行參數(shù)設(shè)定)。這是第一次采樣過程。為了方便調(diào)用TI提供的JPEG算法庫,還要對圖像信號進(jìn)行二次采樣,將其轉(zhuǎn)換為YUV 4:2:0格式。轉(zhuǎn)換完成以后,將指向所得圖像在內(nèi)存區(qū)位置的指針通過SCOM消息傳遞給下一個任務(wù),即編碼。
原始圖像的數(shù)據(jù)量非常大,而網(wǎng)絡(luò)傳輸?shù)膸捰邢?,為了提高圖像的傳輸速率,有必要對原始圖像進(jìn)行壓縮編碼處理。這一模塊就是要將YUV 4:2:0格式的圖像壓縮成JPEG格式的圖像[4]。JPEG是一種被大量應(yīng)用程序支持且非常流行的靜態(tài)圖像壓縮標(biāo)準(zhǔn),用戶可以直接通過標(biāo)準(zhǔn)網(wǎng)頁瀏覽器解壓并查看JPEG格式的圖像。在NTSC模式下(每秒30幀圖像),把每一秒中連續(xù)的圖像看作是獨(dú)立的30幀靜態(tài)圖,作為動態(tài)JPEG(MJPEG)來進(jìn)行編碼[5]。用戶可自定義JPEG壓縮的壓縮級別,這將決定圖像的壓縮程度,并會直接決定所產(chǎn)生圖像的質(zhì)量。JPEG編碼流程如圖3所示。
圖3 JPEG編碼流程Fig.3 JPEG coding process
Data reformat:將原始掃描圖像分割成一系列8×8大小的圖像塊,同時這個步驟還將象素的灰度進(jìn)行平移,動態(tài)范圍由(0~255)轉(zhuǎn)化為(-127~128),以消除信號偏移量的影響。
DCT:對上一步得到的每個8×8圖像塊進(jìn)行2D離散余弦變換,并輸出其頻譜。由于DCT是一種可分離變化,因此可把它作為兩次8點(diǎn)1D離散余弦變換來實(shí)現(xiàn)。
DC encode:對離散余弦變換后得到的直流分量(DC)系數(shù)進(jìn)行量化和Huffman編碼(變長編碼)。
Quantization and RLE:對非零交流分量(AC)系數(shù)進(jìn)行量化,并對其進(jìn)行行程長度編碼。
AC VLC:對上一步的輸出結(jié)果再進(jìn)行變長編碼,并且構(gòu)造圖像的熵編碼塊。
Byte stuff:在JPEG標(biāo)準(zhǔn)中,一個或多個控制碼以后面的0xFF來標(biāo)記。在字節(jié)0xFF后面加上0x00則表示該0xFF是數(shù)據(jù)的一部分而非控制字。Byte stuff給熵編碼塊里的所有0xFF的后面插入0x00。
編碼過程中包含了一系列的數(shù)據(jù)處理和傳輸操作。在對圖像進(jìn)行JPEG編碼時,調(diào)用編碼控制函數(shù)jpgenc_ti(),這個函數(shù)包含了編碼所需要的全部功能函數(shù),聲明如下:
編碼過程結(jié)束以后,通過SCOM消息通過指針將JPEG文件傳遞到下一個模塊,即網(wǎng)絡(luò)傳輸。
對于以太網(wǎng)口,TI提供了DSP上網(wǎng)絡(luò)應(yīng)用程序開發(fā)平臺(NDK),它的核心是一系列TCP/IP協(xié)議棧庫[6]。在此平臺上,開發(fā)網(wǎng)絡(luò)應(yīng)用程序時就不需要過多考慮TCP/IP協(xié)議內(nèi)部的工作機(jī)制,使得開發(fā)過程大大簡化。
網(wǎng)絡(luò)環(huán)境是通過網(wǎng)絡(luò)初始化來啟動的。初始化程序可參照TI提供的TMS320C6000 TCP/IP網(wǎng)絡(luò)開發(fā)工具包。網(wǎng)絡(luò)任務(wù)一旦初始化成功以后,會創(chuàng)建發(fā)送(TX)任務(wù),并開始等待由上一級模塊傳遞過來的SCOM消息。得到傳遞過來的JPEG圖像以后,任務(wù)執(zhí)行后產(chǎn)生一個基于RAM的IMAGEn.jpg文件,該文件可以被HTTP服務(wù)器所識別,n的值是由圖像捕獲的通道來確定的。完成這些工作以后,發(fā)送一個SCOM消息到上一級任務(wù),表示已準(zhǔn)備好接收下一幅JPEG圖像。下一步則進(jìn)行協(xié)議棧的初始化,包括IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)的設(shè)定。當(dāng)網(wǎng)絡(luò)連接有效時,TX任務(wù)將JPEG文件發(fā)送到網(wǎng)絡(luò)節(jié)點(diǎn)。
DM642支持Telnet、HTTP、Data server等服務(wù)。本設(shè)計中使用HTTP服務(wù),并且在局域網(wǎng)內(nèi)進(jìn)行配置。如果要連接Internet,則必須設(shè)置DHCP,動態(tài)分配IP地址。在局域網(wǎng)內(nèi)調(diào)試網(wǎng)絡(luò)配置時,設(shè)定本系統(tǒng)IP為192.168.1.2,其他設(shè)置如下:
用網(wǎng)線連接系統(tǒng)和PC,設(shè)置PC的IP地址為192.168.1.1。啟動Internet Explorer,在地址欄輸入192.168.1.2后,網(wǎng)頁里顯示從攝像頭里攝取的圖像,并以30幀/秒的速率更新,起到實(shí)時傳輸?shù)男Ч?,如圖4所示。
可以在HTML網(wǎng)頁上對JPEG壓縮性能的控制。在網(wǎng)頁中輸入用戶自定義參數(shù),通過DSP/BIOS中的郵箱機(jī)制傳遞給處理任務(wù)模塊來修改JPEG的壓縮參數(shù),改變壓縮質(zhì)量,如圖5所示。
圖4 瀏覽器上觀看到的實(shí)時視頻Fig.4 Real-time video in browser
圖5 壓縮參數(shù)對話框Fig.5 Dialog box for compression parameters
圖像質(zhì)量與用戶設(shè)定的JPEG壓縮參數(shù)Q有關(guān),Q越大圖像越清晰,如圖6所示。
圖6 壓縮參數(shù)不同的圖像質(zhì)量Fig.6 The image quality with different compression parameters
文中實(shí)現(xiàn)了一種基于DM642平臺的網(wǎng)絡(luò)視頻系統(tǒng)??梢灶A(yù)見,隨著數(shù)字信息處理技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)視頻系統(tǒng)將得到越來越廣泛得應(yīng)用。未來的應(yīng)用必然要求網(wǎng)絡(luò)視頻系統(tǒng)設(shè)計滿足以下幾個條件:遠(yuǎn)程訪問能力,高度的靈活性和可擴(kuò)展性,經(jīng)濟(jì)實(shí)用以及分布式智能。文中提出的基于DSP的網(wǎng)絡(luò)視頻系統(tǒng),在現(xiàn)有的帶寬條件下能夠流暢、清晰、穩(wěn)定地傳輸圖像,如果在DSP視頻應(yīng)用程序中加入相應(yīng)的功能,如監(jiān)控中的動態(tài)目標(biāo)檢測等,就可實(shí)現(xiàn)智能監(jiān)控,具有廣泛的應(yīng)用前景。
[1]宋姜慧,邱占芝.基于IP網(wǎng)絡(luò)的遠(yuǎn)程數(shù)字實(shí)時監(jiān)控系統(tǒng)研究[J].計算機(jī)工程與設(shè)計,2008(29):4993-4994.
SONG Jiang-hui,QIU Zhan-zhi.Study on remote digital real-time monitoring system based on IP[J].Computer Engineering and Design,2008(29):4993-4994.
[2]劉杰云,袁小平,佟川,等.基于DSP的網(wǎng)絡(luò)視頻監(jiān)控平臺的設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2011(1):51-54.
LIU Jie-yun,YUAN Xiao-ping,TONG Chuan,et al.Design of network video monitoring platform based on DSP[J].Internet of Things Technologies,2011(1):51-54.
[3]Texas Instruments Incorporated.TMS320DM642 Technical Overview[EB/OL]. (2002-09)[2011-12-10].http://www.ti.com.cn/cn/lit/ug/spru615/spru615.pdf.
[4]Texas Instruments Incorporated.TMS320C64x+DSP Image/Video Processing Library Programmer’s Reference[EB/OL].(2006-03)[2011-12-10].http://www.ti.com.cn/cn/lit/ug/sprueb9/sprueb9.pdf.
[5]梁凡.運(yùn)動圖像編碼技術(shù)與標(biāo)準(zhǔn)的發(fā)展 [J].國際學(xué)術(shù)動態(tài),2011(4):15-17.
LIANG Fan.The development of motion picture coding technology and standards[J].International Academic Development,2011(4):15-17.
[6]Texas Instruments Incorporated.TMS320C6000 Network Developer’sKit(NDK) v2.00SoftwareProgrammer’sReference Guide[EB/OL].(2009-01)[2011-12-10].http://www.ti.com.cn/cn/lit/ug/spru524g/spru524g.pdf.
Design and implementation of network video system based on DM642
PAN Yi
(College of Electrical Engineering,University of South China,Hengyang421001,China)
In order to satisfy the demand for network video applications,a method of implementing network video system on TI DSP TMS320DM642 is proposed.The experiment result shows that the video images can be compressed and transmitted between network peers by this real-time system,with steady speed and adjustable image quality.This network video system meets the needs of kinds of real-time surveillance system.
real-time video; network nodes; DM642; image compression; MJPEG
TP391
A
1674-6236(2012)05-0135-03
2012-01-14稿件編號:201201060
潘 佚(1979—),女,湖南株洲人,博士,講師。研究方向:電子儀器設(shè)計。