具体实施方式
本发明提供产生深度图的方法及系统。图1是显示依据本发明一实施例的深度图产生系统的功能方块图。深度图产生系统100可用于一电子装置,例如是计算机系统、显示装置、接收装置、播放装置、移动电话中的撷取装置以及其他包括但不是显示器的相关装置。
深度图产生系统100包括一存储单元110以及一处理单元120。存储单元110包括至少一图像111以及至少一相关初始深度图113。该至少一图像111可由单眼静止图像或单眼动态图像所取得。初始深度图113定义该至少一图像111的各像素的初始深度值。
图2A~图2F是显示依据本发明一实施例的初始深度图的示意图。如图2A~图2F所示,各初始深度图由多个像素所组成,且各像素具有一相关的初始深度值。需注意的是,在图2A~图2F中,初始深度值由介于白与黑之间的灰阶值所表示,且各灰阶有关于一特定深度值,其中黑色表示最深的深度,且白色表示最浅的深度。当了解的是在图2A~图2F中的初始深度图仅为本发明的例子,本发明并不限于此。初始深度图113可依据该至少一图像111以预先设定或产生。在一些实施例中,初始深度图113可依据该至少一图像111中的各像素的对比、亮度、模糊信息(blur information)或材质梯度(texture gradient)所产生。
图3A是显示依据本发明一实施例的依据一模糊度测量量的初始深度图,其中初始深度图通过利用一子窗在该至少一图像111中的一个滑动以计算模糊度量的方法所取得。图3B是显示依据本发明一实施例的依据对比测量的初始深度图。在一些实施例中,当该至少一图像111为一影片,可依据图像数据112计算各图像111中除了以第一时间序列所构成的电影场景之外的各像素的移动向量,且可依据图像111中的各像素的移动向量来建立初始深度图,其中移动向量的一特定值可映对至一特定的初始深度值。更进一步而言,在一些实施例中,可依据由图像111中取得的一图像子集合的各像素的移动向量来选择初始深度图中的一个。在这些实施例中,图像子集合中的各图像包括至少一感兴趣区域(Region of interest)。一相关感兴趣区域在欲估计的初始深度图中定义,且该初始深度图与图像子集合有关。上述感兴趣区域所指派的相关标签依据上述感兴趣区域的运动量(amount of motion),其中上述标签表示一深或浅的深度,意即表示距离近或远。举例来说,初始深度图300定义5个感兴趣区域ROI1~ROI5,如图4所示,其中各感兴趣区域具有一表示近或远的标签。可计算及平均由图像111所取出的图像子集合中的感兴趣区域的各像素的移动向量。上述感兴趣区域的平均移动向量的数值可与一阈值进行比较,用以为上述感兴趣区域取得一标签(近或远),接着可依据上述感兴趣区域的标签创造一特定初始深度图,其中该特定深度模型的感兴趣区域标签符合图像111中的一图像的上述标签。需了解的是,当在图像111及初始深度图113中定义了数个感兴趣区域,感兴趣区域标签的结合可用以选择最适合的初始深度图,例如选择一查找表(Look-up table)中的一元件(未绘示)。更需了解的是,在一些实施例中,各感兴趣区域可定义为由多个点所组成的多个格子(grids),其中可计算上述格子的移动向量以加速评估移动。处理单元120系执行本发明的用于产生深度图的方法,其细节将于后述段落中详述。
图5是显示依据本发明一实施例的用于产生深度图的方法的流程图。本发明的用于产生深度图的方法可用于一电子装置,例如是一计算机系统、一显示装置、一接收装置、一播放装置及其他装置等等。
在步骤S410,取得包括多个像素的一图像。举例来说,该图像可由一静态图像或一动态图像所取得。在步骤S420,取得一初始深度图。该初始深度图定义该图像中的各像素的初始深度值。同样地,在一些实施例中,初始深度图可由多张候选初始深度图中所选择,或是依据该图像中的各像素的对比、亮度、艺术透视(atmospheric perspective)、模糊信息、或材质梯度所产生。在一些实施例中,可计算与视频图像中所定义的至少一感兴趣区域相关的移动向量,且这些移动向量的数值可用以直接建构该初始深度图,或是由多张候选初始深度图中选择该初始深度图。本发明选择或建构该初始深度图的相关细节已于上述实施例中被公开。在步骤S430,为了取得相关的初始深度值,依据该图像中的各像素的位置,映射该图像中的各像素至该初始深度图。在步骤S440,该图像的图像数据空间(image data space)系分割为多个子图像空间(sub-image spaces),而且为了取得该图像的像素的深度信息,依据该等像素位于同一子图像空间的初始深度值以过滤该图像中的各像素的初始深度值。
需注意的是,在一些实施例中,为了要取得该图像或视频图像的像素的深度信息,可利用一双向滤波器以过滤该图像中的各像素的初始深度值来执行步骤S440。需注意的是,该等像素的颜色值由初始深度值所取代,且输入至该双向滤波器进行滤波。对于本发明领域的技艺者来说,双向滤波器为已知技术,因此其细节在本发明中已省略,例如可参考“Real-time Edge-AwareImage Processing with the Bilateral Grid”;Jiawen Chen,Sylvain Paris,andFrédo Durand;ACM Transactions on Graphics(Proceedings of the ACMSIGGRAPH′07 conference)等文献。该图像中各像素的初始深度值的滤波过程可通过使用双向方格法来进行加速。首先,依据像素的亮度以映射该图像中的各像素到至少一三维方格,可能依据其他可得到的像素信息以映射至其他的三维方格。在此映射过程中,依据一映射函数以将该图像的各像素的二维坐标及其亮度映射至一三维坐标,该映射函数可表示为:
其中r及s为2个可调参数,分别将该初始单眼图像的各像素的空间范围及亮度范围与该方格的单位(cell)进行联系;(u,v)为该图像的各像素的二维坐标;I(u,v)为像素(u,v)的亮度;(x,y,z)为该双向方格在该三维空间中所定义的坐标。当各像素映射至一三维方格后,依据该三维方格中的各单位的各像素的初始深度值计算各单位的平均深度值。需了解的是,在一些实施例中,可使用一低通滤波器来过滤各单位的平均深度值。除此之外,在一些实施例中,可依据使用一高斯滤波器的周围单位对各单位的平均深度值进行平滑。最后,为了要取得该等像素的深度信息,该图像中各像素的初始深度值可由该像素所位于的单位的平均深度值所取代。
图6是显示依据本发明另一实施例的用于产生深度图的方法的流程图。该用于产生深度图的方法可用于一电子装置,例如是一计算机系统、一显示装置、一接收装置、一播放装置及其他装置等等。在此实施例中,在一图像序列的移动视差可用以调整在初始深度图中的初始深度值。
在步骤S510,取得包括多个像素的多张图像。该等图像可由一单眼动态图像所取得。在步骤S520中,一取得与至少一图像相关的一或多张初始深度图。初始深度图定义该等图像中的各像素的初始深度值。同样地,在一些实施例中,一或多个初始深度图可由多个候选初始深度图中所选择,或是依据该等图像的各像素的对比、亮度、模糊信息或材质梯度所产生。在一些实施例中,可计算与该等图像中所定义的感兴趣区域有关的移动向量,且这些移动向量的数值可用以直接建构初始深度图,或是由多张候选初始深度图中选择初始深度图。选择深度图的实施例是显示于图2A~图2F,计算深度图的实施例是显示于图3A~图3B。通过估计在图像中的感兴趣区域的移动向量,可完成如图2A所示的选择一深度图的过程。在步骤S530,依据图像数据(数个图像图片),可计算图像中的各像素的移动向量。需了解的是,在一些实施例中,可使用一光流动方法计算各像素的移动向量,但本发明并不限于此。举例来说,在一些实施例中,可利用依据一平均位移滤波器的方法切割图像。依据在各分段(segment)中的各像素的移动向量计算各分段的平均移动向量,且平均移动向量是指派至该分段的各像素。需了解的是,在一些实施例中,可进一步平均在不同图像中的相同分段的平均移动向量。接着,在步骤S540,依据各像素的移动向量调整在初始深度图中的各像素的初始深度值。在一些实施例中,在初始深度图中的各像素的初始深度值可利用下列公式调整所得到:
其中
D
m(x,y)为图像数据中的像素(x,y)的移动向量数值的直接比例(direct proportion);D
b(x,y)为初始深度图中的像素(x,y)的原始初始深度值;D
r(x,y)为像素(x,y)调整后的初始深度值;M
max为一事先设定的最大移动向量;T
m为一事先设定的阈值。需了解的是,上述函数仅为一实施例,本发明并不限于此。可整合初始深度中的初始深度值及图像数据中的移动向的任何函数均可应用至本发明。在调整过初始深度图中的初始深度值后,在步骤S550,为了要取得相同的初始深度值,依据各像素的位置将图像中的各像素系映射至初始深度图。在步骤S560,图像数据空间系被分割为多个子图像,为了要取得各像素的深度信息,依据在同一子图像的像素的初始深度值过滤图像中各像素的初始深度值。
同样地,在一些实施例中,为了要取得各像素的深度信息,可使用一双向滤波器过滤图像中的各像素的初始深度值来执行步骤S560。需注意的是,该等像素的颜色值可以由初始深度所取得的初始深度值所取代,并输入至该双向滤波器进行过滤。在一些实施例中,可使用对称方法法来加速图像中的各像素的初始深度值的过滤处理。首先,依据像素亮度,将图像中的各像素映射至至少一三维方格,且可能依据其他可取得的像素信息映射至其他三维方格。在各像素映射至一三维方格后,可依据在单元(Cell)内的各像素的初始深度值计算各单元的平均深度值。需了解的是,在一些实施例中,各单元的平均深度值可用一低通滤波器进一步过滤。除此之外,在一些实施例中,可依据周围的单元对各单元的平均深度值进一步平滑。最后,为了取得该等像素的深度信息,图像中的各像素的初始深度值可由与像素所在的单元的平均深度值所取代。
因此,本发明的用于产生深度图的方法及系统可依据许多初始深度图,由图像数据产生深度图。
本发明的产生深度图的方法、系统或特定类型或其部分,可以以程序代码的类型包含于实体媒体,如软盘、光盘、硬盘、或是任何其他机器可读(如计算机可读)存储介质,其中,当程序代码被机器,如计算机载入且执行时,此机器变成用以参与本发明的装置或系统。本发明的方法、系统与装置也可以以程序代码类型通过一些传送媒体,如电线或电缆、光纤、或是任何传输类型进行传送,其中,当程序代码被机器,如计算机接收、载入且执行时,此机器变成用以参与本发明的装置或系统。当在一般用途处理器实作时,程序代码结合处理器提供一操作类似于应用特定逻辑电路的独特装置。
本发明所公开的方法可用大型集成电路(VLSI)类型或现场可编程逻辑门阵列(FPGA)类型的硬件装置所实现,但本发明不限于此。
当使用上述的硬件装置实现,本发明所公开的方法可用于单眼静止图像的实时转换,例如是可用一立体图像所播放,本发明的方法还可用于任何单眼动态图像的实时转换,例如是一种数字视频碟片(DVD)类型。本发明的方法还可用于单眼动态图像广播的实时转换,例如是电视节目。上述应用的实施例及其数目并不对本发明的其他应用构成限制。
本发明所公开的实施例的一目的是提供由单眼静止图像或单眼动态图像取得深度图,上述深度图保留了原始单眼图像的细节。
本发明所公开的实施例的另一目的是提供一快速方法以由单眼静止图像或单眼动态图像创造深度图。
本发明所公开的实施例的又一目的是提供信息于一系统以实现由单眼图像或动态图像产生深度图的方法。
然而以上所述仅为本发明的优选实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或权利要求书不须达成本发明所公开的全部目的或优点或特点。此外,摘要部分和标题仅是用以辅助专利文件搜寻之用,并非用以限制本发明权利要求书要求保护的范围。
权利要求书(按照条约第19条的修改)
1.一种产生深度图的方法,包括:
取得包含多个像素的一图像;
取得一初始深度图,其中该初始深度图定义所述多个像素对应的多个初始深度值;
依据所述多个像素的位置将所述图像映射至该初始深度图,藉以取得所述多个像素所相关的所述多个初始深度值;以及
将该图像的一图像数据空间分割为多个子图像空间,并依据位于同一子图像空间中的所述多个像素所相关的所述初始深度值过滤所述多个像素的所述初始深度值,藉以取得所述多个像素的一深度信息。
2.如权利要求1所述的方法,其中分割该图像数据空间及过滤该图像数据的所述多个像素的该初始深度值的步骤还包括:
依据所述像素的像素亮度,将所述多个像素映射至至少一或多个三维方格,其中该三维方格包括多个单元;
分别依据所述多个像素在所述单元中的所述初始深度值,计算该三维方格中各单元的一平均深度值;以及
利用所述多个像素所在的三维方格的该平均深度值取代该图像数据的所述多个像素的初始深度值,藉以取得所述多个像素的该深度信息。
3.如权利要求2所述的方法,还包括:
依据多个相关的周围单元,平滑该三维方格中的各单元的该平均深度值。
4.如权利要求1所述的方法,还包括:
依据该图像及一第二图像,计算该图像的所述多个像素的多个移动向量;以及
依据所述多个像素的所述多个移动向量,调整在该初始深度图中的所述多个像素的所述初始深度值。
5.如权利要求4所述的方法,还包括:
分割该图像,使得所述像素被分群为多个分段;以及
分别在各分段中的所述多个像素的所述多个移动向量,计算各分段的一平均移动向量,并指派该平均移动向量至各分段中的各所述多个像素。
6.如权利要求1所述的方法,还包括:
计算在该图像中至少一感兴趣区域的一平均移动向量;以及
依据该感兴趣区域的该平均移动向量,由多个候选初始深度图中选择该初始深度图。
7.如权利要求6所述的方法,还包括:
依据该感兴趣区域的该平均移动向量,决定在该图像中的该感兴趣区域的一标签;以及
在多个初始深度图中选择一特定候选初始深度图,其中该特定候选初始深度图定义该感兴趣区域及表示其深度的一相关标签,且在该特定候选初始深度图中的该感兴趣区域的该相关标签符合在该图像中的该感兴趣区域的该标签。
8.如权利要求1所述的方法,还包括:
依该图像及一第二图像,计算该图像的所述多个像素的多个移动向量;以及
分别依据该图像的各像素的所述多个移动向量,建构该初始深度图。
9.如权利要求1所述的方法,还包括:
分别依据该图像中各像素的对比,产生该初始深度图。
10.如权利要求1所述的方法,还包括:
分别依据该图像中各像素的一模糊信息,产生该初始深度图。
11.如权利要求1所述的方法,还包括:
分别依据该图像中各像素的一材质梯度,产生该初始深度图。
12.一种产生深度图的方法,包括:
取得包含多个像素的一图像;
取得一初始深度图,其中该初始深度图定义所述多个像素的多个初始深度值;
依据所述多个像素的位置,将该图像的所述多个像素映射至该初始深度图,藉以取得所述多个像素相关的所述初始深度值;以及
利用一双向滤波器过滤该图像的所述多个像素相关的所述初始深度值,藉以取得所述多个像素一深度信息。
13.如权利要求12所述的方法,还包括:
利用一双向方格法加速过滤该图像的所述多个像素的所述初始深度值的步骤。
14.如权利要求12所述的方法,还包括:
依据介于一动态影片的一序列的一第一图像部分及一第二图像部分之间的所述多个像素中的一个的一移动向量,调整在该初始深度图中的所述多个像素的所述初始深度值。
15.一种深度图产生系统,包括:
一存储单元,包括具有多个像素的一图像及用以定义该多个像素的多个初始深度值的一初始深度图,其中该图像由一视频数据所取得;以及
一处理单元,用以依据所述多个像素的位置将所述多个图像映射至该初始深度图,藉以取得所述多个像素所相关的所述初始深度值,以及将该图像的一图像数据空间分割为多个子图像空间,并依据位于同一子图像空间中的所述多个像素所相关的所述初始深度值过滤所述多个像素的所述初始深度值,藉以取得所述多个像素的一深度信息。
16.如权利要求15所述的深度图产生系统,其中该处理单元还依据所述多个像素的像素亮度,将所述多个像素映射至包括多个单元的至少一三维方格,并分别依据所述多个像素在所述单元中的所述初始深度值,计算该三维方格中各单元的一平均深度值,以及利用所述多个像素所在的三维方格的该平均深度值取代该图像数据的所述多个像素的所述初始深度值,藉以取得所述多个像素的该深度信息。
17.如权利要求16所述的深度图产生系统,其中该处理单元所执行的该过滤步骤包括依据在该三维方格中相关的周围单元,平滑该三维方格中各单元的该平均深度值。
18.如权利要求15所述的深度图产生系统,其中该存储单元还包括该视频数据,且该处理单元还计算所述多个像素的多个移动向量,依据不同时间的二张相关视频图像的该图像,将所述多个像素分为多个群组或将该图像分割为多个分段,并依据所述多个像素的所述多个移动向量、所述多个像素的所述多个群组或该图像的所述多个分段,调整在该初始深度图中的所述多个像素的所述多个初始深度值。
19.如权利要求18所述的深度图产生系统,其中该处理单元还分割该图像的所述多个像素,依据各分段中的所述多个像素的所述多个移动向量,计算各分段的一平均移动向量,并指派该平均移动向量至各分段中的各所述多个像素。
20.如权利要求15所述的深度图产生系统,其中该处理单元还计算在该图像中的至少一感兴趣区域的一平均移动向量,并依据该感兴趣区域的该平均移动向量由多个候选初始深度图中选择该初始深度图。
21.如权利要求15所述的深度图产生系统,其中该处理单元还依该感兴趣区域的该平均移动向量以决定在该图像中的该感兴趣区域的一标签,并选择一定特候选初始深度作为该初始深度图,其中各候选初始深度图定义该感兴趣区域及相关表示一近侧或一远侧的该标签,且在所述多个定候选深度中的该感兴趣区域的该标签符合在该图像中的该感兴趣区域的该标签。
22.如权利要求15所述的深度图产生系统,其中该处理单元还依据该图像及一第二图像计算该图像中的各像素的一移动向量,并分别依据该图像中的各像素的该移动向量建构该初始深度图。
23.如权利要求15所述的深度图产生系统,其中该处理单元还依据该图像的所述多个像素的一对比、一亮度、一模糊信息或一材质梯度以产生该初始深度图。
24.一种深度图产生系统,包括:
一存储单元,包括具有多个像素的一图像以及定义所述多个像素的多个初始深度值的一初始深度图;以及
一处理单元,依据所述多个像素的位置,将该图像的所述多个像素映射至该初始深度图,藉以取得相关的所述多个初始深度值,并使用一双向滤波器过滤该图像的所述多个像素相关的所述多个初始深度值,藉以取得所述多个像素的一深度信息。
25.如权利要求24所述的深度图产生系统,其中该处理单元还利用一双向方格法以加速过滤该图像的所述多个像素的所述多个初始深度值。
26.如权利要求24所述的深度图产生系统,其中该处理单元还依据介于该图像数据及一第二图像之间的所述多个像素中的一个的一移动向量,调整在该初始深度图中的所述多个像素的所述多个初始深度值。
27.一种机器可读存储介质,存储于一机器可读存储介质,该程序包括多个指令用以让一装置执行下列步骤:
取得包含多个像素的一图像;
取得一初始深度图,其中该初始深度图定义多个像素对应的初始深度值;
依据所述多个像素的位置将所述多个图像映射至该初始深度图,藉以取得所述多个像素所相关的所述初始深度值;以及
将该图像的一图像数据空间分割为多个子图像空间,并依据位于同一子图像空间中的所述多个像素所相关的所述初始深度值过滤所述多个像素的所述初始深度值,藉以取得所述多个像素的一深度信息。
28.一种机器可读存储介质,存储于一机器可读存储介质,该程序包括多个指令用以让一装置执行下列步骤:
取得包含多个像素的一图像;
取得一初始深度图,其中该初始深度图定义所述多个像素的多个初始深度值;
依据所述多个像素的位置,将该图像的所述多个像素映射至该初始深度图,藉以取得所述多个像素相关的所述初始深度值;以及
利用一双向滤波器过滤该图像的所述多个像素相关的所述初始深度值,藉以取得所述多个像素一深度信息。
29.一种产生深度图的方法,包括:
由一计算机的一存储单元取得包含多个像素的一图像;
由该计算机的该存储单元取得一初始深度图,其中该初始深度图定义所述多个像素的多个初始深度值;
使用该计算机的一处理单元依据所述多个像素的位置,将该图像的至少一些所述多个像素映射至该初始深度图,藉以取得所述多个像素相关的所述初始深度值;以及
使用该计算机的该处理单元过滤所映射的所述多个像素相关的所述初始深度值,藉以取得所述多个像素的一深度信息。
30.如权利要求29所述的方法,其中过滤所述多个深度值的步骤通过该计算机的该处理单元使用一双向滤波器以进行过滤。
31.如权利要求29所述的方法,还包括:
使用一双向方格法加速过滤该图像的所述多个像素的所述初始深度值。
32.如权利要求29所述的方法,还包括:
依据介于一动态影片的一序列的一第一图像部分及一第二图像部分之间的所述多个像素中的一个的一移动向量,调整在该初始深度图中的所述多个像素的所述初始深度值。