CN111355944B - 生成并用信号传递全景图像之间的转换 - Google Patents

生成并用信号传递全景图像之间的转换 Download PDF

Info

Publication number
CN111355944B
CN111355944B CN201911327004.XA CN201911327004A CN111355944B CN 111355944 B CN111355944 B CN 111355944B CN 201911327004 A CN201911327004 A CN 201911327004A CN 111355944 B CN111355944 B CN 111355944B
Authority
CN
China
Prior art keywords
virtual environment
user
viewing position
processor system
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911327004.XA
Other languages
English (en)
Other versions
CN111355944A (zh
Inventor
H.M.斯特金
H.N.新德利克斯
M.O.范德温特
J.M.M.德尼吉斯
K.M.厄尔阿萨尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
Original Assignee
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO, Koninklijke KPN NV filed Critical Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Publication of CN111355944A publication Critical patent/CN111355944A/zh
Application granted granted Critical
Publication of CN111355944B publication Critical patent/CN111355944B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation thereof; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及生成并用信号传递全景图像之间的转换。提供了用于显现多用户虚拟环境的处理器系统和计算机实现方法,其中提供不同的全景图像作为用于虚拟环境中的不同观看位置的基于图像的背景幕。当用户从针对其显现第一全景图像的第一观看位置切换到针对其显现第二全景图像的第二观看位置时,可以为用户显现例如作为全景图像的数学变换的转换。为了避免感知到该用户在虚拟环境中的表示的其他用户突然切换到第二观看位置,可以提供转换数据,该转换数据可以使另一处理器系统能够例如通过沿着移动轨迹移动该用户的化身来显现虚拟环境中的转换的表示。

Description

生成并用信号传递全景图像之间的转换
技术领域
本发明涉及用于例如以虚拟现实或增强现实显现多用户虚拟环境的处理器系统和计算机实现方法。本发明还涉及包括转换(transition)数据的计算机可读介质,所述转换数据定义在由处理器系统对多用户虚拟环境的显现中向虚拟环境中的观看位置的转换。本发明还涉及用于显现多用户虚拟环境的处理器系统和计算机实现方法。本发明还涉及计算机程序,其包括用于执行任一方法的指令。
背景技术
已知用户在虚拟环境中共享经验和/或彼此通信,其中虚拟环境由数据来定义并由相应的设备或系统(例如,计算机、智能手机、头戴式设备等)显现给相应的用户。虚拟环境通常是三维(3D)虚拟环境,可以在视觉上并且通常也在听觉上将其显现给用户。例如,两个或更多个用户可以被表示在虚拟房间中,并且他们可以使用视觉和/或音频线索(cue)来彼此交互。用户的视觉表示的示例是所谓的化身(avatar),其可以是具有例如泛化的类人形状或可能模仿用户的特定特性或特定外观的图形对象。视觉表示的另一示例是所谓的“视频化身”,其示出用户的实时视频,例如,如由相机记录的实时视频。用户的听觉表示的示例是虚拟扬声器,其可以输出用户的实时音频,例如,如由麦克风记录的实时音频。用户在虚拟环境中的表示(例如,(视频)化身和/或虚拟扬声器)可以在位置和/或取向方面耦合到虚拟相机和/或虚拟麦克风,所述虚拟相机和/或虚拟麦克风可以定义在视觉和/或听觉上从其处向用户显现虚拟环境的位置和/或取向。此后,这样的位置也简称为“观看位置”,而这样的取向因此也简称为“观看取向”。
虚拟环境通常可以使用户感觉他们在一起处于同一物理环境中,尤其是当虚拟环境是沉浸式的并且还以沉浸式方式显现给用户时。例如,可以例如使用头戴式显示器(HMD)和头部跟踪以虚拟现实(VR)或增强现实(AR)向用户显现虚拟环境。然而,这不是必需的,因为虚拟环境也可以以常规方式显现,例如使用非HMD类型的显示器并通过使用除头部跟踪之外的其他输入形式(例如,使用触摸屏、鼠标等)。
可以以若干方式来构建虚拟环境,例如,将其构建为模拟现实世界维度并允许在虚拟环境中移动的3D模型。然而,创建3D模型需要大量时间和资源,如果目标是创建看起来逼真的3D模型则甚至需要更多。此外,显现复杂的3D模型可能要求很高,这可能会导致性能问题。
建立虚拟环境的至少一部分的另一种方式是使用全景或全向图像或视频来示出虚拟环境中的场景。这样的图像或视频可以是2D的(单视场)或3D的(立体的或有体积的),并且可以被显示在虚拟环境中的虚拟主体上,诸如球体内部。然后可以从在虚拟主体内或面向虚拟主体的视点显现虚拟环境,从而为用户提供由图像或视频捕获的场景的全景或全向视图。
为了易于解释,后文中还仅提及“图像”来代替“图像或视频”,要理解的是,视频是由图像的时间序列表示的,因此提及“图像”可以认为包括视频的图像,例如视频帧,除非另外指明。此外,术语“全向”应理解为提供场景的360°视图,而“全景”应理解为提供比人眼的视场(约水平上160°竖直上75°)更宽的视场。例如,全景图像可以提供场景的180° x 180°的视图。因此,全向图像是全景图像的一种类型。后文中仅提及全景图像。
由于全景图像通常是从物理世界中的特定点捕获的、或者是从虚拟世界中的特定点预显现的,因此这些图像可能仅向观看者提供场景的一个视角;通常无法在该场景中移动。然而,这样的图像可以仅仅是场景的照片,其可以提供场景的照片般真实的再现,从而有助于沉浸感,而创建这样的照片可能花费相对较少的精力。另外,例如使用虚拟主体在虚拟环境中显现这样的图像可能比显现相对逼真的3D模型的要求要低(得多)。若该图像是这样的逼真3D模型的预显现图像,则后一优点也适用,这例如是因为其显现可以离线地执行,而不是实时执行。
这样的照片般真实的环境的示例性用例可以是远程会议,其中用户可以在虚拟环境中具有固定位置,并且其中可以取决于用户的位置向每个用户示出会议室的不同全景图像。可以从例如在物理会议室中的物理世界中的特定的点捕获这些不同的全景图像中的每一个,所述特定的点可以匹配用户的特定的固定位置。由此,可以向用户传达出他们实际上在会议室中的印象。
然而,可能期望使得能够在使用全景图像来提供场景内的不同视角的虚拟环境内(例如,同一房间或相邻的房间或场所)实现有限的移动。一般而言,术语“场景”可以是指在物理上相连的空间,要理解的是,在物理上相连的空间可以包含隔断,诸如门、窗、墙等。
例如,可以使用户能够例如通过选择会议室中的空椅子来选择他/她在虚拟环境中的位置。作为选择的结果,不同的全景图像可以显示给该用户,即,从新选择的位置的视角示出会议室的那个全景图像可以显示给该用户。从技术视角来看,这可以对应于具有针对其的全景图像可用于显现的多个观看位置的虚拟环境。当用户选择了虚拟环境中的另一观看位置时,当前显示的全景图像可以切换为“新的”全景图像。
已知当在特定场景的全景图像之间进行切换时为用户提供转换感。这样的转换可以寻求模拟当在物理世界内从最初显示的(“第一”)全景图像的捕获点转换到随后显示的(“第二”)全景图像的捕获点时可能涉及到的移动。
例如,US20060132482A1描述了用于在计算机系统显示器上创建第一场景与第二场景之间的转换以模拟运动的方法和系统。该方法包括确定将第一场景映射到第二场景的变换。通过显示过渡图像来模拟场景之间的运动,所述过渡图像包括基于第一场景和第二场景中的过渡对象的过渡场景。过渡对象的显现根据所指定的过渡参数随着过渡图像的显示而演变。观看者从转换图像感受到场景的连通性。可以使用场景对的复杂网络当中的场景间转换来创建诸如城市景观之类的广阔区域的虚拟游览。
要注意的是,US20060132482A1可能使用了对术语“场景”的比本说明书更窄的解释,因为例如城市景观可以被认为是在物理上相连的空间,因此被认为是场景。
US20060132482A1的技术的缺点在于,它不足以适于用在多用户虚拟环境中。
发明内容
获得更适于多用户虚拟环境的当在相同或相连的场景的全景图像之间进行切换时向用户提供转换感的系统或方法将是有利的。
根据本发明的第一方面,可以提供一种用于显现多用户虚拟环境的处理器系统。
所述处理器系统可以包括:
- 通信接口;
- 用于访问以下内容的输入接口:
- 至少两个全景图像,所述全景图像中的每一个表示针对所述虚拟环境的不同的基于图像的背景;
- 元数据,其定义所述虚拟环境中的观看位置,当选择所述虚拟环境中的相应观看位置时要显现针对所述观看位置的相应全景图像;
- 处理器,其被配置成:
- 针对第一观看位置,显现第一全景图像;
- 响应于选择了第二观看位置,使用所述元数据来显现在所述虚拟环境中向第二观看位置的转换,并且在完成对转换的所述显现时,显现针对第二观看位置的第二全景图像;
- 使用所述元数据来生成指示向第二观看位置的转换的转换数据;
- 经由所述通信接口来输出所述转换数据,以使得显现所述多用户虚拟环境的至少一部分的另一处理器系统能够在所述另一处理器系统对所述虚拟环境的显现中建立向第二观看位置的转换的表示。
根据本发明的另一方面,可以提供一种用于显现多用户虚拟环境的计算机实现方法。
所述方法可以包括:
- 访问:
- 至少两个全景图像,所述全景图像中的每一个表示针对所述虚拟环境的不同的基于图像的背景;
- 元数据,其定义所述虚拟环境中的观看位置,当选择所述虚拟环境中的相应观看位置时要显现针对所述观看位置的相应全景图像;
- 针对第一观看位置,显现第一全景图像;
- 响应于选择了第二观看位置,使用所述元数据来显现在所述虚拟环境中向第二观看位置的转换,并且在完成对转换的所述显现时,显现针对第二观看位置的第二全景图像;
- 使用所述元数据来生成指示向第二观看位置的转换的转换数据;以及
- 输出所述转换数据,以使得显现所述多用户虚拟环境的至少一部分的远程实体能够在所述远程实体对所述虚拟环境的显现中建立向第二观看位置的转换的表示。
根据本发明的另一方面,可以提供一种用于显现多用户虚拟环境的处理器系统。
所述处理器系统可以包括:
- 通信接口;
- 处理器,其被配置成:
- 当显现所述虚拟环境的至少一部分时,显现所述虚拟环境中的第一观看位置的表示,另一处理器系统从第一观看位置显现所述虚拟环境;
- 经由所述通信接口接收转换数据,所述转换数据指示由所述另一处理器系统进行的向所述虚拟环境中的从其处显现所述虚拟环境的第二观看位置的转换;以及
- 使用所述转换数据来建立向所述虚拟环境中的第二观看位置的转换的表示。
根据本发明的另一方面,可以提供一种用于显现多用户虚拟环境的计算机实现方法。
所述方法可以包括:
- 显现虚拟环境的至少一部分,所述显现包括显现所述虚拟环境中的第一观看位置的表示,远程实体从第一观看位置显现所述虚拟环境;
- 接收转换数据,所述转换数据指示由所述远程实体进行的向所述虚拟环境中的从其处显现所述虚拟环境的第二观看位置的转换;以及
- 使用所述转换数据来建立向所述虚拟环境中的第二观看位置的转换的表示。
上述措施可以提供两种类型的处理器系统:可以被配置成生成和输出转换数据的第一处理器系统,以及可以被配置成接收和使用转换数据的第二处理器系统。两个处理器系统都可以表示用于多用户通信会话的客户端设备,所述多用户通信会话发生在虚拟环境中,所述虚拟环境例如具有在背景技术部分中介绍的类型。在一些实施例中,单个处理器系统可以具有单独针对每个处理器系统描述的所有限制。换言之,诸如单个客户端设备之类的单个处理器系统可以被配置成生成转换数据并将其输出到另一客户端设备,并且接收并使用来自另一客户端设备的转换数据。上面的内容也适用于包括用于使处理器系统执行任一方法的指令的计算机程序:在一些实施例中,计算机程序可以包括用于使单个处理器系统执行或使之能够执行每个方法的指令。
根据上述措施,第一处理器系统可以被配置成建立虚拟环境,该虚拟环境使用全景图像向用户提供在虚拟环境内的分立的观看位置处的场景的全景视图。为此目的,可以提供若干全景图像,它们可以表示场景内的不同捕获点。此类虚拟环境通常不支持自由移动。然而,第一处理器系统可以通过使得能够在观看位置之间、并因此在全景图像之间进行切换而使得能够在虚拟环境中移动。例如,可以从第一观看位置向用户(此后也称为“第一”用户)显现虚拟环境,其中可以向第一用户示出第一全景图像。响应于例如由第一用户进行的对第二观看位置的选择、或者由第一处理器系统或另一实体例如在事件之后通过自动选择进行的对第二观看位置的选择,可以从第二观看位置向第一用户显现虚拟环境,其中可以向第一用户示出第二全景图像。
然而,该切换可能被第一用户经历为“跳变”,例如,不具有转换的全景图像之间的突然改变。即,向另一全景图像的转换可以表示向场景中的另一观看位置的突然转换。附加地或替换地,由于可以从使用场景内的不同捕获取向来捕获这两个全景图像,因此用户的观看取向可以相对于场景改变。例如,在包含桌子的场景中,并且其中全景图像从桌子旁的不同座位位置描绘场景,向表示桌子对面的观看位置的另一全景图像的转换可以使用户相对于场景的观看取向改变约180度。这可能会提供不自然的体验,这可能会降低第一用户的沉浸感。照此,在显示第二全景图像之前,第一处理器系统可以例如以动画的形式显现从第一全景图像向第二全景图像的转换,该动画向用户传达从第一全景图像的捕获点向第二全景图像的捕获点移动的感觉。全景图像之间的这样的转换本身是已知的。
然而,在多用户虚拟环境的情况下,该转换通常仅可以显现给第一用户,而虚拟环境中的其他用户可能不知道第一用户所经历的转换。例如,可能不向将第二处理器系统用作多用户虚拟环境的客户端设备的第二用户示出全景图像之间的转换,例如,因为他/她维持他/她在多用户虚拟环境中的观看位置。呈现给第一用户的转换因此可以不传达给第二用户。可以想象,如果在多用户虚拟环境中实现对观看位置改变的信号传递,则第二用户将会看到第一用户在虚拟环境中的表示(诸如化身)在转换完成之后简单地“跳”到第二观看位置。这可能会向第二用户提供不自然的体验,这可能会降低第二用户的沉浸感和/或可能引起第二用户的困惑。
上述措施可以例如通过在将全景图像之间的转换呈现给第一用户的同时使第一用户在虚拟环境中的表示(诸如化身)沿着虚拟环境中的轨迹移动来建立第一用户在虚拟环境中的转换的表示。尽管这样的移动轨迹既不是直接由分立的观看位置产生的也不是由转换本身产生的,但是可以建立类似的移动轨迹、或广义地转换的表示,其可以向第二用户传达第一用户正在经历转换。
为此目的,可以例如通过定义虚拟环境中的轨迹来生成可以指示被提供给该用户的转换的转换数据,所述轨迹模仿第一用户在虚拟环境中的转换期间所经历的物理移动。即,呈现给第一用户的转换可以模拟或以其他方式传达可能发生在相应全景图像的物理世界中的不同捕获位置之间的物理移动的感觉。这些不同的捕获位置可以在虚拟环境中由可以显示在其处的相应全景图像的不同的观看位置来表示,因为这些观看位置可能已经例如在虚拟环境的设计期间或在使用虚拟环境的应用的设计或执行时被预先选择成至少粗略地匹配不同的捕获位置。这样做的原因可以是一致性。例如,虚拟环境中的诸如图形对象、其他用户的化身、虚拟扬声器等的其他元素应优选地也在转换期间看起来移动,或者至少在完成对转换的显现之后相对于第一用户以与所经历的物理移动相匹配的方式重新定位。同样,在完成转换之后,应在与新全景图像一致的位置处示出第一用户在多用户虚拟环境中的表示,诸如化身。例如,如果第一用户选择了虚拟环境中的他/她预期更靠近会议室中的白板的观看位置,则应向他/她呈现从更靠近白板的视角示出会议室的全景图像,而且第二用户也应感知到第一用户的表示(例如化身)更靠近白板。
因此,可以至少部分地基于在虚拟环境中定义第二视点位置、并且通常还定义第一观看位置的元数据来生成指示向第二视点位置的转换的转换数据。然后可以经由诸如网络接口之类的通信接口输出转换数据,以使显现多用户虚拟环境的至少一部分的另一处理器系统(例如,上述第二处理器系统)能够在该另一处理器系统对虚拟环境的显现中建立向第二观看位置的转换的表示。例如,在全景图像之间的转换被呈现给第一用户的同时,第一用户的化身可以被示出为在虚拟环境中沿着虚拟环境中的轨迹移动。转换的这种视觉表示可以包括使第一用户的化身从第一观看位置移向第二观看位置,并且还可以包括旋转该化身以反映第一观看位置和第二观看位置之间的观看取向的改变。通过这样做,可以在不实际提供转换本身(例如从第一全景图像向第二全景图像的转换)的情况下向第二用户提供第一用户的转换感。从而,例如与第一用户的表示突然在虚拟环境中“跳”到第二观看位置相比,可以向第二用户提供更自然的体验,这可以维持或改善第二用户的沉浸感和/或可以避免第二用户的困惑。
在上文和下文中,术语“观看位置”可以意味着“分立的”观看位置,例如虚拟环境中的单个点,但是在某些情况下,其还对应于有限的观看区域。例如,在观看位置处,仍然可以允许用户有限的头部移动,而可能不支持走动或类似类型的移动,如在当前的有体积视频解决方案中的大部分情况那样。因此,“分立的”观看位置可以对应于主要观看位置,从该主要观看位置,仍然允许用户有限的头部移动。实际上,并非是支持在虚拟环境中的较大区域上的自由移动,可以在虚拟环境中定义分立的点或较小的不相连区域以表示虚拟环境中的可能的观看位置。
术语“用户的表示”可以包括诸如化身之类的视觉表示和/或诸如虚拟扬声器之类的听觉表示。
如还参考各实施例所阐明的,术语“转换的表示”可以涉及到使用第一用户的表示来表示转换,例如,例如通过移动第一用户的化身,但是也可以涉及到单独的表示,例如静态或动画化的箭头。
在一个实施例中,第一处理器系统的处理器可以被配置成将所述转换数据生成为包括以下中的至少一个:
- 至少定义第二观看位置的目的地数据;
- 定义从第一观看位置到第二观看位置的非线性轨迹的至少一部分的轨迹数据;
- 定义所述转换的时间持续时间的持续时间数据;以及
- 定义在转换期间或转换结束时的对虚拟环境的显现中使用的虚拟相机的取向的取向数据。
上述类型的数据可以使第二处理器系统能够更好地建立向第二观看位置的转换的表示,以匹配第一用户所经历的转换。例如,目的地数据可以允许第二处理器系统例如通过确定这两个观看位置之间的线性轨迹来建立从第一观看位置到第二观看位置的轨迹,第一观看位置本身可以是第二处理器系统已经知道的。轨迹数据则可以允许第一处理器系统确定轨迹的至少一部分,并且尤其可以允许第一处理器系统定义非线性轨迹,该非线性轨迹可以虑及关于(一个或多个)全景图像中示出的场景的信息和/或关于虚拟环境中的其他图形对象的信息。例如,如果第一观看位置和第二观看位置是沿着圆桌的观看位置,该圆桌要么是由全景图像成像的场景的一部分要么是单独的图形对象,则该轨迹可以被定义为弯曲的轨迹,其看起来像是沿着桌子的圆周,而不是可能看起来像是穿过桌子的一部分的直线轨迹。将领会的是,这样的非线性轨迹也可以由第二处理器系统基于目的地数据和类似类型的信息来确定。
持续时间数据可以允许第二处理器系统将在虚拟环境中提供第一用户的转换的表示或生成转换的表示的持续时间匹配至第一用户所经历的转换的长度。例如,如果第二处理器系统沿着移动轨迹移动第一用户的化身以便建立提供给第一用户的转换的表示,则可以确定该移动的速度,使得该移动轨迹在所述时间持续时间内完成,例如以匹配如第一用户所经历的转换的速度。另一示例为,如果轨迹的表示是在虚拟环境中从第一观看位置指向第二观看位置的静态或动画化的箭头,则可以提供该箭头达所述时间持续时间的长度。
取向数据可以允许第二处理器系统不仅模仿(借助于转换的表示)观看位置的改变,而且模仿观看取向的改变。这样的观看取向可以例如定义第一用户在虚拟环境中的视场,并且可以例如使用由HMD进行的头部跟踪基于用户输入来确定,但是在某些情况下,其也可以由所述系统来确定。例如,在由示出桌子的全景图像所示出的场景的上述示例中,当选择了在桌子的相对侧处的观看位置时,观看取向可以被重新设置为面向桌子中心的取向,以避免第一用户不得不手动操作地改变他/她的观看取向,例如通过在使用头部跟踪时转动他/她的头部和/或整个身体、或者通过使用另一种类型的用户输入设备。可以例如通过对虚拟环境中的化身的头部或定向虚拟扬声器进行重定向来在第一用户在虚拟环境中的表示中表示观看取向。相应地,可以在虚拟环境中使用该取向数据来表示在转换期间或转换之后的观看取向的这样的改变。
在一个实施例中,第一处理器系统的处理器可以被配置成将所述转换数据生成为包括定时数据,所述定时数据定义了所述处理器系统何时显现或被安排显现所述转换。这可以例如允许第一处理器系统安排转换,从而允许第一处理器系统恰好在实际转换发生之前将转换数据提供给第二处理器系统。这可以允许基本上同步地执行转换以及其在虚拟环境中的表示,而无需(除了基本上同步的时钟或用于定时数据的类似通用基础之外的)另外的同步机制。在没有这样的定时数据或另一同步机制的情况下,转换数据的接收可能会被视为第二处理器系统建立转换表示的指令,这进而可能需要第一处理器系统在特定的时刻发送转换数据。这可能较为复杂并且例如由于网络时延而易于发生通信延迟。
在一个实施例中,第一处理器系统的处理器可以被配置成在显现转换之前生成转换数据。因此,可以将转换数据作为转换的独立宣告(self-contained announcement)来提供,因为转换数据可以包含第二处理器系统随后在虚拟环境中建立转换的表示的所有必要数据。
在一个实施例中,第一处理器系统的处理器可以被配置成使用第一全景图像到第二全景图像的数学变换来显现所述转换。因此,可以将数学变换应用于这两个全景图像的图像数据,以创建模拟或以其他方式传达可能发生在相应全景图像的物理世界中的不同捕获位置之间的物理移动的感觉的转换。在一些实施例中,所述数学变换可以用于创建从第一全景图像到第二全景图像的过渡动画。例如,所述数学变换可以是球形图像变换,例如基于莫比乌斯变换的球形图像变换。此类数学变换的优点可以在于它们可以生成过渡动画,所述过渡动画在仅使用两个或类似地数量有限的全景图像作为输入的同时向用户传达一种移动感,而不是“跳”过场景。这样的过渡动画可能另外且传统上需要捕获并显示在场景中的这两个观看位置之间的中间位置处的一系列全景图像,这可能执行起来很复杂和/或可能需要大量数据存储。
在一个实施例中,第一处理器系统的处理器可以被配置成将转换数据生成为实时或接近实时的数据,其指示向第二观看位置的转换中的当前进度。并非是将转换数据作为独立数据提供给第二处理器系统,第一处理器系统可以替代地随时间将转换数据发送为一系列转换数据部分,其中所述数据部分中的发送时间、接收时间或时间戳指示向第二观看位置的转换中的当前进度。这可以避免第一处理器系统提供其他类型的定时信息的需要。在一些实施例中,第一处理器系统本身可以在向用户呈现转换之前确定从第一观看位置到第二观看位置的轨迹,并且通过在向第一用户呈现从第一全景图像向第二全景图像的转换的同时向第二处理器系统发送表示沿着该轨迹的中间观看位置的一系列坐标来用信号传递沿着该轨迹的进度。这样的中间观看位置可以由第一处理器系统通过沿着预定运动轨迹的基于时间的插值或跟踪来确定,或者在其他实施例中,可以由第二处理器系统来确定,或者这些可以是预先定义的。
在一个实施例中,转换数据可以包括定义转换的时间持续时间的持续时间数据,并且第二处理器系统的处理器可以被配置成将转换的表示建立为跨越该时间持续时间的动画或移动轨迹。例如,第一处理器系统可以经由转换数据来宣告呈现给第一用户的转换将花费800ms,这可以使第二处理器系统能够生成将在约800ms内完成的动画或移动轨迹。作为持续时间的补充或替换,转换数据可以包括第二处理器系统要以其来显现转换的速度的指示。可以以各种方式来定义速度,例如,使用与虚拟环境的坐标系相关联的量,或者以任何其他方式。
在一个实施例中,第二处理器系统的处理器可以被配置成将第一观看位置的表示建立为诸如化身之类的远程用户的视觉表示,并且将转换建立为远程用户的该视觉表示的移动轨迹。
在一个实施例中,第一处理器系统的处理器可以被配置成在显现转换期间使用户在虚拟环境中的当前观看位置逐渐移向第二观看位置,和/或将用户的当前观看取向从第一观看位置处的第一观看取向逐渐调整为第二观看位置处的第二观看取向。在此,术语“当前观看位置”和“当前观看取向”可以是指用于显现虚拟环境的虚拟环境中的虚拟相机的位置和取向。通过所述移动和/或调整,虚拟环境中的其他元素,诸如图形对象、其他用户的化身、虚拟扬声器等,可以在转换期间以与所经历的物理移动相匹配的方式逐渐调整其位置。
在一些实施例中,可以例如通过物理场景中的不同相机或可移动相机来按需生成场景的全景图像。一般而言,“访问至少两个全景图像”可以理解为包括对这样的全景图像的按时间顺序的访问,因为仅在选择了第二观看位置时第二全景图像才可以生成和/或才可访问。在一些实施例中,可以通过在第一捕获位置和第二捕获位置之间移动的可移动相机的视频馈送来提供或表示在全景图像之间显现的转换。在一些实施例中,全景图像可以例如由服务器或其他实体按需显现,并然后由第一处理器系统访问。
在本发明的另一方面中,可以提供包括转换数据的暂时性或非暂时性计算机可读介质。所述转换数据可以定义在由处理器系统对多用户虚拟环境的显现中向虚拟环境中的观看位置的转换。
在一个实施例中,所述转换数据可以包括以下中的至少一个:
- 至少定义所述观看位置的目的地数据;
- 定义从第一观看位置到第二观看位置的非线性轨迹的至少一部分的轨迹数据;
- 定义所述转换的时间持续时间的持续时间数据;以及
- 定义在所述转换期间或所述转换结束时的对虚拟环境的显现中使用的虚拟相机的取向的取向数据。
本领域技术人员将领会的是,可以以认为有用的任何方式来组合本发明的上述实施例、实现和/或方面中的两个或更多个。
本领域技术人员可以基于本说明书来实现与针对所述实体中的另一个描述的修改和变型相对应的对(一个或多个)方法、(一个或多个)处理器系统、转换数据和/或(一个或多个)计算机程序的修改和变型。
附图说明
从后文描述的实施例,本发明的这些和其他方面是显而易见的,并且将参考后文描述的实施例来阐明它们。在附图中,
图1示出了全景图像,在该示例中,使用等矩形投影或映射将所述全景图像映射为矩形图像格式;
图2示出了虚拟环境的示意性的自上向下的视图,其中全景图像显示在球体内部,其中用户由虚拟环境中的化身来表示,并且其中使用虚拟相机将包含化身的虚拟环境显现给相应用户;
图3A例示了虚拟环境,该虚拟环境具有针对其有不同的全景图像可用的多个观看位置,并且用户在其中从针对其显示第一全景图像的第一观看位置切换到针对其显示第二全景图像的第二观看位置,其中向用户示出了向第二全景图像的转换;
图3B示出了处于第二观看位置的用户;
图4A示出了第一全景图像;
图4B示出了向第二全景图像的转换的快照;
图4C示出了第二全景图像;
图5A例示了用户的化身的移动,其可以使用转换数据作为转换的视觉表示来生成;
图5B例示了箭头的动画,其可以使用转换数据作为转换的视觉表示来生成;
图6示出了从转换用户的处理器系统到观察用户的处理器系统的消息传递;
图7示出了转换数据的示例;
图8示出了两个处理器系统之间的数据通信,每个处理器系统被配置成显现具有针对其有不同的全景图像可用的多个观看位置的虚拟环境,并且被配置成使用从另一处理器系统接收的转换数据来显现由另一处理器系统显现的全景图像之间的转换的视觉表示;
图9示出了图8的处理器系统的内部功能的示意性概览,并示出了连接到所述处理器系统的外围设备;
图10示出了用于显现多用户虚拟环境的至少一部分的处理器系统,该处理器系统被配置用于生成或使用转换数据;
图11示出了用于显现全景图像之间的转换并且用于生成指示所述转换的转换数据的方法;
图12示出了用于使用转换数据来显现全景图像之间的转换的视觉表示的方法;
图13示出了包括非暂时性数据的计算机可读介质;
图14示出了示例性数据处理系统。
应指出的是,在不同的图中具有相同参考标号的项具有相同的结构特征和相同的功能或者是相同的信号。在已解释了这样的项的功能和/或结构的情况下,没有必要在详细描述中对其进行重复解释。
附图标记和缩写列表
提供附图标记和缩写的以下列表以用于促进对附图的解释,而不应将其解读为限制权利要求。
100 全景图像
200 虚拟环境
202 显示在球体内部的全景图像
210、212 用户的表示
220 观看位置
230 虚拟相机
240 虚拟相机的视场
300 虚拟环境
310至314 用户的表示(化身)
310 正在转换的用户的表示
320至324 观看位置
320 第一观看位置
330 向第二观看位置的切换
340 第二观看位置
350 对象(桌子)
360 对象(显示器)
370 作为转换的视觉表示的用户移动
380、382 作为转换的视觉表示的动画化的对象(箭头)
400 第一全景图像
410 向第二全景图像的转换的快照
412 转换中的边界
420 第二全景图像
500 转换用户
502 观察用户
510 接收触发
520 构建消息
530 发送消息
540 执行转换
550 接收消息
560 执行转换
600、602 处理器系统
610、612 控制器
620、622 捕获
630、632 显现
640、642 传送
650、652 转换数据
660、662 RGB(D)相机
670、672 (一个或多个)输入设备
680、682 VR HMD
685、687 显示数据
690 网络
700 处理器系统
710 通信接口
720 输入接口
725 数据存储
730 处理器
740 显示输出
742 显示数据
745 显示器
800 用于显现转换的方法
810 访问全景图像、元数据
820 显现第一全景图像
830 生成转换数据
840 输出转换数据
850 显现向第二全景图像的转换
860 用于显现转换的表示的方法
870 显现第一观看位置的表示
880 接收转换数据
890 显现向第二观看位置的转换的表示
900 计算机可读介质
910 非暂时性数据
1000 示例性数据处理系统
1002 处理器
1004 存储器元件
1006 系统总线
1008 本地存储器
1010 大容量存储设备
1012 输入设备
1014 输出设备
1016 网络适配器
1018 应用。
具体实施方式
以下实施例涉及显现多用户虚拟环境,针对其有场景的多个全景图像可用,并且其中全景图像可以用作针对虚拟环境中的不同观看位置的基于图像的背景。在此,术语“可用”通常可以是指所述全景图像先前已被生成并且其图像数据可访问。然而,在一些实施例中,可以例如通过场景中的不同相机或通过可移动相机来按需生成这样的全景图像。如在背景技术部分中还指出的那样,术语“图像”应理解为等同地适用于视频帧,并且术语“全景”包括“全向”。
多用户虚拟环境的特定示例是基于“Social VR”的虚拟环境,其中多个用户可以使用头戴式显示器(HMD)和相机来参与远程会议,并且其中可以通过示出其相机的视频捕获的所谓的视频化身来表示用户。
然而,在本说明书中描述的技术也可以适用于其中全景图像被用作针对虚拟环境中的不同观看位置的基于图像的背景的所有其他多用户虚拟环境。一个非限制性示例是这样的多用户虚拟环境:使用非头戴式显示器、例如使用智能手机或平板电脑的内置显示器或使用电视或计算机监视器来进行体验,并且其中以并非基于视频的化身来表示用户,例如将用户表示为图形对象,或者在虚拟环境内可能仅具有听觉表示,例如以虚拟扬声器的形式。
图1示出了从会议室内获取的全景图像100,其中,所得到的图像100提供了从会议室内的360度视图。由全景图像100成像的房间被示出为包括墙壁、门、桌子与椅子、用于展示的显示器等。通常,由全景图像示出的视场是球形的,但其可以借助于投影而表示在矩形图像画布内。全景图像100被示出为使用等矩形投影来进行投影。也可以使用其他投影,诸如天空盒投影(也称为立方体贴图)。
经常是在虚拟现实中观看全景图像。虚拟现实(VR)通常涉及到使用计算机技术来模拟用户在虚拟现实环境(此后也简称为“虚拟环境”)中的物理存在。通常,VR显现设备利用头戴式显示器(HMD)向用户显现虚拟环境,但是也可以使用其他类型的VR显示器和显现技术,包括但不限于全息摄影术和洞穴状自动虚拟环境(递归首字母缩写为CAVE)。
通常,显现全景图像可以涉及到在虚拟主体的表面上——诸如在球体、半球体、立方体、盒子或任何其他几何图元的内部上——显示全景图像的图像数据,以及从在虚拟主体内或面向虚拟主体的视点来显现全景图像。在此,虚拟主体可以是几何结构,其例如可以由一组坐标或者一个或多个参数(诸如定义球体尺寸的半径)或者表示虚拟主体的网格来定义,并且其可以由于并不显式地显现该主体而是将其用作图像数据的显示表面而是“虚拟的”。因此,虚拟主体本身通常是不可见的,可能的例外是显现伪影。为了在虚拟主体上显示(一个或多个)图像,可以使用投影。这样的投影可以涉及到从(一个或多个)图像的通常矩形的坐标到与虚拟主体相关联的坐标系的坐标映射。例如,如果虚拟主体是球体并且与球形坐标系相关联,则坐标映射可以将来自(一个或多个)图像的矩形坐标系的坐标映射到球形坐标系,或者反之亦然。VR中的全景图像的上述显示本身是已知的,例如从VR中的所谓的“Photo Sphere Viewer(照片球体观看器)”应用。
图2至3B示出了另一应用的示例,其中全景图像(诸如图1的这个全景图像)用作多用户虚拟环境200中的多用户通信会话的“背景幕”。图2示意性地示出了显示在球体202的内部上的图1的全景图像。多用户通信会话中的参与者(此后也简称为“用户”)可以由虚拟环境内的化身210、212来表示,同时例如使用麦克风和扬声器经由语音、并可能通过非口头交流来进行交流。在此,术语“化身”是指用户在虚拟环境200内的视觉表示,其可以包括如真实或虚构的人、真实或抽象的对象等的表示。这样的表示可以是基于图像的,例如通过示出用户的图像或视频或者由用户的图像或视频构成的化身、或者基于计算机图形的化身、或者二者的组合。在某些情况下,用户可能不会在视觉上表示在虚拟环境中,而仅在听觉上将用户表示为放送他/她的所捕获的语音的虚拟扬声器。
图2示出了这样的化身中的两个210、212,其被置于虚拟环境200内,并且具体地置于全景图像被投影于其上的球体202内。因此,所成像的会议室可以为通信会话提供基于图像的背景幕。然后可以将虚拟环境200显现并显示给用户中的一个或多个。这样的视觉显现可以从用户的化身的视角发生。这在图2中由虚拟相机230示意性地示出,虚拟相机230表示被覆盖在其化身210上的用户之一的观看位置和观看取向。相机240的视场可以对应于例如使用HMD向用户示出的视场。虚拟相机230的取向可以由用户例如基于对用户的头部或HMD的所谓的三自由度(DoF)跟踪来控制,从而允许用户在虚拟环境200中自由地环顾四周。
虚拟环境200可以提供针对其有不同的全景图像可以可用于显现的多个观看位置。为此目的,可以在场景内的不同捕获位置获取多个全景图像。例如,可以从会议室中的每个椅子的视角获取全景图像,而附加地,从处于显示器前方的展示者的视角获取全景图像。当用户选择了虚拟环境200中的另一观看位置、例如以虚拟地切换椅子或从就座位置移向展示者位置时,或者当为用户选择了这样的其他观看位置时,于是当前显示的全景图像可以切换为适当的全景图像。图2示出了为化身210的用户显示图1的全景图像,化身210位于虚拟环境200内的特定观看位置220处。观看位置可以是虚拟环境200中的单个点,但是也可以作为有限的观看区域220,例如,这反映了虚拟环境200可以允许用户有限的头部移动,但可能不支持走动或类似类型的移动。
图3A至3B例示了具有针对其有不同的全景图像可以可用的多个观看位置的虚拟环境300。以与图2的虚拟环境200不同的方式示出虚拟环境300,但是其在某些方面可能类似,因为示出了虚拟环境的自上向下的视图,该视图包括用户1至3的化身310至314。图3A至3B还示出了虚拟环境300内沿着X轴和Y轴的XY位置以及多个观看位置320至324。针对每个观看位置320至324,诸如上述会议室之类的场景的不同全景图像可以可用于显示。图3A利用其各自的化身310至314示出了处于不同观看位置320至324的每个用户1至3。因此,也如参考图2和别处所解释的,可以向每个用户1至3提供反映其在虚拟环境300中的不同观看位置的场景的不同全景图像。与图2不同,图3A至3B并未示出全景图像本身,也未示出全景图像被显示于其上的虚拟主体。虚拟环境300还可以包括诸如桌子350和显示器360之类的对象。桌子350和显示器360可以表示虚拟环境300中的3D图形对象,但是也可以表示由全景图像本身成像但是可以被用户感知为放置在虚拟环境300内的对象。
图3A还例示了用户1在虚拟环境300中从第一观看位置320向第二观看位置340的切换330,而图3B示出了切换330的结果,即,用户1位于第二观看位置340处。将领会的是,用户1的这样的切换可以对应于用户的表示(例如,化身310、虚拟扬声器)和定义用户的虚拟环境显现的虚拟实体(例如,虚拟相机、虚拟麦克风)到第二观看位置的重定位,但在后文和别处,所述切换可以简称为用户本身的切换或“转换”。在第二观看位置340处,用户1可以被示出与在第一观看位置320处不同的全景图像。例如,第一观看位置320可以对应于桌子350处的就座位置,针对该位置,可以从椅子的视角向用户1呈现全景图像,而第二观看位置340可以对应于显示器360处的展示者位置,针对该位置,可以从站立的展示者的视角向用户1呈现全景图像。在后文和别处,“原始”观看位置和相关联的全景图像可以用前缀“第一”来简单指代,并且“目的地”观看位置和相关联的全景图像可以用前缀“第二”来简单指代。如在别处解释的,这样的转换可以由用户发起,例如通过用户的选择,或者以任何其他方式,例如由处理器系统响应于事件自动地发起、由另一用户发起、等等。
尽管未在图3A至3B本身中示出,但是为了避免向用户1呈现全景图像之间的突然改变、从而避免其体验到在场景内感知到的位置以及可能的取向的突然改变,可以显现向第二观看位置的转换。例如,这样的转换可以使用第一全景图像到第二全景图像的数学变换,诸如基于莫比乌斯变换的球形图像变换。在图4A至4C中例示了这样的转换,其中图4A示出了第一全景图像400,图4B示出了向第二全景图像的转换410的快照,其中在全景图像之间可见边界412,并且图4C示出了第二全景图像420。在转换410期间,边界412可以移动以转换向第二全景图像,例如如参考“动画化转换”进一步解释的那样。要注意的是,全景图像之间的这样的转换在虚拟环境本身中可能没有类似的概念。即,尽管图3A中的箭头330可以暗示切换330是朝向第二观看位置340的“移动”的形式,但是显现给用户的转换在虚拟环境中可能不具有这样的类似的概念。例如,如果将莫比乌斯变换应用于这两个全景图像的图像数据,则如箭头330所暗示的移动既不是直接由分立的观看位置产生的,也不是由转换本身产生的。
代替使用基于莫比乌斯变换的球形图像变换,还可以使用其他球形图像变换来在源图像(诸如第一全景图像)和目标图像(诸如第二全景图像)之间进行转换。这样的变换的一个示例是球形图像的缩放。如由[1](请参见本说明书结尾处的“参考文献”)所述,可以如下执行球形图像的缩放:使用
Figure 857556DEST_PATH_IMAGE001
中的形式为
Figure 406349DEST_PATH_IMAGE002
的变换,其中
Figure 963232DEST_PATH_IMAGE003
Figure 964686DEST_PATH_IMAGE004
p > 0,
Figure 163586DEST_PATH_IMAGE005
,其中p类似于缩放因子。可以使用逆ERP投影从等矩形投影(ERP)图像获得球体上的点。从球体上的该点,可以使用众所周知的转换技术[1、2]来获得角坐标
Figure 691519DEST_PATH_IMAGE006
。此定义可以将缩放位置的中心置于φ=0θ=0,而针对不同的位置,可以将角中心模转换(translate modulo)为角球体尺寸(例如,针对φ为2π并且针对θ为π)。然后可以使用
Figure 419304DEST_PATH_IMAGE007
Figure 173633DEST_PATH_IMAGE008
来将这些角坐标映射到复平面上。接下来,可以使用针对p的期望的值来基于上述变换方程构建缩放函数。然后可以将该函数应用于z 1z 2以获得z 1 'z 2 '。为了将新获取的值映射回源图像,可以通过确定z 1 'z 2 '的辐角来将其映射回球形角,从而获得φ'θ'。使用ERP投影,可以获得原始ERP图像上的(新的非分立的)位置。从该位置,可以对该图像进行成像以获得起始点的颜色值。上述内容可以用于对从源图像朝向目标图像的转换进行动画化,这可以在两个初始状态下执行:
1. 这两个图像都已经可以可见,并且目标图像可以仅部分可见并占据了源图像中的有限的区域。
2. 源图像中可以有“洞”,该洞在动画化期间可以增大,直到不再呈现源图像为止。目标图像可以直接在该洞后方(如同其就是该洞本身)可见。该洞可以有效地为用户创建通往场景中的第二观看位置的门户的外观。
在第一状态中,源图像和目标图像可以具有一些起始值p,称为p s,i p t,i ,其具有如上相同的约束。示例赋值如下:p s,i = 1,p t,i = 4,其中目标图像可以占据其未缩放状态下的图像数据量的四倍数据量,因此可以被显示为如同其被缩小了一样。为了在不重复的情况下显示目标图像,可能需要占据球体表面在任何方向上的整个球体的至多
Figure 645066DEST_PATH_IMAGE009
的角尺寸(例如,源球体上距目标图像中心
Figure 168451DEST_PATH_IMAGE010
的角距离)。可以使用动画函数a(t)来执行转换动画,该函数a(t)在动画持续时间d上进行p值的插值。可以将a(t)定义为对应于p t 在时间t处的值。在该示例中,可以有a(0) = 4并且a(d) = 1。在动画期间,可以定义
Figure 332716DEST_PATH_IMAGE011
,从而保持缩放比相等。当p t 的值改变时,其距中心的最大可见角距离的大小也可能改变。在动画期间,该值可以等于
Figure 433396DEST_PATH_IMAGE012
。在显现源图像和目标图像时,应当首先显现或可以首先显现源图像,而目标图像在其最大角距离上覆盖源图像。针对第二状态,可以通过针对p t,i 选取较高的值使得用户无法察觉到目标图像的存在(例如,通过选取用户的显示器上不可见的区域)来实现该动画。然后,用于缩放的过程是相同的。在又一实施例中,该“洞”可以采用任何形状,并且可以被提供为到莫比乌斯变换缩放函数(例如,不是
Figure 708520DEST_PATH_IMAGE002
的形式)的输入,如图4A至4C中进行的,其中边界412可以表示该洞的边界并在该洞增大时移动。
一般而言,当将从全景视频采样的全景图像用作源球体和目标球体时,源图像和目标图像可以(并且优选地)被选择成使得其时间线是同步的。
当使用多层球形图像时,可以通过从缩小的目标图像开始获得转换效果。可以通过同步所有层上的缩放操作来构建动画。某一特定层上的每个图像(源图像在顶层)都可以具有透明的切口,在该处可以看到下一层上的图像。根据定义,可以使用无限数量的层,但是考虑到计算能力的限制,可以将层的数量限制为预设数量或动态数量。
为了使另一用户(后文也简称为“观察用户”)能够感知到用户切换到另一观看位置(后文也简称为“转换用户”),可以生成转换数据,所述转换数据可以指示由转换用户向第二观看位置的切换,并且其可以使观察用户的处理器系统能够在所述处理器系统进行的对虚拟环境的显现中建立该转换用户向第二观看位置的转换的表示。
还参考图7等进一步讨论转换数据,而图6和图8至图10等描述了这样的转换数据如何由第一处理器系统(例如,转换用户的处理器系统)生成并传输给第二处理器系统(例如,观察用户的处理器系统)并随后由其来使用。后文也包括对图3A至3B示例的继续参考。
一般而言,转换可以使用一个或多个数学函数,其可以用球形和/或笛卡尔坐标系来表达。可以使用这样的函数创建的效果的示例是全景图像的旋转、拉伸和/或缩放。可以选择或组合这样的效果,以向转换用户传达在全景图像之间进行转换的印象。假设图像通常由分立的多个像素来表示,则这样的变换可能会缺少连续球形域中的图像数据,可以通过插值或平滑算法来解决这一点。在更抽象的层面上,全景图像之间的变换可以定义为从2D图像到新2D图像的映射,其可以包括到2D连续球形域、3D空间并返回到分立图像域的多个单独映射。应用于全向图像的专门变换种类是在2D复空间中发生的变换和莫比乌斯变换。
图像变换可能非常适合于实现动画,因为可以根据时间来确定变换进度。这样的图像变换的示例是淡入淡出效果,从第二全景图像逐渐采样像素,模糊,展开第二全景图像,或这些效果的组合。也可以使用两个以上的全景图像作为到数学变换的输入。例如,可以生成经由中间全景图像向第二全景图像的转换。
图5A至5B示出了第二处理器系统可以如何在虚拟环境中建立转换用户向第二观看位置的转换的表示的两个示例。在这两个图中,竖直轴对应于时间轴,其中T=0可以对应于特定的时刻,并且T=D可以对应于已经流逝了D的值所表示的时间量的较晚的时刻。例如,D的值可以至少粗略地对应于显现给转换用户的转换的时间持续时间。一个具体但任意的示例可以是D可以为800毫秒。图5A至5B还示出了虚拟环境中的转换用户的化身310、第一观看位置320和第二观看位置340。图5A示出了可以如何在虚拟环境中表示要可由观察用户感知到的转换用户的转换的第一示例。即,转换用户的化身310被示出为沿着移动轨迹370从第一观看位置320移向第二观看位置340。由于转换数据可以至少指示第二观看位置340,因此可以以各种方式从转换数据确定这样的移动轨迹370。例如,可以通过在第一观看位置和第二观看位置的坐标之间按照时间进行线性插值来将移动轨迹370确定为化身310的一系列中间位置。确定移动轨迹的各种其他方式同样是可能的,并且可以在类型(例如线性或非线性)、定义(例如被预定义为一系列坐标,或者由“高级”参数来定义,所述“高级”参数诸如定义轨迹的函数的参数)等方面有所不同。
图5B示出了第二处理器系统可以如何在虚拟环境中建立转换用户向第二观看位置的转换的表示的另一示例。即,在该示例中,示出了动画化的箭头380、382,所述动画化的箭头380、382指向第二观看位置340的方向并且其长度增大以传达向第二观看位置的转换的进度。同样可设想各种其他动画,并且可以使用其他动画来代替或增补转换用户的化身310的移动。
图6示出了从转换用户500的(第一)处理器系统到观察用户502的(第二)处理器系统的消息传递,除了处理器系统本身未在图6中而是在图8和图9中示出。在此,在左手侧示出在转换用户的处理器系统处执行的步骤(“转换用户”,参考标号500),并且在右手侧示出在观察用户的处理器系统处执行的步骤(“观察用户”,参考标号502)。消息传递可以是基于在步骤510“接收触发”中接收到的触发,该触发可以例如是用户输入或定时器。通过该触发,可以确定目的地,该目的地是第二观看位置以及可能的第二观看位置处的观看取向。然后可以在步骤520“构建消息”中构建消息,该消息可以指示转换,因为它可以至少指示第二观看位置。实际上,该消息可以包括或表示在别处称为“转换数据”的内容。然后可以在步骤530“发送消息”中将该消息传输给观察用户502的处理器系统,并且如果存在多个观察用户,则传输给多个这样的处理器系统。在观察用户502一侧,可以在步骤550“接收消息”中接收该消息。在这两侧,例如在转换用户500和观察用户502处,转换可以在相应的步骤540、560“执行转换”中执行。在转换用户500一侧,这可以包括显现该转换,例如作为全景图像之间的莫比乌斯变换。在观察用户502一侧,这可以包括使用接收到的消息中包含的信息来在虚拟环境中显现该转换的视觉表示。可以例如通过存在显式同步机制来使这样的执行同步。在一些实施例中,例如,在各用户500、502的处理器系统之间几乎没有时延的情况下,可能不需要同步机制,取而代之的是,在步骤550处的消息接收可以指示可以直接执行该转换。
如前所述,在步骤540处的转换的执行可以包括显现例如使用莫比乌斯变换的从一个全景图像向第二全景图像的转换。在一些实施例中,视觉环境的音频显现和/或虚拟环境中其他元素的视觉显现可以与转换用户所经历的转换相匹配。在此,“其他”可以是指除(一个或多个)全景图像之外的元素,并且可以包括图形对象、其他用户的化身等。音频显现可以包括显现空间音频源,诸如表示其他用户的虚拟扬声器。可以通过根据移动轨迹来调整转换用户的观看位置和/或观看取向来执行所述匹配,所述移动轨迹可以被确定为表示转换用户所经历的转换。该移动轨迹可以是与观察用户的处理器系统可以用来显现转换的视觉表示的移动轨迹相同的移动轨迹,并且可以以相同或类似的方式例如基于转换数据或类似数据来确定。然后,可以使用调整后的观看位置和/或调整后的观看取向来将虚拟环境的听觉和视觉部分显现给转换用户,其中视觉部分可以显现为对转换本身的显现的覆盖。
在别处也描述了步骤560处的转换的执行。在特定示例中,可以通过视频化身、例如通过虚拟环境中的平面上的视频来表示转换用户。为了显现转换用户向目的地观看位置的转换的视觉表示,可以在虚拟环境中移动该平面并旋转该平面以保持其面向观察用户。
共同参考图3A至3B和图6,在步骤530处发送的消息可以例如指示用户1可以从一个坐标移动到另一坐标,例如从(-2, -2)移动到(1, -3),或至少包含目标坐标,例如(1, -3)。这样的坐标可以以各种方式来表达,例如直接在虚拟环境的坐标系中或在已知其与虚拟环境的坐标系的关系的另一坐标系中。在移动时,用户1的观看取向也可以改变,例如,因为可能期望让就座的用户面向显示器360并且让进行展示的用户面向就座的用户。在图3A至3B的示例中,用户1在第一观看位置320中可以具有80度的观看取向,在重定位至第二观看位置340时,其观看取向可以变为320度。在这方面,要注意的是,观看位置和观看取向可以被表达为用于3D虚拟环境的3D向量,或者以任何其他合适的方式。
继续参考图3A至3B,该转换可能花费一定的持续时间(诸如3秒)来完成。对于观察用户来说,可能期望显现这样的转换的视觉表示:其与该转换被显现给转换用户近乎同时地开始和结束,从而具有近似相同的长度。例如,转换用户的化身310可以沿着移动轨迹移动,其中,在这3秒期间持续地或至少周期性地调整化身310的位置以及在一些实施例中的化身的身体(和/或化身的头部)的取向。在一些实施例中,例如在化身是所谓的视频化身的那些实施例中,化身的视频平面可以被调整为持续面向观察用户。要注意的是,尽管向转换用户呈现该转换,但是转换用户的观看位置和/或观看取向也可以根据移动轨迹来调整,例如以将虚拟环境中的其他元素逐渐地调整为当用户采用第二观看位置和可能的第二观看取向时其在虚拟环境中的预期位置。
当使用诸如图3A至3B之一的坐标系时,可以通过插值来计算中间观看位置和观看取向。这样可以确定,在转换持续时间的1/3处(例如1秒处),观看位置(X, Y)和观看取向(例如
Figure 86412DEST_PATH_IMAGE013
)可以表达为向量(X,Y,
Figure 421578DEST_PATH_IMAGE014
)=(-1,-2.33,40°),这是基于:沿X轴的重定位为从-2到1,因此为+3个单位,因此等于每秒1个单位;在Y轴上是从-2到-3,因此-1个单位,因此等于每秒-0.33个单位;并且取向是从80°变为320°(逆时针),因此等于每秒改变40°。同样,可以计算出在转换持续时间的2/3处(例如在2秒处),(X,Y,
Figure 884920DEST_PATH_IMAGE014
)=(0,-2.66,0°)。
图7示出了转换数据650、652的示例,其在图8和图9中也由相同的参考标号来指代,并且可以例如被格式化成所谓的JSON格式。在该示例中并且一般而言,转换数据可以包括用户标识符(例如,“用户ID”),其可以标识转换用户并且可以采用各种形式,诸如索引(例如,“3”)或唯一字符串。将领会的是,在只有两个用户的情况下,可以省略用户标识符。转换数据还可以包括目的地观看位置的指示(例如,“目的地”),其可以采用各种形式,诸如坐标或一组预定观看位置的索引(例如,“5”)。在前一种情况下,可以假定坐标系是已知的并且在所有各方之间共享。在后一种情况下,可以假定该组预定观看位置是已知的并且在所有各方之间共享。转换数据还可以包括定义转换用户在转换结束时的观看取向的取向(例如,“取向”)。该取向可以与转换用户有关,或更具体地,与其化身有关,并且可以指示或定义化身本身的取向(例如,当看向正前方时)。在这方面,要注意的是,化身的头部相对于其身体的取向可以被描述为可以单独进行指示或定义的旋转。在一些实施例中,转换数据可以定义一系列取向,这些取向定义化身在转换期间的取向。
转换数据还可以包括在其处安排显现该转换的时间指示(例如,“时间”)。这可以指示要何时与转换本身(近似)同步地显现转换的视觉表示。提供时间指示的可能方式可以包括以下方式。例如,值“立即”可以尽快执行转换,如果在转换数据中不包括时间指示,则该值也可以是默认值或行为。例如“2018-09-31 17:00:01.200Z”的时间戳可以在指定的时间执行转换,并且当在转换用户的处理器系统和观察用户的处理器系统之间使用同步时钟时,这可能非常适用。时间偏移量可以在指定的时间(例如几毫秒)后执行转换。这可以用在可以经由其来发送转换数据的网络的时延已知或可以测量或可以估计时。要注意的是,可以在考虑到网络时延的情况下安排转换,使得接收转换数据的每个实体可以适时地显现转换的视觉表示。转换数据还可以包括持续时间(例如,“持续时间”),其可以指示转换的持续时间(例如,“500”,其可以表示500ms)。转换数据还可以包括定义定时功能的参数(例如,“释放(easing)”),其可以指示转换的视觉表示的显现速度要如何在持续时间内变化。可能的值的示例是“线性”、“缓入”、“缓出”、“缓入缓出”和“逐步”。一般而言,转换数据可以包括目的地观看位置的指示以及以上参数中的一个或多个。
图8至10涉及转换用户的处理器系统和/或观察用户的处理器系统。在下文中,这两个处理器系统都被描述为处理器系统的实例,其包括在别处参考转换用户的处理器系统和观察用户的处理器系统描述的功能性。因此,当用户的角色改变、例如从转换用户变为正向另一观看位置转换的另一用户的观察用户时,可以例如从针对转换用户的处理器系统描述的功能性中调用处理器系统的不同功能性用于针对观察用户的处理器系统描述的功能性。然而,上述内容不是限制,因为在一些实施例中,这两个处理器系统可以被不同地配置。例如,可能不需要将观察用户的处理器系统配置成显现全景图像和/或全景图像之间的转换,而是基于接收到的转换数据来显现转换的表示可能就足够了。
图8示出了处理器系统600和处理器系统602之间的数据通信。每个处理器系统600、602可以被配置成显现全景图像之间的转换,并且生成并输出指示所述转换的转换数据650、652,并且在接收到这样的转换数据650、652时在虚拟环境中显现这样的转换的视觉表示。在图8的示例中,这两个处理器系统600、602都被示出为以VR向用户显现虚拟环境,即通过生成显示数据685、687并将其输出至HMD 680、682。这两个处理器系统600、602都被示出为经由诸如互联网、局域网(LAN)或个域网(PAN)(例如使用蓝牙或Zigbee连接)之类的网络690彼此通信。替换地,可以使用另一通信接口,诸如串行总线。
图9示出了图8的处理器系统600、602的内部功能的示意性概览,并且示出了可以连接到处理器系统的外围设备。要注意的是,图9示出了处理器系统600、602彼此直接通信。当涉及到更多的处理器系统时,例如作为多用户虚拟环境的客户端,可以使用协调器或消息代理服务器来应对或协调这样的客户端之间的通信。在每个处理器系统600、602中,可以提供控制器610、612以例如经由输入设备670、672或经由定时器来接收转换触发。控制器610、612可以构建包含或表示转换数据的消息650、652,并且可以经由传送功能640、642将所述消息发送给另一处理器系统。控制器610、612还可以生成显现命令以便显现器630、632显现转换。继而,当经由传送功能640、642接收到这样的消息时,控制器610、612可以将转换数据转译成显现命令,以便显现器630、632显现该转换的视觉表示。此外,每个处理器系统600、602可以被配置成使用RGB(D)相机660、662和捕获器620、622来捕获用户的视频。这样的视频可以被处理,例如进行背景去除,然后例如作为视频流传输给另一处理器系统,以在虚拟环境中显示为例如视频化身。然后,每个用户可以例如使用VR HMD 680、682来观看包括另一用户的视频化身的虚拟环境,并且在一些实施例中,可以使用(一个或多个)输入设备670、672来手动控制虚拟环境或其显现的各方面。处理器系统600、602的每个功能,例如控制器610、612、捕获器620、622、显现器630、632以及传送功能640、642,可以由各自的硬件电路或软件功能来体现,例如,用于控制器的处理器、用于捕获器的捕获接口、用于显现器的图形处理器、以及用于传送功能的通信接口。替换地,可以如针对图10描述的那样实现这些功能。
图10示出了处理器系统700,其表示转换用户的处理器系统或观察用户的处理器系统或两者。处理器系统700被示出为包括处理器730,其可以例如通过硬件设计或软件而被配置成执行别处描述的关于以下的操作:i)显现转换并生成转换数据,或ii)使用转换数据来显现转换的表示,或二者。例如,处理器730可以由单个中央处理单元(CPU)来体现,但是也可以由这样的CPU和/或其他类型的处理单元(诸如图形处理单元(GPU))的组合或系统来体现。处理器系统700还被示出为包括用于访问数据存储725的输入接口720,数据存储725可以例如是内部存储器、硬盘、固态驱动器或其阵列,并且可以用于存储或缓冲诸如全景图像之类的数据。在其他实施例中,输入接口720可以是外部接口,诸如到外部数据存储的外部存储接口或网络接口。图10还将处理器系统700示出为包括通信接口710,其可以是可以经由其来传输和/或接收转换数据的任何合适类型的通信接口,通常这样的数据通信由参考标号712来指示。例如,通信接口710可以是网络接口,该网络接口进而可以是例如基于Wi-Fi、蓝牙、ZigBee、4G或5G移动通信的无线网络接口,或者例如基于以太网或光纤的有线网络接口。例如,网络接口710可以是局域网(LAN)网络接口或到诸如互联网之类的广域网(WAN)的接口。在一些实施例中,输入接口720和通信接口710可以是同一接口,例如网络接口。在一些实施例中,处理器730可以直接生成显示数据742并将其输出到诸如HMD之类的显示器745。在其他实施例中,处理器730可以通过单独的显示输出740将所显现的图像数据输出到显示器745,所述图像数据可以作为显示数据742被输出。
一般而言,图8至图10的处理器系统600、602、700中的每一个都可以由(单个)设备或装置来体现。例如,每个相应的处理器系统可以体现为智能手机、个人计算机、膝上型电脑、平板设备、游戏控制台、机顶盒、电视、监视器、投影仪、智能手表、智能眼镜、媒体播放器、媒体记录器、头戴式显示设备等。每个相应的处理器系统也可以由这样的设备或装置的分布式系统来体现。后者的示例可以是至少部分地分布在网络中的网络元件上的处理器系统的功能性。
一般而言,图8至图10的处理器系统600、602、700中的每一个都可以被体现为设备或装置或者体现在设备或装置中。设备或装置可以包括执行适当软件的一个或多个(微)处理器。每个相应系统的处理器可以由这些(微)处理器中的一个或多个来体现。实现相应系统的功能性的软件可以已被下载和/或存储在对应的一个或多个存储器中,例如,在诸如RAM的易失性存储器中或在诸如闪存的非易失性存储器中。替换地,相应系统的处理器可以以可编程逻辑的形式、例如作为现场可编程门阵列(FPGA)实现在设备或装置中。任何输入和/或输出接口可以由设备或装置的相应接口、诸如网络接口来实现。一般而言,相应系统的每个单元可以以电路的形式实现。要注意的是,相应系统还可以以分布式方式实现,例如涉及到不同的设备。
图11示出了用于显现多用户虚拟环境的计算机实现方法800。方法800可以在名为“访问全景图像、元数据”的操作中包括访问810至少两个全景图像,每个全景图像表示针对该虚拟环境的不同的基于图像的背景以及定义虚拟环境中的观看位置的元数据,当选择了虚拟环境中的相应观看位置时,要针对所述观看位置显现相应的全景图像。方法800还可以在名为“显现第一全景图像”的操作中包括针对第一观看位置显现820第一全景图像。方法800还可以在名为“显现向第二全景图像的转换”的操作中包括,响应于对第二观看位置的选择,使用元数据显现850虚拟环境中向第二观看位置的转换,并且在完成转换的所述显现时,显现针对第二观看位置的第二全景图像。方法800还可以在名为“生成转换数据”的操作中包括使用元数据来生成830转换数据,所述转换数据指示向第二观看位置的转换。方法800还可以在名为“输出转换数据”的操作中包括,输出840转换数据以使得显现多用户虚拟环境的至少一部分的远程实体能够在远程实体对虚拟环境的显现中建立向第二观看位置的转换的表示。
图12示出了用于显现多用户虚拟环境的计算机实现方法860。方法860可以在名为“显现第一观看位置的表示”的操作中包括显现870虚拟环境的至少一部分,所述显现包括显现虚拟环境中的第一观看位置的表示,远程实体从第一观看位置显现该虚拟环境。方法860还可以在名为“接收转换数据”的操作中包括接收880转换数据,所述转换数据指示由远程实体进行的向虚拟环境中的从其处显现虚拟环境的第二观看位置的转换。方法860还可以在名为“显现向第二观看位置的转换的表示”的操作中包括,使用转换数据来建立890向虚拟环境中的第二观看位置的转换的表示。
将领会的是,一般而言,可以以任何合适的顺序、例如连续地、同时地或者以其组合来执行图11的方法800和/或图12的方法860的操作,该顺序在适用的情况下服从于例如由于输入/输出关系而必需的特定顺序。特别地,在图11的方法800中,参考标号830、840的操作可以在参考标号850的操作之前执行或与之同时执行。
要注意的是,在本说明书中、例如在任何权利要求中描述的任何方法可以在计算机上实现为计算机实现方法、实现为专用硬件、或两者的组合。用于计算机的指令,例如可执行代码,可以例如以一系列910机器可读物理标记的形式和/或作为具有不同的电学(例如磁性)或光学性质或值的一系列元素存储在如例如图13中所示的计算机可读介质900上。可执行代码可以以暂时或非暂时的方式存储。计算机可读介质的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。图13以示例方式示出了光学存储设备900。
在图13的计算机可读介质900的替换实施例中,计算机可读介质900可以包括表示本说明书中描述的转换数据或消息的暂时性或非暂时性数据910。
图14是例示可以在本说明书中描述的实施例中使用的示例性数据处理系统1000的框图。这样的数据处理系统包括在本说明书中描述的数据处理实体,包括但不限于如参考图1至图10以及别处等描述的第一、第二和其他处理器系统以及客户端设备。
数据处理系统1000可以包括通过系统总线1006耦合到存储器元件1004的至少一个处理器1002。因此,数据处理系统可以将程序代码存储在存储器元件1004内。此外,处理器1002可以执行经由系统总线1006从存储器元件1004访问的程序代码。在一个方面中,可以将数据处理系统实现为适合于存储和/或执行程序代码的计算机。然而,应领会的是,可以以包括处理器和存储器的任何系统的形式实现数据处理系统1000,所述任何系统能够执行本说明书内描述的功能。
存储器元件1004可以包括一个或多个物理存储器设备,诸如例如本地存储器1008和一个或多个大容量存储设备1010。本地存储器可以指代在程序代码的实际执行期间通常使用的随机存取存储器或(一个或多个)其他非持久存储器设备。可以将大容量存储设备实现为硬盘驱动器、固态盘或其他持久数据存储设备。数据处理系统1000还可以包括一个或多个高速缓存存储器(未示出),其提供至少一些程序代码的暂时存储以便减少在执行期间另外从大容量存储设备1010中检索程序代码的次数。
被描绘为输入设备1012和输出设备1014的输入/输出(I/O)设备可以可选地耦合到数据处理系统。输入设备的示例可以包括但不限于例如麦克风、键盘、诸如鼠标之类的指点设备、游戏控制器、蓝牙控制器、VR控制器、基于手势的输入设备等。输出设备的示例可以包括但不限于例如监视器或显示器、扬声器等。输入设备和/或输出设备可以直接地或者通过介于中间的I/O控制器耦合到数据处理系统。网络适配器1016也可以耦合到数据处理系统以使得它能够通过介于中间的专用或公用网络而耦合到其他系统、计算机系统、远程网络设备和/或远程存储设备。网络适配器可以包括:数据接收器,其用于接收由所述系统、设备和/或网络传输到所述数据处理系统的数据;以及数据发射器,其用于将数据发射给所述系统、设备和/或网络。调制解调器、线缆调制解调器和以太网卡是可以与数据处理系统1000一起使用的不同类型的网络适配器的示例。
如图14中所示,存储器元件1004可以存储应用1018。应领会的是,数据处理系统1000还可以执行操作系统(未示出),所述操作系统可以促进应用的执行。以可执行程序代码的形式实现的应用可以由数据处理系统1000(例如,由处理器1002)来执行。响应于执行应用,数据处理系统可以被配置成实行要在本文中进一步详细描述的一个或多个操作。
例如,数据处理系统1000可以表示转换用户的处理器系统或“第一”处理器系统。在那种情况下,应用1018可以表示在被执行时将数据处理系统1000配置成实行参考所述实体描述的功能的应用。在另一示例中,数据处理系统1000可以表示观察用户的处理器系统或“第二”处理器系统。在那种情况下,应用1018可以表示在被执行时将数据处理系统1000配置成实行参考所述实体描述的功能的应用。
根据本说明书的摘要,可以提供用于显现多用户虚拟环境的处理器系统和计算机实现方法,其中可以提供不同的全景图像作为用于虚拟环境中的不同观看位置的基于图像的背景幕。当用户从针对其显现第一全景图像的第一观看位置切换到针对其显现第二全景图像的第二观看位置时,可以为用户显现例如作为全景图像的数学变换的转换。为了避免感知到该用户在虚拟环境中的表示的其他用户突然切换到第二观看位置,可以提供转换数据,该转换数据可以使另一处理器系统能够例如通过沿着移动轨迹移动该用户的化身来显现虚拟环境中的转换的表示。
在权利要求中,放置在括号之间的任何附图标记不应被解读为限制权利要求。动词“包括”及其变位的使用不排除存在除权利要求中陈述的那些元素或步骤以外的元素或步骤。在元素列表或一组元素之后的诸如“中的至少一个”的表述表示从该列表或组中选择全部元素或其任何子集。例如,表述“A、B和C中的至少一个”应理解为包括仅A、仅B、仅C、A和B、A和C、B和C、或全部A、B和C。在元素前面的冠词“一”或“一个”不排除存在多个这样的元素。可以借助于包括若干不同元件的硬件并借助于适当地编程的计算机来实现本发明。在枚举若干部件的设备权利要求中,这些部件中的若干个可以通过硬件的同一项目来体现。在相互不同的从属权利要求中叙述某些措施的仅有事实不表明这些措施的组合不能用于获益。
参考文献
[1] “Squares that Look Round: Transforming Spherical Images(看上去很 圆的正方形:变换球形图像)”,作者:Saul Schleimer和Henry Segermam,arXiv:1605.01396
[2] https://en.wikipedia.org/wiki/List_of_common_coordinate_
transformations#To_spherical_coordinates

Claims (13)

1.一种用于显现多用户虚拟环境的处理器系统,所述处理器系统包括:
- 通信接口;
- 用于访问以下内容的输入接口:
- 至少两个全景图像,所述全景图像中的每一个表示针对所述虚拟环境的不同的基于图像的背景;
- 元数据,其定义所述虚拟环境中的观看位置,当选择所述虚拟环境中的相应观看位置时要显现针对所述观看位置的相应全景图像;
- 处理器,其被配置成:
- 针对第一观看位置,显现第一全景图像;
- 响应于选择了第二观看位置,使用所述元数据来显现在所述虚拟环境中向第二观看位置的转换,并且在完成对转换的所述显现时,显现针对第二观看位置的第二全景图像;
- 使用所述元数据来生成指示向第二观看位置的转换的转换数据;
- 经由所述通信接口来输出所述转换数据,以使得显现所述多用户虚拟环境的至少一部分的另一处理器系统能够在所述另一处理器系统对所述虚拟环境的显现中建立向第二观看位置的转换的表示。
2.根据权利要求1所述的处理器系统,其中,所述处理器被配置成将所述转换数据生成为包括以下中的至少一个:
- 至少定义第二观看位置的目的地数据;
- 定义从第一观看位置到第二观看位置的非线性轨迹的至少一部分的轨迹数据;
- 定义所述转换的时间持续时间的持续时间数据;以及
- 定义在转换期间或转换结束时的对虚拟环境的显现中使用的虚拟相机的取向的取向数据。
3.根据权利要求1或2所述的处理器系统,其中,所述处理器被配置成将所述转换数据生成为包括定时数据,所述定时数据定义了所述处理器系统何时显现或被安排显现所述转换。
4.根据权利要求1至3中的任一项所述的处理器系统,其中,所述处理器被配置成在显现所述转换之前输出所述转换数据。
5.根据权利要求1至4中的任一项所述的处理器系统,其中,所述处理器被配置成使用第一全景图像到第二全景图像的数学变换来显现所述转换。
6.根据权利要求5所述的处理器系统,其中,所述数学变换是球形图像变换,如基于莫比乌斯变换的球形图像变换。
7.根据权利要求1所述的处理器系统,其中,所述处理器被配置成将所述转换数据生成为实时或接近实时的数据,其指示向第二观看位置的转换中的当前进度。
8.一种用于显现多用户虚拟环境的处理器系统,所述处理器系统包括:
- 通信接口;
- 处理器,其被配置成:
- 当显现所述虚拟环境的至少一部分时,显现所述虚拟环境中的第一观看位置的表示,另一处理器系统从第一观看位置显现所述虚拟环境;
- 经由所述通信接口接收转换数据,所述转换数据指示由所述另一处理器系统进行的向所述虚拟环境中的从其处显现所述虚拟环境的第二观看位置的转换;以及
- 使用所述转换数据来建立向所述虚拟环境中的第二观看位置的转换的表示。
9.根据权利要求8所述的处理器系统,其中,所述转换数据包括定义所述转换的时间持续时间的持续时间数据,并且其中,所述处理器被配置成将所述转换的表示建立为跨越所述时间持续时间的动画或移动轨迹。
10.根据权利要求8或9所述的处理器系统,其中,所述处理器被配置成将第一观看位置的表示建立为远程用户的视觉表示,如化身,并且将所述转换建立为远程用户的所述视觉表示的移动轨迹。
11.一种用于显现多用户虚拟环境的计算机实现方法,所述方法包括:
- 访问:
- 至少两个全景图像,所述全景图像中的每一个表示针对所述虚拟环境的不同的基于图像的背景;
- 元数据,其定义所述虚拟环境中的观看位置,当选择所述虚拟环境中的相应观看位置时要显现针对所述观看位置的相应全景图像;
- 针对第一观看位置,显现第一全景图像;
- 响应于选择了第二观看位置,使用所述元数据来显现在所述虚拟环境中向第二观看位置的转换,并且在完成对转换的所述显现时,显现针对第二观看位置的第二全景图像;
- 使用所述元数据来生成指示向第二观看位置的转换的转换数据;以及
- 输出所述转换数据,以使得显现所述多用户虚拟环境的至少一部分的远程实体能够在所述远程实体对所述虚拟环境的显现中建立向第二观看位置的转换的表示。
12.一种用于显现多用户虚拟环境的计算机实现方法,所述方法包括:
- 显现虚拟环境的至少一部分,所述显现包括显现所述虚拟环境中的第一观看位置的表示,远程实体从第一观看位置显现所述虚拟环境;
- 接收转换数据,所述转换数据指示由所述远程实体进行的向所述虚拟环境中的从其处显现所述虚拟环境的第二观看位置的转换;以及
- 使用所述转换数据来建立向所述虚拟环境中的第二观看位置的转换的表示。
13.一种包括计算机程序的暂时性或非暂时性计算机可读介质,所述计算机程序包括用于使处理器系统执行根据权利要求11或12所述的方法的指令。
CN201911327004.XA 2018-12-21 2019-12-20 生成并用信号传递全景图像之间的转换 Active CN111355944B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18215479.9 2018-12-21
EP18215479 2018-12-21

Publications (2)

Publication Number Publication Date
CN111355944A CN111355944A (zh) 2020-06-30
CN111355944B true CN111355944B (zh) 2022-05-17

Family

ID=65009575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911327004.XA Active CN111355944B (zh) 2018-12-21 2019-12-20 生成并用信号传递全景图像之间的转换

Country Status (3)

Country Link
US (1) US11461942B2 (zh)
EP (1) EP3671653A1 (zh)
CN (1) CN111355944B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3901919A4 (en) * 2019-04-17 2022-06-08 Rakuten Group, Inc. DISPLAY CONTROL DEVICE, DISPLAY CONTROL METHOD, PROGRAM, AND COMPUTER READABLE NON-TRANSITORY INFORMATION RECORDING MEDIA
CN113115023B (zh) * 2020-01-09 2022-09-27 百度在线网络技术(北京)有限公司 全景场景切换方法、装置及设备
CN112887699B (zh) * 2021-01-11 2023-04-18 京东方科技集团股份有限公司 图像显示方法和装置
CN115250374A (zh) * 2022-07-08 2022-10-28 北京有竹居网络技术有限公司 展示全景图像的方法、装置、设备和存储介质
US12009938B2 (en) * 2022-07-20 2024-06-11 Katmai Tech Inc. Access control in zones

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681776A (zh) * 2016-01-13 2016-06-15 深圳市奥拓电子股份有限公司 一种视差图提取的方法和装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795090B2 (en) 2001-11-13 2004-09-21 Eastman Kodak Company Method and system for panoramic image morphing
US6853398B2 (en) 2002-06-21 2005-02-08 Hewlett-Packard Development Company, L.P. Method and system for real-time video communication within a virtual environment
FR2857132A1 (fr) 2003-07-03 2005-01-07 Thomson Licensing Sa Dispositif, systeme et procede de codage d'images numeriques
WO2006053271A1 (en) 2004-11-12 2006-05-18 Mok3, Inc. Method for inter-scene transitions
CA2669409C (en) 2006-11-13 2019-09-17 Everyscape, Inc. Method for scripting inter-scene transitions
US7990394B2 (en) 2007-05-25 2011-08-02 Google Inc. Viewing and navigating within panoramic images, and applications thereof
CN103221993B (zh) * 2010-09-13 2017-02-15 巴里·林恩·詹金斯 传输和控制包括渲染的几何、纹理和光照数据的流交互媒体
US9401044B1 (en) * 2011-09-26 2016-07-26 The Research Foundation For The State University Of New York Method for conformal visualization
US9525964B2 (en) 2012-02-02 2016-12-20 Nokia Technologies Oy Methods, apparatuses, and computer-readable storage media for providing interactive navigational assistance using movable guidance markers
US10139985B2 (en) * 2012-06-22 2018-11-27 Matterport, Inc. Defining, displaying and interacting with tags in a three-dimensional model
US9256961B2 (en) * 2012-06-28 2016-02-09 Here Global B.V. Alternate viewpoint image enhancement
US10469828B2 (en) 2015-07-13 2019-11-05 Texas Instruments Incorporated Three-dimensional dense structure from motion with stereo vision
US11095869B2 (en) * 2015-09-22 2021-08-17 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
US10839601B2 (en) * 2016-03-31 2020-11-17 Sony Corporation Information processing device, information processing method, and program
US9721393B1 (en) * 2016-04-29 2017-08-01 Immersive Enterprises, LLC Method for processing and delivering virtual reality content to a user
US10030979B2 (en) * 2016-07-29 2018-07-24 Matterport, Inc. Determining and/or generating a navigation path through a captured three-dimensional model rendered on a device
US10614606B2 (en) * 2016-11-30 2020-04-07 Ricoh Company, Ltd. Information processing apparatus for creating an animation from a spherical image
JP6276882B1 (ja) * 2017-05-19 2018-02-07 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
CN109729365B (zh) * 2017-10-27 2021-03-26 腾讯科技(深圳)有限公司 一种视频处理方法、装置及智能终端、存储介质
US11435977B2 (en) * 2018-04-20 2022-09-06 Lg Electronics Inc. Method for transmitting and receiving audio data related to transition effect and device therefor
US10999583B2 (en) * 2018-09-14 2021-05-04 Apple Inc. Scalability of multi-directional video streaming
US10818076B2 (en) * 2018-10-26 2020-10-27 Aaron Bradley Epstein Immersive environment from video
US10848738B1 (en) * 2019-05-23 2020-11-24 Adobe Inc. Trajectory-based viewport prediction for 360-degree videos
US10969876B1 (en) * 2019-06-03 2021-04-06 Zachary Michaels Dynamic view user interface system and method
US11190680B1 (en) * 2019-12-23 2021-11-30 Gopro, Inc. Systems and methods for suggesting video framing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681776A (zh) * 2016-01-13 2016-06-15 深圳市奥拓电子股份有限公司 一种视差图提取的方法和装置

Also Published As

Publication number Publication date
EP3671653A1 (en) 2020-06-24
US20200202597A1 (en) 2020-06-25
US11461942B2 (en) 2022-10-04
CN111355944A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN111355944B (zh) 生成并用信号传递全景图像之间的转换
US11228622B2 (en) Multiuser asymmetric immersive teleconferencing
CN112205005B (zh) 使声学渲染适应基于图像的对象
JP4059513B2 (ja) 没入型仮想環境において注視を伝達する方法およびシステム
US10602121B2 (en) Method, system and apparatus for capture-based immersive telepresence in virtual environment
Manjrekar et al. CAVE: an emerging immersive technology--a review
KR102502794B1 (ko) 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들
GB2543913A (en) Virtual conference room
WO2018086295A1 (zh) 一种应用界面显示方法及装置
US11562531B1 (en) Cascading shadow maps in areas of a three-dimensional environment
KR20230042061A (ko) 인공 현실 환경에서의 3d 대화
Fechteler et al. A framework for realistic 3D tele-immersion
US11704864B1 (en) Static rendering for a combination of background and foreground objects
US11711494B1 (en) Automatic instancing for efficient rendering of three-dimensional virtual environment
US11593989B1 (en) Efficient shadows for alpha-mapped models
JP2022533714A (ja) ブレンドモード3次元ディスプレイシステムおよび方法
US20240037837A1 (en) Automatic graphics quality downgrading in a three-dimensional virtual environment
US8531453B2 (en) Augmenting virtual worlds simulation with enhanced assets
BR112021004835A2 (pt) sistema para controle de dispositivos conectados com capacidade de áudio em ambientes de realidade mista
US11956571B2 (en) Scene freezing and unfreezing
US11682164B1 (en) Sampling shadow maps at an offset
US11776203B1 (en) Volumetric scattering effect in a three-dimensional virtual environment with navigable video avatars
WO2024009653A1 (ja) 情報処理装置、情報処理方法、及び情報処理システム
US20240040085A1 (en) Optimizing physics for static objects in a three-dimensional virtual environment
US20240112394A1 (en) AI Methods for Transforming a Text Prompt into an Immersive Volumetric Photo or Video

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant