CN110635807B - 一种数据编码方法及译码方法 - Google Patents
一种数据编码方法及译码方法 Download PDFInfo
- Publication number
- CN110635807B CN110635807B CN201910717763.0A CN201910717763A CN110635807B CN 110635807 B CN110635807 B CN 110635807B CN 201910717763 A CN201910717763 A CN 201910717763A CN 110635807 B CN110635807 B CN 110635807B
- Authority
- CN
- China
- Prior art keywords
- symbol
- binary sequence
- decoding
- upsymbol
- max
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
技术领域
本发明涉及数据通信技术领域,特别涉及一种数据编码方法及译码方法。
背景技术
随着数据通信技术的快速发展,保障数据通信安全的编码译码技术也得到了快速发展;但目前的编码译码技术,还存在着功能单一的问题,例如部分目前编码译码技术仅实现了加密功能或者仅实现检错功能,又例如部分目前编码译码技术仅实现了无损压缩的功能而导致加密效果较差。当功能单一的编码译码技术应用在芯片和系统底层时,无法在保持优良加密效果的同时又能降低能耗。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种数据编码方法及译码方法。
本发明的第一方面,提供了一种数据编码方法,包括以下步骤:
获取所述符号x的归一化概率模型的分布函数F(x)以及非归一化概率模型的分布函数F(x,r),并在任意时刻均有F(x,r)=rF(x);
设定R0=H0=1、L0=0,所述二进制序列中第i位符号x的算术编码公式为Ri=Ri- 1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri,所述R0、H0以及L0分别为算术编码公式的计算变量Ri、Hi以及Li的初始值;所述i为循环变量;
设定rmax为所述系数r的最大阈值,将x=0代入至rmax中得到对所述系数r进行加密处理并使得r∈(0,rmax];所述加密处理具体包括保留rmax的小数点后k位,并在小数点后k+1位开始添加密码信息;
设定所述二进制序列的长度为Len以及设定编码后Li的值为V;当所述二进制序列中的第i位符号为符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)以及Li=Li-1+Ri- 1F(0-1,r);当所述二进制序列中的第i位符号为符号1时,则将x=1代入算术编码公式得到Ri=Ri-1rp(1)以及Li=Li-1+Ri-1F(1-1,r);直至第i位符号满足i>Len时,编码完成,最终输出V、c0以及c1。
根据本发明第一方面所述的一种数据编码方法,还包括:对所述二进制序列进行预处理,所述预处理包括在所述二进制序列中的每一个符号1后面添加至少一个符号0;或者包括在所述二进制序列中的每一个符号0后面添加至少一个符号1,并将所述二进制序列中的所有符号进行翻转。
本发明的第二方面,提供了一种数据译码方法,包括以下步骤:
获取待译码的二进制序列中符号x的个数cx、归一化概率p(x)以及V,所述V为所述二进制序列在编码时Li的值;
设定i=1、R0=H0=1、L0=0、Len以及upSymbol,所述R0、H0以及L0分别为算术编码公式Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri中的计算变量Ri、Hi以及Li的初始值;所述Len为所述二进制序列的长度;所述upSymbol为所述二进制序列当前译码输出的符号,并设定upSymbol的初始值为0;所述i为循环变量;
将x=0代入算术编码公式得到Ri=Ri-1rp(0)、Li=Li-1+Ri-1F(0-1,r)以及Hi=Li+Ri,得出所述二进制序列中第i位符号0的区间上标值 当时,则upSymbol=0;当时,则upSymbol=1;依次译码直至所述二进制序列中第i位符号满足i>Len后,译码完成。
根据本发明第二方面所述的一种数据译码方法,还包括:若所述待译码的二进制序列在编码的过程中已对每一个符号1后面添加至少一个符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)、Li=Li-1+Ri-1F(0-1,r)以及Hi=Li+Ri,得出所述二进制序列中第i位符号0的区间上标值所述当时,则upSymbol=0;当时,若upSymbol=1,则译码错误;若upSymbol=0,则输出符号1并记录upSymbol=1;依次译码直至所述二进制序列中第i位符号满足i>Len后,删除每个符号1后面的添加的符号0。
本发明的第三方面,提供了一种数据编码装置,包括:编码信息获取单元、第一编码单元以及第二编码单元;
所述编码信息获取单元还用于获取所述符号x的归一化概率模型的分布函数F(x)以及非归一化概率模型的分布函数F(x,r),并在任意时刻均有F(x,r)=rF(x);
所述第一编码单元用于设定R0=H0=1、L0=0,所述二进制序列中第i位符号x的算术编码公式为Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri,所述R0、H0以及L0分别为算术编码公式的计算变量Ri、Hi以及Li的初始值;所述i为循环变量;
所述第一编码单元还用于设定rmax为所述系数r的最大阈值, 将x=0代入至rmax中得到对所述系数r进行加密处理并使得r∈(0,rmax];所述加密处理具体包括保留rmax的小数点后k位,并在小数点后k+1位开始添加密码信息;
所述第二编码单元用于设定所述二进制序列的长度为Len以及设定编码后Li的值为V;当所述二进制序列中的第i位符号为符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)以及Li=Li-1+Ri-1F(0-1,r);当所述二进制序列中的第i位符号为符号1时,则将x=1代入算术编码公式得到Ri=Ri-1rp(1)以及Li=Li-1+Ri-1F(1-1,r);直至第i位符号满足i>Len时,编码完成,最终输出V、c0以及c1。
根据本发明的第三方面所述的一种数据编码装置,所述第一编码单元还用于对所述二进制序列进行预处理,所述预处理包括在所述二进制序列中的每一个符号1后面添加至少一个符号0;或者包括在所述二进制序列中的每一个符号0后面添加至少一个符号1,并将所述二进制序列中的所有符号进行翻转。
本发明的第四方面,提供了一种数据译码装置,包括:译码信息获取单元、第一译码单元以及第二译码单元;
所述译码信息获取单元用于获取待译码的二进制序列中符号x的个数cx、归一化概率p(x)以及V,所述V为所述二进制序列在编码时Li的值;
所述第一译码单元用于设定i=1、R0=H0=1、L0=0、Len以及upSymbol,所述R0、H0以及L0分别为算术编码公式Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri中的计算变量Ri、Hi以及Li的初始值;所述Len为所述二进制序列的长度;所述upSymbol为所述二进制序列当前译码输出的符号,并设定upSymbol的初始值为0;所述i为循环变量;
所述第二译码单元用于将x=0代入算术编码公式得到Ri=Ri-1rp(0)、Li=Li-1+Ri- 1F(0-1,r)以及Hi=Li+Ri,得出所述二进制序列中第i位符号0的区间上标值当时,则upSymbol=0;当时,则upSymbol=1;依次译码直至所述二进制序列中第i位符号满足i>Len后,译码完成。
根据本发明第四方面所述的一种数据译码装置,
所述第二译码单元还用于若所述待译码的二进制序列在编码的过程中已对每一个符号1后面添加至少一个符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)、Li=Li-1+Ri-1F(0-1,r)以及Hi=Li+Ri,得出所述二进制序列中第i位符号0的区间上标值所述当时,则upSymbol=0;当时,若upSymbol=1,则译码错误;若upSymbol=0,则输出符号1并记录upSymbol=1;依次译码直至所述二进制序列中第i位符号满足i>Len后,删除每个符号1后面的添加的符号0。
本发明的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明第一方面所述的一种数据编码方法和/或执行如本发明第二方面所述的一种数据译码方法。
本发明提供的一种数据编码方法及译码方法,至少具有如下有益效果:
(1)本发明通过设定系数r作用在二进制序列上,使得二进制的非归一化概率模型以及归一化概率模型均可达到实际的熵极限,实现二进制序列编码译码的无损压缩;同时r中也包含密码信息,提高了加密后强行破解的难度;
(2)本发明的应用广泛,特别是应用在芯片和系统底层时,具有极大的节能降耗的作用;
(3)在本发明中还可以对二进制序列进行预处理,在编码时,在每一个符号1后面添加至少一个符号0,在译码时,当二进制序列译码出连续的符号1后,说明译码错误;使得编码之后的二进制序列具备检错功能,从而实现无损压缩、加密以及检错功能的结合。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1为本发明实施例所提供的算术编码过程的部分结构示意图;
图2为本发明实施例所提供的一种数据编码方法的具体流程示意图;
图3为本发明实施例所提供的一种数据译码方法的具体流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
以下先对本发明中的算术编码公式进行说明:
于是,在任意时刻所有变量的概率之和均有如下:
设定符号x的归一化概率模型的分布函数为F(x)以及非归一化概率模型的分布函数为F(x,r),则计算出下式:
设定R0=1,L0=1,二进制序列中第i位符号x的算术编码公式如下:
Li=Li-1+Ri-1F(x-1,r)(1-5)
在任意时刻下,当系数r=1时,则非归一化概率模型为标准模型即为归一化概率模型,当系数0<r<1时,则非归一化概率模型为收缩模型;当系数r>1时,则非归一化概率模型为扩张模型。在本领域中,对于一个离散随机过程,概率在时序上是可以发生改变的。以标准模型为基础,收缩模型使得时序状态概率变小;扩张模型使得时序状态概率变大。
在去除二进制序列每一个符号1后面的符号0之后,再统计符号0和符号1的概率分别为和设定去除符号0后,当二进制序列不再存在任何规律,且时,则有根据公式(1-6)可得该二进制序列的归一化概率模型的信息熵H(X)为:
H(X)=-p′(0)log2 p’(0)-p’(1)log2 p’(1)=1bit(1-7)
而非归一化概率模型的信息熵H(X,r)为:
参照图1,图1提供了一种设定二进制序列中子串010起始于i+1时刻并使用进行算术编码的过程,当Hi+3>Hi+1时,因区间[Hi+1,Hi+3)∈[Hi+1,Hi+1+Ri),并且[Hi+1,Hi+1+Ri)与符号1对应,所以第i+1个符号0可能被错误译码为符号1。当Hi+3≤Hi+1时,则[Li+3,Hi+3)∈[Li+1,Hi+1)。如图1中[Li+1,Hi+1)与符号0唯一对应,所以第一个符号0被Li+3正确译码。由Hi+3≤Hi+1得出下式:
当时,根据公式(1-4)(1-5)(1-6)有若能证明Li+4<Hi+3&Li+4<Hi+2&Li+4<Hi+1&Li+4<Hi,则由归纳法可得Li<Hi&Li<Hi-1&…&Li≤H1,于是可通过Li无损译码。证明过程如下:
当二进制序列中连续出现两个符号1时,根据图1的分析,因 使得起始于i+1时刻的子串0110中Hi+4>Hi+1,区间[Li+4,Hi+4)不是唯一对应第i+1位符号,即第i+1位符号可能被译码为0或1,所以无法准确译码。
r2p(1)p(0)+rp(0)≤1(1-10)
设定ax2+bx+c=0,其中a=p(1)p(0),b=p(0),c=-1,且x>0,满足公式(1-10)的正实数根为:
因为p(1)=1-p(0),所以
令rmax为r的最大阈值,则
当系数r大于rmax时,即二进制序列在编码译码的过程中是有损的,因此系数r可以在(0,rmax]的范围内任意取值,均能实现无损压缩。
获取符号x的归一化概率模型的分布函数F(x)以及非归一化概率模型的分布函数F(x,r),并在任意时刻均有F(x,r)=rF(x);
设定R0=H0=1、L0=0,二进制序列中第i位符号x的算术编码公式为Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri,R0、H0以及L0分别为算术编码公式的计算变量Ri、Hi以及Li的初始值;i为循环变量;
设定二进制序列的长度为Len以及设定编码后Li的值为V;当二进制序列中的第i位符号为符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)以及Li=Li-1+Ri-1F(0-1,r);当二进制序列中的第i位符号为符号1时,则将x=1代入算术编码公式得到Ri=Ri-1rp(1)以及Li=Li-1+Ri-1F(1-1,r);直至第i位符号满足i>Len时,编码完成,最终输出V、c0以及c1。
同时根据上述结论,可得出的一种数据译码的方法,具体如下:获取待译码的二进制序列中符号x的个数cx、归一化概率p(x)以及V,V为二进制序列在编码时Li的值;
设定i=1、R0=H0=1、L0=0、Len以及upSymbol,R0、H0以及L0分别为算术编码公式Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri中的计算变量Ri、Hi以及Li的初始值;Len为二进制序列的长度;upSymbol为二进制序列当前译码输出的符号,并设定upSymbol的初始值为0;i为循环变量;
将x=0代入算术编码公式得到Ri=Ri-1rp(0)、Li=Li-1+Ri-1F(0-1,r)以及Hi=Li+Ri,得出二进制序列中第i位符号0的区间上标值 当时,则upSymbol=0;当时,则upSymbol=1;依次译码直至二进制序列中第i位符号满足i>Len后,译码完成。
表1
其中系数r的取值为1.333333333333,因此得到编码后的结果为第29位符号的V=L29=0.211261480288;并根据解码V=0.211261480288进行译码,得到表1中译码结果。
参照图2,本发明的另一个实施例,提供一种数据编码方法,具体步骤如下:
S101、统计二进制序列中符号0的个数c0和符号1的个数c1,当c0≥c1时,输出标识sign=0,并进入步骤S102;当c0<c1时,每个符号取非,并且将c0和c1的值互换,输出标识sign=1,进入步骤S102;
S104、设定R0=1,L0=0,i=1,V=0,将二进制序列的长度定为Len,其中V为当前编码后Li的值;
S105、编码第i位符号,若第i位符号为符号0,则进入步骤S106;若第i位符号为符号1,则跳转至步骤S107;
S106、将x=0代入公式Ri=Ri-1rp(x)以及公式Li=Li-1+Ri-1F(x-1,r)中以计算Ri和Li的值,Ri=Ri-1rp(0),因F(-1)=0,得出Li=Li-1,并跳转至步骤S108;
S107、将x=1代入公式Ri=Ri-1rp(x)以及公式Li=Li-1+Ri-1F(x-1,r)中以计算Ri和Li的值,Ri=Ri-1rp(1),因F(0)=rp(0),得出Li=Li-1+Ri-1rp(0),并进入步骤S108;
S108、令i=i+1,若i≤Len,则跳转至步骤S105;若i>Len,V=LLen,结束编码,最终输出V,c0,c1。
参照图3,进一步,提供一种数据译码方法,具体步骤如下:
S203、输入密码信息,从rmax小数点后第k+1位开始,替换成密码信息,得到r;
S206、令i=i+1,若i≤Len,则跳转至步骤S204;若i>Len,进入步骤S207;
S207、删除每个符号1后面的一个符号0;若sign=1,将符号取非,译码完成;
S208、密码错误或编码后文件传输出现错误,结束译码。
可以理解的是,在本实施例中,添加的密码信息可以选择在rmax小数点后k+1位开始增加md5密码信息,编码时输入md5密码信息即可还原;还可以选择SHA-1密码信息等,具体可根据实际情况选择添加合适的密码信息。可以理解的是,在每个符号1的后面添加一个符号0是对二进制序列的预处理,预处理还可以包括在每一个符号0后面添加至少一个符号1,并将二进制序列中的所有符号进行翻转,均能实现检错的目的,此处不再细述;本实施例优选在每一个符号0后面添加至少一个符号1。
在步骤S101用于确保二进制序列中符号0的数量大于或等于符号1的数量;步骤S102用于使二进制序列存在一种规律,即每一个符号被一个符号0隔开或者被多个符号0隔开,优选被一个符号0隔开;即可在译码时判断出现连续两个以上的符号1的情况为错误译码,达到检错的目的;步骤S103中,对r进行取值的过程中添加密码信息,使得在译码时,必须输入r的密码信息才能正确译码,提高了加密效果,使用本方法的编码数据还具有无损压缩的效果。在步骤S201中,在信道中可以无误的获取到V,c0和c1的值;在步骤S208中,当连续译码出两个符号1时,则说明编码后文件传输出现了错误,因此结束译码。
综上,在二进制序列编码译码过程中,因r含密码信息,且r必须正确才能按序无损译码,所以未知密码信息的情况下无法译码;由于r的取值范围在(0,rmax]上,能使得数据编码后具备无损压缩的优点,实现了数据无损压缩和加密功能的结合,当运用在芯片和系统底层中时,具有节能的优点;同时在编码时还对二进制序列进行了预处理,即每一个符号被一个符号0隔开,使得在译码时具有检错功能,实现了数据无损压缩、加密以及检错功能的结合。
进一步,本发明的另一个实施例,提供了一种数据编码装置,包括编码信息获取单元、第一编码单元以及第二编码单元;
编码信息获取单元用于获取待编码的二进制序列中符号x的个数cx、归一化概率p(x)以及非归一化概率设定在任意时刻均有系数r使得还用于获取符号x的归一化概率模型的分布函数F(x)以及非归一化概率模型的分布函数F(x,r),并在任意时刻均有F(x,r)=rF(x);
第一编码单元用于设定R0=H0=1、L0=0,二进制序列中第i位符号x的算术编码公式为Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri,R0、H0以及L0分别为算术编码公式的计算变量Ri、Hi以及Li的初始值;i为循环变量;还用于设定rmax为系数r的最大阈值,将x=0代入至rmax中得到对系数r进行加密处理并使得r∈(0,rmax];加密处理具体包括保留rmax的小数点后k位,并在小数点后k+1位开始添加密码信息;
第二编码单元用于设定二进制序列的长度为Len以及设定编码后Li的值为V;当二进制序列中的第i位符号为符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)以及Li=Li-1+Ri-1F(0-1,r);当二进制序列中的第i位符号为符号1时,则将x=1代入算术编码公式得到Ri=Ri-1rp(1)以及Li=Li-1+Ri-1F(1-1,r);直至第i位符号满足i>Len时,编码完成,最终输出V、c0以及c1。
进一步,第一编码单元还用于对二进制序列进行预处理,预处理包括在二进制序列中的每一个符号1后面添加至少一个符号0;或者包括在二进制序列中的每一个符号0后面添加至少一个符号1,并将二进制序列中的所有符号进行翻转。
进一步,本发明的另一个实施例,提供了一种数据解码装置,包括译码信息获取单元、第一译码单元以及第二译码单元;
译码信息获取单元用于获取待译码的二进制序列中符号x的个数cx、归一化概率p(x)以及V,V为二进制序列在编码时Li的值;
第一译码单元用于设定i=1、R0=H0=1、L0=0、Len以及upSymbol,R0、H0以及L0分别为算术编码公式Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri中的计算变量Ri、Hi以及Li的初始值;Len为二进制序列的长度;upSymbol为二进制序列当前译码输出的符号,并设定upSymbol的初始值为0;i为循环变量;还用于将x=0代入公式中,得到系数r的最大阈值rmax,对rmax进行解密处理,还原出系数r;解密处理具体包括从rmax的小数点后k+1位开始,输入密码信息还原出系数r;
第二译码单元用于将x=0代入算术编码公式得到Ri=Ri-1rp(0)、Li=Li-1+Ri-1F(0-1,r)以及Hi=Li+Ri,得出二进制序列中第i位符号0的区间上标值 当时,则upSymbol=0;当时,则upSymbol=1;依次译码直至二进制序列中第i位符号满足i>Len后,译码完成。
进一步,第二译码单元还用于若待译码的二进制序列在编码的过程中已对每一个符号1后面添加至少一个符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)、Li=Li-1+Ri-1F(0-1,r)以及Hi=Li+Ri,得出二进制序列中第i位符号0的区间上标值 当时,则upSymbol=0;当时,若upSymbol=1,则译码错误;若upSymbol=0,则输出符号1并记录upSymbol=1;依次译码直至二进制序列中第i位符号满足i>Len后,删除每个符号1后面的添加的符号0。
进一步,本发明的另一个实施例,提供了一种计算机可读存储介质,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行例如本发明上述实施例所述的一种数据编码方法以及一种数据解码方法,例如执行以上描述的图2中的方法步骤S101至S108,图3中的方法步骤S201至S208。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,该存储介质可为磁碟、光盘、只读存储记忆体(Read Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.一种数据编码方法,其特征在于,包括以下步骤:
获取所述符号x的归一化概率模型的分布函数F(x)以及非归一化概率模型的分布函数F(x,r),并在任意时刻均有F(x,r)=rF(x);
设定R0=H0=1、L0=0,所述二进制序列中第i位符号x的算术编码公式为Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri,所述R0、H0以及L0分别为算术编码公式的计算变量Ri、Hi以及Li的初始值;所述i为循环变量;
设定rmax为所述系数r的最大阈值,将x=0代入至rmax中得到对所述系数r进行加密处理并使得r∈(0,rmax];所述加密处理具体包括保留rmax的小数点后k位,并在小数点后k+1位开始添加密码信息;
设定所述二进制序列的长度为Len以及设定编码后Li的值为V;当所述二进制序列中的第i位符号为符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)以及Li=Li-1+Ri-1F(0-1,r);当所述二进制序列中的第i位符号为符号1时,则将x=1代入算术编码公式得到Ri=Ri-1rp(1)以及Li=Li-1+Ri-1F(1-1,r);直至第i位符号满足i>Len时,编码完成,最终输出V、c0以及c1。
2.根据权利要求1所述的一种数据编码方法,其特征在于,还包括:对所述二进制序列进行预处理,所述预处理包括在所述二进制序列中的每一个符号1后面添加至少一个符号0;或者包括在所述二进制序列中的每一个符号0后面添加至少一个符号1,并将所述二进制序列中的所有符号进行翻转。
3.一种数据译码方法,其特征在于,包括以下步骤:
获取待译码的二进制序列中符号x的个数cx、归一化概率p(x)以及V,所述V为所述二进制序列在编码时Li的值;
设定i=1、R0=H0=1、L0=0、Len以及upSymbol,所述R0、H0以及L0分别为算术编码公式Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri中的计算变量Ri、Hi以及Li的初始值;所述Len为所述二进制序列的长度;所述upSymbol为所述二进制序列当前译码输出的符号,并设定upSymbol的初始值为0;所述i为循环变量;
5.一种数据编码装置,其特征在于,包括:编码信息获取单元、第一编码单元以及第二编码单元;
所述编码信息获取单元还用于获取所述符号x的归一化概率模型的分布函数F(x)以及非归一化概率模型的分布函数F(x,r),并在任意时刻均有F(x,r)=rF(x);
所述第一编码单元用于设定R0=H0=1、L0=0,所述二进制序列中第i位符号x的算术编码公式为Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri,所述R0、H0以及L0分别为算术编码公式的计算变量Ri、Hi以及Li的初始值;所述i为循环变量;
所述第一编码单元还用于设定rmax为所述系数r的最大阈值, 将x=0代入至rmax中得到对所述系数r进行加密处理并使得r∈(0,rmax];所述加密处理具体包括保留rmax的小数点后k位,并在小数点后k+1位开始添加密码信息;
所述第二编码单元用于设定所述二进制序列的长度为Len以及设定编码后Li的值为V;当所述二进制序列中的第i位符号为符号0时,则将x=0代入算术编码公式得到Ri=Ri-1rp(0)以及Li=Li-1+Ri-1F(0-1,r);当所述二进制序列中的第i位符号为符号1时,则将x=1代入算术编码公式得到Ri=Ri-1rp(1)以及Li=Li-1+Ri-1F(1-1,r);直至第i位符号满足i>Len时,编码完成,最终输出V、c0以及c1。
6.根据权利要求5所述的一种数据编码装置,其特征在于,所述第一编码单元还用于对所述二进制序列进行预处理,所述预处理包括在所述二进制序列中的每一个符号1后面添加至少一个符号0;或者包括在所述二进制序列中的每一个符号0后面添加至少一个符号1,并将所述二进制序列中的所有符号进行翻转。
7.一种数据译码装置,其特征在于,包括:译码信息获取单元、第一译码单元以及第二译码单元;
所述译码信息获取单元用于获取待译码的二进制序列中符号x的个数cx、归一化概率p(x)以及V,所述V为所述二进制序列在编码时Li的值;
所述第一译码单元用于设定i=1、R0=H0=1、L0=0、Len以及upSymbol,所述R0、H0以及L0分别为算术编码公式Ri=Ri-1rp(x)、Li=Li-1+Ri-1F(x-1,r)以及Hi=Li+Ri中的计算变量Ri、Hi以及Li的初始值;所述Len为所述二进制序列的长度;所述upSymbol为所述二进制序列当前译码输出的符号,并设定upSymbol的初始值为0;所述i为循环变量;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-2任一项所述的一种数据编码方法和/或执行如权利要求3-4任一项所述的一种数据译码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910717763.0A CN110635807B (zh) | 2019-08-05 | 2019-08-05 | 一种数据编码方法及译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910717763.0A CN110635807B (zh) | 2019-08-05 | 2019-08-05 | 一种数据编码方法及译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110635807A CN110635807A (zh) | 2019-12-31 |
CN110635807B true CN110635807B (zh) | 2022-10-21 |
Family
ID=68969017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910717763.0A Active CN110635807B (zh) | 2019-08-05 | 2019-08-05 | 一种数据编码方法及译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110635807B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294058B (zh) * | 2020-02-20 | 2020-11-24 | 湖南遥昇通信技术有限公司 | 一种信道编码和纠错译码方法、设备以及存储介质 |
CN111327641B (zh) * | 2020-03-24 | 2022-05-17 | 湖南瑞利德信息科技有限公司 | 一种线性分段对称加密编译码方法 |
CN112821894A (zh) * | 2020-12-28 | 2021-05-18 | 湖南遥昇通信技术有限公司 | 一种基于加权概率模型的无损压缩方法和无损解压方法 |
CN113765621B (zh) * | 2021-08-24 | 2023-10-20 | 湖南遥昇通信技术有限公司 | 基于云字符概率表的数据编码系统以及方法 |
CN113746599B (zh) * | 2021-08-24 | 2024-03-22 | 湖南遥昇通信技术有限公司 | 编码方法、译码方法、终端、电子设备和存储介质 |
CN113922947B (zh) * | 2021-09-18 | 2023-11-21 | 湖南遥昇通信技术有限公司 | 一种基于加权概率模型的自适应对称编码方法以及系统 |
CN113938273B (zh) * | 2021-09-30 | 2024-02-13 | 湖南遥昇通信技术有限公司 | 可对抗量并行计算攻击的对称加密方法以及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1133512A (zh) * | 1994-09-30 | 1996-10-16 | 株式会社理光 | 编码与解码数据的方法和装置 |
CN107507254A (zh) * | 2017-08-18 | 2017-12-22 | 济南大学 | 基于算术编码的图像压缩加密方法 |
-
2019
- 2019-08-05 CN CN201910717763.0A patent/CN110635807B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1133512A (zh) * | 1994-09-30 | 1996-10-16 | 株式会社理光 | 编码与解码数据的方法和装置 |
CN107507254A (zh) * | 2017-08-18 | 2017-12-22 | 济南大学 | 基于算术编码的图像压缩加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110635807A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110635807B (zh) | 一种数据编码方法及译码方法 | |
JP5315054B2 (ja) | 生体認証テンプレートの安全な保護 | |
WO2019153867A1 (zh) | 二维码生成及识别 | |
CN108768403B (zh) | 基于lzw的无损数据压缩、解压方法及lzw编码器、解码器 | |
US8375218B2 (en) | Pre-processing biometric parameters before encoding and decoding | |
JP2017528070A (ja) | 情報の暗号化及び復号化 | |
US20090231096A1 (en) | Processing Biometric Data in a Multidimensional Coordinate System | |
US20070174633A1 (en) | Biometric Based User Authentication and Data Encryption | |
JP5288935B2 (ja) | コード化および復号化前のバイオメトリックパラメータの前処理方法 | |
US20110040982A1 (en) | File encryption method | |
WO2010044100A1 (en) | Lossless compression | |
CN107578452B (zh) | 一种具有兼容格式和不变尺寸的jpeg图像加密方法 | |
CN110021369B (zh) | 基因测序数据压缩解压方法、系统及计算机可读介质 | |
CN115296862B (zh) | 一种基于数据编码的网络数据安全传输方法 | |
CN113486369A (zh) | 具有对称加密和无损压缩的编码方法、装置、设备及介质 | |
Sendrier | Encoding information into constant weight words | |
CN111478885A (zh) | 一种非对称加解密方法、设备及存储介质 | |
CN110798224A (zh) | 一种压缩编码、检错及解码方法 | |
CN113922947B (zh) | 一种基于加权概率模型的自适应对称编码方法以及系统 | |
US9176973B1 (en) | Recursive-capable lossless compression mechanism | |
CN110852098B (zh) | 一种数据修正方法及电子设备和存储介质 | |
WO2022079466A1 (en) | Data authentication for data compression | |
CN115935299A (zh) | 授权控制方法、装置、计算机设备和存储介质 | |
US9231924B2 (en) | Gesture-initiated encryption using error correction coding | |
EP4100954A1 (en) | Improved quality value compression framework in aligned sequencing data based on novel contexts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191223 Address after: 410600 10th Floor, Business Incubation Building, 001 Jinzhou North Road, Ningxiang High-tech Industrial Park, Changsha City, Hunan Province Applicant after: Hunan Yaosheng Communication Technology Co.,Ltd. Address before: 10 / F, business incubation building, No. 001, Jinzhou North Road, Ningxiang high tech Industrial Park, Changsha City, Hunan Province Applicant before: HUNAN RUILIDE INFORMATION TECHNOLOGY Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |