專利名稱:可縮放的無損音頻編解碼器和創(chuàng)作工具的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無損音頻編解碼器,并更具體地涉及一種可縮放的無損音頻編解碼器和創(chuàng)作工具。
背景技術(shù):
當(dāng)前在消費(fèi)類和專業(yè)的音頻播放產(chǎn)品和服務(wù)的很寬范圍內(nèi)使用了許多低比特率的有損音頻編碼系統(tǒng)。例如杜比AC3(杜比數(shù)字)音頻編碼系統(tǒng)是一種用于在激光影碟、NTSC編碼DVD視頻和ATV中利用高達(dá)640kbit/s的比特率對(duì)立體聲和5.1通道音頻聲軌編碼的國際標(biāo)準(zhǔn)。MPEG I和MPEG II音頻編碼標(biāo)準(zhǔn)被廣泛地用于在PAL編碼的DVD視頻、歐洲的陸地?cái)?shù)字無線電廣播和美國的衛(wèi)星廣播中以高達(dá)768kbit/s的比特率對(duì)立體聲和多通道的聲軌編碼。DTS(數(shù)字電影院系統(tǒng))相干聲學(xué)音頻編碼系統(tǒng)經(jīng)常被用于在光盤、DVD視頻、歐洲的衛(wèi)星廣播和激光影碟中的演播室質(zhì)量5.1通道音頻的聲軌,并且比特率高達(dá)1536kbit/s。
一種提供96KHz帶寬和24位分辨率的改進(jìn)的編解碼器被公開于美國專利號(hào)6,226,616中(也轉(zhuǎn)讓給了數(shù)字電影院系統(tǒng)公司)。該專利使用一種核心和擴(kuò)展方法,其中常規(guī)的音頻編碼算法組成了“核心”音頻編碼器并保持不變。必須表示較高的音頻頻率(較高采樣率的情況下)或較高的采樣分辨率(較大字長(zhǎng)的情況下)或同時(shí)表示兩者的音頻數(shù)據(jù)作為“擴(kuò)展”流被發(fā)送。這允許音頻內(nèi)容供應(yīng)者將與常駐于消費(fèi)者設(shè)備中的不同類型解碼器兼容的單個(gè)音頻碼流包括在內(nèi)。該核心流將由忽視該擴(kuò)展數(shù)據(jù)的早先的解碼器來解碼,而新的解碼器將同時(shí)利用核心和擴(kuò)展數(shù)據(jù)流來給出較高品質(zhì)的聲音再現(xiàn)。然而,該現(xiàn)有方法沒有提供真正的無損編碼或解碼。雖然美國專利6,226,216的系統(tǒng)提供了高品質(zhì)的音頻播放,但其沒有提供“無損″性能。
最近,許多消費(fèi)者已經(jīng)對(duì)這些所謂的“無損”編解碼器表現(xiàn)出了興趣?!盁o損”編解碼器依靠不丟棄任何信息來壓縮數(shù)據(jù)的算法。這樣,其沒有使用比如“掩蔽”等心理聲學(xué)的效果。無損編解碼器產(chǎn)生與該(數(shù)字化)源信號(hào)相同的解碼信號(hào)。達(dá)到該性能的代價(jià)是這種編解碼器一般要求比有損的編解碼器更大的帶寬,并壓縮該數(shù)據(jù)到較小的程度。
當(dāng)內(nèi)容正被創(chuàng)作到磁盤、CD、DVD等時(shí),特別當(dāng)原始資料非常不相關(guān)或源帶寬要求非常大時(shí),壓縮不足可以導(dǎo)致問題。該介質(zhì)的光學(xué)屬性確定了對(duì)于所有內(nèi)容都不能超過的最高比特率。如圖1所示,例如用于9.6Mbps的DVD音頻,硬閾值10一般被確定用于音頻,以便總的比特率不超過該介質(zhì)的極限。
該音頻及其它數(shù)據(jù)被布置在該磁盤上,以滿足多種介質(zhì)限制并保證該解碼給定幀所需要的全部數(shù)據(jù)都將存在于該音頻解碼器緩沖區(qū)中。該緩沖區(qū)具有平滑幀到幀編碼載荷(比特率)12的效果,來產(chǎn)生緩沖載荷14,即該幀到幀編碼載荷的緩沖平均載荷,該編碼載荷可以從幀到幀廣泛地波動(dòng)。如果在任一點(diǎn)處該用于給定的通道的無損碼流的緩沖載荷14超過閾值,該音頻輸入文件被改變以減少它們的信息內(nèi)容。通過減少一個(gè)或多個(gè)通道的位深度如從24位到22位、對(duì)一通道的頻率帶寬過濾成為低通的、或如當(dāng)以96KHz采樣時(shí)過濾在40KHz以上的信息來減少該音頻帶寬,該音頻文件可以被改變。該改變的音頻輸入文件被重新編碼以便該載荷16不會(huì)超過該閾值10。本處理的一例子被描述于用戶手冊(cè)第20-23頁中的SurCode MLP。
這是一種計(jì)算量很大和時(shí)間效率低的處理。此外,雖然該音頻編碼器仍是無損的,傳送給該用戶的音頻內(nèi)容量在該全部碼流上已經(jīng)減少了。而且,該改進(jìn)過程是不精確的,如果僅刪除了很少的信息該問題仍然存在,如果刪除了過多的信息音頻數(shù)據(jù)就被不必要地丟棄了。另外,該創(chuàng)作過程將不得不被定制以適合于介質(zhì)的具體光學(xué)屬性和解碼器的緩沖區(qū)的尺寸。
發(fā)明內(nèi)容
本發(fā)明提供一種產(chǎn)生無損碼流和創(chuàng)作工具的音頻編解碼器,其有選擇地丟棄位以滿足介質(zhì)、通道、解碼器緩沖區(qū)或放音設(shè)備比特率的限制,而無需過濾該音頻輸入文件、重新編碼或中斷該無損碼流。
其實(shí)現(xiàn)是通過將在一分析窗口序列中的音頻數(shù)據(jù)無損地編碼成為可縮放的碼流,對(duì)每個(gè)窗口,比較該緩沖載荷和允許的載荷,并且在非相容窗口中有選擇地縮放該無損編碼音頻數(shù)據(jù)以減少該編碼載荷,因此該緩沖載荷引入損耗。
在一具體實(shí)施例中,該音頻編碼器將該音頻數(shù)據(jù)拆分成最高有效位(MSB)和最低有效位(LSB)部分并用不同的無損算法對(duì)每個(gè)部分編碼。創(chuàng)作工具將該最高有效位部分寫入碼流中,將在相容窗口中的LSB部分寫入碼流中,并縮放任一非相容幀中的無損LSB部份以使其相容,并將該當(dāng)前有損LSB部分寫入該碼流。該音頻解碼器解碼該MSB和LSB部分并重新組合該P(yáng)CM音頻數(shù)據(jù)。
該音頻編碼器將每個(gè)音頻采樣拆分成MSB和LSB部分,用第一無損算法對(duì)該MSB部分編碼,用第二無損算法對(duì)該LSB部分編碼,并且將該編碼音頻數(shù)據(jù)打包成一可縮放的、無損碼流。通過在一分析窗口中該能量及/或采樣最大振幅,合適地確定在該MSB和LSB部分之間的邊界點(diǎn)。該LSB位寬被打包入該碼流中。該LSB部分更適于被編碼以便一些或所有該LSB可以被有選擇地丟棄。頻率擴(kuò)展可以以MSB/LSB編碼或全部編碼為L(zhǎng)SB。
創(chuàng)作工具被用于在磁盤(介質(zhì))上布置該編碼數(shù)據(jù)。該初始布局對(duì)應(yīng)該緩沖載荷。對(duì)于每個(gè)分析窗口,該工具將緩沖載荷與允許載荷相比較,來確定該布局是否需要任何修改。如果不需要,該無損碼流中的所有該無損MSB和LSB部份被寫入碼流并被記錄于該磁盤上。如果需要,該創(chuàng)作工具縮放該無損碼流以滿足該限制。更準(zhǔn)確地說,對(duì)于所有相容窗口該工具向修改的碼流寫入該無損MSB和LSB部分,并且對(duì)于該非相容窗口向該修改的碼流寫入該報(bào)頭和無損MSB部分。然后基于優(yōu)先規(guī)則,對(duì)于每個(gè)非相容窗口該創(chuàng)作工具確定對(duì)于一個(gè)或多個(gè)音頻通道在分析窗口中從每個(gè)音頻采樣中丟棄多少LSB,并以其修改的位寬將該LSB部分重新打包成該修改的碼流。該步驟僅重復(fù)用于那些該緩沖載荷超過允許載荷的分析窗口。
一解碼器通過該介質(zhì)或傳輸通道接收該創(chuàng)作碼流。該音頻數(shù)據(jù)被用于創(chuàng)作的沒有溢出的緩沖區(qū),并依次向DSP芯片提供充足的數(shù)據(jù)來為當(dāng)前分析窗口解碼該音頻數(shù)據(jù)。該DSP芯片提取該報(bào)頭信息并提取、解碼和組合該音頻數(shù)據(jù)的MSB部份。如果在創(chuàng)作期間所有該LSB被丟棄,該DSP芯片將該MSB采樣轉(zhuǎn)化為原始位寬字并輸出該P(yáng)CM數(shù)據(jù)。否則,該DSP芯片解碼該LSB部分,組合該MSB和LSB采樣,將該組合采樣轉(zhuǎn)化為該原始位寬字并輸出該P(yáng)CM數(shù)據(jù)。
通過下列結(jié)合附圖的優(yōu)先實(shí)施例的詳細(xì)說明,本發(fā)明的這些及其它特征和優(yōu)點(diǎn)對(duì)于本領(lǐng)域中普通技術(shù)人員是顯而易見的,其中
圖1,如上所述,是對(duì)于無損音頻通道的比特率和載荷相對(duì)于時(shí)間的曲線;圖2是根據(jù)本發(fā)明的一種無損音頻編解碼器和創(chuàng)作工具的方框圖;圖3是該音頻編碼器的簡(jiǎn)化流程圖;圖4是在該無損碼流中用于采樣的MSB/LSB拆分的視圖;圖5是該創(chuàng)作工具的簡(jiǎn)化流程圖;圖6是在該創(chuàng)作碼流中用于采樣的MSB/LSB拆分的視圖;圖7是包括該MSB和LSB部分和報(bào)頭信息在內(nèi)的碼流的視圖;圖8是用于該無損和創(chuàng)作碼流的載荷的曲線;
圖9是音頻解碼器的簡(jiǎn)化方框圖;圖10是該解碼過程的流程圖;圖11是組合碼流的視圖;圖12-15說明了該用于一特別實(shí)施例的碼流格式、編碼、創(chuàng)作和解碼;以及圖16a和16b是用于與有損核心編碼器反向兼容的、用于可縮放的無損編解碼器的編碼器和解碼器的方框圖。
具體實(shí)施例方式
本發(fā)明提供一種無損音頻編解碼器和創(chuàng)作工具,用于有選擇地丟棄位以滿足介質(zhì)、通道、解碼器緩沖區(qū)或播放設(shè)備比特率限制而不用過濾該音頻輸入文件、重新編碼或中斷該無損碼流。
如圖2所示,音頻編碼器20在一分析窗口序列中對(duì)音頻數(shù)據(jù)無損編碼,并將該編碼數(shù)據(jù)和報(bào)頭信息打包到適于存儲(chǔ)在檔案24中的可縮放的無損碼流22中。該分析窗口一般是編碼數(shù)據(jù)幀,但是如在這里所使用的那樣,窗口可以跨越多個(gè)幀。此外,該分析窗口可以被精確為一幀中的一個(gè)或多個(gè)數(shù)據(jù)段、一段內(nèi)的一個(gè)或多個(gè)通道集、在每個(gè)通道集中的一個(gè)或多個(gè)通道,最終為一個(gè)通道內(nèi)的一個(gè)或多個(gè)頻率擴(kuò)展。用于該碼流的縮放精度可以是非常粗糙的(多幀)或更精確的(每一頻率擴(kuò)展、每一通道集、每一幀)。
創(chuàng)作工具30被用于按照該解碼器的緩沖區(qū)容量在盤(介質(zhì))上布置該編碼數(shù)據(jù)。該初始布局對(duì)應(yīng)于該緩沖載荷。對(duì)于每個(gè)分析窗口,該工具將該緩沖載荷與允許載荷相比較以確定該布局是否需要任何修改。該允許載荷一般是介質(zhì)(DVD磁盤)或傳輸通道所支持的最高比特率的函數(shù)。該允許載荷可以是固定的或者如果是全局優(yōu)化的一部分則允許變化。該創(chuàng)作工具有選擇地縮放非相容窗口中的無損編碼音頻數(shù)據(jù)以減少該編碼載荷,因此也減少了緩沖載荷。該縮放過程為該編碼數(shù)據(jù)引入一些損失,但僅被限制在非相容窗口中并適于僅僅足夠使每個(gè)窗口一致。該創(chuàng)作工具將該無損的和有損的數(shù)據(jù)和任何修改的報(bào)頭信息打包到碼流32中。該碼流32一般被存儲(chǔ)于介質(zhì)34上或在傳輸通道36上被發(fā)送以用于由一音頻解碼器38進(jìn)行的后續(xù)播放,該解碼器產(chǎn)生一單通道或多通道的PCM(脈沖編碼調(diào)制)音頻流40。
在如圖3和4所示的示范性實(shí)施例中,該音頻編碼器20將每個(gè)音頻采樣拆分成一MSB部分42和LSB部分44(步驟46)。拆分該音頻數(shù)據(jù)的邊界點(diǎn)48通過如下方式計(jì)算,首先指定一最小MSB位寬(Min MSB)50以對(duì)于每個(gè)音頻采樣確定一最小編碼級(jí)別。例如,如果音頻數(shù)據(jù)的位寬52是20位,該Min MSB可能是16位。因而斷定,最大LSB位寬(MaxLSB)54是位寬52減去Min MSB 50。該編碼器計(jì)算一用于分析窗口中的音頻數(shù)據(jù)的代價(jià)函數(shù),例如L2或L∞規(guī)范。如果該代價(jià)函數(shù)超過一閾值,該編碼器計(jì)算一LSB位寬56,其至少是一位并且不大于Max LSB。如果該代價(jià)函數(shù)不超過該閾值,該LSB位寬56被設(shè)定為零位。通常,對(duì)于每個(gè)分析窗口完成該MSB/LSB拆分。如上所述,其一般是一個(gè)或多個(gè)幀。該拆分可以被進(jìn)一步精確為例如每個(gè)數(shù)據(jù)段、通道集、通道或頻率擴(kuò)展。以附加的計(jì)算和碼流中的更多額外開銷為代價(jià),更精確可以改善編碼性能。
該編碼器用不同的無損算法對(duì)該MSB部分(步驟58)和LSB部分(步驟60)無損編碼。暫時(shí)地在任一通道內(nèi)和通道之間,MSB部分中的音頻數(shù)據(jù)一般都高度關(guān)聯(lián)。所以,該無損算法適于使用熵編碼、固定預(yù)測(cè)、自適應(yīng)預(yù)測(cè)和連接通道解相關(guān)方法以有效地對(duì)該MSB部分編碼。適當(dāng)?shù)臒o損編碼器被描述于提交于2004年8月8日序號(hào)為10/911067的待審查申請(qǐng)“Lossless Multi-Channel Audio Codec”中,該申請(qǐng)以引用的形式包含于此。其它適當(dāng)?shù)臒o損編碼器包括MLP(DVD音頻)、Monkey’s audio(計(jì)算機(jī)應(yīng)用程序)、Apple lossless、WindowsMedia Pro lossless、AudioPak、DVD、LTAC、MUSICcompress、OggSquish、Philips、Shorten、Sonarc和WA。對(duì)這些編解碼器的評(píng)論由Mat Hans、Ronald Schafer的“Lossless Compression of DigitalAudio”Hewlett Packard,1999提供。
相反的,該LSB部分中的音頻數(shù)據(jù)是非常不相干的,更接近于噪聲。所以,復(fù)雜的壓縮技術(shù)很大程度上是無效的而且消耗處理資源。此外,為有效地創(chuàng)作該碼流,一種利用跟隨簡(jiǎn)單的熵編碼器的非常低階的簡(jiǎn)單化預(yù)測(cè)的非常簡(jiǎn)單的無損編碼是非常令人期望的。事實(shí)上,該當(dāng)前首選的算法是通過簡(jiǎn)單地復(fù)制LSB位對(duì)該LSB部分編碼。這將允許單個(gè)LSB被丟棄而不用對(duì)LSB部分解碼。
該編碼器分別將該編碼MSB和LSB部分打包到一可縮放的、無損碼流62,以便它們能夠被容易地解包和解碼(步驟64)。除該標(biāo)準(zhǔn)報(bào)頭信息之外,該編碼器將該LSB位寬56打包到該報(bào)頭中(步驟66)。該報(bào)頭也包括用于一LSB位寬縮減68的空間,該空間不在編碼期間使用。為拆分被重新計(jì)算的每個(gè)分析窗口(多幀、幀、段、通道集或頻率擴(kuò)展)重復(fù)該過程。
如圖5、圖6和圖7所示,當(dāng)在與該解碼器緩沖區(qū)容量一致的介質(zhì)上布置該音頻和視頻碼流(步驟70)時(shí),該創(chuàng)作工具30允許用戶完成第一遍以滿足該介質(zhì)的最大比特率限制。該創(chuàng)作工具開始該分析窗口循環(huán)(步驟71),計(jì)算一緩沖載荷(步驟72)并且對(duì)于分析窗口73,比較該緩沖載荷與允許載荷,來決定該無損碼流是否需要任何縮放以滿足該限制(步驟74)。該允許載荷由音頻解碼器的緩沖區(qū)容量和介質(zhì)或通道的最大比特率確定。該編碼載荷由音頻數(shù)據(jù)位寬和所有數(shù)據(jù)段75加上報(bào)頭76中的采樣數(shù)目確定。如果該允許載荷沒有被超過,該無損編碼MSB和LSB部分被打包到在一修改的碼流79中的數(shù)據(jù)段75的各自的MSB/LSB區(qū)域77和78中(步驟80)。如果該允許載荷從沒有被超過,該無損碼流被直接傳遞到該介質(zhì)或通道。
如果該緩沖載荷超過允許載荷,該創(chuàng)作工具將該報(bào)頭和無損編碼MSB部分42打包到該修改的碼流79中(步驟81)。基于優(yōu)先規(guī)則,該創(chuàng)作工具計(jì)算將減少編碼載荷的LSB位寬縮減68,由此緩沖載荷至多達(dá)到允許載荷(步驟82)。假定在無損編碼期間,該LSB部分被簡(jiǎn)單地復(fù)制,該創(chuàng)作工具縮放該LSB部分(步驟84),這優(yōu)選地通過向每個(gè)LSB部分增加抖動(dòng)以便抖動(dòng)下一個(gè)LSB位通過該LSB位寬縮減,然后以該LSB位寬縮減向右移動(dòng)該LSB部分以丟棄位。如果該LSB部分被編碼,其將不得不被解碼、抖動(dòng)、移位并重新編碼。對(duì)于當(dāng)前相容窗口,該工具將當(dāng)前有損編碼的LSB部分隨同修改的LSB位寬56和LSB位寬縮減68和抖動(dòng)參數(shù)一起打包到該碼流中(步驟86)。
如圖6所示,該LSB部分44已經(jīng)從3位位寬被縮放為1位修改的LSB位寬56。兩個(gè)被丟棄的LSB 88與2位的LSB位寬縮減68匹配。在該示范性實(shí)施例中,該修改的LSB位寬56和LSB位寬縮減68在報(bào)頭中被發(fā)送到解碼器??蛇x的,這些中的任一個(gè)可以被省略并且發(fā)送原始LSB位寬。該參數(shù)中的任一個(gè)由另外兩個(gè)唯一確定。
如圖8所示,通過在圖1上對(duì)創(chuàng)作碼流覆蓋緩沖載荷90,很好地說明了該可縮放的無損編碼器和創(chuàng)作工具的好處。使用改變音頻文件的已知方法以刪除內(nèi)容并用無損編碼器簡(jiǎn)單地重新編碼,該緩沖載荷14被有效地向下移動(dòng)到小于該允許載荷10的緩沖載荷16。要保證最大載荷小于允許載荷,該全部碼流中相當(dāng)大量的內(nèi)容被損耗。通過比較,除了在該緩沖載荷超過允許載荷的少數(shù)窗口(幀)中以外,該緩沖載荷90重復(fù)原始無損緩沖載荷14。在這些區(qū)域中,該編碼載荷,即緩沖載荷被減少到僅僅足夠滿足該限制并且不會(huì)更大。結(jié)果,載荷容量被更有效地使用而且更多的內(nèi)容被傳送給最終用戶而不需要改變?cè)撛家纛l文件或重新編碼。
如圖9、圖10和圖11所示,該音頻解碼器38通過盤100接收創(chuàng)作碼流。該碼流被拆分成一分析窗口序列,每個(gè)窗口均包括報(bào)頭信息和編碼音頻數(shù)據(jù)。大多數(shù)窗口包括無損編碼MSB和LSB部分、原始LSB位寬和值為零0的LSB位寬縮減。為了滿足該由盤100的最大比特率和緩沖區(qū)102的容量所設(shè)定的載荷限制,一些窗口包括無損編碼的MSB部分和有損LSB部分、有損LSB部分的修改的位寬和LSB位寬縮減。
控制器104從該盤100上的碼流中讀取該編碼的音頻數(shù)據(jù)。分析器106將該音頻數(shù)據(jù)從視頻中分離出來并將該音頻數(shù)據(jù)注入到該音頻緩沖區(qū)102,由于該創(chuàng)作該注入操作不會(huì)溢出。對(duì)于當(dāng)前分析窗口,該緩沖區(qū)依次向DSP芯片108提供充分的數(shù)據(jù)以解碼該音頻數(shù)據(jù)。該DSP芯片從一原始字寬中提取包括修改的LSB位寬56、LSB位寬縮減68、許多空LSB 112在內(nèi)的報(bào)頭信息(步驟110),并提取、解碼和組合該音頻數(shù)據(jù)的MSB部份(步驟114)。如果在創(chuàng)作過程中所有LSB被丟棄或者原始LSB位寬是0(步驟115),該DSP芯片將該MSB采樣轉(zhuǎn)化為該原始位寬字并輸出該P(yáng)CM數(shù)據(jù)(步驟116)。否則,該DSP芯片解碼該無損和有損LSB部分(步驟118),組合該MSB和LSB采樣(步驟120)并利用該報(bào)頭信息將該組合采樣轉(zhuǎn)化為原始位寬字(步驟122)。
多通道的音頻編解碼器和創(chuàng)作工具在圖12-15中示出了一個(gè)音頻編解碼器和創(chuàng)作工具的示范性實(shí)施例,用于由一個(gè)幀序列表示的編碼的音頻碼流。如圖12所示,每個(gè)幀200包括用于存儲(chǔ)公共信息204的報(bào)頭202和用于存儲(chǔ)該LSB位寬和LSB位寬縮減的用于每個(gè)通道集的副報(bào)頭206,和一個(gè)或多個(gè)數(shù)據(jù)段208。每個(gè)數(shù)據(jù)段包括一個(gè)或多個(gè)通道集210,而每個(gè)通道集包括一個(gè)或多個(gè)音頻通道212。每個(gè)通道包括一個(gè)或多個(gè)頻率擴(kuò)展214,而至少該最低頻率擴(kuò)展包括編碼的MSB和LSB部分216、218。對(duì)于每幀中每個(gè)通道集的每個(gè)通道,該碼流有一獨(dú)特的MSB和LSB拆分。較高頻率擴(kuò)展可以被類似地拆分或完全編碼作為L(zhǎng)SB部分,。
如圖13a和13b所說明的該碼流所被創(chuàng)作的可縮放的無損碼流被編碼。該編碼器設(shè)置該原始字的位寬(24位)、Min MSB(16位)、用于平方(squared)L2規(guī)范(norm)的閾值(Th)和用于該規(guī)范的比例(SF)(步驟220)。該編碼器開始幀循環(huán)(步驟222)和通道集循環(huán)(步驟224)。由于該音頻數(shù)據(jù)的實(shí)際寬度(20位)可能小于該原始字寬,該編碼器計(jì)算空LSB的數(shù)量(24-20=4)(在當(dāng)前幀的任一PCM采樣中“0”LSB的最小數(shù)目)并以該數(shù)量右移每個(gè)采樣(步驟226)。該數(shù)據(jù)的位寬是原始位寬(24)減去空LSB的數(shù)量(4)(步驟228)。然后編碼器確定允許被編碼為該LSB部分的一部分的最大位數(shù)(MaxLSB)為Max(位寬-Min MSB,0)(步驟230)。在當(dāng)前例子中,該Max LSB=20-16=4位。
為了確定用于將該音頻數(shù)據(jù)拆分成MSB和LSB部分的邊界點(diǎn),編碼器開始通道循環(huán)索引(步驟232)并計(jì)算L∞規(guī)范作為通道中音頻數(shù)據(jù)最大絕對(duì)振幅和平方L2規(guī)范作為在分析窗口中音頻數(shù)據(jù)的振幅平方和(步驟234)。該編碼器將參數(shù)Max Amp設(shè)定為大于或等于log2(L∞)的最小整數(shù)(步驟236)并將該LSB位寬初始化為零(步驟237)。如果Max Amp大于Min MSB(步驟238),該LSB位寬被設(shè)定等于MaxAmp和Min MSB的差(步驟240)。否則,如果L2規(guī)范超過該閾值(小振幅但是值得考慮的差異)(步驟242),該LSB位寬被設(shè)定等于該Max Amp除以一個(gè)比例,一般大于1(步驟244)。如果兩個(gè)測(cè)試都為假,該LSB位寬保持為零。換句話說,為保持該例如Min MSB的最小編碼品質(zhì),LSB均無效。編碼器將該LSB位寬減小為值Max LSB(步驟246)并將該值打包到副報(bào)頭通道集中(步驟248)。
一旦其邊界點(diǎn)例如該LSB的位寬已經(jīng)被確定,該編碼器將該音頻數(shù)據(jù)拆分成MSB和LSB部分(步驟250)。利用一適當(dāng)?shù)乃惴?步驟252)該MSB部分被無損編碼并被打包到在當(dāng)前幀的通道集的特殊通道上的最低頻率擴(kuò)展(步驟254)。利用一適當(dāng)?shù)乃惴?,例如?jiǎn)單的位復(fù)制(步驟256)該LSB部分被無損編碼并被打包(步驟258)。
在該碼流中,該處理被重復(fù)用于每個(gè)通道(步驟260)、每個(gè)通道集(步驟262)、每幀(步驟264)。此外,同樣的過程可以被重復(fù)用于較高的頻率擴(kuò)展。然而,因?yàn)檫@些擴(kuò)展包括更少的信息,該MinMSB可以被設(shè)定為0以便其被全部編碼為L(zhǎng)SB。
一旦該可縮放的無損碼流被編碼用于某些音頻內(nèi)容,一創(chuàng)作工具生成其所能生成的最好碼流以滿足傳播介質(zhì)的最大比特率限制和音頻解碼器的緩沖區(qū)容量。如圖14所示,一個(gè)用戶嘗試在該介質(zhì)上布置無損碼流268以符合比特率和緩沖區(qū)容量限制(步驟270)。如果成功,該無損碼流268被當(dāng)做創(chuàng)作碼流272寫出并被存儲(chǔ)于該介質(zhì)上。否則該創(chuàng)作工具開始幀循環(huán)(步驟274)并將該緩沖載荷(緩沖的平均幀到幀載荷)與允許載荷(最大比特率)相比較(步驟276)。如果該當(dāng)前幀符合該允許載荷,該無損編碼的MSB和LSB部分被從該無損碼流268中提取出并寫入創(chuàng)作碼流272,而且?guī)辉黾印?br>
如果該創(chuàng)作工具遇到一個(gè)緩沖載荷超過允許載荷的非相容幀,該工具通過丟棄通道集中的所有LSB部分來計(jì)算可以實(shí)現(xiàn)的最大縮減并將其從緩沖載荷中減去(步驟278)。如果該最小載荷仍舊太大,該工具顯示一包括超額數(shù)據(jù)和幀號(hào)碼的錯(cuò)誤消息(步驟280)。這樣,或者M(jìn)in MSB應(yīng)被減少或者該原始音頻文件應(yīng)被改變和重新編碼。
否則,基于一特定通道優(yōu)先規(guī)則,該創(chuàng)作工具計(jì)算一用于當(dāng)前幀中每個(gè)通道的LSB位寬縮減(步驟282),例如位寬縮減[nCh]<LSB位寬[nCh],對(duì)于nCh=0,...所有通道-1,以及緩沖載荷[nFr]-∑(位寬縮減[nCh]*NumSamplesin Frame)<允許載荷[nFr]通過使LSB位寬縮減這些值將保證該幀符合允許載荷。這將使最小量的損耗引入該非相容幀而且沒有影響該無損相容幀。
通過向該幀中每個(gè)LSB部分增加抖動(dòng)以抖動(dòng)下一位并且以LSB位寬縮減向右移動(dòng)(步驟284),創(chuàng)作工具對(duì)每個(gè)通道調(diào)整該編碼的LSB部分(采取位復(fù)制編碼)。增加抖動(dòng)不是必需的,但是為了解相關(guān)該量化誤差并使其從該原始音頻信號(hào)解相關(guān),增加抖動(dòng)是非常值得的。該工具將該當(dāng)前有損縮放的LSB部分(步驟286)、對(duì)于每個(gè)通道的修改的LSB位寬和LSB位寬縮減(步驟288)和該修改的流導(dǎo)航點(diǎn)(步驟290)打包到該創(chuàng)作碼流中。如果抖動(dòng)被加入,一抖動(dòng)參數(shù)也被打包到該碼流中。而后對(duì)每個(gè)幀重復(fù)該處理(步驟292),之后終止處理(步驟294)。
如圖15a和圖15b所示,一適當(dāng)?shù)慕獯a器同步于該碼流(步驟300)并開始一幀循環(huán)(步驟302)。該解碼器提取包括段數(shù)量、一段中的采樣數(shù)量、通道集數(shù)量等等的幀報(bào)頭信息(步驟304)并對(duì)每個(gè)通道集提取包括該集中的通道數(shù)量、空LSB數(shù)量、LSB位寬、LSB位寬縮減的通道集報(bào)頭信息(步驟306)并為每個(gè)通道集進(jìn)行存儲(chǔ)(步驟307)。
一旦該報(bào)頭信息可用,對(duì)當(dāng)前幀該解碼器開始一段循環(huán)(步驟308)和通道集循環(huán)(步驟310)。該解碼器解包并解碼該MSB部分(步驟312)并存儲(chǔ)該P(yáng)CM采樣(步驟314)。然后該解碼器開始在當(dāng)前通道集中的通道循環(huán)(步驟316)并處理該編碼的LSB數(shù)據(jù)。
如果該修改的LSB位寬不超過零(步驟318),該解碼器開始當(dāng)前段中的采樣循環(huán)(步驟320),對(duì)于該MSB部分將該P(yáng)CM采樣轉(zhuǎn)化為該原始字寬(步驟322)并重復(fù)直到采樣循環(huán)終止(步驟324)。
否則,該解碼器開始當(dāng)前段中的采樣循環(huán)(步驟326)、解包并解碼該LSB部分(步驟328)并通過向MSB部分附加LSB部分來組合PCM采樣(步驟330)。然后該解碼器利用來自報(bào)頭的空LSB、修改的LSB位寬和LSB位寬縮減信息將該P(yáng)CM采樣轉(zhuǎn)化為該原始字寬(步驟332)并重復(fù)該步驟直到采樣循環(huán)終止(步驟334)。為重建該全部音頻序列,解碼器對(duì)于在每幀中(步驟340)每個(gè)通道集(步驟338)的每個(gè)通道(步驟336),重復(fù)這些步驟。
反向兼容的可縮放音頻編解碼器該可縮放屬性可以被包含于一種反向兼容的無損編碼器、碼流格式和解碼器中。一“有損”核心編碼流與該音頻數(shù)據(jù)的無損編碼MSB和LSB部分一起打包以用于傳輸(或記錄)。在一帶有擴(kuò)展的無損特性的解碼器的解碼過程中,該有損和無損MSB流被結(jié)合并且該LSB流被附加用以構(gòu)造一無損的重建信號(hào)。在一早先生成的解碼器中,該無損MSB和LSB擴(kuò)展流被忽略,并且該核心“有損”流被解碼用以提供一高品質(zhì)、多通道的帶有核心流帶寬和信噪比特征的音頻信號(hào)。
圖16a顯示一可縮放的反向兼容編碼器400的系統(tǒng)級(jí)視圖。一數(shù)字化音頻信號(hào)即合適的M位PCM音頻采樣,被提供于輸入402。更適宜的,該數(shù)字化音頻信號(hào)具有一超過修改的有損核心編碼器404的采樣率和帶寬。在一實(shí)施例中,數(shù)字化音頻信號(hào)的采樣率是96kHz(相應(yīng)于用于被采樣的音頻的48KHz的帶寬)。應(yīng)該理解為該輸入音頻可能是,而且更適于是多通道信號(hào),其中每個(gè)通道在96KHz采樣。接下來的討論將集中于該單個(gè)通道的處理,但是擴(kuò)展到多通道是簡(jiǎn)單的。該輸入信號(hào)被復(fù)制于節(jié)點(diǎn)406上并在并聯(lián)支路中處理。在該信號(hào)通路的第一支路中,一修改的無損寬帶編碼器404對(duì)該信號(hào)編碼。后面所詳細(xì)描述的該修改的核心編碼器404產(chǎn)生一傳送給打包機(jī)或多路器410的編碼數(shù)據(jù)流(核心流408)。該核心流408也被傳送給產(chǎn)生一修改的重建核心信號(hào)414作為輸出的修改的核心流解碼器412,所述核心流被右移N位(>>N 415)以丟棄其N lsb。
其間,并行通路中的輸入數(shù)字化音頻信號(hào)402經(jīng)受一補(bǔ)償延遲416,其實(shí)質(zhì)上等于引入該重建音頻流的延遲(通過修改的編碼和修改解碼器),以產(chǎn)生一延遲數(shù)字化音頻流。如上所述,該音頻流被拆分成MSB和LSB部分417。該N位LSB部分418被傳送給打包機(jī)410。該被移動(dòng)以與MSB部分對(duì)準(zhǔn)的M-N位重建核心信號(hào)414,在減法節(jié)點(diǎn)420中從延遲數(shù)字化音頻流419的MSB部份中減去。(注意,通過改變?cè)撘粋€(gè)輸入的極性,一加法節(jié)點(diǎn)可以被減法節(jié)點(diǎn)代替。因而對(duì)于該目的,加法和減法實(shí)質(zhì)上可以是相等的)。
減法節(jié)點(diǎn)420產(chǎn)生一表示該原始信號(hào)的M-N MSB和該重建核心信號(hào)之間的差值的差分信號(hào)422。為完全實(shí)現(xiàn)“無損”編碼,有必要用無損編碼技術(shù)編碼并發(fā)送該差分信號(hào)。因此,該M-N位差分信號(hào)422通過一無損編碼器424被編碼,并且該編碼M-N位信號(hào)426通過打包機(jī)410中的核心流408被打包或多路復(fù)用以產(chǎn)生一多路復(fù)用的輸出碼流428。注意該無損編碼產(chǎn)生以一可變比特率的編碼無損碼流418和426,以適應(yīng)該無損編碼器的需要。然后該填充流被可選地從屬于更多包括信道編碼在內(nèi)的編碼層,然后被發(fā)送或記錄。注意對(duì)于本公開的目的,記錄可以被認(rèn)為是一通道上的傳輸。
該核心編碼器404被描述為“修改的”,因?yàn)樵谝荒軌蛱幚頂U(kuò)展帶寬的實(shí)施例中該核心編碼器可能需要修改。一編碼器內(nèi)的64頻帶的分析過濾器組丟棄其一半的輸出數(shù)據(jù)并僅編碼低32頻帶。該被丟棄的信息與不能重建信號(hào)頻譜上半部的舊解碼器(legacy decoders)無關(guān)。該剩余信息被作為每個(gè)未修改的編碼器編碼以構(gòu)成一反向兼容的核心輸出流。然而,在工作于或低于48KHz采樣率的另一個(gè)實(shí)施例中,該核心編碼器可以是一現(xiàn)有核心編碼器的實(shí)質(zhì)上未修改的版本。同樣地,對(duì)于在高于舊解碼器采樣率的頻率上的操作,該核心解碼器412需要按如下所述的被修正。對(duì)于在常規(guī)采樣率上(例如,48KHz以及更低的)的操作,該核心解碼器可以是一現(xiàn)有核心解碼器或等效物的實(shí)質(zhì)上未修正的版本。在一些實(shí)施例中,采樣率的選擇可以在編碼的同時(shí)被完成,并且此時(shí)根據(jù)需要該編碼和解碼模塊被軟件重新配置。
如圖16b所示,該解碼方法與編碼方法是互補(bǔ)的。通過簡(jiǎn)單解碼該核心流408并丟棄該無損MSB和LSB部分,一早先生成的解碼器可以解碼該有損核心音頻信號(hào)。此種早先生成的解碼器所生成的音頻的品質(zhì)將會(huì)非常好,相當(dāng)于早先生成的音頻,僅僅是非無損的。
現(xiàn)在參考圖16b,該輸入碼流(從一傳輸通道或一記錄介質(zhì)中恢復(fù))首先在從無損擴(kuò)展數(shù)據(jù)流418(LSB)和426(MSB)拆分出核心流408的解包器430中被解包。該核心流被修改的核心解碼器432解碼,該核心解碼器432在重建時(shí)對(duì)一64頻帶合成中的高32頻帶通過結(jié)束未發(fā)送的副頻帶采樣來解碼該核心流。(注意,如果一標(biāo)準(zhǔn)核心編碼被執(zhí)行,該結(jié)束是不必要的)。該MSB擴(kuò)展域被一無損MSB解碼器434解碼。因?yàn)槔梦粡?fù)制該LSB數(shù)據(jù)被無損編碼,解碼不是必需的。
在并行地對(duì)核心無損MSB擴(kuò)展解碼后,隨著該內(nèi)插的核心重建數(shù)據(jù)被右移N位436并通過在加法器438中添加同該數(shù)據(jù)的無損部份結(jié)合。該總輸出被左移N位440以組成該無損MSB部分442,并與N位LSB部分444組合以產(chǎn)生作為原始音頻信號(hào)402的無損重建表示的PCM數(shù)據(jù)字446。
因?yàn)橥ㄟ^從該準(zhǔn)確的輸入信號(hào)中減去一解碼有損重建該信號(hào)被編碼,該重建信號(hào)表示一原始音頻數(shù)據(jù)的準(zhǔn)確重建。因此,反過來說,一有損編解碼器和一無損編碼信號(hào)的結(jié)合實(shí)際上作為一真正的無損編解碼器執(zhí)行,但是其有額外的優(yōu)勢(shì)即該編碼數(shù)據(jù)保持與早先生成的無損解碼器的兼容。此外,該碼流可以通過有選擇地丟棄LSB被縮放以使其與介質(zhì)的比特率限制和緩沖區(qū)容量相符。
雖然示出和描述了本發(fā)明的說明性實(shí)施例,許多變化和備用實(shí)施例將被本領(lǐng)域的普通技術(shù)人員想到。并且在不背離如附隨的權(quán)利要求書所限定的精神和本發(fā)明范圍的情況下可以設(shè)計(jì)各種變化和備用實(shí)施例。
權(quán)利要求
1.一種編碼和創(chuàng)作音頻數(shù)據(jù)的方法,包括將一分析窗口序列中的音頻數(shù)據(jù)無損編碼成可縮放碼流;對(duì)于每個(gè)窗口,將用于編碼的音頻數(shù)據(jù)的緩沖載荷與允許載荷相比較;以及縮放在非相容窗口中的無損編碼的音頻數(shù)據(jù)以便用于該碼流的緩沖載荷不超過允許載荷,所述縮放操作將損失引入這些窗口中的編碼數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其中對(duì)于每個(gè)分析窗口,音頻數(shù)據(jù)被拆分成最高有效位(MSB)和最低有效位(LSB)部分并用不同的無損算法編碼。
3.根據(jù)權(quán)利要求2所述的方法,其中所述音頻數(shù)據(jù)通過如下方式拆分;設(shè)定一最小MSB位寬(Min MSB);計(jì)算用于分析窗口中的音頻數(shù)據(jù)的代價(jià)函數(shù);如果該代價(jià)函數(shù)超過一個(gè)閾值,則計(jì)算滿足該Min MSB的至少一位的LSB位寬;以及如果該代價(jià)函數(shù)不超過該閾值,則將該LSB位寬設(shè)定為零位。
4.根據(jù)權(quán)利要求3所述的方法,還包括;計(jì)算最大LSB位寬(Max LSB)作為音頻數(shù)據(jù)位寬減去Min MSB;計(jì)算一L∞規(guī)范作為該分析窗口中音頻數(shù)據(jù)的最大絕對(duì)振幅;計(jì)算Max Amp作為表示等于-L∞的值的采樣所需的位數(shù);計(jì)算平方L2規(guī)范作為該分析窗口中音頻數(shù)據(jù)的振幅平方和;如果Max Amp不超過Min MSB而且該L2規(guī)范不超過一個(gè)閾值,則將該LSB位寬設(shè)定為零位;如果Max Amp不超過Min MSB但是該L2規(guī)范超過該閾值,則將該LSB位寬設(shè)定為Max LSB位寬除以一比例;如果Max Amp超過Min MSB,則將該LSB位寬設(shè)定為Max Amp減去Min MSB。
5.根據(jù)權(quán)利要求4所述的方法,其中LSB位寬被限制在由音頻數(shù)據(jù)的字寬所確定的最大LSB位寬(Max LSB)和Min MSB之間。
6.根據(jù)權(quán)利要求2所述的方法,其中對(duì)于每個(gè)分析窗口,LSB位寬和該編碼的MSB和LSB部分被打包到一碼流中。
7.根據(jù)權(quán)利要求2所述的方法,其中該MSB部分由包括多個(gè)音頻通道之間的解相關(guān)和每個(gè)音頻通道內(nèi)的自適應(yīng)預(yù)測(cè)在內(nèi)的無損算法來編碼。
8.根據(jù)權(quán)利要求2所述的方法,其中該LSB部分由復(fù)制位以用于PCM采樣的無損算法來編碼。
9.根據(jù)權(quán)利要求2所述的方法,其中該LSB部分由使用低階預(yù)測(cè)和熵編碼的無損算法來編碼。
10.根據(jù)權(quán)利要求2所述的方法,其中所述分析窗口是幀,每個(gè)幀包括一用于存儲(chǔ)LSB位寬的報(bào)頭和一個(gè)或多個(gè)段,每個(gè)段包括一個(gè)或多個(gè)通道集,每個(gè)通道集包括一個(gè)或多個(gè)音頻通道,每個(gè)通道包括一個(gè)或多個(gè)頻率擴(kuò)展,所述最低頻率擴(kuò)展包括編碼MSB和LSB部分。
11.根據(jù)權(quán)利要求10所述的方法,其中對(duì)于每幀中的每個(gè)通道集中的每個(gè)通道,碼流具有清楚的MSB和LSB拆分。
12.根據(jù)權(quán)利要求11所述的方法,其中所述較高頻率擴(kuò)展僅包括編碼LSB部分。
13.根據(jù)權(quán)利要求2所述的方法,其中該碼流通過如下方式被創(chuàng)作,對(duì)于所有窗口將該無損編碼MSB部分打包到該碼流中;對(duì)于相容窗口將該無損編碼LSB部分打包到該碼流中;對(duì)于任一非相容窗口縮放該無損編碼LSB部分以使其相容;以及對(duì)于當(dāng)前相容窗口將該當(dāng)前有損編碼LSB部分打包到該碼流中。
14.根據(jù)權(quán)利要求13所述的方法,其中該LSB部分通過如下方式被縮放,對(duì)于分析窗口計(jì)算一個(gè)LSB位寬縮減;解碼該非相容窗口中的LSB部分;通過丟棄所述數(shù)量的LSB,由所述LSB位寬縮減來減少所述LSB部分;利用無損編碼算法編碼該修改的LSB部分;打包該編碼的LSB部分;以及將該修改的LSB位寬和該LSB位寬縮減打包到該碼流中。
15.根據(jù)權(quán)利要求14所述的方法,其中該無損編碼為簡(jiǎn)單的位復(fù)制,其中LSB部分通過如下方式被減少,向每個(gè)LSB部分增加抖動(dòng)以便抖動(dòng)下一個(gè)LSB通過該LSB位寬縮減;以及以該LSB位寬縮減向右移動(dòng)該LSB部分。
16.根據(jù)權(quán)利要求14所述的方法,其中該LSB位寬縮減正好足夠使得該緩沖載荷不超過允許載荷。
17.根據(jù)權(quán)利要求14所述的方法,其中該音頻數(shù)據(jù)包括多個(gè)通道,根據(jù)一通道優(yōu)先規(guī)則為每個(gè)通道計(jì)算所述LSB位寬縮減。
18.一種為音頻數(shù)據(jù)編碼可縮放的無損碼流的方法,包括對(duì)于一分析窗口確定一個(gè)將音頻數(shù)據(jù)拆分成一MSB和一LSB部分的斷點(diǎn);對(duì)該MSB部分無損編碼;對(duì)該LSB部分無損編碼;將該編碼MSB部分和LSB部分打包到一無損碼流;以及將該LSB部分的位寬打包到該無損碼流。
19.根據(jù)權(quán)利要求18所述的方法,其中該斷點(diǎn)通過如下方式被確定設(shè)定一最小MSB位寬(Min MSB);計(jì)算用于分析窗口中的音頻數(shù)據(jù)的代價(jià)函數(shù);如果該代價(jià)函數(shù)超過一個(gè)閾值,則計(jì)算滿足該Min MSB的至少一位的LSB位寬;以及如果該代價(jià)函數(shù)不超過該閾值,則將該LSB位寬設(shè)定為零位。
20.根據(jù)權(quán)利要求18所述的方法,其中該LSB部分由復(fù)制該音頻數(shù)據(jù)的位的無損算法來編碼。
21.一種將音頻碼流創(chuàng)作到介質(zhì)上的方法,包括a)確定用于為解碼器緩沖區(qū)將來自一碼流的編碼音頻數(shù)據(jù)布置到介質(zhì)上的方案,所述碼流包括一分析窗口序列中的無損編碼的MSB和LSB部分;b)對(duì)于下一個(gè)分析窗口,為該編碼音頻數(shù)據(jù)計(jì)算緩沖載荷;c)如果對(duì)于一個(gè)分析窗口,該緩沖載荷在允許載荷之內(nèi),將該無損編碼的MSB和LSB部分打包到一修改的碼流;d)如果對(duì)于一個(gè)分析窗口,該緩沖載荷超過允許載荷,將該無損編碼的MSB部分打包到該修改的碼流;將該無損編碼的LSB部分縮放為一有損編碼的LSB部分,以便該緩沖載荷在該允許載荷之內(nèi);以及將該有損編碼LSB部分和其縮放信息打包到該修改的碼流;以及e)對(duì)于每個(gè)分析窗口重復(fù)步驟b到d。
22.根據(jù)權(quán)利要求21所述的方法,其中該LSB部分通過如下方式縮放,為該分析窗口計(jì)算一LSB位寬縮減;解碼在非相容窗口中的LSB部分;通過丟棄所述數(shù)量的LSB,由所述LSB位寬縮減來減少所述LSB部分;利用無損編碼算法編碼該修改的LSB部分;打包該編碼的LSB部分;以及將該修改的LSB位寬和LSB位寬縮減打包到該修改的碼流中。
23.根據(jù)權(quán)利要求22所述的方法,其中所述無損編碼和解碼是簡(jiǎn)單的位復(fù)制,其中LSB部分通過如下方式被減少,向每個(gè)LSB部分增加抖動(dòng)以便抖動(dòng)下一個(gè)LSB通過該LSB位寬縮減;以及以該LSB位寬縮減向右移動(dòng)該LSB部分。
24.一種制品,包括被分成存儲(chǔ)于介質(zhì)上的編碼音頻數(shù)據(jù)的分析窗口序列的碼流,每個(gè)所述分析窗口中的音頻數(shù)據(jù)被無損編碼,除了根據(jù)需要將所述分析窗口的緩沖載荷減少到允許載荷。
25.根據(jù)權(quán)利要求24所述的制品,其中一些分析窗口包括無損編碼的MSB和LSB部分,并且剩余的分析窗口包括無損編碼的MSB部分和有損編碼LSB部分。
26.根據(jù)權(quán)利要求25所述的制品,其中該碼流包括含有該LSB部分的修改的位寬和該LSB部分的位寬縮減的報(bào)頭信息。
27.根據(jù)權(quán)利要求26所述的制品,其中利用位復(fù)制所述LSB部分被無損和有損編碼。
28.根據(jù)權(quán)利要求27所述的制品,其中該LSB部分的位寬縮減正好足夠使得該緩沖載荷不超過允許載荷。
29.一種音頻碼流的解碼方法,包括接收一碼流作為包括含有LSB位寬、LSB位寬縮減的報(bào)頭信息和含有無損編碼的MSB部分、無損編碼或縮放的LSB部分的音頻數(shù)據(jù)的一分析窗口序列,以使每個(gè)分析窗口的緩沖載荷在允許載荷之內(nèi);對(duì)于每個(gè)分析窗口,提取LSB位寬和LSB位寬縮減;提取該無損編碼的MSB部分并將其解碼成PCM音頻數(shù)據(jù);提取該無損編碼或縮放的LSB部分并將其解碼成PCM音頻數(shù)據(jù);對(duì)于每個(gè)PCM音頻采樣,組合該MSB和LSB部分;利用該LSB位寬和LSB位寬縮減來將該組合PCM音頻數(shù)據(jù)轉(zhuǎn)化為一原始位寬字;以及對(duì)于每個(gè)分析窗口,輸出該P(yáng)CM音頻數(shù)據(jù)。
30.根據(jù)權(quán)利要求29所述的方法,其中該無損編碼和縮放的LSB部分通過位復(fù)制被解碼。
31.一種解碼器芯片,被配置以接收一碼流并輸出PCM音頻數(shù)據(jù),所述芯片被配置以執(zhí)行如下步驟對(duì)于該碼流中的每個(gè)分析窗口,提取一LSB位寬和一LSB位寬縮減;提取無損編碼的MSB部分并將其解碼成PCM音頻數(shù)據(jù);提取無損編碼或縮放的LSB部分并將其解碼成PCM音頻數(shù)據(jù);對(duì)于每個(gè)PCM音頻采樣,組合該MSB和LSB部分;利用該LSB位寬和LSB位寬縮減來將該組合PCM音頻數(shù)據(jù)轉(zhuǎn)化成一原始位寬字;以及對(duì)于每個(gè)分析窗口,輸出該P(yáng)CM音頻數(shù)據(jù)。
32.一種音頻解碼器,包括控制器,用于從介質(zhì)上的碼流中讀取編碼的音頻數(shù)據(jù);緩沖區(qū),用于緩沖存儲(chǔ)編碼的音頻數(shù)據(jù)的多個(gè)分析窗口;以及DSP芯片,用于對(duì)每個(gè)連續(xù)的分析窗口解碼該編碼的音頻數(shù)據(jù)并輸出PCM音頻數(shù)據(jù),所述DSP芯片被配置以解碼包括含有LSB位寬和LSB位寬縮減的報(bào)頭信息和含有無損編碼的MSB部分和無損編碼或縮放的LSB部分的音頻數(shù)據(jù)的分析窗口,其中該緩沖載荷不超過由該介質(zhì)支持的最大比特率和該緩沖區(qū)容量所確定的允許載荷。
33.根據(jù)權(quán)利要求32所述的音頻解碼器,其中該DSP芯片執(zhí)行步驟對(duì)于該碼流中的每個(gè)分析窗口,提取該LSB位寬和LSB位寬縮減;提取該無損編碼的MSB部分并將其解碼成PCM音頻數(shù)據(jù);提取該無損編碼或縮放的LSB部分并將其解碼成PCM音頻數(shù)據(jù);對(duì)于每個(gè)PCM音頻采樣,組合該MSB和LSB部分;利用該LSB位寬和LSB位寬縮減將該組合的PCM音頻數(shù)據(jù)轉(zhuǎn)化成一原始位寬字;以及對(duì)于每個(gè)分析窗口,輸出該P(yáng)CM音頻數(shù)據(jù)。
34.一種為M位音頻數(shù)據(jù)編碼可縮放的無損碼流的方法,其向后兼容于一有損核心解碼器,包括將該M位音頻數(shù)據(jù)編碼成一有損M位核心流;將該有損M位核心流打包到一碼流中;將該M位核心流解碼為一重建核心信號(hào);將該M位音頻數(shù)據(jù)拆分成M-N位MSB和N位LSB部分;將該N位LSB部分打包到該碼流中;將該重建核心信號(hào)右移N位以使其與該MSB部分對(duì)齊;從該MSB部分中減去該重建核心信號(hào)以形成一M-N位剩余信號(hào);對(duì)該剩余信號(hào)無損編碼;將該編碼剩余信號(hào)打包到該碼流中;以及將LSB部分的位寬打包到該無損碼流中。
35.根據(jù)權(quán)利要求34所述的方法,還包括在右移之前向該重建核心信號(hào)增加抖動(dòng),并將一抖動(dòng)參數(shù)打包到該碼流中。
全文摘要
一種將分析窗口序列中的音頻數(shù)據(jù)無損地編碼成可縮放碼流的音頻編解碼器。通過將該音頻數(shù)據(jù)拆分成MSB(最高有效位)和LSB(最低有效位)部分并用不同的無損算法對(duì)每個(gè)部分編碼,所述操作可以被合適地完成。對(duì)于每個(gè)窗口,創(chuàng)作工具比較緩沖載荷與允許載荷,并有選擇地縮放該無損編碼的音頻數(shù)據(jù),適合地,縮放在非相容窗口中的LSB部分以減少該編碼載荷,從而減少緩沖載荷。該方法滿足該介質(zhì)比特率和緩沖容量限制,而不需要過濾該原始音頻數(shù)據(jù)、重新編碼或中斷該無損碼流。
文檔編號(hào)G10L21/04GK1961351SQ200580013443
公開日2007年5月9日 申請(qǐng)日期2005年3月21日 優(yōu)先權(quán)日2004年3月25日
發(fā)明者左蘭·菲左 申請(qǐng)人:Dts公司