欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

呼叫放音控制方法及裝置與流程

文檔序號(hào):12809448閱讀:448來源:國知局
呼叫放音控制方法及裝置與流程

本發(fā)明涉及移動(dòng)通信技術(shù)領(lǐng)域,尤其涉及一種呼叫放音控制方法及裝置。



背景技術(shù):

隨著移動(dòng)通信技術(shù)的發(fā)展,電話普及率的提高,用戶對(duì)電信業(yè)務(wù)的要求越來越高,呼叫放音業(yè)務(wù)成為一項(xiàng)重要的電信業(yè)務(wù)。目前,在云計(jì)算平臺(tái)中,媒體網(wǎng)關(guān)在呼叫放音時(shí),對(duì)媒體流的交互的碼型具備tc(transcoder)編解碼轉(zhuǎn)換的功能,包括采用g.711單一解編碼格式文件的管理呼叫放音的音元文件,并在虛擬機(jī)中直接采用在rtp(real-timetransportprotocol)-tc-tone的接續(xù)方式來進(jìn)行呼叫放音。即在在虛擬化的硬件平臺(tái)上,直接在虛擬機(jī)中進(jìn)行音文件的tc處理,而虛擬機(jī)在處理語音編解碼的能力相對(duì)比較差,一個(gè)虛機(jī)僅能處理有限的tc轉(zhuǎn)換,因此實(shí)際放音業(yè)務(wù)中需要占用大量的虛機(jī),同時(shí)編解碼轉(zhuǎn)換對(duì)虛擬機(jī)cpu和內(nèi)存資源占用非常大。因此當(dāng)前通過在虛擬機(jī)中完成語音編解碼處理后再進(jìn)行呼叫放音具有局限性,這將導(dǎo)致實(shí)際放音的配置成本很高,會(huì)造成云平臺(tái)的硬件資源的浪費(fèi),同時(shí)也對(duì)媒體流的傳輸業(yè)務(wù)的性能造成了較大的影響。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的主要目的在于提供一種呼叫放音控制方法及裝置,旨在解決當(dāng)前呼叫放音流程中需要在虛擬機(jī)中進(jìn)行語音編解碼處理的問題。

為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種呼叫放音控制方法,所述呼叫放音控制方法包括以下步驟:

媒體網(wǎng)關(guān)接收攜帶音包信息的呼叫放音請(qǐng)求;

根據(jù)所述呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息;

根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向放音收聽端播放所述音元文件。

優(yōu)選地,所述根據(jù)呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息的步驟包括:

根據(jù)所述呼叫放音請(qǐng)求,查詢與所述音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型及編解碼信息;

根據(jù)所述放音標(biāo)識(shí)信息及所述語言類型獲取所述音元列表信息及所述音元編號(hào)信息。

優(yōu)選地,所述根據(jù)音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件的步驟包括:

根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息確定音元地址;

根據(jù)所述音元地址確定所述音元文件。

優(yōu)選地,所述媒體網(wǎng)關(guān)接收攜帶音包信息的呼叫放音請(qǐng)求的步驟之前還包括:

加載已進(jìn)行編解碼處理的所述音元文件對(duì)應(yīng)的所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息。

優(yōu)選地,所述根據(jù)音元列表信息、所述編解碼信息選擇及所述音元編號(hào)信息對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向放音收聽端播放所述音元文件的步驟之后還包括:

在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測到當(dāng)前的會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí),則獲取與所述會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。

優(yōu)選地,所述根據(jù)音元列表信息、所述編解碼信息選擇及所述音元編號(hào)信息對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向放音收聽端播放所述音元文件的步驟之后還包括:

在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測所述放音收聽端的所述amr速率發(fā)生改變時(shí),則獲取到與所述amr速率發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。

此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種呼叫放音控制裝置,所述呼叫放音控制裝置包括:

接收模塊,用于接收攜帶音包信息的呼叫放音請(qǐng)求;

第一獲取模塊,用于根據(jù)所述呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息;

選擇模塊,用于根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向放音收聽端播放所述音元文件。

優(yōu)選地,所述第一獲取模塊包括:

查詢單元,用于根據(jù)所述呼叫放音請(qǐng)求,查詢與所述音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型及編解碼信息;

獲取單元,用于根據(jù)所述放音標(biāo)識(shí)信息及所述語言類型獲取所述音元列表信息及所述音元編號(hào)信息。

優(yōu)選地,所述選擇模塊包括:

第一確定單元,用于根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息確定音元地址;

第二確定單元,用于根據(jù)所述音元地址確定所述音元文件。

優(yōu)選地,所述呼叫放音控制裝置還包括:

加載模塊,用于加載已進(jìn)行編解碼處理的所述音元文件對(duì)應(yīng)的所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息。

優(yōu)選地,所述呼叫放音控制裝置還包括:

第二獲取模塊,用于在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測到當(dāng)前的會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí),則獲取與所述會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。

優(yōu)選地,所述呼叫放音控制裝置還包括:

第三獲取模塊,用于在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測所述放音收聽端的所述amr速率發(fā)生改變時(shí),則獲取到與所述amr速率發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。

本發(fā)明通過媒體網(wǎng)關(guān)接收攜帶音包信息的呼叫放音請(qǐng)求,根據(jù)所述呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息,并根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向 放音收聽端播放所述音元文件。由于在云計(jì)算平臺(tái)的媒體網(wǎng)關(guān)放音業(yè)務(wù)使用中,根據(jù)接收到的呼叫放音請(qǐng)求,該媒體網(wǎng)關(guān)直接出放音需要的碼型數(shù)據(jù)流到rtp,不在虛擬機(jī)內(nèi)進(jìn)行碼型的轉(zhuǎn)換處理,使得媒體網(wǎng)關(guān)直接通過音元尋址獲取到對(duì)應(yīng)的音元文件,并播放該音元文件,節(jié)省了編解碼轉(zhuǎn)換資源,并加快了放音效率,減少虛擬機(jī)對(duì)cpu等硬件資源的占用,提升物理機(jī)運(yùn)行的虛擬機(jī)數(shù)量,從而提高了物理硬件平臺(tái)的資源利用率。

附圖說明

圖1為本發(fā)明呼叫放音控制方法的第一實(shí)施例的流程示意圖;

圖2為傳統(tǒng)呼叫放音方式的構(gòu)架示意圖;

圖3為本發(fā)明改進(jìn)后的呼叫放音方式的構(gòu)架示意圖;

圖4為音元文件制作與裝載示意圖;

圖5為用戶面音元尋址示意圖;

圖6為本發(fā)明呼叫放音控制方法的第二實(shí)施例中根據(jù)呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息的細(xì)化流程示意圖;

圖7為本發(fā)明呼叫放音控制方法的第三實(shí)施例中根據(jù)音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件的細(xì)化流程示意圖;

