CN105391999B - 一种编码模式判断方法和装置 - Google Patents
一种编码模式判断方法和装置 Download PDFInfo
- Publication number
- CN105391999B CN105391999B CN201510729397.2A CN201510729397A CN105391999B CN 105391999 B CN105391999 B CN 105391999B CN 201510729397 A CN201510729397 A CN 201510729397A CN 105391999 B CN105391999 B CN 105391999B
- Authority
- CN
- China
- Prior art keywords
- unit
- target code
- code unit
- gradient
- total value
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种编码模式判断方法和装置,所述方法包括:将一帧视频图像划分为多个目标编码单元;依据四叉树划分规则,划分所述目标编码单元得到编码子单元;针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值;比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型;根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式;从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式。利用所述目标编码单元的单元梯度总值以及目标阈值,缩减编码模式的预测数目,提前终止对编码模式的划分。
Description
技术领域
本发明涉及软件技术领域,具体涉及一种编码模式判断方法,以及一种编码模式判断装置。
背景技术
互联网中,在上传视频图像之前需对待上传的视频图像进行压缩,将视频信号转化为数字信号,将待上传的视频图像以数字信号的形式上传至互联网中。
目前,视频图像普遍采用有损的率失真(RD)的压缩方法,采用基于块的预测变换混合编码框架,不同的压缩标准都致力于提高视频图像的压缩性能。第三代视频压缩标准HEVC采用基于编码单元(CU)的采用灵活的四叉树结构组织编码单元,同时扩展帧间预测模式和帧内预测模式的数目,从而提高了编码视频图像的效率。
但是,依据四叉树规则,向下划分编码单元得到的4个子编码单元之间是相互独立的,即每个子编码单元内部是否划分和最终划分的具体层级是独立的,所以在一个编码单元内部存在大量数目的划分方式。大量数目的划分方式的存在增加了编码单元的编码模式的决策过程的复杂度,减慢了视频图像的编码速度。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的编码模式判断方法和相应的编码模式判断装置。
依据本发明的一个方面,提供了一种编码模式判断方法,包括:
将一帧视频图像划分为多个目标编码单元;
依据四叉树划分规则,划分所述目标编码单元得到编码子单元;
针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值;
比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型;
根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式;
从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式。
可选地,所述针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值包括:
将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,计算每个基础单元的基础单元梯度值;
将每个编码子单元包含的所有基础单元的基础单元梯度值进行加和,得到所述编码子单元的用于表示子单元像素梯度的子单元梯度值;
针对所述目标编码单元,根据得到的各个编码子单元的子单元梯度值,计算所述目标编码单元的单元梯度总值。
可选地,所述将所述目标编码单元按照最小编码子下一层基础单元尺寸进行划分,计算每个基础单元的基础单元梯度值包括:
将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,得到多个基础单元;
针对各个基础单元,根据所述基础单元包含的多个像素点的像素值,分别计算水平方向和垂直方向上相邻像素点的像素值梯度的绝对值,并统计所计算的像素值梯度的绝对值之和,将所述绝对值之和作为所述基础单元梯度值。
可选地,所述目标编码单元的单元梯度总值包括单元梯度值、单元梯度平均值、单元梯度方差、单元水平梯度值和单元垂直梯度值。
可选地,在所述比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型之前,所述方法还包括:
根据所述基础单元的属性信息,计算用于比较所述目标编码单元的单元梯度总值的目标阈值。
可选地,所述基础单元的属性信息包括所述基础单元的宽度、所述基础单元的高度和编码参数。
可选地,所述比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型包括:
接收针对目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系的设置操作;
比较所述目标编码单元的单元梯度总值和目标阈值,从设置的不同编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系中,确定所述目标编码单元的单元类型。
可选地,所述目标编码单元的单元类型包括第一单元类型、第二单元类型、第三单元类型和第四单元类型四种。
可选地,所述比较所述目标编码单元的单元梯度总值和目标阈值,从设置的目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系中,确定所述目标编码单元的单元类型包括:
比较所述目标编码单元的第一单元梯度总值和第一目标阈值,若所述第一单元梯度总值和所述第一目标阈值符合第一预设关系,则确定所述目标编码单元的单元类型为所述第一单元类型;
若所述第一单元梯度总值和所述第一目标阈值不符合第一预设关系,则比较所述目标编码单元的第二单元梯度总值和第二目标阈值,当所述第二单元梯度总值和所述第二目标阈值符合第二预设关系时,确定所述目标编码单元的单元类型为所述第二单元类型;
若所述第二单元梯度总值和所述第二目标阈值不符合第二预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第三预设关系时,确定所述目标编码单元的单元类型为所述第三单元类型;
若所述第一特征值与所述第二特征值不符合第三预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第四预设关系时,确定所述目标编码单元的单元类型为所述第四单元类型;
若所述第一特征值与所述第二特征值不符合第四预设关系,则确定所述目标编码单元的单元类型为所述第二单元类型。
可选地,所述根据所述目标编码单元的单元类型,筛选预置的编码模式包括:
针对属于第一单元类型的目标编码单元,当所述单元梯度总值和第三目标阈值符合第五预设关系,并且2N×2N帧间预测模式对应的第一率失真代价与预设的第四目标阈值符合第六预设关系时,筛选出第一帧间预测模式,对应筛选出第一帧内预测模式;
针对属于第二单元类型的目标编码单元,筛选出第二帧间预测模式,对应筛选出第二帧内预测模式;
针对属于第三单元类型的目标编码单元,筛选出第三帧间预测模式,对应筛选出第三帧内预测模式;
针对属于第四单元类型的目标编码单元,当所述目标编码单元的尺寸大于8×8,并且2N×2N帧间预测模式对应的第二率失真代价与预设的第六目标阈值符合第七预设关系时,筛选出2N×2N帧间预测模式,尝试全部帧内预测模式。
可选地,所述从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式包括:
分别计算筛选出的各个帧间预测模式对应的第三率失真代价,选择最小第三率失真代价对应的帧间预测模式作为所述目标编码单元采用的目标帧间预测模式;
分别计算筛选出的各个帧内预测模式对应的第四率失真代价,选择最小第四率失真代价对应的帧内预测模式作为所述目标编码单元采用的目标帧内预测模式。
依据本发明的另一个方面,还提供了一种编码模式判断装置,包括:
目标编码单元获得模块,用于将一帧视频图像划分为多个目标编码单元;
编码子单元获得模块,用于依据四叉树划分规则,划分所述目标编码单元得到编码子单元;
单元梯度总值计算模块,用于针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值;
单元类型确定模块,用于比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型;
编码模式筛选模块,用于根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式;
目标编码模式确定模块,用于从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式。
可选地,所述单元梯度总值计算模块包括:
基础单元梯度值计算子模块,用于将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,计算每个基础单元的基础单元梯度值;
子单元梯度值获得子模块,用于将每个编码子单元包含的所有基础单元的基础单元梯度值进行加和,得到所述编码子单元的用于表示子单元像素梯度的子单元梯度值;
单元梯度总值获得子模块,用于针对所述目标编码单元,根据得到的各个编码子单元的子单元梯度值,计算所述目标编码单元的单元梯度总值。
可选地,所述基础单元梯度值计算子模块包括:
基础单元获得子模块,用于将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,得到多个基础单元;
基础单元梯度值获得子模块,用于针对各个基础单元,根据所述基础单元包含的多个像素点的像素值,分别计算水平方向和垂直方向上相邻像素点的像素值梯度的绝对值,并统计所计算的像素值梯度的绝对值之和,将所述绝对值之和作为所述基础单元梯度值。
可选地,所述目标编码单元的单元梯度总值包括单元梯度值、单元梯度平均值、单元梯度方差、单元水平梯度值和单元垂直梯度值。
可选地,所述装置还包括:
目标阈值计算模块,用于在所述比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型之前,根据所述基础单元的属性信息,计算用于比较所述目标编码单元的单元梯度总值的目标阈值。
可选地,所述基础单元的属性信息包括所述基础单元的宽度、所述基础单元的高度和编码参数。
可选地,所述单元类型确定模块包括:
对应关系设置子模块,用于接收针对目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系的设置操作;
单元类型选定子模块,用于比较所述目标编码单元的单元梯度总值和目标阈值,从设置的目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系中,确定所述目标编码单元的单元类型。
可选地,所述目标编码单元的单元类型包括第一单元类型、第二单元类型、第三单元类型和第四单元类型四种。
可选地,所述单元类型选定子模块包括:
第一单元类型确定单元,用于比较所述目标编码单元的第一单元梯度总值和第一目标阈值,若所述第一单元梯度总值和所述第一目标阈值符合第一预设关系,则确定所述目标编码单元的单元类型为所述第一单元类型;
第二单元类型确定单元,用于若所述第一单元梯度总值和所述第一目标阈值不符合第一预设关系,则比较所述目标编码单元的第二单元梯度总值和第二目标阈值,当所述第二单元梯度总值和所述第二目标阈值符合第二预设关系时,确定所述目标编码单元的单元类型为所述第二单元类型;
第三单元类型确定单元,用于若所述第二单元梯度总值和所述第二目标阈值不符合第二预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第三预设关系时,确定所述目标编码单元的单元类型为所述第三单元类型;
第四单元类型确定单元,用于若所述第一特征值与所述第二特征值不符合第三预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第四预设关系时,确定所述目标编码单元的单元类型为所述第四单元类型;
第二单元类型判定单元,用于若所述第一特征值与所述第二特征值不符合第四预设关系,则确定所述目标编码单元的单元类型为所述第二单元类型。
可选地,所述编码模式筛选模块包括:
第一编码模式筛选子模块,用于针对所述单元类型为所述第一单元类型的目标编码单元,当所述单元梯度总值和第三目标阈值符合第五预设关系,并且2Nx2N帧间预测模式对应的第一率失真代价与预设的第四目标阈值符合第六预设关系时,筛选出第一帧间预测模式,对应筛选出第一帧内预测模式;
第二编码模式筛选子模块,用于针对所述单元类型为所述第二单元类型的目标编码单元,筛选出第二帧间预测模式,对应筛选出第二帧内预测模式;
第三编码模式筛选子模块,用于针对所述单元类型为所述第三单元类型的目标编码单元,筛选出第三帧间预测模式,对应筛选出第三帧内预测模式;
第四编码模式筛选子模块,用于针对所述单元类型为所述第四单元类型的目标编码单元,当所述目标编码单元的尺寸大于8×8,并且2N×2N帧间预测模式对应的第二率失真代价与预设的第六目标阈值符合第七预设关系时,筛选出2N×2N帧间预测模式,尝试全部帧内预测模式。
可选地,所述目标编码模式确定模块包括:
目标帧间预测模式确定子模块,用于分别计算筛选出的各个帧间预测模式对应的第三率失真代价,选择最小第三率失真代价对应的帧间预测模式作为所述目标编码单元采用的目标帧间预测模式;
目标帧内预测模式确定子模块,用于分别计算筛选出的各个帧内预测模式对应的第四率失真代价,选择最小第四率失真代价对应的帧内预测模式作为所述目标编码单元采用的目标帧内预测模式。
依据本发明实施例,将一帧视频图像划分为多个目标编码单元,依据四叉树划分规则,划分所述目标编码单元得到编码子单元,针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值,比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型,根据所述目标编码单元的单元类型,筛选预置的编码模式,从筛选出的编码模式中,计算针对所述目标编码单元采用的目标编码模式。本发明实施例利用所述目标编码单元的单元梯度总值以及目标阈值,从大量的编码模式中筛选出部分编码模式,缩减编码模式的预测数目,提前终止对编码模式的划分,从而减少了针对编码模式的率失真代价的计算过程的工作量,简化了所述目标编码单元的目标编码模式的决策过程,加快了视频图像的编码速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种编码模式判断方法流程图;
图2示出了本发明实施例的一个示例的编码单元树形结构的示意图;
图3示出了本发明实施例的一个示例的HEVC所支持的帧内预测模式的示意图;
图4示出了本发明实施例的一个示例的HEVC所支持的帧间预测模式的示意图;
图5示出了根据本发明另一个实施例的一种编码模式判断方法流程图;
图6示出了根据本发明实施例的一个示例的确定所述目标编码单元的单元类型的流程图;
图7示出了根据本发明一个实施例的一种编码模式判断装置结构框图;
图8示出了根据本发明另一个实施例的一种编码模式判断装置结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,出了根据本发明一个实施例的一种编码模式判断方法流程图,所述方法具体可以包括:
步骤101、将一帧视频图像划分为多个目标编码单元。
因为视频压缩标准HEVC采用基于编码单元(CU,Coding Unit)的采用灵活的四叉树结构组织编码单元,同时编码单元是进行编码模式决策和编码的基本单元,所以在编码视频图像时,首先依据预获得的目标编码单元的尺寸对一帧视频图像进行划分,得到多个目标编码单元。具体地,从目标编码单元开始,优先依据四叉树划分规则,按照深度(或层级)划分视频图像。所述目标编码单元的尺寸可以包括多种,目标编码单元的最大尺寸可以为64×64,目标编码单元的最小尺寸可以为8×8。对于目标编码单元的尺寸本发明在此不做限制,凡是适用于本发明的可实行的实施方式均可行。
步骤102、依据四叉树划分规则,划分所述目标编码单元得到编码子单元。
四叉树划分为一种表示图像的技术,广泛应用于各种图像处理中。四叉树划分将图像表示成一棵树结构,树结构的每个节点对应于图像的一个正方形的区域,这个节点又包含了四个子节点,子节点对应正方形区域,每个子节点可以包含下一深度的四个子节点,子节点对应正方形区域的四个象限,树结构的根节点对应原始图像。四叉树结构可将大小为2N×2N的图像编码单元划分成(N-n0-1)层,所有在第n层的子编码单元都为2n×2n,每个2n×2n的子编码单元(称为一个节点)可以为不再继续划分的叶节点,也可以为能够再划分成4个2n-1×2n-1的子节点,图像的像素值为叶节点,因此四叉树划分是能够终止的。在树结构中,可以用0表示叶节点,1表示非叶节点。
本发明实施例中,可以依据四叉树划分规则,对获得的目标编码单元进行划分,划分每个目标编码单元可以获得四个编码子单元。例如,可以依据四叉树划分规则,将尺寸为2N×2N的目标编码单元划分为四个尺寸为N×N的编码子单元,N为4的倍数。
参照图2,示出了本发明实施例的一个示例的目标编码单元划分结构的示意图,图2(a)为目标编码单元的划分结构的第一示意图;图2(b)为目标编码单元的划分结构的第二示意图。依据四叉树规则,对尺寸为64×64的目标编码单元进行划分,获得如图2(a)所示的目标编码单元的划分结构。由图2(a)可知,第一编码子单元和第四编码子单元内部分别进行了下一层划分,最终得到尺寸为8×8的最小编码单元。图2(a)与图2(b)所示的内容相对应,图2(b)为目标编码单元的树形结构,由图2(b)可知,尺寸为64×64的目标编码单元划分为四个深度,最终划分到尺寸为8×8这深度。
步骤103、针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值。
划分视频图像得到的每个编码子单元内部可以包含多个像素点,不同像素点可能对应不同的像素值,不同像素值之间存在像素值梯度,因此在每个编码子单元内部可能存在用于表示子单元像素梯度的子单元梯度值。相应地,目标编码单元内部可能存在用于表示单元像素梯度的单元梯度总值。
本发明实施例中,针对每个目标编码单元,可以将包含的各个编码子单元的子单元梯度值进行加和,得到所述目标编码单元的单元梯度总值。例如,针对64×64目标编码单元,将包含的四个尺寸为32×32的编码子单元的子单元梯度值进行加和,得到所述尺寸为64×64的目标编码单元的单元梯度总值。
步骤104、比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型。
本发明实施例中,目标阈值可以通过计算单元梯度总值和设置的量化参数得到。可以通过更改量化参数,调整目标阈值,从而调整目标编码单元的单元类型和限定编码模式的预测数目。比较所述目标编码单元的单元梯度总值和目标阈值,得到比较结果,根据预设的比较结果与单元类型的对应关系,确定所述目标编码单元的单元类型。
步骤105、根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式。
HEVC提供多达35种的帧内预测模式,包括33个方向性预测模式、一个非方向性预测模式以及一个DC直流预测模式。参照图3,示出了本发明实施例的一个示例的HEVC所支持的帧内预测模式的示意图。图3示出了35种帧内预测模式,0对应非方向性预测模式,1对应DC直流预测模式,2-34对应33个方向性预测模式。
参照图4,示出了本发明实施例的一个示例的HEVC所支持的帧间预测模式的示意图。从图4可知,HEVC所支持的帧间预测模式包括:2Nx2N、Nx2N、2NxN、NxN以及AMP(Asymmetric Motion Partition,AMP)模式,AMP里又包含2N×nU、2N×nD、nL×2N、nR×2N四种非对称帧间预测模式。
本发明实施例中,在确定目标编码单元的单元类型后,根据预设的单元类型与编码模式的对应关系,从预置的多种编码模式中筛选出部分编码模式。
步骤106、从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式。
常用的筛选所述目标编码单元的帧间预测模式的方法为,按照顺序依次计算2N×2N、2N×N、N×2N、2N×nU、2N×nD、nL×2N、nR×2N和N×N八种帧间预测模式的率失真代价(rdcost,rate-distortion cost),筛选出最小rdcost对应的帧间预测模式;常用的筛选所述目标编码单元的帧内预测模式的方法为,分别计算35中帧内预测模式对应的率失真代价。可以利用拉格朗日乘子λ(常数),依据率失真代价计算公式rdcost=distortion+λ×rate,计算不同预测模式下的率失真代价,选择最小rdcost对应的预测模式作为当前目标编码单元的最佳预测模式。
本发明实施例中,针对筛选出的各个编码模式,计算每个编码模式对应的判断参数,根据计算的判断参数的大小,最终确定所述目标编码单元采用的目标编码模式。
在具体实现中,针对筛选出的各个编码模式,可以通过计算每个编码模式对应的率失真代价,最终选择率失真代价最小的编码模式作为所述目标编码单元采用的目标编码模式。因为预先筛选出部分编码模式,缩减了编码模式的预测数目,所以只需针对筛选出的部分编码模式进行率失真代价的计算,减小了计算率失真代价所需的工作量,加快了目标编码模式的决策过程。
依据本发明实施例,将一帧视频图像划分为多个目标编码单元,依据四叉树划分规则,划分所述目标编码单元得到编码子单元,针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值,比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型,根据所述目标编码单元的单元类型,筛选预置的编码模式,从筛选出的编码模式中,计算针对所述目标编码单元采用的目标编码模式。本发明实施例利用所述目标编码单元的单元梯度总值以及目标阈值,从大量的编码模式中筛选出部分编码模式,缩减编码模式的预测数目,提前终止对编码模式的划分,从而减少了针对编码模式的率失真代价的计算过程的工作量,简化了所述目标编码单元的目标编码模式的决策过程,加快了视频图像的编码速度。
参照图5,示出了根据本发明另一个实施例的一种编码模式判断方法流程图,所述方法具体可以包括:
步骤201、将一帧视频图像划分为多个目标编码单元。
步骤202、依据四叉树划分规则,划分所述目标编码单元得到编码子单元。
步骤203、将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,计算每个基础单元的基础单元梯度值。
本发明实施例中,所述基础单元梯度值可以用来表示当前基础单元(BU,basicunit)针对像素值的纹理复杂度即纹理特征值,该纹理特征值具有可加性。每个基础单元可以包含多个像素点,每个像素点可以对应相同像素值或不同像素值。
可以将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,得到多个毗邻的、不重叠的基础单元。所述最小编码单元的尺寸可以为8×8,可以将尺寸为8×8的最小编码单元划分为四个尺寸为4×4的基础单元。针对各个基础单元,根据所述基础单元包含的多个像素点的像素值,分别计算水平方向和垂直方向上相邻像素点的像素值梯度的绝对值,并统计所计算的像素值梯度的绝对值之和,将所述绝对值之和作为所述基础单元梯度值。
具体地,所述基础单元梯度值的计算过程可以包括:计算水平方向上相邻两个像素点的像素值梯度的第一绝对值;计算垂直方向上相邻两个像素点的像素值梯度的第二绝对值;将第一绝对值和第二绝对值加和,得到针对某两个相邻像素点的像素值梯度的第三绝对值;再将所述基础单元内包含的所有相邻两个像素点的像素值梯度的第三绝对值进行加和,得到像素值梯度的第四绝对值,将得到的第四绝对值作为所述基础单元梯度值。所述基础单元梯度值可以通过下面公式计算得到,计算基础单元梯度值的公式为:
其中,W基础单元表示基础单元的宽度,h基础单元表示基础单元的高度;p(i,j)表示基础单元中坐标为(i,j)的像素点的像素值(以目标编码单元左上角为原点);m,n表示该基础单元在目标编码单元内的坐标,以基础单元的尺寸为单位划分得到。例如,针对尺寸为4×4的基础单元,W基础单元和h基础单元都为4。
步骤204、将每个编码子单元包含的所有基础单元的基础单元梯度值进行加和,得到所述编码子单元的用于表示子单元像素梯度的子单元梯度值。
本发明实施例中,针对各个编码子单元,将包含的所有毗邻的、不重叠的基础单元的基础单元梯度值进行加和,得到所述编码子单元的用于表示子单元像素梯度的子单元梯度值。
在具体实现中,针对尺寸为2N×2N的目标编码单元(CU)(其中N∈{4,8,16,32}),依据四叉树划分规则,划分得到四个编码子单元(sCUk),每个sCUk的尺寸为N×N,其中k={0,1,2,3}。累加每个sCUk包含的所有尺寸为4×4的基础单元的基础单元梯度值G4m,n,得到每个sCUk的子单元梯度值SG4k。计算SG4k的公式如下:
其中,N为编码子单元的宽度或高度;mk为基础单元在目标编码单元内的起始横坐标;m为当前基础单元在目标编码单元内的横坐标;nk为基础单元在目标编码单元内的起始纵坐标;n为当前基础单元在目标编码单元内的纵坐标;G4m,n为当前基础单元的基础单元梯度值;SG4k为sCUk的子单元梯度值。
例如,针对尺寸为32×32的CU,依据四叉树划分规则,划分得到四个尺寸为16×16的sCUk,其中k={0,1,2,3}。因为每个sCUk的尺寸为16×16,所以基础单元梯度值G4m,n中m={0,1,2,3},n={0,1,2,3}。累加每个sCUk包含的所有尺寸为4×4的基础单元的基础单元梯度值G4m,n,得到每个sCUk的SG4k。
步骤205、针对所述目标编码单元,根据得到的各个编码子单元的子单元梯度值,计算所述目标编码单元的单元梯度总值。
所述目标编码单元的单元梯度总值可以包括单元梯度值、单元梯度平均值和单元梯度方差。
具体地,可以根据得到的四个编码子单元的子单元梯度值SG4k(k={0,1,2,3}),计算所述目标编码单元的单元梯度总值,具体计算公式如下:
sg=SG40+SG41+SG42+SG43
其中,sg为单元梯度总值;SG40为第一编码子单元的子单元梯度值;SG41为第二编码子单元的子单元梯度值;SG42为第三编码子单元的子单元梯度值;SG43为第四编码子单元的子单元梯度值。
可以根据得到的四个编码子单元的子单元梯度值SG4k(k={0,1,2,3}),计算所述目标编码单元的单元梯度平均值,具体计算公式如下:
其中,μ为单元梯度平均值;SG40为第一编码子单元的子单元梯度值;SG41为第二编码子单元的子单元梯度值;SG42为第三编码子单元的子单元梯度值;SG43为第四编码子单元的子单元梯度值。
可以根据得到的四个编码子单元的子单元梯度值SG4k(k={0,1,2,3}),计算所述目标编码单元的单元梯度方差,具体计算公式如下:
其中,σ为单元梯度方差;μ为单元梯度平均值;SG40为第一编码子单元的子单元梯度值;SG41为第二编码子单元的子单元梯度值;SG42为第三编码子单元的子单元梯度值;SG43为第四编码子单元的子单元梯度值。
另外,所述目标编码单元的单元梯度总值还可以包括单元水平梯度值和单元垂直梯度值。
可以根据得到的四个编码子单元的子单元梯度值SG4k(k={0,1,2,3}),计算所述目标编码单元的单元水平梯度值,具体计算公式如下:
dv=|SG40-SG41|+|SG42-SG43|
其中,dv为单元水平梯度值;SG40为第一编码子单元的子单元梯度值;SG41为第二编码子单元的子单元梯度值;SG42为第三编码子单元的子单元梯度值;SG43为第四编码子单元的子单元梯度值。
可以根据得到的四个编码子单元的子单元梯度值SG4k(k={0,1,2,3}),计算所述目标编码单元的单元垂直梯度值,具体计算公式如下:
dh=|SG40-SG42|+|SG41-SG43|
其中,dh为单元垂直梯度值;SG40为第一编码子单元的子单元梯度值;SG41为第二编码子单元的子单元梯度值;SG42为第三编码子单元的子单元梯度值;SG43为第四编码子单元的子单元梯度值。
步骤206、根据所述基础单元的属性信息,计算用于比较所述目标编码单元的单元梯度总值的目标阈值。
本发明实施例中,所述基础单元的属性信息可以包括所述基础单元的宽度、所述基础单元的高度和编码参数。可以依据所述基础单元的属性信息,利用相关的映射函数,计算用于比较所述目标编码单元的单元梯度总值的目标阈值。
在具体实现中,映射函数可以为多项式、指数、幂函数或其它适用的函数形式。例如,映射函数可以为fx(w,h,qp)=w*log(h)*(αx*qp+βx)。其中,fx(w,h,qp)为目标阈值;w为基础单元的宽度;h为基础单元的宽度高度;αx、βx和qp均为预设的编码参数(x=1、2、3...,αx>0)。映射函数还可以为fx(w,h,qp)=w*log(h)*(αx*qp+βx)。其中,fx(w,h,qp)为目标阈值;w为基础单元的宽度;h为基础单元的宽度高度;αx、βx和qp均为预设的编码参数(x=1、2、3...,αx>0)。
步骤207、接收针对目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系的设置操作。
本发明实施例中,可以依据所述目标编码单元的不同单元梯度总值和不同目标阈值的比较关系,对所述编码单元的单元类型进行划分,得到所述目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系。
在具体实现中,可以依据所述目标编码单元的单元梯度总值和目标阈值,将所述目标编码单元划分为平坦型P,水平型H,垂直型V和劈分型Q四种单元类型,所述平坦型P、所述水平型H、所述垂直型V和所述劈分型Q四种类型可以分别对应2N×2N、N×2N、2N×N和N×N四种帧间预测模式。
步骤208、比较所述目标编码单元的单元梯度总值和目标阈值,从设置的目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系中,确定所述目标编码单元的单元类型。
本发明实施例中,比较所述目标编码单元的单元梯度总值和目标阈值得到目标对应关系,从设置的的不同单元类型和目标阈值的比较关系与单元类型的对应关系中,确定与所述目标关系对应的目标编码单元的单元类型。
在具体实现中,比较所述目标编码单元的第一单元梯度总值和第一目标阈值,若所述第一单元梯度总值和所述第一目标阈值符合第一预设关系,则确定所述目标编码单元的单元类型为所述第一单元类型;
若所述第一单元梯度总值和所述第一目标阈值不符合第一预设关系,则比较所述目标编码单元的第二单元梯度总值和第二目标阈值,当所述第二单元梯度总值和所述第二目标阈值符合第二预设关系时,确定所述目标编码单元的单元类型为所述第二单元类型;
若所述第二单元梯度总值和所述第二目标阈值不符合第二预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第三预设关系时,确定所述目标编码单元的单元类型为所述第三单元类型;
若所述第一特征值与所述第二特征值不符合第三预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第四预设关系时,确定所述目标编码单元的单元类型为所述第四单元类型;
若所述第一特征值与所述第二特征值不符合第四预设关系,则确定所述目标编码单元的单元类型为所述第二单元类型。
参照图6,示出了根据本发明实施例的一个示例的确定所述目标编码单元的单元类型的流程图。图6所示的确定所述目标编码单元的单元类型的具体步骤包括:
第一步,把目标编码单元按照基础单元的尺寸(4×4)进行划分,求每个基础单元的基础单元梯度值。
第二步,计算每个编码子单元的子单元梯度值(SG40~SG43)。
第三步,计算所述目标编码单元的单元梯度值sg、单元梯度平均值μ、单元梯度方差σ、单元水平梯度值dv和单元垂直梯度值dh。
第四步,基于计算的sg、μ、σ、dv、dh及设置的编码参数,确定所述目标编码单元的单元类型,具体包括:
若所述目标编码单元满足sg<thres1=f1(w,h,qp),或者同时满足σ<c1*μ&μ<thres1=f1(w,h,qp),其中c1是常数,则所述目标编码单元的单元类型为平坦型P。
若所述目标编码单元同时满足σ<c2*μ&μ<thres2=f2(w,h,qp),其中c2是常数,则所述目标编码单元的单元类型为劈分型Q。
若所述目标编码单元满足dv>=dh+c3*σ,其中c3是常数,则所述目标编码单元的单元类型为水平型H。
若所述目标编码单元满足dv<dh-c3*σ,其中c3是常数,则所述目标编码单元的单元类型为垂直型V。
若上述四种单元类型的判断均不成立,则所述目标编码单元的单元类型为劈分型Q。
步骤209、根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式。
本发明实施例中,可以根据步骤208中确定的所述目标编码单元的单元类型,筛选出帧间预测模式和对应的帧内预测模式。
在具体实现中,针对属于第一单元类型的目标编码单元,当所述目标编码单元的单元梯度总值和第三目标阈值符合第五预设关系,并且2N×2N帧间预测模式对应的第一率失真代价与预设的第四目标阈值符合第六预设关系时,可以筛选出第一帧间预测模式,对应筛选出第一帧内预测模式。例如,针对单元类型为平坦型P的目标编码单元,当sg<thres3=f3(w,h,qp),只需尝试2N×2N帧间预测模式,若2N×2N帧间预测模式对应的|rdcost|<thres4=f4(w,h,qp),则不再对目标编码单元尝试往下划分,使用当前的2N×2N帧间预测模式,对应筛选出{0,1,9,10,11,25,26,27}帧内预测模式。
针对属于第二单元类型的目标编码单元,可以筛选出第二帧间预测模式,对应筛选出第二帧内预测模式。例如,针对单元类型为水平型H的目标编码单元,在筛选帧间预测模式的过程中,直接跳过N×2N、nL×2N和nR×2N三种帧间预测模式,筛选出2N×2N、2N×N、2N×nU、2N×nD和N×N五种帧间预测模式,对应筛选出{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}帧内预测模式。
针对属于第三单元类型的目标编码单元,可以筛选出第三帧间预测模式,对应筛选出第三帧内预测模式。例如,针对单元类型为垂直型V的目标编码单元,在筛选帧间预测模式的过程中,直接跳过2N×N、2N×nU和2N×nD三种帧间预测模式,筛选出2N×2N、N×2N、nLx2N、nR×2N和N×N五种帧间预测模式,对应筛选出{0,1,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34}。
针对属于第四单元类型的目标编码单元,当所述目标编码单元的尺寸大于8×8,并且2N×2N帧间预测模式对应的第二率失真代价与预设的第六目标阈值符合第七预设关系时,筛选出2N×2N帧间预测模式,尝试全部帧内预测模式。例如,针对单元类型为劈分型Q的目标编码单元,所述目标编码单元的尺寸大于8×8,当2N×2N帧间预测模式对应的第二率失真代价r2d2cost>thres5=f5(w,h,qp),则直接跳过除2N×2N帧间预测模式外的其它七种帧间预测模式,筛选出2N×2N帧间预测模式,需要尝试35种帧内预测模式。
步骤210、从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式。
在具体实现中,可以分别计算筛选出的各个帧间预测模式对应的第三率失真代价,选择最小第三率失真代价对应的帧间预测模式作为所述目标编码单元采用的目标帧间预测模式。例如,针对单元类型为水平H型的目标编码单元,分别计算筛选出的2N×2N、2N×N、2N×nU、2N×nD和N×N五种帧间预测模式的R3D3Cost,选择最小R3D3Cost对应的帧间预测模式作为目标编码单元在所处编码层级的最佳帧间预测模式。
可以分别计算筛选出的各个帧内预测模式对应的第四率失真代价,选择最小第四率失真代价对应的帧内预测模式作为所述目标编码单元采用的目标帧内预测模式。例如,针对单元类型为水平H型的目标编码单元,分别计算筛选出的{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}帧内预测模式的R4D4Cost,选择最小R4D4Cost对应的帧内预测模式作为目标编码单元在所处编码层级的最佳帧内预测模式。
在完成对所述目标单元在所处编码层级的最佳帧间预测模式和最佳帧内预测模式筛选之后,若所述目标编码单元的尺寸大于8×8,则依据四叉树规则,对所述目标编码单元进行下一级划分,迭代步骤202中,直至处于某一编码层级的子编码单元的尺寸小于8×8,则不再对该子编码单元进行下一级划分,选择该子编码单元对应的最佳帧间预测模式和最佳帧内预测模式,完成对所述目标编码单元的编码模式的预测过程。
依据本发明实施例,将一帧视频图像划分为多个目标编码单元,依据四叉树划分规则,划分所述目标编码单元得到编码子单元,针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值,比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型,根据所述目标编码单元的单元类型,筛选预置的编码模式,从筛选出的编码模式中,计算针对所述目标编码单元采用的目标编码模式。本发明实施例利用所述目标编码单元的单元梯度总值以及目标阈值,从大量的编码模式中筛选出部分编码模式,缩减编码模式的预测数目,提前终止对编码模式的划分,从而减少了针对编码模式的率失真代价的计算过程的工作量,简化了所述目标编码单元的目标编码模式的决策过程,加快了视频图像的编码速度。
为使本领域技术人员更好地理解本发明,下面通过列举示例对本发明的四种单元类型进行详细的说明。
示例1
表1示出了不同编码层级不同单元类型对应的目标编码单元的数目,表1中的数据为在一组设定参数系数下得到的。
表1
从表1中可以看出,针对尺寸为64×64、32×32和16×16的三种目标编码单元,平坦型P型对应的CU的数据最多,说明目标编码单元的单元类型被划分为P型的概率最大,其次是水平型H型和垂直型V型。通过上述实施例分析可知,处于平坦型P型的目标编码单元在满足一定条件下可以直接跳过其它帧间预测模式,同时可以跳过下一层级划分;筛选帧内预测模式时,可以跳过大部分帧内方向预测模式。而处于水平型H型或垂直型V型的目标编码单元可以跳过8种帧间预测模式中的3种,可以跳过帧内预测模式中的半数帧内方向预测模式。因此,本发明实施例利用所述目标编码单元的单元梯度总值以及目标阈值,从大量的编码模式中筛选出部分编码模式,缩减了编码模式的预测数目,提前终止了编码模式的划分,从而减少了针对编码模式的率失真代价的计算过程的工作量,简化了所述目标编码单元的目标编码模式的决策过程,加快了视频图像的编码速度。
基于上述方法实施例的说明,本发明还提供了相应的编码模式判断装置实施例,来实现上述方法实施例所述的内容。
参照图7,示出了根据本发明一个实施例的一种编码模式判断装置结构框图,所述装置可以包括:
目标编码单元获得模块301,用于将一帧视频图像划分为多个目标编码单元。
编码子单元获得模块302,用于依据四叉树划分规则,划分所述目标编码单元得到编码子单元。
单元梯度总值计算模块303,用于针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值。
单元类型确定模块304,用于比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型。
编码模式筛选模块305,用于根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式。
目标编码模式确定模块306,用于从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式。
依据本发明实施例,将一帧视频图像划分为多个目标编码单元,依据四叉树划分规则,划分所述目标编码单元得到编码子单元,针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值,比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型,根据所述目标编码单元的单元类型,筛选预置的编码模式,从筛选出的编码模式中,计算针对所述目标编码单元采用的目标编码模式。本发明实施例利用所述目标编码单元的单元梯度总值以及目标阈值,从大量的编码模式中筛选出部分编码模式,缩减编码模式的预测数目,提前终止对编码模式的划分,从而减少了针对编码模式的率失真代价的计算过程的工作量,简化了所述目标编码单元的目标编码模式的决策过程,加快了视频图像的编码速度。
参照图8,示出了根据本发明另一个实施例的一种编码模式判断装置结构框图,所述装置可以包括:
目标编码单元获得模块401,用于将一帧视频图像划分为多个目标编码单元。
编码子单元获得模块402,用于依据四叉树划分规则,划分所述目标编码单元得到编码子单元。
单元梯度总值计算模块403,用于针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值。
目标阈值计算模块404,用于在所述比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型之前,根据所述基础单元的属性信息,计算用于比较所述目标编码单元的单元梯度总值的目标阈值。
单元类型确定模块405,用于比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型。
编码模式筛选模块406,用于根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式。
目标编码模式确定模块407,用于从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式。
所述单元梯度总值计算模块403包括:
基础单元梯度值计算子模块4031,用于将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,计算每个基础单元的基础单元梯度值;
子单元梯度值获得子模块4032,用于将每个编码子单元包含的所有基础单元的基础单元梯度值进行加和,得到所述编码子单元的用于表示子单元像素梯度的子单元梯度值;
单元梯度总值获得子模块4033,用于针对所述目标编码单元,根据得到的各个编码子单元的子单元梯度值,计算所述目标编码单元的单元梯度总值。
所述单元类型确定模块405包括:
对应关系设置子模块4051,用于接收针对目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系的设置操作;
单元类型选定子模块4052,用于比较所述目标编码单元的单元梯度总值和目标阈值,从设置的目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系中,确定所述目标编码单元的单元类型。
依据本发明实施例,将一帧视频图像划分为多个目标编码单元,依据四叉树划分规则,划分所述目标编码单元得到编码子单元,针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值,比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型,根据所述目标编码单元的单元类型,筛选预置的编码模式,从筛选出的编码模式中,计算针对所述目标编码单元采用的目标编码模式。本发明实施例利用所述目标编码单元的单元梯度总值以及目标阈值,从大量的编码模式中筛选出部分编码模式,缩减编码模式的预测数目,提前终止对编码模式的划分,从而减少了针对编码模式的率失真代价的计算过程的工作量,简化了所述目标编码单元的目标编码模式的决策过程,加快了视频图像的编码速度。
对于上述编码模式判断装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1-图6所示方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的编码模式判断的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (18)
1.一种编码模式判断方法,其特征在于,包括:
将一帧视频图像划分为多个目标编码单元;
依据四叉树划分规则,划分所述目标编码单元得到编码子单元;
针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值;
比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型;
根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式;
从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式;
所述根据所述目标编码单元的单元类型,筛选预置的编码模式包括:
针对属于第一单元类型的目标编码单元,当所述单元梯度总值和第三目标阈值符合第五预设关系,并且2N×2N帧间预测模式对应的第一率失真代价与预设的第四目标阈值符合第六预设关系时,筛选出第一帧间预测模式,对应筛选出第一帧内预测模式;
针对属于第二单元类型的目标编码单元,筛选出第二帧间预测模式,对应筛选出第二帧内预测模式;
针对属于第三单元类型的目标编码单元,筛选出第三帧间预测模式,对应筛选出第三帧内预测模式;
针对属于第四单元类型的目标编码单元,当所述目标编码单元的尺寸大于8×8,并且2N×2N帧间预测模式对应的第二率失真代价与预设的第六目标阈值符合第七预设关系时,筛选出2N×2N帧间预测模式,尝试全部帧内预测模式。
2.根据权利要求1所述的方法,其特征在于,所述针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值包括:
将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,计算每个基础单元的基础单元梯度值;
将每个编码子单元包含的所有基础单元的基础单元梯度值进行加和,得到所述编码子单元的用于表示子单元像素梯度的子单元梯度值;
针对所述目标编码单元,根据得到的各个编码子单元的子单元梯度值,计算所述目标编码单元的单元梯度总值。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标编码单元按照最小编码子下一层基础单元尺寸进行划分,计算每个基础单元的基础单元梯度值包括:
将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,得到多个基础单元;
针对各个基础单元,根据所述基础单元包含的多个像素点的像素值,分别计算水平方向和垂直方向上相邻像素点的像素值梯度的绝对值,并统计所计算的像素值梯度的绝对值之和,将所述绝对值之和作为所述基础单元梯度值。
4.根据权利要求1所述的方法,其特征在于,所述目标编码单元的单元梯度总值包括单元梯度值、单元梯度平均值、单元梯度方差、单元水平梯度值和单元垂直梯度值。
5.根据权利要求2所述的方法,其特征在于,在所述比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型之前,所述方法还包括:
根据所述基础单元的属性信息,计算用于比较所述目标编码单元的单元梯度总值的目标阈值。
6.根据权利要求5所述的方法,其特征在于,所述基础单元的属性信息包括所述基础单元的宽度、所述基础单元的高度和编码参数。
7.根据权利要求1所述的方法,其特征在于,所述比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型包括:
接收针对目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系的设置操作;
比较所述目标编码单元的单元梯度总值和目标阈值,从设置的不同编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系中,确定所述目标编码单元的单元类型。
8.根据权利要求7所述的方法,其特征在于,所述比较所述目标编码单元的单元梯度总值和目标阈值,从设置的目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系中,确定所述目标编码单元的单元类型包括:
比较所述目标编码单元的第一单元梯度总值和第一目标阈值,若所述第一单元梯度总值和所述第一目标阈值符合第一预设关系,则确定所述目标编码单元的单元类型为所述第一单元类型;
若所述第一单元梯度总值和所述第一目标阈值不符合第一预设关系,则比较所述目标编码单元的第二单元梯度总值和第二目标阈值,当所述第二单元梯度总值和所述第二目标阈值符合第二预设关系时,确定所述目标编码单元的单元类型为所述第二单元类型;
若所述第二单元梯度总值和所述第二目标阈值不符合第二预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第三预设关系时,确定所述目标编码单元的单元类型为所述第三单元类型;
若所述第一特征值与所述第二特征值不符合第三预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第四预设关系时,确定所述目标编码单元的单元类型为所述第四单元类型;
若所述第一特征值与所述第二特征值不符合第四预设关系,则确定所述目标编码单元的单元类型为所述第二单元类型。
9.根据权利要求1所述的方法,其特征在于,所述从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式包括:
分别计算筛选出的各个帧间预测模式对应的第三率失真代价,选择最小第三率失真代价对应的帧间预测模式作为所述目标编码单元采用的目标帧间预测模式;
分别计算筛选出的各个帧内预测模式对应的第四率失真代价,选择最小第四率失真代价对应的帧内预测模式作为所述目标编码单元采用的目标帧内预测模式。
10.一种编码模式判断装置,其特征在于,包括:
目标编码单元获得模块,用于将一帧视频图像划分为多个目标编码单元;
编码子单元获得模块,用于依据四叉树划分规则,划分所述目标编码单元得到编码子单元;
单元梯度总值计算模块,用于针对每个目标编码单元,根据每个编码子单元的用于表示子单元像素梯度的子单元梯度值,计算所述目标编码单元的单元梯度总值;
单元类型确定模块,用于比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型;
编码模式筛选模块,用于根据所述目标编码单元的单元类型,筛选预置的编码模式,所述编码模式包括帧间预测模式和帧内预测模式;
目标编码模式确定模块,用于从筛选的编码模式中,计算针对所述目标编码单元采用的目标编码模式;
所述编码模式筛选模块包括:
第一编码模式筛选子模块,用于针对所述单元类型为第一单元类型的目标编码单元,当所述单元梯度总值和第三目标阈值符合第五预设关系,并且2Nx2N帧间预测模式对应的第一率失真代价与预设的第四目标阈值符合第六预设关系时,筛选出第一帧间预测模式,对应筛选出第一帧内预测模式;
第二编码模式筛选子模块,用于针对所述单元类型为第二单元类型的目标编码单元,筛选出第二帧间预测模式,对应筛选出第二帧内预测模式;
第三编码模式筛选子模块,用于针对所述单元类型为第三单元类型的目标编码单元,筛选出第三帧间预测模式,对应筛选出第三帧内预测模式;
第四编码模式筛选子模块,用于针对所述单元类型为第四单元类型的目标编码单元,当所述目标编码单元的尺寸大于8×8,并且2N×2N帧间预测模式对应的第二率失真代价与预设的第六目标阈值符合第七预设关系时,筛选出2N×2N帧间预测模式,尝试全部帧内预测模式。
11.根据权利要求10所述的装置,其特征在于,所述单元梯度总值计算模块包括:
基础单元梯度值计算子模块,用于将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,计算每个基础单元的基础单元梯度值;
子单元梯度值获得子模块,用于将每个编码子单元包含的所有基础单元的基础单元梯度值进行加和,得到所述编码子单元的用于表示子单元像素梯度的子单元梯度值;
单元梯度总值获得子模块,用于针对所述目标编码单元,根据得到的各个编码子单元的子单元梯度值,计算所述目标编码单元的单元梯度总值。
12.根据权利要求11所述的装置,其特征在于,所述基础单元梯度值计算子模块包括:
基础单元获得子模块,用于将所述目标编码单元按照最小编码子单元下一层基础单元的尺寸进行划分,得到多个基础单元;
基础单元梯度值获得子模块,用于针对各个基础单元,根据所述基础单元包含的多个像素点的像素值,分别计算水平方向和垂直方向上相邻像素点的像素值梯度的绝对值,并统计所计算的像素值梯度的绝对值之和,将所述绝对值之和作为所述基础单元梯度值。
13.根据权利要求10所述的装置,其特征在于,所述目标编码单元的单元梯度总值包括单元梯度值、单元梯度平均值、单元梯度方差、单元水平梯度值和单元垂直梯度值。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
目标阈值计算模块,用于在所述比较所述目标编码单元的单元梯度总值和目标阈值,确定所述目标编码单元的单元类型之前,根据所述基础单元的属性信息,计算用于比较所述目标编码单元的单元梯度总值的目标阈值。
15.根据权利要求14所述的装置,其特征在于,所述基础单元的属性信息包括所述基础单元的宽度、所述基础单元的高度和编码参数。
16.根据权利要求10所述的装置,其特征在于,所述单元类型确定模块包括:
对应关系设置子模块,用于接收针对目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系的设置操作;
单元类型选定子模块,用于比较所述目标编码单元的单元梯度总值和目标阈值,从设置的目标编码单元的单元梯度总值和目标阈值的比较关系与单元类型的对应关系中,确定所述目标编码单元的单元类型。
17.根据权利要求16所述的装置,其特征在于,所述单元类型选定子模块包括:
第一单元类型确定单元,用于比较所述目标编码单元的第一单元梯度总值和第一目标阈值,若所述第一单元梯度总值和所述第一目标阈值符合第一预设关系,则确定所述目标编码单元的单元类型为所述第一单元类型;
第二单元类型确定单元,用于若所述第一单元梯度总值和所述第一目标阈值不符合第一预设关系,则比较所述目标编码单元的第二单元梯度总值和第二目标阈值,当所述第二单元梯度总值和所述第二目标阈值符合第二预设关系时,确定所述目标编码单元的单元类型为所述第二单元类型;
第三单元类型确定单元,用于若所述第二单元梯度总值和所述第二目标阈值不符合第二预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第三预设关系时,确定所述目标编码单元的单元类型为所述第三单元类型;
第四单元类型确定单元,用于若所述第一特征值与所述第二特征值不符合第三预设关系,则比较所述目标编码单元的第一特征值与第二特征值,当所述第一特征值与所述第二特征值符合第四预设关系时,确定所述目标编码单元的单元类型为所述第四单元类型;
第二单元类型判定单元,用于若所述第一特征值与所述第二特征值不符合第四预设关系,则确定所述目标编码单元的单元类型为所述第二单元类型。
18.根据权利要求10所述的装置,其特征在于,所述目标编码模式确定模块包括:
目标帧间预测模式确定子模块,用于分别计算筛选出的各个帧间预测模式对应的第三率失真代价,选择最小第三率失真代价对应的帧间预测模式作为所述目标编码单元采用的目标帧间预测模式;
目标帧内预测模式确定子模块,用于分别计算筛选出的各个帧内预测模式对应的第四率失真代价,选择最小第四率失真代价对应的帧内预测模式作为所述目标编码单元采用的目标帧内预测模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510729397.2A CN105391999B (zh) | 2015-10-30 | 2015-10-30 | 一种编码模式判断方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510729397.2A CN105391999B (zh) | 2015-10-30 | 2015-10-30 | 一种编码模式判断方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105391999A CN105391999A (zh) | 2016-03-09 |
CN105391999B true CN105391999B (zh) | 2018-08-17 |
Family
ID=55423772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510729397.2A Active CN105391999B (zh) | 2015-10-30 | 2015-10-30 | 一种编码模式判断方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105391999B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259918B (zh) * | 2016-12-29 | 2020-12-25 | 北京金山云网络技术有限公司 | 一种编码单元模式决策方法及装置 |
CN107181943B (zh) * | 2017-04-18 | 2019-10-25 | 华中科技大学 | 一种基于混合熵编码的卫星序列图像无损压缩方法及系统 |
CN109963151B (zh) * | 2017-12-14 | 2020-10-20 | 腾讯科技(深圳)有限公司 | 编码单元划分确定方法及装置、终端设备及可读存储介质 |
WO2019113903A1 (zh) | 2017-12-14 | 2019-06-20 | 北京金山云网络技术有限公司 | 一种编码单元划分决策方法、装置、编码器及存储介质 |
CN108012150B (zh) * | 2017-12-14 | 2020-05-05 | 湖南兴天电子科技有限公司 | 视频帧间编码方法及装置 |
CN110351556B (zh) | 2018-04-02 | 2021-03-02 | 腾讯科技(北京)有限公司 | 确定编码单元的编码代价的方法及相关装置 |
CN110519594B (zh) * | 2018-05-21 | 2021-04-20 | 华为技术有限公司 | 视频编码方法及装置 |
CN109640098A (zh) * | 2018-12-21 | 2019-04-16 | 深圳市网心科技有限公司 | 一种基于avs2的帧内预测方法、系统及电子设备和存储介质 |
CN110798683B (zh) * | 2019-08-26 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 数据解码方法、装置和数据编码方法、装置 |
CN110708546B (zh) * | 2019-09-20 | 2021-12-07 | 中山大学 | 多功能视频编码的帧内模式选择划分方法、系统及存储介质 |
CN111277838B (zh) * | 2020-02-17 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 编码模式选择方法、装置、电子设备及计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137262A (zh) * | 2011-05-03 | 2011-07-27 | 深圳市融创天下科技发展有限公司 | 一种不规则划分视频编码模式选择方法、装置 |
CN103517069A (zh) * | 2013-09-25 | 2014-01-15 | 北京航空航天大学 | 一种基于纹理分析的hevc帧内预测快速模式选择方法 |
CN103702122A (zh) * | 2013-12-18 | 2014-04-02 | 华为技术有限公司 | 编码模式选择方法、装置及编码器 |
CN104363450A (zh) * | 2014-11-27 | 2015-02-18 | 北京奇艺世纪科技有限公司 | 一种帧内编码模式决策方法及装置 |
CN104796701A (zh) * | 2015-03-27 | 2015-07-22 | 北京君正集成电路股份有限公司 | 基于hevc的预测模式确定方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2908007A1 (fr) * | 2006-10-31 | 2008-05-02 | Thomson Licensing Sas | Procede de codage d'une sequence d'images |
-
2015
- 2015-10-30 CN CN201510729397.2A patent/CN105391999B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137262A (zh) * | 2011-05-03 | 2011-07-27 | 深圳市融创天下科技发展有限公司 | 一种不规则划分视频编码模式选择方法、装置 |
CN103517069A (zh) * | 2013-09-25 | 2014-01-15 | 北京航空航天大学 | 一种基于纹理分析的hevc帧内预测快速模式选择方法 |
CN103702122A (zh) * | 2013-12-18 | 2014-04-02 | 华为技术有限公司 | 编码模式选择方法、装置及编码器 |
CN104363450A (zh) * | 2014-11-27 | 2015-02-18 | 北京奇艺世纪科技有限公司 | 一种帧内编码模式决策方法及装置 |
CN104796701A (zh) * | 2015-03-27 | 2015-07-22 | 北京君正集成电路股份有限公司 | 基于hevc的预测模式确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105391999A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105391999B (zh) | 一种编码模式判断方法和装置 | |
CN104980736B (zh) | 对视频编码的方法和设备以及对视频解码的方法和设备 | |
CN104853192B (zh) | 预测模式选择方法及装置 | |
CN104363450B (zh) | 一种帧内编码模式决策方法及装置 | |
CN109565593A (zh) | 图像编码/解码方法和设备以及存储比特流的记录介质 | |
TWI711280B (zh) | 在樣本陣列多元樹細分中之繼承技術 | |
JP2022078048A (ja) | 画像復号方法及び画像符号化方法 | |
CN104811701B (zh) | 确定图像编码单元和图像解码单元的帧内预测模式 | |
KR102205041B1 (ko) | 평면 간 예측 | |
CN106851293B (zh) | 用于帧内预测的解码图像的装置 | |
CN102970526B (zh) | 一种获得变换块尺寸的方法和模块 | |
CN104429062B (zh) | 用于对表示三维视频的比特流进行编码的设备 | |
CN107925759A (zh) | 用于编码和解码帧内预测的方法和设备 | |
CN110446044B (zh) | 线性模型预测方法、装置、编码器及存储装置 | |
CN103957415B (zh) | 基于屏幕内容视频的cu分割方法和装置 | |
JP2022501881A (ja) | イントラ予測を利用した画像符号化/復号化方法及び装置 | |
CN110089113A (zh) | 图像编码/解码方法、设备以及用于存储比特流的记录介质 | |
CN104023241B (zh) | 帧内预测编码的视频编码方法及视频编码装置 | |
CN110892719A (zh) | 影像编码/解码方法及装置 | |
CN109716773A (zh) | 用于处理视频信号的方法和设备 | |
KR20190096281A (ko) | 신경망에 기반하는 비디오 부호화 및 비디오 복호화를 위한 방법 및 장치 | |
CN105981385A (zh) | 具有边界滤波控制的帧内预测编码方法及其装置 | |
CN104639940B (zh) | 一种快速hevc帧内预测模式选择方法 | |
CN110366850A (zh) | 基于帧内预测模式处理图像的方法和用于该方法的设备 | |
CN106028047B (zh) | 一种基于Hadamard变换的帧内预测的快速模式选择和PU划分的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |