CN110168476A - 增强现实对象操纵 - Google Patents

增强现实对象操纵 Download PDF

Info

Publication number
CN110168476A
CN110168476A CN201780082612.1A CN201780082612A CN110168476A CN 110168476 A CN110168476 A CN 110168476A CN 201780082612 A CN201780082612 A CN 201780082612A CN 110168476 A CN110168476 A CN 110168476A
Authority
CN
China
Prior art keywords
physical element
virtual objects
instruction
image
described image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780082612.1A
Other languages
English (en)
Other versions
CN110168476B (zh
Inventor
O·艾格利
D·B·以斯拉
A·J·麦克菲
Q·潘
E·扎克
S·E·黑尔
R·C·墨菲
D·萨加尔
P·于
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.)
Snapple Co
Original Assignee
Snapple Co
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
Priority claimed from US15/581,994 external-priority patent/US10593116B2/en
Application filed by Snapple Co filed Critical Snapple Co
Priority to CN202211271509.0A priority Critical patent/CN115641424A/zh
Publication of CN110168476A publication Critical patent/CN110168476A/zh
Application granted granted Critical
Publication of CN110168476B publication Critical patent/CN110168476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Landscapes

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

Abstract

本公开的实施例通过促进与真实世界对象和环境的图像结合显示的虚拟内容的操纵来改进计算机成像软件和系统的功能。本公开的实施例允许不同的虚拟对象移动到不同的物理表面上,以及以其它方式来操纵。

Description

增强现实对象操纵
优先权
本申请要求2017年4月28日提交的美国专利申请No.15/581,994的优先权,该申请要求2017年1月23日提交的美国专利临时申请No.62/449,451的优先权;本申请还要求2017年1月9日提交的美国临时专利申请No.62/444,218的优先权,其全部内容通过引用结合于此。
背景技术
增强现实(AR)是指用计算机生成的图形内容补充真实世界对象和环境的视图。本公开的实施例尤其解决了在使用诸如用户的手的不同物理元素的AR环境中操纵虚拟3D对象。
附图说明
在附图(其并不需要按比例绘制)中,相同的附图标记可以描述不同图中的类似组件。具有不同字母后缀的相似数字可表示类似组件的不同实例。在附图的图中,通过示例而非限制的方式示出了一些实施例,其中:
图1是示出用于在网络上交换数据(例如,消息和相关联的内容)的示例性消息传递系统的框图。
图2是根据示例性实施例的示出关于消息传递系统的进一步细节的框图。
图3是示出根据各种示例性实施例的可在消息传递服务器系统的数据库中存储的数据的示意图。
图4是根据本公开的各个方面的示例性过程的流程图。
图5A-5F是示出图4中描述的方法的各方面的屏幕截图。
图6是示出可与在此所描述的各种硬件架构结合使用的代表性软件架构的框图。
图7是示出根据一些示例性实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行在此所讨论的任何一种或多种方法的机器的组件的框图。
具体实施方式
以下描述包括体现本公开的说明性实施例的系统、方法、技术、指令序列和计算机程序产品。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明主题的各种实施例的理解。然而,对于本领域技术人员显而易见的是,本发明主题的实施例也可以在没有这些具体细节的情况下实践。通常,公知的指令实例、协议、结构和技术不必详细示出。
此外,本公开的实施例通过促进与真实世界对象和环境的图像结合显示的虚拟内容的操纵来改进计算机成像软件和系统的功能。本公开的实施例允许不同的虚拟对象移动到不同的物理表面上以及以其它方式进行操纵。
图1是示出用于在网络上交换数据(例如,消息和相关联内容)的消息传递系统100的示例的框图。消息传递系统100包括多个客户端设备102,每个客户端设备102托管包括消息传递客户端应用104的多个应用。每个消息传递客户端应用104经由网络106(例如,因特网)通信地耦接到消息传递客户端应用104的其它实例和消息传递服务器系统108。如在此所使用的,术语“客户端设备”可以是指与通信网络(诸如网络106)连接以从一个或多个服务器系统或其它客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、笔记本计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、游戏控制台、机顶盒、或用户可用于访问网络的任何其它通信设备。
在图1中所示的示例中,每个消息传递客户端应用104能够经由网络106与另一消息传递客户端应用104和消息传递服务器系统108通信和交换数据。在消息传送客户端应用104之间以及在消息传送客户端应用104和消息传递服务器系统108之间交换的数据包括功能(例如,调用功能的命令)以及有效载荷数据(例如,文本、音频、视频或其它多媒体数据)。
网络106可包括或与以下网络结合操作:自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或两个以上此类网络的组合。例如,网络或网络的一部分可以包括无线或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其它类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线服务(GPRS)技术、GSM演进增强型数据速率(EDGE)技术、包括3G、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准的第三代合作伙伴计划(3GPP)、由各种标准制定组织定义的其它标准、其它远程协议、或其它数据传输技术。
消息传递服务器系统108经由网络106向特定消息传递客户端应用104提供服务器侧功能。虽然消息传递系统100的某些功能在此被描述为由消息传递客户端应用104或由消息传递服务器系统108来执行,但是可以理解,消息传递客户端应用104或消息传递服务器系统108内的某些功能的位置是设计选择。例如,在技术上优选的可能是初始在消息传递服务器系统108内部署某些技术和功能,但稍后将该技术和功能迁移到其中客户端设备102具有足够处理能力的消息客户端应用104。
消息传递服务器系统108支持提供给消息传递客户端应用104的各种服务和操作。这种操作包括向消息传递客户端应用104发送数据、从消息传递客户端应用104接收数据、以及处理由消息传递客户端应用104生成的数据。该数据可包括例如消息内容、客户端设备信息、地理位置信息、媒体注释和覆盖、消息内容持久性条件、社交网络信息、以及现场事件信息。消息传递系统100内的数据交换通过经由消息传递客户端应用104的用户接口(UI)可用的功能来调用和控制。
现在转到消息传递服务器系统108,应用程序接口(API)服务器110耦接到应用服务器112,并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器118,该数据库服务器118便于访问数据库120,在该数据库120中存储与由应用服务器112处理的消息相关联的数据。
具体涉及应用程序接口(API)服务器110,该服务器在客户端设备102和应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器110提供可由消息传递客户端应用104调用或查询的一组接口(例如,例程和协议),以便调用应用服务器112的功能。应用程序接口(API)服务器110显露由应用服务器112支持的各种功能,包括账户注册、登录功能、经由应用服务器112从特定消息传递客户端应用104向另一个消息传递客户端应用104发送消息、从消息传递客户端应用104向消息传递服务器应用114发送电子媒体文件(例如,电子图像或视频)、以及用于另一消息传递客户端应用104的可能访问、设置媒体数据(例如,故事)的集合、取得客户端设备102的用户的朋友列表、取得这种集合、取得消息和内容、向社交图添加和删除朋友、朋友在社交图内的位置、打开应用事件(例如,与消息传递客户端应用104有关的)。
应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116和社交网络系统122。消息传递服务器应用114实现多种消息处理技术和功能,特别是与在从多个消息传递客户端应用104的实例接收的消息中包括的内容(例如,包括图像和视频剪辑的文本和多媒体内容)的聚合和其它处理有关的技术和功能。如将进一步详细描述的,来自多个源的文本和媒体内容可以聚合成内容集合(例如,称为故事或图库)。然后,由消息传递服务器应用114使这些集合可用于消息传递客户端应用104。其它处理器和存储器密集的数据处理也可鉴于用于这种处理的硬件要求由消息传递服务器应用114在服务器侧执行。
应用服务器112还包括图像处理系统116,该图像处理系统116专用于执行各种图像处理操作,通常对于在消息传递服务器应用114处在消息的有效载荷内接收的电子图像或视频。
社交网络系统122支持各种社交网络功能服务,并使这些功能和服务可用于消息传递服务器应用114。为此,社交网络系统122维持和访问数据库120内的实体图304。由社交网络系统122支持的功能和服务的示例包括消息传递系统100中与特定用户有关系或特定用户“关注”的其它用户的标识,以及其它实体的标识和特定用户的兴趣。
应用服务器112通信地耦接到数据库服务器118,数据库服务器118便于访问其中存储有与由消息传递服务器应用114处理的消息相关联的数据的数据库120。
一些实施例可以包括一个或多个可穿戴设备,诸如具有与客户端设备102集成、通信或耦接的集成照相机的挂件。任何期望的可穿戴设备可与本公开的实施例结合使用,诸如手表、眼镜、护目镜、头戴式耳机、腕带、耳塞、衣服(诸如具有集成电子器件的帽子或夹克)、夹式电子设备、或任何其它可穿戴设备。
图2是示出根据示例性实施例的关于消息传递系统100的进一步细节的框图。具体地,所示的消息传递系统100包括消息传递客户端应用104和应用服务器112,应用服务器112进而包含多个子系统,即短时(ephemeral)定时器系统202、集合管理系统204和注释系统206。
短时定时器系统202负责执行对由消息传递客户端应用104和消息传递服务器应用114允许的内容的临时访问。为此,短时定时器系统202包括多个定时器,这些定时器基于与消息或消息集合(例如,故事)相关联的持续时间和显示参数,选择性地显示并经由消息传递客户端应用104启用对消息和相关联内容的访问。
集合管理系统204负责管理媒体集合(例如,文本、图像、视频和音频数据的集合)。在一些示例中,内容(例如,消息,包括图像、视频、文本和音频)的集合可被组织成“事件库”或“事件故事”。这种集合可在指定时间段(诸如内容所涉及的事件的持续时间)内可用。例如,与音乐会有关的内容可在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责发布向消息传递客户端应用104的用户接口提供特定集合的存在的通知的图标。
集合管理系统204还包括策展接口208,其允许集合管理器管理和策展特定的内容集合。例如,策展接口208使事件组织者能够策展与特定事件(例如,删除不适当的内容或冗余消息)有关的内容集合。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些实施例中,可以向用户支付报酬以将用户生成的内容包括在集合中。在这种情况下,策展接口208用于自动向这种用户付款以使用他们的内容。
注释系统206提供使得用户能够注释或另外修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与用于由消息传递系统100处理的消息的媒体覆盖的生成和发布有关的功能。注释系统206基于客户端设备102的地理位置可操作地向消息传递客户端应用104提供媒体覆盖(例如,滤镜)。在另一示例中,注释系统206基于诸如客户端设备102的用户的社交网络信息的其它信息可操作地向消息传递客户端应用104提供媒体覆盖。媒体覆盖可包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色覆盖。音频和视觉内容或视觉效果可被应用于在客户端设备102处的媒体内容项(例如,图像或视频)。例如,媒体覆盖包括可以覆盖在由客户端设备102生成的照片/电子图像之上的文本。在另一示例中,媒体覆盖包括位置的标识覆盖(例如,威尼斯海滩)、现场事件的名称或商家的名称覆盖(例如,海滩咖啡馆)。在另一示例中,注释系统206使用客户端设备102的地理位置来识别包括在客户端设备102的地理位置处的商家名称的媒体覆盖。媒体覆盖可包括与商家相关联的其它标记。媒体覆盖可被存储在数据库120中,并通过数据库服务器118来访问。
在一些示例性实施例中,如下面更详细讨论的,本公开的实施例可以生成、显示、分发媒体覆盖,以及将媒体覆盖应用于媒体内容项。例如,实施例可以利用由客户端设备102生成的媒体内容项(例如,使用耦合到客户端设备102的数字照相机捕获的图像或视频)来生成可应用于其它媒体内容项的媒体覆盖。
图3是示出根据某些示例性实施例的在消息传递服务器系统108的数据库120中存储的数据300的示意图300。虽然所示的数据库120的内容包括多个表,但是,数据可采用其它类型的数据结构来存储(例如,作为面向对象的数据库)。
数据库120包括在消息表314内存储的消息数据。实体表302存储实体数据,包括实体图304。在实体表302内维持记录的实体可以包括个人、公司实体、组织、对象、地点、事件等。不管类型如何,消息传递服务器系统108存储了相关数据的任何实体可以是公认的实体。每个实体被提供唯一的标识符以及实体类型标识符(未示出)。
此外,实体图304还存储关于实体之间的关系和关联的信息。仅作为示例,这种关系可以是社交关系、基于专业(例如,在共同的公司或组织工作)兴趣的关系、或基于活动的关系。
数据库120还在注释表312中存储例如采用滤镜形式的注释数据。在注释表312内存储了相关数据的滤镜与视频(其数据存储在视频表310中)或图像(其数据存储在图像表308中)相关联,并应用于视频或图像。在一个示例中,滤镜是在向接收者用户呈现期间被显示为覆盖在图像或视频上的覆盖物。滤镜可以是各种类型的,包括当发送用户编写消息时用户选择的来自由消息传递客户端应用104向发送用户呈现的滤镜库的滤镜。
其它类型的滤镜包括地理位置滤镜(也称为地理滤镜),其可基于地理位置呈现给发送用户。例如,特定于附近或特殊位置的地理位置滤镜可基于由客户端设备102的GPS单元确定的地理位置信息由消息客户端应用104在用户接口内呈现。另一类型的滤镜是数据滤镜,其可基于由客户端设备102在消息创建过程期间收集的其它输入或信息由消息传递客户端应用104选择性地呈现给发送用户。数据滤镜的示例包括在特定位置处的当前温度、发送用户行进的当前速度、客户端设备102的电池寿命或当前时间。可在图像表308内存储的其它注释数据是所谓的“镜头”数据。“镜头”可以是可添加到图像或视频的实时特效和声音。
如上所述,视频表310存储视频数据,在一个实施例中,视频数据与在消息表314内维持相关记录的消息相关联。类似地,图像表308存储与在实体表302中存储相关消息数据的消息相关联的图像数据。实体表302可将来自注释表312的各种注释与在图像表308和视频表310中中存储的各种图像和视频相关联。
故事表306存储关于消息和相关联的图像、视频或音频数据的集合的数据,其被编译成集合(例如,故事或图库)。特定集合的创建可由特定用户(例如,在实体表302中维持相关记录的每个用户)发起。用户可采用已由该用户创建和发送/广播的内容集合的形式创建“个人故事”。为此,消息传递客户端应用104的用户接口可包括用户可选择的图标,以使发送用户能够将特定内容添加到他或她的个人故事中。
集合还可以构成“现场故事”,其是来自多个用户的内容的集合,通过手动、自动或使用手动和自动技术的组合来创建。例如,“现场故事”可构成来自不同位置和事件的用户提交内容的策展流。例如,可以经由消息传递客户端应用104的用户接口向用户(其客户端设备启用了位置服务并且在特定时间处于公共位置事件)提供选项,以对特定的现场故事贡献内容。现场故事可由消息传递客户端应用104基于用户的位置而对用户识别。最终结果是从团体的角度讲述的“现场故事”。
另一种类型的内容集合被称为“位置故事”,其使得用户(其客户端装置102位于特定地理位置内(例如,在学院或大学校园))能够对特定集合做出贡献。在一些实施例中,对位置故事的贡献可能需要二度认证以验证终端用户属于特定组织或其它实体(例如,是大学校园中的学生)。
本公开的实施例可以生成并呈现在电子消息/通信内使用的定制图像,诸如短消息服务(SMS)或多媒体消息服务(MMS)文本和电子邮件。定制图像还可以与在此讨论的SNAPCHAT故事、SNAPCHAT滤镜和短时消息传递功能结合使用。
图4描绘了根据本公开的各个方面的示例性过程。在该示例中,方法400包括在计算设备的显示屏上显示图像(405),跟踪图像内的一个或多个物理元素(410),检测由一个或多个物理元素导致的中断(415),从跟踪一个物理元素切换到跟踪另一个物理元素(420),检测图像内的物理元素的添加/移除(425),改变虚拟对象在图像中的锚定(430),以及触发虚拟对象行为(435)。方法400的步骤可以全部或部分地执行,可以彼此结合地执行以及与其它方法中的一些或所有步骤一起执行,并且可以由任何数量的不同系统(诸如图1和图7中所述的系统)执行。
在方法400中,系统在计算设备的显示屏上显示图像。在一些实施例中,图像可以是静止图像(例如,先前由计算设备的照相机捕获的)。在其它实施例中,图像可以是通过照相机捕获并在显示屏上显示的现场视频或流的一部分。系统可以显示(410)图像内的任意数量的不同虚拟对象,包括文本、动画、用户的头像、以及其它对象。例如,在图5A-5C中所示的示例性屏幕截图中,图像包括虚拟对象,该虚拟对象包括叠加在背景中由照相机捕获的真实世界场景上的心形头部的3D模型。
本公开的实施例允许用户将虚拟对象(诸如图5A-5C中所示的3D模型)放置在图像内的任何选定位置以及与对象进行交互。例如,如图5B所示,用户可从地面拾取对象并拿在手中。
本公开的实施例可识别并跟踪图像内的不同物理元素,诸如人类用户的部分(例如,用户的手、腿等)、表面(例如,地板、桌子等)、以及其它对象和事物(例如,车辆、动物等)。这些物理元素可用于操纵虚拟对象(例如,从一个物理元素到另一个物理元素)。虚拟内容可采用多种不同方式进行操纵,包括向图像添加新的虚拟对象、从图像中移除虚拟对象、重新定位虚拟内容、以及修改虚拟内容(例如,改变其大小、比例、方向/朝向、颜色、形状等)。
虚拟对象可被锚定到物理元素。在图5A-5C中,例如,系统跟踪主要物理元素,即虚拟对象(心形物)所坐/锚定的地面。系统可检测一个物理元素中断(415)或与另一个物理元素交互。在图5B中,例如,当用户移动他的手以拾取心形物时,系统检测到次要物理元素(用户的手)中断主要物理元素次要。响应于检测到次要物理元素(用户的手)超过预定容限,系统将跟踪(420)从主要物理元素(地面)切换到次要物理元素(用户的手),将虚拟对象(心形物)锚定到用户的手,然后,心形物在计算设备的显示屏上的图像中被绘制为拿在用户的手中。
系统可检测向/从图像中添加或移除物理元素(425),并作为响应,执行各种动作。例如,在图5C中,系统检测到用户将心形物放在人的肩膀,然后从图像中移除用户的手。响应于检测到次要物理元素的移除,系统可恢复跟踪主要物理元素(例如,如果用户将心形物从地面上的一个位置移动到另一个位置)或者开始跟踪第三物理元素(例如,在图5C所示的示例中的人的肩膀)。当虚拟对象当前被锚定到的物理实体被移除时,系统可将虚拟对象锚定到与虚拟对象最接近的物理实体。在图5C中,例如,用户将他的手移到肩膀,然后从图像中移除他的手。作为响应,系统将心形物锚定到人的肩膀,当人在图像内移动时,该对象可随后被绘制成坐在人的肩膀上。
在操作中,系统可分析图像(例如,由照相机实时或接近实时地捕获的),并映射图像内的各种兴趣点。在图5A中,系统可(自动地或响应于经由计算设备的用户输入)将虚拟对象(心形物)引入图像中,并最初将图像锚定到主要物理元素(在这种情况下是地面)。心形物可保持在它的位置,直到检测到次要物理元素并且确定次要物理元素至少在预定程度上干扰主要物理元素。
系统可响应于各种事件来触发与虚拟对象相关联的行为(435),包括图像、日期、时间、地理位置信息、在图像内发生的事件的上下文等的改变。例如,系统可检测诸如图像中的虚拟对象与物理元素之间的冲突或接触的事件,并作为响应,调用虚拟对象的行为。在一个示例中,图5A-5C中的心形物(在其前面具有面部)可被绘制成具有各种表情,这取决于心形物是否未附着于人体物理元素(例如,如图5A所示,坐在地上)或附着于人体物理元素(例如,如图5C所示)。在前一种情况下,心形物上的面部可看起来像皱眉或悲伤,但是,一旦在图5C中放在人的肩膀上就转成微笑或快乐。
可以针对虚拟对象触发各种行为,诸如对象的外观的变化(例如,如上所述)、与被跟踪表面的物理碰撞、内容状态改变、对象遮挡等。在另一个示例中,现在参考图5D-5F,系统跟踪被锚定到用户的手上的虚拟对象(蝴蝶)(图5D),检测用户的手的移除(图5E),并且响应于虚拟对象(蝴蝶)被锚定到的表面从图像中移除的事件,系统触发蝴蝶的行为,即,给蝴蝶做动画以看起来像在图像中飞。
系统可生成表示计算设备的用户的头像以及图像中的其它个体的头像的虚拟对象。在一个示例性实施例中,系统生成持有显示图像的计算设备的用户的头像(例如,基于在设备中存储的用户的头像信息),并在图像内投影包括用户的三维头像的虚拟对象。在其它实施例中,系统可采用图像识别技术来识别图像内的个体,并生成包括这种个体的头像的虚拟对象。
虚拟对象的显示可在有限的预定时间段内或基于事件标准来执行。例如,在图5A-5F中所示的示例的情况下,心形物可以仅对一天(例如,情人节)可用。在另一示例中,只要用户在一小时内以某种方式与蝴蝶交互,蝴蝶就可以在图像内可用,否则,蝴蝶可被绘制成飞走(例如,离开图像)。
系统可以显示包含作为各种媒体内容项的一部分或与其结合的虚拟对象的图像。在本文中,“媒体内容项”可包括采用任何格式的任何类型的电子媒体。例如,媒体内容项可包括JPG格式的图像、PNG格式的图像、FLV格式的视频、AVI格式的视频等。在一些示例性实施例中,媒体内容项可包括使用与执行方法400的功能的系统耦接或与该系统通信的图像捕获装置或组件(诸如数字照相机)捕获的内容。在图7所示的示例性系统700中,可包括数字照相机作为输入组件728之一。此外或可替代地,媒体内容项可从另一系统或装置接收。在图1中,例如,执行方法400的功能的客户端设备102可经由网络106从另一客户端设备102或其它系统接收媒体内容项。
在一些实施例中,由系统生成或使用的媒体内容项可被包括在媒体覆盖中,诸如“贴纸”(即,可覆盖在其它图像上的图像)、滤镜(如上所述)、或另一媒体覆盖。这种覆盖可包括静态(即,非移动)特征以及动态(即,移动)特征。根据本公开的实施例的媒体内容项的生成可包括生成包含关于内容项的信息的一个或多个数据结构字段。例如,系统可在媒体覆盖的数据结构中生成名称字段,该名称字段包括从内容提供者接收的媒体内容项的名称。
本公开的实施例可发送和接收包含媒体内容项、媒体覆盖或任何形式的电子通信的其它内容的电子通信,诸如SMS文本、MMS文本、电子邮件和其它通信。包括在这种通信中的媒体内容项可作为附件提供、在消息中内联显示、在媒体覆盖内显示、或以任何其它合适的方式传送。
软件架构
图6是示出示例性软件架构606的框图,其可以与在此描述的各种硬件架构结合使用。图6是软件架构的非限制性示例,并且可以理解,许多其它架构也可被实现以促进在此描述的功能。软件架构606可以在诸如图7的机器700的硬件上执行,机器700包括处理器704、存储器714和I/O组件718等。代表性的硬件层652被示出并且可表示例如图7的机器700。代表性的硬件层652包括具有相关联可执行指令604的处理单元654。可执行指令604表示软件架构606的可执行指令,包括在此描述的方法、组件等的实现。硬件层652还包括存储器或存储模块存储器/存储装置656,其也具有可执行指令604。硬件层652还可以包括其它硬件658。
如在此所使用的,术语“组件”可以是指由功能或子例程调用、分支点、应用程序接口(API)或提供特定处理或控制功能的分区或模块化的其它技术定义的具有边界的装置、物理实体或逻辑。组件可以经由它们的接口与其它组件组合以执行机器过程。组件可以是被设计成与其它组件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。
组件可以构成软件组件(例如,在机器可读介质上体现的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并可以以某种物理方式配置或布置。在各种示例性实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器)可以通过软件(例如,应用或应用部分)配置为工作以执行如在此所述的某些操作的硬件组件。硬件组件还可以机械地、电子地或其任何合适的组合来实现。例如,硬件组件可以包括被永久配置为执行某些操作的专用电路或逻辑。
硬件组件可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件组件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括由通用处理器或其它可编程处理器执行的软件。一旦被该软件配置,硬件组件就成为特定的机器(或机器的特定组件),其被独特地定制以执行所配置的功能而不再是通用处理器。应当理解,可考虑成本和时间来驱动在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件组件的决定。
处理器可以是或包括根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操纵数据值并产生被应用以操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或其任何组合。处理器可以进一步是具有可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。
因此,短语“硬件组件”(或“硬件实现的组件”)应该被理解为包含有形实体,即物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)的实体,从而以某种方式操作或执行在此所述的某些操作。考虑其中硬件组件被临时配置(例如,编程)的实施例,不需要在任何一个时刻配置或实例化硬件组件中的每个硬件组件。例如,在硬件组件包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同的专用处理器(例如,包括不同的硬件组件)。软件相应地配置特定的一个或多个处理器,例如,在一个时刻构成特定的硬件组件,并在不同的时刻构成不同的硬件组件。硬件组件可以向其它硬件组件提供信息并从其接收信息。因此,所描述的硬件组件可以被视为通信地耦接。在同时存在多个硬件组件的情况下,可以通过在两个硬件组件之间或更多个硬件组件之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,例如通过对多个硬件组件可访问的存储器结构中的信息的存储和取得,可以实现该硬件组件之间的通信。
例如,一个硬件组件可以执行操作并将该操作的输出存储在与其通信耦接的存储器装置中。然后,另一硬件组件可以稍后访问存储器装置以取得和处理所存储的输出。硬件组件还可以启动与输入或输出装置的通信,并且可以在资源(例如,信息集合)上操作。在此描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,该处理器可以构成处理器实施的组件,其用于执行在此描述的一个或多个操作或功能。如在此所使用的,“处理器实现的组件”是指使用一个或多个处理器实施的硬件组件。类似地,在此描述的方法可以至少部分地由处理器实现,其中特定的一个处理器或多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或多个处理器或处理器实现的组件来执行。
此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,应用程序接口(API))访问。操作中的某些操作的性能可以在处理器之间分配,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例性实施例中,处理器或处理器实现的组件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其它示例性实施例中,处理器或处理器实现的组件可以分布在多个地理位置上。
在图6的示例性架构中,软件架构606可被概念化为层的堆栈,其中每个层提供特定的功能。例如,软件架构606可以包括诸如操作系统602、库620、应用616和表示层614的层。在操作上,层内的应用616或其它组件可以通过软件堆栈调用应用编程接口(API)API调用608,并响应于API调用608来接收消息612。所示的层本质上是代表性的,并且并不是所有软件架构都具有所有的层。例如,一些移动或专用操作系统可能不提供框架/中间件618,而其它操作系统可提供这种层。其它软件架构可以包括附加的层或不同的层。
操作系统602可以管理硬件资源并提供公共服务。操作系统602可以包括例如内核622、服务624和驱动器626。内核622可以用作硬件和其它软件层之间的抽象层。例如,内核622可以负责存储器管理、处理器管理(例如,调度)、组件管理、网络、安全设置等。服务624可以为其它软件层提供其它公共服务。驱动器626负责控制底层硬件或与底层硬件接口连接。例如,取决于硬件配置,驱动器626包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、Wi-Fi驱动器、音频驱动器、电源管理驱动器等等。
库620提供由应用616或其它组件或层使用的公共基础结构。库620提供允许其它软件组件以比与底层操作系统602功能(例如,内核622、服务624或驱动器626)直接接口连接更容易的方式执行任务的功能。库620可以包括系统库644(例如,C标准库),其可以提供诸如存储器分配功能、字符串操作功能、数学功能等的功能。另外,库620可以包括API库646,诸如媒体库(例如,用于支持各种媒体格式(诸如MPREG4、H.264、MP3、AAC、AMR、JPG、PNG)的呈现和操作的库)、图形库(例如,可用于在显示器上的图形内容中呈现2D和3D的OpenGL框架)、数据库库(例如,可提供各种关系数据库功能的SQLite)、web库(例如,可提供web浏览功能的WebKit)等。库620还可以包括各种其它库648,以向应用616和其它软件组件/模块提供许多其它API。
框架/中间件618(有时也称为中间件)提供可由应用616或其它软件组件/模块使用的更高级别的公共基础结构。例如,框架/中间件618可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件618可以提供可以由应用616或其它软件组件/模块使用的广范范围的其它API,其中的一些可以针对特定操作系统602或平台。
应用616包括内置应用638或第三方应用640。代表性内置应用638的示例可包括但不限于联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用或游戏应用。第三方应用640可以包括由特定平台的供应商以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTMPhone的移动操作系统或其它移动操作系统上运行的移动软件。第三方应用640可以调用由移动操作系统(诸如操作系统602)提供的API调用608以便于实现在此描述的功能。
应用616可以使用内置操作系统功能(例如,内核622、服务624或驱动器626)、库620和框架/中间件618来创建用户界面以与系统的用户交互。可替代地或另外地,在一些系统中,与用户的交互可以通过表示层(诸如表示层614)发生。在这些系统中,应用/组件“逻辑”可以与和用户交互的应用/组件的方面分开。
图7是示出根据一些示例性实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行在此所讨论的任何一种或多种方法的机器700的组件(在此也称为“模块”)的框图。具体地,图7示出了以计算机系统的示例形式的机器700的图形表示,在该计算机系统内可以执行用于使机器700执行在此所讨论的任何一种或多种方法的指令710(例如,软件、程序、应用、小应用、应用软件或其它可执行代码)。这样,指令710可用于实现在此描述的模块或组件。指令710将通用的未编程的机器700变换成被编程为以所描述的方式执行所描述和示出的功能的特定的机器700。在替代实施例中,机器700作为独立装置操作或者可以耦接(例如,联网)到其它机器。在联网部署中,机器700可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力操作,或者作为对等(或分布式)网络环境中的对等机器操作。机器700可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家电)、其它智能装置、网络装置、网络路由器、网络交换机、网络桥接器或能够顺序地或以其它方式执行指令710的任何机器,指令710指定机器700要采取的动作。此外,尽管仅示出了单个机器700,但是术语“机器”还应被视为包括单独或共同执行指令710以执行在此所讨论的任何一种或多种方法的机器的集合。
机器700可以包括处理器704、存储器/存储装置706和I/O组件718,其可以被配置为例如经由总线702彼此通信。存储器/存储装置706可以包括存储器714,诸如主存储器或其它存储器存储装置,以及存储单元716,两者都可由处理器704诸如经由总线702访问。存储单元716和存储器714存储体现在此描述的任何一种或多种方法或功能的指令710。在机器700的执行期间,指令710还可以完全或部分地驻留在存储器714内、存储单元716内、处理器704中的至少一个处理器内(例如,处理器的高速缓冲存储器内),或其任何合适的组合内。因此,存储器714、存储单元716和处理器704的存储器是机器可读介质的示例。
如在此所使用的,术语“机器可读介质”、“计算机可读介质”等可以指能够临时或永久地存储指令和数据的任何组件、装置或其它有形介质。此类介质的示例可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁介质、高速缓冲存储器、其它类型的存储设备(例如,可擦除可编程只读存储器(EEPROM))或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还可以被认为包括能够存储由机器执行的指令(例如,代码)的任何介质或多个介质的组合,使得指令在由机器的一个或多个处理器执行时使机器执行在此所描述的任何一种或多种方法。因此,“机器可读介质”可以指单个存储设备或装置,以及包括多个存储设备或装置的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。
I/O组件718可以包括各种组件,以提供用于接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等的用户界面。在特定机器700的用户界面中包括的特定I/O组件718将取决于机器的类型。例如,诸如移动电话的便携式机器可能包括触摸输入装置或其它此类输入机构,而无头服务器机器可能不包括此类触摸输入装置。可以理解,I/O组件718可以包括许多图7中未示出的其它组件。I/O组件718根据功能分组仅仅是为了简化以下讨论,并且分组决不是限制性的。在各种示例性实施例中,I/O组件718可以包括输出组件726和输入组件728。输出组件726可以包括视觉组件(例如,显示器,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、听觉组件(例如扬声器)、触觉组件(例如,振动电机、电阻机构)、其它信号发生器等。输入组件728可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指向仪器)、触知输入组件(例如,物理按钮、提供触摸或触摸手势的位置或力的触摸屏、或其它触知输入组件)、音频输入组件(例如,麦克风)等。输入组件728还可以包括一个或多个图像采集装置,诸如用于生成数字图像或视频的数字相机。
在其它示例性实施例中,I/O组件718可以包括生物度量组件730、运动组件734、环境的环境组件736或定位组件738、以及多种其它组件。一个或多个此类组件(或其部分)在此可以统称为“传感器组件”或“传感器”,用于收集与机器700、机器700的环境、机器700的用户或其组合有关的各种数据。
例如,生物度量组件730可包括检测表现(例如手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件734可包括加速度传感器组件(例如,加速度计)、重力传感器组件、速度传感器组件(例如速度计)、旋转传感器组件(例如陀螺仪)等。环境组件736可包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测危险气体浓度或测量大气中的污染物的气体检测传感器)或可能提供与周围物理环境相对应的指示、测量或信号的其它组件。定位组件738可包括位置传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,高度计或气压计,其可以检测可以从哪个高度导出的空气压力)、取向传感器组件(例如,磁力计)等。例如,位置传感器组件可以提供与系统700相关联的位置信息,诸如系统700的GPS坐标或关于系统700当前所处位置的信息(例如,餐馆或其它商业的名称)。
通信可以使用各种技术来实现。I/O组件718可以包括通信组件740,其可操作以分别经由耦接器722和耦接器724将机器700耦接到网络732或装置720。例如,通信组件740可包括网络接口组件或与网络732接口连接的另一合适装置。在另外的示例中,通信组件740包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如,低功耗)、组件和经由其它模式提供通信的其它通信组件。装置720可以是另一机器或各种外围装置(例如,经由通用串行总线(USB)耦接的外围装置)中的任何一个。
此外,通信组件740可检测标识符或包括可操作以检测标识符的组件。例如,通信组件740可包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)代码、Aztec代码、数据矩阵、数字图形、最大码、PDF417、超码、UCC RSS-2D条形码和其它光学代码的多维条形码)或声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由可以指示特定位置的通信组件740来导出各种信息,诸如经由因特网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测NFC信标信号的位置等。
其中使用类似于“A、B或C中的至少一个”、“A、B和C中的至少一个”、“A、B或C中的一个或多个”或“A、B和C中的一个或多个”的术语,意图将该术语解释为意为在实施例中可以单独存在A,在实施例中可以单独存在B,在实施例中可以仅存在C,或者,在单个实施例中可以存在元素A、B和C的任何组合,例如,A和B、A和C、B和C、或A和B和C。
如在此所使用的,术语“或”可以以包含性或排他性的含义来解释。此外,可以为在此描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且特定操作在特定说明性配置的上下文中示出。设想了其它功能分配,并且可以落入本公开的各种实施例的范围内。通常,在示例配置中作为单独资源呈现的结构和功能可以实现为组合结构或资源。类似地,作为单个资源呈现的结构和功能可以实现为单独的资源。这些和其它变化、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图应被视为说明性的而非限制性的。
本专利文件的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人对专利文件或专利公开内容进行传真复制,因为其出现在专利和商标局的专利文件或记录中,但在其它方面保留所有版权。以下声明适用于下文和构成本文档一部分的附图中所述的软件和数据:2016,SNAP公司,版权所有2016,保留所有权利。

