CN109074681B - 信息处理装置、信息处理方法和程序 - Google Patents

信息处理装置、信息处理方法和程序 Download PDF

Info

Publication number
CN109074681B
CN109074681B CN201780023070.0A CN201780023070A CN109074681B CN 109074681 B CN109074681 B CN 109074681B CN 201780023070 A CN201780023070 A CN 201780023070A CN 109074681 B CN109074681 B CN 109074681B
Authority
CN
China
Prior art keywords
display
information processing
buffer
buffers
information
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
CN201780023070.0A
Other languages
English (en)
Other versions
CN109074681A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN109074681A publication Critical patent/CN109074681A/zh
Application granted granted Critical
Publication of CN109074681B publication Critical patent/CN109074681B/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
    • 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
    • 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
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Landscapes

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

Abstract

[目的]为了在虚拟对象被叠加到真实空间上的情况下以更合适的方式校正虚拟对象的显示。[解决方案]一种信息处理装置,其设置有:获取单元,用于获取与真实空间中的真实对象的识别结果有关的信息;绘制单元,用于针对多个缓冲器的每一个绘制多条显示信息中的直接或间接地与该缓冲器相关联的显示信息;以及显示控制单元,用于基于真实对象的识别结果来校正针对多个缓冲器中的每一个绘制的显示信息的显示,并且使得通过指定的输出单元根据与真实对象的位置关系呈现显示已被校正的显示信息中的每一个。

Description

信息处理装置、信息处理方法和程序
技术领域
本公开涉及信息处理装置、信息处理方法和程序。
背景技术
近来,随着图像识别技术变得更加先进,已经可以识别包括在由成像装置捕获的图像中的真实对象(即,真实空间中的物理对象)的位置和姿态。已知被称为增强现实(AR)的技术是这样的物理对象识别的一个应用示例。通过利用AR技术,变得可以向用户呈现以诸如文本、图标或动画的各种模式叠加在真实空间的图像中捕获的真实对象上的虚拟内容(下文中也称为“虚拟对象”)。例如,专利文献1公开了AR技术的一个示例。
引文列表
专利文献
专利文献1:JP 2013-92964A
发明内容
技术问题
同时,取决于要呈现为虚拟对象的显示信息,绘制虚拟对象的处理负荷变得相对高,并且在一些情况下,从当开始绘制虚拟对象时直到输出虚拟对象作为显示信息会发生延迟。为此,例如,与该延迟相关联地,如果在向用户呈现所绘制的虚拟对象之前用户的视点的位置发生变化,则视点的位置与所绘制的虚拟对象被叠加的位置之间的相对位置关系发生未对准。在一些情况下,例如,用户将这样的未对准识别为虚拟对象被叠加的空间中的位置的未对准。这不仅适用于AR,也适用于在人工构建的虚拟空间中呈现虚拟对象的所谓的虚拟现实(VR)。
相比之下,利用VR,例如,通过考虑与虚拟对象的绘制关联的延迟并且在绘制之后校正虚拟对象在虚拟空间中的显示位置,在一些情况下会减小与绘制关联的延迟的影响。另一方面,由于AR具有将虚拟对象叠加到真实空间上的特性,因此在简单地校正虚拟对象的显示位置的情况下,在一些情况下用户看到的真实空间的光学图像与虚拟对象的显示之间发生未对准。
因此,本公开提出了一种能够在虚拟对象被叠加到真实空间上的状况下以更有利的模式对虚拟对象的显示进行校正的信息处理装置、信息处理方法和程序。
问题的解决方案
根据本公开,提供了一种信息处理装置,包括:获取单元,其获取与识别真实空间中的真实对象的结果有关的信息;绘制单元,其在多个缓冲器中的每一个中绘制多条显示信息中的直接或间接地与缓冲器关联的显示信息;以及显示控制单元,其基于识别真实对象的结果来校正在多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与真实对象的位置关系呈现显示已被校正的每条显示信息。
此外,根据本公开,提供了一种信息处理方法,包括:由计算机系统:获取与识别真实空间中的真实对象的结果有关的信息;在多个缓冲器中的每一个中绘制多条显示信息中的直接或间接地与缓冲器关联的显示信息;以及基于识别真实对象的结果来校正在多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与真实对象的位置关系呈现显示已被校正的每条显示信息。
此外,根据本公开,提供了一种使得计算机系统执行以下步骤的程序:获取与识别真实空间中的真实对象的结果有关的信息;在多个缓冲器中的每一个中绘制多条显示信息中的直接或间接地与缓冲器关联的显示信息;以及基于识别真实对象的结果来校正在多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与真实对象的位置关系呈现显示已被校正的每条显示信息。
本发明的有益效果
根据如以上描述的本公开,提供了一种能够在虚拟对象被叠加到真实空间上的状况下以更有利的模式对虚拟对象的显示进行校正的信息处理装置、信息处理方法和程序。
注意,以上描述的效果不必然是限制性的。与上述效果一起或替代上述效果,可以实现本说明书中描述的效果中的任何一种效果或可以从本说明书领会的其他效果。
附图说明
[图1]图1是用于说明根据本公开的实施方式的信息处理系统的示意性配置的示例的说明图。
[图2]图2是用于说明根据本公开的实施方式的输入/输出装置的示意性配置的示例的说明图。
[图3]图3是用于说明与虚拟对象的显示位置的校正有关的处理的示例的说明图。
[图4]图4是用于说明与AR中的虚拟对象的绘制关联的延迟的影响的示例的说明图。
[图5]图5是用于说明与AR中的虚拟对象的绘制关联的延迟的影响的示例的说明图。
[图6]图6是用于说明根据实施方式的信息处理系统的操作的基本原理的说明图。
[图7]图7是示出根据实施方式的信息处理系统的功能配置的示例的框图。
[图8]图8是示出根据实施方式的信息处理系统1的一系列处理的流程的示例的流程图。
[图9]图9是用于描述根据修改例1的信息处理系统的概要的说明图。
[图10]图10是用于说明根据修改例2的信息处理系统的一个模式的概要的说明图。
[图11]图11是用于说明根据修改例2的信息处理系统的另一模式的概要的说明图。
[图12]图12是用于说明根据修改例2的信息处理系统的另一模式的概要的说明图。
[图13]图13是用于说明根据修改例3的信息处理系统的一个模式的概要的说明图。
[图14]图14是用于说明根据修改例3的信息处理系统的一个模式的概要的说明图。
[图15]图15是示出硬件配置的一个示例性配置的功能框图。
具体实施方式
在下文中,将参照附图详细描述本公开的(一个或多个)优选实施方式。注意,在本说明书和附图中,使用相同的附图标记来表示具有基本相同的功能和结构的结构元件,并且省略了对这些结构元件的重复说明。
在下文中,将按照以下顺序来进行描述。
1.概述
1.1.示意性配置
1.2.输入/输出装置的配置
1.3.定位的原理
2.关于与虚拟对象的绘制关联的延迟的研究
3.技术特征
3.1.基本原理
3.2.功能配置
3.3.处理
4.修改例
4.1.修改例1:虚拟对象与缓冲器之间的关联的示例
4.2.修改例2:区域划分的示例
4.3.修改例3:缓冲器控制示例
4.4.修改例4:与虚拟对象的绘制和输出有关的控制的示例
4.5.修改例5:交互控制的示例
5.硬件配置
6.结论
<<1.概述>>
<1.1.示意性配置>
首先,将参照图1描述根据本公开的实施方式的信息处理装置的示意性配置的示例。图1是用于说明根据本公开的实施方式的信息处理系统的示意性配置的示例的说明图。在图1中,附图标记M11示意性地示出了位于真实空间中的对象(即,真实对象)。此外,附图标记V13和V15示意性地示出了被叠加到真实空间上呈现的虚拟内容(即,虚拟对象)。换句话说,根据本实施方式的信息处理系统1基于所谓的AR技术,例如向用户呈现相对于诸如真实对象M11的真实空间中的对象叠加的虚拟对象。注意,在图1中,为了使根据本实施方式的信息处理系统的特征更容易理解,一起呈现真实对象和虚拟对象两者。
如图1所示,根据本实施方式的信息处理系统1包括信息处理装置10和输入/输出装置20。信息处理装置10和输入/输出装置20被配置成能够通过预定网络彼此发送和接收信息。注意,连接信息处理装置10和输入/输出装置20的网络类型不受特别限制。作为具体示例,网络可以被配置为所谓的无线网络,例如基于Wi-Fi(注册商标)标准的网络。此外,作为另一示例,网络可以被配置为因特网、专用线路、局域网(LAN)、广域网(WAN)等。此外,网络还可以包括多个网络,并且也可以被配置为部分有线网络。
输入/输出装置20是用于获取各种输入信息并且向携带输入/输出装置20的用户呈现各种输出信息的配置。此外,由信息处理装置10基于由输入/输出装置20获取的输入信息,来控制输入/输出装置20对输出信息的呈现。例如,输入/输出装置20获取用于识别真实对象M11的信息作为输入信息,并且将所获取的信息输出至信息处理装置10。基于从输入/输出装置20获取的信息,信息处理装置10识别真实空间中的真实对象M11的位置,并且基于识别结果,使得输入/输出装置20呈现虚拟对象V13和V15。通过这样的控制,基于所谓的AR技术,输入/输出装置20变得能够向用户呈现虚拟对象V13和V15,使得相对于真实对象M11叠加虚拟对象V13和V15。注意,在图1中,输入/输出装置20和信息处理装置10被示为彼此不同的装置,但是输入/输出装置20和信息处理装置10也可以以集成的方式被配置。此外,稍后将分别描述输入/输出装置20和信息处理装置10的配置和处理的细节。
如上所述,参照图1描述了根据本公开的实施方式的信息处理装置的示意性配置的示例。
<1.2.输入/输出装置的配置>
接下来,将参照图2描述根据本公开的实施方式的图1所示的输入/输出装置20的示意性配置的示例。图2是用于说明根据本实施方式的输入/输出装置的示意性配置的示例的说明图。
输入/输出装置20被配置为通过佩戴在用户头部的至少一部分上来使用的所谓的头戴式设备。例如,在图2所示的示例中,输入/输出装置20被配置为所谓的眼睛佩戴(眼镜式)设备,其中透镜293a和293b中的至少一个被配置为透射显示器(输出单元211)。此外,输入/输出装置20设置有第一成像单元201a和201b、第二成像单元203a和203b、操作单元207以及与眼镜的框架对应的保持单元291。当输入/输出装置20佩戴在用户的头部时,保持单元291相对于用户的头部以预定的位置关系保持输出单元211、第一成像单元201a和201b、第二成像单元203a和203b以及操作单元207。此外,虽然图2中未示出,但是输入/输出装置20还可以设置有用于收集用户语音的声音收集单元。
在本文中,将描述输入/输出装置20的更具体的配置。例如,在图2所示的示例中,透镜293a与右眼侧上的透镜对应,而透镜293b与左眼侧上的透镜对应。换句话说,在佩戴输入/输出装置20的情况下,保持单元291保持输出单元211使得输出单元211位于用户眼睛的前方。
第一成像单元201a和201b被配置为所谓的立体摄像机,其中每个成像单元被保持单元291保持以当输入/输出装置20被佩戴在用户的头部上时指向用户的头部正面对的方向(即,用户的向前方向)。此时,第一成像单元201a被保持在用户的右眼附近,而第一成像单元201b被保持在用户的左眼附近。基于这样的配置,第一成像单元201a和201b从相互不同的位置捕获位于输入/输出装置20前方的主体(subject)(换句话说,位于真实空间中的真实对象)。利用这样的布置,输入/输出装置20变得能够获取位于用户前方的主体的图像,并且此外,基于由第一成像单元201a和201b中的每一个捕获的图像之间的视差,计算从输入/输出装置20至主体的距离。
注意,配置和方法不受特别限制,只要输入/输出装置20与主体之间的距离是可测量的即可。作为具体示例,输入/输出装置20与主体之间的距离可以基于诸如多摄像机立体、运动视差、飞行时间(TOF)和结构光的方法来测量。在本文中,TOF指代以下方法,该方法将诸如红外线的光投射到对象上并且针对每个像素测量投出的光被主体反射并且返回的时间,并且由此基于测量结果获得包括距主体的距离(深度)的图像(也称为深度图)。此外,结构光是以下方法,该方法通过诸如红外线的光以图案照射主体并且捕获图像,并且基于从成像结果获得的图案的变化,获得包括距主体的距离(深度)的深度图。此外,运动视差指代即使使用所谓的单目摄像机也会基于视差测量距主体的距离的方法。具体地,通过移动摄像机,从相互不同的视点捕获主体,并且基于捕获图像之间的视差来测量距主体的距离。注意,此时通过利用各种传感器识别摄像机的运动距离和运动方向,可以更精确地测量距主体的距离。注意,可以根据距离测量方法来改变成像单元(例如,单目摄像机或立体摄像机)的配置。
此外,第二成像单元203a和203b中的每一个由保持单元291保持使得当输入/输出装置20被佩戴在用户的头部上时用户的眼球位于每个成像单元的成像范围内。作为具体示例,第二成像单元203a被保持成使得用户的右眼位于成像范围内。基于这样的配置,变得可以基于由第二成像单元203a捕获的右眼的眼球的图像和第二成像单元203a与右眼之间的位置关系来识别右眼的视线正指向的方向。类似地,第二成像单元203b被保持成使得用户的左眼位于成像范围内。换句话说,变得可以基于由第二成像单元203b捕获的左眼的眼球的图像和第二成像单元203b与左眼之间的位置关系识别左眼的视线正指向的方向。此外,尽管图2所示的示例示出了输入/输出装置20包括第二成像单元203a和203b两者的配置,但是也可以提供第二成像单元203a和203b中的仅一个。
操作单元207是用于从用户接收针对输入/输出装置20的操作的配置。例如,操作单元207可以由诸如触摸板、按钮等的输入装置配置。操作单元207由保持单元291保持在输入/输出装置20上的预定位置处。例如,在图2所示的示例中,操作单元207被保持在与眼镜的镜腿(temple)对应的位置处。
此外,根据本实施方式的输入/输出装置20还可以被设置有例如加速度传感器和角速度传感器(陀螺仪传感器),并且被配置成能够检测佩戴输入/输出装置20的用户的头部的运动(换句话说,输入/输出装置20本身的运动)。作为具体示例,输入/输出装置20可以将偏航方向(yaw direction)、俯仰方向(pitch direction)和滚动方向(roll direction)中的每一个上的分量检测为用户头部的运动,并且从而识别用户的头部的位置和姿态中至少之一的变化。
基于如上所述的配置,根据本实施方式的输入/输出装置20变得能够识别与用户头部的运动对应的其本身在真实空间中的位置和姿态的变化。此外,输入/输出装置20还变得能够基于所谓的AR技术在输出单元211上呈现内容,使得虚拟内容(即,虚拟对象)被叠加到位于真实空间中的真实对象上。注意,将分别详细描述输入/输出装置20估计其本身的位置和姿态(即,定位)的方法的示例。
注意,可应用为输入/输出装置20的头戴式显示器(HMD)的示例包括例如透视HMD、视频透视HMD和视网膜投影HMD。
透视HMD例如使用半反射镜和透明导光板来将包括透明导光单元等的虚拟图像光学系统保持在用户眼睛前方,并且将图像显示在虚拟图像光学系统内侧上。为此,对于佩戴透视HMD的用户,即使在观看显示在虚拟图像光学系统内侧上的图像时,外部场景也可以进入到用户的视场中。根据这样的配置,例如,基于AR技术,透视HMD能够根据透视HMD的位置和姿态中的至少一个的识别结果来将虚拟对象的图像叠加到位于真实空间中的真实对象的光学图像上。注意,透视HMD的具体示例包括所谓的眼镜式可穿戴设备,其中与一副眼镜的透镜对应的部分被配置为虚拟图像光学系统。例如,图2所示的输入/输出装置20与透视HMD的示例对应。
在视频透视HMD被佩戴在用户的头部或面部上的情况下,视频透视HMD被佩戴以覆盖用户的眼睛,并且诸如显示器的显示单元被保持在用户的眼睛前方。此外,视频透视HMD包括用于对周围场景进行成像的成像单元,并且使得显示单元显示由成像单元成像的用户前方的场景的图像。利用这样的配置,对于佩戴视频透视HMD的用户,外部场景难以直接进入到用户的视场中,但是变得可以通过显示在显示单元上的图像来检查外部场景。此外,例如,基于AR技术,视频透视HMD此时还可以根据视频透视HMD的位置和姿态中的至少一个的识别结果来将虚拟对象叠加到外部场景的图像上。
利用视网膜投影HMD,投影单元被保持在用户眼睛的前方,并且图像从投影单元朝向用户的眼睛投射使得图像被叠加到外部场景上。更具体地,在视网膜投影HMD中,图像直接从投影单元被投射到用户眼睛的视网膜上,并且图像被形成在视网膜上。利用这样的配置,即使在近视的用户或远视的用户的情况下,也变得可以观看更清晰的图像。此外,对于佩戴视网膜投影HMD的用户,即使在观看从投影单元投影的图像时,外部场景也变得可以进入到用户的视场中。根据这样的配置,例如,基于AR技术,视网膜投影HMD能够根据视网膜投影HMD的位置和姿态中的至少一个的识别结果来将虚拟对象的图像叠加到位于真实空间中的真实对象的光学图像上。
注意,作为参考,除了以上描述的示例之外,还可以是称为沉浸式HMD的HMD。与视频透视HMD类似,沉浸式HMD被佩戴以覆盖用户的眼睛,并且诸如显示器的显示单元被保持在用户眼睛的前方。为此,对于佩戴沉浸式HMD的用户,外部场景(即,真实世界的场景)难以直接进入到用户的视场中,并且仅显示在显示单元上的图片进入用户的视场中。利用这样的配置,沉浸式HMD能够向观看图像的用户给予沉浸感。
以上参照图2描述了根据本公开的实施方式的输入/输出装置的示意性配置的示例。
<1.3.定位的原理>
接下来,将描述当输入/输出装置20将虚拟对象叠加到真实对象上时用于估计其本身在真实空间中的位置和姿态(即,定位)的技术的原理的示例。
作为定位的具体示例,输入/输出装置20使用诸如设置在其本身上的摄像机的成像单元来捕获呈现在真实空间中的真实对象上的已知尺寸的标记等。此外,通过分析捕获的图像,输入/输出装置20估计自身相对于标记(并且通过扩展,上面呈现有该标记的真实对象)的相对位置和姿态中的至少一个。注意,以下描述关注于输入/输出装置20估计其本身的位置和姿态的情况,但是输入/输出装置20也可以估计其本身的位置和姿态中的仅一个。
具体地,可以根据在图像中捕获的标记的方向(例如,标记的图案等的方向)来估计成像单元(并且通过扩展,设置有成像单元的输入/输出装置20)相对于标记的相对方向。此外,在已知标记的尺寸的情况下,可以根据图像中标记的尺寸估计标记与成像单元(即,设置有成像单元的输入/输出装置20)之间的距离。更具体地,如果从更远捕获标记V10,则标记被捕获得更小。此外,可以基于成像单元的视角来估计此时在图像中捕获的真实空间的范围。通过利用上述特性,可以根据图像中捕获的标记的尺寸(换句话说,由标记占据的视角的比例)来反向计算标记与成像单元之间的距离。根据如上所述的配置,输入/输出装置20变得能够估计其本身相对于标记的相对位置和姿态。
此外,称为同时定位和映射(SLAM)的技术也可以用于输入/输出装置20的定位。SLAM是指通过利用诸如摄像机的成像单元、各种传感器、编码器等并行地执行定位和环境地图的创建的技术。作为更具体的示例,利用SLAM(特别是视觉SLAM),基于由成像单元捕获的运动图像依次地重建捕获的场景(或主体)的三维形状。此外,通过将捕获的场景的重建结果与成像单元的位置和姿态的检测结果关联,创建周围环境的地图以及估计成像单元(并且通过扩展,输入/输出装置20)的位置和姿态。注意,例如,通过使输入/输出装置20设置有例如加速度传感器和角速度传感器的各种传感器,可以基于传感器的检测结果将成像单元的位置和姿态估计为指示相对变化的信息。显然,只要可以估计成像单元的位置和姿态,方法不需要仅限于基于诸如加速度传感器和角速度传感器的各种传感器的检测结果的方法。
基于如上所述的配置,例如,基于由成像单元对标记的成像结果的、针对输入/输出装置20相对于已知标记的相对位置和姿态的估计结果也可以用于以上描述的SLAM中的初始化处理和位置校正。根据这样的配置,即使在标记不被包括在成像单元的视角内的情况下,通过基于接收先前执行的初始化和位置校正的结果的SLAM的定位,输入/输出装置20也能够估计自身相对于标记(并且通过扩展,上面呈现有标记的真实对象)的位置和姿态。
当输入/输出装置20将虚拟对象叠加到真实对象上时,已经描述了用于估计其本身在真实空间中的位置和姿态的技术(即,定位)的原理的示例。注意,在下文中,例如,将输入/输出装置20相对于真实空间中的物理对象(真实对象)的位置和姿态描述为可以基于以上描述的基本原理进行估计。
<<2.关于与虚拟对象的绘制关联的延迟的研究>>
接下来,在首先描述与虚拟对象的绘制关联的延迟以及减轻这样的延迟的影响的机制的示例之后,将组织根据本实施方式的信息处理系统的挑战。
取决于要作为虚拟对象呈现的显示信息,绘制虚拟对象的处理负荷变得相对高,并且在一些情况下,从当开始基于所谓的AR或VR绘制虚拟对象时直到输出虚拟对象作为显示信息会发生延迟。为此,例如,与该延迟关联地,如果在向用户呈现所绘制的虚拟对象之前用户的视点的位置和方向发生变化,则视点的位置与所绘制的虚拟对象被叠加的位置之间的相对位置关系发生未对准。在一些情况下,例如,用户将这样的未对准识别为虚拟对象被叠加的空间中的位置的未对准。
相比之下,利用VR,例如,通过考虑与虚拟对象的绘制关联的延迟并且在绘制之后对虚拟对象在虚拟空间中的显示位置进行校正,在一些情况下减少了与绘制关联的延迟的影响。例如,图3是用于说明与响应于与虚拟对象的绘制关联的延迟来对虚拟对象的显示位置进行校正有关的处理的示例的说明图。
图3示意性地示出了针对虚拟对象的绘制、基于视点的位置和方向的变化的检测结果的传感器输入和所绘制的虚拟对象的输出中的每一个的沿时间序列的处理定时。在图3中,附图标记t21至t23示出了虚拟对象的绘制的开始定时,而附图标记t21’至t23’示出了虚拟对象的绘制的结束定时。此外,附图标记V121至V123示出了在时刻t21至t23处绘制的图像的示例,并且示意性地示出了在图像内呈现的虚拟对象的形状和呈现位置。类似地,附图标记t11至t14示出了绘制的虚拟对象的输出定时。此外,附图标记V111至V114示出了在定时t11至t14处输出的图像的示例,并且示意性地示出了在图像内呈现的虚拟对象的形状和呈现位置。此外,如图3所示,与绘制虚拟对象的周期(频率)相比,以更快的周期(更高的频率)获取传感器输入。
例如,在定时t21处,其中呈现虚拟对象v211的图像V121的绘制开始,并且在定时t21’处绘制结束。此后,当图像输出定时t11到达时,基于紧接在定时t11之前获取的传感器输入,校正在图像V121中呈现的虚拟对象V211的显示位置,并且输出校正的图像V111。接下来,图像输出定时t12到达,但此时,新图像(例如,图像V122)的绘制仍未完成。为此,基于紧接在定时t12之前获取的传感器输入,校正在图像V111中呈现的虚拟对象V211的显示位置,并且输出校正的图像V112。
此外,在定时t22处,其中呈现虚拟对象v213的图像V122的绘制开始,并且在定时t22’处绘制结束。换句话说,在定时t22’之后到达的显示定时t13和t14处,呈现虚拟对象v213,并且此外,分别输出其中虚拟对象v213的显示位置基于紧接之前获取的传感器输入而被校正的图像V113和V114。此外,对于其中呈现虚拟对象v215的图像V123,在定时t23处开始绘制,并且在定时t23’处结束绘制。换句话说,在定时t23’处及其后输出其中呈现虚拟对象v215的图像。
通过如上所述的控制,即使从开始绘制虚拟对象时直到输出虚拟对象作为显示信息时发生延迟,也变得可以通过对所绘制的虚拟对象的显示位置进行校正来减轻延迟的影响。
另一方面,由于AR具有将虚拟对象叠加到真实空间上的特性,因此在简单地对虚拟对象的显示位置进行校正的情况下,在一些情况下在用户看到的真实空间的光学图像与虚拟对象的显示之间发生未对准。例如,图4和图5是用于说明与AR中的虚拟对象的绘制关联的延迟的影响的示例的说明图。
首先,将描述图4所示的示例。图4所示的示例示出了在虚拟对象V221和V223被叠加到真实空间上进行呈现的状态下、在移动用户的视点P11的位置的情况下与虚拟对象V221和V223的呈现有关的控制的示例。在图4中,左侧上的每个图示出了视点P11的位置移动之前的状态,而右侧上的每个图示出了视点P11的位置移动之后的状态。
例如,在视点P11和虚拟对象V221和V223中的每一个处于如图4的左上方的图所示的位置关系的情况下,用户看到的光学图像变得像示出为“应用之前的视场”的图。
此后,假设如图4右上方的图所示的那样视点P11在水平方向上快速平移,并且虚拟对象V221和V223的显示位置与视点P11的移动相关联地被校正。在该情况下,根据移动的视点P11与虚拟对象V221和V223中的每一个之间的位置关系,期望用户看到的光学图像处于虚拟对象V223被虚拟对象V221遮挡的状态,像示出为“预期的视场”的图那样。这是因为与视点P11的移动关联的在用户视场内的每个光学图像的移动量根据基于视点P11的深度方向上的位置而不同。更具体地,针对更靠近用户的对象的与视点P11的移动关联的在用户视场内的移动量大于针对更远离用户的对象的在视场内的移动量。
另一方面,示出为“被简单应用校正的视场”的图示出了在针对虚拟对象V221和V223中的每一个类似地对显示位置校正共同校正量的情况下用户看到的光学图像的示例。在该情况下,在虚拟对象V221和V223中,针对至少一个的显示位置的校正量不同于与右上方的图所示的位置关系对应的值,并且因此用户将看到与原始预期的光学图像不同的光学图像。注意,尽管参照图4描述的现象也可能在VR中发生,但是由于在AR中虚拟对象被叠加到真实空间上,因此用户倾向于由于真实空间中的对象与虚拟对象之间的位置关系未对准而感觉到更强的不自然感。
接下来,将描述图5所示的示例。图5所示的示例示出了在虚拟对象V227被叠加到设置有真实对象M225的真实空间上进行呈现的状态下、在移动用户的视点P11的位置的情况下与虚拟对象V227的呈现有关的控制的示例。在图5中,左侧上的每个图示出了视点P11的位置移动之前的状态,而右侧上的每个图示出了视点P11的位置移动之后的状态。
例如,在视点P11、真实对象M225和虚拟对象V227处于如图5的左上方的图所示的位置关系的情况下,用户看到的光学图像变得像示出为“应用之前的视场”的图。换句话说,虚拟对象V227位于真实对象V225的后面,虚拟对象V227的部分被真实对象V225遮挡,并且用户仅看到虚拟对象V227的顶部。
此后,假设如图5的右上方的图所示的那样视点P11在水平方向上快速平移,并且虚拟对象V227的显示位置与视点P11的移动相关联地被校正。在该情况下,根据移动的视点P11、真实对象M225和虚拟对象V227之间的位置关系,期望用户看到的光学图像像示出为“预期的视场”的图那样。换句话说,期望达到以下状态,在该状态下在视点P11的移动之前被真实对象M225遮挡的虚拟对象V227的部分与视点P11的移动关联地被可视地呈现。
另一方面,示出为“被简单应用校正的视场”的图示出了在针对作为“应用之前的视场”呈现的虚拟对象V227简单校正显示位置的情况下用户看到的光学图像的示例。在该情况下,在“应用之前的视场”中,虚拟对象V227中被真实对象V225遮挡的部分被从绘制目标中排除。为此,在仅与视点P11的移动关联地简单校正虚拟对象V227的显示位置的情况下,在视点P11的移动之前被真实对象V225遮挡的部分未被呈现,并且结果,由用户看到具有缺失部分的虚拟对象V227。
鉴于如上所述的情况,本公开提出了以下机制的示例,该机制使得可以在虚拟对象被叠加到真实空间上的状况下进一步减少与绘制延迟关联的影响,并且还可以以更有利的模式校正虚拟对象的显示。
<<3.技术特征>>
在下文中,将对根据本实施方式的信息处理系统1的技术特征进行描述。
<3.1.基本原理>
首先,将参照图6来描述以下操作的代表性示例的基本原理,通过该操作,根据本实施方式的信息处理系统1向用户呈现虚拟对象,使得基于AR技术将虚拟对象叠加到真实空间上。图6是用于说明与由根据本实施方式的信息处理系统基于AR技术呈现虚拟对象有关的操作的基本原理的说明图。
如图6所示,根据本实施方式的信息处理系统1沿着深度方向将与以视点P11作为原点的视场对应的区域(即,真实空间中的区域)划分成多个区域R111、R113和R115,并且将相互不同的缓冲器与所划分的区域中的每一个关联。注意,视点P11可以与例如图1中的输入/输出装置20的位置对应,并且通过扩展,可以与例如用户的头部等的佩戴输入/输出装置20的预定部位的位置对应。例如,在图6所示的示例中,缓冲器B111与区域R111关联。类似地,缓冲器B113与区域R113关联,并且缓冲器B115与区域R115关联。此外,在根据本实施方式的信息处理系统1中,测量存在于空间中的真实对象与视点P11之间的距离(即,深度),并且用于绘制指示深度测量结果的信息(下文中也称为“深度图”)的缓冲器B101与缓冲器B111、B113和B115被分开设置。
基于如上所述的配置,信息处理系统1在与要呈现虚拟对象的真实空间中的位置对应的缓冲器中绘制要叠加到真实空间上呈现的虚拟对象。例如,在图6所示的示例中,虚拟对象V311被呈现成位于区域R111中。为此,信息处理系统1在与区域R111关联的缓冲器B111中绘制虚拟对象V311。类似地,信息处理系统1在与区域R113关联的缓冲器B113中绘制要呈现成位于区域R113中的虚拟对象V313。此外,信息处理系统1在与区域R115关联的缓冲器B115中绘制要呈现成位于区域R115中的虚拟对象V315和V317。此外,如上所述,信息处理系统1测量距存在于真实空间中的真实对象M319的距离(深度),并且在缓冲器B101中绘制测量结果。
接下来,在每个缓冲器中绘制每个虚拟对象之后视点P11移动的情况下,根据视点P11的移动量,信息处理系统1根据与缓冲器关联的区域校正在每个缓冲器中绘制的每个虚拟对象的显示位置。此外,基于在缓冲器B101中绘制的深度图,信息处理系统1识别真实对象M319在真实空间中的位置(特别是,在深度方向上的位置),并且比较真实对象M319与在每个缓冲器中绘制的每个虚拟对象之间的位置关系(特别是,沿深度方向的位置关系)。随后,基于比较结果,信息处理系统1通过输入/输出装置20,针对在缓冲器B111至B115中的每个中绘制的每个虚拟对象,向用户呈现未被真实对象M319和其他虚拟对象遮挡的部分。
基于如上所述的配置,根据本实施方式的信息处理系统1根据虚拟对象被呈现的真实空间中的位置(特别是,在深度方向上的位置)单独地校正每个虚拟对象的显示位置。此外,根据本实施方式的信息处理系统1根据视点P11、真实对象和每个虚拟对象之间的位置关系来控制每个虚拟对象的输出。利用该布置,根据本实施方式的信息处理系统1变得能够根据虚拟对象被叠加的位置单独地校正与绘制延迟关联的影响,并且此外,在考虑真实对象和其他虚拟对象的遮挡的情况下控制每个虚拟对象的显示。
以上参照图6描述了以下操作的基本原理,通过该操作,根据本实施方式的信息处理系统1向用户呈现虚拟对象,使得基于AR技术将虚拟对象叠加到真实空间上。
<3.2.功能配置>
接下来,将参照图7来描述根据本实施方式的信息处理系统1的功能配置的示例,特别关注于信息处理装置10的配置。图7是示出根据本实施方式的信息处理系统的功能配置的示例的框图。
如图7所示,根据本实施方式的信息处理系统1包括成像单元201、检测单元251、输出单元211和信息处理装置10。成像单元201、检测单元251和输出单元211与参照图1和图2描述的输入/输出装置20的部分的配置对应。注意,输出单元211与图2中的输出单元211对应。
成像单元201与在图2中被配置为立体摄像机的成像单元201a和201b对应。换句话说,成像单元201捕获真实空间中的物理对象(主体)的图像,并且将捕获的图像输出至信息处理装置10。
此外,检测单元251示意性地示出了与用于检测输入/输出装置20的位置和姿态的变化(并且通过扩展,佩戴输入/输出装置20的用户头部的运动)的信息的获取有关的部分。作为具体示例,检测单元251还可以包括各种传感器,例如加速度传感器、角速度传感器等。检测单元251向信息处理装置10输出获取的信息。利用该布置,信息处理装置10变得能够识别输入/输出装置20的位置和姿态的变化。
接下来,将描述信息处理装置10的配置。如图7所示,信息处理装置10包括识别单元101、绘制单元103、多个缓冲器105、显示控制单元107、临时缓冲器109和缓冲器控制单元111。
识别单元101获取由成像单元201捕获的图像并且对所获取的图像执行分析处理,从而识别在图像中捕获的真实空间中的物理对象(主体)。作为具体示例,识别单元101从被配置为立体摄影机的成像单元201获取从多个不同视点捕获的图像(下文中也称为“立体图像”),并且基于所获取图像之间的视差,针对图像中的每个像素测量距图像中捕获的物理对象的距离。利用该布置,识别单元101变得能够估计或识别在捕获图像时的定时处成像单元201(并且通过扩展,输入/输出装置20)与图像中捕获的每个物理对象之间的在真实空间中的相对位置关系(特别是,在深度方向上的位置关系)。
此外,通过基于SLAM执行定位和环境地图的创建,识别单元101可以识别输入/输出装置20与图像中捕获的物理对象之间的在真实空间中的位置关系。在该情况下,例如,识别单元101可以从检测单元251获取指示输入/输出装置20的位置和姿态的变化的信息,并且利用该信息以基于SLAM进行定位。
如上所述,识别单元101识别在图像中捕获的每个物理对象在真实空间中的位置,并且向绘制单元103输出指示识别结果的信息。注意,在本说明书中,如上所述,识别单元101被描述为向绘制单元103输出指示针对图像中的每个像素测量的深度(距物理对象的距离)的信息(即,深度图)。
注意,如上所述,测量距主体的距离的方法不仅仅限于以上描述的基于立体图像的测量方法。为此,也可以适当地修改与成像单元201对应的配置以匹配距离测量方法。作为具体示例,在基于TOF而不是成像单元201测量距主体的距离的情况下,可以设置投射红外线的光源和用于检测从光源投射并且由主体反射的红外线的光电传感器。此外,当测量距物理对象的距离时,也可以使用多种测量方法。在该情况下,根据要使用的测量方法,可以在输入/输出装置20或信息处理装置10中设置用于获取在测量中使用的信息的配置。显然,还可以根据应用的测量方法适当地修改指示识别在图像中捕获的每个物理对象在真实空间中的位置的结果的信息(例如,深度图)的内容。
多个缓冲器105与参照图6描述的缓冲器B101和B111至B115中的每一个对应。多个缓冲器105被分配给例如闪速存储器或随机存取存储器(RAM)的用于临时或永久地保存各种数据的存储装置的至少一部分中的存储区域。注意,通过将单个存储区域逻辑地划分成多个区域,可以将缓冲器105分配给所划分的区域中的每一个。此外,作为另一示例,可以将相互不同的缓冲器105分配给相互不同的存储装置的每个存储区域。显然,即使在提供多个存储装置的情况下,缓冲器105的数目和存储装置的数目也不必匹配。在该情况下,例如,可以通过将多个存储装置中的每一个的存储区域虚拟地规定为单个存储区域,并且将虚拟存储区域逻辑地划分成多个区域,来将缓冲器105分配给区域中的每一个。
缓冲器控制单元111直接或间接地控制多个缓冲器105中的每一个与被视为绘制目标的每个虚拟对象之间的关联。例如,如图6所示,缓冲器控制单元111可以将通过沿着深度方向将与以视点P11作为原点的视场对应的区域进行划分而获得的多个区域R111至R115中的每一个与相互不同的缓冲器105关联。利用该布置,在与相应区域关联的缓冲器105中绘制在区域R111至R115中的每一个中呈现的虚拟对象。此外,缓冲器控制单元111还可以将多个缓冲器105的至少部分分配为用于绘制深度图的缓冲器(即,图6所示的缓冲器B101)。
注意,缓冲器控制单元111还可以根据各种状态和状况的变化动态地改变多个缓冲器105中的每一个与被视为绘制目标的每个虚拟对象之间的关联。此外,缓冲器控制单元111可以根据各种状态和状况动态地改变被分配为多个缓冲器105的存储区域的尺寸和缓冲器105的数目。注意,稍后将作为修改例分别描述这些控件的示例。
此外,缓冲器控制单元111向绘制单元103通知指示多个缓冲器105中的每一个与绘制目标(例如,每个虚拟对象和深度图)之间的关联的信息。利用该布置,绘制单元103变得能够识别要视为针对每个虚拟对象的绘制目的地的每个缓冲器105和被视为绘制目标的深度图。
注意,也可以以固定方式预设要分配为多个缓冲器105的存储区域的设置和多个缓冲器105中的每一个与绘制目标之间的关联。在该情况下,如果设置被配置成可由绘制单元103识别,则不一定需要提供缓冲器控制单元111。
绘制单元103从缓冲器控制单元111接收指示多个缓冲器105中的每一个与绘制目标之间的关联的信息的通知。利用该布置,绘制单元103识别要视为针对每个虚拟对象的绘制目的地的每个缓冲器105和被视为绘制目标的深度图。
此外,绘制单元103从识别单元101获取基于真实空间中的物理对象(主体)的识别结果而生成的深度图。绘制单元103将所获取的深度图绘制在多个缓冲器105中的相应缓冲器中。
此外,绘制单元103以预定时间间隔从检测单元251获取指示输入/输出装置20的位置和姿态的变化的信息,并且基于所获取的信息识别视点的位置和方向的变化。接下来,绘制单元103根据基于识别视点的位置和方向的变化的结果的视点与每个虚拟对象之间的位置关系,指定每个虚拟对象的呈现位置、形状(例如,与呈现方向对应的形状)等。随后,绘制单元103将每个虚拟对象绘制在与虚拟对象直接或间接地关联的缓冲器105中。此外,绘制单元103依次地向稍后描述的显示控制单元107输出指示基于从检测单元251获取的信息的视点的位置和方向的变化的识别结果的信息。
显示控制单元107依次地从绘制单元103获取指示识别视点的位置和方向的变化的结果的信息。利用该布置,显示控制单元107变得能够识别视点的位置和方向的变化。此外,基于在多个缓冲器105的至少部分中绘制的深度图,显示控制单元107识别位于视场内的真实对象在真实空间中的位置。
此外,当通过绘制单元103完成每个虚拟对象到每个缓冲器105的绘制时,显示控制单元107读出在缓冲器105中绘制的每个虚拟对象。此外,在每个虚拟对象的输出定时处,显示控制单元107根据在输出定时处的视点的位置和方向,针对虚拟对象被绘制的每个缓冲器105校正每个虚拟对象的显示位置。此外,显示控制单元107可以根据输出定时处的视点的位置和方向来校正在预定缓冲器105中绘制的深度图(即,真实对象的位置和姿态)。
接下来,显示控制单元107根据视点、识别的真实对象和显示位置已被校正的每个虚拟对象之间的位置关系,合成呈现每个虚拟对象的图像。利用该布置,在要呈现的虚拟对象中的每一个中,至少部分地被真实对象或另一虚拟对象遮挡的虚拟对象的遮挡部分的输出被限制在更自然的模式下。注意,稍后将与一系列处理的流程的描述一起分别描述与上述校正有关的处理和与上述合成有关的处理。
注意,当对以上描述的每个虚拟对象的显示位置进行校正并且执行与呈现每个虚拟对象的图像的合成有关的处理时,显示控制单元107可以使临时缓冲器109临时保存执行处理需要的临时数据等。例如,临时缓冲器109被包括在诸如闪速存储器或RAM的存储装置中,并且临时缓冲器109是用于临时或永久地保存各种数据的存储区域。
随后,显示控制单元107使输出单元211显示通过对在每个缓冲器105中绘制的每个虚拟对象进行合成而生成的图像(即,每个虚拟对象的图像)。利用该布置,用户变得能够通过输出单元211看到叠加到真实空间上进行呈现的每个虚拟对象。
以上参照图7描述了根据本实施方式的信息处理系统1的功能配置的示例,特别关注于信息处理装置10的配置。
<3.3.处理>
接下来,将参照图8描述根据本实施方式的信息处理系统1的一系列处理的流程的示例,特别关注于与虚拟对象的绘制和所绘制的虚拟对象的输出有关的处理。图8是示出根据本实施方式的信息处理系统1的一系列处理的流程的示例的流程图。
首先,信息处理装置10(识别单元101)从被配置为立体摄像机的成像单元201获取捕获的立体图像,并且基于所获取的立体图像,通过针对图像中的每个像素测量距图像中捕获的物理对象的距离来生成深度图。随后,信息处理设备10(绘制单元103)将所生成的深度图绘制在多个缓冲器105中的相应缓冲器中(S101)。
此外,信息处理装置10(绘制单元103)以预定时间间隔从检测单元251获取指示输入/输出装置20的位置和姿态的变化的信息,并且基于所获取的信息识别视点的位置和方向的变化。信息处理装置10根据基于识别结果的视点与每个虚拟对象之间的位置关系来指定每个虚拟对象的呈现位置、形状等。随后,信息处理装置10将每个虚拟对象绘制在多个缓冲器105中的相应缓冲器105中(S103)。
此外,信息处理装置10(显示控制单元107)基于从检测单元251获取的信息来依次地识别视点的位置和方向的变化(S105)。
接下来,信息处理装置10(显示控制单元107)将深度图从预定缓冲器105读出到临时缓冲器109中,并且根据视点的最新位置和方向校正深度图(即,真实对象的位置和姿态)(S107)。注意,此时,信息处理装置10可以一次针对屏幕的一条扫描线将深度图读出到临时缓冲器109中,并且一次对一条读出扫描线执行上述校正。利用该布置,根据视点的最新位置和方向来校正视点与真实对象之间的位置关系。
此外,信息处理装置10(显示控制单元107)根据视点的最新位置和方向来校正在每个缓冲器105中绘制的每个虚拟对象的显示位置。具体地,信息处理装置10根据在与每个缓冲器105关联的真实空间中的区域(例如,图6所示的区域R111至R115)的深度(即,距视点的距离)和视点的最新位置和方向,来计算关于在每个缓冲器105中绘制的虚拟对象的显示位置的校正量。随后,例如,通过根据针对每个缓冲器105计算的校正量对每个缓冲器105的读出位置进行调整,信息处理装置10校正在每个缓冲器105中绘制的虚拟对象的显示位置(S109)。
接下来,信息处理装置10(显示控制单元107)依次地以输出单元211的每个像素为目标以指定要输出至每个像素的信息(例如,颜色信息)。此时,首先,信息处理装置10从与和每个缓冲器105关联的真实空间中的区域中的更靠近用户的区域关联的缓冲器105读出目标像素(S111)。
信息处理装置10确定信息(例如,颜色信息)是否被绘制在读出像素中(S113)。在信息被绘制在读出像素中的情况下(S113,是),信息处理装置10将像素的深度和深度图中的与该像素对应的位置的深度进行比较(S115)。在读出像素位于前方最远处(包括由深度图指示的深度(即,真实对象在深度方向上的位置))的情况下(S115,是),信息处理装置10使输出单元211输出在读出像素中绘制的信息(S117)。
此外,在读出像素未位于前方最远处(S115,否)的情况下,或者信息没有被绘制在读出像素中(S113,否)的情况下,信息处理装置10检查是否已经针对全部区域完成以上描述的确定(S119)。在存在尚未被视为确定的目标的区域(S119,否)的情况下,信息处理装置10将尚未被视为确定的目标的区域中的更靠近用户的区域视为新目标。在该情况下,信息处理装置10从与新目标区域关联的缓冲器105读出相应的像素(S111),并且对该像素执行以上描述的一系列确定(S113,S115)。
注意,在已经对全部区域执行上述确定(S119,是)的情况下,达到没有信息被绘制在目标像素中的状态或者真实对象遮挡虚拟对象的状态。为此,在该情况下,信息处理装置10使输出单元211将无效颜色输出为与目标像素对应的信息(S121)。
如上所述,在针对全部扫描线中的每一个上的一系列像素完成信息的输出之前(S123,否),信息处理装置10继续以上描述的与向像素输出信息有关的一系列处理。随后,当针对全部扫描线中的每一个上的一系列像素完成信息的输出(S123,是)时,结束与以上描述的虚拟对象的绘制和所绘制的虚拟对象的输出有关的一系列处理。
注意,上面参照图8描述的一系列处理的流程仅是一个示例,并且每个处理的执行单元不必然仅限于图8所示的示例。例如,在执行由附图标记S101和S103标记的与深度图和虚拟对象的绘制有关的处理之后,可以以多个集合执行由附图标记S105至S123标记的与对信息的显示有关的一系列处理。
以上参照图8描述了根据本实施方式的信息处理系统1的一系列处理的流程的示例,特别关注于与虚拟对象的绘制和所绘制的虚拟对象的输出有关的处理。
<<4.修改例>>
接下来,将对根据本实施方式的信息处理系统1的修改例进行描述。
<4.1.修改例1:虚拟对象与缓冲器之间的关联的示例>
在以上描述的实施方式中,通过沿着深度方向将与以视点作为原点的视场对应的区域划分成多个区域,并且将相互不同的缓冲器105与划分的区域中的每一个关联,缓冲器105间接地与每个虚拟对象关联。相比之下,在根据修改例1的信息处理系统中,相互不同的缓冲器105直接与要呈现的每个虚拟对象关联。
例如,图9是用于说明根据修改例1的信息处理系统的概述的说明图,并且示出了要呈现的虚拟对象与缓冲器之间的关联的示例。如图9所示,根据修改例1的信息处理系统将相互不同的缓冲器与要呈现的虚拟对象V411、V413和V415中的每一个关联。更具体地,虚拟对象V411与缓冲器B211关联。为此,信息处理系统1将虚拟对象V411绘制在缓冲器B211中。类似地,虚拟对象V413与缓冲器B213关联,并且虚拟对象V415与缓冲器B215关联。此外,类似于以上描述的实施方式,深度图被绘制在与缓冲器B211、B213和B215分开设置的缓冲器B101中。
基于如上所述的配置,在视点P11移动的情况下,根据视点P11的移动量,根据修改例1的信息处理系统根据视点P11与虚拟对象之间的位置关系单独地校正在每个缓冲器中绘制的每个虚拟对象的显示位置。此外,基于在缓冲器B101中绘制的深度图,信息处理系统识别真实对象M417在真实空间中的位置,并且比较真实对象M417与在每个缓冲器中绘制的每个虚拟对象之间的位置关系。随后,基于比较结果,信息处理系统足以通过输入/输出装置20向用户呈现在缓冲器B211至B215中的每一个中绘制的虚拟对象中的每一个中的未被真实对象M417和其他虚拟对象遮挡的部分。
根据如上所述的配置,根据修改例1的信息处理系统变得能够更准确地校正每个虚拟对象的显示,特别是在预先限制要呈现的虚拟对象的数目的状况下。
<4.2.修改例2:区域划分的示例>
接下来,将作为修改例2描述将真实空间中的区域(即,与以视点作为原点的视场对应的区域)划分成多个区域的方法的示例。
例如,图10是用于说明根据修改例2的信息处理系统的一种模式的概述的说明图,并且示出了沿着深度方向将与以视点P11作为原点的视场对应的区域划分成多个区域的方法的示例。具体地,在图10所示的示例中,当将与视点P11作为原点的视场对应的区域划分成多个区域R211至R215时,区域被划分成使得对于位于更前方的区域在深度方向上的宽度变得更窄。更具体地,在图10所示的示例中,位于最前方的区域R211在深度方向上的宽度最窄,并且在深度方向上的宽度按区域R213、R215和R217的顺序依次变得更宽。以该方式,在图10所示的示例中,信息处理系统将靠近用户的区域划分成更精细的区域,并且将相互不同的缓冲器与划分的区域中的每一个关联。
根据这样的配置,在图10所示的示例中,在视点P11移动的情况下,变得可以针对更靠近视点P11(即,用户)叠加呈现的虚拟对象更精细地校正显示位置。特别是,在与视点的移动关联地校正显示位置的情况下,存在以下趋势:对于更靠近视点定位的虚拟对象,显示位置的校正量变得更大,并且对于更远离地定位的虚拟对象,显示位置的校正量变得更小。根据这样的特性,在更靠近视点的区域中,存在以下趋势:与距视点更远的位置相比,由于深度方向上的位置差异而导致的校正量的差异变得更大。此外,如上所述的那样以缓冲器为单位执行每个虚拟对象的显示位置的校正。根据如上面那样的特性,通过将用户附近的区域划分成更精细的区域,并且将相互不同的缓冲器与划分的区域中的每一个关联,变得可以有效地利用缓冲器,并且此外,提高与对每个虚拟对象的显示位置的校正有关的精度。
此外,上面主要描述了预先将与以视点P11作为原点的视场对应的区域划分成多个区域(即,静态划分)的情况的示例,但是区域的划分也可以根据情况动态地执行。
例如,图11是用于说明根据修改例2的信息处理系统的另一模式的概述的说明图,并且示出了将在用户正在关注的真实空间中的位置附近的区域划分成更精细的区域的情况的示例。
例如,在图11所示的示例中,假设用户正将用户的视线指向由附图标记M421所示的真实对象的情况,并且与以视点P11作为原点的视场对应的区域在深度方向上被划分成多个区域R311至R319。更具体地,在图12所示的示例中,包括用户正在关注的位置(即,存在真实对象M421的位置)的区域R315以及与区域R315相邻的区域R313和R317在深度方向上的宽度被设置成比其他区域R311和R319更窄。注意,相互不同的缓冲器与区域R311至R319中的每一个关联。
根据这样的配置,在视点P11移动的情况下,信息处理系统变得能够针对更靠近用户正在关注的位置叠加呈现的虚拟对象更精细地校正显示位置。
此外,在诸如向用户呈现移动虚拟对象的状况下,可以根据对虚拟对象的运动预测的结果动态地将与以视点P11作为原点的视场对应的区域划分成多个区域。例如,图12是用于说明根据修改例2的信息处理系统的另一模式的概述的说明图,并且示出了根据对虚拟对象的运动预测的结果来将真实空间中的区域划分成多个区域的情况的示例。
例如,在图12所示的示例中,假设附图标记V433所示的位置被预测为虚拟对象V431的移动目的地的情况,并且与以视点P11作为原点的视场对应的区域沿深度方向被划分成多个区域R321至R329。更具体地,在图12所示的示例中,包括被预测为虚拟对象V431的移动目的地的位置V433的区域R325以及与区域R325相邻的区域R323和R327在深度方向上的宽度被设置成比其他区域R321和R329更窄。注意,相互不同的缓冲器与区域R321至R329中的每一个关联。
根据这样的配置,在视点P11移动的情况下,考虑了由于虚拟对象V431的移动而导致的虚拟对象V431与其他真实对象和虚拟对象之间的位置关系的变化,信息处理系统变得能够更准确地执行校正。
注意,利用预测结果的校正不仅仅限于如图12所示的那样利用对虚拟对象的运动进行预测的结果的方法。作为具体示例,信息处理系统可以基于对用户头部的位置和姿态的变化进行检测的结果来预测视点的位置和方向的变化,并且由此基于预测结果,将真实空间中的区域划分成多个区域。此外,作为另一示例,在真实对象正在移动的状况下,信息处理系统可以预测真实对象的移动目的地,并且基于预测结果,将真实空间中的区域划分成多个区域。
此外,以上描述的示例仅是示例,并且将真实空间中的区域划分成多个区域的方法不必然限于以上描述的示例。例如,优选地根据应当以更高优先级呈现的目标(即,显示位置被更精细地校正的目标)将真实空间中的区域划分成多个区域。作为更具体的示例,通过针对信息处理系统的每个使用情况和使用场景设置应当优先呈现的目标,可以根据使用情况或使用场景将真实空间中的区域划分成多个区域。
作为修改例2,上面描述了将真实空间中的区域(即,与以视点作为原点的视场对应的区域)划分成多个区域的方法的示例。
<4.3.修改例3:缓冲器控制示例>
接下来,将作为修改例3描述控制缓冲器的示例。
例如,信息处理系统可以根据各种状态和状况动态地控制分配用于绘制虚拟对象和深度图的缓冲器的数目。
例如,在修改例2中,描述了根据状况将真实空间中的区域动态地划分成多个区域的示例,但是此时,信息处理系统还可以动态地改变划分的区域的数目。在该情况下,由于与划分的区域中的每一个关联的缓冲器的数目根据划分的区域的数目而变化,所以信息处理系统还可以根据划分的区域的数目来控制在其中绘制虚拟对象的缓冲器的数目。
此外,作为另一示例,在如修改例1所示的那样将缓冲器与虚拟对象直接关联的情况下,信息处理系统还可以根据要呈现的虚拟对象的数目来控制其中绘制虚拟对象的缓冲器的数目。
注意,在由于动态地改变相对于真实空间中的区域和虚拟对象的缓冲器的关联而使得缓冲器的数目不足的情况下,信息处理系统还可以从预定存储区域新分配缓冲器。此外,在达到由于动态地改变相对于真实空间中的区域和虚拟对象的缓冲器的关联而使得一些缓冲器未被使用的状态的情况下,信息处理系统也可以释放从其分配缓冲器的存储区域。
此外,即使在将真实空间中的区域划分成多个区域的情况下,也不必然是虚拟对象将被叠加到全部划分的区域上的情况。在这样的情况下,在一些情况下,虚拟对象可以不被绘制在与虚拟对象未被叠加的区域关联的缓冲器中。鉴于这样的状况,例如,信息处理系统还可以针对虚拟对象未被叠加的区域释放缓冲器的关联。在该情况下,信息处理系统还可以释放从其分配与区域的关联被释放的缓冲器的存储区域。
此外,还可以预期信息处理系统根据状况临时抑制(即,隐藏)虚拟对象的显示的情况。在这样的情况下,在抑制虚拟对象的显示的时段期间,信息处理系统可以通过释放缓冲器与虚拟对象被叠加的区域的关联来抑制虚拟对象的绘制本身,或者释放从其分配该缓冲器的存储区域。注意,在重新显示其显示已被抑制的虚拟对象的情况下,信息处理系统足以再次将缓冲器与要呈现虚拟对象的区域关联。此外,此时,信息处理系统还可以重新分配缓冲器以与区域关联。
此外,信息处理系统可以通过动态地限制一些虚拟对象的绘制来限制一些缓冲器的使用。作为具体示例,根据各种状态和状况,信息处理系统可以将在后方更远处呈现的虚拟对象视为用户未正在关注的对象,并且限制该虚拟对象的绘制。此外,作为另一示例,根据各种状态和状况,信息处理系统可以将距用户正在关注的位置更远的虚拟对象视为用户未正在关注的对象,并且限制该虚拟对象的绘制。注意,对于其使用与绘制的限制关联地被限制的缓冲器,信息处理系统还可以将该缓冲器用于其他目的,例如使用该缓冲器来绘制其他虚拟对象等。
此外,如上所述,以缓冲器为单位执行虚拟对象的显示位置的校正。为此,例如,在多个虚拟对象被叠加到部分区域上的状况下,例如,信息处理系统可以更精细地再次划分该区域,并且将缓冲器与划分的区域中的每一个单独地关联。通过这样的控制,信息处理系统变得能够单独地校正多个虚拟对象中的每一个的显示位置。
此外,作为另一示例,信息处理系统可以控制其中绘制虚拟对象和深度图的各个缓冲器中的至少一些缓冲器的尺寸。
作为具体示例,通过在缓冲器之间设置优先级,信息处理系统可以分配具有与优先级对应的尺寸的缓冲器。例如,图13是用于说明根据修改例3的信息处理系统的一种模式的概述的说明图,并且示出了缓冲器尺寸控制的示例。
通常,存在以下趋势:更远离地定位的虚拟对象被呈现得更小,并且虚拟对象的分辨率也相对更低。为此,在图13所示的示例中,信息处理系统根据通过沿深度方向划分与以视点P11作为原点的视场对应的区域而获得的多个区域R331至R337的深度方向上的位置,设置与区域关联的缓冲器的尺寸。具体地,在图13所示的示例中,信息处理系统将位于前方更远处的区域R331和R333的优先级设置为高于位于后方更远处的区域R335和R337的优先级,并且根据优先级设置要关联的缓冲器的尺寸。换句话说,信息处理系统将与区域R335和R337关联的缓冲器的尺寸设置为小于与区域R331和R333关联的缓冲器的尺寸。注意,对于在小尺寸的缓冲器中绘制的虚拟对象,当与在另一缓冲器中绘制的虚拟对象合成时,信息处理系统优选地在首先执行放大处理以匹配在另一缓冲器中绘制的虚拟对象的尺寸之后执行合成。
如上所述,例如,通过限制一些缓冲器的尺寸,还可以减少与虚拟对象的绘制有关的处理负荷。注意,也可以根据各种状态和状况动态地执行以上描述的缓冲器的尺寸的控制。
此外,为了限制一些缓冲器的尺寸,信息处理系统还可以切换与虚拟对象的绘制有关的操作和与虚拟对象的输出有关的操作。例如,图14是用于说明根据修改例3的信息处理系统的一种模式的概述的说明图,并且示出了用于限制缓冲器的尺寸的机制的示例。
具体地,如上所述,存在以下趋势:更远离地定位的虚拟对象被呈现得更小,并且分辨率也相对更低,使得即使虚拟对象的显示稍微改变,在一些情况下用户也难以识别显示的变化。因此,在图14所示的示例中,对于更远离地呈现的虚拟对象,通过预先根据与视点的位置关系绘制用于呈现的图像,并且切换这些图像,信息处理系统限制用于绘制的缓冲器的尺寸。
具体地,在图14所示的示例中,对于要呈现的虚拟对象,预先绘制在从相互不同的方向看的情况下的虚拟对象的图像V441a至V441c。换句话说,图像V441a是在从前方参考虚拟对象的情况下的图像。此外,图像V441b是在相对于前方从右侧参考虚拟对象的情况下的图像,并且图像V441c是在相对于前方从左侧参考虚拟对象的情况下的图像。此外,根据虚拟对象被叠加的位置与视点之间的位置关系,信息处理系统将图像V441a至V441c中的一个呈现为虚拟对象的图像。通过采用这样的配置,与绘制三维呈现的虚拟对象的情况相比,可以限制缓冲器的尺寸,并且此外,还可以减少与绘制有关的处理负荷。
此外,信息处理系统还可以在缓冲器之间设置优先级,并且根据优先级,限制与针对在一些缓冲器中绘制的虚拟对象的显示位置的校正有关的处理。例如,通过为与更靠近用户正在关注的位置定位的区域关联的缓冲器设置更高的优先级,信息处理系统可以限制与针对叠加到远离用户正在关注的位置的位置上的虚拟对象的显示位置的校正有关的处理。通过这样的配置,信息处理系统变得能够在合成在缓冲器中的每一个中绘制的虚拟对象时减少处理负荷。
此外,关于信息处理系统动态地限制缓冲器的数目和尺寸的条件,例如,足以根据信息处理系统的使用情况和使用场景来设置这些条件。作为具体示例,在可用电力量受限的状况下(例如,当电池驱动时等),信息处理系统可以通过限制缓冲器的数目和尺寸来减少功耗,并且减少与虚拟对象的绘制和合成有关处理负荷。
以上作为修改例3描述了控制缓冲器的示例。
<4.4.修改例4:与虚拟对象的绘制和输出有关的控制的示例>
接下来,将作为修改例4描述与虚拟对象到每个缓冲器的绘制和虚拟对象的输出有关的控制的示例。
(远处呈现的虚拟对象的绘制和输出的控制的示例)
首先,将描述对远处呈现的虚拟对象的绘制和输出进行控制的情况的示例。如前所述,对于更远离地定位的虚拟对象,即使显示被稍微改变,在一些情况下用户也难以识别显示的变化。因此,例如,对于在更远离视点的位置的区域中呈现的一系列虚拟对象,信息处理系统可以将虚拟对象绘制为二维图像而不单独执行三维绘制,并且从而减少与绘制有关的处理负荷。在该情况下,信息处理系统足以基于诸如所谓立方图或视差的技术根据目标区域与视点之间的位置关系来控制以下二维图像的显示位置,在该二维图像中绘制叠加到区域上的一系列虚拟对象。
(固定显示位置的情况下的控制的示例)
接下来,将描述对例如所谓的UI等的显示位置被固定的信息的绘制和输出进行控制的情况的示例。对于独立呈现而不与真实空间关联的显示信息,例如UI等,即使在视点的位置和方向改变的情况下,也期望显示信息总是呈现在同一位置。换句话说,对于诸如UI的显示信息,例如,即使在视点的位置和方向改变的情况下,在一些情况下也不需要校正显示位置。鉴于这样的状况,例如,信息处理系统可以提供用于绘制从校正的目标中排除的一系列显示信息的缓冲器。
(与绘制和合成有关的处理的定时的控制)
接下来,将描述对与绘制和合成有关的处理的定时进行控制的情况的示例。与虚拟对象的绘制有关的处理和与在每个缓冲器中绘制的虚拟对象的合成有关的处理倾向于具有相对高的处理负荷,并且在一些情况下与处理负荷关联的处理时间变长。鉴于这样的状况,信息处理系统还可以检测用户没有在注视虚拟对象的定时,并且在该定时处执行以上描述的具有高处理负荷的处理。
作为具体示例,通过预测用户眨眼的定时,信息处理系统可以基于预测结果执行具有高处理负荷的控制以匹配用户闭上其眼睛的定时。此外,此时,信息处理系统还可以校正在每个缓冲器中绘制的虚拟对象的显示位置并且控制合成虚拟对象的定时以匹配用户睁开其眼睛的定时。
注意,只要可以预测用户眨眼的定时,方法不受特别限制。作为具体示例,信息处理系统可以监测用户行为,并且根据对监视结果与用户行为的特性进行比较的结果来预测用户将眨眼的定时。
上面作为修改例4描述了与虚拟对象到每个缓冲器的绘制和虚拟对象的输出有关的控制的示例。
<4.5.修改例5:交互控制的示例>
接下来,将作为修改例5描述根据本实施方式的信息处理系统中的交互的控制的示例。
(与其他输出信息的组合)
首先,将描述通过与其他输出信息的控制组合来进一步减轻与虚拟对象的绘制关联的延迟的影响的控制的示例。例如,当呈现虚拟对象时,通过控制声音的输出使得声音从虚拟对象被呈现的位置到达,在一些情况下模拟正从虚拟对象输出声音的情况。在该情况下,通过根据视点、要呈现的每个虚拟对象和位于真实空间中的真实对象之间的位置关系来控制声音的输出,信息处理系统可以减轻与虚拟对象的绘制有关联的延迟的影响。
作为更具体的示例,将关注在视点与模拟输出声音的状态的虚拟对象之间插入另一虚拟对象或真实对象的情况。在这样的情况下,例如,通过控制声音的音量和音质,信息处理系统可以模拟从虚拟对象输出的声音被另一虚拟对象或真实对象遮挡的情况。通过这样的控制,即使在虚拟对象的显示位置的校正不完美的情况下,也可以插入不完美。
(显示模式控制示例)
接下来,将描述控制虚拟对象的显示模式和这种控制预期的有益效果的示例。例如,信息处理系统可以控制虚拟对象的显示以提高叠加到除上面叠加用户正在关注的虚拟对象的区域以外的其他区域上的其他虚拟对象的透射率(例如,呈现为半透明)。通过这样的控制,更加强调用户正在关注的虚拟对象,使得可以以更容易理解的方式呈现与其他虚拟对象的位置关系(特别是在深度方向上的位置关系)。
此外,通过更加强调地呈现部分虚拟对象,变得还可以用这一个或更多个虚拟对象引导用户的视线。通过利用这样的控制,例如,信息处理系统还可以控制真实空间中的区域的划分以及相对于区域的缓冲器的关联,以使得能够更精细地对用户的视线被引导至的位置附近的虚拟对象的显示位置进行控制。
上面将作为修改例5描述了根据本实施方式的信息处理系统中的交互的控制的示例。
<<5.硬件配置>>
接下来,将参照图15详细描述根据本实施方式的信息处理系统1中包括的信息处理装置900的硬件配置,如以上描述的信息处理装置10和输入/输出装置20。图15是示出根据本公开的实施方式的信息处理系统1中包括的信息处理装置900的硬件配置的示例性配置的功能框图。
根据本实施方式的信息处理系统1中包括的信息处理装置900主要设置有CPU901、ROM 903和RAM 905。此外,信息处理装置900附加地设置有主机总线907、桥接器909、外部总线911、接口913、输入装置915、输出装置917、存储装置919、驱动器921、连接端口923和通信装置925。
CPU 901用作计算处理装置和控制装置,并且通过遵循记录在ROM 903、RAM 905、存储装置919或可移除记录介质927中的各种程序来控制信息处理装置900中的操作的全部或部分。ROM 903存储由CPU 901使用的程序、计算参数等。RAM 905临时存储由CPU 901使用的程序、在执行程序期间适当改变的参数等。它们通过主机总线907互连,主机总线907包括诸如CPU总线的内部总线。注意,上面参照图7描述的识别单元101、绘制单元103、显示控制单元107和缓冲器控制单元111可以例如由CPU 901实现。
主机总线907经由桥接器909连接至诸如外围部件互连/接口(PCI)总线的外部总线911。此外,输入装置915、输出装置917、存储装置919、驱动器921、连接端口923和通信装置925经由接口913连接至外部总线911。
输入装置915是用户操作的操作装置,例如鼠标、键盘、触摸面板、按钮、开关或操纵杆等。此外,例如,输入装置915可以是使用红外线或一些其他电磁波的远程控制装置(也称为遥控),并且也可以是支持信息处理装置900的操作的外部连接设备929,例如蜂窝电话或PDA。此外,例如,输入装置915包括基于由用户使用上述操作装置输入的信息生成输入信号并且将所生成的输入信号输出至CPU 901的输入控制电路等。通过操作输入装置915,信息处理装置900的用户能够输入各种数据并且指示信息处理装置900执行处理操作。
输出装置917是能够视觉地或听觉地向用户通知获取的信息的装置。这样的装置可以是显示装置、音频输出装置或打印机装置等,该显示装置例如是CRT显示装置、液晶显示装置、等离子体显示装置、EL显示装置、指示灯等,该音频输出装置例如是扬声器或头戴式耳机。例如,输出装置917输出通过由信息处理装置900执行的各种处理所获得的结果。具体地,显示装置将通过由信息处理装置900执行的各种处理所获得的结果显示为文本或图像。另一方面,音频输出装置输出从包含重放语音数据、声音数据等的音频信号转换的模拟信号。注意,上面参照图7描述的输出单元211可以例如由输出装置917实现。
存储装置919是被配置为信息处理装置900中的存储单元的示例的用于数据存储的装置。例如,存储装置919包括诸如硬盘驱动器(HDD)的磁存储设备、半导体存储设备、光存储设备、磁光存储设备等。存储装置919存储由CPU 901执行的程序、各种数据等。
驱动器921是用于记录介质的读写器,并且被设置到信息处理装置900中或从外部附接至信息处理设备100。驱动器921读出在诸如插入的磁盘、光盘、磁光盘或半导体存储器的可移除存储介质927上记录的信息,并且将该信息输出至RAM 905。此外,驱动器921能够向诸如插入的磁盘、光盘、磁光盘或半导体存储器的可移除记录介质927写入记录。可移除记录介质927例如是DVD介质、HD-DVD介质、蓝光(注册商标)介质等。此外,可移除记录介质927可以是CompactFlash(注册商标)(CF)、闪速存储器、安全数字(SD)存储器卡等。此外,例如,可移除记录介质927可以是安装有非接触式IC芯片的集成电路(IC)卡或电子设备等。注意,上面参照图7描述的缓冲器105和临时缓冲器109可以例如由RAM 905和存储装置919中的至少一个来实现。
连接端口923是用于直接连接至信息处理装置900的端口。连接端口923的示例包括通用串行总线(USB)端口、IEEE 1394端口、小型计算机系统接口(SCSI)端口等。连接端口923的其他示例包括RS-232C端口、光学音频插口、高清晰度多媒体接口(HDMI(注册商标))端口等。通过将外部连接设备929连接至连接端口923,信息处理装置900直接从外部连接设备929获取各种数据,并且向外部连接设备929提供各种数据。
通信装置925例如是包括用于连接至通信网(网络)931的通信设备的通信接口。例如,通信装置925是用于有线或无线局域网(LAN)、蓝牙(注册商标)、或无线USB(WUSB)等的通信卡。此外,通信装置925可以是光通信路由器、非对称数字用户线路(ADSL)路由器、用于各种类型的通信中的任何通信的调制解调器等。例如,通信装置925能够根据诸如TCP/IP等的预定协议向因特网或其他通信设备发送信号等并且从因特网或其他通信设备接收信号等。此外,连接至通信装置925的通信网931可以包括以有线方式或无线方式连接的网络等,并且可以例如是因特网、家庭LAN、红外通信、无线电波通信、卫星通信等。
上面示出了能够实现根据本公开的实施方式的信息处理系统1中包括的信息处理装置900的功能的硬件配置的示例。上述结构元件中的每个元件均可以使用通用构件来配置,但是也可以通过专用于每个结构元件的功能的硬件来配置。因此,可以根据执行本实施方式时的技术水平适当地修改要使用的硬件配置。注意,尽管在图15中未示出,但是显然提供了与根据本实施方式的信息处理系统1中包括的信息处理装置900对应的各种类型的配置。
注意,还可以开发用于实现如上所述的根据本实施方式的信息处理系统1中包括的信息处理装置900的每个功能的计算机程序,并且在个人计算机等中实现该计算机程序。此外,还可以提供存储这样的计算机程序的计算机可读记录介质。记录介质例如是磁盘、光盘、磁光盘、闪速存储器等。此外,例如,可以在不使用记录介质的情况下经由网络递送上述计算机程序。此外,用于执行计算机程序的计算机的数目不受特别限制。例如,计算机程序可以由彼此链接的多个计算机(例如,多个服务器等)执行。注意,单个计算机或多个计算机的链接也称为“计算机系统”。
<<6.结论>>
如上所述,根据本实施方式的信息处理系统直接或间接地将多条显示信息(例如,虚拟对象)中的每一条与多个缓冲器中的任何一个关联,并且在每个缓冲器中,绘制与该缓冲器关联的显示信息。此外,基于识别真实空间中的真实对象的结果,信息处理系统校正在多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与真实对象的位置关系呈现每条校正的显示信息。通过这样的配置,根据本实施方式的信息处理系统变得能够根据视点、每条显示信息和真实对象之间的位置关系单独地校正显示信息的显示。换句话说,根据本实施方式的信息处理系统变得能够根据显示信息被叠加的位置单独地校正与绘制延迟关联的影响,并且此外,在考虑真实对象的遮挡的情况下控制每条显示信息的显示(例如,显示位置)。
注意,尽管以上描述主要关注于输入/输出装置20被配置为HMD的情况,但是只要AR是可实现的,输入/输出装置20的配置不必然限于HMD。作为具体示例,诸如智能电话等的信息处理装置也可以用作输入/输出装置20。在该情况下,例如,足以基于类似于透视HMD的机制将虚拟对象叠加到外部场景的图像上。
此外,成像单元还可以被单独设置为与输入/输出装置20不同的外部装置。以该方式,通过单独提供成像单元,变得可以从各个方向捕获真实空间中的物理对象(主体),从而可以进一步提高生成的深度图的精度。
上面已经参照附图描述了本公开的(一个或更多个)优选实施方式,而本公开不限于上述示例。本领域技术人员可以在所附权利要求书的范围内发现各种变化和修改,并且应该理解的是,这些变化和修改将会自然地落入本公开的技术范围之内。
此外,本说明书中描述的效果仅仅是说明性或示例性的效果,而不是限制性的。也就是说,结合或代替上述效果,根据本公开的技术可以实现根据本说明书的描述对于本领域技术人员而言是清楚的其他效果。
此外,本技术还可以配置如下。
(1)
一种信息处理装置,包括:
获取单元,其获取与识别真实空间中的真实对象的结果有关的信息;
绘制单元,其在多个缓冲器中的每一个中绘制多条显示信息中的直接或间接地与该缓冲器关联的显示信息;以及
显示控制单元,其基于识别所述真实对象的结果来校正在所述多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与所述真实对象的位置关系呈现显示已被校正的每条显示信息。
(2)
根据(1)所述的信息处理装置,包括:
缓冲器控制单元,其直接或间接地将所述多条显示信息中的每一条与所述多个缓冲器中的任何一个关联。
(3)
根据(2)所述的信息处理装置,其中,
所述显示控制单元基于根据识别所述真实对象的结果的所述真实对象与视点之间的位置关系,来校正在所述多个缓冲器中的每一个中绘制的显示信息的显示位置。
(4)
根据(3)所述的信息处理装置,其中,
所述缓冲器控制单元将相互不同的缓冲器与以视点的位置作为原点的真实空间的沿着深度方向的多个区域中的每一个关联,
所述绘制单元将要呈现为位于所述多个区域中的每一个中的显示信息绘制在与该区域关联的缓冲器中,并且
所述显示控制单元以所述多个缓冲器中的至少之一为目标,并且根据与目标缓冲器关联的区域与所述视点之间的位置关系校正要在所述区域中呈现的显示信息的显示位置。
(5)
根据(3)所述的信息处理装置,其中,
所述缓冲器控制单元将所述多条显示信息中的每一条与相互不同的缓冲器关联,并且
所述显示控制单元以所述多个缓冲器中的至少之一为目标,并且根据与目标缓冲器关联的显示信息与所述视点之间的位置关系校正所述显示信息的显示位置。
(6)
根据(2)至(5)中任一项所述的信息处理装置,其中,
所述缓冲器控制单元根据预定的状态或状况直接或间接地将所述多条显示信息中的每一条与所述多个缓冲器中的任何一个关联。
(7)
根据(6)所述的信息处理装置,其中,
所述缓冲器控制单元根据预定的状态或状况控制所述缓冲器的数目。
(8)
根据(6)或(7)所述的信息处理装置,其中,
所述缓冲器控制单元根据预定的状态或状况控制所述多个缓冲器中的至少之一的尺寸。
(9)
根据(6)至(8)中任一项所述的信息处理装置,其中,
所述缓冲器控制单元根据预定的状态或状况控制所述多条显示信息与所述多个缓冲器之间的直接或间接关联。
(10)
根据(9)所述的信息处理装置,其中,
所述缓冲器控制单元根据由用户的视线指示的真实空间中的位置控制所述多条显示信息与所述多个缓冲器之间的直接或间接关联。
(11)
根据(9)所述的信息处理装置,其中,
所述缓冲器控制单元根据对用户的视线的变化进行预测的结果控制所述多条显示信息与所述多个缓冲器之间的直接或间接关联。
(12)
根据(9)所述的信息处理装置,其中,
所述缓冲器控制单元根据对所述多条显示信息中的至少一条显示信息的运动进行预测的结果,控制所述多条显示信息与所述多个缓冲器之间的直接或间接关联。
(13)
根据(1)至(11)中任一项所述的信息处理装置,其中,
所述显示控制单元基于在所述多个缓冲器之间设置的优先级来控制在所述多个缓冲器中的每一个中绘制的显示信息到所述输出单元的呈现。
(14)
根据(13)所述的信息处理装置,其中,
所述显示控制单元根据针对缓冲器设置的优先级校正在所述多个缓冲器中的至少之一中绘制的显示信息的显示。
(15)
根据(13)或(14)所述的信息处理装置,其中,
所述绘制单元根据针对缓冲器设置的优先级限制在所述多个缓冲器中的至少之一中的显示信息的绘制。
(16)
根据(1)至(15)中任一项所述的信息处理装置,其中,
所述显示控制单元从所述校正的目标中排除所述多个缓冲器中的部分缓冲器。
(17)
根据(1)至(16)中任一项所述的信息处理装置,其中,
所述显示控制单元基于在显示信息被绘制在缓冲器中的定时之后的定时处获取的所述真实对象的识别结果,校正在所述缓冲器中绘制的显示信息的显示。
(18)
一种信息处理方法,包括由计算机系统:
获取与识别真实空间中的真实对象的结果有关的信息;
在多个缓冲器中的每个缓冲器中绘制多条显示信息中的直接或间接地与该缓冲器关联的显示信息;以及
基于识别所述真实对象的结果来校正在所述多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与所述真实对象的位置关系呈现显示已被校正的每条显示信息。
(19)
一种程序,所述程序使得计算机系统执行:
获取与识别真实空间中的真实对象的结果有关的信息;
在多个缓冲器中的每一个中绘制多条显示信息中的直接或间接地与该缓冲器关联的显示信息;以及
基于识别所述真实对象的结果来校正在所述多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与所述真实对象的位置关系呈现显示已被校正的每条显示信息。
参考标记列表
1 信息处理系统
10 信息处理装置
101 识别单元
103 绘制单元
105 缓冲器
107 显示控制单元
109 临时缓冲器
111 缓冲器控制单元
20 输入/输出装置
201 成像单元
211 输出单元
251 检测单元。

Claims (17)

1.一种信息处理装置,包括:
获取单元,其获取与识别真实空间中的真实对象的结果有关的信息;
绘制单元,其在多个缓冲器中的每一个中绘制多条显示信息中的直接或间接地与所述缓冲器关联的显示信息;
显示控制单元,其基于识别所述真实对象的结果来校正在所述多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与所述真实对象的位置关系呈现显示已被校正的每条显示信息;以及
缓冲器控制单元,其将相互不同的缓冲器与以视点的位置作为原点的真实空间的沿着深度方向的多个区域中的每一个关联,
其中,所述绘制单元将要呈现为位于所述多个区域中的每一个中的显示信息绘制在与所述区域关联的缓冲器中,并且
其中,所述显示控制单元以所述多个缓冲器中的至少之一为目标,并且根据与目标缓冲器关联的区域与所述视点之间的位置关系校正要在所述区域中呈现的显示信息的显示位置。
2.根据权利要求1所述的信息处理装置,其中,
所述缓冲器控制单元直接或间接地将所述多条显示信息中的每一条与所述多个缓冲器中的任何一个关联。
3.根据权利要求1所述的信息处理装置,其中,
所述缓冲器控制单元将所述多条显示信息中的每一条与相互不同的缓冲器关联,并且
所述显示控制单元以所述多个缓冲器中的至少之一为目标,并且根据与目标缓冲器关联的显示信息与所述视点之间的位置关系校正所述显示信息的显示位置。
4.根据权利要求2所述的信息处理装置,其中,
所述缓冲器控制单元根据预定的状态或状况直接或间接地将所述多条显示信息中的每一条与所述多个缓冲器中的任何一个关联。
5.根据权利要求4所述的信息处理装置,其中,
所述缓冲器控制单元根据预定的状态或状况控制所述缓冲器的数目。
6.根据权利要求4所述的信息处理装置,其中,
所述缓冲器控制单元根据预定的状态或状况控制所述多个缓冲器中的至少之一的尺寸。
7.根据权利要求4所述的信息处理装置,其中,
所述缓冲器控制单元根据预定的状态或状况控制所述多条显示信息与所述多个缓冲器之间的直接或间接关联。
8.根据权利要求7所述的信息处理装置,其中,
所述缓冲器控制单元根据由用户的视线指示的真实空间中的位置控制所述多条显示信息与所述多个缓冲器之间的直接或间接关联。
9.根据权利要求7所述的信息处理装置,其中,
所述缓冲器控制单元根据对用户的视线的变化进行预测的结果来控制所述多条显示信息与所述多个缓冲器之间的直接或间接关联。
10.根据权利要求7所述的信息处理装置,其中,
所述缓冲器控制单元根据对所述多条显示信息中的至少一条显示信息的运动进行预测的结果来控制所述多条显示信息与所述多个缓冲器之间的直接或间接关联。
11.根据权利要求1所述的信息处理装置,其中,
所述显示控制单元基于在所述多个缓冲器之间设置的优先级来控制在所述多个缓冲器中的每一个中绘制的显示信息到所述输出单元的呈现。
12.根据权利要求11所述的信息处理装置,其中,
所述显示控制单元根据针对所述缓冲器设置的优先级校正在所述多个缓冲器中的至少之一中绘制的显示信息的显示。
13.根据权利要求11所述的信息处理装置,其中,
所述绘制单元根据针对所述缓冲器设置的优先级限制在所述多个缓冲器中的至少之一中的显示信息的绘制。
14.根据权利要求1所述的信息处理装置,其中
所述显示控制单元从所述校正的目标中排除所述多个缓冲器中的部分缓冲器。
15.根据权利要求1所述的信息处理装置,其中
所述显示控制单元基于在所述显示信息被绘制在所述缓冲器中的定时之后的定时处获取的所述真实对象的识别结果,校正在所述缓冲器中绘制的显示信息的显示。
16.一种信息处理方法,包括由计算机系统:
获取与识别真实空间中的真实对象的结果有关的信息;
在多个缓冲器中的每一个中绘制多条显示信息中的直接或间接地与所述缓冲器关联的显示信息;基于识别所述真实对象的结果来校正在所述多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与所述真实对象的位置关系呈现显示已被校正的每条显示信息;以及
将相互不同的缓冲器与以视点的位置作为原点的真实空间的沿着深度方向的多个区域中的每一个关联,
其中,要呈现为位于所述多个区域中的每一个中的显示信息被绘制在与所述区域关联的缓冲器中,并且
其中,以所述多个缓冲器中的至少之一为目标,根据与目标缓冲器关联的区域与所述视点之间的位置关系校正要在所述区域中呈现的显示信息的显示位置。
17.一种存储有程序的计算机可读记录介质,所述程序使得计算机系统执行:
获取与识别真实空间中的真实对象的结果有关的信息;
在多个缓冲器中的每一个中绘制多条显示信息中的直接或间接地与所述缓冲器关联的显示信息;基于识别所述真实对象的结果来校正在所述多个缓冲器中的每一个中绘制的显示信息的显示,并且使得预定的输出单元根据与所述真实对象的位置关系呈现显示已被校正的每条显示信息;以及
将相互不同的缓冲器与以视点的位置作为原点的真实空间的沿着深度方向的多个区域中的每一个关联,
其中,要呈现为位于所述多个区域中的每一个中的显示信息被绘制在与所述区域关联的缓冲器中,并且
其中,以所述多个缓冲器中的至少之一为目标,并且根据与目标缓冲器关联的区域与所述视点之间的位置关系校正要在所述区域中呈现的显示信息的显示位置。
CN201780023070.0A 2016-04-18 2017-03-08 信息处理装置、信息处理方法和程序 Active CN109074681B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016-082983 2016-04-18
JP2016082983 2016-04-18
PCT/JP2017/009261 WO2017183346A1 (ja) 2016-04-18 2017-03-08 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
CN109074681A CN109074681A (zh) 2018-12-21
CN109074681B true CN109074681B (zh) 2023-03-21

Family

ID=60115844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780023070.0A Active CN109074681B (zh) 2016-04-18 2017-03-08 信息处理装置、信息处理方法和程序

Country Status (6)

Country Link
US (1) US10943409B2 (zh)
EP (1) EP3447735B1 (zh)
JP (1) JP6747504B2 (zh)
KR (1) KR102298378B1 (zh)
CN (1) CN109074681B (zh)
WO (1) WO2017183346A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019087513A1 (ja) * 2017-10-31 2019-05-09 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP6770208B2 (ja) * 2018-01-30 2020-10-14 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
JP7252965B2 (ja) * 2018-02-15 2023-04-05 マジック リープ, インコーポレイテッド 複合現実のための二重聴取者位置
CN108398787B (zh) * 2018-03-20 2023-05-16 京东方科技集团股份有限公司 增强现实显示设备、方法和增强现实眼镜
EP3827299A4 (en) 2018-07-23 2021-10-27 Magic Leap, Inc. SYSTEM OF MIXED REALITY WITH VIRTUAL CONTENT DISTORTION AND PROCESS FOR GENERATING VIRTUAL CONTENT WITH IT
JP7367689B2 (ja) * 2018-10-04 2023-10-24 ソニーグループ株式会社 情報処理装置、情報処理方法、及び記録媒体
WO2020080177A1 (ja) * 2018-10-16 2020-04-23 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
US12010288B2 (en) 2018-11-02 2024-06-11 Sony Group Corporation Information processing device, information processing method, and program
JP7204511B2 (ja) 2019-02-12 2023-01-16 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム
US10867220B2 (en) 2019-05-16 2020-12-15 Rpx Corporation Systems and methods for generating composite sets of data from different sensors
US20220319105A1 (en) * 2019-07-10 2022-10-06 Sony Interactive Entertainment Inc. Image display apparatus, image display system, and image display method
JP7377014B2 (ja) * 2019-07-10 2023-11-09 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7217206B2 (ja) * 2019-07-10 2023-02-02 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7320400B2 (ja) * 2019-08-06 2023-08-03 日本放送協会 映像演出処理装置及びそのプログラム
WO2021040010A1 (ja) * 2019-08-30 2021-03-04 ソニー株式会社 情報処理装置、制御方法
WO2021075317A1 (ja) * 2019-10-18 2021-04-22 株式会社Nttドコモ Arシステム及び端末
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
JP2021100222A (ja) 2019-12-23 2021-07-01 ソニーグループ株式会社 端末装置、アプリケーションサーバ、受信方法及び送信方法
WO2021173862A1 (en) * 2020-02-26 2021-09-02 Magic Leap, Inc. Cross reality system with buffering for localization accuracy
US20240223738A1 (en) * 2021-05-19 2024-07-04 Sony Interactive Entertainment Inc. Image data generation device, display device, image display system, image data generation method, image display method, and data structure of image data
WO2024076058A1 (ko) * 2022-10-07 2024-04-11 삼성전자 주식회사 센서를 포함하는 웨어러블 전자 장치 및 이의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092436A (ja) * 2008-10-10 2010-04-22 Canon Inc 画像処理装置、画像処理方法
CN102509342A (zh) * 2011-09-22 2012-06-20 北京航空航天大学 一种共享增强现实场景中协同式虚实遮挡处理方法
CN104768018A (zh) * 2015-02-04 2015-07-08 浙江工商大学 一种基于深度图的快速视点预测方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005009437A1 (de) * 2005-03-02 2006-09-07 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Einblenden von AR-Objekten
JP5123747B2 (ja) * 2008-06-18 2013-01-23 キヤノン株式会社 画像表示装置およびその制御方法
KR20110136035A (ko) 2010-06-14 2011-12-21 주식회사 비즈모델라인 실제현실 적응형 증강현실 장치
US9354718B2 (en) * 2010-12-22 2016-05-31 Zspace, Inc. Tightly coupled interactive stereo display
JP5821526B2 (ja) 2011-10-27 2015-11-24 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP6040564B2 (ja) 2012-05-08 2016-12-07 ソニー株式会社 画像処理装置、投影制御方法及びプログラム
US9595083B1 (en) * 2013-04-16 2017-03-14 Lockheed Martin Corporation Method and apparatus for image producing with predictions of future positions
JP2015119373A (ja) * 2013-12-19 2015-06-25 ソニー株式会社 画像処理装置および方法、並びにプログラム
US20150379772A1 (en) * 2014-06-30 2015-12-31 Samsung Display Co., Ltd. Tracking accelerator for virtual and augmented reality displays
US9659410B2 (en) * 2014-10-21 2017-05-23 Honeywell International Inc. Low latency augmented reality display
US10129523B2 (en) * 2016-06-22 2018-11-13 Microsoft Technology Licensing, Llc Depth-aware reprojection
AU2017314940B2 (en) * 2016-08-26 2021-09-23 Magic Leap, Inc. Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092436A (ja) * 2008-10-10 2010-04-22 Canon Inc 画像処理装置、画像処理方法
CN102509342A (zh) * 2011-09-22 2012-06-20 北京航空航天大学 一种共享增强现实场景中协同式虚实遮挡处理方法
CN104768018A (zh) * 2015-02-04 2015-07-08 浙江工商大学 一种基于深度图的快速视点预测方法

Also Published As

Publication number Publication date
WO2017183346A1 (ja) 2017-10-26
KR20180136445A (ko) 2018-12-24
CN109074681A (zh) 2018-12-21
JPWO2017183346A1 (ja) 2019-02-21
US10943409B2 (en) 2021-03-09
EP3447735A1 (en) 2019-02-27
KR102298378B1 (ko) 2021-09-07
EP3447735B1 (en) 2020-04-29
JP6747504B2 (ja) 2020-08-26
EP3447735A4 (en) 2019-04-10
US20190102956A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
CN109074681B (zh) 信息处理装置、信息处理方法和程序
EP3195595B1 (en) Technologies for adjusting a perspective of a captured image for display
US11796309B2 (en) Information processing apparatus, information processing method, and recording medium
US20140176591A1 (en) Low-latency fusing of color image data
WO2016021034A1 (ja) 3次元上の注視点の位置特定アルゴリズム
US20200341284A1 (en) Information processing apparatus, information processing method, and recording medium
US11244145B2 (en) Information processing apparatus, information processing method, and recording medium
US11749141B2 (en) Information processing apparatus, information processing method, and recording medium
KR20160094190A (ko) 시선 추적 장치 및 방법
US12010288B2 (en) Information processing device, information processing method, and program
KR102450236B1 (ko) 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
WO2020215960A1 (zh) 注视区域的确定方法、装置及可穿戴设备
CN110895433B (zh) 用于增强现实中用户交互的方法和装置
EP3038061A1 (en) Apparatus and method to display augmented reality data
JP2022061495A (ja) 動的クロストークを測定する方法及び装置
US20190028690A1 (en) Detection system
WO2020044916A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2018063567A (ja) 画像処理装置、画像処理方法およびプログラム
WO2019150668A1 (ja) 画像処理装置、画像処理方法、及びプログラム
CN115698923A (zh) 信息处理装置、信息处理方法和程序
US11615767B2 (en) Information processing apparatus, information processing method, and recording medium

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