亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種音頻信號(hào)的時(shí)域包絡(luò)處理方法及裝置、編碼器與流程

文檔序號(hào):11136034閱讀:1188來(lái)源:國(guó)知局
一種音頻信號(hào)的時(shí)域包絡(luò)處理方法及裝置、編碼器與制造工藝

本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種音頻信號(hào)的時(shí)域包絡(luò)處理方法及裝置、編碼器。



背景技術(shù):

隨著語(yǔ)音頻壓縮技術(shù)的高速發(fā)展,各種語(yǔ)音頻編碼算法也相繼出現(xiàn)。在語(yǔ)音頻編碼算法的處理過(guò)程中,需要計(jì)算時(shí)域包絡(luò),現(xiàn)有的計(jì)算并量化時(shí)域包絡(luò)的過(guò)程為:根據(jù)事先設(shè)定好的計(jì)算時(shí)域包絡(luò)的個(gè)數(shù)M,M為正整數(shù),將預(yù)處理后的原始高帶信號(hào)和預(yù)測(cè)的高帶信號(hào)分別分成M個(gè)子幀,對(duì)子幀進(jìn)行加窗,然后計(jì)算各個(gè)子幀內(nèi)預(yù)處理后的原始高帶信號(hào)和預(yù)測(cè)的高帶信號(hào)的能量或幅度比。其中,事先設(shè)定好的計(jì)算時(shí)域包絡(luò)的個(gè)數(shù)M是根據(jù)前向緩存(lookahead buffer)的長(zhǎng)度來(lái)確定。前向緩存是當(dāng)前幀為了計(jì)算一些參數(shù)的需要,將輸入信號(hào)的最后某些樣點(diǎn)緩存不用,在下一幀計(jì)算參數(shù)時(shí)使用,當(dāng)前幀使用的是前一幀緩存的樣點(diǎn)。緩存的這些樣點(diǎn)即為前向緩存,緩存的樣點(diǎn)的個(gè)數(shù)即為前向緩存的長(zhǎng)度。

上述對(duì)時(shí)域包絡(luò)的處理過(guò)程存在的問(wèn)題是:在求解時(shí)域包絡(luò)時(shí),利用的都是對(duì)稱窗,同時(shí)為了保證子幀間和幀間的混疊,根據(jù)前向緩存(lookahead)的長(zhǎng)度計(jì)算了多個(gè)時(shí)域包絡(luò)。但在計(jì)算時(shí)域包絡(luò)時(shí),如果信號(hào)的時(shí)域分辨率太高,會(huì)造成幀內(nèi)能量的不連續(xù),從而引入很差的聽(tīng)覺(jué)感受。



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

本發(fā)明實(shí)施例提供一種音頻信號(hào)的時(shí)域包絡(luò)處理方法及裝置、編碼器,可解決在計(jì)算時(shí)域包絡(luò)時(shí)造成的幀內(nèi)能量的不連續(xù)的問(wèn)題。

第一方面,本發(fā)明實(shí)施例提供一種音頻信號(hào)的時(shí)域包絡(luò)處理方法,包括:

根據(jù)接收到的當(dāng)前幀信號(hào),得到所述當(dāng)前幀信號(hào)的高帶信號(hào);

根據(jù)預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M將所述當(dāng)前幀的高帶信號(hào)分成M個(gè)子幀,其中,M為大于等于2的整數(shù);

計(jì)算每一個(gè)所述子幀的時(shí)域包絡(luò);

其中,所述計(jì)算每一個(gè)所述子幀的時(shí)域包絡(luò)包括:

采用非對(duì)稱窗對(duì)所述M個(gè)子幀中的最前端的子幀和所述M個(gè)子幀中的最末端的子幀進(jìn)行加窗;

對(duì)所述M個(gè)子幀中除所述最前端的子幀和所述最末端的子幀之外的子幀進(jìn)行加窗。

根據(jù)本發(fā)明實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)的處理方法,在不同的條件下采用不同的窗長(zhǎng)度和/或窗形狀求解時(shí)域包絡(luò),減少因?yàn)闀r(shí)域包絡(luò)差別太大引入的能量不連續(xù)的影響,能夠提升輸出信號(hào)的性能。

在第一方面的第一種可能的實(shí)施方式中,在采用非對(duì)稱窗對(duì)所述M個(gè)子幀中的最前端的子幀和所述M個(gè)子幀中的最末端的子幀進(jìn)行加窗之前,所述方法還包括:

根據(jù)所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定所述非對(duì)稱窗;或者,

根據(jù)所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度和所述時(shí)域包絡(luò)個(gè)數(shù)M確定所述非對(duì)稱窗。

結(jié)合第一方面或第一方面的第一種可能的實(shí)施方式,在第一方面的第二種可能的實(shí)施方式中,所述對(duì)所述M個(gè)子幀中除所述最前端的子幀和所述最末端的子幀之外的子幀進(jìn)行加窗,包括:

對(duì)所述M個(gè)子幀中除最前端的子幀和所述最末端的子幀之外的子幀采用對(duì)稱窗進(jìn)行加窗;或者,

對(duì)所述M個(gè)子幀中除最前端的子幀和所述最末端的子幀之外的子幀采用非對(duì)稱窗進(jìn)行加窗。

結(jié)合第一方面,在第一方面的第三種可能的實(shí)施方式中,所述非對(duì)稱窗的窗長(zhǎng)與對(duì)所述M個(gè)子幀中除所述最前端的子幀和所述最末端的子幀之外的子幀進(jìn)行加窗所采用的窗的窗長(zhǎng)相同。

結(jié)合第一方面的第一種可能的實(shí)施方式至第一方面的第三種可能的實(shí)施方式任意之一所述的方法,在第一方面的第四種可能的實(shí)施方式中,所述根據(jù)所述當(dāng)前幀音頻信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定非對(duì)稱窗,包括:

當(dāng)所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度小于第一閾值時(shí),根據(jù)當(dāng)前幀的前一幀信號(hào)的高帶信號(hào)和所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定所述非對(duì)稱窗,其中,所述當(dāng)前幀的前一幀信號(hào)的高帶信號(hào)的最末端子幀采用的非對(duì)稱窗和所述當(dāng)前幀信號(hào)的高帶信號(hào)的最前端子幀采用的非對(duì)稱窗的混疊部分等于所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度,所述第一閾值等于所述當(dāng)前幀的高帶信號(hào)的幀長(zhǎng)除以M。

結(jié)合第一方面的第一種可能的實(shí)施方式至第一方面的第三種可能的實(shí)施方式任意之一所述的方法,在第一方面的第五種可能的實(shí)施方式中,所述根據(jù)所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定非對(duì)稱窗,包括:

當(dāng)所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度大于第一閾值時(shí),根據(jù)所述當(dāng)前幀的前一幀信號(hào)的高帶信號(hào)和所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定所述非對(duì)稱窗,其中,所述當(dāng)前幀的前一幀信號(hào)的高帶信號(hào)的最末端子幀采用的非對(duì)稱窗和所述當(dāng)前幀信號(hào)的高帶信號(hào)的最前端子幀采用的非對(duì)稱窗的混疊部分等于所述第一閾值,所述第一閾值等于所述當(dāng)前幀的高帶信號(hào)的幀長(zhǎng)除以M。

結(jié)合第一方面至第一方面的第五種可能的實(shí)施方式任意之一所述的方法,在第一方面的第六種可能的實(shí)施方式中,根據(jù)下列之一方式確定所述時(shí)域包絡(luò)個(gè)數(shù)M:

根據(jù)所述當(dāng)前幀信號(hào)得到所述當(dāng)前幀信號(hào)的低帶信號(hào),當(dāng)所述當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期大于第二閾值時(shí),M=M1;或者,

根據(jù)所述當(dāng)前幀信號(hào)得到所述當(dāng)前幀信號(hào)的低帶信號(hào),當(dāng)所述當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期不大于第二閾值時(shí),M=M2;

其中,M1,M2均為正整數(shù),且M2>M1。

結(jié)合第一方面至第一方面的第五種可能的實(shí)施方式任意之一所述的方法,在第一方面的第七種可能的實(shí)施方式中,所述方法還包括:

根據(jù)所述當(dāng)前幀信號(hào)得到所述當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期;

當(dāng)所述當(dāng)前幀信號(hào)的類型與所述當(dāng)前幀的前一幀信號(hào)的類型相同,且所述當(dāng)前幀的低帶信號(hào)的基音周期大于第三閾值時(shí),對(duì)每一個(gè)所述子幀的時(shí)域包絡(luò)進(jìn)行平滑處理。

第二方面,本發(fā)明實(shí)施例提供一種音頻信號(hào)的時(shí)域包絡(luò)處理裝置,包括:

高帶信號(hào)獲取模塊,用于根據(jù)接收到的當(dāng)前幀信號(hào),得到所述當(dāng)前幀信號(hào)的高帶信號(hào);

子幀獲取模塊,用于根據(jù)預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M將所述當(dāng)前幀的高帶信號(hào)分成M個(gè)子幀,其中,M為大于等于2的整數(shù);

時(shí)域包絡(luò)獲取模塊,用于計(jì)算每一個(gè)所述子幀的時(shí)域包絡(luò);

其中,所述時(shí)域包絡(luò)獲取模塊具體用于:

采用非對(duì)稱窗對(duì)所述M個(gè)子幀中的最前端的子幀和所述M個(gè)子幀中的最末端的子幀進(jìn)行加窗;

對(duì)所述M個(gè)子幀中除所述最前端的子幀和所述最末端的子幀之外的子幀進(jìn)行加窗。

根據(jù)本發(fā)明實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)的處理裝置,在不同的條件下采用不同的窗長(zhǎng)度和/或窗形狀求解時(shí)域包絡(luò),減少因?yàn)闀r(shí)域包絡(luò)差別太大引入的能量不連續(xù)的影響,能夠提升輸出信號(hào)的性能。

在第二方面的第一種可能的實(shí)施方式中,所述時(shí)域包絡(luò)獲取模塊還用于:

根據(jù)所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定所述非對(duì)稱窗;或者,

根據(jù)所述當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度和所述時(shí)域包絡(luò)個(gè)數(shù)M確定所述非對(duì)稱窗。

結(jié)合第二方面的實(shí)施方式,在第二方面的第二種可能的實(shí)施方式中,所述時(shí)域包絡(luò)獲取模塊具體用于:

采用非對(duì)稱窗對(duì)所述M個(gè)子幀中的最前端的子幀和所述M個(gè)子幀中的最末端的子幀進(jìn)行加窗,對(duì)所述M個(gè)子幀中除最前端的子幀和所述最末端的子幀之外的子幀采用對(duì)稱窗進(jìn)行加窗;或者,

采用非對(duì)稱窗對(duì)所述M個(gè)子幀中的最前端的子幀和所述M個(gè)子幀中的最末端的子幀進(jìn)行加窗,對(duì)所述M個(gè)子幀中除最前端的子幀和所述最末端的子幀之外的子幀采用非對(duì)稱窗進(jìn)行加窗。

結(jié)合第二方面的實(shí)施方式,在第二方面的第三種可能的實(shí)施方式中,所述非對(duì)稱窗的窗長(zhǎng)與對(duì)所述M個(gè)子幀中除所述最前端的子幀和所述最末端的子幀之外的子幀進(jìn)行加窗所采用的窗的窗長(zhǎng)相同。

結(jié)合第二方面至第二方面的第三種可能的實(shí)施方式任意之一所述的裝置,在第二方面的第四種可能的實(shí)施方式中,還包括:確定模塊,用于根據(jù)下列之一方式確定所述時(shí)域包絡(luò)個(gè)數(shù)M:

根據(jù)所述當(dāng)前幀信號(hào)得到所述當(dāng)前幀信號(hào)的低帶信號(hào),當(dāng)所述當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期大于第二閾值時(shí),M=M1;或者,

根據(jù)所述當(dāng)前幀信號(hào)得到所述當(dāng)前幀信號(hào)的低帶信號(hào),當(dāng)所述當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期不大于第二閾值時(shí),M=M2;

其中,M1,M2均為正整數(shù),且M2>M1。

本發(fā)明第三方面的實(shí)施例公開(kāi)了一種編碼器,所述編碼器具體用于:

用于根據(jù)接收到的當(dāng)前幀信號(hào),得到所述當(dāng)前幀信號(hào)的低帶信號(hào)和所述當(dāng)前幀信號(hào)的高帶信號(hào);

對(duì)所述當(dāng)前幀信號(hào)的低帶信號(hào)進(jìn)行編碼,得到低帶編碼的激勵(lì)信號(hào);

對(duì)所述當(dāng)前幀信號(hào)的高帶信號(hào)進(jìn)行線性預(yù)測(cè),得到線性預(yù)測(cè)系數(shù);

量化所述線性預(yù)測(cè)系數(shù),得到量化后的線性預(yù)測(cè)系數(shù);

根據(jù)所述低帶編碼的激勵(lì)信號(hào)和所述量化后的線性預(yù)測(cè)系數(shù)得到預(yù)測(cè)的高帶信號(hào);

計(jì)算及量化所述預(yù)測(cè)的高帶信號(hào)的時(shí)域包絡(luò);

其中,所述計(jì)算所述預(yù)測(cè)的高帶信號(hào)的時(shí)域包絡(luò)包括:

根據(jù)預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M將所述預(yù)測(cè)的高帶信號(hào)分成M個(gè)子幀,其中,M為大于等于2的整數(shù),

采用非對(duì)稱窗對(duì)所述M個(gè)子幀中的最前端的子幀和所述M個(gè)子幀中的最末端的子幀進(jìn)行加窗,

對(duì)所述M個(gè)子幀中除所述最前端的子幀和所述最末端的子幀之外的子幀進(jìn)行加窗;

對(duì)量化后的時(shí)域包絡(luò)進(jìn)行編碼。

根據(jù)本發(fā)明實(shí)施例提供的編碼器,在不同的條件下采用不同的窗長(zhǎng)度和/或窗形狀求解時(shí)域包絡(luò),減少因?yàn)闀r(shí)域包絡(luò)差別太大引入的能量不連續(xù)的影響,能夠提升輸出信號(hào)的性能。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為一種對(duì)音頻信號(hào)進(jìn)行編碼的過(guò)程示意圖;

圖2為本發(fā)明音頻信號(hào)的時(shí)域包絡(luò)處理方法實(shí)施例一的流程圖;

圖3為本發(fā)明實(shí)施例中對(duì)音頻信號(hào)進(jìn)行處理的示意圖;

圖4為本發(fā)明另一實(shí)施例的對(duì)音頻信號(hào)進(jìn)行處理的示意圖;

圖5為本發(fā)明另一實(shí)施例的對(duì)音頻信號(hào)進(jìn)行處理的示意圖;

圖6為本發(fā)明音頻信號(hào)的時(shí)域包絡(luò)處理方法實(shí)施例二的流程圖;

圖7為本發(fā)明實(shí)施例的時(shí)域包絡(luò)處理裝置的結(jié)構(gòu)示意圖;

圖8為本發(fā)明實(shí)施例的編碼器的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1為一種對(duì)語(yǔ)音頻信號(hào)進(jìn)行編碼的過(guò)程示意圖,如圖1所示,在編碼端,在獲得原始音頻信號(hào)后,首先對(duì)原始音頻信號(hào)進(jìn)行信號(hào)分解,得到原始音頻信號(hào)的低帶信號(hào)和高帶信號(hào),接著對(duì)低帶信號(hào)通過(guò)已有算法進(jìn)行編碼得到低帶的碼流,已有算法(例如代數(shù)碼本激勵(lì)線性預(yù)測(cè)編碼(Algebraic Code Excited Linear Prediction,簡(jiǎn)稱:ACELP),或碼本激勵(lì)線性預(yù)測(cè)編碼(Code Excited Linear Prediction,簡(jiǎn)稱:CELP等算法),同時(shí),在進(jìn)行低帶編碼過(guò)程中,得到低帶的激勵(lì)信號(hào),并對(duì)低帶激勵(lì)信號(hào)進(jìn)行預(yù)處理;對(duì)于原始音頻信號(hào)的高帶信號(hào),首先進(jìn)行預(yù)處理,然后做線性預(yù)測(cè)(Linear prediction,以下簡(jiǎn)稱:LP)分析得到LP系數(shù),量化該LP系數(shù)。接著將預(yù)處理后的低帶激勵(lì)信號(hào)通過(guò)LP合成濾波器(濾波器系數(shù)為量化后的LP系數(shù))得到預(yù)測(cè)的高帶信號(hào)。根據(jù)預(yù)處理后的高帶信號(hào)和預(yù)測(cè)的高帶信號(hào),計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò),最后輸出編碼碼流(MUX)。計(jì)算并量化高帶信號(hào)的時(shí)域包絡(luò)的過(guò)程為:根據(jù)事先設(shè)定好的時(shí)域包絡(luò)的個(gè)數(shù)N,將預(yù)處理后的高帶信號(hào)和預(yù)測(cè)的高帶信號(hào)分別分成N個(gè)子幀,對(duì)每一個(gè)子幀進(jìn)行加窗,然后計(jì)算預(yù)處理后的原始高帶信號(hào)每一個(gè)子幀和預(yù)測(cè)的高帶信號(hào)的相對(duì)應(yīng)的每一個(gè)子幀的時(shí)域能量或子幀內(nèi)每個(gè)樣點(diǎn)幅度的平均值。其中,事先設(shè)定好的時(shí)域包絡(luò)的個(gè)數(shù)N是根據(jù)前向緩存(lookahead)的長(zhǎng)度來(lái)確定的,N為正整數(shù)。

