CN1437738A - 数据发送和存储的有效且无损耗转换 - Google Patents

数据发送和存储的有效且无损耗转换 Download PDF

Info

Publication number
CN1437738A
CN1437738A CN00819272.3A CN00819272A CN1437738A CN 1437738 A CN1437738 A CN 1437738A CN 00819272 A CN00819272 A CN 00819272A CN 1437738 A CN1437738 A CN 1437738A
Authority
CN
China
Prior art keywords
conversion
message
digital value
behavior information
correlation behavior
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.)
Pending
Application number
CN00819272.3A
Other languages
English (en)
Inventor
C·埃弗里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Efeckta Technologies Corp
Original Assignee
Efeckta Technologies Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Efeckta Technologies Corp filed Critical Efeckta Technologies Corp
Publication of CN1437738A publication Critical patent/CN1437738A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种无损耗数据压缩的系统和方法。找到一种等于数据的内容值并取较少位的数学变换。

Description

数据发送和存储的有效且无损耗转换
本申请在35U.S.C.§119(e)条约下要求申请日为2000年1月3日,申请序列号为NO.60/174,305的美国专利申请优先权,该申请全部引入作为参考。
                      背景
发明领域
本发明涉及数据变换,尤其是涉及无损耗数据压缩。
发明背景
现存的压缩技术集中于查找和删除所输入的二进制数据的冗余。早期压缩方法集中于数据的格式化。这些格式方法利用行程长度编码(RLE)和各种频率变换方法。这些模式编码方法对ASCII特征码来说可以执行的很好,但对其他数据格式来说,从来不能达到压缩潜力。
压缩技术的发展是从信息理论,特别是克劳德香农关于信息熵的研究演变而来。此研究的大部分工作实际上是统计。Shannon-Fano和Huffman编码以符号在源数据中出现频率的降序建立符号概率树,使得“优秀”的可变大小的编码产生。这常称为熵编码。由于出现频率较多的二进制模式被分配以更短的编码,使得一条消息所需的总体平均位减少,所以压缩得以完成。
仅仅在模式的出现概率为2的负幂时,Shannon-Fano和Huffman编码是最优的。这些方法造成大量随着数据变化来优化概率树的自适应方案。
通过为这个数据指派一个(一般长度通常很长的)码,算术编码克服了2的负幂概率问题。这个方法一个符号接着一个符号的读取数据,并在每次认出更多的模式后向输出编码中追加位。
对更有效文本编码的需求导致字典编码的发展和演变,代表的有J.Ziv和A.Lempel发展的LZ系列算法。这些方法生成许多的变化。在这些方法中,字符串(字典)当他们被遇到时建立,然后编码作为标记。输出是指数和源数据的混合。
当用熵编码时,字典方法可以是静态的或自适应的。LZ系列使用不同的技术来优化字典和它的指数。这些技术包括:搜寻缓存器、预备缓存器、纪录缓存器、滑动窗口、散列表、指针和循环排列。这些技术用来减少很少使用的字典词条的膨胀。这些方法的普及归功于他们的简单、速度、合理压缩速率和低内存需求。
不同类型的信息趋向创造特殊二进制模式。冗余或熵压缩方法是直接依靠符号数据,且本文固有的模式可以被实现、变换和简化。结果就是,为不同类型的信号,不同方法必须被优化。压缩与模拟基础数据的方法一样有效。然而,结构的变换和简化是有限的。
基于冗余的方法论在应用和/或执行上是有限的。通常,在解决可有效去除的有限冗余的时候,熵编码不是折衷速度就是折衷压缩。具有代表性的是这些方法有非常低的压缩增益。基本优势是熵编码可以实现来保持无损耗。
有损压缩常应用于扩散数据例如代表话音数据、音频、图像和视频。有损压缩隐含不能被精确重构的数据。某些应用可以提供损失数据,这些损失数据是在压缩和重组过程中,由于人类在解释信息时听觉和视觉系统的局限性产生的。感性的编码技术被用来利用这些人类眼睛和耳朵的局限性。熵编码遵循感性编码模式,它使用以前讨论的技术之一,产生有效的压缩。然而,由于各自需求的不同,所以每类数据需要一个独特的模型(熵编码器)。此外,有时可注意到,从根本上说,这种压缩技术的损耗特性意味着损耗一些保真度的结果,并使得他们不适合许多目的。
从而,需要既无损耗又可有高压缩增益的压缩方法。
                      发明概要
本发明压缩二进制数据。将数据拆分成段。每个段有一个数字值。为每个段选择一种变换以及该变换的状态信息。变换与其状态信息的数字值等于段的数字值。将变换、状态信息和包开销打包在一个变换数据包中。该变换数据包的位长与段数据包的位长相当,段数据包包括原始段和任何需要的包开销。选择并存储或发送具有较小位长的包。如果需要的话,在接收数据或从存储器检索数据包后,从变换和状态信息重新计算每个段的数字值。将段复合以重构原始二进制数据。
                       附图概述
图1是压缩过程纵览流程图
图2是恢复过程纵览流程图
图3是压缩系统方框图和数据通过压缩系统的一般流程图解。
图4是预处理器流程图
图5是变换引擎流程图
图6是变换过程流程图
图7示出寻找一组有利状态数据,无需测试每组可能状态信息。
图8示出在段内的部分解。
                      较佳实施例的详细描述
图1是压缩过程100纵览流程图。初始输入102是二进制数据。任何一段二进制数据以二进制形式被简单表示成一个数字。从而,任何一段二进制数据有一个数字值。这个数字值是数据的“内容值”。
如果需要的话,输入二进制数据102被拆分104成段。输入二进制数据可以足够短以使它不能再拆分。每个段有一个内容值。每个段的内容值被识别,且为每个段选择和测试106变换以及适当状态信息。一般变换能够表示许多值。状态信息提供为变换指定精确值所必需的信息。术语“状态信息”包括任何变量、系数、余数或为变换设置特殊数字值所必需的任何其他信息。在某些实施例中,“包开销”是加入变换和状态信息中。包开销包括除变换和状态信息需要之外的任何信息,以允许后来重新计算原始段和重建原始输入二进制数据。
具有其状态信息的变换与相应段有同样的数字值。下列方程式表示了变换概念:
                    M=T(状态信息),
