CN102395031B - 一种数据压缩方法 - Google Patents

一种数据压缩方法 Download PDF

Info

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
Application number
CN 201110376355
Other languages
English (en)
Other versions
CN102395031A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN 201110376355 priority Critical patent/CN102395031B/zh
Publication of CN102395031A publication Critical patent/CN102395031A/zh
Application granted granted Critical
Publication of CN102395031B publication Critical patent/CN102395031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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、整数变换。
关于第一种Leoffler算法,它有一个乘加模块,如图4所示,可以看出一次4点DCT变换需要3次乘法,图3、图4中,
Figure GDA00002820334900011
表示乘加模块的参数,图4中,输出O0、O1分别为:
O 0 = I 0 cos 3 π 8 + I 1 sin 3 π 8 , O 1 = - I 0 sin 3 π 8 + I 1 cos 3 π 8 .
而采用整数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, I 1 = 2 × y 3 ;
S14、对步骤S13得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0,从而可以得到:
f 0 f 1 f 2 f 3 = y 0 + y 1 y 2 + y 3 + 2 y 3 y 0 - y 1 - ( y 2 + y 3 ) + 2 y 3 .
优选地,在步骤S1之前还包括步骤S0、对四个量化步长qi分别进行加权,得到加权之后的量化步长供步骤S2使用,i=0,1,2,3。
优选地,步骤S0中,加权之后的量化步长所构成的量化表为:
Q ′ = q 0 q 1 2 α q 2 q 3 2 β ,
其中, α = cos 3 π 8 , β = sin 3 π 8 .
优选地,在步骤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, I 1 = 2 × y 3 ;
S14’、对步骤S13’得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0,从而可以得到:
f 0 f 1 f 2 f 3 = y 0 + y 1 y 2 + y 3 + 2 y 3 y 0 - y 1 - ( y 2 + y 3 ) + 2 y 3 .
优选地,在步骤S1’之前还包括步骤S0’、对4×4个量化步长qi,j分别进行加权,得到加权之后的量化步长供步骤S2’使用,i,j=0,1,2,3。
优选地,步骤S0’中,加权之后的量化步长所构成的量化表为:
Q ′ = q 00 q 01 2 α q 02 q 03 2 β q 10 2 α q 11 2 α 2 q 12 2 α q 13 2 αβ q 20 q 21 2 α q 22 q 23 2 β q 30 2 β q 31 2 αβ q 32 2 β q 33 2 β 2 ,
其中, α = cos 3 π 8 , β = sin 3 π 8 .
优选地,在步骤S2’之后还包括:S3’、对步骤S2’得到的量化结果进行熵编码。
以上步骤S12’与步骤S13’的顺序可以互换。
(三)有益效果
本发明利用三角函数的对称关系将数据压缩过程的一维4点DCT变换中的一部分系数(α、β)提取出来,对量化步长进行加权,用加权后的量化步长对DCT系数进行量化,使得在数据压缩精度、结构不变的情况下将现有技术中所需要的DCT变换运算的3次乘法简化为1次乘法,从而加快了数据压缩的速度并减少了其开销。本发明的技术尤其适用于一维数据压缩以及二维数据压缩(例如图像压缩)。
附图说明
图1是本发明实施例一的方法流程图;
图2是本发明实施例二的方法流程图;
图3是一维4点DCT变换Leoffler算法结构示意图;
图4是图3的Leoffler算法中乘加模块结构示意图;
图5是本发明的改进后的乘加模块结构图。
具体实施方式
下面对于本发明所提出的一种数据压缩方法,结合附图和实施例详细说明。
本发明的核心思想在于利用三角函数的对称关系 tan 3 π 8 = 1 + 2 , cot 3 π 8 = 2 - 1 将一维4点DCT变换中的一部分系数(本发明实施例中指α、β,详见下文)提取出来,与预设的量化表合并,使得在精度、结构不变的情况下将现有技术中所需要的3次乘法简化为1次乘法。下面说明其原理。如图4所示的乘加模块,其输出:
O 0 = I 0 cos 3 π 8 + I 1 sin 3 π 8 = cos 3 π 8 ( I 0 + I 1 tan 3 π 8 ) = cos 3 π 8 ( I 0 + I 1 + 2 I 1 )
O 1 = - I 0 sin 3 π 8 + I 1 cos 3 π 8 = sin 3 π 8 ( - I 0 + I 1 cot 3 π 8 ) = sin 3 π 8 ( - ( I 0 + I 1 ) + 2 I 1 )
在以上两个输出中,系数 α = cos 3 π 8 , β = sin 3 π 8 可以与后面的量化表结合起来,这样就只乘下一个乘法
Figure GDA00002820334900057
了。因此,图5中,本发明的改进后的乘加模块的输出 O 0 ′ = I 0 + I 1 + 2 I 1 , O 1 ′ = - ( I 0 + I 1 ) + 2 I 1 .
下面通过两个具体的实施例来说明本发明的实施过程。实施例一是对一维信号数据做一维4点DCT压缩。实施例二是对图像进行JPEG压缩,它是对二维数据进行有损压缩。
实施例一
对于输入的一维数据,每四个分为一组,分别进行DCT变换和量化。整个流程如图1所示。
设输入的四个一维数据为:
x 0 x 1 x 2 x 3
S11、对该列数据进行加、减运算,得到:
y 0 y 1 y 2 y 3 = x 0 + x 3 x 1 + x 2 x 1 - x 2 x 0 - x 3
对以上运算的结果,进行以下运算:
S12、对步骤S11得到的数据y0,y1做加、减运算,得到两个数据:f0=y0+y1,f2=y0-y1
S13、对步骤S11得到的数据y2,y3做加、乘运算,得到两个数据:I0=y2+y3, I 1 = 2 × y 3 ;
S14、对步骤S13得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0,从而得到:
f 0 f 1 f 2 f 3 = y 0 + y 1 y 2 + y 3 + 2 y 3 y 0 - y 1 - ( y 2 + y 3 ) + 2 y 3 .
在上述两个过程中,共包含一次乘法和9次加法(从发明内容的步骤S11~S14也可以看出来)。这样在DCT的过程中乘法次数就只乘一次了。这样完全不影响量化之后得到的结果,而且不增加任何额外的运算。在很多应用中,DCT之后的步骤就是量化,量化的过程本身也可以认为是一个对DCT系数的加权过程。
设原来对应DCT系数的四个量化步长分别为:qi,i=0,1,2,3。原来对应DCT系数的四个量化步长所构成的量化表为:
Q = q 0 q 1 2 q 2 q 3 2
那么对这四个量化步长分别进行加权,加权之后得到一维量化表Q',然后用加权之后得到的得到一维量化表Q'对DCT变换的系数进行量化。
Q ′ = q 0 q 1 2 α q 2 q 3 2 β
其中, α = cos 3 π 8 , β = sin 3 π 8 .
由于这些加权系数α、β和量化步长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 00 q 01 2 q 02 q 03 2 q 10 2 q 11 2 q 12 2 q 13 2 q 20 q 21 2 q 22 q 23 2 q 30 2 q 31 2 q 31 2 q 33 2
那么对这上述量化步长分别进行加权,加权之后得到二维量化表Q',然后用加权之后得到的得到二维量化表Q'对DCT变换的系数进行量化。
Q = q 00 q 01 2 α q 02 q 03 2 β q 10 2 α q 11 2 α 2 q 12 2 α q 13 2 αβ q 20 q 21 2 α q 22 q 23 2 β q 30 2 β q 31 2 αβ q 32 2 β q 33 2 β 2
其中, α = cos 3 π 8 , β = sin 3 π 8 . 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; 
S13、对步骤S11得到的数据y2,y3做加、乘运算,得到两个数据:I0=y2+y3,
Figure FDA00002820334800011
S14、对步骤S13得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0
在步骤S1之前还包括:
步骤S0、对四个量化步长qi分别进行加权,得到加权之后的量化步长供步骤S2使用,i=0,1,2,3;
其中加权之后的量化步长所构成的量化表为:
其中,
Figure FDA00002820334800014
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; 
S13’、对步骤S11’得到的数据y2,y3做加、乘运算,得到两个数据:I0=y2+y3,
Figure FDA00002820334800021
S14’、对步骤S13’得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0
步骤S1’之前还包括:
步骤S0’、对4×4个量化步长qi,j分别进行加权,得到加权之后的量化步长供步骤S2’使用,i,j=0,1,2,3;
其中加权之后的量化步长所构成的量化表为:
Figure FDA00002820334800031
其中,
Figure FDA00002820334800033
5.如权利要求4所述的方法,其特征在于,在步骤S2’之后还包括:S3’、对步骤S2’得到的量化结果进行熵编码。 
6.如权利要求4或5所述的方法,其特征在于,步骤S12’与步骤S13’的顺序可以互换。 
CN 201110376355 2011-11-23 2011-11-23 一种数据压缩方法 Active CN102395031B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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