午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

矢量量化器的制作方法

文檔序號(hào):11252377閱讀:560來源:國(guó)知局
矢量量化器的制造方法與工藝

本申請(qǐng)是2012年12月12日提交的中國(guó)專利申請(qǐng)no.201280072059.0的發(fā)明名稱為“矢量量化器”的分案申請(qǐng)。

所建議的技術(shù)大致涉及矢量量化(vq),且尤其涉及矢量量化的精確度和計(jì)算復(fù)雜度。



背景技術(shù):

存在兩個(gè)主要類別的量化算法,即:標(biāo)量量化器(sq),用于逐項(xiàng)處理輸入矢量;以及矢量量化器(vq),用于將輸入矢量作為一個(gè)單元來進(jìn)行量化(對(duì)全部矢量維度進(jìn)行聯(lián)合量化)。以給定的比特率,vq要優(yōu)于sq,但是以計(jì)算復(fù)雜度和存儲(chǔ)器存儲(chǔ)增加為代價(jià)。

設(shè)要量化的目標(biāo)矢量是m個(gè)維度:s=[s(1)s(2)...s(m)]。vq算法在預(yù)存儲(chǔ)的m維碼矢量ck=[ck(1)ck(2)…ck(m)]的大小為k的碼本(cb)中執(zhí)行搜索。這種搜索返回基于失真測(cè)量d(s,ck)提供最佳匹配kopt的碼本索引。下面的等式(1-2)描述了該操作,假設(shè)搜索準(zhǔn)則基于均方誤差:

向解碼器發(fā)送最佳索引kopt,以及從cb(相同的cb可用于編碼器和解碼器二者)提取對(duì)應(yīng)的碼矢量并將其用于重構(gòu)目標(biāo)矢量。cb通常是離線訓(xùn)練的,并捕捉到數(shù)據(jù)的統(tǒng)計(jì)特性。在很多情況下,使用權(quán)重來修改簡(jiǎn)單的均方誤差(例如,等式(2)),以使得:

其中,權(quán)重w(m)取決于應(yīng)用。在本文中為了陳述簡(jiǎn)潔,在下面的描述中將僅使用等式(2)中定義的均方誤差。然而,應(yīng)該注意到的是,本文中討論的原理在使用更復(fù)雜的準(zhǔn)則(例如,等式(3)中的準(zhǔn)則)時(shí)也是有效的。

從以上描述可以總結(jié)出,所重構(gòu)的目標(biāo)信號(hào)的精確度或質(zhì)量取決于碼本的大小k;其中,與較小的cb相比,較大的cb導(dǎo)致更高的精確度,以及因此更好的質(zhì)量。同時(shí),根據(jù)等式(1),可以總結(jié)出主要的計(jì)算復(fù)雜度也與cb的大小有關(guān),假設(shè)矢量維度被應(yīng)用所固定。

通常在有限計(jì)算復(fù)雜度的約束之下來建造音頻傳輸系統(tǒng)。亦即,最差情況的復(fù)雜度不應(yīng)超過某個(gè)預(yù)定等級(jí)lmax。例如,通常通過加權(quán)的每秒百萬次操作(wmops)來衡量音頻編解碼的計(jì)算復(fù)雜度,然而當(dāng)考慮vq模塊時(shí),復(fù)雜度直接與搜索空間的大小(cb的大小)相關(guān)。vq通常是編解碼器中最復(fù)雜的模塊,且此外,cb搜索(與cb矢量的比較次數(shù))是vq如此復(fù)雜的原因。

如果vq系統(tǒng)要每次量化一個(gè)目標(biāo)矢量s,必須要優(yōu)化搜索空間k,以使得復(fù)雜度不超過lmax。給定矢量s的特性和重構(gòu)矢量質(zhì)量要求,某些離線優(yōu)化技術(shù)(例如,拆分及多級(jí)vq)可以提供復(fù)雜度(以及存儲(chǔ))的一定減少。

如果vq系統(tǒng)要一次量化多個(gè)目標(biāo)(輸入)矢量(矢量的數(shù)目n是變化的),上述離線優(yōu)化技術(shù)不能夠維持復(fù)雜度和質(zhì)量約束。在這種情況下,離線優(yōu)化必須在矛盾的要求(a)限制要同時(shí)量化大量的輸入矢量時(shí)的復(fù)雜度(=限制搜索)以及(b)維持要量化少量矢量時(shí)的高精確度(=在大碼本中搜索)之間找到平衡,這不是簡(jiǎn)單的任務(wù)。



技術(shù)實(shí)現(xiàn)要素:

本文中描述的技術(shù)例如可應(yīng)用于對(duì)輸入流執(zhí)行有損壓縮的音頻和視頻壓縮/傳輸系統(tǒng),并可通過眾多的不同方案來進(jìn)行描述。本文中描述的技術(shù)涉及碼本(將其劃分為各個(gè)類別并排序)以及對(duì)要被量化到所述類別之一中的輸入目標(biāo)矢量s的分類。本文中描述的技術(shù)使得在碼本中的類別中,首先搜索碼本中包括與輸入矢量s有關(guān)的最有可能的候選碼矢量集合的碼矢量類別。因此,在搜索中可以及早找到輸入矢量s的最佳匹配碼矢量,并且可降低計(jì)算復(fù)雜度。

根據(jù)第一方案,提供了矢量量化器中的方法。所述方法包括將輸入目標(biāo)矢量s與多個(gè)質(zhì)心(centroid)(即,參考矢量)進(jìn)行比較,每個(gè)質(zhì)心表示碼本中碼矢量的相應(yīng)類別。所述方法還包括:確定碼本中與碼本中的輸入目標(biāo)矢量相關(guān)的搜索的起點(diǎn),其中,該起點(diǎn)是基于比較結(jié)果確定的。根據(jù)反映每個(gè)碼矢量與質(zhì)心之間的距離的失真測(cè)量對(duì)碼本中的碼矢量排序。該方法使得在碼本中的類別中,首先搜索碼本中包括與輸入矢量s有關(guān)的最有可能的候選碼矢量集合的碼矢量類別。

根據(jù)第二方案,提供了矢量量化器,包括適于執(zhí)行根據(jù)第一方案的方法的功能單元。矢量量化器包括比較單元,適于將輸入目標(biāo)矢量s與多個(gè)質(zhì)心進(jìn)行比較,每個(gè)質(zhì)心表示碼本中碼矢量的相應(yīng)類別。矢量量化器還包括:確定單元,適于基于比較結(jié)果確定針對(duì)所述碼本中的搜索的起點(diǎn)。根據(jù)反映每個(gè)碼矢量與質(zhì)心之間的距離的失真測(cè)量對(duì)碼本中的碼矢量排序。矢量量化器使得在碼本中的類別中,首先搜索包括與輸入矢量s有關(guān)的最有可能的候選碼矢量的碼矢量類別。

根據(jù)第三方案提供編解碼器,該編解碼器包括根據(jù)第二方案的矢量量化器。

根據(jù)第四方案提供移動(dòng)終端,該移動(dòng)終端包括根據(jù)上述第二方案的矢量量化器。

根據(jù)第五方案,提供了將碼本用于矢量量化的方法,所述碼本被布置為使得所述碼本的碼矢量被劃分為多個(gè)類別,由質(zhì)心表示各個(gè)類別,以及其中,還根據(jù)反映所述碼矢量與所述多個(gè)類別的質(zhì)心的距離的失真測(cè)量對(duì)所述碼矢量排序??筛鶕?jù)下降或上升的失真值來對(duì)碼矢量排序。

根據(jù)第六方案,提供了針對(duì)矢量量化的碼本使用,所述碼本被布置為使得所述碼本的碼矢量被劃分為多個(gè)類別,由質(zhì)心表示各個(gè)類別,以及其中,還根據(jù)反映所述碼矢量與所述多個(gè)類別的質(zhì)心的距離的失真測(cè)量對(duì)所述碼矢量排序??筛鶕?jù)下降或上升的失真值來對(duì)碼矢量排序。

根據(jù)第七方案,提供了計(jì)算機(jī)程序,包括計(jì)算機(jī)可讀代碼,當(dāng)在處理單元中運(yùn)行時(shí),使矢量量化器執(zhí)行根據(jù)第一方案的方法。

根據(jù)第八方案,提供計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀介質(zhì)和根據(jù)第六方案的計(jì)算機(jī)程序,該計(jì)算機(jī)程序存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上。

可基于輸入目標(biāo)矢量的數(shù)目和最大復(fù)雜度約束來適配碼本中執(zhí)行搜索的搜索區(qū)域的大小。每編碼單位的輸入目標(biāo)矢量數(shù)目可以是可變的。此外,可以動(dòng)態(tài)設(shè)置最大復(fù)雜度約束。此外,可以在所確定的搜索空間中在碼本中執(zhí)行搜索,該搜索開始于所確定的起點(diǎn),其中,搜索傳遞與輸入目標(biāo)矢量s的最佳匹配?!白罴哑ヅ洹痹诖颂幰庵缸罱咏钠ヅ?、關(guān)于輸入目標(biāo)矢量和碼本中的候選矢量之間的距離的最短距離,即,最佳匹配是根據(jù)距離測(cè)量與輸入目標(biāo)矢量具有最短距離的碼矢量。

第五方案可以是包括根據(jù)第二方案的矢量量化器的編解碼器。

第六方案可以是包括根據(jù)第二方案的矢量量化器的移動(dòng)終端。

附圖說明

現(xiàn)在將通過示例性實(shí)施例的方式并參考附圖來更詳細(xì)地描述所建議的技術(shù),在附圖中:

圖1a和1b示出了根據(jù)本文中描述的解決方案的有序cb的結(jié)構(gòu)。所述從點(diǎn)0或點(diǎn)1向cb的另一端開始。

圖2示出利用了對(duì)稱的示例性cb結(jié)構(gòu)。在rom存儲(chǔ)器中僅存儲(chǔ)碼矢量c0和c1。

圖3示出了通過將輸入矢量s與多個(gè)質(zhì)心{c0c1c1,flipc0,flip}中的每個(gè)質(zhì)心進(jìn)行比較來確定輸入矢量s的最優(yōu)類別的示例性功能單元,每個(gè)質(zhì)心與碼本的類別相關(guān)聯(lián)。

圖4示出了基于在當(dāng)前幀中檢測(cè)到的頻譜峰值的數(shù)目(且很可能基于編解碼的比特速率)來確定搜索區(qū)域的大小的功能單元。

圖5是示出搜索區(qū)域隨著每幀峰值的數(shù)目降低而增加的表。在該示例中,在17個(gè)峰值(=17個(gè)輸入矢量)的情況下,僅在7比特cb(在本示例中定義為最小搜索空間)中執(zhí)行搜索,然而在8個(gè)峰值或更少峰值的情況下,在8比特cb(最大搜索空間)中執(zhí)行搜索,因?yàn)樵谧畲髲?fù)雜度約束下,這是可“負(fù)擔(dān)”的。

圖6a-d示出了不同搜索區(qū)域的示例。

圖7示出了可從外部實(shí)體向系統(tǒng)信號(hào)通知所允許的復(fù)雜度lmax。參數(shù)lmax可例如基于cpu負(fù)荷或電池狀態(tài)。

圖8是示出在創(chuàng)建要在所建議的技術(shù)中使用的碼本cb的過程中的動(dòng)作的流程圖。

圖9a-c是示出根據(jù)本文中建議的技術(shù)的示例,矢量量化vq的過程中的動(dòng)作的流程圖。

圖10是示出根據(jù)本文中建議的技術(shù)的示例的矢量量化器的框圖。

圖11是示出根據(jù)本文中建議的技術(shù)的示例,包括矢量量化器的編解碼器的框圖。

圖12是示出根據(jù)本文中建議的技術(shù)的示例,用于矢量量化的裝置的框圖。

具體實(shí)施方式

簡(jiǎn)而言之,本文中描述的解決方案涉及動(dòng)態(tài)適配vq的搜索空間,以使得對(duì)于(針對(duì)每個(gè)塊或時(shí)間間隔的)任何數(shù)目的目標(biāo)(輸入)矢量,在給定復(fù)雜度約束內(nèi)實(shí)現(xiàn)高精確度(以及因此高質(zhì)量)的量化。亦即,不違反計(jì)算復(fù)雜度(例如,lmax)的要求。這是通過在特殊分類并排序的cb中執(zhí)行搜索來實(shí)現(xiàn)的。搜索空間中針對(duì)每個(gè)目標(biāo)矢量的起點(diǎn)基于分類過程,且搜索空間的大小基于目標(biāo)矢量的數(shù)目增大或減小。本文中描述的vq算法可被認(rèn)為是數(shù)據(jù)壓縮的“工具”,與是什么數(shù)據(jù)無關(guān),即,數(shù)據(jù)可以例如是視頻和/或音頻。在本描述中,vq是在音頻編解碼的上下文下描述的,然而本文中描述的概念不限于音頻編解碼。例如,其還可以在視頻編解碼中實(shí)現(xiàn)。

本文中描述的算法基于特殊設(shè)計(jì)的cb。下面將更詳細(xì)地描述這種碼本的一些變型。首先將描述基本情況,且將在更下面討論更高級(jí)的方案??稍陔x線模式下根據(jù)本文中描述的技術(shù)方案來布置cb的碼矢量。

為了創(chuàng)建該特殊設(shè)計(jì)的有利的cb的基本版本,將cb的碼矢量拆分為兩類,在此表示為c0和c1(該符號(hào)將被用于類別的名稱,以及用于對(duì)應(yīng)的質(zhì)心,例如參考圖1)。為了將數(shù)據(jù)劃分為兩類,可以使用所謂的k平均(k-means)算法(統(tǒng)稱為lloyd算法)。這是眾所周知的技術(shù),其將整個(gè)數(shù)據(jù)集合作為輸入,以及所希望的類別數(shù)目,并輸出所希望的類別數(shù)目的質(zhì)心。例如,如果已經(jīng)將所希望的類別數(shù)目指定為2,算法輸出2個(gè)質(zhì)心矢量。要注意到的是,在使用k平均算法時(shí),這些質(zhì)心是與來自數(shù)據(jù)集合的矢量具有相同維度的矢量,然而其不屬于數(shù)據(jù)集合。亦即,質(zhì)心矢量在cb之外,且不需要與某些現(xiàn)有的碼矢量一致。一般而言,“質(zhì)心”在本文中意指表示矢量類別的參考矢量。

因此,根據(jù)失真測(cè)量來對(duì)cb中的所有碼矢量排序,例如,如等式(4)中所定義:

以上失真測(cè)量導(dǎo)致(或假設(shè))碼矢量的接近c(diǎn)0的較大負(fù)值,以及碼矢量的接近c(diǎn)1的較大正值。與兩個(gè)類別的質(zhì)心(c0和c1)等距的碼矢量產(chǎn)生接近零的失真測(cè)量d。在cb中,如圖1a和b中所示出的,例如按照增加的失真測(cè)量來對(duì)碼矢量排序。

將每個(gè)輸入目標(biāo)矢量與兩個(gè)質(zhì)心(兩個(gè)類別各自的質(zhì)心)相比較,并根據(jù)結(jié)果將其指派給(即,決定或確定屬于)類別c0或類別c1?;谠摲诸?,將搜索的起點(diǎn)選擇為最高點(diǎn)(圖1a)或最左側(cè)(圖1b)點(diǎn)0(當(dāng)目標(biāo)矢量屬于類別c0時(shí))或者最低點(diǎn)(圖1a)或最右側(cè)(圖1b)點(diǎn)1(當(dāng)目標(biāo)矢量屬于類別c1時(shí))?,F(xiàn)在應(yīng)該使搜索空間的大小取決于每塊或時(shí)間段/間隔的輸入目標(biāo)矢量n的數(shù)目。如果將搜索空間k重新定義為不是整個(gè)cb的大小,而是變量,可以在等式(5)中定義本文中描述的適配背后的概念

n×k≈const(5)

換言之,#quantizers×#operations_per_quantizer≈const,其中,可將“quantizer”視為是將輸入矢量映射到碼矢量之一的算法。

在本文中,作為示例,在變換編解碼的上下文中描述vq,該變換編解碼對(duì)頻譜峰值(或嚴(yán)格地,頻譜峰值周圍的區(qū)域)進(jìn)行編碼。在這種編解碼的上下文中,輸入目標(biāo)矢量可以反映出正在被處理的音頻信號(hào)的分段的頻譜峰值(區(qū)域)。一時(shí)間段(例如,30ms)的音頻信號(hào)的信號(hào)頻譜中的頻譜峰值的數(shù)目取決于該時(shí)間段中的音頻信號(hào)的頻譜特性。由于音頻信號(hào)的頻譜特性可隨著時(shí)間改變且例如對(duì)于不同類型的音頻是不同的,在不同的時(shí)間段之間且在不同的音頻信號(hào)之間,頻譜峰值的數(shù)目可以改變。因此,當(dāng)使用對(duì)頻譜峰值區(qū)域編碼的變換編碼器時(shí),針對(duì)vq的每塊或每時(shí)間段的輸入矢量的數(shù)目將會(huì)改變。在本文中的示例中,與音頻信號(hào)的時(shí)間段中的頻譜峰值的數(shù)目相對(duì)應(yīng)的輸入矢量的最大數(shù)目是17。然而,該數(shù)目?jī)H是示例,且一般不應(yīng)被解釋為限制解決方案。

事實(shí)上,上述方案將vq所需的操作的數(shù)目保持在較窄的范圍內(nèi)(或幾乎恒定);亦即,當(dāng)vq的數(shù)目增加時(shí),即,輸入目標(biāo)矢量的數(shù)目增加時(shí),每vq的操作數(shù)目減少(搜索空間的大小減小/僅搜索cb的一部分),以使得不違背復(fù)雜度要求(即,約束)。隨著n的降低,搜索空間k可能增大,最多高至整個(gè)cb的大小,這導(dǎo)致較高的精確度并因此較高的重構(gòu)矢量質(zhì)量。可以將矢量量化器的精確度測(cè)量為原始信號(hào)和對(duì)應(yīng)的重構(gòu)數(shù)據(jù)之間的均方誤差。

通過這種方式,不需要針對(duì)最差情況場(chǎng)景(即,最大數(shù)目的輸入目標(biāo)矢量)來設(shè)計(jì)vq的碼本。相反,例如可針對(duì)最佳情況場(chǎng)景來進(jìn)行設(shè)計(jì),從而與在最大復(fù)雜度約束lmax內(nèi)可能可以針對(duì)最大數(shù)目的輸入目標(biāo)矢量進(jìn)行搜索相比,包括了更多的碼矢量。將會(huì)滿足最大復(fù)雜度要求,按照該最大復(fù)雜度要求,cb中的搜索范圍(即,搜索空間的大小)取決于輸入目標(biāo)矢量的數(shù)目。然而,如果這將會(huì)被“盲”進(jìn)行,例如,沒有本文中建議的cb,則量化質(zhì)量將會(huì)極大地受損,因?yàn)椴粫?huì)知道“最匹配”的矢量位于cb中的何處或者該最匹配的矢量是否位于碼本中在減小搜索空間時(shí)將會(huì)搜索的部分中。通過本文中描述的碼本的特殊設(shè)計(jì)來解決該問題。應(yīng)該注意到,對(duì)于其中每編碼單位的輸入矢量數(shù)目恒定的應(yīng)用,本文中描述的cb設(shè)計(jì)也是有益的。

示例實(shí)施例1:頻譜峰值區(qū)域上受約束的vq

目標(biāo)矢量s的集合表示變換域音頻編碼中的頻譜峰值區(qū)域,例如,與mdct峰值的鄰居中的變換系數(shù)。因此,在該上下文中,目標(biāo)矢量的數(shù)目隨時(shí)間改變,因?yàn)轭l譜峰值的數(shù)目逐時(shí)間塊而改變。

在該類型的應(yīng)用(峰值區(qū)域編碼)中,目標(biāo)矢量s展現(xiàn)出一定的對(duì)稱性,可將其用于進(jìn)一步優(yōu)化cb。例如,頻譜峰值兩側(cè)的變換系數(shù)具有類似的統(tǒng)計(jì)。如果假設(shè)目標(biāo)矢量s以峰值位置為中心,上述對(duì)稱性允許在來自圖1a和1b的有序cb中添加其他結(jié)構(gòu)。圖2中示出了這種新的、進(jìn)一步改進(jìn)的cb的結(jié)構(gòu)。圖2示出了cb,其中,左側(cè)部分的碼矢量被存儲(chǔ)在存儲(chǔ)器(例如,只讀存儲(chǔ)器)中。然而,沒有針對(duì)cb的右側(cè)(即,針對(duì)類別c1,flip和c0,flip)預(yù)先存儲(chǔ)的碼矢量。這些類別的碼矢量是cb右側(cè)的碼矢量的翻轉(zhuǎn)版本。因此,當(dāng)在類別c0,flip和c1,flip中執(zhí)行搜索時(shí),在左側(cè)的碼矢量(存儲(chǔ)在存儲(chǔ)器中)上執(zhí)行搜索,但碼矢量的項(xiàng)圍繞中心進(jìn)行了翻轉(zhuǎn),以使得通過等式(6)給出碼矢量ck,flip

ck,flip=[ck(m)ck(m-1)...ck(1)],(6)

其中,ck(m)是所存儲(chǔ)的cb(即,c0或c1)中的對(duì)應(yīng)類別cj的矢量項(xiàng)。亦即,如果c0中的某個(gè)碼矢量的項(xiàng)是{c01c02c03c04},則c0,flip中的對(duì)應(yīng)碼矢量的項(xiàng)是{c04c03c02c01}。

在使用如圖2中所示cb的cb時(shí),將輸入目標(biāo)矢量與4個(gè)質(zhì)心進(jìn)行比較,并指派給類別以確定搜索的起點(diǎn),即,通過將輸入矢量s與質(zhì)心{c0c1c1,flipc0,flip}中的每一個(gè)進(jìn)行比較來確定輸入目標(biāo)矢量的最優(yōu)類別。圖3中對(duì)此進(jìn)行了示出,其中,目標(biāo)矢量s被輸入到類別指派單元302,類別指派單元302傳送類別指示符cj來作為輸出。質(zhì)心c1,flip和c0,flip未被存儲(chǔ)在表中,而是通過翻轉(zhuǎn)質(zhì)心c0和c1的項(xiàng)來“創(chuàng)建”。不需要逐字(literally)來翻轉(zhuǎn)項(xiàng),相反,在讀取c0,flip和c1,flip時(shí),已修改的搜索操作可按相反的順序讀取c0和c1,即質(zhì)心和碼本矢量。通過這種方式,與在cb中物理存儲(chǔ)的碼矢量相比,可擴(kuò)展cb以包括兩倍數(shù)目的碼矢量,這意味著節(jié)省了存儲(chǔ)器資源。由于如上所述利用了峰值區(qū)域的對(duì)稱性,這是可能的。更明確地,解決方案基于對(duì)可利用對(duì)稱性的觀察,由此翻轉(zhuǎn)的有效碼矢量也是有效的碼矢量。

使搜索區(qū)域與頻譜峰值的數(shù)目相適配,頻譜峰值的數(shù)目對(duì)應(yīng)于輸入目標(biāo)矢量的數(shù)目。圖4中將這作為示例,圖4示出了將峰值/矢量的數(shù)目的指示符作為輸入并產(chǎn)生搜索區(qū)域的指示符作為輸出的功能單元402。圖4還示出了當(dāng)確定搜索區(qū)域(搜索空間)時(shí),可以例如考慮應(yīng)用了vq的編解碼的比特速率。例如,針對(duì)不同的比特速率可以存在不同的質(zhì)量要求,如比特速率越高,所期望的質(zhì)量越高。此外,例如由于以不同的比特速率激活編解碼器中的不同模塊(該不同模塊不是同等復(fù)雜的),所允許的最大復(fù)雜度可以隨著比特速率而改變,即,整個(gè)編碼過程的最大復(fù)雜度約束的針對(duì)vq所允許的剩余復(fù)雜度可能是不相同的。亦即,比特速率信息反映出質(zhì)量和復(fù)雜度要求的改變,其在矢量量化中可被考慮到。

圖5中示出的表說明了搜索區(qū)域與峰值的數(shù)目如何相適配。在圖5中,將搜索區(qū)域指示為搜索中針對(duì)每輸入矢量的系數(shù)(碼矢量)的數(shù)目。圖5中的表中的數(shù)目是在假設(shè)來自圖2的cb包括4個(gè)7比特段(4個(gè)各自128個(gè)碼矢量的段,其中,兩個(gè)是“正常的”或“物理的”,以及兩個(gè)是“翻轉(zhuǎn)的”或“虛擬的”)的情況下導(dǎo)出的。

圖5中的表背后的邏輯是:如果少了一個(gè)要編碼的峰值(例如,16個(gè)而不是17個(gè)),可以在剩余的峰值之間分布“所節(jié)省的”128個(gè)比較。在某個(gè)點(diǎn)處,搜索長(zhǎng)度飽和,因?yàn)槠涞竭_(dá)了cb的物理大小。在圖5中示出的示例中,當(dāng)峰值的數(shù)目是8或更少時(shí),達(dá)到該點(diǎn)。亦即,在圖5中示出的示例中,當(dāng)峰值的數(shù)目是8或更少時(shí),可以針對(duì)所有的輸入目標(biāo)矢量(即,峰值)來進(jìn)行整個(gè)搜索,而不到達(dá)最大允許復(fù)雜度。

圖6a-d中示出了搜索過程的示例。實(shí)際上,這是與較早結(jié)合圖1a-b描述的搜索類型相同的搜索,然而使用了到“正?!焙汀胺D(zhuǎn)”的cb分段/類別的附加分類。

在圖6a中示出的示例中,輸入矢量s屬于類別c1(以向下的箭頭指示的位置)。從而,搜索空間被限制為僅類別c1與類別c0和c1的聯(lián)合空間之間的大小。在圖6a中,使用指示不同大小的搜索空間的3個(gè)虛線箭頭對(duì)此進(jìn)行了示出。圖6b示出了輸入矢量屬于類別c0的情況(以向下的箭頭指示的位置),在該情況下,搜索具有不同的起點(diǎn)。

類似地,如圖6c-d中示出的,如果輸入矢量屬于類別c1,flip和c0,flip之一,可以在c1,flip和/或c0,flip類別中執(zhí)行搜索。在c1和c1,flip的聯(lián)合空間中不執(zhí)行搜索。其原因是常規(guī)類別和翻轉(zhuǎn)類別的聯(lián)合空間不對(duì)應(yīng)于真實(shí)的數(shù)據(jù)集合(其統(tǒng)計(jì)不對(duì)應(yīng)于真實(shí)的數(shù)據(jù)統(tǒng)計(jì))。因此,在這種空間中極不可能找到輸入矢量的好的匹配。

示例實(shí)施例2:具有對(duì)最大允許復(fù)雜度的外部控制的通信系統(tǒng)

其復(fù)雜度被動(dòng)態(tài)調(diào)整到目標(biāo)矢量s的數(shù)目的vq的概念可被擴(kuò)展到復(fù)雜度限制未被預(yù)先確定時(shí)的情況,但可例如基于某種準(zhǔn)則而改變,并可信號(hào)通知給vq和/或應(yīng)用了vq的實(shí)體。在圖7中的示意性框圖中對(duì)此進(jìn)行了示出,圖7示出了將峰值/矢量的指示符或數(shù)目作為輸入,以及還將復(fù)雜度約束lmax作為輸入的功能單元702。參考圖6a-d中的虛線箭頭,功能單元702傳送cb的搜索空間/區(qū)域的指示符。

本文中呈現(xiàn)的具有可調(diào)整復(fù)雜度的vq算法給出了在量化精確度(即,質(zhì)量)與將計(jì)算復(fù)雜度維持在預(yù)定義的閾值之下之間的最優(yōu)平衡。

用于實(shí)現(xiàn)cb結(jié)構(gòu)的示例過程

下面將參考圖8描述用于設(shè)計(jì)或組織在vq中使用的cb的示例性過程。該過程用于創(chuàng)建在vq中使用的cb,該vq在變換音頻編碼器(例如,如mdct編碼器)中提供量化。

下面描述的過程涉及cb創(chuàng)建過程的各部分,其偏離傳統(tǒng)的vqcb創(chuàng)建或組織,和/或是對(duì)傳統(tǒng)的vqcb創(chuàng)建或組織的補(bǔ)充。

如前所述,在動(dòng)作802中例如通過使用所謂的k平均算法來將cb劃分為類別。因此,基于失真測(cè)量來在cb中對(duì)cb的碼矢量排序,例如,如等式(4)中所描述的排序。針對(duì)每個(gè)碼矢量的失真測(cè)量取決于碼矢量和表示cb的每個(gè)類別的質(zhì)心之間的關(guān)系,如前所述。

cb的該組織使得可以通過高度預(yù)留vq質(zhì)量(例如,重構(gòu)目標(biāo)矢量的質(zhì)量)來適配搜索空間,并因此可適配vq中的搜索復(fù)雜度。

示例vq過程

下面將參考圖9a描述矢量量化器(vq)中的示例過程。該過程適于在變換域音頻編碼器(例如,如編碼如頻譜峰值區(qū)域的mdct編碼器)中使用。音頻信號(hào)可以包括例如話音和/或音樂。

vq接收多個(gè)(n個(gè))輸入目標(biāo)矢量,如前所述。下面,出于簡(jiǎn)潔的原因,將描述與輸入目標(biāo)矢量之一相關(guān)聯(lián)的動(dòng)作。

