一种编码单元选择方法及装置与流程

文档序号:17196731发布日期:2019-03-27 09:34阅读:269来源:国知局
一种编码单元选择方法及装置与流程

本发明涉及视频压缩技术领域,尤其涉及一种编码单元选择方法及装置。



背景技术:

随着视频技术的不断发展,高清及超高清视频的应用逐渐普及。为了解决高清及超高清视频对视频编码的压缩性能的要求,视频编码联合协同小组(JCT-VC,Joint Collaborative Team on Video Coding)制定了具有更高的压缩效率的新一代视频压缩标准HEVC(High Efficiency Video Coding)。在HEVC的编码标准中,采用了灵活的块结构,包括:编码单元(CU,Coding Unit)、预测单元(PU,Prediction Unit)以及变换单元(TU,Transform Uint)。与之前的编码标准相比,HEVC的编码效率大幅度上升,但同时也提高了编码复杂度。

目前,HEVC中CU的尺寸有64×64、32×32、16×16、8×8,分别对应深度0、1、2、3。在对于一帧视频图像内64×64的最大编码单元(LCU,Largest Coding Unit)进行编码时,采用四叉树划分结构,向8×8的最小编码单元(SCU,Small Coding Unit)的方向进行递归子划分,即先将64×64的LCU划分为32×32的CU,针对每一个32×32的CU,遍历各种预测模式,并计算每种预测模式下的率失真代价;再将每一个32×32的CU划分为16×16的CU,同上述处理32×32的CU的方式相同,对每一个16×16的CU进行编码处理,最后一直划分到8×8的SCU。根据计算得到的率失真代价,选择率失真代价最小对应的CU尺寸进行编码,即选择率失真代价最小对应的CU尺寸作为最优编码单元尺寸。

在HEVC编码过程中,如何减少CU的四叉树递归运算中的率失真代价计算量是提高编码速度的关键,现有的CU选择的方法中,没有改变上述CU四叉树递归划分的结构,只是设置了不同的条件用来判断CU是否继续向下划分,由上而下递归划分,下层的CU的编码必须在上层CU编码结束后才能进行,编码计算复杂度较高,编码时间较长,从而导致编码速度慢。



技术实现要素:

本发明实施例提供一种编码单元选择方法及装置,用以解决现有技术中存在的选择编码单元的处理时间长、计算复杂导致的编码速度慢的问题。

本发明实施例提供一种编码单元选择方法,包括:

针对当前编码帧中的每一个待处理的最大编码单元LCU,按照第一判断条件对深度i对应的当前LCU进行最优编码单元尺寸判断;0≤i<N,N≥4,N表示最大深度;

当判断所述当前LCU不是最优编码单元尺寸时,将所述当前LCU划分为深度m的编码单元,i<m<N;

针对深度m的每一个编码单元CU,按照第二判断条件对深度m对应的当前CU进行最优编码单元尺寸判断;

当判断深度m对应的当前CU不是最优编码单元尺寸时,按照预设判断条件对大于深度m和小于深度m对应的编码单元并行进行最优编码单元尺寸判断。

通过本发明实施例提供的上述方法,由于在对编码单元进行划分时,通过从中间编码单元尺寸作为搜索点,并根据预先设置的约束条件判断当前编码单元是否继续向下划分为更小的编码单元或向上融合为更大的编码单元,可以提前终止CU的划分,又有利于进行并行化处理,节省了处理时间,无需按照64×64、32×32、16×16、8×8的顺序进行递归划分,减少了计算量,进而提高了编码速度。

进一步的,针对当前编码帧中的每一个待处理的最大编码单元LCU,按照第一判断条件对深度i对应的当前LCU进行最优编码单元尺寸判断,具体包括:

针对当前编码帧中的每一个待处理的最大编码单元LCU,采用多个预测模式对当前LCU在当前深度0时进行编码预测;确定所述当前LCU在所述各预测模式下分别对应的编码特性,深度0对应编码单元尺寸为64×64;所述编码特性包括运动特性、纹理特性和时间相关性;所述最大深度N=4;

确定所述当前LCU在所述各预测模式下分别对应的编码特性是否满足第一预设编码特性条件;

当所述当前LCU在所述各预测模式下分别对应的编码特性满足第一预设编码特性条件时,选择当前深度为0对应的编码单元尺寸作为最优编码单元尺寸。

进一步的,当判断所述当前LCU不是最优编码单元尺寸时,将所述当前LCU划分为深度m的编码单元,具体包括:

当所述当前LCU在所述各预测模式下分别对应的编码特征参数不满足第一预设编码特性条件时,将所述当前LCU划分为深度为2对应编码单元尺寸为16×16的编码单元CU。

进一步的,针对深度m的每一个编码单元CU,按照第二判断条件对深度m对应的当前CU进行最优编码单元尺寸判断,具体包括:

针对每一个深度为2的CU,采用所述多个预测模式对该CU进行编码预测,确定深度为2的该CU在所述各预测模式下分别对应的编码特性;

确定深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第二预设编码特性条件;

当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第二预设编码特性条件时,分别确定深度0和深度2的最优预测模式,选择深度0和深度2的最优预测模式的率失真代价中较小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

进一步的,当判断深度m对应的当前CU不是最优编码单元尺寸时,按照预设判断条件对大于深度m和小于深度m对应的编码单元并行进行最优编码单元尺寸判断,具体包括:

当所述深度为2的该CU在所述各预测模式下分别对应的编码特性不满足第二预设编码特性条件时,确定所述深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第三预设编码特性条件或者第四预设编码特性条件;

当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第三预设编码特性条件时,将所述深度为2的该CU划分为深度为3的CU,分别确定深度0、深度2、深度3的最优预测模式,选择深度0、深度2、深度3的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸;

当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第四预设编码特性条件时,分别确定深度0、深度1、深度2的最优预测模式,选择深度0、深度1、深度2的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

进一步的,所述第一预设编码特性条件为当前LCU帧间预测模式下运动矢量为0,编码残差标志位为0,纹理复杂度因子小于第一预设阈值;或者

在确定当前LCU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的LCU率失真代价最小对应的预测模式为SKIP模式,当前LCU的纹理复杂度因子小于第一预设阈值。

