编码装置、解码装置、编码方法和解码方法与流程

文档序号:26013262发布日期:2021-07-23 21:34阅读:95来源:国知局
编码装置、解码装置、编码方法和解码方法与流程

本发明涉及视频编码,例如涉及运动图像的编码以及解码中的系统、构成要素以及方法等。



背景技术:

视频编码技术从h.261和mpeg-1进步到h.264/avc(advancedvideocoding:高级视频编码)、mpeg-la、h.265/hevc(highefficiencyvideocoding:高效视频编码)和h.266/vvc(versatilevideocodec:通用视频编解码器)。伴随着该进步,为了处理在各种用途中持续增加的数字视频数据量,始终需要提供视频编码技术的改良以及最优化。

此外,非专利文献1涉及与上述的视频编码技术相关的现有的标准的一例。

现有技术文献

非专利文献

非专利文献1:h.265(iso/iec23008-2hevc)/hevc(highefficiencyvideocoding)



技术实现要素:

发明要解决的课题

关于上述那样的编码方式,为编码效率的改善、画质的改善、处理量的削减、电路规模的削减、或者滤波器、块、尺寸、运动矢量、参照图片或参照块等要素或动作的适当的选择等,期望提出新的方式。

本发明提供一种能够对例如编码效率的改善、画质的改善、处理量的削减、电路规模的削减、处理速度的改善以及要素或动作的适当的选择等中的1个以上做出贡献的结构或方法。此外,本发明可以包含能够有助于上述以外的利益的结构或方法。

用于解决课题的手段

例如,本发明的一形态的编码装置具备电路和与上述电路连接的存储器,上述电路在动作中,导出基准运动矢量,上述基准运动矢量是在处理对象块的预测中使用的运动矢量,且是上述处理对象块的控制点的运动矢量,导出与上述基准运动矢量不同的第1运动矢量,基于上述基准运动矢量与上述第1运动矢量的差分来导出差分运动矢量,判定上述差分运动矢量是否大于阈值,在判定为上述差分运动矢量大于上述阈值的情况下,变更上述第1运动矢量,在判定为上述差分运动矢量不大于上述阈值的情况下,不变更上述第1运动矢量,使用变更后的上述第1运动矢量或未变更的上述第1运动矢量,对上述处理对象块进行编码。

本发明中的几个实施方式的安装可以改善编码效率,可以简化编码/解码处理,可以加快编码/解码处理速度,还可以高效地选择适当的滤波器、块尺寸、运动矢量、参照图片、参照块等那样的编码和解码中使用的适当的构成要素/动作。

根据说明书以及附图,对本发明的一形态中的进一步的优点以及效果进行了明确。该优点和/或效果通过几个实施方式以及说明书和附图中记载的特征而分别得到,但为了得到1个或其以上的优点和/或效果,未必需要全部提供。

此外,这些总括性或者具体的形态也可以通过系统、方法、集成电路、计算机程序、记录介质或者它们的任意组合来实现。

发明效果

本发明的一形态的结构或者方法例如能够对编码效率的改善、画质的改善、处理量的削减、电路规模的削减、处理速度的改善以及要素或动作的适当的选择等中的1个以上做出贡献。另外,本发明的一形态的结构或方法也可以对上述以外的利益做出贡献。

附图说明

图1是表示实施方式的编码装置的功能结构的框图。

图2是表示由编码装置进行的整体编码处理的一例的流程图。

图3是表示块分割的一例的概念图。

图4a是表示切片的结构的一例的概念图。

图4b是表示瓦片的结构的一例的概念图。

图5a是表示与各种变换类型对应的变换基函数的表。

图5b是表示svt(spatiallyvaryingtransform,空间变换)的一例的概念图。

图6a是表示alf(adaptiveloopfilter:自适应循环滤波器)中使用的滤波器的形状的一例的概念图。

图6b是表示alf中使用的滤波器的形状的另一例的概念图。

图6c是表示alf中使用的滤波器的形状的另一例的概念图。

图7是表示作为dbf(deblockingfilter:去块滤波器)发挥功能的循环滤波部的详细结构的一例的框图。

图8是表示具有相对于块边界对称的滤波特性的去块滤波的例子的概念图。

图9是用于说明进行去块滤波处理的块边界的概念图。

图10是表示bs值的一例的概念图。

图11是表示由编码装置的预测处理部进行的处理的一例的流程图。

图12是表示由编码装置的预测处理部进行的处理的另一例的流程图。

图13是表示由编码装置的预测处理部进行的处理的另一例的流程图。

图14是表示实施方式的帧内预测中的67个帧内预测模式的一例的概念图。

图15是表示帧间预测的基本处理的流程的一例的流程图。

图16是表示运动矢量导出的一例的流程图。

图17是表示运动矢量导出的另一例的流程图。

图18是表示运动矢量导出的另一例的流程图。

图19是表示基于普通帧间模式的帧间预测的例子的流程图。

图20是表示基于合并模式的帧间预测的例子的流程图。

图21是用于说明基于合并模式的运动矢量导出处理的一例的概念图。

图22是表示fruc(framerateupconversion,帧速率上变换)处理的一例的流程图。

图23是用于说明沿着运动轨道的2个块之间的图案匹配(双向匹配)的一例的概念图。

图24是用于说明当前图片内的模板与参照图片内的块之间的图案匹配(模板匹配)的一例的概念图。

图25a是用于说明基于多个相邻块的运动矢量的子块单位的运动矢量的导出的一例的概念图。

图25b是用于说明在具有3个控制点的仿射模式中的子块单位的运动矢量的导出的一例的概念图。

图26a是用于说明仿射合并模式的概念图。

图26b是用于说明具有2个控制点的仿射合并模式的概念图。

图26c是用于说明具有3个控制点的仿射合并模式的概念图。

图27是表示仿射合并模式的处理的一例的流程图。

图28a是用于说明具有2个控制点的仿射帧间模式的概念图。

图28b是用于说明具有3个控制点的仿射帧间模式的概念图。

图29是表示仿射帧间模式的处理的一例的流程图。

图30a是用于说明当前块具有3个控制点、相邻块具有2个控制点的仿射帧间模式的概念图。

图30b是用于说明当前块具有2个控制点、相邻块具有3个控制点的仿射帧间模式的概念图。

图31a是表示包含dmvr(decodermotionvectorrefinement:解码器运动矢量细化)的合并模式的流程图。

图31b是用于说明dmvr处理的一例的概念图。

图32是表示预测图像的生成的一例的流程图。

图33是表示预测图像的生成的另一例的流程图。

图34是表示预测图像的生成的另一例的流程图。

图35是用于说明基于obmc(overlappedblockmotioncompensation,重叠块运动补偿)处理的预测图像修正处理的一例的流程图。

图36是用于说明基于obmc处理的预测图像修正处理的一例的概念图。

图37是用于说明2个三角形的预测图像的生成的概念图。

图38是用于说明假定了等速直线运动的模型的概念图。

图39是用于说明使用了基于lic(localilluminationcompensation,局部光补偿)处理的亮度修正处理的预测图像生成方法的一例的概念图。

图40是表示编码装置的安装例的框图。

图41是表示实施方式的解码装置的功能结构的框图。

图42是表示由解码装置进行的整体解码处理的一例的流程图。

图43是表示由解码装置的预测处理部进行的处理的一例的流程图。

图44是表示由解码装置的预测处理部进行的处理的另一例的流程图。

图45是表示解码装置中的基于普通帧间模式的帧间预测的例子的流程图。

图46是表示解码装置的安装例的框图。

图47是表示第1形态中的帧间预测处理的一例的流程图。

图48是表示处理对象块的一例的图。

图49是表示计算出的阈值的例子的图。

图50是用于对子块单位的atmvp模式进行说明的图。

图51是表示第2形态中的帧间预测处理的一例的流程图。

图52是表示处理对象块的控制点处的运动矢量的例子的图。

图53是表示由编码装置进行的动作的流程图。

图54是表示解码装置进行的动作的流程图。

图55是表示实现内容分发服务的内容供给系统的整体结构的框图。

图56是表示可分级编码时的编码构造的一例的概念图。

图57是表示可分级编码时的编码构造的一例的概念图。

图58是表示web页的显示画面例的概念图。

图59是表示web页的显示画面例的概念图。

图60是表示智能电话的一例的框图。

图61是表示智能电话的结构例的框图。

具体实施方式

本发明的一形态的编码装置具备电路和与上述电路连接的存储器,上述电路在动作中,导出基准运动矢量,上述基准运动矢量是在处理对象块的预测中使用的运动矢量,且是上述处理对象块的控制点的运动矢量,导出与上述基准运动矢量不同的第1运动矢量,基于上述基准运动矢量与上述第1运动矢量的差分来导出差分运动矢量,判定上述差分运动矢量是否大于阈值,在判定为上述差分运动矢量大于上述阈值的情况下,变更上述第1运动矢量,在判定为上述差分运动矢量不大于上述阈值的情况下,不变更上述第1运动矢量,使用变更后的上述第1运动矢量或未变更的上述第1运动矢量,对上述处理对象块进行编码。

由此,编码装置能够调整运动矢量,使得分割成多个子块的处理对象块内的多个运动矢量的偏差收敛在规定的范围内。因此,与运动矢量的偏差比规定的范围大的情况相比,应参照的像素数变少,因此能够将从存储器传输的数据量抑制在规定的范围内。因此,编码装置能够减少帧间预测处理中的存储器访问量,因此编码效率提高。

例如,也可以是,上述基准运动矢量与上述处理对象块内的第1像素集对应,上述第1运动矢量与上述处理对象块内的、与上述第1像素集不同的第2像素集对应。

由此,编码装置能够使用基于第1像素集确定的基准运动矢量和基于第2像素集确定的第1运动矢量,适当地控制处理对象块内的多个运动矢量的偏差。

例如,也可以是,上述电路在判定为上述差分运动矢量大于上述阈值的情况下,使用对上述差分运动矢量进行限幅后的值来变更上述第1运动矢量。

由此,编码装置能够变更第1运动矢量,使得第1运动矢量的偏差收敛在规定的范围内。因此,编码装置能够降低帧间预测处理中的存储器访问量,因此编码效率提高。

例如,也可以是,上述电路基于与上述处理对象块相邻的已编码块的运动矢量,导出上述处理对象块的上述控制点,导出作为上述控制点的运动矢量的、上述处理对象块的上述基准运动矢量。

由此,编码装置能够基于与处理对象块相邻的已编码块的运动矢量来导出处理对象块的基准运动矢量,因此预测精度提高。

例如,也可以是,上述控制点是上述处理对象块中的仿射模式的控制点,上述电路导出作为上述控制点的运动矢量的上述基准运动矢量。

由此,编码装置能够以子块单位来预测处理对象块,因此预测精度提高。

例如,也可以是,上述控制点位于上述处理对象块的左上角、右上角以及左下角中的至少1个。

由此,将位于处理对象块的角的控制点的运动矢量作为基准运动矢量导出,因此,编码装置能够进行调整,使得处理对象块内的多个子块中的第1运动矢量的偏差收敛在规定的范围内。因此,编码装置能够降低帧间预测处理中的存储器访问量,因此编码效率提高。

例如,也可以是,上述电路将处理对象块的多个上述控制点中的至少1个控制点的运动矢量作为上述基准运动矢量导出。

由此,编码装置能够将处理对象块的至少1个控制点的运动矢量作为基准运动矢量,导出该基准运动矢量与第1运动矢量的差分。

例如,也可以是,上述基准运动矢量作为多个上述控制点的运动矢量的平均被导出。

由此,编码装置能够将处理对象块的多个控制点的运动矢量的平均作为基准运动矢量,导出该基准运动矢量与第1运动矢量的差分。

例如,也可以是,上述基准运动矢量作为多个上述控制点的运动矢量的组合被导出。例如,可以是,在上述组合中,将上述多个控制点的运动矢量的水平成分的绝对值中的最大绝对值设为上述基准运动矢量的水平成分,将上述多个控制点的运动矢量的垂直成分的绝对值中的最大绝对值设为上述基准运动矢量的垂直成分,也可以是,在上述组合中,将上述多个控制点的运动矢量的水平成分的绝对值中的最小绝对值设为上述基准运动矢量的水平成分,将上述多个控制点的运动矢量的垂直成分的绝对值中的最小绝对值设为上述基准运动矢量的垂直成分。

由此,处理对象块内的第1运动矢量的偏差收敛在规定的范围内。因此,编码效率提高。

例如,也可以是,使用仿射模式对上述处理对象块进行预测处理。

由此,编码装置能够以子块单位来预测处理对象块,因此预测精度提高。

另外,本发明的一形态的解码装置具备电路和与上述电路连接的存储器,上述电路在动作中,导出基准运动矢量,上述基准运动矢量是在处理对象块的预测中使用的运动矢量,且是上述处理对象块的控制点的运动矢量,导出与上述基准运动矢量不同的第1运动矢量,基于上述基准运动矢量与上述第1运动矢量的差分来导出差分运动矢量,判定上述差分运动矢量是否大于阈值,在判定为上述差分运动矢量大于上述阈值的情况下,变更上述第1运动矢量,在判定为上述差分运动矢量不大于上述阈值的情况下,不变更上述第1运动矢量,使用变更后的上述第1运动矢量或未变更的上述第1运动矢量,对上述处理对象块进行解码。

由此,解码装置能够调整运动矢量,使得分割成多个子块的处理对象块内的多个运动矢量的偏差收敛在规定的范围内。因此,与运动矢量的偏差比规定的范围大的情况相比,应参照的像素数变少,因此能够将从存储器传输的数据量抑制在规定的范围内。因此,由于解码装置能够减少帧间预测处理中的存储器访问量,处理效率提高。

例如,也可以是,上述基准运动矢量与上述处理对象块内的第1像素集对应,上述第1运动矢量与上述处理对象块内的、与上述第1像素集不同的第2像素集对应。

由此,解码装置能够使用基于第1像素集确定的基准运动矢量和基于第2像素集确定的第1运动矢量,适当地控制处理对象块内的多个运动矢量的偏差。

例如,也可以是,上述电路在判定为上述差分运动矢量大于上述阈值的情况下,使用对上述差分运动矢量进行限幅后的值来变更上述第1运动矢量。

由此,解码装置能够变更第1运动矢量,使得第1运动矢量的偏差收敛在规定的范围内。因此,由于解码装置能够减少帧间预测处理中的存储器访问量,处理效率提高。

例如,也可以是,上述电路基于与上述处理对象块相邻的已解码块的运动矢量,导出上述处理对象块的上述控制点,导出作为上述控制点的运动矢量的、上述处理对象块的上述基准运动矢量。

由此,解码装置能够基于与处理对象块相邻的已解码块的运动矢量来导出处理对象块的基准运动矢量,因此预测精度提高。

例如,也可以是,上述控制点是上述处理对象块中的仿射模式的控制点,上述电路导出作为上述控制点的运动矢量的上述基准运动矢量。

由此,解码装置能够以子块单位来预测处理对象块,因此预测精度提高。

例如,也可以是,上述控制点位于上述处理对象块的左上角、右上角以及左下角中的至少1个。

由此,将位于处理对象块的角的控制点的运动矢量作为基准运动矢量导出,因此解码装置能够进行调整,使得处理对象块内的多个子块中的第1运动矢量的偏差收敛在规定的范围内。因此,由于解码装置能够减少帧间预测处理中的存储器访问量,处理效率提高。

例如,也可以是,上述电路将处理对象块的多个上述控制点中的至少1个控制点的运动矢量作为上述基准运动矢量导出。

由此,解码装置能够将处理对象块的至少1个控制点的运动矢量作为基准运动矢量,导出该基准运动矢量与第1运动矢量的差分。

例如,也可以是,上述基准运动矢量作为多个上述控制点的运动矢量的平均被导出。

由此,解码装置能够将处理对象块的多个控制点的运动矢量的平均作为基准运动矢量,导出该基准运动矢量与第1运动矢量的差分。

例如,也可以是,上述基准运动矢量作为多个上述控制点的运动矢量的组合被导出。例如,可以是,在上述组合中,将上述多个控制点的运动矢量的水平成分的绝对值中的最大绝对值设为上述基准运动矢量的水平成分,将上述多个控制点的运动矢量的垂直成分的绝对值中的最大绝对值设为上述基准运动矢量的垂直成分,也可以是,在上述组合中,将上述多个控制点的运动矢量的水平成分的绝对值中的最小绝对值设为上述基准运动矢量的水平成分,将上述多个控制点的运动矢量的垂直成分的绝对值中的最小绝对值设为上述基准运动矢量的垂直成分。

由此,处理对象块内的第1运动矢量的偏差收敛在规定的范围内。因此,处理效率提高。

例如,也可以是,使用仿射模式对上述处理对象块进行预测处理。

由此,解码装置能够以子块单位来预测处理对象块,因此预测精度提高。

另外,本发明的一形态的编码方法,导出基准运动矢量,上述基准运动矢量是在处理对象块的预测中使用的运动矢量,且是上述处理对象块的控制点的运动矢量,导出与上述基准运动矢量不同的第1运动矢量,基于上述基准运动矢量与上述第1运动矢量的差分来导出差分运动矢量,判定上述差分运动矢量是否大于阈值,在判定为上述差分运动矢量大于上述阈值的情况下,变更上述第1运动矢量,在判定为上述差分运动矢量不大于上述阈值的情况下,不变更上述第1运动矢量,使用变更后的上述第1运动矢量或未变更的上述第1运动矢量,对上述处理对象块进行编码。

由此,编码方法能够调整运动矢量,使得分割成多个子块的处理对象块内的多个运动矢量的偏差收敛在规定的范围内。因此,与运动矢量的偏差比规定的范围大的情况相比,应参照的像素数变少,因此能够将从存储器传输的数据量抑制在规定的范围内。因此,编码方法能够减少帧间预测处理中的存储器访问量,因此编码效率提高。

另外,本发明的一形态的解码方法,导出基准运动矢量,上述基准运动矢量是在处理对象块的预测中使用的运动矢量,且是上述处理对象块的控制点的运动矢量,导出与上述基准运动矢量不同的第1运动矢量,基于上述基准运动矢量与上述第1运动矢量的差分来决定差分运动矢量,判定上述差分运动矢量是否大于阈值,在判定为上述差分运动矢量大于上述阈值的情况下,变更上述第1运动矢量,在判定为上述差分运动矢量不大于上述阈值的情况下,不变更上述第1运动矢量,使用变更后的上述第1运动矢量或未变更的上述第1运动矢量,对上述处理对象块进行解码。

由此,解码方法能够调整运动矢量,使得分割成多个子块的处理对象块内的多个运动矢量的偏差收敛在规定的范围内。因此,与运动矢量的偏差比规定的范围大的情况相比,应参照的像素数变少,因此能够将从存储器传输的数据量抑制在规定的范围内。因此,解码方法能够减少帧间预测处理中的存储器访问量,因此处理效率提高。

而且,这些包含性或具体的形态也可以由系统、装置、方法、集成电路、计算机程序或计算机可读取的cd-rom等非暂时的记录介质实现,也可以由系统、装置、方法、集成电路、计算机程序及记录介质的任意的组合来实现。

以下,参照附图具体地说明实施方式。另外,以下说明的实施方式都表示包含性或具体的例子。在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置位置及连接形态、步骤、步骤的关系及顺序等是一例,不是限定权利要求的意思。

以下,说明编码装置及解码装置的实施方式。实施方式是能够应用在本发明的各形态中说明的处理及/或结构的编码装置及解码装置的例子。处理及/或结构在与实施方式不同的编码装置及解码装置中也能够实施。例如,关于对实施方式应用的处理及/或结构,例如也可以进行以下中的某个。

(1)在本发明的各形态中说明的实施方式的编码装置或解码装置的多个构成要素中的某个,也可以替换为在本发明的各形态中的某个所说明的其他构成要素,或是将它们组合;

