图像压缩方法及装置的制造方法

文档序号:9619128阅读:573来源:国知局
图像压缩方法及装置的制造方法
【技术领域】
[0001] 本发明实施例涉及图像处理技术领域,尤其涉及一种图像压缩方法及装置。
【背景技术】
[0002] 随着生活进入信息化时代,人们将更多依靠设备从互联网中获取信息,从而需要 大量的储存、记录和传输信息。但大量的信息以数字化方式表示、存储、传输,这些数字化的 信息中图像占用了极大的空间。为了使图像的信息数据能够有效的储存、传输和利用,必须 压缩数据的大小。可把图像视为一个庞大的信息集合,描述这些信息中就要包括是信息量 和信息冗余等。图像数据压缩技术就是研究怎样利用图像数据的冗余性减少图像数据量的 方法。
[0003] 如图1所示,为图像压缩的一般步骤,主要包括编码阶段和解码阶段,其中编码阶 段包括:第一步对图像数据进行映射变换,采用这种方式其目的就是为了消除图像里面的 大部分的相关性,使其冗余度大大降低。经过映射阶段,原始图像的数据特点将被转变,更 加有利于图片压缩编码。第二步是量化过程,本质是将去除冗余信息形成的参数进入熵编 码阶段。第三步是统计编码也就是熵编码,完成量化之后可以使用统计编码处理符号,这也 能减少图像不必要的数据量,使压缩能够完成,目前常用的统计编码包括Huffman编码等。 把上述过程的流程反向操作就是压缩的解码过程,主要包括:对编码流进行解码,然后进行 反量化,最后进行反映射变换。
[0004] 而现有技术中,在现有的图像压缩过程中,采用的映射变换为DCT变换,而DCT变 换并不能有效的去除图像中的冗余信息,致使后续编码过程中含有较多的冗余信息,降低 了编码效率和压缩比。

【发明内容】

[0005] 本发明实施例提供一种图像压缩方法和装置,以有效去除图像中的冗余信息,提 高编码效率和压缩比。
[0006] 第一方面,本发明实施例提供了一种图像压缩方法,包括:
[0007] 对图像原始数据进行预处理;
[0008] 对于预处理得到的图像数据进行沃尔什WALSH变换;
[0009] 针对变换后的图像数据采用熵编码算法进行图像压缩。
[0010] 第二方面,本发明实施例还提供一种图像压缩装置,包括:
[0011] 预处理模块,用于对图像原始数据进行预处理;
[0012] 变换模块,用于对于预处理得到的图像数据进行沃尔什WALSH变换;
[0013] 压缩编码模块,用于针对变换后的图像数据采用熵编码算法进行图像压缩。
[0014] 本发明实施例通过对图像原始数据进行预处理;对于预处理得到的图像数据进行 沃尔什WALSH变换;针对变换后的图像数据采用熵编码算法进行图像压缩。本发明实施例 通过使用WALSH能够有效去除图像中的冗余信息,提高编码效率和压缩比。
【附图说明】
[0015] 图1为现有技术提供的图像压缩方法的流程示意图;
[0016] 图2A为本发明实施例一提供的图像压缩方法的流程示意图;
[0017] 图2B为本发明实施例一提供的图像压缩方法中的图像分块的流程示意图;
[0018] 图2C为本发明实施例一提供的图像压缩方法中的Z字形的扫描流程示意图;
[0019] 图3为本发明实施例二提供的图像压缩装置的结构示意图。
【具体实施方式】
[0020] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描 述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便 于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0021] 本发明实施例提供的图像压缩方法的执行主体,可为本发明实施例提供的图像压 缩装置,或者集成了所述图像压缩装置的终端设备(例如,智能手机、平板电脑等),该图像 压缩装置可以采用硬件或软件实现。
[0022] 实施例一
[0023] 图2A为本发明实施例一提供的图像压缩方法的流程示意图,如图2所示,具体包 括如下步骤:
[0024] 步骤11、对图像原始数据进行预处理;
[0025] 其中,所述预处理包括图像格式转换和/或图像分块处理等操作。
[0026] 步骤12、对于预处理得到的图像数据进行沃尔什WALSH变换;
[0027] 其中,WALSH变换是一种正交变换,它只包含值为"+1"和"-1"的两个数值构成整 交函数基。常用的DCT虽然有比较多的优点,但是其劣势也很明显,首先量化过程比较复 杂,其次需要通过多步复杂的计算过程,而且硬件实现起来也不是很方便。而WALSH变换的 函数基是二值正交基,与数字逻辑的两个状态对应,所以更适用于计算机处理。WALSH变换 相对减少了存储空间而且使运算速率获得提升。
[0028] 具体的,WALSH函数将不完备的Rademacher函数加以完备化,形成了一组完备的 正交矩阵函数,其值只能是+1和-1。归一化时,函数在区间[0,1]内定义为:
[0030] 其中,η = 0,1,2......,ρ,为η的二进制编码位数,gmS η的格雷码的第m位数值。
[0031] 其中,WALSH变换的指数形式如下:
[0033] 可见,该WALSH变换的指数函数定义的是+1或-1的连乘积。WALSH变换的前8个 波形的每一个波形的正负变更次数为η。若将区间平均分成N等分,对每个区间的波形取 样,可得到一个离散的函数值矩阵,该矩阵为8X8的矩阵如下所示:
[0035] 上式中表示离散WALSH函数的8次取样的,T表示取样序号,从左到右为第0, 1……第7次。
[0036] 举例来说,二维WALSH变换可以将图像信号进行数据压缩,将下列信号
进行4次取样的WALSH变换
并观察结果
[0038] 从结果可以得出以下结论,对于最初的二维矩阵数据经过变换后仅仅在左上角的 部分保留了一些信息,而剩余的绝大部分位置的信息都为0。如果传输的是变换后的矩阵而 不是一开始的取样信号,并且可以传送左上角的部分元素,就可以完全达到压缩数据的目 的。
[0039] 因此,可以用WALSH变换达到数据压缩的预期目的,是因为在其过程中去除了原 始的数据信息的冗余相关性。而得到的变换后的矩阵代表低频和直流成分的系数在左上角 部分,这些系数的对应图像变换缓慢,相对应的,指示高频成分的变换系数在右下部,它们 的WALSH图像中变换速度快。在对变换系数进行编码时,完成数据压缩的方法可以使用区 域滤波法和不同精度量化方法,不一样的区域取不同的量化层数,层数的大小取决去该区 域所具有的信号能量的数值。
[0040] 步骤13、针对变换后的图像数据采用熵编码算法进行图像压缩。
[0041] 其中,烟编码算法可包括Huffman编码算法和算术编码算法。
[0042] 本实施例通过对图像原始数据进行预处理;对于预处理得到的图像数据进行沃尔 什WALSH变换;针对变换后的图像数据采用熵编码算法进行图像压缩。本实施例通过使用 WALSH能够有效去除图像中的冗余信息,提高编码效率和压缩比。
[0043] 示例性的,在上述实施例的基础上,对图像原始数据进行预处理包括:
[0044] 将红绿蓝RGB格式的图像原始数据转换为YUV格式的图像数据;
[0045] 对YUV格式的图像数据进行分块处理。
[0046] 其中,预处理是将图像中的色差RGB信号,转换成量化编码所需要的YUV色差信 号,经过一系列的运算输出6个8 X 8的组成最小编码单元MCU才能进行之后的变换量化编 码等步骤。通常预处理阶段主要包括以下两个方面:
[0047] 第一方面:颜色转换
[0048] 在通常情况下,压缩的静态图片的颜色空间是由RGB来标识的。因为在JEPG中, 颜色空间的分量由Y Cb Cr组成,另一种说法是YUV,即U表示Cb,V表示Cr. Y表示静态图 片的亮度,UV均表示静态图片的色度分量。因此在压缩图片的过程中,首先需要将静态图 片在这两种不同的颜色空间分量进行转换,由RGB格式转换为YUV格式,在解压缩中,需要 让YUV格式还原成RGB格式原图像。其转换公式为:
[0050] 在分析一幅图像是首先会得到该图像的RGB信号,为了进行图像压缩,首先将要 将RGB信号转换成YUV信号。将源图像的RGB信号传入到演算块ConvertRgbYuv中,因为 规定色差的划分比例为4:1: 1,所以规定HorizontalSize和VerticalSize的值为16,将 16 X 16的RGB信号装换成16 X 16的亮度分量和色差分量。
[0051] 第二方面:采样和分块
[0052] 接下来对转换后获得的YUV信号进行采样,此时将分量YUV分别看做16 X 16的三 个矩阵,因为规定色差划分为4:1:1,所以亮度分量需要亮度分量需要平均分成4个8 X 8
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1