CN106464856A - 用于分析和确定虚拟环境的特性的计算机化系统和方法 - Google Patents

用于分析和确定虚拟环境的特性的计算机化系统和方法 Download PDF

Info

Publication number
CN106464856A
CN106464856A CN201580031866.1A CN201580031866A CN106464856A CN 106464856 A CN106464856 A CN 106464856A CN 201580031866 A CN201580031866 A CN 201580031866A CN 106464856 A CN106464856 A CN 106464856A
Authority
CN
China
Prior art keywords
display
camera
depth
virtual
environment
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
CN201580031866.1A
Other languages
English (en)
Other versions
CN106464856B (zh
Inventor
阿瑞尔·萨克泰-泽尔策
克里斯蒂安·罗伯逊
乔恩·威利
约翰·尼古拉斯·吉特科夫
扎卡里·吉布森
大卫·霍·允·邱
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN106464856A publication Critical patent/CN106464856A/zh
Application granted granted Critical
Publication of CN106464856B publication Critical patent/CN106464856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/388Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume
    • H04N13/395Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume with depth sampling, i.e. the volume being constructed from a stack or sequence of 2D image planes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/21Indexing scheme for image data processing or generation, in general involving computational photography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/008Cut plane or projection plane definition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/007Aspects relating to detection of stereoscopic image format, e.g. for adaptation to the display format

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

提供计算机实现的系统和方法用于分析并确定在显示器上渲染的虚拟环境的特性。所公开的实施例包括例如,用于通过一个或多个处理器获得一个或多个深度参数的方法,该深度参数包括:反映显示器特性的一个或多个显示器参数,其中,显示器参数包括显示器的高度和宽度;以及一个或多个环境深度乘数,其反映缩放因数以优化显示性能。该方法还可包括基于显示器参数通过一个或多个处理器计算对角线显示距离。该方法还可包括基于对角线显示距离和一个或多个环境深度乘数通过一个或多个处理器计算环境深度。该方法还可包括通过一个或多个处理器将显示器的深度设定为等于环境深度。

Description

用于分析和确定虚拟环境的特性的计算机化系统和方法
相关申请的交叉引证
本申请要求于2014年6月24日提交的美国临时专利申请No.62/016,622的权益,其全部内容通过引证结合于本文中。
背景技术
本公开总体上涉及用于向用户显示内容的计算机化系统和方法。更具体地,并且非限制地,所公开的实施例涉及用于确定虚拟环境的性质的系统和方法,该虚拟环境包括虚拟三维环境。
当今,图形用户界面反映了用于将内容和信息传送至用户的重要方式。在现代数字时代,用户与各种设备上的这些界面交互,这些设备包括计算机、移动电话、电视、个人数字助理、手持式系统、收音机、音乐播放器、打印机、平板电脑、信报亭和其他装置。多种传统界面通常以二维方式向用户显示内容。
发明内容
所公开的实施例包括用于分析和确定虚拟环境的特性的计算机化系统和方法,该虚拟环境包括虚拟三维环境。
所公开的实施例包括用于分析和确定虚拟环境的特性的系统和方法,该虚拟环境包括虚拟三维环境。所公开的实施例的方面还提供用于确定虚拟环境的特性的方法和系统,以向用户提供在各种形式因数、客户端装置、操作系统和操作模式上的一致体验。
所公开的实施例还包括例如用于在与客户端装置关联的显示器上生成和渲染虚拟三维环境的系统。该系统可以包括存储一组指令的存储器以及配置成执行该组指令以执行一个或多个操作的一个或多个处理器。该操作可以包括获得一个或多个深度参数,该深度参数包括:反映显示器的特性的多个显示器参数,其中,显示器参数包括显示器的高度和宽度;以及一个或多个环境深度乘数,其反映缩放因数以优化显示性能。该操作还可以包括基于显示器参数确定对角线显示距离以及基于对角线显示距离和一个或多个环境深度乘数确定环境深度。该操作还可以包括将显示器的深度设定为等于环境深度并且根据环境深度在显示器上渲染虚拟三维环境,使得虚拟三维环境中的渲染对象之间的最大视距不超过环境深度。
所公开的实施例例如包括计算机实现的方法,该方法包括由至少一个处理器执行的多个操作。该方法的操作包括获得一个或多个深度参数,该深度参数包括:反映显示器的特性的多个显示器参数,其中,显示器参数包括显示器的高度和宽度;以及一个或多个环境深度乘数,其反映缩放因数以优化显示性能。该方法还包括基于显示器参数确定对角线显示距离以及基于对角线显示距离和一个或多个环境深度乘数确定环境深度。该方法还包括将显示器的深度设定为等于环境深度并且根据环境深度在显示器上渲染虚拟三维环境,使得虚拟三维环境中的渲染对象之间的最大视距不超过环境深度。
所公开的实施例还包括例如用于在显示器上生成和渲染虚拟三维环境的系统,虚拟三维环境与虚拟相机关联。该系统可以包括存储一组指令的存储器以及配置成执行该组指令以执行一个或多个操作的一个或多个处理器。该操作可以包括获得一个或多个深度参数,其中,一个或多个深度参数包括:反映显示器的特性的多个显示器参数,以及反映虚拟相机的性质的一个或多个相机参数,其中,一个或多个相机性质包括相机类型。该操作还可以包括基于一个或多个深度参数和一个或多个相机参数确定相机定位过程。该操作还可以包括基于深度参数和相机定位过程确定与虚拟相机关联的相机位置,该相机位置包括相机高度,相机高度反映虚拟相机按独立于密度的像素计的在虚拟三维环境上方的高度。该操作还可以包括根据相机位置在显示器上渲染所述虚拟三维环境。
所公开的实施例还包括例如用于在显示器上生成和渲染虚拟三维环境的计算机实现的方法,虚拟三维环境与虚拟相机关联。该方法可以包括获得一个或多个深度参数,其中,一个或多个深度参数包括:反映显示器的特性的一个或多个显示器参数;以及反映虚拟相机的性质的一个或多个相机参数,其中,一个或多个相机性质包括相机类型。该方法还可以包括基于一个或多个深度参数和一个或多个相机参数确定相机定位过程。该方法还可以包括基于深度参数和相机定位过程确定与虚拟相机关联的相机位置,该相机位置包括相机高度,相机高度反映虚拟相机按独立于密度的像素计的在虚拟三维环境上方的高度。该方法还可以包括根据相机位置在显示器上渲染所述虚拟三维环境。
所公开的实施例的其他目的和优点将在下面的描述中部分地提出,并且部分地将从描述中显而易见,并且可以通过所公开实施例的实践而习得。所公开的实施例的目的和优点将通过在所附权利要求中具体指出的元件和组合而实现和获得。
应该理解的是,前述总体描述和下列详细描述是仅是示例性的和解释性的,并且不是如权利要求的所公开实施例的限制。
所附的附图构成本说明书的一部分。附图示出了本公开的一些实施例,并且与描述一起用于解释在所附权利要求中提出的所公开实施例的原理。
附图说明
图1示出了符合所公开的实施例的显示在客户端装置上的示例性三维图形用户界面。
图2示出了符合所公开的实施例的显示在客户端装置上示例性虚拟三维图形用户界面。
图3示出了符合所公开的实施例的示例性虚拟三维环境的深度可视化。
图4示出了符合所公开的实施例的示例性深度计算过程的流程图。
图5示出了符合所公开的实施例的示例性正交相机环境。
图6示出了符合所公开的实施例的示例性正交相机环境的截面图。
图7示出了符合所公开的实施例的示例性正交相机位置计算过程的流程图。
图8示出了符合所公开的实施例的示例性透视角相机环境。
图9示出了符合所公开的实施例的示例性透视角相机环境的截面图。
图10示出了符合所公开的实施例的示例性透视角相机位置计算过程的流程图。
图11示出了符合所公开的实施例的用于实现过程的示例性装置系统。
具体实施方式
现将详细描述本公开的实施例,在附图中示出了本公开的这些实施例。在可能的情况下,在整个附图中,相同的参考标号将用于表示相同或类似的部件。
所公开的实施例涉及可以确定在装置上显示的虚拟三维环境的深度、相机属性和其他特征的计算机实现系统和方法。在一些方面,所公开的实施例可以基于与装置关联的一个或多个参数、与装置(例如,显示器)关联的部件、与虚拟环境关联的虚拟相机、可访问性注意事项和/或本文公开的其他信息来确定这些性质。在某些方面中,所公开的实施例可以实现这些性质以在传统二维环境上提供用于增强用户体验的虚拟三维环境。而且,在一些方面,所公开的实施例可以实现为在一些客户端装置的形状因数上提供一致的用户体验。
确定包括虚拟三维环境的虚拟环境的深度可以提供一个或多个优点。例如,在投影可以是用于表示对象深度的主提示的虚拟环境中,确定和控制最大环境深度和/或高度以提供环境内的一致的、标准化的和/或美观投影被证明是有利的。在另一实例中,基于与装置关联的多个参数(例如,装置的物理宽度)或与装置关联的显示器的多个参数(例如,显示器分辨率、密度、物理尺寸等)控制环境深度可以在多个装置及显示器形式因数、尺寸和期望用途方面提供允许一致的用户体验的界面。例如,在一方面,为具有比较薄装置(例如,智能电话)更大物理厚度的装置(例如,CRT电视)提供更大虚拟环境深度可以是有利的。在另一方面,基于与装置关联的期望视距(例如,观看电视的用户与观看平板电脑的用户对比)控制虚拟环境的深度可以被证明是有利的。
图1示出了符合所公开的实施例的显示在客户端装置上的示例性三维图形用户界面。在一些方面,三维界面与传统二维界面的不同之处可以在于其允许对象与高度值关联。在某些实施例中,三维虚拟环境可以与环境深度关联,反映最大视在高度不同的任意两个渲染的对象。在某些环境中,三维虚拟环境可以包括虚拟相机以用于提供用于观测并渲染三维环境的透视角。在一些方面,显示这种三维场景的装置可以被配置成经由符合所公开的实施例的一个或多个过程(诸如投影、遮挡等)表示对象深度。
图2示出了符合所公开的实施例的显示在装置上的示例性虚拟三维图形用户界面。在某些方面,装置(例如,客户端装置210)可以包括用于向用户显示一个或多个交互对象(例如,交互对象232A、232B和232C)的一个或多个显示器(例如,显示器220),或与其关联和/或与其交互。
在一些方面,客户端装置210可以包括符合所公开的实施例的任意计算装置、数据处理装置或显示装置。例如,装置210可以包括个人电脑、手提电脑、平板电脑、笔记本电脑、手持式电脑、个人数字助手、便携式导航装置、移动电话、穿戴式装置、嵌入式装置、智能电话、电视、立体显示器、手持式游戏系统、数字收音机、音乐播放器(例如,iPod)、打印机、信报亭以及能够处理信息并向显示器提供信息的任何其他或替换的计算装置。在某些方面中,客户端装置210可以用一个或多个处理器、基于计算机的系统(例如图11的示例性装置系统)或显示系统(例如与显示器220相关地描述的显示器)实现。在一些方面,客户端装置210可以包括一个或多个客户端装置。
在某些方面,客户端装置210可以包括一个或多个显示器220、与其关联或与其交互。在一些方面,显示器220可以包括用于描绘信息的显示装置或面板。例如,显示器220可以包括一个或多个阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子显示器、发光二极管(LED)显示器、触摸屏式显示器、投影显示器(例如投射在屏幕或表面上的图像、全息图像等)、有机发光二极管(OLED)显示器、场发射显示器(FED)、有源矩阵显示器、真空荧光(VFR)显示器、三维(3D)显示器、电子纸(电子墨水)显示器、微显示器或这些显示器的任意组合。在一些实施例中,显示器220可以包括在客户端装置210中。在其他实施例中,显示器220可以构成在通信网络上与客户端装置210通信的独立装置(例如,如相对于图11所讨论的)。
在某些方面,装置210可被配置成显示用于向用户提供数据、信息、图片、视频、应用、窗口、视图、对象等的图形用户界面。在一些实施例中,界面可以包括一个或多个交互对象(例如,对象232A、232B和/或232C)。在某些实施例中,交互对象可以表现显示在界面上的一个或多个项目、单元或信息包。例如,交互对象(例如,对象232A)可以包括应用窗口(例如,与IOS关联的窗口、微软窗口、谷歌安卓、苹果OS X、其他特性窗口等)、视图、按钮、文本框、图标、图片、视频、字段、检索字段、通知栏或能够提供信息和/或接收输入的任何其他可视提示。
在某些方面,装置210可以被配置成在显示器220上显示一个或多个深度指示器(例如,指示器234A、234B和/或234C)。在一些实施例中,深度指示器可以反映对应的交互对象的视深或视高的任何描绘或图像指示。在某些实施例中,例如,深度指示器可以采用投影或内阴影的形式,其代表对应的界面物体在虚拟三维环境中位于另一个的上方或下方(例如,如相对于指示器234A和234B所示)。在另一实例中,深度指示器可以采用其他形式,诸如虚拟棱镜、箱或立柱的侧面(例如,符合深度指示器234C)。
在某些方面,深度指示器可以被配置成反映虚拟环境或情景中的交互对象的相对高度和/或位置。例如,深度指示器可以改变其形状、尺寸、颜色、强度、不透明度、梯度、饱和度、亮度等,以表示虚拟环境中的对象的相对位置(或相对位置的变化)。如图2所示,例如,深度指示器234B可以展现出比深度指示器234A更少遮挡,这例如代表交互对象232B位于交互对象232A上方(例如,在虚拟环境中具有更大的相对高度)。在一些实施例中,在客户端装置210中实现的过程可以被配置成响应于例如符合所公开实施例的用户输入、系统进程、接收数据或其他触发器改变交互对象的相对高度(例如,改变对应神队指示器的性质和/或外观)。
图3示出了符合所公开的实施例的示例性虚拟三维环境的深度可视化。在一些方面,三维环境可以包括深度302,其表示在三维环境中的对象之间允许的最大视距。在一些实施例中,视距可以反映虚拟高度值的数量差异。通过示出的实例,三维环境可以包括底面310,其表示交互对象在三维环境中可以采用的最低高度。类似地,三维环境可以包括屏幕面320,其表示交互对象在三维环境中可以采用的最高高度。三维环境还可以包括一个或多个中间面330,其反映交互对象可以采用的任意中间允许高度。在这些实例中,三维环境的深度302可以反映屏幕面320与底面310之间的视距的差值。而且,术语“底面”、“屏幕面”和“中间面”的用途仅用于示意性的目的且并非是限定或限制的术语。
在一些实施例中,深度302可以基于与客户端装置210、显示器220、用户偏好、可访问性注意事项等关联的一个或多个参数(例如,经由包括在客户端装置210上的处理器计算)。在一些方面,例如,深度302可以基于反映显示器220的特性的一个或多个显示器参数。例如,显示器参数可以包括显示分辨率(例如,显示器的像素的高度和/或宽度)、显示密度(例如,一个或多个单位距离或面积内的像素密度)、与显示器关联的平均视距(例如,用户将观看显示器的期望的、均值、中值、模式或其他统计学或预定的距离)、显示尺寸(例如,物理比例或显示范围)等。
在某些方面,深度302可以基于与客户端装置210的特性对应的一个或多个装置参数。例如,装置参数可以包括装置深度(例如,与装置210关联的物理深度)、装置类型(例如,电视、智能电话、显示器、平板电脑等,和/或这些类型的任何其他解疑,诸如CRT显示器、LCD显示器、等离子显示器等)、操作系统等。
在某些实施例中,深度302还可以基于用三维环境定制用户体验的一个或多个可访问性参数。例如,在一方面,可访问性参数可以包括反映最大深度许用的深度限制。在一些实施例中,例如,深度限制可以基于装置参数(例如,装置类型)、显示器参数(例如,显示分辨率)、绝对深度值等。如另一实例,可访问性参数可以包括用三维环境定制用户体验的一个或多个用户偏好。例如,在一方面,用户偏好可以包括用户深度倍增因数,其增加或减小对象的视深、改变深度指示器的性质和/或形式(例如,形状、颜色等)等。在一些方面,深度302可以从符合所公开的实施例的其他参数(例如,其他深度参数)计算,诸如本文公开的绝对深度值(例如,固定深度)、倍增因数(例如,环境深度乘数)等。
图4示出了符合所公开的实施例的示例性深度计算过程400的流程图。在某些实施例中,过程400可以在实现一个或多个计算系统或处理器(例如,图11的装置系统1100)的客户端装置(例如,客户端装置210)中实现。
如图4所示,过程400可以包括获得符合所公开的实施例的一个或多个深度参数(步骤410)。在某些方面,深度参数可以包括一个或多个显示器参数、装置参数、可访问性参数或本文公开的其他参数(例如,环境深度乘数)。例如,在一方面,过程400可以包括获得一个或多个显示器参数,诸如与显示器220关联的显示分辨率(例如,显示器220按独立于密度的像素计的高度和/或宽度)。在某些实施例中,过程400可以从与客户端装置210关联的系统(例如,存储器、存储装置、与客户端装置连接或连通的其他计算机系统等)获得深度参数。
在一些实施例中,深度计算过程400可以包括部分地基于所获得的深度参数计算对角线显示距离(步骤420)。在某些方面,对角线显示距离可以反映按独立于密度的像素表示的显示器的对角线长度。例如,在一方面,可以根据下列公式从显示分辨率(例如,显示器按独立于密度的像素计的宽度和高度)计算对角线显示距离:
其中,显示宽度和显示高度可以对应于按独立于密度的像素计的宽度和高度显示器参数。
在一些方面,深度计算过程400可以包括基于所获得的深度参数、对角线显示距离和/或符合所公开实施例的其他因数来计算环境深度并应用修正(步骤430)。在一些实施例中,环境深度可以部分地基于源于一个或多个显示器参数(例如,按独立于密度的像素计的显示高度和深度)的对角线显示距离。在某些方面,环境深度还可以结合符合所公开实施例的其他深度参数和变量。在一些实施例中,环境深度可以按独立于密度的像素计的单位表达。
例如,在一些方面,可以基于对角线显示距离和环境深度乘数计算环境深度。在某些实施例中,环境深度乘数可以包括反映用于最佳环境深度(例如,用于优化环境美学、性能、体验等)的期望缩放因数的任意正实数(例如,1.0、0.15、1/π等)。在一些方面,环境深度乘数对于所有计算的环境深度可以是恒定的。例如,在一方面,环境深度乘数对于所有的装置、显示器等可以是恒定的。在其他方面,环境深度乘数可以基于一个或多个深度参数而变化。例如,在一个实施例中,环境深度乘数可以根据装置类型(例如,电视整体、诸如CRT的一类电视、可佩戴装置、桌面显示器等)、特殊装置(例如,特别薄的智能电话)、显示分辨率(例如,大显示器)、显示密度等而变化。
在一些方面,过程430可以基于例如所计算的对角线距离和环境深度乘数来计算环境深度。例如,在一个实施例中,可以从对角线显示距离和环境深度乘数的结果计算环境深度:
环境深度=对角线显示距离·环境深度乘数
在一些方面,环境深度计算过程400可以在其深度计算程序中结合一个或多个其他深度参数。在一些实施例中,这些参数可以改变、更改或修改过程400如何计算或修正所计算的环境深度。例如,在某些实施例中,环境深度计算过程400可以将所计算的环境深度修改成配合在某一范围(例如,按独立于密度的像素计的范围)内、考虑具体装置类型(例如,增加用于CRT电视的计算环境深度)、考虑期望的装置用途(例如,基于显示器220的期望视距)等。在一些实例中,所获得的深度参数可以包括下限或上限深度,其分别防止所计算的深度降到一预定数以下或超过一预定数,而与对角线距离或装置类型等无关。在某些实施例中,环境深度计算过程400可以包括在应用所有计算和修正(例如,存储至存储器、存储装置、传输至与实现过程400的客户端装置210关联的计算机系统,等)以后将情景的深度设定为计算的环境深度(步骤440)。
在一个示意性实例中,过程400可以获得与特定显示器220的宽度和高度关联的深度参数。过程400可以确定显示器的宽度和高度例如分别为1500和800的独立于密度的像素。在一些方面,过程400可以基于显示分辨率(例如,在这个实例中的1700像素)计算对角线距离。过程400可以包括获得默认或标准环境深度乘数,用该默认或标准环境深度乘数计算环境深度(例如0.15)。在某些实施例中,过程400可以包括获得装置参数(例如,装置类型)。在一些方面,这些装置参数可以反映与显示器220关联的客户端装置210需要修改的环境宽度(例如,0.2,以例如考虑客户端装置或显示器的已知厚度或期望用途)。在某些方面,过程400可以基于对角线距离和(修改的)环境深度乘数计算环境深度(例如,340像素=1700*0.2)。
继续上述示例性过程,过程400还可以包括确定所计算的环境深度需要调节(例如,其超过如在可访问性参数中限定的最大或深度或下降到最小深度以下,等)。在一些方面,例如,过程400可以获得可访问性参数,该可访问性参数反映与显示器220关联的客户端装置210不可以产生超过某一数量的独立于密度的像素(例如,300DIP)的深度。在这个实例中,例如,过程400可以将用于三维环境的计算环境深度减小至300独立于密度的像素以与所获得的最大深度一致。符合上述进程,过程400可以继续改善、修正和修改所计算的环境深度以实现在各种装置、形成因数、操作系统、期望装置用途等的上的一致的用户体验。
在一些方面,所公开的实施例可以实现过程以渲染和操纵本文包括的虚拟环境和对象(例如,交互对象)。例如,在一方面,所公开的实施例可以被实现(例如,在实现一个或多个计算机系统或处理器、诸如图11的装置系统1100的客户端装置210中)以在显示器220上渲染虚拟三维环境。在一些实施例中,客户端装置210可以执行过程来根据所计算的环境深度渲染三维环境。例如,客户端装置210可以被配置成将虚拟三维情景渲染成使得所渲染的交互对象之间的最大视距被控制在环境深度内。在一些方面,客户端装置210可以被配置成确保两个对象之间的虚拟高度差不超过环境深度(或环境深度的一些因数)。例如,在一些方面,客户端装置210可以被配置成(例如,通过比较与对象关联的高度值)确定两个对象之间的虚拟高度差,并且如果所确定的高度差超过环境深度(或其一些因数)则将虚拟高度距离设定为环境深度(或其一些因数)。
所公开的实施例还包括用于确定观看、渲染和描绘显示环境的虚拟相机的属性的系统和方法。在一些实施例中,虚拟环境可以与反映、限定和表示环境中的对象(例如,交互对象)如何显示给用户的虚拟相机关联。在一些方面,虚拟相机可以与反映虚拟相机的特性的一个或多个相机参数关联。例如,在一些实施例中,一个或多个相机参数可以包括相机位置(例如,反映水平、竖直和/或高度位置的笛卡尔坐标系中的x、y和/或z位置)、视野、相机类型(例如,正交的、透视角的等)等。在某些实施例中,虚拟相机可以支持不同类型的观看系统,诸如正交观看、透视角观看等。
图5示出了符合所公开的实施例的示例性正交相机环境500。环境500可以包括一个或多个虚拟相机502,其被配置成示出虚拟环境或情景(例如,包括位于面310、320、330、任何其他中间面等上的交互对象)。虚拟情境可以具有经由符合所公开的实施例的过程确定的深度302(例如,基于屏幕面320与底面310之间的差值)。在一些方面,环境500可以包括与虚拟相机502的可视区域对应的截头锥体510。在某些方面,截头锥体510可以由显示器的角(例如,面310、320和/或330的角)约束。虚拟相机502可以位于虚拟环境上方的一高度504。在一些方面,高度504可以大于环境中的最高对象的高度(例如,位于屏幕面320上的交互对象)。
图6示出了符合所公开的实施例的示例性正交相机环境的截面图。在一些方面,虚拟相机502可以位于与客户端装置210关联的显示器220上方的高度504。在某些实施例中,虚拟相机502可以与截头锥体510关联,该截头锥体对向于由显示器220的边界约束的直角棱柱。在一些实施例中,对于给出的截头锥体510,虚拟相机502可以位于沿着截头锥体的上表面的任意点处(例如,页面内外的截头锥体510的最右边缘和最左边缘)。
图7示出了符合所公开的实施例的示例性正交相机位置计算过程700的流程图。在一些方面,过程700可以在实现一个或多个计算机系统或处理器(例如,图11的装置系统1100)的客户端装置(例如,客户端装置210)中实现。
如图7所示,过程700可以包括以符合所公开的实施例的方式获得一个或多个深度参数(步骤710)。例如,过程700可以被配置成获得反映显示器220的显示分辨率、与显示器220关联的期望观看距离等的显示器参数。在一个实施例中,例如,过程700可以获得反映水平地和竖直地跨越显示器220的像素数量的显示器参数。在某些实施例中,所获得的深度参数还可以包括一个或多个相机参数,比如,与虚拟相机502关联的相机类型(例如,正交相机类型)、相机高度502(例如,按独立于密度的像素计)等。
在某些方面,过程700可以包括基于所获得的深度参数(例如,所获得的相机类型)确定用于虚拟相机502的相机定位过程(步骤720)。基于所获得的深度参数和所确定的相机定位过程,过程700可以包括计算用于虚拟相机502的相机位置(步骤730)。在一些实施例中,例如,相机位置可以对应于显示器220的中心设定在虚拟环境上方的合适高度。在这个实例中,虚拟相机502的相机位置可以由以下坐标给出:
其中,水平像素数表示沿着显示器220的水平方向的独立于密度的像素的数量,竖直像素数表示沿着显示器220的竖直方向的独立于密度的像素的数量,并且相机高度表示显示器220上方的按独立于密度的像素计的高度。
在其他实施例中,虚拟相机502可以位于沿着给定截头锥体的上表面(例如,沿着给定相机高度502处的虚拟环境上方的矩形)的任意坐标处。在这个实例中,虚拟相机502的相机位置可以包括具有下列顶点的矩形内的任意位置:
在某些实施例中,过程700可以基于一个或多个所获得的深度参数、环境深度或其他值来修改、改变或修正所计算的相机位置(步骤740)。例如,过程700可以被配置成确定虚拟情境中的最高对象并将与虚拟相机502关联的相机高度设定为比对象的高度更大的值。在一些实施例中,例如,过程700可以包括确保满足下列关系,并且如果不满足则修改所计算的相机高度:
相机高度>max{对象高度}
其中,对象高度表示在给定的虚拟环境中的所有对象的高度组。在另一实施例中,过程700可以确定虚拟相机必须位于与对象高度(例如,最大允许相机高度)不相关的一些其他阈值高度以上或以下、必须位于某个平面范围内(例如,显示器220的水平和竖直边界内),并且根据这些参数改变相机位置。然后,过程700以及符合所公开的实施例的其他过程可以设定相机和符合所确定的值的高度和/或位置以因此生成和渲染三维环境。
图8示出了符合所公开的实施例的示例性透视角相机环境800。环境800可以包括配置成示出虚拟情境或环境的一个或多个虚拟相机502。虚拟情境可以与以符合所公开的实施例的方式确定的深度302关联(例如,基于屏幕面320与底面310之间的高度差)。在一些方面,环境500可以包括限定虚拟相机502的可视区域的截头锥体510。在某些方面,截头锥体510可以由显示器的角(例如,面310、320和/或330的角)约束。在一些方面,与透视图关联的虚拟相机502的截头锥体510可以采用矩形锥的形状(例如,如图8所示)代替直角棱柱(例如,相对于图5中的正交相机所示)。在一些实施例中,虚拟相机502可以位于虚拟环境上方的高度504。
图9示出了符合所公开的实施例的示例性透视角相机环境的截面图。在一些方面,虚拟相机502可以位于与客户端装置210关联的显示器220上方的高度504。在某些实施例中,虚拟环境502可以与截头锥体510关联,该截头锥体对向于由显示器22的边界约束的矩形锥(例如,如图9所示)。在一些实施例中,截头锥体510的形状可以限定与具有透视角相机类型的虚拟相机502关联的视场(FOV)902。在某些方面,FOV 902可以表示对向在虚拟相机502与显示器22的边缘之间的角截头锥体510。
图10示出了符合所公开的实施例的示例性透视角相机位置计算过程1000的流程图。在一些方面,过程1000可以在实现一个或多个计算机系统或处理器(例如,图11的装置系统1100)的客户端装置(例如,客户端装置210)中实现。
如图10所示,过程1000可以包括以符合所公开的实施例的方式获得一个或多个深度参数(步骤1010)。在一方面,例如,过程1000可以包括获得反映平均视距、显示密度和显示分辨率或其任意部分(例如,显示器220中的水平像素的数量)的显示器参数。在某些实施例中,所获得的深度参数还可以包括一个或多个相机参数,例如,与虚拟相机502关联的相机类型(例如,透视角相机类型)等。在一些实施例中,所获得的深度参数可以包括符合所公开的实施例的其他参数,诸如本文公开的装置参数和可访问性参数。
在某些方面,过程1000可以包括基于所获得的深度参数(例如,所获得的相机类型)确定用于虚拟相机502的相机定位过程(步骤1020)。在某些实施例中,基于确定虚拟相机502对应于透视角相机类型(例如,与诸如相对于图7讨论的正交相机的另一相机类型相反),过程1000可以包括计算反映显示器220的宽度的显示宽度(步骤1030)。在某些方面,过程1000可以基于所获得的深度参数计算显示宽度。例如,在一实施例中,过程1000可以包括根据下列等式计算显示宽度:
其中,显示宽度对应于显示器220的物理宽度,并且像素密度对应于在显示器的与显示宽度关联的方向上的像素密度(例如,每单位长度的像素)。在其他实施例中,过程1000可以获得直接作为深度参数(例如,作为显示器或装置参数)的显示宽度,而不需要中间计算步骤。
在某些方面,过程1000可以包括计算限定用于虚拟相机502的截头锥体510的FOV(步骤1040)。在某些实施例中,过程1000可以基于所获得的深度参数计算FOV 902。在一方面,例如,过程1000可以被配置成根据下列等式确定FOV 902:
其中,视距对应于显示器220(或客户端装置210)的特定形式因数的平均、期望、中值、模式或其他统计学的或预定的特性视距,并且FOV对应于FOV 902。例如,与电视关联的视距可以为几米,而与智能电话显示器关联的视距可以仅为一英尺以上。
如图10所示,过程1000可以包括基于例如所计算的显示宽度和/或FOV 902确定用于虚拟相机502的相机高度(步骤1050)。例如,在一方面,过程1000可以根据下列等式确定相机高度:
其中,相机高度对应于虚拟相机502的以距离为单位的高度。在其他方面,过程1000可以使用其他获得的深度参数和/或源于其的值以确定相机高度。例如,在一个实施例中,过程1000可以基于期望的视距显示器参数(例如,表示视距的值)确定相机高度。
在某些方面,过程1000可以包括计算反映虚拟相机502的按像素的高度的相机像素高度(步骤1060)。在一些实施例中,可以基于所获得的深度参数和其他计算值计算虚拟相机502的相机像素高度。例如,在一个实施例中,过程1000可以被配置成根据下列等式基于相机高度和像素密度计算相机像素高度:
相机像素高度=相机高度·像素密度
其中,相机像素高度对应于所计算的按像素的相机高度,并且像素密度对应于与显示器220关联的像素密度(例如,在显示器的与像素宽度关联的方向上、其他方向的像素密度、其他值等)。
在某些实施例中,过程1000可以包括计算用于虚拟相机502的相机位置(步骤1070)。过程1000可以基于所获得深度参数和符合过程1000的其他计算值计算相机位置。例如,在一方面,过程1000可以根据下列笛卡尔坐标计算用于虚拟相机502的相机位置:
其中,水平像素数表示沿着显示器220的水平方向的独立于密度的像素的数量,竖直像素数表示沿着显示器220的竖直方向的独立于密度的像素的数量,并且相机像素高度表示显示器220上方的按独立于密度的像素计的高度。
过程1000还可以包括修改所计算的相机位置或者将修正应用于所计算的相机位置(步骤1080)。例如,在一实施例中,过程1000可以包括确定虚拟相机502的高度是否超过虚拟环境中的最高对象(例如,交互对象)的高度。在这个实例中,如果过程1000确定虚拟相机502的高度小于虚拟环境中的最高对象的高度,过程1000可以将虚拟相机502的高度设定为超过对象的高度的值:
相机像素高度>max{对象高度}
过程1000可以包括符合所公开的实施例的相机高度的其他修正、修改、添加和更改。此外,过程1000和符合本文公开的这些的其他过程可以包括将虚拟相机的位置设定为计算位置(或符合所公开实施例的任何这种位置或高度),并且根据相机位置渲染三维环境。
图11示出了用于实现符合所公开的实施例,包括本文描述的示例性系统和方法的过程的示例性装置系统。装置系统1100可以包括一个或多个装置(例如装置210)。装置系统1100中的部件的布置和数量被提供用于示意性的目的。可以做出符合所公开的实施例的附加布置、部件数量或其他修改。
装置系统1100可以包括用于执行指令的一个或多个处理器1100。例如,适用于执行指令的处理器包括总体和特定目的微处理器,以及任意类型数字计算机的一个或多个处理器。装置系统1110还可以包括一个或多个输入/输出(I/O)装置1120。例如,I/O装置1120可以包括按键、按钮、鼠标、控制杆、手写笔、手势传感器(例如,摄像机)、移动传感器(红外传感器、超声波传感器等)、声音传感器(例如,麦克风)等。按键和/或按钮可以为物理的和/或虚拟的(例如,设置在触摸屏界面上)。
装置系统1100可以包括一个或多个存储装置,该存储装置被配置成存储由处理器1110使用的数据和/或软件指令,以执行符合所公开的实施例的操作。例如,装置系统110可以包括主存储器1130,该主存储器被配置成存储一个或多个软件程序,该软件程序在由处理器1110执行时使处理器执行符合所公开的实施例的功能或操作。例如,主存储器1130可以包括NOR或NAND闪存装置、只读存储(ROM)装置、随机访问存储(RAM)装置等。装置系统1100还可以包括一个或多个存储介质1140。例如,存储介质1140可以包括硬盘、固态硬盘、磁带驱动器、独立磁盘荣誉阵列(RAID)阵列等。虽然图11示出了仅一个主存储器1130和一个存储介质1140,单装置系统1100可以包括任意数量的主存储器1130和存储介质1140。而且,虽然图11示出了主存储器1130和存储介质1140作为装置系统1100的一部分,但主存储器1130和/或存储介质1140可以远程定位,并且装置系统1100能够经由通信网络(例如,LAN、无线LAN、蜂窝网络、RF网络、近场通信(NFC)网络(例如,WiFi网络)、连接多个无线LAN的无线局域网络(MAN)、NFC通信链路、任何物理有限连接(例如,经由I/O端口)、WAN(例如,互联网)等)访问主存储器1130和/或存储介质1140。
存储介质1140可以被配置成存储数据,并且可以存储从一个或多个装置210接收的数据。所储存的数据可以包括符合所公开实施例的任何信息。例如,存储介质1140可以被配置成存储与显示器参数、装置参数、可访问性参数、其他参数(环境深度乘数)、源于此的任何信息(例如,深度)、包括这种参数的任何信息(例如,查找用于装置类型的表,最大深度)等关联的信息。
装置系统1100还可以包括用于显示数据和信息的一个或多个显示器。显示器1150可以使用一个或多个显示面板来实现,其可以包括例如一个或多个阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子显示器、发光二极管(LED)显示器、触摸屏式显示器、投影显示器(例如,投射在屏幕或表面上的图像、全息图像等)、有机发光二极管(OLED)显示器、场发射显示器(FED)、有源矩阵显示器、真空荧光(VFR)显示器、三维(3D)显示器、电子纸(电子墨水)显示器、微显示器、或上述类型显示器的任意组合。
装置系统1100还可以包括一个或多个通信接口1160。通信接口1160可以允许软件和/或数据传输装置系统1100和其他系统。通信接口1160的实例可以包括调制解调器、网络接口卡(例如,以太网卡)、通信端口、个人电脑记忆卡国际协会(PCMCIA)槽和卡、天线,等。通信接口1160可以传输信号形式的软件和/或数据,其可以是电子信号、电磁信号、光信号和/或其他类型的信号。信号可以经由通信网络被提供至通信接口1160和/或从通信接口提供,这可以使用有线、无线、线缆、光纤、射频(RF)和/或其他通信通道来实现。
所公开的实施例不限于配置成执行专用任务的独立程序或计算机。例如,装置210可以包括主存储器1130,该主存储器存储单个程序或多个程序并且可以附加地从另一装置、服务器或计算机系统远程地执行一个或多个程序。在一些方面,显示器220可以执行一个或多个远程存储的程序,代替或还有存储在这些装置上的程序。
本文公开的计算机实现的方法可以例如通过一个或多个处理器执行,该处理器接收来自一个或多个非永久性计算机可读存储介质接收指令。类似地,符合本公开的系统可以包括至少一个处理器和存储器,并且存储器可以为非永久性计算机可读介质。
如本文使用的,非永久性计算机可读存储介质表示由处理器可存储可由处理器读取的信息或数据的任意类型的物理存储器。实例包括随机访问存储器(RAM)、只读存储器(ROM)、易失存储器、非易失存储器、硬盘、CD ROM、DVD、闪存、磁条存储器、半导体存储器、光盘存储器、磁光盘存储器,和/或任何其他已知物理存储介质。单数术语,诸如“存储器”和“计算机可读存储介质”还可以表示多重结构,诸如多个存储器和/或计算机可读存储介质。
如本文指出的,除非另外指定,否则“存储器”可以包括任意类型的计算机可读存储介质。计算机可读存储介质可以通过一个或多个处理器存储用于执行的指令,包括用于使一个或多个处理器执行符合本文公开的实施例的步骤或阶段的指令。此外,可以用实现计算机实现的方法利用一个或多个计算机可读存储介质。
为了示出的目的提出了前文的描述。其不是详尽的且不限于所公开的精确形式或实施例。实施例的修改和适应将从说明书的考虑和所公开实施例的实践显而易见。例如,所公开的实现方式包括硬件和软件,但符合本公开的系统和方法可以仅被实现为硬件。
基于所写的描述和本说明书的方法的计算机程序在软件开发者的技术内。可以使用各种编程技术产生各种程序或程序模块。例如,可以用或借助Java、C、C++、汇编语言或任何这种变成语言来涉及程序段或程序模块。这种软件段或模块的一个或多个可以一体形成在装置系统或现有通信软件中。
而且,虽然本文描述的示意性的实施例,但应该认识到,本公开的范围包含具有(例如各种实施例的方的面)等价元件、修改、省略、结合的任意和所有实施例,考虑本公开的适应和/或改变。权利要求中的元件基于权利要求中使用的语言广义地理解,并且不限于本说明书中或进行应用期间描述的实例,该实例应被认为是非限制的。而且,所公开的方法的步骤可以用任何方式修改,包括重排序步骤和/或插入或删除步骤。
本公开的多个特征和优点从详细描述中显而易见,并由此,所附的权利要求旨在覆盖所有系统和方法,其落在本公开的真实实质和范围内。如本文描述的,不定冠词“一个(a)”和“一个(an)”在开放权利要求中表示“一个或多个”,其含有连词“包括”、“包含”和/或“具有”。而且,由于本领域技术人员将容易进行多种修改和变化,所以不期望将本公开限制为所示和所描述的精确构造和操作,并因此,可以采用落在本公开的范围内的所有合适的修改和等价物。
本领域技术人员从本文公开的描述的考虑及实施例的实践中将认识到其他实施例。描述和实例旨在被认为仅是实例,所公开的实施例的真实范围和实质由所附权利要求表示。

Claims (20)

1.一种用于在与客户端装置关联的显示器上生成和渲染虚拟三维环境的系统,包括:
存储器,存储一组指令;以及
一个或多个处理器,被配置成执行所述一组指令以执行一个或多个操作,所述操作包括:
获得多个深度参数,所述深度参数包括:
反映所述显示器的特性的多个显示器参数,其中,所述显示器参数包括所述显示器的高度和宽度,以及
一个或多个环境深度乘数,所述一个或多个环境深度乘数反映缩放因数以优化显示性能;
基于所获得的显示器参数确定对角线显示距离;
基于所述对角线显示距离和所述一个或多个环境深度乘数确定环境深度,所述环境深度反映在虚拟环境中的对象之间允许的最大视距;以及
根据所述环境深度在所述显示器上渲染所述虚拟三维环境,使得所述虚拟三维环境中的所渲染的对象之间的所述最大视距不超过所述环境深度。
2.根据权利要求1所述的系统,其中,所述操作还包括获得反映所述客户端装置的特性的一个或多个装置参数,并且其中:
所述装置参数包括装置类型和装置深度中的至少一个;
所述一个或多个环境深度乘数中的至少一个基于所述一个或多个装置参数;并且
所述环境深度部分地基于所述一个或多个装置参数。
3.根据权利要求2所述的系统,其中,所述操作还包括获得用所述虚拟环境定制用户体验的一个或多个可访问性参数,并且其中:
所述可访问性参数包括用户偏好或深度限制中的至少一个,所述深度限制基于所述装置类型;并且
所述环境深度部分地基于所述一个或多个可访问性参数。
4.根据权利要求1所述的系统,其中,所述操作还包括:
确定第一交互对象与第二交互对象之间的虚拟高度差是否超过所述环境深度;
修改所述第一交互对象和所述第二交互对象的虚拟位置,使得所述虚拟高度距离不超过所述环境深度;以及
根据所述修改渲染所述第一交互对象和所述第二交互对象。
5.根据权利要求1所述的系统,其中,所述虚拟三维环境与虚拟相机关联,所述虚拟相机具有反映所述虚拟相机与所述虚拟三维环境之间的虚拟距离的相机高度,并且其中,所述操作还包括向所述虚拟相机提供指令,以将所述相机高度设定为基于所述深度参数的值。
6.根据权利要求1所述的系统,其中,所述对角线显示距离基于所述显示器按独立于密度的像素计的高度和宽度。
7.一种用于在与客户端装置关联的显示器上生成和渲染虚拟三维环境的计算机实现的方法,所述方法包括由一个或多个处理器执行的下列操作:
获得多个深度参数,所述深度参数包括:
反映所述显示器的特性的多个显示器参数,其中,所述显示器参数包括所述显示器的高度和宽度,以及
一个或多个环境深度乘数,所述一个或多个环境深度乘数反映缩放因数以优化显示性能;
基于所获得的显示器参数确定对角线显示距离;
基于所述对角线显示距离和所述一个或多个环境深度乘数确定环境深度,所述环境深度反映在虚拟环境中的对象之间允许的最大视距;以及
根据所述环境深度在所述显示器上渲染所述虚拟三维环境,使得所述虚拟三维环境中的所渲染的对象之间的所述最大视距不超过所述环境深度。
8.根据权利要求7所述的计算机实现的方法,其中,所述操作还包括获得反映所述客户端装置的特性的一个或多个装置参数,并且其中:
所述装置参数包括装置类型和装置深度中的至少一个;
所述一个或多个环境深度乘数中的至少一个基于所述一个或多个装置参数;并且
所述环境深度部分地基于所述一个或多个装置参数。
9.根据权利要求8所述的计算机实现的方法,其中,所述操作还包括获得用所述虚拟环境定制用户体验的一个或多个可访问性参数,并且其中:
所述可访问性参数包括用户偏好或深度限制中的至少一个,所述深度限制基于所述装置类型;并且
所述环境深度部分地基于所述一个或多个可访问性参数。
10.根据权利要求7所述的计算机实现的方法,其中,所述操作还包括:
确定第一交互对象与第二交互对象之间的虚拟高度差是否超过所述环境深度;
修改所述第一交互对象和所述第二交互对象的虚拟位置,使得所述虚拟高度距离不超过所述环境深度;以及
根据所述修改渲染所述第一交互对象和所述第二交互对象。
11.根据权利要求7所述的计算机实现的方法,其中,所述虚拟三维环境与虚拟相机关联,所述虚拟相机具有反映所述虚拟相机与所述虚拟三维环境之间的虚拟距离的相机高度,并且其中,所述操作还包括向所述虚拟相机提供指令,以将所述相机高度设定为基于所述深度参数的值。
12.根据权利要求7所述的计算机实现的方法,其中,所述对角线显示距离基于所述显示器按独立于密度的像素计的高度和宽度。
13.一种用于在显示器上生成和渲染虚拟三维环境的系统,所述虚拟三维环境与虚拟相机关联,所述系统包括:
存储器,存储一组指令;以及
一个或多个处理器,被配置成执行所述一组指令以执行一个或多个操作,所述操作包括:
获得多个深度参数,所述深度参数包括:
反映所述显示器的特性的一个或多个显示器参数,以及
反映所述虚拟相机的性质的一个或多个相机参数,其中,所述一个或多个相机性质包括相机类型;
基于所述深度参数确定相机定位过程;
基于所述深度参数和所述相机定位过程确定与所述虚拟相机关联的相机位置,所述相机位置包括相机高度,所述相机高度反映所述虚拟相机按独立于密度的像素计的在所述虚拟三维环境上方的高度;以及
根据所述相机位置在所述显示器上渲染所述虚拟三维环境。
14.根据权利要求13所述的系统,其中,所述一个或多个显示器参数包括下列参数中的至少两个:
在沿着所述显示器的第一方向上的水平像素数;
在沿着所述显示器的第二方向上的竖直像素数;
与所述显示器关联的像素密度;以及
与所述显示器关联的视距,所述视距反映与所述显示器关联的特征视距;并且
其中,所述相机类型包括正交相机或透视角相机中的至少一个。
15.根据权利要求14所述的系统,其中,所述操作还包括:
基于所述一个或多个显示器参数确定与所述虚拟相机关联的视场,所述视场限定由所述显示器和所述虚拟相机对向的截头锥体;
基于所述视场和所述一个或多个显示器参数确定与所述虚拟相机关联的相机高度距离,所述相机高度距离反映所述虚拟相机以距离为单位的高度;以及
基于所述一个或多个显示器参数和所述相机高度距离设定与所述虚拟相机关联的所述相机高度;以及
基于所述相机高度渲染三维环境。
16.根据权利要求15所述的系统,其中,所述操作还包括:
确定与最高高度值对应的最大对象高度,所述最高高度值与在所述显示器上显示的交互对象关联;
确定与所述相机位置关联的所述相机高度是否超过所述最大对象高度;以及
当所述相机高度未超过所述最大对象高度时将所述相机高度设定为比所述最大对象高度更大的值。
17.根据权利要求13所述的系统,其中:
所述深度参数包括:
与装置关联的一个或多个装置参数,所述装置与所述显示器相关,所述一个或多个装置参数包括所述装置的装置类型;以及
一个或多个可访问性参数,所述可访问性参数用所述虚拟三维环境定制用户体验,所述可访问性参数包括用户偏好;并且
所述相机位置部分地基于所述一个或多个装置参数和所述一个或多个可访问性参数。
18.一种用于在显示器上生成和渲染虚拟三维环境的计算机实现的方法,所述虚拟三维环境与虚拟相机关联,所述方法包括在一个或多个处理器上执行的下列操作:
获得多个深度参数,所述深度参数包括:
反映所述显示器的特性的一个或多个显示器参数,以及
反映所述虚拟相机的性质的一个或多个相机参数,其中,所述一个或多个相机性质包括相机类型;
基于所述深度参数确定相机定位过程;
基于所述深度参数和所述相机定位过程确定与所述虚拟相机关联的相机位置,所述相机位置包括相机高度,所述相机高度反映所述虚拟相机按独立于密度的像素计的在所述虚拟三维环境上方的高度;以及
根据所述相机位置在所述显示器上渲染所述虚拟三维环境。
19.根据权利要求18所述的计算机实现的方法,其中:
所述一个或多个显示器参数包括下列参数中的至少两个:
在沿着所述显示器的第一方向上的水平像素数;
在沿着所述显示器的第二方向上的竖直像素数;
与所述显示器关联的像素密度;以及
与所述显示器关联的视距,所述视距反映与所述显示器关联的特征视距;
所述相机类型包括正交相机或透视角相机中的至少一个;
所述深度参数包括:
与装置关联的一个或多个装置参数,所述装置与所述显示器相关,所述一个或多个装置参数包括所述装置的装置类型;以及
一个或多个可访问性参数,所述可访问性参数用所述虚拟三维环境定制用户体验,所述可访问性参数包括用户偏好,并且
所述相机位置部分地基于所述一个或多个装置参数和所述一个或多个可访问性参数。
20.根据权利要求19所述的计算机实现的方法,其中,所述操作还包括:
基于所述一个或多个显示器参数确定与所述虚拟相机关联的视场,所述视场限定由所述显示器和所述虚拟相机对向的截头锥体;
基于所述视场和所述一个或多个显示器参数确定与所述虚拟相机关联的相机高度距离,所述相机高度距离反映所述虚拟相机以距离为单位的高度;以及
基于所述一个或多个显示器参数和所述相机高度距离设定与所述虚拟相机关联的所述相机高度;以及
基于所述相机高度渲染三维环境。
CN201580031866.1A 2014-06-24 2015-06-24 用于分析和确定虚拟环境的特性的计算机化系统和方法 Active CN106464856B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462016622P 2014-06-24 2014-06-24
US62/016,622 2014-06-24
PCT/US2015/037346 WO2015200439A1 (en) 2014-06-24 2015-06-24 Computerized systems and methods for analyzing and determining properties of virtual environments

Publications (2)

Publication Number Publication Date
CN106464856A true CN106464856A (zh) 2017-02-22
CN106464856B CN106464856B (zh) 2019-01-15

Family

ID=53674288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580031866.1A Active CN106464856B (zh) 2014-06-24 2015-06-24 用于分析和确定虚拟环境的特性的计算机化系统和方法

Country Status (4)

Country Link
US (1) US9607427B2 (zh)
EP (1) EP3162054A1 (zh)
CN (1) CN106464856B (zh)
WO (1) WO2015200439A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10970915B2 (en) * 2017-01-06 2021-04-06 Canon Kabushiki Kaisha Virtual viewpoint setting apparatus that sets a virtual viewpoint according to a determined common image capturing area of a plurality of image capturing apparatuses, and related setting method and storage medium
CN108334391A (zh) * 2017-12-31 2018-07-27 广州金十信息科技有限公司 一种多系统显示适配方法、电子设备及存储介质
US11048532B1 (en) * 2019-11-27 2021-06-29 Amazon Technologies, Inc. Device agnostic user interface generation based on device input type
US11302291B1 (en) * 2019-11-27 2022-04-12 Amazon Technologies, Inc. Device agnostic user interface generation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040223218A1 (en) * 1999-12-08 2004-11-11 Neurok Llc Visualization of three dimensional images and multi aspect imaging
US20120099836A1 (en) * 2009-06-24 2012-04-26 Welsh Richard J Insertion of 3d objects in a stereoscopic image at relative depth
CN102611909A (zh) * 2011-02-08 2012-07-25 微软公司 具有运动视差的三维显示
US20120320155A1 (en) * 2010-01-11 2012-12-20 Jong Yeul Suh Broadcasting receiver and method for displaying 3d images
CN103329549A (zh) * 2011-01-25 2013-09-25 富士胶片株式会社 立体视频处理器、立体视频处理程序及其记录介质、立体成像装置和立体视频处理方法
CN103841401A (zh) * 2012-11-23 2014-06-04 乐金显示有限公司 用于修正三维图像的深度图的装置和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3709509B2 (ja) * 1996-12-04 2005-10-26 株式会社セガ ゲーム装置
JP5376874B2 (ja) * 2008-09-05 2013-12-25 任天堂株式会社 画像処理プログラムおよび画像処理装置
KR20110057629A (ko) * 2009-11-24 2011-06-01 엘지전자 주식회사 Ui 제공 방법 및 디지털 방송 수신기
US9632677B2 (en) * 2011-03-02 2017-04-25 The Boeing Company System and method for navigating a 3-D environment using a multi-input interface
US9451234B2 (en) * 2012-03-01 2016-09-20 Sony Corporation Transmitting apparatus, transmitting method, and receiving apparatus
US20140282055A1 (en) * 2013-03-15 2014-09-18 Agilent Technologies, Inc. Layout System for Devices with Variable Display Screen Sizes and Orientations
US8760489B1 (en) * 2013-06-25 2014-06-24 Vonage Network Llc Method and apparatus for dynamically adjusting aspect ratio of images during a video call

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040223218A1 (en) * 1999-12-08 2004-11-11 Neurok Llc Visualization of three dimensional images and multi aspect imaging
US20120099836A1 (en) * 2009-06-24 2012-04-26 Welsh Richard J Insertion of 3d objects in a stereoscopic image at relative depth
US20120320155A1 (en) * 2010-01-11 2012-12-20 Jong Yeul Suh Broadcasting receiver and method for displaying 3d images
CN103329549A (zh) * 2011-01-25 2013-09-25 富士胶片株式会社 立体视频处理器、立体视频处理程序及其记录介质、立体成像装置和立体视频处理方法
CN102611909A (zh) * 2011-02-08 2012-07-25 微软公司 具有运动视差的三维显示
CN103841401A (zh) * 2012-11-23 2014-06-04 乐金显示有限公司 用于修正三维图像的深度图的装置和方法

Also Published As

Publication number Publication date
US20150371438A1 (en) 2015-12-24
US9607427B2 (en) 2017-03-28
CN106464856B (zh) 2019-01-15
WO2015200439A1 (en) 2015-12-30
EP3162054A1 (en) 2017-05-03

Similar Documents

Publication Publication Date Title
KR102491443B1 (ko) 애플리케이션을 위한 디스플레이 적응 방법 및 장치, 디바이스, 및 저장 매체
US10325410B1 (en) Augmented reality for enhancing sporting events
CN105637559B (zh) 使用深度传感器的结构建模
AU2020202551A1 (en) Method for representing points of interest in a view of a real environment on a mobile device and mobile device therefor
US9760235B2 (en) Lens-defined adjustment of displays
US20190005724A1 (en) Presenting augmented reality display data in physical presentation environments
KR101108743B1 (ko) 홀로그래픽 사용자 인터페이스 통신을 위한 방법 및 장치
CN104995666B (zh) 用于在真实环境中表示虚拟信息的方法
US10049493B1 (en) System and methods for providing interaction with elements in a virtual architectural visualization
GB2563731A (en) Markerless image analysis for augmented reality
US20150020031A1 (en) Three-Dimensional Interface
US20160041630A1 (en) Operations in a Three Dimensional Display System
Knabb et al. Scientific visualization, 3D immersive virtual reality environments, and archaeology in Jordan and the Near East
US20180113593A1 (en) Multi-view display viewing zone layout and content assignment
CN104335142A (zh) 用于透明头戴式显示器的用户接口交互
US9785201B2 (en) Controlling images at mobile devices using sensors
CN103168309A (zh) 使用gps和dsm的2d到3d图像和视频转换
CN106464856A (zh) 用于分析和确定虚拟环境的特性的计算机化系统和方法
US11562545B2 (en) Method and device for providing augmented reality, and computer program
Marton et al. Natural exploration of 3D massive models on large-scale light field displays using the FOX proximal navigation technique
US11321864B1 (en) User guided mode for measurement purposes
US20180033200A1 (en) System and method for multiple device augmented surface
CN106462769B (zh) 对象照片上的镜面高光
Trapp et al. Strategies for visualising 3D points-of-interest on mobile devices
US11176752B1 (en) Visualization of a three-dimensional (3D) model in augmented reality (AR)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant