專利名稱:合成子頻帶濾波的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明系關(guān)于一種合成子頻帶濾波的方法及裝置。并且特別地,根據(jù)本發(fā)明的合成子頻帶濾波方法及裝置是應(yīng)用于音頻解碼器中。
背景技術(shù):
由國際標(biāo)準(zhǔn)組織所訂定的MPEG(Motion Pictures Experts Group)音頻信號(hào)標(biāo)準(zhǔn),提供了一個(gè)標(biāo)準(zhǔn)的音頻信號(hào)編/解碼的算法,可大幅降低音頻信號(hào)的傳輸頻寬需求以及提供低失真的信號(hào)質(zhì)量。目前在MPEG中分為Layer I,Layer II以及Layer III三層不同的處理方法,Layer越高則壓縮方法越復(fù)雜。
MPEG音頻信號(hào)標(biāo)準(zhǔn)可分為編碼與解碼兩部分。編碼部分首先以分析子頻帶濾波器(analysis subband filter)將原始的音頻信號(hào)分為32個(gè)子頻帶(subband)的數(shù)據(jù),接著根據(jù)仿真人耳聽覺效應(yīng)的知覺模型(psychoacousticmodel),對(duì)分屬不同頻帶的信號(hào)給予不同的編碼位,將這些信號(hào)加以量化(quantization)。量化后的信號(hào)經(jīng)組幀(framing)后,就成為能被儲(chǔ)存或被傳送的編碼完成的數(shù)據(jù)。
解碼的方法則是和編碼的方法順序相反,編碼后的數(shù)據(jù)首先被解組幀(frame unpacking)。接著以逆量化(re-quantization)的方式得出32個(gè)子頻帶的數(shù)據(jù)。最后,經(jīng)過合成子頻帶濾波器(synthesis subband filter)即可還原出原始的音頻信號(hào)。
MPEG-1 Layer III(MP3)音頻編碼標(biāo)準(zhǔn)的編解碼過程相對(duì)于MPEG-1 LayerI與Layer II的編解碼過程多了兩個(gè)步驟。第一個(gè)是對(duì)經(jīng)過分析子頻帶濾波器后的信號(hào),進(jìn)行修正型離散余弦轉(zhuǎn)換(modified discrete cosinetransform,MDCT)。第二個(gè)是對(duì)量化后的信號(hào)進(jìn)行霍夫曼編碼(Huffmanencoding),以使MPEG-1 Layer III的壓縮率達(dá)到最好。相對(duì)的,在解碼過程中也必須加入進(jìn)行霍夫曼解碼(Huffman decoding)的步驟以及進(jìn)行反向修正型離散余弦轉(zhuǎn)換(inverse modified discrete cosine transform,IMDCT)的步驟。
合成子頻帶濾波是MPEG-1 Layer III解碼過程中的最后一個(gè)步驟?,F(xiàn)有技術(shù)如發(fā)表于ISO/IEC 11172-3 Information Technology中的「具有1.5Mbits/s儲(chǔ)存速度的數(shù)字儲(chǔ)存媒體中針對(duì)動(dòng)畫及相關(guān)音頻的編碼(Coding ofmoving pictures and associated audio for digital storage media at upto about 1.5M bits/s)」,其合成子頻帶濾波的步驟是依序?qū)?8組經(jīng)過IMDCT的子頻帶取樣信號(hào)轉(zhuǎn)換為18組脈碼調(diào)制(pulse code modulation,PCM)信號(hào),即被還原出的音頻信號(hào)。請(qǐng)參閱圖1。圖1是繪示在現(xiàn)有技術(shù)中合成子頻帶濾波的流程圖。
該18組經(jīng)過IMDCT的子頻帶取樣信號(hào)中的每一組信號(hào)皆包含32個(gè)子頻帶取樣信號(hào)。步驟S11是將該組正在被處理中的32個(gè)子頻帶取樣信號(hào)輸入合成子頻帶濾波的方法或裝置。步驟S12是以數(shù)組相乘(matrixing)將該32個(gè)子頻帶取樣信號(hào)轉(zhuǎn)換成64個(gè)轉(zhuǎn)換后的向量(vector)。步驟S13以先進(jìn)先出(first-in first-out,F(xiàn)IFO)的原則將該64個(gè)轉(zhuǎn)換后的向量寫入1024個(gè)內(nèi)定向量V。步驟S14根據(jù)該1024個(gè)內(nèi)定向量V產(chǎn)生一組第一中間向量U。步驟S15將該組第一中間向量U與MPEG規(guī)范提供的512個(gè)窗框系數(shù)(windowcoefficients)相乘,以產(chǎn)生512個(gè)第二中間向量W。步驟S16根據(jù)該512個(gè)第二中間向量W產(chǎn)生32個(gè)PCM信號(hào)。
現(xiàn)有技術(shù)如Konstantinides及Konstantinos等人發(fā)表于IEEE SignalProcessing Letters 1,2(Feb 1994),26-29中的「MPEG音頻編碼的快速子頻帶濾波技術(shù)(Fast Subband Filtering in MPEG Audio Coding)」,其中提出了利用32點(diǎn)離散余弦轉(zhuǎn)換(32-points discrete cosine transform)將該32個(gè)子頻帶取樣信號(hào)轉(zhuǎn)換成32個(gè)轉(zhuǎn)換后的向量的方法,以取代步驟S12中以數(shù)組相乘將該32個(gè)子頻帶取樣信號(hào)轉(zhuǎn)換成64個(gè)轉(zhuǎn)換后的向量的方法。藉此,可以將轉(zhuǎn)換后的向量的數(shù)量減半,原本的1024個(gè)內(nèi)定向量V也可減少為512個(gè)。用以儲(chǔ)存內(nèi)定向量V的緩沖器(buffer)也因此可以節(jié)省一半的儲(chǔ)存空間。本發(fā)明也是采用此32點(diǎn)離散余弦轉(zhuǎn)換的方式來產(chǎn)生轉(zhuǎn)換后的向量。
步驟S14至步驟S16主要是以內(nèi)定向量V和MPEG規(guī)范提供的512個(gè)窗框系數(shù)產(chǎn)生最后的PCM信號(hào)。根據(jù)現(xiàn)有技術(shù)的方法,必須先將內(nèi)定向量V經(jīng)過兩次轉(zhuǎn)換,先后轉(zhuǎn)換為第一中間向量U和第二中間向量W,最后才產(chǎn)生出PCM信號(hào)。然而,這些轉(zhuǎn)換的運(yùn)算復(fù)雜度都很高,不但耗費(fèi)大量的硬件資源也需要大量的運(yùn)算時(shí)間。
因此,本發(fā)明提出一種合成子頻帶濾波的方法及裝置。根據(jù)本發(fā)明的方法及裝置將產(chǎn)生PCM信號(hào)的計(jì)算簡化為內(nèi)定向量V與窗框系數(shù)D的關(guān)系式,解決了現(xiàn)有技術(shù)中運(yùn)算復(fù)雜度太高的問題。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種合成子頻帶濾波的方法及裝置。該方法及裝置是針對(duì)18組信號(hào)執(zhí)行,該18組信號(hào)中的每一組信號(hào)皆包含32個(gè)符合規(guī)范的子頻帶取樣信號(hào)。該規(guī)范提供512個(gè)窗框系數(shù)(D0~D511)。
根據(jù)本發(fā)明的一較佳具體實(shí)施例的合成子頻帶濾波方法及裝置,是依序處理該18組信號(hào),并針對(duì)該組的32個(gè)子頻帶取樣信號(hào)執(zhí)行下列步驟首先利用32點(diǎn)離散余弦轉(zhuǎn)換將該32個(gè)子頻帶取樣信號(hào)轉(zhuǎn)換為32個(gè)轉(zhuǎn)換后的向量V”,并且以先進(jìn)先出的原則將該32個(gè)轉(zhuǎn)換后的向量寫入512個(gè)內(nèi)定向量(V”0~V”511)。接著根據(jù)本發(fā)明提出的一組合成方程式產(chǎn)生32個(gè)PCM信號(hào)(S0~S31)S16=Σi=1,3,5,...,15(-V′′32i)*D32i+16]]>Sj=Σi=0,2,4,...,14V′′32i+16+j*D32i+j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+j]]>for j=0~15S32-j=Σi=0,2,4,...,14(-V′′32i+16+j)*D32i+32-j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+32-j]]>for j=1~15,其中i和j皆為范圍在0到15之間的整數(shù)指標(biāo)。
本發(fā)明的發(fā)明人歸納出該512個(gè)窗框系數(shù)符合下列關(guān)系式D(512-k)=-Dk,其中k為范圍在1到255之間的整數(shù)指標(biāo)。利用這個(gè)特殊的對(duì)稱關(guān)系,用以儲(chǔ)存窗框系數(shù)的內(nèi)存空間可被縮減為現(xiàn)有技術(shù)的一半。此外,根據(jù)上述的合成方程式,產(chǎn)生PCM信號(hào)Sj和S32-j(j=1~15)兩者時(shí)所對(duì)應(yīng)的兩組窗框系數(shù)只有排列方式和正負(fù)號(hào)的差別。如果同時(shí)計(jì)算Sj和S32-j,讀取窗框系數(shù)的次數(shù)可以減少為一半。并且,產(chǎn)生PCM信號(hào)Sj和S32-j(j=1~15)兩者時(shí)所對(duì)應(yīng)的內(nèi)定向量是相同的。因此,同時(shí)計(jì)算Sj和S32-j亦可減少讀取內(nèi)定向量的次數(shù)。
該512個(gè)內(nèi)定向量是儲(chǔ)存于緩沖器之中。依照MPEG-1 Layer III標(biāo)準(zhǔn)的規(guī)定,每次要將轉(zhuǎn)換后的向量寫入內(nèi)定向量前都必須進(jìn)行事前搬移(pre-shift)的步驟,將原先儲(chǔ)存在緩沖器中的內(nèi)定向量往后搬移,以符合先進(jìn)先出(FIFO)的原則。為避免每次要將轉(zhuǎn)換后的向量寫入內(nèi)定向量前所需的海量存儲(chǔ)器搬移,根據(jù)本發(fā)明的方法及裝置配合本發(fā)明中的合成方程式,設(shè)計(jì)出一個(gè)不需要大量搬移的循環(huán)索引(rotating index)緩沖器。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種合成子頻帶濾波的方法,該方法是針對(duì)18組信號(hào)執(zhí)行,該18組信號(hào)中的每一組信號(hào)皆包含32個(gè)符合規(guī)范的子頻帶取樣信號(hào),該規(guī)范提供512個(gè)窗框系數(shù)D0~D511,該方法包含下列步驟(a)依序處理該18組信號(hào),并針對(duì)該組正在被處理中的信號(hào)執(zhí)行下列步驟(a-1)利用32點(diǎn)離散余弦轉(zhuǎn)換將該32個(gè)子頻帶取樣信號(hào)轉(zhuǎn)換為32個(gè)轉(zhuǎn)換后的向量,并且以先進(jìn)先出的原則將該32個(gè)轉(zhuǎn)換后的向量寫入512個(gè)內(nèi)定向量V”0~V”511;以及(a-2)根據(jù)下列合成方程式產(chǎn)生32個(gè)脈碼調(diào)制信號(hào)S0~S31S16=Σi=1,3,5,...,15(-V′′32i)*D32i+16,]]>Sj=Σi=0,2,4,...,14V′′32i+16+j*D32i+j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+j]]>for j=0~15,以及S32-j=Σi=0,2,4,...,14(-V′′32i+16+j)*D32i+32-j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+32-j]]>for j=1~15,其中i和j皆為范圍在0到15之間的整數(shù)指標(biāo)。
根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種合成子頻帶濾波的裝置,該裝置是針對(duì)18組信號(hào)執(zhí)行,該18組信號(hào)中的每一組信號(hào)皆包含32個(gè)符合規(guī)范的子頻帶取樣信號(hào),該規(guī)范提供512個(gè)窗框系數(shù)D0~D511,該裝置包含處理器,該處理器用以依序處理該18組信號(hào),該處理器進(jìn)一步包含轉(zhuǎn)換模塊,該轉(zhuǎn)換模塊利用32點(diǎn)離散余弦轉(zhuǎn)換將該32個(gè)對(duì)應(yīng)于該組正在處理中的信號(hào)的子頻帶取樣信號(hào)轉(zhuǎn)換為32個(gè)轉(zhuǎn)換后的向量,并且以先進(jìn)先出的原則將該32個(gè)轉(zhuǎn)換后的向量寫入512個(gè)內(nèi)定向量V”0~V”511;以及產(chǎn)生模塊,該產(chǎn)生模塊根據(jù)下列合成方程式產(chǎn)生32個(gè)對(duì)應(yīng)于該組正在處理中的信號(hào)的脈碼調(diào)制信號(hào)S16=Σi=1,3,5,...,15(-V′′32i)*D32i+16,]]>
Sj=Σi=0,2,4,...,14V′′32i+16+j*D32i+j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+j]]>for j=0~15,以及S32-j=Σi=0,2,4,...,14(-V′′32i+16+j)*D32i+32-j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+32-j]]>for j=1~15,其中i和j皆為范圍在0到15之間的整數(shù)指標(biāo)。
關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可以通過以下的發(fā)明詳述及所附圖式得到進(jìn)一步的了解。
圖1是繪示在現(xiàn)有技術(shù)中一合成子頻帶濾波的流程圖。
圖2是根據(jù)本發(fā)明的一較佳具體實(shí)施例的合成子頻帶濾波方法的流程圖。
圖3是根據(jù)本發(fā)明的循環(huán)索引緩沖器的操作示意圖。
圖4是根據(jù)本發(fā)明的一較佳具體實(shí)施例的合成子頻帶濾波裝置的方塊圖。
S11~S16流程步驟S21~S24流程步驟40合成子頻帶濾波裝置401處理器401A轉(zhuǎn)換模塊401B產(chǎn)生模塊401C緩沖器 41子頻帶取樣信號(hào)42PCM信號(hào)具體實(shí)施方式
本發(fā)明的主要目的在于提供一種合成子頻帶濾波的方法及裝置,該方法及裝置是針對(duì)18組信號(hào)執(zhí)行,該18組信號(hào)中的每一組信號(hào)皆包含32個(gè)符合一規(guī)范的子頻帶取樣信號(hào),該規(guī)范提供512個(gè)窗框系數(shù)(D0~D511)。于實(shí)際應(yīng)用中,該規(guī)范為MPEG-1 Layer III標(biāo)準(zhǔn)。
請(qǐng)參閱圖2。圖2是根據(jù)本發(fā)明的一較佳具體實(shí)施例的合成子頻帶濾波方法的流程圖。該方法依序處理該18組信號(hào),并針對(duì)該組正在被處理中的子頻帶取樣信號(hào)執(zhí)行步驟S21至步驟S24。步驟S21是將該組正在被處理中的32個(gè)子頻帶取樣信號(hào)輸入合成子頻帶濾波的方法或裝置。步驟S12是以32點(diǎn)離散余弦轉(zhuǎn)換(DCT)將該32個(gè)子頻帶取樣信號(hào)轉(zhuǎn)換成32個(gè)轉(zhuǎn)換后的向量。步驟S2 3是以先進(jìn)先出(FIFO)的原則將該32個(gè)轉(zhuǎn)換后的向量寫入512個(gè)內(nèi)定向量V。步驟S24是根據(jù)本發(fā)明的合成方程式、該512個(gè)內(nèi)定向量V以及該等窗框系數(shù)產(chǎn)生32個(gè)PCM信號(hào)。
接下來的段落首先解釋為何可以用圖2中的步驟S22取代原本圖1中的步驟S12。
步驟S12是根據(jù)MPEG-1 Layer III標(biāo)準(zhǔn)的規(guī)定,以數(shù)組相乘將該32個(gè)子頻帶取樣信號(hào)(Sk,k=0~31)轉(zhuǎn)換成64個(gè)轉(zhuǎn)換后的向量(Vi,i=0~63),計(jì)算的方程式如下Vi=Σk=031Ni,k*Sk,]]>for i=0~63,............(式一)其中Ni,k=cos[π64(2k+1)(i+16)],]]>為MPEG-1 Layer III標(biāo)準(zhǔn)中提供的一個(gè)矩陣。
定義一組向量V’i(i=0~6 3)來取代ViV′i=Vi+48fori=0,1,...,15Vi-16fori=16,17,...,63.]]>............(式二)根據(jù)Ni,k的定義和式二可以將式一改寫為式三和式四V′i=Σk=031cos[π64(2k+1)(i+64)]*Sk,]]>for i=0~15,.........(式三)V′i=Σk=031cos[π64(2k+1)i]*Sk,]]>for i=16~63。.............(式四)已知V’i(i=0~63)符合一關(guān)系式V′32+j=-V′32-jforj=1,2,...,16V′32+j=V′32-jforj=17,18,...,31.]]>............(式五)再定義另一組向量V”i(i=0~31)來取代V’iV′′i=-V′ifori=0,1,...,15V′′i=V′ifori=16,17,...,31.]]>............(式六)根據(jù)式五和式六可以將式三和式四改寫為
V′′i=Σk=031cos[π64(2k+1)i]*Sk,]]>for i=0~31。.........(式七)式七中V”i與Sk的關(guān)系式等同于對(duì)Sk執(zhí)行32點(diǎn)離散余弦轉(zhuǎn)換以產(chǎn)生V”i,并且以該32個(gè)向量V”i可表示該64個(gè)向量Vi。
在接下來的段落中將說明步驟S22至步驟S24的詳細(xì)流程。
在MPEG-1 Layer III規(guī)范中原始定義的合成方程式為Sj=Σi=015Uj+32i*Dj+32i,]]>j=0~31,.........(式八)其中Sj為最后要產(chǎn)生的PCM信號(hào),U為由輸入的子頻帶取樣信號(hào)Sk產(chǎn)生的第一中間向量,D為MPEG-1 Layer III標(biāo)準(zhǔn)提供的窗框系數(shù)。i為范圍在0到15之間的整數(shù)指標(biāo)。
根據(jù)i的奇偶項(xiàng)的差別可將式八改寫為式九Sj=Σi=0,2,4,...,14Uj+32i*Dj+32i+Σi=1,3,5,...,15Uj+32i*Dj+32i,]]>..........(式九)MPEG-1 Layer III中定義的第一中間向量U與該64個(gè)向量Vi的關(guān)系式為U64w+j=V128w+jU64w+32+j=V128w+96+j,]]>.........(式十)其中w為范圍在0到7之間的整數(shù)指標(biāo)。
令i=2w和i=2w+1分別代入式十的兩個(gè)關(guān)系式中,可得到第一中間向量U與該64個(gè)向量Vi的新關(guān)系式U64w+j=V128w+jfori=0,2,4,...,14,U64w+32+j=V128w+96+jfori=1,3,5,...,15,.]]>.........(式十一)根據(jù)式十一,可將式九改寫為Sj=Σi=0,2,4,...,14Vj+64i*Dj+32i+Σi=1,3,5,...,15Vj+32+64i*Dj+32i.]]>..........(式十二)根據(jù)式十二將S1與S31所對(duì)應(yīng)的Vi各自列舉如下S1中對(duì)應(yīng)于偶數(shù)i的ViV1,V128+1,V256+1,V384+1,V512+1,V640+1,V768+1,V896+1S1中對(duì)應(yīng)于奇數(shù)i的ViV64+32+1,V192+32+1,V320+32+1,V448+32+1,V576+32+1,V704+32+1,V832+32+1,V960+32+1
S31中對(duì)應(yīng)于偶數(shù)i的ViV31,V128+31,V256+31,V384+31,V512+31,V640+31,V768+31,V896+31S31中對(duì)應(yīng)于奇數(shù)i的ViV64+32+31,V192+32+31,V320+32+31,V448+32+31,V576+32+31,V704+32+31,V832+32+31,V960+32+31根據(jù)離散余弦轉(zhuǎn)換的對(duì)稱性,可以得到V”i與Vi的關(guān)系為V′′i=-Vi+48i=0~15V′′i=-V48-ii=0~31V′′i=Vi-16i=16~31.]]>..........(式十三)根據(jù)式十三,將S1與S31所對(duì)應(yīng)的V”i各自列舉如下S1中對(duì)應(yīng)于偶數(shù)i的V”iV”17,V”64+17,V”128+17,V”192+17,V”256+17,V”320+17,V”384+17,V”448+17S1中對(duì)應(yīng)于奇數(shù)i的V”iV”32+15,V”96+15,V”160+15,V”224+15,V”288+15,V”352+15,V”416+15,V”480+15S31中對(duì)應(yīng)于偶數(shù)i的V”i-V”17,-V”64+17,-V”128+17,-V”192+17,-V”256+17,-V”320+17,-V”384+17,-V”448+17S31中對(duì)應(yīng)于奇數(shù)i的V”i-V”32+15,-V”96+15,-V”160+15,-V”224+15,-V”288+15,-V”352+15,-V”416+15,-V”480+15在分析S1與S31中的V”i后,可得知S1與S31中對(duì)應(yīng)于偶數(shù)i的V”i只有正負(fù)號(hào)的差別,并且S1與S31中對(duì)應(yīng)于奇數(shù)i的V”i則是完全相同。同樣的,經(jīng)過分析比較后可得知Sj與S(32-j)(j=1~15)中的V”i皆具有此特殊關(guān)系。因此可得到下列方程式Sj=Σi=0,2,4,...,14V′′32i+16+j*D32i+j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+j]]>for j=1~15S32-j=Σi=0,2,4,...,14(-V′′32i+16+j)*D32i+32-j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+32-j]]>for j=1~15...................................................(式十四)
其中i和j皆為范圍在0到15之間的整數(shù)指標(biāo)。
分析S0與S16則可得到下列方程式S0=Σi=0,2,4,...,14V′′32i+16*D32i+Σi=1,3,5,...,15(-V′′32i+16)*D32i]]>S16=Σi=1,3,5,...,15(-V′′32i)*D32i+16]]>....................................(式十五)根據(jù)式十四和式十五,可得到最后的合成方程式S16=Σi=1,3,5,...,15(-V′′32i)*D32i+16]]>Sj=Σi=0,2,4,...,14V′′32i+16+j*D32i+j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+j]]>for j=0~15S32-j=Σi=0,2,4,...,14(-V′′32i+16+j)*D32i+32-j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+32-j]]>for j=1~15,.....................................(式十六)其中i和j皆為范圍在0到15之間的整數(shù)指標(biāo)。
根據(jù)本發(fā)明所提出的合成方程式(式十六),不需要計(jì)算出現(xiàn)有技術(shù)中的第一中間向量和第二中間向量,即可產(chǎn)生該32個(gè)PCM信號(hào)。因此,根據(jù)本發(fā)明所提出的合成方程式的合成子頻帶濾波方法及裝置較現(xiàn)有技術(shù)簡單,并可節(jié)省運(yùn)算時(shí)間和硬件資源。
此外,本發(fā)明的發(fā)明人歸納出該512個(gè)窗框系數(shù)D符合下列關(guān)系式D(512-k)=-Dk,其中k為范圍在1到255之間的整數(shù)指標(biāo)。利用這個(gè)特殊的對(duì)稱關(guān)系,用以儲(chǔ)存窗框系數(shù)的內(nèi)存空間可被縮減為現(xiàn)有技術(shù)的一半。
該等向量V”i是儲(chǔ)存于緩沖器之中。根據(jù)上述的合成方程式(式十六),產(chǎn)生PCM信號(hào)Sj和S32-j(j=1~15)兩者時(shí)所對(duì)應(yīng)的V”i只有正負(fù)號(hào)的差別。因此,同時(shí)計(jì)算Sj和S32-j可減少由緩沖器中讀取V”i的次數(shù)。
根據(jù)D(512-k)=-Dk的關(guān)系式,產(chǎn)生PCM信號(hào)Sj和S32-j(j=1~15)兩者時(shí)所對(duì)應(yīng)的兩組窗框系數(shù)D只有排列方式和正負(fù)號(hào)的差別。如果同時(shí)計(jì)算Sj和S32-j,讀取窗框系數(shù)的次數(shù)也可以減少為一半。
該儲(chǔ)存V”i的緩沖器的大小可能等于512個(gè)V”i的大小或256個(gè)V”i的大小。已儲(chǔ)存于緩沖器中的向量稱為內(nèi)定向量。每次將一組子頻帶取樣信號(hào)轉(zhuǎn)換為32個(gè)轉(zhuǎn)換后的向量V”i后,必須以先進(jìn)先出(FIFO)的原則將該32個(gè)V”i寫入緩沖器中。依照MPEG-1 Layer III標(biāo)準(zhǔn)的規(guī)定,要將V”i寫入緩沖器前都必須將原先儲(chǔ)存在該緩沖器中的向量往后搬移(shift),以符合先進(jìn)先出(FIFO)的原則。為避免每次要將轉(zhuǎn)換后的向量V”i寫入內(nèi)定向量前所需的海量存儲(chǔ)器搬移,根據(jù)本發(fā)明的方法及裝置是配合本發(fā)明中的合成方程式,設(shè)計(jì)了一個(gè)不需要大量搬移的循環(huán)索引(rotating index)緩沖器。在該循環(huán)索引緩沖器中,儲(chǔ)存內(nèi)定向量的位置為固定,根據(jù)本發(fā)明的方法及裝置是改變存取內(nèi)定向量的順序,因此不需要搬移內(nèi)定向量。
請(qǐng)參閱圖3。圖3是根據(jù)本發(fā)明的循環(huán)索引緩沖器的操作示意圖。在此示意圖中假設(shè)該緩沖器是用以儲(chǔ)存512個(gè)V”i。
該緩沖器被分為第一子緩沖器(sub-buffer)與第二子緩沖器。對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量在s為奇數(shù)的情況下是儲(chǔ)存于該第一子緩沖器。若s為偶數(shù),則對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量是儲(chǔ)存于該第二子緩沖器。s為范圍在1到18之間的整數(shù)指標(biāo)。舉例而言,對(duì)應(yīng)于該18組信號(hào)中的第1、3、5、7、9、11、13、15、17組信號(hào)的32個(gè)內(nèi)定向量是儲(chǔ)存于該第一子緩沖器中。對(duì)應(yīng)于該18組信號(hào)中的第2、4、6、8、10、12、14、16、18組信號(hào)的32個(gè)內(nèi)定向量則儲(chǔ)存于該第二子緩沖器中。
該第一子緩沖器和該第二子緩沖器分別具有八個(gè)區(qū)段(section)。每一個(gè)區(qū)段用以儲(chǔ)存該512個(gè)內(nèi)定向量中的32個(gè)內(nèi)定向量。該512個(gè)內(nèi)定向量中對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量是儲(chǔ)存于該第一子緩沖器的第[(s+1) mod 16]/2個(gè)區(qū)段,或是該第二子緩沖器的第[s mod 16]/2個(gè)區(qū)段。舉例而言,對(duì)應(yīng)于該18組信號(hào)中的第1組信號(hào)的32個(gè)內(nèi)定向量V”_1是儲(chǔ)存于該第一子緩沖器的第1個(gè)區(qū)段中。對(duì)應(yīng)于該18組信號(hào)中的第4組信號(hào)的32個(gè)內(nèi)定向量V”_4是儲(chǔ)存于該第二子緩沖器的第2個(gè)區(qū)段中。
在產(chǎn)生對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)脈碼調(diào)制信號(hào)的過程中,當(dāng)該512個(gè)內(nèi)定向量被要求讀取,該第一子緩沖器中的八個(gè)區(qū)段依下列順序被讀取第y個(gè)、第(y-1)個(gè)、...、第1個(gè)、第8個(gè)、第7個(gè)、...、第(y+1)個(gè),其中u等于[(s+1) mod 16]/2。該第二子緩沖器中的八個(gè)區(qū)段依下列順序被讀取第x個(gè)、第(x-1)個(gè)、...、第1個(gè)、第8個(gè)、第7個(gè)、...、第(x+1)個(gè),其中x等于[s mod 16]/2。
請(qǐng)參閱圖4。圖4是根據(jù)本發(fā)明的一較佳具體實(shí)施例的合成子頻帶濾波裝置40的方塊圖。裝置40包含用以依序處理該18組信號(hào)的處理器401。處理器401進(jìn)一步包含轉(zhuǎn)換模塊(converting module)401A、產(chǎn)生模塊(generating module)401B、以及緩沖器401C。
轉(zhuǎn)換模塊401A利用32點(diǎn)離散余弦轉(zhuǎn)換(式七)將該32個(gè)對(duì)應(yīng)于該組正在處理中的信號(hào)的子頻帶取樣信號(hào)41轉(zhuǎn)換為32個(gè)轉(zhuǎn)換后的向量,并且以先進(jìn)先出(FIFO)的原則將該32個(gè)轉(zhuǎn)換后的向量寫入緩沖器401C中的512個(gè)內(nèi)定向量(V”0~V”511)。
產(chǎn)生模塊401B是根據(jù)式十六和儲(chǔ)存于緩沖器401C中的512個(gè)內(nèi)定向量產(chǎn)生32個(gè)對(duì)應(yīng)于該組正在處理中的信號(hào)的PCM信號(hào)42。
合成子頻帶濾波裝置40中的操作方式及原理是與前述的方法(如圖2所示)相同,因此在此不作贅述。
同樣地,于實(shí)際應(yīng)用中,根據(jù)本發(fā)明的合成子頻帶濾波裝置40中的緩沖器401C也可以是本發(fā)明所提出的循環(huán)索引緩沖器。
通過以上較佳具體實(shí)施例的詳述,希望能更加清楚描述本發(fā)明的特征與精神,而并非以上述所揭露的較佳具體實(shí)施例來對(duì)本發(fā)明的范疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排于本發(fā)明所欲申請(qǐng)的權(quán)利要求的范疇內(nèi)。
權(quán)利要求
1.一種合成子頻帶濾波的方法,該方法是針對(duì)18組信號(hào)執(zhí)行,該18組信號(hào)中的每一組信號(hào)皆包含32個(gè)符合規(guī)范的子頻帶取樣信號(hào),該規(guī)范提供512個(gè)窗框系數(shù)D0~D511,該方法包含下列步驟(a)依序處理該18組信號(hào),并針對(duì)該組正在被處理中的信號(hào)執(zhí)行下列步驟(a-1)利用32點(diǎn)離散余弦轉(zhuǎn)換將該32個(gè)子頻帶取樣信號(hào)轉(zhuǎn)換為32個(gè)轉(zhuǎn)換后的向量,并且以先進(jìn)先出的原則將該32個(gè)轉(zhuǎn)換后的向量寫入512個(gè)內(nèi)定向量V”0~V”511;以及(a-2)根據(jù)下列合成方程式產(chǎn)生32個(gè)脈碼調(diào)制信號(hào)S0~S31S16=Σi=1,3,5,...,15(-V′′32i)*D32i+16,]]>Sj=Σi=0,2,4,...,14V′′32i+16+j*D32i+j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+j]]>for j=0~15,以及S32-j=Σi=0,2,4,...,14(-V′′32i+16+j)*D32i+32-j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+32-j]]>for j=1~15,其中i和j皆為范圍在0到15之間的整數(shù)指標(biāo)。
2.根據(jù)權(quán)利要求1所述的方法,其中該規(guī)范為MPEG-1 Layer III標(biāo)準(zhǔn)。
3.根據(jù)權(quán)利要求1所述的方法,其中該512個(gè)窗框系數(shù)符合下列關(guān)系D(512-k)=-Dk,其中k為范圍在1到255之間的整數(shù)指標(biāo)。
4.根據(jù)權(quán)利要求1所述的方法,其中該512個(gè)內(nèi)定向量是儲(chǔ)存于緩沖器之中,該緩沖器被分為第一子緩沖器與第二子緩沖器,對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量在s為奇數(shù)的情況下是儲(chǔ)存于該第一子緩沖器,若s為偶數(shù),則對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量是儲(chǔ)存于該第二子緩沖器,其中s為范圍在1到18之間的整數(shù)指標(biāo)。
5.根據(jù)權(quán)利要求4所述的方法,其中該第一子緩沖器和該第二子緩沖器分別具有八個(gè)區(qū)段,每一個(gè)區(qū)段用以儲(chǔ)存該512個(gè)內(nèi)定向量中的32個(gè)內(nèi)定向量,該512個(gè)內(nèi)定向量中對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量是儲(chǔ)存于該第一子緩沖器的第[(s+1)mod 16]/2個(gè)區(qū)段,或是該第二子緩沖器的第[s mod 16]/2個(gè)區(qū)段。
6.根據(jù)權(quán)利要求5所述的方法,其中于步驟(a-2),在產(chǎn)生對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)脈碼調(diào)制信號(hào)的過程中,當(dāng)該512個(gè)內(nèi)定向量被要求讀取,該緩沖器中第一個(gè)被讀取的區(qū)段是該第一子緩沖器的第[(s+1)mod 16]/2個(gè)區(qū)段及該第二子緩沖器的第[s mod 16]/2個(gè)區(qū)段兩者之|。
7.根據(jù)權(quán)利要求6所述的方法,其中該第一子緩沖器中的八個(gè)區(qū)段依下列順序被讀取第y個(gè)、第(y-1)個(gè)、...、第1個(gè)、第8個(gè)、第7個(gè)、...、第(y+1)個(gè),其中y等于[(s+1)mod 16]/2。
8.一種合成子頻帶濾波的裝置,該裝置是針對(duì)18組信號(hào)執(zhí)行,該18組信號(hào)中的每一組信號(hào)皆包含32個(gè)符合規(guī)范的子頻帶取樣信號(hào),該規(guī)范提供512個(gè)窗框系數(shù)D0~D511,該裝置包含處理器,該處理器用以依序處理該18組信號(hào),該處理器進(jìn)一步包含轉(zhuǎn)換模塊,該轉(zhuǎn)換模塊利用32點(diǎn)離散余弦轉(zhuǎn)換將該32個(gè)對(duì)應(yīng)于該組正在處理中的信號(hào)的子頻帶取樣信號(hào)轉(zhuǎn)換為32個(gè)轉(zhuǎn)換后的向量,并且以先進(jìn)先出的原則將該32個(gè)轉(zhuǎn)換后的向量寫入512個(gè)內(nèi)定向量V”0~V”511;以及產(chǎn)生模塊,該產(chǎn)生模塊根據(jù)下列合成方程式產(chǎn)生32個(gè)對(duì)應(yīng)于該組正在處理中的信號(hào)的脈碼調(diào)制信號(hào)S16=Σi=1,3,5,...,15(-V′′32i)*D32i+16,]]>Sj=Σi=0,2,4,...,14V′′32i+16+j*D32i+j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+j]]>for j=0~15,以及S32-j=Σi=0,2,4,...,14(-V′′32i+16+j)*D32i+32-j+Σi=1,3,5,...,15(-V′′32i+16-j)*D32i+32-j]]>for j=1~15,其中i和j皆為范圍在0到15之間的整數(shù)指標(biāo)。
9.根據(jù)權(quán)利要求8所述的裝置,其中該規(guī)范為MPEG-1 Layer III標(biāo)準(zhǔn)。
10.根據(jù)權(quán)利要求8所述的裝置,其中該512個(gè)窗框系數(shù)符合下列關(guān)系D(512-k)=-Dk,其中k為范圍在1到255之間的整數(shù)指標(biāo)。
11.根據(jù)權(quán)利要求8所述的裝置,其中該512個(gè)內(nèi)定向量是儲(chǔ)存于緩沖器之中,該緩沖器被分為第一子緩沖器與第二子緩沖器,對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量在s為奇數(shù)的情況下是儲(chǔ)存于該第一子緩沖器,若s為偶數(shù),則對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量是儲(chǔ)存于該第二子緩沖器,其中s為范圍在1到18之間的整數(shù)指標(biāo)。
12.根據(jù)權(quán)利要求11所述的裝置,其中該第一子緩沖器和該第二子緩沖器分別具有八個(gè)區(qū)段,每一個(gè)區(qū)段用以儲(chǔ)存該512個(gè)內(nèi)定向量中的32個(gè)內(nèi)定向量,該512個(gè)內(nèi)定向量中對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)內(nèi)定向量是儲(chǔ)存于該第一子緩沖器的第[(s+1)mod 16]/2個(gè)區(qū)段,或是該第二子緩沖器的第[s mod 16]/2個(gè)區(qū)段。
13.根據(jù)權(quán)利要求12所述的裝置,其中該產(chǎn)生模塊在產(chǎn)生對(duì)應(yīng)于該18組信號(hào)中的第s組信號(hào)的32個(gè)脈碼調(diào)制信號(hào)的過程中,當(dāng)該512個(gè)內(nèi)定向量被要求讀取,該緩沖器中第一個(gè)被讀取的區(qū)段是該第一子緩沖器的第[(s+1)mod 16]/2個(gè)區(qū)段及該第二子緩沖器的第[s mod 16]/2個(gè)區(qū)段兩者之|。
14.根據(jù)權(quán)利要求13所述的裝置,其中該第一子緩沖器中的八個(gè)區(qū)段依下列順序被讀取第y個(gè)、第(y-1)個(gè)、...、第1個(gè)、第8個(gè)、第7個(gè)、...、第(y+1)個(gè),其中y等于[(s+1)mod 16]/2。
全文摘要
本發(fā)明為一種合成子頻帶濾波的方法及裝置。根據(jù)本發(fā)明的方法及裝置是針對(duì)18組輸入信號(hào)執(zhí)行。該18組輸入信號(hào)中的每一組輸入信號(hào)皆包含32個(gè)符合規(guī)范的子頻帶取樣信號(hào)。該規(guī)范提供512個(gè)窗框系數(shù)。該方法依序處理該18組信號(hào),并針對(duì)該組正在被處理中的信號(hào)執(zhí)行下列步驟首先利用32點(diǎn)離散余弦轉(zhuǎn)換將該32個(gè)子頻帶取樣信號(hào)轉(zhuǎn)換為32個(gè)轉(zhuǎn)換后的向量,并且以先進(jìn)先出的原則將該32個(gè)轉(zhuǎn)換后的向量寫入512個(gè)內(nèi)定向量,接著根據(jù)本發(fā)明提出的一組合成方程式產(chǎn)生32個(gè)脈碼調(diào)制信號(hào)。
文檔編號(hào)H04N7/24GK1968407SQ200510125429
公開日2007年5月23日 申請(qǐng)日期2005年11月17日 優(yōu)先權(quán)日2005年11月17日
發(fā)明者張志舷, 洪智瑋, 蔡憲明 申請(qǐng)人:廣達(dá)電腦股份有限公司