圖8為本發(fā)明呼叫放音控制方法的第四實(shí)施例的流程示意圖;

圖9為本發(fā)明呼叫放音控制方法的第五實(shí)施例的流程示意圖;

圖10為本發(fā)明呼叫放音控制方法的第六實(shí)施例的流程示意圖;

圖11為本發(fā)明呼叫放音控制裝置的第一實(shí)施例的功能模塊示意圖;

圖12為本發(fā)明呼叫放音控制裝置的第二實(shí)施例中第一獲取模塊的細(xì)化功能模塊示意圖;

圖13為本發(fā)明呼叫放音控制裝置的第三實(shí)施例中選擇模塊的細(xì)化功能模塊示意圖;

圖14為本發(fā)明呼叫放音控制裝置的第四實(shí)施例的功能模塊示意圖;

圖15為本發(fā)明呼叫放音控制裝置的第五實(shí)施例的功能模塊示意圖;

圖16為本發(fā)明呼叫放音控制裝置的第六實(shí)施例的功能模塊示意圖。

本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步 說明。

具體實(shí)施方式

應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

基于上述問題,本發(fā)明提供一種呼叫放音控制方法。

參照?qǐng)D1,圖1為本發(fā)明呼叫放音控制方法的第一實(shí)施例的流程示意圖。

在本實(shí)施例中,所述呼叫放音控制方法包括:

步驟s10,媒體網(wǎng)關(guān)接收攜帶音包信息的呼叫放音請(qǐng)求;

在本實(shí)施例中,媒體網(wǎng)關(guān)接收到服務(wù)器發(fā)送過來的攜帶音包信息的呼叫放音請(qǐng)求,請(qǐng)求該媒體網(wǎng)關(guān)向放音收聽端放音。該音包信息包含放音業(yè)務(wù)參數(shù),如url地址。

步驟s20,根據(jù)所述呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息;

在接收到該呼叫放音請(qǐng)求后,該媒體網(wǎng)關(guān)中的h248g協(xié)議根據(jù)該呼叫放音請(qǐng)求,獲取已制作并已加載完成的,與該音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息,并獲取用戶面語音資源。

步驟s30,根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向放音收聽端播放所述音元文件。

在獲取到該音元列表信息、編解碼信息及音元編號(hào)信息后,該媒體網(wǎng)關(guān)中的h248g協(xié)議進(jìn)行tc資源分析和接續(xù)處理,使得該媒體網(wǎng)關(guān)中的用戶面語音模塊的電路接通。在該用戶面語音模塊的電路接通后,該用戶面語音模塊根據(jù)該音元列表信息、編解碼信息及音元編號(hào)信息選擇對(duì)應(yīng)的音元文件進(jìn)行播放。

該媒體網(wǎng)關(guān)中的h248g對(duì)g.711碼型放音環(huán)節(jié)的改造包括:放音流程改造;各種停放音流程改造;收號(hào)流程改造;各種停收號(hào)流程改造;上下文資源分析流程和接續(xù)拆續(xù)分析和處理流程改造,以支持以下場景的接續(xù)和tc資源分析:

場景1:g.711碼型的放音流程為rtp的碼型為g.711,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致;

場景2:g.711放音+tc方式收號(hào)流程改造為rtp的碼型為g.711,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致;

場景3:壓縮碼型放音流程改造為rtp的碼型為壓縮碼型,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致;

場景4:壓縮碼型放音+tc方式收號(hào)流程改造為rtp的碼型為壓縮,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致。

該媒體網(wǎng)關(guān)中的h248g對(duì)其他壓縮碼型放音環(huán)節(jié)的改造包括:放音流程改造;各種停放音流程改造;收號(hào)流程改造;各種停收號(hào)流程改造;上下文資源分析流程和接續(xù)拆續(xù)分析和處理流程改造,以支持以下場景的接續(xù)和tc資源分析:

場景1:壓縮碼型放音流程為rtp的碼型與tone的碼型一致的場景;

場景2:放音+tc方式收號(hào)流程為rtp的碼型任意,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致;其中,如果rtp不是g.711,不收號(hào)。

需要說明的是,當(dāng)沒有加載某種壓縮碼型的音庫時(shí),如果需要放音,統(tǒng)一采用默認(rèn)的g.711碼型的音元進(jìn)行放音。

圖2為傳統(tǒng)呼叫放音方式的構(gòu)架示意圖,傳統(tǒng)的呼叫放音方式是在放音時(shí),將需要放音的音數(shù)據(jù)編解碼成放音終端識(shí)別的碼型,從而達(dá)到呼叫放音的目的。

圖3為本發(fā)明改進(jìn)后的呼叫放音方式的構(gòu)架示意圖,經(jīng)過本發(fā)明改進(jìn)后的呼叫放音方式是在放音時(shí),不需要編解碼,而是通過音元尋址的方式查詢到需要播放的音元文件,從而達(dá)到呼叫放音的目的。

圖4為音元文件制作與裝載示意圖,輸入標(biāo)準(zhǔn)的.wav格式的音元文件后,將該音元文件轉(zhuǎn)換成媒體網(wǎng)關(guān)支持的編解碼信息(如壓縮碼型凈荷文件),并將該編解碼信息加載且存儲(chǔ)到該媒體網(wǎng)關(guān)中,以提供呼叫放音的音元文件。

圖5為用戶面音元尋址示意圖,不同類型的音元文件對(duì)應(yīng)不同類型的編解碼信息,因此用戶面放音需要根據(jù)不同類型的編解碼信息包含的編解碼參數(shù)、音元id來索引音元地址,為此:需要建立兩級(jí)索引,需要為每種編解碼型(如:amr速率)建立一個(gè)音元索引數(shù)組,根據(jù)碼型信息索引該種碼型的音元地址。

本實(shí)施例通過媒體網(wǎng)關(guān)接收攜帶音包信息的呼叫放音請(qǐng)求,根據(jù)所述呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編 號(hào)信息,并根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向放音收聽端播放所述音元文件。由于在云計(jì)算平臺(tái)的媒體網(wǎng)關(guān)放音業(yè)務(wù)使用中,根據(jù)接收到的呼叫放音請(qǐng)求,該媒體網(wǎng)關(guān)直接出放音需要的碼型數(shù)據(jù)流到rtp,不在虛擬機(jī)內(nèi)進(jìn)行碼型的轉(zhuǎn)換處理,使得媒體網(wǎng)關(guān)直接通過音元尋址獲取到對(duì)應(yīng)的音元文件,并播放該音元文件,節(jié)省了編解碼轉(zhuǎn)換資源,該方法加快了放音效率,減少虛擬機(jī)對(duì)cpu等硬件資源的占用,提升物理機(jī)運(yùn)行的虛擬機(jī)數(shù)量,從而提高了物理硬件平臺(tái)的資源利用率。

進(jìn)一步的,基于所述第一實(shí)施例,提出本發(fā)明呼叫放音控制方法的第二實(shí)施例,在本實(shí)施例中,參照?qǐng)D6,上述步驟s20包括:

步驟s21,根據(jù)所述呼叫放音請(qǐng)求,查詢與所述音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型及編解碼信息;

在本實(shí)施例中,根據(jù)該呼叫放音請(qǐng)求,查詢并獲取與該呼叫放音請(qǐng)求攜帶的音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型及所述編解碼信息,該放音標(biāo)識(shí)信息包括呼叫放音配置參數(shù),該解編碼信息包括編解碼信息包括編解碼參數(shù)、音元id等。

步驟s22,根據(jù)所述放音標(biāo)識(shí)信息及所述語言類型獲取所述音元列表信息及所述音元編號(hào)信息。

在獲取到與該呼叫放音請(qǐng)求攜帶的音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型后,該媒體網(wǎng)關(guān)中的h248g協(xié)議查詢?cè)撆c該放音標(biāo)識(shí)信息、語言類型對(duì)應(yīng)的音元列表信息,并申請(qǐng)用戶面語音資源,該音元列表信息存儲(chǔ)的是各編解碼音元索引地址。

本實(shí)施例通過根據(jù)所述呼叫放音請(qǐng)求,查詢與所述音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型及編解碼信息,并根據(jù)所述放音標(biāo)識(shí)信息及所述語言類型獲取所述音元列表信息及所述音元編號(hào)信息。由于該音元列表信息是一個(gè)檢索表格,記錄了每個(gè)音元文件的音元地址,而該音元編號(hào)信息是記錄該音元列表信息每個(gè)音元地址的存儲(chǔ)順序,因此使得媒體網(wǎng)關(guān)能夠快速的獲取到呼叫放音的音元地址,從而加快了放音效率。

進(jìn)一步的,基于所述第一實(shí)施例,提出本發(fā)明呼叫放音控制方法的第三實(shí)施例,在本實(shí)施例中,參照?qǐng)D7,上述步驟s30包括:

步驟s31,根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息確定音元地址;

在本實(shí)施例中,在獲取到音元列表信息、音元編號(hào)信息,結(jié)合與該呼叫放音請(qǐng)求關(guān)聯(lián)的編解碼信息,確定該呼叫放音與獲取的音元文件的音元地址。

步驟s32,根據(jù)所述音元地址確定所述音元文件。

不同類型的音元文件對(duì)應(yīng)不同類型的編解碼信息,因此用戶面放音需要根據(jù)不同類型的編解碼信息包含的編解碼參數(shù)、音元id來索引音元地址,為此:需要建立兩級(jí)索引,需要為每種編解碼(如:amr速率)建立一個(gè)音元索引數(shù)組,根據(jù)碼型信息索引該種碼型的音元地址,該索引表需要占用用戶面一定的內(nèi)存空間。

用戶面放音時(shí)音元文件尋址處理,即在獲取到該音元地址后,根據(jù)該音元地址確定該音元文件,以供該媒體網(wǎng)關(guān)向放音收聽端播放該音元文件。

本實(shí)施例通過根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息確定音元地址,根據(jù)所述音元地址確定所述音元文件,使得媒體網(wǎng)關(guān)直接通過音元尋址獲取到對(duì)應(yīng)的音元文件,并播放該音元文件,而不需要在呼叫放音時(shí)進(jìn)行碼型轉(zhuǎn)換處理,節(jié)省了編解碼轉(zhuǎn)換資源,該方法加快了放音效率,減少虛擬機(jī)對(duì)cpu等硬件資源的占用,提升物理機(jī)運(yùn)行的虛擬機(jī)數(shù)量,從而提高了物理硬件平臺(tái)的資源利用率。

進(jìn)一步的,基于所述第一實(shí)施例,提出本發(fā)明呼叫放音控制方法的第四實(shí)施例,在本實(shí)施例中,參照?qǐng)D8,上述步驟s10之前,所述呼叫放音控制方法還包括:

步驟s40,加載已進(jìn)行編解碼處理的所述音元文件對(duì)應(yīng)的所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息。

在本實(shí)施例中,在輸入標(biāo)準(zhǔn)的.wav格式的音元文件后,如g.711編解碼(a/u律)類型的音元文件,通過轉(zhuǎn)換為二進(jìn)制文件格式,根據(jù)不同的編解碼輸出不同壓縮碼型的語音凈荷信息文件;該轉(zhuǎn)換按照一定規(guī)則,對(duì)生成的不同編解碼(如g.729//evrc/gsm_fr/…等)的音元文件進(jìn)行組織。

將編解碼的音庫文件加載到該媒體網(wǎng)關(guān)主音管理任務(wù)中/進(jìn)程中。根據(jù)用戶的選擇需要加載的音元(可以指定是否過濾已加載音元);從網(wǎng)管->語音任務(wù)(主)發(fā)起請(qǐng)求,語音任務(wù)(主)進(jìn)入加載狀態(tài);語音任務(wù)(主)通過ftp連接到網(wǎng)管服務(wù)端,獲取需要加載的文件大小,并獲取需要加載的文件到本地的語音進(jìn)程(主);語音任務(wù)(主)更新本地的音元配置信息,并做持久化的保存;語音任務(wù)(主)對(duì)批量保存的音元文件上報(bào)下載的進(jìn)度;當(dāng)所有的待加載的編解碼音元處理完成后,上報(bào)處理完成的響應(yīng)。

需要說明的是,語音進(jìn)程(主)與用戶面語音進(jìn)程/語音進(jìn)程(備)校驗(yàn)與同步,包含以下的處理步驟:

用戶面語音進(jìn)程/語音進(jìn)程(備)上電處理:用戶面語音進(jìn)程/語音進(jìn)程(備)在上電時(shí),讀取語音配置信息和音元編號(hào)信息并加載;用戶面語音任務(wù)/語音任務(wù)(備)定期比較加載的配置信息和音元編號(hào)信息(包括是否存在,且大小、時(shí)間、crc信息等一致比較),并刪除不一致的信息;向語音任務(wù)(主)發(fā)起音校驗(yàn)請(qǐng)求并收到響應(yīng);用戶面語音進(jìn)程/語音進(jìn)程(備)音元發(fā)起校驗(yàn):語音進(jìn)程(主)定期向語音任務(wù)(主)發(fā)送通信狀態(tài)正常的模塊信息;語音任務(wù)(主)開音元校驗(yàn)使用的數(shù)據(jù)區(qū);語音任務(wù)(主)進(jìn)行本地保存收到用戶面語音進(jìn)程/語音進(jìn)程(備)上電后發(fā)起音校驗(yàn)請(qǐng)求;語音任務(wù)(主)在空閑態(tài)的情況下發(fā)起語音校驗(yàn);當(dāng)某個(gè)模塊的語音校驗(yàn)完成后判斷是否還有待校驗(yàn)的模塊,如果存在則語音任務(wù)(主)主動(dòng)或定時(shí)發(fā)起語音輪循校驗(yàn)。

用戶面語音進(jìn)程/語音進(jìn)程(備)音元校驗(yàn)過程:語音任務(wù)(主)發(fā)起語音校驗(yàn);進(jìn)入音元同步態(tài);用戶面語音任務(wù)/語音任務(wù)(備)收到語音校驗(yàn)后保存語音任務(wù)(主)信息并獲取音元配置信息與本地音元配置信息進(jìn)行比較;發(fā)現(xiàn)不一致的信息后通過ftp從語音進(jìn)程(主)重新獲取語音文件,修改本地的語音配置信息并持久化保存;批量處理完不一致的數(shù)據(jù)后上報(bào)進(jìn)度給語音任務(wù)(主);當(dāng)所有音元檢查請(qǐng)求完成后,語音任務(wù)(主)進(jìn)入空閑態(tài)。

同時(shí),用戶面增加對(duì)音內(nèi)存管理組織方式,即對(duì)生成的不同編解碼(如g.729//evrc/gsm_fr/…等)的音元文件進(jìn)行組織。首先使用兩個(gè)隊(duì)列(節(jié)點(diǎn)方式均動(dòng)態(tài)申請(qǐng)和釋放),例如,音文件隊(duì)列及空閑塊隊(duì)列。其中,音文件隊(duì)列,用于管理插入的音元文件;空閑塊隊(duì)列,用于管理空閑內(nèi)存塊。

在分配內(nèi)存時(shí),找到一個(gè)比所要求尺寸條件的空閑塊稍大的內(nèi)存塊(若 找到一個(gè)完全符合所要求尺寸條件的空閑塊,則該空閑節(jié)點(diǎn)就不需要了,需要釋放掉),將其分裂為兩塊,一塊大小為所要求的尺寸大小,另一塊為剩余大小。產(chǎn)生新的文件隊(duì)列節(jié)點(diǎn),指向尺寸大小的內(nèi)存,并將該文件節(jié)點(diǎn)鏈入文件隊(duì)列。將原空閑結(jié)點(diǎn)指向剩余大小的內(nèi)存。

在用戶面內(nèi)存釋放時(shí),找到需要釋放的內(nèi)存對(duì)應(yīng)的文件節(jié)點(diǎn),并檢查文件節(jié)點(diǎn)指向的內(nèi)存,如果內(nèi)存左側(cè)和右側(cè)均為空閑內(nèi)存,則將左側(cè)空閑節(jié)點(diǎn)、本文件節(jié)點(diǎn)、右側(cè)空閑節(jié)點(diǎn)指向的內(nèi)存合并。并用一個(gè)新的空閑節(jié)點(diǎn)指向該合并的內(nèi)存,即新的空閑節(jié)點(diǎn)鏈入空閑節(jié)點(diǎn)隊(duì)列,則老的左側(cè)、右側(cè)空閑節(jié)點(diǎn)釋放。同時(shí),釋放文件節(jié)點(diǎn),如果僅內(nèi)存左側(cè)為空閑內(nèi)存,則將本內(nèi)存和左側(cè)節(jié)點(diǎn)內(nèi)存進(jìn)行合并;如果僅內(nèi)存右側(cè)為空閑內(nèi)存,則將本內(nèi)存和右側(cè)節(jié)點(diǎn)內(nèi)存進(jìn)行合并;如果左側(cè)和右側(cè)內(nèi)存均不空閑,則產(chǎn)生一個(gè)新的空閑節(jié)點(diǎn)管理該內(nèi)存。

在用戶面內(nèi)存緊縮時(shí),即當(dāng)共享內(nèi)存中的空閑碎片過多,雖然總的空閑容量能滿足一個(gè)音元的記錄,但是沒有一個(gè)單一的碎片能容納音元的記錄,則需要內(nèi)存緊縮。內(nèi)存緊縮實(shí)際就是內(nèi)存移位,即將有文件的內(nèi)存向前拷貝,空閑內(nèi)存合并到一起。

本實(shí)施例通過加載已進(jìn)行編解碼處理的所述音元文件對(duì)應(yīng)的所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息,使得媒體網(wǎng)關(guān)直接通過音元尋址獲取到對(duì)應(yīng)的音元文件,并播放該音元文件,而不需要在呼叫放音時(shí)進(jìn)行碼型轉(zhuǎn)換處理,節(jié)省了編解碼轉(zhuǎn)換資源,該方法加快了放音效率,減少虛擬機(jī)對(duì)cpu等硬件資源的占用,提升物理機(jī)運(yùn)行的虛擬機(jī)數(shù)量,從而提高了物理硬件平臺(tái)的資源利用率。

進(jìn)一步的,基于上述第一至第三任一實(shí)施例,提出本發(fā)明呼叫放音控制方法的第五實(shí)施例,在本實(shí)施例中,參照?qǐng)D9,上述步驟s30之后,所述呼叫放音控制方法還包括:

步驟s50,在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測到當(dāng)前的會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí),則獲取與所述會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。

在本實(shí)施例中,在本發(fā)明的放音過程中,當(dāng)放音終端發(fā)生sdp切換(如: sdp中的放音編解碼等參數(shù)修改),則能及時(shí)對(duì)應(yīng)修改放音參數(shù),達(dá)到放音終端的音元文件可以繼續(xù)播放。

若sdp參數(shù)切換前后都需要編解碼。在sdp切換流程中,放音流程判斷如果當(dāng)前正在放音或放音+收號(hào),則采用新sdp編解碼參數(shù)對(duì)是否需要tc進(jìn)行重新分析。如果分析結(jié)果為新的sdp需要tc,并且當(dāng)前也正在使用tc,則使用原有tc和音元資源繼續(xù)播放,不修改放音元文件。

若sdp參數(shù)切換前后都不需要編解碼。在sdp切換流程中,本發(fā)明的放音流程判斷如果當(dāng)前正在放音或放音+收號(hào),則采用新sdp編解碼參數(shù)對(duì)是否需要tc進(jìn)行重新分析。如果分析結(jié)果為新的sdp不需要tc,并且當(dāng)前也未使用tc,則當(dāng)前的流程保持不變。

