CN105812824A - 一种视频图像编码方法及装置 - Google Patents
一种视频图像编码方法及装置 Download PDFInfo
- Publication number
- CN105812824A CN105812824A CN201410844633.0A CN201410844633A CN105812824A CN 105812824 A CN105812824 A CN 105812824A CN 201410844633 A CN201410844633 A CN 201410844633A CN 105812824 A CN105812824 A CN 105812824A
- Authority
- CN
- China
- Prior art keywords
- component
- residual error
- coefficient matrix
- threshold value
- error coefficient
- 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
Links
Abstract
本发明公开了一种视频图像编码方法及装置,用以在保证率失真代价性能以及节约编码码率的同时,降低编码的计算量以及降低编码复杂度,提升编码器的综合性能。该方法为:获取TU对应的运动矢量MV以及计算所述TU对应的率失真代价Rdcost,获取所述TU的每个分量的残差系数矩阵,分别确定每个分量的残差系数矩阵对应的非零元素存在标识;判断是否满足第一约束条件;若满足,停止对所述TU进行下一深度级TU的划分;其中,所述第一约束条件为:所述MV小于预设的第一阈值,并且每个分量的残差系数矩阵的所述非零元素存在标识中至少有一个为指示不存在非零元素的预设值,并且所述Rdcost小于第二阈值。
Description
技术领域
本发明涉及视频编码技术领域,尤其涉及一种视频图像编码方法及装置。
背景技术
随着高清和超高清视频以及相关多媒体技术的快速发展,视频的数据量急剧增长,视频编码联合协作团队(JointCollaborativeTeamonVideoCoding,JCT-VC)工作组制定了具有更高压缩效率的高效视频编码(HighEfficiencyVideoCoding,HEVC)。HEVC与H.264视频标准一样,依然采用混合编码框架,HEVC在相同的视频质量下可以较H.264节省50%左右的码率,但是编码复杂度却较H.264增加3倍以上。
HEVC高压缩性能采用的其中一种技术为残差四叉树(residualquadtree,RQT)编码方法,该方法中以不同尺寸的变换单元(TransformUnit,TU)递归遍历编码单元(CU)预测得到的残差图像块,以确定对CU进行变化量化的最优TU划分结构。
图1所示,以尺寸为64×64的最大编码单元(LCU)为例,首先假设第一级深度的CU(深度值为0,记为CU0)的尺寸为64×64,依次采用尺寸为32×32、16×16、8×8、4×4的TU递归遍历CU0;第二级深度的CU(深度值为1,记为CU1)的尺寸为32×32,依次采用尺寸为32×32、16×16、8×8、4×4的TU递归遍历CU1;第三级深度的CU(深度值为2,记为CU2)的尺寸为16×16,依次采用尺寸为16×16、8×8、4×4的TU递归遍历CU2;第四级深度的CU(深度值为3,记为CU3)的尺寸为8×8,依次采用尺寸为8×8、4×4的TU递归遍历CU3。由此可知,每一级深度的每个CU都会进行一次TU的完全递归遍历,并在每一级深度的TU遍历后确定当前CU的率失真代价,通过比较每一级深度的TU对应的CU的率失真代价,确定率失真代价的最小值对应的深度级,将该深度级对应的TU划分结构确定为当前CU的最优TU划分结构。
在采用任意一级深度的CU遍历LCU后,计算该级深度下对应的LCU的率失真代价,通过比较每一级深度的CU对应的LCU的率失真代价,确定率失真代价的最小值对应的深度,将该深度对应的CU划分结构确定为当前LCU最优的CU划分结构,按照该最优的CU划分结构以及该CU划分结构中每个CU的最优TU划分结构对该LCU进行编码。
为了提高编码效率,现有方案中在对每一个TU块变换量化后,计算得到该TU块的残差系数矩阵,基于计算得到的该TU块的残差系数矩阵计算该TU块的率失真代价,并且假设该TU块的残差系数矩阵中的元素均为零后,基于置零后的残差系数矩阵计算该TU块的率失真代价,通过比较两个率失真代价确定是否舍弃该TU块,不对舍弃的TU块进行编码,以节约编码码率。
综上所述,针对每个LCU进行不同深度级CU递归遍历过程中,针对每一深度级的CU进行不同深度级的TU的递归遍历所耗费的时间和计算量非常大,并且基于率失真代价进行比较舍弃TU块的方式,除针对每一个TU块计算残差系数矩阵对应的率失真代价,还需要计算假设该TU块的残差系数矩阵系数全为零后对应的率失真代价,并比较两个率失真代价,这就需要增加额外的计算量。
发明内容
本发明实施例提供一种视频图像编码方法及装置,用以在保证率失真代价性能的前提下,降低编码的计算量以及降低编码复杂度。
本发明实施例提供的具体技术方案如下:
一种视频图像编码方法,包括:
依次采用不同深度级的变换单元TU对当前待编码的编码单元CU进行变换量化中,对于任一TU,执行以下过程:
获取所述TU对应的运动矢量MV以及计算所述TU对应的率失真代价Rdcost;
获取所述TU的每个分量的残差系数矩阵,分别确定每个分量的残差系数矩阵对应的非零元素存在标识;
判断所述MV、每个分量的残差系数矩阵的所述非零元素存在标识以及所述Rdcost否满足预设的用于停止进行下一深度级TU的划分的第一约束条件;
若满足所述第一约束条件,停止对所述TU进行下一深度级TU的划分;
其中,所述第一约束条件为:所述MV小于预设的第一阈值,并且每个分量的残差系数矩阵的所述非零元素存在标识中至少有一个为指示不存在非零元素的预设值,并且所述Rdcost小于第二阈值。
优选地,所述方法还包括:
若不满足所述第一约束条件,分别针对所述TU的每个分量,判断所述分量的残差系数矩阵的第一行第一列交叉位置的元素、所述分量的残差系数矩阵对应的非零元素的个数、所述分量的残差系数矩阵编码所需的比特数以及所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃所述分量的残差系数矩阵中的系数,并将所述分量的非零元素存在标识设置为指示不存在非零元素的预设值;
获取所述TU的邻TU的最优深度,判断所述邻TU的最优深度、所述TU的每个分量的非零元素存在标识是否满足第三约束条件,若满足,停止对所述TU进行下一深度级TU的划分;
其中,所述第二约束条件为:所述分量的残差系数矩阵的第一行第一列交叉位置的元素小于预设的第三阈值,并且所述分量的残差系数矩阵对应的非零元素的个数小于第四阈值,并且所述分量的残差系数矩阵编码所需的比特数小于预设的第五阈值,并且所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数大于预设的第六阈值;
所述第三约束条件为:所述邻TU的最优深度小于所述TU的深度级,并且所述TU的每个分量的非零元素存在标识均为指示不存在非零元素的预设值。
优选地,所述第一阈值大于等于1且小于等于4。
优选地,所述第二阈值表示为:
其中,TRD为第二阈值,α为加强因子,N为与所述TU空域相邻的TU的个数,RD(i)为与所述TU空域相邻的第i个TU的最优率失真代价。
优选地,若所述分量为亮度Y分量,所述第四阈值表示为: 其中,ThY[i]表示第i+1级深度的TU的亮度Y分量对应的第四阈值,qp表示量化参数;
若所述分量为色度U分量,所述第四阈值表示为: 其中,ThU[i]表示第i+1级深度的TU的色度U分量对应的第四阈值,qp表示量化参数;
若所述分量为色度V分量,所述第四阈值表示为:
优选地,若所述分量为亮度Y分量,所述第六阈值为所述TU一行包含的像素数;
若所述分量为色度U分量,所述第六阈值为所述TU一行包含的像素数的二分之一;
若所述分量为色度V分量,所述第六阈值为所述TU一行包含的像素数的二分之一。
一种视频图像编码装置,包括:
获取模块,用于获取所述TU对应的运动矢量MV以及计算所述TU对应的率失真代价Rdcost;
确定模块,用于获取所述TU的每个分量的残差系数矩阵,分别确定每个分量的残差系数矩阵对应的非零元素存在标识;
第一处理模块,用于判断所述MV、每个分量的残差系数矩阵的所述非零元素存在标识以及所述Rdcost否满足预设的用于停止进行下一深度级TU的划分的第一约束条件,若满足所述第一约束条件,停止对所述TU进行下一深度级TU的划分;
其中,所述第一约束条件为:所述MV小于预设的第一阈值,并且每个分量的残差系数矩阵的所述非零元素存在标识中至少有一个为指示不存在非零元素的预设值,并且所述Rdcost小于第二阈值。
优选地,还包括:
第二处理模块,用于在不满足所述第一约束条件时,分别针对所述TU的每个分量,判断所述分量的残差系数矩阵的第一行第一列交叉位置的元素、所述分量的残差系数矩阵对应的非零元素的个数、所述分量的残差系数矩阵编码所需的比特数以及所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃所述分量的残差系数矩阵中的系数,并将所述分量的非零元素存在标识设置为指示不存在非零元素的预设值;
第三处理模块,用于获取所述TU的邻TU的最优深度,判断所述邻TU的最优深度、所述TU的每个分量的非零元素存在标识是否满足第三约束条件,若满足,停止对所述TU进行下一深度级TU的划分;
其中,所述第二约束条件为:所述分量的残差系数矩阵的第一行第一列交叉位置的元素小于预设的第三阈值,并且所述分量的残差系数矩阵对应的非零元素的个数小于第四阈值,并且所述分量的残差系数矩阵编码所需的比特数小于预设的第五阈值,并且所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数大于预设的第六阈值;
所述第三约束条件为:所述邻TU的最优深度小于所述TU的深度级,并且所述TU的每个分量的非零元素存在标识均为指示不存在非零元素的预设值。
优选地,所述第一阈值大于等于1且小于等于4。
优选地,所述第二阈值表示为:
其中,TRD为第二阈值,α为加强因子,N为与所述TU空域相邻的TU的个数,RD(i)为与所述TU空域相邻的第i个TU的最优率失真代价。
优选地,若所述分量为亮度Y分量,所述第四阈值表示为: 其中,ThY[i]表示第i+1级深度的TU的亮度Y分量对应的第四阈值,qp表示量化参数;
若所述分量为色度U分量,所述第四阈值表示为: 其中,ThU[i]表示第i+1级深度的TU的色度U分量对应的第四阈值,qp表示量化参数;
若所述分量为色度V分量,所述第四阈值表示为:
优选地,若所述分量为亮度Y分量,所述第六阈值为所述TU一行包含的像素数;
若所述分量为色度U分量,所述第六阈值为所述TU一行包含的像素数的二分之一;
若所述分量为色度V分量,所述第六阈值为所述TU一行包含的像素数的二分之一。
基于上述技术方案,本发明实施例中,在采用不同深度级的TU对当前CU进行变换量化的过程中,对应每个TU判断是否满足终止下一深度级划分的条件,在确定满足时停止进行下一深度级TU的划分,通过提前终止下一深度级TU的划分,节约编码时间,降低编码复杂度以及编码的计算量,并且不会对编码性能造成影响,提升编码器的综合性能。
附图说明
图1为现有的不同深度值的编码单元CU依次进行TU的递归遍历的示意图;
图2a为本发明实施例中视频图像编码中TU处理的详细方法流程示意图;
图2b为本发明实施例中另一视频图像编码中TU处理的详细方法流程示意图;
图3为本发明实施例中对一帧视频图像进行编码的详细方法流程示意图;
图4为本发明实施例中视频图像编码装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例适用于所有基于HEVC(H.265)压缩方案的视频图像,本发明实施例提供的视频编码方法可以应用于各种电视机设备、播放器、电脑、手机以及其他具备视频播放功能的装置和设备。
下面结合附图对本发明优选的实施方式进行详细描述,本发明包括但不限于以下所描述的实施例。
本发明实施例中,如图2a所示,进行视频编码的过程中,针对视频帧中的当前最大编码单元(LCU)的不同深度级的CU中的每个CU,依次采用不同深度级的TU进行变换量化的过程中,对于任一TU,执行以下过程:
步骤201:获取TU对应的运动矢量MV以及计算该TU对应的率失真代价Rdcost。
其中,TU的运动矢量MV通过对该TU进行帧间预测获得,具体采用的帧间预测方法不是本发明所关心的问题,此处不再详细赘述。
其中,TU的率失真代价的计算方法有很多种,现有的HEVC中率失真代价的计算方法均可用于TU的率失真代价的计算,率失真代价的计算不是本发明所关心的问题,此处不再详细赘述。
步骤202:获取该TU的每个分量的残差系数矩阵,分别确定每个分量的残差系数矩阵对应的非零元素存在标识。
具体实施中,非零元素存在标识指示不存在非零元素时,对应的预设值为零;非零元素存在标识指示存在非零元素时,对应的预设值不为零。
具体地,获取该TU变换量化后的亮度Y分量的残差系数矩阵、色度U分量的残差系数矩阵以及色度V分量的残差系数矩阵。
其中,获取该TU变化量化后的亮度Y分量的残差系数矩阵后,确定亮度Y分量的残差系数矩阵中非零元素的个数NY,确定用于指示亮度Y分量的残差系数矩阵中是否存在非零元素的标识CBF_Y,以及确定编码亮度Y分量的残差系数矩阵所需的比特数BY;
获取该TU变换量化后的色度U分量的残差系数矩阵后,确定色度U分量的残差系数矩阵中非零元素的个数NU,确定用于指示色度U分量的残差系数矩阵中是否存在非零元素的标识CBF_U,以及确定编码色度U分量的残差系数矩阵所需的比特数BU;
获取该TU变换量化后的色度V分量的残差系数矩阵后,确定亮度V分量的残差系数矩阵中非零元素的个数NV,确定用于指示亮度V分量的残差系数矩阵中是否存在非零元素的标识CBF_V,以及确定编码亮度V分量的残差系数矩阵所需的比特数BV。
步骤203:判断MV、每个分量的残差系数矩阵的所述非零元素存在标识以及Rdcost否满足预设的用于停止进行下一深度级TU的划分的第一约束条件。
其中,第一约束条件为:MV小于预设的第一阈值,并且每个分量的残差系数矩阵的非零元素存在标识中至少有一个为指示不存在非零元素的预设值,并且Rdcost小于第二阈值。
优选地,第一阈值Tmv大于等于1且小于等于4。
优选地,第二阈值表示为:其中,TRD为第二阈值,α为加强因子,N为与所述TU空域相邻的TU的个数,RD(i)为与所述TU空域相邻的第i个TU的最优率失真代价。
其中,与该TU空域相邻TU包括该TU相邻左边、相邻上边、相邻左上、相邻右上的TU,且空域相邻TU与该TU具有相同的尺寸。
其中,TU的最优率失真代价为该TU的不同划分方式对应的率失真代价中的最小值。
具体地,第一约束条件表示为:(MV<Tmv||CBF_Y=0||CBF_U=0||CBF_V=0)&&Rdcost<TRD。
步骤204:若满足所述第一约束条件,停止对该TU进行下一深度级TU的划分。
本发明实施例中,在采用不同深度级的TU对当前CU进行变换量化的过程中,对应每个TU判断是否满足终止下一深度级划分的条件,在确定满足时停止进行下一深度级TU的划分,通过提前终止下一深度级TU的划分,节约编码时间,降低编码复杂度以及编码的计算量,并且不会对编码性能造成影响,提升编码器的综合性能。
可选地,若确定不满足第一约束条件,如图2b所示,还可以继续执行以下步骤:
步骤205:若不满足第一约束条件,分别针对TU的每个分量,判断该分量的残差系数矩阵的第一行第一列交叉位置的元素、该分量的残差系数矩阵对应的非零元素的个数、该分量的残差系数矩阵编码所需的比特数以及该分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃该分量的残差系数矩阵中的系数,并将该分量的非零元素存在标识设置为指示不存在非零元素的预设值。
其中,第二约束条件为:所述分量的残差系数矩阵的第一行第一列交叉位置的元素小于预设的第三阈值,并且所述分量的残差系数矩阵对应的非零元素的个数小于第四阈值,并且所述分量的残差系数矩阵编码所需的比特数小于预设的第五阈值,并且所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数大于预设的第六阈值。
具体地,判断亮度Y分量的残差系数矩阵的第一行第一列交叉位置的元素、NY、BY以及亮度Y分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃该亮度Y分量的残差系数矩阵中的系数,并将CBF_Y置为零,若不满足继续判断下一分量是否满足第二约束条件。
其中,亮度Y分量对应的第二约束条件可表示为:Y分量的残差系数矩阵的第一行第一列交叉位置的元素<第三阈值TL&&NY<第四阈值ThY&&BY<第五阈值TY&&Y分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数>第六阈值DY。
判断色度U分量的残差系数矩阵的第一行第一列交叉位置的元素、NU、BU以及色度U分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃亮度U分量的残差系数矩阵中的系数,并将CBF_Y置为零。
其中,色度U分量对应的第二约束条件可表示为:U分量的残差系数矩阵的第一行第一列交叉位置的元素<第三阈值TL&&NU<第四阈值ThU&&BU<第五阈值TU&&U分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数>第六阈值DU。
判断色度V分量的残差系数矩阵的第一行第一列交叉位置的元素、NV、BV以及色度V分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃亮度V分量的残差系数矩阵中的系数,并将CBF_V置为零。
其中,色度V分量对应的第二约束条件可表示为:V分量的残差系数矩阵的第一行第一列交叉位置的元素<第三阈值TL&&NV<第四阈值ThV&&BV<第五阈值TV&&V分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数>第六阈值DV。
其中,在CU的最优TU划分结构确定之前,对于舍弃的分量不再进行伪编码,在CU的最优划分结构确定之后,对于舍弃的分量不再进行编码,以节约编码码率。
优选地,若为亮度Y分量,所述第四阈值表示为:
其中,ThY[i]表示第i+1级深度的TU的亮度Y分量对应的第四阈值,qp表示量化参数;
若为色度U分量,第四阈值表示为:
其中,ThU[i]表示第i+1级深度的TU的色度U分量对应的第四阈值,qp表示量化参数;
若为色度V分量,第四阈值表示为:
其中,ThV[i]表示第i+1级深度的TU的色度V分量对应的第四阈值,qp表示量化参数。
优选地,若为亮度Y分量,第六阈值为TU一行包含的像素数;
若为色度U分量,第六阈值为TU一行包含的像素数的二分之一;
若为色度V分量,第六阈值为TU一行包含的像素数的二分之一。
具体实施中,TU一行包含的像素数与一列包含的像素数相等。
步骤206:获取所述TU的邻TU的最优深度,判断所述邻TU的最优深度、所述TU的每个分量的非零元素存在标识是否满足第三约束条件,若满足,停止对所述TU进行下一深度级TU的划分。
其中,第三约束条件为:TU的邻TU的最优深度小于该TU的深度级,并且该TU的每个分量的非零元素存在标识均为指示不存在非零元素的预设值。
具体实施中,TU的邻TU为与该TU相邻且已经递归遍历结束的TU,且该邻TU与该TU具有相同大小,该邻TU的最优深度为该TU的不同划分方式对应的率失真代价的最小值对应的该TU的最优划分结构中、最小尺寸的TU对应的深度级。
例如,假设对CU递归遍历的TU的深度级从小到达对应的尺寸范围依次为:64×64、32×32、16×16、8×8,假设当前TU的尺寸为32×32,该TU的邻TU的最优划分结构中TU最小尺寸为16×16,则可确定当前TU的邻TU的最大深度级大于该TU的深度级;若当前TU的尺寸为32×32,该TU的邻TU的最优划分结构中TU最小尺寸为64×64,则可确定当前TU的邻TU的最大深度级小于该TU的深度级。
本发明实施例中,按照步骤201~步骤206的流程对CU进行TU递归遍历结束后,通过率失真代价确定该CU的最优TU划分结构,在确定LCU的每个CU的TU划分结构后,基于率失真代价确定该LCU的最优CU划分结构,最后根据该LCU的最优CU划分结构、以及该最优CU划分结构中不同深度级的CU所对应的最优TU划分结构对该LCU进行编码。
以下通过一个具体实施例对本发明实施例所提供的视频图像编码方法进行详细说明,如图3所示,对一帧视频图像进行编码的详细过程说明如下:
步骤301:将当前待编码的视频图像定义为当前编码帧,其中,当前待编码的视频图像可以是视频中的任意一帧视频图像。
步骤302:将当前编码帧中的当前待编码的最大编码单元定义为当前LCU,且定义对当前LCU进行递归遍历的CU的尺寸范围为:{MaxCUsize,MinCUsize},CU对应的深度级表示为深度值CI。
例如,假设当前LCU的尺寸为64×64,对当前LCU进行递归遍历的CU的尺寸范围为:{32×32,8×8},CI的取值范围为[0,2]。
步骤303:将当前LCU中当前待处理的CU定义为当前CU,且定义当前CU的尺寸为CN,CN的初始值为MaxCUsize,当前CU的运动矢量定义为MV。
步骤304:针对当前CU,将当前待处理的TU定义为当前TU,且定义当前TU的尺寸为TN,TN的最大值定义为MaxTUSize,TN的最小值定义为MinTUSize,TN初始化为MaxTUSize和CN的尺寸中的最小值,当前TU的深度级表示为TI,其中,TU的尺寸小于当前CU的尺寸,当前TU对应的率失真代价表示为Rdcost。
例如,假设MaxTUSize为32×32,MinTUSize为4×4。
步骤305:分别对当前TU的亮度Y分量、色度U分量和色度V分量进行变换量化,分别得到各个分量的残差系数矩阵,定义CBF用于指示残差系数矩阵中是否存在非零值,CBF为零值时确定残差系数矩阵中不存在非零值,CBF为非零值时确定残差系数矩阵中存在非零值,亮度Y分量对应CBF表示为CBF_Y、色度U分量对应的CBF表示为CBF_U、色度V分量的CBF表示为CBF_V,Y、U、V三个分量的残差系数矩阵中非零值的个数分别表示为NY、NU、NV,定义编码亮度Y分量的残差系数矩阵所需的比特数为BY、编码色度U分量的残差系数矩阵所需的比特数为BU、编码色度V分量的残差系数矩阵所需的比特数为BV。
步骤306:判断当前TU是否满足:(MV<阈值Tmv||CBF_Y=0||CBF_U=0||CBF_V=0)&&Rdcost<阈值TRD,若满足,停止对当前TU进行下一深度级的划分,转去执行步骤312,否则,执行步骤307。
步骤307:判断当前TU是否满足:亮度Y分量的残差系数矩阵的第一行第一列交叉位置的元素<阈值TL&&NY<阈值ThY&&BY<阈值TY&&Y分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数>阈值DY,若满足,舍弃亮度Y分量的残差系数矩阵中的系数,将CBF_Y设置为零,后续不对该TU的Y分量进行编码,执行步骤308,否则,直接执行步骤308。
步骤308:判断当前TU是否满足:色度U分量的残差系数矩阵的第一行第一列交叉位置的元素<阈值TL&&NU<阈值ThU&&BU<阈值TU&&U分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数>阈值DU,若满足,舍弃色度U分量的残差系数矩阵中的系数,设置CBF_U=0,后续不对该TU的U分量进行编码,执行步骤309,否则,直接执行步骤309。
步骤309:判断当前TU是否满足:色度V分量的残差系数矩阵的第一行第一列交叉位置的元素<阈值TL&&NV<阈值ThV&&BV<阈值TV&&V分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数>阈值DV,若满足,舍弃色度V分量的残差系数矩阵中的系数,后续不对该TU的V分量进行编码,执行步骤310,否则,直接执行步骤310。
步骤310:当前TU是否满足:邻TU的最优深度<TI&&CBF_Y=0&&CBF_U=0&&CBF_V=0,若满足,停止对当前TU进行下一深度级的划分,转去执行步骤312,否则,执行步骤311。
步骤311:判断是否满足:TN>MinTUSize,若满足,确定下一深度级的TU的大小,将TI更新为TI+1,将TN更新为TN/2,将确定的下一深度级的TU作为当前TU,转去执行步骤305,若不满足,执行步骤312。
步骤312:判断是否满足:CN>MinCUsize,若满足,确定下一深度级的CU的大小,将CI更新为CI+1,将CN更新为CN/2,将确定的下一深度级的CU作为当前CU,转去执行步骤304,若不满足,执行步骤313;
步骤313:判断是否满足:当前编码帧中所有LCU编码完毕,若不满足,将下一个待编码的LCU作为当前LCU,转去执行步骤303,若满足,执行步骤314;
步骤314:判断是否满足:所有帧编码完毕,若不满足,将下一个待编码帧作为当前编码帧,转去执行步骤302,若满足,结束。
通过大量的测试实验表明,本发明实施例所提供的视频图像编码方法可以在保证视频图像序列的率失真性能的前提下,节约5.27%~39.58%的TU处理时间,并节约0.8%~6.9%的编码码率。
基于同一发明构思,本发明实施例中,还提供了一种视频图像编码装置,该装置的具体实施可参见上述方法部分的描述,重复之处不再赘述,如图4所示,该装置主要包括:
获取模块401,用于获取所述TU对应的运动矢量MV以及计算所述TU对应的率失真代价Rdcost;
确定模块402,用于获取所述TU的每个分量的残差系数矩阵,分别确定每个分量的残差系数矩阵对应的非零元素的个数、非零元素存在标识以及编码所需的比特数;
第一处理模块403,用于判断所述MV、每个分量的残差系数矩阵的所述非零元素存在标识以及所述Rdcost否满足预设的用于停止对进行下一深度级TU的划分的第一约束条件,若满足所述第一约束条件,停止对所述TU进行下一深度级TU的划分;
其中,所述第一约束条件为:所述MV小于预设的第一阈值,并且每个分量的残差系数矩阵的所述非零元素存在标识中至少有一个为指示不存在非零元素的预设值,并且所述Rdcost小于第二阈值。
优选地,还包括:
第二处理模块404,用于在不满足所述第一约束条件时,分别针对所述TU的每个分量,判断所述分量的残差系数矩阵的第一行第一列交叉位置的元素、所述分量的残差系数矩阵对应的非零元素的个数、所述分量的残差系数矩阵编码所需的比特数以及所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃所述分量的残差系数矩阵中的系数,并将所述分量的非零元素存在标识设置为指示不存在非零元素的预设值;
第三处理模块405,用于获取所述TU的邻TU的最优深度,判断所述邻TU的最优深度、所述TU的每个分量的非零元素存在标识是否满足第三约束条件,若满足,停止对所述TU进行下一深度级TU的划分;
其中,所述第二约束条件为:所述分量的残差系数矩阵的第一行第一列交叉位置的元素小于预设的第三阈值,并且所述分量的残差系数矩阵对应的非零元素的个数小于第四阈值,并且所述分量的残差系数矩阵编码所需的比特数小于预设的第五阈值,并且所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数大于预设的第六阈值;
所述第三约束条件为:所述邻TU的最优深度小于所述TU的深度级,并且所述TU的每个分量的非零元素存在标识均为指示不存在非零元素的预设值。
优选地,所述第一处理模块403还用于:
若满足所述第一约束条件,停止对所述TU进行下一深度级TU的划分。
优选地,所述第一阈值大于等于1且小于等于4。
优选地,所述第二阈值表示为:
其中,TRD为第二阈值,α为加强因子,N为与所述TU空域相邻的TU的个数,RD(i)为与所述TU空域相邻的第i个TU的最优率失真代价。
优选地,若所述分量为亮度Y分量,所述第四阈值表示为: 其中,ThY[i]表示第i+1级深度的TU的亮度Y分量对应的第四阈值,qp表示量化参数;
若所述分量为色度U分量,所述第四阈值表示为: 其中,ThU[i]表示第i+1级深度的TU的色度U分量对应的第四阈值,qp表示量化参数;
若所述分量为色度V分量,所述第四阈值表示为:
优选地,若所述分量为亮度Y分量,所述第六阈值为所述TU一行包含的像素数;
若所述分量为色度U分量,所述第六阈值为所述TU一行包含的像素数的二分之一;
若所述分量为色度V分量,所述第六阈值为所述TU一行包含的像素数的二分之一。
基于上述技术方案,本发明实施例中,在采用不同深度级的TU对当前CU进行变换量化的过程中,对应每个TU判断是否满足终止下一深度级划分的条件,在确定不满足时,判断该TU的每个分量是否满足舍弃的条件,并在判断各分量是否满足舍弃的条件之后,再次判断该TU是否满足终止下一深度级划分的条件,通过舍弃满足条件的分量残差系数,以节约编码码率,通过提前终止下一深度级TU的划分,节约编码时间,降低编码复杂度以及编码的计算量,并且基本不会对编码性能造成影响。
本发明实施例中,通过统计分析不同量化参数下不同TU深度级的TU亮度分量和色度分量的残差特征,将符合残差特征规律的残差能量较小但几乎不影响重构视频质量的残差舍弃,不对该部分的残差进行编码,可以节约编码该残差所需要的比特,因此节约了编码码率。
通过分析运动矢量、率失真代价、各分量的CBF值、TU块之间的空间相关性和最优TU划分结构之间的关系,综合考虑运动矢量、CBF值、率失真代价、空间相关性等多个因素来决定是否提前终止TU的划分,减少需要TU递归遍历的次数,大幅度地节约了TU块的处理时间,降低了编码器的复杂度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种视频图像编码方法,其特征在于,包括:
依次采用不同深度级的变换单元TU对当前待编码的编码单元CU进行变换量化中,对于任一TU,执行以下过程:
获取所述TU对应的运动矢量MV以及计算所述TU对应的率失真代价Rdcost;
获取所述TU的每个分量的残差系数矩阵,分别确定每个分量的残差系数矩阵对应的非零元素存在标识;
判断所述MV、每个分量的残差系数矩阵的所述非零元素存在标识以及所述Rdcost否满足预设的用于停止进行下一深度级TU的划分的第一约束条件;
若满足所述第一约束条件,停止对所述TU进行下一深度级TU的划分;
其中,所述第一约束条件为:所述MV小于预设的第一阈值,并且每个分量的残差系数矩阵的所述非零元素存在标识中至少有一个为指示不存在非零元素的预设值,并且所述Rdcost小于第二阈值。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若不满足所述第一约束条件,分别针对所述TU的每个分量,判断所述分量的残差系数矩阵的第一行第一列交叉位置的元素、所述分量的残差系数矩阵对应的非零元素的个数、所述分量的残差系数矩阵编码所需的比特数以及所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃所述分量的残差系数矩阵中的系数,并将所述分量的非零元素存在标识设置为指示不存在非零元素的预设值;
获取所述TU的邻TU的最优深度,判断所述邻TU的最优深度、所述TU的每个分量的非零元素存在标识是否满足第三约束条件,若满足,停止对所述TU进行下一深度级TU的划分;
其中,所述第二约束条件为:所述分量的残差系数矩阵的第一行第一列交叉位置的元素小于预设的第三阈值,并且所述分量的残差系数矩阵对应的非零元素的个数小于第四阈值,并且所述分量的残差系数矩阵编码所需的比特数小于预设的第五阈值,并且所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数大于预设的第六阈值;
所述第三约束条件为:所述邻TU的最优深度小于所述TU的深度级,并且所述TU的每个分量的非零元素存在标识均为指示不存在非零元素的预设值。
3.如权利要求1或2所述的方法,其特征在于,所述第一阈值大于等于1且小于等于4。
4.如权利要求1或2所述的方法,其特征在于,所述第二阈值表示为:
其中,TRD为第二阈值,α为加强因子,N为与所述TU空域相邻的TU的个数,RD(i)为与所述TU空域相邻的第i个TU的最优率失真代价。
5.如权利要求2所述的方法,其特征在于,若所述分量为亮度Y分量,所述第四阈值表示为: 其中,ThY[i]表示第i+1级深度的TU的亮度Y分量对应的第四阈值,qp表示量化参数;
若所述分量为色度U分量,所述第四阈值表示为: 其中,ThU[i]表示第i+1级深度的TU的色度U分量对应的第四阈值,qp表示量化参数;
若所述分量为色度V分量,所述第四阈值表示为:
6.如权利要求2所述的方法,其特征在于,若所述分量为亮度Y分量,所述第六阈值为所述TU一行包含的像素数;
若所述分量为色度U分量,所述第六阈值为所述TU一行包含的像素数的二分之一;
若所述分量为色度V分量,所述第六阈值为所述TU一行包含的像素数的二分之一。
7.一种视频图像编码装置,其特征在于,包括:
获取模块,用于获取所述TU对应的运动矢量MV以及计算所述TU对应的率失真代价Rdcost;
确定模块,用于获取所述TU的每个分量的残差系数矩阵,分别确定每个分量的残差系数矩阵对应的非零元素存在标识;
第一处理模块,用于判断所述MV、每个分量的残差系数矩阵的所述非零元素存在标识以及所述Rdcost否满足预设的用于停止进行下一深度级TU的划分的第一约束条件,若满足所述第一约束条件,停止对所述TU进行下一深度级TU的划分;
其中,所述第一约束条件为:所述MV小于预设的第一阈值,并且每个分量的残差系数矩阵的所述非零元素存在标识中至少有一个为指示不存在非零元素的预设值,并且所述Rdcost小于第二阈值。
8.如权利要求7所述的装置,其特征在于,还包括:
第二处理模块,用于在不满足所述第一约束条件时,分别针对所述TU的每个分量,判断所述分量的残差系数矩阵的第一行第一列交叉位置的元素、所述分量的残差系数矩阵对应的非零元素的个数、所述分量的残差系数矩阵编码所需的比特数以及所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数是否满足第二约束条件,若满足,舍弃所述分量的残差系数矩阵中的系数,并将所述分量的非零元素存在标识设置为指示不存在非零元素的预设值;
第三处理模块,用于获取所述TU的邻TU的最优深度,判断所述邻TU的最优深度、所述TU的每个分量的非零元素存在标识是否满足第三约束条件,若满足,停止对所述TU进行下一深度级TU的划分;
其中,所述第二约束条件为:所述分量的残差系数矩阵的第一行第一列交叉位置的元素小于预设的第三阈值,并且所述分量的残差系数矩阵对应的非零元素的个数小于第四阈值,并且所述分量的残差系数矩阵编码所需的比特数小于预设的第五阈值,并且所述分量的残差系数矩阵中两个非零元素之间间隔的元素的最小个数大于预设的第六阈值;
所述第三约束条件为:所述邻TU的最优深度小于所述TU的深度级,并且所述TU的每个分量的非零元素存在标识均为指示不存在非零元素的预设值。
9.如权利要求7或8所述的装置,其特征在于,所述第一阈值大于等于1且小于等于4。
10.如权利要求7或8所述的装置,其特征在于,所述第二阈值表示为:
其中,TRD为第二阈值,α为加强因子,N为与所述TU空域相邻的TU的个数,RD(i)为与所述TU空域相邻的第i个TU的最优率失真代价。
11.如权利要求8所述的装置,其特征在于,若所述分量为亮度Y分量,所述第四阈值表示为: 其中,ThY[i]表示第i+1级深度的TU的亮度Y分量对应的第四阈值,qp表示量化参数;
若所述分量为色度U分量,所述第四阈值表示为: 其中,ThU[i]表示第i+1级深度的TU的色度U分量对应的第四阈值,qp表示量化参数;
若所述分量为色度V分量,所述第四阈值表示为:
12.如权利要求8所述的装置,其特征在于,若所述分量为亮度Y分量,所述第六阈值为所述TU一行包含的像素数;
若所述分量为色度U分量,所述第六阈值为所述TU一行包含的像素数的二分之一;
若所述分量为色度V分量,所述第六阈值为所述TU一行包含的像素数的二分之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410844633.0A CN105812824B (zh) | 2014-12-30 | 2014-12-30 | 一种视频图像编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410844633.0A CN105812824B (zh) | 2014-12-30 | 2014-12-30 | 一种视频图像编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812824A true CN105812824A (zh) | 2016-07-27 |
CN105812824B CN105812824B (zh) | 2018-12-07 |
Family
ID=56420809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410844633.0A Active CN105812824B (zh) | 2014-12-30 | 2014-12-30 | 一种视频图像编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812824B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277521A (zh) * | 2016-09-06 | 2017-10-20 | 芯原微电子(北京)有限公司 | 一种基于hevc视频编码的tu树状结构抉择算法 |
CN110581990A (zh) * | 2019-09-25 | 2019-12-17 | 杭州当虹科技股份有限公司 | 一种适用于hevc 4k和8k超高清编码的tu递归快速算法 |
CN116886913A (zh) * | 2023-08-03 | 2023-10-13 | 镕铭微电子(济南)有限公司 | 率失真优化量化方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447907A (zh) * | 2012-01-31 | 2012-05-09 | 北京工业大学 | 一种针对hevc的视频序列的编码方法 |
US20120183080A1 (en) * | 2011-01-13 | 2012-07-19 | Texas Instruments Incorporated | Method and apparatus for a low complexity transform unit partitioning structure for hevc |
CN103338371A (zh) * | 2013-06-07 | 2013-10-02 | 东华理工大学 | 一种快速高效率视频编码帧内模式判决方法 |
CN104023234A (zh) * | 2014-06-24 | 2014-09-03 | 华侨大学 | 一种适用于hevc的快速帧间预测方法 |
-
2014
- 2014-12-30 CN CN201410844633.0A patent/CN105812824B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120183080A1 (en) * | 2011-01-13 | 2012-07-19 | Texas Instruments Incorporated | Method and apparatus for a low complexity transform unit partitioning structure for hevc |
CN102447907A (zh) * | 2012-01-31 | 2012-05-09 | 北京工业大学 | 一种针对hevc的视频序列的编码方法 |
CN103338371A (zh) * | 2013-06-07 | 2013-10-02 | 东华理工大学 | 一种快速高效率视频编码帧内模式判决方法 |
CN104023234A (zh) * | 2014-06-24 | 2014-09-03 | 华侨大学 | 一种适用于hevc的快速帧间预测方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277521A (zh) * | 2016-09-06 | 2017-10-20 | 芯原微电子(北京)有限公司 | 一种基于hevc视频编码的tu树状结构抉择算法 |
CN107277521B (zh) * | 2016-09-06 | 2020-11-27 | 芯原微电子(北京)有限公司 | 一种基于hevc视频编码的tu树状结构抉择算法 |
CN110581990A (zh) * | 2019-09-25 | 2019-12-17 | 杭州当虹科技股份有限公司 | 一种适用于hevc 4k和8k超高清编码的tu递归快速算法 |
CN110581990B (zh) * | 2019-09-25 | 2021-07-27 | 杭州当虹科技股份有限公司 | 一种适用于hevc 4k和8k超高清编码的tu递归快速算法 |
CN116886913A (zh) * | 2023-08-03 | 2023-10-13 | 镕铭微电子(济南)有限公司 | 率失真优化量化方法、装置、电子设备及存储介质 |
CN116886913B (zh) * | 2023-08-03 | 2024-03-08 | 镕铭微电子(济南)有限公司 | 率失真优化量化方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105812824B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10003792B2 (en) | Video encoder for images | |
CN104023233B (zh) | 一种hevc快速帧间预测方法 | |
CN104754357B (zh) | 基于卷积神经网络的帧内编码优化方法及装置 | |
CN106170093B (zh) | 一种帧内预测性能提升编码方法 | |
CN103338376B (zh) | 一种基于运动矢量的视频隐写方法 | |
CN105812804B (zh) | 一种确定rdoq过程中最优量化值的方法及装置 | |
US9883200B2 (en) | Method of acquiring neighboring disparity vectors for multi-texture and multi-depth video | |
CN104902276B (zh) | 变换单元划分方法及装置 | |
CN105120290B (zh) | 一种深度视频快速编码方法 | |
CN110446052B (zh) | 一种3d-hevc帧内深度图快速cu深度选择方法 | |
CN104378636A (zh) | 一种视频图像编码方法及装置 | |
CN106937116A (zh) | 基于随机训练集自适应学习的低复杂度视频编码方法 | |
CN105812797B (zh) | 一种编码单元选择方法及装置 | |
CN109246430B (zh) | 虚拟现实360度视频快速帧内预测和cu划分提前决策 | |
CN108353175A (zh) | 使用系数引起的预测处理视频信号的方法和装置 | |
CN105704498A (zh) | 逆离散余弦变换的方法及装置、视频编/解码方法及框架 | |
CN105812824A (zh) | 一种视频图像编码方法及装置 | |
CN104811730B (zh) | 一种视频图像帧内编码单元纹理分析及编码单元选择方法 | |
CN103702131B (zh) | 一种基于模式预处理的帧内编码优化方法和系统 | |
US20200351518A1 (en) | Prediction direction selection method and apparatus in image encoding, and storage medium | |
CN102685497A (zh) | 一种avs编码器快速帧间模式选择方法及装置 | |
CN108881908B (zh) | 视频编码中基于编码单元纹理复杂度的快速分块 | |
CN106658024A (zh) | 一种快速的视频编码方法 | |
CN104702954B (zh) | 视频编码方法及装置 | |
CN113784147B (zh) | 一种基于卷积神经网络的高效视频编码方法及系统 |
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 |