CN106354697A - 将数据变换成可消费的内容 - Google Patents

将数据变换成可消费的内容 Download PDF

Info

Publication number
CN106354697A
CN106354697A CN201610802407.5A CN201610802407A CN106354697A CN 106354697 A CN106354697 A CN 106354697A CN 201610802407 A CN201610802407 A CN 201610802407A CN 106354697 A CN106354697 A CN 106354697A
Authority
CN
China
Prior art keywords
data
computer
output
world
computing device
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
CN201610802407.5A
Other languages
English (en)
Inventor
J·麦克尔斯汀
D·B·李
N·G·弗利尔
K·莫里斯
C·H·普拉特里
B·D·布鲁尔
S·福尔克纳
S·R·霍拉斯趣
I·图马诺夫
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 CN106354697A publication Critical patent/CN106354697A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Abstract

本文描述了用于将数据变换成可消费内容的概念和技术。根据本文中公开的概念和技术,计算设备可执行变换引擎来将数据变换成可消费内容。该计算设备可被配置成分析该数据以标识该数据的各数据元素或其他部分内的关系。该计算设备还可确定要应用于该数据的可视化模型并基于所确定的可视化模型来选定世界。该计算设备可获得与所选择或所选定的世界相关联的规则,并可将这些规则应用于该数据以生成输出。在一些实施例中,计算设备可被配置成获得反馈并将反馈应用于输出。

Description

将数据变换成可消费的内容
本申请是申请日为2013年5月29日、申请号为201380030239.7的同名中国发明专利申请的分案申请。
背景
可用于创建内容的软件的可用性和多样性增加了,因为可用于发布内容的场所的数量增加了。类似地,经由各种实况消息收发和/或社交联网站点对信息的即时发布已通过极大地加速用户发布数据的速度和频率而使数据共享发生了变革。由于在创建、生成、共享和/或发布数据的各种方式方面的这些和其他改变,创建、共享和/或发布内容的用户的数量和多样性已连同这些内容创建者、共享者和/或发布者的观众的规模一起增加了。
由于几乎任何技术用户当今创建、生成、共享和/或发布内容,创建、生成、共享或发布该内容的一些用户或其他实体可能不会在设计原理方面被培训。结果,这些实体中的一些可能不能够以可消费、有用或视觉上吸引人的格式来产生视觉内容。因此,由这些或其他实体创建、生成、共享或发布的一些内容的实用性可通过应用更好的设计来增强。
一些发布者可选择将信息编译成文档。其他发布者可将信息加载到演示、视频或其他输出中。这些演示或文档可包括太多或太少有用的信息,或者可缺少允许查看者或消费者容易地访问该文档或演示内的重要信息的考虑周到且基于设计的格式。因为特定演示或文档的视觉方面可使消费者不再专注于该演示或文档内呈现的底层数据或事实的有用性或重要性,因此一些内容可能不会得到应有的注意。替换地,一些发布者可扩展资源以创建或委托他人创建视觉上可消费的内容。
本文所做出的本公开正是关于这些和其他考虑事项而提出的。
概述
本文描述了用于将数据变换成可消费内容的概念和技术。如本文中所使用的,术语“可消费”可用于指代可被用户、查看者或其他实体容易地查看、解释或访问的内容。在一些实例中,该内容或其部分可根据分层关系或逻辑关系和/或根据所应用的设计规则来安排。根据本文中公开的概念和技术,数据可被计算设备获得。在一些实例中,数据可包括文本文件、网页、文档、演示文件、电子表格、视频、照片或其他图像、或其他类型的数据。数据可按各种格式被获得,并且可被分析以标识该数据的各数据元素和/或各部分之间的关系。这些关系可用于标识该数据的分层结构、重点、群集和/或以其他方式获得对该数据的了解。
计算设备可确定如何将差异或变型引入该数据。这些变型可包括动画、效果、布局、色彩方案或其他设计变型方面的差异。计算设备还可选择用于呈现该数据的世界。如本文中所使用的,术语“世界”可用于指代用于呈现数据的方法、模型或主题。计算设备可选择用于呈现数据的世界,并可使用定义如何使该数据转换成该世界的一个或多个规则集来将该世界应用于该数据。在一些实施例中,这些规则可针对每一世界定制,并可定义例如特定类型的数据在所选择或所选定的世界中将如何表示。
通过应用变型、可视化模型、世界和/或规则,计算设备可生成包括可消费内容的输出。该输出可包括演示、文档、视频、交互式数据输出或其他数据。在一些实施例中,计算设备将该输出呈现给用户或其他实体,且该用户或其他实体表达与该输出的各个方面有关的偏好。因此,例如,用户可表达是喜欢还是不喜欢输出的特定方面,并且计算设备可被配置成将所表达的喜欢或不喜欢应用于输出。由此,计算设备可被配置成根据用户偏好来修改输出。计算设备还可被配置成存储这些偏好以供将来使用。
根据一个方面,计算设备获得数据。数据可从本地或远程存储设备(诸如,因特网、或服务器等)中获得。计算设备可被配置成执行变换引擎,该变换引擎用于分析数据、标识数据内的关系、确定可视化模型、选择世界、将与该世界相关联的规则(诸如设计规则)应用于数据、并生成输出。在一些实施例中,变换引擎可包括多个模块,或者可被多个模块代替。这些模块可包括剖析和理解模块、变型模块和世界选择器模块。变换引擎还可包括用于基于所选定或所选择的世界来转换数据的规则的表示,并且变换引擎可被配置成将这些规则应用于数据以生成输出。
根据另一方面,变换引擎还可包括创作模块。创作模块可被配置成获得并应用关于输出的用户输入或反馈。该反馈可从用户或其他实体直接获得。该反馈可响应于可由计算设备生成的一个或多个提示而被获得。由此,计算设备可被配置成生成输出,并基于用户偏好来修改输出。计算设备还可被配置成存储这些偏好以供将来使用和/或应用于其他数据。
应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念选择。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图简述
图1是示出用于本文所公开的各实施例的说明性操作环境的系统图。
图2是示出根据说明性实施例的变换引擎的附加方面的框图。
图3是示出根据说明性实施例的用于将数据变换成可消费内容的方法的各方面的流程图。
图4是示出能够实现本文中所呈现的各实施例的各方面的计算系统的说明性计算机硬件和软件体系架构的计算机体系架构图。
图5是示出能够实现本文呈现的各实施例的各方面的分布式计算环境的图示。
图6是示出能够实现本文呈现的各实施例的各方面的计算设备体系结构的计算机体系结构图。
详细描述
以下详细描述涉及用于将数据变换成可消费内容的概念和技术。根据本文中描述的概念和技术,计算设备可执行变换引擎以用于将数据变换成可消费内容。在一些实施例中,计算设备从本地或远程存储设备(诸如,存储器或服务器、或因特网等)获得数据。在一些其他实施例中,该数据是在计算设备处使用在该计算设备处执行的应用程序来生成的。计算设备可被配置成执行变换引擎来分析该数据。通过分析该数据,计算设备可标识该数据的各数据元素或其他部分内的关系。计算设备还可执行变换引擎来确定要应用于该数据的各变型并选择要应用于该数据的可视化模型和/或世界。计算设备还可执行变换引擎来获得与所选择或选定的世界相关联的规则,并将这些规则应用于该数据以生成输出。
计算设备还可被配置成从用户或其他实体获得输入或反馈并应用该输入或反馈。反馈可被计算设备解释以理解用户或其他实体对输出的偏好。输入或反馈可从用户或其他实体直接获得,和/或可响应于可由计算设备生成的一个或多个提示而获得。基于该输入或反馈,计算设备可被配置成修改该输出或确定将不修改该输出。计算设备还可被配置成存储这些偏好以供将来使用和/或供应用于其他数据。计算设备所存储的偏好可不仅包括针对特定用户的偏好,还可附加地或替换地包括针对多个或所有用户的偏好。附加地或替换地,这些偏好可涉及特定内容或输出以及一个或多个用户。因此,这些偏好还可例如指示特定数据元素、数据元素群集、演示方面、演示或设计方案、或规则等与其他数据元素、数据元素群集、演示方面、演示或设计方案、或规则等相比更重要或更不重要。
尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各具体实施方式或示例的附图。现在参考附图(全部若干附图中相同的标号表示相同的元素),将提出用于将数据变换成可消费内容的计算系统、计算机可读存储介质和计算机实现的方法的各方面。
现在参考图1,将描述用于本文所提出的各实施例的一个操作环境100的各方面。图1中所示的操作环境100包括计算设备102。根据各实施例,计算设备102的功能可由诸如台式计算机、平板计算机或膝上型计算机系统的个人计算机(“PC”)来提供。计算设备102的功能还可以由能够执行本文中详细描述的各个软件元件的其他类型的计算系统(包括但不限于,服务器计算机、手持式计算机、上网本计算机、嵌入式计算机系统、个人数字助理、移动电话、智能电话或其他设备或系统)来提供。出于描述本文中公开的概念和技术的目的,计算设备102在本文中被描述为包括PC。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
根据各一些实施例,计算设备102被配置成与通信网络(“网络”)104进行通信,或作为通信网络(“网络”)104的一部分来操作。在一些其他实施例中,计算设备102不与网络104进行通信。计算设备102可被配置成执行操作系统106以及一个或多个应用程序、模块、软件元件、或其他计算机可执行或计算机可读指令,诸如作为示例变换引擎108。
操作系统106是用于控制计算设备102的操作的计算机程序。变换引擎108可包括被配置成在操作系统106的顶部执行以提供本文中描述的用于将信息变换成可消费内容的功能的可执行程序。虽然变换引擎108被示为计算设备102的组件,但应理解,变换引擎108可实现为作为网络104和/或计算设备102的一部分来操作或者与网络104和/或计算设备102进行通信的独立设备或其组件,或在该独立设备或其组件中实现。变换引擎108还可以是在计算设备102上和/或在其他实际或虚拟设备上执行的虚拟化服务或技术层。因此,所示实施例是说明性的,且不应该被解释为以任何方式进行限制。
如以下将更详细解释的,尤其参考图2-3,变换引擎108可被配置成获得数据110,并将数据110变换成可消费内容,该可消费内容可包括由计算设备102生成的输出112,或可被包括在该输出112中。如本文中所使用中,术语“可消费”可用于指代可被用户或参看者容易地或不费力地查看、解释或访问的输出(诸如输出112)。更具体地,如以下更详细解释地,输出112可包括数据110的各个数据元素或部分,这些数据元素或部分由变换引擎108根据本文中公开的各个概念和技术来安排。由此,可领会,数据110可包括多个数据元素或其他数据部分。
在一些实施例中,变换引擎108被配置成将数据110转换或安排成基于关系的设计。该基于关系的设计可(但不一定)按逻辑和/或分层方式安排,和/或可根据用于安排和/或布置数据的各种基于设计器的演示规则来安排。因此,短语“可消费内容”可指代(但不一定)视觉上吸引人和/或逻辑地安排的数据。然而,应该理解,如本文中所描述的输出112无需是视觉上吸引人的,和/或视觉吸引力可以是主观的。由此,输出112可包括数据110的被转换成输出112的各个数据元素或其他部分,如本文中所描述的。
根据各实施例,计算设备102被配置成接收或存储数据110。例如,数据110可被存储在计算设备102处的存储器、硬盘驱动器或其他数据存储元件中。在一些其他实施例(诸如,图1中示出的实施例)中,数据110可从数据源114处获得,该数据源114可被配置成作为网络104的一部分来操作或与网络104进行通信。数据源114的功能可由网络驱动器、在网络104上操作或与网络104进行通信的服务器计算机、数据库或另一实际或虚拟数据存储元件和/或其他数据存储设备提供。应当理解,这些实施例是说明性的,而不应被解释为以任何方式进行限制。
根据本文中公开的概念和技术的各方面,变换引擎108可包括一个或多个应用、程序、软件、计算机可执行指令和/或其他数据。以下参考图2更详细地示出并描绘了可包括为变换引擎108的一部分的数据的一些示例。简言之,计算机可执行指令可包括:用于剖析和理解包括在数据110中的内容的指令,用于生成和/或建议在将数据110作为输出112的一部分来呈现时要采用的各变型的指令,用于选择在生成输出112时要采用的主题、样式、色彩方案、动画、布局和/或其他方面(“世界”)的指令、用于定制所选择或所选定的世界的规则、和/或用于基于来自用户或其他实体的输入来修改输出的指令。
变换引擎108的这些或其他方面可由单个或多个应用或模块提供。因此,计算设备102通过执行变换引擎108可接收数据110、确定将如何呈现数据110、生成用于按确定的格式、方案、或主题等来呈现数据的输出112、以及呈现该输出112。在呈现输出112之前、期间或之后,计算设备102还可被配置成从用户或其他实体获得关于输出112的输入或反馈(“反馈”)。在一些实施例中,计算设备102可被配置成提示用户来得到反馈。在一些其他实施例中,计算设备102可被配置成从各个用户或其他实体中接收反馈而无需进行提示来得到反馈。
基于计算设备102所接收到的反馈,与计算设备102相关联的输出112可被定制为反映与用户或其他实体相关联的偏好、喜欢、或不喜欢等。由此,计算设备102可被配置成不仅以计算设备102所确定的格式来呈现数据110,此外还以由用户或其他用户通过提供反馈来定制和/或修改的格式来呈现数据110。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
在一些实施例中,计算设备102检索、接收或以其他方式获得数据110。数据110可从本地数据存储设备获得,或者可从远程数据存储设备或实体(诸如数据源114)获得。数据110可包括几乎任何类型的信息,包括但不限于文档、文本、图像、演示、电子表格、网页、视频、媒体或其他信息。由于数据110可包括其他类型的信息或内容,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式进行限制。
计算设备102可被配置成分析数据110以标识数据110内的分层结构和/或关系。尤其地,计算设备102可被配置成标识包括在数据110内的一个或多个数据元素或数据部分之间的关系。例如,如果数据110包括演示文档,则数据元素可包括该演示的各幻灯片、该演示的各幻灯片内的各对象、和/或包括在该演示中的其他数据部分,诸如各个文本字符、图像、句子、单词、项目符号列表、标号列表、文本框、背景、标题框、或媒体对象等。计算设备102可被配置成分析数据110的各个元素或部分(“数据元素”)以标识出各数据元素之间的关系和/或标识出数据110内的分层结构。类似地,计算设备102可被配置成识别数据110的一个或多个实例之间的关系。例如,来自FLICKR或其他相册软件的图像可与诸如FACKBOOK或TWITTER更新和/或时戳信息之类的状态更新或消息相关联,以标识出这些图像之间的关系。由于其他类型的数据和/或数据源可用于标识数据110的各元素之间的关系,因此这些示例应被理解为是说明性的,而不应被解释为以任何方式进行限制。
计算设备102还可被配置成确定要被用于生成输出112的可视化模型。尤其地,计算设备102可确定在生成输出112时可包括的各变型,以提供区别化输出来作为输出112。例如,计算设备102可将动画、图像尺寸、文本效果、布局、色彩方案、主题或其他可视化方面的变型应用于被包括为输出112的数据,以提供高度区别化的输出。由此,计算设备102的用户可使用计算设备102来生成唯一的产品,即使其他用户提供了基本上类似或甚至相同的输入。
计算设备102还可被配置成选定将用于生成输出112的世界。如本文中所使用的术语“世界”可用于指代可应用于数据110并可用于生成输出112的可视化和/或主题的类型或类别。各世界可包括用于以二维(“2D”)或三维(“3D”)可视化来可视化数据110的指令,从而指定字体和字体格式、图像和图像格式、动画、背景、文本框尺寸和布局、文档布局、或输出112的其他方面。然而,应理解,“世界”不必限于为模板。相反,在本文中描述的各实施例中,世界不是模板,而改为定义可应用于数据110以获得输出112的各可视化事实或方面,如本文中所描述的。例如,在一些实施例中,“世界”包括指导将如何处理和显示数据110的可视化、样式和调谐规则的聚集。本文中公开的世界的附加方面在以下参考图2另外详细描述。
世界中的一些或全部可与规则集相关联。这些规则的附加方面在以下参考图2详细描述。简言之,这些规则可定义世界的各个方面如何被应用于数据(诸如数据110)。规则的一些附加方面以及这些规则可如何被使用的一些示例在以下参考图2更详细地阐述。计算设备102可被配置成获得与所选定的世界相关联的规则(如果可用的话),并将那些规则应用于数据110以获得输出112。计算设备102可因此生成输出112并将输出112呈现给用户或其他实体。输出112还可按需被保存到数据存储设备。
根据本文中公开的概念和技术的一些实施例,计算设备102还被配置成获得用户反馈并将用户反馈应用于输出112。在一些实施例中,用户反馈包括对各种提示或问题的用户响应。例如,计算设备102可将问题呈现给用户或其他实体来评估输出112的各个方面。在一些实施例中,计算设备102要求或提示用户或其他实体通过表达是喜欢还是不喜欢特定方面来得到关于色彩、色彩方案、字体、布局、元素位置、图像尺寸、重要性、重点、数据安排或输出112的其他方面的反馈。
除了提示来得到反馈外或作为其替换,计算设备102还可被配置成为用户生成关于输出112的各个方面的问题。例如,计算设备可询问特定方面是被喜欢还是不被喜欢、或是好还是不好等。应理解,反馈、问题、或提示等可被格式化为具有二态的是/否、喜欢/不喜欢或真/假回答的问题。这些问题或提示还可请求各个范围的排名,诸如例如为诸如一到十的数值范围、诸如“A”到“F”的字母等级、或星数等。用户可提供关于输出112的完整性的这种和/或其他类型的反馈,和/或计算设备102可被配置成要求用户表达关于输出112的个别部分或成份的反馈。例如,计算设备102可被配置成询问喜欢还是不喜欢输出112,或者询问喜欢还是不喜欢特定字体、色彩方案、和/或输出112的其他方面或成份。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
计算设备102可被配置成评估来自用户的反馈,并确定是否要基于反馈来修改输出112。例如,如果从用户或另一实体接收到的反馈指示色彩方案“不被喜欢”,则计算设备102可改变色彩方案。类似地,“喜欢”可用于修改输出112,使得输出112的被用户或其他实体喜欢的各方面可在输出112中被重复,和/或可在将来被用于生成其他输出112。由此,可领会,可基于反馈来修改输出112的各方面。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
图1示出一个计算设备102、一个网络104、以及一个数据源114。然而,应该理解,操作环境100的一些实现包括多个计算设备102、多个网络104、零个或多个数据源114和/或另外的或替换的硬件元件。因此,所示实施例应该被理解为说明性的,并且不应该被解释为以任何方式构成限制。
现在转向图2,将根据说明性实施例详细描述变换引擎108的附加方面。如以上参考图1所解释的,变换引擎108可被配置成将数据110变换成输出112。在一些实施例(诸如图2中示出的实施例)中,变换引擎108包括用于提供本文中描述的关于变换引擎108和/或计算设备102的功能的多个模块、应用、程序、软件、或其他计算机可执行指令。另外地或替换地,变换模块108还可包括如将在本文中更详细描述的其他数据。
在所示的实施例中,变换引擎108包括剖析和理解模块200、变型模块202、世界选择器模块204、规则206、创作模块208、世界210、和其他数据或指令(未示出)。虽然图2中未示出,但变换引擎108还可包括用于创作、创建和/或保存规则206的设计规则模块。由此,变换引擎108可被配置成通过执行计算机可执行代码或指令的一个或多个部分来将数据110变换成输出112。应理解,本文中描述的关于图2中示出的各个模块和其他数据的各个功能可由单个应用、模块、程序或其他软件或数据等来提供,所示的实施例是说明性的,而不应以任何方式被解释为构成限制。
剖析和理解模块200可被配置成分析数据110。如以上所解释的,对数据110的分析可被完成以理解数据110的各个数据元素或其他部分之间的关系。更具体地,在一些实施例中,数据110是以基于流的格式来安排的和/或不是以任何特定格式来安排的。剖析和理解模块200可应用用于解释数据110的各种规则以标识各数据之间的关系。例如,如果演示或其他文档的多个页面包括相似或相同的标题,则剖析和理解模块200可被配置成确定这多个页面彼此相关。类似地,如果一个页面上的标题与第二页面上的标题相似,但还包括文字“继续的”或诸如“cont’d(继续的)”的缩写,则剖析和理解模块200可确定这些页面是相关的。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
在一些实施例中,剖析和理解模块200可被配置成确定项目符号列表或标号列表中的各元素彼此相关和/或与这些列表的导标相关。在一些其他实施例中,剖析和理解模块200可被配置成确定:相同或相似图像周围的文本是相关的;具有相似或相同引用或脚注的文本是相关的;和/或数据110的其他元素或部分彼此相关。在一些其他实施例中,剖析和理解可包括图像分析。例如,图像可被分析以检测正面、突出区域、(其上可放置文本的)不变区域、成份分析、或图像的其他方面。解释数据110的各种规则可被剖析和理解模块200应用。因为构想了用于标识关系的其他过程或规则,所以应当理解这些实施例是说明性的,而不应被解释为以任何方式构成限制。
变型模块202可被配置成为用户或其他实体生成区别化输出112。具体地,变型模块202可应用动画、视觉效果、设计、主题或其他变型方面的变型。这些变型可被应用于数据110以创建可用于使得计算设备102的每一输出112看上去唯一的区别。如以下参考图3更详细描述的,这些变型可被应用于数据110。
世界选择器模块204可被配置成评估并选定要应用于数据110的世界。如以上所解释的,“世界”可包括用于呈现可被存储、选择和/或应用于数据110以获得输出112的数据的主题、模型、方案或其他方法。在一些实施例中,世界是可扩展的。具体地,第三方或其他实体可创建新的或附加的世界210并可定义数据110可如何被应用于世界210。世界选择器模块204可被配置成考虑数据110的各方面,并基于所确定的最适合数据110的世界210来确定要将什么视觉化模块和/或区别应用于数据110。在一些实施例中,世界210由变换引擎108来存储,如图2所示。世界选择器模块204可考虑例如数据110的形状、数据110内标识的分层结构、和数据110的其他方面。
如上所述,数据110可包括各种数据元素212。因此,尽管本文中描述了对数据110的各种操作和/或分析,但应理解,可对数据元素212采取这些和/或其他操作。因此,世界选择器模块204可例如考虑各数据元素212之间的关系和/或各数据元素212中的分层结构以选择世界210。选择世界210的这些或其他方面在以下参考图3进一步详细地阐述。
规则206可包括被配置成转换数据110的自适应规则,其可基于所选定的变型和世界210将任意内容包括在输出112中。换言之,规则206可包括可被应用于数据110以获得输出112的转换类别。因此,在一些实施例中,规则206包括针对每一世界210的一个或多个规则集,并且规则206由计算设备102基于哪个世界210被选定来选择。由此,规则206可以是用于将数据110变换或转换为输出112的定制操作、步骤或规则。应理解,数据110可能并非总是为到输出112的直接转换。具体地,数据110的内容或布局可在数据110到输出112的转换期间被操纵。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
规则206可用于选择数据110的部分(例如以下更详细描述的数据元素212),这些部分将被包括在输出112的布局或其他形式中。具体地,规则206可用于为输出112中的每一视图选择信息或数据元素212,并定义在与所选定的世界相关联的布局、视图或其他输出112内的任何给定位置处,什么类型的信息和/或什么数据元素212被需要、期望或是适合的。开发者或其他实体可通过规则206来指定在每一视图或布局中将呈现什么信息。
规则206还可用于确定为输出112选择的数据元素212或其他信息的流动、进展和/或布局。具体地,计算设备102可应用规则206以在变换引擎110生成与输出112相关联的布局时提供决策制定能力。布局可定义在屏幕上的什么网格单元中使用什么类型的信息或数据元素212(或使用用于将数据元素212放置在屏幕上的其他方法来定义数据元素212的位置),而规则206可定义一旦信息被放置在布局中后如何修改信息流(在风格上或其他方面,例如尺寸、形状、或信息的其他方面)。,
在一些情况下,规则206还可处理在信息流超过预定的默认布局时如何调整布局。
规则206还可被应用于数据110以升级或以其他方式修改数据元素212中的一个或多个或要被包括在输出112中的其他信息。因此,可领会,世界针对任何类型的数据110的流处理行为可通过修改与世界相关联的规则206来改变。具体地,规则206可用于改进、升级或以其他方式修改数据110的数据元素212或其他部分。例如,如果数据元素212包括低分辨率图像,则升级图像元素212可包括用具有较高分辨率的图像来替换该低分辨率图像、或将图像处理(诸如模糊等)应用于该图像以创建艺术表示等。类似地,如果数据元素212包括数据表,则更新或改善数据元素212可包括用图形来替换该数据表。这些和/或其他类型的升级、改善和/或其他修改可通过规则206来控制。因此,可给予设计者表达将如何使用可用的工具集来升级或以其他方式来修改特定类型信息的能力,诸如,升级图像、转换为图形等。在一些实施例中,设计者可在应用各种规则206之前表达这些规则206,如本文中所描述的。由此,应当理解,对规则206的表达可在几乎任何时间发生,并且对规则206的利用可在几乎任何时间发生,包括规则206已被表达了很长时间后。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
规则206还可被应用于数据110以对输出112的一个或多个布局或其他形式进行评分。具体地,规则206可用于通过提供关于给定布局的信息如何被处理以及质量条是否被满足的反馈来促成对布局的选择。可获得世界内的每一布局的精确分数并可通过规则集206调整这些分数,而无需重新编译代码库。
规则还可用于对变换引擎108所考虑的各个世界进行评分,并且这些分数可被传递给世界选择器模块208来对所考虑的世界进行评分。具体地,规则206可用于通过生成与各世界中正放置的信息的适合质量有关的反馈来促进对世界之一的选择。规则206可不作出关于世界排名的最终决策,但可作为提供有助于作出该决策的信息的分量。每一世界的描述该世界对信息集的适合的精确得分可被获得,并且这些得分可使用规则集206来进行调整,而无需重新编译代码库。
根据变换引擎108的各种实现,规则206可由设计者、用户或其他实体来创建、修改和/或删除。由此,规则206可以是设计者可访问的,以便按适合于该设计者的工作流的方式来表达这些规则206。在一些实施例中,为用于允许设计者理想地用视觉方式来在这个列表中表达所有的必要信息以提出先前目标的工具。此外,本文中描述了规则206的附加方面,并且由此规则206的以上用途应当被理解为是说明性的,而不应被解释为以任何方式进行限制。
因此,规则206可被应用来调整通过应用特定世界来呈现数据110的方式。例如,规则206可被应用于数据110以调整文本的可读性。这些调整可基于例如:当字符被布置在单词、句子和段落中时,字样可被读出的相对容易性;长文本框需要为可读以保持读者和/或提升理解的假设;列中的设置文本可提供可改善可读性的短行长的假设;假设与“被强迫调整”或操纵以在左边距和右边距上对齐的文本相比,具有“右边未对”对齐的文本集更可读的规则;引入空白空间、副标题和/或用于分割文本以给予读者的眼睛休息空间以有助于防止疲劳的其他元素的规则;通过基于文本行数来调整前导;通过基于内容量和布局来调整行长;通过基于设备用于查看内容的能力(例如,屏幕尺寸、分辨率、或输入设备等)来调整内容;通过基于内容量来调整字体大小;和/或通过对数据应用其他调整或修改。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
规则206还可用于改善输出112的清晰度。例如,规则206可用于评估一个字母可多容易地与另一字母区分开,或者与字样相关联的清楚性。规则206还可用于:覆盖透明域,使得文本清晰可读;在文本后面覆盖半透明背景,使得该本文与没有半透明背景相比更清晰可读;应用用于使图像和/或其部分变暗和/或变亮的规则;调整字体大小以改善和/或确保清晰度;添加阴影以使得文本更清晰可读;通过重置和/或缩放图像来放置在布局的区域中,使得为文本留下用于改善该文本的清晰度的空间;在文本后面添加细微的透明性;应用相片变暗以变换图像;或应用其他调整等。
规则206还可用于改善输出112的质量。例如,规则206可用于通过基于文本的行数来调整前导,通过应用文本字距调整、文本前导、各种大小的文本的基线对齐等,使文本在网格线上对齐和/或调整文本的放置使得文本在网格上视觉地对齐,以定义文本大小关系,使得覆盖在图像上的正文副本和标题副本的文本是最优的。规则206还可用于标识相片的结构,使得覆盖内容的相片涉及相片中的底层结构。类似地,规则206可用于确保文本框彼此对齐和/或与其他文本对齐,使得文本框一起流动以确保取决于可变串的合适的放置、对齐。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
规则206也可用于调整图像。例如,规则206可用于基于一个或多个突出区域来提供对图像的裁剪,升级图像、在一个或多个方向上裁剪和/或避免裁剪图像和/或为此图像定向。
规则206还可用于搜索和/或生成数据110的汇总。规则206还可用于例如通过使用全球定位系统(“GPS”)或地图数据来升级数据110和/或数据元素212,以获得关于数据110中所引用的场所/位置的附加信息,添加当前统计数据和/或其他类型的实况内容,添加诸如评论数、内容已被链接到的次数、内容已被下载的次数等相关信息。规则206还可用于调整数据110和/或数据元素212的大小。这些实施例是说明性的,而不应被解释为以任何方式构成限制。
规则206还可用于影响每一数据元素212如何相对于其他数据元素212移动。例如,在与一些文本进行交互和/或悬停在这些文本上时这些文本可作出反应,移动或动画可受移动速度或正与数据110进行交互的用户的影响,环境运动可被应用直到检测到点击或触摸姿势等。数据元素212的这些和其他移动和/或相对定位可由规则206确定。规则206还可用于确定数据元素212的次序、内容如何被导航到(例如,多次点击、滑动、或导航经过屏幕等)。
如上所述,规则206还可用于在数据110的数据元素212和/或其他部分中创建变型。规则206可基于什么数据110或数据元素212围绕特定数据部分或数据元素212来应用一些变型。变型还可基于内容。例如,如果数据110对应于基于时间线的数据,则世界或布局可基于很少图像被包括的假设或识别来选定。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
规则206还可用于选择、调整大小和/或以其他方式格式化字样和/或与文本相关联的其他设置。例如,规则206可用于为文本或附近的域选择突出显示的色彩和/或互补色。规则206还可用于基于内容的源来定义色彩调色板。例如,色彩方案可基于与特定品牌相关联的色彩方案、或数据110中包括的色彩方案等来选择。运动还可基于规则206来改变和/或选择。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
创作模块208可被配置成分析来自用户或其他实体的有关输出112的反馈214。反馈214可被创作模块208获得,和/或可被变换引擎108获得并被传递给创作模块208。创作模块208可被配置成将反馈214应用于输出112以修改输出112。创作模块208还可被配置成存储反馈214以用于变换引擎108的将来使用。
因此,虽然图1-2中没有示出,但应理解,用户偏好可由变换引擎108来开发,并可由变换引擎108按需存储和应用。如以上结合基于反馈214来修改输出112所解释的,创作模块208可被配置成进行提示以得到反馈214,或可被配置成从用户或其他实体接收反馈214。可通过推断各简单动作(诸如,选择或重排序等)来提供有关喜欢或不喜欢的反馈214,如对问题的是/否或真/假回答,如诸如星数、范围内的数目、字母等级等排名信息。反馈214可由创作模块208来解释。
如以上所述,除了基于不喜欢来改变输出112外,创作模块208还可被配制成基于喜欢来修改输出112。具体地,变换引擎108可重复和/或更频繁地使用输出112被用户所喜欢的各个方面。应当理解,用户的喜欢或不喜欢还可被变换引擎108针对其他用户来使用。具体地,变换引擎108可被配置成基于偏好、基于社交联网信息和/或基于其他信息来在各个用户之间识别相似性,并且变换引擎108可将特定用户的偏好应用于被认为或被指示为与该用户相似的另一用户。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
鉴于图2的以上描述,应理解,本文中描述的计算设备102可通过执行任何数目的应用、软件组件、模块或其他指令来提供变换引擎108的功能和/或变换引擎108的各个模块的功能。由此,当本说明书提及“计算设备”的功能时,应理解,所描述的功能可包括由本文中描述的软件模块、数据和/或硬件元件中的任一个所提供的功能。此外,应理解,变换引擎108可用作被计算设备102处执行的各个程序调用或访问的技术层。类似地,变换引擎108可用作可被各种应用或设备调用的服务。由此,所描述的各个实施例是说明性的,并且不应该被解释为以任何方式构成限制。
现在转到图3,将详细描述用于将数据变换为可消费内容的方法300的各方面。应该理解,不一定按任何特定次序来呈现本文公开的方法300的操作,并且以替代的次序来执行某些或全部操作是可能的并被考虑。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
还应当理解,所示方法300可在任何时间结束且不必完整地执行。方法300的某些或全部操作,和/或基本上等价的操作,可以通过执行如本文所定义的计算机存储介质上所包括的计算机可读指令来执行。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文是用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等等。
因此,应该理解,本文所述的逻辑操作被实现为:(1)一系列计算机实现的动作或运行于计算系统上的程序模块;和/或(3)计算系统内的互连的机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。因此,此处描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
出于示出并描述本公开的概念的目的,本文中公开的方法300被描述为由计算设备102通过执行计算机可执行指令(诸如例如,变换引擎108)来执行。如以上结合图2来解释的,变换引擎108可包括可被计算设备102执行和/或使用来提供本文中描述的功能的若干模块和/或其他数据。应理解,附加或替换设备可通过执行除变换引擎108以外或作为其补充的指令来提供本文中描述的功能。由此,应当理解,这些实施例是说明性的,而不应被视为以任何方式进行限制。
方法300开始于操作302,在操作302,计算设备102获得数据110。如上所述,数据可包括各种类型的信息或内容,诸如例如:媒体文件,包括但不限于视频文件、动画文件、幻灯片显示文件、图像文件、音频文件、其他媒体文件等;文本文档;纯文本;网页、web内容、或富文本等;和/或其他类型的信息。在所构想的一个实施例中,数据110对应于演示文件,诸如由来自华盛顿州雷蒙德市的微软公司的演示软件产品的MICROSOFT POWERPOINT家族成员所生成的文件。鉴于各种类型的信息可被提供为数据110,应该理解,这个实施例是说明性的,而不应被解释成以任何方式构成限制。
根据各种实现,数据110是从与计算设备102相关联的数据存储设备或组件中获得的。以下参考图4-6更详细地描述数据存储设备的一些示例。在一些其他实施例中,数据110可被存储在诸如数据资源114的远程存储设备或资源中,如本文中所描述的。因此,数据110可被计算设备102通过与数据源114进行通信来获得。由此,应当理解,数据110可通过直接连接、通过一个或多个网络、和/或通过其他节点、设备和/或设备组件从任何实际或虚拟设备处获得。
方法300从操作302行进到操作304,在操作304,计算设备102可标识数据110的各数据元素或其他部分之间的关系。一些类型的信息以及数据110的一些实施例可以按基于流的安排来安排或组织,和/或可以其他方式不按逻辑和/或分层安排来安排。例如,诸如文字处理文档或演示的文档的每一幻灯片或页面可包括数据元素212,诸如标题、文本的一个或多个段落、一个或多个句子、一个或多个单词、一个或多个项目符号点、一个或多个标号列表、一个或多个表格、一个或多个图像和/或其他对象。在一些实例中,每一幻灯片或页面可涉及或提出不同的主题或子主题。在一些其他实例中,每一幻灯片或页面可涉及相同或相似的主题。操作304可包括确定和标识数据110的各个数据元素212或其他部分之间的关系。在一些实施例中,计算设备102通过执行剖析和理解模块200来提供本文中描述的与操作304有关的功能。应当理解,本实施例是说明性的,而不应被解释为以任何方式进行限制。
在所构想的一个示例中,有十页的文档可在每一页上包括标题。该标题可由标有“标题”的框或域来指示,和/或可基于信息的位置、格式、尺寸、色彩、内容或其他方面而被确定为包括标题。由此,如果十页中的三页包括相同或相似的标题信息,则这三页可被认为是相关的,并且这三页上的信息可被确定为共享与标题的关系。在另一示例中,计算设备102可被配置为将导标下面的标号列表或项目符号列表认为与该导标相关。类似地,计算设备102可被配置为将列表内的标号项或项目符号项认为是彼此相关的。
因此,可领会,在操作304中,可使用文本、图像或其他数据的位置、尺寸、格式、内容和/或其他方面以及该数据相对于文档中的其他数据的相对定位、位置、格式、尺寸、内容或其他方面来确定数据之间的关系。由于构想了用于标识数据110的各个数据元素或其他部分之间的关系的许多其他方法,应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
方法300从操作304行进至操作306,其中计算设备102确定要应用于数据110的各变型。在操作306,计算设备102可检查在操作304确定的关系以确定要如何呈现数据110。具体地,计算设备102可检查与数据110相关联的各个因素并确定如何将各变型添加到数据110。因此,例如,计算设备102可确定可被应用于数据110的视觉效果、设计和/或其他变型,以按各种方式来呈现在操作304确定的各关系。在所构想的一个实施例中,计算设备102通过执行变型模块204来提供本文中结合操作306来描述的功能。应当理解,本实施例是说明性的,而不应被解释为以任何方式进行限制。
方法300从操作306行进到操作308,在操作308,计算设备102选定用于呈现数据110的世界210。如上所述,本文中使用的术语“世界”可包括可应用于数据110并用于生成输出112的可视化和/或主题的类型。在操作308,计算设备102可基于数据110的各个方面、在操作306标识出的变型、各数据元素212之间的关系和/或基于其他考虑来选择世界210。例如,计算设备102可被配置成检查:数据110的形状,诸如例如数据110的覆盖样式或品质;诸如演示或文档的数据110的长度;数据110中的文本图像比;数据110中的图像或其他媒体对象的数量;数据110中的文本字符、文字、句子、或段落等的总数;输出112的预期观众;用于查看输出112的预期地点;预期用于查看输出112的预期显示媒体(诸如显示设备);可查看输出112的位置;数据110内和/或各数据元素112之间的分层结构;在查看输出112或与输出112进行交互时可使用的输入机制;视觉对象或其他数据元素212(诸如,文本、或图像等)的相对尺寸;和/或数据110的其他方面。
在选择世界210时,计算设备102可考虑多个世界210,或可标识适合数据110和/或数据110和/或数据元素212的所确定的关系、分层结构、样式、形状和/或其他方面的单个世界。因此,操作308可包括:从多个可用世界210中选择最高排名的世界210、基于各变型标识出单个世界210或接收指定特定世界210的输入。在所构想的一个实施例中,计算设备102通过执行世界选择器模块208来提供本文中结合操作308来描述的功能。应当理解,本实施例是说明性的,而不应被解释为以任何方式进行限制。
方法300从操作308行进到操作310,在操作310,计算机设备102获得与所选定的世界210相关联的规则206。在操作310,计算设备102可将与所选择的世界210相关联的规则206应用于数据110。通过将规则206应用于数据110,计算设备102可被配置成按所设计的方式来呈现数据110。具体地,规则206可在特定世界210中指定如何呈现数据110。因此,操作310可包括至少部分地基于在操作308所选定的世界210来获得规则206。
方法300从操作310行进到操作312,在操作312,计算机设备102应用在操作310所获得的规则206。如上所述,计算设备102可将规则206应用于数据110以用与在操作308所选定的世界210相关联的格式或形式来格式化数据110。例如,规则206可定义文本将被呈现的字体、所显示的图像的尺寸或用于修改数据110以获得输出112的其他指令。应当理解,本实施例是说明性的,而不应被解释为以任何方式进行限制。
方法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相关联的显示设备上的实施例来描述的。应当理解,本实施例是说明性的,而不应被解释为以任何方式进行限制。
方法300从操作316行进到操作318,在操作318,计算设备102确定是否将基于在计算设备102处接收到的反馈214来修改输出112。因此,尽管图3中没有示出,但方法300可包括用于在计算设备102处接收反馈214和/或用于提示用户或其他实体以得到关于输出112的反馈的操作。在一些实施例中,例如,输出112被呈现并且用户被提示以获得关于输出112的反馈214。例如,可向用户询问输出112是否是视觉上吸引人的、喜欢还是不喜欢特定色彩、喜欢还是不喜欢这些元素的布局、和/或其他问题。在一些实施例中,计算设备102接收关于输出112的几乎任何方面的反馈214和/或评论。
响应于在计算设备102处接收到的反馈214,计算设备102可确定输出112将被修改。例如,计算设备102可响应于反馈214而确定输出112的色彩、布局、色彩方案、主题、样式或其他方面将被修改。应当理解,在确定输出112将被修改时,计算设备102可确定在操作306确定的变型和/或在操作308选择的世界210以及输出112的其他方面可被改变。由于输出112的几乎任何方面都可被改变,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
如果计算设备102在操作318确定输出112将被修改,则方法300行进到操作320,在操作320,计算设备102修改输出112。如上所述,对输出112的修改可包括重新调整文本的大小、重新调整图像的大小、改变文本或图像的格式、改变文本字体、尺寸或色彩、改变世界210、改变可视化样式、改变变型或变型类型、和/或以其他方式修改输出112。由于可对输出112作出另外的或替换的修改,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
该方法从操作318返回操作314,在操作314,计算设备102再次生成输出112。由此,可领会,方法300的操作314-320可被重复,直到在操作316的任何迭代中,计算设备102确定输出112不将被修改。如果计算设备102确定输出112不将被修改,则方法300行进到操作322。方法300在操作322处结束。
图4示出能够执行本文所描述的用于将数据变换成可消费内容的软件组件的设备的说明性计算机体系架构400。由此,图4所示的计算机体系结构400示出服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、和/或膝上型计算机的体系结构。计算机体系结构400可用于执行本文所呈现的软件组件的任何方面。
图4所示的计算机体系结构400包括中央处理单元402(“CPU”)、包括随机存取存储器406(“RAM”)和只读存储器(“ROM”)408的系统存储器404、以及将存储器404耦合至CPU402的系统总线410。基本输入/输出系统被存储在ROM 408中,该系统包含帮助诸如在启动期间计算机体系结构400中的元件之间传递信息的基本例程。计算机体系结构400还包括用于存储操作系统106以及一个或多个应用程序的大容量存储设备412,这些应用程序包括但不限于变换引擎108。尽管未在图4中示出,但大容量存储设备412还可被配置成存储数据110、输出112、规则206、世界210、数据元素212、反馈214和/或其他应用、模块或本文中描述的其他信息。
大容量存储设备412通过连接至总线410的大容量存储控制器(未示出)连接至CPU402。大容量存储设备412及其相关联的计算机可读介质为计算机体系结构400提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机体系结构400访问的任何可用计算机存储介质或通信介质。
通信介质包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
作为示例而非限制,计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机体系结构400访问的任何其他介质。为了权利要求书的目的,短语“计算机存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质本身。
根据各实施例,计算机体系架构400可以使用通过诸如网络104之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机体系结构400可以通过连接至总线410的网络接口单元414来连接到网络104。应当明白,网络接口单元414还可以被用来连接到其它类型的网络和远程计算机系统,例如,数据源114。计算机体系结构400还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器416,这些设备包括键盘、鼠标、或电子指示笔(在图4中未示出)。类似地,输入/输出控制器416可提供到显示屏、打印机、或者其他类型的输出设备(在图4中也未示出)的输出。
应当理解,本文所描述的软件组件在被加载到CPU 402中并被执行时可以将CPU402和总体计算机体系结构400从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU 402可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地,CPU 402可以响应于包含在本文所公开的软件模块中的可执行指令来作为有限状态机进行操作。这些计算机可执行指令可以通过指定CPU 402如何在各状态之间转换来变换CPU 402,由此变换了构成CPU 402的晶体管或其它分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体转换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可包括更改给定磁性介质内的特定位置的磁性特征。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在计算机架构400中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,计算机体系结构400可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可以构想的是,计算机架构400可以不包括图4所示的全部组件,可以包括未在图4中明确示出的其它组件,或者可利用完全不同于图4所示的架构。
图5示出能够执行本文所描述的用于将数据变换成可消费内容的软件组件的说明性分布式计算环境500。因而,图5所示的分布式计算环境500可被用来提供本文结合计算设备102描述的功能。分布式计算环境500由此可用于执行本文所呈现的软件组件的任何方面。
根据各种实现,分布式计算环境500包括在网络504上操作、与该网络通信、或者作为该网络的一部分的计算环境502。网络504还可包括各种接入网络。根据各种实现,网络504的功能由图1和4所示的网络104提供。一个或多个客户端设备506A-506N(在下文中统称和/或通称为“客户端506”)可经由网络502和/或其他连接(在图5中未示出)与计算环境504通信。在所示的实施例中,客户端606包括:诸如膝上型计算机、台式计算机、或其他计算设备之类的计算设备506A;板式或平板计算设备(“平板计算设备”)506B;诸如移动电话、智能电话、或其他移动计算设备之类的移动计算设备506C;服务器计算机506D;和/或其他设备506N。应当理解,任意数量的客户端506可与计算环境502通信。本文参照图4、6示出并描述客户端506的两个示例计算体系结构。应当理解,所示客户端506以及本文中示出和描述的计算体系结构是说明性的,并且不应被解释为以任何方式进行限制。
在所示的实施例中,计算环境502包括应用服务器508、数据存储510、以及一个或多个网络接口512。根据各种实现,应用服务器508的功能可由作为网络504一部分执行或者与该网络通信的一个或多个服务器计算机提供。应用服务器508可主存各种服务、虚拟机、门户、和/或其他资源。在所示的实施例中,应用服务器508主存一个或多个虚拟机514以供主存应用或其他功能。根据多个实现,虚拟机514主存用于提供本文描述的用来将数据变换成可消费内容的功能的一个或多个应用和/或软件模块。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。应用服务器508还主存或提供对一个或多个web门户、链接页面、网站、和/或其他信息(“web门户”)516的访问。
根据各种实现,应用服务器508还包括一个或多个邮箱服务518、以及一个或多个消息收发服务520。邮箱服务518可包括电子邮件(“email”)服务。邮箱服务518还可包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、联系人管理服务、协作服务、和/或其他服务。消息收发服务520可包括但不限于即时消息收发服务、聊天服务、论坛服务、和/或其他通信服务。
应用服务器508还可以包括一个或多个社交网络服务522。社交网络服务522可以包括各种社交网络服务,包括但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频、和/或其他信息的服务;用于评论或显示对文章、产品、博客或其他资源感兴趣的服务;和/或其他服务。在一些实施例中,社交网络服务522可包括脸谱(FACEBOOK)社交网络服务、LINKEDIN专业人士网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公同事网络服务等,或者可由这些服务提供。在其他实施例中,社交网络服务522可以由可以明确或不明确地作为社交网络提供者的其他服务、站点和/或提供者提供。例如,一些网站允许用户在各种活动和/或情境(诸如阅读已发表的文章、评论商品或服务、发表、协作、游戏等)期间经由电子邮件、聊天服务、和/或其他手段彼此交互。这些服务的示例包括但不限于来自美国华盛顿州雷蒙德市微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其他服务也是可能的且是可构想的。
社交网络服务522还可以包括评论、博客、和/或微博服务。这种服务的示例包括但不限于YELP评论服务、KUDZU查看服务、OFFICETALK企业微博服务、TWITTER消息服务、GOOGLE BUZZ服务、和/或其他服务。应当理解,以上服务列表并非穷尽性的,并且为了简洁起见在本文中未提及多种附加和/或替换社交网络服务522。由此,以上实施例是说明性的,并且不应被解释为以任何方式进行限制。
如图5所示,应用服务器508还可主存其他服务、应用、门户、和/或其他资源(“其他资源”)524。因此应该明白,计算环境502可以提供本文公开并提供的概念和技术的集成,以通过各种邮箱、消息、社交网络、和/或其他服务或资源来将数据变换成可消费内容。例如,本文中公开的概念和技术可用于针对用户将社交网络数据或邮箱数据变换成视觉内容。类似地,本文中公开的概念和技术可用于将消息或其他资源变换成视觉内容。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
如上所述,计算环境502可以包括数据存储510。根据各个实现,数据存储510的功能由在网络504上操作或与之通信的一个或多个数据库来提供。数据存储510的功能也可由被配置成主存用于计算环境502的数据的一个或多个服务器计算机提供。数据存储510可以包括、主存或提供一个或多个实际或虚拟数据存储526A-526N(下文统称和/或一般地称为“数据存储526”)。数据存储526被配置成主存由应用服务器508使用或创建的数据和/或其他数据。虽然未在图5中示出,但数据存储526还可主存或存储本文中描述的数据110、输出112、规则206、世界210、数据元素212、反馈214和/或其他数据、计算机可执行指令、或其他信息。
计算环境502可与网络接口512通信或由该网络接口访问。网络接口512可以包括各种类型的网络硬件和软件,以支持包括但不限于客户端506和应用服务器508之类的两个或多个计算设备之间的通信。应当理解,网络接口单元512还可用于连接到其他类型的网络和计算机系统。
应当理解,本文中所描述的分布式计算环境500可向本文中所描述的软件元件的任何方面提供可被配置成执行本文中所公开的软件组件的任何方面的任意数量的虚拟计算资源和/或其他分布式计算功能。根据本文所公开概念和技术的多个实现,分布式计算环境500将本文中所述的软件功能作为服务提供给客户端506。应该理解,客户端506可以包括实际或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话和/或其他设备。这样,本文公开的概念和技术的各个实施例使被配置成访问分布式计算环境500的任何设备能够使用本文中所述的功能来将数据变换成可消费内容。
现在转到图6,示出能够执行本文所述的用于将数据变换成可消费内容的多个软件组件的计算设备的计算设备体系架构600。计算设备体系结构600可用于部分地由于形状因子、无线连接和/或电池供电操作而便于移动计算的计算设备。在一些实施例中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。此外,计算设备体系结构600可用于图5所示的客户端606中的任一个。此外,计算设备体系架构600的多个方面可适用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携计算机、以及上网本计算机)、服务器计算机、以及诸如参考图4所描述的其他计算机系统。例如,本文中在以下所公开的单点触摸和多点触摸方面可应用于利用触摸屏或一些其他启用触摸的设备(诸如启用触摸的跟踪板或者启用触摸的鼠标)的台式计算机。
图6所示的计算设备体系架构600包括处理器602、存储器组件604、网络连接组件606、传感器组件608、输入/输出组件610、以及功率组件612。在所示的实施例中,处理器602与存储器组件604、网络连接组件606、传感器组件608、输入/输出(“I/O”)组件610、以及功率组件612通信。虽然在图6所示的单独的组件之间未示出连接,但是这些组件可交互以实现设备功能。在一些实施例中,这些组件被安排成经由一条或多条总线(未示出)通信。
处理器602包括中央处理单元(“CPU”),该CPU被配置成处理数据、执行一个或多个应用程序的计算机可执行指令、并且与计算设备体系结构600的其他组件通信以执行本文中所描述的各种功能。处理器602可用于执行本文中所描述的软件组件的多个方面,特别是至少部分地利用启用触摸的输入的那些方面。
在一些实施例中,处理器602包括被配置成加速由CPU执行的操作的图形处理单元(GPU),包括但不限于通过执行通用科学和工程计算应用以及图形密集的计算应用(诸如高分辨率视频(例如720P、1080P以及更高)、视频游戏、三维(3D)建模应用)等等而执行的操作。在一些实施例中,处理器602被配置成与分立的GPU(未示出)通信。在任一情况下,CPU和GPU可根据共同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行而计算密集部分由GPU加速。
在一些实施例中,处理器602连同在下文中所描述的其他组件中的一个或多个为片上系统(“SoC”)或者包括在该SoC中。例如,Soc可包括处理器602、GPU、网络连接组件606中的一个或多个、以及传感器组件608中的一个或多个。在一些实施例中,可部分地利用层叠封装(“PoP”)集成电路封装技术来制造处理器602。此外,处理器602可以是单核或多核处理器。
处理器602可以根据ARM体系结构(可从英国剑桥的ARM HOLDINGS购买许可)来创建。或者,处理器602可以根据x86体系结构(诸如可从加利福尼亚州芒廷维尤的英特尔公司购得)以及其他体系结构来创建。在一些实施例中,处理器602是可从美国加利福尼亚州圣地亚哥市高通公司购得的SNAPDRAGON SoC、可从美国加利福尼亚州圣巴巴拉市的NVIDIA购得的TEGRASoC、可从韩国首尔市三星公司购得的HUMMINGBIRD SoC、可从美国德克萨斯州达拉斯市德州仪器公司购得的开放式多媒体应用平台(“OMAP”)SoC、以上SoC中的任一个的定制版、或者专有SoC。
存储器组件604包括随机存取存储器(“RAM”)614、只读存储器(“ROM”)616、集成存储器(“集成存储”)618、以及可移动存储存储器(“可移动存储”)620。在一些实施例中,RAM614或其部分、ROM 616或其部分和/或RAM 614和ROM 616的某种组合可以集成在处理器602中。在一些实施例中,ROM 616被配置成存储固件、操作系统或其一部分(例如,操作系统内核)、和/或从集成存储618或可移动存储620加载操作系统内核的引导装入器(bootloader)。
集成存储618可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储618可焊接或以其他方式连接到逻辑板,该逻辑板还可连接有处理器602以及本文中所描述的其他组件。由此,集成存储618集成在计算设备中。集成存储618被配置成存储操作系统或其多个部分、应用程序、数据、以及本文中所描述的其他软件组件。
可移动存储620可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些实施例中,提供可移动存储620来代替集成存储618。在其他实施例中,提供可移动存储620作为附加的任选存储。在一些实施例中,可移动存储620在逻辑上与集成存储618组合,以使全部可用的存储变得可用且示出给用户作为集成存储618和可移动存储620的总组合容量。
可移动存储620被配置成插入通过其插入和紧固可移动存储620以便于连接的可移动存储存储器槽(未示出)或其他机构,通过该连接可移动存储620可与诸如处理器602之类的计算设备其他组件通信。可移动存储620可以具体化为各种存储器卡格式,包括但不限于PC卡、CompactFlash卡、存储器棒、安全数字(“SD”)、小型SD(miniSD)、微型SD(microSD)、通用集成电路卡(“UICC”)(例如,订户身份模块(“SIM”)或通用SIM(“USIM))、私有格式等。”
可以理解,存储器组件604的一个或多个可存储操作系统。根据各个实施例,操作系统包括但不限于来自SYMBIAN有限公司的SYMBIAN OS、来自美国华盛顿州雷蒙德市微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自美国加利福尼亚州帕洛阿尔托市惠普(Hewlett-Packard)公司的PALM WEBOS、来自加拿大安大略省沃特卢市的运动研究有限公司(Research IN Motion Limited)的BLACKBERRY OS、来自美国加利福尼亚州库珀蒂诺市苹果公司的IOS、以及来自美国加利福尼亚州芒廷维尤市谷歌公司的ANDROID OS。可构想其他操作系统。
网络连接组件606包括无线广域网组件(“WWAN组件”)622、无线局域网组件(“WLAN组件”)624、以及无线个域网组件(“WPAN组件”)626。网络连接组件606便于与网络628的往返通信,该网络可以是WWAN、WLAN、或WPAN。虽然示出单个网络628,但是网络连接组件606可便于与多个网络的同时通信。例如,网络连接组件606可便于经由WWAN、WLAN、或WPAN中的一个或多个与多个网络的同时通信。
在一些实施例中,网络628的功能由网络104、504中的一个或多个提供。在一些实施例中,网络628包括网络104、504中的一个或多个。在一些其他实施例中,网络628提供对网络104、504中的一个或多个的访问。
网络628可以是WWAN,诸如利用一种或多种移动电信技术经由WWAN组件622向利用计算设备体系架构600的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)系统、CDMA2000、通用移动电信系统(“UMTS”)、长期演进(“LTE”)、以及微波接入全球互通(“WiMax)。”此外,网络628可利用各种信道接入方法(它们可被或可不被上述标准使用),这些信道接入方法包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分多路复用(“OFDM”)、空分多址(“SDMA)等。”可使用通用分组无线电业务(“GPRS”)、全球演进的增强型数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)的高速分组接入(“HSPA”)协议系列、演进HSPA(“HSPA+”)、LTE、以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络628可被配置成通过以上技术的任意组合提供语音和/或数据通信。网络628可被配置成调适成根据未来的生成技术提供语音和/或数据通信。
在一些实施例中,WWAN组件622被配置成提供到网络628的双模、多模连接。例如,WWAN组件622可被配置成提供到网络628的连接,其中网络628经由GSM和UMTS技术、或者经由技术的一些其他组合提供服务。替换地,多个WWAN组件622可用于执行这种功能和/或提供附加功能以支持其他非兼容技术(即,无法被单个WWAN组件支持)。WWAN组件622可便于与多个网络(例如,UMTS网络和LTE网络)的类似连接。
网络628可以是根据一个或多个电气和电子工程师学会(“IEEE”)802.11标准(诸如IEEE 802.11a、802.11b、802.11g、802.11n、和/或未来的802.11标准(在此被称为WI-FI))而操作的WLAN。还可构想802.11标准草案。在一些实施例中,利用一个或多个无线WI-FI接入点来实现WLAN。在一些实施例中,用作WI-FI热点的一个或多个无线WI-FI接入点是与WWAN连接的另一计算设备。WLAN组件624被配置成经由WI-FI接入点连接到网络628。可经由加密技术来确保这些连接,这些加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等效加密(“WEP)等。”
网络628可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或者一些其他近程无线技术操作的WPAN。在一些实施例中,WPAN组件626被配置成便于经由WPAN与诸如外围设备、计算机、或者其他计算设备之类的其他设备的通信。
传感器组件608包括磁力计630、环境光传感器632、邻近传感器634、加速度计636、陀螺仪638、以及全球定位系统传感器(“GPS传感器”)640。可构想其他传感器(诸如但不限于温度传感器或震动检测传感器)也可结合到计算设备体系结构600中。
磁力计630被配置成测量磁场的强度和方向。在一些实施例中,磁力计630向存储在存储器组件604之一内的罗盘应用程序提供测量值以向用户提供包括基本方向、北、南、东和西的参照系中的准确方向。可将类似的测量值提供给包括罗盘组件的导航应用程序。可构想磁力计630所获取的测量值的其他用途。
环境光传感器632被配置成测量环境光。在一些实施例中,环境光传感器632提供对存储在一个存储器组件604内的应用程序的测量,从而自动地调整显示器的亮度(在下文中描述)以补偿低光和高光环境。可构想环境光传感器632所获取的测量值的其他用途。
邻近传感器634被配置成检测邻近计算设备而不直接接触的对象或物体的存在。在一些实施例中,邻近传感器634检测用户身体(例如,用户的脸部)的存在性,并且将该信息提供给存储在存储器组件604之一内的应用程序,该存储器组件利用邻近信息来启用或禁用计算设备的一些功能。例如,电话应用程序可响应于接收到邻近信息自动地禁用触摸屏(在下文中描述),以使用户的脸部在呼叫期间不会无意地结束呼叫或者启用/禁用电话应用程序内的其他功能。可构想如邻近传感器634检测到的接近度的其他用途。
加速度计636被配置成测量准确的加速。在一些实施例中,来自加速度计636的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计636接收到的输入移动或以其他方式操纵字符、其一部分、或者对象。在一些实施例中,将来自加速度计636的输出被提供给应用程序以供在横向和纵向模式之间切换时使用,从而计算坐标加速或检测下降。可构想加速度计636的其他用途。
陀螺仪638被配置成测量和维持定向。在一些实施例中,来自陀螺仪638的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,陀螺仪638可用于准确地识别在视频游戏应用或一些其他应用的3D环境内的移动。在一些实施例中,应用程序利用来自陀螺仪638和加速度计636的输出来增强对应用程序的一些功能的控制。可构想陀螺仪638的其他用途。
GPS传感器640被配置成接收来自GPS卫星的信号,以供在计算位置时使用。GPS传感器640计算的位置可被需要位置信息或者受益于该位置信息的任何应用程序使用。例如,GPS传感器640计算的位置可与导航应用程序一起使用,以提供从该位置到目的地的方向、或者从目的地到该位置的方向。此外,GPS传感器640可用于将位置信息提供给基于外部位置的服务,诸如E911服务。GPS传感器640可在获取位置方位时利用网络连接组件606中的一个或多个来辅助GPS传感器640获取经由WI-FI、WIMAX、和/或蜂窝三角测量技术而生成的位置信息。GPS传感器640还可用于辅助GPS(“A-GPS”)系统中。
I/O组件610包括显示器642、触摸屏644、数据I/O接口组件(“数据I/O”)646、音频I/O接口组件(“音频I/O”)648、视频I/O接口组件(“视频I/O”)650、以及相机652。在一些实施例中,显示器642和触摸屏644组合。在一些实施例中,数据I/O组件646、音频I/O组件648、以及视频I/O组件650中的两个或更多个组合。I/O组件610可包括被配置成支持在下文中所描述的各种接口的分立处理器,或者可包括构建到处理器602中的处理功能。
显示器642是被配置成呈现视觉形式的信息的输出设备。具体而言,显示器642可呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些实施例中,显示器642是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些实施例中,显示器642是有机发光二极管(“OLED”)显示器。可构想其他显示器类型。
触摸屏644是被配置成检测触摸的存在和位置的输入设备。触摸屏644可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可利用任何其他触摸屏技术。在一些实施例中,触摸屏644结合到显示器642的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器642上所呈现的对象或其他信息交互。在其他实施例中,触摸屏644是结合到不包括显示器642的计算设备的表面上的触摸垫。例如,计算设备可具有结合到显示器642的顶部的触摸屏以及与显示器642相对的表面上的触摸垫。
在一些实施例中,触摸屏644是单点触摸触摸屏。在其他实施例中,触摸屏644是多点触摸触摸屏。在一些实施例中,触摸屏644被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为姿势。现在将描述若干姿势。应当理解,这些姿势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的姿势、附加姿势、和/或替换姿势可在软件中实现以与触摸屏644一起使用。由此,开发者可创建特定应用程序专用的姿势。
在一些实施例中,触摸屏644支持轻叩姿势,其中用户在显示器644上所呈现的项目上轻叩触摸屏644一次。出于各种原因,可使用轻叩姿势,这些原因包括但不限于打开或启动用户轻叩的任何事物。在一些实施例中,触摸屏644支持双轻叩姿势,其中用户在显示器642上所呈现的项目上轻叩触摸屏644两次。出于各种原因,可使用双轻叩姿势,这些原因包括但不限于分多级放大或缩小。在一些实施例中,触摸屏644支持轻叩并保持姿势,其中用户轻叩触摸屏644并维持接触达至少预定义时间。出于各种原因,可使用轻叩并保持姿势,这些原因包括但不限于打开上下文特定的菜单。
在一些实施例中,触摸屏644支持平移姿势,其中用户将手指放置在触摸屏644上并维持与触摸屏644的接触,同时在触摸屏644上移动手指。出于各种原因,可使用平移姿势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移姿势。在一些实施例中,触摸屏644支持轻拂姿势,其中用户在用户想要屏幕移动的方向上划动(swipe)手指。出于各种原因,可使用轻拂姿势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些实施例中,触摸屏644支持收窄和张开姿势,其中用户在触摸屏644上用两个手指(例如,拇指和食指)进行收窄运动或者将两个手指张开。出于各种原因,可使用收窄和张开姿势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
虽然已参考将一个或多个手指用于执行姿势来描述了以上姿势,但是诸如脚趾之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏644交互。如此,以上姿势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
数据I/O接口组件646被配置成便于数据输入到计算设备以及从计算设备输出数据。在一些实施例中,例如出于同步操作的目的,数据I/O接口组件646包括被配置成提供计算设备和计算机系统之间的有线连接的连接器。连接器可以是专有连接器或标准化连接器,诸如USB、微型USB、小型USB等。在一些实施例中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备之类的另一设备对接的对接连接器。
音频I/O接口组件648被配置成向计算设备提供音频输入和/或输出能力。在一些实施例中,音频I/O接口组件646包括被配置成收集音频信号的话筒。在一些实施例中,音频I/O接口组件646包括被配置成向耳机或其他外部扬声器提供连接的耳机插孔。在一些实施例中,音频接口组件648包括用于输出音频信号的扬声器。在一些实施例中,音频I/O接口组件646包括光学音频电缆输出。
视频I/O接口组件650被配置成向计算设备提供视频输入和/或输出能力。在一些实施例中,视频I/O接口组件650包括被配置成接收视频作为来自另一设备(例如,诸如DVD或蓝光播放器之类的视频媒体播放器)的输入或者将视频作为输出发送到另一设备(例如,监视器、电视、或者一些其他外部显示器)的视频连接器。在一些实施例中,视频I/O接口组件650包括高清晰度多媒体接口(“HDMI”)、小型HDMI、微型HDMI、显示器端口、或者到输入/输出视频内容的专有连接器。在一些实施例中,视频I/O接口组件650或其一部分与音频I/O接口组件648或其一部分组合。
相机652可被配置成捕捉静止图像和/或视频。相机652可利用电荷耦合设备(“CCD”)或互补金属氧化物半导体(“CMOS)图像传感器来捕捉图像。”在一些实施例中,相机652包括在低光环境中辅助拍摄图片的闪光灯。相机652的设置可被实现为硬件或软件按钮。
虽然未示出,但是还可在计算设备体系结构600中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是基于机械或传感器的。
所示的功率组件612包括可连接到电池量表(gauge)656的一个或多个电池654。电池654可以是再充电的或者一次性的。再充电的电池类型包括但不限于锂聚合物、锂电池、镍镉、以及镍金属氢化物。每一电池654可由一个或多个电池单元制成。
电池量表656可被配置成测量电池参数,诸如电流、电压、以及温度。在一些实施例中,电池量表656被配置成测量电池的放电速率、温度、使用年限、以及其他因素的影响以在特定百分比误差内预测剩余寿命。在一些实施例中,电池量表656向应用程序提供测量值,该应用程序被配置成利用这些测量值将有用的功率管理数据呈现给用户。功率管理数据可包括所使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余电容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
功率组件612还可包括功率连接器,该功率连接器可与上述I/O组件610中的一个或多个组合。功率组件612可经由功率I/O组件644与外部功率系统或充电装备进行接口连接。
基于上述内容,应当理解,本文已经公开了用于将数据变换成可消费内容的技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。

Claims (20)

1.一种用于变换数据的计算机实现的方法,所述计算机实现的方法包括执行计算机实现的操作,用于:
在计算设备处,分析数据以识别所述数据内的多个数据元素之间的关系;
至少部分地基于所述关系来获得用于将所述数据应用于世界的规则,所述世界定义要应用于所述多个数据元素的可视化模型;以及
将所述规则应用于所述数据以生成输出,所述输出包括根据所述世界来安排的所述多个数据元素中的至少一个。
2.如权利要求1所述的方法,还包括:
在与所述计算设备相关联的显示设备处呈现所述输出;以及
从所述计算设备的用户获得反馈。
3.如权利要求2所述的方法,还包括:
至少部分地基于所述反馈来确定是否要修改所述输出;以及
响应于确定要修改所述输出,根据所述反馈来修改所述输出。
4.如权利要求3所述的方法,其中,所述反馈包括所述输出的一方面被所述用户喜欢的指示。
5.如权利要求3所述的方法,其中,所述反馈包括所述输出的一方面不被所述用户喜欢的指示,并且其中,所述一方面包括所述输出内数据的重点、分组或顺序中的至少一个。
6.如权利要求1所述的方法,还包括:
确定要应用于所述多个数据元素的至少一个变型以区分所述输出;
基于所述变型和所述关系来确定所述可视化模型;以及
至少部分地基于所述可视化模型和所述关系来选择所述世界。
7.如权利要求1所述的方法,其中,所述计算设备被配置为执行变换引擎,并且其中,所述变换引擎包括剖析和理解模块、变型模块、世界选择器模块、设计规则模块以及创作模块。
8.如权利要求1所述的方法,其中,所述数据包括呈现文档,并且其中,所述输出包括其它的呈现文档。
9.一种计算机存储介质,具有存储于其上的计算机可读指令,所述计算机可读指令在被计算机执行时,使得所述计算机:
分析数据以识别所述数据内的多个数据元素之间的关系;
至少部分地基于所述关系来获得用于将所述数据应用于世界的规则,所述世界定义要应用于所述多个数据元素的可视化模型;以及
将所述规则应用于所述数据以生成输出,所述输出包括根据所述世界来安排的所述多个数据元素。
10.如权利要求9所述的计算机存储介质,还包括在被所述计算机执行时使得所述计算机进行以下操作的计算机可读指令:
确定要应用于所述多个数据元素中的至少一个的至少一个变型以区分所述输出;
基于所述变型和所述关系来确定所述可视化模型;以及
至少部分地基于所述可视化模型和所述关系来选择所述世界。
11.如权利要求9所述的计算机存储介质,还包括在被所述计算机执行时使得所述计算机进行以下操作的计算机可读指令:
在与所述计算机相关联的显示设备处呈现所述输出;以及
从所述计算机的用户获得反馈。
12.如权利要求11所述的计算机存储介质,其中,所述反馈包括所述输出的一方面被喜欢的指示。
13.如权利要求11所述的计算机存储介质,其中,所述反馈包括所述输出的一方面不被喜欢的指示。
14.如权利要求9所述的计算机存储介质,其中,所述计算机执行变换引擎,所述变换引擎包括:
剖析和理解模块,被配置为确定所述关系;
变型模块,用于确定对所述数据元素的变型;以及
世界选择器模块,用于确定所述世界。
15.如权利要求9所述的计算机存储介质,还包括在被所述计算机执行时使得所述计算机进行以下操作的计算机可读指令:
在与所述计算机相关联的显示设备处呈现所述输出;
从所述计算机的用户获得反馈;
至少部分地基于所述反馈来确定是否要修改所述输出;以及
响应于确定要修改所述输出,根据所述反馈来修改所述输出。
16.如权利要求15所述的计算机存储介质,其中,所述计算机执行变换引擎,所述变换引擎包括:
剖析和理解模块,被配置为确定离散的子内容、关系和重点;
变型模块,用于确定对所述数据元素的变型;
世界选择器模块,用于确定所述世界;以及
创作模块,用于获得所述反馈并确定是否要修改所述输出。
17.如权利要求16所述的计算机存储介质,其中,所述数据包括呈现文档,并且其中,所述输出包括其它的呈现文档。
18.如权利要求19所述的计算机存储介质,其中,所述关系包括所述多个数据元素之间的层次。
19.一种计算机,包括:
处理器;以及
与所述处理器通信的计算机可读存储介质,所述计算机可读存储介质具有存储于其上的计算机可读指令,所述计算机可读指令在被所述处理器执行时使得所述处理器:
分析数据以识别所述数据内的多个数据元素之间的关系;
至少部分地基于所述关系来获得用于将所述数据应用于世界的规则,所述世界定义要应用于所述多个数据元素的可视化模型;
将所述规则应用于所述数据以生成输出,所述输出包括根据所述规则来安排的所述多个数据元素;
在显示设备处呈现所述输出;
获得反馈,所述反馈包括所述输出的一方面被喜欢的指示或者所述输出的所述一方面不被喜欢的指示中的至少一个;
至少部分地基于所述反馈来确定要修改所述输出;以及
响应于确定要修改所述输出,根据所述反馈来修改所述输出。
20.如权利要求19所述的计算机,其中,所述处理器执行变换引擎,所述变换引擎包括:
剖析和理解模块,被配置为确定所述关系;
变型模块,用于确定对所述数据元素的变型;
世界选择器模块,用于确定所述世界;以及
创作模块,用于获得所述反馈并确定是否要修改所述输出。
CN201610802407.5A 2012-06-08 2013-05-29 将数据变换成可消费的内容 Pending CN106354697A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/491,612 US8990140B2 (en) 2012-06-08 2012-06-08 Transforming data into consumable content
US13/491,612 2012-06-08
CN201380030239.7A CN104350493B (zh) 2012-06-08 2013-05-29 将数据变换成可消费的内容

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380030239.7A Division CN104350493B (zh) 2012-06-08 2013-05-29 将数据变换成可消费的内容

Publications (1)

Publication Number Publication Date
CN106354697A true CN106354697A (zh) 2017-01-25

Family

ID=48614162

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201610802407.5A Pending CN106354697A (zh) 2012-06-08 2013-05-29 将数据变换成可消费的内容
CN201380030239.7A Active CN104350493B (zh) 2012-06-08 2013-05-29 将数据变换成可消费的内容
CN201610801504.2A Pending CN106407163A (zh) 2012-06-08 2013-05-29 将数据变换成可消费的内容

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201380030239.7A Active CN104350493B (zh) 2012-06-08 2013-05-29 将数据变换成可消费的内容
CN201610801504.2A Pending CN106407163A (zh) 2012-06-08 2013-05-29 将数据变换成可消费的内容

Country Status (5)

Country Link
US (3) US8990140B2 (zh)
EP (1) EP2859467A1 (zh)
CN (3) CN106354697A (zh)
TW (3) TWI599898B (zh)
WO (1) WO2013184451A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143262A1 (en) * 2006-06-15 2015-05-21 Social Commenting, Llc System and method for viewers to comment on television programs for display on remote websites using mobile applications
US8990140B2 (en) * 2012-06-08 2015-03-24 Microsoft Technology Licensing, Llc Transforming data into consumable content
US10025857B2 (en) * 2012-06-27 2018-07-17 Joel Chetzroni Slideshow builder and method associated thereto
US9595298B2 (en) 2012-07-18 2017-03-14 Microsoft Technology Licensing, Llc Transforming data to create layouts
US9009092B2 (en) * 2012-07-19 2015-04-14 Microsoft Technology Licensing, Llc Creating variations when transforming data into consumable content
US10643263B2 (en) * 2013-02-13 2020-05-05 Rentpath, Llc Method and apparatus for apartment listings
US20150127505A1 (en) * 2013-10-11 2015-05-07 Capital One Financial Corporation System and method for generating and transforming data presentation
JP6191701B2 (ja) * 2013-11-11 2017-09-06 日本電気株式会社 Pos端末装置、商品認識方法及びプログラム
TW201525858A (zh) * 2013-12-31 2015-07-01 Ibm 基板管理控制器與其韌體載入方法
US9646096B2 (en) * 2014-06-03 2017-05-09 Go Daddy Operating Company, LLC System and methods for analyzing and improving online engagement
CN106293444B (zh) * 2015-06-25 2020-07-03 小米科技有限责任公司 移动终端、显示控制方法及装置
US11049161B2 (en) * 2016-06-20 2021-06-29 Mimeo.Com, Inc. Brand-based product management with branding analysis
US11481550B2 (en) * 2016-11-10 2022-10-25 Google Llc Generating presentation slides with distilled content
US10380228B2 (en) 2017-02-10 2019-08-13 Microsoft Technology Licensing, Llc Output generation based on semantic expressions
US10628217B1 (en) * 2017-09-27 2020-04-21 Amazon Technologies, Inc. Transformation specification format for multiple execution engines
CN109041124B (zh) * 2018-09-11 2021-11-30 武汉维力克科技有限公司 一种基于ZigBee网络的数据共享系统
US10699069B2 (en) * 2018-10-11 2020-06-30 International Business Machines Corporation Populating spreadsheets using relational information from documents
US11269812B2 (en) * 2019-05-10 2022-03-08 International Business Machines Corporation Derived relationship for collaboration documents
US11717756B2 (en) * 2020-09-11 2023-08-08 Sony Group Corporation Content, orchestration, management and programming system

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6392671B1 (en) 1998-10-27 2002-05-21 Lawrence F. Glaser Computer pointing device having theme identification means
US7076737B2 (en) 1998-12-18 2006-07-11 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US7340676B2 (en) 2000-12-29 2008-03-04 Eastman Kodak Company System and method for automatic layout of images in digital albums
US6775675B1 (en) 2001-04-04 2004-08-10 Sagemetrics Corporation Methods for abstracting data from various data structures and managing the presentation of the data
US8539344B2 (en) * 2001-11-19 2013-09-17 Ricoh Company, Ltd. Paper-based interface for multimedia information stored by multiple multimedia documents
US7912246B1 (en) 2002-10-28 2011-03-22 Videomining Corporation Method and system for determining the age category of people based on facial images
US20040130566A1 (en) 2003-01-07 2004-07-08 Prashant Banerjee Method for producing computerized multi-media presentation
TWI241824B (en) 2003-10-31 2005-10-11 Benq Corp Mobile phone and related method for displaying text message with various background images
US7274832B2 (en) 2003-11-13 2007-09-25 Eastman Kodak Company In-plane rotation invariant object detection in digitized images
US20060048042A1 (en) 2004-08-30 2006-03-02 Xerox Corporation Individually personalized customized report document system with user feedback
US20060085740A1 (en) * 2004-10-20 2006-04-20 Microsoft Corporation Parsing hierarchical lists and outlines
US7383499B2 (en) 2004-12-30 2008-06-03 Microsoft Corporation System and method for dynamically creating a destination template
US7715586B2 (en) 2005-08-11 2010-05-11 Qurio Holdings, Inc Real-time recommendation of album templates for online photosharing
JP4555197B2 (ja) 2005-09-16 2010-09-29 富士フイルム株式会社 画像レイアウト装置および方法並びにプログラム
JP2007116658A (ja) 2005-09-26 2007-05-10 Fujifilm Corp 画像集作成システム、画像集作成方法および画像集作成プログラム
KR100703704B1 (ko) 2005-11-02 2007-04-06 삼성전자주식회사 동적 영상물 자동 생성 장치 및 방법
US20080092057A1 (en) 2006-10-05 2008-04-17 Instrinsyc Software International, Inc Framework for creation of user interfaces for electronic devices
EP2115662B1 (en) 2007-02-28 2010-06-23 Fotonation Vision Limited Separating directional lighting variability in statistical face modelling based on texture space decomposition
US7880076B2 (en) 2007-04-03 2011-02-01 Master Key, Llc Child development and education apparatus and method using visual stimulation
US20090278937A1 (en) 2008-04-22 2009-11-12 Universitat Stuttgart Video data processing
US8677235B2 (en) * 2008-05-13 2014-03-18 Microsoft Corporation Ranking visualization types based upon fitness for visualizing a data set
US8866816B2 (en) 2008-06-20 2014-10-21 New Bis Safe Luxco S.A R.L Dimension reducing visual representation method
US20100037273A1 (en) 2008-08-07 2010-02-11 Brian Dressel Interactive video presentation
US8385971B2 (en) * 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
US8775918B2 (en) * 2008-10-07 2014-07-08 Visual Software Systems Ltd. System and method for automatic improvement of electronic presentations
US8745086B2 (en) * 2008-12-05 2014-06-03 New BIS Safe Luxco S.á.r.l. Methods, apparatus and systems for data visualization and related applications
US20110055722A1 (en) 2009-09-02 2011-03-03 Ludwig Lester F Data Visualization Environment with DataFlow Processing, Web, Collaboration, Advanced User Interfaces, and Spreadsheet Visualization
US8494259B2 (en) 2009-12-28 2013-07-23 Teledyne Scientific & Imaging, Llc Biologically-inspired metadata extraction (BIME) of visual data using a multi-level universal scene descriptor (USD)
US8656291B2 (en) * 2010-03-12 2014-02-18 Salesforce.Com, Inc. System, method and computer program product for displaying data utilizing a selected source and visualization
US9396492B2 (en) 2010-10-15 2016-07-19 Opentable, Inc. Computer system and method for analyzing data sets and providing personalized recommendations
US9152616B2 (en) 2011-04-28 2015-10-06 Flipboard, Inc. Template-based page layout for web content
US8488916B2 (en) * 2011-07-22 2013-07-16 David S Terman Knowledge acquisition nexus for facilitating concept capture and promoting time on task
CN102360368B (zh) * 2011-10-09 2014-07-02 山东大学 基于抽取模板可视化定制的Web数据抽取方法
US9262385B2 (en) 2012-05-16 2016-02-16 Sap Portals Israel Ltd Automatic retrieval of themes and other digital assets from an organizational website
US8990140B2 (en) * 2012-06-08 2015-03-24 Microsoft Technology Licensing, Llc Transforming data into consumable content
US20140025650A1 (en) 2012-07-18 2014-01-23 Microsoft Corporation Abstract relational model for transforming data into consumable content
US9595298B2 (en) 2012-07-18 2017-03-14 Microsoft Technology Licensing, Llc Transforming data to create layouts
US9009092B2 (en) 2012-07-19 2015-04-14 Microsoft Technology Licensing, Llc Creating variations when transforming data into consumable content
US9311338B2 (en) * 2013-08-26 2016-04-12 Adobe Systems Incorporated Method and apparatus for analyzing and associating behaviors to image content

Also Published As

Publication number Publication date
TW201719462A (zh) 2017-06-01
US9208216B2 (en) 2015-12-08
US20150178376A1 (en) 2015-06-25
WO2013184451A1 (en) 2013-12-12
US8990140B2 (en) 2015-03-24
CN104350493A (zh) 2015-02-11
TW201407391A (zh) 2014-02-16
CN106407163A (zh) 2017-02-15
EP2859467A1 (en) 2015-04-15
TW201719461A (zh) 2017-06-01
US20160085786A1 (en) 2016-03-24
TWI599898B (zh) 2017-09-21
US20130332475A1 (en) 2013-12-12
CN104350493B (zh) 2017-08-25

Similar Documents

Publication Publication Date Title
CN104471564B (zh) 在将数据变换成可消费内容时创建变型
CN104350493B (zh) 将数据变换成可消费的内容
CN107077460A (zh) 结构化样本创作内容
CN106575360B (zh) 图表数据的增强识别
CN104471565A (zh) 用于将数据变换成可消费内容的抽象关系模型
CN106796582A (zh) 建议内容的动态呈现
CN104541270B (zh) 在电子表格应用中显示时间信息
CN106796581A (zh) 用于内容数据的布局的基于用户意图的生成
CN106796731A (zh) 优化所显示的文本的易读性
CN106796518A (zh) 基于意图的反馈
CN105934756B (zh) 索引电子表格结构属性以供搜索
CN107077458A (zh) 推断布局意图
CN109074351A (zh) 文档协作发现
CN107567610A (zh) 附连控制元素的混合环境显示
TW201610815A (zh) 字元安排的強化解讀
CN107077749A (zh) 优化媒体的视觉显示
CN106537371B (zh) 可视化建议
CN108369595B (zh) 可收集数据结构的可扩展性
CN109074392A (zh) 知晓上下文的资源管理器
US11526322B2 (en) Enhanced techniques for merging content from separate computing devices
WO2020046452A1 (en) Computationally efficient human-computer interface for collaborative modification of content
CN106537382A (zh) 查询建议
CN103257997A (zh) 为视频及其他媒体内容启用复制和粘贴功能
CN109564577A (zh) 对数据实例的高效去规范化
CN107810523A (zh) 数据可视化的智能配置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170125