终端设备、对象控制方法以及程序的制作方法

文档序号:6366869阅读:105来源:国知局
专利名称:终端设备、对象控制方法以及程序的制作方法
技术领域
本公开涉及终端设备、对象控制方法以及程序。
背景技术
近年来,一种用于将附加信息添加到真实世界并将该附加信息呈现给用户的被称为增强现实(AR)的技术越来越受到关注。在AR技术中要呈现给用户的信息还被称为注释, 并且可以通过使用各种虚拟对象,诸如文本、图标、动画等将该信息可视化。AR技术还可用于涉及与用户的交互的应用。例如,对于意在提供信息的应用,诸如广告或导航,可以通过使用户操作AR虚拟对象来将满足用户需求的信息提供给用户。关于涉及AR虚拟对象的操作的文献例如有JP 2010-238098A。然而,在JP 2010-238098A描述的技术中,与真实世界的情况无关地确定用户所操作的虚拟对象的运动。因此,会降低用户的空间沉浸感,而用户的空间沉浸感正是AR技术的一个优点。因此,优选的是提供一种能够实现对AR虚拟对象的操作而基本上不削弱用户对AR空间的沉浸感的机制。根据本公开,能够实现对AR虚拟对象的操作而不削弱用户对AR空间的沉浸感。

发明内容
本发明的方面包括一种装置,该装置包括控制单元和存储指令的存储器。控制单元可以执行指令以检测真实空间图像中的关注对象、检测对象的取向和位置以及生成修改图像。所述生成可以包括基于所检测的取向和位置来确定真实空间图像的区域。控制单元还可以执行指令以在所述区域中显示对象的虚拟图像;基于检测到的用户输入来改变虚拟图像,经改变的虚拟图像被保持在所述区域内;以及显示所述修改图像。本发明的方面包括一种方法,该方法包括检测真实空间图像内的关注对象;检测该对象的取向和位置;以及生成修改图像。所述生成可以包括基于检测出的取向和位置来确定真实空间图像的区域;在所述区域中显示对象的虚拟图像;基于检测到的用户输入来改变虚拟图像,经改变的虚拟图像被保持在所述区域内;以及显示所述修改图像。本发明的方面包括一种存储有指令的有形地实施的非暂时性计算机可读介质,当所述指令被处理器执行时执行包括检测真实空间图像内的关注对象的方法的指令。该方法还可以包括检测对象的取向和位置以及生成修改图像。所述生成可以包括基于检测到的取向和位置来确定真实空间图像的区域。该方法还可以包括在所述区域中显示对象的虚拟图像;基于检测到的用户输入来改变虚拟图像,经改变的虚拟图像被保持在所述区域内;以及显示所述修改图像。


图I是用于描述根据实施例的终端设备的概要的说明图;图2是示出根据实施例的终端设备的硬件配置示例的框图;图3是示出根据实施例的终端设备的逻辑功能的配置示例的框图;
图4是用于描述图像识别的结果的示例的说明图;图5A是示出实施例中设置的限制区域的第一示例的说明图;图5B是示出实施例中设置的限制区域的第二示例的说明图;图5C是示出实施例中设置的限制区域的第三示例的说明图;图6是用于描述经由触摸传感器对虚拟对象的操作的说明图;图7是用于描述经由触摸传感器对虚拟对象的操作的另一说明图;图8是用于描述经由运动传感器对虚拟对象的操作的第一说明图;图9是用于描述经由运动传感器对虚拟对象的操作的第二说明图;图10是用于描述经由运动传感器对虚拟对象的操作的另一说明图;图11是用于描述经由运动传感器对虚拟对象的操作的另一说明图;图12是示出根据实施例的对象控制过程的流程示例的流程图;图13是示出根据实施例的图像获取过程的详细流程示例的流程图;图14A是用于描述虚拟对象的操作的第一场景的第一说明图;图14B是用于描述虚拟对象的操作的第一场景的第二说明图;图15A是用于描述虚拟对象的操作的第二场景的说明图;图15B是用于描述虚拟对象的操作的第二场景的另一说明图;图16A是用于描述虚拟对象的操作的第三场景的说明图;图16B是用于描述虚拟对象的操作的第三场景的另一说明图;以及图17是用于描述示出虚拟对象的可移动方向的辅助对象的说明图。
具体实施例方式下文中,将参照附图对本公开的优选实施例进行详细描述。应当注意的是,在本说明书和附图中,以相同的附图标记表示具有基本相同的功能和配置的结构单元,并且省略了对这些结构单元的重复说明。I.概要图I是用于描述在本说明书中公开的技术的实施例的概要的说明图。参照图1,示出了在真实空间I中的用户携带的终端设备100。终端设备100是用于向用户提供涉及与用户的交互的AR应用的设备。终端设备100例如可以是智能手机、PC(个人计算机)、PDA(个人数字助理)、游戏终端或便携式音乐播放器。真实空间I是能够在其中使用AR应用的空间的示例。在真实空间I中存在有真实对象12a、12b和12c。真实对象12a是公告板。符号标记13a附连在真实对象12a。真实对象12b是用于信息显示的布告栏。真实对象12c是广告海报。终端设备100获取通过拍摄这样的真实空间I而获得的图像(例如,“真实空间图像”或“真实空间的图像”)以作为输入图像。真实空间图像例如可以包括真实空间的多个图像。当真实空间图像包括周期性获得的真实空间的多个图像时,该真实空间图像被称为“实时图像”。要理解的是,本文中使用的术语“真实空间图像”包括真实空间的单个静止图像、真实空间的多个静止图像以及真实空间的实时图像。然后,终端设备100可以基于对输入图像中示出的真实对象的识别结果,将用于AR的虚拟对象叠加到输入图像上。经由虚拟对象呈现给用户的信息可以是任何信息,诸如导航信息、广告信息、商店信息、新闻、天气预报、铁路信息等。用户可以操作显示在终端设备100的屏幕上的虚拟对象以及交互式地使用AR应用。尽管未在图I中明确示出,可以在真实空间I中设置数据服务器,该数据服务器具有关于虚拟对象或要经由虚拟对象呈现给用户的信息的数据库。终端设备100可以通过例如无线连接与数据服务器通信,并且可以从数据服务器下载与终端设备100的位置相关联 的最新数据。要理解的是,本文中描述的任何操作(例如,图像处理等)可以在用户设备(例如,终端设备100)上本地执行和/或可以诸如通过远离用户设备的服务器(例如,“远程服务器”)来远程执行。2.根据实施例的终端设备的示例配置2-1.硬件配置图2是示出根据本实施例的终端设备100的硬件配置示例的框图。参照图2,终端设备100包括成像单元102、传感器单元104、输入单元106、存储单元108、显示单元112、通信单元114、总线118以及控制单元120。成像单元成像单元102是可以拍摄图像的相机模块。成像单元102通过使用诸如CXD (电荷耦合器件)或CMOS (互补金属氧化物半导体)的图像传感器来拍摄真实空间,并生成拍摄图像。成像单元102还可以包括用于视频输出的成像电路和用于静止图像输出的成像电路之一或两者。传感器单元传感器单元104可以包括一组传感器,以用于支持终端设备100的位置和姿态的识别以及用于检测对终端设备100的一部分用户输入。例如,传感器单元104可以包括GPS传感器,其接收GPS (全球定位系统)信号并测量终端设备100的纬度、经度和海拔。另外,传感器单元104可以包括定位传感器,其基于从无线接入点接收的无线电信号的强度来测量终端设备100的位置。另外,传感器单元104可以包括运动传感器,诸如测量终端设备100的三轴加速度的加速度传感器或测量倾斜角的陀螺仪传感器。输入单元输入单元106可以包括输入设备,用户使用该输入设备来操作终端设备100或将信息输入到终端设备100。通常,输入单元106包括检测用户对显示单元112的屏幕的触摸的触摸传感器。可替代地(或除此之外),输入单元106可以包括定位设备(pointingdevice),诸如鼠标或触摸板;手势识别模块,其识别图像中示出的用户的手势;或者视线检测模块,其检测佩戴头戴式显示器(HMD)的用户的视线方向。另外,输入单元106可以包括其它类型的输入设备,诸如键盘、小键盘、按钮、开关等。
存储单元存储单元108可以由诸如半导体存储器、硬盘等的存储介质构成,并存储用于通过终端设备100进行处理的程序和数据。要在存储单元108中存储的数据例如可以包括由成像单元102生成的图像数据和由传感器单元104生成的传感器数据。要在存储单元108中存储的数据例如还可以包括在图像识别期间终端设备100所使用的特征量数据、定义虚拟对象的对象数据等。显示单元显示单元112可以包括由IXD (液晶显示器),OLED (有机发光二极管)、CRT (阴极射线管)等构成的显示模块。显示单元112例如可以在屏幕上显示由成像单元102拍摄的 图像或由控制单元120实现的AR应用的图像。显示单元112可以是用户持有的终端设备100的屏幕或用户佩戴的透视式或非透视式HMD。通信单元通信单元114可以包括通信接口,其作为终端设备100与另外的设备(例如,上述数据服务器)的通信的中介。通信单元114可以支持任意无线通信协议或有线通信协提议,并建立与其它设备的通信连接。总线总线118可以将成像单元102、传感器单元104、输入单元106、存储单元108、显示单元112、通信单元114、以及控制单元120相互连接。控制单元控制单元120可以包括处理器,诸如CPU (中央处理单元)、DSP (数字信号处理器)等。控制单元120执行在存储单元108或另外的存储介质中存储的程序,并使下面描述的终端设备100的各种功能运行。2-2.功能配置图3是示出由图2中所示的终端设备100的存储单元108和控制单元120实现的逻辑功能的配置示例的框图。参照图3,终端设备100可以包括图像获取单元110、帧存储器112、图像识别单元130、特征量数据库(DB) 132、限制区域设置单元140、检测单元150、操作控制单元160、数据获取单元170、对象DB 172以及显示控制单元190。(I)图像获取单元图像获取单元110可以获取示出真实空间的图像以作为输入图像。在本实施例中,图像获取单元110支持两种输入模式实时模式和快照模式。在实时模式中,图像获取单元Iio从成像单元102相继获取视频输入的最新帧以作为输入图像。在快照模式中,数据获取单元110首先在快照模式的开始时刻使帧存储器112存储由成像单元102拍摄的快照。在成像单元102包括用于视频输入的成像电路和用于静止图像输入的成像电路的情况下,快照可以是由用于静止图像输入的成像电路拍摄的图像。然后,图像获取单元110连续地获取在帧存储器112中存储的快照以作为输入图像。可以通过经由输入单元106的特定用户输入来执行实时模式和快照模式之间的切换。图像获取单元110向图像识别单元130输出以此方式获取的输入图像。(2)图像识别单元图像识别单元130可以识别在从图像获取单元110输入的输入图像中示出何真实对象。图像识别单元130还识别在输入图像中示出的真实对象在真实空间中的位置和姿态。更具体地,图像识别单元130例如可以提取输入图像的特征量。然后,图像识别单元130对照预先存储在特征量DB132中的各种已知真实对象的特征量来检查所提取的特征量,并由此识别在输入图像中的示出的真实对象以及识别该真实对象的位置和姿态。图像识别单元130所使用的特征量提取算法例如可以是在“Fast KeypointRecognitionusing Random Ferns,,(Mustafa Oezuysal, IEEE Transactionson Pattern Analysis andMachine Intelligence, Vol. 32, Nr. 3, pp. 448-461, 2010 年 3 月)中描述的随机厳(RandomFerns)方法,或在“SURF SpeededUp Robust Features” (H. Bay, A. Ess, T. Tuytelaars和 L.V.Gool, Computer Vision and Image Understanding(CVIU), Vol. 110, No. 3,pp. 346—359,2008)中描述的SURF方法。可替代地,图像识别单元130可以通过使用附着到真实对象上的已知图示或符号(例如,一致地附着到公告板上的标记,诸如图I中示出的真实对象12a的符号标记13a)、人工标记(例如,条形码或快速响应(QR)码)、自然标记等来标识输入图像中的真实对象,并且可以基于在输入图像中的真实对象的尺寸和形状来识别其位置和姿态。图4是用于描述图像识别单元130的图像识别结果的示例的说明图。参照图4,示 出了要输入到图像识别单元130的作为示例的输入图像Iml。在输入图像Iml中示出的真实对象12a的位置Xa和姿态Wa、真实对象12b的位置Xb和姿态Wb、真实对象12c的位置X。和姿态W。被图像识别单元130识别为图像识别的结果。每个真实对象的位置X可以被三维全局坐标系(x,y,z)给定为每个真实对象的基准点位置。全局坐标系可以是指示以终端设备100的位置为原点的相对位置坐标的坐标系。可替代地,全局坐标系可以是在真实空间中固定地定义的坐标系。每个真实对象的姿态W可以被给定为指示每个真实对象相对于全局坐标系的旋转的旋转矩阵或四元数。可替代地,在本说明书中,为了说明的简单,每个真实对象的位置X和姿态W将被描述为独立变量。然而,每个真实对象的位置X和姿态W还可以整体地表达为具有四行四列的齐次变换矩阵,该齐次变化矩阵指示全局坐标系与每个真实对象的模型坐标系之间的变换。在这种情况下,每个真实对象的位置X和姿态W可以根据需要从该一个齐次变换矩阵中提取并被使用。图像识别单元130将以上述方式识别的在输出图像中示出的每个真实对象的标识符、位置和姿态输出到限制区域设置单元140、数据获取单元170和显示控制单元190。(3)限制区域设置单元限制区域设置单元140基于由图像识别单元130识别出的真实对象的姿态,在输入图像示出的真实空间中设置限制区域,该限制区域限制根据用户输入而被操作的虚拟对象的运动。限制区域是具有最多两个维度的,以线或面表示的区域。通常,限制区域设置单元140可以针对与可操作虚拟对象相关联的每个真实对象来设置限制区域。例如可以沿输入图像内被识别出的真实对象的表面来设置限制区域。在这种情况下,如果虚拟对象可以是基本上平面的对象,则虚拟对象可以被布置在相关联的真实对象的表面上并且可以沿该表面移动、缩放或滚动。限制区域例如也可以被设置在与输入图像内识别出的真实对象具有预定偏移量的位置处。此外,基本上平面的对象不限于具有完全平面的表面,而是可以包括具有一些凸起、不规则厚度等的平面对象。图5A是示出本实施例中由限制区域设置单元140在真实空间I中设置的限制区域的第一示例的说明图。参照图5A,示出了与真实对象12a相关联地设置的、作为示例的限制区域14a。限制区域14a是沿着真实对象12a的表面设置的平面区域。与真实对象12a相关联的虚拟对象的运动受限于这样的限制区域14a (例如,它不移动到限制区域14a外)。图5B是示出本实施例中由限制区域设置单元140在真实空间I中设置的限制区域的第二示例的说明图。参照图5B,示出了与真实对象12b相关联地设置的、作为示例的限制区域14b。限制区域14b是穿过真实对象12b的中间并沿着真实对象12b的竖直方向设置的线性区域。与真实对象12b相关联的虚拟对象的运动受限于这样的限制区域14b (例如,它只能沿着限制区域14b在竖直方向上滚动)。图5C是示出本实施例中由限制区域设置单元140在真实空间I中设置的限制区域的第三示例的说明图。参照图5C,示出了与真实对象12c相关联地设置的、作为示例的限制区域14c。限制区域14c是沿真实对象12c的表面设置的弯曲区域。如所描述的,限制区域的形状不限于平面的或直的,而可以是曲面、多边形、曲线形、曲折线形等。 (4)检测单元检测单元150检测用户输入,并将用户输入信息输出到操作控制单元160。要被检测单元150检测的用户输入例如可以包括对图2中示出的输入单元106的触摸传感器的各种触摸输入(例如,触摸、敲击、双击、拖动、轻击(flick)、双指缩小(pinch in)、双指放大(pinch out)等)。另外,要被检测单元150检测的用户输入例如还可以包括由图2中示出的传感器单元104的传感器组测量的终端设备100的运动(例如,倾斜、摆动等)。(5)操作控制单元操作控制单元160可以控制用户对终端设备100的屏幕上显示的虚拟对象的操作。更具体地,当检测单元150检测到用户输入时,操作控制单元160首先识别作为操作目标的虚拟对象。接着,操作控制单元160根据用户输入来确定所识别的虚拟对象在与对应于虚拟对象的真实对象相关联的限制区域内的运动。然后,操作控制单元160向显示控制单元190通知虚拟对象的已确定的运动,并使虚拟对象在屏幕上的布置位置、尺寸、滚动位置等被显示控制单元190改变。虚拟对象的运动,诸如移动、缩放、滚动等由此被可视化。(5-1)通过触摸传感器的用户输入图6和图7是用于描述受控于操作控制单元160的经由触摸传感器对虚拟对象的操作的说明图。参照图6,示出了设置在真实空间中的平面限制区域14以及成像设备的图像平面103。限制区域14的位置Xtl和姿态Wtl可以同与限制区域14相关联的真实对象的位置和姿态相同,或者可以与真实对象的位置和姿态具有预定偏移量。对触摸传感器的用户输入的输入位置Cin由在图像平面上103的相机坐标系(U,V,I)给出。操作控制单元160例如可以根据下面的针孔模式来计算限制区域14内对应于输入位置Cin的位置Xin0Xin = X0+ 入 W0A-1 (Cin-C0)(I)在公式⑴中,Ctl是图像平面上对应于限制区域14的基准位置Xtl的位置,矩阵A是相机内部参数,而、是归一化参数。根据成像单元102的特性例如通过下面的公式预先给出相机内部参数A。r-f-K f-KuO^A= 0V0(2)
sm
00I
VJ此处,f是焦距,0是图像轴的正交性(理想值为90度),KU是图像平面的竖直轴的比例(从真实空间的坐标系到相机坐标系的尺度变化率),Kv是图像平面的水平轴的比例,而(U。,V。)是图像平面的中心位置。例如,对于指定矢量的用户输入,诸如拖动,操作控制单元160可以基于对应于该矢量的起始点和终点的两个输入位置Cinl和Cin2例如通过下面的公式来确定虚拟对象在限制区域14内的运动矢量Vin。Vin = Xin2-Xinl = A WqA—1 (Cin2-Cinl)(3)在公式(3)中,Xinl和Xin2是限制区域中分别对应于输入位置Cinl和Cin2的位置。此外,即使在限制区域具有曲面形状或多边形形状的情况下,操作控制单元160也可以同样通过将用户输入的输入位置投影到限制区域来确定限制区域中对应于每个输入位置的位置。另外,如果限制区域是线性形状的,则操作控制单元160可以将用户输入的输入位置投影到该一维限制区域上。在通过根据上述公式(3)将用户输入的输入位置投影到限制区域来确定运动矢量Vin时,如果限制区域14与终端设备100之间的距离较大,则运动矢量Vin的大小会相对于用户输入变得过大。因此,操作控制单元160可以根据终端设备100与限制区域14之间的距离来改变运动矢量Vin的大小与屏幕上的输入矢量的大小的比例。这使得用户能够更容易地对虚拟对象的运动进行细微调整。输入矢量的大小和运动矢量Vin的大小例如分别对应于在屏幕上的拖动量和虚拟对象的运动量。例如,当在图7的示例中检测到从输入位置Cinl至Cin2的拖动的情况下,操作控制单元160计算限制区域14内分别对应于输入位置Cinl和Cin2的位置Xinl和Xin2。此处,终端设备100与限制区域14之间的距离D超过了预定阈值Th。因此,操作控制单元160通过将从位置Xinl到Xin2的运动矢量Vin乘以系数k(k< I)来计算虚拟对象的修正运动矢量V/ in。系数k例如可以是随终端设备100与限制区域14之间的距离的增加而减小的系数。(5-2)经由运动传感器的用户输入图8至图11是用于描述受控于操作控制单元160的经由运动传感器的虚拟对象操作的说明图。参照图8,示出了终端设备100的加速度传感器的传感器坐标系(al,a2,a3)。例如,al轴是沿终端设备100的屏幕的水平方向的轴,a2轴是沿屏幕的竖直方向的轴,a3轴是沿屏幕的深度方向的轴。此处例如假设用户在触摸输入位置Cin3的同时沿终端设备100的屏幕的水平方向向左摆动终端设备100。从而,在来自加速度传感器的传感器数据中产生对于al轴分量具有较大值的加速度矢量Ain3。当从检测单元150输入这样的传感器数据时,操作控制单元160计算限制区域内对应于加速度矢量Ain3的运动矢量。在图9的示例中,示出了如下情况通过将加速度矢量Ain3投影到限制区域14的平面来计算对应于加速度矢量Ain3的运动矢量Vin3。参照图10,示出了用于由终端设备100的陀螺仪传感器测量的倾斜角的传感器坐、标系(wl,w2,w3)。此处例如假设用户在触摸输入位置Cin4的同时绕垂直于终端设备100的屏幕的轴(沿wl方向)倾斜终端设备100。从而,在来自陀螺仪传感器的传感器数据中,wl轴分量的值增大。当从检测单元150输入这样的传感器数据时,操作控制单元160察觉到重力G的水平分量Gin4加载到终端设备100上。然后,操作控制单元160计算限制区域范围内对应于重力G的水平分量Gin4的运动矢量。在图11的示例中,示出了如下情况通过将水平分量Gin4投影到限制区域14的平面来计算对应于水平分量Gin4的运动矢量Vin4。此外,此处主要描述了经由触摸传感器或运动传感器的用户输入。然而,操作控制单元160也可以例如根据与上述示例不同类型的用户输入,诸如通过用户的预定手势,来控制虚拟对象的操作。可以根据由朝向用户的成像设备(不同于拍摄输入图像的设备)所拍摄的图像识别用户的手势。可替代地,例如可以根据由朝向用户视线方向的成像设备拍摄的图像识别用户的手势,如使用HMD的情况。
(5-3)操作目标的指定
操作控制单元160可以根据用户输入的输入位置来确定要作为操作目标的虚拟对象。例如,在要通过触摸传感器上的拖动起始(start ofdragging)或对触摸传感器的触摸来选择要作为操作目标的虚拟对象的情况下,其确定区域存在于连接输入位置和相机的焦点位置的投影线上的虚拟对象被确定为操作目标。在本说明书中,确定区域指的是屏幕上与虚拟对象相关联的区域,通过由用户指定该区域,使得虚拟对象被确定为目标对象。在投影线上存在多个虚拟对象的确定区域的情况下,可以使位置最靠近终端设备100的虚拟对象作为操作目标。虚拟对象的确定区域不需要必须与显示虚拟对象的区域重合。另外,操作控制单元160还可以与确定区域无关地,将终端100的屏幕上最大的被显示虚拟对象、最靠近终端设备100定位的虚拟对象、与终端设备100的屏幕平行对齐的虚拟对象等指定为操作目标。(5-4)虚拟对象的运动的示例在本实施例中,可以根据用户输入的类型和根据用户输入确定的限制区域内的位置或运动矢量来确定虚拟对象的运动。例如,假设虚拟对象是显示具体信息的基本上平面的对象。该具体信息例如可以是导航信息、广告信息、商店信息、新闻、天气预报、铁路信息等。在这种情况下,如果该基本上平面的虚拟对象例如被用户拖动,则操作控制单元160可以在三维空间内沿着根据拖动方向确定的限制区域内的运动矢量的方向来滚动该显示信息。滚动的量例如可以对应于运动矢量的大小。另外,如果该基本上平面的虚拟对象被用户双指缩小或双指放大,操作控制单元160可以根据对应于双指缩小或双指放大的限制区域内的运动矢量的大小来缩放(例如,缩小或放大)该显示信息。另外,如果在该基本上平面的虚拟对象已被指定的情况下点击屏幕上的任何位置,操作控制单元160可以将虚拟对象移动到限制区域内对应于该点击位置的位置。另外,如果在该基本平面的虚拟对象已被指定的情况下在终端设备100上施加加速度,则操作控制单元160可以在三维空间内沿着限制区域内对应于已发生的加速度矢量的运动矢量的方向来滚动该显示信息。将在后面参照附图进一步描述虚拟对象的这种运动的示例。此外,虚拟对象不限制于上述示例,并且其例如可以是三维对象(用于导航的公告板、做广告的商品的多边形等)。另外,在这种情况下,可以根据用户输入的类型以及根据用户输入而确定的限制区域内的位置和运动矢量来确定虚拟对象的位置、尺寸等。(6)数据获取单元数据获取单元170可以获取关于被显示控制单元190叠加到输入图像上的虚拟对象的数据。要被数据获取单元170获取的数据包括定义虚拟对象的对象数据。对象数据例如可以定义虚拟对象的类型、相关联的真实对象的标识符、相对于真实对象的相对显示位置、呈现给用户的信息的内容等。呈现给用户的信息的内容可以是文本格式或图像格式的。数据获取单元170也可以获取预先存储在对象DB 172中的对象数据。可替代地,数据获取单元170可以经由通信单元114从安装在真实空间中的数据服务器获取最新的对象数据。要由数据服务器提供的对象数据可以根据由传感器单元104测量的终端设备100的位置而不同。数据获取单元170将上述对象数据输出到显示控制单元190。(7)显示控制单元显示控制单元190通过将虚拟对象叠加到输入图像来生成输出图像。具体地,例 如,与被图像识别单元130识别为在输入图像中示出的真实对象相关联的虚拟对象的对象数据被从数据获取单元170输出到显示控制单元190。显示控制单元190基于所述的对象数据生成虚拟对象的对象图像。由显示控制单元190生成的对象图像通常是通过将虚拟地布置在三维真实空间中的虚拟对象(例如根据上述针孔方法)投影到终端设备100的图像平面而获得的图像。可以根据相关联的真实对象的位置和姿态以及对象数据的定义来确定虚拟对象在真实空间中的位置和姿态。然后,显示控制单元190通过将所生成的输出图像输出到显示单元112来显示AR应用的图像。另外,显示控制单元190根据由操作控制单元160确定的虚拟对象的运动来改变虚拟对象的状态(位置、姿态、尺寸、滚动位置等)。例如,在实时模式中,显示控制单元190将其状态随时根据用户输入而变的虚拟对象的对象图像叠加到由图像获取单元110相继获取的输入图像中的每个上。虚拟对象的运动可以由此被表达到实时更新的输出图像中。另外,在快照模式中,显示控制单元190针对多个帧复制由图像获取单元110从帧存储器112获取的输入图像的快照,并将表达虚拟对象的运动的对象图像叠加到每个复制的快照上。虚拟对象的运动由此被表达在静止图像的快照上。另外,显示控制单元190还可以将指示虚拟对象在限制区域内的可移动方向的辅助对象添加到输入图像上。另外,显示控制单元190还可以将指示每个虚拟对象的确定区域的辅助对象叠加到输入图像上。将在后面参照附图描述要被显示控制单元190显示的辅助对象的示例。3.过程的流程图12是示出根据本实施例的终端设备100的对象控制过程的流程示例的流程图。参照图12,首先,图像获取单元110获取由成像单元102拍摄的输入图像或存储在帧存储器112中的输入图像(步骤S102)。接着,图像识别单元130可以识别所获取的输入图像中示出的真实对象以及该真实对象的位置和姿态(步骤S104)。接着,数据获取单元170从对象DB 172或外部数据服务器获取关于所识别的真实对象的对象数据(步骤S106)。接着,操作控制单元160确定检测单元150是否已检测到用于操作虚拟对象的用户输入(步骤S108)。此处,在检测单元150检测到用户输入的情况下,过程进行到步骤Slioo另一方面,在没有检测到用户输入的情况下,过程进行到步骤S118。在检测到用户输入的情况下,操作控制单元160基于基准,诸如用户输入的输入位置、屏幕上的虚拟对象的大小、虚拟对象与终端设备100之间的距离等,来识别作为操作目标的虚拟对象(步骤S110)。接着,操作控制单元160识别由限制区域设置单元140设置的与已被识别的虚拟对象相关联的限制区域(步骤S112)。接着,操作控制单元160计算限制区域内对应于用户输入的输入位置或输入矢量的三维位置或矢量(步骤S114)。接着,操作控制单元160基于计算处的限制区域内的位置或矢量以及用户输入的类型来确定作为操作目标的虚拟对象的运动(步骤SI 16)。在步骤S118中,显示控制单元190通过将虚拟地设置在真实空间中的虚拟对象投影到图像平面来生成虚拟对象的对象图像,并将生成的对象图像叠加到输入图像上(步骤S118)。此处虚拟对象的状态是指虚拟对象没有被操作的初始状态(该初始状态可以由对象数据来定义)。另一方面,在虚拟对象被操作的情况下,虚拟对象的状态为已经根据由操作控制单元160确定的运动而改变的状态。接着,显示控制单元190还将指示每个虚拟对象在限制区域内的可移动方向的辅助对象叠加到输入图像上(步骤S120)。然后,已叠加了 虚拟对象和辅助对象的输出图像被显示在屏幕上(步骤S122)。在实时模式中,可以针对成像单元102所拍摄的每个帧重复图12中示出的对象控制过程。另外,在快照模式中,可以将图像获取单元110从帧存储器112获取的快照用作输入图像以执行对象控制过程。在快照模式中,可以通过重复执行针对一个用户输入(或一个行程(one-stroke))的从步骤S118至步骤S122的过程而将虚拟对象的运动表达成动画。图13是示出图12的步骤S102处的图像获取过程的详细流程的示例的流程图。参照图13,图像获取单元110首先确定当前模式是快照模式还是实时模式(步骤S132)。如果当前模式在此处是实时模式,则图像获取单元110从成像单元102获取最新输入图像(步骤S134)。另一方面,如果当前模式是快照模式,则图像获取单元110确定是否新获取快照(步骤S136)。例如,在快照模式是新开始的或者用户指示快照进行刷新的情况下,图像获取单元110确定要新获取快照。如果在此处确定要新获取快照,则图像获取单元110从成像单元102获取最新输入图像(步骤S138),并使帧存储器112将所获取的输入图像存储为快照(步骤S140)。另一方面,如果确定不需要新获取快照,则图像获取单元110获取存储在帧存储器112中的快照作为输入图像(步骤S142)。4.操作场景接着,将描述可以使用上述终端设备100来实现虚拟对象的操作的三个说明性场

o4-1.第一场景图14A和图14B是用于描述关于虚拟对象的操作的第一场景的说明图。参照图14A,终端设备100的屏幕上显示了示出存在于真实空间中的真实对象12d的图像。真实对象12d是安装在车站的信息板。当图像识别单元130识别出输入图像中示出有真实对象12d时,终端设备100的数据获取单元170获取与真实对象12d相关联的虚拟对象16d的对象数据。虚拟对象16d例如是显示车站地图、出口信息、时刻表等的基本上平面的对象。在图14A的示例中,仅虚拟对象16d的一部分叠加到真实对象12d上。虚拟对象16d的限制区域例如是沿着真实对象12d的表面的区域。限制区域设置单元140基于真实对象12d的位置和姿态来设置虚拟对象16d的限制区域。然后,例如假定用户向终端设备100的屏幕的左上侧拖动真实对象12d(参见附图中的箭头)。参照图14B,作为上述拖动的结果,虚拟对象16d朝向左后方滚动。然后,虚拟对象16d的在拖动之前没显示的时间表部分被叠加到真实对象12d上。4-2.第二场景图15A和图15B是用于描述关于虚拟对象的操作的第二场景的说明图。参照图15A,在终端设备100的屏幕上显示了示出存在于真实空间中的真实对象12e的图像。真实对象12e是示出地图的信息板。当图像识别单元130识别出输入图像中示出有真实对象12e时,终端设备100的数据获取单元170获取与真实对象12e相关联的虚拟对象16e的对象数据。虚拟对象16e例如是显示地图信息的基本上平面的对象。地图信息的初始显示内容可以与在真实对象12e上实际示出的地图相同。虚拟对象16e的限制 区域例如是沿着真实对象12e的表面的区域。限制区域设置单元140基于真实对象12e的位置和姿态来设置虚拟对象16e的限制区域。然后,例如可以假设用户在终端设备100的屏幕上的地图部分处执行双指放大。参照图15B,作为上述双指放大的结果,虚拟对象16e显示的地图被放大。此外,地图不是简单地在屏幕上放大,而是根据真实对象12e的姿态,在沿着真实对象12e的表面的平面内放大。因此,例如,操作控制单元160可以在地图部分执行双指缩小或双指放大的情况下在限制区域内缩放地图,并且可以在除了地图部分之外的部分执行双指缩小或双指放大的情况下缩放整个图像并同时保持其平行于图像平面。4-3.第二场景参照图16A,再一次示出终端设备100的屏幕上显示的真实对象12d和虚拟对象16d,如图14B的示例所示。此处,例如假定用户将终端设备100的主体向右倾斜。参照图16B,作为终端设备100被倾斜的结果,虚拟对象16d向右前方滚动。在图16B的示例中,虚拟对象16d的被叠加到真实对象12d上的时刻表部分已移出屏幕,而虚拟对象16d的出口信息部分被叠加到真实对象12d上。如这些场景的示例中,根据本实施例,虚拟对象不是简单地根据用户输入在屏幕内上下移动以及左右移动,而是可以根据相关联的真实对象的姿态,以如同其在三维真实空间中移动的方式来进行操作。由此可以使得用户能够操作AR虚拟对象而不削弱用户感受到的处于增强真实空间中的感觉,即,用户在AR空间中的沉浸感。此外,主要描述了将虚拟对象叠加到输入图像中示出的真实对象的表面的示例,但是虚拟对象可以被叠加到与真实对象的表面分离的位置。另外,显示控制单元190可以根据输入图像的纹理等来识别叠加虚拟对象的表面。例如,输入图像中的具有均匀纹理的平面,诸如建筑物的墙壁、通道的地面等,可以被识别为要叠加虚拟对象的表面。4-4.辅助对象的显示图17是用于描述指示虚拟对象的可移动方向的辅助对象的说明图。参照图17,在终端设备100的屏幕上显示了三个真实对象12a、12b和12c。虚拟对象16a被叠加在真实对象12a上。在虚拟对象16a的左端显示了指示虚拟对象16a可以向左前方滚动的辅助对象17a (阴影渐变)。另外,虚拟对象16b被叠加在真实对象12b上。在虚拟对象16b的下方显示了指示虚拟对象16b可以向下滚动的辅助对象17b (箭头)。虚拟对象16c被叠加在真实对象12c上。表示虚拟对象16c可以沿着真实对象12c的表面放大的辅助对象17c (三角形标签)被叠加在虚拟对象16c的四个角上。如所描述的,通过显示与虚拟对象相关联的、指示虚拟对象的可移动方向的辅助对象,用户可以容易地掌握可如何操作虚拟对象。另外,在图17的示例中,虚拟对象16a是最靠近终端设备100定位的虚拟对象。在虚拟对象16a上叠加有作为粗框的辅助对象18a。辅助对象18a是指示所谓焦点的对象。当在没有任何虚拟对象被用户指定的情况下执行了特定用户输入时,操作控制单元160可以将聚焦的虚拟对象指定为操作目标。上面已参照图I至图17对根据实施例的终端设备100进行了详细描述。根据该 实施例,在基于输入图像中识别出的真实对象的姿态而在真实空间中设置的限制区域内确定根据用户输入而操作的AR虚拟对象的运动。因此,并不是不考虑真实世界情况地操作虚拟对象,而是可以根据存在于真实空间中的真实对象的姿态,以如同其三个方向地移动的方式进行操作。从而,在对虚拟对象进行操作时,可以实现自然的操作和显示,而不削弱用户在AR空间中的沉浸感。另外,根据本实施例,可以沿着输入图像中被识别出的真实对象的表面来设置限制区域。另外,虚拟对象是显示具体信息的基本上平面的对象,并且它可以被移动、缩放或沿着真实对象的表面滚动。因此,使得用户能够以真实的感觉自由地观看丰富的信息,就像直接操作在真实世界中示出在真实对象上的信息。另外,本说明书中描述的终端设备100的过程可以通过使用任何软件、硬件或软件和硬件的组合来实现。构成软件的程序例如可以预先存储到设置在设备内部或外部的存储介质中。每个程序在执行时被加载到RAM (随机存取存储器)中,并且例如由诸如CPU (中央处理单元)的处理器来执行。本领域的普通技术人员应当理解的是,可以根据设计需要和其它因素而进行各种修改、组合、子组合和替换,只要它们在所附权利要求或它们的等同物的范围内即可。此外,本技术还可以被如下配置。(I) 一种终端设备,包括图像获取单元,用于获取示出真实空间的输入图像;显示控制单元,用于将虚拟对象叠加到所述输入图像上并显示所述虚拟对象;检测单元,用于检测用户输入;以及操作控制单元,用于确定根据所述用户输入而被操作的所述虚拟对象在区域内的运动,其中所述区域具有最多两个维度,并且基于在所述输入图像内识别出的真实对象的姿态而被设置在所述真实空间中。(2)根据⑴所述的终端设备,其中,所述区域被沿着所述输入图像内被识别出的所述真实对象的表面设置。(3)根据⑵所述的终端设备,其中所述虚拟对象是显示特定信息的基本上平面的对象;并且其中所述虚拟对象的运动是所述虚拟对象的移动、缩放或滚动。
(4)根据⑵或(3)所述的终端设备,其中所述检测单元检测对显示所述虚拟对象的屏幕的用户输入;并且其中所述操作控制单元计算所述区域内对应于所述屏幕上的输入位置的位置,并基于所计算的位置确定所述虚拟对象的运动。(5)根据⑷所述的终端设备,其中所述检测单元将所述屏幕上的拖动检测为所述用户输入;并且其中所述操作控制单元根据所述终端设备与所述区域之间的距离来改变所述虚拟对象的移动的量与所述屏幕上的拖动量之比。
(6)根据⑵或(3)所述的终端设备,其中所述检测单元使用传感器来检测所述终端设备的运动以作为所述用户输入,并且其中所述操作控制单元计算所述区域内的与指示所述终端设备的运动的第一矢量相对应的第二矢量,并且基于所计算的第二矢量来确定所述虚拟对象的运动。(7)根据⑴至(6)中任一项所述的终端设备,其中所述显示控制单元还将指示所述虚拟对象在所述区域内的可移动方向的辅助对象叠加到所述输入图像上。(8)根据⑴至(7)中任一项所述的终端设备,其中所述图像获取单元在检测到预定用户输入的情况下获取由成像设备拍摄的快照以作为所述输入图像,并且其中所述显示控制单元将所述虚拟对象表达在所述快照上。(9) 一种由终端设备执行的对象控制方法,所述终端设备获取示出真实空间的输入图像并将虚拟图像叠加到所述输入图像上并显示所述虚拟对象,所述方法包括检测用户输入,以及确定根据所述用户输入而被操作的所述虚拟对象在区域内的运动,其中所述区域具有最多两个维度,并且基于在所述输入图像中识别出的真实对象的姿态而被设置在所述真实空间中。(10) 一种用于使控制终端设备的计算机用作如下单元的程序,所述终端设备获取示出真实空间的输入图像并将虚拟对象叠加到所述输入对象上并显示所述虚拟对象检测单元,用于检测用户输入;以及操作控制单元,用于确定根据所述用户输入而被操作的所述虚拟对象在区域内的运动,其中所述区域具有最多两个维度,并且基于在所述输入图像内识别出的真实对象的姿态而被设置在所述真实空间中。
权利要求
1.一种装置,包括 存储指令的存储器;以及 控制单元,其执行所述指令,以 检测真实空间图像中的关注对象; 检测所述对象的取向和位置; 生成修改图像,所述生成包括 基于检测到的取向和位置来确定所述真实空间图像的区域; 在所述区域中显示所述对象的虚拟图像; 基于检测到的用户输入来改变所述虚拟图像,经改变的虚拟图像被保持在所述区域内;以及 显示所述修改图像。
2.根据权利要求I所述的装置,其中,确定所述真实空间图像的区域还包括 请求远程服务器确定所述真实空间图像的所述区域;以及 从所述远程服务器接收对所确定的区域的指示。
3.根据权利要求I所述的装置,其中,检测关注对象还包括 请求远程服务器检测所述关注对象;以及 从所述远程服务器接收对检测到的关注对象的指示。
4.根据权利要求I所述的装置,其中,检测所述对象的取向和位置还包括 请求远程服务器检测所述对象的取向和位置;以及 从所述远程服务器接收对所述对象的检测到的取向和位置的指示。
5.根据权利要求I所述的装置,其中,基于检测到的用户输入来改变所述虚拟图像还包括 检测所述用户输入; 请求远程服务器基于所述检测到的用户输入来改变所述虚拟图像;以及 从所述远程服务器接收对经改变的所述虚拟图像的指示。
6.根据权利要求I所述的装置,其中,确定所述真实空间图像的区域还包括 基于所述检测到的取向和位置来确定所述关注对象的表面;以及 将所述区域投影到所确定的表面的一部分上。
7.根据权利要求I所述的装置,其中, 所述虚拟图像包括信息的集合;并且 显示所述虚拟图像还包括在所述区域中显示所述信息的页面。
8.根据权利要求7所述的装置,其中,基于检测到的用户输入来改变所述虚拟图像包括滚动所述信息的集合的所述页面。
9.根据权利要求7所述的装置,其中,基于检测到的用户输入来改变所述虚拟图像包括缩放所述信息的集合的所述页面的至少之一。
10.根据权利要求I所述的装置,其中, 所述用户输入指定输入位置;并且 改变所述虚拟图像还包括将所述输入位置投影到所述虚拟图像上。
11.根据权利要求10所述的装置,其中,所投影的输入位置选择所述虚拟图像的一部分。
12.根据权利要求11所述的装置,其中,对所述虚拟图像的所述部分的选择为所述用户提供从服务器接收的附加信息。
13.根据权利要求10所述的装置,其中,所述用户经由触控板来指定所述输入位置。
14.根据权利要求I所述的装置,其中,所述指令还包括用于以下处理的指令 基于所述区域来确定所述虚拟对象的可能的改变;以及 将对所述可能的改变的指示叠加到所述虚拟图像上。
15.根据权利要求14所述的装置,其中,所述可能的改变包括以下的至少之一调整所述虚拟图像的大小;移动所述虚拟图像;以及改变所述虚拟图像中显示的信息。
16.根据权利要求I所述的装置,其中,所述修改图像还包括真实空间的静止图像。
17.根据权利要求16所述的装置,其中,所述真实空间图像选自真实空间的多个候选静止图像。
18.根据权利要求I所述的装置,其中,所述真实空间图像为真实空间的实时图像。
19.一种方法,包括 检测真实空间图像中的关注对象; 检测所述对象的取向和位置; 生成修改图像,所述生成包括 基于检测到的取向和位置来确定所述真实空间图像的区域; 在所述区域内显示所述对象的虚拟图像; 基于检测到的用户输入来改变所述虚拟图像,将经改变的虚拟图 像保持在所述区域内;以及 显示所述修改图像。
20.一种有形地实施的非暂时性计算机可读介质,所述计算机可读介质存储有指令,所述指令当被处理器执行时执行如下方法,所述方法包括 检测真实空间图像中的关注对象; 检测所述对象的取向和位置; 生成修改图像,所述生成包括 基于检测到的取向和位置来确定所述真实空间图像的区域; 在所述区域内显示所述对象的虚拟图像; 基于检测到的用户输入来改变所述虚拟图像,将经改变的虚拟图像保持在所述区域内;以及 显示所述修改图像。
全文摘要
公开了一种装置,该装置包括存储指令的存储器以及控制单元,该控制单元执行指令以检测真实空间图像中的关注对象、检测该对象的取向和位置以及生成修改图像。所述生成包括基于检测出的取向和位置来确定真实空间图像的区域。该指令还可以包括执行如下功能的指令在所述区域中显示所述对象的虚拟图像;基于检测到的用户输入来改变所述虚拟图像,经改变的虚拟图像被保持在所述区域内;以及显示所述修改图像。
文档编号G06F3/048GK102750079SQ20121008057
公开日2012年10月24日 申请日期2012年3月23日 优先权日2011年3月31日
发明者笠原俊一 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1