表示用户的简档的方法、移动设备和计算机可读存储介质转让专利

申请号 : CN201580013101.5

文献号 : CN106105185B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·J·索韦J·G·阿诺德K·C·伦姆森

申请人 : 微软技术许可有限责任公司

摘要 :

本文中描述了能够提供基于元数据的照片和/或视频动画的技术。例如,场景的多个图像(例如,静止图像)可被组合成图像序列。可从多个图像中选择一图像来表示该场景。这样的图像可被称为主图像。元数据可与该主图像相关联。该元数据可包括对该图像序列的引用。

权利要求 :

1.一种移动设备,包括:

相机,所述相机包括在被选择时发起对一个或多个图像的捕捉的用户元素;

一个或多个处理器;

使用所述一个或多个处理器中的至少一个处理器来实现的控制逻辑,所述控制逻辑被配置成控制所述相机响应于对所述用户元素的每一选择而捕捉多个图像;

使用所述一个或多个处理器中的至少一个处理器来实现的图像序列逻辑,所述图像序列逻辑被配置成从每一多个图像中生成图像序列;

使用所述一个或多个处理器中的至少一个处理器来实现的元数据逻辑,所述元数据逻辑被配置成对于每一多个图像,将元数据与从该多个图像中选出的主图像相关联,所述元数据包括对从该多个图像生成的图像序列的引用;以及所述控制逻辑被进一步配置成对于每一多个图像,至少部分地基于所述设备是否具有指定功能而将与所述图像相关联的静态图像或从所述多个图像中生成的图像序列显示在所述移动设备的显示器上的虚拟元素中,其中所述控制逻辑被配置成至少部分地基于所述设备具有所述指定功能而通过使用与所述主图像相关联的元数据中的引用来访问所述图像序列来将所述图像序列显示在所述虚拟元素中,以及所述控制逻辑被配置成至少部分地基于所述设备不具有所述指定功能而将所述静态图像显示在所述虚拟元素中。

2.如权利要求1所述的移动设备,其特征在于,还包括:

删除逻辑,所述删除逻辑被配置成,根据所述设备的默认设置,响应于经过了指定时间历时而删除每一元数据。

3.如权利要求2所述的移动设备,其特征在于,所述删除逻辑被配置成通过响应于被指定元数据引用的图像序列被选择来代替静态图像被显示而不删除所述指定元数据来覆盖所述默认设置。

4.如权利要求1所述的移动设备,其特征在于,进一步包括:

姿势逻辑,所述姿势逻辑被配置成检测相对于所述设备的姿势;

其中,被选择要被显示的表示被设为来自捕捉到的多个图像的所述主图像;以及其中所述控制逻辑还被配置成,响应于检测到所述姿势,将所述表示从来自所述捕捉到的多个图像的所述主图像改变为从所述捕捉到的多个图像生成的图像序列。

5.一种使用基于处理器的系统中的一个或多个处理器来表示用户的简档的方法,所述基于处理器的系统经由网络通信地耦合到基于元数据的动画系统中的第一设备和第二设备,所述方法包括:在所述基于元数据的动画系统中的存储处经由所述网络从所述第一设备接收主图像,所述主图像具有元数据,所述元数据包括对基于包括所述主图像的多个图像的指定图像序列的引用,所述主图像表示第一用户的简档;

在所述存储处经由所述网络从不同于所述第一设备的所述第二设备接收引导指示符,所述引导指示符指示所述第二设备正在执行引导过程;

使用至少一个处理器来确定所述第一用户在与所述第二设备相关联的联系人列表中被标识出;

确定所述第二设备是否能够使用图像序列来表示联系人;

如果所述第二设备能够使用图像序列来表示联系人,则基于所述引用来检索所述指定图像序列,并使用所述基于处理器的系统中的所述一个或多个处理器中的至少一个处理器来将所述指定图像序列提供给所述第二设备以表示所述第一用户的简档;以及如果所述第二设备不能够使用图像序列来表示联系人,则使用所述基于处理器的系统中的所述一个或多个处理器中的至少一个处理器来将所述主图像而非所述指定图像序列提供给所述第二设备以表示所述第一用户的简档。

6.如权利要求5所述的方法,其特征在于,进一步包括:

存储表示所述第一用户的多个相应简档的多个静态图像,所述多个简档对应于多个相应的服务;

其中检索所述指定图像序列并将所述指定图像序列提供给所述第二设备包括:

通过将所述指定图像序列提供给所述第二设备以用于所述多个简档来用所述图像序列覆盖所述多个静态图像。

7.如权利要求5所述的方法,其特征在于,所述指定图像序列与指定所述指定图像序列的版本的版本指示符相关联;以及其中所述方法进一步包括:

确定所述版本指示符改变为指示存在所述指定图像序列的经更新版本;以及响应于确定所述版本指示符改变并且进一步响应于所述第二设备能够使用图像序列来表示联系人而将所述指定图像序列的经更新版本提供给所述第二设备。

8.一种计算机可读存储介质,所述计算机可读存储介质上记录有计算机程序逻辑,所述计算机程序逻辑用于使得基于处理器的系统能够选择性地显示一个或多个图像序列,所述计算机程序逻辑包括:第一程序逻辑模块,所述第一程序逻辑模块用于使得所述基于处理器的系统能够提供包括多个虚拟元素的用户界面以供经由所述基于处理器的系统的显示器进行显示,所述多个虚拟元素中的每一虚拟元素对应于多个主图像中的相应主图像,每一主图像具有元数据,所述元数据包括对基于包括该主图像的相应多个图像的相应图像序列的引用,所述多个虚拟元素中的每一虚拟元素进一步对应于所述多个图像序列中在相应主图像的元数据中被引用的相应图像序列;

第二程序逻辑模块,所述第二程序逻辑模块用于使得所述基于处理器的系统能够,对于所述多个虚拟元素中的每一虚拟元素,经由所述基于处理器的系统的显示器将对应于所述相应虚拟元素的主图像显示在所述相应虚拟元素中;以及第三程序逻辑模块,所述第三程序逻辑模块用于使得所述基于处理器的系统能够检测关于所述多个虚拟元素中的指定虚拟元素的姿势,所述第二程序逻辑模块包括用于使得所述基于处理器的系统能够响应于检测到关于所述指定虚拟元素的姿势,而经由所述基于处理器的系统的所述显示器将对应于所述指定虚拟元素的图像序列显示在所述指定虚拟元素中,而非经由所述基于处理器的系统的所述显示器将对应于所述指定虚拟元素的主图像显示在所述指定虚拟元素中的逻辑;

第四程序逻辑模块,所述第四程序逻辑模块用于使得所述基于处理器的系统能够确定所述多个主图像中的一者或多者没有描绘处于运动中的至少一个对象;以及第五程序逻辑模块,所述第五程序逻辑模块用于使得所述基于处理器的系统能够响应于确定所述一个或多个主图像没有描绘处于运动中的至少一个对象而删除所述一个或多个主图像中的每一者的元数据。

9.如权利要求8所述的计算机可读存储介质,其特征在于,所述第三程序逻辑模块包括用于使得所述基于处理器的系统能够在对应于所述指定虚拟元素的图像序列被显示在所述指定虚拟元素中之后,检测关于所述多个虚拟元素中的特定虚拟元素的第二姿势的逻辑;

其中所述第二程序逻辑模块包括用于使得所述基于处理器的系统能够响应于检测到关于所述特定虚拟元素的所述第二姿势,将对应于所述指定虚拟元素的主图像显示在所述指定虚拟元素中,而非将对应于所述指定虚拟元素的图像序列显示在所述指定虚拟元素中的逻辑;以及其中所述第二程序逻辑模块包括用于使得所述基于处理器的系统能够响应于检测到关于所述特定虚拟元素的所述第二姿势,将对应于所述特定虚拟元素的图像序列显示在所述特定虚拟元素中,而非将对应于所述特定虚拟元素的主图像显示在所述特定虚拟元素中。

10.如权利要求8所述的计算机可读存储介质,其特征在于,进一步包括:

第六程序逻辑模块,所述第六程序逻辑模块用于使得所述基于处理器的系统能够确定对应于所述指定虚拟元素的图像序列中描绘动作的启动的帧;

其中所述第二程序逻辑模块包括用于使得所述基于处理器的系统能够在所述帧处开始显示对应于所述指定虚拟元素的图像序列。

说明书 :

表示用户的简档的方法、移动设备和计算机可读存储介质

技术领域

[0001] 本发明涉及提供基于元数据的照片和/或视频动画的方法和移动设备。

背景技术

[0002] 在摄影领域,出现了与将照片和视频动画化的新趋势。照片变为不只是一个单个镜头,并且在许多情况下是从多个帧创建出来的。由此,存在移动以在捕捉期间捕捉多于单个瞬间。这可在诸如CinemagraphTM和 之类的有助于用户创建经动画化的图形交互格式(GIF)文件的应用的复兴中被看出,经动画化的图形交互格式(GIF)文件有时被称为照片和视频之间的混合。经动画化的GIF文件通常被配置为循环视频。循环视频是从被配置在循环中的多个静止图像或多个视频片段中创建的视频,使得当该视频结束时,该视频被自动重放。Vine实验室公司是已发布了允许用户创建这样的循环视频的移动应用的公司。 是使用经动画化的GIF技术来允许用户将移动插入静止照片的应用。由微
软公司开发的 BlinkTM也允许用户将移动插入静止照片。

发明内容