若sdp參數(shù)切換前無編解碼,切換后有編解碼。在sdp切換流程中,本發(fā)明的放音流程判斷如果當(dāng)前正在放音或放音+收號(hào),則采用新sdp編解碼參數(shù)對(duì)是否需要tc進(jìn)行重新分析。如果分析結(jié)果為新的sdp需要tc,并且當(dāng)前不在使用tc,則首先申請(qǐng)tc資源,拆除rtp和tone之間的接續(xù)(此時(shí)用戶面的放音通道保持不釋放),接續(xù)rtp和tc,接續(xù)tc和tone;再通知用戶面控制進(jìn)程;然后用戶面控制進(jìn)程通知tone放音通道;最后放音通道切換到新的碼型(g.711與網(wǎng)元內(nèi)部au律一致)的音元文件,且需要計(jì)算下之前播放的時(shí)間,從當(dāng)前時(shí)間開始使用新的碼型播放。

若sdp參數(shù)切換前有編解碼,切換后無編解碼。在sdp切換流程中,本發(fā)明的放音流程判斷如果當(dāng)前正在放音或放音+收號(hào),則采用新sdp編解碼參數(shù)對(duì)是否需要tc進(jìn)行重新分析。如果分析結(jié)果為新的sdp不需要tc,并且當(dāng)前在使用tc,則首先拆除rtp和tc之間的接續(xù),拆除tc和tone之間的接續(xù)(用戶面的放音通道保持不釋放),釋放tc資源,接續(xù)rtp和tone;再通知用戶面控制進(jìn)程;然后用戶面控制進(jìn)程通知tone放音通道;最后放音通道切換到新的碼型的音元文件,且需要計(jì)算下之前播放的時(shí)間,從當(dāng)前時(shí)間開始使用新的碼型播放。

本實(shí)施例通過在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測到當(dāng)前的會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí),則獲取與所述會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí)對(duì)應(yīng)的音元文件,使得本法明在呼叫放音終端發(fā)生sdp切換時(shí),能及時(shí)對(duì)應(yīng)修改呼叫放音的編解碼信息,從而達(dá)到呼叫放音終端的音元文件可以繼續(xù) 播放。

進(jìn)一步的,基于所述第一至第三任一實(shí)施例,提出本發(fā)明呼叫放音控制方法的第六實(shí)施例,在本實(shí)施例中,參照?qǐng)D10,上述步驟s30之后,所述呼叫放音控制方法還包括:

步驟s60,在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測所述放音收聽端的所述amr速率發(fā)生改變時(shí),則獲取到與所述amr速率發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。

在本發(fā)明的放音過程中,若對(duì)端發(fā)生了主動(dòng)amr速率調(diào)整,本發(fā)明能自動(dòng)識(shí)別對(duì)端amr速率調(diào)整,并且立即切換到新的amr速率上繼續(xù)播放。

在媒體網(wǎng)關(guān)加載了amr調(diào)整前后不同速率集的音庫的情況下,語音資源模塊識(shí)別對(duì)端rtp過來的速率調(diào)整報(bào)文,并進(jìn)行分析處理。當(dāng)識(shí)別到發(fā)生amr速率調(diào)整時(shí),用戶面語音放音通道自行切換到新的amr速率上,且重新計(jì)算下之前播放的時(shí)間,從當(dāng)前時(shí)間開始使用新的碼型播放。并通知用戶面的控制進(jìn)程amr速率發(fā)生變化,用戶面的控制進(jìn)程對(duì)放音統(tǒng)計(jì)信息進(jìn)行修改。若調(diào)整后的amr速率對(duì)應(yīng)的音元未加載,則語音放音通道自動(dòng)播放g.711碼型的音元進(jìn)行播放。

本實(shí)施例通過在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測所述放音收聽端的所述amr速率發(fā)生改變時(shí),則獲取到與所述amr速率發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。當(dāng)放音收聽端所在的無線信號(hào)弱,寬帶小的情況下,在進(jìn)行amr編解碼放音時(shí)請(qǐng)求降低播放的速率,從而保證放音的質(zhì)量。

本發(fā)明進(jìn)一步提供一種呼叫放音控制裝置。

參照?qǐng)D11,圖11為本發(fā)明呼叫放音控制裝置的第一實(shí)施例的功能模塊示意圖。

在本實(shí)施例中,所述呼叫放音控制裝置包括:接收模塊10、第一獲取模塊20、選擇模塊30。

所述接收模塊10,用于媒體網(wǎng)關(guān)接收攜帶音包信息的呼叫放音請(qǐng)求;

在本實(shí)施例中,媒體網(wǎng)關(guān)接收到服務(wù)器發(fā)送過來的攜帶音包信息的呼叫放音請(qǐng)求,請(qǐng)求該媒體網(wǎng)關(guān)向放音收聽端放音。該音包信息包含放音業(yè)務(wù)參 數(shù),如url地址。

所述第一獲取模塊20,用于根據(jù)所述呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息;

在接收到該呼叫放音請(qǐng)求后,該媒體網(wǎng)關(guān)中的h248g協(xié)議根據(jù)該呼叫放音請(qǐng)求,獲取已制作并已加載完成的,與該音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息,并獲取用戶面語音資源。

所述選擇模塊30,用于根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向放音收聽端播放所述音元文件。

在獲取到該音元列表信息、編解碼信息及音元編號(hào)信息后,該媒體網(wǎng)關(guān)中的h248g協(xié)議進(jìn)行tc資源分析和接續(xù)處理,使得該媒體網(wǎng)關(guān)中的用戶面語音模塊的電路接通。在該用戶面語音模塊的電路接通后,該用戶面語音模塊根據(jù)該音元列表信息、編解碼信息及音元編號(hào)信息選擇對(duì)應(yīng)的音元文件進(jìn)行播放。

該媒體網(wǎng)關(guān)中的h248g對(duì)g.711碼型放音環(huán)節(jié)的改造包括:放音流程改造;各種停放音流程改造;收號(hào)流程改造;各種停收號(hào)流程改造;上下文資源分析流程和接續(xù)拆續(xù)分析和處理流程改造,以支持以下場景的接續(xù)和tc資源分析:

場景1:g.711碼型的放音流程為rtp的碼型為g.711,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致;

場景2:g.711放音+tc方式收號(hào)流程改造為rtp的碼型為g.711,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致;

場景3:壓縮碼型放音流程改造為rtp的碼型為壓縮碼型,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致;

場景4:壓縮碼型放音+tc方式收號(hào)流程改造為rtp的碼型為壓縮,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致。

該媒體網(wǎng)關(guān)中的h248g對(duì)其他壓縮碼型放音環(huán)節(jié)的改造包括:放音流程改造;各種停放音流程改造;收號(hào)流程改造;各種停收號(hào)流程改造;上下文資源分析流程和接續(xù)拆續(xù)分析和處理流程改造,以支持以下場景的接續(xù)和tc資源分析:

場景1:壓縮碼型放音流程為rtp的碼型與tone的碼型一致的場景;

場景2:放音+tc方式收號(hào)流程為rtp的碼型任意,tone采用g.711碼型的音元,與網(wǎng)關(guān)內(nèi)部au律一致;其中,如果rtp不是g.711,不收號(hào)。

需要說明的是,當(dāng)沒有加載某種壓縮碼型的音庫時(shí),如果需要放音,統(tǒng)一采用默認(rèn)的g.711碼型的音元進(jìn)行放音。

本實(shí)施例通過接收模塊10接收攜帶音包信息的呼叫放音請(qǐng)求,第一獲取模塊20根據(jù)所述呼叫放音請(qǐng)求獲取與所述音包信息關(guān)聯(lián)的音元列表信息、編解碼信息及音元編號(hào)信息,選擇模塊30根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息選擇對(duì)應(yīng)的音元文件,以供所述媒體網(wǎng)關(guān)在進(jìn)行呼叫tc資源分析和接續(xù)處理后向放音收聽端播放所述音元文件。由于在云計(jì)算平臺(tái)的媒體網(wǎng)關(guān)放音業(yè)務(wù)使用中,根據(jù)接收到的呼叫放音請(qǐng)求,該媒體網(wǎng)關(guān)直接出放音需要的碼型數(shù)據(jù)流到rtp,不在虛擬機(jī)內(nèi)進(jìn)行碼型的轉(zhuǎn)換處理,使得媒體網(wǎng)關(guān)直接通過音元尋址獲取到對(duì)應(yīng)的音元文件,并播放該音元文件,節(jié)省了編解碼轉(zhuǎn)換資源,該方法加快了放音效率,減少虛擬機(jī)對(duì)cpu等硬件資源的占用,提升物理機(jī)運(yùn)行的虛擬機(jī)數(shù)量,從而提高了物理硬件平臺(tái)的資源利用率。

進(jìn)一步的,基于第一實(shí)施例,提出本發(fā)明呼叫放音控制裝置的第二實(shí)施例,在本實(shí)施例中,參照?qǐng)D12,所述第一獲取模塊20包括查詢單元21、獲取單元22。

所述查詢單元21,用于根據(jù)所述呼叫放音請(qǐng)求,查詢與所述音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型及編解碼信息;

在本實(shí)施例中,根據(jù)該呼叫放音請(qǐng)求,查詢并獲取與該呼叫放音請(qǐng)求攜帶的音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型及所述編解碼信息,該放音標(biāo)識(shí)信息包括呼叫放音配置參數(shù),該解編碼信息包括編解碼信息包括編解碼參數(shù)、音元id等。

所述獲取單元22,用于根據(jù)所述放音標(biāo)識(shí)信息及所述語言類型獲取所述音元列表信息及所述音元編號(hào)信息。

在獲取到該與該呼叫放音請(qǐng)求攜帶的音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型后,該媒體網(wǎng)關(guān)中的h248g協(xié)議查詢?cè)撆c該放音標(biāo)識(shí)信息、語言類型 對(duì)應(yīng)的音元列表信息,并申請(qǐng)用戶面語音資源,該音元列表信息存儲(chǔ)的是各編解碼音元索引地址。

本實(shí)施例通過根據(jù)所述呼叫放音請(qǐng)求,查詢與所述音包信息關(guān)聯(lián)的放音標(biāo)識(shí)信息、語言類型及編解碼信息,并根據(jù)所述放音標(biāo)識(shí)信息及所述語言類型獲取所述音元列表信息及所述音元編號(hào)信息。由于該音元列表信息是一個(gè)檢索表格,記錄了每個(gè)音元文件的音元地址,而該音元編號(hào)信息是記錄該音元列表信息每個(gè)音元地址的存儲(chǔ)順序,因此使得媒體網(wǎng)關(guān)能夠快速的獲取到呼叫放音的音元地址,從而加快了放音效率。

進(jìn)一步的,基于第一實(shí)施例,提出本發(fā)明呼叫放音控制裝置的第三實(shí)施例,在本實(shí)施例中,參照?qǐng)D13,所述選擇模塊30包括第一確定單元31、第二確定單元32。

所述第一確定單元31,用于根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息確定音元地址;

在本實(shí)施例中,在獲取到音元列表信息、音元編號(hào)信息,結(jié)合與該呼叫放音請(qǐng)求關(guān)聯(lián)的編解碼信息,確定該呼叫放音與獲取的音元文件的音元地址。

所述第二確定單元32,用于根據(jù)所述音元地址確定所述音元文件。

不同類型的音元文件對(duì)應(yīng)不同類型的編解碼信息,因此用戶面放音需要根據(jù)不同類型的編解碼信息包含的編解碼參數(shù)、音元id來索引音元地址,為此:需要建立兩級(jí)索引,需要為每種編解碼(如:amr速率等)建立一個(gè)音元索引數(shù)組,根據(jù)碼型信息索引該種碼型的音元地址,該索引表需要占用用戶面一定的內(nèi)存空間。

用戶面放音時(shí)音元文件尋址處理,即在獲取到該音元地址后,根據(jù)該音元地址確定該音元文件,以供該媒體網(wǎng)關(guān)向放音收聽端播放該音元文件。

本實(shí)施例通過根據(jù)所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息確定音元地址,根據(jù)所述音元地址確定所述音元文件,使得媒體網(wǎng)關(guān)直接通過音元尋址獲取到對(duì)應(yīng)的音元文件,并播放該音元文件,而不需要在呼叫放音時(shí)進(jìn)行碼型轉(zhuǎn)換處理,節(jié)省了編解碼轉(zhuǎn)換資源,該方法加快了放音效率,減少虛擬機(jī)對(duì)cpu等硬件資源的占用,提升物理機(jī)運(yùn)行的虛擬機(jī)數(shù)量,從而提高了物理硬件平臺(tái)的資源利用率。

進(jìn)一步的,基于第一實(shí)施例,提出本發(fā)明呼叫放音控制裝置的第四實(shí)施例,在本實(shí)施例中,參照?qǐng)D14,所述呼叫放音控制裝置還包括:加載模塊40。

所述加載模塊40,用于加載已進(jìn)行編解碼處理的所述音元文件對(duì)應(yīng)的所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息。

