CN110771161A - 数码透视法 - Google Patents

数码透视法 Download PDF

Info

Publication number
CN110771161A
CN110771161A CN201880041407.5A CN201880041407A CN110771161A CN 110771161 A CN110771161 A CN 110771161A CN 201880041407 A CN201880041407 A CN 201880041407A CN 110771161 A CN110771161 A CN 110771161A
Authority
CN
China
Prior art keywords
code
bit
digital
data
values
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
CN201880041407.5A
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 CN110771161A publication Critical patent/CN110771161A/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Storage Device Security (AREA)

Abstract

一种通过无损且正确的编码和解码方法,用于处理无论是否随机或非随机数据,和其相关联的设计、方案和技术,用于包括加密/解密或压缩/解压缩或两者的目的,包括使用数码透视法、无限代码系统和其他相关技术。在处理之前没有对要处理的数字信息有任何假设或要求。

Description

数码透视法
技术领域
让有理解力的人来点算数字......
本发明要求本发明人提交的2017年7月25日递交的早期PCT申请PCT/IB2017/054500的优先权。本发明涉及在前述PCT申请中揭示并在本申请中进行了改进的概念和技术的用途,提出了用于排序、组织和描述数字数据,无论是否随机的数据,的新技术,用于编码和解码目的,包括压缩和解压缩以及加密和解密,特别是使用陈氏框架。在本发明中,为了描述陈氏框架,将本发明要求优先权的PCT申请PCT/IB2017/054500的内容结合到本发明中。本发明的单一性在于本申请描述揭示了数码透视法的发明,作为用于排序、组织和描述数字数据的方法,能够用于开发和使用编码方案、方法和技术(无论是否在陈氏框架下),用于处理各种用途的数字数据的目的,特别是包括用于各种活动的数字数据的加密/解密和压缩/解压缩的用途。通过使用本发明要求优先权的PCT申请PCT/IB2017/054500中提出的其他技术,以及本发明中新揭示的其他技术,发现数码透视法是迄今为止最新颖的方法,能够操弄任何数字信息,无论是否随机,和制作其代码(包括编码和解码),用于以数字信息的形式表示的知识产权的使用和保护,包括数字数据以及用于设备中的可执行代码,设备包括能够运行可执行代码或使用数字数据的计算机系统或计算机控制的设备或操作系统控制的设备或系统。这种设备在下文中称为设备。
具体地,本发明涉及框架和方法及其在数字信息的设备中的处理、存储、分配和使用中的应用,所述数字信息包括数字数据以及可执行代码,例如启动代码、程序、应用程序、设备驱动程序或者构成操作系统的这种可执行文件的集合,所述可执行文件呈嵌入或存储到硬件中(例如嵌入或存储到所有类型的存储介质中)的可执行代码的形式,所述存储介质包括只读或可重写或易失性或非易失性存储介质(以下称为存储介质),例如物理存储器或内部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位,具有带有两个代码单元的处理单元:
Figure BDA0002327790730000081
图表3
在编码后,生成的代码、陈氏代码由RP块和CV块组成:
Figure BDA0002327790730000091
其中陈氏代码的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]为下角。
Figure BDA0002327790730000191
陈氏线2:三个臂都与短臂重叠在一起,具有值[2]+[3]为上角,并且[1]+[4]为下角。
Figure BDA0002327790730000192
陈氏三角形
存在2个臂,长臂和中臂,并且短臂成为一个点,因为它的值对[1]+[4]和[2]+[3]是相等的。
Figure BDA0002327790730000201
陈氏矩形和梯形和正方形
陈氏矩形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]并且
Figure BDA0002327790730000211
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
Figure BDA0002327790730000221
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
Figure BDA0002327790730000231
这是中臂与长臂重叠的地方,其中短臂的上角和下角分别为[1]+[4]和[2]+[3]。如果其中的两个臂的长度不相等,那么它是梯形,否则它是正方形。
陈氏梯形4或陈氏正方形2
这是中臂与长臂重叠的地方,其中短臂的上角和下角分别为[2]+[3]和[1]+[4]。如果其中的两个臂的长度不相等,那么它是梯形,否则它是正方形:
Figure BDA0002327790730000241
陈氏梯形5或陈氏正方形3
这是短臂与中臂重叠的地方,其中短臂的上角和下角分别为[1]+[4]和[2]+[3]。如果其中的两个臂的长度不相等,那么它是梯形,否则它是正方形:
Figure BDA0002327790730000242
陈氏梯形6或陈氏正方形4
这是短臂与中臂重叠的地方,其中短臂的上角和下角分别为[2]+[3]和[1]+[4]。如果其中的两个臂的长度不相等,那么它是梯形,否则它是正方形:
为了在本图表中进行可能的数据编码和解码,四个基本组件的四个值必须由1个CV块表示,所述块由4个子块值组成(通过使用为此目的设计的四个公式而产生;人们可尝试使用三个或更少的公式,到目前为止,这些努力似乎没有显示出有希望的结果;然而人们不应当排除这种可能性,因为有很多机会将新技术引入到作为本发明将在本应用中显示的陈氏框架中),除了RP块之外,它用于指示4个基本组件的值的位置和排名之间的关系,如下图表8中所示:
图表8
陈氏矩形显示四个输入基本组件的位置和排名的详细信息以及所得的陈氏代码
陈氏矩形3显示4个代码单元的数据值的输入流的排名和位置以及所使用的64位大小
Figure BDA0002327790730000252
陈氏矩形4陈氏代码,通过使用陈氏译码创建的压缩代码显示RP块和CV块的详细信息
Figure BDA0002327790730000261
本发明的一个非常显著的特征是构成CV块的4个子块的值的不同的位大小;并且RP块本身在4位与5位之间变化;并且尽管它们的位大小不同,稍后可使用将要揭示的陈氏译码技术来对相关的陈氏代码进行解码并将其无损且正确地恢复回原始输入数字数据代码。出于进行压缩的目的,所使用的变化的位大小旨在用于通过使用陈氏译码技术来进一步提高压缩比,这优于可使用数学公式实现的压缩比。
首先在此解释RP块。RP块用于指示处理单元的四个基本组件(四个代码单元)的4个排名值的相对位置,因为四个基本组件的排名可随其位置而变化,不存在固定的规则来确定四个基本组件的值的位置与排名之间的关系。存在位置与排名之间的总共24种组合,如下图表9所示:
图表9
排名位置代码表
4个基本组件的位置和排名的可能组合
Figure BDA0002327790730000271
由于组合的四个基本组件的值的排名与位置之间总共存在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的互补数学范式下的范围限制的视觉表示
Figure BDA0002327790730000341
从以上图表中,段落[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位组
Figure BDA0002327790730000421
或者在另一个特定的模式和设计下,代码单元的这8个值可重新定义为具有不同的位数大小,如图表12所示:
图表12
具有不同位数大小的8值代码单元的代码值的定义
Max8类
35位组
Figure BDA0002327790730000432
因此,陈氏框架下的代码单元现在是:首先通过代码单元用于容纳或表示的唯一代码值的最大数量来量度;代码单元的二进制位数成为用于量度大小的次级因素。因此,代码单元的代码值可具有相同的位大小或具有不同的位大小,这种选项取决于在用于编码和解码的特定模式和设计下如何定义。通过使用陈氏译码的代码调整技术,这种代码值定义或代码单元定义也可在编码和解码过程中在必要和适当情况下改变。
通过使用陈氏框架下的代码单元定义和代码值定义的这个新颖特征,可容易地设计用于在包括随机数据的数据分配中产生非均匀性的技术。它还可能研究随机数据的性质,并且允许根据代码值及其在特定数字数据输入流中发生的相关频率来描述数据分配的方式,使得可使用适当的技术来进行编码和解码用于例如进行压缩/解压缩的目的。在演示为任何特定数据集创建非均匀性的技术之前,在此介绍了用于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位组
Figure BDA0002327790730000451
这两个版本的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位组
Figure BDA0002327790730000471
图表14b
使用16位(Max6类16位组)的6值代码单元的代码值的定义:3对单分支具有2个版本,一个版本具有的位0与位1比率为7:9,并且另一个为9:7(偏斜分布)
Max6类
16位组
Figure BDA0002327790730000472
图表14c
使用16位(Max6类16位组)的6值代码单元的代码值的定义:2对无偏斜单分支具有2个无偏斜版本,这些版本具有相等的位0与位1比率,位0与位1比率都为8:8(无偏斜分布)
Max6类
16位组
Figure BDA0002327790730000473
Figure BDA0002327790730000481
图表14d
使用17位(Max6类17位组)的6值代码单元的代码值的定义:1对单分支和1个多分支具有2个版本,一个版本具有的位0与位1比率为6:11,并且另一个为11:6
Max6类
17位组
Figure BDA0002327790730000482
图表14e
使用18位(Max6类18位组)的6值代码单元的代码值的定义:1对单分支和1个多分支具有2个版本,一个版本具有的位0与位1比率为6:12,并且另一个为12:6
Max6类
18位组
Figure BDA0002327790730000483
图表14f
使用19位(Max6类19位组)的6值代码单元的代码值的定义:2对单分支具有2个版本,一个版本具有的位0与位1比率为6:13,并且另一个为13:6
Max6类
19位组
Figure BDA0002327790730000492
从图表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个唯一代码值的频率分配
Figure BDA0002327790730000511
图表15仅是这类生成的一个实例。运行生成它的自动程序一次将生成一个这种实例,每个实例将与其他实例略有不同。但是一般而言,6值代码单元的频率分配的此类实例每次针对所关注的6个唯一代码值维持大致相同的比例。无偏斜版本的代码值与6值代码单元的3对单分支版本之间的交叉映射以及相关计算如图表16所示:
图表16
无偏斜的6个代码值与6值代码单元的3对单分支版本之间的交叉映射
Figure BDA0002327790730000512
因此可看出的是,通过这种交叉映射,位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个代码值之间的交叉映射
Figure BDA0002327790730000521
可看出,通过使用任何代码单元设计本身的代码值之间的交叉映射也可改变位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
Figure BDA0002327790730000561
Figure BDA0002327790730000571
通过使用以上分类绝对地址分支代码表(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
Figure BDA0002327790730000581
图表20
由三个3值代码单元组成的处理单元的从使用图表19中的代码单元定义的80,000位的随机数据集读取的27个唯一代码值的未分类频率分配的实例
Figure BDA0002327790730000582
Figure BDA0002327790730000591
通过运行另一次自动程序来生成图表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
Figure BDA0002327790730000611
Figure BDA0002327790730000621
可看出的是,在以上实施例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个唯一代码值的分类/未分类频率分配的实例
Figure BDA0002327790730000641
Figure BDA0002327790730000651
应当注意的是,以上图表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个唯一代码值的统计值的实例
Figure BDA0002327790730000681
Figure BDA0002327790730000691
从以上图表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
Figure BDA0002327790730000731
图表26
27个值的分类绝对地址分支代码表(CAABCT 1)
实施例IV
Figure BDA0002327790730000742
从上述两个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的表代码值之间的交叉映射
Figure BDA0002327790730000752
Figure BDA0002327790730000771
当比较以上统计数据时,是否可使用上述两个CAABCT来压缩随机数据集并不是绝对清楚,因为映射表不适用于整个随机数据集,而是适用于,相对于其中任何一个CAABCT,在位使用方面,更好的适当的超级处理单元。在将随机数据集分成非均匀数据分配的超级处理单元之后的数据代码值的分配模式尚未确定。选择哪个CAABCT用于编码任何特定超级处理单元是基于实际的编码结果,而不是通过对组0和组1的数据代码值的数量进行计数,发现通过实际实现相应编码产生的位使用结果,是关于哪个CAABCT最适合用于特定超级处理单元的更准确的指示符。
根据各实施方案,可对上述技术进行增强,例如通过使用一个CAABCT来进行;所述CAABCT具有与用于是随机数据集的特征的27个唯一数据代码值分配,在位使用上,完全相同。一个这种CAABCT是CAABCT 1。CAABCT 1可重新分配用于交叉映射的目的,如下图表28所示:
图表28
数据代码值(图表24)与CAABCT 2和CAABCT 1的表代码值之间的交叉映射
Figure BDA0002327790730000781
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不能减小超级处理单元的CAABCT 2编码代码的大小,那么那些超级处理单元的CAABCT 2编码代码值随后保持未受影响。因此原始数据代码值000保持为010。因此,这也可作用于区分CAABCT 2代码与CAABCT 1代码的AI标准之一。由于CAABCT 2的6个三元组的后缀与CAABCT1的后缀不同,因此许多后缀指示符也可用于AI分辨的目的。段落[86]中提到的所有AI操作也可用于区分CAABCT 1代码和CAABCT 2代码。由于无需将其转换回原始数据代码值来进行AI分辨,因此解码过程应当毫无疑问是成功的。因此,为了把在使用了CAABCT 2进行的所有映射编码及随后再使用CAABCT 1进行选择性交叉映射所得出的编码进行解码,可使用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的表代码值之间的交叉映射
Figure BDA0002327790730000801
Figure BDA0002327790730000811
并且由于可调整或微调用于划分超级处理单元的终止条件,例如将超级处理单元的固定大小从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种情境的情境分类代码(陈氏代码的一部分)
Figure BDA0002327790730000831
Figure BDA0002327790730000841
根据这3种情境的频率分配,可将具有最高频率的情境调整为使用最少数量的二进制位。因此,假设情境(c)具有最高频率,那么可将情境分类代码的情境的分配调整成图表31b,如下列出:
图表31b
段落[98]的3种情境的情境分类代码(陈氏代码的一部分)
Figure BDA0002327790730000842
因此,对于整个数字数据输入文件的编码和解码,可首先解析整个数字数据文件并找出哪种情境具有最高频率并且将其分配来使用最短的分类代码并将其他情境向下推送。因此,必须在报头中包含情境设计指示符(指示将要使用哪种情境分类模式或设计),使得可正确地完成解码。
在讨论如何可在本说明实例中使用陈氏代码的分类代码之后,我们将看到如何可使用陈氏译码的另一种技术(即动态代码调整)来设计和操纵陈氏代码的内容代码。对于情境(a),可使用以下编码来进行使用:
情境分类代码+排名和位置代码
因为情境(a)是3个代码单元的处理单元,其中存在所有3个唯一代码值,使用2或3位[使用陈氏译码的AAB技术,例如在此的实际值范围是6,即总共有符合情境(a)的终止条件的3个代码单元的6个唯一处理单元,下限值范围是2位,相当于4个值,并且上限值范围是3位,相当于8个值]对于排名和位置代码可能足以覆盖处理单元的所有6种可能组合,其中3个代码单元具有由其排名和位置区分的3个唯一代码值,如以下在图表32中所示:
图表32
带有3个唯一代码值的3个代码单元的处理单元在排名和位置方面的6种可能组合的RP代码分配
Figure BDA0002327790730000851
为了对情境(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译码
Figure BDA0002327790730000861
对于情境(b)的3个子情境中的每一个,还存在6种可能组合。
可对这些子情境中的每一个使用排名和位置编码技术,如图表33所示针对它们各自的6种可能组合使用2位或3位。
或者可在适当的情况下使用代码提升和代码省略技术,如下图表34所示:
图表34a
情境(b)的3个子情境以及代码提升和代码省略
Figure BDA0002327790730000862
[由于v1将不会出现在第1、第2和第3位置,因此存在2个值,即v2和v3可供选择;因此,在第一位置和第二位置中,v2被提升为代码0,并且省略了第三位置中的v3(如果要放置的话,用代码1),因为在这种情境下必须出现所有3个唯一值。]
Figure BDA0002327790730000871
或者在放置第4代码值之后将要放置的值可重新排列,如下图表34b中所示:
图表34b
情境(b)的3个子情境以及代码提升和代码省略
Figure BDA0002327790730000872
Figure BDA0002327790730000881
如果将要使用代码提升和代码省略的技术,出于一致性,图表34b中的代码值的放置可能优于图表34a,因为这种放置安排对于将在以下段落[103]中解释的情境(c)可能是更好的选择。
通过采用以上情境(b)的子情境(i),代码提升是逻辑推断的结果,以用于减少位使用。例如,由于情境(b)是3个唯一代码值必须全部出现在读取的4个连续代码值中的情境,在放置图表33b中使用的情境分类代码和第四代码值(例如v1)之后,编码的代码会如图表35中所列出的一样:
图表35
用于情境分类的编码以及第四代码值
情境
Figure BDA0002327790730000882
并且剩余的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
使用陈氏译码的代码提升和代码省略进行编码
Figure BDA0002327790730000891
可观察到,通过使用代码提升和代码省略技术给出与图表33中使用排名和位置译码技术相同的位使用结果(如图表34a和图表34b中所列出的2*2位+4*3位),这两种技术仅在所得到的位模式排列方面不同。
同样对于情境(c),第四数据代码值可为3个数据代码值之一:v1、v2或v3。因此,在情境(c)下,子情境在图表37中列出:
图表37
情境(c)的3个子情境以及RP译码
Figure BDA0002327790730000892
Figure BDA0002327790730000901
对于情境(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)的情境分类代码的代码调整
Figure BDA0002327790730000941
在此可观察到情境(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)
Figure BDA0002327790730000951
图表39b
用于不同大小的处理单元的基于最后唯一代码值的出现的情境分类代码(b)
Figure BDA0002327790730000961
上述情境分类代码均以位0结束,并且如果这样设计,将不存在终止于位1的情境分类代码。或者,终止于位1的情境分类代码将仅与情境(c)类似,情境(c)的处理单元数目是固定的,所述处理单元仅包含一个或两个唯一值直到所述点为止,即代替情境(c):4代码单元包含少于3个唯一值,它是5代码单元包含少于3个唯一值,或6代码单元或7代码单元,依此类推,这取决于情境代码具有的二进制位数。
因此,情境(a)和(b)的位使用图表可修改如下:
图表40
3个唯一代码值的关于排名和位置的6种可能组合的RP代码分配
Figure BDA0002327790730000962
图表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代码单元的编码和位使用
Figure BDA0002327790730000991
其中[]代表通过逻辑推理的代码省略;并且用于对第一位置数据代码值进行编码的位0和位1,是在适当的情况下,使用代码提升的代码调整。
图表43
情境4代码单元的编码和位使用
Figure BDA0002327790730000992
Figure BDA0002327790730001001
从上图表可看出,如果情境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)的情境代码分配
Figure BDA0002327790730001031
由于情境(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)
Figure BDA0002327790730001041
类B拥有绝大多数的数据代码值。然而,可根据这特征来划分这些处理单元,这特征是关于:数据代码值相对于它们的相对位置的相反放置的安排。对于这些数据代码值的相反放置安排,一种模式和设计是首先放置第3数据代码值,随后放置第2数据代码值,并且随后第1数据代码值。因此,对于具有所有三个唯一数据代码值的处理单元,第3和第2数据代码值必须不同,对于那些不具有所有三个唯一数据代码值的处理单元,第3和第2数据代码值的值可相同或不同。使用此特征作为另一种分类标准,似乎可在节省位存储方面产生更好的结果。因此,可同样对应地分配情境代码。因此,可将子情境代码位1分配给其中第3和第2数据代码值相同的处理单元,并且将位0分配给其中它们不同的那些处理单元。对于在此的情境类0,可分配额外的子情境代码位,或者可使用陈氏译码的另一新颖特征来将这种子情境码位与内容代码位进行组合,所述新颖特征即后验分类的用途或者后验分类代码在陈氏代码的内容代码内的放置。通过使用图表47中的终止条件,使用三个3值代码单元的处理单元的实际编码可更好地解释陈氏译码的这种编码技术,如图表48中列出如下:
图表48
分配给情境类0和情境类1的情境代码:随编码和位使用以及位1/位0的变化而变化
Figure BDA0002327790730001061
从以上可看出结果非常接近。分配有图表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处理单元
Figure BDA0002327790730001111
Figure BDA0002327790730001121
这恰好是图表48中的类A部分;
图表51b
用于使用第3和第2数据代码值是否为相同值的标准来进行细分的类B处理单元的内部或嵌入式分类代码
Figure BDA0002327790730001122
Figure BDA0002327790730001131
Figure BDA0002327790730001141
至于类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处理单元
Figure BDA0002327790730001142
Figure BDA0002327790730001151
在揭示上述各种分类技术之后,可评估哪种技术对于处理中的数字数据集最有用。并且根据使用分类技术的选择,发现用于编码和解码的数据代码值的重新分类和重新分配对于预期目的是必要和适当的。图表53是这种考虑的结果:最有用的技术是正确识别可用于对数据代码值进行正确分类的特性。在正在讨论的本设计和模式下,已开发、设计和实现许多技术以用于前面段落中呈现的图表。可观察到,虽然一些代码条目组合节省了位节,但是其他代码所产生的位节损失会对冲了甚至多于这些节省。因此这个特性或特征是必须被调查的一个特征;就是要找出使用以上讨论的陈氏译码的各种技术来在编码时产生位节损失的有问题的条目组合。显而易见的是,如果将造成损失的有问题的条目组合组合在一起,并且那些造成节省的友好条目组合同样进行组合,那么这可增加成功的机会。图表53在此把这作为数据分类的主要标准,以及在其后的编码中使用陈氏译码的其他技术,例如代码调整,包括代码提升、代码省略、代码替换,以及最主要的绝对地址分支技术加上范围的使用:
图表53
在代码重新分配之前基于可压缩和不可压缩数据值条目的数据分类,具有使用段落[75]中的图表21的频率
不可压缩类:使用AAB技术进行范围编码(实际值范围:7,下限值范围:2位用于4;上限值范围:3位用于8)
Figure BDA0002327790730001171
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
Figure BDA0002327790730001172
Figure BDA0002327790730001181
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
Figure BDA0002327790730001192
可压缩类:其中以下2个条目组合是重新分配的例外,在适当处,不同于前两个条目组合
Figure BDA0002327790730001193
Figure BDA0002327790730001201
可压缩类:其中所有3个代码值都是唯一的,编码代码将被重新分配
Figure BDA0002327790730001202
从以上图表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技术进行范围编码
Figure BDA0002327790730001211
Figure BDA0002327790730001221
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
Figure BDA0002327790730001222
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
Figure BDA0002327790730001241
所以到目前为止,似乎必须使用其余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技术进行范围编码
Figure BDA0002327790730001251
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
Figure BDA0002327790730001252
Figure BDA0002327790730001261
Figure BDA0002327790730001271
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
Figure BDA0002327790730001281
以上不可压缩类和可压缩类的频率只是略有不同,其中第一类具有8897个处理单元,并且第二类具有8888个处理单元。然而,由于第二类被分配给情境10和11,所以偏斜旨在增加位1比率,而不是位0比率。然而,结果非常令人惊讶,在编码1个周期之后,位1减少297位,而位0增加297位,如以上图表中55所示。因此,即使在编码之后没有位节增益或位节损失,位0:位1比率变化的方式使得很可能使数据可以被压缩,现在在编码之后,位0与位1之间的比率分配变得更不均匀。如果采用以相反方式分配情境代码,那么在下一个图表56中示出位0:位1的增益或损失:
图表56a
使用与图表55中使用的不同的情境代码的相反分配
不可压缩类:使用AAB技术进行范围编码
Figure BDA0002327790730001291
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
Figure BDA0002327790730001292
Figure BDA0002327790730001301
Figure BDA0002327790730001311
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
Figure BDA0002327790730001312
Figure BDA0002327790730001321
事实证明,对于80000位的随机数据集,偏斜减小,仅将位1减少251并将位0增加相同的量。
从以上可看出,报头中的指示符可保留用于指示如何分配情境代码,以及同样是否使用代码单元为0头码设计或代码单元为1头码设计的来读取数字数据,以及哪种头码设计用于在读取数据值之后对数据值进行编码,因为它们可不必相同。此类变动可能影响所得到的陈氏代码编码中的位0:位1的比率。此类指示符用于选择最佳的情境,以服务于要求编码的目的。
为了进一步改变位0:位1的比率,可进一步将图表56a改成使用代码单元为1头码设计的一个,如下所示:
图表56b
使用相反分配,用于不同于图表59a中使用的0头码设计的1头码设计的代码单元内容代码
不可压缩类:使用AAB技术进行范围编码
Figure BDA0002327790730001331
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
Figure BDA0002327790730001332
Figure BDA0002327790730001341
Figure BDA0002327790730001351
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
Figure BDA0002327790730001352
Figure BDA0002327790730001361
要改变代码单元的内容代码的头码设计,最简单的方法是将内容代码的位0更改为位1,反之亦然,如图表56b所示从图表56a更改。以上实例显示出了陈氏译码如何用于创建非均匀编码器,以用于在图表56a中减少位1并将位0增加251,或者在图表56b中增加位1并将位0减少194。它表明朝向位0:位1比率中的更多位1的趋势被相反了。为了完整起见,图表56c用于显示出使用0头码情境代码和1头码内容代码来对80000位节的原始随机数据集进行编码的结果,如下所示:
图表56c
利用不同于图表56b中使用的1头码设计的0头码设计情境代码的相反分配
不可压缩类:使用AAB技术进行范围编码
Figure BDA0002327790730001371
可压缩类;其中第3和第2位置值不同,并且使用代码调整技术来编码
Figure BDA0002327790730001372
Figure BDA0002327790730001381
Figure BDA0002327790730001391
可压缩类;其中第3和第2位置值相同,并且使用代码调整技术来编码
Figure BDA0002327790730001392
因此,改变图表55、图表56a、图表56b和图表56c的位0和位1的结果分别是+297/-297、-251/+251、-194/+194和-153/+153。因此很明显,图表55给出了朝向更多位0的最大偏斜。如上所示,对于相同的数据分配,使用不同的头码设计以及分类代码和内容代码的分配可能影响位0:位1的比率分配。并且可将这种分配调整为因应于任何特定数据集的位0:位1的不同比率分配,并且当一个分配布置无法有效地继续向某个方向偏斜时,可尝试改变它以使得偏斜方向可维持或者可设计另一种方案来这样做,直至到达一点,在该点,该不均匀分配可通过使用陈氏译码的其他技术来进行压缩。
例如,可使用AI分辨技术来对超级处理单元进一步进行压缩。或者可使用段落[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位随机数据集的处理单元的频率分配
处理单元代码值
Figure BDA0002327790730001471
Figure BDA0002327790730001481
图表58b
使用具有由3个单代码单元组成的处理单元的Max3 5位0头码设计代码单元编码器读取的80000位随机数据集的超级处理单元的频率分配–超级处理单元由2个连续处理单元组成(其中显示出所选择的SPUCV)
超级处理单元代码值
Figure BDA0002327790730001482
Figure BDA0002327790730001491
Figure BDA0002327790730001501
图表58a和图表58b的频率分配统计值的实例是通过使用如下图表58c和图表59d中列出的自动3程序生成的:
图表58c
生成图表58a和图表58b所显示的频率统计值的自动程序
Figure BDA0002327790730001502
Figure BDA0002327790730001521
Figure BDA0002327790730001531
Figure BDA0002327790730001541
Figure BDA0002327790730001551
图表58d
在图表58c列出的自动程序所用的自动编程库
Figure BDA0002327790730001552
Figure BDA0002327790730001561
Figure BDA0002327790730001571
Figure BDA0002327790730001581
Figure BDA0002327790730001591
Figure BDA0002327790730001601
Figure BDA0002327790730001611
Figure BDA0002327790730001631
Figure BDA0002327790730001641
Figure BDA0002327790730001651
图表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。并且对于27x27SPUCV,也可在图表58b中找到规律性。
然而,当比较图表58a和图表58b中的代码值之间的频率范围时,人们能够发现这种规律的变化。可将一个位类中最频繁的代码值与相邻位类中的最不频繁的代码值之间的频率范围进行比较。以下图表58e列出了不同位类中的代码值的频率范围:
图表58e
位类之间的频率范围
Figure BDA0002327790730001661
因此,它揭示了位长度不是确定值的频率的唯一因素,不同分组中的值也具有其自己组的其自己的频率规则性特征。例如,当位类变得越来越低时,高位类中的最频繁代码值与低位类中的最不频繁代码值之间的比率倾向于在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代码
Figure BDA0002327790730001671
图表59b
不可压缩类5/6位类的PUCV的AAB代码
Figure BDA0002327790730001681
在图表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(在此使用的实例中是SPUCV0010-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所示,这种代码替代开始于SPUCV0011-11011替代SPUCV0010-1100(随后是5/6位PUCV),SPUCV0011-11011(黑洞1和Scode 0)必须由Scode 1替代,等等。它停在SPUCV组的最低位类处,即12位类。在此位类中,存在从未发生的代码值。因此,缺值的SPUCV可用作最后一个Scode而无需另外代码来替代它。但是在解码时,必须知道用于这种替代的代码值是什么,因此必须使用Scode指示符并将其记录在主报头或部分报头中。这产生一些位节支出。因此替代也可停在SPUVC组的某个位类处,其中这种位节支出将超过由进一步替代产生的位节省。当它停在特定的位类时,具有最低频率的下一个SPUCV可使用AAB代码来将其自身分成2个Scode,一个Scode(最后一个之前的一个Scode)替代在这Scode链中的前一个Scode并且随后另一个(最后的Scode)替代自己。例如,通过使用图表58b中列出的替代代码,如果替代停止在11位类处,那么SPUCV 101111-11110(Scode 2)必须使用具有在类中的下一个最低频率的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 黑洞1
图表60b
使用图表60a的频率统计值的12位类SPUCV的频率计数的分配
Figure BDA0002327790730001911
Figure BDA0002327790730001921
如上所述,通过将随机数据集大小调整为较小值ff=9000来产生图表60a,并且图表60b是使用图表60a的频率统计值在12位类中的SPUCV的频率计数的分配。如图表60b所示,存在两个最高频率为11个计数的代码值。可选择第一个或第二个(即SPUCV 111011-101010和111010-101011)作为黑洞0,以与缺失的作为具有零频率计数的黑洞1的SPUCV 101110-101110配对。通过使用任何一个,位节省仅为11位,并且使用常规方法计算的两个黑洞指示符的位支出是12位。它显然不是合适的方法。因此,可设计另一种新技术来缩短黑洞指示符所需的位长度。这再次使用了范围的概念。
使用这12位类的代码值:具有最高频率计数为黑洞0的SPUCV111011-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的频率计数的分配
Figure BDA0002327790730001922
Figure BDA0002327790730001931
这假设是基于:用于黑洞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数的编码器设计。因此,除其他特征外,最重要的区分特征,用于把陈氏框架设计的编码器与其他编码器区分开来的标准是:代码单元、处理单元和超级处理单元的唯一代码值,根据所使用的设计,是具有多于一个数目的位节大小的或位节长度,即或具有不同的位节大小或位节长度。
因此,以上概述的方法和技术可循环地压缩,无论是随机的还是非随机的所有类型的数字数据(不包括少于几千个二进制位节的随机数据,在此确切的限制不是重点)。因此,结合上述内容,在此发明了通用编码器。
总而言之,结论再次是:
让有理解力的人来点算数字......
有益效果
由于没有关于输入的数字信息的假设,所以包括随机数字或均匀分配的数字的任何数字都可在经受上述限制的循环周期中进行加密或压缩。在信息爆炸时代的今天,能够循环加密和压缩,在分配中无论是否随机的数字数据的方法对全人类,在生活的方方面面依赖数字数据的交换和存储的利用上,做出了巨大的贡献。它肯定也有助于人类在空间探索或重新移居的努力。
最佳模式
到目前为止,在本发明要求优先权的PCT申请PCT/I B2017/054500中,引入的最佳实施方案是将数字数据黑洞与代码替代(后续的或不后续的)一起用于在适当情况下压缩随机和非随机数据。并且对于非随机数据,可设计和开发另外的规则和AAB代码表,以适应处理中的数字数据集的数据分配类型。这提供了明确的证据,即任何数字数据集都可在周期中进行编码和解码达到所描述的限制,所述证据结束了信息理论中鸽巢原理的神话并且现在鸽巢遇上了黑洞。这并不意味着其他模式中的其他陈氏译码技术无法产生相同的结果或相同的证据。可预测的是,使用其他模式也可提供相同的结果和相同的证据。
发明模式
其他模式包括交替使用非均匀器和均匀器来进行编码和解码,使用超级处理单元尤其是通过设置用于使用这些子部分的AI分辨的标准的技术,来将随机数据集分解为易受压缩的非均匀数据的子部分或子单元,并且使用不同大小的处理单元来,根据数字数据值的内容的特性或特征,适当使用终止条件和分类标准来进行编码和解码,并且,特别是对于加密模式的简单设计,使用数学公式以及它们的相应值的放置来进行编码和解码。此外,本发明揭示了其最新颖的方法,其使用数码透视法来创建数字结构或构造,选取代码,用于编码和解码的操作(包括加密和解密以及无损方式的压缩和解压缩),无论处理中的数字数据集是随机的或非随机的,如第142段及以下所示。
最重要的是,从以上讨论中可看出,陈氏框架提供了,可用于无论是否随机的数据,可用于创建秩序的框架,从而允许从该等数据中,生成统计信息,该等统计信息与以下方面相关:用于描述在处理下的特定数据集的模式[模式和设计包括代码单元、处理单元、超级处理单元的设计(部分是更大大小的超级处理单元)、未编码的代码单元、包含设计用于使用此类信息的基本指示符的报头、以及编码器和解码器中内置的编程逻辑,从而产生陈氏代码,以便以陈氏代码文件形式的数字二进制位来表示],并且从而允许使用陈氏译码技术,在适当的情况下,用于压缩和加密的目的,来进行编码和解码。如上所述,上述这种统计信息包括代码单元、处理单元、超级处理单元的大小,它们的频率分配,数据代码值的排名和位置,以及例如数学公式中表示的不同数据代码值之间的关系的其他特征信息,终止值和终止条件,位0与位1之间的比率,数据范围等等。因为可在陈氏框架下描述数据集的这些特征或特性,使得,可出于编码和解码目的,用来创建关系或派生特性。例如,一种特别有用的特性是绝对地址分支代码,例如,它也可用作代码单元定义本身,或者作为内容代码,或者作为情境分类代码,以及作为用作进行AI分辨的标准的内容代码的三元组的后缀,并且特别是联手地,使用数字数据黑洞和连续代码替代,从而使得可以,正确且无损地,压缩和解压缩随机数据。因此,陈氏框架是丰富的框架,从而允许为任何数据集,属于不论什么数据分配的数据集,创建秩序,给予在设计阶段期间有极大的灵活性,这在框架下是可描述的,使得开发技术,可用来捕捉数据值之间的差异,这可随后进行认真操作,例如通过循环地运用,用于改变数据集的位0与位1之间的比率,使得可将数据分配的非均匀性得以增加,使再循环数据压缩成为可能的目的,或者通过设计数学公式来表示处理单元的不同组件之间的关系,用于(本身或者在再次对其进行进一步压缩之前)加密对应的数字数据集的目的。
使用哪种模式是一个选择问题,取决于编码的主要目的,并且编码是用于加密或用于压缩或用于两者。第[142]段及以下段落中的数码透视法方法绝对是首选的方法,因为它提供了数字构造,可用于选取要被操作的代码数值,根据处理中的数字数据的数据分布来加以考虑。数码透视法及其创建的数字构造使人们首先能够找出并检查在处理中的数字数据集所形成的数字构造中所表现出的特性,然后采用其他适用技术来把数字数据集进行无损编码和解码,无论是否是随机或非随机数据。
实质上,本发明要求优先权的PCT申请PCT/IB2017/054500的实施方案的特征在于:
(1)陈氏框架,从无论是否随机的数字数据信息中,创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集中,为数据创建秩序,或创建数据秩序或数据结构或数据组织,由代码单元组成,所述代码单元作为包含数字数据集的二进制位的位节容器的基本单元以供使用;根据出于编码和解码目的而选择进行处理的设计和模式,代码单元主要通过代码单元被定义来容纳或表示的数据值的最大可能数量(即代码单元的值大小)来进行分类,其中代码单元的每个可能的唯一值可具有相同的位大小或不同的位大小;并且代码单元随后由代码单元占据的总共所有可能的唯一数据值的位数(即代码单元所占据的每个可能唯一数据值的位大小的总和)进行分类;并且代码单元进一步由头码设计(即它是0头码设计还是1头码设计)进行分类;由此,根据各实施方案,在陈氏框架下的特定值大小的代码单元具有不同的定义和版本;
(2)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由处理单元组成,所述处理单元,根据出于编码和解码目的而选择用于处理的设计和模式,由一定数量的代码单元作为子单元而组成;
(3)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由超级处理单元组成,所述超级处理单元,根据出于编码和解码目的而选择用于处理的设计和模式,由一定数量的处理单元作为子单元而组成;
(4)陈氏框架,用于从无论是否随机的数字数据信息创建秩序的方法,其特征在于:从无论是否随机的任何数字数据集来创建的数据的秩序或数据秩序或数据结构或数据组织,由未被编码的代码单元组成,所述未被编码的代码单元由一定数量的二进制位节组成,这些二进制位节不能达到一个处理单元的大小,因此根据出于编码和解码目的而选择用于处理的设计和模式,保持为未被编码的代码或保持原样;
(5)[删除,因为它是上述(4)的副本。]
(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)使用陈氏框架设计的译码器,其特征在于:代码单元、处理单元和超级处理单元的唯一代码值,根据所使用的设计,是具有多于一个位节大小或位节长度或者具有不同的位节大小或位节长度的。
数码透视法是识别数字数据中的模式,即如在位0和位1的系列中所表示的模式,的功能或能力,而不必事先知道数字信息的数据分布,无论是随机数据还是非随机数据,即它适用于上述所有类型的数字数据。本发明旨在揭示如何在数字数据处理中运用和应用这种功能或能力,使得随机数据不再是噩梦,而信息理论中的鸽笼原理可以掉进垃圾箱了。从本质上讲,数码透视法本身并不会改变数字数据。然而,它不仅能够从相同的数字数据集创建数字构造,而且还能够根据不同的设计选择不同的代码值放到它创建的同一数字构造中,以便可以通过使用适当的技术进一步对数字数据集进行操作,对处理中的数字数据集进行编码和解码。数字数据集是相同的,但通过使用数码透视法的功能,人们可以看到并因此从相同的数据集创建不同的数字构造,并且能够将不同的数字代码值放入这样的构造,根据设计,为不同的特定编码和解码目的,创建不同的数字比特位模式分布。这就像佩戴不同的透镜一样,可以在视野范围内看到同一物体的不同形状或不同颜色。例如,下面段落[191]中的图表87显示了使用数码透视法生成的相同随机数字数据的不同频率分布模式的统计数据。
利用这种数码透视法的能力,人们能够组织所有类型的数字数据,无论其分布模式如何,包括随机和非随机数据。通过将处理中的数字数据集放入并组织到所创建的数字构造中,可以研究其特性,例如放入有数字数据集的数字构造的不同元素的频率分布,以便可以尝试对其进行编码和解码的操作。
为了更好地理解如何开发和使用数码透视法的功能,必须揭示从相同数字数据集创建不同数字构造的技术。组织数字信息存在着不同的层次,第一层是通过将数字信息组织成位0和位1,这与使用二进制系统的传统方式相同。除了只是一系列二进制数字位之外,其没有形成数字结构或构造或模式。本发明要求优先权的PCT申请PCT/I B2017/054500引入了陈氏形状以及陈氏框架作为数字结构进入到二进制系统之上的另一个层次,以便进一步操作数字信息。但是,它没有规定使用数码透视法来选择数字代码值,使其落入这些数字结构中。这里介绍的有关数码透视法的新颖之处在于,除了创建数字构造之外,数码透视法的强大功能还可以根据设计有选择地将不同的代码值集合放入相同的数字构造中以进行进一步处理。
因此,数码透视法与以前组织和排序数字信息的方式不同,它不仅可以创建数字结构,还可以根据设计随意选择代码值,并将选择的代码值放入那些数字结构中并将其转换为构造以供进一步操作。因此,数码透视法有两个元素(组合),一个是能够创建数字结构,另一个是能够选择将哪些代码值放入由此创建的数字构造中,以便根据设计随意创建数字构造。能够选择代码值或数字位并将其放入所创建的数字结构的不同部分或元素中的功能是数码透视法的关键。
图表62示出了二进制系统代码表,并且它用于演示数码透视法如何与二进制系统的代码值一起使用:
图表62二进制系统代码表
Figure BDA0002327790730002161
如上所示,有四个代码值,每个代码值由两个位组成,即00、01、10和11。
使用数码透视法的功能和方法的关键是选定代码值放入数字结构中的能力。作为这里的示例,要使用数码透视法,人们必须扩展想象力,并设计数字结构,让随来的数字比特位进入其中。参考图表62,只有四个代码值可供选择。并且可以只有3种选择,即可以选择一个代码值、或两个代码值或三个代码值放入第一数字结构;如果所有四个代码值都被选择放入第一数字结构中,那么从第一数字结构就不会走出任何代码;如果是这样的话,似乎不能对代码值进行操作。如果选择将一个代码值放入第一数字结构中,则可以从第一数字结构走出其他三个值并且其他三个值出现在第二数字结构中。如果选择将两个代码值放入第一数字结构中,则可以从第一数字结构中走出两个代码值并且这两个代码值出现在第二数字结构中。最后,如果选择将三个代码值放入第一数字结构中,则可以从第一数字结构走出仅一个代码值并且该代码值出现在第二数字结构中。
因此,作为类比,第一数字构造可以被视为数字水库,第二数字构造可以被视为数字水坝。一系列数字位:由位0和位1(数字雨)组成的数字雨,无论分布模式如何,当降落到陆地上来到第一个水库时,代码值的雨滴(数字雨滴)被设计为被选择保留在第一个水库中。那些不属于所选代码值的数字雨滴被允许从第一个数字水库中走出来,并在它之后变成(或固化形成)数字水坝。通过这种方式,数字水库是一个可变的数字构造(即有或没有数字雨滴),数字水坝是一个固定的数字构造(只要有代码值的数字雨滴未被选择保留在数字水库中)。因此,数字水库可以没有保留到任何数字雨滴或保留到尽可能多的数字雨滴,这具体取决于进来的数字雨滴的组成。数字水坝由固化的数字雨滴组成。被选中保存在数字水库中的数字雨滴被称为数字水,而那些从数字水库中走出的雨滴被称为数字冰。可能存在两块数字冰(即两个未选择的数字代码值)彼此相邻并形成两个数字水坝,其间具有空的数字水库。所以数字水坝是只有一个数字冰的固定的构造,只要数字雨滴包含数字冰即可。
为了更好地理解上面所揭示的内容,我们可以设计两个数字构造,一个数字水库和一个数字水坝,以便选择3个数字代码值的数字雨滴保留在数字水库中,并且只有剩余数字代码值的数字雨滴才会从数字水库中释放出来。图表63示出了一个处理单元,数字构造,其由两个子数字构造:1个数字水库和1个数字水坝组成:
图表63
处理单元,数字构造1,由1个数字水库和1个数字水坝组成
数字水库 数字水坝
保留的
00/01/10 11
因此,上面的数字水库保留了3个数字代码单位值(代码值)的数字雨滴,即4个数字代码值(即图表62的二进制系统代码表中的00、01、10和11)中的00、01和10。然后,数字代码值11的数字雨滴在数字水库之后被释放以形成数字水坝。然而,可以选择另一组选择,例如选择01、10和11保留在数字水库中并释放00以成为数字水坝,如图表64所示:
图表64
处理单元,数字构造2,具有与图表63相同的结构,但是在不同的子数字构造中具有不同数字位模式的不同数字构造
数字水库 数字水坝
保留的
01/10/11 00
因此,由于设计和选择不同组的数字雨滴以形成数字水库和数字水坝,即使数字数据集相同,相同的数字结构也成为两种不同的数字构造。例如,图表63中的数字水坝只能由数字代码值11组成,而在图表64中它是00。
因此,处理单元可以被设计为由一个或多个数字构造的一个或多个单元组成。例如,处理单元可以由以下组成:数字构造1的两个单元依次组成;或数字构造2的两个单元依次组成;或数字构造1的一个单元加数字构造2的一个单元依次组成;或数字构造2的一个单元加数字构造1的一个单元依次组成,如图表63和64所示。然而,上述类比和设计仅仅是用于说明数码透视法的功能的示例,其不限于上述示例。例如,人们还可以将数字构造1或2中的数字水坝变成具有可变宽度的固定数字水坝,允许它在来值时保留所选数字代码值11或00的尽可能多的实例,如下面的图表65所示:
图表65
处理单元,数字构造3,具有不同的数字结构,其中三个数字代码值保留在数字水库中,剩余的一个数字代码值形成一个可变宽度的固定数字水坝。
Figure BDA0002327790730002191
或者可以替代地设计使数字水坝保留2个数字代码值并释放剩余的2个数字代码值以形成数字水坝,它只占用了数字水库中出现的2个数字代码值中的任何一个的代码实例,如下图表66所示
图表66a
处理单元,数字构造4,具有不同的数字结构,其中两个数字代码值保留在数字水库中,两个数字代码值的其中任何一个形成数字水坝。
Figure BDA0002327790730002201
图表66b
处理单元,数字构造4,具有不同的数字结构,两个数字代码值保留在数字水库(DR)中,并且两个数字代码值的其中任何一个形成数字水坝(DD)
Figure BDA0002327790730002202
因此在图表66b中,最后2个数字水库之间的数字水库是空的,并用[]表示,如上所示
上面要注意的是,可变数字结构,即数字水库,是一种存在[只要存在具有这样设计选择的数字代码值的代码进入所关注的数字水库)或不存在的结构,当存在时,内部可能存在这样选择的数字代码值的一个或多个代码,这取决于使用设计中的数字构造对其进行采样或读取的正在处理的数字数据集的数据分布,如图表66b所示,其中图表66b还示出数字水坝是由其之前的数字水库中走出的数字代码值的剩余代码形成的,因此,除非没有这样的剩余数字代码值从它之前的数字水库中走出,否则必有一个或多个数字水坝,从这个意义上说,数字水坝是一个固定的数字结构,但也可以具有可变宽度,如图表65所示。
因此,我们可以设计出由不同数量和模式的数字代码值组成的数字结构的许多不同组合。如图表62中的二进制系统的2位代码表(4代码值)所示,不仅可以使用传统方式的二进制系统的2位代码值来使用具有8个代码值的3位代码表,而且还可以通过使用在本发明要求优先权的PCT申请中引入的陈氏框架下的代码值系统(不均匀位宽或大小的代码值)。
例如,以下代码表是陈氏框架代码系统的3值代码表:
图表67
陈氏框架代码系统的3值代码表
Figure BDA0002327790730002211
可以选择将代码值10和11放入数字水库中,并将剩余的代码值0释放为数字水坝。因此,使用陈氏框架下的3值代码系统形成由两个子数字构造组成的数字构造,一个数字水库(存储代码值10和11)和一个数字水坝(存储代码值0)。
陈氏框架下的代码系统也可以由无限的代码值组成,如下图表68所示:
图表68a
陈氏框架代码系统的0尾代码表,用于无限代码值
Figure BDA0002327790730002221
图表68b
陈氏框架代码系统的1尾代码表,用于无限代码值
Figure BDA0002327790730002222
因此,如果使用如上图表68所示的无限值代码表和第[151]段中提到的数字构造(使用陈氏框架下的0尾代码系统)中的任一个对数字数据进行采样,即处理单元由两个子数字构造组成,一个数字水库(存储无限0尾代码值,即代码值以位0结尾,包括10,110,1110等等)和一个数字水坝(存储代码值0),则数字水库的大小不仅取决于具有彼此相邻的0尾代码值的代码的数量,而且还取决于每个0尾代码值的大小或宽度,因为陈氏框架代码系统下的代码值的特性是位尺寸不均匀。
人们还可以设计一个采样系统或数码透视法系统,其中第一数字构造由二进制系统下的代码系统(即数字代码值的数量固定的数字结构)和第二数字构造陈氏框架下的代码系统(其中数字代码值的数量可以是固定的或无限制的)构成。因此,实际上我们可以设计无数个数码透视法系统来对数字数据集(无论是否随机)进行采样,以便进一步操作用于不同的编码和解码目的。
因此,构成图表66的一系列数字位在图表69a中再现如下:
图表69a
使用如图表66所示的数字构造设计数码透视法化的一系列数字位
Figure BDA0002327790730002231
如果图表69a中所示的相同系列的数字位被透镜化(即使用数码透视法采样或读取),其数字构造设计如图表63所示,其中数字水库保留代码值00/01/10并释放代码值11形成数字水坝,而不是如图表66所示使用数字构造设计的数码透视法,它则以不同的方式出现,如下图表69b所示:
图表69b
使用如图表63所示的数字构造设计数码透视法化的一系列数字位
Figure BDA0002327790730002232
在图表69a中,有3个数字水库,其中最后两个为空,第一个保留5个代码,其中两个为10,剩余的3个为11;和3个数字水坝,其中两个由代码值01的一个代码组成,剩余的一个数字水坝由代码值为00的另一个代码组成。而在图表69b中,在更换数码透镜后,同一系列的数字位形成4个数字水库,其中两个是空的,剩余的两个填充了1个代码10或依次4个代码10,00,01和01;并且有3个数字水坝由代码值11的1个代码组成。
因此从技术上讲,考虑适合于不同的编码和解码目的,使用数字构造设计对0和1的一系列数字位形式的相同数字数据集进行采样或读取或数码透视法化,并且这些技术步骤包括:(1)根据设计中的代码系统的代码表读取一系列数字位,即读取一系列数字位并将其与所用代码表的代码值匹配,并根据与所使用的代码表内的代码值的位模式匹配的这种位模式并根据设计和使用的数码透视法系统,形成或识别为依次的每个代码单元,以及(2)根据设计用于被选择进入相应数字结构或子数字构造的代码值,对代码进行分类或分组(即保留或释放)。以这种方式,即使没有对数字数据集本身进行实际操纵,也可以根据所使用的数码透视法系统来描述或分组或分类该系列数字位。
如段落[154]所示,人们可以根据所使用的数码透镜找出处理中的数字数据集的统计特性,例如在处理中的数字数据集中形成了多少数字水库和数字水坝,以及由此形成的数字水库和数字水坝中存在的代码数量及其代码值。简而言之,人们可以点算处理中的数字数据集的数字结构和元素,而无需事先知道数字数据集的性质。这意味着任何类型的数字数据,无论是随机的还是非随机的,都可以根据设计和使用中的数码透镜来点算。
因此,采用数码透视的功能,开辟了一种全新的方法来研究任何类型的数字数据,包括臭名昭著的随机数据噩梦。并且本发明揭示了如何在技术上开发和使用数码透视法的功能。由于数码透视法本身作为采样系统的初始级别不会改变处理中的数字信息,所以为了编码和解码的目的,其他技术,如将在下文第[162]段描述包括数码透视法的附加级别或层,必须与数码透视法的初始级别一起使用作为改变所关注数字数据的抽样或组织系统。
因此拥有数码透视法的强大功能,人们可以随意设计和创建数字构造并使用本发明要求优先权的PCT PCT/IB2017/054500申请中所披露的技术,用于编码和解码数字内容,即具有设计为被选择进入创建的数字构造中的数字代码值的二进制位。
作为说明使用一种这样的技术的示例,用于对使用数码透视法的功能创建的数字构造的内容进行编码和解码,即数字黑洞技术,数字构造的定义在第[148]段图表63中提到,即处理单元,数字构造1,由1个数字水库和1数字水坝构成,其中选择具有数字代码值00/01/10的代码保留在数字构造1的数字水库中,并且释放具有数字代码值11的代码以形成数字构造1的数字水坝。第[129]段揭示了如何使用数字黑洞技术。简而言之,必须识别数字模式,在该数字模式上应用数字黑洞,通过该数字黑洞可以吸收所识别的数字模式的二进制位。因此,在创建图表63的数字构造1之后,还可以识别由此形成的数字水库和数字水坝的二进制位的数字模式。发现数字水库保留了3个数字代码值的代码,即00/01/10(如果存在的话)并且数字水坝仅由1个代码形成,数字代码值为11(如果存在的话)。因此当数字黑洞技术应用于这两个数字子构造,可以实现数字位的吸收,如下面的图表70所示:
图表70a
数字黑洞应用于图表63的包括1个数字水库和1个数字水坝的数字构造1的结果:
数字水库 数字水坝
保留的
00/01/1[0] [11]
可以使用数字黑洞吸收的二进制位被放入[],如上图表70a所示。在数字构造1的数字水库中,数字代码值10变为1,因此代码值10的数字位位0被吸收。并且数字构造1的数字水坝的数字代码值11被完全吸收。
因此,每当遇到数字代码值00/01时,对上述数字水库进行编码,这两个数字代码值保持不动,而数字代码值10将使用位1编码为10;而上述数字水坝的数字代码值11完全被吸收,因此数字代码值11完全消失。构成图表69b的一系列数字位编码如在下面的图表70b所示:
图表70b
使用数字黑洞,对使用如图表63所示的数字构造设计数码透视法化的一系列数字位编码
Figure BDA0002327790730002261
上图表70b中的[]中的数字位被吸收并消失,因此上述一系列数字位:1011111110000101被编码为11000101,将其从16位缩短为8位。然而,不使用或添加分类信息或分类数据以及上面得到的8位编码代码以用于其正确解码,人们将不能成功地解码上面得到的8个二进制位并且无损地且正确地将其还原到原始的16位数字信息。
由于数字构造1的设计是已知的,因此为了正确恢复上述16位二进制数字信息,必须知道由上述数字位组成的数字水库和数字水坝的数量、数字水库在哪里停止、数字水坝就在哪里开始、以及哪个数字水库是空的哪个不是空的等等。尽管数字黑洞有助于将原始数字信息从16位缩短到8位,但必须将信息添加回所得到的编码数字位序列中,以便正确无损地恢复由上述16个数字位系列表示的原始数字信息。因此,除了数字黑洞之外,还必须使用其他技术。
此时,必须再次使用数码透视法的功能进行设计和创建另一个数字构造(包含编码数字代码的数字构造,以下称为编码DC),用于保存编码的数字代码和其他附加数字代码,它代表着在解码过程期间必须用于正确和无损恢复原始数字信息的附加数字代码。因此,编码的数字代码和其他添加的数字代码被选择和组织,以便放置在,为数字构造1,DC1,设计和创建的前述编码的DC的适当部分中。
对于上面的示例,首先,必须确定使用什么信息或将哪些信息添加到8个编码的数字位中,以使其正确且无损地还原到原始的16个数字位。一条这样的信息是DC1的数字水坝的标识符。因此,必须修改编码的8位,并且原始数字代码值和相应的编码的数字代码值可以采用如图表71所示的形式,如下所示:
图表71
用于编码DC1的原始数字代码值的修改的代码表
Figure BDA0002327790730002281
在图表71中,位1用于识别10和11的数字代码值。因此必须有一种方法可以在一系列合成编码数字代码中区分它们。由于DC1的DD仅有1个数字代码,因此如果知道在DC1的DR中保留了数字代码值10的多少个单元,则能够正确地识别该系列的合成编码数字代码位中的哪个位1是DD。因此,在编码过程中,必须对在DC1的DR中找出具有代码值10的数字代码的数量进行点算,并且编码的DC必须具有表示这种点算信息的结构元素。这种结构元素在下文中称为数字点算信息(DCI)。在DCI之后,是表示在DC1的DR和DD中找到的原始数字代码的编码的数字代码,称为编码DR和编码DD。所以对于DC1的处理单元,代表DC1的编码DC的编码的处理单元具有3个结构元素:DCI、编码的DR(EDR)和编码的DD(EDD)。DCI给出DC1的DR中保留的代码值为10的数字代码的数量的信息。
因此,点算技术是使用数码透视法和数字黑洞后用于此设计的另一项最重要的技术。由于在DC1的DR(或其中的DR或DD中的任何其他数字代码值)中具有代码值10的数字代码的点算的数量根据数字信息输入而变化,因此使用基于固定位大小的传统二进制编号系统是不合适的,因为这可能导致位的使用量大量浪费,并且这种编号系统受到所使用的固定位大小的限制;例如,使用2位二进制编号系统给出4个点算的上限并且3位二进制编号系统给出8个点算上限等等。根据逻辑,实际上,在DC1的DR(或其中的DR或DD中的任何其他数字代码值)中具有代码值10的数字代码的计数数量可能是无限的,这取决于数字信息输入,因此具有固定的计数上限的编号系统不适合使用。
然而,在陈氏框架下开发的代码系统可用于点算无限数量,例如在第[152]段图表68中列出的代码系统。以下示例使用图表68a中列出的0尾无限代码系统对DCI进行编码,使用图表71的代码表将DC1的DR和DD编码为编码DC1,其数字结构如图表72所示:
图表72
编码DC1的数字结构
DCI EDR EDD
其中:
DCI是被选择保留在DC1的DR中具有代码值10的数字代码的数量的点算数目(使用图表68a中0尾无限代码系统),其中代码值10被编码为1[0],其中[]中的位0被省略;
EDR在编码的代码中包含尽可能有的系列数字信息(即00/01/1[0]),用于将具有代码值00/01/10的原始数字代码保留在DC1的数字水库中;
EDD仅包含1个编码代码,1代表DC1的数字水坝用于原始数字代码值11的代码;
因此,图表70中列出的原始数字位系列再次表示为图表73a,并且其编码的数字构造在图表73b中示出如下:
图表73a
使用图表70中的一系列数字位的数字构造
图表73b
用于图表73a中的相同系列的数字位的编码的数字构造
Figure BDA0002327790730002302
从图表73b可以看出,存在着3个完成的编码DC1和DCI和EDR的两个剩余数字结构元素,其不形成完整的编码DC1。[]和[]中的位0和位1实际上不存在于编码的数字位序列中,其如下所示:
10110101101000101
可以看出,编码的一系列数字位是17位,比原始系列的原始数字位多一位。这是因为最后的DCI和EDR,没有随后的11代码,无法形成完整的DC1。如果有一个随后的DD,那么它可以形成一个完整的DC1;这样,编码的代码的位用量将与原始系列的数字位相同。
图表73中的DCI表示被选择进入DC1的DR中具有代码值10的数字代码的数量的点算数目(使用图表68a中的0尾无限代码系统)。下面的图表74示出了0尾无限代码系统如何用于对DC1的DR中代码值为10的数字代码的点算:
图表74
对被选择为保留在DCI的DR中具有选定代码值10的数字代码的数量点算的数字点算信息(DCI)
尾0DCI代码代码值10的点算数量
Figure BDA0002327790730002311
在这个示例中,使用这种技术对DC1的DR中无限数量的数字黑洞进行点算,即使用陈氏框架设计的尾0无限代码系统,可以将完整的数字构造编码为编码的数字构造,该数字构造由数字点算信息、编码的数字水库和编码的数字水坝组成,其具有与原始数字位系列的位用量相同的位使用。图表75进一步详细说明如下:
图表75a
使用黑洞技术并使用在陈氏框架下设计的尾0无限代码系统的无限点算技术将图表71的DC1编码成为编码的DC1,其中在DC1的DR中没有代码值为10的代码
DCI
0;DR中没有代码值为10的代码
00;DR中没有值为10的代码,DR中也没有其他代码值;所以只有1个DD代码值11,这个默认值可以省略
01;在DR中没有值为10的代码,但是存在具有其他代码值的代码,即代码值为00/01的代码
;因此在01之后,使用陈氏框架的尾0无限代码系统对代码值为00/01的代码数量再次点算
01 0;有1个代码值为00或01的代码
01 10;有2个代码值为00/01的代码
01 110;有3个代码值为00/01的代码
等等;等等
;具有00/01值的上述代码可以表示为随后的位图,其中位0代表代码值00并且位1代表代码值01,所以:
位图
01 0[];不需要位图
01 10 0;有1个代码值为00的代码
01 10 1;有1个代码值为01的代码
01 110 00;有2个代码,其代码值都为00
01 110 11;有2个代码,其中代码值都为01
01 110 01;有2个代码,第一个代码值为00,第二个代码为01
01 110 10;有2个代码,第一个代码值为01,第二个代码为00等等;等等
;因此从上面可以看出,在DC1的DR中没有代码值为10的代码的完整DC1被编码成具有以下数字结构元素的编码的DC1(EDC1):
数字点算信息:指示代码值为10的代码的数量(在这例子中不存在这样的代码值)并且在DC1的DR中具有其他代码值00/01的代码的数量;
DR位图:指示具有代码值为00或01的代码的最后一位;
DD=[]:不需要表示DD,数字点算
信息足以指示DR在DC1中的结束位置,并且DR应该跟随1个DD代码,即代码值11;这样的1[1]的代码可以在编码的代码中被省略,并且可以在使用数字点算信息解码时被正确地恢复到相应的相应位置
图表75b使用黑洞技术并使用在陈氏框架下设计的尾0无限代码系统的无限点算技术将图表71的DC1编码到编码的DC1中,其中在DC1的DR中存在具有代码值10的代码
DCI
10;在DR中有1个代码值为10的代码
110;在DR中有2个代码值为10的代码
1110;在DR中有3个代码值为10的代码
等等;等等
Figure BDA0002327790730002331
;其中{00/01...00/01}表示在正在处理中的原始系列数字位中找到或未找到(如果未找到,则没有此类代码)的EDR中代码值为00/01的一系列代码
对于在图表75b的其DR中具有代码值10的代码的DC1,使用图表71中的修改的代码表对DC1中的DR和DD的代码值进行编码和解码。因此,编码的DC1的数字结构有3个部分:具有代码值为10的代码的数字点算信息,使用图表71的修改代码表的DR(EDR)和DD(EDD)编码代码。DR的代码值为00/01的编码代码在代码值上与原始代码相同。并且如它们被列在处理中的原始数字位序列中那样,按自然顺序排列。在DC1的DD中具有代码值11的代码被编码为1,表示DC1的DR的停止代码。因此,从关于代码值为10的代码的数量的数字点算信息中可以知道EDR停止的地方;即,EDR在代表DD的下一个位1之前停止;并且当代码值10由1表示时,因此通过对在数字点算信息中登记的EDR中遇到的位1的数量加上表示EDD的另一位1计数,可以在解码过程期间确定和解密整个EDCI。
在DR中具有代码值00/01的代码也可以以与自然顺序相反的顺序放置作为加密形式。或者代码值为00/01的代码也可以分成两部分,即头位和尾位,如图表75c所示,其中0头代码的头位保留在EDR中,相应的尾位作为位图在EDD之后列出如下:
图表75c
使用黑洞技术并使用在陈氏框架下设计的尾0无限代码系统的无限点算技术将图表71的DC1编码到编码的DC1中,其中在DC1的DR中存在具有代码值10的代码,0头代码值为分割码
DCI
10;在DR中有1个代码值为10的代码
110;在DR中有2个代码值为10的代码
1110;在DR中有3个代码值为10的代码
等等;等等
Figure BDA0002327790730002351
;其中{0...0}代表在处理中的原始系列的数字位下找到或未找到(如果没有找到,那么就没有这样的代码)的EDR中代码值为00/01的一系列代码头位
;其中{0/1...0/1}表示在EDR中找到或未找到的代码值为00/01的代码的一系列尾位,并且EDC的位图部分中的{0/1...0/1}中的位数对应于EDR的{0...0}中的位数,按相同的位置排列顺序
因此,图表75b和75c中的编码和解码技术与图表75a中使用的技术不同。在图表75a中形成的编码数字构造中,只有代码值为10(在那里是没有的)的代码的数字点算信息和代码值为00/01的代码的数字点算信息和位图,即位0/位1,相应代码的尾部位具有0头代码值,即00/01。
根据上述第[167]段和第[168]段中描述的编码和解码方案,可以将任何完整的DC1编码到具有相同数量的数字位的相应EDC1中,即相同的位用量,并且EDC1也可以被正确地解码并且无损地返回到原始的DC1。它适用于加密和解密的编码和解码目的。使用数字点算信息,用于数字点算信息的无限代码系统(即是否使用0尾或1尾代码系统),具有0头代码值的编码的代码的位置排列,以及对具有0头代码值的代码使用分割码和位图以及将代码值10和11黑洞化为[]或1[0]或1[1]可以以不同的方式组合以表示许多不同的加密和解密的方案。
此外,如前所述,可以以不同方式设计数字构造,选择要保留在DR和DD中的不同代码值,并且在一个或多个编码和解码周期中使用一个或多个数字构造设计,加密和解密方案的组合可以是无限的。更不用说DR和DD内的代码值也可以用不同的方式映射,如下图表76所示:
图表76
数字构造的代码值的映射情景
图表63中数字构造设计的情景1
Figure BDA0002327790730002361
;将上面列出的前3个代码值的代码选择为进入DR,并且将第4个代码值的代码选择为DC的DD
图表63中数字构造设计的情景2
Figure BDA0002327790730002372
;将上面列出的前3个代码值的代码选择为进入DR,并且将第四代码值的代码选择为DC的DD
图表63中数字构造设计的情景3
Figure BDA0002327790730002373
;将上面列出的前3个代码值的代码选择为进入DR,并且将第四代码值的代码选择为DC的DD
图表64中数字构造设计的情景1
Figure BDA0002327790730002374
Figure BDA0002327790730002381
;将上面列出的前3个代码值的代码选择为进入DR,并且将第4个代码值的代码选择为DC的DD
图表64中数字构造设计的情景2
Figure BDA0002327790730002382
;将上面列出的前3个代码值的代码选择为进入DR,并且将第四代码值的代码选择为DC的DD
图表64中数字构造设计的情景3
;将上面列出的前3个代码值的代码选择为进入DR,并且将第四代码值的代码选择为DC的DD
除了加密和解密的目的之外,为了对任何类型的数字数据尝试进行压缩和解压缩的目的的编码和解码,可以使用两个或两个以上的数字构造单元进行处理。以下示例使用与第[168]段的图表75中使用的相同数字构造的两个单元,用于进行编码和解码以压缩和解压缩数字随机数据集,以进一步演示除了使用数码透视法和数字黑洞技术之外如何将不同的点算技术组合在一起,使数字随机数据的正确和无损压缩和解压缩成为可能。
为了使用相同数字构造的两个单元进行编码和解码,对代码(例如具有代码值10的代码)的点算必须在DR1和DR2中执行,即在设计中的两个相邻DC单元中执行;因此,数字点算信息应包含DR1和DR2中代码值为10的代码的点算数量总和;并且它还应该包含关于DR1和DR2中这些代码的分布的信息,即点算分布信息,以便在解码时可以正确地和无损地恢复这些代码。因此,由于使用相同数字构造的两个单元进行编码和解码,现在的数字点算信息进一步增强,由点算信息(由点算编号代码表示)和点算分布信息(由点算分布代码表示)组成。
因此,可修改第[168]段中的图表75a和75b为图表77a和图表77b所示。图表75c也可以按照图表75b修改为图表77b的相同方式(与代码分割的使用一起)进行修改,如下所示:
图表77a
使用黑洞技术以及使用陈氏框架设计的尾0无限代码系统的无限点算技术将图表71的DC1的两个相邻单元编码成编码的DC的一个单元,其中DC1的两个相邻单元DR1和DR2中没有代码值为10的代码
DCI
00;在DR1和DR2中没有值为10的代码
00 0 0;在DR1和DR2中也没有代码值为00/01的代码
00 0 10;DR1和DR2中没有值为10的代码,DR1中没有代码值为00/01的代码,但DR2中有1个代码值为00或01的代码
;所以对这样的代码应该有使用尾部位的位图;
00 0 10 0;这样的代码具有代码值00
00 0 10 1;这样的代码具有代码值01
00 0 110;DR1和DR2中没有值为10的代码,DR1中没有代码值为00/01的代码,但DR2中有2个代码值为00或01的代码
;所以对这两个代码应该有使用尾部位的位图
00 0 110 00;这两个代码具有代码值00
00 0 110 01;这两个代码具有代码值依次为00和01
00 0 110 10;这两个代码具有代码值依次为01和00
00 0 110 11;这两个代码值具有代码值01
等等;等等
00 10 0;DR1和DR2中没有值为10的代码,DR2中没有代码值为00/01的代码,但DR1中有1个代码值为00或01的代码
;所以对于这两个代码应该有使用尾部位的位图;
00 10 0 0;这两个代码具有代码值00
00 10 0 1;这两个代码具有代码值01
00 110 0;DR1和DR2中没有值为10的代码,DR2中没有代码值为00/01的代码,但DR1中有2个代码值为00或01的代码
;所以对于这两个代码应该有使用尾部位的位图
00 110 0 00;这两个代码具有代码值00
00 110 0 01;这两个代码具有次序为00和01的代码值
00 110 0 10;这两个代码具有次序为01和00的代码值
00 110 0 11;这两个代码具有代码值01
等等;等等
;上述代码表明,代码值10的点算编码和点算分布以及00/01的代码值分别由陈氏框架下设计的尾0无限代码系统表示,及后面是代码值为00/01的代码的尾部位表示;使用该编码方案,没有代码值为10的代码的DC1的两个相邻单元被编码成具有与DC1的原始两个相邻单元相同的位用量的编码的DC1的一个单元。
图表77b使用黑洞技术以及使用陈氏框架设计的尾0无限代码系统的无限点算技术将图表71的DC1的两个相邻单元编码成编码的DC1的一个单元,其中在DC1的两个相邻单元的DR1和DR2中的任一个或两个中存在1个或更多个代码值为10的代码
DCI
01;在DR1和DR2中总共有1个代码值为10的代码
10;在DR1和DR2中总共有2个代码值为10的代码
110;在DR1和DR2中总共有3个代码值为10的代码
等等;等等
DCI
;其中{00/01...00/01}代表在处理中的原始系列数字位中找到或未找到的EDR1和EDR2中代码值为00/01的一系列代码
;到目前为止,CNC=01部分编码的位用量也与DC1的原始两个单元的位用量相同
Figure BDA0002327790730002422
Figure BDA0002327790730002431
;其中{00/01...00/01}代表在处理中的原始系列数字位中找到或未找到的EDR1和EDR2中代码值为00/01的一系列代码
;到目前为止,CNC=10部分编码的位用量有一些位节省,即CDC=(0,2)的编码的数字构造的三分之一比DC1的原始的两个单元的位用量少1位
Figure BDA0002327790730002432
Figure BDA0002327790730002441
Figure BDA0002327790730002451
;其中{00/01...00/01}代表在处理中的原始系列数字位中找到或未找到的EDR1和EDR2中代码值为00/01的一系列代码
;到目前为止,CNC=110部分编码的位用量也与DC1的原始两个单元的位用量相同
Figure BDA0002327790730002452
Figure BDA0002327790730002461
CNC CDC
11110 ....
等等 等等
;可以注意到,当CNC=1110之后,随着CDC的位用量变得超过2位,出现一些位浪费
以上很明显,由于CNC=10和CDC=(0,2)的三分之一的编码数字结构(使用少于两位的点算分布代码)而导致的位节省必须与由于那些编码的数字结构(其CDC位用量大于2位)而导致的位浪费相抵消。CDC位用量超过两位的编码数字构造来自于陈氏框架下的尾0代码系统层次结构中CNC=1110及以下的位置。
在跳转到抵消的结果之前,下面列出了迄今使用的点算技术的总结:
a.使用陈氏框架下的无限代码系统作为点算编号;
b.在适当情况下使用不同形式的无限代码系统,例如第[167]段中使用的金字塔头尾0无限代码系统;
DCI
0
10
110
等等
c.使用平头无限制代码系统[平头无限制代码系统,其特点是将上层二进制代码系统与下层金字塔头无限代码系统相结合,如下所示],如第[168]和[173]段使用的,如下:
DCI
00
01
10
110
1110
DCI
11
10
01
001
0001
d.在第[168]和[173]段中使用平头无限代码系统,用于满足对具有代码值00/01的代码进行点算的需要,代表着多于一个点算系统的合并;
因此,在适合设计目的情况下任何设计方案中使用的点算系统可以采用不同的形式。使用陈氏框架可以很容易地设计用于不同点算目的的代码系统,例如用于计数具有不同频率分布的数字数据集。
使用第[169]和[170]段中所描述的技术,能够使用与任何类型的数字数据的原始数字数据集(无论是否随机)相同的位用量进行用于加密和解密的目的的编码和解码。由于第[169]和[170]段中揭示的这种编码包括点算信息以及数字数据本身。因此,编码的代码中包含的信息内容显然比数字数据本身更多,即使它是一组随机的数字数据。因此,它充分证明了信息论中的鸽笼原理仅仅是一个迷信。
“地址不足”也用于解释信息理论中的鸽笼原理的“真实性”。这样的解释也是导致人们不去研究随机数据的特性的一个错误。实际上,在适当的情况和有机会的情况下,是可以创建地址的。
从图表77中所示的编码来看位节省和位浪费的抵消,可以看出,代码值为00/01的代码在编码之前或之后的位用量没有变化。有助于位节省的是对代码值为10和11的代码上使用数字黑洞,使它们变为1[0]和1[1],即10和11变为1和1,每个具有10或11的代码值的代码节省1位。导致位浪费是因为使用了以点算代码和点算分布代码的形式出现的数字点算信息。因此,如果数字点算信息(数字点算信息位用量,DCIBU)中使用的位数小于由数字黑洞(BSDB)引起的位节省:即对于两个相邻的数字构造单元,具有代码值为10的代码的点算数目加上2的位数目,则存在位节省;如果DCIBU等于BSDB,则位用量会持平;并且如果DCIBU超过BSDB,则存在位浪费。图表77中所示的编码的位节省和位浪费之间的平衡如下图表78所示:
图表78
图表77中编码的位节省和位浪费的平衡
Figure BDA0002327790730002491
用“不足地址”来解释信息论中的鸽笼原理的“真理”,也是一种迷信,因为地址是可以创造的。绝对地址分支技术可以再次用于这样的目的,因为从图表78中可以识别出CNC=10和CDC=0,有1位的位节省,可以利用这个地址来创建设置另一系列无限代码系统的地址,作点算用途,如下图表79所示:
图表79
创建地址用于另一个无限代码系统,以便使用图表78中的编码示例进行点算
Figure BDA0002327790730002512
;所以新形成的无限代码系统的第一个元素代码值为10010,然后是100110,1001110,依此类推
因此,这个无限代码系统从它的第一个元素10010开始,具有5比特位可用于对另一系列无限数目作出点算。参考图表78,因此可以在CNC=1110或CNC=11110的层面上开创2个无限数目点算系列的并行系统,如下图表80所示:
图表80a
从原始CNC=1110的层面开创并行无限点算系统使用两个无限代码系统对相同系列的无限数目进行点算
Figure BDA0002327790730002511
Figure BDA0002327790730002521
;在CNC=1110的层面上,另一个无限代码系统加入分担点算任务,并且CNC和CDC修改如下:
Figure BDA0002327790730002522
;所以CNC1和CDC1代表在CNC=1110的原来层面处进行点算的原来无限码系统,在DR1和DR2中有4个代码值为10的代码,原来CDC是代码为00,01,10,110和111的(0,4)、(1,3)、(2,2)、(3,1)和(4,0)的5个组合,
;原来的CNC和CDC可以相应修改为CNC1和CNC2以及CDC1和CDC2,如上所示;或者新创建的无限代码系统可以在原来的CNC=11110层面使用
图表80b
在原来的CNC=11110的层面开始使用两个无限代码系统对相同系列的无限数目进行点算的并行无限点算系统
Figure BDA0002327790730002531
Figure BDA0002327790730002541
;在CNC=11110的层面上,另一个无限代码系统加入分担点算任务,并且CNC和CDC修改如下:
Figure BDA0002327790730002542
;所以CNC1和CDC1代表在CNC=11110的原来层面处进行点算的原来无限码系统,在DR1和DR2中有5个代码值为10的代码,原来CDC是代码为00,01,100,101,110和111的(0,5)、(1,4)、(2,3)、(3,2)、(4,1)和(5,0)的6个组合,
;原来的CNC和CDC可以相应修改为CNC1和CNC2以及CDC1和CDC2,如上所示。
然而,即使在该层面上,存在具有1位的位节省的2个组合,这导致在原来CNC=1110的上一层面处具有位浪费的2个组合。因此,可以通过代码降级来纠正这种不良情况。如图表80c所示,图表80b可以修改如下:
图表80c
运用代码降级,从原来CNC=11110的层面处开始使用两个无限代码系统对相同系列的无限数目进行点算的并行无限点算系统
Figure BDA0002327790730002551
Figure BDA0002327790730002561
;在CNC=11110的层面上,另一个无限代码系统加入分担点算任务,并且CNC和CDC修改如下:
Figure BDA0002327790730002562
Figure BDA0002327790730002571
;因此,在CNC=111110的原来层面上,DR1和DR2中有6个代码值为10的代码,代码为00,010,011,100,101,110和111的(0,6)、(1,5)、(2,4)、(3,3)、(4,2)、(5,1)和(6,0)的7种组合的原来CDC相应变为CNC1和CNC2以及CDC1和CDC2,如上所示
如上图表80c所示的修改,显示在CNC=1110的原来层面上,不再存在位浪费,并且在CNC2+CDC2=100110 0的新层面上仍有一位位节省。如果必要或适当,这里可以创建另一个新地址,同样可以使第三个无限代码系统加入,以帮助更低层面的点算任务,例如,在DR1+DR2中存在8个代码值为10的层面及且在其下的那些层面。在DR1+DR2中有7个代码值为10的层面上,只有8种组合,并且抵消结果都是持平的。同样,这可以伴随在必要或适当的层面上使用代码降级技术。或者,可以尽早在图表80d中以原来CNC=110的层面上创建并行无限代码系统。用于设置第二无限代码系统的新地址可以占据CNC=01的位置,使用010作为第二个无限代码系统的第一个元素,用于CNC1=110层面级别。
图表80d
在原来CNC=10的层面处开始使用两个无限代码系统对相同系列的无限数目进行点算的并行无限点算系统
Figure BDA0002327790730002581
Figure BDA0002327790730002591
从上面的图表80可以看出,如果处理中的数字数据集需要,可以创建新的地址和新的无限代码系统,来帮助无限数目的点算。很明显,为此目的不缺少新地址。
在上面的示例中,用于点算相同系列数字数据的并行无限代码系统在第一级层面之后的某些层面级别中的某处开始,例如在图表80a中的原来CNC=1110的层面级别处。但是,根据处理中的数字数据集的频率分布的特性,可以考虑在适当的层面级别上开启它。其他可以采取的方法也如图表81所示:
图表81a
并行无限代码系统用于对代码值为10的代码在第一层面级别进行点算,其中代码值为10的代码点算数目等于1
DCI
00;在DR1和DR2中没有值为10/00/11的代码
010;在DR1和DR2中没有值为10的代码,但有值为00/01的代码
Figure BDA0002327790730002601
;原来的CDC代码必须在CDCI和CDC2之间共享,从DR1+DR2中有三个代码值为10的层面级别开始
;或者可以将并行无限代码系统制作成后续相继无限代码系统,用于对相同系列的无限数目进行点算
图表81b
后续相继无限代码系统用于对代码值为10的代码在第一层面级别上进行点算,其中代码值为10的代码点算数目等于1
DCI
00;在DR1和DR2中没有值为10/00/11的代码
010;在DR1和DR2中没有值为10的代码,但有值为00/01的代码
10;在DR1和DR2中有一个值为10的代码
110;在DR1+DR2中存在两个值为10的代码
1110;在DR1+DR2中存在三个值为10的代码
0110;在DR1+DR2中存在四个值为10的代码
11110;在DR1+DR2中存在五个值为10的代码
01110;在DR1+DR2中存在六个值为10的代码
等等;等等
上面的图表80和图表81中的编码技术演示了绝对地址分支技术以及使用新地址开放另一个无限代码系统以分担对相同系列无限数目的点算任务的技术。新地址也可以以另一种方式使用,如下图表82所示
图表82
创建用于代码升级的新地址
Figure BDA0002327790730002611
Figure BDA0002327790730002621
Figure BDA0002327790730002631
因此,这样创建的新地址可用于打开分担点算任务的另一个无限代码系统,使并行或后续相继点算系统具有两个无限代码系统(如果有更多地址可用,则为更多),对相同系列的无限数目进行点算或用于代码升级。因此,根据处理中的数字数据信息的频率分布的特性,可以选择如何使用新地址,从而可以比位浪费更多地节省比特位。考虑到这一点,即使有着相同的比特位大小,随机数据的频率分布也会变化,更不用说具有不同大小的随机数据。在本发明要求优先权的PCT申请PCT/IB2017/054500中,揭示了将随机数据组划分成较小部分以进行编码和解码以增加其非随机性的技术。并且还可以使用第[170]段中针对相同数字构造设计所揭示的不同映射情景,或者使用不同的数字构造设计来适应处理中的数字数据集的频率分布的特性。所揭示的这种编码技术是有用的并且适用于所有类型的数字数据,无论是否随机。
也可以实现相同的点算技术来对代码值为00/01的代码进行点算。例如,在DR1和DR2中没有值为10的代码的层面,可以在DR1+DR2中使用金字塔头无限代码系统或平头无限代码系统来对0头代码(即代码值为00/01的代码)的数目进行点算,如图表83a和图表83b所示:
图表83a
使用金字塔头无限代码系统(尾0)对DR1+DR2内的0头代码的数目进行点算
Figure BDA0002327790730002632
Figure BDA0002327790730002641
Figure BDA0002327790730002651
图表83b
使用平头无限代码系统(尾0)对DR1+DR2内的0头代码的数目进行点算
Figure BDA0002327790730002662
Figure BDA0002327790730002671
代码升级、代码降级技术,创建新地址,用于使用两个或更多的并行或后续相继代码系统进行点算的技术,如前面第[179]段至第[184]段中对代码值为10的代码的点算所述的,并如第[185]段所述,在适当的情况下根据处理中的数字数据集的特性,此等技术可以添加到编码框架中。
同样,第[185]和[186]段中披露的对0头代码进行点算的相同技术也可以应用于代码值为10的代码层面级别。在代码值为10的代码层面级别上,0头代码的代码段(包括没有0头代码或者有一个或多个0头代码)由代码1[0]或代码1[1]分隔,因此可以应用第[185]和[186]段中引入的技术,用于没有代码值为10的代码的层面级别,只要有两个这样的0头代码的代码段即可。如果存在奇数0头代码段,则可以使用金字塔头部无限代码系统对未成对的代码段进行点算。以这种方式,可以省略表示具有代码值10或11的代码的位1,并且在解码时,可以使用0头代码的数字点算信息来确定它们的位置。例如,如图表84所示,解释具有代码值为10的代码的那些层面级别的编码,其使用图表77b中所示的编码进行解释,如下所示:
图表84
使用从图表77b中提取的编码对代码值为00/01的代码的数目进行点算
DCI
Figure BDA0002327790730002691
;其中{00/01...00/01}代表在处理中的原始系列数字位中找到或未找到的EDR1和EDR2中的一系列代码值为00/01的代码
在DR1+DR2中有一个代码代码值为10的层面级别的上述编码中,每个点算分布组合有3个{00/01...00/01}代码段,例如对于010和011中的每一个。对于{00/01...00/01}的每2个代码段,对代码值为00/01的代码(正在处理的数字数据集中的从0到尽可能有的数目一样多的代码)数目进行点算,使用CNC为0头代码进行指示,并且之后还应添加CDC代表0头代码,以区分第一代码段中的代码数目和{00/01...00/01}代码段中的代码数目;以这种方式,{00/01...00/01}的这两个代码段之间的比特位1和第一个停止代码,另一个比特位1代表DDI,可以省略,因为可以使用0头代码的成对段CNC和用于0头代码的成对段CDC来确定。由于存在{00/01...00/01}的第三代码段,也可使用0头代码的另一个单段CNC对代码值为00/01的代码数目(正在处理的数字数据集中的从0到尽可能有的数目量一样多的代码)进行点算。对于{00/01...00/01}这样单一的非成对的代码段,没有必要使用CDC。代表DD2的最后一个比特位1也可以使用单段CNC来确定,并在编码中省略。并且{00/01...00/01}的每个代码段内的代码的尾位被列为0头代码的尾部比特位图代码,对应于每个点算了的0头代码并出现在成对段CNC和单段CNC中,用于识别这样的0头代码为00/01。因此,对图表84中所设计的数字构造的两个相邻单元进行编码而产生的编码数字构造变成一系列比特位,正如在CNC涉及代码10、CDC涉及代码值10、成对段CNC涉及0头代码、成对段CDC涉及0头代码、单段CNC涉及0头代码和用于0头代码的尾部比特位图代码所记录的一样。
成对段CNC和单段CNC各自使用无限代码系统来对在{00/01...00/01}的成对段和单段内具有代码值00/01的相应代码数目进行点算。
Figure BDA0002327790730002711
;其中{00/01...00/01}代表如在处理中的原始系列数字比特位中找到或未找到EDR1和EDR2中代码值为00/01的一系列代码,
在CNC=10涉及代码10时,DR1+DR2中有2个代码值为10的代码,因此有{00/01...00/01}的四个代码段;因此,使用2个用于0头代码的成对的CNC和CDC加上用于0头代码的尾部比特位图代码。
Figure BDA0002327790730002721
Figure BDA0002327790730002731
;其中{00/01...00/01}代表在处理中的原始系列数字比特位中找到或未找到的EDR1和EDR2中代码值为00/01的一系列代码
在代码10的CNC=110时,在DR1+DR2中有3个代码值为10的代码,因此有{00/01...00/01}的五个代码段;因此,使用2个成对段CNC和CDC涉及0头代码,加上1个单段CNC,加上用于0头代码的尾部比特位图代码。对于在DR1+DR2中具有更多代码10的代码的层面级别,可以模仿上述编码来进行编码。
并且如前所述,在前面的段落中针对对代码10的数目和0头代码的数目进行点算,揭示了包括代码提升、代码降级、创建新地址,以及设置新的并行和/或后续相继无限代码系统用于点算的相同的其他技术,其也可以在这里用于对具有代码10的代码的层面级别的0头代码的数目进行点算。
数字点算信息的使用,包括点算数目信息及其相关联的点算数目代码以及点算分布信息及其相关联的点算分布代码,提供了一种非常灵活的数字结构,其可以根据正在处理的数字数据集的特性(尤其是具有不同代码值的代码的频率分布)轻松调整。例如,在上述示例中,可以根据这些代码在不同层面级别的频率分布来调整具有代码值的代码的数字点算信息的CNC和CDC。在下面的图表85中,在适合于处理中的数字数据集的频率分布的情况下,可以很容易地实现DCI的不同分配:
图表85
根据处理中的数字数据集的频率分布分配DCI代码
Figure BDA0002327790730002741
在图表85中,点算数目代码CNC1和CNC2有两种不同的分配,它们适用于处理中的两种不同频率分布的数字数据集。对于随机数据集,在前述示例中使用来自00/01/10/11的二进制代码表的4个代码值,发现CNC1更合适,因为对于所有这样的4个代码值,随机数据集往往在频率分布中是均匀的。然而,对于具有0头代码值更高频率的代码的非随机数据集来说,发现CNC2更适合用于进行数据压缩的目的。CNC1为DR中的没有代码值为10的代码的层面级别分配两个数字00;所有其他代码(如果有的话)在DR中的代码值为00/01。在CNC2中,位00的分配减少到位0,从而将每个数字构造代码的比特位使用量减少1比特位。这显示了如何尝试代码分配以根据处理中的数字数据集的频率分布来调整比特位使用量。也可以进行其他代码调整;例如,如果发现除了在DR中有更多的代码具有00/01的值,DR中还有2个值为10的代码的数字构造比在DR中具有1个值10的代码的那些数字构造更频繁,则在对没有值为10的代码的第一层面级别分配位00调整为分配位0之后,可以将CNC2=10与CNC2=110交换,将CNC2=10分配给DR中有2个代码值为10的代码的层面级别,将CNC2=110分配给DR中只有1个代码值为10的代码的层面级别。
如第[181]和[183]段所述,更改代码升级和代码降级的CNC和CDC的分配是另一种调整代码分配的形式,以响应二进制系统的使用限制和节省比特位使用量的需求。
图表86是Google语言go文件的文本列表,用于演示如何使用数码透视法技术来读取或采样,以一系列数字位0和位1的形式,包含在计算机文件中的二进制系统中表示的数字数据,用于生成处理中的数字数据信息的频率统计,以便根据读取或采样的相应数字数据来设计适当的编码数字构造:
图表86
使用数码透视法的Goog l e语言go文件的程序代码列表,用于生成读取的数字数据的频率统计
Figure BDA0002327790730002761
Figure BDA0002327790730002771
Figure BDA0002327790730002781
Figure BDA0002327790730002791
Figure BDA0002327790730002801
Figure BDA0002327790730002811
Figure BDA0002327790730002821
Figure BDA0002327790730002831
Figure BDA0002327790730002841
Figure BDA0002327790730002851
图表87是处理由80,000个随机二进制位组成的数字数据文件,通过由图表86中列出的go程序产生的频率统计结果的摘录:
图表87
使用数字透镜生成的随机数字数据的频率统计
文件1
映射1
结果1A:
lr lhead=0and 2r lhead=0:1262
lr lhead>0or 2r lhead>0:3773
lenl+len2=l:1241
lenl+len2=2:929
lenl+len2=3:639
lenl+len2=4:439
lenl+len2=5:224
lenl+len2=6:138
lenl+len2=7:73
lenl+len2=8:45
lenl+len2=9:24
lenl+len2=10:16
lenl+len2=ll:1
lenl+len2=12:3
lenl+len2=13:1
Result IB:lr lhead=0 and 2r lhead>=l
sum 1273
n=l:638
n=2:290
n=3:172
n=4:101
n=5:32
n=6:22
n=7:8
n=8:6
n=9:3
n=10:1
Result 1C:lr lhead>=l and2r lhead=0
sum 1217
n=l:603
n=2:309
n=3:148
n=4:88
n=5:30
n=6:28
n=7:7
n=8:1
n=9:1
n=10:2
Result ID:lr lhead=2r lhead
n=l:330
n=2:73
n=3:15
n=4:5
Result IE:lr lhead=n and 2r lhead>=n
n=l:660
n=l:330
n=2:166
n=3:85
n=4:36
n=5:20
n=6:14
n=7:8
n=8:0
n=9:1
n=2:155
n=2:73
n=3:38
n=4:22
n=5:13
n=6:5
n=7:4
n=3:35
n=3:15
n=4:8
n=5:7
n=6:3
n=7:2
n=4:7
n=4:5
n=5:1
n=6:1
Result IF:lr lhead>=n and 2r lhead=n
n=l:662
n=l:330
n=2:153
n=3:92
n=4:48
n=5:18
n=6:11
n=7:2
n=8:4
n=9:3
n=10:0
n=ll:0
n=12:1
n=2:145
n=2:73
n=3:40
n=4:13
n=5:5
n=6:7
n=7:4
n=8:3
n=3:29
n=3:15
n=4:7
n=5:4
n=6:1
n=7:2
n=4:12
n=4:5
n=5:3
n=6:1
n=7:1
n=8:2
n=5:1
n=5:0
n=6:0
n=7:1
Result 2A:
lr Ohead=0 and 2r Ohead=0:327
lr Ohead>0 or 2r Ohead>0:935
lenl+len2=l:291
lenl+len2=2:265
lenl+len2=3:154
lenl+len2=4:93
lenl+len2=5:51
lenl+len2=6:40
lenl+len2=7:18
lenl+len2=8:9
lenl+len2=9:7
lenl+len2=10:5
lenl+len2=ll:1
lenl+len2=12:0
lenl+len2=13:1
lenl=0,len2>=l:326
len2=l:141
len2=2:98
len2=3:46
len2=4:19
len2=5:10
len2=6:6
len2=7:3
len2=8:1
len2=9:2
lenl>=l,len2=0:299
lenl=l:150
lenl=2:77
lenl=3:41
lenl=4:13
lenl=5:6
lenl=6:6
lenl=7:4
lenl=8:0
lenl=9:1
lenl=10:1
lenl>=l,len2>=l 310
lenl=l,len2>=l:170
len2=l:90
len2=2:39
len2=3:18
len2=4:10
len2=5:9
len2=6:1
len2=7:0
len2=8:1
len2=9:1
len2=10:0
len2=ll:0
len2=12:1
lenl>=l,len2=l 160
lenl=l:90
lenl=2:28
lenl=3:19
lenl=4:13
lenl=5:8
lenl=6:1
lenl=7:0
lenl=8:0
lenl=9:0
lenl=10:1
Result 2B:lr Ohead=0 and 2r Ohead>=l
sum 326
n=l:141
n=2:98
n=3:46
n=4:19
n=5:10
n=6:6
n=7:3
n=8:1
n=9:2
Result 2C:lr Ohead>=l and 2r Ohead=0
sum 299
n=l:150
n=2:77
n=3:41
n=4:13
n=5:6
n=6:6
n=7:4
n=8:0
n=9:1
n=10:1
Result 2D:lr Ohead=2r Ohead
n=l:90
n=2:24
n=3:4
n=4:1
Result 2E:lr Ohead=n and 2r Ohead>=n
n=l:170
n=1:90
n=2:39
n=3:18
n=4:10
n=5:9
n=6:1
n=7:0
n=8:1
n=9:1
n=10:0
n=11:0
n=12:1
n=2:44
n=2:24
n=3:7
n=4:3
n=5:4
n=6:4
n=7:1
n=8:1
n=3:7
n=3:4
n=4:2
n=5:1
n=4:2
n=4:1
n=5:1
Result 2F:lr Ohead>=n and 2r Ohead=n
n=l:160
n=l:90
n=2:28
n=3:19
n=4:13
n=5:8
n=6:1
n=7:0
n=8:0
n=9:0
n=10:1
n=2:36
n=2:24
n=3:5
n=4:4
n=5:3
n=3:8
n=3:4
n=4:0
n=5:2
n=6:1
n=7:1
n=4:2
n=4:1
n=5:0
n=6:1
mapping2
Result 1 A:
lr lhead=0 and 2r lhead=0:1195
lr lhead>0 or 2r lhead>0:3780
lenl+len2=l:1302
lenl+len2=2:916
lenl+len2=3:586
lenl+len2=4:404
lenl+len2=5:248
lenl+len2=6:156
lenl+len2=7:85
lenl+len2=8:44
lenl+len2=9:16
lenl+len2=10:12
lenl+len2=ll:4
lenl+len2=12:4
lenl+len2=13:2
lenl+len2=14:1
Result IB:lr lhead=0 and 2r lhead>=l
sum 1208
n=l:587
n=2:287
n=3:163
n=4:84
n=5:46
n=6:22
n=7:11
n=8:6
n=9:2
Result 1C:lrlhead>=l and2r lhead=0
sum 1306
n=l:715
n=2:310
n=3:128
n=4:79
n=5:37
n=6:14
n=7:13
n=8:5
n=9:2
n=10:1
n=ll:1
n=12:0
n=13:1
Result ID:lr lhead=2r lhead
n=l:319
n=2:82
n=3:20
n=4:5
n=5:1
n=6:2
Result IE:lr lhead=n and 2r lhead>=n
n=l:611
n=l:319
n=2:140
n=3:72
n=4:40
n=5:20
n=6:13
n=7:4
n=8:2
n=9:1
n=2:170
n=2:82
n=3:46
n=4:24
n=5:12
n=6:4
n=7:0
n=8:0
n=9:1
n=10:0
n=ll:0
n=12:1
n=3:35
n=3:20
n=4:6
n=5:3
n=6:2
n=7:3
n=8:0
n=9:1
n=4:9
n=4:5
n=5:1
n=6:1
n=7:1
n=8:1
n=5:1
n=5:1
n=6:2
n=6:2
Result IF:lr lhead>=n and 2r lhead=n
n=l:658
n=l:319
n=2:155
n=3:87
n=4:43
n=5:30
n=6:15
n=7:6
n=8:2
n=9:0
n=10:0
n=ll:0
n=12:1
n=2:161
n=2:82
n=3:36
n=4:26
n=5:10
n=6:4
n=7:1
n=8:1
n=9:1
n=3:35
n=3:20
n=4:5
n=5:7
n=6:2
n=7:1
n=4:10
n=4:5
n=5:2
n=6:3
n=5:1
n=5:1
n=6:2
n=6:2
Result 2A:
lr Ohead=0 and 2r Ohead=0:307
lr Ohead>0 or 2r Ohead>0:888
lenl+len2=l:274
lenl+len2=2:212
lenl+len2=3:155
lenl+len2=4:111
lenl+len2=5:49
lenl+len2=6:34
lenl+len2=7:28
lenl+len2=8:13
lenl+len2=9:7
lenl+len2=10:2
lenl+len2=ll:2
lenl+len2=12:0
lenl+len2=13:0
lenl+len2=14:0
lenl+len2=15:0
lenl+len2=16:1
lenl=0,len2>=l:286
len2=l:150
len2=2:70
len2=3:30
len2=4:17
len2=5:6
len2=6:8
len2=7:4
len2=8:1
lenl>=l,len2=0:279
lenl=l:124
lenl=2:67
lenl=3:39
lenl=4:28
lenl=5:7
lenl=6:5
lenl=7:5
lenl=8:3
lenl=9:0
lenl=10:0
lenl=ll:1
lenl>=l,len2>=l 323
lenl=l,len2>=l:159
len2=l:75
len2=2:44
len2=3:19
len2=4:11
len2=5:4
len2=6:3
len2=7:0
len2=8:3
lenl>=l,len2=l 155
lenl=1:75
lenl=2:42
lenl=3:19
lenl=4:9
lenl=5:3
lenl=6:3
lenl=7:4
Result 2B:lr Ohead=0 and 2r Ohead>=l
sum 286
n=l:150
n=2:70
n=3:30
n=4:17
n=5:6
n=6:8
n=7:4
n=8:1
Result 2C:lr Ohead>=l and 2r Ohead=0
sum 279
n=l:124
n=2:67
n=3:39
n=4:28
n=5:7
n=6:5
n=7:5
n=8:3
n=9:0
n=10:0
n=ll:1
Result 2D:lr Ohead=2r Ohead
n=l:75
n=2:28
n=3:2
n=4:2
Result 2E:lr Ohead=n and 2r Ohead>=n
n=l:159
n=l:75
n=2:44
n=3:19
n=4:11
n=5:4
n=6:3
n=7:0
n=8:3
n=2:46
n=2:28
n=3:8
n=4:6
n=5:3
n=6:1
n=3:7
n=3:2
n=4:3
n=5:1
n=6:1
n=4:3
n=4:2
n=5:1
n=5:1
n=5:0
n=6:1
Result 2F:lr Ohead>=n and 2r Ohead=n
n=l:155
n=l:75
n=2:42
n=3:19
n=4:9
n=5:3
n=6:3
n=7:4
n=2:47
n=2:28
n=3:8
n=4:6
n=5:4
n=6:0
n=7:0
n=8:1
n=3:7
n=3:2
n=4:3
n=5:1
n=6:1
n=4:5
n=4:2
n=5:1
n=6:1
n=7:0
n=8:0
n=9:0
n=10:0
n=ll:0
n=12:1
图表87中列出的映射1的频率统计是通过使用两个DC单元作为处理单元的映射情景1(如图表63的DC设计的情景1中所列)读取由80,000个二进制比特位组成的随机数字数据文件而生成的;而映射2列出了使用两个DC设计单元(如图表64的DC设计的情景1中所示,随后是图表63的DC设计的情景1中所列)作为处理单元用相同的方式从相同的随机数字数据文件产生的频率统计。通过使用通用计算机中的通用操作系统的随机数据生成功能,生成本发明中一直使用的随机数据。
上面图表87中的频率统计列表表明,由随机数字二进制位组成的相同数字数据文件使用不同映射情景的数字构造设计,展示出不同的频率统计模式。也可以以相同的方式,使用二进制位的不同非随机数字数据,产生出这种不同的频率模式。因此,可以在设计不同映射情景的不同数字构造时,进行调整,以便通过使用如本发明所揭示的数码透视法来适当地应用于正在处理的数字数据。
从第[158]至[193]段而言,已表明:
(1)数码透视法可用于设计数字构造,用于组织由位0和位1的二进制位组成的数字二进制数据,并从正在处理中的二进制数据文件中读取和生成频率统计信息,无论是否随机;
(2)编码数字构造可以使用数码透视法设计和创建,用于保存对经读取的原始数字数据进行编码的结果;并且这种编码数字构造的解码可以正确且无损地恢复原始数字数据,而不管数字数据是随机的还是非随机的;
(3)使用数码透视法和其他技术,如数字黑洞技术、点算技术、新地址的绝对地址分支技术、代码升级技术、代码降级技术,使用数码透视法进行处理,可以创建编码数字构成来容纳经其所形成的相应数字构造所读取的数字二进制数据(无论是否随机),其所用比特位用量与所读取的原始数据一样。
(4)编码的数字构造中包含的数字信息包括在处理中的数字二进制数据文件中找到的原始数字信息,以及使用上述(3)中提到的其他技术生成的附加信息,证明信息理论中的鸽笼原理仅仅是一个迷信,因为编码数字构造使用与采用数码透视法从处理中的原始数字数据中创建出来的数字构造相同的位用量;并且因为不缺少地址,所以可以使用绝对地址分支技术创建新地址,以便在代码升级中使用,或者使用新的无限制代码系统进行点算;以及
(5)作为编码方案,包括使用不同的数字构造设计,可调整的数字点算信息,如可调整的点算数目代码和点算分布代码的分配,使用代码降级,使用地址进行代码升级或为了创建新地址用于设置新的无限代码系统以用于点算的编码方案,在本发明中都揭示出其为可调整的方法,它开辟了使用较少比特位用量,用于正确地和无损地编码和解码数字数据的可能性,无论数字数据是否随机;这是因为随机数据可以被分成用于编码和解码的非随机数据的较小代码段,并且使用在不同数码透视法下设计的不同数字构造进行组织时,随机数据本身表现出不同的频率统计,从而可以开发出适当的编码方案,以利用,从处理中的随机数字数据获得的,频率模式,以便用于无损压缩和解压缩的编码和解码的目的。
因此,通过使用如上文第[194]段中所述的这种可调整编码方案的方法,使得任何数字二进制数据(包括随机和非随机数据)的正确和无损压缩和解压缩成为可能。至此所揭示的这种可调整的编码方案已经使用如第[163]段中的图表71中所示的4个代码值的二进制系统代码表来说明,其在下面的图表88a中重新产生:
图表88a
使用4个代码值的二进制系统代码表的数字构造
Figure BDA0002327790730003121
在图表88a中,数字构造使用8个比特位来使用二进制位存储原始数据。原始的8个二进制位在宽尺度上使用了6个比特位的编码代码值,并被存储到编码数字构造中,留下2位用于存储其他附加信息,例如点算数目代码和点算分布代码。使用4个代码值的陈氏代码系统的数字构造的示例在图表88b中示出如下:
图表88b
使用4个代码值的陈氏代码表的数字构造
Figure BDA0002327790730003131
从上面可以看出,在该示例中,原始4个代码值的代码使用9个二进制位,并且4个对应的编码代码值的代码使用6个二进制位。因此,与图表88a中的二进制系统代码表相比,使用陈氏代码表在图表88b中使用的6个比特位的相同编码代码值代表了9个原始二进制位,而不是如在图表88a中在宽尺度上所代表的8个二进制位。因此,这表示有大约1个更多的比特位,可用于存储另加的分类数据。如果所需要另加的分类数据使用少于这一个更多的比特位,则随机数据的无损压缩和解压缩的可能性大大增加。图表88a中的这样的数字构造的两个单元,每个单元有8个二进制位的随机数据,每个都需要2个比特位,用于这种另加的分类信息,以进行正确的编码和解码。作为比较,使用相同的逻辑,图表88b中的2个数字构造单元,每个是9个二进制位的随机数据,每个都需要在宽尺度上的2*9/8=2.25位,因此使用图表88b中的陈氏代码表的数字构造单元来读取二进制数据,可以实现0.75位的比特位的节省。因此,如果实现上面揭示的方法和技术,则无损压缩和解压缩的编码和解码被证明了是可能的。
使用3值代码表的情况,其示例如下所示:
图表88c
使用3个代码值的陈氏代码表的数字构造
Figure BDA0002327790730003132
在图表88c的情况下,原始3个代码值的代码使用5个二进制位,并且3个相应的编码代码值的代码使用3个二进制位。显然,比特位用量比使用二进制系统的4值代码表要好。
还可以尝试使用如段落[152]的图表68中所示的,用于表示无限代码值的无限代码系统,而不是将代码值的使用限制为4或3。
也可以尝试使用3个或更多单元的数字构造作为处理单元来处理二进制位的数字数据并在适当的情况下调整编码数字构造中的数字点算信息。
实质上,本发明的实施例子的特征在于:
(1)一种把以二进制位表示的数字信息进行组织或建立秩序的方法,其特征在于使用数码透视法;
(2)数码透视法,一种把以二进制位表示的数字信息进行组织或建立秩序的方法,其特征在于设计和创建数字构造,其中二进制位中的不同代码值的代码被放置在数字构造的不同部分中,包括至少一个数字水库和一个数字水坝;
(3)数字构造,其特征在于:是通过使用数码透视法创建的,即用于把以二进制位表示的数字信息进行组织或建立秩序的数字结构;至少由一个数字水库和一个数字水坝组成的数字结构;并且该数字结构保存着在处理中的数字信息中的原始二进制比特位,以未经编码的数字构造形式出现;
(4)数字构造,其特征在于:是通过使用数码透视法创建的数字结构,用于把以二进制位表示的数字信息进行组织或建立秩序;并且该数字结构保存着在处理中的数字信息中的已经编码的二进制比特位代码,以已经编码的数字构造形式出现,加上,在适当的情况底下,以二进制比特位为代表的另加的数字信息,用于对整个已经编码的数字构造进行解码,并将其恢复到各自相应的未编码的数字构造
(5)数字水库,其特征在于,是一个数字结构,用以保持数字代码,以二进制比特位为代表,具有一个或多个,根据所使用的数码透视法设计而选定的代码值;并且进一步的特征在于是一种可变数字结构,在该可变数字结构中保持着具有在设计中所选定的代码值的数字代码,其数目变化可从零到无限,只要在处理中的数字信息输入中存在着以二进制位为代表的这种数字代码;
(6)数字水坝,其特征在于,是一个数字结构,用以于保持数字代码,以二进制比特位为代表,具有一个或多个,根据所使用的数码透视法设计而选定的代码值;并且进一步的特征在于是一种固定的数字结构,在该固定的数字结构中保持着具有在设计中所选定的代码值的数字代码,其数目变化可从零到无限,只要在处理中的数字信息输入中存在着以二进制位为代表的这种数字代码;
(7)使用数码透视法设计的处理单元,其特征在于由一个或多个数字构造组成;
(8)数字代码,其特征在于,是以二进制比特位为代表的代码,并且代表着存储在被设备可读的任何存储介质中的一个或多个数字构造单元,所述设备包括计算机系统或计算机控制的设备或能够运行可执行代码或使用数字数据的操作系统控制的设备或系统;
(9)数字代码,其特征在于,是以二进制比特位为代表的代码,并且代表着存储在被设备可读的任何存储介质中的数字水库的一个或多个单元,所述设备包括计算机系统或计算机控制的设备或能够运行可执行代码或使用数字数据的操作系统控制的设备或系统;
(10)数字代码,其特征在于,是以二进制比特位为代表的代码,并且代表着存储在被设备可读的任何存储介质中的数字水坝的一个或多个单元,所述设备包括计算机系统或计算机控制的设备或能够运行可执行代码或使用数字数据的操作系统控制的设备或系统;
(11)金字塔头无限代码系统,其特征在于是无限数量的数字代码,每个代码以二进制比特位位0结束;
(12)金字塔头无限代码系统,其特征在于是无限数量的数字代码,每个代码由二进制比特位位1结束;
(13)平头无限代码系统,其特征在于是把代码系统的较高级别的二进制代码系统和代码系统较低级别的金字塔头无限代码系统结合在一起的组合系统;
(14)点算技术,其特点是使用金字塔头无限码系统对一系列无限数目进行点算;
(15)点算技术,其特征是使用平头无限代码系统对一系列无限数目进行点算;
(16)点算技术,其特征在于使用多点算系统,即由并行点算系统形式形成的多于一个的点算系统,用于对一系列无限数目进行点算;
(17)点算技术,其特征在于使用多点算系统,即由连续相继点算系统形式形成的多于一个的点算系统,用于对一系列无限数目进行点算;
(18)点算技术,其特征在于使用多点算系统,即由并行点算系统和后续相继点算系统形式形成的多于一个的点算系统,用于对一系列无限数目进行点算;
(19)编码和解码方法,其特征在于使用数码透视法和使用数字黑洞技术;
(20)编码和解码方法,其特征在于使用数码透视法和使用一个或多个无限点算系统;
(21)编码和解码方法,其特征在于使用数码透视法和使用绝对地址分支技术来创建新的地址以供使用,包括其用于创建新的点算系统或其用于代码升级或其用于代码降级;
(22)编码和解码方法,其特征在于使用数码透视法和使用代码升级;
(23)编码和解码方法,其特征在于使用数码透视法和使用代码降级;
(24)编码和解码方法,其特征在于使用数码透视法、使用数字黑洞技术和使用一个或多个无限点算系统;
(25)编码和解码方法,其特征在于使用数码透视法,使用代码升级和使用代码降级;以及
(26)编码和解码方法,其特征在于使用数码透视法。
工业实用性
有许多工业应用可以使用陈氏框架和陈氏译码,包括上面揭示的有利地结合使用的数码透视法以及相关联设计、方案和技术,包括处理数字信息的所有计算机应用,包括所有类型的数字数据,无论是否是随机分布,特别是被设计成或具有用于编码和解码的过程的应用,用于进行数据加密、数据解密、数据压缩和数据解压缩。
可使用任何适当配置的计算机硬件和/或软件来将本文描述的实施方案实现到系统中。例如,某些实施方案可使用计算机语言和编译器实现到系统中以用于形成可执行代码和操作系统以及应用程序;无论是联网的还是独立的任何设备的硬件,包括能够运行可执行代码的计算机系统或计算机控制的设备或操作系统控制的设备或系统;以及有助于执行本文所述方法的步骤的计算机可执行或操作系统可执行指令或程序。结合上述技术特征的使用,本文公开的实施例子使得使用陈氏译码实现陈氏框架,包括用于处理数字信息的数码透视法,无论是否随机,通过无损和正确地编码和解码相关的数字数据,包括数字数据和数字可执行代码,用于加密/解密或压缩/解压缩或两者的目的。

Claims (26)

1.一种把以二进制位表示的数字信息进行组织或建立秩序的方法,其特征在于使用数码透视法。
2.数码透视法,一种把以二进制位表示的数字信息进行组织或建立秩序的方法,其特征在于设计和创建数字构造,其中二进制位中的不同代码值的代码被放置在数字构造的不同部分中,包括至少一个数字水库和一个数字水坝。
3.数字构造,其特征在于:是通过使用数码透视法创建的,即用于把以二进制位表示的数字信息进行组织或建立秩序的数字结构;至少由一个数字水库和一个数字水坝组成的数字结构;并且该数字结构保存着在处理中的数字信息中的原始二进制比特位,以未经编码的数字构造形式出现。
4.数字构造,其特征在于:是通过使用数码透视法创建的数字结构,用于把以二进制位表示的数字信息进行组织或建立秩序;并且该数字结构保存着在处理中的数字信息中的已经编码的二进制比特位代码,以已经编码的数字构造形式出现,加上,在适当的情况底下,以二进制比特位为代表的另加的数字信息,用于对整个已经编码的数字构造进行解码,并将其恢复到各自相应的未编码的数字构造。
5.数字水库,其特征在于,是一个数字结构,用以保持数字代码,以二进制比特位为代表,具有一个或多个,根据所使用的数码透视法设计而选定的代码值;并且进一步的特征在于是一种可变数字结构,在该可变数字结构中保持着具有在设计中所选定的代码值的数字代码,其数目变化可从零到无限,只要在处理中的数字信息输入中存在着以二进制位为代表的这种数字代码。
6.数字水坝,其特征在于,是一个数字结构,用以于保持数字代码,以二进制比特位为代表,具有一个或多个,根据所使用的数码透视法设计而选定的代码值;并且进一步的特征在于是一种固定的数字结构,在该固定的数字结构中保持着具有在设计中所选定的代码值的数字代码,其数目变化可从零到无限,只要在处理中的数字信息输入中存在着以二进制位为代表的这种数字代码。
7.使用数码透视法设计的处理单元,其特征在于由一个或多个数字构造组成。
8.数字代码,其特征在于,是以二进制比特位为代表的代码,并且代表着存储在被设备可读的任何存储介质中的一个或多个数字构造单元,所述设备包括计算机系统或计算机控制的设备或能够运行可执行代码或使用数字数据的操作系统控制的设备或系统。
9.数字代码,其特征在于,是以二进制比特位为代表的代码,并且代表着存储在被设备可读的任何存储介质中的数字水库的一个或多个单元,所述设备包括计算机系统或计算机控制的设备或能够运行可执行代码或使用数字数据的操作系统控制的设备或系统。
10.数字代码,其特征在于,是以二进制比特位为代表的代码,并且代表着存储在被设备可读的任何存储介质中的数字水坝的一个或多个单元,所述设备包括计算机系统或计算机控制的设备或能够运行可执行代码或使用数字数据的操作系统控制的设备或系统。
11.金字塔头无限代码系统,其特征在于是无限数量的数字代码,每个代码以二进制比特位位0结束。
12.金字塔头无限代码系统,其特征在于是无限数量的数字代码,每个代码由二进制比特位位1结束。
13.平头无限代码系统,其特征在于是把代码系统的较高级别的二进制代码系统和代码系统较低级别的金字塔头无限代码系统结合在一起的组合系统。
14.点算技术,其特点是使用金字塔头无限码系统对一系列无限数目进行点算。
15.点算技术,其特征是使用平头无限代码系统对一系列无限数目进行点算。
16.点算技术,其特征在于使用多点算系统,即由并行点算系统形式形成的多于一个的点算系统,用于对一系列无限数目进行点算。
17.点算技术,其特征在于使用多点算系统,即由连续相继点算系统形式形成的多于一个的点算系统,用于对一系列无限数目进行点算。
18.点算技术,其特征在于使用多点算系统,即由并行点算系统和后续相继点算系统形式形成的多于一个的点算系统,用于对一系列无限数目进行点算。
19.编码和解码方法,其特征在于使用数码透视法和使用数字黑洞技术。
20.编码和解码方法,其特征在于使用数码透视法和使用一个或多个无限点算系统。
21.编码和解码方法,其特征在于使用数码透视法和使用绝对地址分支技术来创建新的地址以供使用,包括其用于创建新的点算系统或其用于代码升级或其用于代码降级。
22.编码和解码方法,其特征在于使用数码透视法和使用代码升级。
23.编码和解码方法,其特征在于使用数码透视法和使用代码降级。
24.编码和解码方法,其特征在于使用数码透视法、使用数字黑洞技术和使用一个或多个无限点算系统。
25.编码和解码方法,其特征在于使用数码透视法,使用代码升级和使用代码降级。
26.编码和解码方法,其特征在于使用数码透视法。
CN201880041407.5A 2016-07-29 2018-07-24 数码透视法 Pending CN110771161A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
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
PCT/IB2017/053993 WO2018020342A1 (en) 2016-07-29 2017-07-01 Chan framework, chan coding and chan code
PCT/IB2017/054500 WO2018020414A1 (en) 2016-07-29 2017-07-25 Chan framework, chan coding and chan code
IBPCT/IB2017/054500 2017-07-25
PCT/IB2018/055479 WO2019021160A1 (en) 2016-07-29 2018-07-24 DIGITAL LENS

Publications (1)

Publication Number Publication Date
CN110771161A true CN110771161A (zh) 2020-02-07

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 Before (1)

Application Number Title Priority Date Filing Date
CN201780040973.XA Pending CN109416655A (zh) 2016-07-29 2017-07-25 陈氏框架、陈氏译码和陈氏代码

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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723059A (zh) * 2020-05-25 2020-09-29 深圳市科楠科技开发有限公司 一种数据压缩方法、装置、终端设备及存储介质

Families Citing this family (5)

* 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
CN112559462B (zh) * 2020-12-14 2024-08-20 深圳供电局有限公司 一种数据压缩方法、装置、计算机设备和存储介质

Family Cites Families (37)

* 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编码器
ATE485672T1 (de) 2003-12-19 2010-11-15 Creative Tech Ltd Digitale standbildkamera mit audio-decodierung und -codierung, einem druckbaren audioformat und verfahren
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 メモリコントローラおよび半導体記憶装置
CN106162178B (zh) * 2010-04-13 2019-08-13 三星电子株式会社 执行去块滤波的对视频进行解码的设备
JPWO2012046435A1 (ja) * 2010-10-04 2014-02-24 パナソニック株式会社 画像処理装置、画像符号化方法および画像処理方法
US9348385B2 (en) * 2012-07-09 2016-05-24 L. Pierre deRochement Hybrid computing module
MX348561B (es) 2013-07-12 2017-06-20 Sony Corp Aparato y método para la codificación de imágenes.
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
US20170272466A1 (en) 2014-08-25 2017-09-21 Nec Corporation Security system, security method, and computer-readable medium
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显示模组
US10819997B2 (en) 2016-01-20 2020-10-27 Arris Enterprises Llc Encoding video data according to target decoding device decoding complexity
WO2018020299A1 (en) * 2016-07-29 2018-02-01 Chan Kam Fu Lossless compression and decompression methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723059A (zh) * 2020-05-25 2020-09-29 深圳市科楠科技开发有限公司 一种数据压缩方法、装置、终端设备及存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110771161A (zh) 数码透视法
US10644721B2 (en) Processing core data compression and storage system
JP5812188B2 (ja) プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体
Howard et al. Parallel lossless image compression using Huffman and arithmetic coding
CN104756156A (zh) 表征计算机动画毛发的压缩数据
US9137336B1 (en) Data compression techniques
KR20210086233A (ko) 완화된 프루닝을 통한 행렬 데이터 처리 방법 및 그 장치
Hildebrandt et al. Metamodeling Lightweight Data Compression Algorithms and its Application Scenarios.
US12001237B2 (en) Pattern-based cache block compression
CN113659992B (zh) 数据压缩方法及装置、存储介质
CN113177638B (zh) 用于生成神经网络的二值化权重的处理器和方法
CN117953175B (zh) 一种虚拟世界数据模型的构建方法、系统、设备及介质
Sharma et al. Design and Data Compression Techniques to Reduced Time in Data Warehouse with Tested Algorithms
Xu et al. Fast Monotonicity Preserving Text Sorting On GPU
Al-Dmour et al. An Efficient Bit-Level Lossless Grayscale Image Compression Based on Adaptive Source Mapping.
Chen et al. Lossless Geometry Compression for Steady-State and Time-Varying Irregular Grids.
CN113222154A (zh) 一种量子态的振幅的确定方法及装置
CN113452377A (zh) 权值的压缩和解压缩
Huang et al. VQ Coding in Data Hiding Using Correlated Neighboring Blocks in Security Performance
Alipour et al. An Introduction and Evaluation of a Lossless Fuzzy Binary AND/OR Compressor

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200207

RJ01 Rejection of invention patent application after publication