CN106559084A - 一种基于算术编码的无损数据压缩编码方法 - Google Patents

一种基于算术编码的无损数据压缩编码方法 Download PDF

Info

Publication number
CN106559084A
CN106559084A CN201611026314.4A CN201611026314A CN106559084A CN 106559084 A CN106559084 A CN 106559084A CN 201611026314 A CN201611026314 A CN 201611026314A CN 106559084 A CN106559084 A CN 106559084A
Authority
CN
China
Prior art keywords
rational
unit interval
symbol
data compression
arithmetic coding
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.)
Granted
Application number
CN201611026314.4A
Other languages
English (en)
Other versions
CN106559084B (zh
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.)
Hangzhou Markov Technology Co ltd
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201611026314.4A priority Critical patent/CN106559084B/zh
Publication of CN106559084A publication Critical patent/CN106559084A/zh
Application granted granted Critical
Publication of CN106559084B publication Critical patent/CN106559084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种基于算术编码的无损数据压缩编码方法,包括以下过程:1)编码:假设n个源符号的概率分布为{0<p1<=p2<=...<=pn<1},是按照下标进行单调增序排列,给n个符号配上符号标号为{n‑1,n‑2,......,1,0},概率为pi的符号配上标号为n‑i,i=1,2,...,n,假设输入的长度为K字符串J1J2J3......Jn‑1JK,其中Ji∈{0,1,2,...,n‑1},那么定义该字符串对应于单位区间[0,1]内的有理数τ,将τ看作是十进制数,在数学上证明它是属于[0,1]单位区间的,将其转换成二进制表示,表示结果的二进制序列即为编码的输出比特流;2)解码:将所述比特流转成十进制有理数对应在单位区间[0,1]内的有理数。本发明不需要除法,且是熵最优码,不依赖分组扩展模式,使用方式灵活。

Description

一种基于算术编码的无损数据压缩编码方法
技术领域
本发明属于数据压缩领域,涉及一种无损数据压缩编码方法。
背景技术
算术编码是一种非常经典而知名的无损数据压缩编码方法。数据压缩技术在信息技术中具有极其重要的地位,数据压缩方法又分为有损压缩和无损压缩。有损压缩方法一般基于人类感知器官(听觉***、视觉***)的特性,删除大量感知冗余数据,但又不影响人们的收听和收视的感知质量。例如,音频MP3技术利用了人类听觉***的时域或频域屏蔽特性和听阈特性;而视频MPEG编码技术充分利用了人眼帧采样频率的特性对图像帧间运动估计作出有效补偿,从而删除大量的帧间冗余信息达到数据压缩的效果。无损压缩技术通常用于计算机文档、医学图像的数据压缩中,在那里数据是需要严格无损耗恢复的。此外,无损压缩技术还可以作为有损压缩技术***的后端,对输入的有损压缩数据流作进一步的无损压缩,如图1所示。
在无损压缩技术中Huffman编码是广泛使用的熵编码算法,相对于算术编码方法来说,其最大的问题是基于分组扩展模式来对字符串流进行编码处理,随着分组宽度的增加,其编码冗余度降低,因而逼近熵最优。但是由于分组宽度增加带来了字符表设计的复杂度的增加,且在实际应用中分组宽度固定的可扩展性、灵活度较差,实际上而逊于算术编码。算术编码是自然的流式编码,其没有分组扩展的概念,任意长短的输入字符串流皆可映射到一个[0,1]单位区间的有理数(或互不相交的区间段),适用性、灵活性都较Huffman编码高,且基于对字符源的概率分布的准确估计,算术编码也是熵最优编码,字符源的概率分布估计越精确,算术编码的冗余度越低、从而越接近熵最优。正因为算术编码的优势,导致它在技术上被研究得最充分,被授权的相关的专利也最多,虽然很多专利在上个世纪90年代失效了,但是近年来又有很多算术编码相关的专利被申请、并得到授权。反过来,由于算术编码被广泛地授权专利,所以反而给Huffman编码留出了很多工业应用的空间。
经典的算术编码的思想是将输入字符串流映射到[0,1]区间的一个有理数(十进制形式),再将这个数使用二进制表示成比特流,该比特流就是编码结果;解码过程将比特流转成[0,1]区间的十进制小数,通过符号源的概率分布,从首至尾逐个解出字符。具体编码过程如下,设符号源为{1,2,3,......,n},它们的概率分布为{p1,p2,...,pn},输入字符串为J1J2J3......Jn-1JK长度为K,其中Ji∈{1,2,...,n},该字符串对应的区间的左右端点分别为
其中约定可见该字符串对应的区间宽度为该字符串对应的有理数τ可定义为区间的中点τ=(τlr)/2。
解码过程如下,首先引入记号其中F0=0,Fn=1;输入字符串的长度为L的子串对应的区间的左右端点为τl L和τr L,其中τl 0=0,τr 0=1,令L=1,以下分四个步骤解码:
1)计算τ*=(τ-τl L-1)/(τr L-1l L-1)
2)确定满足Fi-1<=τ*<=Fi的i*即为JL=i*
3)
4)如L<K,则L=L+1,回到步骤1,否则结束。
以上就是算术编码解码的方法框架,在实际实现时仍有一些软件代码设计的细节。
现有的算术编码方法停留在软件代码实现的细节方面或者是将算术编码运用到其他***的设计中。
发明内容
为了克服已有算术编码方法存在的依赖于除法的不足,本发明提供了一种不需要除法的基于算术编码的无损数据压缩编码方法,并和已有算术编码同样是熵最优码,而且是非分组扩展模式的,使用方式灵活。
本发明解决其技术问题所采用的技术方案是:
一种基于算术编码的无损数据压缩编码方法,包括以下过程:
1)编码:假设n个源符号的概率分布为{0<p1<=p2<=...<=pn<1},是按照下标进行单调增序排列,给n个符号配上符号标号为{n-1,n-2,......,1,0},概率为pi的符号配上标号为n-i,i=1,2,...,n,假设输入的长度为K字符串其中Ji∈{0,1,2,...,n-1},那么定义该字符串对应于单位区间[0,1]内的有理数τ;
将τ看作是十进制数,在数学上证明它是属于[0,1]单位区间的,将其转换成二进制表示,表示结果的二进制序列即为编码的输出比特流;
2)解码:将所述比特流转成十进制有理数对应在单位区间[0,1]内的有理数,设为τ,令L=1,τ1=τ以下分三个步骤解码:
2.1)在集合中找出满足τL>=kpL n-k的最大的k,记为k*
2.2)JL=k*
2.3)如L<K,则并令L=L+1,回到步骤2.1),否则结束。
进一步,所述步骤2.1)中,满足τL>=kpL n-k的k总是存在的,至少k=0总满足,因而每次都存在最大的k*;得到J1J2J3......Jn-1JK即为解码的结果。
本发明的有益效果主要表现在:它也是一个流式编码,不依赖于分组扩展模式,使用方式灵活;此外,数学上证明它也是熵最优编码。
附图说明
图1是无损压缩技术作为有损压缩***的后端模块的示意图。
具体实施方式
下面对本发明作进一步描述。
一种基于算术编码的无损数据压缩编码方法,该算术编码从某个角度可以看成是从基本思路上突破了原有的算术编码的方法框架,包括以下过程:
1)编码:假设n个源符号的概率分布为{0<p1<=p2<=...<=pn<1},注意,是按照下标进行单调增序排列(在经典算术编码方式中并无此排列要求),给n个符号配上符号标号为{n-1,n-2,......,1,0},概率为pi的符号配上标号为n-i,i=1,2,...,n,从数学上证明假设输入的长度为K字符串J1J2J3......Jn-1JK,其中Ji∈{0,1,2,...,n-1},那么定义该字符串对应于单位区间[0,1]内的有理数τ;
将τ看作是十进制数,在数学上证明它是属于[0,1]单位区间的,将其转换成二进制表示,表示结果的二进制序列即为编码的输出比特流;
2)解码:将上述比特流转成十进制有理数对应在单位区间[0,1]内的有理数,设为τ,令L=1,τ1=τ以下分三个步骤解码:
2.1)在集合中找出满足τL>=kpL n-k的最大的k,记为k*
2.2)JL=k*
2.3)如L<K,则并令L=L+1,回到步骤2.1),否则结束。
所述步骤2.1)中,满足τL>=kpL n-k的k总是存在的,至少k=0总满足,因而每次都存在最大的k*;得到J1J2J3......Jn-1JK即为解码的结果。
算例一:一种基于算术编码的无损数据压缩编码方法,过程如下:
符号 A B C
概率 1/4 1/4 1/2
编号 2 1 0
1)输入字符串CBAB
对应编号为0121,对应的有理数为25/256=0.09765625,对应的比特流为00011001。解码,首先将00011001转换成十进制有理数25/256,在集合{1/2,1/4,0}中满足τL>=kpL n-k的最大k为0,所以J1=0;再在集合{1/8,1/16,0}中满足τL>=kpL n-k的最大k为1所以J2=1;再对9/256在集合{1/32,1/64,0}寻找满足τL>=kpL n-k的最大k为2所以J3=2;最后对1/256在集合{1/128,1/256,0}寻找满足τL>=kpL n-k的最大k为1所以J4=1,最终解码得到J1J2J3J4=0121对应于字符串CBAB。
2)输入字符串CACCB
对应编号为02001,对应的有理数为0.1259765625,对应的比特流为0010000001。解码过程0010000001对应的有理数为0.1259765625,在{1/2,1/4,0}中满足τL>=kpL n-k的最大k为0所以J1=0;在集合{1/8,1/16,0}满足要求的最大k为2所以J2=0;同理得到所以J3=J4=0,J5=1。
算例二::一种基于算术编码的无损数据压缩编码方法,过程如下:
输入字符串ABCCCCE对应于编号序列2100003,对应在有理数为0.4400003。解码如下,在{0.3,0.4,0.2,0}中最大的满足要求的k是2,其次在{0.03,0.08,0.04,0}中最大的满足要求的k是1,在{0.003,0.016,0.008,0}中的k是0,此后连续4次都为0,到第7次在{0.0000003,0.0000256,0.0000128,0}中k是3。最终解码得到2100003。

Claims (2)

1.一种基于算术编码的无损数据压缩编码方法,其特征在于:所述编码方法包括以下过程:
1)编码:假设n个源符号的概率分布为{0<p1<=p2<=...<=pn<1},是按照下标进行单调增序排列,给n个符号配上符号标号为{n-1,n-2,......,1,0},概率为pi的符号配上标号为n-i,i=1,2,...,n,假设输入的长度为K字符串其中Ji∈{0,1,2,...,n-1},那么定义该字符串对应于单位区间[0,1]内的有理数τ;
&tau; = &Sigma; i = 1 K J i p i n - J i
将τ看作是十进制数,在数学上证明它是属于[0,1]单位区间的,将其转换成二进制表示,表示结果的二进制序列即为编码的输出比特流;
2)解码:将所述比特流转成十进制有理数对应在单位区间[0,1]内的有理数,设为τ,令L=1,τ1=τ以下分三个步骤解码:
2.1)在集合中找出满足τL>=kpL n-k的最大的k,记为k*
2.2)JL=k*
2.3)如L<K,则并令L=L+1,回到步骤2.1),否则结束。
2.如权利要求1所述的一种基于算术编码的无损数据压缩编码方法,其特征在于:所述步骤2.1)中,满足τL>=kpL n-k的k总是存在的,至少k=0总满足,因而每次都存在最大的k*;得到J1J2J3......Jn-1JK即为解码的结果。
CN201611026314.4A 2016-11-15 2016-11-15 一种基于算术编码的无损数据压缩编码方法 Active CN106559084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611026314.4A CN106559084B (zh) 2016-11-15 2016-11-15 一种基于算术编码的无损数据压缩编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611026314.4A CN106559084B (zh) 2016-11-15 2016-11-15 一种基于算术编码的无损数据压缩编码方法

Publications (2)

Publication Number Publication Date
CN106559084A true CN106559084A (zh) 2017-04-05
CN106559084B CN106559084B (zh) 2019-07-30

Family

ID=58444626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611026314.4A Active CN106559084B (zh) 2016-11-15 2016-11-15 一种基于算术编码的无损数据压缩编码方法

Country Status (1)

Country Link
CN (1) CN106559084B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117095752A (zh) * 2023-08-21 2023-11-21 基诺创物(武汉市)科技有限公司 保持密码子偏好性的dna蛋白质编码区域流式数据存储方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102438145A (zh) * 2011-11-22 2012-05-02 广州中大电讯科技有限公司 一种基于Huffman编码的图片无损压缩方法
CN102684703A (zh) * 2012-04-26 2012-09-19 北京师范大学 一种高效的数字高程模型数据无损压缩的方法
CN105191145A (zh) * 2013-03-01 2015-12-23 古如罗技微***公司 数据编码器、数据解码器及编解码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102438145A (zh) * 2011-11-22 2012-05-02 广州中大电讯科技有限公司 一种基于Huffman编码的图片无损压缩方法
CN102684703A (zh) * 2012-04-26 2012-09-19 北京师范大学 一种高效的数字高程模型数据无损压缩的方法
CN105191145A (zh) * 2013-03-01 2015-12-23 古如罗技微***公司 数据编码器、数据解码器及编解码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
I. BALASINGHAM 等: "LOSSLESS IMAGE COMPRESSION USING INTEGER COEFFICIENT FILTER BANKS AND CLASS-WISE ARITHMETIC CODING", 《PROCEEDINGS OF THE 1998 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING,ICASSP"98》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117095752A (zh) * 2023-08-21 2023-11-21 基诺创物(武汉市)科技有限公司 保持密码子偏好性的dna蛋白质编码区域流式数据存储方法
CN117095752B (zh) * 2023-08-21 2024-03-19 基诺创物(武汉市)科技有限公司 保持密码子偏好性的dna蛋白质编码区域流式数据存储方法

Also Published As

Publication number Publication date
CN106559084B (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
CN107481295B (zh) 基于动态字节长度分配的卷积神经网络的图像压缩***
JPS63132530A (ja) ビツトレート低減方法および装置
CN101420231A (zh) 编码方法和装置、以及程序
CN103106901B (zh) 一种基于索引值的压缩域音频数字隐写及提取方法
CN105191145A (zh) 数据编码器、数据解码器及编解码方法
CN106488241A (zh) 一种感兴趣区域设置方法
WO2021046970A1 (zh) 一种基于算术编码的神经网络模型压缩加密方法及***
CN110061803B (zh) 一种低复杂度的极化码比特交织编码调制方法
Popovska-Mitrovikj et al. 4-Sets-Cut-Decoding algorithms for random codes based on quasigroups
CN106559084A (zh) 一种基于算术编码的无损数据压缩编码方法
Jalali et al. A universal scheme for Wyner–Ziv coding of discrete sources
Yuan et al. Exploring the benefits of cross-modal coding
CN103026636A (zh) 正交多描述编码
CN107508656A (zh) 一种在BEC信道上的Spinal信源信道联合译码方法
CN103746701A (zh) 一种用于Rice无损数据压缩的快速编码选项选择方法
Zhou et al. Distributed block arithmetic coding for equiprobable sources
CN104320147B (zh) 一种***不等差错保护的Raptor码方法
CN108600750A (zh) 基于ksvd的多描述编码、解码方法及***
CN106559179A (zh) 联合信源信道可变长符号级可逆编解码方法
CN103178968A (zh) 基于哈夫曼压缩的数据传输门限方案的加密方法
CN102244521A (zh) 一种归零Turbo码编码参数的盲识别方法
CN116015538A (zh) 一种基于Polar码的非正交多址接入通信方法
CN108880752B (zh) 一种针对于信息位固定情形的极化码穿刺通信方法
CN107257244A (zh) 一种基于广播环境下的喷泉码编码方法
CN106603081B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220127

Address after: 310000 5-1006, No. 501, No. 2 street, Baiyang street, Qiantang new area, Hangzhou, Zhejiang Province

Patentee after: Hangzhou Markov Technology Co.,Ltd.

Address before: The city Zhaohui six districts Chao Wang Road Hangzhou City, Zhejiang province 310014 18

Patentee before: ZHEJIANG University OF TECHNOLOGY

TR01 Transfer of patent right