IP電話實時通信的實現(xiàn)課程設計_第1頁
IP電話實時通信的實現(xiàn)課程設計_第2頁
IP電話實時通信的實現(xiàn)課程設計_第3頁
IP電話實時通信的實現(xiàn)課程設計_第4頁
IP電話實時通信的實現(xiàn)課程設計_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 JISHOUUNIVERSITY專業(yè)課課程論文題題 目:目:IP 電話實時通信的實現(xiàn)作作 者:者:學學 號:號:所屬學院:所屬學院:信息科學與工程學院專業(yè)年級:專業(yè)年級:09 級計科 3 班總總 評評 分:分:完成時間:完成時間:吉首大學信息科學與工程學院吉首大學信息科學與工程學院 IP 電話實時通信的實現(xiàn)(吉首大學信息科學與工程學院,湖南 吉首 416000)摘 要隨著網(wǎng)絡技術的不斷發(fā)展,最近幾年,IP 電話技術突飛猛進,已從當初 PC 到 PC 的機連接方式發(fā)展到 IP 電話網(wǎng)關方式,通過 IP 電話網(wǎng)關可以將 PBX 與因特網(wǎng)連接起來,從而實現(xiàn)普通話機通過因特網(wǎng)進行通信。因此,IP 電

2、話網(wǎng)關是近年來計算機和通信領域中研究的一個熱點。IP 電話網(wǎng)關的一個最主要性能指標是它的處理密度(即能同時算是的話路數(shù))。而 IP 電話網(wǎng)關的處理密度主要取決于它所使用的語音編解碼器處理一幀數(shù)據(jù)的延遲大小。目前,IP 電話所遵循的標準是 H.323,而 H.323 標準首選語音編碼器是 ITU-T G.729.A。ITU-T G.729.A 是用于語音和其它聲音信號的壓縮編解碼算法建議,它是 G.729 的簡化版本,編碼速率為 8Kbps,并且有很高的語音質(zhì)量。關鍵詞:ITU-T G.729.A IP 電話 編碼器Implementation of real-time communicatio

3、n IP telephoneWuxin(College of Information Science and Engineering,Jishou University,Jishou,Hunan 416000)Abstract With the continuous development of network technology, in recent years, IP phone technology make a spurt of progress, from the original PC to PC machine connection to IP phone gateway, v

4、ia the IP telephone gateway can be PBX connected with the Internet, thereby realizing the Putonghua machine via the Internet in communication. Therefore, IP telephone gateway is in recent years in the field of computer and communications research hot spot. The IP telephony gateway to one of the most

5、 important performance index is its treatment of the density ( which can also be word number ). While the IP telephone gateway processing density depends mainly on the speech codec processing data of a frame delay size. At present, IP telephone follow the standard is H.323, and the H.323 standard IT

6、U-T G.729.A speech coder is preferred. ITU-T G.729.A is used for voice and other sound signal compression coding and decoding algorithm is proposed, which is a simplified version of G.729, coding rate of 8Kbps, and has a very high voice Quality. Key words:ITU-T G.729.A IP phone encoder目 錄第一章引言 .11.1

7、 課題背景及意義.11.2 課題研究現(xiàn)狀.11.3 研究內(nèi)容.21.4 論文組織方式.2第二章G.729 編解碼器實現(xiàn)的關鍵技術 .32.1 G.729 協(xié)議編解碼算法介紹.32.1.1G.729 編碼算法介紹 .32.2 G.729 編解碼器的實現(xiàn)關鍵技術.52.2.1 ITU-T G.729.A 編解碼器實現(xiàn)的硬件平臺 .52.2.2 ITU-T G.729.A 軟件模塊的設計 .52.2.3 ITU-T G.729.A 標準在 TMS320C6201 上實現(xiàn)的關鍵技術 .6第三章需求分析.73.1 功能需求.73.2 性能要求.8第四章概要設計.84.1 體系結(jié)構設計.94.2 數(shù)據(jù)結(jié)構

8、設計.9第五章詳細設計.115.1 系統(tǒng)功能模塊設計.115.1.1 音頻輸入輸出的實現(xiàn).125.1.2 數(shù)據(jù)的壓縮與排序.145.1.3 傳送和接收.165.2 用戶界面設計.17第六章測試及實現(xiàn)結(jié)果分析.19結(jié)束語.19參考文獻.20IP 電話實時通信的實現(xiàn)第一章 引言1第一章第一章引言引言1.1 課題背景及意義IP(Internet Protocol)電話是一種數(shù)字電話,是技術創(chuàng)新的一種通信服務業(yè)務。它把語音、壓縮編碼、打包分組、分配路由、存儲交換、解包解壓等交換處理在IP網(wǎng)或互聯(lián)網(wǎng)上實現(xiàn)語音通信。它促進了網(wǎng)絡資源利用,降低語音業(yè)務成本。因此在全球范圍內(nèi)得到了迅速的發(fā)展, 。IP電話的產(chǎn)

9、生Internet商業(yè)化以后,在全世界,特別是發(fā)達國家迅速發(fā)展起來。在一些國家(如美國)本地電話Internet接入采用包月制,不限時限量,因此Internet是近乎免費的(Free)的,人們都希望能通過這近乎免費的網(wǎng)絡進行傳統(tǒng)的電話和傳真服務。1995年2月以色列VocalTec公司研制出可以通過Internet網(wǎng)打長途電話的軟件產(chǎn)品Internet Phone。用戶只要在多媒體PC機上安裝該軟件,就可以通過Internet網(wǎng)和任何地方安裝同樣軟件的聯(lián)機用戶進行通話。這項技術上的突破引起全世界的矚目,其背后的無限商機也使許多公司進行此項技術的研究,從而使IP電話技術得到迅速發(fā)展,人們把這種在

10、Internet上實現(xiàn)電話業(yè)務稱為Internet電話,應該說是IP電話的雛形。經(jīng)過五年的發(fā)展,IP電話成為信息技術進步帶來的一項新型電話業(yè)務在全世界開展,并對傳統(tǒng)電話業(yè)務形成越來越大的威脅。IP電話從當初的PC到PC發(fā)展到今天的PC到PC、PC電話、電話到電話等多種業(yè)務形式,但不論是現(xiàn)在還是將來,IP電話可以說是當今世界上發(fā)展最快、普及最快的一門應用服務技術之一,也是計算機網(wǎng)絡界關注的熱點之一。1.2 課題研究現(xiàn)狀H.323是IP電話所遵循的標準,而H.323標準首選語音編碼器是ITU-T G.729.A。ITU-T G.729.A標準采用一種稱為共軛結(jié)構代數(shù)碼本激勵線性預測(Conjuga

11、te Structure Algebraic-Code-Excited Linear-Prediction,CS-ACELP)算法來對語音信號進行編碼。在開始編碼之前,先要對輸入的模擬信號進行電話帶濾波,然后以8kHz頻率對其進行采樣,再將其轉(zhuǎn)換為16位線性PCM碼,作為編碼器的輸入。編碼器處理語音的單位是幀,1幀為10毫秒語音,包括80個聲音樣本(采樣頻率為8kHz)。編碼器對每一幀語音信號進行分析,抽取出其中的CPLD模型的參數(shù)(線性預測濾器參數(shù)),自適應和固定碼本索引和IP 電話實時通信的實現(xiàn)第五章 詳細設計2增益),對這些參數(shù)進行編碼和傳送。但是該編碼器算法復雜,一幀語音處理延遲較大,

12、很大程度上影響了IP電話網(wǎng)關處理密度。 1.3 研究內(nèi)容G.729 協(xié)議使用的算法是共軛結(jié)構的算術碼本激勵線性預測(CS-ACELP),它基于CELP 編碼模型。由于 G.729 編解碼器具有很高的語音質(zhì)量和很低的延時,被廣泛地應用在數(shù)據(jù)通信的各個領域,如 IP phone 和 H.323 網(wǎng)上多媒體通信系統(tǒng)等20 世紀 90 年代以來,以 Internet 為代表的計算機網(wǎng)絡技術發(fā)展突飛猛進,促進了計算機網(wǎng)絡在社會各個領域的廣泛應用,而針對 G.729 的研究和優(yōu)化一直從未停息。例如:為了提高 IP 電話網(wǎng)關的處理密度,在實現(xiàn) ITU-T G.729.A 語音編解碼器時,采用了目前性能最好的

13、 DSP,即 TMS320C6201;針對 TMS320C6201 并行性和流水等特點,歸納出了一系列減少編解碼器處理延遲的優(yōu)化方法本文是基于 G.729.A 協(xié)議,采用 C+語言實現(xiàn)實時通信,并未針對 G.729.A 協(xié)議進行有話改進,因為本人技術,只是領域達不到那么高的層次,在結(jié)果中會對本人基于G.729.A 實現(xiàn)的實時通信和從網(wǎng)絡上找到的基于 TMS1.4 論文組織方式 首先,本論文從目前 IP 電話的產(chǎn)生開始,詳細研究了本課題的背景以及意義,由于目前我國的通信分別掌控的移動,聯(lián)通,電信三大巨頭手中,而通信費用一直是國人所普遍關注的話題,雖然目前位置,通信費用有所改善,但依舊是一個令人無

14、奈的地方,所以本人想就這個現(xiàn)狀,深入了解 IP 電話的實現(xiàn)原理,實現(xiàn)機制,能夠在未來開發(fā)屬于自己的網(wǎng)絡電話,做到真正的零費用。其次,在對本論文的背景有所了解的情況下,對本課題所必須的 ITU-T G.729.A 編解碼器實現(xiàn)的關鍵技術進行了介紹,主要是 G.729.A 協(xié)議編解碼算法介紹,G.729.A 編解碼器的實現(xiàn)。最后,在對所必須得基礎知識有所了解的情況下,按照各模塊的功能,分別詳細介紹了各個功能的實現(xiàn)過程。第二章第二章G.729G.729 編解碼器實現(xiàn)的關鍵技術編解碼器實現(xiàn)的關鍵技術IP 電話實時通信的實現(xiàn)第五章 詳細設計32.1 G.729 協(xié)議編解碼算法介紹 2.1.1G.729

15、編碼算法介紹電話線路上的模擬語音信號,經(jīng)話路帶寬濾波(符合 ITU-T G.712 建議)后,被 8kHz采樣,量化成 16bit 線性 PCM 數(shù)字信號輸入到編碼器。該編碼器是基于線性預測分析合成技術,盡量減少實際語音與合成語音之間經(jīng)聽覺加權后差分信號的能量為準則來進行編碼的。編碼器的結(jié)構主要部分有:線性預測分析和 LPC 系數(shù)的量化;開環(huán)基音周期估計;自適應碼本搜索;固定碼本搜索;碼本增益量化。下面分別描述這五部分的主要技術。線性預測分析與 LPC 系數(shù)的量化首先對信號進行加線性預測分析窗,分析窗由兩部分組成。第一部分是半個漢明窗,第二部分是四分之一個余弦信號。將加窗后的語音信號通過 Le

16、vinsonDurbin 算法獲得線性預測濾波器系數(shù) ai i=1.10。由于線譜對參數(shù)比線性預測系數(shù)具有更好的內(nèi)插特性和量化特性,G.729 將 LPC 參數(shù)轉(zhuǎn)換成相應的線譜對參數(shù),最后對線譜對參數(shù)進行量化。開環(huán)基音分析為了減少自適應碼本搜索的復雜度,需要計算開環(huán)基音 Top,使自適應碼本搜索在開環(huán)基音值附近進行。基音值的范圍在 18145 個樣本點之間。自適應碼本搜索G.729 對每個子幀進行閉環(huán)基音搜索,它通過最小化原始語音信號和重構語音信號的加權均方誤差來進行閉環(huán)基音搜索。對子幀的閉環(huán)基音 T1 的搜索是局限在開環(huán)基音 Top的一個小范圍內(nèi),對子幀的閉環(huán)基音 T2 的搜索是局限在閉環(huán)基

17、音的一個小范圍內(nèi)。這樣可以減少基音搜索的復雜度。固定碼本搜索IP 電話實時通信的實現(xiàn)第五章 詳細設計4G.729 固定碼本矢量含有四個非脈沖,每個脈沖的幅度要可以是+1 或-1。通過最小化加權語音信號和加權重構語音信號的均方誤差來進行固定碼本的搜索。增益量化G.729.A 對自適應碼本增益和固定碼本增益采用二級共軛結(jié)構碼本進行矢量量化。在碼本搜索時,采用預搜索策略,使得運算量只為全搜索算法的 1/4。 2.1.2 G.729解碼算法介紹G.729 的解碼也是按幀進行的,主要是對符合 G.729 協(xié)議的碼流進行解碼,得到相應的參數(shù),根據(jù)語音產(chǎn)生的機理,合成語音。解碼的方框圖如圖所示,其主要部分為

18、:參數(shù)解碼;后濾波處理。G.729 解碼過程如下。參數(shù)解碼首先解碼得到線譜對參數(shù),并將線譜對參數(shù)轉(zhuǎn)換為線性預測系數(shù)。然后解碼出基音周期,獲得自適應碼本矢量 V(n)。解碼出固定碼本矢量的四個脈沖的位置和符號,計算出固定碼本矢量 c(n)。解碼出固定本預測增益 gc和固定碼本增益,接著得到激勵信號,n=039。最后將激勵信號u(n)輸入到線性預測合成濾波器中,計算出重構語音。后濾波處理后濾波處理主要是自適應后濾波。自適應后置濾波器是由三個濾波器級連而成:長時后置濾波器 Hp(z),短時后置濾波器 Hf(z),頻譜傾斜補償濾波器 Ht(z),后面接著進行一個自適應增益控制過程。后置 濾波器的系數(shù)每

19、一個子幀更新一次。后置濾波能夠有效地改善合成出的語音質(zhì)量。2.2 G.729 編解碼器的實現(xiàn)關鍵技術 2.2.1 ITU-T G.729.A 編解碼器實現(xiàn)的硬件平臺 ITU-T G.729.A 編解碼器實現(xiàn)平臺是筆者開發(fā)的一種集成式 IP 電話網(wǎng)關。這種集成式IP 電話實時通信的實現(xiàn)第五章 詳細設計5IP 電話網(wǎng)關的設計思想是以 PC 機為基礎,集成了市場通用板卡,如 LSI/C6200DSP 資源卡、Dialogic 的語音卡和網(wǎng)關等,并以這些板卡為硬件平臺,按照相關協(xié)議,開發(fā)出一套IP 網(wǎng)關軟件。集成式 IP 電話網(wǎng)關的硬件基本結(jié)構如圖 3 所示。其中 G.729.A 編解碼器是由LSI/

20、C6200 資源卡上的 TMS320C6201 DSP 來實現(xiàn)。TMS320C6201 DSP 是美國 TEXAS INSTRUMENT 公司生產(chǎn)的目前處理速度最快的定點數(shù)字信號處理器,TMS320C6201 DSP 采用 VLIW(Very Long Instruction Word)體系結(jié)構,其工作頻率最高可達 200MHz,內(nèi)部有 1600MIPS4。另外,TMS320C6201 DSP 分別提供了 64KB 的內(nèi)部程序 RAM 和數(shù)據(jù) RAM,片外存儲器可擴展到 4GB,可連接SDRAM、SBSRAM 和 Flash Memory。TMS320C6201 DSP 還提供了豐富的外圍電路

