一種醫(yī)群通語(yǔ)音系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種醫(yī)群通語(yǔ)音系統(tǒng),依次由音頻采集模塊、音頻處理模塊、音頻壓縮模塊和音頻傳輸模塊組合而成;音頻采集模塊包括OpenAL,音頻處理模塊包括Speex,音頻壓縮模塊包括Opus,音頻傳輸模塊包括ORTP。本發(fā)明提供的醫(yī)群通語(yǔ)音系統(tǒng)使用OpenAL進(jìn)行音頻采集,Speex進(jìn)行音頻處理,Opus進(jìn)行音頻編碼,ORTP實(shí)時(shí)傳輸語(yǔ)音信息,并將這幾個(gè)模塊整合成一個(gè)處理流程,實(shí)現(xiàn)了語(yǔ)音從采集、處理、壓縮到發(fā)送的完整流程,同時(shí)還支持多人在同一個(gè)語(yǔ)音通道中通話,可以減少網(wǎng)絡(luò)帶寬,簡(jiǎn)化用戶端控制,保證的線用戶端的連通性。
【專利說明】
-種醫(yī)群通語(yǔ)音系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及語(yǔ)音技術(shù)領(lǐng)域,具體是一種醫(yī)群通語(yǔ)音系統(tǒng)。
【背景技術(shù)】
[0002] 對(duì)等計(jì)算(Peer to Peer,簡(jiǎn)稱P2P)可W簡(jiǎn)單的定義成通過直接交換來共享計(jì)算 機(jī)資源和服務(wù),而對(duì)等計(jì)算模型應(yīng)用層形成的網(wǎng)絡(luò)通常稱為對(duì)等網(wǎng)絡(luò)。在P2P網(wǎng)絡(luò)環(huán)境中, 成千上萬臺(tái)彼此連接的計(jì)算機(jī)都處于對(duì)等的地位,整個(gè)網(wǎng)絡(luò)一般來說不依賴專用的集中服 務(wù)器。網(wǎng)絡(luò)中的每一臺(tái)計(jì)算機(jī)既能充當(dāng)網(wǎng)絡(luò)服務(wù)的請(qǐng)求者,又對(duì)其它計(jì)算機(jī)的請(qǐng)求作出響 應(yīng),提供資源和服務(wù)。通常運(yùn)些資源和服務(wù)包括:信息的共享和交換、計(jì)算資源(如CPU的共 享)、存儲(chǔ)共享(如緩存和磁盤空間的使用)等。
[0003] 現(xiàn)有的語(yǔ)音技術(shù)多采用P2P方式,互相通話的雙方可W進(jìn)行點(diǎn)對(duì)點(diǎn)直播連接,但是 并不支持多人同時(shí)在線交談。尤其對(duì)于部分網(wǎng)絡(luò)不支持P2P方式,甚至連用戶端的互連都無 法進(jìn)行。同時(shí),現(xiàn)有的語(yǔ)音技術(shù)也還沒有一套完整的從語(yǔ)音采集、處理、壓縮到發(fā)送的完整 處理流程。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于提供一種可支持多人在線通話的醫(yī)群通語(yǔ)音系統(tǒng),實(shí)現(xiàn)對(duì)醫(yī)群 通系統(tǒng)的語(yǔ)音從采集、處理、壓縮到發(fā)送的完整流程。
[0005] 為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0006] 醫(yī)群通語(yǔ)音系統(tǒng),依次由音頻采集模塊、音頻處理模塊、音頻壓縮模塊和音頻傳輸 模塊組合而成;所述的音頻采集模塊包括化enAL,所述的音頻處理模塊包括Speex,所述的 音頻壓縮模塊包括Opus,所述的音頻傳輸模塊包括0RTP;所述的系統(tǒng)通過CopusAl對(duì) 化enAUSpeex、化us、0RTP進(jìn)行統(tǒng)一整合,實(shí)現(xiàn)對(duì)醫(yī)群通系統(tǒng)的語(yǔ)音從采集、處理、壓縮到發(fā) 送的完整流程。
[0007] 作為本發(fā)明進(jìn)一步的方案:所述的Speex的預(yù)處理順序?yàn)闄z測(cè)靜音、自動(dòng)增益、增 益,其中Speex初始化時(shí)帖大小為10ms帖,即每10ms的數(shù)據(jù)構(gòu)成一個(gè)音頻帖。
[000引與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
[0009] 本發(fā)明提供的醫(yī)群通語(yǔ)音系統(tǒng)使用化enAL進(jìn)行音頻采集,Speex進(jìn)行音頻處理, 化US進(jìn)行音頻編碼,0RTP實(shí)時(shí)傳輸語(yǔ)音信息,并將運(yùn)幾個(gè)模塊整合成一個(gè)處理流程,實(shí)現(xiàn)了 語(yǔ)音從采集、處理、編碼到發(fā)送的完整流程,獨(dú)立于其它產(chǎn)品實(shí)現(xiàn)。
[0010] 本發(fā)明提供的醫(yī)群通語(yǔ)音系統(tǒng)采用服務(wù)器客戶端模式,致力于解決醫(yī)學(xué)手術(shù)或者 醫(yī)學(xué)會(huì)議時(shí)實(shí)時(shí)傳輸多人語(yǔ)音信息,可W支持多人在同一個(gè)語(yǔ)音通道中通話,在多人通話 時(shí),將多路語(yǔ)音做混音,與視頻信息融合成音視頻流數(shù)據(jù),減少網(wǎng)絡(luò)帶寬,簡(jiǎn)化用戶端控制, 保證的線用戶端的連通性。醫(yī)群通系統(tǒng)所有的語(yǔ)音信息從服務(wù)器中轉(zhuǎn),在語(yǔ)音室中可W處 理多人連通與數(shù)據(jù)轉(zhuǎn)發(fā),實(shí)現(xiàn)多人在線。
【附圖說明】
[0011] 圖1是本發(fā)明的Speex的預(yù)處理流程圖;
[0012] 圖2是化US音頻編碼與其他格式音頻編碼的比較示意圖。
【具體實(shí)施方式】
[0013] 下面將結(jié)合本發(fā)明實(shí)施例,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述, 顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的 實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都 屬于本發(fā)明保護(hù)的范圍。
[0014] 實(shí)施例1
[0015] 本發(fā)明實(shí)施例中,醫(yī)群通語(yǔ)音系統(tǒng),作為醫(yī)群通系統(tǒng)的語(yǔ)音系統(tǒng),依次由音頻采集 模塊、音頻處理模塊、音頻壓縮模塊和音頻傳輸模塊組合而成;音頻采集模塊包括化enAL (Open Audio L化ra巧),音頻處理模塊包括Speex,音頻壓縮模塊包括化US,音頻傳輸模塊 包括0RTP;本系統(tǒng)通過CopusAl對(duì)化enAL、Speex、化US、0RTP各個(gè)模塊的統(tǒng)一整合,實(shí)現(xiàn)對(duì)醫(yī) 群通系統(tǒng)的語(yǔ)音的從采集、處理、壓縮到發(fā)送的完整流程,具體各模塊的功能及實(shí)現(xiàn)流程如 下:
[0016] 一、采集音頻
[0017]醫(yī)群通系統(tǒng)使用0penAL(0pen Audio Library)采集音頻數(shù)據(jù)。OpenAL是提供跨平 臺(tái)的音效API,它設(shè)計(jì)給多通道Ξ維位置音效的特效表現(xiàn)。OpenAL主要的功能是在來源物 體、音效緩沖和收聽者中編碼。來源物體包含一個(gè)指向緩沖區(qū)的指標(biāo)、聲音的速度、位置和 方向,W及聲音強(qiáng)度。收聽者物體包含收聽者的速度、位置和方向,W及全部聲音的整體增 益。緩沖里包含8或16位元、單聲道或立體聲PCM格式的音效資料,表現(xiàn)引擎進(jìn)行所有必要的 計(jì)算,如距離衰減、多普勒效應(yīng)等。使用化enAL可W簡(jiǎn)易有效地從聲音設(shè)備中采集語(yǔ)音信 息。
[001 引 OpenAL提供的API (Application Programming Interface,應(yīng)用程序編程接口):
[0019]
[0020]
[0021 ] OpenAL采集語(yǔ)音信息過程
[0024] COpusAl 的 API 說明
[00巧]COpusAl是醫(yī)群通系統(tǒng)對(duì)Openal,Speex,Opus,oRTP各個(gè)模塊的統(tǒng)一整合。 [00%] COpusAL初始化并進(jìn)入工作流程:
[0029]
[0030]
[00川二、音頻處理
[0032] Speex 說明
[0033] Speex是一套音頻壓縮格式。相對(duì)于其它編解碼器,Speex很適合網(wǎng)絡(luò)應(yīng)用,在網(wǎng)絡(luò) 應(yīng)用上有著自己獨(dú)特的優(yōu)勢(shì)。Speex專口為碼率在2-44化ps的語(yǔ)音壓縮而設(shè)計(jì),可將8k化, 16kHz,32曲Z壓縮于同一位流,同時(shí)具有強(qiáng)化立體編碼,數(shù)據(jù)包丟失隱蔽,可變比特率,語(yǔ)音 捕捉,非連續(xù)傳輸,定點(diǎn)運(yùn)算,感官回聲消除噪音屏蔽的特點(diǎn)。
[0034] 本發(fā)明提供的醫(yī)群通語(yǔ)音系統(tǒng)使用Speex進(jìn)行增益,降噪,回音處理,靜音判斷,并 不負(fù)責(zé)編碼。
[0035] 請(qǐng)參閱圖l,Speex的預(yù)處理順序?yàn)闄z測(cè)靜音(VAD)、自動(dòng)增益(AGC)、增益,其中 Speex初始化時(shí)帖大小為10ms帖,即每10ms的數(shù)據(jù)構(gòu)成一個(gè)音頻帖。
[0036] Speex提供的API:
[0037]
[0039] speex_preprocess_ctl的設(shè)定宏說明(on(l)/off(2))
[0040]
[0041]
[0042]
[0043] CSpeexF*acket 的 API 說明:
[0044] short da化[SIZE_0PUS*2];
[0045] shod ref[SIZE_0PUS*2];
[0046] shod out[SIZE_0PUS*2];
[0047] if (m_SpeexF*acket-〉DoAEC( (sho;rt*)da1:a, (short*)ref, (short*)out)) {
[004引 /*
[0049] out就是處理后的結(jié)果,data, ref,out的大小必須一致
[(Κ)加 ]*/
[0051] memcpy(ref,out,sizeof(out));
[0052] }else{
[0053] memcpy(ref, out,sizeof(data));
[0化4] }
[ο化5]
[0化7] Ξ、音頻壓縮 [0化引化US說明:
[0059] 醫(yī)群通語(yǔ)音系統(tǒng)使用化US對(duì)音頻進(jìn)行編碼。Opus編碼器是一個(gè)有損聲音編碼的格 式,由互聯(lián)網(wǎng)工程任務(wù)組(IETF)進(jìn)來開發(fā),適用于網(wǎng)絡(luò)上的實(shí)時(shí)聲音傳輸,它可W把低碼率 窄帶變成高質(zhì)量的立體語(yǔ)音。它支持化b/s-510kb/s的比特率范圍,采樣率從8曲Z到48曲Z, 帖大小從2.5ms到60ms,支持單聲道和立體聲,可動(dòng)態(tài)調(diào)節(jié)比特率,帶寬大小和帖大小。
[0060] 化US的前身是celt編碼器。在當(dāng)前語(yǔ)音編碼格式中,Opus的性能卓著。與AAC格式 相比較,通過諸多的對(duì)比測(cè)試,低碼率下化US完勝曾經(jīng)優(yōu)勢(shì)明顯的肥AAC,中碼率就已經(jīng)可 W媳敵碼率高出30%左右的AAC格式,而高碼率下更接近原始音頻,具體的音頻編碼結(jié)果比 較如圖2所示。
[0061 ] Opus提供的API:
[0062]
[00 化]
[0066]
[0067]
[0068] COpusPacket 的 API 說明:
[0069] b切巧 1 COpusPacket::I打itii打t sa陽(yáng)pli打g一ra〔e)
[0070]
[0071]
[0072]
[0073]
[0074] 四、音頻發(fā)送
[0075] 0RTP說明:
[0076] 醫(yī)群通語(yǔ)音系統(tǒng)采用0RTP進(jìn)行語(yǔ)音信息的傳輸。
[0077] ΚΤΡ(Κθ3]_-?;?η?θ?Υ3η3ροΚΤΡ;Γ〇1:〇(3〇1)是用于Internet 上針對(duì)多媒體數(shù)據(jù)流的一種 傳輸協(xié)議,做流媒體傳輸方面的應(yīng)用離不開RTP協(xié)議的實(shí)現(xiàn)及使用,為了更加快速地在項(xiàng)目 中應(yīng)用RTP協(xié)議實(shí)現(xiàn)流媒體的傳輸,我們一般會(huì)選擇使用一些RTP庫(kù),0RTP是實(shí)現(xiàn)了 RTP協(xié)議 的一種開源庫(kù),運(yùn)個(gè)庫(kù)純使用C語(yǔ)言編寫。
[007引 0RTP提供的API:
[0079]
[0080]
[0081]
[0083] CORTPSender 的 API接口:
[0082]
[0084]
[0086]
[0087] 醫(yī)群通定義宏: CSoimderDefine. hpp #define HZ__P00R 8000 再define HZ_L0W 11025 ?define HZ_N0KMAL 22050 巧de門打e 48000 冉define SAM化臥SEC HZ_ POOR ^define SIZE_0PUS· 320
[0088] #define STZE_AUDIO"FRAME STZE_0P服杳2 #define MAXRECBUFFER 目 再define REC郵F巧R (S巧E_A郵I0_FRAME) ?define RtpIP "192. 168.1.211" 巧de門打e Rirpi^W 巧4321) 冉define TestRoomNanie "balab3lab3-ia__.123456789V/測(cè)試房間名 巧defi打e MAX_PAC化Τ 杳3) 冉defi打e def^私有信令負(fù)載 3 韓defi打e (16:£:'_語(yǔ)音負(fù)載 0
[0089] 本發(fā)明提供的醫(yī)群通語(yǔ)音系統(tǒng)使用化enAL進(jìn)行音頻采集,Speex進(jìn)行音頻處理, 化US進(jìn)行音頻編碼,0RTP實(shí)時(shí)傳輸語(yǔ)音信息,并將運(yùn)幾個(gè)模塊整合成一個(gè)處理流程,實(shí)現(xiàn)了 語(yǔ)音從采集、處理、編碼到發(fā)送的完整流程,獨(dú)立于其它產(chǎn)品實(shí)現(xiàn)。
[0090] 本發(fā)明提供的醫(yī)群通語(yǔ)音系統(tǒng)采用服務(wù)器客戶端模式,致力于解決醫(yī)學(xué)手術(shù)或者 醫(yī)學(xué)會(huì)議時(shí)實(shí)時(shí)傳輸多人語(yǔ)音信息,可w支持多人在同一個(gè)語(yǔ)音通道中通話,在多人通話 時(shí),將多路語(yǔ)音做混音,與視頻信息融合成音視頻流數(shù)據(jù),減少網(wǎng)絡(luò)帶寬,簡(jiǎn)化用戶端控制, 保證的線用戶端的連通性。醫(yī)群通系統(tǒng)所有的語(yǔ)音信息從服務(wù)器中轉(zhuǎn),在語(yǔ)音室中可W處 理多人連通與數(shù)據(jù)轉(zhuǎn)發(fā),實(shí)現(xiàn)多人在線。
[0091] 對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在 不背離本發(fā)明的精神或基本特征的情況下,能夠W其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論 從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán) 利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有 變化囊括在本發(fā)明內(nèi)。
[0092] 此外,應(yīng)當(dāng)理解,雖然本說明書按照實(shí)施方式加 W描述,但并非每個(gè)實(shí)施方式僅包 含一個(gè)獨(dú)立的技術(shù)方案,說明書的運(yùn)種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng) 將說明書作為一個(gè)整體,各實(shí)施例中的技術(shù)方案也可W經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員 可W理解的其他實(shí)施方式。
【主權(quán)項(xiàng)】
1. 醫(yī)群通語(yǔ)音系統(tǒng),依次由音頻采集模塊、音頻處理模塊、音頻壓縮模塊和音頻傳輸模 塊組合而成;其特征在于,所述的音頻采集模塊包括OpenAL,所述的音頻處理模塊包括 Speex,所述的音頻壓縮模塊包括Opus,所述的音頻傳輸模塊包括0RTP;所述的系統(tǒng)通過 COPUSAI對(duì)0卩61^1^、3卩661、0卩118、01^?進(jìn)行統(tǒng)一整合,實(shí)現(xiàn)對(duì)醫(yī)群通系統(tǒng)的語(yǔ)音從采集、處 理、壓縮到發(fā)送的完整流程。2. 根據(jù)權(quán)利要求1所述的醫(yī)群通語(yǔ)音系統(tǒng),其特征在于,所述的Speex的預(yù)處理順序?yàn)?檢測(cè)靜音、自動(dòng)增益、增益,其中Speex初始化時(shí)幀大小為10ms幀,即每10ms的數(shù)據(jù)構(gòu)成一個(gè) 音頻幀。
【文檔編號(hào)】H04L29/08GK105872018SQ201610166220
【公開日】2016年8月17日
【申請(qǐng)日】2016年3月21日
【發(fā)明人】謝長(zhǎng)才, 陳政強(qiáng), 賴會(huì)寧
【申請(qǐng)人】廣東醫(yī)群科技有限公司