專利名稱:音頻暫態(tài)信號(hào)的編解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字移動(dòng)通信領(lǐng)域,特別是涉及一種音頻暫態(tài)信號(hào)的編解 碼方法。
背景技術(shù):
暫態(tài)信號(hào)是一種特殊的音頻信號(hào),它多存在于有敲打樂器的音頻序列 中,例如,連續(xù)的敲鑼打鼓產(chǎn)生的信號(hào)可以稱之為暫態(tài)信號(hào)。它的特殊性
在于,如果采用常規(guī)的變換編碼方法例如MDCT (改進(jìn)型離散余弦變換) 等,對(duì)其進(jìn)行編解碼的話,會(huì)產(chǎn)生預(yù)回聲現(xiàn)象。這是由于量化比特不夠所 帶來的量化噪聲。量化噪聲是均勻的擴(kuò)散到整個(gè)時(shí)域里,在暫態(tài)信號(hào)出現(xiàn) 之前的那段信號(hào)會(huì)被量化噪聲占據(jù),進(jìn)而產(chǎn)生了預(yù)回聲現(xiàn)象。預(yù)回聲現(xiàn)象 一種嚴(yán)重的失真,人耳對(duì)此種失真非常敏感。
現(xiàn)有技術(shù)中雖然已經(jīng)有兩類經(jīng)典的技術(shù)對(duì)暫態(tài)信號(hào)進(jìn)行有效的編解 碼,但是,運(yùn)算開銷都相對(duì)常規(guī)的變換編解碼的方法要大得多。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種音頻暫態(tài)信號(hào)的編解碼方法,能 夠有效減少編解碼端的計(jì)算復(fù)雜度。
為解決上述技術(shù)問題,本發(fā)明的音頻暫態(tài)信號(hào)的編解碼方法是采用如 下技術(shù)方案實(shí)現(xiàn)的,在對(duì)暫態(tài)信號(hào)做變換編碼之前,對(duì)輸入幀的時(shí)域采樣 點(diǎn)進(jìn)行處理,即加入暫態(tài)信號(hào)處理;暫態(tài)信號(hào)處理位于在編碼器端進(jìn)行時(shí)-頻變換之前的任意位置以及對(duì)應(yīng)的解碼器端進(jìn)行頻-時(shí)變換之后的任意位 置。
本發(fā)明的方法是對(duì)現(xiàn)有技術(shù)中的增益修正方法的一種改進(jìn)。由于增益 修正方法對(duì)整個(gè)暫態(tài)信號(hào)幀進(jìn)行了增益的修正,對(duì)其精確修正需要的比特 數(shù)是相當(dāng)?shù)母叩?。?shí)際上,由于暫態(tài)信號(hào)也只是在暫態(tài)信號(hào)幀的某一小部 分出現(xiàn)。因此只需要對(duì)一部分時(shí)域采樣點(diǎn)而不是所有的時(shí)域采樣點(diǎn)進(jìn)行增 益修正即可。采用本發(fā)明既可以減少需要量化的比特?cái)?shù),也可以同時(shí)減少 編解碼端的計(jì)算復(fù)雜度。
下面結(jié)合附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明
圖1是本發(fā)明的方法中編碼端的控制流程圖2是本發(fā)明的方法中解碼端的控制流程圖3是本發(fā)明的方法中編碼端的暫態(tài)信號(hào)處理框圖4是本發(fā)明的方法中解碼端的暫態(tài)信號(hào)處理框圖。
具體實(shí)施例方式
如圖l、 2所示。本發(fā)明的音頻暫態(tài)信號(hào)的編解碼方法,其基本思想 是在對(duì)暫態(tài)信號(hào)做變換編碼之前,對(duì)輸入幀的時(shí)域采樣點(diǎn)進(jìn)行處理,即加 入暫態(tài)信號(hào)處理。暫態(tài)信號(hào)處理(暫態(tài)信號(hào)編解碼)可以在編碼器進(jìn)行時(shí) -頻變換之前的任意位置以及對(duì)應(yīng)的解碼器進(jìn)行頻-時(shí)變換之后的任意位 置。
圖l、 2中,時(shí)域處理包括分析濾波器等對(duì)輸入采樣點(diǎn)的處理步驟。 時(shí)-頻變換(或頻-時(shí)變換)則包括變換編(解)碼以及之后的一些頻(時(shí))域處理和量化步驟。例如,在MPEG-MC編碼器里,時(shí)域處理所包含的步 驟。
下面分別從編碼器和解碼器端對(duì)本發(fā)明的方法進(jìn)行說明。 (1)編碼器
首先在時(shí)域上檢測(cè)輸入幀是否為暫態(tài)幀。在這里可以采用任何己知的 暫態(tài)信號(hào)檢測(cè)方法(例如感知熵)。在本發(fā)明的一個(gè)實(shí)施例中,假定輸入
幀的采樣點(diǎn)為《,《,,、,同時(shí)將其分成L段,用集合4,/ = 1,2,...,丄來表示 這種分割。分別計(jì)算每段的能量E。和整幀的平均能量EI:
<formula>formula see original document page 6</formula>
將整幀的平均能量與每段的能量的最大比值同設(shè)定的門限值進(jìn)行比 較,當(dāng)所述的最大比值大于門限值T的時(shí)候則輸入幀為暫態(tài)幀,否則為穩(wěn)
態(tài)幀。即<formula>formula see original document page 6</formula>
預(yù)回聲信號(hào)產(chǎn)生的本質(zhì)原因是量化噪聲擴(kuò)散到暫態(tài)信號(hào)出現(xiàn)之前的 時(shí)間段,并且聽覺的前掩蔽不夠,所以會(huì)導(dǎo)致這些量化噪聲為人耳清晰的 感覺到,導(dǎo)致了最終的嚴(yán)重失真。
當(dāng)輸入幀被檢測(cè)為暫態(tài)信號(hào)的時(shí)候,開啟暫態(tài)信號(hào)處理方法?,F(xiàn)有技
術(shù)中有很多對(duì)暫態(tài)信號(hào)的處理方法,例如
一種典型的處理方法是長(zhǎng)短窗切換方法。它在暫態(tài)信號(hào)出現(xiàn)的時(shí)候把 其切換到短窗,提高信號(hào)的時(shí)間分辨率,從而抑制了預(yù)回聲現(xiàn)象。該方法在很多標(biāo)準(zhǔn)中得以應(yīng)用并被證明是一種良好的方法。
另一種方法是時(shí)域噪聲整形方法(Temporal Noise Shaping TNS)。 它利用時(shí)頻的對(duì)偶性,從頻域里進(jìn)行線性預(yù)測(cè)分析,即相當(dāng)于在時(shí)域中進(jìn) 行相應(yīng)的時(shí)域包絡(luò)整形處理,從而也從一定程度抑制了預(yù)回聲現(xiàn)象。
比特池方法(Bit Pool)也是一種有效的方法,在可變碼率編解碼的 框架里,利用之前節(jié)省下的比特對(duì)暫態(tài)信號(hào)進(jìn)行編解碼,由于比特?cái)?shù)的增 加,量化噪聲隨之減少,可以從一定程度上緩解預(yù)回聲現(xiàn)象。
增益修正(Gain Modification)方法也是一種經(jīng)典算法。它根據(jù)暫 態(tài)信號(hào)的時(shí)域采樣點(diǎn)計(jì)算出某些增益和形狀參數(shù),利用這些參數(shù)修正時(shí)域 采樣點(diǎn),達(dá)到對(duì)預(yù)回聲現(xiàn)象的抑制作用。
本發(fā)明的對(duì)暫態(tài)信號(hào)的處理方法是在增益修正方法基礎(chǔ)上的一種改 進(jìn)。由于增益修正方法對(duì)整個(gè)暫態(tài)信號(hào)幀進(jìn)行了增益的修正,對(duì)其精確修 正需要的比特?cái)?shù)是相當(dāng)高的。實(shí)際上,由于暫態(tài)信號(hào)也只是在暫態(tài)信號(hào)幀 的某一小部分出現(xiàn)。因此只需要對(duì)一部分時(shí)域采樣點(diǎn)而不是所有的時(shí)域采 樣點(diǎn)進(jìn)行增益修正即可。這樣即可以減少需要量化的比特?cái)?shù),也可以同時(shí) 減少編解碼端的計(jì)算復(fù)雜度。
繼續(xù)沿用之前的假設(shè),即輸入幀的采樣點(diǎn)為A,X2,.…,^ (記為集 合C),其中N是輸入幀長(zhǎng)度。首先根據(jù)輸入幀的采樣點(diǎn)信號(hào)確定哪些采 樣點(diǎn)(不是所有采樣點(diǎn))需要進(jìn)行伸縮處理(即增益修正),即如前面所
述的暫態(tài)檢測(cè)步驟。通過這個(gè)步驟可以得到一個(gè)采樣點(diǎn)集合
<formula>formula see original document page 7</formula>同時(shí)將剩下的采樣點(diǎn)信號(hào)數(shù)據(jù)記為集合B:
一種實(shí)施例是檢測(cè)出暫態(tài)信號(hào)出現(xiàn)的時(shí)刻對(duì)應(yīng)的采樣點(diǎn),, 可以設(shè)該時(shí)刻開始之后的M個(gè)采樣點(diǎn)是需要進(jìn)行伸縮處理的采樣點(diǎn),用4
表示該采樣點(diǎn)集合
<formula>formula see original document page 8</formula>
將需要進(jìn)行伸縮處理的采樣點(diǎn)(集合A)進(jìn)行伸縮處理,即乘以一個(gè) 乘性參數(shù)義,.,達(dá)到對(duì)該部分采樣點(diǎn)進(jìn)行伸縮處理的目的。
乘性參數(shù)4,7、l,2v",A^可以通過任意一種方式得到??梢允穷A(yù)先設(shè) 定的,也可以是根據(jù)輸入采樣點(diǎn)和其他參數(shù)(例如采樣率、碼率等等)自 適應(yīng)計(jì)算出來的。
將集合A的數(shù)據(jù)進(jìn)行處理以后,把其數(shù)據(jù)和B集合的數(shù)據(jù)重新按照C 集合原來的順序進(jìn)行排列可以得到經(jīng)過伸縮處理的暫態(tài)信號(hào),當(dāng)作時(shí)-頻 變換編碼的輸入。實(shí)現(xiàn)過程可參見圖3所示。 (2)解碼器
在解碼端,應(yīng)用暫態(tài)信號(hào)時(shí)域恢復(fù)處理模塊來恢復(fù)時(shí)域信號(hào)。假設(shè)頻 -時(shí)變換以后,可以得到時(shí)域的恢復(fù)信號(hào)采樣點(diǎn)
根據(jù)編碼端產(chǎn)生的集合A和集合B的情況來進(jìn)行反伸縮處理
當(dāng)<formula>formula see original document page 8</formula>,找到i=ij否則不進(jìn)行任何處理。相對(duì)于編碼端,解碼端乘性參數(shù)^^可以通過 任意一種方式得到。它可以是預(yù)先設(shè)定的,也可以通過對(duì)編碼端的乘性參 數(shù)用任何編解碼方法得到。根據(jù)如上過程產(chǎn)生得到暫態(tài)信號(hào)處理后的輸出 XpX2,….,Xw?;謴?fù)處理過程可參見圖4。
權(quán)利要求
1、一種音頻暫態(tài)信號(hào)的編解碼方法,其特征在于在對(duì)暫態(tài)信號(hào)做變換編碼之前,對(duì)輸入幀的時(shí)域采樣點(diǎn)進(jìn)行處理,即加入暫態(tài)信號(hào)處理;暫態(tài)信號(hào)處理位于在編碼器端進(jìn)行時(shí)-頻變換之前的任意位置以及對(duì)應(yīng)的解碼器端進(jìn)行頻-時(shí)變換之后的任意位置。
2、 根據(jù)權(quán)利要求1所述的音頻暫態(tài)信號(hào)的編解碼方法,其特征在于 在編碼器,首先在時(shí)域上檢測(cè)輸入幀是否為暫態(tài)幀;當(dāng)輸入幀被檢測(cè)為暫 態(tài)信號(hào)的時(shí)候,則進(jìn)行暫態(tài)信號(hào)處理。
3、 根據(jù)權(quán)利要求2所述的音頻暫態(tài)信號(hào)的編解碼方法,其特征在于 所述暫態(tài)信號(hào)處理采用長(zhǎng)短窗切換方法、時(shí)域噪聲整形方法、比特池方法、 或增益修正方法。
4、 根據(jù)權(quán)利要求2所述的音頻暫態(tài)信號(hào)的編解碼方法,其特征在于 所述暫態(tài)信號(hào)處理的方法是首先根據(jù)輸入幀的采樣點(diǎn)信號(hào)確定哪些采樣點(diǎn)需要進(jìn)行伸縮處理,根 據(jù)需要伸縮處理的點(diǎn)得到一個(gè)采樣點(diǎn)集合A:<formula>formula see original document page 2</formula>將集合A乘以一個(gè)乘性參數(shù)4, < = ;ip>/ = i,2,...,Ar,達(dá)到對(duì)該部分采樣點(diǎn)進(jìn)行伸縮處理。
5、 根據(jù)權(quán)利要求4所述的音頻暫態(tài)信號(hào)的編解碼方法,其特征在于同時(shí)將剩下的采樣點(diǎn)信號(hào)數(shù)據(jù)記為集合B:將集合A的數(shù)據(jù)進(jìn)行處理以后,把其數(shù)據(jù)和集合B的數(shù)據(jù)重新按照集合C, C二A,X2,….,Xw原來的順序進(jìn)行排列得到經(jīng)過伸縮處理的暫態(tài)信號(hào),當(dāng)作 時(shí)-頻變換編碼的輸入。
6、 根據(jù)權(quán)利要求4所述的音頻暫態(tài)信號(hào)的編解碼方法,其特征在于: 所述乘性參數(shù)^,是預(yù)先設(shè)定的,或者是根據(jù)輸入采樣點(diǎn)自適應(yīng)計(jì)算出來 的。
7、 根據(jù)權(quán)利要求1所述的音頻暫態(tài)信號(hào)的編解碼方法,其特征在于在解碼器端,應(yīng)用暫態(tài)信號(hào)時(shí)域恢復(fù)處理模塊來恢復(fù)時(shí)域信號(hào),并得到時(shí)域的恢復(fù)信號(hào)采樣點(diǎn)根據(jù)編碼端產(chǎn)生的需要伸縮處理的集合A:爿={^.."~},0<#<^其中,{1,2, ...,7V};和將剩下的采樣點(diǎn)信號(hào)數(shù)據(jù)組成的集合B:的情況,來進(jìn)行反伸縮處理當(dāng)/e ft,/2,,找到7' = /;否則不進(jìn)行任何處理。
全文摘要
本發(fā)明公開了一種音頻暫態(tài)信號(hào)的編解碼方法,在對(duì)暫態(tài)信號(hào)做變換編碼之前,對(duì)輸入幀的時(shí)域采樣點(diǎn)進(jìn)行處理,即加入暫態(tài)信號(hào)處理;暫態(tài)信號(hào)處理位于在編碼器端進(jìn)行時(shí)-頻變換之前的任意位置以及對(duì)應(yīng)的解碼器端進(jìn)行頻-時(shí)變換之后的任意位置。本發(fā)明能夠有效減少編解碼端的計(jì)算復(fù)雜度。適用于數(shù)字移動(dòng)通信領(lǐng)域。
文檔編號(hào)G10L19/02GK101308656SQ200710040779
公開日2008年11月19日 申請(qǐng)日期2007年5月17日 優(yōu)先權(quán)日2007年5月17日
發(fā)明者張本好, 曇 李, 林福輝, 黃鶴云 申請(qǐng)人:展訊通信(上海)有限公司