用于二叉树分割块的确定候选集的方法及装置与流程

文档序号:17441761发布日期:2019-04-17 04:51阅读:192来源:国知局
用于二叉树分割块的确定候选集的方法及装置与流程

本发明主张在2016年9月6日提出的申请号为62/383,697的、标题为“用于视频编码的新方法”的美国临时专利申请的优先权,其内容以引用方式整体并入本文中。

本发明涉及编码或者解码二叉树分割块(binary-treesplittingblock)的视频数据处理方法及装置。具体地,本发明涉及确定候选集以用于编码或者解码二叉树分割块。



背景技术:

高效率视频编码(highefficiencyvideocoding,hevc)是由itu-t研究组的视频编码联合小组(jointcollaborativeteamonvideocoding,jct-vc)的视频编码专家开发的最新国际视频编码标准。hevc标准依赖于基于块的编解码结构,其将每个片段(slice)分割成多个正方形编码树单元(codingtreeunits,ctu)。在hevc主文档中,编码树单元的最小尺寸和最大尺寸由发信在序列参数集(sequenceparameterset,sps)中的语法元素来指定。光栅扫描顺序用于处理片段中的编码树单元,使用四叉树分割(quadtreepartitioning)方法,每个编码树单元进一步被递归分割成一个或多个编码单元(codingunit,cu)。在四叉树分割方法的每个深度处,nxn块为单个叶编码单元或者被分割成四个尺寸为n/2xn/2的块,其为编码树节点。如果编码树节点不被进一步分割,则其为叶编码单元。编码单元尺寸被限制成小于或者等于最小允许编码单元尺寸,其也在序列参数集中被指定。如图1所示,是编码树单元的四叉树块分割结构的示例,其中实线表示编码树单元100中的编码单元分界线。

在编码单元层处作出预测决策,其中每个编码单元由帧间图像预测或者帧内图像预测来编码。一旦编码单元分层树的分割完成,根据用于预测的预测单元(predictionunit,pu)分割类型,每个编码单元被进一步分割成一个或多个预测单元。图2示出了hevc标准中所定义的8种预测单元分割类型。根据图2中的这8种预测单元分割类型中的一个,每个编码单元被分割成1个、2个或者4个预测单元。预测单元用作基本表示块,以在相同预测流程被应用到预测单元中所有像素时共享预测信息。预测信息基于预测单元被传递到解码器。在获取由预测流程产生的残差信号之后,根据另一四叉树块分割结构,属于编码单元的残差信号的残差数据被分割成一个或多个变换单元(transformunit,tu),以将残差数据变换成用于简化数据表示的变换系数。图1中的虚线表示变换单元分界线。变换单元是基本的数据表示块以将变换和量化应用到残差数据上。对于每个变换单元,具有与变换单元相同尺寸的变换矩阵被应用到残差信号上以生成变换系数,并且这些变换系数基于变换单元而被量化且被传递到解码器。

术语编码树块(codingtreeblock,ctb)、术语编码块(codingblock,cb)、术语预测块(predictionblock,pb)和术语变换块(transformblock,tb)被定义,以指定分别与编码树单元、编码单元、预测单元和变换单元相关的一个颜色分量的二维样本序列。例如,编码树单元包括一个亮度编码树块、两个色度编码树块及其相关语法元素。在hevc系统中,除非达到色度块的最小尺寸,相同的四叉树块分割结构通常被应用到亮度分量和色度分量。

一种替代分割方法称为二叉树块分割,其中块被递归分割成两个更小块。图3示出了用于二叉树分割方法的六种示例分割类型,包括对称分割31和对称分割32以及非对称分割33、非对称分割34、非对称分割35和非对称分割36。最简单的二叉树分割方法仅允许对称水平分割32和对称垂直分割31。对于尺寸为nxn的给定块,第一标志被发信指示这个块是否被分割成两个更小块,随后如果第一标志指示分割则指示分割类型的第二标志被发信。如果分割类型为对称水平分割,则这个nxn块被分割成两个尺寸为nxn/2的块,并且如果分割类型为对称垂直分割,则这个nxn块被分割成两个尺寸为n/2xn的块。分割流程可以被重复直到分割块的尺寸、宽度或者高度达到由视频比特流中高层语法所定义的最小允许尺寸、宽度或者高度。如果块高度小于最小高度,则水平分割隐含地不被允许,相似地,如果块高度小于最小宽度,则垂直分割隐含地不被允许。

图4a和图4b示出了根据二叉树分割方法及其相应的编码树结构的块分割的示例。在图4b中,位于二叉树编码树的每个分割节点(即非叶节点)的一个标志用于指示分割类型,标志值等于0表示水平对称分割,而标志值等于1指示垂直对称分割。在编码或者解码流程中,有可能在块分割的任何层处使用二叉树分割方法,例如,二叉树分割方法可以用于将片段(slice)分割成编码树单元,编码树单元分割成编码单元,编码单元分割成预测单元,或者编码单元分割成变换单元。由于二叉树块分割结构的叶节点是用于预测和变换编解码的基本的表示块,通过省略从编码单元到预测单元和从编码单元到变换单元的分割,也有可能简化分割流程。

尽管二叉树分割方法支持更多分割形状且因而比四叉树分割方法更灵活,但是由于在所有可能的分割形状中选择最佳分割形状而使得编解码复杂度增加了。一种称为四叉树-二叉树(quad-tree-binary-tree,qtbt)结构的结合分割方法将四叉树分割方法与二叉树分割方法进行结合,其平衡这两种分割方法的编解码效率和编解码复杂度。如图5a所示,是四叉树-二叉树结构的示例,其中首先一个较大块由四叉树分割方法来分割,然后由二叉树分割方法来分割。图5a示出了根据四叉树-二叉树分割方法的块分割结构的示例,图5b标出了编解码树示意图以用于如图5a所示的四叉树-二叉树块分割结构。图5a和图5b中的实线表示四叉树分割,而虚线表示二叉树分割。与图4b相似,在二叉树结构的每个分割节点(即非叶节点)中,一个标志指示使用哪个分割类型,0表示水平对称分割而1表示垂直对称分割。图5a中的四叉树-二叉树结构将较大块分割成多个更小块,并且这些更小块由预测和变换编解码来处理,而无需进一步分割。在一个示例中,如图5a中的较大块是尺寸为128x128的编码树单元,最小允许四叉树叶节点尺寸为16x16,最大允许二叉树根节点尺寸为64x64,最小允许二叉树叶节点宽度或者高度为4,以及最小允许二叉树深度为4。在本示例中,叶四叉树块可以具有从16x16到128x128的尺寸,并且由于尺寸超过最大允许二叉树根节点尺寸64x64,如果叶四叉树块为128x128,则其不能由二叉树结构进一步分割。叶四叉树块用作二叉树深度等于0的根二叉树块。当二叉树深度达到4时,隐含不进行分割;当二叉树节点的宽度等于4时,隐含不进行垂直分割;以及当二叉树节点的高度等于4时,隐含不进行水平分割。对于在i片段中被编码的编码树单元,用于色度编码树块的四叉树-二叉树块分割结构可以与用于相应亮度ctb的四叉树-二叉树块分割结构不同。对于在p片段或者b片段中被编码的编码树单元,相同的四叉树-二叉树块分割结构可以被应用到亮度ctb和色度ctb。

通过自空间相邻块或者时间同位块(temporalcollocatedblock)继承运动信息,hevc标准中的跳跃模式(skipmode)和合并模式(mergemode)降低发信运动信息的数据位。对于以跳跃模式或者合并模式编码的预测单元,当预测单元重新使用包括所选择的最终候选的运动向量(motionvector,mv)、预测方法和参考图像索引的运动信息时,仅所选择的最终候选的索引被编码,而非运动信息。当以合并模式编码预测单元时,也称为参考数据的预测误差被编码,然而,在残差数据被强制为0时,跳跃模式进一步跳过发信残差数据。图6示出了用于当前块60的合并候选集(mergecandidateset),其中合并候选集包括hevc标准的发展期间的hevc测试模型3.0(hevctestmodel3.0,hm-3.0)四个空间合并候选和一个时间合并候选。第一合并候选为左侧预测子am620,第二合并候选为顶部预测子bn622,第三合并候选为时间预测子的第一可用时间预测子tbr624和tctr626,第四合并候选为右上预测子b0628,以及第五合并候选为左下预测子a0630。从用于基于速率失真优化(ate-distortionoptimization,rdo)决策以跳跃模式或者合并模式而编码的每个预测单元的候选集中编码器选择一个最终候选,以及表示所选择的最终候选的索引被发信到解码器。根据被发送在视频比特流中的这个索引,解码器从候选中选择相同的最终候选。

图7示出了用于hm-4.0中定义的当前块70的合并候选,其中合并候选集包括从空间预测子a0720、空间预测子a1722、空间预测子b0724和空间预测子b1726这四个空间预测子中推导出的四个空间合并候选,以及从时间预测子tbr728或者时间预测子tctr730中推导出的一个时间合并候选。仅如果时间预测子tbr728不可用,时间预测子tctr730才被选择。左上预测子b2732用于替换一个不可用的空间预测子。在这四个空间合并候选和一个时间合并候选的推导流程之后,修剪流程(pruningprocess)被使用以移除多余的合并候选。如果在修剪流程之后合并候选的数量小于5,三种类型的额外候选被推导并被添加到合并候选集中。



技术实现要素:

本发明提供一种视频编解码系统中确定用于二叉树分割块的候选集的方法及装置,其接收与当前图像中的当前块相关的输入数据,确定用于该当前块的该候选集,以及通过从该候选集中选择一个最终候选,基于该候选集编码或者解码该当前块。该当前块为自母块分割而来的二叉树分割块。如果以帧间预测编解码该相邻块,本发明的一些实施例通过禁止自与该当前块自相同的母块分割而来的该相邻块推导出的空间候选,例如,如果该相邻块被以高级运动向量预测模式、合并模式或者跳跃模式编解码,则自该相邻块推导出的空间候选从该候选集中被移除。当前块重新使用用于运动补偿的所选择的最终候选的运动信息,以推导出用于该当前块的预测子。

在一个实施例中,一个标志被发信,以指示该候选集是否禁止自该相邻块推导出的该空间候选,并且一个标志被发信,以指示该候选集是否禁止自该相邻块推导出的该空间候选。

在一些实施例中,候选集确定方法进一步包括修剪流程,其包括:扫描该候选集以判断该候选集中是否存在等于自该相邻块推导出的该空间候选的候选,并移除等于来自于该候选集中的该空间候选的该候选。例如,编码器或者解码器存储自该相邻块推导出的该空间候选的运动信息,并将其与该候选集中的每个候选进行比较。被发信在序列层、图像层、片段层或者预测单元层中的标志可以用于指示该修剪流程是否被使能或者禁能。

在候选集确定方法的变形中,该相邻块被进一步分割成用于运动估计或者运动补偿的多个子块。编码器或者解码器进一步该相邻块内部的运动信息,以判断该相邻块内部的运动信息是否均相同。在一个实施例中,如果该相邻块内部的运动信息均相同,且以帧间预测编解码该多个子块,则禁止自该相邻块推导出的任何空间候选。在另一实施例中,如果该相邻块内部的运动信息均相同,且以帧间预测编解码该多个子块,则执行修剪流程。该修剪流程包括扫描该候选集,并从候选集中移除等于在相邻块内的任何子块推导出的空间候选的任何候选。通过检测相邻块内部的每个最小块,一个实施例确定相邻块内部的运动信息是否均相同,每个最小块的尺寸为mxm,且每个子块大于或者等于最小块的尺寸。一个标志可以被发信,以指示候选集禁止方法或者修剪流程是否被使能或者禁能。

一些其他实施例的用于由二叉树分割自母块分割而来的当前块的候选集确定用于当前块的候选集,并确定自相同的母块分割而来的相邻块的运动信息,根据相邻块的运动信息执行修剪流程,并通过从候选集中选择一个最终候选,基于候选集编码或者解码当前块。修剪流程包括扫描候选集以判断候选集中是否存在等于相邻块的运动信息的任何候选,并从候选集中移除等于相邻块的运动信息的候选。基于所选择的最终候选的运动信息,预测子被推导出以编码或者解码当前块。

本发明的方面进一步提供一种用于视频编解码系统的装置,其缺点用于二叉树分割块的候选集。装置的实施例接收由二叉树分割自母块分割而来的当前块的输入数据,如果相邻块被以帧间预测编解码,则通过禁止自自相同的母块分割而来的相邻块推导出的空间候选,确定用于当前块的候选集,或者通过执行将具有运动信息等于自相邻块推导出的运动信息的任何候选移除的修剪流程,确定用于当前块的候选集。基于候选集,该装置编码或者解码当前块。

本发明的方面进一步提供一种非暂时性计算机可读介质,其存储有程序指令,用于使得装置的处理电路执行视频编解码流程,以基于候选集编码或者解码由二叉树分割分割而来的当前块。通过禁止自自相同的母块分割而来的相邻块推导出的空间候选,确定候选集,或者通过执行将具有运动信息等于自相邻块推导出的运动信息的任何候选移除的修剪流程,确定候选集。一旦阅读下面的具体实施例的描述,本发明的其他方面和特征对于这些本领域技术人员将是明显的。

附图说明

将结合下面的图式对被提供作为示例的本发明的各种实施例进行详细描述,其中相同的符号表示相同的组件,以及其中:

图1是根据四叉树分割方法将编码树单元分割成编码单元并将每个编码单元分割成一个或多个变换单元的示例性编解码树。

图2是hevc标准中所定义的将编码单元分割成一个或多个预测单元的8种不同的预测单元分割类型。

图3是二叉树分割方法的六种示例性分割类型。

图4a是根据二叉树分割方法的示例性块分割结构。

图4b是对应于如图4a中所示的块分割结构的编码树结构。

图5a是根据四叉树-二叉树分割方法的示例性块分割结构。

图5b是对应于图5a的块分割结构的编解码树结构。

图6是hevc测试模型3.0中所定义的构造当前块的合并候选集。

图7是hevc测试模型4.0中所定义的构造当前块的合并候选集。

图8a是第一实施例的确定候选集的一个示例,其禁止自左侧相邻块的运动信息而推导出的空间候选。

图8b是第一实施例的确定候选集的另一示例,其禁止自上层相邻块的运动信息而推导出的空间候选。

图9a-图9d是用于产生当前块和相邻块的二叉树分割的四个其他示例,其中相邻块的运动信息不包含在给当前块构造的候选集中。

图10a-图10b是将空间候选禁止方法应用到当前块的第三实施例的示例,其中当前块的相邻块以二叉树方式被进一步分割成子块(sub-block)。

图10c-图10g是将第三实施例应用到五种其他示例的二叉树分割的示例。

图11是一个实施例视频数据处理方法的流程图,以用于通过在确定候选集期间禁止自相邻块而推导出的空间候选而编解码二叉树分割块。

图12是一个实施例视频数据处理方法的流程图,以用于通过在确定候选集期间移除等于相邻块的运动信息的任何候选而编解码二叉树分割块。

图13是根据本发明实施例的用于包括视频数据处理方法的视频编码系统的示例性系统的结构示意图。

图14是根据本发明实施例的用于包括视频数据处理方法的视频解码系统的示例性系统的结构示意图。

具体实施方式

将很容易理解的是,如本文图式中所通常描述和说明,本发明的组件可以被设置和设计在各种不同的配置中。因此,如图式中所示,以下本发明的系统和方法的实施例的更详细的描述不用于限制本发明的范围,但仅仅表示本发明的选定实施例。

参考整个本文到“实施例”、“一些实施例”或类似的语言意味着与实施例有关的特定特征、结构或特性可以包括在本发明的至少一个实施例中。因此,贯穿本文的各个地方的短语“在实施例中”或“在某些实施例中”的出现不一定都是指同一实施例,这些实施例可以单独地被实施或与一个或多个其它实施例结合而被实施。此外,在一个或多个实施例中,所描述的特征、结构或特性可以以任何合适的方式进行组合。然而,相关技术中的技术人员将认识到的是,本发明可以被实施而无需一个或者多个具体细节,或者需要其他方法及组件等。在其他情况下,已知的结构或已知的操作不被显示或不被详细描述,以避免模糊本发明的各个方面。

本发明的实施例构造候选集以用于编码或者解码由二叉树块分割方法分割的块,例如,块由四叉树-二叉树分割结构中的二叉树分割而分割。下面仅说明对称水平分割和对称垂直分割,但是本发明可以被应用到非对称水平分割和非对称垂直分割。该候选集可以是包括如图6或图7中所示的一个或多个空间候选和时间候选的合并候选集。候选集被构造用于编码或者解码以帧间模式(intermode)中的一个而编解码的当前块,一个最终候选自构造的候选集中选择,并且通过根据最终候选的运动信息推导出预测子,当前块被编码或者解码。

第一实施例在本发明的第一实施例中,如果当前块由二叉树分割,则用候选禁止方法,从空间相邻块和时间相邻块的运动信息中确定候选集。图8a是第一实施例的一个示例,其禁止自左侧相邻块802的运动信息中选择用于当前块804的空间候选。当前块804和左侧相邻块802为自相同的母块(parentblock)80分割而来的二叉树分割块,例如,当前块804和左侧相邻块802为由对称垂直分割方法分割而来的预测块(predictionblock)。一个示例的母块80为四叉树-二叉树结构中二叉树分割之前的根节点,其也被称为叶四叉树块。当当前块804被以合并模式或者跳跃模式编解码时,为了构造用于当前块804的候选集,如果左侧相邻块的编解码模式为帧间模式,则候选禁止方法总是禁止来自于左侧相邻块802的空间候选。帧间模式包括高级运动向量预测(advancemotionvectorprediction,amvp)模式、跳跃模式和合并模式。自左侧相邻块802而推导出的运动信息不能被添加到用于当前块804的候选集中。通过应用第一实施例,如果当前块804和左侧相邻块802由二叉树分割而自母块分割而来,则不允许将当前块804合并到左侧相邻块802,并且左侧相邻块802被以帧间预测编解码。

同理,图8b是第一实施例的另一示例,其禁止自上层相邻块822的运动信息中选择用于当前块824的空间候选。根据二叉树分割的对称水平分割,当前块824和上层相邻块822自母块82分割而来。如果上层相邻块822被以帧间预测编解码,则第一实施例通过禁止或者移除自上层相邻块822而推导出的空间候选,构造用于当前块824的候选集,其中,与帧间预测相关的帧间模式包括高级运动向量预测模式、跳跃模式和合并模式。

一个标志可以被发信以指示自与当前块相同母块的相邻块而推导出的空间候选是否自当前块的候选集中被禁止或者移除。例如,被发信在序列层、图像层、片段层或者预测单元层的标志merge_cand_prohibit_en用于指示第一实施例的候选禁止方法是否被使能。这个标志merge_cand_prohibit_en的值被推断为1,指示当这个标志不存在时使能候选禁止方法。

用于第一实施例的空间候选禁止方法的通常规则对所有种类的二叉树分割可用。图9a到图9d显示了四种示例的二叉树分割,其中图9a和第9b图示出了二叉树分割之前块宽度小于块高度的情况,第9c图和图9d示出了二叉树分割之前块宽度大于块高度的情况。当前块904和左侧相邻块902根据图9a中的垂直二叉树分割而自母块90分割得到,并且当前块904将被以合并模式或者跳跃模式编码或者解码。当构造用于当前块904的合并候选集时,如果左侧相邻块902被以帧间预测编解码,则第一实施例的空间候选禁止方法禁止或者移除自左侧相邻块902推导出的且来自于用于当前块904的合并候选集的空间候选。第9b图示出了根据水平二叉树分割自母块92分割而来的当前块924和上层相邻块922。当当前块将被以合并模式或者跳跃模式编解码时,合并候选集被确定以用于当前块924,并且,如果上层相邻块922被以帧间预测编解码,则第一实施例的空间候选禁止方法禁止或者移除自上层相邻块922推导出的且来自于用于当前块924的合并候选集的空间候选。当前块944和左侧相邻块942根据第9c图中的垂直二叉树分割自母块94分割而来,并且如果左侧相邻块942被以帧间预测编解码,则自左侧相邻块942推导出的空间候选不被允许包含在当前块944的合并候选集中。图9d示出了根据水平二叉树分割而自母块96分割而来的上层相邻块962和当前块964。如果上层相邻块962被以帧间预测编解码,则自上层相邻块962推导出的空间候选从用于当前块964的合并候选集中被禁止或者移除。在上述示例中,帧间预测包括高级运动向量预测模式、合并模式或者跳跃模式。

第二实施例在第二实施例中,候选集修剪方法被应用,以在当前块和相邻块来自相同的母块且由二叉树分割方法而被分割而来时确定用于当前块的候选集。候选集修剪方法首先确定自当前块的母块分割而来的相邻块的运动信息,然后扫描候选集,以检测该候选集中是否存在运动信息等于相邻块的运动信息的任何候选。具有与相邻块的运动信息相同的运动信息的候选可以是其他空间相邻块或者时间同位块。候选集修剪方法移除具有与自当前块的相同母块分割而来的相邻块的运动信息相同的一个或多个候选。第二实施例可以与第一实施例结合,以消除自相邻块推导出的运动信息,以及合并候选集中具有与相邻块相同的运动信息的任何候选。

第二实施例的候选集修剪流程的一个示例可以由下面的伪代码(pseudocodes)描述,其中部分b为当前块,部分a为与当前块的相同的母块分割而来的相邻块。如果部分b为母块的右侧块,则部分a为左侧块,或者如果部分b为母块的下层块,则部分a为上层块。在伪代码中,merge_skip_mode_cand_list_build(即部分b)是构造用于部分b的合并模式候选集或者跳跃模式候选集的流程。部分a的运动信息(即motioninfo_part_a)被设置为修剪运动信息(prunemotioninformation),其中prune_mi是存储运动信息的变量。自空间候选和时间候选中建立的用于部分b的候选集包括n个候选,即cand_list{c1,c2,c3,…c_n}。用于部分b的候选集中的每个候选被检测以确定其与修剪运动信息不相同。如果运动信息等于修剪运动信息,且如果部分a被以帧间模式、跳跃模式或者合并模式编解码,则该候选被从这个候选集中移除。运动信息可以是包含mv_x和mv_y的运动向量、参考列表、参考索引和例如局部亮度补偿标志(localilluminationcompensationflag)的其他合并感测信息中的一个或多个。

在一些示例中,根据发信在序列层、图像层、片段层或者预测单元层中的标志,第二实施例的候选集修剪流程可以被适应性地使能或者禁能。例如,标志spatial_based_pruning_en被发信,且其值为1,指示候选集修剪流程被使能,而其值为0,指示候选集修剪流程被禁能。如果这个标志不存在时,则标志spatial_based_pruning_en被推断为1。

第二实施例提供了用于候选集修剪方法的通常规则对所有种类的二叉树分割可用,其中二叉树分割之前的母块可以是正方形或者矩形形状。例如,如果母块为正方形形状,如图8a所示,相邻块802位于当前块804的左侧,或者如图8b所示,相邻块822位于当前块824的上方。如果母块为矩形形状,如图9a所示,相邻块902位于当前块904的左侧,如第9b图所示,相邻块922位于当前块924的上方,如第9c图所示,相邻块942位于当前块944的左侧,或者如

图9d所示,相邻块962位于当前块964的上方。当候选集修剪方法被使能时,用于当前块的候选集被扫描,并且,运动信息等于相邻块的运动信息的任何候选被修剪。

第三实施例除了第一实施例中的相邻块为叶节点且因此没有被进一步分割,第三实施例与第一实施例相似,而在第三实施例中,由二叉树分割自相同的母块分割而来的当前块的相邻块可以被进一步分割成更小的子块。由于这个相邻块被进一步分割成用于预测处理或者其他编解码处理的子块,第三实施例的相邻块不是叶节点。在第三实施例的示例中,叶块,例如预测单元,由四叉树-二叉树分割结构产生,并且最小块被定义成用于预测单元的最小允许块尺寸,因此每个预测单元大于或者等于最小块。最小块的尺寸为mxm,其中m为大于1的整数。例如,根据hevc标准,最小块为4x4。第三实施例的空间候选禁止方法首先检测在相邻块内部的所有最小块的运动信息是否均相同,然后检测所有最小块是否被以包括高级运动向量预测模式、合并模式和跳跃模式的帧间预测编解码。如果相邻块内部的所有最小块的运动信息均相同,且子块被以帧间预测编解码,则空间候选禁止方法禁止自相邻块内部的任何子块而推导出的空间候选。

图10a和图10b示出了第三实施例的示例,其中当前块1004为叶节点,且如图10b所示,当前块1004的相邻块1002被以二叉树的方式进一步分割。当构造用于编解码当前块1004的候选集时,第三实施例的空间候选禁止方法被应用。自相邻块1002分割而来的子块的运动信息可以相互不相同,并且如果相邻块1002内部的所有子块的运动信息均相同,且所有子块被以帧间模式、合并模式或者跳跃模式编解码,则来自于相邻块1002内部的任何子块的空间候选被禁止,以被包含在用于当前块1004的候选集中。第三实施例的一个示例检测如图10a所示的相邻块1002内部的每个最小块,以判断相邻块内的所有子块的运动信息是否相同。所分割的叶块将永不小于最小块。如果相邻块1022、相邻块1042、相邻块1062、相邻块1072和相邻块1082均被进一步分割成用于预测的子块,则第三实施例的空间候选禁止方法可以被应用到如图10c、图10d、图10e、图10f和图10g所示的其他示例性的二叉树分割结构。

第四实施例第四实施例的候选集修剪方法与第二实施例的候选集候选方法相似,如图10b所示,第四实施例中的相邻块1002被进一步分割成更小的子块,而根据第二实施例,相邻块和当前块为二叉树结构或者四叉树-二叉树结构的叶节点。第四实施例中的相邻块和当前块根据二叉树分割而自母块分割而来,并且由于被进一步分割,相邻块不是叶节点。第四实施例的候选集修剪方法首先检测相邻块内的运动信息是否均相同,并且相邻块内的所有子块是否均是帧间预测块,然后如果运动信息均相同且所有子块均是帧间预测块,则记录运动信息mi_sub。判断相邻块内的所有运动信息是否均相同或者不同的方法包括扫描相邻块内部的所有最小块,并且如果相邻块的所有最小块的运动信息均相同,则仅使用第四实施例的修剪流程。最小块被定义为用于分割的最小允许尺寸,即所分割的叶块将永不小于最小块。

当当前块被以合并模式或者跳跃模式编解码时,需要用于当前块的候选集,并且在获得用于当前块的原始候选集之后,原始候选集中的每个候选与所记录的运动信息mi_sub进行比较。具有与所记录的运动信息mi_sub相同的运动信息的候选被修剪或者自用于当前块的候选集中被移除。下面的伪代码说明候选集修剪方法一个示例,其在获得自相邻块部分a而推导出的所记录的运动信息mi_sub之后,被应用到用于当前块部分b候选集。

在上述伪代码中,merge_skip_mode_cand_list_build(partb)是第四实施例中建立用于部分b的候选集的流程,并且prune_mi为存储用于修剪流程的运动信息的变量。此处的运动信息被定义为{mv_x,mv_y,参考列表,参考索引,例如局部亮度补偿标志的其他合并敏感信息}中的一个及其结合。

标志spatial_based_pruning_en可以用于关闭或者开启第四实施例的候选集修剪方法,其中其值为1,指示候选集修剪方法被使能,其值为0,指示候选集修剪方法被禁能。用于发信该标志的单元的最小尺寸可以被单独编解码于序列层、图像层、片段层或者预测单元层中。

与上述实施例相似,第四实施例的候选集修剪方法提出了通常规则对二叉树结构或者例如四叉树-二叉树结构的涉及二叉树分割的其他组合分割结构中的所有种类的二叉树分割可用。图10a、图10c、图10d、图10e、图10f和图10g说明了用于共享相同的母块的相邻块和当前块的可能的二叉树分割的一些示例。如果相邻块内的子块被以帧间预测编解码且运动信息相同,用于当前块的候选集被检测,以移除具有与自相邻块中推导出的运动信息相同的运动信息的任意候选。

图11标出了一个实施例视频数据处理方法的流程图,以用于通过构造候选集而编解码二叉树分割块。如图11所示的视频数据处理方法可以被应用到以合并模式或者跳跃模式编解码的二叉树分割块。在步骤s1102中,从处理单元或者存储设备中接收与当前块相关的输入数据,其中当前块和相邻块由二叉树分割自相同的母块分割而来。步骤s1104检测相邻块是否被以例如高级运动向量预测模式、合并模式或跳跃模式的帧间预测编解码。在步骤s1106中,如果相邻块被以帧间预测编解码,则通过禁止自相邻块推导出的空间候选,候选集被构造以用于当前块;否则,在步骤s1108中,根据传统的候选集构造方法,候选集被构造以用于当前块。在步骤s1106或者步骤s1108中构造候选集之后,在步骤s1110中,通过从候选集中选择一个最终候选,基于候选集,当前块被编码或者解码。在编码器侧,最终候选由编码器算法来选择,例如,速率失真优化(rate-distortionoptimization,rdo),而在解码器侧,最终候选由发信在视频比特流中的索引来选择。当前块重新使用最终候选的运动信息,以用于运动预测或者运动补偿(motioncompensation)。

图12标出了另一个实施例视频数据处理方法的流程图,以用于通过构造用于合并模式或者跳跃模式的候选集而编解码二叉树分割块。在步骤s1202中,从处理单元或者存储设备中接收与当前块相关的输入数据。当前块和相邻块通过二叉树分割自相同的母块分割而来。在步骤s1204中,为了以合并模式或者跳跃模式编解码当前块,候选集被确定以用于当前块,并且相邻块的运动信息也被确定且被存储。步骤s1206检测候选集中是否存在等于相邻块的运动信息的任何候选;并且,在步骤s1208中,如果存在等于相邻块的运动信息的任何候选,则这个候选自候选集中移除。在步骤s1210中,通过从候选集中选择一个最终候选,基于候选集,当前块被编码或者解码。

图13示出了实现本发明实施例的视频编码器1300的示例性的系统结构示意图。基于当前图像的重构视频数据,帧内预测1310提供帧内预测子。帧间预测1312执行运动估计(motionestimation,me)和运动补偿,以基于来自于其他图像或者图像的视频数据而提供预测子。根据本发明的一些实施例,为了以合并模式或者跳跃模式编码当前块,如果相邻块和当前块均由二叉树分割自相同的母块分割而来,且如果相邻块以帧间预测编解码,则通过禁止自相邻块推导出的空间候选而构造候选集。如果相邻块被进一步分割成更小的子块,当相邻块内部的所有运动信息均相同,且所有子块被以帧间预测编解码时,使用空间候选禁止方法。根据一些其他实施例,修剪流程包括扫描用于当前块的候选集,以检测是否存在运动信息等于相邻块的运动信息的任何候选,以及自候选集中移除运动信息等于相邻块的运动信息的候选。在相邻块不是叶节点的情况中,如果相邻块内部的所有运动信息均相同,且相邻块中的子块被以帧间预测编解码,则使用修剪流程。帧间预测1312从用于当前块的候选集中确定最终候选,以推导出用于当前块的预测子。帧内预测1310或者帧间预测1312提供所选择的预测子给加法器1316,以形成也称为残差(residue)的预测误差。当前块的残差由位于量化(quantization,q)1320之后的变换(transformation,t)1318进一步处理。随后,变换且量化的残差信号由熵编码器1334编码,以形成视频比特流。随后,视频比特流用边信息(sideinformation)而被封装。当前块的变换且量化的残差信号由逆量化(quantization,iq)1322和逆变换(inversetransformation,it)1324处理,以恢复预测残差。如图13所示,通过在产生重构视频数据的重构(reconstruction,rec)1326处增加回到当前块的预测区域,残差被恢复。重构视频数据可以被存储在参考图像缓存器(referencepicturebuffer,ref.pict.buffer)1332中,并用于其他图像的预测。由于编码处理,来自于重构1326的重构视频数据因此可能受各种损伤,因此,在存储到参考图像缓存器1332中之前,环路处理滤波器(in-loopprocessingfilter,ilpf)1328被应用到重构视频数据,以进一步改善图像质量。

如图14所示,是用于图13的视频编码器1300的相应的视频解码器1400。由视频编码器编码的视频比特流为视频解码器1400的输入,并由熵解码器1410解码以解析且恢复变换且量化的残差信号和其他系统信息。除了解码器1400仅需要在帧间预测1414中进行运动补偿预测之外,解码器1400的解码流程与在编码器1300处的重构环相似。每个块由帧内预测1412或者帧间预测1414解码。根据所解码的模式信息,模式开关(modeswitch)1416选择来自于帧内预测1412的帧内预测子或者来自于帧间预测914的帧间预测子。如果相邻块被以帧间预测编解码,则通过禁止自与当前块自相同的母块分割而来的相邻块推导出的空间候选,一些实施例的帧间预测1414构造用于二叉树分割的当前块的候选集。使用移除候选集中具有与相邻块的运动信息相同的运动信息的任何候选的修剪流程,一些其他实施例的帧间预测1414构造用于当前块的候选集。在相邻块被进一步分割成子块以用于预测的情况中,仅当相邻块内部的运动信息均相同且所有子块被以帧间预测编解码时,使用空间候选禁止方法或者修剪方法。通过从候选集中选择一个最终候选,帧间预测1414推导出用于当前块的预测子。与每个块相关的变换且量化的残差信号由逆量化1420和逆变换1422恢复。通过在重构1418中增加回至该预测子,恢复的残差信号被重构,以产生重构视频。重构视频由环路处理滤波器1424进一步处理,以产生最终解码视频。如果当前解码图像为参考图像,当前解码图像的重构视频也被存储在参考图像缓存器1428中,以用于解码顺序中的后面图像。

图13中的视频编码器1300和图14中的视频解码器1400的各个组件可以由硬件,配置为执行存储于存储器中的可执行程序代码的一个或多个处理器,或者硬件和处理器的结合来实现。例如,处理器执行程序指令以控制接收与当前图像相关的输入视频数据。处理器装配有单个或多个处理器核。在一些示例中,处理器执行程序指令以执行编码器1300和解码器1400中的一些组件中的功能,并且,与处理器电性耦合的内存用于存储程序指令,对应于块的重构图像的信息,和/或在编码流程或者解码流程中的中间数据。在一些实施例中,内存包括非暂时性计算机可读介质,例如半导体内存或者固态内存、随机存取内存(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、硬盘、光盘或者其他适当的存储介质。内存也可以为上述非暂时性计算机可读介质中的两个以上的结合。如图13和图14所示,编码器1300和解码器1400可以在同一电子设备中实现,因此,如果在同一电子设备中实现,编码器1300和解码器1400的各种功能组件可以共享或者重新使用。

用于由二叉树分割而分割的当前块的候选集构造方法的实施例可以是整合在视频压缩芯片内的电路,或者是集成到视频压缩软件中的程序代码,以执行上述的处理。例如,确定用于当前块的当前模式集可以在在计算机处理器、数字信号处理器(digitalsignalprocessor,dsp)、微处理器或现场可程序设计门阵列(fieldprogrammablegatearray,fpga)上被执行的程序代码中实现。根据本发明,通过执行定义了本发明所实施的特定方法的机器可读软件代码或者固件代码,这些处理器可以被配置为执行特定任务。

本发明以不脱离其精神或本质特征的其他具体形式来实施。所描述的例子在所有方面仅是说明性的,而非限制性的。因此,本发明的范围由权利要求来表示,而不是前述的描述来表示。权利要求的含义以及相同范围内的所有变化都应纳入其范围内。

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