CN102395031B - 一种数据压缩方法 - Google Patents
一种数据压缩方法 Download PDFInfo
- Publication number
- CN102395031B CN102395031B CN 201110376355 CN201110376355A CN102395031B CN 102395031 B CN102395031 B CN 102395031B CN 201110376355 CN201110376355 CN 201110376355 CN 201110376355 A CN201110376355 A CN 201110376355A CN 102395031 B CN102395031 B CN 102395031B
- Authority
- CN
- China
- Prior art keywords
- data
- quantization
- dct
- data compression
- coefficient
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及数据压缩技术领域,公开了一种数据压缩方法,包括以下步骤:S1、对输入的四个一维数据x0,x1,x2,x3进行4点DCT变换,输出四个一维数据f0,f1,f2,f3;S2、用量化步长对DCT变换的系数进行量化。本发明利用三角函数的对称关系将数据压缩过程的一维4点DCT变换中的一部分系数(α、β)提取出来,对量化步长进行加权,用加权后的量化步长对DCT系数进行量化,使得在数据压缩精度、结构不变的情况下将现有技术中所需要的DCT变换运算的3次乘法简化为1次乘法,从而加快了数据压缩的速度并减少了其开销。
Description
技术领域
本发明涉及数据压缩技术领域,具体涉及一种数据压缩方法。
背景技术
随着计算机、网络的发展,这十多年来信号、图像和视频的各种处理技术和相应的应用在生活中越来越普及。数据压缩技术是在图像和视频的处理技术中常用到的一种技术,它是指以尽可能少的比特数以有损或无损的方式来表示信号、图像或视频中所包含的信息的技术。
目前主要应用的图像压缩方式多为有损压缩,大都包含了DCT变换、量化这两个步骤。DCT变换将图像从空域变换到频域,其系数都是实数;量化是指根据应用所需求信号、图像质量来降低DCT变换的系数的精度、进一步提高压缩效率的一个过程。对整个图像进行二维DCT变换是不现实的。所以一般会把图像分块进行二维DCT变换,一般可以分为4×4或8×8。一个二维DCT变换可以分解成为两个过程完全相同的一维DCT变换。
目前完成一维4点DCT变换,一般采用两种方法:1、一维4点DCT变换Leoffler(中文为“吕福乐”或“李福乐”)算法,如图3所示;2、整数变换。
而采用整数4点DCT变换则不需要乘法,但整数4点DCT变换本身只是一个近似的4点DCT变换,它与4点DCT变换之间存在误差,会影响图像质量。
关于第二种整数变换方法可以参考以下文献:
1.U.S.Patent No.5999957A“Lossless Transform System For DigitalSignals”;
2.U.S.Patent No.20020111979A1“Integer Transform Matrix ForPicture Coding”;
U.S.Patent No2003/0093452A1“Video Block Transform”。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是:如何简化数据压缩过程中的DCT变换运算,从而加快数据压缩的速度并减少其开销。
(二)技术方案
为解决上述技术问题,本发明提供了一种数据压缩方法,包括以下步骤:
S1、对输入的四个一维数据x0,x1,x2,x3进行4点DCT变换,输出四个一维数据f0,f1,f2,f3;
S2、线性提取DCT变换的一部分系数,并用所述系数对量化步长进行加权;
其中,步骤S1具体包括:
S11、对所述四个一维数据x0,x1,x2,x3做加、减运算,得到四个数据:y0=x0+x3,y1=x1+x2,y2=x1-x2,y3=x0-x3;
S12、对步骤S11得到的数据y0,y1做加、减运算,得到两个数据:f0=y0+y1,f2=y0-y1;
S13、对步骤S11得到的数据y2,y3做加、乘运算,得到两个数据:I0=y2+y3,
S14、对步骤S13得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0,从而可以得到:
优选地,在步骤S1之前还包括步骤S0、对四个量化步长qi分别进行加权,得到加权之后的量化步长供步骤S2使用,i=0,1,2,3。
优选地,步骤S0中,加权之后的量化步长所构成的量化表为:
其中,
优选地,在步骤S2之后还包括:S3、对步骤S2得到的量化结果进行熵编码。
以上步骤S12与步骤S13的顺序可以互换。
本发明还提供了一种数据压缩方法,包括以下步骤:
S1’、对输入的4×4数据块的每一列数据进行4点DCT变换,再将4点DCT变换之后得到的4×4数据块的每一行数据进行4点DCT变换;
S2’、线性提取DCT变换的一部分系数,并用所述系数对量化步长进行加权;
其中,所述4点DCT变换具体包括:
S11’、对四个一维数据x0,x1,x2,x3做加、减运算,得到四个数据:y0=x0+x3,y1=x1+x2,y2=x1-x2,y3=x0-x3;
S12’、对步骤S11’得到的数据y0,y1做加、减运算,得到两个数据:f0=y0+y1,f2=y0-y1;
S13’、对步骤S11’得到的数据y2,y3做加、乘运算,得到两个数据:I0=y2+y3,
S14’、对步骤S13’得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0,从而可以得到:
优选地,在步骤S1’之前还包括步骤S0’、对4×4个量化步长qi,j分别进行加权,得到加权之后的量化步长供步骤S2’使用,i,j=0,1,2,3。
优选地,步骤S0’中,加权之后的量化步长所构成的量化表为:
其中,
优选地,在步骤S2’之后还包括:S3’、对步骤S2’得到的量化结果进行熵编码。
以上步骤S12’与步骤S13’的顺序可以互换。
(三)有益效果
本发明利用三角函数的对称关系将数据压缩过程的一维4点DCT变换中的一部分系数(α、β)提取出来,对量化步长进行加权,用加权后的量化步长对DCT系数进行量化,使得在数据压缩精度、结构不变的情况下将现有技术中所需要的DCT变换运算的3次乘法简化为1次乘法,从而加快了数据压缩的速度并减少了其开销。本发明的技术尤其适用于一维数据压缩以及二维数据压缩(例如图像压缩)。
附图说明
图1是本发明实施例一的方法流程图;
图2是本发明实施例二的方法流程图;
图3是一维4点DCT变换Leoffler算法结构示意图;
图4是图3的Leoffler算法中乘加模块结构示意图;
图5是本发明的改进后的乘加模块结构图。
具体实施方式
下面对于本发明所提出的一种数据压缩方法,结合附图和实施例详细说明。
本发明的核心思想在于利用三角函数的对称关系 将一维4点DCT变换中的一部分系数(本发明实施例中指α、β,详见下文)提取出来,与预设的量化表合并,使得在精度、结构不变的情况下将现有技术中所需要的3次乘法简化为1次乘法。下面说明其原理。如图4所示的乘加模块,其输出:
下面通过两个具体的实施例来说明本发明的实施过程。实施例一是对一维信号数据做一维4点DCT压缩。实施例二是对图像进行JPEG压缩,它是对二维数据进行有损压缩。
实施例一
对于输入的一维数据,每四个分为一组,分别进行DCT变换和量化。整个流程如图1所示。
设输入的四个一维数据为:
S11、对该列数据进行加、减运算,得到:
对以上运算的结果,进行以下运算:
S12、对步骤S11得到的数据y0,y1做加、减运算,得到两个数据:f0=y0+y1,f2=y0-y1;
S13、对步骤S11得到的数据y2,y3做加、乘运算,得到两个数据:I0=y2+y3,
S14、对步骤S13得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0,从而得到:
在上述两个过程中,共包含一次乘法和9次加法(从发明内容的步骤S11~S14也可以看出来)。这样在DCT的过程中乘法次数就只乘一次了。这样完全不影响量化之后得到的结果,而且不增加任何额外的运算。在很多应用中,DCT之后的步骤就是量化,量化的过程本身也可以认为是一个对DCT系数的加权过程。
设原来对应DCT系数的四个量化步长分别为:qi,i=0,1,2,3。原来对应DCT系数的四个量化步长所构成的量化表为:
那么对这四个量化步长分别进行加权,加权之后得到一维量化表Q',然后用加权之后得到的得到一维量化表Q'对DCT变换的系数进行量化。
其中,
由于这些加权系数α、β和量化步长qi都是固定的数,所以得到Q'的步骤可以在DCT系数变换之前执行。
DCT系数变换之后,是用Q'对DCT变换的系数进行量化的步骤,以及之后对量化结果进行熵编码均为现有技术,熵编码之后得到一维数据压缩的结果。
实施例二
图像有损压缩中广泛地应用了DCT和量化两个过程。以下说明本发明应用于图像压缩中时的步骤。
与一维数据进行DCT变换不同的是,图像数据进行的是二维DCT变换。一个二维DCT变换可以通过对图像数据块的每一列进行一维DCT变换之后再对该结果的每一行进行DCT变换而得到。参考图2,本实施例包括:
步骤一:读取图像4×4数据块。
步骤二:将4×4数据块的每一列数据按步骤S11~S14的计算过程进行处理。
步骤三:将步骤二得到的4×4数据块每一行数据按步骤S11~S14的计算过程进行处理。
在以上步骤之后是量化过程。量化表是二维的,它由4×4个量化步长组成,对应二维DCT变换的4×4个系数。
在DCT变换之前,同样要先对量化步长进行加权。量化步长的加权过程可以以下公式来表示:
原来对应DCT系数的量化步长所构成的量化表为:
那么对这上述量化步长分别进行加权,加权之后得到二维量化表Q',然后用加权之后得到的得到二维量化表Q'对DCT变换的系数进行量化。
其中, qi,j,i,j=0,1,2,3是预设设定好的量化步长。
其它步骤与标准JPEG压缩相同,包括在DCT变换之后用Q'对DCT变换的系数进行量化的步骤,以及之后对量化结果进行熵编码的步骤,均为现有技术。
由以上实施例可以看出,本发明利用三角函数的对称关系将数据压缩过程的一维4点DCT变换中的一部分系数(α、β)提取出来,对量化步长进行加权,用加权后的量化步长对DCT系数进行量化,使得在数据压缩精度、结构不变的情况下将现有技术中所需要的DCT变换运算的3次乘法简化为1次乘法,从而加快了数据压缩的速度并减少了其开销。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (6)
1.一种数据压缩方法,其特征在于,包括以下步骤:
S1、对输入的四个一维数据x0,x1,x2,x3进行4点DCT变换,输出四个一维数据f0,f1,f2,f3;
S2、线性提取DCT变换的一部分系数,并用所述系数对量化步长进行加权;
其中,步骤S1具体包括:
S11、对所述四个一维数据x0,x1,x2,x3做加、减运算,得到四个数据:y0=x0+x3,y1=x1+x2,y2=x1-x2,y3=x0-x3;
S12、对步骤S11得到的数据y0,y1做加、减运算,得到两个数据:f0=y0+y1,f2=y0-y1;
S14、对步骤S13得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0;
在步骤S1之前还包括:
步骤S0、对四个量化步长qi分别进行加权,得到加权之后的量化步长供步骤S2使用,i=0,1,2,3;
其中加权之后的量化步长所构成的量化表为:
2.如权利要求1所述的方法,其特征在于,在步骤S2之后还包 括:S3、对步骤S2得到的量化结果进行熵编码。
3.如权利要求1或2中所述的方法,其特征在于,步骤S12与步骤S13的顺序可以互换。
4.一种数据压缩方法,其特征在于,包括以下步骤:
S1’、对输入的4×4数据块的每一列数据进行4点DCT变换,再将4点DCT变换之后得到的4×4数据块的每一行数据进行4点DCT变换;
S2’、线性提取DCT变换的一部分系数,并用所述系数对量化步长进行加权;
其中,所述4点DCT变换具体包括:
S11’、对四个一维数据x0,x1,x2,x3做加、减运算,得到四个数据:y0=x0+x3,y1=x1+x2,y2=x1-x2,y3=x0-x3;
S12’、对步骤S11’得到的数据y0,y1做加、减运算,得到两个数据:f0=y0+y1,f2=y0-y1;
S14’、对步骤S13’得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0;
步骤S1’之前还包括:
步骤S0’、对4×4个量化步长qi,j分别进行加权,得到加权之后的量化步长供步骤S2’使用,i,j=0,1,2,3;
其中加权之后的量化步长所构成的量化表为:
5.如权利要求4所述的方法,其特征在于,在步骤S2’之后还包括:S3’、对步骤S2’得到的量化结果进行熵编码。
6.如权利要求4或5所述的方法,其特征在于,步骤S12’与步骤S13’的顺序可以互换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110376355 CN102395031B (zh) | 2011-11-23 | 2011-11-23 | 一种数据压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110376355 CN102395031B (zh) | 2011-11-23 | 2011-11-23 | 一种数据压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102395031A CN102395031A (zh) | 2012-03-28 |
CN102395031B true CN102395031B (zh) | 2013-08-07 |
Family
ID=45862229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110376355 Active CN102395031B (zh) | 2011-11-23 | 2011-11-23 | 一种数据压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102395031B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250505B (zh) * | 2016-08-01 | 2019-05-17 | 中国矿业大学 | 一种可变步长的矿井环境实时监测数据的动态压缩方法 |
CN107105245B (zh) * | 2017-05-26 | 2019-08-06 | 西安电子科技大学 | 基于tms320c6678芯片的高速jpeg图像压缩方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1533184A (zh) * | 2003-03-24 | 2004-09-29 | 华为技术有限公司 | 一种视频图象编码方法 |
CN101426134A (zh) * | 2007-11-01 | 2009-05-06 | 上海杰得微电子有限公司 | 用于视频编解码的硬件装置及方法 |
EP0917070B1 (en) * | 1997-11-17 | 2010-07-14 | Sony Electronics Inc. | Method and apparatus for performing discrete cosine transformation and its inverse |
CN101778291A (zh) * | 2010-01-27 | 2010-07-14 | 山东大学 | 基于提升结构的dct变换结构及其方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1986440A4 (en) * | 2006-02-13 | 2010-11-17 | Toshiba Kk | METHOD OF ENCODING / DECODING IMAGE IN MOTION AND DEVICE AND PROGRAM |
-
2011
- 2011-11-23 CN CN 201110376355 patent/CN102395031B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0917070B1 (en) * | 1997-11-17 | 2010-07-14 | Sony Electronics Inc. | Method and apparatus for performing discrete cosine transformation and its inverse |
CN1533184A (zh) * | 2003-03-24 | 2004-09-29 | 华为技术有限公司 | 一种视频图象编码方法 |
CN101426134A (zh) * | 2007-11-01 | 2009-05-06 | 上海杰得微电子有限公司 | 用于视频编解码的硬件装置及方法 |
CN101778291A (zh) * | 2010-01-27 | 2010-07-14 | 山东大学 | 基于提升结构的dct变换结构及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102395031A (zh) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101399989B (zh) | 减少位深的量子化方法 | |
CN101796506A (zh) | 具有比例缩放式和非比例缩放式接口的变换设计 | |
US8170334B2 (en) | Image processing systems employing image compression and accelerated image decompression | |
US8170333B2 (en) | Image processing systems employing image compression | |
CN104244010B (zh) | 提高数字信号变换性能的方法及数字信号变换方法和装置 | |
Zhou et al. | Image compression based on discrete cosine transform and multistage vector quantization | |
CN101867809A (zh) | 基于脉动阵列的高速图像压缩vlsi编码方法及编码器 | |
CN106791836A (zh) | 一种基于一对多网络的减少图像压缩效应的方法 | |
US20020181027A1 (en) | Apparatus and method for encoding and computing a discrete cosine transform using a butterfly processor | |
CN102395031B (zh) | 一种数据压缩方法 | |
US20030020965A1 (en) | Apparatus and method for decoding and computing a discrete cosine transform using a butterfly processor | |
Brahimi et al. | An efficient fast integer DCT transform for images compression with 16 additions only | |
CN102572426B (zh) | 一种数据处理的方法和装置 | |
US8170335B2 (en) | Image processing systems employing image compression and accelerated decompression | |
CN105163130B (zh) | 一种基于离散Tchebichef正交多项式的图像无损压缩方法 | |
CN103763566A (zh) | 基于三维矩阵wdct变换的彩色半调图像压缩方法 | |
CN100450184C (zh) | 运用于图像编码和视频编码的离散余弦变换方法 | |
US6766341B1 (en) | Faster transforms using scaled terms | |
CN100520765C (zh) | 确定给定变换函数的变换元素的过程和设备,数字信号变换方法和设备及计算机可读介质 | |
CN103310426A (zh) | 一种基于jpeg频域变换的图像增强方法及装置 | |
Deepthi et al. | Design and Implementation of JPEG Image Compression and Decompression | |
CN100388316C (zh) | 高精度的无乘法器的数字余弦变换电路及其变换方法 | |
CN116128737B (zh) | 一种基于数据压缩的图像超分网络鲁棒性提升装置 | |
Gao et al. | Lattice structure for generalized-support multidimensional linear phase perfect reconstruction filter bank | |
June | An Introduction to Digital Video Data Compression in Java |
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 |