矢量量化的制作方法
【技術領域】
[0001] 本發(fā)明的實施例涉及編碼,特別是涉及語音和音頻編碼。
【背景技術】
[0002] 針對語音和音頻編碼的低復雜度算法構成了例如針對基于移動終端的通信的非 常相關的資產(chǎn)。
[0003] 由于低存儲和低復雜度,因此盡管保持編碼效率,但是在若干現(xiàn)有技術的語音和 音頻編解碼器中可W優(yōu)選結構化碼書,如例如在第H代合作伙伴計劃(3GP巧內(nèi)將被標準 化的增強語音服務巧V巧編解碼器。
[0004] 在該些語音和音頻編解碼器內(nèi)使用的碼書可W例如基于格形(lattice)結構,女口 在由 A. Vasilache, B. Dumitrescu 和 I.T油US,在 Si即al Processing, 2002,卷.82,頁碼 563-586, Elsevier 的參考文獻"Multiple-scale leader-lattice VQ with application to LSF quantization"中描述的,通過引用將該參考文獻整體并入本申請。
[0005] 能夠將格形碼書定義為領袖集(leader classes)的并集,領袖集的并集中的每個 領袖集W領袖矢量為特點。領袖矢量是n維矢量(其中n表示整數(shù)),它的(例如正)成分 被(例如,降序地)排序。對應于領袖矢量的領袖集于是由該領袖矢量和通過該領袖矢量 的所有有符號排列獲得的所有矢量組成。還能夠的是,一個、一些或所有領袖集分別與一個 或多個伸縮(scale)相關聯(lián),W及于是將格形碼書形成為伸縮的和/或未伸縮的領袖集的 并集。
[0006] 通過在碼書中找到最鄰近的碼矢量,即相對于輸入矢量而言具有最小距離的碼矢 量,例如可W對該輸入矢量進行編碼(例如在量化中)。該個碼矢量的標識符(例如,被分 配給該個碼矢量的索引)于是可W用作該輸入矢量的編碼表示。
[0007] 例如,語音或音頻編碼可W應用于不同的編碼模式。作為一個示例,量化可W應用 于信號的語音的、非語音的、一般的、過渡或舒適噪聲生成(CNG)部分。一般地,CNG部分使 用較少的部分,W及因此,較少的比特用于量化。然而,針對較低的比特率,基于格形的碼書 不是非常高效。
【發(fā)明內(nèi)容】
[0008] 盡管結構化碼書的使用已經(jīng)降低了針對編碼輸入矢量所要求的存儲器的數(shù)量和 計算復雜度,但是存儲器需求和/或計算復雜度和/或增強的量化質(zhì)量的進一步降低是期 望的,例如相對于不同的編碼模式,特別是針對包括語音的、非語音的、一般的、過渡或CNG 部分的音頻信號。
[0009] 根據(jù)本發(fā)明的第一方面的第一示例實施例,公開了一種方法,所述方法包括;確定 輸入矢量的第一量化表示,W及基于取決于所述第一量化表示的碼書來確定所述輸入矢量 的第二量化表示。
[0010] 根據(jù)本發(fā)明的第一方面的第二示例實施例,公開了一種裝置,所述裝置被配置為 執(zhí)行根據(jù)本發(fā)明的第一方面的所述方法,或所述裝置包括:用于確定輸入矢量的第一量化 表示的構件,W及用于基于取決于所述第一量化表示的碼書來確定所述輸入矢量的第二量 化表示的構件。
[0011] 根據(jù)本發(fā)明的第一方面的第H示例實施例,公開了一種裝置,所述裝置包括至少 一個處理器和包含計算機程序代碼的至少一個存儲器,所述至少一個存儲器和所述計算機 程序代碼被配置為使用所述至少一個處理器使得所述裝置至少執(zhí)行根據(jù)本發(fā)明的第一方 面的所述方法。被包含在所述存儲器中的所述計算機程序代碼可W例如至少部分地表示用 于所述處理器的軟件和/或固件。所述存儲器的非限制性示例是由所述處理器能夠訪問的 隨機存取存儲器(RAM)或只讀存儲器(ROM)。
[0012] 根據(jù)本發(fā)明的第一方面的第四示例實施例,公開了一種計算機程序,所述計算機 程序包括程序代碼,當在處理器上運行所述程序代碼時,所述程序代碼用于執(zhí)行根據(jù)本發(fā) 明的第一方面的所述方法。例如,可W經(jīng)由諸如例如互聯(lián)網(wǎng)的網(wǎng)絡來分發(fā)所述計算機程序。 所述計算機程序可W例如被存儲或編碼在計算機可讀介質(zhì)中。所述計算機程序可W例如至 少部分地表示所述處理器的軟件和/或固件。
[0013] 根據(jù)本發(fā)明的第一方面的第五示例實施例,公開了一種計算機可讀介質(zhì),所述計 算機可讀介質(zhì)具有存儲在其上的根據(jù)本發(fā)明的第一方面的計算機程序。所述計算機可讀介 質(zhì)可W例如被具體化為電、磁、電磁、光或其它存儲介質(zhì),W及可W是可移動介質(zhì)或被固定 地安裝在裝置或設備中的介質(zhì)。此類計算機可讀介質(zhì)的非限制性示例是RAM或ROM。所述 計算機可讀介質(zhì)可W例如是有形介質(zhì),例如有形的存儲介質(zhì)。計算機可讀介質(zhì)被理解為能 夠由計算機(諸如例如處理器)讀取。
[0014] 在W下,將簡要概述與本發(fā)明的所有該些上述方面相關的特征和實施例。
[0015] 作為非限制性示例,輸入矢量可W表示包括輸入信號的線譜頻率(LSF)的矢量, 其中該個輸入信號可W表W至少一部分音頻信號,諸如一部分語音信號或一部分非語音信 號,其中該個音頻信號可W包括語音的和/或非語音的和/或一般的和/或過渡和/或CNG 部分。例如,將被量化的輸入信號可W表示將被編碼的音頻信號的殘差數(shù)據(jù)。
[0016] 作為示例,可W借助于基于多個碼矢量來執(zhí)行第一量化階段,來確定第一量化表 示。第一量化階段的該多個碼矢量可W表示第一階段碼書。
[0017] 例如,第一量化表示可W表示從多個碼矢量選擇的用于量化輸入矢量的碼矢量。 作為另一個示例,第一量化表示可W表示所選擇的碼矢量的標識符,其中該個標識符可W 表示碼矢量索引。因此,例如,如果第一量化表示可W包括n個比特,則第一階段碼書可W 包括最大2"個碼矢量。
[0018] 于是,基于取決于第一量化表示的碼書來確定輸入矢量的第二量化表示。
[0019] 例如,可W假設,借助于第二量化階段來執(zhí)行該個第二量化表示。該個第二量化階 段可W基于多個碼書來執(zhí)行量化,其中該多個碼書中的每個碼書包括至少一個碼矢量。
[0020] 在第二階段中用于輸入矢量的量化的碼書取決于第一量化表示。因此,作為示例, 可W基于輸入矢量的第一量化表示從第二階段的多個碼書來選擇在第二階段中使用的碼 書。
[0021] 例如,在第一階段的多個碼矢量中的碼矢量與第二階段的多個碼書中的碼書之間 可W存在定義的映射。因此,可W針對第一階段的多個碼矢量中的每個碼矢量和第二階段 的多個碼書中的各自碼書來定義此類映射。因此,基于輸入矢量的第一量化表示,其中該第 一量化表示可W表示在第一階段中選擇的碼矢量或可W表示在第一階段中選擇的碼矢量 的指示符,可W從第二階段的多個碼書選擇針對在第二階段中執(zhí)行量化的碼書。
[0022] 例如,第二階段的碼書可W表示格形碼書。
[0023] 作為示例,輸入矢量的第一量化表示可W表示碼矢量索引,該碼矢量索引指示在 第一階段中選擇的碼矢量。于是,例如,選擇多個碼書中的碼書,該碼書與第一量化表示的 碼矢量索引相關聯(lián)。例如,第一階段的每個碼矢量索引可W與第二階段的多個碼書中的對 應碼書相關聯(lián)。
[0024] 于是,基于所選擇的碼書,可W例如基于失真度量來確定所選擇的碼書的碼矢量。 例如,可W確定所選擇的碼書的碼矢量,該碼矢量用于量化輸入矢量,該碼矢量具有相對于 輸入矢量的最低失真,其中基于失真度量來確定該失真。作為示例,失真度量可W表示碼矢 量和輸入矢量之間的距離。例如,可W使用海明距離或歐式距離或任何其它距離。
[0025] 可W基于所應用的失真度量來確定多個碼矢量中的碼矢量,其中該確定可W例如 包括計算針對多個碼矢量中的至少一個碼矢量的失真,其中選擇該至少一個碼矢量中的碼 矢量W用于量化,依照所確定的失真度量,該碼矢量具有最低的失真。例如,所述至少一個 碼矢量可W表示所選擇的碼書的多個碼矢量中的所有碼矢量,或所選擇的碼書的多個碼矢 量中的碼矢量的子集。
[0026] 根據(jù)本發(fā)明的第一方面的示例實施例,所述確定輸入矢量的第二量化表示包括基 于第一量化表示來選擇多個碼書中的碼書。
[0027] 該可W示出如下優(yōu)點:可W針對第二階段定義特定碼書,其中每個特定碼書適應 于在第一階段中執(zhí)行的量化。因此,第二階段的多個碼書中的至少一個碼書可W表示針對 與該個碼書相關聯(lián)的將被編碼的特定殘差數(shù)據(jù)所調(diào)節(jié)的特定碼書,該特定碼書可W改進編 碼效率。
[0028] 根據(jù)本發(fā)明的第一方面的示例實施例,在確定所述輸入矢量的所述第二量化表示 之前,基于所述第一量化表示對所述輸入矢量進行正規(guī)化。
[0029] 例如,所述正規(guī)化可W包括;使所述輸入矢量的矢量成分與正規(guī)化系數(shù)相乘,W便 獲得所述輸入矢量的正規(guī)化表示,其中所述正規(guī)化系數(shù)取決于所述輸入矢量的所述第一量 化表示。
[0030] 基于所述第一量化表示來執(zhí)行所述正規(guī)化。例如,可W存在定義的多個正規(guī)化系 數(shù)集合,每個正規(guī)化系數(shù)集合包括:將用于正規(guī)化所述輸入矢量的至少一個正規(guī)化系數(shù),其 中基于所述輸入矢量的第一量化表示,從所述多個正規(guī)化系數(shù)集合來選擇一個正規(guī)化系數(shù) 集合。
[0031] 例如,在所述第一階段的多個碼矢量中的碼矢量與多個正規(guī)化系數(shù)集合中的正規(guī) 化系數(shù)集合之間,可W存在定義的映射。因此,可W針對所述第一階段的所述多個碼矢量中 的每個碼矢量和所述多個正規(guī)化系數(shù)中的各自正規(guī)化系數(shù)集合,定義此類映射。因此,基于 所述輸入矢量的所述第一量化表示,其中該個第一量化表示可W表示在第一階段中選擇的 碼矢量或可W表示在第一階段中選擇的碼矢量的指示符,可W從所述多個正規(guī)化系數(shù)集合 來選擇用于執(zhí)行對所述輸入矢量進行正規(guī)化的正規(guī)化系數(shù)集合。
[0032] 作為示例,如果所述輸入矢量包括n個矢量系數(shù),則正規(guī)化系數(shù)集合可W包括n個 正規(guī)化系數(shù)。于是,可w通過使所述輸入矢量的多個矢量成分中的矢量成分與所選擇的正 規(guī)化系數(shù)集