專利名稱:統一速率音頻處理方法及裝置的制作方法
技術領域:
本發明涉及一種音頻處理方法及裝置背景技術不同速率的音頻數據給后續的聲音信號處理和播放帶來很多問題。隨著計算機技術的普及,出現了許多不同標準的音頻數據格式,一般來說,不同格式音頻數據的速率存在差異,即使相同格式的音頻數據,也可能存在不同速率的音頻數據。一方面隨著人們生活水平的提高,對聲音效果的追求越來越苛刻。基于數字信號處理的降噪、混響、回聲、聲場旋轉、動態均衡、掐波、變調、變速不變調等后繼音效處理成了音頻處理系統必備功能。這些音效處理算法絕大多數與音頻數據速率密切相關,能自適應處理不同速率音頻數據的音效處理算法會復雜化音效處理器結構,大大提高音效處理器成本。另一方面符合AC97(Audio Codec 97)規范的音頻處理芯片占據了絕大部分市場份額,AC97音頻處理芯片存在眾所周知的采樣速率轉換SRC(Sampling Rate Convert)問題。制定AC97規范時,為節約音頻處理器生產成本,AC97音頻處理芯片只支持48kHz音頻數據。有些芯片廠商為了提高芯片的兼容性,采取簡單的插值和抽取算法,SRC輸出后的音頻采樣率為原始信號速率的非整數倍,產生較大的諧波和噪聲,影響聽感。
發明內容
本發明的目的是提供一種將任意速率的音頻數據變換到恒定速率的音頻數據的統一速率音頻處理方法及裝置。它既保留原有音頻的頻譜結構,又解決了AC97音頻控制的采樣速率轉換SRC問題。
本發明的目的是通過下述處理方法及裝置實現的統一速率音頻處理方法(步驟)將輸入音頻數據速率通過插值器的N倍頻部件,使輸入音頻數據速率增加N倍;增加N倍的音頻數據速率再通過插值濾波器進行低通濾波,濾除N-1個頻譜鏡像;把經過插值濾波器的音頻數據速率通過抽取器的抽取濾波器進行低通濾波;然后利用抽取器的M分頻部件將音頻數據速率降到1/M。
為實施上述方法而專門設計的統一速率音頻處理裝置
由N倍頻部件和插值濾波器連接組成的插值器,與由抽取濾波器和M分頻部件連接組成的抽取器,插值濾波器和抽取濾波器連接。
所述插值濾波器是多相子插值濾波器并聯組成。
本發明由于采用了插值器和抽取器相結合的處理方法,能使任意音頻數據速率轉化成符合AC97規范的,能被所有音頻處理器處理的48kHz的音頻數據速率。基于多相子插值濾波器和抽取濾波器的統一速率音頻處理算法從頻譜結構角度保證了最小失真,最大限度保持原有聲音聽感,而且顯著簡化了后續音效處理算法。同時結構簡單,成本低。
圖1是本發明裝置的結構示意圖;圖2是音頻數據輸入插值器前的頻譜結構示意圖;圖3是音頻數據輸出插值器后的頻譜結構示意圖;圖4是音頻數據輸入抽取器前的頻譜結構示意圖(fo≥fi);圖5是音頻數據輸出抽取器后的頻譜結構示意圖(fo≥fi);圖6是音頻數據輸入抽取器前的頻譜結構示意圖(fo<fi);圖7是音頻數據輸出抽取器后的頻譜結構示意圖(fo<fi);圖8是插值器的工作過程中與音頻速率變化相對應的示意圖;圖9是多相子插值濾波器的工作原理與音頻速率變化相對應的示意圖。
具體實施例方式
參照圖1,本發明由插值器1和抽取器4連接構成。插值器1由N倍增部件2和插值濾波器3連接組成,插值濾波器3是由多相子濾波器11并聯而成。抽取器4由抽取濾波器5和M分頻部件6連接組成。它是采用芯片FPGA(Field Programmable Gate Array)開發音頻速率轉換信號處理機,采用多相插值濾波器和抽取濾波器結合的方法,將任意速率的音頻數據轉化成符合AC97規范的能被,所有音頻處理器處理的48kHz的音頻數據。
統一速率音頻處理算法先給出統一速率音頻處理算法結構。現代計算機音頻數據速率既有低于48kHz,也有高于48kHz。從常用音頻數據速率來看,WAV(Wave)是脈沖編碼調制PCM(Pulse Code Modulation)編碼,有11.025kHz、22.05kHz、44.1kHz,MP3是MPEG1 Layer3編碼,解碼后得到PCM編碼數據,音頻數據速率也有22.05kHz、32kHz、44.1kHz、48kHz、96kHz等。簡單的插值和抽取只能改變音頻數據速率的整數倍。通用的采樣音頻數據速率變更算法能以任意有理因子比例改變音頻數據速率,其輸入與輸出的音頻數據速率滿足fo=NMfi---(1)]]>式中fi為輸入音頻數據速率,fo為輸出音頻數據速率,N、M為自然數比例因子。采樣速率的轉化分兩步完成首先通過插值器的N倍頻部件2將輸入音頻數據速率增加到工作頻率速率fm=Nfi,然后利用抽取器的M分頻部件6將數據速率降到fo=fm/M。
對于輸入數據速率為fo=32kHz,如果輸出音頻數據速率符合AC97要求,則輸出音頻數據速率fo要求為fo=48kHz。顯然要求N=3,M=2,fm=96kHz。當然存在N=1的情況,這時統一速率音頻處理算法簡化為抽取器4;當M=1,統一速率處理算法簡化為插值器1。
統一速率音頻處理算法的設計準則就是保持輸入/輸出音頻數據的速率頻譜結構。音頻數據頻譜集中在20Hz~20kHz范圍內,無論增加,還是減小音頻數據速率,保持該頻段內頻譜結構不變,如圖2、圖3所示,圖中有有用頻譜8。
插值濾波器3扮演低通濾波器功能,濾除N-1個頻譜鏡像7,其工作頻率速率為fm,帶寬為fi/2=fm/(2N)。
與插值器1相比較,抽取器4要滿足的頻譜變換功能略為復雜。插值器1音頻數據速率增加,只要濾除N-1個頻譜鏡像7,不存在頻譜混疊現象。抽取器4功能剛好與插值器1功能相反,需要創建出M-1個頻譜鏡像7。分為兩種情況當fo≥fi這種情況比較簡單,不存在頻譜混疊現象,如圖4、圖5所示。
此時抽取濾波器5設計非常簡單,起到低通濾波器的作用,其工作頻率速率為fm,帶寬為fo/2=fm/(2M)≥fi/2,不會損失原有頻譜。
當fo<fi這種情況比較復雜,抽取濾波器5會濾除部分頻譜,如圖6、圖7所示。
事實上,音頻數據速率頻譜集中在20Hz~20kHz范圍內,AC97規范規定的音頻數據速率fo為48kHz,帶寬為24kHz的低通抽取濾波器5足以保留音頻數據速率fi的頻譜,不會對音質產生影響。
多相子插值濾波器9先來考慮N倍頻部件2插值,它首先會在輸入音頻數據速率為fi的低速輸入序列x(n)的相鄰樣本間插入N-1個零值,然后對工作頻率速率為fm=Nfi的高速中間序列xup(n)進行FIR(Finite Impulse Responce)低通濾波獲得N-1個插值數據,最后獲得插值器1輸出序列y(n),頻譜變換滿足圖2、圖3所示要求,處理過程如圖8所示從圖8可以看出, 由圖2、圖3分析可知,插值濾波器3是帶寬為fi/2=fm/(2N)的低通濾波器,其數字截止頻率為ωc=2πfi/2fm=πN---(3)]]>通帶內增益以N取代1,理想的插值低通濾波器系數可以通過逆Fourier變換得到d(k)=12π∫-ππD(ω)ejωπdω=12π∫-π/Nπ/NNejωπdω=sin(πk/N)πk/N---(4)]]>采用Hamming窗進行FIR低通濾波器設計,取窗口長度L=2NK+1,窗口經過因果移位得到低通濾波器h(n)=w(n)d(n-KM) n=0,1,...,L-1 (5)其中w(n)=0.54-0.46cos(2πnL-1)--n=0,1,···,L-1---(6)]]>最后插值器4輸出序列y(n)可以通過中間序列xup(n)與h(n)卷積獲得y(n)=Σk=0L-1h(k)xup(n-k)---(7)]]>在實際算法實現中,序列插零涉及內存分配和釋放等繁瑣操作,而且樣本個數的增加也會顯著增加運算量。仔細分析式(7),采用多相子插值濾波器9可以解決式(7)的計算。由于序列xup(n)是序列x(n)的相鄰樣本間插入N-1個零值獲得,式(7)中n以nN+i(i=0,1,2,...,N-1)代替,k以kN+j(j=0,1,2,...,N-1,k=0,1,2,...,2K-1)代替,則式(7)為y(nN+i)=Σk=02k-1Σj=0N-1h(kN+j)xup(nN+i-kN-j)---(8)]]>定義第i個多相子濾波器9系數和輸出分別為hi(k)=h(kN+i)i=0,1,...,N-1 k=0,1,...,2K-1(9)yi(n)=y(nN+i)i=0,1,...,N-1 n=0,1,...,2K-1(10)
而且xup(nN+i-kN-j)=x(n-k)i=j0i≠j---(11)]]>式(9)、(10)、(11)代入式(8)得多相子插值濾波器9卷積公式為yi(n)Σk=02K-1hi(k)x(n-k)--i=0,1,···,N-1---(12)]]>如果采用一般插值濾波器3,由式(7)可以看出,每計算一個插值點需要2L=2NK次乘法,N個插值點共需2N2K次乘法;如果采用多相子插值濾波器9,由式(12)可以看出,每計算一個插值點需要2K次乘法,N個插值點共需2NK次乘法。多相子插值濾波器9實現節約了N倍計算量。多相子插值濾波器9每輸入一個低速樣本,輸出N個濾波值,如圖9所示。
抽取器4抽取器4比較簡單,經低通抽取濾波器5濾波后,每M個樣本保留1個樣本即可。由插值器1分析可知存在fo≥fi和fo<fi兩種情況,低通濾波器截止頻率不一樣,因此抽取低通濾波器分別為d(k)=sin(πk/M)πk/Mfo≥fisin(πk/N)πk/Nfo<fi---(13)]]>為了降低旁瓣,對低通濾波器采用漢寧Hanning加窗,同時為了保證因果性,還需要進行移位操作。
權利要求
1.一種統一速率音頻處理方法1)將輸入音頻數據速率通過插值器的N倍頻部件,使輸入音頻數據速率增加N倍;2)增加N倍的音頻數據速率再通過插值濾波器進行低通濾波,濾除N-1個頻譜鏡像;3)把經過插值濾波器的音頻數據速率通過抽取器的抽取濾波器進行低通濾波;4)然后利用抽取器的M分頻部件將音頻數據速率降到1/M。
2.為實施權利要求1而專門設計的裝置,其特征在于由N倍頻部件(2)和插值濾波器(3)連接組成的插值器(1),與由抽取濾波器(5)和M分頻部件(6)連接組成的抽取器(4),插值濾波器(3)和抽取濾波器(5)連接。
3.根據權利要求2所述的裝置,其特征在于所述插值濾波器(3)是多相子插值濾波器(11)并聯組成。
全文摘要
一種統一速率音頻處理方法及裝置,是將輸入音頻數據速率通過插值器的N倍頻部件,使其增加N倍;再通過插值濾波器,濾除N-1個頻譜鏡像;然后經抽取濾波器進行低通濾波;最后經M分頻部件將音頻數據速率降到1/M。裝置是由N倍頻部件和插值濾波器連接組成的插值器,與由抽取濾波器和M分頻部件連接組成的抽取器相連接。本發明由于采用了插值器和抽取器相結合的處理方法,使任意音頻數據速率轉化成符合AC97規范的,能被所有音頻處理器處理的48kHz的音頻數據速率。基于多相子插值濾波器和抽取濾波器的統一速率音頻處理算法從頻譜結構角度保證了最小失真,最大限度保持原有聲音聽感,而且顯著簡化了后續音效處理。同時具有結構簡單,成本低。
文檔編號H04R5/04GK1776808SQ20051006185
公開日2006年5月24日 申請日期2005年12月6日 優先權日2005年12月6日
發明者郁發新, 郎曉黎 申請人:浙江大學