视频编码方法、视频解码方法、视频编码装置、视频解码装置、视频编码程序以及视频解码程序与流程

文档序号:11892757阅读:223来源:国知局
本发明涉及视频编码方法、视频解码方法、视频编码装置、视频解码装置、视频编码程序以及视频解码程序。本申请基于在2013年12月27日向日本申请的特愿2013-273523号要求优先权,并将其内容引用于此。
背景技术
::自由视点视频是指用户能够自由地指定在拍摄空间内的摄像机的位置或方向(以下,称为“视点”。)的视频。在自由视点视频中,用户任意指定视点,因此,不能够保持来自具有指定的可能性的全部视点的视频。因此,自由视点视频由为了生成来自能够指定的若干个视点的视频而需要的信息组构成。再有,自由视点视频有时被称为自由视点电视、任意视点视频或任意视点电视等。关于自由视点视频,使用各种数据形式表现,但是,作为最通常的形式,存在使用视频和与该视频的帧对应的深度图(距离图像)的方式(例如,参照非专利文献1)。深度图是指按照每个像素表现从摄像机到被摄物的深度(距离)的图。深度图表现被摄物的三维的位置。深度在满足某个条件的情况下与二个摄像机(摄像机对)之间的视差的倒数成比例。因此,深度有时也被称为视差图(视差图像)。在计算机制图(computergraphics)的领域中,深度为在Z缓冲器中蓄积的信息,因此,有时也被称为Z图像或Z图。再有,除了从摄像机到被摄物的距离之外,有时也将在表现对象空间上伸展的三维坐标系的Z轴的坐标值(Z值)用作深度。在针对所拍摄的图像而X轴被确定为水平方向、Y轴被确定为垂直方向的情况下,Z轴与摄像机的方向一致。但是,在针对多个摄像机而使用共同的坐标系的情况下,Z轴有时与摄像机的方向不一致。在以下,在不进行区别的情况下将距离和Z轴称为“深度”。此外,将使深度表示为像素值的图像称为“深度图”。但是,严格地,在视差图中,需要设定成为基准的摄像机对。在将深度表示为像素值时,存在将与物理量对应的值直接作为像素值的方法、使用在规定数量的区间中最小值和最大值之间被量化时通过深度的量化而得到的值的方法、以及使用以规定步长(stepsize)量化根据深度的最小值的差而得到的值的方法。在限制所表现的范围的情况下,使用最小值等附加信息更能够高精度地表现深度。此外,在等间隔地量化物理量的方法中,存在直接量化物理量的方法和量化物理量的倒数的方法。距离的倒数为与视差成比例的值,因此,在需要高精度地表现距离的情况下,使用前者的情况较多,在需要高精度地表现视差的情况下,使用后者的情况较多。在以下,与深度的像素值化的方法或量化的方法无关,将表现了深度的图像称为“深度图”。深度图表现为按照每个像素具有一个值的图像,因此,能够看作灰度(grayscale)图像。被摄物在实空间上连续地存在,不能够向远离的位置瞬间地移动。因此,深度图可以说与视频信号同样地具有空间的相关性和时间的相关性。但是,能够通过为了对图像信号进行编码而使用的图像编码方式或者为了对视频信号进行编码而使用的视频编码方式一边除去空间的冗余性和时间的冗余性一边高效地对深度图或由连续的深度图构成的视频进行编码。在以下,在不进行区别的情况下将深度图和由连续的深度图构成的视频称为“深度图”。对通常的视频编码进行说明。在视频编码中,为了利用被摄物在空间上和时间上连续这样的特征来实现高效的编码,将视频的各帧分割为被称为宏块的处理单位块。在视频编码中,按照每个宏块在空间上和时间上预测该视频信号,对示出其预测方法的预测信息和预测残差进行编码。在空间上预测视频信号的情况下,例如,示出空间的预测的方向的信息为预测信息。在时间上预测视频信号的情况下,例如,示出参照的帧的信息和示出该帧中的位置的信息为预测信息。在空间上进行的预测为帧内的预测,因此,被称为帧内预测(intra-frameprediction)、画面内预测(intra-pictureprediction)或者内部预测(intraprediction)。在时间上进行的预测为帧间的预测,因此,被称为帧间预测(inter-frameprediction)、画面间预测(inter-pictureprediction)或者时间性预测(interprediction)。此外,在时间上进行的预测对视频的时间的变化即运动进行补偿来进行视频信号的预测,因此,也被称为运动补偿预测。在对由从多个位置或方向拍摄了相同的场景的视频构成的多视点视频进行编码时,对视频的视点间的变化即视差进行补偿来进行视频信号的预测,因此,使用视差补偿预测。在由基于多个视点的视频和深度图构成的自由视点视频的编码中,哪一个都具有空间相关性和时间相关性,因此,使用通常的视频编码方式来对每一个进行编码,由此,能够削减码量。例如,在使用MPEG-CPart.3来表现多视点视频和与其对应的深度图的情况下,使用现有的视频编码方式来对每一个进行编码。此外,在将基于多个视点的视频和深度图一起编码的情况下,存在以下方法:通过使用根据深度图而得到的视差信息,从而利用在视点间存在的相关性来实现高效的编码。例如,在非专利文献2中记载了如下方法:针对处理对象的区域,根据深度图求取视差矢量,使用该视差矢量,决定已经编码完毕的另外的视点的视频上的对应区域,将该对应区域中的视频信号用作处理对象的区域中的视频信号的预测值,由此,实现高效的编码。现有技术文献非专利文献非专利文献1:Y.Mori,N.Fukusima,T.Fujii,andM.Tanimoto,“ViewGenerationwith3DWarpingUsingDepthInformationforFTV”,InProceedingsof3DTV-CON2008,pp.229-232,2008年5月;非专利文献2:G.Tech,K.Wegner,Y.Chen,andS.Yea,“3D-HEVCDraftText1”,JCT-3VDoc.,JCT3V-E1001(version3),2013年9月。技术实现要素:发明要解决的课题根据非专利文献2所记载的方法,通过变换深度图的值,从而取得高精度的视差矢量。由此,非专利文献2所记载的方法能够实现高效率的预测编码。但是,在非专利文献2所记载的方法中,假定在将深度向视差矢量变换时,视差与深度的倒数成比例。更具体地,通过深度的倒数、摄像机的焦点距离与视点间的距离的积来求取视差。这样的变换在二个视点具有相同的焦点距离且视点的方向(摄像机的光轴)在三维上平行的情况下提供正确的结果,但是,在其以外的状况下提供错误的结果。为了进行正确的变换,如非专利文献1所记载的那样,需要在通过将图像上的点按照深度向三维空间反投影而得到三维点之后通过将该三维点向另外的视点再次投影来计算来自另外的视点的图像上的点。但是,在这样的变换中需要复杂的运算,存在运算量增加这样的问题。也就是说,存在视频编码的效率低这样的问题。鉴于上述情况,本发明的目的在于提供在将针对多个视点的视频和深度图具有为结构要素的自由视点视频数据的编码中即使在视点的方向不平行的情况下也能够通过提高根据深度图计算的视差矢量的精度来提高视频编码的效率的视频编码方法、视频解码方法、视频编码装置、视频解码装置、视频编码程序以及视频解码程序。用于解决课题的方案本发明的一个方式是,一种视频编码装置,在对由多个不同的视点的视频构成的多视点视频的1帧即编码对象图像进行编码时,使用针对与所述编码对象图像的视点不同的参照视点的图像即参照视点图像和针对所述多视点视频中的被摄物的深度图,按照作为对所述编码对象图像进行分割后的区域的编码对象区域的每一个,一边在不同的视点间进行预测一边进行编码,其中,所述视频编码装置具有:代表深度设定部,根据所述深度图来设定代表深度;变换矩阵设定部,基于所述代表深度来设定将所述编码对象图像上的位置向所述参照视点图像上的位置变换的变换矩阵;代表位置设定部,根据所述编码对象区域内的位置来设定代表位置;视差信息设定部,使用所述代表位置和所述变换矩阵来设定针对所述编码对象区域的所述编码对象的所述视点与所述参照视点的视差信息;以及预测图像生成部,使用所述视差信息来生成针对所述编码对象区域的预测图像。优选的是,本发明的一个方式还具有深度区域设定部,所述深度区域设定部针对所述编码对象区域设定作为在所述深度图上的对应区域的深度区域,所述代表深度设定部根据针对所述深度区域的所述深度图来设定所述代表深度。优选的是,本发明的一个方式还具有深度参照视差矢量设定部,所述深度参照视差矢量设定部针对所述编码对象区域设定作为针对所述深度图的视差矢量的深度参照视差矢量,所述深度区域设定部将由所述深度参照视差矢量示出的区域设定为所述深度区域。优选的是,在本发明的一个方式中,所述深度参照视差矢量设定部使用在对与所述编码对象区域邻接的区域进行编码时使用的视差矢量来设定所述深度参照视差矢量。优选的是,在本发明的一个方式中,所述代表深度设定部将在与所述编码对象区域的4顶点的像素对应的所述深度区域内的深度之中示出最靠近所述编码对象图像的所述视点的深度设定为所述代表深度。本发明的一个方式是,一种视频解码装置,在根据由多个不同的视点的视频构成的多视点视频的码数据对解码对象图像进行解码时,使用针对与所述解码对象图像的视点不同的参照视点的图像即参照视点图像和针对所述多视点视频中的被摄物的深度图,按照作为对所述解码对象图像进行分割后的区域的解码对象区域的每一个,一边在不同的视点间进行预测一边进行解码,其中,所述视频解码装置具有:代表深度设定部,根据所述深度图来设定代表深度;变换矩阵设定部,基于所述代表深度来设定将所述解码对象图像上的位置向所述参照视点图像上的位置变换的变换矩阵;代表位置设定部,根据所述解码对象区域内的位置来设定代表位置;视差信息设定部,使用所述代表位置和所述变换矩阵来设定针对所述解码对象区域的所述解码对象的所述视点与所述参照视点的视差信息;以及预测图像生成部,使用所述视差信息来生成针对所述解码对象区域的预测图像。优选的是,本发明的一个方式还具有深度区域设定部,所述深度区域设定部针对所述解码对象区域设定作为在所述深度图上的对应区域的深度区域,所述代表深度设定部根据针对所述深度区域的所述深度图来设定所述代表深度。优选的是,本发明的一个方式还具有深度参照视差矢量设定部,所述深度参照视差矢量设定部针对所述解码对象区域设定作为针对所述深度图的视差矢量的深度参照视差矢量,所述深度区域设定部将由所述深度参照视差矢量示出的区域设定为所述深度区域。优选的是,在本发明的一个方式中,所述深度参照视差矢量设定部使用在对与所述解码对象区域邻接的区域进行解码时使用的视差矢量来设定所述深度参照视差矢量。优选的是,在本发明的一个方式中,所述代表深度设定部将在与所述解码对象区域的4顶点的像素对应的所述深度区域内的深度之中示出最靠近所述解码对象图像的所述视点的深度设定为所述代表深度。本发明的一个方式是,一种视频编码方法,在对由多个不同的视点的视频构成的多视点视频的1帧即编码对象图像进行编码时,使用针对与所述编码对象图像的视点不同的参照视点的图像即参照视点图像和针对所述多视点视频中的被摄物的深度图,按照作为对所述编码对象图像进行分割后的区域的编码对象区域的每一个,一边在不同的视点间进行预测一边进行编码,其中,所述视频编码方法具有:代表深度设定步骤,根据所述深度图来设定代表深度;变换矩阵设定步骤,基于所述代表深度来设定将所述编码对象图像上的位置向所述参照视点图像上的位置变换的变换矩阵;代表位置设定步骤,根据所述编码对象区域内的位置来设定代表位置;视差信息设置步骤,使用所述代表位置和所述变换矩阵来设定针对所述编码对象区域的所述编码对象的所述视点与所述参照视点的视差信息;以及预测图像生成步骤,使用所述视差信息来生成针对所述编码对象区域的预测图像。本发明的一个方式是,一种视频解码方法,在根据由多个不同的视点的视频构成的多视点视频的码数据对解码对象图像进行解码时,使用针对与所述解码对象图像的视点不同的参照视点的图像即参照视点图像和针对所述多视点视频中的被摄物的深度图,按照作为对所述解码对象图像进行分割后的区域的解码对象区域的每一个,一边在不同的视点间进行预测一边进行解码,其中,所述视频解码方法具有:代表深度设定步骤,根据所述深度图来设定代表深度;变换矩阵设定步骤,基于所述代表深度来设定将所述解码对象图像上的位置向所述参照视点图像上的位置变换的变换矩阵;代表位置设定步骤,根据所述解码对象区域内的位置来设定代表位置;视差信息设置步骤,使用所述代表位置和所述变换矩阵来设定针对所述解码对象区域的所述解码对象的所述视点与所述参照视点的视差信息;以及预测图像生成步骤,使用所述视差信息来生成针对所述解码对象区域的预测图像。本发明的一个方式是,一种视频编码程序,其中,用于使计算机执行视频编码方法。本发明的一个方式是,一种视频解码程序,其中,用于使计算机执行视频解码方法。发明效果根据本发明,在将针对多个视点的视频和深度图具有为结构要素的自由视点视频数据的编码中,即使在视点的方向不平行的情况下,也能够提高根据深度图计算的视差矢量的精度,提高视频编码的效率。附图说明图1是示出本发明的一个实施方式的视频编码装置的结构的框图。图2是示出本发明的一个实施方式的视频编码装置的工作的流程图。图3是示出在本发明的一个实施方式中视差矢量生成部生成视差矢量的处理(步骤S104)的流程图。图4是示出在本发明的一个实施方式中将编码对象区域分割为子区域来生成视差矢量的处理的流程图。图5是示出本发明的一个实施方式的视频解码装置的结构的框图。图6是示出本发明的一个实施方式的视频解码装置的工作的流程图。图7是示出由计算机和软件程序构成本发明的一个实施方式的视频编码装置的情况下的硬件结构的例子的框图。图8是示出由计算机和软件程序构成本发明的一个实施方式的视频解码装置的情况下的硬件结构的例子的框图。具体实施方式以下,参照附图来详细地说明本发明的一个实施方式的视频编码方法、视频解码方法、视频编码装置、视频解码装置、视频编码程序以及视频解码程序。在以下的说明中,设想对由2个摄像机(摄像机A和摄像机B)拍摄的多视点视频进行编码的情况。摄像机A的视点为参照视点。此外,摄像机B所拍摄的视频以帧为单位被编码和解码。再有,假设另外提供为了根据深度得到视差而需要的信息。具体地,该信息只要为表示摄像机A和摄像机B的位置关系的外部参数或表示利用摄像机的向图像平面的投影信息的内部参数等即具有与它们相同的意思的信息,则也可以以另外的形式提供需要的信息。与这些摄像机参数相关的详细的说明例如被记载在文献“OlivierFaugeras,“Three-DimensionalComputerVision”,pp.33-66,MITPress;BCTC/UFF-006.37F2591993,ISBN:0-262-06158-9.”中。在该文献中,记载了与示出多个摄像机的位置关系的参数、表示利用摄像机的向图像平面的投影信息的参数相关的说明。在以下的说明中,假设对图像、视频帧(图像帧)或深度图附加能够特别指定位置的信息(坐标值或能够与坐标值相对应的索引等),由此,附加有能够特别指定位置的信息的信息示出在该位置的像素中采样后的视频信号或基于其的深度。此外,假设通过由能够与坐标值相对应的索引值与矢量的相加而得到的值来表示使该坐标错开矢量的量的位置的坐标值。此外,假设通过由能够与块相对应的索引值与矢量的相加而得到的值来表示使该块错开矢量的量的位置的块。首先,对编码进行说明。图1是示出本发明的一个实施方式的视频编码装置的结构的框图。视频编码装置100具备:编码对象图像输入部101、编码对象图像存储器102、参照视点图像输入部103、参照视点图像存储器104、深度图输入部105、视差矢量生成部106(代表深度设定部、变换矩阵设定部、代表位置设定部、视差信息设定部、深度区域设定部、深度参照视差矢量设定部)、以及图像编码部107(预测图像生成部)。编码对象图像输入部101按照每个帧将成为编码对象的视频输入到编码对象图像存储器102中。以下,将该成为编码对象的视频称为“编码对象图像组”。将被输入并被编码的帧称为“编码对象图像”。编码对象图像输入部101按照每个帧从摄像机B所拍摄的编码对象图像组输入编码对象图像。以下,将拍摄了编码对象图像的视点(摄像机B)称为“编码对象视点”。编码对象图像存储器102存储被输入的编码对象图像。参照视点图像输入部103将从与编码对象图像不同的视点(摄像机A)拍摄的视频输入到参照视点图像存储器104中。从与编码对象图像不同的视点(摄像机A)拍摄的视频为在对编码对象图像进行编码时参照的图像。以下,将在对编码对象图像进行编码时参照的图像的视点称为“参照视点”。此外,将来自参照视点的图像称为“参照视点图像”。参照视点图像存储器104蓄积被输入的参照视点图像。深度图输入部105将在求取基于视点间的像素的对应关系的视差矢量(示出视差的信息)时参照的深度图输入到视差矢量生成部106中。在此,假设输入与编码对象图像对应的深度图,但是,也可以是另外的视点(参照视点等)中的深度图。再有,该深度图是指按照每个像素表示在编码对象图像中显现的被摄物的三维位置。关于深度图,例如,能够使用从摄像机到被摄物的距离、与图像平面不平行的轴的坐标值或者针对另外的摄像机(例如,摄像机A)的视差量来表现。在此,假设以图像的方式给出深度图,但是,只要得到同样的信息,则不以图像的方式给出深度图也可。视差矢量生成部106根据深度图来生成编码对象图像所包含的区域与该编码对象图像所相对应的参照视点图像所包含的区域的视差矢量。图像编码部107基于生成的视差矢量和参照视点图像来对编码对象图像进行预测编码。接着,对视频编码装置100的工作进行说明。图2是示出本发明的一个实施方式的视频编码装置100的工作的流程图。编码对象图像输入部101将编码对象图像Org输入到编码对象图像存储器102中。编码对象图像存储器102存储编码对象图像Org。参照视点图像输入部103将参照视点图像Ref输入到参照视点图像存储器104中。参照视点图像存储器104存储参照视点图像Ref(步骤S101)。再有,假设在此输入的参照视点图像与对已经编码完毕的参照视点图像进行解码后的参照视点图像等在解码侧得到的参照视点图像相同。这是因为,通过使用与在解码侧得到的参照视点图像完全相同的信息,从而抑制漂移(drift)等编码噪声的产生。但是,在容许那样的编码噪声的产生的情况下,也可以输入编码前的参照视点图像等仅在编码侧得到的参照视点图像。在编码对象图像和参照视点图像的输入结束的情况下,将编码对象图像分割为预先确定的大小的区域,按照分割后的每个区域对编码对象图像的视频信号进行编码。以下,将对编码对象图像进行分割后的区域称为“编码对象区域”。在通常的编码中,分割为16像素×16像素的被称为宏块的处理单位块,但是,只要与解码侧相同,则也可以分割为其他的大小的块。此外,不以相同的尺寸分割编码对象图像的整体,按照每个区域分割为不同的尺寸的块也可(步骤S102~S107)。在图2中,将编码对象区域索引表示为“blk”。将编码对象图像的1帧中的编码对象区域的总数表示为“numBlks”。以0初始化blk(步骤S102)。在按照每个编码对象区域重复的处理中,首先,设定与编码对象区域blk对应的深度图(作为深度图上的对应区域的深度区域)(步骤S103)。通过深度图输入部105输入该深度图。再有,假设所输入的深度图与对已经编码完毕的深度图进行解码后的深度图等在解码侧得到的深度图相同。这是因为,通过使用与在解码侧得到的深度图相同的深度图,从而抑制漂移等编码噪声的产生。但是,在容许那样的编码噪声的产生的情况下,也可以输入编码前的深度图等仅在编码侧得到的深度图。此外,除了对已经编码完毕的深度图进行解码后的深度图以外,也能够将通过对针对多个摄像机而解码后的多视点视频应用立体匹配(stereomatching)等而估计出的深度图或者使用解码后的视差矢量或运动矢量等而估计出的深度图等用作在解码侧得到相同的深度图的深度图。此外,在本实施方式中,假设按照每个编码对象区域输入与编码对象区域对应的深度图,但是,通过事先输入并蓄积在编码对象图像的整体中使用的深度图并且按照每个编码对象区域参照所蓄积的深度图来设定编码对象区域blk中的深度图也可。关于编码对象区域blk的深度图,怎样设定都可以。例如,在使用与编码对象图像对应的深度图的情况下,设定与编码对象图像中的编码对象区域blk的位置相同的位置的深度图也可,设定错开预先确定的或另外指定的矢量的量后的位置的深度图也可。再有,在编码对象图像与编码对象图像所对应的深度图的分辨率不同的情况下,设定根据分辨率比缩放(scaling)后的区域也可,设定根据分辨率比对根据分辨率比缩放后的区域进行上采样(up-sample)而生成的深度图也可。此外,设定针对编码对象视点在过去编码后的图像所对应的深度图的与编码对象区域相同的位置的深度图也可。再有,在将与编码对象视点不同的视点之一设为深度视点并且使用深度视点中的深度图的情况下,求取编码对象区域blk中的编码对象视点与深度视点的估计视差PDV(深度参照视差矢量),设定“blk+PDV”中的深度图。再有,在编码对象图像与深度图的分辨率不同的情况下,根据分辨率比进行位置和大小的缩放也可。关于编码对象区域blk中的编码对象视点与深度视点的估计视差PDV,只要为与解码侧相同的方法,则使用怎样的方法来求取都可以。例如,能够使用在对编码对象区域blk的周边区域进行编码时使用的视差矢量、针对编码对象图像的整体或包含编码对象区域的部分图像设定的全局视差矢量或者按照每个编码对象区域另外设定并编码的视差矢量等。此外,蓄积在不同的编码对象区域或在过去编码后的编码对象图像中使用的视差矢量,使用所蓄积的视差矢量也可。接着,视差矢量生成部106使用设定的深度图来生成编码对象区域blk的视差矢量(步骤S104)。对该处理的细节在后面进行叙述。图像编码部107一边使用编码对象区域blk的视差矢量和在参照视点图像存储器104中蓄积的参照视点图像来进行预测,一边对编码对象区域blk中的编码对象图像的视频信号(像素值)进行编码(步骤S105)。编码的结果得到的位流成为视频编码装置100的输出。再有,对于编码的方法,使用怎样的方法都可以。例如,图像编码部107在使用MPEG-2、H.264/AVC等通常的编码的情况下对编码对象区域blk的视频信号与预测图像的差分信号依次实施离散余弦变换(DCT:DiscreteCosineTransform)等频率变换、量化、二值化、熵编码,由此,进行编码。图像编码部107对blk加上1(步骤S106)。图像编码部107判定blk是否不足numBlks(步骤S107)。在blk不足numBlks的情况下(步骤S107:是),图像编码部107将处理返回到步骤S103。另一方面,在blk非不足numBlks的情况下(步骤S107:否),图像编码部107结束处理。图3是示出本发明的一个实施方式的视差矢量生成部106生成视差矢量的处理(步骤S104)的流程图。在生成视差矢量的处理中,首先,根据编码对象区域blk的深度图来设定代表像素位置pos和代表深度rep(步骤S1403)。使用怎样的方法来设定代表像素位置pos和代表深度rep都可以,但是,需要使用与解码侧相同的方法。作为设定代表像素位置pos的代表的方法,存在将编码对象区域内的中央或左上等预先确定的位置设定为代表像素位置的方法或者在求取代表深度之后将具有与该代表深度相同的深度的编码对象区域内的像素的位置设定为代表像素位置的方法。此外,作为另外的方法,存在比较基于预先确定的位置的像素的深度来设定具有满足预先确定的条件的深度的像素的位置的方法。具体地,为以下方法:将位于编码对象区域内的中央的4个像素、位于在编码对象区域中确定的4顶点的像素或者位于在编码对象区域中确定的4顶点的像素和位于中央的像素作为对象,选择提供最大的深度、最小的深度或中央值的深度等的像素。作为设定代表深度rep的代表的方法,存在使用编码对象区域blk的深度图的平均值、中央值、最大值或最小值(根据深度的定义,示出最靠近编码对象图像的视点的深度或示出最远离编码对象图像的视点的深度)等的方法。此外,也可以不使用编码对象区域内的全部像素而是使用基于一部分的像素的深度值的平均值、中央值、最大值或最小值等。作为一部分像素,也可以使用位于在编码对象区域中确定的4顶点的像素或者位于4顶点的像素和位于中央的像素等。进而,也存在使用基于相对于编码对象区域左上或中央等预先确定的位置的深度值的方法。在得到代表像素位置pos和代表深度rep的情况下,求取变换矩阵Hrep(步骤S1404)。在此,变换矩阵被称为单应(homography)矩阵,在假定在由代表深度表现的平面中存在被摄物时,提供在视点间的图像平面上的点的对应关系。再有,变换矩阵Hrep怎样求取都可以。例如,能够使用式(1)来求取。[数式1]。在此,R示出编码对象视点与参照视点之间的3×3旋转矩阵。t示出编码对象视点与参照视点之间的平移矢量。Drep示出代表深度。n(Drep)示出编码对象视点中的代表深度Drep所对应的三维平面的法线矢量。d(Drep)示出该三维平面与编码对象视点和参照视点的视点中心间的距离。此外,右上角的T示出矢量的转置。作为变换矩阵Hrep的另外的求取方法,首先,针对编码对象图像中的不同的4点pi(i=1、2、3、4),基于式(2)来求取参照视点的图像上的对应点qi。[数式2]。在此,Pt和Pr分别示出编码对象视点和参照视点中的3×4摄像机矩阵。当由A表示摄像机的内部参数、由R表示从世界坐标系(不依赖于摄像机的任意的共同的坐标系)向摄像机坐标系的旋转矩阵、由t表示对从世界坐标系向摄像机坐标系的平移进行表示的列向量时,使用A[R|t]来提供在此的摄像机矩阵([R|t]为排列R和t来制作的3×4矩阵,被称为摄像机的外部参数)。再有,假设在此的摄像机矩阵P的逆矩阵P-1为利用摄像机矩阵P的变换的逆变换所对应的矩阵,由R-1[A-1|-t]表示。dt(pi)示出假设编码对象图像上的点pi处的深度为代表深度时的从编码对象视点到点pi处的被摄物的光轴上的距离。s为任意的实数,但是,在没有摄像机参数的误差的情况下,s与从参照视点的图像上的点qi处的参照视点到点qi处的被摄物的光轴上的距离dr(qi)相等。此外,当按照上述定义计算式(2)时,为下面的式(3)。再有,内部参数A、旋转矩阵R、平移矢量t的附加字表示摄像机,t和r分别表示编码对象视点和参照视点。[数式3]。在求取了4个对应点的情况下,通过解出按照式(4)得到的齐次方程式,从而得到变换矩阵Hrep。其中,变换矩阵Hrep的(3,3)分量为任意的实数(例如1)。[数式4]。关于变换矩阵Hrep,由于依赖于参照视点和深度,所以,每当求取代表深度时每次求取也可。此外,变换矩阵Hrep在开始每个编码对象区域的处理之前按照参照视点和代表深度的组合的每一个求取,在此,从已经计算的变换矩阵组之中基于参照视点和代表深度来选择以及设定一个变换矩阵也可。在得到基于代表深度的变换矩阵的情况下,基于式(5)来求取参照视点上的位置,生成视差矢量(步骤S1405)。[数式5]。在此,k示出任意的实数。cpos示出参照视点上的位置。“cpos-pos”示出所求取的视差矢量。再有,通过对编码对象视点的位置加上视差矢量而得到的位置示出与该编码对象视点的位置对应的参照视点上的对应位置。在通过从编码对象视点的位置减去视差矢量来表示对应位置的情况下,视差矢量为“pos-cpos”。在上述的说明中,对于编码对象区域blk的整体生成了视差矢量,但是,将编码对象区域blk分割为多个子区域而按照每个子区域来生成视差矢量也可。图4是示出在本发明的一个实施方式中将编码对象区域分割为子区域来生成视差矢量的处理的流程图。视差矢量生成部106对编码对象区域blk进行分割(步骤S1401)。numSBlks示出编码对象区域blk内的子区域数量。视差矢量生成部106以0初始化子区域索引“sblk”(步骤S1402)。视差矢量生成部106设定代表像素位置和代表深度值(步骤S1403)。视差矢量生成部106根据代表深度值来求取变换矩阵(步骤S1404)。视差矢量生成部106求取针对参照视点的视差矢量。也就是说,视差矢量生成部106根据子区域sblk的深度图来求取视差矢量(步骤S1405)。视差矢量生成部106对sblk加上1(步骤S1406)。视差矢量生成部106判定sblk是否不足numSBlks(步骤S1407)。在sblk不足numSBlks的情况下(步骤S1407:是),视差矢量生成部106将处理返回到步骤S1403。也就是说,视差矢量生成部106按照通过分割而得到的子区域的每一个重复根据深度图来求取视差矢量的“步骤S1403~S1407”。另一方面,在sblk非不足numSBlks的情况下(步骤S1407:否),视差矢量生成部106结束处理。再有,关于编码对象区域blk的分割,只要为与解码侧相同的方法,则使用怎样的方法来分割都可以。例如,分割为预先确定的大小(4像素×4像素或8像素×8像素等)也可,通过解析编码对象区域blk的深度图来分割也可。例如,基于深度图的值来进行分组(clustering),由此,进行分割也可。例如,使用编码对象区域blk的深度图的值的方差值、平均值、最大值或最小值等来进行分割也可。此外,考虑编码对象区域blk内的全部像素也可。此外,仅将确定的多个点或中央等特定的像素的集合作为对象来进行解析也可。进而,按照每个编码对象区域向相同的数量的子区域分割也可,按照每个编码对象区域向不同的数量的子区域分割也可。接着,对解码进行说明。图5是示出本发明的一个实施方式的视频解码装置200的结构的框图。视频解码装置200具备:位流输入部201、位流存储器202、参照视点图像输入部203、参照视点图像存储器204、深度图输入部205、视差矢量生成部206(代表深度设定部、变换矩阵设定部、代表位置设定部、视差信息设定部、深度区域设定部、深度参照视差矢量设定部)、以及图像解码部207(预测图像生成部)。位流输入部201将视频编码装置100编码后的位流即成为解码对象的视频的位流输入到位流存储器202中。位流存储器202存储成为解码对象的视频的位流。在以下,将该成为解码对象的视频所包含的图像称为“解码对象图像”。解码对象图像为摄像机B所拍摄的视频(解码对象图像组)所包含的图像。此外,在以下,将拍摄了解码对象图像的摄像机B的视点称为“解码对象视点”。参照视点图像输入部203将从与解码对象图像不同的视点(摄像机A)拍摄的视频所包含的图像输入到参照视点图像存储器204中。基于与解码对象图像不同的视点的图像为在对解码对象图像进行解码时参照的图像。在以下,将在对解码对象图像进行解码时参照的图像的视点称为“参照视点”。将参照视点的图像称为“参照视点图像”。参照视点图像存储器204蓄积被输入的参照视点图像。深度图输入部205将在求取基于视点间的像素的对应关系的视差矢量(示出视差的信息)时参照的深度图输入到视差矢量生成部206中。在此,假设输入与解码对象图像对应的深度图,但是,也可以为另外的视点(参照视点等)中的深度图。再有,该深度图是指按照每个像素表示在解码对象图像中显现的被摄物的三维位置。关于深度图,例如,能够使用从摄像机到被摄物的距离、与图像平面不平行的轴的坐标值或者针对另外的摄像机(例如,摄像机A)的视差量来表现。在此,假设以图像的方式给出深度图,但是,只要得到同样的信息,则不以图像的方式给出深度图也可。视差矢量生成部206根据深度图来生成解码对象图像所包含的区域与该解码对象图像所相对应的参照视点图像所包含的区域的视差矢量。图像解码部207基于生成的视差矢量和参照视点图像来根据位流对解码对象图像进行解码。接着,对视频解码装置200的工作进行说明。图6是示出本发明的一个实施方式的视频解码装置200的工作的流程图。位流输入部201将对解码对象图像进行编码后的位流输入到位流存储器202中。位流存储器202存储对解码对象图像进行编码后的位流。参照视点图像输入部203将参照视点图像Ref输入到参照视点图像存储器204中。参照视点图像存储器204存储参照视点图像Ref(步骤S201)。再有,在此输入的参照视点图像为与在编码侧使用的参照视点图像相同的参照视点图像。这是因为,通过使用与在编码时使用的参照视点图像完全相同的信息,从而抑制漂移等编码噪声的产生。但是,在容许那样的编码噪声的产生的情况下,也可以输入与在编码时使用的参照视点图像不同的参照视点图像。在位流和参照视点图像的输入结束的情况下,将解码对象图像分割为预先确定的大小的区域,按照分割后的每个区域根据位流对解码对象图像的视频信号进行解码。以下,将对解码对象图像进行分割后的区域称为“解码对象区域”。在通常的解码中,分割为16像素×16像素的被称为宏块的处理单位块,但是,只要与编码侧相同,则也可以分割为其他的大小的块。此外,不以相同的尺寸分割解码对象图像的整体,按照每个区域分割为不同的尺寸的块也可(步骤S202~S207)。在图6中,将解码对象区域索引表示为“blk”。将解码对象图像的1帧中的解码对象区域的总数表示为“numBlks”。以0初始化blk(步骤S202)。在按照每个解码对象区域重复的处理中,首先,设定解码对象区域blk的深度图(步骤S203)。通过深度图输入部205输入该深度图。再有,所输入的深度图为与在编码侧使用的深度图相同的深度图。这是因为,通过使用与在编码侧使用的深度图相同的深度图,从而抑制漂移等编码噪声的产生。但是,在容许那样的编码噪声的产生的情况下,也可以输入与编码侧不同的深度图。作为与在编码侧使用的深度图相同的深度图,除了根据位流另外解码后的深度图以外,也能够使用通过对针对多个摄像机而解码后的多视点视频应用立体匹配等而估计出的深度图或者使用解码后的视差矢量或运动矢量等而估计出的深度图等。此外,在本实施方式中,假设按照每个解码对象区域输入与解码对象区域对应的深度图,但是,通过事先输入并蓄积在解码对象图像的整体中使用的深度图并且按照每个解码对象区域参照所蓄积的深度图来设定与解码对象区域blk对应的深度图也可。关于与解码对象区域blk对应的深度图,怎样设定都可以。例如,在使用与解码对象图像对应的深度图的情况下,设定与解码对象图像中的解码对象区域blk的位置相同的位置的深度图也可,设定错开预先确定的或另外指定的矢量的量后的位置的深度图也可。再有,在解码对象图像与解码对象图像所对应的深度图的分辨率不同的情况下,设定根据分辨率比缩放后的区域也可,设定根据分辨率比对根据分辨率比缩放后的区域进行上采样而生成的深度图也可。此外,设定针对解码对象视点在过去解码后的图像所对应的深度图的与解码对象区域相同的位置的深度图也可。再有,在将与解码对象视点不同的视点之一设为深度视点并且使用深度视点中的深度图的情况下,求取解码对象区域blk中的解码对象视点与深度视点的估计视差PDV,设定“blk+PDV”中的深度图。再有,在解码对象图像与深度图的分辨率不同的情况下,根据分辨率比进行位置和大小的缩放也可。关于解码对象区域blk中的解码对象视点与深度视点的估计视差PDV,只要为与编码侧相同的方法,则使用怎样的方法来求取都可以。例如,能够使用在对解码对象区域blk的周边区域进行解码时使用的视差矢量、针对解码对象图像的整体或包含解码对象区域的部分图像设定的全局视差矢量或者按照每个解码对象区域另外设定并编码的视差矢量等。此外,蓄积在不同的解码对象区域或在过去解码后的解码对象图像中使用的视差矢量,使用所蓄积的视差矢量也可。接着,视差矢量生成部206生成解码对象区域blk中的视差矢量(步骤S204)。关于该处理,只要将编码对象区域替换为解码对象区域来看,就与上述的步骤S104相同。图像解码部207一边使用解码对象区域blk的视差矢量和在参照视点图像存储器204中蓄积的参照视点图像来进行预测,一边根据位流对解码对象区域blk中的视频信号(像素值)进行解码(步骤S205)。所得到的解码对象图像成为视频解码装置200的输出。再有,在视频信号的解码中,使用与在编码时使用的方法对应的方法。图像解码部207例如在使用MPEG-2、H.264/AVC等通常的编码的情况下对位流依次实施熵解码、逆二值化、逆量化、反离散余弦变换(IDCT:InverseDiscreteCosineTransform)等频率逆变换,对所得到的二维信号添加预测图像,最后在像素值的值域中对所得到的值进行剪裁(clipping),由此,根据位流对视频信号进行解码。图像解码部207对blk加上1(步骤S206)。图像解码部207判定blk是否不足numBlks(步骤S207)。在blk不足numBlks的情况下(步骤S207:是),图像解码部207将处理返回到步骤S203。另一方面,在blk非不足numBlks的情况下(步骤S207:否),图像解码部207结束处理。在上述的实施方式中,按照对编码对象图像或解码对象图像进行分割后的每个区域进行了视差矢量的生成,但是,针对编码对象图像或解码对象图像的全部区域事先生成并蓄积视差矢量而按照每个区域来参照所蓄积的视差矢量也可。在上述的实施方式中,写为对图像整体进行编码或解码的处理,但是,也能够仅对图像的一部分应用处理。在该情况下,对示出是否应用处理的标志(flag)进行编码或解码也可。此外,使用某些另外的手段来指定示出是否应用处理的标志也可。例如,是否应用处理表现为示出生成每个区域的预测图像的手法的模式之一也可。在上述的实施方式中,总是生成变换矩阵。但是,只要编码对象视点或解码对象视点与参照视点的位置关系或深度的定义(与各深度对应的三维平面)不发生变化,变换矩阵就不发生变化。因此,在预先求取变换矩阵的集合的情况下,不需要按照每个帧或每个区域重新计算变换矩阵。也就是说,每当编码对象图像发生变化时,比较由另外提供的摄像机参数表示的编码对象视点与参照视点的位置关系和由稍前的帧中的摄像机参数表示的编码对象视点与参照视点的位置关系。在没有位置关系的变化或者位置关系的变化小时,直接使用在稍前的帧中使用的变换矩阵的集合,仅在其以外的情况下,求取变换矩阵的集合也可。此外,每当解码对象图像发生变化时,比较由另外提供的摄像机参数表示的解码对象视点与参照视点的位置关系和由稍前的帧中的摄像机参数表示的解码对象视点与参照视点的位置关系。在没有位置关系的变化或者位置关系的变化小时,直接使用在稍前的帧中使用的变换矩阵的集合,仅在其以外的情况下,求取变换矩阵的集合也可。再有,在求取变换矩阵的集合时,不是重新求取全部变换矩阵,而是确认基于与稍前的帧比较位置关系不同的参照视点的变换矩阵和基于定义发生变化的深度的变换矩阵而仅针对它们重新求取变换矩阵也可。此外,仅在编码侧对是否需要变换矩阵的再次计算进行检查并且对其结果进行编码来传输也可。在该情况下,在解码侧基于所传输来的信息来决定是否再次计算变换矩阵也可。示出是否需要再次计算的信息针对帧整体仅设定一个也可,按照每个参照视点来设定也可,或者,按照每个深度来设定也可。进而,在上述的实施方式中,按照每个深度来生成变换矩阵,但是,按照另外确定的深度值的每个分区(section)将一个深度值设定为量化深度,按照该量化深度的每一个来设定变换矩阵也可。代表深度能够选取深度的值域的任意的深度值,因此,存在需要针对全部深度值的变换矩阵的情况,但是,通过像这样做,从而能够将需要变换矩阵的深度值仅限制为与量化深度相同的深度值。再有,在求取代表深度之后求取变换矩阵时,从包含该代表深度的深度值的分区求取量化深度,使用该量化深度来求取变换矩阵。特别地,在针对深度的值域整体设定一个量化深度的情况下,变换矩阵针对参照视点成为唯一。再有,只要为与解码侧相同的方法,则量化的区间和量化深度怎样设定都可以。例如,均等地分割深度的值域,将其中央值设定为量化深度也可。此外,按照深度图中的深度的分布来决定区间和量化深度也可。此外,在使用不能在解码侧设定的方法来决定量化深度的情况下,在编码侧对所决定的量化方法(区间和量化深度)进行编码来传输,在解码侧根据位流解码来得到量化方法也可。再有,特别地,在针对深度图整体设定一个量化深度的情况下等,对量化深度的值进行编码或解码来代替量化方法也可。进而,在上述的实施方式中,使用摄像机参数等即使在解码侧也生成变换矩阵,但是,对在编码侧计算而得到的变换矩阵进行编码来传输也可。在该情况下,在解码侧不会根据摄像机参数等生成变换矩阵而通过根据位流进行解码来取得变换矩阵。进而,在上述的实施方式中,总是使用变换矩阵,但是,对摄像机参数进行检查,如果在视点间方向平行,则生成查找表(look-uptable),按照该查找表进行深度与视差矢量的变换,如果在视点间方向不平行,则使用本申请发明的手法也可。此外,仅在编码侧进行检查并对示出使用哪一个手法的信息进行编码也可。在该情况下,在解码侧对该信息进行解码来决定使用哪一个手法。进而,在上述的实施方式中,按照对编码对象图像或解码对象图像进行分割后的每个区域(编码对象区域或解码对象区域以及它们的子区域)设定了一个视差矢量,但是,设定二个以上的视差矢量也可。例如,针对一个区域通过选择多个代表像素或者选择多个代表深度来生成多个视差矢量也可。特别地,通过设定最大值和最小值这二个代表深度,从而设定前景和背景双方的视差矢量也可。此外,在上述的说明中,使用了单应矩阵来作为变换矩阵,但是,只要为能够将编码对象图像或解码对象图像的像素位置向参照视点中的对应像素位置变换的矩阵,则使用另外的矩阵也可。例如,不使用严格的单应矩阵而使用简化后的矩阵也可。此外,使用将仿射(affine)变换矩阵、射影矩阵、多个变换矩阵组合而生成的矩阵等也可。通过使用另外的变换矩阵,从而能够控制变换的精度或运算量、变换矩阵的更新频度、传输变换矩阵的情况下的码量等。再有,为了防止编码噪声的产生,在编码时和解码时使用相同的变换矩阵。接着,说明由计算机和软件程序构成视频编码装置和视频解码装置的情况下的硬件结构的例子。图7是示出由计算机和软件程序构成本发明的一个实施方式的视频编码装置100的情况下的硬件结构的例子的框图。系统具备:CPU(CentralProcessingUnit,中央处理单元)50、存储器51、编码对象图像输入部52、参照视点图像输入部53、深度图输入部54、程序存储装置55、以及位流输出部56。各部经由总线以能通信的方式连接。CPU50执行程序。存储器51为储存CPU50访问的程序或数据的RAM(RandomAccessMemory,随机存取存储器)等。编码对象图像输入部52将来自摄像机B等的编码对象的视频信号输入到CPU50中。编码对象图像输入部52也可以为存储视频信号的磁盘装置等存储部。参照视点图像输入部53将来自摄像机A等的参照视点的视频信号输入到CPU50中。参照视点图像输入部53也可以为存储视频信号的磁盘装置等存储部。深度图输入部54将利用深度摄像机等拍摄了被摄物的视点中的深度图输入到CPU50中。深度图输入部54也可以为存储深度图的磁盘装置等存储部。程序存储装置55储存有作为使CPU50执行视频像编码处理的软件程序的视频编码程序551。位流输出部56经由例如网络输出通过CPU50执行从程序存储装置55被加载到存储器51中的视频编码程序551而生成的位流。位流输出部56也可以为存储位流的磁盘装置等存储部。编码对象图像输入部101与编码对象图像输入部52对应。编码对象图像存储器102与存储器51对应。参照视点图像输入部103与参照视点图像输入部53对应。参照视点图像存储器104与存储器51对应。深度图输入部105与深度图输入部54对应。视差矢量生成部106与CPU50对应。图像编码部107与CPU50对应。图8是示出由计算机和软件程序构成本发明的一个实施方式的视频解码装置200的情况下的硬件结构的例子的框图。系统具备:CPU60、存储器61、位流输入部62、参照视点图像输入部63、深度图输入部64、程序存储装置65、以及解码对象图像输出部66。各部经由总线以能通信的方式连接。CPU60执行程序。存储器61为储存CPU60访问的程序或数据的RAM等。位流输入部62将视频编码装置100编码后的位流输入到CPU60中。位流输入部62也可以为存储位流的磁盘装置等存储部。参照视点图像输入部63将来自摄像机A等的参照视点的视频信号输入到CPU60中。参照视点图像输入部63也可以为存储视频信号的磁盘装置等存储部。深度图输入部64将利用深度摄像机等拍摄了被摄物的视点中的深度图输入到CPU60中。深度图输入部64也可以为存储深度信息的磁盘装置等存储部。程序存储装置65储存有作为使CPU60执行视频解码处理的软件程序的视频解码程序651。解码对象图像输出部66将通过CPU60执行被加载到存储器61中的视频解码程序651来对位流进行解码而得到的解码对象图像输出到再生装置等中。解码对象图像输出部66也可以为存储视频信号的磁盘装置等存储部。位流输入部201与位流输入部62对应。位流存储器202与存储器61对应。参照视点图像输入部203与参照视点图像输入部63对应。参照视点图像存储器204与存储器61对应。深度图输入部205与深度图输入部64对应。视差矢量生成部206与CPU60对应。图像解码部207与CPU60对应。也可以通过计算机实现上述的实施方式中的视频编码装置100或视频解码装置200。在该情况下,将用于实现该功能的程序记录在计算机可读取的记录介质中,使计算机系统读入记录在该记录介质中的程序并执行,由此,也可以实现。再有,在此所说的“计算机系统”包含OS(OperatingSystem,操作系统)、周围设备等硬件。此外,“计算机可读取的记录介质”是指软盘、光磁盘、ROM(ReadOnlyMemory,只读存储器)、CD(CompactDisc,紧致盘)-ROM等可移动介质、内置于计算机系统的硬盘等存储装置。进而,“计算机可读取的记录介质”也可以还包含像经由因特网等网络或电话线路等通信线路来发送程序的情况下的通信线那样在短时间的期间动态地保持程序的记录介质、像该情况下的成为服务器或客户端的计算机系统内部的易失性存储器那样将程序保持固定时间的记录介质。此外,上述程序也可以是用于实现上述的功能的一部分的程序,进而,还可以是能通过与已经记录在计算机系统中的程序的组合来实现上述的功能的程序,此外,视频编码装置100和视频解码装置200也可以是使用FPGA(FieldProgrammableGateArray,现场可编程门阵列)等可编程逻辑器件(programmablelogicdevice)来实现的程序。以上,参照附图来详细地叙述了该发明的实施方式,但是,具体的结构并不限于该实施方式,也包含不偏离该发明的主旨的范围的设计等。产业上的可利用性本发明例如能够应用于自由视点视频的编码和解码。根据本发明,在将针对多个视点的视频和深度图具有为结构要素的自由视点视频数据的编码中,即使在视点的方向不平行的情况下,也能够提高根据深度图计算的视差矢量的精度,提高视频编码的效率。附图标记的说明50…CPU,51…存储器,52…编码对象图像输入部,53…参照视点图像输入部,54…深度图输入部,55…程序存储装置,56…位流输出部,60…CPU,61…存储器,62…位流输入部,63…参照视点图像输入部,64…深度图输入部,65…程序存储装置,66…解码对象图像输出部,100…视频编码装置,101…编码对象图像输入部,102…编码对象图像存储器,103…参照视点图像输入部,104…参照视点图像存储器,105…深度图输入部,106…视差矢量生成部,107…图像编码部,200…视频解码装置,201…位流输入部,202…位流存储器,203…参照视点图像输入部,204…参照视点图像存储器,205…深度图输入部,206…视差矢量生成部,207…图像解码部,551…视频编码程序,651…视频解码程序。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1