用于对于头戴式显示器提供三维图像的方法和装置与流程

文档序号:16901458发布日期:2019-02-19 18:02阅读:259来源:国知局
用于对于头戴式显示器提供三维图像的方法和装置与流程

本申请要求2015年5月18日提交的韩国专利申请号10-2015-0069179和2016年5月12日提交的韩国专利申请号10-2016-0058227的权益,在此通过引用将其全部合并到这个申请中。

下列实施例一般涉及用于处理图像的方法和装置,并更具体地,涉及用于对于头戴式显示器提供三维图像的方法.



背景技术:

近年来,随着涉及头戴式显示器(hmd)的技术已经在发展,已经介绍了最新技术所应用到的hmd。

特别的,在最近hmd的情形中,当用户穿戴类似hmd时,hmd可以实时检测到用户头部的移动,并且可以提供头部的移动方向中的视图,而不管头部移动的方向。

另外,hmd具有左透镜和右透镜。每一个左、右透镜提供弯曲的全景显示图像。这种全景显示图像提供宽视角,并且用户可以观看和虚拟现实对应的显示,即使用户移动他的或她的瞳孔。

例如,这种最近的hmd采用了跟踪技术用于识别用户头部的移动,并且生成提供给用户双眼的立体(双眼使用)图像。由于对应于用户视点的立体图像被提供,所以hmd允许用户感觉到仿佛他或她沉浸在虚拟现实中一样。

作为上述hmd通过其提供多视图图像的方法,通常采用通过将多视图相机所捕获的图像拼接在一起、来生成两个立体图像的方法。

在这种方法中,可出现下列问题。1)首先,为了生成要拼接的图像,必须使用相邻图像之间的相关性。2)另外,需要用于将相应图像帧中的图像拼接在一起的任务。3)此外,因为要被拼接的图像必须基于固定的分辨率生成,所以出现图像质量的恶化,由此提供的图像的分辨率变得小于原始图像的分辨率。



技术实现要素:

实施例意欲提供用于取决于用户的视点从虚拟视点选择性地生成图像的装置和方法。

根据一个方面,提供一种图像提供方法,该方法允许电子设备提供三维(3d)图像给用户,包括利用提供给该电子设备的图像从与用户的位置状态对应的虚拟视点生成图像;以及输出与该位置状态对应的图像,其中对应子该位置状态的该图像包括来自该虚拟视点的图像。

与该位置状态对应的图像可以包括提供给该电子设备的图像。

与该位置状态对应的图像可以包括被提供给用户的左眼的左图像、以及被提供给用户的右眼的右图像。

左图像的视点与右图像的视点彼此不相同。

左图像的视点以及右图像的视点可以是基于用户两眼之间的间隔来确定的。

位置状态可以是通过针对向用户初始提供的图像的视点跟踪用户的位置而获得的信息。

该图像提供方法可以进一步包括通过识别用户头部移动来生成位置状态。

该位置状态可以包括指示用户的头部向左边或者右边的移动中的视差的信息。

该位置状态可包括指示该用户的头部向左或者向右的旋转的信息。

当该虚拟视点与所提供的图像中包含的一个或多个图像中的一个图像的视点相同时,可使用所述一个或多个图像之中、来自与该虚拟视点相同的视点的图像作为来自该虚拟视点的图像。

对应于该位置状态的该图像可包括来自一个或多个视点的一个或多个图像。

所提供的图像可包括来自一个或多个视点的一个或多个图像。

当来自对应于该位置状态的一个或多个图像的至少一个视点的图像与所述一个或多个提供的图像的一个或多个视点中的任一个不相同时,可执行从该虚拟视点生成该图像。

该图像提供方法可进一步包括:确定该位置状态是否已改变;以及基于该位置状态的改变,更新相机参数。

所述更新相机参数的步骤可包括:当该用户的头部移动到左边或右边时,更新相机参数。

所述更新相机参数的步骤可包括:当该用户的头部旋转到左边或右边时,更新相机参数。

该位置状态的改变可指示取决于用户针对参考视点向左或向右的移动的、位置移动中的视差。

该位置状态的改变可指示基于用户针对参考视点向左或向右的旋转的旋转角。

该相机参数可以是矩阵,其包括沿着x轴的焦距以及沿着y轴的焦距。

所提供的图像可以是基于高效视频编码(hevc)的多视图图像。

所提供的图像可以是基于hevc的拼接图像。

来自该虚拟视点的该图像可以利用对应于所提供的图像的深度图生成。

来自该虚拟视点的该图像可以利用对应于所提供的图像的视差图生成。

根据另一方面,提供了一种电子设备,包括:图像合成单元,用于利用提供给该电子设备的图像,从对应于用户的位置状态的虚拟视点生成图像;以及显示单元,用于输出对应于该位置状态的图像,其中对应于该位置状态的该图像包括来自该虚拟视点的该图像。

根据另一方面,提供了一种头戴式显示器,包括:图像合成单元,用于利用提供给该头戴式显示器的图像,从与用户的位置状态对应的虚拟视点生成图像;以及显示单元,用于输出对应于该位置状态的图像,其中对应于该位置状态的该图像包括来自该虚拟视点的该图像。

附图说明

根据结合附图进行的以下详细描述,本发明的以上和其他目标、特征和优点将被更清楚地理解,其中:

图1是示出了根据实施例的用于提供3d图像的电子设备的配置图;

图2图示了根据实施例的使用hmd的电子设备;

图3图示了根据实施例的实现为hmd的电子设备;

图4图示了根据示例的被提供给该电子设备的图像;

图5是示出根据实施例的用于向电子设备的用户提供图像的方法的流程图;

图6是示出了根据实施例的用于确定是够需要来自虚拟视点的图像的方法的流程图;

图7图示了根据实施例的3d图像系统的结构;

图8图示了根据实施例的通过合成中间视图实现的多视图显示器;

图9图示了取决于用户头部移动的拼接图像;和

图10图示了其中实现根据该实施例的电子设备的计算机系统。

具体实施方式

下面将参考图示了特定实施例的附图来进行以下示范实施例的详细描述。这些实施例被描述,以便具有本公开所属技术领域的公知常识的技术人员能容易地实践所述实施例。应注意的是各个实施例彼此不同,但不必彼此相互排斥。例如,这里描述的特殊形状、结构以及特性可以实现为其他实施例,而不会背离涉及一个实施例的实施例的精神和范围。此外,应理解的是,每个被公开的实施例中的个别组件的位置或排列能够变化而不背离实施例的精神和范围。因此,伴随的详细说明不意欲限制本公开的范围,并且示范实施例的范围仅仅通过所附权利要求连同其等效一起来限定,只要它们被正确描述即可。

附图中,类似的参考标记被用来指定各个方面中相同的或者类似的功能。附图中组件的形状、尺寸等可以被夸大使得描述清晰。

这里所用的术语是仅仅为了描述特殊实施例的目的,且不意欲成为本发明的限制。如这里所用的,单数形式意欲包括复数形式,除非上下文清楚指明。将进一步理解的是术语“包括(comprises)”、“包括(comprising)”、“包含(includes)”和/或“包含(including)”,当这里使用时,指定了所阐述特征、整体、步骤、操作、元件和/或组件的存在,但是不排除存在或者加入一个或多个其他特征、整体、步骤、操作、元件、组件和/或其组。将理解的是当元件被称为“连接(connected)”、“耦接(coupled)”到另一个元件时,它是可以被直接连接或者耦接到其他元件,或者可以存在居间元件。

术语例如“第一”和“第二”可以用来描述各个元件,但是这些元件不受到术语的限制。术语仅被用于区分一个元件和另一个元件。例如,第一元件可以命名为第二元件,而不背离本发明的范围。同样,第二元件可以命名为第一元件。

同样,本发明实施例中描述的元件独立地示出,以便表明不同的特征性功能,但这不意味着每个元件形成分离的硬件或者软件。即,元件被排列且包括,为了便于描述,并且至少两个元件可以形成一个元件,或者一个元件可以分为多个元件并且多个元件可以执行功能。其中集成元件的实施例或从其分离一些元件的实施例被包括在本发明的范围内,只要它不背离本发明的本质即可。

此外,在本发明中,一些元件不是执行必要功能的必要元件,但是可以是仅仅改善性能的可选元件。除了仅仅用来改善性能的元件之外,本发明可以仅仅利用用于实现本发明实质的必要元件来执行,并且除了仅用来改善性能的可选元件之外、仅仅包括必要元件的结构被包括在本发明的范围内。

下文中,本发明的实施例参考附图来描述,以便详细的描述本发明使得具有本发明所属技术领域的公知常识的技术人员可以容易地实现本发明。在本发明的下列描述中,被认为使得本发明要点模糊的已知功能和配置的详细描述将被省略。

在下面的实施例中,图像可以意味着在单个时间点(时刻)可用的可视信息。在下面的实施例中,个别步骤处理的图像可以是在单个时间点可用的可视信息。例如,图像可以是时间t处的帧.视频可以包括一个或多个图像。视频中的一个或多个图像可以具有时间序列。

下面实施例中的步骤可以随时间重复执行。当步骤被重复执行时,一连串图像可以被依次处理。

在下列实施例中,“深度”和“视差”可以具有彼此间相反的关系。换句话说,当像素表示特定的目标时,像素的“深度”可以是像素的“视差”的倒数(reciprocal)。在实施例中,“深度”和“视差”可以彼此可交换地使用。

在下列实施例中,“深度图”可以用来具有和“深度图像”相同的含义。

术语“深度图”可以表示对应图像中每个像素的深度值。例如,在“深度图”和“图像”之间具有相同坐标值的像素中,“图像”中的像素的像素值可以表示由该像素指示的目标的颜色,而“深度图”中的像素的像素值可以表示与该像素指示的目标的视点相距的距离。

在下列实施例中,“视差图”可以用来具有和“视差图像”相同的意思。

“视差图”可以表示相应图像中每个像素的视差值。例如,在“视差图”和“图像”中具有相同坐标值的像素中,“图像”中的像素的像素值可以表示由像素指示的目标的颜色,并且“视差图”中的像素的像素值可以表示由像素指示的目标的视差。该目标的视差可以是与该目标的视点相距的距离的倒数。

图1是根据实施例的用于提供3d图像的电子设备的配置图。

电子设备100可包括图像接收单元110、图像解码单元115、跟踪单元120、图像合成单元130,以及显示单元140。

显示单元140可以包括左显示单元141和右显示单元142。

图像接收单元110可以接收外部提供的多视图图像以及深度图。图像接收单元110可以将被提供的多视图图像和深度图传送给图像合成单元130。

被提供给电子设备100的图像可以是基于高效视频编码(hevc)的多视图图像。此外,被提供给电子设备100的图像可以是基于hevc的拼接图像.

外部提供的图像可以是编码图像.例如,图像接收单元110可以接收来自外部的电子设备的比特流,并且也由外部提供的多视图图像和深度图可以是比特流中的编码数据、熵编码数据或者压缩数据。

图像解码单元115可以通过解码该提供的编码图像生成解码图像。下文中,图像合成单元130使用的被提供的图像可以是由图像解码单元115生成的解码图像。

例如,图像解码单元115可以通过解码被编码的多视图图像以及被编码的深度图,生成解码的多视图图像以及解码的深度图.下文中,图像合成单元130所用的多视图图像和深度图可以分别是图像解码单元115生成解码的多视图图像和解码的深度图。

例如,图像解码单元115可以通过对多视图图像和深度图执行hevc解码用于hevc,而生成解码的多视图图像和解码的深度图。被解码的多视图图像以及被解码的深度图可适用于来自虚拟视点的图像合成,这将稍后描述。图像解码单元115可以通过对拼接图像执行hevc解码用于hevc,而生成解码的图像。该解码的图像可以适于来自虚拟视点的图像的合成,这将稍后描述。

跟踪单元120可以生成位置状态信号。位置状态信号可以包括指示了位置状态的信息。

所需要的视点可以取决于位置状态来确定。例如,哪一个视点图像要被电子设备100提供给用户可以取决于用户的位置和/或姿势来确定。

位置状态可以是通过跟踪用户头部的位置而获得的信息。例如,位置状态可以是通过跟踪头部的左/右移动位置以及旋转位置获得的信息。此外,在另一个例子中,位置状态可以指示电子设备100的用户的头部的位置和/或姿势(姿态)。用户头部的位置和/或姿势可以意味着用户头部接触到的电子设备100或者跟踪单元120的位置和/或姿势。下文中,用户头部的位置和/或姿势可以和电子设备100或跟踪单元120的位置和/或姿势交换。

位置状态可以是通过针对电子设备100初始显示的图像的视点、跟踪用户位置而获得的信息。可选地,位置状态可以是通过针对初始提供给用户的图像的视点、跟踪用户位置而获得的信息。例如,位置状态可以是通过针对电子设备100初始显示的图像或者初始提供给用户的图像的视点、跟踪用户的左/右移动位置和/或旋转位置的状态而获得的。

图像合成单元130可以生成来自所需的视点的图像。所需的视点可以是从电子设备100输出的3d图像的视点。从电子设备100输出的3d图像的视点可以基于用户或者用户的头部的位置来确定。换句话说,所需的视点可以是取决于用户或者用户的头部的位置和/或姿势的视点。可选地,所需的视点可以是取决于电子设备100的位置和/或姿势的视点。

3d图像可以包括来自多个视点的图像。图像合成单元130可以生成来自所需多个视点的每一个的图像。

当所需的视点与外部提供给电子设备100的多视图图像的一个或多个图像中的一个图像的视点相同时,图像合成单元130可以使用多视图图像中的一个或多个图像之中的、来自和所需视点相同的视点的图像,作为来自所需视点的图像。

当所需的视点不同于外部提供的多视图图像时,图像合成单元130可以采用多视图图像和深度图来生成来自虚拟视点的图像。这里,虚拟视点可以是所需视点之中的、与多视图图像的视点不同的视点。

图像合成单元130可以使用多视图图像中的一个或多个图像之中的、与虚拟图像相邻的图像,生成来自虚拟视点的图像。图像合成单元130可以使用多视图图像中的一个或多个图像之中的、来自最靠近虚拟视点的视点的图像,来生成来自虚拟视点的图像。可选地,图像合成单元130可以使用多视图图像中的一个或多个图像之中的、来自相对于虚拟视点的左边方向或右边方向中的最近视点的图像,生成来自虚拟视点的图像。可选地,图像合成单元130可以使用多视图图像中的一个或多个图像之中的、来自相对于虚拟视点的左边方向中的最近视点的图像和来自相对于虚拟视点的右边方向中的最近视点的图像两者,生成来自虚拟视点的图像。

电子设备100的用户可以通过他或她的双眼识别3d图像。换句话说,提供3d图像给用户所需的视点的数量可以是2。所需的视点可以包括左视点,它是用户左眼的视点,以及右视点,它是用户右眼的视点。

当左视点不同于多视图图像的视点时,图像合成单元130可以从左视点生成图像.同样,当右视点不同于多视图图像的视点时,图像合成单元130可以从右视点生成图像。

