CN101420614A - 一种混合编码与字典编码整合的图像压缩方法及装置 - Google Patents
一种混合编码与字典编码整合的图像压缩方法及装置 Download PDFInfo
- Publication number
- CN101420614A CN101420614A CN 200810203722 CN200810203722A CN101420614A CN 101420614 A CN101420614 A CN 101420614A CN 200810203722 CN200810203722 CN 200810203722 CN 200810203722 A CN200810203722 A CN 200810203722A CN 101420614 A CN101420614 A CN 101420614A
- Authority
- CN
- China
- Prior art keywords
- macro block
- dictionary
- data
- image
- coding
- 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, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种混合编码与字典编码整合的图像压缩方法及装置,在编码过程中,对每个宏块分别采用混合编码法和字典编码法进行压缩,最后选择编码位数较少的方法产生的压缩数据放入压缩码流。在采用字典编码方法压缩每个宏块时,使用下面两种方法之任一种有效提高对图像的压缩性能:(1)用原始图像的最近R个(R大于一个宏块的数据个数)字节数据作为字典。(2)复原图像的最近R个(R大于一个宏块的数据个数)字节数据作为字典。本发明与现有技术相比,避免了以往文献由于图像分层或块分类不准确而导致的压缩性能下降,以及提高了整个复合图像压缩方法的压缩性能。
Description
技术领域
本发明涉及计算机图像压缩的相关技术领域,具体地说是一种混合编码与字典编码整合的图像压缩方法及装置。
背景技术
伴随网络信息技术的快速发展,多计算机之间及主机与其他数字设备之间的互联已经成为现实并越来越成为一种发展趋势。这使得服务器端到客户端的实时屏幕传输成为当前的迫切需求。由于需要传输的屏幕视频数据量很大,以1280 x 1024大小的24位真彩色屏幕图像为例,60帧/s的话需要传输的数据超过200M字节,如此多的数据要想在当前的网络条件下实现实时传输是不可能的,因此有效的数据压缩必不可少。
计算机屏幕图像的突出特点是包含文字、背景、图形及自然图像的复合图像(compoundimage)。其中,文字、背景、图形由计算机生成或扫描仪输入,而自然图像是由摄像机拍摄得到的。当前,对自然图像和视频的压缩编码已经比较成熟,有许多既定的标准可采用。这些标准基本采用预测编码与变换编码结合的混合编码的框架,但他们对复合图像的压缩效果较差,必须寻求更适合于复合图像压缩的算法来实现有效压缩。
目前,对复合图像的压缩方法大致有两种:基于分层和基于块的压缩。基于分层的方法是先将图像分为不同的图像层,如MRC(mixed raster content)标准(ITU T.44)把图像分为前景和背景两个颜色层和一个二值掩膜层(binary mask),然后对不同的图像层采用不同的压缩方法。基于分块方法是将图像分为许多固定大小块(如8 x 8),而后对编码块做合适的分类,对不同类型块采用不同的方法压缩。基于分层和基于块的压缩都是先将图像做预处理,然后对不同内容选择不同的方法进行压缩,因此都存在图像分层或块分类不准确的情况。
发明内容
本发明的目的是提供了一种混合编码与字典编码整合的图像压缩方法及装置,解决了传统的图像压缩方法对复合图像的压缩都存在图像分层或块分类不准确的情况等问题。
为实现上述目的,本发明采用了以下技术方案:
对自然图像,混合编码框架是非常有效的方法,被广泛应用于图像和视频的压缩编码中。而字典编码则可实现对文字、背景、图形的有效压缩。因此本发明采用混合编码和字典编码整合的压缩方法,压缩一幅图像的具体步骤如下:(如图1所示)
(1)将当前图像分为多个非重叠的N x N(一般为16 x 16)大小的宏块。
(2)对每个宏块,采用混合编码法和字典编码法分别压缩。
(3)比较混合编码法和字典编码法产生压缩bits数(位数)的多少。若混合编码法产生的压缩bits数少,则顺序执行步骤(4),否则执行步骤(5)。
(4)将混合编码法产生的压缩数据放入压缩码流。
(5)将字典编码法产生的压缩数据放入压缩码流。
(6)重复(1)~(5)直至当前图像编码结束。
其中混合编码方法的压缩流程如下:(如图2所示)
(1)对要编码的图像宏块,以已经完成编码的复原图像或宏块的数据为参考,做帧间或帧内预测,得到预测宏块。
(2)计算原始宏块与预测宏块的差得到预测误差宏块。
(3)对预测误差宏块做变换处理。
(4)对变换后的宏块数据执行量化操作。
(5)对宏块量化的结果依次做反量化、反变换。
(6)由预测宏块和反变换得到的宏块相加得到重构宏块。
(7)对重构宏块做滤波等后处理操作,得到复原宏块,以用作后续宏块编码时的参考,这一步骤在某些编码器中可以不使用。
(8)对量化后的宏块数据用熵编码方法进一步压缩形成最后的压缩码流。
(9)对码率进行控制,即确定下一宏块量化和反量化时所使用的量化参数QP;QP也可以取常数。
(10)当前宏块编码结束。
为了提高字典方法对单个宏块的压缩比,从而提高混合编码和字典编码整合的压缩方法的压缩性能,本发明不仅使用当前宏块的数据作为字典,同时使用已编码过的其他宏块的数据作为字典,这里采用两种方法之一扩大预测数据的范围:
(1)使用当前编码字节之前的原始图像的R个字节数据作为字典,用Ori_R表示该字典。
(2)使用当前编码字节之前的复原图像的R个字节数据作为字典,用Rec_R表示该字典。
R大于一个宏块的数据个数(以下同)。对混合编码和字典编码整合的压缩方法而言,对编码器,方法1比方法2需要多存储原始图像数据,同时由于方法1的解码器无法得到原始图像,需要使用复原图像的R个字节数据作为字典,因此字典压缩可能为有损压缩。因此方法2既能减少存储空间,又能提高压缩性能,同时使编解码所使用的字典数据保持一致,保证字典编码为无损压缩。
对应上述扩大预测数据范围的两种方法,图1中字典编码方法的压缩流程分别如图3(a)和3(b)所示,具体步骤如下:
(1)对当前编码串,在字典(对图3(a),字典为Ori_R;对图3(b),字典为Rec_R)中查找匹配的字符串,最后将查找到的结果放入码流中。
(2)将当前宏块中刚已编码过的数据插入字典。
(3)重复步骤(1)~(2),直至当前宏块编码结束。
混合编码和字典编码整合的图像压缩装置由以下模块组成(如图4表示):
1、混合编码模块,采用混合编码方法压缩宏块,包括以下单元:
(1)预测单元,根据参考像素对编码宏块内每个像素做预测得到预测宏块。
(2)预测误差单元,计算原始宏块与预测宏块的差得到预测误差宏块。
(3)变换单元,对预测误差宏块做某种形式的正交变换,如DCT(离散余弦变换)变换。
(4)量化单元,对变换后的宏块数据做量化处理,以减小非0系数的幅值及增加0系数的个数。
(5)熵编码单元,对量化后的宏块数据用算术编码等熵编码方法进行压缩。
(6)码率控制单元,以确定下一宏块量化和反量化时所使用的量化参数QP,或将QP取为常数。
(7)反量化单元,对量化后的宏块数据做反量化。
(8)反变换单元,对宏块数据反量化后的结果做反变换。
(9)图像重构单元,计算反变换得到的宏块与预测宏块的和,得到重构宏块。
(10)后处理单元,对重构宏块做滤波或其他处理后得到最终的复原宏块,这一单元是可选的,在某些编码器中可能不使用。
2、字典编码模块,采用字典方法压缩宏块,包括以下单元:
(1)匹配串搜索单元,通过查阅字典寻找当前编码串的匹配数据的方法编码宏块。
(2)建立字典单元,将在编码过程中用到的预测数据插入字典。这里用到的预测数据包括以下两种情况:①当前编码字节之前的原始图像的R个字节数据作为字典即预测数据。②当前编码字节之前的复原图像的R个字节数据作为字典即预测数据。此外,对情况1,建立字典单元还需要存储字典数据;对情况2,字典数据直接使用复原图像存储模块中的图像数据,因此建立字典单元不需要存储字典数据。
3、编码方法选择模块,根据混合编码模块和字典编码模块的压缩结果,选择编码位数较少的方法产生的压缩数据放入压缩码流。
4、复原图像存储模块,以存储由混合编码模块或字典编码模块产生的复原图像数据。
5、复原数据替换模块,若编码方法选择模块选择使用字典编码法压缩,则用字典编码法的复原宏块数据替换复原图像存储模块中的混合编码法的复原宏块数据。
6、码流输出或存储模块,对压缩后的码流进行存储或输出的模块。
上述混合编码和字典编码整合的图像压缩方法的解码流程如图5所示,包括以下步骤:
(1)通过解码当前宏块,判断当前宏块的编码方式,若使用混合编码法编码,则顺序执行步骤(2);否则执行步骤(3)。
(2)用混合编码法的解码器解码,跳到步骤(4)。
(3)用字典编码法的解码器解码。
(4)重复步骤(1)~(3),直至码流结束。
混合编码法的解码流程具体步骤如下(如图6所示):
(1)对码流中的信息做熵解码。
(2)熵解码得到的宏块数据依次经过反量化、反变换过程。
(3)由熵解码得到的预测模式等信息,在已完成解码的复原图像或宏块内做预测得到预测宏块。
(4)预测宏块与反变换得到的预测误差宏块相加,得到重构宏块。
(5)重构宏块经过滤波等后处理操作(属可选操作,可以采用也可以不采用)后得到复原宏块。
字典编码法的解码流程包括以下步骤(如图7所示):
(1)根据码流中的信息查找字典,得到相应的字符串。
(2)将当前宏块中已解码过的数据放入字典。
(3)重复步骤(1)~(2),直至当前宏块解码结束。
混合编码和字典编码整合的图像压缩的解码装置由4个模块组成(如图8所示):
1、编码方式判别模块,对码流中的当前宏块的编码方式解码,若使用混合编码法编码,则使用其相应的解码器解码,否则用字典编码法的解码器解码。
2、混合编码法的解码模块,对使用混合编码法编码的宏块解码,包括以下单元。
(1)熵解码单元,解码输入码流,得到量化后的宏块数据及预测模式等信息。
(2)反量化单元,对熵解码得到的宏块数据做反量化。
(3)反变换单元,对反量化得到的宏块数据做反变换。
(4)预测单元,根据解码得到的预测模式等辅助信息,由已经完成解码的复原图像或宏块的数据得到预测宏块。
(5)图像重构单元,反变换得到的预测误差宏块及预测单元得到的预测宏块相加,得到重构宏块。
(6)后处理单元,对重构宏块做滤波等后处理工作,属于可选单元。
3、字典编码法的解码模块,解码由字典编码法编码的宏块,包括以下单元。
(1)字符串查找单元,根据码流中的信息在字典中查找相应的字符串。
(2)建立字典单元,由解码得到的宏块数据生成字典。字典数据直接使用复原图像存储模块中的图像数据,因此解码器中的建立字典单元不需要存储字典数据。
4、复原图像存储模块,存储由混合编码法的解码器或字典编码法的解码器解码得到的图像数据。
本发明与现有技术相比,具有如下的优点:
1、能根据实际的压缩要求(高码率或低码率),自适应选择采用混合编码法或字典编码法压缩,避免了以往文献由于图像分层或块分类不准确而导致的压缩性能下降。
2、通过采用原始图像或复原图像的最近R(R大于一个宏块的数据)个字节数据作为字典,提高了整个复合图像压缩方法的压缩性能。
附图说明
图1为混合编码和字典编码整合的图像压缩流程图;
图2为混合编码法的压缩流程图;
图3(a)为字典编码法(使用字典Ori_R)的压缩流程图;
图3(b)为字典编码法(使用字典Rec_R)的压缩流程图;
图4为混合编码和字典编码整合的图像压缩装置示意图;
图5为混合编码和字典编码整合的图像压缩方法的解码流程图;
图6为混合编码法的解码流程图;
图7为字典编码法的解码流程图;
图8为混合编码和字典编码整合的图像压缩方法的解码装置示意图;
图9为H.264与Gzip自适应的图像压缩流程图;
图10为H.264的编码流程图;
图11(a)为Gzip的压缩流程图(使用字典Gzip_Ori);
图11(b)为Gzip的压缩流程图(使用字典Gzip_Rec);
图12为H.264与Gzip自适应的图像压缩装置示意图;
图13为H.264和Gzip自适应的图像压缩方法的解码流程图;
图14为H.264解码流程图;
图15为Gzip的解码流程图;
图16为H.264和Gzip自适应的图像压缩的解码装置示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步描述。
文字/图形和自然图像都有各自较成熟的压缩方法。目前,基于混合编码框架的H.264是自然视频压缩的最有效方法,而对于文字/图形,基于LZ(Lempel-Ziv)字典编码算法的Gzip压缩无疑是一种很有效的方法,本实施例采用H.264和Gzip自适应的方法压缩复合图像,具体压缩流程如图9所示,包括以下步骤:
(1)将图像分为多个非重叠的16 x 16大小宏块。
(2)对每个宏块,采用H.264和Gzip分别压缩。
(3)在H.264和Gzip中选择压缩位数较少的方法产生的压缩数据放入压缩码流。
(4)重复步骤(1)~(3)直到当前图像编码完成。
图9中H.264的编码流程如图10所示,包括以下步骤:
(1)对当前宏块,以已经完成编码的复原图像或宏块的数据为参考,做帧间或帧内预测得到预测宏块。
(2)计算原始宏块与预测宏块的差得到预测误差宏块。
(3)对预测误差宏块执行变换、量化操作。
(4)量化后的系数依次经过反量化、反变换。
(5)由预测宏块和反变换得到的宏块相加得到重构宏块。
(6)对重构宏块做滤波处理,生成最后的复原宏块并用于后续宏块的编码。
(7)量化后的宏块数据经过重新排序,最后经基于上下文的自适应可变长编码CAVLC(Context-based Adaptive Variable Length Coding)或基于上下文的自适应二进制算术编码CABAC(Context Adaptive Binary Arithmetic Coding)等熵编码方法进一步压缩后输出到码流中。
(8)对码率进行控制,即根据已完成编码的宏块的编码情况(如压缩位数)及其他信息确定下一宏块量化和反量化时所使用的量化参数QP,QP也可以取常数。
(9)当前宏块编码结束。
在H.264与Gzip自适应的复合图像压缩方法中,同样采用下面两种方法之任一种扩大预测数据的范围,提高对图像的压缩比:
(1)使用当前编码字节之前的原始图像的32k字节数据作为字典,用Gzip_Ori表示该字典。
(2)使用当前编码字节之前的复原图像的32k字节数据作为字典,用Gzip_Rec表示该字典。
32k中的k表示1024,也就是2的10次方。在图9的复合图像编码框架中,每个宏块分别采用H.264和Gzip压缩。H.264按照标准的规定编码,无需做修改。但采用原始图像或复原图像的32k字节数据做字典后,需要对Gzip编码过程中的算法做进一步的修改。原先Gzip中的压缩算法详细描述如下:
Gzip中的压缩以Deflate算法为基础。Deflate算法是LZ算法的变体,采用LZ77和Huffman编码相结合的方法压缩。在Gzip中,使用滑动窗口法寻找匹配串,当前处理字节开始的串只是在它之前的一定大小的范围(即窗口)内寻找匹配串,窗口的大小固定为32k字节,最大和最小匹配串分别为258和3字节。为了提高寻找匹配串的速度,Gzip使用了hash表,并使用head[]和prev[]两个数组将编码串插入字典。对当前编码串(设当前字节的位置为strstart),利用前三个字节,使用设计好的hash函数计算出该编码串在字典中的插入位置ins_h,然后将head[ins_h]保存的原先一个串的位置赋与prev[strstart],而strstart保存在链头head[ins_h]中,即head[ins_h]=strstart。Gzip按上述方法将编码过的数据立即插入字典,这样字典位置ins_h相同的所有串都被链在一起,可以非常方便的实现匹配串的查找。Gzip在内存中开辟了大小为64k字节(即两个窗口)的缓冲区window[],用于读入未压缩的数据。压缩开始,对小于64k字节的文件,Gzip将全部内容读入缓冲区;对大于64k字节的文件,Gzip顺序读64k字节的数据到缓冲区。当window[]中未处理的字节数小于(最大匹配长度+最小匹配长度+1)并且不是文件尾时,将执行fill_window()。fill_window()函数中,在当前字节的位置strstart>=(64k-262)的前提下,就把第二窗的内容,复制到第一窗中,然后对hash链中的相关数据做修正。此外,若不是文件尾,还要顺序读取文件的剩余内容填入window[]。
采用原始图像或复原图像的最近32k字节数据作为字典后,Gzip所做的修改详细描述如下:
在本实施例中,采用基于16 x 16大小宏块的编码方案,图像可以为YUV4:4:4或其他色度二次采样格式,也可以是RGB彩色图像,若每种颜色分量均为8位,每个宏块的数据固定且小于等于768字节,远小于32k字节,因此本实施例采用原始图像或复原图像的最近32k字节数据作为字典,以提高Gzip对单个宏块的压缩率。做到这点需要对Gzip中的算法做相应修改。此时,将fill_window()放在编码环路之外。假定每个宏块的数据为D_MB字节,则执行fill_window()的条件变为:缓冲区window[]中的剩余空间<(D_MB+2),加2是由于要多读两个字节以计算宏块中最后一个字节在字典中的插入位置。此外,fill_window()中要去掉执行读取文件剩余内容的操作以及hash链修正的前提条件:strstart>=(64k-262)。修改后的fill_window()函数用fill_window_mod()表示。
采用原始图像或复原图像的的最近32k字节数据作为字典后,Gzip编码每个宏块的流程分别如图11(a)和11(b)所示,整个压缩过程包括以下步骤:
(1)读当前宏块数据到window缓冲区。
(2)在字典(对图11(a),字典为Gzip_Ori;对图11(b),字典为Gzip_Rec)中搜索当前编码串的匹配串。
(3)将字典查找的结果用Huffman编码。
(4)输出Huffman编码结果到码流中。
(5)将刚编码过的数据放入字典中。
(6)判断window缓冲区中未编码的数据是否为0,若否则跳到步骤(2),否则顺序执行。
(6)判断window[]缓冲区中的剩余空间是否小于(D_MB+2),若是则执行步骤(7),否则执行步骤(8)。
(7)运行fill_window_mod()函数。
(8)当前宏块编码结束。
上述H.264和Gzip自适应压缩方法的装置示意图如图12所示。
整个编码装置主要由以下模块组成:
1、H.264编码模块,用H.264压缩每个宏块,主要由以下单元组成:
(1)H.264帧内/帧间预测单元,以已经完成编码的复原图像或宏块的数据做参考,做帧间或帧内预测得到预测宏块.
(2)H.264预测误差单元,由原始宏块与预测宏块之差得到预测误差宏块。
(3)H.264变换单元,对预测误差宏块做近似DCT的整数变换,得到变换系数宏块。
(4)H.264量化单元,对变换系数宏块做量化处理。
(5)H.264熵编码单元,对量化后的宏块数据进行重新排序后,再用基于上下文的自适应可变长编码CAVLC(Context-based Adaptive Variable Length Coding)或基于上下文的自适应二进制算术编码CABAC(Context Adaptive Binary Arithmetic Coding)进一步压缩。
(6)码率控制单元,根据已完成编码的宏块的编码情况(如压缩位数)及其他信息确定下一宏块量化和反量化时所使用的量化参数QP,QP也可以取常数。
(7)H.264反量化单元,量化过程的逆操作,对量化后的宏块数据做反量化。
(8)H.264反变换单元,对反量化后的宏块数据执行反变换操作。
(9)H.264图像重构单元,计算反变换得到的宏块与预测宏块的和,得到重构宏块。
(10)H.264环路滤波单元,对重构宏块进行滤波处理。
2、Gzip编码模块,用Gzip压缩每个宏块,主要由以下单元组成:
(1)匹配串搜索单元,在字典中查找当前编码串的匹配串。
(2)Huffman编码单元,用Huffman编码法编码字典查找的结果。
(3)建立字典单元,将编码过程中用到的预测数据插入字典。这里用到的预测数据包括以下两种情况:①当前编码字节之前的原始图像的32k字节数据作为字典即预测数据。②当前编码字节之前的复原图像的32k字节数据作为字典即预测数据。此外,对情况1,建立字典单元还需要存储字典数据;对情况2,字典数据直接使用复原图像存储模块中的图像数据,因此建立字典单元不需要存储字典数据。
3、编码方法选择模块,根据H.264和Gzip的压缩结果,选择编码位数较少的方法产生的压缩数据放入压缩码流。
4、复原图像存储模块,存储复原图像数据,用作后续宏块编码时的参考。这里的复原图像数据是由H.264编码模块中的H.264环路滤波单元和复原数据替换模块产生的。
5、复原数据替换模块,若编码方法选择模块最终选择采用Gzip压缩,则将Gzip的复原数据存入复原图像存储模块,用于后续宏块编码时的参考。
6、码流输出或存储模块,对压缩后的码流进行存储或输出的模块。
在本实施例中,对应采用原始图像或复原图像的最近32k字节数据作为字典两种不同方法,图12中Gzip压缩模块中的建立字典单元所做的具体工作有所不同。对采用原始图像的最近32k字节数据作为字典的方法,建立字典单元负责将刚编码过的原始宏块数据插入字典。而采用复原图像的最近32k字节数据作为字典时,建立字典单元所做的具体工作详细描述如下:
采用复原图像的最近32k字节数据作为字典,字典中的数据既包括H.264复原图像内容也包括Gzip的复原图像内容。仍假定每个宏块的数据为D_MB字节。Gzip编码每个宏块的过程伴随着根据原始宏块数据修正head[]和prev[]数组的过程。对当前宏块,若编码方法选择模块最终选择H.264编码时,其复原宏块采用H.264的复原数据。由于Gzip在编码过程中已将原始宏块数据插入字典,因此对建立字典单元来讲,必须用H.264的复原数据将其替换。此外,由于将前一个宏块的最后两个字节插入字典时,计算他们在字典中的位置ins_h需要用到当前宏块的前两个字节,因此当编码方法选择模块选择H.264编码时,同样由于H.264的复原宏块数据与原始宏块数据不尽相同,需要建立字典单元重新计算前一个宏块的最后两个字节在字典中的位置ins_h。
H.264与Gzip自适应的图像压缩方法的解码流程如下图所示,包括以下步骤:
(1)通过解码输入码流,判断当前宏块的编码方式,若使用H.264压缩,则用H.264的解码器解码,否则使用Gzip的解码器解码。
(2)重复步骤(1),直至码流结束。
图13中H.264的解码流程如图14所示,包括以下步骤:
(1)对码流中的宏块信息做熵解码,然后对解码得到的宏块内各系数重新排序,恢复各系数在编码器中重新排序前的次序。
(2)重新排序后的宏块数据经过反量化、反变换过程得到预测误差宏块。
(3)由熵解码得到的预测模式等辅助信息在已完成解码的复原图像或宏块内做帧间/帧内预测,得到预测宏块。
(4)反变换得到的预测误差宏块及预测单元得到的预测宏块相加得到重构宏块。
(5)对重构宏块做环路滤波后得到复原宏块。
图13中Gzip的解码流程如图15所示。包括以下步骤:
(1)对码流中的宏块信息做Huffman解码。
(2)以已完成解码的宏块数据为字典,根据Huffman解码结果查找字典,得到相应的字符串。
(3)将当前宏块中已解码过的数据放入复原图像缓存区。
(4)重复步骤(1)~(3),直至当前宏块解码结束。
图16是H.264与Gzip自适应的图像压缩方法的解码装置示意图,包括以下模块:
1、编码方式判别模块,通过解码码流,判断当前宏块的编码方式是H.264还是Gzip压缩。若使用H.264压缩,则用H.264的解码器解码,否则用Gzip的解码器解码。
2、H.264解码模块,对使用H.264编码的宏块解码,包括以下单元:
(1)H.264熵解码单元,解码码流,得到量化后的宏块数据及预测模式等辅助信息。然后对量化后的宏块内各系数重新排序,恢复各系数在H.264编码器中重新排序前的次序。
(2)H.264反量化单元,对重定序得到的宏块数据做反量化。
(3)H.264反变换单元,对反量化得到的宏块数据做反变换。
(4)H.264帧内/帧间预测单元,用已完成解码的复原图像或宏块数据及解码得到的预测模式等辅助信息对当前宏块做预测,得到预测宏块。
(5)H.264图像重构单元,由反变换得到的预测误差宏块与预测宏块相加得到重构宏块。
(6)H.264环路滤波单元,对重构宏块执行滤波操作,得到最后的复原宏块。
3、Gzip解码模块,解码由Gzip压缩的宏块,包括以下单元:
(1)Huffman解码单元,解码码流中由Huffman编码的数据,得到当前宏块数据在字典中的信息。
(2)字符串查找单元,根据解码得到的宏块数据在字典中的信息查找字典,得到相应的字符串。
4、复原图像存储模块,存储H.264和Gzip解码得到的图像数据。
Claims (14)
1、一种混合编码与字典编码整合的图像压缩方法,其特征在于:
压缩流程包括以下步骤:
(1)将当前图像分为多个非重叠的N*N大小的宏块;
(2)对每个宏块,采用混合编码法和字典编码法分别压缩;
(3)比较混合编码法和字典编码法产生压缩bits数,若混合编码法产生的压缩bits数少于字典编码法,则顺序执行步骤(4),否则执行步骤(5);
(4)将混合编码法产生的压缩数据放入压缩码流;
(5)将字典编码法产生的压缩数据放入压缩码流;
(6)重复(1)至(5)直至当前图像编码结束;
解码流程包括以下步骤:
(1)通过解码当前宏块,判断当前宏块的编码方式,若使用混合编码法编码,则顺序执行步骤(2),否则执行步骤(3);
(2)用混合编码法的解码器解码,跳到步骤(4);
(3)用字典编码法的解码器解码;
(4)重复步骤(1)至(3),直至码流结束。
2、按权利要求1所述的一种混合编码与字典编码整合的图像压缩方法,其特征在于:
所述的混合编码方法的压缩流程包括以下步骤:
(1)对要编码的图像宏块,以已经完成编码的复原图像或宏块的数据为参考,做帧间或帧内预测,得到预测宏块;
(2)计算原始宏块与预测宏块的差得到预测误差宏块;
(3)对预测误差宏块做变换处理;
(4)对变换后的宏块数据执行量化操作;
(5)对宏块量化的结果依次做反量化、反变换;
(6)由预测宏块和反变换得到的宏块相加得到重构宏块;
(7)对量化后的宏块数据用熵编码方法进一步压缩形成最后的压缩码流;
(8)对码率进行控制,即确定下一宏块量化和反量化时所使用的量化参数QP;混合编码法的解码流程包括以下步骤:
(1)对码流中的信息做熵解码;
(2)熵解码得到的宏块数据依次经过反量化、反变换过程;
(3)由熵解码得到的预测模式信息及解码辅助信息,在已完成解码的复原图像或宏块内做预测得到预测宏块;
(4)预测宏块与反变换得到的预测误差宏块相加,得到重构宏块。
3、按权利要求2所述的一种混合编码与字典编码整合的图像压缩方法,其特征在于:对压缩流程步骤(6)得到的重构宏块做像素的后处理操作,得到复原宏块,以用作后续宏块编码时的参考;对解码流程步骤(4)得到的重构宏块经过对像素的后处理操作后得到复原宏块。
4、按权利要求2所述的一种混合编码与字典编码整合的图像压缩方法,其特征在于:压缩流程步骤(8)中所述的QP也可以取常数。
5、按权利要求1所述的一种混合编码与字典编码整合的图像压缩方法,其特征在于:
所述的字典编码方法的压缩流程包括以下步骤:
(1)对当前编码串,在字典中查找匹配的字符串,然后将查找到的结果放入码流中;
(2)将当前宏块中刚已编码过的数据插入字典;
(3)重复步骤(1)至(2),直到当前宏块编码结束;
字典编码法的解码流程包括以下步骤:
(1)根据码流中的信息查找字典,得到相应的字符串;
(2)将当前宏块中已解码过的数据放入字典;
(3)重复步骤(1)至(2),直到当前宏块解码结束。
6、按权利要求5所述的一种混合编码与字典编码整合的图像压缩方法,其特征在于:使用当前编码字节之前的原始图像的R个字节数据作为字典,其中R大于一个宏块的数据个数。
7、按权利要求5所述的一种混合编码与字典编码整合的图像压缩方法,其特征在于:使用当前编码字节之前的复原图像的R个字节数据作为字典,其中R大于一个宏块的数据个数。
8、一种混合编码与字典编码整合的图像压缩装置,其特征在于:
其压缩装置由以下模块组成:
混合编码模块,以采用混合编码方法压缩宏块;
字典编码模块,以采用字典方法压缩宏块;
编码方法选择模块,以根据混合编码模块和字典编码模块的压缩结果,选择编码位数较少的方法产生的压缩数据放入压缩码流;
复原图像存储模块,以存储由混合编码模块或字典编码模块产生的复原图像数据;
复原数据替换模块,当使用字典编码法压缩,用于将字典编码法的复原宏块数据替换复原图像存储模块中的混合编码法的复原宏块数据;
码流输出或存储模块,以对压缩后的码流进行存储或输出;
其解码装置由以下模块组成:
编码方式判别模块,以对码流中的当前宏块的编码方式进行判别,选择相应的解码器解码;
混合编码法的解码模块,以对使用混合编码法编码的宏块解码;
字典编码法的解码模块,以对使用字典编码法编码的宏块解码;
复原图像存储模块,以存储由混合编码法的解码器或字典编码法的解码器解码得到的图像数据。
9、按权利要求8所述的一种混合编码与字典编码整合的图像压缩装置,其特征在于:
其压缩装置中的混合编码模块包括以下单元:
(1)预测单元,以根据参考像素对编码宏块内每个像素做预测得到预测宏块;
(2)预测误差单元,以计算原始宏块与预测宏块的差得到预测误差宏块;
(3)变换单元,以对预测误差宏块做正交变换;
(4)量化单元,以对变换后的宏块数据做量化处理,以减小非0系数的幅值及增加0系数的个数;
(5)熵编码单元,以对量化后的宏块数据用算术编码等熵编码方法进行压缩;
(6)码率控制单元,以确定下一宏块量化和反量化时所使用的量化参数QP,或将QP取为常数;
(7)反量化单元,以对量化后的宏块数据做反量化。
(8)反变换单元,以对宏块数据反量化后的结果做反变换。
(9)图像重构单元,以计算反变换得到的宏块与预测宏块的和,得到重构宏块。
10、按权利要求9所述的一种混合编码与字典编码整合的图像压缩装置,其特征在于:压缩装置中的混合编码模块还包括后处理单元,以对重构宏块做像素的后处理后得到最终的复原宏块。
11、按权利要求8所述的一种混合编码与字典编码整合的图像压缩装置,其特征在于:
其压缩装置中的字典编码模块包括以下单元:
(1)匹配串搜索单元,以通过查阅字典寻找当前编码串的匹配数据的方法编码宏块;
(2)建立字典单元,以将在编码过程中用到的预测数据插入字典。
12、按权利要求8所述的一种混合编码与字典编码整合的图像压缩装置,其特征在于:
其解码装置中的混合编码法的解码模块包括以下单元:
(1)熵解码单元,以解码输入码流,得到量化后的宏块数据、预测模式信息、及解码辅助信息;
(2)反量化单元,以对熵解码得到的宏块数据做反量化;
(3)反变换单元,以对反量化得到的宏块数据做反变换;
(4)预测单元,以根据解码得到的预测模式信息及解码辅助信息,由已经完成解码的复原图像或宏块的数据得到预测宏块;
(5)图像重构单元,以将反变换得到的预测误差宏块及预测单元得到的预测宏块相加,得到重构宏块。
13、按权利要求12所述的一种混合编码与字典编码整合的图像压缩装置,其特征在于:其解码装置中的混合编码法的解码模块还包括后处理单元,以对重构宏块做像素的后处理。
14、按权利要求8所述的一种混合编码与字典编码整合的图像压缩装置,其特征在于:
其解码装置中的字典编码法的解码模块包括以下单元:
(1)字符串查找单元,以根据码流中的信息在字典中查找相应的字符串;
(2)建立字典单元,以将解码得到的宏块数据生成字典。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810203722 CN101420614B (zh) | 2008-11-28 | 2008-11-28 | 一种混合编码与字典编码整合的图像压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810203722 CN101420614B (zh) | 2008-11-28 | 2008-11-28 | 一种混合编码与字典编码整合的图像压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101420614A true CN101420614A (zh) | 2009-04-29 |
CN101420614B CN101420614B (zh) | 2010-08-18 |
Family
ID=40631172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810203722 Expired - Fee Related CN101420614B (zh) | 2008-11-28 | 2008-11-28 | 一种混合编码与字典编码整合的图像压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101420614B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098507A (zh) * | 2010-06-08 | 2011-06-15 | 同济大学 | 图像统合压缩方法及装置 |
CN102129872B (zh) * | 2010-01-14 | 2013-01-09 | 珠海扬智电子有限公司 | 资料压缩、解压缩方法及其装置 |
CN103281156A (zh) * | 2013-05-02 | 2013-09-04 | 华为技术有限公司 | 一种数据压缩、解压缩方法及装置 |
CN103780909A (zh) * | 2012-10-22 | 2014-05-07 | 古如罗技微系统公司 | 编码器、解码器及编码方法、解码方法 |
CN103997651A (zh) * | 2014-05-17 | 2014-08-20 | 北京中和卓远科技有限公司 | 一种合成图像的数据压缩方法及装置 |
CN105007483A (zh) * | 2015-07-09 | 2015-10-28 | 武汉大学 | 一种与h264标准兼容的屏幕内容编码解码方法 |
CN106797473A (zh) * | 2014-10-01 | 2017-05-31 | 株式会社Kt | 用于处理视频信号的方法和设备 |
CN106815599A (zh) * | 2016-12-16 | 2017-06-09 | 合肥工业大学 | 一种图像分类中通用的判别性稀疏编码字典学习方法 |
CN107483942A (zh) * | 2016-06-08 | 2017-12-15 | 同济大学 | 视频数据压缩码流的解码、视频数据的编码方法及装置 |
CN107547899A (zh) * | 2011-04-22 | 2018-01-05 | 杜比国际公司 | 有损压缩编码数据方法和设备及相应重构数据方法和设备 |
CN110708543A (zh) * | 2013-10-12 | 2020-01-17 | 洪学文 | 结合块匹配和串匹配的图像压缩装置 |
CN111095423A (zh) * | 2017-08-25 | 2020-05-01 | 深圳华大生命科学研究院 | 编码/解码方法、装置和数据处理装置 |
CN113365065A (zh) * | 2021-06-09 | 2021-09-07 | 湖南大学 | 用于rpa机器人屏幕录制的无损视频编码方法和解码方法 |
US11386873B2 (en) | 2020-04-01 | 2022-07-12 | Alibaba Group Holding Limited | Method and apparatus for efficient application screen compression |
US11470327B2 (en) | 2020-03-30 | 2022-10-11 | Alibaba Group Holding Limited | Scene aware video content encoding |
US11792408B2 (en) | 2020-03-30 | 2023-10-17 | Alibaba Group Holding Limited | Transcoder target bitrate prediction techniques |
-
2008
- 2008-11-28 CN CN 200810203722 patent/CN101420614B/zh not_active Expired - Fee Related
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129872B (zh) * | 2010-01-14 | 2013-01-09 | 珠海扬智电子有限公司 | 资料压缩、解压缩方法及其装置 |
CN102098507B (zh) * | 2010-06-08 | 2013-12-25 | 同济大学 | 图像统合压缩方法及装置 |
CN102098507A (zh) * | 2010-06-08 | 2011-06-15 | 同济大学 | 图像统合压缩方法及装置 |
CN107547899A (zh) * | 2011-04-22 | 2018-01-05 | 杜比国际公司 | 有损压缩编码数据方法和设备及相应重构数据方法和设备 |
CN107547899B (zh) * | 2011-04-22 | 2020-03-17 | 杜比国际公司 | 有损压缩编码数据方法和设备及相应重构数据方法和设备 |
CN103780909A (zh) * | 2012-10-22 | 2014-05-07 | 古如罗技微系统公司 | 编码器、解码器及编码方法、解码方法 |
CN103281156B (zh) * | 2013-05-02 | 2017-06-06 | 华为技术有限公司 | 一种数据压缩、解压缩方法及装置 |
CN103281156A (zh) * | 2013-05-02 | 2013-09-04 | 华为技术有限公司 | 一种数据压缩、解压缩方法及装置 |
CN110830803B (zh) * | 2013-10-12 | 2022-04-19 | 深圳艺慧影视传媒有限公司 | 结合块匹配和串匹配的图像压缩方法 |
CN110913222A (zh) * | 2013-10-12 | 2020-03-24 | 洪学文 | 一种结合块匹配和串匹配的图像压缩方法 |
CN110913216A (zh) * | 2013-10-12 | 2020-03-24 | 洪学文 | 一种结合块匹配和串匹配的图像压缩方法 |
CN110708543A (zh) * | 2013-10-12 | 2020-01-17 | 洪学文 | 结合块匹配和串匹配的图像压缩装置 |
CN110830803A (zh) * | 2013-10-12 | 2020-02-21 | 洪学文 | 结合块匹配和串匹配的图像压缩方法 |
CN103997651A (zh) * | 2014-05-17 | 2014-08-20 | 北京中和卓远科技有限公司 | 一种合成图像的数据压缩方法及装置 |
CN106797473A (zh) * | 2014-10-01 | 2017-05-31 | 株式会社Kt | 用于处理视频信号的方法和设备 |
US11076159B2 (en) | 2014-10-01 | 2021-07-27 | Kt Corporation | Method and apparatus for processing video signal |
US10523950B2 (en) | 2014-10-01 | 2019-12-31 | Kt Corporation | Method and apparatus for processing video signal |
US11743472B2 (en) | 2014-10-01 | 2023-08-29 | Kt Corporation | Method and apparatus for processing video signal |
CN105007483B (zh) * | 2015-07-09 | 2017-11-14 | 武汉大学 | 一种与h264标准兼容的屏幕内容编码解码方法 |
CN105007483A (zh) * | 2015-07-09 | 2015-10-28 | 武汉大学 | 一种与h264标准兼容的屏幕内容编码解码方法 |
CN107483942A (zh) * | 2016-06-08 | 2017-12-15 | 同济大学 | 视频数据压缩码流的解码、视频数据的编码方法及装置 |
CN106815599A (zh) * | 2016-12-16 | 2017-06-09 | 合肥工业大学 | 一种图像分类中通用的判别性稀疏编码字典学习方法 |
CN106815599B (zh) * | 2016-12-16 | 2020-12-22 | 合肥工业大学 | 一种图像分类中通用的判别性稀疏编码字典学习方法 |
CN111095423A (zh) * | 2017-08-25 | 2020-05-01 | 深圳华大生命科学研究院 | 编码/解码方法、装置和数据处理装置 |
US11470327B2 (en) | 2020-03-30 | 2022-10-11 | Alibaba Group Holding Limited | Scene aware video content encoding |
US11792408B2 (en) | 2020-03-30 | 2023-10-17 | Alibaba Group Holding Limited | Transcoder target bitrate prediction techniques |
US11386873B2 (en) | 2020-04-01 | 2022-07-12 | Alibaba Group Holding Limited | Method and apparatus for efficient application screen compression |
CN113365065A (zh) * | 2021-06-09 | 2021-09-07 | 湖南大学 | 用于rpa机器人屏幕录制的无损视频编码方法和解码方法 |
CN113365065B (zh) * | 2021-06-09 | 2024-04-26 | 湖南大学 | 用于rpa机器人屏幕录制的无损视频编码方法和解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101420614B (zh) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101420614B (zh) | 一种混合编码与字典编码整合的图像压缩方法及装置 | |
RU2417518C2 (ru) | Эффективное кодирование и декодирование блоков преобразования | |
CN100355288C (zh) | 图象数据的自适应可变长度编码方法 | |
US6654503B1 (en) | Block-based, adaptive, lossless image coder | |
Rawat et al. | A Hybrid Image Compression Scheme Using DCT and Fractal Image Compression. | |
KR920704494A (ko) | 적합한 블럭크기로 영상을 압축하는 방법 및 시스템 | |
US5848195A (en) | Selection of huffman tables for signal encoding | |
US6885320B2 (en) | Apparatus and method for selecting length of variable length coding bit stream using neural network | |
CN101090495A (zh) | 处理视频数据的方法和系统 | |
CN1195806A (zh) | 图像处理装置和图像处理方法 | |
CN1726644B (zh) | 用于产生压缩数据的多种描述的设备和方法 | |
US8116373B2 (en) | Context-sensitive encoding and decoding of a video data stream | |
Lan et al. | Compound image compression using lossless and lossy LZMA in HEVC | |
CN109672891B (zh) | Jpeg图像的无损二次压缩方法 | |
CN106559668B (zh) | 一种基于智能量化技术的低码率图像压缩方法 | |
CN101198056A (zh) | 变长编码方法及装置 | |
WO2013011355A1 (en) | Method and apparatus for encoding an image | |
Shingate et al. | Still image compression using embedded zerotree wavelet encoding | |
CN1848960A (zh) | 使用非标准化矢量量化编码器的符合视频标准的残差编码 | |
US6125211A (en) | Progressive image transmission | |
CN100466749C (zh) | 一种基于分布式信源编码的抗误码图像编解码方法 | |
Hung et al. | New irregular sampling coding method for transmitting images progressively | |
US6819800B2 (en) | Moving image compression/decompression apparatus and method which use a wavelet transform technique | |
Kumar et al. | Comparative analysis of wavelet based compression methods | |
JPH09172379A (ja) | 可変長符号化装置及び方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100818 Termination date: 20171128 |