一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种特定条件下超越熵极限的符号编码方法

2022-08-17 22:48:39 来源:中国专利 TAG:


1.本发明属于信息编码技术领域,涉及一种特定条件下超越熵极限的符号编码方法。


背景技术:

2.随着大数据时代的来临,我们需要处理的数据量呈现爆炸式的增长。这意味着数据需要更高效的表示方式,以达到更好的压缩效果。与之相关的信息编码技术是计算机,互联网,数据存储,通信等领域的基础,因此,研究新的信息编码技术,具有很重要的意义。
3.在信息论中,香农的信源编码定理(无噪声编码定理)确立了数据压缩的限度,以及香农熵的操作意义。信源编码定理表明(在数据长度趋向于无穷的极限情况下)不可能把数据压缩得码率(每个符号的平均比特)比信源的香农熵还小,否则信息将丢失。迄今为止,业界尚没有突破信源编码定理中香农熵下限的例子。


技术实现要素:

4.有鉴于此,本发明提出了空间覆盖码的概念及其编/解码算法的实施步骤,并展示了在四进制编码上,空间覆盖码突破香农信源编码下限的优良特性。
5.为达到上述目的,本发明提供如下技术方案:
6.一种特定条件下超越熵极限的符号编码方法,基于符号空间的全覆盖,对源数据按照全覆盖进行分块划分,再以分块为处理单元进行编码;
7.所述符号空间是指将源数据d中可能出现的全部符号构建出集合s,s即为符号空间;
8.所述基于符号空间的全覆盖是指:源数据d中存在一个数据块b,其内含有s中的全部符号,则称数据块b完成了对符号空间s的全覆盖;
9.所述对源数据按照全覆盖进行分块划分,具体包括:从源数据d的第1个符号开始,对源数据中的符号进行统计,直到首次出现对符号空间s的全覆盖为止,产生第一个数据块b1;继续对源数据中的剩余符号进行统计,直到第2次出现对符号空间s的全覆盖为止,产生第二个数据块b2,以此类推直到源数据统计完成,得到满足全覆盖的源数据分块。
10.进一步,所述以分块为处理单元进行编码具体包括:
11.以分块bi为处理单元进行编码,分块bi内最后1个符号满足唯一性,将其作为可推断的信息,其熵为0,不参与编码;对分块bi内的所有符号,按频次进行降序排序;若两个符号的频次相等,则数值大的符号优先排在前面。
12.进一步,以分块bi为处理单元进行编码时,引入符号向量,所述符号向量是维度为n的单位向量且不同的符号向量之间,两两正交,其中n为符号空间s的大小。
13.进一步,以分块bi为处理单元进行编码后,在编码结果中,每个符号的编码形式均为:最后一位为
‘1’
;前面有若干个
‘0’

14.进一步,以分块bi为处理单元进行编码后,引入块内终止标记,所述块内终止标记
为n个连续的
‘0’
,解码时若遇到块内终止标记,则不进行最后1个符号的补全。
15.进一步,所述以分块bi为处理单元进行编码具体包括:用维度为n的列向量来表示所有符号,单位矩阵in就是符号空间s的矩阵表示;依次取bi中各个符号的列向量来构成矩阵ln×m,矩阵ln×m是大小为n
×
m,m为bi的长度;
16.对矩阵ln×m进行处理,给矩阵ln×m标上行号,把1~m-2列加到第m-1列,再以第m-1列为权重进行按行排序,排序的规则为:权重优先,若权重相等,则行号大的优先;然后对第m-1列进行还原,即依次减去1~m-2列,得到矩阵l

,引入n个连续的
‘0’
作为块内终止标记;
17.对矩阵l

按以下步骤取编码:
18.从左到右,逐列逐列地取;
19.每一列:见
‘1’
即止,包含
‘1’

20.最后一列不取。
21.进一步,还包括解码规则:
22.按照频次降序,若频次相等,则数值大的符号在前,构造频次表;
23.编码结果中有几个
‘1’
,就有几个符号;
24.在
‘1’
之前的
‘0’
的个数,对应于频次表中第1个位置f[0]的偏移量;
[0025]
最后,根据符号补全规则来处理最后一个符号的补全问题;
[0026]
所述符号补全规则包括:
[0027]
出现块内终止标记,不补全最后一个符号;
[0028]
不满足全覆盖,不补全最后一个符号;
[0029]
其他情况,默认补全最后一个符号。
[0030]
本发明的有益效果在于:本发明在块长度小于23的条件下,码率突破了信源编码定理中香农熵下限,且没有丢失任何信息(无损编码)。因此,本发明在计算机,互联网,数据存储,通信等领域具有重要研究意义和理论价值。
[0031]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0032]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0033]
图1为在四进制编码上空间覆盖码与huffman编码的码率对比图;
[0034]
图2为在四进制编码上空间覆盖码与huffman编码的平均编码长度的对比图;
[0035]
图3为试验次数n=10000次时空间覆盖码在不同块长度下编码性能的分布图。
具体实施方式
[0036]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离
本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0037]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0038]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0039]
本发明提出了空间覆盖码的概念及其编/解码算法的实施步骤,并展示了在四进制编码上,空间覆盖码突破香农信源编码下限的优良特性。
[0040]
空间覆盖码是一种变长的分组码,它是基于符号的出现频次来对数据进行分组(块)的划分(数据分割),并根据块内的符号频次(概率)来进行编码的。对数据进行分组划分的依据是“符号空间的全覆盖”。首先,介绍一下“符号空间的全覆盖”的概念。
[0041]
符号空间s为数据序列d(源信息)中可能出现的全部符号的集合。设
[0042]
s={s1,s2,s3,

,sn}
[0043]
显然,s的大小为n。我们尝试在数据序列d中寻找到一个数据块b,实现对符号空间s的全覆盖:
[0044]
从b的第1个符号开始,统计其后出现的每一个符号的频次,直到s中的每一个符号,其在b中出现的频次均不为0为止。即满足:
[0045][0046]
此时,数据块b已经完成了对符号空间s的全覆盖,记b的长度为m(b中共有m个符号)。我们将会把全部的数据序列d分割为一个类似于数据块b这样的全覆盖分组,以全覆盖分组作为我们的处理对象,进行编码。
[0047]
为了更好地说明编码过程,在本实施例中,取四进制的数据序列d为例:
[0048]
设d=1 0 2 1 2 0 1 1 1 2 2 0 3

[0049]
显然,符号空间s={0,1,2,3},空间大小n=4。
[0050]
空间覆盖码的编码操作如下:
[0051]
step 1:取全覆盖的数据块b。
[0052]
对d中的符号进行逐个选取,当取到3的时候,完成了对s的全覆盖。此时,有b=1 0 2 1 2 0 1 1 1 2 2 0 3。b的长度m=13。
[0053]
step 2:构造符号向量和块b的表示矩阵ln×m。
[0054]
用维度为n(符号空间大小)的列向量来表示所有符号。如下所示:
[0055]
′0′
=(1,0,0,0)
t
[0056]
′1′
=(0,1,0,0)
t
[0057]
′2′
=(0,0,1,0)
t
[0058]
′3′
=(0,0,0,1)
t
[0059]
那么,单位矩阵i4就是符号空间s的矩阵表示。
[0060]
接下来构造数据块b的矩阵表示,依次取b中各个符号的列向量来构成矩阵l,可得:
[0061][0062]
显然,矩阵l是大小为n
×
m=4
×
13的矩阵,它是数据块b的矩阵表示。矩阵ln×m中,列向量的物理含义:符号的向量表示。假设从时间序列的角度来看数据块b:共有m个时刻,每个时刻出现一个符号。则矩阵ln×m中行向量的物理含义为:每个符号的出现时刻表(
‘1’
表示该时刻出现,
‘0’
表示该时刻不出现)。矩阵ln×m中已经包含了数据块b的全部信息。比如要统计b中各符号的频次,只需计算:
[0063]
ln×m×
(ln×m)
t
=λn=diag(3,5,4,1)
[0064]
即可得到各个符号的频次:
[0065]
frequent(0)=3
[0066]
frequent(1)=5
[0067]
frequent(2)=4
[0068]
frequent(3)=1
[0069]
矩阵ln×m具有以下4个数学特征:
[0070]
1.每列有且只有1个
‘1’

[0071]
2.n≤m。
[0072]
3.r(l)=n(秩为n,行满秩)。
[0073]
4.第m个列向量(最后一列)必然唯一(有且只有一个这样的列)。
[0074]
step 3:处理ln×m矩阵,得到编码矩阵l


[0075]
为了方便处理,给l矩阵标上行号。(为了与符号对应,行号从0开始。)
[0076][0077]
把1~m-2列,加到倒数第二列(第m-1列),得到:
[0078][0079]
以倒数第二列(第m-1列)为权重,进行按行排序(行交换),降序排列。排序的规则为:权重优先;若权重相等,则行号大的优先。得到:
[0080][0081]
对倒数第二列(第m-1列)进行还原,即该列依次减去1~m-2列,得到矩阵l


[0082][0083]
step 4:对矩阵l

取编码。
[0084]
对矩阵l

取编码的规则为:
[0085]
(1)从左到右,逐列逐列地取。
[0086]
(2)每一列:见
‘1’
即止(包含
‘1’
)。
[0087]
(3)最后一列不取。
[0088]
如下所示:
[0089][0090]
则编码结果为:1001011010011110101001
[0091]
特别说明,根据全覆盖的定义和l矩阵的特征4,最后一列所代表的符号,在任何情况下(编码或解码),都是唯一的。因此,在编码时,它无需参与;同时,在解码时,把最后一个符号补上即可。
[0092]
引入块内终止标记:n个连续的
‘0’
。当我们对数据序列d进行全覆盖数据块的划分时(即令d=b1b2b3…bend
),最后一个数据块b
end
出现了一种特殊的情况:m≥n且恰好在数据结束时,仍差一个符号不能满足全覆盖。此时,如果不能告知解码方“数据已结束”的话,解码方仍然会对最后一个符号进行补全。这就导致解码结果多出来一个符号。因此,需要引入终止标记(n个连续的
‘0’
):解码方见到此标记,即放弃对最后一个符号的补全,保证解码的正确性。而对于b
end
出现不满足全覆盖的情形时(即m《n或者相差多于1个符号而不能满足全覆盖),默认不用补全即可,不会产生歧义,也无需特别处理和说明。
[0093]
空间覆盖码的解码:
[0094]
在编码的步骤3,对块矩阵l进行了一些处理和变换,得到编码矩阵l

。本质上,这些处理和变换是矩阵的初等行变换。那么,一定存在可逆方阵rn×n,使得:
[0095]rn
×n×
ln×m=l
′n×m[0096]
并且rn×n是由单位矩阵in经过若干次初等行变换得到的。因此,必然有:
[0097][0098]
这就是能够进行解码的数学依据。
[0099]
step1:构造符号频次表f
[0100]
对全覆盖数据块b进行解码之前,需要知道各个符号的频次。构造频次表的规则,与编码步骤3基本一致,即:按照频次降序,若频次相等,则数值大的符号在前。对编码结果“1001011010011110101001”进行解码,对数据块b构造频次表f,如表1所示:
[0101]
表1
[0102]
符号1203频次5431
[0103]
step2:按照规则解码。
[0104]
解码规则:
[0105]
编码结果中有几个
‘1’
,就有几个符号。
[0106]
(1)在
‘1’
之前的
‘0’
的个数,对应于表f中第1个位置f[0]的偏移量。
[0107]
(2)最后,根据符号补全规则来处理最后一个符号的补全问题。
[0108]
符号补全规则:
[0109]
(1)出现终止标记(n个连续的
‘0’
),不补全最后一个符号。
[0110]
(2)不满足全覆盖(m《n或者相差多于1个符号而不能满足全覆盖),不补全最后一个符号。
[0111]
(3)其他情况,默认补全最后一个符号。
[0112]
因此,有如表2所示对应关系:
[0113]
表2
[0114]
编码“1”“01”“001”f中的位置f[0]f[1]f[2]该位置的符号120
[0115]
对于编码结果“1001011010011110101001”,其解码结果为:“1 0 2 1 2 0 1 1 1 2 2 0 3”,与源数据一致。
[0116]
本实施例的编码效果主要体现在码率和平均编码长度上,选取香农熵和huffman编码作为参照。在附图1和附图2中,本发明(空间覆盖码)与香农熵和huffman编码均做了对比。附图3展示的5个性能指标(即

小于香农熵’,

等于香农熵’,

大于香农熵且小于huffman编码’,

等于huffman编码’,

大于huffman编码’)中,

等于huffman编码’和

大于huffman编码’的占比恒为0,这表明空间覆盖码在4进制空间上,绝对优于huffman编码。
[0117]
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
[0118]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献