在本實(shí)施例中,在輸入標(biāo)準(zhǔn)的.wav格式的音元文件后,如g.711編解碼(a/u律)類型的音元文件,通過轉(zhuǎn)換為二進(jìn)制文件格式,根據(jù)不同的編解碼輸出不同壓縮碼型的語音凈荷信息文件;該轉(zhuǎn)換按照一定規(guī)則,對(duì)生成的不同編解碼(如g.729//evrc/gsm_fr/…等)的音元文件進(jìn)行組織。

將編解碼的音庫文件加載到該媒體網(wǎng)關(guān)主音管理任務(wù)中/進(jìn)程中。根據(jù)用戶的選擇需要加載的音元(可以指定是否過濾已加載音元);從網(wǎng)管->語音任務(wù)(主)發(fā)起請(qǐng)求,語音任務(wù)(主)進(jìn)入加載狀態(tài);語音任務(wù)(主)通過ftp連接到網(wǎng)管服務(wù)端,獲取需要加載的文件大小,并獲取需要加載的文件到本地的語音進(jìn)程(主);語音任務(wù)(主)更新本地的音元配置信息,并做持久化的保存;語音任務(wù)(主)對(duì)批量保存的音元文件上報(bào)下載的進(jìn)度;當(dāng)所有的待加載的編解碼音元處理完成后,上報(bào)處理完成的響應(yīng)。

需要說明的是,語音進(jìn)程(主)與用戶面語音進(jìn)程/語音進(jìn)程(備)校驗(yàn)與同步,包含以下的處理步驟:

用戶面語音進(jìn)程/語音進(jìn)程(備)上電處理:用戶面語音進(jìn)程/語音進(jìn)程(備)在上電時(shí),讀取語音配置信息和音元編號(hào)信息并加載;用戶面語音任務(wù)/語音任務(wù)(備)定期比較加載的配置信息和音元編號(hào)信息(包括是否存在,且大小、時(shí)間、crc信息等一致比較),并刪除不一致的信息;向語音任務(wù)(主)發(fā)起音校驗(yàn)請(qǐng)求并收到響應(yīng);用戶面語音進(jìn)程/語音進(jìn)程(備)音元發(fā)起校驗(yàn):語音進(jìn)程(主)定期向語音任務(wù)(主)發(fā)送通信狀態(tài)正常的模塊信息;語音任務(wù)(主)開音元校驗(yàn)使用的數(shù)據(jù)區(qū);語音任務(wù)(主)進(jìn)行本地保存收到用戶面語音進(jìn)程/語音進(jìn)程(備)上電后發(fā)起音校驗(yàn)請(qǐng)求;語音任務(wù)(主)在空閑態(tài)的情況下發(fā)起語音校驗(yàn);當(dāng)某個(gè)模塊的語音校驗(yàn)完成后判斷是否還有待校驗(yàn)的模塊,如果存在則語音任務(wù)(主)主動(dòng)或定時(shí)發(fā)起語音輪循校驗(yàn)。

用戶面語音進(jìn)程/語音進(jìn)程(備)音元校驗(yàn)過程:語音任務(wù)(主)發(fā)起語音校驗(yàn);進(jìn)入音元同步態(tài);用戶面語音任務(wù)/語音任務(wù)(備)收到語音校驗(yàn)后保存語 音任務(wù)(主)信息并獲取音元配置信息與本地音元配置信息進(jìn)行比較;發(fā)現(xiàn)不一致的信息后通過ftp從語音進(jìn)程(主)重新獲取語音文件,修改本地的語音配置信息并持久化保存;批量處理完不一致的數(shù)據(jù)后上報(bào)進(jìn)度給語音任務(wù)(主);當(dāng)所有音元檢查請(qǐng)求完成后,語音任務(wù)(主)進(jìn)入空閑態(tài)。

同時(shí),用戶面增加對(duì)音內(nèi)存管理組織方式,即對(duì)生成的不同編解碼(如g.729//evrc/gsm_fr/…等)的音元文件進(jìn)行組織。首先使用兩個(gè)隊(duì)列(節(jié)點(diǎn)方式均動(dòng)態(tài)申請(qǐng)和釋放),例如,音文件隊(duì)列及空閑塊隊(duì)列。其中,音文件隊(duì)列,用于管理插入的音元文件;空閑塊隊(duì)列,用于管理空閑內(nèi)存塊。

在分配內(nèi)存時(shí),找到一個(gè)比所要求尺寸條件的空閑塊稍大的內(nèi)存塊(若找到一個(gè)完全符合所要求尺寸條件的空閑塊,則該空閑節(jié)點(diǎn)就不需要了,需要釋放掉),將其分裂為兩塊,一塊大小為所要求的尺寸大小,另一塊為剩余大小。產(chǎn)生新的文件隊(duì)列節(jié)點(diǎn),指向尺寸大小的內(nèi)存,并將該文件節(jié)點(diǎn)鏈入文件隊(duì)列。將原空閑結(jié)點(diǎn)指向剩余大小的內(nèi)存。

在用戶面內(nèi)存釋放時(shí),找到需要釋放的內(nèi)存對(duì)應(yīng)的文件節(jié)點(diǎn),并檢查文件節(jié)點(diǎn)指向的內(nèi)存,如果內(nèi)存左側(cè)和右側(cè)均為空閑內(nèi)存,則將左側(cè)空閑節(jié)點(diǎn)、本文件節(jié)點(diǎn)、右側(cè)空閑節(jié)點(diǎn)指向的內(nèi)存合并。并用一個(gè)新的空閑節(jié)點(diǎn)指向該合并的內(nèi)存,即新的空閑節(jié)點(diǎn)鏈入空閑節(jié)點(diǎn)隊(duì)列,則老的左側(cè)、右側(cè)空閑節(jié)點(diǎn)釋放。同時(shí),釋放文件節(jié)點(diǎn),如果僅內(nèi)存左側(cè)為空閑內(nèi)存,則將本內(nèi)存和左側(cè)節(jié)點(diǎn)內(nèi)存進(jìn)行合并;如果僅內(nèi)存右側(cè)為空閑內(nèi)存,則將本內(nèi)存和右側(cè)節(jié)點(diǎn)內(nèi)存進(jìn)行合并;如果左側(cè)和右側(cè)內(nèi)存均不空閑,則產(chǎn)生一個(gè)新的空閑節(jié)點(diǎn)管理該內(nèi)存。

在用戶面內(nèi)存緊縮時(shí),即當(dāng)共享內(nèi)存中的空閑碎片過多,雖然總的空閑容量能滿足一個(gè)音元的記錄,但是沒有一個(gè)單一的碎片能容納音元的記錄,則需要內(nèi)存緊縮。內(nèi)存緊縮實(shí)際就是內(nèi)存移位,即將有文件的內(nèi)存向前拷貝,空閑內(nèi)存合并到一起。

本實(shí)施例通過加載已進(jìn)行編解碼處理的所述音元文件對(duì)應(yīng)的所述音元列表信息、所述編解碼信息及所述音元編號(hào)信息,使得媒體網(wǎng)關(guān)直接通過音元尋址獲取到對(duì)應(yīng)的音元文件,并播放該音元文件,而不需要在呼叫放音時(shí)進(jìn)行碼型轉(zhuǎn)換處理,節(jié)省了編解碼轉(zhuǎn)換資源,該方法加快了放音效率,減少虛擬機(jī)對(duì)cpu等硬件資源的占用,提升物理機(jī)運(yùn)行的虛擬機(jī)數(shù)量,從而提高了 物理硬件平臺(tái)的資源利用率。

進(jìn)一步的,基于上述第一至第三任一實(shí)施例,提出本發(fā)明呼叫放音控制裝置的第五實(shí)施例,在本實(shí)施例中,參照?qǐng)D15,所述呼叫放音控制裝置還包括:第二獲取模塊50。

所述第二獲取模塊50,用于在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測到當(dāng)前的會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí),則獲取與所述會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。

在本實(shí)施例中,在本發(fā)明的放音過程中,當(dāng)放音終端發(fā)生sdp切換(如:sdp中的放音編解碼等參數(shù)修改),則能及時(shí)對(duì)應(yīng)修改放音參數(shù),達(dá)到放音終端的音元文件可以繼續(xù)播放。

若sdp參數(shù)切換前后都需要編解碼。在sdp切換流程中,放音流程判斷如果當(dāng)前正在放音或放音+收號(hào),則采用新sdp編解碼參數(shù)對(duì)是否需要tc進(jìn)行重新分析。如果分析結(jié)果為新的sdp需要tc,并且當(dāng)前也正在使用tc,則使用原有tc和音元資源繼續(xù)播放,不修改放音元文件。

若sdp參數(shù)切換前后都不需要編解碼。在sdp切換流程中,本發(fā)明的放音流程判斷如果當(dāng)前正在放音或放音+收號(hào),則采用新sdp編解碼參數(shù)對(duì)是否需要tc進(jìn)行重新分析。如果分析結(jié)果為新的sdp不需要tc,并且當(dāng)前也未使用tc,則當(dāng)前的流程保持不變。

若sdp參數(shù)切換前無編解碼,切換后有編解碼。在sdp切換流程中,本發(fā)明的放音流程判斷如果當(dāng)前正在放音或放音+收號(hào),則采用新sdp編解碼參數(shù)對(duì)是否需要tc進(jìn)行重新分析。如果分析結(jié)果為新的sdp需要tc,并且當(dāng)前不在使用tc,則首先申請(qǐng)tc資源,拆除rtp和tone之間的接續(xù)(此時(shí)用戶面的放音通道保持不釋放),接續(xù)rtp和tc,接續(xù)tc和tone;再通知用戶面控制進(jìn)程;然后用戶面控制進(jìn)程通知tone放音通道;最后放音通道切換到新的碼型(g.711與網(wǎng)元內(nèi)部au律一致)的音元文件,且需要計(jì)算下之前播放的時(shí)間,從當(dāng)前時(shí)間開始使用新的碼型播放。

若sdp參數(shù)切換前有編解碼,切換后無編解碼。在sdp切換流程中,本發(fā)明的放音流程判斷如果當(dāng)前正在放音或放音+收號(hào),則采用新sdp編解碼參數(shù)對(duì)是否需要tc進(jìn)行重新分析。如果分析結(jié)果為新的sdp不需要tc,并且 當(dāng)前在使用tc,則首先拆除rtp和tc之間的接續(xù),拆除tc和tone之間的接續(xù)(用戶面的放音通道保持不釋放),釋放tc資源,接續(xù)rtp和tone;再通知用戶面控制進(jìn)程;然后用戶面控制進(jìn)程通知tone放音通道;最后放音通道切換到新的碼型的音元文件,且需要計(jì)算下之前播放的時(shí)間,從當(dāng)前時(shí)間開始使用新的碼型播放。

本實(shí)施例通過在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測到當(dāng)前的會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí),則獲取與所述會(huì)話描述請(qǐng)求sdp的參數(shù)發(fā)生改變時(shí)對(duì)應(yīng)的音元文件,使得本法明在呼叫放音終端發(fā)生sdp切換時(shí),能及時(shí)對(duì)應(yīng)修改呼叫放音的編解碼信息,從而達(dá)到呼叫放音終端的音元文件可以繼續(xù)播放。

進(jìn)一步的,基于上述第一至第三任一實(shí)施例,提出本發(fā)明呼叫放音控制裝置的第六實(shí)施例,在本實(shí)施例中,參照?qǐng)D16,所述呼叫放音控制裝置還包括:

所述第三獲取模塊60,用于在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測所述放音收聽端的所述amr速率發(fā)生改變時(shí),則獲取到與所述amr速率發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。

在本發(fā)明的放音過程中,若對(duì)端發(fā)生了主動(dòng)amr速率調(diào)整,本發(fā)明能自動(dòng)識(shí)別對(duì)端amr速率調(diào)整,并且立即切換到新的amr速率上繼續(xù)播放。

在媒體網(wǎng)關(guān)加載了amr調(diào)整前后不同速率集的音庫的情況下,語音資源模塊識(shí)別對(duì)端rtp過來的速率調(diào)整報(bào)文,并進(jìn)行分析處理。當(dāng)識(shí)別到發(fā)生amr速率調(diào)整時(shí),用戶面語音放音通道自行切換到新的amr速率上,且重新計(jì)算下之前播放的時(shí)間,從當(dāng)前時(shí)間開始使用新的碼型播放。并通知用戶面的控制進(jìn)程amr速率發(fā)生變化,用戶面的控制進(jìn)程對(duì)放音統(tǒng)計(jì)信息進(jìn)行修改。若調(diào)整后的amr速率對(duì)應(yīng)的音元未加載,則語音放音通道自動(dòng)播放g.711碼型的音元進(jìn)行播放。

本實(shí)施例通過在所述媒體網(wǎng)關(guān)進(jìn)行放音后,若檢測所述放音收聽端的所述amr速率發(fā)生改變時(shí),則獲取到與所述amr速率發(fā)生改變時(shí)對(duì)應(yīng)的音元文件。當(dāng)放音收聽端所在的無線信號(hào)弱,寬帶小的情況下,在進(jìn)行amr編解碼放音時(shí)請(qǐng)求降低播放的速率,從而保證放音的質(zhì)量。

以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
嘉黎县| 资阳市| 喜德县| 南澳县| 浙江省| 阿荣旗| 柳江县| 玉林市| 都昌县| 泌阳县| 西吉县| 醴陵市| 甘肃省| 兴化市| 罗甸县| 山东省| 南江县| 隆安县| 廊坊市| 绥化市| 株洲县| 微山县| 无为县| 江永县| 麟游县| 攀枝花市| 策勒县| 米林县| 湘阴县| 太白县| 墨玉县| 杭州市| 尉氏县| 奉贤区| 开原市| 洛阳市| 普兰县| 邻水| 华容县| 饶河县| 普兰县|