CN102395031A - 一种数据压缩方法 - Google Patents
一种数据压缩方法 Download PDFInfo
- Publication number
- CN102395031A CN102395031A CN2011103763557A CN201110376355A CN102395031A CN 102395031 A CN102395031 A CN 102395031A CN 2011103763557 A CN2011103763557 A CN 2011103763557A CN 201110376355 A CN201110376355 A CN 201110376355A CN 102395031 A CN102395031 A CN 102395031A
- Authority
- CN
- China
- Prior art keywords
- msub
- mrow
- mtd
- mfrac
- msqrt
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013144 data compression Methods 0.000 title claims abstract description 27
- 238000013139 quantization Methods 0.000 claims abstract description 60
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000007792 addition Methods 0.000 description 14
- 238000007906 compression Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 11
- 230000009466 transformation Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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做加、乘运算,得到两个数据:
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 (10)
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,
S14、对步骤S13得到的I0,I1做加、减运算,得到两个输出:f1=I1+I0,f3=I1-I0。
2.如权利要求1所述的方法,其特征在于,在步骤S1之前还包括步骤S0、对四个量化步长qi分别进行加权,得到加权之后的量化步长供步骤S2使用,i=0,1,2,3。
3.如权利要求2所述的方法,其特征在于,步骤S0中,加权之后的量化步长所构成的量化表为:
其中,
4.如权利要求1所述的方法,其特征在于,在步骤S2之后还包括:S3、对步骤S2得到的量化结果进行熵编码。
5.如权利要求1~4中任一项所述的方法,其特征在于,步骤S12与步骤S13的顺序可以互换。
6.一种数据压缩方法,其特征在于,包括以下步骤:
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。
7.如权利要求6所述的方法,其特征在于,在步骤S1’之前还包括步骤S0’、对4×4个量化步长qi,j分别进行加权,得到加权之后的量化步长供步骤S2’使用,i,j=0,1,2,3。
8.如权利要求7所述的方法,其特征在于,步骤S0’中,加权之后的量化步长所构成的量化表为:
其中,
9.如权利要求6所述的方法,其特征在于,在步骤S2’之后还包括:S3’、对步骤S2’得到的量化结果进行熵编码。
10.如权利要求6~9中任一项所述的方法,其特征在于,步骤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 true CN102395031A (zh) | 2012-03-28 |
CN102395031B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250505A (zh) * | 2016-08-01 | 2016-12-21 | 中国矿业大学 | 一种可变步长的矿井环境实时监测数据的动态压缩方法 |
CN107105245A (zh) * | 2017-05-26 | 2017-08-29 | 西安电子科技大学 | 基于tms320c6678芯片的高速jpeg图像压缩方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1533184A (zh) * | 2003-03-24 | 2004-09-29 | 华为技术有限公司 | 一种视频图象编码方法 |
US20070189626A1 (en) * | 2006-02-13 | 2007-08-16 | Akiyuki Tanizawa | Video encoding/decoding method and apparatus |
CN101426134A (zh) * | 2007-11-01 | 2009-05-06 | 上海杰得微电子有限公司 | 用于视频编解码的硬件装置及方法 |
CN101778291A (zh) * | 2010-01-27 | 2010-07-14 | 山东大学 | 基于提升结构的dct变换结构及其方法 |
EP0917070B1 (en) * | 1997-11-17 | 2010-07-14 | Sony Electronics Inc. | Method and apparatus for performing discrete cosine transformation and its inverse |
-
2011
- 2011-11-23 CN CN 201110376355 patent/CN102395031B/zh active Active
Patent Citations (5)
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 | 华为技术有限公司 | 一种视频图象编码方法 |
US20070189626A1 (en) * | 2006-02-13 | 2007-08-16 | Akiyuki Tanizawa | Video encoding/decoding method and apparatus |
CN101426134A (zh) * | 2007-11-01 | 2009-05-06 | 上海杰得微电子有限公司 | 用于视频编解码的硬件装置及方法 |
CN101778291A (zh) * | 2010-01-27 | 2010-07-14 | 山东大学 | 基于提升结构的dct变换结构及其方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250505A (zh) * | 2016-08-01 | 2016-12-21 | 中国矿业大学 | 一种可变步长的矿井环境实时监测数据的动态压缩方法 |
CN106250505B (zh) * | 2016-08-01 | 2019-05-17 | 中国矿业大学 | 一种可变步长的矿井环境实时监测数据的动态压缩方法 |
CN107105245A (zh) * | 2017-05-26 | 2017-08-29 | 西安电子科技大学 | 基于tms320c6678芯片的高速jpeg图像压缩方法 |
CN107105245B (zh) * | 2017-05-26 | 2019-08-06 | 西安电子科技大学 | 基于tms320c6678芯片的高速jpeg图像压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102395031B (zh) | 2013-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | Lossless data hiding for absolute moment block truncation coding using histogram modification | |
US20190141353A1 (en) | Image compression/decompression method and device, and image processing system | |
He et al. | Reversible data hiding in JPEG images based on negative influence models | |
CN102007489B (zh) | 逆向离散余弦变换的计算期间的误差减少 | |
RU2460129C2 (ru) | Структура преобразования с масштабированными и немасштабированными интерфейсами | |
US8170334B2 (en) | Image processing systems employing image compression and accelerated image decompression | |
US7474805B2 (en) | Efficient scaling in transform domain | |
US8170333B2 (en) | Image processing systems employing image compression | |
Zhou et al. | Image compression based on discrete cosine transform and multistage vector quantization | |
CN104244010B (zh) | 提高数字信号变换性能的方法及数字信号变换方法和装置 | |
Chen et al. | Steganography scheme based on side match vector quantization | |
WO2023159820A1 (zh) | 图像压缩方法、图像解压缩方法及装置 | |
Yang et al. | JPEG steganalysis with combined dense connected CNNs and SCA-GFR | |
CN102572426B (zh) | 一种数据处理的方法和装置 | |
US8170335B2 (en) | Image processing systems employing image compression and accelerated decompression | |
US8305244B2 (en) | Coding data using different coding alphabets | |
CN102395031B (zh) | 一种数据压缩方法 | |
CN107249130B (zh) | 一种用于数字视频编解码的3乘3整数dct变换量化器 | |
CN102037729B (zh) | 前向和逆向离散余弦变换的高效定点近似法 | |
CN105163130A (zh) | 一种基于离散Tchebichef正交多项式的图像无损压缩方法 | |
US6766341B1 (en) | Faster transforms using scaled terms | |
WO2020060832A1 (en) | Fast implementation of odd one dimensional transforms | |
Lv et al. | A novel auxiliary data construction scheme for reversible data hiding in JPEG images | |
Jeevan et al. | FPGA implementation of secure image compression with 2D-DCT using Verilog HDL | |
Kamal et al. | Iteration free fractal compression using genetic algorithm for still colour images |
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 |