图像处理的制作方法

文档序号:17733248发布日期:2019-05-22 02:59阅读:171来源:国知局
图像处理的制作方法

本发明涉及图像处理,并且具体地但非排他性地涉及一种用于在虚拟现实系统中提供三维图像的系统。



背景技术:

近年来,随着利用和消耗视频的新服务和方式正在不断发展和引入,图像及视频应用的种类和范围已经大幅增加。

例如,越来越流行的一种服务是以观察者能够主动地且动态地与系统交互而改变绘制的参数的这种方式提供视频。许多应用中的非常吸引人的特征是改变观察者的有效观察位置和观察方向的能力,例如允许观察者在正呈现的场景中移动和“游览”。

这样的特征具体地能够允许将虚拟现实体验提供给用户。这可以允许用户(相对)自由地在场景中四处走动并且动态地改变他正在看哪里。通常,这样的虚拟现实应用基于场景的三维模型,其中模型被动态地评估以提供具体请求的视图。这种方法从例如用于计算机和控制台的(诸如第一人称射击游戏的类别中的)游戏应用是公知的。

然而,这样的应用固有地受到的限制在于它们是基于场景的预定模型的。对于许多应用来说,将会期望在用户能够选择观察位置和方向的情况下可以针对现实捕获的视频实施虚拟现实效果。已经通过使用具有不同观察位置和方向的多个相机以及在从被认为最接近观察者当前位置的相机选择视频的情况下来实施在这样的特征处的尝试。然而,这样的方法趋向于需要分布相对高数量的并行视频流,并且也为清楚地注意到视图何时从一个相机切换到另一相机的用户提供次优体验。

具体地,对于虚拟现实应用也期望正呈现的图像是三维图像。实际上,为了优化观察者的沉浸体验,通常优选使用户将呈现的场景体验为三维场景。实际上,虚拟现实体验应当优选地允许用户选择他/她自己相对于虚拟世界的位置、相机视点以及时刻。在“理想”虚拟世界中,由相机传感器从所有位置沿所有方向不断捕获动态场景。

作为一范例,虚拟现实眼镜当前正进入市场。这些眼镜允许观察者体验捕获的360度(全景)视频。通常使用相机装备预先捕获这些360度视频,其中个体图像被一起拼接成单个球形映像。用于360视频的常见立体格式是顶部/底部和左/右。类似于非全景立体视频,左眼和右眼图片被压缩为单个h.264视频流的部分。在解码单个帧之后,观察者旋转他/她的头部以观察他/她周围的世界。当前范例是由谷歌制作的卡内基音乐厅中的音乐会的记录[https://performingarts.withgoogle.tabhumblecom/en_us/performances/carnegie-hall]。在此范例中,观察者可体验360度游览效果,并且可在从不同位置记录的三个视频流之间离散地切换。当切换时,另一视频流被下载,其中断该体验。

立体全景视频方法的一个缺陷是观察者不能改变虚拟世界中的位置。对除全景立体视频外的全景深度图的编码和发送可以允许补偿客户端侧处的观察者的小平移运动,但这样的补偿将固有地限制于小变化和移动,并且将不能够提供沉浸的且自由的虚拟现实体验。

相关技术是自由视点视频,其中在单个视频流中编码并发送具有深度图的多个视点。除了公知的时间预测方案外,可以通过利用视点之间的角度相关性来减少视频流的比特率。然而,该方法仍然需要高比特率并且在能够被生成的图像方面受限制。实际上无法提供在三维虚拟现实世界中完全自由移动的体验。

然而,没有现有技术能够递送理想的体验,而是趋向于在位置和观察方向的改变的自由度方面受限制。此外,所述技术趋向于需要非常高的数据速率并且提供包括比生成个体图像/视图所需的数据更多的数据的数据流。

因此,改善的图像处理方法将是有利的。具体地,允许改善的操作、增加的灵活性、用于生成与不同观察位置和方向相对应的图像的增加的范围、改善的虚拟现实体验、减少的数据速率、促进的分布、减少的复杂性、促进的实施方式和/或改善的性能和/或操作的方法将是有利的。



技术实现要素:

因此,本发明寻求优选减轻、缓和或消除单个或以任何组合的形式出现的以上提及的缺点的一个或多个。

根据本发明的一方面,提供了一种装置,其包括:存储设备,其用于存储针对三维场景的多幅图像,所述图像与针对所述场景的不同位置和观察方向相对应,并且所述存储设备还被布置为存储针对所述多幅图像的相关联的位置参数向量,针对所述多幅图像中的图像的相关联的位置参数向量包括指示针对所述图像的观察位置和观察方向的数据;接收器,其用于从远程客户端接收观察位置参数向量;选择器,其用于响应于所述观察位置参数向量与所述相关联的位置参数向量的比较而从所述多幅图像中选择图像的集合;图像合成器,其用于根据所述图像的集合来生成合成图像;数据生成器,其被布置为生成针对所述合成图像的参考位置参数向量,所述参考位置参数向量指示针对所述合成图像的观察位置和观察方向;图像编码器,其用于编码所述合成图像以生成经编码的合成图像;输出生成器,其用于生成包括所述经编码的合成图像和所述参考位置参数向量的输出图像信号;以及发送器,其用于将所述输出图像信号发送到所述远程客户端。

本发明可以提供一种用于例如基于现实图像捕获而支持定制化用户体验的改善的方法。该方法具体地可以提供例如基于事件/场景的捕获的虚拟现实体验的改善的支持。该方法可以允许生成定制化体验,其中,远程客户端能够改变,并且控制观察者在由存储在存储设备中的图像表示的环境中的移动。

具体地,在许多实施例中,该方法可以有效地支持其中远程客户端可以基于从用作服务器的装置接收的图像而提供虚拟现实体验的设置。能够根据服务器处的虚拟现实应用的当前状况和要求有效地定制由该服务器提供的图像,由此最小化由远程客户端需要的后处理量。然而,该服务器仍然可以提供允许该服务器细化接收到的图像以调节当前观察者位置/方向与由传送的图像表示的观察者位置/方向的任何偏差的信息。

在许多实施例中,能够提供改善的体验和更自由可控的体验。此外,这可以在无需过多带宽的情况下提供,并且实际上在大多数实施例中,能够基于捕获的视频实现自适应且灵活的虚拟现实体验而仅需要与单个视频流的带宽相对应的从服务器到客户端的带宽。

在许多实施例中,多幅图像可以是针对场景的捕获的图像,并且具体地多幅图像可以是由相机在现实场景中捕获的图像。存储在存储器中的多幅图像可以是捕获现实场景的图像。在许多实施例中,多幅图像可以包括在不同时刻处获取的图像并且相应地它们可以反映该场景中的动态变化。多幅图像具体地可以包括现实场景的捕获的视频的帧。

位置参数向量可以是包括指示一个或多个参数的一个或多个值的数据结构或布置,其中至少一个参数指示观察位置并且至少一个参数指示观察方向。针对捕获的图像而言,该观察位置和方向可以与当捕获图像时的相机位置和取向/方向相对应。表示位置参数向量的数据可以以任何适当的方式来布置,并且可以例如包括通常针对多幅图像提供的值。

接收器可以被布置为经由通信媒介从远程客户端接收观察位置参数向量,通信媒介可以包括网络并且具体地它可以包括因特网。观察位置参数向量可以指示针对由装置/服务器生成的合成图像的期望的观察位置和观察方向。在许多实施例中,观察位置参数向量可以被生成为表示用户在由存储在存储器中的图像表示的虚拟场景中的位置和观察方向。

对图像的集合的选择具体地可以响应于针对观察位置参数向量和相关联的位置参数向量的接近度准则。具体地,可以确定观察位置参数向量与个体相关联的观察位置参数向量之间的距离度量,并且该选择可以响应于该距离度量。通常,图像的集合可以被选择为包括距离度量符合准则(例如距离度量低于阈值或是n个最低差异度量中的一个)的图像。

合成图像可以包括基于图像的集合中的多幅图像的合成。具体地,在许多实施例中,合成包括基于图像的集合中的多幅图像来执行视图合成。在一些实施例中,合成可以包括从图像的集合中选择单幅图像(诸如最接近的图像)。在许多实施例中,合成响应于图像的集合的观察位置参数向量和相关联的位置参数向量。具体地,该观察位置参数向量可以被认为表示期望的观察位置和方向。

在一些实施例中,可以通过对图像的集合中的一幅或多幅图像的图像的视图变换来生成合成图像,其中视图变换与将视点和方向从一幅或多幅图像的视点和方向变换到期望的观察位置和方向相对应。在一些实施例中,然而,合成图像的观察位置和方向可以通过考虑图像的观察位置和方向而从由观察位置参数向量表示的期望的观察位置和方向修改。例如,如果存储的图像具有非常接近该位置参数向量的位置参数向量,则可以将针对合成图像的观察位置和方向设置为存储的图像的观察位置和方向。

数据生成器可以被布置为响应于第一组图像中的图像的相关联的位置参数向量并且有时响应于观察位置参数向量而生成针对合成图像的参考位置参数向量。例如,生成的参考观察位置参数向量可以被生成为已经生成合成图像的观察方向和位置。

在许多实施例中,该装置可以同时支持多个远程客户端。具体地,它可以从多个远程客户端中的每个接收观察位置参数向量,并且它可以作为响应而生成针对每个个体远程客户端/观察位置参数向量的合成图像并且将这些发送回到适当的客户端。

观察位置和观察方向可以被提供有对由图像表示的场景的参考。它们可以被提供为由这些图像表示的虚拟世界/场景中的位置和方向。

根据本发明的任选特征,所述相关联的位置参数向量中的至少一个和所述观察位置参数向量包括时间参数,并且对所述图像的集合的所述选择包括所述观察位置参数向量的时间参数值与所述相关联的位置参数向量中的至少一个的时间参数值之间的差异的比较。

在许多实施例中,这可以提供改善的操作和/或改善的用户体验/服务。具体地,它可以提供针对动态变化场景的改善的支持。例如,它可以支持提供实况和动态事件(诸如音乐会或体育赛事)的虚拟现实体验。

合成图像可以简单地是生成的图像,并且可以由对生成的图像的参考来替代对合成图像的参考。

根据本发明的任选特征,所述选择器被布置为根据多个接收到的观察位置参数向量来预测修改的观察位置参数向量,并且所述选择器被布置为响应于所述修改的观察位置参数向量而选择所述图像的集合;或者所述图像合成器被布置为响应于所述修改的观察位置参数向量而生成所述合成图像。

在许多实施例和情形中,这可以提供改善的操作。具体地,它可以在远程客户端接收图像时导致该装置生成可能更接近远程客户端所需的图像的合成图像。多个接收到的观察位置参数向量可以包括当前/最近接收到的观察位置参数向量。

根据本发明的任选特征,所述装置还包括高速缓冲存储器和预先选择器,所述预先选择器被布置为根据多个接收到的观察位置参数向量来预测修改的观察位置参数向量,并且响应于所述修改的观察位置参数向量与所述相关联的位置参数向量的比较而从所述多幅图像中预先选择预测的图像的集合,并且将所述预测的图像的集合存储在所述高速缓冲存储器中;并且所述选择器被布置为从存储在所述高速缓冲存储器中的所述预测的图像的集合中检索所述图像的集合中的至少一幅图像。

在许多实施例和情形中,这可以提供改善的操作。它可以允许更快地生成合成图像并且因此减少响应的延迟。该方法可以减少整体延时并且因此导致该装置将可能需要由远程客户端的较少后处理的图像提供给服务器。多个接收到的观察位置参数向量可以包括当前/最近接收到的观察位置参数向量。

根据本发明的任选特征,所述存储设备还包括针对所述图像的深度数据,并且所述图像合成器被布置为还响应于针对所述图像的集合的深度数据而生成针对所述合成图像的深度数据,并且所述生成器被布置为将所述深度数据包括在所述输出图像信号中。

这可以促进和/或改善接收到的图像在远程客户端中的后处理以使其更紧密对应于当前状况。具体地,这可以改善视点变换。在许多实施例中,深度数据可以采用深度图或三维网格的形式。

根据本发明的任选特征,所述装置被布置为接收一系列观察位置参数向量,并且将所述输出图像信号生成为包括与所述系列观察位置参数向量相对应的合成图像的序列。

该方法可以支持其中远程客户端连续发送观察位置参数向量并且该装置作为响应而连续生成被发送回到远程客户端的合成图像的连续操作。在许多实施例中,该装置可以生成实际上形成能够由该远程客户端处理并且绘制的视频流的一系列图像。

在许多实施例中,该装置可以被布置为生成针对正接收的每个观察位置参数向量的多幅合成图像。例如,可以重复发送相同图像直到接收到新观察位置参数向量。这可以例如适合用于静态世界中的非常慢的移动应用。在其他实施例中,可以以与期望的帧速率相对应的速率生成新合成图像。这些图像可以均基于相同观察位置参数向量但是基于不同图像,并且具体地基于不同时刻处的图像。这可以例如提供反映在场景中发生的动态事件的视频流,但是其中这些是从相同观察位置并且在相同方向上观察到的(例如,观众在体育赛事中静坐并且在相同方向上观察)。

在一些实施例中,所述装置可以被布置为在不同的接收到的观察位置参数向量之间进行内插,或者可以能够在正接收的观察位置参数向量之间的时间内预测观察位置参数向量。在这种情况下,可以在接收观察位置参数向量的时刻之间使用这些插值/预测的观察位置参数向量。

根据本发明的任选特征,所述接收器被布置为对所述系列观察位置参数向量中的至少一个参数应用低通滤波器。

在许多实施例中,这可以提供或允许改善的用户体验。具体地,它可以允许实现体验的视图的更平滑的更新和改变。它可以进一步促进图像/视频编码,并且通常可以针对给定质量减少所需的数据速率。滤波器通常可以是时域低通滤波器。

根据本发明的任选特征,所述接收器还被布置为接收选择指令,并且所述选择器被布置为响应于所述选择指令而调整用于选择所述图像的集合的选择准则。

具体地,这可以允许针对个体用户/应用的个体偏好和要求的增加的定制化和适应。具体地,它可以提供不同虚拟现实模式/服务之间的支持、控制和/或切换的有效方式。

根据本发明的任选特征,所述选择器被布置为响应于接收到请求忽视所述观察位置参数向量的参数的选择指令而在所述比较中忽视所述参数。

这可以提供针对个体用户/应用的个体偏好和要求的特别有效的定制化和适应。参数通常可以是时间参数。

根据本发明的任选特征,所述存储设备被布置为将所述相关联的位置参数向量存储在范围树结构中,并且所述选择器被布置为响应于在所述范围树结构中的搜索而选择子集。

这可以提供特别有效的方法,并且具体地可以允许有效搜索并且选择满足适合用于例如虚拟现实体验的要求的适当的图像。在许多情形中,它可以使得能够基于大量存储的视频流来实时提供可控的视频流。

根据本发明的一方面,提供了一种图像处理装置,其包括:位置处理器,其用于确定包括指示观察位置和观察方向的参数的第一观察位置参数向量;发送器,其用于将所述观察位置参数向量发送到远程图像服务器;接收器,其用于从所述远程图像服务器接收信号,所述信号包括第一图像和指示针对所述第一图像的观察者方向和观察者位置的参考位置参数向量;更新处理器,其被布置为确定反映相对于所述第一观察位置参数向量的观察者位置和观察方向的变化的更新的观察位置参数向量;以及图像合成器,其被布置为响应于所述参考位置参数向量和所述更新的观察位置参数向量而根据所述第一图像来生成合成图像。

本发明可以提供一种用于支持例如基于现实图像捕获的定制化用户体验的改善的方法。该方法具体地可以提供例如基于事件/场景的捕获的虚拟现实体验的改善的支持。该方法可以允许生成定制化体验,其中远程客户端能够改变并且控制观察者在由存储在存储器中的图像表示的环境中的移动。

该方法允许图像处理装置用作针对提供场景的图像的图像/视频服务器的远程客户端。图像处理装置能够基于发送的观察位置参数向量来控制场景中的观察位置和方向。能够例如使用将从远程服务器接收的(一幅或多幅)图像呈现给用户以提供虚拟现实体验。用户能够在该虚拟现实场景中移动,同时图像处理装置控制该远程服务器提供跟随该移动的适当的图像。

另外,通过图像处理装置动态地更新观察位置参数向量并且执行局部后处理以生成/合成反映与原始发送的观察位置参数向量的差异的图像,能够提供改善的体验。具体地,该方法能够补偿延时,并且导致无任何可以感知到的滞后的虚拟现实体验。

根据本发明的任选特征,所述图像合成器被布置为将与所述更新的观察位置参数向量和所述参考位置参数向量之间的观察差异相对应的视图变换应用于所述第一图像。

这可以利用正呈现的更密切反映当前状况的图像提供改善的用户体验。

响应于参考位置参数向量和更新的观察位置参数向量而根据第一图像来生成合成图像具体地可以包括执行反映更新的位置参数向量与观察位置参数向量之间的观察位置和/或观察方向的差异的视图变换。这样的视图变换可以例如基于与图像一起接收(也是从远程服务器接收)的深度数据。

根据本发明的一方面,提供了一种图像处理系统,其包括:图像服务器,其包括如以上描述的装置;以及图像客户端,其包括如以上描述的图像处理装置。

根据本发明的一方面,提供了一种用于提供图像的方法,所述方法包括:存储针对三维场景的多幅图像,所述图像与针对所述场景的不同位置和观察方向相对应;存储针对所述多幅图像的相关联的位置参数向量,针对所述多幅图像中的图像的相关联的位置参数向量包括指示针对所述图像的观察位置和观察方向的数据;从远程客户端接收观察位置参数向量;响应于所述观察位置参数向量与所述相关联的位置参数向量的比较而从所述多幅图像中选择图像的集合;根据所述图像的集合来生成合成图像;生成针对所述合成图像的参考位置参数向量,所述参考位置参数向量指示针对所述合成图像的观察位置和观察方向;编码所述合成图像以生成经编码的合成图像;生成包括所述经编码的合成图像和所述参考位置参数向量的输出图像信号;以及将所述输出图像信号发送到所述远程客户端。

根据本发明的一方面,提供了一种方法,其包括:确定包括指示观察位置和观察方向的参数的第一观察位置参数向量;将所述观察位置参数向量发送到远程图像服务器;从所述远程图像服务器接收信号,所述信号包括第一图像和指示针对所述第一图像的观察者方向和观察者位置的参考位置参数向量;确定反映相对于所述第一观察位置参数向量的观察者位置和观察方向的变化的更新的观察位置参数向量;以及响应于所述参考位置参数向量和所述更新的观察位置参数向量而根据所述第一图像来合成合成图像。

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

附图说明

将参考附图仅通过举例的方式来描述本发明的实施例,在附图中:

图1图示了根据本发明的一些实施例的图像处理和分布系统的元件的范例;

图2图示了针对图1的系统的图像服务器的元件的范例;

图3图示了针对图1的系统的图像客户端的元件的范例;

图4和图5图示了相对于相机位置和方向的观察位置和方向的范例。

具体实施方式

以下描述关注于可应用于支持三维虚拟现实应用的图像处理和分布系统的本发明的实施例。然而,将意识到本发明不限制于该应用,而是可以应用于许多其他图像处理算法和系统。

图1图示了基于客户端/服务器方法的图像/视频分布系统。将参考客户端设备101将三维(3d)虚拟现实体验提供给用户的范例描述该系统。在范例中,客户端设备101耦合到具体地可以包括于虚拟现实头戴件中的显示器103。显示器103可以呈现由客户端设备101生成的图像以便将虚拟现实体验提供给用户。具体地,提供3d深度体验的立体图像可以被投影到用户的眼睛。

客户端设备101还耦合至用户接口105,用户可以通过该用户接口控制用户在虚拟世界中的虚拟移动。用户接口105通常可以提供用于控制用户在观察方向上的移动和变化两者的装置。用户接口105可以使用需要用户直接控制运动的主动输入(例如,操纵杆)或可以例如包括自动检测用户的移动的更被动的输入。例如,用户接口105可以包括检测用户的头部移动的检测器(诸如加速度计)。作为具体范例,可以(至少部分)由虚拟现实头戴件实施用户接口105和显示器103两者。

虚拟现实体验应当优选地允许用户选择相对于虚拟世界的位置、视点/方向以及移动时间。然而,虽然这能够在基于图形模型的人工虚拟现实体验中(诸如在计算机游戏中)实施,但是有效地并且准确地实现基于现实捕获的图像或视频的体验是非常困难的。实际上,在“理想”虚拟世界中,将由相机传感器从所有位置在所有方向上不断捕获动态场景。然而,这样的方法明显是不可行的。

这说明了基于(通常由相机)对现实特征的捕获的虚拟世界体验与脱机产生3d模型和纹理并且使用已知计算机图形技术来生成虚拟世界的纯计算机图形情况之间的根本差异。例如,针对实况视频,这样的方法是不可行的。实际上,尽管可能想象到可以根据实况视频来形成单个几何模型,但是自动生成具有高准确性和细节的这样的世界实际上将是不可行的。因此,该方法对大多数应用来说是不可行的,并且具体地对实时应用是不可行的。

在图1的系统中,基于从远程图像服务器107接收的图像/视频而将3d虚拟现实体验提供给用户。客户端设备101和远程图像服务器107经由在特定范例中由网络109实施的通信通道耦合在一起。网络109具体地可以为因特网或包括因特网。

在系统中,远程图像服务器107将图像提供给客户端设备101,客户端设备101基于此而生成呈现给用户的图像。远程图像服务器107耦合到可能大量图像捕获设备,在特定范例中所述图像捕获设备是视频相机111。相机111通常在许多不同方向上并且从许多不同观察位置捕获现实场景。这些图像/视频流被存储在远程图像服务器107中,并且用于将图像提供给客户端设备101,使得这能够生成与捕获的场景相对应的图像,同时允许用户动态地控制此场景内的移动和观察方向。在一些实施例中,该场景可以为静态场景,但是在许多实施例中,也可以为根据时间而改变的动态场景(例如体育赛事的记录)。

为了提供切实可用的系统,减少远程图像服务器107与客户端设备101之间的数据速率是关键的。因此,简单地传输捕获的图像流/视频是不可行的。此外,简单地允许用户在捕获的视频之间切换导致实质上降低的体验,并且一般将不会允许实际虚拟现实体验。除捕获问题外,将需要被流传输到用户的图像数据量将额外地增长,因为除了选择视图方向外,观察者在3d空间中取得任意位置的自由度增加。

在图1的系统中,远程图像服务器107将来自相机111的图像/视频存储在本地存储器中。客户端设备101被布置为将观察位置参数向量发送到远程图像服务器107,其中观察位置参数向量指示场景中的(期望的)观察位置和方向。基于接收到的观察位置参数向量,远程图像服务器107被布置为从存储器中检索适当的图像并且生成/合成与接收到的观察位置参数向量有关的图像。具体地,所生成的图像(被称为合成图像)被具体地生成为与来自在接收到的观察位置参数向量中指示的位置并且在接收到的观察位置参数向量中指示的方向上的视图相对应的图像。

将合成图像发送回到客户端设备101,其中该合成图像可以在被呈现给用户之前被处理(具体地,可以使用相对较小的视图转变来调节早前发送的观察位置参数向量与当前观察位置/方向之间的差异)。

具体地,在系统中,基于存储的视频流,定制的视频由远程图像服务器107编码,并且发送给用户,这取决于个体用户在虚拟世界中的位置和观察方向。访问同一个虚拟现实数据库的两个用户将相应地接收(例如,采用h.264)不同编码的视频流,这取决于它们在虚拟3d空间中的当前位置和观察方向。

因此,针对个体用户的视频流针对个体用户被定制,并且具体地可以接近与当前观察位置和方向相对应的视图。然而,由于延时,自观察位置参数向量被发送并且相应地客户端设备101可以修改接收到的图像以考虑此偏差后,位置和观察方向可能已经改变。

因此,在系统中,仅需要将一幅图像从远程图像服务器107发送到客户端设备101,并且因此数据速率能够保持较低。然而,该系统仍然允许将准确图像呈现给用户,其中该图像密切对应于用户的当前位置和观察方向。该方法通过使用其中针对用户的图像的合成跨远程图像服务器107和客户端设备101分布的定制化方法来实现这一点,其中远程图像服务器107生成通常将接近与当前位置和观察方向相对应的图像的适当图像,并且其中客户端设备101对该图像进行精细调节以考虑任何偏差。

作为特定范例,远程图像服务器107可以经由在预先存储的图像数据库上的多维查询而生成针对个体用户的个人h.264视频流。该查询通常使用包括反映虚拟世界中的用户当前情况的六个参数(三个用于位置,两个用于观察方向以及一个时间参数)的观察位置参数向量。在视频编码过程期间,远程图像服务器107可以从客户端设备101接收用户位置和观察方向的实际测量结果。取决于这些参数,从存储器/数据库中检索图像的集合。使用基于图像的绘制根据这些图像来合成用户的实际视图并且将该结果添加到h.264编码流。因此,响应于用户的改变的位置和观察方向参数而实时创建个人视频。

实际范例应用能够为流行音乐会的记录。例如,100个人可以正在捕获该事件的视频。“传统”存储方法将会是在服务器侧处存储这100个视频流。然后,如果客户想要在人群中浏览他自己的过程,则这将导致对服务器的一系列请求,从而每次从一个视频流切换到另一个视频流(并且开始另一解码过程)。

相比而言,根据本文描述的示范性方法,所有100个捕获的视频流可以在单个数据库中存储为个体图像,其中每幅图像例如利用位置、取向以及时间来索引。然后,提出的用于可视化的工作流程可以为如下:

1.客户端设备101将位置/取向/时间发送到远程图像服务器107;

2.执行搜索以确定相关图像;

3.远程图像服务器107根据相关图像来合成视图图像;

4.远程图像服务器107将合成的视图图像添加到当前输出视频流;

5.客户端设备101从远程图像服务器107接收具有元数据(位置和观察方向以及任选的时间参数)的视频;

6.客户端设备101取决于当前(设备)观察位置、方向以及时间而合成(一个或多个)当前视图。

图2更详细地图示了图1的远程图像服务器107的一些元件。

远程图像服务器107包括记录来自相机111的捕获的图像/视频流的存储设备/存储器201。除了图像/视频流外,指示针对个体图像的位置、相机方向(观察方向)以及可能的时间的元数据将被存储。元数据可以被存储为普通元数据,例如针对固定相机,可以将位置和可能的相机方向简单地提供用于这样的流。然而,在许多实施例中,可以存储反映时间变化的相机位置和/或方向的元数据,并且不同图像可以相应地具有不同相关联的元数据。

在下文中,术语图像/视频在指代系统中提供的信号时将可互换使用,但是将意识到,视频流固有地由个体图像(帧)组成并且该方法不必要求图像的序列而是能够应用于单幅图像。

因此,与图像一起存储在存储器201中的元数据可以提供包括多个参数的数据向量。针对个体图像的这些参数提供指示针对该图像的(至少)观察位置和观察方向的值。例如,向量可以包括指示观察位置的三个参数,具体地诸如虚拟世界中的x、y以及z坐标。此外,该向量可以包括指示观察方向的两个参数,诸如方位角和仰角值。对应地,位置参数向量可以为包括定义位置和(观察方向)的参数值的数据集或结构。在范例中,包括三个位置参数/坐标以及两个方向参数,但是将意识到在其他实施例中,可以使用其他数量。也将意识到,数据向量可以以任何适当的方式表示、存储或处理并且无需为例如一起存储在例如连续存储器位置中的五个或六个值。相反,该向量可以为提供包括(至少)观察位置和观察方向的指示的针对图像的参数的任何表示。

例如,如果相机沿循通过虚拟世界的预定路径,则该路径可以被表示为单个变量的函数并且该向量可能仅由表示该变量的单个参数值表示。在这种情况下,相机的特定位置和观察方向可以被计算为变量的预定函数。将意识到在这样的实施例中,位置参数向量可以被认为对应于由评估该函数而得到的值(例如,计算的位置的坐标或观察方向)或对应于(一个或多个)输入变量本身。

也将意识到在许多实施例中,针对多幅图像,位置参数向量的参数值可以是隐含的或共同的。例如,一组相机可以被定位为与例如相同x坐标成一条直线。在这样的情况中,对应的位置参数向量可以由指示针对该组的x坐标的单个值跟随有针对改变的位置/观察方向参数的个体参数值存储/表示。

在许多实施例中,诸如音乐会或体育赛事的特定示范性应用,时间方面是重要的。具体地,针对静态虚拟世界体验,通常可以忽视时间参数,并且将针对相同观察位置和方向(而不管时间如何)生成相同图像。这样的应用的范例可以是已经从许多不同位置并且在许多不同方向上拍摄或摄影的空博物馆。针对所有图像,可以存储反映针对该个体图像的位置和相机方向的相关联的位置参数向量。然而,由于场景是静止的并且不随着时间而改变,因此也无需或无理由记录捕获的时间。相应地,可以针对图像存储五参数数据向量。

在这样的范例中,客户端设备101可以将也包括五个参数值的观察位置参数向量提供到远程图像服务器107。响应于此,远程图像服务器107可以生成适当的图像而不考虑任何时间方面。该方法可以例如允许客户端设备101生成用户能够在三维虚拟博物馆中自由走动以观察各种展品的虚拟现实体验。

在大多数应用中,例如音乐会或体育赛事的绘制,捕获的场景然而随着时间而改变。在这样的情况中,存储的图像通常也与时间参数相关联,即相关联的位置参数向量也包括时间参数。这允许提供反映动态实时事件的虚拟体验。以下描述将关注于应用该方法以提供时间事件(而非仅静态虚拟现实世界)的虚拟现实体验,时间事件例如为音乐会或体育赛事。

相机可以通过来自许多不同位置并且在许多不同方向上的一系列图像(具体地视频流)捕获动态场景。远程图像服务器107可以将动态虚拟世界存储在存储器201中作为单独的图片以及相关联的位置参数向量。

具体地,图像可以被存储在与范围树相对应的结构中(https://en.wikipedia.org/wiki/range_tree)。实际上,发明者已经意识到对特定应用来说,使用范围树结构提供特别有利的方法,因为其实质上可以促进针对给定的接收到的观察位置参数向量而识别并选择适当的图像。

在特定范例中,相关联的位置参数向量表示六个不同参数并且相应地能够由六维参数向量表示该范围树中的单个点:

其中x,y,z表示欧几里得坐标中的相机位置,θ是相机极角,是相机方位角,并且t表示时间。

远程图像服务器107还包括被布置为使得远程图像服务器107接口连接到网络109使得其能够与其他设备通信的网络接口203。具体地,网络接口203被布置为从客户端设备101接收数据并且将数据发送到该客户端设备。将意识到,技术人员将非常清楚用于在两个设备之间通信的许多方法,包括经由网络(诸如因特网)通信。为简洁起见,相应地将不再详细描述这些方法,但是将意识到可以使用使得远程图像服务器107与客户端设备101彼此通信的任何适当的方法。

远程图像服务器107包括具体地能够从客户端设备101接收观察位置参数向量的接收器205。观察位置参数向量可以包括多个参数并且提供观察者的位置和观察者正在虚拟世界中观察的方向的指示。观察者位置参数向量提供客户端设备101请求提供(虚拟世界/场景的)图像的观察位置和方向的指示。因此,观察位置参数向量通常可以指示用户在客户端设备101处生成的三维虚拟世界中移动的特定观察者位置和方向。

通常,观察位置参数向量包括还可以包括先前讨论的时间参数的参数集。例如,针对体育赛事应用,观察位置参数向量可以包括指示观察者的位置的三个参数值、指示观察方向的两个参数值以及表示期望图像出现的时刻的一个参数值。

因此,对应于针对存储器201中的图像存储的相关联的位置参数向量,观察位置参数向量可以具体地由六维参数向量表示:

其中x,y,z表示观察者在欧几里得坐标中的位置,θ是极角并且是观察者观察的方向的方位角,并且t表示时间。

然后,远程图像服务器107可以继续合成与观察位置参数向量相对应的图像,即该远程图像服务器可以继续生成与当在时间t处在的方向上观察时来自x,y,z的位置的视图相对应的图像。

为了这样做,远程图像服务器107首先从存储器201中选择存储的图像的适当的集合,在此之后其基于选择的图像的集合来合成与观察位置参数向量相对应的图像。

接收器205相应地被连接到选择器207,该选择器被布置为响应于观察位置参数向量与相关联的位置参数向量的比较而从存储在存储器中的图像中选择图像的集合。该选择通常将包括选择满足给定接近度要求的图像。例如,可以针对所有存储的图像定义并且评估位置参数向量的参数的值之间的距离度量。然后,图像的集合可以例如被选择为具有低于给定阈值的距离度量的图像或者例如被选择为具有最低距离度量的n幅图像。

原则上,通过所有存储的图像的搜索在许多系统中可以是非常复杂且耗费资源的操作。然而,在描述的范例中,图像被存储在范围树结构中,并且具体地围绕位置参数向量的参数组织该范围树结构。该范围树可以为n维树,其中n是向量的维度,即其反映参数的数量。

在特定范例中,在给出接收到的观察位置参数向量(反映由客户端提供的实际位置/旋转以及时间)的情况下,在范围树中执行递归二元搜索以找出满足例如下式的所有图像:

vc,k-δk<vk≤vc,k+δk

对所有k而言,其中k是表示向量的个体参数的指数,并且vc是观察位置参数向量。针对个体参数k的可接受偏差值δk可以针对不同参数而不同,并且在一些实施例中,可以是可由客户端设备101控制的,如将在稍后描述的。

比较通常可以(除非例如提供静态世界虚拟现实体验)包括时间参数的考虑。具体地,在以上方程中,k的一个值可以对应于时间参数。可接受偏差δk通常将针对时间参数而被设置得相对较低以便确保图像的时间一致生成(具体地确保生成时间一致视频)。

基于范围树的该特定搜索可以是高效的,并且实际上复杂性可以被确定为:

o((logn)d+k),

其中n是数据(图像)的数量,d是搜索空间的维度,并且k是在请求的间隔内的图像的数量。

取决于可接受偏差δk,范围搜索可以得到0至n个检索到的图像。如果找到对应于空白的图像的集合的零幅图像,则这指示用户正在移动到由(如由远程图像服务器107/捕获的图像支持的)虚拟世界表示的空间之外。在这种情况下,远程图像服务器107可以例如返回错误消息和/或提供与最接近的捕获的图像相对应的图像。

远程图像服务器107还包括图像合成器209,该图像合成器被布置为根据选择并检索的图像的集合来生成/合成与观察位置参数向量相对应的图像。这种合成具体地可以包括视图合成操作,视图合成操作可以例如使用图像的集合中的图像执行视图转变、插值等等。在一些实施例中,合成还可以包括从图像的集合中选择子集并且仅将该子集用于合成。在许多情况中,合成基于多幅图像并且具体地可以涉及图像的集合中的至少两幅图像之间的视图插值。

作为合成的过程的范例,图像合成器209可以执行在参数空间中接近的图像对之间的视差估计并且推断出深度图。可以基于该深度图来合成新图像。

图像合成器209耦合到被布置为以适当格式对合成图像进行编码的图像编码器211。例如,远程图像服务器107可以生成被发送到客户端设备101的h.264编码的视频流,并且图像编码器211可以被布置为根据h.264编码格式来对合成图像进行编码。将意识到,可以使用任何适当的视频或图像编码格式。

图像编码器211耦合到被布置为生成以包括经编码的合成图像的数据流形式的输出信号的输出生成器213。输出生成器213耦合到被布置为将输出数据流发送到客户端设备101的网络接口203。

因此,响应于发送指示观察位置、方向以及通常还有时间的观察位置参数向量,客户端设备101将从远程图像服务器107接收对应于这些参数的图像。相应地,客户端设备101的用户能够定义虚拟世界中的位置和观察方向(以及时间),并且作为响应将接收寻求提供用户将从该位置和方向(并且在该时间)感知到的虚拟世界的视图的图像。

远程图像服务器107还包括被布置为生成针对合成图像的参考位置参数向量的数据生成器215,其中参考位置参数向量指示针对合成图像的观察位置和观察方向以及通常还有时刻。

参考位置参数向量可以是与相关联的位置参数向量和/或观察位置参数向量相同的格式。它提供针对合成图像的对应信息,并且通常也可以以向量的形式来提供:

其中x,y,z表示欧几里得坐标中的观察位置,θ是观察方向极角,是观察方向方位角,并且t表示时间。实际上,相对于观察位置参数向量(以及相关联的位置参数向量)提供的注释也与参考位置参数向量(在作了必要的修改的情况下)相关。

因此,参考位置参数向量提供针对合成图像的参考点,并且具体地指示生成图像的位置和观察方向(以及时间)。这些可以与接收到的值不同,即参考位置参数向量可以与观察位置参数向量不同。这可以例如由于捕获的图像的粒度而发生。例如,通过针对与观察位置参数向量的位置或时间稍微不同的位置或时间而生成合成图像,可能能够更直接地使用存储的图像中的一幅或多幅,并且这可以提供更高的图像质量。

作为另一范例,服务器能够具有处于适当位置的能够预测用户正要看向何处并且用户如何在时间上移动的预测模型。做出预测意味着服务器将发送回与客户端请求的参数向量不同的参数向量。

因此,虽然通常参考位置参数向量可以与观察位置参数向量有偏差,但是该偏差通常将相对较小并且实际上客户端设备101通常将接收非常接近该客户端设备请求的参数的图像的合成图像。

数据生成器215耦合到被布置为将参考位置参数向量包括在被发送到客户端设备101的生成的数据流中的输出生成器213。

图3更详细地图示了图1的客户端设备101的一些元件。

客户端设备101包括被布置为执行基于从远程图像服务器107接收的图像而将虚拟现实体验提供给用户的虚拟现实应用的虚拟现实处理器301。虚拟现实处理器301具体地可以与虚拟现实头戴件和/或例如操纵杆接口连接以跟踪用户在虚拟世界中的移动和头部移动。虚拟现实处理器301可以将3d图像提供给虚拟现实头戴件并且基于来自虚拟现实头戴件的输入来跟踪用户如何移动他的头部。

虚拟现实处理器301耦合到被布置为确定包括指示虚拟世界中的观察位置和观察方向的参数的当前观察位置参数向量的位置处理器303。位置处理器303具体地可以从虚拟现实处理器301接收位置和观察方向的信息并且可以以适当的数据结构打包该数据。它还可以添加时间参数,诸如当前时刻(例如,实时或在虚拟现实的时间帧中)。在一些实施例中,位置处理器303也可以从虚拟现实处理器301接收时间信息。

位置处理器303耦合到被布置为使客户端设备101接口连接到网络109使得其可以与其他设备并且具体地与远程图像服务器107通信的网络接口305。将意识到,在其他实施例中可以使用其他通信方法。

因此,客户端设备101被布置为生成观察位置参数向量,并且使用网络接口203作为发送器将观察位置参数向量发送到远程图像服务器107。作为响应,远程图像服务器107合成对应图像,并且将该图像与先前描述的参考位置参数向量一起发送到客户端设备101。

网络接口305支持双向通信,并且因此也用作接收包括该图像和参考位置参数向量的该信号/数据流的接收器。网络接口305耦合至被布置为基于接收到的图像来合成输出图像的客户端图像合成器307。将该合成的输出图像馈送到虚拟现实处理器301,该虚拟现实处理器然后可以将该图像呈现给用户。

然而,由于该系统的延时,自观察位置参数向量被发送到远程图像服务器107后,用户在虚拟世界中的当前位置可能已经改变。相应地,客户端设备101包括被布置为确定反映相对于发送的观察位置参数向量的观察位置和观察方向的变化的更新的观察位置参数向量的更新处理器309。

在一些实施例中,更新的观察位置参数向量可以被生成为例如指示当前值与发送的观察位置参数向量值之间的差异的相对向量。然而,在其他实施例中,更新的观察位置参数向量可以简单地为当前观察位置参数向量。因此,在一些实施例中,更新处理器309可以简单地从位置处理器303请求当前观察位置参数向量。实际上,位置处理器303可以连续地生成观察位置参数向量并且将其发送到远程图像服务器107,并且也可以将这些提供给更新处理器309。当前正发送的观察位置参数向量也可以相应地为针对先前发送的观察位置参数向量(并且因此针对当前接收到的图像/参考位置参数向量)的更新的观察位置参数向量。

将更新的观察位置参数向量馈送到客户端图像合成器307,该客户端图像合成器继续基于接收到的图像、参考位置参数向量以及更新的观察位置参数向量来合成输出图像。

用户的位置和观察方向的变化以及由远程图像服务器107处的处理引入的任何偏差通常是相对较小的。相应地,更新的观察位置参数向量与参考位置参数向量之间的差异通常是相对较小的。通常,该差异指示用户的位置和/或他正观察的方向的相对较小的变化。

相应地,当合成输出图像时,客户端图像合成器307能够对接收到的图像执行相对较小的校正。具体地,客户端图像合成器307可以通过适当地平移像素在立体图像中的位置而执行视图旋转或平移。例如,可以由客户端接收具有相关联的3d网格的图像。然后,能够使用纹理映射来合成当前视图。相应地,可以由客户端接收具有相关联的深度图的图像。然后,该客户端可以基于每像素深度跟随有再次通过纹理映射来创建网格以合成新视图。在另一范例中,客户端可以使用基于深度图像的绘制方法根据具有相关联的深度图的图像来生成新视图。

因此,客户端图像合成器307具体地可以被布置为在绘制之前对接收到的图像执行观察点/方向变换,其中所述观察点/方向变换取决于接收到的参考位置参数向量与生成的更新的观察位置参数向量之间的差异。

可以由图4和图5图示在客户端侧处应用视图变换的益处。图4图示了当捕获场景时由相机沿循的轨迹401,在沿着该轨迹的每个位置(具有适合粒度/步长)处捕获多方向图像。图5图示了可以由用户在虚拟环境中取得的轨迹501的范例。在每个观察位置处,可以将最接近的可获得的捕获的图像添加到视频流(例如,选择器207可以选择最接近的图像)。客户端设备101可以解码针对该最接近点的图像。然而,如所指示的,位置可以不是相同的,而是可以存在小差异。由于远程图像服务器107也提供参考位置参数向量,因此客户端图像合成器307能够将该参考位置参数向量与更新的观察位置参数向量进行比较并且执行相应地对此进行补偿的视图变换。因此,该变换补偿更新的观察位置参数向量与参考位置参数向量之间的观察差异。这可以补偿接收到的参数测量结果中的延时问题和可能的不准确性。

在许多动态实施例中,该过程也可以考虑时间参数。这可以例如用于在一系列接收到的图像之间进行插值和/或可以例如用于将接收到的图像/参考位置参数向量与本地生成的更新的观察位置参数向量进行匹配。

因此,该系统提供其中用户能够动态地且流动地被提供有基于现实捕获的图像的三维体验的方法。该方法可以提供虚拟世界中的运动的高度灵活性和流动性。实际上,在许多应用中,可以为用户提供在移动上看起来不受限制的、连续的且通常具有高图像质量(针对沉浸体验)的体验。在一些应用中,图像质量可以不如消费者在例如高质量tv广播中所习惯的质量。

该方法基于将图像生成跨服务器和客户端设备101分布,其中服务器提供能够在客户端设备101处细化的通常粗糙但大致正确的图像。这可以用于解决由远程图像服务器107中的处理引起的诸如延时或伪影或由于有限数量的捕获点或设备固有地引起的粒度的问题。

另外,该服务需要的数据速率和带宽被保持较低,其中对于个体客户端设备101仅需单幅图像/单个视频流。因此,不需要多个并行流。

在许多实施例中,图像合成器209和/或客户端图像合成器307的图像合成可以基于根据深度数据来执行3d视图变换。该深度数据可以例如为针对图像的3d网格的形式,或者可以例如为包括例如针对该图像的像素的深度或视差值的深度图。

相应地,在许多实施例中,除图像外,存储器201也可以存储深度信息,诸如深度图。可以例如由相机111(其为3d相机)直接生成深度图。

当提取图像的集合时,选择器207也可以提取针对这些图像的深度数据(具体地深度图)。然后,可以由图像合成器209使用图像和相关联的深度图来进行调节。除了生成合成图像外,图像合成器209也可以生成深度信息,诸如针对该合成图像的深度图或网格。该深度图/网格也可以被馈送到输出生成器213并且可以包括于输出文件中。

在一些实施例中,图像合成器209可以通过选择最接近的图像来简单地合成图像。在这样的情况中,输出深度图/网格可以简单地对应于针对该图像的存储的深度图/网格。

因此,在一些实施例中,除对应于观察位置参数向量的图像外,客户端设备101也接收针对该图像的深度数据。这通常可以为深度图或网格的形式,并且可以直接由客户端图像合成器307用于执行视图变换。例如,当例如观察者正平移时,针对个体像素的位移取决于深度。具体地,接近观察者的物体将比距观察者更远的物体更多地进行转变。

所描述的方法的具体优点在于其特别适合于动态用户体验。实际上,可以支持客户端设备101连续提供观察位置参数向量并且作为响应远程图像服务器107提供连续图像流并且具体地提供视频流的动态过程。另外,仅使用对应于基本上单个视频流的正向带宽和对应于低速率数据连接的逆向带宽来有效地实现该动态过程。

因此,在许多实施例中,远程图像服务器107可以例如以5-100hz的更新速率接收一系列观察位置参数向量。作为响应,远程图像服务器107可以生成合成图像并且将它们返回到客户端设备101例如作为具有适当帧速率(或者可能具有比客户端设备101能够基于包括的时间参数而执行帧速率调整(例如,使用插值)需要的帧速率更高或更低的帧速率)的视频流。因此,远程图像服务器107可以生成输出图像信号以包括对应于该系列观察位置数据向量的合成图像的序列。

实际上,在许多实施例中,该方法可以允许提供具有高图像质量和带宽要求两者的动态实时虚拟现实体验。

该方法也可以允许远程图像服务器107同时支持多个用户。具体地,远程图像服务器107能够从多个客户端设备接收观察位置参数向量,并且能够作为响应而生成针对每个客户端设备/用户的定制化且个性化视频流。

在一些实施例中,选择器209可以被布置为根据多个接收到的观察位置参数向量(包括当前观察位置参数向量)来预测修改的观察位置参数向量。例如,选择器209可以包括多维预测滤波器,诸如卡尔曼滤波器。这可以预测用户在三维虚空间中的轨迹,并且可以例如额外地或备选地预测观察方向。作为简单范例,甚至能够由一阶线性预测滤波器简单地预测图5的范例中的用户的轨迹。

因此,基于一系列接收到的观察位置参数向量,可以由远程图像服务器107预测未来观察位置参数向量(或其至少一些参数)。因此,在一些实施例中,选择器209可以包括预测可以对应于未来时间的观察位置和/或观察方向的估计的修改的观察位置参数向量的预测器。

可以以不同方式使用这样的预测。

例如,在一些实施例中,选择器107可以被布置为响应于修改的观察位置参数向量而选择图像的集合,并且/或者客户端图像合成器307可以被布置为响应于修改的观察位置参数向量而合成合成图像。

具体地,可以使用先前描述的方法,但代替直接使用接收到的观察位置参数向量,可以使用修改的观察位置参数向量。这可以导致生成对应于通常稍修改的位置/观察方向的图像。具体地,远程图像服务器107可以估计延时(例如,通过检查客户端设备101或基于包括于远程图像服务器107与客户端设备101之间的消息中的计时信息而应用计时估计过程)。然后,可以使用预测器估计将预期在由该延时偏移的时间处接收的观察位置参数向量。因此,远程图像服务器107能够以此方式寻求预测在由客户端设备101接收或绘制图像的时间处的用户位置/观察方向。然后,其可以提供对应于该位置/观察方向的合成图像。在许多实施例中,这可能导致更接近期望的视图的图像,并且因此可以减少由客户端设备101需要的后处理/视图变换的量。

备选地或额外地,可以使用该预测来执行预先选择。例如,远程图像服务器107可以包括高速缓冲存储器,图像能够在从存储器201中检索之后被存储在高速缓冲存储器中。高速缓冲存储器可以例如对应于针对客户端图像合成器307的gpu存储器或专属存储器。相应地,可以比从存储器201(其通常将针对容量而非速度来优化图像)中检索更快地检索该高速缓冲存储器中的图像。

在一些实施例中,选择器209可以包括基于预测的修改的观察位置参数向量来选择从存储器201中提取并且被存储在高速缓冲存储器中的图像的集合的预先选择器。修改的观察位置参数向量具体地可以为下一个观察位置参数向量的预测,并且当接收到该下一个观察位置参数向量时,可以从高速缓冲存储器而非存储器201中检索选择的图像(如果实际上它们已经被预先选择)。

作为范例,预先选择可以基于与该选择恰好相同(但是例如允许较大偏差)的原理。例如,预先选择也可以基于找出满足例如下式的所有图像:

vc,k-δk<vk≤vc,k+δk

然而,值δk可以针对预先选择比针对后续选择被选择得实质上更高以便补偿预测中的不确定性。

基于做出关于用户要去何处的预测的参考视图的这样的预先提取可以减少生成合成图像的时间延迟,并且可以相应地减少整体延时。

在一些实施例中,接收器可以被布置为对该系列观察位置参数向量中的至少一个参数应用低通滤波器。例如,可以对一系列连续观察位置参数向量中的接收到的x、y以及z坐标进行单独地滤波以提供平滑位置轨迹。因此,个体参数可以有效地进行时域低通滤波以反映更平滑的操作。因此,该方法允许用户体验的特别有效的平滑化,而无需例如由客户端设备101后续接收到的图像/帧之间的时间插值。该方法具体地可以允许序列的后续图像上的较高一致且平滑的变化。这可以促进视频编码。

实际上,对视频流的有效编码而言,优选的是视频在时间上沿循平滑运动。为了确保这一点,可以由远程图像服务器107对用户位置和观察方向参数进行滤波以生成随时间平滑地变化的视频。针对相同质量,这减少了比特率。可以由客户端侧视图合成(使用发送的网格或深度图)补偿相对于实际位置和取向的引入的差异,即客户端图像合成器307执行视图变换的方法允许滤波引入相对于接收到的观察位置参数向量的偏差而这不会不合理地降低感知到的质量。因为可以存在未知的往返延迟,所以远程图像服务器107可以如先前提到的发送具有每个视频帧的参考位置参数向量。客户端设备101能够将该信息用于正确视图合成。为了避免新接收到的数据与当前合成数据之间的时间不一致性,能够使用alpha混合来提供平滑的运动体验。

在一些实施例中,客户端设备101还可以被布置为发送影响远程图像服务器107的操作的控制数据。这可以例如用于控制由远程图像服务器107生成的图像的特性,并且具体地可以用于例如在不同操作模式之间并且在不同虚拟现实体验之间选择。具体地,它可以控制对合成图像的生成施加的限制。

在一些实施例中,客户端设备101具体地可以被布置为发送控制选择器209如何选择图像的集合的选择指令。因此,客户端设备101可以将选择指令发送到远程图像服务器107并且响应于接收该选择指令,远程图像服务器107可以调整由选择器209使用的选择准则。

选择指令具体地可以包括应当如何确定不同参数的优先级或例如不同参数要接受多大的偏差的指示。例如,选择指令可以指示例如x方向上的相对较大的变化是可接受的,而y方向上的变化必须保持较低。

具体地,选择指令可以指示当选择图像时应当忽略特定参数(或参数的集合)。具体地,该选择指令可以指示应当忽略时间参数,并且应当包括足够接近指示的位置和观察方向的所有图像(不管它们在何时取得)。作为另一范例,选择指令可以指示应当包括不对称准则,并且应当仅包括在当前时刻之后(在虚拟世界中)捕获的图像。

这样的选择指令的包括可以例如允许客户端设备101在例如由用户控制的不同模式中操作。

例如,取决于背景内容的类型,用户可能想要以不同方式探索捕获的环境。在以上描述的设置中,这能够使用能够由从客户端设备101发送到远程图像服务器107的选择指令控制的针对间隔参数δk的不同设置来处置。

示范性操作模式可以例如包括:

1.时间顺序模式:事件发生的时间顺序次序是重要的。可以暂停回放,但帧绝不应在时间上返回。将仅允许时间参数δt的较小变化。

范例:音乐会(其中音频是最关键的部分)、体育赛事。

2.静态世界模式:该记录被探索为静态3d模型,因此捕获帧的时间已经变得不相关。六参数空间现在减少至五参数空间。这将导致从其捕获数据的更致密空间并且因此导致针对观察者的更致密的有效位置/观察角度。

范例:虚拟博物馆参观、建筑。

3.轨迹模式:该记录被探索为静态3d世界。然后,可以在不同方向上采用不同路径探索3d空间(x,y,z)中的这样的轨迹或路径。

范例:远足路径。

对于一些应用而言,搜索空间的维度可以被进一步减少:

1.在以上描述的静态世界模式中,时间维度缺失,从而得到5d空间。

2.在以上描述的轨迹模式中,时间维度缺失,并且(x,y,z)位置能够被减少至沿轨迹的单个参数s。这得到3d空间。

3.针对体育赛事,时间维度是关键的,但观察位置和方向通常能够受限制(观察者通常观看运动场而非体育馆本身)。

例如,用户能够决定他想要在相当长的时间间隔δt内体验虚拟世界。在该情况中,用户将接收仅取决于短时间段内的位置和取向的视频并且在场景中除由用户自己的运动引起的移动外无物体移动。

在一些实施例中,客户端图像合成器307还可以能够当生成合成图像时剪裁接收到的图像。因此,在一些实施例中,由合成图像表示的呈现给用户的观察角度可以比接收到的图像的观察角度更小。该剪裁可以取决于更新的观察位置参数向量和参考位置参数向量。

因此,在一些实施例中,远程图像服务器107可以生成具有比由显示器用于将图像呈现给用户实际需要的视场更大的视场的图像。这可以促进客户端图像合成器307的操作,因为它可以允许选择用于生成待被选择为最佳对应于更新的观察位置参数向量的合成图像的接收到的图像。作为低复杂性范例,如果自观察位置参数向量被发送后用户已经将其头部转至左侧,则客户端图像合成器307可以选择更朝向接收到的图像的左手侧的图像区段并且将其用于合成。如果相反用户已经将其头部转向右侧,则可以使用更朝向图像的右手侧的图像区段。

将意识到,为清楚起见,以上描述已经参考不同功能电路、单元以及处理器来描述本发明的实施例。然而,将意识到可以在不背离本发明的情况下使用不同功能电路、单元或处理器之间的任何适当的功能分布。例如,被图示为由分离的处理器或控制器执行的功能可以由相同处理器或控制器执行。因此,对特定功能单元或电路的引用将仅被视为对用于提供描述的功能的适当的单元的引用而非指示严格逻辑或物理结构或组织。

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

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

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

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