本發(fā)明實(shí)施例提供一種音頻信號(hào)的時(shí)域包絡(luò)處理方法,主要用于圖1中所示的計(jì)算及量化時(shí)域包絡(luò)的步驟,還可以用于其它采用同樣原理的求解時(shí)域包絡(luò)的處理流程中。下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)處理方法。

圖2為本發(fā)明音頻信號(hào)的時(shí)域包絡(luò)處理方法實(shí)施例一的流程圖,如圖2所示,本實(shí)施例的方法包括:

S21、根據(jù)接收到的當(dāng)前幀信號(hào),得到當(dāng)前幀信號(hào)的高帶信號(hào)。

當(dāng)前幀信號(hào)即可以是語(yǔ)音信號(hào),也可以是音樂(lè)信號(hào),還可能是噪音信號(hào),在此不做具體的限制。

S22、根據(jù)預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M將當(dāng)前幀的高帶信號(hào)分成M個(gè)子幀,其中,M為大于等于2的整數(shù)。

其中,具體來(lái)說(shuō),要預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M可以是根據(jù)整體算法要求和經(jīng)驗(yàn)值確定。時(shí)域包絡(luò)個(gè)數(shù)M例如是編碼器事先根據(jù)整體算法或經(jīng)驗(yàn)值確定,確定后不會(huì)改變。例如一般對(duì)20ms一幀的輸入信號(hào),如果輸入信號(hào)相對(duì)平穩(wěn),求解4個(gè)或者2個(gè)時(shí)域包絡(luò),但對(duì)一些非平穩(wěn)信號(hào),需要求解更多如8個(gè)時(shí)域包絡(luò)。

S23、計(jì)算每一個(gè)子幀的時(shí)域包絡(luò)。

其中,計(jì)算每一個(gè)子幀的時(shí)域包絡(luò)包括:

采用非對(duì)稱窗對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中的最末端的子幀進(jìn)行加窗。

對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀進(jìn)行加窗。

進(jìn)一步地,在采用非對(duì)稱窗對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中的最末端的子幀進(jìn)行加窗之前,本實(shí)施例的方法還可以包括:

根據(jù)當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定非對(duì)稱窗;或者,

根據(jù)當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度和時(shí)域包絡(luò)個(gè)數(shù)M確定非對(duì)稱窗。

其中,對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀進(jìn)行加窗,具體可以包括:

對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用對(duì)稱窗進(jìn)行加窗;或者,

對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用非對(duì)稱窗進(jìn)行加窗。

其中,在一種可能的實(shí)施方式中,對(duì)最前端子幀和最末端子幀加窗使用的非對(duì)稱窗的窗長(zhǎng)與對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀進(jìn)行加窗所采用的窗的窗長(zhǎng)相同。

在上述實(shí)施例中,作為一種可實(shí)施的方式,根據(jù)當(dāng)前幀音頻信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定非對(duì)稱窗,包括:

當(dāng)當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度小于第一閾值時(shí),根據(jù)當(dāng)前幀的前一幀信號(hào)的高帶信號(hào)和當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定非對(duì)稱窗,其中,當(dāng)前幀的前一幀信號(hào)的高帶信號(hào)的最末端子幀采用的非對(duì)稱窗和當(dāng)前幀信號(hào)的高帶信號(hào)的最前端子幀采用的非對(duì)稱窗的混疊部分等于當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度,第一閾值等于當(dāng)前幀的高帶信號(hào)的幀長(zhǎng)除以M。

在一種可能的實(shí)施方式中,根據(jù)當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定非對(duì)稱窗,包括:

當(dāng)當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度大于第一閾值時(shí),根據(jù)當(dāng)前幀的前一幀信號(hào)的高帶信號(hào)和當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定非對(duì)稱窗,其中,當(dāng)前幀的前一幀信號(hào)的高帶信號(hào)的最末端子幀采用的非對(duì)稱窗和當(dāng)前幀信號(hào)的高帶信號(hào)的最前端子幀采用的非對(duì)稱窗的混疊部分等于第一閾值,第一閾值等于當(dāng)前幀的高帶信號(hào)的幀長(zhǎng)除以M。

在本發(fā)明的一種實(shí)施例中,根據(jù)下列之一方式確定時(shí)域包絡(luò)個(gè)數(shù)M:

根據(jù)當(dāng)前幀信號(hào)得到當(dāng)前幀信號(hào)的低帶信號(hào),當(dāng)當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期大于第二閾值時(shí),M=M1;或者,

根據(jù)當(dāng)前幀信號(hào)得到當(dāng)前幀信號(hào)的低帶信號(hào),當(dāng)當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期不大于第二閾值時(shí),M=M2;

其中,M1,M2均為正整數(shù),且M2>M1。在一種可能的方式中,M1=4,M2=8。

在上述實(shí)施例中,進(jìn)一步地,本實(shí)施例的方法還可以包括:

根據(jù)當(dāng)前幀信號(hào)得到當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期;

當(dāng)當(dāng)前幀信號(hào)的類型與當(dāng)前幀的前一幀信號(hào)的類型相同,且當(dāng)前幀的低帶信號(hào)的基音周期大于第三閾值時(shí),對(duì)每一個(gè)子幀的時(shí)域包絡(luò)進(jìn)行平滑處理。

對(duì)時(shí)域包絡(luò)做平滑處理,具體可以是:將相鄰的兩個(gè)子幀的時(shí)域包絡(luò)加權(quán),加權(quán)后的時(shí)域包絡(luò)作為這兩個(gè)子幀的時(shí)域包絡(luò)。例如,當(dāng)解碼端連續(xù)兩幀信號(hào)都是濁音信號(hào),或者一幀是濁音信號(hào)一幀是普通信號(hào),且低帶信號(hào)的基音周期大于給定閾值(大于70個(gè)樣點(diǎn),此時(shí)低帶信號(hào)的采樣率為12.8kHz采樣)時(shí),則對(duì)解碼的高帶信號(hào)時(shí)域包絡(luò)做平滑處理,否則保持時(shí)域包絡(luò)不變。平滑處理可以為:

env[0]=0.5*(env[0]+env[1]);

env[1]=0.5*(env[0]+env[1]);

env[N-1]=0.5*(env[N-1]+env[N]);

env[N]=0.5*(env[N-1]+env[N])。

其中,env[]為時(shí)域包絡(luò)。

可以理解的是,上述步驟序號(hào)只是為了幫助理解本發(fā)明實(shí)施例而做出的一種示例,而不是對(duì)本發(fā)明實(shí)施例的具體限制。在實(shí)際的處理過(guò)程中,并不需要嚴(yán)格的按照上述順序的限制。例如,可以先對(duì)除最前端和最末端的子幀之外的子幀進(jìn)行加窗,再對(duì)最前端和最末端的子幀進(jìn)行加窗。

圖3為本發(fā)明實(shí)施例中對(duì)音頻信號(hào)進(jìn)行處理的示意圖。

如圖3所示,在編碼端,在獲得原始音頻信號(hào)后,首先對(duì)原始音頻信號(hào)進(jìn)行信號(hào)分解,得到原始音頻信號(hào)的低帶信號(hào)和高帶信號(hào),接著對(duì)低帶信號(hào)通過(guò)已有算法進(jìn)行編碼得到低帶的碼流,同時(shí),在進(jìn)行低帶編碼過(guò)程中,得到低帶的激勵(lì)信號(hào),并對(duì)低帶激勵(lì)信號(hào)進(jìn)行預(yù)處理;對(duì)于原始音頻信號(hào)的高帶信號(hào),首先進(jìn)行預(yù)處理,然后做LP分析得到LP系數(shù),量化該LP系數(shù)。接著將預(yù)處理后的低帶激勵(lì)信號(hào)通過(guò)LP合成濾波器(濾波器系數(shù)為量化后的LP系數(shù))得到預(yù)測(cè)的高帶信號(hào)。根據(jù)預(yù)處理后的高帶信號(hào)和預(yù)測(cè)的高帶信號(hào),計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò),最后輸出編碼碼流。

除了計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò)的步驟之外,對(duì)于音頻信號(hào)的其它步驟的處理可以參考現(xiàn)有技術(shù)中所采用的方法,在此不再贅述。

下面以具體對(duì)圖3中所示的N+1幀的處理來(lái)描述本發(fā)明實(shí)施例中計(jì)算及量化時(shí)域包絡(luò)的步驟。

如圖3所示,將第N+1幀按照需要計(jì)算的時(shí)域包絡(luò)的個(gè)數(shù)劃分為M個(gè)子幀,M為正整數(shù)。在一種可能的實(shí)施方式中,M的值可以是3、4、5、8等。在此不做限制。

對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中最末端的子幀采用非對(duì)稱窗進(jìn)行加窗。N+1幀的M個(gè)子幀中最前端的子幀為與前一幀(N幀)的信號(hào)有重疊部分的子幀;最末端的子幀為與后一幀(N+2幀,圖中未示出)的信號(hào)有重疊部分的子幀。在一種可能的方式中,如圖3所示,最前端的子幀即為N+1幀中最左端的子幀,最末端的子幀即為N+1幀中最右端的子幀。可以理解的是,最左和最右只是結(jié)合圖3的一種具體示例,而不是對(duì)本發(fā)明實(shí)施例的限制。實(shí)際中子幀的劃分是不存在最左、最右這種方向性限制的。

對(duì)于最前端的子幀和最末端的子幀加窗所使用的非對(duì)稱窗可以完全相同,也可以不同。在此不做限制。在一種可能的實(shí)現(xiàn)方式中,最前端子幀使用的非對(duì)稱窗的窗長(zhǎng)和最末端子幀所使用的非對(duì)稱窗的窗長(zhǎng)相同。

在本發(fā)明的一個(gè)實(shí)施例中,如圖3所示,對(duì)N+1幀的M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用對(duì)稱窗進(jìn)行加窗。

在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于最前端的子幀和最末端的子幀加窗所采用的非對(duì)稱窗的窗長(zhǎng)與對(duì)其它子幀采用的對(duì)稱窗的窗長(zhǎng)相等??梢岳斫獾氖?,在另一種可能的方式中,非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)也可以不等。

在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz時(shí),可以求解8個(gè)時(shí)域包絡(luò)。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz時(shí),也可以求解4個(gè)時(shí)域包絡(luò)。

在本發(fā)明的一個(gè)實(shí)施例中,除了預(yù)先設(shè)定之外,還可以根據(jù)N+1幀的其它信息預(yù)先確定時(shí)域包絡(luò)的個(gè)數(shù)N。下面是確定時(shí)域包絡(luò)的個(gè)數(shù)N的實(shí)現(xiàn)方式的示例:

在一種可能實(shí)現(xiàn)的方式中,當(dāng)?shù)贜+1幀的低帶信號(hào)的基音周期大于第二閾值時(shí),N=4;或者,當(dāng)?shù)贜+1幀的低帶信號(hào)的基音周期不大于第二閾值時(shí),N=8。對(duì)于采用率為12.8kHz的低帶信號(hào),第二閾值可以為70個(gè)樣點(diǎn)??梢岳斫獾氖牵鲜鰯?shù)值只是為了幫助理解本發(fā)明實(shí)施例而做出的一種具體舉例,而不是對(duì)本發(fā)明實(shí)施例的具體限制。如圖3所示,在對(duì)第N+1幀的信號(hào)進(jìn)行信號(hào)分解時(shí)可以得到第N+1幀的低帶信號(hào),信號(hào)分解所采用的方法和求解低帶信號(hào)的基音周期的方式可以采用現(xiàn)有技術(shù)中的任意一種方式,在此不做具體的限制。

可以理解的是,除了利用低帶信號(hào)的基音周期以外,還可以利用信號(hào)的能量等其它參數(shù)。

在本發(fā)明的一個(gè)實(shí)施例中,在利用非對(duì)稱窗對(duì)最前端的子幀和最末端的子幀進(jìn)行加窗時(shí),根據(jù)前向緩存的長(zhǎng)度確定非對(duì)稱窗。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz,求解8個(gè)時(shí)域包絡(luò)時(shí),加窗所采用的非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)可以都為20個(gè)樣點(diǎn)。利用幀長(zhǎng)除以包絡(luò)個(gè)數(shù)得到第一閾值,此示例中第一閾值等于10。則當(dāng)前向緩存的長(zhǎng)度小于10個(gè)樣點(diǎn)時(shí),第8個(gè)子幀(即,最末端的子幀)采用的窗和第1個(gè)子幀(即,最前端的子幀)采用的窗的混疊部分等于前向緩存的長(zhǎng)度。當(dāng)前向緩存的長(zhǎng)度大于等于10個(gè)樣點(diǎn)時(shí),第8個(gè)子幀采用的窗的右側(cè)和第1個(gè)子幀采用的窗的左側(cè)的長(zhǎng)度可以等于另一側(cè)(例如第一個(gè)子幀采用的窗的右側(cè)或第八個(gè)子幀采用的窗的左側(cè))的窗長(zhǎng)(10個(gè)樣點(diǎn)),也可以根據(jù)經(jīng)驗(yàn)設(shè)定一個(gè)長(zhǎng)度(如,保持和前向緩存小于10個(gè)樣點(diǎn)時(shí)相同的長(zhǎng)度)。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz,求解4個(gè)時(shí)域包絡(luò)時(shí),加窗所采用的非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)可以都為40個(gè)樣點(diǎn)。利用幀長(zhǎng)除以包絡(luò)個(gè)數(shù)得到第一閾值,此示例中第一閾值等于20。

在加窗后,計(jì)算各個(gè)子幀內(nèi)預(yù)處理后的原始高帶信號(hào)和預(yù)測(cè)的高帶信號(hào)的時(shí)域能量或子幀內(nèi)每個(gè)樣點(diǎn)幅度的平均值。具體的計(jì)算方式可參考現(xiàn)有技術(shù)中提供的方式,本發(fā)明實(shí)施例提供的信號(hào)處理的方法在加窗時(shí)所采用的窗的形狀和所需要加窗的個(gè)數(shù)的確定方式與現(xiàn)有技術(shù)不同。其它的計(jì)算方式均可參考現(xiàn)有技術(shù)中提供的方式。

根據(jù)本發(fā)明實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)的處理方法,在不同的條件下采用不同的窗長(zhǎng)度和/或窗形狀求解時(shí)域包絡(luò),減少因?yàn)闀r(shí)域包絡(luò)差別太大引入的能量不連續(xù)的影響,能夠提升輸出信號(hào)的性能。

下面以具體對(duì)圖4中所示的N+1幀的處理來(lái)描述本發(fā)明另一實(shí)施例中計(jì)算及量化時(shí)域包絡(luò)的步驟。

圖4為本發(fā)明另一實(shí)施例的對(duì)音頻信號(hào)進(jìn)行處理的示意圖,如圖4所示,和圖3所示類似,將第N+1幀按照需要計(jì)算的時(shí)域包絡(luò)的個(gè)數(shù)劃分為M個(gè)子幀,M為正整數(shù)。在一種可能的實(shí)施方式中,M的值可以是3、4、5、8等。在此不做限制。

對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中最末端的子幀采用非對(duì)稱窗進(jìn)行加窗。如圖4所示,對(duì)于最前端的子幀和最末端的子幀加窗所使用的非對(duì)稱窗不同。在一種可能的實(shí)現(xiàn)方式中,最前端子幀使用的非對(duì)稱窗的窗長(zhǎng)和最末端子幀所使用的非對(duì)稱窗的窗長(zhǎng)相同,也可以不同。

在本發(fā)明的一個(gè)實(shí)施例中,如圖4所示,對(duì)N+1幀的M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用形狀相同的非對(duì)稱窗進(jìn)行加窗。

在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz時(shí),可以求解8個(gè)時(shí)域包絡(luò)。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz時(shí),也可以求解4個(gè)時(shí)域包絡(luò)。

在本發(fā)明的一個(gè)實(shí)施例中,除了預(yù)先設(shè)定之外,還可以根據(jù)N+1幀的其它信息預(yù)先確定時(shí)域包絡(luò)的個(gè)數(shù)N。下面是確定時(shí)域包絡(luò)的個(gè)數(shù)N的實(shí)現(xiàn)方式的示例:

在一種可能實(shí)現(xiàn)的方式中,當(dāng)?shù)贜+1幀的低帶信號(hào)的基音周期大于第二閾值時(shí),N=4;或者,當(dāng)?shù)贜+1幀的低帶信號(hào)的基音周期不大于第二閾值時(shí),N=8。對(duì)于采用率為12.8kHz的低帶信號(hào),第二閾值可以為70個(gè)樣點(diǎn)。可以理解的是,上述數(shù)值只是為了幫助理解本發(fā)明實(shí)施例而做出的一種具體舉例,而不是對(duì)本發(fā)明實(shí)施例的具體限制。如圖4所示,在對(duì)第N+1幀的信號(hào)進(jìn)行信號(hào)分解時(shí)可以得到第N+1幀的低帶信號(hào),信號(hào)分解所采用的方法和求解低帶信號(hào)的基音周期的方式可以采用現(xiàn)有技術(shù)中的任意一種方式,在此不做具體的限制。

可以理解的是,除了利用低帶信號(hào)的基音周期以外,還可以利用信號(hào)的能量等其它參數(shù)。

在本發(fā)明的一個(gè)實(shí)施例中,在利用非對(duì)稱窗對(duì)最前端的子幀和最末端的子幀進(jìn)行加窗時(shí),根據(jù)前向緩存的長(zhǎng)度確定非對(duì)稱窗。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz,求解8個(gè)時(shí)域包絡(luò)時(shí),加窗所采用的非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)可以都為20個(gè)樣點(diǎn)。利用幀長(zhǎng)除以包絡(luò)個(gè)數(shù)得到第一閾值,此示例中第一閾值等于10。則當(dāng)前向緩存的長(zhǎng)度小于10個(gè)樣點(diǎn)時(shí),第8個(gè)子幀采用的窗(即,最末端的子幀)和第1個(gè)子幀(即,最前端的子幀)采用的窗的混疊部分等于前向緩存的長(zhǎng)度。當(dāng)前向緩存的長(zhǎng)度大于等于10個(gè)樣點(diǎn)時(shí),第8個(gè)子幀采用的窗的右側(cè)和第1個(gè)子幀采用的窗的左側(cè)的長(zhǎng)度可以等于另一側(cè)(例如第1個(gè)子幀采用的窗的右側(cè)或第8個(gè)子幀采用的窗的左側(cè))的窗長(zhǎng)(10個(gè)樣點(diǎn)),也可以根據(jù)經(jīng)驗(yàn)設(shè)定一個(gè)長(zhǎng)度(如,保持和前向緩存小于10個(gè)樣點(diǎn)時(shí)相同的長(zhǎng)度)。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz,求解4個(gè)時(shí)域包絡(luò)時(shí),加窗所采用的非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)可以都為40個(gè)樣點(diǎn)。利用幀長(zhǎng)除以包絡(luò)個(gè)數(shù)得到第一閾值,此示例中第一閾值等于20。

在加窗后,計(jì)算各個(gè)子幀內(nèi)預(yù)處理后的原始高帶信號(hào)和預(yù)測(cè)的高帶信號(hào)的時(shí)域能量或子幀內(nèi)每個(gè)樣點(diǎn)幅度的平均值。具體的計(jì)算方式可參考現(xiàn)有技術(shù)中提供的方式,本發(fā)明實(shí)施例提供的信號(hào)處理的方法在加窗時(shí)所采用的窗的形狀和所需要加窗的個(gè)數(shù)的確定方式與現(xiàn)有技術(shù)不同。其它的計(jì)算方式均可參考現(xiàn)有技術(shù)中提供的方式。

下面以具體對(duì)圖5中所示的N+1幀的處理來(lái)描述本發(fā)明另一實(shí)施例中計(jì)算及量化時(shí)域包絡(luò)的步驟。

圖5為本發(fā)明另一實(shí)施例的對(duì)音頻信號(hào)進(jìn)行處理的示意圖,如圖5所示,在編碼端,在獲得原始音頻信號(hào)后,首先對(duì)原始音頻信號(hào)進(jìn)行信號(hào)分解,得到原始音頻信號(hào)的低帶信號(hào)和高帶信號(hào),接著對(duì)低帶信號(hào)通過(guò)已有算法進(jìn)行編碼得到低帶的碼流,同時(shí),在進(jìn)行低帶編碼過(guò)程中,得到低帶的激勵(lì)信號(hào),并對(duì)低帶激勵(lì)信號(hào)進(jìn)行預(yù)處理;對(duì)于原始音頻信號(hào)的高帶信號(hào),首先進(jìn)行預(yù)處理,然后做LP分析得到LP系數(shù),量化該LP系數(shù)。接著將預(yù)處理后的低帶激勵(lì)信號(hào)通過(guò)LP合成濾波器(濾波器系數(shù)為量化后的LP系數(shù))得到預(yù)測(cè)的高帶信號(hào)。根據(jù)預(yù)處理后的高帶信號(hào)和預(yù)測(cè)的高帶信號(hào),計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò),最后輸出編碼碼流。

除了計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò)的步驟之外,對(duì)于音頻信號(hào)的其它步驟的處理可以參考現(xiàn)有技術(shù)中所采用的方法,在此不再贅述。

下面以具體對(duì)圖5中所示的N+1幀的處理來(lái)描述本發(fā)明實(shí)施例中計(jì)算及量化時(shí)域包絡(luò)的步驟。

如圖5所示,將第N+1幀按照需要計(jì)算的時(shí)域包絡(luò)的個(gè)數(shù)劃分為M個(gè)子幀,M為正整數(shù)。在一種可能的實(shí)施方式中,M的值可以是3、4、5、8等。在此不做限制。

對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中最末端的子幀采用非對(duì)稱窗進(jìn)行加窗。N+1幀的M個(gè)子幀中最前端的子幀為與前一幀(N幀)的信號(hào)有重疊部分的子幀;最末端的子幀為與后一幀(N+2幀,圖中未示出)的信號(hào)有重疊部分的子幀。在一種可能的方式中,如圖3所示,最前端的子幀即為N+1幀中最左端的子幀,最末端的子幀即為N+1幀中最右端的子幀。可以理解的是,最左和最右只是結(jié)合圖3的一種具體示例,而不是對(duì)本發(fā)明實(shí)施例的限制。實(shí)際中子幀的劃分是不存在最左、最右這種方向性限制的。

對(duì)于最前端的子幀和最末端的子幀加窗所使用的非對(duì)稱窗可以完全相同,也可以不同。在此不做限制。在一種可能的實(shí)現(xiàn)方式中,最前端子幀使用的非對(duì)稱窗的窗長(zhǎng)和最末端子幀所使用的非對(duì)稱窗的窗長(zhǎng)相同。

在本發(fā)明的一種可能實(shí)現(xiàn)的方式中,對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中最末端的子幀采用非對(duì)稱窗進(jìn)行加窗,其中對(duì)M個(gè)子幀中的最前端的子幀采用的非對(duì)稱窗與對(duì)M個(gè)子幀中最末端的子幀采用的非對(duì)稱窗的形狀不同,其中一個(gè)非對(duì)稱窗以水平方向旋轉(zhuǎn)180度可以與另一個(gè)非對(duì)稱窗重合。在一種可能的實(shí)現(xiàn)方式中,最前端子幀使用的非對(duì)稱窗的窗長(zhǎng)和最末端子幀所使用的非對(duì)稱窗的窗長(zhǎng)相同。在本發(fā)明的一個(gè)實(shí)施例中,如圖5所示,對(duì)N+1幀的M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用對(duì)稱窗進(jìn)行加窗。對(duì)稱窗的窗長(zhǎng)與非對(duì)稱窗的窗長(zhǎng)不同。例如,對(duì)幀長(zhǎng)為20ms(80個(gè)樣點(diǎn))采樣率為4kHz的信號(hào):如果前向緩存為5個(gè)樣點(diǎn),求解4個(gè)時(shí)域包絡(luò),采用本實(shí)施例的窗,兩端的窗長(zhǎng)為30個(gè)樣點(diǎn),連續(xù)兩幀混疊時(shí)的樣點(diǎn)數(shù)為5個(gè)樣點(diǎn),中間的兩個(gè)窗長(zhǎng)為50個(gè)樣點(diǎn),混疊25個(gè)樣點(diǎn)。

在本發(fā)明的一個(gè)實(shí)施例中,如圖5所示,對(duì)N+1幀的M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用對(duì)稱窗進(jìn)行加窗。

在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于最前端的子幀和最末端的子幀加窗所采用的非對(duì)稱窗的窗長(zhǎng)與對(duì)其它子幀采用的對(duì)稱窗的窗長(zhǎng)相等??梢岳斫獾氖牵诹硪环N可能的方式中,非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)也可以不等。

在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz時(shí),可以求解8個(gè)時(shí)域包絡(luò)。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz時(shí),也可以求解4個(gè)時(shí)域包絡(luò)。

在本發(fā)明的一個(gè)實(shí)施例中,除了預(yù)先設(shè)定之外,還可以根據(jù)N+1幀的其它信息預(yù)先確定時(shí)域包絡(luò)的個(gè)數(shù)N。下面是確定時(shí)域包絡(luò)的個(gè)數(shù)N的實(shí)現(xiàn)方式的示例:

在一種可能實(shí)現(xiàn)的方式中,當(dāng)?shù)贜+1幀的低帶信號(hào)的基音周期大于第二閾值時(shí),N=4;或者,當(dāng)?shù)贜+1幀的低帶信號(hào)的基音周期不大于第二閾值時(shí),N=8。對(duì)于采用率為12.8kHz的低帶信號(hào),第二閾值可以為70個(gè)樣點(diǎn)??梢岳斫獾氖?,上述數(shù)值只是為了幫助理解本發(fā)明實(shí)施例而做出的一種具體舉例,而不是對(duì)本發(fā)明實(shí)施例的具體限制。如圖3所示,在對(duì)第N+1幀的信號(hào)進(jìn)行信號(hào)分解時(shí)可以得到第N+1幀的低帶信號(hào),信號(hào)分解所采用的方法和求解低帶信號(hào)的基音周期的方式可以采用現(xiàn)有技術(shù)中的任意一種方式,在此不做具體的限制。

可以理解的是,除了利用低帶信號(hào)的基音周期以外,還可以利用信號(hào)的能量等其它參數(shù)。

在本發(fā)明的一個(gè)實(shí)施例中,在利用非對(duì)稱窗對(duì)最前端的子幀和最末端的子幀進(jìn)行加窗時(shí),根據(jù)前向緩存的長(zhǎng)度確定非對(duì)稱窗。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz,求解8個(gè)時(shí)域包絡(luò)時(shí),加窗所采用的非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)可以都為20個(gè)樣點(diǎn)。利用幀長(zhǎng)除以包絡(luò)個(gè)數(shù)得到第一閾值,此示例中第一閾值等于10。則當(dāng)前向緩存的長(zhǎng)度小于10個(gè)樣點(diǎn)時(shí),第8個(gè)子幀(即,最末端的子幀)采用的窗和第1個(gè)子幀(即,最前端的子幀)采用的窗的混疊部分等于前向緩存的長(zhǎng)度。當(dāng)前向緩存的長(zhǎng)度大于等于10個(gè)樣點(diǎn)時(shí),第8個(gè)子幀采用的窗的右側(cè)和第1個(gè)子幀采用的窗的左側(cè)的長(zhǎng)度可以等于另一側(cè)(例如第一個(gè)子幀采用的窗的右側(cè)或第八個(gè)子幀采用的窗的左側(cè))的窗長(zhǎng)(10個(gè)樣點(diǎn)),也可以根據(jù)經(jīng)驗(yàn)設(shè)定一個(gè)長(zhǎng)度(如,保持和前向緩存小于10個(gè)樣點(diǎn)時(shí)相同的長(zhǎng)度)。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz,求解4個(gè)時(shí)域包絡(luò)時(shí),加窗所采用的非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)可以都為40個(gè)樣點(diǎn)。利用幀長(zhǎng)除以包絡(luò)個(gè)數(shù)得到第一閾值,此示例中第一閾值等于20。

在加窗后,計(jì)算各個(gè)子幀內(nèi)預(yù)處理后的原始高帶信號(hào)和預(yù)測(cè)的高帶信號(hào)的時(shí)域能量或子幀內(nèi)每個(gè)樣點(diǎn)幅度的平均值。具體的計(jì)算方式可參考現(xiàn)有技術(shù)中提供的方式,本發(fā)明實(shí)施例提供的信號(hào)處理的方法在加窗時(shí)所采用的窗的形狀和所需要加窗的個(gè)數(shù)的確定方式與現(xiàn)有技術(shù)不同。其它的計(jì)算方式均可參考現(xiàn)有技術(shù)中提供的方式。

根據(jù)本發(fā)明實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)的處理方法,在不同的條件下采用不同的窗長(zhǎng)度和/或窗形狀求解時(shí)域包絡(luò),減少因?yàn)闀r(shí)域包絡(luò)差別太大引入的能量不連續(xù)的影響,能夠提升輸出信號(hào)的性能。

本實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)處理方法,通過(guò)根據(jù)接收到的音頻幀信號(hào)得到音頻幀的高帶信號(hào),然后根據(jù)預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M將音頻幀的高帶信號(hào)分成M個(gè)子幀,最后計(jì)算每一個(gè)子幀的時(shí)域包絡(luò)。從而有效避免了在lookahead很短,同時(shí)要保證子幀間很好的混疊引起的求解過(guò)多時(shí)域包絡(luò)的問(wèn)題,進(jìn)而避免了對(duì)一些信號(hào),因過(guò)多求解時(shí)域包絡(luò)而引入的能量不連續(xù)的問(wèn)題,同時(shí)降低了計(jì)算復(fù)雜度。

圖6為本發(fā)明音頻信號(hào)的時(shí)域包絡(luò)處理方法實(shí)施例二的流程圖,如圖6所示,本實(shí)施例的方法可以包括:

S60、接收到待處理信號(hào)后,根據(jù)第一頻帶內(nèi)時(shí)域信號(hào)的平穩(wěn)狀態(tài)或第二頻帶信號(hào)的基音周期大小,確定對(duì)待處理信號(hào)計(jì)算的時(shí)域包絡(luò)個(gè)數(shù)M,第一頻帶為待處理信號(hào)的時(shí)域信號(hào)的頻帶或整個(gè)輸入信號(hào)的頻帶,第二頻帶為低于給定閾值的頻帶或整個(gè)輸入信號(hào)的頻帶。

其中,確定對(duì)待處理信號(hào)計(jì)算的時(shí)域包絡(luò)個(gè)數(shù)M,具體包括:

當(dāng)?shù)谝活l帶內(nèi)時(shí)域信號(hào)處于平穩(wěn)狀態(tài)或第二頻帶信號(hào)的基音周期大于預(yù)設(shè)閾值時(shí),M等于M1,否則M等于M2,M1大于M2,M1、M2都為正整數(shù),預(yù)設(shè)閾值根據(jù)采樣率確定。

平穩(wěn)狀態(tài)是指時(shí)域信號(hào)在一定時(shí)間內(nèi)的能量或幅度的均值變化不大,或時(shí)域信號(hào)在一定時(shí)間內(nèi)的偏差小于給定閾值。

例如,對(duì)幀長(zhǎng)為20ms(80個(gè)樣點(diǎn))采樣率為4kHz的高帶信號(hào),如果高帶時(shí)域信號(hào)子幀間的能量的比值小于給定閾值(小于0.5),或低帶信號(hào)的基音周期大于給定閾值(大于70個(gè)樣點(diǎn),此時(shí)低帶信號(hào)的采樣率為12.8kHz采樣),則在對(duì)高帶信號(hào)求解時(shí)域包絡(luò)時(shí),求解4個(gè)時(shí)域包絡(luò);否則,求解8個(gè)時(shí)域包絡(luò)。

例如,對(duì)幀長(zhǎng)為20ms(320個(gè)樣點(diǎn))采樣率為16kHz的高帶信號(hào),如果高帶時(shí)域信號(hào)子幀間的能量的比值小于給定閾值(小于0.5),或低帶信號(hào)的基音周期大于給定閾值(大于70個(gè)樣點(diǎn),此時(shí)低帶信號(hào)的采樣率為12.8kHz采樣),則在對(duì)高帶信號(hào)求解時(shí)域包絡(luò)時(shí),求解2個(gè)時(shí)域包絡(luò);否則,求解4個(gè)時(shí)域包絡(luò)。

S61、將待處理信號(hào)分成M個(gè)子幀,計(jì)算每一個(gè)子幀的時(shí)域包絡(luò)。

其中,本實(shí)施例對(duì)每一個(gè)子幀進(jìn)行加窗處理時(shí),不限定采用何種加窗方式進(jìn)行加窗處理。

本實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)處理方法,通過(guò)根據(jù)不同的條件求解不同個(gè)數(shù)的時(shí)域包絡(luò),有效避免了對(duì)一定條件下的信號(hào)求解過(guò)多的時(shí)域包絡(luò)造成的能量不連續(xù),進(jìn)而引起的聽(tīng)覺(jué)質(zhì)量下降,同時(shí),可以有效降低算法的平均復(fù)雜度。

