CN102263560A - 差分编码方法和系统 - Google Patents

差分编码方法和系统 Download PDF

Info

Publication number
CN102263560A
CN102263560A CN2010101874103A CN201010187410A CN102263560A CN 102263560 A CN102263560 A CN 102263560A CN 2010101874103 A CN2010101874103 A CN 2010101874103A CN 201010187410 A CN201010187410 A CN 201010187410A CN 102263560 A CN102263560 A CN 102263560A
Authority
CN
China
Prior art keywords
value
data
difference value
code
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
CN2010101874103A
Other languages
English (en)
Other versions
CN102263560B (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to CN2010101874103A priority Critical patent/CN102263560B/zh
Publication of CN102263560A publication Critical patent/CN102263560A/zh
Application granted granted Critical
Publication of CN102263560B publication Critical patent/CN102263560B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了一种差分编码方法和系统。该方法包括:根据差分值所处的数值区间,从预先存储的差分编码代码表中获取对应于所述数值区间的代码作为所述差分值的编码结果的数据前缀;判断所述差分值的绝对值是否小于预先确定的特定值,并根据判断结果获取对应于所述差分值的代码作为所述差分值的编码结果的数据后缀,其中,如果所述差分值的绝对值小于所述特定值,则将所述差分值与所述数值区间的下边界值之间的差的二进制码作为所述数据后缀,否则将所述差分值的二进制补码中的最低N位作为所述数据后缀,其中N表示所述差分值的初始数据宽度;以及对所述数据前缀和所述数据后缀进行组合,并将组合后的数据作为所述差分值的编码结果。

Description

差分编码方法和系统
技术领域
本发明涉及数据处理领域,更具体地涉及一种差分编码方法和系统、以及一种用于对差分值的编码结果进行解码的方法和系统。
背景技术
差分编码处理被普遍用在计算相邻传输数据之间的差分并对这些差分进行熵编码以实现数据压缩的无损数据压缩方法中。
在传统的差分编码处理中,代码表是通过哈夫曼(Huffman)编码方法创建的。Huffman编码是一种可变长度编码方法。在Huffman编码处理中,通常为频繁出现的数据分配短代码长度,并为很少出现的数据分配长代码长度。当差分值范围比较大时,Huffman代码表通常很大。这将消耗硬件实现中的大量存储器来保存代码表。
Michael J.Barry等在1991年提出了一种代码表设计方法。这种方法使用可变长度代码来对最频繁出现的符号进行编码,并利用固定长度代码来对剩余符号进行编码,以降低对存储器的需求。在固定长度代码的设计中,这种方法为前缀分配D比特,并为后缀分配K比特。其中,D是可变长度代码的最长代码长度,K是差分的比特长度。固定长度代码设计方法效率不高,并且降低了压缩率。
发明内容
鉴于以上所述的一个或多个问题,本发明提出了一种新颖的差分编码方法和系统。
根据本发明实施例的差分编码方法包括:根据差分值所处的数值区间,从预先存储的差分编码代码表中获取对应于所述数值区间的代码作为所述差分值的编码结果的数据前缀;判断所述差分值的绝对值是否小于预定值,并根据判断结果获取对应于所述差分值的代码作为所述差分值的编码结果的数据后缀,其中,如果所述差分值的绝对值小于所述预定值,则将所述差分值与所述数值区间的下边界值之间的差的二进制码作为所述数据后缀,否则将所述差分值的二进制补码中的最低N位作为所述数据后缀,其中N表示所述差分值的初始数据宽度;以及对所述数据前缀和所述数据后缀进行组合,并将组合后的数据作为所述差分值的编码结果。其中,绝对值小于所述预定值的任意一个差分值的哈夫曼编码结果的数据宽度不大于其自身的原始数据宽度,并且绝对值大于或等于所述预定值的任意一个差分值的哈夫曼编码结果的数据宽度大于其自身的原始数据宽度。
根据本发明实施例的差分编码系统包括:前缀获取单元,被配置为根据差分值所处的数值区间,从预先存储的差分编码代码表中获取对应于所述数值区间的代码作为所述差分值的编码结果的数据前缀;后缀获取单元,被配置为判断所述差分值的绝对值是否小于预定值,并根据判断结果获取对应于所述差分值的代码作为所述差分值的编码结果的数据后缀,其中,如果所述差分值的绝对值小于所述预定值,则将所述差分值与所述数值区间的下边界值之间的差的二进制码作为所述数据后缀,否则将所述差分值的二进制补码中的最低N位作为所述数据后缀,其中N表示所述差分值的初始数据宽度;以及数据组合单元,被配置为对所述数据前缀和所述数据后缀进行组合,并将组合后的数据作为所述差分值的编码结果。其中,绝对值小于所述预定值的任意一个差分值的哈夫曼编码结果的数据宽度不大于其自身的原始数据宽度,并且绝对值大于或等于所述预定值的任意一个差分值的哈夫曼编码结果的数据宽度大于其自身的原始数据宽度。
根据本发明实施例的用于对差分值的编码结果进行解码的方法包括:根据差分值的编码结果的数据前缀,从预先存储的差分编码代码表中获取对应于所述数据前缀的数值区间;根据所述数据前缀获取所述差分值的编码结果的数据后缀;当对应于所述数据前缀的数据区间的绝对值较大的一个边界值的绝对值小于预定值时,将所述差分值的编码结果与对应于所述数据前缀的数据区间的下边界值的总和作为对应于所述差分值的编码结果的解码结果,当对应于所述数据前缀的数据区间的绝对值较小的一个边界值的绝对值大于所述预定值时,将所述差分值的编码结果的数据后缀作为对应于所述差分值的编码结果的解码结果。
根据本发明实施例的用于对差分值的编码结果进行解码的系统包括:区间获取单元,被配置为根据差分值的编码结果的数据前缀,从预先存储的差分编码代码表中获取对应于所述数据前缀的数值区间;后缀获取单元,被配置为根据所述数据前缀获取所述差分值的编码结果的数据后缀;解码执行单元,被配置为当对应于所述数据前缀的数据区间的绝对值较大的一个边界值的绝对值小于预定值时,将所述差分值的编码结果与对应于所述数据前缀的数据区间的下边界值的总和作为对应于所述差分值的编码结果的解码结果,当对应于所述数据前缀的数据区间的绝对值较小的一个边界值的绝对值大于所述预定值时,将所述差分值的编码结果的数据后缀作为对应于所述差分值的编码结果的解码结果。
如上所述,本发明提供了一种差分编码方法和系统、以及一种用于对差分值的编码结果进行解码的方法和系统。相对于Michael J.Barry提出的方法,本发明可以有效降低大于特定值的差分值的编码结果的数据宽度,从而可以改善最终的压缩率。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明,其中:
图1示出了用于通过差分编码方法对一系列数据进行编码的示例性系统的框图;
图2示出了差分数据的可能性分布情况的示意图;
图3示出了根据本发明实施例的差分编码系统的框图;
图4示出了根据本发明实施例的差分编码方法的流程图;
图5示出了根据本发明实施例的用于对差分值的编码结果进行解码的系统的框图;以及
图6示出了根据本发明实施例的用于对差分值的编码结果进行解码的方法的流程图。
具体实施方式
下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。
图1示出了用于通过差分编码方法对一系列数据进行编码的示例性系统的框图。如图1所示,该系统包括差分计算单元102和熵编码单元104。其中,差分计算单元102计算相邻的原始数据之间的差分值,例如:Diff[n+1]=Data[n+1]-Data[n],从而使得原始数据被映射至差分值。然后,熵编码单元104对差分计算单元102计算得出的差分值进行熵编码,以实现对一系列数据的编码。
具体地,在差分计算单元102中,数据没有被压缩,而是被扩展。例如,如果原始数据为8比特,则在差分运算之后,差分数据(也称为差分值)为9比特。在对差分计算单元102计算得出的差分值进行编码时,熵编码单元104检索差分编码代码表,以获取与输入的差分值相对应的代码。差分编码代码表是基于差分值的可能性分布生成的。常用的差分编码代码表生成方法是哈夫曼(Huffman)编码方法。它是由David A.Huffman在麻省理工大学(MIT)读博士期间开发的,于1952年在论文“A Methodfor the Construction of Minimum-Redundancy Codes”中发表。下面是Huffman差分编码代码表的一个示例:
差分值  代码
-510    100100000101100111
-509    100100000101100110
-508    100100000101100101
-507    100100000101100100
-506    100100000101100011
-505    100100000101100010
......
-18     10001011
-17     10010011
-16     00000011
-15     00101011
-14     00100011
-13     1000011
-12     1000111
-11     0000011
-10     0010011
-9      0110011
-8      100111
-7      001011
-6      011011
-5      00011
-4      01001
-3      1101
-2      0101
-1      101
0       111
1       0111
2       0011
3       1100
4       01000
5       00010
6       011010
7       000011
8      100101
9      0110010
10     0010010
11     0000010
12     1000110
13     1000010
14     00100001
15     00001011
16     00000001
17     10010010
18     10000011
......
505    100100000101000001
506    100100000101000000
507    100100000100000011
508    100100000100000010
509    100100000100000001
510    100100000100000000
从上表可以发现,对二进制补码的数据宽度为10比特的差分值(-510~510)进行编码时,最长代码长度是18比特。用于编码/解码的硬件需要用大容量存储器来存储这个差分编码代码表。
在以上示例中,需要进行编码的原始数据的数据宽度仅为8比特。利用图1所示的系统进行编码后,只有对应于绝对值较小的差分值(-18~18)的代码的数据长度小于8比特,而对应于其他的绝对值较大的差分值的代码的数据长度都大于8比特。所以,对绝对值较大的差分值的编码不会对数据压缩产生贡献。
图2示出了差分数据的可能性分布情况的示意图。如图2所示,差分值的可能性分布通常比较集中,绝对值较小的差分值比绝对值较大的差分值更频繁地出现。所以,本发明提出将绝对值较小的差分值编码为数据长度较短的代码,并将绝对值较大的差分值编码为数据长度较长的代码以实现压缩的想法。其中,由于绝对值大的差分值出现的可能性非常低,所以可以使用固定长度的代码来对其进行编码;而对应于绝对值较小的差分值的代码的数据长度在3-8比特之间,可以设计一种变长代码(3比特-8比特)来对数据范围(-18,18)附近的绝对值较小的差分值进行编码。
根据本发明实施例,首先需要创建一种不同于以上所述的Huffman编码代码表的一种新颖的差分编码代码表。具体地,创建新颖的差分编码代码表的处理包括:根据差分值的可能性分布,通过Huffman编码方法创建初始差分编码代码表(即如上所述的包含有各个差分值的Huffman编码结果的Huffman差分编码代码表);为Huffman编码结果的数据宽度不大于其自身的初始数据宽度的差分值分配不同长度的代码,以组成可变长度代码表,并为哈夫曼编码结果的数据宽度大于其自身的初始数据宽度的差分值分配固定长度的代码,以组成固定长度代码表;以及将可变长度代码表和固定长度代码表的组合为根据本发明实施例的新颖的差分编码代码表。在创建根据本发明实施例的差分编码代码表的处理中,将Huffman编码结果的数据宽度不大于其自身的初始数据宽度的差分值划分成多个数值区间,并且分别为每个数据区间分配数据宽度不同的代码,以组成可变长度代码表。其中,在可变长度代码表中,数据宽度最小的代码的数据宽度为Huffman编码结果的数据宽度不大于其自身的初始数据宽度的差分值中Huffman编码结果的数据宽度最小的一个差分值的Huffman编码结果的数据宽度,数据宽度最大的代码的数据宽度为Huffman编码结果的数据宽度不大于其自身的初始数据宽度的差分值中Huffman编码结果的数据宽度等于其自身的初始数据宽度的一个差分值的Huffman编码结果的数据宽度(即,其自身的初始数据宽度)。并且在固定长度代码表中,对应于Huffman编码结果的数据宽度大于其自身的初始数据宽度的差分值的代码的数据宽度为Huffman编码结果的数据宽度不大于其自身的初始数据宽度的差分值中Huffman编码结果的数据宽度最小的一个差分值的Huffman编码结果的数据宽度。
例如,在根据本发明实施例的差分编码代码表中,可以将数值范围[-22,22]划分成以下的多个数值区间:[-22,-15],[-14,-11],[-10,-7],[-6,-3],[-2,-1],[0],[1,2],[3,6],[7,10],[11,14],[15,22],并且分别为每个数值区间分配唯一的代码(即,互不相同的代码)。也就是说,在根据本发明实施例的差分编码代码表中,Huffman编码结果的数据宽度不大于其自身的初始数据宽度的差分值所在的数值区间与代码之间是一一对应的:
数值区间      代码
[-22,-15]    11011
[-14,-11]    11001
[-10,-7]     1011
[-6,-3]      100
[-2,-1]      010
[0]           000
[1,2]        001
[3,6]        011
[7,10]       1010
[11,14]      11000
[15,22]      11010
并且,Huffman编码结果的数据宽度大于其自身的初始数据宽度的差分值所在的数值区间[-510,-23]和[23,510]都对应于代码111。
也就是说,Huffman编码结果的数据宽度不大于其自身的初始数据宽度的差分值所在的数值区间分别对应于互不相同的代码,并且Huffman编码结果的数据宽度大于其自身的初始数据宽度的差分值所在的数值区间对应于同一个代码。
接下来,参考图3和图4描述利用根据本发明实施例的差分编码代码表进行差分编码的根据本发明实施例的差分编码系统和方法。图3示出了根据本发明实施例的差分编码系统的框图。图4示出了根据本发明实施例的差分编码方法的流程图。
如图3所示,根据本发明实施例的差分编码系统包括前缀获取单元302、后缀获取单元304、以及数据组合单元306。其中,前缀获取单元302根据差分值所处的数值区间,从预先存储的差分编码代码表中获取对应于差分值所处的数值区间的代码作为差分值的编码结果的数据前缀(即,执行步骤S402);后缀获取单元304判断差分值的绝对值是否小于预先确定的特定值,并根据判断结果获取对应于差分值的代码作为差分值的编码结果的数据后缀(即,执行步骤S404);数据组合单元306对数据前缀和数据后缀进行组合,并将组合后的数据作为差分值的编码结果(即,执行步骤S406)。
其中,如果差分值的绝对值小于特定值,则后缀获取单元304将差分值与差分值所处的数值区间的下边界值之间的差的二进制码作为数据后缀,否则将差分值的二进制补码中的最低N位作为数据后缀,其中N表示差分值的初始数据宽度。其中,绝对值小于特定值的任意一个差分值的哈夫曼编码结果的数据宽度不大于其自身的原始数据宽度,并且绝对值大于或等于特定值的任意一个差分值的哈夫曼编码结果的数据宽度大于其自身的原始数据宽度。并且绝对值小于特定值的差分值(相当于Huffman编码结果的数据宽度不大于其自身的初始数据宽度的差分值)所在的数值区间对应于互不相同的代码,并且绝对值大于或等于特定值的差分值(相当于Huffman编码结果的数据宽度大于其自身的初始数据宽度的差分值)对应于不同于根据本发明实施例的差分编码代码表中的其他代码的一个代码。下面结合上述数值区间和代码之间的对应关系的示例,详细描述根据本发明实施例的差分编码系统和方法对于处于数值范围[-22,22]中的差分值进行编码的处理。例如,为了对差分值9进行编码,前缀获取单元302从根据本发明实施例的差分编码代码表中获取对应于差分值9所处的数值区间[7,10]的代码1010作为差分值9的编码结果的数据前缀。接着,由于差分值9小于预先确定的特定值23,所以后缀获取单元304将差分值9与差分值9所处的数值区间[7,10]的下边界值7之间的差2的二进制码10作为差分值9的编码结果的数据后缀。然后,数据组合单元306对差分值9的编码结果的数据前缀和数据后缀进行组合,并将组合后的数据101010作为差分值9的编码结果。也就是说,每个差分值的编码结果都是“数据前缀”+“数据后缀”的结构。基于上述方法得出的绝对值小于特定值23的差分值(即,处于数据范围[-22,22]中的差分值)的编码结果如下:
差分值     编码结果
-22        11011000
-21        11011001
-20        11011010
-19        11011011
-18        11011100
-17        11011101
-16        11011110
-15        11011111
-14        1100100
-13        1100101
-12        1100110
-11        1100111
-10        101100
-9         101101
-8         101110
-7         101111
-6         10000
-5         10001
-4         10010
-3         10011
-2         0100
-1         0101
0          000
1          0010
2          0011
3          01100
4          01101
5     01110
6     01111
7     101000
8     101001
9     101010
10    101011
11    1100000
12    1100001
13    1100010
14    1100011
15    11010000
16    11010001
17    11010010
18    11010011
19    11010100
20    11010101
21    11010110
22    11010111
另外,对于绝对值大于特定值23的差分值,后缀获取单元304将差分值的二进制补码中的最低N位作为差分值的编码结果数据后缀,其中N表示差分值的初始数据宽度。例如,对于差分值-255(二进制补码为1100000001),其最低8位是00000001,编码结果(数据前缀+数据后缀)为11100000001。仅对大于特定值23的差分值的最低N位进行编码的原因在于,当使用差分值来重构原始数据时,仅使用差分值的最低N位。
下面参考图5和图6来详细描述利用根据本发明的差分编码代码表来对差分值的编码结果进行解码的系统和方法。图5示出了根据本发明实施例的用于对差分值的编码结果进行解码的系统的框图。图6示出了根据本发明实施例的用于对差分值的编码结果进行解码的方法的流程图。
如图5所示,根据本发明实施例的用于对差分值的编码结果进行解码的系统包括区间获取单元502、后缀获取单元504、以及解码执行单元506。其中,区间获取单元502根据差分值的编码结果的数据前缀,从根据本发明实施例的差分编码代码表中获取对应于差分值的编码结果的数据前缀的数值区间(即,执行步骤S602);后缀获取单元504根据对应于差分值的编码结果的数据前缀获取差分值的编码结果的数据后缀(即,执行步骤S604);解码执行单元506根据差分值的编码结果的数据前缀、对应于差分值的编码结果的数据前缀的数值区间、以及差分值的编码结果的数据后缀来对差分值的编码结果进行解码(即,执行步骤S606)。
其中,当对应于差分值的编码结果的数据前缀的数据区间的绝对值较大的一个边界值的绝对值小于预先确定的特定值时,解码执行单元506将差分值的编码结果与对应于差分值的编码结果的数据前缀的数据区间的下边界值的总和作为对应于差分值的编码结果的解码结果。当对应于差分值的编码结果的数据前缀的数据区间的绝对值较小的一个边界值的绝对值大于所述特定值时,解码执行单元506将差分值的编码结果的数据后缀作为对应于差分值的编码结果的解码结果。
综上所述,本发明将绝对值小于特定值的差分值分别编码为了数据宽度小于或等于该差分值的初始数据宽度的长度不同的代码,并将绝对值大于特定值的差分值编码为了固定长度的不同代码。其中,对应于任意一个绝对值大于特定值的差分值的固定长度代码包括M比特的数据前缀和N比特的数据后缀,M是对应于绝对值小于特定值的差分值的数据前缀中数据宽度最小的代码的代码长度,N是该差分值的原始数据长度(也称为数据宽度)。相对于Michael J.Barry提出的方法,本发明可以有效降低大于特定值的差分值的编码结果的数据宽度,从而可以改善最终的压缩率。
以上已经参考本发明的具体实施例来描述了本发明,但是本领域技术人员均了解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由所附权利要求或其等同物限定的本发明的精神和范围。
根据需要可以用硬件或软件来执行步骤。注意,在不脱离本发明范围的前提下,可向本说明书中给出的流程图添加步骤、从中去除步骤或修改其中的步骤。一般来说,流程图只是用来指示用于实现功能的基本操作的一种可能的序列。
本发明的实施例可利用编程的通用数字计算机、利用专用集成电路、可编程逻辑器件、现场可编程门阵列、光的、化学的、生物的、量子的或纳米工程的系统、组件和机构来实现。一般来说,本发明的功能可由本领域已知的任何手段来实现。可以使用分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或者通过任何其他手段。
还将意识到,根据特定应用的需要,附图中示出的要素中的一个或多个可以按更分离或更集成的方式来实现,或者甚至在某些情况下被去除或被停用。实现可存储在机器可读介质中的程序或代码以允许计算机执行上述任何方法,也在本发明的精神和范围之内。
此外,附图中的任何信号箭头应当被认为仅是示例性的,而不是限制性的,除非另有具体指示。当术语被预见为使分离或组合的能力不清楚时,组件或者步骤的组合也将被认为是已经记载了。

Claims (14)

1.一种差分编码方法,包括:
根据差分值所处的数值区间,从预先存储的差分编码代码表中获取对应于所述数值区间的代码作为所述差分值的编码结果的数据前缀;
判断所述差分值的绝对值是否小于预定值,并根据判断结果获取对应于所述差分值的代码作为所述差分值的编码结果的数据后缀,其中,如果所述差分值的绝对值小于所述预定值,则将所述差分值与所述数值区间的下边界值之间的差的二进制码作为所述数据后缀,否则将所述差分值的二进制补码中的最低N位作为所述数据后缀,其中N表示所述差分值的初始数据宽度;以及
对所述数据前缀和所述数据后缀进行组合,并将组合后的数据作为所述差分值的编码结果,
其中,绝对值小于所述预定值的任意一个差分值的哈夫曼编码结果的数据宽度不大于其自身的原始数据宽度,并且绝对值大于或等于所述预定值的任意一个差分值的哈夫曼编码结果的数据宽度大于其自身的原始数据宽度。
2.根据权利要求1所述的差分编码方法,其特征在于,还包括创建并存储所述差分编码代码表的步骤,其中,创建所述差分编码代码表的处理包括:
根据差分值的可能性分布,通过哈夫曼编码方法创建初始差分编码代码表,其中所述初始差分编码代码表中包含有对应于各个差分值的哈夫曼编码结果;
为哈夫曼编码结果的数据宽度不大于其自身的初始数据宽度的差分值分配不同长度的代码组成可变长度代码表,并为哈夫曼编码结果的数据宽度大于其自身的初始数据宽度的差分值分配固定长度的代码组成固定长度代码表;以及
将所述可变长度代码表和所述固定长度代码表组合为所述差分编码代码表。 
3.根据权利要求2所述的差分编码方法,其特征在于,所述可变长度代码表中数据宽度最大的代码的数据宽度为对应于所述数据宽度最大的代码的差分值的初始数据宽度,并且所述可变长度代码表中数据宽度最小的代码的数据宽度为对应于所述数据宽度最小的代码的差分值的哈夫曼编码结果的数据宽度。
4.根据权利要求1所述的差分编码方法,其特征在于,在所述差分编码代码表中,绝对值小于所述预定值的差分值所在的数值区间对应于互不相同的代码,并且绝对值大于或等于所述预定值的差分值对应于不同于所述差分编码代码表中的其他代码的一个代码。
5.根据权利要求4所述的差分编码方法,其特征在于,所述预定值为23。
6.根据权利要求5所述的差分编码方法,其特征在于,对应于数值范围[-22,22]中的各个数值区间的代码如下:
数值区间      代码
[-22,-15]    11011
[-14,-11]    11001
[-10,-7]     1011
[-6,-3]      100
[-2,-1]      010
[0]           000
[1,2]        001
[3,6]        011
[7,10]       1010
[11,14]      11000
[15,22]      11010。
7.一种差分编码系统,包括:
前缀获取单元,被配置为根据差分值所处的数值区间,从预先存储的差分编码代码表中获取对应于所述数值区间的代码作为所述差分值的编码结果的数据前缀; 
后缀获取单元,被配置为判断所述差分值的绝对值是否小于预定值,并根据判断结果获取对应于所述差分值的代码作为所述差分值的编码结果的数据后缀,其中,如果所述差分值的绝对值小于所述预定值,则将所述差分值与所述数值区间的下边界值之间的差的二进制码作为所述数据后缀,否则将所述差分值的二进制补码中的最低N位作为所述数据后缀,其中N表示所述差分值的初始数据宽度;以及
数据组合单元,被配置为对所述数据前缀和所述数据后缀进行组合,并将组合后的数据作为所述差分值的编码结果,
其中,绝对值小于所述预定值的任意一个差分值的哈夫曼编码结果的数据宽度不大于其自身的原始数据宽度,并且绝对值大于或等于所述预定值的任意一个差分值的哈夫曼编码结果的数据宽度大于其自身的原始数据宽度。
8.根据权利要求7所述的差分编码系统,其特征在于,还包括代码表创建单元,被配置为创建并存储所述差分编码代码表,其中,所述代码表创建单元通过以下处理创建所述差分编码代码表:
根据差分值的可能性分布,通过哈夫曼编码方法创建初始差分编码代码表,所述初始差分编码代码表中包含有各个差分值的哈夫曼编码结果;
为哈夫曼编码结果的数据宽度不大于其自身的初始数据宽度的差分值分配不同长度的代码组成可变长度代码表,并为哈夫曼编码结果的数据宽度大于其自身的初始数据宽度的差分值分配固定长度的代码组成固定长度代码表;以及
将所述可变长度代码表和所述固定长度代码表的组合为所述差分编码代码表。
9.根据权利要求8所述的差分编码系统,其特征在于,所述可变长度代码表中数据宽度最大的代码的数据宽度为对应于所述数据宽度最大的代码的差分值的初始数据宽度,并且所述可变长度代码表中数据宽度最小的代码的数据宽度为对应于所述数据宽度最小的代码的差分值的哈夫曼编码结果的数据宽度。
10.根据权利要求7所述的差分编码系统,其特征在于,在所述差分 编码代码表中,绝对值小于所述预定值的差分值所在的数值区间对应于互不相同的代码,并且绝对值大于或等于所述预定值的差分值对应于不同于所述差分编码代码表中的其他代码的一个代码。
11.根据权利要求10所述的差分编码系统,其特征在于,所述预定值为23。
12.根据权利要求11所述的差分编码系统,其特征在于,对应于数值范围[-22,22]中的各个数值区间的代码如下:
数值区间    代码
[-22,-15]  11011
[-14,-11]  11001
[-10,-7]   1011
[-6,-3]    100
[-2,-1]    010
[0]         000
[1,2]      001
[3,6]      011
[7,10]     1010
[11,14]    11000
[15,22]    11010。
13.一种用于对差分值的编码结果进行解码的方法,包括:
根据差分值的编码结果的数据前缀,从预先存储的差分编码代码表中获取对应于所述数据前缀的数值区间;
根据所述数据前缀获取所述差分值的编码结果的数据后缀;
当对应于所述数据前缀的数据区间的绝对值较大的一个边界值的绝对值小于预定值时,将所述差分值的编码结果与对应于所述数据前缀的数据区间的下边界值的总和作为对应于所述差分值的编码结果的解码结果,
当对应于所述数据前缀的数据区间的绝对值较小的一个边界值的绝对值大于所述预定值时,将所述差分值的编码结果的数据后缀作为对应于所述差分值的编码结果的解码结果。 
14.一种用于对差分值的编码结果进行解码的系统,包括:
区间获取单元,被配置为根据差分值的编码结果的数据前缀,从预先存储的差分编码代码表中获取对应于所述数据前缀的数值区间;
后缀获取单元,被配置为根据所述数据前缀获取所述差分值的编码结果的数据后缀;
解码执行单元,被配置为
当对应于所述数据前缀的数据区间的绝对值较大的一个边界值的绝对值小于预先确定的预定值时,将所述差分值的编码结果与对应于所述数据前缀的数据区间的下边界值的总和作为对应于所述差分值的编码结果的解码结果,
当对应于所述数据前缀的数据区间的绝对值较小的一个边界值的绝对值大于所述预定值时,将所述差分值的编码结果的数据后缀作为对应于所述差分值的编码结果的解码结果。 
CN2010101874103A 2010-05-28 2010-05-28 差分编码方法和系统 Expired - Fee Related CN102263560B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101874103A CN102263560B (zh) 2010-05-28 2010-05-28 差分编码方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101874103A CN102263560B (zh) 2010-05-28 2010-05-28 差分编码方法和系统

Publications (2)

Publication Number Publication Date
CN102263560A true CN102263560A (zh) 2011-11-30
CN102263560B CN102263560B (zh) 2013-11-20

Family

ID=45010050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101874103A Expired - Fee Related CN102263560B (zh) 2010-05-28 2010-05-28 差分编码方法和系统

Country Status (1)

Country Link
CN (1) CN102263560B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571101A (zh) * 2011-12-12 2012-07-11 海南电力技术研究院 输电线路故障行波数据压缩方法
CN102932001A (zh) * 2012-11-08 2013-02-13 大连民族学院 运动捕获数据压缩、解压缩方法
CN104467868A (zh) * 2014-11-04 2015-03-25 深圳市元征科技股份有限公司 中文文本压缩方法
CN110061813A (zh) * 2019-04-09 2019-07-26 惠州Tcl移动通信有限公司 一种数据编码方法和解码方法、及相关装置
CN114726380A (zh) * 2022-06-07 2022-07-08 西南交通大学 一种监测数据无损压缩方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1322406A (zh) * 1998-10-06 2001-11-14 松下电器产业株式会社 编码无损压缩方法及其装置和译码无损压缩方法及其装置
US20060176196A1 (en) * 2005-02-07 2006-08-10 Fuji Photo Film Co., Ltd. Data compression apparatus, and data compression program storage medium
US20070242894A1 (en) * 2004-10-08 2007-10-18 Kautzer Matthias Coding scheme for a data stream representing a temporally varying graphics model
CN101715132A (zh) * 2008-09-30 2010-05-26 雅马哈株式会社 无损压缩编码装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1322406A (zh) * 1998-10-06 2001-11-14 松下电器产业株式会社 编码无损压缩方法及其装置和译码无损压缩方法及其装置
US20070242894A1 (en) * 2004-10-08 2007-10-18 Kautzer Matthias Coding scheme for a data stream representing a temporally varying graphics model
US20060176196A1 (en) * 2005-02-07 2006-08-10 Fuji Photo Film Co., Ltd. Data compression apparatus, and data compression program storage medium
CN101715132A (zh) * 2008-09-30 2010-05-26 雅马哈株式会社 无损压缩编码装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
韩俊英等: "Huffman算法的分析与改进", 《兰州铁道学院学报》, vol. 22, no. 3, 30 June 2003 (2003-06-30) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571101A (zh) * 2011-12-12 2012-07-11 海南电力技术研究院 输电线路故障行波数据压缩方法
CN102932001A (zh) * 2012-11-08 2013-02-13 大连民族学院 运动捕获数据压缩、解压缩方法
CN102932001B (zh) * 2012-11-08 2015-07-29 大连民族学院 运动捕获数据压缩、解压缩方法
CN104467868A (zh) * 2014-11-04 2015-03-25 深圳市元征科技股份有限公司 中文文本压缩方法
CN110061813A (zh) * 2019-04-09 2019-07-26 惠州Tcl移动通信有限公司 一种数据编码方法和解码方法、及相关装置
CN110061813B (zh) * 2019-04-09 2022-10-04 惠州市仲恺Tcl智融科技小额贷款股份有限公司 一种数据编码方法和解码方法、及相关装置
CN114726380A (zh) * 2022-06-07 2022-07-08 西南交通大学 一种监测数据无损压缩方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN102263560B (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
JP5221047B2 (ja) 圧縮率の向上のために改善されたコンテキストモデル選択を使用するcabac符号化方法及び装置、並びにcabac復号化方法及び装置
EP1320832B1 (en) Method of compressing data packets
CN102263560B (zh) 差分编码方法和系统
US10547324B2 (en) Data compression coding method, apparatus therefor, and program therefor
US7791513B2 (en) Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786907B2 (en) Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
WO2009009605A1 (en) Data coding buffer for electrical computers and digital data processing systems
CN102708574A (zh) 图像数据的压缩
WO2009009602A1 (en) Data coding/decoding for electrical computers and digital data processing systems
CN101795407A (zh) 用于对比特序列进行编码的方法和设备
WO2009009574A2 (en) Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
CN110767241B (zh) 谱峰位置的编码与解码
CN105391454A (zh) 一种dna测序质量分数无损压缩方法
US7786903B2 (en) Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
KR102068383B1 (ko) 엔트로피 변형기 및 방법
KR100674937B1 (ko) 컨텍스트 적응형 이진 산술 복호화 장치
KR101023536B1 (ko) 데이터 무손실 압축 방법
CN102547295B (zh) 一种图像数据无损压缩的编码方法
CN102651795B (zh) 游长缩减的二元序列压缩编码方法
CN116366071A (zh) 一种基于ans编码的封装方法、系统、存储介质及设备
CN103210590A (zh) 压缩方法及设备
CN105573775A (zh) Fpga配置文件加载方法和解码器
CN104682966A (zh) 列表数据的无损压缩方法
JP2005521324A (ja) 損失のないデータの圧縮および圧縮解除方法および装置
JP5570437B2 (ja) エントロピー符号化装置、エントロピー復号装置、エントロピー符号化方法及びエントロピー復号方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131120

Termination date: 20180528

CF01 Termination of patent right due to non-payment of annual fee