本发明涉及一种影像编码/解码方法及装置。尤其涉及一种影像编码/解码过程中的影像边界处理方法及装置。具体来讲,涉及一种用于在影像的填充以及树状结构中有效地处理影像边界的方法及装置。
背景技术:
近年来,互联网中对如视频等多媒体数据的需求正在急剧增加。但是,目前信道(channel)带宽(bandwidth)的发展速度却难以充分满足急剧增加的多媒体数据量。作为上述趋势的一环,国际标准化机构即国际电联电信标准化部门(itu-t)的视频编码专家组(vceg,videocodingexpertgroup)和国际标准化组织/国际电工委员会(iso/iec)的动态图像专家组(mpeg,movingpictureexpertgroup)正在通过坚持不懈的合作研究而致力于开发出更加高效的视频压缩标准。
视频压缩大体上由帧内预测、帧间预测、变换、量化、熵编码(entropycoding)、环路滤波(in-loopfilter)构成。其中,帧内预测是指利用存在于当前区块周边的已重建像素生成当前区块的预测区块的技术。此时因为编码过程是以区块单位执行,因此如果影像的大小不是区块大小的倍数,就会导致难以以区块单位进行编码的问题。
技术实现要素:
本发明的目的在于,提供一种能够在影像的编码/解码过程中提升压缩效率的影像编码/解码方法及装置。
此外,本发明的目的在于,提供一种能够在影像的编码/解码过程中以区块单位对齐影像大小的填充方法及装置。
此外,本发明的目的在于,提供一种能够在影像的编码/解码过程中提升影像边界处理效率的区块分割方法及装置。
此外,本发明的目的在于,提供一种能够在影像的编码/解码过程中通过在对当前区块进行编码/解码时有效地利用周边区块的信息而提升压缩效率的影像编码/解码方法及装置。
此外,本发明的目的在于,提供一种能够对通过适用本发明的影像编码方法/装置生成的比特流进行保存的计算机可读取的记录介质。
适用本发明的影像编码方法,包括:将当前影像分割成多个区块的第1分割步骤;以及,将所述多个区块中包含所述当前影像的边界的分割对象区块分割成多个下级区块的第2分割步骤;其中,所述第2分割步骤能够以包含所述当前影像的边界的下级区块作为所述分割对象区块递归执行,直至所述下级区块中不再有包含所述当前影像的边界的下级区块。
在适用本发明的影像编码方法中,所述第1分割步骤,能够是将所述当前影像分割成相同大小的多个最大区块的步骤。
在适用本发明的影像编码方法中,所述第2分割步骤,能够是对所述分割对象区块执行四叉树分割或二叉树分割的步骤。
在适用本发明的影像编码方法中,当所述分割对象区块为可执行所述四叉树分割的大小时,在所述第2分割步骤中能够对所述分割对象区块执行所述四叉树分割,而当所述分割对象区块为不可执行所述四叉树分割的大小时,在所述第2分割步骤中能够对所述分割对象区块执行所述二叉树分割。
在适用本发明的影像编码方法中,当在所述第2分割步骤中对所述分割对象区块执行了所述四叉树分割或所述二叉树分割时,能够不对用于指示所述分割对象区块的四叉树分割与否的第1分割信息或用于指示所述分割对象区块的二叉树分割与否的第2分割信息进行编码。
在适用本发明的影像编码方法中,当在所述第2分割步骤中对所述分割对象区块执行了所述二叉树分割时,所述二叉树分割的分割方向能够基于在包含于所述分割对象区块的同时还相当于所述当前影像的边界内区域的编码对象区块的形态决定。
在适用本发明的影像编码方法中,当在所述第2分割步骤中对所述分割对象区块执行了所述二叉树分割时,能够不对用于指示所述二叉树分割的分割方向的分割方向信息进行编码。
在适用本发明的影像编码方法中,所述第2分割步骤,还能够包括:对在包含于所述分割对象区块的同时还相当于所述当前影像的边界外区域的剩余区域的大小与特定的临界值进行比较的步骤;其中,能够基于所述比较结构对所述分割对象区块执行所述四叉树分割以及所述二叉树分割中的某一个。
在适用本发明的影像编码方法中,所述剩余区域的大小为所述剩余区域的横向长度以及纵向长度中的较小者,所述第2分割步骤能够在所述剩余区域的大小大于所述特定的临界值时对所述分割对象区块执行所述四叉树分割,而在所述剩余区域的大小小于所述特定的临界值时对所述分割对象区块执行所述二叉树分割。
在适用本发明的影像编码方法中,所述第2分割步骤,是对所述分割对象区块执行二叉树分割的步骤,所述二叉树分割的分割方向,能够基于在包含于所述分割对象区块的同时还相当于所述当前影像的边界外区域的剩余区域的形态决定。
在适用本发明的影像编码方法中,所述二叉树分割的分割方向,能够在所述剩余区域的形态为纵向较长的区块时为垂直方向,而在所述剩余区域的形态为横向较长的区块时为水平方向。
适用本发明的影像解码方法,包括:将当前影像分割成多个区块的第1分割步骤;以及,将所述多个区块中包含所述当前影像的边界的分割对象区块分割成多个下级区块的第2分割步骤;其中,所述第2分割步骤能够以包含所述当前影像的边界的下级区块作为所述分割对象区块递归执行,直至所述下级区块中不再有包含所述当前影像的边界的下级区块。
在适用本发明的影像解码方法中,所述第2分割步骤,能够是对所述分割对象区块执行四叉树分割或二叉树分割的步骤。
在适用本发明的影像解码方法中,当所述分割对象区块为可执行所述四叉树分割的大小时,在所述第2分割步骤中能够对所述分割对象区块执行所述四叉树分割,而当所述分割对象区块为不可执行所述四叉树分割的大小时,在所述第2分割步骤中能够对所述分割对象区块执行所述二叉树分割。
在适用本发明的影像解码方法中,当在所述第2分割步骤中对所述分割对象区块执行了所述四叉树分割或所述二叉树分割时,能够不从比特流对用于指示所述分割对象区块的四叉树分割与否的第1分割信息或用于指示所述分割对象区块的二叉树分割与否的第2分割信息进行解码,而是通过特定的值进行推导。
在适用本发明的影像解码方法中,当在所述第2分割步骤中对所述分割对象区块执行了所述二叉树分割时,所述二叉树分割的分割方向能够基于在包含于所述分割对象区块的同时还相当于所述当前影像的边界内区域的解码对象区块的形态决定。
在适用本发明的影像解码方法中,当在所述第2分割步骤中对所述分割对象区块执行了所述二叉树分割时,能够不从比特流对用于指示所述二叉树分割的分割方向的分割方向信息进行解码,而是通过特定的值进行推导。
在适用本发明的影像解码方法中,所述第2分割步骤,还能够包括:对在包含于所述分割对象区块的同时还相当于所述当前影像的边界外区域的剩余区域的大小与特定的临界值进行比较的步骤;其中,能够基于所述比较结构对所述分割对象区块执行所述四叉树分割以及所述二叉树分割中的某一个。
在适用本发明的影像解码方法中,所述剩余区域的大小为所述剩余区域的横向长度以及纵向长度中的较小者,所述第2分割步骤能够在所述剩余区域的大小大于所述特定的临界值时对所述分割对象区块执行所述四叉树分割,而在所述剩余区域的大小小于所述特定的临界值时对所述分割对象区块执行所述二叉树分割。
在适用本发明的影像解码方法中,所述第2分割步骤,是对所述分割对象区块执行二叉树分割的步骤,所述二叉树分割的分割方向,能够基于在包含于所述分割对象区块的同时还相当于所述当前影像的边界外区域的剩余区域的形态决定。
在适用本发明的影像解码方法中,所述二叉树分割的分割方向,能够在所述剩余区域的形态为纵向较长的区块时为垂直方向,而在所述剩余区域的形态为横向较长的区块时为水平方向。
适用本发明的影像解码方法,能够包括:对包括当前区块的上级区块的分割形态进行判断的步骤;基于所述上级区块的分割形态构建所述当前区块的参考候选列表的步骤;基于所述参考候选列表推导出所述当前区块的预测信息的步骤;以及,基于所述预测信息生成所述当前区块的预测区块的步骤;其中,所述参考候选列表中能够包含至少一个候选区块或所述至少一个候选区块的预测信息。
在适用本发明的影像解码方法中,当所述上级区块的分割形态为二叉树分割时,还能够包括:对解码顺序上的所述当前区块之上一个区块的分割深度与所述当前区块的分割深度进行比较的步骤;以及,对所述上一个区块的上级区块与所述当前区块的上级区块是否相同进行判断的步骤;其中,当所述上一个区块的分割深度与所述当前区块的分割深度相同且所述上一个区块的上级区块与所述当前区块的上级区块相同时,能够将所述上一个区块从所述至少一个候选区块中排除。
在适用本发明的影像解码方法中,还能够包括:在将所述上一个区块从所述至少一个候选区块中排除时,将替代区块包含到所述参考候选列表中的步骤。
在适用本发明的影像解码方法中,所述替代区块能够是从所述当前区块的上级区块分割出的区块中的不与所述当前区块相邻的区块。
在适用本发明的影像解码方法中,当所述当前区块采用帧内预测时所述参考候选列表能够是mpm列表,而当所述当前区块采用帧间预测时所述参考候选列表能够是包含空间候选的候选列表。
在适用本发明的影像解码方法中,当所述上级区块的分割形态为四叉树分割时,还能够包括:对所述当前区块是否为通过对所述上级区块执行四叉树分割而生成的4个子区块在解码顺序上的最后一个子区块进行判断的步骤;以及,当所述当前区块为所述最后一个子区块时,对所述4个子区块中除所述当前区块之外的剩余的3个子区块是否具有相同的预测信息进行判断的步骤;其中,当所述剩余的3个子区块具有相同的预测信息时,能够将所述剩余的3个子区块从所述至少一个候选区块中排除。
在适用本发明的影像解码方法中,所述至少一个候选区块能够按照特定的优先级包含到所述参考候选列表中。
在适用本发明的影像解码方法中,所述优先级能够基于所述当前区块与所述候选区块的相邻与否以及所述候选区块的位置中的至少一个决定。
在适用本发明的影像解码方法中,能够为与所述当前区块相邻的候选区块分配比没有与所述当前区块相邻的候选区块更高的优先级。
在适用本发明的影像解码方法中,能够为位于所述当前区块的左侧或上端的候选区块分配比其他候选区块更高的优先级。
在适用本发明的影像解码方法中,所述优先级能够基于所述当前区块的分割深度以及所述候选区块的分割深度中的至少一个决定。
在适用本发明的影像解码方法中,能够在所述当前区块的分割深度与所述候选区块的分割深度之间的差异越小时分配越高的优先级。
在适用本发明的影像解码方法中,能够为分割深度较大的候选区块分配比分割深度较小的候选区块更高的优先级。
在适用本发明的影像解码方法中,所述优先级能够基于所述候选区块的分割顺序决定。
在适用本发明的影像解码方法中,能够为分割顺序较早的候选区块分配比分割顺序较晚的候选区块更高的优先级。
在适用本发明的影像解码方法中,所述优先级能够基于所述候选区块之间的预测信息的关系决定。
在适用本发明的影像解码方法中,当所述候选区块中的第1候选区块的预测信息是基于所述候选区块中的第2候选区块的预测信息决定时,能够为所述第1候选区块分配比所述第2候选区块更低的优先级。
适用本发明的影像解码方法,能够包括:推导出当前区块的预测信息的步骤;基于所述预测信息生成所述当前区块的预测区块的步骤;对包含所述当前区块的升级区块的分割形态进行判断的步骤;基于所述上级区块的分割形态构建所述当前区块的参考候选列表的步骤;以及,基于所述参考候选列表对所述当前区块的所述预测信息进行编码的步骤;其中,所述参考候选列表中能够包含至少一个候选区块或所述至少一个候选区块的预测信息。
在适用本发明的影像编码方法中,当所述上级区块的分割形态为二叉树分割时,还包括:对编码顺序上的所述当前区块之上一个区块的分割深度与所述当前区块的分割深度进行比较的步骤;以及,对所述上一个区块的上级区块与所述当前区块的上级区块是否相同进行判断的步骤;其中,当所述上一个区块的分割深度与所述当前区块的分割深度相同且所述上一个区块的上级区块与所述当前区块的上级区块相同时,将所述上一个区块从所述至少一个候选区块中排除的影像编码方法。
在适用本发明的影像编码方法中,当所述上级区块的分割形态为四叉树分割时,还能够包括:对所述当前区块是否为通过对所述上级区块执行四叉树分割而生成的4个子区块在编码顺序上的最后一个子区块进行判断的步骤;以及,当所述当前区块为所述最后一个子区块时,对所述4个子区块中除所述当前区块之外的剩余的3个子区块是否具有相同的预测信息进行判断的步骤;其中,当所述剩余的3个子区块具有相同的预测信息时,能够将所述剩余的3个子区块从所述至少一个候选区块中排除。
在适用本发明的影像编码方法中,所述至少一个候选区块能够按照特定的优先级包含到所述参考候选列表中。
在适用本发明的影像编码方法中,所述优先级能够基于所述当前区块与所述候选区块的相邻与否以及所述候选区块的位置中的至少一个决定。
在适用本发明的影像编码方法中,所述优先级能够基于所述当前区块的分割深度以及所述候选区块的分割深度中的至少一个决定。
在适用本发明的影像编码方法中,所述优先级能够基于所述候选区块的分割顺序决定。
在适用本发明的影像编码方法中,所述优先级能够基于所述候选区块之间的预测信息的关系决定。
适用本发明的计算机可读取的记录介质,能够对通过适用本发明的影像编码方法生成的比特流进行保存。
通过本发明,可以提供能够提升压缩效率的影像编码/解码方法及装置。
此外,通过本发明,可以提供一种能够在影像的编码/解码过程中以区块单位对齐影像大小的填充方法及装置。
此外,通过本发明,可以提供一种能够在影像的编码/解码过程中提升影像边界处理效率的区块分割方法及装置。
此外,通过本发明,可以提供一种能够通过在对当前区块进行编码/解码时有效地利用周边区块的信息而提升压缩效率的影像编码/解码方法及装置。
此外,通过本发明,可以提供一种能够对通过适用本发明的影像编码方法/装置生成的比特流进行保存的计算机可读取的记录介质。
通过适用本发明的填充方法及装置或区块分割方法及装置,能够提升影像的压缩效率。
附图说明
图1是对适用本发明之一实施例的影像编码装置进行简要图示的块状构成图。
图2是对通过影像编码/解码装置定义的帧内预测模式的类型进行图示的示意图。
图3是对基于平面模式的帧内预测方法进行图示的示意图。
图4是对帧内预测时的参考像素进行图示的示意图。
图5是对基于水平模式和垂直模式的帧内预测方法进行图示的示意图。
图6是对适用本发明之一实施例的影像解码装置进行简要图示的块状构成图。
图7是用于对适用本发明之一实施例的填充过程进行说明的示意图。
图8a以及8b是用于对适用本发明的填充过程进行说明的示意图。
图9是用于对图1中的影像分割部101的动作进行说明的示意图。
图10是用于对适用本发明的解码器的动作进行说明的示意图。
图11是对当前影像的大小不等于最大区块大小的倍数的情况进行示例性图示的示意图。
图12a至图12e是用于对适用本发明之一实施例的影像分割方法进行说明的示例图。
图13a至图13e是用于对适用本发明之另一实施例的影像分割方法进行说明的示例图。
图14是用于对在跳过模式和合并模式下生成运动信息候选组的方法进行说明的示意图。
图15是用于对在amvp模式下推导出运动推测用的运动信息候选组的方法进行说明的示意图。
图16是用于对当前区块的空间性后补区块以及时间性后补区块的位置进行说明的示意图。
图17是用于对决定时间候选的运动信息的方法进行说明的示意图。
图18是对能够在生成双向运动信息候选时使用的组合的优先级进行示例性示意的图表。
图19是用于对mpm候选列表的生成进行说明的示意图。
图20是用于对跳过模式、合并模式、amvp模式以及帧内预测模式的最佳预测信息的编码方法进行说明的示意图。
图21是用于对最佳预测信息的解码方法进行说明的示意图。
图22是用于对利用当前区块之周边区块构建参考候选列表的一实施例进行说明的示意图。
图23是用于对基于区块的分割形态构建当前区块的参考候选列表的实例进行说明的示意图。
图24是用于对利用当前区块之周边区块构建参考候选列表的另一实施例进行说明的示意图。
图25是用于对基于区块的分割形态构建当前区块的参考候选列表的另一实施例进行说明的示意图。
图26是用于对包含于参考候选列表中的当前区块之周边区块的优先级变更方法进行说明的示意图。
图27是用于对基于分割深度的周边区块优先级决定方法进行说明的示意图。
图28是用于对基于分割顺序的周边区块优先级决定方法进行说明的示意图。
图29是用于对基于预测信息之因果关系的周边区块优先级决定方法进行说明的示意图。
图30是用于对同时考虑到分割深度以及分割顺序时的周边区块优先级决定方法进行说明的示意图。
具体实施方式
本发明能够进行各种变更并具有多种不同的实施例,接下来将在附图中对特定的实施例进行图示并进行详细的说明。但是,下述内容并不是为了将本发明限定于特定的实施形态,而是应该理解为包括本发明的思想以及技术范围内的所有变更、均等物乃至替代物。在对各个附图进行说明的过程中,对于类似的构成要素使用了类似的参考符号。
在对不同的构成要素进行说明的过程中能够使用如第1、第2等术语,但是所述构成要素并不因为所述术语而受到限定。所述术语只是用于对一个构成要素与其他构成要素进行区别。例如,在不脱离本发明的权利要求范围的前提下,第1构成要素也能够被命名为第2构成要素,同理,第2构成要素也能够被命名为第1构成要素。术语“和/或”包括多个相关记载项目的组合或多个相关记载项目中的某一个项目。
当记载为某个构成要素与其他构成要素“连接”或“接触”时,应理解为不仅能够与所述其他构成要素直接连接或接触,还能够在两者之间有其他构成要素存在。与此相反,当记载为某个构成要素与其他构成要素“直接连接”或“直接接触”时,应理解为在两者之间没有其他构成要素存在。
在本申请中所使用的术语只是为了对特定的实施例进行说明,并不是为了对本发明进行限定。除非上下文中有明确的相反含义,否则单数型语句还包含复数型含义。在本发明中,“~包括~”或“~由……构成~”等术语只是为了表明说明书中所记载的特征、数字、步骤、动作、构成要素、部件或所述之组合存在,并不应该理解为事先排除一个或多个其他特征、数字、步骤、动作、构成要素、部件或所述之组合存在或被附加的可能性。
接下来,将结合附图对适用本发明的实施例进行详细的说明。在下述内容中,对于附图中相同的构成要素将使用相同的参考符号且对相同构成要素的重复说明将被省略。
图1是对适用本发明之一实施例的影像编码装置进行图示的块图。
参阅图1,影像编码装置100能够包括影像分割部101、帧内预测部102、帧间预测部103、减法运算部104、变换部105、量化部106、熵编码部107、逆量化部108、逆变换部109、加法运算部110、滤波部111以及存储器112。
在图1中为了表示影像编码装置中不同的特殊功能而对各个构成部单独进行了图示,但这并不代表各个构成部由相互分离的硬件或一个软件单位构成。即,虽然为了说明的便利而对各个构成部进行了罗列说明,但是既能够将各个构成部中的至少两个构成部合并成一个构成部,也能够将一个构成部分割成多个构成部并使其执行对应的功能,而如上所述的各个构成部被整合的实施例以及被分离的实施例在不脱离本发明之本质的前提下包含于本发明的权利要求范围之内。
此外,一部分构成要素可能并不是在本发明中执行本质功能所必要的构成要素,而只是用于提升性能的可选构成要素。本发明能够仅包括除只是用于提升性能的构成要素之外的实现本发明之本质所必要的构成部,而仅包括除只是用于提升性能的可选构成要素之外的必要构成要素的结构同样包含于本发明的权利要求范围之内。
影像分割部100能够将输入影像分割成至少一个区块。此时,输入影像能够是如图像(picture)、条带(slice)、并行区块(tile)、片段(segment)等多种不同的形态和大小。区块能够是指编码单位(cu)、预测单位(pu)或变换单位(tu)。所述分割能够基于四叉树(quadtree)或二叉树(biniarytree)中的至少一种执行。四叉树是将上级区块分割成宽度和高度均为上级区块的一半的四个下级区块的方式。二叉树是将上级区块分割成宽度或高度中的某一个为上级区块的一半的两个下级区块的方式。通过基于所述二叉树的分割,不仅能够将区块分割成正方形,还能够分割成非正方形形态。
接下来,在适用本发明的实施例中,编码单位不仅能够作为编码执行单位的含义使用,也能够作为解码执行单位的含义使用。
预测部102、103能够包括用于执行帧间预测的帧间预测部103以及用于执行帧内预测的帧内预测部102。能够在决定对预测单位执行帧间预测还是帧内预测之后,再根据不同的预测方法决定具体信息(例如帧内预测模式、运动向量、参考图像等)。此时,执行预测的处理单位与决定预测方法以及具体内容的处理单位能够不同。例如,预测方法以及预测模式等能够以预测单位决定,而执行预测时能够以变换单位执行。
所生成的预测区块与原始区块之间的残差值(残差区块)能够被输入到变换部105。此外,执行预测时使用的如预测模式信息、运动向量信息等能够在与残差值一起被熵编码部107编码之后传送到解码器。在使用特定编码模式的情况下,也能够不通过预测部102、103生成预测区块,而是在直接对原始区块进行编码之后传送到解码部。
帧内预测部102能够基于当前图像内的像素信息即当前区块周边的参考像素信息生成预测区块。当执行帧内预测的当前区块之周边区块的预测模式为帧间预测时,能够将已适用帧间预测的周边区块中包含的参考像素替代成已适用帧内预测的周边其他区块内的参考像素。即,在参考像素不可用的情况下,能够在将不可用参考像素信息替代成可用参考像素中的至少一个参考像素之后使用。
在帧内预测中,预测模式能够包括根据预测方向使用参考像素信息的定向预测模式以及在执行预测时不使用方向信息的非定向模式。用于预测亮度信息的模式与用于预测色差信息的模式能够不同,在对色差信息进行预测时能够使用在预测亮度信息的过程中使用的帧内预测模式信息或所预测到的亮度信号信息。
帧内预测部102能够包括ais(adaptiveintrasmoothing,自适应帧内平滑)滤波器、参考像素插值部以及dc滤波器。ais滤波器是用于对当前区块的参考像素执行滤波的滤波器,能够根据当前预测单位的预测模式自适应地决定滤波器的适用与否。在当前区块的预测模式为不执行ais滤波的模式时,能够不适用ais滤波器。
当预测单位的帧内预测模式为基于对参考像素进行插值的像素值执行帧内预测的预测单位时,帧内预测部102的参考像素插值部能够通过对参考像素进行插值而生成分数单位位置的参考像素。在当前预测单位的预测模式为不对参考像素进行插值而生成预测区块的预测模式时,能够不对参考像素进行插值。在当前区块的预测模式为dc模式时,dc滤波器能够通过滤波生成预测区块。
能够生成包含在预测部102、103中生成的预测单位与预测单位的原始区块之间的差异值即残差值(residual)信息的残差区块。所生成的残差区块能够被输入到变换部130中进行变换。
图2是用于对帧内预测模式的一实例进行说明的示意图。图2所示的帧内预测模式包括共计35种模式。第0号模式是指平面模式(planarmode),第1号模式是指dc模式,而第2号至第34号模式是指角度模式(angularmode)。
图3是用于对平面模式下的帧内预测进行说明的示意图。
图3是用于对平面模式进行说明的示意图。为了生成当前区块内的第一个像素p1的预测值,按照如图所示的方式对位于y轴相同位置上的已重建像素与位于当前区块的右侧上端的已重建像素t进行线性插值。同理,为了生成第二个像素p2的预测值,按照如图所示的方式对位于x轴相同位置上的已重建像素与位于当前区块的左侧下端的已重建像素l进行线性插值。对两个预测像素p1和p2进行平均的值,将成为最终的预测像素。在平面模式下,通过按照如上所述的方式推导出预测像素而生成当前区块的预测区块。
图4是用于对dc模式进行说明的示意图。在计算出当前区块周边的已重建像素的平均值之后,将所述平均值作为当前区块内的所有像素的预测值使用。
图5是用于对利用图2中的第10号模式(水平模式)以及第26号模式(垂直模式)生成预测区块的一实例进行说明的示意图。在使用第10号模式时,通过将与当前区块的左侧相邻的各个参考像素向右侧方向进行复制而生成当前区块的预测区块。同理,在使用第26号模式时,通过将与当前区块的上侧相邻的各个参考像素向下侧方向进行复制而生成当前区块的预测区块。
重新参阅图1,帧间预测部103既能够基于当前图像的前一个图像或后一个图像中的至少一个图像的信息对预测单位进行预测,在部分情况下也能够基于当前图像内已完成编码的一部分区域的信息对预测单位进行预测。帧间预测部103能够包括参考图像插值部、运动预测部以及运动补偿部。
参考图像插值部能够从存储器112接收参考图像信息并在参考图像生成整数像素以下的像素信息。对于亮度像素,为了以1/4像素单位生成整数像素以下的像素信息,能够使用滤波系数变化的基于dct的8抽头插值滤波器(dct-basedinterpolationfilter)。对于色差信号,为了以1/8像素单位生成整数像素以下的像素信息,能够使用滤波系数不同的基于dct的4抽头插值滤波器(dct-basedinterpolationfilter)。
运动预测部能够以通过参考图像插值部进行插值的参考图像为基础执行运动预测。作为计算出运动向量的方法,能够使用如fbma(fullsearch-basedblockmatchingalgorithm,全搜索区块匹配算法)、tss(threestepsearch,三步搜索算法)、nts(newthree-stepsearchalgorithm,新三步搜索算法)等多种不同的方法。运动向量能够基于已插值的像素使用1/2或1/4像素单位的运动向量值。运动预测部能够通过不同的运动预测方法对当前预测单位进行预测。作为运动预测方法,能够使用如跳过(skip)法、合并(merge)法、amvp(advancedmotionvectorprediction,高级运动向量预测)法等多种方法。
减法运算部104通过对当前拟编码的区块与在帧内预测部102或帧间预测部103中生成的预测区块进行减法运算而生成当前区块的残差区块。
在变换部105中,能够通过对原始区块与预测区块的差异即残差区块进行变换而生成变换区块。变换区块能够是执行变换以及量化过程的最小的单位。变换部105能够通过将残差信号变换成频率区域而生成包含变换系数的变换区块。为了将包含残差数据的残差区块变换成频率区域,能够使用如dct(discretecosinetransform,离散余弦变换)、dst(discretesinetransform,离散正弦变换)、klt(karhunenloevetransform,卡洛南-洛伊变换)等变换方法。通过利用所述变换方法将残差信号变换成频率区域,能够生成变换系数。为了便于变换的执行,能够执行利用基向量(basisvector)的矩阵运算。根据对预测区块进行编码时的预测模式,能够在矩阵运算时混合使用多种不同的变换方法。例如,能够基于在生成残差区块时所使用的预测单位的帧内预测模式决定变换方法。例如,能够根据帧内预测模式在水平方向上使用dct而在垂直方向上使用dst。
量化部106能够对在变换部105中变换成频率区域的值进行量化。即,量化部106能够对从变换部105生成的变换区块的变换系数进行量化而生成具有已量化的变换系数的已量化的变换区块(quantizedtransformcoefficient)。作为量化方法,能够使用如死区均匀阈值量化(dzutq:deadzoneuniformthresholdquantization)或量化加权矩阵(quantizationweightedmatrix)等。或者,也能够利用如对其进行改良的量化等多种量化方法。量化系数能够根据区块或影像的重要程度而发生变化。在量化部106中计算出的值能够被提供到逆量化部108以及熵编码部107。
所述变换部105和/或量化部106能够被选择性地包含到影像编码装置100。即,影像编码装置100能够对残差区块的残差数据执行变换或量化中的至少一种,也能够同时跳过变换以及量化而对残差区块进行编码。即使是在影像编码装置100没有执行变换或量化中的某一种或变换以及量化均没有被执行的情况下,被输入到熵编码部107中的区块通常都会被称之为变换区块。
熵编码部107对输入数据进行熵编码。熵编码部107能够对已量化的变换区块进行编码并输出比特流。即,熵编码部107能够通过如熵编码(entropyencoding)等多种不同的编码技法对从量化部106输出的已量化的变换区块的已量化的变换系数进行编码。此外,熵编码部107还能够对在后续说明的影像解码装置中对相应的区块进行解码时所需要的附加信息(例如,预测模式相关信息以及量化系数等)进行编码。在执行熵编码时能够使用如指数哥伦布码(exponentialgolomb)、cavlc(context-adaptivevariablelengthcoding,基于上下文自适应的可变长编码)、cabac(context-adaptivebinaryarithmeticcoding,基于上下文自适应的二进制算术编码)等多种不同的编码方法。
熵编码部107能够对来自预测部102、103的如编码单位的残差值系数信息以及区块类型信息、预测模式信息、分割单位信息、预测单位信息以及传送单位信息、运动向量信息、参考帧信息、区块的插值信息、滤波信息等多种不同的信息进行编码。在熵编码部107中,变换区块的系数能够以变换区块内的部分区块单位基于用于指示非0的系数、绝对值大于1或2的系数以及系数的符号等的多种类型的标志进行编码。对于无法仅基于所述标志进行编码的系数,能够基于通过标志进行编码的系数与实际变换区块的系数之间的差异的绝对值进行编码。在逆量化部108以及逆变换部109中,对在量化部106中量化的值进行逆量化并对在变换部105中变换的值进行逆变换。能够通过将在逆量化部108以及逆变换部109中生成的残差值(residual)与通过预测部102、103中包含的运动推测部、运动补偿部以及帧内预测部102预测出的预测单位进行合并而生成重建区块(reconstructedblock)。加法运算器110能够通过对在预测部102、103中生成的预测区块与通过逆变换部109生成的残差区块进行加法运算而生成重建区块。
滤波部111能够包括去块滤波器、偏移补正部、alf(adaptiveloopfilter,自适应环路滤波器)中的至少一个。
去块滤波器能够消除在重建图像中因为区块之间的边界而出现的区块失真。为了判断是否需要执行去块,能够基于包含于区块的若干个列或行中的像素判断是否需要对当前区块适用去块滤波器。在对区块适用去块滤波器时,能够根据所需要的去块滤波强度适用强滤波器(strongfilter)或弱滤波器(weakfilter)。此外,在适用去块滤波器的过程中,能够在执行垂直滤波以及水平滤波的同时并行执行水平方向滤波以及垂直方向滤波。
偏移补正部能够对已执行去块的影像以像素单位执行与原始影像之间的偏移补正。为了对特定图像执行偏移补正,能够使用在将影像中包含的像素划分成一定数量的区域之后决定需要执行偏移的区域并对相应区域适用偏移的方法或在考虑各个像素的边缘信息的情况下适用偏移的方法。
alf(adaptiveloopfiltering,自适应环路滤波)能够基于对已滤波的重建影像与原始影像进行比较的值执行。也能够在将影像中包含的像素划分成特定的组之后决定需要适用到相应组中的一个滤波器并对不同的组分别执行不同的滤波。对于与是否适用alf相关的信息,亮度信号能够以编码单位(codingunit,cu)进行传送,而且在各个区块中适用的alf滤波器的形状以及滤波系数能够不同。此外,还能够适用相同形态(固定形态)的alf滤波器而不考虑适用对象区块的特性。
存储器112能够对通过滤波部111计算出的重建区块或图像进行保存,所保存的重建区块或图像能够在执行帧间预测时提供到预测部102、103。
所述帧内预测部102以及帧间预测部103能够被统称为预测部。预测部能够利用当前区块的周边像素或之前已完成重建的参考图像生成预测区块。作为预测区块,能够在当前区块内生成1个或多个预测区块。在当前区块内的预测区块为1个时,预测区块与当前区块能够具有相同的形态。在生成预测区块之后,能够生成对应于当前区块与预测区块之间的差分的残差区块。通过对所生成的残差区块适用如率失真优化(rdo:rate-distortionoptimization)等多种不同的技法,能够决定最佳预测模式。例如,在进行rdo计算时能够使用如下所示的公式1。
[公式1]
在所述公式1中,d()、r()以及j()分别代表量化所导致的失真、压缩数据流的码率以及rd代价。φ代表编码模式。λ代表拉格朗日乘数(lagranginanmultiplier),作为用于对错误量与比特量之间的单位进行匹配的比例校正系数使用。为了在编码过程中被选择为最优化编码模式,在适用相模式时的j()即rd代价应小于适用其他模式时的结果。在对rd代价进行计算时,能够同时考虑比特率以及错误。
图6是对适用本发明之一实施例的影像解码装置600进行图示的块图。
参阅图6,影像解码装置600能够包括熵解码部601、逆量化部602、逆变换部603、加法运算部604、滤波部605、存储器606以及预测部607、608。
当通过影像编码装置100生成的影像比特流被输入到影像解码装置600时,能够按照与影像编码装置100执行的过程相反的过程对所输入的比特流进行解码。
熵解码部601能够按照与影像编码装置100的熵编码部107中执行的熵编码相反的步骤进行熵解码。例如,能够对应于在影像编码器中执行的方法,适用如指数哥伦布码(exponentialgolomb)、cavlc(context-adaptivevariablelengthcoding,基于上下文自适应的可变长编码)、cabac(context-adaptivebinaryarithmeticcoding,基于上下文自适应的二进制算术编码)等多种不同的方法。在熵解码部601中,变换区块的系数能够以变换区块内的部分区块单位基于用于指示非0的系数、绝对值大于1或2的系数以及系数的符号等的多种类型的标志进行解码。对于无法仅基于所述标志表现的系数,能够基于通过标志表现的系数与信令系数的和进行解码。
在熵解码部601中,能够对与在编码器中执行的帧内预测以及帧间预测相关的信息进行解码。
逆量化部602通过对已量化的变换区块执行逆量化而生成变换区块。按照与图1中的逆量化部108实质相同的方式工作。
逆量化部603通过对变换区块执行逆变换而生成残差区块。此时,能够基于与预测方法(帧间或帧内预测)、区块的大小和/或形态、帧内预测模式等相关的信息决定变换方法。按照与图1中的逆变换部109实质相同的方式工作。
加法运算部604通过对在帧内预测部607或帧间预测部608中生成的预测区块与通过逆变换部603生成的残差区块进行加法运算而生成重建区块。按照与图1中的加法运算部110实质相同的方式工作。
滤波部605用于减少在重建的区块中出现的多种类型的噪声。
滤波部605能够包括去块滤波器、偏移补正部以及alf。
从影像编码装置100,能够接收到是否对相应区块或图像适用去块滤波器以及在适用去块滤波器的情况下适用了强滤波还是弱滤波的相关信息。影像解码装置600的去块滤波器能够在接收到从影像编码装置100提供的去块滤波器相关信息之后在影像解码装置600中对相应区块执行去块滤波。
偏移补正部能够基于在进行编码时适用于影像的偏移补正类型以及偏移值信息等对已重建的影像执行偏移补正。
alf能够基于从影像编码装置100提供的alf适用与否信息、alf系数信息等适用到编码单位。如上所述的alf信息能够被包含到特定的参数集中提供。滤波部605按照与图1中的滤波部111实质相同的方式工作。
存储器606用于对通过加法运算部604生成的重建区块进行保存。按照与图1中的存储器112实质相同的方式工作。
预测部607、608能够基于从熵解码部601提供的预测区块生成相关信息以及从存储器606提供的之前已解码的区块或图像信息生成预测区块。
预测部607、608能够包括帧内预测部607以及帧间预测部608。虽然没有单独进行图示,但是预测部607、608还能够包括预测单位判定部。预测单位判定部能够接收从熵解码部601输入的预测单位信息、帧内预测方法的预测模式信息、帧间预测方法的运动预测相关信息等的多种不同的信息并从当前解码单位区分预测单位,从而判定预测单位执行帧间预测还是执行帧内预测。帧间预测部608能够利用从影像编码装置100提供的当前预测单位的帧间预测所需要的信息,基于包含当前预测单位的当前图像的上一个图像或下一个图像中的至少一个图像中包含的信息对当前预测单位执行帧间预测。或者,也能够在包含当前预测单位的当前图像内,基于已重建的一部分区域的信息执行帧间预测。
为了执行帧间预测,能够以编码单位作为基准判断包含于相应编码单位中的预测单位的运动预测方法是跳过模式(skipmode)、合并模式(mergemode)、高级运动向量预测模式(amvpmode)中的哪一种方法。
帧内预测部607利用位于当期拟编码的区块周边的以及已重建的像素生成预测区块。
帧内预测部607能够包括ais(adaptiveintrasmoothing,自适应帧内平滑)滤波器、参考像素插值部以及dc滤波器。ais滤波器是用于对当前区块的参考像素执行滤波的滤波器,能够根据当前预测单位的预测模式自适应地决定滤波器的适用与否。能够利用从影像编码装置100提供的预测单位的预测模式以及ais滤波器信息对当前区块的参考像素执行ais滤波。在当前区块的预测模式为不执行ais滤波的模式时,能够不适用ais滤波器。
当预测单位的预测模式为基于对参考像素进行插值的像素值执行帧内预测的预测单位时,帧内预测部607的参考像素插值部能够通过对参考像素进行插值而生成分数单位位置的参考像素。所生成的分数单位位置上的参考像素能够作为当前区块内的像素的预测像素使用。在当前预测单位的预测模式为不对参考像素进行插值而生成预测区块的预测模式时,能够不对参考像素进行插值。在当前区块的预测模式为dc模式时,dc滤波器能够通过滤波生成预测区块。
帧内预测部607按照与图1中的帧内预测部102实质相同的方式工作。
帧间预测部608利用保存在存储器606中的参考图像以及运动信息生成帧间预测区块。帧间预测部608按照与图1中的帧间预测部103实质相同的方式工作。
本发明尤其涉及填充以及影像的边界处理,接下来将结合附图对适用本发明的多种不同的实施例进行详细的说明。
在适用本发明的一实施例中,能够在将编码对象影像输入到图1的影像分割部101之前执行预处理过程。编码对象影像能够具有像素单位的多种不同的横向以及纵向大小。但是,因为影像的编码以及解码是以任意的区块单位而非像素单位执行,因此需要通过执行填充过程而使编码对象影像的大小与区块单位匹配。
图7是用于对适用本发明之一实施例的填充过程进行说明的示意图。
在图7所示的实例中,编码对象影像包括区块区域以及非区块区域。通过对所述编码对象影像执行所述预处理过程,能够追加被填充的区域。在追加被填充的区域之后,能够将所述编码对象影像输入到图1的影像分割部101中。
在图7所示的实例中,最小区块单位能够是4×4。区块的横向或纵向长度能够是2n。因此,例如在编码对象影像的横向以及纵向长度分别为9的情况下,所述编码对象影像的右侧1列以及下端1行能够成为没有被包含到区块区域中的非区块区域。如上所述,当编码对象影像中包含非区块区域时,能够在考虑所述最小区块的大小的前提下执行填充。通过按照如上所述的方式在考虑区块大小的前提下执行填充,被填充之后的编码对象影像将不再包含非区块区域。通过将已填充的编码对象影像输入到图1的影像分割部101中分割成多个区块,能够以区块单位进行编码。
图8a以及8b是用于对适用本发明的填充过程进行说明的示意图。
首先,能够利用与拟填充像素最接近的像素沿着水平方向执行填充。在图8a所示的实例中,最上端的3个填充对象像素能够利用与左侧相邻的非区块区域的像素a进行填充。
接下来,能够利用与拟填充像素最接近的像素沿着垂直方向执行填充。在图8b所示的实例中,最左侧的3个填充对象像素能够利用与上端相邻的非区块区域的像素i进行填充。
在所述实例中,对从水平方向到垂直方向的填充过程进行了说明,但是本发明并不限定于此,也能够从垂直方向到水平方向进行填充。所述最小区块的大小既能够是结合图9进行说明的区块单位,也能够是子区块单位。
图9是用于对图1中的影像分割部101的动作进行说明的示意图。
输入影像能够被分割成多个最大区块。最大区块的大小能够预先设定或通过比特流进行信令。例如,当输入影像的大小为128×129而最大区块的大小为64×64时,输入影像能够被分割成4个最大区块。
各个最大区块能够被输入到图1的影像分割部101中分割成多个区块。输入影像也能够在不分割成多个最大区块的情况下直接输入到影像分割部101中。所分割区块的最小大小和/或能够被分割成子区块的区块的最大大小能够被预先设定或通过区块的上级报头进行信令。所述上级能够是视频(video)、序列(sequence)、图像(picture)、条带(slice)、并行区块(tile)、最大编码单元(lcu;largestcodingunit)中的至少一个。
当前区块能够被分割成4个子区块或被分割成2个子区块。
当前区块被分割成4个子区块的过程称之为四叉树(quad-tree)分割。当前区块能够通过四叉树分割被分割成具有相同大小的4个子区块。第1分割信息是用于指示当前区块的四叉树分割与否的信息。第1分割信息能够是如1比特的标志。
当前区块被分割成2个子区块的过程称之为二叉树(binary-tree)分割。当前区块能够通过四叉树分割被分割成具有相同或不同大小的2个子区块。第2分割信息是用于指示当前区块的二叉树分割与否的信息。第2分割信息能够是如1比特的标志。当对当前区块执行二叉树分割时,能够进一步对分割方向信息进行信令。分割方向信息用于指示当前区块的分割是水平方向上的分割还是垂直方向上的分割。分割方向信息能够是如1比特的标志。当当前区块被分割成具有不同大小的2个子区块时,能够进一步对分割形态信息进行信令。分割形态信息用于指示2个子区块的分割比例。
当前区块能够利用四叉树分割以及二叉树分割以递归方式执行分割。例如,在通过四叉树分割将当前区块分割成4个子区块之后,各个子区块能够以递归方式再次执行四叉树分割或二叉树分割,也能够不再执行分割。在通过二叉树分割将当前区块分割成2个子区块之后,各个子区块能够以递归方式再次执行四叉树分割或二叉树分割,也能够不再执行分割。或者,也能够不再对通过二叉树分割生成的子区块执行四叉树分割。
编码器能够决定是否对所输入的当前区块执行四叉树分割。在步骤s901中,能够基于所述决定对第1分割信息进行编码。在对当前区块执行四叉树分割时,即,当在步骤s902中的判定结果为是时,在步骤s903中,能够通过四叉树分割将当前区块分割成4个区块。在步骤s904、s916中,通过四叉树分割生成的4个区块能够分别按照特定的顺序重新输入到步骤s901。所述特定的顺序能够是z-扫描顺序。在步骤s904中,能够根据所述特定的顺序特别指定所述4个区块中的第一个区块并作为当前区块输入到步骤s901。
在不对当前区块执行四叉树分割时,即,当在步骤s902中的判定结果为否时,编码器能够决定是否对当前区块执行二叉树分割。在步骤s905中,能够基于所述决定对第2分割信息进行编码。在对当前区块执行二叉树分割时,即,当在步骤s906中的判定结果为是时,在步骤s907中,编码器能够决定对当前区块进行横向分割还是纵向分割并给予所述决定对分割方向信息进行编码。在对当前区块进行横向分割时,即,当在步骤s908中的判定结果为是时,在步骤s909中,能够对当前区块进行水平方向上的分割。否则,即,在步骤s908中的判定结果为否时,在步骤s910中,能够对当前区块进行垂直方向上的分割。当对当前区块的二叉树分割为非对称分割时,能够决定分割比例并进一步对分割形态信息进行编码。在所述情况下,能够在考虑分割形态信息的前提下执行步骤s909以及步骤s910。在步骤s911、s914中,通过二叉树分割生成的2个子区块能够分别按照特定的顺序重新输入到步骤s905。所述特定的顺序能够是从左侧到右侧或从上端到下端。在步骤s911中,能够根据所述特定的顺序特别指定所述2个子区块中的第一个子区块并作为当前区块输入到步骤s905。当能够对通过二叉树分割生成的子区块再次执行四叉树分割时,通过二叉树分割生成的2个子区块能够分别按照特定的顺序重新输入到步骤s901。
在不对当前区块执行二叉树分割时,即,当在步骤s906中的判定结果为否时,在步骤s912中,能够对当前区块或当前子区块进行编码。步骤s912中的编码,能够包括如预测、变换以及量化等。
当在步骤s912中进行编码的子区块不是通过二叉树分割生成的最后一个子区块时,即,当在s913中的判定结果为否时,在步骤s914中,能够特别指定通过二叉树分割生成的下一个子区块并作为当前区块输入到步骤s905。
当在步骤s912中进行编码的子区块是通过二叉树分割生成的最后一个子区块时,即,当在s913中的判定结果为是时,在步骤s915中,能够判断所述已编码的子区块所属的区块是否为通过四叉树分割生成的区块中的最后一个区块。在是最后一个区块时,即,当在步骤s915中的判定结果为是时,能够结束对在步骤s901中输入的最大区块或当前影像的编码。在不是最后一个区块时,即,当在步骤s915中的判定结果为否时,在步骤s916中,能够特别指定通过四叉树分割生成的下一个区块并作为当前区块输入到步骤s901。
图10是用于对适用本发明的解码器的动作进行说明的示意图。
在步骤s1001中,解码器能够对所输入的当前区块的第1分割信息进行解码。在对当前区块执行四叉树分割时,即,当在步骤s1002中的判定结果为是时,在步骤s1003中,能够通过四叉树分割将当前区块分割成4个区块。在步骤s1004、s1016中,通过四叉树分割生成的4个区块能够分别按照特定的顺序重新输入到步骤s1001。所述特定的顺序能够是z-扫描顺序。在步骤s1004中,能够根据所述特定的顺序特别指定所述4个区块中的第一个区块并作为当前区块输入到步骤s1001。
在不对当前区块执行四叉树分割时,即,当在步骤s1002中的判定结果为否时,在步骤s1005中,解码器能够对当前区块的第2分割信息进行解码。在对当前区块执行二叉树分割时,即,当在步骤s1006中的判定结果为是时,在步骤s1007中,解码器能够对分割方向信息进行解码。在对当前区块进行横向分割时,即,当在步骤s1008中的判定结果为是时,在步骤s1009中,能够对当前区块进行水平方向上的分割。否则,即,在步骤s1008中的判定结果为否时,在步骤s1010中,能够对当前区块进行垂直方向上的分割。当对当前区块的二叉树分割为非对称分割时,能够进一步对分割形态信息进行解码。在所述情况下,能够在考虑分割形态信息的前提下执行步骤s1009以及步骤s1010。在步骤s1011、s1014中,通过二叉树分割生成的2个子区块能够分别按照特定的顺序重新输入到步骤s1005。所述特定的顺序能够是从左侧到右侧或从上端到下端。在步骤s1011中,能够根据所述特定的顺序特别指定所述2个子区块中的第一个子区块并作为当前区块输入到步骤s1005。当能够对通过二叉树分割生成的子区块再次执行四叉树分割时,通过二叉树分割生成的2个子区块能够分别按照特定的顺序重新输入到步骤s1001。
在不对当前区块执行二叉树分割时,即,当在步骤s1006中的判定结果为否时,在步骤s1012中,能够对当前区块或当前子区块进行编码。步骤s1012中的解码,能够包括如预测、逆量化以及逆变换等。
当在步骤s1012中进行解码的子区块不是通过二叉树分割生成的最后一个子区块时,即,当在s1013中的判定结果为否时,在步骤s1014中,能够特别指定通过二叉树分割生成的下一个子区块并作为当前区块输入到步骤s1005。
当在步骤s1012中进行解码的子区块是通过二叉树分割生成的最后一个子区块时,即,当在s1013中的判定结果为是时,在步骤s1015中,能够判断所述已解码的子区块所属的区块是否为通过四叉树分割生成的区块中的最后一个区块。在是最后一个区块时,即,当在步骤s1015中的判定结果为是时,能够结束对在步骤s1001中输入的最大区块或当前影像的解码。在不是最后一个区块时,即,当在步骤s1015中的判定结果为否时,在步骤s1016中,能够特别指定通过四叉树分割生成的下一个区块并作为当前区块输入到步骤s1001。
图11是对当前影像的大小不等于最大区块大小的倍数的情况进行示例性图示的示意图。
如图11所示,当将当前影像分割成多个最大区块时,在当前影像的右侧或下端将有相当于最大区块大小的一部分的区域残留。即,在最大区块2、最大区块5、最大区块6、最大区块7或最大区块8中,只有一部分区域有当前影像的像素存在。
接下来,将对用于有效分割如图11所示的当前影像的适用本发明的影像分割方法进行说明。
图12a至图12e是用于对适用本发明之一实施例的影像分割方法进行说明的示例图。接下来,将结合图12a至图12e对图11中的最大区块2的分割方法和/或分割信息的编码进行说明。在结合图12a至图12e进行说明的下述内容中,假定当前影像的大小为146×146,最大区块的大小为64×64,能够执行四叉树分割的区块的最小大小为16×16,子区块的最小大小为2×2。
图12a是对最大区块2进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。最大区块2能够是结合图9进行说明的分割对象区块。如图12a所示,最大区块2中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,最大区块2的大小为64×64,是能够执行四叉树分割的大小。此时,在步骤s903中,能够对最大区块2执行四叉树分割。即,对于最大区块2能够省略步骤s901。接下来,能够在通过对最大区块2执行四叉树分割而生成的4个区块(a0、a1、a2以及a3)中对第一个区块即区块a0执行分割以及编码。因为区块a1以及区块a3没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及编码。区块a2与区块a0相同,能够按照本发明执行分割以及编码。
图12b是对图12a中的区块a0进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块a0能够是结合图9进行说明的分割对象区块。如图12b所示,区块a0中的最右侧位置b1以及最下端位置b3没有被完整地包含于当前影像的区域。此外,区块a0的大小为32×32,是能够执行四叉树分割的大小。此时,在步骤s903中,能够对区块a0执行四叉树分割。即,对于区块a0能够省略步骤s901。接下来,能够在通过对区块a0执行四叉树分割而生成的4个区块(b0、b1、b2以及b3)中对第一个区块即区块b0执行分割以及编码。区块b0能够按照结合图9进行说明的方法执行分割以及编码。即,区块b0能够在通过四叉树分割和/或二叉树分割执行分割或在不分割的情况下进行编码。区块b2与区块b0相同,能够按照本发明执行分割以及编码。因为区块b1以及区块b3没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及编码。区块b2能够按照与区块b0相同的方法分割以及编码。即,对于区块b0以及b2不能省略步骤s901。但是,对于区块b1以及b3能够按照如后所述的方式省略步骤s901。
图12c是对图12b中的区块b1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块b1能够是结合图9进行说明的分割对象区块。如图12c所示,区块b1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,区块b1的大小为16×16,是不能执行四叉树分割的大小。此时,区块b1不能执行四叉树分割,但是能够执行二叉树分割。此外,因为编码对象区块是纵向较长的矩形,因此分割方向能够决定为水平方向。因此,对于区块b1能够省略步骤s901至步骤s907,且能够根据编码对象区块的形状执行步骤s909或步骤s910的二叉树分割。接下来,能够在通过对区块b1执行二叉树分割而生成的2个区块(c1以及c2)中对第一个区块即区块c1执行分割以及编码。因为区块c2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及编码。
图12d是对图12c中的区块c1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块c1能够是结合图9进行说明的分割对象区块。如图12d所示,区块c1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,因为对区块c1的上级区块即b1适用了二叉树分割,因此对区块c1也能够执行二叉树分割。此外,因为编码对象区块是纵向较长的矩形,因此分割方向能够决定为水平方向。因此,对于区块c1能够省略步骤s905至步骤s907,且能够根据编码对象区块的形状执行步骤s909或步骤s910的二叉树分割。接下来,能够在通过对区块c1执行二叉树分割而生成的2个区块(d1以及d2)中对第一个区块即区块d1执行分割以及编码。因为区块d2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及编码。
图12e是对图12d中的区块d1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块d1能够是结合图9进行说明的分割对象区块。如图12e所示,区块d1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,因为对区块d1的上级区块即c1适用了二叉树分割,因此对区块d1也能够执行二叉树分割。此外,因为编码对象区块是纵向较长的矩形,因此分割方向能够决定为水平方向。因此,对于区块d1能够省略步骤s905至步骤s907,且能够根据编码对象区块的形状执行步骤s909或步骤s910的二叉树分割。接下来,能够在通过对区块d1执行二叉树分割而生成的2个区块(e1以及e2)中对第一个区块即区块e1执行分割以及编码。区块e1的水平大小等于所假定的子区块的最小大小2。因此,不能对区块e1进行纵向分割。即,区块e1能够在不分割的情况下进行编码或在横向分割之后进行编码。此时,对于区块e1能够仅对分割与否相关的信息进行信令。因为区块e2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及编码。
图11中所示的最大区块2与最大区块5的分割信息省略方式能够相同。此外,最大区块6以及最大区块7的分割信息省略方式与最大区块2以及最大区块5的分割信息省略方式相比,除了横向或纵向的方向差异之外,剩余的部分能够相同。对于最大区块8,能够利用横向或纵向的预先设定的标准按照与其他最大区块相同的方式执行分割信息的省略。
接下来,将结合图12a至图12e对图11中的最大区块2的分割方法和/或分割信息的解码进行说明。
图12a是对最大区块2进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。最大区块2能够是结合图9进行说明的分割对象区块。如图12a所示,最大区块2中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,最大区块2的大小为64×64,是能够执行四叉树分割的大小。此时,在步骤s1003中,能够对最大区块2执行四叉树分割。即,对于最大区块2能够省略步骤s1001。接下来,能够在通过对最大区块2执行四叉树分割而生成的4个区块(a0、a1、a2以及a3)中对第一个区块即区块a0执行分割以及解码。因为区块a1以及区块a3没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及解码。区块a2与区块a0相同,能够按照本发明执行分割以及解码。
图12b是对图12a中的区块a0进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块a0能够是结合图9进行说明的分割对象区块。如图12b所示,区块a0中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,区块a0的大小为32×32,是能够执行四叉树分割的大小。此时,在步骤s1003中,能够对区块a0执行四叉树分割。即,对于区块a0能够省略步骤s1001。接下来,能够在通过对区块a0执行四叉树分割而生成的4个区块(b0、b1、b2以及b3)中对第一个区块即区块b0执行分割以及解码。区块b0能够按照结合图9进行说明的方法执行分割以及解码。即,区块b0能够在通过四叉树分割和/或二叉树分割执行分割或在不分割的情况下进行解码。区块b2与区块b0相同,能够按照本发明执行分割以及解码。因为区块b1以及区块b3没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及解码。区块b2能够按照与区块b0相同的方法分割以及解码。即,对于区块b0以及b2不能省略步骤s1001。但是,对于区块b1以及b3能够按照如后所述的方式省略步骤s1001。
图12c是对图12b中的区块b1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块b1能够是结合图9进行说明的分割对象区块。如图12c所示,区块b1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,区块b1的大小为16×16,是不能执行四叉树分割的大小。此时,区块b1不能执行四叉树分割,但是能够执行二叉树分割。此外,因为解码对象区块是纵向较长的矩形,因此分割方向能够决定为水平方向。因此,对于区块d1能够省略步骤s1001至步骤s1007,且能够根据编码对象区块的形状执行步骤s1009或步骤s1010的二叉树分割。接下来,能够在通过对区块b1执行二叉树分割而生成的2个区块(c1以及c2)中对第一个区块即区块c1执行分割以及解码。因为区块c2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及解码。
图12d是对图12c中的区块c1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块c1能够是结合图9进行说明的分割对象区块。如图12d所示,区块c1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,因为对区块c1的上级区块即b1适用了二叉树分割,因此对区块c1也能够执行二叉树分割。此外,因为解码对象区块是纵向较长的矩形,因此分割方向能够决定为水平方向。因此,对于区块c1能够省略步骤s1005至步骤s1007,且能够根据编码对象区块的形状执行步骤s1009或步骤s1010的二叉树分割。接下来,能够在通过对区块c1执行二叉树分割而生成的2个区块(d1以及d2)中对第一个区块即区块d1执行分割以及解码编码。因为区块d2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及解码。
图12e是对图12d中的区块d1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块d1能够是结合图9进行说明的分割对象区块。如图12e所示,区块d1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此外,因为对区块d1的上级区块即c1适用了二叉树分割,因此对区块d1也能够执行二叉树分割。此外,因为解码对象区块是纵向较长的矩形,因此分割方向能够决定为水平方向。因此,对于区块d1能够省略步骤s1005至步骤s1007,且能够根据编码对象区块的形状执行步骤s1009或步骤s1010的二叉树分割。接下来,能够在通过对区块d1执行二叉树分割而生成的2个区块(e1以及e2)中对第一个区块即区块e1执行分割以及解码。区块e1的水平大小等于所假定的子区块的最小大小2。因此,不能对区块e1进行纵向分割。即,区块e1能够在不分割的情况下进行解码或在横向分割之后进行解码。此时,对于区块e1能够仅对分割与否相关的信息进行信令。因为区块e2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及解码。
在结合图12进行说明的实施例中,能够在对分割对象区块执行四叉树分割之后在满足特定的条件时再执行二叉树分割。在所述实施例中,所述特定条件为分割对象区块的大小是否为可执行四叉树分割的大小。所述特定条件也能够利用可执行四叉树分割的区块与可执行二叉树分割的区块的最小大小和/或临界值进行设定。
在使用临界值时,能够基于对分割对象区块中没有被完整地包含于当前影像的区域(以下简称为“剩余区域”)的大小与临界值进行比较的结果,执行四叉树分割与二叉树分割中的一个。在接下来的说明中,假定所述临界值为32。
例如,在图12a中编码对象区块的大小为18×64,而剩余区域的大小为46×64。因为剩余区域是纵向较长的矩形,因此能够对剩余区域的横向长度与临界值进行比较。因为剩余区域的横向长度46大于所述临界值32,因此能够对64×64的分割对象区块执行四叉树分割。因为在图12b中剩余区域的横向长度14小于所述临界值32,因此能够对32×32的分割对象区块执行二叉树分割。即,即使是分割对象区块的大小是可执行四叉树分割的大小,也能够根据所述条件执行二叉树分割而不执行四叉树分割。此时,二叉树分割的分割方向是以18×32的编码对象区块的横向以及纵向中的较小者为基准。因此,图12b中的区块a0能够被分割成两个纵向较长的16×32的区块。接下来,能够反复执行垂直方向上的二叉树分割,直至区块的大小无法再次执行二叉树分割。
所述临界值能够通过如上所述的区块的上级报头进行信令。所述临界值应为可执行四叉树分割的区块的最大大小与最小大小之间的值。此外,所述临界值能够被设定为小于可执行二叉树分割的区块的最大大小。当所述临界值被设定为大于可执行二叉树分割的区块的最大大小时,所述临界值能够被重新设定为可执行二叉树分割的区块的最大大小。
图13a至图13e是用于对适用本发明之另一实施例的影像分割方法进行说明的示例图。
图13a是对最大区块2进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。最大区块2能够是结合图9进行说明的分割对象区块。如图13a所示,最大区块2中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13a中的剩余区域为纵向较长的46×64的区块,因此能够对最大区块2执行垂直方向上的二叉树分割。即,对于最大区块2能够省略步骤s901至步骤s907,且能够根据剩余区域的形态执行步骤s909或步骤s910。
图13b是对图13a中的区块a0进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块a0能够是结合图9进行说明的分割对象区块。如图13b所示,区块a0中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13b中的剩余区域为纵向较长的14×64的区块,因此能够对区块a0执行垂直方向上的二叉树分割。因为区块b0为当前影像区域内的区块,因此能够利用自区块分割进行编码。对于区块b0不能省略步骤s905至步骤s908。
图13c是对图13b中的区块b1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块b1能够是结合图9进行说明的分割对象区块。如图13c所示,区块b1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13c中的剩余区域为纵向较长的14×64的区块,因此能够对区块b1执行垂直方向上的二叉树分割。即,对于区块b1能够省略步骤s901至步骤s907,且能够根据剩余区域的形态执行步骤s909或步骤s910。因为区块c2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及编码。
图13d是对图13c中的区块c1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块c1能够是结合图9进行说明的分割对象区块。如图13d所示,区块c1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13c中的剩余区域为纵向较长的6×64的区块,因此能够对区块c1执行垂直方向上的二叉树分割。即,对于区块c1能够省略步骤s901至步骤s907,且能够根据剩余区域的形态执行步骤s909或步骤s910。因为区块d2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及编码。
图13e是对图13d中的区块d1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块d1能够是结合图9进行说明的分割对象区块。如图13e所示,区块d1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13c中的剩余区域为纵向较长的2×64的区块,因此能够对区块d1执行垂直方向上的二叉树分割。即,对于区块b1能够省略步骤s901至步骤s907,且能够根据剩余区域的形态执行步骤s909或步骤s910。区块e1的水平大小等于所假定的子区块的最小大小2。因此,不能对区块e1进行纵向分割。即,区块e1能够在不分割的情况下进行编码或在横向分割之后进行编码。此时,对于区块e1能够仅对分割与否相关的信息进行信令。因为区块e2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及编码。
接下来,将结合图13a至图13e对图11中的最大区块2的分割方法和/或分割信息的解码进行说明。
图13a是对最大区块2进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。最大区块2能够是结合图9进行说明的分割对象区块。如图13a所示,最大区块2中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13a中的剩余区域为纵向较长的46×64的区块,因此能够对最大区块2执行垂直方向上的二叉树分割。即,对于最大区块2能够省略步骤s1001至步骤s1007,且能够根据剩余区域的形态执行步骤s1009或步骤s1010。
图13b是对图13a中的区块a0进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块a0能够是结合图9进行说明的分割对象区块。如图13b所示,区块a0中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13b中的剩余区域为纵向较长的14×64的区块,因此能够对区块a0执行垂直方向上的二叉树分割。因为区块b0为当前影像区域内的区块,因此能够利用自区块分割进行解码。对于区块b0不能省略步骤s1005至步骤s1008。
图13c是对图13b中的区块b1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块b1能够是结合图9进行说明的分割对象区块。如图13c所示,区块b1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13c中的剩余区域为纵向较长的14×64的区块,因此能够对区块b1执行垂直方向上的二叉树分割。即,对于区块b1能够省略步骤s1001至步骤s1007,且能够根据剩余区域的形态执行步骤s1009或步骤s1010。因为区块c2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及解码。
图13d是对图13c中的区块c1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块c1能够是结合图9进行说明的分割对象区块。如图13d所示,区块c1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13c中的剩余区域为纵向较长的6×64的区块,因此能够对区块c1执行垂直方向上的二叉树分割。即,对于区块c1能够省略步骤s1001至步骤s1007,且能够根据剩余区域的形态执行步骤s1009或步骤s1010。因为区块d2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及解码。
图13e是对图13d中的区块d1进行放大的结果,其中被粗线封闭的部分为当前影像内的区域。区块d1能够是结合图9进行说明的分割对象区块。如图13e所示,区块d1中的最右侧位置以及最下端位置没有被完整地包含于当前影像的区域。此时,能够基于剩余区域的形态选择区块分割方式。因为图13c中的剩余区域为纵向较长的2×64的区块,因此能够对区块d1执行垂直方向上的二叉树分割。即,对于区块d1能够省略步骤s1001至步骤s1007,且能够根据剩余区域的形态执行步骤s1009或步骤s1010。区块e1的水平大小等于所假定的子区块的最小大小2。因此,不能对区块e1进行纵向分割。即,区块e1能够在不分割的情况下进行解码或在横向分割之后进行解码。此时,对于区块e1能够仅对分割与否相关的信息进行信令。因为区块e2没有被完整地包含于当前影像的区域,因此能够不对其执行分割以及解码。
在结合图13进行说明的实施例中,对分割对象区块仅执行二叉树分割,而且二叉树分割的方向能够根据剩余区域的形状决定。
在结合图9以及图10进行说明的实施例中,能够以自区块单位或区块单位执行对影像边界的分割处理。此时,能够对与执行影像边界的分割处理时的单位相关的信息进行信令。例如,所述信息能够通过如上所述的区块的上级报头从编码器向解码器进行信令。
如上所述,在对当前区块进行帧间预测时能够使用如跳过模式、合并模式、amvp模式等。
当使用跳过模式时,利用已重建区域的运动信息决定当前区块的最优化预测模式。具体来讲,影像编码装置能够在已重建的区域内构建运动信息候选组,并使用相应候选组中rd代价最小的候选作为预测信息生成当前区块的预测信息。构建所述运动信息候选组的方法将在后续的内容中结合图14进行说明。
当使用合并模式时,在利用已重建区域的运动信息决定当前区块的最优化预测模式的方面与跳过模式相同。但是,在跳过模式中是从运动信息候选组中搜索预测错误为0的运动信息,而在运动模式中允许预测错误不为0。与跳过模式相同,影像编码装置能够在已重建的区域内构建运动信息候选组,并使用相应候选组中rd代价最小的候选作为预测信息生成当前区块的预测信息。
图14是用于对在跳过模式和合并模式下生成运动信息候选组的方法进行说明的示意图。
运动信息候选组能够包含最多n个候选。n能够是在影像编码装置以及影像解码装置中预先规定的正整数。或者,能够通过比特流对与n相关的信息进行信令。例如,能够通过区块的上级报头对与所述n相关的信息进行信令。所述区块的上级能够是视频(video)、序列(sequence)、图像(picture)、条带(slice)、并行区块(tile)、最大编码区块(codingtreeunit,ctu或largestcodingunit,lcu)中的至少一个。或者,n能够基于当前区块的大小和/或形态以可变方式决定。在结合图14进行说明的下述实施例中,假定n等于5。
在步骤s1401中,能够选择空间候选。空间候选能够是指当前区块所属图像内的空间候选区块或所述空间候选区块的运动信息。能够从当前图像内的5个空间候选区块选择最多4个空间候选。当所述空间候选区块中不包含运动信息时,例如在空间候选区块被帧内预测或pcm编码时,无法选择所述空间候选区块作为当前区块的空间候选。此外,空间候选能够以运动信息不相互重复的方式选择。
图16是用于对当前区块的空间性后补区块以及时间性后补区块的位置进行说明的示意图。
在图16所示的实例中,空间候选区块能够包括区块a1、a2、a3、a4以及a5中的至少一个。除图16中所示的空间候选区块之外,还能够将当前图像的已重建区域内的任意区块作为空间候选区块使用。在从空间候选区块选择空间候选时,能够按照区块a1、a2、a3、a4以及a5的顺序考虑。按照所述优先级,能够选择可用的空间候选区块或其运动信息作为空间候选。当可用的空间候选区块的运动信息不重复时,能够不考虑优先级最低的空间候选区块。
在步骤s1402中,能够选择时间候选。时间候选能够是指当前区块所属图像之外的其他图像(例如并置图像,collocatedpicture)内的时间候选区块或所述时间候选区块的运动信息。能够从并置图像内的2个时间候选区块选择1个时间候选。当所述时间候选区块中不包含运动信息时,例如在时间候选区块被帧内预测或pcm编码时,无法选择所述时间候选区块作为当前区块的时间候选。
如图16所示,时间候选区块的位置能够基于当前区块的位置决定。即,能够以与当前区块在当前图像内的位置相同位置上的并置图像内的区块作为基准决定时间候选区块。并置图像能够是重建图像或参考图像中的一个。并置图像能够通过在影像编码装置以及影像解码装置中预先定义的方法选择。例如,能够选择参考图像列表内的任意位置(例如第一个位置)上的参考图像作为并置图像。或者,能够对与并置图像的选择相关的信息进行信令。
时间候选区块能够是包含与当前区块内的任意位置相同位置上的样本的并置图像内的区块或其周边区块。所述当前区块内的任意位置能够是当前区块的左上端像素位置、中央像素位置或右下端像素位置。在图16所示的实例中,并置图像内的时间候选区块能够是区块b1以及区块b2。在从所述时间候选区块选择时间候选时,例如能够按照区块b1、b2的顺序考虑。在按照所述顺序考虑区块b1、b2时,如果能够将优先级较高的候选区块作为时间候选使用,则能够不考虑优先级较低的时间候选区块。
图17是用于对决定时间候选的运动信息的方法进行说明的示意图。
并置图像内的时间候选区块的运动信息能够是指包含于参考图像b中的预测区块。时间候选区块能够分别参考不同的参考图像。但是,在下述内容中为了说明的便利,将时间候选区块的参考图像称之为参考图像b。时间候选区块的运动向量能够在考虑图17中的tb以及td的前提下被缩放。tb代表当前图像与参考图像a之间的距离,td代表并置图像与参考图像b之间的距离。被缩放的时间候选的运动向量能够作为当前区块的时间候选的运动信息使用。在进行所述缩放时能够使用如下所示的公式2。
[公式2]
在所述公式2中,mv代表时间候选区块的运动向量,mvscale代表被缩放的运动向量。此外,参考图像a以及参考图像b能够是相同的参考图像。能够决定将如上所述的被缩放的运动向量mvscale作为时间候选的运动向量。此外,能够决定将时间候选的参考图像信息作为当前图像的参考图像。
当通过步骤s1401以及步骤s1402推导出的空间候选以及时间候选的和小于n个时,能够执行步骤s1403。在步骤s1403中,能够对在之前的步骤中推导出的候选进行组合并将全新的双向运动信息候选追加到运动信息候选组中。双向运动信息候选是指,通过逐个调取在之前的步骤中推导出的历史或未来方向的运动信息并进行组合而生成的全新的候选。
图18是对能够在生成双向运动信息候选时使用的组合的优先级进行示例性示意的图表。例如,能够按照图18所示的优先级首先考虑候选索引(历史)0以及候选索引(未来)1的组合。图18所示的优先级以及索引的组合仅为示例性目的而非限定。例如,还能够使用除图18所示的组合之外的追加组合或对优先级进行变更。
当在步骤s1403中追加双向运动信息候选之后的运动候选信息的整体数量仍然小于n时,能够执行步骤s1404。在步骤s1404中,能够将运动向量为零运动向量且预测方向上的参考图像不同的全新的运动信息候选追加到运动信息候选组中。
在使用amvp模式时,能够通过对预测方向上的各个参考图像执行运动推测而决定最优化运动信息。所述预测方向能够是仅使用历史/未来中的某一个方向的单方向,也能够是同时使用历史以及未来方向的双方向。通过利用借助于运动推测决定的最优化运动信息执行运动补偿,能够生成运动区块。此时,能够对预测方向上的各个参考图像分别推导出运动推测用的运动信息候选组。相应的运动信息候选组能够作为运动推测的起始位置使用。
虽然在本说明书中是将预测方向记载为历史方向以及未来方向,但是并不限定于此。例如,也能够记载为前方以及后方。或者,也能够记载为第1方向以及第2方向。例如,在对当前区块使用n个参考图像列表时,能够有与参考图像列表对应的预测方向存在。在这种情况下,预测方向能够记载为第1方向至第n方向。所述n能够是2以上的整数。
图15是用于对在amvp模式下推导出运动推测用的运动信息候选组的方法进行说明的示意图。
与结合图15进行的说明类似,可包含到运动信息候选组中的候选的最大数量能够在影像编码装置以及影像解码装置中决定相同的值,或通过区块的上级报头进行信令,或基于当前区块的大小和/或形态以可变方式决定。
在步骤s1501以及步骤s1502中,能够选择空间候选以及时间候选。步骤s1501以及步骤s1502能够分别按照与图14的步骤s1401以及步骤s1402类似的方式执行。但是,在步骤s1501和步骤s1401中选择的空间候选的数量能够不同。例如,在步骤s1501中能够选择2个空间候选。此外,用于选择空间候选的空间候选区块之间的优先级也能够不同。
在步骤s1503中,能够去除目前已推导出的候选中包含的重复的运动信息。步骤s1504能够按照与步骤s1404类似的方式执行。在推导出运动信息候选之后,能够选择rd代价最小的运动信息候选作为最优化运动信息。通过以所选择的运动信息作为基准执行运动推测,能够推导出amvp模式的最优化运动信息。
用于执行如上所述的帧内预测的帧内预测模式能够包括dc模式、平面模式以n方向定向模式。n方向定向模式是通过将当前区块周边的重建像素划分成n个方向并在各个方向上将周边像素映射到预测像素而生成当前区块的预测区块的模式。在决定最优化帧内预测模式之后,能够为了对其进行编码而生成mpm候选列表。
图19是用于对mpm候选列表的生成进行说明的示意图。
mpm候选列表的数量能够决定为p(p为正整数)个。用于决定mpm候选的方法并不限定于结合图19进行说明的方法。在图19中,l是位于当前区块左侧的周边区块的帧内预测模式信息,a是位于当前区块上端的周边区块的帧内预测模式信息。按照图19所示的各个条件,能够生成包含3个mpm候选的mpm候选列表。
图20是用于对如上所述的跳过模式、合并模式、amvp模式以及帧内预测模式的最佳预测信息的编码方法进行说明的示意图。
在步骤s2001中,能够对跳过模式动作信息进行编码。跳过模式动作信息能够是用于指示是否对当前区块适用跳过模式的信息。在步骤s2002中,能够基于跳过模式动作信息判断是否为跳过模式。在是跳过模式时,即,当在步骤s2002中的判定结果为是时,能够在移动到步骤s2007对合并候选索引进行编码之后结束。
在不是跳过模式时,即,当在步骤s2002中的判定结果为否时,在步骤s2003中,能够对预测模式信息进行编码。预测模式信息能够是用于指示对当前区块执行帧间预测还是帧内预测的信息。在步骤s2004中,能够基于预测模式信息判断对当前区块的预测模式是帧间预测模式还是帧内预测模式。在当前区块的预测模式为帧间预测模式时,即,当在步骤s2004中的判定结果为是时,能够移动到步骤s2005,而在当前区块的预测模式为帧内预测模式时,即,当在步骤s2004中的判定结果为否时,能够移动到步骤2017。
在步骤s2005中,能够对合并模式动作信息进行编码。合并模式动作信息能够是用于指示是否对当前区块适用合并模式的信息。在步骤s2006中,能够基于合并模式动作信息对当前区块的合并模式适用与否进行判断。在对当前区块适用合并模式时,即,当在步骤s2006中的判定结果为是时,在步骤s2007中,能够在对合并索引信息进行编码之后结束。
当在步骤s2006中的判定结果为不对当前区块适用合并模式时,能够移动到步骤s2008。在步骤s2008中,能够对预测方向是历史还是未来还是双向进行编码。当在步骤s2009中的判定结果为预测方向不是未来方向时,能够执行步骤s2010。当预测方向是未来方向时,能够执行步骤s2013。
接下来,能够依次在步骤s2010中对历史方向的参考图像索引信息、在步骤s2011中对历史方向的mvd(motionvectordfference,运动向量差值)信息、在步骤s2012中对历史方向mvp(motionvectorpredictor,运动向量预测)信息进行编码。其中,mvd能够是指预测区块的最优化运动向量与在amvp候选列表中决定的最优化候选运动向量之间的差分向量。此外,mvp信息能够是指所决定的最优化amvp候选运动信息的索引信息。
在步骤s2013中对预测方向是否为历史方向进行判断,在是历史方向时能够结束图20中的步骤。当在步骤s2013中的判定结果为预测方向不是历史方向时,能够执行步骤s2014。接下来,能够依次在步骤s2014中对未来方向的参考图像索引信息、在步骤s2015中对未来方向mvd信息、在步骤s2016中对未来方向mvp信息进行编码。
在对当前区块适用帧内预测时,即,当在步骤s2004中的判定结果为否时,在步骤s2017中,能够对mpm标志信息进行编码。mpm标志信息能够是用于指示当前区块的最优化帧内预测模式是否包含于mpm候选列表的信息。在步骤s2018中,能够对mpm标志信息是否为真进行判断。当mpm标志信息为真时,即,当在步骤s2018中的判定结果为是时,能够执行步骤s2019。在步骤s2019中,能够对用于指示与最优化帧内预测模式相同的mpm候选列表中的候选的索引信息进行编码。
当在步骤s2018中的判定结果为mpm标志信息为假时,能够执行步骤s2020。在步骤s2020中,能够对用于指示在除包含于mpm候选列表的帧内预测模式之外的剩余的帧内预测模式中,哪一种帧内预测模式为最优化帧内预测模式的信息进行编码。
图21是用于对最佳预测信息的解码方法进行说明的示意图。
在步骤s2101中,能够对跳过模式动作信息进行解码。在步骤s2102中,能够基于跳过模式动作信息判断是否为跳过模式。在是跳过模式时,即,当在步骤s2102中的判定结果为是时,能够在移动到步骤s2107对合并候选索引进行解码之后结束。
在不是跳过模式时,即,当在步骤s2102中的判定结果为否时,在步骤s2103中,能够对预测模式信息进行解码。在步骤s2104中,能够基于预测模式信息判断对当前区块的预测模式是帧间预测模式还是帧内预测模式。在当前区块的预测模式为帧间预测模式时,即,当在步骤s2104中的判定结果为是时,能够移动到步骤s2105,而在当前区块的预测模式为帧内预测模式时,即,当在步骤s2104中的判定结果为否时,能够移动到步骤2117。
在步骤s2105中,能够对合并模式动作信息进行解码。在步骤s2106中,能够基于合并模式动作信息对当前区块的合并模式适用与否进行判断。在对当前区块适用合并模式时,即,当在步骤s2106中的判定结果为是时,在步骤s2107中,能够在对合并索引信息进行解码之后结束。
当在步骤s2106中的判定结果为不对当前区块适用合并模式时,能够移动到步骤s2108。在步骤s2108中,能够对预测方向是历史还是未来还是双向进行解码。当在步骤s2109中的判定结果为预测方向不是未来方向时,能够执行步骤s2110。当预测方向是未来方向时,能够执行步骤s2113。
接下来,能够依次在步骤s2110中对历史方向的参考图像索引信息、在步骤s2115中对历史方向的mvd信息、在步骤s2112中对历史方向mvp信息进行解码。
在步骤s2113中对预测方向是否为历史方向进行判断,在是历史方向时能够结束图21中的步骤。当在步骤s2113中的判定结果为预测方向不是历史方向时,能够执行步骤s2114。接下来,能够依次在步骤s2114中对未来方向的参考图像索引信息、在步骤s2115中对未来方向mvd信息、在步骤s2116中对未来方向mvp信息进行解码。
在对当前区块适用帧内预测时,即,当在步骤s2104中的判定结果为否时,在步骤s2117中,能够对mpm标志信息进行解码。在步骤s2118中,能够对mpm标志信息是否为真进行判断。当mpm标志信息为真时,即,当在步骤s2118中的判定结果为是时,能够执行步骤s2119。在步骤s2119中,能够对用于指示与最优化帧内预测模式相同的mpm候选列表中的候选的索引信息进行解码。
当在步骤s2118中的判定结果为mpm标志信息为假时,能够执行步骤s2120。在步骤s2120中,能够对用于指示在除包含于mpm候选列表的帧内预测模式之外的剩余的帧内预测模式中,哪一种帧内预测模式为最优化帧内预测模式的信息进行解码。
接下来,将对为了对用于生成预测区块的预测信息进行编码/解码时使用当前区块之周边区块的预测信息的多种不同的实施例进行说明。
在通过二叉树分割对区块进行分割时,能够不使用当前区块周边的特定区块所具有的预测信息。即,在进行帧内预测的情况下构建mpm候选列表时,或在进行帧间预测的情况下推导出跳过、合并或amvp的空间候选时,能够在考虑区块的分割结构的前提下将当前区块之周边区块中的一部分周边区块从候选中删除。接下来,将帧内预测的mpm候选列表或包含帧间预测的空间候选的候选列表称之为“参考候选列表”。
图22是用于对利用当前区块之周边区块构建参考候选列表的一实施例进行说明的示意图。
在步骤s2201中,能够判断当前区块之上级区块的分割形态是否为二叉树分割。即,在步骤s2201中,能够判断当前区块是否为通过二叉树分割生成的区块。当所述上级区块的分割形态不是二叉树分割时,能够判定没有需要在构建参考候选列表时排除的周边区块并结束图22中的处理。而当所述上级区块的分割形态是二叉树分割时,即,在当前区块是通过二叉树分割生成的区块时,能够执行步骤s2202。
在步骤s2202中,能够对当前区块的深度与上一个区块的深度是否相同以及当前区块与上一个区块的上级区块是否相同进行判断。所述上一个区块能够是指在编码顺序上比当前区块早一步完成编码/解码的区块。所述上级区块是指被分割成当前区块或上一个区块之前的区块。相反,下级区块能够是指通过对当前区块进行分割而生成的区块。在当前区块的分割深度与上一个区块的深度不同和/或当前区块与上一个区块的上级区块不同时,能够结束图22中的处理。即,当在步骤s2202中的判定结果为否时,能够在构建参考候选列表的过程中不按照本实施例排除任何周边区块而直接将可使用的周边区块作为候选追加到参考候选列表中。
当在步骤s2202中的判定结果为在当前区块与上一个区块的分割深度相同且当前区块的上级区块与上一个区块的上级区块相同时,在步骤s2203中,能够不将上一个区块作为候选包含到当前区块的参考候选列表或从参考候选列表中排除。当上级区块是通过二叉树分割被分割成当前区块以及上一个区块时,当前区块与上一个区块不类似的可能性较高。此时,将上一个区块的预测信息作为当前区块的预测信息使用的可能性也较低。因此,即使是属于当前区块的周边区块,也能够通过将所述上一个区块从当前区块的候选组中排除而提升预测效率以及压缩率。
当在步骤s2203中上一个区块没有包含到参考候选列表中时,在步骤s2204中,能够追加搜索用于替代所排除的参考候选的替代候选。
图23是用于对基于区块的分割形态构建当前区块的参考候选列表的实例进行说明的示意图。
在图23的(a)所示的实例中,在当前区块为第4号区块时,编码顺序上的上一个区块为第3号区块。此外,当前区块与上一个区块的上级区块是包含第3号以及第4号区块的区块。因为包含第3号以及第4号区块的上级区块是通过水平方向上的二叉树分割进行分割,因此在步骤s2201中的判定结果为是。此外,因为第3号区块与第4号区块的深度相同且上级区块也相同,因此在步骤s2202中的判定结果为是。因此,根据步骤2203,上一个区块即第3号区块将不会被包含到当前区块的参考候选列表中。
同理,在图23的(a)所示的实例中,在当前区块为第7号区块时,当前区块的上一个区块即第6号区块将从当前区块的参考候选列表中排除。同理,在图23的(b)所示的实例中,在当前区块为第11号区块时,上一个区块即第10号区块的预测信息将不会作为当前区块的参考候选。
如结合图23的(a)以及(b)所示的实施例进行的说明,在不将当前区块的上一个区块作为参考候选时,在步骤s2204中,能够搜索用于替代从参考候选列表中排除的周边区块的预测信息的其他候选。替代候选能够通过多种不同的方法决定。作为一实例,能够使用从当前区块的上级深度区块分割出的区块中没有与当前区块相邻的区块的预测信息。例如,在图23的(a)所示的实例中,在当前区块为第4号区块时,第4号区块的上级深度区块能够是对第2号、第3号、第4号区块进行合并的区块。此时,因为第2号区块是不与第4号区块相邻的从上级深度区块分割出来的区块,因此能够通过将第2号区块的预测信息追加到第4号区块的参考候选列表中替代第3号区块的预测信息。作为用于决定替代候选的其他实例,能够使用在上级报头(如视频、序列、图像、条带、并行区块、ctu等)中决定的任意的预测信息替代从参考候选列表中排除的周边区块的预测信息。例如,在通过帧内预测模式对当前区块进行帧内预测的情况下,所述任意的预测信息能够是特定的帧内预测模式(例如平面模式或dc模式)。例如,在通过帧间预测模式对当前区块进行帧内预测的情况下,所述任意的预测信息能够是特定的预测信息(例如{(0,0)运动向量,参考像素索引0,历史方向)。此外,也能够不执行步骤s2204且不搜索替代候选。
在当前区块为通过四叉树分割生成的区块时,也能够不使用当前区块周边的特定区块的预测信息。
图24是用于对利用当前区块之周边区块构建参考候选列表的另一实施例进行说明的示意图。
图25是用于对基于区块的分割形态构建当前区块的参考候选列表的另一实施例进行说明的示意图。
在步骤s2401中,能够判断当前区块之上级区块的分割形态是否为四叉树分割。即,在步骤s2401中,能够判断当前区块是否为通过四叉树分割生成的区块。当所述上级区块的分割形态不是四叉树分割时,能够判定没有需要在构建参考候选列表时排除的周边区块并结束图24中的处理。而当所述上级区块的分割形态是四叉树分割时,即,在当前区块是通过四叉树分割生成的区块时,能够执行步骤s2402。
即,在步骤s2402中,能够判断当前区块是否为通过四叉树分割生成的4个子区块中在编码顺序上的最后一个子区块。在图25所示的实例中,最后一个子区块能够是子区块d。在当前区块不是子区块d时,能够判定没有需要在构建参考候选列表时排除的周边区块并结束图24中的处理。在当前区块是子区块d时,能够执行步骤s2403。
在步骤s2403中,能够对图24中的子区块a、b、c的预测信息是否全部相同进行判断。当子区块a、b、c的预测信息并非全部相同时,能够判定没有需要在构建参考候选列表时排除的周边区块并结束图24中的处理。当子区块a、b、c的预测信息全部相同时,在步骤s2404中,能够在构建当前区块的子区块d的参考候选列表时将子区块a、b、c的预测信息从参考候选列表中排除。当上级区块是通过四叉树分割被分割成4个子区块时,4个子区块中的至少一个子区块与剩余的子区块不类似的可能性较高。此时,将不类似的子区块的预测信息作为当前区块的预测信息使用的可能性也较低。例如,在图25所示的实例中,当子区块a、b、c的预测信息相同时,子区块d的预测信息与子区块a、b、c的预测信息不相同或不类似的可能性较高。因此,即使是属于当前区块的周边区块,也能够通过将所述子区块a、b、c从子区块d的候选组中排除而提升预测效率以及压缩率。
在步骤s2405中,能够搜索用于替代所排除的参考候选的替代候选。替代候选能够通过多种不同的方法决定。作为一实例,如上所述,能够使用预先设定的预测信息(帧内预测模式时的dc或平面模式,帧间预测模式时的零运动信息等)。作为另一实例,也能够使用没有与当前区块相邻的区块中在当前区块之前最近的时间被编码的区块的预测信息。或者,也能够对步骤s2405进行省略。
图26是用于对包含于参考候选列表中的当前区块之周边区块的优先级变更方法进行说明的示意图。
在结合图26进行说明的实施例中,在构建当前区块的参考候选列表时,能够自适应地决定当前区块的可用周边区块的优先级。
在适用本发明的第1方法中,能够基于当前区块与周边区块的相邻与否和/或周边区块的位置决定优先级。例如,能够为与当前区块相邻的周边区块分配较高的优先级,为不相邻的周边区块分配较低的优先级。在图26所示的实例中,周边区块a、b、f、g是与当前区块相邻的区块。因此,能够为周边区块a、b、f、g分配较高的优先级。此外,也能够按照特定的方法决定相邻的周边区块之间的优先级。例如,能够为特定位置上的区块分配较高的优先级。所述特定位置能够是例如当前区块的左侧和/或上端。按照所述标准,能够将图26所示的周边区块的优先级最终决定为a→b→f→g→c→d→e的区块顺序。或者,也能够相反地为与当前区块相邻的区块分配较低的优先级,为不相邻的区块分给较高的优先级。此时,能够将优先级决定为c→d→e→a→b→f→g的区块顺序。
在适用本发明的第2方法中,能够基于当前区块与周边区块的区块分割深度信息设定不同的优先级。例如,能够基于当前区块的分割深度与周边区块的分割深度的类似成都分配优先级。例如,能够为具有与当前区块的分割深度类似的分割深度的周边区块分配较高的优先级。在分割深度相同的周边区块之间,能够以任意的标准分配优先级。例如,能够为如当前区块的左侧或上端等特定位置上的周边区块分配较高的优先级。
图27是用于对基于分割深度的周边区块优先级决定方法进行说明的示意图。
在图27所示的实例中,当前区块的分割深度为x,周边区块a、f的分割深度为x,周边区块b、g的分割深度为x+1,周边区块d、e的分割深度为x+2,周边区块c的分割深度为x+3。通过所述适用本发明的第2方法,能够在考虑当前区块的分割深度的前提下为具有与当前区块的分割深度类似的分割深度的周边区块分配较高的优先级,从而将优先级决定为a→f→g→b→d→e→c的区块顺序。或者,也能够在不考虑当前区块的分割深度的前提下为分割深度更高的周边区块分配更高的优先级。例如,在仅考虑周边区块的分割深度的前提下,能够将周边区块的优先级决定为c→d→e→a→f→g→b的区块顺序。或者,也能够为具有与当前区块的分割深度类似的分割深度的周边区块分配较低的优先级,或为分割深度更低的周边区块分配更高的优先级。
在适用本发明的第3方法中,能够基于区块的分割顺序决定周边区块的优先级。例如,能够以当前区块作为基准,为最近分割并编码/解码的周边区块分割较高的优先级。图28是用于对基于分割顺序的周边区块优先级决定方法进行说明的示意图。在图28所示的实例中,周边区块的分割顺序被标记在区块之间的边界。在图28所示的实例中,在考虑周边区块的分割顺序的前提下,能够将周边区块的优先级决定为e→g→b→c→f→a→d的区块顺序。或者,也能够以当前区块作为基准,为最近分割并编码/解码的周边区块分割较低的优先级。
在适用本发明的第4方法中,能够基于周边区块之间的预测信息的因果关系决定周边区块的优先级。例如,在当前区块的第1周边区块是利用与其不同的第2周边区块的预测信息进行编码/解码时,能够为第1周边区块分配较低的优先级。图29是用于对基于预测信息之因果关系的周边区块优先级决定方法进行说明的示意图。图29的(a)对当前区块与周边区块的位置进行了图示。图29的(b)对周边区块的各自的预测信息进行了图示。在图29所示的实例中,区块b是参考区块g的预测信息决定了预测信息。同理,区块c是参考区块b的预测信息、区块d是参考区块a的预测信息、区块g是参考区块e的预测信息决定了预测信息。即,例如因为是基于区块g的预测信息决定了区块b的预测信息,因此可以判定在区块g与区块b的预测信息之间有因果关系存在。在图29的(a)所示的实例中,周边区块的优先级能够是任意顺序,如a→b→c→d→e→f→g的区块顺序,也能够在考虑图29的(b)所示的预测信息之间的因果关系的前提下对所述优先级进行变更。例如,因为区块b、c、d、g是参考其他周边区块的预测信息进行编码/解码,因此能够分配较低的优先级。最终,在考虑周边区块的预测信息之间的因果关系的前提下,能够将周边区块的优先级决定为a→e→f→b→c→d→g的区块顺序。或者,也能够在第1周边区块参考第2周边区块的预测信息的情况下为第2周边区块分配较低的优先级。
在所述内容中,对利用当前区块的周边区块构建参考候选列表时决定周边区块的优先级的4种方法进行了说明。所述第1方法至第4方法能够分别独立适用。或者,也能够对第1方法至第4方法中的至少2种以上的方法进行组合适用。例如,能够通过同时适用所述第2方法以及第3方法而决定用于构建参考候选列表的周边区块的优先级。图30是用于对同时考虑到分割深度以及分割顺序时的周边区块优先级决定方法进行说明的示意图。在图30中,对周边区块的分割深度x、x+1、x+2、x+3以及分割顺序1至5进行了图示。也能够以多种不同的方式同时适用所述第2方法以及第3方法。例如,能够在为具有与当前区块的分割深度类似的分割深度的周边区块分配较高的优先级的同时为分割顺序较早的周边区块分配较高的优先级。此时,能够基于分割顺序首先对优先级进行排序。在图30所示的实例中,能够基于分割顺序按照e→g→b→c→f→a→d的顺序进行排序。接下来,能够为具有与当前区块的分割深度类似的分割深度的周边区块分配较高的优先级。例如,因为区块g的分割深度x+1比区块e的分割深度x+2更加接近当前区块的分割深度x,因此能够按照g→e→b→c→f→a→d的顺序进行重新排序。此外,因为区块a、f的分割深度x比区块c的分割深度x+3更加接近当前区块的分割深度x,因此能够按照e→g→b→f→a→c→d的顺序进行重新排序。如上所述,能够通过适用两种以上的基准决定用与当前区块的参考候选列表的周边区块的优先级。
本公开中的示例性方法为了说明的明确性而以动作序列的方式进行了描述,但这并不是为了对步骤的执行顺序进行限定,在必要时也能够同时或以不同的顺序执行各个步骤。为了实现本公开中的方法,也能够在示例的步骤基础上追加包含其他步骤,或只包含除一部分步骤之外的剩余步骤,或在排除一部分步骤之后追加包含其他步骤。
本公开的多种不同的实施例并不是对所有可能的组合进行罗列的结果,只是为了对本公开的代表性形态进行说明,在多种不同的实施例中进行说明的事项能够独立适用或以两种以上的组合方式适用。
此外,本公开中的多种不同的实施例能够通过硬件、固件(firmware)、软件或所述之结合等实现。当通过硬件实现时,能够通过一个或多个acics(applicationspecificintegratedcircuits,专用集成电路)、dsps(digitalsignalprocessors,数字信号处理器)、dspds(digitalsignalprocessingdevices,数字信号处理装置)、plds(programmablelogicdevices,可编程逻辑器件)、fpgas(fieldprogrammablegatearrays,现场可编程门阵列)、通用处理器(generalprocessor)、控制器、微控制器、微处理器等实现。
本公开的范围包括可使多种不同实施例的方法中的动作在装置或计算机上执行的软件、设备可执行的指令(例如操作系统、应用程序、固件(firmware)、程序等)以及保存有所述软件或指令等的装置或计算机可执行的非暂时性计算机可读介质(non-transitorycomputer-readablemedium)。
产业可用性
本发明能够用于对影像进行编码/解码。