本發(fā)明實(shí)施例還提供一種音頻信號(hào)的時(shí)域包絡(luò)處理裝置,可以用于執(zhí)行圖1-圖5中所示部分方法,還可以用于其它采用同樣原理的求解時(shí)域包絡(luò)的處理流程中。下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)處理裝置的結(jié)構(gòu)。

圖7為本發(fā)明實(shí)施例的時(shí)域包絡(luò)處理裝置的結(jié)構(gòu)示意圖,如圖7所示,本實(shí)施例的時(shí)域包絡(luò)處理裝置70包括:高帶信號(hào)獲取模塊71,用于根據(jù)接收到的當(dāng)前幀信號(hào),得到當(dāng)前幀信號(hào)的高帶信號(hào);子幀獲取模塊72,用于根據(jù)預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M將當(dāng)前幀的高帶信號(hào)分成M個(gè)子幀,其中,M為大于等于2的整數(shù);時(shí)域包絡(luò)獲取模塊73,用于計(jì)算每一個(gè)子幀的時(shí)域包絡(luò);其中,時(shí)域包絡(luò)獲取模塊73具體用于:采用非對(duì)稱窗對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中的最末端的子幀進(jìn)行加窗;對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀進(jìn)行加窗。

在本發(fā)明實(shí)施例一種可能的方式中,時(shí)域包絡(luò)獲取模塊73還用于:

根據(jù)當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度確定非對(duì)稱窗;或者,

根據(jù)當(dāng)前幀信號(hào)的高帶信號(hào)的前向緩存的長(zhǎng)度和時(shí)域包絡(luò)個(gè)數(shù)M確定非對(duì)稱窗。

在本發(fā)明一個(gè)實(shí)施例中,時(shí)域包絡(luò)獲取模塊73具體用于:

采用非對(duì)稱窗對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中的最末端的子幀進(jìn)行加窗,對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用對(duì)稱窗進(jìn)行加窗;或者,

采用非對(duì)稱窗對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中的最末端的子幀進(jìn)行加窗,對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用非對(duì)稱窗進(jìn)行加窗。

在本發(fā)明實(shí)施例一種可能的實(shí)現(xiàn)方式中,非對(duì)稱窗的窗長(zhǎng)與對(duì)M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀進(jìn)行加窗所采用的窗的窗長(zhǎng)相同。在本發(fā)明的一個(gè)實(shí)施例中,時(shí)域包絡(luò)獲取模塊73還用于:根據(jù)當(dāng)前幀信號(hào)得到當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期;

當(dāng)當(dāng)前幀信號(hào)的類型與當(dāng)前幀的前一幀信號(hào)的類型相同,且當(dāng)前幀的低帶信號(hào)的基音周期大于第三閾值時(shí),對(duì)每一個(gè)子幀的時(shí)域包絡(luò)進(jìn)行平滑處理。

對(duì)時(shí)域包絡(luò)做平滑處理,具體可以是:將相鄰的兩個(gè)子幀的時(shí)域包絡(luò)加權(quán),加權(quán)后的時(shí)域包絡(luò)作為這兩個(gè)子幀的時(shí)域包絡(luò)。例如,當(dāng)解碼端連續(xù)兩幀信號(hào)都是濁音信號(hào),或者一幀是濁音信號(hào)一幀是普通信號(hào),且低帶信號(hào)的基音周期大于給定閾值(大于70個(gè)樣點(diǎn),此時(shí)低帶信號(hào)的采樣率為12.8kHz采樣)時(shí),則對(duì)解碼的高帶信號(hào)時(shí)域包絡(luò)做平滑處理,否則保持時(shí)域包絡(luò)不變。平滑處理可以為:

env[0]=0.5*(env[0]+env[1]);

env[1]=0.5*(env[0]+env[1]);

env[N-1]=0.5*(env[N-1]+env[N]);

env[N]=0.5*(env[N-1]+env[N])。

其中,env[]為時(shí)域包絡(luò)。

在本發(fā)明的一個(gè)實(shí)施例中,時(shí)域包絡(luò)處理裝置70還包括:確定模塊74,用于根據(jù)下列之一方式確定時(shí)域包絡(luò)個(gè)數(shù)M:

根據(jù)當(dāng)前幀信號(hào)得到當(dāng)前幀信號(hào)的低帶信號(hào),當(dāng)當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期大于第二閾值時(shí),M=M1;或者,

根據(jù)當(dāng)前幀信號(hào)得到當(dāng)前幀信號(hào)的低帶信號(hào),當(dāng)當(dāng)前幀信號(hào)的低帶信號(hào)的基音周期不大于第二閾值時(shí),M=M2;

其中,M1,M2均為正整數(shù),且M2>M1。

在本發(fā)明的實(shí)施例中,要預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M可以是根據(jù)整體算法要求和經(jīng)驗(yàn)值確定。時(shí)域包絡(luò)個(gè)數(shù)M例如是編碼器事先根據(jù)整體算法或經(jīng)驗(yàn)值確定,確定后不會(huì)改變。例如一般對(duì)20ms一幀的輸入信號(hào),如果輸入信號(hào)相對(duì)平穩(wěn),求解4個(gè)或者2個(gè)時(shí)域包絡(luò),但對(duì)一些非平穩(wěn)信號(hào),需要求解更多如8個(gè)時(shí)域包絡(luò)。

具體來(lái)說(shuō),首先,在編碼端,在獲得原始音頻信號(hào)后,首先對(duì)原始音頻信號(hào)進(jìn)行信號(hào)分解,得到原始音頻信號(hào)的低帶信號(hào)和高帶信號(hào),接著對(duì)低帶信號(hào)通過(guò)已有算法進(jìn)行編碼得到低帶的碼流,同時(shí),在進(jìn)行低帶編碼過(guò)程中,得到低帶的激勵(lì)信號(hào),并對(duì)低帶激勵(lì)信號(hào)進(jìn)行預(yù)處理;對(duì)于原始音頻信號(hào)的高帶信號(hào),首先進(jìn)行預(yù)處理,然后做LP分析得到LP系數(shù),量化該LP系數(shù)。接著將預(yù)處理后的低帶激勵(lì)信號(hào)通過(guò)LP合成濾波器(濾波器系數(shù)為量化后的LP系數(shù))得到預(yù)測(cè)的高帶信號(hào)。根據(jù)預(yù)處理后的高帶信號(hào)和預(yù)測(cè)的高帶信號(hào),計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò),最后輸出編碼碼流。

除了計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò)的步驟之外,對(duì)于音頻信號(hào)的其它步驟的處理可以參考現(xiàn)有技術(shù)中所采用的方法,在此不再贅述。

本實(shí)施例的裝置,可以用于執(zhí)行圖2-圖5所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理類似。

在一個(gè)具體的示例中,在編碼端,在獲得原始音頻信號(hào)后,首先對(duì)原始音頻信號(hào)進(jìn)行信號(hào)分解,得到原始音頻信號(hào)的低帶信號(hào)和高帶信號(hào),接著對(duì)低帶信號(hào)通過(guò)已有算法進(jìn)行編碼得到低帶的碼流,同時(shí),在進(jìn)行低帶編碼過(guò)程中,得到低帶的激勵(lì)信號(hào),并對(duì)低帶激勵(lì)信號(hào)進(jìn)行預(yù)處理;對(duì)于原始音頻信號(hào)的高帶信號(hào),首先進(jìn)行預(yù)處理,然后做LP分析得到LP系數(shù),量化該LP系數(shù)。接著將預(yù)處理后的低帶激勵(lì)信號(hào)通過(guò)LP合成濾波器(濾波器系數(shù)為量化后的LP系數(shù))得到預(yù)測(cè)的高帶信號(hào)。根據(jù)預(yù)處理后的高帶信號(hào)和預(yù)測(cè)的高帶信號(hào),計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò),最后輸出編碼碼流。

除了計(jì)算及量化高帶信號(hào)的時(shí)域包絡(luò)的步驟之外,對(duì)于音頻信號(hào)的其它步驟的處理可以參考現(xiàn)有技術(shù)中所采用的方法,在此不再贅述。

將第N+1幀按照需要計(jì)算的時(shí)域包絡(luò)的個(gè)數(shù)劃分為M個(gè)子幀,M為正整數(shù)。在一種可能的實(shí)施方式中,M的值可以是3、4、5、8等。在此不做限制。