21、接口,如:Scbus 語音總線、MVIP 語音總線、HOST 接口以及 JTAG 口等。 2.2.2 ITU-T G.729.A 軟件模塊的設計 G.729.A 編解碼器運行的硬件平臺是 TMS320C6201DSP,支持 SPOX。SPOX 是一種功能很強的實時操作系統(tǒng)。在 SPOX 操作系統(tǒng)的調(diào)度下,可對多路語音進行適時的語音壓縮和解碼。G.729.A 編解碼器件主要由調(diào)度及命令解釋模塊、G.729.A 數(shù)據(jù)壓縮與解壓縮模塊和接口模塊三部分組成。 (1)調(diào)度及命令解釋模塊 該模塊主要用于解釋 HOST 發(fā)來的各種命令,如發(fā)送或接收編解碼數(shù)據(jù),查詢編解碼狀態(tài)以及啟動、停止編解碼操作等,該模塊

22、不直接與 HOST 打交道,而是以 SPOX 提供的服務方式,通過接口功能模塊間接地實現(xiàn)與 HOST 之間數(shù)據(jù)交換。同時在 SPOX 的支持下,完成對多路語音編解碼的適時調(diào)度。 (2)G.729.A 數(shù)據(jù)壓縮與解壓縮模塊 該模塊是 ITU-T G.729.A 編解碼器的核心模塊,在很大程序上影響編解碼的性能。該模塊實現(xiàn)了 ITU-T G.729.A 全部功能。該部分已單獨形成一個 TMS320C6201 函數(shù)庫,可與其他任何部分連接。 (3)接口模塊IP 電話實時通信的實現(xiàn)第五章 詳細設計6 該模塊主要實現(xiàn) TMS320C6201 與 HOST 以及與語音卡之間的數(shù)據(jù)交換,因此該模塊分成兩部分

23、。一部分主要負責 TMS320C6201 DSP 與語音卡之間的數(shù)據(jù)傳輸,它負責不斷地將語音卡采取的語音數(shù)據(jù)通過語音總線(如 SCbus) ,采取等時通信方式送入到LSI/PCI6200 資源卡 RAM 中,或者是將編解碼器解碼后的數(shù)據(jù)經(jīng) SCbus 總線送給語音卡。另一部分主要負責 TMS320C6201 DSP 與 HOST 之間的數(shù)據(jù)交換,一方面要將壓縮后的語音信號由 PCI 總線送往 HOST;另一方面將 HOST 解包的碼流分類后讀入編解碼器。編解碼器與 HOST 之間的數(shù)據(jù)交換采用中斷方式進行同步。 2.2.3 ITU-T G.729.A 標準在 TMS320C6201 上實現(xiàn)的關

24、鍵技術 處理密度是衡量 IP 電話網(wǎng)關性能好壞的一個重要指標。而一個 IP 電話網(wǎng)你在硬件平臺確定的情況下,其處理密度主要取決于它所采用的編解碼器的語音編碼處理延遲,即代碼的執(zhí)行速度。如何提高 G.729.A 語音編碼的執(zhí)行速度是 G.729.A 編解碼器實現(xiàn)的關鍵技術問題之一。這此,歸納出一系列編程技巧和優(yōu)優(yōu)方法,較好地解決了這一難題。 (1)G.729.A 標準中規(guī)定的算法都是基本算法。因此,在實現(xiàn)時,可以用快速算法。例如,相關系數(shù)的計算,在 G.729.A 標準中使用一種最基本的計算方法,如果采用快速的傅里葉變換技術或采用分解因子的計算方法,就可以加快計算速度。 (2)算法中有很多 FI

25、R 和 IIR 運算,如:共振峰濾波器、聽覺加權濾波器、聯(lián)合濾波器等,在設計這些濾波器時,使用較大數(shù)組來放濾波器的系數(shù)。這樣,每計算一次輸出,不需系數(shù)更新移位,從而可以減少內(nèi)存操作次數(shù),因此可以通過犧牲存儲器空間來提高代碼的執(zhí)行速度。如:共振峰濾波器是十階濾波器,常規(guī)的實現(xiàn)方法是設置一個長度為 10 元素的一維數(shù)組來保存最近的 10 個共振峰樣本點。濾波器每輸出一個樣本點,該數(shù)組就需更新一次。對于一個子幀 40 個樣本點,就需進行 40 次更新操作。如設置長度為 70 元素的一組數(shù)組,就可以免去更新操作??梢院艽蟪潭鹊夭僮鞔a的運行速度。 (3)多使用指針,盡量減少變量之間的反復拷貝操作。 (

26、4)用查詢靜態(tài)表的方法來代替動態(tài)的計算,從而減少計算延遲。例如,在設計 cos()函數(shù)時,程序在初始化時就生成一個 512 項的 cos()函數(shù)表。當需要計算 cos()函數(shù)值時,可以采用查表方式來代替動態(tài)計算。 (5)內(nèi)存單元的合理分配。TMS320C6201 DS 的片內(nèi)存儲器有 64KB 數(shù)據(jù)存儲器。由于 TMS320C6201 從片內(nèi)存儲器讀入一個字比從片外存儲器讀入一個字快 14 倍,因此在編程時,盡量將經(jīng)常使用的數(shù)據(jù)分配在片內(nèi)存儲器中。 (6)G.729.A 在 TMS320C6201 上定點實現(xiàn)時,數(shù)據(jù)精度也是一個關鍵問題。在定點信號處理芯片上實現(xiàn)某些浮點算法時,可以采取定點數(shù)來

27、表示浮點數(shù),這樣可以加快運行速度,但可能導致運算精度不夠。解決的方法是在精度要求比較高的地方,可以將計算的中間變量用 32 位表示,甚至用 40 位表示。 (7)充分利用 TMS320C6201 的編譯器和優(yōu)化工具來優(yōu)化 C 和線性匯編代碼,并合理地選擇優(yōu)化參數(shù)。有關速度的優(yōu)化參數(shù)是:-o3、-pm、-mt、mi 等。并盡量用TMS320C6201 的線性匯編或匯編語音來實現(xiàn) G.729.A 編解碼器的算法。 (8)充分利用 TMS320C6201 的特點來編寫代碼。如流水功能,8 個功能單元并行操作功能,32 位字讀寫功能以及 Intrinsics 的使用等,例如:對多重循環(huán),如最內(nèi)層循環(huán)次

28、數(shù)少而較簡單,可把最內(nèi)層循環(huán)展開,以便外循環(huán)做流水線;對一些簡單循環(huán)而前后沒有因果IP 電話實時通信的實現(xiàn)第五章 詳細設計7關系,合并這些循環(huán)也有利于做流水線。第三章第三章需求分析需求分析3.1 功能需求隨著個人計算機和互聯(lián)網(wǎng)的普及,越來越多的人開始使用網(wǎng)絡這個媒介來發(fā)送,接收信息,計算機網(wǎng)絡給人們生產(chǎn)和生活帶來了巨大的便利,網(wǎng)絡語音通信 IP 電話應運而生,主要分為三種:電話到電話,PC 到電話,PC 到 PC,本功能選取 PC 到電話為實現(xiàn)方案,即:實現(xiàn) PC 到電話的網(wǎng)絡語音通信。 系統(tǒng)用例圖:能夠?qū)崿F(xiàn)公用交換電話網(wǎng)絡(PSIN)中的普通電話相互通話(需要網(wǎng)絡環(huán)境配合)或與其他的兼容 I

