熵修正器及方法技术

技术编号:12529994 阅读:152 留言:0更新日期:2015-12-18 01:17
本发明专利技术提供了一种熵修正器(10、60),该熵修正器用于对具有第一熵的输入数据比特流进行编码或者解码,以生成相应的具有第二熵的经熵修正的输出数据,其中,该熵修正器用于处理输入数据比特流以控制彼此类似比特组和第一比特值,以及彼此类似比特组的一个或多个最大行程长度。可选地,该熵修正器(10、60)用于通过使用至少一个转义码来控制彼此类似比特组的一个或多个最大行程长度。

【技术实现步骤摘要】
【国外来华专利技术】熵修正器及方法
本专利技术涉及用于接收输入数据并生成相应的输出数据的熵修正器,例如为了数据压缩和/或数据解压缩的目的,相对于输入数据的熵,所述输出数据的熵被修正;该熵修正器可通过使用电子硬件和/或存储于机器可读数据存储介质上并可在计算硬件上执行的软件产品来实现。此外,本专利技术还涉及对输入数据的熵进行修正以生成相应的输出数据的方法,该输出数据具有相对于输入数据的熵有一定修正度的熵。更进一步地,本专利技术涉及记录于机器可读数据存储介质上的软件产品,其中,该软件产品可以在计算硬件上执行以执行上述方法。该熵修正器可以用作数据通信系统和数据供应系统的(例如媒体供应系统)的部件。
技术介绍
概括来说,在信息理论中,熵是随机变量的不确定性衡量度,与物理连续系统有关,例如,它用在热力学系统中,以及例如数据通信系统的信息系统中。此外,在数据通信系统的环境中,熵更恰当地是指香农熵(Shanonentropy);可以参阅特此纳入参考的ClaudeE.Shannon在1948年发表的科学论文“AMathematicalTheoryofCommunication(通信的数学理论)”,其中,香农熵用于量化包含在给定消息中的信息的期望值。更进一步地,香农熵可以以nats、bans、以及bits的方式表示。在给定的通信能够表示为独立同分布的随机变量的序列的前提下,香农熵提供了一种与所有通信的最佳可能的无损编码或压缩相关的绝对限制。此外,香农定理证明,对具有给定字母的给定消息进行编码的最短的可能表示的平均长度L为它们的熵E除以存在于字母中的符号数N的对数,如公式1(Eq.1)所限定:因此,熵E是信息内容的不可预知性的量度。在无损数据压缩方法中,对相应的输入数据应用该方法生成的压缩输出数据具有与输入数据类似的信息量,但与输入数据相比,输出数据包括更少的数据比特。因此,由于其中包含更少的信息冗余,压缩输出数据更不可预知。香农定理已经被现有多种数据编码装置的设计所考虑。例如,已公布的国际专利申请第WO2010/050157A1号(PCT/JP2009/005548,“Imageencodingapparatus,imageencodingmethod,andimageencodingprogram”,申请人是ThomsonLicensing),其中描述了一种图像编码设备、图像编码方法以及图像编码程序,能够用于使整个图像的图像质量均匀而不降低编码效率,同时保持高的速度,并且还能够通过在不改变像条(slice)结构的情况下执行宏块移动(macroblockshuffling)来降低电路规模尺寸。此外,还提供了一种图像编码装置,包括:(i)移动部分,其在图像中的各个位置收集和移动组成图像数据的多个宏块;(ii)编码部分,其对由该移动部分收集和移动的多个宏块执行空间频率转换和熵编码;以及(iii)比率控制部分,其控制编码部分在执行编码后调整多个宏块的比率。数据,无论何种类型的数据,均需要数据存储空间,并且在从一个空间位置移动至另一空间位置时,还需要通信网络容量中的带宽。这种带宽对应于现实中的基础设施的投资和能源的利用。由于人们预期要通信的数据量将增加,因此将需要更多的数据存储空间和更多的通信系统容量,以及通常将需要更多的能量。在目前的因特网中,存储了大量的数据,通常会有多份拷贝。因此,任何一种能够压缩数据的方法,尤其是当这种压缩是无损的,将具有潜在的巨大技术和经济上的效益。目前,已经有了若干种已知的用于降低数据集中的熵、压缩数据集的方法。此外,已经有了已知的修正存在于数据集中的熵的方法,例如德尔塔编码(Deltacoding)和行程长度编码(RLE),但是仍然需要提供对数据更有效的数据压缩的方法。因此,有许多不同的压缩方法,通过降低存在于给定数据中的熵,压缩给定数据,例如,上述的RLE编码、上述的VLC编码、哈夫曼编码、德尔塔编码、算术编码以及距离编码。这些方法通常被设计用于压缩字母、数字、字节和词。然而,这些方法并不是特别合适压缩独立的比特,并且由于这个原因,并不是理想地适用于压缩那些能够以一比特一比特(bit-by-bit)的方式变化的数据,例如,数据比特流。至于传统的RLE编码,要么存储的是给定值,即,比特(bit),要么两次存储该值,即,比特(bit),然后多个类似的值,即,比特(bits),以此类推。例如,RLE能够选择性地应用,即它的编码能够被保留专门用于对某些行程进行编码,这些行程包括已知数量的比特,用于一些类似值。RLE的这种选择性的应用需要在每个新的行程中,将同一个值一次或两次放入给定的数据流中。因此,现在需要更好的数据压缩手段,以降低数据集中的熵,不管数据是哪种类型。
技术实现思路
本专利技术的第一个目的是为提供一种改进的熵修正,例如提供改进的数据压缩。本专利技术的第二个目的是为提供一种改进的熵修正方法,例如提供改进的数据压缩。根据本专利技术的第一个方面,提供了一种熵修正器,用于以一比特一比持的方式对具有第一熵的输入数据比特流(D1)进行编码,以生成相应的经熵修正的输出数据(D2),该输出数据具有第二熵,其中(a)所述熵修正器(10)用于以一比特一比持的方式生成所述输出数据(D2),所述输出数据包括第一比特的信息,所述第一比特作为包括在所述输出数据(D2)中的在所述第一比特之后的数据的参考值;(b)所述输出数据(D2)进一步包括指示存在于所述输入数据比特(D1)中的彼此类似比特的行程长度的数据,其中,所述彼此类似比特的行程长度大小基本限制于不超过最大行程长度值(MaxRun);以及(c)通过包括在所述输出数据(D2)中的至少一个转义码来对在所述输入数据(D1)中基本超过最大行程长度值(MaxRun)的一个或多个行程长度的出现进行标示。本专利技术的优势在于对表示数据的行程长度的选择使用能够提供增强的熵修正,例如,增强的数据压缩。可选地,该熵修正器被实现以通过多个转义码来控制彼此类似比特组的一个或多个最大行程长度值(MaxRun)。采用的一类转义码的方案使用最大行程长度值和持续的类似比特量的指示。在该类方案中,所有的符号可以编码为一个数据流。另一类转义码使得利用多种独立于编码的符号的不同的方案成为可能,并且该类转义码表示大于最大行程长度值的持续的类似比特值量。该类方案能够作为两路单独的流进行处理,或者该方案能够被设计为表示数字的所有值均不大于最大行程,因此其也能够与相同的其他符号流一起编码。可选地,也可以采用其他转义方法。修正器(10)用于以数据值“0”的方式在所述输出数据(D2)中实现至少一个转义码。可选地,熵修正器用于通过使用最大行程长度来处理所述输入数据流(D1),所述使用的方式是最大行程长度值(MaxRun)作为输入数据比特流(D1)的特性的函数而动态变化。可选地,熵修正器用作数据预处理器,用于将输入数据(D1)格式化为输出数据(D2)以便在一个或多个编码装置中进行后续压缩以生成压缩数据(D3)。可选地,一个或多个编码装置包括下述一个或多个:ODelta编码器、RLE编码器、VLC编码器、哈夫曼编码器、德尔塔编码器、算术编码器、距离编码器。可选地,熵修正器用于将输入数据比特流(D1)处理为多个部分,该多个部分单独处理。更可选地,熵修正器用于本文档来自技高网
...

