專利名稱:快變音頻信號的編解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及音頻編解碼方法,尤其是通過有效組織尺度因子帶對音頻信號進行編解碼的方法。
背景技術(shù):
為得到高保真的數(shù)字音頻信號,需對數(shù)字音頻信號進行音頻編碼或音頻壓縮以便于存儲和傳輸。對音頻信號進行編碼的目的是用盡可能少的比特數(shù)實現(xiàn)音頻信號的透明表示,例如,原始輸入的音頻信號與經(jīng)編碼后輸出的音頻信號之間幾乎沒有差別。
專利ZL02122099.9,專利申請PCT/CN2004/001034、PCT/CN2005/000440、PCT/CN2005/000441、200410046153及200410046154均提出了基于一種新的多分辨率分析技術(shù)的音頻編碼方法和裝置,并提出了一種對頻率-調(diào)制域信號進行組織的編碼方法。這些專利申請采用對修正離散余弦變換(ModifiedDiscrete Cosine Transform,簡稱MDCT)或快速傅里葉變換(Fast FourierTransform,簡稱FFT)等變換/濾波獲得的頻域系數(shù)進一步做多分辨率變換/濾波,例如采用小波變換、短MDCT或DCT等,獲得一種新的二維數(shù)據(jù)結(jié)構(gòu)。這種新的二維數(shù)據(jù)結(jié)構(gòu)不同于已有的時間-頻率二維數(shù)據(jù)結(jié)構(gòu),而是頻率-調(diào)制域信號表示;將上述方法稱為“偽小波”濾波,以區(qū)別于傳統(tǒng)的小波濾波技術(shù)。
專利CN1141699“寬帶數(shù)字信息信號的編碼和解碼”提供了以濾波子帶(對信號的時間-頻率表達形式)為單位,在時間順序上自適應(yīng)組織尺度因子帶,進行量化編碼的編碼策略,但是在該專利中,時間-頻率二維數(shù)據(jù)結(jié)構(gòu)的組織順序僅限于時間順序。專利CN1100850“用于記錄、再生、傳輸和/或接受壓縮數(shù)據(jù)的方法及裝置,以及采用的記錄介質(zhì)”提供了更廣泛的在時間和頻率上自適應(yīng)對時間-頻率二維數(shù)據(jù)結(jié)構(gòu)進行組織的編碼策略。但是,上述尺度因子帶的技術(shù)主要針對信號的時間-頻率表示,而在基于“偽小波”技術(shù)的音頻編碼器中,“偽小波”濾波所獲得的調(diào)制域信號分布與以往的時域-頻域系數(shù)分布存在本質(zhì)的不同,需要根據(jù)頻率-調(diào)制域系數(shù)分布特性重新設(shè)計相應(yīng)的尺度因子組織和編碼策略。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)所存在的缺陷,提供快變音頻信號的編解碼方法,通過更充分的組織尺度因子帶,將性質(zhì)相同或相似的系數(shù)組織在一起編碼,從而有效提高快變信號的編碼效率,顯著提升編解碼器的性能。
為了實現(xiàn)上述目的,本發(fā)明提供了一種快變音頻信號的編碼方法,該方法包括以下步驟步驟1、對快變音頻信號進行時頻映射處理,得到該音頻信號的頻域系數(shù);步驟2、對該頻域系數(shù)進行頻域-調(diào)制域映射處理,得到調(diào)制域系數(shù);步驟3、根據(jù)調(diào)制域系數(shù)得到調(diào)制窗,在每個調(diào)制窗內(nèi),根據(jù)頻率順序組織調(diào)制域系數(shù);步驟4、在每個調(diào)制窗中,劃分尺度因子帶;步驟5、對各調(diào)制窗的尺度因子帶進行重組,形成大尺度因子帶;步驟6、對調(diào)制域系數(shù)進行量化和熵編碼,得到編碼后的音頻碼流。
所述步驟1中的時頻映射處理為修正離散余弦變換或快速傅里葉變換。在所述步驟1和步驟2之間還包括按頻率順序組織所述頻域系數(shù)。所述步驟2中的頻域-調(diào)制域映射處理為短修正離散余弦變換或小波變換。所述步驟4可具體為在每個調(diào)制窗中,按照人耳聽覺頻率分辨率劃分尺度因子帶。所述步驟5可具體為將性質(zhì)相同或相似的尺度因子帶合并組織為大尺度因子帶。所述步驟6中的量化可為標量量化,具體包括對所有尺度因子帶中的調(diào)制域系數(shù)進行非線性壓擴;再利用每個大尺度因子帶的尺度因子對該大尺度因子帶包含的各子帶的調(diào)制域系數(shù)進行量化,得到整數(shù)表示的量化譜;選擇每幀信號中的第一個尺度因子作為公共尺度因子;其它尺度因子與其前一個尺度因子進行差分處理;所述熵編碼包括對量化譜和差分處理后的尺度因子進行熵編碼,得到碼書序號、尺度因子編碼值及無損編碼量化譜;對碼書序號進行熵編碼,得到碼書序號編碼值。
所述步驟6之后,將尺度因子帶的組織方式、量化器參數(shù)及熵編碼方式信息作為控制信息傳輸。
為了實現(xiàn)上述目的,本發(fā)明還提供了一種快變音頻信號的解碼方法,該方法包括以下步驟步驟1、根據(jù)音頻碼流控制信息中的尺度因子帶組織方式及熵編碼方式信息,對音頻信號進行熵解碼,得到調(diào)制域系數(shù)的量化值;步驟2、根據(jù)控制信息中的尺度因子帶組織方式及尺度因子信息,對調(diào)制域系數(shù)的量化值進行逆量化,得到逆量化調(diào)制域系數(shù);步驟3、對逆量化調(diào)制域系數(shù)在時頻平面進行重組,然后進行調(diào)制域-頻域映射處理,得到頻域系數(shù);步驟4、對頻域系數(shù)進行頻時映射處理,得到時域音頻信號。
所述步驟3中的重組具體包括先將調(diào)制域系數(shù)在頻率方向組織,每個頻帶中的系數(shù)在時間方向組織,然后將組織好的系數(shù)按照調(diào)制窗、尺度因子帶的順序排列。
本發(fā)明通過更充分的組織尺度因子帶,將性質(zhì)相同或相似的系數(shù)組織在一起編碼,有效的提高了快變信號的編碼效率并顯著提升了編解碼器的性能。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
圖1為本發(fā)明的快變音頻信號的編碼方法流程圖。
圖2為本發(fā)明的快變音頻信號的編碼方法中組織調(diào)制域系數(shù)示意圖。
圖3為本發(fā)明的快變音頻信號的編碼方法中劃分尺度因子帶示意圖。
圖4為本發(fā)明的快變音頻信號的編碼方法中重組尺度因子帶示意圖。
圖5為本發(fā)明的快變音頻信號的解碼方法流程圖。
具體實施例方式
本發(fā)明是對快變信號的編解碼進行了改進,按照人耳聽覺頻率分辨率,將調(diào)制窗劃分為多個尺度因子帶,并根據(jù)編碼信號的特性,對尺度因子帶進行重組,形成大尺度因子帶,在對調(diào)制域系數(shù)進行量化和熵編碼時,同一大尺度因子帶共用一個量化器和/或熵編碼器,從而充分利用了信號的調(diào)制域特性,提高了壓縮比率。
如圖1所示,為本發(fā)明的快變音頻信號編碼方法流程圖,該方法包括如下步驟步驟1、對快變音頻信號進行時頻映射處理,得到該音頻信號的頻域系數(shù);步驟2、對該頻域系數(shù)進行頻域-調(diào)制域映射處理,得到調(diào)制域系數(shù);步驟3、根據(jù)調(diào)制域系數(shù)得到調(diào)制窗,在每個調(diào)制窗內(nèi),根據(jù)頻率順序組織調(diào)制域系數(shù);步驟4、在每個調(diào)制窗中,劃分尺度因子帶;步驟5、對各調(diào)制窗的尺度因子帶進行重組,形成大尺度因子帶;步驟6、對調(diào)制域系數(shù)進行量化和熵編碼,得到編碼后的音頻碼流。
下面對上述步驟的具體實現(xiàn)進行詳細說明。
時頻映射可采用MDCT、FFT、離散傅里葉變換(DFT)、小波變換等時域-頻域變換方法。下面以MDCT為例,說明時頻映射過程。
若每幀數(shù)據(jù)為1024點,則采用2048點的MDCT(包括1024點當前幀數(shù)據(jù)和1024點前一幀數(shù)據(jù)),將線性PCM信號變換到頻域,獲得1024點頻域系數(shù)。2048點MDCT變換可定義為X(m)=Σk=02N-1w(k)x(k)cos(2k+1+N)(2m+1)π4N,m=0,…,N-1---(1)]]>式中N幀長=1024X(m)MDCT頻譜系數(shù)m頻譜系數(shù)索引x(k)輸入序列k樣本索引w(k)第k個窗函數(shù)系數(shù),窗函數(shù)的公式如下w(k)=cos(π2×(k+0.5N-0.94×sin(2×πN×(k+0.5)))/(2×π)),k=0,1,L,N-1,w(k)=w(2N-1-k)]]>MDCT的輸入序列和IMDCT的輸出序列有50%的重疊(overlap),即N個樣本。在IMDCT中,相鄰輸出塊的重疊部分進行疊加。
然后對頻域系數(shù)進行多分辨率分析,對輸入的頻域數(shù)據(jù)進行時-頻域的重新組織,以頻率精度的降低為代價提高頻域數(shù)據(jù)的時間分辨率,從而自動適應(yīng)快變類型信號的時頻特性。
多分辨率分析包括頻域系數(shù)變換和重組,其中通過頻域-調(diào)制域映射將頻域系數(shù)變換為調(diào)制域系數(shù),該調(diào)制域系數(shù)為時頻平面的系數(shù);然后通過重組將調(diào)制域系數(shù)按照一定的規(guī)則進行分組。
頻域-調(diào)制域映射可采用頻域小波變換或頻域短MDCT變換,下面以短MCDT變換說明頻域-調(diào)制域映射過程。
先按頻率順序組織頻域系數(shù),然后按頻率順序采用128個16點(包括8個點的重疊)短MDCT進行頻域多分辨率變換,獲得1024個頻率-調(diào)制域系數(shù)。在進行短MDCT時,以8為間隔進行16階短MDCT變換,每次短MDCT變換的前8個譜系數(shù)為上一次變換輸入的譜系數(shù),每個短MDCT變換獲得8個調(diào)制域系數(shù)。短MDCT的計算公式如下V_m(k)=Σn=0Ns-1win_m(n)*xm,ncos(2πNs(n+n0)(k+12)),0≤k≤Ns2-1---(2)]]>n0=(N/2+1)/2Ns=16其中n樣本序號;m第m個MDCT;k該組系數(shù)的譜序號;Ns樣本數(shù);win_m(n)正弦窗系數(shù),如下確定(1)win_m(n)=sin(pi/Ns*(n+0.5)) n=0...15,0<m<127(2)win_0(0...3)=0win_0(4...7)=1win_0(n)=sin(pi/Ns*(n+0.5)) n=8...15(3)win_127(n)=sin(pi/Ns*(n+0.5))n=0...7win_127(8...11)=1win_127(12...15)=0在計算調(diào)制域系數(shù)后,將調(diào)制域系數(shù)組織成調(diào)制窗,在每個調(diào)制窗內(nèi),根據(jù)頻率順序組織調(diào)制域系數(shù)。如圖2所示,為組織調(diào)制域系數(shù)示意圖,將上述的通過8點短MDCT獲得的1024個調(diào)制域系數(shù)按8個調(diào)制窗進行組織,獲得短MDCT變換的8個調(diào)制窗,每個調(diào)制窗內(nèi)有128個調(diào)制域系數(shù);在每個調(diào)制窗中,128個系數(shù)按頻率順序組織。
如圖3所示,為劃分尺度因子帶示意圖。在每個調(diào)制窗中,按照人耳聽覺頻率分辨率,如BARK刻度或ERB刻度,將頻率劃分為多個尺度因子帶,每個尺度因子帶為一個基本的編碼單元,帶中的系數(shù)共用一個量化器和熵編碼器。
如圖4所示,為重組尺度因子帶示意圖。在劃分尺度因子帶后,根據(jù)當前編碼信號的特性,例如能量、方差和平穩(wěn)度(也稱峭度)等,對如上獲得的尺度因子帶進行重組,將性質(zhì)相同或相似的尺度因子帶組織在一起,形成一個或多個大尺度因子帶,每個大尺度因子帶中的各尺度因子帶稱為該大尺度因子帶的子帶。對調(diào)制域系數(shù)進行量化和熵編碼時,每個大尺度因子帶的各子帶共用一個量化器和/或熵編碼器。通過更充分的組織尺度因子帶,將性質(zhì)相同或相似的系數(shù)組織在一起編碼,有效的提高了快變信號的編碼效率并顯著提升了編解碼器的性能。
量化可以是標量量化或矢量量化。標量量化主要是利用尺度因子對調(diào)制域系數(shù)進行量化,每個大尺度因子帶所包含的各子帶采用同一尺度因子,標量量化包括以下步驟對所有尺度因子帶中的調(diào)制域系數(shù)進行非線性壓擴;再利用每個大尺度因子帶的尺度因子對該大尺度因子帶包含的各子帶的調(diào)制域系數(shù)進行量化,得到整數(shù)表示的量化譜;選擇每幀信號中的第一個尺度因子作為公共尺度因子;其它尺度因子與其前一個尺度因子進行差分處理。
矢量量化包括以下步驟將調(diào)制域系數(shù)構(gòu)成多個多維矢量信號;對于每個矢量都根據(jù)平整因子進行譜平整;根據(jù)主觀感知距離測度準則在碼書中查找與待量化矢量距離最小的碼字,獲得其碼字索引,屬于同一大尺度因子帶的各子帶共用一個碼字。
在經(jīng)過上述量化處理后,利用熵編碼技術(shù)進一步去除量化后的調(diào)制域系數(shù)統(tǒng)計冗余。熵編碼是一種信源編碼技術(shù),其基本思想是對出現(xiàn)概率較大的符號給予較短長度的碼字,而對出現(xiàn)概率小的符號給予較長的碼字,這樣平均碼字的長度最短。根據(jù)Shannon的無噪聲編碼定理,如果傳輸?shù)腘個源消息的符號是獨立的,那么使用適當?shù)淖冮L度編碼,碼字的平均長度n將滿足[H(x)log2(D)]≤n-<[H(x)log2(D)+1N],]]>其中H(x)表示信源的熵,x表示符號變量。由于熵H(x)是平均碼字長度的最短極限,上述公式表明此時碼字的平均長度很接近于它的下限熵H(x),因此這種變長度編碼技術(shù)又成為“熵編碼”。
熵編碼步驟包括對量化譜和差分處理后的尺度因子進行熵編碼,得到碼書序號、尺度因子編碼值和無損編碼量化譜;對碼書序號進行熵編碼,得到碼書序號編碼值。熵編碼時,同一大尺度因子帶內(nèi)的量化譜采用同一碼表,從而可以節(jié)約邊帶信息的比特占用。
或者是對碼字索引進行一維或多維熵編碼,得到碼字索引的編碼值。
上述的熵編碼方法可采用現(xiàn)有的Huffman編碼、算術(shù)編碼或游程編碼等方法中的任一種。
經(jīng)過量化和熵編碼處理后,得到編碼后的音頻碼流;尺度因子帶的組織方式、尺度因子及熵編碼模式(如Huffman書序號)作為控制信息傳輸,將音頻碼流與控制信息一起進行復(fù)用得到壓縮音頻碼流。
當采用上述方法對快速音頻信號編碼后,在解碼時,對碼流中的緩變信號還可按照專利申請PCT/CN2004/001034、PCT/CN2005/000440、PCT/CN2005/000441、200410046153及200410046154中的方法,對于快變信號需要按照本發(fā)明的快變信號解碼方法進行解碼。如圖5所示,為本發(fā)明的快變信號解碼方法流程圖,該方法包括如下步驟步驟A、根據(jù)音頻碼流控制信息中的尺度因子帶組織方式及熵編碼方式信息,對音頻信號進行熵解碼,得到調(diào)制域系數(shù)的量化值;尺度因子帶的組織方式、尺度因子和熵編碼模式(如Huffman書序號)作為控制信息傳輸,在熵解碼時,先根據(jù)尺度因子帶的組織方式和熵編碼模式確定熵解碼方式,對碼流進行熵解碼。
步驟B、根據(jù)控制信息中的尺度因子帶組織方式及尺度因子信息,對調(diào)制域系數(shù)的量化值進行逆量化,得到逆量化調(diào)制域系數(shù);步驟C、對逆量化調(diào)制域系數(shù)在時頻平面進行重組,然后進行調(diào)制域-頻域映射處理,得到頻域系數(shù);當編碼端提供多種頻域-調(diào)制域映射處理方法時,解碼端要采用相應(yīng)的逆映射方法進行處理,可將編碼時采用的頻域-調(diào)制域映射處理方法編碼到碼流的控制信息中,解碼端根據(jù)該控制信息選擇相應(yīng)的逆映射方法進行處理,得到頻域系數(shù)。
先將調(diào)制域系數(shù)在時頻平面按照一定的規(guī)則重組,再對調(diào)制域系數(shù)進行調(diào)制域-頻域映射,得到頻域系數(shù)。重組的方法可以包括先將調(diào)制域系數(shù)在頻率方向組織,每個頻帶中的系數(shù)在時間方向組織,然后將組織好的系數(shù)按照調(diào)制窗、尺度因子帶的順序排列。當采用公式(2)進行頻域-調(diào)制域映射處理時調(diào)制域-頻域處理要采用短IMDCT方式,根據(jù)如下公式進行xm,n=2Nswin_m(n)Σk=0N2-1V_m(k)cos(2πNs(n+n0)(k+12)),0≤n≤Ns,n0=(N/2+1)/2,Ns=16---(4)]]>式中的各變量定義與公式(2)相同。
步驟D、對頻域系數(shù)進行頻時映射處理,得到時域音頻信號。
當編碼端提供多種時頻映射處理方法時,解碼端要采用相應(yīng)的逆映射方法進行處理,可將編碼時采用的時頻映射處理方法編碼到碼流的控制信息中,解碼端根據(jù)該控制信息選擇相應(yīng)的逆映射方法進行處理,得到時域信號。
當采用公式(1)進行時頻映射時,頻時映射要采用IMDCT方式,根據(jù)如下公式進行x(k)=w(k)2NΣm=0N-1X(m)cos(2k+1+N)(2m+1)π2N,k=0,…,2N-1---(3)]]>式中的各變量定義與公式(1)相同。
由于MDCT的輸入序列有50%的重疊(overlap),因此IMDCT的輸出序列也有50%重疊,即N個樣本。在IMDCT中,相鄰輸出塊的重疊部分進行疊加,以得到時域音頻信號。
最后應(yīng)當說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制;盡管參照較佳實施例對本發(fā)明進行了詳細的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當理解,依然可以對本發(fā)明的具體實施方式
進行修改或者對部分技術(shù)特征進行等同替換;而不脫離本發(fā)明技術(shù)方案的精神,其均應(yīng)涵蓋在本發(fā)明請求保護的技術(shù)方案范圍當中。
權(quán)利要求
1.一種快變音頻信號的編碼方法,其特征在于,該方法包括以下步驟步驟1、對快變音頻信號進行時頻映射處理,得到該音頻信號的頻域系數(shù);步驟2、對該頻域系數(shù)進行頻域-調(diào)制域映射處理,得到調(diào)制域系數(shù);步驟3、根據(jù)調(diào)制域系數(shù)得到調(diào)制窗,在每個調(diào)制窗內(nèi),根據(jù)頻率順序組織調(diào)制域系數(shù);步驟4、在每個調(diào)制窗中,劃分尺度因子帶;步驟5、對各調(diào)制窗的尺度因子帶進行重組,形成大尺度因子帶;步驟6、對調(diào)制域系數(shù)進行量化和熵編碼,得到編碼后的音頻碼流。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟1中的時頻映射處理為修正離散余弦變換或快速傅里葉變換。
3.根據(jù)權(quán)利要求1-2任一所述的方法,其特征在于,在所述步驟1和步驟2之間還包括按頻率順序組織所述頻域系數(shù)。
4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述的頻域-調(diào)制域映射處理為短修正離散余弦變換或小波變換。
5.根據(jù)權(quán)利要求1-4任一所述的方法,其特征在于,所述步驟4具體為在每個調(diào)制窗中,按照人耳聽覺頻率分辨率劃分尺度因子帶。
6.根據(jù)權(quán)利要求1-5任一所述的方法,其特征在于,所述步驟5具體為將性質(zhì)相同或相似的尺度因子帶合并組織為大尺度因子帶。
7.根據(jù)權(quán)利要求1-6任一所述的方法,其特征在于,所述步驟6中的量化是標量量化,具體包括對所有尺度因子帶中的調(diào)制域系數(shù)進行非線性壓擴;再利用每個大尺度因子帶的尺度因子對該大尺度因子帶包含的各子帶的調(diào)制域系數(shù)進行量化,得到整數(shù)表示的量化譜;選擇每幀信號中的第一個尺度因子作為公共尺度因子;其它尺度因子與其前一個尺度因子進行差分處理;所述熵編碼包括對量化譜和差分處理后的尺度因子進行熵編碼,得到碼書序號、尺度因子編碼值及無損編碼量化譜熵編碼時,同一大尺度因子帶內(nèi)的量化譜采用同一碼表;對碼書序號進行熵編碼,得到碼書序號編碼值。
8.根據(jù)權(quán)利要求1-7任一所述的方法,其特征在于,所述步驟6之后,將尺度因子帶的組織方式、尺度因子及熵編碼模式信息作為控制信息傳輸。
9.一種快變音頻信號的解碼方法,其特征在于,該方法包括以下步驟步驟1、根據(jù)音頻碼流控制信息中的尺度因子帶組織方式及熵編碼方式信息,對音頻信號進行熵解碼,得到調(diào)制域系數(shù)的量化值;步驟2、根據(jù)控制信息中的尺度因子帶組織方式及尺度因子信息,對調(diào)制域系數(shù)的量化值進行逆量化,得到逆量化調(diào)制域系數(shù);步驟3、對逆量化調(diào)制域系數(shù)在時頻平面進行重組,然后進行調(diào)制域-頻域映射處理,得到頻域系數(shù);步驟4、對頻域系數(shù)進行頻時映射處理,得到時域音頻信號。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述步驟3中的重組具體包括先將調(diào)制域系數(shù)在頻率方向組織,每個頻帶中的系數(shù)在時間方向組織,然后將組織好的系數(shù)按照調(diào)制窗、尺度因子帶的順序排列。
全文摘要
本發(fā)明涉及一種快變音頻信號的編碼方法,對快變音頻信號進行時頻映射處理,得到頻域系數(shù);對頻域系數(shù)進行頻域-調(diào)制域映射處理,得到調(diào)制域系數(shù);根據(jù)調(diào)制域系數(shù)得到調(diào)制窗,根據(jù)頻率順序組織調(diào)制域系數(shù);在每個調(diào)制窗中劃分尺度因子帶;對尺度因子帶進行重組形成大尺度因子帶;對調(diào)制域系數(shù)量化和熵編碼,得到編碼后的音頻碼流。還涉及一種快變音頻信號的解碼方法,根據(jù)音頻碼流控制信息對音頻信號進行熵解碼及逆量化;對調(diào)制域系數(shù)進行重組,進行調(diào)制域-頻域映射處理及頻時映射處理,得到解碼后的音頻信號。本發(fā)明通過充分組織尺度因子帶,將性質(zhì)相同或相似的系數(shù)組織在一起編碼,可有效提高快變信號的編碼效率并可顯著提升編解碼器的性能。
文檔編號G10L19/00GK1819022SQ20061006581
公開日2006年8月16日 申請日期2006年3月23日 優(yōu)先權(quán)日2006年3月23日
發(fā)明者潘興德, 王磊 申請人:北京東方利優(yōu)科技發(fā)展有限公司