利用联合图像-音频查询的搜索的制作方法

文档序号:14257778阅读:187来源:国知局
利用联合图像-音频查询的搜索的制作方法

本说明书涉及处理查询,特别地涉及包括图像和关联音频二者的查询。



背景技术:

因特网提供对广泛多种资源(例如,视频文件、图像文件、音频文件或者网页)的访问,这些文件或者网页包括用于特定主题、书籍文章或者消费者产品的内容。搜索系统可以响应于接收搜索查询来选择一个或者多个资源。搜索查询是用户向搜索引擎提交的用于满足用户的信息需要的数据。搜索系统基于资源与搜索查询的相关度对资源进行选择和打分。通常根据分数对搜索结果排序并且在搜索结果页面中提供搜索结果。

为了搜索图像资源,搜索系统可以基于图像位于其中的资源的文本内容并且也基于与图像关联的相关度反馈确定图像与文本查询的相关度。一些搜索系统通过使用查询图像作为输入来搜索图像资源。查询图像是如下图像(比如jpeg文件),搜索引擎使用该图像作为向搜索处理操作的输入。可以通过处理其它图像并且标识视觉外观与查询图像相似的图像来发现有关图像。查询图像的使用随着包括相机的智能电话的问世而正在变得更盛行得多。例如,使用智能电话,用户现在可以拍摄感兴趣的主题的图片并且向搜索引擎提交图片。搜索引擎然后使用图片作为查询图像来搜索图像资源。

然而,查看者以比文本更主观得多的方式解释图像。因此,尽管标识的图像可以外观与查询图像相似,但是图像中的许多图像可能未让查看者感兴趣。例如,用户可以对汽车的图像进行搜索。用户可以对该品牌的其它汽车感兴趣,但是仅基于视觉相似度的图像搜索可能返回不同品牌的汽车的图像。



技术实现要素:

一般而言,可以在包括以下动作的方法中体现在本说明书中描述的主题内容的一个创新方面:从客户端设备接收联合图像-音频查询,联合图像-音频查询包括定义查询图像的查询图像数据和定义查询音频的查询音频数据;从查询图像数据确定查询图像特征数据,查询图像特征数据描述查询图像的图像特征;从音频数据确定查询音频特征数据,查询音频特征数据描述查询音频的音频特征;向联合图像-音频相关度模型提供查询图像特征数据和查询音频特征数据,联合图像-音频相关度模型被训练用于生成用于多个资源的相关度分数,其中每个资源包括定义用于资源的资源图像的资源图像数据和定义用于资源的资源文本的文本数据,并且其中每个相关度分数是对应资源与联合图像-音频查询的相关度的测量;根据对应相关度分数对资源排序;以及向客户端设备提供定义搜索结果的数据,搜索结果指示资源的顺序。这一方面的其它实施例包括被配置用于执行方法的动作的系统、装置和在计算机存储设备上编码的计算机程序。

可以在包括以下动作的方法中实施在本说明书中描述的主题内容的另一方面:访问描述多个注释对的图像注释数据,每个注释对包括定义图像的图像数据和与图像关联的文本数据;访问资源,每个资源定义用于资源的资源图像并且文本数据定义用于资源的资源文本的;以及对图像注释数据和资源训练联合图像-音频相关度模型以生成用于多个资源的相关度分数,并且其中每个相关度分数是对应资源与联合图像-音频查询的相关度的测量,联合图像-音频查询包括定义查询图像的查询图像数据和定义查询音频的查询音频数据。这一方面的其它实施例包括被配置用于执行方法的动作的对应系统、装置和在计算机存储设备上编码的计算机程序。

可以实施在本说明书中描述的主题内容的特定实施例以便实现以下优点中的一个或者多个优点。向图像查询添加音频数据可以提高关于查询的搜索结果的相关度。可以通过提供如下信息(该信息可以辅助系统提取图像中的感兴趣的对象)而且还通过提供如下信息(该信息超出可以在图像中发现的内容补充用户的搜索)来增进相关度。也可以用各种其它方式添加这一信息。在一些实施例中,用户可以通过使用触屏在图像上绘制圆圈来选择图像的一部分作为包含感兴趣的对象。用户也可以比圆圈或者其它形状更接近地描绘感兴趣的对象的轮廓并且也可以使用其它输入方法来绘制轮廓。在一些实施例中,用户可以使用下拉菜单框来添加关于图像的附加信息。菜单框可以具有不同物品类别、比如包括鞋、衬衫、短裤和其它相似类别的购物类别。

在附图和下文描述中阐述在本说明书中描述的主题内容的一个或者多个实施例的细节。主题内容的其它特征、方面和优点将从描述、附图和权利要求中变得清楚。

附图说明

图1是示例环境的框图,在该环境中,联合图像-音频搜索系统提供搜索服务。

图2A和图2B是用于联合图像-音频查询的示例图像。

图3A是用于查询联合图像-音频搜索系统的示例过程的框图。

图3B是用于训练联合图像-音频相关度模型的示例过程的框图。

图4是用于训练联合图像-音频相关度模型的示例过程的流程图。

图5是用于对用于联合图像-音频查询的资源排名的示例过程的流程图。

具体实施方式

§1.0概述

在移动电话上运行的应用允许用户拍摄对象的图片并且向电话中讲话以记录用户的语音。配对音频记录与图像以形成联合图像-音频查询。移动设备然后向搜索系统提交联合图像-音频查询。

搜索系统接收联合图像-音频查询并且从语音确定文本数据而且从图像生成图像特征数据。搜索系统使用文本数据和图像特征数据作为向联合图像-音频相关度模型中的输入,该模型比较资源与输入的数据。资源可以是在因特网上发现的资源中的任何资源,这些资源包括网页、文档、图像和视频。作为一个示例,每个资源可以是用于产品的文档,该文档包括产品的图像和产品的关联文本数据。联合图像-音频相关度模型比较查询图像特征数据与每个资源的图像特征数据以及查询文本数据与对应资源文本数据而且计算用于每个资源的相关度分数。系统根据相关度分数对资源排序并且向用户呈现搜索结果。搜索结果包括指向排序的资源的链接并且也可以包括关于每个资源的附加信息,例如资源图像的缩略图或者资源文本的子集。

为了联合图像-音频相关度模型确定联合图像-音频查询与资源的相关度,首先训练模型。训练模型涉及到使用图像注释数据,该图像注释数据是注释对。每个注释对和是与图像关联的文本数据配对的图像。将这些注释对与用于注释对的训练和测试资源一起用作向联合图像-音频相关度模型的训练输入。训练联合图像-音频相关度模型直至以如由一个或者多个标准定义的那样被视为可接受的方式对训练资源排名。

图1是示例环境100的框图,在该环境中,联合图像-音频搜索系统106提供搜索服务。示例环境100包括将用户设备102连接到搜索系统106的网络104,比如因特网。用户设备102通过网络104向搜索系统106传输包括配对图像122和音频124的联合图像-音频查询120。示例音频124是语音记录。系统106处理图像122和音频124数据并且比较它们与资源116的汇集,从而计算用于每个资源116的相关度分数。系统106按照这些资源116的相关度分数对这些资源排名并且向用户设备102发送搜索结果的列表,每个搜索结果包括指向对应资源的资源链接130。

用户设备102是在用户的控制之下并且能够通过网络104请求和接收资源116的电子设备。示例用户设备102包括可以通过网络发送和接收数据的个人计算机、移动通信设备和其它设备。用户设备102通常包括用于有助于通过网络104发送和接收数据的用户应用,例如web浏览器。用户设备102也可以包括用于获取图像122和音频124的相机和麦克风。用户设备也包括配对音频124与图像122以形成联合图像-音频查询的应用。查询音频124通常包括提供关于图像122或者关于用户的搜索参数的更多信息的语音数据。