进一步的,所述第二预设编码特性条件为深度为2的CU在帧间预测模式下运动矢量为0,编码残差标志位为0,深度为2的CU的纹理复杂度因子小于第二预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU的率失真代价最小对应的预测模式均为SKIP模式,深度为2的CU的纹理复杂度因子小于第二预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,且最小率失真代价小于预设率失真代价,深度为2的CU的纹理复杂度因子小于第二预设阈值。

进一步的,所述第三预设编码特性条件为深度为0的当前LCU的纹理复杂度因子大于第一预设阈值,且深度为2的CU的纹理复杂度因子大于第二预设阈值,在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为非SKIP模式;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸小于16×16,深度为2的CU的纹理复杂度因子大于第二预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为帧内预测模式。

进一步的,所述第四预设编码特性条件为深度为0的当前LCU的纹理复杂度大于第一预设阈值,且深度为2的CU的纹理复杂度小于第二预设阈值,深度为0的当前LCU与深度为2的CU最小率失真代价的差值大于预设差值;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸不小于16×16,深度为2的CU的纹理复杂度因子小于第二预设阈值。

本发明实施例还提供了一种编码单元选择方法,包括:

针对待处理图像的每一帧待编码图像分别执行如下步骤A-步骤J:其中,每一帧待编码图像的编码单元对应四个深度0、1、2、3;

步骤A:针对当前编码帧中的深度2对应的每一个编码单元CU,采用多个预测模式对该CU进行编码预测,确定深度为2的该CU在所述各预测模式下分别对应的编码特性;

步骤B:确定深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第一预设编码特性条件;

步骤C:当深度为2的该CU在所述各预测模式下分别对应的编码特性满足第一预设编码特性条件时,选择当前深度为2对应的编码单元尺寸作为最优编码单元尺寸;

步骤D:当所述深度为2的该CU在所述各预测模式下分别对应的编码特性不满足第一预设编码特性条件时,确定所述深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第二预设编码特性条件或者第三预设编码特性条件;

步骤E:当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第二预设编码特性条件时,将所述深度为2的该CU划分为深度为3的CU;分别确定深度2、深度3的最优预测模式,选择深度2、深度3的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸;

步骤F:当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第三预设编码特性条件时,分别将当前编码帧中的深度2的CU融合为深度为1的CU和深度为0的CU;分别确定深度0、深度1、深度2的最优预测模式,选择深度0、深度1、深度2的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

通过本发明实施例提供的上述方法,由于在对编码单元进行划分时,通过中间编码单元尺寸16×16作为搜索点,并根据预先设置的约束条件判断当前编码单元是否继续向下划分为更小的编码单元或向上融合为更大的编码单元,可以提前终止CU的划分,又有利于进行并行化处理,节省了处理时间,无需按照64×64、32×32、16×16、8×8的顺序进行递归划分,减少了计算量,进而提高了编码速度。

进一步的,所述第一预设编码特性条件为深度为2的CU在帧间预测模式下运动矢量为0,编码残差标志位为0,深度为2的CU的纹理复杂度因子小于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU的率失真代价最小对应的预测模式均为SKIP模式,深度为2的CU的纹理复杂度因子小于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,且最小率失真代价小于预设率失真代价,深度为2的CU的纹理复杂度因子小于第一预设阈值。

进一步的,所述第二预设编码特性条件为深度为0的当前LCU的纹理复杂度因子大于第二预设阈值,且深度为2的CU的纹理复杂度因子大于第一预设阈值,在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为非SKIP模式;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸小于16×16,深度为2的CU的纹理复杂度因子大于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为帧内预测模式。

进一步的,所述第三预设编码特性条件为深度为0的当前LCU的纹理复杂度大于第二预设阈值,且深度为2的CU的纹理复杂度小于第一预设阈值,深度为0的当前LCU与深度为2的CU最小率失真代价的差值大于预设差值;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸不小于16×16,深度为2的CU的纹理复杂度因子小于第一预设阈值。

本发明实施例还提供了一种编码单元选择装置,包括:

第一判断单元,用于对于待处理图像的每一帧待编码图像,针对当前编码帧中的每一个待处理的最大编码单元LCU,按照第一判断条件对深度i对应的当前LCU进行最优编码单元尺寸判断;0≤i<N,N≥4,N表示最大深度;

划分单元,用于当判断所述当前LCU不是最优编码单元尺寸时,将所述当前LCU划分为深度m的编码单元,i<m<N;

第二判断单元,用于针对深度m的每一个编码单元CU,按照第二判断条件对深度m对应的当前CU进行最优编码单元尺寸判断;

第三判断单元,用于当判断深度m对应的当前CU不是最优编码单元尺寸时,按照预设判断条件对大于深度m和小于深度m对应的编码单元并行进行最优编码单元尺寸判断。

通过本发明实施例提供的上述装置,由于在对编码单元进行划分时,通过从中间编码单元尺寸作为搜索点,并根据预先设置的约束条件判断当前编码单元是否继续向下划分为更小的编码单元或向上融合为更大的编码单元,可以提前终止CU的划分,又有利于进行并行化处理,节省了处理时间,无需按照64×64、32×32、16×16、8×8的顺序进行递归划分,减少了计算量,进而提高了编码速度。

进一步的,所述第一判断单元,具体用于在待处理图像的每一帧待编码图像中,针对当前编码帧中的每一个待处理的最大编码单元LCU,采用多个预测模式对当前LCU在当前深度0时进行编码预测;确定所述当前LCU在所述各预测模式下分别对应的编码特性,深度0对应编码单元尺寸为64×64;所述最大深度N=4;所述编码特性包括运动特性、纹理特性和时间相关性;确定所述当前LCU在所述各预测模式下分别对应的编码特性是否满足第一预设编码特性条件;当所述当前LCU在所述各预测模式下分别对应的编码特性满足第一预设编码特性条件时,选择当前深度为0对应的编码单元尺寸作为最优编码单元尺寸。

进一步的,所述划分单元,具体用于当所述当前LCU在所述各预测模式下分别对应的编码特征参数不满足第一预设编码特性条件时,将所述当前LCU划分为深度为2对应编码单元尺寸为16×16的编码单元CU。

