一種音頻去抖動(dòng)系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明設(shè)及音頻數(shù)據(jù)處理領(lǐng)域,具體而言,設(shè)及一種音頻去抖動(dòng)系統(tǒng)和方法。
【背景技術(shù)】
[0002] 在VoIP通信中,極易受到網(wǎng)絡(luò)延遲/抖動(dòng)因素的影響。網(wǎng)絡(luò)延遲會(huì)導(dǎo)致語(yǔ)音延遲; 為解決抖動(dòng),一般增加抖動(dòng)緩沖區(qū),實(shí)現(xiàn)對(duì)亂序包的重排序,并實(shí)現(xiàn)抖動(dòng)平滑。通常采用的 抖動(dòng)緩沖技術(shù),即在接收方設(shè)定一個(gè)緩沖區(qū),當(dāng)話(huà)音包到達(dá)時(shí)首先進(jìn)入緩沖池暫存,隨后系 統(tǒng)再W穩(wěn)定平滑的速率將話(huà)音包從緩沖池中取出,經(jīng)解壓后播放給受話(huà)者。運(yùn)種緩沖技術(shù) 可W在一定限度內(nèi)有效消除話(huà)音抖動(dòng)并提高音質(zhì)。常見(jiàn)的去抖動(dòng)緩沖方法是動(dòng)態(tài)的改變抖 動(dòng)緩沖區(qū)大小,現(xiàn)在使用的去抖動(dòng)緩沖方法,緩沖區(qū)調(diào)整方法較簡(jiǎn)單、抖動(dòng)時(shí)間粒度大,導(dǎo) 致聲音失真,去抖動(dòng)效果不理想。因此,如何對(duì)動(dòng)態(tài)調(diào)整抖動(dòng)緩沖區(qū)的方法進(jìn)行優(yōu)化是目前 面臨的一大課題。
【發(fā)明內(nèi)容】
[0003] 有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種音頻去抖動(dòng)系統(tǒng)和方法。
[0004] 本發(fā)明實(shí)施例提供的音頻去抖動(dòng)系統(tǒng),應(yīng)用于音頻處理裝置,所述音頻去抖動(dòng)系 統(tǒng)包括:
[0005] 音頻數(shù)據(jù)接收模塊,用于接收音頻數(shù)據(jù);
[0006] 平均抖動(dòng)時(shí)間獲取模塊,用于按照預(yù)設(shè)的時(shí)間周期獲取所述音頻數(shù)據(jù)在每一個(gè)所 述時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間;
[0007] 平均抖動(dòng)時(shí)間比較模塊,用于將當(dāng)前時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間與前一個(gè)時(shí)間周 期內(nèi)的平均抖動(dòng)時(shí)間進(jìn)行比較;
[0008] 抖動(dòng)緩沖區(qū)調(diào)整模塊,用于在當(dāng)前時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間大于前一個(gè)時(shí)間周 期內(nèi)的平均抖動(dòng)時(shí)間時(shí),按照預(yù)設(shè)的抖動(dòng)緩沖區(qū)增長(zhǎng)速度,對(duì)抖動(dòng)緩沖區(qū)的大小進(jìn)行增加; W及在當(dāng)前時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間小于前一個(gè)時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間時(shí),按照預(yù) 設(shè)的抖動(dòng)緩沖區(qū)減小速度,對(duì)抖動(dòng)緩沖區(qū)的大小進(jìn)行減??;
[0009] 抖動(dòng)緩沖區(qū)調(diào)整控制模塊,用于用于當(dāng)所述抖動(dòng)緩沖區(qū)的大小達(dá)到預(yù)設(shè)的最大尺 寸時(shí),停止增加抖動(dòng)緩沖區(qū)的大??;W及當(dāng)抖動(dòng)緩沖區(qū)的大小達(dá)到預(yù)設(shè)的最小尺寸時(shí),停止 減小抖動(dòng)緩沖區(qū)的大??;
[0010] 所述音頻數(shù)據(jù)接收模塊還用于將接收的音頻數(shù)據(jù)寫(xiě)入所述抖動(dòng)緩沖區(qū);
[0011] 音頻數(shù)據(jù)讀取模塊,用于按照預(yù)設(shè)的速度從所述抖動(dòng)緩沖區(qū)中讀取音頻數(shù)據(jù)并輸 出。
[0012] 本發(fā)明實(shí)施例提供的音頻去抖動(dòng)方法,應(yīng)用于音頻去抖動(dòng)系統(tǒng),所述音頻去抖動(dòng) 方法包括:
[0013] 音頻數(shù)據(jù)接收步驟,接收音頻數(shù)據(jù);
[0014] 獲取平均抖動(dòng)時(shí)間步驟,按照預(yù)設(shè)的時(shí)間周期獲取所述音頻數(shù)據(jù)在每一個(gè)所述時(shí) 間周期內(nèi)的平均抖動(dòng)時(shí)間;
[0015] 比較平均抖動(dòng)時(shí)間步驟,將當(dāng)前時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間與前一個(gè)時(shí)間周期內(nèi) 的平均抖動(dòng)時(shí)間進(jìn)行比較;
[0016] 調(diào)整抖動(dòng)緩沖區(qū)模步驟,在當(dāng)前時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間大于前一個(gè)時(shí)間周期 內(nèi)的平均抖動(dòng)時(shí)間時(shí),按照預(yù)設(shè)的抖動(dòng)緩沖區(qū)增長(zhǎng)速度,對(duì)抖動(dòng)緩沖區(qū)的大小進(jìn)行增加;在 當(dāng)前時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間小于前一個(gè)時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間時(shí),按照預(yù)設(shè)的抖 動(dòng)緩沖區(qū)減小速度,對(duì)抖動(dòng)緩沖區(qū)的大小進(jìn)行減??;
[0017] 抖動(dòng)緩沖區(qū)調(diào)整控制步驟,用于當(dāng)所述抖動(dòng)緩沖區(qū)的大小達(dá)到預(yù)設(shè)的最大尺寸 時(shí),停止增加抖動(dòng)緩沖區(qū)的大小;W及當(dāng)抖動(dòng)緩沖區(qū)的大小達(dá)到預(yù)設(shè)的最小尺寸時(shí),停止減 小抖動(dòng)緩沖區(qū)的大?。?br>[0018] 寫(xiě)入音頻數(shù)據(jù)步驟,將接收的音頻數(shù)據(jù)寫(xiě)入所述抖動(dòng)緩沖區(qū);
[0019] 讀取音頻數(shù)據(jù)步驟,按照預(yù)設(shè)的速度從所述抖動(dòng)緩沖區(qū)中讀取音頻數(shù)據(jù)并輸出。
[0020] 與現(xiàn)有技術(shù)相比,本發(fā)明的音頻去抖動(dòng)系統(tǒng)和方法,能夠在音頻數(shù)據(jù)的傳輸過(guò)程 中,持續(xù)捕捉音頻數(shù)據(jù)的抖動(dòng)時(shí)間的相關(guān)參數(shù),自動(dòng)學(xué)習(xí)不同的網(wǎng)絡(luò)抖動(dòng)規(guī)律和環(huán)境,根據(jù) 捕捉到的多方面的相關(guān)參數(shù)選擇更為優(yōu)化的方案對(duì)抖動(dòng)緩沖區(qū)的大小進(jìn)行調(diào)整,取得了更 好的音頻去抖動(dòng)效果。
[0021] 為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合 所附附圖,作詳細(xì)說(shuō)明如下。
【附圖說(shuō)明】
[0022] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附 圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,W下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì) 范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可W根據(jù)運(yùn) 些附圖獲得其他相關(guān)的附圖。
[0023] 圖1為本發(fā)明實(shí)施例提供的包括音頻去抖動(dòng)系統(tǒng)的音頻處理裝置的方框示意圖。
[0024] 圖2為本發(fā)明較佳實(shí)施例提供的音頻去抖動(dòng)系統(tǒng)的功能模塊示意圖。
[0025] 圖3本發(fā)明較佳實(shí)施例提供的一種音頻去抖動(dòng)方法的流程圖。
[0026] 圖4本發(fā)明較佳實(shí)施例提供的另一種音頻去抖動(dòng)方法的流程圖。
[0027] 圖5本發(fā)明較佳實(shí)施例提供的又一種音頻去抖動(dòng)方法的流程圖。
[0028] 主要元件符號(hào)說(shuō)明
【具體實(shí)施方式】
[0031] 下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整 地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在 此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可WW各種不同的配置來(lái)布置和設(shè)計(jì)。因 此,W下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的 范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做 出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0032] 應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類(lèi)似項(xiàng),因此,一旦某一項(xiàng)在一 個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。同時(shí),在本發(fā)明的 描述中,術(shù)語(yǔ)"第一"、"第二"等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。
[0033] 如圖1所示,是本發(fā)明實(shí)施例提供的包括音頻去抖動(dòng)系統(tǒng)的音頻處理裝置100的方 框示意圖。所述音頻處理裝置100可W是計(jì)算機(jī)如個(gè)人電腦(personal computer,PC)、平板 電腦等,也可W是移動(dòng)設(shè)備如智能手機(jī)、個(gè)人數(shù)字助理(personal digital assistant, PDA)等。在本實(shí)施例中,所述音頻處理裝置100包括音頻去抖動(dòng)系統(tǒng)10、存儲(chǔ)器20 W及處理 器30。
[0034] 所述存儲(chǔ)器20W及處理器30之間直接或間接地電性連接,W實(shí)現(xiàn)數(shù)據(jù)的傳輸或交 互。例如,運(yùn)些元件相互之間可通過(guò)一條或多條通訊總線(xiàn)或信號(hào)線(xiàn)實(shí)現(xiàn)電性連接。所述音頻 去抖動(dòng)系統(tǒng)10包括至少一個(gè)可W軟件或固件(firmware)的形式存儲(chǔ)于所述存儲(chǔ)器中或固 化在所述音頻處理裝置100的操作系統(tǒng)(operating system,OS)中的軟件功能模塊。所述處 理器用于執(zhí)行存儲(chǔ)器中存儲(chǔ)的可執(zhí)行模塊,例如所述音頻去抖動(dòng)系統(tǒng)10包括的軟件功能模 塊或計(jì)算機(jī)程序。
[0035] 其中,存儲(chǔ)器20可W是,但不限于,隨機(jī)存取存儲(chǔ)器(Random Access Memory, RAM),只讀存儲(chǔ)器(Read Only Memoir ,ROM),可編程只讀存儲(chǔ)器(Programmable Read-Only Memoir, PROM),可擦除只讀存儲(chǔ)器化 rasable Programmable Read-Only Memoir ,EPROM), 電可擦除只讀存儲(chǔ)器巧Iectric Erasable Programmable Read-Only Memoir,EEPROM)等。 其中,存儲(chǔ)器20用于存儲(chǔ)程序,所述處理器30在接收到執(zhí)行指令后,執(zhí)行所述程序,下述本 發(fā)明實(shí)施例任一實(shí)施例掲示的流過(guò)程定義的音頻處理裝置100所執(zhí)行的方法可W應(yīng)用于處 理器30中,或者由處理器30實(shí)現(xiàn)。
[0036] 處理器30可能是一種集成電路忍片,具有信號(hào)的處理能力。上述的處理器可W是 通用處理器,包括中央處理器(Central Processing Unit,簡(jiǎn)稱(chēng)CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡(jiǎn)稱(chēng)NP)等;還可W是數(shù)字信號(hào)處理器(DSP)、專(zhuān)用集成電路(ASIC)、現(xiàn)成可編程 口陣列(FPGA)或者其他可編程邏輯器件、分立口或者晶體管邏輯器件、分立硬件組件。可W 實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可W是微處 理器或者該處理器也可W是任何常規(guī)的處理器等。在一些實(shí)施例中,處理器30可W在單個(gè) 忍片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可W分別由獨(dú)立的忍片實(shí)現(xiàn)。
[0037] 請(qǐng)參閱圖2,是本發(fā)明較佳實(shí)施例提供的應(yīng)用于圖1所示的音頻處理裝置100的音 頻去抖動(dòng)系統(tǒng)10的功能模塊示意圖。下面將對(duì)圖2所示的音頻去抖動(dòng)系統(tǒng)10所包括的功能 模塊進(jìn)行詳細(xì)闡述。所述音頻去抖動(dòng)系統(tǒng)10包括:
[0038] 平均抖動(dòng)時(shí)間獲取模塊101,用于按照預(yù)設(shè)的時(shí)間周期獲取所述音頻數(shù)據(jù)在每一 個(gè)所述時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間。
[0039] 平均抖動(dòng)時(shí)間反映的是音頻去抖動(dòng)系統(tǒng)10接收到的音頻數(shù)據(jù)在一個(gè)時(shí)間周期內(nèi) 的抖動(dòng)情況,時(shí)間周期長(zhǎng)度的是預(yù)先進(jìn)行設(shè)置的。時(shí)間周期越短,平均抖動(dòng)時(shí)間反映的抖動(dòng) 情況就越準(zhǔn)確。可W根據(jù)實(shí)際的需求,選擇合適的時(shí)間周期長(zhǎng)度進(jìn)行預(yù)先設(shè)置。
[0040] 平均抖動(dòng)時(shí)間比較模塊102,用于將當(dāng)前時(shí)間周期內(nèi)的平均抖動(dòng)時(shí)間與前一個(gè)時(shí) 間周期內(nèi)的平均抖動(dòng)時(shí)間進(jìn)行比較。
[0041] 對(duì)比相鄰時(shí)間周期的平均抖動(dòng)時(shí)間,可W判斷出音頻數(shù)據(jù)的抖動(dòng)變化的趨勢(shì),作 為調(diào)整抖動(dòng)緩沖區(qū)的參考。