运动图像解码装置、运动图像编码装置、以及预测图像生成装置的制作方法

文档序号:15457152发布日期:2018-09-15 01:22阅读:413来源:国知局

本发明的一实施方式涉及一种运动图像解码装置、运动图像编码装置、以及预测图像生成装置。



背景技术:

为了有效率地传输或记录运动图像,使用有通过对运动图像进行编码而生成编码数据的运动图像编码装置、以及通过对该编码数据进行解码而生成解码图像的运动图像解码装置。

作为具体的运动图像编码方式,例如可列举在H.264/MPEG-4.AVC、HEVC(High-Efficiency Video Coding:高效视频编码)中提出的方式等。

在这种运动图像编码方式中,构成运动图像的图像(图片)通过由通过对图像进行分割而获得的切片(slice)、通过对切片进行分割而获得的编码单位(有时也称为编码单元(Coding Unit))、以及作为通过对编码单位进行分割而获得的块(block)的预测单元(PU)、变换单元(TU)形成的分级结构进行管理,并按块进行编码、解码。

此外,在这种运动图像编码方式中,通常,基于通过对输入图像进行编码/解码而获得的局部解码图像生成预测图像,并对从输入图像(原图像)减去该预测图像而获得的预测残差(有时也称为“差分图像”或“残差图像”)进行编码。作为预测图像的生成方法,可列举画面间预测(帧间预测)以及画面内预测(帧内预测)。

此外,作为近年来的运动图像编码以及解码的技术,可列举非专利文献1。

现有技术文献

非专利文献

非专利文献1:Video/JVET,“Algorithm Description of Joint Exploration TestModel 1(JEM 1)”,INTERNATIONAL ORGANIZATION FOR STANDARDIZATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11CODING OF MOVING PICTURES AND AUDIO,ISO/IEC JTC1/SC29/WG11/N15790,October2015,Geneva,CH.



技术实现要素:

发明要解决的问题

在近年来的运动图像编码以及解码技术中,应用有如下的技术:在生成预测图像时的运动补偿处理中,通过利用基于对象图像和两个参照图像的双预测进行的运动补偿,来推导预测图像。作为提高该通过运动补偿推导的预测图像的精度的技术,在非专利文献1中已知利用梯度信息进行校正的BIO,但该技术存在尚有进一步提高精度的余地的课题。

本发明的一实施方式提供一种能够提高通过运动补偿推导的预测图像的精度的图像解码装置。

技术方案

为了解决上述的课题,本发明的一方案的预测图像生成装置通过对多个参照图像进行运动补偿来生成预测图像,所述预测图像生成装置具备预测图像生成部,所述预测图像生成部参照第一参照图像、第二参照图像、以及梯度校正项,生成预测图像,上述预测图像生成部根据作为预测对象的对象图像与上述第一参照图像的图片间隔、以及该对象图像与上述第二参照图像的图片间隔,推导与上述第一参照图像的各像素的像素值相乘的第一权重系数以及与上述第二参照图像的各像素的像素值相乘的第二权重系数。

此外,为了解决上述的课题,本发明的一方案的预测图像生成装置通过对多个参照图像进行运动补偿来生成预测图像,所述预测图像生成装置具备预测图像生成部,所述预测图像生成部参照第一参照图像、第二参照图像、以及梯度校正项,生成预测图像,上述预测图像生成部参照表示上述第一参照图像的沿着第一方向的梯度的第一梯度图像、表示上述第一参照图像的沿着第二方向的梯度的第二梯度图像、表示上述第二参照图像的沿着第一方向的梯度的第三梯度图像、以及表示上述第二参照图像的沿着第二方向的梯度的第四梯度图像的各像素值,推导上述梯度校正项,与上述第一至第四梯度图像的各像素值相乘的各权重系数根据作为预测对象的对象图像与上述第一参照图像的图片间隔即第一图片间隔以及该对象图像与上述第二参照图像的图片间隔即第二图片间隔而确定。

此外,为了解决上述的课题,本发明的一方案的预测图像生成装置通过对多个参照图像进行运动补偿来生成预测图像,所述预测图像生成装置具备预测图像生成部,所述预测图像生成部参照第一参照图像、第二参照图像、以及梯度校正项,生成预测图像,上述预测图像生成部参照表示上述第一参照图像的沿着第一方向的梯度的第一梯度图像、表示上述第一参照图像的沿着第二方向的梯度的第二梯度图像、表示上述第二参照图像的沿着第一方向的梯度的第三梯度图像、以及表示上述第二参照图像的沿着第二方向的梯度的第四梯度图像的各像素值,推导上述梯度校正项,在规定的标志为第一值的情况下,与上述第一至第四梯度图像的各像素值相乘的各权重系数根据作为预测对象的对象图像与上述第一参照图像的图片间隔即第一图片间隔以及该对象图像与上述第二参照图像的图片间隔即第二图片间隔而确定,在规定的标志为第二值的情况下,与上述第一至第四梯度图像的各像素值相乘的各权重系数为相互相等的值。

此外,为了解决上述的课题,本发明的一方案的预测图像生成装置通过对多个参照图像进行运动补偿来生成预测图像,所述预测图像生成装置具备预测图像生成部,所述预测图像生成部参照第一参照图像、第二参照图像、以及梯度校正项,生成预测图像,上述预测图像生成部参照表示上述第一参照图像的沿着第一方向的梯度的第一梯度图像、表示上述第一参照图像的沿着第二方向的梯度的第二梯度图像、表示上述第二参照图像的沿着第一方向的梯度的第三梯度图像、以及表示上述第二参照图像的沿着第二方向的梯度的第四梯度图像的各像素值,推导上述梯度校正项,与上述第一至第四梯度图像的各像素值相乘的各权重系数按块进行确定。

此外,为了解决上述的课题,本发明的一方案的预测图像生成装置通过对多个参照图像进行运动补偿来生成预测图像,所述预测图像生成装置具备预测图像生成部,所述预测图像生成部参照第一参照图像、第二参照图像、以及梯度校正项,生成预测图像,上述预测图像生成部参照表示上述第一参照图像的沿着第一方向的梯度的第一梯度图像、表示上述第一参照图像的沿着第二方向的梯度的第二梯度图像、表示上述第二参照图像的沿着第一方向的梯度的第三梯度图像、以及表示上述第二参照图像的沿着第二方向的梯度的第四梯度图像的各像素值,推导上述梯度校正项,上述预测图像生成部具备对在推导各梯度图像时使用的梯度滤波进行切换的第一切换部。

此外,为了解决上述的课题,本发明的一方案的预测图像生成装置通过对多个参照图像进行运动补偿来生成预测图像,所述预测图像生成装置具备预测图像生成部,所述预测图像生成部参照第一参照图像、第二参照图像、以及梯度校正项,生成预测图像,上述预测图像生成部参照表示上述第一参照图像的沿着第一方向的梯度的第一梯度图像、表示上述第一参照图像的沿着第二方向的梯度的第二梯度图像、表示上述第二参照图像的沿着第一方向的梯度的第三梯度图像、以及表示上述第二参照图像的沿着第二方向的梯度的第四梯度图像的各像素值,推导上述梯度校正项,上述预测图像生成部具备对与上述第一至第四梯度图像的各像素值相乘的各权重系数进行剪辑处理的剪辑部。

此外,为了解决上述的课题,本发明的一方案的预测图像生成装置通过对多个参照图像进行运动补偿来生成预测图像,所述预测图像生成装置具备预测图像生成部,所述预测图像生成部参照第一参照图像、第二参照图像、以及梯度校正项,生成预测图像,上述预测图像生成部参照表示上述第一参照图像的沿着第一方向的梯度的第一梯度图像、表示上述第一参照图像的沿着第二方向的梯度的第二梯度图像、表示上述第二参照图像的沿着第一方向的梯度的第三梯度图像、以及表示上述第二参照图像的沿着第二方向的梯度的第四梯度图像的各像素值,推导上述梯度校正项,与上述第一至第四梯度图像的各像素值相乘的各权重系数是使用参照上述第一至第四梯度图像中的至少任一个而确定的中间参数、以及与该中间参数相加的正规化项而确定的,上述预测图像生成部具备对上述正规化项的值进行切换的第二切换部。

此外,为了解决上述的课题,本发明的一方案的预测图像生成装置通过对多个参照图像进行运动补偿来生成预测图像,所述预测图像生成装置具备:预测矢量计算部;以及预测图像生成部,参照第一参照图像、第二参照图像、以及梯度校正项,生成预测图像,上述预测矢量计算部使用选自包含匹配预测模式的一个以上的预测模式中的预测模式,推导运动矢量,预测图像生成部在对由在匹配预测模式下获得的上述运动矢量推导的运动补偿图像进行校正的情况下,根据是否应用BIO预测,切换用于运动补偿图像的推导的运动矢量的精度。

有益效果

根据以上的构成,能够提高通过运动补偿推导的预测图像的精度。

附图说明

图1是表示本实施方式的编码流的数据的分级结构的图。

图2是表示PU分割模式的模式的图。图2(a)~(h)分别表示PU分割模式为2N×2N、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、以及N×N的情况的分区形状。

图3是表示参照图片列表的一个示例的概念图。

图4是表示参照图片的示例的概念图。

图5是表示本实施方式的图像解码装置的构成的概略图。

图6是表示本实施方式的帧间预测参数解码部的构成的概略图。

图7是表示本实施方式的合并预测参数推导部的构成的概略图。

图8是表示本实施方式的AMVP预测参数推导部的构成的概略图。

图9是表示矢量候选的一个示例的概念图。

图10是表示本实施方式的帧间预测参数解码控制部的构成的概略图。

图11是表示本实施方式的帧间预测图像生成部的构成的概略图。

图12是表示本实施方式的图像编码装置的构成的框图。

图13是表示本实施方式的帧间预测参数编码部的构成的概略图。

图14是表示本发明的实施方式的图像传输系统的构成的概略图。

图15是表示具备使用了BIO预测的运动补偿的图像解码装置中的预测模式切换例的流程图。

图16是对具备使用了BIO预测的运动补偿功能的运动补偿部3091推导预测图像的处理的流程进行说明的流程图。

图17是表示推导梯度变化的概念的流程的一个示例的图。

图18是对依存于对象图像和参照图像来推导校正权重矢量的方法进行说明的图。

图19(a)是运动补偿滤波mcFilter的具体例,图19(b)是梯度补偿滤波的具体例。

图20是对使用最小平方法来推导校正权重矢量的方法进行说明的图。

图21是表示运动补偿部的构成例的框图。

图22是表示运动补偿部所进行的BIO预测的处理的流程的一个示例的流程图。

图23是表示图22的S22a的工序的一个示例的流程图。

图24是表示运动补偿部的构成的另一个示例的框图。

图25是表示图22的S22a的工序的另一个示例的流程图。

图26是表示图22的S22a的工序的其它示例的流程图。

图27(a)是高分解能滤波组的一个示例,图27(b)是低分解能滤波组的一个示例。

图28是图27所示的高分解能滤波组以及低分解能滤波组的各yFrac的值的曲线图。

图29是表示依存分辨率时的切换滤波组的处理的流程的一个示例的流程图。

图30是表示运动矢量推导处理的流程的流程图。

图31(a)是表示依存滤波组时切换正规化项的示例的图,图31(b)是表示依存滤波组时切换剪辑处理的范围的示例的图。

图32是表示BIO预测模式与匹配模式的预测精度相比较的图。

图33是表示搭载有上述图像编码装置的发送装置、以及搭载有上述图像解码装置的接收装置的构成的图。图33(a)表示搭载有图像编码装置的发送装置,图33(b)表示搭载有图像解码装置的接收装置。

图34是表示搭载有上述图像编码装置的记录装置、以及搭载有上述图像解码装置的再现装置的构成的图。图34(a)表示搭载有图像编码装置的记录装置,图34(b)表示搭载有图像解码装置的再现装置。

具体实施方式

(第一实施方式)

以下,参照附图,对本发明的实施方式进行说明。

图14是表示本实施方式的图像传输系统1的构成的概略图。

图像传输系统1是传输对编码对象图像进行了编码而得的代码,并对通过解码所传输的代码而得的图像进行显示的系统。图像传输系统1包含图像编码装置11(运动图像编码装置)、网络21、图像解码装置31(运动图像解码装置)以及图像显示装置41而构成。

图像编码装置11中输入指示单层或者多层的图像的信号T。层是在构成某时间的图片(picture)存在一个以上的情况下用于区别多个图片的概念。例如,当将相同图片在图像质量、分辨率不同的多个层进行编码时则成为可分级编码(scalable coding),当将不同视点的图片在多个层进行编码时则成为视点可分级编码(view scalable coding)。当在多个层的图片间进行预测(层间预测、视点间预测)的情况下,编码效率大幅度提高。此外,即使在不进行预测的情况(同时联播(simulcast))的情况下,也能够汇总编码数据。

需要说明的是,图像编码装置11以及图像解码装置31可以是单层图像,也可以将可分级编码(scalable coding)、视点可分级编码(view scalable coding)任意地组合而进行。

网络21将图像编码装置11所生成的编码流Te传输至图像解码装置31。网络21是互联网(internet)、广域网(WAN:Wide Area Network)、小型网络(LAN:Local Area Network,局域网)或这些的组合。网络21不一定限定于双向的通信网,也可以是传输地面波数字广播、卫星广播等广播波的单向或双向的通信网。此外,网络21也可以用DVD(Digital Versatile Disc:数字通用光盘)、BD(Blue-ray Disc:蓝光光盘)等记录有编码流Te的存储介质来代替。

图像解码装置31对网络21所传输的编码流Te分别进行解码,生成分别解码后的一个或多个解码层图像Td(解码视点图像Td)。

图像显示装置41对图像解码装置31所生成的一个或多个解码层图像Td的全部或一部分进行显示。例如,在视点可分级编码中,在显示全部的情况时显示三维图像(立体图像)、自由视点图像,在显示一部分的情况时显示二维图像。图像显示装置41例如具备液晶显示器、有机EL(Electro-luminescence:电致发光)显示器等显示设备。此外,在空间可分级编码、信噪比(SNR)可分级编码中,在图像解码装置31、图像显示装置41具有较高的处理能力的情况下,显示图像质量高的增强层图像,在仅具有较低的处理能力的情况下,显示不需要增强层程度的高处理能力、显示能力的基本层图像(base layer image)。

<编码流Te的结构>

在对本实施方式的图像编码装置11以及图像解码装置31进行详细说明之前,对由图像编码装置11生成并被图像解码装置31解码的编码流Te的数据结构进行说明。

图1是表示编码流Te中的数据的分级结构的图。编码流Te示例性地包含序列以及构成序列的多个图片。图1(a)~图1(f)是分别表示既定序列SEQ的序列层、规定图片PICT的图片层、规定切片S的切片层、规定切片数据的切片数据层、规定包含于切片数据的编码树单元的编码树层、规定包含于编码树的编码单元(CU:Coding Unit)的编码单元层的图。(序列层)

在序列层中,规定有图像解码装置31用于对处理对象的序列SEQ(以下,也称为对象序列)进行解码而参照的数据的集合。序列SEQ如图1(a)所示,包含视频参数集(Video Parameter Set)、序列参数集SPS(Sequence Parameter Set)、图片参数集PPS(Picture Parameter Set)、图片PICT、以及补充增强信息SEI(Supplemental Enhancement Information)。在此,表示于#后的值表示层ID。在图1中示出存在#0和#1即层0和层1的编码数据的示例,但层的种类以及层数并不取决于此。

视频参数集VPS在由多个层构成的运动图像中,规定有多个运动图像通用的编码参数的集合、以及运动图像所包含的多个层和与各层相关连的编码参数的集合。

在序列参数集SPS中,规定有图像解码装置31用于对对象序列进行解码而参照的编码参数的集合。例如,规定图片的宽度、高度。需要说明的是,SPS也可以存在有多个。该情况下,从PPS中选择多个SPS的任一个。

在图片参数集PPS中,规定有图像解码装置31用于对对象序列内的各图片进行解码而参照的编码参数的集合。例如包含用于图片的解码的量化宽度(量化步长)的基准值(pic_init_qp_minus26)、指示加权预测的应用的标志(weighted_pred_flag)。需要说明的是,PPS也可以存在有多个。该情况下,从对象序列内的各图片中选择多个PPS的任一个。

(图片层)

在图片层中,规定有图像解码装置31用于对处理对象的图片PICT(以下,也称为对象图片)进行解码而参照的数据的集合。图片PICT如图1(b)所示,包含切片S0~SNS-1(NS为图片PICT所包含的切片的总数)。

需要说明的是,以下,在无需对切片S0~SNS-1分别进行区别的情况下,有时会省略代码的下标地进行记述。此外,以下说明的包含于编码流Te且标有下标的其它数据也是同样的。

(切片层)

在切片层中,规定有图像解码装置31用于对处理对象的切片S(也称为对象切片)进行解码而参照的数据的集合。切片S如图1(c)所示,包含切片标头(slice header)SH以及切片数据SDATA。

切片标头SH中包含图像解码装置31用于确定对象切片的解码方法而参照的编码参数群。指定切片类型的切片类型指定信息(slice_type)是包含于切片标头SH的编码参数的一个示例。

作为可由切片类型指定信息指定的切片类型,可列举:(1)在进行编码时仅使用帧内预测的I切片、(2)在进行编码时使用单向预测(单预测)或帧内预测的P切片、以及(3)在进行编码时使用单向、双预测、或帧内预测的B切片等。

需要说明的是,切片标头SH中也可以含有包含于上述序列层的对图片参数集PPS的参照(pic_parameter_set_id)。

(切片数据层)

在切片数据层中,规定有图像解码装置31用于对处理对象的切片数据SDATA进行解码而参照的数据的集合。切片数据SDATA如图1(d)所示,包含编码树块(CTB:Coded Tree Block)。CTB是构成切片的固定尺寸(例如64×64)的块,有时也称为最大编码单元(LCU:Largest Cording Unit)、编码树单元(CTU:Coded Tree Unit)。

(编码树层)

编码树层如图1(e)所示,规定有图像解码装置31用于对处理对象的编码树块进行解码而参照的数据的集合。编码树块通过递归的四叉树分割而被分割。将通过递归的四叉树分割而获得的树形结构的节点称为编码树(coding tree)。四叉树的中间节点为编码四叉树(CQT:Coded Quad Tree),编码树块本身也被规定为最上层的CQT。CQT包含分割标志(split_flag),在split_flag为1的情况下,分割为4个CQT。在split_flag为0的情况下,CQT不进行分割,而是具有一个编码单元(CU:Coded Unit)作为节点。编码单元CU为编码树层的末端节点,在该层中不进行进一步分割。编码单元CU成为编码处理的基本单元。

此外,在编码树块CTB的尺寸为64×64像素的情况下,编码单元的尺寸可获得64×64像素、32×32像素、16×16像素、以及8×8像素中的任一个。

(编码单元层)

编码单元层如图1(f)所示,规定有图像解码装置31用于对处理对象的编码单元进行解码而参照的数据的集合。具体而言,编码单元由编码树、预测树、变换树、以及CU标头CUF构成。在编码树中规定分割标志、分割模式、预测模式等。

预测树中,规定了将编码单元分割为一个或多个而得的各预测块的预测信息(参照图片索引、运动矢量等)。如果以其它表述来说,预测块是构成编码单元的一个或多个不重复的区域。此外,预测树包含通过上述的分割而获得的一个或多个预测块。需要说明的是,以下将进一步分割预测块而得的预测单元称为“子块”。子块(预测块)由一个或多个像素构成。在预测块与子块的尺寸相等的情况下,预测块中的子块为一个。在预测块的尺寸大于子块的尺寸的情况下,预测块被分割为子块。例如在预测块为8×8、子块为4×4的情况下,预测块被水平地分割为两部分,被垂直地分割为两部分,从而分割成四个子块。

预测处理按该预测块(子块)进行。以下,也将作为预测的单元的预测块称为预测单元(PU:prediction unit,预测单元)。

预测树中的分割的种类大体来说有帧内预测的情况和帧间预测的情况两种。帧内预测是相同图片内的预测,帧间预测是指在相互不同的图片间(例如,显示时刻间,层图像间)进行的预测处理。

在帧内预测的情况下,分割方法有2N×2N(与编码单元相同尺寸)和N×N。

此外,在帧间预测的情况下,分割方法根据编码数据的PU分割模式(part_mode)而进行编码,分割中有2N×2N(与编码单元相同尺寸)、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、以及N×N等。需要说明的是,2N×nU表示将2N×2N的编码单元从上到下依次分割为2N×0.5N和2N×1.5N两个区域。2N×nD表示将2N×2N的编码单元从上到下依次分割为2N×1.5N和2N×0.5N两个区域。nL×2N表示将2N×2N的编码单元从左到右依次分割为0.5N×2N和1.5N×2N两个区域。nR×2N表示将2N×2N的编码单元从左到右依次分割为1.5N×2N和0.5N×1.5N两个区域。分割数为一、二、四中的任一个,因此包含于CU的PU为一个至四个。将这些PU依次表示为PU0、PU1、PU2、PU3。

图2(a)~图2(h)中,针对各分割类型具体地图示出了CU中的PU分割的边界的位置。

需要说明的是,图2(a)表示不进行CU的分割的2N×2N的PU分割模式。

此外,图2(b)、图2(c)、以及图2(d)分别表示PU分割模式分别为2N×N、2N×nU、以及2N×nD的情况下的分区(partition)的形状。以下,将PU分割模式为2N×N、2N×nU、以及2N×nD的情况的分区统称为横长分区。

此外,图2(e)、图2(f)、以及图2(g)分别表示PU分割模式为N×2N、nL×2N、以及nR×2N的情况下的分区的形状。以下,将PU分割模式为N×2N、nL×2N、以及nR×2N的情况的分区统称为纵长分区。

此外,将横长分区以及纵长分区统称为长方形分区。

此外,图2(h)表示PU分割模式为N×N的情况的分区的形状。基于其分区的形状,也将图2(a)以及图2(h)的PU分割模式称为正方形分割。此外,也将图2(b)~图2(g)的PU分割模式称为非正方形分割。

此外,在图2(a)~图2(h)中,赋予各区域的编号表示区域的标识号,按照该标识号的顺序依次对区域进行处理。即,该标识号表示分区的扫描顺序。

此外,在图2(a)~图2(h)中,设为左上为CU的基准点(原点)。

此外,在变换树中,编码单元被分割为一个或多个变换块,且各变换块的位置和尺寸有所规定。如果以其它表述来说,变换块是构成编码单元的一个或多个不重复的区域。此外,变换树包含通过上述的分割而获得的一个或多个变换块。

变换树的分割中,具有将与编码单元相同的尺寸的区域分配为变换块的分割、和与上述的树块的分割同样地通过递归的四叉树分割而进行的分割。

变换处理按该变换块进行。以下,也将作为变换的单元的变换块称为变换单元(transform unit;TU)。

(预测参数)

预测单元的预测图像通过预测单元所随附的预测参数而推导出来。预测参数中具有帧内预测的预测参数或者帧间预测的预测参数。以下,对帧间预测的预测参数(帧间预测参数)进行说明。帧间预测参数由预测列表利用标志predFlagL0、predFlagL1、参照图片索引refIdxL0、refIdxL1以及矢量mvL0、mvL1构成。预测列表利用标志predFlagL0、predFlagL1是表示是否使用各个被称为L0列表、L1列表的参照图片列表的标志,当值为1的情况下,使用对应的参照图片列表。需要说明的是,当在本说明书中记为“表示是否为XX的标志”的情况下,将1设为是XX的情况,将0设为不是XX的情况,在逻辑非、逻辑乘等中将1处理为真,将0处理为假(以下同样)。但是,在实际的装置、方法中也可以使用其它值作为真值、假值。在使用两张参照图片列表的情况下,就是说,predFlagL0=1、predFlagL1=1的情况与双预测对应,在使用一个参照图片列表的情况下,即(predFlagL0,predFlagL1)=(1,0)或者(predFlagL0,predFlagL1)=(0,1)的情况与单预测对应。需要说明的是,预测列表利用标志的信息也可以用后述的帧间预测标志inter_pred_idc来表示。通常,在后述的预测图像生成部(预测图像生成装置)308、预测参数存储器307中使用预测列表利用标志,在根据编码数据对是否使用哪一个参照图片列表的信息进行解码的情况下,使用帧间预测标志inter_pred_idc。

用于推导包含于编码数据的帧间预测参数的语法元素中,例如具有分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、以及差分矢量mvdLX。

(参照图片列表的一个示例)

接着,对参照图片列表的一个示例进行说明。参照图片列表是由存储于参照图片存储器306(图5)的参照图片(参照图像)形成的列。图3是表示参照图片列表的一个示例的概念图。在参照图片列表601中,左右排列成一列的5个长方形分别表示参照图片。从左端向右依次示出的代码P1、P2、Q0、P3、P4是表示各参照图片的代码。P1等的P是表示视点P,然后Q0的Q是表示与视点P不同的视点Q。P以及Q的下标表示图片顺序编号POC。refIdxLX的正下方的向下的箭头表示参照图片索引refIdxLX是在参照图片存储器306中参照了参照图片Q0的索引。

(参照图片的示例)

接着,对在推导矢量时使用的参照图片的示例进行说明。图4是表示参照图片的示例的概念图。在图4中,横轴表示显示时刻,纵轴表示视点。图4所示的纵两行、横三列(共计六个)的长方形分别表示图片。六个长方形中,下面一行的从左起第二列的长方形表示解码对象的图片(对象图片),其余的五个长方形分别表示参照图片。以从对象图片起向上的箭头表示的参照图片Q0是与对象图片为相同显示时刻但视点不同的图片。在以对象图片作为基准的位移预测中,使用参照图片Q0。以从对象图片起向左的箭头表示的参照图片P1是与对象图片相同的视点的过去的图片。以从对象图片起向右的箭头表示的参照图片P2是与对象图片相同的视点的未来的图片。在以对象图片作为基准的运动预测中,使用参照图片P1或P2。(帧间预测标志与预测列表利用标志)

帧间预测标志与预测列表利用标志predFlagL0、predFlagL1的关系如下所述,可相互变换。因此,作为帧间预测参数,可以使用预测列表利用标志,也可以使用帧间预测标志。此外,以下,使用了预测列表利用标志的判定可以替换为帧间预测标志。反之,使用了帧间预测标志的判定也可以替换为预测列表利用标志。

帧间预测标志=(predFlagL1<<1)+predFlagL0

predFlagL0=帧间预测标志&1

predFlagL1=帧间预测标志>>1

在此,>>为右移位,<<为左移位。

(合并预测与AMVP预测)

预测参数的解码(编码)方法中具有合并预测(merge)模式和AMVP(Adaptive Motion Vector Prediction:自适应运动矢量预测)模式,合并标志merge_flag是用于标识这些的标志。无论是合并预测模式还是AMVP模式,都使用已经处理完的块的预测参数,推导对象PU的预测参数。合并预测模式是不使预测列表利用标志predFlagLX(或帧间预测标志inter_pred_idc)、参照图片索引refIdxLX、运动矢量mvLX包含于编码数据地直接使用已推导出的附近PU的预测参数的模式,AMVP模式是使帧间预测标志inter_pred_idc、参照图片索引refIdxLX、运动矢量mvLX包含于编码数据的模式。需要说明的是,运动矢量mvLX被编码为标识预测矢量mvpLX的预测矢量索引mvp_LX_idx和差分矢量mvdLX。

帧间预测标志inter_pred_idc是表示参照图片的种类以及数量的数据,取PRED_L0、PRED_L1、PRED_BI中的任一值。PRED_L0、PRED_L1表示使用分别存储于被称为L0列表、L1列表的参照图片列表的参照图片,并表示均使用一张参照图片(单预测)。将使用了L0列表、L1列表的预测分别称为L0预测、L1预测。PRED_BI表示使用两张参照图片(双预测),并表示使用存储于L0列表和L1列表的两个参照图片。预测矢量索引mvp_LX_idx是表示预测矢量的索引,参照图片索引refIdxLX是表示存储于参照图片列表的参照图片的索引。需要说明的是,LX是在不对L0预测与L1预测进行区别的情况下使用的记述方法,通过将LX替换为L0、L1,对针对L0列表的参数与针对L1列表的参数进行区别。例如,refIdxL0是用于L0预测的参照图片索引,refIdxL1是用于L1预测的参照图片索引,refIdx(refIdxLX)是在不对refIdxL0与refIdxL1进行区别的情况下使用的标记。

合并索引merge_idx是表示是否使用从处理已完成的块推导的预测参数候选(合并候选)中的任一个预测参数作为解码对象块的预测参数的索引。

需要说明的是,“对象块”可以是比多个预测块高一个层级的预测块,也可以是包含上述多个预测块的编码单元。

(运动矢量与位移矢量)

运动矢量mvLX中,可以分为表示不同时间的两个图片上的块间的偏移量的狭义的运动矢量(狭义的运动矢量)、和表示相同时间的两个块间的偏移量的位移矢量(disparity vector:视差矢量)。在以下的说明中,不对运动矢量和位移矢量进行区别,而简称为运动矢量mvLX。将与运动矢量mvLX相关的预测矢量、差分矢量分别称为预测矢量mvpLX、差分矢量mvdLX。对于运动矢量mvLX以及差分矢量mvdLX是运动矢量还是位移矢量,使用矢量所随附的参照图片索引refIdxLX来进行标识。

(图像解码装置的构成)

接着,对本实施方式的图像解码装置31的构成进行说明。图5是表示本实施方式的图像解码装置31的构成的概略图。图像解码装置31包含熵解码部301、预测参数解码部302、参照图片存储器(参照图像存储部、帧存储器)306、预测参数存储器(预测参数存储部、帧存储器)307、预测图像生成部308、逆量化/逆DCT部311、以及加法部312、残差储存部313(残差记录部)而构成。

此外,预测参数解码部302包含帧间预测参数解码部303以及帧内预测参数解码部304而构成。预测图像生成部308包含帧间预测图像生成部309以及帧内预测图像生成部310而构成。

熵解码部301对从外部输入的编码流Te进行熵解码,并分离各个代码(语法元素)而进行解码。经分离的代码中,具有用于生成预测图像的预测信息以及用于生成差分图像的残差信息等。

熵解码部301将经分离的代码的一部分输出至预测参数解码部302。经分离的代码的一部分例如是预测模式PredMode、分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、以及差分矢量mvdLX。对于是否解码哪一个代码的控制,是基于预测参数解码部302的指示而进行的。熵解码部301将量化系数输出至逆量化/逆DCT部311。该量化系数是在编码处理中对残差信号进行DCT(Discrete Cosine Transform:离散余弦变换)并进行量化而获得的系数。

帧间预测参数解码部303基于从熵解码部301输入的代码,参照存储于预测参数存储器307的预测参数,对帧间预测参数进行解码。

帧间预测参数解码部303将已解码的帧间预测参数输出至预测图像生成部308,此外,存储于预测参数存储器307。对帧间预测参数解码部303的详细内容将于下文叙述。

帧内预测参数解码部304基于从熵解码部301输入的代码,参照存储于预测参数存储器307的预测参数,对帧内预测参数进行解码。帧内预测参数是在一个图片内对图片块进行预测的处理中使用的参数,例如,帧内预测模式IntraPredMode。帧内预测参数解码部304将已解码的帧内预测参数输出至预测图像生成部308,此外,存储于预测参数存储器307。

帧内预测参数解码部304也可以推导在亮度和色差上不同的帧内预测模式。该情况下,帧内预测参数解码部304将亮度预测模式IntraPredModeY解码作为亮度的预测参数,将色差预测模式IntraPredModeC解码作为色差的预测参数。亮度预测模式IntraPredModeY为35模式,平面预测(0)、DC预测(1)、方向预测(2~34)与其对应。色差预测模式IntraPredModeC使用平面预测(0)、DC预测(1)、方向预测(2~34)、LM模式(35)中的任一个。帧内预测参数解码部304对指示IntraPredModeC是否是与亮度模式相同的模式的标志进行解码,如果标志指示是与亮度模式相同的模式,则将IntraPredModeY分配至IntraPredModeC,如果标志指示是与亮度模式不同的模式,则帧内预测参数解码部304也可以将平面预测(0)、DC预测(1)、方向预测(2~34)、LM模式(35)解码作为IntraPredModeC。

参照图片存储器306将加法部312所生成的参照图片的块(参照图片块)按解码对象的图片以及块存储于预定的位置。

预测参数存储器307将预测参数按解码对象的图片以及块存储于预定的位置。具体而言,预测参数存储器307存储帧间预测参数解码部303所解码的帧间预测参数、帧内预测参数解码部304所解码的帧内预测参数、以及熵解码部301所分离的预测模式predMode。所存储的帧间预测参数中,例如具有预测列表利用标志predFlagLX(帧间预测标志inter_pred_idc)、参照图片索引refIdxLX、以及运动矢量mvLX。

预测图像生成部308中输入有从熵解码部301输入的预测模式predMode,此外,从预测参数解码部302输入有预测参数。此外,预测图像生成部308从参照图片存储器306中读出参照图片。预测图像生成部308在预测模式predMode所表示的预测模式下,使用输入的预测参数和读出的参照图片来生成预测图片块P(预测图像)。

在此,在预测模式predMode表示帧间预测模式的情况下,帧间预测图像生成部309使用从帧间预测参数解码部303输入的帧间预测参数和读出的参照图片,通过帧间预测来生成预测图片块P。预测图片块P与预测单元PU对应。PU相当于成为如上所述地进行预测处理的单元的由多个像素形成的图片的一部分,就是说,相当于进行一次预测处理的解码对象块。

帧间预测图像生成部309相对于预测列表利用标志predFlagLX为1的参照图片列表(L0列表或者L1列表),根据参照图片索引refIdxLX所指示的参照图片,从参照图片存储器306中读出位于以解码对象块为基准的运动矢量mvLX所示的位置的参照图片块。帧间预测图像生成部309对读出的参照图片块进行预测,生成预测图片块P。帧间预测图像生成部309将生成的预测图片块P输出至加法部312。

在预测模式predMode表示帧内预测模式的情况下,帧内预测图像生成部310使用从帧内预测参数解码部304输入的帧内预测参数和读出的参照图片来进行帧内预测。具体而言,帧内预测图像生成部310从参照图片存储器306中读出为解码对象的图片且在已经解码的块中位于从解码对象块起预定的范围的参照图片块。预定的范围是在解码对象块以所谓的光栅扫描的顺序依次移动的情况下,例如左、左上、上、右上的相邻块中的任一个,根据帧内预测模式而不同。光栅扫描的顺序是在各图片中针对从上端至下端各行依次从左端移动至右端的顺序。

帧内预测图像生成部310在帧内预测模式IntraPredMode所示的预测模式下对读出的参照图片块进行预测,生成预测图片块。帧内预测图像生成部310将生成的预测图片块P输出至加法部312。

在帧内预测参数解码部304中,在推导在亮度和色差上不同的帧内预测模式的情况下,帧内预测图像生成部310根据亮度预测模式IntraPredModeY,通过平面预测(0)、DC预测(1)、方向预测(2~34)中的任一个来生成亮度的预测图片块,并根据色差预测模式IntraPredModeC,通过平面预测(0)、DC预测(1)、方向预测(2~344)、LM模式(35)中的任一个来生成色差的预测图片块。

逆量化/逆DCT部311将从熵解码部301输入的量化系数逆量化来求出DCT系数。逆量化/逆DCT部311对求出的DCT系数进行逆DCT(Inverse Discrete Cosine Transform:逆离散余弦变换),计算出解码残差信号。逆量化/逆DCT部311将计算出的解码残差信号输出至加法部312以及残差储存部313。

加法部312将从帧间预测图像生成部309以及帧内预测图像生成部310输入的预测图片块P和从逆量化/逆DCT部311输入的解码残差信号的信号值按像素相加,生成参照图片块。加法部312将生成的参照图片块存储于参照图片存储器306,并将按图片整合了生成的参照图片块而得的解码层图像Td输出至外部。

(帧间预测参数解码部的构成)

接着,对帧间预测参数解码部303的构成进行说明。

图6是表示本实施方式的帧间预测参数解码部303的构成的概略图。帧间预测参数解码部303包含帧间预测参数解码控制部3031、AMVP预测参数推导部3032、加法部3035、以及合并预测参数推导部3036而构成。

帧间预测参数解码控制部3031向熵解码部301指示与帧间预测相关联的代码(语法元素)的解码,而提取编码数据所包含的代码(语法元素),例如分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、以及差分矢量mvdLX。

帧间预测参数解码控制部3031首先提取合并标志。帧间预测参数解码控制部3031表示为提取某语法元素的情况是指向熵解码部301指示某语法元素的解码,从编码数据中读出符合的语法元素。在此,在合并标志所指示的值为1、即指示合并预测模式的情况下,帧间预测参数解码控制部3031提取合并索引merge_idx作为合并预测的预测参数。帧间预测参数解码控制部3031将提取的合并索引merge_idx输出至合并预测参数推导部3036。

在合并标志merge_flag为0、即指示AMVP预测模式的情况下,帧间预测参数解码控制部3031使用熵解码部301从编码数据中提取AMVP预测参数。作为AMVP预测参数,例如有帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、以及差分矢量mvdLX。帧间预测参数解码控制部3031将从提取出的帧间预测标志inter_pred_idc推导的预测列表利用标志predFlagLX和参照图片索引refIdxLX输出至AMVP预测参数推导部3032以及预测图像生成部308(图5),此外,存储于预测参数存储器307(图5)。帧间预测参数解码控制部3031将提取出的预测矢量索引mvp_LX_idx输出至AMVP预测参数推导部3032。帧间预测参数解码控制部3031将提取出的差分矢量mvdLX输出至加法部3035。

图7是表示本实施方式的合并预测参数推导部3036的构成的概略图。合并预测参数推导部3036具备合并候选推导部30361和合并候选选择部30362。合并候选储存部303611储存从合并候选推导部30361输入的合并候选。需要说明的是,合并候选包含预测列表利用标志predFlagLX、运动矢量mvLX、以及参照图片索引refIdxLX而构成。在合并候选储存部303611中,索引按照规定的规则被分配至所储存的合并候选。

合并候选推导部30361直接使用已经进行了解码处理的相邻块的运动矢量和参照图片索引refIdxLX来推导合并候选。除此之外,也可以使用仿射预测来推导合并候选。以下,对该方法进行详细说明。合并候选推导部30361可以将仿射预测使用于后述的空间合并候选推导处理、时间合并(帧间合并)候选推导处理、组合合并候选推导处理、以及零合并候选推导处理。需要说明的是,仿射预测以子块单元进行,预测参数按子块储存于预测参数存储器307。或者,仿射预测也可以以像素单元进行。

(空间合并候选推导处理)

作为空间合并候选推导处理,合并候选推导部30361按照规定的规则,读出预测参数存储器307所存储的预测参数(预测列表利用标志predFlagLX、运动矢量mvLX、参照图片索引refIdxLX),并将读出的预测参数推导为合并候选。读出的预测参数是位于从解码对象块起预定的范围内的各块(例如,分别与解码对象块的左下端、左上端、右上端相接的块的全部或一部分)的预测参数。由合并候选推导部30361推导的合并候选储存于合并候选储存部303611。

(时间合并候选推导处理)

作为时间合并推导处理,合并候选推导部30361从预测参数存储器307中读出包含解码对象块的右下的坐标的参照图像中的块的预测参数,作为合并候选。参照图像的指定方法例如可以使用在切片标头中指定的参照图片索引refIdxLX,也可以使用与解码对象块相邻的块的参照图片索引refIdxLX中最小的参照图片索引来指定。由合并候选推导部30361推导的合并候选储存于合并候选储存部303611。

(组合合并候选推导处理)

作为组合合并推导处理,合并候选推导部30361通过将已经推导且储存于合并候选储存部303611的两个不同的完成推导的合并候选的矢量和参照图片索引分别作为L0、L1的矢量进行组合,来推导组合合并候选。由合并候选推导部30361推导的合并候选储存于合并候选储存部303611。(零合并候选推导处理)

作为零合并候选推导处理,合并候选推导部30361推导参照图片索引refIdxLX为0且运动矢量mvLX的X成分、Y成分均为0的合并候选。由合并候选推导部30361推导的合并候选储存于合并候选储存部303611。

合并候选选择部30362选择储存于合并候选储存部303611的合并候选中分配有与从帧间预测参数解码控制部3031输入的合并索引merge_idx对应的索引的合并候选作为对象PU的帧间预测参数。合并候选选择部30362将所选择的合并候选存储于预测参数存储器307,并且输出至预测图像生成部308(图5)。

图8是表示本实施方式的AMVP预测参数推导部3032的构成的概略图。AMVP预测参数推导部3032具备矢量候选推导部3033(矢量计算部)和矢量候选选择部3034。矢量候选推导部3033读出预测参数存储器307基于参照图片索引refIdx而存储的矢量(运动矢量或位移矢量),作为预测矢量mvpLX。读出的矢量是位于从解码对象块起预定的范围内的各块(例如,分别与解码对象块的左下端、左上端、右上端相接的块的全部或一部分)的矢量。

矢量候选选择部3034选择矢量候选推导部3033读出的矢量候选中从帧间预测参数解码控制部3031输入的预测矢量索引mvp_LX_idx所指示的矢量候选来做为预测矢量mvpLX。矢量候选选择部3034将所选择的预测矢量mvpLX输出至加法部3035。

AMVP预测参数推导部3032具备矢量候选推导部3033和矢量候选选择部3034。矢量候选储存部30331储存从矢量候选推导部3033输入的矢量候选。需要说明的是,矢量候选包含预测矢量mvpLX而构成。在矢量候选储存部30331中,索引按照规定的规则被分配至所储存的矢量候选。

矢量候选推导部3033使用仿射预测来推导矢量候选。矢量候选推导部3033也可以将仿射预测用于后述的空间矢量候选推导处理、时间矢量(帧间矢量)候选推导处理、组合矢量候选推导处理、以及零矢量候选推导处理。需要说明的是,仿射预测以子块单元进行,预测参数按子块储存于预测参数存储器307。或者,仿射预测也可以以像素单元进行。