进一步的,所述第二判断单元,具体用于针对每一个深度为2的CU,采用所述多个预测模式对该CU进行编码预测,确定深度为2的该CU在所述各预测模式下分别对应的编码特性;确定深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第二预设编码特性条件;当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第二预设编码特性条件时,分别确定深度0和深度2的最优预测模式,选择深度0和深度2的最优预测模式的率失真代价中较小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

进一步的,所述第三判断单元,具体用于当所述深度为2的该CU在所述各预测模式下分别对应的编码特性不满足第二预设编码特性条件时,确定所述深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第三预设编码特性条件或者第四预设编码特性条件;当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第三预设编码特性条件时,将所述深度为2的该CU划分为深度为3的CU,分别确定深度0、深度2、深度3的最优预测模式,选择深度0、深度2、深度3的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸;当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第四预设编码特性条件时,分别确定深度0、深度1、深度2的最优预测模式,选择深度0、深度1、深度2的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

进一步的,所述第一预设编码特性条件为当前LCU帧间预测模式下运动矢量为0,编码残差标志位为0,纹理复杂度因子小于第一预设阈值;或者

在确定当前LCU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的LCU率失真代价最小对应的预测模式为SKIP模式,当前LCU的纹理复杂度因子小于第一预设阈值。

进一步的,所述第二预设编码特性条件为深度为2的CU在帧间预测模式下运动矢量为0,编码残差标志位为0,深度为2的CU的纹理复杂度因子小于第二预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU的率失真代价最小对应的预测模式均为SKIP模式,深度为2的CU的纹理复杂度因子小于第二预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,且最小率失真代价小于预设率失真代价,深度为2的CU的纹理复杂度因子小于第二预设阈值。

进一步的,所述第三预设编码特性条件为深度为0的当前LCU的纹理复杂度因子大于第一预设阈值,且深度为2的CU的纹理复杂度因子大于第二预设阈值,在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为非SKIP模式;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸小于16×16,深度为2的CU的纹理复杂度因子大于第二预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为帧内预测模式。

进一步的,所述第四预设编码特性条件为深度为0的当前LCU的纹理复杂度大于第一预设阈值,且深度为2的CU的纹理复杂度小于第二预设阈值,深度为0的当前LCU与深度为2的CU最小率失真代价的差值大于预设差值;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸不小于16×16,深度为2的CU的纹理复杂度因子小于第二预设阈值。

本发明实施例还提供了一种编码单元选择装置,包括:

第一预测单元,用于在待处理图像的每一帧待编码图像中,每一帧待编码图像的编码单元对应四个深度0、1、2、3;针对当前编码帧中的深度2对应的每一个编码单元CU,采用多个预测模式对该CU进行编码预测,确定深度为2的该CU在所述各预测模式下分别对应的编码特性;

第一确定单元,用于确定深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第一预设编码特性条件;

第一选择单元,用于当深度为2的该CU在所述各预测模式下分别对应的编码特性满足第一预设编码特性条件时,选择当前深度为2对应的编码单元尺寸作为最优编码单元尺寸;

第二确定单元,用于当所述深度为2的该CU在所述各预测模式下分别对应的编码特性不满足第一预设编码特性条件时,确定所述深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第二预设编码特性条件或者第三预设编码特性条件;

划分单元,用于当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第二预设编码特性条件时,将所述深度为2的该CU划分为深度为3的CU;分别确定深度2、深度3的最优预测模式,选择深度2、深度3的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸;

第三确定单元,用于当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第三预设编码特性条件时,分别将当前编码帧中的深度2的CU融合为深度为1的CU和深度为0的CU;分别确定深度0、深度1、深度2的最优预测模式,选择深度0、深度1、深度2的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

通过本发明实施例提供的上述装置,由于在对编码单元进行划分时,通过中间编码单元尺寸16×16作为搜索点,并根据预先设置的约束条件判断当前编码单元是否继续向下划分为更小的编码单元或向上融合为更大的编码单元,可以提前终止CU的划分,又有利于进行并行化处理,节省了处理时间,无需按照64×64、32×32、16×16、8×8的顺序进行递归划分,减少了计算量,进而提高了编码速度。

进一步的,所述第一预设编码特性条件为深度为2的CU在帧间预测模式下运动矢量为0,编码残差标志位为0,深度为2的CU的纹理复杂度因子小于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU的率失真代价最小对应的预测模式均为SKIP模式,深度为2的CU的纹理复杂度因子小于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,且最小率失真代价小于预设率失真代价,深度为2的CU的纹理复杂度因子小于第一预设阈值。

进一步的,所述第二预设编码特性条件为深度为0的当前LCU的纹理复杂度因子大于第二预设阈值,且深度为2的CU的纹理复杂度因子大于第一预设阈值,在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为非SKIP模式;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸小于16×16,深度为2的CU的纹理复杂度因子大于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为帧内预测模式。

进一步的,所述第三预设编码特性条件为深度为0的当前LCU的纹理复杂度大于第二预设阈值,且深度为2的CU的纹理复杂度小于第一预设阈值,深度为0的当前LCU与深度为2的CU最小率失真代价的差值大于预设差值;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸不小于16×16,深度为2的CU的纹理复杂度因子小于第一预设阈值。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例提供的编码单元选择方法的流程图;

图2为本发明实施例1提供的编码单元选择方法的流程图;

图3为本发明实施例1中帧间模式的结构示意图;

图4为本发明实施例2提供的编码单元选择方法的流程图;

图5为本发明实施例3提供的编码单元选择装置的结构示意图;

图6为本发明实施例4提供的编码单元选择装置的结构示意图。

具体实施方式

为了给出减少选择编码单元的处理时间和计算量,从而提高编码效率的实现方案,本发明实施例提供了一种编码单元选择方法及装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明实施例提供一种编码单元选择方法,如图1所示,包括:

步骤101、在待处理图像的每一帧待编码图像中,针对当前编码帧中的每一个待处理的最大编码单元LCU,按照第一判断条件对深度i对应的当前LCU进行最优编码单元尺寸判断;0≤i<N,N≥4,N表示最大深度。

步骤102、当判断该当前LCU不是最优编码单元尺寸时,将该当前LCU划分为深度m的编码单元,i<m<N。

步骤103、针对深度m的每一个编码单元CU,按照第二判断条件对深度m对应的当前CU进行最优编码单元尺寸判断。