將輸入目標(biāo)矢量s與各自表示cb類別(參考之前描述的類別c0和c1等)的多個(gè)碼矢量相比較,優(yōu)選地,與各個(gè)類別的質(zhì)心相比較。在圖9a-c中將該比較示出為動(dòng)作902。如圖9c中示出的,備選地,可以將動(dòng)作902認(rèn)為與動(dòng)作904相結(jié)合。取決于比較結(jié)果,在動(dòng)作904中向輸入目標(biāo)矢量s指派cb的類別或部分之一。根據(jù)某種距離測(cè)量(誤差測(cè)量),向輸入目標(biāo)矢量s指派(或決定其屬于)與其具有最短距離的類別,即,與其最相似的類別。在動(dòng)作906中基于類別指派或距離測(cè)量來確定cb中搜索的起點(diǎn)。

在動(dòng)作910中,可在碼本中執(zhí)行搜索。在所選擇的起點(diǎn)中發(fā)起并在搜索空間或其部分上執(zhí)行搜索,該搜索空間可以具有所確定的大小,包括一個(gè)或多個(gè)類別。由于該有利地設(shè)計(jì)和組織的cb,即使在搜索空間被限制為例如cb的一半的時(shí)候,將會(huì)在搜索空間內(nèi)找到整個(gè)cb的所有候選碼矢量中針對(duì)輸入目標(biāo)矢量s的最佳匹配的可能性非常高。在搜索空間將會(huì)包括整個(gè)碼本的情況下,當(dāng)在所確定的起點(diǎn)處開始搜索時(shí),將會(huì)在該搜索中及早找到最佳匹配碼矢量。

當(dāng)在所確定的搜索空間內(nèi)找到最佳匹配時(shí),在動(dòng)作912中,提供最佳匹配碼矢量的索引作為來自vq的結(jié)果,以例如在音頻解碼器中使用。

此外,在圖9c中示出的動(dòng)作908中可以確定搜索空間的大小??梢詫⑺阉骺臻g描述為cb中應(yīng)在針對(duì)輸入目標(biāo)矢量s的最佳匹配的搜索中評(píng)估的碼矢量的數(shù)目。搜索空間的大小是基于輸入目標(biāo)矢量的數(shù)目和對(duì)技術(shù)復(fù)雜度的約束lmax來確定的。因此,可根據(jù)要量化的信號(hào)的特性和/或編解碼的屬性,例如一次性針對(duì)每個(gè)編碼塊或針對(duì)某個(gè)其他時(shí)間間隔確定搜索空間的大小。如果輸入目標(biāo)矢量的數(shù)目和約束lmax在時(shí)間上是恒定或半恒定的,搜索空間的大小在對(duì)應(yīng)時(shí)間上也可以保持恒定。

示例性vq布置

下面將參考圖10描述適于在變換編碼器/編解碼中使用的示例性vq布置。變換編解碼例如可以是mdct編解碼。vq適于執(zhí)行上述過程的動(dòng)作。

vq1001被示出為經(jīng)由通信單元1002與其他實(shí)體(例如,音頻編解碼器)通信。vq還可以包括其他功能單元1016,例如,如提供常規(guī)功能的功能單元,且還可以包括一個(gè)或多個(gè)存儲(chǔ)單元1014。

可通過以下一項(xiàng)或多項(xiàng)來實(shí)現(xiàn)vq1001:處理器或微處理器以及適當(dāng)軟件(因此具有適合的存儲(chǔ)器)、可編程邏輯器件(pld)或其他電子組件和/或電路。

通信單元1002被假設(shè)包括用于獲得例如從編碼實(shí)體提供的適當(dāng)參數(shù)(例如,輸入目標(biāo)矢量和lmax)的功能單元。

vq可包括比較單元1004,比較單元1004適于將輸入目標(biāo)矢量s與表示cb的每個(gè)類別的矢量(例如,每個(gè)類別的質(zhì)心矢量)進(jìn)行比較。此外,vq還包括指派單元1006,該指派單元1006適于基于該比較向輸入目標(biāo)矢量s指派類別(或者向類別指派矢量s),即,決定矢量屬于哪個(gè)類別。此外,vq還包括確定單元1008,確定單元1008適于基于向矢量s指派的類別為cb中的搜索確定適當(dāng)起點(diǎn)。確定單元還可適于例如基于接收到的輸入目標(biāo)矢量的數(shù)目和計(jì)算復(fù)雜度約束來確定cb中的搜索空間的大小。

此外,vq可包括搜索單元1010,搜索單元1010適于在cb中執(zhí)行搜索,該搜索開始于所確定的起點(diǎn)并搜索所確定的搜索空間。搜索應(yīng)導(dǎo)致指向與輸入目標(biāo)矢量s最匹配的碼矢量的一個(gè)或多個(gè)cb索引。vq還可以包括提供單元1012,提供單元1012適于向另一實(shí)體提供所述索引,以例如用于變換編解碼(或由變換編解碼使用)。

示例性布置

圖12示意性地示出了適于例如在變換音頻解碼器中使用的布置1200的實(shí)施例,這也可以是公開圖5中示出的vq的實(shí)施例的備選方式。在此,布置1200包括例如具有dsp(數(shù)字信號(hào)處理器)的處理單元1206。處理單元1206可以是執(zhí)行本文中描述的過程的不同步驟的單個(gè)單元或多個(gè)單元。布置1200還可以包括用于接收信號(hào)(例如,輸入目標(biāo)矢量以及例如比特速率和/或復(fù)雜度約束的指示符)的輸入單元1202;以及還包括用于輸出信號(hào)(例如,最佳匹配碼矢量的cb索引)的輸出單元1204。可在該布置的硬件中將輸入單元1202和輸出單元1204布置為一體。

此外,布置1200包括至少一個(gè)非易失性存儲(chǔ)器形式的計(jì)算機(jī)程序產(chǎn)品1208,例如,eeprom、閃存或者硬驅(qū)。計(jì)算機(jī)程序產(chǎn)品1208包括計(jì)算機(jī)程序1210,計(jì)算機(jī)程序1200包括代碼裝置,當(dāng)在布置1200中的處理單元1206中運(yùn)行時(shí),該代碼裝置使得布置執(zhí)行之前結(jié)合圖9a-c描述的過程的動(dòng)作。

因此,在所述示例性實(shí)施例中,布置1200的計(jì)算機(jī)程序1210中的代碼裝置可包括用于將輸入目標(biāo)矢量與cb的類別質(zhì)心進(jìn)行比較的比較模塊1210a。計(jì)算機(jī)程序可以包括用于向輸入目標(biāo)矢量指派類別的指派模塊1210b。計(jì)算機(jī)程序1210還可以包括確定單元1210c,用于為cb中的搜索確定起點(diǎn);以及還用于基于輸入?yún)?shù)來確定搜索空間或區(qū)域。計(jì)算機(jī)程序1210還可以包括用于根據(jù)上述方式搜索cb的搜索單元1210d。此外,計(jì)算機(jī)程序1210可以包括用于提供索引的提供模塊1210e,該索引從搜索向其他實(shí)體輸出。

計(jì)算機(jī)程序1210是計(jì)算機(jī)程序模塊結(jié)構(gòu)的計(jì)算機(jī)程序代碼的形式。模塊1210a-e可實(shí)質(zhì)上執(zhí)行圖9a-c中的任意圖中示出的流程的動(dòng)作,以模擬圖10中示出的vq1001的至少一部分。換言之,當(dāng)在處理單元1206上運(yùn)行不同模塊1210a-c時(shí),其至少對(duì)應(yīng)于圖10中的單元1004-1012。

雖然將以上結(jié)合圖12公開的實(shí)施例中的代碼裝置作為計(jì)算機(jī)程序模塊(當(dāng)在處理單元上運(yùn)行時(shí),使得布置和/或變換音頻編碼器執(zhí)行以上結(jié)合上述的圖來描述的動(dòng)作)來實(shí)現(xiàn),在備選實(shí)施例中,至少一個(gè)代碼裝置可至少部分地實(shí)現(xiàn)為硬件電路。

雖然已經(jīng)參考特定的示例實(shí)施例對(duì)所建議的技術(shù)進(jìn)行了描述,該描述一般性地僅意在示出該構(gòu)思,并且不應(yīng)被視為對(duì)本文中描述的技術(shù)的范圍進(jìn)行限制??梢愿鶕?jù)需要、需求或偏好,以不同的方式組合以上示例性實(shí)施例的不同特征。

上述解決方案可用于任何應(yīng)用了vq的地方,例如,在例如移動(dòng)終端、平板設(shè)備、計(jì)算機(jī)、智能電話等的設(shè)備中的編解碼器中。

應(yīng)該理解,交互單元或模塊的選擇以及該單元的命名僅是用于示例的目的,可以通過多種備選方式來配置適于執(zhí)行上述方法中的任何方法的節(jié)點(diǎn),以能夠執(zhí)行所建議的過程動(dòng)作。

可以通過使用硬件(例如,能夠執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的編碼指令形式的軟件的電路硬件和/或硬件)來提供包括功能塊的各種單元的功能,包括但不限于被標(biāo)記或描述為“功能單元”、“處理器”或“控制器”的功能塊。因此,這種功能和所示出的功能塊要被理解為是硬件實(shí)現(xiàn)的和/或計(jì)算機(jī)實(shí)現(xiàn)的,并因此是機(jī)器實(shí)現(xiàn)的。

在硬件實(shí)現(xiàn)方面,功能塊可包括或包含(沒有限制)數(shù)字信號(hào)處理器(dsp)硬件、精簡(jiǎn)指令集處理器、硬件(例如,數(shù)字或模擬)電路(包括但不限于專用集成電路(asic))、以及能夠執(zhí)行這些功能的狀態(tài)機(jī)(在適合的情況下)。

簡(jiǎn)寫

sq標(biāo)量量化

vq矢量量化

cb碼本

wmops加權(quán)的每秒百萬次操作

mdct修改的離散余弦變換

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1