M是段的内容值,T是变换。变换是算术变换、逻辑变换或其他数学变换。
带自身状态信息和包开销的变换有表示效率增益(“REG”)。REG是测量变换、状态信息和任何包开销的效率的尺寸。REG定义为Log2M/Log2T的比率,Log2M是表示M所需要的二进制位的数目,Log2T是可解码地表示变换、状态信息和包开销所需的二进制位的数目。从而,假如REG值大于段1,变换加上状态信息和包开销比段占据更少的位。
例如,一个9位大小的消息能表示变换
Figure A0081927200161
,其中a、b和c每个是一个3位消息。在这个案例中, 是变换,a、b和c是每个变换的变量。a、b和c的值构成状态信息。为了形成表达式,其数字值等于段的内容值,变换和状态信息都是必须的。
用上述
Figure A0081927200163
例子,9位可以表示一个超过700,000十进制数长,相当于230万二进制位的整数。作为一个例子,这变换仅仅使用9位可以表示150,094,635,296,999,121内容值,或 。假如在二进制形式中传统的表示,这个数字将占据58位。因此,通过使用这种变换,9位信息传送58位内容值。58位数据段被大大的压缩。
每个变换和伴随的状态信息接着被打包108成数据包。数据包包括附加包开销,此包开销提供为允许后来解封和恢复包内容值的任何其他必要信息。包开销可以包括识别段、识别变换或任何其他必须信息的信息。数据包(代表性的携带)典型地比原始段更少的位来表示。因此段被压缩。
每个数据包被存储或发送110。因为数据包典型地比段较小,存储数据包比段占据较小的空间,且发送数据包比发送段花费更少的时间。
图2是恢复过程纵览流程图,其中原始数据被从数据包中恢复。假如数据包已经被发送,则接收数据包,或者假如已被存储,则从存储器中检索数据包为202。接下来,数据包编码被解码204,判定变换识别和如何使用状态信息恢复原始段。使用解码信息,原始段的内容值被重新计算出来206。最后,所有已验算段又被按照他们原始顺序放在一起,以重建208原始输入二进制数据。因此,恢复过程200的输出201是标识压缩过程的输入102。
系统纵览
图3是压缩系统300方框图和数据通过压缩系统300的一般流程图解。压缩系统300执行图1和图2的过程。贯穿压缩系统300的流程是由被压缩的二进制字符串302的输入开始。
作为处理控制器,控制程序306服务于所有系统300功能。一个控制程序306监控压缩系统300其他组成部分和跟踪所有涉及输入二进制字符串整个处理过程的信息。根据时间、试验或其他参数,控制程序306也与终接任何过程相互作用。
预处理器304获取输入二进制字符串302,并拆分二进制字符串302成段。每个段的长度适合于所给的数据类型、适合使用的变换、处理器容量和应用参数。在某些情况下,为了将段更有利的变化给变换引擎308,预处理器304也变异段。
变换引擎308接收来自预处理器304的段,并计算变换和状态信息的排列,每个排列等同于段的内容值。每个排列的长度被分析,包括相关的包开销,且变换、状态信息和包开销最有效的结合被选择。假如排列显示没有数据压缩,则段被作为未处理数据不修改地送往打包器310。
打包器310接收变换引擎308的输出。对于每个段,打包器接收来自控制程序306的所有有关段如何被变换的信息,包括状态信息。来自变换、状态信息和其他相关信息,打包器310产生一个数据包。从而,数据包包括变换、状态信息和包开销信息,这些合起来允许后来的数据包解码。
在这一点,输入二进制字符串302被分段、变换和打包到数据包中。合起来数据包比原始输入二进制字符串302较小。通过已建立的存储器和发送协议312,这些数据不是被存储,就是被发送。因为数据包比原始输入二进制字符串小,所以他们具有占据更少的存储空间,且发送速度比原始二进制数据更快的优点。
假如数据包被发送,则解包器314接收数据包,或假如数据包被存储,则从存储器中检索数据包。解包器314解释包开销指令,通过使用解码器316来拆开数据包组成和相关信息,并拆开任何未修改数据作为未处理数据段。
解码器316接收来自解包器314的解封装信息,并重新计算原始段的内容值。解码器316应用状态信息到合适的变换来重新计算段的内容值。假如数据被变异,对所给的段来说过程颠倒,来恢复段的原始形式。
重组器318接收来自解码器316的段,并按次序级联端来重新组成原始二进制字符串。基于应用参数,可以作为应用需要的整个文件或通量。重组器然后输出二进制字符串320。重组器输出的二进制字符串320是等同于输入二进制字符串。从而,压缩系统300提供了无损耗压缩。
控制程序
控制程序306跟踪数据,这些数据涉及每个数据段和段变换,以及关于预处理器304与变换引擎308的信息和所有其它压缩系统300功能。这信息可以包括,但不局限于:
1、每段的标识,包括提供原始输入二进制字符串中段位置的信息。
2、每段的尺寸
3、每段的数据类型
4、变换引擎308的计算能力
5、解码器316的计算能力
6、应用程序要求,如实时流式发送应用程序的时间约束
7、数据类型要求
8、段是否已被变异,对段作变异用的技术
9、预处理器304花在段上的时间
10、预处理器304花在段上的计算周期
11、变换引擎308花在段上的时间
12、变换引擎308花在段上的计算周期
13、用于段的变换标识或变换
14、用于选择状态信息变量的任何最优组合搜索
15、涉及任何启发式的跟踪信息
16、成功的变换
17、成功变换的状态信息
18、变换位长的基准值和成功变换的相关状态信息
19、成功变换的相关数据包开销的位长
20、部分解变换
21、部分解的状态信息(包括偏移)
22、变换参考的位长和部分解的相关状态信息
23、部分解用的变换的包开销的位长
24、使用的有限状态机器
25、有限状态机器信息,如参考数据和有限状态机器树数据
26、de Bruijn序列开始点和指数对数
27、三维图像树轨迹信息
28、N-空间曲线数据
29、使用的“BOTS”
30、BOTS信息,如BOTS的内容值位置和从BOTS到段内容值的增值
过程监控器(未显示)是控制程序306的主要子部分。过程监控器监控预处理器304和变换引擎308。过程监控器有制约监控预处理器304和变换引擎308的参数。这些制约参数可以包括目标REG、过程所花的时间、用于处理过程所花的计算周期值或其他参数。目标REG是一个十分高的REG值,以至于当携带目标REG的变换、状态信息和包开销组合被找到时,压缩系统300停止搜索更高的REG变换。过程所花时间和过程所花计算周期的制约参数确保压缩系统300不会花费不确定数量的时间和资源去搜索变换和状态信息的最好组合。参数是预置或由控制程序306改变的。假如数据类型改变,假如计算资源改变,假如应用改变,则参数被改变。或被人类或被其他外界干预。
假如预处理器304或变换引擎308超过制约参数,过程监控器发信号给控制程序306以终止预处理器304或变换引擎308运行。当预处理器304运行被终止,二进制字符串被拆分成段。段的长度是由预处理器304决定的迄今最适宜长度的最近似值。当变换引擎308运行被终止,变换引擎308将输出当前最好变换和状态信息,或假如没有变换压缩数据,发送段作为未处理数据。
预处理器
图4是预处理器304的流程图。首先,预处理器304分析二进制字符串302的数据类型400。在分析数据类型中,预处理器304试图识别或表征二进制字符串302的数据类型。数据类型用于帮助确定段尺寸、变换和变幻的状态信息,这些将用于测试和变换二进制字符串。预处理器304通过了解产生二进制字符串302的应用或分析数据本身,来表征二进制字符串302。分析数据以确定数据类型的一种方法是比较二进制字符串302和现存数据类型数据库。为产生这样的数据库的方法是通过由已知数据应用产生的采样信息构成。
假如预处理器304表征二进制字符串302,控制程序306存储与此字符串相关的数据类型。假如预处理器304不能表征二进制字符串302,控制程序306保持此二进制字符串的302数据类型未知的纪录。
预处理器304接下来确定402,输入二进制字符串的302的尺寸是否大于最小优化处理块的尺寸。不同数据类型的最小优化处理尺寸不同。控制程序306存储每个与相应数据类型相关的已知最小优化处理尺寸。假如预处理器304已经表征数据类型,且此数据类型的最小优化处理尺寸已知,则预处理器304简单比较输入二进制字符串的302和存储的最小优化处理尺寸即可。
假如数据类型未知,或数据类型最佳尺寸未知,则二进制字符串的302拆分404成段,此段的尺寸在先前许多个据类型工作良好。替换地,二进制字符串的302被初始的拆分404成不同位长的段。当这些不同位长的段被压缩系统300处理时,控制程序306保持此段尺寸是最容易处理的纪录。通过尝试不同的尺寸和工作最佳尺寸的轨迹,控制程序306建立每个数据类型最优处理尺寸的纪录,以至数据类型的最优处理尺寸变得已知。假如控制程序306发展一个数据类型最优处理尺寸的纪录,则段尺寸可以被结合给将来使用。
假如输入二进制字符串的302大于最小优化处理块尺寸,则二进制字符串的302被拆分404成段。段的位长是由几个因素确定。
变换引擎308的计算能力影响段的位长。假如变换引擎308拥有小的可用计算能力,段必须比假如变换引擎308拥有大量计算能力更短。同样,假如解码器316的计算能力已知,它将影响段的位长。解码器316拥有越大的计算能力,段就可以有越大的位长。
使用压缩系统300的应用程序也影响段的位长。例如,诸如视频会议,要求人类可察觉的实时编码、要求位长比脱机归档的段位长更短的段。在脱机归档时,更大的段可以在更长的时间帧和更多的处理周期中被变换和编码。
数据类型也影响段的位长。例如,音频数据比ASCII数据可以更适宜于不同的段尺寸。涉及数据类型的另一个因素是对数据类型使用什么变换。对特殊数据类型使用的变换带特别的段长度,可以执行得更好。控制程序306监视变换引擎308,并存储带特别数据类型工作良好的变换、段尺寸在这些变换是良好的,以及段尺寸可以被结合将来使用。从而,当预处理器304成功表征数据类型时,控制程序306能够检索信息作为段的最优位长。
假如输入二进制字符串302等于或小于最小优化处理块尺寸,则二进制字符串302作为单个段看待。每个段,无论它是拆分二进制字符串302的一部分,还是整个二进制字符串,在压缩系统300的整个余下部分都被同样对待。
段尺寸是输出406到控制程序306。控制程序306存储段尺寸,并使用它来比较变换可能组合的尺寸、状态信息和包开销。
控制程序306给每个段指定特殊指示信息,以使原始二进制数据在后来可以被重组,并根据指示信息、相关数据类型、处理监视设置和任何其他的相关数据来跟踪每个段。
接下来,每个段被变异408。假如控制程序306已经存储信息,此信息指示先前数据类型和段尺寸的变异段导致成功变换,或数据类型和段尺寸的未变异段没有导致成功变换,则段被变异408。假如控制程序306没有信息存储来指示变异段将导致成功变换,则段不被变异。然而,假如没有找到对未变异段的成功变换,接着段可以从变换引擎308回到412来被变异。
预处理器304通过创建不同型式的段对段作变异408,给变换引擎308提供相同段的更多排列。通过提供相同段的更多排列,增加找到有效变换的可能性。变换引擎308失败于产生有效变换412的一些段也回到预处理器304和变异408。
通过监视和存储信息,此信息是对数据类型和段尺寸回到预处理器304来被变异408,控制程序306获得数据类型和段尺寸应该被初始变异的信息。此外,通过监视变异段穿过压缩系统300,控制程序306获得变异导致成功变换的信息。这个信息可以被重新结合到控制程序。
有几种方法来变异段。假如控制程序306存储有变异技术已导致成功变换的纪录,则变异技术被使用。假如控制程序306没有存储这样的纪录,则变异技术通过穿过已存储可能变异库步骤来选择。
在第一变异技术中,调节段的位长。这包括不同的拆分一组段。通过这样做,预处理器306发送不同的内容值给变换引擎308来处理。另一个技术是“切缓和重排”数据。使用前面定义的重排库。重排指数包括作为包开销的一部分。而另一个技术是寻找段的补充和发送补充给变换引擎308。在另一个技术中,段的位被移位或转动。当被移位或转动时,移位或转动的位的方向和数字被作为包开销的一部分发送。通过算术(换算)或逻辑(异运算)操作来修改段。在可替换技术中,其他传统压缩被用于改变段的内容值。
控制程序306跟踪变异段,和变异段如何被变异。此信息提供给打包器310以使打包器310可以增加相关适用的包开销码。这些码指示数据作为变异数据,且数据如何被变异。
接下来被变异的或没有变异的段输出410到变换引擎308。
变换引擎
图5是变换引擎308的流程图。通过预处理器304输出的段输入410到变换引擎308。段被送到作为可用和数据资源允许的许多变换处理502。通过变换处理502串联或并联来处理段。
每个变换处理502提供另一个变换(或变换组)适用表示段内容值。变换引擎308有多个变换处理502适用它,因为单个变换不能适合每个输入段的内容值。这可从学习前面讨论的9位尺寸变换 例子中看出,其中每个a、b和c是3位的信息。使用这个变换,超过700,000十进制数据长的整数内容值可以被仅仅使用9位发送。假如传统表示,这样的数字占据超过230万位。当这个变换提供9位的能力来发送230万位数字,9位仍仅仅有能力发送少于512种不同信息,相应512种不同内容值。从而,0和
Figure A0081927200222
之间存在变换 不能表示的有效数字值。
一般,算术变换包括余数R,以至先前检验的
Figure A0081927200224
变换变成
Figure A0081927200225
+R。选择好a、b和c的值后,变换设为等于内容值和解余数。这允许变换表示任何内容值。然而,在很多情况余数R是一个很大的数字,要求许多位来表示。这导致段很小或没有压缩。通过提供多种不同变换处理502,变换引擎308大大增加了找到没有余数或余数足够小以至达到压缩REG的变换的机会。
此外,找到了允许混合解的拥有多种变换处理502。在混合解中,使用一个以上的变换。例如,一个变换有能力表示从零到一个非常大的整数这一大范围的内容值。然而,这变换不使用余数拥有低的间隔尺度。为了使变换能表示大多个的内容值,则要求许多位表示的大余数是必需的。使用第二变换来表示余数,替代使用大余数。第二变换有能力表示值的范围比第一变换较小,但有更好的间隔尺度和典型较小的余数。在一个实施例中,来自一个变换处理过程502的余数被输入另一个变换处理过程502。变换处理过程502对待输入的余数与它对待其他任何段一样。因此,由多种带小余数的变换组成的混合解,替代有大余数的变换。
变换处理过程502每个测试段的变换解。一个变换解是结合特殊状态信息的变换。变换处理过程502继续测试状态信息的、变换和包开销,直到达到目标REG或达到时间、数字或试验或其他约束限度。处理过程监控器监控变换处理过程502,以确定是否达到目标REG、处理所费时间、计算周期数字或其他约束限度。达到约束限度,处理监控器停止变换处理过程502。
控制程序306选择504,变换、状态信息和包开销的最佳组合。这些均被变换处理过程502测试过。为选择最佳组合,控制程序306测量每个变换、状态信息和相关包开销的位长。要求最小位长来表示变换、状态信息和相关包开销的排列是最佳排列。
控制程序306也继续跟踪以测试的排列。在这时,变换、状态信息和开销的组合,对于单个段来说不是最佳组合,但假如应用于仅在一个包中发送一般信息,并隐含在剩余中的多种段,则是最佳组合。控制程序306监视这样的组合,假如它们发生,则这个组合是最佳排列。
比较变换、状态信息和开销最佳组合的位长506和原始段406及相关用于标志原始段的包开销的位长。假如变换、状态信息和相关开销最佳组合的位长比原始段406及相关用于标志原始段的包代码的位长短,则变换和状态信息被输出510。否则,原始段被输出508。
变换过程
图6是变化过程502的流程图,显示变化过程502如何测试段变换和状态信息的组合。由预处理器304输出的段被输入410到变换过程502。
变化过程502选择602变换(或变换组)来测试。变化过程502有能力应用许多不同变换。变化过程502使用的变换被存储在变换数据库里。基于数据段的尺寸、数据类型、预处理的执行和控制程序306为段跟踪的其他因素,从变换数据库中选择一个或更多变换。假如控制程序306有存储一个纪录,说明在同样或相关因素下,变换已导致对段的成功压缩,则选择该变换。假如控制程序306没有这样的纪录,则基于数据类型或其他启发式,通过变换数据库逐步选择变换。然后控制程序306存储证实成功的变换,以发展一个在同样或相关因素下,变换已导致对段成功压缩的纪录。这些信息被重新组合到控制程序中。
假如变换过程502选择602多种变换,变换处理器可以使用混合解,部分解或其他变换组合。混合结局方法使用变换的附加频率来表示段的内容值。部分解使用相同或不同变换来表示一个段的不同部分。
在混合解中,组合多个变换来表示内容值。所有可能内容值的有效覆盖范围,使用单个变换难于达到。例如,如上所讨论的变换可以导致大余数和小压缩。替代的是,组合变换来在变换内容值的组合上创造一个有效附加频率,该变换伴是状态信息值范围通过不同组变换来填充左边间隙。例如,内容值M1,用如下解决:M1=(变换1)γs1+(变换2)γs2+(变换3)γs3+…+(变换n)γsn(在此γs是该变换的变量组)。同样,对第二内容值M2,M2=(变换1)γs4+(变换2)γs5+(变换3)γs6+…+(变换n)γsn和第三内容值,M3=(变换1)γs7+(变换2)γs8+(变换3)γs9+…+(变换n)γsn
使用多种变换的另一种方法是部分解。在部分解中,替代全变换,变换过程502为段的部分选择变换。为选择部分变换,找到形式三元组(开始、结尾和压缩长度)的选择H,其表示变换提供压缩的已知位串。已知位串是拥有变换等于为已知组合状态信息的内容值的位串。变换过程502找到这些三元组的组合是最小总长度加段未覆盖部分的长度。
特别是,段是长度为n的位串M。控制程序306提供变换过程502一个目标REGB,和正确解的有限选择H。每个正确解是一个三元组h=(i(h),j(h),c(h)),在此1≤i(h)<j(h)≤n是已知位串的开始和结尾。而c(h)是它描述的长度。变换过程502选择一个已给正确方法的子集SH,以使它的累计长度(对无叠加部分解)遵守: x = Σ h [ c ( h ) + l ( i ( h ) ) - ( j ( h ) - i ( h ) ]
此处l(I(h))是表达i(h)所需的位数目。部分解可以发生在段的任何地方。变换和相关状态信息的高效率组合在段中被上上下下地测试以搜寻部分段的最佳配对。对段来说可以找到变换和相关状态信息的多种配对。每个变换和相关状态信息的组合表示段的部分。变换的位长、每个所选变换的状态信息和段的原始数据部分一起的和加上包开销,为原始段提供压缩。
选择变换或变换组后,变换的状态信息被选择604。在某个实施例中,数字技术用于辅助选择适当状态信息。这些数字技术包括牛顿方法、二等分、正割方法和其他用于寻找等式根的数字技术。提供例子 +R算术变换表示状态信息的选择。在这变换中,变量a、b、c和R构成状态信息。变换过程502选择a、b和c的值。变换过程502使用几个数字技术中的一个来选择值。然后,解出余数R,以使R和变换的剩余部分之和等于内容值M。因此,伴随算术变换,变换过程502可以为除了R外的所有变量选择任何值,R的结果可使有它的状态信息的变换值恒等于段的内容值。
选好状态信息后,有所选状态信息的变换被测试608。在测试中,根据将用于最终包中的所有状态信息和相关包开销,控制程序306确定表示变换所必需的位长。假如位长比REG目标位长短,或者假如位长比其他已经测试过的变换、状态信息和包开销组合的位长短,则变换、状态信息和包开销作为可能最佳变换排列被存储和标记。
接下来,过程监控器确定约束限度是否到达610。约束包括试凑的次数、用于试凑的时间、计算周期的数字、目标REG或其他约束。假如达到约束限度,如目标RE6达到或达到处理的时间限度,过程监控器停止614变换过程502。在这一点,在该变换过程502中已经测试过的变换、状态信息和包开销的最佳组合被输出,所以从所有变换处理过程502中选出最佳变换排列504。
假如约束变换没有达到,变换过程502确定612段是否应该被异化。对于变换的多种这组状态信息被测试后,假如控制程序306确定已测试的变换、状态信息和包开销排列608的位长太大,则段将返回412到预处理器304。在预处理器304中,段被异化,然后发送回变换引擎308。否则,变换过程502将选择604另一组状态信息来测试。
因此,变换过程502包括一个循环,用于测试有不同状态信息的变换的排列。假如控制程序306确定变换不是导致所需的位长数据包,循环暂停且段被变异。当达到约束限度,循环暂停且找到变换、状态信息和包开销的最佳组合,输出此点。
变换
接下来描述用于变换过程502的几种不同变换。当接下来变换的列表是冗长的,则其是没有方法完成。变换过程502有能力使用许多变换,包括标准数学,在文献中有描述,如Herbert Dwight’s、积分和其他数学数据列表、MiltonAbtamowitz’s和IreneStegun’s、数学函数手册、Alan Jeffery’s、数学公式和积分手册以及N.J.A.Sloane’s和Simon Plouffe’s、积分频率百科全书。
许多变换自然分为算术变换等级。这些算术变换包括但不局限于:
指数因素:指数因素带的通常形式T(x)=xn+R。对于内容值M,变换过程502确定变换变量x、n和R的值。变换变量构成变换的状态信息。例如,假如一个64位数据段M=3E1386BE784F35116遵循变换,然后设置M等于扩展M=xn+R。变换过程502选择变换变量x和n和R结果的值。例如,选择n=1516和x=1116,结果R=0。因为M=T(x),段可以由变换和状态信息x、n和R的标识表示。
变换过程502同样选择除了余数R以外的变量值,然后在其他算术变换系列列表下计算出余数R。
幂级数:幂级数形式T(x)=(a+x)n+R,带变换变量x、a、n和R。扩展到第四级循环x=0,序列变为
T(x)=an+nan-1x+(n-1)an-2x2+n(n-1)(n-2)an-3x3+n(n-1)(n-2)(n-3)an-4x4+R
多项式:另-个变换级数是多项式。带变换变量a、b、c、d、x、y和R的抽样多项式是:
T(x)=ax5y3+bx4y2+cx3y+R
几何级数:几何级数是另外一个变换序列。例如, T ( x ) = Σ n = 1 m ax n + R , 带变换变量x、m、a和R。整数级数:整数级数提供额外变换。一个整数级数例子: T ( x ) = Σ i = 0 n ( a i + x ) x + R ,带变换变量x、n、ai和R。
三角函数:三角变换序列也有能力产生外加结果。带变换变量x和R的三角变换例子是: T ( x ) = Sin ( x ) x 2 + R , 贝塞尔函数:贝塞尔函数序列也是可接收的变换。例如, T ( x ) = Σ i = 0 n x n ( n ! ) 2 + R ,带变换变量x和R。渐进级数:渐进级数也有能力产生可测量可表示的有效增益。例如: T ( x ) = 1 + 1 x + 1 2 ( 1 x ) 2 + 1 6 ( 1 x ) 3 + R ,带变换变量x和R。
其他变换过程502可以使用的变换包括:无限发生、连分数、丢番图方程、Mobins函数、代数曲线、积分变换、逆循环(三角)函数、球三角函数、对数函数、双曲函数、正交多项式、多对数、勒让德函数、椭圆形积分、序列变换(Z-变换)和马尔可夫链。
另一个基础级变换是逻辑。逻辑变换与算数变换相似。使用逻辑或布尔构建(即AND(与),OR(或),NOT(非))替代算术操作,在表示使用比段更少位的解中,描述内容值。逻辑变换案例包括但不局限于,使用析取范式(“DNF”)或使用有限状态机器(有时称为有限状态自动机或“FSA”)。DNF:每个有限布尔代数B与{0,1}M同构,对某些正整数M使
Figure A0081927200271
位算符。对n布尔变量的公式或表达式驱动函数是函数f:Bn→B,其中表达式完全且唯一的确定f的动作。DNF逻辑变换使用布尔操作(AND·,OR+和NOT~)和一组对打包器310和解码器316的已知前置指定布尔基字符串。可替代的是,使用的基字符串,它对解码器来说不是初始知道的,但是一旦包中被送往解码器,并使用许多后续数据包。
每个公式驱动函数是完全由它对布尔变量的动作确定。例如,假如n=3布尔变量,输入2n或8(即23),对3变量有28或256这样的公式。DNF是标准或规范方法,通过确定标准函数项的系数来表示这些256公式。系数为0或1来指示项的存在和缺席。n=3的标准DNF表达式为:
f(x1,x2,x3)=c1(x1·x2·x3)+c2(x1·x2·~x3)+c3(x1·~x2·x3)+c4(x1·~x2·~x3)+
      c5(~x1·x2·x3)+c6(~x1·x2·~x3)+c7(~x1·~x2·x3)+c8(~x1·~x2·~x3)
因此,对任意的8位二进制字符串11110100,标准DNF表达式是:
f(x1,x2,x3)=1(x1·x2·x3)+1(x1·x2·~x3)+1(x1·~x2·x3)+1(x1·~x2·~x3)+
      0(~x1·x2·x3)+1(~x1·x2·~x3)+0(~x1·~x2·x3)+0(~x1·~x2·~x3)
此处8系数的序列(对DNF每个项的一个)刚好是需表示的二进制字符串的位值。从此以后,由于序列刚好是需表示的二进制字符串的位值,256特殊8位串中的每个可以由256不同标准DNF函数中的一个来唯一表示。
尽管对已给位串仅有一个DNF函数,但有许多不同方法来表示这函数已知标准基字符串的项。使用先前例子,标准DNF函数是:
f(x1,x2,x3)=1(x1·x2·x3)+1(x1·x2·~x3)+1(x1·~x2·x3)+1(x1·~x2·~x3)
                 +1(~x1·x2·~x3)
也可以表示成:
f(x1,x2,x3)=(x1·x2)+(x1·~x2·x3)+(x1·~x2·~x3)+(~x1·x2·~x3)
也可以表示成:
f(x1,x2,x3)=(x1·x2)+(x1·~x2)+(~x1·x2·~x3)
以下是一组抽样基字符串的例子
BS0=AAAAAAAAAAAAAAAA16
BS1=CCCCCCCCCCCCCCCC16
BS2=F0F0F0F0F0F0F0F016
BS3=FF00FF00FF00FF0016
BS4=FFFF0000FFFF000016,和
BS5=FFFFFFFF0000000016
例如,内容值M=776655443322110016的段,服从使用DNF和抽样基字符串变换。以下是对此等效于M变换的次最优解:
M=(((~BS5·BS3·~BS1)+(BS5·~BS3·BS1)+(BS5·BS3·~BS1)+
(BS5·BS3·BS1))·((~BS5·~BS0)+(BS5·BS0)))+(((~BS5·BS4)
+(BS5·BS4))·((~BS1·BS0)))
在以上解中,等效于M表达式仅仅依靠三个基字符串,而不是所有六个基字符串。
有限状态机器/自动机:FSA是带有与段相关的许多固定状态的状态机器。每个状态可执行每个动作。动作通常更基于数据输入。输入可导致某些数据输出and/or过渡到新的状态。
段的内容值是输入到FSA和作为FSA遍历内容值建立的树。树发送到打包器310。解码器316简单跟踪树以恢复内容值。变换过程502和解码器316都不得不通过发送接入FSA或在任一终端接入FSA数据库。
另外三个变换例子,变换过程502可以使用de Bruijn序列、三维图形树和在N-空间间隔中的相交曲线。
de Bruijn序列是一个二进制序列,其中可找到每个可能字符串。起始点被发送,然后为重建信息,从序列中抽出log2M。由于这是个非常长的序列,且解码所需开销的log2可达到原始段的log2,所以变换常导致小或没有效率增益。
在开始点和通过三维图形树跟踪的路径中,使用三维图形树类似于deBruijn序列,产生每个可能位组合。如伴随de Bruijn序列,可达到段尺寸的解,导致小或没有效率增益。
第三,通过表示段的内容值作为在N-空间间隔中的几何物体(此处N小于数据段的长度),表示在此空间曲线的公式是适合于此物体。由于曲线可能又通过曲线重心指定内容值,故曲线不一定遍历。假如需要,曲线增量可用于N-空间目标中更有效的目标内容值点。
状态信息选择技术
有多种技术来选择604变量值或变换的其他状态信息。虽然不是总是,但是算术变换选取变量比逻辑或其他变换选取变量值更为通常地使用不同的技术。通常选择用于选择算术变换变量的技术,包括下面的技术。
第一选择方法是简单尝试一个随机产生的变量值,保持尝试不同变量值,直到找到导致伴随所需压缩的变换和状态信息的变量值。这花费相当多的时间。
替代的方法,所有从已给算术变换的每个可能组变量值(除余数)得出的内容值可进行预计算,并存储在数据库中。然后,内容值与数据库比较,检索出适当的变量值。预计算这些内容值排列大大增加了变换过程502的速度,但花费了存储器的项目。通过仅存储每隔第10、第100、第1000等等变量值组,存储器要求可以降低,且仍然提供变换过程502应该测试的近似变量值。
通过连接变量值排列支路到必然邻域,可以用于降低尝试不同变量值的时间。此处先前尝试显示了通过预处理器304确定应用数据类型特征后,成功变换方法的最高似然。图7说明没有测试每一个可能变量值而找到一组变量值。这样的方法是有需求的,因为测试每个可能的变量值组合花费大量禁止的时间或计算周期。
从特殊数据类型的先前处理,控制程序306存储倾向于导致成功数据段压缩的变量值。这些成功变量值为变量值的序列选择规定一个“允许的邻域”。允许的邻域是一个变量值范围。当选择变量值时,变换过程502挑选允许邻域中的起始点。变换过程502随机挑选起始点,或基于先前成功值。在图7显示的例子中,挑选了变换、状态信息和包信息排列的n典型位长的7个起始点,A、B、C、D、F、G和H。在其他实施例中选择更少或更多起始点。在图7的例子中,最多起始点是实际扩展变量组,它导致内容值的典型位长大于原始段406典型的位长。
变换过程502使用最优算法来迭代的测试作为状态信息的不同变量值组。对每个起始点,变换过程502选择变量值一个点对在允许邻域中起始点的左边,一个点对在允许邻域中起始点的右边(即实际一个更高一个更低)。控制程序306比较表示每个变换、状态信息和包开销所需的位长和用较小或更长位长表示变量值的跟踪。变换过程502选择带最小位长典型的一组变量值作为新起始点。因此,变换过程502所选变量值达到本地最优。变换过程502重复此过程直到它达到点仅从最近选择变为更少典型效率。这些点是本地最优,由点A′、B′、C′、D′、F′、G′和H′表示。如上述所讨论的,变换过程502或变换引擎308然后从这组群中选择最佳点。
尽管E′在允许邻域中是全局最优,但是因为起始点E(或任何点选择E′)从没检测,所以从没找到它。在这种情况,为避免在允许邻域中穷举测试每个和每组变量值,牺牲全局最优。此外,尽管E′是比C′更好的变量组,但过程监控器一旦找到匹配目标REG的变换、状态信息和包开销组合,可设置终端处理过程。另外,从图7出现的它从C到C′花费的处理周期比H到H′花费的更少。
当使用部分解时应用特殊策略。如以上所讨论的,对部分解,变换过程502选择已给正确解的子集SH,以使它累计长度遵守(对未重叠部分解): x = Σ h [ c ( h ) + l ( i ( h ) ) - j ( h ) - i ( h ) ]
此处l(I(h))是表达i(h)所需的位数。变换过程502使用叫动态程序的技术,特别是一个量值动态程序来解决这个。在这个技术中,首先由增加了长度的字符子串解决了一个必须由字符串解决的问题,每一个字符串中的问题也由参照其字符子串的方法而相应解决。如伴随许多最优问题,这成为一个智能“转移和限度”策略问题。这个策略达到一个解,没有穷局搜索全局最优,可能是次最优。
图8说明段内的部分解。部分解发生在段内的任何地方。测试上下段的变换和状态信息的最高效率组合,使用动态程序技术搜寻最佳匹配。匹配发生的地方,产生偏移指针来测量它涉及字符串的开始或结尾或度其他部分解的位置。产生部分解匹配804、806和808。在匹配804和806中来看,匹配中的一些彼此重叠,略略降低整机效率增益。最后,有一区域没有匹配810,且位作为原始数据简单发送。
偏移用于指示段内带内容值存在的变换排列的好匹配。当确定压缩是否达到时,偏移的典型(和相关余数)成为与段406位长尺寸比较的测量总和的部分。
组合化最佳启发式的应用也可以辅助减少寻找状态信息所需时间,这导致成功压缩率。这些启发式包括(但不局限于):
1、爬山法;
2、“渴望”爬山法;
3、T禁忌搜索;
4、模拟退火;
5、人工神经网络应用;
6、波尔兹曼机的应用;
7、调优算法的应用;和
8、遗传算法/遗传程序的应用
任何这些启发式应用可能导致一个不是全局最优的位长解,全局最优是从变换的每个和每组可能变量值的位长的测量中得出的。然而,解可接受的是可利用的变换引擎308的计算能力、处理监视器设置的时间或试约束和任何反射特殊应用需求的所需目标效率增益。
应用的启发式不仅影响待测试、计算和测量的不同这组状态信息的数目,而且影响在由启发式所瞄准的状态信息排列邻域中的搜寻策略的效率。不同数据类型特征让自己不同启发式应用以瞄准段的内容值。通过预处理器304对数据类型的分析获得的信息和通过控制程序306跟踪的信息,变换过程502确定是否和如何应用组合的最佳启发式。
为变换寻找解的另一个方法是使用智能代理(“BOTS”)。通过参考先前段变换的结果,BOTS处理利用段组群的相似特征。分析变换引擎308的输出来为BOTS建立优势初始位置。BOTS是智能的,独立于主体。BOTS是有效的在内容值空间扫描的点。如接收到后续段,它们也表示在内容值空间的点。通过给这些点附加一个假吸引力潜能,BOTS移动更接近“重力中心”。变换引擎308测量从BOT到每个前面成功测试的算术变换的增量。在过程监控器设置的点(例如,段数量或处理时间),送往打包器310的信息是BOT状态信息(位置和各种增量),而不是变换和它们的变量值。
因为内容值群有时重新出现,BOT位置是抽样到数据库中以备以后重新调取。例如,视频线的开始常常可以拥有的内容值不同于在每线中间和结尾的内容值。每个后续线重复那些内容值群。因此,第一线之后变换引擎308拥有的BOT位置最适合视频线的各种段。在每个后续视频线中,BOTS继续优化它们位置和它们的结果增量。当视频景物改变,BOTS跟着改变视频信息。
与用算术变换一样,存在有效地搜寻逻辑变换内容值的有效表示的技术。组合的最优用于为内容值典型有效搜寻所有可能逻辑排列。
对于DNF变换,选择状态信息包括寻找标准DNF表达式的更压缩的典型(布尔表达式)等于内容值。然后这提供压缩,此处压缩典型可以被重新更改回标准DNF形式,从而允许原始字符串的检索。如前面所提到的,标准DNF函数:
f(x1,x2,x3)=1(x1·x2·x3)+1(x1·x2·~x3)+1(x1·~x2·x3)+1(x1·~x2·~x3)
                     +1(~x1·x2·~x3)
也可以更紧凑的表示为:
f(x1,x2,x3)=(x1·x2)+(x1·~x2·x3)+(x1·~x2·~x3)+(~x1·x2·~x3)
还可以更紧凑的表示为:
f(x1,x2,x3)=(x1·x2)+(x1·~x2)+(~x1·x2·~x3)
在实施例中,遗传算法用于为标准DNF表达式的简化表达式选择状态信息。遗传算法(GA)使用规则来完成找到DNF电信和找到最小DNF表达式的两个目标。
遗传搜索算法使用几个步骤:
1、初始化:构建一个n潜能的初始总数解;
2、调准:首先通过它的典型的完成度,然后通过它的REG值来估计每个总数成员的调准度,按照调准度来分类总数。
3、选择:从总数的上层、高层表示、高REG部分中为配对选择母对;
4、复制:通过交叠母对产生后代;
5、变异:通过重排他们来变异随机选择的总数成员;
6、替代:拥有带和变异的成员来替代总数的更低部分;和
7、终结:、重复步骤2-5直到达到处理监视器设置的停止判定。
此外,当使用DNF变换时,有方法选择成功基字符串。标准基本字符
串可用于目标任何内容值。然而,更少基字符串选择产生更好的结果。第一选择是数据派生基字符串。在预处理中通过从分析段的数据类型确定段的特征,派生有最优效率增益的基字符串。因为基字符串必须送往解码器316,以使打包器310和解码器316都有字符串的纪录,新派生的设置应该用于多种段来提高整体效率增益。
第二选择是预先定义基字符串数据库。已知数据类型或已知产生段的应用的地方,或预处理器304能够通过分析400派生数据类型的地方,变换过程502使用基字符串的数据库。控制程序306通过存储先前成功基字符串,产生基字符串的数据库。解码器316也参考基字符串的数据库。当使用基字符串的数据库时,仅仅索引参考基字符串数据库是包括在包开销内。
第三选择是为选择基字符串预处理段。通过对段排列适当的预处理,变换过程502选择有最优效率增益的基字符串。
打包器
打包器310产生包括包,其包括所有标识变换、状态信息所需的信息,加上所有其它重新计算段的内容值和重建原始二进制字符所需的信息。信息标识包是否包括变换或段是否作为原始数据发送。信息也标识用于编码段内容值的变换和变换的状态信息,包括任何余数。最后,信息表明段是否及如何被变异。打包器310使用已知包编码技术来尽可能小的封装此数据到数据包中。
包的优先组成是以下三部分:
1)包开销意义:
  a)一个“标识位”意味着是否变换或未变换以下数据;
  b)段的位长;
  c)数据包的位长;
  d)段的标识;
  e)段变异信息(假如任何);
  f)任何用于表示段内容值的变换的标识;
