【畢業(yè)學(xué)位論文】(Word原稿)基于JAVA的語音傳輸軟件的設(shè)計與實現(xiàn)-軟件工程_第1頁
【畢業(yè)學(xué)位論文】(Word原稿)基于JAVA的語音傳輸軟件的設(shè)計與實現(xiàn)-軟件工程_第2頁
【畢業(yè)學(xué)位論文】(Word原稿)基于JAVA的語音傳輸軟件的設(shè)計與實現(xiàn)-軟件工程_第3頁
【畢業(yè)學(xué)位論文】(Word原稿)基于JAVA的語音傳輸軟件的設(shè)計與實現(xiàn)-軟件工程_第4頁
【畢業(yè)學(xué)位論文】(Word原稿)基于JAVA的語音傳輸軟件的設(shè)計與實現(xiàn)-軟件工程_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

碩 士 專 業(yè) 學(xué) 位 論 文 基于 語音傳輸軟件的設(shè)計與實現(xiàn) 圖分類號: 學(xué)校代碼: 10055 密級: 摘要 - I - 摘 要 隨 著計算機 與 網(wǎng)絡(luò)信息傳輸技術(shù)的快速 發(fā)展 , 利用網(wǎng)絡(luò)來傳輸多媒體信號技術(shù)越來越受到 人們的重視,它最具有的特點 是 最大化的利用計算機網(wǎng)絡(luò) ,提供更多、更好的服務(wù)。 其中利用網(wǎng)絡(luò)進(jìn)行音頻通話是一個典型的網(wǎng)絡(luò)服務(wù)。 本文主要介紹了當(dāng)前網(wǎng)絡(luò)的特征、語音傳輸技術(shù)的背景、發(fā)展現(xiàn)狀和自己的設(shè)計思想與具體實現(xiàn)。先對網(wǎng)絡(luò)的一些已經(jīng)成熟的技術(shù)和方法進(jìn)行了簡要介紹。在對基礎(chǔ)知識和背景進(jìn)行概括了解后,深入研究語音傳輸在網(wǎng)絡(luò)上的一些相關(guān)特性和能影響語音傳輸質(zhì)量的因素,如時延、抖動等。之后對傳輸模塊進(jìn)行了重點的分析,并分別對使用不同協(xié)議的傳輸進(jìn)行了研究,并提出了自己的基于緩沖池的構(gòu)想。 本設(shè)計的主要目標(biāo)是設(shè)計開發(fā)一個能在局域網(wǎng)內(nèi)進(jìn)行語音通話的軟件??紤]到局域網(wǎng)內(nèi)的帶寬要求,軟件要求通過 種協(xié)議模式來進(jìn)行語音傳輸,加入了文件傳輸 功能。同時由于是語音通信,所以要對一些語音選項進(jìn)行控制,如發(fā)送端和接收端的音量大小、波形、麥克風(fēng)音量等進(jìn)行控制。并且 為了適應(yīng)網(wǎng)絡(luò)抖動等一些復(fù)雜的環(huán)境, 設(shè)置一個發(fā)送端和接收端的數(shù)據(jù)緩沖池,使用戶能夠自己調(diào)節(jié)緩沖池大小 以達(dá)到對通話具有延遲緩沖的效果 。最后進(jìn)行性能測試和分析。 該設(shè)計利用 進(jìn)行編寫,具有很好的跨平臺性和可用性。 關(guān)鍵詞 : 時延 ;模塊化;緩沖池 ; is of At IP is a of of s a of in a of as is to be on of is of is to a a CP DP to be to as of To of at is at to an A is at to is It on 錄 - 目 錄 第一章 緒論 . 1 第一節(jié) 引言 . 1 第二節(jié) 相關(guān)技術(shù)背景 . 1 景與發(fā)展現(xiàn)狀 . 1 絡(luò)結(jié)構(gòu)與傳輸特性 . 2 常見的網(wǎng)絡(luò)協(xié)議 . 2 音頻技術(shù) . 5 第二章 語音信號的網(wǎng)絡(luò)傳輸分析 . 9 第一節(jié) 音頻信號特性 . 9 第二節(jié) 音頻報文分組傳輸 . 9 第三節(jié) 網(wǎng)絡(luò)傳輸影響 . 10 延 . 10 絡(luò)抖動 . 11 包 . 12 絡(luò)擁塞 . 13 第四節(jié) 基于 議的傳輸 . 15 第五節(jié) 基于 議的傳輸 . 15 第三章 概要設(shè)計 . 17 第一節(jié) 設(shè)計目標(biāo) . 17 第二節(jié) 需求簡述 . 17 輸操作方面 . 17 音設(shè)置方面 . 18 接設(shè)置方面 . 18 行環(huán)境 . 18 第三節(jié) 模塊劃分與流程 . 18 第四節(jié) 模塊分析 . 21 目錄 - 絡(luò)傳輸模塊 . 21 音設(shè)置模塊 . 22 數(shù)設(shè)置模塊 . 22 制模塊 . 23 第五節(jié) 緩沖池管理與作用 . 24 第四 章 詳細(xì)設(shè)計與關(guān)鍵代碼實現(xiàn) . 25 第一節(jié) 界面設(shè)計 . 25 第二節(jié) 網(wǎng)絡(luò)傳輸模塊 . 27 輸接口的關(guān)鍵部分實現(xiàn) . 28 象類關(guān)鍵部分實現(xiàn) . 28 輸關(guān)鍵部分實現(xiàn) . 29 件傳輸關(guān)鍵部分實現(xiàn) . 31 第三節(jié) 語音處理模塊 . 31 音采集及格式 . 31 音數(shù)字化處理 . 33 頻還原 . 34 第四節(jié) 控制模型模塊 . 35 控制模型關(guān)鍵部分實現(xiàn) . 36 話控制模型關(guān)鍵部分實現(xiàn) . 37 第五節(jié) 緩沖池模塊 . 38 第五章 功能測試及分析 . 39 第一節(jié) 測試準(zhǔn)備 . 39 第二節(jié) 測試方法 . 40 第三節(jié) 測試結(jié)果 . 41 音傳輸時延 . 41 動測試 . 41 均意見測試 . 42 第四節(jié) 測試結(jié)果分析 . 43 第六章 結(jié)束語 . 44 參 考 文 獻(xiàn) . 45 目錄 - V - 致 謝 . 47 第一章 緒論 - 1 - 第一章 緒論 第一節(jié) 引言 在網(wǎng)絡(luò)通信科技不斷發(fā)展的今天 , 利用 網(wǎng)絡(luò) 進(jìn)行多媒體信息傳輸具有越來越重要的意思。其中利用網(wǎng)絡(luò)進(jìn)行音頻通話是一個典型的網(wǎng)絡(luò)服務(wù)。 通過網(wǎng)絡(luò)來進(jìn)行音頻信號的傳輸,首先利用相應(yīng)的語音加密和 壓縮算法對通過多媒體設(shè)備采集到的音頻信號進(jìn)行技術(shù)處理。隨后把這些處理后的音頻包通過 接收方接到這些數(shù)據(jù)后按同樣的音頻處理算法進(jìn)行信號還原。該過程利用了多媒體信號采集、處理,及網(wǎng)絡(luò)傳輸?shù)燃夹g(shù)。 本 設(shè)計利用 行程序開發(fā)。第一, 有非常好的跨平臺性和可使用性。第二 , 有完善的類庫,可以方便的使用。 本設(shè)計主要需要解決的是 音頻信號采集壓縮和利用計算機網(wǎng)絡(luò)進(jìn)行音頻包傳輸這兩個方面的問題,按照以下三個步驟依次進(jìn)行: 語音網(wǎng)絡(luò)傳輸 第一步驟中, 首先雙方要進(jìn)行網(wǎng)絡(luò)互聯(lián),并且要建立 信 。在通信之前需要有協(xié)商過程。用戶必須要有一個用于監(jiān)聽的端口。 在結(jié)束時 通過協(xié)商好的方式,斷開連接;其次,在多媒體信號處理過程中, 我們要處理 多媒體信號的采集碼率的問題,常用的音頻碼率有 32、 64, 利用 不同的碼率 所采集的多媒體信號大小是不用的。碼率 越高數(shù)據(jù)越大,對網(wǎng)絡(luò)的要求也就越高。 對于緩沖池的處理,需要 在發(fā)送端和接收端各設(shè)計一個緩沖池,用于音頻數(shù)據(jù)信號的緩沖,減少抖動和網(wǎng)絡(luò)擁塞。此緩沖池的設(shè)計使用了 對 設(shè)置緩沖大小的方法。所以設(shè)計緩沖池,對緩沖池進(jìn)行設(shè)置是一個關(guān)鍵。 第二節(jié) 相關(guān)技術(shù)背景 景與發(fā)展現(xiàn)狀 語音傳輸是一種以 主,并推出相應(yīng)增值服務(wù)的技術(shù)。其最大的優(yōu)勢是能廣泛地采用 網(wǎng)絡(luò)互連的環(huán)境,提供更多、更好的服務(wù)。它把語音進(jìn)行壓縮編碼、打包分組、分配路由、存儲交換、解包解壓等交換處理在 或互聯(lián)網(wǎng)上實現(xiàn)語音通信。 第一章 緒論 2 絡(luò) 結(jié)構(gòu) 與傳輸特性 網(wǎng)絡(luò) 使用自適應(yīng)的路由機制來支持在計算機之間傳送數(shù)據(jù) 包,表 自適應(yīng) 就是 根據(jù)實時的網(wǎng)絡(luò)情況來自動的選擇鏈路效果最好的一條路由。因為 組 ,所以不用擔(dān)心報文達(dá)到時間前后的問題。下表是不同的機制和相應(yīng)的效果。 表 網(wǎng)絡(luò)傳輸特性 機 制 效 果 自適應(yīng)選路 報文傳輸?shù)穆酚刹煌?,?議可以復(fù)原重組 無連接 雙方無固定鏈路 “盡力而為” 如果發(fā)生問題,可能有信息丟失 常見 的網(wǎng)絡(luò) 協(xié)議 圖 協(xié)議關(guān)系圖 議的全稱是網(wǎng)絡(luò)互連協(xié)議( 或稱網(wǎng)際協(xié)議 2。通過議可以統(tǒng)一實現(xiàn)網(wǎng)絡(luò)層的邏輯功能,即各類互不兼容的數(shù)據(jù)鏈路層之上實 一章 緒論 3 現(xiàn)一種最大范圍的邏輯網(wǎng)絡(luò)。它屏蔽了各種具體的數(shù)據(jù)鏈路層的功能特點,將其變換為統(tǒng)一的網(wǎng)絡(luò)層服務(wù),作為結(jié)果的邏輯網(wǎng)絡(luò)。 提供可靠的傳輸服務(wù),它不提供端到端的或(路由)結(jié)點到(路由)結(jié)點的確認(rèn),對數(shù)據(jù)沒有差錯控制,它只使用報頭的校驗碼,它不提供重發(fā)和流量 控制。 本節(jié) 還介紹 一些常用的網(wǎng)絡(luò)協(xié)議。 圖 示了 相關(guān) 協(xié)議體系。 議 議最早是由 1974 年提出的,它的標(biāo)準(zhǔn)文檔 發(fā)布于 1981 年。 一個非常復(fù)雜的傳輸層協(xié)議,這是因為它具有面向連接、可靠以及提供流量控制和擁塞控制等特性。 圖 首部格式 塊提供強制性傳輸(立即傳輸)和緩沖傳輸兩種手段。緩沖傳輸允許將應(yīng)用程序的數(shù)據(jù)流積累到一 定的體積,形成報文,再進(jìn)行傳輸。 塊提供滑動窗口機制,支持收發(fā) 塊之間的端到端流量控制。 P 協(xié)議最初是為提供非實時數(shù)據(jù)業(yè)務(wù)而設(shè)計的。 議負(fù)責(zé)主機之間的數(shù)據(jù)傳輸,不進(jìn)行檢錯和糾錯。因此經(jīng)常發(fā)生數(shù)據(jù)丟失或失序現(xiàn)象。為保證數(shù)據(jù)的可靠傳輸,人們將 議用于 據(jù)的傳輸,提高接收端的檢錯、糾錯能力。當(dāng)檢測到數(shù)據(jù)包丟失或錯誤時,要求發(fā)送端重新發(fā)送,但這樣不可避免地引起傳輸延時和耗用網(wǎng)絡(luò)帶寬。因此傳統(tǒng)的 P 協(xié)議傳輸實時音頻、視源 址 目的 址 00000000 協(xié)議 =17 報文長度 第一章 緒論 4 頻數(shù)據(jù)的能力較差。當(dāng)然在局域網(wǎng)中傳輸視頻和音頻數(shù)據(jù)時, 是一種很好的選擇,因為有足夠大的緩沖區(qū),和充足的網(wǎng)絡(luò)帶寬。 大特點是在出現(xiàn)網(wǎng)絡(luò)抖動、丟包等情況下要求發(fā)送方重新發(fā)送報文,具有重傳機制。 議 一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議,用來在網(wǎng)絡(luò)環(huán)境中提供包交換的計算機通信 6。它的標(biāo)準(zhǔn)文檔是 是一篇 1980 年頒布的文檔。到目前為止, 乎沒有發(fā)生過變化,充分說明了它的生命力。 認(rèn)認(rèn)為網(wǎng)際協(xié)議( 其下層協(xié)議,提供了向另一用戶程序發(fā)送信息的最簡便的協(xié)議機制。 議的提點主要有兩點: 第一, 無連接的, 有連接的。 第二, 保證數(shù)據(jù)的可靠傳輸,而 證數(shù)據(jù)的可靠傳輸。 圖 報文格式。 圖 把應(yīng)用層的程序傳給 是并不保證它們能夠到達(dá)目的地。由于缺乏可靠性,我們似乎覺得要避免使用 是事實上由于 得在對數(shù)據(jù)的實時性要求較高的應(yīng)用場合,或者網(wǎng)絡(luò)狀況很差的情況下變得不是那么的適合。而此時 得更加適合,當(dāng)由于網(wǎng)絡(luò)擁塞或者抖動導(dǎo)致某些數(shù)據(jù)報不能及時到達(dá)時,應(yīng)用程序就選擇簡單地丟棄它,使得后面的數(shù)據(jù)報能夠及時地到達(dá)。 在語音傳輸中,由于語音數(shù)據(jù)的傳輸量非常大,對語音的實時性要求也非源 址 目的 址 00000000 協(xié)議 =17 報文長度 第一章 緒論 5 常高,因此傳輸協(xié)議通常使用的是 音頻 技術(shù) 我們的語言都是通過聲音來傳播,多媒體設(shè)備例如麥克風(fēng)等對這些聲音進(jìn)行 模擬信號 采集,把 模擬信號 轉(zhuǎn)換成計算機可以識別的計算機信號,然后計算機再對這些麥克風(fēng)采集到的信號進(jìn)行相應(yīng)處理,使這些信號編碼成計算機內(nèi)部的多媒體軟件可以識別播放的音頻編碼方式,這就 是采集過程。而我們的多媒體軟件例如 放器等讀取這些編碼好的數(shù)據(jù)后,再把這些編碼數(shù)據(jù)轉(zhuǎn)換成計算機信號傳輸至多媒體設(shè)備,例如影響、功放等 ,在轉(zhuǎn)換成我們?nèi)祟惪梢宰R別的聲音,這就是播放過程。 不同的編碼方式對應(yīng)不同的語音格式,而語音格式的不同對應(yīng)的數(shù)據(jù)量和音頻質(zhì)量也不同。一般來講高的編碼方式處理后的音頻格式數(shù)據(jù)量大,相應(yīng)的還原成 聲音信號后質(zhì)量也就越好,但是通過網(wǎng)絡(luò)傳輸時,網(wǎng)絡(luò)的負(fù)載也會很大,對網(wǎng)絡(luò)的要求也就越高;低的編碼方式處理后的音頻格式數(shù)據(jù)量較小,對應(yīng)的還原成聲音后質(zhì)量也就對著變低,同時進(jìn)行網(wǎng)絡(luò)傳輸時對網(wǎng) 絡(luò)的要求也就越低。因此選擇正確的編碼方式,對數(shù)據(jù)量的采集、網(wǎng)絡(luò)傳輸負(fù)載的大小、還原后的質(zhì)量是非常重要的。 對采集后編碼后的信號壓縮技術(shù)也很重要,一般分為無損和有損兩種壓縮技術(shù)。采用不同的壓縮技術(shù),對應(yīng)不用的壓縮比例。這也是個重要環(huán)節(jié)。 一個底層 有良好的調(diào)性,它可以實現(xiàn)對各種音頻信號的編碼和解碼。 基本結(jié)構(gòu) 虛線表示對 使用 11,虛線以上是采集信號的多媒體設(shè)備,虛線以下是相應(yīng)的音頻編碼、解碼的處理。 圖 基本結(jié)構(gòu)。 第一章 緒論 6 圖 系結(jié)構(gòu) 混頻 處理 圖 16。 在接收各種不同的音頻輸入設(shè)備后,對這些信號進(jìn)行混頻處理,最后得到相應(yīng)的數(shù)字化編碼。 圖 示出了 比較常用的類、接口,并描述了他們之間的關(guān)系,所有的類、接口都通過 個基本接口統(tǒng)一起來。 音樂播放 話 游 戲 基于 實現(xiàn) 件 第一章 緒論 7 圖 頻器 圖 常用的 克 n 音箱 耳機 口 端口 頻器 頻器 出到應(yīng)用軟件 從應(yīng)用軟件輸入 第一章 緒論 8 據(jù)編碼 不同的編碼方式對應(yīng)不同的語音格式,而語音格式的不同對應(yīng)的數(shù)據(jù)量和音頻質(zhì)量也不同。一般來講高的編碼方式處理后的音頻格式數(shù)據(jù)量大,相應(yīng)的還原成聲音信號后質(zhì)量也就越好,但是通過網(wǎng)絡(luò)傳輸時,網(wǎng)絡(luò)的負(fù)載也會很大,對網(wǎng)絡(luò)的要求也就越高;低的編碼方式處理后的音頻格式數(shù)據(jù)量較小,對應(yīng)的還原成聲音后質(zhì)量也就對著變低,同時進(jìn)行網(wǎng)絡(luò)傳輸時對網(wǎng)絡(luò)的要求也就越低。因此選擇正確的編碼方 式,對數(shù)據(jù)量的采集、網(wǎng)絡(luò)傳輸負(fù)載的大小、還原后的質(zhì)量是非常重要的。第二章 語音信號的網(wǎng)絡(luò)傳輸分析 - 9 - 第二章 語音信號的網(wǎng)絡(luò) 傳輸分析 第一節(jié) 音頻信號特性 音頻 信號 的網(wǎng)絡(luò)傳輸 與數(shù)據(jù)信號 的傳輸 對 網(wǎng)絡(luò)的要求區(qū)別很大。數(shù)據(jù)信息的傳輸對實時性要求不高,但是對可靠性要求非常高,一般通過 議來進(jìn)行傳輸。而音頻信號的網(wǎng)絡(luò)傳輸,對音頻信號的實時性要求很嚴(yán),但是對傳輸過程中的丟包等可靠性要求不太高。 有研究表明,當(dāng)我們音頻信號在網(wǎng)絡(luò)傳輸過程中丟包到 25%時,在接收方還原后語音失真度不到 4%18,基本不會影像我們的表達(dá)。 為了確保語音的質(zhì)量,不會 因為網(wǎng)絡(luò)抖動、瞬斷等原因造成聲音中斷,本次設(shè)計 在發(fā)送方和接收方兩端各設(shè)置了一個數(shù)據(jù)延遲緩沖池。用戶可以自行調(diào)整緩沖池的大小。在網(wǎng)絡(luò)狀況比較好的時候,可以直接發(fā)送,在網(wǎng)絡(luò)狀況不太好的時候可以先將數(shù)據(jù)放入到發(fā)送放緩沖池當(dāng)中,待網(wǎng)絡(luò)情況好了之后再發(fā)送出去。接收方因為有了語音緩沖池,收到的數(shù)據(jù)先放入緩沖池中,在網(wǎng)絡(luò)情況不好的時候 是 先從緩沖池中讀取已經(jīng)接收到的數(shù)據(jù)播放,以達(dá)到語音持續(xù)播放的特性。 同時需要注意 的是緩沖池不能設(shè)置過于太大,過于大會對語音的實時性造成影響,例如 發(fā)送方說了一段話,而接收方在 10 秒后才收到,這 對通話的質(zhì)量造成不好影響。 第二節(jié) 音頻報文 分組傳輸 既然我們已經(jīng)對 網(wǎng)絡(luò) 的特性以及 一些 可以 現(xiàn)在考慮如何 其 使支持語音業(yè)務(wù)。 分組傳輸?shù)年P(guān)鍵主要考慮以下三個關(guān)鍵因素 8:( 1)分組時延; ( 2)帶寬要求;( 3) 計算量。 分組時延描述數(shù)據(jù)包從發(fā)送方傳到接收方所需的時間。應(yīng)該了解分組時延兩方面的內(nèi)容。第一方面是指數(shù)據(jù)包從發(fā)送方到接收方需要多長時間。第二方面是指數(shù)據(jù)包到達(dá)接收方時間的變化。這種時延的變化叫做時延抖動。 第二個因素是支持語音和視頻傳輸需要多少帶寬。帶寬的計算除了要考慮第二章 語音信號的網(wǎng)絡(luò)傳輸分析 10 表示語音 信號所需要的比特外還要考慮傳輸語音信號所需首部開銷(協(xié)議控制信息)所占的比特。至少,這些開銷要包括 及語音編碼器所生成的首部。所有這些首部開銷加起來占了語音數(shù)據(jù)包中的很大一部分,在有足夠帶寬支持之前,這些協(xié)議控制信息對網(wǎng)絡(luò)來說是很大的帶寬消耗 。 第三個因素是網(wǎng)絡(luò)中每一主機所要負(fù)擔(dān)的支持語音編解碼和傳輸?shù)挠嬎懔?。計算量是指支持音頻應(yīng)用業(yè)務(wù)所涉及到的計算開銷和復(fù)雜度。簡而言之,就是支持這一應(yīng)用所需的 秒百萬條指令)數(shù)及內(nèi)存大小,也就是語音編解碼 器的復(fù)雜度和開銷。 第三節(jié) 網(wǎng)絡(luò)傳輸 影響 音頻報文在網(wǎng)絡(luò)傳輸?shù)倪^程中會由于網(wǎng)絡(luò)的不同情況出現(xiàn)丟包、延遲等不同現(xiàn)象,對語音的傳輸質(zhì)量造成不好影響。有時候甚至?xí)l(fā)生中斷現(xiàn)象。以下就針對抖動、丟失報文等不同的情況進(jìn)行深入討論。 延 時延 就是指從發(fā)送方發(fā)出聲音到接收方聽到聲音所需要的時間。 一般人們能忍受小于 250時延,若時延太長,會使通信雙方都不舒服。此外,時延還會造成回波,時延越長所需的用于消除回波的計算機指令的時間就越多。傳送時延由 路由情況決定 ,如果在低速信道或信道太擁擠 時,可能會導(dǎo)致長時間時延 的情況。 單向延遲是指語音發(fā)送端的一個聲音樣本在通過話筒采樣后,到達(dá)接收端被播放出來之前這一時間間隔。降低系統(tǒng)延遲可以通過提高語音壓縮技術(shù)、增加帶寬、提供更快的傳輸路由等方法加以解決。 時延主要產(chǎn)生的影響是回音和通話體驗時間。時延太大會產(chǎn)生回音,影響通話質(zhì)量。同時由于發(fā)出的聲音不會立刻到達(dá)對方,給說話人造成對方未收到的錯覺,會不斷詢問對方,而對方在收到后也會回應(yīng),造成通話的混亂。一般時延參數(shù)對普通電話呼叫的影響 3小于 25,影響較??; 150 400間用戶基本可以接受 ;超過 400會話質(zhì)量造成嚴(yán)重影響,用戶大多無法接受。 第二章 語音信號的網(wǎng)絡(luò)傳輸分析 11 時延主要由編碼時延、解碼時延、緩存時延和網(wǎng)絡(luò)時延等部分組成。 圖 時延分解模型 絡(luò) 抖動 網(wǎng)絡(luò)傳輸中出現(xiàn)抖動也會對音頻信號傳輸造成影響。我們連續(xù)發(fā)出的聲音,被采集之后進(jìn)行音頻編碼,然后通過相應(yīng)網(wǎng)絡(luò)協(xié)議進(jìn)行封裝打包,此處會把一段連續(xù)聲音打包成許多段網(wǎng)絡(luò)信號,通過網(wǎng)絡(luò)傳輸給對方 。一般情況下網(wǎng)絡(luò)包是等時間間隔傳輸出去并且到達(dá)接收方,如 果傳輸過程中出現(xiàn)網(wǎng)絡(luò)抖動等情況每個包的到達(dá)時間會發(fā)生變化,一旦這個時間偏離較大就會對正常的聲音重現(xiàn)產(chǎn)生較大影響。一般我們在發(fā)送端或者接收端設(shè)置緩沖以達(dá)到減少抖動的效果。 通過研究,我們發(fā)出的包大多會順利到達(dá),我們假設(shè)在某次音頻傳輸過程中,網(wǎng)絡(luò)傳輸時間最短的值為固定傳輸值 4,即: n, 來表示音頻包的時延時間,故每個包的時間抖動為 X |某 段時間內(nèi)最大的時延抖動 J= 某 段時間內(nèi)平均時延抖動 M=E( 平均時延抖動也稱為平均排隊時延,可以 用來確定消除抖動的緩沖區(qū)大小。 處理抖動的方法 在接收方的網(wǎng)關(guān)設(shè)置抖動緩沖區(qū)( 收集、重組和平滑播放語音包以重現(xiàn)原始話音。為了在最小化緩沖區(qū)(緩沖區(qū)等待寫滿編碼時延 輸時延 沖時延 碼時延 碼器 絡(luò) 緩沖隊列 解碼器 第二章 語音信號的網(wǎng)絡(luò)傳輸分析 12 會增加系統(tǒng)延時,所以緩沖區(qū)要小 )和避免緩沖區(qū)下溢兩個沖突的目標(biāo)中取得平衡,必須小心調(diào)整緩沖區(qū)的尺寸。 包 網(wǎng)絡(luò)傳輸中另外一個比較重要的是丟包現(xiàn)象 。這里涉及到兩點 :( 1) 分組丟失的頻率 ;( 2) 有多少連續(xù)的分組受影響。 在對數(shù)據(jù)要求比較高的傳輸上,我們會使用 為 丟失的 包會要求發(fā)送方重傳。但在音頻傳輸中對此要求不太嚴(yán)格 。 遵循 則的 并不能保證將數(shù)據(jù)報正確遞送到目的端,實時語音傳輸一般用不保證可靠傳輸?shù)?議來傳送語音數(shù)據(jù)分組以提高傳輸?shù)膶崟r性。語音數(shù)據(jù)分組出現(xiàn)丟失情況時,如果是偶然一個數(shù)據(jù)丟失,上層應(yīng)用可以根據(jù)一定的機制恢復(fù)該數(shù)據(jù)分組,以保證語音質(zhì)量。當(dāng)出現(xiàn)連續(xù)分組丟失情況時,就會影響話音質(zhì)量。一般來說在語音傳輸中分組丟失率 3 5%是允許的。影響網(wǎng)絡(luò)分組丟失的原因有: ( 1)網(wǎng)絡(luò)擁塞。 所有的網(wǎng)絡(luò)報文都是通過一定的網(wǎng)絡(luò)路由一段一段傳輸?shù)?,?dāng) 某一短發(fā)生擁堵的時候就會出現(xiàn)數(shù)據(jù)溢出,造成報文的丟。例如出現(xiàn)大量下載的的時候,這個是不可避免的。 ( 2) 超時丟失。 根據(jù) 議為防止網(wǎng)絡(luò)報文進(jìn)入 死循環(huán), 我們在每個報文中加入時間戳進(jìn)行控,超過這個時間報文就會自動丟棄。因此如果報文在網(wǎng)絡(luò)傳輸過程中花費時間過長,超過了它的 o 就被會丟棄,從而造成丟包現(xiàn)象。 ( 3)傳輸損傷。網(wǎng)絡(luò)中由于傳輸設(shè)備出現(xiàn)損傷如線路斷裂等,會導(dǎo)致大量數(shù)據(jù)分組丟失。 有研究表明,當(dāng)我們音頻信號在網(wǎng)絡(luò)傳輸過程中丟包到 25%時,在接收方還原后語音失真度不到 4%18,基本不會影像我們的表達(dá)。 解決丟包的無好的辦法,主要方法是增大網(wǎng)絡(luò)帶寬、增大網(wǎng)絡(luò)設(shè)備的緩沖區(qū)、優(yōu)化路由表等。但是設(shè)計成本較大。 時延和丟包的關(guān)系如圖 示。 第二章 語音信號的網(wǎng)絡(luò)傳輸分析 13 圖 時延與丟包對服務(wù)質(zhì)量的影響 絡(luò)擁塞 當(dāng)在網(wǎng)絡(luò)中存在過多的報文時 ,網(wǎng)絡(luò) 性能會下降 , 這種現(xiàn)象稱為擁塞 7,如圖 。 擁塞發(fā)生的原因是“需求”大于“供給” 。 網(wǎng)絡(luò)中有限的資源由多個用戶共享使用 。 由于沒有“接納控制 ” 算法 , 網(wǎng)絡(luò)無法根據(jù)資源的情況限制用戶的數(shù)量 ; 缺乏中央控制 , 網(wǎng)絡(luò)也無法控制用戶使用資源的數(shù)量 。 當(dāng)負(fù)載較小時 , 吞吐量的增長和負(fù)載相比基本呈線性關(guān)系 , 延遲增長緩慢 ;在負(fù)載超過 后 , 吞吐量增長緩慢 , 延遲增長較快 ; 當(dāng)負(fù)載超過 后 , 吞吐量急劇下降 , 延遲急劇上升 。 可以看出 , 負(fù)載在 近時網(wǎng)絡(luò)的使用效率最高 。 擁塞控制就是網(wǎng)絡(luò)節(jié)點采取措施來避免擁塞的發(fā)生或者對擁塞的發(fā)生做出反應(yīng) 9。 在圖 就是使負(fù)載保持在 近 。 和流控制相比 , 擁塞控制主要考慮端節(jié)點之間的網(wǎng)絡(luò)環(huán)境 , 目的是使負(fù)載不超過網(wǎng)絡(luò)的傳送能力 ; 而流控制主要考慮接收端 , 目 的是使發(fā)送端的發(fā)送速率不超過接收端的接收能力 。 正如前面所說的, 時語音通信中包的丟失有兩個原因 10:( 1)因為路由器信中 的擁塞產(chǎn)生包丟失。( 2)在接收端如果包延時太久才到達(dá),就失可接受區(qū) 過渡區(qū) 不可接受區(qū) 0 5 10 丟包率( %) 0 200 400 單向時延 ( 第二章 語音信號的網(wǎng)絡(luò)傳輸分析 14 去了實時播放的意義,將會被丟棄。語音包的丟失將會嚴(yán)重影響語音質(zhì)量,差錯控制技術(shù)就是被用來在丟包情況下盡量恢復(fù)語音,改善語音傳輸質(zhì)量的。 圖 擁塞模型 到目前為止,人們?yōu)榱颂岣哒Z音業(yè)務(wù)的質(zhì)量已進(jìn)行了大量的研究,提出了各種解決方案,歸納起來,這些 方案可以分為兩類 12,第一類以改造網(wǎng)絡(luò)為中心,即試圖改造路由器和交換機來提供語音所需硬件環(huán)境,如集成服務(wù)、差別服務(wù)。第二類以設(shè)計端對端傳輸控制協(xié)議為中心,它通過使用端對端控制機制來控制語音流的控制傳輸,以得到最佳的語音效果,并保證網(wǎng)絡(luò)的合理利用。這類辦法無需改變網(wǎng)絡(luò)和硬件環(huán)境,立即就可以實行。 用線性加 指數(shù)減的擁塞窗控制機制進(jìn)行流控:當(dāng)沒有發(fā)現(xiàn)網(wǎng)絡(luò)擁塞時,它慢慢地增加擁塞窗的大小,使發(fā)送速率得以提高,當(dāng)發(fā)現(xiàn)擁塞時,它成倍減少擁塞窗的大小,以迅速減少發(fā)送速率,避免網(wǎng)絡(luò)崩潰。 于是沒有連接 的,提供不可靠的傳輸,所以它沒有提供很好的端對端的擁塞控制機制。但是在語音傳輸這樣一個不要求百分之百精確和低丟包率的條件下, 一種很好的傳輸選擇。 處理能力 相應(yīng)時間 二章 語音信號的網(wǎng)絡(luò)傳輸分析 15 為了使 種協(xié)議的擁塞控制都能夠很好的結(jié)合起來,我設(shè)計在發(fā)送端和接收端都設(shè)置兩個發(fā)送端緩沖池和接收端緩沖池。如圖 示。 緩 沖 池 緩 沖 池網(wǎng) 絡(luò)圖 緩沖池設(shè)計模型 當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞、阻塞的時候,可以把緩沖池的大小調(diào)整大點,這樣保證路由的暢通,也能保證語音數(shù)據(jù)能夠順利的達(dá)到目的地。付出的代價是語音信號 可能會在發(fā)送端有一些延遲,造成語音不同步。但是這個是在合理的接受范圍內(nèi),不會影響語音的最終效果。 第四節(jié) 基于 議 的 傳輸 根據(jù)對音頻信號網(wǎng)絡(luò)傳輸失效要求的情況,如果采用 議進(jìn)行傳輸具有良好的語音完整性。 首先 可靠的網(wǎng)絡(luò)傳輸協(xié)議。它提供面向連接的傳輸。在進(jìn)行傳輸前首先經(jīng)過三次握手,建立一條可靠的傳輸鏈路,然后再進(jìn)行 據(jù)傳輸。并且在處理過程中 議有防止報文丟失的處理過程,這點不同于 輸,它對每一個接收報文都進(jìn)行確認(rèn)處理,一旦發(fā)現(xiàn)有丟失現(xiàn)象,會立刻要求發(fā)送方進(jìn)行報文重傳,這 種機制會損耗一定的網(wǎng)絡(luò)開銷,但是保證報文傳輸。所以議 適合 用來 實現(xiàn) 軟件中的文件傳輸功能。 第五節(jié) 基于 議的 傳輸 文傳輸和 文傳輸?shù)牧鞒桃粯?。只是由于 無連接的、不可靠的傳輸,所以在傳輸?shù)倪^程中不需要獲取流對象。在雙方協(xié)商好之后直接可以向協(xié)商好的 發(fā)送語音信號數(shù)據(jù)就行。 第二章 語音信號的網(wǎng)絡(luò)傳輸分析 16 由于 議的特點造成它沒有流量控制繼承,而且也不保證數(shù)據(jù)報的可靠到達(dá)。所以可能因為缺乏可靠性,我們似乎覺得要避免使用 使用一種可靠協(xié)議如 。但是事實上由于 重傳機制,使得在 對數(shù)據(jù)的實時性要求較高的應(yīng)用場合,或者網(wǎng)絡(luò)狀況很差的情況下變得不是那么的適合。而此時 顯得更加適合,當(dāng)由于網(wǎng)絡(luò)擁塞或者抖動導(dǎo)致某些數(shù)據(jù)報不能及時到達(dá)時,應(yīng)用程序就選擇簡單地丟棄它,使得后面的數(shù)據(jù)報能夠及時地到達(dá)。而且經(jīng)過大量的驗證試驗得到 音信號傳送過程中的丟包率是在用戶的可接受范圍內(nèi),雖然可能會造成一點語音信號的損傷,但是不會聲音的最終解碼效果。 第三章 概要設(shè)計 - 17 - 第三章 概要設(shè)計 第一節(jié) 設(shè)計目標(biāo) 本設(shè)計的主要目標(biāo)是設(shè)計開發(fā)一個能在局域網(wǎng)內(nèi)進(jìn)行語音通話,并能夠進(jìn)行文件傳 輸?shù)能浖?。考慮到局域網(wǎng)內(nèi)的帶寬要求,軟件要求通過 種協(xié)議模式來進(jìn)行語音傳輸。同時由于是語音通信,所以要對一些語音選項進(jìn)行控制,如發(fā)送端和接收端的音量大小、波形、麥克風(fēng)音量等進(jìn)行控制。并且設(shè)置一個發(fā)送端和接收端的數(shù)據(jù)緩沖池,使用戶能夠自己調(diào)節(jié)緩沖池大小。 本設(shè)計利用 行程序開發(fā)。第一, 有非常好的跨平臺性和可使用性。第二 有完善的類庫,我們可以方便的使用。我們的軟件設(shè)計采用了 種協(xié)議。通信方式定位于端對端的通信,非 C/S 架構(gòu),無中心服務(wù)器。 本次設(shè)計著重考慮 了網(wǎng)絡(luò)傳輸方面,盡量做了簡化傳輸過程,將時延、抖動等方面帶來的影響降至最低,保證音頻信號的傳輸質(zhì)量。本設(shè)計的特點是設(shè)計發(fā)送端和接收端的緩沖池。 第二節(jié) 需求簡述 本設(shè)計的主要功能有: 輸操作方面 ( 1)語音通信:通過用戶輸入一個目的 址或者是主機名,對目的主機進(jìn)行主動連接,如果對方正在接受被動連接監(jiān)聽,并且同意接受連接,則雙方之間建立連接,連接方式和語音設(shè)置都按著默認(rèn)來設(shè)置。 ( 2)被動監(jiān)聽:用戶通過選擇來確定自己是否處于被動連接監(jiān)聽狀態(tài)。如果選擇,說明用戶現(xiàn)在處于被動連接監(jiān)聽狀態(tài),其他 用戶可以主動的對此用戶進(jìn)行連接,此用戶也可以選擇拒絕;如果不選擇說明用戶現(xiàn)在不處于被監(jiān)聽狀態(tài),其他用戶不可以對此用戶進(jìn)行連接。 第三章 設(shè)計概要 18 ( 3)文件傳輸:如果兩個用戶已經(jīng)建立網(wǎng)絡(luò)連接,則一個用戶可以向另一個用戶發(fā)送文件。文件發(fā)送前兩用戶也需要進(jìn)行協(xié)商。文件傳輸不支持文件夾傳輸。 音設(shè)置方面 ( 1)聲音采集裝置選擇:用戶可以選擇是采集哪個裝置的聲音??蛇x擇的有采集音箱的聲音(即所有從電腦音箱發(fā)出的聲音都采集),采集麥克風(fēng)的聲音,采集 放器的聲音。 ( 2)發(fā)送音量設(shè)置:用戶可以對發(fā)送音量進(jìn)行選擇控制,也 可以單獨對任何一個聲音采集設(shè)備的音量進(jìn)行控制。 ( 3)播放音量設(shè)置:用戶可以選擇播放裝置,如果波形、混響、 放器、麥克等,并可以對其音量進(jìn)行控制。 ( 4)緩沖池設(shè)置:用戶可以自己選擇發(fā)送端緩沖池大小和接收端緩沖池的大小來對語音質(zhì)量進(jìn)行調(diào)節(jié)。 接設(shè)置方面 ( 1)端口:用戶可以自己選擇連接的端口。 ( 2)連接類型:有兩種連接類型給用戶進(jìn)行選擇 式和 式,用戶可以自己根據(jù)網(wǎng)絡(luò)選擇。 ( 3)傳輸環(huán)境:默認(rèn)傳輸環(huán)境位局域網(wǎng)( 行環(huán)境 用戶終端主要是普通 ,要有 網(wǎng)卡(可以使無線網(wǎng)卡),要有聲卡和麥克,進(jìn)行聲音采集和播放。 可以再 P 和 系統(tǒng)下運行 。因為系統(tǒng)語言采用 以可以在不同平臺上運行。 第三節(jié) 模塊劃分與流程 根據(jù)設(shè)計需求,把系統(tǒng)劃分為五個主要模塊,分別有控制模型模塊、網(wǎng)絡(luò)傳輸模塊、語音設(shè)置模塊、參數(shù)設(shè)置模塊和界面設(shè)計模塊。 第三章 設(shè)計概要 19 網(wǎng)絡(luò)傳輸模塊主要是負(fù)責(zé)網(wǎng)絡(luò)連接操作和語音信號傳輸方面的功能。語音設(shè)置模塊主要是負(fù)責(zé)語音采集和信號轉(zhuǎn)化,還有語音方面設(shè)置的功能。參數(shù)設(shè)置模塊主要負(fù)責(zé)定義系統(tǒng)的一些參數(shù),如端口號、連接類型、緩沖區(qū)大小等。界面模塊主要是定義系統(tǒng)界面。控制模塊主要是用來控制傳輸模塊、語音模塊、參數(shù)模塊和界面模塊這四個模塊,來供系統(tǒng)操作。具體模塊劃分見圖 圖 模塊劃分 圖 本設(shè)計的處理模塊流程。 語 音 傳 輸 系 統(tǒng) 傳輸模塊 語音模塊 參數(shù)模塊 控制模塊 界面模塊 第三章 設(shè)計概要 20 聲 卡語 音 編 碼語 音 解 壓語 音 壓 縮語 音 解 碼協(xié) 議 ( T C P 或 U D P )封 裝協(xié) 議 解 封網(wǎng) 絡(luò) 接 收 或 發(fā) 送I P 、 網(wǎng) 絡(luò) 鏈 路圖 處理流程圖 通過網(wǎng)絡(luò)來進(jìn)行音頻信號的傳輸過程,首先利用相應(yīng)的語音加密和壓縮算法對通過多媒體設(shè)備采集到的音頻信號進(jìn)行技術(shù)處理。隨后把這些處理后的音頻包通過 協(xié)議發(fā)送給 音頻接收方。等接收方接到這些數(shù)據(jù)后首先解析網(wǎng)絡(luò)數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論