專利名稱:在音頻編碼過程中根據(jù)mdct數(shù)據(jù)進(jìn)行視窗類型判定的方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及音頻編碼。更具體而言,本發(fā)明涉及在音頻編碼過程中進(jìn)行視窗類型確定。
版權(quán)標(biāo)記/許可這篇專利文件的部分公開內(nèi)容包含受版權(quán)保護(hù)的材料。版權(quán)所有者不反對(duì)由出現(xiàn)在專利商標(biāo)局專利文檔或記錄中的專利文件或?qū)@_中的任何一種的影印復(fù)制,但在別的方面卻無論如何保留所有版權(quán)。將以下通告應(yīng)用于如下所述的及附圖中的軟件和數(shù)據(jù)Copyright2001,Sony Electronics,Inc.,All Rights Reserved。
背景技術(shù):
標(biāo)準(zhǔn)化機(jī)構(gòu)運(yùn)動(dòng)圖象專家組(MPEG)在他們的標(biāo)準(zhǔn)中公開了通用數(shù)據(jù)壓縮方法,例如,所述標(biāo)準(zhǔn)諸如是MPEG-2高級(jí)音頻編碼(AAC)標(biāo)準(zhǔn)(參見ISO/IEC 13818-7)和MPEG-4 AAC標(biāo)準(zhǔn)(參見ISO/IEC14496-3)。這些標(biāo)準(zhǔn)在此統(tǒng)稱為MPEG標(biāo)準(zhǔn)。
MPEG標(biāo)準(zhǔn)所定義的音頻編碼器接收音頻信號(hào),通過修正離散余弦變換(MDCT)運(yùn)算將它轉(zhuǎn)換成頻譜數(shù)據(jù),并且利用失真率控制機(jī)制來判定用于量化頻譜數(shù)據(jù)的最優(yōu)比例因子。音頻編碼器還利用最優(yōu)比例因子來量化頻譜數(shù)據(jù),將所得到的量化后的頻譜系數(shù)編組成比例因子帶,然后對(duì)編組的量化系數(shù)進(jìn)行Huffman編碼。
根據(jù)MPEG標(biāo)準(zhǔn),以使相鄰變換值域沿時(shí)間軸重疊50%的方式對(duì)音頻信號(hào)執(zhí)行MDCT,以便抑制失真發(fā)生在相鄰變換值域之間的邊界部分上。另外,利用長變換值域(由長視窗定義的)或短變換值域(每一個(gè)都是由短視窗定義的)將音頻信號(hào)映射到頻率域中。長視窗包括2048個(gè)樣值,而短視窗包括256個(gè)樣值。從長視窗產(chǎn)生的MDCT系數(shù)的數(shù)目為1024,而從每一個(gè)短視窗產(chǎn)生的MDCT系數(shù)的數(shù)目為128。一般而言,對(duì)于信號(hào)波形變化細(xì)微的穩(wěn)定部分,需要使用長視窗類型。對(duì)于信號(hào)波形變化劇烈的沖擊部分,需要使用短視窗類型。使用其中哪一個(gè)是重要的。如果為瞬態(tài)信號(hào)使用長視窗類型,則稱作預(yù)回波的噪聲發(fā)生在沖擊部分之前。當(dāng)為穩(wěn)定信號(hào)使用短視窗類型時(shí),由于在頻域中的分辯率缺乏、編碼效率降低以及噪聲出現(xiàn),同樣也不能執(zhí)行適當(dāng)?shù)谋忍胤峙洹_@種缺陷對(duì)于低頻聲音是格外顯著的。
根據(jù)MPEG標(biāo)準(zhǔn)所提出的方法,對(duì)于頻譜數(shù)據(jù)幀的視窗類型的確定始于對(duì)時(shí)域音頻數(shù)據(jù)執(zhí)行快速傅里葉變換(FFT)以及計(jì)算FFT系數(shù)。然后使用FFT系數(shù)來計(jì)算所述幀內(nèi)的每個(gè)比例因子帶的音頻信號(hào)強(qiáng)度。同樣,利用音質(zhì)建模來確定所述幀的可容許失真級(jí)別。可容許失真級(jí)別表示能在不可聽到的情況下被注入到頻譜數(shù)據(jù)中的最大噪聲量。根據(jù)所述幀的可容許失真級(jí)別和該幀內(nèi)的每個(gè)比例因子帶的音頻信號(hào)強(qiáng)度,計(jì)算知覺熵(perceptual entropy)。如果知覺熵大于預(yù)定常量,則為所述幀使用短視窗類型。否則,為所述幀使用長視窗類型。
進(jìn)行視窗類型確定的上述方法要進(jìn)行大量的計(jì)算。另外,如果信號(hào)強(qiáng)度高,則不論所述信號(hào)是瞬態(tài)的還是穩(wěn)定的,所得到的知覺熵的數(shù)值都可能是高的。也就是說,即使所述幀不處于轉(zhuǎn)變中,也可能給一幀指定短視窗類型。正如上面所論述的那樣,這將導(dǎo)致編碼效率降低以及噪聲出現(xiàn)。
此外,如果判定使用短視窗類型,則產(chǎn)生MDCT系數(shù)的8個(gè)連續(xù)塊(短視窗)。為了減少與短視窗相關(guān)聯(lián)的輔助信息量,可以將短視窗編組。每個(gè)群組都包括一個(gè)或多個(gè)連續(xù)的短視窗,其比例因子是相同的。然而,當(dāng)沒有適當(dāng)?shù)貓?zhí)行編組時(shí),出現(xiàn)代碼數(shù)量的增加或音質(zhì)的下降。當(dāng)群組的數(shù)量相對(duì)于短視窗的數(shù)量而言過大時(shí),原本可以被共同編碼的比例因子將被重復(fù)編碼,由此使編碼效率降低。當(dāng)群組的數(shù)量相對(duì)于短視窗的數(shù)量而言過小時(shí),即使是當(dāng)音頻信號(hào)變化劇烈時(shí)也使用公共比例因子。其結(jié)果是,音質(zhì)被降低。所述MPEG標(biāo)準(zhǔn)未提供任何用于編組短視窗的特定方法。
發(fā)明內(nèi)容
利用長視窗類型來為數(shù)據(jù)的當(dāng)前幀和數(shù)據(jù)的下一幀來計(jì)算初級(jí)修正離散余弦變換(MDCT)系數(shù)。然后,使用所計(jì)算出的當(dāng)前幀和下一幀的初級(jí)MDCT系數(shù)來確定當(dāng)前幀的視窗類型。如果所確定的視窗類型不是長視窗類型,則利用所確定的視窗類型來為當(dāng)前幀計(jì)算最終MDCT系數(shù)。
通過如下詳細(xì)說明以及本發(fā)明各種實(shí)施例的附圖,將更充分地理解本發(fā)明,然而不應(yīng)該將這些理解為將本發(fā)明限制到特定的實(shí)施例,而是僅用來解釋和幫助理解。
圖1是編碼系統(tǒng)的一個(gè)實(shí)施例的框圖。
圖2是對(duì)頻譜數(shù)據(jù)幀執(zhí)行MDCT的過程的一個(gè)實(shí)施例的流程圖。
圖3是視窗類型判定過程的一個(gè)實(shí)施例的流程圖。
圖4是用于檢測幀當(dāng)中從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的指示的過程的一個(gè)實(shí)施例的流程圖。
圖5是用于根據(jù)下一幀的初級(jí)視窗類型和前一幀的視窗類型來確定當(dāng)前幀的視窗類型的過程的一個(gè)實(shí)施例的流程圖。
圖6是用于編組幀內(nèi)的短視窗的過程的一個(gè)實(shí)施例的流程圖。
圖7是用于確定短視窗類型的過程的一個(gè)實(shí)施例的流程圖。
圖8是用于創(chuàng)建短視窗的兩個(gè)初級(jí)群組的過程的一個(gè)實(shí)施例的流程圖。
圖9是用于執(zhí)行短視窗的最終編組的過程的一個(gè)實(shí)施例的流程圖。
圖10舉例說明了幀的短視窗的編組。
圖11是適用于實(shí)施本發(fā)明的實(shí)施例的計(jì)算機(jī)環(huán)境的框圖。
具體實(shí)施例方式
在本發(fā)明實(shí)施例的下列詳細(xì)說明中,給附圖加上了參考標(biāo)記,其中同樣的參考標(biāo)記表示相似的元件,并且附圖中作為例子示出了可以實(shí)施本發(fā)明的特定實(shí)施例。這些實(shí)施例被足夠詳細(xì)地描述以使本領(lǐng)域的技術(shù)人員能實(shí)施本發(fā)明,而且將理解可以使用其它的實(shí)施例并且在不偏離本發(fā)明的范圍的情況下可以作出邏輯的、機(jī)械的、電學(xué)的、功能性的及其它的改變。因此,下列詳細(xì)說明不是一種限制,而本發(fā)明的范圍僅由所附的權(quán)利要求來限定。
從本發(fā)明的操作的概述起,圖1舉例說明了編碼系統(tǒng)100的一個(gè)實(shí)施例。所述編碼系統(tǒng)100不遵循在此統(tǒng)稱為MPEG標(biāo)準(zhǔn)的MPEG音頻編碼標(biāo)準(zhǔn)(例如,MPEG-2 AAC標(biāo)準(zhǔn)、MPEG-4 AAC標(biāo)準(zhǔn)等等)。所述編碼系統(tǒng)100包括濾波器組模塊102、編碼工具104、音質(zhì)建模器106、量化模塊110和霍夫曼編碼模塊114。
所述濾波器組模塊102接收音頻信號(hào)并且執(zhí)行修正離散余弦變換運(yùn)算(MDCT)以將音頻信號(hào)映射到頻率域中。所述映射是利用長變換值域(由長視窗定義的)或短變換值域(由短視窗定義的)來執(zhí)行的,在所述長變換值域中待分析信號(hào)在時(shí)間上擴(kuò)展以提高頻率分辨率,在所述短變換值域中待分析信號(hào)在時(shí)間上縮減以提高時(shí)間分辨率。在只有穩(wěn)定信號(hào)的情況下使用長視窗類型,而當(dāng)存在快速的信號(hào)變化時(shí)使用短視窗類型。通過根據(jù)待分析信號(hào)的特性而使用這兩個(gè)類型的操作,就可以防止稱作預(yù)回波的令人厭惡的噪聲的產(chǎn)生,否則由于不充分的時(shí)間分辨率將產(chǎn)生預(yù)回波。
正如將在下面更詳細(xì)論述的那樣,所述濾波器組模塊102負(fù)責(zé)確定使用哪一個(gè)視窗類型以及利用所確定的視窗類型來產(chǎn)生MDCT系數(shù)。在一個(gè)實(shí)施例中,所述濾波器組模塊102還可以負(fù)責(zé)在使用短視窗類型來產(chǎn)生MDCT系數(shù)時(shí)執(zhí)行編組。編組減少了與短視窗相關(guān)聯(lián)的輔助信息量。每一個(gè)群組都包括一個(gè)或多個(gè)連續(xù)的短視窗,其比例因子是相同的。
所述編碼工具104包括用于頻譜處理的一組任選工具。例如,所述編碼工具可以包括臨時(shí)噪聲整形(TNS)工具和預(yù)測工具以執(zhí)行預(yù)測編碼,還包括強(qiáng)度/耦合工具和MS制立體聲(M/S)工具以執(zhí)行立體聲相關(guān)編碼。
所述音質(zhì)建模器106分析樣值以確定聽覺遮蔽曲線。聽覺遮蔽曲線表示能在不可聽的情況下被注入到各個(gè)樣值的每一個(gè)中的最大噪聲量。在這點(diǎn)上,什么是可聽得到的是基于人類聽覺的音質(zhì)模型的。聽覺遮蔽曲線充當(dāng)期望噪聲譜的估計(jì)。
所述量化模塊110負(fù)責(zé)為頻率頻譜數(shù)據(jù)選擇最優(yōu)比例因子。比例因子選擇過程是基于根據(jù)遮蔽曲線計(jì)算出的容許的失真和根據(jù)依據(jù)編碼所規(guī)定的比特率計(jì)算出的可容許比特?cái)?shù)的。一旦選擇了最優(yōu)比例因子,所述量化模塊110就使用它們來量化頻率頻譜數(shù)據(jù)。將所得到的量化后的頻譜系數(shù)編組成比例因子帶(SFB)。每個(gè)SFB都包括由相同比例因子的使用而產(chǎn)生的系數(shù)。
所述霍夫曼編碼模塊114負(fù)責(zé)為量化后的頻譜系數(shù)的每一個(gè)群組選擇最優(yōu)霍夫曼代碼本并且利用最優(yōu)霍夫曼代碼本來執(zhí)行霍夫曼編碼操作。所得到的可變長度編碼(VLC),標(biāo)識(shí)在編碼中使用的代碼本的數(shù)據(jù)、量化模塊110所選的比例因子和一些其它信息都是隨后被匯編到比特流中的。
在一個(gè)實(shí)施例中,所述濾波器組模塊102包括視窗類型確定器108、MDCT系數(shù)計(jì)算器112和短視窗編組確定器116。所述視窗類型確定器108負(fù)責(zé)確定為MDCT運(yùn)算而使用的視窗類型。在一個(gè)實(shí)施例中,正如將在下面更詳細(xì)地論述的那樣,所述確定是利用適于使用長視窗的視窗類型判定方法來作出的。
所述MDCT系數(shù)計(jì)算器112負(fù)責(zé)利用所確定的視窗類型來計(jì)算MDCT系數(shù)。在一個(gè)實(shí)施例中,所述MDCT系數(shù)計(jì)算器112首先利用假定的長視窗類型來計(jì)算初級(jí)MDCT系數(shù)。然后,如果視窗類型確定器108確定將要使用的視窗類型不是長視窗類型,則所述MDCT系數(shù)計(jì)算器112就利用所確定的視窗類型來重新計(jì)算MDCT系數(shù)。否則,初級(jí)MDCT系數(shù)就無需被重新計(jì)算。
所述短視窗編組確定器116在使用短視窗類型時(shí)進(jìn)行工作并且負(fù)責(zé)定義如何編組短視窗。在一個(gè)實(shí)施例中,所述短視窗編組確定器116根據(jù)與每個(gè)短視窗相關(guān)聯(lián)的能量來執(zhí)行短視窗的初級(jí)編組,將其劃分為兩個(gè)群組。正如在下面將更詳細(xì)地論述的那樣,如果兩個(gè)初級(jí)群組中的任何一個(gè)過大的話,則就進(jìn)一步將大的群組分成兩個(gè)或多個(gè)群組。
圖2-9是根據(jù)本發(fā)明的各種實(shí)施例的、可以由圖1的濾波器組模塊102執(zhí)行的過程的流程圖。所述過程可以由處理邏輯來執(zhí)行,所述處理邏輯可以包括硬件(例如,電路、專用邏輯等等)、軟件(比如運(yùn)行在通用計(jì)算機(jī)系統(tǒng)或?qū)S脵C(jī)上的)或者上述兩者的組合。對(duì)于軟件實(shí)現(xiàn)的過程,流程圖的描述使本領(lǐng)域的技術(shù)人員能開發(fā)這種包含能在適當(dāng)配置的計(jì)算機(jī)(執(zhí)行來自于計(jì)算機(jī)可讀介質(zhì)的指令的計(jì)算機(jī)的處理器,所述計(jì)算機(jī)可讀介質(zhì)包括存儲(chǔ)器)上執(zhí)行所述過程的指令的程序。計(jì)算機(jī)可執(zhí)行指令可以用計(jì)算機(jī)程序設(shè)計(jì)語言來編寫或者可以嵌入在固件邏輯中。如果用遵循所標(biāo)識(shí)的標(biāo)準(zhǔn)的程序設(shè)計(jì)語言進(jìn)行編寫,則可以在各種硬件平臺(tái)上執(zhí)行這類指令并且可以接口連接于各種操作系統(tǒng)。另外,沒有參考任何特定程序設(shè)計(jì)語言來描述本發(fā)明的實(shí)施例。將會(huì)認(rèn)識(shí)到的是,可以使用各種程序設(shè)計(jì)語言來實(shí)現(xiàn)這里所描述的教導(dǎo)。此外,說到采取動(dòng)作或?qū)е陆Y(jié)果的軟件,可以采取一種形式或其它的形式(例如,程序、步驟、過程、應(yīng)用、模塊、邏輯...),這是本領(lǐng)域所公知的。這樣的表達(dá)僅僅是計(jì)算機(jī)執(zhí)行軟件令該計(jì)算機(jī)的處理器執(zhí)行動(dòng)作或產(chǎn)生結(jié)果的簡述方式。將會(huì)認(rèn)識(shí)到的是,在不脫離本發(fā)明的范圍的情況下,可以將更多或更少的操作并入到圖2-9中所舉例說明的過程當(dāng)中,而且這里所示出和所述的塊的排列并不暗指特定的順序。
圖2是用于對(duì)頻譜數(shù)據(jù)幀執(zhí)行MDCT的過程200的一個(gè)實(shí)施例的流程圖。
參照?qǐng)D2,處理邏輯始于計(jì)算當(dāng)前幀的初級(jí)MDCT系數(shù)集合和下一幀的初級(jí)MDCT系數(shù)集合(處理塊202)。計(jì)算是在假定當(dāng)前幀和下一幀兩者的視窗類型都為長視窗類型的情況下執(zhí)行的。所計(jì)算出的當(dāng)前幀和下一幀的初級(jí)MDCT系數(shù)都被存儲(chǔ)在緩沖器中。在一個(gè)實(shí)施例中,當(dāng)前幀和下一幀是沿時(shí)間軸產(chǎn)生以使相鄰幀彼此重疊(例如,50%重疊)的樣值的幀序列(也稱為塊)中的兩個(gè)相鄰幀。所述重疊抑制了在相鄰幀之間的邊界部分上發(fā)生的失真。
在處理塊204,處理邏輯利用當(dāng)前幀的初級(jí)MDCT系數(shù)和下一幀的初級(jí)MDCT系數(shù)來確定當(dāng)前幀的視窗類型。所述視窗類型確定是利用適于使用長視窗的視窗類型判定方法來作出的。下面將結(jié)合圖3更詳細(xì)地論述這類方法的一個(gè)實(shí)施例。
在判定框206,處理邏輯確定所判定的當(dāng)前幀的視窗類型是否是長視窗類型。如果不是,則處理邏輯利用所判定的視窗類型來計(jì)算當(dāng)前幀的最終MDCT系數(shù)集合(處理塊208)。如果是,則處理邏輯考慮將當(dāng)前幀的初級(jí)MDCT系數(shù)作為最終系數(shù)集合(處理塊210)。
圖3是視窗類型判定過程300的一個(gè)實(shí)施例的流程圖。
參照?qǐng)D3,處理邏輯始于確定在下一幀中是否存在從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的指示(判定框302)。在一個(gè)實(shí)施例中,這一確定是通過將與當(dāng)前幀相關(guān)聯(lián)的能量和與下一幀相關(guān)聯(lián)的能量相比較來作出的。下面結(jié)合圖4來更詳細(xì)地論述用于檢測幀當(dāng)中從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的過程的一個(gè)實(shí)施例。
如果在判定框302確定為肯定的,則處理邏輯就判定下一幀的初級(jí)視窗類型是短視窗類型(處理塊304)。否則,處理邏輯判定下一幀的初級(jí)視窗類型是長視窗類型(處理塊306)。
此外,處理邏輯根據(jù)下一幀的初級(jí)視窗類型和前一幀的視窗類型來確定當(dāng)前幀的視窗類型(處理塊308)。當(dāng)前幀的視窗類型的確定適于使用長視窗類型。在一個(gè)實(shí)施例中,其中正如MPEG標(biāo)準(zhǔn)所定義的那樣,每個(gè)不同的視窗類型后面可能跟著兩個(gè)過渡視窗類型,處理邏輯選擇使當(dāng)前幀和后續(xù)幀中的短視窗的使用最小化的視窗類型。也就是說,所述MPEG標(biāo)準(zhǔn)提供了從每個(gè)不同視窗類型開始的兩個(gè)過渡視窗類型,其中一個(gè)過渡視窗類型允許在當(dāng)前幀或下一幀中使用短視窗,而另一個(gè)過渡視窗類型允許在當(dāng)前幀或下一幀中使用長視窗。具體地說,所述MPEG標(biāo)準(zhǔn)允許下列轉(zhuǎn)變a.從長視窗類型到長視窗類型或者長-短視窗類型;b.從長-短視窗類型到短視窗類型或者短-長視窗類型;c.從短-長視窗類型到長視窗類型或者長-短視窗類型;和d.從短視窗類型到短視窗類型或短長視窗類型。
因此,如果前一幀的視窗類型例如是短-長視窗類型并且下一幀的初級(jí)視窗類型是長視窗類型,則處理邏輯就為當(dāng)前幀選擇長視窗類型,而不是選擇其它的選項(xiàng),即方便下一幀使用短視窗的長-短視窗類型。
下面將結(jié)合圖5更詳細(xì)地論述用于根據(jù)下一幀的初級(jí)視窗類型和前一幀的視窗類型來確定當(dāng)前幀的視窗類型的過程的一個(gè)實(shí)施例。
上述視窗類型判定方法與MDCT計(jì)算相結(jié)合,直接對(duì)MDCT數(shù)據(jù)進(jìn)行運(yùn)算而不需要快速傅里葉變換(FFT)運(yùn)算和計(jì)算知覺熵。另外,上述視窗類型判定方法適于使用長視窗,由此使短視窗的使用最小化。它只有當(dāng)檢測到從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的指示時(shí)才使用短視窗。
圖4是用于檢測幀當(dāng)中從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的指示的過程400的一個(gè)實(shí)施例的流程圖。
參照?qǐng)D4,處理邏輯始于計(jì)算當(dāng)前幀的MDCT系數(shù)集合和下一幀的初級(jí)MDCT系數(shù)的集合(處理塊402)。然后,處理邏輯在緩沖器中存儲(chǔ)所計(jì)算出的MDCT系數(shù)集合。
在處理塊404,處理邏輯利用所計(jì)算出的當(dāng)前幀的初級(jí)MDCT系數(shù)來計(jì)算當(dāng)前幀的總能量。在一個(gè)實(shí)施例中,按如下計(jì)算當(dāng)前幀的總能量current_total_energy=sum(current_coef[i]*current_coef[i]/C)for i=0 to 1023,其中current_coef[i]是當(dāng)前幀中的第i個(gè)MDCT系數(shù)的數(shù)值,而C是用來防止總和溢出的常量(例如,對(duì)于16位寄存器,C=32767)。
在處理塊406,處理邏輯利用所計(jì)算出的下一幀的初級(jí)MDCT系數(shù)來計(jì)算下一幀的總能量。同樣,按如下計(jì)算下一幀的總能量next_total_energy=sum(next_coef[i]*next_coef[i]/C)for i=0to 1023,其中next_coef[i]是下一幀中的第i個(gè)MDCT系數(shù)的數(shù)值,而C是用來防止總和溢出的常量。
在處理塊408,處理邏輯以對(duì)數(shù)方式縮放當(dāng)前幀的總能量和下一幀的總能量。在一個(gè)實(shí)施例中,所述縮放是按如下完成的c_pow=log(current_total_energy)和n_pow=log(next_total_energy)。
在處理塊410,處理邏輯通過將縮放后的下一幀的總能量減去縮放后的當(dāng)前幀的總能量來計(jì)算梯度能量。
在判定框412,處理邏輯確定梯度能量是否超出閾值(例如,1)。在一個(gè)實(shí)施例中,所述閾值是實(shí)驗(yàn)上定義的。如果在判定框412確定為肯定的,則處理邏輯就判定在下一幀中很可能發(fā)生到瞬態(tài)信號(hào)的轉(zhuǎn)變(處理塊414)。
圖5是用于根據(jù)下一幀的初級(jí)視窗類型和前一幀的視窗類型來確定當(dāng)前幀的視窗類型的過程500的一個(gè)實(shí)施例的流程圖。
參照?qǐng)D5,處理邏輯從確定下一幀的初級(jí)視窗類型是否是長視窗類型開始(判定框502)。如果是,則處理邏輯進(jìn)一步確定前一幀的視窗類型是長視窗類型還是短-長視窗類型(判定框504)。如果是,則處理邏輯就判定當(dāng)前幀的視窗類型是長視窗類型(處理塊506)。如果不是,則處理邏輯就判定當(dāng)前幀的視窗類型是短-長視窗類型(處理塊508)。
如果在判定框502確定為否定的,即下一幀的初級(jí)視窗類型是短視窗類型,則處理邏輯進(jìn)一步確定前一幀的視窗類型是長視窗類型還是短-長視窗類型(判定框510)。如果是,則處理邏輯就判定當(dāng)前幀的視窗類型是長-短視窗類型(處理塊512)。如果不是,則處理邏輯就判定當(dāng)前幀的視窗類型是短視窗類型(處理塊514)。
在一個(gè)實(shí)施例中,如果判定為一幀使用短視窗類型,則利用短視窗編組來減少與短視窗相關(guān)聯(lián)的輔助信息量。每個(gè)群組都包括一個(gè)或多個(gè)連續(xù)的短視窗,其比例因子是相同的。在一個(gè)實(shí)施例中,關(guān)于編組的信息被包含在所指定的比特流元素當(dāng)中。在一個(gè)實(shí)施例中,關(guān)于編組的信息包括幀內(nèi)的群組數(shù)量和每一幀中的短視窗的數(shù)量。
圖6是用于編組幀內(nèi)的短視窗的過程600的一個(gè)實(shí)施例的流程圖。
參照?qǐng)D6,處理邏輯從識(shí)別幀內(nèi)的第一類型的短視窗和第二類型的短視窗開始(處理塊602)。短視窗的類型是根據(jù)與這個(gè)視窗相關(guān)聯(lián)的能量來確定的。下面將結(jié)合圖7更詳細(xì)地論述用于確定短視窗類型的過程的一個(gè)實(shí)施例。
在處理塊604,處理邏輯調(diào)整其分類很可能不正確的短視窗的類型。在一個(gè)實(shí)施例中,如果其類型不匹配相鄰視窗的類型并且相鄰視窗具有相同的類型,則短視窗的分類很可能是不正確的。在一個(gè)實(shí)施例中,其中幀內(nèi)短視窗的數(shù)量等于8,所述調(diào)整過程可以表示為for win_index 1 to 6if(candidate[win_index_1]=candidate[win_index+1]),candidate[win_index]=candidate[win_index-1],其中win_index指的是幀內(nèi)的短視窗的號(hào)碼, 而candidate[win_index]、candidate[win_index-1]和candidate[win_index+1]分別表示當(dāng)前視窗、前一視窗、和下一視窗的類型。
在處理塊606,處理邏輯將幀內(nèi)的短視窗根據(jù)它們的類型編組成兩個(gè)初級(jí)群組。下面將結(jié)合圖8更詳細(xì)地論述用于創(chuàng)建短視窗的兩個(gè)初級(jí)群組的過程的一個(gè)實(shí)施例。
在判定框608,處理邏輯確定任何初級(jí)群組中的短視窗的數(shù)量是否超出閾值數(shù)量。在一個(gè)實(shí)施例中,閾值數(shù)量是一個(gè)實(shí)驗(yàn)上確定的常量。取決于閾值數(shù)量,可能沒有一個(gè)群組是過大的,或者一個(gè)或兩個(gè)初級(jí)群組是過大的。在另一個(gè)實(shí)施例中,所述閾值數(shù)量是其它初級(jí)群組中的短視窗的數(shù)量,并且如果一個(gè)初級(jí)群組中的短視窗的數(shù)量超出其它初級(jí)群組中的短視窗的數(shù)量則處理邏輯就判定它超出閾值。當(dāng)使用比較時(shí),可能沒有一個(gè)初級(jí)群組是過大的,或一個(gè)初級(jí)群組可能是過大的。當(dāng)群組過大時(shí),很可能它將具有不同特性的短視窗組合起來。然后,這個(gè)群組的公共比例因子的使用可能導(dǎo)致音質(zhì)的下降。
如果處理邏輯在判定框608確定兩個(gè)初級(jí)群組中的任何群組過大,則處理邏輯就進(jìn)一步將大的初級(jí)群組劃分成兩個(gè)或多個(gè)最終群組(處理塊610)。按這樣的方法來完成最終群組,以便群組數(shù)量能夠?qū)崿F(xiàn)編碼效率和音質(zhì)之間的平衡。下面將結(jié)合圖9更詳細(xì)地描述用于執(zhí)行短視窗的最終編組的過程的一個(gè)實(shí)施例。
在處理塊612,處理邏輯根據(jù)最終群組來確定幀內(nèi)的群組的數(shù)量以及每個(gè)群組中的短視窗的數(shù)量。
圖7是用于確定短視窗的類型的過程700的一個(gè)實(shí)施例的流程圖。
參照?qǐng)D7,處理邏輯從計(jì)算幀內(nèi)的每個(gè)短視窗的能量開始(處理塊702)。在一個(gè)實(shí)施例中,按如下計(jì)算每個(gè)短視窗的能量win_energy[win_index]=log[sum(coef[i]*coef[i])+0.5],其中[win_index]標(biāo)識(shí)幀內(nèi)的當(dāng)前短視窗的號(hào)碼,win_energy是所得到的能量,而coef[i]是短視窗內(nèi)的第i個(gè)頻譜系數(shù)。
接下來,處理邏輯找到具有最小能量的短視窗(處理塊704)并且計(jì)算所述幀中的每個(gè)短視窗的偏移能量值(處理塊706)。在一個(gè)實(shí)施例中,偏移能量值是通過將相應(yīng)的短視窗的能量減去最小能量而計(jì)算出的。
在處理塊708,處理邏輯通過用所述幀內(nèi)的所有偏移能量值的總和除以所述幀中的短視窗數(shù)量來計(jì)算所述幀的平均偏移能量值。
在判定框710,處理邏輯為第一短視窗確定是否其偏移能量值超出平均偏移能量值。如果是,則處理邏輯判定該短視窗具有第一類型(處理塊712)。如果不是,則處理邏輯判定該短視窗具有第二類型(處理塊714)。
接下來,處理邏輯確定在所述幀中是否有更多的未處理的視窗(判定框715)。如果是,則處理邏輯移動(dòng)到下一個(gè)短視窗(處理塊716)并且前進(jìn)至判定框710。如果不是,則過程700結(jié)束。
圖8是用于創(chuàng)建短視窗的兩個(gè)初級(jí)群組的過程800的一個(gè)實(shí)施例的流程圖。
參照?qǐng)D8,處理邏輯從初始化一組變量開始(處理塊802)。例如,處理邏輯可以將前一視窗類型變量的值設(shè)置為第一短視窗類型,將初級(jí)群組數(shù)目變量的數(shù)值設(shè)置為1,并且將第一初級(jí)群組長度變量的數(shù)值設(shè)置為1。
接下來,處理邏輯從所述幀中的第二短視窗起,開始處理短視窗。具體地說,處理邏輯確定當(dāng)前短視窗的類型是否與第一短視窗類型相同(判定框804)。如果是,則處理邏輯使第一初級(jí)群組長度增加1(處理塊806),并且檢查是否還有更多的短視窗仍未處理(判定框808)。如果還有更多的短視窗仍未處理,則處理邏輯移動(dòng)到下一個(gè)短視窗(處理塊810)并且返回到判定框804。如果沒有還未處理的短視窗,則過程800結(jié)束。
如果處理邏輯在判定框804確定當(dāng)前短視窗的類型與第一短視窗的類型不同,則處理邏輯就將初級(jí)群組數(shù)目設(shè)置為2(處理塊812)并且通過將短幀的總數(shù)量減去第一初級(jí)群組的長度來計(jì)算第二初級(jí)群組的長度(處理塊814)。
圖9是用于執(zhí)行短視窗的最終編組的過程900的一個(gè)實(shí)施例的流程圖。過程900根據(jù)MPEG標(biāo)準(zhǔn)進(jìn)行操作,根據(jù)該標(biāo)準(zhǔn)所述幀中的短視窗的數(shù)量等于8。
參照?qǐng)D9,處理邏輯從確定第一初級(jí)群組的長度是否超出閾值(例如,4)開始(判定框902)。如果是,則處理邏輯進(jìn)一步確定第一初級(jí)群組的長度是否等于8(判定框904)。如果是,則處理邏輯將最終的群組數(shù)量設(shè)置為2,將第一最終群組的長度設(shè)置為第一初級(jí)群組的長度,并且將第二最終群組的長度設(shè)置為第二初級(jí)群組的長度(處理塊906)。如果不是,則處理邏輯將群組的最終數(shù)量設(shè)置為3(處理塊908),將第三最終群組的長度設(shè)置為第二初級(jí)群組的長度(處理塊910),通過用初級(jí)第二群組的長度除以二來計(jì)算第二最終群組的長度(所述計(jì)算可以用window_group_length[1]>>1來表示)(處理塊912),并且通過將第一初級(jí)群組的長度減去第二最終群組的長度來計(jì)算第一最終群組的長度(處理塊914)。
如果處理邏輯在判定框902確定第一初級(jí)群組的長度沒有超出閾值,則它就進(jìn)一步確定第一初級(jí)群組的長度是否小于閾值(判定框916)。如果是,處理邏輯將群組的最終數(shù)量設(shè)置為3(處理塊917),通過用第二初級(jí)群組的長度除以二來計(jì)算第三最終群組的長度(所述計(jì)算可以用window_group_length[2]>>1來表示)(處理塊918),通過從第二初級(jí)群組的長度減去第三最終群組的長度來計(jì)算第二最終群組的長度(處理塊920),并且將第一最終群組的長度設(shè)置為第一初級(jí)群組的長度(處理塊922)。
如果處理邏輯在判定框916確定第一初級(jí)群組的長度不小于閾值,則它就將群組的數(shù)量設(shè)置為2并且將第一最終群組的長度設(shè)置為第一初級(jí)群組的長度并且將第二最終群組的長度設(shè)置為第二初級(jí)群組的長度(處理塊924)。
圖10舉例說明了幀的短視窗的編組的示例。
參照?qǐng)D10,正在編組的短視窗的類型被示出為grouping_bits″11100011″。短視窗的類型可以由圖7的過程700來確定。根據(jù)短視窗的這些類型,可以首先通過圖8的過程800將短視窗編組成兩個(gè)初級(jí)群組,由此創(chuàng)建具有3個(gè)短視窗的第一初級(jí)群組和具有5個(gè)短視窗的第二初級(jí)群組。接下來,可以利用閾值數(shù)量4來執(zhí)行圖9的過程900,以進(jìn)一步將第二初級(jí)群組劃分成兩個(gè)群組。其結(jié)果是,創(chuàng)建了三個(gè)最終群組,其中第一最終群組具有3個(gè)短視窗,第二最終群組具有3個(gè)短視窗,并且第三最終群組具有2個(gè)短視窗。
圖11的下列描述意在提供對(duì)適用于實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)硬件及其它工作的組件的概述,但是不意在限制應(yīng)用環(huán)境。圖11舉例說明了適合用作為編碼系統(tǒng)100或僅用作為圖1的濾波器組模塊102的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例。
所述計(jì)算機(jī)系統(tǒng)1140包括處理器1150、存儲(chǔ)器1155和耦合于系統(tǒng)總線1165的輸入/輸出能力1160。所述存儲(chǔ)器1155被配置成能存儲(chǔ)當(dāng)由處理器1150執(zhí)行時(shí)運(yùn)行這里所述的方法的指令。輸入/輸出1160還包含各種類型的計(jì)算機(jī)可讀介質(zhì),包括可由處理器1150訪問的任何類型的存儲(chǔ)設(shè)備。本領(lǐng)域的技術(shù)人員將會(huì)立即認(rèn)識(shí)到術(shù)語″計(jì)算機(jī)可讀媒體/介質(zhì)″還包含編碼數(shù)據(jù)信號(hào)的載波。還將認(rèn)識(shí)到的是所述系統(tǒng)1140是由存儲(chǔ)器1155中所執(zhí)行的操作系統(tǒng)軟件來控制的。輸入/輸出和相關(guān)介質(zhì)1160存儲(chǔ)用于操作系統(tǒng)的可執(zhí)行指令以及本發(fā)明的方法。圖1中所示的濾波器組模塊102可以是耦合于處理器1150的獨(dú)立組件或者可以由處理器1150所執(zhí)行的計(jì)算機(jī)可執(zhí)行指令加以具體化。在一個(gè)實(shí)施例中,所述計(jì)算機(jī)系統(tǒng)1140可以是ISP(因特網(wǎng)服務(wù)提供商)的一部分或者通過輸入/輸出1160耦合于ISP以便在因特網(wǎng)上發(fā)送或接收?qǐng)D像數(shù)據(jù)。顯而易見的是本發(fā)明不限于因特網(wǎng)訪問以及因特網(wǎng)基于Web的站點(diǎn);還可以設(shè)想直接耦合的網(wǎng)絡(luò)和專用網(wǎng)絡(luò)。
將會(huì)認(rèn)識(shí)到的是,所述計(jì)算機(jī)系統(tǒng)1140是具有不同的體系結(jié)構(gòu)的許多可能的計(jì)算機(jī)系統(tǒng)中的一個(gè)例子。典型的計(jì)算機(jī)系統(tǒng)將通常至少包括處理器、存儲(chǔ)器和將存儲(chǔ)器耦合于處理器的總線。本領(lǐng)域的技術(shù)人員將會(huì)立即認(rèn)識(shí)到可以利用其它計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)來實(shí)施本發(fā)明,包括多處理器系統(tǒng)、微型計(jì)算機(jī)、大型計(jì)算機(jī)等等。本發(fā)明還可以在分布計(jì)算環(huán)境中實(shí)施,在所述分布計(jì)算環(huán)境中任務(wù)是由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行的。
已經(jīng)描述了在音頻編碼過程中進(jìn)行視窗類型確定的各種不同的方面。盡管在這里已經(jīng)舉例說明和描述了特定實(shí)施例,但是本領(lǐng)域的技術(shù)人員將會(huì)認(rèn)識(shí)到的是,計(jì)算以達(dá)到相同目的的任何方案都可以替代所示的特定實(shí)施例。本申請(qǐng)意在涵蓋本發(fā)明的任何修改或變形。
權(quán)利要求
1.一種方法,包括利用當(dāng)前幀和下一幀中每一個(gè)的長視窗類型來計(jì)算數(shù)據(jù)的當(dāng)前幀的多個(gè)初級(jí)修正離散余弦變換(MDCT)系數(shù)和數(shù)據(jù)的下一幀的多個(gè)初級(jí)MDCT系數(shù);利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)和下一幀的多個(gè)初級(jí)MDCT系數(shù)來確定當(dāng)前幀的視窗類型;以及如果所確定的當(dāng)前幀的視窗類型不是長視窗類型,則利用所確定的視窗類型來計(jì)算當(dāng)前幀的多個(gè)最終MDCT系數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其中多個(gè)初級(jí)MDCT系數(shù)是根據(jù)沿時(shí)間軸產(chǎn)生的多個(gè)相應(yīng)的樣值計(jì)算的。
3.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括如果所確定的當(dāng)前幀的視窗類型是長視窗類型,則將當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)用作為當(dāng)前幀的多個(gè)最終MDCT系數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其中確定當(dāng)前幀的視窗類型包括確定下一幀的初級(jí)視窗類型;以及使用下一幀的初級(jí)視窗類型和前一幀的視窗類型來確定當(dāng)前幀的視窗類型。
5.根據(jù)權(quán)利要求4所述的方法,其中確定下一幀的初級(jí)視窗類型包括利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)來計(jì)算當(dāng)前幀的總能量;利用下一幀的多個(gè)初級(jí)MDCT系數(shù)來計(jì)算下一幀的總能量;根據(jù)當(dāng)前幀的總能量和下一幀的總能量來確定是否很可能在下一幀中發(fā)生從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變;以及如果很可能發(fā)生轉(zhuǎn)變,則判定下一幀的初級(jí)視窗類型是短視窗類型。
6.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括如果不可能發(fā)生轉(zhuǎn)變,則判定下一幀的初級(jí)視窗類型是長視窗類型。
7.根據(jù)權(quán)利要求5所述的方法,其中使用下一幀的初級(jí)視窗類型和前一幀的視窗類型來確定當(dāng)前幀的視窗類型包括識(shí)別前一幀的視窗類型;以及為當(dāng)前幀選擇過渡視窗類型以便從前一幀的視窗類型轉(zhuǎn)變到下一幀的初級(jí)視窗類型,所述選擇傾向于使用長視窗類型而不是短視窗類型。
8.一種方法,包括檢測在數(shù)據(jù)的下一幀中從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的指示;以及判定下一幀的初級(jí)視窗類型是短視窗類型;以及根據(jù)當(dāng)前幀的初級(jí)視窗類型和數(shù)據(jù)的前一幀的視窗類型來確定數(shù)據(jù)的當(dāng)前幀的視窗類型,當(dāng)前幀的視窗類型的確定傾向于使用長視窗類型而不是短視窗類型。
9.根據(jù)權(quán)利要求8所述的方法,其中檢測轉(zhuǎn)變的指示包括利用當(dāng)前幀和下一幀中每一個(gè)的長視窗類型來計(jì)算數(shù)據(jù)的當(dāng)前幀的多個(gè)修正離散余弦變換(MDCT)系數(shù)和數(shù)據(jù)的下一幀的多個(gè)初級(jí)MDCT系數(shù);利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)來計(jì)算當(dāng)前幀的總能量;利用下一幀的多個(gè)初級(jí)MDCT系數(shù)來計(jì)算下一幀的總能量;以對(duì)數(shù)方式縮放當(dāng)前幀的總能量和下一幀的總能量;通過從縮放后的下一幀的總能量減去縮放后的當(dāng)前幀的總能量來計(jì)算梯度能量;確定所述梯度能量是否超出閾值;以及如果所述梯度能量超出閾值,則判定很可能在下一幀中發(fā)生到瞬態(tài)信號(hào)的轉(zhuǎn)變。
10.根據(jù)權(quán)利要求9所述的方法,其中多個(gè)初級(jí)MDCT系數(shù)是根據(jù)沿時(shí)間軸產(chǎn)生的多個(gè)相應(yīng)的樣值計(jì)算的。
11.根據(jù)權(quán)利要求9所述的方法,其中所述閾值是實(shí)驗(yàn)上確定的。
12.根據(jù)權(quán)利要求9所述的方法,進(jìn)一步包括如果所述梯度能量沒有超出閾值,則判定在下一幀中未發(fā)生到瞬態(tài)信號(hào)的轉(zhuǎn)變,并且判定下一幀的初級(jí)視窗類型是長視窗類型。
13.根據(jù)權(quán)利要求8所述的方法,其中根據(jù)下一幀的初級(jí)視窗類型和數(shù)據(jù)的前一幀的視窗類型來確定數(shù)據(jù)的當(dāng)前幀的視窗類型,包括識(shí)別前一幀的視窗類型;以及為當(dāng)前幀選擇視窗類型以便從前一幀的視窗類型轉(zhuǎn)變到下一幀的初級(jí)視窗類型,所述選擇傾向于使用長視窗類型而不是短視窗類型。
14.根據(jù)權(quán)利要求13所述的方法,其中為當(dāng)前幀選擇視窗類型包括如果下一幀的初級(jí)視窗類型是長視窗類型并且前一幀的視窗類型是長視窗類型和短-長視窗類型中任何一種,則為當(dāng)前幀選擇長視窗類型。
15.根據(jù)權(quán)利要求13所述的方法,其中為當(dāng)前幀選擇視窗類型包括如果下一幀的初級(jí)視窗類型是長視窗類型并且前一幀的視窗類型是短視窗類型和長-短視窗類型中的任何一種,則為當(dāng)前幀選擇短-長視窗類型。
16.根據(jù)權(quán)利要求13所述的方法,其中為當(dāng)前幀選擇視窗類型包括如果下一幀的初級(jí)視窗類型是短視窗類型并且前一幀的視窗類型是長視窗類型和短-長視窗類型中的任何一種,則為當(dāng)前幀選擇長-短視窗類型。
17.根據(jù)權(quán)利要求13所述的方法,其中為當(dāng)前幀選擇視窗類型包括如果下一幀的初級(jí)視窗類型是短視窗類型并且前一幀的視窗類型是短視窗類型和長-短視窗類型中的任何一種,則為當(dāng)前幀選擇短視窗類型。
18.一種提供指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)在處理器上執(zhí)行所述指令時(shí),令處理器執(zhí)行以下方法,包括檢測在數(shù)據(jù)的下一幀中從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的指示;以及判定下一幀的初級(jí)視窗類型是短視窗類型;以及根據(jù)當(dāng)前幀的初級(jí)視窗類型和數(shù)據(jù)的前一幀的視窗類型來確定數(shù)據(jù)的當(dāng)前幀的視窗類型,所述當(dāng)前幀的視窗類型的確定傾向于使用長視窗類型而不是短視窗類型。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述多個(gè)初級(jí)MDCT系數(shù)是根據(jù)沿時(shí)間軸產(chǎn)生的多個(gè)相應(yīng)的樣值計(jì)算的。
20.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述方法進(jìn)一步包括如果所確定的當(dāng)前幀的視窗類型是長視窗類型,則將當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)用作為當(dāng)前幀的多個(gè)最終MDCT系數(shù)。
21.一種提供指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)在處理器上執(zhí)行所述指令時(shí),令處理器執(zhí)行以下方法,包括利用當(dāng)前幀和下一幀中每一個(gè)的長視窗類型來計(jì)算數(shù)據(jù)的當(dāng)前幀的多個(gè)初級(jí)修正離散余弦變換(MDCT)系數(shù)和數(shù)據(jù)的下一幀的多個(gè)初級(jí)MDCT系數(shù);利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)和下一幀的多個(gè)初級(jí)MDCT系數(shù)來確定當(dāng)前幀的視窗類型;以及如果所確定的當(dāng)前幀的視窗類型不是長視窗類型,則利用所確定的視窗類型來計(jì)算當(dāng)前幀的多個(gè)最終MDCT系數(shù)。
22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其中檢測轉(zhuǎn)變的指示包括利用當(dāng)前幀和下一幀中每一個(gè)的長視窗類型來計(jì)算數(shù)據(jù)的當(dāng)前幀的多個(gè)修正離散余弦變換(MDCT)系數(shù)和數(shù)據(jù)的下一幀的多個(gè)初級(jí)MDCT系數(shù);利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)來計(jì)算當(dāng)前幀的總能量;利用下一幀的多個(gè)初級(jí)MDCT系數(shù)來計(jì)算下一幀的總能量;以對(duì)數(shù)方式縮放當(dāng)前幀的總能量和下一幀的總能量;通過從縮放后的下一幀的總能量減去縮放后的當(dāng)前幀的總能量來計(jì)算梯度能量;確定所述梯度能量是否超出閾值;以及如果所述梯度能量超出閾值,則判定很可能在下一幀中發(fā)生到瞬態(tài)信號(hào)的轉(zhuǎn)變。
23.根據(jù)權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中所述多個(gè)初級(jí)MDCT系數(shù)是根據(jù)沿時(shí)間軸產(chǎn)生的多個(gè)相應(yīng)的樣值計(jì)算的。
24.一種計(jì)算機(jī)化系統(tǒng),包括存儲(chǔ)器;和耦合于存儲(chǔ)器的至少一個(gè)處理器,所述至少一個(gè)處理器執(zhí)行指令集合,所述指令使至少一個(gè)處理器檢測在數(shù)據(jù)的下一幀中從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的指示;判定下一幀的初級(jí)視窗類型是短視窗類型;以及根據(jù)當(dāng)前幀的初級(jí)視窗類型和數(shù)據(jù)的前一幀的視窗類型來確定數(shù)據(jù)的當(dāng)前幀的視窗類型,當(dāng)前幀的視窗類型的確定傾向于使用長視窗類型而不是短視窗類型。
25.根據(jù)權(quán)利要求24所述的系統(tǒng),其中所述多個(gè)初級(jí)MDCT系數(shù)是根據(jù)沿時(shí)間軸產(chǎn)生的多個(gè)相應(yīng)的樣值計(jì)算的。
26.根據(jù)權(quán)利要求24所述的系統(tǒng),其中如果所確定的當(dāng)前幀的視窗類型是長視窗類型,則所述處理器進(jìn)一步將當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)用作為當(dāng)前幀的多個(gè)最終MDCT系數(shù)。
27.一種計(jì)算機(jī)化系統(tǒng),包括存儲(chǔ)器;和耦合于存儲(chǔ)器的至少一個(gè)處理器,所述至少一個(gè)處理器執(zhí)行指令集合,所述指令使至少一個(gè)處理器利用當(dāng)前幀和下一幀中每一個(gè)的長視窗類型來計(jì)算數(shù)據(jù)的當(dāng)前幀的多個(gè)初級(jí)修正離散余弦變換(MDCT)系數(shù)和數(shù)據(jù)的下一幀的多個(gè)初級(jí)MDCT系數(shù);利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)和下一幀的多個(gè)初級(jí)MDCT系數(shù)來確定當(dāng)前幀的視窗類型;以及如果所確定的當(dāng)前幀的視窗類型不是長視窗類型,則利用所確定的視窗類型來計(jì)算當(dāng)前幀的多個(gè)最終MDCT系數(shù)。
28.根據(jù)權(quán)利要求27所述的系統(tǒng),其中所述處理器通過下列操作來檢測轉(zhuǎn)變的指示利用當(dāng)前幀和下一幀中每一個(gè)的長視窗類型來計(jì)算數(shù)據(jù)的當(dāng)前幀的多個(gè)初級(jí)修正離散余弦變換(MDCT)系數(shù)和數(shù)據(jù)的下一幀的多個(gè)初級(jí)MDCT系數(shù);利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)來計(jì)算當(dāng)前幀的總能量;利用下一幀的多個(gè)初級(jí)MDCT系數(shù)來計(jì)算下一幀的總能量;以對(duì)數(shù)方式縮放當(dāng)前幀的總能量和下一幀的總能量;通過從縮放后的下一幀的總能量減去縮放后的當(dāng)前幀的總能量來計(jì)算梯度能量;確定所述梯度能量是否超出閾值;以及如果所述梯度能量超出閾值,則判定很可能在下一幀中發(fā)生到瞬態(tài)信號(hào)的轉(zhuǎn)變。
29.根據(jù)權(quán)利要求28所述的系統(tǒng),其中所述多個(gè)初級(jí)MDCT系數(shù)是根據(jù)沿時(shí)間軸產(chǎn)生的多個(gè)相應(yīng)的樣值計(jì)算的。
30.一種設(shè)備,包括用于檢測在數(shù)據(jù)的下一幀中從穩(wěn)定信號(hào)到瞬態(tài)信號(hào)的轉(zhuǎn)變的指示的裝置;和用于判定下一幀的初級(jí)視窗類型是短視窗類型的裝置;和用于根據(jù)當(dāng)前幀的初級(jí)視窗類型和數(shù)據(jù)的前一幀的視窗類型來確定數(shù)據(jù)的當(dāng)前幀的視窗類型的裝置,當(dāng)前幀的視窗類型的確定傾向于使用長視窗類型而不是短視窗類型。
31.一種設(shè)備,包括用于利用當(dāng)前幀和下一幀中每一個(gè)的長視窗類型來計(jì)算數(shù)據(jù)的當(dāng)前幀的多個(gè)初級(jí)修正離散余弦變換(MDCT)系數(shù)和數(shù)據(jù)的下一幀的多個(gè)初級(jí)MDCT系數(shù)的裝置;用于利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)和下一幀的多個(gè)初級(jí)MDCT系數(shù)來確定當(dāng)前幀的視窗類型的裝置;以及用于如果所確定的當(dāng)前幀的視窗類型不是長視窗類型,則利用所確定的視窗類型來計(jì)算當(dāng)前幀的多個(gè)最終MDCT系數(shù)的裝置。
32.一種設(shè)備,包括修正離散余弦變換(MDCT)系數(shù)計(jì)算器,用于利用當(dāng)前幀和下一幀中每一個(gè)的長視窗類型來計(jì)算數(shù)據(jù)的當(dāng)前幀的多個(gè)初級(jí)修正離散余弦變換(MDCT)系數(shù)和數(shù)據(jù)的下一幀的多個(gè)初級(jí)MDCT系數(shù);和視窗類型確定器,用于利用當(dāng)前幀的多個(gè)初級(jí)MDCT系數(shù)和下一幀的多個(gè)初級(jí)MDCT系數(shù)來確定當(dāng)前幀的視窗類型,其中所述MDCT系數(shù)計(jì)算器進(jìn)一步執(zhí)行如下操作如果所確定的當(dāng)前幀的視窗類型不是長視窗類型,則利用所確定的視窗類型來計(jì)算當(dāng)前幀的多個(gè)最終MDCT系數(shù)。
全文摘要
利用長視窗類型來為數(shù)據(jù)的當(dāng)前幀和數(shù)據(jù)的下一幀計(jì)算初級(jí)修正離散余弦變換(MDCT)系數(shù)。然后,使用計(jì)算出的當(dāng)前幀和下一幀的初級(jí)MDCT系數(shù)來確定視窗類型不是長視窗類型,利用所確定的視窗類型來為當(dāng)前幀計(jì)算最終MDCT系數(shù)。
文檔編號(hào)G10L19/02GK1997988SQ200480035333
公開日2007年7月11日 申請(qǐng)日期2004年9月20日 優(yōu)先權(quán)日2003年9月29日
發(fā)明者J·雍 申請(qǐng)人:索尼電子有限公司