举例而言,假设用户搜寻水瓶,并且查询图像122是由用户设备102拍摄的水瓶的图片。例如,参照图2A。在图2A中,图像可以包括多于仅水瓶。在拍摄图像之后,用户通过用查询音频124“水瓶”扩充查询图像122来指定水瓶是图片中的感兴趣的对象。备选地,用户可以例如通过包括“红水瓶”作为查询音频124来提供更具体信息。查询音频124也可以包括位置信息,例如,如果在查询图像122中存在多于一个对象,则用户可以通过提交查询音频124“右侧红瓶”来指定。

即使用图片中的单个对象,音频信息仍然可以改进搜索的结果。例如,图2B仅包含图片中的水瓶。然而,如果进行搜索以仅基于视觉特征发现相似图像,则结果可能仅包括具有相似形状和颜色的瓶并且可能不包括其它类型的水瓶。通过用音频(例如“水瓶”)或者“用于骑自行车的水瓶”扩充图像,系统向搜索系统提供附加信息,并且搜索系统使用这一附加信息以提供很可能满足用户的信息需要的搜索结果。

另外,用户也可以通过使用音频来提供参数以限制搜索结果。例如,用户可以搜索产品数据库以找到待购水瓶。用户可以向搜索系统提供水瓶的图像122和查询音频124“十美元以下品牌X水瓶”或者作为另一示例为“这一水瓶为蓝色”。

回顾图1,搜索系统106通过网络104从用户设备102接收包括图像122数据和音频124数据的联合图像-音频查询。在一些实现方式中,搜索系统106包括用于从图像122数据生成图像特征数据的图像处理装置110。备选地,在其它实现方式中,搜索系统向单独图像处理装置110传递图像122数据并且从单独图像处理装置110接收图像特征数据。类似地,搜索系统106也可以包括用于从音频124数据提取文本数据的语音处理装置112,或者它可以向单独语音处理装置112传递音频124数据并且接收文本数据。

搜索系统106使用从联合图像-音频查询导出的图像特征数据和文本数据作为向联合图像-音频相关度模型108的输入。联合图像-音频相关度模型108接收这些两个输入并且也接收资源116。联合图像-音频相关度模型108对每个资源116打分从而指示资源116与联合图像-音频查询的相关度的测量。

在一些实现方式中,搜索系统使用联合图像-音频相关度模型108根据以下排名函数计算用于每个资源的分数:

RELi=f(S,I,Ri)

其中:

RELi是用于资源Ri的相关度分数;

S是音频数据124;

I是图像数据122;以及

Ri是资源数据库或者高速缓存中的给定的资源。下文关于图3B更具体地描述函数f(S,I,R)。

资源116是可以通过网络104提供的任何数据并且与资源地址关联或者在数据库中被编索引。在一些实现方式中,资源数据库114包括资源116的汇集,其中每个资源116包括资源图像和资源文本。资源数据库114的一个示例是包括产品文档的产品数据库,这些产品文档包括产品的图像和描述产品的数据、比如品牌名称、价格以及文本描述。

对于每个第i个资源,搜索系统106以与它如何从查询图像确定查询图像特征数据相似的方式从资源图像确定资源图像特征数据。搜索系统106也从资源116确定资源文本数据。联合图像-音频相关度模型108然后比较查询图像特征数据与资源图像特征数据并且比较查询文本数据与资源116的资源文本数据而且计算用于资源116的相关度分数RELi。模型108向搜索系统106提供相关度分数。搜索系统106然后根据相关度分数对资源排序并且向用户设备102提供按照资源的相关度分数排名的搜索结果130。

§2.0处理联合图像-音频查询

图3A是用于查询联合图像-音频搜索系统的示例过程300的框图。搜索系统106接收包括图像数据302和音频数据304的联合图像-音频查询。通过网络接收这一数据,并且在一些实现方式中,图像数据302是用户拍摄的查询对象的图片。音频数据304包括用户记录的语音,该语音包含关于查询对象或者关于所需查询结果的信息。将这些一起配对为联合图像-音频查询。

音频数据304包括涉及语音的音频。使用语音识别算法将语音数据304转换成文本数据308。进一步使用自然语言处理技术分析文本308以解析文本数据308的内容。例如,联合图像-音频查询中的图像302可以如图2A中所示包含水瓶。伴随这一图像的音频数据304可以简单地是“水瓶”。搜索系统106将这一语音304转换成文本数据308并且在与资源文本数据比较时使用文本308作为搜索参数。

使用自然语言处理,搜索系统106可以确定图像的用于包括或者排除的空间区域。例如,音频304可以包含语音“在图片右侧的水瓶”。搜索系统106将这一语音304转换成文本数据308并且解析语句。系统106从短语“在图片右侧”确定图片的右侧是感兴趣的区域,并且因此忽略在图片302的左侧识别的特征和对象并且仅聚焦于在右侧发现的特征和对象。

使用自然语言处理,搜索系统106可以检测针对特定特征或者特性的观点。例如,联合图像-音频查询中的图像302可以如图2B中所示包含红水瓶。然而,音频304可以包含语音“仅蓝水瓶而不是红水瓶”。搜索系统106将这一语音304转换成文本数据308并且解析语句以解释用户仅要搜索结果中的蓝水瓶而不是图像302中的红水瓶。

搜索系统106从图像-音频查询的图像数据302生成图像特征值数据306。图像特征值数据306是值分数,这些值分数代表图像302的一部分的视觉特性。图像的该部分可以包括图像302的全部或者图像的子部分。在一些实现方式中,图像特征306可以包括颜色、纹理、边缘、饱和度和其它特性。用于提取可以用来计算特征分数的图像特征306的值的示例过程包括用于生成颜色直方图的过程、纹理检测过程(例如,基于像素强度的空间变化)、比例不变特征变换、边缘检测、角检测和几何模糊。

联合图像-音频相关度模型108接收图像特征数据306和文本数据308。模型108也访问资源汇集中的资源314。随着访问每个资源314,模型108以与查询图像302相似的方式从资源图像生成资源图像特征数据。模型108也根据数据库方案(例如,商用产品数据库)从资源314确定文本数据,比如在包括图像的网页上的文本或者与图像关联的文本。模型108比较查询图像特征数据与资源图像特征数据以及查询文本数据与资源文本数据而且计算用于该资源314的相关度分数。模型108计算用于资源汇集中的每个资源的相关度分数、根据分数对资源排名并且返回资源312的排名列表。搜索系统106然后生成引用图像和资源的搜索结果,并且向用户提供搜索结果。

在一些实现方式中,可以迭代地重复这一过程一次或者多次。例如,在产生按照与图像-音频查询302、304的相关度312排名的资源列表之后,系统106可以使用最高排名的资源图像中的一个或者多个资源图像以运行另一查询。这可以产生改进的相关资源列表。备选地或者在组合中,系统可以除了原有查询文本数据308之外还使用或者取代查询文本数据308使用来自一个或者多个最高排名的资源的资源文本数据。

§3.0训练联合图像-音频相关度模型

为了联合图像-音频相关度模型310能够正确计算相关度分数,首先训练它。图3B是用于训练联合图像-音频相关度模型108的示例过程350的框图。使用注释对来训练模型。与联合图像-音频查询相似,注释对具有图像数据352和关联音频数据354。可以将注释对集合分割成训练集合和测试集合。

从训练集合取得注释对,使用与对查询图像使用的图像处理算法相似的图像处理算法从注释图像数据352生成图像特征数据358。使用与对查询音频使用的语音识别和自然语言处理技术相似的语音识别和自然语言处理技术从注释音频数据354确定文本数据360。训练模型362接收图像特征数据358和文本数据360作为输入。训练模型362也接收与注释对352、354具有预定相关度的资源356作为输入。这一预定相关度可以是二元的(例如,相关/不相关)或者按照相对比例(例如,高度地相关、有些相关、不相关)或者按照具有更精化值的比例。模型362从资源图像生成资源图像特征数据并且从资源文本确定资源文本数据。比较注释图像特征数据352与资源图像特征数据以及注释文本数据354与资源文本数据,训练模型362计算相关度分数。调整与图像特征和文本特征对应的权值以产生预定相关度在正确范围中的分数。针对不同资源并且用不同训练注释对(都具有预定相关度)重复这一过程。

注释数据的测试集合然后可以用来验证训练的模型。训练的模型可以将来自测试集合的注释对与具有与每个测试对的预定相关度的资源一起接收作为输入。将如用训练对完成的那样处理测试对和资源以生成特征数据。模型然后将生成用于这些输入集合中的每个集合的相关度分数。如果相关度分数在可接受度阈值范围内,则充分训练模型。然而,如果模型生成不在可接受度阈值范围内的相关度分数,则未充分训练模型并且可以用注释数据的训练集合重复训练过程,而且重新评估和重新调整分配的权值。

可以用许多不同方式建立这一阈值范围。例如,可以向预定相关度比例中的每个定性比例值分配相关度分数范围。例如,如果由模型生成的相关度分数范围从1到100,则在二元预定相关度比例中可以将阈值设置为对于相关则大于或者等于50而对于不相关则少于50。备选地,可以通过例如对于相关则分配大于75而对于不相关则少于25来使阈值更严格。这可以提供更有效的图像-音频相关度模型、但是可能也需要产生更多训练迭代。备选地,可接受度阈值可以更定性。例如,对于给定的注释对,可以存在资源集合,其中资源具有从更多相关到更少相关的预定排名。可以通过查看训练的模型针对注释对有多么接近地达到提供资源的正确排名来评估模型的训练的可接受度。

§3.1选择注释对数据

可以用多种方式获得注释数据。在一个实现方式中,从产品数据库导出注释数据,该产品数据库具有产品文档汇集。每个产品文档具有产品的图像和具有关于产品的信息的关联文本,比如描述、价格、产品的销售者以及产品和产品的销售者二者的评论和评级。注释对352、354包括来自产品文档的图像和来自相同文档的文本的子集。这也将允许在产品文档与从该文档创建的注释对352、354之间的预定相关度。由于从该产品文档创建注释对352、354,所以注释对必须与产品文档高度地相关。

在另一实现方式中,从来自图像搜索结果数据的选择数据导出注释数据。由用户向图像搜索系统中录入的查询输入文本可以用作注释对的注释文本数据354。可以从如下图像选择用于该对的注释图像数据352,这些图像是来自与查询输入对应的图像搜索的最流行结果。可以通过统计测量(比如点进率)确定结果的流行度。备选地,注释数据可以来自选择数据,该选择数据来自产品搜索结果数据。可以再次使用查询输入作为用于注释对的注释文本数据354。可以从用户针对该查询输入而选择的最流行产品文档的产品图像获得注释图像352。这也将提供产品文档以用作具有高预定相关度的资源。

在另一实现方式中,从选择数据导出注释数据,该选择数据来自一般web搜索结果数据。由用户向web搜索系统中录入的查询输入文本可以用作注释对的注释文本数据354。Web搜索系统可以返回包括网站、图像和产品文档的一般web资源。如果用户选择选择产品文档作为web搜索的结果,则可以使用产品图像作为用于注释对的注释图像数据352。产品文档然后用作具有已知高相关度的资源。

在另一实现方式中,人类注释者可以用来提供训练数据。注释者可以拍摄照片以提供注释图像352并且针对他们希望搜寻的资源的注释文本数据354提供语音或者文本数据。注释者然后可以在产品文档或者其它资源数据库中搜索并且找到与他们提供的照片和语音数据有关和无关的资源。对于他们找到的每个资源,注释者然后可以标记它为良好质量的匹配或者不良质量的匹配。在另一实现方式中,注释者可以用来对通过自动化过程确定的匹配的质量评级。例如,先前讨论的过程中的任何过程可以用来从产品数据库、产品搜索选择数据、图像搜索选择数据或者web搜索选择数据获得注释数据,并且人类注释者可以对每个注释对与通过自动化过程选择的资源的相关度评级。

§3.2示例打分模型

多种模型可以用来实现相关度函数f(S,I,R),并且下文描述示例。一个示例模型实施如下相关度函数,该相关度函数是对图像特征数据以及音频和文本数据训练的构成模型的线性组合,即:

f(S,I,R)=cfs(S,R)+(1-c)fI(I,R)

其中fs是对语音和文本数据训练的打分函数,并且fI是对图像特征数据训练的打分函数。混合参数c是在0与1之间调整的值。

另一示例模型实施如下相关度函数f(S,I,R),该相关度函数使考虑的资源项集合仅限于具有如下文本描述的资源项,这些文本描述包含S中的单词。使用这一限制的集合,模型然后对图像特征数据的相关度打分。因此,相关度函数将是:

f(S,I,R)=fI(I,R)f(S,R)

其中如果文本S在资源R中则f(S,R)=1,否则f(S,R)=0。

另一示例模型实施相关度函数f(S,I,R),其中针对S的每个可能选择来学习图像特征相关度函数,即:

f(S,I,R)=WS·Φ(I,R)

其中Φ(I,R)是图像和资源的特征表示,并且Ws是代表图像和资源的特征的学习的特征权值矩阵。Ws是1×|Φ(I,R)|矩阵或者维度为|Φ(I,R)|、也就是用来代表图像和资源的特征数目的矢量。

又一示例模型使用一个线性排名函数来实施相关度函数,即:

f(S,I,R)=W·Φ(S,I,R)。

另一示例模型实施如下相关度函数,该相关度函数是对在通过引用而结合于此的、Jason Weston、Samy Bengio和Nicolas Usunier 的论文“Large Scale Image Annotation:Learning to Rank with Joint Word-Image Embeddings”(“Weston论文”)中找到的方式的扩展。Weston论文中的方式涉及到对任意维度的“嵌入空间”表示的训练,其中在空间中的两项之间的距离表示它们的相似度。这一模型涉及到以下函数:

f(S,I,R)=(WSI·ΦSI(S,I))·(WR·ΦR(R))

其中WSI和WR是矩阵,并且该方法学习矩阵和通常为低纬度的、维度为R的嵌入空间二者。WSI是R×|ΦSI(S,I)|矩阵,其中R是嵌入空间的维度并且|ΦSI(S,I)|是用来联合代表文本和图像的特征数目。WR是R×|ΦR(R)|矩阵,其中|ΦR(R)|是用来代表资源的特征数目。Weston论文中的嵌入空间仅使用图像和标签。这里通过级联单个特征空间ΦSI(S,I)中的语音和图像特征来扩展该方式。

另一示例模型实施进一步扩展Weston论文方式的相关度函数。该相关度函数由下式定义:

f(S,I,R)=∑(WS·ΦS(S))*(WI·ΦI(I))*(WR·ΦR(R))

其中*运算是矢量的按分量相乘。这一函数允许在图像、语音和资源的特征之间的更复杂非线性交互。

§4.0示例过程

图4是用于训练联合图像-音频相关度模型108的示例过程400的流程图。可以在搜索系统106中实施过程400并且该过程用来训练联合图像-音频相关度模型108。

过程400访问图像注释数据(402)。例如,搜索系统106从产品数据库访问图像注释数据。搜索系统106也可以从产品搜索选择数据访问图像注释数据。在另一示例中,搜索系统106从图像搜索选择数据访问图像注释数据。在另一实现方式中,搜索系统106从web搜索选择数据访问图像注释数据。搜索系统106也可以从由人类注释者注释的数据访问图像注释数据。人类注释者可以创建他们自己的待注释图像和语音数据,或者可以从产品数据库或者另一自动化过程访问待注释数据。

过程400访问资源(404)。例如,搜索系统106从产品数据库访问包括产品文档的资源。

过程400对图像注释数据和资源训练联合图像-音频相关度模型(406)。例如,搜索系统106使用来自产品数据库的图像注释数据和来自产品数据库的资源来训练联合图像-音频相关度模型。可以例如根据上文在第3.2节中描述的训练算法中的任何算法训练联合图像-音频相关度模型,或者可以使用其它训练算法。

图5示出用于对用于联合图像-音频查询的资源排名的示例过程500的流程图。可以在搜索系统106中实施过程500并且该过程用来对用于联合图像-音频查询的资源排名。

过程500接收联合图像-音频查询(502)。例如,搜索系统106通过网络从用户设备接收联合图像-音频查询。

过程500确定查询图像特征数据(504)。例如,搜索系统106根据从用户设备接收的查询图像生成图像特征值数据。

过程500确定查询音频特征数据(506)。例如,搜索系统106处理音频数据以从包括语音数据的音频数据生成文本数据。

过程500向联合图像-音频相关度模型提供查询图像特征数据和查询音频特征数据(508)。例如,搜索系统106向联合图像-音频相关度模型提供查询图像特征数据和文本数据。训练联合图像-音频相关度模型以生成用于资源汇集的相关度分数。

过程500根据资源的相关度分数对资源排序(510)。例如,搜索系统106从与图像-音频查询最多相关到最少相关对资源排序。

过程500提供指示资源的顺序的搜索结果(512)。例如,搜索系统106向用户设备提供从最多相关到最少相关排名的包括资源地址列表的搜索结果。

§5.0附加实现方式细节

可以在数字电子电路装置中或者在包括在本说明书中公开的结构及其结构等效物的计算机软件、固件或者硬件中或者在它们中的一项或者多项的组合中实施在本说明书中描述的主题内容和操作的实现方式。可以将在本说明书中描述的主题内容的实现方式实施为在计算机存储介质上编码的用于由数据处理装置执行或者用来控制数据处理装置的操作的一个或者多个计算机程序,即一个或者多个计算机程序指令模块。备选地或者附加地,程序指令可以被编码于人为生成的传播信号(例如,机器生成的电、光学、电磁信号)上,该传播信号被生成用于对信息进行编码以用于向适当接收器装置传输以供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储衬底、随机或者串行存取存储器阵列或者设备或者它们中的一项或者多项的组合或者被包含于机器可读存储设备、机器可读存储衬底、随机或者串行存取存储器阵列或者设备或者它们中的一项或者多项的组合中。另外,尽管计算机存储介质不是传播信号,但是计算机存储介质可以是在人为生成的传播信号中编码的计算机程序指令的源或者目的地。计算机存储介质也可以是一个或者多个单独物理部件或者介质(例如,多个CD、盘或者其它存储设备)或者被包含于一个或者多个单独物理部件或者介质中。

可以将本说明书中描述的操作实施为数据处理装置对一个或者多个计算机可读存储设备上存储的或者从其它来源接收的数据进行的操作。

术语“数据处理装置”涵盖所有种类的用于处理数据的装置、设备和机器,举例而言包括可编程处理器、计算机、片上系统或者前述各项的多个或者组合。该装置可以包括专用逻辑电路装置,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。该装置除了硬件之外也可以包括为讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、交叉平台运行时间环境、虚拟机或者它们中的一项或者多项的组合的代码。装置和执行环境可以实现各种不同计算模型基础结构,比如web服务、分布式计算和网格计算基础结构。

可以用包括编译或者解译语言、说明或者过程语言的任何形式的编程语言编写计算机程序(也称为程序、软件、软件应用、脚本或者代码),并且可以用任何形式部署它,包括部署为独立程序或者部署为适合于在计算环境中使用的模块、部件、子例程、对象或者其它单元。计算机程序可以、但是无需对应于文件系统中的文件。程序可以被存储于保持其它程序或者数据的文件(例如,存储于标记语言文档中的一个或者多个脚本)的部分中、专用于讨论的程序的单个文件中或者多个协同文件(例如,存储一个或者多个模块、子程序或者代码部分的文件)中。计算机程序可以被部署用于在一个计算机上或者在位于一个地点或者分布于多个地点并且被通信网络互连的多个计算机上执行。

在本说明书中描述的过程和逻辑流程可以由一个或者多个可编程处理器执行,该一个或者多个可编程处理器执行一个或者多个计算机程序以通过对输入数据进行操作并且生成输出来执行动作。过程和逻辑流程也可以被专用逻辑电路装置(例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路))执行并且也可以将装置实施为专用逻辑电路装置。

举例而言,适合于执行计算机程序的处理器包括通用和专用微处理器以及任何种类的数字计算机的任何一个或者多个处理器。一般而言,处理器将从只读存储器或者随机存取存储器或者二者接收指令和数据。计算机的基本单元是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或者多个存储器设备。一般而言,计算机也将包括用于存储数据的一个或者多个海量存储设备,例如,磁盘、光磁盘或者光盘或者被操作地耦合用于从该一个或者多个海量存储设备接收数据或者向该一个或者多个海量存储设备发送数据或者二者。然而,计算机无需具有这样的设备。另外,计算机可以被嵌入于另一设备中,聊举数例,例如,移动电话、个人数字助理(PDA)、移动音频或者视频播放器、游戏控制台、全球定位系统(GPS)接收器或者便携存储设备(例如,通用串行总线(USB)快闪驱动)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,举例而言包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或者可拆卸盘;光磁盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路装置补充或者被并入于专用逻辑电路装置中。

为了提供与用户的交互,在本说明书中描述的主题内容的实现方式可以被实施于计算机上,该计算机具有用于向用户显示信息的显示设备,例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器以及用户可以用来向计算机提供输入的键盘和指示设备,例如,鼠标或者跟踪球。其它种类的设备也可以用来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且可以用包括声音、语音或者触觉输入的任何形式接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档,例如,通过响应于从用户的客户端设备上的web浏览器接收的请求向web浏览器发送网页来与用户交互。

尽管本说明书包含许多具体实现方式细节,但是不应将这些解释为限制任何公开内容的或者可以要求保护的内容的范围而实际上描述具体公开内容的具体实现方式特有的特征。在本说明书中在单独实现方式的背景中描述的某些特征也可以在单个实现方式中被组合实施。相反地,在单个实现方式的背景中描述的各种特征也可以在多个实现方式中单独或者在任何适当子组合中被实施。另外,虽然上文可以描述特征为在某些组合中动作并且甚至起初这样要求保护,但是来自要求保护的组合的一个或者多个特征可以在一些情况下从该组合中被删除,并且要求保护的组合可以涉及子组合或者子组合的变化。

类似地,尽管在附图中以特定顺序描绘操作,但是这不应理解为要求以所示特定顺序或者以依次顺序进行这样的操作或者进行所有所示操作以实现希望的结果。在某些境况中,多任务和并行处理可以是有利的。另外,在上文描述的实现方式中的各种系统部件的分离不应理解为在所有实现方式中要求这样的分离,并且应当理解,描述的程序部件和系统一般可以一起集成于单个软件产品中或者封装成多个软件产品。

已经这样描述主题内容的具体实现方式。其它实现方式在所附权利要求的范围内。在一些情况下,在权利要求中记载的动作可以按不同顺序来进行并且仍然实现希望的结果。此外,在附图中描绘的过程未必需要所示具体顺序或者依次顺序以实现希望的结果。在某些实现方式中,多任务和并行处理可以是有利的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1