摘 要:IP電話是一種數字電話,是技術創新的一種通信服務業務,它把語音、壓縮編碼、打包分組、分配路由、存儲交換、解包解壓等各種交換處理組合在IP網或互聯網上實現語音通信。因特網語音通信是VoIP技術的一個最典型的,也是最有前景的應用領域。介紹了VoIP的通信原理、關鍵技術和系統通信中的SIP協議,分析了影響VoIP的QoS的主要原因,闡述了時延、抖動、丟包和回聲等影響QoS的機理和解決方案。
關鍵詞:VoIP; SIP; QoS; 延時; 抖動; 丟包
中圖分類號:TN919.2 文獻標識碼:A
文章編號:1004-373X(2010)09-0058-05
Research of QoS Mechanism for VoIP System Based on SIP Protocol
XU Shan-feng
(China Academy of Electronics and Information Technology, Beijing 100041,China)
Abstract:IP telephone is a kind of digital telephone, and is an innovative type of communication service. It combines a variety of switching processes into the IP network or Internet for realizing speech sound communication, such as speech sound, compressed encoding, packaging and packeting, distribution routing, storage and switching, depackaging and decompression. The Internet speech sound communication is a most typical and promising application field of the VoIP technology. The communication theory and the key technology of VoIP are introduced, an important SIP protocol in the system communication is introduced. The reasons influencing QoS of VoIP are presented. Some technological problems such as delay, jitter, lost packet and echo are analyzed, and the existing solutions of these problems are given.
Keywords: VoIP; SIP; QoS; delay; jitter; lost packet
0 引 言
VoIP是一種數字電話,是技術創新的一種通信服務業務。VoIP相對于傳統的電話業務最大的優勢是能廣泛地采用Internet和全球IP互連的環境,提供比傳統業務更多、更好的服務,并同時極大地降低服務成本。但是傳統的IP網絡主要是用來傳輸數據業務,采用的是盡力而為的、無連接的技術,因此沒有服務質量保證,存在分組丟失、失序到達和時延抖動等情況。數據業務對此要求不高,但話音屬于實時業務,對時序、時延等有嚴格的要求。因而,如何能在實時語音的傳輸中保障良好的QoS是VoIP技術發展的關鍵[1]。
1 VoIP基本原理
IP語音技術,是建立在IP技術上的分組化、數字化的傳輸技術,它以分組的形式傳輸語音數據。其基本原理是:模擬語音信號首先經過模/數轉換變成數字信號,通過IP語音壓縮算法對語音數據進行壓縮編碼處理,然后把這些語音數據按IP等相關協議進行打包,經過IP網絡把數據包傳輸到接收方,在接收方把這些語音數據包串起來,經過解碼解壓處理后,恢復成原來的語音信號,從而達到由IP網絡傳送語音的目的。其基本傳送過程如圖1所示[2]。
圖1 VoIP基本傳送過程
2 VoIP面臨的問題
2.1 語音質量評價方法
語音質量的測量方式是憑主觀感知的,采用MOS(平均主觀評分)方法評價語音質量,評測方法在ITU-TP.800中定義,如表1所示。
表1 MOS值的定義
級別MOS值用戶滿意度
優4.0~5.0很好、聽得清楚、延遲很小、交流通暢。
良3.5~4.0稍差、聽得清楚、延遲小、交流欠缺通暢、有點雜音。
中3.0~3.5還可以、聽不太清、有一定延遲、可以交流。
差1.5~3.0勉強、聽不太清、延遲較大、交流重復多次。
劣0~1.5極差、聽不懂、延遲大、交流不通暢。
2.2 帶寬
帶寬是指在網上傳輸任何業務信息時每秒所能傳輸的字節數。一般認為,帶寬越大越有利于數據業務的傳輸,但任何傳輸介質的帶寬都是有限的[3]。
2.3 時延
時延是接收到的數據包與發送數據包的時間差。時延又分為算法時延、處理時延、網絡傳輸時延和抖動緩沖時延。
2.4 丟包
丟包率定義為在網絡傳輸數據包時丟棄數據包的最高比率。丟包率應小于5%,當丟包率超過10%時將極大影響服務質量。
丟包的原因:線路誤碼或網絡路由故障;傳輸時延過長或網絡擁塞導致分組被丟棄。
2.5 抖動
抖動也叫時延變化,是指由于各種延時的變化導致網絡中的數據分組到達速率的變化。如果網絡抖動比較嚴重,那么有的話音包會因遲到而被丟棄,會產生話音的斷續及部分失真,嚴重影響音質。延遲的變化應該在 10%以內為好。
抖動原因:排隊時延;可變的分組大小;中間鏈路和路由器上的相對負載。
2.6 包亂序
當網絡較差的時候,語音包在傳輸過程中很容易出現亂序現象,從而影響接收端播放。但是根據每個語音包的時間戳(Time Stamp),可以方便地判斷出語音包的發送順序,通常采用的解決方法同樣是在接收端使用抖動緩存,對失序包進行調整,從而重現發端的順序。
2.7 回聲
電學回聲:在傳統的電話系統中,存在2-4線的轉換。在電話語音的傳輸過程中,完成2-4轉換的混合器因阻抗不匹配,造成混合器的語音“泄露”。網絡延時超過25 ms電學回聲對說話的人就有影響了。
聲學回聲:揚聲器播放出來的聲音被麥克風拾取后發回遠端,這就使得遠端通話者聽到回聲。聲學回聲又分為直接回聲和間接回聲。
3 VoIP的關鍵技術
3.1 信令技術
3.1.1 SIP協議體系結構
SIP(Session Initiation Protocol,會話初始協議)是文本格式的客戶-服務器協議:客戶機發起請求,服務器進行響應。SIP不是一個垂直集成的通信系統,不能獨立提供業務,必須與其他協議共同使用來建立一個完整的多媒體體系結構。SIP協議棧如圖2所示[4]。
圖2 SIP協議棧
3.1.2 SIP系統組成
按邏輯功能區分,SIP系統由4種元素組成:用戶代理、代理服務器、重定向服務器以及注冊服務器。以上幾種服務器可共存于一個設備,也可以分布在不同的物理實體中。
3.2 語音壓縮編碼技術
語音編碼主要有比特率、質量、延遲和復雜度四種屬性。好的編碼方案,不是追求盡可能低的編碼比特率,而是根據實際應用的要求對各種屬性進行折衷,因為它們之間往往是有矛盾的[5]。
(1) 脈沖編碼調制(PCM)
脈沖編碼調制是最早的數字語音技術,不包含任何壓縮算法,屬于波形編碼器,又稱為G.711。采用8 kHz采樣,量化位數為8 b,比特率為64 Kb/s,幀長度為125 μs。
(2)自適應脈沖編碼調制(ADPCM)
自適應脈沖編碼調制屬于波形編碼器,又稱G.726,把64 Kb/s非線性PCM信號轉換為40 Kb/s, 32 Kb/s, 24 Kb/s, 16 Kb/s的自適應脈沖編碼調制ADPCM(Adaptive Differential Pulse Code Modulation)編碼器。ADPCM并不像PCM編碼那樣直接量化語音信號,而是量化語音信號和預測信號間的差分信號。
(3) 低延時代碼激勵線性預測器(LD-CELP)
低延時代碼激勵線性預測器,又稱G.728。它監聽16 b的線性PCM數據流,并從每5個PCM采樣產生一個10 b的代碼簿指針。LD-CELP每625 μs產生10 b數據(5個PCM采樣),它以16 Kb/s的速率發送。
(4) 共扼結構代數碼激線性預測(CS-ACELP)
共扼結構代數碼激線性預測技術,也稱為G.729,是ITU-T 8 Kb/s語音編碼的標準。其帶寬效率為PCM的8倍,合成的話音質量很好。G.729原來是8 Kb/s的語音編碼標準,現在工作范圍擴展至6.4~11.8 Kb/s。G.729a是CS-ACELP算法的一個簡化版本,復雜度較G.729有較大幅度的降低。
(5)多脈沖最大似然量化技術(MP-MLQ)
多脈沖最大似然量化技術,也稱G.723與G.723.1,是一種用于多媒體通信、編碼速率為5.3 Kb/s和6.3 Kb/s的雙碼率編碼方案。G.723標準是制定的多媒體通信標準中的一個組成部分,可以應用于IP電話等系統中。
其中,6.3 Kb/s碼率編碼器采用多脈沖最大似然量化技術(MP-MLQ),5.3 Kb/s碼率編碼器采用代數碼激勵線性預測技術(ACELP)。
(6) 語音壓縮編碼技術比較
語音編碼技術比較如表2所示。
4 VoIP的QoS保障技術
4.1 靜音檢測技術
靜音檢測又稱語音活動性檢測(Voice Activity Detection,VAD),它是數字信號處理器應用的一種靜音壓縮技術。大多數會話中一方說話和聽對方說話的時間約各占一半,而且說話時還有停頓間隙,因此話音活動度只占40%左右,而約60%的時間是安靜的。由于分組交換中的傳輸通道是統計復用的,因此,在靜音時間段里可以不發送話音分組,從而進一步降低話音比特率[6]。
靜音檢測通過監視語音信號的功率和功率的變化,到達語音信號的頻率和該頻率的變化來判斷語音信號能量,當低于一定門限值就認為是靜默狀態。在檢測到講話已經停止后,在離開分組處理之前,靜音檢測大約等待200 ms,這有助于防止靜音檢測切去講話的尾部部分,或者講話模式中的小停頓。類似地,語音編碼器引入5 ms的時延,在檢測到講話的情況下“保持”語音信息,這意味著在靜音檢測確定語音信號再次出現時,前面的5 ms語音隨當前語音信號一起發送。這個時延減少了前端剪切(切除了講話的開始部分),但不能消除它。
另外,實際的應用中如果在無聲期不發任何分組,收聽者可能會感到不自然,因而在靜音壓縮算法中加入適度噪音的生成,可以給通話雙方提供一種自然的通話效果。
4.2 抖動緩沖技術
為減小網絡抖動對話音質量帶來的影響,在對語音的處理中采用了抖動緩沖技術,即在接收方設定一個緩沖池,語音分組到達時首先進入緩沖池暫存,系統以穩定平滑的速率將分組從緩沖池取出、解壓、播放給受話者。
目前的緩沖算法研究基本上可以分為兩大類[7]:
(1) 固定緩沖算法
固定緩沖算法在一個語音會話持續期間為每個語音包都設定了固定的緩沖時間,并不會隨著網絡的變化而進行緩沖時間調整,如果在規定時間點上其對應語音包因時延抖動沒有到達,則會被丟棄。
(2) 自適應抖動緩沖算法
根據接收緩沖區中的數據包或RTCP提供的參考數據來衡量網絡狀況,在每一個話音突起的開始調整延時播放時間。當網絡狀況好、抖動較小時,減小緩沖時間,以減少總體延時。反之則增加緩沖時間,以延時增加的代價來取得更好的抑制抖動的能力。該算法的優點是:具有較好的網絡自適應性,會獲得較好的延時和丟包平衡。
4.3 丟包補償技術
(1) 前向糾錯
前向糾錯就是在原來的已經數字化的話音塊上增加一些冗余信息,所付出的代價是增大了網絡上傳送的數據率。利用這些冗余信息,就可在還原時將丟失的話音塊近似地或精確地重新構造出來。這里的“塊”表示應用層的傳輸單位,而“分組”是網絡層的傳輸單位。
(2) 交織
當語音信號發生大段的突發丟失,各種差錯掩蓋方法的效果就會大大降低,許多方法甚至無法工作,而突發的連續丟包是在Internet上遇到的典型現象,為了最大限度地發揮丟包恢復技術的作用,可以采用交織技術打亂數據的發送順序,把大段的突發連續語音丟失轉化為隨機的小段丟失,交織可在對語音數據進行分組之前實施,也可在分組之后進行。這種方式與具體的語音編碼方式無關,也與分組的編碼方式無關,主要是對編碼后的數據重新組織,但采用交織方法會給系統帶來很大的時延,這是它的主要缺點。
4.4 回聲消除技術
(1) 周圍環境的處理[8]
聲學回聲最簡單的控制方法是改善揚聲器周圍環境,盡量減少揚聲器播放聲音的反射。改善環境可有效地抑制間接聲學回聲,但對直接聲學回聲卻無能為力。
(2) 回聲抑制器
回聲抑制是使用較早的一種回聲控制方法。通過簡單的比較判決器,將己解碼的準備由揚聲器播放的聲音與當前話筒拾取的聲音電平進行比較,如果前者高于某個閾值,就允許傳至揚聲器,同時關閉話筒;如果話筒拾取的聲音電平高于某個閾值,則揚聲器被禁止,以達到消除回聲的目的。
(3) 回聲消除器
回聲消除器基本結構示意圖如圖3所示。
圖3 回聲消除器基本結構示意圖
圖3描述了聲學回聲消除器的基本結構,其中:u(k)代表遠端語音信號;x(k)代表近端信號;u(k)經過揚聲器、回聲通道(傳遞函數為h(n))后被麥克風所拾取到的回聲信號r(k);u(k)經過自適應濾波器后得到的估計信號y(k);e(k)是經過回聲消除后的殘差信號,理論上講e(k)應該為零,代表無回聲情況,但是實際上這種情況是不可能的,因此,需要根據殘差信號e(k)和遠端信號u(k)的相關差異來更新自適應FIR濾波器的系數,使得殘差信號越來越小,進而逼近零。回聲消除器正是通過不斷修改自適應濾波器的系數,使自適應濾波器的網絡傳輸函數h(n)和回聲通道的h(n)越來越相近,使得殘差信號e(k)越來越小。
4.5 網絡傳輸技術
IP電話中的網絡傳輸技術主要是TCP和UDP[9]。
TCP是在IP協議軟件提供的服務的基礎上,支持面向連接的、可靠的、面向流的投遞服務。由于TCP提供了可靠的傳輸服務,因此TCP就不可避免地增加了許多的開銷,如應答、流量控制、定時器及連接管理等。這不僅使協議數據單元的首部增大很多,而且還要占用許多的處理機資源。
UDP直接利用IP協議進行UDP數據報的傳輸,因此UDP提供的是無連接、不可靠的數據報投遞服務。在少量數據的傳輸時,使用UDP協議傳輸信息流,可以減少TCP連接的過程,提高工作效率。在多媒體應用中,常用TCP支持數據傳輸,UDP支持音頻/視頻傳輸。同時也應當了解當使用UDP協議傳輸信息流時,用戶應用程序必須負責解決數據報排序,差錯確認等問題。
4.6 實時傳輸技術
實時傳輸技術主要包含兩個相關的協議:RTP協議和RTCP協議[9]。
實時傳輸協議(Real-time Transport Protocol,RTP) 用于傳送實時數據,如語音和圖像數據。本身不提供任何保證實時傳送數據和服務質量的能力,而是通過提供符合類型指示、序列號、時間戳、數據源標識等信息,使接收端能根據這些信息來重新恢復正確的數據流。
實時傳輸控制協議(Real-time Transport Control Protocol,RTCP)是RTP協議中的控制功能協議,它單獨運行在底層傳輸層協議(如UDP)上。RTCP通過采用與RTP相同的分發機制,向會話中的所有成員周期性地發送控制信息,應用程序通過接收這些數據,從中獲取會話參與者的相關資料,以及網絡狀況、分組丟失概率等反饋信息,從而能夠對服務質量進行控制或者對網絡狀況進行診斷,并能夠對網絡擁塞進行有效的控制。
4.7 資源預留協議(RSVP)
當終端需要在一條路徑上預留帶寬時,向目的端發出一條消息。該消息作用于路徑上的所有節點,并含有數據流信息,包括平均速率、突發數據包長度等。當路徑上的節點收到消息后,分析數據流信息,決定應保留多少帶寬。如果此時可用帶寬不足則拒絕申請,否則設置隊列管理方法,同時將消息向下一個節點傳送。因此RSVP可以為應用提供有保障的帶寬,有效減少了傳輸延遲和抖動,保證信息傳輸的實時性和可靠性[9]。
4.8 區分服務技術
區分服務作為相對于綜合服務更具優勢的另一種QoS解決方案,由IETF提出,提出的目的是區分業務的級別,并根據業務類型提供不同的服務質量保證。相對于RSVP來說,它并不為每一個帶寬請求保留一條端到端的資源預留通道,而是根據業務等級的不同來分配相應的帶寬資源,實際上就是犧牲低優先級業務的資源來保證高優先級業務的QoS。
為確保高質量VoIP通信,在帶寬不足的IP網絡中可采用音頻優先技術,即傳輸過程中IP網絡路由器設置音頻數據包為最高優先級。只要路由器發現有音頻數據包就將延時對其他數據包的發送,轉而傳輸音頻數據包以減少其延時,這樣,網絡延時及網絡抖動對音頻質量的影響均將顯著降低。
5 結 語
目前,由于Internet是一種開放式的網絡結構體系,很難用一種協議結構將所有的域統一起來。所以,要在現有網絡條件下實現端到端的有保障QoS,就必須尋求一種將不同網域的不同協議聯系起來的方式,即聯系異域網絡的中間件的實現。每個網域都應該執行一種相應的服務等級約定以保證實時語音數據能以期望的質量傳輸。同時由于現存的幾種保障QoS的方式各有優缺點,導致很難在一個大范圍網域內只應用一種保障QoS的標準。所以,應用綜合的QoS解決方案的產生將有效地解決這一問題[10]。
參考文獻
[1]International Telecommunication Union. ITU-T RecommendationG.114[R]. Technical Report, 1993: 343-364.
[2]陳德來.IP電話原理及相關技術標準[J].電信快報,1999(8):22-26.
[3]張登銀,孫精科.VoIP技術分析與系統設計[M].北京:人民郵電出版社,2003.
[4]張智江,張云勇.SIP協議及其應用[M].北京:電子工業出版社,2005.
[5]張宇.VoIP若干關鍵技術的研究[D].杭州:浙江大學,2007.
[6]ASTON Robert, SCHWARZ Joyce. Multimedia: gateway to the next millennium[M]. Morgan: Kaufmamt Publishers,1994.
[7]COLLINS Daniel. Carrier grade voice overIP[M]. [S.l.]: McGraw-Hill, 2000.
[8]黃永峰,周可,張江陵.IP電話系統中的回聲處理[J].數據處理與采集,2000,15(4):467-470.
[9]王建新,裴慧民.基于IP的QoS體系結構及路由策略研究[J].電信快報,2001(10):26-28.
[10]GAY S L, BENESTY J, MORGAN D R, et al. Advances in network and acoustic echo cancellation[M]. Berlin: Springer, 2001.