处理图像的深度图的制作方法

文档序号:15203440发布日期:2018-08-21 04:43阅读:248来源:国知局

本发明涉及一种用于处理图像的深度图的方法和装置,并且具体但非排他地涉及基于估计的视差值来确定深度图。



背景技术:

三维(3d)显示器通过向观看者的两只眼睛提供正在观看的场景的不同视图来添加第三维到观看体验。这可以通过让用户佩戴眼镜来分离显示的两个视图来实现。然而,由于这对用户来说可能被认为是不方便的,因此在许多情况下优选使用在显示器上使用器件(例如透镜或屏障)的自动立体显示器来分离视图,并且将它们在不同方向上发送,在不同方向上它们可以单独到达用户的眼睛。对于立体显示器,需要两个视图,而自动立体显示器通常需要更多视图(例如九个视图)。

然而,所呈现的三维图像的质量取决于所接收的图像数据的质量,并且具体地,三维感知取决于所接收的深度信息的质量。

通常通过与场景的不同视图方向对应的多个图像来提供三维图像信息。具体而言,诸如电影或电视节目的视频内容被越来越多地生成以包括一些3d信息。这些信息可以使用专用的3d相机捕捉,所述3d相机捕捉来自略微偏移的相机位置的两个同步图像。

然而,在许多应用中,所提供的图像可能不直接对应于期望的方向,或者可能需要更多的图像。例如,对于自动立体显示器,需要多于两个的图像,并且通常确实使用9-26个视图图像。

为了生成对应于不同视图方向的图像,可以采用视点移位处理。这通常由视图移位算法执行,该视图移位算法与相关联的深度信息一起使用针对单个视图方向的图像。但是,为了生成没有明显伪像的新视图图像,提供的深度信息必须足够准确。特别是,在为自动立体显示器绘制多视图图像时,需要密集且准确的深度图。

遗憾的是,在源处生成的深度信息往往是次优的,并且在许多应用中,它不如期望的那么准确。

捕捉场景时捕捉深度信息的一种方式是在表示不同视图范围的不同空间位置使用多个相机。在这样的范例中,通过比较不同视图方向的视图图像来估计和提取深度值来生成深度信息。

在许多应用中,使用两个位置稍微不同的相机将三维场景捕捉为立体图像。然后可以通过估计两个图像中的对应图像对象之间的视差来生成具体的深度值。然而,这种深度提取和估计是有问题的并且往往会导致非理想的深度值。这可能再次导致伪像和下降的三维图像质量。

捕捉深度信息的另一种方法是直接使用深度相机或范围成像相机。这种相机可以基于发射(典型地红外)信号的飞行时间测量直接估计场景中到对象的深度。然而,这些相机也与缺陷相关联,并且通常提供次优的深度信息。

事实上,对于从立体相机设置和基于红外的深度相机的视差估计,某些区域本质上难以估计。例如,对于视差估计,存在遮挡区域,这些遮挡区域在一个相机视图中可见,但在其他相机视图中不可见,并且这妨碍了在这些区域中的准确深度确定。而且,在不同输入图像中具有相同或非常相似视觉特性的均匀区域不提供视差估计的合适基础。在这些区域中,基于匹配的视差估计将是非常不确定的。对于红外深度相机,远处的对象会导致较低的红外反射率,并且因此深度估计的低信噪比较。此外,某些类型的对象(如头发)具有特定的红外散射行为,导致低背散射,并且因此导致来自深度相机的差深度估计。

对于立体相机系统和深度传感器,都有办法检测哪个视差或深度估计是可靠的以及哪个视差或深度估计不可靠。通常使用周围深度值的加权平均来填充可靠深度估计无法生成的区域,其中,彩色图像被用作内插/扩散中的指导。然而,这种方法在许多情况下可能导致次优的深度估计,这进一步可能降低使用这种深度信息生成的三维图像的图像质量和深度感知。

因此,用于处理深度信息的改进方法将是有利的,并且具体而言,允许增加的灵活性,方便的实施方式,降低的复杂度,改善的深度信息,改善的三维体验和/或改善的感知图像质量的方式将是有利的。



技术实现要素:

相应地,本发明优选地寻求单独地或以任何组合缓解,减轻或消除一个或多个上述缺点。

根据本发明的一个方面,提供了一种用于处理深度图的装置,该装置包括:深度图源,其用于提供图像的深度图,深度图包括深度图的像素的深度值;用于提供置信度图的置信度图源,所述置信度图包括所述深度图的像素的置信度值,像素的置信度值将所述像素指定为置信像素或非置信像素,置信像素具有满足可靠性标准的深度值并且非置信像素具有不满足可靠性标准的深度值;深度修改器,其被布置为执行深度修改操作,所述深度修改操作包括修改所述深度图的像素的深度值,所述深度修改器被布置为,如果第一像素被指定为置信像素或者如果在第一像素的邻域像素集合内不存在置信像素,则将所述第一像素的经修改深度值设置为所述第一像素的当前深度值,否则将经修改值设置为作为被指定为置信像素的所述邻域像素集合内的像素的深度值的函数而确定的深度值中的最高深度值。

本发明可以允许在许多场景中生成改进的深度图。特别是,这种方式在许多应用中可以降低对象出现在应该进一步在前景中的其他对象前面的深度反转的风险。特别地,该方式可以应用有利的方式来改善/生成其中原始深度值可能较不准确且较不可靠的区域中的深度值。应用于生成这样的新深度值的具体方式可以在许多实施例中允许根据其他更可靠的深度值确定不可靠或非确定区域中的深度值,同时限制这样的确定以防止感知的深度反转或紊乱。

该方式可以进一步允许高效的实施方式并且可以提供用于确定适合于处理深度图像的改进的深度值的过程。

深度图和置信度图可以与图像相关联并且因此可以提供图像内容的深度信息。深度图在一些实施例中可以具有比图像更低的分辨率,并且因此在一些实施例中可以为图像像素组提供深度值。例如,在许多实施例中,每个深度像素(即深度图的像素)可对应于图像中的4乘4,或8乘8像素的像素块。

置信像素也可以被称为可靠像素并且非置信像素也可以被称为不可靠像素。可靠性标准可以取决于个别实施例的具体偏好和要求,并且使用哪个标准并不重要。相反,过程的输出可以取决于所使用的具体可靠性标准,并且因此标准可以变化以实现期望的结果。在一些实施例中,可靠性标准可以在置信度值被存储在置信度图中之前应用,并且具体地,其可以在最初生成置信度图时应用。在这样的实施例中,置信度值可以是表示对应像素作为置信或非置信像素的二元值。在其他实施例中,可靠性标准可以被评估,例如,在给定像素的处理期间。例如,可以从置信度图中检索非二元置信度值,然后可以使该值经受可靠性标准以确定置信度值是指定置信值还是非置信值。

在一些实施例中,置信度值可以是指示对应深度值的估计可靠性的非二元值。例如,可以将这种可靠性估计生成为用于生成初始深度值的深度确定算法的一部分。在一些实施例中,可靠性标准可以反映出,如果置信度值高于阈值,则将像素指定为置信的,否则将该像素指定为非置信像素。阈值在一些实施例中可以是固定的,或者可以例如是可变的,可能是其他置信度值的函数。

深度修改操作因此可以响应于包括深度顺序约束的特定标准来生成新的深度值。深度修改操作可以处理深度图的所有像素并且针对每个像素确定经修改的深度值。深度修改操作可以具体包括对包括深度图的所有像素的深度图的扫描。扫描顺序可以在不同实施例之间变化。经修改的深度值是深度修改操作执行之后的深度图的值。应该理解,对于给定像素,该值可以与深度修改操作之前的深度值不同,或者可以相同,这取决于对特定像素的评估。经修改的深度值可以是处理的输出深度值。作为被指定为置信像素的邻域像素集合内的像素的深度值的函数而确定的深度值可以被视为改变的深度值或替换值。可以将经修改的深度值/输出深度值设置为改变的或替换的深度值或者设置为原始深度值(即深度值可以不变/保持)。这种选择取决于基于对像素是置信像素还是非置信像素的考虑的决定的结果。

邻域集合可以包括当前像素的邻域中的像素。邻域集合可以对应于应用于第一像素的内核中的像素。邻域可以是包括第一像素的连续像素子集。

根据本发明的任选特征,深度修改器被布置为迭代深度修改操作,每个深度调整操作在来自先前迭代的经修改的深度图上执行。

该方式在迭代使用时可以提供特别高效的操作。实际上,单独的特定深度修改操作非常适合用于迭代,每次迭代提供了例如在置信和非置信像素之间的边界区域中的改进的深度值。每个深度修改操作可以将置信像素的区域有效地“增长”到非置信像素的区域。迭代深度修改操作允许这种“增长”或扩展进一步扩展到非置信区域,同时使用先前迭代的结果来生成另外的深度值。例如,在当前迭代中为其生成改进的深度值的像素的深度值可以在下一次迭代中用作置信像素,并且因此可以用于修改其他深度值。

该方式在许多实施例中可以在实践中提供非常有利的性能,同时保持低复杂度和高效处理。

根据本发明的任选特征,深度修改器(113)被布置为对于每个深度调整操作修改置信度图的置信度值;并且其中,每个深度调整操作基于来自先前迭代的经修改的置信度图。

这可以提供有利的性能并且可以允许生成改进的深度值。它可以例如为将置信区域扩展到非置信领域提供了一种有高效的方式。

根据本发明的任选特征,深度修改器被布置为,响应于检测到邻域集合包括至少一个置信像素,将像素从被指定为非置信像素改变为被指定为置信像素。

这可以提供用于在迭代之间传播可靠深度值/像素的特别有利的方式,从而导致对于大多数实际场景的有利性能。

根据本发明的任选特征,深度修改器被布置为执行预定次数的迭代。

这可以在保持低复杂度的同时提供高效的操作和高性能。

根据本发明的任选特征,预定次数的迭代不超过8次迭代。

使用相对少的迭代次数可以降低复杂性,减少计算资源,并且防止将置信区域过度扩展到非置信区域(例如导致与属于其他确信区域的深度值相冲突)。特别是,使用不超过8次迭代为许多实际应用提供了非常有利的处理。

根据本发明的任选特征,深度修改器被布置为响应于根据深度图的深度值确定的深度特性而动态地调适迭代次数。

这可以在许多情况下提供改进的性能,并且可以为当前条件提供改进的调适和优化。

根据本发明的任选特征,所述函数包括对被指定为置信像素的所述邻域像素集合内的像素的深度值进行平均。

这可以在许多实施例中导致改进的深度图,并且实际上已经被实现以为许多典型图像提供特别有利和自然的三维观看体验。

