CN109416655A - 陈氏框架、陈氏译码和陈氏代码 - Google Patents

陈氏框架、陈氏译码和陈氏代码 Download PDF

Info

Publication number
CN109416655A
CN109416655A CN201780040973.XA CN201780040973A CN109416655A CN 109416655 A CN109416655 A CN 109416655A CN 201780040973 A CN201780040973 A CN 201780040973A CN 109416655 A CN109416655 A CN 109416655A
Authority
CN
China
Prior art keywords
code
data
value
chen shi
decoding
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
CN201780040973.XA
Other languages
English (en)
Inventor
陈锦夫
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN109416655A publication Critical patent/CN109416655A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/55Compression Theory, e.g. compression of random number, repeated compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3077Sorting
    • 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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6035Handling of unkown probabilities
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Abstract

一种通过无损且正确的编码和解码方式用于处理无论是否随机或非随机数据的框架以及相关联的方法、模式和设计,用于包括加密/解密或压缩/解压缩或两者的目的。在处理之前,对要被处理的数字信息没有任何假设。发明了通用编解码器,并且现在鸽巢遇见黑洞。

Description

陈氏框架、陈氏译码和陈氏代码
技术领域
让有理解力的人来点算数字......
本发明要求四份早期PCT申请的优先权:由本发明人递交的2016年7月29日提交的PCT/IB2016/054562、2016年8月5日提交的PCT/IB2016/054732、2017年2月22日提交的PCT/IB2017/050985以及2017年7月1日提交的PCT/IB2017/053993。本发明涉及在前述四个PCT申请中揭示并在本申请中进行改进的概念和技术的用途,提出了用于排序、组织和描述无论是否随机的数字数据的框架,用于编码和解码的目的,包括压缩和解压缩以及加密和解密。本发明的单一性在于本申请的描述揭示了用于排序、组织和描述数字数据的框架CHANFRAMEWORK,即陈氏框架,使得所述数字数据能够在CHAN,即陈氏,框架下开发和使用译码方案(亦作编解码方案)、方法和技术以用于处理各种用途的数字数据的目的,具体地包括在用于各种活动的数字数据的加密/解密和压缩/解压缩中的用途。当揭示陈氏形状的不同成份(包括陈氏矩形、陈氏梯形、陈氏正方形、陈氏三角形、陈氏直线、陈氏点以及陈氏条或者描述处理单元的基础组成部分的关系和特征、由二进制位形式的数字数据组成的处理单元的其他形状)之间的关系以及在进行数字信息的译码(包括编码和解码)以用于知识产权的使用和保护中的相应技术时,可在本发明中找到排序和组织数字数据的一种方式,所述知识产权以数字信息的形式来表达,包括数字数据以及用于设备的可执行代码,设备包括能够运行可执行代码或使用数字数据的计算机系统或计算机控制的设备或操作系统控制的设备或系统。这种设备在下文中称为设备。
具体地,本发明涉及框架和方法及其在数字信息的设备中的处理、存储、分配和使用中的应用,所述数字信息包括数字数据以及可执行代码,例如启动代码、程序、应用程序、设备驱动程序或者构成操作系统的这种可执行文件的集合,所述可执行文件呈嵌入或存储到硬件中(例如嵌入或存储到所有类型的存储介质中)的可执行代码的形式,所述存储介质包括只读或可重写或易失性或非易失性存储介质(以下称为存储介质),例如物理存储器或内部DRAM(动态随机存取存储器)或者硬盘或固态盘(SSD)或ROM(只读存储器),或者只读或可重写CD/DVD/HD-DVD/蓝光DVD或硬件芯片或芯片组等。所揭示的译码方法,即陈氏译码,在实现时产生编码的代码,陈氏代码可被无损地解码并恢复到原始代码;并且如果这种译码用于压缩,那么这种压缩代码也可一次又一次地重新压缩,直到达到其极限为止。
实质上,本发明揭示了一种用于创建数字数据的排序框架,从而可描述数字数据并且可研究其特征以用于进行数字信息的压缩/解压缩或加密/解密的目的。在这种关系中,它使得可能在通过本地云或互联网云连接的设备中处理、存储、分配和使用数字信息,以用于使用和保护知识产权的目的。如同使用其他压缩方法,在没有使用对应方法进行适当解压缩的情况下,压缩代码可能无法正确恢复。如果不用于压缩目的,那么编码的代码可认为是加密代码并且使用正确的对应的解码方法,这种加密代码也可无损地恢复到原始代码。陈氏译码和陈氏代码(包括概念、方法的陈氏译码和陈氏代码,即技术的组合以及如上述PCT申请和本申请中揭示所产生的所得代码)也可用于有待探索的各种应用的其他科学、工业和商业活动。在压缩领域中使用它生动地展示了其巨大用途。
然而,本发明中揭示的框架、相关联的模式、设计和方法及其应用不限于通过云(即局域网或互联网)传递或交换数字信息,而是可在其他信息传递或交换模式中使用。
背景技术
在压缩科学领域中,存在许多发布的用于压缩数字信息的方法和算法,并且可在
http://en.wikipedia.org/wiki/Data_compression上找到常用数据压缩方法和算法的介绍。本发明描述了一种新型方法,所述方法可用于进行无损数据压缩(此外还适用于进行加密和无损解密的目的)及其恢复。
上述维基论无损压缩的相关部分在此再现以便于参考:
″无损数据压缩算法通常利用统计冗余来更简洁地表示数据而不会缺失信息,使得所述过程是可逆的。无损压缩是可能的,因为大多数真实数据都具有统计冗余。例如,图像可具有在若干像素上不改变的颜色区域;而不是译码″红色像素、红色像素......″,数据可被编码为″279个红色像素″。这是行程编码的基本实例;存在许多方案通过消除冗余来减小文件大小。
Lempel-Ziv(LZ)压缩方法是最受欢迎的无损存储算法之一。[6]DEFLATE是LZ的一种变型,针对解压速度和压缩比进行了优化,但是压缩可能较缓慢。DEFLATE用于PKZIP、Gzip和PNG。LZW(Lempel-Ziv-Welch)用于GIF图像。另外,值得注意的是LZR(Lempel-Ziv-Renau)算法,其用作Zip方法的基础。LZ方法使用基于表的压缩模型,其中表条目替换重复的数据串。对于大多数LZ方法,此表是从输入中的早期数据动态生成的。表本身通常是霍夫曼编码的(例如SHRI、LZX)。目前基于LZ的译码方案表现良好的是LZX,其用于微软的CAB格式。
最好的现代无损压缩器使用概率模型,例如通过部分匹配进行预测。Burrows-Wheeler变换也可视为统计建模的间接形式。[7]
这类基于语法的代码越来越受欢迎,因为它们可非常有效地压缩高度重复的文本,例如,相同或相关物种的生物数据收集、巨大版本文档集、互联网档案等。基于语法的代码的基本任务是构造派生出单个字符串的上下文无关语法。Sequitur和Re-Pair是公共代码可用的实用的语法压缩算法。
在这些技术的进一步细化中,统计预测可耦合到称为算术译码的算法。算术译码由Jorma Rissanen发明,并由Witten、Neal和Cleary转变为实用方法,实现了对更为人熟知的Huffman算法的优异压缩,并且本身特别适用于其中预测与上下文密切相关的自适应数据压缩任务。算术译码用于双层图像压缩标准JBIG和文档压缩标准DjVu。文本输入系统Dasher是逆算术编码器。[8]″
在上述维基中,说明了″LZ方法使用基于表的压缩模型,其中表条目替换重复的数据串″。使用表来进行转换、加密、压缩和扩展是常见的,但是如何将表用于这种目的是多种多样的,并且可以以某种方式或其他方式而变得新颖。
本发明提出了一种新型方法,即陈氏译码法(亦即陈氏译码),产生出从未在别处揭示的惊人结果。这代表挑战成功,并且也是信息理论中鸽巢原理的神话的革命性结束。陈氏译码在下一节描述中展示了如何处理和解决技术问题。
发明内容
技术问题
无损数据压缩挑战中提出的技术问题在于,如何在较短的代码条目中表示数字数据代码的较长条目以及如何对其进行恢复。虽然较短的条目可用于替换较长的数据条目,但似乎不可避免地必须添加数字形式的其他信息以便使其可能或告知如何从缩短的条目中恢复原始的较长条目。如果必须添加太多这种数字信息,那么会使压缩工作徒劳无功,并且有时结果是扩展而不是压缩。
存储此类附加信息的方式对压缩过程提出了另一挑战。如果数字信息的一个或多个条目的附加信息被存储成散布有压缩数据条目,那么如何将附加信息与数字信息的原始条目区分开是一个问题,并且在恢复期间数字信息的压缩条目的分离提出了另一挑战,特别是在将数字信息的原始条目压缩成不同长度时,附加信息的长度也因此相应变化。
如果在一次又一次地重新压缩之后可恢复附加信息和压缩数字条目,那么这特别成问题。通常,压缩数据不能被重新压缩,并且即使尝试重新压缩,也不能获得太多的增益,而且通常结果是扩展而不是压缩。
将要压缩的数字信息本质上也不同;一些是文本文件,其他是图形、音乐、音频或视频文件等。文本文件通常必须无损压缩,否则其内容将缺失或扰乱,因此无法识别。
并且一些文本文件是基于ASCII的,而其他文本文件是基于UNICODE的。不同语言的文本文件也具有不同的特征,如在数字代码的频率和组合中所表现的不同特征。这意味着具有很少自适应能力(即,不能满足所有可能情况)的框架和方法对于所有此类情境无法最佳地工作。为数据压缩提供更具适应性和灵活性或全包框架和方法因此是一项挑战。
技术方案
本文公开了一种框架、模式和计算机实现的方法,所述方法用于通过无损地编码和解码数据来处理包括随机数据的数字数据。所述框架和方法正确地处理数据,用于加密/解密或压缩/解压缩的目的。所述框架和方法可用于无损数据压缩、无损数据加密以及数据的无损解码和恢复。关于所述框架未在处理数据之前将要处理的数字数据做出假设。
长期以来,直到本发明为止,在数据压缩领域中纯随机的二进制数据被证明是绝对不能被压缩的。通过提供适用于不同类型和不同语言特征的,用于无论是否随机数字信息的无损压缩的框架和方法,本发明使得人们能够压缩随机数字信息并成功地恢复它。本发明所揭示的框架(陈氏框架)使得可能以有组织的方式来描述和创建无论是否随机的数字信息的排序,使得可找出、描述、调查和分析任何数字信息的特征,使得数字信息的此类特征和内容可用于开发用于以周期性地重复无损加密/解密和压缩/解压缩为目的的技术和方法。这就终结了信息理论中鸽巢原理的神话。当然,存在限制。很明显,人们无法进一步压缩只有1位的数字信息。如本发明所揭示的一样,压缩数字信息的限制随着在进行压缩中的相关实现方式所选择的模式和方法而变化,如由所使用的报头的大小、处理单元(包含一定数量的代码单元)的大小、或者所使用的超级处理单元(包含一定数量的处理单元)的大小、以及未经编码的二进制位码的大小所确定的,这未经编码的二进制位码不足以构成完整的处理单元或超级处理单元。因此,根据设计和相关数据分配本身的性质,压缩任何数字信息的这种限制可保持为几千个二进制位甚至更少。
使用陈氏框架和陈氏译码,不需要事先知道将要压缩和恢复的随机数字信息。在适当的情况下,将在以下描述的过程中定义陈氏框架。例如,对于常规数据编码器使用2位的固定位大小来对数字数据进行采样,它总是可呈现2位格式的数字数据,具有最多4个值,即00、01、10和11,从而与陈氏框架下的数据编码器形成对比,所述陈氏数据编码器使用的数据编码器被设计成使用所可容纳的最大数据值来作为区分数据的主要因素或标准,并且将数码的位值大小和其他标准作为非主要因素或标准。这意味着常规的数据编码器可能只是陈氏框架下的数据编码器的一种变型;使用上述2位格式的常规数据编码器作为实例,它可置于陈氏框架下,是具有最大4个值(max4类)数值的数据编码器。因此,陈氏框架下的max4类数据编码器可具有其他变型,例如由用于所有唯一4个值的总位数定义为位组,并且进一步由使用的报头类型定义,例如在以下图表0中表示:
图表0
在陈氏框架下分组的常规数据编码器
Max4类=用于数据区分的主要因素或标准
8位组 9位组=非主要因素或标准
0报头 1报头=非主要因素或标准
Max4类的数据编码器的3种变型所值得注意的是,除了相等位大小的代码单元,例如8位组,其中所有4个唯一代码单元值具有相同数量的二进制位表示,9位组的另外两个变型的代码单元的位值大小都是不同的。正是这种在陈氏框架下的丰富而灵活的数字数据分类方案使得可能开发用于操纵或表示数据的新型方法和技术,用于编码和解码的目的,从而导致打破了信息理论中鸽巢原理的神话。
以下图表用于解释本发明中揭示的用于使用数据编码器来编码和解码(即包括压缩/解压缩和加密/解密的目的)的陈氏框架的特征,所述数据编码器具有作为由常规数据编码器定义的具有相同的最大可能数量的唯一值,例如使用Max4 8位组等同于2位固定大小的常规数据编码器,或者Max8 24位组等同于3位固定大小的常规数据编码器。这是为了简化起见,为了针对暂时未用来使用陈氏框架下的数据编码器的人说明处理单元组成部分(也作,组件)的概念:
图表1
陈氏框架和图解说明处理单元组件的概念
a b
其中a和b是两条数字信息,每条代表一个代码单元,代码单元(是0和1的一定数量二进制位的代码的基本单元)。由一定数量的0和1的二进制位表示的代码单元的内容或值被一个接一个地读取,例如a被读取为第一代码单元,并且b被读取为第二代码单元;
一条数字信息构成一个代码单元,并且图表1中的两个此类代码单元构成一个处理单元(处理单元包含的代码单元的数量可根据译码设计中使用的模式和技术而变化,这取决于代码设计者并且因此可与使用图表1的本图中使用的情况不同);
为了方便和便于计算,每个代码单元最好具有相同的定义,例如根据一个译码过程周期的位大小,使用相同的数字标度而不必进行标度转换;编码和解码的一致性和规律性对于在编码后无损地成功恢复数字信息是重要的。编码和解码的一致性和规律性意味着数字信息的处理遵循某些规则,使得可转换或转变数字信息的此类方式来在编码和解码中采用逻辑推理,从而使得可能改变数据分配,例如改变数字信息的二进制位0和二进制位1的比率,以及动态代码调整(包括代码提升、代码降级、代码省略和代码恢复)。用于编码和解码的此类规则由代码单元或处理单元或超级处理单元的特征和内容以及所使用的相关联的模式、设计以及编码和解码方法来确定。编码和解码的这种规则或逻辑可被记录为主报头内的二进制代码(对于整个数字数据输入)或者在使用二进制位作为指示符的部分报头内(整个数字数据输入被分为多个含有二进制位码的部分,每部分的报头即称为部分报头);并且作为指示符的这种二进制代码也可嵌入到编码器和解码器中,这当在编码和解码的模式、设计和方法的一致性和规律性允许底下而发生;
代码单元可以任何适当的数字标度的选择来表达和表示,包括二进制标度、八进制、十六进制等;
代码单元的大小,即代码单元大小,可作任何适当的大小选择,例如二进制标度,例如4位或8位或16位或32位或64位或者任何便于计算的位值大小皆可用作代码单元大小(代码单元的定义将根据从第[54]段开始的陈氏框架来改进);
每个代码单元的数字数或数字值代表代码单元的数字内容,数字数表示代码单元所有位的位符号;并且
可设计、找出和描述所使用的代码单元之间的关系;为了说明陈氏译码如何使用两个代码单元作为所使用的概念和技术的演示,所述关系使用数学公式定义如下:
其中a和b是在图表1中的当前模式中应用的陈氏译码中构成一个处理单元的两个代码单元,每个代码单元是表示在各个代码单元中传送的数字信息的内容或数值的数字数;在b之前读取a;
其中a可为比b更大或更小的值,并且人们可使用另外两个变量名来表示这两个代码单元的值的排名:
A是两个代码单元中的较大值;
B是两个代码单元中的较小值;
并且其中a和b的值相等,那么人们首先读取的是A,并且第二个是B;所以A的值大于或等于B;并且因此a可为A或B,取决于它与b有关的值。
其中,鉴于上述情况,必须使用位(RP位)(即排名和位置位)来指示第一代码单元是否具有比第二代码单元更大/相等或更小的值;代码的这一位码因此表示两个代码单元读取值的位置与排名之间的关系;
其中,为了编码a和b,人们可简单地将a和b的值一起添加到一个单独值中,使用代码单元大小的位值大小加上一位,如下所示:
图表2
在编码之前,图表2的数据如图表1所示,假设代码单元大小为64位,具有带有两个代码单元的处理单元:
图表3
在编码后,生成的代码、陈氏代码由RP块和CV块组成:
其中陈氏代码的RP位(1位),即第一块,RP块以及a和b的组合值,A+B,(65位,即64位加1,是代码单元大小的位大小加上一位),即第二块,陈氏代码的编码值块或内容值块(CV块),一起构成产生的编码,陈氏代码,其可还包括用于指示已针对原始数字信息执行的编码周期数量所需的以及剩余代码处理所需的相关联的报头信息。本发明人已在2015年8月29日提交的另一PCT专利申请PCT/IB2015/056562中已提到这种报头信息的形成和处理,并且因此本文不再重复。
出于解码目的,本领域技术人员可容易地利用前述PCT专利申请或其他设计中提到的报头处理连同所得的陈氏代码,即陈氏代码的RP块和CV块。如稍后在本发明中所揭示的,当根据如此设计的编码和解码的模式和方法来使用更多的代码单元时,CV块可进一步分为子块;
RP块是一个代码块,其代表对应代码单元的某些特性或特征,代表本文的处理单元的两个对应代码单元之间的排名和位置的特征。并且RP块是更广泛的代码类别的代码的子集,其被命名为特性代码或特征代码或分类代码(如此称谓是因为有关的特性或特征被用于对具有相似特性或特征的代码单元进行分类或分组)。CV块表示一个或多个代码单元的内容的编码代码。有时,根据编码和解码的模式和方法,代码单元的内容的一部分被提取成为分类代码,使得留在CV块中的只是对应代码单元的内容的剩余部分。CV块构成陈氏代码的内容代码。因此,根据编码和解码的模式和方法,陈氏代码因此至少包括内容代码,并且在适当情况下加上分类代码,并且在适当或必要时加上内容代码本身中包含或内容代码本身内部混合的或者包含在报头中其他指示符代码,例如指示在处理超级处理单元时使用的译码方法或代码映射表。这将在适当的时候在本发明的描述中显而易见;
到此为止,陈氏框架包含以下元素:代码单元、处理单元、超级处理单元、未编码的代码单元(包含未编码的代码)、报头单元(包含在数字信息文件的报头中使用的指示符,应用于整个数字数据文件)、内容代码单元、部分和部分报头(其中整个数字数据文件或流要被分成多个部分以便进行处理)并且在适当的情况下加上分类编码单元(下文中使用意味着上述特性代码或特征代码单元)、以及与内容代码内部混合的指示符代码(例如,特定于相应的超级处理单元)。所述框架将在适当的时候进一步完善和阐述。
在找出组件的关系之后,处理单元的两个基本代码单元,即排名和位置以及以上在段[14]中所列出的总和,这种关系在RP块中表示,并且陈氏代码的CV块使用CV块中的最简单的数学公式,A+B。RP块仅包含1位,0或1,从而指示相对于在一个处理单元中读取的两个代码单元的第二值b对比第一值a,何者为更大或相等或更小的值。
通过使用先前实例以及当今市场上流行的64位个人计算机,如果二进制标度的每个64位代码单元使用64位来表示,那么可能就没有压缩或加密。因此,针对每个编码步骤必须使用多于1个代码单元作为处理单元。数字信息的数字文件或数字文件的一部分(如果数字文件被进一步划分为多个部分以便进行处理)必须被分解成一个或多个处理单元或超级处理单元以便进行每个编码步骤,并且由此形成的每个处理单元或超级处理单元的编码代码是陈氏代码的元素,由每个处理单元的一个RP块和一个CV块组成,在当前的这种情况下是陈氏代码的单元。在使用陈氏译码进行压缩或加密之后的数字信息的数字文件(或者数字文件被分成的部分)因此由一个或多个陈氏代码单元组成,即陈氏代码文件组成。除了包括陈氏代码之外,陈氏代码文件还可包括但不一定是原始数字信息的任何剩余的未编码位,即不构成一个处理单元或一个超级处理单元的未编码的代码单元,以及通常用于表示识别数字信息的报头或脚注的其他附加数字信息,包括校验和以及关于何时必须停止解码、或者编码或重新编码有多少个周期,或者由报头或脚注中的标识符或指示符所指示的开头或结尾或某处存在的原始未编码数字信息有多少位的签名或指示符。如果需要,在当前编码周期中未编码的这种数字信息可在下一个周期期间进一步编码。本发明并不要求如何设计、放置和使用这种附加数字信息。只要这些附加的数字信息可用于编码和解码过程,那么人们就可根据自己的目的来自由地进行他们自己的设计。出于说明如何使用这些附加数字信息的目的,将在适当情况下提及这些附加数字信息的用途。本发明因此主要包括由编码和解码中使用的技术和方法(即陈氏框架内的陈氏译码)产生的陈氏代码。陈氏代码也可分成两个或更多个将要存储的部分,例如,陈氏代码的子块可单独存储到单独的数字数据文件中,以为了方便或出于安全起见用于解码或者用于交付。陈氏代码报头或脚注也可存储在另一个单独的数字数据文件中并且出于相同的目的而交付。组成这种陈氏代码的文件以及陈氏代码报头和脚注文件无论是否存在其他附加数字信息都是陈氏代码文件,这是添加到第[14]段中定义的陈氏框架的另一个元素。
陈氏代码是使用陈氏译码的编码代码。陈氏译码从原始代码中生成编码代码或派生代码。如果用于进行压缩,那么陈氏代码表示压缩代码(如果在所使用的模式和方法下可能进行压缩),无论数据分配是否随机,它都小于原始代码中使用的位数。超过一定大小的随机数据趋于均匀,即位0与位1之间的比率是一比一。陈氏代码表示陈氏译码的结果,并且在本实例中通过使用由对应的数学公式指定的运算而产生,即RP块的值和用于进行计算和编码的加法运算,所述数学公式表示(处理单元)的基本组件、和(代码单元)之间的关系,并且生成派生组件,即图表3中CV块中的A+B。通过使用上述编码规则和逻辑,可恢复成原始代码。RP块表示指示符信息,从而指示由编码器产生的处理单元的两个代码单元的排名和位置特征,以用于恢复将由解码器完成的原始代码。指定在解码时解码器将要遵循的运算规则的所述指示符包括在所产生的编码代码中。然而,由数学公式A+B表示的运算规则可因为其在编码和解码中的应用的一致性和规律性而嵌入编码器和解码器中。派生组件是由一个或多个基本组件组成的组件,或者在由某些运算规则,(例如由数学公式表示)运算之后与其他派生组件一起组成的组件,所述运算规则例如包括加法、减法、乘法或除法运算。
如上所述,在通过使用陈氏译码处理后获得的陈氏代码包括数字信息的数字位,所述数字位被组织在一个单元中或分解成子块,从而表示原始数字信息的内容,原始数字信息无论在数据分配中是否随机,都可正确且无损地恢复。上述实例当然不允许原始数字信息的正确无损恢复。例如,它需要另一个数学公式,例如A减去B和/或在可恢复成原始数字信息之前存在的对应的内容代码块之一。以上实例目前仅用于描述和定义陈氏框架及其元素的目的。在决定用于计算的数字标度的选择之后,代码单元的位大小以及用于处理单元的组件(即用于一个处理单元的代码单元的数量;最简单的情况是仅使用于如上所述的一个处理单元的两个代码单元)以及它们的关系在数学公式中定义,并且在数字计算机中使用的可执行代码中实现,当使用数学公式作为运算规则时,陈氏译码进行编码所做的工作(将使用的其他技术将在适当的时候公布)包括以下步骤:(1)读入原始数字信息、(2)分析数字信息以获得其特征,即压缩单元的组件及其关系、(3)通过应用数学公式或设计的公式来进行计算,所述公式描述了在陈氏译码分析之后获得的原始数字信息的组件的特征或者原始数字信息的组件之间的关系,即原始数字数据的特征在陈氏代码中表示;如果进行压缩,那么陈氏代码的数字位数小于无论数据分配是否随机的原始代码中使用的数字位数;陈氏代码是一种无损编码的代码,其可在解码时无损地恢复成原始代码[使用数学公式并且在编码中的相关联的数学运算不一定使压缩成为可能,例如这很大程度上取决于与所使用的模式和方法一起设计的公式,代码单元定义和代码放置技术];并且(4)产生与在步骤(1)中读取的原始数字信息相关的对应陈氏代码。
陈氏译码将对应的陈氏代码解码回数字原始代码所做的工作包括以下步骤:(5)读入对应的陈氏代码、(6)获得对应陈氏代码的特征、(7)以相反方式应用如此设计的数学公式,所述公式描述了在对陈氏代码的陈氏译码进行分析之后所获得的原始数字信息的组件的特征或者组件之间的关系,包括常规数学和互补数学的运用;(8)无论原始数字信息在数据分配中是否是随机的,在使用步骤(7)后无损地产生原始数字信息的原始代码。因此,在解码时,图表3中的陈氏代码被正确地且无损地恢复成图表2中的原始数字数据代码。这可通过使用扩大代码单元的定义以提供更灵活和新颖的框架的另一个发明特征来,用于排序、组织和描述第[14]段中介绍的数字数据并且进一步完善和阐述(稍后在段落[54]处开始)的陈氏框架来完成。当然,到目前为止,在进一步揭示本发明特征之前,在表示A减B的另一个CV子块例如在以上图表中缺失时,情况并非如此(即,在这种情况下使用的公式不足以正确地恢复原始数据代码);即使存在这个CV子块,使用现有的代码单元定义(代码单元是根据统一的位大小或相同的位大小来定义的),所得的陈氏代码的大小不能保证小于原始代码,这取决于所使用的模式和方法,例如代码单元定义和代码放置技术以及原始数据分配。但是在存在表示数学公式A减B的运算结果的CV子块连同对应的缺失公式或处理单元组件的缺失块的情况下,所得的陈氏代码可被视为加密代码,所述加密代码可用于正确且无损地恢复原始数字代码;然而,如此产生的加密陈氏代码可为扩展代码,而不一定是压缩代码。用于压缩无论分配是否随机的数字数据並产生压缩代码的方法和相关联技术终于结束了信息理论中鸽巢原理的神话,这些方法及其相关联的技术将在稍后适当的时候在讨论新型代码单元定义的创造性特征以及用于实现陈氏框架的新颖特征的其他技术之后进行揭示。
通过理解范围的概念及其在应用绝对地址分支技术中的用途,其用途有助于压缩随机数据,连同陈氏框架的创造性特征的用途,互补数学如何起作用的解释在以下图表中给出:
图表4
互补数学
CC-A=Ac
并且
Ac+A=CC
或者
Bc+B=CC
并且
(Ac+B)=(CC-A)+B
其中CC是互补常数或变量,是为互补数学运算选择的常数值或变量值,它被定义为使用互补常数或变量(当不同的代码单元大小用于不同的编码和解码周期时,其可为变量),如本发明中所解释的,所述互补常数或变量在数学计算或具有加法和减法逻辑的运算中使用。根据情况,可设计多于一个互补常数或变量,并且在必要或适当时用于不同的操作或目的;
A是进行运算的值,本文使用的实例是排名值A,在当前仅使用两个代码单元值的情况下,A的值大于或等于B的值;所以在第一公式中:
CC-A=Ac
其中CC减A等于A互补,即由Ac表示,它是A使用相应的互补常数或变量的互补值或镜像值;例如,令CC为代码单元大小的最大值的常数,例如具有256个值的8位;那么CC的值是256;并且令A的值为100,那么Ac等于256减100=156;并且逆运算因此为Ac+A=CC,表示100+156=256的运算;并且在第四公式中,(Ac+B)=(CC-A)+B;并且令B为50,那么Ac+B=(256-100)+50=156+50=206。
图表4给出了由本发明人发明的互补数学的基本运算的逻辑,所述逻辑足以使解码过程在以后被引入。然而,为了更完整地说明互补数学的加法和减法运算,这种逻辑在以下图表5中定义和解释:
图表5
定义的更多的互补数学逻辑:
CC-(A+B)=(A+B)c或者=CC-A-B;
并且
CC-(A-B)=Ac+B
并且
CC-A+B可能令人困惑;这应当更好地清楚地表现为:
要么
(CC-A)+B=Ac+B
或者
(CC-B)+A=Bc+A
或者
CC-(A+B)=CC-A-B;
所以为了进一步说明上述互补数学的减法运算的逻辑,令CC为256,A为100,并且B为50,那么
CC-(A+B)=(A+B)c或者=Ac-B或者=Bc-A
即256-(100+50)=(100+50)c=256-150=106=AC-B=156-50=106
或者
=Bc-A=206-100=106
并且
CC-(A-B)=Ac+B
即256-(100-50)=256一(50)=206=156+50=206
并且
(CC-A)+B=Ac+B
即(256-100)+50=156+50=206
或者
(CC-B)+A=Bc+A
即(256-50)+100=206+100=306
因此,通过使用互补数学的加法和减法运算的上述逻辑,人们可继续显示关于互补数学如何在以下图表6中工作的更多细节:
图表6
使用互补数学对数据值或数据范围进行运算
令CC为256,A为100,并且B为50
(1)常规数学处理:
将150除以2,即得到A和B的平均值:
=(A+B)/2=1/2A+1/2B=75;并且因为A是A+B中的较大值;
因此
=A-1/2(A-B)=100-1/2(100-50)=100-1/2(50)=100-25=75;
=B+1/2(A-B)=50+1/2(100-50)=50+1/2(50)=50+25=75;
(2)互补数学处理:
对(CC-A)+B进行运算,即在A上而不是B上对CC进行运算:
=(CC-A)+B=Ac+B=(256-100)+50=156+50=206;
注意到将要在此步骤中进行运算,首先必须将A和B分开;这个步骤是为了说明互补数学在此的运算
(3)使用陈氏数学进行陈氏译码(常规数学处理和互补数学处理):使用A-1/2(A-B)将步骤(1)的结果添加到步骤(2)的结果:
=Ac+B+A-1/2(A-B)=Ac+A+B-1/2(A-B)
=CC+B-1/2(A-B)=256+50-1/2(100-50)
=256+50-25
=256+25;
(4)使用陈氏数学的陈氏译码:
从步骤(3)的结果中减去CC:
=[CC+B-1/2(A-B)]-CC=B-1/2(A-B)
=[256+50-25]-256
=[50-25];
(5)使用陈氏数学的陈氏译码:
使用B+1/2(A-B)将步骤(1)的结果添加到步骤(4):
=[B-1/2(A-B)]+[B+1/2(A-B)]
=2B
=[50-25]+[50+25]
=25+75
=100
(6)常规数学处理:
将2B除以2得到B的值:
=2B/2=B
=100/2=50
(7)常规数学处理:
通过从A+B中减去B得到A的值:
=A+B-B
=150-50
=100
以上所述可以显示出常规数学处理、互补数学处理与使用陈氏数学的陈氏译码之间的差异。
在上述步骤(2)中执行的互补数学仅可在A和B分离并事先知道之后进行,因此必须添加另一条数据信息,即(A-B)(即在发明新型代码单位定义之前,这将稍后进行揭示),使得A和B可使用公式(A+B)+(A-B)=2*A和2*A/2=A以及(A+B)+(A-B)=2*B和2*B/2=B而分离。通过使用RP位,分离后的A和B可正确恢复到第一值的位置,并且第二值读取为a和b。并且步骤(2)只是显示当对这些基本组件进行运算时互补数学如何起作用。
互补数学并不直接有助于解决信息理论中鸽巢原理的挑战。然而,它确实突出了使用范围来添加和减去数据值的概念以及给定互补常数或值的镜像值的概念。正是凭借这种范围的洞察力,信息理论中鸽巢原理的挑战才能得到成功的结果,因为范围在使用绝对地址分支的操作中是必不可少的,或者在数据值或数字的表示和定义方式方面是潜在的。
在确认结束信息理论中鸽巢原理的神话之前,本发明更详细地揭示了关于如何在陈氏框架下使用数学公式可产生无数的编码和解码算法。说明从图表7开始,其中四个代码单元、四个基本组件组成一个处理单元:
在大多数情况下,处理单元的四个基本组件可布置成3个臂,即长臂、中臂和短臂,具有2对基本组件,从而代表相应臂的上角(是具有较大总和的一对两个基本组件)和下角(是具有较小总和的一对两个基本组件)。然而,在极少数情况下,这些对的值碰巧以某种方式具有相同的值,使得可存在少于3个臂,例如仅2个臂或1个臂或甚至变成点形状。因此,处理单元的四个基本组件的值的分配可以不同的陈氏形状表示如下:
图表7
陈氏形状
陈氏点·
这是所有四个基本分量具有相同值的地方;
陈氏线
存在2个陈氏线如下:
陈氏线1:三个臂都与短臂重叠在一起,具有值[1]+[4]为上角,并且[2]+[3]为下角。
陈氏线2:三个臂都与短臂重叠在一起,具有值[2]+[3]为上角,并且[1]+[4]为下角。
陈氏三角形
存在2个臂,长臂和中臂,并且短臂成为一个点,因为它的值对[1]+[4]和[2]+[3]是相等的。
陈氏矩形和梯形和正方形
陈氏矩形1按顺序依次显示4个代码单元的数据值的输入流
a b c d
陈氏矩形2显示4个代码单元的数据值的输入流的排名和位置
a=B b=C c=A d=D
上述陈氏矩形显示处理单元的第一代码单元值a为B,在四个代码单元中排名第二;第二代码单元值b为C,排名第三;第三代码单元值c为A,排名第一;第四代码单元值d为D,排名最后。
陈氏梯形显示陈氏矩形的四个基本组件之间的关系
陈氏梯形1
3个臂的上角是[1]+[2],[1]+[3]和[1]+[4]并且
3个臂的下角是[3]+[4],[2]+[4]和[2]+[3]。
陈氏梯形1显示了四个基本组件之间的关系,即陈氏矩形2中显示的四个代码单元的四个值,其中A由[1]、B[2]、C[3]和D[4]重新表示;并且以相同的方式,(A+B)=[1]+[2],(A-B)=[1]-[2]等等。可看出的是,处理单元[1]、[2]、[3]和[4]的四个基本组件的值可排列成三个臂,即([1]+[2])-([3]+[4])即长臂,([1]+[3])-([2]+[4])即中臂以及([1]+[4])-([2]+[3])即短臂。对于所有三个臂,[1]+[2]+[3]+[4]的值的总和总是相同的。三个臂之间的差异反映在它们的长度上,即三个臂的上角与下角之间的值的差异。
长臂和中臂在排名值排列中始终保持相同的方式。然而,短臂的上角和下角将根据四个基本组件的值分配来进行交换。因此,存在两种情况,[1]+[4]的值大于[2]+[3],如在陈氏梯形1中,或者相反,这在陈氏梯形2中表示如下:
陈氏梯形2
3个臂的上角是[1]+[2],[1]+[3]和[1]+[4],而在陈氏梯形1中,3个臂的下角是[3]+[4],[2]+[4]和[2]+[3]。
在陈氏梯形1中,长臂、中臂和短臂的值可重新分配如下:
长臂=([1]+[2])-([3]+[4])=([1]-[4])+([2]-[3])=([1]-[3])+([2]-[4]);
中臂=([1]+[3])-([2]+[4])=([1]-[4])([2]-[3])=([1]-[2])+([3]-[4]);并且
短臂=([1]+[4])-([2]+[3])=([1]-[3])-([2]-[4])=([1]-[2])-([3]-[4])。
在陈氏梯形2中,长臂、中臂和短臂的值也可重新分配如下:
长臂=([1]+[2])-([3]+[4])=([1]-[4])+([2]-[3])=([2]-[4])+([1]-[3]);
中臂=([1]+[3])-([2]+[4])=([1]-[4])-([2]-[3])=([3]-[4])+([1]-[2]);并且
短臂=([2]+[3])-([1]+[4])=([2]-[4])-([1]-[3])=([3]-[4])-([1]-[2])。
因此在陈氏梯形1和2中,长臂总是等于或大于中臂2*([2]-[3])。
但是由于交换短臂的上角值和下角值的两种可能情况,在陈氏梯形1中,长臂总是等于或大于短臂2*([2]-[4]),并且中臂总是等于或大于短臂2*([3]-[4])。
并且在陈氏梯形2中,长臂总是等于或大于短臂2*([1]-[3]),并且中臂总是等于或大于短臂2*([1]-[2])。
陈氏梯形3或陈氏正方形1
这是中臂与长臂重叠的地方,其中短臂的上角和下角分别为[1]+[4]和[2]+[3]。如果其中的两个臂的长度不相等,那么它是梯形,否则它是正方形。
陈氏梯形4或陈氏正方形2
这是中臂与长臂重叠的地方,其中短臂的上角和下角分别为[2]+[3]和[1]+[4]。如果其中的两个臂的长度不相等,那么它是梯形,否则它是正方形:
陈氏梯形5或陈氏正方形3
这是短臂与中臂重叠的地方,其中短臂的上角和下角分别为[1]+[4]和[2]+[3]。如果其中的两个臂的长度不相等,那么它是梯形,否则它是正方形:
陈氏梯形6或陈氏正方形4
这是短臂与中臂重叠的地方,其中短臂的上角和下角分别为[2]+[3]和[1]+[4]。如果其中的两个臂的长度不相等,那么它是梯形,否则它是正方形:
为了在本图示中进行可能的数据编码和解码,四个基本组件的四个值必须由1个CV块表示,所述块由4个子块值组成(通过使用为此目的设计的四个公式而产生;人们可尝试使用三个或更少的公式,到目前为止,这些努力似乎没有显示出有希望的结果;然而人们不应当排除这种可能性,因为有很多机会将新技术引入到作为本发明将在本应用中显示的陈氏框架中),除了RP块之外,它用于指示4个基本组件的值的位置和排名之间的关系,如下图表8中所示:
图表8
陈氏矩形显示四个输入基本组件的位置和排名的详细信息以及所得的陈氏代码
陈氏矩形3显示4个代码单元的数据值的输入流的排名和位置以及所使用的64位大小
陈氏矩形4陈氏代码,通过使用陈氏译码创建的压缩代码显示RP块和CV块的详细信息
本发明的一个非常显著的特征是构成CV块的4个子块的值的不同的位大小;并且RP块本身在4位与5位之间变化;并且尽管它们的位大小不同,稍后可使用将要揭示的陈氏译码技术来对相关的陈氏代码进行解码并将其无损且正确地恢复回原始输入数字数据代码。出于进行压缩的目的,所使用的变化的位大小旨在用于通过使用陈氏译码技术来进一步提高压缩比,这优于可使用数学公式实现的压缩比。
首先在此解释RP块。RP块用于指示处理单元的四个基本组件(四个代码单元)的4个排名值的相对位置,因为四个基本组件的排名可随其位置而变化,不存在固定的规则来确定四个基本组件的值的位置与排名之间的关系。存在位置与排名之间的总共24种组合,如下图表9所示:
图表9
排名位置代码表
4个基本组件的位置和排名的可能组合
由于组合的四个基本组件的值的排名与位置之间总共存在24个变体,因此人们通常将必须使用5个位来容纳并指示排名与位置组合的这些24个变体,以便在分解时,可正确地恢复四个基本分量的值的正确的排名和位置,即,可将基本组件的四个排名值放回到它们与输入数字数据输入中的这些值的位置相对应的正确位置中。然而,可使用称为绝对地址分支的技术来避免空间的浪费,因为如果不使用绝对地址分支,那么就存在32个位置来容纳仅24个变体而8个位置留空并且浪费掉。
为了使用最简单的情况,可能仅具有3个值,那么通常需要使用2个位来为3个变体值提供4个位置。然而,在使用绝对地址分支的情况下,对于其中值=1的情况,仅使用1个位,并且对于其中值=2或=3的情况,那么必须使用2个位。例如,检索过程的工作如下:(1)首先读取1位;(2)如果位值为0,表示值为1,那么不需要读取第二位;并且如果位值为1,那么必须读取第二位,如果第二位为0,那么表示值为2,并且如果第二位为1,那么值为3。因此,这节省了一些空间来容纳所考虑的3个值。1/3的情况或变体使用1位,并且另外2/3的情况或变体必须使用2位来进行指示。
因此,通过使用绝对地址分支,24个变体中的8个变体仅需要4个位来容纳,并且其余16个变体需要5个位。这意味着,4个位仅提供16个位置,并且5个位提供32个位置。并且如果存在24个变体,那么由4个位提供的位置上存在8个变体,因此由4个位提供的16个位置中的8个位置必须保留以用于表示2个变体。因此,首先可读取4位,如果发现所述值在1到8之间,那么可停止并且不必读入另一位。然而,如果在读取4位并且值在9与16之间之后,对于这8个变体,必须读取另一位来确定它代表哪个值,例如在确定9之后,它可表示9或另一个值,例如17,那么必须读取另一位,如果它是0,那么表示它保持为9,并且如果它是1,那么值就为17,从而表示值为17的排名位置代码,从而指示[1]、[2]、[3]和[4]的值必须对应地通过参考和查找以上图表9中的排名位置代码表来放入3、4、1和2的位置中的RP模式。因此,绝对地址分支是一种设计,其中地址(而不是像通常那样指示一个值)现在可分支以取决于设计来使用额外的一个位或多个位来标识2个或更多个值。它在已知范围限制时使用,所述范围限制即从这范围限制中要确定的变量值的最大可能组合或选项。例如,在以上RP表中,已知排名和位置仅有24种组合,因此最大可能组合仅有24种,因为已知它可用作范围限制来指示处理单元具有RP组合的哪个特定值,从而指示如何将[1]、[2]、[3]和[4]的值放入输入数字数据流的第一位置、第二位置、第三位置和第四位置中。由于此范围限制是已知的并且使用绝对地址分支,因此平均而言,针对这24个组合仅需要四个半位而不是通常所需的五个位。
现在来确定四个基本组件分量的排名值,A=[1],B=[2],C=[3]并且D=[4]。为了确定[1]、[2]、[3]和[4]的值,可使用关于陈氏矩形和陈氏梯形的公式来表示四个基本分量的基本关系和特征,其中如上文第[29]段中解释的RP块和CV块总共占用的位大小小于由4个输入基本组件a、b、c和d占用的总的位大小,即用于在如上所述使用陈氏矩形和陈氏梯形的本发明中呈现的模式下的处理单元的代码单元的大小的4倍。
在对构成以陈氏形状表示的处理单元的四个基本组件之间的特征和关系进行细致的研究之后,CV块的3个子块中表示的公式的以下组合是用于展示在背后起作用的原理的首次尝试。可发现并使用其他类似的公式。因此不存在限制,但是包括使用以下参考陈氏形状提出的公式。所以这个首次尝试是:
(1)=([4]-1/2([3]-[4]))
(2)=([1]-[4])
(3)=(([2]-[3])+1/2([3]-[4]))
在步骤(1)至步骤(3)的公式中表示的上述3个值与在前面提到的2016年8月5日提交的PCT申请PCT/IB2016/054732中呈现的那些值不同。在所述PCT申请中,与排名和位置处理的用途结合的互补数学的用途被认为能够结束信息理论中鸽巢原理的神话。经过更仔细的检查,发现如此使用的三个公式不足以实现这一目标。因此,正确的公式和公式设计对于陈氏译码技术的应用十分重要。在上述PCT申请中,如陈氏形状所表示的,陈氏译码是通过使用基本组件(即处理单元的代码单元)之间的特征和关系而设计的公式来完成的。
公式设计更像是一门艺术,而不是一门科学。因为人们无法用尽处理单元的不同基本组件与派生组件之间的特征和关系的所有组合,所以新颖的思维将有助于成功地掌握使用正确的公式。在上述PCT申请中使用的3个公式是根据积极的思维来设计的,以便使用3个公式,人们便能够再现相关联的陈氏形状,根据具体情况包括陈氏梯形或陈氏正方形或陈氏三角形或陈氏点或陈氏线。但是发现通过使用这种思维模式,如在使用所述PCT申请中引入的技术而设计的3个公式所表达的,基本组件可能无法从它们的派生组件中分离出来(或者无法很容易分离出来,因为用于计算的组合可能几乎不会用尽)。
为了应对信息理论中鸽巢原理的挑战,上述PCT申请中缺乏新颖的思维模式。并且在此进行尝试。当事物不能以积极的方式发挥作用时,它可能会以相反的方式发挥作用。这也是与互补数学相关联的思维模式或范式。因此,如果被设计来重现正确的陈氏形状的公式未给出好的结果,那么人们可尝试在这3个公式中引入差异。因此,本发明中揭示了差异引入(或称为异常引入)的技术,以便通过借助于差异引入和互补译码这些有用的技术使得陈氏译码的所有技术可以结束信息理论中鸽巢原理的神话,这可以展示互补译码的有用性以及在公式设计阶段中差异引入技术本身的有用性。
因此,在设计阶段过程中,第一步骤是人们将像往常一样设计公式来进行编码,使得可使用如此设计的公式来再现陈氏形状。例如,通过使用在上述PCT申请中给出的实例,从步骤(1)至步骤(3)的中导出并获得陈氏代码的CV块的3个子块的值和编码代码的3个公式是:
(1)=([1]-[4]);
(2)=([2]-[3]);以及
(3)=([3]+[4])。
通过使用常规数学,在以下引用的上述PCT申请中的步骤(4)至步骤(9)再现相关联的陈氏形状如下:
(4)=(1)+(2);即步骤(1)+步骤(2)
=([1]-[4])+([2]-[3]);在重新安排或重新分配这4个排名值时,导致;
=([1]+[2])-([3]+[4]);获得长臂;
=([1]-[3])+([2]-[4]);用于与其他臂比较长度的差异;
(5)=(1)-(2);
=([1]-[4])-([2]-[3]);
=([1]+[3])-([2]+[4]);获得中臂;
=([1]-[2])+([3]-[4]);
(6)=(1)+(3);
=([1]-[4])+([3]+[4]);
=([1]+[3]);中臂的上角;
(7)=(2)+(3);
=([2]-[3])+([3]+[4]);
=([2]+[4]);中臂的下角;
(8)=(6)+(7);
=([1]+[3])+([2]+[4]);是[1]+[2]+[3]+[4]的总和,对于找到长臂的上角非常有用;
=([1]+[2]+[3]+[4]);
(9)=(8)-(3);
=([1]+[2]+[3]+[4])-([3]+[4]);其中[3]+[4]=步骤(3)作为长臂的下角给出;
=([1]+[2]);长臂的上角;
从上述步骤可看出,通过使用从步骤(4)至步骤(9)的常规数学,可正确地再现长臂和中臂的两个角以及臂本身。然而,通过使用3个适当的公式,基本组件被合并并且在派生组件中很好地结合在一起,使得基本组件不能容易地彼此分离。因此,人们可尝试在3个设计合理的公式中引入差异,以便执行处理来进一步查看是否可发现新的世界。因为垃圾入垃圾出的原因,人们不应以随机的方式引入差异。人们应当关注为已设计的3个合理公式提供有用信息所需的内容。
在以上实例中,人们可很容易地注意到两个派生的组件的缺失但是在提供用于解决当前问题的附加信息方面很重要,即将4个基本组件从派生组件中分离出。这两个派生组件被识别为[1]-[2]和[3]-[4]。具有这两个派生组件中的任何一个,人们可通过在步骤(9)中获得的([1]-[2])与([1]+[2])之间的以及在步骤(3)中获得的([3]-[4])与([3]+[4])之间的加法和减法来容易地分离基本组件。因此,可尝试将[1]-[2]和[3]-[4]中的任一个或两者引入上述3个适当公式中。并且如果需要,可使用进一步的公式调整。
在无数次试验和错误后,在迄今为止概述的陈氏框架下,即使在如段落[31]中发现的公式设计中尝试差异引入或异常引入的特征时,也没有在使用4个代码单元作为处理单元的模式中仅使用3个公式来进行正确解码成功的公式设计。因此,第四公式例如[1]-[2]或[3]-[4],即步骤(4)=[1]-[2]或步骤(4)=[3]-[4],已被引入以便进行正确解码。或者更聪明的人能够提出仅使用3个公式的解决方案。所以在这方面仍有希望。关于陈氏框架的新颖之处在于,它提供了一种机会,使得排序或组织数字数据、从数字数据中创建可描述的排序或结构的不同的和多种方式成为可能,使得可研究不同数据分配的数字数据的性质并且比较它们的特征差异,并且识别这些数据特征的规律性(或规则或规律),使得不同的技术可被设计用于编码和解码用于压缩和加密以便保护数字信息的目的。因此,如稍后将看到的,可获得富有成效的结果。
即使通过使用4个公式产生的4个CV子块与RP块一起必须用于在解码时成功地分离出处理单元的4个基本组件或代码单元的值以便正确恢复原始数字信息,它仍然提供根据数字信息的公式设计和数据分配来进行压缩的机会。如稍后将看到的,在引入使用超级处理单元的另一种技术的情况下,使用其他陈氏译码技术,包括陈氏框架下定义的数据编码器的用途,并且特别是在设计、创建和实现数字数据黑洞中的异常引入的用途和绝对地址分支技术的用途,即使在压缩所有数据分配的数字数据(甚至包括随机数据)中也能产生富有成效的结果。然而,在陈框架中使用的公式设计对于数字数据提供了无限的方法或算法来加密和解密,以达到数据保护的目的。并且这即使是外行人也可容易实践的简单的加密和解密方法。对于不太聪明的人来说,[1]、[2]、[3]和[4]的值是按照步骤(1)至(4)中表达的公式和段落[34]和[36]中概述的其他派生步骤而彼此分离。另外的公式调整和步骤可设计用于空间优化,在适用情况下对在以下段落[43]和[44]中概述的实例进行建模。
通过使用在段落[37]中的步骤(I)至步骤(IV)中所述的公式计算的数据的值现在在编码过程期间被放入陈氏代码的CV块的四个子块中。在编码时,这四个值作为CV块的四个子块连同对应的RP块存储在陈氏代码文件中。每个CV子块的值范围限制应当足够大,以便适应使用相应公式可能出现的所有可能值。在解码过程中,通过使用绝对地址分支技术并且通过针对图表9中使用的相关排名位置代码表来查找检索值、对应处理单元的排名位置代码来读出RP块和CV块来进行解码,以确定在解码期间将要放置处理单元的[1]、[2]、[3]和[4]的排名值的位置。[1]、[2]、[3]和[4]的排名值如段落[38]中概述的上述步骤中所示地使用在段落[37]中的步骤(I)至步骤(IV)中存储的对应CV块的4个子块的值来确定。CV块的4个子块将使用段落[43]和[44]中揭示的技术来放置,这详细说明了互补数学和互补译码在确定CV子块的放置的范围限制以用于在适当情况下调整设计时的价值。绝对地址分支技术是用于在此优化空间节省的技术。简单地替换a、b、c、d,在段落[37]中描述的四个公式中替换[1]、[2]、[3]和[4]也指示出可省去RP块的可能性。这意味着,通过这种替换,段落[37]和[38]中概述的公式也可在没有RP处理的情况下起作用。但是在没有RP处理的情况下,随后会缺失由于使用范围限制而导致的可能的节省空间的优点。这可能导致比使用RP处理浪费更多空间。
互补数学和互补译码在进行CV子块的布置的设计过程中非常有用以便节省空间,这可能导致在适当情况下调整原始公式设计。以下图表10展示了在公式设计阶段在当前努力中使用互补数学和互补译码使用段落[31]中的公式设计连同以下图表10所做的贡献:
图表10
陈氏条
使用代码单元大小作为互补常数CC的互补数学范式下的范围限制的视觉表示
未知数据X=1/2([3]-[4])
已知数据
从以上图表中,段落[31]中的由表示3个CV子块的值的3个公式表示的范围连同它们的互补范围(未知数据)一起显示。X本身不是已知的,并且作为公式的一部分合并:([2]-[3])+1/2([3]-[4])。引入这些公式中的异常或差异或调整,1/2([3]-[4]),主要被引入到纯净地描述相关联的陈氏形状的[3]+[4]和[2]-[3]的适当设计的公式中。因为[3]+[4]的平均值是([4]+1/2([3]-[4])或([3]-1/2([3]-[4]),所以可使用其中任何一个来引入异常或差异或调整。([4]+1/2([3]-[4])认为是在其中引入公式差异或调整之后经修改的公式,其现在公式在步骤(1)中使用,并且为了平衡这种差异或调整,将步骤(3)中使用的第三公式对应地调整为(([2]-[3])+1/2([3]-[4]))。因为这是以前从没有人测量过的全新世界,所以必须通过试误法来学习。由于段落[31]中设计的公式在对上述挑战提供的解决方案方面也不成功,因此需要进行更多调整。具有更聪明的灵魂的人还可设计出适用于使用陈氏译码的其他公式,以便将合并数据或处理单元的基本组件与由此设计的公式所表示的派生(或与基本组件组合)组件分离。引入公式差异或公式异常或公式调整的技术包括以下步骤:(i)设计可用于再现派生或基本组件的值或关系和特征的公式;(ii)找出哪些派生或基本组件缺失但是对于提供附加值至关重要,用于将基本组件与由设计公式所代表的组件进行分离的目的;(iii)使用可提供这些缺失组件的公式来设计公式异常或公式调整或公式差异;这种公式异常或公式调整或公式差异将被引入用于获得陈氏代码的CV子块的值的公式中;(iv)将公式异常或公式调整或公式差异并入以上在步骤(i)的先前设计的公式中,并且制定一组新的公式,所述公式适用于将基本组件与由新设计或调整的公式所代表的组件进行分离的目的。
假设使用段落[38]中描述的4个公式,在确定[1]、[2]、[3]和[4]的排名值并使用RP块之后,对应的处理单元的原始数字数据输入现在可无损解码并正确地恢复到正确位置。现在可考虑用于存储由步骤(I)至步骤(IV)的公式表示的代码作为陈氏代码的CV块的4个子块的布置和位大小并且在编码过程期间进一步优化用于位存储。它使用范围限制的概念。
为了考虑陈氏代码的CV块的4个子块中的哪个子块将要首先放置,可考虑放置一个子块是否可以为其他随后子块的布置提供信息,使得可减少存储空间。以下讨论使用段落[31]中描述的3个公式来进行说明目的。为了理解互补数学的价值,通过比较段落[31]中的步骤(1)至(3)处的自由公式:([4]+1/2([3]-[4])、([1]-[4])和(([2]-[3])+1/2([3]-[4])),可看出由前2个公式[4]-1/2([3]-[4])和([1]-[4])表示的范围超出范围;这些范围中没有一个包含另一个。因此明显地,他们中的任一个都可放在第一位。然而,在[4]-1/2([3]-[4])上使用CC,很明显,[4]-1/2([3]-[4])的镜像值,即[4]c+1/2([3]-[4]),应当能够包含[1]-[4]的范围,所以[4]c+1/2([3]-[4]),[4]-1/2([3]-[4])的镜像值,可用作用于放置[1]-[4]的值的范围限制。并且因此,将[4]-1/2([3]-[4])的CC值作为第一CV子块放置使得由公式[1]-[4]表示的第二CV子块可使用[4]-1/2([3]-[4])的镜像值(通过使CC操作开启)作为用于存储[1]-[4]的值的范围限制。
然而,由于[4]-1/2([3]-[4])的值在某些罕见的情况下可能是负值,那么[4]c+1/2([3]-[4])的值将超过代码单元大小,在这些情况下,可恢复使用CC值,即代码单元大小,作为[1]-[4]的值的范围限制。也就是说,能够选择由[4]c+1/2([3]-[4])和CC值提供的两个范围中的最短范围来用作[1]-[4]的值的范围限制。在大多数其他情况下,由[4]c+1/2([3]-[4])表示的范围限制将小于CC值,因此可实现位存储节省。[1]-[4]可用作([2]-[3])+1/2([3]-[4])的范围限制,这是因为使用[1]-[4]作为互补变量的[2]-[3]的镜像值是[1]-[2]加上[3]-[4],并且[3]-[4]应当大于1/2([3]-[4]),所以可肯定的是([2]-[3])+1/2([3]-[4])位于[1]-[4]的范围内。因此[1]-[4]可作为第二CV子块,其用于第三CV子块的范围限制,([2]-[3])+1/2([3]-[4]),以便节省更多位存储。用于放置第一CV子块的范围限制是CC值,因为在其作为参考之前没有其他范围限制可用。同样对于其中[4]-1/2([3]-[4])的值可能变为负值的一些罕见的情况,对其必须使用额外的符号位。另外,由于减半操作,所述值可能只有0.5的一部分,因此也需要包括一部分位用于这种指示。所以它总是CC位大小+2位。因此,如果[1]-[4]的值为1,000而不是最大值2^64,那么1000可用作用于存储([2]-[3])+1/2([3]-[4])的范围限制。也可使用绝对地址分支,使得1,024的限制可精确地减少到1,000,尽管在这种情况下节省非常小。使用的位大小是10位或9位,而不是64位代码单元通常所需的64位。然而,如同第一CV子块[4]-1/2([3]-[4])的情况,由于减半操作,第三CV子块([2]-[3])+1/2([3]-[4])也可具有0.5的值分数,因此再多一个分数位需要被分配到由[1]-[4]的值设置的范围限制上。随后,可针对以上揭示的段落[31]中的步骤(1)至(3)完成陈氏代码的CV块这3个子块的放置。因此,如果范围限制和绝对地址分支的概念和技术也用于优化存储空间,那么很明显CV块的3个子块以及因此整个CV块的大小可因处理单元的不同而变化。应当记住,应当确保所使用的范围限制应当能够包含可能出现的所有可能值,相关范围限制被设计来用于这些可能值。在某些情况下,范围限制可能需要通过向其添加数值1来进行调整;这是因为排名值是根据值本身进行排名,并且当值相等时,它们根据它们在输入数字数据流中的位置来进行排名。因此,必须具体问题具体分析小心并考虑特定值的范围限制,并且确保为特定值设计的范围限制能够涵盖可能出现的所有可能值。
例如,放置陈氏代码的以下三个CV子块所需的空间或位大小(不是段落[31]中的那些,并且假定公式(IV)使用代码单元的标准位大小),例如出于加密目的由公式表示为如下设计:
公式(I)=3*([1]-[2]+[3]-[4])+([2]-[3])+([1]+[3]);
公式(II)=3*([1]-[2]+[3]-[4])+([2]-[3])-([2]+[4]);以及
公式(III)=[3]-[4];
分别估计为5个代码单元、3个代码单元和1个代码单元。提供24种组合的RP块使用另外5位;如果使用绝对地址分支,某些组合可仅使用4位。因此,如果代码单元大小为64位,那么分别使用68位、66位和64位用于公式(I)、(II)和(III),而不计算可使用范围限制实现的空间优化。通过使用范围限制,显然公式(I)的值大于公式(II)的值并且公式(II)的值大于公式(III)的值。因此,应首先放置公式(I),并且随后放置公式(II),并且随后放置公式(III)。通过使用这种放置技术,可最小化位存储。
经过进一步的反思,似乎互补数学提供了非常有用的概念和更多技术工具来节省存储空间。然而,它的重要性在于它提供的范式,包括范围处理、镜像值以及基本移位,例如,用于指示值的镜像值的基础是使用CC值,即代码单元大小,作为在进行常规数学处理时反向计数的基数而不是值0的基数。
通过使用陈氏形状中揭示的特征和关系,可使用于处理单元的不同数量的代码单元来设计公式或其他形状,因为即使仅在常规数学处理的情况下这种情况可能会遇到使用陈氏译码的信息理论中鸽巢原理的挑战。鉴于可在陈氏框架下构建的代码单元和公式设计的无限组合(以及添加其他技术以用于与其一起使用的可能性),没有人能够确定这是不可能的。并且将随后揭示的是,即使不使用公式设计的特征,这些其他技术也能够结束信息理论中鸽巢原理的神话。
互补数学和互补译码有助于公式设计阶段以及编码和解码。因此陈氏数学和陈氏译码是一组超级数学处理,所述超级数学处理包括参考陈氏形状以及在进行编码和解码数字信息(无论是否随机)时所揭示的特征和关系结合或单独分开使用的常规数学和互补数学。
在进一步检查以便进行优化时,似乎甚至可仅通过在段落[37]和[38]中概述的公式中将处理单元的a、b、c和d值替换为[1]、[2]、[3]和[4]的值来省去RP块和相关RP处理。然而,CV子块的放置将因此需要比使用RP块和RP处理所需的空间更多的空间。还应当认识到,RP处理的价值在于更清楚地了解呈[1]、[2]、[3]和[4]形式的处理单元的四个基本组件(a、b、c和d)之间的关系,使得当使用陈氏形状并由陈氏形状表示时,可对这些值进行正确理解。这进一步为设计用于应用本发明中概述的其他编码和解码技术的正确公式铺平了道路。因此,是否使用RP块和RP处理进行编码和解码是可根据具体情况决定的选择问题。
通过使用由4个如此设计的公式表示的4个CV子块可放手一搏来设计用于加密的多变量算法。并且随后可使用将要引入的其他技术来压缩这种加密的数字数据。以这种方式,可设计和实现高度简单和安全的加密/解密以及压缩/解压缩算法和过程。加密/解密以及压缩/解压缩的周期数也会对结果代码产生影响。并且如果这种信息(包括所设计的公式和所实现的加密/解密以及压缩/解压缩的周期数)与将要发送的数据分开发送,那么数据安全性可得到增强并且在前所未有的水平上得到极大的保护。为了进一步增强数据保护,可分别存储不同类型的陈氏代码,并且以正确的顺序发送出来以便恢复原始数字信息;例如,CV子块的符号位位于一个符号位文件中,每个CV子块位于单独的CV子块文件中,RP块位于RP块文件中,并且报头或脚注包含与位于单独的报头或脚注文件中的对应的陈氏代码的处理有关的另外的信息。
使用产生4个CV子块的4个公式并不一定意味着可能无法实现压缩。可选择所识别的最短范围来产生一条公式,该公式表示了将要添加的第4值的最短范围,以便进行压缩。例如,如果[1]非常接近CC值,即代码单元的最大值,那么如果CC减去([1]+[2])是通过处理步骤(1)至步骤(3)中的前三个公式识别的最短范围,随后可选择使第四公式为[1],并且使用CC减去([1]+[2])的范围限制来放置[1]的值。关于陈氏代码块的公式设计和放置,可在这方面进行进一步的研究。
即使使用4个CV子块也可能无法压缩处理单元的每个块,可设计适用于不同类型的数据分配的不同的公式集(包括各个数据值的频率和对应的数据值分配,即存在的每个值的频率以及存在的对应值的数量和同一性),并且将随机数据的整个数字输入文件分解成非随机的超级处理单元。当比使用公式设计简单得多的其他技术被添加到其中以用于实现时,稍后将说明使用非随机的超级处理单元的技术。在此类讨论过程中,将揭示超级处理单元的相关概念。通过对不同数据分配的超级处理单元使用不同的公式设计组,就像这些其他技术与超级处理单元一起使用的情况一样,可尝试和实现再压缩。
因此可看出,通过使用非常简单的陈氏数学逻辑,包括常规数学处理和互补数学,在压缩和解压缩以及加密和解密方面,在科学和艺术领域中已取得巨大进步。如在PCT/IB2016/054562中公布并在PCT/IB2016/054732中确认的,然而为了结束信息理论中鸽巢原理的神话,其他技术是所需的并且揭示如下:
在揭示这类技术之前,陈氏框架必须进一步进行微调整。到目前为止,陈氏框架的特征在于以下结构特征:
(a)代码单元(包括内容代码和分类代码);
(b)处理单元;
(c)超级处理单元;
(d)未编码的代码单元;
(e)(整组数字数据的)部分;
(f)部分报头或脚注;
(g)(整组数字数据的)主要报头或脚注;以及
(h)陈氏文件(包含陈氏代码的数字数据文件,由上述(a)至(g)的数字代码组合或单独组成)。
在此陈氏框架的模式和设计是指为任何上述结构元素选择的定义,如果使用,在不同实施方案中在适当的情况下进行组合以便进行处理,用于进行编码和解码对应于如本发明中揭示的所使用的陈氏译码的所选择的技术的特定数字数据集的目的。
代码单元是陈氏框架的基本单元。到目前为止,它的大小,即代码单元大小,以二进制位数(位大小)来测量,并且在常规二进制数据编码器(数据编码器,尤其是其中所有其唯一值具有相同的位大小,而不具有在如本发明中揭示的陈氏框架下设计的数据编码器的特征的数据编码器)下,代码单元可表示的最大值数量(代码内容)因此受到代码单元的位大小的限制。例如,如果代码单元的大小仅具有一位,那么它仅可用于表示两个值,在一个实例中为位值0或位值1。如果代码单元的位大小为3,那么它可表示最多8位值,即000、001、010、011、100、101、110和111。这是使用二进制位来表示数据值的常规方式。代码单元是数据的基本单元,由编码器逐个从数据输入流中读取以用于编码目的。正是这种常规的读取和表示数据的方式产生了信息理论中鸽巢原理的神话,详情可参见:
https://en.wikipedia.org/wiki/Pigeonhole_principle
其实质内容表达为:
″在数学方面,鸽巢原理规定如果n个物品被放入m个容器中,其中n>m,那么至少一个容器必须包含多于一个物品。″
换句话说,如果一个容器仅可占用一个物品,那么可由容器占用的物品的数量受到容器数量的限制;即,可占用的物品的数量无法超过用于占用物品的容器的数量。这是物品与容器之间的一一对应关系。
在此应用代码单元的用途以便进行编码,如果代码单元的位大小为3位,那么它仅可提供8个地址,并且因此它仅可用于表示最多8个唯一值,在一个时间只有一个值。以常规方式,代码单元可具有的地址数量以二进制位大小来度量,用于代码单元的二进制位数越大,代码单元可用于以一一对应关系表示代码内容值的地址就越多。因此,代码单元具有的地址数等于2的(代码单元的位大小(二进制位数),即测量代码单元大小的二进制位数)次方。
因此,目前为止用于进行压缩的编码是可能的,仅仅因为编码方法利用了数据分配的非均匀性质。对于给定位大小的代码单元,例如像3位代码单元,如果数据输入流仅包含3个不同的唯一代码值,例如000、001和100,那么可压缩数据输入流。或者如果数据输入流包含所有8个不同的唯一代码值,即000、001、010、011、100、101、110和111,如果这8个代码值的频率分配非均匀,即这8个唯一代码值的频率彼此不同,那么它仍然可被压缩。通常,数据分配的非均匀性越大,可实现的压缩节省越多。随机数据倾向于在数字位0与位1之间的比率上是均匀的,其中位0和位1以随机方式出现,即到目前为止没有揭示任何规律性或可预测的模式。因此长期以来一直认为随机数据可能无法压缩,从而产生信息理论中鸽巢原理的神话。然而,由于陈氏框架提供了一种描述所有类型分配的数字数据的方式,包括随机分配,因此可调查和揭示随机数据的更多特征及其规律性,从而引入概念并且使用超级处理单元连同数据编码器来在使用不相同的位大小和其他陈氏译码技术的情况下,容纳唯一代码单元值,例如异常引入技术和尤其是数字数据黑洞技术并且在陈氏框架下一起使用绝对地址分支或地址多分支技术的情况下,这个长时间为人所信服的神话被揭穿了。
信息理论中的鸽巢原理是非常正确的,但是仅它本身是正确的!然而其神话存在于与无法压缩随机数据或者无法一次又一次地重新压缩数据的此原理相关的神话中。因此,为了结束神话,一种可能的方法是从随机数据中创建非均匀性。一种用来创建非均匀性的基本技术是通过微调代码单元定义和微调量度代码单元以及其用于表示的相应代码值的方式进行。因此,这是本发明的重要新颖特征:重新定义陈氏框架中使用的代码单元的概念,这是陈氏框架、代码单元及其定义的非常基本要素中发现的结构变化或改进。可因此在随机数据中容易地创建非均匀性。通过有效利用陈氏框架的这种结构变化,可容易地设计与代码单元应当容纳的值相比提供更多地址的模式。因此,可用于表示代码值的代码地址的数量不是用于在周期中压缩和重新压缩随机数据集的限制因素。信息理论中的鸽巢原理遗漏和忽略的是数字数据集的频率分配特征。为了能够在周期中压缩和重新压缩随机数据集,人们还必须关注到存在于数据集中的代码值的频率分配的性质以及代码值所对应的位长度两方面。这两个问题打败了先前在周期中压缩和重新压缩随机数据集的编码和解码方面的努力:不同唯一代码值可用的代码地址的数量以及数字数据集中存在的不同唯一代码值的频率分配这两问题将在以下讨论中逐一解决。
首先,关于数据集中的不同唯一代码值可用的代码地址数量的问题,在重新定义的代码单元的新颖特征被引入陈氏框架之后,在适当情况下,代码框架下的代码单元首先由代码单元所用于表示或容纳的不同唯一代码值的最大数量来量度,其次由整个代码单元的二进制位数(影响各个唯一代码值的可能位大小)来量度,并且再次由代码单元定义的头码设计来区分,这将在以下段落[62]的图表14中表示出来。因此,代码单元的名命方式须要改变,以用来容纳不同唯一代码值的最大数量作为第一或主要因素来命名或表示(当然一次一个)代码单元,而不是用位数,并因此,用于指示代码单元的命名从3位的代码单元变为8值的代码单元(或Max8代码单元),而位数则可用作为次级因素来区分代码单元的大小。这也意味着除了代码单元的所有不同的唯一代码值可仅以相同的位大小来表示的常规定义之外,代码单元的各个唯一代码值的位大小也可能不同。并且这个新颖特征并不妨碍人们使用一个标准位值来设计模式,来为代码单元的所有代码值所用,除了这常规定义之外,它也提供了用于使用不同位值来作模式设计的机会,让代码单元的不同唯一代码值使用不同的位值。这意味着,代码单元的不同唯一代码值可具有不同的位值大小;并且此外,它还允许在位值大小上为代码单元的每个唯一代码值提供相同的位数,这取决于在编码和解码的特定模式和设计下在编码和解码过程中的某个时间点使用的代码值定义和相关代码单元定义。例如,对于8值代码单元,所有8个唯一代码值可在特定模式和设计下定义成具有相同的3位的位大小,例如图表11所示:
图表11
具有相同位大小的8值代码单元的代码值的定义
Max8类
24位组
或者在另一个特定的模式和设计下,代码单元的这8个值可重新定义为具有不同的位数大小,如图表12所示:
图表12
具有不同位数大小的8值代码单元的代码值的定义
Max8类
35位组
因此,陈氏框架下的代码单元现在是:首先通过代码单元用于容纳或表示的唯一代码值的最大数量来量度;代码单元的二进制位数成为用于量度大小的次级因素。因此,代码单元的代码值可具有相同的位大小或具有不同的位大小,这种选项取决于在用于编码和解码的特定模式和设计下如何定义。通过使用陈氏译码的代码调整技术,这种代码值定义或代码单元定义也可在编码和解码过程中在必要和适当情况下改变。
通过使用陈氏框架下的代码单元定义和代码值定义的这个新颖特征,可容易地设计用于在包括随机数据的数据分配中产生非均匀性的技术。它还可能研究随机数据的性质,并且允许根据代码值及其在特定数字数据输入流中发生的相关频率来描述数据分配的方式,使得可使用适当的技术来进行编码和解码用于例如进行压缩/解压缩的目的。在演示为任何特定数据集创建非均匀性的技术之前,在此介绍了用于3值代码单元的模式和设计,以结束信息理论中鸽巢原理的神话,即假设代码地址的数量不超过唯一代码值的数量。仅当代码单元大小仅根据位大小来测量时,代码地址的数量不超过唯一代码值的数量,例如1位代码单元、2位代码单元,依此类推。当代码单元可根据代码单元被设计来容纳的代码值的最大数来量度时,情况并非如此。根据二进制位数来量度代码单元的常规方法提出了一个限制,即代码单元可容纳的代码值的数量由用于代码单元的二进制位的数量来确定;例如,3位代码单元最多可保存8个唯一代码值,每个代码值不多不少使用3个位来表示。3位代码单元不能容纳超过8个唯一代码值。而且,当使用这种常规定义读取数据时,如果编码器或解码器存在,那么编码器或解码器可能无法避免读取所有8个唯一代码值;这意味着,编码器或解码器无法仅读取3个唯一代码值,并且如果其他5个唯一代码值存在于数据集中,那么就将其忽略或丢弃。这意味着通过使用常规的代码单元定义,相关联的编码器将始终使用相同位长度或位大小的代码值来处理数据集,所述位长度或位大小不短于或不长于代码单元定义中使用的位大小。在陈氏框架下去除这种限制。因此,由于读取和解释数据的常规设计,可用的代码地址数量是与代码单元被设计来容纳的代码值的数量完全相同。因此,如果所有唯一代码值出现在数据集中,那么所有代码地址都已用尽,使得(除了陈氏译码的使用之外)可能无法通过仅利用数据集中存在的代码值的频率分配的非均匀性的技术来压缩随机数据集;对于随机数据集,数据集的所有代码值的这种频率分配趋于均匀,即整个数据集的位0与位1之间的比率是1比1,并且代码单元的所有代码值的频率大致相同。因此,迄今为止设计出来的现有技术,除了不存在比数据集中存在的唯一代码值的数量更多的可用代码地址之外(因为所有唯一代码值也出现在随机数据集中),也没有利用随机数据集的代码单元的代码值的频率分配的非均匀性来进行压缩。图表13显示出使用刚引入陈氏框架中的新颖特性(即,代码单元由最大代码值数量来量度;二进制位数被作为整体用作代码单元的辅助量度)的3值代码单元、Max3代码单元的设计:
图表13
在2个版本下使用5个位的3值代码单元的代码值的定义,一个位具有的位0与位1比率为2∶3,并且另一个为3∶2
Max3类
5位组
这两个版本的3值代码单元定义的设计用于说明一点,即可为代码单元创建更多数量的代码地址,多于其被设计成可持有的不同唯一代码值的数量,从而提供比数据集中出现的唯一值的数量更多的地址。假设使用由三个3值代码单元组成的处理单元的模式被设计用于对数字数据输入流进行编码和解码以便进行数据压缩。在所述设计中,逐个读取数字数据输入流的代码单元,并且使用0头码设计的定义将3个相邻代码单元编码(或解码以便随后恢复)成一个单元,处理单元;编码或解码的作用是通过使用0头码设计的代码单元定义作为读取器来读取三个3值代码单元(逐个读取三个),并且随后将三个代码单元的代码视为一个代码块(一个处理单元的代码)并且利用另一个代码块来对其进行改变,例如使用1头码设计的代码单元定义作为读取器来在编码时对其进行编码或写入;或者通过利用1头码设计代码单元定义读取编码代码并且利用0头码设计代码单元定义将其写回来在解码时将其恢复成原始代码;或者使用其他设计的映射表来进行编码和解码。由于在此使用的代码单元存在3个唯一的代码值,因此处理单元被设计来最多容纳27个唯一值(3个值乘以3个代码单元,等于27个唯一值)以便进行表示。可使用以下数学公式来计算可用的地址数:
2的(代码单元的代码值的平均位大小*处理单元的代码单元数)次方
因此,对于由使用0头码设计的三个3值代码单元组成的处理单元,可供使用的地址数量为:
2的(5位/3值*3单位)次方=2的5次方=32
存在27个唯一值可用的32个唯一地址。这是宣告结束信息理论中鸽巢原理的神话的第一标志。通过使用这种设计,可能存在比必须表示的唯一值的数量更多的地址。因此,例如人们可以为27个不同的唯一值所用的5位值减少为4位值或5位值[例如,通过使用绝对地址单分支,4位的值范围是16(较低的值范围)并且5位的值范围为32(较高的值范围),并且在此处理单元的实际值范围是27(实际值范围);因此27-16=11,存在11个值必须在4位范围内单分支;因此,将存在使用4位的5值地址和使用5位的22值地址]。因此实现了一些位节省。而且,在另一种设计中,可在27个唯一地址顶上保留1或2个或更多地址(最多5个),以用作于指示将要进行的特殊处理的特殊地址。例如,当存在于编码代码中时,第28个地址可用于指示下两个处理单元包含与最后一个处理单元相同的数据值并且因此包含相同的编码代码。以这种方式,它为编码和解码数据用于压缩和用于加密提供了更大的灵活性。如果将要使用28个地址,即27个唯一值地址和1个特殊处理地址,那么存在使用4个位的4个地址[16-12(保留用于单分支)=4]以及使用5个位的24个地址[(28-16=12)*2=24]。稍后将在提供证据以及如何可压缩随机数据集的实例中更详细地说明三个3值代码单元的处理单元以及相应的编码和解码过程的这种模式和设计的用途。目前,首先将讨论在特定数据集中创建非均匀性的技术如下:
为了理解改变数据集的位0与位1之间的比率以用于将非均匀性创建到相应的数据分配中以使得能够进行压缩的目的的技术,以下在具有不同代码值定义的6值代码单元的图表14中显示出代码值定义和代码单元定义的更多实例:
图表14a
使用20位(Max6类20位组)的6值代码单元的代码值的定义:1个多分支具有2个版本,一个版本具有的位0与位1比率为5∶15,并且另一个为15∶5
Max6类
20位组
图表14b
使用16位(Max6类16位组)的6值代码单元的代码值的定义:3对单分支具有2个版本,一个版本具有的位0与位1比率为7∶9,并且另一个为9∶7(偏斜分布)
Max6类
16位组
图表14c
使用16位(Max6类16位组)的6值代码单元的代码值的定义:2对无偏斜单分支具有2个无偏斜版本,这些版本具有相等的位0与位1比率,位0与位1比率都为8∶8(无偏斜分布)
Max6类
16位组
图表14d
使用17位(Max6类17位组)的6值代码单元的代码值的定义:1对单分支和1个多分支具有2个版本,一个版本具有的位0与位1比率为6∶11,并且另一个为11∶6
Max6类
17位组
图表14e
使用18位(Max6类18位组)的6值代码单元的代码值的定义:1对单分支和1个多分支具有2个版本,一个版本具有的位0与位1比率为6∶12,并且另一个为12∶6
Max6类
18位组
图表14f
使用19位(Max6类19位组)的6值代码单元的代码值的定义:2对单分支具有2个版本,一个版本具有的位0与位1比率为6∶13,并且另一个为13∶6
Max6类
19位组
从图表14可看出,通过使用具有不同的位0与位1比率的16位至20位,对于6值代码单元可存在多于一个定义。因此,代码单元可主要通过其所拥有的唯一数据值的最大数来进行分类,并且随后通过位大小的数量进行分类,并且随后通过无论是0头码还是1头码的头码设计的版本进行分类。除了将其用作用于描述数字数据集的特性或特征的语言(陈氏框架语言,使用如本发明中揭示的用于描述陈氏框架的结构元素以及陈氏译码技术的特性或特征的术语)的基本单元之外,这种定义代码单元的模式允许在使用代码单元作为用于操作数字数据的基本单元时具有很大的灵活性。这与仅根据位大小来定义代码单元的常规方式不同,在常规方式中某个位大小的代码单元可仅具有1个版本的代码定义,其中将要表示的唯一值的最大数量可能不会变化(例如,对于以常规方式定义的3位代码单元,存在8个唯一值来表示,并且人们不可能仅表示8种可能组合中的6个唯一值而忽略其他两个唯一值,从而使得它不被处置或处理;即,当它们确实出现在具有以常规方式定义的3位代码单元的数据集中时,人们可能仅仅无法仅处理6个唯一值而不处理其他两个唯一值)而且头码设计也不会变化;而陈氏框架下的代码定义模式允许代码单元定义具有许多不同版本的定义、代码单元总体位大小变化、代码单元值位大小变化、并且代码单元被设计来容纳的唯一值的数量变化以及0头码或1头码设计变化。
可针对6值代码单元的每种不同设计类型来利用不同模式与代码值的定义之间的上述差异来将非均匀性创建到现有数字数据集中,例如改变位0与位1比率。例如,图表14c提供了16位6值代码单元的2个无偏斜版本(即0头码设计和1头码设计)。除非另有特别说明否则0头码设计版本用于下文的讨论。与图表14b中的对应的3对偏斜单分支版本相比,无偏斜版本和3对偏斜单分支版本都使用16个位来表示6值代码单元的6个唯一值;它们的区别仅在于所使用的位代码的模式以及位0与位1之间的比率,其中无偏斜版本的比率为8∶8,并且3对偏斜单分支版本为7∶9。因此,可在这两组6个代码值之间进行交叉映射,以便增加无偏斜版本的位1的数量,使得在映射转换后新数据集的位0与位1比率从8∶8朝向7∶9侧的比率转换。然而,在进行一些试验之后,通过使用一次编码转换,用于随机数据集的所述比率的变化被发现是可能的但是相对较小。这是因为在随机数据集中找到的6个唯一代码值的频率分配的性质而决定的。图表15给出了考虑到在2017年2月22日提交的PCT申请PCT/IB2016/054732的通过运行自动程序所产生的结果的一个实例(因为此类自动程序已根据优先权要求列入本PCT申请中,人们可通过参考上述PCT申请获得对它们的访问,并且因此将不再列在本PCT申请中;然而,当连同自动程序库帮助文件一起讨论其用途时,将列出用作随机数据集可能受到压缩的最终证据的程序,使得本领域技术人员可看到如何可构造用于进行编码和解码的数据编码器,以用于在形成陈氏代码和陈氏文件中使用陈氏译码的方法和技术在陈氏框架的实际实现方式中进行加密/解密和压缩/解压缩的目的),使用80,000个随机二进制位如下:
图表15
用于无偏斜版本的三个0头码设计的6值代码单元的6个唯一代码值的频率分配
图表15仅是这类生成的一个实例。运行生成它的自动程序一次将生成一个这种实例,每个实例将与其他实例略有不同。但是一般而言,6值代码单元的频率分配的此类实例每次针对所关注的6个唯一代码值维持大致相同的比例。无偏斜版本的代码值与6值代码单元的3对单分支版本之间的交叉映射以及相关计算如图表16所示:
图表16
无偏斜的6个代码值与6值代码单元的3对单分支版本之间的交叉映射
因此可看出的是,通过这种交叉映射,位1的数量已从80000个总二进制位中增加了41个位。这是相对较小的数字。然而,如果可继续增加位1的这种趋势,那么数据分配在乘数效应下将逐渐偏向位1。偏斜越大,可实现的压缩节省越大。因此,应当尝试更多的实验来更多地了解代码单元的不同设计的代码值之间的交叉映射的模式。在这种情况下,无偏斜和3对单分支版本都使用16个位,并且映射是以2位值映射到2位值以及3位值映射到3位值的这种方式来完成的(即,使用用于相应的代码单元值的相同的位大小编码器),因此位使用不存在变化,但是位0与位1比率仅存在略微变化。而且,对于所有上述版本的6值代码单元设计,通过使用16位到20位,每个位大小在大多数情况下确实具有2个对应版本(即0报头设计与1报头设计)。因此,可从一个编码周期到另一个编码周期利用这两个版本的代码值之间(或者甚至在图表18中的一个版本本身之间)的交叉映射,以用于改变数据集中的位0与位1之间的比率的目的,而不必改变总的位使用。假定第一编码周期可使用如图表16所示使用16位的两个版本之间的交叉映射,下一个周期可使用20位版本,并且第三周期可使用18位版本,依此类推。当然,在进行这种交叉映射的过程中,应当首先找到用于代码值读取的频率分配,并且设计最佳交叉映射表,使得根据这2个位值之间的位比率增加特定位(位0或位1)的趋势将从一个编码周期维持到另一个编码周期。而且,不仅使用相同位大小的2个版本的代码单元设计之间的交叉映射可用来实现此目的。如图表17所示,也可仅使用1个版本的代码单元设计本身的交叉映射:
图表17
无偏斜版本的6值代码单元本身的6个代码值之间的交叉映射
可看出,通过使用任何代码单元设计本身的代码值之间的交叉映射也可改变位0和位1之间的比率。并且在图表17中所示的这种情况下的结果甚至比使用图表16中的2个版本的代码单元设计更改的结果更好。
此外,出于将位0与位1的比率向一侧倾斜的目的的这种交叉映射不仅可使用6值代码单元设计来完成,而且可在不同的编码周期中使用针对任何X值代码单元的代码单元设计来完成。例如,第一周期可使用6值代码单元设计,并且下一个周期使用12值代码单元设计等等。只要维持倾斜趋势就是如此。因此,对于从数据分配频谱中的位0与位1比率的任何点开始的任何特定数据集,存在无穷无尽的机会来改变位0与位1之间的比率。并且只要找到并记录了这种交叉映射的模式,这种交叉映射逻辑及其针对在数据分配频谱中从位0与位1比率的任何点开始的数据集所遵循的路径就可嵌入编码器和解码器中。或者可将这种交叉映射的逻辑和路径作为指示符放入编码代码的报头中,以用于每个编码周期,使得在稍后解码时可正确地且无损地恢复原始代码。当然,在编码器和解码器中嵌入代码值的交叉映射的这种逻辑和路径有助于进一步最小化位使用,用于在压缩编码阶段期间进行压缩的目的。因此,在没有改变总位数数目的使用情况下,通过使用单独的相同的代码单元设计或者不同的代码单元设计的代码值的交叉映射,一次或多次,来改变数据集中的位0与位1之间的比率来改变数据分配,可用作为一个中间步骤,用于在数据集中产生非均匀性的目的,使得可在使用其他技术进行压缩的编码阶段期间使得特定数字数据集的压缩成为可能或者稍后增强。而且,不论在特定阶段或在任何编码周期中改变数据集的位大小并非很重要,最重要的是最终结果。因此,改变数据分配以及任何数据集的位数使用始终与编码步骤相关联。这一启示的新颖特征在于编码应当以这种方式设计,即任何数据集的数据分配的改变一般应根据改变位0和位1比率而朝向一个方向倾斜,用于进行数据压缩的目的。除了使用代码单元定义作为读取器和写入器来改变数字数据集的位0∶位1比率之外,处理单元定义还可用于与段落[115]和图表55以及段落[116]和图表56中所示相同的目的。结果从而好得多。因此,显而易见的是,通过使用更大的代码单元大小或更大的处理单元大小,将生成、捕获和产生更大的差异作为特定数据集的数据分配中的非均匀性。
因此,在根据使位0∶位1的比率大体朝向一个方向倾斜(在适当的情况下到达某个点)来改变任何数据集的数据分配的中间阶段之后,可使用适用于在位0∶位1比率的点处压缩这种分配的数据集的技术来压缩数字数据集。因此,如果首先给出用于进行压缩的随机数据集,那么可使用以上段落[62]至[64]或者以下段落[115]和[116]中概述的技术来将位0∶位1的比率改变为朝向一个方向倾斜,随后根据数据分配,可使用代码值的交叉映射技术来进行压缩,并且例如在现在使用的实例中这次使用相同值大小但不同位大小的代码单元的代码值的交叉映射:具有不同位大小的6值代码单元,例如使用20位大小的6值代码单元(或者在适当的情况下任何其他位大小)来读取数据集,并且将这些代码值与19位大小(或者在适当的情况下任何其他位大小)的6值代码单元的这些代码值交叉映射以用于编码目的,这取决于处理中的数据集的代码值的频率分配。简而言之,在进行代码值的交叉映射时,为了根据位0∶位1比率来改变数据分配,使用具有被以一一对应关系映射到相同位值大小的数据值的代码地址的相同的X值代码单元;然而,为了进行数据压缩以减少位使用,应转而使用相同X值的代码单元,它们具有一一对应映射的关系,但数据值具有不同的位值大小。然而,这并不排除使用不同代码值大小的代码单元来改变位数使用以及一次性改变位0与位1的比率的一种形式。这同样适用于将处理单元用于此目的。
因此从以上可看出,在经修改的陈氏框架下,代码单元大小现在可通过代码值的数量以及由如图表14中给出的用于具有不同的位大小的6值代码值的实例所示的二进制位的数量来测量,也可研究和发现数据集的其他特征,例如用于具有一定数量的值和一定位大小的任何代码单元定义的代码单元的唯一代码值的位0与位1的比率和频率分配。这有助于描述任何数字数据集以及出于任何目的使用适当的编码和解码技术,包括进行数据加密和数据压缩以及原始数字数据的正确和无损恢复的目的。
随着代码单元大小的定义的改变,代码单元现在可根据代码单元被设计来容纳的代码的数量并且根据用于代码单元作为一个整体的二进制位的数量来量度,处理单元(用于编码或者用于写入一个编码代码块的单元)可仅由1个代码单元组成,如图表14所示,具有相同代码值数量的代码单元可针对每个代码值并且针对代码单元作为整体被设计成具有不同的位大小。因此,代码单元,即基本读取单元,可本身单独使用,而不必与其他读取单元组合以形成处理单元,即基本的写入/读取单元,以用于在编码过程中写入编码的代码并且用于在解码过程中读回。
随机数据长期以来都被认为是不可压缩的。现在是时候使用上所述的陈氏框架来改变数据集中的位0与位1的比率并且将要揭示的其他技术如下:
这些其他技术可被归类成在陈氏框架下的陈氏译码中使用的编码技术。识别和组织代码单元的特性或特征(无论是单个还是组合)以用于产生陈氏代码的分类代码就是这样一种技术,例如使用代码单元的排名和位置来产生RP代码或者设计可用来描述代码单元的代码值(单个还是组合)的数学公式,并且还可用于编码和解码目的,例如用于创建陈氏代码的内容值代码,CV子块。因此,陈氏框架下陈氏代码的基本部分(描述代码单元的特性或特征的部分)可分为分类代码和内容值代码(或简称内容代码)。可视为属于陈氏代码的其他部分包括其他识别码或指示符(例如包含在陈氏代码文件的主报头中或者用于数字数据文件的部分的部分报头中),所述识别码或指示符用于标识用于编码和解码陈氏代码的基本部分的交叉映射表(映射表指示符)、对特定数字数据输入进行编码和解码的周期数(周期指示符的数量)、针对陈氏代码文件计算的校验和(校验和指示符)、用于任何特定编码和解码周期的数字数据的未编码的代码单位(如果存在),以及出于在适当和必要情况下标识以及编码和解码陈氏代码的目的而由设计者设计的其他指示符。例如,一个这种指示符可为构成用于编码和解码的超级处理单元的数量;其他可在适当和必要情况下用于通过频率调整陈氏代码的分类代码的指示符以及用于通过频率调整陈氏代码的内容代码的指示符(即,用于将使用分类代码和内容代码的0头码或1头码设计在适当情况下调整为在处理中的数据集的位0∶位1比率的模式的频率指示符,简称为频率指示符)。超级处理单元的概念和用法以及通过频率的陈氏代码的调整也将在稍后进行揭示。
在上述讨论中,已在几处讨论了在陈氏代码中使用的一种基本技术,即绝对地址分支。值得详细说明所述技术如何用于压缩随机数据集,即减少整个随机数据集的位存储使用。在讨论代码地址的数量与代码值的数量之间关系的问题时,段落[60]和[61]中简要介绍了这种用法。为了刷新大家的记忆,在所述讨论中,由三个3值代码单元组成的处理单元被用来揭示代码地址的数量可多于用于编码和解码的处理单元被设计来容纳的代码值的数量。这可能通过使用代码单元的新定义来实现,使得可将代码单元的大小设计来通过代码单元容纳的代码值的数量并且通过用于代码单元的不同的唯一代码值的位数以及整个代码单元的位数来度量。这种特征使用6值代码单元的不同设计和定义如图表14所示。并且由于使用了绝对地址分支技术,因此也可能实现这种特征。
在所述讨论中,它还简要介绍了处理单元的27个唯一代码值如何由代码地址表示,以及使用一些备用地址作为特殊处理地址用于编码和解码目的。例如,在一种设计中,27个唯一代码值可由五个4位基本地址和二十二个5位单分支地址表示。因此,以下实例说明了代码值如何与代码地址交叉映射。
图表18
27个值的分类绝对地址分支代码表(CAABCT)
实施例I
分类PU陈氏代码中的位表示,包括类位、正常位和分支位
通过使用以上分类绝对地址分支代码表(CAABCT)的实施例I,处理单元的三个3值代码单元的27个代码值可逐个交叉映射到陈氏代码中,包括类位(分类代码)以及正常位和分支位(内容代码)。然而,通过使用CAABCT的此版本的实施例I,由于随机数据的频率分配而导致可能无法压缩随机数据集。然而,它可压缩数字数据集,所述数字数据集的所有27个唯一代码值的频率大致相同或大致均匀地在所有27个唯一代码值中(例如,如果特定数据集中的所有27个唯一代码值的频率为1,那么所有27个唯一代码值一起使用总共135个位,如下图表20中所示,并且如果它与以上图表18中的仅使用总共130个位的代码地址交叉映射,那么应当存在9个位压缩节省)。因此,不仅重要的代码地址的数量而且唯一代码值的频率分配在压缩随机数据集的尝试中存在另一个障碍,现在将要解决所述问题。
由于图表19中所示的3值代码单元的定义的性质,代码单元的位0∶位1的比率为2∶3,三个3值代码单元的处理单元的27个代码值的频率分配不是均匀分配,如图表20所示:
图表19
3值代码单元定义:0头码设计
其中位0∶位1比率=2∶3
图表20
由三个3值代码单元组成的处理单元的从使用图表19中的代码单元定义的80,000位的随机数据集读取的27个唯一代码值的未分类频率分配的实例
通过运行另一次自动程序来生成图表20中的频率数字,结果在图表21中列出:
图表21
使用生成图表20的程序生成的另一结果
0-0-0:2273
0-0-10:1175
0-0-11:1149
0-10-0:1123
0-10-10:531
0-10-11:593
0-11-0:1060
0-11-10:548
0-11-11:542
10-0-0:1045
10-0-10:542
10-0-11:576
10-10-0:551
10-10-10:276
10-10-11:288
10-11-0:559
10-11-10:266
10-11-11:294
11-0-0:1072
11-0-10:508
11-0-11:561
11-10-0:540
11-10-10:277
11-10-11:279
11-11-0:591
11-11-10:262
11-11-11:304
频率:2273 1175 1149 1123 1072 1060 1045 593 591 576 561 559 551 548 542542 540 531 508 304 294 288 279 277 276 266 262
原始的:80001
表1大小:82133
表2a大小:80001
表2b大小:84373
表3大小:81444
可看出的是,在本实例中使用的三个3值代码单元的处理单元的27个唯一代码值的频率分配与图表20中列出的一个相似或成比例。表1的大小是图表21的27个唯一代码值之间的交叉映射所产生的位大小,所述代码值以位使用进行分类(这种27个唯一代码值的分类在以下段落[78]中的图表23中列出),并且在分类绝对地址分支代码表(CAABCT)中找到的27个唯一代码用于如段落[73]的图表18中列出的实施例I中使用的27个值。图表21中的表2a的大小是使用另一个CAABCT的交叉映射的结果,如下在图表22中的实施例II中发现的:
图表22
27个值的分类绝对地址分支代码表(CAABCT)
实施例II
分类PU陈氏代码中的位表示,包括类位、正常位和分支位
可看出的是,在以上实施例II对于其27个唯一表代码使用相同的位使用时,如在使用于构成处理单元的三个代码单元的3值代码单元0头码设计(是值1=0、值2=10并且值3=11)读取的数据集中产生的27个唯一代码值(以位使用进行分类)中使用的,位使用结果与在图表21中生成和列出的原始随机数据集的实例相同。图表21中生成并列出使用0头码设计的3值代码单元的上述3项读取的随机数据集占用80001个位,并且通过对使用与实施例II中的CAABCT(图表23中的表2a)的表格代码的交叉映射来如此读取的所述随机数据集进行编码的位使用因此是相同的:80001个位。实施例II中的CAABCT针对其所有27个唯一表代码使用高达135个位(每个表代码1次计数);实施例I中的CAABCT仅使用130个位。但是由于随机数据集中的27个唯一代码值的非均匀频率分配(这非均匀是因为在读取时,使用的是3值代码单元的0头码设计,而不是使用以针对标准和一致位大小的代码单元而采用的每个值设计的标准和相同的位大小来读取数据的常规方式来读取),实施例I中的CAABCT(使用130个位,用于其27个唯一表代码的每1次计数的均匀频率分配)在编码8,0001个位的原始随机数据集时,在位使用上,使用得比实施例II中的CAABCT所使用的更多(使用135个位,用于其27个唯一表代码的每1次计数的均匀频率分配),从而使用8,1989个位如图表23中所示,这是扩展而不是压缩。表2a至表3的结果(如段落[85]至[93]和图表29中讨论的,表2a是使用CAABCT 2的交叉映射结果,表2b是使用CAABCT 1的交叉映射结果并且表3是使用CAABCT 0的交叉映射结果)在图表21中列出并提取如下:
表2a大小:80001
表2b大小:84373
表3大小:81444
以上给出了在交叉映射从随机数据集读取的PU值(以位使用进行分类)之后的编码的位使用结果,其中其他位使用模式的表代码如下列出:
全局$映射表1[27]=[4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]
全局$映射表2a[27]=[3,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6]
全局$映射表2b[27]=[3,5,5,5,5,5,5,6,6,6,6,4,4,4,4,4,4,6,6,4,4,4,4,6,6,6,6]
全局$映射表3[27]=[3,3,4,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6]
因此可看出,似乎难以设计具有27个唯一表代码的代码表,当用于编码从随机数据集读取的27个唯一代码值时,可实现位使用中的任何节省或压缩。因此,为了压缩随机数据集,必须设计、开发和使用其他技术来达到这种目的。如以下揭示的,一种此类设计是通过使用超级处理单元以及使用专门设计的代码表来进行映射或编码。
使用超级处理单元的概念源于理解随机数据集实际上可认为由许多非均匀的数据子部分组成,并且如果随机数据集可能由于数据代码值的频率分配的性质而无法压缩,那么可能将随机数据的整个数字数据输入文件分成非均匀数据的子部分,所述子部分在此称为超级处理单元,使得可应用这种单独的超级处理单元一个接一个地利用非均匀数据分配以使压缩成为可能的技术,以使得可能对随机分配的整个数字数据输入进行压缩。这是分而治之的策略。
因此,整个数字数据输入文件可被视为大型处理单元,所述处理单元包括在任一极端处从随机或甚至到完全非均匀的数据分配频谱的某个点上的数字数据的所有处理单元。在压缩科学领域中,仅可能通过利用数据集的非均匀性质来实现压缩技术。并且到目前为止,随机分配的数据集被认为是不可压缩的。因此,由整个随机数据的处理单元组成的单个大型处理单元可被分成由一定数量的处理单元组成的子部分,所述子部分称为超级处理单元,使得技术可设计用于压缩这些数据子部分。因此,大型处理单元被定义为整个单元,整个单元包括将要进行编码和解码的所有数据代码,因此排除未编码的代码单元,所述代码单元由不经受编码和解码过程的数据代码组成,例如因为在适当情况下未达到一个处理单元或一个超级处理单元的大小。出于某种目的,可将大型处理单元分为用于编码和解码的多个超级处理单元,例如通过这种划分或其他目的来压缩随机数据。用于超级处理单元的数据的编码和解码可能需要通过对处理单元进行的编码和解码所使用的编码和解码技术或过程来进行一些调整。因此,超级处理单元是由一个或多个处理单元组成的数据单元。对于针对处理单元进行的编码和解码可能经受一些编码调整。
为了理解超级处理单元如何用于压缩随机数据的目的,由图表20中的0头码设计的三个3值代码单元组成的处理单元的27个唯一代码值被首先在以下图表23中分类并列出:
图表23
由三个3值代码单元组成的处理单元的从使用图表19中的代码单元定义的80,000位的随机数据集读取的27个唯一代码值的分类/未分类频率分配的实例
应当注意的是,以上图表23中的27个唯一代码值的分类排序值可根据位使用而分成4组:组1的1个代码值为3位,组2的6个代码值为4位,组3的12个代码值为5位,并且组4的8个代码值为6位。由于随时产生的随机数据的频率分配的稍微变化,特定组内的每个代码值的排名可能因随机数据集的不同而稍微变化。但是,关于一个随机数据的实例与另一个实例之间的频率方面,代码值将不会从一个组移动到另一个组。如果它们的变化如此之大,那么数据分配根本就不是随机的。
由于随机数据具有这种类似的数据代码值的频率分配,因此可设计不同版本的CAABCT来用于与它们进行交叉映射,并且在使用这种CAABCT进行编码之后的位使用的结果已在图表21中提及并示出。对于CAABCT的表代码与在用于处理某种数据分配的特定数据集的陈氏框架下的处理单元和代码单元的特定模式和设计的数据代码值的交叉映射,所关注的27个唯一代码值的数据代码值的频率排名可与随机数据集的代码值不同。因此,必须知道这27个唯一代码值频率的顺序,使得可设计CAABCT的表代码和27个唯一代码值的交叉映射,以便尝试压缩的最佳结果。因此,应当首先通过分析所关注的数据集来获得唯一代码值频率的这种顺序,并且必须使这种信息可用于编码器和解码器以用于进行处理。这种信息可从一个数据集到另一个数据集而变化,因此可把它包括在编码代码的报头中,以便稍后提供给解码器用于正确地恢复原始数据集。对于随机分配中的数据集以及对于编码和解码的数据代码值和表代码值的交叉映射的分配,也是如此做法。然而,如果认为随机数据集的组内的代码值的频率排名的略微变化是可接受的,那么可从报头中省略这种信息。然而,将要用于处理CAABCT的指示符(或整个CAABCT的内容)仍然保留在报头中,或者在适当的情况下可用于或构建到编码器和解码器中。在此使用CAABCT是因为AAB技术用于使用0头码设计的三个3值代码单元来为处理单元的27个唯一代码值设计映射代码表。因此,不使用AAB技术的其他映射代码表也可被设计来在适当的情况下使用。因此,提及用于本讨论关于使用CAABCT的情况,也适用于映射代码表通常在编码和解码中的用途。
现在是时候看看CAABCT如何用编码中的超级处理单元来为随机数据集进行压缩。由于超级处理单元的用途是为了将随机数据集分成数据的子部分的目的,因此超级处理单元被设计成具有数据分配,所述数据分配与随机数据集不同,使得用于压缩非均匀数据的技术可用于进行压缩。例如,具有与一整套处理单元(在本实例中,27个唯一的数据值条目)相同或更少数量的处理单元的超级处理单元被保证具有非均匀的数据分配。然而,这并不意味着所有非均匀的数据子部分都是可压缩的。这是因为在压缩某个数据分配的数据中有用的任何压缩技术或映射代码表可能不适合于另一个不同数据分配的数据。这意味着必须使用多于一种压缩技术或一个映射代码表来压缩不同数据分配的超级处理单元。
在采用把随机数据集分成超级处理单元形式的数据子部分的这种方法和技术中,首次尝试将超级处理单元分类为两组,使用一个CAABCT来编码和解码一组的超级处理单元的处理单元,并且使用另一个CAABCT来编码和解码另一组的超级处理单元的处理单元。以这种方式,关于哪个CAABCT用于两个组中的任何一个组的一位指示符,必须应用于一个超级处理单元。因此,使用这种方法进行压缩必须产生额外的位使用。并且与通过使用每个超级处理单元的CAABCT位指示符以及其他附加信息(例如报头中所包含的那些)必须引起的位使用相比,使用相关CAABCT进行压缩而实现的编码应当导致更多的位使用节省。这是在未来非常具有挑战性的任务。
迄今为止建议用于此目的的技术是:
(a)使用超级处理单元;
(b)将超级处理单元分成割,在本文的这种情况下,首先分成两组;以及
(c)使用CAABCT(这种情况为两个)用于(两组超级处理单元组的)唯一数据代码值与唯一表代码值之间的交叉映射并且使用CAABCT指示符。
关于超级处理单元的大小将要被划分以供使用以及如何对超级处理单元进行分组或分类以及将要使用哪些CAABCT,是问题所在。
这些问题的答案必须在图表23中讨论的上述情况下使用的实例中找到,其中处理单元被设计为包括0头码设计的三个3值代码单元,因此具有对于大约80000个位的随机数据集以频率排名分类的27个唯一代码值。图表21显示出用于段落[73]至[75]中的讨论的两个CAABCT可能无法使随机数据集的压缩成为可能。这是将随机数据集分成超级处理单元以便进行编码,被建议作为以此情况的解决方案。因此,必须以这种方式来划分超级处理单元,其方式使得它们中的每一个都不具有随机数据分配。因此,可使用具有固定位大小或固定范围的位大小或固定数量的处理单元的超级处理单元,所述超级处理单元确保每个超级处理单元内的数据分配不是随机的。因此,段落[73]至[75]中的讨论表明,确定由27个或更少的处理单元组成的超级处理单元应当满足所述标准,因为27个唯一代码值(如果所有存在或不存在)不构成在常规意义上使用固定位值大小设计的代码单元的随机数据集。在常规意义上使用固定位值大小设计的代码单元的随机数据集在使用由0头码设计的三个3值代码单元组成的处理单元的模式和设计读取时表现出如图表23所显示的特有数据频率分配特征,而不是如图表18中所示的27个唯一值中的每一个的频率分配特征。使用固定大小的超级处理单元可为实现划分的一种方法。因此,暂时首先考虑把超级处理单元的大小定为27个处理单元。
在此具有27个处理单元大小的超级处理单元不保证每个独特的27个代码值将存在于如此划分的每个超级处理单元中。在这些超级处理单元中,每个可具有不同的数据分配,一些存在所有27个唯一代码值,一些缺失一些独特的代码值,而其他唯一代码值不止一次出现,所有这些都是以不同的方式存在。因此,为了简单起见,在此的实例将这些不同的数据模式分成两组,用于编码和解码的目的。图表23中的80000位随机数据集的位使用和频率分配的统计值在图表24中进行完善,如下所示:
图表24
由三个3值代码单元组成的处理单元的从使用图表19中的代码单元定义的80,003位的随机数据集读取的27个唯一代码值的统计值的实例
处理单元
从以上图表24可看出的是,27个唯一值在位使用或频率特征方面可分为4类。如果类别1和类别2形成为一组(组0),那么在频率计数方面其约占49.7%,并且类别3和类别4形成为另一组(组1),其约占50.2%。这两组的频率计数大致相同。因此,通过将随机数据集分成具有非均匀数据分配的超级处理单元(使用27个处理单元),预计一些超级处理单元将具有来自组0比来自组1的更多的唯一代码值,另外一些则反是。因此,如果映射代码表(CAABCT 0)可被设计成在交叉映射到组0中的唯一数据代码值时使用较少的位值,而不是组1中的,并且另一个映射代码表(CAABCT 1)则反是。那么具有来自组0的更多唯一数据代码值的那些超级处理单元将受益于使用CAABCT 0来编码用于压缩目的,并且出于相同目的,具有来自组1的更多的超级处理单元将受益于使用CCABCT 1。然而,存在关于一个指示符位用于指示哪个映射代码表用于每个超级处理单元的用途的额外花费的问题。另一方面,组0超级处理单元(即具有来自组0的更多数据值的那些超级处理单元)有时将具有,比来自组1,多于1个数据值条目来自组0。对于组1超级处理单元也是如此。因此,每个超级处理单元的映射表指示符位的这种额外花费可能仍有机会由上述提及的代码值出现模式所抵消。然而,一些其他技术可用来有助于,对于使用这种超级处理单元和映射代码表的编码和解码技术时,节省更多位使用空间。
这些其他技术之一是人工智能(AI)技术[或者更确切地说是人类智能(HI)技术]的使用,所述技术在编码和解码中为每个超级处理单元免除使用映射代码表位指示符。在此使用的人工智能技术是通过建立AI标准,通过所述AI标准来区分每个编码的超级处理单元的内容,其中两个映射代码表中的一个应当用于编码对应的超级处理单元。以这种方式,如果适当地设置AI标准,那么可省去映射代码表位指示符。以下是关于可使用的AI标准的一些建议:
(a)超级处理单元中存在的代码值(识别代码值),所述代码值可用于识别哪个CAABCT用于其编码;因此,考虑到这个标准,这种代码值应当由两个不同的CAABCT编码在不同的表代码值中;并且在设计所关注的两个CAABCT的阶段期间,必须满足这个要求;同样由于这个要求,用于停止使用一个映射代码表来编码超级处理单元的终止条件或标准将被改变;例如,首先如设定超级处理单元的大小是27个处理单元代码值,但由于在超级处理单元中存在的27个代码值中可能不总是找到识别代码值,因此终止条件必须修改为:要么
(i)使用识别代码值作为终止值,通过所述终止值,使用一个CAABCT对其前面的值代码及其自身进行编码,在此识别代码值之后,要再次进行评估,评估须要使用哪个CAABCT来对包括下一个识别代码值的那些代码值进行编码;通过使用这种技术,还可评估未包括识别代码值的原始码值的最后一部分,并且可使用两个CAABCT中的任何一个来进行编码;然而,以这种方式,必须在编码后将识别代码值添加到此部分的末尾;并且关于这个最后识别代码值是否是添加的一个代码或者是原始码值的一部分的指示符,要被添加到报头中,使得在解码时,识别代码值必须被解码或从恢复代码中删除;并且随后在此部分之后,可存在未编码的代码单元,所述代码单元包含不构成一个处理单元代码值的代码位(如果存在的话);要么
(ii)使用包含识别代码值的超级处理单元作为终止条件;这意味着如果从数字数据输入的报头开始,只有(在这种情况下27个代码值的)第三超级处理单元包含识别代码值,那么前3个超级处理单元的所有代码值都将在评估时使用一个CAABCT来进行编码,并且要再作出新评估,评估应要使用哪个CAABCT来对下一段代码值进行编码,这即下一个超级处理单元应包含其识别代码值;并且最后,不构成一个超级处理单元或即不具有识别代码值的原始代码的最后一部分代码可以如以上(i)中的方式来进行处理,或者仅留下来被包括在未编码的代码单元中;
(b)解码失败;使用一个CAABCT编码的代码值有时可能无法使用另一个CAABCT成功地解码;因此编码的代码值必须使用两个CAABCT进行解码,因为一个CAABCT必须是被选择用于编码的一个CAABCT;解码过程应当可以成功使用其来进行解码;使用另一个未用于编码的CAABCT来进行解码可能达不到这情况;
(c)编码代码较短;因为编码是用于进行压缩的目的,所以肯定将会选择产生最短编码代码的CAABCT;因此,在解码时,使用未用于编码的CAABCT来解码肯定将会在整体上产生较长的代码;
(d)重新编码不成功;因此,在使用两个不同的CAABCT进行解码时,产生两组不同的解码代码;这两组解码代码将可交换地再次使用两个CAABCT进行再次编码,有时使用另一个CAABCT而不是使用所选择的一个进行重新编码可能不会成功;特别是在两个不同的CAABCT中采用使用不同头码设计的三元组(trio)中的代码值;例如,使用0头码设计的一个CAABCT是使用下面的三元组:
0
10
11
作为后缀,和另一个使用1头码设计的CAABCT是使用下面的三元组作为代码值的后缀,即:
1
01
00
(这一点将在后面解释);编码失败的另一个证据是在重新编码时解码代码的最后几位不形成一个代码值,并且对于使用具有固定位大小或固定数量的处理单元的超级处理单元,重新编码的代码值不构成所设计的固定大小,在重新编码时会产生比固定大小的超级处理单元所有的更多或更少的代码;
(e)必要时在编码代码后加上额外的位;可存在着在使用上述AI标准评估之后仍有可能无法识别为编码选择的CAABCT的机会,必须将额外的位添加到编码代码的部分或单元的末尾以便进行这种区分;如果需要,这个附加位仅提供用于用作安全开脱,以开脱出不能正确分辨的情况;所述安全开脱可能很少需要实现,并且因此实际上可能不会为此使用到该等位存储,并且可能只有在所有上述AI标准都无法在矛盾的情况下提供明确的答案时才进行使用;有鉴于此,应当在编码过程中以及在编码的每个部分或单元完成之后进行这种AI评估;以及
(f)发现并设计为适当且有效使用的其他标准。
为了将上述启示更清晰的呈现出来,设计了两个此类CAABCT,以便在图表25和图表26中进一步详细阐述:
图表25
27个值的分类绝对地址分支代码表(CAABCT 0)
实施例III
分类PU陈氏代码中的位表示,包括组号、正常位和分支位/后缀
图表26
27个值的分类绝对地址分支代码表(CAABCT 1)
实施例IV
分类PU陈氏代码中的位表示,包括组号、正常位和分支位/后缀
从上述两个CAABCT可看出,对表格代码值的分组进行了一点调整,以便将前11个表格代码组合在一起成为组0,并且将剩余的表格代码组合成组1。这种分组调整是需要更容易的代码安排的结果。括号中的那些表代码值是三元组中的代码值。在CAABCT 0中,仅存在1个三元组,而在CAABCT 1中,存在6个。在CAABCT 0中,三元组是采用0头码设计,即具有以下形式的后缀:
0
10
11
而在CAABCT 1中,三元组则采用1头码设计,具有以下形式的后缀:
1
01
00
如段落[86](d)所述,不同设计的后缀的用途意味着AI区别。后缀设计是使用AAB技术产生的另一种用法。
以下图表27给出了,根据位大小分类的,三个3值代码单元的处理单元的27个唯一数据代码值与CAABCT 0和CAABCT 1的表代码值的交叉映射的统一视图:
图表27
数据代码值(图表24)与CAABCT 0和CAABCT 1的表代码值之间的交叉映射
处理单元
分类代码
当比较以上统计数据时,是否可使用上述两个CAABCT来压缩随机数据集并不是绝对清楚,因为映射表不适用于整个随机数据集,而是适用于,相对于其中任何一个CAABCT,在位使用方面,更好的适当的超级处理单元。在将随机数据集分成非均匀数据分配的超级处理单元之后的数据代码值的分配模式尚未确定。选择哪个CAABCT用于编码任何特定超级处理单元是基于实际的编码结果,而不是通过对组0和组1的数据代码值的数量进行计数,发现通过实际实现相应编码产生的位使用结果,是关于哪个CAABCT最适合用于特定超级处理单元的更准确的指示符。
根据各实施方案,可对上述技术进行增强,例如通过使用一个CAABCT来进行;所述CAABCT具有与用于是随机数据集的特征的27个唯一数据代码值分配,在位使用上,完全相同。一个这种CAABCT是CAABCT 1。CAABCT 1可重新分配用于交叉映射的目的,如下图表28所示:
图表28
数据代码值(图表24)与CAABCT 2和CAABCT 1的表代码值之间的交叉映射
处理单元
分类代码
CAABCT 2与CAABCT 1完全相同,不同之处在于:
(a)CAABCT 2使用0头码设计来用于其6个三元组(即0、10、11),而CAABCT 1使用1头码设计(即1、01、00)用于它们各自的三元组后缀;
(b)当用于交叉映射时,CAABCT2的唯一表代码值被映射到具有完全相同位大小的随机数据集的唯一数据代码值,即3位大小的表代码值被映射到3位大小的数据代码值,并且4位大小的表代码值被映射到4位大小的数据代码值,并且5位大小的表代码值被映射到5位大小的数据代码值,并且6位大小的表代码值被映射到6位大小的数据代码值;以这种方式来映射导致在编码之后相同的位使用,随机数据集的数据大小既不压缩也不扩展。
在压缩随机数据集的编码和解码时,可如下所述,略微调整在使用超级处理单元时所引入的技术。首先,当把随机数据集进行编码时,可采用CAABCT 2对随机数据集的数据代码值进行交差映射以便进行编码;即,使用0头码设计的3值代码单元的定义逐个读取随机数据集,这种连续读取单元中的三个,就形成一个处理单元,以用于与CAABCT 2一起用作交差映射从而进行编码。如上所述,处理单元以及超级处理单元随后一个接一个地编码。这是对除了未编码的代码单元,即剩余的不构成1个处理单元的大小并不可以被编码的少量代码位,之外的所有随机数据集的所有转换,从而产生根据CAABCT 2的转换代码。要对这个被转换后的数据集进行压缩(现在在使用CAABCT2进行交叉映射转换之后,这数据集不像之前那样随机),CAABCT 1随后便用于从转换数据集中划分的超级处理单元,该超级处理单元带有选定的终止条件,例如原始代码值000,现在被转换成010,CAABCT 2的对应表格代码值。因此,处理中的超级处理单元如果无论在哪里都能使用CAABCT1进行编码,从而能产生比同一超级处理单元的转换代码的位使用更少的编码代码,所述编码代码就可通过使用CAABCT 1来进行编码。由于终止条件包括用于编码的CAABCT表代码值010,如果使用CAABCT1对其进行编码,那么将010编码成011。因此,在使用CAABCT 2和CAABCT 1进行编码之后得到的编码代码,原始数据代码值000被转换成010并且随后转换成011。如果使用CAABCT 1不能减小超级处理单元的CAABCT2编码代码的大小,那么那些超级处理单元的CAABCT 2编码代码值随后保持未受影响。因此原始数据代码值000保持为010。因此,这也可作用于区分CAABCT 2代码与CAABCT 1代码的AI标准之一。由于CAABCT 2的6个三元组的后缀与CAABCT1的后缀不同,因此许多后缀指示符也可用于AI分辨的目的。段落[86]中提到的所有AI操作也可用于区分CAABCT 1代码和CAABCT 2代码。由于无需将其转换回原始数据代码值来进行AI分辨,因此解码过程应当毫无疑问是成功的。因此,为了把在使用了CAABCT 2进行的所有映射编码及随后再使用CAABCT1进行选择性交叉映射所得出的编码进行解码,可使用AI技术,来为含有在段落[86]中提到的CAABCT 1代码的超级处理单元进行AI分辨。并且当包含CAABCT 1代码的超级处理单元被确认之后,其相应的CAABCT 1代码会被解码回复为CAABCT2代码。在将所有CAABCT 1代码转换回CAABCT 2代码之后,可使用CAABCT 2的代码表来实现CAABCT 2代码到原始数据代码值的一次性解码。以这种方式,可断言的是,无论何时存在具有可通过使用CAABCT 1进行压缩的代码值的超级处理单元,那么就可压缩包含这种超级处理单元的随机数据集。或者可使用CAABCT 0而不是使用CAABCT 1来与CAABCT 2交叉映射,或者在适当的情况下可互换地使用CAABCT 0和CAABCT 1来与CAABCT 2交叉映射;在这些情况下,可能必须适当调整或添加AI标准来确定哪个映射代码表用于任何特定的超级处理单元。以下图表29显示出可使用所有3个CAABCT完成的交叉映射:
图表29
数据代码值(图表24)与CAABCT 2、CAABCT 0和CAABCT 1的表代码值之间的交叉映射
处理单元
分类代码
并且由于可调整或微调用于划分超级处理单元的终止条件,例如将超级处理单元的固定大小从27个数据代码值改变为有时更少或有时更多,或者将使用的终止值从000改变成另一个代码值,或者仅使用终止值来确定超级处理单元的大小(以这种方式,超级处理单元可具有不同的大小),而不是使用具有固定大小的超级处理单元的终止值;或者可尝试使用其他大小的代码单元(例如使用6值代码单元和为其设计的CAABCT集合)或者以及其他大小的处理单元,例如使用四个6值代码单元而不是三个6值代码单元作为处理单元;在陈氏框架下可能存在无穷无尽的这种变型,因此不能确定随机数据集将永远不会被压缩。相反情况反而更确定。顺便说一下,改变段落[62]至[66]中提及的位0∶位1比率的技术可首先用来将随机数据集的频率分配改变成非均匀的数据集,所述数据集随后适用于通过利用非均匀数据分配的技术来进行压缩。
上述创造性的启示公开了用于编码和解码无论是否随机的数字数据集的许多新颖技术,用于加密/解密以及压缩/解压缩的目的。可组合这些技术以实现设计者、实现者和用户所预期的这种目的。还可设计和实现其他技术以用于利用此在陈氏框架下引入的结构特性和编码技术。
存在另一种技术,所述技术更加简单且有用,并且可单独使用或者可与以上介绍的技术结合使用。这是使用不同大小的动态处理单元连同使用人工智能技术动态调整代码值定义来进行编码和解码。在以上对超级处理单元的讨论中,仅使用终止值来确定超级处理单元的大小这一事上,就导致超级处理单元的大小的变化,即不同数量的处理单元在数字数据集的不同位置处构成超级处理单元。还可适当地设计终止条件,使之可以使用不同数量的代码单元作为处理单元来动态地进行编码和解码。在编码和解码过程中,还可对处理中的代码大小及其定义进行动态调整。
让我们转向揭示段落[96]中提及的技术一事上,即在改变数据分配的背景下动态地使用不同大小的处理单元(在本实例中,3个代码单元和4个代码单元的处理单元被用于来说明)的技术,所述技术使用如以下在图表30列出的0头码设计的3值代码单元设计:
图表30
一个3值代码单元的处理单元
因此,处理单元由0头码设计的三个或四个3值代码单元组成,这取决于在处理中的任何点上的数据分配的变化背景。这种新颖的技术丰富了对任何类型的,无论是否随机的数据分配的,数据进行编码和解码处理。
设计这种技术是使用终止条件概念的结果。所设想的终止条件是处理单元的终止点(在此使用0头码设计的3值代码单元)将基于3值代码单元的所有3个唯一代码值是否已出现。通过逻辑推理,如果基于终止条件的这种定义,显然处理单元不应当小于具有3值代码单元的3个代码单元的大小。因此,如果所有3个唯一代码值连续三次出现,那么处理单元的大小为3个代码单元,否则处理单元的大小应当超过3个代码单元。它可为4或5或6,并且依此类推。因此,如果终止条件(终止条件即:出现了Max3 5位代码单元的所有3个唯一代码值)不能达成,那么就可以简单地使用4个代码单元作为另一个终止点。这意味着,当使用0头码设计的3值代码单元的定义读取3个连续代码值时,得不到所有3个唯一数据代码值(即图表30中列出的v1、v2和v3),那么终止点在读取的第四代码值处出现并停止读取,使得4个代码单元成为处理单元,而在这种情况下终止,无论是否所有3个唯一代码值都已出现;而如果在读取3个连续代码值时存在所有3个唯一数据代码值,那么终止点处于读取的第三个代码值处,并且处理单元由3个代码单元组成。因此,处理单元的大小根据其组成的代码单元的数量来量度,所述数量随着处理中的数字数据集的数据分配而动态变化。根据数据分配的情况,如果处理单元的大小应当为4个代码单元时,那么对此就存在两种情境:
(i)存在所有3个唯一代码值;以及
(ii)并非所有3个唯一代码值都存在。
因此总共存在3种情境:
(a)3个代码单元的处理单元,其中存在所有3个唯一代码值;
(b)4个代码单元的处理单元,其中存在所有3个唯一代码值;以及
(c)4个代码单元的处理单元,其中不存在所有3个唯一代码值。
因此,可将分类代码分配给图表31中列出的这3种情境:
图表31a
段落[98]的3种情境的情境分类代码(陈氏代码的一部分)
根据这3种情境的频率分配,可将具有最高频率的情境调整为使用最少数量的二进制位。因此,假设情境(c)具有最高频率,那么可将情境分类代码的情境的分配调整成图表31b,如下列出:
图表31b
段落[98]的3种情境的情境分类代码(陈氏代码的一部分)
因此,对于整个数字数据输入文件的编码和解码,可首先解析整个数字数据文件并找出哪种情境具有最高频率并且将其分配来使用最短的分类代码并将其他情境向下推送。因此,必须在报头中包含情境设计指示符(指示将要使用哪种情境分类模式或设计),使得可正确地完成解码。
在讨论如何可在本说明实例中使用陈氏代码的分类代码之后,我们将看到如何可使用陈氏译码的另一种技术(即动态代码调整)来设计和操纵陈氏代码的内容代码。对于情境(a),可使用以下编码来进行使用:
情境分类代码+排名和位置代码
因为情境(a)是3个代码单元的处理单元,其中存在所有3个唯一代码值,使用2或3位[使用陈氏译码的AAB技术,例如在此的实际值范围是6,即总共有符合情境(a)的终止条件的3个代码单元的6个唯一处理单元,下限值范围是2位,相当于4个值,并且上限值范围是3位,相当于8个值]对于排名和位置代码可能足以覆盖处理单元的所有6种可能组合,其中3个代码单元具有由其排名和位置区分的3个唯一代码值,如以下在图表32中所示:
图表32
带有3个唯一代码值的3个代码单元的处理单元在排名和位置方面的6种可能组合的RP代码分配
为了对情境(b)和(c)的陈氏代码的内容代码进行陈氏译码,可使用读取的第四个数据代码值,这是由这些情境的终止条件所决定的。所述第四个数据代码值,即终止值,将由原始代码完全按照使用0头码设计的3值代码单元的定义读取来进行呈现,即不必对原始代码进行任何改变。因此,情境(b)和(c)的内容代码部分的编码各自包括以下步骤[假设情境(a)已单独处理]:
(a)使用所相关的代码单元定义开始读取四个连续的数据代码值;
(b)完全按读取的原样写入第四数据代码值;
(c)在适当情况下,使用代码调整技术写入第一数据代码值;
(d)在适当情况下,使用代码调整技术写入第二数据代码值;
(e)在适当情况下,使用代码调整技术写入第三数据代码值;以及
(f)在完成对在步骤(a)中读取的4个连续代码值的编码之后循环回到步骤(a),直到它达到未编码代码单元开始的点。
并且在适当的情况下,在上述步骤(c)至(e)中提及的代码调整技术包括:内容代码排名和位置编码、内容代码提升和内容代码省略、内容代码降级以及内容代码恢复。
对于情境(b),第四个数据代码值可为3个数据代码值之一:v1、v2或v3。因此,在情境(b)下,子情境是:
图表33
情境(b)的3个子情境以及RP译码
对于情境(b)的3个子情境中的每一个,还存在6种可能组合。
可对这些子情境中的每一个使用排名和位置编码技术,如图表33所示针对它们各自的6种可能组合使用2位或3位。
或者可在适当的情况下使用代码提升和代码省略技术,如下图表34所示:
图表34a
情境(b)的3个子情境以及代码提升和代码省略
[由于v1将不会出现在第1、第2和第3位置,因此存在2个值,即v2和v3可供选择;因此,在第一位置和第二位置中,v2被提升为代码0,并且省略了第三位置中的v3(如果要放置的话,用代码1),因为在这种情境下必须出现所有3个唯一值。]
或者在放置第4代码值之后将要放置的值可重新排列,如下图表34b中所示:
图表34b
情境(b)的3个子情境以及代码提升和代码省略
如果将要使用代码提升和代码省略的技术,出于一致性,图表34b中的代码值的放置可能优于图表34a,因为这种放置安排对于将在以下段落[103]中解释的情境(c)可能是更好的选择。
通过采用以上情境(b)的子情境(i),代码提升是逻辑推断的结果,以用于减少位使用。例如,由于情境(b)是3个唯一代码值必须全部出现在读取的4个连续代码值中的情境,在放置图表33b中使用的情境分类代码和第四代码值(例如v1)之后,编码的代码会如图表35中所列出的一样:
图表35
用于情境分类的编码以及第四代码值
情境
并且剩余的3个代码值的编码代码将被填入。由于它是情境(b),这意味着前3个代码值,即第一代码值至第三代码值必须与第4代码值不同,因为它是第4代码值,所述第4代码值使得其满足为情境(b)设计的终止条件。因此剩余的3个代码值是v2或v3。并且由于仅存在2种选择,因此仅需要1位(位0或位1)来表示这2个不同的值出现。最初v2和v3分别由10和11表示。因此,这些代码值随后将分别提升为使用0和1来节省位使用。这是代码提升技术,一种陈氏译码技术。并且如果第三代码值和第二代码值都是v2,那么第一个必须是v3,因为它是针对情境(b)定义的,否则它将不满足情境(b)的终止条件。因此,由于上述推论,可通过逻辑推理来省略v3。使用刚才提及的陈氏译码的代码提升和代码省略技术来为4个代码单元组成的处理单元进行编码得出的整个编码代码块,在如下图表36中显示出来:
图表36
使用陈氏译码的代码提升和代码省略进行编码
可观察到,通过使用代码提升和代码省略技术给出与图表33中使用排名和位置译码技术相同的位使用结果(如图表34a和图表34b中所列出的2*2位+4*3位),这两种技术仅在所得到的位模式排列方面不同。
同样对于情境(c),第四数据代码值可为3个数据代码值之一:v1、v2或v3。因此,在情境(c)下,子情境在图表37中列出:
图表37
情境(c)的3个子情境以及RP译码
对于情境(c)的3个子情境中的每一个,还存在15种可能组合。如以上图表37中所示,可对这些子情境中的每一个使用排名和位置编码技术,如图表35所示针对它们各自的15种可能组合使用3位或4位。
或者可在适当的情况下使用代码提升、代码省略以及其他形式的代码调整技术。图表38显示出了首先在放置第四代码值之后通过以第三代码值、第二代码值和第一代码值的顺序对剩余的3个代码值进行编码的一种代码调整方式。因为在情境(c)中,其中仅存在2个唯一代码值,所以第4代码值已经计为1个;所以剩余的3个位置必须由与第4代码值相同的一个以及剩余的2个唯一代码值中的另一个来填入。然而,因为在3个选项中存在2种选择,为了在减少位使用时消除其不确定性,首先最好确定除第4代码值之外的一个代码值。因此,为了直接把剩余的3个代码值进行编码,把进入处理中的数字数据输入内的处理单元的第3位置的代码值进行编码,可能是优先的选择。这是基于一个接一个地具有2个或更多个相同代码值的机会低于具有2个不同代码值的机会的常规的假设。当然,如果在处理中的数字数据输入中的3个唯一代码值中存在关于频率分配模式的可用信息,那么可调整这种放置选择,其中可用的这种信息保证所述改变。然而,首先为了方便起见,图表38首先采用以第4、第1、第2和第3位的顺序的放置安排。
假设第四代码值是v3,因此其他3个位置的值可为v1、v2或v3中的任何一个。已知存在另一个代码值越早,通过使用代码提升技术可节省越多的位。但是因为存在的两个代码值中的一个可为v1、v2和v3这3个值中的任何一个,并且其中一个可为v3。因此提升v3是合乎逻辑的,即首先11到0,并且随后将v1降级为v2,和将v2降级为v3。并且如果另一个代码值出现,那么选择可限制为已出现的2个唯一代码值。由于第四代码值已采用使用位0的代码值的v1的排名,因此出现的第二唯一代码值可采用位10的代码值。通过使用这种逻辑,图表38如下生成:
图表38
情境(c)的3个子情境以及使用1个位(位0)的情境分类代码的代码调整
在此可观察到情境(c),使用代码提升和代码省略技术给出了与使用排名和位置编码技术大致相同的位使用结果(在此使用代码提升技术,明显稍微更好)。
根据上述结果,另一个观察结果是,在编码后导致扩展的那些代码值条目是具有更多v1代码值的那些条目。因此,如果数据集的数据分配比位1具有更多的位0,那么最好使用1头码设计作为代码单元的定义,以便使用上述技术读取数字数据集用于编码;三个唯一的代码值随后变为:
1
01
00
以这种方式,位0将在读取时被采样为v2和v3,而不是变成v1。因此,显而易见的是,使用如上所述采用因应于数字数据输入的数据分配模式变化而进行相应的动态调整处理单元大小的技术,允许在编码期间的动态代码调整擁有更大灵活性。更重要的是,在数据解析阶段期间,可收集信息,以用于安排和分配具有情境分类代码的三种情境(a)、(b)和(c),从而赋予最频繁的情境最少的位数。并且还可根据位0和位1的频率分配来选择代码单元的0头码设计或1头码设计以供使用。并且在段落[62]及以后已引入改变数据集中的位0与位1比率的技术,并且当它与以上揭示的其他引入技术一起使用,可应用于随机集来进行压缩。
通过检查图表32和图表34b中的情境(a)和(b)的位使用结果,应当注意的是,在处理单元存在所有3个唯一代码值的情况下,由于数据分配模式较少改变并且需要较少的位使用来表示这些模式,因此更容易进行编码,无论是使用RP译码或通过代码提升和代码省略的代码调整技术。因此,通过改变以下终止条件,可进一步改善上面所提及的设计,该设计使用带有不同数量的代码单元的处理单元:
所使用的任何处理单元应当包含v1、v2和v3的所有3个唯一代码值(即0、10和11)。
因此,必须通过将其替换为大小为5个代码单元或6个代码单元(依此类推)的处理单元,直到v1、v2和v3的3个唯一代码值出现,并且终止点在该代码单元处停止,来消除及替代以上讨论的情境(c),所述代码单元包含最后出现的以下三元组的唯一代码值:v1、v2和v3。并且情境分类代码因此更改为:
图表39a
用于不同大小的处理单元基于最后唯一代码值的出现的情境分类代码(a)
图表39b
用于不同大小的处理单元的基于最后唯一代码值的出现的情境分类代码(b)
上述情境分类代码均以位0结束,并且如果这样设计,将不存在终止于位1的情境分类代码。或者,终止于位1的情境分类代码将仅与情境(c)类似,情境(c)的处理单元数目是固定的,所述处理单元仅包含一个或两个唯一值直到所述点为止,即代替情境(c):4代码单元包含少于3个唯一值,它是5代码单元包含少于3个唯一值,或6代码单元或7代码单元,依此类推,这取决于情境代码具有的二进制位数。
因此,情境(a)和(b)的位使用图表可修改如下:
图表40
3个唯一代码值的关于排名和位置的6种可能组合的RP代码分配
图表41
情境(b)的3个子情境以及代码提升和代码省略
从图表40中可看出,由于情境(a)使用了一个位0,现在重命名为情境3代码单元,因此编码结果对于这种情境甚至更好。图表41中的情境4代码单元的位使用结果仅仅与之前相同。然而,考虑到可能存在许多不同的(或者在最坏的情况下甚至是无限的)不同大小的处理单元,必须存在更简单的逻辑,使得编程来适应可能发生的这种无限数量的情境。因此,用于编码所有此类情境的逻辑可改为:
(a)使用所相关的代码单元的定义来读取进入的3个连续的数据代码值,并且确定是否符合终止条件;所述终止条件是到目前为止读取的连续数据代码值,其包含根据设计的代码单元的所有唯一数据代码值[即,在这种情况下,当到目前为止所读取的代码单元不包含所有3个唯一代码值时,之后转到步骤(b);否则转到步骤(c)];
(b)再读取1个数据代码值[即,当到目前为止前面所读取的代码单元不包含所有3个唯一代码值时]并且每次评估是否满足终止条件,直到读取的代码单元包含所有3个唯一代码值[即在这种情况下的终止条件]为止;并且如果满足终止条件,那么转到步骤(c);
(c)当如此读取的数据代码值包含所有唯一数据代码值[在3值代码单元的这种情况下为3]时,计算如此读取的数据代码值的数量并且确定对应的情境分类代码值并将其写入,并且随后完全和读取一样写入最后读取的数据代码值;
(d)使用并写入1位代码,以用于识别存在的另外两个唯一代码值中的哪一个[对于3值代码单元的这种情况;位0用于具有扣除在步骤(c)中读取和写入的最后一个的唯一数据代码值的剩余两个唯一数据代码值的较高排名的唯一数据代码值,并且位1用于较低排名的一个代码值;反之亦然,这在适当的情况下取决于设计]从开始将在第一位置读取的一个代码值写入[即使用本步骤(d)中提及的位0或位1来对其进行替换或编码]到最后位置之前一个代码值为止,在适当情况下,使用内容代码调整的技术[在适当的情况下包括内容代码排名和位置译码、内容代码提升、内容代码省略、内容代码降级以及内容代码恢复];
(e)为正在处理中的处理单元作编码,即在为在步骤(a)中所读取的直到最后一个位置之前一个的数据代码作编码之后循环回到步骤(a),直到它达到未编码代码单元开始的点。
按照以上修改的编码步骤,可如下所示地修改从情境3代码单元开始的位使用图表:
图表42
情境3代码单元的编码和位使用
其中[]代表通过逻辑推理的代码省略;并且用于对第一位置数据代码值进行编码的位0和位1,是在适当的情况下,使用代码提升的代码调整。
图表43
情境4代码单元的编码和位使用
从上图可看出,如果情境3代码单元使用10和情境4代码单元使用0作为情境分类代码,那么所有条目都具有均等或位使用节省结果。
情境5代码单元的编码和位使用有点长而且复杂,以至于无法将其列出。然而,编码遵循相同的逻辑,并且可如下简要地讨论位使用结果。
情境4代码单元使用情境代码10作为讨论的基础。对于18个编码条目,位使用减少了6个位(即,平均节省10个位节减去损失4个位节)。如果情境5代码单元使用情境代码110,这意味着它将在用于每个编码条目的情境代码上多花费一个位节,但是它将有机会来对另一个附加数据代码值进行编码。
0头码设计的3值代码单元的3个唯一数据代码值在图表44中的频率分配是通过运行在优先权要求下的前述PCT申请中提及的自动程序产生的:
图表44
使用80000个随机位的3值代码单元的频率分配
0:26536
10:13156
11:13576
可看出的是,v2和v3的频率计数略大于50%,即约一半,并且v1略小于50%,也仅约一半。因此,数据代码值出现的大约一半的可能性是v1,并且另一半的25%是v2,并且25%是v3。因此,当v1是第5数据代码值时,那么再出现的附加数据代码值必须是v2或v3,因此减省1个位节的几率为一半;而如果v2或v3是第5数据代码值,那么v1或v3,在v2为第5数据代码值的情况下,随之而出现,或v1或v2,在v3为第5数据代码值的情况下,随之而出现的情况底下,可以减省1个位节的机会是一半的一半。因此,平均而言,减省1个位节的机会大约有四分之三,即减省了四分之三个位节。同样通过逻辑推理,如果第一值、第二值和第三值是相同的唯一数据代码值,那么可推导出第四值;因此用于这些情况的位节使用将是2个位节或1个位节。因此总的来说,当情境数从4个代码单元增加到5个代码单元及以后的数目的单元等时,没有太多缺失。考虑到如果情境4个代码单元使用10(2位节)时,平均在18个编码条目上产生6个位节的位使用节省。考虑到当情境数从3个代码单元开始增加时,用于这些情境的80000个随机位节的频率分配正在减少的事实,整个随机数据集能节省总体位节使用的机会是非常可能的。更加可尝试以产生位节使用节省的最佳结果的方式,重新调整前3个最频繁情境的分配。
重新审查根据(a)、(b)和(c)的顺序具有2位(10)、2位(11)和1位(位0)的情境代码分配安排的图表42[即情境3代码单元或(a)]、图表43[即情境4代码单元或(b)]以及图表38[即情境(c)],可看出,对于情境(a),它节省了6个编码条目中的2个位节(节省2位而消耗0个位节,对于情境(b),它节省了18个条目中的6个位(节省10个位节而损失4个位节),并且它节省了45个条目中的3个位节(即节省20个位节而损失17个位)。似乎所有3个情境(a)、(b)和(c)都节省了位节使用。然而,结果仍然是视乎这三种情境中的每一种情况下的每个编码条目的频率分配而定。然而,使用80000个随机位的这3种情境的图表45中的频率分配可通过运行在优先权要求下的前述PCT申请中列出的自动程序而产生。
如此产生的图表45列出如下:
图表45
使用80000个随机位节的情境的频率分配
情况10000
全部:8449
cu3:1606
cu4:1578
cu5:1292
cu6:953
cu7:774
cu8:575
cu9:422
cu10:311
cu11:238
cu12:191
cu13:143
cu14:94
cu15:56
cu16:49
cu17:42
cu18:33
cu19:18
cu20:16
cu21:6
cu22:13
cu23:7
cu24:7
cu25:10
cu26:4
cu27:1
cu28:3
cu29:2
cu30:1
cu31:2
cu32:0
cu33:0
cu34:0
cu35:0
cu36:0
cu37:0
cu38:1
其余:1
从以上图表45可看出,当使用0头码设计的3值代码单元读取随机生成的80000位节,使用终止条件,即:3个唯一数据代码值应存在于处理单元中的终止条件,一旦最后的唯一数据代码值(终止值)出现,这80000个随机位产生从3个代码单元开始到38个代码单元的不同大小的处理单元,其余是未编码的代码单元。从3到38的不同代码单元大小的这些处理单元在图表45中列出,列出的是其中一个生成的实例,显示出它们在80000个随机位节中出现的频率。
可看出,处理单元的频率通常随着处理单元大小的增加而减小,并且从3个代码单元到20个代码单元相当稳定。在8449个处理单元中,情境3代码单元或(a)以及4个代码单元或(b)的频率分别为1606和1578。因此,情境(c)的频率为8449-(1606+1578=3184或37.68%)=5265或62.32%。
考虑到由80000个随机位的数据集生成的以上一条信息,可对编码设计进行另一种改进。例如,如果希望增加数据集中的位1比率而不是位0比率。对于图表46中的情境(a)、(b)和(c),可使用以下代码作为情境分类代码(或简称情境代码):
图表46
情境(a)、(b)和(c)的情境代码分配
由于情境(c)占大多数处理单元,因此应当给出最短的情境代码位1,并且因为它旨在增加位1比率,所以采用情境代码的1头码设计。出于同样的原因,情境(a)和(b)分别分配有情境代码位01和00。
另一改进是,在假设存在两个相同数据代码值彼此邻近的几率较小的情况下,使用相反的位置配置来安排编码数据代码,即以第4、第3、第2和第1位置的相反次序放置,这对于情境(c)是有利的,在第4数据代码值出现的机率之上,增加了出现下一个唯一数据代码值的几率。更重要的是,经过进一步分析,编码数据代码根据其相对位置的相反放置可以数据代码的排序形成另一个特性或特征(所述特性是最后一个数据代码值是否与最后之前一个数据代码值不同),所述特性或特征可在进行压缩以便节省位节存储时充分利用。所述特征与终止条件的设计有关。为简单起见,可首先使用另一个类似的终止条件来进行说明。现在终止条件停止在3个代码单元处,数据代码值被分为仅两组或两类,一个是具有3值代码单元的所有唯一数据代码值的3代码单元,另一个是不具有所有唯一数据代码值的3代码单元。因此这意味着,第一类存在3个唯一代码值,并且第二类存在2个唯一代码值,其中缺少1个唯一代码值。
因此,根据图表45的结果,这两个类具有以下频率(如图表47所列出):
图表47
80000位的随机数据集中的两类的处理单元的频率分配:一个位具有所有3个唯一数据代码值(类A),另一个位具有少于3个(类B)
类B拥有绝大多数的数据代码值。然而,可根据这特征来划分这些处理单元,这特征是关于:数据代码值相对于它们的相对位置的相反放置的安排。对于这些数据代码值的相反放置安排,一种模式和设计是首先放置第3数据代码值,随后放置第2数据代码值,并且随后第1数据代码值。因此,对于具有所有三个唯一数据代码值的处理单元,第3和第2数据代码值必须不同,对于那些不具有所有三个唯一数据代码值的处理单元,第3和第2数据代码值的值可相同或不同。使用此特征作为另一种分类标准,似乎可在节省位存储方面产生更好的结果。因此,可同样对应地分配情境代码。因此,可将子情境代码位1分配给其中第3和第2数据代码值相同的处理单元,并且将位0分配给其中它们不同的那些处理单元。对于在此的情境类0,可分配额外的子情境代码位,或者可使用陈氏译码的另一新颖特征来将这种子情境码位与内容代码位进行组合,所述新颖特征即后验分类的用途或者后验分类代码在陈氏代码的内容代码内的放置。通过使用图表47中的终止条件,使用三个3值代码单元的处理单元的实际编码可更好地解释陈氏译码的这种编码技术,如图表48中列出如下:
图表48
分配给情境类0和情境类1的情境代码:随编码和位使用以及位1/位0的变化而变化
从以上可看出结果非常接近。分配有图表48中的情境代码1的编码处理单元的逻辑如下:
(a)在从数字数据输入读取数据代码值之后,并且在确定处理中的处理单元的数据分配的性质之后,如果处理单元属于其中第3和第2数据代码值相同的类,那么就写入情境代码位1;
(b)按原样写入第3数据代码值;
(c)通过逻辑省略第二数据代码值;由于第二数据代码值与第三数据代码值相同,因此可通过逻辑推理而省略;以及
(d)使用代码单元的设计读取的原始数据代码值来写入第1数据代码值;因为处理单元是不具有所有3个唯一数据代码值的处理单元,所以它可仅具有一个或两个数据代码值。由于一个数据代码值已作为第三数据代码值出现,但是也可存在3种选项以供选择,因此第1位置值仅可直接读取及写入(或者第3位置中存在的代码值被提升到位0,并且其他两个剩余值根据它们的相对排名而调整到位10或位11,并且第1位置值随后使用这种经调整代码)。
在对分配有图表48中的情境代码0的处理单元进行编码如下:
(i)在从数字数据输入读取数据代码值之后,并且在确定处理中的处理单元的数据分配的性质之后,如果处理单元属于其中第3和第2数据代码值不相同并且其中存在所有唯一数据代码值的类,那么为其写入情境代码位00;如果处理单元属于其中第3和第2数据代码值不相同但是其中不存在所有唯一数据代码值的类,那么为其写入情境代码位01;
(ii)按原样写入第3数据代码值;
(iii)使用以下编码逻辑来为带有情境代码00的处理单元写入第2数据代码值:在它具有所有唯一的数据代码值并且在一个数据代码值已作为第3个数据代码值出现时,仍有两个选项来以供选择,因此使用一个位节来指示哪一个作为第2数据代码值出现(位0用于较小值,位1用于较大值,其中在适当的情况下,在0头码设计中,可设计为v1是最小值,并且v3是最大值);或者使用以下编码逻辑来为带有情境代码01的处理单元写入第2数据代码值:在它不具有所有唯一的数据代码值并且在一个数据代码值已作为第3个数据代码值出现时,仍可仅有2个选择(两个唯一值尚未存在)来以供选择,因为在此情境类0被定义为其中第3和第2数据代码值不相同的类,因此使用一个位节来指示哪一个作为第2数据代码值而出现(位0用于较小值v1,并且位1用于较大值v3);并且
(iv)对于分配有情境代码00的处理单元,可省略第1数据代码值;对于分配有情境代码01的处理单元,可使用以下编码逻辑来编码和写入第1数据代码值:当两个不同的数据代码值已出现在第3和第2位置中时,并且情境类01是其中并非存在全部3个唯一数据代码值,这意味着第1位置中的数据代码值必须是第3和第2位置中的两个值中的一个,因此使用另一个位节来编码和写入第1位置数据代码值(位0用于较小的值v1并且位1用于较大的值v3)。
以一种形式使用后验分类可能有助于进一步一点点减少位存储。在本实例中,后验分类代码的放置可以两种方式完成:
(a)对于分配有情境代码00和01的处理单元,第二位节用于区分它是属于类A(具有所有唯一数据代码值的类)还是属于类B(不具有所有唯一数据代码值的类)。通过组合以下内容代码可省去情境代码的第二位节:将用于编码类A中的第二数据代码值的位(并且具有用于第二数据代码值的位)与用于类B的第一数据代码值的位进行组合;因为这些编码代码存在6种组合来表示;在图表49中的以下分配中写入这6种组合的编码代码值之后,将使用2位节或3位节:
图表49
与内容代码结合的情境代码
00用于情境代码0下的类A处理单元,其中位0被分配给第2数据代码值;
01用于情境代码0下的类A处理单元,其中位1被分配给第2数据代码值;
100用于情境代码0下的类B处理单元,其中位0被分配给第2数据代码值并且位0被分配给第1数据代码值;
101用于情境代码0下的类B处理单元,其中位0被分配给第2数据代码值并且位1被分配给第1数据代码值;
110用于情境代码0下的类B处理单元,其中位1被分配给第2数据代码值并且位0被分配给第1数据代码值;以及
111用于情境代码0下的类B处理单元,其中位1被分配给第2数据代码值并且位1被分配给第1数据代码值。
通过使用以上分配,可取消情境代码00和01的第二位节,并且为这些处理单元写入的第一个编码代码是情境代码0,然后紧接着的是写入的第3数据代码值如读取的一样,然后紧接着的是写入以上使用2位到3位组合的情境和内容代码。在位节使用方面,位节使用的结果与图表48中产生的结果完全相同;并且
(b)然而,通过使用以下逻辑,还存在将情境代码与内容代码相结合的另一种新颖方法:
(i)在编码和写入情境代码0,及用于情境代码0下的那些处理单元的第3数据代码值和第2数据代码值时(其第二位节被设计成被废除),可创建一个退出代码,该退出代码是由情境代码0的第二位与情境代码0下的类B的第1数据代码值的内容代码合并而成的,可在图表50中显示如下:
图表50
后验混合分类和内容代码作为退出代码
1用于和在情境代码0下表示类B处理单元的现有代码,其中第1数据代码值是位0;
01用于和在情境代码0下表示类B处理单元的现有代码,其中第1数据代码值是位1;
00用于和在情境代码0下表示类A处理单元的现有代码,其中在已编码和写入第3和第2数据代码值之后退出时不进行处理;
并且在解码时使用这种退出代码以便正确恢复原始数字数据信息。
这取决于数据分配中涉及的处理单元的频率分配。上述技术可用于更好的位存储节省。对于上述80000位的实例中使用的随机数据集,类B处理单元的频率在处理单元的总数(如在图表45中列出的:8449)中为6843。这个6843中大约有一半用于情境01,并且其中一半具有第1数据代码值,在编码时使用位0,此值现在由退出代码位1表示,并且情境代码01的第二位被去除,因此对于这6843个处理单元的一半节省1位,相当于节省大约3422/2,即大约1711位。并且这些6843个处理单元的另一半的退出代码使用位01的退出代码,因此使用退出代码的2位来替换情境代码01原先的第2位节以及用于表示原来第1数据代码值的编码代码的位0/1。因此,这一半类B处理单元的位使用没有损失。对于情境代码00下的类A处理单元,它使用位00的退出代码,现在被去除的情境代码00的原来第二位可仅占退出代码的2位节中的1位节;由于逻辑省略了它的第1数据代码值,因此用于其的退出代码的其他位节并不能被顾及,这代表位节使用的消耗。并且用于这些类A处理单元的频率为1606。相对以上为类B处理单元节省的1711个位,剩余结算为1711减去1606=105位的位节使用节省。在80000个随机位节中,仅它的新颖特征可有助于节省大约105个位。到目前为止提出的技术也可应用于使用其他情境,例如情境(a)、(b)和(c)或者情境3代码单元、4代码单元和其余代码单元。
被分成两个情境0和1的类A和类B的处理单元的先前实例示出数据代码值如何可在混合分类和内容代码中组合分类并且以后验方式放置,这与先验位置中的常规放置相反。数据分类的另一新颖特征可仅用于嵌入式或内部分类代码。图表51显示出使用这种新颖特征的结果:
图表51a
前验分类代码和类A处理单元
这恰好是图表48中的类A部分;
图表51b
用于使用第3和第2数据代码值是否为相同值的标准来进行细分的类B处理单元的内部或嵌入式分类代码
至于类A,6个条目组合中存在2位节省;并且对于具有第3和第2数据代码值的不同值的类B,12种组合中没有明显的节省或损失;并且对于具有第3和第2数据代码值相同值的类B,9个条目组合中明显存在3位节省。如前所述,可使用其他技术,例如在执行使用本实例中的技术之前首先改变位0∶位1的比率或者使用具有用于整个随机数据集的非均匀数据的超级处理单元的技术。并且这只是为使用本实例中提及的技术而设计的许多可能情境中的一个实例。
以上分类实例是基于使用分类代码:00的四个类,用于类A处理单元,然而新颖的是关于01、10和11的用途,实际上,它们其实是内容代码本身,只是对v1的从位0到位01的略微修改,使得这些内容代码有资格用作分类代码;而当在编码处理中被用作内容代码的一部分时,v1的编码代码值,即01,是被恢复成较短形式即只是0,因为这将不会在内容代码部分内被弄错,因为不是用作编码处理单元的头码部分的分类代码。在以上实例中,尽管存在修改,它因此也生动地展示了使用内容代码作为分类代码的这种技术的有用性。这是用于产生陈氏代码的陈氏译码的另一种技术。
图表52显示,分类代码可使用内容代码(略有修改)作为替代,如下所示:
图表52
使用第3和第2数据代码值是否为相同值作为标准的修改内容代码用作分类代码以划分类B处理单元
在揭示上述各种分类技术之后,可评估哪种技术对于处理中的数字数据集最有用。并且根据使用分类技术的选择,发现用于编码和解码的数据代码值的重新分类和重新分配对于预期目的是必要和适当的。图表53是这种考虑的结果:最有用的技术是正确识别可用于对数据代码值进行正确分类的特性。在正在讨论的本设计和模式下,已开发、设计和实现许多技术以用于前面段落中呈现的图表。可观察到,虽然一些代码条目组合节省了位节,但是其他代码所产生的位节损失会对冲了甚至多于这些节省。因此这个特性或特征是必须被调查的一个特征;就是要找出使用以上讨论的陈氏译码的各种技术来在编码时产生位节损失的有问题的条目组合。显而易见的是,如果将造成损失的有问题的条目组合组合在一起,并且那些造成节省的友好条目组合同样进行组合,那么这可增加成功的机会。图表53在此把这作为数据分类的主要标准,以及在其后的编码中使用陈氏译码的其他技术,例如代码调整,包括代码提升、代码省略、代码替换,以及最主要的绝对地址分支技术加上范围的使用:
图表53
在代码重新分配之前基于可压缩和不可压缩数据值条目的数据分类,具有使用段落[75]中的图表21的频率
不可压缩类:使用AAB技术进行范围编码(实际值范围:7,下限值范围:2位用于4;上限值范围:3位用于8)
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
可压缩类:其中以下2个条目组合是重新分配的例外,在适当处,不同于前两个条目组合
可压缩类:其中所有3个代码值都是唯一的,编码代码将被重新分配
从以上图表53可看出,必须进行2种类型的代码调整:
(a)代码交换;v2v1v2和v3v1v3,各自使用6位节而不是原代码使用的5位节的编码代码,从而产生位消耗;因此,它们的编码代码必须与各自使用5位而不是由原代码使用6位的v2v2v3和v3v3v2交换,从而产生位节增益;因此,在这些对码之间交换编码代码可实现位使用的平衡,从而不会产生位节消耗或位节增益;
(b)代码重新分配或重新分布或重新填入;在具有相同的第3和第2值的不可压缩类中存在2个空代码位置或地址:v1v1v2和v1v1v3的这两个空代码地址的编码代码是1100和1101,这2个编码代码中的每一个使用4位节;并且具有不同的第3和第2值的不可压缩类中存在4个空代码位置或地址,用于这些四个空代码地址的编码代码如下:v1v2v1,编码代码为10000,使用5位节;v1v3v1,编码代码为10010,使用5位节;v2v1v1,编码代码为101000,使用6位节;以及v3v1v1,编码代码为101100,使用6位节。因此,现在有6个空闲代码地址需要重新填入。可首先通过使用两个异常条目组合来填入两个空闲代码位置:v2v2v2和v3v3v3。所以仅剩余4个空缺代码位置:2个使用4位节并且2个使用5位节,以用于容纳可压缩类的6个条目组合,其中处理单元具有使用5位节的3个唯一数据代码值。因此,使用具有所有3个唯一数据代码值的5位节未被容纳的处理单元的前两个,可用于首先重新填入两个空闲代码位置;剩余的4个未被容纳的5位节处理单元留在剩余的2个4位代码空闲地址中。并且图表54将这种代码重新分配的情况显示如下:
图表54
在代码重新分配时基于可压缩和不可压缩数据值条目的数据分类,具有使用段落[75]中的图表21的频率
不可压缩类:使用AAB技术进行范围编码
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
所以到目前为止,似乎必须使用其余4个5位节处理单元中的两个来重新填入剩余的两个4位节空代码地址,从而为每个位置节省1位;并且对剩余的两个未被容纳的5位节处理单元必须使用AAB技术来使它们加倍2个6位节的代码地址(选择具有最低频率的条目组合),它们已被其他2个条目组合所占据,从而产生4个7位条目组合以及2*(7-5+7-6)=6位损失。然而,这是AAB技术的适当用途,以一种新颖的方式来创建新的代码地址,是其目的。因此,通过使用AAB技术,通过在2个4位节空闲代码地址中再添加一位节,可获得2*2个5位节空闲代码地址,从而构成4个可用的5位节空闲代码地址,足以包容具有所有3个唯一数据代码值的4个5位节未被容纳处理单元,而不会引发任何位节损失。最终结果在位节使用方面都是均等的:对于此实例中没有位节增益或位节损失,随后在图表55中列出如下:
图表55
在重新分配图表53中列出的代码地址和代码条目值后出现均等情况
不可压缩类:使用AAB技术进行范围编码
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
以上不可压缩类和可压缩类的频率只是略有不同,其中第一类具有8897个处理单元,并且第二类具有8888个处理单元。然而,由于第二类被分配给情境10和11,所以偏斜旨在增加位1比率,而不是位0比率。然而,结果非常令人惊讶,在编码1个周期之后,位1减少297位,而位0增加297位,如以上图表中55所示。因此,即使在编码之后没有位节增益或位节损失,位0∶位1比率变化的方式使得很可能使数据可以被压缩,现在在编码之后,位0与位1之间的比率分配变得更不均匀。如果采用以相反方式分配情境代码,那么在下一个图表56中示出位0∶位1的增益或损失:
图表56a
使用与图表55中使用的不同的情境代码的相反分配
不可压缩类:使用AAB技术进行范围编码
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
事实证明,对于80000位的随机数据集,偏斜减小,仅将位1减少251并将位0增加相同的量。
从以上可看出,报头中的指示符可保留用于指示如何分配情境代码,以及同样是否使用代码单元为0头码设计或代码单元为1头码设计的来读取数字数据,以及哪种头码设计用于在读取数据值之后对数据值进行编码,因为它们可不必相同。此类变动可能影响所得到的陈氏代码编码中的位0∶位1的比率。此类指示符用于选择最佳的情境,以服务于要求编码的目的。
为了进一步改变位0∶位1的比率,可进一步将图表56a改成使用代码单元为1头码设计的一个,如下所示:
图表56b
使用相反分配,用于不同于图表59a中使用的0头码设计的1头码设计的代码单元内容代码
不可压缩类:使用AAB技术进行范围编码
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
要改变代码单元的内容代码的头码设计,最简单的方法是将内容代码的位0更改为位1,反之亦然,如图表56b所示从图56a更改。以上实例显示出了陈氏译码如何用于创建非均匀编码器,以用于在图表56a中减少位1并将位0增加251,或者在图表56b中增加位1并将位0减少194。它表明朝向位0∶位1比率中的更多位1的趋势被相反了。为了完整起见,图表56c用于显示出使用0头码情境代码和1头码内容代码来对80000位节的原始随机数据集进行编码的结果,如下所示:
图表56c
利用不同于图表56b中使用的1头码设计的0头码设计情境代码的相反分配
不可压缩类:使用AAB技术进行范围编码
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
因此,改变图表55、图表56a、图表56b和图表56c的位0和位1的结果分别是+297/-297、-251/+251、-194/+194和-153/+153。因此很明显,图表55给出了朝向更多位0的最大偏斜。如上所示,对于相同的数据分配,使用不同的头码设计以及分类代码和内容代码的分配可能影响位0∶位1的比率分配。并且可将这种分配调整为因应于任何特定数据集的位0∶位1的不同比率分配,并且当一个分配布置无法有效地继续向某个方向偏斜时,可尝试改变它以使得偏斜方向可维持或者可设计另一种方案来这样做,直至到达一点,在该点,该不均匀分配可通过使用陈氏译码的其他技术来进行压缩。
例如,可使用A1分辨技术来对超级处理单元进一步进行压缩。或者可使用段落[62]中介绍的6值代码单元的不同代码单元定义,一个定义用于读取数据,并且另一个用于编码和写入数据;例如,如果位1多于位0,那么1头码设计的17位6值代码单元定义可被用来读取数据,而对于编码和写入,可通过相同头码设计的18位6值代码单元定义来完成。由于17位定义使用2位节的位代码11用于v1的值,并且18位定义使用1位节的位代码1来表示v1,随后在使用18位定义写入时,读取的2位节位代码11被编码成为由17位定义读取的用于v1的1位节的位代码1,从而将2位节减少为1位节。如果位1的频率高于位0,那么这可有助于进行压缩。
例如,图表57中显示出1头码设计的17位至19位的6值代码单元:
图表57
使用17、18和19位的1头码设计的6值代码单元的代码值的定义
如前所述,如果数字数据集具有的位1比位0多,那么通过使用1头码设计代码单元读取器,v1将具有的频率比其他单独值高得多。通过比较以上3个6值代码单元定义,可看出,如果v1的频率高于其他,通过使用17位作为读取器,用18位写入器来写入,在每次读取v1时,都会节省1位节并且在每次读取v2和v3时,它每个会损失1位节;对于v4、v5和v6,位使用是均等的;因此,只要v1的频率高于v2和v3的频率加在一起,那么就可实现位节省。根据v2和v3一对与v3和v4一对之间的频率分配,与v1的频率相比,也可使用19位写入器。
因此,为了利用数据集中的位0∶位1模式的微小差异以便以简单的方式进行压缩,可构建一对不同位大小的0头码设计和1头码设计代码单元定义以用于其他值大小的代码单元。例如,段落[117]中使用的读取器和写入器或编码器是基于6值代码单元的,然而可根据其他值大小构建使用此类读取器和写入器,例如7-值、8-值、9-值、10-值,依此类推。代码单元定义的值大小越大,读取器和写入器可获得的位0∶位1差异更精细并且变为位存储节省。在编码进行压缩之前,还可进行几次非均匀处理(即,使用非均匀器来进行几个周期来改变首先朝向一个方向偏斜的数据数据集中的位0∶位1比率)。如果一种非均匀器不能总是将数据分配模式朝向一个方向偏斜,那么可将分类代码的分配模式从0头码改为1头码,反之亦然,或者将读取器和写入器的头码设计从一个头码设计改变或互换成另一个头码设计,或者使用不同位大小以及不同值大小的代码单元定义的不同设计,只要进行这种改变的路径很好地被记录在陈氏代码的报头中或者构建到编码器和解码器中以供使用。更重要的是,非均匀器可使用不同的内容代码构建。例如,在段落[114]和图表54中讨论的非均匀器使用分成2类的内容代码,一类不可压缩和另一类可压缩,随后由于代码重新分配优化而稍作修改。所述非均匀器将每个唯一的代码地址逐个映射到具有相同位节大小的唯一数据值,使得处理中的任何数据值的每个编码代码与相应的原始数据值的位大小完全相同,从而导致既没有位节增益也没有位节损失。图表55和图表56显示出对同一组内容代码的分类代码分配的两种不同布置,但是使用0头码设计和1头码设计,从而导致在位0∶位1分配模式方面的不同比率变化。然而,可使用段落[114]中介绍的技术以类似的方式来设计具有不同内容代码的其他非均匀器,包括选择用于定义将要处理的处理单元的性质的终止条件,根据处理单元的唯一值条目的所识别的特征或特性来对其进行分类,进行代码调整、代码交换和代码重新分配,使得可创建类似于图表54至图表56中所显示的另一个非均匀器编码器。另一个实例是在段落[91]和图表28中对超级处理单元的讨论中发现的。通过使用图表28中的非均匀器,数据集的位0∶位1的比率改变的方式与使用图表55或图表56中的非均匀器的方式不同。因此,如前所述,当一个非均匀器再也不能将位1与位0的比率改变为一个恒定方向时,可通过使用适当设计的另一个非均匀器进一步采用这种单向变化,依此类推。因此,非均匀器编码器的作用是使数字数据集的位0和位1的分配模式趋向于非均匀。产生比位0更多的位1(在与以1∶1比率的位0∶位1的均匀分配相比时)的非均匀器编码器可称为位1非均匀器,与进行朝向形成更多位0偏斜的数据分配的随后可被称为位0非均匀器的非均匀编码器形成对比(在与以1∶1比率的位0∶位1的均匀分配相比时)。另一方面,倾向于使位0∶位1比率比编码前更均匀的那些编码器(即使得位0∶位1比率更朝向1∶1方向)可称为均匀编码器,或者只是均匀器。
以这种方式,如段落[115]至[117]所述,使用代码单元定义作为读取器和写入器以便进行压缩的技术可与段落[118]中提及的非均匀器一起使用,来作为结束信息理论中鸽巢原理的神话的确切证据,并且任何数据集,无论是否随机的,都如本发明先前所解释地经过一次又一次经受压缩,直至达到一个极限。
在压缩数字数据集的过程中的压缩器显然起到均匀器的作用,否则任何数据集都可一次一次地可被压缩(当然,如本发明所揭示地达到某个极限)。事实上,在本发明之前,压缩领域中的方法似乎都没有达到可一次又一次把,无论是否随机的任何数据分配模式的数据集,进行循环压缩的长期目标,这事实就正好说明了这一点。在以段落[118]中讨论的方式揭示本发明的情况下,即以段落[124]中讨论的轮番替代使用或以其他方式使用非均匀器和均匀器,上述目标是绝对可见的。
对于使用非均匀器和均匀器轮番交替进行编码和解码,所得的编码的陈氏代码文件的报头基本上包括以下指示符用于:
(a)校验指示符;如果在适当情况下,这可存在,解码器使用它来识别将要解码的文件是否是有效的陈氏代码文件,因此包括由设计者,针对由编码器产生的相应陈氏代码文件,设计的签名指示符,以及文件是否是有效文件以供使用;
(b)再循环位节或指示符;由编码器写入供解码器使用的位节,从而指示解码器在解码当前处理循环之后是否必须停止;以及
(c)使用的映射表或代码单元定义指示符(由编码器在编码中使用或者)用于解码当前编码循环的数字数据层;可使用另一个指示位节(非均匀器/均匀器指示符)来区分当前编码的陈氏代码层是否已通过使用非均匀器映射表或均匀器映射表来完成。
除报头外、所得的陈氏代码文件还包括另外两个单元:
(A)陈氏代码单元;包含编码的陈氏代码,使用所选的代码单元定义的读取器来读取输入的数字数据,并且使用写入器来写入或编码读取的数字数据,写入器是使用如报头中指示的代码单元定义或映射表的编码器,以用于写入编码或包含用于实现代码单元定义或映射表的编程逻辑以用于编码;在此编码的陈氏代码在适当的情况下包含分类和内容代码;以及
(B)未被编码的代码单元;这是表示输入数字数据部分的二进制位的部分,它在读取时未被编码,通常放在所得的陈氏代码文件的末尾处;它被设计为代码的一部分,其位数不足以构成一个处理单元或一个超级处理单元,使得无法通过所使用的编码技术对其进行编码。
如前所述,段落[121]和[122]中识别的这些单独一条条数字信息可分别被放入不同的陈氏代码文件中作为单独的个体以作存储之用。相应的设计应当使得解码器能够访问并正确识别它们以便进行解码。在解码时,解码器使用在相关所得的陈氏代码文件的报头中所指示的代码单元定义或映射表,以用于读取输入的已被编码的陈氏代码文件,或者包含用于实现代码单元定义或映射表以用于解码的编程逻辑(即,使用相应的代码单元定义或映射表或者相应的内置编程逻辑用于将经编码的代码转换回输入数字数据代码并将其写出);所得的解码代码便是在所述编码循环之前的输入数字数据代码。
如果在交替中不与均匀器一起使用,也可使用非均匀器来压缩数字数据,当进行到极端时,所有数字输入二进制位都通过由非均匀器进行的非均匀处理的循环周期而减少到位0或位1。因此,所产生的(非均匀处理步骤的路径的)陈氏代码文件只是与非均匀编码器所采取的路径有关的信息,包括原始数字数据输入的位节大小、在必要或适当情况下形成的非均匀处理次数的数量,以及用于每个非均匀循环周期的代码单位定义或映射表。非均匀解码器可因此可依赖非均匀编码器所采用的非均匀路径的这种信息,正确地和无损地恢复原始数字数据。以这种方式,编码过程可包括一个或多于1个非均匀编码的循环周期,但是没有进行均匀器编码或压缩器编码。
使用非均匀器的另一种变型方式是在最后的处理循环周期之前多次循环的使用它,最后循环的编码由压缩器(或者用于压缩的均匀器)完成。以这种方式,编码过程包括在压缩器编码的最后一个循环周期之前的一个或多于一个非均匀编码循环周期。这种变型的所得陈氏代码和陈氏代码文件的结构类似于段落[121]至[123]中所述的结构。由于均匀器是倾向于使得数据集的位0∶位1的比率变得更均匀的压缩器,当用作于最后一个循环周期或最后编码层的编码器时,由于使用这种均匀器或压缩器的结果而导致数据分配朝向其偏斜的方向不再重要,只要能够按预期压缩数据,偏斜就可为任何一种方式。所用术语,即均匀器或均匀器编码器与本发明中的压缩器或压缩器编码器应被认作相同。
迄今为止以上所揭示的陈氏框架和陈氏译码至少证明了代码地址的数量,相对于唯一数据值的数量而言,并不是强加限制于数据压缩的因素(在过去由信息理论中鸽巢原理的神话所误导)。重要的是输入数据集的数据值的频率分配。使用上述段落中介绍的技术实现的陈氏译码方法在编码,无论是否随机的输入数据集时,完成了这功绩:即在编码中,在输入数据的信息上面,加上表示输入数据特性的分类代码,并且改变了数据的分布,使得在使用陈氏译码的相应技术来解码已编的代码时,可无损地正确地恢复输入数据;并且达到一定的限度,相应的数字数据可循环加密和压缩;所述的限度,受限于在使用的或实现的设计和模式,是代表所使用的报头和相关指示符的代码位节,适合于放在一个处理单元或一个超级处理单元的陈氏代码,以及,如果有的话,未经编码的二进制位的未经编码代码单元(或可能没有留下任何这样的未经编码的二进制位节),所述未经编码的二进制位节的数量小于一个处理单元或一个超级处理单元的大小但是比0更多。在本段落中,如此提及的陈氏代码是陈氏代码核心,是用于原始输入数据的内容或数据值部分的编码代码,如报头中包含的其他附加信息及其包含的指示符(以及内置于编码器和解码器中的信息和编程逻辑的所述部分),并且未经编码的代码单元也属于陈氏代码,作为陈氏代码外围,在编码和解码过程中与陈氏代码核心一起使用,使得原始输入数据可完美地编码并且编码的代码可被完美地解码并正确且无损地恢复到原始输入数据。
如此使用的方法和技术可用于压缩非随机数字数据。如果这样设计,也可同时进行加密和解密。为了在不扩展和收缩数据的情况下进行加密和解密,最简单的方法是使用可用于任何代码单元值的相同位节编码器的技术。例如,段落[62]已揭示了图表14b和图表14c中列出的Max6 16位编码器的几种设计。所揭示的四种设计中的每一种都可用作相同位节大小的编码器,以用于通过使用一种设计来读取并且使用另一种设计来写入来转换原始代码,来进行加密和解密的目的。结果是加密代码具有与原始代码相同的大小。由于可为其他Max类创建类似的设计,因此加密和解密可存在无穷无尽的变化。在不知道哪个Max类(以及特定Max类下的哪个位组)已用于编码的情况下,可能无法容易地为已编的代码解码。也可使用不加密的相同位大小的编码器,并且它仅仅使用相同的编码器,所述编码器一方面读取数字数据并且另一方面将其写回。当然,在不与其他技术一起使用的情况下,除了作为精确的数据复制器之外,它根本什么都不做。到目前为止所揭示的技术可被视为可用于至少进行加密/解密,并且在将要处理的数字信息的数据分配适当的情况下进行压缩/解压缩。还提出了如何使用不同设计和模式下的陈氏译码技术来正确压缩和恢复随机数据的方法。通过以下进一步揭示的一些更多技术的发明,使得以下证据,证明可正确且无损地压缩和恢复随机数据。
最后,现在是时候提出明显的证据,证明随机数据可被压缩,并且通过解压来进行正确无损的恢复。一种此类技术是数字数据黑洞,通过所述技术识别代码单元值或处理单元值以充当数字数据黑洞。为了揭示如何创建数字数据黑洞,再次使用Max3 5位0头码设计代码单元编码器的实例,并且处理单元被定义为由通过Max3 5位0头码设计代码单元编码器读取的3个这种代码单元组成。因此,存在27个唯一处理单元代码值(PUCV),与段落[74]中的图表20中的相同。图表20显示出这27个唯一PUCV中的每单个的频率分配,可看出的是最短PUCV是000,具有3位,还存在4位PUCV、5位PUCV和6位PUCV。因此,这27个PUCV也可分为位类。并且可看出的是,随着位节的大小增加1位,这些单个PUCV的频率减少了大约一半;当使用由3个单代码单元组成的处理单元的Max3 5位0头码设计代码单元编码器读取随机数据时,可在随机数据的频率分配中观察到一般规律性(或随机性规则)。在进一步调查时,可使用在陈氏框架下开发的相同模式(即,使用具有由3个单代码单元组成的处理单元的Max35位0头码设计代码单元编码器)发现关于随机数据的另一频率分配规则或规律性。这个随机数据的频率分配的另一个特征规律或规则如下图表58所示:
图表58a
使用具有由3个单代码单元组成的处理单元的Max3 5位0头码设计代码单元编码器读取的80000位随机数据集的处理单元的频率分配
处理单元代码值
图表58b
使用具有由3个单代码单元组成的处理单元的Max3 5位0头码设计代码单元编码器读取的80000位随机数据集的超级处理单元的频率分配-超级处理单元由2个连续处理单元组成(其中显示出所选择的SPUCV)
超级处理单元代码值
图表58a和图表58b的频率分配统计值的实例是通过使用如下图表58c和图表59d中列出的自动3程序生成的:
图表58c
生成图表58a和图表58b所显示的频率统计值的自动程序
图表58d
在图表58c列出的自动程序所用的自动编程库
图表58a列出了80,000位的随机数据集的27个唯一PUCV的频率分配,并且图表58b列出了相同随机数据集的27x27个唯一SPUCV的频率分配。为简洁起见,图表58b中仅列出了每个位类的2个最频繁和2个最不频繁的SPUCV。当由Max3 5位0头码设计代码单元编码器读取和采样时,这足以辨别80,000位随机数据集的其他频率分配规律或规则性,所述编码器具有由3个单代码单元组成的处理单元以及具有连续2个处理单元的超级处理单元、使用陈氏框架开发的编码器。如前所述,陈氏框架提供了用于描述和调查包括随机数据的任何数据分配的数字数据的特征或特性的框架。到目前为止,随机数据的特征尚未被更详细及清楚地揭示出来,仅知道:因为它是随机的,所以它所代表的值以不可预测的方式随机出现,并且从长远来看它倾向于具有接近均匀分配的位0∶位1比率,但是没有规律性。现在使用陈氏框架,例如在一种设计的编码器下-Max3 5位0头码设计代码单元编码器具有由3个单代码单元组成的处理单元以及具有2个连续的处理单元的超级处理单元,人们能够找出可用于描述随机数据的某些规律或规则性。利用关于随机数据集的频率分配的这种规律或规则性,可将其用作于制定处理随机数据以及非随机数据的规则的参考。图表58a和图表58b中存在一些可识别的规律性,例如,分别对于27个唯一处理单元和27x27个唯一超级处理单元,任何特定代码值的频率都是其位长或位大小或位类的度量,较高位类之一,即位长度或大小缩短1位,其频率将大致加倍。例如,在图表58a中,3位类的PUCV 000的频率是2,311,并且4位类中的下一个PUCV1100变为1151。并且对于27x27 SPUCV,也可在图表58b中找到规律性。
然而,当比较图表58a和图表58b中的代码值之间的频率范围时,人们能够发现这种规律的变化。可将一个位类中最频繁的代码值与相邻位类中的最不频繁的代码值之间的频率范围进行比较。以下图表58e列出了不同位类中的代码值的频率范围:
图表58e
位类之间的频率范围
因此,它揭示了位长度不是确定值的频率的唯一因素,不同分组中的值也具有其自己组的其自己的频率规则性特征。例如,当位类变得越来越低时,高位类中的最频繁代码值与低位类中的最不频繁代码值之间的比率倾向于在SPUCV组中增加。
据此,人们可设计处理无论是否随机的数据,的方法和对应规则以适合目标目的之用。现在,本专利公开揭示了所述发现,如何可被用于进行尤其包括随机数据的数字数据压缩。
对于压缩随机数据,利用段落[128]中揭示的发现,可使用绝对地址分支编码(AABC)连同连续代码替换(SCS)来开发数字黑洞技术(DBh)。在物理世界中,黑洞是物质被吸收的地方。同样,本发明中揭示的一些实施方案使用二进制数字代码,用以表示吸收其他二进制代码的位置点。这涉及识别一些有利于执行所述角色的数字二进制代码。用于选择这些位置的标准取决于人们将要实现的目的。因此,建立的标准与目的相关。为了进行数据压缩,明显的标准是关于数字二进制代码的频率。因此,数字二进制代码块出现得越频繁,将吸收其他数字二进制代码就越频繁,因此可实现更多的位节省。因此,如图表58a和图表58b所示,可为PUCV组和SPUCV组中的每个位类识别出呈现最频繁的值。
数字黑洞的发明使用AABC技术。如图表55所示,在段落[115]中发现的描述的情况下,27个唯一PUCV组可分为具有大约一半的频率的2个子组。并且段落[116]总结出以上不可压缩类和可压缩类的频率,略有不同;其中第一类具有8897个处理单元,并且第二类具有8888个处理单元。不可压缩类包括7个PUCV和可压缩类包括20个PUCV。不可压缩类包含分类代码或情境代码0作为其头码,并且可压缩类使用1作为其头码。如果可以节省分类代码或情境代码的使用,那么就可以对有着某种特定频率分配的随机数据,实现数据压缩,即因为其具有一定的频率分配规律性。这是通过在此揭示的数字黑洞的发明来完成的。任何随机数据集中的任何PUCV或SPUCV之前和之后是另一个PUCV,其可为3/4/5/6位类。图表55中的不可压缩类是3位类和4位类中的PUCV,而可压缩类在5位类和6位类中。如果不使用分类代码位0/1,那么可使用以下AAB代码用于不可压缩类和可压缩类的PUCV,如下图表59中所示:
图表59a
不可压缩类3/4位类的PUCV的AAB代码
图表59b
不可压缩类5/6位类的PUCV的AAB代码
在图表59a和图表59b中都可看出,以上述方式分配的每个PUCV通过使用AABC技术有助于节省1位。但是,由于缺少分类或情境代码,人们不能仅使用这些AAB代码来代表27个唯一PUCV。因此,创建数字黑洞的技术必须发挥作用。这如前所述,将数字二进制代码指定为吸收先前的PUCV或随后的PUCV的黑洞,并且一旦在解码时检测到的所述数字二进制代码,就表示使用了如图表59a和图表59b中所列的AAB代码来表示分配给他们的PUCV的代码。但是由于存在两个类,不可压缩类和可压缩类,所以应当存在两个黑洞,一个负责使用AAB代码来表示(因此吸收)3位类和4位类PUCV以及其他5位类和6位类PUCV。因此,应当存在配合黑洞1(SPUCV 0011-11011,频率为19,在9位类中最低),与黑洞0(SPUCV 0010-1100,频率为91,SPUCV组中的8位类中最高的一个)配对,以用于分别在黑洞0和黑洞1之前或之后吸收两半代码值(一半是3位和4位类代码值,并且另一半是5位和6位类代码值)。在此选择SPUCV0010-1100和SPUCV 0011-11011作为黑洞0和1,因为它们一起表现出频率范围(如图表58c所示,比率大于4∶1),作为一个特征,适用于其中一种形式的数字数据黑洞技术。
因此,SPUCV组的频率规律性或规则的发现有助于为使用所述黑洞技术来进行随机数据的数据压缩铺平道路。并且由于现在可确定PUCV组和SPUCV组的频率规律模式,这种模式,包括其频率幅度和任何特定位类或位类值的频率范围,可使用它作为用于制定规则以便对其他类型的数据分配进行压缩的参考,如将在随后揭示的。
数字数据黑洞可使用AABC来吸收即将到来的队列中的前面的值或下一个值或者前面或后面的两个值。因此,数字数据黑洞的技术被定义为:使用在陈氏框架下定义的编码器的代码值来通过使用AAB编码来吸收或表示其他代码值,即与表示所吸收的代码的黑洞代码值相关联的AAB代码,并且黑洞代码值因此是指向AAB代码的索引或指针,从而表示出被由对应的黑洞吸收的代码值。例如,黑洞0使用图表59a中的AAB代码来吸收3位和4位PUCV,当它们在后面出现时(以用于向后吸收),因此对于大约一半出现的黑洞0(在此使用的实例中是SPUCV 0010-1100的)节省1位。例如,这节省大约46(91/2)位节,这取决于3位和4位PUCV的频率与5位和6位PUCV的频率之间的比率。使用SPUCV 0011-11011,在图表59b中,用以充当使用AAB代码的黑洞1,从而表示:SPUCV 0011-11011随后是后随5位或6位PUCV的这一种模式,这一方面节省了45(91/2)位节,但是在另一方面也损失了45位节,因为SPUCV0011-11011,黑洞1,是9位,比黑洞0,SPUCV 0010-1100,长一位。因此,使用黑洞1的结果是均等的。总而言之,通过使用这种技术,它可节省大约1位节乘以大约是SPUCV 0010-1100频率的一半,即46(91/2)位。然而,这尚未完成。因为SPUCV 0011-11011(替代代码0,Scode 0)被借用来替代SPUCV 0010-1100(接着是5/6位PUCV)并且变成黑洞1。因此,黑洞1的位长不应比黑洞0长1位,并且其频率应小于黑洞0的四分之一左右。否则,可能无法实现数据压缩。并且黑洞1的位置必须由另一个代码替代。为了进行数据压缩的目的而选择替代代码以便进行连续代码替代的标准或规则是:(1)代码的位长越短越好,(2)代码的频率越低越好,以及(3)不选择导致代码冲突的替代代码(例如,如果选择SPUCV 0010-1100作为黑洞0,那么应当尽可能避免构成它的部分作为黑洞1的构成部分。因此,所选择的Scode应当比将要替代的代码(被替代代码)更不频繁(越不频繁越好),并且位长度也不应当比将要替代的代码长1位(替代代码越短越好)。上述规则应当作为压缩随机数据的通用规则。在讨论压缩和解压缩非随机数据时,将在段落[134](2)中讨论更多内容。在适当的情况下,还可制定适用于其自身目的的其他规则。如图表58b所示,这种代码替代开始于SPUCV 0011-11011替代SPUCV 0010-1100(随后是5/6位PUCV),SPUCV 0011-11011(黑洞1和Scode 0)必须由Scode1替代,等等。它停在SPUCV 组的最低位类处,即12位类。在此位类中,存在从未发生的代码值。因此,缺值的SPUCV可用作最后一个Scode而无需另外代码来替代它。但是在解码时,必须知道用于这种替代的代码值是什么,因此必须使用Scode指示符并将其记录在主报头或部分报头中。这产生一些位节支出。因此替代也可停在SPUVC组的某个位类处,其中这种位节支出将超过由进一步替代产生的位节省。当它停在特定的位类时,具有最低频率的下一个SPUCV可使用AAB代码来将其自身分成2个Scode,一个Scode(最后一个之前的一个Scode)替代在这Scode链中的前一个Scode并且随后另一个(最后的Scode)替代自己。例如,通过使用图表58b中列出的替代代码,如果替代停止在11位类处,那么SPUCV 101111-11110(Scode2)必须使用具有在类中的下一个最低频率的SPUCV 01011-101011(Scode 3a)进行替代,其被分成SPUCV 01011-101011-0(替代SPUCV 01011-101011本身)和SPUCV 01011-101011-1(替代Scode 2,SPUCV 101111-11110)。然而,由于Scode 3b是缺值的代码,因此如果使用它来替代Scode 2,那么就不需要代码拆分。因此,根据使用这些特殊代码所需的位节支出,可决定在哪个位类应当停止这种连续代码替代。然而,通过在本实例中使用80,000位的随机数据集,如果使用4∶1的频率范围比率,用以作为用于确定将哪些代码值被用作黑洞0和黑洞1的选择标准,那么通过数字数据黑洞、AAB编码和连续代码替代技术实现的位节省不足以覆盖所使用的特殊代码的位支出。将随机数据集增加到800,000位显然会将频率范围(即4∶1)缩小到较低的比率,这也是:就算利用这种数字数据黑洞技术,也不可能压缩这些随机数据。
然而,使用数字数据的较高频率范围比率和较少的随机位可使得位节节省足以覆盖所使用的特殊代码指示符的位节支出。例如,可使用频率为14的12位SPUCV 111111-101011,12位类中最高的来作为黑洞0以用于与缺失的SPUCV 111111-111110配对,以便(例如,使用前向吸收)吸收其前面的PUCV。使用这对DDB非常直接了当。存在12位类的64个唯一代码值,两个DDB中的每一个都需要6位作为它们各自的特殊代码指示符来对它们进行识别。这需要12位。因为黑洞1是缺失的代码值,并且因此不再需要Scode来替代它。因此,对于所述80,000位的随机数据集,位节节省是14减12位,相当于2位节。
这是确切的信号和实例,在某种情况下,随机数据是可被压缩的,从而打破了随机数据永远无法压缩的信息理论中鸽巢原理的神话。通过更多探索,可确定的说,可以发现一些规则的模式,以用于在所有情况下压缩任何大小的随机数据。并且另一个实例也将在以下段落[134]中的图表60:如何使用另一种技术来增加压缩随机数据的机会,的讨论中显示。因此,上述技术组合可用于压缩有资格被压缩的数据集,即满足大于4∶1的频率范围比率的频率范围要求的数据集,所述比率越高,用于进行成功压缩的随机数据集的大小可越小。由于存在可使用无限大小数量的随机数据集在陈氏框架下设计无限量的编码器,因此可尝试使用上述技术(或者与其他附加技术一起使用,例如以上介绍的非均匀数据的技术以及其他新发明的技术,例如以下在段落[134]中的图表60中引入的技术或者其他聪明人将设计的那些技术),以用于在针对特定大小的特定随机数据集,识别出相应的频率范围比率模式,来进行压缩。因此所使用的数据集的大小(或者分成如此定义以便处理的特定大小的部分)以及高位类中的最频繁代码值∶低位类中的最不频繁代码值之间的频率范围比率(例如,如图表58c所示)是数字数据集(无论是否随机的数字数据集)的两个特征,所述特征可用于识别数字数据集的模式或规则,使得上述技术组合可用于把它进行成功压缩。
以上段落[131]中揭示的是一种陈氏代码技术,即连续替代,当与数据黑洞技术一起使用时,它有助于对随机数据集在满足相应频率范围特征的要求的情况下,在陈氏框架下设计的适当的编码器下,打破信息理论中鸽巢原理的神话。因此,通过在适当的情况下使用不同的PUCV和SPUCV组的不同的Max数和位数,可以与其他设计的编码器类似的方式,使用与此处概述的方法相同的方法来完成。另外的实施方案还可包括使用陈氏框架的编码器的不同组合,采用不同的技术或方法的其他不同的解决方案。
在此介绍的数字数据黑洞(DDB)可具有多种形式。它可使用AAB代码来吸收(即表示)前面或后面或两个方向或甚至旁路的代码值(例如,使用位0或位1将替代代码分成两个以代表两个代码值可被视为代码值的旁路吸收或表示的形式,其中由分割替代代码表示的代码值可出现在数据集中的任何地方)。使用DDB来吸收后面的代码值更简单。在前面吸收代码值必须注意出现两个或连续多个DDB的情况。当指定为DDB的代码链接在一起时,对应于每个DDB的AAB代码必须首先按顺序存储,并且在处理完最后一个DDB的AAB代码之后,这种AAB代码必须以相反的顺序放置(即使用AAB代码的相反放置技术,从而检查解码后的前面的代码值是否可形成为另一个DDB并且在必要时进行进一步的对应代码解码),使得在解码时可以正确的顺序解释AAB代码解码,以便解码被吸收的代码值。并且还将必须使用位代码,即位0或位1(相关的区分位节)来区分:作为编码代码输出流的第一编码代码值出现的DDB,是否在前面吸收了代码值的DDB(如果是,以上区分位也必须跟随表示所吸收的代码值的AAB代码;如果不是,那么上述区分位就足够了)。对于黑洞在两个方向上吸收代码值,位节省可能更多,它可使用2个AAB代码,一个用于在前面和后面吸收的每个代码值。当几个DDB聚集在一起时,它会更复杂。因此,应当对DDB碰撞的每种可能情况或情境进行进一步分析,并且随后建立处理如何完成编码的规则。例如,如果由于某种原因不想使用AAB代码的相反放置,那么可设置例外规则,即当两个DDB连续出现时,其中一个可停止在相应的吸收方向进行AAB编码,以便不去吸收相关代码值(即其他DDB)。这种例外规则可设计用于单向或双向吸收。为了使用DDB以便在前面或后面或两个方向上吸收代码值,还可在相关报头中包括DDB类型的指示符,使得可正确地解码与之相关联的AAB代码。另外,在前面或后面表示的代码值也可被设计成与对应的DDB相距一定距离;通常直接在前面或后面的代码值将由AAB编码吸收或表示,然而也可在对应的DDB的前面或后面指定固定数量的位置,以用于将要吸收或由AAB编码表示的代码值。以这种方式,当在原始数字数据输入流中遇到第一DDB以进行这种吸收或表示时,将必须设计更精细的规则来用于表示这种情况,使得在解码过程中将不存在任何误解。
通过上述启示,可把可用于压缩包括随机数据和非随机数据的方法或技术或技术组合概括如下:
(1)压缩和解压缩随机数据
(1a)使用陈氏框架设计的编码器进行数据解析,从而产生随机数据集的频率统计值:
此步骤使用陈氏框架设计的编码器;例如,图表58中表示的频率统计值是通过使用Max3 5位0头码设计代码单元编码器产生的,所述编码器具有由3个单代码单元组成的处理单元并且具有由2个处理单元组成的超级处理单元;
(1b)将代码值指定为特殊代码(或异常代码)以便进行特殊处理,包括使用AAB编码的数字数据黑洞技术以及使用或不使用代码分割的连续替代技术,以便形成新的替代代码来供使用:根据随机数据集的频率统计值,选择PUCV和SPUCV作为特殊代码,例如黑洞代码和替代代码,只要识别出适当的频率模式;这种选择是基于用于编码和解码目的的标准,例如在这种情况下,这是用于数字数据,并且具体地是随机数据的压缩和解压缩;在上面已经作出启示,启示如何为此目的去选择代码,例如,简而言之,根据PUCV和SPUCV组中的位类,基于它们的频率来选择特殊代码;例如,每个位类中最高频率的代码值是黑洞0的候选者;每个位类中最低频率的代码值是替代代码的候选者,其中一个(例如,替代代码0)被用作黑洞1,将其与黑洞0的代码配对,以便使用AAB编码来表示(或吸收)前面或后面或两个方向上的代码值;因此所述特殊处理包括,在有或没有代码分割的情况下,使用AAB编码和连续替代的数字数据黑洞,以便形成新的替代代码来供使用;与黑洞代码相关联的AAB代码可在黑洞代码之后放入并且合并到主编码代码输出文件中,而不是使用单独的AAB代码文件来存储此类AAB代码,并且还可决定使用单独的AAB代码文件来在适当的情况下存储AAB代码;上述用于特殊代码的指示符(特殊代码指示符)包括黑洞指示符和替代代码指示符;特殊代码指示符和部分大小指示符(参见下文)必须写入相关报头中;为了便于编码,整个数字数据输入可被划分成由少量二进制位、某一固定数量的二进制位组成的部分,例如使用80000位作为一个部分来进行处理,只要所述部分足够大来进行这种特殊处理以产生位节省(例如,如果一个部分仅由1个二进制位组成,那么可能无法实现位节省,因此不会再次提出这种无意义的假设),所述部分越小,可实现的位节省越少,因此使用较大位节大小的部分将意味着可实现,对于所述部分,更多的位节省,然而,数据解析的速度也可能会减慢,因此必须打造一个位节省与编码速度之间的平衡,因此可使用部分大小指示符(将要在相应的部分报头中写入),以指示正在处理的部分的位大小;如果使用部分,那么跨部分边界的PUCV或SPUCV(例如80,000位)可作为部分边界之前部的一部分,或者作为新的部分来进行处理,并且相应地调整部分边界;
(1c)用于压缩随机数据的编码过程:
因此,用于压缩随机数据的编码过程包括:
(i)使用陈氏框架设计的编码器来读取和解析数字数据输入,从而产生随机数据集的频率统计值;
(ii)将代码值指定为特殊代码以便进行特殊处理,包括使用AAB编码的数字数据黑洞以及使用带有或不带有代码分割的连续替代以便形成新的替代代码来供使用;
(iii)读取代码值,区分代码是普通代码还是特殊代码(包括黑洞0和其他Scode),对如此读取的代码值进行编码,在适当情况下应用特殊处理(在此的特殊处理包括在遇到DDB时使用AAB编码的数字数据黑洞,或者替代代码映射表以用于其他特殊代码,即替代代码,以便在适当的情况下进行连续代码替代),并且在适当的情况下根据上述步骤(1cii)中的指定,带有或不带有代码分割的连续替代的设计规则,以及AAB代码表规则,来将编码代码写入输出文件中,产生AAB代码,以用于由黑洞吸收的代码值;AAB代码可在适当的情况下作为单独的AAB代码输出文件写入或者写入成合并到主编码代码文件中;
(iv)在适当的情况下(如果尚未嵌入编码器中)将指示符写入主报头和部分报头中,此类指示符在适当的情况下包括校验和指示符、陈氏代码文件签名、映射表指示符、周期数指示符、代码单元定义指示符、处理单元定义指示符、超级处理单元定义指示符、最后识别码指示符、情境设计指示符、非均匀器/均匀器指示符、循环周期指示符、频率指示符、特殊代码指示符、部分大小指示符、数字数据黑洞类型指示符;
(1d)用于压缩随机数据的解码过程:
用于解压缩随机数据的解码过程包括:
(i)使用陈氏框架设计的编码器来读取和解析编码的代码文件;
(ii)在适当的情况根据上述步骤(1cii)中的指定,带有或不带有代码分割的连续替代的设计规则以及AAB代码表规则,来解码代码值(即,在适当的情况下替代用于代码值的代码映射表)并将解码的代码写入解码的代码文件中,检索报头中记录(或嵌入在解码器中)的AAB代码和指示符,以用于解码由黑洞吸收的代码值并将它们写入解码的代码文件中的适当位置中;
这是随机数据是可压缩的另一个证据,通过使用由图表58c中列出的程序生成的72,003位随机数据的频率分配的一个实例,通过将所述行从:
if not FileExists(′ff′)then GenerateRandomFile(′ff′,10000)
改成
if not FileExists(′ff′)then GenerateRandomFile(′ff′,9000)
这种频率分配的实例在下图表60a中列出:
图表60a
使用Max3 5位0头码设计代码单元编码器读取的72,003位随机数据集的代码值的频率分配
000 2004(-1)
1100 1059(0)
0011 1034(0)
0110 1023(0)
0010 987(0)
1000 982(-1)
0100 914(-1)
10011 546(0)
11100 541(0)
11010 523(0)
10110 517(0)
01110 506(0)
01111 502(0)
01011 499(0)
10010 484(0)
01010 477(0)
11110 476(0)
11011 470(0)
10100 470(0)
111011 264(1)
101010 261(1)
111110 259(1)
111010 250(1)
101111 248(1)
101011 244(1)
111111 237(1)
101110 227(1)
总位数:72003
aab增量:-1910
27x27
000-000 199
000-1100 148
000-0100 142
…… (跳过不相关的代码值,因为列表太长)
11011-10100 17
111111-1100 17
101010-10100 17 11位类中的最高频率
101111-0100 17
10110-10100 17
0011-111110 17
10010-11100 17
0110-111011 17
10100-10011 17
0010-111110 17
10100-01010 17
1000-111010 17
01110-10011 17
111110-0011 17
01010-10110 17
111110-0110 17
10011-01110 17
01111-01011 17
111110-1100 17
01011-01111 17
01010-10011 17
01011-10110 17
11110-10010 17
11100-10010 16
11110-01110 16
10110-10011 16
0100-111010 16
01110-11110 16
11010-10100 16
11100-10100 16
0110-101110 16
101011-1000 16
101111-0110 16
1100-111011 16
111010-0011 16
0011-101011 16
01110-11011 16
101011-11010 16 11位类中的第二高频率
10100-10100 16
01110-10010 16
111011-0011 16
01111-11110 16
11100-01011 15
01010-11010 15
1000-111110 15
11010-11010 15
11010-01111 15
11011-11110 15
101111-0010 15
10011-11010 15
11100-11010 15
11010-01110 15
11011-11010 15
111111-0010 15
101011-1100 15
0011-111011 15
101010-0010 15
1100-111110 15
0100-111011 15
01111-10010 15
1100-101010 15
01110-11010 15
11100-11011 15
101110-10011 15 11位类中的第三高频率
11100-10011 15
10011-11011 15
101110-0110 14
01110-11100 14
10100-10110 14
01110-10110 14
11011-01111 14
101010-1000 14
10011-101010 14
111010-11110 14
111010-01111 14
01010-11011 14
01011-11110 14
111110-0100 14
11110-01011 14
01111-11100 14
11010-111011 14
11110-10100 14
11110-01111 14
111011-11100 14
0100-101010 14
0100-101111 14
111111-0011 14
11100-01110 14
111111-1000 14
0010-111011 14
111011-1100 14
0010-111010 14
1000-101110 14
0010-101010 14
10110-10110 14
10110-01010 14
10110-01011 14
10110-101011 13
10100-11100 13
10011-10100 13
01011-01011 13
01011-10010 13
111110-01010 13
101011-0110 13
0011-111111 13
10010-10100 13
0100-101011 13
11011-11100 13
101111-0011 13
101111-10110 13
0110-101010 13
0010-101011 13
10100-10010 13
10010-10011 13
01011-111111 13
101010-0011 13
111010-10010 13
111010-1100 13
01111-10110 13
111010-0010 13
01010-11100 13
01010-10010 13
11110-01010 12
01111-11010 12
111011-10100 12
111111-10011 12
11010-11110 12
111011-01110 12
1000-111111 12
01110-101011 12
11100-111010 12
11100-101110 12
111111-10110 12
11011-01010 12
10100-11110 12
11100-01111 12
10010-101010 12
101010-01010 12
1100-101111 12
01110-01111 12
111110-10011 12
10011-111110 12
101110-0100 12
01010-11110 12
01110-01011 12
01111-01111 12
111011-01010 12
0110-101011 12
0110-111111 12
101110-0011 11
101011-01010 11
101110-1000 11
111110-11100 11
111111-0110 11
111011-101010 11 12位类中的最高频率
11011-101110 11
111011-10110 11
101010-11100 11
101010-10110 11
101010-10011 11
111010-101011 11 12位类中的第二高频率
10010-01111 11
10010-10010 11
10010-01110 11
01010-101011 11
10100-01011 11
01010-101010 11
01110-111110 11
11100-111111 11
0100-111111 11
01011-11100 11
1100-111111 11
1100-111010 11
11010-10110 11
11100-01010 11
11010-01010 11
11010-11011 11
101011-10110 10
11110-11011 10
111011-0110 10
01110-101111 10
0110-101111 10
0011-101110 10
11010-111111 10
1000-101010 10
101011-10010 10
0010-101111 10
11110-111111 10
101111-11100 10
111010-0100 10
111010-1000 10
111010-11011 10
10010-101011 10
101010-01110 10
11110-11110 10
111110-11110 10
111110-01111 10
111110-10110 10
11011-11011 10
111111-0100 10
11100-111011 10
11100-101111 10
11011-01011 10
111111-11100 10
101110-10100 10
0100-101110 10
11110-10011 9
111010-01011 9
10110-101010 9
10010-111110 9
10011-101111 9
11010-101010 9
11010-101111 9
11100-101010 9
11011-111011 9
10100-101110 9
111111-10010 9
101110-11100 9
01011-111011 9
111111-01010 9
10010-101111 9
101110-01111 9
101110-01010 9
11100-111110 9
101110-10110 9
101011-11110 9
111011-01111 9
111011-11010 9
10100-111011 9
01011-11011 9
10010-111011 9
11010-111110 9
101010-10010 9
111011-0100 9
111010-11100 8
11011-101010 8
111010-01010 8
101111-101111 8 12位类中的第三高频率
101011-111010 8
11010-101110 8
101011-11100 8
101011-11011 8
111111-11110 8
11011-10110 8
11110-101011 8
111111-11011 8
01111-111110 8
111111-101111 8
11010-111010 8
01010-111010 8
111110-11011 8
11100-101011 8
01011-01010 8
01011-111010 8
01011-101011 8
10011-111011 8
101010-01011 8
111011-01011 8
101110-11110 8
111011-101111 8
10011-101110 8
01110-01110 8
01110-111111 8
111010-10100 8
10010-01011 8
111111-01111 8
111111-01110 8
101111-10010 8
101111-01111 8
10011-111111 8
111110-1000 8
11110-101111 7
01111-101011 7
111010-01110 7
01111-111011 7
11110-101110 7
01111-01010 7
111111-10100 7
111110-111010 7
01010-10100 7
01010-01110 7
111111-111011 7
01011-101010 7
01111-111111 7
01110-111011 7
101010-11110 7
11011-111110 7
101011-10011 7
10110-111010 7
11011-111010 7
101110-11011 7
101111-01011 7
101011-01011 7
101010-0100 7
101110-01011 7
101010-11010 7
101010-11011 7
10011-101011 7
101111-10011 7
01110-101110 7
10011-111010 7
111010-10011 6
101111-01110 6
111010-11010 6
01010-111011 6
101111-10100 6
01110-01010 6
101010-101110 6
10010-111010 6
01011-101110 6
111110-111110 6
111110-01110 6
101110-101010 6
101111-11010 6
101110-111111 6
111110-10010 6
01110-111010 6
10110-111011 6
11110-101010 6
10100-111111 6
01111-101010 6
101011-01110 6
10110-10010 6
10110-111110 6
01111-101110 6
11110-111010 6
101011-10100 6
11011-111111 6
01111-101111 6
101010-111110 5
10100-101111 5
10100-101010 5
111110-101010 5
10010-101110 5
101010-111111 5
101011-01111 5
101010-101010 5
01111-111010 5
01110-101010 5
101010-111010 5
111110-10100 5
111110-01011 5
111111-111111 5
01010-111110 5
10110-101111 5
11110-111110 5
111111-01011 5
101111-101011 5
11110-111011 5
101110-11010 5
101111-01010 5
111011-11110 5
101011-111111 5
10010-111111 5
11010-101011 5
111011-111011 5
111010-101110 5
11011-101111 5
10100-101011 5
10100-111010 4
101110-01110 4
111011-111111 4
101110-10010 4
111111-11010 4
111011-10011 4
111011-10010 4
111011-111010 4
111011-11011 4
101111-111110 4
01010-101110 4
101111-111111 4
01011-111110 4
101011-0011 4
01010-111111 4
111010-111010 4
111010-111011 4
101111-11110 4
101111-101010 4
111110-101111 4
111110-101011 4
111110-11010 4
01011-101111 4
10110-111111 3
101111-11011 3
10100-111110 3
111010-101111 3
111010-101010 3
111111-111010 3
101011-111110 3
111111-101010 3
111111-101110 3
101111-111011 3
101011-101010 3
10110-101110 3
101111-111010 3
101010-111011 3
101110-101011 3
101110-101111 3
101110-111110 3
111110-111111 3
111110-111011 3
101010-01111 3
111011-111110 3
111010-111110 2
111111-101011 2
101011-101110 2
101010-101111 2
111110-101110 2
111010-10110 2
111111-111110 2
111010-111111 2
01010-101111 2
101011-101011 1
101011-101111 1
111011-101011 1
101110-111010 1
111011-101110 1
101111-101110 1
101011-111011 1
101010-101011 1
11011-101011 1
101110-111011 1
101110-101110 0 Blackhole 1黑洞1
图表60b
使用图表60a的频率统计值的12位类SPUCV的频率计数的分配
如上所述,通过将随机数据集大小调整为较小值ff=9000来产生图表60a,并且图表60b是使用图表60a的频率统计值在12位类中的SPUCV的频率计数的分配。如图表60b所示,存在两个最高频率为11个计数的代码值。可选择第一个或第二个(即SPUCV 111011-101010和111010-101011)作为黑洞0,以与缺失的作为具有零频率计数的黑洞1的SPUCV 101110-101110配对。通过使用任何一个,位节省仅为11位,并且使用常规方法计算的两个黑洞指示符的位支出是12位。它显然不是合适的方法。因此,可设计另一种新技术来缩短黑洞指示符所需的位长度。这再次使用了范围的概念。
使用这12位类的代码值:具有最高频率计数为黑洞0的SPUCV 111011-101010,为12位类SPUCV的最高频率提供底线。可使用2位节(在此使用的二进制位节数目可根据正在处理的数字数据集,从中确定出来的频率模式或规律性来调整),以用于指示出第二最高频率计数的12位代码值,以位节长度计算的话,在它旁边有多远。两位节指示符可赋予4个位的位节长度跨幅。这对于大多数情况来说已足够。如果它不足够以用于此目的,并且最高频率的12位代码值位于已被设计和选择的位节长度范围之外,那么可将其视为不可压缩的随机数据。因此,位00用于11位,位01用于12位,位10用于13位,并且位11用于14位SPUCV。由于SPUCV 111011-101010是11位,因此用于其的指示符是位00。
如果选择具最高频率的代码值作为黑洞0和缺值的代码值作为黑洞1,那么在编码后,解析编码的代码,12位SPUCV的频率计数的分配将变为一,如以下图表60c所示:
图表60c
使用图表60a的频率统计值的编码代码中的12位类SPUCV的频率计数的分配
这假设是基于:用于黑洞0和黑洞1的3/4位PUCV和5/6位PUCV的频率计数的分配维持了其为原始12位SPUCV 111011-101010的比例。
假设以上是正确的,可使用固定设计的黑洞0来吸收3/4位PUCV和黑洞1来吸收5/6位PUCV。如果没有波动,那么可解析编码的代码并且知道3/4位PUCV的一半更大还是5/6位PUCV的一半更大。如果允许更改,可使用1个位节来指示哪个12位代码值是黑洞0(例如,在自然数字排序中首先出现的那个),随后在确定识别哪一个代码值来自5个频率计数和6个频率计数的每个组之后,黑洞1自然是已知的了。为了从5和6频率计数组中识别这两个DDB,总共有55个选项(即10+1=11和4+1=5,以及11*5=55)可供选择。因此它使用5至6位节(使用AAB编码)来进行这种识别。总计,可使用2个位节来指示黑洞0的频率计数,1个位节指示哪个DDB代码值是缺值的代码值,以及5至6个位节用于识别两个DDB,总计是8到9个位节。因此,获得的位节省是11个位节减去8到9个位节,相当于2到3个位节。
然而,关于两个DDB在编码代码中被发现的位置(即,哪些频率计数组)是可以有一定程度的波动的。可能的分组是5和6个频率计数组、4和7个频率计数组、3和8个频率计数组、2和9个频率计数组、1和10个频率计数组,总共5种可能的分组。然而,非常确定的是2/9组和1/10组是独有的,因此仍存在4种可能的分组。因此,可再给出2个位节来用于指示这种可能性。然而,给出2个位节可能没有必要,因为两个DDB落入超过5/6和6/7频率计数的分组中的机会很少。并且它们可再次归类为不可压缩的随机数据。因此,可使用1个位节来允许两个DDB所落入的频率计数分组的这种波动。
黑洞0和黑洞1的两个特别代码指示符的位节支出,落入不同组是:用于5/6频率计数分组的5到6个位节,用于4/7分组的4到5个位节(10*3)。
因此,如果频率计数分组用于两个DDB,那么位节省从2到3个位节减少1位到1至2个位节。如果分组是4/7,那么位节省没有变化,因为2至3个位节减去1位用于指示DDB的频率计数分组,以及由于两个DDB的特殊代码指示符的位节支出的减少,而产生的1个位节的增加,使之保持相同。因此,位节省为1到2个位节或2到3个位节。
因此,这是通过使用从正在处理的数字数据集收集的信息(即关于频率计数分组的统计数据)来缩短,例如用于DDB的特殊代码的指示符,指示符位节支出的技术。
给定1位节用作用于区分可压缩或不可压缩数据的指示符,结果是均等或者具有1到2位节的节省。考虑到由使用的编码器采样的PUCV的频率分配的规律性,两个DDB落入3/8分组的可能性非常小或非常低,因此两个DDB的落入的机会的顺序首先是5/6分组,并且随后是4/7分组,并且随后不太可能是3/8分组,并且甚至更少为2/9或1/10分组。并且如前所述,如果DDB不落入5/6和4/7频率计数组的分组中,那么随机数据集被分类为不可压缩数据。这些数据使用上述可压缩/不可压缩数据位节。
还发现,通过使用ff=9,000生成上述频率分配的实例生成了大约8个实例,仅有1个没有缺失值的12位代码值。因此,这意味着使用以上到目前为止介绍的技术会有更高位节节省的可能性。
在另一个实施方案中,还可使用11位类中的最高频率的代码值SPUCV 101010-10100作为黑洞0,以便与黑洞1,SPUCV 101110-101110配对,同时在适当的情况下以类似方式使用缩短指示符位节支出的技术。
关于在陈氏框架下设计的不同编码器下采样的不同大小的随机数据的频率分配的更多规则模式预期将会合并,并且针对这些已确定的规律,更精细的规则和新技术会被开发出来。这些位指示符的用途及其各自的大小也可在不同的实施方案中被调整,调整是根据通过利用陈氏框架设计的不同的编码器确定出的,无论是随机的还是非随机的,不同大小的数字数据集的,特定频率模式或规律。
因此,本发明中引入的技术已说明它们在压缩随机数据中的有用性。并且这些技术还可利用从随机数据集中辨别出的规律模式的信息,作为参考,来压缩和解压缩非随机数据。
(2)压缩和解压缩非随机数据
由于可使用以上(1)中揭示的方法来压缩随机数据,所以也可使用相同的方法来压缩非随机数据。在决定特殊代码的指定时,需要考虑非随机数据的性质。基本上,在这种情况下,用于指定特殊代码的逻辑与压缩随机数据的情况相同,因为目的是相同的,即是为了实现位使用节省。然而,由于随机数据遵循非随机数据不遵循的某些规律性,并且非随机数据集的数据分配可能彼此大相径庭,这就是为什么在指定特殊代码时应当满足一些这种变化并且使用更适当的技术来适应这种变化是更须要的。因此,为了指定特殊代码,可在适当的情况下制定和遵守以下规则:
(2a)在非随机数据集中缺失PUCV的可能性:
处理非常少量的随机或非随机二进制位节的部分可能无法得到位节节省,可能不足以补偿用于在报头中记录的指示符的位节支出。因此,以同样的方式,非随机数据的部分大小不应当非常小。然而,即使具有非常大的大小,非随机数据集也可在数据集中缺少一个或多个PUCV。并且这种缺失PUCV的现象可在适当的情况下被充分利用,使得可将这种缺失的PUCV指定为特殊代码,黑洞1或其他Scodes。为了充当黑洞1,标准是将要选择的代码值不应当比选择的黑洞0长1位长度,因为黑洞1使用AAB代码来吸收前面或后面的代码值可仅节省1位(目前的讨论假设黑洞单向吸收代码值;可相应调整用于通过黑洞的双向吸收的规则)。因此使用Scode 0作为黑洞1,其中位节长度长1位意味着数据扩展,这不是朝向实现数据压缩目的的方向。因此,用于对随机和非随机数据进行数据压缩的规则(假设不受黑洞和连续代码替代技术的用途的影响的其他代码值使用相同位大小编码器来编码,读取编码器本身被用作相同位大小编码器的类中的写入编码器;如前所述,使用相同位大小编码器进行编码而不是读取编码器本身代表一种加密形式,而没有数据扩展也没有数据收缩)是:
使用黑洞产生的位节增益应当超过使用替代代码加上报头中使用的位节支出所造成的位缺失
因此,在所述顶级规则下,要进行压缩和解压缩数字数据集的数据分配以及数据处理这些活动的相关目的时,可根据实际情况在适当时候放宽其他规则。在讨论其中不存在缺失的PUCV的情况下,关于可用于压缩其中缺失PUCV的非随机数据集的技术的更多内容可另行讨论;
(2b)非随机数据集中没有缺失PUCV:
由于如上所揭示的数字数据黑洞和连续代码替代可用于压缩随机数据,因此这些技术也可用于压缩非随机数据。非随机数据变化很大且也不可预测,但是当使用相同位大小的随机数据集(例如在我们的实例中使用的80,000个二进制位)的频率分配统计值作为参考(如上所示使用陈氏框架定义的编码器获得)来查看和比较时,那么在没有缺失PUCV的情况下,得出使用数字数据黑洞和连续代码替代技术的方法也可用于压缩非随机数据集,这结论是合乎逻辑的。在不缺失PUCV的情况下,必须使用,无论具有或不具有代码分割的,连续代码替代来提供用作黑洞1的附加代码值,从而与黑洞0合作以使用AAB编码来吸收其他代码值。可预期的是,非随机数据集中的任何位类中其最高频率的代码值的频率可能远高于随机数据集的相同位类中的相应代码值的频率。如果对于一个位类不是如此,那么将在另一个位类中可发现这种现象。对于频率最低的那些代码值也是如此。并且可在从使用随机数据集推导出的参考下,遵从以下规则:
(i)用于非随机数据集的一对黑洞0和黑洞1之间的频率差异范围应当大于相同大小的随机数据集,或在随机数据集中的相应一对的频率差异应如下:黑洞0的频率应当为黑洞1频率的4倍或以上,并且黑洞1的位节长不应比黑洞1的位节长超过1位;这意味着,黑洞1,在处理中的数据集中的频率可能不那么频繁,并且位长度比在此规定的更短;这也意味着,如果发现其他代码值满足这些要求,那么这些代码值也可用作黑洞1:
黑洞0的频率>=黑洞1的频率的4倍
加上
黑洞0的位节长度不短于黑洞1的位节长度1位
(ii)由于在这种情况下处理中的数据集中没有缺失代码,因此黑洞1的代码值是借用以供使用的代码值(即,本身为Scode 0)以用于替代黑洞0,其中一半吸收的代码值由相应的AAB代码表示,一个代码值必须用另一个代码值来替代它。如上所述,这是连续代码替代应当提供帮助的情况。用于这种连续代码替代的规则可如下:
所有加起来的Scode的总频率=<Scode 0的频率
加上
每个连续Scode的频率应当=<将要替代的代码频率的一半
加上
每个连续Scode的位节长不应当比将要替代的代码的位节长长1位;如果它更长并且增加1位,那么每增加一位,这种连续Scode的频率应进一步减少一半;
所有Scode的总频率越低并且其位节长越短,以上指定规则越好。如果满足上述规则,还可使用其他代码值作为Scode。
通过使用如上所述的数字数据黑洞和连续代码替代的方法,只在很少情况下,不能把有关的非随机数据集进行压缩处理。在适当的情况下,就这一点而言可参考根据本发明的优先权要求的2017年2月22日提交的PCT/IB2017/050985。
在使用上述规则后,可能无法识别出满足要求的黑洞,可非常确定所出现的代码值是非常集中在特定的位类中,例如集中在3位类和单个代码值(即000)中。在这种情况下,可随后考虑使用以下AAB代码表进行选择,以用于压缩PUCV 000:
图表61a
用于产生高度集中于PUCV 000的代码值的AAB代码表
0
1000
1001
1010
10110
10111
11000
11001
11010
110110
110111
111000
111001
1111000
1111001
11110100
11110101
11110110
11110111
11111000
11111001
11111010
11111011
11111100
11111101
11111110
11111111
图表61b
用于代码值集中在PUCV 000的AAB代码表,当亏损发生在4位PUCV时适用,适用于带有较少数量4位PUCV的数据集
00
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
111100
111101
111110
111111
图表61c
用于代码值集中在PUCV 000的AAB代码表,当亏损发生在5位PUCV时适用,适用于带有较少数量5位PUCV的数据集
00
0100
0101
0110
0111
1000
1001
101000
101001
101010
101011
1011000
1011001
1011010
1011011
1011100
1011101
1011110
1011111
111000
111001
111010
111011
111100
111101
111110
111111
图表61d
用于代码值集中在PUCV 000的AAB代码表,当亏损发生在6位PUCV时适用,适用于带有较少数量6位PUCV的数据集
00
0100
0101
0110
0111
1000
1001
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
111100
111101
11111000
11111001
11111010
11111011
11111100
11111101
11111110
11111111
图表61e
用于代码值集中在PUCV 000的AAB代码表,其中余下的PUCV是根据降低的频率以降序来分配代码值
00
0100
0101
0110
0111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
110100
110101
110110
110111
111000
111001
111010
111011
111100
111101
111110
111111
上述5种版本的AAB代码表设计表明,可将代码值分成多个部分(例如,在图表61b、图表61c和图表61d中按代码值位大小分类),以用于根据代码值的数据分配,限制所需要应用的AAB代码类型的范围。因此,当发现它们是期望和适当时,可设计更多这种AAB代码表,从而补充上述规则和图表61中列出的AAB代码表。上述规则和图表61是为了证明可如何设计和开发数字数据黑洞和连续代码替代技术以及AAB编码技术来压缩非随机数据而制定的,这并不意味以上所述的已经是穷尽的,并且可出于一直优化的目的,来进行设计和开发,对它们作出补充。调整在此使用的AAB代码表的技术也适用于与DDB相关联的AAB代码表,从而获得,由使用DDB而获得的,最大化的位节使用增益。根据设计,根据哪个DDB在位节使用中获得更多,一半(或一部分)具有较高频率的代码值应分配给该DDB,使被其吸收。这意味着对于非随机数据集,由于代码值的非均匀分配,分配给每个DDB对的两半应当必须根据正在处理的数据集的代码值的当前频率分配来调整。因此,AAB代码表也应当相应地调整。因此,显而易见的是,根据正在处理的非随机数据集的数据分配进行适当调整的上述规则,和上述AAB代码表,足以覆盖几乎所有没有缺失PUCV的非随机数据的情况,上述AAB代码表是根据在处理中的非随机数据集的数据分配情况而进行适当调整的。并且还可调整部分大小,例如将其从80,000个二进制位增加到10倍或100倍,并且这肯定将提供更好的位节省机会。同样对于非随机数据,如果使用上述最佳选项压缩一个部分的数据导致位节使用的损失,这并不意味着整个数字数据输入不存在位节使用的增益。因此,考虑到有机会补充规则和AAB代码表以进一步优化,刚才概述的方法应当足以压缩没有缺失PUCV的非随机数据。
(2c)缺失PUCV的非随机数据集:
压缩缺失PUCV的非随机数据集相对容易,并且通过使用以下技术总是可实现的:
(i)使用正在处理的非随机数据集中缺失的代码值来充当黑洞1,所述黑洞1与在相同的位类中或者甚至在减少1位节的位类中,用作为黑洞0的配对伙伴,该黑洞0是在相关类中有着最频繁代码值的;由于这种缺失代码值的出现频率为零,因此不需要任何替代代码来代替它;并且
(ii)将正在处理的非随机数据集中缺失的PUCV替换为较长位节长度的另一个代码值,这种另一个代码值存在于正在处理的数据集中。
此外,还应当考虑在适当的情况下使用多于一对的DDB来压缩随机数据以及非随机数据。通过使用上述方法和技术,必须添加相关指示符以用于相关报头中使用的特殊代码,或者在适当的情况下将它们嵌入在已讨论的所使用的编码器和解码器中。例如情境指示符等的其他指示符也可以相同的方式使用,以用于指示被编码或解码的数据集是随机数据集还是非随机数据集,以及已使用哪对DDB或使用哪个AAB代码表。
以上实例使用了陈氏框架设计的Max3编码器,也可尝试使用其他Max数的编码器设计。因此,除其他特征外,最重要的区分特征,用于把陈氏框架设计的编码器与其他编码器区分开来的标准是:代码单元、处理单元和超级处理单元的唯一代码值,根据所使用的设计,是具有多于一个数目的位节大小的或位节长度,即或具有不同的位节大小或位节长度。
因此,以上概述的方法和技术可循环地压缩,无论是随机的还是非随机的所有类型的数字数据(不包括少于几千个二进制位节的随机数据,在此确切的限制不是重点)。因此,结合上述内容,在此发明了通用编码器。
总而言之,结论再次是:
让有理解力的人来点算数字......
有益效果
由于没有关于输入的数字信息的假设,所以包括随机数字或均匀分配的数字的任何数字都可在经受上述限制的循环周期中进行加密或压缩。在信息爆炸时代的今天,能够循环加密和压缩,在分配中无论是否随机的数字数据的方法对全人类,在生活的方方面面依赖数字数据的交换和存储的利用上,做出了巨大的贡献。它肯定也有助于人类在空间探索或重新移居的努力。
最佳模式
到目前为止在本发明中引入的最佳实施方案是将数字数据与代码替代(连续或不连续)一起用于在适当的情况下压缩随机和非随机数据。并且对于非随机数据,可设计和开发另外的规则和AAB代码表,以适应处理中的数字数据集的数据分配类型。这提供了明确的证据,即任何数字数据集都可在周期中进行编码和解码达到所描述的限制,所述证据结束了信息理论中鸽巢原理的神话并且现在鸽巢遇上了黑洞。这并不意味着其他模式中的其他陈氏译码技术无法产生相同的结果或相同的证据。可预测的是,使用其他模式也可提供相同的结果和相同的证据。
发明模式
其他模式包括交替使用非均匀器和均匀器来进行编码和解码,使用超级处理单元尤其是通过设置用于使用这些子部分的AI分辨的标准的技术,来将随机数据集分解为易受压缩的非均匀数据的子部分或子单元,并且使用不同大小的处理单元来,根据数字数据值的内容的特性或特征,适当使用终止条件和分类标准来进行编码和解码,并且,特别是对于加密模式的简单设计,使用数学公式以及它们的相应值的放置来进行编码和解码。
最重要的是,从以上讨论中可看出,陈氏框架提供了,可用于无论是否随机的数据,可用于创建秩序的框架,从而允许从该等数据中,生成统计信息,该等统计信息与以下方面相关:用于描述在处理下的特定数据集的模式[模式和设计包括代码单元、处理单元、超级处理单元的设计(部分是更大大小的超级处理单元)、未编码的代码单元、包含设计用于使用此类信息的基本指示符的报头、以及编码器和解码器中内置的编程逻辑,从而产生陈氏代码,以便以陈氏代码文件形式的数字二进制位来表示],并且从而允许使用陈氏译码技术,在适当的情况下,用于压缩和加密的目的,来进行编码和解码。如上所述,上述这种统计信息包括代码单元、处理单元、超级处理单元的大小,它们的频率分配,数据代码值的排名和位置,以及例如数学公式中表示的不同数据代码值之间的关系的其他特征信息,终止值和终止条件,位0与位1之间的比率,数据范围等等。因为可在陈氏框架下描述数据集的这些特征或特性,使得,可出于编码和解码目的,用来创建关系或派生特性。例如,一种特别有用的特性是绝对地址分支代码,例如,它也可用作代码单元定义本身,或者作为内容代码,或者作为情境分类代码,以及作为用作进行AI分辨的标准的内容代码的三元组的后缀,并且特别是联手地,使用数字数据黑洞和连续代码替代,从而使得可以,正确且无损地,压缩和解压缩随机数据。因此,陈氏框架是丰富的框架,从而允许为任何数据集,属于不论什么数据分配的数据集,创建秩序,给予在设计阶段期间有极大的灵活性,这在框架下是可描述的,使得开发技术,可用来捕捉数据值之间的差异,这可随后进行认真操作,例如通过循环地运用,用于改变数据集的位0与位1之间的比率,使得可将数据分配的非均匀性得以增加,使再循环数据压缩成为可能的目的,或者通过设计数学公式来表示处理单元的不同组件之间的关系,用于(本身或者在再次对其进行进一步压缩之前)加密对应的数字数据集的目的。
使用哪种模式是一个选择问题,取决于编码的主要目的,并且编码是用于加密或用于压缩或用于两者。然而,由于可很容易地进行循环性的再压缩,因此进行区分是无关紧要的。
在本质上,本发明的实施方案的特征在于:
(1)陈氏框架,从无论是否随机的数字数据信息中,创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集中,为数据创建秩序,或创建数据秩序或数据结构或数据组织,由代码单元组成,所述代码单元作为包含数字数据集的二进制位的位节容器的基本单元以供使用;根据出于编码和解码目的而选择进行处理的设计和模式,代码单元主要通过代码单元被定义来容纳或表示的数据值的最大可能数量(即代码单元的值大小)来进行分类,其中代码单元的每个可能的唯一值可具有相同的位大小或不同的位大小;并且代码单元随后由代码单元占据的总共所有可能的唯一数据值的位数(即代码单元所占据的每个可能唯一数据值的位大小的总和)进行分类;并且代码单元进一步由头码设计(即它是0头码设计还是1头码设计)进行分类;由此,根据各实施方案,在陈氏框架下的特定值大小的代码单元具有不同的定义和版本;
(2)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由处理单元组成,所述处理单元,根据出于编码和解码目的而选择用于处理的设计和模式,由一定数量的代码单元作为子单元而组成;
(3)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由超级处理单元组成,所述超级处理单元,根据出于编码和解码目的而选择用于处理的设计和模式,由一定数量的处理单元作为子单元而组成;
(4)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由未被编码的代码单元组成,所述未被编码的代码单元由一定数量的二进制位节组成,这些二进制位节不能达到一个处理单元的大小,因此根据出于编码和解码目的而选择用于处理的设计和模式,保持为未被编码的代码或保持原样;
(5)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由未被编码的代码单元组成,所述未被编码的代码单元由一定数量的二进制位节组成,这些二进制位节不能达到一个处理单元的大小,因此根据出于编码和解码目的而选择用于处理的设计和模式,保持为未被编码的代码或保持原样;
(6)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,根据出于编码和解码目的而选择用于处理的设计和模式,由从代码单元、处理单元、超级处理单元和未被编码的代码单元以及它们在使用中的组合派生的特性或特征或关系组成;
(7)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:用于描述任何数字数据集的特性或特征或关系的描述性语言,使用于描述代码单元、处理单元、超级处理单元和未被编码的代码单元的特性或特征或关系的术语;
(8)陈氏译码,编码和解码的方法,其特征在于:用于在陈氏框架下编码和解码的目的来处理数据的技术;
(9)陈氏译码,编码和解码的方法,其特征在于:使用陈氏译码技术从任何数字数据集中创建所得的陈氏代码;
(10)陈氏译码,编码和解码的方法,其特征在于:使用具有范围的绝对地址分支技术的技术;
(11)陈氏译码,编码和解码的方法,其特征在于:使用数学公式,以用于表示在陈氏框架下创建的数据秩序的处理单元的代码单元之间的关系的技术;
(12)陈氏译码,编码和解码的方法,其特征在于:放置技术,所述放置技术将由数学公式表示的值或编码代码以及代码单元、处理单元、超级处理单元和未被编码的代码单元的那些值或编码代码,以不同的位置顺序来放置;
(13)陈氏译码,编码和解码的方法,其特征在于:分类技术,即把0头码设计或1头码设计或两者,以相配的位节模式为代表的设计,分配到处理中的数字数据的特性或特征,所述特性或特征出于编码和解码的目的,用于对数据值进行分类或分组以便进行处理;
(14)陈氏译码,编码和解码的方法,其特征在于:分类技术,即使用关于在处理中的数字数据的数据值的排序和位置的特性或特征,以便出于编码和解码的目的用于对数据值进行分类或分组来进行处理;
(15)陈氏译码,编码和解码的方法,其特征在于:分类技术,即代码重新分配的运用,包括通过使用以下技术中的任何一种来将唯一数据值以及唯一地址代码从分类模式的一个类重新分配到另一个类,所述技术包括代码交换、代码重新分配和代码重新填入,以用于出于编码和解码目的来处理数字数据集;
(16)陈氏译码,编码和解码的方法,其特征在于:代码调整技术,所述代码调整技术包括以下技术中的任何一种,所述技术包括代码提升、代码降级、代码省略以及代码恢复,以便出于编码和解码目的来进行处理;
(17)陈氏译码,编码和解码的方法,其特征在于:使用终止条件或终止值来定义处理单元或超级处理单元的大小以便出于编码和解码目的来进行处理的技术;
(18)陈氏译码,编码和解码的方法,其特征在于:使用代码单元定义作为数字数据值或编码代码值的读取器的技术;
(19)陈氏译码,编码和解码的方法,其特征在于:使用代码单元定义作为数字数据值或编码代码值的写入器的技术;
(20)陈氏译码,编码和解码的方法,其特征在于:使用超级处理单元来将数字数据集细分成数据的子部分的技术,其中至少一个子部分不是随机的,以便出于编码和解码目的来进行处理;
(21)如权利要求[20]所述的方法,其进一步的特征在于:通过使用分类条件,例如用于特定类的超级处理单元中出现的值条目的数量,进一步将数字数据集的超级处理单元分类,分为两个或更多个类;并且通过设计适用于这些类中的每一个的数据分配的映射表来进行编码和解码;并且通过使用适用于这些超级处理单元中的每一个的数据值的数据分配的它们各自的映射表来对这些超级处理单元中的每一个的数据值进行编码和解码;并且使用指示符来在这些类别的超级处理单元之间进行区分以用于解码,这些指示符被保存在这些超级处理单元中的每一个的报头处或其他地方,如在单独的陈氏代码文件中;
(22)如权利要求[20]所述的方法,其进一步的特征在于:通过使用分类条件,例如用于特定类的超级处理单元中出现的值条目的数量,进一步将数字数据集的超级处理单元分类,分为两个或更多个类;并且通过设计适用于这些类中的每一个的数据分配的映射表来进行编码和解码;并且通过使用适用于这些超级处理单元中的每一个的数据值的数据分配的它们各自的映射表来对这些超级处理单元中的每一个的数据值进行编码和解码;并且通过设置适用于超级处理单元的类的数据分配的标准以及用于编码和解码的对应的映射表,以用于评估编码代码,以使得进行超级处理单元的类之间的人工智能区分,使得可省去指示符的使用;
(23)如权利要求[20]所述的方法,其进一步的特征在于:通过使用分类条件,例如用于特定类的超级处理单元中出现的值条目的数量,进一步将数字数据集的超级处理单元分类,分为为两类;并且通过设计适用于这些类中的每一个的数据分配的映射表来进行编码和解码,由此这些映射表中的至少一个可用作并且因此被选择来用作非均匀器,并且这种非均匀器也可通过使用代码重新分配来进行调整,所述代码重新分配可利用至少一类超级处理单元的数据值的数据分配,使得在通过代码重新分配进行代码调整之后的非均匀器映射表可用作并且因此被选择用作至少一类超级处理单元的压缩器的映射表;并且通过在第一个循环周期中使用非均匀器来对所有超级处理单元进行编码;并且随后通过使用压缩器来对至少一类超级处理单元进行编码,其中在处理中的相应超级处理单元的数据的压缩在第二循环周期中是可行的,即在第一循环周期使用非均匀器进行编码并且在第二循环周期中使用压缩器进行编码,从而使那些含有不可压缩数据的超级处理单元仅使用非均匀器进行编码;并且在解码时,使用适用于这些超级处理单元中每一个的数据值的数据分配的相应的映射表,来对这些超级处理单元中的每一个的数据值进行解码,由此在第一解码循环周期中,由非均匀器编码和压缩器编码形成的编码代码被解码,使得的压缩器编码层的编码可被解码,并且在第二解码循环周期中,所有超级处理单元仅由非均匀器编码代码组成的编码代码由非均匀器解码器进行解码;并且通过设置用于超级处理单元中的所有类别的数据分配的适用准则,以及设置用于编码和解码的相应的映射表的适用准则,以之用于评估编码代码,来使得可运用人工智能来进行超级处理单元的各类别之间的识别工作,使得可省去指示符的使用;
(24)陈氏译码,编码和解码的方法,其特征在于:通过构建映射表,并使用所述映射表的唯一代码地址,以一对一映射方式,来映射数字数据输入中的唯一数据值,来创建非均匀器编码器和非均匀器解码器的技术,因此由唯一数据值所使用的位节数,与由相应映射配对中的,相应映射的唯一表代码地址所使用的位节数是相同的;通过使用所述映射表来进行编码和解码;
(25)陈氏译码,编码和解码的方法,其特征在于:出于编码和解码目的使用非均匀器编码器和非均匀器解码器来进行处理的技术;
(26)陈氏译码,编码和解码的方法,其特征在于:出于编码和解码目的使用非均匀器编码器和非均匀器解码器连同均匀器编码器和解码器或者压缩器和解压缩器来进行处理的技术;
(27)陈氏译码,编码和解码的方法,其特征在于:在改变数据分配的情况下并且根据在处理中使用的终止条件来动态调整处理单元或超级处理单元的大小的技术;
(28)陈氏译码,编码和解码的方法,其特征在于:根据在处理中的数据值的数据分配模式来动态调整代码单元定义的技术;
(29)陈氏代码,其特征在于:分类代码和内容代码,它是使用陈氏译码技术从任何数字数据集中创建的,以便出于编码和解码目的来进行处理;
(30)陈氏代码,其特征在于:分类代码、内容代码和未被编码代码单元,它是使用陈氏译码技术从任何数字数据集中创建的,以便出于编码和解码目的来进行处理;
(31)陈氏代码,其特征在于:报头、分类代码和内容代码,它们是使用陈氏译码技术从任何数字数据集创建的,以便出于编码和解码目的来进行处理,由此所述报头包含从陈氏译码技术的使用产生的指示符,以便出于编码和解码目的来进行处理;
(32)陈氏代码,其特征在于:报头、分类代码、内容代码和未被编码代码单元,它们是使用陈氏译码技术从任何数字数据集创建的,以便出于编码和解码目的来进行处理,由此所述报头包含从陈氏译码技术的使用产生的指示符,以便出于编码和解码目的来进行处理,此类指示符包括以下各项中的任何一项:校验和指示符、陈氏代码文件签名、映射表指示符、循环周期数量指示符、代码单元定义指示符、处理单元定义指示符、超级处理单元定义指示符、最后识别码指示符、情境设计指示符、非均匀器/均匀器指示符、再循环指示符、频率指示符、特殊代码指示符、部分大小指示符、数字数据黑洞类型指示符以及可压缩/不可压缩数据指示符;
(33)使用陈氏框架设计的编码器和解码器、译码器,其特征在于:嵌入有陈氏译码技术以便进行处理;
(34)使用陈氏框架设计的编码器和解码器、译码器,其特征在于:嵌入有陈氏译码和报头指示符技术以便进行处理,此类指示符包括以下各项中的任何一项:校验和指示符、陈氏代码文件签名、映射表指示符、循环周期数量指示符、代码单元定义指示符、处理单元定义指示符、超级处理单元定义指示符、最后识别码指示符、情境设计指示符、非均匀器/均匀器指示符、再循环指示符、频率指示符、特殊代码指示符、部分大小指示符、数字数据黑洞类型指示符以及可压缩/不可压缩数据指示符;
(35)陈氏代码文件,其是包含陈氏代码的数字信息文件;
(36)陈氏代码文件,其是包含用于由陈氏译码技术使用的附加信息的数字信息文件,包括报头和包含在其中的指示符,此类指示符包括以下各项中的任何一项:校验和指示符、陈氏代码文件签名、映射表指示符、循环周期数量指示符、代码单元定义指示符、处理单元定义指示符、超级处理单元定义指示符、最后识别码指示符、情境设计指示符、非均匀器/均匀器指示符、再循环指示符、频率指示符、特殊代码指示符、部分大小指示符、数字数据黑洞类型指示符以及可压缩/不可压缩数据指示符;
(37)在陈氏框架下使用的陈氏数学,其特征在于:一种数学方法的使用技术,通过使用该技术,数据值被放入一个秩序中,该秩序能够被数学公式所描述,该数学公式是对应于相应的陈氏形状的数学公式,包括用于合并和分离数字信息的相关联的数学计算逻辑和技术,这种数字信息包括在处理无论是否随机的数字信息中的处理单元的代码单元的值,以用于编码和解码的目的;
(38)在陈氏框架下使用的公式,即陈氏公式,其特征在于:一种描述方法,该方法描述基本组件、代码单元和派生组件(例如陈氏代码的RP块和其他派生组件)之间的特征和关系,例如用于处理无论是否随机的数字信息的处理单元的基本组件的值的组合值或总和或差异,以用于编码和解码的目的;
(39)陈氏形状,包括陈氏点、陈氏线、陈氏三角形、陈氏矩形、陈氏梯形和陈氏正方形以及陈氏条,陈氏形状代表了使用陈氏公式描述的处理单元的基本组件的特征和关系;
(40)互补数学,其特征在于使用常数值或包含数值的变量,来作为互补常数或互补变量,以用于数学处理,从而使一个数值或在一个范围内或多个范围内的多个数值的镜像数值可用于陈氏公式中;
(41)陈氏数学,其使用互补数学和常规数学或它们中任何一个来单独用于,在陈氏框架下设计的译码器中,进行处理;
(42)陈氏框架用于加密/解密或压缩/解压缩或两者的目的的用途;
(43)陈氏译码用于加密/解密或压缩/解压缩或两者的目的的用途;
(44)陈氏代码用于加密/解密或压缩/解压缩或两者的目的的用途;
(45)陈氏代码文件用于加密/解密或压缩/解压缩或两者的目的的用途;
(46)陈氏数学用于加密/解密或压缩/解压缩或两者的目的的用途;
(47)互补数学用于加密/解密或压缩/解压缩或两者的目的的用途;
(48)陈氏形状用于加密/解密或压缩/解压缩或两者的目的的用途;
(49)一种分析无论是否随机的数字数据集的方法,所述方法用于收集关于数字数据集的统计信息,以用于编码和解码的目的,其特征在于:使用在陈氏框架下定义的数据秩序的设计和模式;
(50)一种描述无论是否随机的数字数据集的方法,其特征在于:使用陈氏框架语言;
(51)陈氏译码,编码和解码的方法,其特征在于:使用后验分类代码或内部分类码或修改过的内容代码作为分类代码的技术;
(52)陈氏译码,编码和解码的方法,其特征在于:数字数据黑洞技术,所述技术使用在陈氏框架下定义的译码器的代码值来,通过使用绝对地址分支译码技术,来吸收或表示其他代码值,即用与黑洞代码相联的绝对地址分支代码来代表被吸收的代码值;
(53)陈氏译码,编码和解码的方法,其特征在于:相继代码替代技术,使用在陈氏框架下定义的译码器中的代码值,以相继步骤来替代或表示另一代码值;
(54)陈氏译码,编码和解码的方法,其特征在于:绝对地址分支代码的相反放置技术;
(55)陈氏译码,编码和解码的方法,其特征在于:使用在陈氏框架下定义的译码器正在处理的数据集中所缺失的代码值来充当黑洞代码的技术;
(56)陈氏译码,编码和解码的方法,其特征在于:将在陈氏框架下定义的译码器正在处理的数据集中所缺失的代码值替换了较长位节长度的另一个代码值的技术,这另一个代码值存在于正在处理的数据集中;
(57)陈氏译码,用于在有或没有缺失唯一代码值的情况下,压缩和解压缩无论是随机数据还是非随机数据的数字数据,的编码和解码方法,其特征在于:使用在陈氏框架下定义的译码器来进行编码和解码,使用的技术有数字数据黑洞、绝对地址译码、缩短指示符位节支出和相继代码替代,或非相继代码替代的技术,并且使用将正在处理的数据集中所缺失的代码值替换为代替相同位节长度或更长位节长度的另一代码值的技术,这种另一个代码值在适当的情况下存在于正在处理的数据集中;
(58)陈氏译码,编码和解码的方法,其特征在于:基于从正在处理的数字数据集生成的频率分配特征来缩短指示符位支出的技术;以及
(59)使用陈氏框架设计的译码器,其特征在于:代码单元、处理单元和超级处理单元的唯一代码值,根据所使用的设计,是具有多于一个位节大小或位节长度或者具有不同的位节大小或位节长度的。
工业实用性
有许多工业应用可有利地使用陈氏框架和陈氏译码及其相关的设计和模式,包括处理数字信息的所有计算机应用程序,包括用于处理无论是否随机分配的所有类型的数字数据。
可使用任何适当配置的计算机硬件和/或软件来将本文描述的实施方案实现到系统中。例如,某些实施方案可使用计算机语言和编译器实现到系统中以用于形成可执行代码和操作系统以及应用程序;无论是联网的还是独立的任何设备的硬件,包括能够运行可执行代码的计算机系统或计算机控制的设备或操作系统控制的设备或系统;以及有助于执行本文所述方法的步骤的计算机可执行或操作系统可执行指令或程序。结合上述技术特征的用途,本文公开的实施方案使得可能通过使用陈氏译码来实现陈氏框架以便通过无损且正确地编码和解码包括数字数据和数字可执行代码的相关数字数据来处理无论是否随机的数字信息,用于加密/解密或缩/解压缩或两者的目的;并且在这种关系中,其特征在于以下权利要求。

Claims (59)

1.陈氏框架,从无论是否随机的数字数据信息中,创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集中,为数据创建秩序,或创建数据秩序或数据结构或数据组织,由代码单元组成,所述代码单元作为包含数字数据集的二进制位的位节容器的基本单元以供使用;根据出于编码和解码目的而选择进行处理的设计和模式,代码单元主要通过代码单元被定义来容纳或表示的数据值的最大可能数量(即代码单元的值大小)来进行分类,其中代码单元的每个可能的唯一值可具有相同的位大小或不同的位大小;并且代码单元随后由代码单元占据的总共所有可能的唯一数据值的位数(即代码单元所占据的每个可能唯一数据值的位大小的总和)进行分类;并且代码单元进一步由头码设计(即它是0头码设计还是1头码设计)进行分类;由此,根据各实施方案,在陈氏框架下的特定值大小的代码单元具有不同的定义和版本。
2.陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由处理单元组成,所述处理单元,根据出于编码和解码目的而选择用于处理的设计和模式,由一定数量的代码单元作为子单元而组成。
3.陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由超级处理单元组成,所述超级处理单元,根据出于编码和解码目的而选择用于处理的设计和模式,由一定数量的处理单元作为子单元而组成。
4.陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由未被编码的代码单元组成,所述未被编码的代码单元由一定数量的二进制位节组成,这些二进制位节不能达到一个处理单元的大小,因此根据出于编码和解码目的而选择用于处理的设计和模式,保持为未被编码的代码或保持原样。
5.陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由未被编码的代码单元组成,所述未被编码的代码单元由一定数量的二进制位节组成,这些二进制位节不能达到一个处理单元的大小,因此根据出于编码和解码目的而选择用于处理的设计和模式,保持为未被编码的代码或保持原样。
6.陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,根据出于编码和解码目的而选择用于处理的设计和模式,由从代码单元、处理单元、超级处理单元和未被编码的代码单元以及它们在使用中的组合派生的特性或特征或关系组成。
7.陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:用于描述任何数字数据集的特性或特征或关系的描述性语言,使用于描述代码单元、处理单元、超级处理单元和未被编码的代码单元的特性或特征或关系的术语。
8.陈氏译码,编码和解码的方法,其特征在于:用于在陈氏框架下编码和解码的目的来处理数据的技术。
9.陈氏译码,编码和解码的方法,其特征在于:使用陈氏译码技术从任何数字数据集中创建所得的陈氏代码。
10.陈氏译码,编码和解码的方法,其特征在于:使用具有范围的绝对地址分支技术的技术。
11.陈氏译码,编码和解码的方法,其特征在于:使用数学公式,以用于表示在陈氏框架下创建的数据秩序的处理单元的代码单元之间的关系的技术。
12.陈氏译码,编码和解码的方法,其特征在于:放置技术,所述放置技术将由数学公式表示的值或编码代码以及代码单元、处理单元、超级处理单元和未被编码的代码单元的那些值或编码代码,以不同的位置顺序来放置。
13.陈氏译码,编码和解码的方法,其特征在于:分类技术,即把0头码设计或1头码设计或两者,以相配的位节模式为代表的设计,分配到处理中的数字数据的特性或特征,所述特性或特征出于编码和解码的目的,用于对数据值进行分类或分组以便进行处理。
14.陈氏译码,编码和解码的方法,其特征在于:分类技术,即使用关于在处理中的数字数据的数据值的排序和位置的特性或特征,以便出于编码和解码的目的用于对数据值进行分类或分组来进行处理。
15.陈氏译码,编码和解码的方法,其特征在于:分类技术,即代码重新分配的运用,包括通过使用以下技术中的任何一种来将唯一数据值以及唯一地址代码从分类模式的一个类重新分配到另一个类,所述技术包括代码交换、代码重新分配和代码重新填入,以用于出于编码和解码目的来处理数字数据集。
16.陈氏译码,编码和解码的方法,其特征在于:代码调整技术,所述代码调整技术包括以下技术中的任何一种,所述技术包括代码提升、代码降级、代码省略以及代码恢复,以便出于编码和解码目的来进行处理。
17.陈氏译码,编码和解码的方法,其特征在于:使用终止条件或终止值来定义处理单元或超级处理单元的大小以便出于编码和解码目的来进行处理的技术。
18.陈氏译码,编码和解码的方法,其特征在于:使用代码单元定义作为数字数据值或编码代码值的读取器的技术。
19.陈氏译码,编码和解码的方法,其特征在于:使用代码单元定义作为数字数据值或编码代码值的写入器的技术。
20.陈氏译码,编码和解码的方法,其特征在于:使用超级处理单元来将数字数据集细分成数据的子部分的技术,其中至少一个子部分不是随机的,以便出于编码和解码目的来进行处理。
21.如权利要求20所述的方法,其进一步的特征在于:通过使用分类条件,例如用于特定类的超级处理单元中出现的值条目的数量,进一步将数字数据集的超级处理单元分类,分为两个或更多个类;并且通过设计适用于这些类中的每一个的数据分配的映射表来进行编码和解码;并且通过使用适用于这些超级处理单元中的每一个的数据值的数据分配的它们各自的映射表来对这些超级处理单元中的每一个的数据值进行编码和解码;并且使用指示符来在这些类别的超级处理单元之间进行区分以用于解码,这些指示符被保存在这些超级处理单元中的每一个的报头处或其他地方,如在单独的陈氏代码文件中。
22.如权利要求20所述的方法,其进一步的特征在于:通过使用分类条件,例如用于特定类的超级处理单元中出现的值条目的数量,进一步将数字数据集的超级处理单元分类,分为两个或更多个类;并且通过设计适用于这些类中的每一个的数据分配的映射表来进行编码和解码;并且通过使用适用于这些超级处理单元中的每一个的数据值的数据分配的它们各自的映射表来对这些超级处理单元中的每一个的数据值进行编码和解码;并且通过设置适用于超级处理单元的类的数据分配的标准以及用于编码和解码的对应的映射表,以用于评估编码代码,以使得进行超级处理单元的类之间的人工智能区分,使得可省去指示符的使用。
23.如权利要求20所述的方法,其进一步的特征在于:通过使用分类条件,例如用于特定类的超级处理单元中出现的值条目的数量,进一步将数字数据集的超级处理单元分类,分为为两类;并且通过设计适用于这些类中的每一个的数据分配的映射表来进行编码和解码,由此这些映射表中的至少一个可用作并且因此被选择来用作非均匀器,并且这种非均匀器也可通过使用代码重新分配来进行调整,所述代码重新分配可利用至少一类超级处理单元的数据值的数据分配,使得在通过代码重新分配进行代码调整之后的非均匀器映射表可用作并且因此被选择用作至少一类超级处理单元的压缩器的映射表;并且通过在第一个循环周期中使用非均匀器来对所有超级处理单元进行编码;并且随后通过使用压缩器来对至少一类超级处理单元进行编码,其中在处理中的相应超级处理单元的数据的压缩在第二循环周期中是可行的,即在第一循环周期使用非均匀器进行编码并且在第二循环周期中使用压缩器进行编码,从而使那些含有不可压缩数据的超级处理单元仅使用非均匀器进行编码;并且在解码时,使用适用于这些超级处理单元中每一个的数据值的数据分配的相应的映射表,来对这些超级处理单元中的每一个的数据值进行解码,由此在第一解码循环周期中,由非均匀器编码和压缩器编码形成的编码代码被解码,使得的压缩器编码层的编码可被解码,并且在第二解码循环周期中,所有超级处理单元仅由非均匀器编码代码组成的编码代码由非均匀器解码器进行解码;并且通过设置用于超级处理单元中的所有类别的数据分配的适用准则,以及设置用于编码和解码的相应的映射表的适用准则,以之用于评估编码代码,来使得可运用人工智能来进行超级处理单元的各类别之间的识别工作,使得可省去指示符的使用。
24.陈氏译码,编码和解码的方法,其特征在于:通过构建映射表,并使用所述映射表的唯一代码地址,以一对一映射方式,来映射数字数据输入中的唯一数据值,来创建非均匀器编码器和非均匀器解码器的技术,因此由唯一数据值所使用的位节数,与由相应映射配对中的,相应映射的唯一表代码地址所使用的位节数是相同的;通过使用所述映射表来进行编码和解码。
25.陈氏译码,编码和解码的方法,其特征在于:出于编码和解码目的使用非均匀器编码器和非均匀器解码器来进行处理的技术。
26.陈氏译码,编码和解码的方法,其特征在于:出于编码和解码目的使用非均匀器编码器和非均匀器解码器连同均匀器编码器和解码器或者压缩器和解压缩器来进行处理的技术。
27.陈氏译码,编码和解码的方法,其特征在于:在改变数据分配的情况下并且根据在处理中使用的终止条件来动态调整处理单元或超级处理单元的大小的技术。
28.陈氏译码,编码和解码的方法,其特征在于:根据在处理中的数据值的数据分配模式来动态调整代码单元定义的技术。
29.陈氏代码,其特征在于:分类代码和内容代码,它是使用陈氏译码技术从任何数字数据集中创建的,以便出于编码和解码目的来进行处理。
30.陈氏代码,其特征在于:分类代码、内容代码和未被编码代码单元,它是使用陈氏译码技术从任何数字数据集中创建的,以便出于编码和解码目的来进行处理。
31.陈氏代码,其特征在于:报头、分类代码和内容代码,它们是使用陈氏译码技术从任何数字数据集创建的,以便出于编码和解码目的来进行处理,由此所述报头包含从陈氏译码技术的使用产生的指示符,以便出于编码和解码目的来进行处理。
32.陈氏代码,其特征在于:报头、分类代码、内容代码和未被编码代码单元,它们是使用陈氏译码技术从任何数字数据集创建的,以便出于编码和解码目的来进行处理,由此所述报头包含从陈氏译码技术的使用产生的指示符,以便出于编码和解码目的来进行处理,此类指示符包括以下各项中的任何一项:校验和指示符、陈氏代码文件签名、映射表指示符、循环周期数量指示符、代码单元定义指示符、处理单元定义指示符、超级处理单元定义指示符、最后识别码指示符、情境设计指示符、非均匀器/均匀器指示符、再循环指示符、频率指示符、特殊代码指示符、部分大小指示符、数字数据黑洞类型指示符以及可压缩/不可压缩数据指示符。
33.使用陈氏框架设计的编码器和解码器、译码器,其特征在于:嵌入有陈氏译码技术以便进行处理。
34.使用陈氏框架设计的编码器和解码器、译码器,其特征在于:嵌入有陈氏译码和报头指示符技术以便进行处理,此类指示符包括以下各项中的任何一项:校验和指示符、陈氏代码文件签名、映射表指示符、循环周期数量指示符、代码单元定义指示符、处理单元定义指示符、超级处理单元定义指示符、最后识别码指示符、情境设计指示符、非均匀器/均匀器指示符、再循环指示符、频率指示符、特殊代码指示符、部分大小指示符、数字数据黑洞类型指示符以及可压缩/不可压缩数据指示符。
35.陈氏代码文件,其是包含陈氏代码的数字信息文件。
36.陈氏代码文件,其是包含用于由陈氏译码技术使用的附加信息的数字信息文件,包括报头和包含在其中的指示符,此类指示符包括以下各项中的任何一项:校验和指示符、陈氏代码文件签名、映射表指示符、循环周期数量指示符、代码单元定义指示符、处理单元定义指示符、超级处理单元定义指示符、最后识别码指示符、情境设计指示符、非均匀器/均匀器指示符、再循环指示符、频率指示符、特殊代码指示符、部分大小指示符、数字数据黑洞类型指示符以及可压缩/不可压缩数据指示符。
37.在陈氏框架下使用的陈氏数学,其特征在于:一种数学方法的使用技术,通过使用该技术,数据值被放入一个秩序中,该秩序能够被数学公式所描述,该数学公式是对应于相应的陈氏形状的数学公式,包括用于合并和分离数字信息的相关联的数学计算逻辑和技术,这种数字信息包括在处理无论是否随机的数字信息中的处理单元的代码单元的值,以用于编码和解码的目的。
38.在陈氏框架下使用的公式,即陈氏公式,其特征在于:一种描述方法,该方法描述基本组件、代码单元和派生组件(例如陈氏代码的RP块和其他派生组件)之间的特征和关系,例如用于处理无论是否随机的数字信息的处理单元的基本组件的值的组合值或总和或差异,以用于编码和解码的目的。
39.陈氏形状,包括陈氏点、陈氏线、陈氏三角形、陈氏矩形、陈氏梯形和陈氏正方形以及陈氏条,陈氏形状代表了使用陈氏公式描述的处理单元的基本组件的特征和关系。
40.互补数学,其特征在于使用常数值或包含数值的变量,来作为互补常数或互补变量,以用于数学处理,从而使一个数值或在一个范围内或多个范围内的多个数值的镜像数值可用于陈氏公式中。
41.陈氏数学,其使用互补数学和常规数学或它们中任何一个来单独用于,在陈氏框架下设计的译码器中,进行处理。
42.陈氏框架用于加密/解密或压缩/解压缩或两者的目的的用途。
43.陈氏译码用于加密/解密或压缩/解压缩或两者的目的的用途。
44.陈氏代码用于加密/解密或压缩/解压缩或两者的目的的用途。
45.陈氏代码文件用于加密/解密或压缩/解压缩或两者的目的的用途。
46.陈氏数学用于加密/解密或压缩/解压缩或两者的目的的用途。
47.互补数学用于加密/解密或压缩/解压缩或两者的目的的用途。
48.陈氏形状用于加密/解密或压缩/解压缩或两者的目的的用途。
49.一种分析无论是否随机的数字数据集的方法,所述方法用于收集关于数字数据集的统计信息,以用于编码和解码的目的,其特征在于:使用在陈氏框架下定义的数据秩序的设计和模式。
50.一种描述无论是否随机的数字数据集的方法,其特征在于:使用陈氏框架语言。
51.陈氏译码,编码和解码的方法,其特征在于:使用后验分类代码或内部分类码或修改过的内容代码作为分类代码的技术。
52.陈氏译码,编码和解码的方法,其特征在于:数字数据黑洞技术,所述技术使用在陈氏框架下定义的译码器的代码值来,通过使用绝对地址分支译码技术,来吸收或表示其他代码值,即用与黑洞代码相联的绝对地址分支代码来代表被吸收的代码值。
53.陈氏译码,编码和解码的方法,其特征在于:相继代码替代技术,使用在陈氏框架下定义的译码器中的代码值,以相继步骤来替代或表示另一代码值。
54.陈氏译码,编码和解码的方法,其特征在于:绝对地址分支代码的相反放置技术。
55.陈氏译码,编码和解码的方法,其特征在于:使用在陈氏框架下定义的译码器正在处理的数据集中所缺失的代码值来充当黑洞代码的技术。
56.陈氏译码,编码和解码的方法,其特征在于:将在陈氏框架下定义的译码器正在处理的数据集中所缺失的代码值替换了较长位节长度的另一个代码值的技术,这另一个代码值存在于正在处理的数据集中。
57.陈氏译码,用于在有或没有缺失唯一代码值的情况下,压缩和解压缩无论是随机数据还是非随机数据的数字数据,的编码和解码方法,其特征在于:使用在陈氏框架下定义的译码器来进行编码和解码,使用的技术有数字数据黑洞、绝对地址译码、缩短指示符位节支出和相继代码替代,或非相继代码替代的技术,并且使用将正在处理的数据集中所缺失的代码值替换为代替相同位节长度或更长位节长度的另一代码值的技术,这种另一个代码值在适当的情况下存在于正在处理的数据集中。
58.陈氏译码,编码和解码的方法,其特征在于:基于从正在处理的数字数据集生成的频率分配特征来缩短指示符位支出的技术。
59.使用陈氏框架设计的译码器,其特征在于:代码单元、处理单元和超级处理单元的唯一代码值,根据所使用的设计,是具有多于一个位节大小或位节长度或者具有不同的位节大小或位节长度的。
CN201780040973.XA 2016-07-29 2017-07-25 陈氏框架、陈氏译码和陈氏代码 Pending CN109416655A (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
IBPCT/IB2016/054562 2016-07-29
PCT/IB2016/054562 WO2018020299A1 (en) 2016-07-29 2016-07-29 Lossless compression and decompression methods
PCT/IB2016/054732 WO2018020300A1 (en) 2016-07-29 2016-08-05 Chan mathematics and chan coding and chan code
IBPCT/IB2016/054732 2016-08-05
PCT/IB2017/050985 WO2018020328A1 (en) 2016-07-29 2017-02-22 Chan framework, chan coding and chan code
IBPCT/IB2017/050985 2017-02-22
PCT/IB2017/053993 WO2018020342A1 (en) 2016-07-29 2017-07-01 Chan framework, chan coding and chan code
IBPCT/IB2017/053993 2017-07-01
PCT/IB2017/054500 WO2018020414A1 (en) 2016-07-29 2017-07-25 Chan framework, chan coding and chan code

Publications (1)

Publication Number Publication Date
CN109416655A true CN109416655A (zh) 2019-03-01

Family

ID=61017037

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780040973.XA Pending CN109416655A (zh) 2016-07-29 2017-07-25 陈氏框架、陈氏译码和陈氏代码
CN201880041407.5A Pending CN110771161A (zh) 2016-07-29 2018-07-24 数码透视法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201880041407.5A Pending CN110771161A (zh) 2016-07-29 2018-07-24 数码透视法

Country Status (8)

Country Link
US (3) US11515888B2 (zh)
EP (2) EP3491525A4 (zh)
JP (3) JP7268271B2 (zh)
KR (2) KR20190038601A (zh)
CN (2) CN109416655A (zh)
AU (3) AU2017304894A1 (zh)
CA (2) CA3031600C (zh)
WO (6) WO2018020299A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018007809A1 (en) * 2016-07-04 2018-01-11 Sisp Technologies Ltd Data processing method and apparatus
WO2018020299A1 (en) * 2016-07-29 2018-02-01 Chan Kam Fu Lossless compression and decompression methods
EP3941435A1 (fr) 2019-03-21 2022-01-26 BASF Beauty Care Solutions France SAS Nouvelle utilisation non thérapeutique d'un extrait de nephelium lappaceum pour prévenir l'apparition et/ou diminuer les odeurs désagréables au niveau de la peau et/ou des muqueuses et/ou des annexes cutanées
US11375253B2 (en) * 2019-05-15 2022-06-28 Intel Corporation Link bandwidth improvement techniques
CN111723059B (zh) * 2020-05-25 2021-03-16 深圳市科楠科技开发有限公司 一种数据压缩方法、装置、终端设备及存储介质
CN112559462A (zh) * 2020-12-14 2021-03-26 深圳供电局有限公司 一种数据压缩方法、装置、计算机设备和存储介质

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6460112A (en) * 1987-08-31 1989-03-07 Nec Corp Data compressing system
US5260693A (en) * 1991-10-11 1993-11-09 Spacelabs Medical, Inc. Method and system for lossless and adaptive data compression and decompression
US5384598A (en) * 1992-10-20 1995-01-24 International Business Machines Corporation System and method for frame differencing video compression and decompression with frame rate scalability
US5533051A (en) * 1993-03-12 1996-07-02 The James Group Method for data compression
US6094454A (en) * 1997-06-19 2000-07-25 International Business Machines Corporation Multi-spectral image compression and transformation
FR2785757B1 (fr) * 1998-11-10 2001-01-26 Canon Kk Procede et dispositif de compression, procede et dispositif de decompression de format numerique
JP2001136524A (ja) * 1999-11-02 2001-05-18 Ricoh Co Ltd 圧縮伸長装置
US6411228B1 (en) * 2000-09-21 2002-06-25 International Business Machines Corporation Apparatus and method for compressing pseudo-random data using distribution approximations
CN1129232C (zh) * 2001-03-22 2003-11-26 谭伟祥 一种对数据库中的数据进行压缩与解压缩的方法
JP3791793B2 (ja) * 2003-02-13 2006-06-28 日本電信電話株式会社 ディジタル信号符号化方法、復号化方法、符号器、復号器、符号化プログラム、及び復号化プログラム
CN1207917C (zh) * 2003-07-03 2005-06-22 复旦大学 适用于jpeg2000标准的高速低功耗mq编码器
ATE502478T1 (de) 2003-12-19 2011-04-15 Creative Tech Ltd Druckbares audioformat
US20060218201A1 (en) 2005-03-24 2006-09-28 International Business Machines Corporation System and method for effecting thorough disposition of records
US7788106B2 (en) * 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
CN100454234C (zh) * 2005-07-08 2009-01-21 华为技术有限公司 一种处理数据宽度的方法及其应用
US7541950B2 (en) * 2006-07-20 2009-06-02 Samplify Systems, Inc. Enhanced time-interleaved A/D conversion using compression
CN100495318C (zh) * 2007-01-30 2009-06-03 金蝶软件(中国)有限公司 整型数据的压缩方法、装置及解压缩方法、装置
JP4717860B2 (ja) * 2007-08-22 2011-07-06 眞一郎 湯村 データ圧縮方法及び画像表示方法及び表示画像拡大方法
CN101442671B (zh) 2007-11-21 2010-12-08 华为技术有限公司 一种数字信息嵌入和提取的方法及装置
KR100949519B1 (ko) 2007-12-18 2010-03-24 한국전자통신연구원 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
CN101252694B (zh) * 2008-03-31 2011-08-17 清华大学 基于块的视频解码的帧存储压缩和地址映射系统
US8341184B2 (en) * 2008-05-07 2012-12-25 Smooth Productions Inc. Communications network system and service provider
US8005152B2 (en) * 2008-05-21 2011-08-23 Samplify Systems, Inc. Compression of baseband signals in base transceiver systems
US20100043024A1 (en) 2008-08-15 2010-02-18 Mana Digital Corporation Channel switching module
JP2010237822A (ja) * 2009-03-30 2010-10-21 Toshiba Corp メモリコントローラおよび半導体記憶装置
AU2011241283B2 (en) * 2010-04-13 2015-02-05 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
US20140013129A1 (en) * 2012-07-09 2014-01-09 L. Pierre de Rochemont Hybrid computing module
JPWO2012046435A1 (ja) * 2010-10-04 2014-02-24 パナソニック株式会社 画像処理装置、画像符号化方法および画像処理方法
US10085034B2 (en) 2013-07-12 2018-09-25 Sony Corporation Image coding apparatus and method
US10075720B2 (en) * 2013-10-08 2018-09-11 Sharp Kabushiki Kaisha Image decoding device, image decoding method, image coding device, and image coding method
CN103607207B (zh) * 2013-11-11 2016-08-17 大连理工大学 一种即插即用的多接口数据压缩设备
GB2523347B (en) * 2014-02-20 2016-01-13 Gurulogic Microsystems Oy Encoder, decoder and method
WO2016031103A1 (ja) 2014-08-25 2016-03-03 日本電気株式会社 セキュリティシステム、セキュリティ方法、及びコンピュータ可読媒体
US10628255B1 (en) * 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
CN205039173U (zh) 2015-09-30 2016-02-17 佛山市国星光电股份有限公司 一种led支架及其制成的led器件与led显示模组
WO2018020299A1 (en) * 2016-07-29 2018-02-01 Chan Kam Fu Lossless compression and decompression methods

Also Published As

Publication number Publication date
US11671113B2 (en) 2023-06-06
WO2018020414A1 (en) 2018-02-01
EP3491525A1 (en) 2019-06-05
CA3031600A1 (en) 2018-02-01
WO2019021160A1 (en) 2019-01-31
EP3659336A1 (en) 2020-06-03
US20190013825A1 (en) 2019-01-10
WO2018020299A1 (en) 2018-02-01
JP2019528027A (ja) 2019-10-03
CN110771161A (zh) 2020-02-07
WO2018020328A1 (en) 2018-02-01
KR20190038601A (ko) 2019-04-08
JP2022160484A (ja) 2022-10-19
CA3031600C (en) 2022-12-13
CA3068631A1 (en) 2019-01-31
AU2018306486A1 (en) 2020-02-13
AU2020289753A1 (en) 2021-01-21
KR20200031159A (ko) 2020-03-23
US20230223952A1 (en) 2023-07-13
EP3491525A4 (en) 2019-08-28
AU2017304894A1 (en) 2019-02-21
JP7268271B2 (ja) 2023-05-08
JP2020530674A (ja) 2020-10-22
EP3659336A4 (en) 2021-04-21
US11515888B2 (en) 2022-11-29
US20200151051A1 (en) 2020-05-14
WO2018020342A1 (en) 2018-02-01
WO2018020300A1 (en) 2018-02-01

Similar Documents

Publication Publication Date Title
CN109416655A (zh) 陈氏框架、陈氏译码和陈氏代码
Lemire et al. Consistently faster and smaller compressed bitmaps with roaring
US8700579B2 (en) Method and system for data compression in a relational database
CN101937448B (zh) 用于主存储器列存储装置的基于字典的保持顺序的串压缩
US7184597B1 (en) Method of compression of binary data with a random number generator
US11023452B2 (en) Data dictionary with a reduced need for rebuilding
CN103995887A (zh) 位图索引压缩方法和位图索引解压方法
Zentgraf et al. Fast lightweight accurate xenograft sorting
Suciu et al. Byte-oriented efficient implementation of the NIST statistical test suite
Hancock et al. Optimizing ensemble trees for big data healthcare fraud detection
WO2015116762A1 (en) Optimized data condenser and method
CN112328621A (zh) Sql转换方法、装置、计算机设备及计算机可读存储介质
US7096462B2 (en) System and method for using data address sequences of a program in a software development tool
Reeves et al. Propositional proof skeletons
Ohlebusch et al. Computing the Burrows–Wheeler transform of a string and its reverse in parallel
CN111930313B (zh) 主机中数据关联访问的方法和装置
Grewal Lossless Data Compression by Representing Data as a Solution to the Diophantine Equations
Xu et al. Fast Monotonicity Preserving Text Sorting On GPU
JP2012150764A (ja) セキュア検索システム、秘密検索装置、セキュア検索方法、セキュア検索プログラム
Fagerberg et al. External string sorting: Faster and cache-oblivious
Ohlebusch et al. Computing the Burrows–Wheeler transform of a string and its reverse in parallel
Titarenko et al. PerFSeeB: designing long high-weight single spaced seeds for full sensitivity alignment with a given number of mismatches
Opdyke Bootstraps, permutation tests, and sampling orders of magnitude faster using SAS®
Leitner 4-Bit Cellular Automata Encryption Analysis
CN117577184A (zh) 一种可用于大规模基因组的多基因组比对方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination