




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、webrtc語音引擎中neteq技術(shù)研究 代號 10701 學(xué)號 1075490151分 類 號 tn919.8 密級 公開u d c 編號題 ( 中 、 英 文 ) 目 webrtc 語音 引擎中 neteq 技術(shù) 的研究 research on neteq technologyin webrtc voice engine作 者 姓 名 吳江銳 學(xué)校 指 導(dǎo) 教 師 姓 名 職 稱 張崗山 副教 授 電子與通 信工程 王靜 高工 工 程 領(lǐng) 域 企 業(yè) 指 導(dǎo) 教 師 姓 名 職 稱 應(yīng)用基礎(chǔ) 技術(shù) 2013.3 論文 類型 提 交 論 文 日 期 西安電 子科技大學(xué) 學(xué)位論 文獨創(chuàng)性聲明
2、秉承學(xué)校嚴謹?shù)膶W(xué)風(fēng)和優(yōu)良的科學(xué)道德, 本人聲明所呈交的論文是我個人在導(dǎo)師指導(dǎo)下進行的研究工作及取得的研究成果。 盡我所知, 除了文中 特別加以標注和致謝中所羅列的內(nèi)容以外, 論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果; 也不包含為獲得西安電子科技大學(xué)或其它教育機構(gòu)的學(xué)位或證書而使用過的材料。 與我一同工作的同志對本研究所做的任何貢獻均已在論文中做了明確的說明并表示了謝意。 申請學(xué)位論文與資料若有不實之處,本人承擔(dān)一切 法律責(zé)任。本人簽名: 日期:西安電 子科技大學(xué) 關(guān)于論 文使用授權(quán)的說明本人完全了解西安電子科技大學(xué)有關(guān)保留和使用學(xué)位論文的規(guī)定, 即: 研究生在校攻讀學(xué)位期間論文工作的知識產(chǎn)
3、權(quán)單位屬西安電子科技大學(xué)。 學(xué)校有權(quán)保留送交論文的復(fù)印件, 允許查閱和借閱論文; 學(xué)校可以公布論文的全部或部分內(nèi)容, 可以允許采用影印、 縮印或其它復(fù)制手段保存論文。 同時本人保證, 畢業(yè)后結(jié)合學(xué)位論文研究課題再撰寫的文章一律署名單位為西安電子科技大學(xué)。(保密的論文在解密后遵守此規(guī)定) 本學(xué)位論文屬于保密,在年解密后適用本授權(quán)書。本人簽名: 導(dǎo)師簽名:日 期 : 日 期: 摘要 隨著計算機網(wǎng)絡(luò)的快速發(fā)展,voip 電話業(yè)務(wù)也 得到廣泛應(yīng)用。 這種基于 ip 網(wǎng)絡(luò) 的 語 音 通 話 技 術(shù) 提 供 了 方 便 廉 價 的 交 流 途 徑 , 給 通 信 行 業(yè) 帶 來 了 翻 天 覆 地 的
4、變化。但隨之而來出現(xiàn)的 話音質(zhì)量問題的解決,也迫在眉睫。 webrtc 語 音 引擎 是目 前 最 先 進 的 語 音 引擎 之一 ,其 中包含 了 實現(xiàn)語 音 信 號處理的 neteq 模塊, 此模塊 很好地解決了 voip 電話業(yè)務(wù)出現(xiàn)的延遲、 抖動 和丟包問題。但由于 neteq 是專利技術(shù),沒有開放相應(yīng)的開發(fā)文檔,因此需要對 neteq進行詳細分析研究 ,以便能夠更好地應(yīng)用于 voip 業(yè)務(wù)中。 本文研究的核心內(nèi)容是 neteq 集成 的自適應(yīng)抖動消除算法 和語音包丟失隱藏算法 。論文 首先 對 neteq 的體系結(jié)構(gòu)及處理 流程做了概括性的 分析 ,并重點對neteq 的控制模塊 -
5、mcu 的控制機制 , 以及信號處理模塊-dsp 對語音數(shù)據(jù)的處理方法做了詳細 的研究和性能分析。分析結(jié)果 表明 neteq 在抖動消除和 丟包隱藏方面的優(yōu)勢。 最后,本文基于語音質(zhì)量角度對 neteq 做了部分優(yōu)化,開發(fā)了語音質(zhì)量評估模塊。 論文基于 e-model 語音質(zhì)量預(yù)測模型及 itu 的單端非侵入型評 估算法 p.563算法進行了語音質(zhì)量評估模塊的 設(shè)計和 開發(fā), 并用 uml 的時序圖描 述了模塊的開發(fā)流程及方法。 該模塊的評估結(jié)果基本符合主觀評價。關(guān) 鍵詞 :voip neteq 抖動消 除 丟包隱 藏 語音質(zhì) 量評 估 abstract with the rapid deve
6、lopment of the computer network, voip telephone service has already been widely used. this voice communication technology which based on ip network provides a kind of convenient and cheap voice calls, and brings great changes to communication industry. but, the requirement of voice quality which app
7、ears subsequently in voip , is urgentwebrtc is one of the most advanced voice engine technology, and contains the neteq module, which provides complicated speech signal processing. the neteq module provides a good solution to those problems in voip system, such as delay, jitter and packet loss, so w
8、idely used. but the neteq is a patent technology, and there is no public document to introduce or describe its detailed algorithm. thus, a research and analysis of neteq is necessary for better application of it in voip industrythe neteq algorithm integrated the adaptive jitter elimination algorithm
9、 and voice packet loss concealment algorithm, which is the core contents of this paper. firstly, the system structure and processing procedure of neteq have been analyzed briefly in this paperthen, the emphasis is putted on the control mechanism of neteq s control modulemcu and the speech data proce
10、ssing method of processing moduledsp. the analysis results showed that the neteq indeed has an advantage in jitter elimination and packet lost concealmentfinally, a speech quality evaluation module, which based on the speech quality of neteq, is developed in this paper. the evaluation module is base
11、d on voice quality prediction model e-model and single-end non-intrusive speech quality measurementp563, and an uml sequence diagram to describe development processes and methods of the speech quality evaluation module is also provide in this paper. the evaluation results are mainly in agreement wit
12、h the subjective feeling keywords: voipneteqjitter elimination packet lost concealment speech quality 目錄 第一章 緒論1 1.1 研究背景1 1.2 研究現(xiàn)狀2 1.3 研究內(nèi)容3 1.4 論文的章節(jié)安排5 第二章 neteq 工作原 理和框架 7 2.1 webrtc 語音引擎 概述7 2.2 neteq 模塊概述 8 2.2.1 抖動定義及消除原理. 8 2.2.2 丟包隱藏原理10 2.2.3 neteq 模塊簡介12 2.3 neteq 模塊詳細分 析13 2.3.1 neteq 的
13、命令機 制. 13 2.3.2 neteq 的播放機 制. 15 2.3.3 neteq 算法流程16 2.4 小結(jié)18 第三章 mcu 模塊的研究與分析19 3.1 網(wǎng)絡(luò)延遲統(tǒng)計算法及性能分析 19 3.2 抖動延遲統(tǒng)計算法及性能分析 23 3.3 mcu 的控制機制24 3.4 小結(jié)28 第四章 dsp 模塊的研究與分析 29 4.1 基音周期的檢測算法. 29 4.1.1 常用的基音周期檢測算法 29 4.1.2 基于自相關(guān)函數(shù)法的基音周期檢測30 4.2 wsola 算法原理. 31 4.3 dsp 處理 32 4.3.1 丟包處理. 32 4.3.2 融合處理. 35 4.3.3 正
14、常處理. 37 4.3.4 加速處理. 38 4.3.5 減速處理. 40 4.4 dsp 的后續(xù)處理 41 4.5 小結(jié)42 第五章 基于語音質(zhì)量評估的 neteq 改進. 43 5.1 基于網(wǎng)絡(luò)的語音質(zhì)量評估算法 43 5.2 單端非侵入的語音質(zhì)量評估算法45 5.3 基于語音質(zhì)量評估的 neteq 48 第六章 結(jié)束語53 致謝55 參考文獻 57第一章 緒論 1 第一章 緒論 1.1 研究 背景 voip 是 voice over internet protocol 的縮寫,一般稱為 ip 電話或 ip 網(wǎng) 絡(luò)電話。這種技術(shù)是將傳統(tǒng)電話的聲音信號轉(zhuǎn)換成 ip 數(shù)據(jù)包的格式,并利用 in
15、ternet 傳送至目的地后,再將 ip 數(shù)據(jù)包還原成傳統(tǒng)電話的聲音信號并播放,從而實現(xiàn)話音通信服務(wù)。ip 電話的基本 功能是提供基于互聯(lián)網(wǎng)的、 費用低廉的語音、 傳真、 數(shù)據(jù)、消息和視頻等服務(wù)。此 外,ip 電 話的出現(xiàn)極 大地提高了網(wǎng)絡(luò)帶寬的 利用率,并大1大減少了通信費用,其廣泛應(yīng)用也促進了寬帶多媒體應(yīng)用的發(fā)展 。voip 的發(fā)展大致經(jīng)歷了 以下幾個階段: 1995 年1996 年, 技術(shù)突破期。 語音質(zhì)量基本沒有保證, 技術(shù)還不成熟。 1996 年1999 年,應(yīng)用啟蒙期。電信公司開始使用連接 internet 與 pstn網(wǎng)的網(wǎng)關(guān)設(shè)備,voip 進 入快速發(fā)展期。 2000 年200
16、2 年, 市場啟蒙期。voip 技術(shù)基 本成熟, 與 pstn 有機 結(jié)合,具有較好的語音質(zhì)量。許多電信公司開始提供 voip 業(yè)務(wù)。 2002 年至今, 市場發(fā)展期。2006 年, 全球 voip 的業(yè)務(wù)將第一次超過電路交換電話業(yè)務(wù)。 ip 電話 與傳統(tǒng)電話相 比具有不同的技術(shù)特點 。傳統(tǒng)電話(固定電話 或手機)使 用 電 路 交 換 技 術(shù) , 在 呼 叫 建 立 時 預(yù) 先 分 配 一 條 物 理 或 邏 輯 線 路 專 門 用 于 傳 輸 話音 , 因 此 需 要 獨 占 通 信 資 源 , 并 且 直 到 呼 叫 結(jié) 束 才 能 釋 放 所 分 配 的 線 路 , 造 成 線路 利
17、用 低 (75% 時 間 線 路 空 閑 ) 。 雖 然 傳 統(tǒng) 電 話 能 夠 提 供 有 保 證 的 話 音 服 務(wù) 質(zhì) 量(qos ,quality of service ) ,但收費昂貴,功 能單一,且難于增加新的業(yè)務(wù)。 ip 電話使用分組交換技 術(shù),并且將模擬聲音信號經(jīng)數(shù)字化、壓縮編碼后以 ip分組 (rtp 數(shù)據(jù)包) 的 形式通過 internet 進行 傳輸。 與電路交換相比,ip 電話無需預(yù)先建立專門的電路, 因此用戶之間可以共享 internet 網(wǎng)絡(luò)的帶寬 , 網(wǎng)絡(luò)資源利用率較高。此外,ip 電 話可以提供免費的話音 服務(wù),并支持綜合業(yè)務(wù) (話音、數(shù)據(jù)和視頻) ,易于擴展新
18、的業(yè)務(wù)。但從 ip 協(xié)議的本質(zhì)上講,ip 電話不能保證話音服務(wù)質(zhì)量(時延、抖動和丟 包) 。 ip 電話的典型架構(gòu)如下 圖所示: 2 webrtc 語音引 擎 中 neteq 技術(shù) 的研 究 原始話音數(shù)據(jù)原始 話音數(shù) 據(jù)話音 編碼 話音解碼rtp/rtcprtp/rtcpudp/ipudp/ip圖 1.1 ip 電話 基礎(chǔ) 圖 1.1 左邊為 ip 電話的 發(fā)送端, 主要執(zhí)行語音信號的編碼、 打包和傳輸工作。右邊為 ip 電話的接收 端,主要進行語音信號的還原工作,其中本文涉及到的語音引擎處在語音解碼的前后,是保證語音質(zhì)量的關(guān)鍵模塊。 voip 技術(shù)的最大優(yōu)勢 在于廣泛地采用 internet
19、 和全球 ip 互連的環(huán)境 ,提供比傳統(tǒng)電話業(yè)務(wù)更廣泛、 更優(yōu)質(zhì)的服務(wù)。 采用 voip 技術(shù)可以在 ip 網(wǎng)絡(luò) 上廉價地傳送語音、 數(shù)據(jù)、 視頻和傳真等業(yè)務(wù), 如電視會議、 傳真郵箱、 虛擬語音、 統(tǒng)一消息、電子商務(wù)、 虛擬電話、internet 呼叫管理、internet 呼叫中心、 查號業(yè) 務(wù)、 傳真存儲2轉(zhuǎn)發(fā)和各種信息的存儲轉(zhuǎn)發(fā)等 。 因此, ip 電話 成為一種新興的得到廣泛運用的網(wǎng)絡(luò)業(yè)務(wù)。 但是,由于傳統(tǒng)的 ip 網(wǎng)絡(luò)主要用于傳輸數(shù)據(jù)業(yè)務(wù),采用一種盡力而為的無連3接的傳輸技術(shù) , 因此沒有服務(wù)質(zhì)量 (qos ) 保證, 存在包亂序到達、 端到端時延、分組丟失和時延抖動等情況。 對于
20、分組丟失, 數(shù)據(jù)業(yè)務(wù)可采用重發(fā)來彌補。 但 voip4是實時業(yè)務(wù), 對時延、 抖動等有著嚴格的要求, 所 以必須要有一定的 qos 保證 。時延抖動是 voip 業(yè)務(wù) 中最重要的一項 qos 參數(shù),直接影響著語音通信質(zhì)量,直接 關(guān) 系 到 話 音 在 接 收 端 能 否 真 實 再 現(xiàn) 。 因 此 , 需 要 采 取 一 定 算 法 和 措 施 來 消 除 時延抖動所造成的影響,從而保證一定的話音業(yè)務(wù)質(zhì)量。 在 ip 電話系統(tǒng)中, 一 般通過語音引擎 (voice engine ) 中的抖動緩沖 區(qū) (jitter 5buffer )來消除網(wǎng) 絡(luò)傳 輸所帶來的不良 影響 ,而抖動緩沖區(qū) 技術(shù)的
21、 優(yōu)劣會極大地影響使用者的主觀感受。 因此, 抖動緩沖區(qū)技 術(shù)是 voip 中的關(guān)鍵技 術(shù)之一, 是影響話音質(zhì)量的關(guān)鍵因素。 1.2 研究 現(xiàn)狀 抖 動 緩 沖 區(qū) 主 要 用 于 有 效 地 吸 收 網(wǎng) 絡(luò) 抖 動 , 降 低 丟 包 率 , 相 對 地 減 小 延 遲,其性能直接影響著 voip 的語音質(zhì)量。 另 一 方 面 , 如 果 抖 動 緩 沖 區(qū) 設(shè) 置 過 大 , 則 語 音 通 話 延 時 會 隨 之 增 加 ; 如 果抖第一章 緒論 3 動 緩 沖 區(qū) 設(shè) 置 過 小 , 則 無 法 有 效 吸 收 延 時 抖 動 , 導(dǎo) 致 語 音 數(shù) 據(jù) 在 接 收 端 的 丟 包 率
22、上升。因此,抖動緩沖區(qū)大小的設(shè)置必須對延時和丟包率進行綜合平衡考慮。 為 了 更 合 理 地 設(shè) 置 抖 動 消 除 算 法 中 抖 動 緩 沖 區(qū) 的 大 小 , 更 好 地 適 應(yīng) 網(wǎng) 絡(luò) 環(huán)境的 變 化 , 國 內(nèi) 外 研 究 人 員 提 出 了 很 多 種 自 適 應(yīng) 抖 動 緩 沖 算 法 。 其 中 最 普 遍 的 做 法是 : 采 用 歷 史 時 段 中 傳 輸 延 時 統(tǒng) 計 的 較 大 值 , 根 據(jù) 可 接 受 的 丟 包 率 上 限,決定在抖 動 緩 沖 區(qū) 可 以 丟 棄 的 數(shù) 據(jù) 包 量 , 選 擇 某 一 較 大 歷 史 延 遲 作 為 下 段 時 間 內(nèi) 的 抖
23、 動6緩沖區(qū)大小 。 這種方 法操作簡單便捷, 但自適應(yīng)能力較差, 不能很好地適應(yīng)網(wǎng) 絡(luò)延遲的改變。 由于語音質(zhì)量是 voip 業(yè)務(wù)的關(guān) 鍵, 因此基于語音質(zhì)量的自適應(yīng)抖動7緩沖算法成為當前研究的熱點 。 日前, 在建立 語音質(zhì)量預(yù)測模型的基礎(chǔ)上提出的8自適應(yīng)抖動緩沖算法,均采用 itu 的 e-model 方法預(yù)測語音質(zhì)量 , 以語音質(zhì)量9來平衡延時和丟包率, 但它僅僅考慮了 ip 網(wǎng) 絡(luò)的隨機丟包模式 , 這與 voip 的突發(fā)丟包模式不相符。 目前,全球著名的語音引擎 提供商 global ip sound (gips )公司以其優(yōu)異的語音引擎技術(shù), 擁有了較高的市場占有率。gips 語
24、音引擎的核心技 術(shù)之一就是包含丟包隱藏算法的高級自適應(yīng)抖動緩沖器技術(shù),稱作 neteq 。2010 年谷歌公司 以6820 萬美元收購 global ip solutions 公司而獲 得的這項技術(shù)。 隨后, 谷歌公司于 2011年將 gips 語音引擎以 開源項目 webrtc 的形 式對外公開發(fā)布。 webrtc 是一項在瀏覽器內(nèi)部進行實時視頻和音頻通信的技術(shù),其目的是通過簡單的 javascript 編程就可以達到實時通信(rtc ,real-time communication )能力。 neteq 算 法 中集 成了自 適 應(yīng)抖 動控 制算 法以及 語 音包 丟失 隱藏 算法。 這
25、項 技術(shù) 使 其 能 夠 快 速 且 高 解 析 度 地 適 應(yīng) 不 斷 變 化 的 網(wǎng) 絡(luò) 環(huán) 境 , 確 保 音 質(zhì) 優(yōu) 美 且 緩 沖 延遲最小 。neteq 算法 的創(chuàng)新 之處 在于 它不 僅 在語音 包緩 沖器 內(nèi), 而 且還與 解碼器進行集成。 由于 neteq 是 gips 開發(fā)的專利技術(shù),沒有任何公開的技術(shù)資料來介紹其基本原理和算法流程,因此對其進行研究并將其 文檔化,有利于 neteq 算法的廣泛運 用 , 縮 短 工 程 被 引 用 的 開 發(fā) 時 間 , 且 有 助 于 快 速 找 出 項 目 中 出 現(xiàn) 問 題 的 原 因 及增大項目的優(yōu)化空 間。 此外, 對 nete
26、q 模塊的 性能分析 和 仿真實驗有助于對 neteq 算法的 進一步優(yōu)化和完善。 1.3 研究 內(nèi)容 neteq 模塊是 webrtc 語音引擎的核心模塊 , 其功能框圖如下圖所示 (圖 1.2): 4 webrtc 語音引 擎 中 neteq 技術(shù) 的研 究圖 1.2 neteq 模 塊框 圖 由 上 圖 可 以 看 出 ,neteq 模 塊 基 本 上 分 為 自 適 應(yīng) 緩 沖 器 (adaptive packet buffer ) 、 語音解碼器 (speech decoder ) 、 抖 動控制和丟包隱藏模塊 (jitter control and error concealmen
27、t ) 及播放(play out )四 大部分。其 中,抖動控制和丟包隱藏模塊是 neteq 的核心 算法, 既控制著自適應(yīng)緩沖器, 又與解碼器進行緊密的交互,并且將最終的計算結(jié)果交給聲卡去播放。 另 外 , 抖 動 控 制 和 丟 包 隱 藏 模 塊 ( 如 上 圖 所 示 ) 由 三 大 主 要 操 作 所 組 成 ,即expansion 、normal 和 accelerate 。每個操作 的具體含義如下: expansion :擴展操作, 即對語音時長的拉伸,其中包括 expand 及preemptive_expand 兩種 模式。前者為 neteq 的丟包隱藏操作,其作用是等待延遲包
28、并補償丟包,由于補償丟包是實現(xiàn)數(shù)據(jù)從無到有,因此使用expand(擴展),表示語音數(shù)據(jù)的擴展;后者意為優(yōu)先擴展,即在原有數(shù)據(jù)的基礎(chǔ)上拉伸語音時長,因此可以實現(xiàn)減速播放功能。 normal :正常播放操作 ,即在網(wǎng)絡(luò)狀況正常且相對無抖動時的操作。 accelerate :加速操作 ,即對語音信號處理以實現(xiàn)快速播放。 當 語 音引 擎運 行時 ,neteq 會 根據(jù) 網(wǎng)絡(luò) 的狀 況、 緩 沖區(qū) 中未 處理 的數(shù)據(jù) 包 長度,以及等待播放的語音長度等參數(shù)智能地選擇合適的操作。 neteq 是 目 前最 為完善 的 抖動 消除 技術(shù) 。與固 定 抖動 緩沖 器和 傳統(tǒng)的 自 適 應(yīng)抖動緩沖器進行比較(
29、如圖 1.3 所示) ,neteq 能夠快速且高解析度 地 適應(yīng)不斷優(yōu)化的網(wǎng)絡(luò)環(huán)境,因此保證了語音引擎較小的延遲和很好的語音質(zhì)量。第一章 緒論 5圖1.3 neteq 性 能分 析 由 上 圖可 以看 出,neteq 能 夠?qū)?時地 響應(yīng) 當前 的 抖動 延遲 。其 中,藍 色 線 所示的抖動因子由網(wǎng)絡(luò)延遲所示,而 neteq 做出對抖動的響應(yīng)(由黃線所示)則是抖動消除算法中研究的核心內(nèi)容。 綜上所述,本文的研究內(nèi)容主要是針對 neteq 中的抖動消除技術(shù)及丟包隱藏技 術(shù) 進 行 深 入 的 分 析 和 研 究 , 并 通 過 導(dǎo) 入 語 音 質(zhì) 量 評 估 技 術(shù) 作 為 語 音 引 擎 優(yōu)
30、 化 的先決條件,來進一步提高語音引擎的主觀質(zhì)量。 本文的研究課題來源于普羅通信 (西安) 有限公 司 voip 網(wǎng)絡(luò)電話服務(wù) ?freepp語音引 擎的 開發(fā) 和研 究 。neteq 是 整個 語音 引擎的 核心 ,是 保證 語 音質(zhì)量 的關(guān)鍵技術(shù)。本課題研究目的是充分掌握 neteq 的相關(guān)算法,為語音引擎的優(yōu)化打下堅實的基礎(chǔ)。 本文采用 webrtc 語音 引擎實現(xiàn) ip 網(wǎng)絡(luò)上的 語音通話 功能 , 主要研究工作以vs2008 作為開發(fā)工具, 在對 neteq 模塊進行 單元測試和系統(tǒng)測試的基礎(chǔ)上, 實現(xiàn)語音質(zhì)量評估的模塊化編程。 1.4 論文 的章節(jié) 安排 本文的章節(jié)安排如下: 第一
31、章是緒論,介紹了 voip 技術(shù)的發(fā)展及 應(yīng)用,對 webrtc 和 neteq 做了簡單引入,并對 本文的工作做了簡要說明。 第二章是 neteq 系統(tǒng) 框架, 分析了 neteq 的系統(tǒng)框架、 算法流程, 并對相關(guān)算法原理做了詳細介紹。 第三章是 mcu 模塊的研究和分析, 重點分析 了 neteq 的 mcu (微 控制單元)的算法及流程,具體描述了 neteq 的控制機 制。 6 webrtc 語音引 擎 中 neteq 技術(shù) 的研 究 第四章是 dsp 模塊的研究和分析, 重點分析了 neteq 的 dsp (數(shù)字信號處理)的算法及流程,具體描述了 neteq 處理語音 信號的方法。
32、 第五章是基于語音質(zhì)量評估的 neteq 改進,詳細介紹了兩大類型的語音質(zhì)量評估算法的原理,并給出使用于 voip 的語音 質(zhì)量評估的解決方案。 第六章是結(jié)束語,對所實現(xiàn)的 neteq 模塊進行簡單的性能分析,并指出其中的不足和進一步研究與改進的方向。第二章 neteq 工 作原 理和 框架 7 第二章 neteq 工 作原理和 框架2.1 webrtc 語音 引 擎概述 webrtc 由 語 音引 擎、 視 頻 引 擎 及 網(wǎng) 絡(luò) 傳輸三 大 模 塊 組 成 , 其 中語音 引 擎 是webrtc 極具價值的技 術(shù)之一。webrtc 的系 統(tǒng)架構(gòu)如下圖所示: 網(wǎng) 絡(luò)網(wǎng)絡(luò)apiwebrtcwe
33、brtc c+ api ( 端到端 連接 )會話 管 理/ 信 號 摘要 ( 會 話 )瀏覽視 頻 引擎聲音 引 擎?zhèn)鬏斊鱥sac/ilbc 編解碼器 vp8 編解碼 器 srtp聲 音 處 理 的neteq 視 頻抖動緩 沖區(qū) multipleding回聲消除/ 噪聲抑制 圖像算 法p2p stun+turn+ice音頻捕獲/ 渲染 視頻捕 捉 網(wǎng)絡(luò) 輸入/ 輸 出供 網(wǎng)絡(luò)開 供瀏覽器開 可被瀏覽器發(fā)的api 發(fā)的api 開發(fā)商重寫圖 2.1 webrtc 架 構(gòu)圖 如上圖所示,webrtc 語音引擎(voice engine )由一系列音頻 和網(wǎng)絡(luò)處理 模塊所組成 , 包 括 了 從 音頻
34、 采 集 到 網(wǎng) 絡(luò) 傳 輸 等 處 理 流 程 的 完 整 解 決 方 案 ,其中主要包括 isac (internet speech audio codec )/ilbc (internet low bitrate codec ) 編 解碼器、 回聲消除 ( acoustic echo canceler aec ) / 噪聲抑制 ( noise reduction nr )以及 neteq 等三大部 分。webrtc 語音引擎 的工作流程如下圖所示:web 應(yīng)用程 序web 應(yīng)用程 序web 應(yīng)用程 序 8 webrtc 語音引 擎 中 neteq 技術(shù) 的研 究 adc aec ns a
35、gc encoder聲音采集 聲學(xué)回聲抵消 噪聲抑制 自動增益控制 壓縮編碼聲音信號處理(遠端)internet數(shù)據(jù)壓縮和解壓縮dac decoder plc jbagc ns丟包補償 抖動消除聲音播放 壓縮解碼聲音設(shè)備驅(qū)動圖 2.2 語音 引擎 工作 流程 圖 上 圖 中 , 語 音 引 擎 的 一 般 工 作 流 程 如 下 : 首 先 在 發(fā) 送 端 進 行 聲 音 采 集 , 對采集 到 的 聲 音 信 號 進 行 回 聲 消 除 、 噪 聲 抑 制 、 自 動 增 益 控 制 等 前 處 理 , 然 后 進 行 語音壓縮編碼, 并通過 internet 網(wǎng)絡(luò)傳輸?shù)浇邮?端; 語音數(shù)據(jù)
36、到達接收端后, 首先進入 neteq 模塊進行抖動消除、丟包隱藏、解碼等操作,然后將處理過后的音頻數(shù)據(jù)送入聲卡設(shè)備中進行播放。 本文研究的重點是 neteq 模塊,其中所涉及的處理過程包括抖動消除、丟包補償和壓縮解碼(如圖 2.2 粗虛線所示) ,其作用是 使語音引擎能夠快速且高解析度地適 應(yīng)不 斷變 化的 網(wǎng) 絡(luò)環(huán)境 ,確 保音 質(zhì)優(yōu) 美 且緩沖 延遲 最小 。下 面 將對 neteq模塊進行詳細分析和論述。 2.2 neteq 模塊概述 neteq 模 塊 主要 負責(zé)消 除 因網(wǎng) 絡(luò)傳 輸路 徑和擁 塞 情況 變化 所造 成的丟 包 和 時延抖動問題。這里,首先簡要介紹一下抖動消除原理及丟
37、包隱藏原理。 2.2.1 抖動定義及消除原理抖動 (jitter ) 定義 1: 指由于各種延時的變化導(dǎo)致網(wǎng)絡(luò)中的數(shù)據(jù)分組到達速率10的變化 。 具 體 地說 ,可 將 抖 動 定 義 為 數(shù) 據(jù) 流在 發(fā) 送 端 發(fā) 送 間 隔 與 接收 端 接 收間隔之差: jr s i 1,2, .n2-1 i i i其中,s 為發(fā)送第 i 第 i+1 個數(shù)據(jù)包間的發(fā)送間隔; r 為接收第 i 和第 i+1 個i i數(shù)據(jù)包間的到達間隔, j 即為數(shù)據(jù)包 i 的抖動延遲。式(2-1)適用于可變碼率業(yè)i務(wù)的抖動定義。 11抖動 (jitter ) 定義 2 : 接收端某個數(shù)據(jù)包到達間隔與平均數(shù)據(jù)包到達間隔
38、之差定義為該數(shù)據(jù)包的延時 抖動。即:jt e t i 1,2, .n2-2ii第二章 neteq 工 作原 理和 框架 9 et其中,t 為第 i 個數(shù)據(jù)包到達間隔;? 為平均數(shù)據(jù)包到達間隔,當數(shù)據(jù)流iet為固定碼率時,? 等于或者接近于數(shù)據(jù)流的發(fā)送間隔。 因此, 式 (2-2) 適用于具有不同發(fā)送特征的業(yè)務(wù)。 12抖 動 是 一 個 零 均 值 的 隨 機 序 列 , 是 由 排 隊 ip 包 的 延 遲 時 間 差 構(gòu) 成 的 。當j 0 時,稱之為正抖動;當 j 0 時,稱之為負抖動;當 j 0 時,說明無抖動 。i i i正抖動對應(yīng)于數(shù)據(jù)包的堆積, 意味著數(shù)據(jù)包提前到達, 雖然保證 了
39、語音的完整性,但 是 容 易 造 成 接 收 端 緩 存 溢 出 并 且 會 增 大 端 到 端 延 遲 。 負 抖 動 則 意 味 著 數(shù) 據(jù) 包 經(jīng)過 網(wǎng) 絡(luò) 傳 輸 后 , 走 了 不 同 路 徑 而 且 一 段 時 間 內(nèi) 仍 未 到 達 接 收 端 , 說 明 數(shù) 據(jù) 包 可 能會 延 遲 到 達 或 者 丟 包 ; 由 于 超 時 和 緩 存 溢 出 均 可 導(dǎo) 致 包 丟 失 , 因 此 不 管 是 哪 種 抖動, 均增加了端到端的丟包概率。 因此, 對于 voip 網(wǎng)絡(luò)電話, 必須對 抖動進行有效的控制,以減少由此引起的丟包。 抖 動 通 常 采 用 抖 動 緩 沖 技 術(shù) 來
40、 消 除 , 即 在 接 收 方 建 立 一 個 緩 沖 區(qū) , 語 音 包到達 接 收 端 時 首 先 進 人 緩 沖 區(qū) 暫 存 , 隨 后 系 統(tǒng) 再 以 穩(wěn) 定 平 滑 的 速 率 將 語 音 包 從 緩 沖13區(qū)提取出來,經(jīng)解壓后從聲卡播出 。 這種 緩沖 技 術(shù) 可 以 在 一 定 限 度內(nèi) 有 效 消除語音抖動,并提高 voip 的音質(zhì)。 網(wǎng) 絡(luò)延 遲/ms40b3020a c d10發(fā) 送 時 間/ms30 60 90120 150到 達 時 間/msa b c d播 放 時 間/msa b c d圖 2.3 抖動 緩沖 區(qū)的 工作 原理示 意圖 14抖動緩沖區(qū)的工作原理 如圖
41、 2.3 所示,其中:4 個語音數(shù)據(jù)包(a 、b 、c 、d )以 30ms 為間隔進行發(fā)送,即發(fā)送時間分別為 30,60,90,120ms ,經(jīng)過網(wǎng)絡(luò)傳輸時分別產(chǎn)生了 10,30,10,10ms 的網(wǎng)絡(luò)時延, 導(dǎo)致到達接收端的時間分別為40,90,100,130ms 時刻, 此時變產(chǎn)生了 50、10、30 的不同間隔, 即為 抖動。 因此,為了能夠獲得流暢的音質(zhì),就要求 a 、c 和 d 這 3 個語音包到 達接收端后,先在緩沖器中分別延遲 20ms 再播放。也就是說,抖動消除的思想的理想狀態(tài)為:每 個 數(shù) 據(jù) 包 在 網(wǎng) 絡(luò) 傳 輸 中 的 延 遲 與 其 在 抖 動 緩 沖 區(qū) 中 緩
42、沖 的 延 遲 之 和 應(yīng) 該 相 等 。因 此 一 般 的 抖 動 消 除 思 想 是 將 抖 動 緩 沖 區(qū) 的 大 小 設(shè) 為 目 前 測 到 的 最 大 網(wǎng) 絡(luò) 延 遲 大小 , 而 且 每 個 包 在 網(wǎng) 絡(luò) 中 的 延 遲 加 上 其 在 抖 動 緩 沖 區(qū) 中 緩 沖 產(chǎn) 生 的 延 遲 之 和 應(yīng) 該10 webrtc 語音引 擎 中 neteq 技術(shù) 的研 究 等于抖動緩沖區(qū)的大小。 抖 動 緩 沖 控 制 算 法 包 括 靜 態(tài) 抖 動 緩 沖 控 制 算 法 和 自 適 應(yīng) 抖 動 緩 沖 控 制 算 法兩15種 。 靜態(tài)抖動緩沖控制算法:緩沖區(qū)的大小在語音通話建立 后一
43、直到通話結(jié)束, 均為固定值, 對于 抖動超出緩沖區(qū)大小的數(shù)據(jù) 包將會被丟棄。 該 算法模型簡單,易于實現(xiàn); 但網(wǎng)絡(luò)抖動較大時,丟包率高,而網(wǎng)絡(luò)延遲及抖動小時, 語音延遲較大, 不能很好地根據(jù)網(wǎng)絡(luò)狀況來動態(tài)改變緩沖區(qū)的控制策略,而且初始狀態(tài)對 后面的語音質(zhì)量影響較大。 自適應(yīng)抖動緩沖控制算法:緩沖區(qū)大小隨著實際網(wǎng)絡(luò)的抖動情況而變化。接收端將當前收到的數(shù)據(jù) 包的延遲與算法 中保存的延遲信息相比較, 得到當前網(wǎng)絡(luò)的最大抖動, 從而選擇恰當?shù)木彌_區(qū)大小。 該算法的優(yōu)點是: 網(wǎng)絡(luò)抖動較大時丟包率相對較低, 而網(wǎng)絡(luò)延遲及抖動小 時, 語音延遲相對較2小; 缺點是: 算法多樣且相對復(fù)雜 。 考 慮 到 當
44、前 網(wǎng) 絡(luò) 狀 況 的 多 樣 化 , 抖 動 緩 沖 區(qū) 一 般 設(shè) 置 為 自 適 應(yīng) 的 。 自 適 應(yīng)抖動 緩 沖 控 制 的 重 要 參 數(shù) 是 抖 動 緩 存 容 量 和 從 抖 動 緩 沖 區(qū) 取 出 數(shù) 據(jù) 包 的 條 件 , 二 者決定了 緩存 控制 對媒 體 流時間 結(jié)構(gòu) 的作 用。neteq 所 采用 的抖 動消 除 技術(shù)屬 于自適應(yīng)抖動緩沖算法,具體內(nèi)容將在第三章中詳細介紹。 2.2.2 丟包隱藏原理 丟包隱藏又稱為丟包補償, 即 packet loss concealment , 簡稱為 plc 。 應(yīng)用于voip 的丟包隱藏技術(shù) 可以分為兩類:基于發(fā)送端補償和基于接
45、收端補償?;诎l(fā)送 端 補 償 包 括 前 向 差 錯 糾 正 、 交 織 和 重 傳 技 術(shù) ; 基 于 接 收 端 補 償 包 括 了 多 種 錯 誤隱蔽算法(如圖 2.4 所示) 。 交織被動通道編碼 與媒體無關(guān)前向差錯糾正基于發(fā)送端補償丟主動重傳 拼接法 媒體相關(guān)包補靜音置換法償基于插入技噪聲置換法術(shù)重復(fù)法基于接收端補償傳輸狀態(tài)插值法基于重構(gòu)基于模型的恢復(fù)法波形置換法基于插值基音波形復(fù)制法時間尺度修正法圖 2.4 丟包 隱藏 技術(shù)第二章 neteq 工 作原 理和 框架 11 上 圖 中 , 接 收 端 丟 包 隱 藏 技 術(shù) 的 基 本 原 理 就 是 產(chǎn) 生 一 個 與 丟 失 的
46、 語 音 包 相似的 替 代 語 音 。 這 種 技 術(shù) 的 可 行 性 是 基 于 語 音 的 短 時 語 音 相 似 性 , 它 可 以 處 理 較 小的丟包率(15% )和 較小的語音包。接收端的丟包隱藏技術(shù)可以分為三類: 1) 基于插入的方法, 即插入一個填充包來修復(fù)丟包, 而填充包一般都很簡單,比 如 靜 音 包 、 噪 聲 包 或 重 復(fù) 前 面 的 包 。 此 方 法 雖 然 容 易 實 現(xiàn) , 恢 復(fù) 效 果 較 差 , 其缺點就是沒有利用語音的信息來重新產(chǎn)生信號。 2) 基于插值 的方法, 即通過某種形式的模式匹配和插值技術(shù)以期望得到與原來 丟 包 相 似 的 代 替 包 。
47、 此 方 法 由 于 考 慮 到 了 語 音 的 變 化 信 息 來 產(chǎn) 生 信 號 , 因 此 比插入方法實現(xiàn)難度要大但效果更好。 3) 基于重構(gòu)的方法, 即通過丟包前后的解碼信息來重構(gòu)產(chǎn)生一個補償包。 由于 重 構(gòu) 修 復(fù) 技 術(shù) 使 用 壓 縮 算 法 的 知 識 來 獲 得 編 碼 參 數(shù) , 有 大 量 信 息 可 用 , 因 此 合成的丟失包效果最好,但計算量也最大。 在 webrtc neteq 中丟包隱藏技術(shù)是與編解碼器相關(guān)的,下面簡要介紹一下ilbc 編解碼器的丟包隱藏技術(shù)。 ilbc 全稱為 internet low bit rate codec,是 gips 開發(fā)的一種專
48、為包 交換網(wǎng)絡(luò)通信設(shè)計的編解碼, 它是低比特率 (8khz ) 的解碼器, 在丟包時具有的強大的健壯性。ilbc 提供的語音 音質(zhì)等同于或超過 g.729 和 g.723.1 , 并比其它低比特率的16編碼解碼器更能阻止丟包 。 ilbc 采用 8khz 采樣率, 有 30 毫秒和 20 毫秒兩種編碼的格式, 并以 13.3kb/s(每幀 30 毫秒) 和 15.2kb/s (每幀 20 毫秒) 速度運行, 很適合撥號連接。 本文對neteq 的研究主要基于 每幀 30 毫秒的情況進行。 ilbc 的丟包隱藏只是在解碼端進行處理, 即在解碼端根據(jù)收到的比特流 逐幀進行解碼的過程中,ilbc 解
49、碼器首先拿到每幀的比特流時判斷當前幀是否完整,如 果 沒 有問 題 則按 照 正常 的 ilbc 解 碼 流 程重 建 語 音信 號 ,如 果 發(fā)現(xiàn) 語 音 數(shù)據(jù) 包丟失,那么就進入 plc 單元進行處理。 ilbc 的丟包隱藏技術(shù)屬于基于重構(gòu)的方法, 并采用基于模型恢復(fù)法產(chǎn)生補償包,其具體步驟如下: 重建線性預(yù)測系數(shù) (lpc ) , 即采用了過去幀 的最后一個子幀的 lpc 系數(shù)來重建。因為無論從空間上還是時間上最后一個子幀都與當前丟失的 lpc 具有最相關(guān)性。但是這種簡單的復(fù)制在處理連續(xù)多幀時,也顯然會引入更大的失真。 重 建 殘 差 信 號 。 殘 差 信 號 通 常 可 以 分 為
50、兩 部 分 組 成 : 準 周 期 成 分 和 類 噪聲成 分 , 其 中 準 周 期 成 分 可 以 根 據(jù) 測 量 前 一 幀 的 基 音 周 期 來 近 似 得 到 , 類 噪 聲 成 分則 可 以 通 過 產(chǎn) 生 隨 機 噪 聲 得 到 , 二 者 的 能 量 比 例 也 可 以 借 鑒 前 一 幀 的 比 例 關(guān) 系 。因 此 , 首 先 要 對 前 一 幀 進 行 基 音 檢 測 , 然 后 以 基 音 同 步 的 方 式 重 建 丟 失 幀 的 話 音部分,接著利用相關(guān)性得到類噪聲的增益,最后進行混合以重建整個殘差信號。dsp12 webrtc 語音引 擎 中 neteq 技術(shù)
51、的研 究 在連續(xù) 丟幀的 情況下 ,plc 所 補償?shù)?各個 語音幀具 有相同 的頻譜 特性(相同的 lpc 造成)和基音頻率,為了減少各個補償幀之間的相關(guān)性,會將能量進行逐幀遞減。 2.2.3 neteq 模塊簡介 neteq 模塊主要包含 mcu 和 dsp 兩大處理 單元、音頻解碼器模塊以及抖動緩沖區(qū)(packet/jitter buffer ) 和語音緩沖區(qū)(speech buffer ) (如圖 2.5 所示) 。 neteq 模 塊mcu 模塊dsp 模 塊packet /jitterbuffer解碼 緩沖 區(qū)解碼器加 慢 正 融 丟共享 內(nèi)存處速 速 常 合 包 理neteq 算
52、 法緩 沖區(qū) speech bufferplay buffer寄存 器 數(shù) 據(jù)流圖2.5 neteq 模 塊框 圖 上圖中,mcu (micro control unit )模塊是 抖動緩沖區(qū)的微控制單元,由于抖動緩沖區(qū) 作用是暫存接收到的數(shù)據(jù)包, 因此 mcu 的主要作用是安排數(shù)據(jù)包的插入 并 控 制 數(shù) 據(jù) 包 的 輸 出 。 數(shù) 據(jù) 包 的 插 入 主 要 是 確 定 來 自 網(wǎng) 絡(luò) 的 新 到 達 的 數(shù) 據(jù) 包 在緩 沖 區(qū) 中 的 插 入 位 置 , 而 控 制 數(shù) 據(jù) 包 的 輸 出 則 要 考 慮 什 么 時 候 需 要 輸 出 數(shù) 據(jù) , 以及輸出哪一個插槽的數(shù)據(jù)包。抖動消除的算法思路在 mcu 控制模塊中得以體現(xiàn)。 dsp 模塊主要負責(zé)對從 mcu 中提取出來的 pcm 源數(shù)據(jù)包進行數(shù)字信號處理,包括解碼、 信號處理、 數(shù)據(jù)輸出等幾個部分。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛借用與押金退還管理合同范本
- 拆遷安置補償與房屋買賣服務(wù)合同
- 搜索能力面試題及答案
- 小學(xué)京劇面試題及答案
- 掌握技巧面試題及答案
- 虛擬貨幣財產(chǎn)抵押借款反擔(dān)保合同模板
- 嵌入式協(xié)議面試題及答案
- 營銷團隊管理技巧自我介紹
- 外科自考試題及答案
- 噴漆考試題大題及答案
- GB/T 30425-2025高壓直流輸電換流閥水冷卻設(shè)備
- 河南省洛陽市東方第二中學(xué)2025屆八下物理期末統(tǒng)考試題含解析
- 2025春季學(xué)期國家開放大學(xué)本科《國際私法》一平臺在線形考(形考任務(wù)1至5)試題及答案
- 風(fēng)電運維安全培訓(xùn)內(nèi)容課件
- 保密人員面試題及答案
- 體育設(shè)備采購項目方案投標文件(技術(shù)方案)
- 烘焙技巧培訓(xùn)課程行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 軟件質(zhì)量標準與檢驗指南
- 經(jīng)前期綜合征課件
- DB35T 2192-2024河湖智慧監(jiān)管體系構(gòu)建導(dǎo)則
- 2024年秋新魯科版三年級上冊英語 Unit 1 lesson 1 教學(xué)課件
評論
0/150
提交評論