两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種VoIP服務(wù)器同步混音方法及系統(tǒng)的制作方法

文檔序號(hào):2832973閱讀:261來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種VoIP服務(wù)器同步混音方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種VoIP服務(wù)器同步混音方法及系統(tǒng)。
背景技術(shù)
隨著網(wǎng)絡(luò)技術(shù)的進(jìn)步,網(wǎng)絡(luò)電話(Voice over Internet Protocol, VoIP)因?yàn)槠涞土耐ㄔ捹M(fèi)用和良好的網(wǎng)絡(luò)融合性,得到了越來(lái)越廣泛的應(yīng)用?;谝蛱鼐W(wǎng)(IP網(wǎng)絡(luò))的電話會(huì)議系統(tǒng)可以利用企業(yè)原有的網(wǎng)絡(luò)線路和設(shè)備進(jìn)行搭建,使用也非常方便,從而降低了企業(yè)成本。語(yǔ)音混音是VoIP電話會(huì)議系統(tǒng)和多媒體會(huì)議系統(tǒng)的重要組成部分,目前的混音方案采用了傳統(tǒng)的解碼-混音-編碼模式。然而,由于語(yǔ)音會(huì)議系統(tǒng)對(duì)時(shí)延控制要求比較高,大多數(shù)VoIP電話會(huì)議系統(tǒng)都是采用用戶數(shù)據(jù)包協(xié)議(UserDatagram Protocol,UDP)來(lái)發(fā)送音頻數(shù)據(jù)包,由于UDP的傳輸機(jī)制并不能保證數(shù)據(jù)包到達(dá)的順序與發(fā)送時(shí)順序相同,而且在傳輸過(guò)程中也并不 能保證數(shù)據(jù)包一定能到達(dá)目的地,從而導(dǎo)致VoIP電話會(huì)議系統(tǒng)音頻數(shù)據(jù)發(fā)生抖動(dòng),混音效果質(zhì)量較差,目前,尚未有一種有效的方法來(lái)解決該問(wèn)題。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種VoIP服務(wù)器同步混音方法及系統(tǒng),旨在解決由于現(xiàn)有技術(shù)無(wú)法提供一種有效的VoIP服務(wù)器同步混音方法,導(dǎo)致VoIP服務(wù)器混音效果差的問(wèn)題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種VoIP服務(wù)器同步混音方法,所述方法包括下述步驟:檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū);當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包;對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理;將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。本發(fā)明實(shí)施例的另一目的在于提供一種VoIP服務(wù)器同步混音系統(tǒng),其特征在于,所述系統(tǒng)包括:緩存區(qū)檢測(cè)單元,用于檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū);第一數(shù)據(jù)包獲取單元,用于當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包;混音處理單元,用于對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理;以及數(shù)據(jù)發(fā)送單元,用于將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。本發(fā)明實(shí)施例檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū),當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包,對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理,將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端,實(shí)現(xiàn)了 VoIP語(yǔ)音數(shù)據(jù)的混音,從而通過(guò)設(shè)置抖動(dòng)緩存區(qū)有效消除了混音過(guò)程中數(shù)據(jù)的抖動(dòng),提高了混音質(zhì)量,從而提高了 VoIP用戶的通話體驗(yàn)。


