專利名稱:一種動(dòng)態(tài)調(diào)整抖動(dòng)緩存的方法、裝置和電子設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),尤其涉及一種動(dòng)態(tài)調(diào)整抖動(dòng)緩存的方法、裝置和電子設(shè)備。
背景技術(shù):
隨著internet (互聯(lián)網(wǎng))應(yīng)用的普及和技術(shù)的不斷成熟,使得傳統(tǒng)的語(yǔ)音信息承 載在internet上傳輸成為可能,因此,VoIP (Voice over Internet Protocol,基于互聯(lián)網(wǎng) 協(xié)議的語(yǔ)音)相關(guān)的各項(xiàng)技術(shù)也就應(yīng)運(yùn)而生。其中JB(Jitter Buffer,抖動(dòng)緩存)技術(shù)正 是VoIP的核心技術(shù)之一,JB的功能是在網(wǎng)絡(luò)的接收方對(duì)接收的語(yǔ)音數(shù)據(jù)包進(jìn)行緩存處理, 然后,再進(jìn)行播放處理,從而可以有效地降低丟包率,減少網(wǎng)絡(luò)抖動(dòng)對(duì)語(yǔ)音質(zhì)量的影響。JB 技術(shù)直接影響到VoIP的語(yǔ)音質(zhì)量。JB技術(shù)主要分為兩類靜態(tài)JB技術(shù)和動(dòng)態(tài)JB技術(shù)。目前internet網(wǎng)絡(luò)中固有的延時(shí)、抖動(dòng)、丟包、亂序已經(jīng)證明靜態(tài)JB技術(shù)不能很 好地起到抗抖動(dòng)的效果,因此,針對(duì)不斷變化的網(wǎng)絡(luò)質(zhì)量狀況,只有采用可動(dòng)態(tài)調(diào)整深度的 動(dòng)態(tài)JB才能有效地去除網(wǎng)絡(luò)抖動(dòng),達(dá)到低延時(shí)、低丟包率的效果,從而保證網(wǎng)絡(luò)中傳輸?shù)?語(yǔ)音的質(zhì)量?,F(xiàn)有的動(dòng)態(tài)JB的實(shí)現(xiàn)方案中,一種是基于平均延時(shí)和平均抖動(dòng)的動(dòng)態(tài)JB方案,另 一種是基于最小延時(shí)和平均抖動(dòng)的動(dòng)態(tài)JB方案。在第一種方案中,對(duì)每個(gè)到達(dá)接收網(wǎng)關(guān)的數(shù)據(jù)包,都進(jìn)行平均延時(shí)和平均抖動(dòng)的 統(tǒng)計(jì),如下公式rij = aj-tsj(1)Cli = α XcIh+(1-α ) Xni(2)Vi = α X Vh+ (I— α ) X | 屯-叫 | , (O 彡 α 彡 1) (3)其中,Cli為i個(gè)包的平均延時(shí);Vi為i個(gè)包的平均抖動(dòng);α為可調(diào)的權(quán)值因子,通 過(guò)α的調(diào)整可以設(shè)置本次數(shù)據(jù)包對(duì)平均值的影響程度,可在實(shí)現(xiàn)中根據(jù)實(shí)際網(wǎng)絡(luò)狀況選 擇最優(yōu)的權(quán)值;發(fā)送第i個(gè)包的時(shí)間,該時(shí)間為來(lái)自發(fā)送網(wǎng)關(guān)的DSP采樣時(shí)間; 為第 i個(gè)包到達(dá)接收網(wǎng)關(guān)的時(shí)間,該時(shí)間為來(lái)自接收網(wǎng)關(guān)的系統(tǒng)時(shí)間叫為第i個(gè)包在網(wǎng)絡(luò)中的 總延時(shí)。在計(jì)算每個(gè)包的播放時(shí)間時(shí),按如下公式Pi = tSi+di+Y Vi(4)Pj = Pi+tSj-tSj(5)其中,i為語(yǔ)音段第一個(gè)數(shù)據(jù)包,j為語(yǔ)音段的后續(xù)數(shù)據(jù)包。Y表示對(duì)平均抖動(dòng)的 放大倍數(shù),可在實(shí)現(xiàn)中根據(jù)實(shí)際網(wǎng)絡(luò)狀況選擇最優(yōu)的放大倍數(shù)。在第二種方案中,對(duì)每個(gè)到達(dá)接收網(wǎng)關(guān)的數(shù)據(jù)包,都進(jìn)行最小延時(shí)和平均抖動(dòng)的 統(tǒng)計(jì),如下公式rij = aj-tsj(6)dmin = min (dmin, Iii)(7)Vi = α XvH+d-α ) X (Iii-(Imin) (8)
其中,dmin為最小延時(shí)。在計(jì)算每個(gè)包的播放時(shí)間時(shí),同樣按照如上公式⑷和 (5)。在實(shí)現(xiàn)本發(fā)明過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺陷動(dòng)態(tài)JB方案都基于平均抖動(dòng)進(jìn)行JB的調(diào)整,計(jì)算的每個(gè)包的播放時(shí)間受參數(shù)α 和Y的影響較大,不同的網(wǎng)絡(luò)需要設(shè)置不同的參數(shù),不具有普適性。并且,現(xiàn)有的動(dòng)態(tài)JB 方案并沒(méi)有涉及到延時(shí)因素(DF,Delay Factor),而實(shí)際上DF是媒體數(shù)據(jù)包到達(dá)和送出的 時(shí)間差,其反映的是與媒體流相關(guān)的抖動(dòng)變化情況。對(duì)DF的忽視無(wú)疑會(huì)影響JB調(diào)整的質(zhì) 量,從而影響語(yǔ)音播放的效果。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種動(dòng)態(tài)調(diào)整抖動(dòng)緩存的方法及裝置,以根據(jù)語(yǔ)音傳輸過(guò)程中 利用媒體傳輸質(zhì)量指標(biāo)(MDI,Media Delivery Index)得到的DF值以及目標(biāo)DF值對(duì)JB的 深度進(jìn)行相應(yīng)的調(diào)整,從而提高語(yǔ)音質(zhì)量。本發(fā)明實(shí)施例提供一種動(dòng)態(tài)調(diào)整抖動(dòng)緩存的方法,應(yīng)用于語(yǔ)音傳輸過(guò)程,包括利用媒體傳輸質(zhì)量指標(biāo)獲取延時(shí)因素;根據(jù)獲取的所述延時(shí)因素和預(yù)先確定的目標(biāo)延遲因素的差值確定語(yǔ)音傳輸過(guò)程 中需要調(diào)整的抖動(dòng)值;根據(jù)所述需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)
iF. ο本發(fā)明實(shí)施例還提供一種動(dòng)態(tài)調(diào)整抖動(dòng)緩存的裝置,包括延時(shí)因素獲取單元,用于利用媒體傳輸質(zhì)量指標(biāo)獲取延時(shí)因素;抖動(dòng)值確定單元,用于根據(jù)獲取的所述延時(shí)因素和預(yù)先確定的目標(biāo)延遲因素的差 值確定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值;調(diào)整單元,用于根據(jù)所述需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩 存進(jìn)行深度調(diào)整。本發(fā)明實(shí)施例還提供一種電子設(shè)備,包括上述動(dòng)態(tài)調(diào)整抖動(dòng)緩存的裝置。本發(fā)明實(shí)施例根據(jù)語(yǔ)音傳輸過(guò)程中利用媒體傳輸質(zhì)量指標(biāo)得到延時(shí)因素DF值, 根據(jù)DF值以及預(yù)先確定的目標(biāo)延遲因素得到的差值確定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng) 值,對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整,可以提高語(yǔ)音質(zhì)量。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用 的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域 普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附 圖。圖1為本發(fā)明實(shí)施例1的動(dòng)態(tài)調(diào)整JB的方法流程圖;圖2為本發(fā)明實(shí)施例2的動(dòng)態(tài)調(diào)整JB的方法流程圖;圖3為圖2中步驟22的具體流程圖;圖4為圖2中步驟23的具體流程5
圖5為本發(fā)明實(shí)施例中動(dòng)態(tài)調(diào)整JB的裝置結(jié)構(gòu)框圖;圖6為本發(fā)明實(shí)施例中調(diào)整單元的結(jié)構(gòu)框圖;圖7為本發(fā)明實(shí)施例中電子設(shè)備的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一本實(shí)施例提供一種語(yǔ)音傳輸過(guò)程中動(dòng)態(tài)調(diào)整抖動(dòng)緩存的方法,如圖1所示,該方 法包括步驟110,在語(yǔ)音傳輸過(guò)程中利用媒體傳輸質(zhì)量指標(biāo)(MDI)獲取延時(shí)因素(DF)。MDI有兩部分組成延時(shí)因素DF和媒體丟包率(MLR,Media LossRate),因此利用 MDI可以得到DF。步驟120,根據(jù)獲取的DF和預(yù)先確定的目標(biāo)DF之間的差值確定語(yǔ)音傳輸過(guò)程中需 要調(diào)整的抖動(dòng)值。其中,目標(biāo)DF通常為根據(jù)網(wǎng)絡(luò)對(duì)抖動(dòng)的要求確定的DF值,例如,語(yǔ)音傳輸網(wǎng)絡(luò)對(duì) 抖動(dòng)有一定要求,則需要保證語(yǔ)音傳輸過(guò)程中的抖動(dòng)值不能超過(guò)某個(gè)上限,據(jù)此可以確定 一個(gè)目標(biāo)DF。根據(jù)語(yǔ)音質(zhì)量的要求,MDI也可以有建議的目標(biāo)DF值。確定了目標(biāo)DF值后,便可以根據(jù)MDI測(cè)得的DF值和目標(biāo)DF的差值確定語(yǔ)音傳輸 過(guò)程中需要調(diào)整的抖動(dòng)值。當(dāng)前語(yǔ)音段的需要調(diào)整的抖動(dòng)值可以有MDI測(cè)得的DF值和目標(biāo)DF之間的差值以 及前一個(gè)語(yǔ)音段的抖動(dòng)值確定,也可以直接由MDI測(cè)得的DF值和目標(biāo)DF的差值得出,在后 面的實(shí)施例中會(huì)有更詳細(xì)的描述。步驟130,在需要對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整時(shí),根據(jù)需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳 輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整。所述延時(shí)可以取平均延時(shí),但并不限于此。例如,根據(jù)語(yǔ)音傳輸過(guò)程中的平均延時(shí) 以及需要調(diào)整的抖動(dòng)值確定當(dāng)前語(yǔ)音數(shù)據(jù)包的新播放時(shí)間;而根據(jù)當(dāng)前語(yǔ)音數(shù)據(jù)包的原播 放時(shí)間與新播放時(shí)間的差值抖動(dòng)緩存進(jìn)行深度調(diào)整。本發(fā)明實(shí)施例中,可選地,可根據(jù)上一次抖動(dòng)緩存深度調(diào)整的時(shí)間距本次抖動(dòng)緩 存深度調(diào)整的時(shí)間的間隔值確定是否需要對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整,在上一次抖動(dòng)緩存深 度調(diào)整的時(shí)間距本次抖動(dòng)緩存深度調(diào)整的時(shí)間的間隔值大于設(shè)定的允許進(jìn)行抖動(dòng)緩存深 度調(diào)整的最小間隔時(shí)間時(shí),則根據(jù)所述需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖 動(dòng)緩存進(jìn)行深度調(diào)整,否則,可不進(jìn)行抖動(dòng)緩存的深度調(diào)整。這樣可以避免頻繁地對(duì)JB進(jìn) 行深度的調(diào)整從而影響了系統(tǒng)的穩(wěn)定性。本發(fā)明實(shí)施例方法也可以根據(jù)實(shí)際需要對(duì)各個(gè)步驟順序進(jìn)行調(diào)整。本發(fā)明實(shí)施例利用MDI獲取的DF值來(lái)進(jìn)行JB的動(dòng)態(tài)調(diào)整,由于MDI的目標(biāo)DF值 的大小是可以反映語(yǔ)音質(zhì)量的,因此通過(guò)目標(biāo)DF值來(lái)控制JB的動(dòng)態(tài)調(diào)整,可以保證語(yǔ)音質(zhì)
6量。實(shí)施例2本實(shí)施例提供一種語(yǔ)音傳輸過(guò)程中動(dòng)態(tài)調(diào)整抖動(dòng)緩存的方法,如圖2所示,該方 法包括步驟21,在語(yǔ)音傳輸過(guò)程中利用MDI獲取DF。本發(fā)明實(shí)施例中,可以在上一個(gè)語(yǔ)音傳輸過(guò)程中利用MDI獲取DF,或者說(shuō),通過(guò)對(duì) 上一個(gè)語(yǔ)音傳輸過(guò)程中的MDI獲取DF。具體地,利用MDI獲取DF可包括在;用MDI獲取經(jīng)過(guò)抖動(dòng)緩存的語(yǔ)音數(shù)據(jù)包的DF 值(DFl)或者用MDI獲取未經(jīng)過(guò)抖動(dòng)緩存的語(yǔ)音數(shù)據(jù)包的DF值(DF2)。步驟22,根據(jù)獲取的DF和預(yù)先確定的目標(biāo)DF之間的差值確定語(yǔ)音傳輸過(guò)程中需 要調(diào)整的抖動(dòng)值。如圖3所示,該步驟22可進(jìn)一步包括步驟221,將MDI測(cè)得的DF值與目標(biāo)DF值進(jìn)行比較,獲得一個(gè)差值因子DifT Diff =測(cè)得的DF值-目標(biāo)DF值。步驟222 根據(jù)差值因子確定當(dāng)前語(yǔ)音段的抖動(dòng)值。語(yǔ)音數(shù)據(jù)包在傳輸過(guò)程中需要調(diào)整的抖動(dòng)值由Diff值得來(lái),由于Diff值時(shí)根據(jù) 獲取的DF得來(lái),因此也可以說(shuō)需要調(diào)整的抖動(dòng)值是基于MDI獲取的DF值得來(lái),具體如下若獲取的是經(jīng)過(guò)抖動(dòng)緩沖器之后的DF值,即經(jīng)過(guò)抖動(dòng)緩存的DF值,則當(dāng)前語(yǔ)音段 的抖動(dòng)值,即需要調(diào)整的抖動(dòng)值為Vk = vH+Diff ;若獲取的是未經(jīng)過(guò)抖動(dòng)緩沖器的DF值,則當(dāng)前語(yǔ)音段的抖動(dòng)值為vk = Diff。即第k個(gè)語(yǔ)音段的抖動(dòng)值Vk可以通過(guò)第k-Ι個(gè)語(yǔ)音段的抖動(dòng)值ν15—1來(lái)確定,或者 直接由差值因子得出。步驟23,根據(jù)需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度 調(diào)整。具體地,如圖4所示,該步驟23還可包括步驟231,根據(jù)當(dāng)前的系統(tǒng)時(shí)間確定當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí)間。該當(dāng)前語(yǔ)音數(shù)據(jù)包的播放時(shí)間可定義為原播放時(shí)間,所述的原播放時(shí)間為根據(jù)當(dāng) 前的系統(tǒng)時(shí)間確定,例如可以從操作系統(tǒng)時(shí)間直接獲取。步驟232,根據(jù)語(yǔ)音傳輸過(guò)程中的平均延時(shí)以及需要調(diào)整的抖動(dòng)值確定當(dāng)前語(yǔ)音 數(shù)據(jù)包的新播放時(shí)間。語(yǔ)音傳輸過(guò)程中的平均延時(shí)值Cli可采用現(xiàn)有的平均延時(shí)計(jì)算公式計(jì)算,可表示 為Cli = α X d^+(1-α ) Xni ;其中,α為通過(guò)測(cè)試,例如通過(guò)網(wǎng)絡(luò)時(shí)延變化的仿真測(cè)試,獲得的權(quán)值因子,且 O^ α ^ 1, α大小可調(diào),通過(guò)α的調(diào)整可以設(shè)置本次數(shù)據(jù)包對(duì)平均值的影響程度,可在 實(shí)現(xiàn)中根據(jù)實(shí)際網(wǎng)絡(luò)狀況選擇最優(yōu)的權(quán)值;i為語(yǔ)音數(shù)據(jù)包的序號(hào)Ai為第i個(gè)語(yǔ)音數(shù)據(jù)包 在網(wǎng)絡(luò)中的總延時(shí),且Hi = ai_tSi,其中涉及的 為第i個(gè)語(yǔ)音數(shù)據(jù)包到達(dá)接收網(wǎng)送的時(shí) 間,ts,為發(fā)送第i個(gè)語(yǔ)音數(shù)據(jù)包的時(shí)間。根據(jù)所述的平均延時(shí)及需要調(diào)整的抖動(dòng)值Vk確定當(dāng)前語(yǔ)音數(shù)據(jù)包的新播放時(shí)間 為
pf = ts^ + d丨 + VkPj = p. +tSj -ts^其中,i為語(yǔ)音段第一個(gè)數(shù)據(jù)包的序號(hào),j為語(yǔ)音段的后續(xù)數(shù)據(jù)包的序號(hào),k為語(yǔ)音 段的序號(hào),Cli為所述平均延時(shí),Vk為所述需要調(diào)整的抖動(dòng)值,pf為當(dāng)前語(yǔ)音段第一個(gè)數(shù)據(jù)包 的新播放時(shí)間,M為當(dāng)前語(yǔ)音段第一個(gè)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包的新播放時(shí)間,化4和<分別為 發(fā)送端發(fā)送第i個(gè)和第j個(gè)語(yǔ)音數(shù)據(jù)包的時(shí)間。步驟233,根據(jù)當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí)間與新播放時(shí)間的差值對(duì)抖動(dòng)緩存進(jìn) 行深度調(diào)整。首先計(jì)算新播放時(shí)間與原播放時(shí)間的差值,如果該差值的絕對(duì)值大于預(yù)設(shè)的最大 調(diào)整幅度值,則以允許的最大調(diào)整幅度值為本次抖動(dòng)緩存調(diào)整的幅度值,否則,以所述的差 值的絕對(duì)值作為本次抖動(dòng)緩存調(diào)整的幅度值。根據(jù)本次抖動(dòng)緩存調(diào)整的幅度值,可通過(guò)調(diào)整抖動(dòng)緩存的出隊(duì)指針在語(yǔ)音傳輸過(guò) 程中相應(yīng)靜音段的開(kāi)始點(diǎn)進(jìn)行抖動(dòng)緩存深度的調(diào)整。此處,進(jìn)行抖動(dòng)緩存深度的調(diào)整包括進(jìn)行增加抖動(dòng)緩存深度的操作和縮短抖動(dòng)緩 存深度的操作。當(dāng)進(jìn)行所述縮短抖動(dòng)緩存深度的操作時(shí),如果確定遇到語(yǔ)音數(shù)據(jù)包,則停止 相應(yīng)的縮短抖動(dòng)緩存深度的操作。當(dāng)需要對(duì)JB深度進(jìn)行調(diào)整時(shí),與現(xiàn)有的動(dòng)態(tài)JB實(shí)現(xiàn)方法中涉及的JB調(diào)整處理過(guò) 程相同,即具體的JB深度調(diào)整點(diǎn)選擇在每個(gè)靜音段的開(kāi)始點(diǎn),尤其是對(duì)JB深度進(jìn)行縮短調(diào) 整時(shí)更應(yīng)當(dāng)選擇在靜音段進(jìn)行,以避免在語(yǔ)音段開(kāi)始點(diǎn)進(jìn)行縮短JB深度的調(diào)整,導(dǎo)致丟棄 該語(yǔ)音段的前面若干語(yǔ)音數(shù)據(jù)包,造成語(yǔ)音質(zhì)量下降的現(xiàn)象出現(xiàn)。作為本發(fā)明另一實(shí)施例,本發(fā)明實(shí)施例中,可選地,在執(zhí)行步驟23時(shí),可根據(jù)上一 次抖動(dòng)緩存深度調(diào)整的時(shí)間距本次抖動(dòng)緩存深度調(diào)整的時(shí)間的間隔值確定是否需要對(duì)抖 動(dòng)緩存進(jìn)行深度調(diào)整,在上一次抖動(dòng)緩存深度調(diào)整的時(shí)間距本次抖動(dòng)緩存深度調(diào)整的時(shí)間 的間隔值大于設(shè)定的允許進(jìn)行抖動(dòng)緩存深度調(diào)整的最小間隔時(shí)間時(shí),則根據(jù)所述需要調(diào)整 的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整,否則,可不進(jìn)行抖動(dòng)緩存 的深度調(diào)整。這樣可以避免頻繁地對(duì)JB進(jìn)行深度的調(diào)整從而影響了系統(tǒng)的穩(wěn)定性。本發(fā)明如上實(shí)施例,將MDI獲取的DF值引入到動(dòng)態(tài)抖動(dòng)緩存控制中,利用MDI獲 取的DF值來(lái)進(jìn)行JB的動(dòng)態(tài)調(diào)整,實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,同時(shí)MDI的目標(biāo)DF值的大小是可以 反映語(yǔ)音質(zhì)量的,因此通過(guò)目標(biāo)DF值來(lái)控制JB的動(dòng)態(tài)調(diào)整,可以保證語(yǔ)音質(zhì)量。本發(fā)明實(shí)施例中,通過(guò)對(duì)上一個(gè)語(yǔ)音傳輸過(guò)程中的MDI獲取以及當(dāng)前允許的DF值 確定當(dāng)前語(yǔ)音段的JB深度。因此,本發(fā)明實(shí)施例是結(jié)合允許的DF值進(jìn)行分析,從而得出針 對(duì)后續(xù)的語(yǔ)音數(shù)據(jù)包的接收緩沖處理時(shí)需要調(diào)整的JB深度值,使得語(yǔ)音傳輸過(guò)程中,可以 滿足網(wǎng)絡(luò)允許的時(shí)延要求(DF值)。即本發(fā)明的實(shí)現(xiàn)使得可以在網(wǎng)絡(luò)中根據(jù)實(shí)際需要確定 最佳的網(wǎng)絡(luò)延時(shí),從而可以保證語(yǔ)音質(zhì)量。本發(fā)明實(shí)施例方法也可以根據(jù)實(shí)際需要對(duì)各個(gè)步驟順序進(jìn)行調(diào)整。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟可以通 過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,比如 ROM/RAM、磁碟、光盤(pán)等。
實(shí)施例3本發(fā)明實(shí)施例還提供一種語(yǔ)音傳輸過(guò)程中動(dòng)態(tài)調(diào)整抖動(dòng)緩存的裝置,如圖5所 示,該裝置包括延時(shí)因素獲取單元310,用于在語(yǔ)音傳輸過(guò)程中利用媒體傳輸質(zhì)量指標(biāo)獲取延時(shí) 因素;抖動(dòng)值確定單元320,用于根據(jù)獲取的所述延時(shí)因素和預(yù)先確定的目標(biāo)延遲因素 的差值確定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值;調(diào)整單元330,用于在需要對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整時(shí),根據(jù)所述需要調(diào)整的抖動(dòng) 值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整。本發(fā)明實(shí)施例中,所述延時(shí)因素獲取單元利用媒體傳輸質(zhì)量指標(biāo)獲取經(jīng)過(guò)抖動(dòng)緩 存的數(shù)據(jù)包的延遲因素或獲取未經(jīng)過(guò)抖動(dòng)緩存的延遲因素。本發(fā)明另一實(shí)施例中,如圖6所示,所述調(diào)整單元包括第一確定單元330,用于根據(jù)當(dāng)前的系統(tǒng)時(shí)間確定當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí) 間;第二確定單元332,根據(jù)語(yǔ)音傳輸過(guò)程中的平均延時(shí)以及需要調(diào)整的抖動(dòng)值確定 當(dāng)前語(yǔ)音數(shù)據(jù)包的新播放時(shí)間;子調(diào)整單元333,用于根據(jù)當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí)間與新播放時(shí)間的差值對(duì) 抖動(dòng)緩存進(jìn)行深度調(diào)整。本發(fā)明實(shí)施例的裝置可以實(shí)現(xiàn)實(shí)施例1和實(shí)施例2中的方法。需要說(shuō)明的是,本發(fā) 明實(shí)施例的裝置可以集成電路或芯片中,包括CPU、或DSP (數(shù)字信號(hào)處理,Digital Signal Processing)、或通信芯片等,也可以是軟件模塊,也可以是軟件和硬件的結(jié)合體。本發(fā)明實(shí) 施例的各個(gè)單元可以集成于一體,也可以分離部署。上述單元可以合并為一個(gè)單元,也可以 進(jìn)一步拆分成多個(gè)子單元。實(shí)施例4本發(fā)明實(shí)施例還提供一種電子設(shè)備,如圖7所示,該電子設(shè)備包括上述實(shí)施例提 供的動(dòng)態(tài)調(diào)整抖動(dòng)緩存的裝置40和應(yīng)用抖動(dòng)緩存的裝置42,其中,動(dòng)態(tài)調(diào)整抖動(dòng)緩存的裝置40,用于利用媒體傳輸質(zhì)量指標(biāo)獲取延時(shí)因素;根據(jù)獲 取的延時(shí)因素和預(yù)先確定的目標(biāo)延遲因素的差值確定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值; 以及,在需要對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整時(shí),根據(jù)需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的 延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整。該動(dòng)態(tài)調(diào)整抖動(dòng)緩存的裝置42的技術(shù)方案可以結(jié)合參考 實(shí)施例1至實(shí)施例3提供的技術(shù)方案,在此不作贅述。應(yīng)用抖動(dòng)緩存的裝置42,與動(dòng)態(tài)調(diào)整抖動(dòng)緩存的裝置40連接,用于對(duì)經(jīng)抖動(dòng)緩存 深度調(diào)整的語(yǔ)音數(shù)據(jù)包進(jìn)行緩存處理,然后,再進(jìn)行輸出播放處理。本發(fā)明實(shí)施例的電子設(shè)備可以是路由器、交換機(jī)、網(wǎng)關(guān)、數(shù)字用戶線路接入復(fù)用器 (DSLAM)、手機(jī)、計(jì)算機(jī)、服務(wù)器、機(jī)頂盒等,或者可以是其他硬件或軟件模塊。本發(fā)明實(shí)施例利用MDI獲取的DF值來(lái)進(jìn)行JB的動(dòng)態(tài)調(diào)整,由于MDI的目標(biāo)DF值 的大小是可以反映語(yǔ)音質(zhì)量的,因此通過(guò)目標(biāo)DF值來(lái)控制JB的動(dòng)態(tài)調(diào)整,可以保證語(yǔ)音質(zhì) 量。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單
9元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件 和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這 些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專 業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不 應(yīng)認(rèn)為超出本發(fā)明的范圍。結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的 軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器 (ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤(pán)、可移動(dòng)磁盤(pán)、CD-ROM、或技術(shù)領(lǐng)域 內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在 本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù) 范圍之內(nèi)。
10
權(quán)利要求
一種動(dòng)態(tài)調(diào)整抖動(dòng)緩存的方法,其特征在于,應(yīng)用于語(yǔ)音傳輸過(guò)程,包括利用媒體傳輸質(zhì)量指標(biāo)獲取延時(shí)因素;根據(jù)獲取的所述延時(shí)因素和預(yù)先確定的目標(biāo)延遲因素的差值確定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值;根據(jù)所述需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用媒體傳輸質(zhì)量指標(biāo)獲取延時(shí)因 素包括利用媒體傳輸質(zhì)量指標(biāo)獲取經(jīng)過(guò)抖動(dòng)緩存的數(shù)據(jù)包的延遲因素或獲取未經(jīng)過(guò)抖動(dòng)緩 存的延遲因素。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)獲取的所述延時(shí)因素和預(yù)先確 定的目標(biāo)延遲因素的差值確定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值包括如果獲取的所述延時(shí)因素為經(jīng)過(guò)抖動(dòng)緩存的數(shù)據(jù)包的延遲因素,則根據(jù)如下公式確定 語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值vk = Vk-^Diff ;如果獲取的所述延時(shí)因素為未經(jīng)過(guò)抖動(dòng)緩存的數(shù)據(jù)包的延遲因素,則根據(jù)如下公式確 定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值vk = Diff ;其中,Vk表示第k個(gè)語(yǔ)音段的抖動(dòng)值,Diff表示測(cè)得的延遲因素值與目標(biāo)延遲因素值 的差值,k為大于1的整數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述需要調(diào)整的抖動(dòng)值以及語(yǔ) 音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整包括根據(jù)當(dāng)前的系統(tǒng)時(shí)間確定當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí)間;根據(jù)語(yǔ)音傳輸過(guò)程中的平均延時(shí)以及需要調(diào)整的抖動(dòng)值確定當(dāng)前語(yǔ)音數(shù)據(jù)包的新播 放時(shí)間;根據(jù)當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí)間與新播放時(shí)間的差值對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)前語(yǔ)音數(shù)據(jù)包的新播放時(shí)間滿足Pkl =tsl;+di+vkPki 二 ρ1 +ts] -ts)其中,i為語(yǔ)音段第一個(gè)數(shù)據(jù)包的序號(hào),j為語(yǔ)音段的后續(xù)數(shù)據(jù)包的序號(hào),k為語(yǔ)音段的 序號(hào),d,為所述平均延時(shí),vk為所述需要調(diào)整的抖動(dòng)值,Z為當(dāng)前語(yǔ)音段第一個(gè)數(shù)據(jù)包的新 播放時(shí)間,¥為當(dāng)前語(yǔ)音段第一個(gè)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包的新播放時(shí)間,W和 < 分別為發(fā)送 端發(fā)送第i個(gè)和第j個(gè)語(yǔ)音數(shù)據(jù)包的時(shí)間。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí)間 與新播放時(shí)間的差值對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整包括計(jì)算新播放時(shí)間與原播放時(shí)間的差值,如果該差值的絕對(duì)值大于預(yù)設(shè)的最大調(diào)整幅度 值,則以允許的最大調(diào)整幅度值為本次抖動(dòng)緩存調(diào)整的幅度值,否則,以所述的差值的絕對(duì) 值作為本次抖動(dòng)緩存調(diào)整的幅度值;根據(jù)確定的本次抖動(dòng)緩存調(diào)整的幅度值,通過(guò)調(diào)整抖動(dòng)緩存的出隊(duì)指針在語(yǔ)音傳輸過(guò) 程中相應(yīng)靜音段的開(kāi)始點(diǎn)進(jìn)行抖動(dòng)緩存深度的調(diào)整。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述進(jìn)行抖動(dòng)緩存深度的調(diào)整包括增加抖動(dòng)緩存深度或者縮短抖動(dòng)緩存深度;當(dāng)進(jìn)行所述縮短抖動(dòng)緩存深度的操作時(shí),如果確定遇到語(yǔ)音數(shù)據(jù)包,則停止相應(yīng)的縮 短抖動(dòng)緩存深度的操作。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳 輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整包括如果上一次抖動(dòng)緩存深度調(diào)整的時(shí)間距離本次抖動(dòng)緩存深度調(diào)整的時(shí)間的間隔值大 于設(shè)定的允許進(jìn)行抖動(dòng)緩存深度調(diào)整的最小間隔時(shí)間,則根據(jù)所述需要調(diào)整的抖動(dòng)值以及 語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整。
9.一種動(dòng)態(tài)調(diào)整抖動(dòng)緩存的裝置,其特征在于,包括 延時(shí)因素獲取單元,用于利用媒體傳輸質(zhì)量指標(biāo)獲取延時(shí)因素;抖動(dòng)值確定單元,用于根據(jù)獲取的所述延時(shí)因素和預(yù)先確定的目標(biāo)延遲因素的差值確 定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值;調(diào)整單元,用于根據(jù)所述需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn) 行深度調(diào)整。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于所述延時(shí)因素獲取單元用于利用媒體傳輸質(zhì)量指標(biāo)獲取經(jīng)過(guò)抖動(dòng)緩存的數(shù)據(jù)包的延 遲因素或獲取未經(jīng)過(guò)抖動(dòng)緩存的延遲因素。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述調(diào)整單元包括第一確定單元,用于根據(jù)當(dāng)前的系統(tǒng)時(shí)間確定當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí)間; 第二確定單元,根據(jù)語(yǔ)音傳輸過(guò)程中的平均延時(shí)以及需要調(diào)整的抖動(dòng)值確定當(dāng)前語(yǔ)音 數(shù)據(jù)包的新播放時(shí)間;子調(diào)整單元,用于根據(jù)當(dāng)前語(yǔ)音數(shù)據(jù)包的原播放時(shí)間與新播放時(shí)間的差值對(duì)抖動(dòng)緩存 進(jìn)行深度調(diào)整。
12.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括如權(quán)利要求9 11任一項(xiàng)所述的裝置。
13.根據(jù)權(quán)利要求12的電子設(shè)備,其特征在于,所述電子設(shè)備的類型包括路由器、或 交換機(jī)、或網(wǎng)關(guān)、或手機(jī)、或計(jì)算機(jī)、或服務(wù)器。
全文摘要
本發(fā)明實(shí)施例提供一種調(diào)整抖動(dòng)緩存的方法、裝置和電子設(shè)備,所述方法包括在語(yǔ)音傳輸過(guò)程中利用媒體傳輸質(zhì)量指標(biāo)獲取延時(shí)因素;根據(jù)獲取的所述延時(shí)因素和預(yù)先確定的目標(biāo)延遲因素的差值確定語(yǔ)音傳輸過(guò)程中需要調(diào)整的抖動(dòng)值;在需要對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整時(shí),根據(jù)所述需要調(diào)整的抖動(dòng)值以及語(yǔ)音傳輸過(guò)程中的延時(shí)對(duì)抖動(dòng)緩存進(jìn)行深度調(diào)整。本發(fā)明實(shí)施例根據(jù)語(yǔ)音傳輸過(guò)程中利用媒體傳輸質(zhì)量指標(biāo)得到的DF值以及目標(biāo)DF值對(duì)JB的深度進(jìn)行相應(yīng)的調(diào)整,可以提高語(yǔ)音質(zhì)量。
文檔編號(hào)H04M7/00GK101924683SQ20091014665
公開(kāi)日2010年12月22日 申請(qǐng)日期2009年6月9日 優(yōu)先權(quán)日2009年6月9日
發(fā)明者侯曉鈞, 司艷華, 才金輝, 許方華 申請(qǐng)人:華為技術(shù)有限公司