徐志華,周金治,李蓮春
(西南科技大學 信息工程學院,四川 綿陽 621010)
隨著三網融合步伐的不斷加快,將有更多的網絡音視頻信息通過廣播網共享。UCL(Uniform Content Location)技術通過建立一套完整的信息元數據來實現網絡信息資源的共享與個性化主動服務[1]。UCL技術涉及UCL標引、UCL解析、UCL智能代理等內容。在信息空間中有兩種定位資源的方式,即URL按地址定位與UCL按內容定位。然而URL不適合數據廣播網的單向封閉網絡,這使UCL技術在網絡音視頻信息共享中的應用變得越來越重要,將會在新一代網絡(NGN)中獲得重要的應用。經過近幾年的研究,UCL已經形成比較成熟的技術基礎,主要應用于網頁信息資源的分類和共享[2]。采用UCL技術來實現音視頻信息共享有利于解決帶寬瓶頸、信息垃圾以及用戶數字鴻溝等問題。
UCL語義標引是UCL技術的重要環節,UCL語義標引可以通過手工編輯和自動標引兩種方法實現。對網頁信息的UCL自動標引較容易實現,但對網絡實時音視頻數據信息的標引難度卻較大[3],并且國內外對音視頻數據自動標引技術的研究也不夠成熟。因此,本文在深度解析應用層數據的基礎上,提出了一種基于UCL的音視頻自動標引的方法和系統構架,并仿真驗證了其可行性。
網絡音視頻UCL語義信息標引是通過分析音視頻信息資源對象,識別該信息的重要特征,從而建立一個描述網絡音視頻特征信息的n維向量u=(u1,u2,u3,…,un)。其中,每一個向量元素都揭示了音視頻數據信息的一個特征,n是向量的維數,它反應了描述信息特征的完備程度,n越大表示特征信息越完備,反之亦然。UCL標引則是通過定義特征字段對音視頻數據打上UCL語義信息。exUCL(extend UCL)語義標簽是專門為UCL語義信息標引制定的[4],它約束了一個語義規范框架,詳細地描述了各語義特征。生成exUCL語義標簽的過程主要分為數據包獲取、數據包預處理和分層語義抽取與集成理解3個步驟,其中預處理主要包括協議識別和數據包分流。
對網絡音視頻數據進行從底層到頂層的多層語義提取。在網絡層提取源IP、目的IP、傳輸層協議等語義信息;在傳輸層提取源端口、目的端口、應用層協議等語義信息;通過識別與分析應用層協議,在應用層對音視頻數據進行深度語義挖掘,可以解析出標題、URL、類型、訪問時間等深度語義信息。根據各層語義的集成理解制定如表1所示的語義元數據規范框架。

表1 音視頻exUCL元數據規范框架
由表1可見,UCL向量的每一個元素都映射網絡音視頻信息的一個特征,并且把它與音視頻數據信息的關聯程度分為強、中、弱3個等級,這樣更有利于用戶定位信息資源和分析數據。同時還可以看出URL是UCL向量中的一個元素,這說明UCL對信息特征的描述更完備,定位信息資源更精確,更有利于資源的管理與共享。標引系統則根據由表1制定的UCL規范文檔并生成音視頻傳輸特征信息UCL向量代碼,最后填充到UCL標簽庫。
流媒體數據在傳輸過程中,服務器和客戶端的握手信息是通過RTSP協議來傳送的,而音視頻數據則是通過RTP傳輸。基于RTSP協議在網絡音視頻傳輸中使用的廣泛性以及RTSP協議的公開性。本文針對RTSP協議研究了音視頻數據傳輸的會話流程,對應用層數據進行深度語義挖掘,提出了一種基于此協議的UCL自動標引的方法。標引流程主要分為以下4個步驟:1)在網絡中心節點處對流過的大量數據包進行截取,這些數據包可能包含網頁數據、P2P數據、音視頻數據、網絡游戲等各種數據;2)從捕獲數據中識別并分離出本系統所關心的音視頻數據;3)通過分析RTSP協議傳輸會話信息,對分離出來的音視頻數據按語義特征進行數據分流;4)針對每條音視頻數據流,從底層到頂層進行多層語義信息抽取,按照UCL語義規范框架來對傳輸中的音視頻數據進行實時的UCL自動標引。自動標引軟件構架如圖1所示。

對RTSP協議音視頻數據包的識別可以通過對應用層協議的識別來實現。傳統的識別方法是基于端口映射來識別的,比如,HTTP為80端口、FTP為21端口、RTSP為554端口等。但隨著網絡協議的發展,這種方法的效率越來越低,主要原因表現在:1)目前很多軟件不使用固定端口進行通信,有時采用動態端口,比如BT、emule等。2)復用其他協議的端口進行傳輸,如QQ使用HTTP的80端口進行傳輸。文獻[5]提出了一種基于特征匹配的應用層協議識別方法,該方法在一定程度提高了協議識別的精度,但當信息特征不夠準確的時候,這種方法的效率仍然較低。因此,在識別音視頻數據包的環節,本文研究了基于端口識別進一步匹配特征字串的方法,這種方法彌補的上述2種方法的不足,大大提高了音視頻數據識別的精度。深入研究RTSP協議發現有如下特點:1)綁定554端口進行數據通信;2)RTSP協議的響應消息的content-type字段定義了傳輸數據的MIME類型,若為音視頻數據,此字段為audio或者video;3)在GET消息中可以判別傳輸文件的格式,若為流媒體格式則判定為音視頻數據。因此,本系統采用過濾554端口數據包,再與特征向量<content-type,file-format>進行匹配的音視頻數據過濾方法,若匹配成功則判定為音視頻數據包,否則丟棄數據包。
音視頻的數據包分流是按照數據信息的不同屬性來進行的,按照表1的音視頻UCL語義元數據規范定義〈srcip,dip,srcport,dport〉四元屬性組,凡是具有相同四元屬性的數據包都歸為同一條數據流。音視頻數據分流過程如下:1)讀取音視頻數據包,判斷是否是RTSP協議會話數據包。2)通過分析會話數據包相關字段可以提取源IP、目的IP對,并且能夠得到音視頻數據傳輸的協商端口。3)形成〈srcip,dip,srcport,dport〉四元屬性組,按照這個屬性組對音視頻數據信息進行分流,凡是具有相同四元屬性的歸位同一條音視頻流。分流算法如圖2所示。

傳統的協議分析主要從鏈路層、網絡層、傳輸層進行協議識別和數據分析[6-7]。與傳統方法不同,本文所涉及的深度語義挖掘是一種基于網絡音視頻數據包的深度檢測[8]。針對特有協議的音視頻數據,滲透到應用層數據進行深度語義提取,抽取出更多與視頻內容相關的特征信息。在進入音視頻數據的應用層后,主要識別應用層協議RTSP和解析SDP會話消息。進行數據內容按會話流進行分類,對每條會話流提取IP地址、文件大小、媒體類型、媒體名稱、請求時間等深度語義信息。
RTSP協議是一個流媒體流化表示控制協議,在語法規則和操作上與HTTP類似。主要區別在于RTSP協議是一個有狀態、對稱的協議。RTSP是一個基于文本的協議,它使用UTF-8編碼,采用RFC882定義的通用消息格式。RTSP協議的消息分為請求和響應兩類格式:
1)請求消息的格式。

2)響應消息的格式。

每個語句都以CRLF作為結束。由于RTSP協議具有上述的特征,使得對應用層數據的深度分析成為可能,借助Ethereal分析軟件進行抓包研究可以得出如下結論:1)分析RTSP請求消息的DESCRIBE特征字串可以提取媒體的資源路徑。2)分析響應消息的Date和Cach-control字段可以得到媒體的訪問時間和大小。
SDP是一個會話媒體描述協議,用于描述媒體會話,同樣采用UTF-8編碼。SDP會話描述分為會話級描述和媒體級描述,會話級描述主要描述了所有媒體流的信息特征,媒體級描述則針對單個媒體的細節信息。圖3是RTSP響應消息中的SDP數據。

通過研究分析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數據,結合SDP的編碼格式,可以提取出媒體的名字、類型和格式等流媒體數據深度語義信息。因此,通過對RTSP協議請求/響應消息以及SDP數據分析特征字串的方法,可以對音視頻數據包應用層數據進行深度語義分析。和傳統的協議分析相比,此方法能提取更多的語義信息,從而得到更加完備的音視頻特征向量。
本音視頻傳輸實驗平臺是基于Windows 2003下的Media Sever 9.0組件和Media Player 10.0搭建的。該平臺支持用RTP/RTCP、RTSP、HTTP、MMS協議對音視頻數據包進行傳輸,在局域網內能實現單播、廣播、點播的功能,本實驗選擇使用RTSP協議傳輸音視頻數據。在實驗局域網內通過廣播模式共享音視頻數據信息。
音視頻數據UCL自動標引系統是在VC 6.0下、基于MFC的開發環境、調用wpcap.dll動態鏈接庫并結合使用MySQL數據庫技術開發的。在傳輸平臺下,在網絡中心節點處對流經主節點的數據包進行捕獲和分析;針對音視頻進行處理;通過分層關鍵字段識別方式,快速捕獲音視頻信息;在此基礎上提取音視頻數據的傳輸特性;根據UCL語義標簽定義特征字段,最后進行UCL標引,實驗結果如圖4所示。該系統在中心節點處完成了語義信息的深度提取以及音視頻UCL信息的標引,驗證了本文所提出的語義抽取算法的正確性和自動標引方案的可行性。

本文通過分析特定協議音視頻數據結構封裝機制以及音視頻傳輸會話流信息,進行多層語義抽取,提出了一種基于UCL的音視頻自動標引方法,并通過編程實現。在搭建的網絡傳輸平臺主節點處,實現了音視頻數據的UCL語義智能標引。實時顯示了exUCL語義標簽的內容,協議、內容語義等內容的識別達到了90%以上。但該方法在高速局域網內仍存在一定的局限性,主要表現在實時性不高,UCL信息描述不夠完備,還有待進一步研究,繼續改進標引算法和優化程序設計。
[1]李幼平.UCL理念及系統設計[J].電視技術,2001,25(2):38-41.
[2]邢玲,史杏榮.基于UCL的網頁自動標引技術[J].計算機工程與應用,2004,40(17):148-151.
[3]沈靜,周金治,馬建國.基于UCL的網頁信息自動標引技術研究[J],電視技術,2008,32(8):71-75.
[4]王娟娟,吳靜.網頁數據多層語義描述標簽設計[J].通信技術,2009,42(8):99-101.
[5]陳亮,龔儉,徐選.應用層協議識別算法綜述[J].計算機科學,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]程紅,馬建國,余超,等.網絡多層語義深度挖掘及流媒體緩存策略研究[J].電視技術,2008,32(11):64-66.