CN116457833A - 假肢体的实时运动转移 - Google Patents

假肢体的实时运动转移 Download PDF

Info

Publication number
CN116457833A
CN116457833A CN202180077187.3A CN202180077187A CN116457833A CN 116457833 A CN116457833 A CN 116457833A CN 202180077187 A CN202180077187 A CN 202180077187A CN 116457833 A CN116457833 A CN 116457833A
Authority
CN
China
Prior art keywords
limbs
person
video
virtual object
movement
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
CN202180077187.3A
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.)
Snap Inc
Original Assignee
Snap Inc
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 Snap Inc filed Critical Snap Inc
Publication of CN116457833A publication Critical patent/CN116457833A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开内容的各方面涉及包括存储至少一个程序的计算机可读存储介质的系统,以及用于执行操作的方法,操作包括:接收描绘人的视频;识别与人的肢体对应的一组骨骼关节;跟踪与视频中的人的肢体对应的该组骨骼关节的3D移动;使得显示3D虚拟对象,该3D虚拟对象具有多个肢体,所述多个肢体包括与视频中的人的肢体相比一个或更多个额外肢体;以及基于与视频中的人的肢体对应的该组骨骼关节的移动,移动3D虚拟对象的一个或更多个额外肢体。

Description

假肢体的实时运动转移
优先权要求
本申请要求于2020年11月18日提交的序列号为16/951,939的美国专利申请的优先权的权益,该美国专利申请的全部内容在此通过引用并入本文中。
技术领域
本公开内容总体上涉及视觉呈现,并且更特别地涉及在真实世界环境中渲染虚拟对象。
背景技术
虚拟渲染系统可以用于创建引人入胜且有趣的增强现实体验,其中三维虚拟对象图形内容似乎存在于真实世界中。由于环境条件、用户动作、摄像装置与正在被渲染的对象之间的意外视觉中断等,这样的系统可能会遇到呈现问题。这会导致虚拟对象消失或者以其他方式表现异常,从而打破虚拟对象存在于真实世界中的错觉。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。为了容易地识别对任何特定元素或动作的讨论,附图标记中的一个或多个最高位数字指该元素被首次引入时所在的图号。一些实施方式在附图的图中以示例而非限制的方式示出,在附图中:
图1是根据一些示例的其中可以部署本公开内容的联网环境的图解表示。
图2是根据一些示例的具有客户端侧功能和服务器侧功能两者的消息收发系统的图解表示。
图3是根据一些示例的如在数据库中维护的数据结构的图解表示。
图4是根据一些示例的消息的图解表示。
图5是示出根据示例实施方式的示例访问限制过程的示意图,根据该访问限制过程,对内容(例如,短暂消息和相关联的数据的多媒体有效载荷)或内容集合(例如,短暂消息故事)的访问可以是时间受限的(例如,使得是短暂的)。
图6是示出根据示例实施方式的增强系统的各种部件的框图。
图7和图8是示出根据示例实施方式的在执行用于基于并排移动渲染虚拟对象的过程时的增强系统的示例操作的流程图。
图9是示出根据示例实施方式的在执行用于跟踪视频中渲染的对象的过程时的增强系统(增强现实系统)的示例操作的流程图。
图10和图11是描绘根据示例实施方式的由增强系统在三维空间内渲染的对象的图。
图12是示出根据示例实施方式的可以结合本文中描述的各种硬件架构使用的代表性软件架构的框图。
图13是示出根据示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种方法的机器的部件的框图。
具体实施方式
以下描述包括体现本公开内容的说明性实施方式的系统、方法、技术、指令序列及计算机器程序产品。在下面的描述中,出于说明的目的,阐述了许多具体细节以提供对各种实施方式的理解。然而,对于本领域技术人员而言将明显的是,可以在没有这些具体细节的情况下实践实施方式。通常,公知的指令实例、协议、结构和技术不必详细示出。
除其他事项外,本公开内容的实施方式通过渲染增强现实项和效果来改进电子消息收发和成像软件和系统的功能,就像增强现实对象存在于包含视频中有特征的真实世界对象的真实世界场景中一样。增强现实项的一些示例包括二维虚拟对象或三维(3D)虚拟对象,例如,3D题注、表情符号、角色、化身、动画、个性化化身或角色的循环动画、诸如跳舞的热狗的循环或非循环动画图形、具有动画和粒子效果的风格化词、多个虚拟对象等。在一些实施方式中,一个这样的增强现实项由用户选择并添加到视频,以提供所选择的增强现实项是真实世界场景的一部分的错觉。该增强现实项可以是表示视频中的用户或人的化身。化身或增强现实项可以包括3D虚拟对象,该3D虚拟对象比视频中描绘的人具有更多的肢体(例如,尾部、附加的手臂/腿、或躯干)。
在一些实施方式中,相对于在视频中描绘的人的放置、定位和移动动态地调整所选择的增强现实项连同额外肢体的放置、定位和移动,以维持增强现实项是真实世界场景的一部分的错觉。为了相对于场景中的人动态地调整增强现实项的放置、定位和移动,识别与人的肢体对应的一组骨骼关节,并且基于所识别的该组骨骼关节来跟踪人的3D移动。当人在视频中四处移动时,增强现实项的放置和定位被更新。基于与视频中的人的肢体对应的一组骨骼关节的移动,移动3D虚拟对象的一个或更多个额外肢体。作为示例,人的肢体包括两只手臂和两条腿,并且3D虚拟对象包括四条腿和躯干或尾部。在这种情况下,相对于人的手臂和腿的物理移动,移动躯干和尾部。这维持了虚拟对象存在于真实世界中的错觉。
联网计算环境
图1是示出用于通过网络来交换数据(例如,消息和相关联的内容)的示例消息收发系统100的框图。消息收发系统100包括客户端设备102的多个实例,其中的每个实例托管包括消息收发客户端104和其他外部应用109(例如,第三方应用)的若干应用。每个消息收发客户端104经由网络112(例如,因特网)通信地耦接至消息收发客户端104(例如,托管在相应的其他客户端设备102上)、消息收发服务器系统108和外部应用服务器110的其他实例。消息收发客户端104还可以使用应用程序接口(API)与本地托管的第三方应用109通信。
消息收发客户端104能够经由网络112与其他消息收发客户端104和消息收发服务器系统108通信并交换数据。在消息收发客户端104之间以及消息收发客户端104与消息收发服务器系统108之间交换的数据包括功能(例如,激活功能的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
消息收发服务器系统108经由网络112向特定消息收发客户端104提供服务器侧功能。虽然消息收发系统100的某些功能在本文中被描述为由消息收发客户端104或由消息收发服务器系统108执行,但是某些功能在消息收发客户端104内或消息收发服务器系统108内的定位可以是设计选择。例如,可能在技术上优选的是:最初将某些技术和功能部署在消息收发服务器系统108内,但是后面将该技术和功能迁移至客户端设备102具有足够处理能力的消息收发客户端104。
消息收发服务器系统108支持向消息收发客户端104提供的各种服务和操作。这样的操作包括向消息收发客户端104发送数据、从消息收发客户端104接收数据以及对由消息收发客户端104生成的数据进行处理。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体增强和覆盖、消息内容持续条件、社交网络信息和实况事件信息。通过经由消息收发客户端104的用户界面(UI)可用的功能来激活和控制消息收发系统100内的数据交换。
现在具体地转至消息收发服务器系统108,应用程序接口(API)服务器116耦接至应用服务器114并向应用服务器114提供编程接口。应用服务器114通信地耦接至数据库服务器120,该数据库服务器120促进对数据库126的访问,该数据库126存储与通过应用服务器114处理的消息相关联的数据。类似地,web服务器128耦接至应用服务器114,并且向应用服务器114提供基于web的接口。为此,web服务器128通过超文本传输协议(HTTP)和若干其他相关协议来处理传入的网络请求。
应用程序接口(API)服务器116在客户端设备102与应用服务器114之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器116提供一组接口(例如,例程和协议),该组接口可以由消息收发客户端104调用或查询以激活应用服务器114的功能。应用程序接口(API)服务器116公开由应用服务器114支持的各种功能,包括:帐户注册;登录功能;经由应用服务器114将消息从特定消息收发客户端104发送至另一消息收发客户端104;将媒体文件(例如,图像或视频)从消息收发客户端104发送至消息收发服务器118并用于由另一消息收发客户端104进行的可能访问;设置媒体数据集合(例如,故事);检索客户端设备102的用户的朋友列表;检索这样的集合;检索消息和内容;在实体图(例如社交图)中添加和删除实体(例如朋友);在社交图内定位朋友;以及打开应用事件(例如,与消息收发客户端104有关)。
应用服务器114托管若干服务器应用和子系统,包括例如消息收发服务器118、图像处理服务器122以及社交网络服务器124。消息收发服务器118实现了若干消息处理技术和功能,特别是与从消息收发客户端104的多个实例接收到的消息中包括的内容(例如,文本和多媒体内容)的聚合和其他处理有关的消息处理技术和功能。如将进一步详细描述的,来自多个源的文本和媒体内容可以被聚合成内容集合(例如,被称为故事或图库(gallery))。然后,使这些集合对消息收发客户端104可用。鉴于对这样的处理的硬件要求,也可以由消息收发服务器118在服务器侧执行数据的其他处理器和存储器密集型处理。
应用服务器114还包括图像处理服务器122,该图像处理服务器122专用于执行各种图像处理操作,通常相对于在从消息收发服务器118发送或者在消息收发服务器118处接收的消息的有效载荷内的图像或视频,执行各种图像处理操作。
社交网络服务器124支持各种社交联网功能和服务并使这些功能和服务可用于消息收发服务器118。为此,社交网络服务器124维护和访问数据库126内的实体图308(如图3所示)。由社交网络服务器124支持的功能和服务的示例包括识别消息收发系统100中的特定用户与之有关系或“关注”的其他用户,以及识别特定用户的兴趣和其他实体。
返回至消息收发客户端104,外部资源(例如,第三方应用109或小程序(applet))的特征和功能经由消息收发客户端104的接口对用户可用。消息收发客户端104接收对启动或访问外部资源(例如,第三方资源)(例如,外部应用109)的特征的选项的用户选择。外部资源可以是安装在客户端设备102上的第三方应用(外部应用109)(例如,“本地应用”),或者托管在客户端设备102上或者远离客户端设备102(例如,在第三方服务器110上)的第三方应用的小规模版本(例如,“小程序”)。第三方应用的小规模版本包括第三方应用(例如,第三方独立应用的完整、原生版本)的特征和功能的子集,并且使用标记语言文档来实现。在一个示例中,第三方应用的小规模版本(例如,“小程序”)是第三方应用的基于web的标记语言版本,并且被嵌入在消息收发客户端104中。除了使用标记语言文档(例如,.*ml文件)以外,小程序可以并入脚本语言(例如,.*js文件或.json文件)和样式表(例如,.*ss文件)。
响应于接收到对启动或访问外部资源(外部应用109)的特征的选项的用户选择,消息收发客户端104确定所选择的外部资源是基于web的外部资源还是本地安装的外部应用。在一些情况下,可以例如通过在客户端设备102的主页画面上选择与外部应用109对应的图标而独立于消息收发客户端104并且与消息收发客户端104分开地启动本地安装在客户端设备102上的外部应用109。这样的外部应用的小规模版本可以经由消息收发客户端104启动或访问,并且在一些示例中,小规模外部应用的任何部分都不能在消息收发客户端104之外被访问或者有限部分才能在消息收发客户端104之外被访问。可以通过消息收发客户端104从外部应用服务器110接收与小规模外部应用相关联的标记语言文档并处理这样的文档来启动小规模外部应用。
响应于确定外部资源是本地安装的外部应用109,消息收发客户端104通过执行与外部应用109对应的本地存储的代码来指示客户端设备102启动外部应用109。响应于确定外部资源是基于web的资源,消息收发客户端104与外部应用服务器110通信以获得与所选择的资源对应的标记语言文档。然后,消息收发客户端104处理获得的标记语言文档以在消息收发客户端104的用户界面内呈现基于web的外部资源。
消息收发客户端104可以向客户端设备102的用户或与这样的用户相关的其他用户(例如,“朋友”)通知在一个或更多个外部资源中发生的活动。例如,消息收发客户端104可以向消息收发客户端104中的对话(例如,聊天会话)中的参与者提供与用户群组中的一个或更多个成员对外部资源的当前或新近使用有关的通知。可以邀请一个或更多个用户加入活动的外部资源或者启动(在朋友群组中)新近使用过但当前不活动的外部资源。外部资源可以向对话中的参与者(各自使用各自的消息收发客户端104)提供与一组用户的一个或更多个成员将外部资源中的项、状况、状态或位置共享到聊天会话中的能力。共享项可以是交互式聊天卡,聊天的成员可以利用该交互式聊天卡进行交互,例如,以启动对应的外部资源,查看外部资源内的特定信息,或将聊天的成员带到外部资源内的特定位置或状态。在给定的外部资源内,可以在消息收发客户端104上向用户发送响应消息。外部资源可以基于外部资源的当前情境在响应中选择性地包括不同的媒体项。
消息收发客户端104可以向用户呈现可用外部资源(例如,第三方或外部应用109或小程序)的列表以启动或访问给定的外部资源。该列表可以被呈现在上下文敏感菜单中。例如,表示不同的外部应用109(或小程序)的图标可以基于用户如何启动菜单(例如,从对话界面或从非对话界面)而变化。
系统架构
图2是示出根据一些示例的关于消息收发系统100的进一步细节的框图。具体地,消息收发系统100被示出为包括消息收发客户端104和应用服务器114。消息收发系统100包含若干子系统,这些子系统在客户端侧由消息收发客户端104支持并且在服务器侧由应用服务器114支持。这些子系统包括例如短暂定时器系统202、集合管理系统204、增强系统208、地图系统210、游戏系统212和外部资源系统220。
短暂定时器系统202负责实施由消息收发客户端104和消息收发服务器118对内容进行临时或限时访问。短暂定时器系统202包含若干个定时器,这些定时器基于与消息或消息的集合(例如,故事)相关联的持续时间和显示参数,选择性地实现经由消息收发客户端104访问(例如,用于呈现和显示)消息及相关联的内容。下面提供关于短定时器系统202的操作的另外的细节。
集合管理系统204负责管理媒体的组或集合(例如,文本、图像、视频和音频数据的集合)。可以将内容(例如,消息,包括图像、视频、文本和音频)的集合组织成“事件图库”或“事件故事”。这样的集合可以在指定的时间段(例如,与内容相关的事件的持续时间)内可用。例如,可以使与音乐会相关的内容在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责向消息收发客户端104的用户界面发布提供特定集合存在的通知的图标。
此外,集合管理系统204还包括策展接口206,该策展接口206使得集合管理者能够管理和策展特定内容集合。例如,策展接口206使得事件组织者能够策展与特定事件相关的内容的集合(例如删除不适当的内容或冗余消息)。此外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动地策展内容集合。在某些示例中,可以为将用户生成的内容包括到集合中而向用户支付补偿。在这样的情况下,集合管理系统204进行操作以自动向这样的用户支付使用其内容的费用。
增强系统208提供使得用户能够增强(例如,注释或以其他方式修改或编辑)与消息相关联的媒体内容的各种功能。例如,增强系统208提供与生成和发布用于由消息收发系统100处理的消息的媒体覆盖有关的功能。增强系统208基于客户端设备102的地理位置可操作地向消息收发客户端104供应媒体覆盖或增强(例如,图像过滤器)。在另一示例中,增强系统208基于诸如客户端设备102的用户的社交网络信息的其他信息可操作地向消息收发客户端104供应媒体覆盖。媒体覆盖可以包括音频和视觉内容和视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色覆盖。可以将音频和视觉内容或视觉效果应用于客户端装置102处的媒体内容项(例如,照片)。例如,媒体覆盖可以包括可以覆盖在由客户端设备102拍摄的照片的顶部的文本、图形元素或者图像。在另一示例中,媒体覆盖包括位置标识覆盖(例如,威尼斯海滩)、实时事件的名称或商家名称覆盖(例如,海滩咖啡馆)。在另一示例中,增强系统208使用客户端设备102的地理位置来标识包括客户端设备102的地理位置处的商家的名称的媒体覆盖。媒体覆盖可以包括与商家相关联的其他标记。媒体覆盖可以被存储在数据库126中并通过数据库服务器120访问。
在一些示例中,增强系统208提供基于用户的发布平台,该基于用户的发布平台使得用户能够在地图上选择地理位置并上传与所选地理位置相关联的内容。用户也可以指定在什么情况下应向其他用户提供特定的媒体覆盖。增强系统208生成媒体覆盖,该媒体覆盖包括所上传的内容并将所上传的内容与所选择的地理位置相关联。
在其他示例中,增强系统208提供基于商家的发布平台,该基于商家的发布平台使得商家能够选择经由投标过程与地理位置相关联的特定媒体覆盖。例如,增强系统208使最高出价商家的媒体覆盖与对应地理位置相关联达预定义时间量。增强系统208与图像处理服务器122通信以自动地选择和激活与由客户端设备102捕获的图像有关的增强现实体验。一旦在用户使用用户环境中的摄像装置扫描图像时选择增强现实体验,一个或更多个图像、视频或增强现实图形元素就被检索并呈现为扫描图像顶部上的覆盖。在一些情况下,摄像装置被切换至正面视角(例如,客户端设备102的前置摄像装置响应于特定增强现实体验的激活而被激活),并且来自客户端设备102的前置摄像装置而不是客户端设备102的后置摄像装置的图像开始显示在客户端设备102。一个或更多个图像、视频或增强现实图形元素被检索并呈现为由客户端设备102的前置摄像装置捕获和显示的图像之上的覆盖。
增强系统208提供在相对于由客户设备102捕获的视频中描绘的真实世界对象(例如,人)的位置处生成、显示和跟踪虚拟对象的功能。例如,增强系统208跟踪在相对于视频的真实世界场景中有特征的真实世界对象的位置内的虚拟对象或增强现实项(例如,化身)。增强系统208包括一组跟踪子系统,该组跟踪子系统被配置成基于可以被存储并与视频相关联的一组跟踪标记以及跟踪子系统之间的转换来跟踪在三维空间中的位置处的虚拟对象。增强系统208还可以基于针对视频存储的跟踪标记的可用性,在具有六个自由度(6DoF)的跟踪与具有三个自由度(3DoF)的跟踪之间进行转换。
地图系统210提供各种地理位置功能,并且支持由消息收发客户端104呈现基于地图的媒体内容和消息。例如,地图系统210使得能够在地图上显示(例如,存储在简档数据316中的)用户图标或化身,以指示用户的“朋友”的当前或过去位置,以及由这些朋友在地图的上下文内生成的媒体内容(例如,包括照片和视频的消息的集合)。例如,可以在消息收发客户端104的地图界面上,将用户从特定地理位置发布到消息收发系统100的消息在地图的上下文内在该特定位置处显示给特定用户的“朋友”。用户还可以经由消息收发客户端104与消息收发系统100的其他用户(例如,使用适当的状态化身)共享他或她的位置和状态信息,其中该位置和状态信息在消息收发客户端104的地图界面的上下文内被类似地显示给选择用户。
游戏系统212在消息收发客户端104的上下文内提供各种游戏功能。消息收发客户端104提供游戏界面,该游戏界面提供可用游戏的列表(例如,基于web的游戏或基于web的应用),该游戏可以由用户在消息收发客户端104的上下文中启动并且与消息收发系统100的其他用户一起玩。消息收发系统100还使得特定用户能够通过从消息收发客户端104向其他用户发出邀请来邀请这样的其他用户参与玩特定游戏。消息收发客户端104还支持在玩游戏的上下文中的语音消息收发和文本消息收发(例如,聊天)两者,提供游戏的排行榜,并且还支持提供游戏内奖励(例如,游戏币和物品)。
外部资源系统220为消息收发客户端104提供接口以与外部应用服务器110通信以启动或访问外部资源。每个外部资源(应用)服务器110托管例如基于标记语言(例如,HTML5)的应用或外部应用(例如,在消息收发客户端104外部的游戏、实用程序、支付或乘车共享应用)的小规模版本。消息收发客户端104可以通过从与基于web的资源相关联的外部资源(应用)服务器110访问HTML5文件来启动基于web的资源(例如,应用)。在某些示例中,由外部资源服务器110托管的应用利用由消息收发服务器118提供的软件开发工具包(SDK)以JavaScript编程。SDK包括应用编程接口(API),API具有可以由基于web的应用调用或激活的功能。在某些示例中,消息收发服务器118包括JavaScript库,该库向给定的第三方资源提供对消息收发客户端104的某些用户数据的访问。HTML5被用作对游戏进行编程的示例技术,但是可以使用基于其他技术编程的应用和资源。
为了将SDK的功能集成到基于web的资源中,SDK由外部资源(应用)服务器110从消息收发服务器118下载或者由外部资源(应用)服务器110以其他方式接收。一旦被下载或接收,SDK就将被包括作为基于web的外部资源的应用代码的一部分。然后,基于web的资源的代码可以调用或激活SDK的某些功能以将消息收发客户端104的特征集成到基于web的资源中。
存储在消息收发服务器118上的SDK有效地提供了外部资源(例如,第三方或外部应用109或小程序与消息收发客户端104)之间的桥接。这为用户提供了在消息收发客户端104上与其他用户通信的无缝体验,同时还保留了消息收发客户端104的外观和感觉。为了桥接外部资源与消息收发客户端104之间的通信,在某些示例中,SDK促进外部资源服务器110与消息收发客户端104之间的通信。在某些示例中,在客户端设备102上运行的WebViewJavaScriptBridge在外部资源与消息收发客户端104之间建立两个单向通信通道。消息经由这些通信通道在外部资源与消息收发客户端104之间异步发送。每个SDK功能激活都作为消息和回调被发送。每个SDK功能都是通过构造唯一的回调标识符并发送具有该回调标识符的消息来实现的。
通过使用SDK,并非来自消息收发客户端104的所有信息都与外部资源服务器110共享。SDK基于外部资源的需要来限制共享哪些信息。在某些示例中,每个外部资源服务器110将与基于web的外部资源对应的HTML5文件提供给消息收发服务器118。消息收发服务器118可以在消息收发客户端104中添加基于web的外部资源的视觉表示(例如盒设计或其他图形)。一旦用户通过消息收发客户端104的GUI选择视觉表示或者指示消息收发客户端104访问基于web的外部资源的特征,消息收发客户端104就获得HTML5文件并且使访问基于web的外部资源的特征所需的资源实例化。
消息收发客户端104呈现用于外部资源的图形用户界面(例如,登录页面或标题画面)。在呈现登录页面或标题画面期间、之前或之后,消息收发客户端104确定所启动的外部资源是否先前已被授权访问消息收发客户端104的用户数据。响应于确定所启动的外部资源先前已被授权访问消息收发客户端104的用户数据,消息收发客户端104呈现外部资源的另一图形用户界面,该界面包括外部资源的功能和特征。响应于确定所启动的外部资源先前未被授权访问消息收发客户端104的用户数据,在显示外部资源的登录页面或标题画面的阈值时间段(例如,3秒)之后,消息收发客户端104向上滑动用于授权外部资源访问用户数据的菜单(例如,将菜单动画化为从屏幕底部浮现到屏幕的中间或其他部分)。该菜单标识了外部资源将被授权使用的用户数据的类型。响应于接收到对接受选项的用户选择,消息收发客户端104将外部资源添加到授权的外部资源的列表中,并且允许外部资源从消息收发客户端104访问用户数据。在一些示例中,外部资源由消息收发客户端104根据OAuth2框架来授权访问用户数据。
消息收发客户端104基于被授权的外部资源的类型来控制与外部资源共享的用户数据的类型。例如,包括完整的外部应用(例如,第三方或外部应用109)的外部资源被提供了对第一类型的用户数据(例如,具有或不具有不同化身特征的用户的仅二维化身)的访问权。作为另一示例,包括外部应用的小规模版本(例如,第三方应用的基于web的版本)的外部资源被提供了对第二类型的用户数据(例如,支付信息、用户的二维化身、用户的三维化身、以及具有各种化身特征的化身)的访问权。化身特征包括定制化身的外观和感觉(例如不同的姿势、面部特征、服装等)的不同方式。
数据架构
图3是示出根据某些示例的可以存储在消息收发服务器系统108的数据库126中的数据结构300的示意图。虽然数据库126的内容被示为包括若干表,但是应当理解的是,数据可以存储在其他类型的数据结构中(例如,作为面向对象的数据库)。
数据库126包括存储在消息表302中的消息数据。对于任何特定的一条消息,该消息数据包括至少消息发送者数据、消息接收方(或接收者)数据和有效载荷。下面参照图4描述关于可以被包括在消息中并且被包括在存储在消息表302中的消息数据中的信息的另外的细节。
实体表306存储实体数据,并且(例如,参考地)链接到实体图308和简档数据316。在实体表306内为其维持记录的实体可以包括个人、公司实体、组织、对象、地点、事件等。不管实体类型如何,消息收发服务器系统108存储关于其的数据的任何实体可以是识别的实体。为每个实体提供唯一的标识符以及实体类型标识符(未示出)。
实体图308存储与实体之间的关系和关联有关的信息。仅作为示例,这样的关系可以是基于兴趣或基于活动的职业关系(例如,在共同的公司或组织工作)、社交关系。
简档数据316存储关于特定实体的多种类型的简档数据。基于由特定实体指定的隐私设置,简档数据316可以被选择性地使用并呈现给消息收发系统100的其他用户。在实体是个人的情况下,简档数据316包括例如用户名、电话号码、地址、设置(例如,通知和隐私设置),以及用户选择的化身表示(或这样的化身表示的集合)。然后,特定用户可以将这些化身表示中的一个或更多个选择性地包括在经由消息收发系统100传送的消息的内容中以及在由消息收发客户端104向其他用户显示的地图界面上。化身表示的集合可以包括“状态化身”,其呈现用户可以选择在特定时间进行通信的状态或活动的图形表示。
在实体是群组的情况下,除了群组名称、成员和相关群组的各种设置(例如,通知)之外,群组的简档数据316还可以类似地包括与群组相关联的一个或更多个化身表示。
数据库126还在增强表310中存储增强数据,例如覆盖或过滤器。增强数据与视频(视频的数据被存储在视频表304中)和图像(图像的数据被存储在图像表312中)相关联并且应用于视频和图像。
在一个示例中,过滤器是在向接收方用户呈现期间被显示为覆盖在图像或视频上的覆盖。过滤器可以是各种类型的,包括当发送用户正在编写消息时由消息收发客户端104呈现给发送用户的一组过滤器中用户选择的过滤器。其他类型的过滤器包括地理位置过滤器(也称为地理过滤器),其可以基于地理位置被呈现给发送用户。例如,可以基于由客户端设备102的全球定位系统(GPS)单元确定的地理位置信息,由消息收发客户端104在用户界面内呈现特定于附近或特定位置的地理位置过滤器。
另一种类型的过滤器是数据过滤器,其可以由消息收发客户端104基于在消息创建过程期间由客户端设备102收集的其他输入或信息选择性地呈现给发送用户。数据过滤器的示例包括特定位置处的当前温度、发送用户行进的当前速度、客户端设备102的电池寿命或当前时间。
可以存储在图像表312内的其他增强数据包括增强现实内容项(例如,对应于应用透镜(Lenses)或增强现实体验)。增强现实内容项可以是可以添加至图像或视频的实时特效和声音。
如上所述,增强数据包括增强现实内容项、覆盖、图像变换、AR图像、虚拟对象以及指代可以应用于图像数据(例如,视频或图像)的修改的类似的术语。这包括实时修改,其在使用客户端设备102的设备传感器(例如,一个或多个摄像装置)捕获图像时对该图像进行修改,然后在客户端设备102的屏幕上使用该修改进行显示。这还包括对所存储的内容的修改,例如对可以被修改的图库中的视频剪辑的修改。例如,在具有对多个增强现实内容项的访问权的客户端设备102中,用户可以使用具有多个增强现实内容项的单个视频来查看不同的增强现实内容项将如何修改存储的视频。例如,通过为内容选择不同的增强现实内容项,可以将应用不同伪随机移动模型的多个增强现实内容项应用于该相同内容。类似地,实时视频捕获可以与示出的修改一起使用,以显示当前由客户端设备102的传感器捕获的视频图像将如何修改捕获的数据。这样的数据可以简单地显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可以在进行或不进行修改(或两者)的情况下被记录并被存储在存储器中。在一些系统中,预览功能可以显示不同的增强现实内容项将同时在显示器的不同窗口内显示的情形。例如,这可以使得具有不同伪随机动画的多个窗口能够同时在显示器上被查看。
因此,使用增强现实内容项的数据和各种系统或使用该数据修改内容的其他这样的变换系统可以涉及视频帧中对象(例如,面部、手、身体、猫、狗、表面、物体等)的检测;在这些对象离开视场、进入视场以及在视场四处移动时对这些对象的跟踪;以及在跟踪这些对象时对其进行的修改或变换。在各种示例中,可以使用用于实现这样的变换的不同方法。一些示例可以涉及:生成一个或多个对象的三维网格模型;以及在视频内使用模型的变换和动画纹理来实现变换。在其他示例中,可以使用对象上的点的跟踪将图像或纹理(其可以是二维或三维的)放置在所跟踪的位置处。在更进一步的示例中,可以使用视频帧的神经网络分析将图像、模型或纹理放置在内容(例如,图像或视频帧)中。因此,增强现实内容项既指代用于在内容中创建变换的图像、模型和纹理,也指代通过对象检测、跟踪和放置实现这样的变换所需的附加建模和分析信息。
可以利用保存在任何类型的计算机化系统的存储器中的任何种类的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并且将其保存在设备的存储器中,或者可以使用设备的传感器生成视频流。此外,可以使用计算机动画模型来处理任何对象,例如人的面部和人身体的各部分、动物或非生物(例如,椅子、汽车或其他对象)。
在一些示例中,当与要变换的内容一起选择特定修改时,要变换的元素由计算设备识别,并且然后如果要变换的元素存在于视频的帧中,则被检测和跟踪。根据修改请求修改对象的元素,因此变换视频流的帧。针对不同类型的变换,可以通过不同的方法执行对视频流的帧的变换。例如,对于主要是指对象的元素的变化形式的帧变换,计算对象的每个元素的特征点(例如,使用主动形状模型(ASM)或其他已知方法)。然后,针对对象的至少一个元素中的每一个生成基于特征点的网格。该网格用于跟踪视频流中的对象的元素的后续阶段。在跟踪的过程中,所提及的针对每个元素的网格与每个元素的位置对准。然后,在网格上生成附加点。基于修改请求针对每个元素生成第一点的第一集合,并且基于第一点的集合和修改请求针对每个元素生成第二点的集合。然后,可以通过基于第一点的集合和第二点的集合以及网格修改对象的元素,对视频流的帧进行变换。在这样的方法中,也可以通过跟踪和修改背景来使所修改对象的背景改变或变形。
在一些示例中,使用对象的元素改变对象的一些区域的变换可以通过计算对象的每个元素的特征点并基于计算的特征点生成网格来执行。在网格上生成点,并且然后生成基于点的各种区域。然后,通过将每个元素的区域与至少一个元素中的每一个的位置对准来跟踪对象的元素,并且可以基于修改请求来修改区域的属性,从而对视频流的帧进行变换。根据具体的修改请求,可以以不同的方式变换所提及的区域的属性。这样的修改可以涉及:改变区域的颜色;从视频流的帧中移除区域的至少一些部分;基于修改请求将一个或更多个新对象包括在区域中;以及对区域或对象的元素进行修改或使其变形。在各种示例中,可以使用这样的修改或其他类似修改的任何组合。对于要被动画化的某些模型,可以选择一些特征点作为控制点,以用于确定用于模型动画的选项的整个状态空间。
在使用面部检测来变换图像数据的计算机动画模型的一些示例中,使用特定面部检测算法(例如,Viola-Jones)在图像上检测面部。然后,将主动形状模型(ASM)算法应用于图像的面部区域以检测面部特征参考点。
可以使用适合于面部检测的其他方法和算法。例如,在一些示例中,使用界标来定位特征,该界标表示存在于所考虑的大多数图像中的可区分点。例如,针对面部界标,可以使用左眼瞳孔的位置。如果初始界标不可识别(例如,如果人有眼罩),则可以使用次级界标。这样的界标识别过程可以用于任何这样的对象。在一些示例中,界标的集合形成形状。可以使用形状中的点的坐标将形状表示为矢量。利用相似变换(允许平移、缩放和旋转)将一个形状与另一个形状对准,该相似变换使形状点之间的平均欧几里德距离最小化。平均形状是对准的训练形状的均值。
在一些示例中,开始从与由全局面部检测器确定的面部的位置和大小对准的平均形状搜索界标。然后,这样的搜索重复以下步骤直至发生收敛:通过每个点周围的图像纹理的模板匹配来调整形状点的位置从而建议暂定形状,并且然后使暂定形状符合全局形状模型。在某些系统中,个别的模板匹配是不可靠的,形状模型将弱模板匹配的结果进行池化,以形成更强的整体分类器。整个搜索从粗略分辨率到精细分辨率在图像金字塔的每个级别上重复。
变换系统可以在客户端设备(例如,客户端设备102)上捕获图像或视频流,并在客户端设备102上本地执行复杂的图像操纵,同时维持适当的用户体验、计算时间和功耗。复杂的图像操纵可以包括大小和形状改变、情绪转移(例如,将面部从皱眉改变为微笑)、状态转移(例如,使被摄体变老、减小表观年龄、改变性别)、风格转移、图形元素应用,以及由已经被配置成在客户端装置102上高效地执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
在一些示例中,用于变换图像数据的计算机动画模型可以由系统使用,在该系统中,用户可以使用具有神经网络的客户端设备102来捕获用户的图像或视频流(例如,自拍),该神经网络操作作为在客户端设备102上操作的消息收发客户端104的一部分。在消息收发客户端104内操作的变换系统确定面部在图像或视频流中的存在并且提供与计算机动画模型相关联的修改图标以变换图像数据,或者计算机动画模型可以被呈现为与本文中描述的界面相关联。修改图标包括改变,该改变可以是作为修改操作的一部分的用于修改图像或视频流内的用户的面部的基础。一旦选择了修改图标,变换系统就发起转换用户的图像以反映所选择的修改图标(例如,在用户上生成笑脸)的过程。一旦图像或视频流被捕获并且指定的修改被选择,修改的图像或视频流就可以呈现在客户端设备102上显示的图形用户界面中。变换系统可以在图像或视频流的一部分上实施复杂的卷积神经网络,以生成和应用选择的修改。也就是说,用户就可以捕获图像或视频流并且一旦选择了修改图标,就实时或近乎实时地被呈现了修改结果。此外,当正在捕获视频流时,修改可以是持久的,并且所选择的修改图标保持被切换。机器教导的神经网络可以用于实现这样的修改。
呈现由变换系统执行的修改的图形用户界面可以为用户供应附加的交互选项。这样的选项可以基于用于发起特定计算机动画模型的选择和内容捕获的接口(例如,从内容创建者用户界面发起)。在各种示例中,修改可以在对修改图标的初始选择之后是持久的。用户可以通过轻击或以其他方式选择正由变换系统修改的面部来打开或关闭修改,并将其存储以供以后查看或浏览到成像应用的其他区域。在由变换系统修改多个面部的情况下,用户可以通过轻击或选择在图形用户界面内修改和显示的单个面部来全局开启或关闭修改。在一些示例中,可以通过轻击或选择图形用户界面内显示的单独面部或一系列面部来单独修改一组多个面部中的各个面部,或者单独切换这样的修改。
故事表314存储与消息和相关联的图像、视频或音频数据的集合有关的数据,这些数据被编译成集合(例如,故事或图库)。特定集合的创建可以由特定用户(例如,在实体表306中维护其记录的每个用户)发起。用户可以以已经由该用户创建和发送/广播的内容集合的形式创建“个人故事”。为此,消息收发客户端104的用户界面可以包括用户可选择的图标,以使得发送用户能够将特定内容添加到他或她的个人故事。
集合还可以构成作为来自多个用户的内容集合的“实况故事”,该内容集合是手动地、自动地或者使用手动技术和自动技术的组合创建的。例如,“实况故事”可以构成来自各种位置和事件的用户提交内容的策划流。可以例如经由消息收发客户端104的用户接口向其客户端设备使定位服务被启用并且在特定时间处于公共位置事件处的用户呈现选项,以将内容贡献给特定的实况故事。可以由消息收发客户端104基于用户的位置向他或她标识实况故事。最终结果是从社群角度讲述的“实况故事”。
另外类型的内容集合被称为“位置故事”,其使得其客户端设备102位于特定地理位置(例如,在学院或大学校园)内的用户能够对特定集合做出贡献。在一些示例中,对位置故事的贡献可能需要第二程度的认证来验证终端用户属于特定组织或其他实体(例如,是大学校园中的学生)。
如以上提及的,视频表304存储视频数据,在一个示例中,该视频数据与其记录保存在消息表302内的消息相关联。类似地,图像表312存储与消息数据被存储在实体表306中的消息相关联的图像数据。实体表306可以使来自增强表310的各种增强与存储在图像表312和视频表304中的各种图像和视频相关联。
数据通信架构
图4是示出根据一些示例的消息400的结构的示意图,消息400由消息收发客户端104生成,以用于传送至另外的消息收发客户端104或消息收发服务器118。特定消息400的内容用于填充存储在数据库126内的消息表302,该消息表302可由消息收发服务器118访问。类似地,消息400的内容作为客户端设备102或应用服务器114的“传输中”(“in-transit”)或“飞行中”(“in-flight”)数据存储在存储器中。消息400被示出为包括以下示例组成部分
·消息标识符402:标识消息400的唯一标识符。
·消息文本有效载荷404:要由用户经由客户端设备102的用户界面生成并且包括在消息400中的文本。
·消息图像有效载荷406:由客户端设备102的摄像装置部件捕获的或从客户端设备102的存储器检索到的、并且包括在消息400中的图像数据。发送或接收到的消息400的图像数据可以存储在图像表312中。
·消息视频有效载荷408:由摄像装置部件捕获的或从客户端设备102的存储器部件检索到的、并且包括在消息400中的视频数据。发送或接收到的消息400的视频数据可以存储在视频表304中。
·消息音频有效载荷410:由麦克风捕获的或从客户端设备102的存储器部件检索到的、并且包括在消息400中的音频数据。
·消息增强数据412:表示要应用于消息400的消息图像有效载荷406、消息视频有效载荷408或消息音频有效载荷410的增强的增强数据(例如,过滤器、贴纸或其他注解或增强)。针对发送或接收的消息400的增强数据可以存储在增强表310中。
·消息持续时间参数414:参数值,其指示消息的内容(例如,消息图像有效载荷406、消息视频有效载荷408、消息音频有效载荷410)将经由消息收发客户端104被呈现给用户或使其对于用户可访问的以秒为单位的时间量。
·消息地理位置参数416:与消息的内容有效载荷相关联的地理位置数据(例如,纬度坐标和经度坐标)。多个消息地理位置参数416值可以被包括在有效载荷中,这些参数值中的每一个参数值与包括在内容中的内容项(例如消息图像有效载荷406内的特定图像或消息视频有效载荷408中的特定视频)相关联。
·消息故事标识符418:标识一个或更多个内容集合(例如,在故事表314中标识的“故事”)的标识符值,其中消息400的消息图像有效载荷406中的特定内容项与一个或更多个内容集合相关联。例如,可以使用标识符值将消息图像有效载荷406内的多个图像各自与多个内容集合相关联。
·消息标签420:每个消息400可以用多个标签来标记,这些标签中的每个标签都指示消息有效载荷中包括的内容的主题。例如,在消息图像有效载荷406中包括的特定图像描绘动物(例如狮子)的情况下,标签指可以包括在指示相关动物的消息标签420中。标签值可以基于用户输入手动地生成,或者可以使用例如图像识别自动地生成。
·消息发送者标识符422:指示在其上生成消息400并且从其发送消息400的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
·消息接收者标识符424:指示消息400寻址到的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
消息400的各个组成部分的内容(例如,值)可以是指向其之内存储有内容数据值的表中的位置的指针。例如,消息图像有效载荷406中的图像值可以是指向图像表312内的位置的指针(或地址)。类似地,消息视频有效载荷408内的值可以指向存储在视频表304内的数据,存储在消息增强数据412内的值可以指向存储在增强表310中的数据,存储在消息故事标识符418内的值可以指向存储在故事表314中的数据,并且存储在消息发送者标识符422和消息接收者标识符424内的值可以指向存储在实体表306内的用户记录。
图5是示出访问限制过程500的示意图,根据该访问限制过程,对内容(例如,短暂消息502及相关联的多媒体数据有效载荷)或内容集合(例如,短暂消息故事504)的访问可以是时间受限的(例如,使得是短暂的)。
短暂消息502被示出为与消息持续时间参数506相关联,消息持续时间参数506的值确定消息收发客户端104将向短暂消息502的接收用户显示短暂消息502的时间量。在一个实施方式中,在消息收发客户端104是应用客户端的情况下,根据发送用户使用消息持续时间参数506指定的时间量,由接收用户可查看短暂消息502达到最多10秒。
消息持续时间参数506和消息接收者标识符424被示出为消息定时器512的输入,消息定时器512负责确定向由消息接收者标识符424标识的特定接收用户示出短暂消息502的时间量。特别地,仅在由消息持续时间参数506的值确定的时间段内向相关接收用户示出短暂消息502。消息定时器512被示出为向更一般化的短暂定时器系统202提供输出,该短暂定时器系统202负责向接收用户显示内容(例如,短暂消息502)的总体定时。
在图5中短暂消息502被示出为包括在短暂消息故事504(例如,个人故事或事件故事)内。短暂消息故事504具有相关联的故事持续时间参数508,故事持续时间参数508的值确定短暂消息故事504被呈现并且可由系统100的用户访问的持续时间。例如,故事持续时间参数508可以是音乐会的持续时间,其中,短暂消息故事504是有关该音乐会的内容的集合。替选地,当执行短暂消息故事504的设置和创建时,用户(拥有用户或策展者用户)可以指定故事持续时间参数508的值。
此外,短暂消息故事504内的每个短暂消息502具有相关联的故事参与参数510,故事参与参数510的值确定在短暂消息故事504的上下文内可访问短暂消息502的持续时间。因此,在短暂消息故事504本身根据故事持续时间参数508到期之前,特定的短暂消息故事504可以“到期”并且在短暂消息故事504的上下文中变得不可访问。故事持续时间参数508、故事参与参数510和消息接收者标识符424各自向故事定时器514提供输入,故事定时器514可操作地首先确定短暂消息故事504的特定短暂消息502是否将被显示给特定接收用户,并且如果是,则确定显示多长时间。注意,由于消息接收者标识符424,短暂消息故事504也知道特定接收用户的身份。
因此,故事定时器514可操作地控制相关联的短暂消息故事504以及包括在短暂消息故事504中的单独的短暂消息502的总寿命。在一个实施方式中,在短暂消息故事504内的每个短暂消息502在由故事持续时间参数508指定的时间段内保持可查看和可访问。在另一实施方式中,在短暂消息故事504的上下文内,某个短暂消息502可能基于故事参与参数510而到期。注意,即使在短暂消息故事504的上下文内,消息持续时间参数506也仍然可以确定向接收用户显示特定短暂消息502的持续时间。因此,消息持续时间参数506确定向接收用户显示特定短暂消息502的持续时间,而不管接收用户是在短暂消息故事504的上下文之内还是之外查看该短暂消息502。
短暂定时器系统202还可以基于确定已经超过相关联的故事参与参数510而从短暂消息故事504中可操作地移除特定的短暂消息502。例如,当发送用户已经建立了从发布起24小时的故事参与参数510时,短暂定时器系统202将在指定的二十四小时之后从短暂消息故事504中移除相关的短暂消息502。当针对短暂消息故事504内的每个短暂消息502的故事参与参数510已经到期时或者当短暂消息故事504本身根据故事持续时间参数508已经到期时,短暂定时器系统202还进行操作以移除短暂消息故事504。
在某些使用情况下,特定短暂消息故事504的创建者可以指定无期限的故事持续时间参数508。在这种情况下,短暂消息故事504内最后剩余的短暂消息502的故事参与参数510的到期将确定短暂消息故事504本身何时到期。在这种情况下,添加至短暂消息故事504的具有新的故事参与参数510的新的短暂消息502实际上将短暂消息故事504的寿命延长到等于故事参与参数510的值。
响应于短暂定时器系统202确定短暂消息故事504已到期(例如,不再是可访问的),短暂定时器系统202与消息收发系统100(并且例如特别是消息收发客户端104)进行通信,以使得与相关短暂消息故事504相关联的标记(例如,图标)不再显示在消息收发客户端应用104的用户界面内。类似地,当短暂定时器系统202确定针对特定短暂消息502的消息持续时间参数506已经到期时,短暂定时器系统202使消息收发客户端应用104不再显示与短暂消息502相关联的标记(例如,图标或文本标识)。
增强系统
图6是示出增强系统208的被配置成对视频中描绘的三维空间的虚拟修改进行渲染的功能部件的框图。例如,增强系统208相对于参考点渲染三维空间内的虚拟物,该参考点与视频中描绘的真实世界对象(例如,人)相关联。如图6所示,增强系统208包括渲染模块602、跟踪模块604、中断检测模块606、对象模板模块608和处理器610。
在一些示例实施方式中,跟踪模块604包括第一跟踪子系统604A、第二跟踪子系统604B和第三跟踪子系统604C,其中,每个跟踪子系统基于与视频相关联的一组跟踪标记来跟踪虚拟对象在视频中的真实世界对象在三维空间内的位置。在客户端设备102的摄像装置捕获视频时,从/在客户端设备102上获得并存储跟踪标记。增强系统208的各个部件被配置成(例如,经由总线、共享的存储器或交换机)彼此通信。虽然在图6中未示出,但是在一些实施方式中,增强系统208可以包括摄像装置或者可以与摄像装置通信,该摄像装置被配置成产生包括包含图像或帧的序列(例如,视频)的图像数据的实况摄像装置馈送。
所描述的任何一个或更多个部件可以单独使用硬件(例如,机器的一个或更多个处理器610)或者硬件和软件的组合来实现。例如,增强系统208的所描述的任何部件可以物理地包括处理器610中的一个或更多个(例如,机器的一个或更多个处理器的子集或在机器的一个或更多个处理器之中)的布置,所述布置被配置成执行本文中针对该部件描述的操作。作为另一示例,增强系统208的任何部件可以包括软件、硬件或软件和硬件,所述软件、硬件或软件和硬件配置一个或更多个处理器610(例如,在机器的一个或更多个处理器之中)的布置以执行本文中针对该部件描述的操作。因此,增强系统208的不同部件可以包括并配置这样的处理器610的不同布置或者这样的处理器610在不同的时间点的单个布置。
此外,增强系统208中的任何两个或更多个部件可以组合成单个部件,并且本文中针对单个部件描述的功能可以在多个部件之间细分。此外,根据各种示例实施方式,本文描述为在单个机器、数据库或设备内实现的部件可以跨多个机器、数据库或设备分布。
由于环境条件、用户动作、摄像装置与被跟踪的对象/场景之间的意外视觉中断等,跟踪系统经常经受跟踪失败。常规地,这样的跟踪失败会导致虚拟对象在三维空间中的呈现中断。例如,虚拟对象可能会消失或以其他方式表现异常,从而中断虚拟对象存在于视频的三维空间内的错觉。这会破坏整体三维体验的感知质量。
常规的跟踪系统依赖于以单个方式(自然特征跟踪(NFT)、同步定位和映射(SLAM)、陀螺仪等)从设备和深度传感器上实时接收到的传感器信息的传递,以在视频被捕获时跟踪视频中的对象,以使得用户能够将虚拟对象添加到实况场景。这些系统利用增强现实中的即时(on-the-fly)摄像装置、深度和运动传感器输入数据,并允许用户在视频被捕获时的实时时刻与虚拟对象交互。但这些方法并未考虑到诸如视频中描绘的真实世界对象的另一对象的位置和移动。即,这些典型的方法将虚拟对象放置在指定的位置处,并且相对于真实世界坐标系移动这些对象。当捕获视频的摄像装置或客户端设备102四处移动时,这样的对象在视频中移动。如果给定真实世界对象在视频中移动,则常规的跟踪系统不改变虚拟对象的定位。这打破了作为这些系统的目标的现实的错觉。所公开的实施方式不是跟踪虚拟对象相对于客户端设备102或摄像装置的位置的定位和放置,而是调整虚拟对象相对于真实世界对象参考位置的定位和移动(例如,图像中描绘的人的定位和移动)。在一些实施方式中,所公开的实施方式使用典型的2D红色、绿色和蓝色(RGB)摄像装置来跟踪真实世界对象的定位,而不捕获关于对象的任何深度信息。
增强系统208存储与给定对象(例如,被选择并出现在真实世界视频中的人或其他参考对象)相关联的跟踪标记或参考点。这提供了对该问题的解决方案,该解决方案使得用户能够将虚拟对象添加到视频中的场景,并且使虚拟对象相对于真实世界对象移动并基于真实世界对象进行移动。作为一个示例,虚拟对象的大小可以基于真实世界对象的大小的变化而增大或减小。例如,如果从视频中的一帧到视频中的另一帧的真实世界对象更靠近客户端设备102,则可以类似地改变虚拟对象的位置和移动。即,虚拟对象也以与真实世界对象相同的距离并沿与真实世界对象相同的轨迹移动得更靠近客户端设备102。当真实世界对象接近或更靠近客户端设备102或摄像装置时,真实世界对象的大小也可以改变。具体地,大小可以与真实世界对象移动的距离成比例地增大给定量。在这种情况下,虚拟对象的大小也可以从一帧到另一帧增大相同的给定量。
增强系统208将参考点计算为位于与真实世界对象对应的区域内的任何点。作为示例,参考点可以是任何一个骨骼关节位置或多于一个的骨骼关节位置的组合。一旦骨骼关节位置或多个骨骼关节位置的组合被选择,增强系统208就使用它们在整个视频中的位置的变化来调整参考点。作为示例,参考点被计算为人体的多个骨骼关节位置之间的中心点。
在一些实施方式中,增强系统208在整个多个帧的序列中跟踪真实世界对象的多个骨骼关节。增强系统208仅从利用RGB摄像装置捕获的2D视频而无需深度传感器信息来识别并跟踪骨骼关节。增强系统208识别多个骨骼关节中的给定骨骼关节,该给定骨骼关节在整个帧序列中相对于其他骨骼关节移动最小量。增强系统208选择被确定为已经在帧序列中移动最小量的骨骼关节作为参考点,作为相对于真实世界对象跟踪和定位虚拟对象的基础。例如,增强系统208生成表示在整个帧序列中多个骨骼关节中每一个的移动的多个矢量。增强系统208对多个矢量进行比较,以识别与沿三维中的一个或全部的维度的最小位移量或改变量相关联的给定矢量。作为示例,手臂或肘关节可以移动得更多,并与指示3D中的大位移量的矢量相关联,而颈关节可能比肘关节移动得少,并与指示3D中的最小位移的矢量相关联。在这种情况下,增强系统208选择颈关节作为参考点,以用作跟踪虚拟对象的基础。
在一些实施方式中,用户选择视频中描绘的真实世界对象上的位置以用作参考点。在一些情况下,在多个虚拟对象被添加到视频的情况下,真实世界对象的多个不同参考点用于跟踪每个虚拟对象。例如,可以基于颈关节的移动来跟踪和重新定位第一虚拟对象,并且可以基于躯干或膝关节的移动来跟踪和重新定位第二虚拟对象。以这种方式,不同的虚拟对象相对于真实世界对象如何移动或基于真实世界对象的不同部分如何移动以不同的方式移动。
在一些实施方式中,使用机器学习技术来训练增强系统208,以预测或估计真实世界对象上的与最小移动或噪音相关联的位置。增强系统208处理描绘相同类型的真实世界对象的多个训练图像。一旦增强系统208识别出在新视频中接收到的真实世界对象与训练的真实世界对象之一相匹配,增强系统208就沿训练的真实世界对象检索参考点位置,并将参考点放置在新的真实世界对象上,以用作跟踪虚拟对象的基础。
在一些示例中,如果真实世界对象在3D空间中相对于摄像装置或客户端设备102向右移动指定量,则增强系统208更新虚拟对象的位置,以在视频中也向右移动相同的指定量。类似地,如果真实世界对象在3D空间中相对于摄像装置或客户端设备102向左移动指定量,则增强系统208更新虚拟对象的位置,以在视频中也向左移动相同的指定量。
增强系统208计算与真实世界对象对应的真实世界参考点与虚拟对象的初始位置之间的偏移量。当真实世界对象在给定的方向上和沿给定轨迹移动时,增强系统208以相对于与真实世界对象对应的真实世界参考点维持相同偏移量的方式来沿相同的方向和轨迹调整或移动虚拟对象。在一些情况下,虚拟对象模仿真实世界对象的移动。例如,如果真实世界对象围绕其自身的轴线转动,则虚拟对象也通过以与真实世界的对象相同的速率围绕其自身的轴线转动而做出响应。
增强系统208接收对虚拟3D对象的用户选择以添加到实时视频馈送。作为响应,增强系统208访问与虚拟3D对象相关联的骨骼装备(rig)。增强系统208识别虚拟3D对象的一组肢体,并且将该组肢体映射到实时视频馈送中描绘的人的肢体。在一些情况下,虚拟3D对象的肢体的数量超过人的肢体的数量。例如,虚拟3D对象可以具有人(例如,人类)不具有的一个或更多个额外肢体。具体地,虚拟3D对象可以具有躯干(在虚拟3D对象是大象的情况下)、尾部、附加的手臂或腿、或人类不具有的任何其他数量和类型的肢体。
如本文所提及的,术语“肢体”或四肢(extremity)是人类或其他动物身体的有关节的或能抓握的附肢。在人类身体中,手臂和腿通常分别被称为上肢和下肢,以包括肩带和臀带的部位。手臂和腿连接至身躯或躯干。许多动物使用肢体进行运动,例如行走、奔跑或攀爬。一些动物可以使用其前肢(其与人类的手臂类似)来搬运和操纵物体。一些动物还可以使用后面的肢体进行操纵。作为示例,大象具有用于各种操纵和进食目的的躯干肢体。一些动物包括比人类多的肢体,并且一些动物具有比人类少的肢体。
如本文所提及的,短语“额外肢体”是指虚拟对象的可移动段或物理部件,相对于该虚拟对象,真实世界对象的对应可移动段或物理部件不存在。在动物虚拟3D对象的情况下,额外肢体是真实世界的动物可以独立地控制但人类没有的可移动段(例如,鸟的尾部或翅膀)。
在这种情况下,增强系统208基于视频中描绘的人的肢体的骨骼关节的移动来移动3D虚拟对象的额外肢体。在一个示例中,增强系统208基于与人的肢体对应的一组骨骼关节的速度和加速度来物理地适配一个或更多个额外肢体。
例如,增强系统208计算与人的左手臂对应的骨骼关节跨一组视频帧的速度、加速度和方向矢量。然后,增强系统208可以将3D虚拟对象的额外肢体(例如,躯干或尾部)沿与人的左手臂跨视频帧移动相同的方向或相反的方向移动。额外肢体可以以比左手臂的速度和加速度大预定值的速率移动,或者以比左手臂的速度和加速度慢预定值的速率移动。
作为另一示例,增强系统208计算与人的两个肢体(例如,左手臂和右手臂)对应的骨骼关节跨一组视频帧的速度、加速度和方向矢量。然后,增强系统208可以将3D虚拟对象的额外肢体(例如,躯干或尾部)以与人的左手臂和右手臂的组合跨视频帧移动相同的方向或相反的方向移动。具体地,增强系统208计算两个肢体的平均轨迹,并且基于人的两个肢体的平均轨迹移动额外肢体。额外肢体可以以比左手臂和右手臂的平均速度或组合速度和加速度大或慢预定值的速率移动。
因此,在这种情况下,增强系统208将3D虚拟对象的多个肢体中的第一组肢体映射到该组骨骼关节的第一分组(subset),并且移动多个肢体中的第一组肢体以跟踪该组骨骼关节的第一分组的移动。例如,增强系统208将视频中描绘的人的两只手臂映射到3D虚拟对象的相应前腿。每条前腿反映了对应手臂的各自移动。即,当左手臂向上移动时,3D虚拟对象的左前腿也向上移动。增强系统208将3D虚拟对象的多个肢体中的第二组肢体映射到该组骨骼关节的第二分组,并且移动多个肢体中的第二组肢体以跟踪该组骨骼关节的第二分组的移动。例如,增强系统208将视频中描绘的人的两条腿映射到3D虚拟对象的相应后腿或后面的腿。每条后腿或后面的腿反映了对应手臂的相应移动。即,当左腿向右移动时,3D虚拟对象的左后腿也按相同的距离和相同的速度向右移动。增强系统208确定3D虚拟对象的骨骼装备包括不具有对应骨骼关节肢体的至少一个额外肢体。具体地,在映射人的所有肢体之后,增强系统208可以确定仍存在没有被映射的3D虚拟对象的肢体。在这种情况下,增强系统208基于骨骼关节的第一分组或第二分组中的至少一个的移动,移动未包括在多个肢体中的第一组肢体和第二组肢体中的额外肢体。
在一个实现方式中,增强系统208检索一个或更多个额外肢体的标签。该标签可以识别额外肢体的类型。该类型可以指定额外肢体的移动的方式(例如,独立于肢体的移动的自由移动);肢体相对于虚拟对象的其他肢体的定位;该肢体是否是躯干、尾部或翅膀等。基于额外肢体的类型,增强系统208可以选择多种方式中的一种以根据或独立于人的对应肢体所映射到的其他肢体来移动额外肢体。在一些情况下,额外肢体与指定的移动类型预先相关联,并且在这种情况下,增强系统208检索与额外肢体相关联的移动的对应类型。
在一些实施方式中,增强系统208应用于额外肢体的第一类型移动与基于人的一个或更多个肢体的移动并复制人的一个或更多个肢体的移动的移动对应。在这种情况下,增强系统208基于人的指定肢体的移动来反映额外肢体的移动。作为示例,增强系统208基于一个或更多个额外肢体的类型,在一组骨骼关节的第一分组与第二分组之间选择骨骼关节的分组(例如,增强系统208选择人的一只或两只手臂)。然后,增强系统208基于选择的骨骼关节的分组,通过复制选择的骨骼关节的分组的移动来移动一个或更多个额外肢体。例如,如果人的一只或两只手臂沿某个方向并以某个速度或加速度移动,则增强系统208沿与某个方向相同或相反的方向并以相同的或调整的速度和加速度移动额外肢体。在另一实施方式中,增强系统208基于骨骼关节的第一分组与第二分组的组合移动(例如,基于人的两只手臂和/或两条腿的组合移动)来移动额外肢体。
在一些实施方式中,增强系统208应用于额外肢体的第二类型的移动与使用逆运动学对人的一个或更多个肢体进行的基于运动重新定位的移动对应。在这种情况下,增强系统208检测视频中的人的特定一组肢体的运动,并将该运动以指定方式重新定位到额外肢体。例如,如果人的腿向前移动一定量,则增强系统208移动3D虚拟对象的所映射的前腿,并且还将该运动重新定位到3D虚拟对象的后腿,使得后腿以自然的方式沿与前腿相同的方向移动。作为具体的示例,3D虚拟对象可以包括3D半人马,该3D半人马具有两条前腿、两条后腿和两只手臂。在这种情况下,增强系统208将3D半人马的两只手臂映射到与人的手臂对应的一组骨骼关节的第一分组;将3D半人马的两条前腿映射到与人的腿对应的一组骨骼关节的第二分组;并将与人的腿对应的一组骨骼关节的第二分组的运动重新定位到3D半人马的后腿。
增强系统208包括多个冗余跟踪子系统604A至604C,这些冗余跟踪子系统604A至604C使得能够在这样的跟踪子系统之间无缝转换,增强系统208从在捕获视频时存储的多个跟踪方法获得传感器信息,并将这样的多个跟踪方法传感器信息合并到单个跟踪系统中。该系统能够基于由跟踪系统跟踪的跟踪标记的可用性通过在来自多个跟踪系统的存储的传感器信息之间进行组合和转换,来将跟踪虚拟对象与6DoF和3DoF(自由度)进行组合。当由任何一个跟踪系统跟踪的标记在视频的捕获期间变得不可用时,增强系统208在以6DoF与3DoF进行的跟踪之间无缝地切换,从而向用户提供不中断的体验。例如,在视觉跟踪系统(例如,NFT、SLAM)的情况下,通常分析以确定取向的跟踪标记可以用来自陀螺仪跟踪系统的陀螺仪跟踪标记代替。这将因此能够基于跟踪标记的可用性在6Dof与3DoF的跟踪之间进行转换。
在一些示例实施方式中,为了在6DoF与3DoF的跟踪之间转换,增强系统208收集跟踪标记并将其存储在包括平移标记(例如,上、下、左、右)和旋转标记(例如,俯仰、偏航、滚转)的跟踪矩阵内。由NFT系统收集的平移标记由此可以从跟踪矩阵中提取,并且在由NFT系统收集的未来平移标记变得不准确或不可用时使用。同时,旋转标记继续由陀螺仪提供。以这种方式,当移动设备丢失跟踪标记时,存在于三维空间中的被跟踪对象将不会在跟踪标记丢失时的帧处突然改变。随后,当目标跟踪对象重新出现在屏幕中,并且获得新的平移T1时,视图矩阵的平移部分将利用新的平移T1,并且使用T1至T0作为视图矩阵的平移。
图7是示出在执行用于在视频中渲染虚拟对象的过程700时的增强系统208的示例操作的流程图。过程700可以以由一个或更多个处理器执行的计算机可读指令实现,使得过程700的操作可以部分地或全部地由增强系统208的功能部件执行;因此,下面参考其通过示例的方式描述过程700。然而,在其他实施方式中,过程700的操作中的至少一些操作可以被部署在各种其他硬件配置上。因此,该过程700不旨在受限于增强系统208。
在操作701处,增强系统208接收描绘人的视频。例如,客户端设备102将视频发送至增强系统208。增强系统208从客户端设备102接收该视频。在一些情况下,被描述为由增强系统208执行的过程700可以在客户端设备102上本地执行。在这种情况下,在本地实现的增强系统208上捕获、接收和处理视频。
在操作702处,如以上所说明的,增强系统208识别与人的肢体对应的一组骨骼关节。
在操作703处,增强系统208跟踪与视频中的人的肢体对应的一组骨骼关节的三维(3D)移动。
在操作705处,增强系统208使得显示3D虚拟对象,该3D虚拟对象具有多个肢体,所述多个肢体包括与视频中的人的肢体相比一个或更多个额外肢体。例如,增强系统208在3D位置处例如在视频中描绘的人的前方或旁边呈现化身。
在操作706处,增强系统208基于与视频中的人的肢体对应的一组骨骼关节的移动来移动3D虚拟对象的一个或更多个额外肢体。例如,增强系统208移动化身的额外肢体(例如,化身的躯干、尾部、翅膀或额外腿部),以反映具有人的对应肢体的化身的肢体的运动,或者基于具有人的对应肢体的化身的肢体的加速度、速度和方向自由地移动化身的额外肢体。在另一示例中,增强系统208基于与视频中的人的肢体对应的一组骨骼关节的移动来模拟3D虚拟对象的一个或更多个额外肢体的移动。具体地,增强系统208可以例如通过使用运动重新定位以应用其他肢体的运动来将额外肢体的移动动画化或模拟额外肢体的移动,生成独立于人的肢体的移动的额外肢体的动画移动。
返回参照图6,增强系统208被配置成在三维空间中相对于真实世界对象的位置处渲染和显示虚拟对象。在一个示例中,增强系统208维护一组模板,以生成要在视频中显示的虚拟对象。在接收到从一组模板之中对模板的选择和对视频中的位置的选择时,增强系统208生成虚拟对象并将其分配到视频的三维空间内的位置。
由此,增强系统208通过6DoF中的一个或更多个跟踪系统在三维空间中跟踪虚拟对象相对于视频中的真实世界对象的位置。例如,增强系统208的一个或更多个跟踪系统收集一组跟踪标记(例如,滚转、俯仰、偏航、自然特征等)并对其进行分析,以在具有6DoF的三维空间中跟踪虚拟对象相对于真实世界对象的位置。在这样的实施方式中,增强系统208基于跟踪标记的可用性在跟踪系统之间转换,以在6DoF中保持一致的跟踪。
在一些实施方式中,除了基于额外肢体的类型移动化身的额外肢体之外,增强系统208还自动地跟踪并调整虚拟对象相对于作为人的真实世界对象的移动和定位。即,增强系统208处理视频以确定在视频中是否存在人。响应于检测人在视频中的存在,增强系统208自动地执行3D骨骼跟踪,以确定人的各种关节位置和3D真实世界坐标作为参考点。
然后,增强系统208自动地开始基于人的参考点来调整虚拟对象的移动和放置。作为示例,增强系统208计算人的3D骨骼关节相对于人的3D参考点的一组3D变换。3D变换定义人的每个骨骼关节的每个坐标如何相对于3D参考点移位和移动。然后,3D变换用于以与3D骨骼关节实时移动相同的方式调整虚拟对象(角色)。例如,将人的每个3D骨骼关节映射到化身(例如,虚拟对象或角色)的对应3D骨骼装备部分(关节)。3D变换指示化身的对应3D骨骼装备关节应当如何移动以反映相关联人的关节在3D中的移动。
在一些情况下,增强系统208计算人在视频中的3D姿势,并且将3D姿势应用于一个或更多个虚拟对象,使得虚拟对象在3D中反映人的姿势和移动。作为示例,实时地捕获和跟踪在视频中检测到的人的运动,并且将同样的运动应用于一个或更多个虚拟对象,使得一个或更多个虚拟对象以与该人相同或相似的方式在3D中移动。例如,如果3D人正在跳舞或挥动他们的手臂,则映射到虚拟对象的3D人的对应关节被移动以也跳舞或挥动其相应的虚拟手臂。
增强系统208识别未映射到人的肢体的3D骨骼关节的3D虚拟对象的额外肢体。例如,增强系统208识别与第一组肢体(例如,手臂)对应的第一组3D骨骼关节并将其映射到第一组骨骼装备部分(例如,与第一组虚拟对象肢体对应的部分)。增强系统208识别与第二组肢体(例如,腿)对应的第二组3D骨骼关节并将其映射到第二组骨骼装备部分(例如,与第二组虚拟对象肢体对应的部分)。增强系统208根据对应的第一组3D骨骼关节和第二组3D骨骼关节的移动来移动所映射的骨骼装备部分,以反映人的的第一组肢体和第二组肢体的移动。增强系统208可以确定骨骼装备仍然具有未映射的肢体(例如,尾部)。例如,在映射人的所有3D骨骼关节之后,增强系统208确定虚拟对象仍然具有人的对应3D骨骼关节未映射到的部分。该部分被指定为额外肢体。增强系统208访问与额外肢体相关联的元数据,以确定要应用于额外肢体的移动的类型。在一个示例中,移动的类型可以包括复制人的一个或更多个肢体的移动的移动(例如,复制已映射的3D骨骼关节的移动)。在另一示例中,移动的类型可以包括基于使用逆运动学对人的一个或更多个肢体进行的运动重新定位的移动(例如,基于已映射的3D骨骼关节的逆运动学的移动)。
在一些情况下,元数据指定了额外肢体的类型。在这种情况下,增强系统208访问数据库以确定与肢体的类型相关联的移动的类型,然后将额外肢体映射到由肢体类型指示的人的肢体。基于移动的类型,增强系统208基于映射到视频中的人的肢体的其他肢体的移动来移动3D虚拟对象的额外肢体。例如,增强系统208可以确定额外肢体对应于尾部类型的肢体。在这种情况下,增强系统208从数据库中获得与尾部类型的肢体相关联的移动类型,并将所获得的移动应用于额外肢体。作为另一示例,增强系统208可以确定额外肢体对应于躯干类型的肢体。在这种情况下,增强系统208从数据库中获得与躯干类型的肢体相关联的移动类型,并将所获得的移动应用于额外肢体。
在一些实施方式中,增强系统208未能在视频中检测到人。在这种情况下,增强系统208向客户端设备102上的用户呈现在视频中存在的检测到的对象的列表。增强系统208接收对给定的检测到的对象(例如,猫)的用户选择,并且作为响应,增强系统208计算所选择的检测对象在3D空间中的参考位置,并调整虚拟对象相对于参考位置的定位和移动。以这种方式,当参考位置指示对象(例如,人或所选择的真实世界对象)在特定的方向上以及以特定速度移动时,增强系统208立即且自动地更新虚拟对象按相同方向和速度的位置和移动。在一个示例中,真实世界对象可以跳跃,使3D参考位置沿y轴移位指定距离。作为响应,增强系统208更新虚拟对象的位置,以使其也跳跃,并沿y轴移位与真实世界对象相同的指定距离。
在检测到所跟踪的一组标记之中的一个或更多个标记的中断,使得在6DoF中进行的跟踪变得不可靠或不可能时,增强系统208转换成在3DoF的三维空间中跟踪虚拟对象,以防止显示的中断。例如,增强系统208从第一跟踪系统(或一组跟踪系统中的第一组跟踪系统)转换到一组跟踪系统中的第二跟踪系统(或第二组跟踪系统)。在一个示例中,第二跟踪系统能够基于可用的跟踪标记,在三维空间中以3DoF跟踪虚拟对象。
在一些示例实施方式中,增强系统208的一组跟踪系统包括陀螺仪跟踪系统、NFT系统以及SLAM跟踪系统。一组跟踪系统中的每个跟踪系统可以分析跟踪标记,以跟踪虚拟对象在三维空间内相对于真实世界对象参考位置的位置。例如,为了以6DoF跟踪虚拟对象,增强系统208可能需要至少六个跟踪标记是可用的。当跟踪标记由于各种原因而变为遮挡或不可用时,增强系统208可以在该组跟踪系统之中的可用跟踪系统之间转换,以在必要时维持6DoF或转换到3DoF。
将容易理解的是,这些增强现实系统124用于在各种环境和情况下的真实世界三维空间中提供一致的渲染虚拟对象。在许多应用中,可能期望为这些虚拟对象在真实世界场景的视频内的位置提供牢固的一致性。这可以涉及在真实世界场景中识别和使用特定的固定参考点(例如,固定表面或对象)。
为了确保虚拟对象的位置方面的牢固的一致性,可以采用特定于本文中描述的视频剪辑中进行的三维对象跟踪和渲染的以呈现“透镜”的示例形式的注释数据。特别地,并排移动603是识别和参考真实世界对象(例如,人)以用于虚拟对象在视频中的一致渲染和呈现的呈现透镜。并排移动603可以是在用户预览给定视频剪辑时被激活的呈现透镜,并且通过按压合适的按钮或在屏幕上在给定方向上滑动或提供任何其他合适的输入(口头或手势)来激活虚拟对象插入特征。如所示出的,并排移动603可以是以上所阐述的整个增强系统208的渲染模块602内的特定部分或子模块。
将3DoF姿势连同视频剪辑帧提供给增强系统208的表面跟踪部件,在该表面跟踪部件中提取和跟踪视频帧中的感兴趣的特征或关键点,以确定它们跨视频帧移动的方式,从而融合来自3DoF姿势的取向信息,以生成所得到的6DoF姿势。在Benezra等人的题为“Systems and methods for simultaneous localization and mapping”的美国公开第2018/0061072号中描述了可以如何执行该融合的示例性细节,该美国公开的全部内容通过引用并入本文中。
然后,将来自表面跟踪部件的6DoF姿势提供给渲染模块602,以定位摄像装置,使得虚拟对象被渲染,就像它们在原始视频捕获期间被放置在真实世界中一样。渲染模块602使虚拟对象的放置和张贴的改变与所捕获的场景中的摄像装置位置和取向的改变同步。
使用这样的并排移动603作为包括移动3D虚拟对象的额外肢体的整个虚拟渲染的一部分,可以引起甚至在一个或更多个对象位置或摄像装置角度在整个视频中改变时更动态地令人信服的呈现。
在一些实施方式中,增强系统208处理视频剪辑的帧以识别一组真实世界对象。增强系统208生成交互式增强现实显示,该交互式增强现实显示将虚拟对象添加到存储的视频内容,以创建包括真实世界场景和虚拟对象的增强视频内容。图形用户界面可以使得用户将虚拟对象拖放到视频中的帧上,以使虚拟对象跟踪给定的真实世界对象之一在3D空间中的位置。
在一个方面,增强系统208提供用于接收用户输入以添加虚拟对象来增强视频的图形用户界面。图形用户界面可以包括工具栏或窗格(它可以是部分透明的,或者可以是不透明的)。工具栏或窗格可以在图形用户界面中通过每个虚拟对象的图标的方式呈现多个虚拟对象。用户可以与工具栏或窗格交互,以选择给定的虚拟对象以放置在视频中。一旦该虚拟对象被放置在视频中,图形用户界面就允许用户在给定的帧周围移动虚拟对象。一旦虚拟对象被放置在选择的位置处,就计算相对于给定的真实世界对象(例如,人)的3D参考位置的3D偏移量。该3D偏移量继续被跟踪和计算,以基于真实世界对象的移动连续调整虚拟对象的3D位置。
在将虚拟对象添加到视频之后,可以在3DoF或6DoF中以各种方式修改或操纵虚拟对象。在于2017年4月28日提交的题为“AUGMENTED REALITY OBJECT MANIPULATION”(代理师案卷号4218.429US1)的共同拥有、共同转让的美国专利申请第15/581,994号中讨论了可以如何操纵虚拟对象的示例,该美国专利申请的全部内容通过引用并入本文中。
在一些实施方式中,增强系统208的并排移动603部件允许用户选择多个增强现实项选项。作为响应,并排移动603复制被添加指定次数的虚拟对象。例如,如果用户选择复制因子2,则并排移动603将两个相同的增强现实项或虚拟对象放置到视频中。在一些情况下,并排移动603将虚拟对象放置在真实世界对象的相对侧上,并且在距与真实世界对象对应的参考点相同的相应距离处。虚拟对象模仿彼此的移动和真实世界对象的移动。即,如果真实世界对象更靠近客户端设备102移动指定的距离,则两个虚拟对象类似地更靠近客户端设备102移动相同的距离。每个虚拟对象的位置是相对于真实世界对象的同一参考点独立地确定的。多个虚拟对象可以包括额外肢体。在这种情况下,将基于视频中的人的肢体的移动的额外肢体的相同类型的移动等同地或不等同地应用于多个对象中的每一个。
在一些情况下,用户可以选择要添加的随机数量的相同增强现实项。在这种情况下,并排移动603将增强现实项(例如,增强现实项的4个副本)在真实世界对象周围或围绕真实世界对象均匀地分布。一旦指定数量的虚拟对象或增强现实项围绕真实世界对象(例如,在虚拟对象的4个副本围绕真实世界对象之后),并排移动603就可以将附加的虚拟对象(例如,第五个副本)放置在虚拟对象中的给定虚拟对象的前方。该过程继续直到所有的副本被添加到视频。然后,并排移动603以相同的方式跟踪和更新虚拟对象的每个副本的移动,以模仿在视频中描绘的真实世界对象的移动。
可以基于被添加的虚拟对象的类型来设置可以添加到视频的相同虚拟对象的最大数量。例如,属于某种第一类型的虚拟对象(例如,动物或具有某种第一大小的对象)可以被复制第一次数(例如,8次)。属于某种第二类型的虚拟对象(例如,表示用户的化身或具有比第一大小大的某种第二大小的对象)可以被复制第二次数(例如,4次)。
图8是示出根据某些示例实施方式的在执行用于在视频中渲染虚拟对象的过程800时的增强系统208的操作的流程图。过程800可以以由一个或更多个处理器执行的计算机可读指令实现,使得过程800的操作可以部分地或全部地由增强系统208的功能部件执行;因此,下面参考其通过示例的方式描述过程800。然而,应当理解的是,过程800的至少一些操作可以被部署在各种其他硬件配置上,并且过程800不旨在限于增强系统208。
在操作802处,增强系统208接收输入以激活并排移动。例如,用户可以选择屏幕上的选项,以将给定的虚拟对象的移动或放置与真实世界对象(例如,人)的移动和放置联系起来。
在操作804处,如以上所说明的,增强系统208检测在视频中描绘的真实世界对象的3D参考点。
在操作806处,增强系统208基于3D参考点来定向虚拟对象。例如,增强系统208将虚拟对象放置在远离3D参考点的指定距离处。
在操作807处,增强系统208计算被跟踪的人的3D姿势,并且将其应用于虚拟对象(例如,虚拟角色)。例如,增强系统208计算3D变换并跟踪人在3D中的移动以检测3D姿势或3D姿势的改变。然后,增强系统208修改一个或更多个虚拟对象以反映人的3D姿势。
在操作808处,增强系统208相对于视频中描绘的真实世界对象渲染虚拟对象。例如,当真实世界对象在3D空间中四处移动时,虚拟对象类似地跟随并模仿真实世界对象的移动。如以上所说明的,基于映射到虚拟对象的其他肢体的人的肢体的移动来移动虚拟对象的一个或更多个额外肢体。例如,基于或独立于真实世界的人的其他肢体移动真实世界的人的其他肢体未映射到的虚拟对象的尾部或躯干。即,尾部或躯干可以反映被映射到真实世界的人的肢体的虚拟对象的另一肢体的移动,或者可以基于视频中的人的一个或更多个肢体或人的移动的速度、加速度和方向自由地移动。
图9是示出根据某些示例实施方式的在执行用于在相对于视频中的目标真实世界对象的位置处跟踪对象的过程900时的增强系统208的操作的流程图。过程900可以以由一个或更多个处理器执行的计算机可读指令实现,使得过程900的操作可以部分地或全部地由增强系统208的功能部件执行;因此,下面参考其通过示例的方式描述过程900。然而,应当理解的是,过程900的至少一些操作可以被部署在各种其他硬件配置上,并且过程900不旨在限于增强系统208。
在操作902处,渲染模块602在三维空间中相对于目标真实世界对象的位置处渲染虚拟对象。该虚拟对象可以包括由用户基于用户提供的参数生成的交互式内容。该操作902类似于以上讨论的操作808。可以在3D空间中的用户选择的位置处或者在一个或更多个预定位置处渲染虚拟对象。虚拟对象的位置和移动可以基于真实世界对象的3D变换来指定,该3D变换定义真实世界对象在3D空间中相对于参考点的移动。虚拟对象可以被放置在距真实世界对象的预定距离处,或者被放置在距真实世界对象的用户选择的距离处。
在操作904处,跟踪模块604经由第一跟踪子系统604A或多个跟踪子系统(例如,第一跟踪子系统604A和第二跟踪子系统604B)的组合,基于针对在捕获视频时获得的视频剪辑存储的一组跟踪标记,在目标真实世界对象在三维空间中的位置处以6DOF跟踪虚拟对象。在以6DoF跟踪虚拟对象时,在客户端设备102上查看对象的用户可以在不中断对象的跟踪的情况下在任何方向上转动或移动。例如,跟踪系统604可以基于NFT系统和陀螺仪跟踪系统的组合来跟踪虚拟对象的位置。
在操作906处,中断检测模块606检测来自由跟踪子系统(例如,第一跟踪子系统604A)跟踪的跟踪标记之中的跟踪标记的中断。例如,第一跟踪子系统604A可以包括被配置成依赖于跟踪标记的NFT系统,这样的跟踪标记包括环境的特征或环境内的被注释的虚拟对象附近的活动光源(例如,地面平面或地平线)。因此,第一跟踪子系统604A的NFT系统可以依赖于环境中的三个或更多个已知特征的位置,以确定在三维空间中虚拟对象相对于目标真实世界对象的位置。如果由第一跟踪子系统604A跟踪的跟踪标记中的任何一个或更多个变为遮挡或不可用,则在三维空间中对虚拟对象的跟踪将变得中断。
在操作908处,响应于中断检测模块606检测到一个或更多个跟踪标记的中断,跟踪系统604转换到一个或更多个其他跟踪子系统(例如,第二跟踪子系统604B和/或第三跟踪子系统604C)以维持在三维空间中相对于目标真实世界对象对虚拟对象的跟踪。特别地,跟踪模块604从存储装置中获得与视频剪辑相关联的不同类型的传感器信息。在这样做时,跟踪系统208可以从6DoF转换到3DoF,其中3DoF测量俯仰、滚转和偏航,但不测量平移。当跟踪标记再次变为可用时,从而跟踪系统208可以从3DoF转换回到6DoF。例如,当NFT系统变为不可用时,跟踪模块604可以利用由NFT系统在整个随后3DoF体验中收集和跟踪的最后跟踪标记。
在操作909处,当真实世界对象的3D参考点改变时,增强系统208更新虚拟对象在视频中的3D位置。例如,当真实世界对象朝向摄像装置移动时,虚拟对象也类似地以相同的速度和距离朝向摄像装置移动。
图10和图11是描绘根据示例实施方式的由增强系统208在三维空间内渲染的对象的图。
如图10所示,图形用户界面1000示出了视频中的特定位置处的真实世界对象1010。增强系统208确定与真实世界对象1010对应的参考点,并且然后将虚拟对象1020(例如,3D虚拟角色或化身)放置在视频内的相对于参考点的位置处。例如,增强系统208计算在距参考点的指定距离内的放置虚拟对象1020的位置,并且在真实世界对象1010四处移动时维持该指定距离。
虚拟对象1020的姿势反映了真实世界对象1010的姿势(例如,虚拟对象1020的手臂1021和腿相对于真实世界对象1010的对应手臂和腿处于相同的3D位置中,但基于参考点进行偏移)。虚拟对象1020包括额外肢体1022(例如,躯干或耳朵)。额外肢体1022未被映射到真实世界对象1010的任何肢体。增强系统208确定额外肢体1022的类型,并且基于额外肢体1021的类型来选择额外肢体1022的移动类型。例如,增强系统208基于真实世界对象1010的肢体的一个或更多个骨骼关节的移动和加速度来移动额外肢体1022。
如图形用户界面1001中所示,真实世界对象已移动到新的3D位置并处于新的3D姿势。更新对应的虚拟对象以反映相对于参考点的新的3D位置和3D姿势。真实世界对象1010的右手臂1031被映射到3D虚拟对象1020的右手臂1032。如图形用户界面1001中所示,更新3D虚拟对象1020的右手臂1032的姿势和位置以反映真实世界对象1010的姿势和位置。增强系统208将额外肢体1022移动到新位置,并且当真实世界对象移动时在新位置中呈现额外肢体1024。即,增强系统208以与真实世界对象1010和/或真实世界对象1010的肢体的任何一个或组合的移动对应的速度、方向和加速度来移动额外肢体1024。
如图11所示,图形用户界面1100示出了视频中的特定位置处的真实世界对象1110。增强系统208确定与真实世界对象1110对应的参考点,并且然后将虚拟对象1120(例如,3D虚拟角色或化身)放置在视频内相对于参考点的位置处。例如,半人马(虚拟对象1120)在3D空间中被定位在距真实世界对象1110的3D位置向左几英尺远处。虚拟对象1120的姿势反映了真实世界对象1110的姿势(例如,虚拟对象1120的手臂和腿相对于真实世界对象1110的对应手臂和腿处于相同的3D位置中,但基于参考点进行偏移)。具体地,虚拟对象1120的手臂和腿与真实世界对象1110处于相同的3D姿势(例如,虚拟对象1120的装备的骨骼关节被配置成反映真实世界对象1120中的骨骼关节),并且在3D空间中被放置在距真实世界对象1110向左几英尺处(例如,沿x轴偏移一定的指定距离)。在虚拟对象1120的整个显示期间维持该指定距离,使得虚拟对象在3D空间中的不同位置处继续反映真实世界对象1110的姿势。
虚拟对象1120包括一对额外肢体1122(例如,一对后腿)。额外肢体1122未被映射到真实世界对象1110的任何肢体。增强系统208确定额外肢体1122的类型,并且基于额外肢体1122的类型来选择额外肢体1122的移动类型。例如,增强系统208移动额外肢体1122以反映真实世界对象1110的其他肢体的移动。具体地,增强系统208将真实世界物体1110的两只手臂映射到半人马的两只手臂,并且将真实世界对象1110的两条腿映射到半人马的两条前腿。这留下虚拟对象1120的两条后腿或后面的腿作为真实世界对象的肢体未映射到的额外肢体1122。在这种情况下,增强系统208移动后腿(例如,额外肢体1122)以反映或复制映射的肢体(例如,真实世界对象1110的前腿或腿)的移动。这样,后腿以与3D虚拟对象的前腿相同的方向、速度和加速度移动。作为另一示例,增强系统208使用逆运动学执行运动重新定位,以基于真实世界对象1110的前腿或腿的物理移动来移动额外肢体1122。
软件架构
图12是示出示例软件架构1206的框图,该软件架构1206可以与本文中描述的各种硬件架构结合使用。图12是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以促进本文中描述的功能。软件架构1206可以在诸如图13的机器1300的硬件上执行,机器1300包括处理器1304、存储器1314和输入/输出(I/O)部件1318等。示出了代表性硬件层1252并且该代表性硬件层1252可以表示例如图13的机器1300。代表性硬件层1252包括具有相关联的可执行指令1204的处理单元1254。可执行指令1204表示软件架构1206的可执行指令,包括本文中描述的方法、部件等的实现方式。硬件层1252还包括还具有可执行指令1204的存储器和/或存储模块,即存储器/存储装置1256。硬件层1252还可以包括其他硬件1258。
在图12的示例架构中,软件架构1206可以被概念化为层的堆叠,在该层的堆叠中,每个层提供特定功能。例如,软件架构1206可以包括诸如操作系统1202、库1220、应用1216、框架/中间件1218和呈现层1214的层。在操作上,层内的应用1216和/或其他部件可以通过软件堆栈激活应用API调用1208并且响应于API调用1208而接收消息1212。所示出的层在本质上是代表性的,并且并非所有软件架构都具有所有的层。例如,一些移动操作系统或专用操作系统可能不提供框架/中间件1218,而其他操作系统可能提供这样的层。其他软件架构可以包括附加层或不同的层。
操作系统1202可以管理硬件资源并且提供公共服务。操作系统1202可以包括例如核1222、服务1224和驱动器1226。核1222可以用作硬件与其他软件层之间的抽象层。例如,核1222可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务1224可以针对其他软件层提供其他公共服务。驱动器1226负责控制底层硬件或与底层硬件对接(interface)。例如,取决于硬件配置,驱动器1226包括显示器驱动器、摄像装置驱动器、驱动器、闪速存储器驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、/>驱动器、音频驱动器、电源管理驱动器等。
库1220提供由应用1216和/或其他部件和/或层使用的公共基础设施。库1220提供如下功能,该功能允许其他软件部件以比与底层操作系统1202的功能(例如,核1222、服务1224和/或驱动器1226)直接对接的方式更容易的方式来执行任务。库1220可以包括系统库1244(例如,C标准库),系统库1244可以提供例如存储器分配功能、串操纵功能、数学函数等功能。此外,库1220可以包括API库1246,例如媒体库(例如,支持诸如MPREG4、H.264、MP3、AAC、AMR、JPG、PNG的各种媒体格式的呈现和操纵的库)、图形库(例如,可以用于在显示器上以图形内容呈现二维和三维的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供web浏览功能的WebKit)等。库1220还可以包括各种其他库1248,以向应用1216和其他软件部件/模块提供许多其他API。
框架/中间件1218(有时也称为中间件)提供可以由应用1216和/或其他软件部件/模块使用的较高级别的公共基础设施。例如,框架/中间件1218可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件1218可以提供可以由应用1216和/或其他软件组件/模块利用的广泛的其他API,其中一些API可以专用于特定的操作系统1202或平台。
应用1216包括内置应用1238和/或第三方应用1240。代表性内置应用1238的示例可以包括但不限于:联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用1240可以包括由除特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTMPhone的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用1240可以激活由移动操作系统(例如,操作系统1202)提供的API调用1208以促进本文中描述的功能。
应用1216可以使用内置操作系统功能(例如,核1222、服务1224和/或驱动器1226)、库1220以及框架/中间件1218来创建用户界面,以与系统的用户交互。替选地或附加地,在一些系统中,可以通过呈现层例如呈现层1214发生与用户的交互。在这些系统中,应用/部件“逻辑”可以和应用/部件的与用户交互的方面分开。
机器
图13是示出了根据一些示例实施方式的机器1300的部件的框图,机器1300能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文中讨论的方法中的任一种或更多种方法。具体地,图13以计算机系统的示例形式示出了机器1300的图解表示,在该机器1300中可以执行用于使机器1300执行本文中讨论的方法中的任何一种或更多种的指令1310(例如,软件、程序、应用、小程序、app或其他可执行代码)。因此,指令1310可以被用于实现本文中描述的模块或部件。指令1310将通用的未编程的机器1300转换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器1300。在替选实施方式中,机器1300作为独立设备操作或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1300可以在服务器客户端网络环境中以服务器机器或客户端机器的身份操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器1300可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家用电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器1300采取的动作的指令1310的任何机器。此外,虽然仅示出了单个机器1300,但是术语“机器”还应被认为包括单独地或联合地执行指令1310以执行本文中讨论的任何一种或更多种方法的机器的集合。
机器1300可以包括可以被配置成例如经由总线1302相互通信的处理器1304、存储器/存储装置1306和I/O部件1318。在示例实施方式中,处理器1304(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器或其任何合适的组合)可以包括例如可以执行指令1310的处理器1308和处理器1312。术语“处理器”旨在包括多核处理器1304,该多核处理器1304可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“内核”)。虽然图13示出了多处理器1304,但是机器1300可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或者其任何组合。
存储器/存储装置1306可以包括诸如主存储器或其他存储器存储装置的存储器1314以及存储单元1316,存储器1314和存储单元1316二者例如由处理器1304经由总线1302访问。存储单元1316和存储器1314存储体现本文中描述的方法或功能中的任何一个或更多个方法或功能的指令1310。指令1310还可以在其被机器1300执行期间完全地或部分地驻留在存储器1314内、存储单元1316内、处理器1304中的至少一个内(例如,处理器的高速缓冲存储器内)或者其任何合适的组合内。因此,存储器1314、存储单元1316以及处理器1304的存储器是机器可读介质的示例。
I/O部件1318可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量结果等的各种部件。包括在特定机器1300中的具体I/O部件1318将取决于机器的类型。例如,诸如移动电话的便携式机器将很可能包括触摸输入设备或其他这样的输入机构,而无头服务器(headless server)机器将很可能不包括这样的触摸输入设备。将理解的是,I/O部件1318可以包括图13中未示出的许多其他部件。仅出于简化以下讨论的目的,根据功能对I/O部件1318进行分组,并且该分组决不是限制性的。在各种示例实施方式中,I/O部件1318可以包括输出部件1326和输入部件1328。输出部件1326可以包括视觉部件(例如,诸如等离子体显示面板(PDP)的显示器、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件1328可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于指向的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在其他示例实施方式中,I/O部件1318可以包括生物计量部件1330、运动部件1334、环境部件1336或位置部件1338以及各种其他部件。例如,生物计量部件1330可以包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1334可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1336可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,用于检测危险气体的浓度以确保安全或者用于测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境对应的指示、测量结果或信号的其他部件。位置部件1338可以包括位置传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测可以根据其得到海拔的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O部件1318可以包括通信部件1340,通信部件1340能够进行操作以分别经由耦接1324和耦接1322将机器1300耦接至网络1332或设备1320。例如,通信部件1340可以包括网络接口部件或与网络1332对接的其他合适的设备。在其他示例中,通信部件1340可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,低功耗/>)、/>部件以及经由其他模态提供通信的其他通信部件。设备1320可以是另一机器或各种各样的外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件1340可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件1340可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)代码的Aztec代码、数据矩阵、数据符号(Dataglyph)、最大编码(MaxiCode)、PDF417、超代码(Ultra Code)、UCC RSS-2D条形码的多维条形码和其他光代码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信部件1340得到各种信息,例如经由因特网协议(IP)地理位置得到位置、经由信号三角测量得到位置、经由检测可以指示特定位置的NFC信标信号得到位置等。
术语表:
该上下文中的“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字通信信号或模拟通信信号或者促进这些指令的通信的其他无形介质。可以经由网络接口设备利用传输介质并且利用若干公知的传输协议中的任何一种传输协议来通过网络发送或接收指令。
该上下文中的“客户端设备”是指与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、PDA、智能电话、平板计算机、超级本、上网本、多个膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
该上下文中的“通信网络”是指网络的一个或更多个部分,网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、其他类型的网络或两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电业务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
该上下文中的“短暂消息”是指可以在时间有限的持续时间内访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送者设置。替选地,访问时间可以是默认设置或者由接收方指定的设置。无论设置技术如何,该消息都是暂态的。
该上下文中的“机器可读介质”是指能够临时或永久地存储指令和数据的部件、设备或其他有形介质,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应当被认为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库或者相关联的高速缓冲存储器和服务器)。术语“机器可读介质”还应被认为包括能够存储由机器执行的指令(例如,代码)的任何介质或多个介质的组合,使得指令在由机器的一个或更多个处理器执行时使机器执行本文中所描述的方法中的任何一种或更多种方法。因此,“机器可读介质”指单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
该上下文中的“部件”是指具有由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元,并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件组件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置成进行操作以执行本文中描述的某些操作的硬件部件。
也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,硬件部件就变成被独特地定制成执行所配置的功能的特定机器(或机器的特定部件),而不再是通用处理器。将理解的是,是机械地在专用且永久配置的电路中还是在临时配置(例如,通过软件配置)的电路中实现硬件部件的决策可以出于成本和时间考虑来驱动。相应地,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑其中硬件部件被临时配置(例如,被编程)的实施方式,硬件部件中的每一个无需在任一时刻处均被配置或实例化。例如,在硬件部件包括通过软件配置成变成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个或多个特定处理器以例如在一个时刻处构成特定硬件部件,并且在不同的时刻处构成不同的硬件部件。
硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中(例如,通过适当的电路和总线)的信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在其通信地耦接到的存储器设备中。然后,其他硬件部件可以在随后的时间访问存储器设备以检索所存储的输出并对所存储的输出进行处理。
硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。在本文中描述的示例方法的各种操作可以至少部分地由被(例如,通过软件)临时地配置或永久地配置成执行相关操作的一个或更多个处理器来执行。无论是临时地被配置还是永久地被配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中,特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器或处理器实现的部件来执行。此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或作为“软件即服务”(SaaS)操作。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)被访问。操作中的某些操作的执行可以分布在处理器之间,不仅可以驻留在单个机器内,而且可以跨若干机器部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨若干地理位置而分布。
在该上下文中,“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操纵数据值并产生被应用以操作机器的对应输出信号的任何电路或虚拟电路(通过实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(CPU)、简化指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)或其任何组合。处理器还可以是具有两个或更多个可以同时执行指令的独立处理器(有时称为“内核”)的多核处理器。
该上下文中的“时间戳”指的是标识某个事件何时发生的字符或编码信息的序列,例如,从而给出日期和一天中的时间,有时精确到几分之一秒。

Claims (20)

1.一种方法,包括:
通过一个或更多个处理器,接收描绘人的视频;
识别与所述人的肢体对应的一组骨骼关节;
跟踪与所述视频中的所述人的肢体对应的所述一组骨骼关节的三维(3D)移动;
使得显示3D虚拟对象,所述3D虚拟对象具有多个肢体,所述多个肢体包括与所述视频中的所述人的肢体相比一个或更多个额外肢体;以及
基于与所述视频中的所述人的肢体对应的所述一组骨骼关节的移动,移动所述3D虚拟对象的所述一个或更多个额外肢体。
2.根据权利要求1所述的方法,其中,所述人的肢体包括四个肢体,其中,所述3D虚拟对象包括五个肢体。
3.根据权利要求1至2中任一项所述的方法,其中,所述人的肢体包括两只手臂和两条腿,并且其中,所述3D虚拟对象包括四条腿和躯干。
4.根据权利要求3所述的方法,其中,所述3D虚拟对象是大象。
5.根据权利要求1至4中任一项所述的方法,其中,所述人的肢体包括两只手臂和两条腿,并且其中3D虚拟对象包括四条腿和尾部。
6.根据权利要求1至5中任一项所述的方法,其中,移动所述一个或更多个额外肢体包括:
基于所述一组骨骼关节的速度和加速度,物理地适配所述一个或更多个额外肢体。
7.根据权利要求1至6中任一项所述的方法,还包括:
将所述3D虚拟对象的所述多个肢体中的第一组肢体映射到所述一组骨骼关节的第一分组,其中,所述多个肢体中的第一组肢体的移动跟踪所述一组骨骼关节的第一分组的移动;
将所述3D虚拟对象的所述多个肢体中的第二组肢体映射到所述一组骨骼关节的第二分组,其中,所述多个肢体中的所述第二组肢体的移动跟踪所述一组骨骼关节的第二分组的移动;以及
基于所述一组骨骼关节的第一分组或第二分组中的至少一个分组的移动,移动不包括在所述多个肢体中的所述第一组肢体和所述第二组肢体中的一个或更多个额外肢体。
8.根据权利要求7所述的方法,还包括:
确定所述一个或更多个额外肢体的类型;
基于所述一个或更多个额外肢体的类型,在所述一组骨骼关节的所述第一分组与所述第二分组之间选择骨骼关节的分组;以及
基于所选择的骨骼关节的分组,移动所述一个或更多个额外肢体,其中,所述一个或更多个额外肢体的移动包括复制所选择的骨骼关节的分组的移动。
9.根据权利要求7至8中任一项所述的方法,还包括:
确定所述一个或更多个额外肢体的类型;
基于所述一个或更多个额外肢体的类型,组合所述一组骨骼关节的所述第一分组和所述第二分组的移动;以及
基于所组合的所述骨骼关节的所述第一分组和所述第二分组的移动,移动所述一个或更多个额外肢体。
10.根据权利要求1至9中任一项所述的方法,其中,移动所述一个或更多个额外肢体包括:
基于所述一组骨骼关节的物理移动,以独立的方式移动所述一个或更多个额外肢体。
11.根据权利要求1至10中任一项所述的方法,还包括:
使用逆运动学执行运动重新定位,以基于所述一组骨骼关节的物理移动来移动所述一个或更多个额外肢体。
12.根据权利要求11所述的方法,其中,所述3D虚拟对象包括3D半人马,所述3D半人马包括两条前腿、两条后腿和两只手臂,所述方法还包括:
将所述3D半人马的两只手臂映射到与所述人的手臂对应的所述一组骨骼关节的第一分组;
将所述3D半人马的两条前腿映射到与所述人的腿对应的所述一组骨骼关节的第二分组;以及
将与所述人的腿对应的所述一组骨骼关节的第二分组的运动重新定位到所述3D半人马的后腿。
13.根据权利要求1至12中任一项所述的方法,还包括:
计算用于相对于所述人的3D参考点放置所述3D虚拟对象的3D位置;
使所述3D虚拟对象在所述3D位置处被显示在所述视频内;以及
在所述3D参考点基于所述人的3D移动而改变时,更新所述3D虚拟对象在所述视频中的3D位置。
14.根据权利要求1至13中任一项所述的方法,其中,所述3D虚拟对象与所述视频中的人一起呈现。
15.根据权利要求1至14中任一项所述的方法,还包括:
确定所述人在所述视频的第一帧与第二帧之间从第一3D位置移动到第二3D位置;
计算所述人从所述第一3D位置到所述第二3D位置的移动的距离和轨迹;以及
基于所述人从所述第一3D位置到所述第二3D位置的移动的距离和轨迹,将所述3D虚拟对象从第三3D位置移动到第四3D位置。
16.根据权利要求1至15中任一项所述的方法,其中,在不使用深度传感器的情况下,使用由客户端设备的RGB摄像装置捕获的图像来跟踪与所述视频中的所述人的肢体对应的所述一组骨骼关节的所述3D移动。
17.一种系统,包括:
一个或更多个处理器,其被配置成执行操作,所述操作包括:
接收描绘人的视频;
识别与所述人的肢体对应的一组骨骼关节;
跟踪与所述视频中的所述人的肢体对应的所述一组骨骼关节的三维(3D)移动;
使得显示3D虚拟对象,所述3D虚拟对象具有多个肢体,所述多个肢体包括与所述视频中的所述人的肢体相比一个或更多个额外肢体;以及
基于与所述视频中的所述人的肢体对应的所述一组骨骼关节的移动,移动所述3D虚拟对象的所述一个或更多个额外肢体。
18.根据权利要求17所述的系统,其中,所述人的肢体包括四个肢体,并且其中,所述3D虚拟对象包括五个肢体。
19.一种非暂态机器可读存储介质,包括增强现实系统,所述增强现实系统包括指令,所述指令在由机器的一个或更多个处理器执行时,使所述机器执行操作,所述操作包括:
接收描绘人的视频;
识别与所述人的肢体对应的一组骨骼关节;
跟踪与所述视频中的所述人的肢体对应的所述一组骨骼关节的三维(3D)移动;
使得显示3D虚拟对象,所述3D虚拟对象具有多个肢体,所述多个肢体包括与所述视频中的所述人的肢体相比一个或更多个额外肢体;以及
基于与所述视频中的所述人的肢体对应的所述一组骨骼关节的移动,移动所述3D虚拟对象的所述一个或更多个额外肢体。
20.根据权利要求19所述的非暂态机器可读存储介质,其中,所述人的肢体包括四个肢体,并且其中,所述3D虚拟对象包括五个肢体。
CN202180077187.3A 2020-11-18 2021-11-10 假肢体的实时运动转移 Pending CN116457833A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/951,939 2020-11-18
US16/951,939 US11734894B2 (en) 2020-11-18 2020-11-18 Real-time motion transfer for prosthetic limbs
PCT/US2021/058816 WO2022108807A1 (en) 2020-11-18 2021-11-10 Real-time motion transfer for prosthetic limbs

Publications (1)

Publication Number Publication Date
CN116457833A true CN116457833A (zh) 2023-07-18

Family

ID=78825119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180077187.3A Pending CN116457833A (zh) 2020-11-18 2021-11-10 假肢体的实时运动转移

Country Status (5)

Country Link
US (2) US11734894B2 (zh)
EP (1) EP4248407A1 (zh)
KR (1) KR20230107654A (zh)
CN (1) CN116457833A (zh)
WO (1) WO2022108807A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10984575B2 (en) 2019-02-06 2021-04-20 Snap Inc. Body pose estimation
US11470404B2 (en) * 2020-05-26 2022-10-11 At&T Intellectual Property I, L.P. Consistent generation of media elements across media
US11615592B2 (en) 2020-10-27 2023-03-28 Snap Inc. Side-by-side character animation from realtime 3D body motion capture
US11660022B2 (en) 2020-10-27 2023-05-30 Snap Inc. Adaptive skeletal joint smoothing
US11450051B2 (en) 2020-11-18 2022-09-20 Snap Inc. Personalized avatar real-time motion capture
US11734894B2 (en) 2020-11-18 2023-08-22 Snap Inc. Real-time motion transfer for prosthetic limbs
US11748931B2 (en) 2020-11-18 2023-09-05 Snap Inc. Body animation sharing and remixing
US20230053308A1 (en) * 2021-08-13 2023-02-16 At&T Intellectual Property I, L.P. Simulation of likenesses and mannerisms in extended reality environments
US20230063681A1 (en) * 2021-08-25 2023-03-02 Sony Interactive Entertainment Inc. Dynamic augmentation of stimuli based on profile of user

