CN114024551A - 数据无损压缩方法、系统、电子设备及介质 - Google Patents
数据无损压缩方法、系统、电子设备及介质 Download PDFInfo
- Publication number
- CN114024551A CN114024551A CN202111231584.XA CN202111231584A CN114024551A CN 114024551 A CN114024551 A CN 114024551A CN 202111231584 A CN202111231584 A CN 202111231584A CN 114024551 A CN114024551 A CN 114024551A
- Authority
- CN
- China
- Prior art keywords
- symbol
- sequence
- data
- equal
- target binary
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000007906 compression Methods 0.000 title claims abstract description 42
- 230000006835 compression Effects 0.000 title claims abstract description 35
- 230000008569 process Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 16
- 230000006837 decompression Effects 0.000 claims description 11
- 238000013144 data compression Methods 0.000 claims description 9
- 230000009191 jumping Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 8
- 230000003068 static effect Effects 0.000 description 12
- 238000005315 distribution function Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种数据无损压缩方法、系统、电子设备及介质,本方法利用式r2p(0)2+r3p(0)2p(1)<1计算加权系数r,最后利用加权系数r实现对目标二进制序列X的压缩过程,可以有效的解决译码歧义问题,而且压缩效果相较于算术编码有较大提升。本方法是以比特为单位的压缩方法,无需大量的硬件缓存和编码,又因为是线性编码,所以适合流数据的压缩,运算的硬件资源少。
Description
技术领域
本发明涉及数据压缩技术领域,特别涉及一种数据无损压缩方法、系统、电子设备及介质。
背景技术
大数据时代,数据量快速增长给网络传输和存储带来巨大压力。为了解决这一问题,一方面需提升硬件设施,另一方面是构造具有更高压缩率的无损编码算法。常见的无损压缩方法有字典编码、行程编码、算术编码等,统称为熵编码。但目前的熵编码技术方案还存在着压缩率较低的缺陷。
发明内容
本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种数据无损压缩方法、系统、电子设备及介质。相比于算术编码,本发明具有更好的压缩效果,还可以有效的解决译码歧义问题。
本发明的第一方面,提供了一种数据无损压缩方法,包括如下步骤:
步骤S101、获取目标二进制序列X;
步骤S103、统计所述目标二进制序列X中符号0的概率p(0)和符号1的概率p(1);
步骤S105、根据公式r2p(0)2+r3p(0)2p(1)<1,计算加权系数r,令i=1;
步骤S107、编码所述目标二进制序列X中的第i位符号:
若第i位符号为符号0,则Ri=Ri-1rp(0),Li=Li-1,i=i+1;若第i位符号为符号1,则Ri=Ri-1r2p(0)p(1),Li=Li-1+Ri-1r2p(0)2,i=i+1;其中,Ri、Ri-1、Li以及Li-1为编码变量,R0=1,L0=0;
步骤S109、若i≤n,则跳转至步骤S107;若i>n,得到编码完所述目标二进制序列X最后一位符号后的Ln,其中,所述n表示所述目标二进制序列X的序列长度。
根据本发明的实施例,至少具有如下技术效果:
本方法利用式r2p(0)2+r3p(0)2p(1)<1计算加权系数r,最后利用加权系数r实现对目标二进制序列X的压缩过程,可以有效的解决译码歧义问题,而且压缩效果相较于算术编码有较大提升。本方法是以比特为单位的压缩方法,无需大量的硬件缓存和编码,又因为是线性编码,所以适合流数据的压缩,运算的硬件资源少。
本发明的第二方面,提供了一种数据无损压缩系统,包括:
数据获取单元,用于获取目标二进制序列X;
数据压缩单元,用于执行如下步骤:
步骤S103、统计所述目标二进制序列X中符号0的概率p(0)和符号1的概率p(1);
步骤S105、根据公式r2p(0)2+r3p(0)2p(1)<1,计算加权系数r,令i=1;
步骤S107、编码所述目标二进制序列X中的第i位符号:
若第i位符号为符号0,则Ri=Ri-1rp(0),Li=Li-1,i=i+1;若第i位符号为符号1,则Ri=Ri-1r2p(0)p(1),Li=Li-1+Ri-1r2p(0)2,i=i+1;其中,Ri、Ri-1、Li以及Li-1为编码变量,R0=1,L0=0;
步骤S109、若i≤n,则跳转至步骤S107;若i>n,得到编码完所述目标二进制序列X最后一位符号后的Ln,其中,所述n表示所述目标二进制序列X的序列长度。
本发明的第三方面,提供了一种电子设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行上述的数据无损压缩方法。
本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的数据无损压缩方法。
需要注意的是,本发明的第二方面至第四方面与现有技术之间的有益效果与上述的数据无损压缩方法与现有技术之间的有益效果相同,此处不再细述。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一个实施例提供的当n=1时,x1=0,1,...,k的加权分布函数的示意图;
图2为本发明一个实施例提供的当n=2并且已知x1时,x2=0,1,...,k的加权分布函数的示意图;
图3为本发明一个实施例提供的一种数据无损压缩方法的流程示意图;
图4为本发明另外一个实施例提供的一种数据无损压缩方法的流程示意图;
图5为本发明一个实施例提供的一种数据无损压缩系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
为了便于本领域技术人员理解本申请实施例的相关内容,先简要介绍加权概率、加权概率模型以及加权模型的信息熵的原理。
1、加权概率和加权概率模型;
令X={x1,x2,...,xn}是有限个值或可数个可能值的随机过程。除非特别提醒,这个随机过程的可能值的集合都将记为非负整数的集合A={0,1,2,...,s},xi∈A(i=1,2,...,n)。于是对于A中一切数值有概率空间:
其中x∈A。由于随机过程必须转移到集合A中的某个数值,所以在任意时刻i有:
于是,任意时刻i累积分布函数F(a)可以用p(x)表示为:
F(a)=∑x≤ap(x) (3)
其中,0≤F(a)≤1,a∈A。
定义1,加权概率质量函数为:
p(a)为a的概率质量函数,0≤p(a)≤1,r为权系数,r是已知的正实数。显然,所有符号的加权概率之和为:
定义2,加权累积分布函数为:
F(a,r)=rF(a)=r∑x≤ap(x) (6)
简称加权分布函数。
根据定义2,将序列X的加权分布函数记为F(X,r)。令n=1时F(X,r)为:
F(X,r)=rF(x1)=rF(x1-1)+rp(x1)
n=2时,首先根据图1,选择x1对应的区间[F(x1-1,r),F(x1,r)),由于F(x1,r)=F(x1-1,r)+rp(x1),所以区间长度为 然后,将区间[F(x1-1,r),F(x1-1,r)+rp(x1))的长度乘以权系数r,若r<1时,区间缩小;若r>1时区间扩大;若r=1时区间不变。于是区间变成了[F(x1-1,r),F(x1-1,r)+r2p(x1)),接着将r2p(x1)按照式(1)中各符号的概率质量分割成k+1份,分割后符号0对应区间为[F(x1-1,r),F(x1-1,r)+r2p(x1)p(0));符号1对应的区间为[F(x1-1,r)+r2p(x1)p(0),F(x1-1,r)+r2p(x1)(p(0)+p(1)));符号2对应的区间为[F(x1-1,r)+r2p(x1)(p(0)+p(1)),F(x1-1,r)+r2p(x1)(p(0)+p(1)+p(2))),类推且F(x1-1,r)=rF(x1-1),得:
F(X,r)=rF(x1-1)+r2F(x2)p(x1)=rF(x1-1)+r2F(x2-1)p(x1)+r2p(x1)p(x2)
此时,区间长度为r2p(x1)p(x2)。如图2所示。
类推,n=3时:
F(X,r)=rF(x1-1)+r2F(x2-1)p(x1)+r3F(x3)p(x1)p(x2)=rF(x1-1)+r2F(x2-1)p(x1)+r3F(x3-1)p(x1)p(x2)+r3p(x1)p(x2)p(x3)
将满足式(7)的加权分布函数的集合定义为加权概率模型,简称加权模型,记为{F(X,r)}。若Xi∈A={0,1},则称{F(X,r)}为二元加权模型。令:
Hn=F(X,r) (8)
因xi必须取A中的值,所以p(xi)≥0。显然式(8)(9)(10)为区间列,Li,Hi是序列X在时刻i(i=1,2,...,n)变量xi对应的区间上下标,Ri=Hi-Li是区间的长度。{[Ln,Hn)}为定义在加权概率模型上的区间列。将式8)(9)(10)用迭代式表达为:
需要注意的是,式(11)包括是以上三个公式。
显然,式(7)中r为已知实数,将式(7)称为静态加权模型。若r在时刻i等于已知函数值ωi,即ωi=f(i),f(i)为已知函数,于是系数序列为W={ω1,ω2,...,ωn},则式(7)可表达为:
满足式(12)的加权分布函数的集合称为动态加权模型。当ω1=ω2=…=ωn=r时,F(X,W)=F(X,r)。若ω1=ω2=…=ωn=r=1,则F(X,W)=F(X,1)=F(X)。
基于式(13)的迭代式为:
证明
∵0<ωi+1≤1,由式(11)得Ri+1=Riωi+1p(xi+1);
∴0<Ri+1≤Rip(xi+1);
∵Li+1=Li+Riωi+1F(xi+1-1),其中Riωi+1F(xi+1-1)≥0;
∴Li+1≥Li;
∵Hi+1=Li+1+Ri+1,且Ri+1>0;
∴Li+1<Hi+1;
∵Hi+1=Li+Riωi+1F(xi+1-1)+Rip(xi+1)<Li+Ri(F(xi+1-1)+p(xi+1))
∵F(xi+1)=F(xi+1-1)+p(xi+1),由于F(xi+1)≤ωi+1,且ωi+1≤1
∴Hi+1≤Li+Ri=Hi
根据定理1,通过归纳法可得:
任意i有ωi=1,则称{F(X,W)}为标准模型;任意i有0<ωi≤1且存在ωi<1,则称{F(X,W)}为收缩模型;任意i有ωi≥1且存在ωi>1,则称{F(X,W)}为扩张模型。
2、加权模型的信息熵;
设集合{xi=a}(i=1,2,...,n;a∈A)中有ca个a。当r已知,信源序列X的总信息量为:
于是平均每个符号的信息量为:
定义3,令H(X,r)为加权模型信息熵(单位为:比特/符号):
定理3离散无记忆信源序列X=(x1,x2,...,xn)(xi∈A,A={0,1,2,...,s},i=1,2,...,n)通过加权概率模型无失真编码,最小极限为H(X,rmax)(rmax为最大权系数)。
证明任意r>rmax时,Ln∈[Ln,Hn)∧Ln∈[Ln-1,Hn-1)∧...∧Ln∈[Li,Hi)不成立,即无法还原序列X。当0<r≤1时,-log r≥0,有H(X,r)≥H(X);当1<r≤rmax时,-log r<0,有H(X,r)<H(X),显然最小极限值为H(X,r)=-log rmax+H(X)。
定理3静态加权模型的信息熵。而在动态加权模型中,当系数序列W={ω1,ω2,...,ωn}已知时,根据独立离散随机序列X,其加权概率为:
根据对数运算法则可得:
由于集合{xi=a}(i=1,2,...,n;a∈A)中有ca个a,所以:
显然,式子(18)可变换为:
然后将式(21)平均到每个符号,则有:
令:
可得H(X,W)=-logr-H(X)。当r≤rmax时,Ln∈[Ln,Hn)∧Ln∈[Ln-1,Hn-1)∧...∧Ln∈[Li,Hi)成立。
需要注意的是,上述“加权概率、加权概率模型以及加权模型的信息熵”为本领域“杰林码”的公知常识。
在介绍本发明的实施例之前,还对本发明实施例的实现原理进行介绍,具体如下所示:
1、定义二阶静态系数;
若允许还原过程(明文在编码之后得到密文,密文需要被译码还原成明文)中出错,且还原时出错的方式为已知或已约定,则还原时出错的符号可以被纠正,那么同样也能完整还原出随机序列。如,每个符号1之前的符号0均被约定必定还原为符号1,由于该错误的方式已知,那么这个符号1可以被纠正为符号0,从而完整还原出整个随机序列。此时,若约定随机序列0,0,k个1,0中,第二个符号0必然被还原出符号1,则静态系数应满足条件Hk+3(0,0,k个1,0)<H1(0)和Hk+3(0,0,k个1,0)≥H2(0,0)。同理,也可以约定,随机序列0,0,0,1,0中,第二和第三个符号0都必然被还原为符号1,则静态系数应满足如下三个不等式:
Hk+4(0,0,0,k个1,0)<H1(0)
Hk+4(0,0,0,k个1,0)≥H2(0,0)
Hk+4(0,0,0,k个1,0)≥H3(0,0,0)
于是,本申请将定义这类的静态系数为二阶静态系数。
2、为帮助理解,这里提供一个简单的二阶静态系数实例;
根据上述的“二阶静态系数”,若k=1,且允许符号1前一位符号0被错误还原为1。即随机序列0,0,1,0中,第二个符号0必然被还原出符号1,于是二阶静态系数r应满足不等式:H4(0,0,1,0)<H1(0),L4(0,0,1,0)≥H2(0,0)。根据式(13)有:
r3p(0)3≥r2p(0)2
得:
若二阶静态系数r满足不等式:H4(0,0,1,0)<H1(0),则:
r3p(0)3+r4p(0)3p(1)<rp(0)
于是:
r2p(0)2+r3p(0)2p(1)<1 (25)
若静态系数r满足上述式(25),随机序列形如0 0 1 0,第2个符号0被译码为符号1,但是当出现0 0 1 0 0 0...时,第2个符号0被正确译码为符号0,此时译码产生歧义。本申请后续实施例在译码时,假设符号1是错误的(即这个符号应该是符号0),然后同步构造编码过程,即将译码的结果再送入编码中,再通过编码结果与待译码数据进行比较,两者一致时说明假设正确,否则假设失败则当前的符号1是正确的。从而实现了歧义的判断。需要注意的是,在式(25)中,概率是一个小数,如果符号0越多,就意味着p(0)的指数越大,小数相乘必然小于实数1。式(25)的推理过程基于H4(0,0,1,0),根据“杰林码”的相关原理,H4(0,0,1,0)≥H5(0,0,0,1,0),小数乘以任何小数都会小于其本来的值。
参照图3,本申请的一个实施例,提供了一种数据无损压缩方法,包括如下步骤:
步骤S101、获取目标二进制序列X。这里的二进制序列X即为待压缩数据,本实施例对目标二进制序列X不进行限制。
步骤S103、统计目标二进制序列X中符号0的概率p(0)和符号1的概率p(1)。这里统计概率p(0),p(1)的目的在于后续计算加权系数r。
在一些实施例中,可以提供如下两种方式计算加权系数r。
1、可以采用金盛公式求解上述一元三次不等式。
2、在计算机领域可以采用0.0000-0.9999进行10000次循环逼近得出r。
步骤S105、根据公式r2p(0)2+r3p(0)2p(1)<1,计算r,令i=1。这里计算加权系数r的公式来源于上述公式(25),i为统计变量,需要注意的是,后续实施例中的j,z也为统计变量,后续便不再细述。
步骤S107、编码目标二进制序列X中的第i位符号:
若第i位符号为符号0,则Ri=Ri-1rp(0),Li=Li-1,i=i+1,进入步骤S109。
若第i位符号为符号1,则Ri=Ri-1r2p(0)p(1),Li=Li-1+Ri-1r2p(0)2,i=i+1,进入步骤S109。其中,Ri、Ri-1、Li以及Li-1为编码变量,R0=1,L0=0。
这里的编码公式来源于上述公式(11),编码公式为领域公知,此处不再细述。
步骤S109、若i≤n,则跳转至步骤S107;若i>n,得到编码完目标二进制序列X最后一位符号后的Ln,其中,n表示目标二进制序列X的序列长度。这里的Ln为编码完成后得到的数据,为目标二进制序列X压缩之后得到的数据。
在本实施例中,本实施例方法在步骤S105中利用式r2p(0)2+r3p(0)2p(1)<1计算加权系数r,最后利用加权系数r实现对目标二进制序列的压缩过程,根据上述分析可知,本实施例方法可以有效的解决译码歧义问题。而且压缩效果相较于算术编码有较大提升(后续实验证明存在10%左右的提升)。本实施例方法是以比特为单位的编码过程(本申请实施例的编码过程就是压缩过程),无需大量的硬件缓存和编码,又因为是线性编码,所以适合流数据的压缩,运算的硬件资源少,未来可用于大数据无损压缩和文件系统设计。
参照图4,在一些实施例中,还提供与上述步骤S101至步骤S109是对应的解压过程:
步骤S201、获取Ln,n,令i=1,j=0。
步骤S206、将当前译码出的符号1重置为符号0,将当前所有译码出的符号组合为当前序列Z。
步骤S207、令z=1,编码当前序列Z中的第z位符号:
步骤S2071、若第z位符号为符号0,则Rz=Rz-1rpZ(0),Lz=Lz-1,z=z+1;若第z位符号为符号1,则Rz=Rz-1r2pZ(0)pZ(1),Lz=Lz-1+Rz-1r2pZ(0)2,z=z+1;其中,Rz、Rz-1、Lz以及Lz-1为编码变量,R0=1,L0=0;pZ(0)为当前序列Z中符号0的概率;pZ(1)为当前序列Z中符号1的概率。
步骤S2072、若z≤m,则跳转步骤S2071;若z>m,得到编码完序列Z最后一位符号后的Lm,其中,m表示当前序列Z的序列长度。
步骤S208、当Lm和Ln从第一个符号至最后一个符号均匹配,则进入步骤S209,否则,将步骤S206中重置后的符号0重新重置为符号1,进入步骤S209。
步骤S209、i=i+1,若j≤n,则跳转至步骤S203;若j>n,译码完成,得到目标二进制序列X。
本实施例提供了与上述步骤S101至步骤S109对应的解压过程,在步骤S206至步骤S208当中,当译码出的符号1,假设符号1是错误的(即假设这符号1应该是符号0),然后同步构造编码过程(即将译码的结果再送入编码中),然后再通过编码结果与待译码数据进行比较,两者一致时说明假设正确,否则假设失败则当前的符号1是正确的,实现了歧义的判断。
为了便于本领域技术人员理解本申请的发明构思,以下提供一组最佳的实施例:
对于任意二进制序列X的一种无损压缩方法(包括压缩过程和解压过程)以及实验过程,方法具体包括如下步骤:
第一、二进制序列X无损压缩过程;
步骤1:初始化参数,设R0=1,L0=0,i=1。
步骤2:统计二进制序列X中符号0的概率p(0),于是p(1)=1-p(0)。
步骤3:将p(0)和p(1)代入式r2p(0)2+r3p(0)2p(1)<1计算出r。
以下提供两种方式计算:
1、可以采用金盛公式求解;
2、可以采用0.0000-0.9999进行10000次循环逼近得出r。
步骤4:编码第i个符号,若第i个符号为符号0,则转步骤5;若第i个符号为符号1,则转步骤6。
步骤5:根据编码公式(11)计算“0”的Ri和Li的值,Ri=Ri-1rp(0),F(-1)=0,则Li=Li-1,i=i+1;转步骤7。
步骤6:根据编码公式(11)计算“01”的Ri和Li的值,Ri=Ri-1r2p(0)p(1),因F(0)=p(0),Li=Li-1+Ri-1r2p(0)2,i=i+1;转步骤7。
步骤7:判断若i≤n,则转步骤2;若i>n,V=Ln,结束编码,输出V。
第二、二进制序列X的无损解压过程;
步骤1:初始化参数,设R0=1,L0=0,i=1,j=0;V,n已知。
步骤4:设定将译码出的符号1重置为符号0,代入至上述实施例所述的“无损压缩过程”中(即译码时同时进行编码)得到编码结果。
步骤5:当编码结果和V一致时,则说明“符号1重置为符号0”步骤正确,否则,错误并将重置为符号0重新重置为符号1;
步骤6:i=i+1;若j≤n,则转步骤2。
步骤7:译码完成。
第三、实验数据;
通过实验发现,基于“二进制序列X的无损解压过程”可以有效的解决译码歧义问题,而且压缩效果相较于算术编码出10%以上(如表1)。实验随机生成符号0的概率略等于p(0)=0.1长度为5242880的二进制数据。
方法 | 编码后的字节长度(字节) |
本实施例方法 | 7863 |
算术编码方案 | 9038 |
表1
由于本实施例方法是以比特为单位的编译码过程,无需大量的硬件缓存和编码。因线性编码,所以适合流数据的压缩,运算的硬件资源少。未来可用于大数据无损压缩和文件系统设计。
参照图5,本申请的一个实施例,提供了一种数据无损压缩系统,包括数据获取单元100、数据压缩单元200、第一数据解压单元300以及第二数据解压单元400,其中:
数据获取单元100用于执行上述方法实施例中的步骤S101;
数据压缩单元200用于执行上述方法实施例中的步骤S103至S109;
第一数据解压单元300用于执行上述方法实施例中的步骤S201至S205以及步骤S209;
第二数据解压单元400用于执行上述方法实施例中的步骤S206至S208。
指的注意的是,本系统实施例与上述方法实施例是基于同一个发明构思,因此上述方法实施例的相关内容同样适用于本系统实施例,此处不再赘述。
本发明的一个实施例,提供了一种电子设备;该电子设备可以是任意类型的智能终端,例如手机、平板电脑、个人计算机等。具体地,该电子设备包括:一个或多个控制处理器和存储器,本实例以一个控制处理器为例。控制处理器和存储器可以通过总线或者其他方式连接,本实例以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的电子设备对应的程序指令/模块;控制处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而实现上述方法实施例的数据无损压缩方法。存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于控制处理器远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个控制处理器执行时,执行上述方法实施例中的数据无损压缩方法。例如,执行以上描述的图3中的方法步骤S101至S109,图4中的方法步骤S201至S209,实现图5中的单元100至400的功能。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,可使得上述一个或多个控制处理器执行上述方法实施例中的数据无损压缩方法。例如,执行以上描述的图3中的方法步骤S101至S109,图4中的方法步骤S201至S209,实现图5中的单元100至400的功能。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ReadOnly Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (9)
1.一种数据无损压缩方法,其特征在于,包括如下步骤:
步骤S101、获取目标二进制序列X;
步骤S103、统计所述目标二进制序列X中符号0的概率p(0)和符号1的概率p(1);
步骤S105、根据公式r2p(0)2+r3p(0)2p(1)<1,计算加权系数r,令i=1;
步骤S107、编码所述目标二进制序列X中的第i位符号:
若第i位符号为符号0,则Ri=Ri-1rp(0),Li=Li-1,i=i+1;
若第i位符号为符号1,则Ri=Ri-1r2p(0)p(1),Li=Li-1+Ri-1r2p(0)2,i=i+1;其中,Ri、Ri-1、Li以及Li-1为编码变量,R0=1,L0=0;
步骤S109、若i≤n,则跳转至步骤S107;若i>n,得到编码完所述目标二进制序列X最后一位符号后的Ln,其中,所述n表示所述目标二进制序列X的序列长度。
2.根据权利要求1所述的数据无损压缩方法,其特征在于,通过金盛公式从所述公式r2p(0)2+r3p(0)2p(1)<1中计算所述加权系数r。
4.根据权利要求3所述的数据无损压缩方法,其特征在于,在步骤S205之后,还包括步骤:
步骤S206、将当前译码出的符号1重置为符号0,将当前所有译码出的符号组合为当前序列Z;
步骤S207、令z=1,编码所述当前序列Z中的第z位符号:
步骤S2071、若第z位符号为符号0,则Rz=Rz-1rpZ(0),Lz=Lz-1,z=z+1;若第z位符号为符号1,则Rz=Rz-1r2pZ(0)pZ(1),Lz=Lz-1+Rz-1r2pZ(0)2,z=z+1;其中,Rz、Rz-1、Lz以及Lz-1为编码变量,R0=1,L0=0;pZ(0)为所述当前序列Z中符号0的概率;pZ(1)为所述当前序列Z中符号1的概率;
步骤S2072、若z≤m,则跳转步骤S2071;若z>m,得到编码完所述序列Z最后一位符号后的Lm,其中,所述m表示所述当前序列Z的序列长度;
步骤S208、当所述Lm和所述Ln从第一个符号至最后一个符号均匹配,则进入步骤S209,否则,将步骤S206中重置后的符号0重新重置为符号1,进入步骤S209。
5.一种数据无损压缩系统,其特征在于,包括:
数据获取单元,用于获取目标二进制序列X;
数据压缩单元,用于执行如下步骤:
步骤S103、统计所述目标二进制序列X中符号0的概率p(0)和符号1的概率p(1);
步骤S105、根据公式r2p(0)2+r3p(0)2p(1)<1,计算加权系数r,令i=1;
步骤S107、编码所述目标二进制序列X中的第i位符号:
若第i位符号为符号0,则Ri=Ri-1rp(0),Li=Li-1,i=i+1;若第i位符号为符号1,则Ri=Ri-1r2p(0)p(1),Li=Li-1+Ri-1r2p(0)2,i=i+1;其中,Ri、Ri-1、Li以及Li-1为编码变量,R0=1,L0=0;
步骤S109、若i≤n,则跳转至步骤S107;若i>n,得到编码完所述目标二进制序列X最后一位符号后的Ln,其中,所述n表示所述目标二进制序列X的序列长度。
7.根据权利要求6所述的数据无损压缩系统,其特征在于,还包括第二数据解压单元,所述第二数据解压单元用于执行如下步骤:
步骤S206、将当前译码出的符号1重置为符号0,将当前所有译码出的符号组合为当前序列Z;
步骤S207、令z=1,编码所述当前序列Z中的第z位符号:
步骤S2071、若第z位符号为符号0,则Rz=Rz-1rpZ(0),Lz=Lz-1,z=z+1;若第z位符号为符号1,则Rz=Rz-1r2pZ(0)pZ(1),Lz=Lz-1+Rz-1r2pZ(0)2,z=z+1;其中,Rz、Rz-1、Lz以及Lz-1为编码变量,R0=1,L0=0;pZ(0)为所述当前序列Z中符号0的概率;pZ(1)为所述当前序列Z中符号1的概率;
步骤S2072、若z≤m,则跳转步骤S2071;若z>m,得到编码完所述序列Z最后一位符号后的Lm,其中,所述m表示所述当前序列Z的序列长度;
步骤S208、当所述Lm和所述Ln从第一个符号至最后一个符号均匹配,则进入步骤S209,否则,将步骤S206中重置后的符号0重新重置为符号1,进入步骤S209。
8.一种电子设备,其特征在于:包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行权利要求1至4任一项所述的数据无损压缩方法。
9.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至4任一项所述的数据无损压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111231584.XA CN114024551A (zh) | 2021-10-22 | 2021-10-22 | 数据无损压缩方法、系统、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111231584.XA CN114024551A (zh) | 2021-10-22 | 2021-10-22 | 数据无损压缩方法、系统、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114024551A true CN114024551A (zh) | 2022-02-08 |
Family
ID=80056985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111231584.XA Pending CN114024551A (zh) | 2021-10-22 | 2021-10-22 | 数据无损压缩方法、系统、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114024551A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117856798A (zh) * | 2023-12-29 | 2024-04-09 | 苏州异格技术有限公司 | 一种基于数据流的字符压缩方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160126903A1 (en) * | 2014-11-05 | 2016-05-05 | King Fahd University Of Petroleum And Minerals | Weighted memory polynomial method and system for power amplifiers predistortion |
CN110636296A (zh) * | 2018-06-22 | 2019-12-31 | 腾讯美国有限责任公司 | 视频解码方法、装置、计算机设备以及存储介质 |
CN110692243A (zh) * | 2017-08-29 | 2020-01-14 | 谷歌有限责任公司 | 用于在视频压缩中的熵代码化的概率的混合 |
US20210111736A1 (en) * | 2019-10-15 | 2021-04-15 | Tencent America LLC | Variational dropout with smoothness regularization for neural network model compression |
CN112821894A (zh) * | 2020-12-28 | 2021-05-18 | 湖南遥昇通信技术有限公司 | 一种基于加权概率模型的无损压缩方法和无损解压方法 |
-
2021
- 2021-10-22 CN CN202111231584.XA patent/CN114024551A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160126903A1 (en) * | 2014-11-05 | 2016-05-05 | King Fahd University Of Petroleum And Minerals | Weighted memory polynomial method and system for power amplifiers predistortion |
CN110692243A (zh) * | 2017-08-29 | 2020-01-14 | 谷歌有限责任公司 | 用于在视频压缩中的熵代码化的概率的混合 |
CN110636296A (zh) * | 2018-06-22 | 2019-12-31 | 腾讯美国有限责任公司 | 视频解码方法、装置、计算机设备以及存储介质 |
US20210111736A1 (en) * | 2019-10-15 | 2021-04-15 | Tencent America LLC | Variational dropout with smoothness regularization for neural network model compression |
CN112821894A (zh) * | 2020-12-28 | 2021-05-18 | 湖南遥昇通信技术有限公司 | 一种基于加权概率模型的无损压缩方法和无损解压方法 |
Non-Patent Citations (2)
Title |
---|
JIAN-JIUN DING: "Advanced contour compression algorithm using weighted curvature, Lagrange curve approximation, and improvement adapitive arithmetic coding", 《2015 10TH INTERMATIONAL CONFERENCE ON INFORMATION, COMMUNICATIONS AND SIGNAL PROCESSING (ICICS)》, 28 April 2016 (2016-04-28) * |
刘荣科, 张晓林, 廖小涛, 聂振钢: "基于可逆提升小波变换和上下文预测的SAR图像无损压缩算法", 航空学报, no. 06, 25 June 2002 (2002-06-25) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117856798A (zh) * | 2023-12-29 | 2024-04-09 | 苏州异格技术有限公司 | 一种基于数据流的字符压缩方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10499086B2 (en) | Video data encoding and decoding methods and apparatuses | |
CN112188198B (zh) | 图像数据压缩解压方法及系统 | |
EP1995974B1 (en) | Method for realizing arithmetic coding | |
TWI406510B (zh) | 在wyner-ziv視訊編碼中高效率編碼和解碼量化序列之方法 | |
CN112821894A (zh) | 一种基于加权概率模型的无损压缩方法和无损解压方法 | |
CN109474281B (zh) | 数据编码、解码方法及装置 | |
CN113486369B (zh) | 具有对称加密和无损压缩的编码方法、装置、设备及介质 | |
US11722148B2 (en) | Systems and methods of data compression | |
WO2010044100A1 (en) | Lossless compression | |
US12010352B2 (en) | Coding method and related device | |
KR20190038747A (ko) | 데이터 인코딩 방법, 장치 및 저장매체 | |
CN109075804B (zh) | 使用极化码的通信设备和通信方法 | |
CN111478885B (zh) | 一种非对称加解密方法、设备及存储介质 | |
CN110635807A (zh) | 一种数据编码方法及译码方法 | |
CN115765755A (zh) | 一种基于有限域乘法的ans编解码方法、设备及介质 | |
CN113630125A (zh) | 数据压缩、编码解压缩方法、装置、电子设备及存储介质 | |
CN114024551A (zh) | 数据无损压缩方法、系统、电子设备及介质 | |
EP3889791A1 (en) | Efficient encoding methods | |
Anantharaman et al. | Hardware implementation analysis of min-sum decoders | |
CN103401650A (zh) | 一种(n,1,m)有误码卷积码的盲识别方法 | |
CN113922947B (zh) | 一种基于加权概率模型的自适应对称编码方法以及系统 | |
CN116366071A (zh) | 一种基于ans编码的封装方法、系统、存储介质及设备 | |
Jia et al. | A greedy renormalization method for arithmetic coding | |
CN110739974A (zh) | 数据压缩方法及装置和计算机可读存储介质 | |
CN116015313A (zh) | 一种编解码方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |