徐志華,周金治,李蓮春
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010)
隨著三網(wǎng)融合步伐的不斷加快,將有更多的網(wǎng)絡(luò)音視頻信息通過廣播網(wǎng)共享。UCL(Uniform Content Location)技術(shù)通過建立一套完整的信息元數(shù)據(jù)來實現(xiàn)網(wǎng)絡(luò)信息資源的共享與個性化主動服務(wù)[1]。UCL技術(shù)涉及UCL標(biāo)引、UCL解析、UCL智能代理等內(nèi)容。在信息空間中有兩種定位資源的方式,即URL按地址定位與UCL按內(nèi)容定位。然而URL不適合數(shù)據(jù)廣播網(wǎng)的單向封閉網(wǎng)絡(luò),這使UCL技術(shù)在網(wǎng)絡(luò)音視頻信息共享中的應(yīng)用變得越來越重要,將會在新一代網(wǎng)絡(luò)(NGN)中獲得重要的應(yīng)用。經(jīng)過近幾年的研究,UCL已經(jīng)形成比較成熟的技術(shù)基礎(chǔ),主要應(yīng)用于網(wǎng)頁信息資源的分類和共享[2]。采用UCL技術(shù)來實現(xiàn)音視頻信息共享有利于解決帶寬瓶頸、信息垃圾以及用戶數(shù)字鴻溝等問題。
UCL語義標(biāo)引是UCL技術(shù)的重要環(huán)節(jié),UCL語義標(biāo)引可以通過手工編輯和自動標(biāo)引兩種方法實現(xiàn)。對網(wǎng)頁信息的UCL自動標(biāo)引較容易實現(xiàn),但對網(wǎng)絡(luò)實時音視頻數(shù)據(jù)信息的標(biāo)引難度卻較大[3],并且國內(nèi)外對音視頻數(shù)據(jù)自動標(biāo)引技術(shù)的研究也不夠成熟。因此,本文在深度解析應(yīng)用層數(shù)據(jù)的基礎(chǔ)上,提出了一種基于UCL的音視頻自動標(biāo)引的方法和系統(tǒng)構(gòu)架,并仿真驗證了其可行性。
網(wǎng)絡(luò)音視頻UCL語義信息標(biāo)引是通過分析音視頻信息資源對象,識別該信息的重要特征,從而建立一個描述網(wǎng)絡(luò)音視頻特征信息的n維向量u=(u1,u2,u3,…,un)。其中,每一個向量元素都揭示了音視頻數(shù)據(jù)信息的一個特征,n是向量的維數(shù),它反應(yīng)了描述信息特征的完備程度,n越大表示特征信息越完備,反之亦然。UCL標(biāo)引則是通過定義特征字段對音視頻數(shù)據(jù)打上UCL語義信息。exUCL(extend UCL)語義標(biāo)簽是專門為UCL語義信息標(biāo)引制定的[4],它約束了一個語義規(guī)范框架,詳細地描述了各語義特征。生成exUCL語義標(biāo)簽的過程主要分為數(shù)據(jù)包獲取、數(shù)據(jù)包預(yù)處理和分層語義抽取與集成理解3個步驟,其中預(yù)處理主要包括協(xié)議識別和數(shù)據(jù)包分流。
對網(wǎng)絡(luò)音視頻數(shù)據(jù)進行從底層到頂層的多層語義提取。在網(wǎng)絡(luò)層提取源IP、目的IP、傳輸層協(xié)議等語義信息;在傳輸層提取源端口、目的端口、應(yīng)用層協(xié)議等語義信息;通過識別與分析應(yīng)用層協(xié)議,在應(yīng)用層對音視頻數(shù)據(jù)進行深度語義挖掘,可以解析出標(biāo)題、URL、類型、訪問時間等深度語義信息。根據(jù)各層語義的集成理解制定如表1所示的語義元數(shù)據(jù)規(guī)范框架。
表1 音視頻exUCL元數(shù)據(jù)規(guī)范框架
由表1可見,UCL向量的每一個元素都映射網(wǎng)絡(luò)音視頻信息的一個特征,并且把它與音視頻數(shù)據(jù)信息的關(guān)聯(lián)程度分為強、中、弱3個等級,這樣更有利于用戶定位信息資源和分析數(shù)據(jù)。同時還可以看出URL是UCL向量中的一個元素,這說明UCL對信息特征的描述更完備,定位信息資源更精確,更有利于資源的管理與共享。標(biāo)引系統(tǒng)則根據(jù)由表1制定的UCL規(guī)范文檔并生成音視頻傳輸特征信息UCL向量代碼,最后填充到UCL標(biāo)簽庫。
流媒體數(shù)據(jù)在傳輸過程中,服務(wù)器和客戶端的握手信息是通過RTSP協(xié)議來傳送的,而音視頻數(shù)據(jù)則是通過RTP傳輸?;赗TSP協(xié)議在網(wǎng)絡(luò)音視頻傳輸中使用的廣泛性以及RTSP協(xié)議的公開性。本文針對RTSP協(xié)議研究了音視頻數(shù)據(jù)傳輸?shù)臅捔鞒?,對?yīng)用層數(shù)據(jù)進行深度語義挖掘,提出了一種基于此協(xié)議的UCL自動標(biāo)引的方法。標(biāo)引流程主要分為以下4個步驟:1)在網(wǎng)絡(luò)中心節(jié)點處對流過的大量數(shù)據(jù)包進行截取,這些數(shù)據(jù)包可能包含網(wǎng)頁數(shù)據(jù)、P2P數(shù)據(jù)、音視頻數(shù)據(jù)、網(wǎng)絡(luò)游戲等各種數(shù)據(jù);2)從捕獲數(shù)據(jù)中識別并分離出本系統(tǒng)所關(guān)心的音視頻數(shù)據(jù);3)通過分析RTSP協(xié)議傳輸會話信息,對分離出來的音視頻數(shù)據(jù)按語義特征進行數(shù)據(jù)分流;4)針對每條音視頻數(shù)據(jù)流,從底層到頂層進行多層語義信息抽取,按照UCL語義規(guī)范框架來對傳輸中的音視頻數(shù)據(jù)進行實時的UCL自動標(biāo)引。自動標(biāo)引軟件構(gòu)架如圖1所示。
對RTSP協(xié)議音視頻數(shù)據(jù)包的識別可以通過對應(yīng)用層協(xié)議的識別來實現(xiàn)。傳統(tǒng)的識別方法是基于端口映射來識別的,比如,HTTP為80端口、FTP為21端口、RTSP為554端口等。但隨著網(wǎng)絡(luò)協(xié)議的發(fā)展,這種方法的效率越來越低,主要原因表現(xiàn)在:1)目前很多軟件不使用固定端口進行通信,有時采用動態(tài)端口,比如BT、emule等。2)復(fù)用其他協(xié)議的端口進行傳輸,如QQ使用HTTP的80端口進行傳輸。文獻[5]提出了一種基于特征匹配的應(yīng)用層協(xié)議識別方法,該方法在一定程度提高了協(xié)議識別的精度,但當(dāng)信息特征不夠準確的時候,這種方法的效率仍然較低。因此,在識別音視頻數(shù)據(jù)包的環(huán)節(jié),本文研究了基于端口識別進一步匹配特征字串的方法,這種方法彌補的上述2種方法的不足,大大提高了音視頻數(shù)據(jù)識別的精度。深入研究RTSP協(xié)議發(fā)現(xiàn)有如下特點:1)綁定554端口進行數(shù)據(jù)通信;2)RTSP協(xié)議的響應(yīng)消息的content-type字段定義了傳輸數(shù)據(jù)的MIME類型,若為音視頻數(shù)據(jù),此字段為audio或者video;3)在GET消息中可以判別傳輸文件的格式,若為流媒體格式則判定為音視頻數(shù)據(jù)。因此,本系統(tǒng)采用過濾554端口數(shù)據(jù)包,再與特征向量<content-type,file-format>進行匹配的音視頻數(shù)據(jù)過濾方法,若匹配成功則判定為音視頻數(shù)據(jù)包,否則丟棄數(shù)據(jù)包。
音視頻的數(shù)據(jù)包分流是按照數(shù)據(jù)信息的不同屬性來進行的,按照表1的音視頻UCL語義元數(shù)據(jù)規(guī)范定義〈srcip,dip,srcport,dport〉四元屬性組,凡是具有相同四元屬性的數(shù)據(jù)包都歸為同一條數(shù)據(jù)流。音視頻數(shù)據(jù)分流過程如下:1)讀取音視頻數(shù)據(jù)包,判斷是否是RTSP協(xié)議會話數(shù)據(jù)包。2)通過分析會話數(shù)據(jù)包相關(guān)字段可以提取源IP、目的IP對,并且能夠得到音視頻數(shù)據(jù)傳輸?shù)膮f(xié)商端口。3)形成〈srcip,dip,srcport,dport〉四元屬性組,按照這個屬性組對音視頻數(shù)據(jù)信息進行分流,凡是具有相同四元屬性的歸位同一條音視頻流。分流算法如圖2所示。
傳統(tǒng)的協(xié)議分析主要從鏈路層、網(wǎng)絡(luò)層、傳輸層進行協(xié)議識別和數(shù)據(jù)分析[6-7]。與傳統(tǒng)方法不同,本文所涉及的深度語義挖掘是一種基于網(wǎng)絡(luò)音視頻數(shù)據(jù)包的深度檢測[8]。針對特有協(xié)議的音視頻數(shù)據(jù),滲透到應(yīng)用層數(shù)據(jù)進行深度語義提取,抽取出更多與視頻內(nèi)容相關(guān)的特征信息。在進入音視頻數(shù)據(jù)的應(yīng)用層后,主要識別應(yīng)用層協(xié)議RTSP和解析SDP會話消息。進行數(shù)據(jù)內(nèi)容按會話流進行分類,對每條會話流提取IP地址、文件大小、媒體類型、媒體名稱、請求時間等深度語義信息。
RTSP協(xié)議是一個流媒體流化表示控制協(xié)議,在語法規(guī)則和操作上與HTTP類似。主要區(qū)別在于RTSP協(xié)議是一個有狀態(tài)、對稱的協(xié)議。RTSP是一個基于文本的協(xié)議,它使用UTF-8編碼,采用RFC882定義的通用消息格式。RTSP協(xié)議的消息分為請求和響應(yīng)兩類格式:
1)請求消息的格式。
2)響應(yīng)消息的格式。
每個語句都以CRLF作為結(jié)束。由于RTSP協(xié)議具有上述的特征,使得對應(yīng)用層數(shù)據(jù)的深度分析成為可能,借助Ethereal分析軟件進行抓包研究可以得出如下結(jié)論:1)分析RTSP請求消息的DESCRIBE特征字串可以提取媒體的資源路徑。2)分析響應(yīng)消息的Date和Cach-control字段可以得到媒體的訪問時間和大小。
SDP是一個會話媒體描述協(xié)議,用于描述媒體會話,同樣采用UTF-8編碼。SDP會話描述分為會話級描述和媒體級描述,會話級描述主要描述了所有媒體流的信息特征,媒體級描述則針對單個媒體的細節(jié)信息。圖3是RTSP響應(yīng)消息中的SDP數(shù)據(jù)。
通過研究分析Session name(s):upgrade your player、Media Description,name and address(m):audio 0 RTP/AVP 96、Media Attribute(a):rtpmap :96 x-asf-pf/1000這幾段SDP數(shù)據(jù),結(jié)合SDP的編碼格式,可以提取出媒體的名字、類型和格式等流媒體數(shù)據(jù)深度語義信息。因此,通過對RTSP協(xié)議請求/響應(yīng)消息以及SDP數(shù)據(jù)分析特征字串的方法,可以對音視頻數(shù)據(jù)包應(yīng)用層數(shù)據(jù)進行深度語義分析。和傳統(tǒng)的協(xié)議分析相比,此方法能提取更多的語義信息,從而得到更加完備的音視頻特征向量。
本音視頻傳輸實驗平臺是基于Windows 2003下的Media Sever 9.0組件和Media Player 10.0搭建的。該平臺支持用RTP/RTCP、RTSP、HTTP、MMS協(xié)議對音視頻數(shù)據(jù)包進行傳輸,在局域網(wǎng)內(nèi)能實現(xiàn)單播、廣播、點播的功能,本實驗選擇使用RTSP協(xié)議傳輸音視頻數(shù)據(jù)。在實驗局域網(wǎng)內(nèi)通過廣播模式共享音視頻數(shù)據(jù)信息。
音視頻數(shù)據(jù)UCL自動標(biāo)引系統(tǒng)是在VC 6.0下、基于MFC的開發(fā)環(huán)境、調(diào)用wpcap.dll動態(tài)鏈接庫并結(jié)合使用MySQL數(shù)據(jù)庫技術(shù)開發(fā)的。在傳輸平臺下,在網(wǎng)絡(luò)中心節(jié)點處對流經(jīng)主節(jié)點的數(shù)據(jù)包進行捕獲和分析;針對音視頻進行處理;通過分層關(guān)鍵字段識別方式,快速捕獲音視頻信息;在此基礎(chǔ)上提取音視頻數(shù)據(jù)的傳輸特性;根據(jù)UCL語義標(biāo)簽定義特征字段,最后進行UCL標(biāo)引,實驗結(jié)果如圖4所示。該系統(tǒng)在中心節(jié)點處完成了語義信息的深度提取以及音視頻UCL信息的標(biāo)引,驗證了本文所提出的語義抽取算法的正確性和自動標(biāo)引方案的可行性。
本文通過分析特定協(xié)議音視頻數(shù)據(jù)結(jié)構(gòu)封裝機制以及音視頻傳輸會話流信息,進行多層語義抽取,提出了一種基于UCL的音視頻自動標(biāo)引方法,并通過編程實現(xiàn)。在搭建的網(wǎng)絡(luò)傳輸平臺主節(jié)點處,實現(xiàn)了音視頻數(shù)據(jù)的UCL語義智能標(biāo)引。實時顯示了exUCL語義標(biāo)簽的內(nèi)容,協(xié)議、內(nèi)容語義等內(nèi)容的識別達到了90%以上。但該方法在高速局域網(wǎng)內(nèi)仍存在一定的局限性,主要表現(xiàn)在實時性不高,UCL信息描述不夠完備,還有待進一步研究,繼續(xù)改進標(biāo)引算法和優(yōu)化程序設(shè)計。
[1]李幼平.UCL理念及系統(tǒng)設(shè)計[J].電視技術(shù),2001,25(2):38-41.
[2]邢玲,史杏榮.基于UCL的網(wǎng)頁自動標(biāo)引技術(shù)[J].計算機工程與應(yīng)用,2004,40(17):148-151.
[3]沈靜,周金治,馬建國.基于UCL的網(wǎng)頁信息自動標(biāo)引技術(shù)研究[J],電視技術(shù),2008,32(8):71-75.
[4]王娟娟,吳靜.網(wǎng)頁數(shù)據(jù)多層語義描述標(biāo)簽設(shè)計[J].通信技術(shù),2009,42(8):99-101.
[5]陳亮,龔儉,徐選.應(yīng)用層協(xié)議識別算法綜述[J].計算機科學(xué),2007,34(7):72-74.
[6]APPLET D E,ISRAEL D J.Introduction to information extraction technology[EB/OL].[2010-10-06].http://www.ai.sri.com/~appelt/ietutorial/IJCAI99.pdf
[7]CHINCHOR N,MARSH E.MUC-7 Information Extraction Task Definition:version 5.1[EB/OL].[2010-10-06].http://www.aclweb.org/anthology-new/M/M98/M98-1027.pdf.
[8]程紅,馬建國,余超,等.網(wǎng)絡(luò)多層語義深度挖掘及流媒體緩存策略研究[J].電視技術(shù),2008,32(11):64-66.