Family Cites Families (297)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7859551B2 (en) 1993-10-15 2010-12-28 Bulman Richard L Object customization and presentation system
US5978773A (en) 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US5880731A (en) 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
EP0814611B1 (de) 1996-06-17 2002-08-28 Siemens Aktiengesellschaft Kommunikationssystem und Verfahren zur Aufnahme und Verwaltung digitaler Bilder
JP3558104B2 (ja) 1996-08-05 2004-08-25 ソニー株式会社 3次元仮想物体表示装置および方法
US6023270A (en) 1997-11-17 2000-02-08 International Business Machines Corporation Delivery of objects in a virtual world using a descriptive container
US6842779B1 (en) 1998-03-11 2005-01-11 Yasuo Nishizawa Agent accessory tool cooperating with integrated application on WEB server by HTTP protocol
US7173651B1 (en) 1998-06-02 2007-02-06 Knowles Andrew T Apparatus and system for prompt digital photo delivery and archival
US20020067362A1 (en) 1998-11-06 2002-06-06 Agostino Nocera Luciano Pasquale Method and system generating an avatar animation transform using a neutral face image
US6223165B1 (en) 1999-03-22 2001-04-24 Keen.Com, Incorporated Method and apparatus to connect consumer to expert
US6772195B1 (en) 1999-10-29 2004-08-03 Electronic Arts, Inc. Chat clusters for a virtual world application
JP2001230801A (ja) 2000-02-14 2001-08-24 Sony Corp 通信システムとその方法、通信サービスサーバおよび通信端末装置
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US20050206610A1 (en) 2000-09-29 2005-09-22 Gary Gerard Cordelli Computer-"reflected" (avatar) mirror
US8117281B2 (en) 2006-11-02 2012-02-14 Addnclick, Inc. Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content
US6910186B2 (en) 2000-12-08 2005-06-21 Kyunam Kim Graphic chatting with organizational avatars
US7925703B2 (en) 2000-12-26 2011-04-12 Numedeon, Inc. Graphical interactive interface for immersive online communities
US6697072B2 (en) 2001-03-26 2004-02-24 Intel Corporation Method and system for controlling an avatar using computer vision
US20100098702A1 (en) 2008-09-16 2010-04-22 Longgui Wang Method of treating androgen independent prostate cancer
EP1495447A1 (en) 2002-03-26 2005-01-12 KIM, So-Woon System and method for 3-dimension simulation of glasses
KR100493525B1 (ko) 2002-05-03 2005-06-07 안현기 아바타 메일 제공시스템 및 방법
US8495503B2 (en) 2002-06-27 2013-07-23 International Business Machines Corporation Indicating the context of a communication
US7138963B2 (en) 2002-07-18 2006-11-21 Metamersion, Llc Method for automatically tracking objects in augmented reality
US7636755B2 (en) 2002-11-21 2009-12-22 Aol Llc Multiple avatar personalities
US7411493B2 (en) 2003-03-01 2008-08-12 User-Centric Ip, L.P. User-centric event reporting
US7484176B2 (en) 2003-03-03 2009-01-27 Aol Llc, A Delaware Limited Liability Company Reactive avatars
US20070113181A1 (en) 2003-03-03 2007-05-17 Blattner Patrick D Using avatars to communicate real-time information
US20070168863A1 (en) 2003-03-03 2007-07-19 Aol Llc Interacting avatars in an instant messaging communication session
KR20040091331A (ko) 2003-04-21 2004-10-28 홍지선 자연어처리기술을 이용하여 입력된 문자메시지와 그 문장내용에 상응하는 아바타 표현 방법 및 시스템
US7831088B2 (en) 2003-06-13 2010-11-09 Georgia Tech Research Corporation Data reconstruction using directional interpolation techniques
KR100762629B1 (ko) 2003-08-26 2007-10-01 삼성전자주식회사 휴대단말기의 백업서비스 처리방법
US7535890B2 (en) 2003-12-18 2009-05-19 Ayalogic, Inc. System and method for instant VoIP messaging
US7342587B2 (en) 2004-10-12 2008-03-11 Imvu, Inc. Computer-implemented system and method for home page customization and e-commerce support
US7468729B1 (en) 2004-12-21 2008-12-23 Aol Llc, A Delaware Limited Liability Company Using an avatar to generate user profile information
KR100714192B1 (ko) 2005-04-08 2007-05-02 엔에이치엔(주) 노출 부위가 가변되는 아바타 제공 시스템 및 그 방법
US20060294465A1 (en) 2005-06-22 2006-12-28 Comverse, Inc. Method and system for creating and distributing mobile avatars
US8963926B2 (en) 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
US8332475B2 (en) 2005-08-22 2012-12-11 Triplay Communications Ltd. Messaging system and method
US7775885B2 (en) 2005-10-14 2010-08-17 Leviathan Entertainment, Llc Event-driven alteration of avatars
BRPI0620945B1 (pt) 2005-12-31 2018-11-27 Tencent Tech Shenzhen Co Ltd método de exibição de um avatar 3-d e sistema de exibição de um avatar 3-d
US20070176921A1 (en) 2006-01-27 2007-08-02 Koji Iwasaki System of developing urban landscape by using electronic data
WO2007093813A1 (en) 2006-02-16 2007-08-23 Weeworld Limited Portable account information
US8730156B2 (en) 2010-03-05 2014-05-20 Sony Computer Entertainment America Llc Maintaining multiple views on a shared stable virtual space
US7536201B2 (en) 2006-03-29 2009-05-19 Sony Ericsson Mobile Communications Ab Motion sensor character generation for mobile device
WO2007130693A2 (en) 2006-05-07 2007-11-15 Sony Computer Entertainment Inc. Methods and systems for processing an interchange of real time effects during video communication
DE102006024449A1 (de) 2006-05-24 2007-11-29 Combots Product Gmbh & Co. Kg Übermittlung von Nachrichten mittels animierter Kommunikationselemente
WO2007134402A1 (en) 2006-05-24 2007-11-29 Mor(F) Dynamics Pty Ltd Instant messaging system
US8328610B2 (en) 2006-08-16 2012-12-11 Nintendo Co., Ltd. Intelligent game editing system and method with autocomplete and other functions that facilitate game authoring by non-expert end users
US20080158222A1 (en) 2006-12-29 2008-07-03 Motorola, Inc. Apparatus and Methods for Selecting and Customizing Avatars for Interactive Kiosks
US8504926B2 (en) 2007-01-17 2013-08-06 Lupus Labs Ug Model based avatars for virtual presence
GB2447094B (en) 2007-03-01 2010-03-10 Sony Comp Entertainment Europe Entertainment device and method
GB0703974D0 (en) 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
USRE47534E1 (en) 2007-04-23 2019-07-23 Ramot At Tel Aviv University Ltd. System, method and a computer readable medium for providing an output image
ATE555433T1 (de) 2007-04-26 2012-05-15 Ford Global Tech Llc Emotives beratungssystem und verfahren
CN101071457B (zh) 2007-04-28 2010-05-26 腾讯科技(深圳)有限公司 一种网络游戏中改变角色形象的方法、装置以及服务器
US8154552B2 (en) 2007-05-04 2012-04-10 Autodesk, Inc. Looping motion space registration for real-time character animation
WO2008141125A1 (en) 2007-05-10 2008-11-20 The Trustees Of Columbia University In The City Of New York Methods and systems for creating speech-enabled avatars
WO2008151424A1 (en) 2007-06-11 2008-12-18 Darwin Dimensions Inc. Metadata for avatar generation in virtual environments
GB2450757A (en) 2007-07-06 2009-01-07 Sony Comp Entertainment Europe Avatar customisation, transmission and reception
US20090016617A1 (en) 2007-07-13 2009-01-15 Samsung Electronics Co., Ltd. Sender dependent messaging viewer
US8726194B2 (en) 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US8146005B2 (en) 2007-08-07 2012-03-27 International Business Machines Corporation Creating a customized avatar that reflects a user's distinguishable attributes
US20090055484A1 (en) 2007-08-20 2009-02-26 Thanh Vuong System and method for representation of electronic mail users using avatars
US20090070688A1 (en) 2007-09-07 2009-03-12 Motorola, Inc. Method and apparatus for managing interactions
US8924250B2 (en) 2007-09-13 2014-12-30 International Business Machines Corporation Advertising in virtual environments based on crowd statistics
WO2009046342A1 (en) 2007-10-04 2009-04-09 Playspan, Inc. Apparatus and method for virtual world item searching
US20090106672A1 (en) 2007-10-18 2009-04-23 Sony Ericsson Mobile Communications Ab Virtual world avatar activity governed by person's real life activity
US8892999B2 (en) 2007-11-30 2014-11-18 Nike, Inc. Interactive avatar for social network services
US8151191B2 (en) 2007-12-07 2012-04-03 International Business Machines Corporation Managing objectionable material in 3D immersive virtual worlds
US20090158170A1 (en) 2007-12-14 2009-06-18 Rajesh Narayanan Automatic profile-based avatar generation
US20090160779A1 (en) 2007-12-19 2009-06-25 International Business Machines Corporation Emulating A Keyboard On A Touch Screen Monitor Of A Computer System
US20090177976A1 (en) 2008-01-09 2009-07-09 Bokor Brian R Managing and presenting avatar mood effects in a virtual world
US8495505B2 (en) 2008-01-10 2013-07-23 International Business Machines Corporation Perspective based tagging and visualization of avatars in a virtual world
EP2263190A2 (en) 2008-02-13 2010-12-22 Ubisoft Entertainment S.A. Live-action image capture
EP3352107A1 (en) 2008-03-03 2018-07-25 NIKE Innovate C.V. Interactive athletic equipment system
US9744466B2 (en) 2008-03-13 2017-08-29 Mattel, Inc. Widgetized avatar and a method and system of creating and using same
US8758102B2 (en) 2008-03-25 2014-06-24 Wms Gaming, Inc. Generating casino floor maps
US8832552B2 (en) 2008-04-03 2014-09-09 Nokia Corporation Automated selection of avatar characteristics for groups
US20090265604A1 (en) 2008-04-21 2009-10-22 Microsoft Corporation Graphical representation of social network vitality
US20090300525A1 (en) 2008-05-27 2009-12-03 Jolliff Maria Elena Romera Method and system for automatically updating avatar to indicate user's status
US20090303984A1 (en) 2008-06-09 2009-12-10 Clark Jason T System and method for private conversation in a public space of a virtual world
US8095878B2 (en) 2008-06-23 2012-01-10 International Business Machines Corporation Method for spell check based upon target and presence of avatars within a virtual environment
US8839327B2 (en) 2008-06-25 2014-09-16 At&T Intellectual Property Ii, Lp Method and apparatus for presenting media programs
WO2010000300A1 (en) 2008-06-30 2010-01-07 Accenture Global Services Gmbh Gaming system
US20120246585A9 (en) 2008-07-14 2012-09-27 Microsoft Corporation System for editing an avatar
AU2009276721B2 (en) 2008-07-28 2015-06-18 Breakthrough Performancetech, Llc Systems and methods for computerized interactive skill training
US8384719B2 (en) 2008-08-01 2013-02-26 Microsoft Corporation Avatar items and animations
US8832201B2 (en) 2008-08-18 2014-09-09 International Business Machines Corporation Method, system and program product for providing selective enhanced privacy and control features to one or more portions of an electronic message
US8648865B2 (en) 2008-09-26 2014-02-11 International Business Machines Corporation Variable rendering of virtual universe avatars
US8108774B2 (en) 2008-09-26 2012-01-31 International Business Machines Corporation Avatar appearance transformation in a virtual universe
US8869197B2 (en) 2008-10-01 2014-10-21 At&T Intellectual Property I, Lp Presentation of an avatar in a media communication system
US8683354B2 (en) 2008-10-16 2014-03-25 At&T Intellectual Property I, L.P. System and method for distributing an avatar
US20100115426A1 (en) 2008-11-05 2010-05-06 Yahoo! Inc. Avatar environments
US8745152B2 (en) 2008-11-06 2014-06-03 Disney Enterprises, Inc. System and method for server-side avatar pre-rendering
WO2010074786A2 (en) 2008-12-04 2010-07-01 Total Immersion Software, Inc. System and methods for dynamically injecting expression information into an animated facial mesh
US8458601B2 (en) 2008-12-04 2013-06-04 International Business Machines Corporation System and method for item inquiry and information presentation via standard communication paths
US20100162149A1 (en) 2008-12-24 2010-06-24 At&T Intellectual Property I, L.P. Systems and Methods to Provide Location Information
US9105014B2 (en) 2009-02-03 2015-08-11 International Business Machines Corporation Interactive avatar in messaging environment
KR101558553B1 (ko) 2009-02-18 2015-10-08 삼성전자 주식회사 아바타 얼굴 표정 제어장치
US20100227682A1 (en) 2009-03-04 2010-09-09 Microsoft Corporation Awarding of avatar items in video game environment
US8988437B2 (en) 2009-03-20 2015-03-24 Microsoft Technology Licensing, Llc Chaining animations
US8862987B2 (en) 2009-03-31 2014-10-14 Intel Corporation Capture and display of digital images based on related metadata
US9377857B2 (en) 2009-05-01 2016-06-28 Microsoft Technology Licensing, Llc Show body position
US8253746B2 (en) 2009-05-01 2012-08-28 Microsoft Corporation Determine intended motions
US20100302253A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Real time retargeting of skeletal data to game avatar
US20100302138A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Methods and systems for defining or modifying a visual representation
US9159151B2 (en) 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
US20110093780A1 (en) 2009-10-16 2011-04-21 Microsoft Corporation Advertising avatar
KR20110070056A (ko) 2009-12-18 2011-06-24 한국전자통신연구원 사용자 맞춤형 고품질 3d 아바타 생성 방법 및 그 장치
US20110161242A1 (en) 2009-12-28 2011-06-30 Rovi Technologies Corporation Systems and methods for searching and browsing media in an interactive media guidance application
TWI434227B (zh) 2009-12-29 2014-04-11 Ind Tech Res Inst 動畫產生系統及方法
US8484158B2 (en) 2010-02-01 2013-07-09 International Business Machines Corporation Managing information about avatars across virtual worlds
WO2011101784A1 (en) 2010-02-16 2011-08-25 Tigertext Inc. A messaging system apparatuses circuits and methods of operation thereof
US20120194549A1 (en) 2010-02-28 2012-08-02 Osterhout Group, Inc. Ar glasses specific user interface based on a connected external device type
US8964298B2 (en) 2010-02-28 2015-02-24 Microsoft Corporation Video display modification based on sensor input for a see-through near-to-eye display
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
US20110239136A1 (en) 2010-03-10 2011-09-29 Oddmobb, Inc. Instantiating widgets into a virtual social venue
US9086776B2 (en) 2010-03-29 2015-07-21 Microsoft Technology Licensing, Llc Modifying avatar attributes
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
US8928672B2 (en) 2010-04-28 2015-01-06 Mixamo, Inc. Real-time automatic concatenation of 3D animation sequences
US8692830B2 (en) 2010-06-01 2014-04-08 Apple Inc. Automatic avatar creation
US8803888B2 (en) 2010-06-02 2014-08-12 Microsoft Corporation Recognition system for sharing information
US8749557B2 (en) 2010-06-11 2014-06-10 Microsoft Corporation Interacting with user interface via avatar
US10019842B2 (en) 2010-08-09 2018-07-10 Decopac, Inc. Decorating system for edible products
US8564621B2 (en) 2010-08-11 2013-10-22 International Business Machines Corporation Replicating changes between corresponding objects
JP2012065263A (ja) 2010-09-17 2012-03-29 Olympus Imaging Corp 撮影機器
JP6000954B2 (ja) 2010-09-20 2016-10-05 クゥアルコム・インコーポレイテッドQualcomm Incorporated クラウド支援型拡張現実のための適応可能なフレームワーク
KR101514327B1 (ko) 2010-11-04 2015-04-22 한국전자통신연구원 얼굴 아바타 생성 장치 및 방법
US20120124458A1 (en) 2010-11-17 2012-05-17 Nazareno Brier Cruzada Social networking website & web-based system for collecting & presenting real-time user generated information on parties & events.
US20120130717A1 (en) 2010-11-19 2012-05-24 Microsoft Corporation Real-time Animation for an Expressive Avatar
KR20120059994A (ko) 2010-12-01 2012-06-11 삼성전자주식회사 표정 제어점을 이용한 아바타 제어 장치 및 방법
US20120147014A1 (en) 2010-12-08 2012-06-14 Chao-Hua Lee Method for extracting personal styles and its application to motion synthesis and recognition
KR101445263B1 (ko) 2010-12-22 2014-09-30 주식회사 케이티 맞춤형 콘텐츠 제공 시스템 및 방법
US8761437B2 (en) 2011-02-18 2014-06-24 Microsoft Corporation Motion recognition
US9839844B2 (en) 2011-03-01 2017-12-12 Disney Enterprises, Inc. Sprite strip renderer
WO2012126135A1 (en) 2011-03-21 2012-09-27 Intel Corporation Method of augmented makeover with 3d face modeling and landmark alignment
WO2012139276A1 (en) 2011-04-11 2012-10-18 Intel Corporation Avatar facial expression techniques
US20130103760A1 (en) 2011-04-11 2013-04-25 Robert K. Golding Location-sensitive virtual identity system, apparatus, method and computer-readable medium
US8989786B2 (en) 2011-04-21 2015-03-24 Walking Thumbs, Llc System and method for graphical expression during text messaging communications
US9241184B2 (en) 2011-06-01 2016-01-19 At&T Intellectual Property I, L.P. Clothing visualization
AU2011204946C1 (en) 2011-07-22 2012-07-26 Microsoft Technology Licensing, Llc Automatic text scrolling on a head-mounted display
CN103765479A (zh) 2011-08-09 2014-04-30 英特尔公司 基于图像的多视点3d脸部生成
KR20130022434A (ko) 2011-08-22 2013-03-07 (주)아이디피쉬 통신단말장치의 감정 컨텐츠 서비스 장치 및 방법, 이를 위한 감정 인지 장치 및 방법, 이를 이용한 감정 컨텐츠를 생성하고 정합하는 장치 및 방법
US9342610B2 (en) 2011-08-25 2016-05-17 Microsoft Technology Licensing, Llc Portals: registered objects as virtualized, personalized displays
US20130249948A1 (en) 2011-08-26 2013-09-26 Reincloud Corporation Providing interactive travel content at a display device
US8633913B1 (en) 2011-09-02 2014-01-21 Rockwell Collins, Inc. Touch interfaces and controls for aviation displays
US8559980B2 (en) 2011-09-02 2013-10-15 John J. Pujol Method and system for integrated messaging and location services
US20130091206A1 (en) 2011-10-10 2013-04-11 Juliano Godinho Varaschin de Moraes Displaying social network platform update data
US8890926B2 (en) 2011-11-02 2014-11-18 Microsoft Corporation Automatic identification and representation of most relevant people in meetings
ES2829952T3 (es) 2011-11-03 2021-06-02 Glowbl Interfaz de comunicaciones y método de comunicaciones, programa informático correspondiente y medio de grabación correspondiente
US8872853B2 (en) 2011-12-01 2014-10-28 Microsoft Corporation Virtual light in augmented reality
US9782680B2 (en) 2011-12-09 2017-10-10 Futurewei Technologies, Inc. Persistent customized social media environment
WO2013097139A1 (en) 2011-12-29 2013-07-04 Intel Corporation Communication using avatar
US8810513B2 (en) 2012-02-02 2014-08-19 Kodak Alaris Inc. Method for controlling interactive display system
US20130257877A1 (en) 2012-03-30 2013-10-03 Videx, Inc. Systems and Methods for Generating an Interactive Avatar Model
US9402057B2 (en) 2012-04-02 2016-07-26 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Interactive avatars for telecommunication systems
US9357174B2 (en) 2012-04-09 2016-05-31 Intel Corporation System and method for avatar management and selection
WO2013166588A1 (en) 2012-05-08 2013-11-14 Bitstrips Inc. System and method for adaptable avatars
JP5497931B2 (ja) 2012-05-30 2014-05-21 株式会社コナミデジタルエンタテインメント アプリケーション装置、アプリケーション装置の制御方法、及びプログラム
US9588582B2 (en) 2013-09-17 2017-03-07 Medibotics Llc Motion recognition clothing (TM) with two different sets of tubes spanning a body joint
US9582072B2 (en) 2013-09-17 2017-02-28 Medibotics Llc Motion recognition clothing [TM] with flexible electromagnetic, light, or sonic energy pathways
US9263084B1 (en) 2012-06-15 2016-02-16 A9.Com, Inc. Selective sharing of body data
US9645394B2 (en) 2012-06-25 2017-05-09 Microsoft Technology Licensing, Llc Configured virtual environments
AU2013206649A1 (en) 2012-07-05 2014-01-23 Aristocrat Technologies Australia Pty Limited A gaming system and a method of gaming
US20140125678A1 (en) 2012-07-11 2014-05-08 GeriJoy Inc. Virtual Companion
US9361730B2 (en) 2012-07-26 2016-06-07 Qualcomm Incorporated Interactions of tangible and augmented reality objects
US10116598B2 (en) 2012-08-15 2018-10-30 Imvu, Inc. System and method for increasing clarity and expressiveness in network communications
US20150206349A1 (en) 2012-08-22 2015-07-23 Goldrun Corporation Augmented reality virtual content platform apparatuses, methods and systems
US9461876B2 (en) 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
WO2014036708A1 (en) 2012-09-06 2014-03-13 Intel Corporation System and method for avatar creation and synchronization
US9378592B2 (en) 2012-09-14 2016-06-28 Lg Electronics Inc. Apparatus and method of providing user interface on head mounted display and head mounted display thereof
US9314692B2 (en) 2012-09-21 2016-04-19 Luxand, Inc. Method of creating avatar from user submitted image
US9746990B2 (en) 2012-09-28 2017-08-29 Intel Corporation Selectively augmenting communications transmitted by a communication device
US9501942B2 (en) 2012-10-09 2016-11-22 Kc Holdings I Personalized avatar responsive to user physical state and context
US20140129343A1 (en) 2012-11-08 2014-05-08 Microsoft Corporation Dynamic targeted advertising avatar
US9256860B2 (en) 2012-12-07 2016-02-09 International Business Machines Corporation Tracking participation in a shared media session
US9990373B2 (en) 2013-02-06 2018-06-05 John A. Fortkort Creation and geospatial placement of avatars based on real-world interactions
US9519351B2 (en) 2013-03-08 2016-12-13 Google Inc. Providing a gesture-based interface
US9342230B2 (en) 2013-03-13 2016-05-17 Microsoft Technology Licensing, Llc Natural user interface scrolling and targeting
CN104995662B (zh) 2013-03-20 2020-08-11 英特尔公司 用于管理化身的设备和方法以及用于动画化化身的设备
WO2014153689A1 (en) 2013-03-29 2014-10-02 Intel Corporation Avatar animation, social networking and touch screen applications
US9269003B2 (en) 2013-04-30 2016-02-23 Qualcomm Incorporated Diminished and mediated reality effects from reconstruction
JP2014229224A (ja) 2013-05-27 2014-12-08 船井電機株式会社 オブジェクト選択装置
US9589357B2 (en) 2013-06-04 2017-03-07 Intel Corporation Avatar-based video encoding
US9378576B2 (en) 2013-06-07 2016-06-28 Faceshift Ag Online modeling for real-time facial animation
US9177410B2 (en) 2013-08-09 2015-11-03 Ayla Mandel System and method for creating avatars or animated sequences using human body features extracted from a still image
US10134296B2 (en) 2013-10-03 2018-11-20 Autodesk, Inc. Enhancing movement training with an augmented reality mirror
US9524434B2 (en) 2013-10-04 2016-12-20 Qualcomm Incorporated Object tracking based on dynamically built environment map data
US9706040B2 (en) 2013-10-31 2017-07-11 Udayakumar Kadirvel System and method for facilitating communication via interaction with an avatar
US9508197B2 (en) 2013-11-01 2016-11-29 Microsoft Technology Licensing, Llc Generating an avatar from real time image data
WO2015070416A1 (en) 2013-11-14 2015-05-21 Intel Corporation Mechanism for facilitating dynamic simulation of avatars corresponding to changing user performances as detected at computing devices
US9361510B2 (en) 2013-12-13 2016-06-07 Intel Corporation Efficient facial landmark tracking using online shape regression method
US9517403B1 (en) 2013-12-19 2016-12-13 Kabam, Inc. Rewarding user customization of a virtual item based on user reviews in an online game
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
US9390344B2 (en) 2014-01-09 2016-07-12 Qualcomm Incorporated Sensor-based camera motion detection for unconstrained slam
US9888207B2 (en) 2014-03-17 2018-02-06 Microsoft Technology Licensing, Llc Automatic camera selection
EP2946266B1 (en) 2014-03-21 2023-06-21 Samsung Electronics Co., Ltd. Method and wearable device for providing a virtual input interface
US9544257B2 (en) 2014-04-04 2017-01-10 Blackberry Limited System and method for conducting private messaging
US9503845B2 (en) 2014-04-17 2016-11-22 Paypal, Inc. Image customization to enhance transaction experience
WO2015164951A1 (en) 2014-05-01 2015-11-05 Abbas Mohamad Methods and systems relating to personalized evolving avatars
US9947139B2 (en) 2014-06-20 2018-04-17 Sony Interactive Entertainment America Llc Method and apparatus for providing hybrid reality environment
US10371944B2 (en) 2014-07-22 2019-08-06 Sony Interactive Entertainment Inc. Virtual reality headset with see-through mode
US20160134840A1 (en) 2014-07-28 2016-05-12 Alexa Margaret McCulloch Avatar-Mediated Telepresence Systems with Enhanced Filtering
TWI531991B (zh) 2014-08-29 2016-05-01 Top Line Products Ltd Replacement method of compound goods with compound option
US9633463B2 (en) 2014-09-24 2017-04-25 Intel Corporation User gesture driven avatar apparatus and method
US9791919B2 (en) 2014-10-19 2017-10-17 Philip Lyren Electronic device displays an image of an obstructed target
US9898849B2 (en) 2014-11-05 2018-02-20 Intel Corporation Facial expression based avatar rendering in video animation and method
US20160171739A1 (en) 2014-12-11 2016-06-16 Intel Corporation Augmentation of stop-motion content
KR102374446B1 (ko) 2014-12-11 2022-03-15 인텔 코포레이션 아바타 선택 메커니즘
US9754416B2 (en) 2014-12-23 2017-09-05 Intel Corporation Systems and methods for contextually augmented video creation and sharing
US20160210780A1 (en) 2015-01-20 2016-07-21 Jonathan Paulovich Applying real world scale to virtual content
JP6462386B2 (ja) 2015-02-05 2019-01-30 任天堂株式会社 プログラム、通信端末及び表示方法
US9939887B2 (en) 2015-03-09 2018-04-10 Ventana 3D, Llc Avatar control system
US10300362B2 (en) 2015-04-23 2019-05-28 Win Reality, Llc Virtual reality sports training systems and methods
US20160330522A1 (en) 2015-05-06 2016-11-10 Echostar Technologies L.L.C. Apparatus, systems and methods for a content commentary community
KR20160144179A (ko) 2015-06-08 2016-12-16 임재현 카메라를 포함하는 사용자 단말에서 사용자 인터페이스를 제공하는 방법
US9652897B2 (en) 2015-06-25 2017-05-16 Microsoft Technology Licensing, Llc Color fill in an augmented reality environment
US20170039986A1 (en) 2015-08-07 2017-02-09 Microsoft Technology Licensing, Llc Mixed Reality Social Interactions
US20170038829A1 (en) 2015-08-07 2017-02-09 Microsoft Technology Licensing, Llc Social interaction for remote communication
US9898869B2 (en) 2015-09-09 2018-02-20 Microsoft Technology Licensing, Llc Tactile interaction in virtual environments
US11182946B2 (en) 2015-09-21 2021-11-23 TuringSense Inc. Motion management via conductive threads embedded in clothing material
US11210834B1 (en) 2015-09-21 2021-12-28 TuringSense Inc. Article of clothing facilitating capture of motions
US10157488B2 (en) 2015-09-21 2018-12-18 TuringSense Inc. System and method for capturing and analyzing motions
US10416776B2 (en) 2015-09-24 2019-09-17 International Business Machines Corporation Input device interaction
US20170087473A1 (en) 2015-09-29 2017-03-30 Sportsworld, Inc. Virtual environments for managing and interacting with virtual sports leagues
US20170118145A1 (en) 2015-10-21 2017-04-27 Futurefly Ltd. Method of using emoji to control and enrich 3d chat environments
US9990689B2 (en) 2015-12-16 2018-06-05 WorldViz, Inc. Multi-user virtual reality processing
US10475225B2 (en) 2015-12-18 2019-11-12 Intel Corporation Avatar animation system
US10173141B1 (en) 2015-12-18 2019-01-08 Texta, Inc. Message encryption with video game
US20170199855A1 (en) 2016-01-11 2017-07-13 BuilderFish, LLC System and method for providing a time-based presentation of a user-navigable project model
KR20170086317A (ko) 2016-01-18 2017-07-26 한국전자통신연구원 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법
US10055895B2 (en) 2016-01-29 2018-08-21 Snap Inc. Local augmented reality persistent sticker objects
US10083537B1 (en) 2016-02-04 2018-09-25 Gopro, Inc. Systems and methods for adding a moving visual element to a video
US20170255450A1 (en) 2016-03-04 2017-09-07 Daqri, Llc Spatial cooperative programming language
US9911073B1 (en) 2016-03-18 2018-03-06 Snap Inc. Facial patterns for optical barcodes
KR102279063B1 (ko) 2016-03-31 2021-07-20 삼성전자주식회사 이미지 합성 방법 및 그 전자장치
US10325405B1 (en) 2016-04-08 2019-06-18 Relay Cars LLC Social media sharing in a virtual reality application
US20170312634A1 (en) 2016-04-28 2017-11-02 Uraniom System and method for personalized avatar generation, especially for computer games
US10019131B2 (en) 2016-05-10 2018-07-10 Google Llc Two-handed object manipulations in virtual reality
US11112963B2 (en) 2016-05-18 2021-09-07 Apple Inc. Devices, methods, and graphical user interfaces for messaging
US10105594B2 (en) 2016-06-17 2018-10-23 Disney Enterprises, Inc. Wearable garments recognition and integration with an interactive gaming system
US10657701B2 (en) 2016-06-30 2020-05-19 Sony Interactive Entertainment Inc. Dynamic entering and leaving of virtual-reality environments navigated by different HMD users
KR102461953B1 (ko) 2016-07-25 2022-10-31 매직 립, 인코포레이티드 증강 현실 및 가상 현실 안경류를 사용한 이미징 수정, 디스플레이 및 시각화
US10573048B2 (en) 2016-07-25 2020-02-25 Oath Inc. Emotional reaction sharing
US10169921B2 (en) 2016-08-03 2019-01-01 Wipro Limited Systems and methods for augmented reality aware contents
US20180047200A1 (en) 2016-08-11 2018-02-15 Jibjab Media Inc. Combining user images and computer-generated illustrations to produce personalized animated digital avatars
KR102606785B1 (ko) 2016-08-30 2023-11-29 스냅 인코포레이티드 동시 로컬화 및 매핑을 위한 시스템 및 방법
US10109073B2 (en) 2016-09-21 2018-10-23 Verizon Patent And Licensing Inc. Feature tracking and dynamic feature addition in an augmented reality environment
KR102596477B1 (ko) 2016-09-23 2023-11-02 애플 인크. 아바타 생성 및 편집
US20180095542A1 (en) 2016-09-30 2018-04-05 Sony Interactive Entertainment Inc. Object Holder for Virtual Reality Interaction
US10134192B2 (en) 2016-10-17 2018-11-20 Microsoft Technology Licensing, Llc Generating and displaying a computer generated image on a future pose of a real world object
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
US10593116B2 (en) 2016-10-24 2020-03-17 Snap Inc. Augmented reality object manipulation
US20180143950A1 (en) 2016-11-18 2018-05-24 InGage Technologies, Inc. Interactive communication via online video systems
JP6212667B1 (ja) 2016-12-26 2017-10-11 株式会社コロプラ 仮想空間を介して通信するためにコンピュータで実行される方法、当該方法をコンピュータに実行させるプログラム、および、情報処理装置
US10242503B2 (en) 2017-01-09 2019-03-26 Snap Inc. Surface aware lens
US10242477B1 (en) 2017-01-16 2019-03-26 Snap Inc. Coded vision system
US20180210628A1 (en) 2017-01-23 2018-07-26 Snap Inc. Three-dimensional interaction system
US10592066B2 (en) 2017-03-15 2020-03-17 Facebook, Inc. Visual editor for designing augmented-reality effects and configuring rendering parameters
US10282617B2 (en) 2017-03-28 2019-05-07 Qualcomm Incorporated Methods and systems for performing sleeping object detection and tracking in video analytics
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10949872B2 (en) 2017-04-28 2021-03-16 Snap Inc. Methods and systems for server generation of interactive advertising with content collections
US10510174B2 (en) 2017-05-08 2019-12-17 Microsoft Technology Licensing, Llc Creating a mixed-reality video based upon tracked skeletal features
US10249096B2 (en) 2017-05-17 2019-04-02 International Business Machines Corporation Mixing virtual image data and physical image data
EP3607267A1 (en) 2017-06-02 2020-02-12 Apple Inc. Presenting related points of interest
US10254941B2 (en) 2017-06-29 2019-04-09 Best Apps, Llc Computer aided systems and methods for creating custom products
US11266328B2 (en) 2017-08-03 2022-03-08 Latella Sports Technologies, LLC Systems and methods for evaluating body motion
US9980100B1 (en) 2017-08-31 2018-05-22 Snap Inc. Device location based on machine learning classifications
US20190107991A1 (en) 2017-09-13 2019-04-11 Magical Technologies, Llc Systems and methods of virtual billboarding and collaboration facilitation in an augmented reality environment
WO2019078836A1 (en) 2017-10-18 2019-04-25 Hewlett-Packard Development Company, L.P. SYSTEMS OF INCREASED REALITY
US10657695B2 (en) 2017-10-30 2020-05-19 Snap Inc. Animated chat presence
US10430016B2 (en) 2017-12-22 2019-10-01 Snap Inc. Augmented reality user interface control
WO2019212698A1 (en) 2018-05-01 2019-11-07 Magic Leap, Inc. Avatar animation using markov decision process policies
DK180212B1 (en) 2018-05-07 2020-08-19 Apple Inc USER INTERFACE FOR CREATING AVATAR
DE102018207518A1 (de) 2018-05-15 2019-11-21 Siemens Aktiengesellschaft Verfahren und System zum Animieren eines 3D-Avatars
US11023093B2 (en) 2018-05-30 2021-06-01 Microsoft Technology Licensing, Llc Human-computer interface for computationally efficient placement and sizing of virtual objects in a three-dimensional representation of a real-world environment
US11238628B2 (en) 2018-08-27 2022-02-01 Adobe Inc. Intelligent context-based image recommendations
US11030813B2 (en) 2018-08-30 2021-06-08 Snap Inc. Video clip object tracking
US10373325B1 (en) 2018-09-28 2019-08-06 Lightform, Inc. Method for augmenting a scene in real space with projected visual content
US10872451B2 (en) 2018-10-31 2020-12-22 Snap Inc. 3D avatar rendering
US11176737B2 (en) 2018-11-27 2021-11-16 Snap Inc. Textured mesh building
KR20210103525A (ko) 2018-12-20 2021-08-23 스냅 인코포레이티드 가상 표면 수정
US20200197744A1 (en) * 2018-12-21 2020-06-25 Motion Scientific Inc. Method and system for motion measurement and rehabilitation
US10867447B2 (en) 2019-01-21 2020-12-15 Capital One Services, Llc Overlaying 3D augmented reality content on real-world objects using image segmentation
US10984575B2 (en) 2019-02-06 2021-04-20 Snap Inc. Body pose estimation
KR102664688B1 (ko) 2019-02-19 2024-05-10 삼성전자 주식회사 가상 캐릭터 기반 촬영 모드를 제공하는 전자 장치 및 이의 동작 방법
US11435845B2 (en) 2019-04-23 2022-09-06 Amazon Technologies, Inc. Gesture recognition based on skeletal model vectors
US11915365B2 (en) 2019-11-15 2024-02-27 Snap Inc. 3D body model generation
JP7080212B2 (ja) 2019-12-27 2022-06-03 グリー株式会社 コンピュータプログラム、サーバ装置及び方法
US11813121B2 (en) 2020-03-25 2023-11-14 Optum, Inc. Systems and methods for generating an instrument positioning map for positioning one or more instruments on a patient body
CN111694429B (zh) 2020-06-08 2023-06-02 北京百度网讯科技有限公司 虚拟对象驱动方法、装置、电子设备及可读存储
US11615592B2 (en) 2020-10-27 2023-03-28 Snap Inc. Side-by-side character animation from realtime 3D body motion capture
US11660022B2 (en) 2020-10-27 2023-05-30 Snap Inc. Adaptive skeletal joint smoothing
US11450051B2 (en) 2020-11-18 2022-09-20 Snap Inc. Personalized avatar real-time motion capture
US11734894B2 (en) 2020-11-18 2023-08-22 Snap Inc. Real-time motion transfer for prosthetic limbs
US11748931B2 (en) 2020-11-18 2023-09-05 Snap Inc. Body animation sharing and remixing

Also Published As

Publication number Publication date
US20220157025A1 (en) 2022-05-19
WO2022108807A1 (en) 2022-05-27
EP4248407A1 (en) 2023-09-27
US20230343047A1 (en) 2023-10-26
KR20230107654A (ko) 2023-07-17
US11734894B2 (en) 2023-08-22

Similar Documents

Publication Publication Date Title
US11615592B2 (en) Side-by-side character animation from realtime 3D body motion capture
US11450051B2 (en) Personalized avatar real-time motion capture
US11734894B2 (en) Real-time motion transfer for prosthetic limbs
US11748931B2 (en) Body animation sharing and remixing
US11763481B2 (en) Mirror-based augmented reality experience
US11798238B2 (en) Blending body mesh into external mesh
US11908083B2 (en) Deforming custom mesh based on body mesh
CN117897734A (zh) 基于身体姿势控制交互式时尚
US11900506B2 (en) Controlling interactive fashion based on facial expressions
CN117999584A (zh) 使用外部网格使现实世界对象变形
CN116917938A (zh) 整个身体视觉效果
CN117136381A (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