2)任何变换所需明确状态信息,包括:
  a)任何系数、变量、余数、启发式派生信息或其他变换使用的状态信息来目标内容值;
  b)任何部分解的偏移;
  c)任何涉及信息的有限状态机器;
  d)任何涉及信息的BOT;
3)任何未变换的数据。
在某些实施例中,优先权、隐式、数据类型和被驱动应用标准和隐式规则
水平用于避免封装所有此数据到每个包中。信息可隐式编码也可以显式编码。为节省空间,不显式的发送或存储隐式信息。例如,假如发送原始数据,它被标识,并仅所需额外包开销是原始数据的位长。同样假如通过解包器314和解码器316得知所有段是同样位长,段的位长不包括在数据包内。可选择的,某些数据类型和某些应用是建立使用标准和隐式包格式,包括固定位长、变换、变量值长或其他标准信息。
例如,一个压缩系统300实施例只使用一个指数因子变换, T = a b c 或者发送原始数据。在这个压缩系统300实施例中的包由一个标志位开始,在这个标志位中“1”表示原始段正在被发送,“0”表示段已经被变换。不同尺寸的a,b,c变量的值必须写入包,以至于解码器316能够不模棱两可地读到它们。做到这个的一个方法就是把三个变量的尺寸放在它们的值前,尺寸被写成m位的数字,在数字前是m的值,用5位写。
如果二进制字符串被限制在1兆位内(1兆位=220),并只考虑a,b,c的总共尺寸不超过n/2(n是二进制字符串的位数)的指数因子,那么3个因子a,b,c的每一个最大位512K长(512K=219),所以它的尺寸可以用19位来表达。用19位的数字把这3个尺寸写入压缩文件增加了文件大小57位。参数m应该能够表达1到19间的数字值,所以它的尺寸正好是5位。总共的开销是57+5=62位,于1兆位相比是很小的。
将指数因子应用于48位数字33,232,930,569,601,它是 ,a,b,c的值分别指定为7,2,4。因为n/2=3,a,b,c的最大尺寸是3位,所以它们的尺寸3,2,4被写成3位的数字(因为最大的一个是一个3位的数字),之前则是5位的数字m=3。因此,最后的23位包是:
0|m|3|2|3|7|2|4=0|00011|011|010|011|111|10|100
这提供了一个如何把所有的开销编码和必要信息,如变量值,用打包器打包成一个包的例子。
下面是一个打包器310用一个DNF逻辑变换生成包的详细的例子。正如上面所讨论的,DNF使用布尔操作符和一组对编码器和解码器来说是已知的事先定义的基字符串。
BS0    AA    AA    AA    AA    AA    AA    AA    AA
BS1    CC    CC    CC    CC    CC    CC    CC    CC
BS2    F0    F0    F0    F0    F0    F0    F0    F0
BS3    FF    00    FF    00    FF    00    FF    00
BS4    FF    FF    00    00    FF    FF    00    00
BS5    FF    FF    FF    FF    00    00    00    00
如果段有一个M=776655443322110016的64位内容值,和M相等的标准DNF表达式的简易表达式为:
M=776655443322110016=(((~BS5·BS3·~BS1)+(BS5·~BS3·BS1)+
(BS5·BS3·~BS1)+(BS5·BS3·BS1))·((~BS5·BS0)+(BS5·~BS0)))+
(((~BS5·BS4)+(BS5·BS4))·((~BS1·BS0)))
表述这个解的一个可能的数据包是:
100|101010|11100100|1|100001|0101|0|110000|1010|1|000011|0010
包中每一位的意义在下表中详述。
 二进制 说明
