CN112204621A - 基于计算设备能力简档的虚拟骨架 - Google Patents

基于计算设备能力简档的虚拟骨架 Download PDF

Info

Publication number
CN112204621A
CN112204621A CN201980036244.6A CN201980036244A CN112204621A CN 112204621 A CN112204621 A CN 112204621A CN 201980036244 A CN201980036244 A CN 201980036244A CN 112204621 A CN112204621 A CN 112204621A
Authority
CN
China
Prior art keywords
virtual skeleton
computing device
virtual
computer
skeleton
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
CN201980036244.6A
Other languages
English (en)
Inventor
S·C·卡勒加里
B·S·科特森
R·福斯特
D·W·史蒂文斯
M·J·布莱
S·乔里
R·L·哈林顿
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN112204621A publication Critical patent/CN112204621A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

可以基于能力简档来适配虚拟骨架。可以从主虚拟骨架生成基于能力简档而适配的虚拟骨架。经适配的虚拟骨架的复杂度可以小于主虚拟骨架。经适配的虚拟骨架包括的虚拟骨架关节可以少于与主虚拟骨架相关联的虚拟骨架关节。

Description

基于计算设备能力简档的虚拟骨架
背景技术
化身通常是用户的计算机表示。化身通常在诸如计算机游戏、应用、聊天、论坛、社区和即时消息服务等各种环境中采用二维(2D)或三维(3D)模型的形式。
化身通常包括表示用户的计算机表示的表面的网格。网格可以包括描绘用户的计算机表示的3D方面的轮廓。网格通常是在人类设计师的指导下生成的。传统上,设计人员手动生成虚拟物品(诸如眼球),并且手动将虚拟物品与网格相关联以生成化身。
化身可以是动画的,例如,通过使用可以被称为虚拟骨架或绑定(rig)的虚拟设备来操纵化身的网格。虚拟骨架通常包括与网格的各部分相对应的相互关联的参考点的集合。虚拟骨架改变相互连接的参考点之间的关系以操纵网格。对网格的每次操纵对应于化身的相应配置。
化身的配置通常使用顺序虚拟快照来描绘,该顺序虚拟快照表示对应对象的相应物理配置。例如,表示视频会议参会者的化身的配置可以图示出参会者在视频会议期间的运动(例如,眼睛、嘴唇、头部和手臂的运动)。根据该示例,配置可以被传送给视频会议的其他参会者。
用于提供化身虚拟骨架的传统技术包括基于将实现或使用虚拟骨架的计算机应用或计算机环境的化身虚拟骨架的繁琐设计。虚拟骨架的设计或选择通常很耗时。此外,虚拟骨架的设计通常需要使用计算机用户界面(UI)。与计算机UI的这种交互时间可能导致与实现用于设计或选择虚拟骨架的计算机UI的计算设备相关联的不期望的存储器使用、处理器使用和/或电池消耗。
发明内容
所公开的技术提供了方法和系统,该方法和系统提供基于能力简档而适配的虚拟骨架。在一些实现中,基于能力简档而适配的虚拟骨架是从主虚拟骨架生成的。经适配的虚拟骨架的复杂度可以小于主虚拟骨架。具体地,在一些实现中,经适配的虚拟骨架包括的虚拟骨架关节的数目可以少于与主虚拟骨架相关联的虚拟骨架关节。
本文中描述的实现解决了基于与计算设备相关联的能力来提供虚拟骨架的技术需求。为了至少解决该技术需求,本文中描述的实现提供了计算设备,该计算设备分析能力简档,以基于可以是主虚拟骨架或高度详细的虚拟骨架的虚拟骨架来生成经适配的虚拟骨架。
提供经适配的虚拟骨架的至少一个好处是减少了与使用计算设备来生成针对多个计算设备的个体虚拟骨架相关联的不必要的处理器开销。消除不必要的处理器开销可以减少电池消耗并且消除与计算设备相关联的不必要的存储器使用。
另一技术好处是,使用适合于计算设备的能力的虚拟骨架大大减少了在与计算设备相关联的显示器上绘制虚拟骨架所需要的处理器和图形负载。同样,减少不必要的处理器开销可以减少电池消耗并且减少与计算设备相关联的不必要的存储器使用。
所描述的实现中的至少一些实现的又一技术益处是,使用与计算设备的能力适配的虚拟骨架(诸如与计算设备相关联的化身运动输入),可以基于由该计算设备观察到的用户运动来准确地绘制化身运动。化身运动的准确绘制减少了不必要的处理器开销,减少了电池消耗并且减少了与计算设备相关联的不必要的存储器使用。还可以通过以下公开的实现来实现本文中未具体确定的其他技术益处。
在一些实现中,能力简档可以包括与将使用经适配的虚拟骨架的计算设备相关联的硬件简档。硬件简档可以阐述与计算设备相关联的一个或多个功能能力(例如,处理器能力、存储能力等)。硬件简档还可以指定该计算设备是否包括头部跟踪系统、相机、语音识别系统、身体运动传感器(例如,运动传感器)、视线检测系统、手指跟踪设备、活动确定系统(例如,步行、锻炼等)等、及其组合。
所公开的方法和系统可以分析能力简档,以确定适配主虚拟骨架的方式。在一些实现中,该方法和系统消除了与主虚拟骨架相关联的一个或多个虚拟骨架关节和/或虚拟骨架片段以提供基于能力简档而适配的虚拟骨架。例如,所公开的方法和系统可以在提供基于能力简档而适配的虚拟骨架时消除与主虚拟骨架的手相关联的一个或多个关节。
在另一示例中,所公开的方法和系统可以基于能力简档来消除主虚拟骨架的腿片段(例如,脚片段、小腿片段、大腿片段等)。在又一示例中,所公开的方法和系统可以消除与躯干、腿和脚相关联的虚拟骨架片段,以提供仅包括虚拟头部片段、手臂片段和手片段的经适配的虚拟骨架。
耦合到与分布式计算网络(诸如基于云的系统)相关联的自适应化身平台的客户端设备可以请求基于能力简档的经适配的虚拟骨架。如前所述,自适应化身平台可以起作用,以基于能力简档提供经适配的虚拟骨架。在一些实现中,客户端设备可以合并自适应化身平台,该自适应化身平台的功能是基于能力简档来提供经适配的虚拟骨架。
在一些实现中,提供了一种计算机实现的方法。该计算机实现的方法可以由与关联到分布式计算网络的服务器或计算设备相关联的自适应化身平台来实现。该方法可以包括由计算设备分析能力简档,该能力简档包括能够由计算设备使用以适配被存储在计算机存储装置中的虚拟骨架的信息,以及由计算设备取回被存储在计算机存储装置中的虚拟骨架。该方法还可以包括由计算设备基于能力简档中包括的信息来适配虚拟骨架,由计算设备进行的适配包括基于能力简档中包括的信息来降低虚拟骨架的复杂度并且生成经适配的虚拟骨架。此外,该方法可以包括由计算设备存储经适配的虚拟骨架。
在一些实现中,提供了一种计算机实现的方法。该计算机实现的方法可以由耦合到自适应化身平台的客户端计算设备来实现。自适应化身平台可以与服务器、基于云的计算设备或客户端计算设备相关联。该方法可以包括提供能力简档,该能力简档包括能够用于适配被存储在计算机存储装置中的虚拟骨架的信息。此外,该方法可以包括接收从被存储在计算机存储装置中的虚拟骨架得到的经适配的虚拟骨架,经适配的虚拟骨架的虚拟骨架复杂度低于被存储在计算机存储装置中的虚拟骨架的虚拟骨架复杂度,经适配的虚拟骨架是基于能力简档中包括的信息而生成的。该方法可以将经适配的虚拟骨架存储在计算机存储装置中。
在一些实现中,可以提供一种包括处理器的计算设备。该计算设备还可以包括与处理器通信的计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可执行指令,该计算机可执行指令在由处理器执行时引起处理器分析能力简档,该能力简档包括能够由计算设备使用以适配被存储在计算机存储装置中的虚拟骨架的信息,并且取回被存储在计算机存储装置中的虚拟骨架。此外,该计算机可执行指令在由处理器执行时可以引起处理器基于能力简档中包括的信息来适配虚拟骨架,适配包括基于能力简档中包括的信息来降低虚拟骨架的复杂度,并且生成经适配的虚拟骨架。此外,该计算机可执行指令在由处理器执行时可以引起处理器存储经适配的虚拟骨架。
在一些实现中,经适配的虚拟骨架是被存储在与计算设备相关联的存储装置中的主虚拟骨架或高保真虚拟骨架的修改版本,并且是基于与计算设备相关联的能力简档来生成的。而在一些实现中,经适配的虚拟骨架是基于与计算设备相关联的能力简档而生成的新的虚拟骨架。
提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。例如,术语“技术”可以是指以上和在整个文档中描述的上下文所允许的系统、方法、计算机可读指令、模块、算法、硬件逻辑和/或操作。
附图说明
参考附图描述详细描述。在附图中,附图标记的最左边的数字标识首次出现附图标记的图。不同图中的相同的附图标记表示相似或相同的项目。
图1是示出示例计算环境的框图,该示例计算环境可以包括与提供和接收虚拟骨架相关联的计算设备。在一些实现中,基于能力简档来调节虚拟骨架。
图2是提供客户端计算设备(诸如图1所示的客户端计算设备)的附加细节的框图。
图3是示出可以与化身网格相关联的虚拟骨架的图。
图4示出了示例性化身网格。示例性化身网格和虚拟骨架可以协同作用以实现化身的运动。
图5示出了示例性增强虚拟骨架。增强虚拟骨架可以基于由计算设备提供的能力简档来生成。
图6-7示出了与用于提供、接收、分析和/或生成虚拟骨架和/或适配虚拟骨架的操作有关的流程图。
图8示出了计算机架构图,该计算机架构图示出了用于能够实现本文中呈现的技术和工艺的各方面的计算系统的说明性硬件和软件架构。
具体实施方式
所公开的方法和系统中的至少一些提供了基于能力简档而适配的虚拟骨架。在一些实现中,基于能力简档而适配的虚拟骨架是从主虚拟骨架生成的。经适配的虚拟骨架的复杂度可以低于主虚拟骨架。具体地,经适配的虚拟骨架包括的虚拟骨架关节可以少于与主虚拟骨架相关联的虚拟骨架关节。
使用适合于计算设备的能力的虚拟骨架大大减少了在与计算设备相关联的显示器上绘制虚拟骨架所需要的处理器和图形负载。减少不必要的处理器开销可以减少电池消耗并且减少与计算设备相关联的不必要的存储器使用。还可以通过以下公开的实现来实现本文中未具体确定的其他技术益处。
在一些实现中,能力简档可以包括与将使用经适配的虚拟骨架的计算设备相关联的硬件简档。硬件简档可以阐述与计算设备相关联的一个或多个功能能力(例如,处理器能力、存储能力等)。硬件简档还可以指定计算设备是否包括头部跟踪系统、相机、语音识别系统、身体运动传感器(例如,运动传感器)、视线检测系统、手指跟踪设备、活动确定系统(例如,步行、锻炼等)等、及其组合。
所公开的方法和系统可以分析与能力简档相关联的细节以确定适配主虚拟骨架的方式。在一些实现中,该方法和系统消除了与主虚拟骨架相关联的一个或多个虚拟骨架关节和/或虚拟骨架片段,以提供基于能力简档而适配的虚拟骨架。例如,所公开的方法和系统可以在提供基于能力简档而适配的虚拟骨架时消除与主虚拟骨架的手相关联的一个或多个关节。在另一示例中,所公开的方法和系统可以基于能力简档来消除主虚拟骨架的腿片段(例如,脚片段、小腿片段、大腿片段等)。在又一示例中,所公开的方法和系统可以消除与躯干、腿和脚相关联的虚拟骨架片段,以提供仅包括虚拟头部片段、手臂片段和手片段的经适配的虚拟骨架。
基于能力简档的经适配的虚拟骨架可以由耦合到与分布式计算网络相关联的自适应化身平台的客户端设备来请求。如前所述,自适应化身平台可以起作用以基于能力简档提供经适配的虚拟骨架。在一些实现中,客户端设备可以合并自适应化身平台,该化身平台的功能是基于能力简档来提供经适配的虚拟骨架。
以下参考图1至8描述了各种示例、实现、场景和方面。
在描述用于获取基于能力简档而适配的虚拟骨架的方法之前,参考图1描述合适的使用环境的示例,图1示出了示例计算设备环境100。示例计算设备环境100可以与单个计算设备或多个未联网的计算设备(图1中未示出)相关联。而且,示例计算设备环境100可以是分布式计算网络的一部分,诸如基于云的计算环境和/或联网计算环境,其包括一个或多个服务器和耦合到一个或多个服务器的一个或多个计算设备。
环境100包括客户端计算设备102A。环境100可以包括附加客户端计算设备102B和102C。附加客户端计算设备102B和102C可以与客户端计算设备102A相同地起作用并且包括与客户端计算设备102A相同的元件。因此,本文中没有提供与附加客户端计算设备102B和102C有关的附加描述。
客户端计算设备102A可以包括处理器104。处理器104可以耦合到存储装置106。在一些实现中,处理器104用于执行可以被包括在存储装置106中的计算机可执行指令(图1中未示出)。
存储装置106还可以包括一个或多个虚拟骨架108。此外,存储装置106可以包括能力简档110。可以基于与能力简档110相关联的特定属性来适配虚拟骨架108。客户端计算设备102A可以通过网络116将能力简档110传输到服务器设备112。网络116可以表示任何合适的网络或网络组合,包括但不限于公共和/或私有局域网、和/或公共和/或专用广域网,包括但不限于互联网。
服务器设备112可以分析与能力简档110相关联的属性,并且将虚拟骨架108传送给计算设备102A。在一些实现中,基于与能力简档110相关联的属性来适配所传送的虚拟骨架108。下面提供与能力简档110和虚拟骨架108有关的更多细节。
在一些实现中,存储装置106包括运动库114。类似于虚拟骨架108,运动库114可以已经从服务器设备112被接收到。在一些实现中,运动库114定义与虚拟骨架108相关联的一个或多个运动行为。例如,运动库114可以包括与一个或多个骨架关节如何运动有关的细节,一个或多个骨架关节与虚拟骨架108相关联。此外,运动库114可以包括与一个或多个虚拟骨架片段(例如,腿片段、手臂片段、手指片段等)如何运动有关的细节。可以提供运动引擎130以与运动库114交互,以实现根据与运动库114相关联的虚拟骨架运动细节的虚拟骨架108的运动。
在一些实现中,由服务器设备112提供运动库114,并连同提供虚拟骨架108。例如,运动库114可以包括与的一个或多个虚拟骨架关节和/或虚拟骨架片段的运动有关的细节,该一个或多个虚拟骨架关节和/或虚拟骨架片段与已经由服务器设备112适配过的虚拟骨架118相关联。
类似地,服务器设备112可以包括处理器118和存储装置120。存储装置120可以包括虚拟骨架122等。在一些实现中,虚拟骨架122是服务器设备112可以基于从计算设备102A接收的能力简档110来适配的主虚拟骨架。具体地,服务器设备112可以从计算设备102A接收能力简档110。作为响应,服务器设备112可以适配虚拟骨架122以提供虚拟骨架108。在一些实现中,经适配的虚拟骨架108不如虚拟骨架122复杂。例如,虚拟骨架108可以包括比虚拟骨架122更少的虚拟骨架关节和/或虚拟骨架片段。在某些实现中,虚拟骨架108可以包括的虚拟骨架关节参数(例如,笛卡尔坐标)的数目少于与虚拟骨架122相关联的虚拟骨架关节参数。
在一些实现中,虚拟骨架122是响应于接收到能力简档110而生成的。随后,可以基于与能力简档110相关联的属性来适配虚拟骨架122以生成经适配的虚拟骨架108。在一些实现中,经适配的虚拟骨架108替换虚拟骨架122。替代地,在一些实现中,在生成经适配的虚拟骨架108之后,保持虚拟骨架122。虚拟骨架122和/或虚拟骨架108可以被存储在一个或多个计算机存储装置中。
包括经适配的虚拟骨架108的数据结构(诸如一个或多个计算机文件)可能比包括虚拟骨架122的数据结构消耗更少的存储空间。数据结构可以包括定义虚拟骨架108和/或虚拟骨架122的数据。因此,与将虚拟骨架122传输到客户端计算设备102A相比,将虚拟骨架108传输到客户端计算设备102A可以消耗更少的网络带宽。
与服务器设备112相关联的存储装置120还可以包括运动库124。运动库124可以包括与一个或多个虚拟骨架关节和/或虚拟骨架片段的运动有关的细节,该一个或多个虚拟骨架关节和/或虚拟骨架片段与虚拟骨架122相关联。在一些实现中,服务器设备112可以使用运动库124作为基础来生成和提供运动库114。具体地,如上所述,服务器设备112可以基于能力简档110来适配虚拟骨架122,以将虚拟骨架118提供给客户端计算设备102A。类似地,服务器设备112可以适配运动库124以生成运动库114。具体地,在生成运动库114时,服务器设备112可以适配运动库124,以包括与一个或多个虚拟骨架关节和/或虚拟骨架片段的运动有关的细节,该一个或多个虚拟骨架关节和/或虚拟骨架片段和与虚拟骨架108相关联的虚拟骨架关节和/或虚拟骨架片段相一致。
服务器112还可以包括虚拟骨架适配模块126。处理器118可以用于控制虚拟骨架适配模块126。例如,处理器118可以在从客户端计算设备102A接收到能力简档110时调用虚拟骨架适配模块126的功能。虚拟骨架适配模块126可以由处理器118控制,以分析能力简档110。响应于由虚拟骨架适配模块126执行的分析,虚拟骨架适配模块126可以适配虚拟骨架122以生成虚拟骨架108。服务器112然后可以将虚拟骨架108传送到计算设备102A。
图2示出了与客户端计算设备102A相关联的附加细节和功能。客户端计算设备102A可以包括化身系统200和系统软件202。化身系统200可以生成化身204,该化身204表示在多种环境中的任何一种环境中的用户,包括例如视频游戏、聊天或即时消息传递应用、论坛、社区、
Figure BDA0002804599350000091
服务和/或其他计算机实现的应用。
化身系统200可以包括虚拟骨架108。如前所述,虚拟骨架可以已经根据客户端计算设备102A的能力简档110从服务器设备112被接收到。此外,化身系统200可以生成可形变身体网格206、指定化身204的面部和/或身体的外观的一组属性208、以及化身的基本物品集合,诸如化身服装212和化身配件214。该信息可以作为数据被存储在与化身系统200相关联的系统软件202中。
虚拟骨架108可以允许化身计算应用(诸如被设计为在即时消息传递应用的上下文中合并化身的应用等)在明确定义的虚拟骨架关节或枢轴点处移动虚拟骨架108的部分。这样的化身计算应用可以在不具有关于化身204的外观的任何其他特定知识的情况下,利用虚拟骨架108的知识并且在某些情况下通过运动库114来对任何化身进行动画处理。
化身系统200可以生成或维持身体网格206,该身体网格206定义化身204的形式,例如,化身204的高度以及化身204是苗条的、中等身材的还是肌肉型身材。化身系统200还可以生成或维护与化身204的面部或身体或两者的外观有关的一组属性208。例如,化身系统200可以维护描述化身的面部(诸如眼睛颜色、发型、肤色等)的某些方面的一组属性。
在一些实现中,化身系统200生成或维护可以应用于化身204的一组化身项目,诸如衣服212和配件214。在一些实施中,化身204可以具有手提包、太阳镜、帽子、珠宝等。应当理解,在一些实施例中,化身物品集合(诸如封闭件112和/或附件214)可以被存储在一个或多个数据结构中作为数据,诸如包括包含化身物品的数据的一个或多个计算机可读文件。
图3示出了与服务器设备112相关联的虚拟骨架122的示例性实现。虚拟骨架包括在多个虚拟骨架关节302处枢转地耦合的多个虚拟骨架片段300。在一些实现中,身体部位名称可以被分配给每个虚拟骨架片段和/或每个虚拟骨架关节。
在图3中,每个虚拟骨架片段300的身体部位用附加字母表示:A表示头部,B表示锁骨,C表示上臂,D表示前臂,E表示手,F表示躯干,G表示骨盆,H表示大腿,J表示小腿,K表示脚。同样,每个虚拟骨架关节302的身体部位标记由以下字母表示:A表示颈部,B表示肩部,C表示肘部,D表示手腕,E表示下背部,F表示臀部,G表示膝盖,H表示脚踝。
出于简洁图示的原因,某些虚拟骨架片段300和虚拟骨架关节302未标有附图标记。自然地,图3所示的虚拟骨架片段300和虚拟骨架关节302的布置绝不是限制性的。与本公开相一致的虚拟骨架实际上可以包括任何类型和数目的虚拟骨架片段和虚拟骨架关节。
在一些实现中,可以为每个虚拟骨架关节302分配各种参数,例如,指定关节位置的笛卡尔坐标、指定关节旋转的角度、和指定对应身体部位的构型(手打开、手闭合等)的其他参数。虚拟骨架122可以采取一种或多种数据结构的形式,数据结构包括用于每个虚拟骨架关节302和相关联的虚拟骨架片段300的这些参数中的任何一个或全部、以及定义这些参数的数据。例如,一个或多个数据结构可以包括与存储装置120相关联的虚拟骨架122和运动库124。以这种方式,定义虚拟骨架122的度量数据(其大小、形状、取向、位置等)可以被分配给虚拟骨架片段300和/或虚拟骨架关节302。
如上所述,客户端计算设备102A可以包括身体网格206。图4中示出了示例性身体网格206。身体网格206可以采取一种或多种数据结构的形式,包括以下描述的任何或所有身体网格细节。
身体网格206可以与虚拟骨架108相关联。如图所示,身体网格206可以是线框网格,其可以包括布置在定义人体模型的形状的网格中的刚性多边形网格(例如,三角形)的层级、一个或多个可形变网格、或这两者的任何组合。这样的网格可以包括在每个多边形的边处的弯曲限制。在其他示例中,某些模型可能包括面片、非均匀旋转B样条曲线或其他高阶曲面。模型还可以包括表面纹理和/或其他信息,以更准确地表示服装、头发和/或建模目标的其他方面,诸如被包括在属性208、服装212和/或配件214中。
图5示出了根据示例性实现的经适配的虚拟骨架108。虚拟骨架108可以由服务器设备112基于能力简档110来提供,能力简档110由计算设备102A通过网络116提供给服务器设备112。从图5中可以清楚地看到,虚拟骨架108的复杂度小于虚拟骨架122(参见图3)。
服务器设备112可以基于能力简档110决定提供具有降低的复杂度的虚拟骨架108。具体地,在一些实现中,能力简档110提供客户端计算设备102A的硬件能力简档。与能力简档110相关联的硬件能力简档可以用作降低虚拟骨架102的复杂度以生成虚拟骨架108的基础。自然地,如图5所示的虚拟骨架108的虚拟骨架片段300和虚拟骨架关节302的布置和数目绝不是限制性的。
在一些实现中,能力简档110可以指示客户端计算设备102A的硬件资源级别(例如,低、中或高)。低硬件资源级别可以指示与计算设备102A相关联的最小处理和/或图形能力。中硬件资源级别可以指示中等处理和/或图形能力,而高硬件资源级别可以指示出色的处理和/或图形能力。当将经适配的虚拟骨架108提供给具有低硬件资源级别的计算设备时,服务器设备112可以消除虚拟骨架122的更多数目的虚拟骨架关节和/或虚拟骨架片段以及相关参数。
另一方面,当生成经适配的虚拟骨架108并且将其提供给客户端计算设备102A时,指示高硬件资源级别的能力简档110可以触发服务器设备112最小地降低虚拟骨架122的复杂度(例如,减少虚拟骨架关节和/或虚拟骨架片段和相关参数)。在一些实现中,服务器设备112可以简单地将虚拟骨架122提供给具有指示高硬件资源级别的能力简档110的客户端计算设备。
在一些实现中,能力简档110可以定义与客户端计算设备102A的化身系统200相关联的运动跟踪能力。特别地,能力简档110可以指示化身系统200是否能够监测头部位置、头部转动、眼睛和/或视线跟踪、手跟踪、手指跟踪等。
与客户端计算设备相关联的一些化身系统200可以包括运动跟踪传感器,诸如光学运动跟踪传感器、身体和头部控制器、眼睛控制器、使用一个或多个相机的眼睛跟踪识别技术、光学传感器、数据接收器、运动人工智能和其他电子硬件。因此,化身系统200可以被配置为使化身204和身下的虚拟骨架108以类似于与客户端计算设备102A的用户相关联的运动和行为的方式来运动和做出行为。
与化身系统200相关联的相机和/或其他传感器可以用于客户端计算设备102A的用户的运动跟踪,诸如检测用户的位置和运动,以及生成定义虚拟骨架参数的信号,诸如x、y和z笛卡尔坐标(例如,虚拟骨架关节和片段的参数)。例如,相机和/或其他传感器可以用于实现跟踪识别技术以收集跟踪识别数据。例如,跟踪数据可以与用户的眼睛运动有关。
当向具有与客户端计算设备102A的化身系统200相关联的有限或最小运动跟踪能力的计算设备提供经适配的虚拟骨架108时,服务器设备112可以消除与虚拟骨架122相关联的更多数目的虚拟骨架关节和/或虚拟骨架片段。有限或最小运动跟踪能力可以被包括在属于计算设备102A的能力简档110中。另一方面,当生成经适配的虚拟骨架108并且将其提供给客户端计算设备102A时,指示与客户端计算设备102A的化身系统200相关联的强大运动跟踪能力的能力简档110可以触发服务器设备112以最小地降低虚拟骨架122的复杂度(例如,减少虚拟骨架关节和/或虚拟骨架片段和相关参数)。
图6和7示出了示例流程图。本领域普通技术人员应当理解,本文中公开的方法的操作不必以任何特定顺序来呈现,并且以替代顺序来执行一些或全部操作是可能的并且是可以设想的。为了便于描述和说明,已经按演示顺序介绍了操作。可以添加,省略,一起执行和/或同时执行操作,而不脱离所附权利要求的范围。
还应当理解,所说明的方法可以在任何时间终止,并且不需要全部执行。如本文中定义的,方法的一些或全部操作和/或基本等效的操作可以通过执行计算机存储介质上包括的计算机可读指令来执行。如说明书和权利要求书中使用的术语“计算机可读指令”及其变体在本文中被广泛地使用以包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持计算设备、基于微处理器的可编程消费电子产品、其组合等。
因此,应当理解,本文中描述的逻辑操作被实现为(1)在计算系统(例如,计算设备102A、102B、102C、112或多个计算设备)上运行的计算机实现的动作或程序模块的序列,和/或(2)计算系统内的互连机器逻辑电路或电路模块。该实现是取决于计算系统的性能和其他要求的选择问题。因此,逻辑操作可以以软件、固件、专用数字逻辑及其任何组合来实现。此外,本文中描述的逻辑操作可以由诸如客户端设备或服务器设备等单个计算设备来实现。替代地,本文中描述的逻辑操作可以由服务器设备和客户端设备的组合来实现。
图6是示例流程图600的示图,示例流程图600示出了与基于能力简档来提供经适配的虚拟骨架相关联的操作。在一个示例中,图6的操作可以由一个或多个计算设备的组件(诸如计算服务器设备112和/或客户端计算设备102A)执行。因此,与示例流程图700相关联的指令可以由与服务器侧组件和/或客户端侧组件相关联的一个或多个处理器执行。
在操作602,分析能力简档,该能力简档包括能够由计算设备使用以适配被存储在计算机存储装置中的虚拟骨架的信息。在一些实现中,分析可以由虚拟骨架适配模块126执行。具体地,虚拟骨架适配模块126可以分析能力简档110以生成虚拟骨架108,虚拟骨架108是虚拟骨架122的适配版本。
在操作604,取回被存储在计算机存储装置中的虚拟骨架。所取回的虚拟骨架可以是虚拟骨架122。
在操作606,基于包括能力简档的信息来适配被存储在计算机存储装置中的所取回的虚拟骨架。适配可以包括:基于能力简档中的信息来降低虚拟骨架122的复杂度;以及生成经适配的虚拟骨架,诸如虚拟骨架108。
在操作608,将经适配的虚拟骨架被存储在计算机存储装置中。例如,可以将经适配的虚拟骨架存储在存储装置120和/或存储装置106中。
图7是示例流程图700的图,流程图700示出了与基于能力简档来接收经适配的虚拟骨架相关联的操作。在一个示例中,图7的操作可以由一个或多个计算设备的组件(诸如计算服务器设备112或客户端计算设备102A)来执行。因此,与示例流程图700相关联的指令可以由与服务器侧组件和/或客户端侧组件相关联的一个或多个处理器执行。
在操作702,提供能力简档,该能力简档包括能够由计算设备使用以适配被存储在计算机存储装置中的虚拟骨架的信息。在一些实现中,提供能力简档包括将能力简档从客户端计算设备102A传输到服务器设备112。
在操作704,接收从被存储在计算机存储装置中的虚拟骨架得到的经适配的虚拟骨架。在一些实现中,客户端计算设备102A接收经适配的虚拟骨架。此外,在一些实现中,经适配的虚拟骨架可以从被存储在服务器设备112中的虚拟骨架生成。经适配的虚拟骨架可以是不如被存储在服务器设备112中的虚拟骨架复杂的版本。经适配的虚拟骨架包括的虚拟骨架关节和/或虚拟骨架片段少于与被存储在服务器设备112中的虚拟骨架相关联的虚拟骨架关节和/或虚拟骨架片段。
在操作706,将经适配的虚拟骨架存储在计算机存储装置中。例如,可以将经适配的虚拟骨架存储在存储装置120和/或存储装置106中。
现在转向图8,本文中描述了用于能够执行各种软件组件的计算设备的说明性计算设备架构800。计算设备架构800适用于部分由于形状因素、无线连接性和/或电池供电的操作而促进移动计算的计算设备。在一些配置中,计算设备包括但不限于数字笔、数字墨水设备、移动电话、平板设备、平板设备、便携式视频游戏设备等。
计算设备架构800适用于附图中所示的任何计算设备。此外,计算设备架构800的各方面可以适用于传统的台式计算机、便携式计算机(例如,电话、膝上型计算机、笔记本计算机、超便携式计算机和上网本)、服务器计算机、以及本文中描述的其他计算机系统。例如,本文中公开的单点触摸和多点触摸方面可以应用于利用触摸屏或某种其他启用触摸功能的设备(诸如启用触摸的触控板或启用触摸的鼠标)的台式计算机。在一些实现中,计算机设备架构800中的一些或全部由计算设备102A、102B、102C和/或112实现。
图8所示的计算设备800包括处理器802、存储器组件804、网络连接组件806、传感器组件808、输入/输出组件810和电源组件812。在所示配置中,处理器802与存储器组件804、网络连接组件806、传感器组件808、输入/输出(“I/O”)组件810和电源组件812通信。尽管在图8所示的各个组件之间没有示出连接,但是这些组件可以交互以执行设备功能。在一些配置中,组件被布置为经由一个或多个总线(未示出)进行通信。
处理器802包括中央处理单元(“CPU”),中央处理单元被配置为处理数据、执行一个或多个应用程序的计算机可执行指令并且与计算设备架构800的其他组件通信,以执行本文中描述的各种功能。处理器802可以被用于执行本文中呈现的软件组件的各方面,尤其是执行至少部分利用启用触摸的输入的那些软件组件的各方面。
在一些配置中,处理器802包括图形处理单元(“GPU”)(未示出),图形处理单元被配置为加速由CPU执行的操作,包括但不限于:通过执行通用科学和/或工程计算应用以及图形密集型计算应用而执行的操作,诸如高分辨率视频(例如,720P、1080p和更高分辨率)、视频游戏、三维(“3D”)建模应用等。在一些配置中,处理器802被配置为与分立式GPU(未示出)通信。在任何情况下,CPU和GPU都可以根据协同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行,而计算密集型部分则由GPU加速。
在一些配置中,处理器802是片上系统(“SoC”)(未示出)以及下文中描述的一个或多个其他组件或者被包括在其中。例如,SoC可以包括处理器802、GPU、一个或多个网络连接组件806、以及一个或多个传感器组件808。在一些配置中,处理器802部分地利用封装叠加(“PoP”)集成电路封装技术来制造。处理器802可以是单核或多核处理器。
处理器802可以根据ARM架构来创建(可从英国剑桥的ARM控股公司获取许可)。或者,处理器802可以根据x86架构来创建(可从加利福尼亚州山景城的INTEL公司和其他公司获取)。在一些配置中,处理器802是SNAPDRAGON SoC(可从加利福尼亚州圣地亚哥的QUALCOMM获取)、TEGRA SoC(可从加利福尼亚州圣克拉拉的NVIDIA获取)、HUMMINGBIRD SoC(可从韩国首尔的SAMSUNG获取)、Open Multimedia应用平台(“OMAP”)SoC(可从德克萨斯州达拉斯的TEXAS INSTRUMENTS获取)、上述任何SoC的定制版本、或专有SoC。
存储器组件804包括随机存取存储器(“RAM”)814、只读存储器(“ROM”)816、集成存储存储器(“集成存储装置”)818和计算机可读介质(“CRM”)820。在一些配置中,RAM 814或其一部分、ROM 816或其一部分、和/或RAM 814和ROM 816的某种组合集成在处理器802中。在一些配置中,ROM 816被配置为存储固件、操作系统或其一部分(例如,操作系统内核)、和/或用于从集成存储装置818和/或CRM 820加载操作系统内核的引导加载程序。
集成存储装置818可以包括固态存储器、硬盘或固态存储器和硬盘的组合。集成存储装置818可以焊接或以其他方式连接到逻辑板,处理器802和本文中描述的其他组件也可以连接在逻辑板上。这样,集成存储装置818集成在计算设备中。集成存储装置818被配置为存储操作系统或其部分、应用程序、数据和本文中描述的其他软件组件。
计算机可读介质(CRM)820可以包括固态存储器、硬盘或固态存储器和硬盘的组合。在一些配置中,提供CRM 820来代替集成存储装置818。在其他配置中,CRM 820被提供作为附加的可选存储装置。在一些配置中,CRM 820在逻辑上与集成存储装置818组合,使得总可用存储装置可用作总的组合存储容量。在一些配置中,向用户示出集成存储装置818和CRM 820的总的组合容量,而不是集成存储装置818和可移动存储装置820的单独存储容量。
如本文中使用的,计算机可读介质可以存储由处理单元802可执行的指令。计算机可读介质还可以存储由外部处理单元(诸如外部CPU、外部GPU)可执行和/或由外部加速器(诸如FPGA类型加速器、DSP类型加速器或任何其他内部或外部加速器)可执行的指令。在各种示例中,至少一个CPU、GPU和/或加速器被并入计算设备中,而在一些示例中,CPU、GPU和/或加速器中的一个或多个在计算设备外部。
计算机可读介质可以包括计算机存储介质和/或通信介质。计算机存储介质可以包括易失性存储器、非易失性存储器和/或其他持久性和/或辅助计算机存储介质、以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的可移动和不可移动计算机存储介质中的一种或多种。因此,计算机存储介质包括设备和/或作为设备的一部分或在设备外部的硬件组件中包括的有形和/或物理形式的介质,包括但不限于随机存取存储器(“RAM”)、静态随机存取存储器(“SRAM”)、动态随机存取存储器(“DRAM”)、相变存储器(“PCM”)、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存、旋转介质、光卡或其他光存储介质、磁存储、磁卡或其他磁存储设备或介质、固态存储设备、存储阵列、网络连接存储、存储区域网络、托管计算机存储或任何其他存储存储器、存储设备、和/或可以用于存储和维护供计算设备访问的信息的存储介质。
与计算机存储介质相反,通信介质可以在诸如载波等调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文中定义的,计算机存储介质不包括通信介质。也就是说,计算机存储介质本身不包括仅由调制数据信号、载波或传播信号组成的通信介质。
尽管已经以特定于结构特征和/或方法动作的语言描述了各种配置,但是应当理解,所附表示中定义的主题不必限于所描述的特定特征或动作。而是,特定特征和动作被公开作为实现所要求保护的主题的示例形式。所要求保护的主题可以以其他方式体现,可以包括不同的元素或操作,并且可以与其他现有或将来的技术结合使用。本说明书不应当被解释为暗示各种操作或元素之间的任何特定顺序或布置,除非明确描述了各个操作或元素的布置顺序。
可以理解,一个或多个存储器组件1404可以存储操作系统。根据各种配置,操作系统包括但不限于来自华盛顿州雷蒙德市的微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自加利福尼亚州帕洛阿尔托的Hewlett-Packard公司的PALM WEBOS、来自加拿大安大略省滑铁卢的Research In Motion Limited的BLACKBERRY OS、来自加利福尼亚州库比蒂诺的Apple公司的IOS和来自加利福尼亚州山景城的谷歌公司的ANDROID OS。其他操作系统被设想到。
网络连接组件806包括无线广域网组件(“WWAN组件”)822、无线局域网组件(“WLAN组件”)824和无线个域网组件(“WPAN组件”)826。网络连接组件806促进去往和来自网络856或另一网络(其可以是WWAN、WLAN或WPAN)的通信。尽管仅示出了网络856,但是网络连接组件806可以促进与多个网络的同时通信,包括与本文中的任何描述有关的网络。例如,网络连接组件806可以促进经由WWAN、WLAN或WPAN中的一个或多个与多个网络的同时通信。
网络856可以是或者可以包括WWAN,诸如利用一种或多种移动电信技术以经由WWAN组件822利用计算设备架构800向计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可以包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)ONE、CDMA7000、通用移动电信系统(“UMTS”)、长期演进(“LTE”)和全球微波接入互操作性(“WiMAX”)。此外,网络856可以利用各种信道接入方法(其可以由或不能由前述标准使用),包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分复用(“OFDM”)、空分多址(“SDMA”)等。可以使用通用分组无线电服务(“GPRS”)、全球演进的增强数据速率(“EDGE”)、高速分组接入(“HSPA”)协议族(包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或以其他方式称为高速上行链路分组接入(“HSUPA”))、演进的HSPA(“HSPA+”)、LTE以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络856可以被配置为利用上述技术的任何组合来提供语音和/或数据通信。网络856可以被配置为或适于根据下一代技术提供语音和/或数据通信。
在一些配置中,WWAN组件822被配置为向网络856提供双模或多模连接。例如,WWAN组件822可以被配置为提供到网络856的连接,其中网络856经由GSM和UMTS技术或经由某种其他技术组合来提供服务。或者,可以利用多个WWAN组件822来执行这样的功能,和/或提供附加功能以支持其他不兼容的技术(即,不能由单个WWAN组件支持)。WWAN组件822可以促进与多个网络(例如,UMTS网络和LTE网络)的类似连接。
网络856可以是根据一个或多个电气和电子工程师协会(“IEEE”)802.11标准(诸如IEEE 802.11a、802.11b、802.11g、802.11n和/或将来802.11标准(本文中统称为WI-FI))进行操作的WLAN。还设想草案802.11标准。在一些配置中,利用一个或多个无线WI-FI接入点来实现WLAN。在一些配置中,一个或多个无线WI-FI接入点是具有到WWAN的连接的另一计算设备,其用作WI-FI热点。WLAN组件824被配置为经由WI-FI接入点连接到网络856。这样的连接可以经由各种加密技术来保护,包括但不限于WI-FI保护访问(“WPA”)、WPA2、有线等效保密(“WEP”)等。
网络856可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-Wave、ZIGBEE或某种其他短程无线技术进行操作的WPAN。在一些配置中,WPAN组件826被配置为促进经由WPAN与诸如外围设备、计算机或其他计算设备等其他设备的通信。例如,本文中公开的所有数字笔迹设备100可以经由BLUETOOTH连接、WI-FI连接、WI-FIDIRECT连接等与配对的计算机101通信。
传感器组件808包括磁力计828、环境光传感器830、接近传感器832、加速度计834、陀螺仪836和全球定位系统传感器(“GPS传感器”)838。设想,其他传感器(诸如但不限于温度传感器或冲击检测传感器)也可以并入计算设备架构800中。
磁力计828被配置为测量磁场的强度和方向。在一些配置中,磁力计828向存储在存储器组件804之一内的罗盘应用程序提供测量,以便向用户提供包括基本方向(北、南、东和西)的参考系中的准确方向。可以向包括罗盘组件的导航应用程序提供类似的测量。设想由磁力计828获取的测量的其他用途。
环境光传感器830被配置为测量环境光。在一些配置中,环境光传感器830向存储在存储器组件804之一内的应用程序提供测量,以便自动调节显示器的亮度(下面描述)以补偿低光和高光环境。设想由环境光传感器830获取的测量的其他用途。
接近传感器832被配置为在没有直接接触的情况下检测在计算设备附近的对象或物体的存在。在一些配置中,接近传感器832检测用户的身体(例如,用户的面部)的存在,并且将该信息提供给存储在存储器组件804之一内的应用程序,该应用程序利用接近信息来启用或禁用计算设备的某个功能。例如,电话应用程序可以响应于接收到接近信息而自动禁用触摸屏(下面描述),使得用户的面部在呼叫期间不会无意地结束呼叫或启用/禁用电话应用程序内的其他功能。可以设想由接近传感器828检测到的接近度信息的其他用途。
加速度计834被配置为测量适当的加速度。在一些配置中,来自加速度计834的输出被应用程序用作输入机制以控制应用程序的某个功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计834接收到的输入而移动或以其他方式操纵角色、其一部分或对象。在一些配置中,来自加速度计834的输出被提供给应用程序用于在横向和纵向模式之间切换,计算坐标加速度或检测下降。预期加速度计834的其他用途。
陀螺仪836被配置为测量和保持取向。在一些配置中,来自陀螺仪836的输出被应用程序用作输入机制以控制应用程序的某个功能。例如,陀螺仪836可以用于准确识别视频游戏应用或某个其他应用的3D环境内的移动。在一些配置中,应用程序利用来自陀螺仪836和加速度计834的输出来增强对应用程序的某个功能的控制。预期陀螺仪836的其他用途。
GPS传感器838被配置为从GPS卫星接收信号以用于计算位置。由GPS传感器838计算的位置可以由需要或受益于位置信息的任何应用程序使用。例如,由GPS传感器838计算的位置可以与导航应用程序一起使用以提供从该位置到目的地的方向或从目的地到该位置的方向。此外,GPS传感器838可以用于向基于外部位置的服务(诸如E911服务)提供位置信息。GPS传感器838可以利用一个或多个网络连接组件806来获取经由WI-FI、WIMAX和/或蜂窝三角测量技术生成的位置信息,以帮助GPS传感器838获取定位。GPS传感器838还可以用在辅助GPS(“A-GPS”)系统中。GPS传感器838还可以与诸如处理器802等其他组件结合操作以生成用于计算设备800的定位数据。
I/O组件810包括显示器840、触摸屏842、数据I/O接口组件(“数据I/O”)844、音频I/O接口组件(“音频I/O“)846、视频I/O接口组件(“视频I/O”)848和相机850。在一些配置中,组合显示器840和触摸屏842。在一些配置中,组合数据I/O组件844、音频I/O组件846和视频I/O组件848中的两个或更多个。I/O组件810可以包括被配置为支持下面描述的各种接口的离散处理器,或者可以包括内置于处理器802的处理功能。
在一些配置中,计算设备800可以包括反馈设备851,诸如被配置为响应于触觉信号而物理振动的致动器或固态电路。处理单元可以引起向反馈设备851生成与所生成的触觉效果相关联的触觉信号,反馈设备851又输出触觉效果,诸如振动触觉效果、静电摩擦触觉效果或变形触觉效果。
反馈设备851包括驱动电路。反馈设备851可以是例如电机、电磁致动器、音圈、形状记忆合金、电活性聚合物、螺线管、偏心旋转质量电机(“ERM”)、线性共振致动器(“LRA”)、压电致动器、高带宽致动器、电活性聚合物(“EAP”)致动器、静电摩擦显示器或超声振动发生器。在替代实施例中,计算设备800可以包括一个或多个反馈设备851。
反馈设备851是触觉输出设备的示例,其中触觉输出设备是被配置为响应于驱动信号而输出诸如振动触觉效果、静电摩擦触觉效果或变形触觉效果等触觉效果的设备。在替代实施例中,反馈设备851可以替换为某种其他类型的触觉输出设备。此外,在其他替代实施例中,计算设备800可以不包括致动器,并且与计算设备800分离的设备包括生成触觉效果的致动器或其他触觉输出设备,并且计算设备800通过通信设备将所生成的触觉信号发送到该设备。
显示器840是被配置为以视觉形式呈现信息的输出设备。特别地,显示器840可以呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传递数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息以及能够以视觉形式呈现的任何其他信息。在一些配置中,显示器840是利用任何有源或无源矩阵技术和任何背光技术(如果使用的话)的液晶显示器(“LCD”)。在一些配置中,显示器840是有机发光二极管(“OLED”)显示器。设想其他显示器类型。
触摸屏842(本文中也称为“触摸使能屏幕”)是被配置为检测触摸的存在和位置的输入设备。触摸屏842可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声脉冲识别触摸屏,或者可以利用任何其他触摸屏技术。
在一些配置中,触摸屏842被并入显示器840之上作为透明层以使得用户能够使用一个或多个触摸来与呈现在显示器840上的对象或其他信息交互。在其他配置中,触摸屏842是并入计算设备的不包括显示器840的表面上的触摸板。例如,计算设备可以具有并入显示器840之上的触摸屏和在与显示器840相对的表面上的触摸板。
在一些配置中,触摸屏842是单点触摸式触摸屏。在其他配置中,触摸屏842是多点触摸式触摸屏。在一些配置中,触摸屏842被配置为检测离散的触摸、单点触摸手势和/或多点触摸手势。为方便起见,这些在本文中统称为手势。现在将描述几个手势。应当理解,这些手势是说明性的,并不旨在限制所附权利要求的范围。此外,所描述的手势、附加手势和/或替代手势可以用软件实现以与触摸屏842一起使用。这样,开发者可以创建特定于特定应用程序的手势。
在一些配置中,触摸屏842支持轻击手势,其中用户在呈现在显示器840上的项目上轻击触摸屏842一次。轻击手势可以用于各种原因,包括但不限于打开或启动用户点击的任何内容。在一些配置中,触摸屏842支持双击手势,其中用户在呈现在显示器840上的项目上轻击触摸屏842两次。双击手势可以用于各种原因,包括但不限于分阶段的放大或缩小。在一些配置中,触摸屏842支持轻击保持手势,其中用户轻击触摸屏842并且保持接触达至少预定义的时间。轻击保持手势可以用于各种原因,包括但不限于打开上下文特定的菜单。
在一些配置中,触摸屏842支持平移手势,其中用户将手指放在触摸屏842上并且在触摸屏842上移动手指的同时保持与触摸屏842的接触。平移手势可以用于各种原因。功能包括但不限于以受控速率在屏幕、图像或菜单上移动。还设想多个手指平移手势。在一些配置中,触摸屏842支持轻弹手势,其中用户在用户想要屏幕移动的方向上滑动手指。轻弹手势可以用于各种原因,包括但不限于在菜单或页面上水平或垂直滚动。在一些配置中,触摸屏842支持收缩和伸展手势,其中用户在触摸屏842上利用两个手指(例如,拇指和食指)进行收缩动作或者移动两个手指使其分开。收缩和伸展手势可以用于各种原因,包括但不限于逐渐地放大或缩小网站、地图或图片。
尽管已经参考一个或多个手指用于执行手势的用途描述了上述手势,但是诸如脚趾等其他附属物、或诸如指示笔等的对象可以用于与触摸屏842交互。因此,以上手势应当被理解为是说明性的,而不应当被解释为以任何方式受到限制。
数据I/O接口组件844被配置为促进数据到计算设备的输入和数据从计算设备的输出。在一些配置中,数据I/O接口组件844包括被配置为在计算设备与计算机系统之间提供有线连接的连接器,例如,用于同步操作目的。连接器可以是专用连接器或标准化连接器,诸如USB、微型USB、迷你USB等。在一些配置中,连接器是用于将计算设备与诸如扩充口、音频设备(例如,数字音乐播放器)或视频设备等另一设备对接的对接连接器。
音频I/O接口组件846被配置为向计算设备提供音频输入和/或输出能力。在一些配置中,音频I/O接口组件846包括被配置为收集音频信号的麦克风。在一些配置中,音频I/O接口组件846包括被配置为为耳机或其他外部扬声器提供连接的耳机插孔。在一些配置中,音频I/O接口组件846包括用于音频信号的输出的扬声器。在一些配置中,音频I/O接口组件846包括光学音频电缆输出。
视频I/O接口组件848被配置为向计算设备提供视频输入和/或输出能力。在一些配置中,视频I/O接口组件848包括被配置为从另一设备(例如,诸如DVD或BLURAY播放器等视频媒体播放器)接收视频作为输入或者向另一设备(例如,显示器、电视或某个其他外部显示器)发送视频作为输出的视频连接器。在一些配置中,视频I/O接口组件848包括用于输入/输出视频内容的高清晰度多媒体接口(“HDMI”)、迷你HDMI、微型HDMI、DisplayPort或专有连接器。在一些配置中,视频I/O接口组件848或其部分与音频I/O接口组件846或其部分组合。
相机850可以被配置为捕获静止图像和/或视频。相机850可以利用电荷耦合器件(“CCD”)或互补金属氧化物半导体(“CMOS”)图像传感器来捕获图像。在一些配置中,相机850包括闪光灯以帮助在低光环境中拍摄照片。相机850的设置可以实现为硬件或软件按钮。
虽然未示出,但是一个或多个硬件按钮也可以被包括在计算设备架构800中。硬件按钮可以用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械的或基于传感器的。
所示的电源组件812包括可以连接到电池量表854的一个或多个电池852。电池852可以是可充电的或一次性的。可充电电池类型包括但不限于锂聚合物、锂离子、镍镉和镍金属氢化物。每个电池852可以由一个或多个电池制成。
电池量表854可以被配置为测量电池参数,诸如电流、电压和温度。在一些配置中,电池量表854被配置为测量电池的放电速率、温度、年龄和其他因素的影响,以在一定百分比的误差内预测剩余寿命。在一些配置中,电池量表854向应用程序提供测量,该应用被配置为利用测量向用户呈现有用的电源管理数据。电源管理数据可以包括使用电池百分比、电池剩余百分比、电池状况、剩余时间、剩余容量(例如,以瓦时为单位)、电流消耗和电压中的一个或多个。
电源组件812还可以包括可以与一个或多个前述I/O组件810组合的电源连接器。电源组件812可以经由I/O组件与外部电源系统或充电设备接口连接。
示例条款
本文中提出的公开内容涵盖以下条款中阐述的主题。
条款1:一种计算机实现的方法,包括:由计算设备分析能力简档,所述能力简档包括能够由所述计算设备使用以适配定义被存储在计算机存储装置中的虚拟骨架的数据的信息;由所述计算设备取回定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据;由所述计算设备基于所述能力简档中包括的所述信息适配定义所述虚拟骨架的所述数据,由所述计算设备进行的所述适配包括基于所述能力简档中包括的所述信息降低定义所述虚拟骨架的所述数据的复杂度,以及生成定义经适配的虚拟骨架的适配数据;以及由所述计算设备存储所述经适配的虚拟骨架。
条款2,根据条款1所述的计算机实现的方法,还包括从耦合到所述计算设备的计算设备接收所述能力简档以适配被存储在所述计算机存储装置中的所述虚拟骨架。
条款3.根据条款1-2中至少一项所述的计算机实现的方法,其中用于适配定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据的所述计算设备是分布式计算机网络的一部分。
条款4.根据条款1-3中至少一项所述的计算机实现的方法,其中被存储在所述计算机存储装置中的所述虚拟骨架包括定义多个虚拟骨架关节的数据,每个虚拟骨架关节具有相关联的多个参数,并且其中基于所述能力简档中包括的所述信息降低定义所述虚拟骨架的所述数据的复杂度包括,消除与定义所述多个虚拟骨架关节中的至少一个虚拟骨架关节的数据相关联的多个参数。
条款5.根据条款4所述的计算机实现的方法,其中所消除的与定义所述多个虚拟骨架关节中的所述至少一个虚拟骨架关节的所述数据相关联的多个参数至少包括笛卡尔坐标,所述笛卡尔坐标指定与定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据相关联的所述多个虚拟骨架关节中的所述至少一个虚拟骨架关节的位置。
条款6.根据条款1-5中至少一项所述的计算机实现的方法,其中生成定义所述经适配的虚拟骨架的所述数据包括:将定义所述经适配的虚拟骨架的所述数据与如下数据结构相关联,所述数据结构至少包括定义与所述经适配的虚拟骨架相关联的每个虚拟骨架关节的参数。
条款7.根据条款6所述的计算机实现的方法,其中定义与所述经适配的虚拟骨架相关联的每个虚拟骨架关节的所述参数包括:指定虚拟骨架关节位置的笛卡尔坐标和指定虚拟骨架关节旋转的角度。
条款8:根据条款1-7中至少一项所述的计算机实现的方法,其中所述能力简档包括与计算设备相关联的计算设备能力信息,以使用定义所述经适配的虚拟骨架的所述数据来显示合并所述经适配的虚拟骨架的化身。
条款9,根据条款8所述的计算机实现的方法,其中所述能力简档还包括虚拟骨架信息,所述虚拟骨架信息标识要被包括在定义所述经适配的虚拟骨架的所述数据中的一个或多个虚拟骨架片段。
条款10:一种计算机实现的方法,包括:由计算设备提供能力简档,所述能力简档包括能够用于适配定义被存储在计算机存储装置中的虚拟骨架的数据的信息;由所述计算设备接收从定义被存储在所述计算机存储装置的所述虚拟骨架的所述数据得到的、定义经适配的虚拟骨架的数据,所述经适配的虚拟骨架的虚拟骨架复杂度小于被存储在所述计算机存储装置中的所述虚拟骨架的虚拟骨架复杂度,所述数据定义基于所述能力简档中包括的所述信息而生成的所述经适配的虚拟骨架;以及由所述计算设备将定义所述经适配的虚拟骨架的所述数据存储在计算机存储装置中。
条款11.根据条款10所述的计算机实现的方法,其中定义所述经适配的虚拟骨架的所述数据是从与分布式计算机网络相关联的至少一个计算机接收的。
条款12.根据条款10-11中至少一项所述的计算机实现的方法,其中定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据包括多个虚拟骨架关节,每个虚拟骨架关节具有相关联的多个虚拟骨架关节参数,所述经适配的虚拟骨架的虚拟骨架关节参数的数目少于与被存储在所述计算机存储装置中的所述虚拟骨架相关联的虚拟骨架关节参数。
条款13:根据条款10-12中至少一项所述的计算机实现的方法,定义所述经适配的虚拟骨架的所述数据在如下数据结构中被接收,所述数据结构至少包括定义与所述经适配的虚拟骨架相关联的每个虚拟骨架关节的参数。
条款14,根据条款13所述的计算机实现的方法,其中定义与所述经适配的虚拟骨架相关联的每个虚拟骨架关节的所述参数包括:指定虚拟骨架关节位置的笛卡尔坐标和指定虚拟骨架关节旋转的角度。
条款15,根据条款10-14中至少一项所述的计算机实现的方法,其中所述能力简档包括与所述计算设备相关联的计算设备能力信息,以使用定义所述经适配的虚拟骨架的所述数据来显示合并所述经适配的虚拟骨架的化身。
条款16,根据条款15所述的计算机实现的方法,其中所述能力简档还包括虚拟骨架信息,所述虚拟骨架信息标识要被包括在定义所述经适配的虚拟骨架的所述数据中的一个或多个虚拟骨架片段。
条款17.一种计算设备,包括:处理器;与所述处理器通信的计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可执行指令,所述计算机可执行指令在由所述处理器执行时使所述处理器:分析能力简档,所述能力简档包括能够由所述计算设备使用以适配定义虚拟骨架的数据的信息;基于所述能力简档中包括的所述信息适配定义所述虚拟骨架的所述数据,所述适配包括基于所述能力简档中包括的所述信息来降低定义所述虚拟骨架的所述数据的复杂度,以及生成定义经适配的虚拟骨架的数据;以及存储所述经适配的虚拟骨架。
条款18:根据条款17所述的计算设备,其中所述计算机可执行指令在由所述处理器执行时还使所述处理器从耦合到所述计算设备的远程计算设备接收所述能力简档,以适配定义所述虚拟骨架的所述数据。
条款19.根据条款17-18中至少一项所述的计算设备,其中定义所述虚拟骨架的所述数据包括多个虚拟骨架关节,每个虚拟骨架关节具有相关联的多个参数,并且其中基于所述能力简档中包括的所述信息降低定义所述虚拟骨架的所述数据的复杂度包括消除与所述多个虚拟骨架关节中的至少一个虚拟骨架关节相关联的多个参数。
条款20.根据条款19所述的计算设备,其中与所述多个虚拟骨架关节中的至少一个虚拟骨架关节相关联的所消除的多个参数至少包括笛卡尔坐标,所述笛卡尔坐标指定与定义所述虚拟骨架的所述数据相关联的所述多个虚拟骨架关节中的所述至少一个虚拟骨架关节的位置。
尽管已经用结构特征和/或方法动作特定的语言描述了这些技术,但是应当理解,所附权利要求不必限于所描述的特征或动作。相反,特征和动作被描述作为这种技术的示例实现。
本文中描述的实现解决了基于与计算设备相关联的能力来提供虚拟骨架的技术需求。为了至少解决该技术需求,本文中描述的实现提供了计算设备,该计算设备分析能力简档以基于可以是主虚拟骨架或高度详细的虚拟骨架的虚拟骨架来生成经适配的虚拟骨架。提供这种经适配的虚拟骨架的至少一个好处是消除了与使用计算设备来生成多个计算设备的个体虚拟骨架相关联的不必要的处理器开销。消除不必要的处理器开销可以减少电池消耗并且消除与计算设备相关联的不必要的存储器使用。也可以通过所公开技术的实现来实现本文中未具体确定的其他技术益处。
应当理解,上述主题可以被实现为计算机控制的装置、计算机过程、计算系统、或诸如计算机可读存储介质等制品。在很多其他益处之中,本文中的技术相对于各种计算资源提高了效率。例如,由于本文中公开的技术的使用使得用户和个人能够在与通信会话相关联的图形环境内远程操纵所绘制的流以更好地反映他们在通信会话中的交互,因此可以改善与设备和系统的人工交互。也可以从本文中公开的技术的实现中实现除本文中提及的以外的其他技术效果。
示例方法的操作在各个框中示出并且参考那些框进行概括。这些方法被示出为框的逻辑流,其每个框可以表示可以用硬件、软件或其组合来的一个或多个操作。在软件的上下文中,操作表示存储在一种或多种计算机可读介质上的计算机可执行指令,这些计算机可执行指令在由一个或多个处理器执行时使得一个或多个处理器能够执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数目的所描述的操作可以以任何顺序执行,以任何顺序组合,细分为多个子操作,和/或并行执行,以实现所描述的过程。所描述的过程可以由诸如一个或多个内部或外部CPU或GPU等与一个或多个设备相关联的资源和/或诸如FPGA、DSP或其他类型的加速器等一个或多个硬件逻辑来执行。
以上描述的所有方法和过程可以经由由一个或多个通用计算机或处理器执行的软件代码模块来体现并且完全自动化。代码模块可以存储在任何类型的计算机可读存储介质或其他计算机存储设备中。这些方法中的一些或全部可以替代地体现在专用计算机硬件中。
除非另有明确说明,否则诸如“可以(can)”、“可以(could)”、“可以(might)”或“可以(may)”等条件语言在上下文中被理解为表示某些示例包括而其他示例不包括某些特征、元素和/或步骤。因此,这种条件语言通常不旨在暗示某些特征、元素和/或步骤对于一个或多个示例是以任何方式所需要的,也不旨在暗示一个或多个示例必须包括用于在具有或没有用户输入或提示的情况下决定是否在任何特定示例中包括或将要执行某些特征、元素和/或步骤的逻辑。除非另外特别说明,否则诸如短语“X、Y或Z中的至少一个”等连接语言应当被理解为表示项目、术语等可以是X、Y或Z或其组合。
本文中描述和/或附图中描绘的流程图中的任何例程描述、元素或框应当被理解为潜在地表示包括用于实现例程中的特定逻辑功能或元素的一个或多个可执行指令的模块、片段或代码部分。替代实现被包括在本文中描述的示例的范围内,其中元素或功能可以被删除,或者从所示出或讨论的顺序执行,包括基本上同步或以相反的顺序,这取决于所涉及的功能,如本领域技术人员应当理解的。应当强调的是,可以对上述示例进行很多变化和修改,其中的元素应当被理解为是其他可接受的示例。所有这样的修改和变化旨在被包括在本公开的范围内并且由所附权利要求保护。

Claims (15)

1.一种计算机实现的方法,包括:
由计算设备分析能力简档,所述能力简档包括能够由所述计算设备使用以适配定义被存储在计算机存储装置中的虚拟骨架的数据的信息;
由所述计算设备取回定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据;
由所述计算设备基于被包括在所述能力简档中的所述信息适配定义所述虚拟骨架的所述数据,由所述计算设备进行的所述适配包括
基于被包括在所述能力简档中的所述信息降低定义所述虚拟骨架的所述数据的复杂度,以及
生成定义经适配的虚拟骨架的适配数据;以及
由所述计算设备存储所述经适配的虚拟骨架。
2.根据权利要求1所述的计算机实现的方法,还包括从被耦合到所述计算设备的计算设备接收所述能力简档,以适配被存储在所述计算机存储装置中的所述虚拟骨架。
3.根据权利要求2所述的计算机实现的方法,其中用于适配定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据的所述计算设备是分布式计算机网络的一部分。
4.根据权利要求1所述的计算机实现的方法,其中被存储在所述计算机存储装置中的所述虚拟骨架包括定义多个虚拟骨架关节的数据,每个虚拟骨架关节具有相关联的多个参数,并且其中基于被包括在所述能力简档中的所述信息降低定义所述虚拟骨架的所述数据的复杂度包括:消除与定义所述多个虚拟骨架关节中的至少一个虚拟骨架关节的数据相关联的多个参数。
5.根据权利要求4所述的计算机实现的方法,其中所消除的与定义所述多个虚拟骨架关节中的所述至少一个虚拟骨架关节的所述数据相关联的所述多个参数至少包括笛卡尔坐标,所述笛卡尔坐标指定与定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据相关联的所述多个虚拟骨架关节中的所述至少一个虚拟骨架关节的位置。
6.根据权利要求1所述的计算机实现的方法,其中生成定义所述经适配的虚拟骨架的所述数据包括:将定义所述经适配的虚拟骨架的所述数据与如下数据结构相关联,所述数据结构至少包括定义与所述经适配的虚拟骨架相关联的每个虚拟骨架关节的参数。
7.根据权利要求6所述的计算机实现的方法,其中定义与所述经适配的虚拟骨架相关联的每个虚拟骨架关节的所述参数包括:指定虚拟骨架关节位置的笛卡尔坐标和指定虚拟骨架关节旋转的角度。
8.根据权利要求1所述的计算机实现的方法,其中所述能力简档包括与计算设备相关联的计算设备能力信息,以使用定义所述经适配的虚拟骨架的所述数据来显示合并所述经适配的虚拟骨架的化身。
9.根据权利要求8所述的计算机实现的方法,其中所述能力简档还包括虚拟骨架信息,所述虚拟骨架信息标识要被包括在定义所述经适配的虚拟骨架的所述数据中的一个或多个虚拟骨架片段。
10.一种计算机实现的方法,包括:
由计算设备提供能力简档,所述能力简档包括能够用于适配定义被存储在计算机存储装置中的虚拟骨架的数据的信息;
由所述计算设备接收从定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据得到的、定义经适配的虚拟骨架的数据,所述经适配的虚拟骨架的虚拟骨架复杂度小于被存储在所述计算机存储装置中的所述虚拟骨架的虚拟骨架复杂度,所述数据定义基于被包括在所述能力简档中的所述信息而被生成的所述经适配的虚拟骨架;以及
由所述计算设备将定义所述经适配的虚拟骨架的所述数据存储在计算机存储装置中。
11.根据权利要求10所述的计算机实现的方法,其中定义所述经适配的虚拟骨架的所述数据是从与分布式计算机网络相关联的至少一个计算机接收的。
12.根据权利要求10所述的计算机实现的方法,其中定义被存储在所述计算机存储装置中的所述虚拟骨架的所述数据包括多个虚拟骨架关节,每个虚拟骨架关节具有相关联的多个虚拟骨架关节参数,所述经适配的虚拟骨架的虚拟骨架关节参数的数目少于与被存储在所述计算机存储装置中的所述虚拟骨架相关联的虚拟骨架关节参数。
13.根据权利要求10所述的计算机实现的方法,定义所述经适配的虚拟骨架的所述数据在如下数据结构中被接收,所述数据结构至少包括定义与所述经适配的虚拟骨架相关联的每个虚拟骨架关节的参数。
14.根据权利要求13所述的计算机实现的方法,其中定义与所述经适配的虚拟骨架相关联的每个虚拟骨架关节的所述参数包括:指定虚拟骨架关节位置的笛卡尔坐标和指定虚拟骨架关节旋转的角度。
15.根据权利要求10所述的计算机实现的方法,其中所述能力简档包括与所述计算设备相关联的计算设备能力信息,以使用定义所述经适配的虚拟骨架的所述数据来显示合并所述经适配的虚拟骨架的化身。
CN201980036244.6A 2018-05-31 2019-05-15 基于计算设备能力简档的虚拟骨架 Pending CN112204621A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/995,009 US10776979B2 (en) 2018-05-31 2018-05-31 Virtual skeleton based on computing device capability profile
US15/995,009 2018-05-31
PCT/US2019/032341 WO2019231676A1 (en) 2018-05-31 2019-05-15 Virtual skeleton based on computing device capability profile

