專利名稱:一種音頻數(shù)據(jù)的編碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體技術(shù),特別涉及一種音頻數(shù)據(jù)的編碼方法及裝置。
背景技術(shù):
Ogg/Vorbis是美國(guó)Xiph. org組織開發(fā)的通用感知音頻編碼器。Ogg是一種多媒體外層格式,它可以是包含數(shù)字音頻(Vorbis)也可以包含數(shù)字視頻(Tarkin),Vorbis是 Xiph. org開發(fā)的專用音頻格式。相比于MP3等其他編碼算法,Ogg/Vorbis的最大特點(diǎn)是 源碼完全公開、無(wú)專利限制,具有較大的編碼靈活性。Ogg/Vorbis采用了一種有損音頻壓縮算法,在高質(zhì)量(高比特率)級(jí)別(⑶或DAT立體聲,16/Mbit量化)時(shí),與現(xiàn)在的MPEG-2 和MPEG-4等的音頻算法相當(dāng);Ogg/Vorbis編碼器在沒(méi)有重新采樣到低采樣率時(shí),可將⑶ 或DAT高質(zhì)量立體聲信號(hào)壓縮到低于48Kbps比特率;它支持采樣率為8kHz-192kHz的16 位以上的⑶音頻或PCM數(shù)據(jù),支持30-190KbpS/channel的可變碼率模式(VBR),并且具有壓縮率實(shí)時(shí)調(diào)節(jié)的技術(shù),可以讓用戶在壓縮一個(gè)文件的過(guò)程中不用中斷工作就馬上改變壓縮率。Ogg/Vorbis支持單聲道、立體聲、4聲道、5. 1聲道,最高可支持255個(gè)獨(dú)立聲道。Ogg/Vorbis編碼過(guò)程也是對(duì)時(shí)域信號(hào)采取加窗處理一幀一幀逐步進(jìn)行,其中幀的大小分長(zhǎng)幀和短幀,每幀信號(hào)的編碼的基本流程如
圖1所示,具體為Ogg/Vorbis是美國(guó)Xiph. org組織開發(fā)的通用感知音頻編碼器。Ogg是一種多媒體外層格式,它可以是包含數(shù)字音頻(Vorbis)也可以包含數(shù)字視頻(Tarkin),Vorbis是 Xiph. org開發(fā)的專用音頻格式。相比于MP3等其他編碼算法,Ogg/Vorbis的最大特點(diǎn)是 源碼完全公開、無(wú)專利限制,具有較大的編碼靈活性。Ogg/Vorbis采用了一種有損音頻壓縮算法,在高質(zhì)量(高比特率)級(jí)別(⑶或DAT立體聲,16/24bit量化)時(shí),與現(xiàn)在的MPEG-2 和MPEG-4等的音頻算法相當(dāng);Ogg/Vorbis編碼器在沒(méi)有重新采樣到低采樣率時(shí),可將⑶ 或DAT高質(zhì)量立體聲信號(hào)壓縮到低于48Kbps比特率;它支持采樣率為8kHz-192kHz的16 位以上的⑶音頻或PCM數(shù)據(jù),支持30-190KbpS/channel的可變碼率模式(VBR),并且具有壓縮率實(shí)時(shí)調(diào)節(jié)的技術(shù),可以讓用戶在壓縮一個(gè)文件的過(guò)程中不周中斷工作就馬上改變壓縮率。Ogg/Vorbis支持單聲道、立體聲、4聲道、5. 1聲道,最高可支持255個(gè)獨(dú)立聲道。Ogg/Vorbis編碼過(guò)程也是對(duì)時(shí)域信號(hào)采取加窗處理一幀一幀逐步進(jìn)行,其中幀的大小分長(zhǎng)幀和短幀,每幀信號(hào)的編碼的基本流程如圖1所示,其具體為編碼器首先對(duì)輸入音頻PCM信號(hào)進(jìn)行離散傅立葉變換MDCKModifiedDiscrete Cosine Transform)分析,同時(shí)對(duì)輸入音頻PCM信號(hào)要進(jìn)行FFT分析,再將經(jīng)過(guò)MDCT分析和FFT分析后獲得的兩種系數(shù)輸入給心理聲學(xué)模型單元,其中,MDCT系數(shù)用于計(jì)算噪聲掩蔽特性,F(xiàn)FT系數(shù)用于計(jì)算音調(diào)掩蔽特性,兩者的計(jì)算結(jié)果共同構(gòu)造總掩蔽曲線。然后,根據(jù) MDCT系數(shù)及獲得的總掩蔽曲線,對(duì)頻譜系數(shù)進(jìn)行線性預(yù)測(cè)分析,再用線性預(yù)測(cè)系數(shù)(LPC) 經(jīng)變換得到線譜對(duì)(Line Spectral Pair, LSP)來(lái)計(jì)算頻譜包絡(luò),即基底曲線(Floor);或通過(guò)線性分段逼近方式獲得基底曲線。接著,從MDCT系數(shù)中去掉頻譜包絡(luò)可得白化的殘差頻譜,由于殘差頻譜動(dòng)態(tài)范圍明顯變小,從而降低量化誤差。之后,采用聲道耦合技術(shù)對(duì)得到的殘差頻譜進(jìn)一步降低冗余度,耦合主要是將左右聲道數(shù)據(jù)從直角坐標(biāo)映射到平方極坐標(biāo);最后,進(jìn)行矢量量化處理,即使用與該幀數(shù)據(jù)的采樣率和比特率對(duì)應(yīng)的碼本(系統(tǒng)會(huì)預(yù)先存儲(chǔ)多種碼本,以對(duì)應(yīng)不同的采樣率和比特率)對(duì)基底曲線和經(jīng)聲道耦合處理的殘差頻譜信息進(jìn)行編碼,最后對(duì)白化的各種信息數(shù)據(jù),包括經(jīng)過(guò)矢量量化處理后數(shù)據(jù),按Vorbis 定義的包格式組裝,形成Vorbis壓縮碼流。由此可見(jiàn)Ogg/Vorbis編碼操作流程的時(shí)間和空間復(fù)雜度都很高,因此,在處理芯片執(zhí)行能力較差的便攜式多媒體播放器中實(shí)現(xiàn)Ogg/Vorbis編碼有很大的難度。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種音頻數(shù)據(jù)的編碼方法及裝置,用以降低在便攜式多媒體播放器中實(shí)現(xiàn)Ogg/Vorbis編碼的復(fù)雜度。發(fā)明實(shí)施例提供的具體技術(shù)方案如下一種音頻數(shù)據(jù)的編碼方法,包括接收需要進(jìn)行編碼的音頻數(shù)據(jù);對(duì)所述音頻數(shù)據(jù)進(jìn)行改良的離散余弦變換,即MDCT變換;根據(jù)所述MDCT變換結(jié)果計(jì)算掩蔽曲線;根據(jù)掩蔽曲線采用分段線性方法計(jì)算產(chǎn)生基底曲線;根據(jù)所述掩蔽曲線和基底曲線計(jì)算產(chǎn)生的頻譜殘差;對(duì)所述頻譜殘差進(jìn)行聲道耦合;對(duì)所述聲道耦合的結(jié)果進(jìn)行矢量化計(jì)算;將所述矢量化計(jì)算后獲得的數(shù)據(jù)按照指定的采樣率和比特率進(jìn)行編碼,獲得編碼后的音頻數(shù)據(jù)。一種音頻編碼裝置,包括離散余弦變換單元,用于接收需要進(jìn)行編碼的音頻數(shù)據(jù),并對(duì)所述音頻數(shù)據(jù)進(jìn)行改良的離散余弦變換,即MDCT變換;第一計(jì)算單元,用于根據(jù)所述MDCT變換的結(jié)果計(jì)算掩蔽曲線;第二計(jì)算單元,用于根據(jù)掩蔽曲線采用分段線性方法計(jì)算產(chǎn)生基底曲線;第三計(jì)算單元,用于根據(jù)所述掩蔽曲線和基底曲線計(jì)算產(chǎn)生的頻譜殘差;耦合單元,用于對(duì)所述頻譜殘差進(jìn)行聲道耦合;矢量化單元,用于對(duì)所述聲道耦合的結(jié)果進(jìn)行矢量化計(jì)算;編碼單元,用于將所述矢量化計(jì)算后獲得的數(shù)據(jù)按照指定的采樣率和比特率進(jìn)行編碼,獲得編碼后的音頻數(shù)據(jù)?!N音頻處理設(shè)備,包括上述的音頻編碼裝置。綜上所述,本發(fā)明實(shí)施例中,采用了新設(shè)計(jì)的一條掩蔽曲線代替了現(xiàn)有技術(shù)下計(jì)算的音調(diào)掩蔽曲線和噪聲掩蔽曲線,從而有效減少了 Ogg/Vorbis編碼的計(jì)算量;另一方面,采用了指定的采用率和比特率對(duì)矢量化后的數(shù)據(jù)進(jìn)行編碼,從而有效減少了 Ogg/ Vorbis編碼所占用的程序空間。這樣,便降低了 Ogg/Vorbis編碼的計(jì)算復(fù)雜度和空間復(fù)雜度,進(jìn)而在便攜式設(shè)備中實(shí)現(xiàn)了 Ogg/Vorbis編碼。附圖說(shuō) 明圖1為現(xiàn)有技術(shù)下Ogg/Vorbis編碼實(shí)現(xiàn)原理圖;圖2為本發(fā)明實(shí)施例中音頻編碼裝置功能結(jié)構(gòu)圖;圖3A為本發(fā)明實(shí)施例中實(shí)現(xiàn)Ogg/Vorbis編碼流程圖;圖;3B為本發(fā)明實(shí)施例中耦合正方形極坐標(biāo)示意圖;圖4A為現(xiàn)有技術(shù)下對(duì)歌曲1進(jìn)行Ogg/Vorbis編碼效果示意圖;圖4B為本發(fā)明實(shí)施例中對(duì)歌曲1進(jìn)行Ogg/Vorbis編碼效果示意圖;圖5A為現(xiàn)有技術(shù)下對(duì)歌曲2進(jìn)行Ogg/Vorbis編碼效果示意圖;圖5B為本發(fā)明實(shí)施例中對(duì)歌曲2進(jìn)行Ogg/Vorbis編碼效果示意圖;圖6A為現(xiàn)有技術(shù)下對(duì)歌曲3進(jìn)行Ogg/Vorbis編碼效果示意圖;圖6B為本發(fā)明實(shí)施例中對(duì)歌曲3進(jìn)行Ogg/Vorbis編碼效果示意圖;圖7A為現(xiàn)有技術(shù)下對(duì)歌曲4進(jìn)行Ogg/Vorbis編碼效果示意圖;圖7B為本發(fā)明實(shí)施例中對(duì)歌曲4進(jìn)行Ogg/Vorbis編碼效果示意圖;圖8為本發(fā)明實(shí)施例中包含音頻編碼裝置的音頻處理設(shè)備的功能結(jié)構(gòu)圖。
具體實(shí)施例方式鑒于要在便攜式多媒體播放器中完全實(shí)現(xiàn)Ogg/Vorbis編碼具有很大的難度,本發(fā)明實(shí)施例中,為了降低Ogg/Vorbi s編碼的實(shí)現(xiàn)復(fù)雜度,對(duì)Ogg/Vorbi s編碼流程進(jìn)行了適當(dāng)?shù)貎?yōu)化,具體為接收需要進(jìn)行編碼的音頻數(shù)據(jù),對(duì)所述音頻數(shù)據(jù)進(jìn)行改良的離散余弦變換,即MDCT變換,再根據(jù)所述MDCT變換結(jié)果計(jì)算掩蔽曲線,根據(jù)掩蔽曲線采用分段線性方法計(jì)算產(chǎn)生基底曲線,以及根據(jù)所述掩蔽曲線和基底曲線計(jì)算產(chǎn)生的頻譜殘差,接著,對(duì)所述頻譜殘差進(jìn)行聲道耦合,并對(duì)所述聲道耦合的結(jié)果進(jìn)行矢量化計(jì)算,最后,將所述矢量化計(jì)算后獲得的數(shù)據(jù)按照指定的采樣率和比特率進(jìn)行編碼,獲得編碼后的音頻數(shù)據(jù)。通過(guò)大量數(shù)據(jù)實(shí)驗(yàn)發(fā)現(xiàn),優(yōu)化Ogg/Vorbis編碼程序在如下幾個(gè)方面,可以減少大量的計(jì)算量和程序空間,而編碼完的Ogg/Vorbis音頻信號(hào)在音質(zhì)上并沒(méi)有下降很多,一般情況下與原來(lái)的標(biāo)準(zhǔn)OGG程序編碼后的結(jié)果基本相同。1 優(yōu)化心理聲學(xué)模型單元,噪聲掩蔽曲線和音調(diào)掩蔽曲線合二為一,同時(shí)根據(jù)不同采樣率和比特率修改掩蔽補(bǔ)償表,即根據(jù)采樣率和比特率在預(yù)先存儲(chǔ)的多個(gè)掩蔽補(bǔ)償表 (可以是通過(guò)實(shí)驗(yàn)提前得到)中確定相應(yīng)的掩蔽補(bǔ)償值,這個(gè)掩蔽補(bǔ)償表得到是理論依據(jù)人們對(duì)聲音頻率的敏感度,因?yàn)槿硕鷮?duì)低頻聲音敏感,而對(duì)高頻不敏感,所以補(bǔ)償?shù)臅r(shí)候就是對(duì)增加對(duì)低頻補(bǔ)償,減少對(duì)高頻補(bǔ)償,因而補(bǔ)償表的值就是從低頻到高頻逐漸減少。用該表對(duì)掩蔽曲線進(jìn)行補(bǔ)償,使得一條掩蔽曲線就能達(dá)到原來(lái)音調(diào)掩蔽曲線和噪聲掩蔽曲線兩條曲線近似一樣的效果。2:在相同采樣率的不同比特率下都采用相同的碼書進(jìn)行編碼,從而減少程序的運(yùn)算量,也節(jié)省了存儲(chǔ)空間。碼書(Codebook)是矢量量化的關(guān)鍵技術(shù)之一,通常以表格的形式記載,通過(guò)碼書查表得到到的數(shù)據(jù)就是碼字,用以實(shí)現(xiàn)數(shù)據(jù)壓縮。也就是說(shuō),在本發(fā)明中,只存儲(chǔ)與特定采樣率對(duì)應(yīng)的一個(gè)碼書,在進(jìn)行矢量量化處理時(shí),采用相同的碼書進(jìn)行編碼。作為替代,也可以只存儲(chǔ)少數(shù)幾個(gè)碼本,在進(jìn)行矢量量化處理時(shí),從其中選一個(gè)最接近的進(jìn)行編碼,或者選一個(gè)最接近的后再進(jìn)行必要修改然后再進(jìn)行編碼。下面結(jié)合附圖對(duì)本發(fā)明優(yōu)選的實(shí)施方式進(jìn)行詳細(xì)介紹。參閱圖2所示,本發(fā)明實(shí)施例中,用于實(shí)現(xiàn)Ogg/Vorbis編碼的音頻編碼裝置包括離散余弦變換單元10、第一計(jì)算單元11、第二計(jì)算單元12、第三計(jì)算單13、耦合單元14、矢量化單元15和編碼單元16,其中,離散余弦變換單元10,用于接收需要進(jìn)行編碼的音頻數(shù)據(jù),并對(duì)所述音頻數(shù)據(jù)進(jìn)行改良的離散余弦變換,即MDCT變換;第一計(jì)算單元11,用于根據(jù)所述MDCT變換的結(jié)果計(jì)算掩蔽曲線;第二計(jì)算單元12,用于根據(jù)掩蔽曲線采用分段線性方法計(jì)算產(chǎn)生基底曲線;第三計(jì)算單元13,用于根據(jù)所述掩蔽曲線和基底曲線計(jì)算產(chǎn)生的頻譜殘差;耦合單元14,用于對(duì)所述頻譜殘差進(jìn)行聲道耦合;矢量化單元15,用于對(duì)所述聲道耦合的結(jié)果進(jìn)行矢量化計(jì)算;編碼單元16,用于將所述矢量化計(jì)算后獲得的數(shù)據(jù)按照指定的采樣率和比特率進(jìn)行編碼,獲得編碼后的音頻數(shù)據(jù)?;谏鲜鲈?,參閱圖3所示,本發(fā)明實(shí)施例中,實(shí)現(xiàn)Ogg/Vorbis編碼的詳細(xì)流程如下步驟300 接收需要進(jìn)行編碼的音頻數(shù)據(jù);步驟310 對(duì)音頻數(shù)據(jù)進(jìn)行MDCT變換。本實(shí)施例中,使用50%重疊的改進(jìn)的離散余弦變換MDCT作為時(shí)頻轉(zhuǎn)換的手段,具體公式如下
權(quán)利要求
1.一種音頻數(shù)據(jù)的編碼方法,用于實(shí)現(xiàn)Ogg/Vorbis編碼,其特征在于,該編碼方法包括接收需要進(jìn)行編碼的音頻數(shù)據(jù);對(duì)所述音頻數(shù)據(jù)進(jìn)行改良的離散余弦變換,即MDCT變換; 根據(jù)所述MDCT變換的結(jié)果計(jì)算掩蔽曲線; 根據(jù)掩蔽曲線采用分段線性方法計(jì)算產(chǎn)生基底曲線; 根據(jù)所述掩蔽曲線和基底曲線計(jì)算產(chǎn)生頻譜殘差; 對(duì)所述頻譜殘差進(jìn)行聲道耦合; 對(duì)所述聲道耦合的結(jié)果進(jìn)行矢量化計(jì)算;將所述矢量化計(jì)算后獲得的數(shù)據(jù)按照指定的采樣率和比特率進(jìn)行編碼,獲得編碼后的音頻數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,采用下述公式進(jìn)行MDCT變換
3.如權(quán)利要求1所述的方法,其特征在于,采用公式y(tǒng)= a+bx+c(x)計(jì)算掩蔽曲線,其中,
4.如權(quán)利要求1、2或3所述的方法,其特征在于,將所述矢量化計(jì)算后獲得的數(shù)據(jù)按照指定的采樣率和比特率進(jìn)行編碼時(shí),根據(jù)設(shè)定的采樣率,針對(duì)不同的比特率,選擇預(yù)設(shè)的相同碼書對(duì)矢量化操作后獲得的數(shù)據(jù)進(jìn)行編碼。
5.一種音頻編碼裝置,用于實(shí)現(xiàn)Ogg/Vorbis編碼,其特征在于,該音頻編碼裝置包括 離散余弦變換單元,用于接收需要進(jìn)行編碼的音頻數(shù)據(jù),并對(duì)所述音頻數(shù)據(jù)進(jìn)行改良的離散余弦變換,即MDCT變換;第一計(jì)算單元,用于根據(jù)所述MDCT變換的結(jié)果計(jì)算掩蔽曲線; 第二計(jì)算單元,用于根據(jù)掩蔽曲線采用分段線性方法計(jì)算產(chǎn)生基底曲線; 第三計(jì)算單元,用于根據(jù)所述掩蔽曲線和基底曲線計(jì)算產(chǎn)生頻譜殘差; 耦合單元,用于對(duì)所述頻譜殘差進(jìn)行聲道耦合; 矢量化單元,用于對(duì)所述聲道耦合的結(jié)果進(jìn)行矢量化計(jì)算;編碼單元,用于將所述矢量化計(jì)算后獲得的數(shù)據(jù)按照指定的采樣率和比特率進(jìn)行編碼,獲得編碼后的音頻數(shù)據(jù)。
6.如權(quán)利要求5所述的音頻編碼裝置,其特征在于,所述離散余弦變換單元采用公式
7.如權(quán)利要求5所述的音頻編碼裝置,其特征在于,所述第一計(jì)算單元采用公式y(tǒng) =a+bx+c(x)計(jì)算掩蔽曲線,其中,
8.如權(quán)利要求5、6或7所述的音頻編碼裝置,其特征在于,所述編碼單元將所述矢量化計(jì)算后獲得的數(shù)據(jù)按照指定的采樣率和比特率進(jìn)行編碼時(shí),根據(jù)設(shè)定的采樣率,針對(duì)不同的比特率,選擇預(yù)設(shè)的相同碼書對(duì)矢量化操作后獲得的數(shù)據(jù)進(jìn)行編碼。
9.一種音頻處理設(shè)備,包括如權(quán)利要求5所述的音頻編碼裝置。
全文摘要
本發(fā)明涉及多媒體技術(shù),公開了一種音頻數(shù)據(jù)的編碼方法及裝置,用以降低在便攜式多媒體播放器中實(shí)現(xiàn)Ogg/Vorbis編碼的復(fù)雜度。該方法為采用了新設(shè)計(jì)的一條掩蔽曲線代替了現(xiàn)有技術(shù)下計(jì)算的音調(diào)掩蔽曲線和噪聲掩蔽曲線,從而有效減少了Ogg/Vorbis編碼的計(jì)算量;另一方面,采用了指定的采用率和比特率對(duì)矢量化后的數(shù)據(jù)進(jìn)行編碼,從而有效減少了Ogg/Vorbis編碼所占用的程序空間。這樣,便降低了Ogg/Vorbis編碼的計(jì)算復(fù)雜度和空間復(fù)雜度,進(jìn)而在便攜式設(shè)備中實(shí)現(xiàn)了Ogg/Vorbis編碼。本發(fā)明同時(shí)公開了一種音頻編碼裝置。
文檔編號(hào)G10L19/00GK102332266SQ20101022959
公開日2012年1月25日 申請(qǐng)日期2010年7月13日 優(yōu)先權(quán)日2010年7月13日
發(fā)明者陳展 申請(qǐng)人:炬力集成電路設(shè)計(jì)有限公司