CN104363450A - 一种帧内编码模式决策方法及装置 - Google Patents

一种帧内编码模式决策方法及装置 Download PDF

Info

Publication number
CN104363450A
CN104363450A CN201410706167.XA CN201410706167A CN104363450A CN 104363450 A CN104363450 A CN 104363450A CN 201410706167 A CN201410706167 A CN 201410706167A CN 104363450 A CN104363450 A CN 104363450A
Authority
CN
China
Prior art keywords
block
target code
intra
mode
code block
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
Application number
CN201410706167.XA
Other languages
English (en)
Other versions
CN104363450B (zh
Inventor
贺坚强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201410706167.XA priority Critical patent/CN104363450B/zh
Publication of CN104363450A publication Critical patent/CN104363450A/zh
Application granted granted Critical
Publication of CN104363450B publication Critical patent/CN104363450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例公开了一种帧内编码模式决策方法及装置,涉及视频编码技术领域,其中,上述方法包括:设置待处理编码块为目标编码块;计算目标编码块的梯度信息;判断目标编码块的梯度信息是否小于第一阈值;若小于,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式;若不小于,在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,并分别将划分得到的子编码块设置为目标编码块,返回执行所述计算目标编码块的梯度信息的步骤,以获得各个子编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。应用本发明实施例提供的方案进行帧内模式决策,能够提高帧内模式决策的速度。

Description

一种帧内编码模式决策方法及装置
技术领域
本发明涉及视频编码技术领域,特别涉及一种帧内编码模式决策方法及装置。
背景技术
随着互联网的普及和多媒体技术的发展,视频成为内容的主要承载媒质。视频在给用户带来丰富体验的同时,使得视频存储和视频传输压力大增,因此,视频编码尤为关键。
视频编码模式一般包括:帧内编码和帧间编码两种编码模式,其中,帧内编码是指利用当前视频帧内像素点之间的空间相关性进行的编码。现有的各种视频编码标准中,一般会规定该标准中允许使用的帧内预测模式以及编码块的尺寸等,例如,帧内预测模式可以是垂直预测模式、水平预测模式等等,编码块的尺寸可以是64x64、32x32、16x16等等,不同的编码标准中所规定的允许使用的帧内预测模式的数量、编码块的尺寸不相同。
进行帧内编码时,一般从以下两个方面进行考虑:
一、每个待处理编码块可以向下划分为不同的子编码块,即每个待处理编码块可以对应不同的划分模式,其中,待处理编码块可以理解为未经过划分的编码块,例如:一个待处理编码块为32x32的编码块可以划分为4个16x16的一级子编码块,各个16x16的一级子编码块还可以向下划分为4个8x8的二级子编码块等等,当然,待处理编码块的一种划分模式中,子编码块也可以理解为是待处理编码块本身,即不进行划分。另外,实际编码时视频图像中纹理复杂的区域,一般采用小尺寸的编码块进行编码能够得到较佳的编码效果,纹理简单的区域,一般采用大尺寸的编码块进行编码即可得到较佳的编码效果,因此,进行帧内编码时,需根据视频图像的内容选择最佳的划分模式,以提升RD(Rate Distortion,率失真)性能。
二、在不同的帧内预测模式下,根据与当前编码块相邻的已编码的编码块的图像信息得到的目标编码块的预测数据不一样,因此,同一编码块在不同预测模式下得到的率失真代价(Rate Distortion Cost,RDCost)不同,因此,为提高RD性能,需选择最佳的帧内预测模式。其中,RDCost是指编码块在特定码率下达到的失真度。
鉴于上述两方面的原因,进行帧内编码时,需在待处理编码块的不同划分模式下,选择各个子编码块的最优帧内预测模式,以得到RD性能最优的帧内编码模式,其中,帧内编码模式中至少包括:待处理编码块的划分模式和待处理编码块的帧内预测模式,待处理编码块的帧内预测模式可以理解为:待处理编码块的划分模式下各个子编码块的帧内预测模式的合集。
然而,由于每个编码块可能存在多种划分模式和多种帧内预测方向,因此,选择编码块的帧内编码模式计算量非常大。
以HEVC视频编码标准为例,该标准中编码块可以是:64x64块、32x32块、16x16块和8x8块,允许使用的帧内预测模式有35种,对于待处理编码块为64x64的编码块而言,仅仅其可能的划分块模式就多达1024种,而每一种划分块模式中的各个划分块又存在35中可能的帧内预测模式,可见获得一个编码块的最佳帧内编码模式计算量非常大。
发明内容
本发明实施例公开了一种帧内编码模式决策方法及装置,以降低帧内模式决策的计算量,提高计算速度。
为达到上述目的,本发明实施例公开了一种帧内编码模式决策方法,所述方法包括:
设置待处理编码块为目标编码块;
计算目标编码块的梯度信息Gcu
判断目标编码块的梯度信息Gcu是否小于第一阈值Th1
若小于Th1,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式;
若不小于Th1,在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,并分别将划分得到的子编码块设置为目标编码块,返回执行所述计算目标编码块的梯度信息Gcu的步骤,以获得各个子编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
可选的,所述计算目标编码块的梯度信息,包括:
确定构成目标编码块的各个最小编码单元,其中,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍;
根据所确定的各个最小编码单元的梯度信息,计算目标编码块的梯度信息,其中,所确定的各个最小编码单元的梯度信息是在开始编码目标编码块之前计算得到的。
可选的,所述获得目标编码块的帧内编码模式,包括:
根据目标编码块的图像信息和与目标编码块相邻的已编码的编码块的图像信息,从预设的Numd个帧内预测模式中确定Nums个帧内预测模式,作为目标编码块的待选择帧内预测模式;
分别在所确定的Nums个待选择帧内预测模式下,计算目标编码块对应的率失真代价;
根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式。
可选的,所述根据目标编码块的图像信息和与目标编码块相邻的已编码的编码块的图像信息,从预设的Numd个帧内预测模式中确定Nums个帧内预测模式,作为目标编码块的待选择帧内预测模式,包括:
根据与目标编码块相邻的已编码的编码块的帧内预测模式,预测目标编码块的预估帧内预测模式;
根据与目标编码块相邻的已编码的编码块的图像信息,分别在预设的Numd个帧内预测模式下,获得目标编码块对应的预测数据;
按照在各个帧内预测模式下,所获得的目标编码块对应的预测数据与目标编码块的相似度由高到低的顺序,从预设的Numd个帧内预测模式中确定Num's个帧内预测模式;
将所述预估帧内预测模式和所确定的Num's个帧内预测模式的合集,确定为目标编码块的待选择帧内预测模式,Nums=所述合集中包含的帧内预测模式的数量。
可选的,所述Num's为:
预设的固定值;或
根据Gcu的大小,从若干预设的备选值中选取的值;
其中,所述根据Gcu的大小,从若干预设的备选值中选取值,具体为:
根据预先对数值区间的划分结果,确定Gcu所处的子区间,
根据预设的子区间与备选值的对应关系及所确定的子区间,从预设的备选值中确定选取结果。
可选的,所述根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式,包括:
判断所获得的率失真代价的最小值RDCostmin是否小于第二阈值Th2
若小于Th2,获得目标编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,块划分模式为目标编码块的划分模式;
否则,将目标编码块划分为第二预设数量个变换块,分别计算各个变换块对应的率失真代价,并根据计算结果获得目标编码块的帧内编码模式。
可选的,所述根据计算结果获得目标编码块的帧内编码模式,包括:
获得各个变换块的率失真代价之和RDCostadd
在RDCostmin<RDCostadd且RDCost<c*Th2的情况下,获得目标编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块未划分变换块情况下对应的划分模式,RDCost为RDCostmin和RDCostadd中的最小值,c>1;
在RDCostmin≥RDCostadd且RDCost<Th2的情况下,获得目标编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块划分变换块后对应的划分模式;
其他情况下,在满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第三预设数量个子编码块,分别获得各个子编码块的帧内预测模式和各个子编码块的划分模式,并根据所获得的信息获得目标编码块的帧内编码模式。
可选的,所述第一阈值和第二阈值为根据目标编码块的宽度、高度和量化参数确定的数值,其中,所述第一阈值和第二阈值不相等。
可选的,所述在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,包括:
在目标编码块满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第一预设数量个子编码块,其中,w、h表示目标编码块的宽度和高度,wu、hu表示最小编码单元的宽度和高度,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍。
为达到上述目的,本发明实施例公开了一种帧内编码模式决策装置,所述装置包括:目标编码块设置模块、梯度信息计算模块、梯度信息判断模块、帧内编码模式获得模块和编码块划分模块;
其中,所述目标编码块设置模块,用于设置待处理编码块为目标编码块;
所述梯度信息计算模块,用于计算目标编码块的梯度信息Gcu
所述梯度信息判断模块,用于判断目标编码块的梯度信息Gcu是否小于第一阈值Th1,若小于Th1,触发所述帧内编码模式获得模块获得帧内编码模式,若不小于Th1,触发所述编码块划分模块划分编码块;
所述帧内编码模式获得模块,用于获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式;
所述编码块划分模块,用于在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,并触发所述目标编码块设置模块设置目标编码块;
所述目标编码块设置模块,还用于分别将划分得到的子编码块设置为目标编码块,并触发所述梯度信息计算模块计算各个子编码块的梯度信息,以获得各个子编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
可选的,所述梯度信息计算模块,包括:
最小编码单元确定子模块,用于确定构成目标编码块的各个最小编码单元,其中,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍;
梯度信息确定子模块,用于根据所确定的各个最小编码单元的梯度信息,计算目标编码块的梯度信息,其中,所确定的各个最小编码单元的梯度信息是在开始编码目标编码块之前计算得到的。
可选的,所述帧内编码模式获得模块,包括:
帧内预测模式获得子模块,用于根据目标编码块的图像信息和与目标编码块相邻的已编码的编码块的图像信息,从预设的Numd个帧内预测模式中确定Nums个帧内预测模式,作为目标编码块的待选择帧内预测模式;
率失真代价计算子模块,用于分别在所确定的Nums个待选择帧内预测模式下,计算目标编码块对应的率失真代价;
帧内编码模式获得子模块,用于根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
可选的,所述帧内预测模式获得子模块,包括:
帧内预测模式预测单元,用于根据与目标编码块相邻的已编码的编码块的帧内预测模式,预测目标编码块的预估帧内预测模式;
预测数据获得单元,用于根据与目标编码块相邻的已编码的编码块的图像信息,分别在预设的Numd个帧内预测模式下,获得目标编码块对应的预测数据;
第一帧内预测模式确定单元,用于按照在各个帧内预测模式下,所获得的目标编码块对应的预测数据与目标编码块的相似度由高到低的顺序,从预设的Numd个帧内预测模式中确定Num's个帧内预测模式;
第二帧内预测模式确定单元,用于将所述预估帧内预测模式和所确定的Num's个帧内预测模式的合集,确定为目标编码块的待选择帧内预测模式,Nums=所述合集中包含的帧内预测模式的数量。
可选的,所述Num's为:
预设的固定值;或
根据Gcu的大小,从若干预设的备选值中选取的值;
在所述Num's为:根据Gcu的大小,从若干预设的备选值中选取的值的情况下,所述帧内预测模式获得子模块还包括:
子区间确定单元,用于根据预先对数值区间的划分结果,确定Gcu所处的子区间;
选取结果确定单元,用于根据预设的子区间与备选值的对应关系及所确定的子区间,从预设的备选值中确定选取结果。
可选的,所述帧内编码模式获得子模块,包括:
率失真代价判断单元,用于判断所获得的率失真代价的最小值RDCostmin是否小于第二阈值Th2
第一帧内编码模式获得单元,用于在所述率失真代价判断单元的判断结果为是的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,块划分模式为目标编码块的划分模式;
第二帧内编码模式获得单元,用于在所述率失真代价判断单元的判断结果为否的情况下,将目标编码块划分为第二预设数量个变换块,分别计算各个变换块对应的率失真代价,并根据计算结果获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
可选的,所述第一帧内编码模式获得单元,包括:
率失真代价和获得子单元,用于获得各个变换块的率失真代价之和RDCostadd
第一帧内编码模式获得子单元,用于在RDCostmin<RDCostadd且RDCost<c*Th2的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块未划分变换块情况下对应的划分模式,RDCost为RDCostmin和RDCostadd中的最小值,c>1;
第二帧内编码模式获得子单元,用于在RDCostmin≥RDCostadd且RDCost<Th2的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块划分变换块后对应的划分模式;
第三帧内编码模式获得子单元,用于在其他情况下,满足关系式:w>wu且h>hu时,将目标编码块划分为第三预设数量个子编码块,分别获得各个子编码块的帧内预测模式和各个子编码块的划分模式,并根据所获得的信息获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
可选的,所述第一阈值和第二阈值为根据目标编码块的宽度、高度和量化参数确定的数值,其中,所述第一阈值和第二阈值不相等。
可选的,所述编码块划分模块,具体用于在目标编码块满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第一预设数量个子编码块,其中,w、h表示目标编码块的宽度和高度,wu、hu表示最小编码单元的宽度和高度,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍。
由以上可见,本发明实施例提供的方案中,在确定待处理编码块的帧内编码模式时,从待处理编码块开始,在判断得待处理编码块的梯度信息小于第一阈值时,才获得该待处理编码块的帧内编码模式,而在判断得该待处理编码块的梯度信息不小于第一阈值时,将该待处理编码块向下划分为若干个子编码块,分别在各个子编码块的梯度信息小于第一阈值的情况下获得各个子编码块的帧内编码模式,若各个子编码块的梯度信息也不小于第一阈值,则将子编码块再次向下划分,并进行上述的判断等操作,最后根据各个子编码块的帧内编码模式信息获得待处理编码块的帧内编码模式。与现有技术相比,本发明实施例提供的方案中,只有在待处理编码块或者子编码块的梯度信息满足一定条件的情况下,才获得相应的帧内编码模式,进而获得待处理编码块的帧内编码模式,而非获得待处理编码块的每一种划分模式下的子编码块的帧内编码模式,因此,可以节省帧内模式的决策的计算量,能够提高帧内模式决策的计算速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的帧内编码模式决策方法的第一种流程示意图;
图2为一种编码块划分的示意图;
图3为本发明实施例提供的帧内编码模式决策方法的第二种流程示意图;
图4为本发明实施例提供的一种获得待选择帧内预测模式的方法的流程示意图;
图5为本发明实施例提供的帧内编码模式决策方法的第三种流程示意图;
图6为本发明实施例提供的帧内编码模式决策装置的第一种结构示意图;
图7为本发明实施例提供的帧内编码模式决策装置的第二种结构示意图;
图8为本发明实施例提供的一种获得待选择帧内预测模式的装置的结构示意图;
图9为本发明实施例提供的帧内编码模式决策装置的第三种结构示意图。
具体实施方式
对一帧视频图像进行编码,可以理解为分别对组成该视频图像的各个编码块分别进行编码,而对各个编码块进行编码又可以理解为在帧内编码模式和帧间编码模式中选择RD(Rate Distortion)性能最优的模式,鉴于此,本发明实施例以一个待处理编码块为对象,提供了一种帧内编码模式决策方法及装置。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的帧内编码模式决策方法的第一种流程示意图,该方法包括:
S101:设置待处理编码块为目标编码块。
编码一帧视频图像时,一般是以编码块为单位进行的。另外,本领域内的技术人员可以理解的是,编码块所在图像区域的纹理信息丰富时,采用小尺寸的编码块进行编码可以得到较佳的RD性能,因此,实际编码过程中,可能需要对当前的编码块进行划分,以得到小尺寸的编码块。本申请中,待处理编码块可以根据相应编码标准中允许使用的编码块大小,向下划分为多个子编码块,具体的,待处理编码块可以向下划分为若干个第一级子编码块,各个第一级子编码块可以向下划分为若干个第二级子编码块,如此可以划分至相应编码标准允许使用的最小编码块。
参见2,提供了一种编码块划分的示意图,其中,待处理编码块为64x64的编码块,该编码块被划分为4个32x32的子编码块B1、B2、B3和B4,右上角和左下角的32x32的子编码块B2和B3向下一级被划分为4个16x16的子编码块。
常见的,可通过编码块的梯度信息表示编码块对应的图像区域的纹理特征,当编码块的梯度信息值高时,说明其对应的图像区域纹理复杂,而当编码块的梯度信息值低时,说明其对应的图像区域纹理简单。
S102:计算目标编码块的梯度信息Gcu
编码块的梯度信息具有可加性,即:大尺寸编码块的梯度信息可以通过构成该编码块的小尺寸编码块的梯度信息累加得到。
例如,假设一个32x32的待处理编码块被划分为4个16x16的子编码块,则该32x32的待处理编码块的梯度信息等于4个16x16的子编码块的梯度信息之和。
利用编码块的梯度信息具有可加性这一性质,一种具体实现方式中,计算目标编码块的梯度信息时,可以先确定构成目标编码块的各个最小编码单元,再根据所确定的各个最小编码单元的梯度信息,计算目标编码块的梯度信息。
其中,上述最小编码单元的宽度和高度可以是预先设定的,各种尺寸的编码块的宽度需为最小编码单元宽度的正整数倍,各种尺寸的编码块的高度需为最小编码单元高度的正整数倍。例如:应用HEVC视频编码标准编码时,可以设定最小编码单元为8x8的编码块,应用H.264视频编码标准编码时,可以设定最小编码单元为4x4的编码块等等。
上述所确定的各个最小编码单元的梯度信息可以是在开始编码目标编码块之前计算得到的,具体的,可以仅仅是在编码目标编码块对应的待处理编码块之前得到的,也可以是在编码包含该目标编码块的视频帧之前得到的。
这里的编码待处理编码块之前,可以理解为确定待处理编码块的编码模式之前;编码包含目标编码块的视频帧之前,可以理解为确定该视频帧中第一个待处理编码块的编码模式之前。
另外,由于目标编码块可能存在多种划分模式,且编码块的梯度信息具有可加性,因此,在目标编码块的各种划分模式下,各个子编码块的梯度信息均可以通过相应的最小编码单元的梯度信息累加获得,而无需再次计算梯度信息,能够节省计算量。
一种具体的计算最小编码单元的梯度信息的方法是:
其中,wu、hu表示最小编码单元的宽度和高度,p(i,j)表示最小编码单元中坐标为(i,j)的像素点的像素值。
S103:判断目标编码块的梯度信息Gcu是否小于第一阈值Th1,若小于Th1,执行S104,若不小于Th1,执行S105。
上述的第一阈值可以是根据目标编码块的宽度、高度和量化参数确定的。具体的,第一阈值可以是根据公式Th1=w*h*f1(qp)计算得到的动态阈值,其中,w表示目标编码块的宽度,h表示目标编码块的高度,qp为目标编码块的量化参数,f1(qp)=α1*qp+β1,α1>0。
当然,实际应用中函数f1(qp)并不仅限于上述的线性关系,还可以是指数、对数或幂次关系等等,本申请并不对此进行限定。
另外,上述的第一阈值还可以是预设的固定值。
S104:获得目标编码块的帧内编码模式,进而获得待处理编码块的帧内编码模式。
帧内编码模式中至少包括划分模式和帧内预测模式。
具体的,当目标编码块为待处理编码块时,待处理编码块的帧内编码模式与所获得的目标编码块的帧内编码模式相同;
当目标编码块为待处理编码块的某一级子编码模块时,待处理编码块的帧内编码模式至少包括经过多级划分后对应的划分模式和各级子编码块对应的帧内预测模式。
因为应用环境的不同,视频帧可有多种图像格式,因此,目标编码块还可能由不同的分量组成,进而上述的各级子编码块对应的帧内预测模式可以进一步包括各级子编码块的分量对应的帧内预测模式。
例如,视频帧的图像格式为YUV格式时,目标编码块由亮度Y分量、色度U和V分量组成,一般可以认为U、V两个色度分量的帧内预测模式是相同的,因此,各级子编码块对应的帧内预测模式包括:各级子编码块的亮度Y分量对应的帧内预测模式和各级子编码块的色度分量对应的帧内预测模式。
实际应用中为节省计算量,还可以根据目标编码块的亮度信息,通过上述步骤获得亮度Y分量对应的帧内预测模式,而直接认为色度分量对应的帧内预测模式与亮度Y分量对应的帧内预测模式相同,不再通过计算获得色度分量对应的帧内预测模式。
S105:在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,并分别将划分得到的子编码块设置为目标编码块,返回执行S102,以获得各个子编码块的帧内编码模式,进而获得待处理编码块的帧内编码模式。
具体的,在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,可以是在目标编码块满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第一预设数量个子编码块,其中,w、h表示目标编码块的宽度和高度,wu、hu表示最小编码单元的宽度和高度,最小编码单元的宽度和高度可以是预先设定的,视频帧中每一个编码块的宽度应为最小编码单元宽度的正整数倍,每一个编码块的高度应为最小编码单元高度的正整数倍。
本步骤中,将划分得到的一个子编码块设置为目标编码块后,返回S102并执行后续步骤,若再次执行至S103判断得该子编码块的梯度信息也不小于第一阈值时,需将该子编码块向下划分,得到下一级子编码块,如此循环。
针对划分得到的各个子编码块的处理方式均与上述描述的方式相同。
下面通过具体的实例说明:
实例一:假设图2中32x32的编码块B1为待处理编码块,将B1设置为目标编码块,计算得到目标编码块的梯度信息后,经判断该梯度信息小于Th1,则获得该目标编码块的帧内编码模式,即获得了待处理编码块的帧内编码模式。
实例二:假设图2中32x32的编码块B2为待处理编码块,将B2设置为目标编码块,计算得到目标编码块的梯度信息后,经判断该梯度信息不小于Th1,则将B2划分为四个16x16的子编码块B21、B22、B23和B24,分别将B21、B22、B23和B24设置为目标编码块后,获得的各个子编码块的帧内编码模式如下:
B21:划分模式为:16x16,帧内预测模式为:垂直预测模式;
B22:划分模式为:16x16,帧内预测模式为:水平预测模式;
B23:划分模式为:16x16,帧内预测模式为:垂直预测模式;
B24:划分模式为:16x16,帧内预测模式为:水平预测模式;
则根据上述所获得的信息获得待处理编码块的帧内编码模式如下:
划分模式:32x32的编码块被划分为4个16x16的子编码块;
帧内预测模式:4个16x16的子编码块的帧内预测模式分别为:垂直预测模式、水平预测模式、垂直预测模式和水平预测模式。
当然,实际应用中,待处理编码块的划分模式和帧内预测模式可以通过预先设定的标识码表示。
由以上可见,本实施例提供的方案中,在确定待处理编码块的帧内编码模式时,从待处理编码块开始,在判断得待处理编码块的梯度信息小于第一阈值时,才获得该待处理编码块的帧内编码模式,而在判断得该待处理编码块的梯度信息不小于第一阈值时,将该待处理编码块向下划分为若干个子编码块,分别在各个子编码块的梯度信息小于第一阈值的情况下获得各个子编码块的帧内编码模式,若各个子编码块的梯度信息也不小于第一阈值,则将子编码块再次向下划分,并进行上述的判断等操作,最后根据各个子编码块的帧内编码模式信息获得待处理编码块的帧内编码模式。与现有技术相比,本实施例提供的方案中,只有在待处理编码块或者子编码块的梯度信息满足一定条件的情况下,才获得相应的帧内编码模式,进而获得待处理编码块的帧内编码模式,而非获得待处理编码块的每一种划分模式下的子编码块的帧内编码模式,因此,可以节省帧内模式的决策的计算量,能够提高帧内模式决策的计算速度。
在本发明的一个具体实施例中,参见图3,提供了帧内编码模式决策方法的第二种流程示意图,与前述实施例相比,本实施例中,
获得目标编码块的帧内编码模式,进而获得待处理编码块的帧内编码模式(S104),包括:
S1041:根据目标编码块的图像信息和与目标编码块相邻的已编码的编码块的图像信息,从预设的Numd个帧内预测模式中确定Nums个帧内预测模式,作为目标编码块的待选择帧内预测模式。
由于视频图像内各个相邻编码块之间具有连续性,且帧内编码模式主要是利用空间相关性进行编码的,因此,目标编码块和与目标编码块相邻的已编码的编码块之间图像相似度、帧内预测模式的相似度均较高。
视频编码标准中允许使用的帧内预测模式一般较多,这时可以利用上述的相似性信息,先确定出若干个帧内预测模式,作为待选择帧内预测模式进行模式决策,以减小获得目标编码块的帧内编码模式的计算量。
本发明的一种优选实施方式中,参见图4,提供了一种获得待选择帧内预测模式的方法的流程示意图,该方法包括:
S1041A:根据与目标编码块相邻的已编码的编码块的帧内预测模式,预测目标编码块的预估帧内预测模式。
视频编码标准中,一般会详细规定如何根据与当前编码块相邻的已编码的编码块的帧内预测模式,预测当前编码块的预估帧内预测模式,这里不再详述。
S1041B:根据与目标编码块相邻的已编码的编码块的图像信息,分别在预设的Numd个帧内预测模式下,获得目标编码块对应的预测数据。
各个视频编码标准中规定允许使用的帧内预测模式的同时,也会详细给出在每种帧内预测模式下,计算预设数据的方法。
例如:假设目标编码块为8x8的编码块,在垂直预测模式下,获得目标编码块对应的预测数据的方法如下:
预测数据中第一行的各个像素点的像素值分别等于:
P(i,j)=P(i,j-1);P(i+1,j)=P(i+1,j-1);
P(i+2,j)=P(i+2,j-1);P(i+3,j)=P(i+3,j-1);
P(i+4,j)=P(i+4,j-1);P(i+5,j)=P(i+5,j-1);
P(i+6,j)=P(i+6,j-1);P(i+7,j)=P(i+7,j-1);
其中,P(i,j-1)……P(i+8,j-1)为与目标编码块相邻的正上方已编码的编码块的最后一行中各个像素点的像素值。
预测数据中第二行至第八行中各个像素点的像素值与第一行中各个像素点的像素值相同。
S1041C:按照在各个帧内预测模式下,所获得的目标编码块对应的预测数据与目标编码块的相似度由高到低的顺序,从预设的Numd个帧内预测模式中确定Num's个帧内预测模式。
实际应用中可以通过所获得的目标编码块对应的预测数据与目标编码块之间的SATD(Sum of Absolute Transformed Difference)值表示两者之间的相似度,当然,并不仅限于通过SATD值表示两者之间的相似度,例如,还可以通过SAD值等表示上述两者之间的相似度。
上述的Num's可以是预设的固定值,当然也可以是根据Gcu的大小,从若干预设的备选值中选取的值。
根据Gcu的大小,从若干预设的备选值中选取值,具体为:
根据预先对数值区间的划分结果,确定Gcu所处的子区间,
根据预设的子区间与备选值的对应关系及所确定的子区间,从预设的备选值中确定选取结果。
一个具体实例中可以按照如下表达式划分数值区间,并确定选择结果:
在Gcu<划分阈值/4的情况下,Num's=1;
在划分阈值/4≤Gcu<划分阈值/2的情况下,Num's=2;
在划分阈值/2≤Gcu<划分阈值的情况下,Num's=3;
在Gcu≥划分阈值的情况下,Num's=3。
另外,与前述的第一阈值类似,上述的划分阈值也可以是根据目标编码块的宽度、高度和量化参数确定的数值,具体的,划分阈值可以是根据公式划分阈值=w*h*f(qp)计算得到的动态阈值,其中,f(qp)=α*qp+β,α>0,w表示目标编码块的宽度,h表示目标编码块的高度,qp为目标编码块的量化参数,与前述的f1(qp)类似,实际应用中函数f(qp)并不仅限于上述的线性关系,还可以是指数、对数或幂次关系等等,本申请并不对此进行限定。
上述的划分阈值还可以是预设的固定值。
需要说明的是,上述的划分阈值和第一阈值不相等。
S1041D:将预估帧内预测模式和所确定的Num's个帧内预测模式的合集,确定为目标编码块的待选择帧内预测模式,Nums=合集中包含的帧内预测模式的数量。
假设,预估帧内预测模式包括:垂直预测模式和水平预测模式,所确定的Num's=1个帧内预测模式为:垂直预测模式,则确定目标编码块的待选择帧内预测模式为:垂直预测模式和水平预测模式,Nums=2。
S1042:分别在所确定的Nums个待选择帧内预测模式下,计算目标编码块对应的率失真代价。
S1043:根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式,进而获得待处理编码块的帧内编码模式。
实际应用中,一般认为在RDCostmin对应的待选择帧内预测模式下进行编码时,失真最小,因此,该帧内预测模式为最优帧内预测模式。
在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,并分别将划分得到的子编码块设置为目标编码块,返回执行S102,以获得各个子编码块的帧内编码模式,进而获得待处理编码块的帧内编码模式(S105),包括:
S1051:判断目标编码块是否满足预设条件,若满足,执行S1052,否则,执行S1053。
其中,判断目标编码块是否满足预设条件可以是:判断目标编码块是否满足关系式:w>wu且h>hu,其中,w、h表示目标编码块的宽度和高度,wu、hu表示最小编码单元的宽度和高度。
当然,判断目标编码块是否满足预设条件并不仅限于上述方式,实际应用中,可以根据具体情况确定。
S1052:将目标编码块划分为第一预设数量个子编码块,并分别将划分得到的子编码块设置为目标编码块,返回S102以获得各个子编码块的帧内编码模式,进而获得待处理编码块的帧内编码模式。
S1053:直接获得目标编码块的帧内编码模式,进而获得待处理编码块的帧内编码模式。
本步骤中,可以通过遍历预设的Numd个帧内预测模式的方式,获得最佳的帧内预测模式,进而获得目标编码块的帧内编码模式;
也可以先通过SATD、SAD等快速算法从预设的Numd个帧内预测模式中初步筛选出若干个帧内预测模式,再在所选择的帧内预测模式中确定出最佳的帧内预测模式的方式,获得目标编码块的帧内编码模式。
本申请只是以上述为例进行说明,实际应用中,直接获得目标编码块的帧内编码模式的方法并不仅限于上述几种。
由以上可见,本实施例提供的方案中,从预设的Numd个帧内预测模式中确定Nums个待选择帧内预测模式,并在此基础上进行帧内编码模式决策,而非在所有的预设帧内预测模式上进行帧内编码模式决策,因此,可以进一步节省帧内编码模式决策的计算量,提高帧内编码模式决策速度。
在本发明的另一个具体实施例中,参见图5,提供了帧内编码模式决策方法的第三种流程示意图,与图3所示实施例相比,本实施例中,根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式,进而获得待处理编码块的帧内预测模式(S1043),包括:
S1043A:判断所获得的率失真代价的最小值RDCostmin是否小于第二阈值Th2,若小于Th2,执行S1043B,否则,执行S1043C。
与前述的第一阈值类似,上述的第二阈值也可以是根据目标编码块的宽度、高度和量化参数确定的,具体的,第二阈值可以是根据公式Th2=w*h*f2(qp)计算得到的动态阈值,其中,f2(qp)=α2*qp+β2,α2>0,w表示目标编码块的宽度,h表示目标编码块的高度,qp为目标编码块的量化参数,与前述的f1(qp)类似,实际应用中函数f2(qp)并不仅限于上述的线性关系,还可以是指数、对数或幂次关系等等,本申请并不对此进行限定。
另外,上述的第二阈值还可以是预设的固定值。
需要说明的是,本申请中第一阈值和第二阈值不相等,例如,可通过调整α1、α2、β1和β2的取值得到不同的值。
另外,本申请中采用前述的实例确定划分数值区间及选择结果时,第一阈值、第二阈值与划分阈值也不相同。
S1043B:获得目标编码块的帧内编码模式。
本步骤中,帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,块划分模式为目标编码块的划分模式。
S1043C:将目标编码块划分为第二预设数量个变换块,分别计算各个变换块对应的率失真代价,并根据计算结果获得目标编码块的帧内编码模式,进而获得待处理编码块的帧内编码模式。
具体的,根据计算结果获得目标编码块的帧内编码模式,可以是获得各个变换块的率失真代价之和RDCostadd后,
在RDCostmin<RDCostadd且RDCost<c*Th2的情况下,获得目标编码块的帧内编码模式,其中,帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块未划分变换块情况下对应的划分模式,RDCost为RDCostmin和RDCostadd中的最小值;
在RDCostmin>RDCostadd且RDCost<Th2的情况下,获得目标编码块的帧内编码模式,其中,帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块划分变换块后对应的划分模式
其他情况下,在满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第三预设数量个子编码块,分别获得各个子编码块的帧内预测模式和各个子编码块的划分模式,并根据所获得的信息获得目标编码块的帧内编码模式。
上述的分别获得各个子编码块的帧内预测模式可以采用本实施例提供的方法进行,当然也可以采用其它方法进行,本申请并不对此进行限定。
由以上可见,本实施例提供的方案中,在获得率失真代价最小的帧内预测模式后,进一步从将目标编码块划分为更小的变换块,以检测是否能够得到更佳的编码效果,因此,应用本实施例提供的方案可以在一定程度上提高编码性能。
与上述的帧内编码模式决策方法相对应,本发明实施例还提供了一种帧内编码模式决策装置。
图6为本发明实施例提供的帧内编码模式决策装置的第一种结构示意图,该装置包括:目标编码块设置模块601、梯度信息计算模块602、梯度信息判断模块603、帧内编码模式获得模块604和编码块划分模块605。
其中,所述目标编码块设置模块601,用于设置待处理编码块为目标编码块;
所述梯度信息计算模块602,用于计算目标编码块的梯度信息Gcu
所述梯度信息判断模块603,用于判断目标编码块的梯度信息Gcu是否小于第一阈值Th1,若小于Th1,触发所述帧内编码模式获得模块604获得帧内编码模式,若不小于Th1,触发所述编码块划分模块划分编码块605;
所述帧内编码模式获得模块604,用于获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式;
所述编码块划分模块605,用于在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,并触发所述目标编码块设置模块601设置目标编码块;
所述目标编码块设置模块601,还用于分别将划分得到的子编码块设置为目标编码块,并触发所述梯度信息计算模块602计算各个子编码块的梯度信息,以获得各个子编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
具体的,所述梯度信息计算模块602可以包括:最小编码单元确定子模块和梯度信息确定子模块(图中未示出)。
其中,最小编码单元确定子模块,用于确定构成目标编码块的各个最小编码单元,其中,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍;
梯度信息确定子模块,用于根据所确定的各个最小编码单元的梯度信息,计算目标编码块的梯度信息,其中,所确定的各个最小编码单元的梯度信息是在开始编码所述目标编码块之前计算得到的。
具体的,所述编码块划分模块605,具体用于在目标编码块满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第一预设数量个子编码块,其中,w、h表示目标编码块的宽度和高度,wu、hu表示最小编码单元的宽度和高度,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍。
由以上可见,本实施例提供的方案中,在确定待处理编码块的帧内编码模式时,从待处理编码块开始,在判断得待处理编码块的梯度信息小于第一阈值时,才获得该待处理编码块的帧内编码模式,而在判断得该待处理编码块的梯度信息不小于第一阈值时,将该待处理编码块向下划分为若干个子编码块,分别在各个子编码块的梯度信息小于第一阈值的情况下获得各个子编码块的帧内编码模式,若各个子编码块的梯度信息也不小于第一阈值,则将子编码块再次向下划分,并进行上述的判断等操作,最后根据各个子编码块的帧内编码模式信息获得待处理编码块的帧内编码模式。与现有技术相比,本实施例提供的方案中,只有在待处理编码块或者子编码块的梯度信息满足一定条件的情况下,才获得相应的帧内编码模式,进而获得待处理编码块的帧内编码模式,而非获得待处理编码块的每一种划分模式下的子编码块的帧内编码模式,因此,可以节省帧内模式的决策的计算量,能够提高帧内模式决策的计算速度。
在本发明的一个具体实施例中,参见图7,提供了帧内编码模式决策装置的第二种结构示意图,与前述实施例相比,本实施例中,所述帧内编码模式获得模块604,包括:帧内预测模式获得子模块6041、率失真代价计算子模块6042和帧内编码模式获得子模块6043。
其中,帧内预测模式获得子模块6041,用于根据目标编码块的图像信息和与目标编码块相邻的已编码的编码块的图像信息,从预设的Numd个帧内预测模式中确定Nums个帧内预测模式,作为目标编码块的待选择帧内预测模式;
率失真代价计算子模块6042,用于分别在所确定的Nums个待选择帧内预测模式下,计算目标编码块对应的率失真代价;
帧内编码模式获得子模块6043,用于根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
本发明的一种优选实施方式中,参见图8,提供了获得待选择帧内预测模式的装置的结构示意图,上述的帧内预测模式获得子模块6041,包括:帧内预测模式预测单元60411、预测数据获得单元60412、第一帧内预测模式确定单元60413和第二帧内预测模式确定单元60414。
其中,帧内预测模式预测单元60411,用于根据与目标编码块相邻的已编码的编码块的帧内预测模式,预测目标编码块的预估帧内预测模式;
预测数据获得单元60412,用于根据与目标编码块相邻的已编码的编码块的图像信息,分别在预设的Numd个帧内预测模式下,获得目标编码块对应的预测数据;
第一帧内预测模式确定单元60413,用于按照在各个帧内预测模式下,所获得的目标编码块对应的预测数据与目标编码块的相似度由高到低的顺序,从预设的Numd个帧内预测模式中确定Num's个帧内预测模式;
第二帧内预测模式确定单元60414,用于将所述预估帧内预测模式和所确定的Num's个帧内预测模式的合集,确定为目标编码块的待选择帧内预测模式,Nums=所述合集中包含的帧内预测模式的数量。
具体的,Num's为:
预设的固定值;或
根据Gcu的大小,从若干预设的备选值中选取的值;
在所述Num's为:根据Gcu的大小,从若干预设的备选值中选取的值的情况下,上述的帧内预测模式获得子模块6041还包括:子区间确定单元和选取结果确定单元(图中未示出)。
其中,子区间确定单元,用于根据预先对数值区间的划分结果,确定Gcu所处的子区间;
选取结果确定单元,用于根据预设的子区间与备选值的对应关系及所确定的子区间,从预设的备选值中确定选取结果。。
由以上可见,本实施例提供的方案中,从预设的Numd个帧内预测模式中确定Nums个待选择帧内预测模式,并在此基础上进行帧内编码模式决策,而非在所有的预设帧内预测模式上进行帧内编码模式决策,因此,可以进一步节省帧内编码模式决策的计算量,提高帧内编码模式决策速度。
在本发明的另一个具体实施例中,参见图9,提供了帧内编码模式决策装置的第三种结构示意图,与图7所示实施例相比,本实施例中,帧内编码模式获得子模块6043,包括:率失真代价判断单元60431、第一帧内编码模式获得单元60432和第二帧内编码模式获得单元60433。
其中,率失真代价判断单元60431,用于判断所获得的率失真代价的最小值RDCostmin是否小于第二阈值Th2
第一帧内编码模式获得单元60432,用于在所述率失真代价判断单元的判断结果为是的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,块划分模式为目标编码块的划分模式;
第二帧内编码模式获得单元60433,用于在所述率失真代价判断单元的判断结果为否的情况下,将目标编码块划分为第二预设数量个变换块,分别计算各个变换块对应的率失真代价,并根据计算结果获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
具体的,所述第一帧内编码模式获得单元60432,包括:率失真代价和获得子单元、第一帧内编码模式获得子单元、第二帧内编码模式获得子单元和第三帧内编码模式获得子单元(图中未示出)。
其中,率失真代价和获得子单元,用于获得各个变换块的率失真代价之和RDCostadd
第一帧内编码模式获得子单元,用于在RDCostmin<RDCostadd且RDCost<c*Th2的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块未划分变换块情况下对应的划分模式,RDCost为RDCostmin和RDCostadd中的最小值,c>1;
第二帧内编码模式获得子单元,用于在RDCostmin≥RDCostadd且RDCost<Th2的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块划分变换块后对应的划分模式
第三帧内编码模式获得子单元,用于在其他情况下,满足关系式:w>wu且h>hu时,将目标编码块划分为第三预设数量个子编码块,分别获得各个子编码块的帧内预测模式和各个子编码块的划分模式,并根据所获得的信息获得所述目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
具体的,所述第一阈值和第二阈值为根据目标编码块的宽度、高度和量化参数确定的数值,其中,所述第一阈值和第二阈值不相等。
由以上可见,本实施例提供的方案中,在获得率失真代价最小的帧内预测模式后,进一步从将目标编码块划分为更小的变换块,以检测是否能够得到更佳的编码效果,因此,应用本实施例提供的方案可以在一定程度上提高编码性能。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (18)

1.一种帧内编码模式决策方法,其特征在于,所述方法包括:
设置待处理编码块为目标编码块;
计算目标编码块的梯度信息Gcu
判断目标编码块的梯度信息Gcu是否小于第一阈值Th1
若小于Th1,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式;
若不小于Th1,在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,并分别将划分得到的子编码块设置为目标编码块,返回执行所述计算目标编码块的梯度信息Gcu的步骤,以获得各个子编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
2.根据权利要求1所述的方法,其特征在于,所述计算目标编码块的梯度信息,包括:
确定构成目标编码块的各个最小编码单元,其中,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍;
根据所确定的各个最小编码单元的梯度信息,计算目标编码块的梯度信息,其中,所确定的各个最小编码单元的梯度信息是在开始编码目标编码块之前计算得到的。
3.根据权利要求1所述的方法,其特征在于,所述获得目标编码块的帧内编码模式,包括:
根据目标编码块的图像信息和与目标编码块相邻的已编码的编码块的图像信息,从预设的Numd个帧内预测模式中确定Nums个帧内预测模式,作为目标编码块的待选择帧内预测模式;
分别在所确定的Nums个待选择帧内预测模式下,计算目标编码块对应的率失真代价;
根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式。
4.根据权利要求3所述的方法,其特征在于,所述根据目标编码块的图像信息和与目标编码块相邻的已编码的编码块的图像信息,从预设的Numd个帧内预测模式中确定Nums个帧内预测模式,作为目标编码块的待选择帧内预测模式,包括:
根据与目标编码块相邻的已编码的编码块的帧内预测模式,预测目标编码块的预估帧内预测模式;
根据与目标编码块相邻的已编码的编码块的图像信息,分别在预设的Numd个帧内预测模式下,获得目标编码块对应的预测数据;
按照在各个帧内预测模式下,所获得的目标编码块对应的预测数据与目标编码块的相似度由高到低的顺序,从预设的Numd个帧内预测模式中确定Num's个帧内预测模式;
将所述预估帧内预测模式和所确定的Num's个帧内预测模式的合集,确定为目标编码块的待选择帧内预测模式,Nums=所述合集中包含的帧内预测模式的数量。
5.根据权利要求4所述的方法,其特征在于,所述Num's为:
预设的固定值;或
根据Gcu的大小,从若干预设的备选值中选取的值;
其中,所述根据Gcu的大小,从若干预设的备选值中选取值,具体为:
根据预先对数值区间的划分结果,确定Gcu所处的子区间,
根据预设的子区间与备选值的对应关系及所确定的子区间,从预设的备选值中确定选取结果。
6.根据权利要求3-5中任一项所述的方法,其特征在于,所述根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式,包括:
判断所获得的率失真代价的最小值RDCostmin是否小于第二阈值Th2
若小于Th2,获得目标编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,块划分模式为目标编码块的划分模式;
否则,将目标编码块划分为第二预设数量个变换块,分别计算各个变换块对应的率失真代价,并根据计算结果获得目标编码块的帧内编码模式。
7.根据权利要求6所述的方法,其特征在于,所述根据计算结果获得目标编码块的帧内编码模式,包括:
获得各个变换块的率失真代价之和RDCostadd
在RDCostmin<RDCostadd且RDCost<c*Th2的情况下,获得目标编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块未划分变换块情况下对应的划分模式,RDCost为RDCostmin和RDCostadd中的最小值,c>1;
在RDCostmin≥RDCostadd且RDCost<Th2的情况下,获得目标编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块划分变换块后对应的划分模式;
其他情况下,在满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第三预设数量个子编码块,分别获得各个子编码块的帧内预测模式和各个子编码块的划分模式,并根据所获得的信息获得目标编码块的帧内编码模式。
8.根据权利要求6所述的方法,其特征在于,
所述第一阈值和第二阈值为根据目标编码块的宽度、高度和量化参数确定的数值,其中,所述第一阈值和第二阈值不相等。
9.根据权利要求1所述的方法,其特征在于,所述在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,包括:
在目标编码块满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第一预设数量个子编码块,其中,w、h表示目标编码块的宽度和高度,wu、hu表示最小编码单元的宽度和高度,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍。
10.一种帧内编码模式决策装置,其特征在于,所述装置包括:目标编码块设置模块、梯度信息计算模块、梯度信息判断模块、帧内编码模式获得模块和编码块划分模块;
其中,所述目标编码块设置模块,用于设置待处理编码块为目标编码块;
所述梯度信息计算模块,用于计算目标编码块的梯度信息Gcu
所述梯度信息判断模块,用于判断目标编码块的梯度信息Gcu是否小于第一阈值Th1,若小于Th1,触发所述帧内编码模式获得模块获得帧内编码模式,若不小于Th1,触发所述编码块划分模块划分编码块;
所述帧内编码模式获得模块,用于获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式;
所述编码块划分模块,用于在目标编码块满足预设条件的情况下,将目标编码块划分为第一预设数量个子编码块,并触发所述目标编码块设置模块设置目标编码块;
所述目标编码块设置模块,还用于分别将划分得到的子编码块设置为目标编码块,并触发所述梯度信息计算模块计算各个子编码块的梯度信息,以获得各个子编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
11.根据权利要求10所述的装置,其特征在于,所述梯度信息计算模块,包括:
最小编码单元确定子模块,用于确定构成目标编码块的各个最小编码单元,其中,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍;
梯度信息确定子模块,用于根据所确定的各个最小编码单元的梯度信息,计算目标编码块的梯度信息,其中,所确定的各个最小编码单元的梯度信息是在开始编码目标编码块之前计算得到的。
12.根据权利要求10所述的装置,其特征在于,所述帧内编码模式获得模块,包括:
帧内预测模式获得子模块,用于根据目标编码块的图像信息和与目标编码块相邻的已编码的编码块的图像信息,从预设的Numd个帧内预测模式中确定Nums个帧内预测模式,作为目标编码块的待选择帧内预测模式;
率失真代价计算子模块,用于分别在所确定的Nums个待选择帧内预测模式下,计算目标编码块对应的率失真代价;
帧内编码模式获得子模块,用于根据所获得的率失真代价的最小值RDCostmin对应的待选择帧内预测模式和目标编码块的划分模式,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
13.根据权利要求12所述的装置,其特征在于,所述帧内预测模式获得子模块,包括:
帧内预测模式预测单元,用于根据与目标编码块相邻的已编码的编码块的帧内预测模式,预测目标编码块的预估帧内预测模式;
预测数据获得单元,用于根据与目标编码块相邻的已编码的编码块的图像信息,分别在预设的Numd个帧内预测模式下,获得目标编码块对应的预测数据;
第一帧内预测模式确定单元,用于按照在各个帧内预测模式下,所获得的目标编码块对应的预测数据与目标编码块的相似度由高到低的顺序,从预设的Numd个帧内预测模式中确定Num's个帧内预测模式;
第二帧内预测模式确定单元,用于将所述预估帧内预测模式和所确定的Num's个帧内预测模式的合集,确定为目标编码块的待选择帧内预测模式,Nums=所述合集中包含的帧内预测模式的数量。
14.根据权利要求13所述的装置,其特征在于,所述Num's为:
预设的固定值;或
根据Gcu的大小,从若干预设的备选值中选取的值;
在所述Num's为:根据Gcu的大小,从若干预设的备选值中选取的值的情况下,所述帧内预测模式获得子模块还包括:
子区间确定单元,用于根据预先对数值区间的划分结果,确定Gcu所处的子区间;
选取结果确定单元,用于根据预设的子区间与备选值的对应关系及所确定的子区间,从预设的备选值中确定选取结果。
15.根据权利要求12-14中任一项所述的装置,其特征在于,所述帧内编码模式获得子模块,包括:
率失真代价判断单元,用于判断所获得的率失真代价的最小值RDCostmin是否小于第二阈值Th2
第一帧内编码模式获得单元,用于在所述率失真代价判断单元的判断结果为是的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,块划分模式为目标编码块的划分模式;
第二帧内编码模式获得单元,用于在所述率失真代价判断单元的判断结果为否的情况下,将目标编码块划分为第二预设数量个变换块,分别计算各个变换块对应的率失真代价,并根据计算结果获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
16.根据权利要求15所述的装置,其特征在于,所述第一帧内编码模式获得单元,包括:
率失真代价和获得子单元,用于获得各个变换块的率失真代价之和RDCostadd
第一帧内编码模式获得子单元,用于在RDCostmin<RDCostadd且RDCost<c*Th2的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块未划分变换块情况下对应的划分模式,RDCost为RDCostmin和RDCostadd中的最小值,c>1;
第二帧内编码模式获得子单元,用于在RDCostmin≥RDCostadd且RDCost<Th2的情况下,获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式,其中,所述帧内编码模式中目标编码块的预测模式为RDCostmin对应的帧内预测模式,划分模式为目标编码块划分变换块后对应的划分模式;
第三帧内编码模式获得子单元,用于在其他情况下,满足关系式:w>wu且h>hu时,将目标编码块划分为第三预设数量个子编码块,分别获得各个子编码块的帧内预测模式和各个子编码块的划分模式,并根据所获得的信息获得目标编码块的帧内编码模式,进而获得所述待处理编码块的帧内编码模式。
17.根据权利要求15所述的装置,其特征在于,
所述第一阈值和第二阈值为根据目标编码块的宽度、高度和量化参数确定的数值,其中,所述第一阈值和第二阈值不相等。
18.根据权利要求10所述的装置,其特征在于,所述编码块划分模块,具体用于在目标编码块满足关系式:w>wu且h>hu的情况下,将目标编码块划分为第一预设数量个子编码块,其中,w、h表示目标编码块的宽度和高度,wu、hu表示最小编码单元的宽度和高度,所述最小编码单元的宽度和高度为预先设定的,编码块的宽度为最小编码单元宽度的正整数倍,编码块的高度为最小编码单元高度的正整数倍。
CN201410706167.XA 2014-11-27 2014-11-27 一种帧内编码模式决策方法及装置 Active CN104363450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410706167.XA CN104363450B (zh) 2014-11-27 2014-11-27 一种帧内编码模式决策方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410706167.XA CN104363450B (zh) 2014-11-27 2014-11-27 一种帧内编码模式决策方法及装置

Publications (2)

Publication Number Publication Date
CN104363450A true CN104363450A (zh) 2015-02-18
CN104363450B CN104363450B (zh) 2017-10-27

Family

ID=52530672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410706167.XA Active CN104363450B (zh) 2014-11-27 2014-11-27 一种帧内编码模式决策方法及装置

Country Status (1)

Country Link
CN (1) CN104363450B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105391999A (zh) * 2015-10-30 2016-03-09 北京奇艺世纪科技有限公司 一种编码模式判断方法和装置
CN105721865A (zh) * 2016-02-01 2016-06-29 同济大学 一种hevc帧间编码单元划分的快速决策算法
CN107241600A (zh) * 2017-04-20 2017-10-10 中国科学技术大学 一种静态背景帧内编码方法和装置
CN108259918A (zh) * 2016-12-29 2018-07-06 北京金山云网络技术有限公司 一种编码单元模式决策方法及装置
WO2019114225A1 (zh) * 2017-12-14 2019-06-20 腾讯科技(深圳)有限公司 编码单元划分确定方法及装置、计算设备及可读存储介质
WO2020119742A1 (zh) * 2018-12-15 2020-06-18 华为技术有限公司 块划分方法、视频编解码方法、视频编解码器
CN111327894A (zh) * 2018-12-15 2020-06-23 华为技术有限公司 块划分方法、视频编解码方法、视频编解码器
CN111741299A (zh) * 2020-07-09 2020-10-02 腾讯科技(深圳)有限公司 帧内预测模式的选择方法、装置、设备及存储介质
CN111950587A (zh) * 2020-07-02 2020-11-17 北京大学深圳研究生院 帧内编码块划分处理方法和硬件装置
CN112312133A (zh) * 2020-10-30 2021-02-02 北京奇艺世纪科技有限公司 一种视频编码方法、装置、电子设备及可读存储介质
WO2021077914A1 (zh) * 2019-10-22 2021-04-29 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
CN112866711A (zh) * 2021-01-07 2021-05-28 北京博雅慧视智能技术研究院有限公司 一种视频编码中模式决策电路
WO2021185022A1 (zh) * 2020-03-18 2021-09-23 百果园技术(新加坡)有限公司 编码模式的确定方法、装置、设备和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150722A (zh) * 2007-11-13 2008-03-26 同济大学 视频编码中快速的模式确定方法和装置
US20090190659A1 (en) * 2008-01-25 2009-07-30 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
CN102186081A (zh) * 2011-05-11 2011-09-14 北京航空航天大学 一种基于梯度向量的h.264帧内模式选择方法
WO2012119569A1 (zh) * 2011-03-10 2012-09-13 华为技术有限公司 预测模式的编解码方法、编解码设备及网络系统
CN103281541A (zh) * 2013-05-10 2013-09-04 北方工业大学 基于深度图像的帧内预测楔形分块方法
CN103517069A (zh) * 2013-09-25 2014-01-15 北京航空航天大学 一种基于纹理分析的hevc帧内预测快速模式选择方法
CN103596004A (zh) * 2013-11-19 2014-02-19 北京邮电大学 Hevc中基于数学统计和分类训练的帧内预测方法及装置
CN103686166A (zh) * 2013-11-18 2014-03-26 深圳市云宙多媒体技术有限公司 一种基于相关性分析的预测模式快速选择方法及系统
CN103873861A (zh) * 2014-02-24 2014-06-18 西南交通大学 一种用于hevc的编码模式选择方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150722A (zh) * 2007-11-13 2008-03-26 同济大学 视频编码中快速的模式确定方法和装置
US20090190659A1 (en) * 2008-01-25 2009-07-30 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
WO2012119569A1 (zh) * 2011-03-10 2012-09-13 华为技术有限公司 预测模式的编解码方法、编解码设备及网络系统
CN102186081A (zh) * 2011-05-11 2011-09-14 北京航空航天大学 一种基于梯度向量的h.264帧内模式选择方法
CN103281541A (zh) * 2013-05-10 2013-09-04 北方工业大学 基于深度图像的帧内预测楔形分块方法
CN103517069A (zh) * 2013-09-25 2014-01-15 北京航空航天大学 一种基于纹理分析的hevc帧内预测快速模式选择方法
CN103686166A (zh) * 2013-11-18 2014-03-26 深圳市云宙多媒体技术有限公司 一种基于相关性分析的预测模式快速选择方法及系统
CN103596004A (zh) * 2013-11-19 2014-02-19 北京邮电大学 Hevc中基于数学统计和分类训练的帧内预测方法及装置
CN103873861A (zh) * 2014-02-24 2014-06-18 西南交通大学 一种用于hevc的编码模式选择方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105391999A (zh) * 2015-10-30 2016-03-09 北京奇艺世纪科技有限公司 一种编码模式判断方法和装置
CN105391999B (zh) * 2015-10-30 2018-08-17 北京奇艺世纪科技有限公司 一种编码模式判断方法和装置
CN105721865A (zh) * 2016-02-01 2016-06-29 同济大学 一种hevc帧间编码单元划分的快速决策算法
CN108259918A (zh) * 2016-12-29 2018-07-06 北京金山云网络技术有限公司 一种编码单元模式决策方法及装置
CN107241600A (zh) * 2017-04-20 2017-10-10 中国科学技术大学 一种静态背景帧内编码方法和装置
EP3726837A4 (en) * 2017-12-14 2020-10-28 Tencent Technology (Shenzhen) Company Limited PROCESS AND DEVICE FOR DETERMINING THE DIVISION OF A CODING UNIT, COMPUTER DEVICE AND READABLE STORAGE MEDIA
WO2019114225A1 (zh) * 2017-12-14 2019-06-20 腾讯科技(深圳)有限公司 编码单元划分确定方法及装置、计算设备及可读存储介质
KR20200005653A (ko) * 2017-12-14 2020-01-15 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 코딩 유닛 분할 결정 방법 및 디바이스, 컴퓨팅 디바이스 및 판독 가능한 저장 매체
CN109963151A (zh) * 2017-12-14 2019-07-02 腾讯科技(深圳)有限公司 编码单元划分确定方法及装置、终端设备及可读存储介质
US11190766B2 (en) * 2017-12-14 2021-11-30 Tencent Technology (Shenzhen) Company Limited Method and apparatus for determining division of coding unit, computing device, and readable storage medium
KR102327942B1 (ko) * 2017-12-14 2021-11-17 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 코딩 유닛 분할 결정 방법 및 디바이스, 컴퓨팅 디바이스 및 판독 가능한 저장 매체
CN109963151B (zh) * 2017-12-14 2020-10-20 腾讯科技(深圳)有限公司 编码单元划分确定方法及装置、终端设备及可读存储介质
CN111327894B (zh) * 2018-12-15 2022-05-17 华为技术有限公司 块划分方法、视频编解码方法、视频编解码器
CN111327894A (zh) * 2018-12-15 2020-06-23 华为技术有限公司 块划分方法、视频编解码方法、视频编解码器
WO2020119742A1 (zh) * 2018-12-15 2020-06-18 华为技术有限公司 块划分方法、视频编解码方法、视频编解码器
WO2021077914A1 (zh) * 2019-10-22 2021-04-29 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
US11949879B2 (en) 2019-10-22 2024-04-02 Tencent Technology (Shenzhen) Company Limited Video coding method and apparatus, computer device, and storage medium
WO2021185022A1 (zh) * 2020-03-18 2021-09-23 百果园技术(新加坡)有限公司 编码模式的确定方法、装置、设备和存储介质
CN111950587A (zh) * 2020-07-02 2020-11-17 北京大学深圳研究生院 帧内编码块划分处理方法和硬件装置
CN111950587B (zh) * 2020-07-02 2024-04-16 北京大学深圳研究生院 帧内编码块划分处理方法和硬件装置
CN111741299A (zh) * 2020-07-09 2020-10-02 腾讯科技(深圳)有限公司 帧内预测模式的选择方法、装置、设备及存储介质
CN111741299B (zh) * 2020-07-09 2022-03-25 腾讯科技(深圳)有限公司 帧内预测模式的选择方法、装置、设备及存储介质
CN112312133B (zh) * 2020-10-30 2022-10-04 北京奇艺世纪科技有限公司 一种视频编码方法、装置、电子设备及可读存储介质
CN112312133A (zh) * 2020-10-30 2021-02-02 北京奇艺世纪科技有限公司 一种视频编码方法、装置、电子设备及可读存储介质
CN112866711B (zh) * 2021-01-07 2022-10-21 北京博雅慧视智能技术研究院有限公司 一种视频编码中模式决策电路
CN112866711A (zh) * 2021-01-07 2021-05-28 北京博雅慧视智能技术研究院有限公司 一种视频编码中模式决策电路

Also Published As

Publication number Publication date
CN104363450B (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
CN104363450A (zh) 一种帧内编码模式决策方法及装置
CN103517069B (zh) 一种基于纹理分析的hevc帧内预测快速模式选择方法
CN112087629B (zh) 图像预测方法、装置及计算机可读存储介质
CN109379594B (zh) 视频编码压缩方法、装置、设备和介质
US20160044329A1 (en) Image Predictive Coding Method and Image Encoder
EP3282701B1 (en) Prediction mode selection method, apparatus and device
CN110381311B (zh) 视频帧的编码方法、装置、计算机可读介质及电子设备
CN103891278A (zh) 图像编码以及解码方法、装置、程序
JP2011510591A (ja) 時空間的複雑度を用いた符号化モード決定方法及び装置
US20150264383A1 (en) Block Copy Modes for Image and Video Coding
JP5578743B2 (ja) コーディング構造
WO2010126437A1 (en) Distortion weighing
CN101584215A (zh) 综合空时预测
JP5613319B2 (ja) 映像符号化装置、映像符号化方法および映像符号化プログラム
US10154261B2 (en) Encoder and method for video processing
CN108769828A (zh) 图片水印添加方法、电子装置及计算机可读存储介质
CN109495742B (zh) 一种视频帧编码方法、装置及设备
US11997275B2 (en) Benefit-based bitrate distribution for video encoding
WO2021031225A1 (zh) 一种运动矢量导出方法、装置及电子设备
KR101073938B1 (ko) 색차공간 예측을 이용한 영상부호화방법
CN109640087A (zh) 一种帧内预测模式判决方法、装置及设备
CN109951707B (zh) 一种目标运动矢量选择方法、装置、电子设备及介质
JP2005348008A (ja) 動画像符号化方法、動画像符号化装置、動画像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
CN104702954A (zh) 视频编码方法及装置
JP2011199868A (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
GR01 Patent grant
GR01 Patent grant