CN111263956A - 信息处理设备、信息处理方法和程序 - Google Patents

信息处理设备、信息处理方法和程序 Download PDF

Info

Publication number
CN111263956A
CN111263956A CN201880068854.XA CN201880068854A CN111263956A CN 111263956 A CN111263956 A CN 111263956A CN 201880068854 A CN201880068854 A CN 201880068854A CN 111263956 A CN111263956 A CN 111263956A
Authority
CN
China
Prior art keywords
virtual object
posture
hand
information processing
processing apparatus
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.)
Pending
Application number
CN201880068854.XA
Other languages
English (en)
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 CN111263956A publication Critical patent/CN111263956A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • 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/2004Aligning objects, relative positioning of parts
    • 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/2016Rotation, translation, scaling

Abstract

[问题]:为了提出一种信息处理设备、信息处理方法和程序,其能够根据虚拟对象在真实空间中的位置信息与真实对象的位置信息之间的关系来自适应地改变虚拟对象的取向。[解决方案]:提供了一种信息处理设备,包括:信息获取部,用于获取由显示部显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在真实空间中的位置信息;以及显示控制部,用于基于与虚拟对象的位置信息、第一真实对象的位置信息和第二真实对象的位置信息之间的关系相关联的取向改变规则来改变虚拟对象的取向。

Description

信息处理设备、信息处理方法和程序
技术领域
本公开内容涉及信息处理设备、信息处理方法和程序。
背景技术
传统上,已经开发了与虚拟现实(VR)和增强现实(AR)有关的各种技术。在VR中,用户可以以高度的沉浸感观看例如由计算机生成的三维虚拟空间的图像。另外,AR可以与真实空间中用户的位置相关联地向用户呈现各种信息(例如,虚拟对象)。
例如,在下述专利文献1中描述了基于用户在真实空间中进行的动作来控制虚拟对象的出现和消失的技术。
引文列表
专利文献
专利文献1:国际公开第2014/171200号
发明内容
技术问题
但是,在专利文献1所描述的技术中,没有考虑针对虚拟对象在真实空间中的位置信息与特定的真实对象的位置信息之间的关系来自适应地改变虚拟对象的姿态。
因此,本公开内容提出了一种新颖且改进的信息处理设备、信息处理方法和程序,其能够根据虚拟对象在真实空间中的位置信息与真实对象的位置信息之间的关系来自适应地改变虚拟对象的姿态。
问题的解决方案
根据本公开内容,提供了一种信息处理设备,包括:信息获取单元,其获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在真实空间中的位置信息;以及显示控制单元,其基于与虚拟对象的位置信息、第一真实对象的位置信息和第二真实对象的位置信息之间的关系对应的姿态改变规则来改变虚拟对象的姿态。
此外,根据本公开内容,提供了一种信息处理方法,包括:获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在真实空间中的位置信息;以及通过处理器基于与虚拟对象的位置信息、第一真实对象的位置信息和第二真实对象的位置信息之间的关系对应的姿态改变规则来改变虚拟对象的姿态。
此外,根据本公开内容,提供了一种使计算机用作以下的程序:信息获取单元,其获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在真实空间中的位置信息;以及显示控制单元,其基于与虚拟对象的位置信息、第一真实对象的位置信息和第二真实对象的位置信息之间的关系对应的姿态改变规则来改变虚拟对象的姿态。
发明的效果
如上所述,根据本公开内容,可以根据虚拟对象在真实空间中的位置信息与真实对象的位置信息之间的关系来自适应地改变虚拟对象的姿态。注意,这里描述的效果不必是限制性的,并且可以是本公开内容中描述的任何效果。
附图说明
图1是示出本公开内容的每个实施方式共有的信息处理系统的配置示例的图。
图2是示出虚拟对象在显示单元124上的显示示例的图。
图3A是示出第一实施方式的问题的图。
图3B是示出第一实施方式的问题的图。
图3C是示出第一实施方式的问题的图。
图3D是示出第一实施方式的问题的图。
图4是示出根据第一实施方式的信息处理设备10-1的配置示例的功能框图。
图5A是示出根据第一实施方式的将一个或更多个关节确定为姿态改变目标的示例的图。
图5B是示出根据第一实施方式的将一个或更多个关节确定为姿态改变目标的示例的图。
图6A是示出根据第一实施方式的将一个或更多个关节确定为姿态改变目标的示例的图。
图6B是示出根据第一实施方式的将一个或更多个关节确定为姿态改变目标的示例的图。
图7A是示出根据第一实施方式的将一个或更多个关节确定为姿态改变目标的示例的图。
图7B是示出根据第一实施方式的将一个或更多个关节确定为姿态改变目标的示例的图。
图8A是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图8B是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图9A是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图9B是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图9C是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图10A是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图10B是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图10C是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图10D是示出根据第一实施方式的改变作为姿态改变目标的一个或更多个关节的姿态的示例的图。
图11是示出根据第一实施方式的处理流程的一部分的流程图。
图12是示出根据第一实施方式的处理流程的一部分的流程图。
图13是示出根据第二实施方式的信息处理设备10-2的配置示例的功能框图。
图14是示出根据第二实施方式的改变虚拟对象的姿态的示例的图。
图15是示出根据第二实施方式的改变虚拟对象的姿态的示例的图。
图16是示出根据第二实施方式的改变虚拟对象的姿态的示例的图。
图17是示出根据第二实施方式的改变虚拟对象的姿态的示例的图。
图18是示出根据第二实施方式的处理流程的一部分的流程图。
图19是示出根据第二实施方式的处理流程的一部分的流程图。
图20是示出每个实施方式共有的信息处理设备10的硬件配置示例的图。
具体实施方式
在下文中,将参照附图详细地描述本公开内容的优选实施方式。注意,对具有基本相同功能配置的部件给予相同的附图标记,并且在本说明书和附图中将省略冗余描述。
此外,在本说明书和附图中,在一些情况下,通过给出跟随有不同字母的相同附图标记,来区分具有基本相同的功能配置的多个部件。例如,根据需要,对诸如虚拟对象30a、虚拟对象30b的具有基本相同的功能配置的多个部件进行区分。然而,在不需要特别区分具有基本相同的功能配置的多个部件中的每个的情况下,将仅附加相同的附图标记。例如,在不需要特别区分虚拟对象30a和虚拟对象30b的情况下,这些对象被简称为虚拟对象30。
另外,将根据以下项顺序来描述“用于执行本发明的模式”。
1.信息处理系统的配置
2.第一实施方式
3.第二实施方式
4.硬件配置
5.修改
在下文中,在一些情况下,根据本公开内容的第一实施方式的信息处理设备10-1和根据本公开内容的第二实施方式的信息处理设备10-2被统称为信息处理设备10。
<<1.信息处理系统的配置>>
首先,将参照图1描述本公开内容的每个实施方式共有的信息处理系统的配置示例。如图1所示,根据每个实施方式的信息处理系统包括信息处理设备10、服务器20和通信网络22。
<1-1.信息处理设备10>
信息处理设备10是控制包括虚拟对象的内容的显示的设备。例如,信息处理设备10使以下描述的显示单元124显示内容。内容的示例包括AR内容或VR内容。
如图1所示,信息处理设备10可以是包括显示单元124的头戴式设备。例如,信息处理设备10可以是AR眼镜、视频透视头戴显示器(HMD)或屏蔽HMD。
图2是示出AR内容4在显示单元124上的显示示例的图。如图2所示,信息处理设备10能够在显示单元124上显示虚拟对象30,同时使得能够观看佩戴信息处理设备10的用户周围的真实对象(例如,用户的手2)。此外,信息处理设备10还能够基于与虚拟对象30的显示位置对应的虚拟对象30在真实空间中的位置信息和每个真实对象在真实空间中的位置信息来确定虚拟对象与各个真实对象之间的接触。这允许用户使左手和右手2与虚拟对象30接触用于移动例如虚拟对象30的位置和姿态。
<1-2.服务器20>
服务器20是管理各种类型的内容(AR内容、VR内容等)的设备。此外,服务器20能够经由通信网络22与另一设备通信。例如,服务器20从信息处理设备10接收内容获取请求,并且将与获取请求对应的内容发送到信息处理设备10。
<1-3.通信网络22>
通信网络22是用于从连接到通信网络22的设备发送信息的有线或无线传输路径。例如,通信网络22可以包括诸如电话线路网络的公共线路网络、因特网、卫星通信网络、包括以太网(注册商标)的各种局域网(LAN)、广域网(WAN)等。通信网络22可以包括专用线路网络,例如互联网协议-虚拟专用网(IP-VPN)。
以上已经描述了每个实施方式共有的信息处理系统的配置。如以下所描述的,根据每个实施方式的信息处理设备10可以获取显示单元124上显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在真实空间中的位置信息,并且可以基于与虚拟对象的位置信息、第一真实对象的位置信息和第二真实对象的位置信息之间的关系对应的姿态改变规则来改变虚拟对象的姿态。这里,虚拟对象在真实空间中的位置信息可以和与虚拟对象在显示单元124上的显示位置对应的真实空间中的位置信息相同。
<<2.第一实施方式>>
首先,将描述第一实施方式。第一实施方式假设用户使用左手和右手的移动来改变虚拟对象的姿态的情况。在第一实施方式中,假设虚拟对象被配置为具有多个固定部以及针对每两个相邻的固定部进行设置以可旋转地连接两个相邻的固定部的可动部。例如,固定部可以是刚体,并且可动部可以是关节。作为示例,使用刚体关节模型来配置虚拟对象。此外,可以使用指示这些刚体中的每个与这些关节中的每个之间的连接关系的树结构来配置虚拟对象。在第一实施方式中,用户的左手和右手中的一只是根据本公开内容的第一真实对象的示例。用户的左手和右手中的另一只是根据本公开内容的第二真实对象的示例。
<2-1.背景技术>
接下来,将描述导致创建第一实施方式的背景。例如,如图2所示,在用户试图使用左手和右手的移动来改变虚拟对象的姿态的情况下,用户的手的移动在操作期间不受物理约束(例如,不像用户通过手改变真实对象的姿态的情况)。因此,例如,由于用户的手偏离用户期望的位置,虚拟对象的姿态可能被改变为用户不期望的姿态。
这里,将参照图3A至图3D更详细地描述上述内容。图3A至图3D是示出用户通过手改变虚拟对象30的姿态的示例的图。如图3A所示,假设用户首先用右手2b握住包括在虚拟对象30中的刚体300a,并且用左手2a握住刚体300b。此时,假设用户期望将虚拟对象30的姿态(更具体地,刚体300a的姿态)改变为例如图3C所示的姿态。接着,如图3B所示,假设用户在将右手2b的姿态保持在握住刚体300a的姿态的同时,沿着图3B所示的实线箭头移动右手2b。
然而,如上文所述,由于用户的手的移动在操作时不受限制,例如,如图3C所示,因此右手2b的实际位置可能偏离用户期望的刚体300a的位置。在这种情况下,例如,如图3D所示,利用已知技术,刚体300a的位置可以跟随右手2b的实际位置。结果,刚体300a的位置和姿态与用户的意图不同地改变,导致虚拟对象30的姿态改变为用户不期望的姿态。
如以下将描述的,根据第一实施方式,在用户使用左手和右手的移动来改变虚拟对象的姿态的情况下,可以如用户所期望的那样改变虚拟对象的姿态。
<2-2.配置>
接下来,将描述根据第一实施方式的配置。图4是示出根据第一实施方式的信息处理设备10-1的配置示例的功能框图。如图4所示,信息处理设备10-1包括控制单元100、通信单元120、传感器单元122、显示单元124和存储单元126。
{2-2-1.传感器单元122}
传感器单元122可以包括例如摄像机(图像传感器)、深度传感器(例如,飞行时间方法传感器、结构光方法传感器或立体摄像机等)、麦克风、加速度传感器、陀螺仪、地磁传感器和/或全球定位系统(GPS)接收器。
例如,包括在传感器单元122中的摄像机捕获信息处理设备10-1前面的图像。包括在传感器单元122中的深度传感器感测到位于信息处理设备10-1前面的每个真实对象的距离。
{2-2-2.控制单元100}
控制单元100可以包括处理电路,例如下面描述的中央处理单元(CPU)150和图形处理单元(GPU)。控制单元100整体地控制信息处理设备10的操作。如图4所示,控制单元100还包括识别单元102、信息获取单元104和显示控制单元106。
{2-2-3.识别单元102}
识别单元102基于由传感器单元122感测的结果来执行各种类型的识别处理。例如,识别单元102对传感器单元122所捕获的图像执行图像识别。识别单元102还基于图像识别结果来识别存在于真实空间中的每个真实对象的类型(例如,用户的手)、位置、姿态等。
{2-2-4.信息获取单元104}
信息获取单元104执行接收或读出处理,并且由此获取在显示单元124上显示的虚拟对象在真实空间中的位置信息、用户的左手的位置信息和用户的右手的位置信息。例如,信息获取单元104基于由识别单元102获得的识别结果和由传感器单元122感测的深度信息来指定用户的左手在真实空间的位置信息和用户的右手在真实空间的位置信息,并且由此获取左手位置信息和右手位置信息。此外,信息获取单元104指定(或获取)与虚拟对象在显示单元124上的当前显示位置对应的真实空间中的位置信息,然后获取所指定的(或获取的)位置信息作为虚拟对象在真实空间内的位置信息。
{2-2-5.显示控制单元106}
显示控制单元106控制虚拟对象在显示单元124上的显示。例如,显示控制单元106基于与由信息获取单元104获取的虚拟对象的位置信息、用户的左手的位置信息和用户的右手的位置信息之间的关系对应的姿态改变规则来改变虚拟对象的姿态。此外,每当虚拟对象的姿态改变时,显示控制单元106使显示单元124显示改变后的虚拟对象。
例如,显示控制单元106根据在用户的右手和左手两者都被确定为已经与虚拟对象接触之后的右手或左手的位置的改变来改变虚拟对象的姿态。作为示例,显示控制单元106基于当确定右手已经与虚拟对象接触时右手在虚拟对象上的接触位置与当确定左手已经与虚拟对象接触时左手在虚拟对象上的接触位置之间的关系,首先将虚拟对象的一个或更多个关节确定为姿态改变目标。接着,显示控制单元106根据在将一个或更多个关节确定为姿态改变目标之后的用户的右手或左手的位置的变化来改变作为姿态改变目标的一个或更多+个关节的姿态,并且由此改变虚拟对象的姿态。
更具体地,显示控制单元106可以在将一个或更多个关节确定为姿态改变目标的同时,固定包括在虚拟对象中的刚体中的一个刚体的姿态。另外,显示控制单元106可以根据在将一个或更多个关节确定为姿态改变目标之后的固定在姿态中的刚体的位置的改变以及用户的右手或左手的位置的改变来改变作为姿态改变目标的一个或更多个关节,并且由此可以改变虚拟对象的姿态。注意,对于姿态固定的刚体,可以在改变虚拟对象的姿态之后解除刚体的姿态固定状态。
可以如下确定姿态固定的刚体。例如,显示控制单元106可以仅固定用户第一次握住的刚体(在以下描述的图5A中所示的示例中的刚体300c)的姿态,或者可以仅固定用户后一次握住的刚体(在以下描述的图5B中所示的示例中的刚体300a)的姿态。替选地,显示控制单元106可以仅固定用户第一次握住的刚体和用户后一次握住的刚体之中的更接近根部刚体(例如,虚拟对象的腰部的刚体)的刚体的姿态。
(2-2-5-1.确定作为姿态改变目标的关节的示例)
这里,将参照图5A至图7B详细地描述确定“作为姿态改变目标的一个或更多个关节”的示例。
-确定示例1
例如,显示控制单元106可以将虚拟对象中包括的多个刚体之中的位于从一只手握住的刚体到另一只手握住的刚体的范围中的所有关节确定为作为姿态改变目标的一个或更多个关节。作为示例,如图5A所示,假设用户首先用左手2a握住包括在虚拟对象30中的多个刚体300之中的刚体300c。此后,如图5B所示,假设用户用右手2b握住另一刚体300a。在这种情况下,显示控制单元106可以将位于从刚体300c到刚体300a的范围内的所有关节302(在图5B所示的示例中为关节302a和关节302b)确定为作为姿态改变目标的一个或更多个关节。
-确定示例2
替选地,显示控制单元106可以基于在连接由一只手握住的第一刚体和由另一只手握住的第二刚体的路径上的一个或更多个刚体中是否存在预定刚体,来确定作为姿态改变目标的一个或更多个关节。例如,在路径上的一个或更多个刚体中存在预定刚体的情况下,显示控制单元106将位于从第一刚体和第二刚体之中的更远离预定刚体的刚体到预定刚体的范围中的所有关节确定为作为姿态改变目标的一个或更多个关节。相反,在路径上的一个或更多个刚体中不存在预定刚体的情况下,显示控制单元106将位于从第一刚体到第二刚体的范围中的所有关节确定为作为姿态改变目标的一个或更多个关节。这里,预定刚体的示例是根刚体(虚拟对象的腰部处的刚体等)。
这里,将参照图6A和图6B更详细地描述上述功能。图6A和图6B中所示的示例假设刚体300c是根部刚体。例如,如图6A所示,假设用户首先用左手2a握住虚拟对象30中包括的多个刚体300中的刚体300d。此后,如图6B所示,假设用户用右手2b握住另一刚体300a。在这种情况下,根部刚体300c存在于连接刚体300d和刚体300a的路径上。此外,在刚体300d和刚体300a之中,刚体300a更远离刚体300c。因此,显示控制单元106可以将位于从刚体300a到根部刚体300c的范围内的所有关节302(在图6B所示的示例中为关节302a和关节302b)确定为作为姿态改变目标的一个或更多个关节。
-确定示例3
替选地,显示控制单元106可以将位于从用户指定的作为姿态固定的刚体的第一刚体到指定之后用户握住的第二刚体的范围内的所有关节确定为作为姿态改变目标的一个或更多个关节。这里,指定第一刚体的方法可以是例如用任意手指(例如食指)的指尖连续触摸刚体预定时间或更长时间,或者可以是用手指捏住刚体的操作。
作为示例,如图7A所示,假设用户首先允许手指与刚体300c接触,以将刚体300c指定为虚拟对象30中包括的多个刚体300之中的姿态要被固定的刚体。该操作可以固定刚体300c的姿态。此后,如图7B所示,假设用户用一只手2握住另一刚体300a。在这种情况下,显示控制单元106可以将位于从刚体300c到刚体300a的范围内的所有关节302(在图7B所示的示例中的关节302a和关节302b)确定为作为姿态改变目标的一个或更多个关节。
(2-2-5-2.改变作为姿态改变目标的关节的姿态的示例)
接下来,将参照图8A至图10D描述关于上述“作为姿态改变目标的一个或更多个关节的姿态的改变”的具体示例。
例如,显示控制单元106可以根据在将一个或更多个关节确定为姿态改变目标之后的右手或左手的位置的改变、通过改变作为姿态改变目标的一个或更多个关节中的每个关节的旋转角度来改变虚拟对象的姿态。
作为示例,假设在图5B所示的时间点之后,在左手2a的位置和姿态保持如图8A所示的同时,右手2b的位置在图8A的左上方向移动。在这种情况下,如图8A所示,显示控制单元106可以根据右手2b的位置的改变、通过改变作为姿态改变目标的所有关节302(即,关节302a和关节302b)中的每个关节的旋转角度来改变虚拟对象30的姿态。通过该配置,在固定刚体300c的位置和姿态的同时,可以根据右手2b的位置变化来适当地改变刚体300a(和刚体300b)的位置和姿态。
现在,假设在图5B所示的时间点之后,在右手2b的位置和姿态保持如图8B所示的同时,左手2a的位置在图8B的右下方向上移动。在这种情况下,如图8B所示,显示控制单元106可以根据左手2a的位置的改变、通过改变作为姿态改变目标的所有关节302(即,关节302a和关节302b)中的每个关节的旋转角度来改变虚拟对象30的姿态。通过该配置,在固定刚体300a的位置和姿态时,可以根据左手2a的位置变化而适当地改变刚体300c(和刚体300b)的位置和姿态。注意,与刚体300c连接的其他关节和其他刚体,可以相对于刚体300c的位置和姿态的变化而以固定的方式移动(即,能够伴随移动)。
在下文中,将更详细地描述上述姿态改变示例。例如,显示控制单元106可以基于姿态改变目标的所有关节的数量是否仅为一个,来改变作为姿态改变目标的一个或更多个关节中的每个关节的旋转角度。
-变化示例1
作为示例,在作为姿态改变目标的所有关节的数量仅为一个并且在确定作为姿态改变目标的所有关节之后移动用户的右手或左手的情况下,显示控制单元106可以改变关节的旋转角度,使得在移动之前刚与移动的手接触的刚体面对移动之后的手的位置。
这里,将参照图9A至图9C详细地描述改变的示例。在图9A至图9C所示的示例中,假设仅关节302a已被确定为作为姿态改变目标的关节302。在确定关节302a为姿态改变目标时,如图9A所示,假设用户用右手2b握住与关节302a相邻的一个刚体300a,并且用左手2a握住与关节302a相邻的另一个刚体300b。假设用户此后如图9B中所示的箭头所指示的那样移动右手2b的位置。在这种情况下,如图9C所示,显示控制单元106可以改变关节302a的旋转角度,使得刚体300a(由右手2b握住)面对移动之后的右手2b的位置。
-变化示例2
此外,在作为姿态改变目标的所有关节的数量是多个并且在确定作为姿态改变目标的所有关节之后移动用户的右手或左手的情况下,显示控制单元106可以改变作为姿态改变目标的所有关节中的每个关节的旋转角度,使得在移动之前刚与移动的手接触的刚体面对移动之后的手的位置。
这里,将参照图10A至图10D详细地描述改变的示例。在图10A至图10D所示的示例中,假设已经将关节302a和关节302b确定为作为姿态改变目标的关节302。在将所有关节302确定为姿态改变目标时,如图10A所示,假设用户用右手2b在与作为姿态改变目标的所有关节302的一端处的关节302a相邻的外侧上握住刚体300a,并且用户用左手2a在与关节302b相邻的外侧上握住刚体300c。假设用户此后移动右手2b的位置,如图10B所示。在这种情况下,如图10B所示,首先,显示控制单元106可以在保持与右手2b的移动的相对关系的同时确定与刚体300a对应的虚拟刚体350已经移动。接着,显示控制单元106重复执行图10C所示的第一改变处理和图10D所示的第二改变处理,直到第一改变处理和第二改变处理两者都收敛,并且由此能够改变作为姿态改变目标的所有关节302的旋转角度。虚拟刚体350可以是具有与刚体300a相同尺寸的虚拟刚体。
例如,在第一改变处理中,如图10C所示,显示控制单元106可以逐渐改变最接近虚拟刚体350的位置的关节302a的旋转角度,使得刚体300a(对应于虚拟刚体350)面对虚拟刚体350的远离虚拟对象30的端部3500。此外,在第二改变处理中,如图10D所示,显示控制单元106可以基于逆运动学(inverse kinematics)的已知算法来改变作为姿态改变目标的所有关节302之中的除了关节302a之外的关节302(在图10D所示的示例中的关节302b)中的每个关节的旋转角度,姿态改变目标位于虚拟刚体350的更靠近虚拟对象30的端部3502的位置。利用该配置,在第一改变处理和第二改变处理两者都收敛的情况下,可以改变虚拟对象30的姿态使得右手2b握住的刚体300a的姿态尽可能地接近虚拟刚体350的姿态,并且使得位于从刚体300a到刚体300c的范围内的所有刚体300中的每个刚体被平滑地连接。
<2-2-5-3.修改>
作为修改,在确定用户的左手和右手中的每只手已经与显示在显示单元124上的虚拟对象接触的情况下,显示控制单元106可以使显示单元124与接触位置相关联地显示表示接触状态(例如,特定效果)的图像。
作为另一修改,在所使用的内容是VR内容的情况下,显示控制单元106可以使显示单元124显示与用户的左手对应的虚拟左手图像和与用户的右手对应的虚拟右手图像。
作为另一修改,当在显示单元124上显示虚拟对象时,显示控制单元106还可以使显示单元124例如将虚拟对象中包括的刚体中的每个的图像和关节中的每个的图像叠加显示在虚拟对象上。
{2-2-6.通信单元120}
通信单元120可以包括例如下面描述的通信设备166。通信单元120例如在控制单元100的控制下经由通信网络22向其他设备发送各种类型的信息和从其他设备接收各种类型的信息。
{2-2-7.显示单元124}
显示单元124可以包括例如下面描述的输出设备162。例如,显示单元124可以包括透射显示设备(例如,投影仪)。在这种情况下,在显示控制单元106的控制下,显示单元124可以使用包括在信息处理设备10-1中的右眼透镜和左眼透镜(或护目镜型透镜)中的每个的区域的至少一部分将图像投影在投影表面上。
替选地,显示单元124可以包括非透射显示设备(例如,液晶显示器(LCD)或有机发光二极管(OLED)等)。在这种情况下,在显示控制单元106的控制下,显示单元124可以顺序地显示由传感器单元122(摄像机)捕获的信息处理设备10-1的前面的图像。
{2-2-8.存储单元126}
存储单元126可以包括例如下面描述的存储设备164。存储单元126存储各种类型的数据和软件。
<2-3.处理流程>
以上已经描述了第一实施方式的配置。接下来,将参照图11和图12描述根据第一实施方式的处理流程的示例。
如图11所示,首先,信息处理设备10-1的传感器单元122获取信息处理设备10-1前面的图像和深度信息。接着,识别单元102对捕获的图像执行图像识别。接着,信息获取单元104基于所捕获的图像的图像识别结果和所感测深度信息来获取在真实空间中用户的左手位置信息和用户的右手位置信息(S101)。
接着,显示控制单元106基于在S101中获取的位置信息来确定用户的一只手是否握住包括在显示单元124上显示的虚拟对象中的多个刚体中的一个(S103)。在确定用户的手没有握住任何刚体(S103:否)的情况下,控制单元100重复S101至S103的处理。
相反,在确定用户的一只手正握住刚体中的一个的情况下(S103:是),然后显示控制单元106基于在S101中获取的位置信息来确定用户的另一只手是否正握住另一刚体(S105)。在确定另一只手没有握住任何刚体的情况下(S105:否),控制单元100重复S101至S105的处理。
相反,在确定另一只手正握住刚体中的一个的情况下(S105:是),然后显示控制单元106基于用户的一只手握住的刚体与用户的另一只手握住的刚体之间的位置关系来将虚拟对象中的一个或更多个关节确定为姿态改变目标(S107)。
接着,在S107之后,显示控制单元106基于用户的左手和右手的感测结果等到直到左手和右手中的一只移动(S109)。
这里,将参照图12描述在S109中确定左手或右手已经移动的情况下的处理流程(S109:是)。如图12所示,显示控制单元106首先确定在S107中确定的作为姿态改变目标的所有关节的数量是否仅为一个(S121)。
在作为姿态改变目标的所有关节的数量仅为一个的情况下(S121:是),显示控制单元106根据在S109中确定为已经移动的手的位置的改变来改变关节的旋转角度(S123)。此后,显示控制单元106执行以下描述的S131的处理。
相反,在作为姿态改变目标的所有关节的数量是多个的情况下(S121:否),显示控制单元106首先基于手的当前位置来形成与在S109中被确定为已经移动的手所握住的刚体对应的虚拟刚体。接着,显示控制单元106基于虚拟刚体的远端的位置来改变与手的位置最接近的关节的旋转角度(S125)。同时,显示控制单元106基于以虚拟刚体的近端的位置为目标的已知逆运动学算法来改变作为姿态改变目标的所有关节中的其他关节中的每个关节的旋转角度(S127)。
之后,显示控制单元106确定在S125中改变目标关节的旋转角度的处理和在S127中每个目标关节的旋转角度的改变处理是否已经收敛(S129)。在两个改变处理中的至少一个没有收敛的情况下(S129:否),显示控制单元106重复S125至S129的处理。
相反,在两个改变处理都已经收敛的情况下(S129:是),显示控制单元106更新虚拟对象的显示(S131)。通过该配置,姿态已经改变的虚拟对象将被显示在显示单元124上。
此后,控制单元100确定用户是否指示了虚拟对象的显示的结束(S133)。在指示虚拟对象的显示的结束的情况下(S133:是),处理结束。相反,在没有指示虚拟对象的显示的结束的情况下(S133:否),信息处理设备10-1重复从S101向前的处理。
<2-4.效果>
{2-4-1.效果1}
如上所述,根据第一实施方式的信息处理设备10-1根据在确定使用显示单元124的用户的右手和左手已经与由显示单元124显示的虚拟对象接触之后的用户的右手或左手的位置的改变来改变虚拟对象的姿态。由此,在用户通过左手和右手的移动而改变虚拟对象的姿态的情况下,能够按照用户的期望的来改变虚拟对象的姿态。
例如,当用户基于过去的用于移动真实对象的方法的经验,将手移向通过模拟真实对象而生成的虚拟对象时,用户可以如期望的那样改变包括在虚拟对象中的关节的姿态。此外,用户不需要学习专门的操作方法。
另外,由于信息处理设备10-1不使用物理模拟,因此不需要精确地维持用户的手与虚拟对象之间的力平衡。因此,即使在手的移动稍微粗略时,用户也可以如期望地那样改变虚拟对象的姿态。
{2-4-2.效果2}
此外,由于在第一实施方式中没有使用物理模拟,因此可以保持低的计算成本。
<<3.第二实施方式>>
以上已经描述了第一实施方式。同时,在AR内容中还期望用户能够将虚拟对象移动到真实空间中的期望位置。在这种情况下,期望以根据布置位置适当改变的虚拟对象的姿态和形状来布置虚拟对象,从而减少用户的劳动。
接下来,将描述第二实施方式。如以下将描述的,根据第二实施方式,在用户将虚拟对象布置在真实对象上的情况下,可以根据真实对象适当地改变虚拟对象的姿态。
第二实施方式具有用户用一只手指示主要改变虚拟对象的位置信息并将虚拟对象布置在真实空间中的某个真实对象上的可假设情况。这里,用于指示虚拟对象的位置信息的改变的手是根据本公开内容的第一目标的示例。另外,其上布置有虚拟对象的真实对象(在下文中,被称为作为布置目的地的真实对象)是根据本公开内容的第二目标的示例。例如,作为布置目的地的真实对象可以是与用户不同的任意真实对象,或者可以是与用于指示改变虚拟对象的位置信息的手不同的手。
<3-1.配置>>
首先,将描述根据第二实施方式的配置。图13是示出根据第二实施方式的信息处理设备10-2的配置示例的功能框图。如图13所示,信息处理设备10-2与图4所示的信息处理设备10-1相比,还包括姿态选择单元108。在下文中,将选择性地描述具有与第一实施方式的功能不同的功能的部件,并且将省略类似的描述。
{3-1-1.姿态选择单元108}
在确定为不与作为布置目的地的真实对象接触的虚拟对象被移动以被布置在作为布置目的地的真实对象上时,姿态选择单元108根据布置区域的形状将布置时的虚拟对象的姿态确定为作为布置目的地的真实对象内的、包括确定为与虚拟对象接触的接触位置的区域(以下称为布置区域)。例如,在这种情况下,姿态选择单元108根据布置区域的形状、虚拟对象的类型以及用于指示虚拟对象从布置区域中的虚拟对象的接触位置的移动的手的高度,来确定虚拟对象在布置到布置区域时的姿态。作为示例,在布置区域的形状是平面并且虚拟对象是人形对象的情况下,姿态选择单元108可以根据用于指示虚拟对象的移动的手的高度,从接触位置改变虚拟对象的姿态,使得虚拟对象处于站立在该区域上的姿态或坐在该区域上的姿态。
例如,在以下描述的姿态数据DB 128中,姿态选择单元108可以将与这样的信息(即,布置区域的形状、虚拟对象的种类以及用于指示虚拟对象从布置区域中的虚拟对象的接触位置移动的手的高度)相关联的姿态确定为虚拟对象在布置区域中布置时的姿态。
(3-1-1-1.姿态数据DB 128)
姿态数据DB 128是针对每个虚拟对象,布置区域的形状和虚拟对象被布置在布置区域中时的虚拟对象的姿态(姿态数据)的数据库。例如,在姿态数据DB 128中,虚拟对象的类型、布置区域的形状以及虚拟对象距布置区域的高度的指示信息的组合与虚拟对象被布置在布置区域中时的姿态数据相关联。
-具体示例
这里,参照图14至图17描述虚拟对象的姿态的变化的具体示例。图14至图17是虚拟对象是人形对象的示例。
例如,如图14所示,在移动虚拟对象30以使得虚拟对象30被布置在水平面区域400上的情况下,姿态选择单元108将虚拟对象30站立在区域400上的姿态确定为布置时的姿态。
此外,如图15所示,在移动虚拟对象30以使得虚拟对象30被布置在边缘420上的情况下,姿态选择单元108将虚拟对象30站立在边缘420上的姿态确定为布置时的姿态。
此外,如图16所示,在移动虚拟对象30以使得虚拟对象30被布置在L形区域440上的情况下,姿态选择单元108将虚拟对象30倚靠在L形区域440上的姿态确定为布置时的姿态。
此外,如图17所示,当虚拟对象30在水平面区域400上方移动时,并且在识别出将虚拟对象30按压到区域400(按压到比虚拟对象的高度低的位置)的手移动的情况下,姿态选择单元108将虚拟对象30以腿在平面区域400中弯曲的方式就座的姿态确定为布置时的姿态。
-修改
作为修改,在移动虚拟对象30以使得虚拟对象30被布置在虚拟对象30被放下的平面区域400上的情况下,姿态选择单元108可以将区域400上的睡眠姿态确定为布置时的姿态。
此外,在移动虚拟对象30以使得虚拟对象30被布置在台阶上的情况下,姿态选择单元108可以将虚拟对象30以腿在台阶上的方式站立的姿态确定为布置时的姿态。
尽管图14至图17示出了虚拟对象具有人形的示例,但是本发明不限于该示例。虚拟对象可以具有另一生物(例如另一动物或植物)或人造目标(例如机器人或汽车)的形状。
{3-1-2.显示控制单元106}
当虚拟对象被移动以被布置在作为布置目的地的真实对象上时,根据第二实施方式的显示控制单元106将虚拟对象的姿态改变为由姿态选择单元108选择的姿态。例如,如图14所示,假设用户在用一只手2握住虚拟对象30的同时移动虚拟对象30以将虚拟对象30布置在真实对象40的平面区域400上。在这种情况下,如图14所示,显示控制单元106改变虚拟对象30的姿态,使得该姿态变为(由姿态选择单元108选择的)平面区域400上的站立姿态。
此外,每当虚拟对象的姿态改变时,显示控制单元106可以使显示单元124显示改变后的虚拟对象。
<3-2.处理流程>
以上已经描述了第二实施方式的配置。接下来,将参照图18和图19描述根据第二实施方式的处理流程的示例。这里,假设虚拟对象被显示在显示单元124上。
如图18所示,信息处理设备10-2的控制单元100首先确定是否已经获取了移动显示在显示单元124上的虚拟对象的用户指令。例如,控制单元100基于对传感器单元122所捕获的图像识别的结果等,来确定是否识别出在用一只手握住虚拟对象的同时移动虚拟对象的动作。替选地,控制单元100确定是否已经接收到用于基于预定设备(例如,鼠标)的操作来移动虚拟对象的指令信息(S201)。在没有获取移动指令的情况下(S201:否),重复S201的处理。
相反,在已经获取了移动指令的情况下(S201:是),显示控制单元106基于移动指令来改变虚拟对象的位置和姿态(S203)。接着,显示控制单元106使显示单元124显示改变之后的虚拟对象(S205)。
接着,识别单元102(新)基于传感器单元122的感测结果来识别真实空间(S207)。
此后,显示控制单元106确定是否已经做出将虚拟对象布置在真实空间中的任何真实对象上的指令(移动)(S209)。在没有将虚拟对象布置在任何真实对象上的指令的情况下(S209:否),重复S201至S209的处理。
相反,在虚拟对象已经被移动以便被布置在任何真实对象上的情况下(S209:是),姿态选择单元108从姿态数据DB 128获取与作为布置目的地的真实对象中的布置区域的形状相关联并且与虚拟对象的类型相关联的姿态数据。接着,姿态选择单元108将所获取的姿态数据确定为布置区域中布置的虚拟对象的姿态(S211)。
这里,将参照图19描述S211之后的处理流程。如图19所示,在S211的处理之后,显示控制单元106将虚拟对象的姿态改变为在S211中确定的姿态(S221)。
接着,显示控制单元106基于在S207中获得的真实空间的识别结果来精细地调整改变之后的虚拟对象的姿态。例如,显示控制单元106根据布置区域的倾斜的识别结果来调整改变之后的虚拟对象的姿态(S223)。
然后,显示控制单元106使显示单元124显示改变之后的虚拟对象(S225)。
<3-3.效果>
如上所述,当基于用户的手的运动移动虚拟对象直到确定虚拟对象与作为布置目的地的真实对象接触时,根据第二实施方式的信息处理设备10-2改变虚拟对象的姿态,使得该姿态变为根据作为布置目的地的真实对象中的布置区域的形状和虚拟对象的类型的姿态。这使得可以在用户将虚拟对象布置在真实对象上的情况下,根据作为布置目的地的真实对象来适当地改变虚拟对象的姿态。
例如,在虚拟对象具有人形并且布置区域包括平面的情况下,信息处理设备10-2改变姿态,使得虚拟对象站立在布置区域上。此外,在布置区域包括边缘的情况下,信息处理设备10-2改变姿态,使得虚拟对象站立在边缘上。如上所述,根据第二实施方式,可以根据作为布置目的地的真实对象以高情境(high-context)方式来改变虚拟对象的状态。
<3-4.修改>
<3-4-1.修改1>
注意,第二实施方式不限于上述示例。作为修改,在将虚拟对象布置在作为布置目的地的真实对象上的情况下,显示控制单元106除了改变虚拟对象的姿态以外,还可以根据布置目的地的真实对象来改变虚拟对象的外观和大小。替选地,显示控制单元106还可以例如在作为布置目的地的真实对象上显示另一虚拟对象。替选地,显示控制单元106还可以使显示单元124显示其中虚拟对象根据作为布置目的地的真实对象移动的动画。
例如,当虚拟对象被布置在圆柱形真实对象上时,显示控制单元106可以在显示单元124上附加地显示现场舞台的虚拟对象,将虚拟对象的服装改变为现场服装,将虚拟对象的尺寸改变为适合于真实对象的顶表面的尺寸,并且显示在真实对象上跳舞的虚拟对象(其中服装和尺寸已经被改变)的动画。
<3-4-2.修改2>
作为另一修改,当虚拟对象被布置在作为布置目的地的真实对象上时,显示控制单元106可以使显示单元124显示改变之后的虚拟对象的姿态的多个候选,并且可以允许用户通过例如指点、凝视姿势等来选择多个候选中的一个。在这种情况下,显示控制单元106可以将虚拟对象的姿态改变为与用户选择的候选对应的姿态。
替选地,当在作为布置目的地的真实对象上布置虚拟对象时,显示控制单元106可以将虚拟对象的姿态改变为多个姿态候选中的一个姿态候选,并且在显示单元124上显示虚拟对象,并且此后可以允许用户将虚拟对象的姿态改变为与多个候选中的另一个候选对应的姿态。例如,在虚拟对象被布置在作为布置目的地的真实对象上之后,每当检测到用户已经发出预定语音命令(例如,“下一步”)时,显示控制单元106可以将虚拟对象的姿态顺序地改变为与多个姿态候选中的另一个姿态候选对应的姿态。
<3-4-3.修改3>
作为另一修改,当在作为布置目的地的真实对象上布置虚拟对象时或在作为布置目的地的真实对象上布置虚拟对象之后,显示控制单元106还可以基于用户的状态的识别结果来改变虚拟对象的姿态。例如,在虚拟对象被布置在作为布置目的地的真实对象上之后,识别单元102可以基于传感器单元122或环境中的预定传感器获得的感测结果来识别用户面部的取向。在这种情况下,显示控制单元106可以改变虚拟对象的姿态,使得虚拟对象的整个身体面向用户的识别方向。替选地,在虚拟对象是人形对象的情况下,显示控制单元106可以改变虚拟对象的姿态,使得虚拟对象的面部被选择性地指向用户(而不改变虚拟对象的身体的姿态)。
替选地,信息处理设备10-2可以使用已知技术识别用户的精神状态(例如,微笑或生气),并且可以根据识别的精神状态来改变虚拟对象的姿态。
<<4.硬件配置>>
接下来,将参照图20描述根据每个实施方式的信息处理设备10的硬件配置。如图20所示,信息处理设备10包括CPU 150、只读存储器(ROM)152、随机存取存储器(RAM)154、总线156、接口158、输入设备160、输出设备162、存储设备164和通信设备166。
CPU 150用作算术处理设备和控制设备,并且根据各种程序来控制信息处理设备10中的整体操作。CPU 150实现信息处理设备10中的控制单元100的功能。CPU 150包括诸如微处理器的处理器。
ROM 152存储CPU 150使用的程序、诸如操作参数的控制数据等。
RAM 154临时存储由CPU 150执行的程序,例如使用中的数据。
总线156包括CPU总线等。总线156将CPU 150、ROM 152和RAM 154彼此连接。
接口158将输入设备160、输出设备162、存储设备164和通信设备166连接到总线156。
输入装置160包括用于由用户输入信息的输入单元,例如触摸面板、按钮、开关、控制杆或麦克风,以及基于用户的输入来生成输入信号并将输入信号输出到CPU 150的输入控制电路。
输出设备162包括诸如LCD或OLED的显示器,或诸如投影仪的显示设备。此外,输出设备162可以包括诸如扬声器的声音输出设备。
存储设备164是用作存储单元126的用于存储数据的设备。存储设备164包括例如存储介质、在存储介质上记录数据的记录设备、从存储介质读取数据的读取设备、删除记录在存储介质上的数据的删除设备等。
通信设备166是通信接口,包括例如用于连接到通信网络22等的通信设备(例如,网卡)。通信设备166可以是无线LAN兼容通信设备、长期演进(LTE)兼容通信设备、或执行有线通信的有线通信设备。通信装置166用作通信单元120。
<<5.修改>>
以上已经参照附图详细地描述了本公开内容的优选实施方式。然而,本公开内容不限于这样的示例。显然,具有本公开内容的技术领域的普通知识的人员可以在权利要求中描述的技术概念的范围内构思出变更或修改,并且当然,这些变更或修改应当理解为属于本公开内容的技术范围。
<5.1修改1>
上述每个实施方式是信息处理设备10包括显示单元124的示例。然而,本发明并不限于这样的示例。例如,信息处理设备10和显示单元124可以被提供为单独的设备,并且信息处理设备10和显示单元124可以能够例如通过无线通信来彼此通信。在这种情况下,信息处理设备10可以是例如通用个人计算机(PC)、平板终端、游戏机、诸如智能电话的移动电话、便携式音乐播放器、扬声器、车载设备(例如,汽车导航设备)或机器人(例如,拟人机器人)。替选地,信息处理设备10可以与服务器20集成。
尽管图1仅包括信息处理设备10的图示,但是本发明不限于这样的示例。根据每个实施方式的信息处理设备10的功能可以由协作工作的多个计算机来实现。
<5.2.修改2>
上述每个实施方式的处理流程中的各个步骤不必按照所述顺序执行。例如,可以以适当改变的顺序处理各个步骤。此外,各个步骤可以部分地并行或单独处理,而不是以时间序列处理。可以省略所述的步骤中的一些,或者还可以添加另一步骤。
根据上述每个实施方式,还可以提供用于使得诸如CPU 150、ROM 152和RAM 154的硬件实现与根据每个实施方式的信息处理设备10的部件的功能等同的功能的计算机程序。还提供了一种记录有该计算机程序的存储介质。
此外,本说明书中描述的效果仅仅是说明性的或示例性的,而不是限制性的。即,除了上述效果之外或代替上述效果,根据本公开内容的技术可以表现出根据本说明书的描述对本领域技术人员明显的其他效果。
以下配置也属于本公开内容的技术范围。
(1)
一种信息处理设备,包括:
信息获取单元,其获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在真实空间中的位置信息;以及
显示控制单元,其基于与虚拟对象的位置信息、第一真实对象的位置信息和第二真实对象的位置信息之间的关系对应的姿态改变规则,来改变虚拟对象的姿态。
(2)
根据(1)的信息处理设备,
其中,第一真实对象是用户的第一只手,
第二真实对象是用户的第二只手,并且
显示控制单元根据在第一只手和第二只手被确定为与虚拟对象接触之后的第一只手或第二只手的位置的变化来改变虚拟对象的姿态。
(3)
根据(2)的信息处理设备,
其中,虚拟对象包括多个固定部以及针对每两个相邻的固定部进行设置以可旋转地连接两个相邻的固定部的可动部,
显示控制单元基于在确定第一只手与虚拟对象接触时第一只手在虚拟对象中的第一接触位置与在确定第二只手与虚拟对象接触时第二只手在虚拟对象中的第二接触位置之间的关系,将虚拟对象的一个或更多个可动部确定为姿态改变目标,并且根据在将一个或更多个可动部确定为姿态改变目标之后的第一只手或第二只手的位置的变化来改变作为姿态改变目标的一个或更多个可动部的姿态,并且由此改变虚拟对象的姿态。
(4)
根据(3)的信息处理设备,
其中,显示控制单元基于与第一接触位置对应的第一固定部和与第二接触位置对应的第二固定部之间的位置关系,将一个或更多个可动部确定为姿态改变目标,并且
作为姿态改变目标的一个或更多个可动部与连接到作为姿态改变目标的一个或更多个可动部中的每个可动部的多个固定部通过一个连接部连接。
(5)
根据(4)的信息处理设备,
其中,显示控制单元还基于在连接第一固定部与第二固定部的路径上的一个或更多个固定部中是否存在预定固定部,将一个或更多个可动部确定为姿态改变目标。
(6)
根据(5)的信息处理设备,
其中,在连接第一固定部与第二固定部的路径上的一个或更多个固定部中存在预定固定部的情况下,显示控制单元将位于从远离第一固定部和第二固定部中的预定固定部的固定部到预定固定部的范围内的一个或更多个可动部确定为作为姿态改变目标的一个或更多个可动部,并且
在连接第一固定部与第二固定部的路径上的一个或更多个固定部中不存在预定固定部的情况下,显示控制单元将位于从第一固定部到第二固定部的范围内的一个或更多个可动部确定为作为姿态改变目标的一个或更多个可动部。
(7)
根据(4)至(6)中任一项的信息处理设备,
其中,显示控制单元将第三固定部的姿态固定,第三固定部被连接到作为姿态改变目标的一个或更多个可动部中的、在第一端部处的可动部,并且
根据在将一个或更多个可动部确定为姿态改变目标之后的第一只手或第二只手的位置的改变来改变作为姿态改变目标的一个或更多个可动部中的每个可动部的旋转角度,并且由此改变虚拟对象的姿态。
(8)
根据(7)的信息处理设备,
其中,显示控制单元根据在将一个或更多个可动部确定为姿态改变目标之后的第一只手或第二只手的位置的改变来改变第四固定部的位置和姿态,并且由此改变虚拟对象的姿态,第四固定部被连接到作为姿态改变目标的一个或更多个可动部中的、在与第一端部相对的第二端部处的可动部。
(9)
根据(8)的信息处理设备,
其中,第三固定部和第四固定部中的一个与第一固定部和第二固定部中的一个相同。
(10)
根据(9)的信息处理设备,
其中,第一固定部是虚拟对象中包括的多个固定部中的被确定为首先由第一只手握住的一个固定部,并且
第二固定部是虚拟对象中包括的多个固定部中的被确定为首先由第二只手握住的一个固定部。
(11)
根据(2)的信息处理设备,
其中,第一真实对象是指示虚拟对象的位置信息的改变的用户的第一只手,
第二真实对象是不指示虚拟对象的位置信息的改变的用户的第二只手、或者是与用户不同的真实对象,并且
当虚拟对象被移动以与第二真实对象接触时,显示控制单元根据第二真实对象内的包括被确定为与虚拟对象接触的第三接触位置的区域的形状来改变虚拟对象的姿态。
(12)
根据(11)的信息处理设备,
其中,显示控制单元还根据虚拟对象的类型来改变虚拟对象的姿态。
(13)
根据(12)的信息处理设备,
其中,根据第一只手的位置的变化使虚拟对象被移动,并且
指示虚拟对象的位置信息的改变包括移动虚拟对象直到已经被确定为不与第二真实对象接触的虚拟对象被确定为与第二真实对象接触。
(14)
根据(13)的信息处理设备,
其中,显示控制单元还根据在虚拟对象已经被移动直到虚拟对象被确定为已经与第二真实对象接触时第一只手的位置距第三接触位置的高度来改变虚拟对象的姿态。
(15)
根据(14)的信息处理设备,
其中,在包括第三接触位置的区域的形状是平面的情况下,显示控制单元根据虚拟对象的类型和第一只手距第三接触位置的高度来改变虚拟对象的姿态,使得虚拟对象的姿态变为站立在区域上或坐在区域上的姿态。
(16)
根据(13)至(15)中任一项的信息处理设备,
其中,在包括第三接触位置的区域的形状包括边缘的情况下,显示控制单元改变虚拟对象的姿态,使得虚拟对象的姿态变为坐在区域上的姿态。
(17)
根据(9)的信息处理设备,
其中,每当虚拟对象的姿态改变时,显示控制单元使显示单元显示改变后的虚拟对象。
(18)
根据(17)的信息处理设备,还包括:
识别单元,其基于真实空间的感测结果来识别第一只手和第二只手;以及
显示单元,
其中,该信息处理设备是头戴式设备。
(19)
一种信息处理方法,包括:
获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在真实空间中的位置信息;以及
通过处理器基于与虚拟对象的位置信息、第一真实对象的位置信息和第二真实对象的位置信息之间的关系对应的姿态改变规则,来改变虚拟对象的姿态。
(20)
一种使计算机用作以下的程序:
信息获取单元,其获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在真实空间中的位置信息;以及
显示控制单元,其基于与虚拟对象的位置信息、第一真实对象的位置信息和第二真实对象的位置信息之间的关系对应的姿态改变规则,来改变虚拟对象的姿态。
参考符号列表
10-1、10-2:信息处理设备
20:服务器
22:通信网络
30:虚拟对象
100:控制单元
102:识别单元
104:信息获取单元
106:显示控制单元
108:姿态选择单元
120:通信单元
122:传感器单元
124:显示单元
126:存储单元
128:姿态数据DB

Claims (20)

1.一种信息处理设备,包括:
信息获取单元,其获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在所述真实空间中的位置信息;以及
显示控制单元,其基于与所述虚拟对象的位置信息、所述第一真实对象的位置信息和所述第二真实对象的位置信息之间的关系相对应的姿态改变规则来改变所述虚拟对象的姿态。
2.根据权利要求1所述的信息处理设备,
其中,所述第一真实对象是所述用户的第一只手,
所述第二真实对象是所述用户的第二只手,并且
所述显示控制单元根据所述第一只手和所述第二只手被确定为与所述虚拟对象接触之后的所述第一只手或所述第二只手的位置的变化来改变所述虚拟对象的姿态。
3.根据权利要求2所述的信息处理设备,
其中,所述虚拟对象包括多个固定部和可动部,所述可动部针对每两个相邻的固定部而被设置成能够旋转地连接所述两个相邻的固定部,
所述显示控制单元基于在确定所述第一只手与所述虚拟对象接触时所述第一只手在所述虚拟对象中的第一接触位置与在确定所述第二只手与所述虚拟对象接触时所述第二只手在所述虚拟对象中的第二接触位置之间的关系,将所述虚拟对象的一个或更多个可动部确定为姿态改变目标,并且根据将所述一个或更多个可动部确定为所述姿态改变目标之后的所述第一只手或所述第二只手的位置的变化来改变作为所述姿态改变目标的一个或更多个可动部的姿态,并且由此改变所述虚拟对象的姿态。
4.根据权利要求3所述的信息处理设备,
其中,所述显示控制单元基于与所述第一接触位置相对应的第一固定部和与所述第二接触位置相对应的第二固定部之间的位置关系,将一个或更多个可动部确定为所述姿态改变目标,并且
作为所述姿态改变目标的一个或更多个可动部与多个固定部通过一个连接部连接,所述多个固定部被连接到作为所述姿态改变目标的一个或更多个可动部中的每个可动部。
5.根据权利要求4所述的信息处理设备,
其中,所述显示控制单元还基于在连接所述第一固定部与所述第二固定部的路径上的一个或更多个固定部中是否存在预定固定部,将一个或更多个可动部确定为所述姿态改变目标。
6.根据权利要求5所述的信息处理设备,
其中,在连接所述第一固定部与所述第二固定部的路径上的一个或更多个固定部中存在所述预定固定部的情况下,所述显示控制单元将位于从所述第一固定部和所述第二固定部中的远离所述预定固定部的固定部到所述预定固定部的范围内的一个或更多个可动部确定为作为所述姿态改变目标的一个或更多个可动部,并且
在连接所述第一固定部与所述第二固定部的路径上的一个或更多个固定部中不存在所述预定固定部的情况下,所述显示控制单元将位于从所述第一固定部到所述第二固定部的范围内的一个或更多个可动部确定为作为所述姿态改变目标的一个或更多个可动部。
7.根据权利要求4所述的信息处理设备,
其中,所述显示控制单元将第三固定部的姿态固定,所述第三固定部被连接到作为所述姿态改变目标的一个或更多个可动部中的、在第一端部处的可动部,并且
根据将一个或更多个可动部确定为所述姿态改变目标之后的所述第一只手或所述第二只手的位置的改变来改变作为所述姿态改变目标的一个或更多个可动部中的每个可动部的旋转角度,并且由此改变所述虚拟对象的姿态。
8.根据权利要求7所述的信息处理设备,
其中,所述显示控制单元根据将一个或更多个可动部确定为所述姿态改变目标之后的所述第一只手或所述第二只手的位置的改变来改变第四固定部的位置和姿态,并且由此改变所述虚拟对象的姿态,所述第四固定部被连接到作为所述姿态改变目标的一个或更多个可动部中的、在与所述第一端部相反侧的第二端部处的可动部。
9.根据权利要求8所述的信息处理设备,
其中,所述第三固定部和所述第四固定部中的一个与所述第一固定部和所述第二固定部中的一个相同。
10.根据权利要求9所述的信息处理设备,
其中,所述第一固定部是所述虚拟对象中包括的所述多个固定部中的被确定为首先被所述第一只手握住的一个固定部,并且
所述第二固定部是所述虚拟对象中包括的所述多个固定部中的被确定为首先被所述第二只手握住的一个固定部。
11.根据权利要求2所述的信息处理设备,
其中,所述第一真实对象是所述用户的指示所述虚拟对象的位置信息的变化的所述第一只手,
所述第二真实对象是所述用户的不指示所述虚拟对象的位置信息的变化的所述第二只手、或者是与所述用户不同的真实对象,并且
当所述虚拟对象被移动以与所述第二真实对象接触时,所述显示控制单元根据所述第二真实对象内的、包括被确定为与所述虚拟对象接触的第三接触位置的区域的形状来改变所述虚拟对象的姿态。
12.根据权利要求11所述的信息处理设备,
其中,所述显示控制单元还根据所述虚拟对象的类型来改变所述虚拟对象的姿态。
13.根据权利要求12所述的信息处理设备,
其中,所述虚拟对象根据所述第一只手的位置的变化而被移动,并且
指示所述虚拟对象的位置信息的变化包括移动所述虚拟对象直到已经被确定为不与所述第二真实对象接触的所述虚拟对象被确定为与所述第二真实对象接触。
14.根据权利要求13所述的信息处理设备,
其中,所述显示控制单元还根据所述虚拟对象被移动直到所述虚拟对象被确定为与所述第二真实对象接触时的、所述第一只手的位置距所述第三接触位置的高度,来改变所述虚拟对象的姿态。
15.根据权利要求14所述的信息处理设备,
其中,在包括所述第三接触位置的区域的形状是平面的情况下,所述显示控制单元根据所述虚拟对象的类型和所述第一只手距所述第三接触位置的高度来改变所述虚拟对象的姿态,使得所述虚拟对象的姿态变为站立在所述区域上或坐在所述区域上的姿态。
16.根据权利要求13所述的信息处理设备,
其中,在包括所述第三接触位置的区域的形状包括边缘的情况下,所述显示控制单元改变所述虚拟对象的姿态,使得所述虚拟对象的姿态变为坐在所述区域上的姿态。
17.根据权利要求9所述的信息处理设备,
其中,每当改变所述虚拟对象的姿态时,所述显示控制单元使所述显示单元显示改变后的所述虚拟对象。
18.根据权利要求17所述的信息处理设备,还包括:
识别单元,其基于所述真实空间的感测结果来识别所述第一只手和所述第二只手;以及
所述显示单元,
其中,所述信息处理设备是头戴式设备。
19.一种信息处理方法,包括:
获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在所述真实空间中的位置信息;以及
由处理器基于与所述虚拟对象的位置信息、所述第一真实对象的位置信息和所述第二真实对象的位置信息之间的关系相对应的姿态改变规则来改变所述虚拟对象的姿态。
20.一种使计算机用作以下的程序:
信息获取单元,其获取由显示单元显示的虚拟对象在真实空间中的位置信息、与用户相关联的第一真实对象的位置信息和第二真实对象在所述真实空间中的位置信息;以及
显示控制单元,其基于与所述虚拟对象的位置信息、所述第一真实对象的位置信息和所述第二真实对象的位置信息之间的关系相对应的姿态改变规则来改变所述虚拟对象的姿态。
CN201880068854.XA 2017-11-01 2018-09-05 信息处理设备、信息处理方法和程序 Pending CN111263956A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017211645 2017-11-01
JP2017-211645 2017-11-01
PCT/JP2018/032795 WO2019087564A1 (ja) 2017-11-01 2018-09-05 情報処理装置、情報処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
CN111263956A true CN111263956A (zh) 2020-06-09

Family

ID=66331658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880068854.XA Pending CN111263956A (zh) 2017-11-01 2018-09-05 信息处理设备、信息处理方法和程序

Country Status (4)

Country Link
US (1) US11049325B2 (zh)
JP (1) JP7283388B2 (zh)
CN (1) CN111263956A (zh)
WO (1) WO2019087564A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020113094A (ja) * 2019-01-15 2020-07-27 株式会社シーエスレポーターズ 拡張現実空間に配置される3dオブジェクトを生成する方法
JP7198356B2 (ja) * 2019-07-01 2022-12-28 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、及びプログラム
KR20210069491A (ko) * 2019-12-03 2021-06-11 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN115066668A (zh) * 2020-02-17 2022-09-16 索尼集团公司 显示控制装置、显示控制方法和记录介质
US11617953B2 (en) * 2020-10-09 2023-04-04 Contact Control Interfaces, Llc. Virtual object interaction scripts
JP7126583B1 (ja) 2021-03-31 2022-08-26 株式会社コーエーテクモゲームス ゲームプログラム、記録媒体、ゲーム処理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020037768A1 (en) * 2000-09-27 2002-03-28 Toshikazu Ohshima Compound reality presentation apparatus, method therefor, and storage medium
CN102884490A (zh) * 2010-03-05 2013-01-16 索尼电脑娱乐美国公司 在共享的稳定虚拟空间上维持多视图
US9383895B1 (en) * 2012-05-05 2016-07-05 F. Vinayak Methods and systems for interactively producing shapes in three-dimensional space
JP2016218594A (ja) * 2015-05-18 2016-12-22 セイコーエプソン株式会社 画像処理装置、画像処理装置の制御方法、および、コンピュータープログラム
WO2017086508A1 (ko) * 2015-11-19 2017-05-26 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US20170287222A1 (en) * 2016-03-30 2017-10-05 Seiko Epson Corporation Head mounted display, method for controlling head mounted display, and computer program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529513B2 (en) * 2013-08-05 2016-12-27 Microsoft Technology Licensing, Llc Two-hand interaction with natural user interface
US9696795B2 (en) * 2015-02-13 2017-07-04 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020037768A1 (en) * 2000-09-27 2002-03-28 Toshikazu Ohshima Compound reality presentation apparatus, method therefor, and storage medium
CN102884490A (zh) * 2010-03-05 2013-01-16 索尼电脑娱乐美国公司 在共享的稳定虚拟空间上维持多视图
US9383895B1 (en) * 2012-05-05 2016-07-05 F. Vinayak Methods and systems for interactively producing shapes in three-dimensional space
JP2016218594A (ja) * 2015-05-18 2016-12-22 セイコーエプソン株式会社 画像処理装置、画像処理装置の制御方法、および、コンピュータープログラム
WO2017086508A1 (ko) * 2015-11-19 2017-05-26 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US20170287222A1 (en) * 2016-03-30 2017-10-05 Seiko Epson Corporation Head mounted display, method for controlling head mounted display, and computer program

Also Published As

Publication number Publication date
US20200372716A1 (en) 2020-11-26
WO2019087564A1 (ja) 2019-05-09
US11049325B2 (en) 2021-06-29
JPWO2019087564A1 (ja) 2020-11-26
JP7283388B2 (ja) 2023-05-30

Similar Documents

Publication Publication Date Title
US11379036B2 (en) Eye tracking calibration techniques
CN111263956A (zh) 信息处理设备、信息处理方法和程序
US20150070274A1 (en) Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
JP2022164671A (ja) 視野周辺の視覚的背光
JP6263252B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
CN106873767B (zh) 一种虚拟现实应用的运行控制方法和装置
JP6392911B2 (ja) 情報処理方法、コンピュータ、および当該情報処理方法をコンピュータに実行させるためのプログラム
US10894211B2 (en) Information processing method, apparatus, and system for executing the information processing method
US10860089B2 (en) Method of suppressing VR sickness, system for executing the method, and information processing device
JP6201028B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
US20180299948A1 (en) Method for communicating via virtual space and system for executing the method
JP6227732B1 (ja) 仮想空間において入力を支援するための方法および装置、ならびに当該方法をコンピュータに実行させるプログラム
WO2017061890A1 (en) Wireless full body motion control sensor
JP2019032844A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6554139B2 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2019030638A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018092592A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018190397A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018092635A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
Mentzelopoulos et al. Hardware interfaces for VR applications: evaluation on prototypes
JP6392832B2 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2024047008A (ja) 情報処理システム
CN112148118A (zh) 生成物理环境中的人的姿势信息

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