Publications (1)

Publication Number Publication Date
CN112204621A true CN112204621A (zh) 2021-01-08

Family

ID=66676921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980036244.6A Pending CN112204621A (zh) 2018-05-31 2019-05-15 基于计算设备能力简档的虚拟骨架

Country Status (4)

Country Link
US (1) US10776979B2 (zh)
EP (1) EP3803799A1 (zh)
CN (1) CN112204621A (zh)
WO (1) WO2019231676A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200093213A (ko) * 2019-01-28 2020-08-05 삼성전자주식회사 전자 장치 및 전자 장치의 그래픽 객체 제어 방법
CN111028321A (zh) * 2019-12-16 2020-04-17 网易(杭州)网络有限公司 蒙皮检测方法、装置以及电子终端
US11321891B2 (en) * 2020-04-29 2022-05-03 Htc Corporation Method for generating action according to audio signal and electronic device
US11302052B2 (en) * 2020-07-24 2022-04-12 Weta Digital Limited Forced contiguous data for execution of evaluation logic used in animation control

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3380231B2 (ja) * 1998-12-28 2003-02-24 富士通株式会社 3次元スケルトンデータ圧縮装置
JP3568861B2 (ja) * 2000-01-27 2004-09-22 株式会社スクウェア・エニックス ビデオゲームにおける三次元オブジェクト変形方法及びビデオゲーム装置、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体
EP1231788A1 (en) * 2001-02-12 2002-08-14 Koninklijke Philips Electronics N.V. Arrangement for distributing content, profiling center, receiving device and method
US8184720B2 (en) * 2005-04-11 2012-05-22 Tubitak Biltien Optimal video adaptation for resource constrained mobile devices based on subjective utility models
US7991401B2 (en) 2006-08-08 2011-08-02 Samsung Electronics Co., Ltd. Apparatus, a method, and a system for animating a virtual scene
US8384719B2 (en) 2008-08-01 2013-02-26 Microsoft Corporation Avatar items and animations
US9159151B2 (en) 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
US9002946B2 (en) * 2010-08-25 2015-04-07 Autodesk, Inc. Dual modeling environment in which commands are executed concurrently and independently on both a light weight version of a proxy module on a client and a precise version of the proxy module on a server
EP2880637A2 (en) 2012-08-02 2015-06-10 Microsoft Corporation Avatar-based virtual dressing room
US9266020B2 (en) 2012-09-27 2016-02-23 Empire Technology Development Llc Character model animation using stored recordings of player movement interface data
CN103873273B (zh) * 2012-12-10 2017-03-08 腾讯科技(深圳)有限公司 一种对网络应用进行限制的方法和装置
JP5750133B2 (ja) * 2013-04-01 2015-07-15 株式会社ソニー・コンピュータエンタテインメント 描画処理装置、描画処理システム、および描画処理方法
US9895612B2 (en) 2013-07-16 2018-02-20 Particle City, Inc. Platform for associating characteristics of a digital asset with multiple media sources
EP3029635B1 (en) 2014-12-05 2019-11-13 Dassault Systèmes Computer-implemented method for designing an avatar with at least one garment
US10013157B2 (en) * 2015-07-22 2018-07-03 Box, Inc. Composing web-based interactive 3D scenes using high order visual editor commands
US10685430B2 (en) * 2017-05-10 2020-06-16 Babylon VR Inc. System and methods for generating an optimized 3D model

Also Published As

Publication number Publication date
WO2019231676A1 (en) 2019-12-05
US20190371031A1 (en) 2019-12-05
US10776979B2 (en) 2020-09-15
EP3803799A1 (en) 2021-04-14

Similar Documents

Publication Publication Date Title
US11704878B2 (en) Surface aware lens
CN109313505B (zh) 用于呈现渲染对象的设备以及相关联的计算机实现的方法
CN110476189B (zh) 用于在电子装置中提供增强现实功能的方法和设备
CN112204621A (zh) 基于计算设备能力简档的虚拟骨架
US20170351330A1 (en) Communicating Information Via A Computer-Implemented Agent
US10782800B2 (en) Dynamic interaction adaptation of a digital inking device
US11886673B2 (en) Trackpad on back portion of a device
JP2014216006A (ja) ユーザの入力を受け付けるシステム、プログラムおよび方法
US10558332B2 (en) Computationally efficient human-computer interface for web browser tab user interface button
US10416873B2 (en) Application specific adaption of user input assignments for input devices

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