CN101489019A - 一种无损位图的压缩与解压缩方法 - Google Patents
一种无损位图的压缩与解压缩方法 Download PDFInfo
- Publication number
- CN101489019A CN101489019A CNA2009100768250A CN200910076825A CN101489019A CN 101489019 A CN101489019 A CN 101489019A CN A2009100768250 A CNA2009100768250 A CN A2009100768250A CN 200910076825 A CN200910076825 A CN 200910076825A CN 101489019 A CN101489019 A CN 101489019A
- Authority
- CN
- China
- Prior art keywords
- point
- decision
- color lump
- image
- record
- 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
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种无损位图的压缩与解压缩方法,压缩过程采用如下步骤:对原始图像作广义色块编码,并记录其压缩比C0;递增差分次数,对每个差分次数,以横优先和纵优先方式分别对图像做差分变换;对变换后的结果进行广义色块编码并记录和比较压缩比;直至两次相邻差分次数对应的差分变换相同;选用压缩比最高的变换方式及变换过程,将对应的差分变换方式以及经过广义色块编码后的图像数据写入文件。对应解压缩过程为:对图像数据做广义色块解码;根据记录的差分变换方式,以记录的横或纵优先方式按照记录的次数用差分逆变换还原图像。本发明方法在无损压缩的基础上,对不规则抖动有较好的支持,并且对颜色深度没有附加要求。
Description
技术领域
本发明涉及一种数字图像的处理方法,特别涉及一种数字图像压缩与解压缩方法。
背景技术
数字图像是目前重要的信息载体,其应用十分广泛,计算机直接获取的绝大多数是数字位图,通过有效的压缩减小体积后能提高图像储存时的空间效率和传输时的带宽效率。
目前最常见的数字位图压缩模式有JPEG和GIF两种。而JPEG不能提供无损的压缩;GIF则有256色的限制,且对不规则抖动支持不理想。
JPEG压缩方式是将图像颜色信息线形变换为饱和度信息后,分别对各分量做DCT(离散余弦变换),再根据需要丢弃高频项,最后对频率分量做RLE(行程编码)。该压缩方式适应了人眼对频率的筛选特性,去掉容易被忽略的信息,保留图像主要部分,同时可以根据需要在压缩时调整图像品质;但是该压缩方法不能实现无损的压缩,并且在做DCT及其逆变换时可能引起的±1误差及其带来的饱和度溢出问题。
GIF压缩方式采用LZW算法对图像压缩,基本方式是记录图像中出现的重复结构,避免未经压缩的重复记录相同的图像结构。该压缩方法对图像的压缩比较高,并且部分情况可以实现无损压缩,但是对不规则抖动支持不理想,在高压缩比的图像中出现大量重复结构,且不支持多于256色的位图。
发明内容
本发明要解决的技术问题是:克服现有技术的不足,提供一种无损位图压缩与解压缩方法,采用广义色块编码与差分变换相结合,实现图像的压缩过程;采用广义色块解码与差分逆变换相结合,实现图像的解压缩过程;在无损压缩的基础上,对不规则抖动有较好的支持,并且对颜色深度没有附加要求。
本发明解决其技术问题所采用的技术方案包括:一种无损位图的压缩方法,其特征在于包含以下步骤:
(1)对原始图像作广义色块编码,并记录其压缩比C0;
(2)指定差分变换次数为1
(3)以横优先和纵优先方式分别对图像做指定次数的差分变换,判断进行该差分次数的变换后是否和上次差分变换后结果相同,如果是,执行步骤(6);否则,执行步骤(4);
(4)对差分变换后的结果进行广义色块编码并记录,然后和已记录的最高压缩比进行比较,保留压缩比较高时的变化情况;
(5)指定差分次数增加1,返回步骤(3);
(6)根据记录选用压缩比最高时的变换方式以及变换过程,将对应的差分变换方式以及经过广义色块编码后的图像数据写入文件。
上述所述的广义色块编码采用以下步骤实现:
(i)清空记录序列,在图像左侧和上侧分别补2像素的纯白色边缘;
(ii)选定实际位置的图像左上角点即(0,0)点为目标点;
(iii)选定目标点与其左上方共3×3正方形区域内点为分析区,该区域内除基点外其余8点为判定点;
(iv)按从上到下从左到右的顺序,逐个判定分析区内每个判定点是否需要判定,默认情况为需要判定;
(v)若需要判定,则判定其是否与目标点颜色相同,并将判定结果的布尔形变量加入记录序列尾部,并决定是否将目标点加入判定点对应的色块,将8点中判定点右或下方向所有点与判定点可判定属于同一色块的标记为不需判定,若记录中目标点同时与两个或更多判定点颜色相同,则合并这些判定点所属的色块;若不需要判定,执行步骤(vi);
(vi)判定目标点是否位于最后一列,若否,则目标点右移一像素,返回步骤(iii);
(vii)判定目标点是否位于最后一行,若否,则目标点移至下一行最左侧,返回步骤(iii);
(viii)将图像中以左上至右下横向优先方式扫描图像所有点,每个色块第一次出现时记录其颜色记录值。
本发明的技术方案还包括一种无损位图的解压缩方法,其特征在于包含以下步骤:
(1′)对图像数据做广义色块解码;
(2′)根据记录的差分变换方式,以记录的横或纵优先方式按照记录的次数用差分逆变换还原图像。
上述所述的广义色块解码采用以下步骤实现:
(i′)根据图像头信息,重建画布,并在左侧和上侧分别补2像素的纯白色边缘;
(ii′)画布内所有点标记为独立的色块;
(iii′)选定实际位置左上角点即(0,0)点为目标点;
(iv′)选定目标点与其左上方共3×3正方形区域内点为分析区,该区域内除基点外其余8点为判定点;
(v′)按照图3所示的顺序逐个判定分析区内每个判定点是否需要判定,默认情况为需要判定;
(vi′)若需要判定,则读取记录序列内容,并根据其决定是否将该点加入判定点对应的色块,将8点中判定点右或下方向所有点与判定点可判定属于同一色块的标记为不需判定,若记录中目标点同时与两个或更多判定点颜色相同,则合并这些判定点所属的色块;若不需要判定,执行步骤(vii′);
(vii′)判定目标点是否位于最后一列,若否,则目标点右移一像素,返回步骤(iv′);
(viii′)判定目标点是否位于最后一行,若否,则目标点移至下一行最左侧,返回步骤(iv′);
(ix′)将图像中以左上至右下横向优先方式扫描图像所有点,每个色块第一次出现时度曲记录并填充颜色记录值。
本发明与现有技术相比所具有的优点:
相比于JPEG图像记录方式,本发明的压缩与解压缩方法采取了完全无损的变换,具有无损的特点,完整的保留了图像中所有频率的信息,也因此避免了DCT变换中引起的±1误差及其带来的饱和度溢出问题;相比于GIF图像记录方式,本发明的压缩与解压缩方法可以支持多于256色图像的压缩,对位图颜色深度没有要求,同时由于采取了广义色块编码,对图像中的不规则抖动能提供更好的支持;同时本方案采取了尝试差分变换次数的方式提高压缩比,是时间复杂度非对称的压缩-解压缩步骤,在压缩时利用较多资源提高了压缩比,适合一方发布,多方获取的信息传播方式。因此相比于主流图像压缩方式,本方案在各不同的方面相对不同的现有方案体现出一定优势。
附图说明
图1是压缩过程;
图2是解压缩过程;
图3是分析区单点邻域编号;
图4是广义色块编码过程;
图5是广义色块解码过程;
图6是差分变换次数与文件大小关系曲线,n为差分变换次数,p为压缩比极大时对应的差分变换次数,V为文件大小。
具体实施方式
下面结合附图及具体实施方式详细介绍本发明。
本发明的无损位图压缩与解压缩方法,采用广义色块编码与差分变换相结合,实现高压缩比的压缩与解压缩过程。
本实施例中所有“图像”均指数字位图,横坐标为X,从左至右,纵坐标为Y,从上至下,均从0开始计数,表示方式为(X,Y)。
本发明的无损位图的压缩过程如图1所示,具体步骤如下:
(1)对原始图像作广义色块编码,并记录其压缩比C0;
(2)指定差分变换次数为1
(3)以横优先和纵优先方式分别对图像做指定次数的差分变换,判断进行该差分次数的变换后是否和上次差分变换后结果相同,如果是,执行步骤(6);否则,执行步骤(4);
(4)对差分变换后的结果进行广义色块编码并记录,然后和已记录的最高压缩比进行比较,保留压缩比较高时的变化情况;
(5)指定差分次数增加1,返回步骤(3);
(6)根据记录选用压缩比最高时的变换方式以及变换过程,将对应的差分变换方式以及经过广义色块编码后的图像数据写入文件。
上述步骤(2)中的差分变换的横向、纵向同时进行,以横向差分为例,其具体步骤如下:
(a)如果第一次对图像做差分变换,将其差分区域定为全部图像;
(b)基础横向(纵向差分时应为纵向,下同)差分要求差分区域的宽度(纵向差分时应为高度,下同)为偶数,实际操作中若区域宽度为奇数,则对末尾一列暂时做抛弃处理;
(c)对区域中的横向相邻像素分组配对,分别记录原图像中左点记录值和左点(纵向差分时应为上点,下同)减右点(纵向差分时应为下点,下同)的差,即将区域中所有偶数列的像素(X,Y)直接放入变换后图像一中(X/2,Y)(纵向差分时应为(X,Y/2),下同)位置,所有奇数列的像素减去其左侧像素后放如变换后图像二中对应位置,对于图像中减法运算出现溢出现象时按原数据范围截取尾部数据、即模2n处理;
(d)若实际图像宽度为奇数,再将原区域最后一列像素补在图像一最后一列;
(e)将图像一与图像二左右拼接后为变换后的图像,图像记录值根据图像定义为具体各颜色分量值或索引值(下同),对于图像中减法运算出现溢出现象时按原数据范围截取尾部数据、即模2n处理;
(f)将以后的差分区域定义为图像一拼接后所在的区域,并改变差分模式,以备下一次差分变换。
上述步骤(1)和步骤(3)中的广义色块编码过程如图4所示;其具体步骤如下:
(i)清空记录序列,在图像左侧和上侧分别补2像素的纯白色边缘;
(ii)选定实际位置的图像左上角点即(0,0)点为目标点;
(iii)选定目标点与其左上方共3×3正方形区域内点为分析区,该区域内除基点外其余8点为判定点;如图3所示,取目标点为X;
(iv)按照图3顺序逐个判定分析区内每个判定点是否需要判定,默认情况为需要判定;
(v)若需要判定,则判定其是否与目标点颜色相同,并将判定结果(布尔形变量)加入记录序列尾部,并决定是否将目标点加入判定点对应的色块,将8点中判定点右或下方向所有点与判定点可判定属于同一色块的标记为不需判定,若记录中目标点同时与两个或更多判定点颜色相同,则合并这些判定点所属的色块;若不需要判定,执行步骤(vi);
(vi)判定目标点是否位于最后一列,若否,则目标点右移一像素,返回步骤(iii);
(vii)判定目标点是否位于最后一行,若否,则目标点移至下一行最左侧,返回步骤(iii);
(viii)将图像中以左上至右下横向优先方式扫描图像所有点,每个色块第一次出现时记录其颜色记录值。
上述所述的广义色块编码中有两种情况是不必记录即可知道的:
情况一是在8个位置中有一些点可以由之前的信息判定其在同一色块,则对于同一个色块只要记录一次。此时的记录色块结构信息每个点至多占用8bit的信息,最少可达到1bit。例如由之前记录的信息已经可以判定位置0、1的点在同一色块内,但与位置2是否在同一色块内不能确定,则记录是否与位置0颜色相同后直接记录与位置2是否在同一色块内,记录位置1所需的1bit被省略。
情况二是与某点同属于一个色块后其右下方的点则可由已记录的信息完全获知。例如分析X点时知X点和点0位置颜色时,发现颜色相同,则完全可以根据之前的信息完全获知X点与点1~7是否属于同一色块,不必继续记录。同理,若X点与点1属同一色块,则无须再记录X点与点3、4、6、7的相关信息。
本发明的无损位图的解压缩过程如图2所示,具体步骤如下:
(1′)对图像数据做广义色块解码;
(2′)根据记录的差分变换方式,以记录的横或纵优先方式按照记录的次数用差分逆变换还原图像。
上述解压缩过程的广义色块解码过程如图5所示,具体步骤如下;
(i′)根据图像头信息,重建画布,并在左侧和上侧分别补2像素的纯白色边缘;
(ii′)画布内所有点标记为独立的色块;
(iii′)选定实际位置左上角点即(0,0)点为目标点;
(iv′)选定目标点与其左上方共3×3正方形区域内点为分析区,该区域内除基点外其余8点为判定点;分析方式同样如图3所示,目标点为X;
(v′)按照图3所示的顺序逐个判定分析区内每个判定点是否需要判定,默认情况为需要判定;
(vi′)若需要判定,则读取记录序列内容,并根据其决定是否将该点加入判定点对应的色块,将8点中判定点右或下方向所有点与判定点可判定属于同一色块的标记为不需判定,若记录中目标点同时与两个或更多判定点颜色相同,则合并这些判定点所属的色块;
(vii′)判定目标点是否位于最后一列,若否,则目标点右移一像素,返回步骤(iv′);
(viii′)判定目标点是否位于最后一行,若否,则目标点移至下一行最左侧,返回步骤(iv′);
(ix′)将图像中以左上至右下横向优先方式扫描图像所有点,每个色块第一次出现时度曲记录并填充颜色记录值。
上述解压缩过程的差分逆变换同时要进行横向、纵向两种,以横向逆差分为例,其步骤如下:
(a′)根据记录确定图像压缩过程中的差分变换具体方式以及次数,并计算出每一次差分变换对应的区域大小以及差分变换方式;
(b′)选定最后一次差分变换后定义的差分区域为目标区域,根据步骤(a′)的计算结果确定逆差分方式;
(c′)改变目标区域为步骤(a′)计算出的前一次差分变换的区域,改变逆差分方式;
(d′)从目标区域内依据差分变换过程中的定义分离两幅图像,图像一和图像二,同差分变换中的定义;
(e′)对目标区域中的点分组配对,同差分变换中的方式,用图像一中的对应点直接填至目标区域左点,图像一与图像二中对应点记录值之和填至目标区域右点;目标区域为奇数列时图像一最后一列直接填入目标区域最后一列;
(f′)图像记录值根据图像定义为具体各颜色分量值或索引值,若步骤(e′)中记录值加法后结果溢出,则按原数据范围截取尾部数据、即模2n处理;
(g′)重复步骤(c′)至步骤(f′),根据直至目标区域为整个画布,最后画布内的图像已完全还原为原始图像。
本发明技术方案中所涉及到的差分变换过程和差分逆变换过程的变换次数并非多多益善,对于数字化的信息其变换次数有上限。基本想法是将所有方案循环一遍找到最优值。经过反复试验可以知道,差分变换的次数n与压缩后的文件大小V的函数为一单峰极值有极限的函数,如图6的所示;直至最后变换区域缩为一点,变换失去意义,则以后的变换不再改变图像内容,也不影响压缩比。并且变换次数为0的起始点是因图像而异的,有可能开始即处于压缩比极大时对应的差分变换次数p点的右侧。
Claims (4)
1、一种无损位图的压缩方法,其特征在于包含以下步骤:
(1)对原始图像作广义色块编码,并记录其压缩比C0;
(2)指定差分变换次数为1;
(3)以横优先和纵优先方式分别对图像做指定次数的差分变换,判断进行该差分次数的变换后是否和上次差分变换后结果相同,如果是,执行步骤(6);否则,执行步骤(4);
(4)对差分变换后的结果进行广义色块编码并记录,然后和己记录的最高压缩比进行比较,保留压缩比较高时的变化情况;
(5)指定差分次数增加1,返回步骤(3);
(6)根据记录选用压缩比最高时的变换方式以及变换过程,将对应的差分变换方式以及经过广义色块编码后的图像数据写入文件。
2、根据权利要求1所述的一种无损位图的压缩方法,其特征在于:所述的广义色块编码采用以下步骤实现:
(i)清空记录序列,在图像左侧和上侧分别补2像素的纯白色边缘;
(ii)选定实际位置的图像左上角点即(0,0)点为目标点;
(iii)选定目标点与其左上方共3×3正方形区域内点为分析区,该区域内除基点外其余8点为判定点;
(iv)按从上到下从左到右的顺序,逐个判定分析区内每个判定点是否需要判定,默认情况为需要判定;
(v)若需要判定,则判定其是否与目标点颜色相同,并将判定结果的布尔形变量加入记录序列尾部,并决定是否将目标点加入判定点对应的色块,将8点中判定点右或下方向所有点与判定点可判定属于同一色块的标记为不需判定,若记录中目标点同时与两个或更多判定点颜色相同,则合并这些判定点所属的色块;若不需要判定,执行步骤(vi);
(vi)判定目标点是否位于最后一列,若否,则目标点右移一像素,返回步骤(iii);
(vii)判定目标点是否位于最后一行,若否,则目标点移至下一行最左侧,返回步骤(iii);
(viii)将图像中以左上至右下横向优先方式扫描图像所有点,每个色块第一次出现时记录其颜色记录值。
3、一种无损位图的解压缩方法,其特征在于包含以下步骤:
(1′)对图像数据做广义色块解码;
(2′)根据压缩后的图像数据中记录的差分变换方式,以记录的横或纵优先方式按照记录的次数用差分逆变换还原图像。
4、根据权利要求1所述的一种无损位图的解压缩方法,其特征在于:所述的广义色块解码采用以下步骤实现:
(i′)根据图像头信息,重建画布,并在左侧和上侧分别补2像素的纯白色边缘;
(ii′)画布内所有点标记为独立的色块;
(iii′)选定实际位置左上角点即(0,0)点为目标点;
(iv′)选定目标点与其左上方共3×3正方形区域内点为分析区,该区域内除基点外其余8点为判定点;
(v′)按从上到下从左到右的顺序逐个判定分析区内每个判定点是否需要判定,默认情况为需要判定;
(vi′)若需要判定,则读取记录序列内容,并根据其决定是否将该点加入判定点对应的色块,将8点中判定点右或下方向所有点与判定点可判定属于同一色块的标记为不需判定,若记录中目标点同时与两个或更多判定点颜色相同,则合并这些判定点所属的色块;若不需要判定,执行步骤(vii′);
(vii′)判定目标点是否位于最后一列,若否,则目标点右移一像素,返回步骤(iv′);
(viii′)判定目标点是否位于最后一行,若否,则目标点移至下一行最左侧,返回步骤(iv′);
(ix′)将图像中以左上至右下横向优先方式扫描图像所有点,每个色块第一次出现时度曲记录并填充颜色记录值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100768250A CN101489019B (zh) | 2009-01-22 | 2009-01-22 | 一种无损位图的压缩与解压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100768250A CN101489019B (zh) | 2009-01-22 | 2009-01-22 | 一种无损位图的压缩与解压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101489019A true CN101489019A (zh) | 2009-07-22 |
CN101489019B CN101489019B (zh) | 2010-11-17 |
Family
ID=40891683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100768250A Expired - Fee Related CN101489019B (zh) | 2009-01-22 | 2009-01-22 | 一种无损位图的压缩与解压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101489019B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014283A (zh) * | 2010-11-30 | 2011-04-13 | 上海大学 | 一阶差分前缀表示的图像数据无损压缩的编码方法 |
CN113256747A (zh) * | 2021-04-09 | 2021-08-13 | 福建升腾资讯有限公司 | 一种位图索引压缩方法、解压缩方法、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5552898A (en) * | 1994-07-06 | 1996-09-03 | Agfa-Gevaert | Lossy and lossless compression in raster image processor |
US7689051B2 (en) * | 2004-04-15 | 2010-03-30 | Microsoft Corporation | Predictive lossless coding of images and video |
CN101039374B (zh) * | 2006-03-14 | 2011-11-02 | 联想(北京)有限公司 | 一种图像无损压缩方法 |
-
2009
- 2009-01-22 CN CN2009100768250A patent/CN101489019B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014283A (zh) * | 2010-11-30 | 2011-04-13 | 上海大学 | 一阶差分前缀表示的图像数据无损压缩的编码方法 |
CN113256747A (zh) * | 2021-04-09 | 2021-08-13 | 福建升腾资讯有限公司 | 一种位图索引压缩方法、解压缩方法、设备及介质 |
CN113256747B (zh) * | 2021-04-09 | 2023-10-20 | 福建升腾资讯有限公司 | 一种位图索引压缩方法、解压缩方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101489019B (zh) | 2010-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114424542B (zh) | 具有非规范平滑的基于视频的点云压缩 | |
KR101133321B1 (ko) | 비트스트림 파티션을 이용한 비디오 압축 방법 | |
CN104754361B (zh) | 图像编码、解码方法及装置 | |
CN116248867A (zh) | 利用包含追加区域的分割单位的影像解码方法以及装置 | |
CN105704491A (zh) | 图像编码方法、解码方法、编码装置和解码装置 | |
TWI692243B (zh) | 決定轉換係數級熵編解碼的內文模型的方法、裝置及媒體 | |
US7835582B2 (en) | Image encoding apparatus and control method thereof | |
CN104378644A (zh) | 定宽度变长度像素样值串匹配增强的图像压缩方法和装置 | |
KR20240032147A (ko) | 포인트 클라우드 프로세싱 | |
US7916954B2 (en) | Image encoding apparatus and control method thereof | |
CN104853211A (zh) | 使用多种形式的参考像素存储空间的图像压缩方法和装置 | |
JP6360969B2 (ja) | 画像符号化、復号化方法、及び装置 | |
CN105491376A (zh) | 图像编码、解码方法及装置 | |
CN104796720A (zh) | 对视频进行解码的方法和设备 | |
CN105847842B (zh) | 图像编码方法及装置、图像解码方法及装置 | |
CN112637600B (zh) | 对数据进行有损或无损压缩的编码、解码的方法或装置 | |
CN110495178A (zh) | 3d视频编码的装置和方法 | |
KR102532391B1 (ko) | 영상 부호화 방법과 장치 및 영상 복호화 방법과 장치 | |
CN111757117A (zh) | 对分量下采样格式数据进行串预测的数据编码和解码方法 | |
CN104935945A (zh) | 扩展参考像素样值集的图像压缩方法 | |
JP2024133664A (ja) | 画像符号化/復号化方法及び装置 | |
CN101489019B (zh) | 一种无损位图的压缩与解压缩方法 | |
JP2008042683A (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
CN104918050A (zh) | 使用动态排列重组的参考像素样值集的图像压缩方法 | |
CN107770543B (zh) | 多类匹配参数中按顺序递增截断值的数据压缩方法和装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101117 Termination date: 20150122 |
|
EXPY | Termination of patent right or utility model |