图像处理装置和计算机程序产品的制作方法

文档序号:6532931阅读:188来源:国知局
图像处理装置和计算机程序产品的制作方法
【专利摘要】信息处理设备和非暂时性计算机可读介质协作,以提供具有电路的控制单元,该控制单元被配置为接收信息处理设备的检测到的姿势的表示,并以相对于信息处理设备的所检测姿势的姿势将虚拟物体附加到参考环境。
【专利说明】图像处理装置和计算机程序产品

【技术领域】
[0001]本公开涉及图像处理装置和计算机程序产品。

【背景技术】
[0002]近些年来,一种被称为增强现实(AR)的技术已经引起人们注意,其中,向用户呈现重叠有附加信息的真实世界。在AR技术中向用户呈现的信息也称作注释(annotat1n),并可使用多种形式的虚拟物体(例如文本、图标或动画)来可视化。在已有的AR技术中,AR应用的开发者主要作用是在AR空间内布置虚拟物体。开发者确定虚拟物体应当以哪一位置以及哪一姿态布置在AR空间内。由此确定的虚拟物体布置被存储为与给定环境(例如特定空间、位置、真实物体或真实空间内真实物体的集合)相关联的数据。因此,AR应用得以实现,其中,当终端用户使用成像装置捕获环境的图像时,与环境相关联的虚拟物体被重叠在所捕获的图像上。
[0003]下面的专利文献I示出了在布置虚拟物体之前的阶段中对真实空间进行建模的技术。下面的专利文献2示出了这样的技术的实例:其使用天然标志,目的在于计算在捕获图像上重叠虚拟物体需要的、成像装置的位置和姿态。
[0004]引用列表
[0005]非专利文献
[0006]NPL I:A.van d en Hengel, R.Hill, B.Ward 和 A.Dick, “In Situ Image-basedModeling” (In Proc.8th IEEE Internat1nal Symposium on Mixed and AugmentedReality,2009)
[0007]NPL 2:ff.Daniel, G.Reitmayr, A.Mulloni, T.Drummond 和 D.Schmalsieg, “PoseTracking from Natural Features on Mobile Phones^(In Proc.7th IEEE Internat1nalSymposium on Mixed and Augmented Reality,2008)


【发明内容】

[0008]技术问题
[0009]然而,采用已有的AR技术,除具备专业知识的AR应用开发者以外的人难以例如在AR空间内充分布置虚拟物体。相反,如果不具备特定知识的一般用户可以自由且容易地在AR空间内布置虚拟物体并观看和分享虚拟物体,AR应用的范围将会增大,且因此,更多的用户将能够欣赏AR技术的优点。
[0010]因此,根据本公开的技术提供了这样的机制:采用该机制,可以自由且容易地在AR空间内布置虚拟物体。
[0011]解决方案
[0012]信息处理设备和非暂时性计算机可读介质协作,以提供具有电路的控制单元,其被配置为接收信息处理设备的所检测的姿势的表示,并以与信息处理设备的所检测姿势相关的姿势将虚拟物体附加到参考环境。
[0013]有益效果
[0014]根据本公开的技术提供了这样的机制:采用该机制,虚拟物体可被容易且自由地布置在AR空间内。

【专利附图】

【附图说明】
[0015]图1为一阐释图,示出了根据本公开的技术能够应用的环境的实例。
[0016]图2为第一阐释图,示出了根据本公开的技术的基本原理。
[0017]图3为第二阐释图,示出了根据本公开的技术的基本原理。
[0018]图4为第三阐释图,示出了根据本公开的技术的基本原理。
[0019]图5为第四阐释图,示出了根据本公开的技术的基本原理。
[0020]图6A为第一阐释图,示出了根据示例性方案布置虚拟物体的视图。
[0021]图6B为第二阐释图,示出了根据示例性方案布置虚拟物体的视图。
[0022]图7为一阐释图,示出了物体布置数据的基本构造实例。
[0023]图8为第五阐释图,示出了根据本公开的技术的基本原理。
[0024]图9为一框图,示出了根据第一实施例的图像处理装置的示例性硬件构造。
[0025]图10为一框图,示出了根据第一实施例的图像处理装置的示例性构造。
[0026]图11为一阐释图,示出了根据第一操作情景在参考环境中布置新的虚拟物体的视图。
[0027]图12为一阐释图,示出了根据第二操作情景移动所布置的虚拟物体的视图。
[0028]图13为一阐释图,示出了参考环境的切换。
[0029]图14为一流程图,示出了根据第一实施例的图像处理的示例性流程。
[0030]图15为一流程图,示出了在图14中示例性地示出的物体布置处理的示例性详细流程。
[0031]图16为一阐释图,示出了虚拟物体的参考平面的确定。
[0032]图17为一阐释图,示出了根据到虚拟物体的距离进行的显示。
[0033]图18为一阐释图,示出了用于虚拟物体的对齐显示。
[0034]图19为一阐释图,示出了物体布置矩阵的循序存储。
[0035]图20为第一阐释图,示出了根据第二实施例的图像处理系统。
[0036]图21A为第二阐释图,示出了根据第二实施例的图像处理系统。
[0037]图21B为第三阐释图,示出了根据第二实施例的图像处理系统。
[0038]图22为一框图,示出了根据第二实施例的管理服务器的示例性构造。
[0039]图23为一阐释图,示出了物体布置数据的实例。
[0040]图24为一阐释图,示出了物体数据的实例。
[0041]图25为一框图,示出了根据第二实施例的终端装置的示例性构造。
[0042]图26为一阐释图,示出了根据第二实施例的虚拟物体显示的第一实例。
[0043]图27为一阐释图,示出了根据第二实施例的虚拟物体显示的第二实例。
[0044]图28为一阐释图,示出了根据第二实施例的通信应用的启动。
[0045]图29为一时序图,示出了根据第二实施例在装置之间执行的处理的示例性流程。

【具体实施方式】
[0046]下面将参照附图详细介绍本公开的实施例。注意,在此说明书和附图中,具有基本相同功能和结构的结构性元件用同样的参考标号表示,并省略对这些结构元件的重复阐释。
[0047]以下面的顺序进行介绍。
[0048]1.基本原理
[0049]1-1.概述
[0050]1-2.基本参数
[0051]1-3.参数的存储
[0052]1-4.虚拟物体的显示
[0053]2.第一实施例
[0054]2-1.硬件构造
[0055]2-2.功能构造
[0056]2-3.操作情景
[0057]2-4.处理流程
[0058]2-5.显示的变型
[0059]2-6.应用的实例
[0060]3.第二实施例
[0061]3-1.系统概述
[0062]3-2.服务器的构造
[0063]3-3.终端的构造
[0064]3-4.处理流程
[0065]4.结论
[0066]〈1.基本原理〉
[0067]首先,将参照图1-图8介绍根据本公开的技术的基本原理。
[0068](1-1.概述)
[0069]图1为一阐释图,示出了根据本公开的技术能够应用的环境的实例。参照图1,示出了环境I和捕获环境I的图像的图像处理装置100。在图1的实例中,环境I包括桌子
11、书12和咖啡杯13。图像处理装置100典型地包括成像单元(未示出)和显示单元110。图像处理装置100的成像单元捕获构成环境I的视频的一系列图像。图像处理装置100于是将所捕获的图像用作输入图像进行图像处理,并在三维空间内布置虚拟物体。图像处理装置100的显示单元110显示重叠有虚拟物体的输出图像。这种虚拟物体于是可由这样的其他处理装置观看:其具有观看能力(例如照相机)以及接口,该接口接收与附加到参考环境的虚拟物体有关的所存储的信息。
[0070]图像处理装置100在给定的参考环境中布置虚拟物体。也就是说,虚拟物体的位置和姿态在与参考环境相关联的坐标系(下面称为参考坐标系)中定义。在下面的介绍中,包括桌子11、书12和咖啡杯13的环境I是参考环境。实际上,参考环境可以是任何室内或室外环境。作为另一环境,具有对于真实物体特有的坐标系的一个真实物体可被作为参考环境处理。在这种情况下,真实物体特有的坐标系为参考坐标系统。
[0071]图1示出了作为图像处理装置100的实例的平板PC。然而,图像处理装置100不限于此。图像处理装置100可以为例如笔记本PC、掌上PC、智能电话、游戏终端、PND (便携导航装置)、内容播放器或数字家庭电器。
[0072](1-2.基本参数)
[0073]在根据本公开的技术中,布置在参考环境中的虚拟物体的位置和姿态通过使用几个参数的计算来确定。最基本的参数是环境识别矩阵。
[0074](I)环境识别矩阵
[0075]环境识别矩阵是这样的矩阵:其表示在参考环境中,相对于已经捕获输入图像的终端的位置和姿态的、参考环境的位置和姿态。环境识别矩阵可典型地为表示三维空间内的平行位移、旋转和缩放(放大/缩小)的坐标变换矩阵(例如4x4齐次变换矩阵)。
[0076]参照图2,示出了与参考环境I相关联的参考坐标系CS1以及图像处理装置100的装置特有的坐标系CScitj装置特有的坐标系CStl可由例如二维坐标轴以及显示单元110的屏幕的深度坐标轴来配置。通过使用已知的图像识别技术,参考坐标系CS1相对于图像处理装置100的装置特有的坐标系CStl的相对位置和姿态可使用输入图像来识别。这里使用的图像识别技术可以为例如SfM(运动求取结构)方法、SLAM(同步定位及地图创建)方法或上面的专利文献I或2中介绍的方法。或者,也可用使用红外传感器的简单环境技术。
[0077]这里,假设图像处理装置100的装置特有的坐标系CStl的位置和姿态用单位矩阵Mtl表示。于是,可以将参考环境I中的给定位置和姿态识别为从矩阵Mtl的坐标变换(平行位移、旋转和缩放)。因此,一组位置和姿态可以用一个坐标变换矩阵表示。前面提到的环境识别矩阵是这种坐标变换矩阵中的一个。环境识别矩阵表示相对于图像处理装置100的位置和姿态(例如单位矩阵Mtl)的、参考坐标系CS1的位置和姿态。
[0078](2)物体布置矩阵
[0079]在前面提到的前提下,环境识别矩阵M_g的逆矩阵为这样的矩阵:其表示相对于参考坐标系CS1的位置和姿态的、图像处理装置100的位置和姿态。在根据本公开的技术中,虚拟物体以基于环境识别矩阵的逆矩阵M^g-1的位置和姿态布置在参考环境中。图3示意性地示出了由环境识别矩阵的逆矩阵Mff1表示的坐标变换。
[0080]物体布置矩阵Mamnge是表示布置的虚拟物体的位置和姿态的矩阵。物体布置矩阵Marrange可以与环境识别矩阵的逆矩阵相等,如例如下面的公式。在这种情况下,虚拟物体以与布置虚拟物体的时间点上的图像处理装置100的位置和姿态相同的位置和姿态布置。
[0081]Marrange = Mrecog 1 (I)
[0082]然而,当虚拟物体的位置和姿态不完全与图像处理装置100的位置和姿态匹配时,可使用偏移矩阵,例如下面介绍的这个。
[0083](3)偏移矩阵
[0084]图4示意性地示出了物体布置矩阵Mamnge,其通过作为偏移矩阵的实例在计算中包括前偏移矩阵Irffsrt来确定。前偏移矩阵Irffsrt是表示在输入图像的成像方向(深度方向)上从图像处理装置100的位置以预定距离平行位移的坐标变换矩阵。当计算中包括前偏移矩阵Irffsrt时,物体布置矩阵Mam^可以如下面的公式计算。
[0085]Marrange = Mreco,.Toffset(2)
[0086]当虚拟物体通过在计算中包括前偏移矩阵Irffset而布置在图像处理装置100的前方时,用户可以快速在屏幕上观看所布置的虚拟物体,而不移动图像处理装置100。
[0087]图5示意性地示出了物体布置矩阵Mamnge,其通过作为偏移矩阵的实例在计算中包括操作偏移矩阵Tt_h来确定。操作偏移矩阵Tt_h根据图像处理装置100的屏幕上的用户输入位置来确定。当操作偏移矩阵Tfh被包括在计算中时,物体布置矩阵Mmange可如下面的公式计算。
[0088]Marrange = Mrecog-1.Ttouch.Toffset (3)
[0089]当操作偏移矩阵Tt_h如上面介绍的那样被包括在计算中时,通过在屏幕上的希望的位置执行操作(例如触摸或点击)而不是移动图像处理装置100,用户可以精细调节虚拟物体的布置。
[0090](1-3.参数的存储)
[0091]当虚拟物体的布置根据前面提到的原理来确定时,物体布置矩阵Mamnge与参考环境相关联地存储。
[0092]例如,参考图6A到图6B中的方案,首先,在时刻tl将虚拟物体Vtll布置在参考环境I中。虚拟物体Vtll的位置和姿态用物体布置矩阵MamngJtl)来表示(见图6A)。接着,在时刻t2,在参考环境I中布置虚拟物体Vtl2t5虚拟物体Vtl2的位置和姿态用物体布置矩阵Marrange(t2)来表示(见图 6B)。
[0093]因此,例如,可形成物体布置数据,例如图7示意性地示出的一个。在图7中的实例中,物体布置数据包括“参考环境”、“物体ID”、“布置”和“时刻”的四个数据项。“参考环境”是识别布置各个虚拟物体的环境的识别符。“物体ID”是用于唯一地标识各个虚拟物体的标识符。“布置”是存储各个虚拟物体的物体布置矩阵的数据项。“时刻”表示布置各个虚拟物体的时刻。各个虚拟物体可使用这样的物体布置数据来显示。
[0094](1-4.虚拟物体的显示)
[0095]假设这样的情况:终端与参考环境之间的位置关系在布置虚拟物体之后改变。可在终端移动或参考环境移动时或在终端和参考环境均移动时假设这种情况。在本说明书中,除非明确使用术语“平行位移”,术语“移动”可包括平行位移和旋转二者。在上面提到的情况下,以所存储的物体布置矩阵Mmange和在最近的时间点上识别的环境识别矩阵M^g表示的位置和姿态,在图像处理装置100的屏幕上显示虚拟物体。例如,图6B所示在时刻t2虚拟物体Vtll从图像处理装置100看起来的方式可表示为下面的坐标变换,其对应于物体布置矩阵MmangJtl)与时刻t2的环境识别矩阵Mrerag(t2)的乘积。
[0096]Mrecog (t2).Marrange (tI) (4)
[0097]图8示意性地示出了公式⑷表示的坐标变换。在图8中的输出图像Iml中,虚拟物体Vtll以物体布置矩阵Mamnge(U)和环境识别矩阵M^g(t2)表示的位置和姿态显示。
[0098]通过根据此部分介绍的原理移动和操作例如图像处理装置100的终端,用户能够在参考环境中以希望的位置和姿态布置虚拟物体。另外,由于物体布置矩阵与参考坐标系相关联地存储,即使在终端和参考环境之间的位置关系改变时,虚拟物体可被显示为使得虚拟物体相对于参考环境的相对位置和姿态得以保持。根据这样的原理,提供直觉用户界面,其以布置虚拟物体为目的,并将虚拟物体布置为如同将告示贴附加到参考环境一样。
[0099] 下面,将基于前面提到的原理特别介绍根据本公开的技术的两个示例性实施例。
[0100]〈2.第一环境〉
[0101]在第一实施例中,虚拟物体由图1中示意性地示出的图像处理装置100布置。所布置的虚拟物体在图像处理装置100的屏幕上显示。
[0102](2-1.硬件构造)
[0103]图9为一框图,其示出了根据第一实施例的图像处理装置100的示例性硬件构造。参照图9,图像处理装置100包括成像单元102、传感器单元104、输入单元106、存储单元108、显示单元110、通信单元112、总线116和控制单元118。
[0104](I)成像单元
[0105]成像单元102为捕获图像的照相机模块。使用例如CXD(电荷耦合器件)或CMOS(互补金属氧化物半导体)的图像传感器,成像单元102捕获真实空间的图像,以产生捕获图像。成像单元102产生的一系列捕获图像构成视频。注意,成像单元102不需要为图像处理装置100的一部分。例如,通过导线或无线地连接到图像处理装置100的成像装置可作为成像单元102处理。另外,成像单元102可包括深度传感器,其为每个像素测量成像单元102和摄影对象之间的距离。从深度传感器输出的深度数据可用于识别环境。
[0106](2)传感器单元
[0107]传感器单元104可包括多种传感器,例如定位传感器、加速度传感器和陀螺仪传感器。由传感器单元104获得的测量结果可用于多种应用,例如协助环境识别,获取关于地理位置的数据,或检测用户输入。注意,传感器单元104可从图像处理装置100的构造中省略。
[0108](3)输入单元
[0109]输入单元106为用户操作图像处理装置100或向图像处理装置100输入信息的输入装置。输入单元106可包括例如在显示单元110的屏幕上检测用户触摸的触摸传感器。作为替代(或作为附加)的是,输入单元106可包括点选装置,例如鼠标或触摸板。另外,输入单元106可包括其他类型的输入装置,例如键盘、键座、按钮或开关。
[0110](4)存储单元
[0111]存储单元108包括存储介质,例如半导体存储器或硬盘,并存储由图像处理装置100执行以便处理的数据和程序。存储在存储单元108中的数据可包括例如关于捕获图像的数据、传感器数据以及下面介绍的数据库(DB)中的数据。注意,本说明书中介绍的程序和数据的一部分也可从外部数据源(例如,数据服务器、网络存储器、或外部存储器)获取,而不存储在存储单元108中。
[0112](5)显示单元
[0113]显示单元110为显示模块,其包括例如IXD (液晶显示器)、OLED (有机发光二极管)或CRT(阴极射线管)的显示器。显示单元110用于显示由图像处理装置100产生的输出图像。注意,显示单元110也不需要为图像处理装置100的一部分。例如,通过导线或无线地连接到图像处理装置100的显示装置可作为显示单元110处理。
[0114](6)通信单元
[0115]通信单元112为通信接口,其对于图像处理装置100和另一装置之间的通信起到媒介作用。通信单元112支持给定的无线通信协议或有线通信协议,并建立与另一装置的通信连接。
[0116](7)总线
[0117]总线116互相连接成像单元102、传感器单元104、输入单元106、存储单元108、显示单元110、通信单元112以及控制单元118。
[0118](8)控制单元
[0119]控制单元118对应于处理器,例如CPU (中央处理单元)或DSP (数字信号处理器)。通过执行存储在存储单元108或另一存储介质中的程序,控制单元118使得下面介绍的图像处理装置100的多种功能运行。
[0120](2-2.功能配置)
[0121]图10为一框图,示出了由图9所示的图形处理装置100的存储单元108和控制单元118实现的逻辑功能的示例性构造。参照图10,图像处理装置100包括图像获取单元120、识别单元130、计算单元140、物体布置单元150、物体DB 160、操作控制单元180和显示控制单元190。
[0122](I)图像获取单元
[0123]图像获取单元120获取由成像单元102产生的捕获图像,作为输入图像。由图像获取单元120获取的输入图像可以为部分地构成真实空间的视频的个体帧。图像获取单元120将所获取的输入图像输出到识别单元130和显示控制单元190。
[0124](2)识别单元
[0125]使用从图像获取单元120获取的输入图像,识别单元130识别前面提到的环境识别矩阵,其表示参考环境的位置和姿态。识别单元130可使用已知的图像识别技术(例如SfM方法或SLAM方法),以识别环境识别矩阵。作为替代或作为附加地,基于来自设置在成像单元102中的深度传感器的深度数据,识别单元130可识别环境识别矩阵。作为另一替代方式,基于来自环境识别系统(例如红外距离测量系统或动作捕获系统)的输出数据,识别单元130可识别环境识别矩阵。
[0126]例如,当使用SLAM方法时,基于扩展Kalman滤波器的原理,识别单元130更新终端的位置、姿态、速度和角速度,以及包括对于各个帧在输入图像中的一个以上的特征点位置的状态变量。因此,相对于终端的位置和姿态的、参考环境的位置和姿态可使用来自单目照相机的输入图像来识别。识别单元130使用环境识别矩阵Mrecog来表示参考环境的所识另Ij的位置和姿态,环境识别矩阵M^g对应于从终端的位置和姿态的坐标变换。注意,SLAM方法的细节在 “Real-Time Simultaneous Localizat1n and Mapping with a SingleCamera,,(Andrew J.Davison, Proceedings of the 9th IEEE Internat1nal Conferenceon Computer Vis1n Volume 2, 2003, pp.1403-1410)中描述。
[0127]识别单元130将由此识别的环境识别矩阵输出到计算单元140和物体布置单元150。
[0128](3)计算单元
[0129]计算单元140计算从识别单元130输入的环境识别矩阵的逆矩阵例如,环境识别矩阵M^g是4x4齐次变换矩阵。因此,环境识别矩阵的逆矩阵也是4x4齐次变换矩阵,且满足乘以等于Mtl (单位矩阵)。环境识别矩阵的逆矩阵表示从参考坐标系的位置和姿态到终端的位置和姿态的坐标变换。计算单元140将计算得到的环境识别矩阵的逆矩阵Mmc^1输出到物体布置单元150。
[0130](4)物体布置单元
[0131]物体布置单元150在参考环境中布置虚拟物体,其具有基于环境识别矩阵的逆矩阵的位置和姿态。所布置的虚拟物体的位置和姿态用前面提到的物体布置矩阵Mamnge来表示。在附图中,主要描绘出矩形虚拟物体,以简单示出虚拟物体的位置和姿态。然而,由物体布置单元150布置的虚拟物体可具有任何形状。另外,虚拟物体可以为呈现任何类型的信息的物体。
[0132]例如,根据上面的公式(I),物体布置单元150可以布置虚拟物体,使得虚拟物体以由环境识别矩阵的逆矩阵表示的位置和姿态重叠在终端的位置和姿态上。另外,使用前面提到的前偏移矩阵和操作偏移矩阵的一者或二者,物体布置单元150可在从终端的位置和姿态偏移的位置布置虚拟物体。
[0133]当使用前偏移矩阵Irffset时,根据上面的公式(2),物体布置单元150可在从环境识别矩阵的逆矩阵表示的位置以输入图像的成像方向偏移的位置布置虚拟物体。作为替代的是,当使用操作偏移矩阵Tt_h时,根据上面的公式(3),物体布置单元150可在沿着屏幕根据屏幕上的用户输入位置的方向偏移的位置布置虚拟物体。
[0134]物体布置单元150将在参考环境中布置的虚拟物体的物体布置矩阵Mmange (以及其他参数)输出到显示控制单元190。另外,当预定的用户输入被操作控制单元180检测到时,物体布置单元150与参考环境相关联地在物体DB 160中存储物体布置矩阵Mmange。下面将进一步介绍与虚拟物体的布置有关的用户界面的多个实例。
[0135](5)物体 DB
[0136]物体DB 160为其中存有由物体布置单元150布置的虚拟物体的物体布置矩阵的数据库。物体DB 160可存储具有例如图7中示例性地示出的结构的物体布置数据。在物体DB 160中,物体布置矩阵与参考环境中的一个相关联。于是,当由显示控制单元190执行显示虚拟物体的处理时,从物体DB 160读取物体布置数据。
[0137](6)操作控制单元
[0138]操作控制单元180提供用于允许用户操作在图像处理装置100中执行的AR应用的用户界面。例如,操作控制单元180经由显示控制单元190在屏幕上显示促进AR应用的操作的指示。于是,操作控制单元180检测经由输入单元106的多种用户输入。
[0139]第一用户输入可以为初步布置和显示虚拟物体的触发,且第二用户输入可以为确定虚拟物体的布置并存储物体布置矩阵的触发。第一和第二用户输入可被定义为使得第一与第二用户输入分别对应于一系列的操作的开始和结束。一系列的操作可对应于例如触摸或拖曳。典型地,触摸或拖曳的开始被检测为按压事件,且触摸或拖曳的结束被检测为释放事件。根据这样的用户界面,用户能够仅仅通过在观看和触摸(或拖曳)屏幕的同时执行移动终端的简单、直观的操作将虚拟物体的布置自由调节到希望的位置和姿态。
[0140]在检测到上面提到的用户输入时,操作控制单元180向物体布置单元150输出表示所检测的用户输入的类型和输入位置的输入信息。注意,用户输入的类型不限于上面提到的实例。例如,预定的按键或按钮的按压,触摸手势的识别,面部表情的识别,音频命令的识别,或头戴显示器的视线识别可被定义为用户输入。
[0141](7)显示控制单元
[0142]通过根据物体布置单元150的布置在输入图像上重叠虚拟物体,显示控制单元190产生输出图像。于是,显示控制单元190在显示单元110的屏幕上显示所产生的输出图像。如参照图8介绍的,虚拟物体以由虚拟物体的物体布置矩阵和在显示时识别的环境识别矩阵表示的位置和姿态重叠在输入图像上。例如,对由显示控制单元190显示虚拟物体的触发可以为前面提到的第一用户输入的检测。作为替代的是,对由显示控制单元190显示虚拟物体的触发可以为接收到来自另一装置的物体布置数据、识别出输入图像中的某些模式等等。
[0143](2-3.操作情景)
[0144]接下来,将参照图11到图13介绍与虚拟物体上的操作有关的两个操作情景。在第一操作情景中,新的虚拟物体被布置在参考环境中。在第二操作情景中,通过用户的操作来移动所布置的虚拟物体。
[0145](I)新的虚拟物体的布置
[0146]图11示出一视图,其中根据第一操作情景,新的虚拟物体被布置在参考环境中。
[0147]首先,在时刻tlO,图像处理装置100位于桌子11上,并处于轻微倾斜的姿态。在这一时间点上,没有检测到用户输入。
[0148]接着,在时刻tll,按压事件被检测为第一用户输入。接着,物体布置单元150在图像处理装置100的前方布置虚拟物体V11。显示控制单元190在屏幕上显示所布置的虚拟物体V11O
[0149]在时刻tl2,用户正在继续按压的同时向右旋转图像处理装置100。物体布置单元150在图像处理装置100的前方布置具有从虚拟物体V11的姿态旋转的姿态的虚拟物体V12。也就是说,在用户的操作继续的同时,虚拟物体的布置跟随终端的位置和姿态。
[0150]接着,在时刻tl3,释放事件被检测为第二用户输入。物体布置单元150在图像处理装置100的前方布置虚拟物体V13,并在物体DB160中存储虚拟物体V13的物体布置矩阵。显示控制单元190在屏幕上以所确定的布置显示虚拟物体V13。通过上面介绍的从时刻tll到tl3的一些列操作,用户能够在参考环境中自由地布置新的虚拟物体。
[0151]此后,在时刻tl4,相比于时刻tl3的位置,图像处理装置100向左移动。识别单元130使用时刻tl4的输入图像识别新的环境识别矩阵。接着,以时刻t13确定的虚拟物体V13的物体布置矩阵以及新识别的环境识别矩阵表示的位置和姿态,显示控制单元190显示虚拟物体V13。
[0152](2)虚拟物体的移动
[0153]如上面所介绍的,根据第一操作情景,在用户操作继续的同时,虚拟物体的布置跟随终端的位置和姿态。对于所布置的虚拟物体,这样的跟随操作可以通过下面介绍的机制实现。
[0154]图12示出一视图,其中根据第二操作情景,所布置的虚拟物体移动。
[0155]在时刻t20,检测到按压事件。显示控制单元190根据例如按压位置来标识将要操作的虚拟物体Vtl,并获取虚拟物体Vtl的物体布置矩阵Mamnge (V0)。于是,显示控制单元190计算相对布置矩阵Mm1,其为时刻t20的环境识别矩阵M^g(t20)和物体布置矩阵Mmange (VO)的乘积。直到检测到释放事件之前,这里计算得到的相对布置矩阵Mm1被保持,并用于显示继续操作的虚拟物体%。
[0156]在时刻t21,用户正在继续按压的同时向右旋转图像处理装置100。使用在时刻t20计算的相对布置矩阵Mrel,显示控制单元190在屏幕上显示虚拟物体Vtl,使得虚拟物体V。相对于图像处理装置100的相对位置和姿态得以保持。
[0157]此后,在时刻t22检测到释放事件。识别单元130使用时刻22的输入图像识别新的环境识别矩阵M^g (t22)。于是,物体布置单元150计算新的物体布置矩阵M^range(Vtl),其为新环境识别矩阵的逆矩阵(t22)和相对布置矩阵Mm1的乘积。于是,物体布置单元150在物体DB 160中存储新的物体布置矩阵M,arrange(V0)。
[0158]通过上面介绍的从时刻t20到t22的一系列操作,用户能够在三维空间中自由移动所布置的虚拟物体,使得所布置的虚拟物体被拖曳。注意,通过这里介绍的用户界面操作的虚拟物体的数量不限于一个,且多个虚拟物体可通过一系列的操作来集体移动。
[0159](3)参考环境的切换
[0160]使用前面提到的相对布置矩阵Mm1,也可以将虚拟物体关联到的参考环境切换到不同的环境。
[0161]图13为一阐释图,其示出了参考环境的切换。
[0162]在时刻t30,检测到按压事件。显示控制单元190根据例如按压位置标识将要操作的虚拟物体\,并获取虚拟物体Vtl的物体布置矩阵Mmange (V0)。这里,假设物体布置矩阵Marrange(V0)与具有参考坐标系CS2的参考环境En2相关联。于是,显示控制单元190计算相对布置矩阵Mm1,其为时刻t30的环境识别矩阵M_g (t30)与物体布置矩阵Mmange (Vtl)的乘积。
[0163]在时刻t31,用户正在继续按压的同时移动图像处理装置100。使用在时刻t30计算的相对布置矩阵Mm1,显示控制单元190在屏幕上显示虚拟物体Vtl,使得虚拟物体Vtl相对于图像处理装置100的相对位置和姿态得以保持。
[0164]此后,在时刻t32,检测到释放事件。识别单元130识别新的环境识别矩阵 (t32),其表示时刻t32在输入图像上出现的新环境En3的位置和姿态。环境En3具有独特的坐标系CS3。于是,物体布置单元150计算新的物体布置矩阵M,^ange(Vtl),其为新的环境识别矩阵的逆矩阵(t32)和相对布置矩阵Mrel的乘积。于是,物体布置单元150与新的参考环境En3相关联地在物体DB 160中存储新的物体布置矩阵M,arrange(V0)。
[0165]通过上面介绍的从时刻t30到t32的一系列操作,用户能够自由地移动所布置的虚拟物体,如同所布置的虚拟物体被拖曳并从一个环境掉落到另一个一样,或者如同告事贴被替换一样。
[0166](2-4.处理流程)
[0167]图14为一流程图,示出了根据第一实施例由图像处理装置100执行的图像处理的示例性流程。
[0168]参照图14,首先,图像获取单元120获取由成像单元102产生的捕获图像,作为输入图像(步骤S110)。接着,图像获取单元120将所获取的输入图像输出到识别单元130和显示控制单元190。
[0169]接下来,使用从图像获取单元120输入的输入图像,识别单元130识别表示参考环境的位置和姿态的环境识别矩阵Mmms(步骤S120)。接着,识别单元130将所识别的环境识别矩阵Mratjg输出到计算单元140、物体布置单元150和显示控制单元190。
[0170]接着,如果已经布置在参考环境中的虚拟物体存在的话,显示控制单元190从物体DB 160获取关于所布置的虚拟物体的物体布置数据(步骤S125)。于是,对于各个将要显示的虚拟物体,显示控制单元190计算相对布置矩阵Mm1,其为环境识别矩阵M^g和物体布置矩阵Mmange的乘积(步骤S130)。
[0171]接着,图14中的图像处理根据操作状态而分支。首先,如果预定的操作由用户开始或者如果预定的操作正在继续,处理进行到步骤S150 (S135)。作为替代的是,如果检测到至此继续的操作的结束,处理进行到步骤S160(步骤S140)。否则,处理进行到步骤S170。
[0172]在步骤S150中,执行参照图15详细介绍的物体布置处理。
[0173]在步骤S160中,执行参照图15详细介绍的物体布置处理。此后,对于将要操作的虚拟物体新确定或更新的物体布置矩阵被存储在物体DB 160中(步骤S165)。
[0174]于是,显示控制单元190产生输出图像(其上重叠有将被操作的虚拟物体以及将要显示的其他虚拟物体),并在显示单元110的屏幕上显示所产生的输出图像(步骤S170)。
[0175]图15为一流程图,示出了与图14中的步骤S150以及S160对应的物体布置处理的示例性详细流程。
[0176]图15中的物体布置处理依赖于将要操作的虚拟物体是否是已有(已被布置)物体而分支(步骤S151)。如果将要操作的虚拟物体不是已有的物体,处理进行到步骤S157。同时,如果将要操作的虚拟物体是已有的物体,处理进行到步骤S152。
[0177]在步骤S152中,物体布置处理进一步依赖于是否已经对于将被操作的虚拟物体计算相对布置矩阵Mm1而分支。如果相对布置矩阵Mrel尚未计算,处理进行到步骤S153。同时,如果相对布置矩阵M,el已经计算,处理进行到步骤S155。
[0178]如果将要操作的虚拟物体是已有物体且相对布置矩阵Mm1尚未计算,显示控制单元190首先获取将要操作的虚拟物体的物体布置矩阵MamngJ步骤S153),于是,显示控制单元190基于所获取的物体布置矩阵Mamnge和这一时间点上的环境识别矩阵M^g计算相对布置矩阵Mrel (步骤S154)。
[0179]如果将要操作的虚拟物体是已有物体且相对布置矩阵Mm1已经计算,显示控制单元190首先判断是否已经检测到操作的结束(步骤S155)。于是,如果检测到操作的结束,显示控制单元190基于这一时间点上的环境识别矩阵M^g和相对布置矩阵Mrel来重新计算将要操作的虚拟物体的物体布置矩阵Mamng-
[0180]如果将要布置新的虚拟物体,计算单元140计算由识别单元130输入的环境识别矩阵的逆矩阵Mmc^1 (步骤S157)。另外,物体布置单元150确定前偏移矩阵Irffsrt和操作偏移矩阵Tt_h(步骤S158)。注意,在不使用这样的偏移矩阵时,可省略步骤S150中的处理。于是,物体布置单元150基于环境识别矩阵的逆矩阵Mmms'前偏移矩阵Irffset和操作偏移矩阵Tt_h确定将要新布置的虚拟物体的物体布置矩阵Mamng-
[0181](2-5.显示的变型)
[0182]在根据当前公开的技术中,可以以多种配置显示虚拟物体。在这一部分中,将介绍虚拟物体的多种显示变型。
[0183](1)参考平面的确定
[0184]例如,虚拟物体可具有预定的参考平面。当虚拟物体具有卡状的平面形状时,虚拟物体的一个表面可定义为参考平面,且其另一表面可定义为非参考表面。当虚拟物体具有立体形状时,虚拟物体的参考平面可通过从参考平面向外延伸的法线矢量来标识。如上面所介绍的,当虚拟物体具有参考平面时,显示控制单元190可依赖于虚拟物体的参考平面是否在图像处理装置100的屏幕上出现来改变虚拟物体的显示。
[0185]例如,参照图16中的实例,两个虚拟物体V11和V12出现在图像处理装置100的屏幕上。出现在图像处理装置100的屏幕上的虚拟物体V11的平面是非参考平面。出现在图像处理装置100的屏幕上的虚拟物体V12的平面是参考平面。因此,显示控制单元190可将例如虚拟物体V12的显示属性(例如形状、比例尺、透明度、颜色、分辨率和边缘厚度)设置为与虚拟物体V11的显示属性不同的值。另外,显示控制单元190可取决于参考表面是否出现而改变虚拟物体V11和V12各自表示的信息。
[0186]通过上面提到的显示控制,用户能够容易地领会所显示的虚拟物体的方位。
[0187](2)根据距离显示
[0188]显示控制单元190可根据图像处理装置100和虚拟物体之间的距离来改变虚拟物体的显示。
[0189]例如,参照图17中的实例,四个虚拟物体V21、V22, V23和V24出现在图像处理装置100的屏幕上。其中,虚拟物体V21和V24被定位为与虚拟物体V22和V23相比距离图像处理装置100更远。在这种情况下,显示控制单元190可强调虚拟物体V22和V23的任何显示属性,使得虚拟物体V22和V23能更为清楚地被用户识别。另外,显示控制单元190可显示关于虚拟物体V22和V23的更为详细的信息。
[0190]通过上面提到的显示控制,在屏幕上显示多个虚拟物体的条件下,可以增大用户更感兴趣(即用户正在使其终端更接近)的虚拟物体(或其显示信息)的可视性。
[0191](3)对齐显示
[0192]当满足预定条件时,显示控制单元190可重新布置将要显示的多个虚拟物体,使得所述多个虚拟物体在其间具有预定空间的情况下对齐。
[0193]例如,参照图18中的实例,六个虚拟物体V31到V36出现在图像处理装置100的屏幕上。然而,当这样的虚拟物体根据其布置显示时,虚拟物体将会挤在屏幕内,且虚拟物体的可视性将会降低。因此,例如,当检测到预定用户输入时,显示控制单元190对齐虚拟物体。在图18中的实例中,定位为到图像处理装置100更近的四个虚拟物体V32、V33、V35和V36被重新布置,使得它们在其间具有预定空间的情况下对齐。例如,代替用户输入的是,重新布置虚拟物体的预定条件可以为,屏幕内的虚拟物体的数量应当大于预定阈值。
[0194]通过上面提到的显示控制,在数个虚拟物体显示在屏幕上的情况下,可以增大各个虚拟物体表示的信息的可视性。
[0195](2-6.应用的实例)
[0196]根据本公开的技术不仅可应用于在此之前所介绍的AR应用,还可应用于多种应用。在这一部分中,将介绍应用的两个实例。
[0197](I)轨迹/动画的存储
[0198]例如,当检测到表示存储开始的用户输入时,物体布置单元150与参考环境相关联地在物体DB 160中对于多个图像循序存储虚拟物体的物体布置矩阵。因此,可以容易地产生虚拟物体的轨迹或跟随移动图像处理装置100的轨迹的移动虚拟物体的动画。
[0199]例如,显示控制单元190可通过根据已经循序存储的多个物体布置矩阵在一个输入图像上重叠虚拟物体的多个实例,在输入图像中的环境中显示虚拟物体的轨迹。作为替代的是,显示控制单元190可通过根据已经循序存储的多个物体布置矩阵中的每一个在一系列的输入图像中的每一个上循序重叠虚拟物体的实例,显示虚拟物体的移动动画。
[0200]参照图19中的实例,虚拟物体Vtl的四个实例的物体布置矩阵Mamnge (t41)至IjMarrange (t44)沿着图像处理设备100的从时刻t41到时刻t44的移动轨迹与参考环境Enl相关联地存储。当虚拟物体Vtl的四个实例重叠在一个帧上时,显示虚拟物体Vtl的轨迹。同时,当虚拟物体Vtl的四个实例在相应的时刻重叠在不同帧上时,显示虚拟物体Vtl的移动动画。
[0201]显示控制单元190可由不同时间点上已经存储的物体布置矩阵在不同时间点之间内插表示虚拟物体的姿势和姿态的附加物体布置矩阵。因此,由少量的物体布置数据可产生具有较高时间分辨率的轨迹或动画。另外,如果将使用例如三维样条曲线(splinecurve)或Bezier曲线的曲线内插方法用作这里的内插方法,可进行平滑的内插。
[0202](2)成像位置和成像姿态的存储
[0203]当根据本公开的技术安装在成像装置上时,成像历史可与摄影对象的环境相关联地记录。例如,假设图像处理装置100为数字照相机或具有成像功能的终端。在这种情况下,输入图像为摄影对象的照片。为了记录摄影对象被捕获时的成像位置和成像姿态,物体布置单元150在数据库中注册前面提到的物体布置矩阵。此后,当虚拟物体根据所注册的物体布置矩阵在同一环境中显示在终端的屏幕上时,用户可知道照片是以哪一成像位置和成像姿态被捕获的。注册物体布置矩阵的触发可以为例如与捕获图像的指令对应的用户输入(例如按压快门按钮)。根据这样的构造,当检测到捕获图像的指令时,物体布置矩阵自动注册在数据库中。因此,可以在不对拍摄照片的用户造成附加负担的情况下,注册成像位置和成像姿态。
[0204]<3.第二实施例>
[0205]在第二实施例中,各自具有与前面提到的图像处理装置100大约相同的构造的多个终端装置300共用布置在AR空间内的虚拟物体。
[0206](3.1系统概况)
[0207]参照图20,示出了构成根据第二实施例的图像处理系统的管理服务器200、终端装置300a和终端装置300b。注意,在此说明书中,终端装置300a和终端装置300b统称为终端装置300,除非它们应当彼此区分开。
[0208]终端装置300在给定的参考环境中布置虚拟物体。在图20中的实例中,对应于包括桌子11的一个空间的环境4被示为参考环境。然而,根据本公开的技术应用的参考环境不限于此。例如,即使在终端装置300a存在的空间不同于终端装置300b存在的空间时,如果存在对于两个空间共同的物体或特征点组,或者如果存在可看作相同的校准后的坐标系,可以将与空间对应的多个环境处理为一个共同的参考空间。作为替代的是,一个空间内不同时刻上识别的环境可处理为一个共同的参考环境。
[0209]例如,参照图21A,终端装置300a和书15a存在于环境5a中。参照图21B,终端装置300b和书15b存在于环境5b中。书15a和15b具有共同的特征点组。因此,终端装置300a和300b可使用这样的特征点组识别一个共同的参考坐标系CS5,并因此共用与参考坐标系CS5相关联的虚拟物体。
[0210]管理服务器200为信息处理装置,其管理关于共用的虚拟物体的数据。管理服务器200可以为与终端装置300或终端装置300的一部分分立地设置的装置。
[0211](3-2.服务器的构造)
[0212]图22为一框图,示出了管理服务器200的示例性构造。参照图22,管理服务器200包括通信单元210、控制单元220和存储单元250。
[0213]通信单元210为通信接口,其对管理服务器200与另一装置的通信起到媒介作用。通信单元210为通信接口,其支持给定的无线通信协议或有线通信协议,并建立与另一装置的通信连接。
[0214]通信单元220对应于例如CPU或DSP的服务器。控制单元220通过执行存储在存储单元250或另一存储介质中的程序来运行管理服务器200的功能。用户管理单元230和物体管理单元240为管理服务器200的示例性功能模块。
[0215]用户管理单元230为一功能模块,其管理参与共享虚拟物体的用户。用户管理单元230控制例如用户的验证、用户的分组、用户信息向终端装置300的提供等等。
[0216]物体管理单元240为一功能模块,其管理关于共享的虚拟物体的数据。例如,经由通信单元210,物体管理单元240接收来自终端装置300 (其已经在参考环境中布置虚拟物体)的数据注册请求。数据注册请求包括关于将要共享的虚拟物体的物体布置数据。物体布置单元240也可从终端装置300接收表示虚拟物体形状的物体数据以及由虚拟物体表示的信息。响应于接收到这样的信息注册请求,物体管理单元240将物体布置数据和物体数据存储到存储单元250中。另外,响应于来自终端装置300的数据分配请求或者是周期性地,物体管理单元240经由通信单元210将所注册的物体布置数据(以及物体数据)分配给终端装置300。
[0217]存储单元250包括存储介质(例如半导体存储器或硬盘),并存储用于由管理服务器200执行的处理的程序和数据。存储在存储单元250中的数据包括物体布置数据252和物体数据254。
[0218]图23示出了物体布置数据252的实例。在图23中的实例中,物体布置数据252包括“参考环境”、“物体ID”、“创建者ID”和“布置”的四个数据项。“参考环境”为识别布置各个虚拟物体的环境的识别符。“物体ID”为唯一地标识各个虚拟物体的标识符。“创建者ID”为标识已经布置各个虚拟物体的装置或用户的标识符。“布置”为存储各个虚拟物体的物体布置矩阵的数据项。
[0219]图24示出了物体数据254的实例。在图24中的实例中,物体数据254包括“物体ID”、“显示属性数据”、“用户数据”、“状态”和“装置数据”的五个数据项。“物体ID”为唯一地标识各个虚拟物体的标识符。“显示属性数据”为定义各个虚拟物体的显示属性的数据,并用于在终端装置300上显示虚拟物体。“用户数据”、“状态”和“装置数据”为与已经布置各个虚拟物体的终端相关联的关联信息的实例。例如,“用户数据”可包括终端用户的标识信息、名称、面部照片或类似信息。“状态”可包括终端用户的存在信息、操作状态信息或类似信息。“装置数据”可包括终端的标识信息、名称、外观数据或类似信息。
[0220]物体管理单元240可将图24中示例性地示出的关联信息的至少一部分分配给终端装置300,并与虚拟物体一起在终端装置300上显示所分配的关联信息。
[0221](3-3.终端的构造)
[0222]终端装置300的硬件构造可类似于图9中示例性地示出的图像处理装置100的硬件构造。图25为一框图,示出了终端装置300的逻辑功能的示例性构造。参照图25,终端装置300包括图像获取单元120、数据获取单元325、识别单元13、计算单元140、物体布置单元350、注册单元355、物体DB 360、操作控制单元380和显示控制单元390。
[0223](I)数据获取单元
[0224]数据获取单元325周期性地或响应于来自用户的指令地将数据分配请求发送到管理服务器。于是,数据获取单元325获取关于将要与另一终端分享的虚拟物体的物体布置数据和物体数据。
[0225]由数据获取单元325获取的物体布置数据包括由另一终端布置的虚拟物体的物体布置矩阵。物体布置矩阵为基于由另一终端识别的环境识别矩阵的逆矩阵确定的矩阵,并表示参考环境中由另一终端布置的虚拟物体的位置和姿态。另外,由数据获取单元325获取的物体数据包括与已经布置虚拟物体的终端相关联的关联信息,例如图24示例性地示出的一个。数据获取单元325在物体DB 360中存储物体布置数据和物体数据。
[0226](2)物体布置单元
[0227]类似于图像处理装置100的物体布置单元150,物体布置单元350在参考环境中布置虚拟物体,其具有基于由识别单元130识别的环境识别矩阵的逆矩阵的位置和姿态。所布置的虚拟物体的位置和姿态由物体布置矩阵表示。
[0228]例如,物体布置单元350可以以由环境识别矩阵的逆矩阵表示的位置和姿态布置虚拟物体,使得虚拟物体的位置和姿态与终端的位置和姿态重叠。作为替代的是,使用前面提到的前偏移矩阵和操作偏移矩阵中的一者或二者,物体布置单元350可以以从终端的位置和姿态偏移的位置布置虚拟物体。
[0229]物体布置单元350将布置在参考环境中的虚拟物体的物体布置矩阵输出到显示控制单元390。另外,当操作控制单元380检测到预定的用户输入时,物体布置单元350与参考环境相关联地在物体DB 360中存储物体存储矩阵,并将之输出到注册单元355。
[0230](3)注册单元
[0231]在接收到来自物体布置单元350的物体布置矩阵时,注册单元355经由通信单元112将数据注册请求发送到管理服务器200。数据注册请求可包括与物体管理矩阵一起的显示属性数据(其定义虚拟物体的显示数据)以及前面提到的多种关联信息。
[0232](4)物体 DB
[0233]类似于图像处理装置100的物体DB 160,物体DB 360为数据库,其存储由物体布置单元350布置的虚拟物体的物体布置矩阵。另外,物体DB 360存储由数据获取单元325从管理服务器200接收的物体布置数据和物体数据。存储在物体DB 360中的数据在显示控制单元390执行显示虚拟物体的处理时被读取。
[0234](5)操作控制单元
[0235]类似于图像处理装置100的操作控制单元180,操作控制单元380提供允许用户操作由终端装置300执行的AR应用的用户界面。例如,操作控制单元380允许用户通过从触摸或拖曳的开始到结束的一系列操作将虚拟物体的布置自由地调节到希望的位置和姿态。在检测到用户输入时,操作控制单元380将表示检测到的用户输入的类型以及输入位置的输入信息输出到物体布置单兀350。
[0236](6)显示控制单元
[0237]通过根据存储在物体DB 360中的物体布置数据在输入图像上重叠虚拟物体,显示控制单元390产生输出图像。于是,显示控制单元390在显示单元110的屏幕上显示所产生的输出图像。
[0238]在此实施例中显示的虚拟物体包括由另一终端布置在参考环境中的虚拟物体。由另一装置布置在参考环境中的虚拟物体具有物体布置矩阵,其基于表示出现在另一终端的输入图像中的参考环境的位置和姿态的第一环境识别矩阵的逆矩阵来确定。同时,识别单元130识别第二环境识别矩阵,其表示出现在由图像获取单元130获取的输入图像中的参考环境的位置和姿态。在这种情况下,根据参考图8介绍的方法,显示控制单元390以由另一终端布置的虚拟物体的物体布置矩阵和第二环境识别矩阵表示的位置和姿态在输入图像上重叠虚拟物体。
[0239]类似于根据第一实施例的显示控制单元190,当虚拟物体具有参考平面时,显示控制单元390可根据虚拟物体的参考平面是否出现在图像处理装置100的屏幕上而改变虚拟物体的显示。另外,显示控制单元390可根据终端装置300和虚拟物体之间的距离来改变虚拟物体的显示。另外,当满足预定的条件时,显示控制单元390可重新布置将要显示的多个虚拟物体,使得虚拟物体在其间具有预定空间的情况下对齐。
[0240]另外,在此实施例中,显示控制单元390可根据已经布置虚拟物体的终端是否位于与终端对应的位置来改变虚拟物体的显示。
[0241]例如,假设使用用作在图像中标识终端的表示的虚拟物体。当已经布置虚拟物体的终端在所布置的虚拟物体附近存在时,终端可在真实空间中被观看。因此,关于终端(或其用户)的详细信息(例如用户数据、状态和装置数据)不需要必须显示。相反,当已经布置虚拟物体的终端不在所布置的虚拟物体附近存在时,如果显示关于终端(或其用户)的更多详细信息将会是有利的。
[0242]参照图26,由终端装置300a布置的虚拟物体Vai显示在终端装置300b的屏幕上。终端装置300a在虚拟物体Vai附近存在。在这样的情况下,显示控制单元390将关于终端装置300a的用户的仅仅是简单的信息(图26中的实例中的用户ID “Ua”)添加到虚拟物体 VA1。
[0243]同时,参照图27,由终端装置300a布置的虚拟物体Vai重新显示在终端装置300b的屏幕上。终端装置300a不在虚拟物体Vai附近存在。终端装置300a可在与终端装置300b不同的空间(但是具有与终端装置300b共同的参考环境的空间)中存在,或者,终端装置300a可以是在过去已经与终端装置300b在相同空间中存在的一个。在这样的情况下,显示控制单元390将关于终端装置300a的用户的详细信息(图27中的实例中的用户IR、空间和面部照片)添加到虚拟物体VA1。因此,终端装置300b的用户能够获知不可见的终端装置300a的用户的细节。
[0244]在检测到指明虚拟物体的用户输入(例如图26或图27中示例性地示出的一个)时,显示控制单元390可启动使用已经布置拟物体的终端的通信的应用。这里启动的应用可以为例如邮件程序、即时通信软件、社交媒体工具或内容分享应用的任何应用。在图28中的实例中,当终端装置300b的用户点击虚拟物体Vai时,即时通信软件被启动,以开始与终端装置300a的通信。根据这样的配置,可以容易地经由虚拟物体执行用户之间的通信。
[0245](3-4.处理流程)
[0246]图29为一时序图,示出了根据第二实施例在装置之间执行的处理的示例性流程。
[0247]参照图29,首先,数据分配请求从终端装置300a发送到管理服务器200,且响应从管理服务器200返回(步骤S210)。在这一时间点上,没有虚拟物体被布置在参考环境中。因此,终端装置300a不接收物体布置数据。类似地,数据分配请求从终端装置300b发送到管理服务器200,且响应从管理服务器100返回(步骤S215)。
[0248]接着,虚拟物体通过参照图14和图15介绍的图像处理由终端装置300a布置在参考环境中(步骤S220)。于是,终端装置300a将数据注册请求发送到管理服务器200 (步骤S225)。数据注册请求包括所布置的虚拟物体的物体管理矩阵。
[0249]在接收到数据注册请求时,管理服务器200在数据库中注册物体布置矩阵和其他数据(步骤S230)。于是,管理服务器200向终端装置300a通知注册的完成(步骤S235)。
[0250]此后,数据分配请求再次从终端装置300a发送到管理服务器200,且响应从管理服务器200返回(步骤S240)。另外,数据分配请求也从终端装置300b发送到管理服务器200,且响应从管理服务器200返回(步骤S245)。在这一时间点上,由终端装置300a布置的虚拟物体被在管理服务器200的数据库中注册。因此,物体管理数据可从管理服务器200分配到终端装置300b。
[0251]由终端装置300a布置的虚拟物体在终端装置300a上显示(步骤S250)。另外,虚拟物体也使用从管理服务器200接收的物体管理数据在终端装置300b上显示(步骤S255)。在这一时间点上,终端装置300a在所显示的虚拟物体附近存在。因此,仅简单的信息能被添加到终端装置300b上的虚拟物体。
[0252]此后,假设终端装置300a已经移动到终端装置300b的屏幕外的地方。终端装置300b继续与管理服务器200通信(步骤S260)并显示虚拟物体(步骤S265)。在这一时间点上,终端装置300a不在所显示的虚拟物体附近存在。因此,终端装置300a上的详细信息可被添加到终端装置300b上的虚拟物体。
[0253]<4.结论〉
[0254]迄今为止,已经详细介绍了根据本公开的技术的两个实施例。根据这样的实施例,识别表示相对于参考环境中的终端的位置和姿态的、参考环境的位置和姿态的环境识别矩阵,且虚拟物体以基于所识别的环境识别矩阵的逆矩阵的位置和姿态被布置在参考环境中。因此,通过在三维空间内移动终端,用户能够容易且自由地在AR空间内布置虚拟物体。另外,由于虚拟物体的布置与参考环境相关联,布置在AR空间内的虚拟物体可在能够识别共同的环境的终端之间共享。
[0255]另外,当虚拟物体的布置在图像的成像方向上从由环境识别矩阵的逆矩阵表示的位置偏移时,用户能够迅速识别在屏幕上所布置的虚拟物体。因此,用户能够在观看虚拟物体的同时调节虚拟物体的布置。
[0256]另外,当虚拟物体的布置根据屏幕上的用户输入位置,在沿着屏幕的方向上从由环境识别矩阵的逆矩阵表示的位置偏移时,可以精细地调节虚拟物体的布置,而不移动终端。
[0257]虚拟物体的布置用物体布置矩阵表示,且虚拟物体可以以由物体布置矩阵以及最近的环境识别矩阵表示的位置和姿态在屏幕上显示。因此,即使是在终端和参考环境之间的位置关系改变时,虚拟物体可被显示为使得虚拟物体相对于参考环境的相对位置和姿态得到保持。因此,类似于像记事贴(sticky) —样将虚拟物体附加到AR空间的虚拟物体布置变得可能。
[0258]注意,本说明书中介绍的各个装置执行的一系列控制操作可使用软件、硬件或其组合中的任意一者实现。构成软件的程序事先存储在设置在各个装置内部或外部的存储介质中。于是,例如,各个程序在执行中被读入RAM(随机访问存储器),并由类似于CPU的处理器执行。
[0259]另外,代替在装置上实现的是,各个装置的逻辑功能的一部分可以通过位于远程位置的资产,在存在于云计算环境的装置上实现。在这种情况下,在逻辑功能之间交换的信息经由图9中示例性地示出的通信单元112在装置之间发送和接收。
[0260]尽管已经参照附图详细介绍了本公开的优选实施例,本公开不限于此。对于本领域技术人员来说,多种修改或变型显然是可行的,只要它们在所附权利要求或其等价内容的技术范围内。应当明了,这样的修改或变型也在本公开的技术范围内。
[0261]另外,本技术也可如下配置。
[0262]—种信息处理设备,包括:
[0263]具有电路的控制单元,该控制单元被配置为
[0264]接收信息处理设备的所检测的姿势的表示,以及
[0265]将虚拟物体以与信息处理设备的所检测的姿势相关的姿势附加到参考环境。
[0266]信息处理设备还可包括:
[0267]显示控制单元,其被配置为根据从虚拟物体到图像处理设备的距离来改变虚拟物体的显示属性。
[0268]信息处理设备的一个方面为,当所述距离比预定较长距离短时,显示控制单元将显示属性强调到更大的程度。
[0269]信息处理设备还可包括:
[0270]显示控制单元,其重新布置虚拟物体与另一虚拟物体的显示,使得在它们之间设置预定的显示空间,所述显示控制单元响应于预定条件得到满足来重新布置显示。
[0271]信息处理设备还可包括:
[0272]物体布置单元,其被配置为相对于参考环境针对多个图像连续地存储虚拟物体的物体布置矩阵。
[0273]信息处理设备的一个方面为:
[0274]当图像处理装置移动时,控制单元产生沿着图像处理装置的轨迹的虚拟物体的轨迹或者虚拟物体移动的动画。
[0275]信息处理设备还可包括:
[0276]通信接口,其将与参考环境相关的虚拟物体的信息提供给注册虚拟物体的信息的物体管理单元。
[0277]信息处理设备的一个方面为:
[0278]所述通信接口将所述信息发送到实施为在远程位置的云资源的物体管理单元。
[0279]信息处理设备的一个方面为:
[0280]虚拟物体的所述信息能够由另一信息处理设备检索,使得该另一信息处理设备能够共享虚拟物体并且在所述另一信息处理设备观察其中附加了虚拟物体的参考环境时显示虚拟物体。
[0281]信息处理设备还可包括:
[0282]显示控制器,其使得在参考环境内显示与另一个信息处理装置相关联的用户ID。
[0283]信息处理设备还可包括:
[0284]显示控制器,其使得与参考环境相关联地显示当前不存在于参考环境中的另一信息处理装置的用户ID。
[0285]信息处理设备的一个方面为:
[0286]另一信息处理装置过去位于参考环境中或者从参考环境之外的位置远程地观看参考环境。
[0287]信息处理设备的一个方面为:
[0288]用户ID包括关于与用户ID相关联的用户的个人信息。
[0289]信息处理设备还可包括:
[0290]通信接口,通过该通信接口共享与用户ID相关联的用户的社交媒体通信。
[0291]信息处理设备还可包括:
[0292]具有触摸操作的用户接口,该用户接口被配置为响应于触摸操作来触发控制单元附加虚拟物体。
[0293]信息处理设备还可包括:
[0294]具有点击与保持操作的用户接口,该用户接口被配置为响应于点击与保持操作来触发控制单元在参考环境中移动虚拟物体。
[0295]信息处理设备还可包括:
[0296]识别单元,其基于图像识别来检测所检测的姿势,所述所检测的姿势基于作为真实物体的一部分的参考平面。
[0297]信息处理设备的一方面为:
[0298]控制单元将虚拟物体布置为使得虚拟物体在预定位置处重叠在信息处理设备的位置和姿态上。
[0299]信息处理设备还可包括:
[0300]显示屏;以及
[0301]物体布置单元,其根据显示屏上用户指定的输入位置,将虚拟物体布置在沿着显示屏在一方向上偏移的位置处。
[0302]信息处理设备还可包括:
[0303]通信接口,其
[0304]从远程装置接收该远程装置的所检测的姿势的表示以及由远程装置提供的虚拟物体;以及
[0305]电路,其被配置为将虚拟物体以与远程装置的所检测的姿势相关的姿势附加到远程装置的参考环境。
[0306]一种非易失性计算机可读介质,其具有计算机可读指令,该指令在由处理电路执行时执行以下方法,所述方法包括:
[0307]接收信息处理设备的所检测的姿势的表示,以及
[0308]将虚拟物体以与信息处理设备的所检测的姿势相关的姿势附加到参考环境。
[0309]一种非易失性计算机可读介质,其具有计算机可读指令,该指令在由处理电路执行时执行以下方法,所述方法包括:
[0310]从远程装置接收该远程装置的所检测的姿势的表示以及由远程装置提供的虚拟物体,以及
[0311]由电路将虚拟物体以与远程装置的所检测的姿势相关的姿势附加到远程装置的参考环境。
[0312]一种图像处理装置,包括:
[0313]识别单元,其被配置为识别环境识别矩阵,环境识别矩阵表示相对于已经捕获图像的终端的位置和姿态的、在图像中出现的环境的位置和姿态;
[0314]计算单元,其被配置为计算环境识别矩阵的逆矩阵;以及
[0315]物体布置单元,其被布置为在环境中布置虚拟物体,虚拟物体具有基于环境识别矩阵的逆矩阵的位置和姿态。
[0316]信息处理设备的方面为:
[0317]物体布置单元与环境相关联地在存储介质中存储表示所布置的虚拟物体的位置和姿态的物体布置矩阵。
[0318]信息处理设备的方面为:
[0319]物体布置单元在从由环境识别矩阵的逆矩阵表示的位置在图像的成像方向上偏移的位置布置虚拟物体。
[0320]信息处理设备也可包括:
[0321]显示控制单元,其被配置为,当物体布置矩阵在第一时间点上被存储,且环境识别矩阵在第一时间点之后的第二时间点上新近被识别时,以由物体布置矩阵和新近识别的环境识别矩阵表示的位置和姿态在终端的屏幕上显示虚拟物体。
[0322]信息处理设备的方面为:
[0323]物体布置单元以根据屏幕上的用户输入位置在沿着终端的屏幕的方向上偏移的位置布置虚拟物体。
[0324]信息处理设备的方面为:
[0325]显示控制单元,当第一用户输入被检测到时,在终端的屏幕上显示虚拟物体,以及
[0326]物体布置单元,当第一用户输入之后的第二用户输入被检测到时,与环境相关联地在存储介质内存储由显示控制单元显示的虚拟物体的物体布置矩阵。
[0327]信息处理设备的方面为:
[0328]第一用户输入和第二用户输入分别对应于一系列的操作的开始和结束。
[0329]信息处理设备的方面为:
[0330]显示控制单元控制虚拟物体的显示,使得在第一用户输入被检测到的时间点上虚拟物体相对于终端的相对位置和姿态在第一用户输入被检测后、一直到第二用户输入被检测到的时间段内得以保持。
[0331]信息处理设备的方面为:
[0332]物体布置单元,当由第二用户输入被检测到的时间点的图像识别出新环境时,与环境相关联地在存储介质内存储表示所显示的虚拟物体的位置和姿态的新的物体布置矩阵。
[0333]信息处理设备的方面为:
[0334]物体布置单元,当第三用户输入被检测到时,与环境相关联地在存储介质内对于多个图像循序存储物体布置矩阵。
[0335]信息处理设备的方面为:
[0336]显示控制单元,使用所述循序存储的物体布置矩阵,在环境中显示虚拟物体的轨迹。
[0337]信息处理设备的方面为:
[0338]显示控制单元,使用循序存储的物体布置矩阵,显示虚拟物体在环境中移动的动画。
[0339]信息处理设备的方面为:
[0340]显示控制单元,由在不同时间点上存储的物体布置矩阵,内插不同的时间点之间的虚拟物体的位置和姿态。
[0341]信息处理设备的方面为:
[0342]终端为成像装置,
[0343]虚拟物体被布置在环境中,以记录图像的成像位置和成像姿态。
[0344]信息处理设备的方面为:
[0345]物体布置单元,当与捕获图像的指令对应的第四用户输入被检测到时,在存储介质中存储物体布置矩阵。
[0346]信息处理设备的方面为:
[0347]虚拟物体具有预定的参考平面,且
[0348]显示控制单元根据终端屏幕中是否出现虚拟物体的参考平面来改变虚拟物体的显不O
[0349]信息处理设备的方面为:
[0350]显示控制单元根据终端与虚拟物体之间的距离来改变虚拟物体的显示。
[0351]信息处理设备的方面为:
[0352]显示控制单元,当各自具有物体布置矩阵的多个虚拟物体存在时,重新布置所述多个虚拟物体,使得如果满足预定条件的话,虚拟物体在其间具有预定空间的情况下对齐。
[0353]信息处理设备的方面为:
[0354]识别单元、计算单元或物体布置单元中的至少一个由这样的装置实现:其在云计算环境而不是图像处理装置上存在。
[0355]一种图像处理方法,包括:
[0356]识别环境识别矩阵,其表示相对于已经捕获图像的终端的位置和姿态的、图像中出现的环境的位置和姿态;
[0357]计算环境识别矩阵的逆矩阵;以及
[0358]在环境中布置虚拟物体,虚拟物体具有基于环境识别矩阵的逆矩阵的位置和姿态。
[0359]一种程序,其使得计算机运行为:
[0360]识别单元,其被配置为识别环境识别矩阵,环境识别矩阵表示相对于已经捕获图像的终端的位置和姿态的、在图像中出现的环境的位置和姿态;
[0361]计算单元,其被配置为计算环境识别矩阵的逆矩阵;以及
[0362]物体布置单元,其被配置为在环境中布置虚拟物体,虚拟物体具有基于环境识别矩阵的逆矩阵的位置和姿态。
[0363]参考标号列表
[0364]100,300图像处理装置(终端装置)
[0365]120图像获取单元
[0366]325数据获取单元
[0367]130识别单元
[0368]140计算单元
[0369]150,350物体布置单元
[0370]355注册单元
[0371]180,380操作控制单元
[0372] 190,390显示控制单元
【权利要求】
1.一种信息处理设备,包括: 具有电路的控制单元,该控制单元被配置为 接收信息处理设备的所检测的姿势的表示,以及 将虚拟物体以与信息处理设备的所检测的姿势相关的姿势附加到参考环境。
2.根据权利要求1所述的信息处理设备,还包括: 显示控制单元,其被配置为根据从虚拟物体到图像处理设备的距离来改变虚拟物体的显示属性。
3.根据权利要求2所述的信息处理设备,其中 当所述距离比预定较长距离短时,显示控制单元将显示属性强调到更大的程度。
4.根据权利要求1所述的信息处理设备,还包括: 显示控制单元,其重新布置虚拟物体与另一虚拟物体的显示,使得在它们之间设置预定的显示空间,所述显示控制单元响应于预定条件得到满足来重新布置显示。
5.根据权利要求1所述的信息处理设备,还包括: 物体布置单元,其被配置为相对于参考环境针对多个图像顺序地存储虚拟物体的物体布置矩阵。
6.根据权利要求5所述的信息处理设备,其中 当图像处理装置移动时,控制单元产生沿着图像处理装置的轨迹的虚拟物体的轨迹或者虚拟物体移动的动画。
7.根据权利要求1所述的信息处理设备,还包括: 通信接口,其将与参考环境相关的虚拟物体的信息提供给注册虚拟物体的信息的物体管理单元。
8.根据权利要求7所述的信息处理设备,其中 所述通信接口将所述信息发送到实施为在远程位置的云资源的物体管理单元。
9.根据权利要求7所述的信息处理设备,其中 虚拟物体的所述信息能够由另一信息处理设备检索,使得该另一信息处理设备能够共享虚拟物体并且在所述另一信息处理设备观察其中附加了虚拟物体的参考环境时显示虚拟物体。
10.根据权利要求1所述的信息处理设备,还包括: 显示控制器,其使得在参考环境内显示与另一个信息处理装置相关联的用户ID。
11.根据权利要求1所述的信息处理设备,还包括: 显示控制器,其使得与参考环境相关联地显示当前不存在于参考环境中的另一信息处理装置的用户ID。
12.根据权利要求11所述的信息处理设备,其中 另一信息处理装置过去位于参考环境中或者从参考环境之外的位置远程地观看参考环境。
13.根据权利要求11所述的信息处理设备,还包括: 通信接口,通过该通信接口共享与用户ID相关联的用户的社交媒体通信。
14.根据权利要求1所述的信息处理设备,还包括: 具有触摸操作的用户接口,该用户接口被配置为响应于触摸操作来触发控制单元附加虚拟物体。
15.根据权利要求1所述的信息处理设备,还包括: 识别单元,其基于图像识别来检测所检测的姿势,所述所检测的姿势基于作为真实物体的一部分的参考平面。
16.根据权利要求1所述的信息处理设备,其中 控制单元将虚拟物体布置为使得虚拟物体在预定位置处重叠在信息处理设备的位置和姿态上。
17.根据权利要求1所述的信息处理设备,还包括: 显示屏;以及 物体布置单元,其根据显示屏上用户指定的输入位置,将虚拟物体布置在沿着显示屏在一方向上偏移的位置处。
18.—种信息处理设备,包括: 通信接口,其 从远程装置接收该远程装置的所检测的姿势的表示以及由远程装置提供的虚拟物体;以及 电路,其被配置为将虚拟物体以与远程装置的所检测的姿势相关的姿势附加到远程装置的参考环境。
19.一种非易失性计算机可读介质,其具有计算机可读指令,该指令在由处理电路执行时执行以下方法,所述方法包括: 接收信息处理设备的所检测的姿势的表示,以及 将虚拟物体以与信息处理设备的所检测的姿势相关的姿势附加到参考环境。
20.一种非易失性计算机可读介质,其具有计算机可读指令,该指令在由处理电路执行时执行以下方法,所述方法包括: 从远程装置接收该远程装置的所检测的姿势的表示以及由远程装置提供的虚拟物体,以及 由电路将虚拟物体以与远程装置的所检测的姿势相关的姿势附加到远程装置的参考环境。
【文档编号】G06F3/01GK104081317SQ201380007621
【公开日】2014年10月1日 申请日期:2013年1月29日 优先权日:2012年2月10日
【发明者】笠原俊一 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1