(2)在实施方式的编码装置或解码装置中,也可以对通过该编码装置或解码装置的多个构成要素中的一部分构成要素进行的功能或处理,进行功能或处理的追加、替换、删除等的任意的变更。例如,将任一功能或处理替换为在本发明的各形态中的某个所说明的其他功能或处理,或是将它们组合;

(3)在实施方式的编码装置或解码装置实施的方法中,也可以对于该方法中包含的多个处理中的一部分处理,进行追加、替换、删除等任意的变更。例如,将方法中任一处理替换为在本发明的各形态中的某个所说明的其他处理,或是将它们组合;

(4)构成实施方式的编码装置或解码装置的多个构成要素中的一部分构成要素,可以与在本发明的各形态中的某个所说明的构成要素组合,也可以与具备在本发明的各形态中的某个所说明的功能的一部分的构成要素组合,也可以与实施在本发明的各形态中说明的构成要素所实施的处理的一部分的构成要素组合;

(5)具备实施方式的编码装置或解码装置的功能的一部分的构成要素、或实施实施方式的编码装置或解码装置的处理的一部分的构成要素,与在本发明的各形态中的某个所说明的构成要素、具备在本发明的各形态中的某个所说明的功能的一部分的构成要素、或实施在本发明的各形态中的某个所说明的处理的一部分的构成要素组合或替换;

(6)在实施方式的编码装置或解码装置所实施的方法中,该方法中包含的多个处理中的某个替换为在本发明的各形态中的某个所说明的处理或者同样的某个处理,或是将它们组合;

(7)将在实施方式的编码装置或解码装置所实施的方法中包含的多个处理中的一部分的处理也可以与在本发明的各形态中的任一种中说明的处理组合。

(8)在本发明的各形态中说明的处理及/或结构的实施的方式并不限定于实施方式的编码装置或解码装置。例如,处理及/或结构也可以在以与实施方式中公开的运动图像编码或运动图像解码不同的目的而利用的装置中实施。

[编码装置]

首先,说明有关实施方式的编码装置。图1是表示有关实施方式的编码装置100的功能结构的框图。编码装置100是将运动图像以块单位进行编码的运动图像编码装置。

如图1所示,编码装置100是将图像以块单位进行编码的装置,具备分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、块存储器118、循环滤波部120、帧存储器122、帧内预测部124、帧间预测部126和预测控制部128。

编码装置100例如由通用处理器及存储器实现。在此情况下,当保存在存储器中的软件程序被处理器执行时,处理器作为分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、循环滤波部120、帧内预测部124、帧间预测部126及预测控制部128发挥功能。此外,编码装置100也可以作为与分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、循环滤波部120、帧内预测部124、帧间预测部126及预测控制部128对应的专用的1个以上的电子电路实现。

以下,在说明了编码装置100的整体处理的流程之后,对编码装置100中包含的各构成要素进行说明。

[编码处理的整体流程]

图2是表示由编码装置100进行的整体编码处理的一例的流程图。

首先,编码装置100的分割部102将作为运动图像的输入图像中包含的各图片分割为多个固定尺寸的块(例如,128×128像素)(步骤sa_1)。然后,分割部102对该固定尺寸的块选择分割图案(也称为块形状)(步骤sa_2)。也就是说,分割部102将具有固定尺寸的块进一步分割为构成该所选择的分割图案的多个块。然后,编码装置100对于该多个块中的每一个,对该块(即,编码对象块)进行步骤sa_3至sa_9的处理。

也就是说,由帧内预测部124、帧间预测部126和预测控制部128的全部或一部分构成的预测处理部生成编码对象块(也称为当前块)的预测信号(也称为预测块)(步骤sa_3)。

接着,减法部104生成编码对象块与预测块的差分作为预测残差(也称为差分块)(步骤sa_4)。

接下来,变换部106和量化部108通过对该差分块进行变换和量化来生成多个量化系数(步骤sa_5)。此外,由多个量化系数构成的块也被称为系数块。

接着,熵编码部110通过对该系数块和与预测信号的生成相关的预测参数进行编码(具体而言是熵编码),生成编码信号(步骤sa_6)。另外,编码信号也称为编码比特流、压缩比特流或流。

接下来,逆量化部112和逆变换部114通过对系数块进行逆量化和逆变换来复原多个预测残差(即,差分块)(步骤sa_7)。

接着,加法部116通过对该复原后的差分块加上预测块,将当前块重构为重构图像(也称为重构块或解码图像块)(步骤sa_8)。由此,生成重构图像。

当生成该重构图像时,循环滤波部120根据需要对该重构图像进行滤波(步骤sa_9)。

然后,编码装置100判定整个图片的编码是否已完成(步骤sa_10),并且在判定为编码未完成的情况下(步骤sa_10中为否),反复进行从步骤sa_2开始的处理。

另外,在上述的例子中,编码装置100对固定尺寸的块选择1个分割图案,按照该分割图案进行各块的编码,但也可以按照多个分割图案的每一个进行各块的编码。在这种情况下,编码装置100可以评价针对多个分割图案中的每一个的成本,并且例如可以选择通过按照最小成本的分割图案进行编码而得到的编码信号作为输出的编码信号。

如图所示,这些步骤sa_1~sa_10的处理由编码装置100顺序地进行。或者,这些处理中的一部分多个处理可以并行地进行,也可以进行这些处理的顺序的调换。

[分割部]

分割部102将输入运动图像中包含的各图片分割为多个块,将各块向减法部104输出。例如,分割部102首先将图片分割为固定尺寸(例如128×128)的块。也可以采用其他固定块尺寸。该固定尺寸的块有被称作编码树单元(ctu)的情况。并且,分割部102例如基于递归性的四叉树(quadtree)及/或二叉树(binarytree)块分割,将固定尺寸的各个块分割为可变尺寸(例如64×64以下)的块。即,分割部102选择分割图案。该可变尺寸的块有被称作编码单元(cu)、预测单元(pu)或变换单元(tu)的情况。另外,在各种处理例中,不需要将cu、pu及tu区分,而也可以将图片内的一部分或全部的块作为cu、pu、tu的处理单位。

图3是表示实施方式的块分割的一例的概念图。在图3中,实线表示基于四叉树块分割的块边界,虚线表示基于二叉树块分割的块边界。

这里,块10是128×128像素的正方形块(128×128块)。该128×128块10首先被分割为4个正方形的64×64块(四叉树块分割)。

左上方的64×64块再被垂直地分割为2个矩形的32×64块,左方的32×64块再被垂直地分割为2个矩形的16×64块(二叉树块分割)。结果,左上方的64×64块被分割为2个16×64块11、12和32×64块13。

右上方的64×64块被水平地分割为2个矩形的64×32块14、15(二叉树块分割)。

左下方的64×64块被分割为4个正方形的32×32块(四叉树块分割)。4个32×32块中的左上方的块及右下方的块进一步被分割。左上方的32×32块被垂直地分割为2个矩形的16×32块,右方的16×32块再被水平地分割为2个16×16块(二叉树块分割)。右下方的32×32块被水平地分割为2个32×16块(二叉树块分割)。结果,左下方的64×64块被分割为16×32块16、2个16×16块17、18、2个32×32块19、20、以及2个32×16块21、22。

右下方的64×64块23不被分割。

如以上这样,在图3中,块10基于递归性的四叉树及二叉树块分割而被分割为13个可变尺寸的块11~23。这样的分割有被称作qtbt(quad-treeplusbinarytree,四叉树加二叉树)分割的情况。

另外,在图3中,1个块被分割为4个或2个块(四叉树或二叉树块分割),但分割并不限定于这些。例如,也可以是1个块被分割为3个块(三叉树分割)。包括这样的三叉树分割在内的分割有被称作mbt(multitypetree,多类型树)分割的情况。

[图片的结构切片/瓦片]

为了并行地解码图片,图片有时以切片单位或以瓦片单位构成。由切片单位或瓦片单位构成的图片可以由分割部102构成。

切片是构成图片的基本的编码的单位。图片例如由1个以上的切片构成。另外,切片由1个以上的连续的ctu(codingtreeunit,编码树单元)构成。

图4a是表示切片的结构的一例的概念图。例如,图片包括11×8个ctu,并且被分割为4个切片(切片1~4)。切片1由16个ctu构成,切片2由21个ctu构成,切片3由29个ctu构成,切片4由22个ctu构成。在此,图片内的各ctu属于任一个切片。切片的形状成为将图片在水平方向上分割的形状。切片的边界不需要是画面端,可以是画面内的ctu的边界中的任意位置。切片中的ctu的处理顺序(编码顺序或解码顺序)例如是光栅扫描顺序。此外,切片包含头部信息和编码数据。在头部信息中,也可以记述切片的开头的ctu地址、切片类型等该切片的特征。

瓦片是构成图片的矩形区域的单位。也可以按光栅扫描顺序对各瓦片分派被称为tileid的编号。

图4b是表示瓦片的结构的一例的概念图。例如,图片包括11×8个ctu,并且被分割为4个矩形区域的瓦片(瓦片1~4)。在使用瓦片的情况下,与不使用瓦片的情况相比,变更ctu的处理顺序。在不使用瓦片的情况下,图片内的多个ctu按照光栅扫描顺序被处理。在使用瓦片的情况下,在多个瓦片的每一个中,至少1个ctu按照光栅扫描顺序被处理。例如,如图4b所示,瓦片1中包括的多个ctu的处理顺序是从瓦片1的第1行的左端到瓦片1的第1行的右端,然后从瓦片1的第2行的左端到瓦片1的第2行的右端的顺序。

另外,1个瓦片有时包含1个以上的切片,1个切片有时包含1个以上的瓦片。

[减法部]

减法部104以从分割部102输入并由分割部102分割的块单位从原信号(原样本)减去预测信号(以下所示的从预测控制部128输入的预测样本)。即,减法部104计算编码对象块(以下称作当前块)的预测误差(也称作残差)。并且,减法部104将计算出的预测误差(残差)向变换部106输出。

原信号是编码装置100的输入信号,是表示构成运动图像的各图片的图像的信号(例如亮度(luma)信号及2个色差(chroma)信号)。以下,也有将表示图像的信号称作样本的情况。

[变换部]

变换部106将空间域的预测误差变换为频域的变换系数,将变换系数向量化部108输出。具体而言,变换部106例如对空间域的预测误差进行规定的离散余弦变换(dct)或离散正弦变换(dst)。规定的dct或dst也可以预先确定。

另外,变换部106也可以从多个变换类型之中适应性地选择变换类型,使用与所选择的变换类型对应的变换基函数(transformbasisfunction),将预测误差变换为变换系数。这样的变换有被称作emt(explicitmultiplecoretransform,多核变换)或amt(adaptivemultipletransform,自适应多变换)的情况。

多个变换类型例如包括dct-ii、dct-v、dct-viii、dst-i及dst-vii。图5a是表示与变换类型例对应的变换基函数的表。在图5a中,n表示输入像素的数量。从这些多个变换类型之中的变换类型的选择,例如既可以依赖于预测的种类(帧内预测及帧间预测),也可以依赖于帧内预测模式。

表示是否应用这样的emt或amt的信息(例如称作emt标志或者amt标志)及表示所选择的变换类型的信息通常以cu级被信号化。另外,这些信息的信号化并不需要限定于cu级,也可以是其他级(例如,比特序列级、图片级、切片级、瓦片级或ctu级)。

此外,变换部106也可以对变换系数(变换结果)进行再变换。这样的再变换有被称作ast(adaptivesecondarytransform,自适应二次变换)或nsst(non-separablesecondarytransform,不可分二次变换)的情况。例如,变换部106按与帧内预测误差对应的变换系数的块中包含的每个子块(例如4×4子块)进行再变换。表示是否应用nsst的信息及与nsst中使用的变换矩阵有关的信息通常以cu级被进行信号化。另外,这些信息的信号化并不需要限定于cu级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或ctu级)。

在变换部106也可以应用separable的变换和non-separable的变换,separable(可分离)的变换是指与输入的维度数相当地按每个方向分离而进行多次变换的方式,non-separable(不可分)的变换是指当输入是多维时将2个以上的维度合起来看作1个维度而一起进行变换的方式。

例如,作为non-separable的变换的一例,可以举出在输入是4×4的块的情况下将其看作具有16个元素的一个排列,对该排列以16×16的变换矩阵进行变换处理的方式。

此外,在non-separable的变换的进一步的例子中,也可以在将4×4的输入块看作具有16个要素的一个排列后,进行对该排列多次进行givens旋转的变换(hypercubegivenstransform)。

在变换部106中的变换中,能够根据cu内的区域来切换要变换为频率区域的基的类型。作为一例,有svt(spatiallyvaryingtransform)。在svt中,如图5b所示,在水平或垂直方向上将cu二等分,仅对任意一方的区域进行向频率区域的变换。能够对每个区域设置变换基的类型,例如使用dst7和dct8。在本例中,仅对cu内的2个区域中的某一方进行变换,另一方不进行变换,但也可以将2个区域都变换。另外,分割方法也不仅是二等分,还可以更灵活,例如四等分或者对表示分割的信息另外进行编码,与cu分割同样地进行信号化(signaling)等。另外,有时也将svt称为sbt(sub-blocktransform,子块变换)。

[量化部]

量化部108对从变换部106输出的变换系数进行量化。具体而言,量化部108对当前块的变换系数以规定的扫描顺序进行扫描,基于与被扫描的变换系数对应的量化参数(qp)对该变换系数进行量化。并且,量化部108将当前块的量化后的变换系数(以下称作量化系数)向熵编码部110及逆量化部112输出。规定的扫描顺序也可以预先确定。

规定的扫描顺序是用于变换系数的量化/逆量化的顺序。例如,也可以用频率的升序(从低频向高频的顺序)或降序(从高频向低频的顺序)定义规定的扫描顺序。

量化参数(qp)是指定义量化步长(量化宽度)的参数。例如,如果量化参数的值增加,则量化步长也增加。即,如果量化参数的值增加,则量化误差增大。

另外,在量化中,有时使用量化矩阵。例如,有时与4×4和8×8等频率变换尺寸、帧内预测和帧间预测等预测模式、亮度和色差等像素成分对应地使用多种量化矩阵。另外,量化是指将以规定的间隔采样的值与规定的级别对应起来进行数字化,在该技术领域中,也可以使用舍入、化整(rounding)、缩放这样的其他表现来参照,也可以采用舍入、化整、缩放。规定的间隔以及级别也可以预先确定。

作为使用量化矩阵的方法,有使用在编码装置侧直接设定的量化矩阵的方法和使用默认的量化矩阵(默认矩阵)的方法。在编码装置侧,通过直接设定量化矩阵,能够设定与图像的特征相应的量化矩阵。然而,在这种情况下,存在由于量化矩阵的编码而编码量增加的缺点。

另一方面,也存在不使用量化矩阵而以高频成分的系数和低频成分的系数都相同的方式进行量化的方法。另外,该方法等同于使用系数全部为相同值的量化矩阵(平坦矩阵)的方法。

量化矩阵例如可以由sps(序列参数集:sequenceparameterset)或pps(图片参数集:pictureparameterset)指定。sps包含对序列使用的参数,pps包含对图片使用的参数。sps和pps有时简称为参数集。

[熵编码部]

熵编码部110基于从量化部108输入的量化系数,生成编码信号(编码比特流)。具体而言,熵编码部110例如将量化系数进行二值化,对二值信号进行算术编码,输出被压缩的比特流或序列。

[逆量化部]

逆量化部112对从量化部108输入的量化系数进行逆量化。具体而言,逆量化部112对当前块的量化系数以规定的扫描顺序进行逆量化。并且,逆量化部112将当前块的逆量化后的变换系数向逆变换部114输出。规定的扫描顺序也可以预先确定。

[逆变换部]

逆变换部114通过对从逆量化部112输入的变换系数进行逆变换,复原预测误差(残差)。具体而言,逆变换部114通过对变换系数进行与变换部106的变换对应的逆变换,复原当前块的预测误差。并且,逆变换部114将复原后的预测误差向加法部116输出。

另外,复原后的预测误差通常由于通过量化丢失了信息,所以与减法部104计算出的预测误差不一致。即,复原后的预测误差中通常包含量化误差。

[加法部]

加法部116通过将从逆变换部114输入的预测误差与从预测控制部128输入的预测样本相加,重构当前块。并且,加法部116将重构的块向块存储器118及循环滤波部120输出。重构块有被称作本地解码块的情况。

[块存储器]

块存储器118例如是用来将在帧内预测中参照的、编码对象图片(称作当前图片)内的块进行保存的存储部。具体而言,块存储器118保存从加法部116输出的重构块。

[帧存储器]

帧存储器122例如是用来将在帧间预测中使用的参照图片进行保存的存储部,也有被称作帧缓冲器的情况。具体而言,帧存储器122保存由循环滤波部120滤波后的重构块。

[循环滤波部]

循环滤波部120对由加法部116重构的块施以循环滤波,将滤波后的重构块向帧存储器122输出。循环滤波是指在编码循环内使用的滤波(环内滤波),例如包括解块滤波(df或dbf)、样本自适应偏移(sao)及自适应循环滤波(alf)等。

在alf中,采用用来除去编码失真的最小二乘误差滤波器,例如按当前块内的每个2×2子块,采用基于局部性的梯度(gradient)的方向及活性度(activity)从多个滤波器中选择的1个滤波器。

具体而言,首先将子块(例如2×2子块)分类为多个类(例如15或25类)。子块的分类基于梯度的方向及活性度来进行。例如,使用梯度的方向值d(例如0~2或0~4)和梯度的活性值a(例如0~4),计算分类值c(例如c=5d+a)。并且,基于分类值c,将子块分类为多个类。

梯度的方向值d例如通过将多个方向(例如水平、垂直及2个对角方向)的梯度进行比较而导出。此外,梯度的活性值a例如通过将多个方向的梯度相加、并对相加结果进行量化来导出。

基于这样的分类的结果,从多个滤波器之中决定用于子块的滤波器。

作为在alf中使用的滤波器的形状,例如使用圆对称形状。图6a~图6c是表示在alf中使用的滤波器的形状的多个例子的图。图6a表示5×5钻石形状滤波器,图6b表示7×7钻石形状滤波器,图6c表示9×9钻石形状滤波器。表示滤波器的形状的信息通常以图片级被进行信号化。另外,表示滤波器的形状的信息的信号化不需要限定于图片级,也可以是其他级(例如,序列级、切片级、瓦片级、ctu级或cu级)。

alf的开启/关闭例如也可以以图片级或cu级决定。例如,关于亮度,可以以cu级决定是否采用alf,关于色差,可以以图片级决定是否采用alf。表示alf的开启/关闭的信息通常以图片级或cu级被进行信号化。另外,表示alf的开启/关闭的信息的信号化并不需要限定于图片级或cu级,也可以是其他级(例如,序列级、切片级、瓦片级或ctu级)。

可选择的多个滤波器(例如到15个或25个为止的滤波器)的系数集通常以图片级被进行信号化。另外,系数集的信号化并不需要限定于图片级,也可以是其他级(例如,序列级、切片级、瓦片级、ctu级、cu级或子块级)。

[循环滤波部>去块滤波器]

在去块滤波器中,循环滤波部120通过对重构图像的块边界进行滤波处理来减少在该块边界产生的失真。

图7是表示作为去块滤波器发挥功能的循环滤波部120的详细结构的一例的框图。

循环滤波部120包括边界判定部1201、滤波判定部1203、滤波处理部1205、处理判定部1208、滤波特性决定部1207以及开关1202、1204和1206。

边界判定部1201判定在块边界附近是否存在进行去块滤波处理的像素(即对象像素)。然后,边界判定部1201将判定结果输出到开关1202和处理判定部1208。

在由边界判定部1201判定为对象像素存在于块边界附近的情况下,开关1202将滤波处理前的图像输出到开关1204。相反,在由边界判定部1201判定为对象像素不存在于块边界附近时,开关1202将滤波处理之前的图像输出到开关1206。

滤波判定部1203基于位于对象像素的周边的至少1个周边像素的像素值,判定是否对对象像素进行去块滤波处理。然后,滤波判定部1203将该判定结果输出到开关1204和处理判定部1208。

在由滤波判定部1203判定为对于对象像素进行去块滤波处理的情况下,开关1204将经由开关1202取得的滤波处理前的图像输出到滤波处理部1205。相反,在由滤波判定部1203判定为不对于对象像素进行去块滤波处理的情况下,开关1204将经由开关1202取得的滤波处理前的图像输出到开关1206。

在经由开关1202和1204取得了滤波处理前的图像的情况下,滤波处理部1205对于对象像素执行具有由滤波特性决定部1207决定的滤波特性的去块滤波处理。然后,滤波处理部1205将该滤波处理后的像素输出到开关1206。

根据处理判定部1208的控制,开关1206选择性地输出未被去块滤波处理的像素和通过滤波处理部1205被去块滤波处理的像素。

处理判定部1208基于边界判定部1201和滤波判定部1203的各自的判定结果来控制开关1206。即,处理判定部1208在由边界判定部1201判定为对象像素存在于块边界附近、且由滤波判定部1203判定为对于对象像素进行去块滤波处理的情况下,从开关1206输出去块滤波处理后的像素。另外,在上述情况以外的情况下,处理判定部1208从开关1206输出未被去块/滤波处理的像素。通过反复进行这样的像素的输出,从开关1206输出滤波处理后的图像。

图8是表示具有相对于块边界对称的滤波特性的去块滤波的一例的概念图。

在去块滤波处理中,例如,使用像素值和量化参数,选择特性不同的2个去块滤波器、即强滤波器和弱滤波器中的任一个。在强滤波器中,如图8所示,在隔着块边界存在像素p0~p2和像素q0~q2的情况下,像素q0~q2各自的像素值例如通过进行以下的式所示的运算而变更为像素值q’0~q’2。

q’0=(p1+2×p0+2×q0+2×q1+q2+4)/8

q’1=(p0+q0+q1+q2+2)/4

q’2=(p0+q0+q1+3×q2+2×q3+4)/8

此外,在上述的式子中,p0~p2以及q0~q2是像素p0~p2以及像素q0~q2各自的像素值。另外,q3是在与块边界相反的一侧与像素q2相邻的像素q3的像素值。另外,在上述的各式的右边,与在去块滤波处理中使用的各像素的像素值相乘的系数是滤波系数。

进而,在去块滤波处理中,也可以以运算后的像素值不超过阈值而被设定的方式进行限幅处理。在该限幅处理中,使用根据量化参数决定的阈值,将基于上述式的运算后的像素值限幅为“运算对象像素值±2×阈值”。由此,能够防止过度的平滑化。

图9是用于说明进行去块滤波处理的块边界的概念图。图10是表示bs值的一例的概念图。

进行去块滤波处理的块边界例如是图9所示的8×8像素块的pu(predictionunit,预测单元)或tu(transformunit,变换单元)的边界。去块滤波处理能够以4行或4列为单位进行。首先,对于图9所示的块p以及块q,如图10那样决定bs(boundarystrength,边界强度)值。

根据图10的bs值,决定是否即使是属于同一图像的块边界,也进行不同强度的去块滤波处理。在bs值为2的情况下进行针对色差信号的去块滤波处理。在bs值为1以上且满足规定的条件的情况下,进行针对亮度信号的去块滤波处理。规定的条件也可以预先确定。另外,bs值的判定条件并不限定于图10所示的条件,也可以基于其他参数来决定。

[预测处理部(帧内预测部/帧间预测部/预测控制部)]

图11是表示由编码装置100的预测处理部进行的处理的一例的流程图。此外,预测处理部由帧内预测部124、帧间预测部126和预测控制部128的全部或一部分的构成要素构成。

预测处理部生成当前块的预测图像(步骤sb_1)。该预测图像也称为预测信号或预测块。另外,在预测信号中,例如有帧内预测信号或帧间预测信号。具体而言,预测处理部使用通过进行预测块的生成、差分块的生成、系数块的生成、差分块的复原、以及解码图像块的生成而已经得到的重构图像,生成当前块的预测图像。

重构图像例如可以是参照图片的图像,也可以是包含当前块的图片即当前图片内的已编码的块的图像。当前图片内的已编码的块例如是当前块的相邻块。

图12是表示由编码装置100的预测处理部进行的处理的另一例的流程图。

预测处理部通过第1方式生成预测图像(步骤sc_1a),通过第2方式生成预测图像(步骤sc_1b),并且通过第3方式生成预测图像(步骤sc_1c)。第1方式、第2方式和第3方式是用于生成预测图像的互不相同的方式,分别可以是例如帧间预测方式、帧内预测方式和其他预测方式。在这样的预测方式中,也可以使用上述的重构图像。

接着,预测处理部选择在步骤sc_1a、sc_1b以及sc_1c中生成的多个预测图像中的任一个(步骤sc_2)。该预测图像的选择、即用于得到最终的预测图像的方式或模式的选择也可以针对所生成的各预测图像计算成本,并基于该成本来进行。此外,该预测图像的选择可以基于用于编码处理的参数来进行。编码装置100可以将用于确定所选择的预测图像、方式或模式的信息信号化为编码信号(也称为编码比特流)。该信息例如可以是标志等。由此,解码装置能够基于该信息,按照在编码装置100中选择的方式或模式来生成预测图像。此外,在图12所示的例子中,预测处理部在通过各方式生成预测图像后,选择预测图像中的任一个。然而,在生成这些预测图像前,预测处理部可以基于用于上述编码处理的参数来选择方式或模式,并且可以根据该方式或模式来生成预测图像。

例如,第1方式和第2方式分别是帧内预测和帧间预测,并且预测处理部可以从按照这些预测方式生成的预测图像中选择针对当前块的最终预测图像。

图13是表示由编码装置100的预测处理部进行的处理的另一例的流程图。

首先,预测处理部通过帧内预测生成预测图像(步骤sd_1a),并且通过帧间预测生成预测图像(步骤sd_1b)。此外,通过帧内预测生成的预测图像也被称为帧内预测图像,通过帧间预测生成的预测图像也被称为帧间预测图像。

接下来,预测处理部评价帧内预测图像和帧间预测图像中的每一个(步骤sd_2)。在该评价中也可以使用成本。也就是说,预测处理部计算帧内预测图像和帧间预测图像各自的成本c。该成本c能够通过r-d最优化模型的式子例如c=d+λ×r来计算。在该式中,d是预测图像的编码失真,并且例如通过当前块的像素值与预测图像的像素值之间的差分绝对值和等来表示。另外,r是预测图像的产生编码量,具体而言,是用于生成预测图像的运动信息等的编码所需的编码量等。另外,λ例如是拉格朗日的未定乘数。

然后,预测处理部从帧内预测图像和帧间预测图像中选择计算出最小成本c的预测图像作为当前块的最终预测图像(步骤sd_3)。也就是说,选择用于生成当前块的预测图像的预测方式或模式。

[帧内预测部]

帧内预测部124参照保存在块存储器118中的当前图片内的块而进行当前块的帧内预测(也称作画面内预测),从而生成预测信号(帧内预测信号)。具体而言,帧内预测部124通过参照与当前块相邻的块的样本(例如亮度值、色差值)进行帧内预测而生成帧内预测信号,并将帧内预测信号向预测控制部128输出。

例如,帧内预测部124使用规定的多个帧内预测模式中的1个进行帧内预测。多个帧内预测模式通常包括1个以上的非方向性预测模式和多个方向性预测模式。规定的多个模式也可以预先确定。

1个以上的非方向性预测模式例如包括由h.265/hevc规格规定的planar(平面)预测模式及dc预测模式。

多个方向性预测模式例如包括由h.265/hevc规格规定的33个方向的预测模式。另外,多个方向性预测模式也可以除了33个方向以外还包括32个方向的预测模式(合计65个方向性预测模式)。图14是表示可以在帧内预测中使用的全部67个帧内预测模式(2个非方向性预测模式及65个方向性预测模式)的概念图。实线箭头表示由h.265/hevc规格规定的33个方向,虚线箭头表示追加的32个方向(2个非方向性预测模式在图14中未图示)。

在各种处理例中,在色差块的帧内预测中,也可以参照亮度块。即,也可以基于当前块的亮度成分来预测当前块的色差成分。这样的帧内预测有被称作cclm(cross-componentlinearmodel,跨组件的线性模型)预测的情况。也可以将这样的参照亮度块的色差块的帧内预测模式(例如称作cclm模式)作为色差块的帧内预测模式的1个来添加。

帧内预测部124也可以基于水平/垂直方向的参照像素的梯度,将帧内预测后的像素值进行修正。伴随着这样的修正的帧内预测有被称作pdpc(positiondependentintrapredictioncombination,位置决定的帧内预测组合)的情况。表示有没有采用pdpc的信息(例如称作pdpc标志)通常以cu级被进行信号化。另外,该信息的信号化并不需要限定于cu级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或ctu级)。

[帧间预测部]

帧间预测部126参照保存在帧存储器122中的与当前图片不同的参照图片进行当前块的帧间预测(也称作画面间预测),从而生成预测信号(帧间预测信号)。帧间预测以当前块或当前块内的当前子块(例如4×4块)的单位进行。例如,帧间预测部126对于当前块或当前子块,在参照图片内进行运动搜索(motionestimation,运动估计),寻找与该当前块或当前子块最一致的参照块或子块。并且,帧间预测部126取得对从参照块或子块到当前块或子块的运动或变化进行补偿的运动信息(例如运动矢量)。帧间预测部126基于该运动信息进行运动补偿(或运动预测),从而生成当前块或子块的帧间预测信号。并且,帧间预测部126将所生成的帧间预测信号向预测控制部128输出。

在运动补偿中使用的运动信息以多种形态被信号化为帧间预测信号。例如,运动矢量也可以被信号化。作为其他例子,运动矢量和预测运动矢量(motionvectorpredictor)之间的差分也可以被信号化。

[帧间预测的基本流程]

图15是表示帧间预测的基本流程的一例的流程图。

帧间预测部126首先生成预测图像(步骤se_1至se_3)。接下来,减法部104生成当前块与预测图像之间的差分作为预测残差(步骤se_4)。

这里,在预测图像的生成中,帧间预测部126通过进行当前块的运动矢量(mv)的决定(步骤se_1和se_2)以及运动补偿(步骤se_3)来生成该预测图像。此外,在mv的决定中,帧间预测部126通过进行候选运动矢量(候选mv)的选择(步骤se_1)和mv的导出(步骤se_2)来决定该mv。候选mv的选择例如通过从候选mv列表

中选择至少1个候选mv来进行。另外,在mv的导出中,帧间预测部126也可以通过

从至少1个候选mv中进一步选择至少1个候选mv,将该选择出的至少1个候选mv决定为当前块的mv。或者,帧间预测部126可以通过对该选择出的至少一个候选mv中的每一个搜索由该候选mv指示的参照图片的区域来决定当前块的mv。另外,也可以将搜索该参照图片的区域的动作称为运动搜索(motionestimation)。

此外,在上述例子中,步骤se_1~se_3由帧间预测部126进行,但是例如步骤se_1或步骤se_2等的处理也可以由编码装置100中包括的其他构成要素进行。

[运动矢量的导出的流程]

图16是表示运动矢量导出的一例的流程图。

帧间预测部126在对运动信息(例如mv)进行编码的模式下导出当前块的mv。在这种情况下,例如,运动信息被编码为预测参数,并且被信号化。也就是说,编码后的运动信息包含在编码信号(也称为编码比特流)中。

或者,帧间预测部126在不对运动信息进行编码的模式下导出mv。在这种情况下,运动信息不包含在编码信号中。

在此,mv导出的模式也可以有后述的普通帧间模式、合并模式、fruc模式以及仿射模式等。在这些模式中,对运动信息进行编码的模式有普通帧间模式、合并模式、以及仿射模式(具体而言,仿射帧间模式和仿射合并模式)等。此外,运动信息不仅可以包括mv,而且可以包括后述的预测运动矢量选择信息。此外,不对运动信息进行编码的模式有fruc模式等。帧间预测部126从这些多个模式中选择用于导出当前块的mv的模式,并且使用该选择出的模式导出当前块的mv。

图17是表示运动矢量导出的另一例的流程图。

帧间预测部126在对差分mv进行编码的模式下导出当前块的mv。在这种情况下,例如,差分mv被编码为预测参数,并且被信号化。也就是说,被编码的差分mv包含在编码信号中。该差分mv是当前块的mv与其预测mv之差。

或者,帧间预测部126在不对差分mv进行编码的模式下导出mv。在这种情况下,被编码的差分mv不包含在编码信号中。

在此,如上所述,mv的导出模式有后述的普通帧间模式、合并模式、fruc模式以及仿射模式等。在这些模式中,对差分mv进行编码的模式有普通帧间模式、以及仿射模式(具体而言,仿射帧间模式)等。此外,不对差分mv进行编码的模式有fruc模式、合并模式、以及仿射模式(具体而言,仿射合并模式)等。帧间预测部126从这些多个模式中选择用于导出当前块的mv的模式,并且使用该选择出的模式导出当前块的mv。

[运动矢量的导出的流程]

图18是表示运动矢量导出的另一例的流程图。mv导出的模式、即帧间预测模式有多个模式,大致分为对差分mv进行编码的模式和不对差分运动矢量进行编码的模式。不对差分mv进行编码的模式有合并模式、fruc模式和仿射模式(具体而言,仿射合并模式)。关于这些模式的详细内容将后述,简单地说,合并模式是通过从周边的已编码块中选择运动矢量来导出当前块的mv的模式,fruc模式是通过在已编码区域间进行搜索来导出当前块的mv的模式。另外,仿射模式是假定仿射变换,将构成当前块的多个子块各自的运动矢量作为当前块的mv而导出的模式。

具体而言,如图所示,在帧间预测模式信息表示0的情况下(sf_1中的0),帧间预测部126基于合并模式导出运动矢量(sf_2)。此外,在帧间预测模式信息表示1的情况下(sf_1中的1),帧间预测部126根据fruc模式导出运动矢量(sf_3)。此外,在帧间预测模式信息表示2的情况下(sf_1中的2),帧间预测部126根据仿射模式(具体而言,仿射合并模式)导出运动矢量(sf_4)。此外,在帧间预测模式信息表示3的情况下(sf_1中的3),帧间预测部126根据对差分mv进行编码的模式(例如,普通帧间模式)来导出运动矢量(sf_5)。

[mv导出>普通帧间模式]

普通帧间模式是基于从由候选mv表示的参照图片的区域中与当前块的图像相似的块来导出当前块的mv的帧间预测模式。此外,在该普通帧间模式中,差分mv被编码。

图19是表示基于普通帧间模式的帧间预测的例子的流程图。

首先,帧间预测部126基于在时间或空间上位于当前块周围的多个已编码块的mv等的信息,对于该当前块取得多个候选mv(步骤sg_1)。也就是说,帧间预测部126制作候选mv列表。

接着,帧间预测部126从在步骤sg_1中取得的多个候选mv中,将n个(n为2以上的整数)候选mv分别作为预测运动矢量候选(也称为预测mv候选),按照规定的的优先顺序进行提取(步骤sg_2)。另外,该优先顺序也可以是对n个候选mv的每一个而预先确定的。

接着,帧间预测部126从该n个预测运动矢量候选中选择1个预测运动矢量候选作为当前块的预测运动矢量(也称为预测mv)(步骤sg_3)。此时,帧间预测部126将用于识别选择出的预测运动矢量的预测运动矢量选择信息编码到流。另外,流是上述的编码信号或编码比特流。

接着,帧间预测部126参照已编码参照图片,导出当前块的mv(步骤sg_4)。此时,帧间预测部126还将所导出的mv与预测运动矢量之间的差分值作为差分mv编码到流。另外,已编码参照图片是由在编码后重构的多个块构成的图片。

最后,帧间预测部126通过使用该导出的mv和已编码的参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤sg_5)。另外,预测图像是上述的帧间预测信号。

此外,编码信号中包含的表示在预测图像的生成中使用的帧间预测模式(在上述例子中,普通帧间模式)的信息被编码为例如预测参数。

另外,候选mv列表也可以与在其他模式中使用的列表共同使用。此外,与候选mv列表有关的处理可以应用于与其他模式中使用的列表有关的处理。与该候选mv列表有关的处理例如是从候选mv列表中提取或选择候选mv、重新排列候选mv、或者删除候选mv等。

[mv导出>合并模式]

合并模式是通过从候选mv列表中选择候选mv作为当前块的mv来导出该mv的帧间预测模式。

图20是表示基于合并模式的帧间预测的例子的流程图。

首先,帧间预测部126基于在时间或空间上位于当前块周围的多个已编码块mv等的信息,对该当前块取得多个候选mv(步骤sh_1)。也就是说,帧间预测部126制作候选mv列表。

接着,帧间预测部126通过从在步骤sh_1中取得的多个候选mv中选择1个候选mv,导出当前块的mv(步骤sh_2)。此时,帧间预测部126将用于识别选择出的候选mv的mv选择信息编码到流。

最后,帧间预测部126通过使用该导出的mv和已编码参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤sh_3)。

此外,编码信号中包含的表示在预测图像的生成中使用的帧间预测模式(在上述例子中,合并模式)的信息被编码为例如预测参数。

图21是用于说明基于合并模式的当前图片的运动矢量导出处理的一例的概念图。

首先,生成登记了预测mv的候选的预测mv列表。作为预测mv的候选,有:空间相邻预测mv,是位于对象块的空间的周边的多个已编码块所具有的mv;时间相邻预测mv,是对已编码参照图片中的对象块的位置进行了投影的附近的块所具有的mv;结合预测mv,是将空间相邻预测mv和时间相邻预测mv的mv值组合而生成的mv;以及零预测mv,是值为零的mv,等。

接着,通过从登记在预测mv列表中的多个预测mv中选择1个预测mv,来决定为对象块的mv。

而且,在可变长度编码部中,将表示选择了哪个预测mv的信号即merge_idx记述在流中进行编码。

另外,在图21中说明的预测mv列表中登记的预测mv是一例,也可以是与图中的个数不同的个数,或者是不包含图中的预测mv的一部分种类的结构,或者是追加了除图中的预测mv的种类以外的预测mv的结构。

也可以使用通过合并模式导出的对象块的mv,通过进行后述的dmvr(decodermotionvectorrefinement)处理来决定最终的mv。

另外,预测mv的候选是上述的候选mv,预测mv列表是上述的候选mv列表。此外,也可以将候选mv列表称为候选列表。此外,merge_idx是mv选择信息。

[mv导出>fruc模式]

运动信息也可以不从编码装置侧被信号化,而在解码装置侧被导出。另外,如上所述,也可以使用由h.265/hevc规格规定的合并模式。此外,例如也可以通过在解码装置侧进行运动搜索来导出运动信息。在实施方式中,在解码装置侧不使用当前块的像素值而进行运动搜索。

这里,对在解码装置侧进行运动估计的模式进行说明。该在解码装置侧进行运动估计的模式有被称作pmmvd(patternmatchedmotionvectorderivation,图案匹配的运动矢量推导)模式或fruc(framerateup-conversion,帧速率上变换)模式的情况。

以流程图的形式在图22中表示fruc处理的一例。首先,参照与当前块在空间或时间上相邻的已编码块的运动矢量,生成分别具有预测运动矢量(mv)的多个候选的列表(即,是候选mv列表,也可以与合并列表共用)(步骤si_1)。接着,从登记在候选mv列表中的多个候选mv之中选择最佳候选mv(步骤si_2)。例如,计算候选mv列表中包含的各候选mv的评价值,基于评价值选择1个候选。并且,基于所选择的候选的运动矢量,导出用于当前块的运动矢量(步骤si_4)。具体而言,例如将所选择的候选的运动矢量(最佳候选mv)原样作为用于当前块的运动矢量来导出。此外,例如也可以通过在与所选择的候选的运动矢量对应的参照图片内的位置的周边区域中进行图案匹配,来导出用于当前块的运动矢量。即,也可以对最佳候选mv的周边区域通过使用参照图片中的图案匹配以及评价值进行搜索,在有评价值为更好的值的mv的情况下,将最佳候选mv更新为上述mv,将其作为当前块的最终的mv。也可以做成不实施进行向具有更好的评价值的mv的更新的处理的结构。

最后,帧间预测部126通过使用该导出的mv和已编码的参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤si_5)。

也可以在以子块单位进行处理的情况下也进行完全同样的处理。

评价值也可以通过各种方法来计算。例如,将与运动矢量对应的参照图片内的区域的重构图像与规定的区域(例如,如下所示,该区域可以是其他参照图片的区域或当前图片的相邻块的区域)的重构图像进行比较。规定的区域也可以预先确定。

然后,也可以计算2个重构图像的像素值的差分,用于运动矢量的评价值。另外,也可以是,除了差分值以外还使用其他信息来计算评价值。

接着,对图案匹配的例子进行详细说明。首先,选择候选mv列表(例如合并列表)中包含的1个候选mv作为基于图案匹配的搜索的起始点。例如,作为图案匹配,能够使用第1图案匹配或第2图案匹配。第1图案匹配及第2图案匹配有分别被称作双向匹配(bilateralmatching)及模板匹配(templatematching)的情况。

[mv导出>fruc>双向匹配]

在第1图案匹配中,在不同的2个参照图片内的、沿着当前块的运动轨迹(motiontrajectory)的2个块之间进行图案匹配。因而,在第1图案匹配中,作为上述的用于候选的评价值的计算的规定区域,使用沿着当前块的运动轨迹的其他参照图片内的区域。规定的区域也可以预先确定。

图23是用于说明沿着运动轨迹的2个参照图片中的2个块间的第1图案匹配(双向匹配)的一例的概念图。如图23所示,在第1图案匹配中,通过在沿着当前块(curblock)的运动轨迹的2个块、且不同的2个参照图片(ref0,ref1)内的2个块的对之中搜索最匹配的对,导出2个运动矢量(mv0,mv1)。具体而言,对于当前块,导出由候选mv指定的第1已编码参照图片(ref0)内的指定位置处的重构图像、与由将上述候选mv以显示时间间隔进行缩放后的对称mv指定的第2已编码参照图片(ref1)内的指定位置处的重构图像的差分,使用所得到的差分值计算评价值。能够在多个候选mv之中选择评价值为最好的值的候选mv作为最终mv,能够得到良好的结果。

在连续性的运动轨迹的假定下,指示2个参照块的运动矢量(mv0,mv1)相对于当前图片(curpic)与2个参照图片(ref0,ref1)之间的时间上的距离(td0,td1)成比例。例如,在当前图片在时间上位于2个参照图片之间、从当前图片向2个参照图片的时间上的距离相等的情况下,在第1图案匹配中,导出镜像对称的双方向的运动矢量。

[mv导出>fruc>模板匹配]

在第2图案匹配(模板匹配)中,在当前图片内的模板(在当前图片内与当前块相邻的块(例如上及/或左相邻块))与参照图片内的块之间进行图案匹配。因而,在第2图案匹配中,作为上述的用于候选的评价值的计算的规定区域,使用当前图片内的与当前块相邻的块。

图24是用于说明当前图片内的模板与参照图片内的块之间的图案匹配(模板匹配)的一例的概念图。如图24所示,在第2图案匹配中,通过在参照图片(ref0)内搜索与在当前图片(curpic)内相邻于当前块(curblock)的块最匹配的块,导出当前块的运动矢量。具体而言,对于当前块,导出左相邻及上相邻的双方或某一方的已编码区域的重构图像与由候选mv指定的已编码参照图片(ref0)内的同等位置处的重构图像的差分,使用所得到的差分值计算评价值,能够在多个候选mv之中选择评价值为最好的值的候选mv作为最佳候选mv。

这样的表示是否采用fruc模式的信息(例如称作fruc标志)以cu级被信号化。此外,在采用fruc模式的情况下(例如fruc标志为真的情况下),表示可采用的图案匹配的方法(第1图案匹配或第2图案匹配)的信息以cu级被信号化。另外,这些信息的信号化并不需要限定于cu级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级、ctu级或子块级)。

[mv导出>仿射模式]

接下来,对基于多个相邻块的运动矢量并以子块单位导出运动矢量的仿射模式进行说明。该模式有时被称为仿射运动补偿预测(affinemotioncompensationprediction)模式。

图25a是用于说明基于多个相邻块的运动矢量的子块单位的运动矢量的导出的一例的概念图。在图25a中,当前块包括16个4×4子块。这里,基于相邻块的运动矢量导出当前块的左上角控制点的运动矢量v0,同样地,基于相邻子块的运动矢量导出当前块的右上角控制点的运动矢量v1。然后,根据以下的式(1a),可以投影2个运动矢量v0以及v1,也可以导出当前块内的各子块的运动矢量(vx,vy)。

【数式1】

这里,x和y分别表示子块的水平位置和垂直位置,w表示规定的权重系数。规定的权重系数也可以预先决定。

表示这种仿射模式的信息(例如,称为仿射标志)可以被信号化为cu级的信号。此外,表示该仿射模式的信息的信号化不需要限定于cu级,可以是其他级(例如,序列级、图片级、切片级、瓦片级、ctu级或子块级)。

另外,在这样的仿射模式中,也可以包含左上以及右上角控制点的运动矢量的导出方法不同的若干模式。例如,在仿射模式中,有仿射帧间(也称为仿射普通帧间)模式和仿射合并模式这2个模式。

[mv导出>仿射模式]

图25b是用于说明具有3个控制点的仿射模式中的子块单位的运动矢量的导出的一例的概念图。在图25b中,当前块包括16个4×4子块。这里,基于相邻块的运动矢量导出当前块的左上角控制点的运动矢量v0,同样地,基于相邻块的运动矢量导出当前块的右上角控制点的运动矢量v1,基于相邻块的运动矢量导出当前块的左下角控制点的运动矢量v2。然后,根据以下的式(1b),可以投影3个运动矢量v0、v1以及v2,也可以导出当前块内的各子块的运动矢量(vx,vy)。

【数式2】

这里,x和y分别表示子块中心的水平位置和垂直位置,w表示当前块的宽度,h表示当前块的高度。

不同的控制点数(例如,2个和3个)的仿射模式也可以以cu级进行切换而信号化。另外,也可以将表示在cu级中使用的仿射模式的控制点数的信息以其他级(例如,序列级、图片级、切片级、瓦片级、ctu级或子块级)进行信号化。

另外,在这样的具有3个控制点的仿射模式中,也可以包含左上、右上以及左下角控制点的运动矢量的导出方法不同的若干模式。例如,在仿射模式中,有仿射帧间(也称为仿射普通帧间)模式和仿射合并模式这2个模式。

[mv导出>仿射合并模式]

图26a、图26b和图26c是用于说明仿射合并模式的概念图。

在仿射合并模式中,如图26a所示,例如,基于与在与当前块相邻的已编码的块a(左)、块b(上)、块c(右上)、块d(左下)和块e(左上)中的以仿射模式编码的块对应的多个运动矢量,计算当前块的控制点中的每一个的预测运动矢量。具体而言,按照已编码的块a(左)、块b(上)、块c(右上)、块d(左下)以及块e(左上)的顺序检查这些块,确定以仿射模式编码的最初的有效块。基于与所确定的块对应的多个运动矢量来计算当前块的控制点的预测运动矢量。

例如,如图26b所示,在以具有2个控制点的仿射模式对与当前块的左侧相邻的块a进行编码的情况下,导出投影到包含块a的已编码的块的左上角以及右上角的位置的运动矢量v3以及v4。然后,根据导出的运动矢量v3和v4,计算当前块的左上角的控制点的预测运动矢量v0和右上角的控制点的预测运动矢量v1。

例如,如图26c所示,当在具有3个控制点的仿射模式下对与当前块的左侧相邻的块a进行编码时,导出投影到包含块a的已编码的块的左上角、右上角和左下角的位置的运动矢量v3、v4和v5。然后,根据导出的运动矢量v3、v4和v5,计算当前块的左上角的控制点的预测运动矢量v0、右上角的控制点的预测运动矢量v1和左下角的控制点的预测运动矢量v2。

另外,在后述的图29的步骤sj_1中的当前块的控制点各自的预测运动矢量的导出中,也可以使用该预测运动矢量导出方法。

图27是表示仿射合并模式的一例的流程图。

在仿射合并模式中,如图所示,首先,帧间预测部126导出当前块的控制点各自的预测mv(步骤sk_1)。控制点如图25a所示,是当前块的左上角和右上角的点,或者如图25b所示,是当前块的左上角、右上角和左下角的点。

也就是说,如图26a所示,帧间预测部126按照已编码的块a(左)、块b(上)、块c(右上)、块d(左下)和块e(左上)的顺序检查这些块,并且确定以仿射模式编码的初始有效块。

然后,在块a被确定并且块a具有2个控制点的情况下,如图26b所示,帧间预测部126根据包含块a的已编码的块的左上角和右上角的运动矢量v3和v4来计算当前块的左上角的控制点的运动矢量v0和右上角的控制点的运动矢量v1。例如,通过将已编码的块的左上角和右上角的运动矢量v3和v4投影到当前块,帧间预测部126计算当前块的左上角的控制点的预测运动矢量v0和右上角的控制点的预测运动矢量v1。

或者,在块a被确定并且块a具有3个控制点的情况下,如图26c所示,帧间预测部126根据包含块a的已编码的块的左上角、右上角和左下角的运动矢量v3、v4和v5来计算当前块的左上角的控制点的运动矢量v0、右上角的控制点的运动矢量v1和左下角的控制点的运动矢量v2。例如,通过将已编码的块的左上角、右上角和左下角的运动矢量v3、v4和v5投影到当前块上,帧间预测部126计算当前块的左上角的控制点的预测运动矢量v0、右上角的控制点的预测运动矢量v1和左下角的控制点的运动矢量v2。

接下来,帧间预测部126对当前块中包含的多个子块中的每一个进行运动补偿。即,帧间预测部126针对该多个子块的每一个,使用2个预测运动矢量v0和v1和上述的式(1a)、或者3个预测运动矢量v0、v1以及v2和上述的式(1b),计算该子块的运动矢量作为仿射mv(步骤sk_2)。然后,帧间预测部126这些使用仿射mv和已编码的参照图片来对该子块进行运动补偿(步骤sk_3)。结果,对当前块进行运动补偿,并且生成该当前块的预测图像。

[mv导出>仿射帧间模式]

图28a是用于说明具有2个控制点的仿射帧间模式的概念图。

在该仿射帧间模式中,如图28a所示,从与当前块相邻的已编码的块a、块b和块c的运动矢量中选择的运动矢量被用作当前块的左上角的控制点的预测运动矢量v0。同样地,从与当前块相邻的已编码的块d和块e的运动矢量中选择的运动矢量被用作当前块的右上角的控制点的预测运动矢量v1。

图28b是用于说明具有3个控制点的仿射帧间模式的概念图。

在该仿射帧间模式中,如图28b所示,从与当前块相邻的已编码的块a、块b和块c的运动矢量中选择的运动矢量被用作当前块的左上角的控制点的预测运动矢量v0。同样地,从与当前块相邻的已编码的块d和块e的运动矢量中选择的运动矢量被用作当前块的右上角的控制点的预测运动矢量v1。此外,从与当前块相邻的已编码的块f和块g的运动矢量中选择的运动矢量被用作当前块的左下角的控制点的预测运动矢量v2。

图29是表示仿射帧间模式的一例的流程图。

如图所示,在仿射帧间模式中,首先,帧间预测部126导出当前块的2个或3个控制点各自的预测mv(v0,v1)或(v0,v1,v2)(步骤sj_1)。如图25a或图25b所示,控制点是当前块的左上角、右上角或左下角的点。

即,帧间预测部126通过选择图28a或图28b所示的当前块的各控制点附近的已编码的块中的某个块的运动矢量,导出当前块的控制点的预测运动矢量(v0,v1)或(v0,v1,v2)。此时,帧间预测部126将用于识别所选择的2个运动矢量的预测运动矢量选择信息编码到流。

例如,帧间预测部126可以通过使用成本评价等来决定从与当前块相邻的已编码块中选择哪个块的运动矢量作为控制点的预测运动矢量,并且可以在比特流中记述表示选择了哪个预测运动矢量的标志。

接下来,帧间预测部126在更新步骤sj_1中选择或导出的预测运动矢量的同时(步骤sj_2)进行运动搜索(步骤sj_3和sj_4)。也就是说,帧间预测部126将与要更新的预测运动矢量对应的各子块的运动矢量作为仿射mv,并且使用上述的式(1a)或式(1b)来计算(步骤sj_3)。然后,帧间预测部126使用这些仿射mv和已编码的参照图片对各子块进行运动补偿(步骤sj_4)。结果,在运动搜索循环中,帧间预测部126例如将可以得到最小成本的预测运动矢量决定为控制点的运动矢量(步骤sj_5)。此时,帧间预测部126还将该决定的mv和预测运动矢量之间的差分值作为差分mv编码成流。

最后,帧间预测部126通过使用该决定的mv和已编码的参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤sj_6)。

[mv导出>仿射帧间模式]

在以cu级切换不同的控制点数(例如,2个和3个)的仿射模式来进行信号化的情况下,有时在已编码的块和当前块中控制点的数量不同。图30a以及图30b是用于说明在已编码的块和当前块中控制点的数量不同的情况下的控制点的预测矢量导出方法的概念图。

例如,如图30a所示,在当前块具有左上角、右上角以及左下角这3个控制点,与当前块的左侧相邻的块a以具有2个控制点的仿射模式被编码的情况下,导出投影到包含块a的已编码的块的左上角以及右上角的位置的运动矢量v3以及v4。然后,根据导出的运动矢量v3和v4,计算当前块的左上角的控制点的预测运动矢量v0和右上角的控制点的预测运动矢量v1。此外,根据导出的运动矢量v0和v1计算左下角的控制点的预测运动矢量v2。

例如,如图30b所示,在当前块具有左上角和右上角这2个控制点、与当前块的左侧相邻的块a以具有3个控制点的仿射模式下被编码的情况下,导出投影到包含块a的已编码的块的左上角、右上角和左下角的位置的运动矢量v3、v4和v5。然后,根据导出的运动矢量v3、v4和v5,计算当前块的左上角的控制点的预测运动矢量v0和右上角的控制点的预测运动矢量v1。

在图29的步骤sj_1中的当前块的控制点的各个预测运动矢量的导出中,也可以使用该预测运动矢量导出方法。

[mv导出>dmvr]

图31a是表示合并模式以及dmvr的关系的流程图。

帧间预测部126在合并模式下导出当前块的运动矢量(步骤sl_1)。接下来,帧间预测部126判定是否进行运动矢量搜索,即运动搜索(步骤sl_2)。这里,当判定为不进行运动搜索时(步骤sl_2中为否),帧间预测部126将在步骤sl_1中导出的运动矢量决定为针对当前块的最终运动矢量(步骤sl_4)。即,在这种情况下,在合并模式下决定当前块的运动矢量。

另一方面,当在步骤sl_1中判定为进行运动搜索时(步骤sl_2中为是),帧间预测部126通过搜索由在步骤sl_1中导出的运动矢量表示的参照图片的周边区域来导出针对当前块的最终运动矢量(步骤sl_3)。即,在这种情况下,由dmvr决定当前块的运动矢量。

图31b是用于说明用于决定mv的dmvr处理的一例的概念图。

首先,将(例如在合并模式中)对当前块设定的最佳mvp设为候选mv。然后,按照候选mv(l0),根据l0方向的已编码图片即第1参照图片(l0)确定参照像素。同样地,按照候选mv(l1),根据l1方向的已编码图片即第2参照图片(l1)确定参照像素。通过取这些参照像素的平均来生成模板。

接着,使用上述模板,分别搜索第1参照图片(l0)和第2参照图片(l1)的候选mv的周边区域,将成本最小的mv决定为最终的mv。此外,成本值例如也可以使用模板的各像素值与搜索区域的各像素值的差分值以及候选mv值等来计算。

另外,典型地,在编码装置和后述的解码装置中,这里说明的处理的结构和动作基本上是共同的。

即使不是这里说明的处理例本身,只要是能够搜索候选mv的周边而导出最终的mv的处理,则也可以使用任意的处理。

[运动补偿>bio/obmc]

在运动补偿中,存在生成预测图像并对该预测图像进行修正的模式。该模式例如是后述的bio以及obmc。

图32是表示预测图像的生成的一例的流程图。

帧间预测部126生成预测图像(步骤sm_1),并且通过例如上述任一个模式来修正该预测图像(步骤sm_2)。

图33是表示生成预测图像的另一例的流程图。

帧间预测部126决定当前块的运动矢量(步骤sn_1)。接下来,帧间预测部126生成预测图像(步骤sn_2),并且判定是否进行修正处理(步骤sn_3)。这里,当判定为进行修正处理时(步骤sn_3中为是),帧间预测部126通过修正该预测图像来生成最终预测图像(步骤sn_4)。另一方面,当判定为不进行修正处理时(步骤sn_3中为否),帧间预测部126不修正该预测图像地输出该预测图像作为最终预测图像(步骤sn_5)。

此外,在运动补偿中,存在在生成预测图像时修正亮度的模式。该模式例如是后述的lic。

图34是表示生成预测图像的另一例的流程图。

帧间预测部126导出当前块的运动矢量(步骤so_1)。接下来,帧间预测部126判定是否进行亮度修正处理(步骤so_2)。这里,当判定为进行亮度修正处理时(步骤so_2中为是),帧间预测部126在进行亮度修正的同时生成预测图像(步骤so_3)。也就是说,通过lic生成预测图像。另一方面,当判定为不进行亮度修正处理时(步骤so_2中为否),帧间预测部126在不进行亮度修正的情况下通过通常的运动补偿生成预测图像(步骤so_4)。

[运动补偿>obmc]

不仅可以使用通过运动搜索得到的当前块的运动信息,而且可以使用相邻块的运动信息来生成帧间预测信号。具体而言,也可以通过对基于通过(参照图片内的)运动搜索得到的运动信息的预测信号和基于(当前图片内的)相邻块的运动信息的预测信号进行加权相加,以当前块内的子块单位生成帧间预测信号。这样的帧间预测(运动补偿)有时被称为obmc(overlappedblockmotioncompensation,重叠块运动补偿)。

在obmc模式中,表示用于obmc的子块的尺寸的信息(例如称为obmc块尺寸)也可以以序列级进行信号化。并且,表示是否应用obmc模式的信息(例如称为obmc标志)也可以以cu级进行信号化。另外,这些信息的信号化的级不需要限定于序列级以及cu级,也可以是其他级(例如图片级、切片级、瓦片级、ctu级或者子块级)。

对obmc模式的例子进行更具体的说明。图35和图36是用于说明基于obmc处理的预测图像修正处理的概要的流程图和概念图。

首先,如图36所示,使用分配给处理对象(当前)块的运动矢量(mv),取得基于通常的运动补偿的预测图像(pred)。在图36中,箭头“mv”指向参照图片,并且表示当前图片的当前块参照哪个块以得到预测图像。

接着,将对已编码的左相邻块已经导出的运动矢量(mv_l)应用(再利用)到编码对象块,取得预测图像(pred_l)。运动矢量(mv_l)由从当前块指向参照图片的箭头“mv_l”表示。然后,通过重叠2个预测图像pred和pred_l,进行预测图像的第1次修正。这具有混合相邻块间的边界的效果。

同样地,将对已编码的上相邻块已经导出的运动矢量(mv_u)应用(再利用)到编码对象块,取得预测图像(pred_u)。运动矢量(mv_u)由从当前块指向参照图片的箭头“mv_u”表示。然后,通过将预测图像pred_u与进行了第1次修正的预测图像(例如,pred和pred_l)重合来进行预测图像的第2次修正。这具有混合相邻块间的边界的效果。通过第2次修正得到的预测图像是与相邻块的边界被混合(平滑)的当前块的最终预测图像。

此外,上述的例子是使用了左相邻以及上相邻的块的2路径的修正方法,但该修正方法也可以是还使用了右相邻及/或下相邻的块的3路径或者其以上的路径的修正方法。

另外,进行重合的区域也可以不是块整体的像素区域,而仅是块边界附近的一部分区域。

另外,在此说明了obmc的预测图像修正处理,所述obmc的预测图像修正处理用于通过将1张参照图片与追加的预测图像pred_l和pred_u重合而得到1张预测图像pred。但是,在基于多个参照图像来修正预测图像的情况下,也可以对多个参照图片分别应用同样的处理。在这种情况下,通过进行基于多个参照图片的obmc的图像修正,在从各个参照图片取得了被修正的预测图像后,通过进一步重合该取得的多个修正预测图像来取得最终预测图像。

另外,在obmc中,对象块的单位可以是预测块单位,也可以是将预测块进一步分割后的子块单位。

作为判定是否应用obmc处理的方法,例如有使用表示是否应用obmc处理的信号即obmc_flag的方法。作为具体的一例,编码装置也可以判定对象块是否属于运动复杂的区域。编码装置在属于运动复杂的区域的情况下,作为obmc_flag设定值1并应用obmc处理来进行编码,在不属于运动复杂的区域的情况下,作为obmc_flag设定值0并不应用obmc处理地进行块的编码。另一方面,在解码装置中,通过对流(例如压缩序列)中记述的obmc_flag进行解码,根据该值切换是否应用obmc处理来进行解码。

在上述的例子中,帧间预测部126对矩形的当前块生成1个矩形的预测图像。然而,帧间预测部126可以对该矩形的当前块生成具有与矩形不同的形状的多个预测图像,并且可以通过结合这些多个预测图像来生成最终矩形预测图像。与矩形不同的形状例如也可以是三角形。

图37是用于说明2个三角形的预测图像的生成的概念图。

帧间预测部126通过对当前块内的三角形第1分区使用该第1分区的第1mv进行运动补偿,从而生成三角形预测图像。同样地,帧间预测部126通过对当前块中的三角形第2分区使用该第2分区的第2mv进行运动补偿来生成三角形预测图像。然后,帧间预测部126通过结合这些预测图像来生成与当前块相同的矩形的预测图像。

此外,在图37所示的例子中,第1分区及第2分区分别为三角形,但也可以是梯形,也可以分别是相互不同的形状。而且,在图37所示的例子中,当前块由2个分区构成,但也可以由3个以上的分区构成。

另外,第1分区以及第2分区也可以重复。即,第1分区以及第2分区也可以包含相同的像素区域。在这种情况下,可以使用第1分区中的预测图像和第2分区中的预测图像来生成当前块的预测图像。

另外,在该例中,示出了2个分区都通过帧间预测来生成预测图像的例子,但也可以针对至少1个分区通过帧内预测来生成预测图像。

[运动补偿>bio]

接着,对导出运动矢量的方法进行说明。首先,说明基于假定了等速直线运动的模型来导出运动矢量的模式。该模式有时被称作bio(bi-directionalopticalflow,双向光流)模式。

图38是用于说明假定了等速直线运动的模型的概念图。在图38中,(vx,vy)表示速度矢量,τ0、τ1分别表示当前图片(curpic)与2个参照图片(ref0,ref1)之间的时间上的距离。(mvx0,mvy0)表示与参照图片ref0对应的运动矢量,(mvx1,mvy1)表示与参照图片ref1对应的运动矢量。

此时,也可以是,在速度矢量(vx,vy)的等速直线运动的假定下,(mvx0,mvy0)及(mvx1,mvy1)分别被表示为(vxτ0,vyτ0)及(-vxτ1,-vyτ1),采用以下的光流(opticalflow)等式(2)。

【数式3】

这里,i(k)表示运动补偿后的参照图像k(k=0、1)的亮度值。该光流等式表示(i)亮度值的时间微分、(ii)水平方向的速度及参照图像的空间梯度的水平成分的积、以及(iii)垂直方向的速度及参照图像的空间梯度的垂直成分的积的和等于零。也可以是,基于该光流等式与埃尔米特内插值(hermiteinterpolation)的组合,对从合并列表等得到的块单位的运动矢量以像素单位进行修正。

另外,也可以通过与基于假定了等速直线运动的模型的运动矢量的导出不同的方法,在解码装置侧导出运动矢量。例如,也可以基于多个相邻块的运动矢量,以子块单位导出运动矢量。

[运动补偿>lic]

接着,对使用lic(localilluminationcompensation)处理来生成预测图像(预测)的模式的一例进行说明。

图39是用于说明使用了基于lic处理的亮度修正处理的预测图像生成方法的一例的概念图。

首先,从已编码的参照图片导出mv,取得与当前块对应的参照图像。

接着,对当前块提取表示在参照图片和当前图片中亮度值如何变化的信息。该提取是基于当前图片中的已编码的左相邻参照区域(周边参照区域)及已编码的上相邻参照区域(周边参照区域)的亮度像素值、和由导出的mv指定的参照图片内的同等位置处的亮度像素值来进行的。然后,使用表示亮度值如何变化的信息,计算亮度修正参数。

通过应用上述亮度修正参数对由mv指定的参照图片内的参照图像进行亮度修正处理,生成对于当前块的预测图像。

另外,图39中的上述周边参照区域的形状是一例,也可以使用其以外的形状。

此外,这里对根据1张参照图片生成预测图像的处理进行了说明,但在根据多张参照图片生成预测图像的情况下也是同样的,也可以在对从各个参照图片取得的参照图像以与上述同样的方法进行亮度修正处理后生成预测图像。

作为是否采用lic处理的判定的方法,例如有使用作为表示是否采用lic处理的信号的lic_flag的方法。作为具体的一例,在编码装置中,判定当前块是否属于发生了亮度变化的区域,在属于发生了亮度变化的区域的情况下,作为lic_flag而设定值1,采用lic处理进行编码,在不属于发生了亮度变化的区域的情况下,作为lic_flag而设定值0,不采用lic处理而进行编码。另一方面,在解码装置中,也可以通过将记述在流中的lic_flag解码,根据其值切换是否采用lic处理而进行解码。

作为是否采用lic处理的判定的其他方法,例如还有按照在周边块是否采用了lic处理来判定的方法。作为具体的一例,在当前块是合并模式的情况下,判定在合并模式处理中的mv的导出时所选择的周边的已编码块是否采用lic处理进行了编码,根据其结果,切换是否采用lic处理而进行编码。另外,在该例的情况下,相同的处理也适用于解码装置侧。

使用图39对lic处理(亮度修正处理)的形态进行了说明,以下,对其详细内容进行说明。

首先,帧间预测部126从作为已编码图片的参照图片导出用于取得与编码对象块对应的参照图像的运动矢量。

接着,帧间预测部126对编码对象块,使用左相邻及上相邻的已编码的周边参照区域的亮度像素值和位于由运动矢量指定的参照图片内的同等位置的亮度像素值,提取表示在参照图片和编码对象图片中亮度值如何变化的信息,计算亮度修正参数。例如,将编码对象图片内的周边参照区域内的某像素的亮度像素值设为p0,将与该像素同等位置的参照图片内的周边参照区域内的像素的亮度像素值设为p1。帧间预测部126对周边参照区域内的多个像素计算用于优化a×p1+b=p0的系数a和b作为亮度修正参数。

接下来,帧间预测部126通过使用亮度修正参数对由运动矢量指定的参照图片内的参照图像进行亮度修正处理,生成针对编码对象块的预测图像。例如,将参照图像内的亮度像素值设为p2,将亮度修正处理后的预测图像的亮度像素值设为p3。帧间预测部126通过对参照图像内的各像素计算a×p2+b=p3来生成亮度修正处理后的预测图像。

此外,图39中的周边参照区域的形状是一例,也可以使用除此以外的形状。另外,也可以使用图39所示的周边参照区域的一部分。例如,也可以将包含从上相邻像素以及左相邻像素分别间隔剔除的规定数量的像素的区域用作周边参照区域。此外,周边参照区域不限于与编码对象块相邻的区域,也可以是不与编码对象块相邻的区域。与像素相关的规定数量也可以预先确定。

此外,在图39所示的例子中,参照图片内的周边参照区域是从编码对象图片内的周边参照区域中由编码对象图片的运动矢量指定的区域,但也可以是由其他运动矢量指定的区域。例如,该其他运动矢量也可以是编码对象图片内的周边参照区域的运动矢量。

另外,在此,说明了编码装置100中的动作,但典型地,解码装置200中的动作也是同样的。

此外,lic处理不仅应用于亮度,也可以应用于色差。此时,可以对y、cb以及cr的每一个单独地导出修正参数,也可以对任一个使用共同的修正参数。

此外,lic处理也可以以子块单位来应用。例如,也可以使用当前子块的周边参照区域和由当前子块的mv指定的参照图片内的参照子块的周边参照区域来导出修正参数。

[预测控制部]

预测控制部128选择帧内预测信号(从帧内预测部124输出的信号)及帧间预测信号(从帧间预测部126输出的信号)中的某一个,将所选择的信号作为预测信号,向减法部104及加法部116输出。

如图1所示,在各种编码装置例中,预测控制部128也可以输出输入到熵编码部110的预测参数。熵编码部110可以基于从预测控制部128输入的该预测参数和从量化部108输入的量化系数来生成编码比特流(或序列)。预测参数也可以在解码装置中使用。解码装置也可以接收编码比特流并进行解码,进行与在帧内预测部124、帧间预测部126以及预测控制部128中进行的预测处理相同的处理。预测参数可以包括选择预测信号(例如,运动矢量、预测类型,或者帧内预测部124或帧间预测部126使用的预测模式),或者基于在帧内预测部124、帧间预测部126和预测控制部128中进行的预测处理或表示该预测处理的任意索引、标志或值。

[编码装置的安装例]

图40是表示编码装置100的安装例的框图。编码装置100具备处理器a1以及存储器a2。例如,图1所示的编码装置100的多个构成要素由图40所示的处理器a1以及存储器a2安装实现。

处理器a1是进行信息处理的电路,是可访问存储器a2的电路。例如,处理器a1是对运动图像进行编码的专用或通用的电子电路。处理器a1也可以是cpu那样的处理器。另外,处理器a1也可以是多个电子电路的集合体。另外,例如,处理器a1也可以起到图1等所示的编码装置100的多个构成要素中的多个构成要素的作用。

存储器a2是存储处理器a1对运动图像进行编码用的信息的专用或通用的存储器。存储器a2既可以是电子电路,也可以与处理器a1连接。另外,存储器a2也可以包含在处理器a1中。另外,存储器a2也可以是多个电子电路的集合体。另外,存储器a2既可以是磁盘或者光盘等,也可以表现为储存器(storage)或者记录介质等。另外,存储器a2既可以是非易失性存储器,也可以是易失性存储器。

例如,存储器a2可以存储被编码的运动图像,也可以存储与被编码后的运动图像对应的比特串。另外,在存储器a2中也可以存储处理器a1对运动图像进行编码用的程序。

另外,例如,存储器a2也可以起到图1等所示的编码装置100的多个构成要素中用于存储信息的构成要素的作用。例如,存储器a2可以起到图1所示的块存储器118及帧存储器122的作用。更具体而言,存储器a2可以存储已重构的块及已重构的图片等。

另外,在编码装置100中,可以不安装图1等所示的多个构成要素的全部,也可以不进行上述的多个处理的全部。图1等所示的多个构成要素的一部分可以包含于其他装置,也可以由其他装置执行上述的多个处理的一部分。

[解码装置]

接着,对能够将从例如上述编码装置100输出的编码信号(编码比特流)进行解码的解码装置进行说明。图41是表示有关实施方式的解码装置200的功能结构的框图。解码装置200是将运动图像以块单位进行解码的运动图像解码装置。

如图41所示,解码装置200具备熵解码部202、逆量化部204、逆变换部206、加法部208、块存储器210、循环滤波部212、帧存储器214、帧内预测部216、帧间预测部218和预测控制部220。

解码装置200例如由通用处理器及存储器实现。在此情况下,当由处理器执行了保存在存储器中的软件程序时,处理器作为熵解码部202、逆量化部204、逆变换部206、加法部208、循环滤波部212、帧内预测部216、帧间预测部218及预测控制部220发挥功能。此外,解码装置200也可以作为与熵解码部202、逆量化部204、逆变换部206、加法部208、循环滤波部212、帧内预测部216、帧间预测部218及预测控制部220对应的专用的1个以上的电子电路实现。

以下,在说明了解码装置200的整体处理的流程之后,对解码装置200中包含的各构成要素进行说明。

[解码处理的整体流程]

图42是表示由解码装置200进行的整体的解码处理的一例的流程图。

首先,解码装置200的熵解码部202确定固定尺寸的块(例如128×128像素)的分割图案(步骤sp_1)。该分割图案是由编码装置100选择的分割图案。然后,解码装置200对构成该分割图案的多个块分别进行步骤sp_2~sp_6的处理。

即,熵解码部202对解码对象块(也称为当前块)的编码后的量化系数和预测参数进行解码(具体而言,熵解码)(步骤sp_2)。

接着,逆量化部204和逆变换部206通过对多个量化系数进行逆量化和逆变换,复原多个预测残差(即差分块)(步骤sp_3)。

接下来,由帧内预测部216、帧间预测部218和预测控制部220的全部或一部分构成的预测处理部生成当前块的预测信号(也称为预测块)(步骤sp_4)。

接着,加法部208通过对差分块加上预测块,将当前块重构为重构图像(也称为解码图像块)(步骤sp_5)。

而且,当生成该重构图像时,循环滤波部212对该重构图像进行滤波(步骤sp_6)。

然后,解码装置200判定图片整体的解码是否已完成(步骤sp_7),在判定为未完成的情况下(步骤sp_7中为否),反复执行从步骤sp_1起的处理。

如图所示,步骤sp_1~sp_7的处理由解码装置200顺序地进行,或者,这些处理中的一部分的多个处理可以并行地进行,也可以进行顺序的调换等。

[熵解码部]

熵解码部202对编码比特流进行熵解码。具体而言,熵解码部202例如从编码比特流算数解码为二值信号。接着,熵解码部202将二值信号进行多值化(debinarize)。由此,熵解码部202以块单位将量化系数向逆量化部204输出。熵解码部202也可以向实施方式中的帧内预测部216、帧间预测部218以及预测控制部220输出编码比特流(参照图1)中包含的预测参数。帧内预测部216、帧间预测部218和预测控制部220能够执行与由编码装置侧的帧内预测部124、帧间预测部126和预测控制部128进行的处理相同的预测处理。

[逆量化部]

逆量化部204对作为来自熵解码部202的输入的解码对象块(以下称作当前块)的量化系数进行逆量化。具体而言,逆量化部204对于当前块的量化系数,分别基于与该量化系数对应的量化参数,对该量化系数进行逆量化。并且,逆量化部204将当前块的逆量化后的量化系数(即变换系数)向逆变换部206输出。

[逆变换部]

逆变换部206通过对作为来自逆量化部204的输入的变换系数进行逆变换,将预测误差复原。

例如在从编码比特流读解出的信息表示采用emt或amt的情况下(例如amt标志是真),逆变换部206基于读解出的表示变换类型的信息,对当前块的变换系数进行逆变换。

此外,例如在从编码比特流读解出的信息表示采用nsst的情况下,逆变换部206对变换系数应用逆再变换。

[加法部]

加法部208通过将作为来自逆变换部206的输入的预测误差与作为来自预测控制部220的输入的预测样本相加,重构当前块。并且,加法部208将重构的块向块存储器210及循环滤波部212输出。

[块存储器]

块存储器210是用来将作为在帧内预测中参照的、解码对象图片(以下称作当前图片)内的块进行保存的存储部。具体而言,块存储器210保存从加法部208输出的重构块。

[循环滤波部]

循环滤波部212对由加法部208重构的块施以循环滤波,将滤波后的重构块向帧存储器214及显示装置等输出。

在从编码比特流读解出的表示alf的开启/关闭的信息表示alf的开启的情况下,基于局部性的梯度的方向及活性度从多个滤波器之中选择1个滤波器,对所重构块应用选择的滤波器。

[帧存储器]

帧存储器214是用来将在帧间预测中使用的参照图片进行保存的存储部,也有称作帧缓冲器的情况。具体而言,帧存储器214保存由循环滤波部212滤波后的重构块。

[预测处理部(帧内预测部/帧间预测部/预测控制部)]

图43是表示由解码装置200的预测处理部进行的处理的一例的流程图。此外,预测处理部由帧内预测部216、帧间预测部218和预测控制部220的全部或一部分构成要素构成。

预测处理部生成当前块的预测图像(步骤sq_1)。该预测图像也称为预测信号或预测块。另外,在预测信号中,例如有帧内预测信号或帧间预测信号。具体而言,预测处理部使用通过进行预测块的生成、差分块的生成、系数块的生成、差分块的复原、以及解码图像块的生成而已经得到的重构图像,生成当前块的预测图像。

重构图像例如可以是参照图片的图像,也可以是包含当前块的图片即当前图片内的已解码的块的图像。当前图片内的已解码的块例如是当前块的相邻块。

图44是表示由解码装置200的预测处理部进行的处理的另一例的流程图。

预测处理部判定用于生成预测图像的方式或模式(步骤sr_1)。例如,该方式或模式可以基于例如预测参数等来判定。

在判定为第1方式是用于生成预测图像的模式的情况下,预测处理部按照该第1方式生成预测图像(步骤sr_2a)。此外,在判定为第2方式是用于生成预测图像的模式的情况下,预测处理部按照该第2方式生成预测图像(步骤sr_2b)。此外,在判定为第3方式是用于生成预测图像的模式的情况下,预测处理部按照该第3方式生成预测图像(步骤sr_2c)。

第1方式、第2方式和第3方式是用于生成预测图像的互不相同的方式,并且可以是例如帧间预测方式、帧内预测方式和其他预测方式。在这样的预测方式中,也可以使用上述的重构图像。

[帧内预测部]

帧内预测部216基于从编码比特流读解出的帧内预测模式,参照保存在块存储器210中的当前图片内的块进行帧内预测,由此生成预测信号(帧内预测信号)。具体而言,帧内预测部216通过参照与当前块相邻的块的样本(例如亮度值、色差值)进行帧内预测,由此生成帧内预测信号,将帧内预测信号向预测控制部220输出。

另外,在色差块的帧内预测中选择了参照亮度块的帧内预测模式的情况下,帧内预测部216也可以基于当前块的亮度成分来预测当前块的色差成分。

此外,在从编码比特流读解出的信息表示pdpc的采用的情况下,帧内预测部216基于水平/垂直方向的参照像素的梯度,对帧内预测后的像素值进行修正。

[帧间预测部]

帧间预测部218参照保存在帧存储器214中的参照图片,预测当前块。预测以当前块或当前块内的子块(例如4×4块)的单位进行。例如,帧间预测部218使用从编码比特流(例如从熵解码部202输出的预测参数)读解出的运动信息(例如运动矢量)进行运动补偿,由此生成当前块或子块的帧间预测信号,将帧间预测信号向预测控制部220输出。

