一種輕量級的多方會議混音方法和裝置制造方法
【專利摘要】一種輕量級的多方會議混音方法和裝置,1)客戶端采用AMR編碼器對語音進行編碼后得到語音PCM數據及數據長度,對編碼后的語音PCM數據采用分幀處理,計算每幀語音能量值,并結合該幀語音能量值及其數據長度來確定該幀為語音幀或非語音幀,從而統(tǒng)計出語音PCM數據中語音幀的概率值;2)服務器端通過接收到的語音概率值選出當前的語音概率值最高的兩個發(fā)言者的語音流,并根據這兩個語音概率值大小決定是否使用疊加原理將選出的最多兩路語音流進行混音,最后轉發(fā)混音后的語音包。該方法巧妙地彌補了手機等便攜小設備計算能力弱的缺陷,同時又大大降低了服務器進行混音操作的計算量,可廣泛應用在多媒體多方會議系統(tǒng)中。
【專利說明】一種輕量級的多方會議混音方法和裝置
【技術領域】
[0001]本發(fā)明涉及多方會議通信領域技術,特別是一種輕量級的多方會議混音方法和裝置。
【背景技術】
[0002]多方視頻會議系統(tǒng)中,混音是一項重要技術?;煲羰菍⒍鄠€音頻源的音頻根據音頻疊加原理混合為一路音頻輸出,使音頻的接收者感覺到多人會議交流的效果。
[0003]混音可以實現(xiàn)在媒體控制器即服務器端,也可以實現(xiàn)在終端即客戶端。
[0004]直接在服務器端實現(xiàn),即客戶端把各自的音頻數據PCM語音信號通過編碼器編碼,然后發(fā)送給服務器端,服務器先將多個音頻源的音頻解碼,然后根據音頻疊加原理混合為一路音頻再編碼輸出,使音頻的接收者感覺到多人會議交流的效果。但是由于服務器端需要多路解碼,同時最后又要編碼,因此計算量和時間復雜度均較大,導致延時也較大。這也就限制了該方案的應用范圍。
[0005]直接在終端實現(xiàn)混音,即客戶端把音頻數據PCM語音信號通過編碼器編碼,發(fā)送給服務器端,服務器端將各個終端即客戶端的音頻,發(fā)送到除源端以外的所有終端,各個終端對所有接收到的音頻流進行合成。混音的計算壓力在各個終端,這種方案會對網絡造成更大的壓力。一來終端的計算量增大,這對于一些計算能力較弱的移動終端,無法承擔混音計算的壓力。二來每個終端的語音包都要轉發(fā)給除源端以外的終端,占用網絡帶寬資源。
[0006]還有一些方案,不需要編碼和解碼,終端直接把語音包發(fā)給服務器端,然后服務器端進行混音。由于終端沒有對語音包進行編碼就直接發(fā)包,嚴重占用網絡帶寬。
【發(fā)明內容】
[0007]本發(fā)明的主要目的在于針對多方會議的實際應用需求,同時兼顧手機等便攜小設備的個性特征,提出一種新穎而簡單的快速實時的輕量級的多方會議混音方法和裝置。
[0008]本發(fā)明采用如下技術方案:
[0009]一種輕量級的多方會議混音方法,其特征在于:1)客戶端采用AMR編碼器對語音進行編碼后得到語音PCM數據及數據長度,對編碼后的語音PCM數據采用分幀處理,計算每幀語音能量值,并結合該幀語音能量值及其數據長度來確定該幀為語音幀或非語音幀,從而統(tǒng)計出語音PCM數據中語音幀的概率值;2)服務器端通過接收到的語音概率值選出當前的語音概率值最高的兩個發(fā)言者的語音流,并根據這兩個語音概率值大小決定是否使用疊加原理將選出的最多兩路語音流進行混音,最后轉發(fā)混音后的語音包。
[0010]優(yōu)選的,預先設定:客戶端每隔一段時間抓取到一幀語音信號,每幀語音信號包括m個采樣值,每個采樣值的能量為^ ;設定統(tǒng)計窗口包括連續(xù)的η幀語音信號,當前幀的能量相對參考值為;步驟I)具體包括如下:
[0011]1.1)客戶端輸入語音PCM數據及AMR編碼后的輸出長度,計算當前幀語音PCM數
m
據的能量值E: E-Zr*r/=1.9
[0012]1.2)判斷AMR編碼后的當前幀輸出長度是否等于31,若是,則記錄該幀的能量值,作為語音能量參考值,判定該幀為語音幀并加入統(tǒng)計窗口內,進入步驟1.4);若否,則記錄該幀的能量值,作為非語音能量參考值,進入步驟1.3);
[0013]1.3)判斷當前幀能量值是否大于其能量相對參考值Erefw,若是,則判定該幀為語音幀,若否,則判定該幀為非語音幀;加入新的統(tǒng)計窗口內,進入步驟1.4)
[0014]1.4)判斷統(tǒng)計窗口是否已滿,若是,則計算統(tǒng)計窗口內語音幀的占比,表示成O到100的語音概率值;若否,則進入下一幀,跳至步驟1.1);
[0015]優(yōu)選的,設定當前幀的前η個連續(xù)幀的非語音能量參考值的最大值為Entjise,而語音能量參考值的最大值表示為Evtjise,則當前幀的能量相對參考值用如下公式計算:
[0016]Erefer = Enoise+ (Evoice-Enoise) /10。
[0017]優(yōu)選的,步驟2)具體如下:
[0018]2.1)服務器接收客戶端發(fā)送過來的語音概率值,選出語音概率值最高的兩條語音流Fl、F2,其語音概率值分別為Ρ1、Ρ2,Ρ1>Ρ2 ;
[0019]2.2)判斷PD2P2是否成立,若是,則只將?1對應的語音流輸出;若否,則將這兩條語音流進行混音后輸出。
[0020]一種輕量級的多方會議混音裝置,包括客戶端和服務器,其特征在于:
[0021]客戶端包括:用于對語音進行編碼得到語音PCM數據及數據長度的AMR編碼器、用于計算編碼后的語音PCM數據的每幀語音能量值的語音能量計算裝置、結合語音能量值及其數據長度來確定該幀為語音幀或非語音幀的判定裝置,及統(tǒng)計出語音PCM數據的統(tǒng)計窗口中語音幀的概率值的統(tǒng)計裝置;
[0022]服務器包括:用于接收語音概率值并選出當前的語音概率值最高的兩個發(fā)言者的語音流的接收選擇裝置,根據這兩個語音概率值大小決定是否使用疊加原理將選出的最多兩路語音流進行混音的混音裝置,及轉發(fā)語音包的發(fā)送裝置。
[0023]由上述對本發(fā)明的描述可知,與現(xiàn)有技術相比,本發(fā)明具有如下有益效果:
[0024]1、采用概率分析的方法,客戶端對語音流進行分析,服務器端利用接收到的語音概率值進行決策,充分利用服務器端與客戶端的資源,讓其共同分擔計算壓力,算法簡單、易實現(xiàn)、可擴展性好;
[0025]2、服務器端和客戶端的計算壓力小,反應時間快。在客戶端方面,只需要進行AMR編碼,并計算每個數據幀的能量值,以及判斷每幀數據是語音、靜音還是噪音,在服務器端方面,只需要比較每個客戶端的語音概率值,大多數時候不需要進行混音編碼操作,最多只需要對2路語音進行混音。
[0026]3、應用范圍廣,可適應PDA、手機等輕量級設備的應用。
【專利附圖】
【附圖說明】
[0027]圖1為本發(fā)明客戶端工作流程圖;
[0028]圖2為本發(fā)明服務器工作流程圖。
【具體實施方式】
[0029]以下通過【具體實施方式】對本發(fā)明作進一步的描述。
[0030]針對多方會議的實際應用需求,同時兼顧手機等便攜小設備的個性特征,提出一種新穎而簡單的快速實時的輕量級的多方會議混音方法。該方案的基本思想是,根據會議發(fā)言的特征,絕大多數情況下,只有一個人在發(fā)言,最多兩個人同時發(fā)言,其他都是聽眾。因此,本發(fā)明在服務器端最多選擇發(fā)言概率最高的兩路語音進行混音,并將混音后的語音發(fā)送給客戶端,從而客戶端不需要做混音,同時服務器端的混音計算量也不大。
[0031]一種輕量級的多方會議混音方法,預先設定:客戶端每隔20ms抓取到一幀語音信號,每幀語音信號包括160個采樣值,每個采樣值的能量為ri;設定統(tǒng)計窗口包括連續(xù)的20幀語音信號,當前幀的能量相對參考值為EMfOT。設定當前幀的前20個連續(xù)幀的非語音能量參考值的最大值為Entjise,而語音能量參考值的最大值表示為EV()ise,則當前幀的能量相對參考值用如下公式計算:
[0032]Erefer — Enoise+(Evoice_Enoise)/10。
[0033]其中,若當前幀為會話開始后首個20幀中的某I幀,例如第2幀,則用之前的I幀能量值作為能量相對參考值,若是第3幀,就用前面的1、2幀的對應值帶入公式中進行計算,以此類推。
[0034]包括如下步驟:
[0035]I)客戶端采用AMR編碼器對語音進行編碼后得到語音PCM數據及數據長度,對編碼后的語音PCM數據采用分幀處理,計算每幀語音能量值,并結合該幀語音能量值及其數據長度來確定該幀為語音幀或非語音幀,從而統(tǒng)計出語音PCM數據中語音幀的概率值。AMR編碼器對語音PCM數據編碼后,獲得編碼后的數據以及數據長度,數據長度用nsize表示。根據AMR編碼輸出的規(guī)則,nsize只有三個取值,當nsize為I時,為靜音狀態(tài);insize為6時,為噪音狀態(tài);當nsize為31時,為語音狀態(tài)。但是,這種劃分方法并不準確,當nsize為31時,基本上為語音狀態(tài),但當nsize為6時,卻有可能也是語音狀態(tài)。因此,當nsize為6時,需要綜合分析PCM數據的能量值。參照圖1,流程如下
[0036]1.1)客戶端輸入語音PCM數據及AMR編碼后的輸出長度,計算當前幀語音PCM數
160
據的能量值E: E=Y/,'r./=1
O
[0037]1.2)判斷AMR編碼后的當前幀輸出長度是否等于31,若是,則記錄該幀的能量值,作為語音能量參考值,判定該幀為語音幀并加入統(tǒng)計窗口內,進入步驟1.4);若否,則記錄該幀的能量值,作為非語音能量參考值,進入步驟1.3);
[0038]1.3)判斷該幀能量值是否大于能量相對參考值EMf?,若是,則判定該幀為語音幀,若否,則判定該幀為非語音幀;加入統(tǒng)計窗口內,進入步驟1.4)
[0039]1.4)判斷統(tǒng)計窗口是否已滿,若是,則計算統(tǒng)計窗口內語音幀的占比,表示成O到100的語音概率值;若否,則進入下一幀,跳至步驟1.1);
[0040]2)服務器端通過接收到的語音概率值選出當前的語音概率值最高的兩個發(fā)言者的語音流,并根據這兩個語音概率值大小決定是否使用疊加原理將選出的最多兩路語音流進行混音,最后轉發(fā)混音后的語音包。具體的,參照圖2,流程如下:
[0041]2.1)服務器接收客戶端發(fā)送過來的語音概率值,選出語音概率值最高的兩條語音流F1、F2,其語音概率值分別為P1、P2,P1>P2 ;
[0042]2.2)判斷PD2P2是否成立,若是,則只將P1對應的語音流輸出;若否,則將這兩條語音流進行混音后輸出。
[0043]本發(fā)明還提出一種輕量級的多方會議混音裝置,包括客戶端和服務器。
[0044]客戶端包括:用于對語音進行編碼得到語音PCM數據及數據長度的AMR編碼器、用于計算編碼后的語音PCM數據的每幀語音能量值的語音能量計算裝置、結合語音能量值及其數據長度來確定該幀為語音幀或非語音幀的判定裝置,及統(tǒng)計出語音PCM數據的統(tǒng)計窗口中語音幀的概率值的統(tǒng)計裝置。
[0045]服務器包括:用于接收語音概率值并選出當前的語音概率值最高的兩個發(fā)言者的語音流的接收選擇裝置,根據這兩個語音概率值大小決定是否使用疊加原理將選出的最多兩路語音流進行混音的混音裝置,及轉發(fā)語音包的發(fā)送裝置。
[0046]該裝置在客戶端進行編碼,并結合語音能量值和AMR編碼數據大小兩個因素來區(qū)分語音幀和非語音幀,從而統(tǒng)計出其語音概率值。服務器端,由語音概率值決策出當前發(fā)言者(最多兩個)的語音流,并使用疊加原理將選出的最多兩路流進行混音,最后轉發(fā)混音后的語音包。該方法巧妙地彌補了手機等便攜小設備計算能力弱的缺陷,同時又大大降低了服務器進行混音操作的計算量,可廣泛應用在多媒體多方會議系統(tǒng)中。
[0047]上述僅為本發(fā)明的【具體實施方式】,但本發(fā)明的設計構思并不局限于此,凡利用此構思對本發(fā)明進行非實質性的改動,均應屬于侵犯本發(fā)明保護范圍的行為。
【權利要求】
1.一種輕量級的多方會議混音方法,其特征在于:1)客戶端采用AMR編碼器對語音進行編碼后得到語音PCM數據及數據長度,對編碼后的語音PCM數據采用分幀處理,計算每幀語音能量值,并結合該幀語音能量值及其數據長度來確定該幀為語音幀或非語音幀,從而統(tǒng)計出語音PCM數據中語音幀的概率值;2)服務器端通過接收到的語音概率值選出當前的語音概率值最高的兩個發(fā)言者的語音流,并根據這兩個語音概率值大小決定是否使用疊加原理將選出的最多兩路語音流進行混音,最后轉發(fā)混音后的語音包。
2.如權利要求1所述的一種輕量級的多方會議混音方法,其特征在于:預先設定:客戶端每隔一段時間抓取到一幀語音信號,每幀語音信號包括m個采樣值,每個采樣值的能量為A ;設定統(tǒng)計窗口包括連續(xù)的η幀語音信號,當前幀的能量相對參考值為Erete ;步驟I)具體包括如下: 1.D客戶端輸入語音PCM數據及AMR編碼后的輸出長度,計算當前幀語音PCM數據的
m能量值Ε: ε=Σ!:*}:
i^l.1.2)判斷AMR編碼后的當前幀輸出長度是否等于31,若是,則記錄該幀的能量值,作為語音能量參考值,判定該幀為語音幀并加入統(tǒng)計窗口內,進入步驟1.4);若否,則記錄該幀的能量值,作為非語音能量參考值,進入步驟1.3); 1.3)判斷當前幀能量值是否大于其能量相對參考值EMf?,若是,則判定該幀為語音幀,若否,則判定該幀為非語音幀;加入新的統(tǒng)計窗口內,進入步驟1.4) 1.4)判斷統(tǒng)計窗口是否已滿,若是,則計算統(tǒng)計窗口內語音幀的占比,表示成O到100的語音概率值;若否,則進入下一幀,跳至步驟1.1)。
3.如權利要求2所述的一種輕量級的多方會議混音方法,其特征在于:設定當前幀的前η個連續(xù)幀的非語音能量參考值的最大值為EMise,而語音能量參考值的最大值表示為Evoise,則當前幀的能量相對參考值用如下公式計算:
^refer ^noise~^~ ^voice Eno;[se)/lO。
4.如權利要求1所述的一種輕量級的多方會議混音方法,其特征在于:步驟2)具體如下: 2.1)服務器接收客戶端發(fā)送過來的語音概率值,選出語音概率值最高的兩條語音流卩1、?2,其語音概率值分別為?1、?2,?1汗2 ; 2.2)判斷PD2P2是否成立,若是,則只將?1對應的語音流輸出;若否,則將這兩條語音流進行混音后輸出。
5.一種輕量級的多方會議混音裝置,包括客戶端和服務器,其特征在于: 客戶端包括:用于對語音進行編碼得到語音PCM數據及數據長度的AMR編碼器、用于計算編碼后的語音PCM數據的每幀語音能量值的語音能量計算裝置、結合語音能量值及其數據長度來確定該幀為語音幀或非語音幀的判定裝置,及統(tǒng)計出語音PCM數據的統(tǒng)計窗口中語音幀的概率值的統(tǒng)計裝置; 服務器包括:用于接收語音概率值并選出當前的語音概率值最高的兩個發(fā)言者的語音流的接收選擇裝置,根據這兩個語音概率值大小決定是否使用疊加原理將選出的最多兩路語音流進行混音的混音裝置,及轉發(fā)語音包的發(fā)送裝置。
【文檔編號】H04L29/06GK104167210SQ201410414450
【公開日】2014年11月26日 申請日期:2014年8月21日 優(yōu)先權日:2014年8月21日
【發(fā)明者】王田, 蔡奕僑, 鐘必能, 陳永紅, 田暉, 張國亮 申請人:華僑大學