Claims (20)

1.一种系统,包括:
处理器;
用户接口,其耦合到所述处理器,所述用户接口包括输入设备、照相机和显示屏;以及
存储器,其耦合到所述处理器并存储指令,所述指令当由所述处理器执行时,使所述系统执行以下操作,包括:
在所述显示屏上显示包括经由所述照相机捕获的真实世界场景的图像;
在所述图像内显示虚拟对象;
跟踪所述图像内的主要物理元素;以及
检测中断所述主要物理元素的次要物理元素。
2.根据权利要求1所述的系统,其中,显示所述虚拟对象包括:将所述虚拟对象锚定到所述图像内的位置。
3.根据权利要求1所述的系统,其中,所述存储器进一步存储用于使所述系统执行以下操作的指令:
响应于所述次要物理元素超过预定容限阈值,从跟踪所述主要物理元素切换到跟踪所述次要物理元素。
4.根据权利要求3所述的系统,其中,跟踪所述次要物理元素包括:将所述虚拟对象锚定到所述次要物理元素。
5.根据权利要求3所述的系统,其中,所述存储器进一步存储用于使所述系统执行以下操作的指令:
检测所述次要物理元素的移除;
响应于检测到所述次要物理元素的移除,恢复所述主要物理元素的跟踪。
6.根据权利要求5所述的系统,其中,所述存储器进一步存储用于使所述系统执行以下操作的指令:
响应于检测到所述次要物理元素的移除,将所述虚拟对象锚定到所述图像中最接近的物理实体。
7.根据权利要求1所述的系统,其中,所述最接近的物理实体是以下中的一个或多个:人、动物、表面、以及对象。
8.根据权利要求1所述的系统,其中,所述存储器进一步存储用于使所述系统执行以下操作的指令:触发所述虚拟对象的行为。
9.根据权利要求1所述的系统,其中,跟踪所述主要物理元素包括:在所述系统移动时跟踪所述主要物理元素,并且其中,所述系统的所述移动包括以下中的一个或多个:从第一位置到第二位置的移动,以及旋转。
10.一种计算机实现的方法,包括:
由计算机系统在耦合到所述计算机系统的显示屏上显示图像,所述图像包括经由耦合到所述计算机系统的照相机捕获的真实世界场景;
由所述计算机系统在所述图像内显示虚拟对象;
由所述计算机系统跟踪所述图像内的主要物理元素;以及
由所述计算机系统检测中断所述主要物理元素的次要物理元素。
11.根据权利要求10所述的方法,其中,显示所述虚拟对象包括:将所述虚拟对象锚定到所述图像内的位置。
12.根据权利要求10所述的方法,其中,所述存储器进一步存储用于使所述系统执行以下操作的指令:
响应于所述次要物理元素超过预定容限阈值,从跟踪所述主要物理元素切换到跟踪所述次要物理元素。
13.根据权利要求12所述的方法,其中,跟踪所述次要物理元素包括:将所述虚拟对象锚定到所述次要物理元素。
14.根据权利要求13所述的方法,其中,所述存储器进一步存储用于使所述系统执行以下操作的指令:
检测所述次要物理元素的移除;
响应于检测到所述次要物理元素的移除,恢复所述主要物理元素的跟踪。
15.根据权利要求14所述的方法,其中,所述存储器进一步存储用于使所述系统执行以下操作的指令:
响应于检测到所述次要物理元素的移除,将所述虚拟对象锚定到所述图像中最接近的物理实体。
16.根据权利要求10所述的方法,其中,所述最接近的物理实体是以下中的一个或多个:人、动物、表面、以及对象。
17.根据权利要求10所述的方法,其中,所述存储器进一步存储用于使所述系统执行以下操作的指令:触发所述虚拟对象的行为。
18.根据权利要求10所述的方法,其中,跟踪所述主要物理元素包括:在所述系统移动时跟踪所述主要物理元素,并且其中,所述系统的所述移动包括以下中的一个或多个:从第一位置到第二位置的移动,以及旋转。
19.一种存储指令的非暂态计算机可读介质,所述指令当由计算机系统执行时使所述计算机系统执行以下操作:
在耦合到所述计算机系统的显示屏上显示图像,所述图像包括经由耦合到所述计算机系统的照相机捕获的真实世界场景;
在所述图像内显示虚拟对象;
跟踪所述图像内的主要物理元素;以及
检测中断所述主要物理元素的所述次要物理元素。
20.根据权利要求19所述的计算机可读介质,其中,显示所述虚拟对象包括:将所述虚拟对象锚定到所述图像内的位置。
CN201780082612.1A 2017-01-09 2017-12-29 增强现实对象操纵 Active CN110168476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211271509.0A CN115641424A (zh) 2017-01-09 2017-12-29 增强现实对象操纵

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762444218P 2017-01-09 2017-01-09
US62/444,218 2017-01-09
US201762449451P 2017-01-23 2017-01-23
US62/449,451 2017-01-23
US15/581,994 2017-04-28
US15/581,994 US10593116B2 (en) 2016-10-24 2017-04-28 Augmented reality object manipulation
PCT/US2017/068988 WO2018128930A1 (en) 2017-01-09 2017-12-29 Augmented reality object manipulation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211271509.0A Division CN115641424A (zh) 2017-01-09 2017-12-29 增强现实对象操纵