在从编码比特流读解出的信息表示采用obmc模式的情况下,帧间预测部218不仅使用通过运动估计得到的当前块的运动信息,还使用相邻块的运动信息来生成帧间预测信号。

此外,在从编码比特流读解出的信息表示采用fruc模式的情况下,帧间预测部218按照从编码流读解出的图案匹配的方法(双向匹配或模板匹配)进行运动估计,由此导出运动信息。并且,帧间预测部218使用所导出的运动信息进行运动补偿(预测)。

此外,帧间预测部218在采用bio模式的情况下,基于假定了等速直线运动的模型导出运动矢量。此外,在从编码比特流读解出的信息表示采用仿射运动补偿预测模式的情况下,帧间预测部218基于多个相邻块的运动矢量以子块单位导出运动矢量。

[mv导出>普通帧间模式]

在从编码比特流读取的信息表示应用普通帧间模式的情况下,帧间预测部218基于从编码比特流读取的信息导出mv,并且使用该mv进行运动补偿(预测)。

图45是表示解码装置200中的基于普通帧间模式的帧间预测的例子的流程图。

解码装置200的帧间预测部218对每个块进行针对该块的运动补偿。帧间预测部218基于在时间上或空间上处于当前块周围的多个已解码的块的mv等信息,对该当前块取得多个候选mv(步骤ss_1)。也就是说,帧间预测部218制作候选mv列表。

接着,帧间预测部218从在步骤ss_1中取得的多个候选mv中,将n个(n为2以上的整数)候选mv分别作为预测运动矢量候选(也称为预测mv候选),按照规定的优先顺序进行提取(步骤ss_2)。另外,该优先顺序也可以是对n个预测mv候选的每一个而预先确定的。

接着,帧间预测部218从输入的流(即编码比特流)中对预测运动矢量选择信息进行解码,使用该解码后的预测运动矢量选择信息,从该n个预测mv候选中选择1个预测mv候选作为当前块的预测运动矢量(也称为预测mv)(步骤ss_3)。

接下来,帧间预测部218从输入的流中解码差分mv,并且通过将作为该解码的差分mv的差分值与所选择的预测运动矢量相加来导出当前块的mv(步骤ss_4)。

最后,帧间预测部218通过使用该导出的mv和已解码的参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤ss_5)。

[预测控制部]

预测控制部220选择帧内预测信号及帧间预测信号中的某一个,将所选择的信号作为预测信号,向加法部208输出。总体上,解码装置侧的预测控制部220、帧内预测部216和帧间预测部218的结构、功能和处理可以对应于编码装置侧的预测控制部128、帧内预测部124和帧间预测部126的结构、功能和处理。

[解码装置的安装例]

图46是表示解码装置200的安装例的框图。解码装置200具备处理器b1以及存储器b2。例如,图41所示的解码装置200的多个构成要素通过图46所示的处理器b1以及存储器b2来安装。

处理器b1是进行信息处理的电路,是可访问存储器b2的电路。例如,处理器b1是对编码后的运动图像(即编码比特流)进行解码的专用或通用的电子电路。处理器b1也可以是cpu那样的处理器。另外,处理器b1也可以是多个电子电路的集合体。另外,例如,处理器b1也可以起到图41等所示的解码装置200的多个构成要素中的多个构成要素的作用。

存储器b2是存储用于处理器b1对编码比特流进行解码的信息的专用或通用的存储器。存储器b2可以是电子电路,也可以与处理器b1连接。另外,存储器b2也可以包含在处理器b1中。另外,存储器b2也可以是多个电子电路的集合体。另外,存储器b2可以是磁盘或光盘等,也可以表现为储存器或记录介质等。另外,存储器b2既可以是非易失性存储器,也可以是易失性存储器。

例如,存储器b2可以存储运动图像,也可以存储编码比特流。另外,在存储器b2中也可以存储有用于处理器b1对编码比特流进行解码的程序。

另外,例如,存储器b2可以起到图41等所示的解码装置200的多个构成要素中用于存储信息的构成要素的作用。具体而言,存储器b2可以起到图41所示的块存储器210及帧存储器214的作用。更具体而言,存储器b2可以存储已重构的块及已重构的图片等。

另外,在解码装置200中,既可以不安装图41等所示的多个构成要素的全部,也可以不进行上述的多个处理的全部。图41等所示的多个构成要素的一部分可以包含于其他装置,也可以由其他装置执行上述的多个处理的一部分。

[各用语的定义]

各用语作为一例,也可以是以下那样的定义。

图片是单色格式中的多个亮度样本的排列,或者4:2:0、4:2:2以及4:4:4的彩色格式中的多个亮度样本的排列以及多个色差样本的2个对应排列。图片可以是帧或场。

帧是产生多个样本行0、2、4、…的顶场以及产生多个样本行1、3、5、…的底场的组合物。

切片为1个独立切片段、以及(如果有)相同访问单元内的(如果有)下一个独立切片段之前的所有后续的从属切片段所包含的整数个编码树单元。

瓦片为图片中的特定的瓦片列以及特定的瓦片行内的多个编码树块的矩形区域。瓦片可以依然应用跨越瓦片的边缘的循环滤波器,但也可以是意图能够独立地进行解码和编码的帧的矩形区域。

块为多个样本的mxn(n行m列)排列,或者是多个变换系数的mxn排列。块也可以是由1个亮度和2个色差的多个矩阵构成的多个像素的正方形或矩形的区域。

ctu(编码树单元)可以是具有3个样本排列的图片的多个亮度样本的编码树块,也可以是多个色差样本的2个对应编码树块。或者,ctu也可以是单色图片、和使用在3个分离的彩色平面以及多个样本的编码中使用的语法构造进行编码的图片中的任意多个样本的编码树块。

超级块构成1个或2个模式信息块,或者也可以是递归地分割为4个32×32的块,进而能够分割的64×64像素的正方形块。

[第1形态]

在下文中,将对本发明的第1形态的编码装置100、解码装置200、编码方法和解码方法进行说明。

图47是表示第1形态中的帧间预测处理的一例的流程图。以下,对解码装置200中的帧间预测处理的一例进行说明。

解码装置200中的帧间预测部218导出基准运动矢量,该基准运动矢量为处理对象块的预测中使用的运动矢量,且是处理对象块的控制点的运动矢量,导出与基准运动矢量不同的第1运动矢量,基于基准运动矢量与第1运动矢量的差分导出差分运动矢量,判定差分运动矢量是否大于阈值,在判定为差分运动矢量大于阈值的情况下,变更第1运动矢量,在判定为差分运动矢量不大于阈值的情况下,不变更第1运动矢量,使用变更后的第1运动矢量或未变更的第1运动矢量,对处理对象块进行解码。例如,基准运动矢量与处理对象块内的第1像素集对应,第1运动矢量与处理对象块内的、与第1像素集不同的第2像素集对应。

以下,参照附图更具体地说明帧间预测处理。另外,以下说明的基准运动矢量和第1运动矢量是一例,不限于此。

首先,在步骤s1001中,帧间预测部218导出处理对象块内的第1像素集的基准运动矢量。以下,参照图48更具体地说明步骤s1001的处理。

图48是表示处理对象块的一例的图。如图48所示,处理对象块也可以由多个子块(子块0~子块5)构成。另外,各子块也可以分别具有不同的第1运动矢量(mv0~mv5)。第1像素集的一例也可以是子块0。此时,基准运动矢量也可以是处理对象块内的多个第1运动矢量中的1个。在该例子中,基准运动矢量是mv0。

第1像素集的其他例子也可以是处理对象块整体。在该例子中,基准运动矢量是处理对象块内的所有子块的第1运动矢量的平均,即从mv0到mv5的平均。

接着,在步骤s1002中,帧间预测部218导出处理对象块内的第2像素集的第1运动矢量。第2像素集与第1像素集不同。第2像素集的一例也可以是子块2。在该例子中,第2像素集的第1运动矢量是mv2。

另外,第2像素集的其他例子也可以是子块1。在该例子中,第1运动矢量是mv1。

接着,在步骤s1003中,帧间预测部218基于第1像素集的基准运动矢量与第2像素集的第1运动矢量的差分,导出差分运动矢量。基准运动矢量的值的一例可以是(-3,4)。第1运动矢量的一例可以是(16,5)。因此,第1运动矢量与基准运动矢量的差分运动矢量成为(-19,-1)。

接着,在步骤s1004中,帧间预测部218判定在步骤s1003中导出的差分运动矢量是否大于阈值。阈值也可以是1集的第1值(以下,第1阈值)以及第2值(以下,第2阈值)。阈值的一例是(10,20)。以下,对该判定处理的一例进行说明。

帧间预测部218在步骤s1003中导出的差分运动矢量的水平成分的绝对值大于第1阈值、或者差分运动矢量的垂直成分的绝对值大于第2阈值的情况下,判定差分运动矢量大于阈值(步骤s1004中为是)。换言之,如果差分运动矢量的水平成分的绝对值和垂直成分的绝对值中的任一个大于阈值,则判定为差分运动矢量大于阈值。例如,当将步骤s1003中例示的差分运动矢量(-19,-1)的水平成分的绝对值与第1阈值进行比较时,由于|-19|>10,因此判定为差分运动矢量大于阈值。在这种情况下,帧间预测部218变更第1运动矢量。关于变更的详细情况,在步骤s1006中进行说明。

另一方面,在差分运动矢量的水平成分的绝对值不大于阈值的第1值并且差分运动矢量的垂直成分的绝对值不大于第2阈值的情况下,帧间预测部218判定为差分运动矢量不大于阈值(步骤s1004中为否)。换言之,在差分运动矢量的水平成分的绝对值和垂直成分的绝对值均为阈值以下的情况下,判定为差分运动矢量为阈值以下。帧间预测部218在判定为差分运动矢量不大于阈值的情况下(步骤s1004中为否),不变更第1运动矢量(步骤s1005)。

接着,在步骤s1006中,帧间预测部218在判定为差分运动矢量大于阈值的情况下(步骤s1004中为是),使用对差分运动矢量进行限幅后的值来变更第1运动矢量。此时,差分运动矢量(-19,-1)被限幅为(-10,-1)。如上所述,由于差分运动矢量的水平成分的绝对值|-19|大于作为阈值(10,20)的第1阈值的10,所以差分运动矢量的水平成分的绝对值被限幅为与第1阈值一致。因此,被限幅的差分运动矢量成为(-10,-1)。

接着,帧间预测部218使用所限幅的差分运动矢量和基准运动矢量来变更第1运动矢量。例如,变更后的第1运动矢量为(-3,4)-(-10,-1)=(7,5)。

在步骤s1007中,帧间预测部218使用变更后的第1运动矢量或未变更的第1运动矢量,对第2像素集进行解码。在s1001~s1006的例子中,子块2使用变更后的运动矢量(7,5)进行解码。

此外,图47所示的处理1000也可以是编码装置的处理。

处理1000可以应用于处理对象块内的所有子块。在处理1000应用于处理对象块内的所有子块的情况下,也可以使用仿射模式对处理对象块进行预测处理。另外,在处理1000应用于处理对象块内的所有子块的情况下,也可以使用atmvp(alternativetemporalmotionvectorprediction,可选时域运动矢量预测)模式对处理对象块进行预测处理。

另外,atmvp模式是被分类为合并模式的子块模式的一例,例如,在由与当前块的左下相邻的块的mv(mv0)指定的已编码的参照图片中,特定与该当前块建立了对应的时间mv参照块,针对处理对象块内的各子块,特定在该时间mv参照块内的与该子块对应的区域的编码时使用的mv。另外,关于子块单位的atmvp模式,使用图50后述。

另外,也可以使用以处理对象块特定的子块变更后的第1运动矢量,更新处理对象块的其他子块的第1运动矢量。以下,参照图47以及图48对处理例进行说明。

例如,将子块0的mv0鉴别为基准运动矢量,将子块2的mv2鉴别为第1运动矢量,使用处理1000决定变更后的第1运动矢量。子块2的变更后的第1运动矢量由mv2’=(v2x’,v2y’)表示。使用基准运动矢量mv0和变更后的第1运动矢量mv2’,通过下式,计算处理对象块内的子块2以外的子块i(i=1,3,4,5)的变更后的第1运动矢量mvi’=(vix’,viy’)。

vix’=(v2x’-v0x)*posix/w-(v2y’-v0y)*posiy/w+v0x

viy’=(v2y’-v0y)*posix/w+(v2x’-v0x)*posiy/w+v0y

然后,在mvi’不大于阈值的情况下,更新mvi作为mvi’,使用mvi对子块i进行解码。posix以及posiy是子块i的水平位置以及垂直位置。

在图48的例子中,

pos1x=w/2,pos1y=0

pos3x=0,pos3y=h

pos4x=w/2,pos4y=h

pos5x=w,pos5y=h

w和h是处理对象块中的子块2的水平位置和垂直位置(例如,左下角的x坐标和y坐标)。

阈值也可以与处理对象块的尺寸对应。例如,处理对象块的尺寸越大,阈值越大。

另外,阈值也可以与参照图片的数量对应。例如,参照图片的数量越多,阈值越小。

阈值也可以从头部区域解码。此外,在编码中,阈值也可以被编码到sps头部、pps头部、或者切片头部等头部区域。

阈值也可以预先决定,不从流中解码。此外,在编码中,阈值也可以预先决定,不编码到流。

阈值也可以是为了进行限制来决定的,所述限制使得在以规定的预测模式对处理对象块进行了运动补偿处理(预测处理)的情况的最差情况(worstcase)下的存储器访问量,成为以该预测模式以外的预测模式按每8×8像素对处理对象块进行了双向运动补偿处理(预测处理)的情况的存储器访问量以下。规定的预测模式例如是仿射模式。以下,对限制的例子进行说明。

“mem_base”表示以规定的预测模式以外的预测模式按每8×8尺寸对处理对象块进行了双向预测运动补偿处理(亮度值)的情况的、以1个8×8块为1单位的最差情况的存储器访问量。

以规定的预测模式对处理对象块(尺寸:m×n)进行了运动补偿处理(亮度值)的情况的最差情况的存储器访问量由“mem_cu”表示,与其相对的阈值“mem_th”使用“mem_base”由下述表示。

mem_th=m×n/(8×8)*mc_base

“mem_cu”被限制为不大于“mem_th”。以下,对阈值的计算处理例进行说明。

在假定亮度信号的每1个像素的尺寸为1字节、运动补偿处理的滤波器的抽头数为8抽头的情况下,mem_base=(8+7)*(8+7)*2=450(字节单位)。

假定为处理对象块的预测模式为仿射模式、处理对象块的尺寸为64×64像素、参照图片的数量为2、mem_th=64/8*64/8*450=28800。

假定为“h”及“v”分别表示阈值的第1及第2成分的阈值。

在以仿射模式以外的普通帧间模式进行预测处理的情况的最差条件是处理对象块被分为8×8像素的块,且所有8×8像素的块在双向预测中被运动补偿处理的情况。决定在以仿射模式进行预测处理的情况下可参照的存储器的范围,使得不超过该最差条件的存储器访问量。假定为通过下式[1]计算以仿射模式可参照的存储器的范围。计算h和v,使得仿射模式的存储器访问的范围成为mem_th(例如,28800)以下。另外,在此,作为该仿射模式进行双向预测的情况的例子进行说明。

mem_cu=(64+7+2*h)(64+7+2*v)*2≦28800[1]

假设h=v,当求解式[1]时,h=v=24。

另外,阈值的上述的计算处理也适用于不同的尺寸以及不同的参照图片数量的处理对象块。图49是表示计算出的阈值的例子的图。另外,在图49中,示出了h=v的例子,但可以是h>v,也可以是h<v。

如图49所示,阈值在对处理对象块进行了单向预测的情况(参照帧的数量=1)和进行了双向预测的情况(参照帧的数量=2)下不同。在上述的式[1]的例子中,在仿射模式下预测的处理对象块的尺寸为64×64,在进行了双向预测的情况下,即参照了2张参照图片的情况下,第1阈值h和第2阈值v都为24。例如,在对以仿射模式预测的64×64尺寸的处理对象块进行了单向预测的情况下,即,在仅参照1张参照图片的情况下,第1阈值h以及第2阈值v都为49。在图49中,使用上述的式[1]计算以仿射模式能够预测的所有块尺寸的阈值,并将其表格化。

[子块单位的atmvp模式的说明]

图50是用于对子块单位的atmvp模式进行说明的图。

在合并模式下,从参照已处理块而生成的mv(运动矢量)候选列表中选择1个候选mv来决定处理对象块的mv。作为登记在该mv候选列表中的1个候选,有atmvp模式的候选mv。

在子块单位的atmvp模式下,首先,参照与处理对象块的左下相邻的块的mv(mv0),特定与由mv0指定的已编码的参照图片中的处理对象块建立了对应的时间mv参照块。

接着,针对处理对象块内的各子块,特定在时间mv参照块中对对应的区域进行编码时使用的mv。然后,参照该mv并根据时间间隔进行缩放,从而取得各子块的mv。

然后,使用该mv对每个子块进行运动补偿,生成预测图像,生成与输入图像的差分图像,对处理对象块内的差分图像,以处理对象块单位应用正交变换和量化处理。

另外,在图50中,作为参照mv0的块,使用了与左下相邻的块,但也可以使用除此以外的块。

另外,可以是将子块的尺寸设为4×4的结构,也可以是设为8×8的结构,也可以是设为除此以外的尺寸的结构。另外,也可以是能够以切片或图片等单位切换子块的尺寸的结构。

另外,在此对编码中的处理进行了说明,但在解码中也成为同样的处理。

[第1形态的技术优点]

在本发明的第1形态中,在帧间预测处理中导入第1运动矢量的导出处理。如上所述,选择适当的第1运动矢量以使处理对象块内的多个第1运动矢量的偏差收敛在规定的范围内的处理能够削减帧间预测处理的存储器带宽。

[第2形态]

在下文中,将对本发明的第2形态的编码装置100、解码装置200、编码方法和解码方法进行说明。在此,以与第1形态不同的方面为中心进行说明,对于与第1形态重复的内容省略说明。

图51是表示第2形态中的帧间预测处理的一例的流程图。以下,对解码装置200中的帧间预测处理的一例进行说明。

解码装置200中的帧间预测部218导出基准运动矢量,所述基准运动矢量是处理对象块的预测中使用的运动矢量,且是处理对象块的控制点的运动矢量,导出与基准运动矢量不同的第1运动矢量,基于基准运动矢量与第1运动矢量的差分导出差分运动矢量,判定差分运动矢量是否大于阈值,在判定为差分运动矢量大于阈值的情况下,变更第1运动矢量,在判定为差分运动矢量不大于阈值的情况下,不变更第1运动矢量,使用变更后的第1运动矢量或未变更的第1运动矢量,对处理对象块进行解码。例如,控制点是处理对象块中的仿射模式的控制点,帧间预测部218将控制点的运动矢量作为基准运动矢量导出。

以下,参照附图更具体地说明帧间预测处理。另外,以下说明的基准运动矢量和第1运动矢量是一例,不限于此。

首先,在步骤s2001中,帧间预测部218导出处理对象块内的第1像素集的基准运动矢量。该基准运动矢量是处理对象块的控制点的运动矢量。以下,参照图52更具体地对步骤s2001的处理进行说明。此外,步骤s2002至s2007的处理与在第1形态中说明的图47的步骤s1002至s1007的处理相同。此外,图51所示的处理2000也可以是编码装置的处理。

图52是表示处理对象块的控制点处的运动矢量的例子的图。图52的(a)是用于说明具有2个控制点的仿射模式下的子块单位的运动矢量的导出的一例的图。图52的(b)是用于说明具有3个控制点的仿射模式下的子块单位的运动矢量的导出的一例的图。另外,在图52的(a)以及图52的(b)中,省略了处理对象块内的子块的图示。例如,如图48所示,处理对象块也可以由多个子块(子块0~子块5)构成。另外,各子块也可以分别具有不同的第1运动矢量(mv0~mv5)。另外,例如,第1像素集可以是子块0,也可以是处理对象块整体。

在图52的(a)以及图52的(b)中,处理对象块中的控制点基于邻近的已解码的子块的运动矢量而被导出。例如,基于相邻块的运动矢量导出处理对象块的左上角控制点的运动矢量(以下,左上角控制矢量)mv0,同样地,基于相邻块的运动矢量导出处理对象块的右上角控制点的运动矢量(以下,右上角控制矢量)mv1。另外,例如,基于相邻块的运动矢量来导出处理对象块的左下角控制点的运动矢量(以下,左下角控制矢量)mv2。

帧间预测部218也可以将这些多个控制点中的至少1个控制点的运动矢量作为基准运动矢量导出。例如,在4参数的仿射运动模型的情况下,基准运动矢量可以至少基于左上角控制矢量mv0或者右上角控制矢量mv1来导出,在6参数的仿射运动模型的情况下,基准运动矢量可以至少基于左上角控制矢量mv0、右上角控制矢量mv1或者左下角控制矢量mv2来导出。

另外,基准运动矢量也可以是预先决定的1个控制点的运动矢量。例如,基准运动矢量也可以是左上角控制矢量mv0。此时,也可以利用4参数的仿射运动模型以及6参数的仿射运动模型双方将基准运动矢量设为mv0。

另外,也可以是,基准运动矢量作为多个控制点的运动矢量的平均被导出。例如,基准运动矢量也可以作为左上角控制矢量mv0以及右上角控制矢量mv1的平均、左上角控制矢量mv0和右上角控制矢量mv1以及左下角控制矢量mv2的平均、左上角控制矢量mv0以及左下角控制矢量mv2的平均、或者右上角控制矢量mv1以及左下角控制矢量mv2的平均而被导出。

另外,基准运动矢量也可以作为多个控制点的运动矢量的组合而被导出。例如,在该组合中,也可以将多个控制点的运动矢量的水平成分的绝对值中的最大绝对值设为基准运动矢量的水平成分,将多个控制点的运动矢量的垂直成分的绝对值中的最大绝对值设为基准运动矢量的垂直成分。例如,在左上角控制矢量mv0为(-3,8),右上角控制矢量mv1为(-5,4),左下角控制矢量mv2为(10,-6)的情况下,基准运动矢量为(10,8)。

另外,例如,在该组合中,也可以将多个控制点的运动矢量的水平成分的绝对值中的最小绝对值设为基准运动矢量的水平成分,将多个控制点的运动矢量的垂直成分的绝对值中的最小绝对值设为基准运动矢量的垂直成分。例如,在左上角控制矢量mv0为(-3,8),右上角控制矢量mv1为(-5,4),左下角控制矢量mv2为(10,-6)的情况下,基准运动矢量为(3,4)。

接着,对使用多个控制点的运动矢量来导出处理对象块内的各子块的运动矢量的方法进行说明。在图52的(a)的例子中,通过以下的式(3),投影2个控制点的运动矢量mv0和mv1,导出处理对象块内的各子块的运动矢量(mvx,mvy)。

【数式4】

在此,x和y分别表示子块中心的水平位置和垂直位置,w表示处理对象块(cu)的宽度,h表示处理对象块(cu)的高度。

另外,在图52的(b)的例子中,通过以下的式(4),投影3个控制点的运动矢量mv0、mv1以及mv2,导出处理对象块内的各子块的运动矢量(mvx,mvy)。

【数式5】

不同的控制点数(例如,2个和3个)的仿射模式也可以以cu级进行切换而被信号化。另外,也可以将表示cu级中使用的仿射模式的控制点数量的信息以其他级(例如,序列级、图片级、切片级、瓦片级、ctu级或子块级)进行信号化。

另外,在具有这样的3个控制点的仿射模式中,也可以包括左上、右上以及左下角控制点的运动矢量的导出方法不同的几个模式。例如,在仿射模式中,有仿射通常帧间模式和仿射合并模式这2个模式。

[第2形态的技术优点]

在本发明的第2形态中,在帧间预测处理中导入基准运动矢量的导出处理。如上所述,与第1形态相比,导出适当的基准运动矢量使得处理对象块内的多个第1运动矢量的偏差收敛在规定的范围内的处理能够削减帧间预测处理的存储器带宽。

[处理的代表例]

以下表示上述所示的编码装置100和解码装置200的处理的代表例。

图53是表示编码装置100进行的动作的流程图。编码装置100具备电路和与电路连接的存储器。编码装置100所具备的电路以及存储器也可以与图40所示的处理器a1以及存储器a2对应。编码装置100的电路在动作中进行以下。

例如,编码装置100的电路导出基准运动矢量,所述基准运动矢量是处理对象块的预测中使用的运动矢量,且是处理对象块的控制点的运动矢量(s3001),导出与基准运动矢量不同的第1运动矢量(s3002),基于基准运动矢量与第1运动矢量的差分导出差分运动矢量(s3003),判定差分运动矢量是否大于阈值(s3004),在判定为差分运动矢量大于阈值的情况下(s3004中为是),变更第1运动矢量(s3006),在判定为差分运动矢量不大于阈值的情况下(s3004中为否),不变更第1运动矢量(s3005),使用变更后的第1运动矢量或未变更的第1运动矢量,对处理对象块进行编码(s3007)。

由此,编码装置100能够调整运动矢量,使得分割成多个子块的处理对象块内的多个运动矢量的偏差收敛在规定的范围内。因此,与运动矢量的偏差比规定的范围大的情况相比,应参照的像素数变少,因此能够将从存储器传输的数据量抑制在规定的范围内。因此,编码装置100能够减少帧间预测处理中的存储器访问量,因此编码效率提高。

例如,也可以是,基准运动矢量与处理对象块内的第1像素集对应,第1运动矢量与处理对象块内的与第1像素集不同的第2像素集对应。

由此,编码装置100能够使用基于第1像素集确定的基准运动矢量和基于第2像素集确定的第1运动矢量,适当地控制处理对象块内的多个运动矢量的偏差。

例如,也可以是,编码装置100的电路在判定为差分运动矢量大于阈值的情况下,使用对差分运动矢量进行限幅后的值来变更第1运动矢量。

由此,编码装置100能够变更第1运动矢量,使得第1运动矢量的偏差收敛在规定的范围内。因此,编码装置100能够减少帧间预测处理中的存储器访问量,因此编码效率提高。

例如,也可以是,编码装置100的电路基于与处理对象块相邻的已编码块的运动矢量,导出处理对象块的控制点,导出作为控制点的运动矢量的处理对象块的基准运动矢量。

由此,编码装置100能够基于与处理对象块相邻的已编码块的运动矢量来导出处理对象块的基准运动矢量,因此预测精度提高。

例如,也可以是,控制点为处理对象块中的仿射模式的控制点,编码装置100的电路导出作为控制点的运动矢量的基准运动矢量。

由此,编码装置100能够以子块单位来预测处理对象块,因此预测精度提高。

例如,也可以是,控制点位于处理对象块的左上角、右上角以及左下角中的至少1个。

由此,位于处理对象块的角的控制点的运动矢量被导出为基准运动矢量,因此,编码装置100能够进行调整,使得处理对象块内的多个子块中的第1运动矢量的偏差收敛在规定的范围内。因此,编码装置100能够减少帧间预测处理中的存储器访问量,因此编码效率提高。

例如,也可以是,编码装置100的电路将处理对象块的多个控制点中的至少1个控制点的运动矢量作为基准运动矢量导出。

由此,编码装置100能够将处理对象块的至少1个控制点的运动矢量作为基准运动矢量,导出该基准运动矢量与第1运动矢量的差分。

例如,也可以是,基准运动矢量被导出为多个控制点的运动矢量的平均。

由此,编码装置100能够将处理对象块的多个控制点的运动矢量的平均作为基准运动矢量,导出该基准运动矢量与第1运动矢量的差分。

例如,也可以是,基准运动矢量被导出为多个控制点的运动矢量的组合。例如,也可以是,在该组合中,将多个控制点的运动矢量的水平成分的绝对值中的最大绝对值设为基准运动矢量的水平成分,将多个控制点的运动矢量的垂直成分的绝对值中的最大绝对值设为基准运动矢量的垂直成分。另外,例如,也可以是,在该组合中,将多个控制点的运动矢量的水平成分的绝对值中的最小绝对值设为基准运动矢量的水平成分,将多个控制点的运动矢量的垂直成分的绝对值中的最小绝对值设为基准运动矢量的垂直成分。

由此,处理对象块内的第1运动矢量的偏差收敛在规定的范围内。因此,编码效率提高。

例如,也可以是,使用仿射模式对处理对象块进行预测处理。

由此,编码装置100能够以子块单位来预测处理对象块,因此预测精度提高。

图54是表示解码装置200进行的动作的流程图。例如,解码装置200具备电路和与电路连接的存储器。解码装置200所具备的电路以及存储器也可以与图46所示的处理器b1以及存储器b2对应。解码装置200的电路在动作中进行以下。

另外,解码装置200的电路导出基准运动矢量,所述基准运动矢量是处理对象块的预测中使用的运动矢量、且是处理对象块的控制点的运动矢量(s4001),导出与基准运动矢量不同的第1运动矢量(s4002),基于基准运动矢量与第1运动矢量的差分导出差分运动矢量(s4003),判定差分运动矢量是否大于阈值(s4004),在判定为差分运动矢量大于阈值的情况下(s4004中为是),变更第1运动矢量(s4006),在判定为差分运动矢量不大于阈值的情况下(s4004中为否),不变更第1运动矢量(s4005),使用变更后的第1运动矢量或未变更的第1运动矢量,对处理对象块进行解码(s4007)。

由此,解码装置200能够调整运动矢量,使得分割成多个子块的处理对象块内的多个运动矢量的偏差收敛在规定的范围内。因此,与运动矢量的偏差比规定的范围大的情况相比,应参照的像素数变少,因此能够将从存储器转送的数据量抑制在规定的范围内。因此,由于解码装置200能够减少帧间预测处理中的存储器访问量,因此处理效率提高。

例如,也可以是,基准运动矢量与处理对象块内的第1像素集对应,第1运动矢量与处理对象块内的与第1像素集不同的第2像素集对应。

由此,解码装置200能够使用基于第1像素集确定的基准运动矢量和基于第2像素集确定的第1运动矢量,适当地控制处理对象块内的多个运动矢量的偏差。

例如,也可以是,解码装置200的电路在判定为差分运动矢量大于阈值的情况下,使用对差分运动矢量进行限幅后的值来变更第1运动矢量。

由此,解码装置200能够变更第1运动矢量,使得第1运动矢量的偏差收敛在规定的范围内。因此,解码装置200能够减少帧间预测处理中的存储器访问量,因此处理效率提高。

例如,也可以是,解码装置200的电路基于与处理对象块相邻的已解码块的运动矢量,导出处理对象块的控制点,导出作为控制点的运动矢量的处理对象块的基准运动矢量。

由此,解码装置200能够基于与处理对象块相邻的已解码块的运动矢量来导出处理对象块的基准运动矢量,因此预测精度提高。

例如,也可以是,控制点是处理对象块中的仿射模式的控制点,解码装置200的电路导出作为控制点的运动矢量的基准运动矢量。

由此,解码装置200能够以子块单位来预测处理对象块,因此预测精度提高。

例如,控制点也可以位于处理对象块的左上角、右上角以及左下角中的至少1个。

由此,位于处理对象块的角的控制点的运动矢量被导出为基准运动矢量,因此解码装置200能够进行调整,使得处理对象块内的多个子块中的第1运动矢量的偏差收敛在规定的范围内。因此,解码装置200能够减少帧间预测处理中的存储器访问量,因此处理效率提高。

例如,也可以是,解码装置200的电路将处理对象块的多个控制点中的至少1个控制点的运动矢量作为基准运动矢量导出。

由此,解码装置200能够将处理对象块的至少1个控制点的运动矢量作为基准运动矢量,导出该基准运动矢量与第1运动矢量的差分。

例如,也可以是,基准运动矢量是多个控制点的运动矢量的平均。

由此,解码装置200能够将处理对象块的多个控制点的运动矢量的平均作为基准运动矢量,导出该基准运动矢量与第1运动矢量的差分。

例如,也可以是,基准运动矢量作为多个控制点的运动矢量的组合而被导出。例如,也可以是,在该组合中,将多个控制点的运动矢量的水平成分的绝对值中的最大绝对值设为基准运动矢量的水平成分,将多个控制点的运动矢量的垂直成分的绝对值中的最大绝对值设为基准运动矢量的垂直成分,另外,例如,也可以是,在该组合中,将多个控制点的运动矢量的水平成分的绝对值中的最小绝对值设为基准运动矢量的水平成分,将多个控制点的运动矢量的垂直成分的绝对值中的最小绝对值设为基准运动矢量的垂直成分。

由此,处理对象块内的第1运动矢量的偏差收敛在规定的范围内。因此,处理效率提高。

例如,也可以是,使用仿射模式对处理对象块进行预测处理。

由此,解码装置200能够以子块单位来预测处理对象块,因此预测精度提高。

另外,如上所述,各构成要素也可以是电路。这些电路既可以作为整体构成一个电路,也可以分别是不同的电路。另外,各构成要素既可以通过通用的处理器来实现,也可以通过专用的处理器来实现。

另外,也可以由其他构成要素执行特定的构成要素所执行的处理。另外,执行处理的顺序可以变更,也可以同时执行多个处理。另外,也可以是,编码解码装置具备编码装置100及解码装置200。

以上,基于多个例子说明了编码装置100及解码装置200的形态,但编码装置100及解码装置200的形态并不限定于这些例子。只要不脱离本发明的主旨,对各例实施了本领域技术人员能想到的各种变形的形态、将不同的例子中的构成要素组合而构建的形态也可以包含在编码装置100及解码装置200的形态的范围内。

[具备其他形态的组合]

也可以将在此公开的1个以上方式与本发明中的其他方式的至少一部分组合来实施。此外,也可以将在此公开的1个以上方式的流程图所记载的一部分处理、装置的一部分结构、语法的一部分等与其他方式组合来实施。

例如,基准运动矢量可以将开头的子块的mv与控制点的mv组合。另外,基准运动矢量可以是多个运动矢量,也可以将开头的子块的mv和控制点的mv与各自的阈值进行比较。

另外,也可以将开头的子块的mv与控制点的mv进行比较,将任意1个作为基准运动矢量。也可以使用开头的子块的mv和控制点的mv(例如,进行平均等),作为1个基准运动矢量。

另外,上述的全部处理/要素不一定是必要的。该装置/方法也可以包含处理/要素的一部分。另外,上述的处理也可以与编码装置同样地由解码装置执行。

[实施及应用]

在以上的各实施方式中,各个功能块或起作用的块通常可以通过mpu(microprocessingunit,微处理单元)及存储器等实现。此外,也可以是,各个功能块的处理由读出并执行rom等记录介质中记录的的软件(程序)的处理器等程序执行部来实现。该软件可以分发。该软件也可以记录到半导体存储器等各种记录介质中。另外,也能够通过硬件(专用电路)实现各功能块。能够采用硬件和软件的各种组合。

在各实施方式中说明的处理既可以通过使用单一的装置(系统)集中处理来实现,或者也可以通过使用多个装置进行分散处理来实现。此外,执行上述程序的处理器既可以是单个,也可以是多个。即,既可以进行集中处理,也可以进行分散处理。

本发明的形态并不限定于以上的实施例,能够进行各种各样的变更,它们也包含在本发明的形态的范围内。

进而,这里说明在上述各实施方式中表示的运动图像编码方法(图像编码方法)或运动图像解码方法(图像解码方法)的应用例和实施该应用例的各种系统。也可以是,这样的系统的特征在于,具有使用图像编码方法的图像编码装置、使用图像解码方法的图像解码装置、或者具备两者的图像编码解码装置。关于这样的系统的其他结构,根据情况能够适当地变更。

[使用例]

图55是表示实现内容分发服务的适当内容供给系统ex100的整体结构的图。将通信服务的提供区分割为希望的尺寸,在各单元内分别设有图示的例子中的作为固定无线站的基站ex106、ex107、ex108、ex109、ex110。

在该内容供给系统ex100中,在因特网ex101上经由因特网服务提供商ex102或通信网ex104、以及基站ex106~ex110连接着计算机ex111、游戏机ex112、相机ex113、家电ex114以及智能电话ex115等各设备。该内容供给系统ex100也可以将上述的某些装置组合而连接。在各种实施中,也可以不经由基站ex106~ex110而将各设备经由电话网或近距离无线等直接或间接地相互连接。而且,流媒体服务器ex103也可以经由因特网ex101等而与计算机ex111、游戏机ex112、相机ex113、家电ex114及智能电话ex115等各设备连接。此外,流媒体服务器ex103也可以经由卫星ex116而与飞机ex117内的热点内的终端等连接。

另外,也可以代替基站ex106~ex110而使用无线接入点或热点等。此外,流媒体服务器ex103既可以不经由因特网ex101或因特网服务提供商ex102而直接与通信网ex104连接,也可以不经由卫星ex116而直接与飞机ex117连接。

相机ex113是数字相机等能够进行静止图像摄影及运动图像摄影的设备。此外,智能电话ex115是与被称作2g、3g、3.9g、4g、及今后被称作5g的移动通信系统的方式对应的智能电话机、便携电话机或phs(personalhandy-phonesystem)等。

家电ex114是电冰箱或在家庭用燃料电池热电联供系统中包含的设备等。

在内容供给系统ex100中,具有摄影功能的终端经由基站ex106等连接到流媒体服务器ex103上,由此能够进行现场分发等。在现场分发中,终端(计算机ex111、游戏机ex112、相机ex113、家电ex114、智能电话ex115及飞机ex117内的终端等)可以对由用户使用该终端拍摄的静止图像或运动图像内容进行在上述各实施方式中说明的编码处理,也可以将通过编码得到的影像数据和将与影像对应的声音进行编码而得到的声音数据复用,也可以将得到的数据向流媒体服务器ex103发送。即,各终端作为有关本发明的一形态的图像编码装置发挥功能。

另一方面,流媒体服务器ex103将对有请求的客户端发送的内容数据进行流分发。客户端是能够将上述编码处理后的数据进行解码的计算机ex111、游戏机ex112、相机ex113、家电ex114、智能电话ex115或飞机ex117内的终端等。接收到被分发的数据的各设备也可以对接收到的数据进行解码处理并再现。即,各设备也可以作为有关本发明的一形态的图像解码装置发挥功能。

[分散处理]

此外,流媒体服务器ex103也可以是多个服务器或多个计算机,将数据分散处理或记录而分发。例如,流媒体服务器ex103也可以由cdn(contentsdeliverynetwork)实现,通过将分散在世界中的许多边缘服务器与边缘服务器之间相连的网络来实现内容分发。在cdn中,能够根据客户端而动态地分配在物理上较近的边缘服务器。并且,通过向该边缘服务器高速缓存及分发内容,能够减少延迟。此外,在发生了几类错误的情况下或因通信量的增加等而通信状态变化的情况下,能够用多个边缘服务器将处理分散、或将分发主体切换为其他边缘服务器、或绕过发生故障的网络的部分而继续分发,所以能够实现高速且稳定的分发。

此外,不限于分发自身的分散处理,所拍摄的数据的编码处理既可以由各终端进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,通常在编码处理中进行2次处理循环。在第1次的循环中对帧或场景单位的图像的复杂度或编码量进行检测。此外,在第2次的循环中进行维持画质而使编码效率提高的处理。例如,通过由终端进行第1次的编码处理、由接收到内容的服务器侧进行第2次的编码处理,能够在减少各终端中的处理负荷的同时使内容的质和效率提高。在此情况下,如果有几乎实时地接收并解码的请求,则也可以将终端进行的第一次编码完成的数据由其他终端接收并再现,所以也能够进行更灵活的实时分发。

作为其他例子,相机ex113等从图像提取特征量(特征或特征的量),将关于特征量的数据作为元数据压缩并向服务器发送。服务器例如根据特征量来判断目标的重要性而切换量化精度等,进行与图像的意义(或内容的重要性)对应的压缩。特征量数据对于服务器中的再次压缩时的运动矢量预测的精度及效率提高特别有效。此外,也可以由终端进行vlc(可变长编码)等简单的编码,由服务器进行cabac(上下文自适应二值算术编码方式)等处理负荷大的编码。

作为其他例子,在体育场、购物中心或工厂等中,有存在由多个终端拍摄大致相同的场景而得到的多个影像数据的情况。在此情况下,使用进行了拍摄的多个终端、以及根据需要而使用没有进行摄影的其他终端及服务器,例如以gop(groupofpicture)单位、图片单位或将图片分割而得到的瓦片单位等分别分配编码处理而进行分散处理。由此,能够减少延迟而更好地实现实时性。

由于多个影像数据是大致相同场景,所以也可以由服务器进行管理及/或指示,以将由各终端拍摄的影像数据相互参照。此外,也可以是服务器接收来自各终端的已编码数据并在多个数据间变更参照关系,或将图片自身进行修正或替换而重新编码。由此,能够生成提高了一个个数据的质和效率的流。

而且,服务器也可以进行将影像数据的编码方式变更的转码后将影像数据分发。例如,服务器也可以将mpeg类的编码方式变换为vp类(例如vp9),也可以将h.264变换为h.265等。

这样,编码处理能够由终端或1个以上的服务器进行。因此,以下作为进行处理的主体而使用“服务器”或“终端”等的记载,但也可以将由服务器进行的处理的一部分或全部用终端进行,也可以将由终端进行的处理的一部分或全部用服务器进行。此外,关于这些,对于解码处理也是同样的。

[3d、多角度]

将由相互大致同步的多个相机ex113及/或智能电话ex115等终端拍摄的不同场景、或从不同的角度拍摄了相同场景的图像或影像合并而利用的情况增加。将由各终端拍摄的影像能够基于另取得的终端间的相对位置关系、或影像中包含的特征点一致的区域等来合并。

服务器不仅是将二维的运动图像进行编码,也可以基于运动图像的场景解析等自动地或在用户指定的时刻将静止图像进行编码并向接收终端发送。服务器还在能够取得拍摄终端间的相对位置关系的情况下,不仅是二维的运动图像,还能够基于从不同的角度拍摄了相同场景的影像,生成该场景的三维形状。服务器也可以将由点云等生成的三维的数据另行编码,也可以基于使用三维数据将人物或目标进行识别或跟踪的结果,从由多个终端拍摄的影像中选择或重构而生成向接收终端发送的影像。

这样,用户既能够任意地选择与各拍摄终端对应的各影像而欣赏场景,也能够欣赏从使用多个图像或影像重构的三维数据中切取了选择视点的影像的内容。进而,与影像一起,声音也可以从多个不同的角度集音,服务器将来自特定的角度或空间的声音与对应的影像复用,并发送复用后的影像和声音。

此外,近年来,virtualreality(vr:虚拟现实)及augmentedreality(ar:增强现实)等将现实世界与虚拟世界建立对应的内容也正在普及。在vr图像的情况下,服务器分别制作右眼用及左眼用的视点图像,既可以通过multi-viewcoding(mvc:多视点编码)等进行在各视点影像间容许参照的编码,也可以相互不参照而作为不同的流进行编码。在不同的流的解码时,可以根据用户的视点相互同步地再现,以再现虚拟的三维空间。

在ar图像的情况下,也可以是,服务器也可以基于三维的位置或用户的视点的移动,对现实空间的相机信息重叠虚拟空间上的虚拟物体信息。解码装置取得或保持虚拟物体信息及三维数据,根据用户的视点的移动而生成二维图像,通过平滑地相连来制作重叠数据。或者,也可以是,解码装置除了虚拟物体信息的委托以外还将用户的视点的移动发送给服务器。也可以是,服务器根据保持在服务器中的三维数据,匹配于接收到的视点的移动而制作重叠数据,将重叠数据进行编码并向解码装置分发。另外,典型地,重叠数据在rgb以外具有表示透射度的α值,服务器将根据三维数据制作出的目标以外的部分的α值设定为0等,在该部分透射的状态下进行编码。或者,服务器也可以如色度键那样将规定值的rgb值设定为背景,生成将目标以外的部分设为背景色的数据。规定的值的rgb值也可以预先确定。

同样,分发的数据的解码处理既可以由客户端(例如,终端)进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,也可以是某个终端先向服务器发送接收请求,由其他终端接收与该请求对应的内容并进行解码处理,将已解码的信号向具有显示器的装置发送。通过与可通信的终端自身的性能无关地都将处理分散而选择适当的内容,能够再现画质较好的数据。此外,作为其他例子,也可以由tv等接收大尺寸的图像数据,并且由欣赏者的个人终端将图片被分割后的瓦片等一部分区域进行解码并显示。由此,能够在使整体像共有化的同时,在手边确认自己的负责领域或想要更详细地确认的区域。

在能够使用室内外的近距离、中距离或长距离的无线通信中的多个的状况下,利用mpeg-dash等的分发系统标准,也许能够无缝接收内容。用户也可以在自由地选择用户的终端、配置在室内外的显示器等解码装置或显示装置的同时实时地切换。此外,能够使用自身的位置信息等,切换解码的终端及显示的终端并进行解码。由此,还能够在用户向目的地的移动期间,在埋入有可显示的设备的旁边的建筑物的墙面或地面的一部分上映射并显示信息。此外,还能够基于在能够从接收终端以短时间访问的服务器中高速缓存有编码数据、或在内容分发服务的边缘服务器中复制有编码数据等的向网络上的编码数据的访问容易性,来切换接收数据的比特率。

[可分级编码]

关于内容的切换,使用图56所示的、使用应用在上述各实施方式中表示的运动图像编码方法进行压缩编码的可分级(scalable)的流进行说明。对服务器而言,作为单独的流也可以具有内容相同而品质不同的多个流,也可以是如图示那样利用通过分层进行编码而实现的时间/空间上的可分级的流的特征来切换内容的结构。即,通过由解码侧根据性能这样的内在因素和通信频带的状态等外在因素来决定解码哪个层,解码侧能够自由地切换低分辨率的内容和高分辨率的内容来解码。例如在想要将用户在移动中用智能电话ex115视听的影像的后续例如在回家后用因特网tv等设备视听的情况下,该设备只要将相同的流解码到不同的层就可以,所以能够减轻服务器侧的负担。

进而,在如上述那样按每个层将图片编码、实现在基本层的上位的增强层的分级性的结构以外,也可以是增强层(enhancementlayer)包含基于图像的统计信息等的元信息。也可以是,解码侧通过基于元信息将基本层的图片进行超析像来生成高画质化的内容。超析像可以在维持及/或扩大分辨率的同时,提高sn比。元信息包括用来确定在超析像处理中使用的那样的线性或非线性的滤波系数的信息、或确定在超析像处理中使用的滤波处理、机器学习或最小2乘运算中的参数值的信息等。

或者,也可以提供根据图像内的目标等的意义将图片分割为瓦片等的结构。解码侧通过选择进行解码的瓦片而仅将一部分区域解码。而且,通过将目标的属性(人物、车、球等)和影像内的位置(同一图像中的坐标位置等)作为元信息保存,解码侧能够基于元信息确定希望的目标的位置,决定包括该目标的瓦片。例如,如图57所示,也可以使用hevc中的sei(supplementalenhancementinformation,补充增强信息)消息等与像素数据不同的数据保存构造来保存元信息。该元信息例如表示主目标的位置、尺寸或色彩等。

也可以以流、序列或随机访问单位等由多个图片构成的单位保存元信息。解码侧能够取得特定人物在影像内出现的时刻等,通过与图片单位的信息和时间信息匹配,能够确定目标存在的图片,能够决定图片内的目标的位置。

[web页的优化]

图58是表示计算机ex111等中的web页的显示画面例的图。图59是表示智能电话ex115等中的web页的显示画面例的图。如图58及图59所示,有web页包含多个作为向图像内容的链接的链接图像的情况,根据阅览的设备而其可见方式也可以不同。在画面上能看到多个链接图像的情况下,在用户明示地选择链接图像之前、或链接图像接近于画面的中央附近或链接图像的整体进入到画面内之前,显示装置(解码装置)中可以作为链接图像而显示各内容所具有的静止图像或i图片,也可以用多个静止图像或i图片等显示gif动画那样的影像,也可以仅接收基本层而将影像解码及显示。

在由用户选择了链接图像的情况下,显示装置例如将基本层设为最优先并进行解码。另外,如果在构成web页的html中有表示是可分级的内容的信息,则显示装置也可以解码到增强层。而且,在为了确保实时性而在选择之前或通信频带非常紧张的情况下,显示装置可以通过仅将前方参照的图片(i图片、p图片、仅进行前方参照的b图片)解码及显示,来减少开头图片的解码时刻与显示时刻之间的延迟(从内容的解码开始到显示开始的延迟)。此外进一步,显示装置也可以将图片的参照关系强行地忽视而将全部的b图片及p图片设为前方参照而粗略地解码,随着时间经过而接收到的图片增加,进行正常的解码。

[自动行驶]

此外,在为了车的自动行驶或行驶辅助而收发二维或三维的地图信息等那样的静止图像或影像数据的情况下,接收终端也可以除了属于1个以上的层的图像数据以外,还作为元信息而接收天气或施工的信息等,将它们建立对应而解码。另外,元信息既可以属于层,也可以只与图像数据复用。

在此情况下,由于包含接收终端的车、无人机或飞机等在移动,所以接收终端通过发送该接收终端的位置信息,能够实现在切换基站ex106~ex110的同时执行无缝接收及解码。此外,接收终端根据用户的选择、用户的状况及/或通信频带的状态,能够动态地切换将元信息以何种程度接收、或将地图信息以何种程度更新。

在内容供给系统ex100中,客户端能够将用户发送的已编码的信息实时地接收并解码、再现。

[个人内容的分发]

此外,在内容供给系统ex100中,不仅是由影像分发业者提供的高画质、长时间的内容,还能够进行由个人提供的低画质、短时间的内容的单播或多播分发。可以想到这样的个人内容今后也会增加。为了使个人内容成为更好的内容,服务器也可以在进行编辑处理后进行编码处理。这例如可以用以下这样的结构实现。

在拍摄时实时地或累积下来拍摄后,服务器根据原图像数据或已编码数据,进行拍摄错误、场景搜索、意义的解析及目标检测等的识别处理。并且,服务器基于识别结果,手动或自动地进行将焦点偏差或手抖动等修正、或将明亮度比其他图片低或焦点没有对上的场景等的重要性低的场景删除、或将目标的边缘强调、或使色调变化等的编辑。服务器基于编辑结果,将编辑后的数据进行编码。此外,已知如果拍摄时刻过长则视听率会下降,服务器也可以根据拍摄时间,不仅将如上述那样重要性低的场景,还将运动少的场景等基于图像处理结果自动地限制,以成为特定的时间范围内的内容。或者,服务器也可以基于场景的意义解析的结果而生成摘要并编码。

个人内容在原状态下有被写入侵害著作权、著作者人格权或肖像权等的内容的情形,也有共享的范围超过了想要的范围等对于个人而言不便的情况。因此,例如服务器也可以将画面的周边部的人的脸、或家中等强行地变更为不对焦的图像而进行编码。而且,服务器也可以识别在编码对象图像内是否拍摄到与预先登记的人物不同的人物的脸,在拍摄到的情况下,进行对脸部分施加马赛克等的处理。或者,作为编码的前处理或后处理,也可以从著作权等的观点出发,用户指定想要将图像加工的人物或背景区域。服务器也可以进行将所指定的区域替换为别的影像、或将焦点模糊化等的处理。如果是人物,则能够在运动图像中跟踪人物,将人物的脸部分的影像替换。

数据量小的个人内容的视听其实时性要求较强,所以虽然也取决于带宽,但解码装置也可以首先将基本层最优先地接收并进行解码及再现。解码装置也可以在此期间中接收增强层,在再现被循环的情况等2次以上被再现的情况下,将增强层也包括在内再现高画质的影像。这样,如果是进行了可分级编码的流,则能够提供在未选择时或刚开始看的阶段是虽然较粗糙的运动图像但流逐渐变得流畅而图像变好的体验。除了可分级编码以外,在第1次被再现的较粗糙的流和参照第1次的运动图像而被编码的第2次的流构成为1个流的情况下也能够提供同样的体验。

[其他实施应用例]

此外,这些编码或解码处理通常在各终端所具有的lsiex500中处理。lsi(largescaleintegrationcircuitry,大规模集成电路)ex500(参照图55)既可以是单芯片也可以是由多芯片构成的结构。另外,也可以将运动图像编码或解码用的软件装入到能够由计算机ex111等读取的某种记录介质(cd-rom、软盘、硬盘等)中、使用该软件进行编码处理及解码处理。进而,在智能电话ex115带有相机的情况下,也可以发送由该相机取得的运动图像数据。此时的运动图像数据也可以是用智能电话ex115所具有的lsiex500进行编码处理后的数据。

另外,lsiex500也可以是将应用软件下载并将其激活的结构。在此情况下,终端首先判定该终端是否与内容的编码方式对应、或是否具有特定服务的执行能力。在终端不与内容的编码方式对应的情况下、或不具有特定服务的执行能力的情况下,终端也可以下载编解码器或应用软件,然后进行内容取得及再现。

此外,并不限于经由因特网ex101的内容供给系统ex100,也能够在数字广播用系统中组装上述各实施方式的至少运动图像编码装置(图像编码装置)或运动图像解码装置(图像解码装置)中的某一种。由于利用卫星等使广播用的电波承载将影像与声音复用的复用数据而收发,所以相对于内容供给系统ex100的容易单播的结构,有适合多播的差异,但关于编码处理及解码处理能够进行同样的应用。

[硬件结构]

图60是进一步详细表示图55所示的智能电话ex115的图。此外,图61是表示智能电话ex115的结构例的图。智能电话ex115具有用来在与基站ex110之间收发电波的天线ex450、能够拍摄影像及静止图像的相机部ex465、显示由相机部ex465拍摄的影像及将由天线ex450接收到的影像等解码后的数据的显示部ex458。智能电话ex115还具备作为触摸面板等的操作部ex466、用来输出声音或音响的作为扬声器等的声音输出部ex457、用来输入声音的作为麦克风等的声音输入部ex456、能够保存所拍摄的影像或静止图像、录音的声音、接收到的影像或静止图像、邮件等的编码后的数据或解码后的数据的存储器部ex467、或者作为与simex468的接口部的插槽部ex464,所述simex468用来确定用户,进行以网络为代表向各种数据的访问的认证。此外,也可以代替存储器部ex467而使用外置存储器。

对显示部ex458及操作部ex466等能够进行综合控制的主控制部ex460与电源电路部ex461、操作输入控制部ex462、影像信号处理部ex455、相机接口部ex463、显示器控制部ex459、调制/解调部ex452、复用/分离部ex453、声音信号处理部ex454、插槽部ex464及存储器部ex467同步经由总线ex470相互连接。

电源电路部ex461如果通过用户的操作使电源键成为开启状态,则将智能电话ex115启动为能够动作的状态,从电池组对各部供给电力。

智能电话ex115基于具有cpu、rom及ram等的主控制部ex460的控制,进行通话及数据通信等处理。在通话时,通过声音信号处理部ex454将由声音输入部ex456集音的声音信号变换为数字声音信号,实施调制/解调部ex452进行波谱扩散处理,由发送/接收部ex451实施数字模拟变换处理及频率变换处理,该结果的信号经由天线ex450发送。此外,将接收数据放大并实施频率变换处理及模拟数字变换处理,由调制/解调部ex452进行波谱逆扩散处理,由声音信号处理部ex454变换为模拟声音信号后,将其从声音输出部ex457输出。在数据通信时,能够基于主体部的操作部ex466等的操作将文本、静止图像或影像数据经由操作输入控制部ex462在主控制部ex460的控制下送出。进行同样的收发处理。在数据通信模式时,在发送影像、静止图像或影像和声音的情况下,影像信号处理部ex455将保存在存储器部ex467中的影像信号或从相机部ex465输入的影像信号通过在上述各实施方式中表示的运动图像编码方法进行压缩编码,将编码后的影像数据向复用/分离部ex453送出。声音信号处理部ex454将在由相机部ex465拍摄影像、静止图像的过程中由声音输入部ex456集音的声音信号编码,将编码后的声音数据向复用/分离部ex453送出。复用/分离部ex453将已编码影像数据和已编码声音数据以规定的方式复用,由调制/解调部(调制/解调电路部)ex452及发送/接收部ex451实施调制处理及变换处理,经由天线ex450发送。规定的方式也可以预先确定。

在接收到添附在电子邮件或聊天工具中的影像、或链接在网页上的影像等的情况下,为了将经由天线ex450接收到的复用数据进行解码,复用/分离部ex453通过将复用数据分离而将复用数据分为影像数据的比特流和声音数据的比特流,经由同步总线ex470将编码后的影像数据向影像信号处理部ex455供给,并将编码后的声音数据向声音信号处理部ex454供给。影像信号处理部ex455通过与在上述各实施方式中表示的运动图像编码方法对应的运动图像解码方法将影像信号进行解码,经由显示器控制部ex459从显示部ex458显示被链接的运动图像文件中包含的影像或静止图像。声音信号处理部ex454将声音信号进行解码,从声音输出部ex457输出声音。由于实时流媒体愈发普及,所以根据用户的状况,也可能发生声音的再现在社会上不适合的情况。因此,也可以是,作为初始值,优选的是不将声音信号再现而仅将影像数据再现的结构,仅在用户进行了将影像数据点击等操作的情况下将声音同步地再现。

此外,这里以智能电话ex115为例进行了说明,但作为终端,可以考虑除了拥有编码器及解码器双方的收发型终端以外,还有仅具有编码器的发送终端、仅具有解码器的接收终端这样另外的安装形式。在数字广播用系统中,假设将在影像数据中复用了声音数据的复用数据接收、发送而进行了说明。但是,在复用数据中除了声音数据以外还可以复用与影像关联的字符数据等。另外,也可以不是将复用数据而是将影像数据自身接收或发送。

另外,假设包括cpu的主控制部ex460控制编码或解码处理而进行了说明,但各种终端具备gpu的情况也较多。因此,也可以做成通过由cpu和gpu共用的存储器、或以能够共同使用的方式管理地址的存储器,来利用gpu的性能将较大的区域一起处理的结构。由此,能够缩短编码时间,确保实时性,实现低延迟。特别是,如果将运动估计、解块滤波、sao(sampleadaptiveoffset)及变换/量化的处理不是用cpu进行而是用gpu以图片等单位一起进行,则更有效。

产业上的可利用性

本发明能够利用于例如电视接收机、数字视频记录器、汽车导航系统、移动电话、数字相机、数字摄像机、电视会议系统或电子镜等。

附图标记说明

100编码装置

102分割部

104减法部

106变换部

108量化部

110熵编码部

112、204逆量化部

114、206逆变换部

116、208加法部

118、210块存储器

120、212循环滤波部

122、214帧存储器

124、216帧内预测部

126、218帧间预测部

128、220预测控制部

200解码装置

202熵解码部

1201边界判定部

1202、1204、1206开关

1203滤波判定部

1205滤波处理部

1207滤波特性决定部

1208处理判定部

a1、b1处理器

a2、b2存储器

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