語音編碼發(fā)送方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及語音通信技術(shù)領(lǐng)域,特別是涉及一種語音編碼發(fā)送方法和裝置。
【背景技術(shù)】
[0002]隨著移動互聯(lián)網(wǎng)的發(fā)展,在終端上使用語音成為了越來越多用戶的需求,由于終端語音通話涉及眾多的技術(shù)領(lǐng)域,包括語音編解碼技術(shù)、信號前處理、多路混音、多終端能力交換、網(wǎng)絡(luò)抗網(wǎng)絡(luò)抖動丟包處理、跨平臺等。在終端上實(shí)現(xiàn)語音通信容易受到網(wǎng)絡(luò)狀況的影響。因此,如何提高語音通信的語音質(zhì)量將是亟需解決的問題。
【發(fā)明內(nèi)容】
[0003]基于此,有必要針對上述技術(shù)問題,提供一種能提高語音通信的語音質(zhì)量的語音編碼發(fā)送方法和裝置。
[0004]—種語音編碼發(fā)送方法,所述方法包括:
[0005]接收至少一路的RTCP包;
[0006]解析所述RTCP包,得到網(wǎng)絡(luò)狀況信息;
[0007]根據(jù)所述網(wǎng)絡(luò)狀況信息統(tǒng)計(jì)得到綜合網(wǎng)絡(luò)狀況信息;
[0008]根據(jù)所述綜合網(wǎng)絡(luò)狀況信息調(diào)整QoS參數(shù),并根據(jù)調(diào)整后的QoS參數(shù)進(jìn)行語音編碼發(fā)送。
[0009]—種語音編碼發(fā)送裝置,所述裝置包括:
[0010]接收模塊,用于接收至少一路的RTCP包;
[0011 ]解析模塊,用于解析所述RTCP包,得到網(wǎng)絡(luò)狀況信息;
[0012]統(tǒng)計(jì)模塊,用于根據(jù)所述網(wǎng)絡(luò)狀況信息統(tǒng)計(jì)得到綜合網(wǎng)絡(luò)狀況信息;
[0013]調(diào)整模塊,用于根據(jù)所述綜合網(wǎng)絡(luò)狀況信息調(diào)整QoS參數(shù),并根據(jù)調(diào)整后的QoS參數(shù)進(jìn)行語音編碼發(fā)送。
[0014]上述語音編碼發(fā)送方法和裝置,通過接收至少一路的RTCP包,解析RTCP包得到網(wǎng)絡(luò)狀況信息,根據(jù)網(wǎng)絡(luò)狀況信息統(tǒng)計(jì)得到綜合網(wǎng)絡(luò)狀況信息,進(jìn)而根據(jù)綜合網(wǎng)絡(luò)狀況信息可調(diào)整Qos參數(shù),從而根據(jù)調(diào)整后的Qos參數(shù)進(jìn)行語音編碼發(fā)送。這樣,使得Qos參數(shù)能夠適應(yīng)當(dāng)前的綜合網(wǎng)絡(luò)狀況,從而能夠提高語音通信的語音質(zhì)量。
【附圖說明】
[0015]圖1為一個實(shí)施例中語音編碼發(fā)送方法的應(yīng)用環(huán)境圖;
[0016]圖2為一個實(shí)施例中語音編碼發(fā)送方法的應(yīng)用場景圖;
[0017]圖3為圖2中的終端202的內(nèi)部結(jié)構(gòu)圖;
[0018]圖4為一個實(shí)施例中語音編碼發(fā)送方法的流程圖;
[0019]圖5為一個實(shí)施例中統(tǒng)計(jì)綜合網(wǎng)絡(luò)狀況信息的流程圖;
[0020]圖6為一個實(shí)施例中調(diào)整分組長度的流程圖;[0021 ]圖7為一個實(shí)施例中調(diào)整冗余包數(shù)的流程圖;
[0022]圖8為一個實(shí)施例中降低編碼碼率和組幀數(shù)目的流程圖;
[0023]圖9為另一個實(shí)施例中降低編碼碼率和組幀數(shù)目的流程圖;
[0024]圖10為一個實(shí)施例中語音編碼發(fā)送裝置的結(jié)構(gòu)框圖;
[0025]圖11為一個實(shí)施例中調(diào)整模塊的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0026]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0027]本發(fā)明實(shí)施例所提供的語音編碼發(fā)送方法可應(yīng)用于如圖1所示的系統(tǒng)中,參考圖1所示,多個終端102通過網(wǎng)絡(luò)與服務(wù)器104進(jìn)行通信,這些終端102之間可實(shí)現(xiàn)多人語音會話。其中,某個終端102可作為語音發(fā)送方采集用戶語音并將語音編碼后發(fā)送到作為語音接收方的其它多個終端,該終端102又可作為語音接收方接收作為語音發(fā)送方的其它終端發(fā)送的語音。本實(shí)施例中,這些終端102包括但不限于各種能運(yùn)行語音客戶端實(shí)現(xiàn)多人語音會話的個人計(jì)算機(jī)、個人數(shù)字助理、筆記本電腦、平板電腦、智能手機(jī)、可穿戴式智能設(shè)備等。
[0028]在一個具體的應(yīng)用場景下,如圖2所示,終端202為發(fā)送方,通過網(wǎng)絡(luò)與服務(wù)器204進(jìn)行通信,終端206為接收方,通過網(wǎng)絡(luò)與該服務(wù)器204進(jìn)行通信。該終端202采集用戶語音,進(jìn)行編碼后通過該服務(wù)器204將語音數(shù)據(jù)流發(fā)送到至少一個終端206。該至少一個終端206接收語音數(shù)據(jù)流,進(jìn)行統(tǒng)計(jì)分析得到至少一個RTCP包并將該至少一個RTCP包反饋到該終端202。該終端202接收到該至少一個RTCP包,對該至少一個RTCP包進(jìn)行解析得到網(wǎng)絡(luò)狀況信息,根據(jù)網(wǎng)絡(luò)狀況信息統(tǒng)計(jì)得到綜合網(wǎng)絡(luò)狀況信息,并根據(jù)綜合網(wǎng)絡(luò)狀況信息調(diào)整Qos參數(shù),進(jìn)而使用調(diào)整后的Qos參數(shù)對語音進(jìn)行編碼發(fā)送。應(yīng)當(dāng)說明的是,在其它實(shí)施例中,圖1和圖2中的系統(tǒng)也可不包含服務(wù)器,終端的語音數(shù)據(jù)不經(jīng)過服務(wù)器轉(zhuǎn)換而是終端之間直接傳輸語音數(shù)據(jù)。
[0029]可以理解的是,本發(fā)明實(shí)施例提供了語音編碼發(fā)送方法,除了可以應(yīng)用于如圖1和2所示的應(yīng)用場景外,還可以應(yīng)用于兩人語音通信場景中,即圖2中的終端206可為一個。在該應(yīng)用場景下,終端202作為發(fā)送方接收一路的RTCP包,進(jìn)而解析接收到的RTCP包得到網(wǎng)絡(luò)狀況信息,根據(jù)網(wǎng)絡(luò)狀態(tài)信息統(tǒng)計(jì)得到綜合網(wǎng)絡(luò)狀況信息,再根據(jù)綜合網(wǎng)絡(luò)狀況信息自適應(yīng)調(diào)整Qos參數(shù),根據(jù)調(diào)整后的Qos參數(shù)進(jìn)行語音編碼發(fā)送。
[0030]如圖3所示,在一個實(shí)施例中,提供了一種終端202,該終端202包括通過系統(tǒng)總線連接的處理器、圖形處理單元、存儲介質(zhì)、內(nèi)存、網(wǎng)絡(luò)接口、顯示屏幕和輸入設(shè)備,存儲介質(zhì)中存儲有操作系統(tǒng)和一種語音編碼發(fā)送裝置,該語音編碼發(fā)送裝置用于執(zhí)行一種語音編碼發(fā)送方法。該處理器用于提高計(jì)算和控制能力,支撐整個便攜式電子設(shè)備的運(yùn)行。終端202中的圖形處理單元用于至少提供應(yīng)用操作界面的繪制能力,比如繪制語音采集界面等,內(nèi)存用于為存儲介質(zhì)中的語音編碼發(fā)送裝置的運(yùn)行提供環(huán)境,網(wǎng)絡(luò)接口用于與服務(wù)器進(jìn)行網(wǎng)絡(luò)通信,接收或發(fā)送數(shù)據(jù),例如向服務(wù)器發(fā)送和接收語音數(shù)據(jù)流,向服務(wù)器發(fā)送和接收方反饋的RTCP包等。顯示屏幕用于各種應(yīng)用的圖標(biāo)和界面的顯示,比如,顯示語音通話界面等。輸入設(shè)備用于輸入各種數(shù)據(jù)、消息和指令,比如輸入確認(rèn)通話的指令、撥號指令等。
[0031]如圖4所示,在一個實(shí)施例中,提供了一種語音編碼發(fā)送方法,該方法以應(yīng)用于如圖1?圖3中的終端中進(jìn)行舉例說明,具體是應(yīng)用于作為發(fā)送方的終端中,該方法包括:
[0032]步驟402,接收至少一路的RTCP包。
[0033]RTCP(Realtime Transport Control Protocol,實(shí)時傳輸控制)協(xié)議,是用于多媒體實(shí)時通信中反饋接收網(wǎng)絡(luò)質(zhì)量的標(biāo)準(zhǔn)協(xié)議。在RTCP協(xié)議下,接收方統(tǒng)計(jì)一段時間內(nèi)的網(wǎng)絡(luò)收包、網(wǎng)絡(luò)延遲和網(wǎng)絡(luò)抖動等信息,通過RTCP包反饋給發(fā)送方,發(fā)送方接收到RTCP包后,解析出接收方的網(wǎng)絡(luò)狀況信息,包括網(wǎng)絡(luò)丟包率、網(wǎng)絡(luò)延遲和網(wǎng)絡(luò)抖動等信息,發(fā)送方根據(jù)這些網(wǎng)絡(luò)狀況信息,調(diào)整數(shù)據(jù)包的編碼和發(fā)送策略,包括發(fā)包策略、編碼碼率、冗余包策略等。
[0034]本實(shí)施例中,在多人語音會話場景中,作為接收方的終端接收到來自其它至少一個參與方的語音數(shù)據(jù)流,對每個語音數(shù)據(jù)流實(shí)時分析統(tǒng)計(jì)收包情況,計(jì)算得到網(wǎng)絡(luò)狀況信息,包括丟包率、網(wǎng)絡(luò)延遲和網(wǎng)絡(luò)抖動等,將這些信息作為接收質(zhì)量好壞的判斷依據(jù),按照RTCP協(xié)議封裝在RTCP包中反饋給作為發(fā)送方的終端。作為發(fā)送方的終端接收作為接收方的終端反饋的RTCP包。若參與方有多個,則終端接收到多路RTCP包,若參與方有一個,則終端接收到一路的RTCP包。
[0035]步驟4