在将数据变换成可消费内容时创建变型的制作方法

文档序号:6534590阅读:168来源:国知局
在将数据变换成可消费内容时创建变型的制作方法
【专利摘要】本文描述了用于在将数据变换成可消费内容时创建变型的概念和技术。根据本文中公开的概念和技术,计算设备可执行将数据变换成可消费内容的变换引擎。计算设备可被配置成分析数据以标识该数据的各数据元素或其他部分间的关系,并基于这些关系和数据标识变换数据的任何可能的方法(“世界”)。可对这些世界进行排名并基于排名来选择世界。计算设备可获得与所选择的世界的相关联的规则,并可将这些规则应用于数据以生成输出。在一些实施例中,计算设备可被配置成获得并应用关于世界选择的反馈。
【专利说明】在将数据变换成可消费内容时创建变型
[0001]置量
[0002]随着可用于即时发布信息的软件的可用性和多样性的增加,数据共享已通过允许越来越多的不同用户集以加速的速度、频率来共享越来越多不同类型的数据以及扩展观众而发生了彻底变革。因此,创建、生成、共享和/或发布数据的许多用户可能很好地掌握了或者可能没有很好地掌握可用于以对查看者而言有意义的格式呈现数据的设计概念。如果这些用户花时间来改善所呈现数据的设计特性,则该数据的可用性可由于那个用户或其他用户的后续数据发布而减小。
[0003]为了满足这些时间相关的挑战,一些用户可将数据发布在简单文档中和/或可将数据加载到演示、视频或其他输出中。由于被选来呈现数据的格式可能是理想的或可能不是理想的,因此这些演示可缺少足够的有用信息和/或可包括太多将被查看者容易地消费的信息。因此,这些由于数据发布的量和频率的增加而向用户提出的挑战可影响共享的或以其他方式发布的信息的有用性。
[0004]尽管可使用模板来发布数据,但这些模板对于特定软件包而言可能是标准的,并且可很好地适于或不可很好地适于用户所发布的特定类型的数据。此外,用户可能想要通过以下方式来使其发布的数据与其他用户区分开:使其发布表现为是唯一的,由此吸引并保持查看者的注意力和/或给出该用户他或她自己生成了该文档的印象。
[0005]本文所做出的本公开正是关于这些和其他考虑事项而提出的。
[0006]概沭
[0007]本文描述了用于在将数据变换成可消费内容时创建变型的概念和技术。如本文中所使用的,术语“可消费”可用于指代可被用户、查看者或其他实体容易地查看、解释或访问的内容。在一些实例中,该内容或其部分可根据分层关系或逻辑关系和/或根据所应用的设计规则来安排。根据本文中公开的概念和技术,数据可被计算设备获得。在一些实例中,数据可包括文本文件、网页、文档、演示文件、电子表格、视频、照片或其他图像、或其他类型的数据。数据可按各种格式被获得,并且可被分析以标识该数据的各数据元素和/或各部分之间的关系。这些关系可用于标识该数据的分层结构、重点、群集和/或以其他方式获得对该数据的了解。
[0008]计算设备可确定如何将差异或变型引入该数据。这些变型可包括动画、效果、布局、色彩方案或其他设计变型方面的差异。计算设备还可选择用于呈现该数据的世界。如本文中所使用的,术语“世界”可用于指代用于呈现数据的方法、模型或主题。计算设备可被配置成基于所确定的关系、分层结构和/或数据类型和实例数来标识可适于或适用于数据的多个世界,并可基于各种考虑来对可能的世界进行排名。基于这些世界的排名和/或其他考虑,计算设备可选择用于呈现该数据的世界。计算设备可使用定义如何将数据转换成世界的一个或多个规则集来将数据应用于世界。在一些实施例中,这些规则可针对每一世界定制,并可定义例如特定类型的数据在所选择或所选定的世界中将如何表示。
[0009]通过应用变型、可视化模型、世界和/或规则,计算设备可生成输出,该输出包括可消费内容并包括可使得该输出表现为对查看者而言是可区分或甚至是唯一的变型。该输出可包括演示、文档、视频、交互式数据输出或其他数据。在一些实施例中,计算设备将该输出呈现给用户或其他实体,且该用户或其他实体表达与该输出的各个方面有关的偏好。因此,例如,用户可表达是喜欢还是不喜欢输出的特定方面,并且计算设备可被配置成将所表达的喜欢或不喜欢应用于输出。在一些实施例中,计算设备可被配置成基于用户偏好来确定是否要改变用于转换数据的世界。计算设备还可被配置成存储这些偏好以供将来使用。
[0010]根据一个方面,计算设备获得数据。数据可从本地或远程存储设备(诸如,因特网、或服务器等)中获得。计算设备可被配置成执行变换引擎,该变换引擎用于分析数据、标识数据内的关系、确定可视化模型、选择世界、将与该世界相关联的规则(诸如设计规贝IJ)应用于数据、并生成输出。在一些实施例中,变换引擎可包括多个模块,或者可被多个模块代替。这些模块可包括剖析和理解模块、变型模块和世界选择器模块。变换引擎还可包括用于基于所选定或所选择的世界来转换数据的规则的表示,并且变换引擎可被配置成将这些规则应用于数据以生成输出。
[0011]根据另一方面,变换引擎可被配置成通过首先确定可用于转换数据的世界来选择世界。这些世界可被计算设备基于各种考虑来进行排名。计算设备可至少部分地基于这些排名来选择世界并将该世界应用于数据。如果数据被更新或者如果计算设备基于反馈确定要改变世界,则计算设备可改变或修改该世界。由此,计算设备可被配置成生成输出,并基于用户偏好和/或基于对由计算设备变换的数据的改变来修改该输出。计算设备还可被配置成存储这些偏好以供将来使用和/或应用于其他数据。
[0012]应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
[0013]提供本概述是为了以简化的形式介绍将在以下【具体实施方式】中进一步描述的概念选择。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
[0014]附图简沐
[0015]图1是示出用于本文所公开的各实施例的说明性操作环境的系统图。
[0016]图2是示出根据说明性实施例的变换引擎的附加方面的框图。
[0017]图3是示出根据说明性实施例的用于将数据变换成可消费内容的方法的各方面的流程图。
[0018]图4是示出根据说明性实施例的用于对世界进行排名并选择用于将变型引入数据的世界的方法的各方面的流程图。
[0019]图5是示出根据说明性实施例的改变用于将变型引入数据的世界的各方面的流程图。
[0020]图6是示出能够实现此处所呈现的各实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。
[0021]图7是示出能够实现本文中呈现各实施例的各方面的分布式计算环境的示图。
[0022]图8是示出能够实现本文中呈现的各实施例的各方面的计算设备体系结构的计算机体系结构图。
[0023]详细描沐
[0024]以下详细描述涉及用于在将数据变换成可消费内容时创建变型的概念和技术。根据本文中描述的概念和技术,计算设备可执行用于将数据变换成可消费内容并将变型引入该可消费内容的变换引擎。在一些实施例中,计算设备从本地或远程存储设备(诸如,存储器或服务器、或因特网等)获得数据。在一些其他实施例中,该数据是在计算设备处使用在该计算设备处执行的应用程序来生成的。计算设备可被配置成执行变换引擎来分析该数据。通过分析该数据,计算设备可标识该数据的各数据元素或其他部分内的关系。计算设备还可执行变换引擎来确定要应用于该数据的各变型并选择要应用于该数据的视觉模型和/或世界。在选择世界时,计算设备可确定针对数据的可能的世界、对这些可能的世界进行排名、并基于这些可能的世界的排名来选择单个世界。计算设备还可执行变换引擎来获得与所选择或选定的世界相关联的规则,并将这些规则应用于数据以生成输出。
[0025]计算设备可被配置成从用户或其他实体获得输入或反馈并应用该输入或反馈。反馈可被计算设备解释以理解用户或其他实体对输出的偏好。输入或反馈可从用户或其他实体直接获得,和/或可响应于可由计算设备生成的一个或多个提示而获得。基于该输入或反馈,计算设备可被配置成修改用于变换数据的世界、修改输出和/或确定将不修改该世界或输出。计算设备还可被配置成存储这些偏好以供将来使用和/或供应用于其他数据。
[0026]计算设备所存储的偏好可不仅包括针对特定用户的偏好,还可附加地或替换地包括针对多个或所有用户的偏好。附加地或替换地,这些偏好可涉及特定内容或输出以及一个或多个用户。因此,这些偏好还可例如指示特定数据元素、数据元素群集、演示方面、演示或设计方案、或规则等与其他数据元素、数据元素群集、演示方面、演示或设计方案、或规则等相比更重要或更不重要。
[0027]尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
[0028]在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各【具体实施方式】或示例的附图。现参考附图(全部若干附图中相同的标号表示相同的元素),将提出用于在将数据变换成可消费内容时创建变型的计算系统、计算机可读存储介质和计算机实现的方法的各方面。
[0029]现在参考图1,将描述用于本文所提出的各实施例的一个操作环境100的各方面。图1中所示的操作环境100包括计算设备102。根据各实施例,计算设备102的功能可由诸如台式计算机、平板计算机或膝上型计算机系统的个人计算机(“PC”)来提供。计算设备102的功能还可以由能够执行本文中详细描述的各个软件元件的其他类型的计算系统(包括但不限于,服务器计算机、手持式计算机、上网本计算机、嵌入式计算机系统、个人数字助理、移动电话、平板或板式计算机、智能电话或其他设备或系统)来提供。出于描述本文中公开的概念和技术的目的,计算设备102在本文中被描述为包括PC或移动计算设备(诸如平板计算机)。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0030]根据各一些实施例,计算设备102被配置成与通信网络(“网络”)104进行通信,或作为通信网络(“网络”)104的一部分来操作。在一些其他实施例中,计算设备102不与网络104进行通信。计算设备102可被配置成执行操作系统106以及一个或多个应用程序、模块、软件元件、或其他计算机可执行或计算机可读指令,诸如作为示例变换引擎108。
[0031]操作系统106是用于控制计算设备102的操作的计算机程序。变换引擎108可包括被配置成在操作系统106的顶部执行以提供本文中描述的用于在将信息变换成可消费内容时创建变型的功能的可执行程序。虽然变换引擎108被示为计算设备102的组件,但应理解,变换引擎108可实现为作为网络104和/或计算设备102的一部分来操作或者与网络104和/或计算设备102进行通信的独立设备或其组件,或在该独立设备或其组件中实现。变换引擎108还可以是在计算设备102上和/或在其他实际或虚拟设备上执行的虚拟化服务或技术层。因此,所示实施例是说明性的,且不应该被解释为以任何方式进行限制。
[0032]如以下将更详细解释的,尤其参考图2-5,变换引擎108可被配置成:获得数据110、分析数据110以确定数据110要被加载到其中的“世界”、在该世界内的内容中创建变型和/或将数据110变换成可消费内容,该可消费内容可包括由计算设备102生成的输出112或可被包括在该输出112中。如本文中所使用的,术语“世界”可用于指代用于显示数据元素的方法、用于将数据110中的元素转换成输出112中的元素的规则、和/或用于在特定世界内引入或强调变型的各个参数。类似地,本文中使用的术语“可消费”可用于指代可被用户或查看者容易地或不费力地查看、解释或访问的输出(诸如输出112)。更具体地,如以下更详细解释地,输出112可包括数据110的各个数据元素或部分,这些数据元素或部分由变换引擎108根据本文中公开的各个概念和技术来安排。由此,可领会,数据110可包括多个数据元素或其他数据部分。
[0033]在一些实施例中,变换引擎108被配置成分析数据110以标识数据110内的各个数据元素之间的关系,并基于所确定的世界将数据110转换或安排成基于关系的设计。该基于关系的设计可(但不一定)按逻辑和/或分层方式安排,和/或可根据用于安排和/或布置数据的各种基于设计器的演示规则来安排。因此,短语“可消费内容”可指代(但不一定)视觉上吸引人和/或逻辑地安排的数据。然而,应该理解,如本文中所描述的输出112无需是视觉上吸引人的,和/或视觉吸引力可以是主观的。例如,输出112的目的可以是功利的,诸如以呈现针对可读性和/或理解进行了优化的输出112。由此,输出112可包括被转换成输出112的数据110的各个数据元素或其他部分,如本文中所描述的。
[0034]根据各实施例,计算设备102被配置成接收或存储数据110。例如,数据110可被存储在计算设备102处的存储器、硬盘驱动器或其他数据存储元件中。在一些其他实施例(诸如,图1中示出的实施例)中,数据110可从数据源114处获得,该数据源114可被配置成作为网络104的一部分来操作或与网络104进行通信。数据源114的功能可由网络驱动器、在网络104上操作或与网络104进行通信的服务器计算机、数据库或另一实际或虚拟数据存储元件和/或其他数据存储设备提供。在其中变换引擎108操作计算设备102内的技术层的一些实施例中,可从应用或存储设备获得数据110并将数据110加载到变换引擎108中或以其他方式将数据110提供给变换引擎108。由此,应该理解,所示和所描述的操作环境100的实施例是说明性的,并且不应被解释为以任何方式构成限制。
[0035]根据本文中公开的概念和技术的各方面,变换引擎108可包括一个或多个应用、程序、软件、计算机可执行指令和/或其他数据。以下参考图2更详细地示出并描绘了可包括为变换引擎108的一部分的数据的一些示例。简言之,计算机可执行指令可包括但不限于:用于剖析和理解数据110中所包括的内容的指令,用于生成和/或建议在将数据110作为输出112的一部分来呈现时要采用的各变型的指令,用于选择在生成输出112时要采用的世界的主题、样式、色彩方案、动画、布局、逻辑方法、和/或其他方面的指令、用于定制所选择或所选定的世界的规则、和/或用于基于来自用户或其他实体的输入来修改输出的指令。
[0036]变换引擎108的这些或其他方面可由单个或多个应用或模块提供。因此,计算设备102通过执行变换引擎108可:接收数据110 ;标识数据110的各个元素或其他部分之间的关系;基于这些关系来标识数据110要被加载到其中的世界;通过修改与世界相关联的参数和/或规则来确定将如何呈现数据110 ;生成用于按确定的格式、方案、或主题等来呈现数据的输出112;以及,呈现输出112。在呈现输出112之前、期间或之后,计算设备102还可被配置成从用户或其他实体获得关于输出112的输入或反馈(“反馈”)。在一些实施例中,计算设备102可被配置成提示用户来得到反馈。在一些其他实施例中,计算设备102可被配置成从各个用户或其他实体中接收反馈而无需进行提示来得到反馈。
[0037]基于计算设备102所接收到的反馈,计算设备102可选择新的世界,修改与该世界相关联的参数,引入或修改向数据I1添加的变型,和/或修改输出112以反映与用户或其他实体相关联的偏好、喜欢、或不喜欢等在一些实施例中,计算设备102还可被配置成支持“专家模式”,在“专家模式”中用户可调整输出112的特定方面。在一些其他实施例中,用户可被限制覆盖输出112中的部分或全部方面。由此,计算设备102可被配置成不仅以计算设备102所确定的格式来呈现数据110,此外还以由用户或其他用户通过提供反馈来定制和/或修改的格式来呈现数据110。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0038]在一些实施例中,计算设备102检索、接收或以其他方式获得数据110。数据110可从本地数据存储设备获得,或者可从远程数据存储设备或实体(诸如数据源114)获得。数据110可包括几乎任何类型的信息,包括但不限于文档、文本、图像、演示、电子表格、网页、视频、媒体或其他信息。由于数据110可包括其他类型的信息或内容,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式进行限制。
[0039]计算设备102可被配置成分析数据110以标识数据110内的分层结构和/或关系。尤其地,计算设备102可被配置成标识包括在数据110内的一个或多个数据元素或数据部分之间的关系。例如,如果数据110包括演示文档,则数据元素可包括该演示的各幻灯片、该演示的各幻灯片内的各对象、和/或包括在该演示中的其他数据部分,诸如各个文本字符、图像、句子、单词、项目符号列表、标号列表、文本框、背景、标题框、或媒体对象等。计算设备102可被配置成分析数据110的各个元素或部分(“数据元素”)以标识出各数据元素之间的关系和/或标识出数据110内的分层结构。类似地,计算设备102可被配置成识别数据110的一个或多个实例之间的关系和/或接收指示数据110已被改变的通知。例如,来自FLICKR或其他相册软件的图像可与诸如FACKBOOK或TWITTER更新和/或时戳信息之类的状态更新或消息相关联,以标识出这些图像之间的关系。由此,即使在生成了输出112后,计算设备102还可被配置成接收数据110的经更新版本和/或数据110已被更新的指示,并可更新该输出112以反映改变。由于其他类型的数据和/或数据源可用于标识数据110的各元素之间的关系,因此这些示例应被理解为是说明性的,而不应被解释为以任何方式进行限制。
[0040]计算设备102还可被配置成确定要被用于生成输出112的可视化模型。具体地,计算设备102可确定在生成输出112时可被包括以提供区别化输出112各变型。例如,计算设备102可将动画、图像尺寸、文本效果、布局、色彩方案、主题或其他可视化方面的变型应用于被包括为输出112的数据,以提供高度区别化的输出。此外,数据中的关系(诸如,强调、解除强调、有序列表、集合、或父子关系等)可用于创建许多可视化,其中的每一可视化表达底层的关系。例如,文本中的强调可通过使得文本加粗、通过增加文本的字体尺寸、通过将文本的色彩改变为红色、通过添加精细的动画和/或以其他方式来可视化。因此,计算设备102的用户可使用计算设备102来生成唯一的产品,即使其他用户提供了基本上类似或甚至相同的输入。在一些实施例中,通过调整与所选择的世界相关联的各个参数可将这些变型添加到输出112。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进tx限制。
[0041]计算设备102还可被配置成选定将用于生成输出112的世界。如上所述,如本文中所使用的术语“世界”可用于指代可应用于数据110并可用于生成输出112的可视化和/或主题的类型或类别。各世界可包括用于以二维(“2D”)或三维(“3D”)可视化来可视化数据110,从而指定输出112的字体和字体格式、图像和图像格式、动画、背景、音频效果、文本框尺寸和布局、文档布局、或其他方面的指令。然而,应理解,“世界”不必限于为模板。相反,在本文中描述的各实施例中,世界不是模板,而改为定义可应用于数据110以获得输出112的各可视化事实或方面,如本文中所描述的。例如,在一些实施例中,“世界”包括指导将如何处理和显示数据110的可视化、样式和调谐规则的聚集。本文中公开的世界的附加方面在以下参考图2另外详细描述。
[0042]世界中的一些或全部可与规则集相关联。这些规则的附加方面在以下参考图2详细描述。简言之,这些规则可定义世界的各个方面如何被应用于数据(诸如数据110)。规则的一些附加方面以及这些规则可如何被使用的一些示例在以下参考图2更详细地阐述。计算设备102可被配置成获得与所选定的世界相关联的规则(如果可用的话),并将那些规则应用于数据110以获得输出112。计算设备102可因此生成输出112并将输出112呈现给用户或其他实体。输出112还可按需被保存到数据存储设备。
[0043]如以下将更详细解释的,尤其参考图5,计算设备102和/或在其上执行的变换引擎108可被配置成在数据110改变的情况下更新输出112。例如,计算设备102可评估被选来表示数据110的先前版本的世界;在合适的情况下基于更新来采用新世界,或仅更新输出112以反映数据110的经修改版本。更新输出112可包括但不限于,在世界中对数据中的一些或全部再次进行布置,以使这些更新适应数据110。如果期望的话,可生成用于添加新数据的动画。例如,输出112中的元素可被移动以腾出空间来适应新数据元素。计算设备102还可被配置成支持显式地采用不同世界以呈现用多个世界生成的输出112以便允许对偏好世界的用户选择等的用户请求。
[0044]根据本文中公开的概念和技术的一些实施例,计算设备102还被配置成获得用户反馈并将用户反馈应用于输出112。在一些实施例中,用户反馈包括对各种提示或问题的用户响应。例如,计算设备102可将问题呈现给用户或其他实体来评估输出112的各个方面。在一些实施例中,计算设备102要求或提示用户或其他实体通过表达是喜欢还是不喜欢特定方面来得到关于色彩、色彩方案、字体、布局、元素位置、图像尺寸、重要性、重点、数据安排或输出112的其他方面的反馈。
[0045]除了提示来得到反馈外或作为其替换,计算设备102还可被配置成为用户生成关于输出112的各个方面的问题。例如,计算设备可询问特定方面是被喜欢还是不被喜欢、或是好还是不好等。应理解,反馈、问题、或提示等可被格式化为具有二态的是/否、喜欢/不喜欢或真/假回答的问题。这些问题或提示还可请求各个范围的排名,诸如例如为诸如一到十的数值范围、诸如“A”到“F”的字母等级、或星数等。用户可提供关于输出112的完整性的这种和/或其他类型的反馈,和/或计算设备102可被配置成要求用户表达关于输出112的个别部分或成份的反馈。例如,计算设备102可被配置成询问喜欢还是不喜欢输出112,或者询问喜欢还是不喜欢特定字体、色彩方案、和/或输出112的其他方面或成份。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0046]计算设备102可被配置成评估来自用户的反馈,并基于反馈来确定是否要修改输出112。例如,如果从用户或另一实体接收到的反馈指示色彩方案“不被喜欢”,则计算设备102可改变色彩方案。类似地,“喜欢”可用于修改输出112,使得输出112的被用户或其他实体喜欢的各方面可在输出112中被重复,和/或可在将来被用于生成其他输出112。由此,可领会,可基于反馈来修改输出112的各方面。代替仅更新当前输出112和/或其被查看元素或除其以外,由于偏好可被反馈回规则系统,因此相对于输出112的任何特定实例表达的偏好还可具有跨该世界一致的效果。
[0047]在一些实施例中,反馈还可用于修改被选来表示数据110的世界和/或调整与该世界相关联的各个参数或属性。因此,反馈可用于确定在所选的世界中如何表示数据110和/或在所选世界内如何应用各种变型。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0048]图1示出一个计算设备102、一个网络104、以及一个数据源114。然而,应该理解,操作环境100的一些实现包括多个计算设备102、多个网络104、零个或多个数据源114和/或另外的或替换的硬件元件。因此,所示实施例应该被理解为说明性的,并且不应该被解释为以任何方式构成限制。
[0049]现在转向图2,将根据说明性实施例详细描述变换引擎108的附加方面。如以上参考图1所解释的,变换引擎108可被配置成将数据110变换成输出112。在一些实施例(诸如图2中示出的实施例)中,变换引擎108包括用于提供本文中描述的关于变换引擎108和/或计算设备102的功能的多个模块、应用、程序、软件、或其他计算机可执行指令。另外地或替换地,变换模块108还可包括如将在本文中更详细描述的其他数据。
[0050]在所示的实施例中,变换引擎108包括剖析和理解模块200、变型模块202、世界选择器模块204、规则206、创作模块208、世界210、和其他数据或指令(未示出)。虽然图2中未示出,但变换引擎108还可包括用于创作、创建和/或保存规则206的设计规则模块。由此,变换引擎108可被配置成通过执行计算机可执行代码或指令的一个或多个部分来将数据110变换成输出112。应理解,本文中描述的关于图2中示出的各个模块和其他数据的各个功能可由单个应用、模块、程序或其他软件或数据等来提供,所示的实施例是说明性的,而不应以任何方式被解释为构成限制。
[0051]剖析和理解模块200可被配置成分析数据110。如以上所解释的,可完成对数据110的分析以理解数据110的各个数据元素或其他部分之间的关系。更具体地,在一些实施例中,数据110是以基于流的格式来安排的和/或不是以任何特定格式来安排的。剖析和理解模块200可应用用于解释数据110的各种规则以标识各数据之间的关系。例如,如果演示或其他文档的多个页面包括相似或相同的标题,则剖析和理解模块200可被配置成确定这多个页面彼此相关。类似地,如果一个页面上的标题与第二页面上的标题相似,但还包括文字“继续的”或诸如“cont’ d(继续的)”的缩写,则剖析和理解模块200可确定这些页面是相关的。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0052]在一些实施例中,剖析和理解模块200可被配置成确定项目符号列表或标号列表中的各元素彼此相关和/或与这些列表的导标相关。在一些其他实施例中,剖析和理解模块200可被配置成确定:相同或相似图像周围的文本是相关的;具有相似或相同引用或脚注的文本是相关的;和/或数据110的其他元素或部分彼此相关。在一些其他实施例中,剖析和理解可包括图像分析。例如,图像可被分析以检测正面、突出区域、(其上可放置文本的)不变区域、成份分析、或图像的其他方面。解释数据110的各种规则可被剖析和理解模块200应用。因为构想了用于标识关系的其他过程或规则,所以应当理解这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0053]变型模块202可被配置成为用户或其他实体生成区别化输出112。具体地,变型模块202可应用动画、视觉效果、设计、主题或其他变型方面的变型。这些变型可被应用于数据110以创建可用于使得计算设备102的每一输出112看上去唯一的区别。如以下参考图3更详细描述的,这些变型可被应用于数据110。在一些实施例中,通过修改或调整与被选来表示数据110的世界210相关联的一个或多个属性或参数可将变型引入输出112。
[0054]世界选择器模块204可被配置成评估并选定要应用于数据110的世界。如以上所解释的,“世界”可包括用于呈现可被存储、选择和/或应用于数据110以获得输出112的数据的主题、模型、方案或其他方法。在一些实施例中,世界是可扩展的。具体地,第三方或其他实体可创建新的或附加的世界210并可定义数据110可如何被应用于世界210。
[0055]世界选择器模块204可被配置成考虑数据110的各方面,并基于所确定的最适合数据110的世界210来确定要将什么视觉化模块和/或区别应用于数据110。在一些实施例中,世界选择器模块204被配置成确定可用于表示数据110的任何世界210。因此,可将被确定为是表示数据110的较差选择的世界210从可能的世界210的组中排除。世界选择器模块204可基于各种考虑对可能的世界进行排名,如以下参考图4更详细解释的。基于该排名,世界选择器模块204可选择要对其应用数据110的世界210。在一些实施例中,世界210由变换引擎108来存储,如图2所示。世界选择器模块204可考虑例如数据110的形状、数据110内标识的分层结构、和数据110的其他方面。
[0056]如上所述,数据110可包括各种数据元素212。因此,尽管本文中描述了对数据110的各种操作和/或分析,但应理解,可对数据元素212采取这些和/或其他操作。因此,世界选择器模块204可例如考虑各数据元素212之间的关系和/或各数据元素212间的分层结构以对世界210进行排名并选择世界210。选择世界210的这些或其他方面在以下参考图3进一步详细地阐述。
[0057]此外,世界选择器模块204被配置成在各种时间确定被选为表示数据110的世界210是否应该被修改或改变。因此,例如,如果数据110被更新则世界选择器模块204可被调用,以通过将数据I1的经修改版本应用于所选定的世界210来确定是否要改变同一世界210或者是否要改变输出112。以下参考图5示出并描述了更新世界210的附加方面。
[0058]规则206可包括被配置成转换数据110的自适应规则,其可基于所选定的变型和世界210将任意内容包括在输出112中。换言之,规则206可包括可被应用于数据110以获得输出112的转换类别。因此,在一些实施例中,规则206包括针对每一世界210的一个或多个规则集,并且规则206由计算设备102基于哪个世界210被选定来选择。由此,规则206可以是用于将数据110变换或转换为输出112的定制操作、步骤或规则。应理解,数据110可能并非总是为到输出112的直接转换。具体地,数据110的内容或布局可在数据110到输出112的转换期间被操纵。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0059]规则206可用于选择数据110的部分(例如以下更详细描述的数据元素212),这些部分将被包括在输出112的布局或其他形式中。具体地,规则206可用于为输出112中的每一视图选择信息或数据元素212,并定义在与所选定的世界相关联的布局、视图或其他输出112内的任何给定位置处,什么类型的信息和/或什么数据元素212被需要、期望或是适合的。开发者或其他实体可通过规则206来指定在每一视图或布局中将呈现什么信息。
[0060]规则206还可用于确定为输出112选择的数据元素212或其他信息的流动、进展和/或布局。具体地,计算设备102可应用规则206以在变换引擎108生成与输出112相关联的布局时提供决策制定能力。布局可定义在屏幕上的什么网格单元中使用什么类型的信息或数据元素212 (或使用用于将数据元素212放置在屏幕上的其他方法来定义数据元素212的位置),而规则206可定义一旦信息被放置在布局中后如何修改信息流(在风格上或其他方面,例如尺寸、形状、或信息的其他方面)。,在一些情况下,规则206还可处理在信息流超过预定的默认布局时如何调整布局。
[0061]规则206还可被应用于数据110以升级或以其他方式修改数据元素212中的一个或多个或要被包括在输出112中的其他信息。因此,可领会,世界针对任何类型的数据110的流处理行为可通过修改与世界相关联的规则206来改变。具体地,规则206可用于改进、升级或以其他方式修改数据110的数据元素212或其他部分。例如,如果数据元素212包括低分辨率图像,则升级图像元素212可包括用具有较高分辨率的图像来替换该低分辨率图像、或将图像处理(诸如模糊等)应用于该图像以创建艺术表示等。
[0062]类似地,如果数据元素212包括数据表,则更新或改善数据元素212可包括用图形来替换该数据表。这些和/或其他类型的升级、改善和/或其他修改可通过规则206来控制。因此,可给予设计者表达将如何使用可用的工具集来升级或以其他方式来修改特定类型信息的能力,诸如,升级图像、转换为图形等。在一些实施例中,设计者可在应用各种规则206之前表达这些规则206,如本文中所描述的。由此,应当理解,对规则206的表达可在几乎任何时间发生,并且对规则206的利用可在几乎任何时间发生,包括规则206已被表达了很长时间后。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0063]规则206还可被应用于数据110以对输出112的一个或多个布局或其他形式进行评分。具体地,规则206可用于通过提供关于给定布局的信息如何被处理以及质量条是否已被满足的反馈来促成对布局的选择。可获得世界内的每一布局的精确分数并可通过规则集206调整这些分数,而无需重新编译代码库。
[0064]规则206还可用于对变换引擎108所考虑的各个世界210进行评分,并且这些分数可被传递给世界选择器模块204来对所考虑的那些世界210进行评分。具体地,规则206可用于通过生成关于信息被置于各世界210中的适合的质量的反馈来促成对世界210之一的选择。这些规则206可能无法作出关于世界排名的最终决定,但可以作为提供有助于作出该决定的信息的组件。每一世界210的描述该世界210对信息集的适合的精确得分可被获得,并且这些得分可使用规则集206来进行调整,而无需重新编译代码库。以下参考图4-5示出并描述了对世界210进行排名并选择世界210的附加方面。
[0065]根据变换引擎108的各种实现,规则206可由设计者、用户或其他实体来创建、修改和/或删除。由此,规则206可被设计者访问,以按与设计者的工作流适合的方式来表达规则206。在一些实施例中,为用于允许设计者理想地按可视方式来表达所有必要信息以在此列表中提出先前目标的工具。此外,本文中描述了规则206的附加方面,并且由此规则206的以上用途应当被理解为是说明性的,而不应被解释为以任何方式进行限制。
[0066]因此,规则206可被应用来调整通过应用特定世界来呈现数据110的方式。例如,规则206可被应用于数据110以调整文本的可读性。这些调整可基于例如:当字符被布置在单词、句子和段落中时,字样可被读出的相对容易性;长文本框需要为可读以保持读者和/或提升理解的假设;列中的设置文本可提供可改善可读性的短行长的假设;假设与“被强迫调整”或操纵以在左边距和右边距上对齐的文本相比,具有“右边未对”对齐的文本集更可读的规则;引入空白空间、副标题和/或用于分割文本以给予读者的眼睛休息空间以有助于防止疲劳的其他元素的规则;通过基于文本行数来调整前导;通过基于内容量和布局来调整行长;通过基于设备用于查看内容的能力(例如,屏幕尺寸、分辨率、或输入设备等)来调整内容;通过基于内容量来调整字体尺寸;和/或通过对数据应用其他调整或修改。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0067]规则206还可用于改善输出112的清晰度。例如,规则206可用于评估相对于背景图像来读特定文本串有多容易。规则206还可用于:在背景图像和文本之间插入透明域使得文本清晰可读;在文本后面覆盖半透明背景,使得与没有半透明背景相比,该本文更清晰可读;应用用于使整个图像和/或其部分变暗和/或变亮的规则;选择具有优良清晰度的字体尺寸、色彩和类型样式;添加阴影以使得文本更清晰可读;通过重置、选择和/或缩放图像来放置在布局的区域中,使得留出用于具有文本的优良清晰度的文本空间;在文本后面添加细微的透明性;应用相片变暗、曝光或其他图像变换以修改图像;或应用其他调整等。
[0068]规则206还可用于改善输出112的质量。例如,规则206可用于通过基于文本的行数来调整前导,通过应用文本字距调整、文本前导、各种大小的文本的基线对齐等,使文本在网格线上对齐或将文本限制在网格线上和/或调整文本的放置或流动使得文本在网格上视觉地对齐,以定义文本尺寸关系,使得覆盖在图像上的正文副本和标题副本的文本是最优的。规则206还可用于标识相片的结构,使得覆盖内容的相片涉及相片中的底层结构。类似地,规则206可用于确保文本框彼此对齐和/或与其他文本对齐,使得文本框一起流动以确保取决于可变串的合适的放置、对齐。此外,在图像本身中呈现的结构要么可相对于布局中的文本来定位,要么本身可引导文本在给定布局中的放置。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0069]规则206也可用于调整图像。例如,规则206可用于基于一个或多个突出区域来提供对图像的裁剪,升级图像、在一个或多个方向上裁剪和/或避免裁剪图像和/或为此图像定向。在用于实现一些布局目标时,这样裁剪的图像可在被管控以具有足够高的质量时并且在被世界参数允许时,沿着一条或多条边包括外插和合成的图像数据。
[0070]规则206还可用于搜索和/或生成数据110的汇总。规则206还可用于例如通过使用全球定位系统(“GPS”)或地图数据来升级数据110和/或数据元素212,以获得关于数据110中所引用的场所/位置的附加信息,添加当前统计数据和/或其他类型的实况内容,添加诸如评论数、内容已被链接到的次数、内容已被下载的次数等相关信息。规则206还可用于调整数据110和/或数据元素212的大小。这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0071]规则206还可用于影响每一数据元素212如何相对于其他数据元素212移动。例如,在与一些文本进行交互和/或悬停在这些文本上时这些文本可作出反应,移动或动画可受移动速度或正与数据110进行交互的用户的影响,环境运动可被应用直到检测到点击或触摸姿势等。数据元素212的这些和其他移动和/或相对定位可由规则206确定。规则206还可用于确定数据元素212的次序、内容如何被导航到(例如,多次点击、滑动、或导航经过屏幕等)。
[0072]如上所述,规则206还可用于在数据110的数据元素212和/或其他部分中创建变型。规则206可基于什么数据110或数据元素212围绕特定数据部分或数据元素212来应用一些变型。变型还可基于内容。例如,如果数据110对应于基于时间线的数据,则世界或布局可基于很少图像被包括的假设或识别来选定。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0073]规则206还可用于选择、调整大小和/或以其他方式格式化字样和/或与文本相关联的其他设置。例如,规则206可用于为文本或附近的域选择突出显示的色彩和/或互补色。规则206还可用于基于内容的源来定义色彩调色板。例如,色彩方案可基于与特定品牌相关联的色彩方案、或数据110中所包括的色彩方案、或从所包括的图像中提取的色彩方案等来选择。运动还可基于规则206来改变和/或选择。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0074]创作模块208可被配置成分析来自用户或其他实体的有关输出112的反馈214。反馈214可被创作模块208获得,和/或可被变换引擎108获得并被传递给创作模块208。创作模块208可被配置成将反馈214应用于输出112以修改输出112。创作模块208还可被配置成存储反馈214以用于变换引擎108的将来使用。
[0075]因此,虽然图1-2中没有示出,但应理解,用户偏好可由变换引擎108来开发,并可由变换引擎108按需存储和应用。如以上结合基于反馈214来修改输出112所解释的,创作模块208可被配置成进行提示以得到反馈214,或可被配置成从用户或其他实体接收反馈214。可通过推断各简单动作(诸如,选择或重排序等)来提供有关喜欢或不喜欢的反馈214,如对问题的是/否或真/假回答,如诸如星数、范围内的数目、字母等级等排名信息。反馈214可由创作模块208来解释。
[0076]如以上所述,除了基于不喜欢来改变输出112外,创作模块208还可被配置成基于喜欢来修改输出112。具体地,变换引擎108可重复和/或更频繁地使用输出112被用户所喜欢的各个方面。应当理解,用户的喜欢或不喜欢还可被变换引擎108针对其他用户来使用。具体地,变换引擎108可被配置成基于偏好、基于社交联网信息和/或基于其他信息来在各个用户之间识别相似性,并且变换引擎108可将特定用户的偏好应用于被认为或被指示为与该用户相似的另一用户。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0077]鉴于图2的以上描述,应理解,本文中描述的计算设备102可通过执行任何数目的应用、软件组件、模块或其他指令来提供变换引擎108的功能和/或变换引擎108的各个模块的功能。由此,当本说明书提及“计算设备”的功能时,应理解,所描述的功能可包括由本文中描述的软件模块、数据和/或硬件元件中的任一个所提供的功能。此外,应理解,变换引擎108可用作被计算设备102处执行的各个程序调用或访问的技术层。类似地,变换引擎108可用作可被各种应用或设备调用的服务。由此,所描述的各个实施例是说明性的,并且不应该被解释为以任何方式构成限制。
[0078]现在转到图3,将详细描述用于将数据变换为可消费内容的方法300的各方面。应该理解,不一定按任何特定次序来呈现此处公开的方法的操作,并且用替换次序来执行部分或全部操作是可能的且可构想的。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
[0079]还应当理解,所示方法可在任何时间结束而不必被完整地执行。本文中公开的方法的一些或全部操作和/或基本上等效的操作可以通过执行计算机存储介质上所包括的计算机可读指令来执行,如此处定义的。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文是用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子广品、其组合等等。
[0080]因此,应该理解,本文所述的逻辑操作被实现为:(I)一系列计算机实现的动作或运行于计算系统上的程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。因此,此处描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
[0081]出于示出并描述本公开的概念的目的,本文中公开的各方法被描述为由计算设备102通过执行计算机可执行指令(诸如例如,变换引擎108)来执行。如以上结合图2来解释的,变换引擎108可包括可被计算设备102执行和/或使用来提供本文中描述的功能的各模块和/或其他数据。应理解,附加或替换设备可通过执行除变换引擎108以外或作为其补充的指令来提供本文中描述的功能。由此,应当理解,所描述的实施例是说明性的,而不应被视为以任何方式进行限制。方法300开始于操作302,在操作302,计算设备102获得数据110。如上所述,数据110可包括各种类型的信息或内容,诸如例如:媒体文件,包括但不限于视频文件、动画文件、幻灯片显示文件、图像文件、音频文件、其他媒体文件等;文本文档;纯文本;网页、web内容、或富文本等;和/或其他类型的信息。在所构想的一个实施例中,数据110对应于演示文件,诸如由来自华盛顿州雷蒙德市的微软公司的演示软件产品的MICROSOFT POWERPOINT家族成员所生成的文件。鉴于各种类型的信息可被提供为数据110,应该理解,这个实施例是说明性的,而不应被解释成以任何方式构成限制。
[0082]根据各种实现,数据110是从与计算设备102相关联的数据存储设备或组件中获得的。以下参考图6-8更详细地描述数据存储设备的一些示例。在一些其他实施例中,数据110可被存储在诸如数据资源114的远程存储设备或资源中,如本文中所描述的。因此,数据110可被计算设备102通过与数据源114进行通信来获得。由此,应当理解,数据110可通过直接连接、通过一个或多个网络、和/或通过其他节点、设备和/或设备组件从任何实际或虚拟设备处获得。
[0083]方法300从操作302行进到操作304,在操作304,计算设备102可标识数据110的各数据元素或其他部分之间的关系。一些类型的信息以及数据110的一些实施例可以按基于流的安排来安排或组织,和/或可以其他方式不按逻辑和/或分层安排来安排。例如,诸如文字处理文档或演示的文档的每一幻灯片或页面可包括数据元素212,诸如标题、文本的一个或多个段落、一个或多个句子、一个或多个单词、一个或多个项目符号点、一个或多个标号列表、一个或多个表格、一个或多个图像和/或其他对象。在一些实例中,每一幻灯片或页面可涉及或提出不同的主题或子主题。在一些其他实例中,每一幻灯片或页面可涉及相同或相似的主题。操作304可包括确定和标识数据110的各个数据元素212或其他部分之间的关系。在一些实施例中,计算设备102通过执行剖析和理解模块200来提供本文中描述的与操作304有关的功能。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0084]在所构想的一个示例中,有十页的文档可在每一页上包括标题。该标题可由标有“标题”的框或域来指示,和/或可基于信息的位置、格式、尺寸、色彩、内容或其他方面而被确定为包括标题。由此,如果十页中的三页包括相同或相似的标题信息,则这三页可被认为是相关的,并且这三页上的信息可被确定为共享与标题的关系。在另一示例中,计算设备102可被配置为将导标下面的标号列表或项目符号列表认为与该导标相关。类似地,计算设备102可被配置为将列表内的标号项或项目符号项认为是彼此相关的。
[0085]因此,可领会,在操作304中,可使用文本、图像或其他数据的位置、尺寸、格式、内容和/或其他方面以及该数据相对于文档中的其他数据的相对定位、位置、格式、尺寸、内容或其他方面来确定数据之间的关系。由于构想了用于标识数据110的各个数据元素或其他部分之间的关系的许多其他方法,应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0086]方法300从操作304行进至操作306,在操作306,计算设备102确定要应用于数据110的各变型。在操作306,计算设备102可检查在操作304确定的关系以确定要如何呈现数据110。具体地,计算设备102可检查与数据110相关联的各个因素并确定如何将各变型添加到数据110。因此,例如,计算设备102可确定可被应用于数据110的视觉效果、设计和/或其他变型,以按各种方式来呈现在操作304确定的各关系。在所构想的一个实施例中,计算设备102通过执行以上参考图2更详细示出和描述的变型模块202来提供本文中结合操作306来描述的功能。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0087]方法300从操作306行进到操作308,在操作308,计算设备102选定用于呈现数据110的世界210。以下参考图4示出并描述选择世界210的附加方面。简言之,如上所述,本文中使用的术语“世界”可包括可应用于数据110并用于生成输出112的可视化和/或主题的类型。在操作308,计算设备102可基于数据110的各个方面、在操作306标识出的变型、各数据元素212之间的关系和/或基于其他考虑来选择世界210。例如,计算设备102可被配置成检查:数据110的形状,诸如例如数据110的覆盖状态或品质;诸如演示或文档的数据110的长度;数据110中的文本图像比;数据110中的图像或其他媒体对象的数量;数据110中的文本字符、文字、句子、或段落等的总数;输出112的预期观众;用于查看输出112的预期地点;预期用于查看输出112的预期显示媒体(诸如显示设备);可查看输出112的位置;数据110内和/或各数据元素212之间的分层结构;在查看输出112或与输出112进行交互时可使用的输入机制;视觉对象或其他数据元素212(诸如,文本、或图像等)的相对尺寸;和/或数据110的其他方面。
[0088]在选择世界210时,计算设备102可考虑多个世界210,或可标识适合数据110和/或所确定的数据110和/数据元素212的关系、分层结构、样式、形状和/或其他方面的单个世界210。因此,操作308可包括:从多个可用世界210中选择最高排名的世界210、基于各变型标识出单个世界210或接收指定特定世界210的输入。在所构想的一个实施例中,计算设备102通过执行世界选择器模块208来提供本文中结合操作308来描述的功能。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0089]方法300从操作308行进到操作310,在操作310,计算机设备102获得与所选定的世界210相关联的规则206。在操作310,计算设备102可将与所选择的世界210相关联的规则206应用于数据110。通过将规则206应用于数据110,计算设备102可被配置成按所设计的方式来呈现数据110。具体地,规则206可在特定世界210中指定如何呈现数据110。因此,操作310可包括至少部分地基于在操作308所选定的世界210来获得规则206。
[0090]方法300从操作310行进到操作312,在操作312,计算机设备102应用在操作310获得的规则206。如上所述,计算设备102可将规则206应用于数据110以用与在操作308所选定的世界210相关联的格式或形式来格式化数据110。例如,规则206可定义文本将被呈现的字体、所显示的图像的尺寸或用于修改数据110以获得输出112的其他指令。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0091]方法300从操作312行进至操作314,在操作314,计算机设备102生成输出112。在操作314,计算设备102可将在操作306-312标识出的变型、世界210、和规则206应用于数据110。方法300从操作314行进至操作316,在操作316,计算机设备102呈现输出112。输出112可被呈现在例如与计算设备102和/或另一设备相关联的显示设备上。在一些实施例中,计算设备102可被配置成将输出112保存到数据存储设备以供稍后查看或演示,但是图3中没有示出这样的操作。出于描述本文中公开的概念和技术的各个实施例的目的,方法300是结合输出112被显示在与计算设备102相关联的显示设备上的实施例来描述的。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0092]方法300从操作316行进到操作318,在操作318,计算设备102基于在计算设备102处接收到的反馈214来确定是否要修改用于生成输出112的数据或关系。因此,尽管图3中没有示出,但方法300可包括用于在计算设备102处接收反馈214和/或用于提示用户或其他实体以得到关于输出112的反馈的操作。在一些实施例中,例如,输出112被呈现并且用户被提示以获得关于输出112的反馈214。例如,可向用户询问输出112是否是视觉上吸引人的、喜欢还是不喜欢特定色彩、喜欢还是不喜欢这些元素的布局、和/或其他问题。在一些实施例中,计算设备102接收关于输出112的几乎任何方面的反馈214和/或评论。
[0093]响应于在计算设备102处接收到的反馈214,计算设备102可确定要修改用于生成输出112的数据或关系。例如,计算设备102可响应于反馈214来确定要修改输出112的色彩、布局、色彩方案、主题、样式或其他方面,并可基于该确定来确定要修改用于生成输出112的那个方面的数据元素或关系。应当理解,在确定要修改用于生成输出112的数据或关系时,计算设备102可确定可改变在操作304确定的数据110和/或关系或分层结构以及在操作308选定的世界210以及输出112的其他方面。由于输出112的几乎任何方面都可被改变,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
[0094]如果计算设备102在操作318确定要修改输出112,则方法300行进到操作320,在操作320,计算设备102修改用于生成输出112的数据或关系。对数据或关系的修改可包括:强调或不再强调文本;重新调整文本的大小;重新调整图像的大小;改变文本或图像的格式;改变文本字体、尺寸或色彩;改变世界210 ;改变可视化样式;改变变型或变型的类型;和/或以其他方式修改用于生成输出112的数据或关系。由于可对用于生成输出112的数据或关系作出另外的或替换的修改,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
[0095]该方法从操作320返回到操作312,在操作312,将规则206再次应用于数据110。由此,可领会,方法300的操作312-320可被重复,直到在操作318的任何迭代中,计算设备102确定不要修改用于生成输出112的数据或关系。如果计算设备102确定不要修改用于生成输出112的数据或关系,则方法300行进到操作322。方法300在操作322处结束。
[0096]现转至图4,详细描述了选定世界210的附加方面。具体地,图4示出了根据一些说明性实施例的用于对世界210进行排名并选择用于将变型引入数据110的世界210的方法400的各方面。应该理解,图4中示出的方法400可但不一定由计算设备102在图3所示的方法300的操作308中执行。因此,所示出的实施例应当被理解为是说明性的,并且不应被解释为以任何方式构成限制。
[0097]方法400开始于操作402,在操作402,计算设备102为数据110标识可能的世界210。如上所述,计算设备102可被配置成检查:数据110的形状,诸如例如数据110的覆盖样式或品质;诸如演示或文档的数据110的长度;数据110中的文本图像比;数据110中的图像或其他媒体对象的数量;数据110中的文本字符、文字、句子、或段落等的总数;数据110中包括的图像的类型,诸如例如高分辨率图像、低分辨率图像、或具有脸的图像等;输出112的预期观众;用于查看输出112的预期地点;预期用于查看输出112的预期显示媒体(诸如显示设备);可查看输出112的位置;数据110内和/或各数据元素112之间的分层结构;在查看输出112或与输出112进行交互时可使用的输入机制;视觉对象或其他数据元素212 (诸如,文本、或图像等)的相对尺寸;和/或数据110的其他方面。因此,计算设备102可分析数据110以编译描述由计算设备102获得的数据110的类型的属性列表。
[0098]至少部分地基于数据110的形状,计算设备102可确定可用于表示数据110的世界210。在一些实施例中,计算设备102可排除被计算设备102确定为对于正被分析的类型的数据110而言较差或不适当的世界210。例如,如果数据110包括大文本框和几个低分辨率图像,则被设计用于呈现多个具有很少文本的高分辨率图像的世界210可能被计算设备102确定为对于表示数据110而言是较差的选择。可以定义用于确定可能的世界210的阈值。例如,计算设备102可被配置成忽略或排除被确定为与所定义的阈值相比较不适当的世界210。可基于文本图像比、文本字符数与文本空间的比率、其他比率、和/或其他非比率考虑等将该阈值应用于恰当性。由此,在操作402编译的可能的世界210的列表可包括零个世界210、一个世界210和/或一个以上的世界210。
[0099]方法400从操作402行进至操作404,在操作404,计算设备102对可能的世界210进行排名。在一些实施例中,计算设备102可确定使世界210与数据110相关的恰当性级别或因素。该恰当性因素可基于所确定的数据110的形状以及世界210如何基于一个或多个规则对确定的形状而言是恰当的或不恰当的。可基于数据110和/或标识出的关系来确定可能的世界210中的每一个的各个方面,并可对每一世界210进行排名。
[0100]例如,特定世界210可被确定为对于具有2:1或更高文本图像比以及15个单词或更低平均句子长度的数据I1而言是恰当的。如果数据110具有1.8:1的文本图像比以及18个单词的平均句子长度,则世界210可被确定。被确定为对于具有1.5:1或更高图像比同时具有20个单词或更低平均句子长度的数据110而言是恰当的另一世界210与以上讨论的第一示例世界210相比可被排名的更高。由于在对世界210进行加权和/或排名时可考虑数据形状的许多其他方面,因此该示例应该被理解为是说明性的,而不应被解释为以任何方式构成限制。
[0101]方法400从操作404行进到操作406,在操作406,计算设备102可基于排名来选择世界210。在一些实施例中,可选定最高排名的世界210。在一些实施例中,如果多个世界210被相同地或实质上相似地排名,则用户可选择世界210,该世界210可从具有相同或相似排名的各世界210中随机地选定,或者其他考虑可提示选择有最高排名的世界210。
[0102]方法400从操作406行进到操作408,在操作408,计算设备102输出所选择的世界210和/或指示计算设备102所选择的世界210的数据。由此,计算设备102可生成指示将使用什么世界210来将数据110变换成输出112的数据。
[0103]方法400从操作408行进至操作410。该方法可在操作410结束。在其中本文中参考图4来描述的功能由计算设备102与方法300的操作308相关联地执行的一些实施例中,计算设备102可在执行了方法400后在操作310恢复对方法300的执行。由于方法400可能与方法300的执行相关联或者可能不与其相关联,因此应该理解,这个实施例是说明性的,而不应被解释成以任何方式构成限制。
[0104]图5示出了根据一些说明性实施例的用于改变用于将变型引入数据110的世界210的方法400的各方面。应该理解,所示的方法400的实施例是说明性的,并且不应被解释为以任何方式构成限制。方法500在操作502开始,在操作502,计算设备102确定是否检测到新内容。具体地,计算设备102可确定是否已发布、检测到或接收到数据110的新版本;是否已发布、检测到或接收到新数据元素212 ;和/或是否已接收到或检测到指示新数据110和/或新数据元素212的通知。
[0105]在一些实施例中,数据110可包括或可对应于:数据馈源,诸如RSS馈源;网络日志、文章、社交网络发帖、或网站等的评论部分;实时消息馈源,诸如由TWITTER实时消息收发服务提供的消息收发馈源;相册或相片馈源;或可随时间改变的其他数据110。由此,计算设备102可订阅该馈源以获得或检测更新,或者可从其他设备接收数据已改变的通知。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0106]如果计算设备102确定数据110尚未改变,则方法500可返回操作502,在操作502,计算设备102可再次确定数据110是否已改变。因此,对方法500的执行可在操作502处停止,直到数据更新被检测到。如果计算设备102在操作502的任何迭代中确定数据110已改变,则方法500行进至操作504。
[0107]在操作504,计算设备102可确定是否要改变世界210。在一些实施例中,操作502的功能可被忽略,并且方法500可以以本文中参考操作504描述的功能开始。由此,应当理解,在一些实施例中,世界210要被改变的指示可来自用户或其他实体的改变用于表示数据110的世界210的显式命令。
[0108]在一些其他实施例中,计算设备102可在检测到对数据110的改变之际,检查世界210并确定对数据110作出的改变是否指示要改变所选定的世界210。要改变世界210的确定可基于任何数量的考虑来作出,诸如例如,对可用特定世界210来表示的最大数目的元素的指示、数据类型的改变、或更新频率的改变等。因为用于确定是否要改变世界210的其他方法被构想并且是可能的,因此应当理解,这些用于作出这样的确定的实施例是说明性的,而不应被解释为以任何方式构成限制。
[0109]如果计算设备102在操作504确定不要改变世界210,则方法500可返回到操作502,在操作502,计算设备102可再次确定数据110是否已改变。虽然图5中未显式地示出,但规则206可被重新评估和/或世界510可被改变以适应数据110的改变。因此,对方法500的执行可重复操作502-504,直到计算设备102在操作504的任何迭代中确定要改变世界210。如果计算设备102在操作504的任何迭代中确定要改变世界210,则方法500行进至操作506。
[0110]在操作506,计算设备102可对用于呈现数据110的可能的世界210进行排名。因此,虽然图5中未示出,但计算设备102可再次标识所有可能的世界210,并可基于新的数据110或经更新的数据110来对可能的世界210进行排名。应当理解,计算设备的对可能的世界210进行排名的功能可以(但不一定)与如图4所示的对可能的世界210进行排名相似或甚至相同。
[0111]方法500从操作506行进到操作508,在操作508,计算设备102基于该排名来选择世界210。方法500从操作508行进至操作510,在操作510,计算机设备102输出所选择的世界210。应该理解,计算设备的如操作508-510所示的用于选择世界210并输出所选择的世界210的功能可以但不一定与以上参考图4的操作406-408示出并描述的对世界210进行排名并选择世界210相似或甚至相同。方法500从操作510行进至操作512。该方法可在操作512处结束。
[0112]如上所述,但未在图5中显式地示出,世界210可基于反馈214而改变。因此,例如,用户喜欢和/或不喜欢可用于确定新世界210将被选择用于表示数据110。另选地或替换地,用户可指定数据110将被显式地加载到新世界210中。因此,计算设备102可被配置成呈现被加载到多个世界210中的数据110的各表示,并且用户或其他实体可基于这些表示来选择期望世界210。因为用于基于反馈214和/或其他输入来改变世界的其他方法被构想并且是可能的,因此应当理解,这些输入的实施例是说明性的,而不应被解释为以任何方式构成限制。
[0113]图6示出能够执行本文所描述的用于在将数据变换成可消费内容时创建变型的软件组件的设备的说明性计算机体系架构600。由此,图6所示的计算机体系结构600示出服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、和/或膝上型计算机的体系结构。计算机体系结构600可用于执行本文所呈现的软件组件的任何方面。
[0114]图6所示的计算机体系结构600包括中央处理单元602 ( “CPU”)、包括随机存取存储器606 ( “RAM”)和只读存储器(“ROM”)608的系统存储器604、以及将存储器604耦合至CPU 602的系统总线610。基本输入/输出系统被存储在ROM 608中,该系统包含帮助诸如在启动期间计算机体系结构600中的元件之间传递信息的基本例程。计算机体系结构600还包括用于存储操作系统106以及一个或多个应用程序的大容量存储设备612,这些应用程序包括但不限于变换引擎108。尽管未在图6中示出,但大容量存储设备612还可被配置成存储数据110、输出112、规则206、世界210、数据元素212、反馈214和/或其他应用、模块或本文中描述的其他信息。
[0115]大容量存储设备612通过连接至总线610的大容量存储控制器(未示出)连接至CPU 602。大容量存储设备612及其相关联的计算机可读介质为计算机体系结构600提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机体系结构600访问的任何可用计算机存储介质或通信介质。
[0116]通信介质包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
[0117]作为示例而非限制,计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、R0M、EPR0M、EEPR0M、闪存或其他固态存储器技术、⑶-R0M、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机体系结构600访问的任何其他介质。为了权利要求书的目的,短语“计算机存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质本身。
[0118]根据各实施例,计算机体系架构600可以使用通过诸如网络104之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机体系结构600可以通过连接至总线610的网络接口单元614来连接到网络104。应当明白,网络接口单元614还可以被用来连接到其它类型的网络和远程计算机系统,例如,数据源114。计算机体系结构600还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器616,这些设备包括键盘、鼠标、或电子指示笔(在图6中未示出)。类似地,输入/输出控制器616可提供到显示屏、打印机、或者其他类型的输出设备(在图6中也未示出)的输出。
[0119]应当理解,本文所描述的软件组件在被加载到CPU 602中并被执行时可以将CPU602和总体计算机体系结构600从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU 602可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地,CPU 602可以响应于包含在本文所公开的软件模块中的可执行指令来作为有限状态机进行操作。这些计算机可执行指令可以通过指定CPU 602如何在各状态之间转换来变换CPU 602,由此变换了构成CPU 602的晶体管或其它分立硬件元件。
[0120]对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体转换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
[0121]作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可包括更改给定磁性介质内的特定位置的磁性特征。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
[0122]鉴于以上内容,应当理解,在计算机体系结构600中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,计算机体系结构600可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可以构想的是,计算机架构600可以不包括图6所示的全部组件,可以包括未在图6中明确示出的其它组件,或者可利用完全不同于图6所示的架构。
[0123]图7示出能够执行本文所描述的用于在将数据变换成可消费内容时创建变型的软件组件的说明性分布式计算环境700。因而,图7所示的分布式计算环境700可被用来提供本文结合计算设备102描述的功能。分布式计算环境700由此可用于执行本文所呈现的软件组件的任何方面。
[0124]根据各种实现,分布式计算环境700包括在网络704上操作、与该网络通信、或者作为该网络的一部分的计算环境702。网络704还可包括各种接入网络。根据各种实现,网络704的功能由图1和6所示的网络104提供。一个或多个客户机设备706A-706N(下文统称和/或一般地称为“客户机706”)可以经由网络704和/或其他连接(图7中未示出)与计算环境702通信。在所示的实施例中,客户机706包括:诸如膝上型计算机、台式计算机、或其他计算设备之类的计算设备706A ;板式或平板计算设备(“平板计算设备”)706B ;诸如移动电话、智能电话、或其他移动计算设备之类的移动计算设备706C ;服务器计算机706D ;和/或其他设备706N。应当理解,任意数量的客户机706可与计算环境702通信。在本文中参考图6和6示出并描述客户机706的两个示例计算体系结构。应当理解,所示客户机706以及本文中示出和描述的计算体系结构是说明性的,并且不应被解释为以任何方式进行限制。
[0125]在所示的实施例中,计算环境702包括应用服务器708、数据存储710、以及一个或多个网络接口 712。根据各种实现,应用服务器708的功能可由作为网络704—部分执行或者与该网络通信的一个或多个服务器计算机提供。应用服务器708可主存各种服务、虚拟机、门户、和/或其他资源。在所示的实施例中,应用服务器708主存一个或多个虚拟机714以供主存应用或其他功能。根据各个实现,虚拟机714主存用于提供本文描述的用来在将数据变换成可消费内容时创建变型的功能的一个或多个应用和/或软件模块。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。应用服务器708还主存或提供对一个或多个web门户、链接页面、网站、和/或其他信息(“web门户”)716的访问。
[0126]根据各种实现,应用服务器708还包括一个或多个邮箱服务718、以及一个或多个消息收发服务720。邮箱服务718可包括电子邮件(“email”)服务。邮箱服务718还可包括各种个人信息管理(“PM”)服务,包括但不限于日历服务、联系人管理服务、协作服务、和/或其他服务。消息收发服务720可包括但不限于即时消息收发服务、聊天服务、论坛服务、和/或其他通信服务。
[0127]应用服务器708还可包括一个或多个社交网络服务722。社交网络服务722可包括各种社交网络服务,包括但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频、和/或其他信息的服务,用于评论或显示对文章、产品、博客、或其他资源的兴趣的服务,和/或其他服务。在一些实施例中,社交网络服务722可包括脸谱(FACEBOOK)社交网络服务、LINKEDIN专业人士网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公同事网络服务等,或者可由这些服务提供。在其他实施例中,社交网络服务722可以由可以明确或不明确地作为社交网络提供者的其他服务、站点和/或提供者提供。例如,一些网站允许用户在各种活动和/或情境(诸如阅读已发表的文章、评论商品或服务、发表、协作、游戏等)期间经由电子邮件、聊天服务、和/或其他手段彼此交互。这些服务的示例包括但不限于来自美国华盛顿州雷蒙德市微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其他服务也是可能的且是可构想的。
[0128]社交网络服务722还可以包括评论、博客、和/或微博服务。这种服务的示例包括但不限于YELP评论服务、KUDZU查看服务、0FFICETALK企业微博服务、TffITTER消息服务、GOOGLE BUZZ服务、和/或其他服务。应当理解,以上服务列表并非穷尽性的,并且为了简洁起见在本文中未提及多种附加和/或替换社交网络服务722。由此,以上实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0129]如图7所示,应用服务器708还可主存其他服务、应用、门户、和/或其他资源(“其他资源”)724。因此,可领会,计算环境702可以提供本文公开并提供的用于通过各种邮箱、消息、社交网络、和/或其他服务或资源来在将数据变换成可消费内容时创建变型的概念和技术的集成。例如,本文中公开的概念和技术可用于针对用户将社交网络数据或邮箱数据变换成视觉内容。类似地,本文中公开的概念和技术可用于将消息或其他资源变换成视觉内容。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
[0130]如以上所提及的,计算环境702可包括数据存储710。根据各种实现,数据存储710的功能由在网络704上操作的或者与该网络通信的一个或多个数据库提供。数据存储710的功能也可由被配置成主存用于计算环境702的数据的一个或多个服务器计算机提供。数据存储710可以包括、主存或提供一个或多个实际或虚拟数据存储器726A-726N(下文统称和/或一般地称为“数据存储器726”)。数据存储726被配置成主存由应用服务器708使用或创建的数据和/或其他数据。虽然图7中未示出,但数据存储726还可主存或存储本文中描述的数据110、输出112、规则206、世界210、数据元素212、反馈214和/或其他数据、计算机可执行指令、或其他信息。
[0131]计算环境702可与网络接口 712通信或由该网络接口访问。网络接口 712可包括各种类型的网络硬件和软件,以支持包括但不限于客户机706和应用服务器708的两个或更多个计算设备之间的通信。应当理解,网络接口单元712还可用于连接到其他类型的网络和计算机系统。
[0132]应当理解,本文中所描述的分布式计算环境700可向本文中所描述的软件元件的任何方面提供可被配置成执行本文中所公开的软件组件的任何方面的任意数量的虚拟计算资源和/或其他分布式计算功能。根据本文所公开概念和技术的多个实现,分布式计算环境700将本文中所述的软件功能作为服务提供给客户机706。应该理解,客户机706可以包括真实或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话和/或其他设备。这样,本文公开的概念和技术的各个实施例使被配置成访问分布式计算环境700的任何设备能够使用本文中所述的功能来在将数据变换成可消费内容时提供变型。
[0133]现在转到图8,示出能够执行本文所述的用于在将数据变换成可消费内容时提供变型的多个软件组件的计算设备的计算设备体系架构800。计算设备体系结构800可用于部分地由于形状因子、无线连接和/或电池供电操作而便于移动计算的计算设备。在一些实施例中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。此外,计算设备体系结构800可适用于图7所示的客户机806中的任一个。此外,计算设备体系架构800的多个方面可适用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携计算机、以及上网本计算机)、服务器计算机、以及诸如参考图8所描述的其他计算机系统。例如,本文中在以下所公开的单点触摸和多点触摸方面可应用于利用触摸屏或一些其他启用触摸的设备(诸如启用触摸的跟踪板或者启用触摸的鼠标)的台式计算机。
[0134]图8所示的计算设备体系架构800包括处理器802、存储器组件804、网络连接组件806、传感器组件808、输入/输出组件810、以及功率组件812。在所示的实施例中,处理器802与存储器组件804、网络连接组件806、传感器组件808、输入/输出(“I/O”)组件810、以及功率组件812通信。虽然在图8所示的单独的组件之间未示出连接,但是这些组件可交互以实现设备功能。在一些实施例中,这些组件被安排成经由一条或多条总线(未示出)通信。
[0135]处理器802包括中央处理单元(“CPU”),该CPU被配置成处理数据、执行一个或多个应用程序的计算机可执行指令、并且与计算设备体系结构800的其他组件通信以执行本文中所描述的各种功能。处理器802可用于执行本文中所描述的软件组件的多个方面,特别是至少部分地利用启用触摸的输入的那些方面。
[0136]在一些实施例中,处理器802包括被配置成加速由CPU执行的操作的图形处理单元(GPU),包括但不限于通过执行通用科学和工程计算应用以及图形密集的计算应用(诸如高分辨率视频(例如720P、1080P以及更高)、视频游戏、三维(3D)建模应用)等等而执行的操作。在一些实施例中,处理器802被配置成与分立的GPU(未示出)通信。在任一情况下,CPU和GPU可根据共同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行而计算密集部分由GPU加速。
[0137]在一些实施例中,处理器802连同在下文中所描述的其他组件中的一个或多个为片上系统(“SoC”)或者包括在该SoC中。例如,Soc可包括处理器802、GPU、网络连接组件806中的一个或多个、以及传感器组件808中的一个或多个。在一些实施例中,可部分地利用层叠封装(“PoP”)集成电路封装技术来制造处理器802。此外,处理器802可以是单核或多核处理器。
[0138]处理器802可以根据ARM体系结构(可从英国剑桥的ARM HOLDINGS购买许可)来创建。或者,处理器802可以根据x86体系结构(诸如可从加利福尼亚州芒廷维尤的英特尔公司购得)以及其他体系结构来创建。在一些实施例中,处理器802是可从美国加利福尼亚州圣地亚哥市高通公司购得的SNAPDRAGON SoC、可从美国加利福尼亚州圣巴巴拉市的NVIDIA购得的TEGRASoC、可从韩国首尔市三星公司购得的HUMMINGBIRD SoC、可从美国德克萨斯州达拉斯市德州仪器公司购得的开放式多媒体应用平台(“0MAP”)SoC、以上SoC中的任一个的定制版、或者专有SoC。
[0139]存储器组件804包括随机存取存储器(“RAM”)814、只读存储器(“R0M”)816、集成存储器(“集成存储”)818、以及可移动存储存储器(“可移动存储”)820。在一些实施例中,RAM 814或其部分、ROM 816或其部分和/或RAM 814和ROM 816的某种组合可以集成在处理器802中。在一些实施例中,ROM 816被配置成存储固件、操作系统或其一部分(例如,操作系统内核)、和/或从集成存储818或可移动存储820加载操作系统内核的引导装入器(bootloader)。
[0140]集成存储818可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储818可焊接或以其他方式连接到逻辑板,该逻辑板还可连接有处理器802以及本文中所描述的其他组件。由此,集成存储818集成在计算设备中。集成存储818被配置成存储操作系统或其多个部分、应用程序、数据、以及本文中所描述的其他软件组件。
[0141]可移动存储820可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些实施例中,提供可移动存储820来代替集成存储818。在其他实施例中,提供可移动存储820作为附加的任选存储。在一些实施例中,可移动存储820在逻辑上与集成存储818组合,以使全部可用的存储变得可用且示出给用户作为集成存储818和可移动存储820的总组合容量。
[0142]可移动存储820被配置成插入通过其插入和紧固可移动存储820以便于连接的可移动存储存储器槽(未示出)或其他机构,通过该连接可移动存储820可与诸如处理器802之类的计算设备其他组件通信。可移动存储820可以具体化为各种存储器卡格式,包括但不限于PC卡、CompactFlash卡、存储器棒、安全数字(“SD”)、小型SD(miniSD)、微型SD(microSD)、通用集成电路卡(lICC”)(例如,订户身份模块(“SM”)或通用SIM( “USIM))、私有格式等。”
[0143]可以理解,存储器组件804的一个或多个可存储操作系统。根据各个实施例,操作系统包括但不限于来自SYMBIAN有限公司的SYMBIAN OS、来自美国华盛顿州雷蒙德市微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自美国加利福尼亚州帕洛阿尔托市惠普(Hewlett-Packard)公司的PALM WEB0S、来自加拿大安大略省沃特卢市的运动研宄有限公司(Research IN Mot1n Limited)的BLACKBERRY OS、来自美国加利福尼亚州库珀蒂诺市苹果公司的I OS、以及来自美国加利福尼亚州芒廷维尤市谷歌公司的ANDROID OS。可构想其他操作系统。
[0144]网络连接组件806包括无线广域网组件(“WWAN组件”)822、无线局域网组件(“WLAN组件”)824、以及无线个域网组件(“WPAN组件”)826。网络连接组件806便于与网络828的往返通信,该网络可以是WWAN、WLAN、或WPAN。虽然示出单个网络828,但是网络连接组件806可便于与多个网络的同时通信。例如,网络连接组件806可便于经由WWAN、WLAN、或WPAN中的一个或多个与多个网络的同时通信。
[0145]在一些实施例中,网络828的功能由网络104、704中的一个或多个提供。在一些实施例中,网络828包括网络104、704中的一个或多个。在一些其他实施例中,网络828提供对网络104、704中的一个或多个的访问。
[0146]网络828可以是WWAN,诸如利用一种或多种移动电信技术经由WffAN组件822向利用计算设备体系架构800的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)系统、CDMA2000、通用移动电信系统(“■了5”)、长期演进(“1^^’)、以及微波接入全球互通(“WiMax)。”此外,网络828可利用各种信道接入方法(它们可被或可不被上述标准使用),这些信道接入方法包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA ( “W-CDMA”)、正交频分多路复用(“0FDM”)、空分多址(“SDMA)等。”可使用通用分组无线电业务(“GPRS”)、全球演进的增强型数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)的高速分组接入(“HSPA”)协议系列、演进HSPA( “HSPA+”)、LTE、以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络828可被配置成通过以上技术的任意组合提供语音和/或数据通信。网络828可被配置成调适成根据未来的生成技术提供语音和/或数据通信。
[0147]在一些实施例中,WffAN组件822被配置成提供到网络828的双模、多模连接。例如,WffAN组件822可被配置成提供到网络828的连接,其中网络828经由GSM和UMTS技术、或者经由技术的一些其他组合提供服务。替换地,多个WffAN组件822可用于执行这种功能和/或提供附加功能以支持其他非兼容技术(即,无法被单个WWAN组件支持)。WffAN组件822可便于与多个网络(例如,UMTS网络和LTE网络)的类似连接。
[0148]网络828可以是根据一个或多个电气和电子工程师学会(“IEEE”)802.11标准(诸如 IEEE 802.1la,802.1lb,802.Hg,802.1 In、和 / 或未来的 802.11 标准(在此被称为W1-FI))而操作的WLAN。还可构想802.11标准草案。在一些实施例中,利用一个或多个无线W1-FI接入点来实现WLAN。在一些实施例中,用作W1-FI热点的一个或多个无线W1-FI接入点是与WffAN连接的另一计算设备。WLAN组件824被配置成经由W1-FI接入点连接到网络828。可经由加密技术来确保这些连接,这些加密技术包括但不限于W1-FI保护接入(“WPA”)、WPA2、有线等效加密(“WEP)等。”
[0149]网络828可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或者一些其他近程无线技术操作的WPAN。在一些实施例中,WPAN组件826被配置成便于经由WPAN与诸如外围设备、计算机、或者其他计算设备之类的其他设备的通信。
[0150] 传感器组件808包括磁力计830、环境光传感器832、邻近传感器834、加速度计836、陀螺仪838、以及全球定位系统传感器(“GPS传感器”)840。可构想其他传感器(诸如但不限于温度传感器或震动检测传感器)也可结合到计算设备体系结构800中。
[0151 ] 磁力计830被配置成测量磁场的强度和方向。在一些实施例中,磁力计830提供对存储在存储器组件804之一内的罗盘应用程序的测量以向用户提供包括基本方向、北、南、东和西的基准帧中的准确方向。可将类似的测量值提供给包括罗盘组件的导航应用程序。可构想磁力计830所获取的测量值的其他用途。
[0152]环境光传感器832被配置成测量环境光。在一些实施例中,环境光传感器832提供对存储在一个存储器组件804内的应用程序的测量,从而自动地调整显示器的亮度(在下文中描述)以补偿低光和高光环境。可构想环境光传感器832所获取的测量值的其他用途。
[0153]邻近传感器834被配置成检测邻近计算设备而不直接接触的对象或物体的存在。在一些实施例中,邻近传感器834检测用户身体(例如,用户的脸部)的存在性,并且将该信息提供给存储在存储器组件804之一内的应用程序,该存储器组件利用邻近信息来启用或禁用计算设备的一些功能。例如,电话应用程序可响应于接收到邻近信息自动地禁用触摸屏(在下文中描述),以使用户的脸部在呼叫期间不会无意地结束呼叫或者启用/禁用电话应用程序内的其他功能。可构想如邻近传感器834检测到的接近度的其他用途。
[0154]加速度计836被配置成测量准确的加速。在一些实施例中,来自加速度计836的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计836接收到的输入移动或以其他方式操纵字符、其一部分、或者对象。在一些实施例中,将来自加速度计836的输出被提供给应用程序以供在横向和纵向模式之间切换时使用,从而计算坐标加速或检测下降。可构想加速度计836的其他用途。
[0155]陀螺仪838被配置成测量和维持定向。在一些实施例中,来自陀螺仪838的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,陀螺仪838可用于准确地识别在视频游戏应用或一些其他应用的3D环境内的移动。在一些实施例中,应用程序利用来自陀螺仪838和加速度计836的输出来增强对应用程序的一些功能的控制。可构想陀螺仪838的其他用途。
[0156]GPS传感器840被配置成接收来自GPS卫星的信号,以供在计算位置时使用。GPS传感器840计算的位置可被需要位置信息或者受益于该位置信息的任何应用程序使用。例如,GPS传感器840计算的位置可与导航应用程序一起使用,以提供从该位置到目的地的方向、或者从目的地到该位置的方向。此外,GPS传感器840可用于将位置信息提供给基于外部位置的服务,诸如E911服务。GPS传感器840可在获取位置方位时利用网络连接组件806中的一个或多个来辅助GPS传感器840获取经由W1-F1、WIMAX、和/或蜂窝三角测量技术而生成的位置信息。GPS传感器840还可用于辅助GPS( “A-GPS”)系统中。
[0157]I/O组件610包括显示器842、触摸屏844、数据I/O接口组件(“数据I/O”)846、音频I/o接口组件(“音频I/O”) 848、视频I/O接口组件(“视频I/O”) 850、以及相机852。在一些实施例中,显示器842和触摸屏844组合。在一些实施例中,数据I/O组件846、音频I/O组件848、以及视频I/O组件850中的两个或更多个组合。I/O组件810可包括被配置成支持在下文中所描述的各种接口的分立处理器,或者可包括构建到处理器802中的处理功能。
[0158]显示器842是被配置成呈现视觉形式的信息的输出设备。具体而言,显示器842可呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些实施例中,显示器842是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些实施例中,显示器842是有机发光二极管(“OLED”)显示器。可构想其他显示器类型。
[0159]触摸屏844是被配置成检测触摸的存在和位置的输入设备。触摸屏844可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可利用任何其他触摸屏技术。在一些实施例中,触摸屏844结合到显示器842的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器842上所呈现的对象或其他信息交互。在其他实施例中,触摸屏844是结合到不包括显示器842的计算设备的表面上的触摸垫。例如,计算设备可具有结合到显示器842的顶部的触摸屏以及与显示器842相对的表面上的触摸垫。
[0160]在一些实施例中,触摸屏844是单点触摸触摸屏。在其他实施例中,触摸屏844是多点触摸触摸屏。在一些实施例中,触摸屏844被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为姿势。现在将描述若干姿势。应当理解,这些姿势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的姿势、附加姿势、和/或替换姿势可在软件中实现以与触摸屏844 —起使用。由此,开发者可创建特定应用程序专用的姿势。
[0161]在一些实施例中,触摸屏844支持轻叩姿势,其中用户在显示器842上所呈现的项目上轻叩触摸屏844—次。出于各种原因,可使用轻叩姿势,这些原因包括但不限于打开或启动用户轻叩的任何事物。在一些实施例中,触摸屏844支持双轻叩姿势,其中用户在显示器844上所呈现的项目上轻叩触摸屏842两次。出于各种原因,可使用双轻叩姿势,这些原因包括但不限于分多级放大或缩小。在一些实施例中,触摸屏844支持轻叩并保持姿势,其中用户轻叩触摸屏844并维持接触达至少预定义时间。出于各种原因,可使用轻叩并保持姿势,这些原因包括但不限于打开上下文特定的菜单。
[0162]在一些实施例中,触摸屏844支持平移姿势,其中用户将手指放置在触摸屏844上并维持与触摸屏844的接触,同时在触摸屏844上移动手指。出于各种原因,可使用平移姿势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移姿势。在一些实施例中,触摸屏844支持轻拂姿势,其中用户在用户想要屏幕移动的方向上划动(swipe)手指。出于各种原因,可使用轻拂姿势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些实施例中,触摸屏844支持收窄和张开姿势,其中用户在触摸屏844上用两个手指(例如,拇指和食指)进行收窄运动或者将两个手指张开。出于各种原因,可使用收窄和张开姿势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
[0163]虽然已参考将一个或多个手指用于执行姿势来描述了以上姿势,但是诸如脚趾之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏844交互。如此,以上姿势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
[0164]数据I/O接口组件846被配置成便于数据输入到计算设备以及从计算设备输出数据。在一些实施例中,例如出于同步操作的目的,数据I/O接口组件846包括被配置成提供计算设备和计算机系统之间的有线连接的连接器。连接器可以是专有连接器或标准化连接器,诸如USB、微型USB、小型USB等。在一些实施例中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备之类的另一设备对接的对接连接器。
[0165]音频I/O接口组件848被配置成向计算设备提供音频输入和/或输出能力。在一些实施例中,音频I/o接口组件846包括被配置成收集音频信号的话筒。在一些实施例中,音频I/O接口组件846包括被配置成向耳机或其他外部扬声器提供连接的耳机插孔。在一些实施例中,音频接口组件848包括用于输出音频信号的扬声器。在一些实施例中,音频I/O接口组件846包括光学音频电缆输出。
[0166]视频I/O接口组件850被配置成向计算设备提供视频输入和/或输出能力。在一些实施例中,视频I/o接口组件850包括被配置成接收视频作为来自另一设备(例如,诸如DVD或蓝光播放器之类的视频媒体播放器)的输入或者将视频作为输出发送到另一设备(例如,监视器、电视、或者一些其他外部显示器)的视频连接器。在一些实施例中,视频I/O接口组件850包括高清晰度多媒体接口(“HDMI”)、小型HDM1、微型HDM1、显示器端口、或者到输入/输出视频内容的专有连接器。在一些实施例中,视频I/O接口组件850或其一部分与音频I/O接口组件848或其一部分组合。
[0167]相机852可被配置成捕捉静止图像和/或视频。相机852可利用电荷耦合设备(“CXD”)或互补金属氧化物半导体(“CMOS)图像传感器来捕捉图像。”在一些实施例中,相机852包括在低光环境中辅助拍摄图片的闪光灯。相机852的设置可被实现为硬件或软件按钮。
[0168]虽然未示出,但是还可在计算设备体系结构800中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是基于机械或传感器的。
[0169]所示的功率组件812包括可连接到电池量表(gauge)856的一个或多个电池854。电池854可以是再充电的或者一次性的。再充电的电池类型包括但不限于锂聚合物、锂电池、镍镉、以及镍金属氢化物。每一电池854可由一个或多个电池单元制成。
[0170]电池量表856可被配置成测量电池参数,诸如电流、电压、以及温度。在一些实施例中,电池量表856被配置成测量电池的放电速率、温度、使用年限、以及其他因素的影响以在特定百分比误差内预测剩余寿命。在一些实施例中,电池量表856向应用程序提供测量值,该应用程序被配置成利用这些测量值将有用的功率管理数据呈现给用户。功率管理数据可包括所使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余电容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
[0171]功率组件812还可包括功率连接器,该功率连接器可与上述I/O组件810中的一个或多个组合。电源组件812可经由功率I/O组件844与外部功率系统或充电装备对接。
[0172]基于上述内容,应当理解,本文已经公开了用于在将数据变换成可消费内容时创建变型的技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
[0173]以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。
【权利要求】
1.一种用于变换数据的计算机实现的方法,所述计算机实现的方法包括执行计算机实现的操作以用于: 在计算设备处获得包括多个数据元素的数据; 分析所述数据以标识所述多个数据元素之间的关系; 至少部分地基于所述关系标识能用于生成包括所述多个数据元素中的至少一个的输出的多个世界,所述多个世界中的每一个定义要应用于所述多个数据元素的可视化模型;至少部分地基于所述数据从所述多个世界中选择一世界; 获得用于将所述数据应用于所选的世界的规则;以及 将所述规则应用于所述数据以生成输出。
2.如权利要求1所述的方法,其特征在于,进一步包括: 在与所述计算设备相关联的显示设备处呈现所述输出; 从所述计算设备的用户处获得反馈; 至少部分地基于所述反馈来确定是否要改变所述世界;以及 响应于确定要改变所述世界,根据所述反馈来选择新世界。
3.如权利要求1所述的方法,其特征在于,进一步包括: 确定要应用于所述多个数据元素以将变型引入所述输出的至少一个变型; 基于所述变型和所述关系来确定所述可视化模型;以及 至少部分地基于所述可视化模型和所述关系来选择所述世界。
4.如权利要求1所述的方法,其特征在于,所述计算设备被配置成执行包括变型模块和世界选择器模块的变换引擎。
5.如权利要求1所述的方法,其特征在于,标识多个世界包括分析所述数据以至少部分地基于为所述数据确定的形状来确定所述数据能被应用到的世界。
6.如权利要求5所述的方法,其特征在于,为所述数据确定的形状包括标识文本数量、所述数据中的图像数量、或另一类型的数据的数量中的至少一者的数据。
7.—种其上存储有计算机可读指令的计算机存储介质,所述指令在由计算机执行时致使所述计算机: 获得包括多个数据元素的数据; 分析所述数据以标识所述多个数据元素之间的关系; 至少部分地基于所述关系来标识能用于生成包括所述多个数据元素中的至少一个的输出的多个世界,其中所述多个世界中的每一个定义要应用于所述多个数据元素的可视化丰旲型; 至少部分地基于所述数据和所述关系从所述多个世界中选择一世界; 获得用于将所述数据应用于所述世界的规则;以及 将所述规则应用于所述数据以生成输出。
8.如权利要求7所述的计算机存储介质,其特征在于,进一步包括在由所述计算机执行时致使所述计算机执行以下的计算机可读指令:通过分析所述数据以至少部分地基于为所述数据确定的形状来确定所述数据能被应用到的世界来标识所述多个世界。
9.如权利要求8所述的计算机存储介质,其特征在于,为所述数据确定的形状包括标识所述数据中的文本数量、所述数据中的图像数量、与所述数据相关联的图像文本比、与所述数据相关联的平均图像尺寸、或所述数据内的文本框的尺寸中的至少一者的数据。
10.如权利要求8所述的计算机存储介质,其特征在于,为所述数据确定的形状进一步包括所述数据中的图像数量、所述数据中的图像的尺寸、所述数据中的图像的分辨率、所述数据中的图像的宽高比、所述数据中的文本框的长度、所述数据中的相关文本框的数量、或所述数据中的部分计数中的至少一者。
【文档编号】G06F17/21GK104471564SQ201380038361
【公开日】2015年3月25日 申请日期:2013年7月18日 优先权日:2012年7月19日
【发明者】J·麦克尔斯汀, D·B·李, K·莫里斯, C·H·普拉特里, S·福尔克纳, S·R·霍拉斯趣, N·G·弗利尔, H·刘, C·G·沃尔德曼, B·D·布鲁尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1