0-2  100 4 子表达式的数目
3-8  101010 BS5、BS3、BS1 子表达式1用的基字符串的位映射
9-16  11100100 (~BS5·BS3·~BS1)+(BS5·~BS3·BS1)+(BS5·BS3·~BS1)+(BS5·BS3·BS1) 变量长度域,表示析取范式(DNF)真实列表的系数,仅使用在前一域中指定的基字符串。
17  1 AND(因为AND运算在OR运算之前) 子表达式之间布尔算符
18-23  100001 BS5、BS0 子表达式用2的基字符串的位映射
24-27  0101 (~BS5·~BS0)+(BS5·~BS0) 子表达式2的DNF
28  0 OR 子表达式之间布尔算符
29-34  110000 BS5、BS4 子表达式3用的基字符串的位映射
35-38  1010 (~BS5·BS4)+(BS5·BS4) 子表达式3的DNF
39  1 AND 子表达式之间布尔算符
40-45  000011 BS1、BS0 子表达式4用的基字符串的位映射
46-49  0010 ~BS1·BS0 子表达式4的DNF
从而,打包器310产生表示64位内容值的50位数据包。
存储/发送
数据包是简单的二进制数据。因此,如前所述,数据包能够用已经建立的存储和发送方法来存储和发送。因为数据包比原始输入二进制字符串小,所以它们有着较原始输入二进制字符串占用空间较小,发送较快等优点。
解包器
如前所述,如果数据包已经被发送,解包器314收到数据包,或者如果数据包被存储,则解包器314从存储器中检索数据包。解包器314解释数据包开销指令,用解码器316解开数据包组件和所用到的关联信息,并解开任何原始数据。
解码器
解码器316从解包器314收到解包后的信息并重算原始段。解码器316在适当的变换中应用状态信息来重算段的内容值。如果数据变异了,则对获悉的段颠倒过程来找出段的原始格式。
如果关于变换、变异或其它过程的任何信息是解码器316所需但没有在本地存储,则解码器316需要信息来自:1)控制程序306;2)一个关于变换、变异或其它过程信息的存储库;或者3)靠从一个关于变换、变异或其它过程信息的本地有效存储库中重建它们。
在一些实施例中,解码器316在一个变换内容值的数据库中搜寻内容值,而不是计算它们。
重构器
如前面所讨论,重构器318从解码器316收到段,并按序列连接段来重构原始二进制字符串。在应用参数的基础上,这能生成一个完整的文件或按照应用所需形成数据流。然后,重构器318输出二进制字符串320。重构器318输出的二进制字符串320和输入的二进制字符串完全相同。因此,压缩系统300提供了无损耗压缩。