29、P 電話或應用程序通信。3.2 性能要求(1)撥打電話:要求用話機撥打電話,用下列任意一種方式呼叫提起話筒或按免提鍵,撥號盤上直接呼出按電話簿鍵選擇號碼呼出按 Redial 鍵選擇呼出最近一次已撥打號碼呼出(2)接聽電話IP 電話實時通信的實現(xiàn)第五章 詳細設計8響鈴,顯示號碼或者 IP 地址提起話筒或者免提鍵接聽可以拒絕接聽(3)靜音或者保留通話過程中按相應鍵IP 電話實時通信的實現(xiàn)第五章 詳細設計9第四章第四章概要設計概要設計4.1 體系結(jié)構設計一個成功 IP 電話的實現(xiàn)是個復雜的過程,我只針對 G.729 實現(xiàn)通信,其主要的體系結(jié)構如下圖: 其中用了一個 tcp 連接,表示雙方連通沒有,用

30、 udp 發(fā)送語音數(shù)據(jù),發(fā)送端表明了發(fā)送順序,接收端重排了順序。4.2 數(shù)據(jù)結(jié)構設計1. TCP包結(jié)構TCP協(xié)議是網(wǎng)絡中應用最為廣泛的協(xié)議,許多的應用層協(xié)議都是在建立在TCP協(xié)議之上的。TCP首部的各字段如圖4.2所示4。IP 電話實時通信的實現(xiàn)第五章 詳細設計10圖 4.2 TCP 數(shù)據(jù)在 IP 數(shù)據(jù)報中的封裝TCP協(xié)議頭部信息如下:(1)源端口:發(fā)送端TCP端口號;(2)目的端口:接收端TCP端口號;(3)序號:指出段中數(shù)據(jù)在發(fā)送端數(shù)據(jù)流中的位置;(4)確認號:指出本機希望下一個接收的字節(jié)的序號;(5)頭標長度:以32bit為單位的段頭標長度,是針對變長的“選項”域設計的;(6)碼位:指出

31、段的目的與內(nèi)容,不同的各碼位置位有不同的含義;(7)窗口:用于通告接收端接收緩沖區(qū)的大??;(8)校驗和:這是可選域,置0表示未選,全1表示校驗和為伍;(9)緊急指針:當碼位的URG置位時,指出緊急指針的序號。 2. UDP 包結(jié)構UDP協(xié)議是英文User Datagram Protocol的縮寫,即用戶數(shù)據(jù)報協(xié)議,主要用來支持那些需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡應用。包括網(wǎng)絡視頻會議系統(tǒng)在內(nèi)的眾多的客戶/服務器模式的網(wǎng)絡應用都需要使用UDP協(xié)議。UDP協(xié)議從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使是在今天,UDP仍然不失為一項非常實用和可行的網(wǎng)絡傳輸層協(xié)議。

32、UDP數(shù)據(jù)報各域的意義與TCP段中相應的域相同。只有校驗和有些不同,除UDP數(shù)據(jù)報本身外,它還覆蓋一個附加的“偽頭標”。這個偽頭標來自于IP報頭,包括:源IP地址、信宿IP地址、協(xié)議類型、UDP長度及填充域。UDP首部的各字段圖4.3所示。IP 電話實時通信的實現(xiàn)第五章 詳細設計11圖 4.3 UDP 首部UDP協(xié)議頭部信息如下:(1)源端口:發(fā)送端UDP端口號;(2)目的端口:接收端UDP端口號;(3)頭標校驗和:用于保證頭標數(shù)據(jù)的完整性。第五章第五章詳細設計詳細設計5.1 系統(tǒng)功能模塊設計通過前面的敘述可以知道,這款軟件唯一的功能就是基于網(wǎng)絡實現(xiàn)語音通信。本系統(tǒng)包括三個基本模塊,音頻的輸入

33、輸出,接收與發(fā)送,數(shù)據(jù)壓縮與排序而這三個模塊整合起來就是網(wǎng)關。網(wǎng)關是通過 IP 網(wǎng)絡提供 PC-to-Phone、Phone-to-PC、Phone-to-Phone 語音通信的關鍵設備,是 IP 網(wǎng)絡和 PSTN/ISDN/PBX 網(wǎng)絡之間的接口設備,應具有下列功能: a 具有 IP 網(wǎng)絡接口和與 PSTN/ISDN/PBX 交換機互聯(lián)的接口; b 完成實時語音壓縮,將 64kbit/s 的語音信號壓縮成低碼率語音信號; c 完成尋址和呼叫控制。下面我給出借口的部分代碼:連接和啟動的借口:IP 電話實時通信的實現(xiàn)第五章 詳細設計125.1.1 音頻輸入輸出的實現(xiàn)下面給出其主要過程:音頻的輸入

34、描述封裝 wavein api 只使用了 pcm 方式 只使用 函數(shù)回調(diào)方式所有的設置屬性的函數(shù)只應在錄音前使用,否者會在下次錄音時才生效應該重載 virtual void GetData(char *pBuffer,int iLen); 注意對于 StartRecord 中的 PerPareBuffer() OpenRecord()是乎應該同時調(diào)用,要么就都不調(diào)用,其原因好象是 waveInAddBuffer 之后必須 使用 saveInStart否則好象不能關閉設備局域網(wǎng)抓包軟件的設計與實現(xiàn)第五章 詳細設計13SIZE_AUDIO_FRAME 是 160 倍數(shù)SIZE_AUDIO_PACK

35、ED 是 對應的輸出 為 SIZE_AUDIO_FRAME / 160 * 10關閉的時候注意,在 closerecord 后有可能線程中還有數(shù)據(jù)到來,導致關閉不正確,所以關閉的時候 sleep(1000),詳細原因我也不太清楚 依賴性 Winmm.lib 主要代碼中的方法:如線程創(chuàng)建音頻的輸出: 描述封裝 waveout api只使用了 pcm 方式 注意PLAY_DELAY 10 /播放時候的延遲,大于它,說明有 PLAY_DELAY 個包沒有播放完成,后面的包不應再播放IP 電話實時通信的實現(xiàn)第五章 詳細設計14 依賴性 Winmm.lib 主要代碼中的方法:如線程創(chuàng)建5.1.2 數(shù)據(jù)的

36、壓縮與排序依據(jù)流程圖我們可知,在數(shù)據(jù)壓縮之后會有發(fā)送,經(jīng)過一系列轉(zhuǎn)化后另一方接收,最后是排序。這里我把壓縮和排序放在一起音頻壓縮:部分代碼局域網(wǎng)抓包軟件的設計與實現(xiàn)第五章 詳細設計15排序數(shù)據(jù):部分代碼IP 電話實時通信的實現(xiàn)第五章 詳細設計165.1.3 傳送和接收 1音頻的傳送 在壓縮之后進入發(fā)送接收 發(fā)送的客服端: 部分代碼局域網(wǎng)抓包軟件的設計與實現(xiàn)第五章 詳細設計17IP 電話實時通信的實現(xiàn)第五章 詳細設計185.2 用戶界面設計用戶界面第一行為對方 IP 地址,發(fā)送按鈕第二行連接按鈕,斷開按鈕,接收按鈕第三行為信息提示,如圖所示:局域網(wǎng)抓包軟件的設計與實現(xiàn)第五章 詳細設計19第六章第六章測試及實現(xiàn)結(jié)果分析測試及實現(xiàn)結(jié)果分析采用二種測試工具對 G.729.A 編解碼器的處理延遲作了測試。第一種測試工具是 C6X Simulator(TMS320C6201 的仿真軟件),測試條件是假設所有代碼裝在 TMS320C6201 片同的程序存儲器中;因此,稱之為 Non cache 測試模式。另外一種測試方式是采用 TI 公司的C6X 的 EVM 卡(評估卡),測試條件是將 TMS320C6201 片內(nèi) 64KB RAM 作為 Cache 使用;因此稱之為 cache 模式。二種測試模式的測試結(jié)果如下所示。測試項目C6 仿真器(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論