图9是表示矢量候选的一个示例的概念图。图9所示的预测矢量列表602是由在矢量候选推导部3033中推导的多个矢量候选形成的列表。在预测矢量列表602中,左右排列成一列的5个长方形分别表示指示预测矢量的区域。从左端起的第二个mvp_LX_idx的正下方的向下的箭头和其下方的mvpLX表示预测矢量索引mvp_LX_idx是在预测参数存储器307中参照矢量mvpLX的索引。

矢量候选基于矢量候选选择部3034所参照的块的矢量而生成。矢量候选选择部3034所参照的块是完成了解码处理的块,也可是从解码对象块起预定的范围的块(例如,相邻块)。需要说明的是,相邻块除了包含与解码对象块空间上相邻的块、例如左块、上块以外,还包含与解码对象块时间上相邻的块,例如从与解码对象块相同位置且显示时刻不同的块中获得的块。

加法部3035将从AMVP预测参数推导部3032输入的预测矢量mvpLX和从帧间预测参数解码控制部3031输入的差分矢量mvdLX相加,推导出运动矢量mvLX。加法部3035将推导出的运动矢量mvLX输出至预测图像生成部308(图5)。

图10是表示本实施方式的帧间预测参数解码控制部3031的构成的概略图。帧间预测参数解码控制部3031包含附加预测标志解码部30311、合并索引解码部30312、矢量候选索引解码部30313、以及未图示的分割模式解码部、合并标志解码部、帧间预测标志解码部、参照图片索引解码部、矢量差分解码部等而构成。分割模式解码部、合并标志解码部、合并索引解码部、帧间预测标志解码部、参照图片索引解码部、矢量候选索引解码部30313、矢量差分解码部分别对分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、差分矢量mvdLX进行解码。(帧间预测图像生成部309)

图11是表示本实施方式的帧间预测图像生成部309的构成的概略图。帧间预测图像生成部309包含运动补偿部3091(预测图像生成装置)和权重预测部3094而构成。

(运动补偿部)

运动补偿部3091基于从帧间预测参数解码部303输入的预测列表利用标志predFlagLX、参照图片索引refIdxLX、运动矢量mvLX,从参照图片存储器306中读出位于以由参照图片索引refIdxLX指定的参照图片的解码对象块的位置作为起点而偏移运动矢量mvLX的位置的块,由此,生成运动补偿图像。在此,在运动矢量mvLX并非整数矢量的情况下,实施被称为运动补偿滤波的用于生成小数位置的像素的滤波,生成运动补偿图像。运动补偿滤波中具有垂直运动补偿滤波(mcFilterVer)以及水平运动补偿滤波(mcFilterHor)。以下,将L0预测的运动补偿图像称为predSamplesL0、将L1预测的运动补偿图像称为predSamplesL1。在不对两者进行区别的情况下称为predSamplesLX。需要说明的是,将在后文对运动补偿部3091的构成例进行说明。

(权重预测部)

权重预测部3094通过将输入的运动位移图像predSamplesLX与权重系数相乘,生成预测图片块P(预测图像)。在参照列表利用标志的一方(predFlagL0或predFlagL1)为1的情况(单预测的情况)下,在不使用权重预测的情况下,进行使所输入的运动位移图像predSamplesLX(LX为L0或L1)与像素位数相一致的下式的处理。

predSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesLX[x][y]+offset1)>>shift1)

在此,shift1=14-bitDepth,offset1=1<<(shift1-1)。

此外,在参照列表利用标志的两者(predFlagL0和predFlagL1)为1的情况(双预测的情况)下,在不使用权重预测的情况下,进行将所输入的运动位移图像predSamplesL0、predSamplesL1平均,并使其与像素位数相一致的下式的处理。

predSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>shift2)

在此,shift2=15-bitDepth,offset2=1<<(shift2-1)。

而且,在单预测的情况下,在进行权重预测的情况下,权重预测部3094从编码数据推导权重预测系数w0和偏移值(offset)o0,并进行下式的处理。

predSamples[x][y]=Clip3(0,(1<<bitDepth)-1,((predSamplesLX[x][y]*w0+2log2WD-1)>>log2WD)+o0)

在此,log2WD是表示规定的移位量的变量。

而且,在双预测的情况下,在进行权重预测的情况下,权重预测部3094从编码数据推导权重预测系数w0、w1、o0、o1,并进行下式的处理。

predSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesL0[x][y]*w0+predSamplesL1[x][y]*w1+((o0+o1+1)<<log2WD))>>(log2WD+1))

(具备梯度变化预测的运动补偿部中的预测模式的切换)

图16是对具备使用了梯度变化(BIO)预测的运动补偿功能的运动补偿部3091推导预测图像的处理的流程进行说明的流程图。在图16中表示出帧间预测参数解码部303对在后述的STEP3中运动补偿部3091是否应用BIO预测来推导预测图像进行判定的处理的流程。

在帧间预测参数解码部303判定为不是双预测模式的情况(在S301中为No,即单预测UniPred)下,前进至S305,运动补偿部3091进行单方向运动补偿。另一方面,在帧间预测参数解码部303判定为是双预测模式的情况(在S301中为Yes,BiPred)下,帧间预测参数解码部303继续进行S302所示的判定。

如果从图片存储器306获得的L0参照图像refImgL0以及L1参照图像refImgL1(在图16中记载为“两个预测块”)是不同的参照图像(在S302中为Yes),则前进至S303,运动补偿部3091进行使用了之后将说明的BIO预测的运动补偿。另一方面,如果从图片存储器306获得的L0参照图像refImgL0以及L1参照图像refImgL1是相同的参照图像(在S302中为No),则前进至S304,运动补偿部3091进行不应用BIO预测的双向运动补偿。

(梯度变化的基本概念)

以下,使用图17对梯度变化(Optical Flow)进行说明。图17是表示推导梯度变化的概念的流程的一个示例的图。

当假设像素值I(x,y,t)在时间间隔Δt之间即使移动Δx和Δy也不产生变化、即像素值不产生变化而仅是其位置产生变化时,图17的算式1成立。

某一点上的像素值的变化如图17的算式2所示,可以分解为梯度变化和时间变化。在此,梯度变化可以表示为像素值I的x方向的偏微分与y方向的偏微分的和,时间变化可以表示为像素值I的t方向的偏微分。

通过上述的算式1以及算式2,推导出图17的算式3。而且,通过将该算式3的两边除以时间间隔Δt,推导出图17的算式4。

在此,如果分别将单位时间变化的x方向(例如水平方向)的位置的变化(Δx/Δt)以及单位时间变化的y方向(例如垂直方向)的位置的变化(Δy/Δt)设为Vx以及Vy,则图17的算式4可以表示为算式5的形式的算式。

该算式5表示在假设为像素值不产生变化而仅是其位置产生变化的情况下,将像素值I的x方向的变化量乘以Vx而得的值、像素值I的y方向的变化量乘以Vy而得的值、以及像素值I的时间变化量相加而得值始终为0。即,在像素值不产生变化的假设中,梯度的变化与时间变化具有相互抵消(均衡)的关系。通过梯度变化的算式,表示出根据像素值I的x方向的变化量、位置的变化Vx(=Δx/Δt)、y方向的变化量、以及位置的变化Vy(=Δx/Δt)的积,可以预测出像素值I的时间变化。在以下的处理的说明中,将像素值I的x方向的变化量称为水平梯度值lx0、lx1,将像素值I的y方向的变化量称为垂直梯度值ly0、ly1,将位置的变化(Vx,Vy)称为校正矢量(u,v)。

(关于BIO预测)

在此,使用图15至图20,对使用了BIO预测的运动补偿进行说明。运动补偿部3091具备进行应用了Bi-directional optical flow(双预测梯度变化:BIO)预测的运动补偿的模式,所述Bi-directional optical flow(双预测梯度变化:BIO)预测对双预测(BiPred)应用梯度校正项来进行运动校正。

即,运动补偿部3091使用以下的预测式

Pred={(P0+P1)+shiftOffset}>>shiftPred(算式A1),

来推导预测图像(作为预测对象的对象图像)的各像素值Pred。需要说明的是,P0是运动补偿图像P0的像素值,P1是运动补偿图像P1的像素值。shiftOffset是移位时进行循环控制(Round control)的常数,shiftPred是移位值。

而且,运动补偿部3091使用以下的预测式

Pred={(P0+P1)+modBIO+shiftOffset}>>shiftPred(算式A2),

来推导预测图像的像素值Pred。需要说明的是,modBIO是通过

modBIO={(lx0-lx1)*u+(ly0-ly1)*v>>1}<<shiftPred(算式A3)

来推导的梯度校正项。在算式A3中,lx0(第一梯度图像)、ly0(第二梯度图像)、lx1(第三梯度图像)、以及ly1(第四梯度图像)分别为梯度图像。梯度图像lx0以及lx1表示沿着水平方向(x方向、第一方向)的梯度,梯度图像ly0以及ly1表示沿着垂直方向(y方向、第二方向)的梯度。此外,u以及v分别是与lx0以及lx1、ly0以及ly1的各像素值相乘的权重系数。

(BIO预测的处理的概要)

首先,使用图15,对运动补偿部3091参照运动补偿图像P0(第一参照图像)、运动补偿图像P1(第二参照图像)、以及梯度校正项生成预测图像(帧间预测图像)的处理的流程进行说明。图15是表示使用了BIO预测的运动补偿中的处理的流程的流程图。

如图15所示,在使用了BIO预测的运动补偿中,运动补偿部3091进行下述的STEP1~STEP3的三阶段的处理,推导预测图像。

STEP1:推导插补/预测像素值

对运动补偿图像P0和P1、梯度图像lx0、lx1、ly0、以及ly1进行推导。运动补偿部3091基于L0参照图像refImgL0(第一参照图像)生成运动补偿图像P0,基于L1参照图像refImgL1(第二参照图像)生成运动补偿图像P1。而且,运动补偿部3091基于L0参照图像refImgL0(第一参照图像)推导L0水平梯度图像lx0以及L0垂直梯度图像ly0,基于L1参照图像refImgL1推导L1垂直梯度图像lx1以及L1垂直梯度图像ly1。需要说明的是,refImgL0、refImgL1、P0、P1、lx0、lx1、ly0、ly1具有表示作为二维信息的参照图像refImgL01[x][y]、refImgL1[x][y]、运动补偿图像P0[x][y]、P1[x][y]、梯度图像lx0[x][y]、lx1[x][y]、ly0[x][y]、ly1[x][y](x、y是具有规定的范围的整数)的情况和表示参照图像值refImgL0、refImgL1、运动补偿图像值P0、P1、梯度值lx0、lx1、ly0、ly1的情况。

STEP2:推导梯度校正权重

其次,运动补偿部3091对校正权重矢量(Vx,Vy)(以下,有时也标记为表示Vx=u、Vy=v的(Vx,Vy))进行推导。运动补偿部3091可以使用图17的算式5推导校正权重矢量(Vx,Vy),也可以如下文所述,使用最小平方法推导。

在使用图17的算式5来推导校正权重矢量(Vx,Vy)的情况下,运动补偿部3091使用多个点上的梯度变化dI/dx(即lx)、dI/dy(即ly)、以及时间变化dI/dt,推导出满足使图17的算式5的左边的平方达到最少的条件的Vx以及Vy即可。

如图18所示,对象图像Cur上的点I的像素值I、L0参照图像refImgL0上的点l0(lx0,ly0)的像素值I0、以及L1参照图像refImgL1上的点l1(lx1,ly1)的像素值I1相对应。需要说明的是,图18中仅示出了点l0的x成分以及点l1的x成分,但点l0的y成分以及点l1的y成分也是同样的。当在对象区域中梯度变化的假设(像素值不产生变化而仅是其位置产生变化)成立时,I=I0=I1成立。当关注作为空间上的像素值的变化量的梯度时,L0参照图像refImgL0上的某一点的像素值I0能够使用另一点的像素值P0与P0上的梯度和I0与P0的距离,根据I0=P0+梯度×距离而进行预测。在此,梯度为(lx0,ly0),IO与P0的距离为(Vx,Vy)。同样地,L0参照图像refImgL0上的某一点的像素值I1也可以使用另一点的像素值P1与P1处的梯度和I1与P1的距离,根据I1=P0+梯度(lx1,ly1)*距离(-Vx,-Vy)而进行推导。而且,对于成为对象图像Cur的目标的点I的像素值,其预测值可以从推导出的像素值I0与像素值I1的平均值或加权平均值中高精度地推导出。根据像素值I0与像素值I1相等的假设,能够通过推导出使I0与I1的差分最小化的参数(Vx,Vy)而推导出距离(Vx,Vy)=校正权重矢量(u,v)。

如果更具体地进行说明,L0参照图像refImgL0上的点l0(lx0,ly0)的像素值I0能够使用L0参照图像refImgL0上的某一运动补偿图像P0的像素值P0、梯度图像的像素值lx0、ly0、校正权重矢量(u,v)(图18的Vx与u对应,未图示的Vy与v对应),通过

l0=P0+{lx0*u+ly0*v}(算式A4)

而获得。

同样地,L1参照图像refImgL1上的点l1(lx1,ly1)的像素值I1能够使用L1参照图像refImgL1上的某一运动补偿图像P1的像素值P1、梯度图像的像素值lx1、ly1、校正权重矢量(u,v),通过

l1=P1-{lx1*u+ly1*v}(算式A5)

而获得。

运动补偿部3091将作为预测对象的图像的对象图像Cur上的点I的像素值I预测为L0参照图像refImgL0上的点l0的像素值l0以及L1参照图像refImgL1上的点l1的像素值l1的平均,即

I=(l0+l1)>>1

={P0+P1+(lx0-lx1)*u+(ly0-ly1)*v}>>1(算式A6)

(与图17的算式1对应)。在此,作为未知数的校正权重矢量的x成分u以及y成分v能够根据像素值不产生变化的假设通过如下的方式推导出。

运动补偿部3091为了推导出校正权重矢量(u,v),对通过假设为L0参照图像refImgL0上的点l0的像素值l0以及L1参照图像refImgL1上的点l1的像素值l1不产生变化时的算式

Σ│l0-l1│2=Σ│(P0-P1)+(lx0+lx1)*u+(ly0+ly1)*v│2(算式A7)

而获得的值达到最小的u以及v进行推导。在此,Σ相当于在作为对象的像素(x,y)以及其周围的点(x+dx,y+dy)(例如dx=-2..2,dy=-2..2)处计算出P0、P1、lx0、ly0、ly0、ly1,并将由它们形成的值相加的运算。需要说明的是,在算式A7中,在设为(P0-P1)=t1、(lx0+lx1)=t2、以及(ly0+ly1)=t3时,通过算式A7而获得的值达到最小的u以及v赋予通过

Σ│l0-l1│2=Σ│t1+t2*u+t3*v│2(算式A8)

获得的值的最小值。

STEP3:推导梯度校正双预测图像。

接着,运动补偿部3091将在STEP2中推导出的校正权重矢量(u,v)代入算式A3,推导梯度校正项modBIO,并利用

Pred=P0+P1+{(lx0-lx1)*u+(ly0-ly1)*v}>>1(算式A9)

来推导预测图像的像素值Pred。需要说明的是,也可以将梯度校正项modBIO减弱至1/2,而如

Pred=(P0+P1+{(lx0-lx1)*u+(ly0-ly1)*v}>>1)>>1(算式A10)那样使用。

接着,对上述的各STEP的处理进行详细的说明。需要说明的是,在此,列举运动补偿部3091推导(生成)运动补偿图像以及梯度图像的情况为示例进行说明,但运动补偿部3091也可以是不推导图像而推导图像所包含的像素值的构成。即,运动补偿部3091也可以推导运动补偿图像的像素值以及梯度图像的像素值。即,各STEP是按各像素进行的独立的运算,所以无论是在某块图像单元中依次进行各STEP,还是在某块像素单元中进行各STEP且只在某块图像上反复进行,都能够获得相同的结果。具体而言,各STEP的处理可以在推导出与某预测块对应的运动补偿图像P0[][]、P1[][]、梯度图像lx0[][]、ly0[][]、lx1[][]、ly1[][]之后,推导梯度校正项(图像),并推导预测图像Pred[][],也可以在推导出与某一点对应的运动补偿像素值P0、P1和梯度图像值lx0、ly0、lx1、ly1之后,对某预测块的各个点进行推导梯度校正项并推导预测像素值Pred的处理。

以下,参照表示运动补偿部3091的构成的图21,对各STEP的详细内容进行说明。

(STEP1的详细内容)

运动补偿部3091(运动补偿推导部309111)基于L0参照图像refImgL0以及L1参照图像refImgL1,推导运动补偿图像P0以及P1(也称为基础运动补偿图像)。而且,运动补偿部3091(梯度推导部309112)对推导出的运动补偿图像P0以及P1推导水平梯度图像lx0以及lx1和垂直梯度图像ly0以及ly1。

运动补偿推导部30911在对参照图像应用了垂直运动补偿滤波(mcFilterVer)之后,接着应用水平运动补偿滤波(mcFilterHor),由此,推导运动补偿图像P0以及P1。

左上块坐标(xPb,yPb)的块内坐标(x,y)的参照图像的整数位置(xInt,yInt)以及相位(xFrac,yFrac)为

xInt=xPb+(mvLX[0]>>2)+x

xFrac=mvLX[0]&3

yInt=yPb+(mvLX[1]>>2)+y

yFrac=mvLX[1]&3(算式A11)。在此,虽然将运动矢量的精度假设为1/4像素精度,但运动矢量精度并不限定于此,也可以是1/8、1/16、…、1/64等。在运动矢量精度为1/Mpel精度的情况下,在(算式A11)中,使用采用log2(M)作为用于推导整数位置xInt、yInt的移位值,采用M-1作为用于推导相位xFrac、yFrac的逻辑和(&)所使用的值的以下的算式即可。

xInt=xPb+(mvLX[0]>>(log2(M)))+x

xFrac=mvLX[0]&(M-1)

yInt=yPb+(mvLX[1]>>(log2(M)))+y

yFrac=mvLX[1]&(M-1)

在滤波系数的位深例如为MC_ACCU的情况下,滤波后图像的位深成为将参照图像的位深bitDepthY与MC_ACCU相加而得的值,即bitDepthY+MC_ACCU。为了使滤波后图像的位深回到参照图像的位深,需要MC_ACCU的右移位作为用于调整动态范围的右移位。在此,在对两个的滤波进行串行预处理的情况下,在第一次的滤波运算的输出中,使用高于bitDepth的中间位深INTERNAL_BIT_DEPTH,而在第二次的滤波运算的输出中,从INTERNAL_BIT_DEPTH回到bitDepth较为适当。此时,用于调整第一次和第二次的滤波的动态范围的移位值shift1、shift2分别设定为以下即可。

shift1=bitDepthY-(INTERNAL_BIT_DEPTH-MC_ACCU)

shift2=MC_ACCU(=6)(算式A12)

在此,分别为bitDepthY表示参照图像的位深,INTERNAL_BIT_DEPTH表示中间位深,MC_ACCU表示运动补偿滤波mcFilter的精度。需要说明的是,MC_ACCU并不限定于6,能够使用3~10等值。

利用垂直运动补偿滤波mcFilterVer,在x=0..BLKW-1、y=0..BLKW-1、k=0..TAP-1、offset1=1<<(shift1-1)时,采用运动补偿滤波的系数mcFilter[][]与参照图像refImg[][]的积和作为通过移位值shift1调整值域(动态范围)而得的值,通过

temp[x][y]=(ΣmcFilterVer[yFrac][k]*refImg[xInt][yInt+k-NTAP/2+1]+offset1)>>shift1

bitDepth(temp[][])=bitDepthY+MC_ACCU-shift1=INTERNAL_BIT_DEPTH(=14)

(算式A13)

推导出用作中间数据的临时的图像temp[][]。在此,bitDepth(temp[][])表示临时的图像temp[][]的位深。临时的图像temp[][]的位深成为从参照图像的位深bitDepthY与运动补偿滤波的精度MC_ACCU的和中减去滤波处理时的右移位值shift1而得的值。在此,将该值称为中间位深INTERNAL_BITDEPTH。

另一方面,利用水平运动补偿滤波mcFilterHor,在x=0..BLKW-1、y=0..BLKW-1、k=0..TAP-1、offset2=1<<(shift2-1)时,采用由运动补偿滤波的系数mcFilter[][]与垂直运动补偿滤波mcFilterVer推导出的临时的图像temp[][]的积和作为通过移位值shift2调整值域而得的值,通过

PX[x][y]=(ΣmcFilterHor[xFrac][k]*temp[x+k-NTAP/2+1][y]+offset2)>>shift2

bitDepth(PX[][])=INTERNAL_BITDEPTH+MC_ACCU-shift2=INTERNAL_BIT_DEPTH

(算式A14)

