两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

利用重復(fù)傳輸包部分的音頻編碼器的制作方法

文檔序號:2821990閱讀:288來源:國知局
專利名稱:利用重復(fù)傳輸包部分的音頻編碼器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及離散包中的信號傳輸,并且尤其是涉及音頻信號的發(fā)送,盡管它也適用于其它的信號如視頻信號等,并且本發(fā)明尤其是涉及數(shù)字編碼音頻信號的傳輸,其中在這樣的音頻信號中,有關(guān)該音頻信號的連續(xù)幀的信息是以所發(fā)送信號的連續(xù)的、離散的包形式發(fā)送的,該信號隨后被一個接收器使用來復(fù)制原始信號(為了便于討論,這里假定在音頻幀與傳輸包之間是一對一對應(yīng)的,但這不是必須的)。本發(fā)明致力于解決當(dāng)傳輸?shù)男畔G失或毀壞時所出現(xiàn)的問題,以致于其中一個或多個包對該接收器來說是不可用的。在很多的發(fā)送系統(tǒng)中都有可能存在這種情況的丟失,例如由于噪聲或(在無線系統(tǒng)中的)衰減。在很多類型的系統(tǒng)中,如因特網(wǎng)這樣的無線服務(wù)-可以在不同的路徑上發(fā)送不同的包,因此就可能存在不同的延遲,這種延遲很大以致會導(dǎo)致包到達(dá)的順序與它們被發(fā)送的順序有很大的不同。常規(guī)地,可以通過提供給該接收器一個引入了延遲的緩沖器來解決該接收器把所接收的包存儲在該緩沖器中,并且如果這些包在發(fā)送器已經(jīng)進(jìn)行了編號,那么接收器就可以按照原始的順序?qū)⑦@些包從緩沖器中讀出,對于很多應(yīng)用來說,如果整個延遲不是太多的話,來自該緩沖器的延遲可以被保持得合理地短,并且在超出該緩沖器延遲周期時一個包也要進(jìn)行延遲的可能性一直存在。在這種情況下,由于該接收器不能使用這個包,于是就把該包合理地丟失。還有人提出(如見J.Bolot和A.Garcia的‘ControlMechanisms for Packet Audio in the Inernet’(在因特網(wǎng)中音頻包的控制機(jī)制),proceedings of IEEEINFOCOM’96,Conference on ComputerCommunications,March 1996,pp232-9以及V.Hardman,M.Sasse,M.Handly和A.Watson的‘Reliable Audio for use over the Internet’(用在因特網(wǎng)上的可靠的音頻),Poceedings of INET’95,June 1995,pp-27-30)一種在信號中提供冗余度的方法,其中每個包不僅攜帶有關(guān)該音頻信號一個幀的數(shù)據(jù),也攜帶有關(guān)該音頻信號的前一個幀的數(shù)據(jù),并使用一個低位(bit)率編碼算法進(jìn)行編碼,以便如果一個單一幀丟失了,可以解碼來自下一個幀的冗余數(shù)據(jù)以便填充否則可能在解碼的音頻信號中發(fā)生的缺陷。但是這種處理非常復(fù)雜,而且由于不連續(xù)的譯碼器操作可能會產(chǎn)生困難,導(dǎo)致失真。
按照本發(fā)明的一個方面,提供了一種傳輸信號的設(shè)備,包括(a)編碼器,用于產(chǎn)生提供第一數(shù)據(jù)的第一輸出以及提供第二增強(qiáng)數(shù)據(jù)的第二輸出,利用該第一數(shù)據(jù)譯碼器可以產(chǎn)生可重建的信號,由此接收第一與第二數(shù)據(jù)的譯碼器可以產(chǎn)生更高質(zhì)量的重建信號;以及(b)運行以組裝用于傳輸?shù)臄?shù)據(jù)包的裝置,每個包包括主要數(shù)據(jù),包含有關(guān)該信號的時間(temporal)部分的第一數(shù)據(jù)以及有關(guān)該信號的同一部分的第二數(shù)據(jù);以及次要數(shù)據(jù),包含有關(guān)該信號的不同的時間部分的第一數(shù)據(jù),但缺少有關(guān)該部分的第二數(shù)據(jù)。
所述的不同的時間部分可以是遲于由該主要數(shù)據(jù)所代表的一部分,例如緊隨著由該主要數(shù)據(jù)代表的部分的部分,或者也可以是早于由該主要數(shù)據(jù)所代表的部分。最好該組裝裝置被布置成在每個包中都包含有一個序列碼以便指示包含在數(shù)據(jù)包中的主要數(shù)據(jù)的時間序列。在一個優(yōu)選配置中,該編碼器運行產(chǎn)生多個提供增強(qiáng)數(shù)據(jù)、代表對重建信號質(zhì)量連續(xù)改進(jìn)的增強(qiáng)數(shù)據(jù)集的輸出,該主要數(shù)據(jù)包含這樣的輸出,而次要數(shù)據(jù)包含有關(guān)信號多個類似的不同時間部分的第一數(shù)據(jù)以及有關(guān)這些部分的逐漸增多的更少量的第二數(shù)據(jù)集。
這些信號可以音頻信號,編碼器是音頻信號編碼器,例如子帶編碼器,其中第一數(shù)據(jù)包含有關(guān)低頻編碼器子帶的數(shù)據(jù)以及第二拉強(qiáng)數(shù)據(jù)包括有關(guān)更高頻率子帶的數(shù)據(jù)。
不管是否使用子帶編碼器,第一數(shù)據(jù)可包含代表數(shù)字值的二進(jìn)制,而第二數(shù)據(jù)包含代表所述數(shù)字值的更優(yōu)分辨率的附加位。
適用于本傳輸設(shè)備(盡管還有其它的應(yīng)用)的一個特定優(yōu)選的子帶編碼器包括(a)濾波器裝置,接收采樣的音頻信號并把該信號分成多個子帶信號,每個子帶信號對應(yīng)各自的頻率子帶;(b)用于量化該子帶信號的量化器;(c)位分配裝置,用于根據(jù)信號的特性,有適應(yīng)性的確定由該量化器使用的量化級別數(shù)(number);其中,該量化器具有用于提供所述的第一數(shù)據(jù)的第一輸出,所述的第一數(shù)據(jù)包括用于一個或多個所述子帶的量化值,以及具有用于提供所述的第二數(shù)據(jù)的第二輸出,對于相對于其在該第一輸出中提供了量化值的至少一個子帶,該第二輸出包括代表針對該一個子帶或一些子帶的低粗糙(coarse)量化值的增強(qiáng)位,以及該位分配裝置用于執(zhí)行第一分配操作,在該操作中,用于第一輸出的第一預(yù)定限額位被在這些子帶之間進(jìn)行分配,隨后是第二分配操作,在第二分配操作中,用于第二輸出處的額外位的第二預(yù)定限額位被在這些子帶之間進(jìn)行分配。
如果需要的話,該第二輸出也可以為至少一個子帶(在該第一輸出處沒有提供與該子帶相關(guān)的量化值)提供量化值。在一個優(yōu)選實施例中,該量化器至少還具有另外一個輸出,該第二輸出與該另外一個輸出為沒有在任何低次(order)輸出中表現(xiàn)的這些子帶提供值,和/或為沒有在低次輸出中表現(xiàn)的子帶提供附加位,該位分配裝置可以執(zhí)行與輸出數(shù)量相等數(shù)量的多個分配操作,每個操作用于為該輸出分配一個各自的限額位給這些子帶。
在本發(fā)明的另一方面,提供了一種用于接收信號的設(shè)備,包括(a)用于接收數(shù)據(jù)包的裝置,每個包包含主要數(shù)據(jù),包含有關(guān)該信號的時間部分的第一數(shù)據(jù)以及有關(guān)該信號的同一部分的第二增強(qiáng)數(shù)據(jù);以及次要數(shù)據(jù),包含有關(guān)該信號的不同的時間部分的第一數(shù)據(jù);(b)用于存儲所接收的數(shù)據(jù)包的緩沖器;
(c)譯碼器,單獨利用該第一數(shù)據(jù)產(chǎn)生一個可重建的信號,并且能同時利用第一與第二數(shù)據(jù)產(chǎn)生高質(zhì)量的重建信號;(d)控制裝置,運行從該緩沖器中讀取有關(guān)該信號的連續(xù)時間部分的主要數(shù)據(jù),并把它們轉(zhuǎn)發(fā)給譯碼器;以及當(dāng)該緩沖器中沒有有關(guān)語音的時間部分的主要數(shù)據(jù)時,讀取有關(guān)該時間部分的第二數(shù)據(jù)并將它轉(zhuǎn)發(fā)給該譯碼器。
最好,當(dāng)該緩沖器中沒有有關(guān)語音的時間部分的第二數(shù)據(jù)時,讀取有關(guān)該語音信號的不同時間部分的第二增強(qiáng)數(shù)據(jù),并將其轉(zhuǎn)發(fā)給譯碼器。
如果每個包都包含一個序列碼以指示包含在其中的該主要數(shù)據(jù)的時間序列,則該控制裝置可以被配置成通過參考該序列碼確定這些包的時間序列,而不必管這些包的實際接收順序。
下面參照附圖通過舉例的形式詳細(xì)地描述本發(fā)明的實施例,其中,

