一种编码单元的分割方法和装置与流程

文档序号:13083794阅读:165来源:国知局
技术领域本发明涉及视频编码技术领域,特别是涉及一种编码单元的分割方法和装置。

背景技术:
HEVC(HighEfficiencyVideoCoding,高效视频编码标准)是新一代视频编码标准,其可用于解决人们对视觉和听觉质量日益增加的需求。在HEVC中,对于每副图像,编码器可将其分割成CTU(CodingTreeUnit,编码树单元),然后对CTU逐个进行编码;其中,CTU的大小可由编码器决定,为了提高编码效率,一般设CTU的最大尺寸64×64。并且,编码器还可以四叉树的形式把CTU分割为CU(CodingUnit,编码单元),然后对CU选择帧内或帧间模式进行编码。以64×64的LCU(LargestCodingUnit,最大编码单元)为例,其可首先被分割为4个32×32块,然后4个32×32块继续独立选择分割或不分割。在HEVC中,一个2N×2N的块只要它的尺寸大于8×8,就可以独立继续分割。传统分割方法需要对所有分割和不分割的情况进行遍历计算,也即将所有分割和所有不分割的块的率失真花费全部计算一遍,选择率失真花费最小的那种分割方案。然而,率失真花费计算的复杂性,大大增加了编码的复杂度和编码时间。

技术实现要素:
本发明实施例所要解决的技术问题是提供一种编码单元的分割方法和装置,能够减少编码单元分割过程中的计算量,从而可以降低编码的复杂度和编码时间。为了解决上述问题,本发明公开了一种编码单元的分割方法,包括:确定当前编码单元对应的最优编码模式;确定所述最优编码模式对应的非零DCT系数数目和最小率失真花费;在非零DCT系数数目和最小率失真花费满足终止分割条件时,终止对所述当前编码单元的分割。可选地,所述终止分割条件包括:所述非零DCT系数数目小于第一阈值,且所述最小率失真花费小于第二阈值;其中,所述第一阈值、所述第二阈值为依据所述当前编码单元的尺寸参数、变换单元划分参数、以及均匀运动场参数所确定。可选地,通过如下步骤确定所述均匀运动场参数:确定所述当前编码单元的最优参考索引;将所述当前编码单元分割为多个子编码单元;以所述最优参考索引对应的最优运动向量为参考,对所述多个子编码单元分别进行运动估计,以得到所述多个子编码单元分别对应的运动向量;在所有的子编码单元对应的运动向量均和所述最优运动向量相同时,设置所述当前编码单元的均匀运动场参数为1;否则,设置所述当前编码单元的均匀运动场参数为0。可选地,所述确定所述最优编码模式对应的非零DCT系数数目的步骤,包括:根据所述最优编码模式确定所述当前编码单元对应的预测图像;将所述预测图像和所述当前编码单元对应的源图像相减得到对应的残差;对所述残差执行DCT变换以及量化操作,得到非零DCT系数数目。可选地,所述确定当前编码单元对应的最优编码模式的步骤,包括:确定所述当前编码单元对应的预测单元分割模式;确定所述当前编码单元对应的变换单元分割模式;对所有预测单元分割模式和变化单元分割模式组成的模式组合,分别计算对应的率失真花费,确定其中率失真花费最小的模式组合为最优编码模式。依据本发明的另一方面,提供了一种编码单元的分割装置,包括:模式确定模块,用于确定当前编码单元对应的最优编码模式;参数确定模块,用于确定所述最优编码模式对应的非零DCT系数数目和最小率失真花费;及条件判断模块,用于在非零DCT系数数目和最小率失真花费满足终止分割条件时,终止对所述当前编码单元的分割。可选地,所述终止分割条件包括:所述非零DCT系数数目小于第一阈值,且所述最小率失真花费小于第二阈值;其中,所述第一阈值、所述第二阈值为依据所述当前编码单元的尺寸参数、变换单元划分参数、以及均匀运动场参数所确定。可选地,所述装置还包括:运动场参数确定模块,用于确定均匀运动场参数;所述运动场参数确定模块,包括:索引确定子模块,用于确定所述当前编码单元的最优参考索引;分割子模块,用于将所述当前编码单元分割为多个子编码单元;运动估计子模块,用于以所述最优参考索引对应的最优运动向量为参考,对所述多个子编码单元分别进行运动估计,以得到所述多个子编码单元分别对应的运动向量;参数确定子模块,用于在所有的子编码单元对应的运动向量均和所述最优运动向量相同时,设置所述当前编码单元的均匀运动场参数为1;否则,设置所述当前编码单元的均匀运动场参数为0。可选地,所述参数确定模块包括:非零系数数目确定子模块,用于确定所述最优编码模式对应的非零DCT系数数目;所述非零系数数目确定子模块,包括:预测单元,用于根据所述最优编码模式确定所述当前编码单元对应的预测图像;残差计算单元,用于将所述预测图像和所述当前编码单元对应的源图像相减得到对应的残差;量化单元,用于对所述残差执行DCT变换以及量化操作,得到非零DCT系数数目。可选地,所述参数确定模块包括:最优模式确定子模块,用于确定当前编码单元对应的最优编码模式;所述最优模式确定子模块,包括:预测模式确定单元,用于确定所述当前编码单元对应的预测单元分割模式;分割模式确定单元,用于确定所述当前编码单元对应的变换单元分割模式;最优模式确定单元,用于对所有预测单元分割模式和变化单元分割模式组成的模式组合,分别计算对应的率失真花费,确定其中率失真花费最小的模式组合为最优编码模式。与现有技术相比,本发明实施例包括以下优点:本发明实施例在对编码单元进行分割的过程中,确定编码单元当前分割模式对应的非零量化系数数目和最小率失真花费,在所述非零量化系数数目和最小率失真花费满足终止分割条件时,终止对所述编码单元的分割。由于在满足终止分割条件时,终止对编码单元的继续分割,因此,可以避免对当前CU遍历计算所有的分割模式,从而能够在一定程度减少当前CU分割过程中的运算量及复杂度,进一步地可以降低编码的复杂度和编码时间。附图说明图1示出了本发明实施例的一种编码单元的分割方法的步骤流程图;图2示出了本发明实施例的一种预测单元分割模式示意图;图3示出了本发明实施例的一种编码单元的分割装置的结构框图;图4示出了本发明实施例的另一种编码单元的分割装置的结构框图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。方法实施例参照图1,示出了本发明实施例的一种编码单元的分割方法的步骤流程图,具体可以包括如下步骤:步骤101、确定当前编码单元对应的最优编码模式;步骤102、确定所述最优编码模式对应的非零DCT系数数目和最小率失真花费;步骤103、在非零DCT系数数目和最小率失真花费满足终止分割条件时,终止对所述当前编码单元的分割。本发明实施例可应用于各种电子设备中的视频编码器,在视频编码器对视频图像进行编码的过程中,在满足终止分割条件时,可以提前终止对编码单元的分割,避免对当前编码单元遍历计算所有的分割模式,从而能够在一定程度上减少当前编码单元分割过程中的运算量及复杂度,进一步地可以降低编码的复杂度和编码时间。可以理解,所述电子设备具体可以包括:移动电话、无线装置、个人数据助理、手持式或便携式计算机、GPS(GlobalPositioningSystem,全球定位系统)接收机/导航器、照相机、音频/视频播放器、摄像机、录像机、监控设备等,本发明实施例对于所述电子设备的具体形式不加以限制。需要说明的是,在对编码单元进行编码的过程中,首先需要对编码单元进行预测,以得到预测图像;然后对残差进行DCT(DiscreteCosineTransform,离散余弦变换)编码。其中,残差为将预测图像和当前编码单元对应的源图像相减得到。本发明实施例中所述的非零DCT系数数目具体指对残差进行DCT变换,以及量化后得到的非零DCT系数数目。具体地,所述确定所述最优编码模式对应的非零DCT系数数目的步骤,具体可以包括:步骤S11、根据所述最优编码模式确定所述当前编码单元对应的预测图像;步骤S12、将所述预测图像和所述当前编码单元对应的源图像相减得到对应的残差;步骤S13、对所述残差执行DCT变换以及量化操作,得到非零DCT系数数目。在具体应用中,DCT是指将一组光强数据转换成频率数据,通过DCT变换可以将原始图像信息块转换成代表不同频率分量的DCT系数集,量化实际上就是对DCT系数的一个优化过程,利用人眼对高频数据不敏感的特性来实现数据的大幅简化。量化的目的是减小非零DCT系数的数目以及增加零值DCT系数的数目。在本发明实施例中,确定所述最小率失真花费的过程可以通过现有的率失真花费计算公式所得到,此处不再赘述。在确定所述最优编码模式对应的非零DCT系数数目和最小率失真花费之后,可以判断所述非零DCT系数数目和最小率失真花费是否满足终止分割条件,若满足,则终止对所述当前编码单元的分割。在本发明的一种可选实施例中,所述终止分割条件具体可以包括:所述非零DCT系数数目小于第一阈值,且所述最小率失真花费小于第二阈值;其中,所述第一阈值、所述第二阈值为依据所述当前编码单元的尺寸参数、变换单元划分参数、以及均匀运动场参数所确定。具体地,所述终止分割条件可以包括如下不等式:coefnum<coefnum_th(cu_width,tu_is_split,is_mvf_all_eq)(1)rdcost<rdcost_th(cu_width,tu_is_split,is_mvf_all_eq)(2)其中,coefnum为非零DCT系数数目,coefnum_th为第一阈值,rdcost为最小率失真花费,rdcost_th为第二阈值。需要说明的是,所述第一阈值coefnum_th和第二阈值rdcost_th,可以为通过运行编码器,根据大量的测试结果测试得到的经验值。在具体应用中,coefnum的值越大,说明当前编码单元的预测越不精确,残差越多;rdcost的值越大说明当前编码单元的复杂度越高,该编码单元需要的预测花费和残差的DCT变换花费都较多。本发明实施例可以预置较小的第一阈值coefnum_th和第二阈值rdcost_th,使得在满足上述分割条件时,表示coefnum和rdcost的值都比较小,在这种情况下,说明当前编码单元的复杂度较低,按照当前尺寸进行预测已经很精确了,即使将该编码单元分割成4个子编码单元分别进行独立预测,得到的预测结果差异也并不明显,因此,当前编码单元可以不再继续分割,从而可以节省对每个子编码单元进行独立预测所花费的计算量。在本发明实施例中,所述coefnum_th为依据cu_width、tu_is_split、以及is_mvf_all_eq所确定。其中,所述cu_width为当前编码单元的尺寸,所述is_mvf_all_eq为当前编码单元的均匀运动场参数,在is_mvf_all_eq为1时,表示当前编码单元的各部分具有相同的运动场;在is_mvf_all_eq为0时,表示当前编码单元的各部分不具有相同的运动场。所述tu_is_split为当前编码单元的变换单元划分参数,在tu_is_split为1时,表示当前编码单元对应的变换单元继续划分;在tu_is_split为0时,表示当前编码单元对应的变换单元不再继续划分。具体地,coefnum_th的值随cu_width的增加而增大;coefnum_th的值在tu_is_split为1时比在tu_is_split为0时显著增大;coefnum_th的值在is_mvf_all_eq为1时比在is_mvf_all_eq为0时显著增大。在本发明的一种可选实施例中,可以通过如下步骤确定所述均匀运动场参数:步骤S21、确定所述当前编码单元的最优参考索引;具体地,可以确定当前编码单元2N×2N模式的最优参考索引best_ref,如果当前编码单元的2N×2N模式是双向运动补偿,那么可以存在两个最优参考索引,则从中随意选择一个即可。步骤S22、将所述当前编码单元分割为多个子编码单元;具体地,可以将当前编码单元分割为4个N×N子编码单元。步骤S23、以所述最优参考索引对应的最优运动向量为参考,对所述多个子编码单元分别进行运动估计,以得到所述多个子编码单元分别对应的运动向量;具体地,可以最优参考索引对应的最优运动向量best_mv为参考,对上述4个子编码单元分别执行一次运动估计,以得到所述子编码单元对应的运动向量。步骤S24、在所有的子编码单元对应的运动向量均和所述最优运动向量相同时,设置所述编码单元的均匀运动场参数为1;否则,设置所述编码单元的均匀运动场参数为0。具体地,在所述4个子编码单元对应的运动向量均和best_mv相同时,则,可以确定当前编码单元具有均匀运动场,则设置变量is_mvf_all_eq的值为1;否则,可以确定当前编码单元不具有均匀运动场,则设置变量is_mvf_all_eq的值为0。在本发明的又一种可选实施例中,所述确定当前编码单元对应的最优编码模式的步骤,具体可以包括:步骤S31、确定所述当前编码单元对应的预测单元分割模式;在HECV中,使用PU(PredictionUnit,预测单元)实现对编码单元CU的预测过程。其中,PU以CU为基础进行分割,每个CU可以分割为1个、2个或者4个PU。PU的分割是和预测模式相关的,其中,预测模式具体可以包括:帧内(intra)模式和帧间(inter)模式。对于采用帧内模式编码的CU,可以采用PART_2N×2N和PART_N×N两种PU分割方式;对于采用帧间模式编码的CU,可以采用PART_2N×2N、PART_2N×N、PART_N×2N、PART_2N×nU、PART_2N×nD、PART_nL×2N和PART_nR×2N七种PU分割方式。参照图2,示出了本发明实施例的一种PU分割模式示意图。步骤S32、确定所述当前编码单元对应的变换单元分割模式;在HECV中,使用TU(TransformUnit,变换单元)实现对编码单元的变换过程。其中,TU以CU为基础进行分割,TU的形状为正方形,并且以四叉树结构进行分割,每个CU可能包含一个或多个TU。步骤S33、对所有预测单元分割模式和变化单元分割模式组成的模式组合,分别计算对应的率失真花费,确定其中率失真花费最小的模式组合为最优编码模式。在具体应用中,由于一个CU可以对应有很多的PU分割模式,以及一个CU又可以对应有很多的TU分割模式,所以编码器通常对CU的所有PU分割模式以及TU分割模式的组合进行搜索,分别计算各种组合对应的率失真花费,然后选择使得率失真花费最小的PU分割模式和TU分割模式,并把这个最小率失真花费作为该CU的率失真花费。综上,本发明实施例在对编码单元进行分割的过程中,确定编码单元当前分割模式对应的非零量化系数数目和最小率失真花费,在所述非零量化系数数目和最小率失真花费满足终止分割条件时,终止对所述编码单元的分割。由于在满足终止分割条件时,终止对编码单元的继续分割,因此,可以避免对当前CU遍历计算所有的分割模式,从而能够在一定程度减少当前CU分割过程中的运算量及复杂度,进一步地可以降低编码的复杂度和编码时间。应用示例为了使本领域技术人员更加理解本发明实施例的编码单元的分割方法,下面通过具体示例说明本发明实施例的实现过程。对于一个宽度小于64且大于8的当前CU,首先决定当前CU的最优模式。具体地,可以通过逐个测试其可选的模式,得到率失真花费最小的模式,并且得到当前CU对应的变换单元的划分信息tu_is_split、非零DCT系数数目coefnum和最小率失真花费rdcost。然后,获得当前CU的2N×2N模式的一个最优参考索引best_ref(如果当前CU的2N×2N模式是双向运动补偿,那么最优参考索引是2个,随意选择一个即可),将当前CU块划分为四个N×N块,以最优参考索引对应的2N×2N的最优运动向量best_mv为参考,分别执行一次运动估计,判断其运动向量是否全部和best_mv相同,如果相同,设置is_mvf_all_eq为1,否则为0。最后,判断如下两个不等式是否成立,若成立,则终止当前CU的进一步分割。coefnum<coefnum_th(cu_width,tu_is_split,is_mvf_all_eq)rdcost<rdcost_th(cu_width,tu_is_split,is_mvf_all_eq)本发明改进了CU分割算法,可以节省一部分CU模式的计算,从而极大节省计算复杂度。具体地,可以加速H.265编码器14%,而压缩效率损失仅为0.6%。需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。装置实施例参照图3,示出了本发明实施例的一种编码单元的分割装置的结构框图,具体可以包括如下模块:模式确定模块310,用于确定当前编码单元对应的最优编码模式;参数确定模块320,用于确定所述最优编码模式对应的非零DCT系数数目和最小率失真花费;及条件判断模块330,用于在非零DCT系数数目和最小率失真花费满足终止分割条件时,终止对所述当前编码单元的分割。在本发明的一种可选实施例中,所述终止分割条件具体可以包括:所述非零DCT系数数目小于第一阈值,且所述最小率失真花费小于第二阈值;其中,所述第一阈值、所述第二阈值为依据所述当前编码单元的尺寸参数、变换单元划分参数、以及均匀运动场参数所确定。参照图4,示出了本发明实施例的另一种编码单元的分割装置的结构框图。具体可以包括如下模块:模式确定模块410、参数确定模块420、条件判断模块430、运动场参数确定模块440;其中,所述运动场参数确定模块440,用于确定均匀运动场参数;所述运动场参数确定模块440,具体可以包括:索引确定子模块441,用于确定所述当前编码单元的最优参考索引;分割子模块442,用于将所述当前编码单元分割为多个子编码单元;运动估计子模块443,用于以所述最优参考索引对应的最优运动向量为参考,对所述多个子编码单元分别进行运动估计,以得到所述多个子编码单元分别对应的运动向量;参数确定子模块444,用于在所有的子编码单元对应的运动向量均和所述最优运动向量相同时,设置所述当前编码单元的均匀运动场参数为1;否则,设置所述当前编码单元的均匀运动场参数为0。在本发明的一种可选实施例中,所述参数确定模块420,具体可以包括:非零系数数目确定子模块421,用于确定所述最优编码模式对应的非零DCT系数数目;所述非零系数数目确定子模块421,具体可以包括:预测单元4211,用于根据所述最优编码模式确定所述当前编码单元对应的预测图像;残差计算单元4212,用于将所述预测图像和所述当前编码单元对应的源图像相减得到对应的残差;量化单元4213,用于对所述残差执行DCT变换以及量化操作,得到非零DCT系数数目。在本发明的另一种可选实施例中,所述参数确定模块420,具体可以包括:最优模式确定子模块422,用于确定当前编码单元对应的最优编码模式;所述最优模式确定子模块422,具体可以包括:预测模式确定单元4221,用于确定所述当前编码单元对应的预测单元分割模式;分割模式确定单元4222,用于确定所述当前编码单元对应的变换单元分割模式;最优模式确定单元4223,用于对所有预测单元分割模式和变化单元分割模式组成的模式组合,分别计算对应的率失真花费,确定其中率失真花费最小的模式组合为最优编码模式。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。以上对本发明所提供的一种编码单元的分割方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1