根据本发明的任选特征,所述函数包括选择被指定为置信像素的所述邻域像素集合内的像素的深度值中的最大值。

这可以在许多实施例中导致改进的深度图,并且实际上已经被实现以为许多典型图像提供特别有利和自然的三维观看体验。

根据本发明的任选特征,邻域集合仅包括与第一像素的距离小于阈值的像素,该阈值不超过五个像素。

这在许多实际应用和场景中提供了感知深度质量与复杂性和资源使用之间的特别有利的折衷。具体而言,已经认识到相对小的邻域集合特别适用于例如深度修改操作的迭代。

根据本发明的任选特征,深度修改器被布置为响应于根据深度图的深度值确定的深度特性来确定邻域集合的大小。

这可以在许多情况下提供改进的性能,并且可以提供对当前条件的改进调适和针对当前条件的改进优化。

根据本发明的任选特征,深度图针对视频信号的帧,并且深度图源被布置为使用来自视频信号的其他帧的时间预测来确定深度图的非置信像素的初始深度值。

这在许多情况下可以提供一种系统,其中,可以在生成初始深度值的具体方式和用于改善这些值的处理之间找到特别高的协同作用。实践证明,这种组合可以为许多典型图像提供准确的深度图。

根据本发明的任选特征,深度图源被布置为选择性地将空间滤波应用于深度图的非置信像素。

选择性空间滤波可以通过应用一个或多个深度修改操作来为后续处理提供特别合适的深度图。

根据本发明的一个方面,提供了一种处理深度图的方法,所述方法包括:提供图像的深度图,所述深度图包括所述深度图的像素的深度值;提供包括所述深度图的像素的置信度值的置信度图,像素的置信度值将像素指定为置信像素或非置信像素,置信像素具有满足置信度标准的深度值,并且非置信像素具有不满足置信度标准的深度值;执行深度修改操作,所述深度修改操作包括修改所述深度图的像素的深度值,所述深度修改包括:如果第一像素被指定为置信像素或者如果在第一像素的领域像素集合内没有置信像素,则将所述第一像素的经修改深度值设置为所述第一像素的当前深度值,否则将经修改值设置为所述当前深度值和作为被指定为置信像素的所述邻域像素集合内的像素的深度值的函数而确定的深度值中的最高深度值。

参考下文描述的(一个或多个)实施例,本发明的这些和其他方面、特征和优点将变得显而易见并且得以阐明。

附图说明

将参考附图仅以举例的方式描述本发明的实施例,其中:

图1是包括根据本发明的一些实施例的装置的显示系统的范例的图示;并且

图2示出了从自动立体显示器投影的视图图像的范例。

具体实施方式

以下描述集中于适用于作为三维视频序列的帧的三维图像的深度图的本发明的实施例。然而,应该理解,本发明不限于这种应用,而是可以应用于例如包括图像和相关联深度图的个体三维图像。类似地,描述将集中在系统中用于为自动立体显示器生成视图图像的应用,但是应该理解,这仅仅是一个具体范例,并且深度处理将同样适用于许多其他应用和用途。

图1示出了根据本发明的一些实施例的系统的范例。在具体范例中,从输入的三维图像生成对应于自动立体显示器101的不同视图的图像。输入的三维图像可以例如由具有相关联的深度图的单个图像表示,或者可以例如由可从其提取相关联的深度图的立体图像表示。

通常,自动立体显示器产生视图的“锥”,其中,每个锥包括对应于场景的不同视角的多个视图。生成相邻(或在一些情况下进一步移位的)视图之间的视角差,以对应于用户的右眼和左眼之间的视角差。因此,左眼和右眼看到两个适当视图的观看者将感知到三维效果。在图2中示出了在每个视锥中生成九个不同视图的自动立体显示器的范例。

自动立体显示器倾向于使用诸如透镜或视差屏障/屏障罩的器件来分离视图并将它们在不同的方向上发送,使得它们单独到达用户的眼睛。对于立体显示器,需要两个视图,但大多数自动立体显示器通常使用更多视图。事实上,在一些显示器中,在图像上执行视图方向的逐渐过渡,使得图像的不同部分可以投影在不同的视图方向上。因此,在一些更近期的自动立体显示器中,可以应用图像区域在视图方向上的更逐渐和连续的分布,而不是呈现固定数目的完整视图的自动立体显示器。这种自动立体显示器通常被称为提供部分视图而不是全视图。关于部分视图的更多信息可以例如可以在wo2006/117707中找到。

然而,对于大多数自动立体显示器来说通用的是,它们需要为相对大量的不同视图方向生成图像信息。然而,通常三维图像数据被提供为立体图像或者具有深度图的图像。为了生成所需的视图方向,通常应用图像视图移位算法来生成适合于绘制的像素值。这种视图移位基于深度信息,并且具体而言,像素倾向于在不同视图之间水平移位,移位幅度取决于像素深度。移位随着距显示器的距离或屏幕深度(其没有移位)而增加,并且对于在屏幕深度前后的对象处于相反方向。

图1的显示系统包括图像单元103,该图像单元103被布置为提供要由自动立体显示器101绘制的场景的三维图像。图像单元103被馈送到图像生成器105,该图像生成器105被布置为生成用于自动立体显示器101的视图图像。图像生成器105通过基于从图像接收到的至少一个二维图像并且基于提供图像的深度信息的深度图的视图移位来生成视图图像。

图像单元103在一些实施例中可以被布置为简单地接收三维图像作为具有来自任何合适的内部或外部源的相关联深度图的输入二维图像。例如,可以从网络(诸如因特网)、广播信号、媒体载体等接收包括由图像和相关联的深度图表示的三维图像的视频信号。这样的图像和深度图表示可以例如由基于红外的范围深度相机生成。

在其他实施例中,图像单元103可以例如接收作为与不同视角对应的多个图像的三维图像,并且具体地作为分别与观看者的左眼和右眼对应的图像的立体图像。这样的图像可以例如由立体相机生成。在这样的实施例中,系统可以被布置为基于对图像执行的视差估计来生成深度图。在一些实施例中,所接收的三维图像可以由具有由外部源通过例如根据立体图像的视差估计生成的相关联深度图的二维图像来表示。

图像生成器105被布置为通过基于二维图像的深度图的视点移位来生成用于自动立体显示器101的视图图像(为了简洁起见,下面的描述将集中在图像生成器105通过从(中央)二维图像和深度图移位来生成视图图像)。然而,应该理解,在其他实施例中,视图图像生成可以基于多于一个二维图像,如本领域技术人员已知的。

在图1的系统中,由图像单元103接收的深度信息在被馈送到图像生成器105之前被修改。因此,图像单元103被馈送到深度单元107的形式的装置,深度单元107耦合到图像单元103并且其被布置为处理深度图以生成经修改的深度图。然后将经修改的深度图馈送到图像生成器105,在图像生成器105中经修改的深度图用于生成自动立体显示器101的视图图像。

因此,图像生成器105接收来自深度单元107的经修改的深度图和来自图像单元103的输入图像。图像生成器105被布置为通过执行视图移位以生成与由自动立体显示器101产生的不同视图相关联的特定视图方向的视图图像来生成用于自动立体显示器101的视图图像。图像生成器105被布置为通过基于输入图像和经修改的深度图的视图移位算法来生成这些图像。

应该理解,本领域技术人员将意识到许多不同的视图移位算法,并且可以使用任何合适的算法而不偏离本发明。

感知的图像质量和深度感知在很大程度上取决于生成的视图图像的质量和准确度。通过图像移位生成这些视图图像进一步很大程度上依赖于执行移位操作的深度信息的质量和准确度。事实上,许多三维图像操作很大程度上依赖于深度信息的质量。例如,可以基于深度信息来生成立体视图,使得所呈现的图像可以跟随例如用户头部运动(例如,允许基于眼镜的三维图像的观看者通过移动他的头部来看到前景图像周围)。

但是,在大多数实际应用中,所提供的深度信息并不完全。具体而言,通过根据在不同视角捕捉的图像的视差估计生成的深度图倾向于生成不能提供深度信息或者具有高度不确定性的区域。例如,对于所有图像中都不可见的对象(部分)或对于与其他区域相似或几乎没有纹理或重复图案的区域,这种区域可能出现。类似地,对于深度相机生成的深度图,通常会出现深度信息缺失或不可靠的区域。这些区域例如可以对应于远离的或者具有不合适的红外反射特征的对象(例如头发)。

在图1的图像绘制系统中,深度单元107被布置为改进深度图,并且具体地,其被布置为针对其中原始深度图值被认为是不可靠的区域提供改进的深度信息。该方式可以基于周围区域的深度值在被认为不可靠的区域中具体分配或确定深度值。此外,该方式基于此,其受到深度顺序约束,该深度顺序约束可以特别地控制深度修改,使得不可靠区域中的新深度值被限制为比给定邻域内被认为可靠的深度值更靠后。深度单元107使用下面通过示范性实施例更详细地描述的特定方式。

深度单元107包括提供输入图像的深度图的深度图源109。在一些实施例中,深度图源109可以简单地从图像单元103接收深度图。例如,在一些实施例中,图像单元103可以接收三维视频流,该三维视频流对于每个帧包括二维图像和相关联的深度图。深度图可以由深度图源109提取。在其他实施例中,深度图源109本身可以被布置为生成深度图。例如,深度图源109可以从图像单元103接收立体图像,并继续通过基于立体图像的视差估计来生成深度图。

包括在深度图中的深度值可以是深度的任何合适的表示,例如具体地表示不同视图方向的图像之间的移位的深度坐标(z)值或视差值。深度值越高,深度越高,即离观看者越远。因此,增加的深度值指示距离三维显示器前方的(标称)视图位置的距离增加。

另外,深度单元107包括用于提供包括深度图的像素的置信度值的置信度图的置信度图源111。像素的置信度值指示深度值像素的可靠性,并指示该像素被认为是具有可靠的深度值还是不具有可靠的深度值。因此,置信度值反映了像素深度值的置信度。实际上,由于真实场景图像的深度值生成固有地包括估计的元素,所生成的深度值本质上是深度值估计并且可能包括一些不确定性。取决于该像素的特定特性(例如取决于基于视差的估计的视觉特性,范围深度相机的红外反射特性等),不确定度对于不同的像素而变化。给定像素的置信度值反映该像素的深度值的不确定性。

由置信度图源111提供的置信度图包括二元值,并且基本上将像素指定为置信(可靠)像素或非置信(不可靠)像素。因此,一些像素被认为是置信/可靠的,并且具有不应该改变的深度值。然而,其他像素被认为是不置信/不可靠的,并且具有可能太不确定的深度值并且可能期望对其修改。

应该理解的是,在一些实施例中,置信度图可以由非二元值填充。例如,可以为每个像素存储软判定置信估计值。然而,这样的非二元置信度值仍将反映该像素是被认为是置信像素还是非置信像素。事实上,该过程可以将非二元置信度值高于阈值的所有像素视为置信像素,并且将值低于(或等于)阈值的像素视为非置信像素。事实上,在一些实施例中,将像素指定为置信或非置信像素甚至可以是相对确定,即其可取决于其他像素的置信度。例如,如果一个像素的置信度值高于与其比较的邻域,那么该像素可能会被认为是置信的。

因此,可以理解的是,在一些实施例中,置信度图可以包括可以指示置信度值的置信度值并且该置信度值是否对应于置信或非置信像素可以首先在处理期间被确定(并且可能在与其他像素置信度的比较中确定)。因此,在一些实施例中,在后续处理期间而不是在置信度图中存储值之前可以应用(可能多次)确定像素是置信的还是非置信的可靠性标准。

然而,为了清楚和简洁,以下描述将集中于深度图包括二元值的实施例,该二元值直接反映个体像素是被指定为置信像素还是非置信像素。因此,在这些实施例中,置信度/可靠性标准可以应用于非二元置信度值,并且结果可以作为二元值存储在置信度图中。

因此,在具体范例中,深度图包括深度图的二元置信度值,并将深度图像素指定为置信/可靠像素或非置信/不可靠像素。

应该理解,可以使用不同的方式来将像素指定为置信/可靠或非置信/不可靠。具体而言,置信像素是具有满足置信度/可靠性标准的深度值的像素,而非置信像素是具有不满足置信度/可靠性标准的深度值的像素。在目前的情况下,该标准在置信度图的填充之前被应用。在其他实施例中,可以在深度图中存储非二元置信度值,并且在处理期间可以不确定这些置信度值被指定为置信像素还是非置信像素的确定,直到应用可靠性标准。

应该理解的是,置信度标准在不同的实施例中可以是不同的,并且将基于个体实施例的具体要求和偏好来选择。

例如,除了属于几乎没有或没有纹理、重复图案的区域的像素,或属于在另一图像中不能识别匹配图像区域的区域的像素,像素可被指定为可靠像素。

在许多实施例中,可以生成置信度值作为深度估计的副产物。如上所述,几乎没有纹理的区域可能是非置信的,但是具有噪声或极端深度值的区域也可能被认为是非置信的。因此,在许多实施例中,深度图生成过程(其可以是深度图源109的处理的一部分)可以提供用于由置信度图源111执行的置信度计算的信息。

作为具体范例,视差估计可基于选择右眼图像中的区域并找到左眼图像中的对应区域。相应的视差可以用于生成第一深度图。然后可以重复该过程,但是通过选择左眼图像中的区域并且在右眼图像中找到对应区域而开始。如果这两种方式导致足够接近的视差估计,则该像素被指定为置信/可靠像素。否则,它被指定为非置信/不可靠像素。

对于深度范围相机,像素指定为置信/非置信可以例如通过对接收到的光信号的亮度应用阈值来实现。当由(红外)光源发射的光或图案在太远的对象上反射或将入射光散射离开传感器时,几乎没有(或没有)光返回到传感器,并且不能可靠地估计距离。

应该理解,可以在不同的实施例中使用不同的方式和标准,并且使用哪种方式并不重要。事实上,方式基于可用的置信度图,但不基于如何生成置信度图(或者甚至置信度图多准确)。

在一些实施例中,置信度图源111可以被布置为自己执行确定置信度值的过程。在其他实施例中,算法可以在外部执行,并且数据可以与输入信号一起提供。例如,范围深度相机可以直接生成包括图像、相关联的深度图以及指示生成的深度值的置信度的相关联的可靠性图的输出。这样的数据流可以直接提供给图像单元103。在一些实施例中,置信度图源111可以简单地提取这种可用的图。在一些实施例中,置信度图源111可以通过硬量化具有非二元可靠性估计值的所提供的可靠性图来生成二元置信度图。

置信度图源111和深度图源109耦合到深度调节器113,深度调节器113被布置为基于置信度图来处理深度图以生成经修改的深度图,然后该经修改的深度图被馈送到图像生成器105并用于图像移位操作。

深度修改器113执行深度修改操作,其可以修改深度图的像素的深度值。典型地,对于置信像素的深度值没有被修改,而对于非置信像素的深度值可以被修改或者可以不被修改,这取决于邻域中的置信像素的存在和值。

深度修改操作因此包括顺序地处理深度图/置信度图的每个像素,从而修改深度图。为了方便起见,在其上执行操作的深度图的状态(即深度修改操作之前的深度图)将被称为输入深度图部分深度修改操作产生的深度图的状态(即深度修改操作之后的深度图)将被称为输出深度图。

如果当前像素是置信像素,则深度修改器113不改变深度值,而是保持当前深度值。因此,在这种情况下,输出深度图的深度值与输入深度图的深度值相同。

但是,对于非置信像素,处理取决于邻域内的其他像素。该邻域通常相对小,并且描述将集中于邻域是3×3像素块的具体范例,即其包括与当前像素相邻的所有像素。然而,在其他实施例中,将使用其他尺寸,并且实际上所描述的原理可以根据个体实施例的偏好和要求而被应用于具有特定选择的领域区域的任何尺寸或形状。典型地,邻域的尺寸和形状将是参数之间的折衷,包括例如处理效率和低通滤波效果。

因此,对于非置信像素,深度修改器113考虑在具体范例中包括与当前像素相邻的所有像素的邻域像素集合。

如果深度修改器113确定在邻域集合内不存在其他置信像素,则其继续保持当前的深度值,即,如果在邻域集合中没有置信的像素,则设置输出深度图中的深度值与输入深度图中的深度值相同。

然而,如果在邻域集合内存在任何置信像素,则深度修改器113继续生成作为邻域集合内的像素的深度值的函数的深度值,但是仅包括被指定为置信像素的像素。该深度值在下文中被称为估计的深度值。可以作为邻域集合中所有置信像素的深度值的函数来生成估计的深度值,同时忽略非置信像素,即,估计的深度值不取决于非置信值的深度值。

用于生成估计的深度值的函数在不同的实施例中可以是不同的,或者甚至可以在具体实施方式中动态地变化。作为具体范例,可以将估计的深度值生成为置信像素的深度值的平均值。假设邻域集合被选择得足够小,则估计的深度值因此可以是非置信像素的正确深度值的良好估计。

然而,深度修改器113不是仅仅继续将所估计的深度值分配给非置信像素,而是将估计深度值与当前或原始深度值(即,输入深度图的深度值)进行比较。然后它选择最高深度值(即离观看者最远的深度值)并将其用作经修改的深度值,即,输出深度图的深度值被设置为输入图像的深度值和估计的深度值中的最高深度。

因此,在该方式中,深度修改器113基于合适邻域内的置信像素的深度值来确定非置信像素的深度值。然而,此外,它使用深度顺序约束,其确保只有在新深度值比当前深度值更靠后时,才将新深度值分配给像素。

本发明人已经实现了这种深度顺序约束,以防止在用于基于其他深度值确定深度值的常规方式中有时可能发生的伪像。具体来说,它可以降低风险,或者在某些情况下防止与非确定区域相对应的对象被错误地呈现为位于前景对象之前。因此,可以实现改进的三维绘制。

所描述的方式针对其中基于置信度图修改深度图的系统。在该方式中,像素被分类为置信或非置信的像素。对于给定的像素,可以如下设置经修改的深度值:

如果

像素被指定为置信像素

或者

邻域内没有置信像素

或者

经修改的深度值位于原始深度值的前面

那么

原始深度值被保持(即,经修改/输出深度值被设置为原始深度值,即深度值不发生变化)

否则

经修改的深度值被设置为替换(邻域确定的)深度值

其中,

替换(邻域确定的)深度值是邻域中的置信像素的深度值的函数。

该方式使用特定的决策树来确定何时适合将深度值改变为根据当前像素的邻域中的深度值确定的深度值以及何时应保持原始深度值不变。决策树基于将像素分类为置信像素和非置信像素。此外,如果决策树导致决定改变深度值的决策,则仅考虑置信像素,即确定替换深度值也取决于分类。

该方式定义了何时维持原始深度值以及何时基于二元指定来更改原始深度值的标准,并具体考虑像素本身是否置信以及邻域中是否存在置信像素。深度仅在四种可能选项中的一种中改变。

当确定替换深度值时,指定/分类还用于(潜在地)丢弃邻域中的一些像素。还要指出的是,对深度顺序的特定约束与决策树的其他测试/评估紧密结合。事实上,需要指出的是,替换深度值是否在原始深度值之前的测试仅与第一像素不是置信像素、但是邻域中存在一个或多个置信像素的特定情况有关。因此,它具体涉及原始深度值被认为不可靠而替换深度值被认为是可靠的情况,因为它仅基于可靠像素。但是,测试定义即使在这种情况下,如果原始值落在替换深度值的后面,也应该选择原始值。因此,它定义了一个特定的情景,其中,选择了不可靠的值而不是可靠的值。这是违反直觉的,但是发明人已经意识到在深度图中令人惊讶的结果,例如,当被绘制时被觉察到比如果总是使用更可靠的值更高的质量。

因此,尽管决策树中的其他测试可以被认为试图识别最可靠的深度值,使得可以基于这些确定输出的经修改深度值,但深度限制要求采取相反的方式并且选择最不可靠的选项,即,即使更可靠的替换值可用,输出深度值也被设置为不可靠值。

深度修改器113可以在深度修改操作期间进一步修改置信度图。具体而言,对于置信像素,置信度值保持为置信的。因此,一旦像素被指定为置信的,它将保持如此。

其次,如果像素是非置信的,但是邻域内的置信像素的数量大于零(即,如果在邻域集合中至少有一个置信像素),则该像素被改变以被指定为置信像素。因此,一旦对于非置信的像素计算了估计的深度值,将为该像素分配原始深度值或估计的深度值(表示最高深度的值),并且该像素现在将被指定为置信像素(因此不会随后被修改)。

然而,对于在邻域中没有置信像素的非置信像素,该像素仍然被认为是非置信像素。

当处理其他像素作为深度修改操作(即,基于输入深度图和输入置信度图执行深度修改操作)的一部分时,经修改的深度图值和经修改的置信度图值不被使用。

