專利名稱:向音頻信號中添加不可聽碼的系統(tǒng)和方法,以及從音頻信號中讀取編碼的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及向音頻信號中添加不可聽碼和隨后恢復(fù)該碼的系統(tǒng)和方法。例如,該碼可以用于收聽測量應(yīng)用,以識別廣播節(jié)目。
背景技術(shù):
有許多種方法能夠以所添加編碼不被注意的方式將附屬的編碼添加到信號中。例如,在電視廣播中眾所周知的是,通過將編碼插入到視頻的垂直消隱間隔中,或者視頻的水平回程間隔中,可以將附屬編碼隱藏到視頻的非可視部分。用于將編碼隱藏在視頻的非可視部分的一個示例被稱為“AMOL”,在美國專利第4,025,851號中進(jìn)行了闡述。本申請的受讓人使用此系統(tǒng)以監(jiān)測電視節(jié)目的廣播,以及廣播的次數(shù)。
其它已知的視頻編碼系統(tǒng)設(shè)法將附屬編碼隱藏在電視信號的一部分傳輸帶寬中,其要攜帶少量的信號能量。已經(jīng)轉(zhuǎn)讓給本申請的受讓人的美國專利第5,629,739號公布了此系統(tǒng)的一個實(shí)例。
同樣眾所周知的還有,為了識別信號,并且或許,為了通過信號發(fā)布鏈追蹤其路徑,將附屬編碼添加到音頻信號中。音頻編碼具有不僅可以用于電視,也可以用于無線電廣播和先期錄制音樂的顯著優(yōu)點(diǎn)。還有,接收器的揚(yáng)聲器以音頻信號輸出的形式,對添加到音頻信號中的附屬編碼進(jìn)行再生。因此,音頻編碼提供了非侵入性截取(即,無需侵入到接收器的內(nèi)部而進(jìn)行編碼的截取)和使用具有麥克風(fēng)作為輸入的設(shè)備對編碼進(jìn)行解碼的可能性。還有,音頻編碼允許利用由專門小組攜帶的便攜式測量設(shè)備進(jìn)行廣播收聽的測量。
在用于廣播收聽測量目的的音頻信號編碼領(lǐng)域,Crosby在美國專利第3,845,391號中提出了一種音頻編碼方法,其中將編碼插入到窄的頻率“缺口”中,從其中刪除了原始音頻信號。以固定的預(yù)定頻率(例如,40Hz)形成該“缺口”。當(dāng)包含該編碼的原始音頻信號強(qiáng)度較低時,此方法使得編碼可聽。
在Crosby的專利之后有一系列的進(jìn)步。此處,Howard在美國專利第4,703,476號中提出了使用兩個單獨(dú)的缺口用于編碼信號的標(biāo)記部分和間隔部分。Kramer在美國專利第4,931,871號和美國專利第4,945,412號中提出了“inter alia”,使用的編碼信號的幅值跟隨其所添加在的音頻信號的幅值。
還有一種廣播收聽測量系統(tǒng),其中專門小組攜帶能夠在音頻信號中拾取和存儲不可聽碼廣播的裝備有麥克風(fēng)的音頻監(jiān)測設(shè)備。例如,Aijalla等等在WO94/11989和美國專利第5,579,124號中描述了一種方法,其中,使用擴(kuò)頻技術(shù)向音頻信號中添加編碼。該編碼或者是不可感知的,或者僅可作為低水平“靜電”噪聲聽見。
同樣,Jensen等在美國專利第5,450,490號中提出了一種方法,用于以一組固定的頻率添加編碼和使用兩個掩蔽信號(masking signal)中的一個?;趯σ砑泳幋a的音頻信號的頻率分析,對掩蔽信號進(jìn)行選擇。Jensen等沒有提出選擇在各個預(yù)定的頻率間隔組中使用的最大可接受編碼能量的方法,也沒有提出在頻譜成份之間轉(zhuǎn)移能量和使總的聲能保持為常數(shù)的能量交換編碼。
Preuss等在美國專利第5,319,735號中提出了一種多頻帶音頻編碼方法,其中在錄制的音樂中,與最好為19dB的輸入信號強(qiáng)度成固定比率(編碼對音樂的比率)地插入擴(kuò)頻碼。Lee等在美國專利第5,687,191號中提出了一種適于和數(shù)字化音頻信號一起使用的音頻編碼方法。通過計算幾個頻帶中各自的信號-掩蔽比率,然后以該頻帶中音頻輸入的預(yù)定比率的強(qiáng)度插入編碼,從而使編碼強(qiáng)度和輸入信號相匹配。Lee等也在美國專利第5,824,360號中描述了一種方法,用于在數(shù)字波形中嵌入數(shù)字信息。
Jensen等在美國專利第5,764,763號中提出了一種方法,其中,向原始音頻信號中添加由高分辨率頻譜中的十個預(yù)定頻率上的正弦波形構(gòu)成的編碼信號,以代表一個二進(jìn)制位(0或者1),和所嵌入消息的開始和結(jié)尾。對此四個碼元進(jìn)行編碼需要四十個不同的頻率。在典型的實(shí)際實(shí)施例中,其值從1046.9Hz到2851.6Hz不同。頻譜中相鄰線之間的頻率間隔是4Hz,選擇來構(gòu)成這組40個頻率的頻率之間的最小間隔是8Hz。所插入編碼信號的幅值由掩蔽分析進(jìn)行控制。在解碼處理時,由于所插入編碼信號的能級顯著高于為一個頻帶計算的噪聲能級,所以可以區(qū)別出所插入的編碼信號。
應(yīng)該認(rèn)識到,由于最好以較低的強(qiáng)度插入附屬編碼,以防止該編碼分散節(jié)目音頻聽眾的注意力,此類編碼對于各種信號處理操作,以及對于外來電磁源的干擾可能是脆弱的。例如,盡管Lee等討論了數(shù)字化的音頻信號,許多早期公知的對廣播音頻信號進(jìn)行編碼的方法與當(dāng)前推薦的數(shù)字音頻標(biāo)準(zhǔn)并不兼容,尤其是使用了能夠降低信號的動態(tài)范圍(從而也刪除了低能級的編碼)或者可能損害附屬編碼的信號壓縮方法的方法。在此方面,對于附屬編碼而言,重要的是在通過AC-3算法或者ISO/IEC 11172 MPEG標(biāo)準(zhǔn)中推薦的一種算法(這將在將來的數(shù)字電視廣播系統(tǒng)中廣泛應(yīng)用)進(jìn)行壓縮和隨后的解壓縮之后還能夠存在。
在1998年7月16日提出的美國專利申請序列號為09/116,397和1999年10月27日提出的美國.專利申請序列號為09/428,425中公布了一種系統(tǒng)和方法,用于向音頻信號插入編碼,從而該編碼可以在當(dāng)前推薦的數(shù)字音頻標(biāo)準(zhǔn)所要求的壓縮和解壓縮之后仍然存在。使用選定編碼頻率的信號幅值或者相位的頻譜調(diào)制,向音頻信號中插入編碼。這些選定的編碼頻率(其包含給定音頻塊中的多個頻率組)可以隨音頻塊而互不相同,可以通過幅值調(diào)制、頻率交換調(diào)制、相位調(diào)制,和/或奇/偶指數(shù)調(diào)制而實(shí)現(xiàn)頻譜調(diào)制。另外,還提出了一種方法,以對于聽眾可以聽到編碼的情況,對各個塊和編碼的音頻質(zhì)量進(jìn)行測量。
在‘397申請和‘425申請中教導(dǎo)的試驗(yàn)系統(tǒng)中,編碼過程中的音頻采樣處理在電視節(jié)目的音頻部分中附加了超過20毫秒的延遲。由于未加糾正,這個延遲導(dǎo)致在所收看的節(jié)目的音頻和視頻部分中產(chǎn)生了可以覺察的同步丟失。因此,這種試驗(yàn)系統(tǒng)要求使用視頻延遲補(bǔ)償電路。然而,最好是不使用此電路。
還有,在‘397申請和‘425申請中提出的系統(tǒng)中,通過操作以約100Hz分開的頻率對,進(jìn)行編碼的添加。因此這些系統(tǒng)易于受到干擾,諸如混響或多路失真,其比其它的更影響編碼后的頻率。
本發(fā)明旨在解決上面提到的一個或者多個問題。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,用于向音頻信號添加抗干擾、不可聽碼的系統(tǒng)包括采樣器、處理器、頻率變換器、頻率選擇器和編碼器。采樣器用于以一定的采樣率對音頻信號進(jìn)行采樣,并由此生成多個采樣音頻的短塊,其中各個短塊的持續(xù)時間短于最小的可聽出信號延遲。處理器用于將多個短塊組合成具有預(yù)定最小持續(xù)時間的長塊。頻率變換器用于將長塊轉(zhuǎn)換成為具有多個可獨(dú)立調(diào)制的頻率指數(shù)的頻域信號,其中由最小持續(xù)時間和采樣率確定兩個相鄰指數(shù)之間的頻率差。頻率選擇器用于選擇頻率指數(shù)的鄰域,從而使得在鄰域中,最低指數(shù)和最高指數(shù)之間的頻率差小于一個預(yù)定的值。編碼器用于對鄰域中的兩個或者多個指數(shù)進(jìn)行調(diào)制,從而在保持鄰域的總能量不變的同時,使所選擇的一個指數(shù)成為極值。
根據(jù)本發(fā)明的另外一個方面,提供了一種方法,用于向復(fù)合信號的采樣音頻部分的頻帶中添加編碼,而不會由此在復(fù)合信號的編碼音頻部分和其它部分之間引入可察覺的延遲。該方法包括以下步驟a)選擇采樣率和包含在頻率鄰域中的預(yù)定數(shù)目的頻率指數(shù)中相鄰的指數(shù)之間的頻率差;b)由所述采樣率和頻率差確定采樣塊的持續(xù)時間;c)確定構(gòu)成塊的連續(xù)子塊的整數(shù)數(shù)目,其中選擇整數(shù)數(shù)目從而使得每一個子塊具有小于可察覺延遲的子塊持續(xù)時間;d)對塊進(jìn)行處理,以對所選擇的頻率指數(shù)進(jìn)行調(diào)制,而不改變頻帶的總信號能量。
根據(jù)本發(fā)明的另外一個方面,提供了一種設(shè)備,用于從音頻信號中讀取編碼。該編碼包括具有預(yù)定數(shù)目的音頻信號采樣的連續(xù)塊,并包括跟隨有預(yù)定數(shù)目數(shù)據(jù)塊的同步塊。該設(shè)備包括緩沖存儲器,頻率變換器,處理器,和表決器(vote determiner)。緩沖存儲器用于保持一個塊。頻率變換器用于將一個塊轉(zhuǎn)換為跨越預(yù)定數(shù)目頻帶的頻譜數(shù)據(jù),其中每一個頻帶包括頻率指數(shù)的相應(yīng)鄰域。處理器對于每一個鄰域確定各個預(yù)定的頻率指數(shù)是否經(jīng)過了調(diào)制。表決器用于,如果在多數(shù)頻帶中相應(yīng)的調(diào)制頻率指數(shù)是為包含在同步塊中的內(nèi)容而選擇的相應(yīng)指數(shù),則確定一個塊為同步塊。處理器還用于確定在同步塊后面接收到的一個數(shù)據(jù)塊中,頻率指數(shù)中預(yù)定的一個是否經(jīng)過了調(diào)制。表決器還用于確定在多數(shù)頻帶中,相應(yīng)的調(diào)制頻率指數(shù)是否是為包含在一個數(shù)據(jù)塊中的內(nèi)容而選擇的指數(shù)。
根據(jù)本發(fā)明的另外一個方面,提供了一種方法,通過將一系列的音頻采樣按照順序轉(zhuǎn)換成為跨越預(yù)定數(shù)目頻帶的頻譜數(shù)據(jù),從而從音頻信號中讀取編碼。每一個頻帶包括預(yù)定數(shù)目的頻率指數(shù),每一個塊包括預(yù)定數(shù)目的采樣。編碼包括跟隨有預(yù)定數(shù)目數(shù)據(jù)塊的同步塊。該方法包括以下步驟a)在音頻采樣的一個塊的各個頻帶中,確定頻率指數(shù)之一是否是經(jīng)過調(diào)制的;b)將步驟a)中找出的各個調(diào)制頻率指數(shù)和同步塊的相應(yīng)頻帶中為調(diào)制而選擇的指數(shù)進(jìn)行比較;c)如果在步驟b)中所做的大多數(shù)比較是匹配的,則確定所述的一個塊是同步塊,否則重復(fù)步驟a)到b);d)在同步塊之后接收到的數(shù)據(jù)塊之一的各個頻帶中,確定相應(yīng)的一個頻率指數(shù)是否是經(jīng)過調(diào)制的;以及e)將步驟d)中找出的相應(yīng)的調(diào)制頻率指數(shù)和多個預(yù)定的指數(shù)模式中的一個進(jìn)行比較,每一個指數(shù)模式唯一地與一個相應(yīng)的編碼比特相關(guān),并且只有多數(shù)調(diào)制指數(shù)和預(yù)定指數(shù)模式相匹配才讀取該編碼比特。
根據(jù)本發(fā)明的另外一個方面,提供了一種系統(tǒng),用于向具有兩個或者多個部分的復(fù)合信號的類音調(diào)(tone-like)音頻部分中添加不可聽碼。該系統(tǒng)包括采樣設(shè)備,處理器,頻率變換器,編碼器,信號分析器和編碼器中止器(encoder suspender)。采樣設(shè)備用于以特定的采樣率對音頻信號進(jìn)行采樣,并且由此生成多個采樣音頻的短塊,每一個短塊都具有比最小的可聽信號延遲短的持續(xù)時間。處理器用于將多個短塊組合成為具有預(yù)定最小持續(xù)時間的長塊。頻率變換器用于將長塊轉(zhuǎn)換成為包括位于多個頻帶中的多個可獨(dú)立調(diào)制的頻率指數(shù)的頻域信號。編碼器用于對各個頻帶中的兩個或者多個指數(shù)進(jìn)行調(diào)制,從而在保持音頻的總聲能恒定的同時,把所選擇的一個指數(shù)作為極值。信號分析器用于確定所述類音調(diào)音頻信號是否具有預(yù)定數(shù)目的鄰域中任意一個之內(nèi)的的類音調(diào)特征。編碼器中止器用于在任何一個類音調(diào)音頻部分具有類音調(diào)特征的鄰域中中止編碼器的編碼。
根據(jù)本發(fā)明的另外一個方面,提供了一種方法,該方法用于向具有一個或者多個附加部分的復(fù)合信號的類音調(diào)音頻部分中的預(yù)定數(shù)目頻率鄰域的至少一個中添加不可聽碼。該方法包括a)對音頻部分進(jìn)行采樣,并且由采樣信號生成多個短塊,每一個短塊都具有小于最小可聽信號延遲的持續(xù)時間;b)將多個短塊組合成為具有預(yù)定持續(xù)時間的長塊;c)將長塊轉(zhuǎn)換成為包含多個獨(dú)立可調(diào)制的頻率指數(shù)的頻域信號;d)對所述預(yù)定數(shù)目的頻率鄰域中類音調(diào)音頻部分具有類音調(diào)特征的鄰域進(jìn)行識別;e)對步驟d)中未識別的各個鄰域中的相應(yīng)指數(shù)進(jìn)行調(diào)制,以在保持音頻部分的總聲能為常數(shù)的同時,使該鄰域中所選擇的指數(shù)為極值,對于在步驟d)中識別出的鄰域中的指數(shù)不進(jìn)行調(diào)制。
根據(jù)本發(fā)明的另外一個方面,提供了一種廣播收聽測量系統(tǒng),該系統(tǒng)通過位于統(tǒng)計采樣工作處的解碼設(shè)備,讀取添加到音頻信號中的不可聽碼。該系統(tǒng)包括編碼器,接收器,和解碼器。編碼器用于向音頻信號的帶寬中預(yù)定數(shù)目的奇數(shù)頻帶分別添加預(yù)定的編碼比特。接收器位于工作處,用于接收編碼的音頻部分。解碼器具有從接收器而來的輸入,解碼器用于從各個頻帶獲取編碼比特的測試值,對測試值進(jìn)行比較,如果從多數(shù)頻帶接收到測試值,則確定其中一個測試值是編碼比特,否則,確定沒有讀取到編碼比特。
根據(jù)本發(fā)明的另外一個方面,提供了一種廣播收聽測量系統(tǒng),該系統(tǒng)在統(tǒng)計采樣工作單元讀取添加到音頻信號中的不可聽碼,該系統(tǒng)包括編碼裝置,接收器,和解碼器。編碼裝置用于向音頻信號的采樣長塊添加編碼比特,其中長塊包括預(yù)定數(shù)目的短塊。每一個短塊具有預(yù)定的持續(xù)時間,該預(yù)定持續(xù)時間足夠短,從而不會被廣播收聽成員所察覺。編碼設(shè)備還用于對多個頻率鄰域中每一個的選定頻率指數(shù)進(jìn)行調(diào)制,以在保持音頻信號的總能量為常數(shù)的同時,在對應(yīng)的鄰域中使每一個選定的指數(shù)為極值。接收器位于工作處,用于獲取編碼音頻信號。解碼器用于從音頻信號中讀取編碼。解碼器具有從接收器而來的輸入,解碼器包括用于存儲一個短塊的緩沖存儲器。緩沖存儲器不用于存儲長塊。
根據(jù)本發(fā)明的另外一個方面,一種對音頻信號進(jìn)行編碼的方法包括以下步驟a)由音頻信號生成多個短塊,其中每一個短塊都具有小于最小可聽信號延遲的持續(xù)時間;b)將多個短塊組合成為長塊;c)將長塊轉(zhuǎn)換成為包含多個獨(dú)立可調(diào)制的頻率指數(shù)的頻譜;d)對至少兩個指數(shù)進(jìn)行調(diào)制,以在保持調(diào)制指數(shù)的鄰域的總能量大致恒定的同時,使一個指數(shù)為極值。
根據(jù)本發(fā)明的另外一個方面,一種從音頻信號中讀取編碼單元的方法包括以下步驟a)將音頻信號的至少一個部分轉(zhuǎn)換成為跨越預(yù)定數(shù)目的具有多個頻率鄰域的頻帶的頻譜數(shù)據(jù);b)對于每一個鄰域,確定一個頻率指數(shù)是否經(jīng)過了調(diào)制;c)如果在多數(shù)鄰域中,相應(yīng)調(diào)制頻率指數(shù)是為包含在音頻信號中而選擇的指數(shù),則將所傳輸?shù)木幋a值分配給編碼單元。
由以下的詳細(xì)說明,結(jié)合附圖,可以更清楚地理解本發(fā)明的上述和其它的特征和優(yōu)點(diǎn)。附圖中圖1顯示的是使用添加到復(fù)合電視信號音頻部分中的節(jié)目識別碼的廣播收聽測量系統(tǒng)的示意圖;圖2顯示的是本發(fā)明的編碼過程的流程圖;圖3顯示的是本發(fā)明的解碼過程的流程圖。
優(yōu)選實(shí)施例詳細(xì)說明通常,以32kHz到48kHz范圍內(nèi)的采樣率對音頻信號進(jìn)行數(shù)字化。例如,在音樂的數(shù)字化錄制過程中,通常使用44.1kHz的采樣率。然而,數(shù)字電視(“DTV”)使用48kHz的采樣率。除了采樣率,在音頻信號數(shù)字化過程中另外一個重要的參數(shù)是當(dāng)進(jìn)行采樣時,在各個時刻用于表示音頻信號的二進(jìn)制比特數(shù)。此二進(jìn)制比特數(shù)可以不同,例如,每個采樣16到24比特之間。在每個采樣中使用16比特帶來的幅值動態(tài)范圍是96dB。此分貝測量是最高音頻幅值(216=65536)的平方對最低音頻幅值(12=1)的平方的比值。在每個采樣中使用24比特帶來的幅值動態(tài)范圍是144dB。在44.1kHz采樣率下進(jìn)行采樣、并且轉(zhuǎn)化成為每個采樣16比特形式的原始音頻,形成了705.6千比特/秒的數(shù)據(jù)率。
對音頻信號進(jìn)行壓縮,以將數(shù)據(jù)率降低到一定的水平,使得可以以低至192千比特/秒的吞吐量在信道上傳輸立體聲的一對數(shù)據(jù)。通過轉(zhuǎn)換編碼實(shí)現(xiàn)音頻壓縮。例如,通過快速傅立葉變換算法或者其它類似的頻率分析處理,能夠?qū)⒂刹蓸訕?gòu)成的音頻塊分解成為頻譜形式。為了避免在一個音頻塊和前一個或者后一個音頻塊之間的邊界出現(xiàn)錯誤,通常使用重疊的音頻塊來生成采樣。在這樣一個方法中,每一個重疊塊使用1024個采樣,一個塊包括512個“舊的”音頻采樣(即,從前一個塊而來的音頻采樣)和512個“新的”或者當(dāng)前的音頻采樣。此塊的頻譜形式被劃分為臨界頻帶,其中每一個頻帶包括一組數(shù)個相鄰的頻率。通過將頻帶內(nèi)頻率成份幅值的平方合計起來,可以計算出這些頻帶中每一個的能量。
音頻壓縮是基于下面的掩蔽(masking)原理在一個頻率(即掩蔽頻率)中存在高頻譜能量的情況下,如果低能量信號具有接近高能量信號的頻率(即被掩蔽的頻率),人的耳朵就不能感覺到較低能量的信號。被掩蔽頻率處的低能量信號稱為“被掩蔽信號”(masked signal)。掩蔽閾值,其或者表示(i)被掩蔽頻率處為使其可聽而需要的聲能,或者(ii)可感覺得到的現(xiàn)有譜值中的能量變化,可以針對各個頻帶進(jìn)行動態(tài)計算。可以在此掩蔽閾值的基礎(chǔ)上使用較少的比特用粗略的形式描述被掩蔽頻帶中的頻率成份。即,使用構(gòu)成壓縮音頻的較少數(shù)目的比特數(shù)對掩蔽閾值和頻率成份的幅值進(jìn)行編碼?;谶@些數(shù)據(jù),解壓縮重建原始數(shù)據(jù)。
需要注意的是,掩蔽閾值在一定程度上取決于被掩蔽的聲音的特性。類音調(diào)的聲音在聲譜中僅出現(xiàn)一個或者少數(shù)頻率,從而出現(xiàn)了處理寬帶聲信號時不會出現(xiàn)的特殊掩蔽問題。這樣,添加到話音流中可以被掩蔽的信號,如果添加到同樣聲能的音樂流中就可能被聽眾聽見。
圖1中所示的電視收視測量系統(tǒng)10是使用本發(fā)明的系統(tǒng)實(shí)例。電視收視測量系統(tǒng)10包括編碼器12,用于向廣播節(jié)目信號的音頻信號部分14中添加附屬編碼?;蛘咦鰹檫x擇,如本領(lǐng)域所公知的,可以在節(jié)目信號發(fā)布鏈的其它位置提供編碼器12。發(fā)射器16把編碼的音頻信號部分和節(jié)目信號的視頻信號部分18一起發(fā)射出去。
當(dāng)位于統(tǒng)計選擇的測量點(diǎn)22處的接收器20接收到編碼信號時,對所接收的節(jié)目信號的音頻信號部分進(jìn)行處理,以恢復(fù)附屬編碼,盡管編碼音頻信號部分提供給接收器20的揚(yáng)聲器24時聽眾并不能察覺到附屬編碼的存在。為此,解碼器26或者直接連接到接收器20處的音頻輸出28,或者連接到用于再生音頻的揚(yáng)聲器24鄰近的麥克風(fēng)30。所接收的音頻信號可以是單聲道格式的,也可以是立體聲格式的。
如同在‘397申請和’425申請中所公布的,音頻塊可以包括以48kHz采樣率進(jìn)行采樣的512個音頻流的采樣。這樣一個塊的持續(xù)時間是10.6ms。由于對兩個塊進(jìn)行緩沖存儲,此方法包括約22ms的總延遲,這會作為視頻和音頻信號之間的同步丟失而被觀眾察覺到。為了避免同步丟失,在視頻信號中引入了補(bǔ)償延遲。由于最好不要有此補(bǔ)償延遲,編碼器12進(jìn)行圖2的流程圖中所示的編碼,以在避免使用補(bǔ)償延遲電路的同時,避免視頻/音頻同步丟失。
通過構(gòu)造一個完整的、或者“長的”碼塊作為重疊短塊序列,該碼塊可以由相應(yīng)較小的緩存器以成對形式進(jìn)行處理,并且僅僅是′397和′425申請中使用的塊長度的一半,從而由編碼器12進(jìn)行的編碼把音頻編碼延遲減小到不可察覺的5.3毫秒。
根據(jù)′397申請和′425申請,音頻信號的采樣間隔足夠長從而構(gòu)成以48kHz采樣率采集的512個采樣的塊,對該采樣間隔的頻譜分析形成以93.75Hz彼此分開的頻率“線”。在這些申請中,鄰域是一組5個連續(xù)的頻率線,覆蓋所編碼的音頻部分整個帶寬的選定部分中的468.75Hz的鄰域帶寬。通過改變(最好是提高)鄰域中一個頻率的幅值使其成為局部極值(即,優(yōu)選情況下的最大值,盡管局部極值也可以是最小值),對“0”或者“1”的二進(jìn)制數(shù)據(jù)比特進(jìn)行編碼。對同一鄰域中的另外一個頻率以相反的方式(即,最好是減小)進(jìn)行改變,以使頻帶中的總能量維持在恒定水平,此處稱作“能量交換編碼”。已經(jīng)發(fā)現(xiàn),編碼塊所需的468.75Hz鄰域帶寬已經(jīng)足夠大,當(dāng)一個鄰域中的兩個頻率經(jīng)歷不同量值的改變時,編碼會受到干擾的影響。
在本發(fā)明的優(yōu)選系統(tǒng)中,使用了更長的“長塊”采樣間隔(48KHz下8192個采樣)。此較長的采樣間隔把頻譜線之間的間隔減小到5.85Hz。這一點(diǎn)將在下面進(jìn)行詳盡的描述,此優(yōu)選系統(tǒng)在包含8個相鄰頻率指數(shù)的頻率鄰域中寫入能量交換編碼比特。這樣,此頻率鄰域需要小于50Hz的帶寬。這種對于采樣率、采樣間隔中的采樣數(shù)和頻率指數(shù)數(shù)目的選擇使得在鄰域中有很小的頻率差,從而提供了一種對窄帶干擾影響具有高度抵抗性的抗干擾編碼。
頻譜調(diào)制編碼如圖2所示,在由編碼器12所實(shí)現(xiàn)的編碼步驟40,通過將輸入緩存器的所有存儲單元設(shè)置為0,而對具有256個存儲單元的輸入緩存器進(jìn)行初始化。同樣,通過將輸出緩存器的所有存儲單元設(shè)置為0,而對具有128個存儲單元的輸出緩存器進(jìn)行初始化。還有,將子塊計數(shù)器和長塊計數(shù)器全部設(shè)置為0。在步驟41,將數(shù)據(jù)從輸入緩存器的后半部移到前半部,并且將數(shù)據(jù)從臨時緩存器的后半部復(fù)制到輸出緩存器的前半部。
在步驟42,通過將來自音頻信號部分14的新數(shù)據(jù)的128個采樣讀取到輸入緩存器的后半部而構(gòu)建短塊,輸入緩存器對這128個新采樣和先前塊的后128個采樣進(jìn)行組合,作為步驟41的結(jié)果,先前塊的后128個采樣存儲在輸入緩存器的前半部中。為了使編碼器12以和壓縮技術(shù)兼容的方式在音頻數(shù)據(jù)流中嵌入數(shù)字編碼,編碼器12使用的頻率和臨界頻帶最好和壓縮中使用的相匹配??梢园凑找韵碌姆椒ㄟx擇用于編碼的音頻信號短塊長度NS,例如,NS=N1/j,其中j為整數(shù),N1是長塊中的采樣長度。例如,NS的合適值為256,而N1的合適值為8192。短塊本身是由先前塊的后128個采樣和圖2中步驟42所讀取的新數(shù)據(jù)的128個采樣構(gòu)建而成。可以由編碼器12通過使用模數(shù)轉(zhuǎn)換器從音頻信號部分14中獲得采樣。
短塊中音頻信號的幅值可以使用時域函數(shù)v(n)進(jìn)行描述,其中n為采樣指數(shù)。在步驟43,通過將時域函數(shù)v(n)乘以采樣間隔而轉(zhuǎn)化為時間值。為此,根據(jù)下面的公式定義了“窗口函數(shù)”w(n)=1-cos(2πnNs)2---(1)]]>并且在步驟43通過乘法而應(yīng)用于v(n),以獲得存儲在臨時緩存器中的窗口信號(windowed signal)v(n)w(n)。在步驟44,對v(n)w(n)進(jìn)行離散傅立葉變換F(u),其中u是頻率指數(shù)。可以通過公知的快速傅立葉變換(FFT)算法實(shí)現(xiàn)此離散傅立葉變換。
由傅立葉變換獲得的頻率的指數(shù)范圍是-127到+127,其中指數(shù)127正好對應(yīng)于采樣頻率fS的一半。因此,對于48kHz的采樣頻率,最高的指數(shù)和24kHz的頻率相對應(yīng)。因此,為了標(biāo)定指數(shù),通過下面的公式給出最接近于由傅立葉變換獲得的某一頻率成份fj的指數(shù),其中以kHz為頻率的單位j=128fj24---(2)]]>其中公式(2)在下面的討論中用于將頻率fj和相應(yīng)的短塊指數(shù)j關(guān)聯(lián)起來。如上所述,在優(yōu)選的編碼方法中,為短塊計算的連續(xù)指數(shù)彼此分開187.5Hz。相應(yīng)的,在考慮分別由128個采樣的64個子塊構(gòu)成的長塊時(其中,以256個采樣的成對形式對子塊進(jìn)行處理),按照下面的公式將長塊指數(shù)J和單位為kHz的高分辨率頻譜頻率fJ關(guān)聯(lián)起來J=4096fJ24---(3)]]>由公式(2)和(3)可見,對于高(長塊)和低(短塊)分辨率頻譜通用的頻率而言,J=32j。
在本發(fā)明的優(yōu)選高分辨率編碼方法中,選定5個頻段用于下面進(jìn)行詳細(xì)討論的“表決(voting)”中。對于每一個選定的頻段,定義了關(guān)于中間短塊指數(shù)jS,JS=32js的8個長塊指數(shù)JL=JS-4,JS-3,JS-2,JS-1,JS,JS+1,JS+2,JS+3等等的高分辨率鄰域。在一個這樣的實(shí)施例中,選定的頻率和指數(shù)如下表所示
值得注意的是,上面示例表中所示的每一個長塊用于定義具有8個長塊指數(shù)的鄰域??梢哉J(rèn)識到可以使用不同數(shù)目的指數(shù)。添加指數(shù)可以增加一個塊中容納的數(shù)值范圍,但是也會增加塊的頻率跨度,從而使得編碼更易受干擾效果的影響。
假設(shè)長塊L包括構(gòu)成64個子塊的8192個采樣,每一個子塊具有128個新采樣。通過使用公式(1)的窗口函數(shù),由相鄰的子塊構(gòu)建256個采樣的短塊。這樣,L包括一個由64個重疊短塊組成的序列,每一個具有256個采樣。這些短塊可以方便地使用Si進(jìn)行指數(shù),其中短塊指數(shù)i的范圍是從0到63。
傳統(tǒng)上用于壓縮算法的這種掩蔽分析優(yōu)選地在步驟44應(yīng)用于短塊,以確定在任何臨界頻率處可能發(fā)生的能量Eb或掩蔽能量水平的最大變化,而不會使得聽眾感覺到調(diào)制。這些通過對人的聽覺能力進(jìn)行實(shí)驗(yàn)性研究而確定的臨界頻帶的寬度可以不同,從頻譜低端的單個頻段到可聽頻譜高端處的包含10個或者更多相鄰頻率的頻段。例如,在用于MPEG-AAC音頻壓縮標(biāo)準(zhǔn)ISO/IEC 13818-71997的心理-聲學(xué)模型方案中,臨界頻段18包括具有短音頻塊的指數(shù)為19和20的兩個頻率。每一個臨界頻段中的聲能影響其鄰域的掩蔽能量。在諸如ISO/IEC13818-71997的標(biāo)準(zhǔn)文件中描述了用于計算掩蔽效果的算法。這些分析可以用于為各個音頻塊確定由作為音頻頻譜特征的“音調(diào)”或者“噪聲”所帶來的掩蔽比重。在步驟44中由這些算法所計算的音調(diào)指數(shù)為確定環(huán)境提供了有用的工具,在此環(huán)境下,在進(jìn)行編碼的時候,子塊會產(chǎn)生音頻降低。基于每一個臨界頻帶,此分析還可以用于確定可以不生成任何顯著的音頻退化而添加的時域編碼信號的幅值。這樣,對于屬于具有掩蔽能量Ej的臨界頻帶的短塊頻率指數(shù)j,按照如下的公式給出編碼信號的最大幅值Mj=128Ej---(4)]]>其中,128是從頻域向時域轉(zhuǎn)換所需的系數(shù)。
使用非常接近于選定頻帶的相應(yīng)短塊的中間指數(shù)的長塊指數(shù)來構(gòu)建優(yōu)選的編碼波形。例如,如果考慮了具有子塊指數(shù)m和編碼頻帶b的子塊Sm,并且如果加強(qiáng)了具有長塊指數(shù)Jb的譜頻頻率,則合適的編碼波形將具有256個采樣,其可以表示為Cb(p),其中指數(shù)p的范圍從0到255。在優(yōu)選實(shí)施例中,按照下面的公式進(jìn)行這些部分的選擇Cb(p)=Abcos(φm+2πJbp8192)+kbAbcos(π+φj+2πjbp256)---(5)]]>其中Ab是名義編碼幅值水平,Jb是長塊頻率空間中的指數(shù),jb是相應(yīng)短塊的中間指數(shù),φm按照下面的公式給出φm=2πJbml288192---(6)]]>φm是子塊m的起始相位角,而φj是由傅立葉變換分析獲得的短塊頻率指數(shù)jb的相位角。數(shù)值φm確保在構(gòu)成長塊的所有64個塊中具有頻率指數(shù)Jb的編碼部分是同相的。應(yīng)當(dāng)注意,為了簡化表示,可以進(jìn)行具有窗口函數(shù)(未顯示)的編碼信號的乘法。
上述的編碼波形選擇提供了能量交換編碼特征。對于給定的大塊指數(shù)Jb,公式(5)中的第一個余弦項(xiàng)表示添加的能量。由于相位角改變了π,在下面的假設(shè)下jb處的頻譜能量代表編碼頻帶b中的所有能量,并且包括頻帶中的所有高分辨率編碼頻率,則相應(yīng)的短塊指數(shù)jb項(xiàng)減去補(bǔ)償?shù)哪芰俊?br>
應(yīng)當(dāng)注意的是,諸如Jb的每一個高分辨率頻率成份不僅影響jb處的頻譜幅值,而且影響其鄰域。最典型的影響在其最近的鄰域jb-1和jb+1。具有從0到0.8變化值范圍的常數(shù)kb用于控制單個指數(shù)jb對編碼信號進(jìn)行補(bǔ)償?shù)某潭取?br>
在步驟43應(yīng)用的窗口函數(shù)導(dǎo)致短塊頻率指數(shù)之間的更多交互作用。由于高分別率頻率彼此互相接近,這些幅值變化是不宜覺察的。由于編碼操作,相對于頻帶中的鄰域,增強(qiáng)了具有指數(shù)Jb的長塊頻率。例如,如果選擇了長塊指數(shù)223,其中相應(yīng)的短塊中間指數(shù)為7,并且計算了所有64塊的編碼能量,則頻率指數(shù)223的成份具有比從220到227的鄰域中其它指數(shù)更高的能級。
選擇名義編碼幅值水平Ab,使其為編碼過程中允許成功提取所嵌入編碼的最低值。對于多數(shù)子塊而言,希望名義編碼幅值水平Ab低于相應(yīng)的掩蔽幅值水平Mj。然而,對于Mj不大于Ab的情況,在公式(5)中用Mj代替Ab。
在本發(fā)明的編碼系統(tǒng)的優(yōu)選實(shí)施例中,使用信號分析器或者信號分析算法對各個短塊的各個可編碼鄰域進(jìn)行檢查,以確認(rèn)所編碼的信號是否具有其鄰域中的類音調(diào)特征。例如,在步驟44中通過ISO/IEC13818-71997描述的掩蔽算法計算的音調(diào)指數(shù)提供了這樣的手段。希望純正的音調(diào)音頻塊具有值為1.0的音調(diào)指數(shù),而“類噪聲”塊具有接近于0的音調(diào)指數(shù)。如果編碼中使用的頻帶的音調(diào)指數(shù)具有超過音調(diào)閾值的值,則對該子塊不進(jìn)行編碼操作(參考下面描述的相關(guān)步驟46)。應(yīng)當(dāng)注意的是,即使幾個子塊都是音調(diào)的,由于在各個長塊中有64個子塊,所以所編碼的數(shù)據(jù)仍然能夠成功恢復(fù)。在解碼過程中分析的是長塊的頻譜。
本發(fā)明的優(yōu)選編碼方法使用冗余傳輸方案,以使得系統(tǒng)更加穩(wěn)固。如同上表中所示,在示例系統(tǒng)中定義了5個不同的頻帶。上述編碼方法僅對其中的一個頻帶進(jìn)行了描述。即,五個頻帶彼此獨(dú)立,從而在任何給定時間,可以在多個頻帶中發(fā)送編碼符號,從而實(shí)現(xiàn)冗余傳輸。
上述編碼方法的一個優(yōu)點(diǎn)是在每個階段,處理過程僅使用256個采樣,其中128個是新采樣,128個是從前面處理步驟得到的。這樣,以48kHz的選定采樣率,在“雙緩存器”中保持采樣所需的總緩存器容量是256,并且相應(yīng)的持續(xù)時間為256/48000=5.3ms。感知心理領(lǐng)域眾所周知的是,在復(fù)合音頻信號的兩個部分(例如,左側(cè)和右側(cè)立體音頻道)之間,或者在復(fù)合電視信號的音頻和視頻信號之間的同步丟失小于10ms時是覺察不到的。這樣,本發(fā)明的編碼方法不需要在信號的其它部分中引入補(bǔ)償延遲。當(dāng)用于電視收視研究時,本系統(tǒng)具有無需視頻延遲電路以及沒有可察覺的同步丟失的優(yōu)點(diǎn)。
為了設(shè)計實(shí)用的編碼方案,有必要開發(fā)一種同步方法,其允許編碼系統(tǒng)確定新消息的起始點(diǎn)。正如編碼報文系統(tǒng)中通常所做的,本發(fā)明的優(yōu)選系統(tǒng)定義了一個具有和其它的編碼塊不同結(jié)構(gòu)的同步塊。因此,在步驟45中,當(dāng)長塊計數(shù)器具有0的數(shù)值時,選定包含8192個采樣的同步塊,從而使得同步塊具有下面的特征在頻帶0,對指數(shù)220進(jìn)行增強(qiáng),其是該鄰域中的第一個頻率線;在頻帶1,對第二個頻率線,指數(shù)349進(jìn)行增強(qiáng);在頻帶2,對第三個頻率線,指數(shù)478進(jìn)行增強(qiáng);在頻帶3,對第四個頻率線,指數(shù)607進(jìn)行增強(qiáng);在頻帶4,對第五個頻率線,指數(shù)736進(jìn)行增強(qiáng)。當(dāng)解碼器在同步塊中通過將各個增強(qiáng)的頻率指數(shù)和選定用于增強(qiáng)的各個指數(shù)進(jìn)行比較,而對長塊進(jìn)行分析,并且在五個頻帶中找出至少三個匹配時,系統(tǒng)確定已經(jīng)檢測到了潛在的同步塊,并且把同步塊后面的長塊解釋為實(shí)際消息數(shù)據(jù)。
如上所述,在為示例性系統(tǒng)選擇的并在上表中所示的塊中,每一個長塊包括能夠調(diào)制成編碼的一組8個指數(shù)。在本發(fā)明的電視收視測量應(yīng)用中,完整的編碼消息包括48比特,該48比特包括16比特的站標(biāo)識符(SID)和32比特的時間標(biāo)記(TS)。為了將此消息和選定的指數(shù)組相匹配,可以將數(shù)據(jù)的48比特分為16個3比特組。這些3比特組中每一個的十進(jìn)制值的范圍是從0到7,從而使得能夠使用選定的長塊對每一個3比特組進(jìn)行編碼。在一個優(yōu)選實(shí)施例中,系統(tǒng)通過對第k個可用指數(shù)進(jìn)行調(diào)制,對k值進(jìn)行編碼(其中k處于0到7的范圍中)。例如,在此方法中,為了發(fā)送具有值=5的編碼組,在步驟45選定每一個頻帶中的第六個指數(shù)(即,指數(shù)225,353,481,609和737)進(jìn)行增強(qiáng)。在此實(shí)施例中,可以將48比特的數(shù)據(jù)包作為一個長同步塊進(jìn)行傳輸,后面跟著16個長數(shù)據(jù)塊。根據(jù)上面公布的編碼塊和采樣頻率的選擇,發(fā)送這些17個長塊需要2.89秒。此方法和同步塊具有顯著的不同,在同步塊中,在各個頻帶中進(jìn)行增強(qiáng)的是不同的指數(shù)。
更一般地講,多個可能的編碼比特各具有一個唯一地與其相關(guān)的指數(shù)模式,而對一個比特進(jìn)行解碼包括將多個增強(qiáng)的指數(shù)中的每一個和各個指數(shù)格式進(jìn)行比較,以確定增強(qiáng)指數(shù)的大多數(shù)是否和一個預(yù)定的格式相匹配。上面所述的示例實(shí)施例在概念上簡單易懂,而且還穩(wěn)定,但是可能會導(dǎo)致音頻差拍現(xiàn)象,原因是在所有的編碼頻帶中,每個編碼頻率與其中間短塊頻率隔開相同的值。對于值為5的編碼比特,這個固定頻率差是5.85Hz,這對應(yīng)于指數(shù)差1。在另外一個優(yōu)選實(shí)施例中,在步驟45,通過選擇各個頻帶的頻率指數(shù)的預(yù)定偽隨機(jī)組合作為指數(shù)模式,從而克服了這個問題。從而,例如,通過使用五個頻帶中的下列頻率指數(shù),可以對等于5的值進(jìn)行編碼225,355,476,607,和737。通過這樣的變化,減少了音頻差拍現(xiàn)象。
這種同時在五個頻帶的每一個中發(fā)送相同數(shù)據(jù)的方法和上面討論的掩蔽算法非常符合。即,可以選擇在一個或者多個頻帶中中止編碼,但在其它頻帶中繼續(xù)進(jìn)行編碼的掩蔽算法。
一旦在步驟45中選定了頻率,在步驟46,假設(shè)掩蔽等級和音調(diào)指數(shù)所指示的音調(diào)是可接受,對這些頻率中的信號進(jìn)行增強(qiáng)。根據(jù)公式(5)和(6)對存儲在臨時緩存器中的采樣v(n)w(n)進(jìn)行修改,并且在步驟47中,將編碼信號添加到臨時緩存器中。在步驟48,將臨時緩存器的前半部添加到輸出緩存器中,將輸出緩存器中的128個采樣輸送到發(fā)射器16作為編碼數(shù)據(jù)。
在步驟49,子塊計數(shù)器加1,如果子塊計數(shù)器等于64,則長塊計數(shù)器加1。在長塊計數(shù)器增加之前,不對其它的子塊進(jìn)行編碼。當(dāng)長塊計數(shù)器等于17時,已經(jīng)將一個完整的編碼消息(一個同步塊和16個數(shù)據(jù)塊)傳送到了發(fā)射器16,并且將長塊計數(shù)器重新置0,以進(jìn)行新消息的編碼。如果子塊計數(shù)器不等于64,或者在將長塊計數(shù)器重新置0之后,程序流程圖將返回到塊41。
頻譜調(diào)制信號的解碼優(yōu)選系統(tǒng)在接收位置提供了一種音頻信號采集方法。例如,此位置可以位于統(tǒng)計選定的計量點(diǎn)22。在某些實(shí)例中,可以從接收器20的音頻輸出28處的音頻信號中恢復(fù)嵌入的數(shù)字編碼。當(dāng)這樣的輸出可用時,其提供了一個相對高質(zhì)量的信號源。然而,許多接收器20并不具有音頻輸出28,這限制了收聽研究系統(tǒng)操作者使用放置在揚(yáng)聲器24鄰近的麥克風(fēng)30獲取模擬音頻信號。由于收視測量系統(tǒng)的目標(biāo)通常是使所測量的電視收看環(huán)境受到干擾最小,所以最好把麥克風(fēng)30放置在接收器20的后面,因?yàn)椋绻邀溈孙L(fēng)30放置在接收器20的前面,就會降低所接收信號的質(zhì)量。信號的弱化導(dǎo)致許多現(xiàn)有技術(shù)系統(tǒng)的失效,這些系統(tǒng)試圖從由麥克風(fēng)拾取的音頻信號中讀取嵌入的編碼。但是,如上所述對5個頻帶進(jìn)行編碼而獲得的冗余增加了成功恢復(fù)編碼的可能性。
對于使用了麥克風(fēng)30的情況,或者對于音頻輸出28的信號是模擬的情況,解碼器26以和編碼器12的采樣率相匹配的優(yōu)選采樣率,將模擬音頻轉(zhuǎn)化為采樣數(shù)字輸出流。在存儲器和計算能力有限的解碼系統(tǒng)中,可以使用半采樣率。對于半采樣率,每一個短塊包括NS/2=128個采樣,并且頻域的分辨率(連續(xù)頻譜成份之間的差值)和全采樣率的一樣。對于接收器20提供數(shù)字輸出的情況,解碼器26對數(shù)字輸出進(jìn)行直接處理,無須進(jìn)行采樣,但要在適合解碼器26的數(shù)據(jù)率下進(jìn)行。
在音頻解碼的實(shí)際實(shí)施中,比如用于家庭收聽計量系統(tǒng),極其希望對音頻流進(jìn)行實(shí)時解碼。同樣極其希望的是將解碼數(shù)據(jù)傳送到遠(yuǎn)程中心局。基于此類應(yīng)用中通常使用的硬件,解碼器26可以在數(shù)字信號處理器(DSP)上運(yùn)行以下要結(jié)合圖3進(jìn)行描述的解碼算法。如上所述,解碼器26可以或者從音頻輸出28,或者從放置在揚(yáng)聲器24附近的麥克風(fēng)30,得到輸入的編碼音頻信號。
如圖3中流程圖中的步驟50所示,通過將所有的存儲單元設(shè)置為0,對能夠存儲4096個采樣的環(huán)形緩存器進(jìn)行初始化。同樣,將一組頻率接收器(frequency bin)設(shè)置為0。在框51,將256個采樣讀取到音頻緩存器中。同樣,將塊采樣計數(shù)器置0。在恢復(fù)表示編碼信息的實(shí)際數(shù)據(jù)比特之前,有必要確定同步塊的位置,最好通過增強(qiáng)(或者削弱)唯一的一組頻率的幅值對該同步塊進(jìn)行編碼。在一個優(yōu)選實(shí)施例中,這些頻率具有的指數(shù)為220,349,478,607和736,并且每一個都在不同的編碼頻帶中。為了搜索同步塊,以及從輸入音頻流中的連續(xù)塊中提取數(shù)據(jù),使用了環(huán)形緩存器。環(huán)形緩存器在半比率采樣的情況下,具有能夠存儲4096個采樣的規(guī)格。為了實(shí)現(xiàn)基于滑動FFT程序的近實(shí)時解碼方案,該滑動FFT程序構(gòu)成了圖3的流程圖中所示解碼算法的一部分,以上的配置是很有必要的。
假設(shè)對于當(dāng)前存儲在環(huán)形緩存器中的音頻緩存器,在指數(shù)J的頻率處具有頻譜幅值B0[J]和相位角φ0[J]。頻譜幅值B0[J]和相位角φ0[J]代表當(dāng)前存儲在環(huán)形緩存器中的4096個音頻采樣的頻譜值。如果從音頻緩存器中讀取兩個新的時域采樣V4094和V4095,并且如步驟52所示插入到環(huán)形緩存器中,以取代環(huán)形緩存器中的兩個早期采樣V0和V1,然后在步驟53根據(jù)下面的公式確定各個指數(shù)J處新的頻譜幅值B1[J]和相位角φ1[J]B1[J]expφi[J]=B0[J]expφ0[J]+(v4094exp(i2πJ(4096-2)4096))+(7)]]>(v4095exp(i2πJ(4096-1)4096))-(v0exp(-i2πJ24096))-(v1exp(-i2πJ4096))]]>因此,根據(jù)公式(7),僅通過對包含在環(huán)形緩存器中的采樣的現(xiàn)有頻譜的更新,就能夠計算出環(huán)形緩存器的頻譜。即使在步驟50對所有的頻譜值(幅值和相位)初始置為0,當(dāng)在環(huán)形緩存器中輸入新數(shù)據(jù),以及去除舊的數(shù)據(jù)時,也要逐漸改變頻譜值,直到它們和環(huán)形緩存器中當(dāng)前數(shù)據(jù)的實(shí)際FFT頻譜值相對應(yīng)。為了克服在計算過程中形成的一些不穩(wěn)定,本鄰域技術(shù)人員所公知的是,將輸入音頻采樣乘以一個穩(wěn)定系數(shù)(通常為0.99995),將所去除的采樣乘以一個系數(shù)0.999952048=0.902666?;瑒覨FT算法提供了一種對于當(dāng)前采樣位置之前的4095個采樣和當(dāng)前采樣本身計算所關(guān)心的頻譜成份的有效方法。在框53,結(jié)合根據(jù)公式(7)所進(jìn)行分析的結(jié)果,對頻率接收器進(jìn)行更新。
如果塊采樣計數(shù)器具有為64倍數(shù)的數(shù)值,則對頻率接收器進(jìn)行分析,并且按照圖3中步驟54所示,將分析的結(jié)果存儲在狀態(tài)信息結(jié)構(gòu)(SIS)中。由于4096個采樣的長塊的頻譜對于音頻流的少量采樣改變很小,可以使用此數(shù)值64。即使使用滑動FFT算法在兩個采樣步長中對頻譜值進(jìn)行更新,也只需要每64個采樣對頻譜進(jìn)行分析以確定同步塊的位置以及提取數(shù)據(jù)。這樣,使用4096/64=64個SIS結(jié)構(gòu),對解碼操作的中間結(jié)果進(jìn)行追蹤。這些SIS結(jié)構(gòu)使用SIS0,SIS1,---,SIS63進(jìn)行標(biāo)記。以4096個采樣的間隔對各個SIS結(jié)構(gòu)進(jìn)行更新,這對應(yīng)于半采樣率情況下長塊的長度。每一個SIS結(jié)構(gòu)包括同步標(biāo)志和數(shù)據(jù)存儲單元。同樣,SIS包括計數(shù)器。
在解碼處理中,搜索同步塊是第一步。假設(shè)在采樣位置,由于發(fā)現(xiàn)了滿足同步塊特征的頻譜,所以需要對SIS SISk進(jìn)行更新。在這樣的頻譜中,指數(shù)220,349,478,607,736得到了增強(qiáng),并且比各頻帶中的其它鄰域具有更高的頻譜能量。由于音頻壓縮、由放大器-揚(yáng)聲器-麥克風(fēng)的非線性引起的音頻弱化、或者基于麥克風(fēng)的解碼系統(tǒng)的情況下的環(huán)境噪聲之類的因素,也許不是所有的5個頻帶都具有預(yù)期的特征。上面描述的冗余傳輸特征使得能夠檢測作為同步塊的長塊,即使5個頻帶中僅有3個滿足同步塊的標(biāo)準(zhǔn)。一旦檢測到同步塊,則將相應(yīng)SIS結(jié)構(gòu)中的同步標(biāo)志設(shè)置為1。在實(shí)際的實(shí)施例中,多個SIS結(jié)構(gòu)能夠?qū)⑵渫綐?biāo)志設(shè)置為1。由于長音頻塊的頻譜不會變化太快,通常幾個相鄰的SIS結(jié)構(gòu),例如,SISk-2,SISk-1,SISk,SISk+1,SISk+2的同步標(biāo)志都會設(shè)置為1。
當(dāng)4096個采樣之后對SISk進(jìn)行分析時,算法識別出同步標(biāo)志,并且試圖提取出頻譜中所編碼的前3比特的數(shù)據(jù)值。此提取可以通過表決(voting)算法實(shí)現(xiàn),表決算法對從各個鄰域中取出的測試值進(jìn)行比較,如果在5個頻帶鄰域中的3個中找到了同一個測試值,則將該測試值作為數(shù)據(jù)值。另外,如果提取出了0到7范圍中的有效數(shù)據(jù)值,則增加SIS中的計數(shù)器,以顯示已經(jīng)提取了16個成員消息數(shù)據(jù)中的第一個。所提取的3比特數(shù)據(jù)也存儲在相應(yīng)數(shù)據(jù)存儲單元的結(jié)構(gòu)中。如果在當(dāng)前單元或者在SISk更新了的15個后面單元中的任何一個中沒有找到有效數(shù)據(jù),則將SIS結(jié)構(gòu)的同步標(biāo)志設(shè)置為0,并且將計數(shù)器重置為0。這些操作釋放SIS以再次尋找同步塊。當(dāng)SIS結(jié)構(gòu)的計數(shù)器增加到16的時候,其包含了一個完整的消息分組,該消息分組包括圖3流程圖的步驟55所示的、能夠傳送出去的48比特。例如,可以將消息分組傳送到中心局。當(dāng)完成傳送時,將同步標(biāo)志重置為0,并且重置計數(shù)器。
在框圖56,對應(yīng)于在步驟52中從音頻緩存器讀取到環(huán)形緩存器的兩個采樣,塊采樣計數(shù)器加2。如果塊采樣計數(shù)器的計數(shù)值不等于256,則返回到步驟52,其中從音頻緩存器讀取另外兩個采樣到環(huán)形計數(shù)器中。另一方面,如果塊采樣計數(shù)器的計數(shù)值等于256,則返回到步驟51,其中將另外256個采樣插入到音頻緩存器中。
盡管針對幾個優(yōu)選實(shí)施例對本發(fā)明進(jìn)行了說明,在不脫離本發(fā)明范圍的情況下,顯然可以有各種改進(jìn)和替換。因此,所附權(quán)利要求涵蓋落入本發(fā)明的范圍內(nèi)的所有變化和替換。
權(quán)利要求
1.一種生成被編碼的時域音頻信號的方法,包括對音頻信號進(jìn)行采樣以產(chǎn)生多個采樣音頻的子塊,每個子塊的持續(xù)時間小于最小的可聽出的信號延遲;把所述多個子塊組合成多個窗口重疊短塊;順序地將每個窗口重疊短塊變換到頻域;通過以下操作在頻域中對每個變換的短塊進(jìn)行編碼基于要嵌入的數(shù)據(jù)來選擇要對變換的短塊進(jìn)行編碼的編碼信號頻率;確定與要在變換的短塊中編碼的編碼信號頻率相關(guān)的掩蔽能量;基于掩蔽能量來選擇變換的短塊的編碼信號頻率的幅值;合成一編碼信號;把合成的編碼信號添加到變換的短塊中以形成被編碼的短塊;以及把被編碼的短塊變換到時域以形成被編碼的時域短塊;以及由被編碼的時域短塊中的至少兩個相繼的短塊構(gòu)建一被編碼的時域信號,其中被編碼的時域信號的產(chǎn)生無需對音頻采樣的整個長塊進(jìn)行緩沖并且無需把音頻采樣的整個長塊變換到頻域。
2.一種用于生成被編碼的時域音頻信號的設(shè)備,包括采樣器,用于對音頻信號進(jìn)行采樣以產(chǎn)生多個采樣音頻的子塊,每個子塊的持續(xù)時間小于最小的可聽出的信號延遲;組合器,用于把所述多個子塊組合成多個窗口重疊短塊;變換器,用于順序地將每個窗口重疊短塊變換到頻域;編碼器,用于通過以下操作在頻域中對每個變換的短塊進(jìn)行編碼基于要嵌入的數(shù)據(jù)來選擇要對變換的短塊進(jìn)行編碼的編碼信號頻率;確定與要在變換的短塊中編碼的編碼信號頻率相關(guān)的掩蔽能量;基于掩蔽能量來選擇變換的短塊的編碼信號頻率的幅值;合成一編碼信號;把合成的編碼信號添加到變換的短塊中以形成被編碼的短塊;以及把被編碼的短塊變換到時域以形成被編碼的時域短塊,編碼器被構(gòu)造為,由被編碼的時域短塊中的至少兩個相繼的短塊構(gòu)建一被編碼的時域信號,其中被編碼的時域信號的產(chǎn)生無需對音頻采樣的整個長塊進(jìn)行緩沖并且無需把音頻采樣的整個長塊變換到頻域。
3.一種用于把不可聽碼插入音頻信號的方法,包括對音頻信號進(jìn)行采樣以產(chǎn)生多個采樣音頻的子塊,每個子塊的持續(xù)時間小于最小的可聽出的信號延遲;把所述多個子塊組合成多個部分重疊的短塊,所述多個短塊共同構(gòu)成一個長塊;單獨(dú)地把每個短塊變換到頻域;通過以下操作利用希望的編碼在頻域中對每個變換的短塊進(jìn)行編碼;基于要插入的希望編碼和一預(yù)定的編碼規(guī)則來選擇至少一個要編碼的頻率;基于與所述至少一個頻率相關(guān)的掩蔽能量來設(shè)置所述至少一個頻率的幅值;設(shè)置所述至少一個頻率的相位角;以及把被編碼的短塊變換到時域;以及由被編碼的時域短塊中的至少兩個相繼的短塊構(gòu)建一被編碼的時域信號,通過把第一短塊的所述至少一個頻率的相位角設(shè)置為第一預(yù)定值來設(shè)置被編碼的短塊的相位角,并且把每個隨后的短塊的相位角遞增一預(yù)定量。
4.根據(jù)權(quán)利要求3所述的方法,其中選擇至少一個要編碼的頻率的步驟包括在多個頻帶中的每一頻帶中選擇要編碼的至少一個頻率,其中設(shè)置所述至少一個頻率的幅值的步驟包括在所述多個頻帶中的每個頻帶中設(shè)置所述至少一個頻率的幅值,并且其中設(shè)置所述至少一個頻率的相位角的步驟包括在所述多個頻帶中的每個頻帶中設(shè)置所述至少一個頻率的相位角。
5.根據(jù)權(quán)利要求4所述的方法,其中所述多個頻帶包括至少五個頻帶。
6.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括對長塊進(jìn)行解碼。
7.根據(jù)權(quán)利要求6所述的方法,其中對長塊進(jìn)行解碼的步驟包括整體地把長塊變換到頻域;以及如果長塊中的一個編碼被承載于大多數(shù)頻帶中,則把該編碼識別為所述希望的編碼。
8.根據(jù)權(quán)利要求7所述的方法,其中如果在所述預(yù)定編碼規(guī)則中識別的頻率是大多數(shù)頻帶中的相對最大值,則所述編碼被承載于大多數(shù)頻帶中。
9.根據(jù)權(quán)利要求3所述的方法,其中所述第一預(yù)定值包括零度。
10.一種用于把不可聽碼插入音頻信號的設(shè)備,包括采樣器,用于對音頻信號進(jìn)行采樣以產(chǎn)生多個采樣音頻的子塊,每個子塊的持續(xù)時間小于最小的可聽出的信號延遲;組合器,用于把所述多個子塊組合成多個部分重疊的短塊,所述多個短塊共同構(gòu)成一個長塊;變換器,用于單獨(dú)地把每個短塊變換到頻域;編碼器,用于通過以下操作利用希望的編碼在頻域中對每個變換的短塊進(jìn)行編碼基于要插入的希望編碼和一預(yù)定的編碼規(guī)則來選擇至少一個要編碼的頻率;基于與所述至少一個頻率相關(guān)的掩蔽能量來設(shè)置所述至少一個頻率的幅值;設(shè)置所述至少一個頻率的相位角;以及把被編碼的短塊變換到時域,其中編碼器被配置為,由被編碼的時域短塊中的至少兩個相繼的短塊構(gòu)建一被編碼的時域信號,通過把第一短塊的所述至少一個頻率的相位角設(shè)置為第一預(yù)定值來設(shè)置被編碼的短塊的相位角,并且把每個隨后的短塊的相位角遞增一預(yù)定量。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中編碼器被配置為,在多個頻帶中的每一頻帶中選擇要編碼的至少一個頻率,在所述多個頻帶中的每個頻帶中設(shè)置所述至少一個頻率的幅值,以及在所述多個頻帶中的每個頻帶中設(shè)置所述至少一個頻率的相位角。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其中所述多個頻帶包括至少五個頻帶。
13.根據(jù)權(quán)利要求10所述的設(shè)備,進(jìn)一步包括用于對長塊進(jìn)行解碼的解碼器。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中解碼器包括變換器,用于整體地把長塊變換到頻域;和識別器,用于如果長塊中的一個編碼被承載于大多數(shù)頻帶中,則把該編碼識別為所述希望的編碼。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其中如果在所述預(yù)定編碼規(guī)則中識別的頻率是大多數(shù)頻帶中的相對最大值,則所述編碼被承載于大多數(shù)頻帶中。
16.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述第一預(yù)定值包括零度。
17.一種用于把不可聽碼插入音頻信號的方法,包括對音頻信號進(jìn)行采樣以產(chǎn)生多個部分重疊的短塊,所述多個短塊共同構(gòu)成一個長塊;通過順序地把每個短塊變換到頻域,在多個頻帶中單獨(dú)地對每個短塊進(jìn)行編碼,并在每個短塊中對所述多個頻帶的每個頻帶中的一個頻率的幅值和相位角進(jìn)行調(diào)節(jié),從而產(chǎn)生一個被編碼的長塊;把被編碼的短塊變換到時域以形成一被編碼的時域信號;發(fā)送被編碼的時域信號;接收被編碼的時域信號;識別所接收的時域信號中的被編碼的長塊;以及通過把整個被編碼的長塊變換到頻域,并且確定是否大多數(shù)頻帶都識別出同一編碼,來對被編碼的長塊進(jìn)行解碼。
18.一種用于把不可聽碼插入音頻信號的設(shè)備,包括采樣器,用于對音頻信號進(jìn)行采樣以產(chǎn)生多個部分重疊的短塊,所述多個短塊共同構(gòu)成一個長塊;產(chǎn)生器,用于通過順序地把每個短塊變換到頻域,在多個頻帶中單獨(dú)地對每個短塊進(jìn)行編碼,并在每個短塊中對所述多個頻帶的每個頻帶中的一個頻率的幅值和相位角進(jìn)行調(diào)節(jié),從而產(chǎn)生一個被編碼的長塊;變換器,用于把被編碼的短塊變換到時域以形成一被編碼的時域信號;發(fā)送器,用于發(fā)送被編碼的時域信號;接收器,用于接收被編碼的時域信號;識別器,用于識別所接收的時域信號中的被編碼的長塊;和解碼器,用于通過把整個被編碼的長塊變換到頻域,并且確定是否大多數(shù)頻帶都識別出同一編碼,來對被編碼的長塊進(jìn)行解碼。
19.一種用于傳送音頻信號的方法,包括通過對重疊短塊的序列順序地進(jìn)行低分辨率頻率變換以估計在要編碼的頻率處的掩蔽能量,來對音頻信號進(jìn)行編碼,其中所述低分辨率頻率變換是在把音頻信號編碼為被編碼的音頻信號時使用的唯一的時域至頻域變換;以及通過進(jìn)行高分辨率頻率變換,從被編碼的音頻信號中提取一個編碼。
20.根據(jù)權(quán)利要求19所述的方法,其中從被編碼的音頻信號中提取編碼的步驟包括從被編碼的音頻信號中提取編碼而無需采用低分辨率頻率變換的結(jié)果。
21.根據(jù)權(quán)利要求19所述的方法,其中低分辨率頻率變換和高分辨率頻率變換中的至少一個包括傅立葉頻率變換。
22.一種傳送音頻信號的方法,包括通過對重疊短塊的序列順序地進(jìn)行低分辨率頻率變換以估計要編碼的頻率處的掩蔽能量,來對音頻信號進(jìn)行編碼,其中對音頻信號的編碼無需采用高分辨率頻率變換的結(jié)果;以及通過進(jìn)行高分辨率頻率變換來從音頻信號中提取一個編碼。
23.根據(jù)權(quán)利要求22所述的方法,其中從被編碼的音頻信號中提取編碼的步驟包括從被編碼的音頻信號中提取編碼而無需采用低分辨率頻率變換的結(jié)果。
24.根據(jù)權(quán)利要求22所述的方法,其中低分辨率頻率變換和高分辨率頻率變換中的至少一個包括傅立葉頻率變換。
全文摘要
編碼器包括采樣器,該采樣器對音頻信號進(jìn)行采樣,并且由采樣生成多個采樣音頻的短塊。每個短塊的持續(xù)時間小于可聽出的最小信號延遲。處理器將多個短塊組合成長塊。將長塊轉(zhuǎn)換成具有多個可獨(dú)立調(diào)制的頻率指數(shù)的頻域信號。由所述最小持續(xù)時間和采樣器的采樣率確定相鄰指數(shù)之間的頻率差。選擇頻率指數(shù)的鄰域,從而使得在鄰域中最低指數(shù)和最高指數(shù)之間的頻率差小于一個預(yù)定值。對鄰域中的兩個或者多個指數(shù)進(jìn)行調(diào)制,從而在保持鄰域的總能量不變的同時,使選擇的一個指數(shù)成為極值。如此對多個頻帶進(jìn)行編碼。如果在多數(shù)頻帶中解碼器檢測到了調(diào)制的指數(shù),則解碼器確定接收到了一個或多個比特。
文檔編號G10L19/00GK1645774SQ20051000846
公開日2005年7月27日 申請日期2001年4月3日 優(yōu)先權(quán)日2000年4月6日
發(fā)明者文努格派爾·斯里丹尼桑 申請人:尼爾森媒體調(diào)查有限公司