專利名稱:音頻編碼裝置、音頻解碼裝置、音頻編碼方法、音頻解碼方法和信息記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種音頻編碼裝置、音頻解碼裝置、音頻編碼方法、音頻解碼方法和信息記錄介質(zhì),其能夠以高質(zhì)量和高速度編碼和解碼音頻信號。
背景技術(shù):
在通信量受限制的條件下進(jìn)行的音頻通信中,必須創(chuàng)新性地使用音頻信號編碼和解碼處理,以便在數(shù)據(jù)最少的情況下以可實(shí)現(xiàn)的最大音頻質(zhì)量
進(jìn)行通信o
一個(gè)這種創(chuàng)新的方向包括有效的利用人聽覺的特性。作為考慮了聽覺的特性的一種音頻編碼方法,例如在日本未審日本專
利申請KOKAI (特開平)公幵No,H7-46137和JIS Std. No.JISX4323中所述的,已知了多種方法,在這些方法中,在將音頻信號轉(zhuǎn)換為頻譜后,將頻譜分為多個(gè)子帶,同時(shí)考慮由聽覺特性得到的關(guān)鍵區(qū)域。
作為結(jié)果,考慮了用于每一個(gè)上述子帶的信號值、掩蔽電平、噪聲等,在計(jì)算了編碼所必需的比特?cái)?shù)之后,進(jìn)行編碼。
然而,在這種方法中,用于計(jì)算編碼所必需的比特?cái)?shù)的過程是復(fù)雜的,并且需要許多計(jì)算步驟。另外,還存在問題是,計(jì)算例如掩蔽電平是重要的。
因此,在執(zhí)行計(jì)算處理的編碼裝置上的負(fù)載變大,存在處理速度變慢的風(fēng)險(xiǎn)。例如,在如移動(dòng)電話的裝置中,有可能實(shí)時(shí)雙向通信會(huì)變得困難。為了避免這種情況,不可避免地招致了成本提高,因?yàn)楸仨殞⑻貏e高性能的計(jì)算設(shè)備包含在編碼裝置中等。
因此,需要這樣的音頻編碼裝置和解碼裝置其能夠在考慮聽覺特性的同時(shí)進(jìn)行實(shí)時(shí)通信,而不存在任何實(shí)際音頻質(zhì)量問題,其使用了通常性能足夠的計(jì)算設(shè)備。
發(fā)明內(nèi)容
考慮到上述情況而設(shè)計(jì)的本發(fā)明的目的是提供一種音頻編碼裝置、音 頻解碼裝置、音頻編碼方法、音頻解碼方法和信息記錄介質(zhì),其能夠以高 質(zhì)量和高速度編碼和解碼音頻信號。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的第一方面的音頻編碼裝置包括以下
存儲(chǔ)單元(9123),其存儲(chǔ)表示由多個(gè)第一頻帶組成的音頻數(shù)據(jù)的每一 個(gè)頻帶的頻率寬度的信息,所述多個(gè)第一頻帶分別與預(yù)定比特?cái)?shù)相關(guān)聯(lián);
離散變換單元(9121),其獲得所述音頻數(shù)據(jù),將所述音頻數(shù)據(jù)從實(shí)時(shí) 域離散變換到頻域,并且計(jì)算表示每一個(gè)頻率的音頻強(qiáng)度的量化值;
最大值計(jì)算單元(9121),其將離散變換得到的頻域音頻數(shù)據(jù)劃分為具 有所述頻率寬度的所述多個(gè)第一頻帶,并且計(jì)算每一個(gè)所劃分的第一頻帶 的所計(jì)算的量化值之中的最大值;
確定單元(9121),其針對每一個(gè)所述第一頻帶,確定用于表示由所述 最大值計(jì)算單元計(jì)算的最大值所必需的比特?cái)?shù)是否超過存儲(chǔ)在所述存儲(chǔ)單 元(9123)中的所述預(yù)定比特?cái)?shù);
調(diào)整單元(9121),其針對每一個(gè)所述第一頻帶,在由所述確定單元確 定所述必需的比特?cái)?shù)超過了所述預(yù)定比特?cái)?shù)的情況下,獲得一個(gè)除數(shù),并 且分別將在該第一頻帶內(nèi)的量化值除以這個(gè)除數(shù),從而調(diào)整所述音頻強(qiáng)度, 其中這個(gè)除數(shù)(表示為2的冪的值)是這樣的值中的最小值當(dāng)用所述最 大值除以該值時(shí),所述必需的比特?cái)?shù)不超過所述預(yù)定比特?cái)?shù);
重新量化單元(9121),其針對具有預(yù)定帶寬的多個(gè)第二頻帶中的每一 個(gè),以預(yù)先確定的精度重新量化由所述離散變換單元計(jì)算的量化值,或者 可替換地,重新量化由所述調(diào)整單元調(diào)整后的量化值;以及
編碼單元(9121),其編碼、關(guān)聯(lián)并輸出由所述調(diào)整單元計(jì)算的所述除 數(shù)和由所述重新量化單元計(jì)算的所述量化值。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的第二方面的音頻解碼裝置包括以下-
接收器(9161),其接收編碼數(shù)據(jù),該數(shù)據(jù)由預(yù)定編碼方法編碼,并由 量化的音頻數(shù)據(jù)和數(shù)值參數(shù)組成,該量化的音頻數(shù)據(jù)的信號強(qiáng)度由針對多 個(gè)第一頻帶中的每一個(gè)而被調(diào)整后的量化值表示,該數(shù)值參數(shù)表示為2的冪,并且與為音頻數(shù)據(jù)配置的多個(gè)設(shè)定的第二頻帶中的每一個(gè)頻帶相關(guān)聯(lián);
解碼單元(9121),其通過使用對應(yīng)于所述預(yù)定編碼方法的解碼方法, 將所述編碼數(shù)據(jù)解碼為所述量化的音頻數(shù)據(jù)和所述數(shù)值參數(shù);
強(qiáng)度恢復(fù)單元(9121),其針對所述多個(gè)第二頻帶中的每一個(gè),將該頻 帶內(nèi)的已解碼的所述量化值乘以與該頻帶相關(guān)聯(lián)的已解碼的所述數(shù)值參
數(shù),從而恢復(fù)所述音頻數(shù)據(jù)的音頻強(qiáng)度;以及
離散逆變換單元(9121),其針對所述多個(gè)第一頻帶中的每一個(gè),將恢 復(fù)強(qiáng)度后的所述音頻數(shù)據(jù)從頻域變換到時(shí)域。
作為本發(fā)明的結(jié)果,可以快速反應(yīng)靈敏的編碼/解碼音頻信號,同時(shí)保 持高音質(zhì)。
在閱讀了以下詳細(xì)說明和附圖后,本發(fā)明的這些目的及其它目的和優(yōu)
點(diǎn)會(huì)變得更顯而易見,其中
圖1顯示了根據(jù)本發(fā)明實(shí)施例的音頻編碼/解碼裝置的結(jié)構(gòu);
圖2A顯示了在MDCT系數(shù)和頻率之間的關(guān)系;圖2B是圖2A —部分
的放大視圖;圖2C是用于解釋中間段(medium-segment)頻帶的圖示;圖
2D是圖2C —部分的放大視圖3是顯示MDCT系數(shù)的比特移位計(jì)算過程的流程圖4A顯示了劃分到中間段頻帶中的音頻信號;圖4B是用于解釋分配
給每一個(gè)中間段頻帶的比特?cái)?shù)的圖示;圖4C顯示了比特移位的MDCT系
數(shù);
圖5A顯示了劃分為三大段頻帶的整個(gè)頻域;圖5B顯示了在重新量化 前的比特移位的MDCT系數(shù)的對數(shù);圖5C顯示了重新量化后的比特移位 的MDCT系數(shù)的對數(shù);
圖6A顯示了第一實(shí)施例中的音頻信號編碼過程;圖6B顯示了音頻信 號解碼過程;
圖7A顯示了第二實(shí)施例中的實(shí)時(shí)域音頻信號;圖7B顯示了動(dòng)態(tài)范圍 調(diào)整前的音頻信號;圖7C顯示了動(dòng)態(tài)范圍調(diào)整后的音頻信號; 圖8是顯示第二實(shí)施例中的動(dòng)態(tài)范圍調(diào)整過程的流程圖;圖9A顯示了第二實(shí)施例中的編碼頻帶和優(yōu)先級;圖9B和9C顯示了 基于優(yōu)先級而編碼的MDCT系數(shù)熵;
圖IO是顯示第二實(shí)施例中的優(yōu)先級決定過程的流程圖; 圖11是顯示第二實(shí)施例中熵編碼過程的流程圖; 圖12A顯示了第二實(shí)施例中的音頻信號處理。圖12B顯示了音頻信號 解碼過程;
圖13是顯示第二實(shí)施例中音頻信號解碼過程的流程圖;及
圖14是顯示第二實(shí)施例中解碼過程的流程圖(繼續(xù)的)。
具體實(shí)施例方式
(實(shí)施例1)
圖l顯示了根據(jù)本發(fā)明的音頻編碼/解碼裝置9111。例如,移動(dòng)電話可 以用于該裝置。音頻編碼/解碼裝置9111起到音頻數(shù)據(jù)編碼裝置的作用,并 還起到編碼音頻數(shù)據(jù)解碼裝置的作用。
音頻編碼裝置9111包括CPU (中央處理單元)9121、 ROM (只讀存 儲(chǔ)器)9123、存儲(chǔ)單元9125、音頻處理單元9141、無線通信單元9161和 輸入接收單元9171。由系統(tǒng)總線9181相互連接它們。系統(tǒng)總線9181是用 于發(fā)送指令和數(shù)據(jù)的發(fā)送通路。
在ROM 9123中存儲(chǔ)了用于音頻編碼/解碼的程序,其使用了下文所述 的處理。
存儲(chǔ)單元9125包括RAM(隨機(jī)存取存儲(chǔ)器)9131和硬盤驅(qū)動(dòng)器9133。 存儲(chǔ)單元9125存儲(chǔ)數(shù)字音頻信號、MDCT系數(shù)、移位比特?cái)?shù)、代碼,以及 下文中將會(huì)說明的小段各自的特性、中間段和大段。
音頻編碼/解碼裝置9111還包括麥克風(fēng)9151、揚(yáng)聲器9153、天線9163 以及操作鍵9173。
麥克風(fēng)9151拾取發(fā)送方用戶的音頻(語聲等),并將其輸入音頻處理 單元9141。揚(yáng)聲器9153輸出由音頻處理單元9141解碼的音頻。天線9163 將從無線通信單元9161輸入的無線信號發(fā)送到通信中的另一方的裝置,并 且還接收從另一方終端發(fā)送的無線信號,并將其輸入到無線通信單元9161。 例如使用了操作鍵9173來從用戶接收用于改變音頻信號頻帶的邊界頻率的
12初始配置值的指令輸入以及用于指定另一方的指令輸入。
作為來自CPU 9121的控制的結(jié)果,音頻處理單元9141、無線通信單 元9161和輸入接收單元9171執(zhí)行各種處理。
借助于在音頻處理單元9141中的A/D轉(zhuǎn)換器(圖中未示出)將輸入到 麥克風(fēng)9151中的音頻轉(zhuǎn)換為數(shù)字音頻信號,例如使用了 16KHz采樣和16-比特量化。
將獲取的數(shù)字音頻信號時(shí)分到多個(gè)部分(幀)中,以進(jìn)行壓縮處理, 隨后由音頻處理單元9141發(fā)送到存儲(chǔ)單元9125。
如下所述,在存儲(chǔ)單元9125中將一幀的信號存儲(chǔ)為段(segment),由 CPU 9121從實(shí)時(shí)域變換到頻域,傳輸?shù)綗o線通信單元9161,并由天線9163 以無線方式發(fā)射。
例如,當(dāng)存儲(chǔ)在存儲(chǔ)單元9125中的幀信號由CPU 9121進(jìn)行了如下所 述的處理之后傳輸?shù)綗o線通信單元9161時(shí),從存儲(chǔ)單元9125中刪除這個(gè) 幀信號數(shù)據(jù)。此外,將來自音頻處理單元9141的下一幀信號存儲(chǔ)在存儲(chǔ)單 元9125中,并且CPU 9121重復(fù)這個(gè)處理序列。以此方式,通過連續(xù)輸入音頻信號,CPU 9121逐步地處理多個(gè)連續(xù)的 幀部分。
作為這個(gè)處理鏈的結(jié)果,可以實(shí)時(shí)地處理信號。
下文中,為了理解的簡單,將假定跨度僅有一幀時(shí)間值的音頻輸入到 麥克風(fēng)9151中來說明本發(fā)明。
例如,由M個(gè)信號值組成的音頻信號的一個(gè)幀被輸入到麥克風(fēng)9151, 由音頻處理單元9141變換為數(shù)字信號x。,…,Xm,p并存儲(chǔ)在存儲(chǔ)單元9125 中。依據(jù)預(yù)先存儲(chǔ)在ROM9123中的程序,CPU9121執(zhí)行隨后的處理。
就是說,CPU 9121將存儲(chǔ)在存儲(chǔ)單元9125中的信號Xo,'",Xm.,裝入CPU 9121的通用寄存器(圖中未示出)中。將實(shí)時(shí)域信號Xo,…,xm-,分別變換為 頻域信號Xo,…,Xm/m,并存儲(chǔ)在通用寄存器中。變換方法可以是用于將實(shí) 時(shí)域信號變換為頻域信號的任意方法。然而,實(shí)施MDCT (改進(jìn)的離散余 弦變換)是理想的,其易于信號的處理,因?yàn)闆]有產(chǎn)生變換后的數(shù)值的虛 數(shù)部。
這些M個(gè)實(shí)時(shí)域信號值對應(yīng)于上述頻域中的M/2個(gè)頻率系數(shù)值。這是因?yàn)槭褂昧薓DCT來進(jìn)行頻率變換。在其它方法中,在實(shí)時(shí)域數(shù)據(jù)值與頻 域數(shù)據(jù)值之間的比值不限于2:1。在這些情況下,可以適當(dāng)?shù)靥鎿Q以下說明 中的添加到頻率系數(shù)最終值后面的數(shù)字。
圖2A示意性地示出了在以這個(gè)方式產(chǎn)生的MDCT系數(shù)與頻率之間的 關(guān)系。圖2B是圖2A—部分的放大。由于MDCT是一類離散頻率變換,因 此將一個(gè)信號值分配給分割頻段的M/2個(gè)小段頻帶的每一個(gè)。如圖所示, 從低頻側(cè)開始計(jì)數(shù),將數(shù)字k指定給k+l小段頻帶,并將信號值Xk分配于 此(其中0《k《M/2-l)。這個(gè)信號值Xk稱為MDCT系數(shù)。
為具有有限時(shí)間長度的單一時(shí)間段進(jìn)行一次MDCT。單個(gè)時(shí)間段稱為 MDCT塊。另外,包含在一個(gè)MDCT塊中的信號值的數(shù)量稱為MDCT級 數(shù)。例如數(shù)值512作為MDCT級數(shù)是理想的。
由于幀是用于進(jìn)行音頻壓縮處理的部分,因此MDCT塊的時(shí)間長度必 須不超過一幀的時(shí)間長度。一幀可以包含多個(gè)MDCT塊。例如一幀包含3 到4個(gè)MDCT塊的情況是理想的。
然而,在這一點(diǎn)上,為了易于理解本發(fā)明, 一幀和一個(gè)MDCT塊會(huì)采 用一一對應(yīng)的方式。換句話說, 一幀會(huì)僅對應(yīng)于一個(gè)MDCT塊。在本實(shí)施 例中,MDCT級數(shù)是M。
根據(jù)前面的圖2A,全部MDCT系數(shù)都示為正值,但應(yīng)該意識到這僅是 為了易于理解本發(fā)明。實(shí)際的MDCT系數(shù)也可以是負(fù)值。與MDCT系數(shù)有
關(guān)的附圖最終僅是為了解釋目的的示意圖。
對于存儲(chǔ)在通用寄存器中的每一個(gè)MDCT系數(shù)Xk( 0《k《M/2-l) , CPU 9121重新附加參考數(shù)字,以便與MDCT系數(shù)相區(qū)別。具體而言,CPU9121 以以下方式用兩個(gè)參考數(shù)字重新區(qū)分每一個(gè)MDCT系數(shù)。
首先,如圖2C所示,將整個(gè)頻域劃分為" MaxRANGE 個(gè)中間段頻帶, 借
助從低頻開始附加區(qū)別數(shù)字l, 2,…"MaxRANGE來將每一個(gè)頻帶相區(qū)分。
CPU9121這樣來劃分頻域使得每一個(gè)中間段頻帶中的中心頻率的對
數(shù)與區(qū)別數(shù)字線性相關(guān)。作為這個(gè)劃分的結(jié)果,中間段頻帶越靠近高頻側(cè),
其頻帶寬度就越寬。在圖2C中示意性的示出了它。
以此方式基于對數(shù)進(jìn)行分割的原因在于,人聽力相對于頻率差的敏感
度隨著頻率變高呈對數(shù)方式減弱。這是這種情況為了發(fā)射由人感知的最高音質(zhì)并且有可能給出有限的通信量,最好是對音頻進(jìn)行處理以便對具有 人聽力敏感的低頻成分的音頻信號進(jìn)行細(xì)致劃分,并且對音頻進(jìn)行處理以 便對于具有高頻成分的音頻信號進(jìn)行寬泛的劃分。結(jié)果,可以減小總體發(fā) 送/接收信息量。
例如,在音頻處理單元9141以采樣頻率16kHz將輸入到麥克風(fēng)9151 中的音頻變換為數(shù)字信號時(shí),理想的是提供ll個(gè)中間段頻帶,這些中間段 頻帶分別具有187.5Hz、 437.5Hz、 687.5Hz、 937.5Hz、 1312.5Hz、 1687.5Hz、 2312.5Hz、 3250Hz、 4625Hz和6500Hz的邊界。
接下來,CPU 9121決定每一個(gè)MDCT系數(shù)所屬的從低頻側(cè)開始計(jì)數(shù)的 中間段頻帶號。在具有附加編號co
RANGE MaxRANGE )的
中間段頻帶中,包括了q("RA恥E)個(gè)MDCT系數(shù)。
如此進(jìn)行,由以下來區(qū)分全部MDCT系數(shù)(1)用于指示它們所屬的 是哪一個(gè)中間段頻帶的數(shù)字"RANCE,和(2)用于指示從低頻側(cè)開始計(jì)數(shù)的 系數(shù)的順序位置的數(shù)字q。在下文中,如圖2D所示,將各個(gè)MDCT系數(shù)表 示為X(co
RANGE, 1),,X( W RANGE,q( 00 RANGE))。
CPU 9121將獲得的MDCT系數(shù)X("畫ge,I), ,X("畫ge,q("
存儲(chǔ)在存儲(chǔ)單元9125中。 (比特移位計(jì)算過程)
如圖3的流程圖所示,CPU 9121隨后獲得MDCT系數(shù)的最大值,確定 要移位的比特?cái)?shù),進(jìn)行比特移位,并僅用確定的比特?cái)?shù)重新計(jì)算MDCT系 數(shù)。而且,為了易于理解,在圖4中顯示了MDCT系數(shù)的一個(gè)示意性實(shí)例。
更具體的,CPU9121將用于區(qū)分中間段頻帶的變量0)RANC5E存儲(chǔ)在內(nèi)部
計(jì)數(shù)器寄存器(圖中未示出)中。
CPU 9121將"range設(shè)定初始值l (步驟S9311)。 CPU 9121從存儲(chǔ)單 元9125將MDCT系數(shù)X(。麵ge,l), ,X("畫ge,q("畫ge))裝入到通用
寄存器(步驟S9313)。接下來,CPU 9121搜索裝入的MDCT系數(shù)之中的
最大的系數(shù)(步驟S9315)。換句話說,在具有從低頻側(cè)計(jì)數(shù)的編號"RAN(JE
的中間段頻帶中獲得其中的MDCT系數(shù)的最大值。這個(gè)最大值應(yīng)表示為
Xmax(" range)。
例如在圖4A的情況下,將整個(gè)頻域分為7個(gè)中間端頻帶,每一個(gè)頻帶的MDCT系數(shù)的最大值Xmax(1)到XMAx(7)是用水平虛線顯示的值。
在存儲(chǔ)于ROM 9123中的程序中,為每一個(gè)中間段頻帶配置了用于表 示MDCT系數(shù)的預(yù)定比特?cái)?shù)。換句話說,在ROM9123中,預(yù)先存儲(chǔ)了用 于指定每一個(gè)中間段頻帶的比特?cái)?shù)的信息。這個(gè)信息也可以存儲(chǔ)在硬盤驅(qū) 動(dòng)器9133中。
由編號"rawe區(qū)分的中間段頻帶的預(yù)先配置的比特?cái)?shù)表示為 GivenBit(co畫ge)。
將GivenBit(co RA^E)配置為隨著各個(gè)中間段頻帶中的中心頻率的變小
而增大的一個(gè)數(shù)值。為了對其進(jìn)行區(qū)分,將其數(shù)值配置為在"RA^E較大時(shí)
較小。這是因?yàn)橥ǔH寺犃Φ撵`敏度在高頻變?nèi)?。換句話說,為了在不降 低音質(zhì)的情況下盡可能的壓縮音頻信號信息量,盡管在人對于音量變化敏 感的低頻域中提高M(jìn)DCT系數(shù)的精度是更好的,但在人不敏感的高頻域中 降低MDCT系數(shù)的相對精度時(shí)的質(zhì)量下降較低。
例如,如由圖4B中的粗水平線所示的,對于在高頻側(cè)的第5到第7個(gè) 中間段頻帶,所分配的比特?cái)?shù)比分配給低頻側(cè)的第1到第4個(gè)中間段頻帶 的比特?cái)?shù)小1。
而且,將所分配的比特?cái)?shù)減小1意味著可表示的數(shù)值范圍減半。這對 應(yīng)于以下事實(shí)即在圖4B的情況下,長度LA和長度LB相等。如果將比 特?cái)?shù)增大l, 2,…等,則可表示的數(shù)值范圍就增大2的一次冪、2的2次
^P、 4 o
CPU 9121在與存儲(chǔ)"ra^e的計(jì)數(shù)器寄存器不同的計(jì)數(shù)器寄存器中存 儲(chǔ)臨時(shí)變量TmpBit。作為初始值,CPU 9121設(shè)定TmpBit=GivenBit( co目證) (步驟S93H)。
變量TmpBit用于確定Xmax( co ,^)是否可以用GivenBit( co range)來表
示,其中XMAX("謹(jǐn)GE)是在具有編號CO畫GE的中間段頻帶中的MDCT系
數(shù)的最大值,GivenBit("RANCjE)是該中間段頻帶的預(yù)先配置的比特?cái)?shù)。在不 可表示Xmax("rance)的情況下,TmpBit就用于確定需要多少比特來使得
Xmax( w range)可表不o
具體的,CPU 9121確定XMAX("RAMjE)是否大于2TmPBit (步驟S9319)。
使用2的冪來進(jìn)行在二進(jìn)制數(shù)之間的比較。嚴(yán)格說來,還需要一個(gè)比特來表示MDCT系數(shù)的符號。然而,這個(gè)事 實(shí)與本發(fā)明的基本特征無關(guān)。為了易于理解本發(fā)明,以下說明中假定MDCT 系數(shù)不會(huì)變?yōu)樨?fù)數(shù)。
如果XMAX("range)大于2TmpBit (步驟S9319;是),就不能用TmpBit 數(shù)量個(gè)比特表示Xmax("ranot),因此將TmpBit增大l (步驟S9321)。在 此情況下,過程返回到步驟S9319。
此外,TmpBit每次迭代都增大1 ,直到Xmax( " range)變?yōu)榭梢杂肨mpBit 數(shù)量個(gè)比特來表示(步驟S9319;否)。
在XMAX("RA恥E)不大于2TmPBit的情況下(步驟S9319;否),CPU 9121
通過用TmpBit減去GivenBit( co RA恥E)來計(jì)算ShiftBit( co步驟S9323 )。
ShiftBit("RAN(jE)是縮短后仍能表示具有編號"RANGE的中間段頻帶的全部
MDCT系數(shù)的比特?cái)?shù)。
例如在圖4B的情況下,對于",證=1到4和"圃ge-7中的毎一個(gè) 頻帶,MDCT系數(shù)的最大值小于可以由所設(shè)定的比特?cái)?shù)GivenBit("RAKGE) 表示的最大值。換句話說,在這些頻帶中,由于MDCT系數(shù)可以用 GivenBit(co,ge)數(shù)量個(gè)比特來表示,該過程到達(dá)步驟S9323,不必經(jīng)過步 驟S9321 。由于TmpBit的值仍然是在步驟S9317中設(shè)定的初始值 GivenBit("range),在步驟S9323中實(shí)際上ShiftBit("raNGE)=0。換句話說, 不縮短用于MDCT系數(shù)的比特?cái)?shù)。
另一方面,對于圖4B中具有"RANGE-5和6的各個(gè)頻帶,MDCT系數(shù) 的最大偟大于可以由所設(shè)定比特?cái)?shù)GivenBit("ra^e)表示的最大值。因此, 在步驟S9319的第一次迭代中的判斷結(jié)果為"是",過程前進(jìn)到步驟S9321。 在本附圖的情況下,如果在步驟S9321中將TmpBit增大l,那么就可以表 示在這些頻帶中的所有MDCT系數(shù)。因此,在步驟S9319的第二次迭代中 的判斷結(jié)果變?yōu)?否",過程前進(jìn)到步驟S9323。由于TmpBit僅在初始值 上增加了l,因此實(shí)際上ShiftBit(
CPU 9121將以此方式獲得的ShiftBit("RAMjE)存儲(chǔ)在存儲(chǔ)單元9125中 (步驟S9325)。這些ShiftBit("RA^E)值對于解碼裝置中的解碼過程是必要 的。
CPU 9121使用在步驟S9313中裝入的MDCT系數(shù)X("rance,I), ,X( " range,q( " range)),以及在步驟S9323計(jì)算的移位比特?cái)?shù)ShiftBit( " range) 計(jì)算經(jīng)比特移位的MDCT系數(shù)XBS(" RANGE, 1),, XBS( w RANGE,q( W RANGE))
(步驟S9327)。換句話說,
XBS(" raNGE,1)=X("隱e,l)/(2八ShiftBit( w謹(jǐn)ge)),
XBS( " range, q( " range))=X( " ra恥e, q( " raNGE))/{2AShiftBit( " range)}
符號A表示指數(shù)。
例如,如圖4B和4C所示,在中間段頻帶1到4和7中,MDCT系數(shù)
在此可用所設(shè)定的比特?cái)?shù)來表示,比特?cái)?shù)Shi旭it("range)是0,因此,通
過除以2的0次冪來計(jì)算比特移位的MDCT系數(shù)。然而,由于2的0次冪 是1,實(shí)際上可以將MDCT系數(shù)的值按原樣設(shè)定為經(jīng)比特移位的MDCT系 數(shù)。
另一方面,在中間段頻帶5和6中,比特?cái)?shù)ShiftBit("畫ge)是1,因 此將在這種中間段頻帶中的MDCT系數(shù)除以2的1次冪(即2),來計(jì)算經(jīng) 比特移位的MDCT系數(shù)。如圖4C所示,將MDCT系數(shù)除以2的結(jié)果是經(jīng) 比特移位的MDCT系數(shù)值減半。
因此,盡管在圖4B中存在其MDCT系數(shù)不能用所設(shè)定的比特?cái)?shù)表示 的頻帶,但在圖4C中可以用所設(shè)定的比特?cái)?shù)來表示整個(gè)頻域的MDCT系 數(shù)。
附帶地,由于在步驟S9327的相除是除以2的冪,因此CPU9121就僅 需進(jìn)行右移位操作(基數(shù)2 (二進(jìn)制)計(jì)算)。
為了通過除法減小特定數(shù)值以便可以用所設(shè)定的比特?cái)?shù)表示它,除數(shù) 的數(shù)值可以是任意參數(shù)。然而,在本實(shí)施例中,將除數(shù)限于2的冪。因此, 由于CPU 9121僅需進(jìn)行右移位操作,因此能夠加速計(jì)算,并能夠減輕處理 量。結(jié)果,提高了音頻編碼/解碼裝置9111的總操作性能。
CPU 9121將經(jīng)比特移位的MDCT系數(shù)XBS("廳^, 1 ), ,XBS(" range,
q("ran(5e))存儲(chǔ)在存儲(chǔ)單元9125中(步驟S9329)。
CPU 9121確定是否已經(jīng)對所有頻帶計(jì)算了經(jīng)比特移位的MDCT系數(shù) (步驟S9331)。如果已經(jīng)對所有頻帶都進(jìn)行了計(jì)算(步驟S9331;是),這 個(gè)計(jì)算過程結(jié)束。如果還有未被計(jì)算的頻帶(步驟S9331;否),就將"rancje
18遞增l (步驟S9333),并且過程返回到步驟S9313。 (重新量化過程)
在上述過程中,麥克風(fēng)9151如實(shí)地拾取作為通過空氣傳播的波的聲音, 并且聲波振幅的量值正比于音頻的響度。
然而,通常人聽力靈敏度的特性傾向于在某種可變程度上,相對于所 有音頻頻率上的聲響度以對數(shù)方式變化。換句話說,人聽力盡管對于柔和 聲音的音量中輕微的差別是敏感的,但對于響亮聲音的音量中的差別不是 非常敏感的。
考慮到這種特性,以統(tǒng)一的精度量化柔和聲音和響亮聲音隨后壓縮音 頻信號未必是高效的。
這是這樣的情況在編碼音頻信號之前,音頻編碼/解碼裝置9111可以 量化音頻信號。例如,可以用相應(yīng)的高精度來量化低音量音頻,可以用相 應(yīng)的低精度來量化高音量音頻。在此的量化指的是用設(shè)定的離散值近似要 量化的量。
然而,在音頻處理單元9141的A/D轉(zhuǎn)換期間,音頻信號已經(jīng)被量化了 一次。為了區(qū)分這些量化,將在此所述的量化成為重新量化。
在下文中,會(huì)參考圖5A、 5B和5C中的示意圖來說明重新量化過程。
圖5A顯示了在步驟S9329存儲(chǔ)于存儲(chǔ)單元9125中的經(jīng)比特移位的 MDCT系數(shù)的對數(shù)與頻率之間的關(guān)系。
依據(jù)預(yù)先存儲(chǔ)在ROM9123中的程序,CPU9121在其內(nèi)部寄存器與存 儲(chǔ)單元9125之間發(fā)送/接收數(shù)據(jù),通過對存儲(chǔ)在寄存器中的數(shù)值執(zhí)行適當(dāng)?shù)?計(jì)算來重新量化該數(shù)據(jù)。
如上所述,通常的人聽力的特性是這樣的盡管對于柔和聲音的音量 中的輕微差別敏感,但人對于響亮聲音的音量中的差別不是非常敏感。這 對于全部頻域都是一樣。然而,根據(jù)頻帶,在上述敏感性/不敏感性的程度 中存在差別。換句話說,人聽力的敏感性在較高頻率減弱,即使在相同的 音量上也是如此。基于這個(gè)事實(shí),為了減小音頻信號中的信息量同時(shí)避免 人感知的音質(zhì)降低,優(yōu)選的對于低頻域以高精度進(jìn)行重新量化,而對于高 頻域可以以低精度也進(jìn)行重新量化。如此進(jìn)行時(shí),為了抑制信息量,優(yōu)選 地將音頻信號分為多個(gè)具有特定帶寬的頻帶,在每一個(gè)單獨(dú)的頻帶內(nèi)使重新量化的精度統(tǒng)一。如果重新量化精度變化得過于精細(xì),則處理就變得復(fù) 雜,并且要處理的信息量實(shí)際上就有可能增大。
而且,已知聽力靈敏度隨著頻率的增加以對數(shù)方式減弱。換句話說, 如果將靈敏度作為縱軸,頻率對數(shù)作為橫軸來繪制曲線圖,則靈敏度就會(huì) 與較高頻率成正比地線性降低。
這是這樣的情況優(yōu)選地在頻率軸上對數(shù)性地分布指定頻帶的邊界的 頻率,這些頻率是用于改變重新量化精度的一個(gè)參數(shù)。
附帶地,在上述比特移位計(jì)算過程中,配置中間段頻帶的邊界,以便 將它們對數(shù)性地分布在頻率軸上。因此,這些中間段頻帶可以用作重新量 化過程的處理單元。
為了提高要在以下說明的熵編碼的壓縮比,優(yōu)選地以與中間段頻帶相 同的方式劃分頻帶,g卩,使其具有對數(shù)性變化的帶寬,其充當(dāng)用于重新量 化過程的處理單元,但其中比中間段頻帶更寬泛地劃分頻帶。如此進(jìn)行時(shí), 充當(dāng)用于重新量化過程的處理單元的頻帶在下文中稱為大段頻帶,其是用 于改變重新量化精度的一個(gè)參數(shù)。方便的是將一個(gè)中間段頻帶,或者可替 換地多個(gè)連續(xù)的中間段頻帶,設(shè)定為一個(gè)大段頻帶。
例如,優(yōu)選地將整個(gè)頻域劃分為約5個(gè)大段頻帶。
然而,與配置了較大數(shù)量的大段頻帶的情況下相比,即使在僅配置了 約3個(gè)大段頻帶的情況下,也并不意味著人感知的音質(zhì)會(huì)變得極差。因此,
本實(shí)施例被配置為包含3個(gè)大段頻帶,稱為低范圍大段、中范圍大段、和
高范圍大段。
就是說,是上限值頻率一半的頻率充當(dāng)中范圍大段與高范圍大段之間
的邊界。所述上限值是一個(gè)有限值,其是基于在音頻處理單元9141中使用 的采樣頻率來確定的;例如,尼奎斯特頻率。換句話說,整個(gè)頻域分為兩 半由合并的低范圍大段和中范圍大段組成的一個(gè)部分,以及由高范圍大 段組成的一個(gè)部分。
另外,低范圍大段采用了從低范圍側(cè)計(jì)數(shù)的第一中間段頻帶。可替換 地,低范圍大段可以采用第一和第二,或者最多第一到第三中間段頻帶。 如此進(jìn)行時(shí),確定這三個(gè)大段頻帶各自的邊界。
出于以下原因,低范圍大段由小編號的(l到3)中間段頻帶組成。就是說,盡管由于音頻信號的特性在低頻部分是顯著的,從而優(yōu)選地以高精 度重新量化低頻部分,但過度加寬低范圍大段與減小音頻信號的信息量的 要求相矛盾。
圖5A, 5B和5C是用于解釋用以將全部頻帶劃分為多個(gè)大段頻帶并進(jìn) 行重新量化的處理。在圖5A中,將頻域劃分為總共7個(gè)中間段頻帶,編號 1到7。
首先,如上所述,CPU9121設(shè)定在中范圍大段與高范圍大段之間的邊 界,以便將整個(gè)頻域等分為兩半。在這一點(diǎn)上,CPU9121設(shè)定一個(gè)中間段 頻帶,或者可替換地設(shè)定多個(gè)連續(xù)的中間段頻帶,等同于設(shè)定一個(gè)大段頻 帶。換句話說,單一中間段頻帶不會(huì)屬于多個(gè)大段頻帶。因此,CPU 9121 將在第五中間段頻帶與第六中間段頻帶之間的邊界設(shè)定為在中范圍大段與 高范圍大段之間的邊界。如此進(jìn)行時(shí),高范圍大段由第六和第七中間段頻 帶組成。
接下來,CPU9121將在低范圍大段與中范圍大段之間的邊界設(shè)定為在 第一中間段頻帶與第二中間段頻帶之間的邊界。在這一點(diǎn)上,CPU9121作 為替代,可以采用在第二中間段頻帶與第三中間段頻帶之間的邊界。
另外,還可以采用在第三中間段頻帶與第四中間段頻帶之間的邊界。 然而,在此情況下,低范圍大段的寬度和中范圍大段的寬度變?yōu)榻葡嗟龋?因此與對于低頻部分以更高精度重新量化的目的是不相容的。
因此,低范圍大段僅由第一中間段頻帶組成,中范圍大段由第二到第 五中間段頻帶組成。
具體而言,重新量化精度取決于分配給每一個(gè)大段頻帶的比特?cái)?shù)。例 如,中范圍大段的重新量化精度比高范圍大段的重新量化精度高相當(dāng)于1 比特的系數(shù),低范圍大段的重新量化精度比中范圍大段的重新量化精度高 相當(dāng)于另一 1比特的系數(shù),將比特?cái)?shù)增大1是以雙倍精度表示相同的量。 圖5B中的每一條水平虛線都說明了這個(gè)事實(shí),其是顯示用于重新量化的標(biāo) 準(zhǔn)MDCT系數(shù)值的線(刻度線)。因此中范圍大段的精度比高范圍大段的精 度高兩倍,低范圍大段的精度比中范圍大段的精度高兩倍。
在重新量化期間,CPU 9121將經(jīng)比特移位的MDCT系數(shù)的對數(shù)與其中 一條刻度線相匹配,例如通過丟棄其小數(shù)部分。圖5B是在重新量化之前;
21圖5C是在重新量化之后。在高范圍大段中,在刻度線之間的間隔較大;就 是說,由于重新量化精度低,數(shù)據(jù)是相當(dāng)平坦的。另一方面,在低范圍大 段和中范圍大段中,由于重新量化精度比較高,在重新量化之后仍存在許 多數(shù)據(jù)變化。
在由CPU 9121從ROM 9123讀出的程序中,指定了用于劃分這些大段 頻帶的過程和用于重新量化的比特?cái)?shù)。依據(jù)該程序,CPU9121讀取存儲(chǔ)在 存儲(chǔ)單元9125中的經(jīng)比特移位的MDCT系數(shù),取其對數(shù),使用為每一個(gè)大 段頻帶所設(shè)定的精度進(jìn)行重新量化,并將結(jié)果(頻譜信息)存儲(chǔ)在存儲(chǔ)單 元9125中。
CPU 9121用預(yù)定編碼方法編碼如上所述獲得的頻譜信息,將其輸入到 無線通信單元9161。無線通信單元9161將編碼數(shù)據(jù)加載到無線信號上,并 經(jīng)由天線9163發(fā)射它。 (編碼過程)
圖6A是解釋音頻編碼/解碼裝置9111的編碼過程的流程圖。 由麥克風(fēng)9151收集人產(chǎn)生的聲音,其被輸入到音頻處理單元9141作 為音頻數(shù)據(jù)。音頻處理單元9141A/D轉(zhuǎn)換該音頻數(shù)據(jù),結(jié)果產(chǎn)生數(shù)字音頻 信號(步驟S9611)。 CPU9121通過計(jì)算MDCT系數(shù),將數(shù)字音頻信號(實(shí) 時(shí)域信號)變換為頻域信號,結(jié)果產(chǎn)生頻譜數(shù)據(jù)(步驟S9613)。 CPU9121 將頻譜數(shù)據(jù)劃分為多個(gè)中間段頻帶(步驟S9615)。 CPU9121獲取每一個(gè)中 間段頻帶的MDCT系數(shù)的最大值(步驟S9617)。
CPU9121按照人聽力的特性將預(yù)定比特?cái)?shù)分配給每一個(gè)中間段頻帶。 對于每一個(gè)中間段頻帶,CPU 9121將所分配的比特?cái)?shù)與在步驟S9617獲得 的MDCT系數(shù)的最大值相比較,并用所分配的比特?cái)?shù)確定用于表示該最大 值所必需的移位比特?cái)?shù)(步驟S9619)。
在存儲(chǔ)于ROM 9123的程序中指定了所述預(yù)定比特?cái)?shù)。 然而,還可以配置為使得例如用戶能夠使用操作鍵9173來改變這個(gè)比 特?cái)?shù)。在此情況下,CPU9121從用戶接收指令輸入以改變該比特?cái)?shù),并用 由接收到的指令輸入指示的值來更新從存儲(chǔ)單元9125讀出的值。
而且,中間段頻帶邊界、大段頻帶邊界和重新量化精度也可以由用戶 指令進(jìn)行重寫。CPU 9121基于在步驟S9619中確定的移位比特?cái)?shù)來計(jì)算經(jīng)比特移位的 MDCT系數(shù)(步驟S9621)。 CPU 9121執(zhí)行除法運(yùn)算,但由于除數(shù)限于2 的冪,因此進(jìn)行右比特移位操作就足夠了。這就實(shí)現(xiàn)了更快速的編碼過程 和CPU9121上較輕的工作負(fù)擔(dān)的優(yōu)點(diǎn)。
CPU 9121計(jì)算所獲得的經(jīng)比特移位的MDCT系數(shù)的對數(shù)(步驟 S9623),將整個(gè)頻域劃分為預(yù)定大段頻帶(步驟S9625),并以預(yù)定精度重 新量化MDCT系數(shù)(步驟S9627 )。
CPU 9121編碼經(jīng)比特移位和重新量化的MDCT系數(shù)和移位比特?cái)?shù)(步 驟S9629)。經(jīng)編碼的信息經(jīng)由無線通信或其它方式發(fā)送到接收裝置。 (解碼過程)
接下來,將說明例如上述的由接收到編碼信息的裝置執(zhí)行的解碼過程。 在本實(shí)施例中,接收裝置也是音頻編碼/解碼裝置9111。總的說來,當(dāng)作為 接收裝置運(yùn)行時(shí),音頻編碼/解碼裝置9111用與上述編碼和發(fā)送過程相反的 一個(gè)過程恢復(fù)音頻信號。
音頻編碼/解碼裝置9111收集經(jīng)由無線通信或其它方式以天線9163發(fā) 射的信息。無線通信單元9161將收集的信息存儲(chǔ)在存儲(chǔ)單元9125中。
換句話說,將經(jīng)編碼的數(shù)據(jù),例如上述的經(jīng)比特移位和重新量化的 MDCT系數(shù)和移位比特?cái)?shù),存儲(chǔ)在存儲(chǔ)單元9125中。
現(xiàn)在將用圖6B所示的流程圖來說明由音頻編碼/解碼裝置9111執(zhí)行的 操作。CPU 9121依據(jù)存儲(chǔ)在ROM 9123中的程序執(zhí)行解碼過程。
使用對應(yīng)于編碼過程中所用的編碼方法的解碼方法。CPU 9121解碼經(jīng) 比特移位和重新量化的MDCT系數(shù)和移位比特?cái)?shù)(步驟S9641 )。
CPU 9121將整個(gè)頻域劃分為所設(shè)定的大段頻帶(步驟S9643)。 CPU 9121以預(yù)定精度為每一個(gè)大段頻帶恢復(fù)經(jīng)比特移位的MDCT系數(shù)的對數(shù) (步驟S9645)。依據(jù)該對數(shù),CPU 9121恢復(fù)經(jīng)比特移位的MDCT系數(shù)(步 驟S9647)。
CPU9121將整個(gè)頻域劃分為多個(gè)所設(shè)定的中間段頻帶(步驟S9649)。 在步驟S9641獲得對應(yīng)于每一個(gè)中間段頻帶的移位比特?cái)?shù)。CPU9121用這 些移位比特?cái)?shù)恢復(fù)MDCT系數(shù)(步驟S9651)。使用乘法運(yùn)算進(jìn)行恢復(fù),但 由于乘數(shù)限于2的冪,CPU9121僅需執(zhí)行左移位操作。由于用單一左移位
23操作實(shí)現(xiàn)了單一乘法運(yùn)算,其優(yōu)點(diǎn)是更快的解碼過程和CPU 9121上較輕的 工作負(fù)擔(dān)。
在以此方式恢復(fù)了頻域的MDCT系數(shù)之后,CPU 9121使用反MDCT 變換將數(shù)字音頻信號從頻域變換到實(shí)時(shí)域(步驟S9653)。音頻處理單元9141 A/D轉(zhuǎn)換所獲得的數(shù)字音頻信號(步驟S9655),并從揚(yáng)聲器9153輸出模擬 音頻信號。如此完成了音頻信號恢復(fù)。 (第二實(shí)施例)
接下來,將說明根據(jù)本發(fā)明第二實(shí)施例的音頻編碼/解碼裝置9111。本 實(shí)施例的存儲(chǔ)單元9125額外存儲(chǔ)用于實(shí)時(shí)域中振幅抑制的移位比特?cái)?shù)、用 于編碼的各頻帶特征量、以及碼長度。
首先,將說明音頻編碼過程。以與第一實(shí)施例相同的方式,由麥克風(fēng) 9151收集的模擬音頻信號經(jīng)由音頻處理單元9141的A/D轉(zhuǎn)換,變?yōu)閿?shù)字 音頻信號,如圖7A所示。例如,該數(shù)字音頻信號是具有16kHz采樣頻率和 16-比特量化的信號。數(shù)字音頻信號存儲(chǔ)在存儲(chǔ)單元9125中。由于麥克風(fēng) 9151的特性,存儲(chǔ)在存儲(chǔ)單元9125中的數(shù)字音頻信號包括直流成分Xdc, 其對于音頻回放而言不是必需的,如圖7A所示。通過使用公知的高通濾波
器或其它技術(shù),消除這種直流成分XDC。
將已經(jīng)從中消除了直流成分的數(shù)字音頻信號劃分為幀,作為壓縮過程 的單元。理想的是在單一幀中包含3到4個(gè)MDCT塊。在這一點(diǎn),為了易 于理解,將假定在一幀中僅包含一個(gè)MDCT塊,如同第一實(shí)施例的情況。
CPU 9121為存儲(chǔ)在存儲(chǔ)單元9125中的每一個(gè)單個(gè)數(shù)字輸入信號分配 信號所屬的幀號,以及用于指示信號值在該幀內(nèi)的順序位置的編號。
CPU 9121讀取存儲(chǔ)在ROM 9123中的程序,并基于其進(jìn)行以下處理。
每一幀都包含M個(gè)輸入信號樣本。如圖7B所示,區(qū)分各個(gè)輸入信號 樣本屬于第0幀的第一個(gè)樣本是xAC(fm=0,0),屬于第0幀的第二個(gè)樣本 是XAc(fm-O,l),…,屬于第0幀的最后一個(gè)樣本是XAc(fo^0,M-l);屬于第 1幀的第一個(gè)樣本是xAC(fm=l,0),,屬于第1幀的最后一個(gè)樣本是 xAC(fm=l,M-l),等等。在圖7B中,作為實(shí)例寫出了樣本XAc(fn^0,0)。
此外,經(jīng)過直流成分xzx:的垂直方向上位移的圖7A所示的輸入信號是 圖7B所示的輸入信號。為了確定是否有必要調(diào)整每一幀的動(dòng)態(tài)范圍,CPU9121為每一幀獲得 包含在相應(yīng)幀中的每一幀的輸入信號的最大振幅。換句話說,求第0幀中 的最大振幅lxMAx(fm-O)l,第l幀中的最大振幅lxMAx(fm-l)l,第2幀中的最 大振幅lxMAx(fm-2)1,…的值。
如圖7B所示,允許的振幅是在由箭頭Y1所示的區(qū)域內(nèi)的那些。換句 話說,將上述設(shè)定的比特?cái)?shù)作為GivenBitAC,允許輸入信號達(dá)到具有在
士2GivenBitA"內(nèi)的振幅的那些信號。添加了指數(shù)中的(-l)項(xiàng),因?yàn)楸仨毷褂靡?br>
個(gè)比特來區(qū)分正/負(fù)。例如10比特的GivenBitAC值是理想的。
每一幀各自的最大振幅由圖7B中的箭頭Y2、 Y3和Y4指示。在該附 圖中,由于在第0幀和第2幀中的最大振幅小于可允許的振幅,就不必調(diào) 整到此的輸入信號的動(dòng)態(tài)范圍。另一方面,由于第1幀中的最大振幅超過 了可允許的振幅,就必須調(diào)整在此的輸入信號的動(dòng)態(tài)范圍。
作為動(dòng)態(tài)范圍調(diào)整的一個(gè)實(shí)例,通過將包含在幀中的輸入信號除以2 的冪,將最大振幅帶入可允許的振幅內(nèi)。CPU9121能夠以高速容易地進(jìn)行 除以2的冪的運(yùn)算。然而,如果使得輸入信號變得不必要的小,就降低了 稍后由解碼裝置恢復(fù)的音頻的音質(zhì)。因此,將在上述除法運(yùn)算中用作除數(shù) 的、是2的冪的數(shù)(數(shù)值參數(shù))取允許最大振幅在可允許振幅內(nèi)的數(shù)之中 的最小值。
例如在圖7B的情況下,在第1幀中的輸入信號的振幅被減半,如圖 7C所示。這意味著除以2的1次冪就足夠了。換句話說,用于第1幀的振 幅調(diào)整的移位比特?cái)?shù)是l。
即使對于未經(jīng)過比特移位的第0幀和第2幀,進(jìn)行除以2^卩1也會(huì)帶 來便利,將用于振幅調(diào)整的移位比特?cái)?shù)視為0。如此進(jìn)行時(shí),以如下方式區(qū) 分消除了直流成分并且調(diào)整了振幅的輸入信號屬于第0幀的第一個(gè)樣本 是xBS,AC(fm=0,0),屬于第0幀的第二個(gè)樣本是XBs,Ac(fn^0,1)…,屬于第0 幀的最后一個(gè)樣本是xBS,AC(fm=0,M-l);屬于第1幀的第一個(gè)樣本是 xBS,AC(fm=l,0),…,屬于第1幀的最后一個(gè)樣本是XBs,Ac(fin-l,M-l)。 (動(dòng)態(tài)范圍調(diào)整過程)
接下來,將用圖8所示的流程圖說明這個(gè)動(dòng)態(tài)范圍調(diào)整的詳細(xì)過程。 通過使原始輸入信號通過公知的高通濾波器,相當(dāng)大地消除了直流成分,將已經(jīng)相當(dāng)大地消除了直流成分的輸入信號存儲(chǔ)在存儲(chǔ)單元9125中。
CPU 9121準(zhǔn)備好其計(jì)數(shù)器寄存器,用于存儲(chǔ)幀判別變量fm,并設(shè)定
611=0作為初始值(步驟S9811)。
CPU 9121將消除了直流成分的輸入信號XAc(fm,0),…,Xac(&i,M-1)從
存儲(chǔ)單元9125裝入通用寄存器(步驟9813)。 CPU 9121比較這些值的絕對
值(換句話說lxAc(fm-O,O)卜…,|xAC(fm=0,M-l)|),并獲得該幀中的樣本的
絕對值的最大衝XMAx(fm)l (步驟S9815)。
在與用于存儲(chǔ)該幀判別變量的計(jì)數(shù)器寄存器不同的計(jì)數(shù)器寄存器中, CPU 9121存儲(chǔ)臨時(shí)變量TmpBit。 CPU 9121設(shè)定TmpBit=GivenBitAC-1作 為初始值(步驟S9817)。該初始值對應(yīng)于在以二進(jìn)制數(shù)表示振幅調(diào)整目標(biāo) 值時(shí)所給出的比特?cái)?shù)。
接下來,在步驟S9819, CPU 9121確定lxMAx(fin)l是否大于2TmpBit (步 驟S9819)。如果大于(步驟S9819;是),TmpBit就增大l,過程再次返回 到步驟S9819。以此方式進(jìn)行,IxMAx(fin)l最終會(huì)變得低于2T—it(步驟S9819; 否)。CPU 9121通過計(jì)算ShiftBit(fin)=TmpBit-GivenBitAC+l,來計(jì)算比特 移位數(shù)ShiftBit(fm)(步驟S9823),并將結(jié)果存儲(chǔ)在存儲(chǔ)單元9125中(步 驟S9825)。
例如在圖7B的第0幀或第2幀的情況下,如果幀中的輸入信號的振幅
從開始就在容限內(nèi)(如果IXMAx(fm)l《2GivenBi""),步驟S9819變?yōu)?否",
ShiftBit(ftn)-O。
另一方面,在圖7B的第1幀的情況下,對于TmpBit的初始值 GivenBitAC-l,步驟S9819變?yōu)?是"。由于當(dāng)在步驟S9821的第一次迭代 中TmpBit增大1時(shí)lx駆(foi)l《2GivenBi1^,步驟S9819的第二次迭代變?yōu)?"否",過程前進(jìn)到步驟S9823。在步驟S9823中,執(zhí)行以下計(jì)算,移位比 特?cái)?shù)變?yōu)?: ShiftBit(fin)
=TmpBit-GivenBitAC+l
={ TmpBit初始值+1}- GivenBitAC+l
={ (GivenBitAC-1)+1} - GivenBitAC+1
=1接下來,CPU9121按照以下等式計(jì)算經(jīng)過比特移位并消除了直流成分 的輸入信號(步驟S9827): xBS'AC(fm,0)=xAC(fm,0)/2shiftBit(fm),
xBS,AC(fm,M-1 )= XAc(fm,M-1 )/2Shi,(fm)
由于除數(shù)限于2的冪,因此CPU 9121每一次除法運(yùn)算就只需進(jìn)行一個(gè)右移 位操作。
CPU9121將以此方式獲得的計(jì)算結(jié)果XBs,Ac(fm,O),…,xBS,AC(fm,M-l) 存儲(chǔ)在存儲(chǔ)單元9125中(步驟S9829)。每一個(gè)值使用一個(gè)比特來區(qū)分正/ 負(fù)。
CPU9121確定是否已經(jīng)完成了對于所有幀的處理(步驟S9831)。在確 定完成了對于所有幀的處理的情況下(步驟S9831;是),動(dòng)態(tài)范圍調(diào)整過 程結(jié)束。在確定尚未完成對于所有幀的處理的情況下(步驟S9831;否), 幀區(qū)分變量fin增大l,用于下一幀的處理(步驟S9833),并且動(dòng)態(tài)范圍調(diào) 整過程返回到步驟S9813。
隨后CPU 9121對于每一個(gè)幀,用MDCT將信號從實(shí)時(shí)域變換到頻域, 確定用于每一個(gè)中間段頻帶的移位比特?cái)?shù),為重新量化每一個(gè)大段頻帶的 數(shù)據(jù),如同第一實(shí)施例中一樣。
隨后,在第一實(shí)施例中,編碼并傳輸整個(gè)頻域的音頻頻譜。與此相對 照,在本實(shí)施例的情況下,新引入了編碼頻帶。而且,CPU9121將整個(gè)頻 域分為幾個(gè)編碼頻帶,并且僅編碼并傳輸屬于推斷其重要性為高的編碼頻 帶的MDCT系數(shù)。既不編碼也不傳輸屬于推斷其重要性為低的編碼頻帶的 MDCT系數(shù)。而且,將在接收側(cè)沒有接收到的編碼頻帶的MDCT系數(shù)視為 0。換句話說,在音頻頻譜中,僅發(fā)送/接收被推斷為重要的部分。
圖9A顯示了在MDCT系數(shù)的對數(shù)與頻率之間的關(guān)系。換句話說,圖 9A是從將特定幀中的輸入信號從實(shí)時(shí)域變換到頻域的結(jié)果獲得的頻譜。
以下說明將假定上述重新量化過程已經(jīng)執(zhí)行了 。
首先,CPU 9121將整個(gè)頻域劃分為多個(gè)編碼頻帶。從低頻側(cè)將頻帶編 號1, 2, 3等連續(xù)地添加給這些編碼頻帶。盡管每一個(gè)編碼頻帶的寬度都 需要比小段頻帶的寬度大,但每一個(gè)編碼頻帶的寬度都不需要與中間段頻
27帶或大段頻帶有任何特定關(guān)聯(lián)。
作為一個(gè)實(shí)例,圖9A中將頻域劃分為7個(gè)編碼頻帶。對于這7個(gè)編碼 頻帶,CPU9121按照預(yù)定標(biāo)準(zhǔn)分別獲得重要性級別,并且按照重要性降低 的順序分配優(yōu)先級。以下說明獲得重要性級別的方式的一個(gè)具體實(shí)例。
在圖9A中,借助于帶圓圈的數(shù)表示優(yōu)先級。例如,第2號編碼頻帶的 優(yōu)先級是第一。這表示在全部編碼頻帶之中CPU 9121會(huì)以最高優(yōu)先級編碼 第2號頻帶。以相同的方式向下繼續(xù),具有第2優(yōu)先級的頻帶是第1號編 碼頻帶,具有第3優(yōu)先級的頻帶是第7號編碼頻帶,…具有最低優(yōu)先級的 頻帶是第3號編碼頻帶。
引入編碼頻帶并以此方式確定優(yōu)先級的原因在于,因?yàn)樵诒緦?shí)施例中, 采用熵編碼方法作為編碼方法。熵編碼方法的一個(gè)特點(diǎn)是,即使信息壓縮 精度是固定的,壓縮比也是不固定的。換句話說,如果對多個(gè)相同長度的 不同數(shù)據(jù)進(jìn)行熵編碼,存在這樣的情況其中編碼后的碼長度全都不同, 這是因于原始數(shù)據(jù)中數(shù)據(jù)元素出現(xiàn)頻率中的偏移差。就是說,當(dāng)與在信息 壓縮精度中不呈現(xiàn)偏移的其它編碼方法相比時(shí),熵編碼方法會(huì)具有更高的 壓縮比,或者相反地具有更低的比率。通常難以預(yù)先預(yù)測壓縮比,不知道 是否可以實(shí)現(xiàn)高壓縮比,直到實(shí)際執(zhí)行了熵編碼。
在本實(shí)施例中,最大程度上利用了熵編碼方法的優(yōu)點(diǎn),同時(shí)考慮到只 要有可能其缺點(diǎn)就不會(huì)造成影響。例如,存在這樣的情況其中,由于例 如通信速率之類的條件,碼長度是有限的。音頻編碼/解碼裝置9111對盡可 能多的編碼頻帶的MDCT系數(shù)進(jìn)行熵編碼。如果碼長度處于該限度內(nèi),就 能夠傳輸大部分信息,且可以以高音質(zhì)對音頻進(jìn)行解碼。在熵編碼后的碼 長度超過了該限度的情況下,以優(yōu)先級降序選擇編碼頻帶,不選擇低優(yōu)先 級的頻帶。結(jié)果,總的碼長度在該限度內(nèi)。由于將音頻信號中對應(yīng)于具有 高優(yōu)先級的編碼頻帶的部分發(fā)送到接收裝置,因此即使是為編碼去除了一 些頻帶,音質(zhì)的降低也能夠保持為最小。
例如在圖9B中,CPU9121對具有第1到第3優(yōu)先級的頻帶,即第l、 第2和第7編碼頻帶,的MDCT系數(shù)進(jìn)行熵編碼。在總的碼長度小于設(shè)定 的碼長度的情況下,此時(shí)所選擇的編碼頻帶的全部MDCT系數(shù)都能夠發(fā)送 到接收裝置。即使在此條件下,接收裝置也能夠恢復(fù)相對高音質(zhì)的音頻。然而,如果還能夠包括第5號編碼頻帶(具有第4優(yōu)先級的頻帶),且其 MDCT系數(shù)被發(fā)送到接收裝置,則接收裝置應(yīng)能夠獲得更高音質(zhì)的音頻。
因此,如果在碼長度中存在空間(通信容量),則CPU 9121就對具有 第4優(yōu)先級的編碼頻帶的MDCT系數(shù)進(jìn)行熵編碼,如圖9C所示。結(jié)果, 在碼長度超過了設(shè)定的碼長度(通信量)的情況下,CPU9121發(fā)送包含最 大到具有第3優(yōu)先級的編碼頻帶的MDCT系數(shù)的熵編碼的數(shù)據(jù),而不發(fā)送 具有第4優(yōu)先級的頻帶的數(shù)據(jù)。另一方面,在碼長度并未超過設(shè)定的碼長 度的情況下,CPU 9121發(fā)送包含第1到第4編碼頻帶的MDCT系數(shù)的熵編 碼的數(shù)據(jù)。而且,CPU9121還可以對具有下一優(yōu)先級的編碼頻帶的MDCT 系數(shù)進(jìn)行熵編碼,重復(fù)這些步驟。
然而,即使為包含在熵編碼的數(shù)據(jù)中并對應(yīng)于特定單一幀(或MDCT 塊)的編碼頻帶確定了優(yōu)先級,也并不遵循應(yīng)對于不同的幀(或MDCT塊) 以相同的優(yōu)先級對編碼頻帶進(jìn)行熵編碼。如前文所述,熵編碼方法取決于 要編碼的數(shù)據(jù)的本質(zhì)(例如頻譜形狀等),存在獲得了高壓縮比的情況,和 沒有獲得高壓縮比的情況。例如,如果對于特定幀或MDCT塊,對一直到 具有第2優(yōu)先級的編碼頻帶的編碼未超過設(shè)定的碼長度,則對于不同的幀 或MDCT塊, 一直到具有第4優(yōu)先級的編碼頻帶的編碼就有可能超過通信 量限制。因此,通常熵編碼優(yōu)先級對于每一幀都是不同的。
如果接收裝置恢復(fù)能夠?qū)崿F(xiàn)高壓縮比的幀,則通過接收裝置回放的該 幀的音頻會(huì)具有高音質(zhì)。如果接收裝置恢復(fù)不能實(shí)現(xiàn)高壓縮比的幀,則原 始信息量就會(huì)較低;換句話說,僅會(huì)接收一小部分頻譜,因此音質(zhì)會(huì)相對 降低。然而,因?yàn)閺恼麄€(gè)頻譜中優(yōu)先選擇了對于音頻回放而言具有較高重 要性的部分,因此音質(zhì)的降低保持在最小限度。
作為代表性的熵編碼方法的實(shí)例,在此引用了霍夫曼編碼和距離編碼 器(Rangecoder)o (優(yōu)先級確定過程)
接下來,將用圖10所示的流程圖說明用于確定優(yōu)先級的過程。而且, 在以下說明中,采用音頻編碼/解碼裝置9111作為發(fā)送裝置和接收裝置。
在存儲(chǔ)在ROM 9123的程序中預(yù)先指定了關(guān)于將頻域劃分為多少編碼 頻帶的決定,以及關(guān)于邊界頻率設(shè)定為多高的決定。關(guān)于這些決定的信息由發(fā)送側(cè)和接收側(cè)共享。因此,基本上不需要從發(fā)送裝置向接收裝置發(fā)送 與這些決定有關(guān)的信息。
然而,還可以配置為允許發(fā)送裝置的用戶通過操作鍵9173進(jìn)行與編碼 頻帶有關(guān)的配置。在此情況下,可以配置為從發(fā)送裝置發(fā)送與編碼頻帶數(shù) 量及其邊界頻率有關(guān)的信息,來通知接收裝置??商鎿Q地,可以配置為用 戶通過操作鍵9173改變該配置,以使得接收裝置的配置變?yōu)榕c發(fā)送裝置的 配置相同。另外,在發(fā)送裝置或接收裝置允許例如上述的用戶配置的情況 下,配置為將由用戶決定的各種配置值存儲(chǔ)在存儲(chǔ)單元9125中,并且存儲(chǔ) 在ROM 9123中的程序從存儲(chǔ)單元9125讀取所述各種配置值。
依據(jù)預(yù)先決定的每一頻帶的編碼頻帶數(shù)以及邊界頻率的缺省值,可以 配置為缺省值被按照原樣采用,或者其可以根據(jù)幀而變化。另一方面,對 于與將哪一個(gè)優(yōu)先級號分配給哪一個(gè)編碼頻帶有關(guān)的信息,必須在對應(yīng)于 每一幀或MDCT塊的每一個(gè)時(shí)間期間,或者換句話說,為每一個(gè)單一頻譜, 通過優(yōu)先級確定過程來作出決定。
如上所述,CPU 9121已經(jīng)連續(xù)地從低頻側(cè)為各個(gè)編碼頻帶分配了頻帶 號。在這一點(diǎn)上,CPU 9121將頻帶號與優(yōu)先級號相關(guān)聯(lián)。
將區(qū)分用于處理的編碼頻帶的變量(頻帶判別變量)表示為"CRNC。
CPU 9121依據(jù)存儲(chǔ)在ROM9123中的程序,準(zhǔn)備好用于存儲(chǔ)"crncj的計(jì)數(shù) 器寄存器,并設(shè)定初始值"crn(^1 (步驟S1011)。換句話說,從低頻側(cè)連 續(xù)地進(jìn)行這個(gè)處理。
接下來,CPU 9121從存儲(chǔ)單元9123將屬于具有編號coo^ci的編碼頻帶 的全部MDCT系數(shù)X(" crng,1)…X( " CRNG,r(" crng))裝入通用寄存器(步驟 S1013)。
在此,r(cocR^)表示在具有編號cocRNCJ的編碼頻帶內(nèi)的MDCT系數(shù)的 總數(shù)。但如果采用使編碼頻帶與中間段頻帶相同的實(shí)施例,則實(shí)際上就是
f( w CRNG)=q( 00 CRNG)。
在本實(shí)施例中,作為一個(gè)實(shí)例,將屬于特定編碼頻帶的MDCT系數(shù)的 總和作為該編碼頻帶中的總能量,并且總能量越高,則重要性級別就越高。 而且,由于在MDCT系數(shù)中有可能包括負(fù)數(shù),因此優(yōu)選地取MDCT系數(shù)的 平方和。然而,在本實(shí)施例中假定MDCT系數(shù)都是正數(shù),因此簡單地求和。因?yàn)轭l譜特性定性地出現(xiàn)在大能量部分中,諸如例如頻譜峰值部分, 因此這個(gè)重要性級別確定方法是適當(dāng)?shù)摹?br>
CPU 9121計(jì)算具有編號COcRNG的編碼頻帶的總能量g(0)CRNG)(步驟
S1015):
g( " CRNG)= X( " CRNG,l) +".+X( " CRNG,q( W C畫))
CPU 9121將計(jì)算結(jié)果存儲(chǔ)在存儲(chǔ)單元9125中(步驟S1017)。
還可以配置為將通過向計(jì)算的g("cR恥)添加設(shè)定的加權(quán)系數(shù)而獲得的
值作為總能量。在此情況下,考慮這樣的事實(shí)是有益的人聽力對于低頻
聲音是敏感的,添加隨低頻而增大的加權(quán)系數(shù)。例如,將小于500Hz的編 碼頻帶的總能量乘以加權(quán)系數(shù)1.3,將等于或大于500Hz但小于3500Hz的 編碼頻帶乘以加權(quán)系數(shù)U,將等于或大于3500Hz的編碼頻帶乘以加權(quán)系 數(shù)1.0。即使在低頻側(cè)的最低編碼頻帶的能量和在高頻側(cè)的最高編碼頻帶的 能量恰好具有完全相等的數(shù)值,在考慮到人聽力感覺的特性時(shí),低頻側(cè)的 重要性級別是較高的。換句話說,如果碼長度具有限度,通過增加低頻側(cè) 的加權(quán),并隨后進(jìn)行編碼,提高了在接收裝置回放的音頻的質(zhì)量。
而且,改變加權(quán)系數(shù)的邊界頻率與編碼頻帶的邊界頻率不是必須嚴(yán)格 匹配的。在多個(gè)加權(quán)系數(shù)存在于同一編碼頻帶中的情況下,屬于中間段頻 帶的各個(gè)MDCT系數(shù)根據(jù)頻率來乘以加權(quán)系數(shù),隨后可以計(jì)算總能量。
接下來,CPU9121確定是否對所有編碼頻帶的處理都已完成,換句話 說,是否已完成對于高頻側(cè)上最高編碼頻帶的處理(步驟S1019)。如果仍 未完成(步驟S1019;否),就將cocR^增大1,以處理高頻側(cè)上的下一個(gè) 編碼頻帶(步驟S1021),且過程返回到步驟S1013。
如果已完成對于全部編碼頻帶的處理(步驟S1019;是),就將所有編
碼頻帶的總能量g(l)到g("MaxCRNC)存儲(chǔ)到存儲(chǔ)單元9125中。"MaxCRNC是 "CRNG的最大值。CPU9121將全部總能量g(l)到g("MaxCRNG)都裝入通用寄 存器,以降序?qū)ζ渌鼈冞M(jìn)行排列,并以總能量降低的順序配置高優(yōu)先級(步
驟S1023)。優(yōu)先級P的頻帶號表示為"cRMj(P)。
CPU 9121將計(jì)算結(jié)果cocRM3 (P)分別存儲(chǔ)在存儲(chǔ)單元9125中(步驟 S1025)。
而且,還可以對要發(fā)送到接收裝置的一個(gè)幀中的編碼頻帶的總數(shù)設(shè)定
31一個(gè)上限值,僅將優(yōu)先級分配給不超過該上限值的程度。例如,如果在1
幀中有10個(gè)編碼頻帶,且上限值是5,就可以分配第1到第5優(yōu)先級,并 省略第6和以后的優(yōu)先級。 (熵編碼過程)
接下來,會(huì)用圖ll所示的流程圖來詳細(xì)說明熵編碼過程。 首先,CPU9121依據(jù)圖IO所示的過程分別向編碼頻帶分配優(yōu)先級(步 驟Sllll)。
接下來,CPU 9121依據(jù)存儲(chǔ)在ROM 9123中的程序,設(shè)定計(jì)數(shù)器PMAX, 其表示可以對高達(dá)哪一個(gè)優(yōu)先級的編碼頻帶進(jìn)行編碼,并設(shè)定初始值1 (Pmax=1)(步驟S1113)。
接下來,CPU 9121從存儲(chǔ)單元9125裝入對應(yīng)于第1到第PMAX優(yōu)先級 的編碼頻帶的經(jīng)過重新量化和比特移位的MDCT系數(shù)(步驟S1115)。分別 按如下表示MDCT系數(shù)X:
Xqbs( " crng (1), 1),…,Xqbs( " crng (1 ),q( " crng( 1 ))),
XqbS( " crng (PmAX), 1 ),…,Xqbs( " crng (PMAX),q( " CRNG(PmAX)))
下標(biāo)QBS表示MDCT系數(shù)已經(jīng)被重新量化并進(jìn)行了比特移位。
為了在接收裝置上恢復(fù)音頻,移位比特?cái)?shù)也是必需的。與編碼頻帶無 關(guān)地決定在其中使用比特移位的中間段頻帶。因此,CPU9121就必須評估 要編碼的編碼頻帶與中間段頻帶重疊的方式,并為每一個(gè)中間段頻帶獲得
移位比特?cái)?shù)。因此,CPU 9121裝入全部中間段頻帶"RAM3E的移位比特?cái)?shù) ShiftBit(" range),其中這些中間段頻帶與對應(yīng)于第1到第pmax優(yōu)先級的編
碼頻帶重疊。另外,CPU9121裝入在動(dòng)態(tài)范圍調(diào)整過程期間所用的移位比 特?cái)?shù)(步驟S1117)。
接下來,CPU9121對以下進(jìn)行熵編碼(1)經(jīng)過重新量化和比特移位 的MDCT系數(shù)Xqbs, (2)通過比特移位過程獲得的移位比特?cái)?shù),以及(3) 通過動(dòng)態(tài)范圍調(diào)整過程獲得的移位比特?cái)?shù),并計(jì)算獲得的熵編碼數(shù)據(jù)的碼 長度(步驟S1119)。
接下來,CPU 9121確定在步驟S1119所計(jì)算的碼長度是否比預(yù)定碼長 度長(歩驟S1121)。所設(shè)定的碼長度是根據(jù)通信量的限制等等而確定的一
32個(gè)長度。由于溢出等原因,超過該設(shè)定的碼長度的代碼不能被正確發(fā)送到 接收裝置,因此傳輸碼長度必須是或低于設(shè)定的碼長度。
在所計(jì)算的碼長度并未超過設(shè)定的碼長度的情況下(步驟S1121;否), 通信量仍有空間,因此有可能編碼按照優(yōu)先級方式的下一個(gè)編碼頻帶。因
此,將Pmax増大1 (步驟S1123),并且過程返回到步驟S1115。
在所計(jì)算的碼長度超過了設(shè)定的碼長度的情況下(步驟S1121;是),
此時(shí)不能正確發(fā)送最大到具有第PMAX優(yōu)先級的編碼頻帶的信息。然而如果 信息是最大到具有PMAX前一個(gè)優(yōu)先級的編碼頻帶的,它就應(yīng)是或小于設(shè)定
的碼長度。因此,CPU 9121將Pmax減小1 (步驟S1125),將以下作為熵
編碼數(shù)據(jù)(1)對應(yīng)于第1到第PMAX優(yōu)先級的編碼頻帶的經(jīng)過重新量化和
比特移位的MDCT系數(shù),(2)通過比特移位處理獲得的比特?cái)?shù),以及(3) 通過動(dòng)態(tài)范圍調(diào)整過程獲得的移位比特?cái)?shù),并將其存儲(chǔ)在存儲(chǔ)單元9125中
(步驟S1127)。
以此方式產(chǎn)生的熵編碼數(shù)據(jù)變?yōu)榭梢园l(fā)送到接收裝置。
(編碼過程)
圖12A是在根據(jù)本實(shí)施例的音頻編碼/解碼裝置9111作為發(fā)送裝置的 情況下,概括了用于音頻信號編碼處理的過程的概要的圖示。
音頻處理單元9141 A/D轉(zhuǎn)換由麥克風(fēng)9151收集的音頻信號(步驟 S1211),并去除其直流成分(步驟S1213)。
接下來,CPU 9121為每一幀(音頻壓縮的部分)調(diào)整動(dòng)態(tài)范圍(步驟 S1215)。在原始動(dòng)態(tài)范圍大于一個(gè)預(yù)定限度值的情況下,用信號值除以2 的冪,即執(zhí)行右比特移位操作,以減小數(shù)據(jù)量。 一直到這一點(diǎn)的處理都是 在實(shí)時(shí)域中進(jìn)行的。
對于每一幀或MDCT塊,CPU9121都進(jìn)行到頻域的變換(步驟S1217)。
存在離散頻率變換的許多技術(shù),但在本實(shí)施例的情況下,采用了 MDCT。 以與第一實(shí)施例相同的方式,CPU 9121計(jì)算經(jīng)過重新量化和比特移位的 MDCT系數(shù)和移位比特?cái)?shù)。
COU9121確定要進(jìn)行熵編碼的編碼頻帶(步驟S1219)。 CPU9121進(jìn) 行熵編碼(步驟S1221)。 (解碼過程)
33當(dāng)起到接收裝置的作用時(shí),音頻編碼/解碼裝置9111遵循圖12B所示的 過程。這基本上是圖12A中用于編碼處理的過程的反向。
實(shí)際音頻信號是一系列的多個(gè)幀。通過在連續(xù)鏈中執(zhí)行上述的各種步 驟,可以實(shí)時(shí)地回放音頻。這個(gè)技術(shù)自身是已知的,且不是本發(fā)明的要點(diǎn); 因此,在此將說明對1個(gè)幀的處理。
稍后將用圖13和14說明更詳細(xì)的過程;首先,在此將說明解碼過程 的概要。
無線通信單元9161在天線9163接收從發(fā)送裝置發(fā)送的無線電磁波, CPU 9121獲得熵編碼數(shù)據(jù)。
CPU 9121將獲得的熵編碼數(shù)據(jù)存儲(chǔ)在存儲(chǔ)單元9125中。依據(jù)存儲(chǔ)在 ROM9123中的程序,CPU9121解碼所述熵編碼數(shù)據(jù)(步驟S1241)。對于 熵編碼方法有幾種是已知的,例如霍夫曼碼和距離編碼器等,但會(huì)認(rèn)識到 每一種方法都與解碼方法構(gòu)成一對。因此,會(huì)使用與用于在發(fā)送側(cè)的編碼 中及裝置9111中的熵編碼公式構(gòu)成一對的解碼方法。CPU 9121獲得用于音 頻恢復(fù)的必要數(shù)據(jù),例如MDCT系數(shù)和移位比特?cái)?shù)(步驟S1243)。
如上所述,在音頻頻譜的編碼期間,優(yōu)先對被推斷為具有高度重要性 級別的頻帶進(jìn)行編碼。因此,并不總是將頻譜的所有部分都發(fā)送到接收裝 置的情況。CPU9121將音頻頻譜中沒有被發(fā)送的頻帶(換句話說,沒有由 發(fā)送裝置編碼的頻帶的MDCT系數(shù))視為0。
CPU 9121將音頻頻譜從頻域變換到實(shí)時(shí)域(步驟S1245)。將單一頻譜 變換為單一 MDCT塊的實(shí)時(shí)信號。
如上所述,對于實(shí)時(shí)域中的幀(音頻壓縮的部分),優(yōu)選地包括大約3-4 個(gè)塊。然而,為了易于理解本發(fā)明,假定單一幀僅包括單一MDCT塊。
作為由發(fā)送裝置在步驟S1215中執(zhí)行的動(dòng)態(tài)范圍調(diào)整的結(jié)果,有可能 在步驟S1245中獲得的實(shí)時(shí)域音頻信號與原始音頻信號不同。因此,CPU 9121基于來自在步驟S1243中獲得的動(dòng)態(tài)范圍調(diào)整過程的移位比特?cái)?shù),恢 復(fù)動(dòng)態(tài)范圍(步驟S1247)。此時(shí),由于是通過限于2的冪的除法來進(jìn)行該 動(dòng)態(tài)范圍調(diào)整過程(右比特移位操作)的,因此CPU 9121僅需執(zhí)行右比特 移位操作。因此,加速了 CPU 9121的處理,并減輕了處理負(fù)擔(dān)。
音頻處理單元9141 A/D轉(zhuǎn)換獲得的數(shù)字音頻信號,將其轉(zhuǎn)換為模擬音
34頻信號(步驟S1251)。這個(gè)模擬音頻信號由揚(yáng)聲器9153輸出,接收裝置的 用戶能夠收聽到音頻。
接下來,用圖13和14所示的流程圖更詳細(xì)的說明步驟S1243到S1247 的處理。
在步驟S1241, CPU9121熵解碼對應(yīng)于幀fm的以下數(shù)據(jù),并將其存儲(chǔ) 在存儲(chǔ)單元9125中
(1) 對應(yīng)于第1到第pmax優(yōu)先級的頻帶號"CRNG(p) (1《P《PmaX),
(2) 經(jīng)過重新量化和比特移位的MDCT系數(shù)Xqbs("crng(P),I),…, Xqbs( " ,(P),q("薩(P))) (1《P《P匿),
(3) 所有中間段頻帶"RANGE的移位比特?cái)?shù)ShiftBit("RANGE),其中這 些中間段頻帶與對應(yīng)于第1到第PMAX優(yōu)先級的編碼頻帶重疊,
(4) 來自動(dòng)態(tài)范圍調(diào)整的移位比特?cái)?shù)ShiftBit(fin)。
CPU9121依據(jù)存儲(chǔ)在ROM9123中的程序,將用于區(qū)分編碼頻帶的計(jì) 數(shù)器"CRN(5存儲(chǔ)在計(jì)數(shù)器寄存器中,并設(shè)定初始值1 (步驟S1311)。換句 話說,從低頻側(cè)連續(xù)地恢復(fù)頻譜。
接下來,CPU9121確定具有編號cocR^的編碼頻帶是否是發(fā)送裝置中
編碼的目標(biāo)(步驟S1313)。具體而言,給是編碼目標(biāo)的編碼頻帶分配優(yōu)先 級P (1《P《Pmax)。因此,CPU 9121根據(jù)是否為單個(gè)編碼頻帶分配了優(yōu)先 級來作出所述確定。
而且,發(fā)送裝置還可以將表示決定不對其編碼的頻帶號的信息,或者 大意是可以將一些MDCT系數(shù)視為0的信息發(fā)送到接收裝置。
在確定具有編號C0CRM1的編碼頻帶不是編碼目標(biāo)的情況下(步驟 S1313;否),CPU9121將其MDCT系數(shù)設(shè)定為0 (步驟S1321):
X ( w c腦,1 )=0,…,X (" c薩,q( w Crng))=0 換句話說,將這個(gè)頻帶的頻譜成分視為0。
發(fā)送裝置優(yōu)先編碼整個(gè)頻譜中被推斷為重要的部分,并發(fā)送它們。不 是編碼目標(biāo)的特定頻帶意味著該頻帶的頻譜的重要性級別相對較低。而且,
如果將這一頻帶的頻譜成分設(shè)定為除o以外的適合的設(shè)定值對于頻譜中具
有高優(yōu)先級的頻帶不會(huì)有較大影響的話,則就可以如此進(jìn)行。
另一方面,在步驟S1313,在確定具有編號"cRNc的編碼頻帶是編碼的目標(biāo)的情況下(步驟S1313;是),CPU9121將以下裝入通用寄存器中(1) 經(jīng)過重新量化和比特移位的MDCT系數(shù)XQBS(coCRNG,l),…,XQBS("CRNG, q("CRNC)),以及(2)與具有編號"crno的編碼頻帶重疊的全部中間段頻帶
的移位比特?cái)?shù)ShiftBit( " range)(步驟S1315)。
CPU9121去量化所述經(jīng)過重新量化和比特移位的MDCT系數(shù),解出經(jīng) 過比特移位的MDCT系數(shù)XBS("CRNG,1),, XBS("CRNG,q("CRNG))(步驟 S1317)。
CPU 9121基于在步驟S1315裝入的移位比特?cái)?shù),對經(jīng)過比特移位的 MDCT系數(shù)執(zhí)行逆比特移位轉(zhuǎn)換,解出MDCT系數(shù)X( " crng,1),…,X( " CRNG, q("CRNC))(步驟S1319)。由于發(fā)送裝置為編碼過程執(zhí)行右移位操作,相反 的,接收裝置在該步驟執(zhí)行左移位操作。以此方式,由于除數(shù)和乘數(shù)都限 于2的冪,因此可以分別僅僅用單一右移位和左移位來執(zhí)行單一除法和乘 法,因此可以加速編碼過程和解碼過程。
步驟S1317和步驟S1319的處理總體上與第一實(shí)施例的步驟S9643到 步驟S9651的處理相等。
CPU9121確定是否已經(jīng)計(jì)算了整個(gè)頻域的MDCT系數(shù)(步驟S1323)。 在確定仍有具有未計(jì)算的MDCT系數(shù)的頻帶的情況下(步驟S1323;否), 將"CRMi的值增大1,以獲得用于下一個(gè)(相鄰于高頻側(cè))編碼頻帶的MDCT 系數(shù)(步驟S1325),過程返回到步驟S1313。在確定已經(jīng)計(jì)算了所有頻帶 的MDCT系數(shù)的情況下(步驟S1323;是),過程前進(jìn)到圖14的S1411 。
在下文中,為了簡潔,用以下下標(biāo)代替編號
X(l,l):Xo,
X(l,q(l)):…,
X( w crngmax,q( 03 CRNGMAX)):Xm/2-1 "crncmax是編碼頻帶頻帶編號的最大值;換句話說,添加到高頻側(cè)的最高
編碼頻帶的編號。
CPU 9121用逆MDCT從MDCT系數(shù)Xo,…,Xw2-1中恢復(fù)經(jīng)過動(dòng)態(tài)范 圍調(diào)整并去除直流成分的音頻信號xBS,AC(fm,0),, XBs,Ac(fin,M-l)(步驟S14U)。換句話說,將頻譜從頻譜變換到實(shí)時(shí)域。fm是用于區(qū)分幀的變量。 結(jié)果,恢復(fù)了如圖7C所示的信號。
CPU 9121從存儲(chǔ)單元9125裝入移位比特?cái)?shù)ShiftBit(fm),用于動(dòng)態(tài)范 圍調(diào)整(步驟S1413)。
接下來,CPU9121通過執(zhí)行數(shù)量為ShiftBit(fin)的左移位操作,恢復(fù)經(jīng) 過去除直流成分的輸入信號XAC(fm,O),…,XAc(fm,M-l)(步驟S1415)。換句 話說,將由于動(dòng)態(tài)范圍調(diào)整過程而改變的振幅恢復(fù)到原始振幅。
結(jié)果,將信號恢復(fù)為類似于圖7B所示的信號。音頻處理單元9141 D/A 轉(zhuǎn)換獲得的數(shù)字信號(步驟S1251),并從揚(yáng)聲器9153輸出音頻。
應(yīng)意識到,本發(fā)明并不限于上述實(shí)施例,各種變化例和應(yīng)用都是可能 的。會(huì)理解,前文中作為說明性實(shí)例的硬件結(jié)構(gòu)、塊結(jié)構(gòu)和流程圖并不限 制本實(shí)施例。
例如,盡管將音頻編碼/解碼裝置9111假定地描述為移動(dòng)電話,但本發(fā) 明能夠容易地用于PHS (個(gè)人手持電話系統(tǒng))、PDA (個(gè)人數(shù)字助理)或者 通常的個(gè)人計(jì)算機(jī)。為了解釋目的的上述實(shí)施例不是意圖限制本發(fā)明的范 圍。
在不脫離本發(fā)明的廣泛精神與范圍的情況下,可以在此得到各種實(shí)施 例和改變。上述實(shí)施例意圖說明本發(fā)明,而不是限制本發(fā)明的范圍。本發(fā) 明的范圍由附屬的權(quán)利要求而不是實(shí)施例來顯示。
將在本發(fā)明權(quán)利要求的等價(jià)意義內(nèi)及權(quán)利要求內(nèi)作出的各種修改認(rèn)為 是在本發(fā)明的范圍內(nèi)。
權(quán)利要求
1、一種音頻編碼裝置,包括存儲(chǔ)單元(9123),其存儲(chǔ)表示由多個(gè)第一頻帶組成的音頻數(shù)據(jù)的每一個(gè)頻帶的頻率寬度的信息,所述多個(gè)第一頻帶分別與預(yù)定比特?cái)?shù)相關(guān)聯(lián);離散變換單元(9121),其通過獲得所述音頻數(shù)據(jù)并計(jì)算表示每一個(gè)頻率的音頻強(qiáng)度的量化值,將所述音頻數(shù)據(jù)從實(shí)時(shí)域離散變換到頻域;最大值計(jì)算單元(9121),其將離散變換得到的頻域音頻數(shù)據(jù)劃分為具有所述頻率寬度的所述多個(gè)第一頻帶,并且計(jì)算每一個(gè)所劃分的第一頻帶的所計(jì)算的量化值之中的最大值;確定單元(9121),其針對每一個(gè)所述第一頻帶,確定用于表示由所述最大值計(jì)算單元(1921)計(jì)算的最大值所必需的比特?cái)?shù)是否超過存儲(chǔ)在所述存儲(chǔ)單元(9123)中的所述預(yù)定比特?cái)?shù);調(diào)整單元(9121),其針對每一個(gè)所述第一頻帶,在由所述確定單元(9121)確定所述必需的比特?cái)?shù)超過了所述預(yù)定比特?cái)?shù)的情況下,獲得一個(gè)除數(shù),并且分別將在該第一頻帶內(nèi)的量化值除以這個(gè)除數(shù),從而調(diào)整所述音頻強(qiáng)度,其中這個(gè)除數(shù)(表示為2的冪的值)是這樣的值中的最小值當(dāng)用所述最大值除以該值時(shí),所述必需的比特?cái)?shù)不超過所述預(yù)定比特?cái)?shù);重新量化單元(9121),其針對具有預(yù)定帶寬的多個(gè)第二頻帶中的每一個(gè),以預(yù)先確定的精度重新量化由所述離散變換單元(9121)計(jì)算的量化值,或者可替換地,重新量化由所述調(diào)整單元(9121)調(diào)整后的量化值;以及編碼單元(9121),其編碼、關(guān)聯(lián)并輸出由所述調(diào)整單元(9121)計(jì)算的所述除數(shù)和由所述重新量化單元(9121)計(jì)算的所述量化值。
2、 如權(quán)利要求1所述的音頻編碼裝置,其中所述存儲(chǔ)單元(9123)所關(guān)聯(lián)的比特?cái)?shù)隨著所述頻率寬度的中心頻率 變小而變大。
3、 如權(quán)利要求1所述的音頻編碼裝置,其中所述最大值計(jì)算單元(9121)將所述音頻數(shù)據(jù)劃分為所述多個(gè)第一頻帶,以使得每一個(gè)帶寬的對數(shù)從低頻側(cè)連續(xù)地線性增大。
4、 如權(quán)利要求1所述的音頻編碼裝置,其中所述重新量化單元(9121)進(jìn)行重新量化,以使得重新量化精度隨著所述多個(gè)第二頻帶之一靠近低頻側(cè)而增大。
5、 如權(quán)利要求1所述的音頻編碼裝置,其中所述重新量化單元(9121)分別計(jì)算由所述調(diào)整單元(9121)調(diào)整后的量化值的對數(shù),并重新量化所述對數(shù)。
6、 如權(quán)利要求1所述的音頻編碼裝置,其中所述重新量化單元(9121)劃分并重新量化所述音頻數(shù)據(jù),所述劃分是劃分為具有所述預(yù)定帶寬的所述多個(gè)第二頻帶,并且其中,每一個(gè)頻帶的對數(shù)從低頻側(cè)連續(xù)地線性增大。
7、 如權(quán)利要求1所述的音頻編碼裝置,其中-所述重新量化單元(9121)將所述音頻數(shù)據(jù)劃分為至少三個(gè)所述第二頻帶,即低頻頻帶、中頻頻帶和高頻頻帶,并且所述劃分使得在所述中頻頻帶與所述高頻頻帶之間的邊界頻率是所述音頻數(shù)據(jù)的上限頻率的一半。
8、 如權(quán)利要求1所述的音頻編碼裝置,其中所述編碼單元(9121)針對多個(gè)由一個(gè)或多個(gè)所述第一頻帶組成的第三頻帶中的每一個(gè),計(jì)算包含在該頻帶中的量化值的平方值的總和值,從計(jì)算得到的最大總和開始以降序確定優(yōu)先級,并且以優(yōu)先級的降序方式對在所述多個(gè)第三頻帶內(nèi)的量化值進(jìn)行熵編碼。
9、 如權(quán)利要求8所述的音頻編碼裝置,其中所述編碼單元(9121)計(jì)算每一個(gè)總和值乘以一個(gè)預(yù)定值的數(shù)值,該預(yù)定值隨著所述總和值靠近低頻側(cè)而增大,并且從計(jì)算得到的最大總和開始以降序方式確定優(yōu)先級。
10、 如權(quán)利要求1所述的音頻編碼裝置,其中所述離散變換單元(9121)通過使用MDCT (改進(jìn)的離散余弦變換) 來計(jì)算所述量化值。
11、 一種音頻解碼裝置,包括接收單元(9161),其接收編碼數(shù)據(jù),該數(shù)據(jù)由預(yù)定編碼方法編碼,并包括以下內(nèi)容量化的音頻數(shù)據(jù),該量化的音頻數(shù)據(jù)的信號強(qiáng)度由針對多個(gè)第一頻帶中的每一個(gè)而被調(diào)整后的量化值表示;以及數(shù)值參數(shù),其表示為2的冪,并且與為所述音頻數(shù)據(jù)配置的多個(gè) 設(shè)定的第二頻帶中的每一個(gè)頻帶相關(guān)聯(lián);解碼單元(9121),其通過使用對應(yīng)于所述預(yù)定編碼方法的解碼方法, 將所述編碼數(shù)據(jù)解碼為所述量化的音頻數(shù)據(jù)和所述數(shù)值參數(shù);強(qiáng)度恢復(fù)單元(9121),其針對所述多個(gè)第二頻帶中的每一個(gè),將該頻 帶內(nèi)的已解碼的所述量化值乘以與該頻帶相關(guān)聯(lián)的已解碼的所述數(shù)值參 數(shù),從而恢復(fù)所述音頻數(shù)據(jù)的音頻強(qiáng)度;以及離散逆變換單元(9121),其針對所述多個(gè)第一頻帶中的每一個(gè),將恢 復(fù)強(qiáng)度后的所述音頻數(shù)據(jù)從頻域變換到時(shí)域。
12、 一種在音頻編碼裝置中執(zhí)行的音頻編碼方法,該音頻編碼裝置具 有存儲(chǔ)單元(9123),所述存儲(chǔ)單元(9123)存儲(chǔ)表示由多個(gè)第一頻帶組成 的音頻數(shù)據(jù)中的每一個(gè)頻帶的頻率寬度的信息,所述多個(gè)第一頻帶分別與 預(yù)定比特?cái)?shù)相關(guān)聯(lián),所述音頻編碼方法包括以下步驟獲得所述音頻數(shù)據(jù),并通過計(jì)算表示每一個(gè)頻率的音頻強(qiáng)度的量化值, 將所述音頻數(shù)據(jù)從時(shí)域離散變換到頻域;將離散變換得到的頻域音頻數(shù)據(jù)劃分為具有所述頻率寬度的所述多個(gè) 第一頻帶,并且計(jì)算每一個(gè)所劃分的第一頻帶的所計(jì)算的量化值之中的最 大值;針對每一個(gè)所述第一頻帶,確定用于表示在最大值計(jì)算步驟中計(jì)算的最大值所必需的比特?cái)?shù)是否超過存儲(chǔ)在所述存儲(chǔ)單元(9123)中的所述預(yù)定比特?cái)?shù);針對每一個(gè)所述第一頻帶,在確定步驟中確定所述必需的比特?cái)?shù)超過所述預(yù)定比特?cái)?shù)的情況下,通過求得一個(gè)除數(shù)并將在該第一頻帶內(nèi)的量化值除以這個(gè)除數(shù)來調(diào)整所述音頻強(qiáng)度,這個(gè)除數(shù)(表示為2的冪的值)是這樣的值中的最小值當(dāng)用所述最大值除以該值時(shí),所述必需的比特?cái)?shù)不超過所述預(yù)定比特?cái)?shù);針對具有預(yù)定帶寬的多個(gè)第二頻帶中的每一個(gè),以預(yù)先確定的精度重新量化在離散變換步驟中計(jì)算的所述量化值,或者可替換地,重新量化在調(diào)整步驟中調(diào)整后的所述量化值;以及編碼、關(guān)聯(lián)并輸出在調(diào)整步驟中計(jì)算的所述除數(shù)以及在重新量化步驟中)計(jì)算的所述量化值。
13、 一種音頻解碼方法,包括步驟接收編碼數(shù)據(jù),該數(shù)據(jù)由預(yù)定編碼方法編碼,并包括以下內(nèi)容-量化的音頻數(shù)據(jù),該量化的音頻數(shù)據(jù)的信號強(qiáng)度由針對多個(gè)第一頻帶中的每一個(gè)而被調(diào)整后的量化值表示;以及數(shù)值參數(shù),其表示為2的冪,并且與為所述音頻數(shù)據(jù)配置的多個(gè)設(shè)定的第二頻帶中的每一個(gè)頻帶相關(guān)聯(lián);通過使用對應(yīng)于所述預(yù)定編碼方法的解碼方法,將所述編碼數(shù)據(jù)解碼為所述量化的音頻數(shù)據(jù)和所述數(shù)值參數(shù);針對所述多個(gè)第二頻帶中的每一個(gè),通過將該頻帶內(nèi)的已解碼的所述量化值乘以與該頻帶相關(guān)聯(lián)的己解碼的所述數(shù)值參數(shù),恢復(fù)所述音頻數(shù)據(jù)的音頻強(qiáng)度;以及針對所述多個(gè)第一頻帶中的每一個(gè),將恢復(fù)強(qiáng)度后的所述音頻數(shù)據(jù)從頻域離散逆變換到時(shí)域。
14、 一種計(jì)算機(jī)可讀信息記錄介質(zhì),包含記錄在其上的程序,該程序使得計(jì)算機(jī)充當(dāng)-存儲(chǔ)單元(9123),其存儲(chǔ)表示由多個(gè)第一頻帶組成的音頻數(shù)據(jù)的每一個(gè)頻帶的頻率寬度的信息,所述多個(gè)第一頻帶分別與預(yù)定比特?cái)?shù)相關(guān)聯(lián);離散變換單元(9121),其獲得所述音頻數(shù)據(jù),并通過計(jì)算表示每一個(gè) 頻率的音頻強(qiáng)度的量化值,將所述音頻數(shù)據(jù)從時(shí)域離散變換到頻域;最大值計(jì)算單元(9121),其將離散變換得到的頻域音頻數(shù)據(jù)劃分為具 有所述頻率寬度的所述多個(gè)第一頻帶,并且計(jì)算每一個(gè)所劃分的第一頻帶 的所計(jì)算的量化值之中的最大值;確定單元(9121),其針對每一個(gè)所述第一頻帶,確定用于表示由所述 最大值計(jì)算單元計(jì)算的最大值所必需的比特?cái)?shù)是否超過存儲(chǔ)在所述存儲(chǔ)單 元(9123)中的所述預(yù)定比特?cái)?shù);調(diào)整單元(9121),其針對每一個(gè)所述第一頻帶,在由所述確定單元 (9121)確定所述必需的比特?cái)?shù)超過所述預(yù)定比特?cái)?shù)的情況下,獲得一個(gè) 除數(shù),并且分別將在該第一頻帶內(nèi)的量化值除以這個(gè)除數(shù),從而調(diào)整所述 音頻強(qiáng)度,其中,這個(gè)除數(shù)(表示為2的冪的值)是這樣的值中的最小值 當(dāng)用所述最大值除以該值時(shí),所述必需的比特?cái)?shù)不超過所述預(yù)定比特?cái)?shù);重新量化單元(9121),其針對具有預(yù)定帶寬的多個(gè)第二頻帶中的每一 個(gè),以預(yù)先確定的精度重新量化由所述離散變換單元(9121)計(jì)算的所述 量化值,或者可替換地,重新量化由所述調(diào)整單元(9121)調(diào)整后的所述 量化值;以及編碼單元(9121),其編碼、關(guān)聯(lián)并輸出由所述調(diào)整單元(9121)計(jì)算 的所述除數(shù)和由所述重新量化單元(9121)計(jì)算的所述量化值。
15、 一種計(jì)算機(jī)可讀信息記錄介質(zhì),包含記錄在其上的程序,該程序 使得計(jì)算機(jī)充當(dāng)接收單元(9161),其接收編碼數(shù)據(jù),該數(shù)據(jù)由預(yù)定編碼方法編碼,并 包括以下內(nèi)容量化的音頻數(shù)據(jù),該量化的音頻數(shù)據(jù)的信號強(qiáng)度由針對多個(gè)第一 頻帶中的每一個(gè)而被調(diào)整后的量化值表示;以及數(shù)值參數(shù),其表示為2的冪,并且與為所述音頻數(shù)據(jù)配置的多個(gè) 設(shè)定的第二頻帶中的每一個(gè)頻帶相關(guān)聯(lián);解碼單元(9121),其通過使用對應(yīng)于所述預(yù)定編碼方法的解碼方法,將所述編碼數(shù)據(jù)解碼為所述量化的音頻數(shù)據(jù)和所述數(shù)值參數(shù);強(qiáng)度恢復(fù)單元(9121),其針對所述多個(gè)第二頻帶中的每一個(gè),將該頻帶內(nèi)的已解碼的量化值乘以與該頻帶相關(guān)聯(lián)的己解碼的數(shù)值參數(shù),從而恢復(fù)所述音頻數(shù)據(jù)的音頻強(qiáng)度;以及離散逆變換單元(9121),其針對所述多個(gè)第一頻帶中的每一個(gè),將恢復(fù)強(qiáng)度后的所述音頻數(shù)據(jù)從頻域變換到時(shí)域。
16、 一種程序,用于控制計(jì)算機(jī)充當(dāng)-存儲(chǔ)單元(9123),其存儲(chǔ)表示由多個(gè)第一頻帶組成的音頻數(shù)據(jù)的每一個(gè)頻帶的頻率寬度的信息,所述多個(gè)第一頻帶分別與預(yù)定比特?cái)?shù)相關(guān)聯(lián);離散變換單元(9121),其獲得所述音頻數(shù)據(jù),并通過計(jì)算表示每一個(gè)頻率的音頻強(qiáng)度的量化值,將所述音頻數(shù)據(jù)從時(shí)域離散變換到頻域;最大值計(jì)算單元(9121),其將離散變換得到的頻域音頻數(shù)據(jù)劃分為具有所述頻率寬度的所述多個(gè)第一頻帶,并且計(jì)算每一個(gè)所劃分的第一頻帶的所計(jì)算的量化值之中的最大值;確定單元(9121),其針對每一個(gè)所述第一頻帶,確定用于表示由所述最大值計(jì)算單元計(jì)算的最大值所必需的比特?cái)?shù)是否超過存儲(chǔ)在所述存儲(chǔ)單元(9123)中的所述預(yù)定比特?cái)?shù);調(diào)整單元(9121),其針對每一個(gè)所述第一頻帶,在由所述確定單元(9121)確定所述必需的比特?cái)?shù)超過所述預(yù)定比特?cái)?shù)的情況下,獲得一個(gè)除數(shù),并且分別將在該第一頻帶內(nèi)的量化值除以這個(gè)除數(shù),從而調(diào)整所述音頻強(qiáng)度,其中,這個(gè)除數(shù)(表示為2的冪的值)是這樣的值中的最小值:當(dāng)用所述最大值除以該值時(shí),所述必需的比特?cái)?shù)不超過所述預(yù)定比特?cái)?shù);重新量化單元(9121),其針對具有預(yù)定帶寬的多個(gè)第二頻帶中的每一個(gè)頻帶,以預(yù)先確定的精度重新量化由所述離散變換單元(9121)計(jì)算的所述量化值,或者可替換地,重新量化由所述調(diào)整單元(9121)調(diào)整后的所述量化值;以及編碼單元(9121),其編碼、關(guān)聯(lián)并輸出由所述調(diào)整單元(9121)計(jì)算的所述除數(shù)和由所述重新量化單元(9121)計(jì)算的所述量化值。
17、 一種程序,用于控制計(jì)算機(jī)充當(dāng)接收單元(9161),其接收編碼數(shù)據(jù),該數(shù)據(jù)由預(yù)定的編碼方法編碼,并包括以下內(nèi)容-量化的音頻數(shù)據(jù),該量化的音頻數(shù)據(jù)的信號強(qiáng)度由針對多個(gè)第一頻帶中的每一個(gè)而被調(diào)整后的量化值表示;以及數(shù)值參數(shù),其表示為2的冪,并且與為所述音頻數(shù)據(jù)配置的多個(gè)設(shè)定的第二頻帶中的每一個(gè)頻帶相關(guān)聯(lián);解碼單元(9121),其通過使用對應(yīng)于所述預(yù)定的編碼方法的解碼方法,將所述編碼數(shù)據(jù)解碼為所述量化的音頻數(shù)據(jù)和所述數(shù)值參數(shù);強(qiáng)度恢復(fù)單元(9121),其針對所述多個(gè)第二頻帶中的每一個(gè),將該頻帶內(nèi)的已解碼的量化值乘以與該頻帶相關(guān)聯(lián)的已解碼的數(shù)值參數(shù),從而恢復(fù)所述音頻數(shù)據(jù)的音頻強(qiáng)度;以及離散逆變換單元(9121),其針對所述多個(gè)第一頻帶中的每一個(gè),將恢復(fù)強(qiáng)度后的所述音頻數(shù)據(jù)從頻域變換到時(shí)域。
全文摘要
在編碼過程中,CPU(9121)將音頻信號從實(shí)時(shí)域變換為頻域,并將該信號變換為由多個(gè)MDCT系數(shù)組成的頻譜。CPU(9121)將音頻信號劃分為幾個(gè)頻帶,在每一個(gè)頻帶內(nèi)執(zhí)行比特移位,以便可以用預(yù)先配置的比特?cái)?shù)表示MDCT系數(shù)。CPU(9121)針對各個(gè)頻帶以不同的精度重新量化MDCT系數(shù),將由此獲得的數(shù)值和移位比特?cái)?shù)作為編碼數(shù)據(jù)發(fā)送。同時(shí),在解碼過程中,CPU(9121)接收編碼數(shù)據(jù),逆重新量化和逆比特移位該數(shù)據(jù),從而恢復(fù)MDCT系數(shù)。而且,CPU(9121)通過使用逆MDCT,將數(shù)據(jù)從頻域變換為實(shí)時(shí)域,恢復(fù)并輸出音頻信號。
文檔編號G10L19/02GK101523485SQ20078003661
公開日2009年9月2日 申請日期2007年9月19日 優(yōu)先權(quán)日2006年10月2日
發(fā)明者井手博康 申請人:卡西歐計(jì)算機(jī)株式會(huì)社