[0003] 本文中描述了用于提供基于元数据的照片和/或视频动画等的各种方法。例如,场景的多个图像(例如,静止图像)可被组合成图像序列。可从多个图像中选择一图像来表示该场景。这样的图像可被称为主图像。元数据可与该主图像相关联。元数据可包括对图像序列的引用。如果某设备支持照片和/或视频动画,则该设备可使用元数据中的该引用来访问图像序列并使用该图像序列来表示该场景。如果该设备不支持照片和/或视频动画,则该设备可使用主图像(或其他图像)来表示该场景。
[0004] 描述了示例系统和设备。第一示例设备包括相机、控制逻辑、图像序列逻辑和元数据逻辑。相机包括在被选择时发起对一个或多个图像的捕捉的用户元素。控制逻辑被配置成控制相机响应于对用户元素的每一选择而捕捉多个图像。图像序列逻辑被配置成从每一多个图像中中生成图像序列。元数据逻辑被配置成,对于每一多个图像,将元数据与从该多个图像中选出的主图像相关联。对于每一多个图像,元数据包括对从该多个图像生成的图像序列的引用。
[0005] 第二示例设备包括显示逻辑、界面逻辑和姿势逻辑。显示逻辑被配置成接收主图像。每一主图像都具有元数据,该元数据包括对相应图像序列的引用,相应图像序列基于包括主图像的相应的多个图像。界面逻辑被配置成提供包括虚拟元素的用户界面。每一虚拟元素对应于相应的主图像,并且还对应于在相应的主图像的元数据中被引用的相应图像序列。显示逻辑被配置成,对于每一虚拟元素,将对应于该虚拟元素的主图像显示在该虚拟元素中。姿势逻辑被配置成检测关于指定虚拟元素的姿势。显示逻辑被配置成响应于关于指定虚拟元素的姿势被检测到,而将对应于指定虚拟元素的图像序列显示在指定虚拟元素中,而不是将对应于指定虚拟元素的主图像显示在指定虚拟元素中。
[0006] 一种示例系统包括存储、标识逻辑、能力逻辑和供应逻辑。存储被配置成经由网络接收来自第一设备的主图像。主图像具有元数据,该元数据包括对指定图像序列的引用,该指定图像序列基于包括主图像的多个图像。主图像表示第一用户的简档。该存储还被配置成经由网络接收来自不同于第一设备的第二设备的引导指示符。引导指示符指示第二设备正在执行引导过程。标识逻辑被配置成确定第一用户在与第二设备相关联的联系人列表中被标识出。能力逻辑被配置成确定第二设备是否能够使用图像序列来表示联系人。如果第二设备能够使用图像序列来表示联系人,则供应逻辑基于引用来检索指定图像序列并将指定图像序列提供给第二设备以表示第一用户的简档。如果第二设备不能够使用图像序列来表示联系人,则供应逻辑将主图像而非指定图像序列提供给第二设备以表示第一用户的简档。
[0007] 还描述了各示例方法。在第一示例方法中,控制具有用户元素的相机响应于对用户元素的每一选择而捕捉多个图像。从每一多个图像中生成图像序列。对于每一多个图像,将元数据与从该多个图像中选出的主图像相关联。每一元数据包括对从相应的多个图像中生成的图像序列的引用。
[0008] 在第二示例方法中,接收主图像。每一主图像都具有元数据,该元数据包括对相应图像序列的引用,相应图像序列基于包括主图像的相应的多个图像。提供包括虚拟元素的用户界面。每一虚拟元素对应于相应的主图像,并且还对应于多个图像序列中在相应的主图像的元数据中被引用的相应图像序列。对于每一虚拟元素,将对应于该虚拟元素的主图像显示在该虚拟元素中。检测关于指定虚拟元素的姿势。响应于检测到关于指定虚拟元素的姿势,将对应于指定虚拟元素的图像序列而非对应于指定虚拟元素的主图像显示在指定虚拟元素中。
[0009] 在第三示例方法中,在存储处经由网络从第一设备接收主图像。主图像具有元数据,该元数据包括对指定图像序列的引用,该指定图像序列基于包括主图像的多个图像。主图像表示第一用户的简档。在该存储处经由网络从不同于第一设备的第二设备接收引导指示符。引导指示符指示第二设备正在执行引导过程。作出第一用户在与第二设备相关联的联系人列表中被标识出的确定。作出第二设备是否能够使用图像序列来表示联系人的确定。如果第二设备能够使用图像序列来表示联系人,则基于该引用来检索该指定图像序列并将该指定图像序列提供给第二设备以表示第一用户的简档。如果第二设备不能够使用图像序列来表示联系人,则将主图像而非该指定图像序列提供给第二设备以表示第一用户的简档。
[0010] 还描述了示例计算机程序产品。第一示例计算机程序产品包括计算机可读介质,该计算机可读介质具有被记录在其上的用于使得基于处理器的系统能够提供基于元数据的照片和/或视频动画的计算机程序逻辑。计算机程序逻辑包括第一程序逻辑模块、第二程序逻辑模块和第三程序逻辑模块。第一程序逻辑模块用于使得基于处理器的系统能够控制具有用户元素的相机,以响应于对用户元素的每一选择而捕捉多个图像。第二程序逻辑模块用于使得基于处理器的系统能够从每一多个图像中生成图像序列。第三程序逻辑模块用于使得基于处理器的系统能够,对于每一多个图像,将元数据与从该多个图像中选出的主图像相关联。每一元数据包括对从相应的多个图像中生成的图像序列的引用。
[0011] 第二示例计算机程序产品包括计算机可读介质,该计算机可读介质具有被记录在其上的用于使得基于处理器的系统能够提供基于元数据的照片和/或视频动画的计算机程序逻辑。计算机程序逻辑包括第一程序逻辑模块、第二程序逻辑模块、第三程序逻辑模块、第四程序逻辑模块和第五程序逻辑模块。第一程序逻辑模块用于使得基于处理器的系统能够接收主图像。每一主图像都具有元数据,该元数据包括对相应的图像序列的引用,相应的图像序列基于包括主图像的相应的多个图像。第二程序逻辑模块用于使得基于处理器的系统能够提供包括虚拟元素的用户界面。每一虚拟元素对应于相应的主图像,并且还对应于多个图像序列中在相应的主图像的元数据中被引用的相应的图像序列。第三程序逻辑模块用于使得基于处理器的系统能够,对于每一虚拟元素,将对应于该虚拟元素的主图像显示在该虚拟元素中。第四程序逻辑模块用于使得基于处理器的系统能够检测关于指定虚拟元素的姿势。第五程序逻辑模块用于使得基于处理器的系统能够响应于检测到关于该指定虚拟元素的姿势,而将对应于该指定虚拟元素的图像序列而非对应于该指定虚拟元素的主图像显示在该指定虚拟元素中。
[0012] 第三示例计算机程序产品包括计算机可读介质,该计算机可读介质具有被记录在其上的用于使得基于处理器的系统能够选择性地提供基于元数据的照片和/或视频动画的计算机程序逻辑。计算机程序逻辑包括第一程序逻辑模块、第二程序逻辑模块、第三程序逻辑模块、第四程序逻辑模块和第五程序逻辑模块。第一程序逻辑模块用于使得基于处理器的系统能够经由网络接收来自第一设备的主图像。主图像具有元数据,该元数据包括对指定图像序列的引用,该指定图像序列基于包括该主图像的多个图像。主图像表示第一用户的简档。第二程序逻辑模块用于使得基于处理器的系统能够经由网络接收来自不同于第一设备的第二设备的引导指示符。引导指示符指示第二设备正在执行引导过程。第三程序逻辑模块用于使得基于处理器的系统能够确定第一用户在与第二设备相关联的联系人列表中被标识出。第四程序逻辑模块用于使得基于处理器的系统能够确定第二设备是否能够使用图像序列来表示联系人第五程序逻辑模块用于使得基于处理器的系统能够在第二设备能够使用图像序列来表示联系人的情况下,基于引用来检索指定图像序列并将指定图像序列提供给第二设备以表示第一用户的简档。第五程序逻辑模块还用于使得基于处理器的系统能够在第二设备不能够使用图像序列来表示联系人的情况下,将主图像而非指定图像序列提供给第二设备以表示第一用户的简档。
[0013] 提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,注意到本发明不限于在详细描述和/或本文的其它章节中所述的特定实施例。本文呈现这些实施例仅用于说明性的用途。基于本文所包含的描述,其它实施例对于相关领域的技术人员将是显而易见的。

附图说明

[0014] 本文结合的并且组成本说明书的一部分的附图示出了本发明的各实施例,并且还与本描述一起用于解释所涉及的原理以及使相关领域的技术人员能够实现和使用所公开的技术。
[0015] 图1是根据一实施例的示例基于元数据的动画系统的框图。
[0016] 图2是根据一实施例的图1中示出的设备的示例实现的框图。
[0017] 图3-10描绘根据各实施例的从图1中示出的设备的角度来看的用于提供基于元数据的照片和/或视频动画的示例方法的流程图。
[0018] 图11-13描绘根据各实施例的从图1中示出的(诸)服务器的角度来看的用于提供基于元数据的照片和/或视频动画的示例方法的流程图。
[0019] 图14是根据一实施例的图1中示出的(诸)服务器的示例实现的框图。
[0020] 图15是根据一实施例的具有用于感测触摸和悬停命令的触摸屏的示例性移动设备的系统图示。
[0021] 图16描绘可用于实现各实施例的示例计算机。
[0022] 通过下面的结合附图对本发明进行的详细说明,所公开的技术的特点和优点将变得更加显而易见,在附图中,类似的附图标记在整个说明书中标识对应的元素。在附图中,相同的参考标号一般指相同的、功能上相似的和/或结构上相似的元素。其中元素第一次出现的附图由对应的参考标号中最左侧的数字指示。

具体实施方式

[0023] I.引言
[0024] 以下详细描述参考示出本发明的示例性实施例的附图。但是,本发明的范围不限于这些实施例,而是由所附权利要求书定义。因此,诸如所示实施例的修改版本之类的在附图所示之外的实施例仍然由本发明所包含。
[0025] 本说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指的是所述实施例可包括特定的特征、结构或特点,但是每一实施例不一定包括该特定的特征、结构或特点。此外,这些短语不一定指相同的实施例。此外,当结合实施例描述具体特征、结构或特性时,应当理解在相关领域的技术人员的知识范围内能够结合其他实施例来实现具体特征、结构或特性,无论是否被显式地描述。
[0026] II.示例实施例
[0027] 本文中描述的示例实施例能够提供基于元数据的照片和/或视频动画。例如,场景的多个图像(例如,静止图像)可被组合成图像序列。可从多个图像中选择一图像来表示该场景。这样的图像可被称为主图像。元数据可与该主图像相关联。元数据可包括对图像序列的引用。如果某设备支持照片和/或视频动画,则该设备可使用元数据中的该引用来访问图像序列并使用该图像序列来表示场景。如果该设备不支持照片和/或视频动画,则该设备可使用主图像(或其他图像)来表示场景。
[0028] 与用于显示照片和视频的传统技术相比,本文中描述的示例技术具有各种益处。例如,这些示例技术可能够为具有支持动画的能力的设备提供照片和/或视频动画,同时为不具有支持动画的能力的设备提供静态图像而非动画。与传统技术相比,示例技术可提供更个性化和/或激动人心的用户体验。这些示例技术可能够使得多个镜头通过(例如默认)由相机执行的每一捕捉被拍摄。得到的信息(包括多个镜头)可被持久存储达指定时间历时,这可使得用户能够确定将选择多个镜头中的哪个图像来表示被捕捉的时刻。示例技术可(例如,在指定条件下)响应于经过了指定时间段而删除动画(例如,以限制或减少所消耗的存储量)。示例技术可能可应用于多个静态图像、视频(例如,视频的关键帧)等。示例技术可能够使得照片和/或视频动画在设备的各种上下文(诸如,在锁屏、开始菜单、呼叫屏幕、(诸) 联系人图块、照片中枢、照片库查看器、单个照片查看器等上)中的任一者中被提供。
这样的动画可被自动地(例如,无需用户执行操作来使得动画发生)和/或实时地提供。示例技术或其各方面可由用户手动地执行、由后端服务自动地执行或者由第三方应用执行。
[0029] 图1是根据一实施例的示例基于元数据的动画系统100(此后为“系统100”) 的框图。一般来说,系统100用于响应于从用户接收到的请求(如超文本传输协议 (HTTP)请求)而向用户提供信息。信息可包括文档(例如网页、图像、视频文件等等)、可执行程序的输出、和/或任何其他合适类型的信息。根据本文中描述的示例实施例,系统100提供基于元数据的照片和/或视频动画。例如,这样的动画可代替静态图像在设备的各种上下文中的任一者中被使用。在以下讨论中,提供了关于用于提供基于元数据的照片和/或视频动画的技术的细节。
[0030] 如图1所示,系统100包括(诸)服务器102、网络104和多个设备106A-106N。 (诸)服务器102与设备106A-106N之间的通信是使用公知的网络通信协议通过网络104实施的。网络104可以是广域网(如因特网)、局域网(LAN)、另一类型的网络、或它们的组合。
[0031] 设备106A-106N是能够与(诸)服务器102通信的处理系统。处理系统的示例是包括能够根据指令集操纵数据的至少一个处理器的系统。例如,处理系统可以是计算机、个人数字助理等。设备106A-106N被配置成向(诸)服务器102提供用于请求存储在(诸)服务器102上的(或以其他方式可经由(诸)服务器102 访问的)信息的请求。例如,用户可使用用户所拥有的或以其他方式用户可访问的设备106上部署的客户端(如web浏览器、web爬行器、或其他类型的客户端) 来发起执行计算机程序(例如,应用)的请求。根据一些示例实施例,设备 106A-102M能够访问由(诸)服务器102托管的域(如网站),使得设备106A-106N 可访问通过该域可用的信息。这样的域可包括网页,这些网页可作为超文本标记语言(HTML)文档和在其中被链接的对象(如文件)来提供。
[0032] 将认识到,设备106A-106N中的每一者可包括任何有客户端能力的系统或设备,包括但不限于台式计算机、膝上型计算机、平板计算机、诸如智能手表或头戴式计算机之类的可穿戴计算机、个人数字助理、蜂窝电话等等。
[0033] 设备106A-106N被示为包括相应的客户机侧基于元数据的动画逻辑 112A-112N。为了便于讨论,现在将把设备106A-106N中的每一者以及动画逻辑 112A-112N中的每一者概括地称为设备106和动画逻辑112。每一动画逻辑112被配置成提供关于包括相应的动画逻辑112的设备106的照片和/或视频动画。例如,动画逻辑112可从多个图像中生成图像序列,或经由网络104从(诸)服务器102 接收图像序列。动画逻辑112可将图像序列而非静态图像显示(例如,自动地显示、默认地显示等)在设备106的各种上下文中的任一者中。例如,静态图像可具有引用(例如,链接至)图像序列的元数据(例如,XF元数据)。动画逻辑112可基于该引用来检索图像序列,并将该图像序列显示在其中静态图像原本将被显示的一个或多个上下文中。例如,图像序列可被存储在一文件夹中,该文件夹与其中存储静态图像的文件夹不同。
[0034] 上下文的示例包括但不限于锁屏上下文、开始菜单上下文、呼叫屏幕上下文、联系人上下文、照片中枢上下文、照片库查看器上下文、单个照片查看器上下文、经锁定相册上下文、相机卷片上下文、在线相册上下文、最喜欢照片上下文等等。在设备的锁屏上下文中显示图像序列包括在设备的锁屏上显示图像序列。锁屏是一种界面元素,该界面元素被显示以指示为了授予对设备的至少一些功能的访问需要某动作。
[0035] 在设备的开始菜单上下文中显示图像序列包括在设备的开始菜单(又称开始屏幕)中显示图像序列。开始菜单是被显示以提供用于启动(诸)应用和/或(诸) 任务的中央虚拟位置的界面元素。例如,开始菜单可以是在用户登录该设备时向该用户显示的第一界面元素。
[0036] 在设备的呼叫屏幕上下文中显示图像序列包括在当呼叫(例如,电话呼叫、网际协议语音(VoIP)呼叫等)在该设备处被接收到时由该设备显示的界面元素中显示图像序列。
[0037] 在设备的联系人上下文中显示图像序列包括在表示包括在用户的联系人列表中的联系人的界面元素中显示图像序列。例如,界面元素可以是联系人图块。
[0038] 在设备的照片中枢上下文中显示图像序列包括在表示通过其访问存储在该设备上的照片的文件夹的界面元素中显示图像序列。
[0039] 在设备的照片库查看器上下文中显示图像序列包括在包括多个相应的视觉内容的多个表示的界面元素中显示图像序列。每一视觉内容可以是静态图像或动态图像。例如,每一视觉内容可以是照片、视频或包括可用于生成图像的数据的其他类型的文件。
[0040] 在设备的单个照片查看器上下文中显示图像序列包括在包括单个视觉内容的单个表示的界面元素中显示图像序列。
[0041] 在设备的经锁定相册上下文中显示图像序列包括在被附连到虚拟位置的虚拟相册中(例如,在设备的用户界面中、在社交更新中等)显示图像序列。
[0042] 在设备的相机卷片上下文中显示图像序列包括在由设备拍摄的照片列表中显示图像序列。
[0043] 在设备的在线相册上下文中显示图像序列包括在该设备经由因特网访问的虚拟相册中显示图像序列。
[0044] 在设备的最喜欢照片上下文中显示图像序列包括在包括被指示为比其他照片具有更高的优先级的照片的表示的界面元素中显示图像序列。
[0045] (诸)服务器102是能够与设备106A-106N通信的一个或多个处理系统。(诸) 服务器102被配置成执行响应于从用户接收到请求而向用户提供信息的计算机程序。例如,信息可包括文档(如网页、图像、视频文件等等)、可执行程序的输出、或任何其他合适类型的信息。根据某些示例实施例,(诸)服务器102被配置成托管一个或多个网站,使得网站可由系统100的用户访问。
[0046] (诸)服务器102被示为包括存储108和服务器侧基于元数据的动画逻辑110 (此后为“动画逻辑110”)。动画逻辑110被配置成将与静态图像相关联的图像序列和/或对这些图像序列的引用下载到设备处。例如,在每一设备106被打开时,动画逻辑110可接收来自该设备106的通知。这样的通知可指示诸如联系人、电子邮件、日历项等信息将被下载到设备106处。动画逻辑110可下载包括在这样的信息中的静态图像以及包括对与这些静态图像相对应的图像序列的引用的元数据。
[0047] 动画逻辑110可确定设备106是否能够显示图像序列来代替静态图像,以确定 (诸)图像序列是否要被下载到设备106处。如果设备106能够显示图像序列来代替静态图像,则动态逻辑110可将与静态图像相关联的图像序列下载到设备106。如果设备106不能够显示图像序列来代替静态图像,则动态逻辑110可将静态图像而不将与静态图像相关联的图像序列下载到设备106。
[0048] 动画逻辑110可接收来自第一用户的图像序列,并基于将被下载到一个或多个第二用户中的每一者的信息(包括与该图像序列相关联的至少一个静态图像)而将该图像序列提供给该一个或多个第二用户。例如,第一用户可提供该图像序列来表示第一用户的简档。根据该示例,动画逻辑110可基于第一用户被列为相应的第二用户的联系人而将该图像序列提供给一个或多个第二用户中的每一者。进一步根据该示例,动画逻辑110可进一步基于每一第二用户的设备106能够显示图像序列来代替静态图像而将图像序列提供给一个或多个第二用户中的每一者。
[0049] 存储108存储将在设备106A-106N之中被下载的信息。这样的信息可包括但不限于与设备106A-106N的用户相关联的联系人、电子邮件、日历项等。该信息可包括视觉内容。例如,视觉内容可以是静态图像或动态图像。视觉内容可以是照片、视频或包括可用于生成图像的数据的其他类型的文件。存储108可以是任何合适类型的存储,包括但不限于数据库(例如,关系数据库、实体关系数据库、对象数据库、对象关系数据库、XML数据库等)。
[0050] 动画逻辑110和动画逻辑112A-112N中的每一者可按各种方式被实现以提供基于元数据的照片和/或视频动画,包括以硬件、软件、固件或其任何组合来实现。例如,动画逻辑110和动画逻辑112A-112N中的每一者可被实现为被配置成在一个或多个处理器中执行的计算机程序代码。在另一示例中,动画逻辑110和动画逻辑112A-112N中的每一者可被实现为硬件逻辑/电路系统。在一实施例中,动画逻辑110和动画逻辑112A-112N中的每一者可被实现在片上系统(SoC)中。每个 SoC可包括集成电路芯片,该集成电路芯片包括以下一个或多个:处理器(如微控制器、微处理器、数字信号处理器(DSP)等等)、存储器、一个或多个通信接口、和/或用于执行其功能的进一步的电路和/或嵌入式固件。
[0051] 以下参考图2-14更详细地讨论用于提供基于元数据的照片和/或视频动画的示例技术。
[0052] 图2是根据一实施例的作为图1中示出的设备100的示例实现的设备200的框图。例如,设备200可以是移动设备(例如,个人数字助理、蜂窝电话、平板计算机、膝上型计算机或诸如智能手表或头戴式计算机之类的可穿戴计算机),但是这些示例实施例的范围在此方面并不受限。
[0053] 如图2所示,设备200包括相机202、显示器204、客户机侧基于元数据的动画逻辑270(此后为“动画逻辑270”)。相机202被配置成捕捉图像258(例如,真实世界图像)。相机
202包括用户元素230,该用户元素230在被选择时使得相机202捕捉图像258中的一者或多者。用户元素230响应于对用户元素230的每一选择而生成选择指示符256来指示用户元素
230被选择。
[0054] 显示器204使得设备200的用户能够查看经由显示器204显示的图像。显示器 204包括用户界面232,该用户界面232被配置成向显示器204的用户传达信息和/ 或接收来自用户的输入。出于说明的目的而非旨在进行限制,用户界面232被示为包括查询元素234。查询元素234被配置成请求来自设备200的用户的响应。
[0055] 在一示例实施例中,设备200是有触摸能力的设备。例如,显示器204可以是触摸屏。根据该实施例,显示器204可能够检测悬停姿势。姿势是由设备(例如,设备200)的用户执行的通信,在该通信中,用户的身体的至少一个部位的位置和 /或运动、和/或设备在该设备的环境内的移动均向该设备传递信息。悬停姿势是其中用户的至少一个手或其部分(例如,一个或多个手指)被定位在触摸屏上方的某一间隔距离处的姿势。触摸屏可诸如通过电容感测来检测用户的手(或其部分)在触摸屏的附近。另外,在手和/或(诸)手指正悬停时,可检测手移动和/或手指移动。悬停姿势能够在用户没有物理地触摸有触摸能力的设备的触摸屏的情况下发生。
[0056] 动画逻辑270被配置成提供关于设备200的基于元数据的照片和/或视频动画。出于说明的目的而非旨在进行限制,动画逻辑270被示为在图2中的相机202外部。将认识到,动画逻辑270(或其任何部分)可被包括在相机202中。动画逻辑270 包括控制逻辑206、图像序列逻辑208、元数据逻辑210、删除逻辑212、界面逻辑 214、关联逻辑216、显示逻辑218、姿势逻辑220、动作逻辑222、输入确定逻辑 224、激活逻辑和指示逻辑228。控制逻辑206被配置成控制相机202。控制逻辑 206生成控制信号236,该控制信号236控制相机202工作的方式。例如,控制逻辑206可响应于接收到选择指示符256而提供控制信号236。例如,控制逻辑206 可将控制信号236配置为使得相机202响应于对用户元素230的选择而捕捉单个图像。
在另一示例中,控制逻辑206可将控制信号236配置为使得相机202响应于对用户元素230的选择而捕捉多个图像。例如,控制逻辑206可控制相机202(例如默认地)响应于对用户元素
230的每一选择而捕捉多个图像。
[0057] 在一示例实施例中,控制逻辑206根据设备200的连拍模式控制相机202捕捉多个图像。连拍模式使得多个相片能够响应于对用户元素230的选择而被相对较快的接连捕捉。在另一示例实施例中,控制逻辑206根据设备200的视频模式控制相机202捕捉多个图像。
[0058] 在又一示例实施例中,控制逻辑206被配置成控制要显示关于包括在用户界面 232中的表示(例如,虚拟元素)的哪个(哪些)图像、图像序列、视频等。在一方面,被选择要被显示的表示可被设为是来自捕捉到的多个图像的主图像。根据该方面,控制逻辑206可被配置成响应于触发事件而将该表示从主图像改变为从捕捉到的多个图像中生成的图像序列。触发事件可以是例如来自设备200的用户的输入的接收。例如,输入可以是姿势,诸如关于设备200的悬停姿势、设备200的摇晃等。
[0059] 在另一方面,控制逻辑206可基于各种准则中的任一者来控制是否要显示关于包括在用户界面232中的表示的图像序列。例如,控制逻辑206可基于阈值数目的其他图像序列被显示在用户界面232中而确定图像序列不将被显示(例如,代替图像序列,相应的主图像将被显示)。阈值数目可以是任何合适的数目,诸如1、2、 3等。
[0060] 在另一示例中,控制逻辑206可使得一次将关于图像序列对应的表示的指定数目的图像序列显示在用户界面232中。根据该示例,控制逻辑206可使得关于图像序列对应的表示的图像序列的第一子集将在第一时段期间被显示;控制逻辑206 可使得关于图像序列对应的表示的图像序列的第二子集在第一时段之后的第二时段期间被显示;控制逻辑206可使得关于图像序列对应的表示的图像序列的第三子集在第二时段之后的第三时段期间被显示,并以此类推。图像序列的指定数目可以是任何合适的数目,诸如1、2、3等。控制逻辑206可随机地、半随机地(例如,基于一个或多个指定准则随机地在图像序列的子集内)或非随机地(例如,系统性地或按序地)选择要被显示的图像序列。
[0061] 图像序列逻辑208被配置成从图像258的相应子集中生成(诸)图像序列238。每一子集包括包含在图像258中的相应的多个图像。代替来自相应子集的单个图像,可使用(诸)图像序列238中的每一图像序列来表示场景。场景可包括任何一个或多个对象。每一对象可以是动画的或非动画的。
[0062] 图像序列逻辑208可被配置成标识每一多个图像中相应的图像序列将在其处开始的图像。例如,图像序列逻辑208可基于包括运动、一个或多个脸(例如,人脸)等的图像来标识图像。图像序列逻辑208可使用向量分析(或其他种类的分析) 来标识每一多个图像中相应的图像序列将在其处开始的图像。以下参考动作逻辑 222讨论用于使用向量分析来标识图像的一些示例技术。
[0063] 每一图像序列可具有任何合适的格式。例如,图像序列逻辑208可将多个图像转换成具有指定位图图像格式的图像序列。根据该示例,图像序列可被配置为经动画化的图形交互格式(GIF)文件、MP4文件、具有自定义(例如,专用)格式的文件等。在另一示例中,图像序列逻辑208可生成从多个图像生成图像序列的控件。在又一示例中,图像序列可以是视频。
[0064] 将认识到,图像序列可以例如使用第三方应用的软件开发工具包(SDK)来格式化。例如,第三方应用可被配置成将图像序列推送到设备200。还将认识到,图像序列逻辑208不必生成(诸)图像序列238中的每一者。例如,可从在设备200 远程的存储(诸如图1中的存储
108)处或从在设备200内部的存储处接收(诸) 图像序列238中的一者或多者。
[0065] 应当注意,设备200的用户可被允许设置或修改图像序列的动画行为。例如,用户界面232可呈现使得图像序列被配置为一次循环、无限循环、从开始到结束再到开始再到结束地循环、从开始到结束再从结束到开始地循环、将图像序列中的每一帧的一部分(即,少于全部的帧)动画化等选项。图像序列逻辑208可被配置成根据关于用户所选的选项的用户输入来生成图像序列。
[0066] 元数据逻辑210被配置成将相应的元数据与每一子集中被称为主图像的相应图像相关联。与每一主图像相关联的元数据包括对从包括该主图像的子集中生成的图像序列的引用。每一引用可以是到相应的图像序列的链接(例如,超链接),但是这些示例实施例的范围在此方面并不受限。(诸)主图像被统称为(诸)主图像 240。与(诸)主图像相关联的元数据被统称为元数据260。
[0067] 删除逻辑212被配置成在(诸)指定条件下删除与相应的主图像相关联的元数据。例如,删除逻辑212可被配置成(例如,根据设备200的默认设置)响应于经过了指定时间历时而删除每一元数据。根据该示例,每一元数据的指定历时可开始于其中该元数据与相应的主图像相关联的时刻。指定的时间历时可以是任何合适的历时,诸如四个小时、八个小时、一天、五天、七天、两个星期、三十天、一个月等。
[0068] 删除逻辑212还可被配置成在(诸)指定条件下删除每一图像序列。删除逻辑还可被配置成在(诸)指定条件下删除每一多个图像中的每一图像而非每一多个图像中的主图像。删除逻辑212可响应于接收到指定相同的内容将被删除的删除指令 262而删除元数据、图像序列和/或多个图像中的每一图像,而非多个图像中的主图像。
[0069] 在示例实施例中,删除逻辑212被配置成响应于被指定元数据引用的图像序列被选择来代替静态图像(例如,代替具有指定的元数据的主要图像)来显示,通过不删除指定元数据来覆盖设备200的默认设置。显示指示符242可指示被指定元数据引用的图像序列被选择来显示。因此,显示逻辑212可响应于接收到该显示指示符242而覆盖默认设置。
[0070] 在另一示例实施例中,删除逻辑212被配置成响应于来自与指定元数据相对应的多个图像中的单个图像被选择在经过指定时间历时之前被显示,通过在经过指定时间历时之前删除该指定元数据来覆盖设备200的默认设置。显示指示符242可指示来自与指定元数据相对应的多个图像的单个图像被选择来显示。因此,显示逻辑 212可响应于接收到显示指示符242而覆盖默认设置。
[0071] 界面逻辑214被配置成提供(例如,生成)用户界面232。在一示例实施例中,界面逻辑214被配置成提供包括查询元素230的用户界面232来请求来自设备200 的用户的关于元数据将在此后被删除的指定时间历时的响应。根据该实施例,界面逻辑214还被配置成基于从用户接收到的响应来定义该指定时间历时。例如,该响应可以是语音命令、对经由用户界面232显示的多个时间历时中的指定时间历时的选择、文本输入等。
[0072] 在另一示例实施例中,界面逻辑214被配置成提供用户界面232以使得设备 200的用户能够选择用于与图像序列相关联的指定简档。例如,指定简档可以是用户的简档。在另一示例中,指定简档可以是用户的联系人的简档。根据该示例,该联系人可在被存储在设备200上和/或被存储在与设备200远程的存储(诸如图1 的存储108)处的联系人列表中被标识出。
[0073] 关联逻辑216被配置成将图像序列与(诸)简档244相关联。例如,每一简档可表示设备200的用户的联系人,但是示例实施例的范围在此方面并不受限。根据该示例,每一简档可以是可经由用户界面232从用户的多个联系人中选择的。进一步根据该示例,关联逻辑216可被配置成响应于对来自多个联系人的简档的选择而将特定图像序列与简档相关联。
[0074] 显示逻辑218被配置成经由显示器204显示内容246。内容246可以是(诸) 静态图像、(诸)图像序列等。例如,显示逻辑218可被配置成在设备200的多个上下文中的每一者中显示图像序列,其中与该图像序列相关联的简档的表示将被显示。根据该示例,多个上下文可包括呼叫屏幕上下文和/或联系人上下文。
[0075] 姿势逻辑220被配置成检测与设备200有关的姿势。姿势是由设备(例如,设备200)的用户执行的通信,在该通信中,用户的身体的至少一个部位的位置和/ 或运动和/或该设备在该设备的环境内的移动向该设备传递信息。姿势的示例包括但不限于:悬停姿势(例如,挥手、指点、悬停达至少阈值时间段、快速移动手指、划动手的手掌或(诸)手指、将手指捏在一起、将手指移开等,而不触摸触摸屏)、注视姿势(例如,注视达至少阈值时间段)、看并眨眼姿势(例如,在看的同时眨眼)、语音姿势(例如,说一命令)、触摸姿势(例如,对准触摸屏轻叩手指、划动手指、将手指捏在一起、将手指移开等)等或其任何组合。
[0076] 姿势逻辑220可感测用户的身体的(各)部位的位置和/或运动和/或设备200 在设备200的环境中的移动。姿势逻辑220可响应于检测到该位置、运动和/或移动而确定要采取的动作。姿势逻辑220可被耦合到或合并到显示器204以检测相对于显示器204的悬停姿势。根据该示例,姿势逻辑220可能能够检测在显示器204 (例如在显示器的一侧)上方和/或附近执行的悬停姿势。
[0077] 动作逻辑222被配置成确定在图像序列的各帧中(诸)对象是否在运动中。例如,动作逻辑22可确定图像序列中描绘动作的启动的帧。例如,动作逻辑222可使用向量分析(或其他种类的分析)来确定对象从第一帧到第二帧的位置改变。例如,动作逻辑222可确定对象从第一帧中的第一位置改变到第二帧中的第二位置。动作逻辑222可基于第一位置和第二位置之间的距离以及与第一帧相关联的第一时刻和与第二帧相关联的第二时刻之差来确定对象移动的速率。例如,第一时刻和第二时刻之差可基于可基于图像序列的帧速率。作为本文中描述的技术的补充或替换,相关领域已知的其他技术也可被用来确定在图像序列的各帧中(诸)对象是否在运动中。
[0078] 输入确定逻辑224被配置成确定来自用户的输入是否被接收到。例如,输入确定逻辑224可能能够确定从用户接收到的输入的类型。输入的示例类型包括但不限于语音输入、触摸输入、悬停输入、指示笔输入(即,使用指示笔的输入)、键盘输入(即,使用键盘的输入)、姿势输入等。输入确定逻辑224可确定通过这样的输入选择的一个或多个虚拟元素。
[0079] 激活逻辑226被配置成响应于对与基于图像258的子集的图像序列相对应的虚拟元素的选择而激活到该子集的链接。例如,激活该链接可提供关于该图像序列的附加信息、其中可显示该图像序列的设备200的(诸)上下文、图像258的该子集、该子集中的主图像等等。
[0080] (诸)图像序列238可响应于经过指定时间段而被删除。指示逻辑228被配置成提供指定将删除(诸)图像序列238中的一者或多者的时刻的指示符。
[0081] 现在参考图3-9更详细地描述设备200的各元件(包括动画逻辑270中的各逻辑)。
[0082] 图3-10描绘根据各实施例的用于提供基于元数据的照片和/或视频动画的示例方法的流程图300、400、500、600、700、800、900和1000。出于说明性目的,流程图300、400、500、600、700、800、900和1000是相对图2中显示的设备200 来描述的。基于关于流程图300、400、
500、600、700、800、900和1000的讨论,另外的结构和操作实施例对于相关领域的技术人员将是显而易见的。
[0083] 如图300所示,流程图300的方法在步骤302处开始。在步骤302,控制相机以响应于对用户元素的每一选择而捕捉多个图像。在在一示例实现中,控制逻辑 206控制相机202以响应于对用户元素230的每一选择而捕捉多个图像。
[0084] 例如,控制逻辑可根据设备200的连拍模式来控制相机202响应于对用户元素 230的每一选择而捕捉多个图像。在另一示例中,控制逻辑可根据设备200的视频模式来控制相机202响应于对用户元素230的每一选择而捕捉多个图像。
[0085] 将认识到,每一多个图像不必都被相机202捕捉到。例如,任何多个图像可从设备200上的存储中或者在位于设备200远程的服务器上检索到。任何多个图像可从存储在设备
200或位于设备200远程的服务器上的一个或多个图像中导出。例如,任何多个图像可被配置为视频。
[0086] 在步骤304,从每一多个图像中生成图像序列。在一示例实现中,图像序列逻辑208从每一多个图像中生成图像序列。例如,图像序列逻辑208可将每一多个图像转换为具有诸如图形交换格式(GIF)之类的指定位图图像格式的相应图像序列。在另一示例中,图像序列逻辑208可创建从每一多个图像生成相应图像序列的控件。
[0087] 在步骤306,对于每一多个图像,将元数据与从该多个图像中选出的主图像相关联。与每一主图像相关联的元数据包括对图像序列的引用,该图像序列是从从中选择该主图像的多个图像中生成的。主图像可被配置成具有诸如JPEG格式之类的指定格式,但各实施例的范围在此方面并不受限。在示例实现中,对于每一多个图像,元数据逻辑210将元数据与从该多个图像中选出的主图像相关联。
[0088] 在一些示例实施例中,可以不执行流程图300的一个或多个步骤302、304和/ 或306。此外,可以执行作为步骤302、304、和/或306的补充或替换的步骤。例如,在一示例实施例中,流程图300的方法包括根据包括相机的设备的默认设置,响应于经过指定时间历时而删除每一元数据,除非一个或多个指定准则中的至少一个准则被满足。例如,删除逻辑212可响应于经过指定时间历时而删除每一元数据,除非一个或多个指定准则中的至少一个准则被满足。
[0089] 在一方面,一个或多个指定准则包括被相应元数据引用的图像序列被选择来代替静态图像被显示的准则。例如,静态图像可以是具有相应元数据的主图像。根据这方面,显示指示符242可指示被相应元数据引用的图像序列被选择来代替静态图像被显示。因此,删除逻辑212可基于接收到显示指示符242而不删除该相应元数据。
[0090] 在另一方面,相应元数据可响应于来自与该相应元数据相对应的多个图像中的单个图像被选择来被显示而被删除,而不管指定时间历时的经过是否发生。根据这方面,显示指示符242可指示来自与相应元数据相对应的多个图像中的单个图像被选择来被显示。因此,删除逻辑212可基于接收到显示指示符242而删除该相应元数据。
[0091] 在另一示例实施例中,流程图300的方法可包括图4的流程图400中示出的一个或多个步骤。如图4所示,流程图400的方法在步骤402处开始。在步骤402,提供包括查询元素的用户界面,该查询元素请求来自包括相机的设备的用户的关于指定时间历时的响应。在示例实现中,界面逻辑214提供包括查询元素234的用户界面232。
[0092] 在步骤404,基于该响应来定义指定时间历时。在示例实现中,界面逻辑214 定义指定时间历时。
[0093] 在又一示例实施例中,流程图300的方法可包括图5的流程图500中示出的一个或多个步骤。如图5所示,流程图500的方法在步骤502处开始。在步骤502,提供使得包括相机的设备的用户能够选择与图像序列相关联的指定简档的用户界面。在示例实现中,界面逻辑214提供使得设备200的用户能够选择指定简档的用户界面232。
[0094] 在步骤504,响应于对指定简档的选择而将图像序列与该指定简档相关联。在示例实现中,关联逻辑216将图像序列与该指定简档相关联。例如,关联逻辑216 可定位(诸)简档244中的指定简档。关联逻辑216可生成关联指示符264以指示图像序列与指定简档相关联。
[0095] 在步骤506,响应于将图像序列与指定简档相关联,在其中指定简档的表示要由包括相机的设备显示的多个上下文中的每一者中显示该图像序列。在示例实现中,显示逻辑218在设备200的多个上下文的每一者中显示图像序列。例如,显示逻辑218可基于接收到关联指示符264而在多个上下文中的每一者中显示图像序列。
[0096] 在又一示例实施例中,流程图300的方法可包括图6的流程图600中示出的一个或多个步骤。如图6所示,流程图600的方法在步骤602处开始。在步骤602,将被选择来显示的表示设为来自捕捉到的多个图像的主图像。在示例实现中,控制逻辑206将该表示设为主图像。
[0097] 在步骤604,检测相对于包括相机的设备的姿势。在一示例实现中,姿势逻辑 220检测相对于设备200的姿势248。例如,姿势逻辑220可生成用于指示检测到姿势248的姿势指示符266。
[0098] 在步骤606,响应于检测到姿势,将表示从来自捕捉到的多个图像的主图像改变为从捕捉到的多个图像生成的图像序列。在示例实现中,控制逻辑206将该表示从主图像改变为图像序列。例如,控制逻辑206可基于接收到姿势指示符266而改变该表示。
[0099] 如图700所示,流程图700的方法在步骤702处开始。在步骤702,接收主图像。每一主图像具有包括对基于包括该主图像的相应多个图像的相应图像序列的引用的元数据。在示例实现中,显示逻辑218接收(诸)主图像240。
[0100] 在步骤704,提供包括虚拟元素的用户界面。每一虚拟元素对应于相应的主图像。每一虚拟元素还对应于多个图像序列中在相应主图像的元数据中被引用的相应图像序列。
在一示例实现中,接口模块214提供用户界面232。
[0101] 在步骤706,对于每一虚拟元素,将对应于虚拟元素的主图像显示在该虚拟元素中。在示例实现中,对于每一虚拟元素,显示逻辑218将对应于该虚拟元素的主图像显示在该虚拟元素中。
[0102] 在步骤708,检测关于指定虚拟元素的姿势。在一示例实现中,姿势逻辑220 检测姿势248。
[0103] 在步骤710,响应于检测到关于指定虚拟元素的姿势,将对应于指定虚拟元素的图像序列而非对应于指定虚拟元素的主图像显示在指定虚拟元素中。在示例实现中,显示逻辑218将对应于指定虚拟元素的图像序列显示在指定虚拟元素中。
[0104] 在一些示例实施例中,可以不执行流程图700的一个或多个步骤702、704、706、708和/或710。此外,可以执行除步骤702、704、706、708和/或710以外的或代替这些步骤的步骤。例如,在一示例实施例中,流程图700的方法包括确定与指定虚拟元素相对应的图像序列中描绘动作的启动的帧。例如,动作逻辑222 确定与指定虚拟元素相对应的图像序列中描绘动作的启动的帧。动作逻辑222可生成用于指定该帧的帧指示符268。根据该实施例,步骤710包括在该帧处启动对与指定虚拟元素相对应的图像序列的显示。例如,显示逻辑218可在该帧处启动该显示。根据该示例,显示逻辑218可基于接收到帧指示符268而在该帧处启动该显示。
[0105] 在另一示例实施例中,流程图700的方法可包括图8中的流程图800中示出的一个或多个步骤。如图8所示,流程图800的方法在步骤802处开始。在步骤802,在将对应于指定虚拟元素的图像序列显示在该指定虚拟元素中之后,检测关于特定虚拟元素的第二姿势。在一示例实现中,姿势逻辑220检测第二姿势。
[0106] 在步骤804,响应于检测到关于特定虚拟元素的第二姿势,将对应于指定虚拟元素的主图像而非对应于指定虚拟元素的图像序列显示在指定虚拟元素中。在示例实现中,显示逻辑218将对应于指定虚拟元素的主图像显示在指定虚拟元素中。
[0107] 在步骤806,响应于检测到关于特定虚拟元素的第二姿势,将对应于特定虚拟元素的图像序列而非对应于特定虚拟元素的主图像显示在特定虚拟元素中。在示例实现中,显示逻辑218将对应于特定虚拟元素的图像序列显示特定虚拟元素中。
[0108] 在又一示例实施例中,流程图700的方法可包括图9的流程图900中示出的一个或多个步骤。如图9所示,流程图900的方法在步骤902处开始。步骤902,作出指定虚拟元素通过输入而非姿势被选择的确定。在示例实现中,输入确定逻辑 224确定指定虚拟元素通过输入250被选择。输入确定逻辑224可响应于确定指定虚拟元素通过输入250被选择而生成激活指令252。激活指令252指令激活逻辑226 激活到对应于指定虚拟元素的图像序列所基于的多个图像的链接。
[0109] 在步骤904,响应于确定指定虚拟元素通过输入被选择,而激活到对应于指定虚拟元素的图像序列所基于的多个图像的链接。在一示例实现中,激活逻辑226 激活该链接。例如,激活逻辑226可基于接收到激活指令252而激活该链接。激活逻辑226可响应于激活该链接而生成表明该链接被激活的激活通知程序254。
[0110] 在该实施例的一方面,流程图700的方法可包括响应于激活到与指定虚拟元素相对应的图像序列所基于的多个图像的链接,提供指示将删除与指定虚拟元素相对应的图像序列的时刻的指示符。在一示例实现中,指示逻辑228提供时间指示符 272,该时间指示符272指定将删除与指定虚拟元素相对应的图像序列的时刻。例如,指示逻辑228可基于接收到激活通知程序254而提供时间指示符272。
[0111] 在该实施例的另一方面,流程图700的方法可包括提供用户界面,该用户界面使得能够从设备的多个上下文中选择将在其中显示与指定虚拟元素相对应的图像序列的一个或多个上下文。例如,多个上下文可包括锁屏上下文、开始菜单上下文、呼叫屏幕上下文、联系人上下文、照片中枢上下文、照片库查看器上下文、单个照片查看器上下文、锁定相册上下文、相机卷片上下文、在线相册上下文、最喜欢照片上下文等等。在示例实现中,界面逻辑214可提供使得能够选择此一个或多个上下文的用户界面232。
[0112] 在又一示例实施例中,流程图700的方法可包括图10的流程图1000中示出的一个或多个步骤。如图10所示,流程图1000的方法在步骤1002处开始。在步骤 1002,作出一个或多个主图像不描绘处于运动中的至少一个对象的确定。在示例实现中,动作逻辑222确定一个或多个主图像不描绘处于运动中的至少一个对象。
[0113] 在步骤1004,响应于确定一个或多个主图像不描绘处于运动中的至少一个对象,删除此一个或多个主图像中的每一者的元数据。在示例实现中,删除逻辑212 删除一个或多个主图像中的每一者的元数据。例如,动作逻辑222可生成删除指令262以指令删除逻辑212删除一个或多个主图像中的每一者的元数据。删除逻辑212 可基于接收到删除指令262而删除一个或多个主图像中的每一者。
[0114] 将认识到,设备200可不包括图2中示出的所有组件。例如,设备200可不包括以下中的一者或多者:相机202、显示器204、动画逻辑270、用户元素230、用户界面232、查询元素234、控制逻辑206、图像序列逻辑208、元数据逻辑210、删除逻辑212、界面逻辑214、关联逻辑216、显示逻辑218、姿势逻辑220、动作逻辑222、输入确定逻辑224、激活逻辑226和/或指示逻辑228。此外,设备200 可包括作为以下的补充或替换的组件:相机202、显示器204、动画逻辑270、用户元素230、用户界面232、查询元素234、控制逻辑206、图像序列逻辑208、元数据逻辑210、删除逻辑212、界面逻辑214、关联逻辑216、显示逻辑218、姿势逻辑220、动作逻辑222、输入确定逻辑224、激活逻辑226和/或指示逻辑228。
[0115] 图11-13描绘根据各实施例的用于提供基于元数据的照片和/或视频动画的示例方法的流程图1100、1200和1300。出于说明性的目的,根据一实施例,流程图 1100、1200和1300是参照图14中所示的(诸)服务器1400来描述的,(诸)服务器1400是图1中的(诸)服务器102的示例。如图14所示,(诸)服务器1400 包括存储器1402和服务器侧基于元数据的动画逻辑1430(此后称为“动画逻辑 1430”)。动画逻辑1430包括标识逻辑1404、能力逻辑
1406、供应逻辑1408、图像确定逻辑1410和版本逻辑1412。基于关于流程图1100、1200和
1300的讨论,进一步的结构和操作实施例对于(诸)相关领域的技术人员将是显而易见的。
[0116] 如图1100所示,流程图1100的方法在步骤1102处开始。在步骤1102,在存储处经由网络从第一设备接收主图像。该主图像具有包括对基于包括该主图像的多个图像的指定图像序列的引用(例如指示该指定图像序列的位置的引用)的元数据。主图像表示第一用户的简档。在示例实现中,存储1402从第一设备接收主图像 1414。该指定图像序列可以按各种方式中的任一方式来生成。例如,可在第一设备处捕捉多个图像,并且可在第一设备或(诸)服务器1400处生成指定图像序列。在另一示例中,可在(诸)服务器1400处根据来自第一用户的指令生成指定图像序列。在又一示例中,指定图像序列可由第三方应用生成。根据该示例,第三方应用可将指定图像序列提供给(诸)服务器1400。
[0117] 在步骤1104,在该存储处经由网络从不同于第一设备的第二设备接收引导指示符。该引导指示符指示第二设备正在执行引导过程。在示例实现中,存储1402 从第二设备接收引导指示符1416。
[0118] 在步骤1106,作出第一用户在与第二设备相关联的联系人列表中被标识出的确定。在一示例实现中,标识逻辑1404确定第一用户在与第二设备相关联的联系人1430中被标识出。
[0119] 在步骤1108,作出第二设备是否能够使用图像序列来表示联系人的确定。如果第二设备能够使用图像序列来表示联系人,则流程继续到步骤1110。否则,流程继续至步骤1114。在示例实现中,能力逻辑1406确定第二设备是否能够使用图像序列来表示联系人。例如,能力逻辑1406可接收通知程序1432,该通知程序1432 可指示第二设备是否能够使用图像序列来表示联系人。根据该示例,能力逻辑1406 可接收来自第二设备的通知程序。能力逻辑1406可基于接收到通知程序1432而确定第二设备是否能够使用图像序列来表示联系人。能力逻辑1406可提供能力指示符1428来指示第二设备是否能够使用图像序列来表示联系人。
[0120] 在步骤1110,基于引用来检索指定图像序列。在示例实现中,供应逻辑1408 检索指定图像序列1434。例如,供应逻辑1408可向存储1402提供检索指令1426,从而指令存储1402提供该指定图像序列1434。供应逻辑1408可响应于提供检索指令1426而接收指定图像序列1434。例如,指定图像序列1434可被包括在内容 1420中。
[0121] 在步骤1112,将该指定图像序列提供给第二设备以表示第一用户的简档。在一示例实现中,供应逻辑1408向第二设备提供指定图像序列1434。
[0122] 在步骤1114,将主图像代替指定图像序列提供给第二设备以表示第一用户的简档。在一示例实现中,供应逻辑1408将主图像1414代替指定图像序列1434提供给第二设备。
[0123] 在示例实施例中,第二设备能够使用图像序列来表示联系人。根据该实施例,代替第二设备处的指定图像序列,使用相对于第二设备被本地地存储并且不与该存储同步的静态图像或另一图像序列来表示第一用户的简档。
[0124] 将认识到,步骤1104、1106、1108、1110、1112和/或1114可响应于多个设备正执行引导过程而针对这些设备中的每一者执行,但是示例实施例的范围在此方面并不受限。
[0125] 还将认识到,步骤1102、1104、1106、1108和/或1110中的任何一者或多者可由第二设备(例如,设备106A-106N中的任一者)或其上的客户机侧基于元数据的动画逻辑(例如,而不是由诸如(诸)服务器102之类的(诸)服务器或其上的服务器侧基于元数据的动画逻辑)来执行。例如,在步骤1102,第二设备上的存储可接收主图像序列。第二设备上的客户机侧基于元数据的动画逻辑可在步骤 1106确定第一用户在联系人列表中被标识出,在步骤1108确定第二设备是否能够使用图像序列来表示联系人,和/或在步骤1110(例如,基于确定第二设备能够使用图像序列来表示联系人)检索指定图像序列。第二设备可将图像序列高速缓存以供稍后使用,但是示例实施例的范围在此方面并不受限。第二设备可在步骤
1114 接收主图像,而非提供主图像。
[0126] 第二设备可存储联系人列表。因此,(诸)服务器不需要一定知道这些联系人。该设备可在步骤1110通过诸如 或 之类的第三方服务(例如,传统服务)检索图像序列。
[0127] 在一些示例实施例中,可不执行流程图1100的一个或多个步骤1102、1104、 1106、1108、1110、1112和/或1114。此外,可以执行作为步骤1102、1104、1106、 1108、1110、1112和/或1114的补充或替换的步骤。例如,在一示例实施例中,流程图1100的方法包括存储表示第一用户的相应简档的静态图像。简档对应于相应的服务。服务的示例包括但不限于Microsoft Exchange 等。在示例实现中,存储1402存储静态图像
1418。将认识到,静态图像1418可包括主图像1414。
[0128] 根据该实施例,步骤1112包括通过将指定图像序列提供给第二设备以用于这些简档来用指定图像序列覆盖静态图像。例如,供应逻辑1408可(例如,根据(诸) 服务器1400的默认设置)来用指定图像序列1434覆盖静态图像1418。
[0129] 在另一示例实施例中,流程图1100的方法可包括图12的流程图1200中示出的一个或多个步骤。如图12所示,流程图1200的方法在步骤1202处开始。在步骤1202,作出主图像是静态图像的确定。例如,图像确定逻辑1410可确定主图像 1414是静态图像。
[0130] 在步骤1204,响应于确定主图像是静态图像,审阅该主图像以确定该主图像是否包括元数据。例如,图像确定逻辑1410可审阅该主图像1414以确定该主图像 1414是否包括元数据。
[0131] 将认识到,步骤1202和/或1204可由第二设备或其上的客户机侧基于元数据的动画逻辑(例如,而不是由诸如(诸)服务器102之类的(诸)服务器或其上的服务器侧基于元数据的动画逻辑)来执行。例如,第二设备上的客户机侧基于元数据的动画逻辑可在步骤1202确定主图像是静态图像。第二设备上的客户机侧基于元数据的动画逻辑可在步骤1204审阅主图像。
[0132] 在另一示例实施例中,流程图1100的方法可包括图13的流程图1300中示出的一个或多个步骤。如图13所示,流程图1300的方法在步骤1302处开始。在步骤1302,作出指示该指定图像序列的版本的版本指示符改变为指示存在该指定图像序列的经更新版本的确定。例如,版本指示符1424可指定该指定图像序列1434 的版本。根据该示例,版本逻辑1412可确定版本指示符1424改变为指示存在指定图像序列1434的经更新版本。
[0133] 在步骤1304,将指定图像序列的经更新版本提供给第二设备。例如,供应逻辑1408可将指定图像序列1434的经更新版本提供给第二设备。根据该示例,版本逻辑1412可将检索指令1426提供给存储1402,从而指令存储1402提供指定图像序列1434的经更新版本。例如,版本逻辑1412可基于接收到版本指示符1424而提供检索指令1426。供应逻辑1408可响应于提供检索指令1426从存储1402接收指定图像序列1434的经更新版本。指定图像序列的经更新版本可例如被包括在内容1420中。供应逻辑1408可在从存储1402接收到之际提供指定图像序列的经更新版本。
[0134] 将认识到,步骤1302可由第二设备或其上的客户机侧基于元数据的动画逻辑 (例如,而不是由诸如(诸)服务器102之类的(诸)服务器或其上的服务器侧基于元数据的动画逻辑)来执行。例如,第二设备上的客户机侧基于元数据的动画逻辑可在步骤1302确定版本指示符改变。第二设备上的客户机侧基于元数据的动画逻辑可在步骤1304接收(例如,检索)指定图像序列的经更新版本,而不是提供该经更新版本。
[0135] 将认识到,(诸)服务器1400可不包括图14中示出的所有组件。例如,(诸) 服务器1400可不包括以下中的一者或多者:存储1402、动画逻辑1430、标识逻辑 1404、能力逻辑
1406、供应逻辑1408、图像确定逻辑1410和/或版本逻辑1412。此外,(诸)服务器1400可包括作为以下的补充或替换的各组件:存储1402、动画逻辑1430、标识逻辑1404、能力逻辑1406、供应逻辑1408、图像确定逻辑1410 和/或版本逻辑1412。
[0136] 图15是描绘示例性移动设备1500的系统示图,该示例性移动设备1500包括被概括地示为1502的各种任选的硬件和软件组件。该移动设备中的任何组件1502 可与任何其他组件通信,但出于容易例示的目的而未示出所有连接。移动设备1500 可以是各种计算设备(例如,蜂窝电话、智能电话、手持式计算机、个人数字助理 (PDA)等)中的任一个,并且可允许与诸如蜂窝或卫星网络的一个或多个移动通信网络1504或与局域网或广域网进行无线双向通信。
[0137] 图示的移动设备1500可以包括用于执行任务的控制器或处理器1510(例如,信号处理器、微处理器、ASIC或者其他控制和处理逻辑电路),所述任务诸如信号编码、数据处理、输入/输出处理、功率控制、和/或其他功能。操作系统1512 可控制对组件1502的分配和使用,并支持一个或多个应用程序1514(又称应用)。应用程序1514可包括公共移动计算应用程序(例如,电子邮件应用程序、日历、联系人管理器、web浏览器、消息接发应用程序)、或任何其他计算应用(例如字处理应用、地图应用、媒体播放器应用)。
[0138] 图示的移动设备1500可以包括存储器1520。存储器1520可包括不可移动存储器1522和/或可移动存储器1524。不可移动存储器1522可以包括RAM、ROM、闪存、硬盘或者其他公知的存储器存储技术。可移动存储器1524可包括闪存或订户身份模块(SIM)卡,其在GSM通信系统中是众所周知的,或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器
1520可用于存储运行操作系统1512和应用1514的数据和/或代码。示例数据可以包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据或者其他数据集。存储器1520可用于存储订户标识符和设备标识符,所述订户标识符诸如国际移动订户身份(IMSI),所述设备标识符诸如国际移动设备标识符(IMEI)。这种标识符可以被发射至网络服务器以标识用户和设备。
[0139] 移动设备1500可支持诸如触摸屏1532、话筒1534、相机1536、物理键盘1538、和/或跟踪球1540等一个或多个输入设备1530,以及诸如扬声器1552和显示器1554 等一个或多个输出设备1550。诸如触摸屏1532等触摸屏可以不同方式检测输入。例如,电容式触摸屏在物体(例如,指尖)使流过表面的电流变形或中断时检测到触摸输入。作为另一示例,触摸屏可使用光学传感器,在来自光学传感器的光束被中断时检测到触摸输入。对于通过某些触摸屏被检测到的输入来说,与屏幕表面的物理接触并不是必需的。例如,如本领域公知地,触摸屏1532可使用电容感测来支持手指悬停检测。也可使用其它检测技术,包括基于相机的检测和基于超声波的检测。为了实现手指悬停,用户的手指通常在触摸屏上方预定间隔距离内,诸如在 0.1至0.25英寸之间、或0.25至0.5英寸之间、或0.5至0.75英寸之间、或0.75 至1英寸之间、或1至1.5英寸之间等等。
[0140] 移动设备1500可包括客户机侧基于元数据的动画逻辑1592(此后称为“动画逻辑1592”)。动画逻辑1592被配置成根据本文中描述的技术中的一者或多者来在移动设备1500上提供照片和/或视频动画。
[0141] 其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以用于多于一个输入/输出功能。例如,触摸屏1532和显示器1554可被组合在单个输入/输出设备中。输入设备1530可以包括自然用户界面(NUI)。NUI是使用户能以“自然”方式与设备交互、免受诸如鼠标、键盘、远程控件等输入设备所施加的人工约束的任一界面技术。NUI方法的示例包括依赖于语音识别、触摸和触笔识别、屏上及邻近屏的姿势识别、空中姿势、头部和眼部跟踪、说话和语音、视觉、触摸、姿势以及机器智能的那些方法。NUI的其他示例包括使用加速度计/陀螺仪、面部识别、3D显示器、头部、眼部和凝视跟踪的运动手势检测、沉浸式增强的现实和虚拟现实系统,这些中的全部都提供更自然的界面,还包括使用电场传感电极 (EEG及相关方法)来感测脑部活动的技术。由此,在一特定示例中,操作系统 1512或应用1514可包括作为允许用户经由语音命令来操作设备1500的语音控制界面的一部分的语音识别软件。而且,设备1500可以包括允许经由用户的空间手势进行用户交互的输入设备和软件,诸如检测和解释手势以便向游戏应用提供输入。
[0142] (诸)无线调制解调器1560可被耦合到(诸)天线(未示出),并可支持处理器1510和外部设备之间的双向通信,如本领域中清楚理解的。(诸)调制解调器1560被一般性地示出,并且可以包括用于与移动通信网络1504通信的蜂窝调制解调器1566和/或其它基于无线电的调制解调器(例如蓝牙1564和/或Wi-Fi 1562)。无线调制解调器1560的至少之一通常被配置用于与一个或多个蜂窝网络(诸如,用于在单个蜂窝网络内、蜂窝网络之间、或移动设备与公共交换电话网络(PSTN) 之间的数据和语音通信的GSM网络)进行通信。
[0143] 移动设备还可以包括至少一个输入/输出端口1580、电源1582、卫星导航系统接收机1584(诸如全球定位系统(GPS)接收机)、加速度计1586、和/或物理连接器1590,物理连接器1590可以是USB端口、IEEE 1394(火线)端口和/或RS-232 端口。所示的组件1502的各组件并非是必需或者涵盖全部的,因为如本领域技术人员所认识到的,任何组件可不被删除且其它组件可被添加。
[0144] 虽然为方便呈现起见所公开的方法的一些操作是以特定的顺序次序来描述的,但应当理解,这一描述方法涵盖重新安排,除非本文阐明的具体语言需要特定排序。例如,顺序描述的操作可以在一些情况下并行地重排或同时执行。此外,为简洁起见,附图可能不示出所公开的方法可以结合其他方法使用的各种方式。
[0145] 动画逻辑112A-112N、动画逻辑110、动画逻辑270、控制逻辑206、图像序列逻辑208、元数据逻辑210、删除逻辑212、界面逻辑214、关联逻辑216、显示逻辑218、姿势逻辑
220、动作逻辑222、输入确定逻辑224、激活逻辑226、指示逻辑228、动画逻辑1430、标识逻辑
1404、能力逻辑1406、供应逻辑1408、图像确定逻辑1410和/或版本逻辑1412、流程图300、流程图400、流程图500、流程图600、流程图700、流程图800、流程图900、流程图1000、流程图
1100、流程图1200和/或流程图1300中的任何一者或多者可用硬件、软件、固件或其任何组合来实现。
[0146] 例如,动画逻辑112A-112N、动画逻辑110、动画逻辑270、控制逻辑206、图像序列逻辑208、元数据逻辑210、删除逻辑212、界面逻辑214、关联逻辑216、显示逻辑218、姿势逻辑220、动作逻辑222、输入确定逻辑224、激活逻辑226、指示逻辑228、动画逻辑1430、标识逻辑
1404、能力逻辑1406、供应逻辑1408、图像确定逻辑1410和/或版本逻辑1412、流程图300、流程图400、流程图500、流程图600、流程图700、流程图800、流程图900、流程图1000、流程图
1100、流程图1200和/或流程图1300中的任何一者或多者可被实现为被配置成在一个或多个处理器中执行的计算机程序代码。
[0147] 在另一示例中,动画逻辑112A-112N、动画逻辑110、动画逻辑270、控制逻辑206、图像序列逻辑208、元数据逻辑210、删除逻辑212、界面逻辑214、关联逻辑216、显示逻辑218、姿势逻辑220、动作逻辑222、输入确定逻辑224、激活逻辑226、指示逻辑228、动画逻辑1430、标识逻辑1404、能力逻辑1406、供应逻辑1408、图像确定逻辑1410和/或版本逻辑1412、流程图300、流程图400、流程图500、流程图600、流程图700、流程图800、流程图900、流程图1000、流程图1100、流程图1200和/或流程图1300中的任何一者或多者可被实现为硬件逻辑/ 电路系统。
[0148] 例如,在一实施例中,动画逻辑112A-112N、动画逻辑110、动画逻辑270、控制逻辑206、图像序列逻辑208、元数据逻辑210、删除逻辑212、界面逻辑214、关联逻辑216、显示逻辑218、姿势逻辑220、动作逻辑222、输入确定逻辑224、激活逻辑226、指示逻辑228、动画逻辑1430、标识逻辑1404、能力逻辑1406、供应逻辑1408、图像确定逻辑1410和/或版本逻辑
1412、流程图300、流程图400、流程图500、流程图600、流程图700、流程图800、流程图900、流程图1000、流程图1100、流程图1200和/或流程图1300中的一者或多者可被实现在片上系统 (SoC)中。SoC可包括集成电路芯片,该集成电路芯片包括以下一个或多个:处理器(如微控制器、微处理器、数字信号处理器(DSP)等等)、存储器、一个或多个通信接口、和/或用于执行其功能的进一步的电路和/或嵌入的固件。
[0149] III.示例计算机系统
[0150] 图16描绘其中可实现各实施例的示例计算机1600。例如,图1中示出的设备 106A-106N中的任一者和/或(诸)服务器102可使用计算机1600来实现,包括计算机1600的一个或多个特征和/或替换的特征。计算机1600可以是例如常规个人计算机、移动计算机或工作站形式的通用计算设备,或者计算机1600可以是专用计算设备。此处所提供的对计算机1600的描述只是为了说明,并不是限制性的。各实施例也可以在相关领域的技术人员所知的其它类型的计算机系统中实现。
[0151] 如图16所示,计算机1600包括处理单元1602、系统存储器1604和总线1606,总线1606将包括系统存储器1604在内的各种系统组件耦合到处理单元1602。总线1606表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及处理器或使用各种总线体系结构中的任何一种的局部总线。
系统存储器1604包括只读存储器(ROM)1608 和随机存取存储器(RAM)1610。基本输入/输出系统1612(BIOS)储存在ROM 1608 中。
[0152] 计算机1600还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器1614、用于读或写可移动磁盘1618的磁盘驱动器1616、以及用于读或写诸如CD ROM、 DVD ROM或其他光介质之类的可移动光盘1622的光盘驱动器1620。硬盘驱动器 1614、磁盘驱动器1616,以及光驱动器1620分别通过硬盘驱动器接口1624、磁盘驱动器接口1626,以及光盘驱动器接口1628连接到总线1606。驱动器以及它们相关联的计算机可读介质为计算机提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然描述了硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM) 等等之类的其他类型的计算机可读存储介质来储存数据。
[0153] 数个程序模块可被储存在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统1630、一个或多个应用程序1632、其他程序模块1634以及程序数据 1636。应用程序1632或程序模块1634可包括例如用于实现以下中的任何一者或多者的计算机程序逻辑:动画逻辑
112A-112N、动画逻辑110、动画逻辑270、控制逻辑206、图像序列逻辑208、元数据逻辑210、删除逻辑212、界面逻辑214、关联逻辑216、显示逻辑218、姿势逻辑220、动作逻辑222、输入确定逻辑224、激活逻辑226、指示逻辑228、动画逻辑1430、标识逻辑1404、能力逻辑1406、供应逻辑1408、图像确定逻辑1410和/或版本逻辑1412、流程图300(包括流程图 300中的任何步骤)、流程图400(包括流程图400中的任何步骤)、流程图500 (包括流程图500中的任何步骤)、流程图600(包括流程图600中的任何步骤)、流程图700(包括流程图700中的任何步骤)、流程图800(包括流程图800中的任何步骤)、流程图900(包括流程图900中的任何步骤)、流程图1000(包括流程图1000中的任何步骤)、流程图1100(包括流程图1100中的任何步骤)、流程图1200(包括流程图1200中的任何步骤)和/或流程图1300(包括流程图1300 中的任何步骤),如本文中所描述的。
[0154] 用户可以通过诸如键盘1638和定点设备1640之类的输入设备向计算机1600 中输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、触敏屏、相机、加速度计、陀螺仪等等。这些及其他输入设备常常通过耦合到总线1606的串行端口接口1642连接到处理单元1602,但是,也可以通过其他接口,诸如并行端口、游戏端口或通用串行总线(USB),来进行连接。
[0155] 显示设备1644(例如监视器)也通过诸如视频适配器1646之类的接口连接到总线1606。除了显示设备1644之外,计算机1600还可包括其他外围输出设备(未示出),如扬声器和打印机。
[0156] 计算机1600通过网络接口或适配器1650、调制解调器1652、或用于通过网络建立通信的其他装置连接到网络1648(例如,因特网)。调制解调器1652(可以是内置的或外置的)通过串行端口接口1642连接到总线1606。
[0157] 如此处所用的,术语“计算机程序介质”以及“计算机可读介质”用于泛指介质,诸如与硬盘驱动器1614相关联的硬盘、可移动磁盘1618、可移动光盘1622,以及其他介质,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存储器(ROM) 等。这些计算机可读存储介质与通信介质(不包括通信介质)相区别且不重叠。通信介质在诸如载波等已调制数据信号中承载计算机可读指令、数据结构、程序模块或者其它数据。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如声学、 RF、红外线的无线介质和其它无线介质以及有线介质。各个示例实施例也针对这些通信介质。
[0158] 如上文所指示的,计算机程序和模块(包括应用程序1632及其他程序模块 1634)可被储存在硬盘、磁盘、光盘、ROM或RAM上。这样的计算机程序也可以通过网络接口1650或串行端口接口1642来接收。这些计算机程序在由应用程序执行或加载时使得计算机1600能够实现此处所讨论的实施例的特征。相应地,这样的计算机程序表示计算机1600的控制器。
[0159] 示例实施例还涉及包括存储在任何计算机可用介质上的软件(例如计算机可读指令)的计算机程序产品。这样的软件,当在一个或多个数据处理设备中执行时,使数据处理设备如此处所描述的那样操作。实施例可使用现在已知或将来知晓的任何计算机可使用或计算机可读介质。计算机可读介质的示例包括,但不仅限于,诸如RAM、硬盘驱动器、软盘、CD ROM、DVD ROM、zip磁盘、磁带、磁存储设备、光存储设备、基于MEMS的存储设备、基于纳米技术的存储设备等等之类的存储设备。
[0160] 可以认识到,所公开的技术不限于任何特定计算机或硬件类型。适当计算机和硬件的特定细节是公知的,并且不需要在本公开中详细提出。
[0161] IV.结语
[0162] 虽然以上描述了不同的实施例,但应当理解的是它们只是作为示例而非限制。对于相关领域的技术人员显而易见的是,可以对其做出各种改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。