步骤104、当判断深度m对应的当前CU不是最优编码单元尺寸时,按照预设判断条件对大于深度m和小于深度m对应的编码单元并行进行最优编码单元尺寸判断。

下面结合附图,用具体实施例对本发明提供的方法及装置进行详细描述。

实施例1:

本发明实施例以编码单元的最大深度为3、深度0对应的编码单元作为最大编码单元为例,图2为本发明实施例1提供的编码单元选择方法的流程图,具体包括如下处理步骤:

步骤201、在待处理图像的每一帧待编码图像中,针对当前编码帧中的每一个待处理的最大编码单元(LCU,Largest Coding Unit),采用多个预测模式对当前LCU进行编码预测,确定各预测模式下分别对应的率失真代价。

本步骤中,多个预测模式可以为SKIP模式、帧内和帧间模式,其中如图3所示,帧间模式可以分为2N×2N,N×N,2N×N,N×2N,2N×nU,2N×nD,nL×2N,nR×2N。

本发明实施例中,在对各编码单元进行编码预测时,得到各编码单元在各预测模式下的编码特性,编码特性包括运动特性、纹理特性和时间相关性,可以通过运动矢量(MV,Motion Vector)、纹理复杂度因子、率失真代价、编码残差标志位(CBF,Coded Block Flag)等参数体现上述编码特性。一般来说,如果编码的率失真代价很小,说明编码单元(CU,Coding Unit)在参考帧中可以找到很好的预测,即使CU采用更小的编码单元尺寸进行预测和编码,很大程度上并不会提高率失真性能;运动矢量可以反映CU的运动情况,通常静止区域或者运动平缓区域采用较大的编码单元尺寸进行编码,剧烈运动区域采用小尺寸编码单元进行编码;由于视频序列的每一帧图像存在时间上的相关性,采用时间相关性在一定程度上可以预测当前CU的编码情况。深度0、1、2、3分别对应的编码单元尺寸为64×64、32×32、16×16、8×8。

本步骤中,可以采用如下公式确定率失真代价:

J(s,c,MODE|λMODE)=SSE(s,c,MODE|QP)+λMODER(s,c,MODE);

其中,MODE表示当前CU的预测模式,c为采用MODE模式编码后的重建图像数据,s为原始的图像数据,R(s,c,MODE)表示MODE模式下用来编码的编码比特,SSE(s,c,MODE|QP)为原始的图像数据与重建图像数据之间的差值平方和,QP为量化步长,QP的取值范围为0-51中任一整数,λMODE为拉格朗日乘子,J(s,c,MODE|λMODE)为MODE模式下的率失真代价值,λMODE采用如下公式计算:

λMODE=α*Wk*2((QP-12)/3)

Wk为加权因子,Clip(min,max,val)表示将val值嵌位在[min,max]所包含的范围内的运算,number_of_B_frames为一个GOP(Group of Picture)中B帧的数目。实际上,在确定各预测模式的率失真代价时,针对每一种预测模式,都要在不同的变换单元尺寸下的计算率失真代价,即在上述确定率失真代价的公式中,当确定原始的图像数据与MODE模式下的预测图像数据之间的残差数据时,还要对残差数据进行变换量化的过程。

当前LCU的深度为0,深度0对应编码单元尺寸为64×64。

步骤202、确定率失真代价最小对应的预测模式。

步骤203、确定各预测模式下的运动矢量和编码残差标志位。

本步骤中,可以采用现有技术中的方式确定各预测模式下的运动矢量MV和编码残差标志位CBF,在此不再进行详细描述。

步骤204、确定当前LCU的纹理复杂度因子。

本步骤中,可以采用如下公式确定当前LCU的纹理复杂度因子:

其中,γ64为当前LCU的纹理复杂度因子,M为当前LCU的宽度,M=64,N为采样值,N表示隔N行取像素进行计算,N可以取4,f(i,j)为当前LCU的坐标为(i,j)像素的亮度值,G64为当前LCU包括的所有像素的亮度平均值,

如果对当前LCU的每个像素都进行计算,会增加计算量,导致编码复杂度增加,因此可以通过设置N的取值减少计算量,例如当N=4时,隔四行取像素进行计算。

当前LCU的纹理复杂度也可以作为在各预测模式下的编码特性,只是在各预测模式下当前LCU的纹理复杂度为同一个值。

上述步骤201-203与步骤204之间没有严格的先后顺序。

步骤205、确定当前LCU的在帧间预测模式下的运动矢量是否为0,编码残差标志位是否为0,纹理复杂度因子是否小于第一预设阈值,如果是,进入步骤207,如果否,进入步骤206。

其中,该第一预设阈值T64可以采用现有技术中的大津阈值法确定,在此不再进行详细描述。

步骤206、确定当前LCU在各预测模式下进行编码预测的率失真代价最小对应的预测模式是否为SKIP模式,时域相邻前一帧同位置的LCU率失真代价最小对应的预测模式是否为SKIP模式,且当前LCU的纹理复杂度是否小于第一预设阈值,如果是,进入步骤207,如果否,进入步骤208。

率失真代价最小对应的预测模式即为最优预测模式。

上述步骤205与206之间没有严格的先后顺序,可以先对步骤206进行判断,再对步骤205进行判断,即相当于如果满足步骤205和步骤206的判断条件中任一条件,进入步骤207,如果步骤205和步骤206的判断条件都不满足,进入步骤208。

步骤207、选择当前深度为0对应的编码单元尺寸作为最优编码单元尺寸。

本步骤中,选择64×64编码单元尺寸作为最优编码单元尺寸,对当前LCU进行编码处理,不再继续划分为更小的编码单元尺寸。

步骤208、将当前LCU划分为深度为2对应编码单元尺寸为16×16的CU。

步骤209、针对每一个深度为2的CU,采用多个预测模式分别对该CU进行编码预测,确定各预测模式下分别对应的率失真代价、运动矢量和编码残差标志位。

本步骤中,可以采用与步骤201-步骤203相同的方式确定率失真代价、运动矢量和残差标志位,在此不再赘述。

步骤210、确定深度为2的该CU的纹理复杂度因子。

本步骤中,可以采用如下公式确定当前LCU的纹理复杂度因子:

其中,γ16为当前LCU的纹理复杂度因子,M为当前CU的宽度,M=16,

N为采样值,N表示隔N行取像素进行计算,N可以取2,f(i,j)为当前CU的坐标为(i,j)像素的亮度值,G16为当前LCU包括的所有像素的亮度平均值,

如果对深度为2的该CU的每个像素都进行计算,会增加计算量,导致编码复杂度增加,因此可以通过设置N的取值减少计算量,例如当N=2时,隔两行取像素进行计算。

深度为2的该CU的纹理复杂度也可以作为在各预测模式下的编码特性,只是在各预测模式下该CU的纹理复杂度为同一个值。

步骤211、确定深度为2的该CU在帧间预测模式下的运动矢量是否为0,编码残差标志位是否为0,纹理复杂度因子是否小于第二预设阈值,如果是,进入步骤214,如果否,进入步骤212。

其中,该第二预设阈值T16可以采用现有技术中的大津阈值法确定,在此不再进行详细描述。

步骤212、确定深度为2的该CU在各预测模式下进行编码预测的率失真代价最小对应的预测模式是否为SKIP模式,时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU的率失真代价最小对应的预测模式是否均为SKIP模式,且该CU的纹理复杂度是否小于第二预设阈值,如果是,进入步骤214,如果否,进入步骤213。

率失真代价最小对应的预测模式即为最优预测模式。

步骤213、确定深度为2的该CU在各预测模式下进行编码预测的率失真代价最小对应的预测模式是否为SKIP模式,且最小率失真代价是否小于预设率失真代价,该CU的纹理复杂度因子是否小于第二预设阈值,如果是,进入步骤214,如果否,进入步骤215。

本步骤中,可以将当前LCU中所有以SKIP模式编码的CU的平均率失真代价RSKIP_AV乘以一个系数,即将RSKIP_AV×α作为预设率失真代价,系数α可以根据实际经验和需要进行灵活设置,例如:α可以为1.5。率失真代价最小对应的预测模式即为最优预测模式。

上述步骤211、步骤212、步骤213之间没有严格的先后顺序。即相当于如果满足步骤211、步骤212和步骤213的判断条件中任一条件,进入步骤214,如果步骤211、步骤212和步骤213的判断条件都不满足,进入步骤215。

步骤214、选择深度0和深度2的最优预测模式的率失真代价中较小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

本步骤中,在满足步骤211、步骤212和步骤213的判断条件中任一条件时,提前终止深度为2的该CU的划分,上述步骤202和步骤212中已确定深度0的最优预测模式的率失真代价和深度2的最优预测模式的率失真代价,比较两者的值,将率失真代价值较小对应的深度的编码单元尺寸作为最优编码单元尺寸。

步骤215、确定深度为0的当前LCU的纹理复杂度因子是否大于第一预设阈值,且深度为2的该CU的纹理复杂度因子是否大于第二预设阈值,深度为2的该CU在各预测模式下进行编码预测的率失真代价最小对应的预测模式是否为非SKIP模式,如果是,进入步骤218,如果否,进入步骤216。

步骤216、确定时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中是否存在至少一个CU的最优编码单元尺寸小于16×16,深度为2的该的纹理复杂度因子是否大于第二预设阈值,如果是,进入步骤218,如果否,进入步骤217。

步骤217、确定深度为2的该CU在各预测模式下进行编码预测的率失真代价最小对应的预测模式是否为帧内预测模式,如果是,进入步骤218,如果否,进入步骤219。

上述步骤215、步骤216、步骤217之间没有严格的先后顺序,即相当于如果满足步骤215、步骤216、步骤217的判断条件中任一条件,进入步骤218,如果步骤215、步骤216、步骤217的判断条件都不满足,进入步骤219。

步骤218、将深度为2的该CU划分为深度为3的CU,确定深度3的最优预测模式,选择深度0、深度2、深度3的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

本步骤中,深度3对应8×8编码单元尺寸。确定深度3的最优预测模式即确定深度3的率失真代价最小对应的预测模式,具体可以采用步骤201-202相同的方式确定最优预测模式,在此不再进行详细描述。上述步骤202和步骤212中已确定深度0的最优预测模式的率失真代价和深度2的最优预测模式的率失真代价,比较深度0、深度2、深度3各自的最优预测模式的率失真代价,将其中率失真代价最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

步骤219、确定深度为0的当前LCU的纹理复杂度因子是否大于第一预设阈值,且深度为2的该CU的纹理复杂度因子是否小于第二预设阈值,深度为0的当前LCU与深度为2的该CU最小率失真代价的差值大于预设差值,如果是,进入步骤221,如果否,进入步骤220。

其中,该预设差值a可以根据实际经验和需要进行灵活设置,例如:如果深度为2的该CU的最小率失真代价为R16,深度为0的LCU的最小率失真代价为R64,a可以设置为15R64/16,相当于(R64-R16)>15R64/16,即R16<R64/16。

步骤220、确定时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中是否存在至少一个CU的最优编码单元尺寸小于16×16,深度为2的CU的纹理复杂度因子是否小于第二预设阈值,如果是,进入步骤221,如果否,进入步骤214。

上述步骤219和步骤220之间没有严格的先后顺序,即相当于如果满足步骤219和步骤220的判断条件中任一条件,进入步骤221,如果步骤219和步骤220的判断条件都不满足,进入步骤214。

步骤221、将深度为2的该CU与相邻CU融合为深度为1的CU,确定深度为1的CU的最优预测模式,选择深度0、深度1、深度2的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

具体的,深度为2的该CU可以与相邻的CU融合为深度为1的CU,深度为2的当前CU与相邻的CU共4个16×16的块,当其中有一个CU块满足步骤219和步骤220中任一条件,便将这4个块融合为一个深度为1的CU。确定深度1的最优预测模式即确定深度1的率失真代价最小对应的预测模式,具体可以采用步骤201-202相同的方式确定最优预测模式,在此不再进行详细描述。上述步骤202和步骤212中已确定深度0的最优预测模式的率失真代价和深度2的最优预测模式的率失真代价,比较深度0、深度1、深度2各自的最优预测模式的率失真代价,将其中率失真代价最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

本发明实施例上述编码单元选择的处理过程中,当针对当前编码帧中的每一个LCU进行上述处理后,该LCU可能使用深度0对应的64×64进行编码,也可能继续划分为深度1或深度2或深度3对应的编码单元尺寸进行编码,该LCU划分为不同尺寸的CU,并由这些不同尺寸CU组成的划分结构即为该LCU的最优编码单元划分结构。

采用本发明实施例1提供的方法,由于在对编码单元进行划分时,通过中间编码单元尺寸16×16作为搜索点,并根据预先设置的约束条件判断当前编码单元是否继续向下划分为更小的编码单元或向上融合为更大的编码单元,可以提前终止CU的划分,又有利于进行并行化处理,节省了处理时间,无需按照64×64、32×32、16×16、8×8的顺序进行递归划分,减少了计算量,进而提高了编码速度。

实施例2:

本发明实施例以编码单元的最大深度为3、从深度2对应的编码单元开始进行编码预测为例,图4为本发明实施例2提供的编码单元选择方法的流程图,具体包括如下处理步骤:

步骤401、在待处理图像的每一帧待编码图像中,针对当前编码帧中的深度2对应的每一个编码单元CU,采用多个预测模式对该CU进行编码预测,确定各预测模式下分别对应的率失真代价。

本步骤中,多个预测模式可以为SKIP模式、帧内和帧间模式,其中如图3所示,帧间模式可以分为2N×2N,N×N,2N×N,N×2N,2N×nU,2N×nD,nL×2N,nR×2N。

本发明实施例中,在对各编码单元进行编码预测时,得到各编码单元在各预测模式下的编码特性,编码特性包括运动特性、纹理特性和时间相关性,可以通过运动矢量(MV,Motion Vector)、纹理复杂度因子、率失真代价、编码残差标志位(CBF,Coded Block Flag)等参数体现上述编码特性。一般来说,如果编码的率失真代价很小,说明编码单元(CU,Coding Unit)在参考帧中可以找到很好的预测,即使CU采用更小的编码单元尺寸进行预测和编码,很大程度上并不会提高率失真性能;运动矢量可以反映CU的运动情况,通常静止区域或者运动平缓区域采用较大的编码单元尺寸进行编码,剧烈运动区域采用小尺寸编码单元进行编码;由于视频序列的每一帧图像存在时间上的相关性,采用时间相关性在一定程度上可以预测当前CU的编码情况。深度0、1、2、3分别对应的编码单元尺寸为64×64、32×32、16×16、8×8。

本步骤中,可以采用如下公式确定率失真代价:

J(s,c,MODE|λMODE)=SSE(s,c,MODE|QP)+λMODER(s,c,MODE);

其中,MODE表示当前CU的预测模式,c为采用MODE模式编码后的重建图像数据,s为原始的图像数据,R(s,c,MODE)表示MODE模式下用来编码的编码比特,SSE(s,c,MODE|QP)为原始的图像数据与重建图像数据之间的差值平方和,QP为量化步长,QP的取值范围为0-51中任一整数,λMODE为拉格朗日乘子,J(s,c,MODE|λMODE)为MODE模式下的率失真代价值,λMODE采用如下公式计算:

λMODE=α*Wk*2((QP-12)/3)

Wk为加权因子,Clip(min,max,val)表示将val值嵌位在[min,max]所包含的范围内的运算,number_of_B_frames为一个GOP(Group of Picture)中B帧的数目。实际上,在确定各预测模式的率失真代价时,针对每一种预测模式,都要在不同的变换单元尺寸下的计算率失真代价,即在上述确定率失真代价的公式中,当确定原始的图像数据与MODE模式下的预测图像数据之间的残差数据时,还要对残差数据进行变换量化的过程。

深度2对应的编码单元尺寸为16×16。

步骤402、确定率失真代价最小对应的预测模式。

步骤403、确定各预测模式下的运动矢量和编码残差标志位。

本步骤中,可以采用现有技术中的方式确定各预测模式下的运动矢量MV和编码残差标志位CBF,在此不再进行详细描述。

步骤404、确定当前深度2的编码单元的纹理复杂度因子。

本步骤中,可以采用如下公式确定当前CU的纹理复杂度因子:

其中,γ16为当前CU的纹理复杂度因子,M为当前CU的宽度,M=16,N为采样值,N表示隔N行取像素进行计算,N可以取4,f(i,j)为当前CU的坐标为(i,j)像素的亮度值,G16为当前CU包括的所有像素的亮度平均值,

如果对当前CU的每个像素都进行计算,会增加计算量,导致编码复杂度增加,因此可以通过设置N的取值减少计算量,例如当N=4时,隔四行取像素进行计算。

当前CU的纹理复杂度也可以作为在各预测模式下的编码特性,只是在各预测模式下当前CU的纹理复杂度为同一个值。

上述步骤401-403与步骤404之间没有严格的先后顺序。

步骤405、确定深度为2的该CU在帧间预测模式下运动矢量是否为0,编码残差标志位是否为0,纹理复杂度因子是否小于第一预设阈值,如果是,进入步骤408,如果否,进入步骤406。

其中,该第一预设阈值T16可以采用现有技术中的大津阈值法确定,在此不再进行详细描述。

步骤406、确定深度为2的该CU在各预测模式下进行编码预测的率失真代价最小对应的预测模式是否为SKIP模式,时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU的率失真代价最小对应的预测模式是否均为SKIP模式,深度为2的CU的纹理复杂度因子是否小于第一预设阈值,如果是,进入步骤408,如果否,进入步骤407。

率失真代价最小对应的预测模式即为最优预测模式。

步骤407、确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式是否为SKIP模式,且最小率失真代价是否小于预设率失真代价,深度为2的CU的纹理复杂度因子是否小于第一预设阈值,如果是,进入步骤408,如果否,进入步骤409。

本步骤中,可以将深度为2的CU中所有以SKIP模式编码的CU的平均率失真代价RSKIP_AV乘以一个系数,即将RSKIP_AV×α作为预设率失真代价,系数α可以根据实际经验和需要进行灵活设置,例如:α可以为1.5。率失真代价最小对应的预测模式即为最优预测模式。

上述步骤405、步骤406、步骤407之间没有严格的先后顺序。即相当于如果满足步骤405、步骤406和步骤407的判断条件中任一条件,进入步骤408,如果步骤405、步骤406和步骤407的判断条件都不满足,进入步骤409。

