一种图像编码方法及装置的制作方法

文档序号:6559733阅读:185来源:国知局

专利名称::一种图像编码方法及装置的制作方法
技术领域
:本发明涉及图像和视频压縮编码技术,具体是涉及一种图像编码方法及装置。
背景技术
:目前,图像和视频压缩技术被广泛地应用于诸如数字电视、影像处理、视频会议等各种场合。随着图像和视频技术的发展,现在已有很多种压縮编码技术,包括运动图象专家组(MPEG)-2、MPEG-4、高级视频信号编解码(AVC)/H.264、数字电视音视频编解码技术(AVS)、VC-9、联合图像专家组(JPEG)、JPEG2000等等。其中,MPEG-2、MPEG-4、AVC/H.264、AVS以及VC-9都是专门针对动态图像而设计的压縮编码技术。JPEG、JPEG2000则用于对静态图像进行压縮。上述针对动态图像的视频压縮编码技术大都采用变换、量化的压縮技术,在经过变换和量化后,将图像中的高频分量当作冗余去掉。这类技术对于颜色变化不是很平滑的文字、图表来说,会造成很明显的高频失真,比如会使文字和图表的边缘很模糊,因此该技术不适合对静态图像进行压縮编码。上述针对静态图像的压缩编码技术由于对动态视频的压縮性能很低,因此不适合对动态图像进行压縮编码。而目前需要压縮的对象可能有时候是动态图像,有时候又是静态图像,比如,如果用户对当前正在播放的视频图像进行截屏,则该图像为动态图像,而如果用户对当前的图片、WORD文档等进行截屏,则该图像为静态图像。这种情况下,不论是使用视频压缩编码技术还是使用静态图像压缩编码技术都不能完全满足图像的压縮需求。也就是说,目前没有一种方案能够解决这种情况下的图像压縮问题。
发明内容有鉴于此,本发明所要解决的主要问题在于提供一种图像编码方法,以能满足对动态图像以及静态图像的压縮编码要求。本发明所要解决的另一个问题在于提供一种图像编码装置。为解决以上问题,本发明提供了以下技术方案本发明的一种图像编码方法,该方法首先设置图像模型,该方法还包括:本发明的一种图像编码方法,设置图像模型,该方法还包括a.对待压縮的原始图像进行分析,将原始图像划分成至少一个图像分块,并确定每个图像分块所对应的图像模型;b.为每个图像分块选择与该图像分块的图像模型相适应的压縮编码方法,并使用所选择的压縮编码方法对相应的图像分块进行编码。所述步骤a包括采用图像识别方法对原始图像进行划分,划分出至少一个图像分块,并根据每个图像分块的特征和/或来源确定该图像分块所对应的图像模型。所述步骤a中,所述采用图像识别方法将原始图像划分为图像分块包括:将原始图像划分为宏块,利用每个宏块的亮度分量和色度分量分别构建直方图,计算颜色值的分布情况,再将直方图相同或相近、且相邻的宏块组合在一起构成图像分块,并根据直方图的特征确定图像分块的图像模型。所设置的图像模型包括二值图像、多值图像及连续色调图像中的一种或多种;步骤b中,所述为每个图像分块选择与该图像分块的图像模型相适应的压縮编码方法包括为图像模型为二值图像的图像分块选择针对二值图像的压縮编码方法;和/或为图像模型为多值图像的图像分块选择针对多值图像的压縮编码方法;和/或为图像模型为连续色调的图像的图像分块选择针对连续色调的图像的压縮编码方法。所述选择的多值图像的压縮编码方法为对分布在多值图像分块中的各个颜色值进行编号,之后对编号后的非零颜色值构成的多值图像分块进行编码。所述选择的连续色调图像的压縮编码方法为动态图像编码方案。所述动态图像编码方案包括将图像分块变换为频域信息,之后通过量化去掉所述频域信息中的高频分量,再对处理后的信息进行编码。所述动态图像编码方案进一步包括对所述图像分块进行帧内或帧间预测,之后对原图像数据和预测出的数据进行差分,之后再将差分得到的信息变换为频域信息,之后去掉所述频域信息中的高频分量,再对处理后的信息进行编码。本发明的一种图像编码装置,所述装置包括图像分析器和图像编码处理器,其中,图像分析器,用于对待压縮的原始图像进行分析,将原始图像划分为至少一个图像分块,并且确定每个图像分块所对应的图像模型,之后将每个图像分块发送给图像编码处理器;图像编码处理器,用于接收图像分析器发送来的图像分块,用该图像分块所对应的图像模型所能使用的压縮编码方法对该图像分块进行压縮编码,并输出压縮后的码流。所述图像编码处理器包括二值图像编码处理模块,所述模块用于对图像分块进行编码,并输出编码后的码流。所述图像编码处理器包括多值图像编码处理模块,所述模块中包括颜色值编号模块和熵编码模块,其中,颜色值编号模块,用于对分布在多值图像分块中的各个颜色值进行编号,并在编号后将各颜色值发送给熵编码模块;熵编码模块,用于对编号后的非零颜色值构成的多值图像分块进行编码,并输出编码后的码流。所述图像编码处理器包括连续色调图像的编码处理模块,所述模块中包括变换模块、量化模块和熵编码模块,其中,变换模块,用于将图像分析器发送来的图像分块变换为频域信息,并将处理后的信息发送给量化模块;量化模块,用于对收到的信息执行去高频分量处理,并将处理后的信息发送给熵编码模块;熵编码模块,用于对收到的信息进行编码。所述连续色调图像的编码处理模块中进一步包括预测模块、反量化模块和反变换模块,其中,所述量化模块进一步用于将处理后的信息发送给所述反量化模块;反量化模块,用于接收量化模块处理后的信息,并对所述信息进行反量化处理,之后将反量化处理后的信息发送给反变换模块;反变换模块,用于对收到的信息进行反变换处理,并将处理后的信息发送给预测模块;预测模块,用于接收图像分析器发送来的图像分块,以及反变换模块发送来的处理后的信息,根据这两个信息进行帧内或帧间预测,并将预测后的信息再发送给变换模块;所述变换模块进一步用于接收预测模块发送来的信息,并对其进行变换处理。本发明通过将待压縮的图像划分为至少一个图像分块,之后为每个图像分块选择与该图像分块所对应的图像模型相适应的压縮编码方法,并以此方法对图像分块进行编码,从而使得不同类型的图像均可采用该方案进行压縮编码。比如,采用本发明方案可以消除现有技术中采用动态压縮编码方案时对静态图像造成的高频失真。并且本发明方案还降低了图像编解码的复杂度,且图像编解码可以方便地用硬件或软件实现。本发明方案由于是对图像分块分别进行编码,且还可以是对图像分块划分出的宏块进行编码,因此本发明方案还能够降低压縮编码的计算量,并提高图像的编码效率。并且,由于本发明方案能够降低计算量,因此本发明方案还可以实现对诸如超过1024X768的大尺寸图像进行实时编码。而如果采用现有技术中的动态图像编码方案对大尺寸图像进行编码,会出现因运算量太大而无法做到实时编码;如果采用现有技术中的静态图像编码方案进行编码,则会因无法很好地去掉图像中的冗余信息而导致压缩质量比较低。图1为本发明方案的实现流程图2为本发明方案的结构示意图3为在图2的图像编码处理器中设置多个处理模块后的结构示意图;图4为图3所示各个处理模块的具体实现示意图。具体实施例方式下面结合附图及具体实施例对本发明方案做进一步详细的描述。本发明首先要设置图像模型,所设置的图像模型可以包括二值图像、多值图像和连续色调的图像这三种,当然也可以只包括这三种中的某两种。二值图像为只具有前景色和背景色两种颜色值的图像,多值图像为具有少数几个颜色值的图像,连续色调的图像则是指色彩连续变化的图像。大部分文字和图表都属于二值或多值图像,照片、影像视频等一般都属于连续色调的图像。基于上述设置,本发明方案的处理流程如图l所示,对应以下步骤步骤101、对待压縮的原始图像进行分析,将原始图像划分成至少一个图像分块,并且确定每个图像分块所对应的图像模型。本步骤具体可以采用一种图像识别方法对原始图像进行划分。具体来说,可以采用直方图(H,Histogram)方案进行划分,即先将图像划分为宏块,比如,可以将图像划分为16X16的宏块,当然,也可以划分为其它宏块,利用每个宏块的亮度分量和色度分量分别构建H图,计算颜色值的分布情况;之后再分析H图,将H图相同或相近、且相邻的宏块组合在一起,构成图像分块。再将图像分块中每个宏块的H图相加,得到该图像分块的H图;之后根据该图像分块的H图所对应的域值,也即图像分块的特性确定该图像分块是属于哪种图像模型,也即属于二值图像、多值图像或连续色调的图像。另外,由于待压縮的原始图像可能属于不同的图像来源,比如,如果计算机显示屏上有一个小窗口播放视频文件,另一个小窗口在进行word文档的处理,这时如果需要截取当前计算机显示屏上的画面,则该画面包括两个信息,一个来自视频窗口,另一个来自word文档窗口,显然这两个窗口的图像信息是不一样的,对这两种图像信息所对应的图像分块通常都属于不同的图像模型,因此,在确定图像分块所属的图像模型时,也可以利用图像分块的来源进行确定。当然,还可以同时根据图像分块的特性和来源确定该图像分块所属的图像模型。步骤102103、为步骤101划分出的各图像分块分别选择与该图像分块的图像模型相适应的压縮编码方法,并釆用所选择的压縮编码方法对相应的图像分别进行编码。对于二值图像来说,所选择的压縮编码方法是任意一种二值图像的压縮编码方法。比如,所使用的编码方法可以是游程编码方法,也可以是位平面编码方法、算术编码方法等其它的编码方法。如果采用游程编码方法,则可以是只对前景色的游程值进行编码,这里的游程值即为图像分块中背景色的个数。对于采用只对前景色的游程值进行编码的方法来说,由于在采用H图方案对原始图像进行划分时,图像分块已经是16X16的宏块的组合,因此,可以直接对图像分块中各个16X16的宏块选择与该块上下文环境相适应的游程编码表进行编码。当然,为降低游程编码计算的复杂度,还可以将16X16的宏块再划分为8X8的宏块,再对这些8X8的宏块进行游程编码。当然也可以划分为诸如4X4之类的更小宏块。具体来说,以二值图像采用8X8的宏块的上下文适应的游程编码为例,说明一下游程编码的各种编码表的设置情况。如果是前景色比较集中的块,则其可以使用的游程编码的编码表为如果是前景色比较分散的块,则其可以使用的游程编码的编码表为:<table>tableseeoriginaldocumentpage10</column></row><table>000010run=0000011rim=90000010腿=100000011mn=ll000000000000000000000000000000011run=63。如果是前景色中等分布的块,则其可以使用的游程编码的编码表为10腿=911函=10010run=7011run=80010謹=50011run=600010run=1100011證=12000010run=3000011腦=4对于多值图像来说,所选择的压縮编码方法可以是先对分布在图像分块中的各个颜色值进行编号,之后再对编号后的非零颜色值所构成的多值图像分块进行编码。同样,这里所使用的编码方法可以是游程编码方法、位平面编码方法及算术编码方法等。如果是采用游程编码方法,则在对颜色值编号后,再对编号后的非零颜色值进行编码;在确定非零颜色值的编码之后,再对图像分块中的游程值进行编码,该游程值即为图像分块中分布概率最大的颜色值的个数。其中,对分布在图像分块中的颜色值进行编号时,可以按照分布概率从大到下的顺序进行编号,分布概率最大的颜色值为0,其次为l,之后的编号依此类推。对编号以后的非零颜色值进行编码时,具体可以采用Exp-Gdomb编码方案进行编码,当然也可以使用其它的编码方案,如哈夫曼编码方案等。下表说明了采用Exp-Golomb编码方案对颜色值进行编码得到的颜色值的结构,表中以数字串为bit串的前缀,xO..等为后缀。<table>tableseeoriginaldocumentpage12</column></row><table>对于Exp-Golomb编码方案得到的编码,可以采用以下公式进行解码。C=2Alzs-l+read_bits(lzs),其中,C为颜色编号,lzs为作为前缀的O的个数,read—bits为读入给定bit宽度的一个整数。另外,与二值图像中的处理类似,为降低游程编码计算的复杂度,在对游程值进行编码之前,也可以将16X16的宏块再划分为更小的宏块。对于连续色调的图像分块,则可以采用动态图像编码方案。比如,可以先将图像分块变换为频域信息,再通过量化去掉频域信息中的高频分量,然后再对处理后的信息进行编码。在该处理过程中,为减少计算量,还可以进行帧内预测和/或帧间预测,具体选择可以根据需要进行,所采用的这两种预测方法都可以使用现有方法实现。比如,对于帧内预测来说,可以通过帧中左、上、左上、右上的宏块进行预测。对于帧间预测来说,则是在前一帧图像中存在相同位置、相同尺寸且为连续色调的图像分块时,根据该前一帧中图像的数据对当前帧中的图像进行预测,找出每个宏块相对于前一帧相应位置的偏移,即运动矢量。在进行帧内或帧间预测之后,可以对原图像分块的数据与预测出的数据进行差分,将差分后的残差信号划分为诸如8X8的宏块,对各个宏块做类DCT的整数变换,并将变换后的系数量化后再采用变长编码进行编码。本发明具体可以采用如图2所示的装置来完成上述处理,该装置具体包括图像分析器和图像编码处理器。图像分析器用于对待压縮的原始图像进行分析,将原始图像划分成至少一个图像分块,并且确定每个图像分块所对应的图像模型,之后将每个图像分块发送给图像编码处理器。图像编码处理器用于接收图像分析器发送来的图像分块,用该图像分块所对应的图像模型所能使用的压縮编码方法对该图像分块进行压縮编码,并输出压缩后的码流。其中,如图3所示,图像编码处理器具体可以包括二值图像编码处理模块、多值图像编码处理模块和连续色调图像编码处理模块。上述几种编码处理模块中所包含的模块则如图4所示。图4中的二值图像编码处理模块用于对图像分块进行编码,并输出编码后的码流。如果采用的是游程编码方法,则可以在该二值图像编码处理模块中设置一个上下文自适应的游程编码模块,该游程编码模块用于对图像分块中前景色的游程值进行编码,并输出编码后的码流。多值图像编码处理模块包括颜色值编号模块和熵编码模块。其中,颜色值编号模块,用于对分布在图像分块中的各个颜色值进行编号,并在编号后将各颜色值发送给熵编码模块。熵编码模块,用于对编号后的非零颜色值构成的多值图像分块进行编码,并输出编码后的码流。多值图像编码处理模块中的熵编码模块具体可以采用多种编码方法,比如,可以采用游程编码方法、位平面编码方法、算术编码方法等。其中,如果采用的编码方法为游程编码,则该熵编码模块中还可以由颜色值编码模块和上下文自适应的游程编码模块组成,该颜色值编号模块需要在编号后将各颜色值发送给颜色值编码模块;颜色值编码模块用于对图像分块中编号后的非零颜色值进行编码,并将编码后的信息发送给上下文自适应的游程编码模块;游程编码模块用于对编号后的非零颜色值构成的多值图像分块中的游程值进行编码,并输出编码后的码流。连续色调图像编码处理模块中包括变换模块、量化模块和熵编码模块,其中,变换模块用于将图像分块变换为频域信息,并将处理后的信息发送给量化模块;量化模块用于对收到的信息进行去高频分量处理,并将处理后的信息发送给熵编码模块;熵编码模块用于对收到的信息进行编码。另外,该连续色调图像编码处理模块中还可以进一步增加预测模块、反量化模块和反变换模块,其中,反量化模块用于接收量化模块量化处理后的信息,并对该信息进行反量化处理,之后将反量化处理后的信息发送给反变换模块;反变换模块用于对收到的信息进行反变换处理,并将处理后的信息发送给预测模块;预测模块用于接收图像分析器和反变换模块发送来的信息,根据这两个信息进行帧内预测或帧间预测,并将预测后的信息再发送给变换模块。由此可以看出,原有的量化模块还需要将量化处理后的信息发送给反量化模块;变换模块还需要接收预测模块发送来的信息,并对其进行变换处理。以上所述仅为本发明方案的较佳实施例,并不用以限定本发明的保护范围。权利要求1.一种图像编码方法,其特征在于,设置图像模型,该方法包括a.对待压缩的原始图像进行分析,将原始图像划分成至少一个图像分块,并确定每个图像分块所对应的图像模型;b.为每个图像分块选择与该图像分块的图像模型相适应的压缩编码方法,并使用所选择的压缩编码方法对相应的图像分块进行编码。2.根据权利要求1所述的方法,其特征在于,所述步骤a包括采用图像识别方法对原始图像进行划分,划分出至少一个图像分块,并根据每个图像分块的特征和/或来源确定该图像分块所对应的图像模型。3.根据权利要求2所述的方法,其特征在于,所述步骤a中,所述采用图像识别方法将原始图像划分为图像分块包括将原始图像划分为宏块,利用每个宏块的亮度分量和色度分量分别构建直方图,计算颜色值的分布情况,再将直方图相同或相近、且相邻的宏块组合在一起构成图像分块,并根据直方图的特征确定图像分块的图像模型。4.根据权利要求1至3中任意一项所述的方法,其特征在于,所设置的图像模型包括二值图像、多值图像及连续色调图像中的一种或多种;步骤b中,所述为每个图像分块选择与该图像分块的图像模型相适应的压縮编码方法包括为图像模型为二值图像的图像分块选择针对二值图像的压缩编码方法;和/或为图像模型为多值图像的图像分块选择针对多值图像的压縮编码方法;和/或为图像模型为连续色调的图像的图像分块选择针对连续色调的图像的压縮编码方法。5.根据权利要求4所述的方法,其特征在于,所述选择的多值图像的压縮编码方法为对分布在多值图像分块中的各个颜色值进行编号,之后对编号后的非零颜色值构成的多值图像分块进行编码。6.根据权利要求4所述的方法,其特征在于,所述选择的连续色调图像的压縮编码方法为动态图像编码方案。7.根据权利要求6所述的方法,其特征在于,所述动态图像编码方案包括将图像分块变换为频域信息,之后通过量化去掉所述频域信息中的高频分量,再对处理后的信息进行编码。8.根据权利要求7所述的方法,其特征在于,所述动态图像编码方案进一步包括对所述图像分块进行帧内或帧间预测,之后对原图像数据和预测出的数据进行差分,之后再将差分得到的信息变换为频域信息,之后去掉所述频域信息中的高频分量,再对处理后的信息进行编码。9.一种图像编码装置,其特征在于,所述装置包括图像分析器和图像编码处理器,其中,图像分析器,用于对待压縮的原始图像进行分析,将原始图像划分为至少一个图像分块,并且确定每个图像分块所对应的图像模型,之后将每个图像分块发送给图像编码处理器;图像编码处理器,用于接收图像分析器发送来的图像分块,用该图像分块所对应的图像模型所能使用的压缩编码方法对该图像分块进行压縮编码,并输出压縮后的码流。10.根据权利要求9所述的装置,其特征在于,所述图像编码处理器包括二值图像编码处理模块,所述模块用于对图像分块进行编码,并输出编码后的码流。11.根据权利要求9所述的装置,其特征在于,所述图像编码处理器包括多值图像编码处理模块,所述模块中包括颜色值编号模块和熵编码模块,其中,颜色值编号模块,用于对分布在多值图像分块中的各个颜色值进行编号,并在编号后将各颜色值发送给熵编码模块;熵编码模块,用于对编号后的非零颜色值构成的多值图像分块进行编码,并输出编码后的码流。12.根据权利要求9所述的装置,其特征在于,所述图像编码处理器包括连续色调图像的编码处理模块,所述模块中包括变换模块、量化模块和熵编码模块,其中,变换模块,用于将图像分析器发送来的图像分块变换为频域信息,并将处理后的信息发送给量化模块;量化模块,用于对收到的信息执行去髙频分量处理,并将处理后的信息发送给熵编码模块;熵编码模块,用于对收到的信息进行编码。13.根据权利要求12所述的装置,其特征在于,所述连续色调图像的编码处理模块中进一步包括预测模块、反量化模块和反变换模块,其中,所述量化模块进一步用于将处理后的信息发送给所述反量化模块;反量化模块,用于接收量化模块处理后的信息,并对所述信息进行反量化处理,之后将反量化处理后的信息发送给反变换模块;反变换模块,用于对收到的信息进行反变换处理,并将处理后的信息发送给预测模块;预测模块,用于接收图像分析器发送来的图像分块,以及反变换模块发送来的处理后的信息,根据这两个信息进行帧内或帧间预测,并将预测后的信息再发送给变换模块;所述变换模块进一步用于接收预测模块发送来的信息,并对其进行变换处理。全文摘要本发明公开了一种图像编码方法,该方法首先设置图像模型,该方法还包括a.对待压缩的原始图像进行分析,将原始图像划分成至少一个图像分块,并确定每个图像分块所对应的图像模型;b.为每个图像分块选择与该图像分块的图像模型相适应的压缩编码方法,并使用所选择的压缩编码方法对相应的图像进行编码。本发明同时还公开了一种图像编码装置。本发明解决了现有技术在图像可能是动态图像,也可能是静态图像的情况下不能对图像进行合适的压缩编码的问题。本发明所提供的压缩编码方案,能够适用于各种图像,从而解决了现有技术中的上述问题。文档编号G06T9/00GK101098473SQ20061009449公开日2008年1月2日申请日期2006年6月30日优先权日2006年6月30日发明者渤刘,孙成昆,彭绍平,蒋晓华,颜毅强申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1