Claims (86)

1、一种压缩消息的计算机实施方法,其特征在于包括:
估计消息的数字值;
选择一种变换和相关状态信息,所选变换和相关状态信息拥有的数字值等于消息的数字值;以及
产生一个代码来表示所选变换和相关状态信息。
2、如权利要求1所述的方法,其特征在于:变换是数学变换。
3、如权利要求2所述的方法,其特征在于:变换是算术变换。
4、如权利要求3所述的方法,其特征在于:算术变换包括至少有一个变量的算术函数。
5、如权利要求4所述的方法,其特征在于:选择变换和相关状态信息包括:
为算术函数的所有变量选择值;
由所选变量值来确定函数的数字值;
由所选变量值来确定余数,余数等于消息的数字值和函数的数字值之间的差值;以及
其中状态信息包括所选变量值和余数。
6、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括:
选择第一变换和与第一变换相关的状态信息;
由相关状态信息确定第一变换的数字值;
由相关状态信息确定余数,余数等于消息的数字值和第一变换的数字值之间的差值;
选择第二变换和相关状态信息,第二变换和状态信息拥有的数字值等于余数的数字值;以及
其中变换和相关状态信息包括第一变换和相关状态信息以及第二变换和相关状态信息。
7、如权利要求2所述的方法,其特征在于:变换是逻辑变换。
8、如权利要求7所述的方法,其特征在于:变换是有限状态机器。
9、如权利要求7所述的方法,其特征在于:变换是析取范式(DNF)函数。
10、如权利要求9所述的方法,其特征在于:DNF函数包括多个基字符串。
11、如权利要求10所述的方法,其特征在于:多个基字符串存储于基字符串的数据库中。
12、如权利要求10所述的方法,其特征在于:进一步包括识别消息的数据类型。
13、如权利要求12所述的方法,其特征在于:基于消息的数据类型,多个基字符串从基字符串的数据库中检索。
14、如权利要求9所述的方法,其特征在于:为变换选择一组状态信息,包括:
以标准DNF函数表示消息;以及
选择标准DNF函数的简化表示。
15、如权利要求14所述的方法,其特征在于:选择标准DNF函数的简化表示法包括应用组合最佳启发式。
16、如权利要求15所述的方法,其特征在于:组合最佳启发式是一种遗传算法。
17、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括测试多组状态信息。
18、如权利要求17所述的方法,其特征在于:测试多组状态信息包括:
为多组状态信息的每一组,产生一个表示变换和一组状态信息的代码;
估计每个代码的尺寸;以及
选择拥有最小尺寸代码的变换和相关状态信息。
19、如权利要求18所述的方法,其特征在于:代码进一步表示包开销。
20、如权利要求1所述的方法,其特征在于:从变换的存储库中选择变换。
21、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括测试多个变换。
22、如权利要求21所述的方法,其特征在于:测试多个变换包括:
为多个变换中的每一个,测试与该变换相关的多组状态信息,每个变换和一组状态信息拥有的数字值等于消息的数字值;
为多组状态信息中的每一组,产生一个表示变换和一组状态信息的代码;
确定每个代码尺寸;以及
选择拥有最小尺寸代码的变换和相关状态信息。
23、如权利要求22所述的方法,其特征在于:选择拥有最小尺寸代码的变换和相关状态信息包括选择代码尺寸等于或小于目标代码尺寸的变换和相关状态信息。
24、如权利要求22所述的方法,其特征在于:进一步包括,响应于消逝的时间周期,选择已测试拥有最小尺寸代码的变换和相关状态信息。
25、如权利要求22所述的方法,其特征在于:进一步包括,响应于执行数次计算循环,选择已测试拥有最小尺寸代码的变换和相关状态信息。
26、如权利要求1所述的方法,其特征在于:进一步包括识别消息的数据类型。
27、如权利要求26所述的方法,其特征在于:识别消息的数据类型包括对消息的数据库将消息与已知数据类型作比较。
28、如权利要求26所述的方法,其特征在于:识别消息的数据类型包括识别产生消息的应用程序。
29、如权利要求26所述的方法,其特征在于:基于消息数据类型选择变换。
30、如权利要求26所述的方法,其特征在于:基于消息数据类型选择状态信息。
31、如权利要求1所述的方法,其特征在于:进一步包括,在选择变换和相关状态信息之前对消息施加变异。
32、如权利要求31所述的方法,其特征在于:表示所选变换和相关状态信息的代码进一步表示包开销。
33、如权利要求32所述的方法,其特征在于:包开销识别所施加的变异。
34、如权利要求31所述的方法,其特征在于:变异选自重排、余数、移位、压缩方法、比例缩放方法和异或方法。
35、如权利要求26所述的方法,其特征在于:进一步包括基于消息的数据类型对消息施加变异。
36、如权利要求26所述的方法,其特征在于:进一步包括:
基于数据类型选择变换;和
对消息施加变异,施加的变异基于所选变换。
37、如权利要求1所述的方法,其特征在于:代码进一步表示包开销。
38、如权利要求37所述的方法,其特征在于:包开销包括表示已被变换的消息的标识。
39、如权利要求37所述的方法,其特征在于:包开销包括消息的位长。
40、如权利要求37所述的方法,其特征在于:包开销包括代码的位长。
41、如权利要求37所述的方法,其特征在于:包开销包括消息的标识。
42、如权利要求37所述的方法,其特征在于:包开销包括所选变换的标识。
43、如权利要求37所述的方法,其特征在于:包开销包括解释所选状态信息所需的信息。
44、如权利要求1所述的方法,其特征在于:变换选自指数因数、幂级数、几何级数、整数级数、三角函数、贝塞尔函数、渐近线级数、析取范式函数、有限状态自动机、de Bruijn序列、三维图形树、N维空间表示法、无限积、连分数、丢番图方程、Mobins函数、代数曲线、积分变换、逆圆的(三角)函数、球三角函数、对数函数、双曲函数、正交多项式、多对数、勒让德函数、椭圆积分、序列变换(Z-变换)和马尔可夫链组成的组。
45、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括:从预计算数据库中选择状态信息,预计算数据库包括多组状态信息,以及对于多组状态信息的每一组来说的变换和这组状态信息的相应数字值。
46、如权利要求45所述的方法,其特征在于:从预计算数据库中选择状态信息包括:在预计算数据库中选择相应数字值最接近于消息的数字值的这组状态信息。
47、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括:
从预计算数据库中选择第一变换和相关状态信息,预计算数据库包括与第一变换相关的多组状态信息和对多组状态信息的每一组来说的第一变换和这组状态信息的相应数字值;
确定余数,余数等于消息的数字值与第一变换和相关状态信息的数字值的差值;
从预计算数据库中选择第二变换和相关状态信息;以及
其中变换和相关状态信息包括第一变换和相关状态以及消息第二变换和相关状态信息。
48、如权利要求47所述的方法,其特征在于:从预计算数据库中选择第一变换和相关状态信息包括:在预计算数据库中选择相应数字值最接近消息的数字值的变换和相关状态信息。
49、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括:
从状态信息的先前成功范围的存储列表中检索状态信息范围;
利用最佳算法在状态信息的范围内迭代测试不同组的状态信息;
对于每一组状态信息,产生一个表示变换和这组状态信息的代码;以及
选择拥有最小代码的已测试的这组状态信息。
50、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括:
施加组合的最佳启发式以确定最好状态信息,最好状态信息拥有表示变换和该状态信息的最小代码尺寸;和
选择最好状态信息。
51、如权利要求50所述的方法,其特征在于:施加的组合最佳启发式选自爬山法、渴望爬山法、禁忌搜索、模拟退火、人工神经网络、波尔兹曼机、调优算法和遗传算法。
52、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括:
应用智能代理来确定最好状态信息,最好状态信息拥有表示变换和此状态信息的最小代码尺寸;和
选择最好状态信息。
53、如权利要求52所述的方法,其特征在于:智能代理存储为先前消息所选的变换和状态信息。
54、如权利要求1所述的方法,其特征在于:选择变换和相关状态信息包括:
选择多个部分解变换,多个部分解变换结合组成变换;和
对于多个部分解变换的每一个,选择与该部分解变换相关的状态信息,部分解变换和状态信息拥有的数字值等于部分消息的数字值,与每个部分解变换相关的状态信息结合组成状态信息。
55、如权利要求54所述的方法,其特征在于:选择多个部分解变换和相关状态信息包括施加动态编程。
56、如权利要求55所述的方法,其特征在于:选择多个部分解变换和相关状态信息包括施加一维动态编程。
57、如权利要求1所述的方法,其特征在于:进一步包括存储表示所选变换和相关状态信息的代码。
58、如权利要求57所述的方法,其特征在于:代码被存储在计算机可读介质中。
59、如权利要求1所述的方法,其特征在于:进一步包括发送表示所选变换和相关状态信息的代码。
60、如权利要求1所述的方法,其特征在于:进一步包括:
估计表示所选变换和相关状态信息的代码的尺寸;
比较代码的尺寸和消息的尺寸;和
假如代码的尺寸大于消息的尺寸,则存储消息。
61、如权利要求1所述的方法,其特征在于:进一步包括:
估计表示所选变换和相关状态信息的代码的尺寸;
比较代码的尺寸和消息的尺寸;和
假如代码的尺寸大于消息的尺寸,则发送消息。
62、一种压缩消息的计算机执行方法,包括:
拆分消息成多个段;
对每个段,估计该段的数字值;
对每个段,选择该段的变换和相关状态信息,所选变换和相关状态信息拥有的数字值等于该段的数字值;和
对每个段,产生一个表示所选变换和相关状态信息的代码。
63、如权利要求62所述的方法,其特征在于:拆分消息成多个段包括:
确定消息的数据类型;
基于数据类型确定数据段的最佳尺寸;和
拆分消息成最优尺寸的数据段。
64、如权利要求62所述的方法,其特征在于:拆分消息成多个段包括:
确定压缩消息的时间限制;
基于时间限制确定数据段的最佳尺寸;和
拆分消息成最佳尺寸的数据段。
65、如权利要求64所述的方法,其特征在于:确定压缩消息的时间限制包括,确定可用于选择变换和相关状态信息的计算资源。
66、如权利要求62所述的方法,其特征在于:进一步包括对段施加变异。
67、如权利要求66所述的方法,其特征在于:进一步包括基于所选变换对段施加变异。
68、如权利要求66所述的方法,其特征在于:变异是段尺寸的调整。
69、一种用数字值压缩消息的计算机执行方法,包括:
选择变换和相关状态信息,所选变换和相关状态信息拥有的数字值等于消息的数字值;以及
产生一个表示所选变换和相关状态信息的代码。
70、一种恢复已压缩消息的计算机执行方法,包括:
接收表示变换和状态信息的代码;
计算变换和相关状态信息的数字值,变换和相关状态信息拥有的数字值
等于消息的数字值;和
输出数字值作为已恢复消息。
71、一种恢复已压缩消息的计算机执行方法,包括:
接收多个代码,每个代码表示一种变换和相关状态信息;
计算每个变换和相关状态信息的数字值,每个变换和相关状态信息的数
字值拥有的数字值等于消息段的数字值;和
通过组合所有段的数字值重建消息。
72、如权利要求71所述的方法,其特征在于:接收到的第一代码提供关于接收到的第二代码的消息。
73、一种数据压缩系统,包括:
预处理模块:
接收消息;
拆分该消息成多个段,每个段拥有一个数字值;
对每个段,估计这个段的数字值;
对每个段,输出段的数字值到变换模块;和
变换模块:
对每个段,选择变换和相关状态信息,所选变换和相关状态信息拥有的数字值等于段的数字值;
产生一个表示所选变换和相关状态信息的代码。
74、一种数据解压缩系统,包括:
解包模块:
接收多个代码,每个代码表示变换和状态信息;
对每个代码,输出变换和状态信息到解码模块;和
解码模块:
对每个变换和状态信息,计算变换和相关状态信息的数字值,变换和相关状态信息拥有的数字值等于段的数字值;
通过连接所有段的数字值重建消息。
75、一种计算机可读载波,包括表示变换和相关状态信息的代码,变换和相关状态信息拥有的数字值等于消息的数字值,该代码拥有的长度小于消息的长度。
76、一种编码在计算机可读介质上的并控制处理器执行压缩消息方法的的计算机程序产品,包括:
估计消息的数字值;
选择变换和相关状态信息,所选变换和相关状态信息拥有的数字值等于消息的数字值;和
产生一个表示所选变换和相关状态信息的代码。
77、一种压缩和解压缩消息的计算机执行方法,包括:
估计消息的数字值;
选择变换和相关状态信息,所选变换和相关状态信息拥有的数字值等于消息的数字值;
产生一个表示所选变换和相关状态信息的代码;
存储表示所选变换和相关状态信息的代码;
从存储器中检索表示变换和相关状态信息的代码;以及
计算变换和相关状态信息的数字值,变换和相关状态信息拥有的数字值等于消息的数字值。
78、一种压缩和解压缩消息的计算机执行方法,包括:
估计消息的数字值;
选择变换和相关状态信息,所选变换和相关状态信息拥有的数字值等于消息的数字值;
产生一个表示所选变换和相关状态信息的代码;
发送表示所选变换和相关状态信息的代码;
接收表示所选变换和相关状态信息的代码;和
计算变换和相关状态信息的数字值,变换和相关状态信息拥有的数字值等于消息的数字值。
79、一种压缩和解压缩消息的系统,包括:
预处理模块:
接收具有数字值的消息;
估算消息的数字值;
输出消息的数字值到变换模块;
变换模块:
选择变换和相关状态信息,所选变换和相关状态信息拥有的数字值等于消息的数字值;
产生一个表示所选变换和相关所选状态信息的代码;
输出表示所选变换和相关所选状态信息的代码;
解包模块:
接收表示变换和状态信息的代码;和
解码模块:
计算变换和相关状态信息的数字值,变换和相关状态信息拥有的数字值等于消息的数字值。
80、一种压缩消息系统,包括:
用于估计消息的数字值的装置;
用于选择变换和相关状态信息的装置,所选变换和相关状态信息拥有的数字值等于消息的数字值;
用于产生表示所选变换和相关状态信息的代码的装置。
81、如权利要求80所述的系统,其特征在于:进一步包括用于识别消息的数据类型的装置。
82、如权利要求80所述的系统,其特征在于:进一步包括在选择变换和相关状态信息之前对消息施加变异的装置。
83、一种压缩消息系统,包括:
用于拆分消息成多个段的装置;
用于估计每个段的段数字值的装置;
用于为每个段选择变换和相关状态信息的装置,所选变换和相关状态信息拥有的数字值等于段的数字值;和
用于为每个段产生表示所选变换和相关状态信息的代码的装置。
84、一种恢复已压缩消息的系统,包括:
用于接收表示变换和状态信息的代码的装置;和
用于计算变换和相关状态信息的数字值的装置,变换和相关状态信息拥有的数字值等于消息的数字值。
85、一种压缩和解压缩消息的系统,包括:
用于估计消息的数字值的装置;
用于选择变换和相关状态信息的装置,所选变换和相关状态信息拥有的数字值等于消息的数字值;
用于产生表示所选变换和相关状态信息的代码的装置;
用于存储表示所选变换和相关状态信息的代码的装置;
用于在存储器中检索表示变换和相关状态信息的代码的装置;和
用于计算变换和相关状态信息的数字值的装置,变换和相关状态信息的数字值等于消息的数字值。
86、一种压缩和解压缩消息的系统,包括:
用于估计消息的数字值的装置;
用于选择变换和相关状态信息的装置,所选变换和相关状态信息拥有的数字值等于消息的数字值;
用于产生表示所选变换和相关状态信息的代码的装置;
用于发送表示所选变换和相关状态信息的代码的装置;
用于接收表示所选变换和相关状态信息的代码的装置;
用于计算变换和相关状态信息的数字值的装置,变换和相关状态信息的数字值等于消息的数字值。
CN00819272.3A 2000-01-03 2000-12-29 数据发送和存储的有效且无损耗转换 Pending CN1437738A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17430500P 2000-01-03 2000-01-03
US60/174,305 2000-01-03

Publications (1)

Publication Number Publication Date
CN1437738A true CN1437738A (zh) 2003-08-20

Family

ID=22635683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00819272.3A Pending CN1437738A (zh) 2000-01-03 2000-12-29 数据发送和存储的有效且无损耗转换

Country Status (9)

Country Link
US (1) US6633244B2 (zh)
EP (1) EP1248991A2 (zh)
JP (1) JP2003519945A (zh)
CN (1) CN1437738A (zh)
AU (1) AU2610701A (zh)
CA (1) CA2396369A1 (zh)
IL (1) IL150556A0 (zh)
TW (1) TW502178B (zh)
WO (1) WO2001050325A2 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314697A (zh) * 2011-07-20 2012-01-11 张行清 基于数据类型的数值型数据压缩及解压缩方法
CN102857337A (zh) * 2004-08-12 2013-01-02 Cmla有限公司 为提高安全性的置换数据变换
CN105634499A (zh) * 2015-12-30 2016-06-01 广东工业大学 一种基于新短浮点型数据的数据转换方法
CN106257402A (zh) * 2015-06-19 2016-12-28 Hgst荷兰公司 用于对于数据传递的单遍熵检测的设备和方法
CN106849024A (zh) * 2017-03-10 2017-06-13 中国南方电网有限责任公司电网技术研究中心 基于fpga实现继电保护装置sv订阅功能的方法和装置
CN108255411A (zh) * 2016-12-29 2018-07-06 北京京东尚科信息技术有限公司 一种数据压缩方法与装置和数据解压缩方法与装置
CN108459557A (zh) * 2017-07-26 2018-08-28 华中科技大学 零件加工尺寸评测方法
TWI820711B (zh) * 2022-04-20 2023-11-01 聯發科技股份有限公司 壓縮操作數的方法、解壓縮壓縮資料序列的方法及系統

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
AUPQ486599A0 (en) * 1999-12-23 2000-02-03 Zentronix Pty Ltd A method of storing and retrieving miniaturised data
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7564970B2 (en) * 2004-08-12 2009-07-21 Cmla, Llc Exponential data transform to enhance security
US7577250B2 (en) * 2004-08-12 2009-08-18 Cmla, Llc Key derivation functions to enhance security
US8077861B2 (en) * 2004-08-12 2011-12-13 Cmla, Llc Permutation data transform to enhance security
US7126500B2 (en) * 2002-06-26 2006-10-24 Microsoft Corporation Method and system for selecting grammar symbols for variable length data compressors
US7190788B2 (en) * 2002-09-13 2007-03-13 Intel Corporation Methods and apparatus for encrypting a binary string
US7272658B1 (en) 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US7287256B1 (en) 2003-03-28 2007-10-23 Adobe Systems Incorporated Shared persistent objects
KR20060106835A (ko) * 2003-10-17 2006-10-12 팩바이트 소프트웨어 피티와이 리미티드 데이터 압축 시스템 및 방법
US7966424B2 (en) * 2004-03-15 2011-06-21 Microsoft Corporation Data compression
US20050246362A1 (en) * 2004-05-03 2005-11-03 Borland Devin P System and method for dynamci log compression in a file system
JP4175296B2 (ja) * 2004-06-25 2008-11-05 キャタピラージャパン株式会社 建設機械のデータ処理装置及び建設機械のデータ処理方法
US8135362B2 (en) * 2005-03-07 2012-03-13 Symstream Technology Holdings Pty Ltd Symbol stream virtual radio organism method and apparatus
US8521752B2 (en) 2005-06-03 2013-08-27 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US20070233477A1 (en) * 2006-03-30 2007-10-04 Infima Ltd. Lossless Data Compression Using Adaptive Context Modeling
US7512748B1 (en) 2006-08-17 2009-03-31 Osr Open Systems Resources, Inc. Managing lock rankings
US8539228B1 (en) 2006-08-24 2013-09-17 Osr Open Systems Resources, Inc. Managing access to a resource
JP5057361B2 (ja) 2006-10-02 2012-10-24 独立行政法人 宇宙航空研究開発機構 資源の制約をともなう自律分散型制御
US8024433B2 (en) 2007-04-24 2011-09-20 Osr Open Systems Resources, Inc. Managing application resources
US7949693B1 (en) 2007-08-23 2011-05-24 Osr Open Systems Resources, Inc. Log-structured host data storage
US8142023B2 (en) * 2007-12-21 2012-03-27 Honda Motor Co., Ltd. Optimized projection pattern for long-range depth sensing
US8607066B1 (en) * 2008-08-04 2013-12-10 Zscaler, Inc. Content inspection using partial content signatures
US8051287B2 (en) 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US8106799B1 (en) * 2009-03-23 2012-01-31 Marvell International Ltd. Data compression and decompression using parallel processing
BRPI1014257B1 (pt) * 2009-04-08 2021-03-09 Sharp Kabushiki Kaisha aparelho de codificação de vídeo e aparelho de decodificação de vídeo
US8538939B2 (en) * 2011-05-31 2013-09-17 International Business Machines Corporation Parsing optional block data
ES2837458T3 (es) * 2011-06-28 2021-06-30 Amadeus Sas Método y sistema de procesamiento de datos para la modificación de bases de datos
US8903874B2 (en) 2011-11-03 2014-12-02 Osr Open Systems Resources, Inc. File system directory attribute correction
US9166620B2 (en) * 2012-09-26 2015-10-20 Qualcomm Incorporated Method and apparatus for a memory based packet compression encoding
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
US9564918B2 (en) * 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US9792350B2 (en) 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains
US11288240B1 (en) * 2013-03-12 2022-03-29 AdTheorent, Inc. Data learning and analytics apparatuses, methods and systems
US9041566B2 (en) 2013-08-30 2015-05-26 International Business Machines Corporation Lossless compression of the enumeration space of founder line crosses
US9830329B2 (en) 2014-01-15 2017-11-28 W. Anthony Mason Methods and systems for data storage
US11195230B2 (en) * 2014-07-25 2021-12-07 Clearingbid, Inc. Systems including a hub platform, communication network and memory configured for processing data involving time-stamped/time-sensitive aspects and/or other features
US9355038B2 (en) 2014-09-11 2016-05-31 Qualcomm Incorporated Cache bank spreading for compression algorithms
SE538512C2 (sv) * 2014-11-26 2016-08-30 Kelicomp Ab Improved compression and encryption of a file
US10108633B2 (en) 2014-12-27 2018-10-23 Ascava, Inc. Using a distributed prime data sieve for efficient lossless reduction, search, and retrieval of data
US9292584B1 (en) * 2014-12-27 2016-03-22 Ascava, Inc. Efficient data communication based on lossless reduction of data by deriving data from prime data elements resident in a content-associative sieve
SE544304C2 (en) 2015-04-17 2022-03-29 URAEUS Communication Systems AB Improved compression and encryption of a file
SE543293C2 (en) * 2015-04-17 2020-11-17 Kelicomp Ab Improved compression of a file
WO2016205209A1 (en) * 2015-06-15 2016-12-22 Ascava, Inc. Performing multidimensional search, content-associative retrieval, and keyword-based search and retrieval on data that has been losslessly reduced using a prime data sieve
KR20180094004A (ko) * 2015-12-10 2018-08-22 아스카바, 인크. 블록 처리 저장 시스템 상에 저장된 데이터 및 오디오 데이터의 축소
US20180145701A1 (en) * 2016-09-01 2018-05-24 Anthony Ben Benavides Sonic Boom: System For Reducing The Digital Footprint Of Data Streams Through Lossless Scalable Binary Substitution
US10963429B2 (en) 2017-10-11 2021-03-30 Lognovations Holdings, Llc Method and system for content agnostic file indexing
US11138152B2 (en) 2017-10-11 2021-10-05 Lognovations Holdings, Llc Method and system for content agnostic file indexing
DE102018108419A1 (de) 2018-04-10 2019-10-10 Carl Zeiss Microscopy Gmbh Verfahren und Vorrichtungen zur Komprimierung und Dekomprimierung von Ansteuerkurven
TWI745697B (zh) * 2019-05-24 2021-11-11 創鑫智慧股份有限公司 用於神經網路參數的運算系統及其壓縮方法
US20210224238A1 (en) * 2020-01-21 2021-07-22 LO3 Energy Inc. Secure zero knowledge data transformation and validation

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4290051A (en) 1979-07-30 1981-09-15 Stakhov Alexei P Device for reducing irrational-base codes to minimal form
GB8815978D0 (en) 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
US5101446A (en) 1990-05-31 1992-03-31 Aware, Inc. Method and apparatus for coding an image
US5087913A (en) 1990-08-27 1992-02-11 Unisys Corporation Short-record data compression and decompression system
US5592667A (en) 1991-05-29 1997-01-07 Triada, Ltd. Method of storing compressed data for accelerated interrogation
EP0533253B1 (fr) 1991-09-20 1996-07-10 Philips Composants Et Semiconducteurs Procédé de transcodage de données d'un code thermométrique, décodeur et convertisseur appliquant ce procédé
US5257097A (en) * 1991-09-27 1993-10-26 Eastman Kodak Company Method and apparatus for selective interception of a graphics rendering operation for effecting image data modification
KR960006761B1 (ko) 1991-12-07 1996-05-23 삼성전자주식회사 변환방식의 적응적 선택에 의한 변환부호화 및 복호화방법
US5379036A (en) * 1992-04-01 1995-01-03 Storer; James A. Method and apparatus for data compression
US5822458A (en) * 1995-02-06 1998-10-13 The Regents Of The University Of California Precomputing and encoding compressed image enhancement instructions
US5708729A (en) 1995-04-12 1998-01-13 Eastman Kodak Company Method and system for the reduction of memory capacity required for digital representation of an image
US6167083A (en) * 1997-04-04 2000-12-26 Avid Technology, Inc. Computer system and process for capture editing and playback of motion video compressed using interframe and intraframe techniques
US5852742A (en) * 1997-06-17 1998-12-22 Hewlett-Packard Company Configurable data processing pipeline
US6167392A (en) 1997-10-09 2000-12-26 Telcordia Technologies, Inc. Method and apparatus for private information retrieval from a single electronic storage device
US6373986B1 (en) * 1998-04-08 2002-04-16 Ncr Corporation Compression of data transmission by use of prime exponents

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857337A (zh) * 2004-08-12 2013-01-02 Cmla有限公司 为提高安全性的置换数据变换
CN102314697A (zh) * 2011-07-20 2012-01-11 张行清 基于数据类型的数值型数据压缩及解压缩方法
CN102314697B (zh) * 2011-07-20 2013-04-10 张行清 基于数据类型的数值型数据压缩及解压缩方法
CN106257402A (zh) * 2015-06-19 2016-12-28 Hgst荷兰公司 用于对于数据传递的单遍熵检测的设备和方法
CN106257402B (zh) * 2015-06-19 2021-05-25 西部数据技术公司 用于检测在单遍期间输入数据流的熵的设备和方法
CN105634499A (zh) * 2015-12-30 2016-06-01 广东工业大学 一种基于新短浮点型数据的数据转换方法
CN105634499B (zh) * 2015-12-30 2020-12-01 广东工业大学 一种基于新短浮点型数据的数据转换方法
CN108255411A (zh) * 2016-12-29 2018-07-06 北京京东尚科信息技术有限公司 一种数据压缩方法与装置和数据解压缩方法与装置
CN106849024A (zh) * 2017-03-10 2017-06-13 中国南方电网有限责任公司电网技术研究中心 基于fpga实现继电保护装置sv订阅功能的方法和装置
CN108459557A (zh) * 2017-07-26 2018-08-28 华中科技大学 零件加工尺寸评测方法
CN108459557B (zh) * 2017-07-26 2021-11-19 华中科技大学 零件加工尺寸评测方法
TWI820711B (zh) * 2022-04-20 2023-11-01 聯發科技股份有限公司 壓縮操作數的方法、解壓縮壓縮資料序列的方法及系統

Also Published As

Publication number Publication date
WO2001050325A2 (en) 2001-07-12
IL150556A0 (en) 2003-02-12
WO2001050325A3 (en) 2002-02-14
US20010038347A1 (en) 2001-11-08
TW502178B (en) 2002-09-11
AU2610701A (en) 2001-07-16
CA2396369A1 (en) 2001-07-12
US6633244B2 (en) 2003-10-14
EP1248991A2 (en) 2002-10-16
JP2003519945A (ja) 2003-06-24

Similar Documents

Publication Publication Date Title
CN1437738A (zh) 数据发送和存储的有效且无损耗转换
CN1187716C (zh) 用于编码和解码关键字数据的装置和方法
CN1153354C (zh) 纠错编码器、纠错解码器和具有纠错码的数据传输系统
CN1552126A (zh) 压缩文档的结构化描述的方法和系统
CN101060629A (zh) 图像压缩/解压方法及图像编/解码器和解码电路
CN1630204A (zh) 具有矩阵转换技术的循环冗余码计算方法及系统
CN1209707A (zh) 动图象编码方式及动图象译码方式
CN101039422A (zh) 图像编码装置、图像解码装置及它们的控制方法
CN1681330A (zh) 自适应2n叉树生成方法及3D体数据编码和解码方法和设备
CN1494767A (zh) 压缩/解压缩结构化文档的方法
CN1319836A (zh) 转换表达方式的方法和装置
CN1168322C (zh) 图象编码和解码方法
CN101069181A (zh) 存储设备和记录介质
CN1216198A (zh) 编码方法,解码方法,编码装置以及解码装置
CN1227612C (zh) 颜色量化方法和使用该方法的多媒体搜索方法
CN1250197A (zh) 发送和/或接收流数据的装置及其生产方法
CN1127856C (zh) 活动图像合成装置
CN101044687A (zh) 用于数据压缩优化的方法、系统和计算机程序产品
CN1314208C (zh) 可扩展标记语言数据流压缩器及其压缩方法
CN1390391A (zh) 并行涡轮编码器实施方案
CN1801745A (zh) 一种建立网络故障诊断规则库的方法
CN1179570C (zh) 用于定向内插器节点的编码装置和方法
CN1306807C (zh) 数据转换装置及方法、学习设备及方法
CN1278561C (zh) 编码设备
CN1878312A (zh) 用于解码比特流的装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication