当前位置: 首页 > 专利查询>微软公司专利>正文

使用后向自适应规则进行整数数据的无损自适应Golomb/Rice编码和解码制造技术

技术编号:2948016 阅读:348 留言:0更新日期:2012-04-11 18:40
一种使用具有新颖的自适应规则的新颖后向自适应技术进行整数数据的无损自适应Golomb/Rice(G/R)编码的方法和系统。该自适应G/R编码器和解码器(编解码器)及方法使用了在生成每个码字后调整G/R参数的自适应规则。这些自适应规则包括定义一自适应值并根据该自适应值调整G/R参数。如果自适应值等于零,则使G/R参数减少一整数常数。如果自适应值等于一,则G/R参数保持不变。如果自适应值大于一,则使G/R参数增加该自适应值。此外,该自适应G/R编码器和方法包括小数自适应,它根据G/R参数定义了经比例缩放的G/R参数,并更新和调整该经比例缩放的G/R参数来减慢自适应速率。

【技术实现步骤摘要】

本专利技术一般涉及数字数据的处理,尤其是使用具有新颖的后向自适应规则的Golomb/Rice编码进行整数数据的无损编码与解码的改进方法和系统。
技术介绍
随着计算机数据(诸如文本、音频、视频、图像和程序文件)的大小持续增长,数据压缩正变得越来越重要。数据压缩是一种将数字数据编码为比原始数据使用更少比特的经编码表示的方法。以较少比特表示数据意味着数据占据较少的存储空间并需要较小的传输带宽。通常,数据压缩通过预测最常出现的数据并将之以较少的空间存储来压缩数据。具体地,数据压缩涉及至少两个不同的任务(1)定义一数据模型来预测输入数据的概率;以及(2)用编码器从这些概率生成代码。此外,某些数据压缩技术在数学上变换并量化数据以达到甚至更大的压缩。压缩技术可以是无损或有损的。无损压缩技术是可逆的,从而编码前的原始数据和解码后的解压缩数据的每一比特都是相同的。有损压缩利用了数据中有很多可以扔掉的重复而在质量上有更多损失这一事实。有损压缩接受某些原始数据的损失以便得到更高的压缩。无损压缩一般用于压缩文本或二进制数据,而有损压缩一般用于音频、图像和视频数据。然而,即使有损压缩技术有时也使用无损压缩技术。例如,两种常用的压缩(或编码)技术是变换编码和预测编码。对于这些种类的压缩系统,原始数据经变换并随后被量化(舍入到最近的整数),或者根据(固定或自适应的)信号模型进行预测,且预测误差(原始和预测的数据之间的差异)随后被量化。在这两种情况下,经量化的数据是整数形式的。一旦获得这些整数,就要用无损压缩技术来编码经量化的值,以减少表示该数据所需要的比特数。这些整数值集合通常有相关联的概率分布函数(PDF)。这些PDF具有这样的分布当在预测编码中数据性质由预测者很好地模型化时,预测误差应在大多数时间接近于零。类似地,在变换编码中,大多数量化变换系数为零。图1示出对于这些整数值的典型概率分布;零是最可能的值,而非零值的概率随数量增加呈接近指数级下降。数据具有图1所示的概率分布,因为使用无损压缩编码的数据不是原始数据。图1是通过量化变换系数或预测误差所得的整数数据。从数学上讲,问题是要找出编码包含N个整数的向量x的有效解决方案。每个元素x(n),n=0,1,...,N-1,有一个按照类似于图1的概率分布的值,因而最可能值为零,而距零更远的值具有快速减少的概率。像图1中这样的概率分布的简单数学模型是拉普拉斯(Laplacian)分布,或者双边几何(TSG)分布,由参数θ特征化P(x,θ)=1-θ1+θθ|x|----(1)]]>注意,参数θ控制当|x|增长时概率的衰减速率。θ值越大,衰减越快。参数θ可直接相关于概率,当x=0时,即P(0,θ)=(1-θ)/(1+θ)。同样,源码元的期望绝对值是E=2θ1-θ2---(2)]]>源的熵按比特/码元给出,如下式H(x)=log2(1+θ1-θ)-2θ1-θ2log2(θ)-----(3)]]>因此,一个好的编码器应将x的N个值的向量映射到包含不多于N·H(x)个比特(理论最小值)的比特流。拉普拉斯分布是媒体压缩系统中的常用模型,用于预测编码器(如大多数无损音频和图像编码器)中的预测误差,或者用于量化变换系数(如大多数有损音频、图像和视频编码器)。对于具有拉普拉斯/TSG分布的源有多种建议的编码器。一个简单而有效的编码器是Golomb/Rice编码器。首先,通过以下简单的可逆映射将TSG源值x映射到非负值uu=Q(x)=2x,x≥0-2x-1,x<0------(4)]]>即,等效于将u视作重新排序的字母表的索引{0,-1,+1,-2,+2,...}。新源u具有接近几何源的概率分布,对它而言Golomb码是最优的,因为它们是几何源的Huffman码,只要适当地选择Golomb参数。Golomb/Rice(G/R)码的一个示例示于表1,示出参数m的几个值。应该注意,当m等于二的幂时,使用了参数k,它通过m=2k与m相关。G/R码优于Huffman码的主要优点在于对于任意输入值,二进制码字可通过简单的规则来计算。因此,不需要存储表。这对现代处理器特别有用,对它们而言,从存储表条目的存储位置读取可能比执行若干指令花更长时间。易于明白,参数m确定多少连续的码字具有相同的比特数。这也表明计算码字涉及计算u/m。其中u是输入值。对于大多数处理器,整数除法采用多次循环,因而G/R码对于一般的m并没有吸引力。当选择了对应于Rice码的m=2k,则除法u/m可用位移来代替,因为u/m=u>>k(其中>>表示右移运算符)。从而,对于任意输入u计算G/R码是容易的;只需计算p=u>>k和v=u-(p<<k)。随后通过将具有p个1的串与v的k位二进制表示串接来形成代码。 表1从表1中显而易见,G/R参数k的选择必须依赖于源的统计量。当u增加时,概率衰减得越慢,因此应选择更大的k。否则,码字长度增长过太。选择k的简单规则是对于给定输入值u的码字长度应接近于该值出现概率以2为底的对数。尽管G/R码对于几何分布源是最优的,但对于经由公式4的映射从拉普拉斯/TSG源编码码元并非最优。这是因为对于具有TSG分布的输入变量x,从公式4得到的变量u具有接近但不完全是几何的概率分布。实际上,性能足够接近于最优(例如,一般具有比熵少5%的速率),因此G/R码相当流行。TSG源的最优码包括一组四个代码变量,在大多数情况下,实现它们且按5%或更少来改进压缩更为复杂。因此,在大多数情况下,G/R编码器在性能和简便之间提供最佳折衷。在图1中,概率分布由单个参数表示,即指数衰减速率。衰减速率越快,则更可能是零值。这意味着在许多情况下零是很可能的,使得几个零连串变得非常可能。换言之,如果概率分布衰减速率足够快,则编码连串是个好方法。编码零连串意味着仅有几个比特用于处理输入数据中的许多项。例如,如果数据与预测编码中预测器所使用的模型相匹配,则预测误差更可能为零。但即使有了好模型,偶尔有个大值也是可能的。这会在到达边界时发生,诸如像素值从背景值到前景值。不时地会出现大数字。当这种现象发生时,比游程编码更有用的一种类型的编码技术被称为“游程Golomb/Rice(RLGR)”编码技术。一种这样的RLFT编码技术在美国专利第6,771,828号,Malvar的题为“System andMethod for Progressively Transform Coding Digital Data(用于渐进变换编码数字数据的系统和方法)”和美国专利第6,477,280号,Malvar的题为“Lossless AdaptiveEncoding of Finite Alphabet Data(有限字母数据的无损自适应编码)”中公开。事实上,随着数据源变化,概率将不保持常量而随时间变化。这对于例如图像和音频都是真实的。通常,这些输入数据中的概率变化可用本文档来自技高网...

【技术保护点】
一种用于处理数字数据的方法,其特征在于,包括:使用Golomb/Rice(G/R)参数编码所述数字数据的输入值以生成所述输入值的码字;在生成所述码字后使用具有自适应规则的后向自适应技术来更新G/R参数;以及对所述数字数据的每个值重复所述编码和更新。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:HS马尔瓦
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1