對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中最末端的子幀采用非對(duì)稱窗進(jìn)行加窗。N+1幀的M個(gè)子幀中最前端的子幀為與前一幀(N幀)的信號(hào)有重疊部分的子幀;最末端的子幀為與后一幀(N+2幀,圖中未示出)的信號(hào)有重疊部分的子幀。在一種可能的方式中,最前端的子幀即為N+1幀中最左端的子幀,最末端的子幀即為N+1幀中最右端的子幀??梢岳斫獾氖?,最左和最右只是一種具體示例,而不是對(duì)本發(fā)明實(shí)施例的限制。實(shí)際中子幀的劃分是不存在最左、最右這種方向性限制的。

對(duì)于最前端的子幀和最末端的子幀加窗所使用的非對(duì)稱窗可以完全相同,也可以不同。在此不做限制。在一種可能的實(shí)現(xiàn)方式中,最前端子幀使用的非對(duì)稱窗的窗長(zhǎng)和最末端子幀所使用的非對(duì)稱窗的窗長(zhǎng)相同。

在本發(fā)明的一個(gè)實(shí)施例中,對(duì)N+1幀的M個(gè)子幀中除最前端的子幀和最末端的子幀之外的子幀采用對(duì)稱窗進(jìn)行加窗。

在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于最前端的子幀和最末端的子幀加窗所采用的非對(duì)稱窗的窗長(zhǎng)與對(duì)其它子幀采用的對(duì)稱窗的窗長(zhǎng)相等??梢岳斫獾氖?,在另一種可能的方式中,非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)也可以不等。

在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz時(shí),可以求解8個(gè)時(shí)域包絡(luò)。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz時(shí),也可以求解4個(gè)時(shí)域包絡(luò)。

在本發(fā)明的一個(gè)實(shí)施例中,除了預(yù)先設(shè)定之外,還可以根據(jù)N+1幀的其它信息預(yù)先確定時(shí)域包絡(luò)的個(gè)數(shù)N。下面是確定時(shí)域包絡(luò)的個(gè)數(shù)N的實(shí)現(xiàn)方式的示例:

在一種可能實(shí)現(xiàn)的方式中,當(dāng)?shù)贜+1幀的低帶信號(hào)的基音周期大于第二閾值時(shí),N=4;或者,當(dāng)?shù)贜+1幀的低帶信號(hào)的基音周期不大于第二閾值時(shí),N=8。對(duì)于采用率為12.8kHz的低帶信號(hào),第二閾值可以為70個(gè)樣點(diǎn)??梢岳斫獾氖?,上述數(shù)值只是為了幫助理解本發(fā)明實(shí)施例而做出的一種具體舉例,而不是對(duì)本發(fā)明實(shí)施例的具體限制。在對(duì)第N+1幀的信號(hào)進(jìn)行信號(hào)分解時(shí)可以得到第N+1幀的低帶信號(hào),信號(hào)分解所采用的方法和求解低帶信號(hào)的基音周期的方式可以采用現(xiàn)有技術(shù)中的任意一種方式,在此不做具體的限制。

可以理解的是,除了利用低帶信號(hào)的基音周期以外,還可以利用信號(hào)的能量等其它參數(shù)。

在本發(fā)明的一個(gè)實(shí)施例中,在利用非對(duì)稱窗對(duì)最前端的子幀和最末端的子幀進(jìn)行加窗時(shí),根據(jù)前向緩存的長(zhǎng)度確定非對(duì)稱窗。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz,求解8個(gè)時(shí)域包絡(luò)時(shí),加窗所采用的非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)可以都為20個(gè)樣點(diǎn)。利用幀長(zhǎng)除以包絡(luò)個(gè)數(shù)得到第一閾值,此示例中第一閾值等于10。則當(dāng)前向緩存的長(zhǎng)度小于10個(gè)樣點(diǎn)時(shí),第8個(gè)子幀(即,最末端的子幀)采用的窗和第1個(gè)子幀(即,最前端的子幀)采用的窗的混疊部分等于前向緩存的長(zhǎng)度。當(dāng)前向緩存的長(zhǎng)度大于等于10個(gè)樣點(diǎn)時(shí),第8個(gè)子幀采用的窗的右側(cè)和第1個(gè)子幀采用的窗的左側(cè)的長(zhǎng)度可以等于另一側(cè)(例如第一個(gè)子幀采用的窗的右側(cè)或第八個(gè)子幀采用的窗的左側(cè))的窗長(zhǎng)(10個(gè)樣點(diǎn)),也可以根據(jù)經(jīng)驗(yàn)設(shè)定一個(gè)長(zhǎng)度(如,保持和前向緩存小于10個(gè)樣點(diǎn)時(shí)相同的長(zhǎng)度)。

在一種可能的實(shí)現(xiàn)方式中,當(dāng)?shù)贜+1幀的幀長(zhǎng)為80個(gè)樣點(diǎn),采樣率為4kHz,求解4個(gè)時(shí)域包絡(luò)時(shí),加窗所采用的非對(duì)稱窗的窗長(zhǎng)和對(duì)稱窗的窗長(zhǎng)可以都為40個(gè)樣點(diǎn)。利用幀長(zhǎng)除以包絡(luò)個(gè)數(shù)得到第一閾值,此示例中第一閾值等于20。

在加窗后,計(jì)算各個(gè)子幀內(nèi)預(yù)處理后的原始高帶信號(hào)和預(yù)測(cè)的高帶信號(hào)的時(shí)域能量或子幀內(nèi)每個(gè)樣點(diǎn)幅度的平均值。具體的計(jì)算方式可參考現(xiàn)有技術(shù)中提供的方式,本發(fā)明實(shí)施例提供的信號(hào)處理的方法在加窗時(shí)所采用的窗的形狀和所需要加窗的個(gè)數(shù)的確定方式與現(xiàn)有技術(shù)不同。其它的計(jì)算方式均可參考現(xiàn)有技術(shù)中提供的方式。

本實(shí)施例提供的音頻信號(hào)的時(shí)域包絡(luò)處理裝置,通過(guò)根據(jù)不同的條件求解不同個(gè)數(shù)的時(shí)域包絡(luò),有效避免了對(duì)一定條件下的信號(hào)求解過(guò)多的時(shí)域包絡(luò)造成的能量不連續(xù),進(jìn)而引起的聽(tīng)覺(jué)質(zhì)量下降,同時(shí),可以有效降低算法的平均復(fù)雜度。

下面結(jié)合圖8描述本發(fā)明實(shí)施例的一種編碼器80,圖8為本發(fā)明實(shí)施例的編碼器的結(jié)構(gòu)示意圖,如圖8所示,編碼器80具體用于:

用于根據(jù)接收到的當(dāng)前幀信號(hào),得到當(dāng)前幀信號(hào)的低帶信號(hào)和當(dāng)前幀信號(hào)的高帶信號(hào);

對(duì)當(dāng)前幀信號(hào)的低帶信號(hào)進(jìn)行編碼,得到低帶編碼的激勵(lì)信號(hào);

對(duì)當(dāng)前幀信號(hào)的高帶信號(hào)進(jìn)行線性預(yù)測(cè),得到線性預(yù)測(cè)系數(shù);

量化線性預(yù)測(cè)系數(shù),得到量化后的線性預(yù)測(cè)系數(shù);

根據(jù)低帶編碼的激勵(lì)信號(hào)和量化后的線性預(yù)測(cè)系數(shù)得到預(yù)測(cè)的高帶信號(hào);

計(jì)算及量化預(yù)測(cè)的高帶信號(hào)的時(shí)域包絡(luò);

其中,計(jì)算所述預(yù)測(cè)的高帶信號(hào)的時(shí)域包絡(luò)包括:

根據(jù)預(yù)先確定的時(shí)域包絡(luò)個(gè)數(shù)M將預(yù)測(cè)的高帶信號(hào)分成M個(gè)子幀,其中,M為大于等于2的整數(shù),

采用非對(duì)稱窗對(duì)M個(gè)子幀中的最前端的子幀和M個(gè)子幀中的最末端的子幀進(jìn)行加窗,

對(duì)M個(gè)子幀中除所述最前端的子幀和最末端的子幀之外的子幀進(jìn)行加窗;

對(duì)量化后的時(shí)域包絡(luò)進(jìn)行編碼。

可以理解的是,編碼器80可以用于執(zhí)行上述任意的方法實(shí)施例。也可以包括任意實(shí)施例的時(shí)域包絡(luò)處理裝置70。具體的編碼器80所執(zhí)行的功能可參考前述方法和裝置實(shí)施例,在此不再贅述。

本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1