推导出运动补偿图像PX[][](PX为P0或P1)。作为在该处理中利用的8抽头的运动补偿滤波mcFilterVer、mcFilterHor的具体例,在图19(a)中示出运动补偿滤波mcFilter[nFrac][pos](nFrac=0..3,pos=0..7)。NPHASES表示相位的个数,NTAPS表示抽头数。图19(a)所示的运动补偿滤波mcFilter[][]所包含的{0,0,0,64,0,0,0,0}与nFrac=0、{-1,4,-10,58,17,-5,1,0}与nFrac=1、{-1,4,-11,40,40,-11,4,-1}与yFrac=2、{0,1,-5,17,58,-10,4,-1}与nFrac=3分别对应。在此,nFrac与xFrac或yFra对应。

接着,对梯度推导部309112推导水平梯度图像lx0以及lx1的情况进行说明。

左上块坐标(xPb,yPb)的块内坐标(x,y)的参照图像的整数位置(xInt,yInt)以及相位(xFrac,yFrac)能够通过上述的算式A11而获得。然后,运动补偿部3091利用上述的算式A12推导水平梯度图像lx0以及lx1。

在此,利用垂直运动补偿滤波mcFilterVer,在x=0..BLKW-1、y=0..BLKW-1、k=0..TAP-1、offset1=1<<(shift1-1)时,通过上述的算式A13推导出临时的图像temp[][]。

另一方面,利用水平梯度补偿滤波gradFilterHor,在x=0..BLKW-1、y=0..BLKW-1、k=0..TAP-1、offset2=1<<(shift2-1)时,采用由梯度滤波的系数gradFilter[][]与垂直运动补偿滤波mcFilterVer推导出的临时的图像temp[][]的积和作为通过移位值shift2调整值域而得的值,通过

lxX[x][y]=(ΣgradFilter[xFrac][k]*temp[x+k-NTAP/2+1][y]+offset2)>>shift2

bitDepth(lxX[][])=INTERNAL_BITDEPTH+GRAD_ACCU-shift2=INTERNAL_BIT_DEPT H(算式A15)

推导出水平梯度图像lxX[][](lxX为lx0或lx1)。在此,bitDepth(PX[][])表示滤波处理图像temp[][]的位深。滤波处理图像temp[][]的位深成为从参照图像的位深bitDepthY与运动补偿滤波的精度MC_ACCU的和中减去滤波处理时的右移位值shift1而得的值。在此,将临时的滤波处理图像的位深称为INTERNAL_BIT_DEPTH。GRAD_ACCU表示梯度补偿滤波gradFilter的精度。作为如此设定的8抽头的梯度补偿滤波gradFilter的具体例,在图19(b)中示出梯度补偿滤波gradFilter[NPHASES][NTAPS]。

接着,对梯度推导部309112推导垂直梯度图像ly0以及ly1的情况进行说明。

梯度推导部309112在参照L0参照图像refImgL0以及L1参照图像refImgL1而应用了垂直梯度补偿滤波(gradFilterVer)之后,接着应用水平运动补偿滤波(mcFilterHor),由此,推导垂直梯度图像ly0以及ly1。

左上块坐标(xPb,yPb)的块内坐标(x,y)的参照图像的整数位置(xInt,yInt)以及相位(xFrac,yFrac)能够通过上述的算式A11而获得。然后,运动补偿部3091使用上述的算式A12推导垂直梯度图像ly0以及ly1。

在此,利用垂直梯度补偿滤波gradFilterVer,在x=0..BLKW-1、y=0..BLKW-1、i=0..TAP-1、offset1=1<<(shift1-1)时,采用运动补偿滤波的系数mcFilter[][]与参照图像refImg[][]的积和作为通过移位值shift1调整值域而得的值,通过

temp[x][y]=(ΣgradFilter[yFrac][i]*refImg[xInt][yInt+i-NTAP/2+1]+offset1)>>shift1

bitDepth(temp[][])=bitDepthY+GRAD_ACCU-shift1=INTERNAL_BITDEPTH(=14)(算式A16)

推导出临时的图像temp[][]。

另一方面,利用水平运动补偿滤波fracFilterHor,在x=0..BLKW-1、y=0..BLKW-1、i=0..TAP-1、offset2=1<<(shift2-1)时,采用由运动补偿滤波的系数mcFilter[][]与垂直运动补偿滤波mcFilterVer推导出的临时的图像temp[][]的积和作为通过移位值shift2调整值域而得的值,通过

lxX[x][y]=(ΣfracFilterHor[xFrac][i]*temp[x+i-NTAP/2+1][y]+offset2)>>shift2

bitDepth(PX[][])=INTERNAL_BIT_DEPTH+GRAD_ACCU-shift2=INTERNAL_BIT_DEPT H(算式A17)

推导出垂直梯度图像lyX[][](lyX为ly0或ly1)。

(STEP2的详细内容)

梯度校正系数部30912也可以利用最小平方法来推导通过上述的算式A7或算式A8获得的值达到最小的校正权重矢量(u,v)。对此,使用图20进行说明。图20是对使用最小平方法来推导校正权重矢量(u,v)的方法进行说明的图。

梯度积推导部309121对中间参数s1~s6(梯度积)进行推导。当以行列式表示图20(a)的算式6(上述的算式A8)时,可以表示为算式7那样。接着,如果将中间参数s1~s6(以下,有时也称为“梯度积s1”等)设为

s1=Σ(t2*t2)

s2=s4=Σ(t2*t3)

s3=Σ(-t1*t2)

s5=Σ(t3*t3)

s6=Σ(-t1*t3)(算式A18)

则算式7能够简略化为算式8那样。如果对于u以及v求解该算式8,则能够如算式9所示那样推导校正权重矢量(u,v)。在此,如果设为det=s1s5-s2s4、det1=s3s5-s2s6、det2=s1s6-s3s4,则能够标记为校正权重矢量(u,v)=(det1/det,det2/det)。

需要说明的是,由于t1=(P0-P1)=t1、t2=(lx0+lx1)=t2、以及t3=(ly0+ly1),因此中间参数s1~s6分别为以用如图20(b)所示的算式表示的值。

梯度校正系数推导部309122也可以采用使用s1至s6来推导校正权重矢量u,v的如以下所说明那样的简易解决方案,来推导校正权重矢量(u,v)。根据图20(a)所示的算式8的行列式以及s4=s2,可以获得

s1*u+s2*v=s3

s2*u+s5*v=s6(算式A19)。

在此,当假设s2*v=0时,从上述的算式求出校正权重矢量(u,v)为

u=s3/s1

v=(s6-s2*u)/s5(算式A20)。

此外,梯度校正系数推导部309122也可以例如使用使u左移位shiftBIO位的整数值uh(即,uh=u<<shiftBIO)、使v左移位shiftBIO位的整数值vh(即,vh=v<<shiftBIO)代替实际上需要小数点精度的运算的校正权重矢量(u,v),来进行整数运算。在shiftBIO=5的情况下成为1/32的精度。需要说明的是,上述uh并非是在推导出小数精度精度的值u之后左移位规定数shiftBIO来推导整数精度而得的值,而是直接以整数运算直接推导相当于u<<shiftBIO的大小的uh。因此,求出uh以及vh分别为

uh=(s3<<5)/s1

vh=((s6<<5)-s2*uh)/s5(算式A21)。

也可以通过算式

v=s6/s5

u=(s3-s2*v)/s1(算式A22)

来推导。

需要说明的是,在推导图20(b)所示的中间参数s1~s6的情况下,梯度校正系数推导部309122也可以进一步插入发挥使前述的梯度校正项modBIO的值接近0的效果的正规化项regcost(正规化成本)。即,梯度校正系数推导部309122也可以导入正规化项regcost,而将中间参数s1以及s5推导为

s1=s1+regcost

s5=s5+regcost(算式A23)。在此,正规化项regcost也可以例如推导为

regcost=(1<<2*INTERNAL_BIT_DEPTH)>>regshiftBIO(=5)。

运动补偿部3091也可以推导使u以及v分别左移位整数运算用的shiftBIO而得的值uh以及vh,即

uh=(s3<<shiftBIO)/s1

vh=(s6<<shiftBIO)-s2*u/s5(算式A24)

代替校正权重矢量(u,v),来进行整数运算。

在STEP2的最后,梯度校正系数推导部309122在规定的值域(-rangeBIO~rangeBIO)中对uh以及vh进行剪辑(clip)处理。即,梯度校正系数推导部309122进行由算式

rangeBIO=(1<<shiftBIO)*MVTH

uh=clip3(-rangeBIO,rangeBIO,uh)

vh=clip3(-rangeBIO,rangeBIO,vh)(算式A25)

表示的剪辑处理。需要说明的是,MVTH例如为2/3pel。

(STEP3的详细内容)

梯度校正双预测推导部30913将在STEP2中推导出的校正权重矢量(u,v)代入算式A3,推导梯度校正项modBIO,并利用上述的算式A9来推导预测图像的像素值Pred。需要说明的是,也可以将梯度校正项modBIO减弱至1/2,而如上述的算式A10那样使用。

在梯度校正双预测推导部30913所进行的整数运算中,利用上述的算式A2所示的预测式来推导预测图像的像素值Pred。梯度校正双预测推导部30913使用算式

shiftPred=INTERNAL_BIT_DEPTH-bitDepthY+1

modBIO={(lx0-lx1)*uh+(ly0-ly1)*vh}>>shiftBIO2(算式A26)来推导梯度校正项modBIO。需要说明的是,

shiftBIO2=shiftBIO+bitDepth(mcImg)-bitDepth(gradImg)+1(算式A27)。

在此,bitDepth(mcImg)为运动补偿图像的位深,与上述的bitDepth(PX[][])对应。bitDepth(gradImg)为梯度图像的位深,与上述的bitDepth(lxX[][])、bitDepth(lxX[][])对应。因此,如上所述,各位深中,

bitDepth(mcImg)=bitDepth+2*MC_ACCU-(shift1+shift2)

bitDepth(gradImg)=bitDepth+2*(MC_ACCU+GRAD_ACCU)-(shift1+shift2)

(算式A28)

成立。

在运动补偿滤波的精度MV_ACCU与梯度补偿滤波的精度GRAD_ACCU相等的情况下,由于bitDepth(mcImg)=bitDepth(gradImg),因此算式(A27)被简化,而成为

shiftBIO2=shiftBIO+1(算式A29)。

(运动补偿部3091的构成例)

在此,参照图22和图23并使用图21,对进行上述的STEP1以及STEP2的处理的运动补偿部3091的构成进行说明。图21是表示运动补偿部3091的构成的一个示例的框图。图22是表示运动补偿部3091所进行的BIO预测的处理工序的一个示例的流程图。图23是表示图22的S22a的工序的一个示例的流程图。

图21所示的运动补偿部3091(预测图像生成装置、预测图像生成部)具备运动补偿梯度部30911以及梯度校正系数部30912。运动补偿梯度部30911具备运动补偿推导部309111以及梯度推导部309112(第一切换部),另一方面,梯度校正系数部30912具备梯度积推导部309121以及梯度校正系数推导部309122(第二切换部,剪辑部)。

在STEP1中,运动补偿推导部309111从参照图片存储器306中读出用作参照图像的L0参照图像refImgL0[][]以及L1参照图像refImgL1[][],来对运动补偿图像P0以及P1(图22的S11a)进行推导

接着,梯度推导部309112对运动补偿推导部309111推导出的运动补偿图像P0(P0[][])以及P1(P1[][])推导出水平梯度图像lx0(lx0[][])以及lx1(lx1[][])、垂直梯度图像ly0(ly0[][])以及ly1(ly1[][])(图22的S12a)。

作为梯度推导部309112推导梯度图像lx0、lx1、ly0、以及ly1时使用的滤波组(梯度校正滤波(filter)、梯度滤波(filter)、滤波(filter)系数),也可以是对分解能不同的多个滤波组进行切换的构成。例如,运动补偿部3091可以是具备梯度推导部309112(第一切换部)的构成,所述梯度推导部309112(第一切换部)是从规定的滤波组的组(例如高分解能滤波和低分解能滤波)中选择某一滤波组而切换滤波组的构成。

接着,在STEP2中,梯度积推导部309121对上述的中间参数s1~s6(梯度积)进行推导(图22的S21a)。

接着,梯度校正系数推导部309122使用梯度积推导部309121推导出的中间参数s1(s1[][])~s6(s6[][])(梯度积)来推导校正权重矢量(u[][],v[][])的元素u[][]以及v[][](梯度校正系数,在整数运算中为uh[]、vh[][])(图22的S22a)。在此,在图片构成为随机接入(random access)的情况下,梯度校正系数推导部309122假设对象图像Cur与L0参照图像refImgL0的距离(T0)(图片间距离)等于对象图像Cur与L1参照图像refImgL1的距离(T1)(图片间距离)。

最后,在STEP3中,梯度校正双预测推导部30913使用在STEP2中推导出的校正权重矢量(u,v)作为与运动位移图像predSamplesLX相乘的权重系数(算式A3,参照算式A26),来推导梯度校正项modBIO[][](图22的S31a)。然后,梯度校正双预测推导部30913对梯度校正双预测图像(预测图像,完成校正的预测图像)的像素值Pred进行推导(图22的S32a)。

此外,如果使用图23来说明图22的S22a的处理的改进例,则如下所述。梯度校正系数推导部309122将正规化项regcost与梯度积推导部309121推导出的中间参数s1~s6(梯度积)相加(S221a)。接着,梯度校正系数推导部309122推导出使u以及v分别左移位整数运算用的shiftBIO而得的值uh以及vh(梯度校正系数),来代替校正权重矢量(u,v)(S222a)。然后,梯度校正系数推导部309122(剪辑部)进行剪辑处理,用以将推导出的梯度校正系数uh以及vh(各权重系数)制约于规定的值域(S223a)。

需要说明的是,图22的工序并不限定于此,如图25以及图26所示,S22a也可以是包括按块来推导中间参数s1~s6(梯度积)的工序S220a、或包括对梯度校正系数uh以及vh(各权重系数)应用滤波的工序S225a的处理。需要说明的是,通过图25以及图26所示的处理的流程来推导梯度校正系数uh以及vh(各权重系数)的示例将在后文进行说明。

(运动补偿部3091的其它构成例)

需要说明的是,在图21所示的运动补偿部3091的构成中,使用梯度积推导部309121推导出的中间参数s1(s1[][])~s6(s6[][])(梯度积)也推导校正权重矢量(u[][],v[][])的元素u[][]以及v[][](梯度校正系数)(STEP3),但并不限定于此。

例如,如图24所示,运动补偿部3091所具备的梯度校正双预测推导部30913也可以是进一步具备帧间距离权重推导部309131的构成。帧间距离权重推导部309131也可以是如下的构成:从帧间预测参数解码部303中获得对象图像Cur与参照图像P0的图片间隔T0(第一图片间隔)以及该对象图像Cur与参照图像P1的图片间隔T1(第二图片间隔),并使用这些来推导梯度校正项modBIO[][](参照后述的算式A40、算式A44等),从而推导梯度校正双预测图像(预测图像)的像素值Pred。需要说明的是,帧间距离权重推导部309131设为梯度双预测推导部30913的一部分,但也可以是设为其它单元的一部分的构成。

(STEP1:梯度图像的生成)

梯度推导部309112对运动补偿图像P0以及P1推导水平梯度图像lx0以及lx1和垂直梯度图像ly0以及ly1。在推导梯度图像lx0、lx1、ly0、以及ly1时,作为梯度推导部309112所使用的梯度补偿滤波(gradFilter),也可以是具备多个滤波组、例如高分解能滤波组以及低分解能滤波组的构成。需要说明的是,滤波组是指相位nFrac、位置pos的滤波系数gradFilter[nFrac][pos](在此,nFrac=0..M-1,pos=0..NTAPS-1)。需要说明的是,也可以将滤波系数的集合(滤波组)简称为滤波系数。

高分解能滤波是指用于推导相对陡峭的梯度的滤波,由于像素值的小变化的影响较大,因此对噪音较为敏感。大体来说,推导1像素单元的像素值的差分的滤波系数[1-1]/2与之相当。低分解能滤波是指推导出相对平缓的梯度变化的滤波,对噪音的耐受性相对较强。大体来说,推导2像素单元的差分的滤波系数[1,1,-1,-1]/4与之相当。

梯度变化(optical flow)基于某一点的梯度在规定的范围内固定的假设。该假设在像素位置的校正矢量(u,v)小于1像素的情况下相对成立。就是说,在校正像素位置的距离小于1像素的距离时,梯度固定的假设成立。但是,在校正矢量例如变大为2~3像素等时,梯度固定的假设不成立。高分解能滤波例如能够推导像素单元的陡峭的梯度,因此梯度固定的假设成立,在像素位置的校正矢量(u,v)小于1像素的范围内有效。另外,仔细来看,在小于1像素的距离下,即使是梯度固定的假设不成立的情况,当对整体上平缓的变化(并非从具有锯齿状的变化的曲线,而是从施加了低通滤波后的曲线中推导梯度那样的假设)进行观察时,梯度固定的假设也成立。低分解滤波用于推导这种相对平缓的变化,可以认为比高分解滤波对像素位置的校正矢量(u,v)例如超过1像素那样的情况更有效。

在此,低分解能滤波组可以是高分解能滤波与低通滤波的卷积,高分解能滤波组也可以是高通滤波。需要说明的是,也可以导入在对运动补偿图像P0以及P1应用高斯滤波之后继续应用规定的梯度滤波的方法,代替低分解能滤波。需要说明的是,对运动补偿图像P0以及P1应用拉普拉斯滤波之后应用的梯度补偿滤波理想为高分解能滤波。

梯度推导部309112切换的多个滤波组在分解能的不同上,具有下述的关系。在某一滤波组A与滤波组B之间,滤波组A(例如高分解能滤波)的分割能比滤波组B高是指在参照滤波组所具备的滤波系数的曲线图的情况下,滤波组A的曲线图比滤波组B陡峭,滤波组B的曲线图比滤波组A平缓的情况。具体而言,是指滤波组A与滤波组B的滤波系数满足以下的关系中的任一个的情况。

·对于滤波系数的绝对值│gradFilter[nFrac][pos]│的值,滤波组A(高分解能滤波组)大于滤波组B(低分解能滤波组)。即,滤波组A(高分解能滤波组)的滤波系数的最大值为滤波组B(低分解能滤波)组的滤波系数的最大值以上(关系R1)。

或者,

·对于在gradFilter[nFrac][pos]中相邻的滤波系数差分的绝对值|gradFilter[nFrac][pos]-gradFilter[nFrac][pos+1]|的最大值,滤波组A(高分解能滤波组)小于滤波组B(低分解能滤波组)(关系R2)。

·在与中心的相位nFracC(在1/M像素精度滤波的情况下,nFracC=M/2)对应的滤波系数gradFilter[nFracC][pos]中,在参照了中心位置posC(posC=TAP/2)的滤波系数gradFilter[n][posC]和与中心位置pos相邻的posC+1的滤波系数gradFilter[n][posC+1]的情况下,具有在滤波组A(高分解能滤波组)中两个滤波系数的代码相互不同,在滤波组B(低分解能滤波组)中两个滤波系数的代码相互相等的关系(关系R3)。

·在对gradFilter[nFrac][pos]进行了频率变换的情况下,滤波组A的高频率成分的量大于滤波组B的高频率成分的量(关系R4)。

例如,参照图27,由于为1/4像素精度(M=4)且8抽头滤波(TAP=8),因此,中心的相位nFracC=2,中心位置posC=4。此时,如果提取中心相位nFracC中的滤波组A的示例filter1的滤波系数和滤波组B的示例filter2的滤波系数,则如下所述。

{0,-1,4,-57,57,-4,1,0}>>4滤波组A(filter1)

{-1,2,-50,-53,53,50,-2,1}>>5滤波组B(filter2)

以下,简单地示出在上述例的滤波中关系R1~R3成立的情况。

(关系R1测试)滤波系数的绝对值│gradFilter[nFrac][pos]│在滤波组A中为57>>4,在滤波组B中为53>>5,因此关系R1成立。

(关系R2测试)滤波系数差分的最大值在滤波组A中为(57-(-57))>>4,在滤波组B中为(53-(-53))>>5,因此关系R2成立。

(关系R3测试)当对中心位置nPosC与相邻位置nPOC+1的值进行观察时,在滤波组A中代码与57,-4不同,在滤波组B中代码与53,50相等。因此,关系R3成立。

需要说明的是,作为滤波系数gradFilter[nFrac][pos],在以整数运算进行滤波运算的情况下,就是说,在滤波系数为使实数的滤波系数的值左移位滤波精度GRAD_ACCU而得的值的情况下,实数值的滤波系数的大小为使整数值的滤波系数gradFilter[nFrac][pos]右移位滤波精度GRAD_ACCU而得的值。该情况下,在上述关系(关系R1、关系R2)的判定中,在通过用滤波系数的值除以1>>GRAD_ACCU而改为实数值之后再进行判定。

例如,考虑到滤波系数的精度,使用将“滤波系数的绝对值│gradFilter[nFrac][pos]│”替换为“│gradFilter[nFrac][pos]│>>GRAD_ACCU”而得的值。此外,优选使用将“滤波系数差分的绝对值|gradFilter[nFrac][pos]-gradFilter[nFrac][pos+1]│”替换为“滤波系数差分的绝对值│gradFilter[nFrac][pos]-gradFilter[nFrac][pos+1]│>>GRAD_ACCU”而得的值。也可以用整体上左移位滤波组A和滤波组B的精度GRAD_ACCU_A+GRAD_ACCU_B而得的值来进行比较。

在此,在高分解能滤波组与低分解能滤波组的滤波精度相等的情况下,无需特别考虑滤波精度,直接使用上述的关系(关系R1、关系R2)即可。

图27(a)是高分解能滤波组的一个示例,图27(b)是低分解能滤波组的一个示例。在此,示例出滤波精度为4(GRAD_ACCU=4)的高分解能滤波组(filter1)以及滤波精度为5(GRAD_ACCU=5)的低分解能滤波组(filter2)。需要说明的是,图27(b)的低分解能滤波组是通过高分解能滤波组与低通滤波([121]滤波)的卷积而推导出的。

图28是用曲线图表示出位置pos相对于图27所示的高分解能滤波组(在图中为filter1)和低分解能滤波组(在图中为filter2)的各相位nFrac(nFrac为xFrac或yFrac)的滤波系数gardFitler[nFrac][pos]的值的图。图28(a)至图28(d)分别与相位nFrac=0、nFrac=1、nFrac=2、nFrac=3对应。曲线图的横轴与位置pos对应,用1…8的值表示pos=0…7的8个pos。可知,与高分解能滤波组相比,在低分解能滤波组中有达到极大或极小的值的绝对值变得更小的趋势。

需要说明的是,在此,将梯度推导部309112进行切换的滤波组称为“高分解能滤波组”和“低分解能滤波组”而进行了说明,但该名称并不特别限定。即,运动补偿部3091也可以如图27所示,是具备相互不同的至少两个滤波组(例如,图27filter1以及filter2),且梯度推导部309112适当地对滤波组1(filter1)和滤波组2(filter2)进行切换的构成。以下,将梯度推导部309112进行切换的滤波组称为“滤波组1”和“滤波组2”来进行说明。此外,也可以不称为滤波组,而称为滤波系数,例如“滤波系数1”和“滤波系数2”。

需要说明的是,也可以是对三个以上的滤波组、例如高分解能滤波组、中分解能滤波组、低分解能滤波组进行切换的构成。

需要说明的是,以下,在基于参数X的大小来切换滤波组的情况下,通过比较对X和规定的阈值进行分类,但也可以通过除法、移位、表格参照等,从参数X中直接推导用于标识的索引idx。例如,如下所述那样,通过除法、移位运算进行推导的方法较为适当。

idx=X/TH

idx=X>>shiftTH

需要说明的是,TH、shiftTH是用于推导索引idx的规定的常数。

而且,为了实现非等间隔的分类,也可以使用从移位值等临时变量中推导索引的表格idxTransTbl[],如下所述那样进行推导。

idx=idxTransTbl[X/TH]

idx=idxTransTbl[X>>shiftTH]

作为idxTransTbl,例如,可以利用如下所述那样的表格。

idxTransTbl=[0,1,2,2,3,3,4,4,4,4]

而且,也可以是基于推导出的索引idx并参照表格而求出滤波组的方法。

例如X中使用有分辨率(尺寸)、块尺寸、帧速率、运动矢量、图片间隔、量化步长(量化参数)、或它们的组合等。分辨率(尺寸)、块尺寸可以从宽度与高度的积(width*height)或和(width+height)中推导。(STEP1:依存分辨率时的滤波组切换)

在运动补偿图像P0以及P1的分辨率较高的情况下,运动矢量的长度有整体变长的趋势,因此,在这种条件下,优选应用能够捕捉相对较宽的范围内的梯度的滤波组2(例如,低分解能滤波组)。

梯度推导部309112也可以是根据运动补偿图像P0以及P1的分辨率来切换梯度补偿滤波gradFilter的构成。具体而言,梯度推导部309112也可以是使用分辨率越大分解能变得越低那样的滤波组来推导梯度图像(lx0,lx1,ly0,ly1)的构成。图29是表示依存分辨率时的切换滤波组(滤波系数)的处理的流程的一个示例的流程图。

如图29所示,例如,梯度推导部309112也可以在运动补偿图像P0以及P1的分辨率(尺寸)为规定的阈值TH以上(例如,1920×1080以上)的情况下,应用滤波组2(滤波系数2),在分辨率低于规定的阈值TH(例如,小于1920×1080)的情况下,应用滤波组1(滤波系数1)。(STEP1:依存块尺寸时的滤波组切换)

在分割包含对象像素的预测块或预测块而成的子块的块尺寸较大的情况下,运动矢量的长度有整体变长的趋势,因此,在这种条件下,优选应用能够捕捉相对较宽的范围内的梯度的滤波组2(例如,低分解能滤波组)。

因此,梯度推导部309112也可以是根据包含成为推导梯度图像的对象的像素、即对象像素的块的尺寸来切换梯度补偿滤波gradFilter的构成。具体而言,梯度推导部309112也可以是使用块尺寸越大分解能变得越低那样的滤波组来推导梯度图像(lx0,lx1,ly0,ly1)的构成。

例如,梯度推导部309112也可以在包含运动补偿图像P0以及P1所包含的对象像素的块的块尺寸为规定的阈值以上的情况(例如,16×16以上)下,应用滤波组2,在包含该对象像素的块的块尺寸小于规定的阈值的情况(例如,小于16×16)下,应用滤波组1。

(STEP1:依存帧速率时的滤波组切换)

在运动补偿图像P0以及P1的分辨率/帧速率较大的情况下,运动矢量的长度有整体变长的趋势,因此,在这种条件下,优选应用能够捕捉相对较宽的范围内的梯度的滤波组2(例如,低分解能滤波组)。

因此,梯度推导部309112也可以是根据运动补偿图像P0以及P1的帧速率FrameRate来切换梯度补偿滤波gradFilter的构成。具体而言,梯度推导部309112也可以是使用帧速率越小分解能变得越低那样的滤波组来推导梯度图像(lx0,lx1,ly0,ly1)的构成。

例如,梯度推导部309112也可以在帧速率为规定的阈值以下的情况(例如,FrameRate<=TH,TH=60)下,应用滤波组2,在帧速率大于规定的阈值的情况(例如,FrameRate>TH)下,应用滤波组1。

或者,梯度推导部309112也可以在运动补偿图像P0以及P1的分辨率/帧速率大于规定的阈值的情况(例如,Width/FrameRate>TH,TH=1920/60=32)下,应用滤波组2,在分辨率/帧速率为规定的阈值以下的情况(例如,Width/FrameRate<=TH)下,应用滤波组1。

(STEP1:依存运动矢量时的滤波组切换)

在与相邻块的运动矢量MV的差分(以及运动矢量mvLX)较大的情况下,对象块内的运动的变化也有相对较大的趋势。因此,在这种条件下,优选应用能够捕捉相对较宽的范围内的梯度的滤波组2(例如,低分解能滤波组)。

因此,梯度推导部309112也可以是根据对象块的运动矢量MV(运动矢量,mvLX)与该对象块的预测矢量PMV(预测运动矢量,mvpLX)的差来切换梯度补偿滤波gradFilter的构成。具体而言,梯度推导部309112也可以是使用差分矢量DMV、运动矢量mvLX、预测矢量mvpLX越大分解能变得越低那样的滤波组来推导梯度图像(lx0,lx1,ly0,ly1)的构成。

例如,梯度推导部309112也可以在差分矢量DMV为规定的阈值以上的情况下,应用滤波组2,在差分矢量DMV小于规定的阈值的情况下,应用滤波组1。

在此,“对象块的运动矢量MV与该对象块的预测矢量PMV(预测运动矢量)的差”可以是差分矢量DMV(mvdLX),也可以是通过

absDMV=│MVx-PMVx│+│MVy-PMVy│

的算式获得的差分矢量绝对值absDMV。

此外,作为预测矢量PMV,可以是共位(collocate)运动矢量(即,与前一图片相同位置的运动矢量),也可以是左块的运动矢量或上块的运动矢量。

需要说明的是,梯度推导部309112也可以是根据“对象块的运动矢量mvLX”代替“与相邻块的运动矢量MV的差分”来切换梯度补偿滤波gradFilter的构成。

(STEP1:依存图片间距离时的滤波组切换)

在图片间距离(在上述的示例中为deltaPOC)较大的情况下,运动矢量的长度有整体变长的趋势,因此,在这种条件下,优选应用能够捕捉相对较宽的范围内的梯度的滤波组2(例如,低分解能滤波组)。

因此,梯度推导部309112也可以是根据包含对象块的对象图像Cur与运动补偿图像P0和P1(或者L0参照图像refImgL0和L1参照图像refImgL1)中的至少任意一个之间的图片间距离来切换滤波组的构成。具体而言,梯度推导部309112也可以是使用图片间距离越大分解能变得越低那样的滤波组来推导梯度图像(lx0,lx1,ly0,ly1)的构成。

例如,梯度推导部309112也可以在图片间距离为规定的阈值以上的情况下,应用滤波组2,在图片间距离小于规定的阈值的情况下,应用滤波组1。

在此,梯度推导部309112可以从包含对象块的对象图像Cur的图片顺序号POC(POC_curr)、L0参照图像refImgL0的图片顺序号POC(POC_l0)、以及L1参照图像refImgL1的图片顺序号POC(POC_11)中推导出,该情况下,图片间距离根据算式

deltaPOC=│POC_l0-POC_curr│+│POC_l1-POC_curr│//平均以及总计

deltaPOC=max(│POC_l0-POC_curr│,│POC_l1-POC_curr│)//最大值

被推导为deltaPOC。

(STEP1:依存量化步长时的滤波组切换)

在作为对象图像Cur的生成对象的对象块的量化步长较大的情况下,可认为微细区域中的变化的可靠性较低。在这种条件下,优选应用能够捕捉相对较宽的范围内的梯度的滤波组2(例如,低分解能滤波组)。需要说明的是,通常量化参数越大量化步长变得越大,因此,也可以将以下的量化步长替换为量化参数而应用。

因此,梯度推导部309112根据运动补偿图像P0(或者L0参照图像refImgL0)的量化步长来切换作用于运动补偿图像P0的滤波组,并根据运动补偿图像P1(或者L1参照图像refImgL1)的量化步长来切换作用于运动补偿图像P1的滤波组。具体而言,梯度推导部309112也可以是使用量化步长越大分解能变得越低那样的滤波组来推导梯度图像(lx0,lx1,ly0,ly1)的构成。

而且,也可以根据对象图像Cur的对象块的量化系数来切换滤波组。

即,梯度推导部309112也可以是根据量化系数或量化步长来切换滤波组的构成。

例如,梯度推导部309112也可以在量化步长为规定的阈值以上的情况下,应用滤波组2,在量化步长小于规定的阈值的情况下,应用滤波组1。(STEP1:参照了标志的滤波组切换)

梯度推导部309112也可以是参照作为明确表示出的信令的标志来切换滤波组的构成。

例如,熵编码部104在切片标头SH以及图片参数集PPS中对所使用的滤波组的滤波组索引进行编码。梯度推导部309112也可以是基于从切片标头SH以及图片参数集PPS解码的滤波组索引来切换滤波组的构成。(STEP2:依存于对象图像与参照图像的距离的梯度校正)

在图片构成为随机接入的情况下,运动补偿部3091假设对象图像Cur与参照图像P0(第一参照图像)的距离(T0)等于对象图像Cur与参照图像P1(第二参照图像)的距离(T1),但与图片构成为LowDelayB的情况同样地,运动补偿部3091也可以依存于图18所示的对象图像Cur与参照图像P0的距离(T0)、对象图像Cur与参照图像P1的距离(T1)来推导校正权重矢量(u,v)。然而,即使仅考虑对象图像Cur与参照图像P0的距离(T0)和对象图像Cur与参照图像P1的距离(T1),运动补偿处理的性能也未必提高。

因此,运动补偿部3091也可以使用依存于图片间隔(图片间距离)的权重系数来进行运动补偿处理。

运动补偿部3091(帧间距离权重推导部309131)通过下述算式来推导T0、T1。

TO=POC_L0-POC_Curr

T1=POC_curr-POC_L1

需要说明的是,T0、T1的推导也可以是以下的算式。

T0=POC_curr-POC_L0

T1=POC_L1-POC_Curr

具体而言,梯度积推导部309121对通过

Σ│l0-l1│2=Σ│(P0-P1)+(TO*lx0+T1*lx1)*u+(TO*ly0+T1*ly1)*v│2(算式A30)

获得的值达到最小的u以及v进行推导(与上述算式A7对应)。为了推导那样的u以及v,梯度积推导部309121对满足

s1=Σ(T0*lx0+T1*lx1)2

s2=s4=Σ(T0*lx0+T1*lx1)(T0*ly0+T1*ly1)

s3=-Σ(P0+P1)*(T0*lx0+T1*lx1)

s5=Σ(T0*ly0+T1*ly1)2

s6=-Σ(P0-P1)*(T0*ly0+T1*ly1)(算式A31)

的中间参数s1(s1[][])~s6(s6[][])进行推导(与上述算式A18对应)。需要说明的是,算式A31相当于将考虑了图片间隔而推导的t1=(P0-P1)、t2=(T0*lx0+T1*lx1)、以及t3=(T0*ly0+T1*ly1)应用于算式A18的情况。

在此,作为预测对象的图像的对象图像Cur上的点I的像素值I的预测式可以根据L0参照图像refImgL0上的点l0的像素值l0以及L1参照图像refImgL1上的点l1的像素值l1,表示为

I=(l0+l1)>>1

={P0+P1+(T0*lx0+T1*lx1)*u+(T0*ly0+T1*ly1)*v}>>1

(算式A32)

(与上述算式A6对应)。

此外,梯度双预测推导部30913导入对应于对象图像Cur与参照图像P0的图片间隔T0(第一图片间隔)的第一权重系数、以及对应于该对象图像Cur与参照图像P1的图片间隔T1(第二图片间隔)的第二权重系数来推导梯度校正项modBIO[][]。即,梯度双预测推导部30913使用上述的算式A2的预测式来推导预测图像的像素值Pred。需要说明的是,在算式A2中,

shiftPred=INTERNAL_BIT_DEPTH-bitDepthY+1,

modBIO是通过

modBIO={(T0*lx0-T1*lx1)*uh+(T0*ly0-T1*ly1)*vh}>>shiftBIO2(算式A33)

推导的梯度校正项(与上述算式A26对应)。

即,梯度双预测推导部30913是参照水平梯度图像lx0以及lx1、垂直梯度图像ly0以及ly1的各像素值来推导梯度校正项modBIO的,也可以根据对象图像Cur与参照图像P0的图片间隔T0、以及该对象图像Cur与参照图像P1的图片间隔T1来确定。在此,也可以将图片间隔T0以及T1称为与水平梯度图像lx0以及lx1、垂直梯度图像ly0以及ly1的各像素值相乘的各权重系数。

(STEP2:依存于对象图像与参照图像的距离的梯度校正)

梯度积推导部309121也可以导入对应于对象图像Cur与参照图像P0的图片间隔T0的第一权重系数W0以及对应于该对象图像Cur与参照图像P1的图片间隔T1的第二权重系数W1来推导预测图像的像素值Pred。即,也可以将参照图像P0的各像素的像素值与第一权重系数W1相乘,将参照图像P1的各像素的像素值与第二权重系数相乘,而考虑时间权重shiftWeight地推导预测图像的像素值Pred。

该情况下的预测式成为

Pred={(W0*P0+W1*P1)+modBIO+shiftOffset}>>shiftWeightPred

(算式34)

(与上述算式A2对应)。梯度积推导部309121使用该预测式来推导预测图像的像素值Pred。需要说明的是,modBIO是通过

modBIO={(lx0-lx1)*uh+(ly0-ly1)*vh}>>(shiftBIO2+shiftWeight)

(算式A35)

推导的梯度校正项(与上述算式A26对应)。在此,考虑了时间权重的预测图像的像素值shiftWeightPred通过

shiftWeightPred=shiftPred+shiftWeight

获得,时间权重shiftWeight例如为8。

梯度积推导部309121也可以将第一权重系数W0以及第二权重系数W1推导为

W0=(T1<<shiftWeight)/│T0+T1│

W1=(1<<shiftWeight)-W0(算式A36)

W1=(T0<<shiftWeight)/│T0+T1│

W0=(1<<shiftWeight)-W1(算式A37)。

或者,梯度积推导部309121也可以使用基于表示图片的输出顺序的信息POC的

td=POC(refImgL1)-POC(refImgL0)

tb=POC(currPic)-POC(refImgL0)(算式A38),

将第一权重系数W0以及第二权重系数W1推导为

W0=(1<<shiftWeight)-W1

W1=(tb<<shiftWeight)/td(算式A39)

(与上述算式37对应)。

而且,梯度积推导部309121除了导入对应于对象图像Cur与参照图像P0的图片间隔T0的第一权重系数W0以及对应于该对象图像Cur与参照图像P1的图片间隔T1的第二权重系数W1以外,也可以使用依存于图片间隔的权重系数来进行运动补偿处理。

该情况下的预测式是与上述的算式34相同的算式,帧间距离权重推导部309131使用该预测式来推导预测图像的像素值Pred。需要说明的是,modBIO是通过

modBIO={(T0*lx0-T1*lx1)*uh+(T0*ly0-T1*ly1)*vh>>(shiftBIO2+shiftWeight)(算式A40)

推导的梯度校正项(与上述算式A35对应)。在此,考虑了时间权重的预测图像的像素值shiftWeightPred通过shiftPred+shiftWeight获得,时间权重shiftWeight例如为8。

(STEP2:校正对象图像与参照图像的距离)

或者,梯度积推导部309121在对象图像Cur与参照图像P0的图片间隔T0和该对象图像Cur与参照图像P1的图片间隔T1的比在规定的范围外的情况下,也可以对图片间隔T0和图片间隔T1进行规定的处理,以使图片间隔T0与图片间隔T1的比成为规定的范围,并根据进行过规定的处理的图片间隔T0以及图片间隔T1,确定与梯度图像lx0、lx1、ly0、以及ly1的各像素值相乘的各权重系数。

梯度积推导部309121在使用依存于图片间隔的权重系数来进行梯度校正处理时,例如,在对象图像Cur与参照图像P0的图片间隔T0和该对象图像Cur与参照图像P1的图片间隔T1的比较大的情况(例如,T0:T1=1:5等)下,该权重系数过重,反而恐怕会无法适当地进行运动补偿。

因此,梯度积推导部309121在对象图像Cur与参照图像P0的图片间隔T0和该对象图像Cur与参照图像P1的图片间隔T1的比较大的情况下,也可以以不过分偏离T0:T1=1:1的方式实施规定的处理。

对于梯度积推导部309121所进行的校正(规定的处理),列举针对T0:T1预定的范围(规定的范围)为2:1~1:2的情况为示例进行说明。这种情况下,如果T0:T1=1:5(规定的范围外),则梯度积推导部309121以成为T0:T1的规定的范围内的值(例如,T0:T1=1:2)的方式将图片间隔T1剪辑处理为图片间隔T0的2倍,来确定与梯度图像lx0、lx1、ly0、以及ly1的各像素值相乘的各权重系数,而并非直接使用T0:T1的比的权重系数。

具体而言,在针对T0:T1预定的范围(规定的范围)为2:1~1:2的情况下,在图片间隔T0的绝对值abs(T0)大于图片间隔T1的绝对值abs(T1)的2倍的情况下,梯度积推导部309121将图片间隔T0剪辑处理为2倍。相反地,在图片间隔T1的绝对值abs(T1)大于图片间隔T0的绝对值abs(T0)的2倍的情况下,梯度积推导部309121将图片间隔T1剪辑处理为2倍。即,

·if(abs(T0)>2*abs(T1))T0=sgn(T0)*2*abs(T1)

·if(abs(T1)>2*abs(T0))T1=sgn(T1)*2*abs(T0)

(算式A41)。

或者,在图片间隔T0的绝对值abs(T0)大于图片间隔T1的绝对值abs(T1)的mn/md倍的情况下,梯度积推导部309121将图片间隔T0剪辑处理为mn/md倍。相反地,在图片间隔T1的绝对值abs(T1)大于图片间隔T0的绝对值abs(T0)的mn/md倍的情况下,梯度积推导部309121也可以将图片间隔T1剪辑处理为mn/md倍。即,

·if(md*abs(T0)>mn*abs(T1))T0=sgn(T0)*mn*abs(T1)/md

·if(md*abs(T1)>mn*abs(T0))T1=sgn(T1)*mn*abs(T0)/md

(算式A42)。需要说明的是,sgn(X)是求解X的代码的函数,X在0以上的情况下为1,在小于0的情况下返回-1。

需要说明的是,在md为2的乘幂的情况下,

·if(md*abs(T0)>mn*abs(T1))T0=sgn(T0)*mn*abs(T1)>>log2(md)

·if(md*abs(T1)>mn*abs(T0))T1=sgn(T1)*mn*abs(T0)>>log2(md)

(算式A43)。在此,mn表示分数的分子,md表示分数的分母。作为mn以及md,并不限定于此,可列举mn=2、md=1(2倍),以及mn=3、md=2(1.5倍)等。

(STEP2:表示有无依存于对象图像与参照图像的距离的梯度校正的标志)

梯度积推导部309121也可以根据编码数据所包含的图片间隔依存梯度标志bio_pic_dist(规定的标志),确定是否进行依存于对象图像与参照图像的距离的梯度校正。

即,梯度积推导部309121在图片间隔依存梯度标志bio_pic_dist为1(第一值)的情况下,根据对象图像Cur与参照图像P0的图片间隔T0以及该对象图像Cur与参照图像P1的图片间隔T1确定与梯度图像lx0、lx1、ly0、以及ly1的各像素值相乘的各权重系数。然后,在图片间隔依存梯度标志bio_pic_dist为0(第二值)的情况下,与梯度图像lx0、lx1、ly0、以及ly1的各像素值相乘的各权重系数也可以是相互相等的值。例如,可以设为T0=T1=1。

具体而言,梯度积推导部309121在图片间隔依存梯度标志bio_pic_dist为1(第一值)的情况下,推导满足上述的算式A31的中间参数s1(s1[][])~s6(s6[][])(与上述算式A18对应)。该情况下,modBIO是通过

modBIO={(T0*lx0-T1*lx1)*uh+(T0*ly0-T1*ly1)*vh}>>shiftBIO2(算式A44)

推导出的梯度校正项(与上述算式A33对应)。

另一方面,在图片间隔依存梯度标志bio_pic_dist为0(第二值)的情况下,推导满足图20(b)所示的算式的中间参数s1(s1[][])~s6(s6[][])。该情况下,modBIO是通过上述的算式A26推导出的梯度校正项。

(STEP2:按块确定权重系数)

梯度积推导部309121也可以构成为按块确定与梯度图像lx0、lx1、ly0、以及ly1的各像素值相乘的各权重系数。例如,梯度积推导部309121也可以按固定(例如,4×4等)的块来推导满足上述的算式A31的中间参数s1(s1[][])~s6(s6[][])。

梯度校正系数推导部309122使用推导出的中间参数s1(s1[][])~s6(s6[][])来推导校正权重矢量(u,v)。

这样,如果按块推导中间参数s1(s1[][])~s6(s6[][]),则可以期待中间参数s1(s1[][])~s6(s6[][])中的不均变小、噪音减少的效果。此外,由于能够通过每块(例如,含有16像素的块)一次的运算来进行STEP2的处理,因此也能够减少STEP2的处理所要求的运算量。

梯度积推导部309121除了如上所述那样按块(例如,4×4的块)确定校正权重矢量(u,v)以外,也可以对推导出的校正权重矢量(u,v)应用滤波(例如内插滤波)来推导某一像素的校正权重矢量(u,v)。

例如,某一像素的校正权重矢量(u,v)也可以通过N×N的块单元的校正权重矢量(u,v)的加权平均

u(x,y)=(w00*u(x,y)+w10*u(x+N,y)*w01*u(x,y+N)*w11*u(x+N,y+N))>>n

v(x,y)=(w00*v(x,y)+w10*v(x+N,y)*w01*v(x,y+N)*w11*v(x+N,y+N))>>n算式A45)

