用于从单一的图像生成多视图像的方法

文档序号:6352356阅读:171来源:国知局
专利名称:用于从单一的图像生成多视图像的方法
技术领域
本发明一般涉及多视图像的生成。更具体地说,本发明涉及仅从二维源图像中的像素生成多视图像。
背景技术
多视图像以当使用特殊眼镜观看时立体效果好而著称。然而,最近出现的自动立体显示使得能向观众提供三维(3-D)对象场景的部分重建,而无需观众佩戴快门式眼镜或偏振眼镜/立体眼镜。在这种方法中,对象场景由相机阵列抓取,其中,相机阵列中每个相机沿不同的光轴取向。各相机的输出然后被集合到多视图自动立体显示器上。尽管该方法有效,但是设置相机阵列、使各相机的光学特性(如变焦、聚焦等)同步是非常繁琐的。此外,存储和分发多通道的视频信息也很难。这导致了普遍缺乏这样的3D容量,因而对在自动立体显示器(monitor)、或如3D数码相框的相关产品的商业化施加了一主要瓶颈。因此,需要有更简单的方法以生成多视图像,而不需要使用相机阵列。

发明内容
简单地说,本发明通过仅使用源图像的像素生成多视图像满足以简单的方式生成多视图像的需要。本发明描述了一种将单一的静态图片转换成多个图像的方法,各图像沿着特定的视角方向合成3D对象场景的投影图像。该多个图像模拟由照相机阵列对这样的图像的拍摄(capture)。接着,该多个图像可被提供并显示在显示器(例如,3D自动立体显示器)上。本发明的方法可以被实施为运行于计算单元上的独立软件程序、或被实施为硬件处理电路(如FPGA芯片)。它可以应用于处理通过光学的或数字的装置所拍摄的静态图像。本发明的第一方案提供一种生成场景的多视图像的方法。该方法包括获取场景的单一的二维源图像,所述源图像包括多个源像素;以及仅从所述多个源像素中的至少一些源像素中自动生成所述场景的至少两个多视图像,所述至少两个多视图像的各多视图像具有针对所述场景的不同的视角方向。本发明的第二方案提供一种计算单元,包括一存储器以及与所述存储器通信的用于根据一方法生成场景的多个多视图像的处理器。该方法包括获取场景的单一的二维源图像,所述源图像包括多个源像素;以及仅从所述多个源像素中的至少一些源像素中自动生成所述场景的至少两个多视图像,所述至少两个多视图像的各多视图像具有针对所述场景的不同的视角方向。本发明的第三方案提供至少一种硬件芯片,用于根据一方法生成场景的多个多视图像。该方法包括获取场景的单一的二维源图像,所述源图像包括多个源像素;以及仅从所述多个源像素中的至少一些源像素中自动生成所述场景的至少两个多视图像,所述至少两个多视图像的各多视图像具有针对所述场景的不同的视角方向。
本发明的第四方案提供一种计算机程序产品,用于生成场景的多视图像,所述计算机程序产品包括存储介质,其由一处理电路可读且存储用于由所述处理电路执行以执行一方法的指令。该方法包括获取场景的单一的二维源图像,所述源图像包括多个源像素,以及仅从所述多个源像素中的至少一些源像素中自动生成所述场景的至少两个多视图像,所述至少两个多视图像的各多视图像具有针对所述场景的不同的视角方向。从下面结合附图对本发明的各个方案的详细描述中,本发明的这些和其它目的、特点和优点将变得显而易见。


本发明的一个或多个方案具体地被指出,并清楚地作为例子主张在本说明书结束处的权利要求书中。从如下结合相应附图的详细描述中,本发明的上述和其它目的、特点和优点变得显而易见,附图中图1示出了显示根据本发明的方法生成的多视图像的自动立体显示器。图2是根据本发明各方案的生成一场景的多个多视图像的方法的流程图/方框图。图3是根据本发明的其他方案的生成一场景的多个多视图像的方法的流程图/方框图。图4是一种存储实施本发明方法的代码或逻辑的计算机程序产品的一个示例的方框图。图5是一种存储及执行实施本发明方法的程序代码或逻辑的计算单元的一个示例的方框图。图6示出了根据本发明的从多个多视图像中生成单一的图像的一个示例的流程图/方框图。
具体实施例方式本发明将单一的静态图片转换成多个图像,各图像沿着特定的视角方向模拟3D对象场景的投影图像。对于每个创建的图像生成一偏移量,并将该偏移量增加到源图像中的至少一些像素。要创建3D效果,需要至少两幅图像,每幅图像来自不同的视角方向。如下所述,附加的处理也可能发生。然后可以提供(render)和显示多个图像。M个(多个)图像(以下简称为多视图像)从单一的、静态的二维图像(以下简称为源图像)生成。设I(x,y)代表源图像,并且gi(x,y) I “i<M表示要生成的第i幅多视图像。I (X,y)至gi (X,y) I Q<i<M的转换可以被定义为gi (x, y) I O ^ KM=I (χ+ δ J (χ, y) , y) (I)其中χ和y分别是像素在源图像中的水平和垂直坐标,Si(XJ)和Λχ是整数,并且Si(Xj)是被定义在区间[-Λχ,Δχ]中的变量。Si(Xj)是在源图像I(X,y)中的像素与在gi(x,y) I wi<M中对应的像素之间的视差(disparity)或偏移量。当多视图像被显示在3D自动立体显示器时,例如,它会在源图像I(x,y)上产生三维的感觉(perception)。更具体地说,如果在3D自动立体显示器(10,图1)上显示多视图像,图像序列[gQ(x,y), gi (χ, y),. gM-1 (χ, y)] 12中的每幅图像会被折射到唯一的角度上,如图1所示。图2是根据本发明各方案的生成一场景的多个多视图像的方法的流程图/方框图。源图像I (X,y)20被输入到视差估计器22以提供初始的视差图0(x,y) 24,该视差图从I (x, y)中的每个像素的三个主要分量(或其它等效表示)的加权和中得出。在数学上,O (χ, y) =K+weR(x, y) +wgG (x, y) +wbB (χ, y) (2)其中K是常数。R(x, y)、G(x, y)和B(x, y)是源图像I (χ, y)中处于位置(χ, y)处的像素的红色值、绿色值和蓝色值。wK、wG和wB分别是R(x, y)、G(x, y)和B(x, y)的加权因子。应当注意,在源图像中的像素可以被表示成其他等效形式,如亮度(Y(x,y))和色度(U(x,y)和V(x,y))分量,如本领域技术人员知晓的,其中的每个分量可以从R(x,y)、G(x, y)和B(x,y)的某一线性或非线性的组合推导出。 在一个示例中,K=O并且三个加权因子被分配相同的值1/3。这意味着,在确定视差图时三个颜色分量被分配相等的权重。在第二示例中,加权因子被分配为wE=-0. 3, wG=-0. 59, Wb=-O. 11其中,K是正的常数使得对于源图像I (x,y)中的所有像素,0(x,y)彡O。这样的加权意味着视差图中的每个点的值是正的,并且与源图像I (x,y)中的对应像素的亮度成反比。在第三示例中,常数K和三个加权因子受如下的限制而被手动调整wE+wG+wB=V其中,V是有限的常数,例如它可以等于I。观众可以根据个人对3D效果的喜好确
定权重。在一组多视图像中,每幅图像通过对源图像中的每个像素增加视差或偏移量而得以生成。然而,这可能会导致在近邻域内的像素之间的视差值的突然变化,从而造成在3D感觉上的不连续性。为增强多视图像的视觉愉悦性,初始的视差图可以由视差滤波器26处
理,从而获得增强的视差图27。0^>,)27可以下述方式获得,例如用二维低通滤波
函数F(x,y)对视差图0(x,y)进行滤波。F(x, y)可以是任何数量的低通滤波函数,如矩形滤波器(Box filter)或汉明滤波器(Hamming filter),但可以理解到F(x, y)可以被改变为其他函数来调整3D效果。其他函数的例子包括但不限于汉宁(Hanning)低通滤波器、高斯低通滤波器和布莱克曼(Blackman)低通滤波器。在数学上,滤波处理可以表示为0(x,y)和F (χ, y)之间的卷积0(x,y) = 0(x,y)*F(x,y) (3)一组多视图像28使用视差发生器29根据下面的方程式(4.1)和方程式(4. 2)从源图像和CKx,:/)(如果没有被滤波,则为o(x,y))中生成。设i表示第i个要生成的多视图像。如果α彡偏移量),则
对于蘇移屬Wrf6(x, y) gi(x+m,_y) = I(x, j) (4.1)如果(i <偏移量),则对于(/-蘇移屬wrf0(x,y)彡/w彡O gi(x+m,y)=I(x,y) (4.2)其中,偏移量是整数,其值可以在范围
内。然而,应当理解,其他的范围是可能的,并且可以由观众手动调整。Wd是加权因子,对于给定的源图像I (X,y),Wd是恒定的,并且wd用于调整基于方程式(4.1)和方程式(4. 2)生成的多视图像之间的差异。在一般情况下,Wd的值越大,3D效果则越强。不过,如果Wd太大,它可能会降低多视图像的视觉质量。
在一种实施例中,Wd的范围在[(),的范围之内,其中Vmax是归一化常数,其例如可以是
源图像I(x,y)中的像素的最大光强。然而,可以理解所述范围可以被手动改变,以满足个人的喜好。方程式(4. 1)和方程式(4.2)意味着,81(1,7)中的每个像素是从I (X+δ i (x,y),y)中的像素中获得。如此,gi(x,y)中的每个像素的视差项Si(^y)以隐含的方式得以确定。在一个示例中,方程式(4.1)和方程式(4. 2)中的项(1-偏移量)可以分别被限制为最大值和最小值。在另一示例中,方程式(4.1)或方程式(4. 2)仅应用一次到gi(x,y)中的每个像素上。这可以确保如果&(17)中的每个像素之前已用方程式(4.1)或方程式(4. 2)被指定给I (χ,y)中的像素,则该& (χ,y)中的每个像素将不会被改变。偏移量项是预先定义的值,该值对于给定的源图像是恒定的。不同的源图像可以具有不同的偏移量值。提供偏移量的目的是对于每个多视图像施加水平移位,以创建仿佛观众是在不同的水平位置观看从源图像生成的3D场景的效果。如图3所示,根据本发明的另一方案,源图像I (X,y)30被输入到视差估计器31以提供初始的视差图0(x,y)32。类似于对图2的描述,在一组多视图像中,每个图像是通过对源图像中的每个像素增加视差而得以生成。为增强多视图像的视觉愉悦性,初始的视差图可以由视差滤波器33处理,从而获得增强的视差图0(x,y) 34。源图像也可以被输入到显著性估计器35中以确定在生成多视图像过程中每个像素的相关性。使用视差生成器37,从根据显著性估计器表现出足够相关性的源图像中的多个像素和0@. y)中生成一组多视图像36。显著性估计器通过根据预定的标准排除一些在生成多视图像过程中无关的像素,提高了生成多视图像的速度。在一示例中,用于显著性估计器的所述预定标准采用边缘检测的形式,如索贝尔算子(Sobel operator)或拉普拉斯算子(Laplacian operator)。理由是,三维感觉主要是由图像中的不连续性位置所施加的。光滑的或同类(homogeneous)的区域被认为具有较小的3D效果。显著性估计器选择源图像I (x,y)中的像素,所述像素用方程式(4.1)和方程式(4. 2)加以处理来生成多视图像。对于未被显著性估计器选择的剩余像素,他们例如通过将视差S i(x,y)设置成零而被复制到所有的多视图像中。在另一示例中,方程式(4.1)和方程式(4. 2)可以仅被应用于源图像I (x,y)中被显著性估计器所选择的像素,从而降低了整个处理的计算负荷。采用显著性估计器生成多视图像的过程可以在下面的步骤中进行说明步骤1.设置对于 O 彡 i〈M 的 gi (χ, y) =I (x, y)。
步骤2.如果I(x,y)是显著的像素,则应用方程式(4.1)和方程式(4. 2)来生成多视图像。对I (X,y)中的所有像素执行步骤I和步骤2。在本发明的另一方案中,直观地示于图6中,一组多视图像60gi(x,y) Dc^km被集成到单一的多维图像中(在感知感觉上),并随后显示在显示器上(例如,自动立体显示器)。为了解释清楚,采用以下术语。由M(x,y)表示的集成图像62是二维图像。记录颜色的每个像素分别由Red(R)值、Green (G)值、和Blue (B)值定义,所述Red(R)值、Green (G)值、和Blue (B)值分别被表示为 IMe (x, y)、IMg (χ, y)、和 IMb (x, y)。由gi(x,y)表示的每个多视图像是二维图像。每个像素记录分别由Red(R)值、Green (G)值、和Blue (B)值所定义的颜色,所述Red (R)值、Green (G)值、和Blue (B)值被表示为 gi;R(x,y)、gi;G(x. y)、和 gi;B(x,y)。在用于自动立体显示器的一示例中,将多视图像集成为集成图像通过使用二维的掩模函数(mask function)64MS(x, y)得以实现。MS(x,y)中的每个条目记录三元值,每元的值均在范围
之内,并被表示为151;0^7)、1^0^7)、和1^0^7)。将多视图像转换成IM(X,y)的方法例如使用下面的方程式来实现IMe(x, y)=gJ;E(x, y), (5.1)其中j=MSK(x,y)。IMg(x, y)=gm;G(x, y), (5. 2)
其中m=MSG(x, y)。IMb (x, y)=gn;B(x, y), (5. 3)其中n=MSB(x,y)。掩模函数MS(x,y)依赖于用于显示集成图像頂(x,y)的自动立体显示器的设计。如为本领域的技术人员所理解的,本发明的各方案可被实施为一种系统、方法或计算机程序产品。因此,本发明的各方案可采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或结合软件方案和硬件方案的实施例的形式,所述各实施例在这里通常都可被称作为“处理器”、“电路”、“系统”、或“计算单元”。此外,本发明的各方案可采取收录(embody )在一个或多个计算机可读介质中的计算机程序产品的形式,所述计算机可读介质具有收录在其上的计算机可读程序代码。可以利用一种或多种计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。一种计算机可读信号介质可以包括例如在基带或作为载波的一部分的具有收录在其中的计算机可读程序代码的传播的数据信号。这种(传播的信号可以采取任何的各种形式,包括但不限于电-磁的、光学的或它们的任何合适的组合。一种计算机可读信号介质可以是不是计算机可读存储介质的任何计算机可读介质,其可通信、传播、或传输被指令执行系统、装置或设备所用的或与指令执行系统、装置或设备有关的程序。计算机可读存储介质例如可以是但不限于电的、磁的、光学的、电磁的、红外线的或半导体的系统、装置、或设备、或前者的任何合适的组合。计算机可读存储介质的更具体的例子(非穷尽列举)包括以下的具有一条或多条导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或前者的任何合适的组合。在本文的上下文中,计算机可读存储介质可以是任何有形的介质,它能够包含或存储被指令执行系统、装置或设备所用的或与指令执行系统、装置或设备有关的程序。现在参照图4,在一示例中,计算机程序产品40例如包括里面存储计算机可读程序代码装置或逻辑44的一个或多个计算机可读存储介质42,以便提供和促进本发明的一个或多个方案。收录在计算机可读介质上的程序代码可以使用适当的媒介被传送,该媒介包括但不限于无线、有线、光纤线缆、射频(RF)等、或上述媒介任何合适的组合。针对本发明的各方案用于执行操作的计算机程序代码可以用一种或多种编程语目的任何组合编写,所述编程语目包括面向对象的编程语目(如Java、Smalltalk、C++等),以及传统的程序化编程语言(如“C”编程语言、汇编语言或类似的编程语言)。程序代码可完全在用户的计算机上执行、部分地在用户的计算机上执行、作为独立运行的软件包而部分地在用户的计算机上、以及部分在远程计算机上执行、或完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网络(LAN)或广域网络(WAN))连接到用户的计算机,或可例如通过使用互联网服务提供商的因特网实现到外部计算机的连接。本发明的各方案在此参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程示意图和/或方框图予以描述。可以理解到,流程示意图和/或方框图的每个块、流程示意图和/或方框图中块的组合,可通过计算机程序指令得以实施。这些计算机程序指令可被提供给一通用计算机的、专用计算机的、或其它可编程数据处理设备的处理器,以形成一机器,使得经由计算机的处理器或其他可编程数据处理设备执行的指令生成用于实施在流程图和/或方框图的块或多个块中指定的功能/动作的装置。 这些计算机程序指令也可以被存储在计算机可读介质中,其可以指示(direct)计算机、其他可编程数据处理装置、或其他设备以特定的方式发挥作用,使得在计算机可读介质上存储的指令制造一包括如下指令的制品,该指令实施流程图和/或方框图的块或多个块中指定的功能/动作。所述计算机程序指令也可以被加载到计算机、其它可编程数据处理装置、或其他设备上以引起一系列的将要在该计算机、其他可编程装置或其他设备上实施的操作步骤,以创建这样的计算机实施过程,使得在该计算机或其它可编程装置上执行的指令提供用于实现流程图和/或方框图的块或多个块中指定的功能/动作的处理过程。附图中的流程图和方框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能的实施的架构、功能和操作。在这点上,流程图或方框图中的每个块可表示一模块的、一段的或一部分的代码,其包括用于实现特定(多个)逻辑功能的一个或多个可执行指令。还应当指出的是,在一些可选的实施例中,这些块中指出的功能可能会出现与附图中指出的顺序相悖的情形。例如,取决于所涉及的功能,所示为连续的两个块实际上可以基本上同时被执行,或多个块有时可以以相反的顺序被执行。还应当注意的是,方框图和/或流程示意图的每个块、以及方框图和/或流程示意图中的块的组合,可以通过执行特定的功能或动作的专用的基于硬件的系统、或专用的硬件与计算机指令的组合来实施。
另外,适合于存储和/或执行程序代码的数据处理系统是可用的,其包括通过系统总线直接或间接地耦合到存储元件中的至少一个处理器。存储元件例如包括在实际执行程序代码期间所使用的本地内存(local memory )、大容量存储器、和高速缓冲(cache )存储器,该高速缓冲存储器为至少一些程序代码提供临时存储,以减少在执行过程中代码必须从大容量存储器中取出(retrieve)的次数。如该图5所示,可提供的适用于存储和/或执行程序代码的计算单元50的一个示例包括通过系统总线54直接或间接地耦接至存储元件的至少一个处理器52。正如现有技术中所知的,存储元件例如包括数据缓冲器、在实际执行程序代码期间所使用的本地内存56、大容量存储器58、和高速缓冲存储器,该高速缓冲存储器为至少一些程序代码提供临时存储,以减少在执行过程中代码必须从大容量存储器中取出的次数。输入/输出或I/O装置59 (包括但不限于键盘、显示器、指点设备、DASD、磁带、光盘、DVD光盘、闪存盘和其他存储介质等)可以直接或通过中间介入的I/O控制器耦接至系统。网络适配器也可以耦接至所述系统,以使该数据处理系统通过中间介入的私有或公共网络,耦接至其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器、和以太网卡仅是可用类型的网络适配器的一小部分。所附权利要求书中的所有装置或‘步骤加功能元件’的相应的结构、材料、动作、和等同物,如果有的话,旨在包括用于与具体要求保护的其他元件相结合来执行功能的任何结构、材料、或动作。本发明的说明书为阐述和描述的目的而被呈现出,但并非想要详尽地或限制所公开的形式的本发明。许多修改和变化对于本领域的技术人员来说将是显而易见的,而不会背离本发明的范围和精神。选择和描述这些实施例是为了最好地解释本发明的原理和实际应用,并使本领域的技术人员能够理解对于具有按照适合于预期的特定用途进行修正的不同实施例的本发明。虽然本文说明和描述了本发明的几个方案,然而替代的方案可以由本领域技术人员实施以实现同样的目的。因此,旨在由所附的权利要求书来覆盖所有这样的、落入本发明的真实精神和范围内的替代方案。引用列表Sullivan等,“2D到3D图像的转换”,美国专利号7573475,2009年8月11日。Davidson,等“用于2D到3D图像的转换的填充”,美国专利号7573489,2009年8
月11曰。Harmon,“用于显示立体3D图像的图像转换和编码技术”,美国专利号7551770,2009年6月23日。Harmon, “图像转换和编码技术”,美国专利号7054478,2006年5月30日。Naske等,“用于2D/3D图像转换和优化的方法和系统”,美国专利号7254265,2007
年8月7日。Yamashita等,“用于将二维视频转换为三维视频的装置和方法”,美国专利号7161614,2007 年 I 月 9 日。
权利要求
1.一种生成场景的多个多视图像的方法,该方法包括获取一场景的单一的二维源图像,所述源图像包括多个源像素(20);以及仅从所述多个源像素中的至少一些源像素中自动生成所述场景的至少两个多视图像 (28),所述至少两个多视图像的各多视图像具有针对所述场景的不同的视角方向。
2.根据权利要求1所述的方法,还包括将所述至少两个多视图像(60)结合(64)成所述场景(62)的单一的集成图像。
3.根据权利要求2所述的方法,还包括在显示器(10)上显示所述单一的集成图像。
4.根据权利要求3所述的方法,其中所述显示器包括自动立体显示器。
5.根据权利要求1所述的方法,其中所述自动生成包括对于所述至少两个多视图像 (28)中的每个多视图像,为所述多个源像素中的至少一些源像素的每个生成视差(24)。
6.根据权利要求5所述的方法,其中所述视差包括用于红色、蓝色和绿色中每种颜色的加权值。
7.根据权利要求5所述的方法,其中所述自动生成还包括对于所述至少两个多视图像(28)中的每个多视图像,将所述视差与所述多个源像素中的至少一些源像素的每个进行结合(29)。
8.根据权利要求7所述的方法,其中所述自动生成还包括在所述结合之前,进行滤波 (26 )以生成滤波后的视差(27 ),并且其中所述结合包括将所述滤波后的视差与所述多个源像素(20)中的至少一些源像素的每个进行结合。
9.根据权利要求8所述的方法,其中所述滤波包括低通滤波。
10.根据权利要求1所述的方法,其中所述自动生成包括将所述多个源像素中的至少一些源像素识别(35)为至少具有预定级别的相关性。
11.根据权利要求10所述的方法,其中所述识别包括边缘检测。
12.根据权利要求1所述的方法,还包括针对所述场景的一系列相关的图像重复所述获取和所述自动生成以创建视频序列。
13.—种计算单元(50),包括存储器(56);与所述存储器通信的处理器(52),用于根据权利要求1-12任一项所述的方法生成场景的多个多视图像。
14.至少一种硬件芯片,用于根据权利要求1-12任一项所述的方法生成场景的多个多视图像。
15.根据权利要求14所述的至少一种硬件芯片,其中所述的至少一种硬件芯片包括现场可编程门阵列芯片。
16.一种计算机程序产品(40),用于生成场景的多视图像,所述计算机程序产品包括存储介质(42),其由一处理电路可读且存储由所述处理电路执行的用于执行根据权利要求 1-12任一项所述的方法的指令(44)。
全文摘要
仅从一场景的单一的二维源图像(20)中生成场景的多个图像(28),其中每个图像来自从不同的视角方向或角度。对于多个图像中的每个图像,对应于视角方向生成视差,并且该视差与在源图像中的显著像素(例如,边缘检测的像素)结合。视差在与显著像素结合之前可被滤波(26)(例如,低通滤波)。多个图像被结合成一集成的图像用于显示例如在自动立体显示器(10)上。这个过程可以在多个相关的源图像上重复以创建一视频序列。
文档编号G06T17/00GK103026387SQ201080068288
公开日2013年4月3日 申请日期2010年7月26日 优先权日2010年7月26日
发明者曾伟明 申请人:香港城市大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1