步骤408、选择当前深度为2对应的编码单元尺寸作为最优编码单元尺寸。

步骤409、确定深度2的CU的纹理复杂度因子是否大于第一预设阈值,深度为2的CU在各预测模式下的率失真代价最小对应的预测模式是否为非SKIP模式,深度为0的当前CU的纹理复杂度因子是否大于第二预设阈值,如果是,进入步骤412;如果否,进入步骤410。

其中,该第二预设阈值T64可以采用现有技术中的大津阈值法确定,在此不再进行详细描述。深度0的CU的纹理复杂度因子可以采用步骤404中相同的方式,在此不再赘述。

步骤410、确定深度2的编码单元的时域相邻的前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸小于16×16,深度为2的CU的纹理复杂度因子是否大于第一预设阈值,如果是,进入步骤412,如果否,进入步骤411。

步骤411、确定深度为2的CU在各预测模式下的率失真代价后,率失真代价最小对应的预测模式是否为帧内预测模式,如果是,进入步骤412,如果否,进入步骤413。

上述步骤409、步骤410、步骤411之间没有严格的先后顺序,即相当于如果满足步骤409、步骤410、步骤411的判断条件中任一条件,进入步骤412,如果步骤409、步骤410、步骤411的判断条件都不满足,进入步骤413。

步骤412、将深度为2的该CU划分为深度为3的CU;确定深度3的最优预测模式,选择深度2、深度3的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

本步骤中,深度3对应8×8编码单元尺寸。确定深度3的最优预测模式即确定深度3的率失真代价最小对应的预测模式,具体可以采用步骤401-402相同的方式确定最优预测模式,在此不再进行详细描述。

步骤413、确定深度2的CU的纹理复杂度是否小于第一预设阈值,深度为0的CU的纹理复杂度是否大于第二预设阈值,深度为0的CU与深度为2的CU最小率失真代价的差值是否大于预设差值,如果是,进入步骤415,如果否,进入步骤414。

其中,该预设差值a可以根据实际经验和需要进行灵活设置,例如:如果深度为2的该CU的最小率失真代价为R16,深度为0的LCU的最小率失真代价为R64,a可以设置为15R64/16,相当于(R64-R16)>15R64/16,即R16<R64/16。

步骤414、确定深度2的当前CU的时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸不小于16×16,深度为2的CU的纹理复杂度因子是否小于第一预设阈值,如果是,进入步骤415,如果否,进入步骤416。

上述步骤413和步骤414之间没有严格的先后顺序,即相当于如果满足步骤413和步骤414的判断条件中任一条件,进入步骤415,如果步骤413和步骤414的判断条件都不满足,进入步骤416。

步骤415、分别将当前编码帧中的深度2的CU融合为深度为1的CU和深度为0的CU,确定深度0、深度1、深度2的最优预测模式,选择深度0、深度1、深度2的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

具体的,深度为2的该CU可以与相邻的CU融合为深度为1的CU,深度为2的当前CU与相邻的CU共4个16×16的块,当其中有一个CU块满足步骤413和步骤414中任一条件,便将这4个块融合为一个深度为1的CU。深度为2的该CU融合为深度0的CU,可以先将深度2的CU融合为深度1的CU,再将深度1的CU融合为深度0的CU。确定深度1的最优预测模式即确定深度1的率失真代价最小对应的预测模式,具体可以采用步骤401-402相同的方式确定最优预测模式,在此不再进行详细描述。比较深度0、深度1、深度2各自的最优预测模式的率失真代价,将其中率失真代价最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

步骤416、将深度2的编码单元尺寸确定为最优编码单元尺寸。

本步骤中,当深度2的编码单元尺寸经过所有上述步骤405-407、409-411、413-414的判断后,条件都不满足,仍然选择深度2的编码单元尺寸作为最优编码单元尺寸。

通过本发明上述实施例提供的方法,由于在对编码单元进行划分时,首先从中间编码单元尺寸16×16作为搜索点,并根据预先设置的约束条件判断当前编码单元是否继续向下划分为更小的编码单元或向上融合为更大的编码单元,可以提前终止CU的划分,又有利于并行化处理,节省了处理时间,无需按照64×64、32×32、16×16、8×8的顺序进行递归划分,减少了计算量,进而提高了编码速度。

实施例3:

基于同一发明构思,根据本发明上述实施例提供的编码单元选择方法,相应地,本发明实施例3还提供了一种编码单元选择装置,其结构示意图如图4所示,具体包括:

第一判断单元501,用于对于待处理图像的每一帧待编码图像,针对当前编码帧中的每一个待处理的最大编码单元LCU,按照第一判断条件对深度i对应的当前LCU进行最优编码单元尺寸判断;0≤i<N,N≥4,N表示最大深度;

划分单元502,用于当判断所述当前LCU不是最优编码单元尺寸时,将所述当前LCU划分为深度m的编码单元,i<m<N;

第二判断单元503,用于针对深度m的每一个编码单元CU,按照第二判断条件对深度m对应的当前CU进行最优编码单元尺寸判断;

第三判断单元504,用于当判断深度m对应的当前CU不是最优编码单元尺寸时,按照预设判断条件对大于深度m和小于深度m对应的编码单元并行进行最优编码单元尺寸判断。

第一判断单元501,用于在待处理图像的每一帧待编码图像中,针对当前编码帧中的每一个待处理的最大编码单元LCU,采用多个预测模式对当前LCU在当前深度0时进行编码预测;确定所述当前LCU在所述各预测模式下分别对应的编码特性,深度0对应编码单元尺寸为64×64;所述最大深度N=4;所述编码特性包括运动特性、纹理特性和时间相关性;确定所述当前LCU在所述各预测模式下分别对应的编码特性是否满足第一预设编码特性条件当所述当前LCU在所述各预测模式下分别对应的编码特性满足第一预设编码特性条件时,选择当前深度为0对应的编码单元尺寸作为最优编码单元尺寸;

划分单元502,用于当所述当前LCU在所述各预测模式下分别对应的编码特征参数不满足第一预设编码特性条件时,将所述当前LCU划分为深度为2对应编码单元尺寸为16×16的编码单元CU;

