專利名稱:用于針對矢量量化器的快速最近鄰搜索的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及音頻數(shù)據(jù)的編碼和解碼。特別地,本發(fā)明涉及針對矢量量化器的最近 鄰快速搜索。
背景技術(shù):
本部分旨在為權(quán)利要求書中陳述的本發(fā)明提供背景或上下文。在此的描述可能包 括可以探究的概念,但不一定是那些之前已經(jīng)想到或者探究的概念。因此,除非在此指出, 否則在本部分中描述的內(nèi)容對于本申請的說明書和權(quán)利要求書而言不是現(xiàn)有技術(shù),并且并 不因?yàn)榘ㄔ诒静糠种芯捅徽J(rèn)為是現(xiàn)有技術(shù)。量化是有損信號壓縮的主要工具之一。量化過程包括針對給定輸入數(shù)據(jù)找到接近 的表示,該表示將使得利用較少的比特對數(shù)據(jù)進(jìn)行存儲和傳輸??梢詫⒘炕瘮?shù)寫作f =D > C,其中D是輸入空間并且C是表示集合或碼書。對于來自于D的給定輸入,從C選擇表 示或碼書,從而在整個碼書上最小化了輸入和表示之間的給定失真測量值。找到最小化失 真測量值的碼書的過程通常稱作最近鄰搜索。如果輸入空間以及碼書是一維的,則量化稱作標(biāo)量量化;否則其被稱作矢量量化。 在矢量量化的情況中,表示也稱作碼矢量。碼書Cc的基數(shù)小于輸入空間的基數(shù),這允許以較少的比特表示輸入數(shù)據(jù)。在碼書 中,最近鄰碼字的索引可以表示為Iog2Cc比特。如果利用同樣數(shù)量的比特來表示所有碼字, 則量化率是R =每個采樣log2Cc/K比特,其中K是數(shù)據(jù)維度。通常,最近鄰搜索包括針對每個碼字的失真測量值的評估,尤其對于矢量量化情 況而言,從計算的觀點(diǎn)來看這可能是非常昂貴的。已經(jīng)提出了各種快速最近鄰算法,它們基 于停止評估的一個或多個條件而減少了失真評估的數(shù)量。矢量量化是信號處理應(yīng)用中廣泛使用的工具,其中應(yīng)用例如是采用話音/音頻、 圖像或視頻編碼的應(yīng)用。
發(fā)明內(nèi)容
在本發(fā)明的一個方面中,一種方法包括從具有一個或多個碼矢量的碼書C中標(biāo) 識碼矢量的分量k ;以及允許基于分量k來對所述碼書C中的碼矢量進(jìn)行排序,從而促進(jìn)使 用經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢量。在一個實(shí)施方式中,將所述分量k標(biāo)識為針對輸入矢量引入最高方差。在一個實(shí)施方式中,允許對碼矢量進(jìn)行排序包括根據(jù)分量k對所述碼書C中的碼 矢量進(jìn)行排序。在另一實(shí)施方式中,允許對碼矢量進(jìn)行排序包括提供映射函數(shù)以形成所述 碼書C的碼矢量索引。在另一方面中,一種方法包括使用碼書C中經(jīng)排序的碼矢量來搜索輸入矢量的最 佳匹配矢量,其中基于所述碼矢量的分量k來對所述碼矢量進(jìn)行排序,其中所述搜索包括 在執(zhí)行考慮所述輸入矢量的分量k的二分搜索;以及執(zhí)行考慮全碼矢量的修改的部分失真搜索??梢砸陨?qū)λ龃a矢量進(jìn)行排序并且執(zhí)行所述二分搜索可以找到滿足以下條件的 具有最小索引j的矢量Xk < Cjjk,其中X是所述輸入矢量并且C’是所述經(jīng)排序的碼矢量。在一個實(shí)施方式中,執(zhí)行所述修改的部分失真搜索包括執(zhí)行開始于索引j_l的向 下搜索;以及執(zhí)行開始于索引j的向上搜索。可以在找到以下碼矢量時終止所述向下搜索, 所述碼矢量導(dǎo)致比提供所述最佳匹配的當(dāng)時(then-current)碼矢量更大的分量k的失真。 可以在找到以下碼矢量時終止所述向上搜索,所述碼矢量導(dǎo)致比提供所述最佳匹配的當(dāng)時 碼矢量更大的分量k的失真。在一個實(shí)施方式中,所述方法還包括在終止所述向上搜索和所述向下搜索兩者時 選擇碼矢量作為搜索最佳匹配的輸出。在本發(fā)明的另一方面中,一種裝置,包括解碼器,被配置用于從具有一個或多個碼 矢量的碼書C中標(biāo)識碼矢量的分量k,所述分量k引入輸入矢量的最高方差;以及允許基于 分量k來對所述碼書C中的碼矢量進(jìn)行排序,從而促進(jìn)使用經(jīng)排序的碼矢量來搜索輸入矢 量的最佳匹配矢量。在另一方面中,一種裝置包括解碼器,被配置用于使用碼書C中經(jīng)排序的碼矢量 來搜索輸入矢量的最佳匹配矢量,其中基于所述碼矢量的分量k來對所述碼矢量進(jìn)行排 序,其中所述解碼器被配置用于通過以下操作進(jìn)行搜索執(zhí)行僅考慮所述輸入矢量的分量 k的二分搜索;以及執(zhí)行考慮全碼矢量的修改的部分失真搜索。在另一方面中,一種裝置包括處理器和通信地連接至所述處理器的存儲器單元。 所述存儲器單元包括用于從具有一個或多個碼矢量的碼書C中標(biāo)識碼矢量的分量k的計算 機(jī)代碼,所述分量k弓丨入輸入矢量的最高方差;以及用于允許基于分量k來對所述碼書C中 的碼矢量進(jìn)行排序從而促進(jìn)使用經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢量的計算 機(jī)代碼。在另一方面中,一種裝置包括處理器和通信地連接至所述處理器的存儲器單元。 所述存儲器單元包括用于使用碼書C中經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢量 的計算機(jī)代碼,其中基于所述碼矢量的分量k來對所述碼矢量進(jìn)行排序,其中用于搜索的 計算機(jī)代碼包括用于執(zhí)行僅考慮所述輸入矢量的分量k的二分搜索的計算機(jī)代碼;以及用 于執(zhí)行考慮全碼矢量的修改的部分失真搜索的計算機(jī)代碼。在另一方面中,本發(fā)明涉及一種包含在計算機(jī)可讀介質(zhì)上的計算機(jī)程序產(chǎn)品。所 述計算機(jī)程序產(chǎn)品包括用于從具有一個或多個碼矢量的碼書C中標(biāo)識碼矢量的分量k的計 算機(jī)代碼,所述分量k引入輸入矢量的最高方差;以及用于允許基于分量k來對所述碼書 C中的碼矢量進(jìn)行排序從而促進(jìn)使用經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢量的計 算機(jī)代碼。在另一方面中,本發(fā)明涉及一種包含在計算機(jī)可讀介質(zhì)上的計算機(jī)程序產(chǎn)品。所 述計算機(jī)程序產(chǎn)品包括用于使用碼書C中經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢 量的計算機(jī)代碼,其中基于所述碼矢量的分量k來對所述碼矢量進(jìn)行排序,其中用于搜索 的計算機(jī)代碼包括用于執(zhí)行僅考慮所述輸入矢量的分量k的二分搜索的計算機(jī)代碼;以及 用于執(zhí)行考慮全碼矢量的修改的部分失真搜索的計算機(jī)代碼。
在結(jié)合附圖時,根據(jù)以下的詳細(xì)描述,本發(fā)明各種實(shí)施方式的這些和其他優(yōu)點(diǎn)與 特征,連同其組織和操作方式都將變得明顯。
通過參考附圖來描述本發(fā)明的示例實(shí)施方式,在附圖中圖1是示出了根據(jù)本發(fā)明實(shí)施方式的示例碼字搜索方法的流程圖;圖2是示出了根據(jù)本發(fā)明實(shí)施方式的、用于針對圖1的碼字搜索方法搜索最佳匹 配的示例方法的流程圖;圖3是可以在其中實(shí)現(xiàn)本發(fā)明各種實(shí)施方式的系統(tǒng)的概覽圖;圖4示出了根據(jù)本發(fā)明各種實(shí)施方式的、可以利用的示例電子設(shè)備的透視圖;圖5是可以包括在圖4的電子設(shè)備中的電路的示意圖;以及圖6是可以在其中實(shí)現(xiàn)各種實(shí)施方式的通用多媒體通信系統(tǒng)的圖示。
具體實(shí)施例方式在以下描述中,出于解釋而非限制的目的,記載了細(xì)節(jié)和描述,從而提供對本發(fā)明 的透徹理解。然而,本領(lǐng)域的技術(shù)人員應(yīng)該理解,本發(fā)明可以在偏離這些細(xì)節(jié)和描述的其他 實(shí)施方式中實(shí)現(xiàn)。即使在失真率方面可以將非約束矢量量化器的性能視為是良好的,但如果復(fù)雜度 要求受限則編碼復(fù)雜度也可以禁止其使用。本發(fā)明的實(shí)施方式提供了一種降低矢量量化編 碼復(fù)雜度而不增加任何存儲器或編碼失真的方法。在文獻(xiàn)中已經(jīng)廣泛研究了快速最近鄰搜索的問題。存在針對矢量量化器的若干類 型的快速最近鄰搜索,例如將它們稱作(a)部分失真方法、(b)三角不等式方法以及(c)投 影方法。還存在使用對碼書的不同排序的各種方法。本發(fā)明的實(shí)施方式提供用于一般性矢量碼書中的最近鄰搜索的低復(fù)雜度方法。與 傳統(tǒng)解決方案相反,本發(fā)明的實(shí)施方式不需要補(bǔ)充存儲器存儲來用于輔助變量。根據(jù)本發(fā) 明實(shí)施方式的快速搜索在以下意義上是最佳的,即其保證獲得輸入的最近鄰居。對于增 益值和頻率分量幅度的量化的示例性應(yīng)用而言,其中增益值和頻率分量幅度從例如ITU-T G. 718和G. 729. 1編解碼器的超寬帶擴(kuò)展的上下文中的音頻輸入數(shù)據(jù)段中提取,根據(jù)本發(fā) 明實(shí)施方式的方法相對于全搜索可以將復(fù)雜度降低到八分之一并且相對于部分失真方法 可以將復(fù)雜度降低到三分之一。本發(fā)明的實(shí)施方式利用根據(jù)所選矢量分量的值排序的碼 書,例如所選矢量分量在碼書的碼矢量的分量中具有最高方差。給定輸入矢量,針對已排序 的分量來執(zhí)行二分搜索,并且開始于碼書中的終局點(diǎn)(resulting point),將修改的部分失 真方法用于在初始點(diǎn)鄰居中的搜索。使用碼矢量分量之一使得初始二分搜索能夠直接針對 標(biāo)量值,而不像現(xiàn)有技術(shù)的方法需要任何附加的存儲器。由于相對于一個分量的失真僅同 樣進(jìn)入矢量失真測量中,所以可以將其傳統(tǒng)地用作搜索停止指示符,而不再檢查碼書的所 有碼矢量。根據(jù)本發(fā)明的某些實(shí)施方式,采用針對矢量分量k的值排序的N歌碼矢量的K維 碼書。分量k可以是在碼書C的碼矢量內(nèi)引入最大方差的矢量分量。在某些實(shí)施方式中,可以以不同的方式選擇用作對碼書C的碼矢量進(jìn)行排序的基礎(chǔ)的分量k的選擇。在一個實(shí)施方式中,可以在碼矢量的分量中隨機(jī)地選擇分量k。此外, 例如在一個實(shí)施方式中,利用碼書搜索中的經(jīng)加權(quán)失真測量,可以將具有最大權(quán)重的分量 選作將用作排序基礎(chǔ)的分量k。在又一實(shí)施方式中,分量的方差和加權(quán)可以在選擇矢量分 量k時考慮。在其他實(shí)施方式中,可以將對失真具有最大敏感度的矢量分量選作將用作排 序碼書的基礎(chǔ)的分量k。在一個實(shí)施方式中,給定來自于Rk空間的輸入矢量X,即每個矢量K個元素的實(shí) 值矢量的集合,在根據(jù)漸增的分量k的值排序的碼書C中執(zhí)行考慮分量k的值的二分搜索。 獲取具有分量k的最大值的矢量的索引I,其中分量k的最大值仍舊小于或等于輸入矢量X 的相應(yīng)分量,從而C≤X≤C,,其中Cu表示具有索引I的碼矢量的分量k。應(yīng)該指出,在另一示例實(shí)施方式中, 可以根據(jù)分量k的降序?qū)Υa書C進(jìn)行排序。在該情況中,將二分搜索用于找到具有分量k 的最小值的碼書矢量的索引,其中分量k的最小值仍舊大于輸入矢量X的相應(yīng)分量,即=C1,
k〉Xk ≤ CI+1,k。部分失真方法的原理是如果針對矢量分量的子集(例如,針對一定數(shù)量的碼矢 量的第一分量)計算的失真已經(jīng)大于當(dāng)前最小失真,則停止對給定碼矢量的失真的評估。 如上所述,如果僅針對矢量分量k計算的部分失真大于當(dāng)前最小失真,則通過完全停止搜 索并且選擇導(dǎo)致當(dāng)前最小失真的碼矢量作為輸出矢量來修改部分失真方法。這是可能的, 因?yàn)樵谝粋€實(shí)施方式中,根據(jù)分量k的值的升序?qū)Υa書進(jìn)行排序,這暗示了 cn,k <= cn+1,k 對所有O < η < N的值都成立。因此,在考慮具有開始于1+1的索引值的碼矢量的向上搜 索中,一旦第一矢量mu的分量k引入高于當(dāng)前最小失真的失真就停止向上,因?yàn)閷Υa書的 排序確保了具有I > mu的索引值的所有碼矢量將在僅考慮分量k時引入甚至更高的失真。 以類似的方式,在考慮開始于索引I的碼矢量的向下搜索中,一旦第一矢量md的分量k引 入高于當(dāng)前最小失真的失真就可以停止向下,因?yàn)楦鶕?jù)分量k的值的升序排序的碼書確保 了具有I < md的索引值的碼矢量將在僅考慮分量k時引入甚至更高的失真。向上搜索和向下搜索過程以及停止條件在以下示例實(shí)施方式中也是類似的,該示 例實(shí)施方式采用具有根據(jù)分量k的值的降序進(jìn)行排序的碼矢量的碼書。在采用根據(jù)分量k的值的升序排序的碼書的實(shí)施方式中,如果&大于任何碼矢量 中的分量k,則修改的部分失真搜索從最后的碼矢量向下執(zhí)行。因此,在該情況中,僅執(zhí)行 向下搜索。如果\小于任何碼矢量中的分量k,則從第一碼矢量向上執(zhí)行修改的部分失真 搜索。因此,僅執(zhí)行向上搜索。如果碼書包含這兩種碼矢量,一種具有其值小于&的分量k 以及一種具有其值大于&的分量k,則修改的部分失真搜索在向上和向下二者中均執(zhí)行。在采用根據(jù)分量k的值的降序排序的碼書的實(shí)施方式中,在任何碼矢量中大于分 量k的&導(dǎo)致僅執(zhí)行向上搜索。以類似的方式,在任何碼矢量中小于分量k的&導(dǎo)致僅執(zhí) 行向下搜索。在某些實(shí)施方式中,可以從概念上將碼書劃分為兩個或更多子碼書,并且根據(jù)分 量k的排序針對子碼書中的每個來獨(dú)立執(zhí)行。在搜索階段中,如果向上搜索和向下搜索適 用于給定的輸入矢量,則涉及向上搜索和向下搜索兩者的過程針對子碼書中的每個來獨(dú)立 執(zhí)行,并且針對子碼書中的每個來選擇中間輸出矢量。最終輸出矢量是在子碼書的中間輸出矢量中提供最小失真的那個。在采用使用兩個或更多概念上的子碼書的排序和搜索過程的又一實(shí)施方式中,排 序和搜索可以基于不同矢量分量來執(zhí)行。例如,矢量分量h可以用于對第一子碼書進(jìn)行排 序,并且矢量分量1 可以用于對第二子碼書進(jìn)行排序。在某些實(shí)施方式中,可以在排序和/或搜索中僅考慮全碼書的一部分?,F(xiàn)在參考圖1,圖1示出了根據(jù)本發(fā)明實(shí)施方式的用于碼字搜索的示例過程200。 在框202,過程200找到在碼書C’內(nèi)引入最高方差的碼矢量的分量k。分量k繼而用于對 碼書C’中的矢量進(jìn)行排序(框204)。接下來,根據(jù)本發(fā)明的實(shí)施方式,允許對碼書中的碼 矢量進(jìn)行排序。根據(jù)圖1示出的示例性實(shí)施方式,這通過將矢量排序?yàn)槔缡噶糠至縦的 值的升序或降序以形成碼書C來實(shí)現(xiàn)。然后,將經(jīng)排序的碼書C用于搜索輸入矢量X的最 佳匹配(框206)。在另一實(shí)施方式中,碼書C’無需排序。反之,對碼書中的碼矢量排序可以通過映 射函數(shù)以形成碼書C’的碼矢量索引來實(shí)現(xiàn),這創(chuàng)建了 C中的碼矢量的順序。因此,可以將 具有映射函數(shù)的現(xiàn)有碼書用于支持使用根據(jù)本發(fā)明的實(shí)施方式的搜索方法。在圖2中示出了用于搜索框206的最佳匹配的示例性方法。當(dāng)從經(jīng)排序的碼書C 搜索輸入矢量X的最佳匹配時,在框208,首先,僅考慮輸入矢量的分量k和碼書來執(zhí)行二 分搜索,以找到具有大于矢量分量k的&的值的第一碼矢量(V因此,找到了滿足條件& < Cj,k的具有最小索引j的碼矢量。在框210,考慮開始于上面找到的索引j的全碼矢量來執(zhí)行修改的部分失真搜索 向下搜索考慮具有索引j_l、j_2、j-3的碼矢量,依次類推。以類似的方式,向上搜索考慮 具有索引j、j+1、j+2的碼矢量,依次類推。在向下搜索中(框212),一旦遇到具有以下分 量k的第一碼矢量就終止向下搜索并且開始向上搜索,其中該分量k引入大于在全矢量上 計算的當(dāng)前最小失真的失真。在向上搜索中(框214),一旦遇到具有以下分量k的第一碼 矢量就完成了搜索并且將提供最小失真的碼矢量選作搜索的輸出,其中該分量k引入大于 在全矢量上計算的當(dāng)前最小失真的失真。以下C代碼表示提供所述方法的實(shí)施方式的實(shí)現(xiàn)。在該示例中,針對第一分量對 碼書進(jìn)行排序。
權(quán)利要求
1.一種方法,包括使用碼書C中經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢量,其中基于所述碼矢量 的分量k來對所述碼矢量進(jìn)行排序,其中所述搜索包括 執(zhí)行僅考慮所述輸入矢量的分量k的二分搜索;以及 執(zhí)行考慮全碼矢量的修改的部分失真搜索。
2.根據(jù)權(quán)利要求1所述的方法,其中以升序?qū)λ龃a矢量進(jìn)行排序并且其中執(zhí)行所述 二分搜索找到滿足以下條件的具有最小索引j的矢量Xk〈 Cj, k,其中X是所述輸入矢量并且C是所述經(jīng)排序的碼矢量。
3.根據(jù)權(quán)利要求2所述的方法,其中執(zhí)行所述修改的部分失真搜索包括 執(zhí)行開始于索引j_l的向下搜索;以及執(zhí)行開始于索引j的向上搜索。
4.根據(jù)權(quán)利要求3所述的方法,其中在找到以下碼矢量時終止所述向下搜索,所述碼 矢量導(dǎo)致比提供所述最佳匹配的當(dāng)時碼矢量更大的分量k的失真。
5.根據(jù)權(quán)利要求3所述的方法,其中在找到以下碼矢量時終止所述向上搜索,所述碼 矢量導(dǎo)致比提供所述最佳匹配的當(dāng)時碼矢量更大的分量k的失真。
6.根據(jù)權(quán)利要求3所述的方法,還包括在終止所述向上搜索和所述向下搜索兩者時選擇碼矢量作為所述最佳匹配矢量。
7.一種方法,包括從具有一個或多個碼矢量的碼書C中標(biāo)識碼矢量的分量k ;以及 允許至少部分地基于分量k來對所述碼書C中的碼矢量進(jìn)行排序,從而促進(jìn)使用經(jīng)排 序的碼矢量來搜索輸入矢量的最佳匹配矢量。
8.根據(jù)權(quán)利要求7所述的方法,其中將所述分量k標(biāo)識為來自于所述碼書C的、引入最 高方差的碼矢量的分量。
9.根據(jù)權(quán)利要求7所述的方法,其中允許對碼矢量進(jìn)行排序包括根據(jù)分量k對所述碼 書C中的碼矢量進(jìn)行排序。
10.根據(jù)權(quán)利要求7所述的方法,其中允許對碼矢量進(jìn)行排序包括提供映射函數(shù)以形 成所述碼書C的碼矢量索引。
11.一種裝置,包括 編碼器,被配置用于使用碼書C中經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢量,其中基于所述碼矢量 的分量k來對所述碼矢量進(jìn)行排序,其中解碼器被配置用于通過以下操作進(jìn)行搜索 執(zhí)行僅考慮所述輸入矢量的分量k的二分搜索;以及 執(zhí)行考慮全碼矢量的修改的部分失真搜索。
12.根據(jù)權(quán)利要求11所述的裝置,其中以升序?qū)λ龃a矢量進(jìn)行排序并且其中執(zhí)行所 述二分搜索找到滿足以下條件的具有最小索引j的矢量Xk〈 Cj, k,其中X是所述輸入矢量并且C是所述經(jīng)排序的碼矢量。
13.根據(jù)權(quán)利要求12所述的裝置,其中執(zhí)行所述修改的部分失真搜索包括執(zhí)行開始于索引j_l的向下搜索;以及 執(zhí)行開始于索引j的向上搜索。
14.根據(jù)權(quán)利要求13所述的裝置,其中在找到以下碼矢量時終止所述向下搜索,所述 碼矢量導(dǎo)致比提供所述最佳匹配的當(dāng)時碼矢量更大的分量k的失真。
15.根據(jù)權(quán)利要求13所述的裝置,其中在找到以下碼矢量時終止所述向上搜索,所述 碼矢量導(dǎo)致比提供所述最佳匹配的當(dāng)時碼矢量更大的分量k的失真。
16.根據(jù)權(quán)利要求13所述的裝置,其中所述編碼器還被配置用于在終止所述向上搜索和所述向下搜索兩者時選擇碼矢量作為所述最佳匹配矢量。
17.一種裝置,包括 編碼器,被配置用于從具有一個或多個碼矢量的碼書C中標(biāo)識碼矢量的分量k ;以及 允許至少部分地基于分量k來對所述碼書C中的碼矢量進(jìn)行排序,從而促進(jìn)使用經(jīng)排 序的碼矢量來搜索輸入矢量的最佳匹配矢量。
18.根據(jù)權(quán)利要求17所述的裝置,其中將所述分量k標(biāo)識為來自于所述碼書C的、引入 輸入矢量的最高方差的碼矢量的分量。
19.根據(jù)權(quán)利要求17所述的裝置,其中所述編碼器被配置用于通過根據(jù)分量k對所述 碼書C中的碼矢量進(jìn)行排序來允許對碼矢量進(jìn)行排序。
20.根據(jù)權(quán)利要求17所述的裝置,其中所述編碼器被配置用于通過提供映射函數(shù)以形 成所述碼書C的碼矢量索引來允許對碼矢量進(jìn)行排序。
21.一種裝置,包括 處理器;以及存儲器單元,通信地連接至所述處理器并且包括用于使用碼書C中經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢量的計算機(jī)代碼,其 中基于所述碼矢量的分量k來對所述碼矢量進(jìn)行排序,其中用于搜索的計算機(jī)代碼包括 用于執(zhí)行僅考慮所述輸入矢量的分量k的二分搜索的計算機(jī)代碼;以及 用于執(zhí)行考慮全碼矢量的修改的部分失真搜索的計算機(jī)代碼。
22.根據(jù)權(quán)利要求21所述的裝置,其中以升序?qū)λ龃a矢量進(jìn)行排序并且其中用于執(zhí) 行所述二分搜索的所述計算機(jī)代碼被配置用于找到滿足以下條件的具有最小索引j的矢 量Xk〈 Cj, k,其中X是所述輸入矢量并且C是所述經(jīng)排序的碼矢量。
23.根據(jù)權(quán)利要求22所述的裝置,其中用于執(zhí)行所述修改的部分失真搜索的所述計算 機(jī)代碼包括用于執(zhí)行開始于索引j_l的向下搜索的計算機(jī)代碼;以及 用于執(zhí)行開始于索引j的向上搜索的計算機(jī)代碼。
24.根據(jù)權(quán)利要求23所述的裝置,其中用于執(zhí)行向下搜索的計算機(jī)代碼被配置用于在 找到以下碼矢量時終止所述向下搜索,所述碼矢量導(dǎo)致比提供所述最佳匹配的當(dāng)時碼矢量 更大的分量k的失真。
25.根據(jù)權(quán)利要求23所述的裝置,其中用于執(zhí)行向上搜索的計算機(jī)代碼被配置用于在找到以下碼矢量時終止所述向上搜索,所述碼矢量導(dǎo)致比提供所述最佳匹配的當(dāng)時碼矢量 更大的分量k的失真。
26.根據(jù)權(quán)利要求23所述的裝置,還包括用于在終止所述向上搜索和所述向下搜索兩者時選擇碼矢量作為所述最佳匹配矢量 的計算機(jī)代碼。
27.一種裝置,包括處理器;以及存儲器單元,通信地連接至所述處理器并且包括用于從具有一個或多個碼矢量的碼書C中標(biāo)識碼矢量的分量k的計算機(jī)代碼;以及用于允許至少部分地基于分量k來對所述碼書C中的碼矢量進(jìn)行排序從而促進(jìn)使用經(jīng) 排序的碼矢量來搜索輸入矢量的最佳匹配矢量的計算機(jī)代碼。
28.根據(jù)權(quán)利要求27所述的裝置,其中將所述分量k標(biāo)識為來自于所述碼書K的、引入 最高方差的碼矢量的分量。
29.根據(jù)權(quán)利要求27所述的裝置,其中用于允許對碼矢量進(jìn)行排序的計算機(jī)代碼包括 用于根據(jù)分量k對所述碼書C中的碼矢量進(jìn)行排序的計算機(jī)代碼。
30.根據(jù)權(quán)利要求27所述的裝置,其中用于允許對碼矢量進(jìn)行排序的計算機(jī)代碼包括 用于提供映射函數(shù)以形成所述碼書C的碼矢量索引的計算機(jī)代碼。
31.一種包含在計算機(jī)可讀介質(zhì)上的計算機(jī)程序產(chǎn)品,包括用于使用碼書C中經(jīng)排序的碼矢量來搜索輸入矢量的最佳匹配矢量的計算機(jī)代碼,其 中基于所述碼矢量的分量k來對所述碼矢量進(jìn)行排序,其中用于搜索的計算機(jī)代碼包括用于執(zhí)行僅考慮所述輸入矢量的分量k的二分搜索的計算機(jī)代碼;以及用于執(zhí)行考慮全碼矢量的修改的部分失真搜索的計算機(jī)代碼。
32.根據(jù)權(quán)利要求31所述的計算機(jī)程序產(chǎn)品,其中以升序?qū)Υa矢量進(jìn)行排序并且其中 用于執(zhí)行所述二分搜索的所述計算機(jī)代碼被配置用于找到滿足以下條件的具有最小索引j 的矢量Xk〈 Cj, k,其中X是所述輸入矢量并且C是所述經(jīng)排序的碼矢量。
33.根據(jù)權(quán)利要求32所述的計算機(jī)程序產(chǎn)品,其中用于執(zhí)行所述修改的部分失真搜索 的所述計算機(jī)代碼包括用于執(zhí)行開始于索引j_l的向下搜索的計算機(jī)代碼;以及用于執(zhí)行開始于索引j的向上搜索的計算機(jī)代碼。
34.根據(jù)權(quán)利要求33所述的計算機(jī)程序產(chǎn)品,其中用于執(zhí)行向下搜索的計算機(jī)代碼被 配置用于在找到以下碼矢量時終止所述向下搜索,所述碼矢量導(dǎo)致比提供所述最佳匹配的 當(dāng)時碼矢量更大的分量k的失真。
35.根據(jù)權(quán)利要求33所述的計算機(jī)程序產(chǎn)品,其中用于執(zhí)行向上搜索的計算機(jī)代碼被 配置用于在找到以下碼矢量時終止所述向上搜索,所述碼矢量導(dǎo)致比提供所述最佳匹配的 當(dāng)時碼矢量更大的分量k的失真。
36.根據(jù)權(quán)利要求33所述的計算機(jī)程序產(chǎn)品,還包括用于在終止所述向上搜索和所述向下搜索兩者時選擇碼矢量作為所述最佳匹配矢量的計算機(jī)代碼。
37.一種包含在計算機(jī)可讀介質(zhì)上的計算機(jī)程序產(chǎn)品,包括用于從具有一個或多個碼矢量的碼書C中標(biāo)識碼矢量的分量k的計算機(jī)代碼;以及 用于允許至少部分地基于分量k來對所述碼書C中的碼矢量進(jìn)行排序從而促進(jìn)使用經(jīng) 排序的碼矢量來搜索輸入矢量的最佳匹配矢量的計算機(jī)代碼。
38.根據(jù)權(quán)利要求37所述的計算機(jī)程序產(chǎn)品,其中將所述分量k標(biāo)識為來自于所述碼 書C的、引入最高方差的碼矢量的分量。
39.根據(jù)權(quán)利要求37所述的計算機(jī)程序產(chǎn)品,其中用于允許對碼矢量進(jìn)行排序的計算 機(jī)代碼包括用于根據(jù)分量k對所述碼書C中的碼矢量進(jìn)行排序的計算機(jī)代碼。
40.根據(jù)權(quán)利要求37所述的計算機(jī)程序產(chǎn)品,其中用于允許對碼矢量進(jìn)行排序的計算 機(jī)代碼包括用于提供映射函數(shù)以形成所述碼書C的碼矢量索引的計算機(jī)代碼。
全文摘要
一種方法,包括從具有一個或多個碼矢量的碼書C中標(biāo)識碼矢量的分量k,該分量k針對輸入矢量引入最高方差;允許在碼書C中對碼矢量進(jìn)行排序;以及使用經(jīng)排序的碼矢量搜索輸入矢量的最佳匹配矢量。
文檔編號G06T9/00GK102144256SQ200980134689
公開日2011年8月3日 申請日期2009年7月2日 優(yōu)先權(quán)日2008年7月17日
發(fā)明者A·拉莫, A·瓦希拉舍, L·拉克索南, M·塔米 申請人:諾基亞公司