圖1是在本發(fā)明的第一實施例中使用的子帶語音編碼器的方框圖;圖2是與圖1的編碼器一起使用的子帶語音譯碼器的方框圖;圖3是按照本發(fā)明第一實施例的一個發(fā)送器的方框圖;圖4是與圖3的發(fā)送器一起使用的一個接收器的方框圖;圖5是在本發(fā)明的第二實施例中使用的子帶語音編碼器的方框圖6是與圖5的編碼器一起使用的子帶語音譯碼器的方框圖;圖7是按照本發(fā)明第二實施例的發(fā)送器的方框圖。
圖1示出了用于本發(fā)明第1實施例的簡單子帶語音編碼器。在輸入端1接收了數(shù)字樣本序列形式的輸入音頻信號,一般地可以使用16kHz的采樣率,每樣本16位,它被濾波器組2分成32個子帶,每個帶寬是250Hz,因此,最低子帶的頻率范圍是0-250Hz,而最高的頻率范圍是7.75-8Hz。每個子帶隨后以3-500Hz的采樣率進(jìn)行子采樣。
子帶編碼的合理性是不同子帶對所解碼的音頻信號的整個質(zhì)量的相對重要性是不同的,以及可通過為每個子帶分配與其感覺有效位調(diào)整(perceptual significance justifies)一樣多的每樣本位數(shù)來達(dá)到壓縮。在本編碼器中,給每個子帶的分配是固定的,以便例如最低的子帶總是被每樣本分配8位,而第15個子帶總是被每樣本分配4位。這樣固定的分配是基于該語音信號的已知特性,在方框4的框圖中說明了位分配,但是實際上,它僅是包含了從這些樣本中丟棄相應(yīng)數(shù)量的較低的幾位。如目前所描述的,這種配置完全是常規(guī)的,要注意,該編碼器是作為一個語音編碼器介紹的,因為語音特定的固定的位分配;如后面所知的,可以使用更精密的、適應(yīng)性位分配策略以獲得改進(jìn)的語音壓縮,以及其它類型的語音信號。而且,由于該編碼器簡單,它本身并不要求一個幀結(jié)構(gòu);但是,假定1152樣本的引入語音幀,其16kHz采樣率意味著72秒的周期。
由位分配4輸出的樣本被分組成兩個流,第一個包含來自較低16個子帶B0...B15的樣本,而第二包含來自較高16個子帶B16....B31的樣本。很明顯,在每個流中每幀的實際位取決于所分配的實際位數(shù)。
圖2示出一種相應(yīng)的譯碼器(常規(guī)結(jié)構(gòu)),其中子帶B0...B31被以5(back)-16kHz進(jìn)行上采樣并反饋給一個濾波器組6,而其輸出在加法器7中進(jìn)行相加。
如果把兩個流反饋給該譯碼器,則可以恢復(fù)0-8kHz帶寬的語音信號。很明顯,第二個流包含僅關(guān)于位于4-8kHz頻率范圍內(nèi)信號部分的信息。因此,如果第二流被丟失的話,僅利用第一流被解碼產(chǎn)生一個有用的語音信號,雖然頻帶被限于0-4kHz。因此,該編碼器可以認(rèn)為是分層的,在于它接收一個輸入音頻信號并具有一個傳送該信號的編碼版本的第一輸出以及攜帶增強(qiáng)信息的第二輸出,該第二輸出可以與第一輸出一起被解碼以產(chǎn)生高質(zhì)量的解碼的信號。在本說明中,單獨的第一個流被稱作第一層,而兩個流一起被稱作第二層。
圖3給出一種用于傳輸語音信號的設(shè)備。輸入10接收模擬語音信號,該信號通過一個模-數(shù)轉(zhuǎn)換器(ADC)11在來自時鐘發(fā)生器12的16kHz時鐘脈沖φs的控制下以16kHz的采樣率被轉(zhuǎn)換成數(shù)字形式,并被饋送到上面參照圖1描述的子帶編碼器13。該子帶編碼器13具有兩個分別用于攜帶編碼位的第一個流(‘流1’)和第二個流(‘流2’)的輸出,它們被延遲14和15延遲了一個幀周期(72ms),并在來自‘÷1152’電路17的13.89Hz的幀脈沖φF控制下被每隔72ms裝載進(jìn)一個并行輸入、串行輸出的移位寄存器16,以便組裝用于傳輸?shù)陌M瑫r,用于隨后幀的流1位從該編碼器13傳導(dǎo)但不通過延遲15并且也裝載進(jìn)該寄存器16。這意味著每個傳輸?shù)陌灰舶摿?的復(fù)制信息的包(當(dāng)然第一個包除外)領(lǐng)先。如果需要的話,通過再排列這些延遲,這些復(fù)制信息也可以在隨后的包中攜帶,或者實際上在與有疑問的包空間上間隔開二個或更多包的較早或稍后的包中攜帶。一個幀計數(shù)器18周期性從0-255進(jìn)行計數(shù),它以φF為時鐘,以產(chǎn)生一個也要裝載進(jìn)該移位寄存器的幀號fn。該移位寄存器的內(nèi)容可以任意希望的速率在行時鐘(lineclock)φL控制下被時鐘讀出到輸出端19。很明顯,該時鐘速率足夠高以便存儲在該寄存器中的整個包可以在72ms或更少時間內(nèi)(當(dāng)然沒有上限)被時鐘讀出。在實際中,所傳輸?shù)陌仨毎粋€成幀的碼以及可能需要包含尋址信息,但這些是傳統(tǒng)技術(shù)所要求的。幀n的第一與第二流在下面分別被稱作S1(n)和S2(n)。
圖4給出一個用于接收來自圖3的發(fā)送器的傳輸?shù)慕邮掌?,在此所接收的包被輸?在通過圖中未示出的裝置恢復(fù)行時鐘和成幀信息后)一個串行輸入、并行輸出的移位寄存器30。為了適應(yīng)在傳輸延遲中各種變化,所接收的流被存儲在具有‘外附(build-out)’延遲的循環(huán)緩沖器31中,寫控制單元32接收該寄存器30的內(nèi)容并把這些包寫進(jìn)緩沖器31中。這些包在緩沖器中按照由序列號所確定的順序排列。如果所希望的包沒有接收到,則留下一個間隙,以便如果它在稍后到達(dá)且仍在該外附周期內(nèi)則將其插進(jìn)正確的序列。
數(shù)據(jù)從該緩沖器中的讀出是借助于與發(fā)送器處的幀計數(shù)器18相類似的幀計數(shù)器33來執(zhí)行的,通過本地時鐘34每隔72ms增加一次。由于在一個接收周期開始時是用所接收的幀號fn減6(或其它的附加值),它落后于該輸入幀一個外附周期(一般地從1-10個幀,如根據(jù)該連接特性以及延遲所允許的程度可以是6)。如果由于在72ms時鐘與該發(fā)送器時鐘φF之間的漂移發(fā)生了緩沖器的溢出與下溢,則通過重新裝載計數(shù)器而復(fù)位系統(tǒng)。正常情況下,一個讀出控制單元35訪問計數(shù)器33以獲得當(dāng)前的計數(shù)值fnr并從緩沖器中讀出來自具有該幀號的包的S1(n)和S2(n)數(shù)據(jù),并將其傳遞給上面參照圖2描述的語音譯碼器36。如果沒有包丟失,并且相對于先前發(fā)送的包沒有包延遲超過6×72=432ms時,就可以確保給譯碼器363的連續(xù)的數(shù)據(jù)供應(yīng)。
如果存在丟失或有過度的延遲發(fā)生時,則具有等于計數(shù)器內(nèi)容fnr的幀號fn的希望的包不會出現(xiàn)在該緩沖器中。在這種情況下,讀出控制單元34從該緩沖器中讀出來自具有幀號(fnr-l)的包的S1(n)數(shù)據(jù),也就是說,對于在緊靠前的包中攜帶的幀fnr的復(fù)制的流1信息,并將它轉(zhuǎn)發(fā)給譯碼器。以這種方式該譯碼器連續(xù)地正常運行,除非它針對該幀沒有接收到任何的流2數(shù)據(jù),以便對于一個幀周期有一個暫時的帶寬降低,該讀取控制單元35通過一個連接37向譯碼器36發(fā)送信號通知這樣一個事實,并且該譯碼器禁止較高的16個子帶。
在一個修改的版本中,這種降低可通過重復(fù)針對流2的先前的幀數(shù)據(jù)而得到緩解-也就是說,該讀出控制單元從包(fnr-l)中讀出S1(n)和S2(n)。
需要注意的是,沒有必要讓編碼器13是一個子帶編碼器或者它的第二流代表比第一流更高頻率成分的信息。原則上可以使用任何其它的分層的編碼器,例如PCM(脈沖碼調(diào)制)編碼器,其中第一流由粗糙量化的樣本組成,而第二流由同一樣本的附加的、較低位組成,這樣理所當(dāng)然地會降低由一個譯碼器在僅接收第一個流時所產(chǎn)生的量化噪聲級。但是應(yīng)注意到,這種由前一個幀替代所缺少的上一個流的可能性僅當(dāng)前一個幀數(shù)據(jù)與所丟失的第二個流數(shù)據(jù)具有足夠的相關(guān)性才有可能;這種情形是對于上面描述的子帶系統(tǒng)而不會出現(xiàn)在PCM示例中。
可以觀察到,盡管用于一個某一幀的復(fù)制流1是在攜帶有關(guān)該幀的全部信息的包之前的包中所攜帶的,但這不是必須的,例如它可以在下一個中攜帶;也就是說,包n可以攜帶S1(n),S2(n),S1(n-1)。這意味著對于同樣的性能,該接收器外附延遲應(yīng)大于先前的一個,這會在接收器端增加信號延遲72ms,但是另一方面會在發(fā)送器端減少信號延遲72ms。而且,針對某一幀的復(fù)制流1并不是必須地在一個與攜帶針對該幀的完整信息的包是連續(xù)的包中攜帶的。可以選擇該延遲偏移以便適應(yīng)某一傳輸信道或網(wǎng)絡(luò)的特性;例如在易于突發(fā)錯誤的廣播系統(tǒng)中延遲一個或更多的幀可能是比較合適的。
圖5示出一種比圖1中所示的更復(fù)雜的子帶編碼器,這是基于且類似于在移動圖像專家組(MPEG)標(biāo)準(zhǔn)ISO 13813-3中定義的編碼器,現(xiàn)在只詳細(xì)描述與該標(biāo)準(zhǔn)不同的該編碼器的某些方面,該MPEG標(biāo)準(zhǔn)只是針對在多個不同輸入音頻采樣速率下的操作;下列描述假定采用16kbps的采樣率,當(dāng)然在需要時可以調(diào)整到其它的采樣率,一個多相分析濾波器40接收1152個輸入樣本的幀,產(chǎn)生36個樣本中的32個子帶的分析幀,這些樣本由使用可變調(diào)整因子的量化器41進(jìn)行量化,這些因子由調(diào)整因子計算42進(jìn)行控制,這些調(diào)整因子按照在MPEG標(biāo)準(zhǔn)中描述的進(jìn)行計算,并以同樣的方式進(jìn)行編碼,盡管為了簡便,我們更喜歡以恒定的每個子帶12位(對每個幀)對這些調(diào)整因子進(jìn)行編碼,而不是使用由該標(biāo)準(zhǔn)規(guī)定的可變長度調(diào)整因子表述。(如果使用固定的長度,則由在圖5中框42到45的連接就不是必須的)。
利用一個適應(yīng)的位分配程序按照為每個幀確定的位分配量化這些樣本,以使用同時屏蔽(masking)現(xiàn)象以便最小化樣本量化的可聽影響。當(dāng)在某些頻率附近由同時激發(fā)(occur)更強(qiáng)成分使得低級信號成分變得不可聽時就會發(fā)生同時屏蔽。單元43對信號使用快速傅里葉變換(FFT),并把結(jié)果提供給屏蔽單元44,在此使用心里聲學(xué)模型估計每個音頻幀的屏蔽特性(如在MPEG標(biāo)準(zhǔn)中所描述的),并針對第k個子帶用一個屏蔽函數(shù)mask(k)進(jìn)行表示(k=0,......,31)。該屏蔽函數(shù)對下面的子帶k給出信號級別的估計,其中信號變得不可聽或其上面的噪聲是不可聽的,它用于對32個子帶中的每一個子帶確定信號-屏蔽比smr。
Smr(k)=sig(k)-mask(k)
其中sig(k)是在子帶k中的信號能量,所有這些量化用dB表示。
實際的位分配是由一個從屏蔽單元44接收smr(k)值的位分配單元45執(zhí)行的,它是通過迭代過程來進(jìn)行分配的,在該過程中有步驟地分配可用的位容量,把進(jìn)一步的容量分配給具有是最低屏蔽-噪聲比mnr的任何一個子帶(這是根據(jù)給它的位容量分配)。除了可把這些位表示為多個分配位外,該標(biāo)準(zhǔn)以及圖5中的設(shè)備使用一個整數(shù)位分配碼,這些分配碼可由一個相應(yīng)的位分配表進(jìn)行翻譯;分配進(jìn)一步的容量包括簡單地增加該碼。
可以通過簡單地用6dB乘以所分配的位數(shù)或使用一個相應(yīng)的查找表以合理的精度估計信噪比smr(k)(這是位分配計算所必須的),可替換地,信噪比也可以考慮在子帶k中的實際信號以及用于表述它所分配的位數(shù)進(jìn)行計算。
在該標(biāo)準(zhǔn)中,每個幀僅需要執(zhí)行一次位分配。但在圖5的編碼器中,較高的流除了服務(wù)于沒有在較低的流中出現(xiàn)的其它子帶外,還可以為已經(jīng)表表述過的子帶攜帶其它的位。因此,該位分配程序必須以現(xiàn)在要描述的方式被執(zhí)行4次(對于這種4個流的例子),以便對于流1,該第一個子帶可以被量化成20級(舉例),因此,流1可以為該子帶攜帶4.3個位,但是為下一層量化成80級,以便流2可以為該子帶攜帶兩個其他位。也應(yīng)注意到,該程序的結(jié)果是一個代碼集,其中每一個按照包含在位分配單元45內(nèi)的查找表(其內(nèi)容見下面表1)為每個子流定義樣本量化,隨后由任何一個流攜帶的實際位數(shù)是針對該流表示的位數(shù)與針對下面的流表示的位數(shù)之差。
表1需要定義下列變量K 子帶的數(shù)量(在本例中是32個);BitTotj對于層j(對于流j以及任何較低的流,結(jié)合在一起)可用的位數(shù)(在表2中給出了本例中的值);BitsAvailable可分配給當(dāng)前流的當(dāng)前可用位數(shù);SFLen調(diào)整因子的長度(以位表示)(在本例中是12);AllocBNumj(k) 對于子帶k在流j中使用的位分配碼的長度(以位表示);AllocMaxj(k)(=2jAllocBNum(k)-1)在子帶K中用于流j的最大允許分配碼值;AllocLimj在子帶K、層j中使用的最大的子帶數(shù)量;AllocCode(k)對于一個層的子帶k的當(dāng)前分配碼值;
AllocCodej(k)對于子帶k、層j的分配碼結(jié)果;Qlevelj(k) 用于子帶k、流j的量化級別數(shù);Bitsj(k)為編碼Qlevelj(k)級所要求的位數(shù)。
表2其過程如下,以標(biāo)準(zhǔn)中所規(guī)定的方式對所有的k(k=0..k-1)計算smr(k)。
1.對所有的k,設(shè)置AllocCode(k)和snr(k)等于0;2.對所有的k初始化mnr(k)=snr(k)-smr(k);3.設(shè)j=1;4.如果j=1那么設(shè)置BitsAvailable=BitTotj-Σk=0k-1AllocBNumj(k)]]>否則設(shè)置BitsAvailable=BitTotj-BitTotj-1-Σk=0k-1AllocBNumj(k)]]>(即可用的容量減少了傳輸位分配碼本身所需的額外開銷);
5.對所有的k初始化FullFlag(k),以便如果AllocCode(k)<AllocMaxj(k),則FullFlag(k)=0,否則FullFlag(k)=1,設(shè)置FullFlag(k)=0將允許對當(dāng)前流j把位分配給子帶k,而FullFlag(k)=1則禁止這種分配;6.如果對所有k,FullFlag(k)=1,則進(jìn)到步驟19;7.標(biāo)識對應(yīng)最小mnr值的K值km(即,以便mnr(km)≤mnr(k)),k≠km(注意忽略FullFlag(k)=1時的k的值);8.在表1中查找對應(yīng)所提出的分配碼(AllocCode(km))增加的位數(shù)B;9.設(shè)置BitsRemaining=BitsAvailable-B*3610.如果AllocCode(km)=0則設(shè)置BitsRemaining=BitsReamining-SFLen(為該子帶進(jìn)行分配的第一次,必須考慮到這樣一個事實,即量化器調(diào)整因子需要被傳輸)。
11.如果BitsRemaining<0那么設(shè)置FullFlag(km)=1并且進(jìn)到步驟7,否則繼續(xù)進(jìn)行(如果沒有足夠的位來增加給子帶km的分配,則FullFlag(km)被設(shè)置成進(jìn)一步防止分配給該子帶)。
12.AllocCode(km)加113.設(shè)置BitsAvailable=BitsRemaining14.確定新的snr(km)(通過測量或估計);15.利用mnr(km)=snr(km)-smr(km)為新的分配計算mnr(km);
16.如果AllocCode(km)=AllocMaxj(km),則設(shè)置FullFlag(km)=1以防止進(jìn)一步的分配。
17.進(jìn)到步驟7;18.為所有的k設(shè)置AllocCodej(k)=AllocCode(k)(這是針對流j的位分配設(shè)置);19.為下一個流增加j,并重復(fù)步驟5直到處理完所有的流,特別要注意的是AllocCode(k)不被復(fù)位。
由量化器41對該子帶樣本進(jìn)行量化,把需要的位數(shù)輸出進(jìn)每個流中。因此,針對流1,它就會為第k個子帶產(chǎn)生Bitsj(k),而更高的流產(chǎn)生Bitsj(k)-Bitsj-1(k)位/樣本。這些位被編碼并由單元46與調(diào)整因子和位分配碼一起進(jìn)行多路復(fù)用。在此,如針對流1,使用了非整數(shù)的位/樣本數(shù),該量化器很自然地輸出一個整數(shù)數(shù)量的位/幀。對于分配碼1(5級),它輸出代表在0-4范圍內(nèi)的數(shù)的qcod5(3位);對于分配碼2(10級),它輸出qcod5加上附加的位qbit10,同時對于分配碼3(20級),它輸出這些并再加一個另外位qbit20等。對于一個幀的這36個值qcod5(n)(n=0…35)被組合在3組中以給出12個值grp5(i)=qcod5(3*i)+5*qcod5(3*i+1)+25*qcod5(3*i+2)其中(i=0...11)并且操作符*表示乘法。
這些值的范圍是0-124并且利用7位進(jìn)行編碼。
4層的樣本量化過程通過使用第4層的位分配碼以定義量化分辨率開始,所得的量化樣碼隨后被按照4位分配碼序列進(jìn)行編碼。首先,比較第4層與第3層的分配碼,如果第3層的分配是0,則使用上面描述的5級分組加n位增強(qiáng)機(jī)制對整個第4層流編碼所量化的樣本;如果第3層分配不是0,則在分配碼中的差異用于確定為第4層流要被編碼的增強(qiáng)位數(shù)。對第3層與第2層重復(fù)進(jìn)行該過程以產(chǎn)生相應(yīng)的編碼流。對于第1層,一個非零的分配以一個5級分組編碼開始。
該過程產(chǎn)生4個獨立的量化流集合,這些可以在編碼器中累積(build up)以產(chǎn)生4個所要求編碼的樣本序列,其中每個編碼的樣本序列解碼以給出一個特定的標(biāo)準(zhǔn)樣本層。
多路復(fù)用器46利用該位分配、調(diào)整因子和量化的樣本參數(shù)建立4個輸出流,所得到的子流分配示于表3中,其中針對調(diào)整因子的數(shù)據(jù)(figure)是基于這些位被分配給所有可用的子帶的假設(shè)。如果該子帶樣本量化不能使用所有的被分配的位,則多路復(fù)用器利用0位值進(jìn)行包裝。
表3單元46為每一層編碼一個位分配碼集,流1包含針對標(biāo)準(zhǔn)0-4的所有層1位分配碼,而流2包含針對子帶0-9的層2位分配碼。在為流1與2解碼層2時,沒有使用層1的位分配碼,這可以認(rèn)為是10位/幀的額外開銷(overhead)(見圖9)。類似地,用于層1、2和3整個84位/幀的位分配對于層4解碼來說也是一個額外開銷。位分配的流內(nèi)差分編碼可用于降低層2、3和4的額外開銷,并因此也允許為層4子帶樣本編碼施加額外的1或2位/幀。
與圖5的編碼器一起使用的譯碼器示于圖6中。一個注冊器50從圖5的編碼器接收(在傳輸或記錄后)流1。如果這些是可用的話,它也有用于接收流2、3、4的輸入;連同指示有多少個流被實際上接收的層碼。這些層碼通過開關(guān)51選擇合適的位分配碼集以及,按照由所選擇集的對應(yīng)位分配碼指示的量化級別數(shù),針對每一個子帶控制樣本量化器52的運行。
由去量化器52輸出的樣本隨后通過一個以常規(guī)方式運行的合成濾波器53。
圖7給出一個發(fā)送器,它在很多方面類似于圖3,但使用圖5的編碼器,如在60處所示接收數(shù)字音頻輸入信號。從編碼器輸出的4個輸出流S1、S2、S3、S4分別每幀具有576、576、1152、2304位,它們被延遲61、62、63在三個72ms階段進(jìn)行了延遲。來自延遲63的輸出的所有4個流在一個多路復(fù)用器64中進(jìn)行組合以產(chǎn)生一個要被裝載進(jìn)與圖3中的移位寄存器16相類似的移位寄存器65的4608-位/幀層4信號Enc4(n)。來自延遲62的輸出的流S1-S3在一個多路復(fù)用器66中進(jìn)行組合以產(chǎn)生一個要被裝載進(jìn)移位寄存器65的2304-位層3信號Enc3(n+1);注意索引n+1,由于有一個較少的延遲,因此該數(shù)據(jù)保留到隨后的幀,類似地,來自延遲61的流S1、S2在66處進(jìn)行組合以給出1152位中的Enc2(n+2),未延遲的流S1產(chǎn)生576位中的Enc1(n+3)。所有這些連同上面描述的八位幀數(shù)fn在寄存器65中組裝(整個是4608+2304+1152+576+8=8648位,加上任何期望的監(jiān)視信息),并按照先前描述的以行速率時鐘讀出。為了進(jìn)一步參考,在移位寄存器中組裝的包的字段標(biāo)記為F0-F4。雖然這些配置隨著以專用的不連續(xù)的硬件建立而表示出來,它們當(dāng)然也可以由一個或多個合適的被編程的數(shù)字信號處理設(shè)備來實現(xiàn)。
相應(yīng)的接收器與在圖4中表示的接收器具有相同的結(jié)構(gòu),并以與前面描述相同的方式運行,除了寄存器30中的內(nèi)容現(xiàn)在對應(yīng)于圖7中的寄存器50的內(nèi)容之外,并且讀出控制單元34的操作更復(fù)雜。正常情況下,讀出控制單元34從緩沖器31讀取來自攜帶該幀數(shù)fnr的包的Enc4(n)數(shù)據(jù)。在緩沖器中沒有幀fnr的情況下,讀出控制單元34從該緩沖器中讀取來自具有幀數(shù)(fnr-1)的包的Enc3(n)數(shù)據(jù)。但是如果該包也丟失,它就從該緩沖器中讀取來自具有幀數(shù)(fnr-2)的包的Enc2(n)數(shù)據(jù),對于連續(xù)的音頻幀同時丟失三個包的情況,它就從具有幀數(shù)(fnr-3)的包中讀取Enc1(n)數(shù)據(jù)。這在從前會導(dǎo)致由譯碼器35輸出的信號的帶寬的降低,它可以通過由前面的音頻替代一個流而得到減輕,也就是
注意,與較低的流相比,較高的流S2,S3,S4每一個都包含(a)關(guān)于另外子帶的信息,和(b)用于減少子帶中量化錯誤的附加位,對于該子帶數(shù)據(jù)已經(jīng)存在于該較低的流中。用于關(guān)于較早幀(在上表中標(biāo)記‘*’的)的數(shù)據(jù)進(jìn)行替代僅適用于(a),附加位(b)沒有用,因為它們的值與所丟失的數(shù)據(jù)幾乎沒有相關(guān)性。如圖6中所示的譯碼器將進(jìn)行這樣的替代,并且在工作時僅引入較小量的附加噪聲。為了避免它,也可以安排成當(dāng)針對一個或更多的上一個流替代先前的音頻幀信息時,該讀出控制單元35可以發(fā)信號通知這樣的事實給譯碼器,這時選擇器51也要進(jìn)行修改以便,對于僅由替代流攜帶的子帶,它從流4中獲取位分配信息,但是對于信息包含在非替代流內(nèi)的子帶來說,它從更高的非替代流中獲取該位分配信息。
權(quán)利要求
1.一種用于傳輸信號的設(shè)備,包括(a).編碼器,運行產(chǎn)生提供第一數(shù)據(jù)的第一輸出以及提供第二增強(qiáng)數(shù)據(jù)的第二輸出,利用第一數(shù)據(jù)一個譯碼器可以產(chǎn)生重建的信號,由此接收第一數(shù)據(jù)和第二數(shù)據(jù)的譯碼器可以產(chǎn)生高質(zhì)量的重建信號;以及(b).運行組裝用于傳輸?shù)臄?shù)據(jù)包的裝置,每個數(shù)據(jù)包包含主要數(shù)據(jù),包含有關(guān)該信號的時間部分的第一數(shù)據(jù)以及有關(guān)該信號的同一部分的第二數(shù)據(jù);以及次要數(shù)據(jù),包含有關(guān)該信號的不同的時間部分的第一數(shù)據(jù),但缺少有關(guān)該部分的第二數(shù)據(jù)。
2.如權(quán)利要求1所述的設(shè)備,其中所述的不同的時間部分是指遲于由該主要數(shù)據(jù)表示的部分的部分。
3.如權(quán)利要求2所述的設(shè)備,其中所述的不同的時間部分是指直接跟隨由該主要數(shù)據(jù)表示的部分的部分。
4.如權(quán)利要求1所述的設(shè)備,其中所述的不同的時間部分是指早于由該主要數(shù)據(jù)表示的部分的部分。
5.如前述任一權(quán)利要求所述的設(shè)備,其中該組裝裝置被布置成在每一個包中包含一個序列碼以指示包含在該包中的主要數(shù)據(jù)的時間序列。
6.如前述任一權(quán)利要求所述的設(shè)備,其中該編碼器運行產(chǎn)生能提供增強(qiáng)數(shù)據(jù)、代表對重建信號質(zhì)量有連續(xù)改進(jìn)的連續(xù)增強(qiáng)數(shù)據(jù)集的多個輸出,并且其中該主要數(shù)據(jù)包括所有這樣的輸出和次要數(shù)據(jù)包括有關(guān)該信號的多個類似不同時間部分的第一數(shù)據(jù)以及有關(guān)這些部分的逐漸增多的更少數(shù)的第二數(shù)據(jù)集。
7.如前述任一權(quán)利要求所述的設(shè)備,其中該信號是音頻信號并且該編碼器是音頻信號編碼器。
8.如權(quán)利要求7所述的設(shè)備,其中該編碼器是一個子帶編碼器,其中該第一數(shù)據(jù)包含有關(guān)該編碼器子帶中低頻部分的數(shù)據(jù),以及第二增強(qiáng)數(shù)據(jù)包含有關(guān)高頻子帶的數(shù)據(jù)。
9.如前述任一權(quán)利要求所述的設(shè)備,其中第一數(shù)據(jù)包含數(shù)字值的二進(jìn)制表述,第二數(shù)據(jù)包含代表所述數(shù)字值的出色分辨率的附加數(shù)據(jù)。
10.如權(quán)利要求8所述的設(shè)備,其中該子帶音頻編碼器包括(a).濾波器裝置,用于接收采樣的音頻信號并且把該信號分成多個子帶信號,每個對應(yīng)各自的頻率子帶;(b).用于量化所述的子帶信號的量化器;(c).位分配裝置,用于適應(yīng)性根據(jù)信號特性確定由該量化器使用的量化級別數(shù);以及其中該量化器具有用于提供所述第一數(shù)據(jù)的第一輸出以及用于提供所述第二數(shù)據(jù)的第二輸出,所述的第一數(shù)據(jù)包括用于所述的一個或多個子帶的量化值,對于相對于其在該第一輸出處提供量化值的至少一個子帶,所述的第二數(shù)據(jù)包括代表針對該子帶的較粗糙的量化值的附加增強(qiáng)數(shù)據(jù),以及其中該位分配裝置執(zhí)行第一分配操作,在該第一操作中把用于第一輸出的預(yù)定限額的位在這些子帶之間進(jìn)行分配,隨后執(zhí)行第二分配操作,在該第二操作中,把用于第二輸出處的附加位的第二預(yù)定限額的位在這些子帶之間進(jìn)行分配。
11.按照權(quán)利要求10所述的編碼器,其中該第二輸出為相對于其在該第一輸出處沒有提供量化值的至少一個子帶提供量化值。
12.按照權(quán)利要求10或11所述的編碼器,其中該量化器具有至少另外一個輸出,其中該第二與另外一個輸出在各種情形下為這些子帶提供在任何低次輸出中沒有表示的值,和/或為這些子帶提供在低次輸出中表示的附加位,以及其中該該位分配裝置執(zhí)行與輸出數(shù)量相等數(shù)量的分配操作,每個操作用于為其輸出在這些子帶間分配各自的限額位。
13.一種用于接收信號的設(shè)備,包括(a).用于接收數(shù)據(jù)包的裝置,每個數(shù)據(jù)包包括主要數(shù)據(jù),包含有關(guān)該信號的時間部分的第一數(shù)據(jù)以及有關(guān)該信號的同一部分的第二增強(qiáng)數(shù)據(jù);以及次要數(shù)據(jù),包含有關(guān)該信號的不同的時間部分的第一數(shù)據(jù);(b).用于存儲的接收的數(shù)據(jù)包的緩沖器;(c).能利用單獨的第一數(shù)據(jù)產(chǎn)生重建信號、并且能利用第一數(shù)據(jù)與第二數(shù)據(jù)一起產(chǎn)生高質(zhì)量的重建信號的譯碼器;(d).控制裝置,其運行從該緩沖器中讀取有關(guān)該信號的連續(xù)時間部分的主要數(shù)據(jù)并將它們轉(zhuǎn)發(fā)給該譯碼器;以及在該緩沖器中沒有有關(guān)該語音的時間部分的主要數(shù)據(jù)時讀取有關(guān)該時間部分的第二數(shù)據(jù)并將其轉(zhuǎn)發(fā)給該譯碼器。
14.按照權(quán)利要求13所述的設(shè)備,其中當(dāng)在該緩沖器中沒有有關(guān)該語音的時間部分的第二數(shù)據(jù)時該控制裝置運行讀取有關(guān)該語音信號的不同時間部分的第二增強(qiáng)數(shù)據(jù)并將其轉(zhuǎn)發(fā)給該譯碼器。
15.按照權(quán)利要求13或14所述的設(shè)備,其中每個包包含一個序列碼以指示包含在其中的主要數(shù)據(jù)的時間序列,并且該控制裝置運行以參照該序列碼確定這些包的時間序列,而不必管包的實際接收順序。
16.按照權(quán)利要求13-15中任一個所述的設(shè)備,其中該信號是音頻信號并且該譯碼器是音頻信號譯碼器。
全文摘要
編碼器(13)產(chǎn)生提供第一數(shù)據(jù)S1(n)的第一輸出和第二增強(qiáng)數(shù)據(jù)S2(n)的第二輸出,利用該第一數(shù)據(jù)譯碼器可以產(chǎn)生一個重建的信號,由此,接收第一與第二數(shù)據(jù)的譯碼器可以產(chǎn)生一個更高質(zhì)量的重建信號。組裝數(shù)據(jù)包以便于傳輸,每個包包含主要數(shù)據(jù)、次要數(shù)據(jù),其中該主要數(shù)據(jù)包括有關(guān)該信號的時間部分的第一數(shù)據(jù)S1(n)和有關(guān)該信號的同一部分的第二數(shù)據(jù)S2(n),而次要數(shù)據(jù)包含有關(guān)該信號的不同時間部分的第一數(shù)據(jù)S1(n+1)。
文檔編號G10L19/005GK1319292SQ9981122
公開日2001年10月24日 申請日期1999年9月14日 優(yōu)先權(quán)日1998年9月22日
發(fā)明者羅里·斯圖爾特·特恩布爾, 安德魯·戈登·戴維斯 申請人:英國電訊有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
三门峡市| 富川| 宜川县| 望江县| 德阳市| 林芝县| 万载县| 峡江县| 连云港市| 绍兴县| 东乌珠穆沁旗| 孝义市| 连江县| 蓬溪县| 民丰县| 普兰店市| 任丘市| 靖西县| 左云县| 建瓯市| 湖北省| 台山市| 梁平县| 琼海市| 合川市| 揭阳市| 团风县| 荆州市| 惠水县| 余庆县| 浠水县| 平昌县| 肇庆市| 濮阳市| 新干县| 湘潭市| 松溪县| 公安县| 南华县| 若尔盖县| 新化县|