Publications (2)

Publication Number Publication Date
CN110168476A true CN110168476A (zh) 2019-08-23
CN110168476B CN110168476B (zh) 2022-11-04

Family

ID=62790885

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780082612.1A Active CN110168476B (zh) 2017-01-09 2017-12-29 增强现实对象操纵
CN202211271509.0A Pending CN115641424A (zh) 2017-01-09 2017-12-29 增强现实对象操纵

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202211271509.0A Pending CN115641424A (zh) 2017-01-09 2017-12-29 增强现实对象操纵

Country Status (4)

Country Link
EP (2) EP4270325A3 (zh)
KR (4) KR102254709B1 (zh)
CN (2) CN110168476B (zh)
WO (1) WO2018128930A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10593116B2 (en) 2016-10-24 2020-03-17 Snap Inc. Augmented reality object manipulation
US11195338B2 (en) 2017-01-09 2021-12-07 Snap Inc. Surface aware lens
US20220044479A1 (en) 2018-11-27 2022-02-10 Snap Inc. Textured mesh building
US11443491B2 (en) 2019-06-28 2022-09-13 Snap Inc. 3D object camera customization system
US11636657B2 (en) 2019-12-19 2023-04-25 Snap Inc. 3D captions with semantic graphical elements
US11715268B2 (en) 2018-08-30 2023-08-01 Snap Inc. Video clip object tracking
US11810220B2 (en) 2019-12-19 2023-11-07 Snap Inc. 3D captions with face tracking

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US11501499B2 (en) 2018-12-20 2022-11-15 Snap Inc. Virtual surface modification
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
US10936351B2 (en) * 2019-07-19 2021-03-02 UiPath, Inc. Multi-anchor based extraction, recognition, and machine learning of user interface (UI)
US11232646B2 (en) 2019-09-06 2022-01-25 Snap Inc. Context-based virtual object rendering
WO2021221394A1 (ko) * 2020-04-30 2021-11-04 삼성전자 주식회사 이미지 증강을 위한 방법 및 전자 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120224773A1 (en) * 2011-03-04 2012-09-06 Qualcomm Incorporated Redundant detection filtering
CN102884490A (zh) * 2010-03-05 2013-01-16 索尼电脑娱乐美国公司 在共享的稳定虚拟空间上维持多视图
CN103460256A (zh) * 2011-03-29 2013-12-18 高通股份有限公司 在扩增现实系统中将虚拟图像锚定到真实世界表面
GB201404134D0 (en) * 2014-03-10 2014-04-23 Bae Systems Plc Interactive information display
CN104081317A (zh) * 2012-02-10 2014-10-01 索尼公司 图像处理装置和计算机程序产品
US20150103183A1 (en) * 2013-10-10 2015-04-16 Nvidia Corporation Method and apparatus for device orientation tracking using a visual gyroscope

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8730156B2 (en) * 2010-03-05 2014-05-20 Sony Computer Entertainment America Llc Maintaining multiple views on a shared stable virtual space
US8947455B2 (en) * 2010-02-22 2015-02-03 Nike, Inc. Augmented reality design system
US20120113223A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
KR101056418B1 (ko) * 2011-03-31 2011-08-11 주식회사 맥스트 모바일 센서를 이용한 증강 현실 콘텐츠 추적 장치 및 방법
US10109075B2 (en) * 2013-03-15 2018-10-23 Elwha Llc Temporal element restoration in augmented reality systems
US10203762B2 (en) * 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
KR101483054B1 (ko) * 2014-05-31 2015-01-16 연세대학교 산학협력단 상호작용을 지원하는 모바일 기반 증강현실 제작 시스템 및 방법
US9746984B2 (en) * 2014-08-19 2017-08-29 Sony Interactive Entertainment Inc. Systems and methods for providing feedback to a user while interacting with content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102884490A (zh) * 2010-03-05 2013-01-16 索尼电脑娱乐美国公司 在共享的稳定虚拟空间上维持多视图
US20120224773A1 (en) * 2011-03-04 2012-09-06 Qualcomm Incorporated Redundant detection filtering
CN103460256A (zh) * 2011-03-29 2013-12-18 高通股份有限公司 在扩增现实系统中将虚拟图像锚定到真实世界表面
CN104081317A (zh) * 2012-02-10 2014-10-01 索尼公司 图像处理装置和计算机程序产品
US20150103183A1 (en) * 2013-10-10 2015-04-16 Nvidia Corporation Method and apparatus for device orientation tracking using a visual gyroscope
GB201404134D0 (en) * 2014-03-10 2014-04-23 Bae Systems Plc Interactive information display

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11580700B2 (en) 2016-10-24 2023-02-14 Snap Inc. Augmented reality object manipulation
US10593116B2 (en) 2016-10-24 2020-03-17 Snap Inc. Augmented reality object manipulation
US11195338B2 (en) 2017-01-09 2021-12-07 Snap Inc. Surface aware lens
US11704878B2 (en) 2017-01-09 2023-07-18 Snap Inc. Surface aware lens
US11715268B2 (en) 2018-08-30 2023-08-01 Snap Inc. Video clip object tracking
US12020377B2 (en) 2018-11-27 2024-06-25 Snap Inc. Textured mesh building
US20220044479A1 (en) 2018-11-27 2022-02-10 Snap Inc. Textured mesh building
US11620791B2 (en) 2018-11-27 2023-04-04 Snap Inc. Rendering 3D captions within real-world environments
US12106441B2 (en) 2018-11-27 2024-10-01 Snap Inc. Rendering 3D captions within real-world environments
US11836859B2 (en) 2018-11-27 2023-12-05 Snap Inc. Textured mesh building
US11443491B2 (en) 2019-06-28 2022-09-13 Snap Inc. 3D object camera customization system
US11823341B2 (en) 2019-06-28 2023-11-21 Snap Inc. 3D object camera customization system
US11636657B2 (en) 2019-12-19 2023-04-25 Snap Inc. 3D captions with semantic graphical elements
US11908093B2 (en) 2019-12-19 2024-02-20 Snap Inc. 3D captions with semantic graphical elements
US11810220B2 (en) 2019-12-19 2023-11-07 Snap Inc. 3D captions with face tracking

Also Published As

Publication number Publication date
KR20220080209A (ko) 2022-06-14
KR102406297B1 (ko) 2022-06-10
EP3566111B1 (en) 2023-09-20
EP4270325A2 (en) 2023-11-01
KR20190103335A (ko) 2019-09-04
KR20230135158A (ko) 2023-09-22
KR20210059040A (ko) 2021-05-24
CN110168476B (zh) 2022-11-04
EP4270325A3 (en) 2023-12-20
KR102254709B1 (ko) 2021-05-24
KR102577968B1 (ko) 2023-09-14
EP3566111A1 (en) 2019-11-13
CN115641424A (zh) 2023-01-24
WO2018128930A1 (en) 2018-07-12

Similar Documents

Publication Publication Date Title
CN110168476A (zh) 增强现实对象操纵
CN110050283A (zh) 定制的用户控制的媒体覆盖
US11580700B2 (en) Augmented reality object manipulation
CN109863532A (zh) 生成和显示在媒体覆盖中的定制头像
CN110168586A (zh) 情境生成和对定制的媒体内容的选择
CN112639892B (zh) 增强现实拟人化系统
CN110199245A (zh) 三维交互系统
CN109716264A (zh) 显示自定义的电子消息图形
CN110168478A (zh) 表面识别镜头
CN110249359A (zh) 地理围栏评估系统
CN109416804A (zh) 跟踪媒体项的参与的系统
CN110268437A (zh) 定制的上下文媒体内容项生成
US11910269B2 (en) Augmented reality content items including user avatar to share location
CN110300951A (zh) 媒体项附接系统
WO2021242765A1 (en) Augmented reality content from third-party content
US20240303945A1 (en) Integrating augmented reality experiences with other components
KR20230019927A (ko) 컨텍스트 전송 메뉴
CN116685941A (zh) 具有触觉反馈增强的媒体内容项
KR20230019968A (ko) 메시지 인터페이스 확장 시스템
EP4172958A1 (en) Augmented reality content based on product data
KR20230017348A (ko) 컨텍스트 애플리케이션 메뉴
US11894989B2 (en) Augmented reality experience event metrics system

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