显示单元140可以输出来自所需视点的图像。左显示单元141可以输出来自左视点的图像。右显示单元142可以输出来自右视点的图像。

多视图图像的配置

多视图图像可以包括一个或多个图像。在上面的描述中,所需视点与多视图图像的视点相同的事实可意味着所需的视点与该多视图图像的一个或多个视点中的一个相同.在另一个例子中,所需的视点与多视图图像的视点相同的事实可意味着多视图图像包括来自所需视点的图像。所需视点不同于多视图图像的视点的事实可意味着所需视点与该多视图图像的一个或多个视点的任何一个不相同。在另一个例子中,所需视点不同于多视图图像的视点的事实可意味着多视图图像不包括来自与所需视点相同的视点的图像。

一个或多个图像的每一个可以是来自特定视点的图像。一个或多个图像的视点可以彼此不同。换句话说,多视图图像中的一个或多个图像可以是通过在一个或多个不同位置处捕获对象和背景的一个或多个相机生成的图像.被捕获的对象和背景可以在图像中用像素表示。

连同多视图图像一起,与多视图图像相对应的深度图可以被提供给电子设备100。多视图图像的像素以及深度图的像素可彼此对应。在多视图图像和深度图的对应像素中,多视图图像中的每个像素的像素值可以表示捕获位置的颜色,并且深度图中每个像素的像素值可以是表示与捕获位置的相机相距的距离的深度值。可选地,深度图中每个像素的像素值可以是指示与捕获位置处的相机相距的距离的倒数的视差值。

一个或多个图像中的每一个可以是3d图像。当每个图像是3d图像时,该图像可以包括彩色图像和深度图。

在彩色图像和深度图中,彩色图像的一个像素以及深度图的一个像素可彼此对应。例如,在彩色图像和深度图中,具有相同坐标的彩色图像的像素和深度图的像素可以彼此对应。在彩色图和深度图的对应像素中,彩色图像中像素的像素值可以表示捕获位置的颜色,以及深度图中像素的像素值可以是指示与捕获位置处的相机相距的距离的深度值。

可选地,深度图中像素的像素值可以是指示与捕获位置处的相机相距的距离的倒数的视差值。

图像接收单元110、图像解码单元115、跟踪单元120、图像合成单元130、以及显示单元140的操作和功能可以在下面详细描述。

选择性解码

当对被编码的多视图图像中的一个或多个图像的全部进行解码时,图像解码单元115会引起过多的计算负荷。当解码编码图像时,图像解码单元115可以选择性地仅仅解码满足预定条件的图像。例如,图像解码单元115可以选择性地仅仅解码所编码的多视图图像的一个或多个图像之中的、为了向用户提供来自所需视点的图像而需要的图像。

例如,图像解码单元115可以选择性地解码所编码的多视图图像的一个或多个图像之中的、1)仅是被用来生成来自虚拟视点的图像的图像、以及2)仅是来自与所需视点相同的视点的图像。

为了使图像解码单无115选择性地解码所编码的多视图图像中的一个或多个图像,该图像合成单元130可以将图像选择所需要的信息传输给图像解码单元115。图像选择所需的信息可以指示所编码的多视图图像的一个或多个图像之中的、要被图像解码单元115解码的(多个)图像。可选地,图像选择所需的信息可以指示在所编码的多视图图像中的一个或多个图像之中的、由图像合成单元130选择的(多个)图像。

图像合成单元130可以从多视图图像中的一个或多个图像中导出所需的图像,以便提供来自所需视点的图像,并且可以取决于多视图图像中的一个或多个图像之中需要哪个图像,来生成图像选择所需的信息,以便提供来自所需视点的图像。

图2图示了根据实施例的使用hmd的电子设备。

图像接收单元110、图像解码单元115、跟踪单元120、图像合成单元130、以及显示单元140中的至少一些可以是分离的设备。

在提供图像的操作之前,图像合成单元130可以被相互连接到图像接收单元110、图像解码单元115、跟踪单元120、以及显示单元140中的每一个。

为了提供3d图像给用户,可以使用hmd。例如,显示单元140可以是hmd.左显示单元141可以是hmd的左透镜。右显示单元142可以是hmd的右透镜。

图3图示了根据实施例的被实现为hmd的电子设备。

电子设备100可以是hmd。例如,图像接收单元110、图像解码单元115、跟踪单元120、图像合成单元130、以及显示单元140可以是hmd内包括的部分。

图4图示了根据示例的被提供给电子设备的图像。

图像可以从电子设备100外部被提供给电子设备100。被提供给电子设备100的图像可以是多视图图像。此外,被提供给电子设备100的图像可以包括多视图图像和深度图。

被提供给电子设备100的图像可以通过网络410传输到电子设备100。

例如,被提供给电子设备100的图像可以是由多视点相机生成的多视图图像。图4中,作为多视点相机的例子,描绘了第一相机420和第二相机430。多视点相机可以是相机阵列。

在另一示例中,被提供给电子设备100的图像可以是计算机图形(cg)多视图图像和/或真实的多视图图像。cg和/或真实的多视图图像可以由其他电子设备生成。

被提供给电子设备100的图像可以是压缩图像。

图5是示出了根据实施例的用于提供图像给电子设备的用户的方法的流程图。

在步骤510,图像接收单元110可以接收提供给电子设备100的图像。

提供给电子设备100的图像可以包括一个或多个图像。提供给电子设备100的一个或多个图像的视点可以彼此不同。换句话说,提供给电子设备100的图像可以是多视图图像。

提供给电子设备100的图像可以包括来自一个或多个视点的一个或多个图像。例如,提供给电子设备100的图像可以是多视图图像。此外,提供给电子设备100的图像可以包括深度图。

提供给电子设备100的多个图像的至少一些可以是来自实际视点的图像.来自实际视点的图像可以是由排列在与特定视点相对应的位置处的相机捕获的图像。

在步骤515,图像解码单元115可以通过解码已向其提供的已编码图像,来生成解码的图像。

下文中,提供给电子设备100的图像可以指示由图像解码单元115解码的图像。

在步骤520,跟踪单元120可以获取有关用户位置状态的信息。跟踪单元120可以通过识别用户头部的移动,来生成位置状态。

例如,位置状态可以包括指示用户位置和姿势的信息。用户的位置和姿势可以指示用户头部的位置和姿势。下文中,表述“用户的位置和姿势”可以和表述“用户头部的位置和姿势”互换。

例如,位置状态可以指示用户的位置状态的改变。在位置状态的情形中,跟踪单元120可以检测位置状态的改变,并且可以生成指示位置状态或者位置状态改变的位置状态信息。位置状态可以表示用户头部的移动和旋转。位置状态可以包括指示用户头部向左或向右的移动中的视差的信息。位置状态可以包括指示用户头部向左或向右的旋转的信息。

图像合成单元130可以从跟踪单元120获取位置状态信息。图像合成单元130可以基于所获取的位置状态来计算所需的视点。所需的视点可以指示取决于用户的位置状态要被提供给用户的图像的视点。

在步骤530,图像合成单元130可以确定是否需要来自与用户的位置状态对应的虚拟视点的图像。

当需要来自虚拟视点的图像时,可执行步骤540.当不需要来自虚拟视点的图像时,可执行步骤550。

例如,当对应于位置状态的图像数量是一个或多个、并且提供给电子设备100的图像数量是一个或多个时,当对应于该位置状态的一个或多个图像的至少一个视点与被提供给电子设备100的图像的一个或多个视点中的任一个不同时,可执行生成来自虚拟视点的图像的步骤540。换句话说,可执行从虚拟视点生成图像的步骤540,以便当不可能仅利用提供给电子设备100的一个或多个图像来提供来自对应于用户位置状态的视点的图像时,从对应于用户位置状态的虚拟视点生成图像。

将参考图6更加详细地描述步骤530。

在步骤540,图像合成单元130可以使用提供给电子设备100的图像,来生成来自与用户的位置状态相对应的虚拟视点的图像。

当从虚拟视点生成图像时,图像合成单元130可以使用深度图。图像合成单元130可以使用提供给电子设备100的图像以及与被提供的图像相对应的深度图,从对应于用户位置状态的虚拟视点生成图像。可选地,图像合成单元130可以使用与用户的头部位置相对应的相机参数,从与用户位置状态相对应的虚拟视点生成图像。

来自该虚拟视点的图像可以是与提供给电子设备100的图像的视点不同的新视点。换句话说,图像合成单元130可以利用提供给电子设备100的图像,合成来自虚拟视点的图像。

当执行步骤540时,步骤550可以被执行来提供在步骤540生成的来自虚拟视点的图像。

在步骤550,显示单元140可以输出对应于该用户的位置状态的图像。

当图像被输出时,显示单元140可以确定被提供给电子设备100的图像与来自虚拟视点的图像中的哪个图像要被输出。显示单元140可以从提供给电子设备100的一个或多个图像中确定要连同来自虚拟视点的图像一起输出的图像。

当步骤540被执行时,对应于位置状态的图像可包括来自虚拟视点的图像。

当步骤550未被执行时,对应于位置状态的图像可以是在步骤510提供给电子设备100的图像。

此外,对应于位置状态的图像可以包括来自一个或多个视点的一个或多个图像.例如,取决于用户的位置状态,两个图像可以分别被提供给用户的左眼和右眼.对应于位置状态的图像可以包括提供给用户左眼的左图像以及提供给用户右眼的右图像。

对应于位置状态的多个图像的多个视点可以彼此不同。例如,左图像和右图像的视点可以彼此不同。图像合成单元130可以基于用户双眼之间的间隔(瞳距),确定左图像的视点和右图像的视点之间的差别。

当存在对应于位置状态的多个图像时,至少一些图像可以是来自虚拟视点的图像。此外,多个图像之中的、除了来自虚拟视点的图像之外的剩余图像可以是提供给电子设备100的图像。换句话说,对应于位置状态的图像可包括1)来自虚拟视点的图像、以及2)提供个电子设备100的图像。

图像的输出可以意味着将图像的数据输出到电子设备的外部。在另一个例子中,图像的输出可意味着输出可被用户视觉感知的格式的图像。

图6是示出了根据实施例的用于确定是否需要来自虚拟视点的图像的方法的流程图。

上面参考图5描述的步骤530可以包括步骤610、620、630、640、650、660以及670,这将在后面描述。

在步骤610,图像合成单元130可以确定用户的位置状态是否已改变。

位置状态的改变可以基于由电子设备100输出的图像的视点来确定。由电子设备100输出的图像的视点可以是参考视点。位置状态的改变可以表示用户位置针对参考视点向左或者向右移动的视差。位置状态的改变可以表示基于用户围绕参考视点向左或者向右旋转的旋转角度。可选地,位置状态的改变可以表示移动位置的视差和/或旋转角度。

当位置状态改变时,需要在改变位置处的处理。

当用户的位置状态被确定改变时,可以执行步骤620。当用户的位置状态被确定没有改变时,可以执行步骤670。

在步骤620,图像合成单元130可以取决于位置状态的改变更新相机参数。

步骤620可以包括步骤630、640、650和660。作为步骤620的至少一些子步骤,可以个别执行步骤630和650。

在步骤630,图像合成单元130可以确定位置状态是否表示用户的头部向左或者向右的移动。

当位置状态表示用户的头部向左或向右的移动时,可以执行步骤640。相反,当用户的位置状态不表示用户的头部向左或者向右的移动时,可以执行步骤670。

在步骤640,图像合成单元130可以取决于用户的头部向左或者向右移动,来更新相机参数。被更新的相机参数可以反映用户头部向左或者向右的移动。

当步骤640被执行时,可以在随后执行步骤670。

在步骤650,图像合成单元130可以确定位置状态是否表示用户的头部向左或者向右的移动。

当位置状态表示用户的头部向左或者向右旋转时,可以执行步骤660。当位置状态不表示用户的头部向左或者向右旋转时,可以执行步骤670。

在步骤660,图像合成单元130可以取决于用户头部向左或者向右旋转来更新相机参数。被更新的相机参数可以反映用户的头部向左或者向右的旋转.

当步骤640被执行时,步骤670可以随后被执行。

上述步骤630、640、650和660可以是示例性步骤。例如,步骤630和640可以在步骤650和660的执行之前或者之后执行.可选地,例如,步骤640和660可以在步骤630和650已经执行之后同时或单独执行。当步骤640和660同时执行时,图像合成单元130可以取决于用户头部向左或者向右的移动和/或旋转,来更新相机参数。

在步骤670,图像合成单元130可以确定由位置状态指示的视点是否与提供给电子设备100的图像的视点相同.可选地,图像合成单元130可以确定在被提供给电子设备100的多视图图像的一个或多个视点之中是否存在与位置状态指示的视点相同的视点。

当存在相同的视点时,可以执行上面参考图5描述的步骤540。在步骤540,图像合成单元130可以利用提供给电子设备100的图像以及相机参数,从对应于用户的位置状态的虚拟视点生成图像。

相反,当不存在相同的视点时,可以执行上面参考图5描述的步骤550。

下面,将描述根据实施例的用于合成来自虚拟视点的图像的方法。

当佩戴了电子设备100或者hmd时,用户可以向左或者向右水平旋转他或她的头部,或者可以垂直移动他或她的头部。通过跟踪单元120检测的位置状态可以包括表示用户向左或者向右的旋转的rhmd、以及表示用户的垂直移动的thmd.此外,位置状态可以包括视角f,其表示佩戴电子设备100或者hmf的用户面对的方向。换句话说,电子设备100或者hmd可以被看作面对作为虚拟相机的某一对象。

特定时间v处的相机参数可以通过下面的公式(1)、(2)和(3)来表示:

矩阵k可表示固有相机参数。

这里,fx可以表示沿着x轴的焦距并且fy可以表示沿着y轴的焦距。此外,cx可以表示像平面上主点的x坐标值并且cy可以表示像平面上主点的y坐标值。

在公式(2)中,矩阵r可以表示相机的旋转矩阵。

在公式(3)中,矩阵t可以表示相机的位置.由矩阵t表示的相机的位置可以是世界坐标系统中的位置。

图像合成单元130可以将世界坐标系统中的坐标值(x,y,z)投射到来自特殊视点v的某一点。

世界坐标系统中的坐标值(x,y,z)向来自虚拟视点v的某一点的投射可以由下面的公式(4)来表示:

坐标值(xv,yv)可以表示来自虚拟视点v的点。

根据公式(4),当已知来自虚拟视点v的深度值时,图像合成单元130可以经由再投射获得世界坐标系统中的坐标值(x,y,z),这使用来自虚拟视点v的深度值。

图像合成单元130可以通过将来自虚拟视点v的内在参数k’和外在参数(r’|t’)应用到坐标值(x,y,z),而从虚拟视点v’获得坐标值(x’,y’)。

通过跟踪用户或电子设备100的移动而改变的值t’可以由移动距离thmd和移动方向符号α来表示。移动方向符号α可以表示向左或者向右的移动的符号。

移动距离thmd可以通过下面的公式(5)来表示:

thmd=(0,|y-y′|,0)(5)

这里α可以是值-1或者值1。

通过跟踪用户或者电子设备100的移动而改变的值t’可以由下列公式(6)来表示:

t′=t+(α×thmd)(6)

rhmd可以看作是围绕x轴旋转了角θ1。通过这种考虑,rhmd可以变化到rx(θ1)。同样,rhmd可以通过下面的公式(7)来表示:

r′=rz(θ3)ry(θ2)rx(θ1)(7)

根据下面的公式(8),图像合成单元130可以经由跟踪生成虚拟视点v’.

上面描述的用于生成虚拟视点的方法仅仅是示例。图像合成单元130可以利用输入的位置状态以及各种内插方法来生成虚拟视点。

图7图示了根据实施例的3d图像系统的结构。

3d图像系统可以包括发射器和接收器。

该接收器可以包括3d视频编码器。

该接收器可以包括3d接收器、立体接收器、以及2d接收器。3d接收器可以包括3d视频解码器。立体接收器可以包括立体视频解码器。2d接收器可以包括2d视频解码器。

发射器可以利用立体相机、深度相机、多视点相机、2d图像到3d图像的转换等来获取多视图图像的内容。多视图图像中的图像的视点的数量可以为m。m可以是2或更大的整数。

多视图图像可以包括来自m个视点的图像。在图7中,来自m个视点的图像被示出为视频画面。该视频画面可以表示来自视频的特定视点的图像。

此外,多视图图像可以包括来自m个视点的图像的深度图。此外,多视图图像可以包括有关相机的额外信息.

多视图图像可以利用多视点视频编码方法来压缩。被压缩的多视图图像的比特流可以通过网络从发射器发送到接收器。

接收器可以利用多视点视频解码方法来解码已接收的比特流。借助于解码,来自m个视点的图像可以被重构。

接收器可以使用适于该接收器的显示器,来输出来自m个视点的图像。

3d接收器可以通过基于多视图图像使用中间视图的合成,从没有包括在多视图图像中的视点生成图像。中间视图合成将在下面参考图8来详细描述。

图8图示了根据实施例的经由多视点合成的多视点显示。

在图8中,图示了解码的多视点深度(mvd)数据。被提供给电子设备100的图像可以包括三个图像以及三个深度图。在图8中,被提供给电子设备100的图像和深度图可以包括v1、d1、v5、d5、v9和d9。

图像合成单元130可以通过想来自m个视点的图像应用基于深度图像的渲染(dibr),而从虚拟视点生成图像v2、v3、v4、v6、v7和v8,其是从解码的mvd数据重构的。

dibr可以是用于利用3d变形(warping)从虚拟视点生成图像的方法,其利用了多视图图像和深度图。一种常用的dibr方法可以使用相机参数以及与特定视点对应的深度图将坐标值转换为3d坐标系,并且可以再一次将转换成3d坐标系的坐标值投射到虚拟视点。

dibr过程的两个步骤如下。1)第一步,来自特定视点的图像中的一点可以被投射到世界坐标系中。在这个投射中,可以使用深度图中的对应点的深度值。2)第二步,投射到世界坐标系统上的点可以再一次被投射到虚拟视点处的虚拟相机的像平面中的虚拟点上。

图像合成单元130可以提供来自n个视点的图像,包括提供给电子设备100的图像以及来自虚拟视点的图像。n可以是m或更大的整数。

图像合成单元130可以提供来自n个视点的图像之中的、取决于用户的位置来自所需要的视点的图像。在图8中,对于第一位置、第二位置、以及第三位置中的每一个,如所示地那样提供用户的右眼和左眼分别需要的图像。

来自n个视点的图像可以与各种多视点3d显示设备相符地再现。通过再现图像,立体图图像可以被提供给用户。

随着由多视点显示器提供的视点数目的增加,需要被合成的来自虚拟视点的图像的数目也可以增加。这种增加会引起高计算负载。在上面描述的实施例中,电子设备100可通过选择性地合成来自虚拟视点的图像,而降低提供给来自虚拟视点的图像所需要的计算负载。

图像合成单元130可以使用包括在多视图图像中的n个图像以及对应于这些图像的n个深度图,提供来自m个视点的图像。图像合成单元130可以利用通过跟踪单元120获取的位置状态,仅仅生成来自所需视点的图像,而不是生成来自所有可能的虚拟视点的图像。这种生成方法可以降低裸眼多视图显示器合成来自所有视点的虚拟图像而强加的高计算负载。此外,因为图像合成单元130选择性地生成来自虚拟视点的图像,所以与原始图像相比,图像的分辨率的减退或者图像的失真可以被降低。

图9图示了取决于用户头部的移动的拼接图像。

如上所述,随着用户、用户头部或者电子设备100的移动,要提供给用户的图像的的视点可以变化。借助于合成,合成视图可以被提供给用户。

例如,当用户的头部向左移动时,图像合成单元130可以生成向左拼接的图像。可选地,当用户的头部向右移动时,图像合成单元130可以生成向右拼接的图像。

图10图示了其中实现根据实施例的电子设备的计算机系统。

电子设备100可以被实现为如图10所示的计算机系统1000。

如图10所示,该计算机系统1000可以包括至少一些以下设备:处理单元1010、通信单元1020、存储器1030、储存器1040、以及总线1090.计算机系统1000的组件,例如处理单元1010、通信单元1020、存储器1030、和储存器1040,可以通过总线1090彼此通信。

处理单元1010可以是半导体期间,用于运行在存储器1030或储存器1040中存储的处理指令。例如,处理单元1010可以是至少一个处理器。

处理单元1010可以处理计算机系统1000的操作所需的任务。处理单元1010可以运行实施例中描述的处理单元1010的操作或步骤中的代码。

处理单元1010可以生成、存储并输出信息,以及还可以执行由计算机系统1000实现的其他步骤处的操作。

通信单元1020可以与网络1099连接。通信单元1020可以接收计算机系统1000的操作所需的数据或者信息,并且可以传送计算机系统1000的操作所需的数据或者信息。通信单元1020可以通过网络1099将数据传送到其他设备,并且可以从其他设备接收数据。例如,通信单元1020可以是网络芯片或者端口。

存储器1030和储存器1040可以是各种类型的易失性或者非易失性存储介质中的任一个。例如,存储器1030可以包括只读存储器(rom)1031和随机存取存储器(ram)1032中的至少一个。存储器1040可以包括内部存储介质,例如ram、闪存或者硬盘,并且可以包括可拆卸的储存介质,例如存储卡。

当处理单元1010运行至少一个程序模块时,计算机系统1000的功能或者操作可以被执行。存储器1030和/或储存器1040可以存储至少一个程序模块。所述至少一个程序模块可以被配置为由处理单元1010运行。

计算机系统1000可以进一步包括用户接口(ui)输入设备1050以及ui输出设备1060。ui输入设备1050可以接收计算机系统1000的操作所需的用户输入。ui输出设备1060可以基于计算机系统1000的操作输出信息或者数据。

计算机系统1000可以进一步包括传感器1070。

图像接收单元110可以对应于通信单元1020。跟踪单元120可以对应于传感器1070。图像解码单元115和图像合成单元130可以对应于处理单元1010。显示单元140可以对应于ui输出设备1060。

这里描述的装置可以使用硬件组件、软件组件或者其组合来实现。例如,实施例中描述的设备和组件可以使用一个或多个通用目的或者特殊目的计算机来实现,例如,处理器、控制器、算术逻辑单元(alu)、数字信号处理器、微计算机、现场可编程阵列(fpa)、可编程逻辑单元(plu)、微处理器或者能够响应并运行指令的任何其他设备。处理设备可以运行操作系统(os)以及在os上运行的一个或多个软件应用。处理系统还可以响应于软件的运行来存取、存储、操纵、处理以及创建数据。为了方便理解,描述了单个处理设备的使用,但是本领域技术人员将理解,处理设备可以包括多个处理元件以及多种类型的处理元件。例如,处理设备可以包括多个处理器或者单个处理器和单个控制器。同样,例如并行处理器的不同处理配置是可能的。

软件可以包括计算机程序、代码、指令或其一些组合,并且可能配置处理设备或者独立地或共同地命令处理设备如期望的那样操作。软件和数据可以被永久地或者临时地实施在任何类型的机器、组件、物理的或者虚拟的装置、计算机储存介质、设备、或者传播的信号波中,以便将指令或数据提供给处理设备或者由处理设备解释。软件还可以通过网络分布在计算机系统中,使得软件按照分布式方法被存储和运行。特别地,软件和数据可以被存储在一个或多个计算机可读记录介质中。

根据上面描述的实施例的方法可以实现为能通过各种计算机部件运行的程序。在这种情形中,程序可以被记录在计算机可读储存介质上。计算机可读储存介质可以包括存储指令、数据文件、以及数据结构,单独的或者组合的。对于本发明,记录在储存介质上的程序指令可能是已经被特殊设计和配置,或者对计算机软件领域的普通技术人员而言可以是已知的或者可得的。计算机可读储存介质的例子包括所有类型的硬件设备,其被特殊配置来记录和执行程序指令,例如磁介质像硬盘、软盘、以及磁带,光介质像致密盘(cd)-只读存储器(rom)和数字多功能盘(dvd),磁光介质像软盘、rom、随机存取存储器(ram)、以及闪存。程序指令的例子包括机器代码,例如像由编译器生成的代码、以及可利用解释器由计算机执行的高级语言代码。硬件设备可以被配置以操作为一个或多个软件模块,以便执行本发明的操作,并且反之亦然。

因此,提供了一种用于取决于用户的视点选择性地从虚拟视点生成图像的装置和方法。

尽管已经基于有限数量的实施例和附图公开了优选的实施例,但是本领域技术人员将理解的是,各种修改、添加和替代是可能的。例如,即使上面描述的技术按照与所描述的方法的次序不同的次序来执行、和/或组件例如系统、结构、设备以及电路按照与所描述的方法的方式不同的方式来耦合或者组合、或者由其他组件或等价物来替换或替代,也能实现合适的结果。

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