图像编码方法及装置与流程

文档序号:16901516发布日期:2019-02-19 18:02阅读:158来源:国知局
图像编码方法及装置与流程

本发明涉及一种压缩技术领域,特别涉及一种图像编码方法及装置。



背景技术:

经过三十多年的不断研究发展,视频图像编码技术不断推陈出新。从第一代的h.261/h.263、mpeg-1/mpeg-2/mpeg-4标准,到后来的第二代编码标准h.264/avc,再到目前最新的第三代视频编码标准hevc。每一代都在上一代的基础上不断发展,编码效率不断提高。1990年,国际电信联盟远程通信标准化组织(itutelecommunicationstandardizationsector,itu-t)制定了h.261标准。该标准主要用于可视电话、视频会议。其支持在信道上的传输速率为p*64kbit/s(其中p取1~30)。该传输速率有效覆盖了整个综合业务数字网(integratedservicesdigitalnetwork,isdn)的基群信道速率,为各种国际间视频通信业务的开展提供了有力保证。随着视频间通信业务的不断开展,itu-t在原有标准的基础上又推出了应用于低比特率通信视频编码的h.263标准。h.263标准可以实现公用电话交换网(publicswitchedtelephonenetwork,pstn)内的多媒体通信。为了支持更多更为复杂的网络通信环境,itu-t又相继制定和发布了h.263+和h.263++标准。1988年国际标准化组织(internationalorganizationforstandardization,iso)成立了运动图像专家组(movingpictureexpertsgroup,mpeg),旨在努力制定针对于运动视频图像的编码压缩标准。并在1992年11月推出了mpeg-1标准。mpeg-1标准可以支持1.5~2mbit/s的传输码率。1994年11月,运动图像专家组又推出了mpeg-2标准,mpeg-2标准支持4~9mbit/s的传输码率。该标准主要应用于高清晰度电视和标准数字电视画面图像的压缩。mpeg-1和mpeg-2标准的出现,也催生了vcd、dvd等数字媒体产业的产生和发展。1999年1月运动图像专家组又相继推出了mpeg-4标准。mpeg-4压缩编码标准主要用于超低比特率编码。mpeg-4标准相比于采用传统编码技术的mpeg-1和mpeg-2率先采用了基于对象的视频图像编码技术。

视频图像编码主要由四个部分组成,包含:预测模块、量化模块、码控模块和熵编码模块。随着视频图像复杂度的越来越高,如何提高视频图像编码效率,成为亟待解决的核心问题。



技术实现要素:

因此,为解决现有技术存在的技术缺陷和不足,本发明提出一种图像编码方法及装置。

具体地,本发明一个实施例提出的一种图像编码方法,包括:

确定编码图像块的编码方式;

对所述编码图像块使用多种编码方式进行混合编码;

根据混合编码结果采用所述多种编码方式中的一种对所述编码图像块进行最终编码。

在本发明的一个实施例中,对所述编码图像块使用多种编码方式进行混合编码,包括:

对所述编码图像块使用多种编码方式进行预测分别获取所述编码图像块中每个像素的预测残差;

将所述编码图像块的每种编码方式以及对应的每个像素的预测残差进行编码。

在本发明的一个实施例中,对所述编码图像块使用多种编码方式进行预测分别获取所述编码图像块中每个像素的预测残差,包括:

对所述编码图像块使用像素值拐点编码方式进行预测获取所述编码图像块中每个像素的第一预测残差;其中,所述像素值拐点编码方式包括将所述编码图像块中的像素值拐点进行采样,根据采样结果获取所述编码图像块中每个像素的第一预测残差。

对所述编码图像块使用四叉树分割编码方式进行预测获取所述编码图像块中每个像素的第二预测残差;其中,所述四叉树分割编码方式包括将所述编码图像块进行四叉树分割,采用递归算法将分割后的所述编码图像块进行预测,获取所述编码图像块中每个像素的第二预测残差。

在本发明的一个实施例中,根据混合编码结果采用所述多种编码方式中的一种对所述编码图像块进行最终编码,包括:

根据混合编码结果采用预设公式分别计算所述多种编码方式下所述编码图像块对应的多种残差主观和;

根据所述多种残差主观和选取一种编码方式对所述编码图像块进行最终编码。

在本发明的一个实施例中,根据混合编码结果采用所述多种编码方式中的一种对所述编码图像块进行最终编码之后,还包括:

将最终编码结果写入图像编码码流中

在本发明的另一个实施例提出的一种图像编码装置,包括:

确定模块,用于确定编码图像块的编码方式;

混合编码模块,连接所述确定模块,用于对所述编码图像块使用多种编码方式进行混合编码;

最终编码模块,连接所述混合编码模块,用于根据混合编码结果采用所述多种编码方式中的一种对所述编码图像块进行最终编码。

在本发明的一个实施例中,所述混合编码模块具体用于:

对所述编码图像块使用多种编码方式进行预测分别获取所述编码图像块中每个像素的预测残差;

将所述编码图像块的每种编码方式以及对应的每个像素的预测残差进行编码

在本发明的一个实施例中,所述混合编码模块,包括:

像素值拐点编码单元,用于对所述编码图像块使用像素值拐点编码方式进行预测获取所述编码图像块中每个像素的第一预测残差;其中,所述像素值拐点编码方式包括将所述编码图像块中的像素值拐点进行采样,根据采样结果获取所述编码图像块中每个像素的第一预测残差;

四叉树分割编码单元,用于对所述编码图像块使用四叉树分割编码方式进行预测获取所述编码图像块中每个像素的第二预测残差;其中,所述四叉树分割编码方式包括将所述编码图像块进行四叉树分割,采用递归算法将分割后的所述编码图像块进行预测,获取所述编码图像块中每个像素的第二预测残差。

在本发明的一个实施例中,所述最终编码模块包括:

计算单元,用于根据混合编码结果采用预设公式分别计算所述多种编码方式下所述编码图像块对应的多种残差主观和;

选取单元,用于根据所述多种残差主观和选取一种编码方式对所述编码图像块进行最终编码。

基于此,本发明具备如下优点:

本发明通过多种编码方式对编码图像块进行混合编码,选取多种编码方式中的一种进行最终编码,对于复杂纹理图像的编码图像块可以提高图像编码压缩率,进一步降低压缩的理论极限熵。

通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定,这是因为其应当参考附加的权利要求。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅力图概念地说明此处描述的结构和流程。

附图说明

下面将结合附图,对本发明的具体实施方式进行详细的说明。

图1为本发明实施例提供的一种图像编码方法流程示意图;

图2为本发明实施例提供的一种像素值拐点编码方式示意图;

图3为本发明实施例提供的一种四叉树分割编码方式的分割方式示意图;

图4为本发明实施例提供的另一种四叉树分割编码方式的分割方式示意图;

图5为本发明实施例提供的一种四叉树分割编码方式第一层分割方式示意图;

图6为本发明实施例提供的一种图像编码装置示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

实施例一

请参见图1,图1为本发明实施例提供的一种图像编码方法流程示意图;本实施例对本发明提供的一种图像编码方法进行详细描述,该方法包括如下步骤:

步骤1、确定编码图像块的编码方式;

步骤2、对所述编码图像块使用多种编码方式进行混合编码;

步骤3、根据混合编码结果采用所述多种编码方式中的一种对所述编码图像块进行最终编码。

其中,步骤1可以包括:

步骤11、对所述编码图像块使用多种编码方式进行预测分别获取所述编码图像块中每个像素的预测残差;

步骤12、将所述编码图像块的每种编码方式以及对应的每个像素的预测残差进行编码。

其中,步骤11可以包括:

步骤111、对所述编码图像块使用像素值拐点编码方式进行预测获取所述编码图像块中每个像素的第一预测残差;其中,所述像素值拐点编码方式包括将所述编码图像块中的像素值拐点进行采样,根据采样结果获取所述编码图像块中每个像素的第一预测残差。

步骤112、对所述编码图像块使用四叉树分割编码方式进行预测获取所述编码图像块中每个像素的第二预测残差;其中,所述四叉树分割编码方式包括将所述编码图像块进行四叉树分割,采用递归算法将分割后的所述编码图像块进行预测,获取所述编码图像块中每个像素的第二预测残差。

优选地,本实施例以像素值拐点编码方式以及四叉树分割编码方式为例具体说明,但不限于这两种编码方式。

其中,步骤3可以包括:

步骤31、根据混合编码结果采用预设公式分别计算所述多种编码方式下所述编码图像块对应的多种残差主观和;

步骤32、根据所述多种残差主观和选取一种编码方式对所述编码图像块进行最终编码。

进一步地,步骤31具体包括:

根据像素值拐点编码方式获取的所述编码图像块中每个像素的预测残差计算残差绝对值和(sumofabsolutedifference,简称sad)以及残差和(sumofdifference,简称sd)作为所述编码图像块在像素值拐点编码方式下的第一残差绝对值和以及第一残差和,其中残差绝对值和以及残差和计算公式如下式所示:

其中,res为编码图像块中每个像素的预测残差,abs为取绝对值,m*n为编码图像块中像素数量。

同理,根据四叉树分割编码方式获取的所述编码图像块中每个像素的预测残差计算残差绝对值和以及残差和作为所述编码图像块在四叉树分割编码方式下的第二残差绝对值和以及第二残差和。

根据第一残差绝对值和以及第一残差和的情况,分不同的图像场景配置权重系数a1和a2,计算残差主观和(subjectivedifference,简称subd)作为所述编码图像块在像素值拐点编码方式下的第一残差主观和,其中残差主观和计算公式如下式所示:

subd=a1×sad+a2×sd

同理,根据第二残差绝对值和以及第二残差和的情况,分不同的图像场景配置权重系数a1和a2,计算残差主观和(subjectivedifference,简称subd)作为所述编码图像块在四叉树分割编码方式下的第二残差主观和。

若为连续多帧且具有传导效应的场景,如h246参考值压缩,a2较大,a1较小;反之,a1较大,a2较小;进一步地,可以设定a1+a2=1。

进一步地,步骤32具体包括:

比较第一残差主观和以及第二残差主观和的大小,选取最小值对应的编码方式为编码图像块最终的编码方法。

其中,步骤3之后,还可以包括:

将最终编码结果写入图像编码码流中,具体为将最终的编码方法的标志信息、最终的编码方法对应的编码图像块中每个像素的预测残差写入图像编码码流中。

实施例二

本实施例在上述实施例的基础上,对本发明提出的像素值拐点编码方式进行详细描述。该方式包括如下步骤:

步骤1、定义编码图像块的大小;

定义编码图像块的大小为m*n,即编码图像块有m*n个像素,其中m≥1,n≥1;

优选的,可以定义编码图像块的大小为8*1个像素,16*1个像素,32*1个像素,64*1个像素;本实施例以编码图像块的大小为16*1个像素为例说明,其它不同大小的编码图像块同理。

如图2所示,图2为本发明实施例提供的一种像素值拐点编码方式示意图;编码图像块中的16*1个像素的像素值按照从左至右的顺序依次设定为12、14、15、18、20、23、15、10、4、0、2、2、4、5、5、6。

步骤2、定义采样方式;

步骤201、根据编码图像块中存在的纹理相关性,检测编码图像块的纹理渐变性,确定编码图像块的纹理渐变点,将编码图像块的纹理渐变点设定为像素值拐点。

具体地,将当前编码图像块中的当前像素的像素值减去当前编码图像块中相邻像素的像素值,如图2所示,将图中当前编码图像块中的当前像素的像素值减去当前编码图像块中前一像素的像素值,求解当前编码图像块的像素残差值。当前编码图像块中对应位置的像素残差值从左至右依次为12、2、1、3、2、3、-8、-5、-6、-4、2、0、2、1、0、1。

步骤202、设定像素残差值中的连续正值或连续负值的最后一个值为像素值拐点,其中像素残差值为0的值不设定为像素值拐点。

步骤203、将像素值拐点所对应的当前像素所对应的位置设定为采样点,同时将当前像素中处于首位和末位的点设定为采样点。

优选地,如图2所示,所求得的像素残差值中的像素值拐点为3和-4,将像素值拐点3和像素值拐点-4所对应的当前像素23、0以及首位和末位的像素设定为像素采样点。原始点所对应的像素12、23、0、6形成4个采样点。

步骤3、将当前编码图像块中的采样点与正上方编码图像块进行预测。预测方式为135度预测、45度预测和90度预测三种角度预测方式。即将当前编码图像块中的采样点与当前编码图像块正上方相邻编码图像块中采样点对应的45度的像素点、90度的像素点和135度的像素点分别进行预测,分别求解预测残差,可以将当前编码图像块中的采样点与当前编码图像块正上方相邻编码图像块中采样点对应的45度的像素点、90度的像素点和135度的像素点分别进行相减求解预测残差。最终选取预测残差最小的一种预测方式作为当前编码图像块的采样点预测方式,获取该预测方式的预测残差。

步骤4、对于当前编码图像块中的非采样点,利用公式求解非采样点的预测残差,公式为:

resi=(sample1-sample0)*(i+1)/(num+1)

其中,公式中的sample0和sample1为当前编码图像块连续的采样点的像素重建值,i为非采样点索引,num为非采样点数量。

进一步地,像素重建值可以指的是已压缩编码图像块解码端重建得到的像素值。

步骤5、最终将步骤3中获取的采样点的预测残差以及步骤4中获取的非采样点的预测残差作为编码图像块中每个像素的第一预测残差。

本发明通过定义编码图像块的采样方式和像素预测的参考方式,计算当前编码图像块的预测残差。与现有方法相比,当待压缩图像的纹理较为复杂时,对处于当前图像的纹理边界处的编码图像块,根据纹理的渐变原理,不依赖于当前编码图像块的周围编码图像块,而是通过当前编码图像块自身的纹理特性获得预测残差,能够提高对复杂纹理区域求预测残差值的精度,进一步降低理论极限熵,增大带宽压缩率。

实施例三

本实施例在上述实施例的基础上,对本发明提出的四叉树分割编码方式进行详细描述。该方式包括如下步骤:

在本发明实施例中,所述编码对象可以为一个64×64规格的图像块,也可以为一个16×16规格图像块,更或者是具有更小或更大尺寸规格的图像块。例如,将编码图像块按照四叉树算法进行递归分割,每个图像块被分割为四个相同大小的子图像块。每个子图像块是否再继续进行分割由预设算法判断。如图3所示,图3为本发明实施例提供的一种四叉树分割编码方式的分割方式示意图;假设编码图像块为64×64规格,将64×64的图像块作为根节点,位于第一层。通过预设算法判断出需要将继续分割时,该节点被分为4个32×32的子图像块,形成第二层。通过预设算法判断出第二层右上子图像块和第二层左下子图像块不需要继续分割,第二层左上子图像块和第二层右下子图像块需要继续分割,将第二层左上子图像块分割为4个16×16的子图像块,将第二层右下子图像块分割为4个16×16的子图像块,形成第三层,依次递归,直至第n层。该64×64规格的预测图像块的最终分割方式如图4所示,图4为本发明实施例提供的另一种四叉树分割编码方式的分割方式示意图。

具体预测方法如下所示。

步骤1、将编码图像块按照四叉树算法进行分割,如图5所示,图5为本发明实施例提供的一种四叉树分割编码方式第一层分割方式示意图;所述编码图像块分割后的子图像块分别为第一子图像块、第二子图像块、第三子图像块以及第四子图像块。

步骤2、根据原始编码图像块获取第一比特数以及原始编码图像块的预测残差,具体地,计算所述编码图像块中像素分量最大值与所述编码图像块中像素分量最小值之间的第一差值,得到表示所述第一差值的第一最少比特数,根据所述第一最少比特数以及所述编码图像块的数据比特深度计算得到所述第一比特数,其中所述第一比特数满足如下公式:

mbit1=m*bit_min1+2*bitdeth

其中,mbit1为所述第一比特数,bit_min1为所述第一最少比特数,bitdepth为所述编码图像块的数据比特深度,m为所述编码图像块中像素分量数量。

将所述编码图像块中所有像素分量值分别减去所述编码图像块中所有像素分量值的最小值,得到原始编码图像块中所有像素分量对应的预测残差。

步骤3、根据分割后的每个子图像块获取第二比特数以及每个子图像块的预测残差,具体地,计算所述第一子图像块中像素分量最大值与所述第一子图像块中像素分量最小值之间的第二差值,得到表示所述第一子图像块的第二最少比特数;

计算所述第二子图像块中像素分量最大值与所述第二子图像块中像素分量最小值之间的第三差值,得到表示所述第二子图像块的第三最少比特数;计算所述第三子图像块中像素分量最大值与所述第三子图像块中像素分量最小值之间的第四差值,得到表示所述第三子图像块的第四最少比特数;计算所述第四子图像块中像素分量最大值与所述第四子图像块中像素分量最小值之间的第五差值,得到表示所述第四子图像块的第五最少比特数;根据所述第二最少比特数、所述第三最少比特数、第四最少比特数、第五最少比特数以及所述编码图像块的数据比特深度计算得到所述第二比特数,其中所述第二比特数满足如下公式:

mbit2=n1*bit_min2+n2*bit_min3+n3*bit_min4+n4*bit_min5+2*bitdeth,

其中,mbit2为所述第二比特数,bit_min2为所述第二最少比特数,bit_min3为所述第三最少比特数,bit_min4为所述第四最少比特数,bit_min5为所述第五最少比特数,bitdepth为所述编码图像块的数据比特深度,n1为所述第一子图像块中像素分量数量,n2为所述第二子图像块中像素分量数量,n3为所述第三子图像块中像素分量数量,n4为所述第四子图像块中像素分量数量。

将所述第一子图像块中所有像素分量值分别减去所述第一子图像块中所有像素分量值的最小值,所述第二子图像块中所有像素分量值分别减去所述第二子图像块中所有像素分量值的最小值,所述第三子图像块中所有像素分量值分别减去所述第三子图像块中所有像素分量值的最小值,所述第四子图像块中所有像素分量值分别减去所述第四子图像块中所有像素分量值的最小值,得到分割后的编码图像块中所有像素分量对应的每个子图像块的预测残差。

步骤4、根据所述第一比特数、原始编码图像块的预测残差、每个子图像块的第二比特数以及所述每个子图像块的预测残差判断是否对所述编码图像块进行分割;若是,则跳转到步骤1,按照递归算法将所述每个子图像块分别执行步骤1~步骤4;若否,则结束所述编码图像块的分割。

具体地,根据原始编码图像块的预测残差得到所述编码图像块的第一重建值,将所述第一重建值与所述编码图像块像素值求差的绝对值,得到第一重建差值,将所述第一重建差值以及所述第一比特数进行加权得到所述编码图像块的第一加权值,其中,所述第一加权值满足如下公式:

rdo1=a*mbit1+b*res1

其中,rdo1为所述第一加权值,mbit1为所述第一比特数,res1为所述第一重建差值,a和b为加权系数。a和b的取值可以是预先设定的固定值,进一步地,a+b=1,优选地,a可以选取为0.5,b可以选取为0.5,a和b也可以灵活调整大小。

进一步地,根据预测残差可以得到重建值,即将参考值(每个编码图像块像素分量的最小值)加上预测残差可以得到重建值。

根据每个子图像块的预测残差得到分割后的所述编码图像块的第二重建值,将所述第二重建值与分割后的所述编码图像块像素值求差的绝对值,得到第二重建差值,将所述第二重建差值以及所述第二比特数进行加权得到分割后的所述编码图像块的第二加权值,其中,所述第二加权值满足如下公式:

rdo2=a*mbit2+b*res2

其中,rdo2为所述第二加权值,mbit2为所述第二比特数,res2为所述第二重建差值,a和b为加权系数。a和b的取值可以是预先设定的固定值,进一步地,a+b=1,优选地,a可以选取为0.5,b可以选取为0.5,a和b也可以灵活调整大小。

比较所述所述第一加权值、第二加权值的大小,若所述第一加权值大于所述第二加权值则将所述编码图像块按照四叉树算法进行分割,将所述每个子图像块分别执行步骤1~步骤4进行判断是否继续进行分割,即按照递归算法,判断是否进行第三分割、第四次分割直至第n次分割。反之,若所述第一加权值小于所述第二加权值则所述编码图像块不进行分割。

步骤5、获取所述编码图像块在最终分割层次下,每个子图像块的预测残差作为编码图像块中每个像素的第二预测残差。

本实施例通过当前区域像素值间的相关性进行预测,利用本发明的算法判断是否对编码图像块进行四叉树分割,以使初始的图像块和分割后的图像块之间的差异最小而提高压缩效率并提高主观图片质量,对于复杂纹理图像处理时,预测效果好、处理效率高,且能够降低理论极限熵。

实施例四

本实施例在上述实施例的基础上,对本发明提出的图像编码装置进行详细介绍,如图6所示,图6为本发明实施例提供的一种图像编码装置示意图,该装置包括:

确定模块10,用于确定编码图像块的编码方式;

混合编码模块20,连接所述确定模块10,用于对所述编码图像块使用多种编码方式进行混合编码;

最终编码模块30,连接所述混合编码模块20,用于根据混合编码结果采用所述多种编码方式中的一种对所述编码图像块进行最终编码。

其中,所述混合编码模块20具体用于:

对所述编码图像块使用多种编码方式进行预测分别获取所述编码图像块中每个像素的预测残差;

将所述编码图像块的每种编码方式以及对应的每个像素的预测残差进行编码

其中,所述混合编码模块20,包括:

像素值拐点编码单元201,用于对所述编码图像块使用像素值拐点编码方式进行预测获取所述编码图像块中每个像素的第一预测残差;其中,所述像素值拐点编码方式包括将所述编码图像块中的像素值拐点进行采样,根据采样结果获取所述编码图像块中每个像素的第一预测残差;

四叉树分割编码单元202,用于对所述编码图像块使用四叉树分割编码方式进行预测获取所述编码图像块中每个像素的第二预测残差;其中,所述四叉树分割编码方式包括将所述编码图像块进行四叉树分割,采用递归算法将分割后的所述编码图像块进行预测,获取所述编码图像块中每个像素的第二预测残差。

其中,所述最终编码模块30包括:

计算单元301,用于根据混合编码结果采用预设公式分别计算所述多种编码方式下所述编码图像块对应的多种残差主观和;

选取单元302,用于根据所述多种残差主观和选取一种编码方式对所述编码图像块进行最终编码。

综上所述,本文中应用了具体个例对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制,本发明的保护范围应以所附的权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1