圖1是本發(fā)明實(shí)施例一提供的VoIP服務(wù)器同步混音方法的實(shí)現(xiàn)流程圖;圖2是本發(fā)明實(shí)施例二提供的VoIP服務(wù)器同步混音方法的實(shí)現(xiàn)流程圖;圖3是本發(fā)明實(shí)施例三提供的VoIP服務(wù)器同步混音系統(tǒng)的結(jié)構(gòu)圖;圖4是本發(fā)明實(shí)施例四提供的VoIP服務(wù)器同步混音系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。以下結(jié)合具體實(shí)施例對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述:實(shí)施例一:圖1示出了本發(fā)明實(shí)施例一提供的VoIP服務(wù)器同步混音方法的實(shí)現(xiàn)流程,詳述如下:
在步驟SlOl中,檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū)。在本發(fā)明實(shí)施例中,為了緩存VoIP客戶端發(fā)送過(guò)來(lái)的語(yǔ)音數(shù)據(jù),應(yīng)預(yù)先為各個(gè)VoIP客戶端分配一個(gè)對(duì)應(yīng)的緩存區(qū),以用于緩存語(yǔ)音數(shù)據(jù),對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行排序,從而有效消除使用UDP協(xié)議發(fā)送數(shù)據(jù)所引起的數(shù)據(jù)抖動(dòng)問(wèn)題。在具體的實(shí)施過(guò)程中,抖動(dòng)緩存區(qū)可以用鏈表的形式進(jìn)行表示,從而方便數(shù)據(jù)的存儲(chǔ)和刪除,提高緩存區(qū)的利用率。具體地,每個(gè)節(jié)點(diǎn)為一個(gè)結(jié)構(gòu)體,該結(jié)構(gòu)體保存的信息包括:數(shù)據(jù)的長(zhǎng)度、時(shí)間戳、數(shù)據(jù)對(duì)應(yīng)的時(shí)長(zhǎng)(本數(shù)據(jù)包含多長(zhǎng)時(shí)間的數(shù)據(jù),一般為20ms)、指向存儲(chǔ)實(shí)際數(shù)據(jù)的指針。在接收到數(shù)據(jù)包之后,可以根據(jù)其頭部的VoIP客戶端標(biāo)識(shí)信息,將其放入到對(duì)應(yīng)的抖動(dòng)緩存區(qū)中。在放入抖動(dòng)緩存區(qū)中時(shí),如果抖動(dòng)緩存區(qū)已滿,則將最老(所謂最老即指時(shí)間戳最小)的數(shù)據(jù)包丟掉,按照時(shí)間戳的大小在其適當(dāng)?shù)奈恢貌迦朐摂?shù)據(jù)包,以確保在抖動(dòng)緩存區(qū)中所有的數(shù)據(jù)包都是按時(shí)間戳從小到大的順序排列的。在步驟S102中,當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包。在本發(fā)明實(shí)施例中,檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包,以用于后續(xù)的語(yǔ)音混音處理。在步驟S103中,對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理。在本發(fā)明實(shí)施例中,由于語(yǔ)音數(shù)據(jù)在傳送到VoIP服務(wù)器上時(shí),已進(jìn)行了編碼,因此,應(yīng)相對(duì)地對(duì)其解碼,解碼后根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理。具體地,預(yù)設(shè)的混音算法可以是平均混音算法、箝位混音算法等,在此不用以限制本發(fā)明。在步驟S104中,將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。本發(fā)明實(shí)施例通過(guò)預(yù)先為各個(gè)VoIP客戶端分配抖動(dòng)緩存區(qū),緩存各個(gè)VoIP客戶端發(fā)送的數(shù)據(jù)包,對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理,實(shí)現(xiàn)了 VoIP語(yǔ)音數(shù)據(jù)的混音,從而有效消除了混音過(guò)程中數(shù)據(jù)的抖動(dòng),提高了混音的效果,從而提高了 VoIP用戶的通話體驗(yàn)。實(shí)施例二:圖2示出了本發(fā)明實(shí)施例二提供的VoIP服務(wù)器同步混音方法的實(shí)現(xiàn)流程,詳述如下:在步驟S201中,檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū)。在本發(fā)明實(shí)施例中,為了緩存VoIP客戶端發(fā)送過(guò)來(lái)的語(yǔ)音數(shù)據(jù),應(yīng)預(yù)先為各個(gè)VoIP客戶端分配一個(gè)對(duì)應(yīng)的緩存區(qū),以用于緩存語(yǔ)音數(shù)據(jù),對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行排序,從而有效消除使用UDP協(xié)議發(fā)送數(shù)據(jù)所引起的數(shù)據(jù)抖動(dòng)問(wèn)題。在步驟S202中,判斷此次檢測(cè)時(shí)間是否超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間,是則執(zhí)行步驟S207,否則執(zhí)行步 驟S203。在本發(fā)明實(shí)施例中,對(duì)檢測(cè)時(shí)間進(jìn)行計(jì)時(shí),判斷每次檢測(cè)時(shí)間是否超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間,檢測(cè)時(shí)間對(duì)混音效果會(huì)產(chǎn)生很大的影響。若檢測(cè)時(shí)間太長(zhǎng),因?yàn)橛袝r(shí)某路(從某個(gè)VoIP客戶端發(fā)送的數(shù)據(jù))會(huì)出現(xiàn)丟包的現(xiàn)象,延時(shí)就會(huì)變大,若檢測(cè)時(shí)間短就會(huì)因?yàn)楦鱾€(gè)VoIP客戶端的語(yǔ)音數(shù)據(jù)太散列而導(dǎo)致混音效果變差。經(jīng)過(guò)大量的實(shí)驗(yàn)測(cè)試得出,預(yù)設(shè)的檢測(cè)時(shí)間優(yōu)選為500-1000毫秒。在步驟S203中,判斷是否檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù),是則執(zhí)行步驟S204,否則執(zhí)行步驟S201。在步驟S204中,從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包。在步驟S205中,對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理。在步驟S206中,將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。在本發(fā)明實(shí)施例中,步驟S204至S206其具體實(shí)施與實(shí)施一中步驟S102至S104相同,在此不贅述。在步驟S207中,從存在數(shù)據(jù)包的各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包。在本發(fā)明實(shí)施例中,當(dāng)循環(huán)檢測(cè)時(shí)間超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間,并未檢測(cè)到所有的VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從存在數(shù)據(jù)包的各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包。在具體實(shí)施的實(shí)施過(guò)程中,也可以是從所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包,只是從不存在數(shù)據(jù)的緩存區(qū)獲取的結(jié)果為空。獲取數(shù)據(jù)包之后觸發(fā)步驟S205,對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理。本發(fā)明實(shí)施例通過(guò)預(yù)先為各個(gè)VoIP客戶端分配抖動(dòng)緩存區(qū),對(duì)接收到的數(shù)據(jù)進(jìn)行調(diào)整,另一方面通過(guò)合理設(shè)置檢測(cè)時(shí)間,防止語(yǔ)音數(shù)據(jù)的丟失以及語(yǔ)音數(shù)據(jù)過(guò)于散列,有效消除了混音過(guò)程中數(shù)據(jù)的抖動(dòng),提高了混音質(zhì)量。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如R0M/RAM、磁盤(pán)、光盤(pán)等。實(shí)施例三:圖3示出了本發(fā)明實(shí)施例三提供的VoIP服務(wù)器同步混音系統(tǒng)的結(jié)構(gòu),為了便于說(shuō)明,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分,其中包括:緩存區(qū)檢測(cè)單元31檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū)。在本發(fā)明實(shí)施例中,為了緩存VoIP客戶端發(fā)送過(guò)來(lái)的語(yǔ)音數(shù)據(jù),應(yīng)預(yù)先為各個(gè)VoIP客戶端分配一個(gè)對(duì)應(yīng)的緩存區(qū),以用于緩存語(yǔ)音數(shù)據(jù),對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行排序,從而有效消除使用UDP協(xié)議發(fā)送數(shù)據(jù)所引起的數(shù)據(jù)抖動(dòng)問(wèn)題。第一數(shù)據(jù)包獲取單元32當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包。在本發(fā)明實(shí)施例中,檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包,以用于后續(xù)的混音處理?;煲籼幚韱卧?3對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理。在本發(fā)明實(shí)施例中,由于語(yǔ)音數(shù)據(jù)在傳送到VoIP服務(wù)器上時(shí),已進(jìn)行了編碼,因此,應(yīng)相對(duì)地對(duì)其解碼,解碼后根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理。具體地,預(yù)設(shè)的混音算法可以是平均混音算法、箝位混音算法等,在此不用以限制本發(fā)明。數(shù)據(jù)發(fā)送單元34將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。在本發(fā)明實(shí)施中,各單元的具體實(shí)施方式
與實(shí)施例一中各步驟相對(duì)應(yīng),在此不再贅述。本發(fā)明實(shí)施例通過(guò)預(yù)先為各個(gè)VoIP客戶端分配抖動(dòng)緩存區(qū),緩存各個(gè)VoIP客戶端發(fā)送的數(shù)據(jù)包,對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理,實(shí)現(xiàn)了 VoIP語(yǔ)音數(shù)據(jù)的混音,從而有效消除了混音過(guò)程中數(shù)據(jù)的抖動(dòng),提高了混音的效果,從而提高了 VoIP用戶的通話體驗(yàn)。實(shí)施例四:圖4示出了本發(fā)明實(shí)施例四提供的VoIP服務(wù)器同步混音系統(tǒng)的結(jié)構(gòu),為了便于說(shuō)明,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分,其中包括:緩存區(qū)檢測(cè)單元41檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū)。檢測(cè)時(shí)間判斷單元42判斷此次檢測(cè)時(shí)間是否超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間。在本發(fā)明實(shí)施例中,當(dāng)檢測(cè)時(shí)間判斷單元42判斷此次檢測(cè)時(shí)間超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間,觸發(fā)第二數(shù)據(jù)包獲取單元46執(zhí)行從存在數(shù)據(jù)包的各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包的步驟。第一數(shù)據(jù)包獲取單元43當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包。在本發(fā)明實(shí)施例中,當(dāng)檢測(cè)時(shí)間判斷單元42判斷此次檢測(cè)時(shí)間沒(méi)有超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間,且檢測(cè)到所有VoIP客 戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),第一數(shù)據(jù)包獲取單元43從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包?;煲籼幚韱卧?4對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理。數(shù)據(jù)發(fā)送單元45將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。第二數(shù)據(jù)包獲取單元46當(dāng)所述檢測(cè)時(shí)間判斷單元42判斷此次檢測(cè)時(shí)間超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間時(shí),從存在數(shù)據(jù)包的各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包。在本發(fā)明實(shí)施例中,當(dāng)循環(huán)檢測(cè)時(shí)間超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間,并未檢測(cè)到所有的VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從存在數(shù)據(jù)包的各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包。在具體實(shí)施的實(shí)施過(guò)程中,也可以是從所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包,只是從不存在數(shù)據(jù)的緩存區(qū)獲取的結(jié)果為空。因此,第二數(shù)據(jù)包獲取單元46和第一數(shù)據(jù)包獲取單元43在具體實(shí)施過(guò)程中可以由一個(gè)單元完成,在此不用以限制本發(fā)明。在本發(fā)明實(shí)施中,各單元的具體實(shí)施方式
與實(shí)施例二中各步驟相對(duì)應(yīng),在此不再贅述。本發(fā)明實(shí)施例檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū),當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包,對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理,將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端,從而通過(guò)預(yù)先為各個(gè)VoIP客戶端分配抖動(dòng)緩存區(qū),對(duì)接收到的數(shù)據(jù)進(jìn)行調(diào)整,另一方面通過(guò)合理設(shè)置檢測(cè)時(shí)間,防止語(yǔ)音數(shù)據(jù)的丟失以及語(yǔ)音數(shù)據(jù)過(guò)于散列,有效消除了混音過(guò)程中數(shù)據(jù)的抖動(dòng),提高了混音質(zhì)量。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何·修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種VoIP服務(wù)器同步混音方法,其特征在于,所述方法包括下述步驟: 檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū); 當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包; 對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理; 將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。
2.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)包包括數(shù)據(jù)包中數(shù)據(jù)的長(zhǎng)度、時(shí)間戳以及數(shù)據(jù)對(duì)應(yīng)的時(shí)長(zhǎng)。
3.如權(quán)利要求1所述的方法,其特征在于,所述當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包的步驟之前,所述方法還包括: 判斷此次檢測(cè)時(shí)間是否超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間; 當(dāng)此次檢測(cè)時(shí)間沒(méi)有超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間,且檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),執(zhí)行所述從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包的步驟。
4.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括下述步驟: 當(dāng)此次檢測(cè)時(shí)間超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間時(shí),從存在數(shù)據(jù)包的各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包,并跳轉(zhuǎn)至所述對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理 的步驟。
5.如權(quán)利要求3或4所述的方法,其特征在于,所述預(yù)設(shè)的檢測(cè)時(shí)間為500-1000毫秒。
6.如權(quán)利要求1所述的方法,其特征在于,所述混音算法為箝位混音算法。
7.—種VoIP服務(wù)器同步混音系統(tǒng),其特征在于,所述系統(tǒng)包括: 緩存區(qū)檢測(cè)單元,用于檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū); 第一數(shù)據(jù)包獲取單元,用于當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包; 混音處理單元,用于對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理;以及 數(shù)據(jù)發(fā)送單元,用于將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 檢測(cè)時(shí)間判斷單元,用于判斷此次檢測(cè)時(shí)間是否超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 第二數(shù)據(jù)包獲取單元,用于當(dāng)所述檢測(cè)時(shí)間判斷單元判斷此次檢測(cè)時(shí)間超過(guò)預(yù)設(shè)的檢測(cè)時(shí)間時(shí),從存在數(shù)據(jù)包的各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中獲取數(shù)據(jù)包。
10.如權(quán)利要求8或9所述的系統(tǒng),其特征在于,所述預(yù)設(shè)的檢測(cè)時(shí)間為500-1000毫秒。
全文摘要
本發(fā)明適用于計(jì)算機(jī)技術(shù)領(lǐng)域,提供了一種VoIP服務(wù)器同步混音方法及系統(tǒng),所述方法包括下述步驟檢測(cè)預(yù)先為各個(gè)VoIP客戶端分配的抖動(dòng)緩存區(qū);當(dāng)檢測(cè)到所有VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中都存在數(shù)據(jù)時(shí),從各個(gè)VoIP客戶端對(duì)應(yīng)的抖動(dòng)緩存區(qū)中各自獲取一個(gè)數(shù)據(jù)包;對(duì)所有獲取的數(shù)據(jù)包進(jìn)行解碼,根據(jù)預(yù)設(shè)的混音算法對(duì)解碼后的數(shù)據(jù)進(jìn)行混音處理;將混音后的數(shù)據(jù)發(fā)送給所有VoIP客戶端。本發(fā)明通過(guò)設(shè)置抖動(dòng)緩存區(qū)有效消除了混音過(guò)程中數(shù)據(jù)的抖動(dòng),提高了混音的效果,從而提高了VoIP用戶的通話體驗(yàn)。
文檔編號(hào)G10L19/008GK103248774SQ20121003163
公開(kāi)日2013年8月14日 申請(qǐng)日期2012年2月13日 優(yōu)先權(quán)日2012年2月13日
發(fā)明者張海東, 陳劍勇 申請(qǐng)人:陳劍勇
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
石首市| 河源市| 广平县| 栾川县| 大渡口区| 通州市| 永新县| 永宁县| 电白县| 元谋县| 客服| 彭州市| 高陵县| 清新县| 堆龙德庆县| 武宁县| 甘肃省| 包头市| 米泉市| 木里| 社旗县| 高州市| 太康县| 浪卡子县| 溆浦县| 章丘市| 大化| 探索| 加查县| 涪陵区| 元氏县| 台东县| 邮箱| 梁平县| 巴彦县| 怀远县| 邹平县| 京山县| 泰和县| 定日县| 冕宁县|