謝鐘揚
摘要:隨著互聯(lián)網(wǎng)的快速發(fā)展以及在社會生活中的不斷普及,人們對于通話的需求也在不斷改變。近些年來計算機技術(shù)、多媒體技術(shù)以及互聯(lián)網(wǎng)網(wǎng)絡(luò)技術(shù)都得到了快速的發(fā)展,在這種環(huán)境下音視頻會話技術(shù)也在不斷地改變,音視頻會話系統(tǒng)也逐漸向數(shù)字化和網(wǎng)絡(luò)化的方向發(fā)展。在音視頻會話系統(tǒng)中,采用了一種物聯(lián)網(wǎng)語音協(xié)議(VoIP)技術(shù),該技術(shù)最大的優(yōu)勢是能夠廣泛地采用互聯(lián)網(wǎng)的相關(guān)環(huán)境,提供比傳統(tǒng)業(yè)務(wù)更好的服務(wù)。SIP(會話初始協(xié)議)作為VoIP技術(shù)中最重要的信令協(xié)議之一,具有簡單、開放、靈活以及可以進行擴展等多方面的優(yōu)點。本文主要分析了基于SIP協(xié)議下的音視頻會話技術(shù),探討了具體的音視頻同步技術(shù)。
關(guān)鍵詞:SIP協(xié)議;音視頻;會話技術(shù);同步編碼
中圖分類號:TP3? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2019)23-0228-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
隨著計算機網(wǎng)絡(luò)技術(shù)以及多媒體技術(shù)的發(fā)展,在信息化社會的背景下,人們的生活方式得到了極大的改變,最明顯的情況之一就是人與人通話方式的改變。在移動互聯(lián)網(wǎng)不斷發(fā)展的過程中,音視頻通話的方式也在不斷轉(zhuǎn)變,音視頻會話技術(shù)也得到了進一步的升級和更新。在音視頻會話系統(tǒng)中利用到了一種軟交換技術(shù),該技術(shù)具有開放的體系架構(gòu),對數(shù)據(jù)信息能夠進行分組傳輸,是比較先進的呼叫控制技術(shù),并且能夠為語音、視頻等多媒體數(shù)據(jù),提供多種方式的實時服務(wù),而SIP協(xié)議是作用于軟交換和應(yīng)用服務(wù)器之間,能夠?qū)崿F(xiàn)數(shù)據(jù)的互通,并提供相關(guān)的增值服務(wù)。SIP協(xié)議是一種應(yīng)用層控制協(xié)議,在音視頻會話中起到了很大的作用。
1 SIP協(xié)議相關(guān)概述
1.1 SIP協(xié)議概念以及相應(yīng)功能
目前的SIP協(xié)議已經(jīng)發(fā)展成熟并且得到了廣泛的應(yīng)用,其中應(yīng)用最廣泛的一個領(lǐng)域就是網(wǎng)絡(luò)IP電話,基于SIP協(xié)議的音視頻會話技術(shù)的出現(xiàn),改變了傳統(tǒng)的電話模式。隨著互聯(lián)網(wǎng)的不斷發(fā)展,SIP協(xié)議的應(yīng)用范圍變得更加廣泛,SIP協(xié)議是一種控制協(xié)議,只涉及管理相應(yīng)的會話,和會話者之間進行的多媒體數(shù)據(jù)的傳輸并沒有關(guān)系,會話者之間的多媒體數(shù)據(jù)的傳輸一般是借助其他傳輸協(xié)議來實現(xiàn)的。
SIP協(xié)議作為一種控制協(xié)議,其主要功能能夠?qū)崿F(xiàn)建立、修改和終止相應(yīng)的會話,針對用戶會話管理方面,其能夠提供用戶定位、用戶有效性、用戶能力、建立會話以及會話管理等功能。所謂用戶定位就是在SIP協(xié)議中,被叫方可以處于不同的位置并進行移動,呼叫方請求與被叫方建立通話,在發(fā)送相應(yīng)的請求后,SIP服務(wù)器能夠轉(zhuǎn)發(fā)相應(yīng)的請求給被叫方。用戶的有效性是指在收到對方的請求后,用戶可以自主選擇與對方建立會話,用戶之間想要建立會話,在這之前需要發(fā)送相應(yīng)的請求,在相關(guān)的媒體參數(shù)被描述清楚后,相應(yīng)的會話就會被建立。在會話管理中,SIP協(xié)議能夠提供添加、修改媒體流參數(shù)以及終止會話等方面的功能。
1.2 SIP協(xié)議的組成分析
SIP協(xié)議主要由用戶代理UA和網(wǎng)絡(luò)服務(wù)器組成,在用戶代理UA中,用戶代理客戶端和服務(wù)器以及背對背用戶代理是其主要組成;而在網(wǎng)絡(luò)服務(wù)器中,包括代理、注冊和重定向服務(wù)器等三種服務(wù)器存在。SIP協(xié)議相關(guān)組成架構(gòu)如圖1所示。
1.2.1 用戶代理UA
在用戶代理UA中,用戶代理客戶端和服務(wù)器以及背對背用戶代理是其主要組成,客戶端能夠發(fā)起相應(yīng)的請求到服務(wù)器端,服務(wù)器端產(chǎn)生相應(yīng)的響應(yīng),在每一個用戶端程序中都會含有客戶端和服務(wù)器端。背對背的用戶代理是一種比較特殊的實體,其僅僅是一個邏輯實體,其能夠和服務(wù)器端一樣接受相應(yīng)的請求,并做出響應(yīng)傳送給客戶端,其就像客戶端和服務(wù)器端的串聯(lián)。
1.2.2 SIP服務(wù)器(網(wǎng)絡(luò)服務(wù)器)
在網(wǎng)絡(luò)服務(wù)器中,包括代理、注冊和重定向服務(wù)器等三種服務(wù)器存在,對于代理服務(wù)器而言,其既可以看作是客戶端也可以看作為服務(wù)器,客戶端的請求消息傳送給代理服務(wù)器,代理服務(wù)器又轉(zhuǎn)發(fā)給服務(wù)器。注冊服務(wù)器能夠?qū)τ脩舻淖哉埱筮M行回應(yīng),用戶在該服務(wù)器上完成注冊后,該服務(wù)器能夠保存用戶的位置信息到相應(yīng)的位置服務(wù)器中。對于重定向服務(wù)器而言,其既不會發(fā)送請求的消息,也不會對其他請求消息進行響應(yīng),其主要作用是僅僅接受相應(yīng)的請求消息,并獲取該消息的地址信息,經(jīng)過相應(yīng)的處理后,可以將相應(yīng)的位置信息返回。
1.3 SIP協(xié)議消息
SIP協(xié)議的請求和響應(yīng)都是屬于消息的范疇,SIP協(xié)議消息主由開始行、消息頭以及消息體三個部分組成,如圖2所示。
從圖中可以看到,一個空白行隔開了消息頭和消息體,其主要作用是能夠?qū)ο㈩^和消息體進行區(qū)分。在SIP協(xié)議消息中,其可以分為請求消息和響應(yīng)消息,通常情況下,用戶代理客戶端把相應(yīng)的請求消息發(fā)送到用戶代理服務(wù)器,而對于響應(yīng)消息而言,其傳輸方向則是相反的。
1.4 SIP協(xié)議的呼叫流程以及會話描述協(xié)議SDP
1.4.1 關(guān)于SIP協(xié)議的呼叫流程
SIP協(xié)議呼叫流程主要由注冊流程、無代理服務(wù)器的會話創(chuàng)建流程以及有代理的服務(wù)器的會話創(chuàng)建流程等組成。在注冊流程環(huán)節(jié),SIP服務(wù)器會收到用戶發(fā)送的注冊請求,并對一個未認(rèn)證的消息進行響應(yīng),在用戶代理服務(wù)器進行相關(guān)的認(rèn)證后,其會重新發(fā)送對應(yīng)的注冊請求,這時SIP服務(wù)器會接受和處理相應(yīng)的請求,并返回相對應(yīng)的響應(yīng)消息。
1.4.2 SDP協(xié)議
SDP協(xié)議也就是會話描述協(xié)議的縮寫,用戶代理在進行會話創(chuàng)建的時候,需要對會話所需要的多媒體參數(shù)等進行溝通,SDP協(xié)議能夠描述用戶代理發(fā)送請求和返回的響應(yīng)消息。SDP協(xié)議能夠提供一種用于描述會話相關(guān)信息的格式,這些信息包括會話信息和媒體信息。
2 基于SIP協(xié)議下的音視頻會話技術(shù)分析
2.1 關(guān)于音視頻同步分析
2.1.1 同步的概念
對于多媒體而言,其結(jié)合了音頻、視頻以及文本等多種媒體數(shù)據(jù),在媒體數(shù)據(jù)單元之間存在著相對應(yīng)的時間關(guān)系,如果要保持音視頻的同步,就要對這種相對應(yīng)的時間關(guān)系進行維持。實現(xiàn)音視頻同步,該過程就是指維持了媒體數(shù)據(jù)單元之間的相對時間順序。
對于媒體流內(nèi)部的同步而言,是指對于媒體流內(nèi)部數(shù)據(jù)單元,它們之間也有一種固定的時間順序,并且根據(jù)這個相對時間順序,數(shù)據(jù)單元之間可以進行排列組合。按照這個相對時間順序,如果媒體流內(nèi)部的數(shù)據(jù)單元能夠進行正常排列,那么在進行媒體數(shù)據(jù)單元的播放時,就能夠?qū)崿F(xiàn)同步,相反不能按照相對時間順序進行正常排列,就不能夠達到同步的狀態(tài)。
對于媒體流間的同步而言,不同媒體對象的數(shù)據(jù)單元之間會存在一定的時間順序關(guān)系,而實現(xiàn)媒體流間的同步,就需要對相對應(yīng)的數(shù)據(jù)單元間的時間順序進行保持。想要維持多媒體系統(tǒng)中的同步,就需要維持音頻和視頻二者之間的時間關(guān)系。音頻和視頻的不同步會給觀眾帶來一種極度的不協(xié)調(diào)感,但如果兩者之間的不同步時間控制在一定的范圍內(nèi),那么觀眾在視聽感覺上還是可以接受的。
2.1.2 音視頻不同步問題的相關(guān)因素
在采集音視頻的過程中,音視頻開始的時間,以及進行編碼和解碼處理的時間存在一定的差異,時間不一致,就會導(dǎo)致音視頻數(shù)據(jù)單元之間的時間順序不對,在進行編解碼時就會出現(xiàn)時間關(guān)系偏移的現(xiàn)象。再者在網(wǎng)絡(luò)數(shù)據(jù)打包處理的時間存在一定的差異,音視頻在經(jīng)過相應(yīng)的編解碼后,相應(yīng)的數(shù)據(jù)需要經(jīng)過網(wǎng)絡(luò)數(shù)據(jù)打包之后才能夠進行傳輸。
在編碼處理過程中視頻編碼數(shù)據(jù)量要大于音頻的編碼數(shù)據(jù)量,在進行網(wǎng)絡(luò)打包環(huán)節(jié)時,如果對打包處理的時間不進行有效的控制,音視頻不同步的問題就容易發(fā)生。當(dāng)數(shù)據(jù)包丟失或者出現(xiàn)接受順序錯亂的情況,也會導(dǎo)致解碼過程中出錯,網(wǎng)絡(luò)數(shù)據(jù)包丟失會造成音頻或者視頻數(shù)據(jù)的不完整,丟棄相關(guān)視頻的編碼數(shù)據(jù),也會導(dǎo)致音視頻不同步的情況發(fā)生。
2.2 基于時間戳的同步技術(shù)
在基于SIP協(xié)議的音視頻會話技術(shù)中,基于時間戳的同步技術(shù)貫穿于整個音視頻會話系統(tǒng),在音視頻會話系統(tǒng)中,每個模塊中都會發(fā)生時間戳同步,這樣能夠保證音視頻同步的效果。在音視頻會話系統(tǒng)中的采集模塊中,進行視頻采集,得到的是以幀為計數(shù)單位的數(shù)據(jù),而對于音頻采集環(huán)節(jié),得到的是以時間為單位的數(shù)據(jù),計量方式之間存在的差異,也會導(dǎo)致在同一時間內(nèi),無法對音視頻進行采集和結(jié)束。
在音視頻會話系統(tǒng)中的編碼模塊中,包含音頻模塊和視頻模塊,在采集緩沖區(qū)中編碼模塊會獲取一個同步數(shù)據(jù)塊,并對需要進行編碼的同步數(shù)據(jù)塊的時間戳進行記錄,然后根據(jù)其類型標(biāo)志位傳送到相應(yīng)的編碼模塊中。在網(wǎng)絡(luò)傳輸模塊中,對于每一幀視頻編碼數(shù)據(jù)進行打包之后才能夠發(fā)送,如果直接用一個數(shù)據(jù)包封裝一幀視頻編碼數(shù)據(jù),會容易造成數(shù)據(jù)包無法發(fā)送成功的問題。從解碼緩沖區(qū)中,解碼模塊能夠提取相應(yīng)的同步數(shù)據(jù)塊,并根據(jù)對應(yīng)的類型標(biāo)志位,對音視頻的編碼數(shù)據(jù)進行解碼。在完成解碼后將解碼數(shù)據(jù)重新進行封裝成同步數(shù)據(jù),并放入到相應(yīng)的播放緩沖區(qū)中。播放模塊從播放緩沖區(qū)提出相應(yīng)的已完成解碼的音視頻數(shù)據(jù),按照相應(yīng)的時間順序就可以進行分別播放。
2.3 基于可變碼長同步編碼技術(shù)
在基于時間戳的同步技術(shù)中,網(wǎng)絡(luò)傳輸模塊進行音視頻編碼數(shù)據(jù)的傳輸,需要使用兩條信道實現(xiàn),這時就需要處理多個步驟。而基于可變碼長同步編碼技術(shù)可以很好解決上述的問題。在基于可變碼長同步編碼技術(shù)中,提出了一種基于H.264幀間預(yù)測的音視頻同步編碼改進算法,而可變碼長就是其核心概念。
使用該算法可以將音頻編碼數(shù)據(jù)進行分割,形成多組不同長碼組,對于基于H.264進行幀間預(yù)測的階段,根據(jù)相對應(yīng)的公式,能夠?qū)崿F(xiàn)不同長碼與可變尺寸塊的映射,再依據(jù)音頻的編碼數(shù)據(jù)對可變尺寸的分割模式進行確定,根據(jù)相應(yīng)的映射關(guān)系進行提取音頻編碼數(shù)據(jù)。
2.4 延遲檢測自適應(yīng)選擇同步技術(shù)
對于上述的同步方案,在進行方案的選擇時需要考慮到網(wǎng)絡(luò)的狀態(tài),這時就需要檢測網(wǎng)絡(luò)的狀態(tài)。針對網(wǎng)絡(luò)的延遲狀況、丟包率以及抖動等狀況進行檢測,并進行相應(yīng)的等級評價。在網(wǎng)絡(luò)狀況良好的條件下,可以利用同步編碼技術(shù)傳輸相應(yīng)的數(shù)據(jù),如果網(wǎng)絡(luò)狀況表現(xiàn)出一般或者較差的狀態(tài),這時就需要利用基于時間戳的同步方案。
在進行延遲檢測的時候,還有一種檢測網(wǎng)絡(luò)狀況的方式經(jīng)常被用到,采用這種方式,是將每個時間間隔定義為[T1],得到會話終端之間的傳輸時延[dn]([1~n]總共[n]各時延數(shù)值),依據(jù)相應(yīng)的公式,就可以得出[T1]時間間隔內(nèi)相應(yīng)的時延變化率。
[s2=1ni=1ndi-d-2]
其中[d-=1ni=1ndi] ,采用的方差來表示網(wǎng)絡(luò)狀況的時延波動大小。
3 總結(jié)
SIP協(xié)議具有簡單、易擴展以及容易實現(xiàn)等特點,在越來越多的應(yīng)用中得到使用,該協(xié)議到目前為止也已經(jīng)達到成熟的地步,在互聯(lián)網(wǎng)中越來越多的軟件和多媒體終端都采用了SIP協(xié)議。隨著計算機網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,基于SIP協(xié)議的音視頻會話技術(shù)會得到更加廣闊的發(fā)展。
參考文獻:
[1] 林明河. 基于SIP協(xié)議的可視對講系統(tǒng)的設(shè)計與實現(xiàn)[D]. 華僑大學(xué),2016.
[2] 凌小榮. 基于SIP網(wǎng)絡(luò)音視頻通信的研究與實現(xiàn)[D]. 華南理工大學(xué),2014.
[3] 林健浩. 基于SIP協(xié)議的音視頻會話技術(shù)研究[D]. 廣東工業(yè)大學(xué),2014.
[4] 鄒田,周到.基于SIP協(xié)議的音視頻通信終端的實現(xiàn)[J]. 中國新通信,2013,15(09):34.
[5] 楊真光. 基于SIP的視頻會議系統(tǒng)設(shè)計及實現(xiàn)[D]. 北京郵電大學(xué),2013.
[6] 施昌偉. 基于SIP協(xié)議的即時通訊系統(tǒng)的研究與實現(xiàn)[D]. 南京郵電大學(xué),2012.
【通聯(lián)編輯:張薇】