CN101292427A - 连续细分的点阵矢量量化 - Google Patents
连续细分的点阵矢量量化 Download PDFInfo
- Publication number
- CN101292427A CN101292427A CNA2006800345250A CN200680034525A CN101292427A CN 101292427 A CN101292427 A CN 101292427A CN A2006800345250 A CNA2006800345250 A CN A2006800345250A CN 200680034525 A CN200680034525 A CN 200680034525A CN 101292427 A CN101292427 A CN 101292427A
- Authority
- CN
- China
- Prior art keywords
- vector
- dot matrix
- coding
- remainder
- voronoi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Color Television Systems (AREA)
Abstract
一种矢量量化器,包括点阵量化器(10),其通过属于点阵Λ0的点阵矢量来近似矢量x。连接到点阵量化器的点阵矢量分解器(14),通过具有相应预先确定的整数pi≥2序列的点阵除法在连续的点阵Λi-1上将所述点阵矢量连续地分解成商数矢量yi的序列和余数矢量ri的序列,其中i=1…k,k是正整数,其表示每个序列中元素的数目。
Description
技术领域
本发明通常涉及连续细分的点阵矢量量化。
背景技术
目前,在低比特率下同时保持高质量情况下传送和存储音频和视频内容有很高的市场需求。尤其是,在传输资源或存储器有限的情况下,低比特率操作是基本的价格因素。这是一种典型的情况,例如,在移动通信系统例如GSM、UMTS或CDMA中的流媒体和消息应用程序中。另一方面,例如在因特网上的大部分内容,只有在高比特速率下才可用,所述高比特速率能保证最高的质量但是其不能直接在移动网络上被流传输。为了使内容供应商在多种不同网络上分发内容,例如广播,内容在某一网络网关转码的不同比特速率或速率上以若干格式来获得,如果有需要的话。
对于这个问题的现有技术解决方案是利用可伸缩编解码器(scalablecodecs)。可伸缩编解码器的基本思想是只做一次编码,产生包括基础层和一个或若干个增强层的可伸缩比特流。当截断比特流时,也就是说降低比特速率时,通过丢弃至少一个增强层,解码器仍能够在较低的速率下解码数据。通过这个技术,速率转码变成了简单的截断操作。
对于可伸缩编解码器令人感兴趣的应用是在异构网络上进行音频-视频的内容分发,例如移动电视,电视广播,视频点播、音乐流媒体等等。对于这样一个成功的业务,非常期望内容分发将尽可能的广泛、容易。同时对于大多数不利的信道链路应当保证确定的最小服务质量,也就是说对于低带宽链路的最小可接受质量。
可伸缩音频与视频编解码器正获得越来越多标准化组织例如MPEG(运动图像专家组)的兴趣。事实上,MPEG当前正在标准化H264/AVC标准(增强型视频编码)的可伸缩扩展以及发布有关可伸缩音频和语音编解码器的信息咨询。其它标准化组织例如DVB(数字视频广播)也正考虑使用SVC(可伸缩AVC)。
虽然可伸缩音频编解码器已经存在并且已经标准化,例如BSAC(比特分片算术编码),与AAC(增强型音频编码)相关联、作为专家组的MPEG,但仍旧感觉需要在低比特速率上填充现有间隙的新技术。事实上,这是众所周知的问题,可伸缩编解码器在给定的比特速率下,比在相同速率下的非可伸缩编解码器总是有更差的性能。
现有技术的语音编码和通常的音频信号的编码是基于变换编码。依据这种方法,初始输入信号被分成连续的重叠采样块(帧)。线性变换,例如DFT(离散傅里叶变换)或MDCT(修改的离散余弦变换),被应用在各个帧上,从而产生变换系数。这些系数被量化并且产生量化的系数,所述系数依次被编码并且形成比特流的一部分。比特流根据寻求应用程序(sought application)被存储或传送。一旦接收到比特流,解码器首先解码先前被编码的量化系数并且执行逆变换,例如IDFT或IMDCT,产生被解码的帧。为了产生被解码的时域信号,被解码的帧通常由所谓重叠相加的过程组合。
矢量量化(VQ)是众所周知的量化技术,其中几个系数一起组合成矢量。通过编码本的条目来估计所得到的矢量。取决于所使用的失真量度,编码本中最近邻居被选为系数输入矢量的近似值。编码本越大,近似值越好,从而产生较低的总失真。然而,这将以增加存储器、比特速率和计算复杂性为代价而得到。
对于矢量量化的编码本可以有不同的结构并且可以用不同的方式设计。
设计非结构化矢量量化的编码本的一种方式是使用众所周知的LBG(Linde-Buzo-Gray)算法(K-means K-均值)。非结构化编码本从在数据上训练它们的意义上讲是最佳的,从而适合于被量化的矢量分发。然而,这个最佳性以为了发现最近邻居将穷举搜索以及巨大的存储器需求为代价而得到;两者随着量化器比特速率按指数规律地增长。
对非结构化矢量量化的一个替换方式是使用结构化矢量量化器,所述量化器是在结构上被限制的矢量量化器。
多级矢量量化是一种树形结构量化器,更加减少算法和存储器的复杂性。多级VQ从量化具有减少速率的编码本的矢量开始,而不是对给定的速率具有巨大的编码本。第一个量化级的残差被提供给第二级,其中在所述第二级上另一个(或相同)的编码本可能在不同的速率下被用来量化残差。这个过程在全部级中被重复以产生最后的量化误差。量化器的总速率是各个量化器级速率的和。
在多级矢量量化中,用第一级编码本CB1量化源向量x,产生具有索引i1的编码矢量c1(i1)。第一级的残差按e1=x-c1(i1)计算,并且第二级用编码本CB2量化第一级的残差,产生具有索引i2的编码矢量c2(i2)。在随后的级中再次重复这个过程,直到将残差en-1=en-2-cn-1(in-1)输入给最后级,并且用编码本CBn量化,以产生具有索引in的编码矢量cn(in)。
源矢量的重建由执行量化器的逆操作组成;一旦接收索引i1,i2,…,in,解码器计算出重建矢量,所给的等式如下:
用于编码x的整体比特速率是各级比特速率的和。除了节约计算复杂性外,多级矢量量化器还提供一种以连续细分方式来编码矢量的方法。
如果仅有部分索引被接收时,例如,i1,i2,…,ik,k<n,那么仍然有可能重建矢量:
其具有较高的量化误差,也就是较低的性能,但是它只需要较低的比特速率。因此,每个额外接收的索引都可以改善重建矢量。
尽管多级VQ比常规非限制VQ具有优势,但它仍有一些限制:
●当要求高速量化步骤(也就是大编码本)时,多级矢量量化将变得相当复杂。
●编码本的存储器与级数目成正比,因此限制了连续细分的灵活性。
●连续改善的特性意味着在连续量化步骤上受到约束,这将在任何速率上限制整体可达到的性能。
另一种结构化VQ的类型是点阵矢量量化(LVQ)。在LVQ中,通过使用给定点阵中点的子集来形成编码本。点阵是几何对象,其由一组基矢量的整数线性组合构造而成。低复杂度和存储器消耗使得对量化使用点阵非常有吸引力。然而,仍有一些问题影响它们的性能和复杂度:
●对于可变速率编码,为了获得期望的失真和速率必须缩放点阵(基矢量),另外,必须使用无损编码器来编码产生的索引。
●对于固定速率编码,为了定义确定的编码本必须使用整形(shaping),以及缩放点阵使得大部分的输入矢量(称为载体)存在于在已定义的整形区域内。在整形区域之外的矢量,也称为异常值(outlier),导致了一个非常严重的问题,可以通过饱和度或缩放来解决该问题。两种技术都将增加额外的计算负担并且将降低品质,特别是在较大异常值的情况下。
在d维点阵中的每个点c可以写做c=Gm,G称为生成矩阵和m是整数矢量。存在几个普及的点阵,例如,六角点阵A2,整数点阵Zn,Gosset点阵En。
当选择点阵被选择来设计确定速率的量化器时,为了形成具有确定比特数目的编码本,仅保留点阵点的一个子集。众所周知的技术是通常所称的点阵整形。这个技术由按照整形边界截短点阵组成。整形边界是以一些点(初始点)为中心,并且可以采用任何形状,例如矩形,球形,或者金字塔形、voronoi形等等。
使用点阵进行量化可以考虑非常有效率的最近邻居搜索算法。对于大多数有用的点阵,已在[1]中发现这样的搜索算法。另一方面,当使用点阵进行量化时,实际上不需要存储编码本,因为点阵点可以从生成矩阵中直接获得。
当发现一个点阵点时,进一步的任务由索引点阵点组成。已经设计出几个索引算法。一类有趣的索引算法使用了领导者的概念,在[2、3]中描述所述概念的实例。当使用球形整形时,使用这类索引是最好的。
另一种整形是voronoi整形,所述整形在[4]中被描述并且依赖于voronoi区域概念。
如[4]中所描写的那样,通过使用整数取模操作可以有效的实现voronoi编码本中编码矢量的索引和恢复。
为了通过连续细分来扩展点阵量化,在[5]中描述的技术方法使用了voronoi编码。这个技术和具有由点阵编码本替代的传统编码本的多级VQ很相似。这个技术的实质是基于产生一系列递减的缩放voronoi点阵VQ,在先前较高的缩放中,每个都覆盖基础点阵的voronoi区域。然而,这个技术同样经受异常值的问题,尤其是如果在第一个级中出现异常值。事实上,设计连续级来减少颗粒噪声,因此就不能有效地处理异常值。这个技术的另一个问题来自于量化器效率,因为后续步骤的编码本入口无法有效地涵盖先前级的分布。
在[6]中描述的技术使用了多速率点阵量化方法用于编码点阵点。这个技术依赖于编码本扩展概念。每当量化矢量无法落入基础编码本中时,为了能够索引量化的矢量,基础编码本被自行扩展。这个技术本质上是可变速率技术。
参考文件[7]描述了对称多描述点阵矢量量化器。使用标签功能将量化矢量划分到两个冗余描述中,所述两个冗余描述被保存在两个不同的流中。一种类似技术在[8]中进一步得到发展,以用于不对称点阵矢量量化。这些技术有几个缺点,比例如:
●因为多个描述的对象能够对每个描述单独地进行解码,在每个描述中都传送一定量的冗余,这反过来使得在连续细分量化器中使用多个描述造成严重的效率低下。
●最佳的标签功能的设计是一项繁重的任务,其需要线性规划技术。
●标签功能需要存储索引匹配查找表格,因此如果需要几个匹配函数,那么必将增加存储的需求。
发明内容
本发明的目标是改善连续细分点阵矢量量化和编码,以及所产生的分层码的解码。
这个的目标根据附属的权利要求书来实现。
简单地说,矢量量化通过属于点阵Λ0的点阵矢量来近似矢量x开始。其后,通过具有相应预先确定的整数pi≥2序列的点阵除法在连续的点阵Λi-1上点阵矢量连续地被分解成商数矢量yi的序列和余数矢量ri的序列,其中i=1...k,k是正整数,其表示每个序列中元素的数目。
编码包括编码相应的voronoi编码本中的各个余数矢量ri,其中ai是预先确定的位移矢量,其属于点阵Λi-1的voronoi区域并且通过所述编码的余数矢量ri,所述余数矢量ri的数量k和定义所述voronoi编码本的整数pi序列和位移矢量ai表示矢量x。
解码包括根据下面的等式重建矢量x的近似值y:
其中l≤k是正整数,表示多个遗漏的编码余数矢量,并且ri,i=1…l是对应voronoi编码本的平均矢量。
附图说明
本发明连同它的进一步的目标和优势,通过参考下面的描述并结合附图可以更好的被理解,其中:
图1(a)-(d)图示了对于整数点阵Z2的voronoi编码本的概念;
图2(a)-(d)图示了对于六角点阵A2的voronoi编码本的概念;
图3是一个流程图,其图示了根据本发明的矢量量化器方法的实施例;
图4图示了图3中矢量量化方法的一个迭代;
图5(a)-(d)图示了基于图3方法的矢量量化的例子;
图6是使用本发明矢量量化方法的编码器的实施例;和
图7是使用本发明解码方法的解码器的实施例。
具体实施方式
因为voronoi编码本的概念对于本发明是必需的,将参考图1和2详细地描述voronoi编码本。voronoi编码本CΛ(r,a)由落入缩放及转换的voronoi区域内的全部点阵点形成,也就是
CΛ(r,a)=Λ∩(rVΛ(0)+a) (3)
其中,
Λ:表示点阵。
VΛ(0):表示与点阵A相关的初始点周围的voronoi区域。
r:表示正整数缩放系数。
a:表示被选择的矢量,以至于没有点阵点落在rVΛ(0)+a的边界上。
通过图1中序列(a)-(d),等式(3)用于描述整数点阵Z2。图1(a)图示了整个点阵A(因为点阵扩展到整个面上,因此仅显示了点阵的一部分)。选择一个点阵点作为初始点并在图1(a)中用圆圈表示。初始点周围的voronoi区域VΛ(0)也被图示。缩放的voronoi区域rVΛ(0)被图示在图1(b)中。在这个例子中r=4。在图1(b)中,注意一些点阵点落在4VΛ(0)的边界上。如图1(c)所示,由于这个原因,缩放的voronoi区域通过位于voronoi区域VΛ(0)中的位移矢量a进行位移。这就产生了缩放及位移的voronoi区域4VΛ(0)+a。最后如图1(d)所示,通过取点阵Λ和缩放及位移的voronoi区域4VΛ(0)+a之间的交集形成voronoi编码本CΛ(4,a)。应当注意的是没有编码本中的节点落在边界上。
图2(a)-(d)图示了对于六角点阵A2的相似序列。应该理解的是,相同的原理可以被用于其它以及更高维的voronoi编码本。
属于voronoi编码本CΛ(r,a)的点总数是rd,所述rd等于说编码本有log2r比特/维度。
本发明基于附录I中描述的点阵除法。使用点阵除法,点阵矢量y根据下面公式通过y除以正整数p可以被分解成商数矢量q和余数矢量r:
y=pq+r (4)
其中r∈CΛ(p,a)。商数q是一个矢量,其可以被进一步分解成商数和余数,并且这个过程可以被重复以获得越来越小的余数。算法可以通过下列伪代码来概述:
给出一组整数,p1,p2,…,所有整数都是正数且≥2,和一组矢量a1,a2,...∈VΛ(0);yi=pi+1yi+1+ri+1,其中ri+1∈CΛ(pi+1,ai+1)i=0,1,... |
如附录II所示,这个算法总是收敛到包含在2VΛ(0)中的零或另一个点阵点。通过使用附录II中所述的收敛测试,可以使用如下的伪代码实现算法:
在图3中的流程图图示了这个算法的一种实现。算法从在步骤S1中选择点阵矢量y0并设定索引i=0开始。步骤S2执行如下的迭代:
步骤S3判断是否 如果是这种情况,则算法已经收敛(参见附录II),否则进行步骤S4。步骤S4判断是否pi+1=2和ri+1=-yi。如果是这种情况,则算法已经收敛(参见附录II),否则进行步骤S5。在步骤S5中i增加1,然后算法返回步骤S2。因为存在两种可能的方式到达收敛(在步骤S3或步骤S4中),最后编码器的状态可以由标志位b指出,例如,如果在步骤S3达到收敛,那么将b设为0,如果在步骤S4达到收敛,则将b设为1。
图4描述了图3中的迭代步骤S2。位于voronoi区域VΛ(0)中的点阵矢量yi和矢量ai+1形成了虚线的矢量yi-ai+1。这个矢量被整数pi+1除,其在这个例子中等于2,从而形成了重新缩放的矢量(yi-ai+1)/2,其被量化到最近的点阵点,以形成商数矢量yi+1。余数矢量ri+1是由yi-Pi+1yi+1形成的,在这个例子等于yi-2yi+1。余数ri+1属于编码本CΛ(pl+1,ai+1),在这个例子中是CΛ(2,al+1),如图4中所示。这个特征将被用于实际的编码。
维数d的矢量x的编码从选择最近的点阵矢量y=QA(x)开始。在(5)中定义的点阵除法中,这个点阵矢量被用作初始矢量y0。每次除法产生属于相应voronoi编码本CΛ(pl,ai)的余数ri。因为点阵除法算法在经过一定数量k的迭代后收敛(附录II),这意味着根据下述公式点阵矢量y可以表示为余数ri的线性组合:
等式(6)是通过对算法(5)的循环展开k次迭代而获得的。这里λi表示对应于余数矢量ri的整数缩放系数,也就是, 在等式中(6)约定:
用于求和中的第一项。
如附录III所示,由这个过程产生的编码矢量ri是唯一的。需要注意的是层是倒序的。第一层是对解码最重要的层,是具有最高整数缩放系数λk的一层。
图5图示了对于点阵Z2的这个过程。在图5(a)中,点阵矢量y=y0是被整数p1=3除的点阵。这产生了属于voronoi编码本CΛ(3,a)的余数矢量r1和商数矢量y1(为了简化,在这个例子中矢量a被用于所有编码本)。在图5(b)中,点阵矢量y1是被整数p2=2除的点阵。这产生了属于voronoi编码本CΛ(2,a)的余数矢量r2和商数矢量y2。在图5(c)中,点阵矢量y2是被整数p3=2除的点阵。这产生了属于voronoi编码本CΛ(2,a)的余数矢量r3=y2和商数矢量y3=0。因为y3=0,满足图3中的条件S3,算法在k=3次迭代时收敛。应用(6)到这个例子可以给出(从基础层k=3开始):
y=y0=p1·p2·r3+p1r2+1·r1=3·2·r3+3·r2+r1
如图5(d)中所示。
因为编码矢量r1,...,rk的每一个属于voronoi编码本,它们的索引可以利用在[4]描述的众所周知的算法,即索引推导(deriving indices),进行编码:
ni=[G-1ri]modpi,i=1...k (7)
其中G是点阵的生成矩阵,“mod”是取模函数。为了编码,每个索引ni都需要dlog2(pi)个比特。
索引n1,...,nk和它们的数量k是从编码器到解码器传送的主要编码参数。层的数目的传送很重要,因为第一(最重要的)层是对应于索引i=k的一层,最后一(最不重要的)层是对应于索引i=1的一层。层的数目也与矢量y的能量有关系,因此可以被看做一种增益-形状编码(gain-shape coding)。
同样值得注意的是,点阵除法算法已经停止的状态也必须被传送。参考图3所描述的,这个状态可以被描述为二进制变量b=0或b=1并且被称为标志位。在解码器中,标志位指示表示yk+1的编码矢量是否需要进行符号改变。然而,需要注意的是标志位只有在整数序列pi≥2包含至少一个pi=2时才需要,以至于收敛可能通过步骤S4到达而不是步骤S3。如果全部Pi>2,并且这个事实在解码器中是已知的,那么标志位就不是必需的,因为这种情况下收敛总是通过步骤S3到达。
控制各层的比特配置的参数p1,...,pk以及位移矢量a1,a2,...,ak,对于解码余数矢量ri并且恢复矢量y也是必需的。然而它们是可以预先确定并且固定在编码器和解码器上,因此不需要传送。通常,参数p1,...pk表示了各层的颗粒度。
如果确定各层具有相同的比特分配数,那么所有pi都相等。如果这个值不变,那它就可以固定在编码器和解码器上,否则也仅有一个值必须被传送。如果确定全部的层将被d比特编码,那么对于所有的i均是pi=2,因此没有pi需要被传送。
如上面已经讨论的,选择位移矢量a1,a2,...,ak,以至于它们全部都属于在初始点周围的voronoi区域。选择它们,以没有点阵点位于piVΛ(0)+ai的边界上这样的方式隔离(breakties)。它们是可以被预先确定并且固定在编码器和解码器中。为了使这些矢量选择最优化,我们检验与各层相关的误差。平均均方误差(MSE)是:
其中,
对应于编码的平均能量,和
表示在voronoi编码本CΛ(pi,ai)中的编码矢量的平均值。对于矢量a1,a2,...,ak的最优化选择是使这个误差尽可能的小。对于voronoi编码能量最优化的一个简单普通的算法在[4]中被描述,并且这种情况下可以被用来最优化每个σi 2。
由等式(6)可知,在解码器中接收到的量化矢量y被按如下等式重建:
将索引n1,...,nk解码到编码矢量r1,...,rk是按照在[4]中描述的下列算法执行的:
其中G是点阵A的生成矩阵。
现在,假设多个l≤k的层遗失了,那么根据均方误差最小化的优化重建,由下面给出:
这意味着遗失的编码矢量ri...rl被它们相对应的编码本的平均值替代(如果l=0,就是说所有层都已经被接收,在(11)中的第一个和为零,并且(11)就简化为(9))。
迄今为止,均方误差仅仅为了编码矢量y恢复中的误差而被计算。然而,因为目标是矢量x的量化,因此除了由于遗失层而导致的错误外,还需要增加与量化相关的误差。这个误差取决于点阵voronoi区域的整形,但是与矢量x无关,其由下述等式给出:
一些已知的点阵是通过其它点阵的组合来获得,其可能具有低维度数。很明显这里所描述的发明同样可以被应用在这些点阵上。例如,对于点阵除法算法的简单修改允许其在各级(层)上处理不同的点阵:
将等式(5)修改的更具普遍性:
将矢量ri编码为:
ni=[Gi-1 -1ri]modpi,i=1...k (14)
其中Gi-1是点阵Λi-1的生成矩阵。
在解码器,矢量ri从接收到的索引ni通过如下等式获得:
并且如果全部的k索引(层)已经被接收,则通过(9)获得重建的矢量y和如果一些索引已经被截短,则通过(11)获得重建的矢量y。在这种情况下通过下述等式形成平均编码本矢量:
每个点阵Λi都必须是yi∈Λi。如果情况不是这样,那么就要让yi∈Λi,假定一定数量的附加的辅助信息被传输,例如yi的转换和/或缩放。
使用不同点阵的好处是,除了它们可以提供灵活性外,某些点阵对于特定的问题比其它点阵更加适合。此外,通过利用不同的点阵允许完成仅仅使用单一点阵无法完成的速率失真点(各个附加层的平均值对应于预先确定的量化失真的减少)。
图6是使用本发明矢量量化方法的编码器的实施例。点阵量化器10接收矢量x进行矢量量化。其量化矢量x到点阵Λ0中的最近点阵点y0,点阵点从存储器单元12获得(典型的通常,点阵点是从存储的生成矩阵获得)。将点阵矢量y0传送到与点阵量化器10相连接的点阵矢量分解器14。根据等式(13)概述的算法通过使用来自存储器单元12中的点阵序列Λ0,Λ1,...,,位移矢量a1,a2,...,以及正整数p1,p2,...其被连续细分。最后,将余数矢量ri传送到voronoi点阵编码器16,voronoi点阵编码器16在相应voronoi编码本中对它们进行编码,其中voronoi编码本来自voronoi编码本构建器18,voronoi编码本构建器18根据从存储器单元12检索的参数形成编码本。根据等式(14)形成相应的编码ni。在这个实施例中,将这些编码和它们数量k发送或传输到解码器(参见上面的讨论,根据使用的序列pi也需要标志位b)。
图7是使用本发明解码方法的解码器的实施例。编码参数ni,k被voronoi点阵解码器30接收,所述解码器通过使用等式(15)将接收到的索引ni解码成余数矢量ri。从存储器单元32获得生成矩阵Gi-1。已解码的矢量ri被传送到矢量重建单元36,所述矢量重建单元36根据(11)重建近似值y,假定l≤k个余数矢量ri遗失了。将重建分成两个步骤。在第一步骤,在部分矢量重建单元36中形成根据(11)中的第一个和的部分重建的矢量,和在第二步骤,在编码本均值加法器38中形成了(11)的第二个和,并将第二个和加上第一个和以形成解码矢量y。
所述实施例的不同模块的功能,通常是由一个或几个微处理器或微/信号处理器组合以及相应软件来实现。
所述实施例的不同模块的功能,通常是由一个或几个微处理器或微/信号处理器组合以及相应软件来实现。另一个可能是使本发明实现为ASIC(专用集成电路)或FPGA(现场可编程门阵列)。
很明显,各层索引ni的无损编码可以提供如上所述的更有效率的分层编码方案。诸如霍夫曼编码或算术编之类的典型技术特别适用于这个任务。
当矢量x被量化到点阵点y∈Λ时,矢量x较高的能量导致对于编码需要更高的比特总数。当所有层被接收时,源矢量x的预缩放对最后的MSE(均方误差)有直接的影响。如果源矢量被向上缩放,那么最后的MSE将减少,反之亦然。然而,对于高能量源矢量,表示量化矢量y所需要的比特总数也增加了。这个通常是一种折衷,取决于应用。例如,对于音频编码,需要最后的MSE对应于掩蔽噪声门限,因此当接收所有的层时,导致透明的编码。如果源矢量被向上缩放,那么最后的MSE将减少,反之亦然。然而,对于高能量源矢量,表示量化矢量y所需要的比特总数也增加了。这个通常是一种折衷,取决于应用。例如,在音频编码应用中,在执行了信号的心理声学分析后,在频率域内得出掩蔽阈值。这些掩蔽阈值确定了编码噪声的电平,这仅仅被人类耳朵注意到。透明的有损编码的目标然后是编码频谱系数,使得编码噪声电平低于刚可以被注意到的噪声电平。这就转换为选择适当的频谱系数缩放,导致最后的均方误差与刚可以被注意到的噪声电平相匹配,因而当所有层都被接收时导致了透明的编码。
如上所述,本发明的基本思想涉及可变速率点阵矢量量化。特别地,本发明的概念是通过使用voronoi编码以灵活的连续细分方式使用点阵除法算法来编码源矢量。每个细分层由属于某个voronoi编码本的编码矢量组成。从各个层的各个细分voronoi编码本可以在任何时候被选择具有动态可变大小并且可以来源于不同点阵的意义来讲,各个细分层的大小选择是灵活的。
它也已经展示了如何最优地解码对应于在voronoi编码本集合中的条目的索引集合,其中各个索引为已经编码的索引提供附加的细分。
本发明有若干优势,其中一些是:
●低复杂性
●低存储器需求
●不工作(onthe fly)索引
●所描述方案允许形成被量化的源矢量x的分层表示,因此当部分传输信息没有到达到解码器时,使得解码器恢复源矢量的低质量版本。
●可在任何时候改变分层表示,无需重新设计编码本或索引表。这允许编码器根据需要有效地构造特殊的分层配置。
●减轻点阵缩放和/或超载的问题。
本领域技术人员可以理解,在不脱离所附权利要求所定义的范围的情况下,可以对本发明进行多种修改和改变。
附录I
这个附录描述了点阵除法,也就是用点阵矢量除以一个整数。这个技术的有效性是以已有的计算最近邻居的快速算法为基础,在[ConwaySloane]中有论述。
对于维数为d的任意矢量x,y=QΛ(x)表示在点阵A中x的最近邻居。假设矢量y∈Λ和voronoi编码本CΛ(p,a),并且让:
这意味着y-a=pq+pε,并且ε属于voronoi区域VΛ(0)。这也相当于说:
y=pq+a+pε (18)
现在,因为y和q都属于点阵Λ且p是整数,从而a+pε也一定是点阵点,并且因为ε∈VΛ(0),我们必然有r=a+pε∈CΛ(p,a),因此:
y=pq+r其中r∈CΛ(p,a) (19)
这种分解矢量y的方法类似于欧几里得除法,并且当点阵具有维数d=1时,其实际上就等同于欧几里得除法。我们称q为y被整数p除的商数,称r为y被整数p除的余数。然而,值得注意的是,当d>1时q和r均是矢量。
关于矢量a,它的功能是隔离,但通常它也被优化,使得编码能量尽可能的小。如果 那么通过简单的转换,可以认为a是点阵点的总和,而且是属于VΛ(0)的矢量。因此,点阵点导致转换的voronoi编码,因此,我们不失一般性的假定矢量位于初始点0周围的voronoi区域,也就是说a∈VΛ(0)。
在下面的段落,点阵除法的域特性将得到研究。
假定矢量y∈Λ,并且让a∈VΛ(0)。使得y∈CΛ(k,a)的全部正整数k的集合被限制到低于y∈CΛ(n,a)的最小可能正整数n。我们称n为y的度,表示为dega(y)。
按照(19)使用点阵除法,矢量y∈Λ可以表示为y=pq+r且r∈CΛ(p,a),这表明dega(r)必须小于或等于p。现在通过定义y∈CΛ(dega′(y),a′)让a′∈VΛ(0)。表明y-r属于CΛ(dega′(y)p,a′+a),因此可以表明:
现在,如果p=1,立即可知r=0并且q=y,因此dega′(q)=dega′(y)。然后,假设p≥2。因为a和a′属于VΛ(0),随后可知a′+a∈2VΛ(0)和 因此:
随后可知,商数矢量q的度必须满足:
对于所有正整数p和任何点阵矢量。
附录II
点阵除法算法,开始于初始矢量y0∈Λ,在先前点阵除法的商数上应用连续的点阵除法除以一组正整数。假定要求整数pi至少等于二,因为当pi=1时任意步骤不会导致结果变化。
如果我们写 ,适当地选择矢量b1,b2,...∈VΛ(0),那么算法的迭代将导致下面情况:
因为根据假定,pi≥2,可以得到度演化的上限:
现在可以将其表示成:
如果k是用于表示m0的比特数,那么对于i>k我们必然有mi≤2,就是说,对于一些bi,yi∈CΛ(2,bi)。由此可见,除法算法总是导致属于voronoi编码的点yi∈CΛ(2,bj),i>k
如果任意pi,i>k被严格地大于2,那么算法收敛到编码本CΛ(1,bi),它具有作为唯一编码矢量的初始点0。
如果全部的pi=2,i>k,算法就会导致yk+1=2yk+2+rk+2。然后如果yk+1∈C(2,ak+2),随后必然可知yk+2=0并且算法收敛。否则,如果 那么我们必然有-yk+1∈C(2,ak+2)并且随后立即可知yk+2=yk+1和rk+2=-yk+1并且算法同样收敛。
因此,可知算法总是收敛到包含在2VΛ(0)中的零或另一个点阵点。
附录III
可能出现的问题是生成的编码是否是唯一的。为了解答这个问题,让我们考虑算法的两次迭代:
yi=pi+1yi+1+ri+1和yi+1=pi+2yi+2+ri+2 (26)
那么,我们可以写成,
表达式(27)表明,如果是voronoi编码,那么算法的二次迭代就等于整数的一次迭代,所述是由pi+1,pi+2的乘积。然而,通常不是这种情况,唯一能表明的是 但是这仅仅是限制编码,并且不是使用中所有的编码矢量。
参考文献
[1]Conway J.H.,Sloane N.J.A.“Fast Quantizing and Decoding Algo-rithms for Lattice Quantizers and Codes”.IEEE transactions on Infor-mation Theory.VOL.IT-28,NO.2,March 1982,pages 227-232.
[2]Adoul J.-P.,Lamblin C.,Leguyader A.“Baseband Speech Coding at2400 bps using Spherical Vector Quantization”.Proc.ICASSP 1984.pages 1.12.1-1.12.4
[3]Rault P.,Guillemot C.“Indexing Algorithms for Zn,An,Dn and Dn++Lattice Vector Quantizers”.IEEE transactions on Multimedia.VOL.3,NO.4,December 2001,pages 395-404.
[4]Conway J.H.,Sloane N.J.A.“A Fast Encoding Method for LatticeCodes and Quantizers”.IEEE transactions on Information Theory.VOL.IT-29,NO.6 November 1983,pages 820-824.
[5]D.Mukherjee and S.K.Mitra“Successive Refinement Lattice VectorQuantization”.IEEE transactions on Image Processing,VOL.11,NO.12,December 2002,pages 1337-1348.
[6]WO 03/103151
[7]US 6,516,297 B1
[8]S.N.Diggavi,N.J.A.Sloane,V.A.Vaishampayan.“Asymmetric MultipleDescription Lattice Vector Qauntizers”.IEEE transactions on Informa-tion Theory,VOL.48,NO.1,January 2002.pages 174-191.
Claims (14)
1、一种矢量量化的方法,包括步骤:
通过属于点阵Λ0的点阵矢量来近似矢量x;
通过具有整数的点阵除法在连续的点阵Λl-1上将所述点阵矢量连续地分解成商数矢量yi的序列和余数矢量ri的序列,所述整数来自相应预先确定的整数pi≥2序列,其中i=1...k,k是正整数,其表示每个序列中元素的数目。
3、如前面任一权利要求所述的矢量量化方法,其特征在于全部的点阵Λ1是相同的点阵Λ。
5、如权利要求4所述的编码方法,包括编码所述余数矢量ri为如下等式的步骤:
ni=[Gl-1 -1ri]mod pi,i=1...k
其中Gi-1是点阵Λl-1的生成矩阵。
6、如权利要求5所述的编码方法,包括传送所述编码的余数矢量ri和所述余数矢量ri的数量k到解码器的步骤。
7、如权利要求6所述的编码方法,包括传送表示最后余数矢量rk符号的标志位b到所述解码器的步骤。
8、一种解码方法,包括步骤:
接收表示根据权利要求4的编码方法进行编码的矢量x的编码参数;和
根据下面的等式重建所述矢量x的近似值y:
其中l≤k是正整数,表示遗漏编码余数矢量的数量并且ri,i=1…l是相应voronoi编码本的平均矢量。
9、如权利要求7所述的解码方法,其特征在于当已经接收全部k个编码余数矢量ri时,所述近似值y是按下述等式给出的:
10、如权利要求8或9所述的解码方法,包括仅仅接收编码余数矢量ri和所述余数矢量ri的数量k,以及在接收端上从存储器单元检索所述整数集pi和所述位移矢量ai的步骤。
11、一种矢量量化器,包括:
点阵量化器(10),其通过属于点阵Λ0的点阵矢量来近似矢量x;和
与所述点阵量化器连接的点阵矢量分解器(14),用于通过具有整数的点阵除法在连续的点阵Λl-1上将所述点阵矢量连续地分解成商数矢量yi的序列和余数矢量ri的序列,所述整数来自相应预先确定的整数pi≥2序列,其中i=1...k,k是正整数,其表示每个序列中元素的数目。
13、如权利要求12所述的编码器,包括voronoi点阵编码器(14),用于编码所述余数矢量ri为如下等式:
ni=[Gl-1 -1ri]mod pi,i=1...k
其中Gi-1是点阵Λl-1的生成矩阵。
14、一种解码器,包括矢量重建单元(36),用于重建由接收到的编码参数所表示的矢量x的近似值y,所述编码参数由根据权利要求11-13中任一权利要求所述的编码器编码:
其中l≤k是正整数,表示遗漏编码余数矢量的数量并且ri,i=1…l是相应voronoi编码本的平均矢量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71955405P | 2005-09-23 | 2005-09-23 | |
US60/719,554 | 2005-09-23 | ||
PCT/SE2006/001043 WO2007035148A2 (en) | 2005-09-23 | 2006-09-12 | Successively refinable lattice vector quantization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101292427A true CN101292427A (zh) | 2008-10-22 |
CN101292427B CN101292427B (zh) | 2012-05-23 |
Family
ID=37708309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800345250A Expired - Fee Related CN101292427B (zh) | 2005-09-23 | 2006-09-12 | 用于矢量量化、编码、解码的方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8340450B2 (zh) |
EP (1) | EP1946447B1 (zh) |
JP (1) | JP4801160B2 (zh) |
CN (1) | CN101292427B (zh) |
WO (1) | WO2007035148A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104221287A (zh) * | 2012-03-29 | 2014-12-17 | 瑞典爱立信有限公司 | 矢量量化器 |
CN104918046A (zh) * | 2014-03-13 | 2015-09-16 | 中兴通讯股份有限公司 | 一种局部描述子压缩方法和装置 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949538B2 (en) * | 2006-03-14 | 2011-05-24 | A-Life Medical, Inc. | Automated interpretation of clinical encounters with cultural cues |
US8731954B2 (en) * | 2006-03-27 | 2014-05-20 | A-Life Medical, Llc | Auditing the coding and abstracting of documents |
US7966175B2 (en) * | 2006-10-18 | 2011-06-21 | Polycom, Inc. | Fast lattice vector quantization |
US7983322B2 (en) * | 2007-01-09 | 2011-07-19 | Broadcom Corporation | Method and system for codebook design of MIMO pre-coders with finite rate channel state information feedback |
US7908552B2 (en) | 2007-04-13 | 2011-03-15 | A-Life Medical Inc. | Mere-parsing with boundary and semantic driven scoping |
US8682823B2 (en) * | 2007-04-13 | 2014-03-25 | A-Life Medical, Llc | Multi-magnitudinal vectors with resolution based on source vector features |
US9946846B2 (en) * | 2007-08-03 | 2018-04-17 | A-Life Medical, Llc | Visualizing the documentation and coding of surgical procedures |
JP4871246B2 (ja) * | 2007-10-30 | 2012-02-08 | 日本電信電話株式会社 | ベクトル量子化方法,装置およびそれらのプログラムとそれを記録したコンピュータ読み取り可能な記録媒体 |
CN102132494B (zh) * | 2008-04-16 | 2013-10-02 | 华为技术有限公司 | 通信方法和通信装置 |
CN101577551A (zh) * | 2009-05-27 | 2009-11-11 | 华为技术有限公司 | 一种生成格型矢量量化码书的方法及装置 |
US8811412B2 (en) * | 2009-10-15 | 2014-08-19 | International Business Machines Corporation | Steering data communications packets among service applications with server selection modulus values |
WO2011058758A1 (ja) * | 2009-11-13 | 2011-05-19 | パナソニック株式会社 | 符号化装置、復号装置およびこれらの方法 |
EP2904803A1 (en) | 2012-10-01 | 2015-08-12 | GE Video Compression, LLC | Scalable video coding using derivation of subblock subdivision for prediction from base layer |
US20160019900A1 (en) * | 2013-02-01 | 2016-01-21 | Nokia Technologies Oy | Method and apparatus for lattice vector quantization of an audio signal |
US10523490B2 (en) | 2013-08-06 | 2019-12-31 | Agilepq, Inc. | Authentication of a subscribed code table user utilizing optimized code table signaling |
US9455799B2 (en) | 2013-08-06 | 2016-09-27 | OptCTS, Inc. | Dynamic control of quality of service (QOS) using derived QOS measures |
US9444580B2 (en) | 2013-08-06 | 2016-09-13 | OptCTS, Inc. | Optimized data transfer utilizing optimized code table signaling |
WO2015035193A1 (en) | 2013-09-05 | 2015-03-12 | A-Life Medical, Llc | Automated clinical indicator recognition with natural language processing |
US10133727B2 (en) | 2013-10-01 | 2018-11-20 | A-Life Medical, Llc | Ontologically driven procedure coding |
CN106030703B (zh) * | 2013-12-17 | 2020-02-04 | 诺基亚技术有限公司 | 音频信号编码器 |
US10056919B2 (en) | 2014-07-02 | 2018-08-21 | Agilepq, Inc. | Data recovery utilizing optimized code table signaling |
KR102477070B1 (ko) | 2016-06-06 | 2022-12-12 | 아길렙큐 인코포레이티드 | 데이터 변환 시스템 및 방법 |
CN110622421B (zh) * | 2017-08-07 | 2022-09-27 | 深圳市汇顶科技股份有限公司 | 应用于超取样转换器的向量量化数模转换电路 |
CN117812263B (zh) * | 2024-03-01 | 2024-05-07 | 博云视觉(北京)科技有限公司 | 内存轻量级的多阶段向量乘积量化系统和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0832033B2 (ja) * | 1988-03-12 | 1996-03-27 | 株式会社グラフィックス・コミュニケーション・テクノロジーズ | 学習型多段ベクトル量子化方法と装置 |
JPH05335967A (ja) * | 1992-05-29 | 1993-12-17 | Takeo Miyazawa | 音情報圧縮方法及び音情報再生装置 |
US6125201A (en) * | 1997-06-25 | 2000-09-26 | Andrew Michael Zador | Method, apparatus and system for compressing data |
US6516297B1 (en) * | 1998-12-23 | 2003-02-04 | At&T Corp. | Multiple description lattice vector quantization |
US6594627B1 (en) * | 2000-03-23 | 2003-07-15 | Lucent Technologies Inc. | Methods and apparatus for lattice-structured multiple description vector quantization coding |
US7023936B2 (en) * | 2001-10-29 | 2006-04-04 | Intel Corporation | Method and apparatus for decoding lattice codes and multilevel coset codes |
CA2388358A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for multi-rate lattice vector quantization |
US7444454B2 (en) * | 2004-05-11 | 2008-10-28 | L-3 Communications Integrated Systems L.P. | Systems and methods for interconnection of multiple FPGA devices |
-
2006
- 2006-09-12 US US11/991,539 patent/US8340450B2/en active Active
- 2006-09-12 EP EP06799680.1A patent/EP1946447B1/en not_active Not-in-force
- 2006-09-12 WO PCT/SE2006/001043 patent/WO2007035148A2/en active Application Filing
- 2006-09-12 CN CN2006800345250A patent/CN101292427B/zh not_active Expired - Fee Related
- 2006-09-12 JP JP2008532187A patent/JP4801160B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104221287A (zh) * | 2012-03-29 | 2014-12-17 | 瑞典爱立信有限公司 | 矢量量化器 |
CN104918046A (zh) * | 2014-03-13 | 2015-09-16 | 中兴通讯股份有限公司 | 一种局部描述子压缩方法和装置 |
WO2015135493A1 (zh) * | 2014-03-13 | 2015-09-17 | 中兴通讯股份有限公司 | 一种局部特征描述子压缩方法、装置及存储介质 |
CN104918046B (zh) * | 2014-03-13 | 2019-11-05 | 中兴通讯股份有限公司 | 一种局部描述子压缩方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101292427B (zh) | 2012-05-23 |
JP4801160B2 (ja) | 2011-10-26 |
EP1946447B1 (en) | 2014-06-04 |
EP1946447A2 (en) | 2008-07-23 |
WO2007035148A3 (en) | 2007-05-10 |
US8340450B2 (en) | 2012-12-25 |
JP2009509456A (ja) | 2009-03-05 |
US20090175550A1 (en) | 2009-07-09 |
WO2007035148A2 (en) | 2007-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101292427B (zh) | 用于矢量量化、编码、解码的方法及装置 | |
US6349152B1 (en) | Table-based compression with embedded coding | |
US7106228B2 (en) | Method and system for multi-rate lattice vector quantization of a signal | |
CN100576319C (zh) | 用于可变比特率语音编码中的线性预测参数的稳健预测向量量化的方法和设备 | |
US6345126B1 (en) | Method for transmitting data using an embedded bit stream produced in a hierarchical table-lookup vector quantizer | |
CN102119414B (zh) | 用于在超帧中量化和逆量化线性预测系数滤波器的设备和方法 | |
US20050192799A1 (en) | Lossless audio decoding/encoding method, medium, and apparatus | |
CN103250206B (zh) | 用于比特流域中的编码音频帧的强度估计的装置及方法 | |
WO2019185987A1 (en) | Entropy-friendly neural network representations and their use in training and using neural networks such as autoencoders | |
CN110720222B (zh) | 用于数字数据压缩的方法和设备 | |
WO2011097963A1 (zh) | 编码方法、解码方法、编码器和解码器 | |
CN102982807B (zh) | 用于对语音信号lpc系数进行多级矢量量化的方法和系统 | |
CN115699020A (zh) | 用于神经网络的量化 | |
CN101266795A (zh) | 一种格矢量量化编解码的实现方法及装置 | |
CN102572426A (zh) | 一种数据处理的方法和装置 | |
Huang et al. | Multi-channel multi-loss deep learning based compression model for color images | |
WO2011150810A1 (zh) | 数据编码方法、解码方法、编码器和解码器 | |
CN101308657B (zh) | 一种基于先进音频编码器的码流合成方法 | |
JP2002091497A (ja) | オーディオ信号符号化方法、復号化方法及びそれらの方法を実行するプログラム記憶媒体 | |
Rault et al. | Lattice vector quantization with reduced or without look-up table | |
Mohamed | Wireless Communication Systems: Compression and Decompression Algorithms | |
Fonteles et al. | High dimension lattice vector quantizer design for generalized gaussian distributions | |
Shen et al. | A new approach of image compression based on difference vector quantization | |
CA2482994C (en) | Method and system for multi-rate lattice vector quantization of a signal | |
Jiang et al. | A memory efficient finite-state source coding algorithm for audio MDCT coefficients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20190912 |