CN109997175A - 确定虚拟对象的大小 - Google Patents

确定虚拟对象的大小 Download PDF

Info

Publication number
CN109997175A
CN109997175A CN201780074467.2A CN201780074467A CN109997175A CN 109997175 A CN109997175 A CN 109997175A CN 201780074467 A CN201780074467 A CN 201780074467A CN 109997175 A CN109997175 A CN 109997175A
Authority
CN
China
Prior art keywords
size
camera
metadata
virtual environment
image 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.)
Granted
Application number
CN201780074467.2A
Other languages
English (en)
Other versions
CN109997175B (zh
Inventor
H.M.斯特金
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 CN109997175A publication Critical patent/CN109997175A/zh
Application granted granted Critical
Publication of CN109997175B publication Critical patent/CN109997175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)

Abstract

提供了一种用于确定虚拟环境中的虚拟对象的大小的系统和方法。所述虚拟对象可以表示物理空间中的对象。所述系统和方法可以从相机获得所述对象的图像数据,获得指示所述相机的视角的相机元数据,估计所述对象与所述相机之间的对象距离,并且通过以下步骤来估计物理空间中的所述对象的物理大小:确定所述图像数据中的所述对象的图像大小,并且基于所述相机元数据和所述对象距离确定所述图像大小与所述对象的所述物理大小之间的关系。因此,可以依照所述对象的所述物理大小确定所述虚拟环境中的所述虚拟对象的所述大小。因此可以在所述虚拟环境中给予虚拟对象逼真的相对大小。另一优点可以是不需要多个相机的校准系统和校准渲染环境。

Description

确定虚拟对象的大小
技术领域
本发明涉及用于确定虚拟环境中的虚拟对象的大小的方法和系统。本发明进一步涉及指示所述确定的大小的对象大小元数据。本发明进一步涉及渲染设备和服务器,所述渲染设备和服务器被配置成依照对象大小元数据确立虚拟环境中的虚拟对象的大小。
背景技术
虚拟现实(VR)涉及使用计算机技术来给予用户沉浸在虚拟环境中的感觉。通常,VR渲染设备(另外在下文中简称为VR设备)利用头戴式显示器(HMD)来向用户渲染虚拟环境,但是也可以使用其他类型的VR显示和渲染技术,包括但不限于全息和Cave自动虚拟环境(递归首字母缩写词CAVE)。
已知使用VR环境,其在VR的上下文中还简称为“虚拟环境”,以用于多用户通信。在这种多用户通信中,用户可以通过虚拟环境内的化身来表示,同时经由语音(例如,使用麦克风和扬声器)和/或非言语通信进行通信。后者的示例包括但不限于基于文本的通信、基于手势的通信等。这里,术语“化身”指代虚拟环境内的用户的表示,其可以包括作为真实或假想的人、真实或抽象的对象等的表示。
这种基于VR环境的多用户通信本身是已知的,例如,从AltspaceVR (http://altvr.com/)、Improov (http://www.middlevr.com/improov/)、3D ICC (http://www.3dicc.com/)等获知。另外已知将VR环境与基于视频的通信组合。例如,从据说为“用于在虚拟现实中协作的平台”的Improov已知将用户的实况相机记录用作虚拟环境中的化身。还已知在不使用虚拟现实的情况下(例如,在电视或监视器上)渲染此类虚拟环境。
发明人已考虑在通过用户的虚拟表示来在虚拟环境中表示他自己/她自己的场景中,可能需要确立虚拟环境中的虚拟表示的大小。可以能够选择标准大小。然而,这可能有缺点。例如,如果通过多个用户的虚拟表示来在虚拟环境中表示他们,则这种标准大小可以在虚拟环境中产生用户的不自然表示。即,用户之间的物理大小方面的任何差异将在虚拟环境中“丢失”。当虚拟表示是用户的逼真表示而不是抽象表示时,例如通过包括被实况记录的相应用户的图像数据的视觉渲染的每个虚拟表示,此问题可能更糟。即,给定此类逼真表示,可以预期其大小差异也是逼真的。例如,如果使用立体显示器来渲染虚拟环境,则虚拟表示的此类非逼真标准大小对虚拟环境的用户而言可能是尤其显著的。
发明人还已经认识到,当通过虚拟对象来在虚拟环境中表示除人以外的物理对象时也会发生上述问题。问题因此不限于人的虚拟表示。
用户可以指定他的/她的大小,例如他的/她的身高,并且相应地确立虚拟环境中的化身的大小。替换地,可以从用户简档获得这种信息。然而,在虚拟表示包括用户的图像数据的视觉渲染的情况下,图像数据可能不总是示出所有用户,即从上到下,也不在站立位置中。相反,图像数据可以仅示出用户的一部分,例如,他的/她的面部和上半身。在这种和类似的情况下,在图像数据中确切地示出的内容与从用户(简档)获得的大小指示之间可以存在未知关系。
Hirose等人在IEEE Multimedia 6.3, 1999, pp.14-22的出版物“Integrating live video for immersive environments”描述了制作用户的视频化身。据说相机捕获用户的图像并且从背景中提取用户的形态的图像。此图像被发送到另一站点并与共享虚拟3D世界集成在一起。渲染图像被作为视频化身投影在沉浸式投影显示中。据说所提取的用户的形态必须以其实际大小并在正确位置中显示在3D空间中,而不只是叠加为2D图像。为了调整所显示的大小,考虑相机条件以及用户在虚拟空间中的位置之间的关系。
不利的是,Hirose等人使用多个相机的校准系统和校准渲染环境来确保用户的图像在显示时被正确地调整大小。
发明内容
获得用于依照对象的物理大小确定虚拟对象的大小的方法和系统将是有利的,其中所述方法和系统解决Hirose等人的问题中的至少一个。
依照本发明的第一方面,提供了一种用于确定虚拟环境中的虚拟对象的大小的方法。所述虚拟对象可以表示物理空间中的对象。所述方法可以包括:
-从相机获得所述对象的图像数据;
-获得指示所述相机的视角的相机元数据;
-估计所述对象与所述相机之间的对象距离;
-通过以下步骤来估计物理空间中的所述对象的物理大小:
i) 确定所述图像数据中的所述对象的图像大小,并且
ii) 基于所述相机元数据和所述对象距离确定所述图像大小与所述对象的所述物理大小之间的关系;以及
-依照所述对象的所述物理大小确定用于在所述虚拟环境中渲染的所述虚拟对象的所述大小。
依照本发明的另一方面,提供了一种暂时性或非暂时性计算机可读介质,其可包括与对象的图像数据相关联的对象大小元数据,其中可以从相机获得所述图像数据,并且其中所述对象大小元数据可以包括指示所述相机的视角的相机元数据以及指示所述对象与所述相机之间的对象距离的数据。
依照本发明的另一方面,提供了一种暂时性或非暂时性计算机可读介质,其可包括定义虚拟环境中的虚拟对象的大小的对象大小元数据,其中所述虚拟对象可表示物理空间中的对象,并且其中所述虚拟环境中的所述虚拟对象的所述大小可以是依照根据所述对象的图像数据和所述相机元数据所确定的所述对象的物理大小。
依照本发明的另一方面,提供了一种系统,其可以被配置成生成与虚拟环境中的虚拟对象相关联的对象大小元数据。所述虚拟对象可以表示物理空间中的对象。所述系统可包括:
-到相机的相机接口,其用于获得所述对象的图像数据;
-存储器,其包括表示一组指令的指令数据;
-处理器,其被配置成与所述相机接口和所述存储器进行通信并且执行该组指令,其中该组指令当由所述处理器执行时,可以使所述处理器:
- 获得指示所述相机的视角的相机元数据;
- 估计所述对象与所述相机之间的对象距离;
- 基于所述相机元数据和所述对象距离生成对象大小元数据以使得渲染设备或服务器能够基于所述对象大小元数据依照物理空间中的所述对象的物理大小确立所述虚拟环境中的所述虚拟对象的所述大小。
所述系统可以连接到所述相机或者包括所述相机,在此情况下可以在内部连接所述相机。所述系统可以被集成在设备中,所述设备诸如但不限于所述相机、智能电话、平板设备、膝上型电脑等。
依照本发明的另一方面,提供了一种网络实体,其是用于托管虚拟环境的服务器或用于渲染所述虚拟环境的渲染设备。所述虚拟环境可以包括虚拟对象。所述虚拟对象可以表示物理空间中的对象。
所述网络实体可以包括:
-到网络的网络接口,其用于接收:
- 来自相机的所述对象的图像数据;
- 指示所述虚拟环境中的虚拟对象的大小的对象大小元数据;
-存储器,其包括表示一组指令的指令数据;
-处理器,其被配置成与所述网络接口和所述存储器进行通信并且执行该组指令,其中该组指令当由所述处理器执行时,可以使所述处理器:
- 生成所述虚拟环境中的所述虚拟对象以包括所述对象的所述图像数据的视觉渲染;
- 依照所述对象大小元数据确立所述虚拟环境中的所述虚拟对象的所述大小。
上述措施涉及虚拟环境中的虚拟对象的渲染,其中所述虚拟对象表示物理空间中的对象。作为示例,所述对象在下文中是人,此后还称为“用户”。然而,这不是限制,因为所述对象还可以是非人类的。
依照上述措施,可以从相机(诸如膝上型电脑的网络摄像头或智能电话或平板设备的相机)获得用户的图像数据。例如,可以获得所述图像数据以确立所述虚拟环境中的所述用户的基于图像或视频的化身。在后者情况下,所述图像数据可以是视频数据的一部分,其中所述图像数据表示例如完整视频帧或其裁剪。除了所述图像数据之外,还可以获得与所述相机相关联并且可以指示所述相机的视角的相机元数据,因为它允许确定所述相机的所述视角。在具体示例中,所述相机元数据可以直接地指定所述相机的所述视角。在另一具体示例中,所述相机元数据可以指定所述相机的焦距和传感器大小。在又一个具体示例中,所述相机元数据可以指定参考传感器大小下的等效焦距。
上述措施进一步涉及在所述图像数据所属的情形下估计所述对象与所述相机之间的距离。在获得所述相机元数据和所述对象距离后,可以通过确定所述图像数据中的所述对象的图像大小(例如,如用像素或任何其他图像相关量所测量的)来估计物理空间中的所述对象的物理大小。因此,可以确定所述对象相对于所述图像的整体尺寸有多大。出于此目的,可以使用已知的图像分段技术来对所述图像中的所述对象进行分段,这然后允许确定所述对象的图像大小。例如,可以确定所述对象具有图像高度的50%的高度。然后可以使用所述相机的所述视角和所述对象距离来确定所述图像大小与所述对象的所述物理大小之间的关系。出于此目的,可以使用本身已知的数学表达式。
在确定了所述对象的所述物理大小后,可以依照所述物理大小确立所述虚拟环境中的所述虚拟对象。例如,可以与所述物理大小成比例地选择指代所述虚拟环境中的所述对象的所述大小的“虚拟大小”。例如,可以使用线性关系,使得两倍大的物理大小产生两倍大的虚拟大小。应领会的是,也可以使用许多其他类型的关系。可以通过单个系统或设备来执行上述步骤。替换地,所述相机元数据和所述对象距离可以由第一实体确定并且以对象大小元数据的形式提供给第二实体,例如,经由网络,以使得所述第二实体能够执行上述的确定。所述第一实体的示例包括但不限于包括或者连接到所述相机的记录设备。所述第二实体的示例包括但不限于用于托管所述虚拟环境的服务器或用于渲染所述虚拟环境的渲染设备。
上述措施具有如下效果:可以以相对简单的方式依照所述对象的所述物理大小确定所述虚拟环境中的所述虚拟对象的所述大小。即,可以足以获得所述相机元数据、所述对象距离和其他“任意”相机的图像数据以确定所述对象的所述物理大小。因此不需要使用校准的装置,例如涉及被定位在已知的位置处的相机。上述措施的优点是即使在相对不受控的或不可控制(例如,用户使用智能电话或平板设备来参与虚拟环境)的情形下,或者当使用“任意”定位的网络摄像头时,它也允许依照所述对象的所述物理大小确立所述虚拟对象的所述虚拟大小。因此不需要使用具有已知关系的多个相机的校准系统。附加优点是可以以对象大小元数据的形式容易地发送可用来确定所述物理大小的信息,例如,经由网络从第一实体发送到第二实体。因此可以通过若干(网络)连接的实体而不是通过单个实体来一起执行上述措施。另一优点可以是任何VR渲染环境可以以其适当的大小渲染所述对象,例如,所述渲染环境不需要以具体地考虑所使用的捕获环境的任何方式反映或者被校准。
在实施例中,所述虚拟环境中的所述虚拟对象可以包括所述对象的所述图像数据的视觉渲染。例如,所述虚拟对象可以是基于图像或视频的化身。后者的示例是从Hirose等人获知的,并且还可以被简称为“视频化身”。替换地,所述虚拟对象可以是图形化身,其虚拟大小基于所确定的所述对象的物理大小。所述图形化身可以是基于所述图像数据生成的相片级化身。可以依据如可以根据所述对象的视频数据所确定的所述对象的移动来动画化所述图形化身,例如,使用本身已知的角色动画技术。
在实施例中,所述获得所述相机元数据可以包括获得包括在所述图像数据中或者与所述图像数据相关联的EXIF元数据、MPEG元数据或ONVIF元数据。这里,EXIF指代“可交换图像文件格式”,MPEG指代“运动图像专家组”,并且ONVIF指代“开放网络视频接口论坛”。此类类型的元数据可以指示相机的视角。例如,存在EXIF标签,诸如但不限于‘Exif.Photo.FocalLengthln35mmFilm’,其允许计算视角。各种其他类型和组合的元数据的使用同样是可想象的。
在实施例中,所述获得所述相机元数据可以包括:
-访问包括不同的相机类型的相机元数据的数据库;
-获得所述相机的类型标识符;以及
-基于在所述数据库中查找所述相机的所述类型标识符来检索所述相机元数据的至少一部分。
可以至少部分地从数据库中检索所述相机元数据。这可以特别适用于与固定或静态参数有关的所述相机元数据的部分。例如,如果以所述相机的焦距和所述传感器大小的形式利用相机元数据,则后者通常是固定参数并且因此可以被存储并随后从数据库中检索。出于此目的,可以获得所述相机的类型标识符,并且可以访问包括不同类型的相机的相机元数据的数据库。注意的是,所述视角和/或所述焦距还可以是固定参数,例如,通过所述相机具有固定焦距或者通过被配置成按固定焦距记录。此实施例的优点可以是不需要直接地从所述相机获得所述相机元数据,这可能不总是可能的。相反,可以足以获得所述相机的类型标识符。此实施例的又一个优点可以是可以通过存储在数据库中的补充相机元数据来补充来自所述相机的不完整的相机元数据。
为了填充所述数据库,用户可以手动地将相机元数据输入到所述数据库中。附加地或替换地,可以例如通过相机的制造商或服务提供商等来用相机元数据预先填充所述数据库。
在实施例中,所述确定所述对象距离可以包括从所述相机或另一设备(例如,另一相机或麦克风)获得辅助数据,该辅助数据指示所述对象距离,并且估计所述对象与所述相机之间的所述对象距离可以包括分析所述辅助数据。为了确定所述对象距离,代替或者除了所述图像数据之外还可以使用辅助数据。所述辅助数据可以通过辅助传感器获得,所述辅助传感器可以是与所述相机传感器不同类型的传感器。已知存在各种类型的辅助传感器和对应的辅助数据,其允许确定到对象的距离。此实施例的优点是与例如分析仅所述图像数据、简单地假定固定距离等相比较,可以更精确地确定所述对象距离。
例如,所述辅助数据可以包括指示所述相机的焦距的相机元数据。所述焦距可以指示所述对象距离。例如,可以使用自动对焦来将所述相机聚焦在所述对象上,或者可以将所述对象有意地定位在所述相机的所述焦距处。因此,如果所述对象在焦点上,则所述焦距可以对应于所述对象距离。
附加地或替换地,所述辅助数据可以包括从连接到所述相机或者包括在所述相机中的深度传感器获得的深度数据。深度传感器本身是已知的,并且包括基于测量飞行时间(例如,使用红外光)、光检测和测距(LiDAR)、激光检测和测距(LaDAR)等的深度传感器。此类深度传感器可以提供指示对象到所述深度传感器的距离的深度图。所述深度传感器可以在物理上连接到所述相机,例如,包含在同一外壳中。所述深度传感器还可以电连接到所述相机,例如,以使得所述相机能够联合输出所述图像数据和深度数据。
附加地或替换地,所述辅助数据可以包括从另一相机获得的另一图像数据,其中所述图像数据和所述另一图像数据可以一起表示所述对象的立体图像数据,并且其中估计所述对象与所述相机之间的所述对象距离可以包括分析所述立体图像数据。所述相机和另一相机可以一起提供立体图像数据,其允许确定对象到所述相机的距离,例如,使用本身已知的视差或深度估计技术。在具体示例中,可以物理上并电子地集成两个相机,在此情况下它们可以被共同地称为“立体相机”。应领会的是,两个相机还可以被单独地收容但是仍然充当立体相机。注意的是,可以同样地使用多于两个相机的相机阵列。可以同样地使用能够捕获比常规单视场相机(诸如光场相机)更多的图像数据的单个相机。
附加地或替换地,所述辅助数据可以包括从连接到所述相机或者包括在所述相机中的麦克风阵列获得的定向音频数据。还可以根据麦克风阵列的音频记录来确定所述对象距离,例如,使用本身已知的声音定位技术。这里,术语“麦克风阵列”指代两个或更多个麦克风的布置。在两个麦克风的情况下,这种麦克风阵列还可以被简称为“立体声麦克风”。通常,连接到相机或者包括在相机中的麦克风靠近所述相机传感器定位,并且因此用于在所述对象正在产生声音(例如,人说话)的情况下基于音频确定对象的距离。
在实施例中,所述虚拟环境可以是联网虚拟环境,所述相机可以连接到系统,该系统连接到网络,并且所述方法可以进一步包括:
-经由所述网络将所述图像数据从所述系统提供给参与所述联网虚拟环境的网络实体,所述网络实体是托管虚拟环境的服务器或渲染设备;以及
-从所述系统向所述网络实体提供对象大小元数据以使得所述网络实体能够基于所述对象大小元数据依照物理空间中的所述对象的物理大小确立所述虚拟环境中的所述虚拟对象的所述大小。
联网虚拟环境通常涉及多个用户,所述多个用户位于不同的位置处并且使用虚拟环境来彼此通信。为了访问所述虚拟环境,用户可以使用连接到所述相机或者包括所述相机的系统(在这种情况下,可以在内部连接所述相机)。所述系统可以被集成在设备中,所述设备诸如但不限于相机、智能电话、平板设备、膝上型电脑等。如果所述设备还向所述用户渲染所述虚拟环境,例如,在被集成在所述设备中或者连接到所述设备的显示器上,则所述设备还可以被称为“渲染设备”。替换地,所述系统可以包括协作的若干设备。所述系统可以将所述图像数据提供给参与所述虚拟环境的另一网络实体,其可以是托管所述虚拟环境的服务器或渲染设备。通过向所述另一网络实体附加地提供对象大小元数据,使得所述另一网络实体能够确定所述图像数据中所示的所述对象的所述物理大小并且相应地确立所述虚拟对象的所述虚拟大小。
在实施例中,所述方法可以由所述系统执行,并且所述提供所述对象大小元数据可以包括提供由所述系统所确定的所述虚拟环境中的所述虚拟对象的所述大小作为所述对象大小元数据。在此实施例中,所述系统它本身可以确定所述虚拟对象的所述大小并且以所述对象大小元数据的形式将所确定的大小发信号通知给所述另一网络实体。因此,所述对象大小元数据可以包括直接大小量度。因此所述另一网络实体不需要计算所述物理大小并且然后确定所述虚拟大小。相反,所述虚拟大小被直接地指示给所述网络实体。
在实施例中,所述提供所述对象大小元数据可以包括将所述相机元数据和所述对象距离提供给所述网络实体以使得所述网络实体能够:
-基于所述相机元数据和所述对象距离估计物理空间中的所述对象的物理大小;以及
-依照所述对象的所述物理大小确定所述虚拟环境中的所述虚拟对象的所述大小。
在此实施例中,所述系统可以将所述相机元数据和所述对象距离发信号通知给所述另一网络实体以允许所述网络实体基于所接收的相机元数据和所述对象距离估计所述对象的所述物理大小。所述对象大小元数据因此不包括直接大小量度,而是相反包括所述另一网络实体确定所述大小所要求的所述元数据。
本领域的技术人员将应领会的是,可以以被认为有用的任何方式组合本发明的上面提及的实施例、实施方式和/或各方面中的两个或更多个。
对应于所述方法的所描述的修改和变化的所述系统、包括所述系统的所述设备、所述渲染设备、所述服务器和/或所述计算机程序的修改和变化可以由本领域的技术人员基于本描述来执行,并且反之亦然。
附图说明
参考在下文中描述的实施例,本发明的这些和其他方面是显而易见的并且将被阐明。在附图中,
图1提供了用于依照对象的物理大小确定虚拟环境中的虚拟对象的大小的实施例的示意概要;
图2A示出了其中每个用户的化身包括包含周围环境的相应用户的图像数据的渲染的虚拟环境;
图2B示出了其中每个用户的化身包括属于相应用户的图像数据的选择性渲染的虚拟环境;
图3A示出了其中每个用户的化身(是用户的图像数据的选择性渲染)被调整大小至相同大小的虚拟环境;
图3B示出了其中依照用户的物理大小来调整每个用户的化身的大小的虚拟环境;
图4示出了用户的图像数据的示例,其中指示了用户的图像大小,如可以通过分段所确定的那样;
图5A图示了通过相机对用户的图像数据的捕获;
图5B图示了通过两个相机(例如,第一提及的相机和另一相机)的组合对立体图像数据的捕获;
图5C图示了通过麦克风阵列对定向音频数据的捕获,其中麦克风阵列连接到相机;
图6A示出了包括相机元数据和定义对象与相机之间的距离的数据的对象大小元数据的示例;
图6B示出了直接地定义虚拟环境中的虚拟对象的大小的对象大小元数据的另一示例,其中已依照对象的物理大小确定了虚拟大小;
图7示出了用于依照对象的物理大小确定虚拟环境中的虚拟对象的大小的系统,其中该系统向托管虚拟环境的服务器提供图像数据和对象大小元数据;
图8示出了图7的系统的详细视图;
图9示出了接收对象大小元数据的网络实体的详细视图,该网络实体是用于渲染虚拟环境的服务器或渲染设备;
图10示出了用于依照对象的物理大小确定虚拟环境中的虚拟对象的大小的方法;
图11示出了可以包括计算机程序的暂时性或非暂时性计算机可读介质,所述计算机程序包括用于处理器系统执行方法的指令,或者包括对象大小元数据;以及
图12示出了示例性数据处理系统。
应该注意的是,在不同的图中具有相同的附图标记的项目具有相同的结构特征和相同的功能,或者是相同的信号。在已说明这种项目的功能和/或结构的情况下,在详细描述中不需要对其进行重复说明。
参考和缩写词的列表
参考和缩写词的以下列表是为了方便附图的解释而提供的,而不应被解释为限制权利要求。
1 视频捕获
2 确定元数据
3 视频和元数据传送
4 确定渲染
5 播出
10 对象(用户)
20 相机
22 图像数据
24 对象的图像高度
30 另一相机
32 另一图像数据
34 立体图像数据
40 麦克风阵列
42 定向音频数据
50 数据库
52 数据库通信
60 网络
70 头戴式显示器
80 服务器
100 虚拟环境
110-113 形式为渲染图像的视频化身
120-123 形式为渲染分段对象的视频化身
130-133 调整大小至相等大小的视频化身
140-143 依照物理大小调整大小的视频化身
200 用于生成对象大小元数据的系统
210 相机接口
220 处理器
230 存储器
240 网络接口
300-306 渲染设备
310 网络接口
320 处理器
330 存储器
400、402 对象大小元数据
410 相机元数据
420 定义对象距离的数据
500 用于确定虚拟对象的大小的方法
510 获得对象的图像数据
520 获得相机元数据
530 估计对象距离
540 估计对象的物理大小
550 确定虚拟对象的大小
600 计算机可读介质
610 存储在计算机可读介质上的数据
1000 示例性数据处理系统
1002 处理器
1004 存储器元件
1006 系统总线
1008 本地存储器
1010 大容量存储设备
1012 输入设备
1014 输出设备
1016 网络适配器
1018 应用。
具体实施方式
图1示意性地图示了如何可以依照对象的实际物理大小确立虚拟环境中的虚拟对象的大小。在此示例中,对象是以用户10的形式示出的,用户10可以由相机20记录。相机20的视频数据可以由系统200经由网络60发送到网络实体,诸如渲染设备300或服务器,其中图1示出了前者。渲染设备300可以渲染虚拟环境100,所述虚拟环境100可以包括用户10的视频数据的视觉渲染,其中经渲染的虚拟环境通过头戴式显示器70来显示。这里,术语“渲染”可以指代从虚拟环境的几何描述生成图像或视频的过程,但是还可以包括替代渲染手段,包括但不限于表示虚拟环境的体积视频内容的渲染。还注意的是,虚拟环境中的用户10的视频数据的视觉渲染是用户10的虚拟表示,其是表示物理对象的虚拟对象的示例。
为了使得能够依照对象的物理大小确定虚拟环境中的虚拟对象的大小,在标题为“视频捕获”的第一步骤1中捕获视频之后,可以在标题为“确定元数据”的第二步骤2中确定对象大小元数据。在标题为“视频和元数据传送”的第三步骤3中,可以经由网络60将视频数据与对象大小元数据一起传送到渲染设备300。在标题为“确定渲染”的第四步骤4期间,可以渲染虚拟环境100并且可以依照对象的物理大小确立虚拟环境100中的虚拟对象的大小。在标题为“播出”的第五步骤5中,可以在头戴式显示器70上显示或者播出经渲染的虚拟环境。
注意的是,虚拟环境100可以作为圆形形状(例如,球或圆)被示出在图1和接着的图中,但是对虚拟环境100的观察者而言可以似乎具有任何其他大小和/或形状。
此外,尽管图1涉及视频数据(例如,若干图像的图像数据)的记录和传送,然而替换地还可以记录和发送单个静止图像的图像数据。对“图像数据”的任何引用因此可以被理解为包括视频帧以及单个静止图像。
虚拟环境100中的虚拟对象可以是基于图像数据生成的化身。这种化身可以采取任何适合的形状和/或形式,包括但不限于基于图像数据生成的用户10的视频化身或相片级表示。相片级表示可以是静态的,或者可以与由相机20记录的用户的移动相符地动画化,例如,使用已知的“角色动画”技术。替换地,可以通过这种角色动画来动画化用户的非相片级表示。视频化身可以表示具体地示出用户的图像数据的一部分的渲染。出于此目的,可以由系统在接收之后在通过网络实体的传输之前在图像数据中对用户进行分段。这可以包括在传输之前裁剪图像数据。视频化身还可以示出用户的周围环境。例如,视频化身可以表示虚拟显示,所述虚拟显示在虚拟环境100中简单地显示所接收到的图像数据。在此示例中,可能不需要在图像数据中对用户进行分段。
图2A示出了虚拟环境100的渲染的示例。在此示例中,虚拟环境100被示出为包括相应用户的四个化身110-113,其中化身是类似虚拟显示的“显示类型”的化身,所述虚拟显示简单地显示所接收到的每个用户的图像数据。注意的是,此类“显示类型”化身通常还示出用户的周围环境的部分,例如,背景场景。图2B示出了替代渲染,因为虚拟环境100被示出为包括四个化身120-123,所述四个化身120-123各自表示属于相应用户的图像数据的选择性渲染。可以通过分段技术来获得这种选择性渲染,所述分段技术允许区分用户的图像数据和他的/她的周围环境的图像数据。这种分段技术本身是从图像分析的领域中获知的,并且常常被称作背景去除或前景提取技术。
在图2A中可看到的是,用户可以在每个“虚拟显示”中具有不同的大小。这可义是通过它们在大小方面的物理差异而引起的,而且通过各种辅助因素而引起的,所述各种辅助因素包括但不限于用户到相机的距离、相机的视角等。应领会的是在图2A中,每个“虚拟显示”中的大小方面的差异可以主要是由于此类辅助因素而不是物理大小方面的实际差异而导致的。图2A中的情形因此可能被感知为不自然的。可以在去除了用户的周围环境的图2B的情形下进一步扩大这个。通过这样做,可能更难以区分化身120-123之间的大小差异是由于用户之间的物理大小方面的实际差异而导致的还是由于辅助因素而导致的。
图3A示出了其中每个用户的化身130-133(是相应用户的图像数据的选择性渲染)被调整大小至相同大小(例如,如在图3A中通过垂直双箭头线H1所指示的标准大小)的虚拟环境100。不利的是,在图3A的虚拟环境100中用户之间的物理大小方面的任何差异“丢失”。特别地,化身133可能看起来不自然地大,因为图像数据示出了来自附近的用户。
图3B示出了其中依照用户的物理大小(例如,作为图1中所示的措施的结果)调整每个用户的化身的大小的虚拟环境100。可看到的是,化身140-143具有不同的大小,所述不同的大小可以表示它们在物理大小方面的差异。结果,化身143具有比图3A的化身133更小的大小,如通过垂直双箭头线H2所指示的。
应领会的是,一般而言,在物理大小与虚拟大小之间可以存在线性关系,例如,物理量与虚拟量的简单线性换算。这种换算可以由渲染引擎(例如,渲染设备的)进行或预先进行。另外,可以选取任何其他适合的映射函数,例如,保留大小的顺序而不是其确切比例的映射函数。渲染引擎或渲染虚拟环境的另一实体还可以直接地接受物理大小作为输入,而不是使用其他单元来表示虚拟环境中的对象的大小。在这种情况下,根据图像数据所确定的物理大小可以直接地定义虚拟环境中的虚拟对象的大小。
为了依照物理大小确定虚拟大小,可以获得相机元数据,所述相机元数据指示相机的视角,例如水平、对角线和/或垂直视角。可以直接地从相机(例如,从EXIF、ONVIF或MPEG元数据)获得这种相机元数据,但是还可以从其他来源(例如,数据库)获得这种相机元数据,如参考图7所描述的。除了获得相机元数据之外,还可以确定对象与相机之间的对象距离,如参考图5A至图5C所描述的。然后可以生成对象大小元数据,所述对象大小元数据使得能够依照物理空间中的对象的物理大小确立虚拟环境中的虚拟对象的大小。这可以涉及如参考图4所描述的计算。对象大小元数据可以采取各种形式,如参考图6A和图6B所描述的。可以在本地但是还可以通过另一(网络)实体来使用对象大小元数据。参考图7至图9说明不同的场景。
图4示出了可以由相机捕获的用户的图像数据22的示例。这里,图像数据被示出为具有1944乘2592个像素的空间尺寸。此外,指示了用户的图像高度24,例如1500个像素,如可以通过早前描述的分段所确定的。此外,在此示例中,可以根据相机元数据确定35mm处的焦距是22mm。例如,可以以‘Exif.Photo.FocalLengthln35mmFilm’标签的形式在EXIF元数据中指示此等效焦距。注意的是,35mm传感器具有36mm宽度和24mm高度。这种类型的相机元数据允许例如使用公式视角= 2 * arc tan (传感器大小/(2 *焦距))来确定视角。应领会的是,所述公式中的任何两个参数允许确定第三参数。注意的是,如果在某个方向上(例如,垂直地、水平地或对角地)指定传感器大小,则公式产生该方向上的视角。例如,在焦距为22m并且传感器高度为36mm的情况下,可以将垂直视角确定为2 * arc tan (36 / (2 *22)) = 2 * arc tan (0.8182) = 约78.6度。
还可以确定到用户的距离是2.06m,如将参考图5A至图5C进一步讨论的。然后可以确定用户或通常为对象的物理大小如下:
当参数用从相机元数据、对象距离和用户的图像高度获得的数据代替时,其产生:
以上可以基于相机给予其覆盖对象距离的视角2 * 对象距离 * tan (视角/2)的最大高度,其在本示例中产生2 * 2.06m * tan (78.6 / 2) = 3.37 m的最大值高度。定位在离相机传感器2.06m处并且在垂直方向上填充相机传感器的整个视角的对象将因此具有3.37m的物理高度。然而,对象可能不在垂直方向上填充相机传感器的整个视角。因此,在图像数据中,对象的垂直图像大小(“图像对象高度”)可以小于总体垂直图像大小(“图像高度”)。因此,可以将对象的物理高度计算为3.37m的最大高度的一小部分,该小部分是图像对象高度/图像高度。在此示例中,物理对象高度因此可以等于3.37m * (1500个像素 /2595个像素) = 1.95m。可以组合两个表达式以产生:
注意的是在上文中,确定了对象(用户)的高度。附加地或替换地,可以确定对象的宽度,或者一般而言确定与传感器平面平行的对象平面中的对象的任何尺寸。对于与传感器平面不平行的对象,还可以根据图像数据确定物理大小,假定从与相机视角相同的视角观察最终渲染,或者可能在应用图像变换之后。
应领会的是,用于估计对象的物理大小的计算可能受到各种因素影响。在默认场景中,可以在计算中直接地使用根据相机元数据所确定的传感器大小和焦距,或者替换地,相机元数据可以直接地指示视角。这在许多场景中(例如,对于用带标准透镜的相机拍摄的离相机一定距离处的对象的图像来说)可以是足够的。然而,在某些情况下,其他因素可以影响计算。当使用具有一定失真的透镜(诸如鱼眼透镜)时或者在对象非常靠近相机(例如,在微距拍摄中)的情况下情况可能是这样的。在微距拍摄中,透镜到对象距离与焦距相当,并且在这种情况下可能需要考虑放大系数。影响计算的其他情况可以是例如呼吸(例如,当改变焦点时视角的轻微变化)、透镜不对称以及当在相机的传感器上裁剪图像时。
考虑此类因素的计算在本领域中是已知的。这可以一般地涉及计算有效焦距,该有效焦距是所述焦距的调整。例如,对于微距拍摄,可以考虑放大因子,例如f = F * (1 +m),其中f是有效焦距,F是所述焦距并且m是放大因子。对于透镜不对称,可以考虑表观出射与入射光瞳直径之间的比率P,例如,f = F * (1 + m/P)。对于呼吸效应,可以考虑透镜与图像平面之间的距离,例如,S2 = (S1 * f) / (S1 - f),其中S2是透镜与图像平面(传感器)之间的实际距离并且S1是到对象的距离。
为了确定对象距离,各种选项是可能的。图5A图示了通过相机20对用户10的图像数据22的捕获。附加地,可以获得指示对象距离的辅助数据,在此情况下可以至少部分地根据辅助数据确定对象距离。
图5B和图5C示出了两种类型的这种辅助数据。在图5B的示例中,从另一相机30获得另一图像数据32。图像数据22和另一图像数据32可以一起表示用户10的立体图像数据34。通过分析这种立体图像数据34,例如,使用本身已知的视差或深度估计技术,可以确定对象距离。应领会的是,尽管图5B将相机20和另一相机30示出为单独的设备,然而还可以物理上和/或电子地集成两个相机,在此情况下它们可以被共同地称为“立体相机”。注意的是,可以同样地使用两个以上相机的相机阵列。
图5C图示了通过麦克风阵列40对定向音频数据42的捕获,其中定向音频数据42是前述辅助数据的另一示例。在对象正在产生声音的情况下,可以使用本身已知的声音定位技术来根据方向音频数据确定对象距离。图5C示出了两个麦克风,例如,立体声麦克风。然而,一般而言,可以使用两个或更多个麦克风的任何麦克风阵列40。在具体实施例中,可以使用三个或更多个麦克风。注意的是,麦克风阵列可以连接到相机20或者包括在相机20中。
辅助数据的其他示例包括但不限于从连接到相机或者包含在相机中的深度传感器获得的深度数据以及指示相机的焦距的相机元数据。后者可以假定对象在图像数据中在焦点上。辅助数据还可以是从光场相机获得的光场数据。还可以组合上述类型的辅助数据中的若干种。此外,估计对象距离的各种其他方式是同样可想象的。例如,存在可以允许根据单声道视频估计深度的计算机视觉技术。因此,可以在一些实施例中根据单个相机的图像数据来估计对象距离。
应领会的是,尽管对象距离被描述为相机与对象之间的距离,然而对象距离实际上可以是相对于相机的传感器而估计或者近似所述距离的距离。因此,对“对象距离”的任何参考将被理解为包括到相机的传感器的距离以及近似所述距离的任何距离。前者的示例是使用自动对焦或立体相机来估计对象距离。后者的示例是使用被定位为与相机的图像传感器相邻的深度传感器或连接到相机或者包括在相机中的麦克风阵列来估计对象距离。后者范畴的测量可以产生不太精确的距离测量,因为与相机传感器相比较深度传感器或麦克风阵列可以被放置得离对象稍微更近或更远。一般而言,这些将导致对本说明书中描述的目的来说通常可忽视的小误差,因为到对象的距离通常比“测量传感器”( 例如,深度传感器或麦克风阵列)与相机传感器之间的距离大得多。
进一步参考可以在已获得相机元数据并且已估计对象距离之后生成的对象大小元数据,图6A示出了包括相机元数据410以及定义对象与相机之间的距离的数据420的对象大小元数据400的示例。根据此示例,对象大小元数据可以包括:
这里,所有距离以mm为单位并且图像坐标及高度和宽度以像素为单位。可看到的是,对象大小元数据可以包括形式为焦距(例如,22mm)的相机元数据和传感器大小,例如,36mm乘24mm。附加地,可以以“对象距离”的形式(例如,2060mm或2.06m)指示到对象(这里为诸如用户之类的对象)的距离。此外,可以在(x,y)图像坐标中给出被摄体的图像位置,所述(x,y)图像坐标可以通过已知的分段技术来确定。
图6B示出了可以更直接地表示虚拟环境中的虚拟对象的大小的对象大小元数据402的另一示例。根据此示例,对象大小元数据可以如下:
可看到的是,对象的高度被指示,例如1951mm或1.951m,其可以被直接地用作虚拟大小,例如,在渲染引擎接受物理大小作为输入的情况下。例如,在如https://aframe.io上所描述的用于构建VR体验的“A-Frame” Web框架中,可以指定对象的物理大小,包括它将被放置在的坐标。通过A-Frame进行的渲染然后可以以正确的大小渲染对象。示例可以是:
这可以在直接地位于参考点(参考点或相机位置在这里被定义在0,0,0处)前面的位置5m处渲染宽度为1m且高度为2m的视频。替换地,如果渲染引擎对于大小使用不同的单位,例如,虚拟单位,则对象大小元数据可以以虚拟单位直接地指定虚拟大小,和/或可以在接收到对象大小元数据之后将物理大小转换成虚拟单位。一般而言,应领会的是,尽管图6A和图6B的对象大小元数据被编码为XML,然而可以同样地使用任何其他适合的编码格式,例如,SDP、二进制、JSON、MPEG元数据等。
注意的是,一般而言,图像数据可以示出多个对象,并且对象大小元数据可以涉及这些对象中的每一个或子集。
应进一步领会的是,相机元数据和/或对象距离可以涉及图像数据,因为可以在与捕获图像数据相同的时间获得它们。因此,相机元数据可以直接地指示在捕获期间使用的相机参数,并且对象距离可以是如图像数据中所示的对象的当前距离。替换地,可以在不同的时间获得相机元数据和/或对象距离,但是仍然适用于图像数据中所示的情形。例如,在相机参数是静态的情况下,可以在捕获图像数据之前或之后获得相机元数据,并且相机元数据仍然适用于图像数据中所示的情形。另一示例是可以假定对象距离随着时间的推移而变化很小,例如,通过相机相对于对象具有相对固定的位置。在另一替代方案中,在已估计对象的物理大小和/或虚拟大小至少一次之后,渲染设备可以基于物理对象的图像数据中的图像大小的变化来适配对象的渲染。例如,渲染设备可以从图像数据中选择对象并相应地缩放虚拟对象。只要对象保持在相机的视野中并且对象具有固定尺寸,就可以特别使用这个。优点是对象距离可以在无需相机元数据的更新的情况下变化。替换地,在动态情形下,可以连续地(例如,按每一图像)或周期性地(例如,每1秒、10秒、1分钟、第10视频帧、第100视频帧等)或自适应地(例如,当检测到图像运动时或者当相机被调整时)获得相机元数据和/或对象距离。这可以允许应对例如焦距变化以及因此应对视角、对象移动、相机移动等。替换地,在已接收到相机元数据和相关图像数据至少一次之后,渲染设备可以确定虚拟大小,并且此后可以使虚拟大小成比例地适应对象的图像数据的变化。这对具有固定或相对静态的物理尺寸的对象来说是尤其可能的。
图7示出了用于依照对象的物理大小确定虚拟环境中的虚拟对象的大小的系统200。系统200可以但不必被集成在单个设备中,所述单个设备诸如但不限于智能电话、个人计算机、膝上型电脑、平板设备、机顶盒、智能手表、智能眼镜、电视、监视器、投影仪、媒体播放器、媒体记录器、音频系统、游戏控制台等。替换地,系统200可以分布在多个设备或子系统上。系统200被示出为连接到相机20,可以从所述相机20接收用户10的图像数据22。替换地,系统200可以包括相机20。替换地,可以将系统200集成到相机20中。
图7进一步示出了图1的系统200,其在这里被示出为将从相机20获得的用户10的图像数据22提供给服务器80。服务器80然后可以进一步将图像数据22发送到参与虚拟环境的其他设备,诸如渲染设备300-306。除了将图像数据22提供给服务器80之外,系统200还可以进一步像参考图6A和图6B所描述的那样向服务器80提供对象大小元数据400、402,以使得服务器80和/或渲染设备300-306能够依照用户10的物理大小确立虚拟环境中的用户10的虚拟表示的大小。出于此目的,可以取决于系统200是否确定用户的物理大小或者服务器80和/或渲染设备300-306是否确定用户的物理大小而提供不同类型的对象大小元数据400、402。先前参考图6A和图6B说明了两种类型的对象大小元数据。在(系统200的)前者情况下,对象大小元数据402可以直接地定义用户的物理大小,或者替换地直接地定义虚拟对象的大小(参见图6B示例)。在(服务器/渲染设备的)后者情况下,对象大小元数据400可以包括相机元数据和对象距离以使得服务器80和/或渲染设备300-306能够基于对象大小元数据400计算用户10的物理大小(参见图6A示例)。
图7进一步示出了系统200的可选方面,因为系统200被示出为经由数据库通信52与数据库50进行通信。数据库50可以包括一个或多个不同的相机类型的相机元数据,其可以基于其类型标识符被存储和检索。因此,系统200可以通过获得相机20的类型标识符并且在数据库50中查找相机的类型标识符来获得相机元数据或相机20的附加相机元数据。应领会的是,数据库50可以是内部数据库但是还可以是外部数据库,例如网络托管的数据库。作为使用数据库的替代方案,还可以从另一实体或服务(诸如搜索引擎或基于“人工智能”的辅助服务)查询相机元数据。出于此目的,可以利用适当的API。
图7进一步将系统200、服务器80和渲染设备300-306示出为位于不同的位置(诸如不同的房间、建筑物或地方)处,如通过图7中的虚线所指示的。因此,设备之间的通信可以是电信,例如,涉及经由诸如或者包括一个或多个接入网络和/或因特网之类的网络的数据通信。
图8示出了图7的系统200的详细视图。系统200被示出为包括:到相机的相机接口210,其用于获得对象的图像数据22;存储器230,其包括表示一组指令的指令数据;以及处理器220,其被配置成与相机接口210和存储器230进行通信并且执行该组指令,其中该组指令当由处理器执行时,使处理器220获得指示相机的视角的相机元数据,估计对象与相机之间的对象距离,基于相机元数据和对象距离生成对象大小元数据以使得渲染设备或服务器能够基于对象大小元数据依照物理空间中对象的物理大小确立虚拟环境中的虚拟对象的大小。
系统200可以在内部使用对象大小元数据。例如,如果系统200是被配置成渲染虚拟环境的渲染设备(的一部分),则系统200可以使用对象大小元数据来基于对象大小元数据确定虚拟环境中的虚拟对象的大小。
替换地,系统200可以输出对象大小元数据。出于此目的,系统200可以包括网络接口240,例如,以将对象大小元数据400、402提供给网络实体。这可以使得网络实体能够基于对象大小元数据依照对象的物理大小确立虚拟环境中的虚拟对象的大小。此外,可以经由网络接口240将图像数据22提供给网络实体。网络接口可以采取任何适合的形式,包括但不限于无线网络接口,例如,基于Wi-Fi、蓝牙、ZigBee、4G移动通信或5G移动通信,或基于以太网或光纤的有线网络接口。网络接口240可以到局域网(LAN)网络接口,但还可以是到广域网(WAN)(例如,因特网)的网络接口。
提供有相机元数据的网络实体可以是被配置成托管虚拟环境的服务器或被配置成渲染虚拟环境的渲染设备。这可以类似于用于视频会议的当前设置,其中视频多点控制单元用于以特定方式混合所有参与者的视频(即基于服务器的),或者在所有用户与其中每个用户的设备在本地渲染所有输入之间使用对等通信 (例如,基于渲染设备的)。图9示出了这种网络实体300的详细视图,其可以包括到网络的网络接口310以用于接收来自相机的对象的图像数据22,以及指示虚拟环境中的虚拟对象的大小的对象大小元数据400、402。网络实体300可以进一步包括存储器330,所述存储器330包括表示一组指令的指令数据。网络实体300可以进一步包括处理器320,所述处理器320被配置成与网络接口310和存储器330进行通信并且执行该组指令,其中该组指令当由处理器320执行时,可以使处理器320生成虚拟环境中的虚拟对象以包括对象的图像数据的视觉渲染,并且依照对象大小元数据确立虚拟环境中的虚拟对象的大小。后者可以取决于对象大小元数据的类型而不同。例如,如果对象大小元数据402直接地定义对象的物理大小,或者替换地直接地定义虚拟对象的大小,则在需要任何进一步计算的情况下可能很少。替换地,对象大小元数据400可以包括相机元数据和对象距离。在这种情况下,处理器320可以首先基于对象大小元数据400计算用户10的物理大小,然后相应地确定虚拟对象的大小。
一般而言,可以将图8的系统200和图9的网络实体300各自具体实现为设备或装置或者具体实现在设备或装置中。设备或装置可以包括执行适当的软件的一个或多个(微)处理器。可以通过这些(微)处理器中的一个或多个来具体实现系统和通信设备的处理器。实现系统或网络实体的功能性的软件可能已被下载和/或存储在一个或多个对应的存储器中,例如,在诸如RAM之类的易失性存储器中或者在诸如闪存的非易失性存储器中。替换地,可以将系统或网络实体的处理器以可编程逻辑的形式(例如,作为现场可编程门阵列(FPGA))实现在设备或装置中。任何输入和/或输出接口可以通过设备或装置的相应接口(诸如网络接口)来实现。一般而言,可以以电路的形式实现系统或网络实体的每个单元。注意的是,还可以以分布式方式(例如,涉及不同的设备或装置)实现系统或网络实体。
一般而言,可以使用显示器来显示经渲染的虚拟环境。显示器可以是头戴式VR设备或简言之VR头戴式装置,例如,是与‘Oculus Rift’、‘HTC Vive’或‘PlayStation VR’相同或类似的类型。VR设备的其他示例是所称的增强现实(AR)设备,诸如MicrosoftHoloLens或Google Glass护目镜或诸如Samsung Gear VR或Google Cardboard之类的移动VR设备。应领会的是,显示器可能不需要是可头戴的,而是相反,例如为单独的全息显示器。
图10示出了用于确定虚拟环境中的虚拟对象的大小的方法500。方法500可以包括,在标题为“获得对象的图像数据”的操作中,从相机获得510对象的图像数据。方法500可以进一步包括,在标题为“获得相机元数据”的操作中,获得520指示相机的视角的相机元数据。方法500可以进一步包括,在标题为“估计对象距离”的操作中,估计530对象与相机之间的对象距离。方法500可以进一步包括,在标题为“估计对象的物理大小”的操作中,通过以下步骤来估计540物理空间中的对象的物理大小:i)确定图像数据中的对象的图像大小,并且ii)基于相机元数据和对象距离确定图像大小与对象的物理大小之间的关系。方法500可以进一步包括,在标题为“确定虚拟对象的大小”的操作中,依照对象的物理大小确定550用于在虚拟环境中渲染的虚拟对象的大小。
可以将方法500作为计算机实现的方法、作为专用硬件或者作为两者的组合实现在计算机上。如图11中另外图示的,可以将用于计算机的指令(例如,可执行代码)例如以机器可读物理标记的系列610的形式和/或作为具有不同的电气(例如,磁)或光学性质或值的元素的系列存储在计算机可读介质600上。可以以暂时性或非暂时性方式存储可执行代码。计算机可读介质的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。作为示例,图11示出了光盘600。
继续参考图11,计算机可读介质600可以替换地或附加地包括表示如本说明书中所描述的对象大小元数据的暂时性或非暂时性数据610。
一般而言,可以例如通过相机、系统等在记录之后但是在传输到网络实体之前,后处理对象的图像数据。在被记录的对象是穿戴头戴式设备的用户的情况下,这种后处理可以包括图像数据中的用户的面部的至少一部分的重建,所述至少一部分可以被由用户穿戴的头戴式显示器隐藏或者模糊。出于此目的,可以使用视频处理的领域中本身已知的技术,例如,如Burgos-Artizzu等人在Siggraph Asia 2015的论文“Real-time expression- sensitive HMD face reconstruction”中所描述的。
图12是图示了可以在本公开的实施例中使用的示例性数据处理系统的框图。这种数据处理系统包括本公开中描述的数据处理实体,包括但不限于系统和网络实体,例如服务器和/或渲染设备。
数据处理系统1000可以包括通过系统总线1006耦合到存储器元件1004的至少一个处理器1002。因此,数据处理系统可以将程序代码存储在存储器元件1004内。进一步地,处理器1002可以执行经由系统总线1006从存储器元件1004访问的程序代码。在一个方面中,可以将数据处理系统实现为适合于存储和/或执行程序代码的计算机。然而,应该领会的是,可以以包括处理器和存储器的任何系统的形式实现数据处理系统1000,所述任何系统能够执行本说明书内描述的功能。
存储器元件1004可以包括一个或多个物理存储器设备,诸如例如本地存储器1008和一个或多个大容量存储设备1010。本地存储器可以指代在程序代码的实际执行期间一般地使用的随机存取存储器或(一个或多个)其他非持久存储器设备。可以将大容量存储设备实现为硬盘驱动器、固态盘或其他持久数据存储设备。处理系统1000还可以包括一个或多个高速缓存存储器(未示出),其提供至少一些程序代码的暂时存储以便减少必须在执行期间从大容量存储设备1010中检索程序代码的次数。
被描绘为输入设备1012和输出设备1014的输入/输出(I/O)设备可选地可耦合到数据处理系统。输入设备的示例可以包括但不限于例如麦克风、键盘、诸如鼠标之类的指点设备、游戏控制器、蓝牙控制器、VR控制器、基于手势的输入设备等。输出设备的示例可以包括但不限于例如监视器或显示器、扬声器等。输入设备和/或输出设备可以直接地或者通过中间I/O控制器耦合到数据处理系统。网络适配器1016还可以耦合到数据处理系统以使得它能够通过中间专用或公用网络耦合到其他系统、计算机系统、远程网络设备和/或远程存储设备。网络适配器可以包括:数据接收器,用于接收由所述系统、设备和/或网络发送到所述数据的数据;以及数据发送器,用于将数据发送到所述系统、设备和/或网络。调制解调器、电缆调制解调器和以太网卡是可以与数据处理系统1000一起使用的不同类型的网络适配器的示例。
如图12中所示,存储器元件1004可以存储应用1018。应该领会的是,数据处理系统1000可以进一步执行操作系统(未示出),所述操作系统可方便应用的执行。被以可执行程序代码的形式实现的应用可由数据处理系统1000(例如,由处理器1002)执行。响应于执行应用,数据处理系统可以被配置成执行要在本文中进一步详细地描述的一个或多个操作。
在一个方面中,例如,数据处理系统1000可以表示用于确定虚拟对象的大小的系统。在那种情况下,应用1018可以表示这样的应用,即该应用当被执行时,将数据处理系统1000配置成执行在本文中参考“用于确定虚拟对象的大小的系统”所描述的各种功能。在另一方面中,数据处理系统1000可以表示诸如服务器或渲染设备之类的网络实体。在那种情况下,应用1018可以表示这样的应用,即该应用当被执行时,将数据处理系统1000配置成执行在本文中参考“网络实体”或具体地参考“服务器”或“渲染设备”所描述的各种功能。
在权利要求中,放置在括号之间的任何附图标记不应被解释为限制权利要求。动词“包括”及其动词变化的使用不排除存在除权利要求中陈述的那些元件或步骤以外的元件或步骤。在元件之前的冠词“一”或“一个”不排除存在多个此类元件。可以借助于包括若干不同的元件的硬件并且借助于适当地编程的计算机来实现本发明。在枚举若干装置的设备权利要求中,可以通过硬件的同一项目来具体实现这些装置中的若干个。在相互不同的从属权利要求中叙述某些措施的仅有事实不表明这些措施的组合不能用于获益。

Claims (15)

1.一种用于确定虚拟环境中的虚拟对象的大小的方法,所述虚拟对象表示物理空间中的对象,所述方法包括:
- 从相机获得所述对象的图像数据;
- 获得指示所述相机的视角的相机元数据;
- 估计所述对象与所述相机之间的对象距离;
- 通过以下步骤来估计物理空间中的所述对象的物理大小:
i) 确定所述图像数据中的所述对象的图像大小,并且
ii) 基于所述相机元数据和所述对象距离确定所述图像大小与所述对象的所述物理大小之间的关系;以及
- 依照所述对象的所述物理大小确定用于在所述虚拟环境中渲染的所述虚拟对象的所述大小。
2.根据权利要求1所述的方法,其中,所述虚拟环境中的所述虚拟对象包括所述对象的所述图像数据的视觉渲染。
3.根据权利要求1至2中的任何一项所述的方法,其中所述获得所述相机元数据包括获得包括在所述图像数据中或者与所述图像数据相关联的EXIF元数据、MPEG元数据或ONVIF元数据。
4.根据权利要求1至3中的任何一项所述的方法,其中所述获得所述相机元数据包括:
- 访问包括不同的相机类型的相机元数据的数据库;
- 获得所述相机的类型标识符;以及
- 基于在所述数据库中查找所述相机的所述类型标识符来检索所述相机元数据的至少一部分。
5.根据权利要求1至4中的任何一项所述的方法,其中所述确定所述对象距离包括获得指示所述对象距离的辅助数据,并且其中估计所述对象与所述相机之间的所述对象距离包括分析所述辅助数据。
6.根据权利要求5所述的方法,其中所述辅助数据包括以下各项中的至少一种:
- 指示所述相机的焦距的相机元数据;
- 从连接到所述相机的深度传感器获得的深度数据;
- 从另一相机获得的另一图像数据,其中所述图像数据和所述另一图像数据一起表示所述对象的立体图像数据,并且其中估计所述对象与所述相机之间的所述对象距离包括分析所述立体图像数据;以及
- 从连接到所述相机或者包括在所述相机中的麦克风阵列获得的定向音频数据。
7.根据权利要求1至6中的任何一项所述的方法,其中所述虚拟环境是联网虚拟环境,其中所述相机连接到系统,所述系统连接到网络,并且其中所述方法进一步包括:
- 经由所述网络将所述图像数据从所述系统提供给参与所述联网虚拟环境的网络实体,所述网络实体是托管所述虚拟环境的服务器或渲染设备;以及
- 从所述系统向所述网络实体提供对象大小元数据以使得所述网络实体能够基于所述对象大小元数据依照物理空间中的所述对象的物理大小确立所述虚拟环境中的所述虚拟对象的所述大小。
8.根据权利要求7所述的方法,其中所述方法由所述系统执行,其中所述提供所述对象大小元数据包括:
- 提供由所述系统所确定的所述虚拟环境中的所述虚拟对象的所述大小作为所述对象大小元数据。
9.根据权利要求7所述的方法,其中所述提供所述对象大小元数据包括将所述相机元数据和所述对象距离提供给所述网络实体以使得所述网络实体能够:
- 基于所述相机元数据和所述对象距离估计物理空间中的所述对象的所述物理大小;并且
- 依照所述对象的所述物理大小确定所述虚拟环境中的所述虚拟对象的所述大小。
10.一种暂时性或非暂时性计算机可读介质,其包括与对象的图像数据相关联的对象大小元数据,其中,所述图像数据是从相机获得的,并且其中,所述对象大小元数据包括:
- 指示所述相机的视角的相机元数据;
- 指示所述对象与所述相机之间的对象距离的数据。
11.一种暂时性或非暂时性计算机可读介质,其包括定义虚拟环境中的虚拟对象的大小的对象大小元数据,其中所述虚拟对象表示物理空间中的对象,并且其中所述虚拟环境中的所述虚拟对象的所述大小是依照根据所述对象的图像数据和所述相机元数据所确定的所述对象的物理大小。
12.一种系统,其被配置成生成与虚拟环境中的虚拟对象相关联的对象大小元数据,所述虚拟对象表示物理空间中的对象,所述系统包括:
- 到相机的相机接口,所述相机接口用于获得所述对象的图像数据;
- 存储器,所述存储器包括表示一组指令的指令数据;
- 处理器,所述处理器被配置成与所述相机接口和所述存储器进行通信并且执行该组指令,其中该组指令当由所述处理器执行时,使所述处理器:
- 获得指示所述相机的视角的相机元数据;
- 估计所述对象与所述相机之间的对象距离;
- 基于所述相机元数据和所述对象距离生成对象大小元数据以使得渲染设备或服务器能够基于所述对象大小元数据依照物理空间中的所述对象的物理大小确立所述虚拟环境中的所述虚拟对象的所述大小。
13.根据权利要求12所述的系统,其中该组指令当由所述处理器执行时,使所述处理器:
- 通过以下步骤来估计物理空间中的所述对象的所述物理大小:
i) 确定所述图像数据中的所述对象的图像大小,并且
ii) 基于所述相机元数据和所述对象距离确定所述图像大小与所述对象的所述物理大小之间的关系;
- 依照所述对象的所述物理大小确定所述虚拟环境中的所述虚拟对象的所述大小;以及
- 生成所述对象大小元数据以包括由所述处理器所确定的所述虚拟环境中的所述虚拟对象的所述大小。
14.根据权利要求12或13所述的系统,其中所述虚拟环境是联网虚拟环境,其中所述系统进一步包括到网络的网络接口,其中所述处理器被配置成与所述网络接口进行通信,并且其中该组指令当由所述处理器执行时,使所述处理器:
- 经由所述网络接口将所述图像数据提供给参与所述联网虚拟环境的网络实体,所述网络实体是托管所述虚拟环境的服务器或用于渲染所述虚拟环境的渲染设备;并且
- 将所述对象大小元数据提供给所述网络实体以使得所述网络实体能够基于所述对象大小元数据依照所述对象的所述物理大小确立所述虚拟环境中的所述虚拟对象的所述大小。
15.一种网络实体,所述网络实体是用于托管虚拟环境的服务器或用于渲染所述虚拟环境的渲染设备,所述虚拟环境包括虚拟对象,所述虚拟对象表示物理空间中的对象,所述网络实体包括:
- 到网络的网络接口,所述网络接口用于接收:
- 来自相机的所述对象的图像数据;
- 指示所述虚拟环境中的虚拟对象的大小的对象大小元数据;
- 存储器,所述存储器包括表示一组指令的指令数据;
- 处理器,所述处理器被配置成与所述网络接口和所述存储器进行通信并且执行该组指令,其中该组指令当由所述处理器执行时,使所述处理器:
- 生成所述虚拟环境中的所述虚拟对象以包括所述对象的所述图像数据的视觉渲染;
- 依照所述对象大小元数据确立所述虚拟环境中的所述虚拟对象的所述大小。
CN201780074467.2A 2016-12-02 2017-12-01 确定虚拟对象的大小 Active CN109997175B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16201955.8 2016-12-02
EP16201955 2016-12-02
PCT/EP2017/081119 WO2018100131A1 (en) 2016-12-02 2017-12-01 Determining size of virtual object

Publications (2)

Publication Number Publication Date
CN109997175A true CN109997175A (zh) 2019-07-09
CN109997175B CN109997175B (zh) 2023-12-08

Family

ID=57482264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780074467.2A Active CN109997175B (zh) 2016-12-02 2017-12-01 确定虚拟对象的大小

Country Status (4)

Country Link
US (1) US11037321B2 (zh)
EP (1) EP3549108A1 (zh)
CN (1) CN109997175B (zh)
WO (1) WO2018100131A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11137601B2 (en) * 2014-03-26 2021-10-05 Mark D. Wieczorek System and method for distanced interactive experiences
JP6968610B2 (ja) * 2017-08-01 2021-11-17 キヤノン株式会社 撮像装置、情報処理方法及びプログラム
US10830473B2 (en) * 2018-05-14 2020-11-10 Johnson Controls Technology Company Systems and methods for zoning system setup
WO2020061158A1 (en) 2018-09-18 2020-03-26 TransRobotics, Inc. Technologies for acting based on object detection
US10878585B1 (en) * 2019-10-25 2020-12-29 7-Eleven, Inc. Sensor array for scalable position tracking system
EP3719532B1 (en) 2019-04-04 2022-12-28 Transrobotics, Inc. Technologies for acting based on object tracking
GB2588441B (en) * 2019-10-24 2022-10-05 Sony Interactive Entertainment Inc Method and system for estimating the geometry of a scene
US11610320B2 (en) * 2020-02-19 2023-03-21 Object Video Labs, LLC Remote camera-assisted robot guidance

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103390287A (zh) * 2012-05-11 2013-11-13 索尼电脑娱乐欧洲有限公司 用于增强现实的装置和方法
CN103460256A (zh) * 2011-03-29 2013-12-18 高通股份有限公司 在扩增现实系统中将虚拟图像锚定到真实世界表面
CN103886124A (zh) * 2012-12-21 2014-06-25 达索系统德尔米亚公司 虚拟对象的方位校正
CN105739683A (zh) * 2014-12-31 2016-07-06 意美森公司 为增强和虚拟现实应用生成触觉加强的对象的系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4601666B2 (ja) * 2005-03-29 2010-12-22 富士通株式会社 映像検索装置
US10169646B2 (en) * 2007-12-31 2019-01-01 Applied Recognition Inc. Face authentication to mitigate spoofing
CN103797783B (zh) * 2012-07-17 2017-09-29 松下知识产权经营株式会社 评论信息生成装置及评论信息生成方法
US9852238B2 (en) * 2014-04-24 2017-12-26 The Board Of Trustees Of The University Of Illinois 4D vizualization of building design and construction modeling with photographs
US10229656B2 (en) * 2014-06-18 2019-03-12 Sony Corporation Image processing apparatus and image processing method to display full-size image of an object
US20170286993A1 (en) * 2016-03-31 2017-10-05 Verizon Patent And Licensing Inc. Methods and Systems for Inserting Promotional Content into an Immersive Virtual Reality World

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103460256A (zh) * 2011-03-29 2013-12-18 高通股份有限公司 在扩增现实系统中将虚拟图像锚定到真实世界表面
CN103390287A (zh) * 2012-05-11 2013-11-13 索尼电脑娱乐欧洲有限公司 用于增强现实的装置和方法
CN103886124A (zh) * 2012-12-21 2014-06-25 达索系统德尔米亚公司 虚拟对象的方位校正
CN105739683A (zh) * 2014-12-31 2016-07-06 意美森公司 为增强和虚拟现实应用生成触觉加强的对象的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AI ARAFAT: "How to measure the real size of an object from an unknown picture", 《HTTPS://WWW.RESEARCHGATE.NET/POST/HOW_TO_MEASURE_THE_REAL_SIZE_OF_AN_OBJECT_FROM_AN_UNKNOWN_PICTURE》 *
MICHITAKA HIROSE 等: "Integrating Live Video for Immersive Environments", 《IEEE MULTIMEDIA》 *

Also Published As

Publication number Publication date
CN109997175B (zh) 2023-12-08
US11037321B2 (en) 2021-06-15
WO2018100131A1 (en) 2018-06-07
US20190378289A1 (en) 2019-12-12
EP3549108A1 (en) 2019-10-09

Similar Documents

Publication Publication Date Title
CN109997175A (zh) 确定虚拟对象的大小
US10154246B2 (en) Systems and methods for 3D capturing of objects and motion sequences using multiple range and RGB cameras
US9900510B1 (en) Motion blur for light-field images
US9544574B2 (en) Selecting camera pairs for stereoscopic imaging
US10182187B2 (en) Composing real-time processed video content with a mobile device
JP2021170007A (ja) 複数技術奥行きマップ取得および融合のための方法および装置
WO2021030002A1 (en) Depth-aware photo editing
JP6669063B2 (ja) 画像処理装置および方法
JP2016537903A (ja) バーチャルリアリティコンテンツのつなぎ合わせおよび認識
US20150156475A1 (en) Method and Device for Implementing Stereo Imaging
JP2016537901A (ja) ライトフィールド処理方法
US10762663B2 (en) Apparatus, a method and a computer program for video coding and decoding
Magnor et al. Digital Representations of the Real World
US10354399B2 (en) Multi-view back-projection to a light-field
JP2016504828A (ja) 単一のカメラを用いて3d画像を取り込む方法およびシステム
US11887249B2 (en) Systems and methods for displaying stereoscopic rendered image data captured from multiple perspectives
US20230152883A1 (en) Scene processing for holographic displays
US20230122149A1 (en) Asymmetric communication system with viewer position indications
CN116095353A (zh) 基于体积视频的直播方法、装置、电子设备及存储介质
US20190172252A1 (en) Selecting an Omnidirectional Image for Display
US20220245885A1 (en) Volumetric Imaging
US20240144620A1 (en) Visual effects and content enhancements for vr
US20230195856A1 (en) Method for media creation, sharing, and communication and associated system
US20240144621A1 (en) Visual effects and content enhancements for vr
JP7320400B2 (ja) 映像演出処理装置及びそのプログラム

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