来推导。权重例如能够使用以下作为线形预测的权重系数。

n=log2(N)+1

w1x=x&(N-1)

w0x=N-w1

w1y=x&(N-1)

w0y=N-w1

w00=w0x*w0y,w10=w1x*w0y,w01=w0x*w1y,w11=w1x*w1y

此外,在N×N的块单元的校正权重矢量(u,v)按1/N被压缩而储存的情况下,在将其校正矢量设为(u0,v0)时,则也可以通过

u(x,y)=(w00*u0(x,y)+w10*u0(x+1,y)*w01*u0(x,y+1)*w11*u0(x+1,y+N))>>n

v(x,y)=(w00*v0(x,y)+w10*v0(x+1,y)*w01*v0(x,y+1)*w11*v0(x+N,y+1))>>n(算式A46)

来推导。

需要说明的是,上述的算式A45、算式A46使用单一的处理进行二维的加权平均,但也可以采用两阶段的处理。即,也可以通过垂直的加权平均生成临时的图像,并对生成的临时的图像进一步施加水平的加权平均,从而实现二维的加权平均。此外,也可以按照水平、垂直的顺序进行处理。

而且,梯度积推导部309121也可以通过对按块(例如,4×4的块)确定的各校正权重矢量(u,v)(权重系数)应用规定的滤波,来推导每个像素的各校正权重矢量(u,v)。作为规定的滤波的示例,可列举低通滤波(例如平滑化滤波)。

例如,某一像素的校正权重矢量(u,v)被推导为

utemp(x,y)=(u(x,y-1)+2*u(x,y)+u(x,y+1))

u(x,y)=(utemp(x-1,y)+2*utemp(x,y)+utemp(x+1,y))>>4

vtemp(x,y)=(v(x,y-1)+2*v(x,y)+v(x,y+1))

v(x,y)=(vtemp(x-1,y)+2*vtemp(x,y)+vtemp(x+1,y))>>4

(算式A47)。

这样,如果在减少按块推导出的中间参数s1(s1[][])~s6(s6[][])的噪音之后,对按块(例如,4×4的块)确定的各校正权重矢量(u,v)(权重系数)应用规定的滤波,则即使在细微的运动中,也能够进行对应的运动补偿。

(STEP2:适应性的梯度校正系数的剪辑处理)

如前述那样,梯度校正系数推导部309122对与梯度图像lx0、lx1、ly0、以及ly1的各像素值相乘的梯度校正系数uh以及vh(各权重系数)进行剪辑处理。梯度校正系数推导部309122在在STEP1中应用上述的滤波组1的情况和应用上述的滤波组2的情况下,也可以从多个值域的候选中切换对推导出的梯度校正系数uh以及vh进行的剪辑处理的值域(范围)(-rangeBIO~rangeBIO)。此外,也可以是根据参数来推导值域那样的构成。

光流(梯度变化)是基于能够使用一阶微分(即梯度)使局部区域的变化近似的假设的技术。因此,光流(梯度变化)可以说本来是仅能够应用于校正权重矢量(u,v)(以及梯度校正系数uh,vh)较小的情况的技术。因此,在相对较小的范围内,对校正权重矢量(u,v)进行剪辑的处理较为适当。

然而,当在STEP1中应用滤波组2(例如低分解能滤波)时,能够检测相对宽范围中的梯度、即相对较大的校正权重矢量(u,v),因此,在应用滤波组2的情况下,与应用假设检测相对较小的校正权重矢量(u,v)的滤波组1的情况相比,可以使对梯度校正系数uh以及vh进行的剪辑处理的值域处于较宽的范围。

运动补偿部3091具备对推导梯度图像lx0、lx1、ly0、以及ly1时使用的梯度滤波进行切换的梯度推导部309112(第一切换部),而且,梯度校正系数推导部309122(剪辑部)可以根据由梯度推导部309112选择的梯度滤波来对剪辑处理的范围进行切换。

即,如图31(b)所示,在作为能够对多个滤波组进行切换的构成的梯度校正系数推导部309122中,也可以基于已选择的滤波组,变更对梯度校正系数uh以及vh进行的剪辑处理的值域。

需要说明的是,在以下的示例中示出对两个剪辑处理的值域进行切换的示例,但也可以是将分类数设为三个以上而对三个以上的剪辑处理的值域、例如大值域、中值域,小值域进行切换的构成。

需要说明的是,以下,在基于参数X的大小来切换剪辑处理的值域的情况下,通过比较对X和规定的阈值进行分类,但也可以通过除法、移位、表格参照等,从参数X中直接推导用于标识的索引idx。而且,也可以是基于推导出的索引idx并参照表格而求出剪辑处理的值域的方法。例如X中使用有分辨率、块尺寸、帧速率、运动矢量、图片间隔、量化步长(量化参数)、或它们的组合等。需要说明的是,具体处理的示例在对滤波组进行切换的构成中已进行了说明,因此,省略说明。

(STEP2:依存分辨率时的剪辑处理的范围的切换)

在运动补偿图像P0以及P1的分辨率较高的情况下,运动矢量的长度有整体变长的趋势,因此,在这种条件下,优选应用设定为相对较宽的范围的剪辑处理。另一方面,在运动补偿图像P0以及P1的分辨率较低的情况下,优选应用设定为相对较窄的范围的剪辑处理。

因此,梯度校正系数推导部309122也可以是根据运动补偿图像P0以及P1的分辨率来推导剪辑处理的范围的构成。具体而言,梯度校正系数推导部309122也可以是使用具有分辨率越大剪辑处理的值域越变得更大那样的关系的剪辑的构成。需要说明的是,X越大Y越变得更大是指,在作为满足X1>X0的X的X0、X1中,作为X0的情况下的Y的Y0和作为X1的情况下的Y的Y1满足Y1≥Y0即可。因此,即使是X变大的关系(X0>X1)的两个X(X0、X1),也可是使用相同的Y(Y0=Y1)。但是,在X的值域中必须使用至少两个值的Y。

例如,梯度校正系数推导部309122也可以在运动补偿图像P0以及P1的分辨率为规定的阈值TH以上(例如,1920×1080以上)的情况下,将剪辑处理的值域设定为-MVTH0~MVTH0(例如,MVTH0=2),在分辨率低于规定的阈值TH(例如,小于1920×1080)的情况下,将剪辑处理的值域设定为-MVTH1~MVTH1(例如,MVTH1=1/3)。

(STEP2:依存块尺寸时的剪辑处理的范围的切换)

在包含对象像素的块尺寸较大的情况下,运动矢量的长度有整体变长的趋势,因此,在这种条件下,优选应用设定为相对较宽的范围的剪辑处理。另一方面,在包含对象像素的块尺寸较小的情况下,优选应用设定为相对较窄的范围的剪辑处理。

因此,梯度校正系数推导部309122也可以根据包含成为推导梯度图像的对象的对象像素的块的尺寸来切换剪辑处理的范围。具体而言,梯度校正系数推导部309122也可以是使用具有块尺寸越大剪辑处理的值域越变得更大那样的关系的剪辑的构成。

例如,梯度校正系数推导部309122也可以在包含运动补偿图像P0以及P1所包含的对象像素的块的块尺寸为规定的阈值以上的情况(例如,16×16以上)下,将剪辑处理的值域设为-2~2等,在包含该对象像素的块的块尺寸小于规定的阈值的情况(例如,小于16×16)下,将剪辑处理的值域设为-2/3~2/3等。

(STEP2:依存帧速率时的剪辑处理的范围的切换)

在运动补偿图像P0以及P1的帧速率较小的情况下以及分辨率/帧速率较大的情况下,运动矢量的长度有整体变长的趋势,因此,在这种条件下,优选应用设定为相对较宽的范围的剪辑处理。

因此,梯度校正系数推导部309122也可以是根据运动补偿图像P0以及P1的帧速率FrameRate来切换剪辑处理的范围的构成。具体而言,梯度校正系数推导部309122也可以是使用具有帧速率FrameRate越小(分辨率/帧速率越大)剪辑处理的值域越变得更大那样的关系的剪辑的构成。

例如,梯度校正系数推导部309122也可以在帧速率为规定的阈值以下的情况(例如,FrameRate<=TH,TH=60)下,将剪辑处理的值域设为-2~2等,在帧速率大于规定的阈值的情况(例如,FrameRate>TH)下,将剪辑处理的值域设为-2/3~2/3等。

或者,在运动补偿图像P0以及P1的分辨率/在帧速率大于规定的阈值的情况(例如,Width/FrameRate>TH,TH=1920/60=32)下,将剪辑处理的值域设为-2~2,在分辨率/在帧速率为规定的阈值以下的情况(例如,Width/FrameRate<=TH)下,将剪辑处理的值域设为-2/3~2/3。

(STEP2:依存运动矢量时的剪辑处理的范围的切换)

在与相邻块的运动矢量MV的差分(以及运动矢量mvLX)较大的情况下,对象块内的运动矢量的变化也有相对较大的趋势。因此,在这种条件下,也可以将剪辑处理的值域设为较宽,以捕捉相对较宽的范围内的梯度。

因此,梯度校正系数推导部309122也可以是根据对象块的运动矢量MV(mvLX)与该对象块的预测矢量PMV(预测运动矢量,mvpLX)的差来切换剪辑处理的范围的构成。具体而言,梯度校正系数推导部309122也可以是使用具有差分矢量DMV越大剪辑处理的值域越变得更大那样的关系的剪辑的构成。

例如,梯度校正系数推导部309122也可以在差分矢量DMV为规定的阈值以上的情况下,将剪辑处理的值域设为-2~2等,在差分矢量DMV小于规定的阈值的情况下,将剪辑处理的值域设为-2/3~2/3等。

在此,“对象块的运动矢量MV与该对象块的预测矢量PMV(预测运动矢量)的差”可以是差分矢量DMV(mvdLX),也可以是通过

absDMV=│MVx-PMVx│+│MVy-PMVy│

的算式获得的差分绝对值absDMV。

此外,作为预测矢量PMV,可以是共位(collocate)运动矢量(即,与前一图片相同位置的运动矢量),也可以是左块的运动矢量或上块的运动矢量。

需要说明的是,梯度校正系数推导部309122可以是根据“对象块的运动矢量mvLX”代替“与相邻块的运动矢量MV的差分”来切换剪辑处理的值域的构成。具体而言,梯度校正系数推导部309122也可以是使用具有运动矢量mvLX越大剪辑处理的值域越变得更大那样的关系的剪辑的构成。(STEP2:依存图片间距离时的剪辑处理的范围的切换)

在图片间距离deltaPOC较大的情况下,运动矢量的长度有整体变长的趋势,因此,在这种条件下,也可以将剪辑处理的值域设为较宽,以捕捉相对较宽的范围内的梯度。

因此,梯度校正系数推导部309122也可以是根据包含对象块的对象图像Cur与运动补偿图像P0以及P1(或者,L0参照图像refImgL0以及L1参照图像refImgL1)中的至少任意一个之间的图片间距离来切换剪辑处理的范围的构成。具体而言,梯度校正系数推导部309122也可以是使用具有图片间距离越大剪辑处理的值域越变得更大那样的关系的剪辑的构成。

例如,梯度校正系数推导部309122也可以在图片间距离为规定的阈值以上的情况下,将剪辑处理的值域设为-2~2等,在图片间距离小于规定的阈值的情况下,将剪辑处理的值域设为-2/3~2/3等。

(STEP2:依存量化步长时的剪辑处理的范围的切换)

在作为对象图像Cur的生成对象的对象块的量化步长较大的情况下,可认为微细区域中的变化的可靠性较低。在这种条件下,也可以将剪辑处理的值域设为较宽,以捕捉相对较宽的范围内的梯度。

因此,梯度校正系数推导部309122也可以根据运动补偿图像P0(或者L0参照图像refImgL0)的量化步长、以及运动补偿图像P1(或者L1参照图像refImgL1)的量化步长来切换剪辑处理的值域。

进而,也可以根据对象图像Cur的对象块的量化系数来切换剪辑处理的值域。

即,梯度校正系数推导部309122也可以是根据量化系数或量化步长来切换剪辑处理的值域的构成。具体而言,梯度校正系数推导部309122也可以是使用具有量化步长越大剪辑处理的值域越变得更大那样的关系的剪辑的构成。

例如,梯度校正系数推导部309122也可以在量化步长为规定的阈值以上的情况下,将剪辑处理的值域设为-2~2等,在量化步长小于规定的阈值的情况下,将剪辑处理的值域设为-2/3~2/3等。

(STEP2:参照了标志的剪辑处理的范围的切换)

梯度校正系数推导部309122也可以是参照作为明确表示出的信令的标志来切换剪辑处理的值域的构成。

例如,熵编码部104在切片标头SH以及图片参数集PPS中对所使用的滤波组的滤波组索引进行编码。梯度校正系数推导部309122也可以是基于从切片标头SH以及图片参数集PPS解码的滤波组索引来切换剪辑处理的值域的构成。

(STEP2:适应性的正规化项的切换)

如前述那样,梯度校正系数推导部309122将正规化项regcost与梯度积推导部309121推导出的中间参数s1~s6相加。梯度校正系数推导部309122在在STEP1中应用上述的滤波组1的情况和应用上述的滤波组2的情况下,也可以以如下的方式对与中间参数s1~s6相加的正规化项regcost的值进行切换。

正规化项regcost为了抑制校正权重矢量(u,v)的大小(接近0),而与中间参数s1~s6相加。当在STEP1中应用滤波组2(例如,低分解能滤波)时,能够检测相对较宽的范围内的梯度、即相对较大的校正权重矢量(u,v),因此,在应用了滤波组2的情况下,也可以减小与中间参数s1~s6相加的正规化项regcost的值,而使推导出的校正权重矢量(u,v)处于较宽的范围。相反地,在应用滤波组1的情况下,也可以增大与中间参数s1~s6相加的正规化项regcost的值,而使推导出的校正权重矢量(u,v)处于小范围。需要说明的是,在增大正规化项regcost的值时的正规化被称为“较强的正规化”,在减小正规化项regcost的值时的正规化被称为“较弱的正规化”。

即,在作为能够对多个滤波组进行切换的构成的梯度校正系数推导部309122中,如图31(a)所示,也可以基于已选择的滤波组对正规化项regcost的值进行变更。具体而言,梯度校正系数推导部309122使用具有滤波组的精度越低正规化项变得越小那样的关系的正规化。

运动补偿部3091具备对推导梯度图像lx0、lx1、ly0、以及ly1时使用的梯度滤波进行切换的梯度推导部309112(第一切换部),而且,梯度校正系数推导部309122(第二切换部)可以根据由梯度推导部309112选择的梯度滤波对正规化项regcost的值进行切换。

即,与前述的梯度校正系数推导部309122切换剪辑处理的范围的构成同样地,梯度校正系数推导部309122也可以是切换正规化项regcost的值的构成。

需要说明的是,在以下的示例中示出对两个正规化项进行切换的示例,但也可以是将分类数设为三个以上而对三个以上的正规化项、例如大正规化项、中正规化项、小正规化项进行切换的构成。

需要说明的是,以下,在基于参数X的大小来切换正规化项的情况下,通过比较对X和规定的阈值进行分类,但也可以通过除法、移位、表格参照等,从参数X中直接推导用于标识的索引idx。而且,也可以是基于推导出的索引idx并参照表格而求出正规化项的方法。例如X中使用有分辨率、块尺寸、帧速率、运动矢量、图片间隔、量化步长(量化参数)、或它们的组合等。需要说明的是,具体处理的示例在对滤波组进行切换的构成中已进行了说明,因此,省略说明。

(STEP2:依存分辨率时的正规化项的切换)

梯度校正系数推导部309122也可以是根据运动补偿图像P0以及P1的分辨率来切换正规化项的构成。具体而言,梯度校正系数推导部309122也可以是使用具有分辨率越大正规化项越变得更小那样的关系的正规化的构成。

例如,如图31(a)所示,梯度校正系数推导部309122也可以在运动补偿图像P0以及P1的分辨率较高、即为规定的阈值TH以上(例如,1920×1080以上)的情况下,以能够推导相对较大的校正权重矢量(u,v)的方式将正规化项regcost设定为较小,而进行较弱的正规化,在分辨率较低、即低于规定的阈值TH(例如,小于1920×1080)情况下,将正规化项regcost设定为大于高分辨率的情况,而进行较强的正规化。

(STEP2:依存块尺寸时的正规化项的切换)

梯度校正系数推导部309122也可以根据包含成为推导梯度图像的对象的对象像素的块的尺寸来切换正规化项。具体而言,梯度校正系数推导部309122也可以是使用具有块尺寸越大正规化项越变得更小那样的关系的正规化的构成。

例如,梯度校正系数推导部309122也可以在包含运动补偿图像P0以及P1所包含的对象像素的块的块尺寸为规定的阈值以上的情况(例如,16×16以上)下,以能够推导相对较大的校正权重矢量(u,v)的方式将正规化项regcost设定为较小,而进行较弱的正规化,在包含该对象像素的块的块尺寸小于规定的阈值的情况(例如,小于16×16)下,将正规化项regcost设定为较大,而进行较强的正规化。

(STEP2:依存帧速率时的正规化项的切换)

梯度校正系数推导部309122也可以是根据运动补偿图像P0以及P1的帧速率FrameRate来切换正规化项的构成。具体而言,梯度校正系数推导部309122也可以是使用具有帧速率越小正规化项越变得更小那样的关系的正规化的构成。

例如,梯度校正系数推导部309122也可以在帧速率为规定的阈值以下的情况(例如,FrameRate<=TH,TH=60)下,以能够推导相对较大的校正权重矢量(u,v)的方式将相对正规化项regcost设定为较小,而进行较弱的正规化,在帧速率大于规定的阈值的情况(例如,FrameRate>TH)下,将正规化项regcost设定为较大,而进行较强的正规化。

(STEP2:依存运动矢量时的正规化项的切换)

梯度校正系数推导部309122也可以是根据对象块的运动矢量MV(mvLX)与该对象块的预测矢量PMV(预测运动矢量,mvpLX)的差来切换正规化项的构成。具体而言,梯度校正系数推导部309122也可以是使用具有差分矢量越大正规化项越变得更小那样的关系的正规化的构成。

例如,梯度校正系数推导部309122也可以在差分矢量DMVが规定的阈值以上的情况下,以能够推导相对较大的校正权重矢量(u,v)的方式将正规化项regcost设定为较小,而进行较弱的正规化,在差分矢量DMV小于规定的阈值的情况下,将正规化项regcost设定为较大,而进行较强的正规化。

需要说明的是,梯度校正系数推导部309122也可以是根据对象块的运动矢量mvLX来切换正规化项的构成。

(STEP2:依存图片间距离时的正规化项的切换)

梯度校正系数推导部309122也可以是根据包含对象块的对象图像Cur与运动补偿图像P0以及P1(或者,L0参照图像refImgL0以及L1参照图像refImgL1)中的至少任意一个之间的图片间距离来切换正规化项的构成。具体而言,梯度校正系数推导部309122也可以是使用具有图片间隔越大正规化项越变得更小那样的关系的正规化的构成。

例如,梯度校正系数推导部309122也可以在图片间距离为规定的阈值以上的情况下,以能够推导相对较大的校正权重矢量(u,v)的方式将正规化项regcost设定为较小,而进行较弱的正规化,在图片间距离小于规定的阈值的情况下,将正规化项regcost设定为较大,而进行较强的正规化。(STEP2:依存量化步长时的正规化项的切换)

梯度校正系数推导部309122也可以根据运动补偿图像P0(或者L0参照图像refImgL0)的量化步长、以及运动补偿图像P1(或者L1参照图像refImgL1)的量化步长来切换正规化项。具体而言,梯度校正系数推导部309122也可以是使用具有量化步长越大正规化项越变得更小那样的关系的正规化的构成。

例如,梯度校正系数推导部309122也可以在量化步长为规定的阈值以上的情况下,以能够推导相对较大的校正权重矢量(u,v)的方式将正规化项regcost设定为较小,而进行较弱的正规化,在量化步长小于规定的阈值的情况下,将正规化项regcost设定为较大,而进行较强的正规化。(STEP2:参照了标志的正规化项的切换)

梯度校正系数推导部309122也可以是参照作为明确表示出的信令的标志来切换正规化项的构成。

例如,梯度校正系数推导部309122也可以是基于从切片标头SH以及图片参数集PPS解码的滤波组索引来切换正规化项的构成。

(采用了匹配模式的运动矢量推导)

帧间预测参数解码部303(预测矢量计算部)的帧间预测参数解码控制部3031等也可以是选择为合并模式、AMVP模式、或匹配模式(FRUC模式、匹配预测模式)中的任一个作为推导运动矢量mvLX时使用的预测模式的构成(参照图6)。或者也可以是除帧间预测参数解码控制部3031以外还具备对帧间预测参数解码控制部3031推导运动矢量mvLX时使用的模式进行选择的匹配预测参数推导部(未图示)的构成。

参照图30,对帧间预测参数解码部303所进行的运动矢量推导处理进行说明。图30是表示运动矢量推导处理的流程的流程图。

在以下的说明中,在没有特别明示的情况下,各处理由帧间预测参数解码部303进行。

首先,在步骤S101中,将合并标志merge_flag解码,在步骤S102中,对merge_flag!=0?进行判断。

在merge_flag!=0为真(在S102中为Y)的情况下,表示是否使用匹配模式(匹配预测模式)的标志ptn_match_flag在步骤S103中被解码,从而在步骤S104中,判断出ptn_match_flag!=0。

在ptn_match_flag!=0为真(在S104中为Y)的情况下,在S105中,将表示匹配模式的种类的语法即ptn_match_mode解码。接着,在步骤S106中,执行由ptn_match_mode指定的匹配模式。在ptn_match_mode==1时,选择双预测匹配,在ptn_match_mode==2时,选择模板匹配。在匹配模式下,例如,假设物体进行等速运动,通过多个参照图像中的块的匹配来推导运动矢量。例如,假设物体是L0参照图像的块BLK0、L1参照图像的块BLK1通过对象块BLKCUR而得的物体。该情况下,基于连结L0参照图像的块BLK0与L1参照图像的块BLK1的轨跡正好通过对象块BLKCUR的假设,对L0参照图像的块BLK0与L1参照图像的块BLK1进行比较(匹配),搜索并选择两社的差变小的块。该情况下,根据L0参照图像的块BLK0与对象块的位置关系,推导出针对对象块的L0参照图像的运动矢量,并根据L1参照图像的块BLK1与对象块的位置关系,推导出针对对象块的L1参照图像的运动矢量。将如上所述的匹配模式称为“双预测匹配”。此外,除了“双预测匹配”以外,也可以是使用“模板匹配”作为匹配模式的构成。模板匹配假设物体的运动在块边界处不会产生变化,在对象图像上的对象块的相邻区域(例如由对象块的上行和左列形成的倒L字型的模板区域)和参照图像上的模板区域(=倒L字型的区域)中取差分(匹配),搜索差分达到最小的块所指示的运动矢量。使用从通过该搜索获得的对象块的相邻区域(模板区域)中的运动矢量与对象块的运动矢量相一致的假设中推导出的运动矢量作为对象块的运动矢量。

另一方面,在步骤S102中,在merge_flag!=0为假(在S102中为N)的情况下,选择AMVP模式。更具体来说,帧间预测参数解码部303在S110中将差分矢量mvdLX解码,在S111中将预测矢量索引mvp_LX_idx解码。而且,在S112中对PMV候选列表mvpListLX进行推导。接着,在S113中,通过

mvLX=mvpListLX[mvp_LX_idx]+mvdLX

来推导运动矢量mvLX。

此外,在步骤S104中,在ptn_match_flag!=0为假的情况下,帧间预测参数解码部303在S107中对合并索引merge_idx进行解码。接着,帧间预测参数解码部303在S108中对合并候选列表mergeCandList进行推导,在S109中,通过

mvLX=mergeCand[merge_idx]

来推导运动矢量mvLX。

(STEP2:参照了标志的正规化项的切换)

在匹配预测中,如果使用小单位(例如1/4像素、1/8像素、1/16像素)作为运动矢量的搜索精度,则预测图像的精度变高,但是处理量会增加。如果将运动矢量的搜索精度设为低精度(例如,1像素、1/2像素),则能够抑制处理量,但预测图像的精度会降低。另外,可认为在并用匹配预测与BIO预测的构成、即进行匹配预测之后再进行BIO预测的构成中,由通过匹配获得的运动矢量推导出的运动补偿图像能够通过BIO预测进行校正。可认为这种构成的情况下,在匹配预测中,即使设为相当低精度的运动矢量,也能够通过BIO预测根据由像素单元推导出的梯度而被由像素单元推导出的高精度的校正用的运动矢量(=校正权重矢量(u,v))校正。

在进行采用(选择)了匹配模式的运动矢量mvLX的推导的图像解码装置31中,在导入通过BIO预测进行的运动补偿的情况下,运动补偿部3091也可以将用于在匹配模式下推导运动矢量MV(运动矢量mvLX)的搜索精度设为在应用BIO预测的情况下较低的精度(例如1像素、1/2像素)。即,也可以根据是否应用BIO预测,来切换用于运动补偿图像的推导的运动矢量的精度。

图32是表示BIO预测模式以及匹配模式的预测精度相比较的图。如图32所示,可应用BIO预测的运动矢量MV的范围、即校正权重矢量(u,v)小至例如最大2/3pel程度,但空间上的校正的单位(块尺寸)单位能够设为1×1像素(即,各像素单元)。此外,在BIO预测中,针对运动矢量MV的校正的精度(运动补偿矢量(u,v)的精度等)较高,例如如果设为shiftBIO=6则能够达到1/64,如果设为shiftBIO=8则也能够达到1/256。

另一方面,在匹配模式下,可适应的运动矢量MV的范围大至例如最大4pel程度,但判断匹配是否恰当需要用相对较大的块来进行,因此,空间上的校正的单位为8×8像素程度(即,块单元)。此外,在BIO预测中,在处理量的关系上难以提高针对运动矢量MV的校正的精度,例如最高1/8程度。

因此,在并用匹配模式与BIO预测的情况下,在匹配模式下获得的矢量的精度也可以较低。即,也可以使匹配模式下的运动矢量MV的搜索精度比在AMVP模式下推导的运动矢量的精度(例如1/4pel)更降低。即,用于运动补偿图像的推导的运动矢量在由AMVP模式推导出的情况下,例如在以1/4像素单元推导出的情况下,在与BIO预测并用(在后段进行BIO预测)的匹配预测中,也可以以1/2像素单元进行推导。通过使匹配模式下的运动矢量MV的搜索精度比在AMVP模式下推导的运动矢量的精度(例如1/4pel)更降低,而发挥使匹配模式下的动矢量的搜索变容易的效果。需要说明的是,在匹配模式下未校正的部分在应用了之后执行的BIO预测的运动补偿中被校正,因此,并不成为问题。

此外,如果在匹配模式下预先粗略地(每1pel或1/2pel)进行了运动矢量MV的校正(匹配),则即使是应用了只能校正微小的运动的BIO预测的运动补偿,也能够在匹配模式与BIO的整体上充分进行校正。

需要说明的是,BIO预测是在相对较小的范围、即校正权重矢量(u,v)较小的范围中基于梯度固定的假设而进行,因此,在校正权重矢量(u,v)变大的假设不成立的情况下优选不进行动作。然而,如果在匹配预测之后进行BIO预测的构成中,通过匹配而以某种程度的搜索精度(例如1像素、1/2像素)预先进行运动矢量的推导(校正),则可以期待校正权重矢量(u,v)达到该搜索精度以下。

(对应于BIO标志的匹配模式的动作切换)

在进行采用了匹配模式的运动矢量mvLX的推导的图像解码装置31中,在导入通过BIO预测进行的运动补偿的情况下,运动补偿部3091也可以根据是否应用BIO预测来切换用于在匹配模式下推导运动矢量MV(运动矢量mvLX)的搜索精度。

在由帧间预测参数解码部303解码的BIO标志表示运动补偿部3091执行应用了BIO预测的运动补偿(以后,标记为“BIO开启”)的情况下,帧间预测参数解码部303将匹配模式下的运动矢量的搜索的搜索精度设为Npel(例如,1pel、1/2pel)。另一方面,在BIO标志表示不执行应用了BIO预测的运动补偿(以后,标记为“BIO关闭”)的情况下,帧间预测参数解码部303也可以将匹配模式下的运动矢量的搜索的搜索精度设为Mpel(例如,1/4或1/8pel)。在此,N>M成立。

或者,在进行采用了匹配模式的运动矢量mvLX的推导的图像解码装置31中,在导入通过BIO预测进行的运动补偿的情况下,运动补偿部3091也可以根据是否应用BIO预测来切换用于在匹配模式下推导运动矢量MV(运动矢量mvLX)的块的尺寸。

例如,在BIO开启的情况下,帧间预测参数解码部303也可以构成为匹配模式下的运动矢量的搜索的搜索精度按相对较大的块(预测单元PU)进行,而不进行每个作为构成预测块的较小的块的子块(例如4×4)的搜索。另一方面,在BIO关闭的情况下,也可以按作为相对较小的块的子块来执行匹配模式下的运动矢量的搜索。

需要说明的是,BIO标志可以是按序列编码的标志,也可以是按序列参数集SPS、按图片参数集PPS、以及按块编码的标志。

在进行采用了匹配模式的运动矢量mvLX的推导的图像解码装置31中,在导入通过BIO预测进行的运动补偿的情况下,考虑具备多个模式作为上述匹配模式的构成,例如,具备双预测匹配模式和模板匹配模式的构成。无论是双预测匹配模式还是BIO预测模式,都是基于物体在遍及多个参照图片间进行等速运动的假设(以BIO预测来说,不仅是梯度变化,时间变化在某范围内也固定的假设),因此,可认为在使用双预测匹配模式作为匹配模式的情况下,BIO预测也有效。

因此,运动补偿部3091也可以基于由帧间预测参数解码部303解码的预测模式是否是双预测匹配,来进行应用了BIO预测的运动补偿。换句话说,运动补偿部3091也可以基于用于推导帧间预测参数解码部303运动矢量而选择的预测模式是否是双预测匹配模式,来进行应用了BIO预测的运动补偿。

即,也可是采用如下的构成:在匹配模式为模板匹配的情况下,运动补偿部3091不进行应用了BIO预测的运动补偿(帧间预测参数解码部303不从编码数据中解码BIO标志,而对BIO标志设定表示BIO关闭的值),另一方面,在匹配模式为双预测匹配的情况下,运动补偿部3091进行应用了BIO预测的运动补偿(帧间预测参数解码部303从编码数据中解码BIO标志)。

此外,也可以采用如下的构成:在匹配模式为模板匹配的情况下,运动补偿部3091不进行应用了BIO预测的运动补偿(帧间预测参数解码部303对BIO标志设定表示BIO关闭的值),另一方面,在匹配模式为双预测匹配的情况下,运动补偿部3091进行应用了BIO预测的运动补偿(帧间预测参数解码部303推导表示BIO开启的值作为BIO标志)。

由于有时运动在模板匹配的情况下对象图像Cur以及L0参照图像refImgL0与对象图像Cur以及L1参照图像refImgL1之间不连续,因此,即使运动补偿部3091执行应用了BIO预测的运动补偿,运动补偿处理的性能也不一定提高。因此,也可以构成为在模板匹配的情况下运动补偿部3091不执行应用了BIO预测的运动补偿。这样构成的话,能够减少运动补偿部3091执行BIO预测的运动补偿需要的处理的量。

此外,在进行采用了匹配模式的运动矢量mvLX的推导的图像解码装置31中,在导入通过BIO预测进行的运动补偿的情况下,在具备多个模式作为上述匹配模式的构成、例如具备双预测匹配模式和模板匹配模式的构成中,也可以是据匹配模式来变更匹配预测的精度的构成。即,在匹配模式为双预测模式的情况下,即使运动矢量的搜索精度不高,在匹配模式之后通过BIO预测也使运动补偿图像得以校正,从而生成精度较高的预测图像,因此,也可以在匹配模式为双预测模式的情况下,相对增大匹配模式下运动矢量的搜索单位(例如1像素、1/2像素),在匹配模式为模板匹配的情况下,使运动矢量的搜索单位小于双预测匹配的情况(例如1/4像素、1/8像素)。

此外,在进行采用了匹配模式的运动矢量mvLX的推导的图像解码装置31中,在导入通过BIO预测进行的运动补偿的情况下,也可以是根据匹配模式来变更匹配预测的搜索的空间上的单位(块尺寸)的构成。具体而言,在匹配模式为双预测模式的情况下,匹配的单位即使运动矢量的搜索精度不高,在匹配模式之后通过BIO预测,也使运动补偿图像得以校正,从而生成精度较高的预测图像。因此,即使运动矢量的空间上的单位相对较大,也通过BIO预测按像素单元被校正。由此,也可以设为:在匹配模式为双预测模式的情况下,使匹配模式下的运动矢量的搜索单位(块尺寸)相对较大(例如8×8像素、16×16像素),在匹配模式为模板匹配的情况下,是运动矢量的空间上的单位较小(例如倒L字型的模板的一边的长度为最小4至5)。

(图像编码装置的构成)

接着,对本实施方式的图像编码装置11的构成进行说明。图12是表示本实施方式的图像编码装置11的构成的框图。图像编码装置11包含预测图像生成部101、减法部102、DCT/量化部103、熵编码部104、逆量化/逆DCT部105、加法部106、预测参数存储器(预测参数存储部、帧存储器)108、参照图片存储器(参照图像存储部,帧存储器)109、编码参数确定部110、预测参数编码部111而构成。预测参数编码部111包含帧间预测参数编码部112以及帧内预测参数编码部113而构成。

预测图像生成部101对从外部输入的层图像T的每个视点的各图片,按块(分割该图片而成的区域)生成预测图片块P。在此,预测图像生成部101基于从预测参数编码部111输入的预测参数,从参照图片存储器109中读出参照图片块。从预测参数编码部111输入的预测参数例如是运动矢量或位移矢量。预测图像生成部101读出位于以编码对象块作为起点而预测的运动矢量或位移矢量所示的位置的块的参照图片块。预测图像生成部101针对读出的参照图片块,使用多个预测方式中的一个预测方式,生成预测图片块P。预测图像生成部101将生成的预测图片块P输出至减法部102。需要说明的是,预测图像生成部101是与已经说明的预测图像生成部308相同的动作,因此省略预测图片块P的生成的详细内容。

预测图像生成部101为了选择预测方式,例如选择使误差值为最小的预测方式,所述误差值基于包含于图像的块的每个像素的信号值与预测图片块P所对应的每个像素的信号值的差分。选择预测方式的方法并不限定于此。

多个预测方式是帧内预测、运动预测以及合并预测。运动预测是上述的帧间预测中显示时刻间的预测。合并预测是使用已经编码且与位于从编码对象块起预定的范围内的块相同的参照图片块以及预测参数的预测。

预测图像生成部101在选择了帧内预测的情况下,将表示生成预测图片块P时使用的帧内预测模式的预测模式IntrapredMode输出至预测参数编码部111。

预测图像生成部101在选择了运动预测的情况下,将生成预测图片块P时使用的运动矢量mvLX存储于预测参数存储器108,并输出至帧间预测参数编码部112。运动矢量mvLX表示从编码对象块的位置至生成预测图片块P时的参照图片块的位置的矢量。表示运动矢量mvLX的信息中,包含表示参照图片的信息(例如,参照图片索引refIdxLX、图片顺序编号POC),也可以是表示预测参数的信息。此外,预测图像生成部101将表示帧间预测模式的预测模式predMode输出至预测参数编码部111。

预测图像生成部101在选择了合并预测的情况下,将表示所选择的参照图片块的合并索引merge_idx输出至帧间预测参数编码部112。此外,预测图像生成部101将表示合并预测模式的预测模式predMode输出至预测参数编码部111。

减法部102从自外部输入的层图像T所对应的块的信号值中按像素减去从预测图像生成部101输入的预测图片块P的信号值,生成残差信号。减法部102将生成的残差信号输出至DCT/量化部103和编码参数确定部110。

DCT/量化部103对从减法部102输入的残差信号进行DCT,计算出DCT系数。DCT/量化部103对计算出的DCT系数进行量化,求出量化系数。DCT/量化部103将求出的量化系数输出至熵编码部104以及逆量化/逆DCT部105。

熵编码部104中,从DCT/量化部103输入有量化系数,从编码参数确定部110输入有编码参数。所输入的编码参数中,例如有参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、差分矢量mvdLX、预测模式predMode、以及合并索引merge_idx等代码。

熵编码部104对输入的量化系数和编码参数进行熵编码从而生成编码流Te,并将生成的编码流Te输出至外部。

逆量化/逆DCT部105对从DCT/量化部103输入的量化系数进行逆量化,求出DCT系数。逆量化/逆DCT部105对求出的DCT系数进行逆DCT,计算出解码残差信号。逆量化/逆DCT部105将计算出的解码残差信号输出至加法部106。

加法部106按像素将从预测图像生成部101输入的预测图片块P的信号值与从逆量化/逆DCT部105输入的解码残差信号的信号值相加,生成参照图片块。加法部106将生成的参照图片块存储于参照图片存储器109。

预测参数存储器108将预测参数编码部111所生成的预测参数按编码对象的图片以及块存储于预定的位置。

参照图片存储器109将加法部106所生成的参照图片块按编码对象的图片以及块存储于预定的位置。

编码参数确定部110选择编码参数的多个集合中的一个集合。编码参数是上述的预测参数、与该预测参数相关连而生成的成为编码的对象的参数。预测图像生成部101分别使用这些编码参数的集合来生成预测图片块P。

编码参数确定部110对多个集合的每一个集合计算出信息量的大小和指示编码误差的成本值。成本值例如是代码量与平方误差乘以系数λ而得的值之和。代码量是对量化误差和编码参数进行熵编码而得的编码流Te的信息量。平方误差是关于在减法部102中计算出的残差信号的残差值的平方值的像素间的总和。系数λ是大于预先设定的零的实数。编码参数确定部110选择计算出的成本值成为最小的编码参数的集合。由此,熵编码部104将所选择的编码参数的集合作为编码流Te输出至外部,而不输出未被选择的编码参数的集合。

预测参数编码部111推导基于从预测图像生成部101输入的参数生成预测图片时所用的预测参数,并对推导出的预测参数进行编码,生成编码参数的集合。预测参数编码部111将所生成的编码参数的集合输出至熵编码部104。

预测参数编码部111将所生成的编码参数的集合中与编码参数确定部110所选择的参数对应的预测参数存储于预测参数存储器108。

预测参数编码部111在从预测图像生成部101输入的预测模式predMode表示帧间预测模式的情况下,使帧间预测参数编码部112进行动作。预测参数编码部111在预测模式predMode表示帧内预测模式的情况下,使帧内预测参数编码部113进行动作。

帧间预测参数编码部112基于从编码参数确定部110输入的预测参数而推导帧间预测参数。帧间预测参数编码部112中,作为推导帧间预测参数的构成,包含与帧间预测参数解码部303(参照图5等)推导帧间预测参数的构成相同的构成。帧间预测参数编码部112的构成将在下文叙述。

帧内预测参数编码部113将从编码参数确定部110输入的预测模式predMode所示的帧内预测模式IntraPredMode确定为帧间预测参数的集合。(帧间预测参数编码部的构成)

接着,对帧间预测参数编码部112的构成进行说明。帧间预测参数编码部112是对应于帧间预测参数解码部303的部。

图13是表示本实施方式的帧间预测参数编码部112的构成的概略图。

帧间预测参数编码部112包含合并预测参数推导部1121、AMVP预测参数推导部1122、减法部1123、以及预测参数整合部1126而构成。

合并预测参数推导部1121具有与上述的合并预测参数推导部3036(参照图7)同样的构成,AMVP预测参数推导部1122具有与上述的AMVP预测参数推导部3032(参照图8)同样的构成。

帧间预测参数编码控制部1031向熵编码部104指示与帧间预测相关联的代码(语法元素的解码,而对编码数据所包含的代码(语法元素),例如分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、以及差分矢量mvdLX进行编码。

帧间预测参数编码控制部1031如图10所示,包含合并索引编码部10312、矢量候选索引编码部10313、以及未图示的分割模式编码部、合并标志编码部、帧间预测标志编码部、参照图片索引编码部、矢量差分编码部而构成。分割模式编码部、合并标志编码部、合并索引编码部、帧间预测标志编码部、参照图片索引编码部、矢量候选索引编码部10313、矢量差分编码部分别对分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、差分矢量mvdLX进行编码。

合并预测参数推导部1121中,在从预测图像生成部101输入的预测模式predMode表示合并预测模式的情况下,从编码参数确定部110输入合并索引merge_idx。合并索引merge_idx被输出至预测参数整合部1126。合并预测参数推导部1121从预测参数存储器108读出合并候选中合并索引merge_idx所指示的参照块的参照图片索引refIdxLX、运动矢量mvLX。合并候选是位于从成为编码对象的编码对象块起预定的范围的参照块(例如,与编码对象块的左下端、左上端、右上端相接的参照块中),是完成了编码处理的参照块。

AMVP预测参数推导部1122具有与上述的AMVP预测参数推导部3032(参照图8)同样的构成。

AMVP预测参数推导部1122中,在从预测图像生成部101输入的预测模式predMode表示帧间预测模式的情况下,从编码参数确定部110输入运动矢量mvLX。AMVP预测参数推导部1122基于所输入的运动矢量mvLX推导预测矢量mvpLX。AMVP预测参数推导部1122将推导出的预测矢量mvpLX输出至减法部1123。需要说明的是,参照图片索引refIdx以及预测矢量索引mvp_LX_idx被输出至预测参数整合部1126。

减法部1123从自编码参数确定部110输入的运动矢量mvLX中减去从AMVP预测参数推导部1122输入的预测矢量mvpLX,生成差分矢量mvdLX。差分矢量mvdLX输出至预测参数整合部1126。

在从预测图像生成部101输入的预测模式predMode表示合并预测模式的情况下,预测参数整合部1126将从编码参数确定部110输入的合并索引merge_idx输出至熵编码部104。

在从预测图像生成部101输入的预测模式predMode表示帧间预测模式的情况下,预测参数整合部1126进行接下来的处理。

预测参数整合部1126将从编码参数确定部110输入的参照图片索引refIdxLX以及预测矢量索引mvp_LX_idx、从减法部1123输入的差分矢量mvdLX整合。预测参数整合部1126将所整合的代码输出至熵编码部104。

需要说明的是,帧间预测参数编码部112也可以包含帧间预测参数编码控制部(未图示),所述帧间预测参数编码控制部对熵编码部104指示与帧间预测相关连的代码(语法元素的解码),并对包含于编码数据的代码(语法元素)、例如分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、差分矢量mvdLX进行编码。

该情况下,帧间预测参数编码控制部除了包含用于表示是否进行追加预测而对照度补偿标志ic_enable_flag进行编码的追加预测标志编码部(参照图10)以外,还包含合并索引编码部(参照图10)、矢量候选索引编码部(参照图10)、以及分割模式编码部、合并标志编码部、帧间预测标志编码部、参照图片索引编码部、矢量差分编码部等而构成。分割模式编码部、合并标志编码部、合并索引编码部、帧间预测标志编码部、参照图片索引编码部、矢量候选索引编码部、矢量差分编码部分别对分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标志inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、差分矢量mvdLX进行编码。

需要说明的是,可以通过计算机实现上述的实施方式中的图像编码装置11、图像解码装置31的一部分、例如熵解码部301、预测参数解码部302、预测图像生成部101、DCT/量化部103、熵编码部104、逆量化/逆DCT部105、编码参数确定部110、预测参数编码部111、熵解码部301、预测参数解码部302、预测图像生成部308、逆量化/逆DCT部311。该情况下,可以通过将用于实现该控制功能的程序记录于计算机可读记录介质,并使计算机系统读入记录于该记录介质的程序并执行来实现。需要说明的是,在此提到的“计算机系统”是指内置于图像编码装置11-11h、图像解码装置31-31h的任一个中的计算机系统,采用包含OS、外围设备等硬件的计算机系统。此外,“计算机可读记录介质”是指软盘、磁光盘、ROM、CD-ROM等可移动介质、内置于计算机系统的硬盘等存储装置。而且,“计算机可读取的记录介质”可以包含:像在经由因特网等网络或电话线路等通信线路来发送程序的情况下的通信线那样短时间内、动态地保存程序的介质;像作为该情况下的服务器、客户端的计算机系统内部的易失性存储器那样在固定时间内保存程序的介质。此外,上述程序可以是用于实现前述的功能的一部分的程序,也可以是能进一步将前述功能与已经记录于计算机系统中的程序组合来实现的程序。

此外,也可以将上述的实施方式中的图像编码装置11、图像解码装置31的一部分或全部作为LSI(Large Scale Integration:大规模集成电路)等集成电路而实现。图像编码装置11、图像解码装置31的各功能块可以单独地处理器化,也可以集成一部分或全部来处理器化。此外,集成电路化的方法并不限于LSI,也可以通过专用电路或通用处理器来实现。此外,在通过半导体技术的进步出现代替LSI的集成电路化的技术的情况下,也可以使用基于该技术的集成电路

以上,参照附图对该发明的一实施方式详细地进行了说明,但具体构成并不限定于上述,在不脱离该发明的主旨的范围内,可以进行各种设计变更等。

〔应用例〕

上述的图像编码装置11以及图像解码装置31可以搭载于进行运动图像的发送、接收、记录、再现的各种装置而利用。需要说明的是,运动图像可以是通过摄像机等拍摄的自然运动图像,也可以是通过计算机等生成的人工运动图像(包含CG以及GUI)。

首先,参照图33,对能够将上述的图像编码装置11以及图像解码装置31利用于运动图像的发送以及接收的情况进行说明。

图33(a)是表示搭载有图像编码装置11的发送装置PROD_A的构成的框图。如图33(a)所示,发送装置PROD_A具备:通过对运动图像进行编码而获得编码数据的编码部PROD_A1、通过根据编码部PROD_A1获得的编码数据调制载波而获得调制信号的调制部PROD_A2、以及发送调制部PROD_A2获得的调制信号的发送部PROD_A3。上述的图像编码装置11用作该编码部PROD_A1。

发送装置PROD_A也可以进一步具备:拍摄运动图像的摄像机PROD_A4、记录有运动图像的记录介质PROD_A5、用于从外部输入运动图像的输入端子PROD_A6,以及生成或加工图像的图像处理部A7,作为输入至编码部PROD_A1的运动图像的供给源。在图33(a)中示例出发送装置PROD_A具备这些全部的构成,但也可以省略一部分。

需要说明的是,记录介质PROD_A5可以是记录未被编码的运动图像的介质,也可以是记录以与传输用的编码方式不同的记录用的编码方式编码的运动图像的介质。在后者的情况下,使按照记录用的编码方式对从记录介质PROD_A5读出的编码数据进行解码的解码部(未图示)介于记录介质PROD_A5与编码部PROD_A1之间为好。

图33(b)是表示搭载有图像解码装置31的接收装置PROD_B的构成的框图。如图33(b)所示,接收装置PROD_B具备:接收调制信号的接收部PROD_B1、通过对接收部PROD_B1所接收的调制信号进行解调而获得编码数据的解调部PROD_B2、以及通过对解调部PROD_B2获得的编码数据进行解码而获得运动图像的解码部PROD_B3。上述的图像解码装置31用作该解码部PROD_B3。

接收装置PROD_B也可以进一步具备显示图像的显示器PROD_B4、用于记录运动图像的记录介质PROD_B5、以及用于将运动图像输出至外部的输出端子PROD_B6,作为解码部PROD_B3所输出的运动图像的供给目的地。图33(b)中示例出了接收装置PROD_B具备这些全部的构成,但也可以省略一部分。

需要说明的是,记录介质PROD_B5可以是用于记录未被编码的运动图像的介质,也可以是以与传输用的编码方式不同的记录用的编码方式编码的介质。在后者的情况下,使按照记录用的编码方式对从解码部PROD_B3取得的运动图像进行编码的编码部(未图示)介于解码部PROD_B3与记录介质PROD_B5之间为好。

需要说明的是,传输调制信号的传输介质可以是无线,也可以是有线。此外,传输调制信号的传输方案可以是广播(在此,指发送目的地未预先特定的发送方案),也可以是通信(在此,指发送目的地已预先特定的发送方案)。即,调制信号的传输可以通过无线广播、有线广播、无线通信、以及有线通信的任一个来实现。

例如,地面数字广播的广播站(广播设备等)/接收站(电视接收机等)是通过无线广播收发调制信号的发送装置PROD_A/接收装置PROD_B的一个示例。此外,有线电视广播的广播站(广播设备等)/接收站(电视接收机等)是通过有线广播收发调制信号的发送装置PROD_A/接收装置PROD_B的一个示例。

此外,使用互联网的VOD(Video On Demand:视频点播)服务、运动图像共享服务等服务器(工作站等)/客户端(电视接收机、个人计算机、智能手机等)是通过通信收发调制信号的发送装置PROD_A/接收装置PROD_B的一个示例(通常,在LAN中使用无线或有线的任一个作为传输介质,在WAN中使用有线作为传输介质)。在此,个人计算机中包含台式PC、膝上型PC、以及平板型PC。此外,智能手机中也包含多功能便携电话终端。

需要说明的是,运动图像共享服务的客户端除了将从服务器下载的编码数据解码并显示于显示器的功能以外,还具有对通过摄像机拍摄的运动图像进行编码并上传至服务器的功能。即,运动图像共享服务的客户端发挥发送装置PROD_A以及接收装置PROD_B双方的功能。

接着,参照图34,对能够将上述的图像编码装置11以及图像解码装置31利用于运动图像的记录以及再现的情况进行说明。

图34(a)是表示搭载有上述的图像编码装置11的记录装置PROD_C的构成的框图。如图34(a)所示,记录装置PROD_C具备:通过对运动图像进行编码而获得编码数据的编码部PROD_C1、以及将编码部PROD_C1获得的编码数据写入记录介质PROD_M的写入部PROD_C2。上述的图像编码装置11用作该编码部PROD_C1。

需要说明的是,记录介质PROD_M可以是(1)如HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State Drive:固体状态驱动机)等那样内置于记录装置PROD_C的类型的记录介质,也可以是(2)如SD存储卡、USB(Universal Serial Bus:通用串行总线)闪存等那样与记录装置PROD_C连接的类型的记录介质,也可以是(3)如DVD(Digital Versatile Disc:数字化通用磁盘)、BD(Blu-ray Disc:蓝光,注册商标)等那样装填至内置于记录装置PROD_C的驱动装置(未图示)的类型的记录介质。

此外,记录装置PROD_C也可以进一步具备:拍摄运动图像的摄像机PROD_C3、用于从外部输入运动图像的输入端子PROD_C4、用于接收运动图像的接收部PROD_C5、以及生成或加工图像的图像处理部C6,作为输入至编码部PROD_C1的运动图像的供给源。图34(a)中例示出了记录装置PROD_C具备这些全部的构成,但也可以省略一部分。

需要说明的是,接收部PROD_C5可以接收未被编码的运动图像,也可以接收以与记录用的编码方式不同的传输用的编码方式编码的编码数据。在后者的情况下,使对以传输用的编码方式编码的编码数据进行解码的传输用解码部(未图示)介于接收部PROD_C5与编码部PROD_C1之间为好。

作为这种记录装置PROD_C,例如可列举:DVD记录器,BD记录器,HDD(Hard Disk Drive)记录器等(该情况下,输入端子PROD_C4或接收部PROD_C5成为运动图像的主要的供给源)。此外,便携式摄像机(该情况下,摄像机PROD_C3成为运动图像的主要的供给源)、个人计算机(该情况下,接收部PROD_C5或图像处理部C6成为运动图像的主要的供给源)、智能手机(该情况下,摄像机PROD_C3或接收部PROD_C5成为运动图像的主要的供给源)等也是这种记录装置PROD_C的一个示例。

图34(b)是表示搭载有上述的图像解码装置31的再现装置PROD_D的构成的框。如图34(b)所示,再现装置PROD_D具备:读出已写入记录介质PROD_M的编码数据的读出部PROD_D1、以及通过对读出部PROD_D1所读出的编码数据进行解码而获得运动图像的解码部PROD_D2。上述的图像解码装置31用作该解码部PROD_D2。

需要说明的是,记录介质PROD_M可以是(1)如HDD、SSD等那样内置于再现装置PROD_D的类型的记录介质,也可以是(2)如SD存储卡、USB闪存等那样与再现装置PROD_D连接的类型的记录介质,也可以是(3)如DVD、BD等那样装填至内置于再现装置PROD_D的驱动装置(未图示)的类型的记录介质。

此外,再现装置PROD_D也可以进一步具备显示运动图像的显示器PROD_D3、用于将运动图像输出至外部的输出端子PROD_D4、以及发送运动图像的发送部PROD_D5,作为解码部PROD_D2所输出的运动图像的供给目的地。图34(b)中示例出了再现装置PROD_D具备这些全部的构成,但也可以省略一部分。

需要说明的是,发送部PROD_D5可以发送未被编码的运动图像,也可以发送以与记录用的编码方式不同的传输用的编码方式编码的编码数据。在后者的情况下,使以传输用的编码方式对运动图像进行编码的编码部(未图示)介于解码部PROD_D2与发送部PROD_D5之间为好。

作为这种再现装置PROD_D,例如可列举DVD播放器、BD播放器、HDD播放器等(该情况下,连接有电视接收机等的输出端子PROD_D4成为运动图像的主要的供给目的地)。此外,电视接收机(该情况下,显示器PROD_D3成为运动图像的主要的供给目的地)、数字标牌(也称为电子看板、电子公告板等,显示器PROD_D3或发送部PROD_D5成为运动图像的主要的供给目的地)、台式PC(该情况下,输出端子PROD_D4或发送部PROD_D5成为运动图像的主要的供给目的地)、膝上型或平板型PC(该情况下,显示器PROD_D3或发送部PROD_D5成为运动图像的主要的供给目的地)、智能手机(该情况下,显示器PROD_D3或发送部PROD_D5成为运动图像的主要的供给目的地)等也是这种再现装置PROD_D的一个示例。

(硬件实现以及软件实现)

此外,上述的图像解码装置31以及图像编码装置11的各块可以通过形成于集成电路(IC芯片)上的逻辑电路而硬件上地实现,也可以利用CPU(Central Processing Unit:中央处理器)而软件上地实现。

在后者的情况下,上述各装置具备:执行实现各功能的程序的命令的CPU、储存上述程序的ROM(Read Only Memory:只读存储器)、展开上述程序的RAM(Random Access Memory:随机存取存储器)、以及储存上述程序和各种数据的存储器等存储装置(记录介质)等。然后,本发明的一实施方式的目的通过以下方式也能够达成:将实现上述的功能的软件、即计算机可读取地记录上述各装置的控制程序的程序代码(执行形式程序、中间代码程序、源程序)的记录介质供给至上述各装置,该计算机(或CPU、MPU)读出记录于记录介质的程序代码并执行。

作为上述记录介质,例如可使用磁带、盒式磁带等带类,包含软盘(注册商标)/硬盘等磁盘、CD-ROM(Compact DiscRead-Only Memory:光盘只读存储器)/MO盘(Magneto-Opticaldisc:磁光盘)/MD(Mini Disc:小型磁盘)/DVD(Digital Versatile Disc:数字化通用磁盘)/CD-R(CD Recordable:光盘刻录片)/蓝光盘(Blu-rayDisc:注册商标)等光盘的盘类,IC卡(包含存储卡)/光卡等卡类,掩膜ROM/EPROM(Erasable Programmable Read-Only Memory:可擦可编程只读存储器)/EEPROM(ElectricallyErasableandProgrammableRead-OnlyMemory:电可擦可编程只读存储器,注册商标)/闪速ROM等半导体存储器类,或者PLD(Programmable logic device:可编程逻辑器件)、FPGA(Field Programmable Gate Array:现场可编程门阵列)等逻辑电路类等。

此外,也可以将上述各装置构成为可与通信网络连接,经由通信网络供给上述程序代码。该通信网络能够传输程序代码即可,并无特别限定。例如,可利用互联网、内部网(intranet)、外部网(extranet)、LAN(Local Area Network:局域网)、ISDN(Integrated Services Digital Network:综合业务数字网),VAN(Value-Added Network:增值网络)、CATV(Community Antenna television/Cable Television:社区天线电视/有线电视)通信网、虚拟专用网(Virtual Private Network)、电话线路网、移动通信网、卫星通信网等。此外,构成该通信网络的传输介质也只要是可传输程序代码的介质即可,不限定于特定的构成或种类。例如,无论在IEEE(Institute of Electrical and Electronic Engineers:电气和电子工程师协会)1394、USB、电力线输送、有线TV线路、电话线、ADSL(Asymmetric Digital Subscriber Line:非对称数字用户线路)线路等有线中,还是在如IrDA(Infrared Data Association:红外线数据协会)、遥控器那样的红外线、Bluetooth(注册商标)、IEEE802.11无线、HDR(High Data Rate:高数据速率)、NFC(Near Field Communication:近场通讯)、DLNA(Digital Living Network Alliance:数字生活网络联盟,注册商标)、便携电话网、卫星线路、地面波数字网等无线中都可利用。需要说明的是,本发明的一实施方式即使以通过电子传输将上述程序代码具体化的嵌入载波的计算机数据信号的形态也能够实现。

本发明的一实施方式并不限定于上述的实施方式,在权利要求所示的范围内,可进行各种变更。即,将在权利要求所示的范围内经过适宜变更的技术方案组合而获得的实施方式也包含在本发明的技术范围内。

(关联申请的相互参照)

本申请针对2016年2月3日提出申请的日本特愿2016-019354主张优先权的利益,通过对该申请进行参照而将其全部内容包含在本说明书中。工业上的可利用性

本发明的一实施方式能够优选地应用于对将图像数据编码而得的编码数据进行解码的图像解码装置、以及生成将图像数据编码而得的编码数据的图像编码装置。此外,能够优选地应用于由图像编码装置生成并被图像解码装置参照的编码数据的数据结构。

符号说明

1:图像传输系统

11:图像编码装置(运动图像编码装置)

101:预测图像生成部

102:减法部

103:DCT/量化部

104:熵编码部

105:逆量化/逆DCT部

106:加法部

108:预测参数存储器(帧存储器)

109:参照图片存储器(帧存储器)

110:编码参数决定部

111:预测参数编码部

112:帧间预测参数编码部

1121:合并预测参数推导部

1122:AMVP预测参数推导部

1123:减法部

1126:预测参数统合部

113:帧内预测参数编码部

21:网络

31:图像解码装置(运动图像解码装置)

301:熵解码部

302:预测参数解码部

303:帧间预测参数解码部(预测矢量计算部)

30312:合并索引解码部

30313:矢量候选索引解码部

3032:AMVP预测参数推导部

3033:矢量候选推导部

3035:加法部

3036:合并预测参数推导部

30361:合并候选推导部

303611:合并候选储存部

30362:合并候选选择部

304:帧内预测参数解码部

306:参照图片存储器(帧存储器)

307:预测参数存储器(帧存储器)

308:预测图像生成部

309:帧间预测图像生成部

3091:运动补偿部(预测图像生成装置、预测图像生成部)

30911:运动补偿梯度部

309122:梯度校正系数推导部(第二切换部、剪辑部)

309112:梯度推导部(第一切换部)

3094:权重预测部

310:帧内预测图像生成部

311:逆量化/逆DCT部

312:加法部

41:图像显示装置

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