【技术保护点】
一种熵修正器(10),用于对具有第一熵的输入数据比特流(D1)进行编码,以生成相应的经熵修正的输出数据(D2),所述输出数据具有第二熵,其特征在于:(a)所述熵修正器(10)用于生成所述输出数据(D2),所述输出数据包括第一比特的信息,所述第一比特的信息作为包括在所述输出数据(D2)中的在所述第一比特之后的数据的参考值;(b)所述输出数据(D2)进一步包括指示存在于所述输入数据比特(D1)中的彼此类似比特的行程长度的数据,其中,所述彼此类似比特的行程长度大小基本限制于不超过最大行程长度值(MaxRun);以及(c)通过包括在所述输出数据(D2)中的至少一个转义码来对在所述输入数据(D1)中基本超过最大行程长度值的一个或多个行程长度的出现进行标示。

【技术特征摘要】
【国外来华专利技术】2013.03.01 GB 1303658.71.一种熵修正器(10),用于以一比特一比特的方式对具有第一熵的输入数据比特流(D1)进行编码,以生成相应的经熵修正的输出数据(D2),所述输出数据具有第二熵,其特征在于:(a)所述熵修正器(10)用于以一比特一比特的方式生成所述输出数据(D2),所述输出数据包括第一比特的信息,所述第一比特的信息作为包括在所述输出数据(D2)中的在所述第一比特之后的数据的参考值;(b)所述输出数据(D2)进一步包括指示存在于所述输入数据比特流(D1)中的彼此类似比特的行程长度的数据,其中,所述彼此类似比特的行程长度大小基本限制于不超过最大行程长度值(MaxRun);以及(c)通过包括在所述输出数据(D2)中的至少一个转义码来对在所述输入数据比特流(D1)中基本超过最大行程长度值(MaxRun)的一个或多个行程长度的出现进行标示,其中,所述熵修正器(10)用作数据预处理器,用于将所述输入数据比特流格式化为所述输出数据(D2)以便在一个或多个编码装置(20)中进行后续压缩以生成压缩数据(D3)。2.根据权利要求1所述的熵修正器(10),其特征在于,通过多个转义码来控制彼此类似比特组的一个或多个最大行程长度值(MaxRun)。3.根据权利要求1或2所述的熵修正器(10),其特征在于,所述熵修正器(10)用于以数据值“0”的方式在所述输出数据(D2)中实现至少一个转义码。4.根据权利要求1所述的熵修正器(10),其特征在于,所述熵修正器(10)用于通过以下方式采用所述最大行程长度值(MaxRun)来处理所述输入数据比特流(D1),所述方式是所述最大行程长度值(MaxRun)作为所述输入数据比特流(D1)的特性的函数而动态变化。5.根据权利要求1所述的熵修正器(10),其特征在于,所述一个或多个编码装置包括下述一个或多个:ODelta编码器、RLE编码器、VLC编码器、哈夫曼编码器、德尔塔编码器、算术编码器、距离编码器。6.根据权利要求1所述的熵修正器(10),其特征在于,所述熵修正器(10)用于将所述输入数据比特流(D1)处理为多个部分,所述多个部分单独处理。7.根据权利要求1所述的熵修正器(10),其特征在于,所述熵修正器(10)用于以时间上并行的方式,即,以并行执行的方式,处理所述多个部分。8.根据权利要求7所述的熵修正器(10),其特征在于,所述熵修正器(10)用于通过使用最大行程长度(MaxRun)来处理所述多个部分,一个或多个部分的最大行程长度(MaxRun)彼此不同。9.根据权利要求1所述的熵修正器(10),其特征在于,所述熵修正器(10)被实现为作为一个用于压缩输入数据(D1)从而生成经熵修正的输出数据的编码器来工作。10.根据权利要求1所述的熵修正器(10),其特征在于,所述熵修正器(10)可操作用于协助把输入数据(D1)的比特流转换为存在于经熵修正的输出数据之中的符号。11.根据权利要求1所述的熵修正器(10),其特征在于,所述熵修正器(10)包括计算硬件,其中,所述计算硬件用于执行一个或多个记录在机器可读数据存储介质上的软件产品,以处理所述输入数据比特流(D1)以生成所述输出数据(D2)。12.一种熵修正器(60),用于对具有第一熵的输入数据比特流(D3或D4)进行解码,以生成相应的经熵修正的输出数据(D5),所述输出数据具有第二熵,其特征在于:(a)所述熵修正器(60)用于通过使用输入数据(D3或D4)的第一比特的信息以一比特一比特的方式处理所述输入数据(D3或D4),所述第一比特的信息作为包括在所述输入数据(D3或D4)中的在所述第一比特之后的数据的参考值;(b)所述熵修正器(60)用于处理存在于所述输入数据(D3或D4)中的数据,所述数据用于指示存在于原始数据(D1)中的彼此类似比特的行程长度,其中,所述彼此类似比特的行程长度大小基本限制于不超过最大行程长度值(MaxRun);以及(c)所述熵修正器(60)用于检测在所述原始数据(D1)中基本超过最大行程长度值的一个或多个行程长度的出现,所述出现由包括在所述输入数据(D3或D4)中的至少一个转义码标示。13.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)用于通过使用至少一个转义码来处理多个彼此类似比特组的一个或多个最大行程长度值(MaxRun)。14.根据权利要求13所述的熵修正器(60),其特征在于,通过使用多个转义码来处理多个彼此类似比特组的一个或多个最大行程长度值(MaxRun)。15.根据权利要求12或13或14所述的熵修正器(60),其特征在于,在输入数据(D3或D4)之中至少一个转义码被实现为“0”值。16.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)用于通过以下方式使用所述最大行程长度值(MaxRun)来处理所述输入数据比特流(D3或D4),所述方式是所述最大行程长度值(MaxRun)作为所述输入数据比特流(D3或D4)的特性的函数而动态变化。17.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)用于在所述输入数据比特流(D3或D4)中独立于数据比特序列单独处理第一比特的值的信息。18.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)用于对存在于所述输入数据(D3或D4)中的数据元素进行解码,并应用逆熵修正以生成作为解码比特流的所述输出数据(D5)。19.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)用于将所述第一比特的值处理为相对于一个数据值序列单独编码,所述数据值序列表示持续的类似比特量。20.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)被利用于与一个或多个编码装置一起进行后处理,以处理所述输入数据比特流(D3或D4),其中,所述一个或多个编码装置包括下述一个或多个:ODelta编码器、RLE编码器、VLC编码器、哈夫曼编码器、德尔塔编码器、算术编码器、距离编码器。21.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)用于将输入数据比特流(D3或D4)处理为多个部分,所述多个部分被单独编码或解码。22.根据权利要求21所述的熵修正器(60),其特征在于,所述熵修正器(60)用于以时间上并行的方式,即,以并行执行的方式,处理所述多个部分。23.根据权利要求21所述的熵修正器(60),其特征在于,所述熵修正器(60)用于通过使用最大行程长度值(MaxRun)来处理所述多个部分,一个或多个部分的最大行程长度值(MaxRun)彼此不同。24.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)被实现为用作解码器以对输入数据(D3或D4)进行解码以生成经熵修正的输出数据(D5)。25.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)用于将存在于所述输入数据(D3或D4)中的符号转换为存在于所述输出数据(D5)中的比特串。26.根据权利要求12所述的熵修正器(60),其特征在于,所述熵修正器(60)包括计算硬件,其中,所述计算硬件用于执行一个或多个记录在机器可读数据存储介质上的软件产品,以处理所述输入数据比特流(D3或D4)以生成所述输出数据(D5)。27.一种使用熵修正器(10)以一比特一比特方式对具有第一熵的输入数据比特流(D1)进行编码以生成相应的具有第二熵的经...

【专利技术属性】
技术研发人员:奥西·卡雷沃
申请(专利权)人:古如罗技微系统公司
类型:发明
国别省市:芬兰;FI

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

1