当顺序地处理深度图的像素时,深度修改器113因此继续将置信像素的区域增长或扩大至非置信像素的区域。这种增长或扩大的程度由所考虑邻域的大小确定。邻域越大,置信区域就越能够侵入非置信区域(本质上,置信像素能够产生的效果或影响受到邻域大小的限制)。执行深度修改操作的效果因此是通过置信像素区域扩大到非置信区域由邻域大小给出的量而减少非置信像素区域。作为深度修改操作的结果,边界区域中的多个非置信像素已经被分配了新的值,这些新值受到深度顺序约束并且已经被改变为被视为置信像素。

在一些实施例中,深度修改器113可以被布置为迭代深度修改操作,其中,在先前迭代中生成的经修改的深度图上执行每个深度修改操作(除了基于分别从深度图源109和置信度图源111接收的原始深度图和置信度图的第一次迭代)。

因此,在该方式中,如前所述,深度修改器113应用深度修改操作以从输入深度图和输入置信度图生成输出深度图和输出置信度图。然后继续使用先前生成的输出深度和置信度图作为输入深度和置信度图来再次执行深度修改操作。

通过这种方式,置信区域可以迭代地增长到非置信区域,其中,一次操作的扩展利用先前扩展生成的值。因此,置信区域可以迭代地增长,并且非置信区域可以相应地迭代缩小。

因此,在具体范例中,深度修改器113迭代深度修改操作,其中,每个操作基于深度图和置信度图。接下来的深度修改操作然后基于先前迭代的经修改的深度图和置信度图。具体而言,深度修改器113被布置为响应于检测到邻域集合包括至少一个置信像素而将像素从非置信像素变为置信像素。如果是这样,则可以确定估计的深度值并且潜在地将其分配给像素(如果它比原始值更靠后)。新值因此被认为是可靠的,并且因此被指示为在后续操作中作为置信像素是有用的。

在下文中,提供了根据前面的描述的操作的具体范例。该范例基于分别以深度图源109和置信度图源111提供的视差图d(x,y)和置信度图c(x,y)的形式的深度图。

在该范例中,深度顺序约束被实施为针对多次迭代运行的递归滤波操作。每次迭代从先前迭代的视差图和置信度图开始,并导致更新的视差图和更新的置信度图。让d(k)(x,y)表示当前迭代k的视差图。

每次迭代然后将视差图更新为:

并且将置信图(c(k)(x,y)表示在迭代k处的置信度图)更新为:

其中,

邻域中的置信像素集合由{(xconfident,yconfident)}表示,并且nconfident表示邻域中的置信像素的数量。

迭代次数可以取决于个体实施例的具体偏好和要求。然而,在许多实施例中,深度修改器113可以被布置为执行预定次数的迭代。因此,深度修改器113可以被布置为将深度修改器113迭代固定次数,其中,每次迭代潜在地将置信区域进一步扩展到非置信区域。

已经发现使用预定次数的操作在许多实施例中提供了非常有利的操作。特别是,已经发现导致低复杂性和鲁棒的操作,这仍然导致对于大多数图像和显示的高质量三维感知。具体而言,已经发现相对少的操作次数就足够了。这可以从输入视差值有界并落入已知范围的事实来理解。当使用仅延伸单个像素的邻域时,仅需要最大增长等于最大可能视差差异的迭代次数。由于这仍然很大,因此在许多情况下的有利方式是增长与在实践中在对象之间观看到的视差阶梯相对应的距离。对于全hd视频,代表性的深度阶梯可能是32像素。选择这样的距离将会补偿大多数的伪像。

在一些实施例中,深度修改器113可以被布置为响应于根据深度图的深度值确定的深度特性来动态地调适迭代次数。例如,迭代次数可以增加以增加深度值。例如,在一些实施例中,深度修改器113可以被布置为确定平均或最大深度值,并且可以作为该值的函数来确定迭代次数。平均深度或最大深度越高,迭代次数越多。

作为另一个范例,可以确定深度值方差并且可以基于方差来确定迭代次数。因此,具体而言,可以增加迭代次数以增加深度方差。

在一些实施例中,对于图像的不同区域,迭代次数可以不同。例如,图像可以被划分成区域,并且每个区域内的迭代次数可以取决于该区域内的深度值(例如,迭代次数可以作为该区域内的平均或最大深度值的函数来确定)。

这种自适应方式可以在许多场景和实施例中提供改进的性能。

如前所述,根据特定的偏好或要求,在不同的实施例中,针对个体像素考虑的邻域的大小可能不同。然而,在许多实施例中,邻域可能相对小,由此在每次迭代中将置信区域的增长量限制为相对小的量。

事实上,在许多实施例中,邻域集合仅包括距离第一像素的距离小于给定阈值的像素,其中,阈值为5像素或更小。事实上,在许多实施例中,邻域集合可以包括不超过25个、16个或9个像素。邻域像素集合可以具体地围绕当前像素对称地布置。

因此,可以认为邻域集合对应于包括深度顺序约束的滤波器的内核并且如前所述仅考虑置信像素。内核可以具有不超过5个或4个像素宽度的直径,例如在许多实施例中为3个像素宽度的直径。

在一些实施例中,深度修改器113可以被布置为响应于深度图的深度值来确定邻域集合的大小。例如,可以确定包括非置信像素区域的区域中的深度值的方差,并且可以响应于该值来调适邻域集合的尺寸。例如,对于较大的方差,邻域集合的大小可能会增加。

在前面的范例中,估计的深度值由包括邻域集合内的置信像素的深度值的平均的函数确定。然而,应该理解,在其他实施例中,可以使用其他函数。

