图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、图像解码程...的制作方法_3

文档序号:8344946阅读:来源:国知局
照摄像机深度图或参照深度图。再有,深度图表示映现于对应的图像的各像素的被摄体的三维位置。只要能根据另外提供的摄像机参数等信息而得到三维位置,则无论是怎样的信息都可以。例如,能够使用从摄像机到被摄体的距离、针对与图像平面不平行的轴的坐标值、针对其他的摄像机(例如摄像机B)的视差量。此外,此处,虽然作为深度图以图像的方式交付,但是只要能得到同样的信息,则不是以图像的方式也可以。在以下,将与参照摄像机深度图对应的摄像机称为参照摄像机。
[0071]深度图变换部106使用参照摄像机深度图(参照深度图)来生成针对编码对象图像的深度图。将该针对编码对象图像而生成的深度图称为假想深度图。假想深度图存储器107存储所生成的假想深度图。
[0072]视点合成图像生成部108使用从假想深度图存储器107得到的假想深度图来求取编码对象图像的像素与参照摄像机图像的像素的对应关系而生成针对编码对象图像的视点合成图像。图像编码部109使用视点合成图像来对编码对象图像进行预测编码,并输出作为码数据的位流。
[0073]接下来,参照图2来说明图1所示的图像编码装置100的工作。图2是示出图1所示的图像编码装置100的工作的流程图。首先,编码对象图像输入部101输入编码对象图像,并存储在编码对象图像存储器102中(步骤SI)。接下来,参照摄像机图像输入部103输入参照摄像机图像,并存储在参照摄像机图像存储器104中。与此并行地,参照摄像机深度图输入部105输入参照摄像机深度图,并向深度图变换部106输出(步骤S2)。
[0074]再有,在步骤S2输入的参照摄像机图像、参照摄像机深度图为对已经编码完毕的信息进行解码的信息等、与能在解码侧得到的信息相同的信息。这是因为通过使用与能在解码装置得到的信息完全相同的信息来抑制漂移等编码噪声的发生。但是,在容许这样的编码噪声的发生的情况下,也可以输入编码前的信息等只能在编码侧得到的信息。关于参照摄像机深度图,除了对已经编码完毕的信息进行解码的信息以外,也能够将通过对针对多个摄像机解码的多视点图像应用立体声匹配等而估计的深度图、使用解码后的视差矢量、运动矢量等而估计的深度图等用作能在解码侧得到相同信息的信息。
[0075]接下来,深度图变换部106根据参照摄像机深度图来生成假想深度图,并存储在假想深度图存储器107中(步骤S3)。后面叙述了此处的处理的细节。
[0076]接下来,视点合成图像生成部108根据存储在参照摄像机图像存储器104中的参照摄像机图像和存储在假想深度图存储器107中的假想深度图来生成针对编码对象图像的视点合成图像,并向图像编码部109输出(步骤S4)。此处的处理只要是使用针对编码对象图像的深度图和用与编码对象摄像机不同的摄像机所拍摄的图像来合成编码对象摄像机的图像的方法,则无论使用怎样的方法都可以。
[0077]例如,首先,选择编码对象图像的一个像素,使用在假想深度图上对应的像素的深度值来求取参照摄像机图像上的对应点。接下来,求取该对应点的像素值。然后,将得到的像素值分配为位置与选择的编码对象图像的像素相同的视点合成图像的像素值。通过对编码对象图像的全部的像素进行该处理,从而能得到I帧量的视点合成图像。再有,在参照摄像机图像上的对应点为帧外的情况下,既可以设为无像素值,也可以分配预定的像素值,还可以分配最近的帧内的像素的像素值或以对极直线状最近的帧内的像素的像素值。但是,如何决定需要做成与解码侧相同。进而,也可以在得到I帧量的视点合成图像之后施加低通滤波器等滤波器。
[0078]接下来,在得到视点合成图像之后,图像编码部109将视点合成图像作为预测图像,对编码对象图像进行预测编码并输出(步骤S5)。编码的结果所得的位流为图像编码装置100的输出。再有,只要能够在解码侧正确地解码,则无论对编码使用怎样的方法都可以。
[0079]在MPEG-2、H.264、JPEG等一般的活动图像编码或者图像编码中,将图像分割为预定的大小的块,按每个块生成编码对象图像与预测图像的差分信号,对差分图像施行DCT(Discrete Cosine Transform:离散余弦变换)等频率变换,对其结果所得的值按顺序应用量化、二值化、熵编码的处理,由此,进行编码。
[0080]再有,在按每个块进行预测编码处理的情况下,也可以通过按每个块交替地重复视点合成图像的生成处理(步骤S4)和编码对象图像的编码处理(步骤S5)来对编码对象图像进行编码。参照图3来说明该情况下的处理工作。图3是示出通过按每个块交替地重复视点合成图像的生成处理和编码对象图像的编码处理来对编码对象图像进行编码的工作的流程图。在图3中,对与图2所示的处理工作相同的部分标注相同的附图标记,简单地进行其说明。在图3所示的处理工作中,将成为进行预测编码处理的单位的块的索引设为blk,用numBlks来表示编码对象图像中的块数。
[0081]首先,编码对象图像输入部101输入编码对象图像,并存储在编码对象图像存储器102中(步骤SI)。接下来,参照摄像机图像输入部103输入参照摄像机图像,并存储在参照摄像机图像存储器104中。与此并行地,参照摄像机深度图输入部105输入参照摄像机深度图,并向深度图变换部106输出(步骤S2)。
[0082]接下来,深度图变换部106基于从参照摄像机深度图输入部105输出的参照摄像机深度图来生成假想深度图,并存储在假想深度图存储器107中(步骤S3)。然后,视点合成图像生成部108将O代入到变量blk (步骤S6)。
[0083]接下来,视点合成图像生成部108根据存储在参照摄像机图像存储器104中的参照摄像机图像和存储在假想深度图存储器107中的假想深度图来生成针对块blk的视点合成图像,并向图像编码部109输出(步骤S4a)。接着,在得到视点合成图像之后,图像编码部109将视点合成图像作为预测图像来对针对块blk的编码对象图像进行预测编码并输出(步骤S5a)。然后,视点合成图像生成部108使变量blk递增(blk — blk+Ι,步骤S7),判定是否满足blk < numBlks (步骤S8)。如果该判定的结果满足blk < numBlks,则回到步骤S4a重复处理,在满足blk = numBlks的时间点结束处理。
[0084]接下来,参照图4来说明图1所示的深度图变换部106的处理工作。
[0085]图4是示出图2、图3所示的变换参照摄像机深度图的变换处理(步骤S3)的处理工作的流程图。在该处理中,通过3个步骤,根据参照摄像机深度图来生成假想深度图。在各步骤中,对假想深度图的不同区域生成深度值。
[0086]首先,深度图变换部106生成针对映现于编码对象图像和参照摄像机深度图这两者的区域的假想深度图(步骤S21)。该区域是包括于参照摄像机深度图的深度信息并且为也应存在于假想深度图的信息,因此,能通过变换参照摄像机深度图来得到所求取的假想深度图。虽然无论使用怎样的处理都可以,但是例如可以使用非专利文献3所记载的方法。
[0087]作为其他的方法,也能够为了根据参照摄像机深度图得到各像素的三维位置而对被摄体空间的三维模型进行恢复,求取从编码对象摄像机对恢复后的模型进行观测时的深度,由此,生成针对该区域的假想深度图。作为进而其他的方法,还能够按参照摄像机深度图的每个像素使用该像素的深度值来求取假想深度图上的对应点,对该对应点分配变换后的深度值,由此进行生成。此处,变换后的深度值是指将针对参照摄像机深度图的深度值变换为针对假想深度图的深度值后的深度值。在参照摄像机深度图和假想深度图中使用共同的坐标系来作为表现深度值的坐标系的情况下,不进行变换而使用参照摄像机深度图的深度值。
[0088]再有,对应点当然未必得到为假想深度图的整数像素位置,因此,需要通过假定与在参照摄像机深度图上相邻的像素的、假想深度图上的连续性,从而对针对假想深度图的各像素的深度值进行内插来生成。但是,对于在参照摄像机深度图上相邻的像素,仅在该深度值的变化为预定的范围内的情况下假定连续性。这是因为,对于深度值较大地不同的像素,考虑不同的被摄体进行映现而不能假定实空间中的被摄体的连续性。此外,也可以根据得到的对应点求取一个或多个整数像素位置,对该像素分配变换后的深度值。在此情况下,不需要进行深度值的内插,从而能够削减运算量。
[0089]此外,由于被摄体的前后关系,参照摄像机图像的一部分的区域被参照摄像机图像的其他的区域所遮挡,存在未映现于编码对象图像的区域,因此,在使用该方法的情况下,需要一边考虑前后关系一边对对应点分配深度值。
[0090]但是,在编码对象摄像机和参照摄像机的光轴存在于同一平面上的情况下,能够通过依照编码对象摄像机与参照摄像机的位置关系来决定处理参照摄像机深度图的像素的顺序并依照该决定的顺序来进行处理,从而在不考虑前后关系的情况下对得到的对应点总是进行重写处理,由此,生成假想深度图。具体而言,在编码对象摄像机存在于比参照摄像机右的情况下,按照在各行从左到右扫描的顺序处理参照摄像机深度图的像素,在编码对象摄像机存在于比参照摄像机左的情况下,按照在各行从右到左扫描的顺序处理参照摄像机深度图的像素,由此,不需要考虑前后关系。再有,由于不需要考虑前后关系,所以能够削减运算量。
[0091]在步骤S21结束的时间点,未得到深度值的假想深度图的区域为未映现于参照摄像机深度图的区域。图11是示出遮挡区域OCC发生的状况的说明图。如图11所示,在该区域中,存在由于被摄体的前后关系而未映现的区域(遮挡区域OCC)和由于与参照摄像机深度图的帧外对应而未映现的区域(帧外区域OUT)两种区域。于是,深度图变换部106对遮挡区域OCC生成深度(步骤S22)。
[0092]生成针对遮挡区域OCC的深度的第一方法是分配与遮挡区域OCC的周边的前景对象OBJ-F相同的深度值的方法。既可以按包括于遮挡区域OCC的每个像素求取分配的深度值,也可以对遮挡区域OCC的每行或遮挡区域OCC整体等多个像素求取一个深度值。再有,在按遮挡区域OCC的每行求取的情况下,还可以按对极直线一致的像素的每行求取。
[0093]作为具体的处理,按分配同一深度值的像素的每个集合,首先决定在参照摄像机深度图上对遮挡区域OCC的像素群进行遮挡的前景对象OBJ-F存在的假想深度图上的一个以上的像素。接下来,根据决定的前景对象OBJ-F的像素具有的深度值来决定分配的深度值。在得到多个像素的情况下,根据针对这些像素的深度值的平均值、中间值、最大值、最多出现的值的任一个来决定一个深度值。最后,将决定的深度值分配给包括于分配该同一深度的像素的集合的全部的像素。
[0094]再有,在按分配同一深度的像素的每个集合决定前景对象OBJ-F存在的像素时,根据编码对象摄像机和参照摄像机的位置关系来决定在参照摄像机深度图上对遮挡区域OCC进行遮挡的被摄体存在的假想深度图上的方向,仅对该方向进行探索,由此,也可以削减决定前景对象OBJ-F存在的像素所需的处理。
[0095]进而,在按每行分配一个深度值的情况下,也可以以深度值平滑地变化的方式来进行修正,以使得在离前景对象OBJ-F远的遮挡区域OCC中跨多个行成为相同的深度值。此时,使深度值从离前景对象OBJ-F近的像素向远的像素以单调地增加或减少的方式变化。
[0096]生成针对遮挡区域OCC的深度的第二方法是,对针对遮挡区域OCC的周边的背景对象OBJ-B的参照深度图上的像素分配对应关系被得到的深度值的方法。作为具体的处理,首先,选择针对遮挡区域OCC的周边的背景对象OBJ-B的I个以上的像素,并决定为针对该遮挡区域OCC的背景对象深度值。在选择了多个像素的情况下,根据针对这些像素的深度值的平均值、中间值、最大值、最多出现的值的任一个来决定一个背景对象深度值。
[0097]在得到了背景对象深度值之后,按遮挡区域OCC的每个像素,在比背景对
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1