一种使用基于历史的运动矢量预测的编码器、解码器及相应方法技术

技术编号:35814050 阅读:15 留言:0更新日期:2022-12-03 13:37
本发明专利技术实施例提供了图像编码方法和设备(编码器和/或解码器)。对图像的分块中的当前译码树单元(Coding Tree Unit,CTU)行对应的基于历史的运动矢量预测(History

【技术实现步骤摘要】
NumHmvpCand=0将变量NumHmvpCand设置为0来完成。基本上,使用变量NumHmvpCand跟踪HMVP列表(HMVP list)中有效候选的数量,并且只有以范围0
……ꢀ
NumHmvpCand内的索引为起始的HMVP候选还用于构建融合列表。其中,初始化是根据预 定义的条件进行的。一个分块组可以包括一个或多个分块,一个分块包括一个或多个CTU。 从左到右以分块为单位逐行完成对CTU的处理。一般的层次结构是:图像包含分块组,然 后分块组包含分块。分块包含CTU,且从分块的左列边界开始到该分块的右列边界的每组 CTU构成该分块内部的一个CTU行。
[0013]换言之,可以通过检查给定CTU的地址与列表中的CTU的地址是否相同,来识别分块 中的每个CTU行中的第一个CTU,其中,该列表存储以CTB为单位的左分块列边界的地址, 该地址间接表示分块中的每个CTU行中的第一个CTU。
[0014]根据前述方面,在所述方法的一种可能的实现方式中,所述对当前CTU行对应的 HMVP列表进行初始化可以包括以下步骤:
[0015]重置当前CTU行对应的所述HMVP列表;和/或
[0016]为当前CTU行对应的所述HMVP列表设置默认值;和/或
[0017]基于编码和/或扫描顺序上的前一个CTU行中的CTU的HMVP列表对当前CTU行对应 的所述HMVP列表进行初始化。
[0018]这里,可以在满足以下条件时对所述HMVP列表进行初始化:
[0019]CtbAddrX==CtbToTileColBd[CtbAddrX]。
[0020]列表CtbToTileColBd[ctbAddrX]包括从水平CTB地址到以CTB为单位的左分块列边界 的地址的转换,“ctbAddrX”的范围为“0至PicWidthInCtbsY”(包括端值)。因此,在水平 CTB地址CtbAddrX与左分块列边界的地址相同时,可以满足以下等式:
[0021]CtbAddrX==CtbToTileColBd[CtbAddrX]。
[0022]其中,该左分块列边界的地址基本上是分块中的每个CTU行中的第一个CTU。当满足 上述条件时,NumHmvpCand设置为0(NumHmvpCand=0)。这相当于重置或清空HMVP 列表。
[0023]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 编码和/或扫描顺序上的前一个CTU行是在所述编码和/或扫描顺序上与当前CTU行紧邻的 前一个CTU行。
[0024]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 所述在编码和/或扫描顺序上与当前CTU行紧邻的前一个CTU行是与所述当前CTU行空间 相邻或直接相邻的CTU行。
[0025]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 所述对当前CTU行对应的HMVP列表进行初始化的操作在分块组(tile group,TG)的起始 处执行,在所述分块的起始处执行,或者在所述分块中每个CTU行的起始处执行。
[0026]这里,三种情况可以是一致的。可以在满足以下条件时对所述HMVP列表进行初始化:
[0027]CtbAddrX==CtbToTileColBd[CtbAddrX]。
[0028]列表CtbToTileColBd[ctbAddrX]包括从水平CTB地址到以CTB为单位的左分块列边界 的地址的转换,“ctbAddrX”的范围为“0至PicWidthInCtbsY”(包括端值)。因此,在水平 CTB地址CtbAddrX与左分块列边界的地址相同时,可以满足以下条件:
的长度加1,并将所述运动矢量添加到所述HMVP列表中。
[0046]根据前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中,仅在所述 HMVP列表中未包含运动信息的情况下才增加所述HMVP列表的长度以及添加所述运动矢 量。
[0047]根据前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中,所述运动信 息包括运动矢量和参考图像索引中的至少一种。
[0048]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 仅对所述HMVP列表的长度进行增加操作,直到达到所述HMVP列表的最大长度。
[0049]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 所述方法还包括:
[0050]仅根据所述HMVP列表的当前长度考虑减少的HMVP列表候选的数量对所述当前CTU 的当前块进行编码,其中,所述HMVP列表的当前长度小于所述HMVP列表的最大长度。
[0051]根据前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中,所述减少的 HMVP列表候选的数量对应于或等于所述HMVP列表的当前长度。
[0052]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 无论分块的尺寸如何,都针对所述分块中的每个CTU行重置HMVP列表。
[0053]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 当分块的尺寸大于或等于阈值尺寸时,针对所述分块中的每个CTU行重置HMVP列表,和/ 或当分块的尺寸小于所述阈值尺寸时,不针对所述分块中的每个CTU行重置HMVP列表。
[0054]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 所述为当前CTU行对应的所述HMVP列表设置默认值包括:
[0055]将所述HMVP列表中的运动矢量(motion vector,MV)填充为单向预测方式中的MV;
[0056]其中,所述单向预测方式中的MV为零运动矢量或非零运动矢量;
[0057]参考图像包括列表0(list 0,L0)中的第一参考图像;和/或
[0058]将所述HMVP列表中的MV填充为双向预测方式中的MV,其中,所述双向预测方式 中的MV为零运动矢量或非零运动矢量,参考图像包括列表L0中的第一参考图像以及列表 1(list 1,L1)中的第一参考图像。
[0059]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 每个并置图像存储对应每个CTU行或对应整个图像的时域HMVP列表,所述为当前CTU 行对应的所述HMVP列表设置默认值包括:
[0060]根据所述时域HMVP列表对当前CTU行对应的所述HMVP列表进行初始化。
[0061]根据前述方面或前述方面的任一前述实现方式,在所述方法的一种可能的实现方式中, 所述前一个CTU行是与所述当前CTU行紧邻且位于所述当前CTU行上方的CTU行;
[0062]所述前一个CTU行中的所述CTU为所述前一个CTU行中的第二个CTU,或者所述前 一个CTU行中的所述CTU为所述前一个CTU行中的第一个CTU。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种由编码设备实现的图像编码方法,其特征在于,包括:在满足CtbAddrX==CtbToTileColBd[CtbAddrX])条件下,对图像的分块中的当前译码树单元(Coding Tree Unit,CTU)行对应的基于历史的运动矢量预测(History

based Motion Vector Prediction,HMVP)列表进行初始化;根据所述初始化的HMVP列表处理当前CTU行中的CTU。2.根据权利要求1所述的方法,其特征在于,所述对当前CTU行对应的HMVP列表进行初始化包括以下步骤:重置当前CTU行对应的所述HMVP列表;和/或为当前CTU行对应的所述HMVP列表设置默认值;和/或基于编码和/或扫描顺序上的前一个CTU行中的CTU的HMVP列表,对当前CTU行对应的所述HMVP列表进行初始化。3.根据权利要求2所述的方法,其特征在于,所述编码和/或扫描顺序上的前一个CTU行是在所述编码和/或扫描顺序上与当前CTU行紧邻的前一个CTU行。4.根据权利要求3所述的方法,其特征在于,所述在编码和/或扫描顺序上与当前CTU行紧邻的前一个CTU行是与所述当前CTU行空间相邻或直接相邻的CTU行。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述对当前CTU行对应的HMVP列表进行初始化的操作在分块组(tile group,TG)的起始处执行,或者在所述分块的起始处执行,或者在所述分块中每个CTU行的起始处执行。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述对当前CTU行对应的HMVP列表进行初始化的操作,是在处理所述当前CTU行中编码和/或扫描顺序上的第一个CTU之前执行的,其中,所述当前CTU行中的第一个CTU是或者包括:分块组(tile group,TG)中编码和/或扫描顺序上的第一个CTU;和/或分块中编码和/或扫描顺序上的第一个CTU;和/或CTU行中编码和/或扫描顺序上的第一个CTU。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述对当前CTU行对应的HMVP列表进行初始化包括:重置当前CTU行对应的所述HMVP列表,其中,所述重置当前CTU行对应的所述HMVP列表包括:将所述HMVP列表的长度置零,以处理所述当前CTU行中编码或扫描顺序上的第一个CTU。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述对当前CTU行对应的HMVP列表进行初始化包括:重置当前CTU行对应的所述HMVP列表,其中,重置分块中第一个CTU对应的HMVP列表允许并行处理或编码分块。9.根据权利要求8所述的方法,其特征在于,所述对当前CTU行对应的HMVP列表进行初始化包括:重置当前CTU行对应的所述HMVP列表,其中,重置每个分块中第一个CTU对应的HMVP列表允许并行处理或编码分块。10.根据权利要求1至9中任一项所述的方法,其特征在于,所述对当前CTU行对应的HMVP列表进行初始化的操作,是在处理各个CTU行中的第一个CTU之前针对分块中的每个CTU行执行的。11.根据权利要求10所述的方法,其特征在于,所述重置当前CTU行对应的所述HMVP列
表还包括:当使用运动矢量对第一个CTU的块进行编码,即进行帧间编码时,将所述HMVP列表的长度加1,并将所述运动矢量添加到所述HMVP列表中。12.根据权利要求11所述的方法,其特征在于,仅在所述HMVP列表中未包含运动信息的情况下,才增加所述HMVP列表的长度以及添加所述运动矢量。13.根据权利要求12所述的方法,其特征在于,所述运动信息包括运动矢量和参考图像索引中的至少一种。14.根据权利要求6至13中任一项所述的方法,其特征在于,仅对所述HMVP列表的长度进行增加操作,直到达到所述HMVP列表的最大长度。15.根据权利要求6至14中任一项所述的方法,其特征在于,所述方法还包括:仅根据所述HMVP列表的当前长度考虑减少的HMVP列表候选的数量,对所述当前CTU的当前块进行编码,其中,所述HMVP列表的当前长度小于所述HMVP列表的最大长度。16.根据权利要求15所述的方法,其特征在于...

【专利技术属性】
技术研发人员:阿南德
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1