第二判断单元503,用于针对每一个深度为2的CU,采用所述多个预测模式对该CU进行编码预测,确定深度为2的该CU在所述各预测模式下分别对应的编码特性;确定深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第二预设编码特性条件;当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第二预设编码特性条件时,分别确定深度0和深度2的最优预测模式,选择深度0和深度2的最优预测模式的率失真代价中较小值对应的深度的编码单元尺寸作为最优编码单元尺寸;

第三判断单元504,用于当所述深度为2的该CU在所述各预测模式下分别对应的编码特性不满足第二预设编码特性条件时,确定所述深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第三预设编码特性条件或者第四预设编码特性条件;当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第三预设编码特性条件时,将所述深度为2的该CU划分为深度为3的CU,分别确定深度0、深度2、深度3的最优预测模式,选择深度0、深度2、深度3的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸;当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第四预设编码特性条件时,分别确定深度0、深度1、深度2的最优预测模式,选择深度0、深度1、深度2的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

进一步的,所述第一预设编码特性条件为当前LCU帧间预测模式下运动矢量为0,编码残差标志位为0,纹理复杂度因子小于第一预设阈值;或者在确定当前LCU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的LCU率失真代价最小对应的预测模式为SKIP模式,当前LCU的纹理复杂度因子小于第一预设阈值。

进一步的,所述第二预设编码特性条件为深度为2的CU在帧间预测模式下运动矢量为0,编码残差标志位为0,深度为2的CU的纹理复杂度因子小于第二预设阈值;或者在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU的率失真代价最小对应的预测模式均为SKIP模式,深度为2的CU的纹理复杂度因子小于第二预设阈值;或者在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,且最小率失真代价小于预设率失真代价,深度为2的CU的纹理复杂度因子小于第二预设阈值。

进一步的,所述第三预设编码特性条件为深度为0的当前LCU的纹理复杂度因子大于第一预设阈值,且深度为2的CU的纹理复杂度因子大于第二预设阈值,在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为非SKIP模式;或者时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸小于16×16,深度为2的CU的纹理复杂度因子大于第二预设阈值;或者在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为帧内预测模式。

进一步的,所述第四预设编码特性条件为深度为0的当前LCU的纹理复杂度大于第一预设阈值,且深度为2的CU的纹理复杂度小于第二预设阈值,深度为0的当前LCU与深度为2的CU最小率失真代价的差值大于预设差值;或者时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸不小于16×16,深度为2的CU的纹理复杂度因子小于第二预设阈值。

上述各单元的功能可对应于图1或图2所示流程中的相应处理步骤,在此不再赘述。

实施例4:

基于同一发明构思,根据本发明上述实施例提供的编码单元选择方法,相应地,本发明实施例4还提供了一种编码单元选择装置,其结构示意图如图6所示,具体包括:

第一预测单元601,用于在待处理图像的每一帧待编码图像中,每一帧待编码图像的编码单元对应四个深度0、1、2、3;针对当前编码帧中的深度2对应的每一个编码单元CU,采用多个预测模式对该CU进行编码预测,确定深度为2的该CU在所述各预测模式下分别对应的编码特性;

第一确定单元602,用于确定深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第一预设编码特性条件;

第一选择单元603,用于当深度为2的该CU在所述各预测模式下分别对应的编码特性满足第一预设编码特性条件时,选择当前深度为2对应的编码单元尺寸作为最优编码单元尺寸;

第二确定单元604,用于当所述深度为2的该CU在所述各预测模式下分别对应的编码特性不满足第一预设编码特性条件时,确定所述深度为2的该CU在所述各预测模式下分别对应的编码特性是否满足第二预设编码特性条件或者第三预设编码特性条件;

划分单元605,用于当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第二预设编码特性条件时,将所述深度为2的该CU划分为深度为3的CU;分别确定深度2、深度3的最优预测模式,选择深度2、深度3的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸;

第三确定单元606,用于当所述深度为2的该CU在所述各预测模式下分别对应的编码特性满足第三预设编码特性条件时,分别将当前编码帧中的深度2的CU融合为深度为1的CU和深度为0的CU;分别确定深度0、深度1、深度2的最优预测模式,选择深度0、深度1、深度2的最优预测模式的率失真代价中最小值对应的深度的编码单元尺寸作为最优编码单元尺寸。

进一步的,所述第一预设编码特性条件为深度为2的CU在帧间预测模式下运动矢量为0,编码残差标志位为0,深度为2的CU的纹理复杂度因子小于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU的率失真代价最小对应的预测模式均为SKIP模式,深度为2的CU的纹理复杂度因子小于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为SKIP模式,且最小率失真代价小于预设率失真代价,深度为2的CU的纹理复杂度因子小于第一预设阈值。

进一步的,所述第二预设编码特性条件为深度为0的当前LCU的纹理复杂度因子大于第二预设阈值,且深度为2的CU的纹理复杂度因子大于第一预设阈值,在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为非SKIP模式;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸小于16×16,深度为2的CU的纹理复杂度因子大于第一预设阈值;或者

在确定深度为2的CU在每一种预测模式下的率失真代价后,率失真代价最小对应的预测模式为帧内预测模式。

进一步的,所述第三预设编码特性条件为深度为0的当前LCU的纹理复杂度大于第二预设阈值,且深度为2的CU的纹理复杂度小于第一预设阈值,深度为0的当前LCU与深度为2的CU最小率失真代价的差值大于预设差值;或者

时域相邻前一帧同位置的CU、相邻左边CU和相邻右边CU中至少一个CU的最优编码单元尺寸不小于16×16,深度为2的CU的纹理复杂度因子小于第一预设阈值。

上述各单元的功能可对应于图1或图4所示流程中的相应处理步骤,在此不再赘述。

综上所述,本发明实施例提供的方案,在对编码单元进行划分时,通过中间编码单元尺寸16×16作为搜索点,并根据预先设置的约束条件判断当前编码单元是否继续向下划分为更小尺寸的编码单元或向上融合为更大尺寸的编码单元,可以提前终止CU的划分,有利于实现编码单元选择的并行化处理,节省了编码处理时间,无需按照64×64、32×32、16×16、8×8的顺序进行递归划分,减少了计算量,进而提高了编码速度。

本申请的实施例所提供的编码单元选择装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要编码单元选择装置具有上述功能,都应该在本申请的保护范围之内。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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