CN111294055A - 一种基于自适应字典的数据压缩的编解码方法 - Google Patents
一种基于自适应字典的数据压缩的编解码方法 Download PDFInfo
- Publication number
- CN111294055A CN111294055A CN202010107260.4A CN202010107260A CN111294055A CN 111294055 A CN111294055 A CN 111294055A CN 202010107260 A CN202010107260 A CN 202010107260A CN 111294055 A CN111294055 A CN 111294055A
- Authority
- CN
- China
- Prior art keywords
- dictionary
- characters
- value
- character
- prefix
- 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
Links
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
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于自适应字典的数据压缩的编解码方法,将自适应字典和数据预测理论结合在一起,利用自适应字典对数据进行准确预测,通过输出真实值与预测值的差值,把数据转换到一个更加紧凑、高效的空间,以提高数据的压缩率,满足计算机系统中对数据存储、传输速率和实时性的速率需求。
Description
技术领域
本发明属于数据压缩重构领域,特别涉及了一种基于自适应字典的编解码方法。
背景技术
自20世纪70年代以来,计算机和互联网的普及为人类的生产生活带来了极大的便利。与此同时,存储数据量的快速增长和传输速率的不断提高,使数据压缩技术开始得到广泛的关注和应用。根据压缩过程是否丢失信息,数据压缩被分为有损压缩和无损压缩两大类,每大类又包含多种不同的压缩算法。有损压缩一般针对特定的形式的信息,例如图像、视频、音频等。而无损压缩可以用于任意信息的压缩,包括文本、网页、图像、专用数据流等,是相对有损压缩更为通用的数据压缩方法。
数据压缩的一般方法通常包括建模表达、二次量化、熵编码三个步骤。建模表达是建立一个模型以便能更紧凑、更有效地重新表达规律性不那么明显的原始数据,此步骤目的降低信号的熵,以便于提高数据的压缩效率。目前,建模表达的常用方式有KL变换、DCT、DWT、预测编码等。但上述方法计算量大、用时长,不利于数据的实时压缩,尤其对于周期信号,上述变换没有能够充分利用数据间的冗余度,使得变换后的空间数据的熵依旧比较大。
发明内容
为了解决上述背景技术提到的技术问题,本发明提出了一种基于自适应字典的数据压缩的编解码方法,提高数据的压缩率。
为了实现上述技术目的,本发明的技术方案为:
一种基于自适应字典的数据压缩的编码方法,包括以下步骤:
(1a)量化原始数据序列{x(i)},设x(k)为当前待编码字符,e(k)为x(k)的编码字符,下标k为位置指针,首先令k=1和2,此时不对x(1)和x(2)进行编码,即直接输出编码字符e(1)=x(1),e(2)=x(2);然后令k=3,以x(k)的前缀字符 x(k-1)与x(k-2)为二维坐标地址,储存已编码字符的前缀字符之间耦合的数据结构,建立二维字典D,D为一个n×n的矩阵,n为序列{x(i)}中不同字符的个数;
(2a)搜寻字典D中D(x(k-2),x(k-1))对应地址是否存在值,如果是,则执行步骤(3a),否则执行步骤(4a);其中,D(x(k-2),x(k-1))表示字典D中 (x(k-2),x(k-1))位置的值;
(3a)把D(x(k-2),x(k-1))的值赋值给x′(k),然后转入步骤(5a);
(4a)利用前缀字符x(k-1)与x(k-2)的线性组合预测x′(k);
(5a)利用x′(k)为x(k)编码,输出编码字符e(k);
(6a)使用x(k)更新字典中D(x(k-2),x(k-1))的值;
(7a)令k=k+1,更新前缀字符x(k-1)和x(k-2),返回步骤(2a)。
进一步地,在步骤(4a)中,x′(k)=ax(k-1)+bx(k-2),a、b为前缀字符的线性预测系数。
进一步地,在步骤(5a)中,e(k)=x(k)-x′(k)。
基于上述编码方法的解码方法,包括以下步骤:
(1b)输入待解码数据序列{e(i)},设e(k)为当前待解码字符,u(k)为e(k)的解码字符,下标k为位置指针,首先令k=1和2,不对e(1)和e(2)进行编码,即直接输出解码字符u(1)=e(1),u(2)=e(2);然后令k=3,以e(k)的前缀字符u(k-1)与u(k-2)为二维坐标地址,储存已解码字符的前缀字符之间耦合的数据结构,建立二维字典H,H为一个n×n的矩阵,n为序列{e(i)}中不同字符的个数;
(2b)搜寻字典H中H(u(k-2),u(k-1))对应地址是否存在值,如果是,则执行步骤(3b),否则执行步骤(4b);其中,H(u(k-2),u(k-1))表示字典H中 (u(k-2),u(k-1))位置的值;
(3b)把H(u(k-2),u(k-1))的值赋值给u′(k),然后转入步骤(5b);
(4b)利用前缀字符u(k-1)与u(k-2)的线性组合预测u′(k),此步骤中前缀字符的线性预测系数与权利要求1步骤(4a)中设置的相同;
(5b)利用u′(k)为e(k)解码,输出解码字符u(k);
(6b)使用u(k)更新字典H中H(u(k-2),u(k-1))的值;
(7b)令k=k+1,更新前缀字符u(k-1)和u(k-2),返回步骤(2b)。
进一步地,在步骤(4b)中,u′(k)=au(k-1)+bu(k-2),a、b为前缀字符的线性预测系数。
进一步地,在步骤(5a)中,u(k)=e(k)+u′(k)。
采用上述技术方案带来的有益效果:
(1)本发明能够把数据变换到一个更加稀疏的空间,从而使编码后的数据比原始数据有更低的信号熵;
(2)本发明输出的编码数据比原始数据更容易压缩,压缩的效果更好;
(3)本发明算法复杂度低,实时性好,有利于实时压缩。
附图说明
图1是本发明编码系统原理框图;
图2是本发明编码流程图;
图3是本发明解码系统原理框图;
图4是本发明解码流程图;
图5是本实施例周期信号的编码和解码示意图;
图6是本实施例非周期信号编码和解码示意图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
如图1和2所示,本发明设计的一种基于自适应字典的数据压缩的编码方法,包括以下步骤:
(1a)量化原始数据序列{x(i)},设x(k)为当前待编码字符,e(k)为x(k)的编码字符,下标k为位置指针,首先令k=1和2,此时不对x(1)和x(2)进行编码,即直接输出编码字符e(1)=x(1),e(2)=x(2);然后令k=3,以x(k)的前缀字符 x(k-1)与x(k-2)为二维坐标地址,储存已编码字符的前缀字符之间耦合的数据结构,建立二维字典D,D为一个n×n的矩阵,n为序列{x(i)}中不同字符的个数;
(2a)搜寻字典D中D(x(k-2),x(k-1))对应地址是否存在值,如果是,则执行步骤(3a),否则执行步骤(4a);其中,D(x(k-2),x(k-1))表示字典D中 (x(k-2),x(k-1))位置的值;
(3a)把D(x(k-2),x(k-1))的值赋值给x′(k),然后转入步骤(5a);
(4a)利用前缀字符x(k-1)与x(k-2)的线性组合预测x′(k);
(5a)利用x′(k)为x(k)编码,输出编码字符e(k);
(6a)使用x(k)更新字典中D(x(k-2),x(k-1))的值;
(7a)令k=k+1,更新前缀字符x(k-1)和x(k-2),返回步骤(2a)。
如图3和4所示,本发明设计的解码方法,包括以下步骤:
(1b)输入待解码数据序列{e(i)},设e(k)为当前待解码字符,u(k)为e(k)的解码字符,下标k为位置指针,首先令k=1和2,不对e(1)和e(2)进行编码,即直接输出解码字符u(1)=e(1),u(2)=e(2);然后令k=3,以e(k)的前缀字符u(k-1)与 u(k-2)为二维坐标地址,储存已解码字符的前缀字符之间耦合的数据结构,建立二维字典H,H为一个n×n的矩阵,n为序列{e(i)}中不同字符的个数;
(2b)搜寻字典H中H(u(k-2),u(k-1))对应地址是否存在值,如果是,则执行步骤(3b),否则执行步骤(4b);其中,H(u(k-2),u(k-1))表示字典H中 (u(k-2),u(k-1))位置的值;
(3b)把H(u(k-2),u(k-1))的值赋值给u′(k),然后转入步骤(5b);
(4b)利用前缀字符u(k-1)与u(k-2)的线性组合预测u′(k),此步骤中前缀字符的线性预测系数与权利要求1步骤(4a)中设置的相同;
(5b)利用u′(k)为e(k)解码,输出解码字符u(k);
(6b)使用u(k)更新字典H中H(u(k-2),u(k-1))的值;
(7b)令k=k+1,更新前缀字符u(k-1)和u(k-2),返回步骤(2b)。
本实施例采用MATLAB仿真周期信号和非周期信号的编码和解码,其结果如图5和6所示。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (6)
1.一种基于自适应字典的数据压缩的编码方法,其特征在于,包括以下步骤:
(1a)量化原始数据序列{x(i)},设x(k)为当前待编码字符,e(k)为x(k)的编码字符,下标k为位置指针,首先令k=1和2,此时不对x(1)和x(2)进行编码,即直接输出编码字符e(1)=x(1),e(2)=x(2);然后令k=3,以x(k)的前缀字符x(k-1)与x(k-2)为二维坐标地址,储存已编码字符的前缀字符之间耦合的数据结构,建立二维字典D,D为一个n×n的矩阵,n为序列{x(i)}中不同字符的个数;
(2a)搜寻字典D中D(x(k-2),x(k-1))对应地址是否存在值,如果是,则执行步骤(3a),否则执行步骤(4a);其中,D(x(k-2),x(k-1))表示字典D中(x(k-2),x(k-1))位置的值;
(3a)把D(x(k-2),x(k-1))的值赋值给x′(k),然后转入步骤(5a);
(4a)利用前缀字符x(k-1)与x(k-2)的线性组合预测x′(k);
(5a)利用x′(k)为x(k)编码,输出编码字符e(k);
(6a)使用x(k)更新字典中D(x(k-2),x(k-1))的值;
(7a)令k=k+1,更新前缀字符x(k-1)和x(k-2),返回步骤(2a)。
2.根据权利要求1所述基于自适应字典的数据压缩的编码方法,其特征在于,在步骤(4a)中,x′(k)=ax(k-1)+bx(k-2),a、b为前缀字符的线性预测系数。
3.根据权利要求1所述基于自适应字典的数据压缩的编码方法,其特征在于,在步骤(5a)中,e(k)=x(k)-x′(k)。
4.基于权利要求1所述编码方法的解码方法,其特征在于,包括以下步骤:
(1b)输入待解码数据序列{e(i)},设e(k)为当前待解码字符,u(k)为e(k)的解码字符,下标k为位置指针,首先令k=1和2,不对e(1)和e(2)进行编码,即直接输出解码字符u(1)=e(1),u(2)=e(2);然后令k=3,以e(k)的前缀字符u(k-1)与u(k-2)为二维坐标地址,储存已解码字符的前缀字符之间耦合的数据结构,建立二维字典H,H为一个n×n的矩阵,n为序列{e(i)}中不同字符的个数;
(2b)搜寻字典H中H(u(k-2),u(k-1))对应地址是否存在值,如果是,则执行步骤(3b),否则执行步骤(4b);其中,H(u(k-2),u(k-1))表示字典H中(u(k-2),u(k-1))位置的值;
(3b)把H(u(k-2),u(k-1))的值赋值给u′(k),然后转入步骤(5b);
(4b)利用前缀字符u(k-1)与u(k-2)的线性组合预测u′(k),此步骤中前缀字符的线性预测系数与权利要求1步骤(4a)中设置的相同;
(5b)利用u′(k)为e(k)解码,输出解码字符u(k);
(6b)使用u(k)更新字典H中H(u(k-2),u(k-1))的值;
(7b)令k=k+1,更新前缀字符u(k-1)和u(k-2),返回步骤(2b)。
5.根据权利要求4所述解码方法,其特征在于,在步骤(4b)中,u′(k)=au(k-1)+bu(k-2),a、b为前缀字符的线性预测系数。
6.根据权利要求4所述解码方法,其特征在于,在步骤(5a)中,u(k)=e(k)+u′(k)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010107260.4A CN111294055B (zh) | 2020-02-21 | 2020-02-21 | 一种基于自适应字典的数据压缩的编解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010107260.4A CN111294055B (zh) | 2020-02-21 | 2020-02-21 | 一种基于自适应字典的数据压缩的编解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111294055A true CN111294055A (zh) | 2020-06-16 |
CN111294055B CN111294055B (zh) | 2021-10-22 |
Family
ID=71023238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010107260.4A Active CN111294055B (zh) | 2020-02-21 | 2020-02-21 | 一种基于自适应字典的数据压缩的编解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111294055B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160315632A1 (en) * | 2014-10-07 | 2016-10-27 | Doron Kletter | Enhanced data compression for sparse multidimensional ordered series data |
CN106575527A (zh) * | 2014-04-02 | 2017-04-19 | 国际商业机器公司 | 生成用于数据存储的分子编码信息 |
CN109101522A (zh) * | 2017-06-20 | 2018-12-28 | 三星电子株式会社 | 数据压缩系统、有损数据压缩的方法和数据压缩的方法 |
-
2020
- 2020-02-21 CN CN202010107260.4A patent/CN111294055B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106575527A (zh) * | 2014-04-02 | 2017-04-19 | 国际商业机器公司 | 生成用于数据存储的分子编码信息 |
US20160315632A1 (en) * | 2014-10-07 | 2016-10-27 | Doron Kletter | Enhanced data compression for sparse multidimensional ordered series data |
CN109101522A (zh) * | 2017-06-20 | 2018-12-28 | 三星电子株式会社 | 数据压缩系统、有损数据压缩的方法和数据压缩的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111294055B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11895307B2 (en) | Block-based predictive coding for point cloud compression | |
CA2610721C (en) | Method and apparatus for adaptive tranforms for compressing data streams | |
CN108665067B (zh) | 用于深度神经网络频繁传输的压缩方法及系统 | |
CN107481295B (zh) | 基于动态字节长度分配的卷积神经网络的图像压缩系统 | |
KR100529311B1 (ko) | 신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법 | |
JP3083730B2 (ja) | データ情報を圧縮するためのシステムおよび方法 | |
US11863799B2 (en) | Image encoding method and apparatus, image decoding method and apparatus, and chip | |
WO2018120019A1 (zh) | 用于神经网络数据的压缩/解压缩的装置和系统 | |
CN111918071A (zh) | 数据压缩的方法、装置、设备及存储介质 | |
CN104380733A (zh) | 视频量化参数编码方法、视频量化参数解码方法、设备、以及程序 | |
CN111294055B (zh) | 一种基于自适应字典的数据压缩的编解码方法 | |
Cao et al. | End-to-end optimized image compression with deep Gaussian process regression | |
CN101754021B (zh) | 基于改进小波变换图像压缩方法实现手机移动门户的方法 | |
CN107205151B (zh) | 基于混合失真度量准则的编解码装置及方法 | |
Barman et al. | A review on lossless data compression techniques | |
Shaila et al. | Block encoding of color histogram for content based image retrieval applications | |
Lu et al. | Image Compression Based on Mean Value Predictive Vector Quantization. | |
Jagadeesh et al. | An approach for image compression using adaptive Huffman coding | |
Campobello et al. | A low complexity image compression algorithm for IoT multimedia applications | |
Kumar et al. | Comparative analysis of wavelet based compression methods | |
KR102654690B1 (ko) | 딥러닝 가속 장치 및 그 방법 | |
KR102394951B1 (ko) | 인코딩, 디코딩 장치 및 방법 | |
Chang et al. | Very efficient variable-length codes for the lossless compression of VQ indices | |
Huang et al. | Lossless compression algorithm for multi-source sensor data research | |
Jalumuri | A study of scanning paths for BWT-based image compression |
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 |