例如,在一些实施例中,该函数可以包括或者包含选择邻域内的置信像素的深度值的最大值。因此,在这样的实施例中,当前像素的深度值将被设置为像素本身以及邻域中的置信像素的最高深度。这可以在许多实施例中提供非常高效的操作,并且可以特别提供更强的深度顺序约束。

在之前的描述中,已经假定深度图被提供有包括置信像素的一些区域和包括非置信像素的其他区域。在具体范例中,图像可以是三维视频序列的一部分,并且具体地,其可以是立体图像视频序列的一帧。在这样的范例中,可以基于视差估计来生成初始深度值。然而,视差估计对于仅在图像中的一个中可见的区域/对象是不可行的。

在(例如)这样的系统中,深度图源109可以被布置为通过执行根据序列中其他帧的预测(即通过执行时间预测)来生成非置信像素的初始深度值。

作为简单范例,可以将初始深度值设置为可以基于视差估计确定的最后深度值(即,在遮挡之前的最后确定的深度值)。在其他实施例中,可以执行更复杂的内插和估计,包括例如,使用先前和后续帧的运动估计或内插(即,具体可以使用双向预测)。

这种方式可以提供合适的初始深度图,然后可以通过深度修改器113的后续处理来修改该初始深度图。

在许多实施例中,深度图源109可以被布置为选择性地将空间滤波应用于深度图的非置信像素。空间滤波通常可以具有相对小的内核,例如,可能与邻域的大小相似。事实上,在许多实施例中,用于空间滤波的内核可以与邻域集合相同(即用于选择性空间滤波的内核可以与用于深度顺序滤波的内核相同)。

空间滤波被选择性地应用于非置信像素,但不应用于置信像素。因此,被认为是可靠的深度值不被修改,但被认为不可靠的深度值被空间滤波以减少噪声。已经发现这种选择性滤波在许多实施例中提供了改进的结果,并且特别是已经发现在过渡区域中提供更好的感知而不降低其他区域中的图像质量。

然后可以将深度修改操作应用于经选择性滤波的深度图。

在深度修改操作(迭代的)执行之后,深度修改器113可以在许多实施例中执行空间滤波,其可以应用于所有像素,而不管这些是被认为是可靠的还是不可靠的,即不管像素是置信的还是非置信的。

这可以降低深度图中的总体噪声,并且通常可以导致三维体验的感知质量的改善。

在之前的描述中,深度图像素和置信图像像素的处理已经用每个像素直接对应于图像像素的隐含假设进行描述,即,隐含假设深度图和置信度图的分辨率是与图像的分辨率相同。

然而,可以理解的是,这不一定如此,并且实际上在许多实施例中,分辨率可能不同。事实上,深度图和置信度图的分辨率通常会低于图像的分辨率。例如,图像可以被分成假定3×3或8×8像素的图像像素块,并且可以为每个块生成单个深度值和置信度值。深度图和置信度图的分辨率因此可以相对于图像分辨率显著降低。然而,将会理解,先前描述的深度图的处理同样适用于这样的降低分辨率的深度图。

应该理解的是,为了清楚起见,以上描述已经参照不同的功能电路、单元和处理器描述了本发明的实施例。然而,显而易见的是,在不偏离本发明的情况下,可以使用不同功能电路、单元或处理器之间的任何合适的功能分配。例如,所示出的由分别的处理器或控制器执行的功能可以由相同的处理器或控制器执行。因此,对特定功能单元或电路的引用仅被视为对用于提供所描述功能的合适手段的引用,而不是指示严格的逻辑或物理结构或组织。

本发明可以以包括硬件、软件、固件或这些的任何组合的任何适当形式来实施。本发明可以任选地至少部分地实施为运行在一个或多个数据处理器和/或数字信号处理器上的计算机软件。本发明的实施例的元件和部件可以以任何合适的方式在物理上、功能上和逻辑上实施。事实上,功能可以以单个单元、多个单元或作为其他功能单元的一部分来实施。这样,本发明可以在单个单元中实施,或者可以在物理上和功能上分布在不同的单元、电路和处理器之间。

尽管已经结合一些实施例描述了本发明,但是并不意图将本发明限制于这里阐述的特定形式。相反,本发明的范围仅由权利要求书来限定。另外,尽管特征可能看起来是结合特定实施例来描述,但本领域技术人员将认识到,可以根据本发明组合所描述的实施例的各种特征。在权利要求中,术语“包括”不排除其他元件或步骤的存在。

此外,尽管单独列出,但多个器件、元件、电路或方法步骤可以通过例如单个电路、单元或处理器实施。另外,尽管各个特征可以被包括在不同的权利要求中,但是这些特征可以有利地组合,并且包括在不同的权利要求中并不意味着特征的组合是不可行的和/或不有利的。另外,在一类权利要求中包括特征并不意味着对该类别的限制,而是表示该特征适当地适用于其他权利要求类别。此外,权利要求中的特征的顺序并不意味着特征必须被处理的任何特定顺序,特别是方法权利要求中的各个步骤的顺序并不意味着这些步骤必须以该顺序执行。相反,这些步骤可以以任何合适的顺序执行。另外,单数引用不排除多个。因此,对“一”、“一个”、“第一”,“第二”等的引用不排除多个。提供权利要求中的附图标记仅仅是用作解释范例,而不应被解释为以任何方式限制权利要求的范围。

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