摘 要:IP電話是一種數(shù)字電話,是技術創(chuàng)新的一種通信服務業(yè)務,它把語音、壓縮編碼、打包分組、分配路由、存儲交換、解包解壓等各種交換處理組合在IP網(wǎng)或互聯(lián)網(wǎng)上實現(xiàn)語音通信。因特網(wǎng)語音通信是VoIP技術的一個最典型的,也是最有前景的應用領域。介紹了VoIP的通信原理、關鍵技術和系統(tǒng)通信中的SIP協(xié)議,分析了影響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是一種數(shù)字電話,是技術創(chuàng)新的一種通信服務業(yè)務。VoIP相對于傳統(tǒng)的電話業(yè)務最大的優(yōu)勢是能廣泛地采用Internet和全球IP互連的環(huán)境,提供比傳統(tǒng)業(yè)務更多、更好的服務,并同時極大地降低服務成本。但是傳統(tǒng)的IP網(wǎng)絡主要是用來傳輸數(shù)據(jù)業(yè)務,采用的是盡力而為的、無連接的技術,因此沒有服務質量保證,存在分組丟失、失序到達和時延抖動等情況。數(shù)據(jù)業(yè)務對此要求不高,但話音屬于實時業(yè)務,對時序、時延等有嚴格的要求。因而,如何能在實時語音的傳輸中保障良好的QoS是VoIP技術發(fā)展的關鍵[1]。
1 VoIP基本原理
IP語音技術,是建立在IP技術上的分組化、數(shù)字化的傳輸技術,它以分組的形式傳輸語音數(shù)據(jù)。其基本原理是:模擬語音信號首先經過模/數(shù)轉換變成數(shù)字信號,通過IP語音壓縮算法對語音數(shù)據(jù)進行壓縮編碼處理,然后把這些語音數(shù)據(jù)按IP等相關協(xié)議進行打包,經過IP網(wǎng)絡把數(shù)據(jù)包傳輸?shù)浇邮辗?,在接收方把這些語音數(shù)據(jù)包串起來,經過解碼解壓處理后,恢復成原來的語音信號,從而達到由IP網(wǎng)絡傳送語音的目的。其基本傳送過程如圖1所示[2]。
圖1 VoIP基本傳送過程
2 VoIP面臨的問題
2.1 語音質量評價方法
語音質量的測量方式是憑主觀感知的,采用MOS(平均主觀評分)方法評價語音質量,評測方法在ITU-TP.800中定義,如表1所示。
表1 MOS值的定義
級別MOS值用戶滿意度
優(yōu)4.0~5.0很好、聽得清楚、延遲很小、交流通暢。
良3.5~4.0稍差、聽得清楚、延遲小、交流欠缺通暢、有點雜音。
中3.0~3.5還可以、聽不太清、有一定延遲、可以交流。
差1.5~3.0勉強、聽不太清、延遲較大、交流重復多次。
劣0~1.5極差、聽不懂、延遲大、交流不通暢。
2.2 帶寬
帶寬是指在網(wǎng)上傳輸任何業(yè)務信息時每秒所能傳輸?shù)淖止?jié)數(shù)。一般認為,帶寬越大越有利于數(shù)據(jù)業(yè)務的傳輸,但任何傳輸介質的帶寬都是有限的[3]。
2.3 時延
時延是接收到的數(shù)據(jù)包與發(fā)送數(shù)據(jù)包的時間差。時延又分為算法時延、處理時延、網(wǎng)絡傳輸時延和抖動緩沖時延。
2.4 丟包
丟包率定義為在網(wǎng)絡傳輸數(shù)據(jù)包時丟棄數(shù)據(jù)包的最高比率。丟包率應小于5%,當丟包率超過10%時將極大影響服務質量。
丟包的原因:線路誤碼或網(wǎng)絡路由故障;傳輸時延過長或網(wǎng)絡擁塞導致分組被丟棄。
2.5 抖動
抖動也叫時延變化,是指由于各種延時的變化導致網(wǎng)絡中的數(shù)據(jù)分組到達速率的變化。如果網(wǎng)絡抖動比較嚴重,那么有的話音包會因遲到而被丟棄,會產生話音的斷續(xù)及部分失真,嚴重影響音質。延遲的變化應該在 10%以內為好。
抖動原因:排隊時延;可變的分組大小;中間鏈路和路由器上的相對負載。
2.6 包亂序
當網(wǎng)絡較差的時候,語音包在傳輸過程中很容易出現(xiàn)亂序現(xiàn)象,從而影響接收端播放。但是根據(jù)每個語音包的時間戳(Time Stamp),可以方便地判斷出語音包的發(fā)送順序,通常采用的解決方法同樣是在接收端使用抖動緩存,對失序包進行調整,從而重現(xiàn)發(fā)端的順序。
2.7 回聲
電學回聲:在傳統(tǒng)的電話系統(tǒng)中,存在2-4線的轉換。在電話語音的傳輸過程中,完成2-4轉換的混合器因阻抗不匹配,造成混合器的語音“泄露”。網(wǎng)絡延時超過25 ms電學回聲對說話的人就有影響了。
聲學回聲:揚聲器播放出來的聲音被麥克風拾取后發(fā)回遠端,這就使得遠端通話者聽到回聲。聲學回聲又分為直接回聲和間接回聲。
3 VoIP的關鍵技術
3.1 信令技術
3.1.1 SIP協(xié)議體系結構
SIP(Session Initiation Protocol,會話初始協(xié)議)是文本格式的客戶-服務器協(xié)議:客戶機發(fā)起請求,服務器進行響應。SIP不是一個垂直集成的通信系統(tǒng),不能獨立提供業(yè)務,必須與其他協(xié)議共同使用來建立一個完整的多媒體體系結構。SIP協(xié)議棧如圖2所示[4]。
圖2 SIP協(xié)議棧
3.1.2 SIP系統(tǒng)組成
按邏輯功能區(qū)分,SIP系統(tǒng)由4種元素組成:用戶代理、代理服務器、重定向服務器以及注冊服務器。以上幾種服務器可共存于一個設備,也可以分布在不同的物理實體中。
3.2 語音壓縮編碼技術
語音編碼主要有比特率、質量、延遲和復雜度四種屬性。好的編碼方案,不是追求盡可能低的編碼比特率,而是根據(jù)實際應用的要求對各種屬性進行折衷,因為它們之間往往是有矛盾的[5]。
(1) 脈沖編碼調制(PCM)
脈沖編碼調制是最早的數(shù)字語音技術,不包含任何壓縮算法,屬于波形編碼器,又稱為G.711。采用8 kHz采樣,量化位數(shù)為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。它監(jiān)聽16 b的線性PCM數(shù)據(jù)流,并從每5個PCM采樣產生一個10 b的代碼簿指針。LD-CELP每625 μs產生10 b數(shù)據(jù)(5個PCM采樣),它以16 Kb/s的速率發(fā)送。
(4) 共扼結構代數(shù)碼激線性預測(CS-ACELP)
共扼結構代數(shù)碼激線性預測技術,也稱為G.729,是ITU-T 8 Kb/s語音編碼的標準。其帶寬效率為PCM的8倍,合成的話音質量很好。G.729原來是8 Kb/s的語音編碼標準,現(xiàn)在工作范圍擴展至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電話等系統(tǒng)中。
其中,6.3 Kb/s碼率編碼器采用多脈沖最大似然量化技術(MP-MLQ),5.3 Kb/s碼率編碼器采用代數(shù)碼激勵線性預測技術(ACELP)。
(6) 語音壓縮編碼技術比較
語音編碼技術比較如表2所示。
4 VoIP的QoS保障技術
4.1 靜音檢測技術
靜音檢測又稱語音活動性檢測(Voice Activity Detection,VAD),它是數(shù)字信號處理器應用的一種靜音壓縮技術。大多數(shù)會話中一方說話和聽對方說話的時間約各占一半,而且說話時還有停頓間隙,因此話音活動度只占40%左右,而約60%的時間是安靜的。由于分組交換中的傳輸通道是統(tǒng)計復用的,因此,在靜音時間段里可以不發(fā)送話音分組,從而進一步降低話音比特率[6]。
靜音檢測通過監(jiān)視語音信號的功率和功率的變化,到達語音信號的頻率和該頻率的變化來判斷語音信號能量,當?shù)陀谝欢ㄩT限值就認為是靜默狀態(tài)。在檢測到講話已經停止后,在離開分組處理之前,靜音檢測大約等待200 ms,這有助于防止靜音檢測切去講話的尾部部分,或者講話模式中的小停頓。類似地,語音編碼器引入5 ms的時延,在檢測到講話的情況下“保持”語音信息,這意味著在靜音檢測確定語音信號再次出現(xiàn)時,前面的5 ms語音隨當前語音信號一起發(fā)送。這個時延減少了前端剪切(切除了講話的開始部分),但不能消除它。
另外,實際的應用中如果在無聲期不發(fā)任何分組,收聽者可能會感到不自然,因而在靜音壓縮算法中加入適度噪音的生成,可以給通話雙方提供一種自然的通話效果。
4.2 抖動緩沖技術
為減小網(wǎng)絡抖動對話音質量帶來的影響,在對語音的處理中采用了抖動緩沖技術,即在接收方設定一個緩沖池,語音分組到達時首先進入緩沖池暫存,系統(tǒng)以穩(wěn)定平滑的速率將分組從緩沖池取出、解壓、播放給受話者。
目前的緩沖算法研究基本上可以分為兩大類[7]:
(1) 固定緩沖算法
固定緩沖算法在一個語音會話持續(xù)期間為每個語音包都設定了固定的緩沖時間,并不會隨著網(wǎng)絡的變化而進行緩沖時間調整,如果在規(guī)定時間點上其對應語音包因時延抖動沒有到達,則會被丟棄。
(2) 自適應抖動緩沖算法
根據(jù)接收緩沖區(qū)中的數(shù)據(jù)包或RTCP提供的參考數(shù)據(jù)來衡量網(wǎng)絡狀況,在每一個話音突起的開始調整延時播放時間。當網(wǎng)絡狀況好、抖動較小時,減小緩沖時間,以減少總體延時。反之則增加緩沖時間,以延時增加的代價來取得更好的抑制抖動的能力。該算法的優(yōu)點是:具有較好的網(wǎng)絡自適應性,會獲得較好的延時和丟包平衡。
4.3 丟包補償技術
(1) 前向糾錯
前向糾錯就是在原來的已經數(shù)字化的話音塊上增加一些冗余信息,所付出的代價是增大了網(wǎng)絡上傳送的數(shù)據(jù)率。利用這些冗余信息,就可在還原時將丟失的話音塊近似地或精確地重新構造出來。這里的“塊”表示應用層的傳輸單位,而“分組”是網(wǎng)絡層的傳輸單位。
(2) 交織
當語音信號發(fā)生大段的突發(fā)丟失,各種差錯掩蓋方法的效果就會大大降低,許多方法甚至無法工作,而突發(fā)的連續(xù)丟包是在Internet上遇到的典型現(xiàn)象,為了最大限度地發(fā)揮丟包恢復技術的作用,可以采用交織技術打亂數(shù)據(jù)的發(fā)送順序,把大段的突發(fā)連續(xù)語音丟失轉化為隨機的小段丟失,交織可在對語音數(shù)據(jù)進行分組之前實施,也可在分組之后進行。這種方式與具體的語音編碼方式無關,也與分組的編碼方式無關,主要是對編碼后的數(shù)據(jù)重新組織,但采用交織方法會給系統(tǒng)帶來很大的時延,這是它的主要缺點。
4.4 回聲消除技術
(1) 周圍環(huán)境的處理[8]
聲學回聲最簡單的控制方法是改善揚聲器周圍環(huán)境,盡量減少揚聲器播放聲音的反射。改善環(huán)境可有效地抑制間接聲學回聲,但對直接聲學回聲卻無能為力。
(2) 回聲抑制器
回聲抑制是使用較早的一種回聲控制方法。通過簡單的比較判決器,將己解碼的準備由揚聲器播放的聲音與當前話筒拾取的聲音電平進行比較,如果前者高于某個閾值,就允許傳至揚聲器,同時關閉話筒;如果話筒拾取的聲音電平高于某個閾值,則揚聲器被禁止,以達到消除回聲的目的。
(3) 回聲消除器
回聲消除器基本結構示意圖如圖3所示。
圖3 回聲消除器基本結構示意圖
圖3描述了聲學回聲消除器的基本結構,其中:u(k)代表遠端語音信號;x(k)代表近端信號;u(k)經過揚聲器、回聲通道(傳遞函數(shù)為h(n))后被麥克風所拾取到的回聲信號r(k);u(k)經過自適應濾波器后得到的估計信號y(k);e(k)是經過回聲消除后的殘差信號,理論上講e(k)應該為零,代表無回聲情況,但是實際上這種情況是不可能的,因此,需要根據(jù)殘差信號e(k)和遠端信號u(k)的相關差異來更新自適應FIR濾波器的系數(shù),使得殘差信號越來越小,進而逼近零?;芈曄髡峭ㄟ^不斷修改自適應濾波器的系數(shù),使自適應濾波器的網(wǎng)絡傳輸函數(shù)h(n)和回聲通道的h(n)越來越相近,使得殘差信號e(k)越來越小。
4.5 網(wǎng)絡傳輸技術
IP電話中的網(wǎng)絡傳輸技術主要是TCP和UDP[9]。
TCP是在IP協(xié)議軟件提供的服務的基礎上,支持面向連接的、可靠的、面向流的投遞服務。由于TCP提供了可靠的傳輸服務,因此TCP就不可避免地增加了許多的開銷,如應答、流量控制、定時器及連接管理等。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,而且還要占用許多的處理機資源。
UDP直接利用IP協(xié)議進行UDP數(shù)據(jù)報的傳輸,因此UDP提供的是無連接、不可靠的數(shù)據(jù)報投遞服務。在少量數(shù)據(jù)的傳輸時,使用UDP協(xié)議傳輸信息流,可以減少TCP連接的過程,提高工作效率。在多媒體應用中,常用TCP支持數(shù)據(jù)傳輸,UDP支持音頻/視頻傳輸。同時也應當了解當使用UDP協(xié)議傳輸信息流時,用戶應用程序必須負責解決數(shù)據(jù)報排序,差錯確認等問題。
4.6 實時傳輸技術
實時傳輸技術主要包含兩個相關的協(xié)議:RTP協(xié)議和RTCP協(xié)議[9]。
實時傳輸協(xié)議(Real-time Transport Protocol,RTP) 用于傳送實時數(shù)據(jù),如語音和圖像數(shù)據(jù)。本身不提供任何保證實時傳送數(shù)據(jù)和服務質量的能力,而是通過提供符合類型指示、序列號、時間戳、數(shù)據(jù)源標識等信息,使接收端能根據(jù)這些信息來重新恢復正確的數(shù)據(jù)流。
實時傳輸控制協(xié)議(Real-time Transport Control Protocol,RTCP)是RTP協(xié)議中的控制功能協(xié)議,它單獨運行在底層傳輸層協(xié)議(如UDP)上。RTCP通過采用與RTP相同的分發(fā)機制,向會話中的所有成員周期性地發(fā)送控制信息,應用程序通過接收這些數(shù)據(jù),從中獲取會話參與者的相關資料,以及網(wǎng)絡狀況、分組丟失概率等反饋信息,從而能夠對服務質量進行控制或者對網(wǎng)絡狀況進行診斷,并能夠對網(wǎng)絡擁塞進行有效的控制。
4.7 資源預留協(xié)議(RSVP)
當終端需要在一條路徑上預留帶寬時,向目的端發(fā)出一條消息。該消息作用于路徑上的所有節(jié)點,并含有數(shù)據(jù)流信息,包括平均速率、突發(fā)數(shù)據(jù)包長度等。當路徑上的節(jié)點收到消息后,分析數(shù)據(jù)流信息,決定應保留多少帶寬。如果此時可用帶寬不足則拒絕申請,否則設置隊列管理方法,同時將消息向下一個節(jié)點傳送。因此RSVP可以為應用提供有保障的帶寬,有效減少了傳輸延遲和抖動,保證信息傳輸?shù)膶崟r性和可靠性[9]。
4.8 區(qū)分服務技術
區(qū)分服務作為相對于綜合服務更具優(yōu)勢的另一種QoS解決方案,由IETF提出,提出的目的是區(qū)分業(yè)務的級別,并根據(jù)業(yè)務類型提供不同的服務質量保證。相對于RSVP來說,它并不為每一個帶寬請求保留一條端到端的資源預留通道,而是根據(jù)業(yè)務等級的不同來分配相應的帶寬資源,實際上就是犧牲低優(yōu)先級業(yè)務的資源來保證高優(yōu)先級業(yè)務的QoS。
為確保高質量VoIP通信,在帶寬不足的IP網(wǎng)絡中可采用音頻優(yōu)先技術,即傳輸過程中IP網(wǎng)絡路由器設置音頻數(shù)據(jù)包為最高優(yōu)先級。只要路由器發(fā)現(xiàn)有音頻數(shù)據(jù)包就將延時對其他數(shù)據(jù)包的發(fā)送,轉而傳輸音頻數(shù)據(jù)包以減少其延時,這樣,網(wǎng)絡延時及網(wǎng)絡抖動對音頻質量的影響均將顯著降低。
5 結 語
目前,由于Internet是一種開放式的網(wǎng)絡結構體系,很難用一種協(xié)議結構將所有的域統(tǒng)一起來。所以,要在現(xiàn)有網(wǎng)絡條件下實現(xiàn)端到端的有保障QoS,就必須尋求一種將不同網(wǎng)域的不同協(xié)議聯(lián)系起來的方式,即聯(lián)系異域網(wǎng)絡的中間件的實現(xiàn)。每個網(wǎng)域都應該執(zhí)行一種相應的服務等級約定以保證實時語音數(shù)據(jù)能以期望的質量傳輸。同時由于現(xiàn)存的幾種保障QoS的方式各有優(yōu)缺點,導致很難在一個大范圍網(wǎng)域內只應用一種保障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技術分析與系統(tǒng)設計[M].北京:人民郵電出版社,2003.
[4]張智江,張云勇.SIP協(xié)議及其應用[M].北京:電子工業(yè)出版社,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電話系統(tǒng)中的回聲處理[J].數(shù)據(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.