技术领域
[0003] 本公开总体上涉及用于生成网球运动员表现的现场预测的系统和方法。
相关背景技术
[0004] 虽然许多职业体育联盟拥有不同数量的体育分析来推动表现讨论和假设分析,但这种精细的统计数据在网球赛事中通常是缺失的。在网球赛事中,有不同程度的评分,从小到局级别,到大到整个比赛级别。
具体实施方式
[0024] 在像网球这样的运动中,有许多不同的得分等级,可以在任何时间点以不同的尺度提供表现指示。比如短期内有局级别的得分;中期内,有盘级别的得分;长期内有比赛级别的得分。即使多尺度计分机制可以提供哪个运动员可能在短期、中期和长期占据主导地位的指示,但是这种方法没有考虑其他重要的背景特征,例如运动员实力/风格和场地类型信息。此外,比赛得分表通常只告诉观众比赛中发生了什么,而不能传达每一分的重要性或模拟关键时刻的替代结果。
[0025] 本文所描述的一种或更多种技术通过提供一种系统提供了对常规技术的改进,该系统可以提供运动员赢得下一分、当前局(和局得分)、当前盘(和盘得分)的预测,以及在捕获粒度运动员和背景特定的信息的每个记录事件后赢得整体比赛的预测。
[0026] 在一些实施例中,本文所描述的一种或更多种技术不仅可以提供粒度和具体预测,还可利用“假设”分析的这些预测,其可以在每一点(例如,破发点)提供或生成替代结果。各种预测和假设分析采用当前得分或任何可能的输入得分查询(或运动员的比赛)。对模型的输入和输出可以采取任何形式,诸如交互式网站/小部件、聊天机器人或虚拟助手、语音识别器等。在一些实施例中,输出可以是文本、视觉或广播(linear或者over‑the‑top(OTT))上的覆盖。
[0027] 此外,本文提供的一种或更多种技术可以利用各种预测来创建新的网球指标,如“关键”、“加分/减分”和“势头”然后,预测和导出的指标可以用来生成和排序可以提供给终端用户的见解。
[0028] 图1是根据示例实施例示出的计算环境100的框图。计算环境100可以包括跟踪系统102、组织计算系统104和通过网络105通信的一个或更多个客户端设备108。
[0029] 网络105可以是任何合适的类型,包括通过互联网的单独连接,例如蜂窝或Wi‑Fi网络。在一些实施例中,网络105可以使用直接连接来连接终端、服务和移动设备,诸如射频TM TM TM TM识别(RFID)、近场通信(NFC)、蓝牙 、低功耗蓝牙 (BLE)、Wi‑Fi 、ZigBee 、环境反向散射通信(ABC)协议、USB、WAN或LAN。因为所传输的信息可能是个人的或机密的,因此出于安全考虑,可能要求对这些类型的连接中的一种或更多种进行加密或以其他方式进行保护。然而,在一些实施例中,被传输的信息可能不太个人化,因此,网络连接可能是为了方便而不是安全而选择的。
[0030] 网络105可以包括用于交换数据或信息的任何类型的计算机网络布置。例如,网络105可以是互联网、专用数据网络、使用公共网络的虚拟专用网络和/或使计算环境100中的部件能够在环境100的部件之间发送和接收信息的其他合适的连接。
[0031] 跟踪系统102可以位于场地106中。例如,场地106可以被配置为举办包括一个或更多个代理112的体育赛事。跟踪系统102可以被配置为记录比赛表面上所有代理(即,运动员)的运动,以及一个或更多个其他相关对象(例如,球、裁判等)。在一些实施例中,跟踪系统102可以是使用例如多个固定摄像机的基于光学的系统。例如,可以使用由六个固定的、校准的摄像机组成的系统,将运动员和球的三维位置投影到球场的二维俯视图上。在一些实施例中,跟踪系统102可以是基于无线电的系统,例如,使用由运动员佩戴的或嵌入要跟踪的对象中的射频识别(RFID)标签。通常,跟踪系统102可以被配置为以高帧速率(例如,25Hz)进行采样和记录。跟踪系统102可以被配置成为比赛文件110中的每一帧在比赛表面上的所有代理和对象存储至少运动员身份和位置信息(例如(x,y)位置)。
[0032] 比赛文件110可以增加与事件数据对应的其他事件信息,例如但不限于比赛事件信息(传球、射门、失误等)和背景信息(当前得分、剩余时间等)。
[0033] 跟踪系统102可以被配置为通过网络105与组织计算系统104通信。组织计算系统104可以被配置为管理和分析由跟踪系统102捕获的数据。
[0034] 组织计算系统104可以包括至少一个网络客户端应用服务器114、一个预处理代理116、一个数据存储118和一个或更多个预测模型122。预处理代理116和预测模型122中的每一个都可以由一个或更多个软件模块组成。一个或更多个软件模块可以是存储在表示实现一个或更多个算法步骤的一系列机器指令(例如,程序代码)的介质(例如,组织计算系统
104的存储器)上的代码或指令的集合。这种机器指令可以是组织计算系统104的处理器解释以实现指令的实际计算机代码,或者可替换地,可以是被解释以获得实际计算机代码的指令的更高级编码。一个或更多个软件模块还可以包括一个或更多个硬件部件。示例算法的一个或更多个方面可以由硬件部件(例如,电路)本身执行,而不是作为指令的结果。
[0035] 数据存储118可以被配置为存储一个或更多个比赛文件126。每个比赛文件126可以包括空间事件数据和非空间事件数据。例如,空间事件数据可以对应于由跟踪系统102从特定比赛或事件捕获的原始数据。非空间事件数据可以对应于描述在没有相关空间信息的特定比赛中发生的事件的一个或更多个变量。例如,非空间事件数据可以对应于特定比赛中的每个逐场播放或逐镜头事件。在一些实施例中,非空间事件数据可以从空间事件数据中导出。例如,预处理代理116可以被配置为解析空间事件数据以导出逐场播放或逐镜头的信息。在一些实施例中,非空间事件数据可以独立于空间事件数据导出。例如,与组织计算系统相关联的管理员或实体可以分析每个比赛以生成这样的非空间事件数据。因此,出于本申请的目的,事件数据可以对应于空间事件数据和非空间事件数据。
[0036] 在一些实施例中,每个比赛文件126还可以包括比赛状态信息。比赛状态信息可以包括得分数据,例如但不限于在比赛的每点的局得分(例如,0、15、30、40、平局、占先)、盘得分(例如,0‑6或抢局到7)和比赛得分(例如,男子大满贯中的0、1、2或0‑3)。在一些实施例中,每个比赛文件126还可以包括比赛统计数据和特征。示例的比赛统计数据和特征可以包括但不限于一些直接得分的发球(ace)、制胜球、被迫失误、第一/第二发球百分比、双误、正手制胜球、反手制胜球、比赛中的截击等等。
[0037] 预处理代理116可以被配置为处理从数据存储118检索的数据。例如,预处理代理116可以被配置为生成一组或更多组可以用于训练预测模型122的部分的信息。
[0038] 网球模块120可以被配置为在比赛前或比赛中生成一个或更多个指标。网球模块120可以包括预测模型122和模拟器124。预测模型122可以代表线性或非线性模型。例如,预测模型122可以代表随机决策森林模型。预测模型122可以被训练以在比赛前或比赛中生成各种预测。例如,可以使用取自多个比赛文件126的历史比赛数据来训练预测模型122。作为输出,预测模型122可以生成与局级别、盘级别和/或比赛级别的得分数据相关联的一个或更多个指标。
[0039] 预测模型122的示例输入可以包括但不限于比赛状态信息、比赛统计数据和特征、势头、运动员一号实力、运动员二号实力、运动员一号风格、运动员二号风格、场地类型、天气状况等。比赛状态信息可以对应于当前的局信息(例如,0、15、30、平局、占先等)、盘信息(0‑6或0‑7)、比赛得分信息(如0‑2或0‑3)、发球信息(如运动员一号或运动员二号)。
[0040] 比赛统计数据和特征可以对应于ace、制胜球、被迫失误、非被迫失误、运动员一次发球百分比、运动员两次发球百分比、双误、正手制胜球、反手制胜球、比赛中的截击等等。
[0041] 在一些实施例中,势头可以对应于获胜概率的变化。在一些实施例中,势头可以对应于运动员(运动员一号或运动员二号)在最后X分(例如,最后10分)中赢得的分数。
[0042] 在一些实施例中,运动员一号实力可以对应于相对运动员排名或排序。在一些实施例中,运动员一号实力可以从最近的详细的运动员统计数据和/或来自体育娱乐或其他众包方法的赛前市场赔率中导出。在一些实施例中,运动员二号实力可以对应于相对运动员排名或排序。在一些实施例中,运动员二号实力可以从最近的详细的运动员统计数据和/或来自体育娱乐或其他众包方法的赛前市场赔率中导出。在一些实施例中,运动员实力数据可以从空间数据中导出或计算。例如,运动员实力数据可以从STATS Perform、另一个第三方数据流提供者、或者跟踪系统102获得的跟踪提供的有效跑球(RunningBall)数据导出或计算。
[0043] 在一些实施例中,运动员一号风格可以从运动员一号统计数据中导出。在一些实施例中,运动员一号风格可以从运动员一号的行为的空间信息(例如,热图)中导出。在一些实施例中,可以使用运动员一号/球跟踪数据进行细粒度分析来导出运动员一号风格。在一些实施例中,运动员二号风格可以从运动员二号统计数据中导出。在一些实施例中,运动员二号风格可以从运动员二号的行为的空间信息中导出(例如,热图)。在一些实施例中,可以使用运动员二号/球跟踪数据进行细粒度分析来导出运动员二号风格。在一些实施例中,运动员风格数据可以从空间数据中导出或计算。例如,运动员风格数据可以从STATS Perform、另一个第三方数据流提供者、或者跟踪系统102获得的跟踪提供的有效跑球数据导出或计算。
[0044] 在一些实施例中,场地类型可以对应于比赛进行的比赛场地(例如,红土、草地、硬地等)。在一些实施例中,场地类型还可以包括关于比赛表面的状态的信息(例如,场地温度、草地磨损程度等)。在一些实施例中,天气状况可以对应于当前天气(例如,室外温度、太阳位置、风、湿度等)。
[0045] 在一些实施例中,网球模块120的输入可以是交互式的。例如,客户端设备108的用户可以为预测模型122手动输入任何可能的分数,以通过交互界面(例如,窗口小部件)、聊天机器人、智能助理、语音识别器或其他交互装置来预测下一分、局、盘和/或比赛的概率。
[0046] 来自预测模型122的示例输出可以包括但不限于:运动员将赢得下一分的预测(例如,0或1)、最终得分预测(例如,多类分类器,如{4‑0,4‑1,4‑2,4‑3,0‑4,1‑4,2‑4,3‑4})、最终盘得分预测(例如,多盘分类器,如{6‑0,6‑1,6‑2,6‑3,6‑4,7‑5,7‑6以及相反})、最终抢七得分预测(例如,多类分类器,如{7‑0,7‑1,7‑2,7‑3,7‑4,7‑5,8‑6,及以上,以及相反}),和/或最终比赛得分预测(例如,多类分类器,如{2‑0,2‑1,0‑2,1‑2等})。在一些实施例中,来自预测模型122的示例输出还可以包括预测的最终运动员统计数据(例如,发球百分比、ace的数量、制胜球的数量等)、预测的发球位置或第一发球、第二发球、“重发(let)”、双误(double fault)、预测的制胜球位置和制胜球类型(例如,正手、反手、截击、扣杀等),以及对打‑计数(rally‑count)。
[0047] 在一些实施例中,来自预测模型122的输出可以允许预测模型122生成一个或更多个附加指标。在一些实施例中,预测模型122可以产生一个或更多个关键性指标。例如,查看比赛期间的关键时刻,预测模型122可以识别出比赛中可能产生大于10%(或x%)获胜概率变化的那些分。为此,预测模型122可以利用模拟器124。模拟器124可以采取一个或更多个输入(例如,预测模型122的输入和/或来自预测模型122的输出)来识别这些分。一旦这些分被识别,预测模型122可以识别在这些压力情况下表现最好的那些运动员。
[0048] 在一些实施例中,网球模块120可以被配置为对破发点进行假设分析。例如,使用模拟器124,网球模块120可以生成一个捕获当运动员破发时对比赛概率的影响的指标。例如,模拟器124可以将当前获胜百分比与赢得破发点的影响进行比较,和/或将当前获胜百分比与失去破发点的影响进行比较。在一些实施例中,这种输出可以采取现场图形的形式。
[0049] 在一些实施例中,网球模块120可以被配置为基于来自预测模型122的输出生成势头指标。在一些实施例中,势头可以被定义为当前获胜概率(或盘获胜概率)以及在最后X分(例如,10分)上的变化。
[0050] 在一些实施例中,网球模块120可以被配置为基于来自预测模型122的输出生成运动员加分/减分。例如,基于一个或更多个赛前比赛预测,网球模块120可以查看预期运动员赢得多少分和运动员确实赢得多少分之间的差异。
[0051] 在一些实施例中,网球模块120可以被配置为生成对打兴奋指数。例如,对打兴奋指数可以是从0到10的等级,限定了局或比赛中的每个单独的对打。最终用户随后可以利用这种排序来搜索精彩片段或自动生成精彩片段。在一些实施例中,网球模块120可以通过利用一个或更多个空间数据(例如,跑动球数据、对打计数信息、击球类型、重要性信息(例如,当前得分)等)和跟踪信息(例如,单次击球的位置、击球速度、对打计数等)来生成这样的对打兴奋指数。
[0052] 在一些实施例中,网球模块120可以被配置为生成对打指数。对打指数可以指对打获胜预测的逐镜头更新,其可以用于讲述关于对打的故事。这种对打指数可以用于生成精彩片段。
[0053] 在一些实施例中,网球模块120可以被配置为生成击球位置预测器。击球位置预测器可以是对下一个击球将落在哪里的预测。在一些实施例中,击球位置预测器可以采取可视化的形式,通过可以覆盖在视频上的一个或更多个广播图形。在一些实施例中,通过突出热图,可视化可以通过突出热图被用作赛后剪辑。
[0054] 客户端设备108可以通过网络105与组织计算系统104通信。客户端设备108可以由用户操作。例如,客户端设备108可以是移动设备、平板电脑、台式计算机或具有本文所描述的能力的任何计算系统。用户可以包括但不限于个人,例如与组织计算系统104相关联的实体的订阅者、客户、潜在客户或顾客,例如已经获得、将要获得或可能获得来自与组织计算系统104相关联的实体的产品、服务或咨询的个人。
[0055] 客户端设备108可以包括至少应用138。应用38可以代表允许访问网站或独立应用的网络(web)浏览器。客户端设备108可以访问应用138以访问组织计算系统104的一个或更多个功能。客户端设备108可以通过网络105进行通信,例如从组织计算系统104的网络客户端应用服务器114请求网页。例如,客户端设备108可以被配置为执行应用138以访问由网球模块120生成的各种预测周围的粉丝参与功能。在一些实施例中,应用138可以采取第二屏幕应用或可以嵌入到现有频道中的独立小部件的形式。在一些实施例中,应用138可以允许用户输入交互式输入以供网球模块120分析。
[0056] 图2是根据示例实施例的预测模型122的框图。如图所示,预测模型122可以包括分获胜模型202、局获胜模型204、盘获胜模型206和比赛获胜模型208。在一些实施例中,分获胜模型202、局获胜模型204、盘获胜模型206和比赛获胜模型208中的每一个都可以采取梯度提升树模型的形式。
[0057] 分获胜模型202可以被配置为基于各种输入212预测运动员是否将赢得下一分。如图所示,输入212可以包括场地类型220(例如,草地、粘土、硬地)、赛前赔率222和比赛状态224(例如,当前局和盘得分)、赛中统计数据226(例如,赢得的分、赢得的比赛、当前比赛中赢得的破发、盘、以及比赛、发球百分比、返球百分比等的差异)。这种输入212可以由预处理代理116生成。分获胜模型202可以被训练以基于输入212预测下一分的结果。例如,来自分获胜模型202的输出可以是提供运动员赢得下一分的概率的分获胜概率228。
[0058] 局获胜模型204可以被配置为基于各种输入214预测运动员是否将赢得当前局和/或下一局。如图所示,输入214可以类似于输入212。例如,输入214可以类似地包括场地类型
220、赛前赔率222、比赛状态224和赛中统计数据226。然而,因为局获胜模型204在模型链中是分获胜者模型的下游,所以输入214也可以包括来自分获胜模型202的输出,即分获胜概率228。这种输入214可以由预处理代理116生成。局获胜模型204可以被训练以基于输入214预测局的结果。例如,来自局获胜模型204的输出可以是提供运动员赢得该局的概率的局获胜概率230。
[0059] 盘获胜模型206可以被配置为基于各种输入216预测运动员是否将赢得当前盘和/或下一盘。如图所示,输入216可以类似于输入214。例如,输入216可以类似地包括场地类型
220、赛前赔率222、比赛状态224和赛中统计数据226。然而,因为盘获胜模型206在模型链中是分获胜模型202和局获胜模型204的下游,所以输入216还可以包括来自分获胜模型202的输出,即分获胜概率228,以及来自局获胜模型204的输出,即局获胜概率230。这种输入214可以由预处理代理116生成。盘获胜模型206可以被训练以基于输入216预测盘的结果。例如,来自盘获胜模型206的输出可以是提供运动员赢得该盘的概率的盘获胜概率232。
[0060] 比赛获胜模型208可以被配置为基于各种输入218预测运动员是否将赢得当前比赛和/或下一场比赛。如图所示,输入218可以类似于输入216。例如,输入218可以类似地包括场地类型220、赛前赔率222、比赛状态224和赛中统计数据226。然而,因为比赛获胜模型
208在模型链中是分获胜模型202、局获胜模型204和盘获胜模型206的下游,所以输入218还可以包括来自分获胜模型202的输出,即分获胜概率228、来自局获胜模型204的输出,即局获胜概率230,以及来自盘获胜模型206的输出,即盘获胜概率232。这种输入218可以由预处理代理116生成。比赛获胜模型208可以被训练以基于输入218预测该盘的结果。例如,来自比赛获胜模型208的输出可以是提供运动员赢得该比赛的概率的比赛获胜概率234。
[0061] 如图所示,作为输出,预测模型122可以产生输出210。输出210可以包括分获胜概率228、局获胜概率230、盘获胜概率232和比赛获胜概率234。
[0062] 图3示出了根据示例实施例的示例图形用户界面(GUI)300。如图所示,GUI 300可以提供对应于由预测模型122生成的预测的获胜概率的示例获胜概率图形。获胜概率图形包括下一分获胜概率图形302、局获胜概率图形304和比赛获胜概率图形306。此外,在一些实施例中,获胜概率图形还可以包括示出308库兹涅佐娃(Kuznetsova)在比赛的场地上的比赛获胜概率的图表。
[0063] 图4示出了根据示例实施例的示例图形用户界面(GUI)400。如图所示,GUI 400可以包括破发点分析图形402。破发点分析图形402被示为覆盖比赛的广播视频流。例如,当用户正在观看比赛时,破发点分析图形402可以实时或接近实时地显示给用户。破发点分析图形402可以显示如果他或她赢得下一分,对运动员赢得比赛概率的影响。如上所述,网球模块120可以被配置为生成这样的指标和表示该指标的破发点分析图形402。
[0064] 图5示出了根据示例实施例的示例图形用户界面(GUI)500。如图所示,GUI 500可以包括势头图形502。势头图形502可以是对应于由网球模块120产生的对打兴奋指数的视觉表示。在一些实施例中,GUI 500还可以包括精彩场面列表504。精彩场面列表504可以被自动生成以包括超过阈值势头或对打兴奋指数阈值的局或比赛的各种剪辑。
[0065] 图6A示出了根据示例实施例的示例图形用户界面(GUI)600。如图所示,GUI 600可以包括覆盖比赛的广播视频馈送的对打指数图形602。对打指数图形602可以是对应于由网球模块120产生的对打指数的视觉表示。
[0066] 图6B示出了根据示例实施例的示例图形用户界面(GUI)650。如图所示,GUI 650可以包括对打指数图形652。对打指数图形652可以是对应于由网球模块120生成的对打指数的视觉表示。如图所示,对打指数图形652覆盖在比赛的广播上。
[0067] 图7A示出了根据示例实施例的示例图形用户界面(GUI)700。如图所示,GUI 700可以包括对应于下一个击球将落在哪里的击球位置预测的视觉表示702。击球位置预测的视觉表示702可以对应于由网球模块120生成的预测。如图所示,可视表示702可以覆盖在比赛的广播上。
[0068] 图7B示出了根据示例实施例的示例图形用户界面(GUI)750。如图所示,GUI 750可以包括对应于下一个击球将落在哪里的击球位置预测的视觉表示752。击球位置预测的视觉表示752可以对应于由网球模块120生成的预测。如图所示,可视化表示752可以覆盖在比赛的广播上。
[0069] 图8是根据示例实施例示出的生成赛前和赛中网球预测的方法800的流程图。方法800可以开始于步骤802。
[0070] 在步骤802处,组织计算系统104可以在比赛开始前接收一个或更多个比赛指标。在一些实施例中,一个或更多个比赛指标可以对应于每个运动员的历史比赛指标。
[0071] 在步骤804处,组织计算系统104可以基于在比赛开始之前接收的一个或更多个比赛指标生成一个或更多个赛前预测。在一些实施例中,网球模块120可以使用预测模型122生成一个或更多个赛前预测。
[0072] 在步骤806处,组织计算系统104可以在比赛过程中接收现场比赛数据。示例现场比赛数据可以包括但不限于比赛状态信息、比赛统计数据和特征、势头、运动员一号实力、运动员二号实力、运动员一号风格、运动员二号风格、场地类型、天气状况等。
[0073] 在步骤808处,组织计算系统104可以基于现场比赛数据生成一个或更多个赛中预测。例如,网球模块120可以使用预测模型122和/或模拟器124生成一个或更多个赛中预测。示例赛中预测可以包括但不限于,哪个运动员将赢得下一分的预测(例如,0或1)、最终得分预测(例如,多类分类器,诸如{4‑0,4‑1,4‑2,4‑3,0‑4,1‑4,2‑4,3‑4})、最终盘得分预测(例如,多盘分类器,诸如{6‑0,6‑1,6‑2,6‑3,6‑5,8‑5,8‑6}以及超越球,和反拍)。在一些实施例中,来自预测模型122的示例输出还可以包括预测的最终运动员统计数据(例如,发球百分比、ace数量、制胜球数量等)、预测的发球位置或第一发球、第二发球、“重发”、双误、预测的制胜球位置和制胜球类型(例如,正手、反手、截击、扣杀等),以及对打‑计数。在一些实施例中,示例赛中预测还可以包括破发点分析、一个或更多个关键性指标、势头分析、运动员加分/减分等。
[0074] 图9A‑9B是根据示例实施例的说明网球比赛的比赛状态的示例图。
[0075] 对于网球,正如本领域技术人员所理解的,一场比赛通常包括两名运动员三盘两胜。在某些比赛中,两个运动员可能会打成五盘三胜。每场比赛包括多盘。每盘包括多局。每局包括多分。当运动员赢了一局超过两分时,这个运动员就赢了一局。当运动员第一个赢得局的阈值数量(例如,至少6),运动员就赢了这一盘。当运动员三盘两胜(或五盘三胜)时,他就赢得了这场比赛。
[0076] 图9A示出了根据示例实施例的网球比赛的第一状态900。如图所示,运动员(例如,运动员一号)可以向第二运动员(例如,运动员二号)发球(数字“902”)。此时,可能会出现几种结果。首先,运动员一号可能会失误,也就是说,发球犯规。如果运动员一号在第一次发球904时失误,然后运动员一号可以进行第二次发球906。如果运动员一号在第二次发球时再次失误906,那么一号运动员犯了所谓的“双误”并且运动员一号失分912。
[0077] 然而,如果运动员一号第一发球904成功(即,没有失误)或第二发球906(即,没有双发失误),则可能有几种结果。在一些实施例中,运动员一号得分910(例如,“ace”)。在一些实施例中,运动员二号回击908发球。
[0078] 图9B示出了根据示例实施例的网球比赛的第二状态920。在第二状态920中,运动员二号已经成功地将击球返回到给运动员一号。此时,可能会出现几种结果。首先,运动员二号可以返回击球并赢得运动员一号的一分。第二,运动员二号可以返回击球并且相对于运动员一号丢分(例如,球被击出界)。第三,对打922可以从运动员一号将返回的击球返回给运动员二号开始。如图所示,状态可以在运动员击球(例如,发球方击球924)和运动员回球(例如,回球方击球926)之间切换,直到得分事件发生。换句话说,对打922可以在运动员一号向运动员二号发球或击球和运动员二号将球返回给运动员一号之间继续,直到运动员一号或运动员二号得分。
[0079] 一旦得分后,局状态可以返回第一状态900,开始新的一分。
[0080] 图10A示出了根据示例实施例的计算系统1000的系统总线架构。系统1000可以代表组织计算系统104的至少一部分。系统1000的一个或更多个部件可以使用总线1005彼此电气通信。系统1000可以包括处理单元(CPU或处理器)1010和系统总线1005,系统总线1005将包括系统存储器1005的各种系统部件(例如,只读存储器(ROM)1020和随机存取存储器
(RAM)1025)耦合到处理器1010。系统1000可以包括直接与处理器1010连接、近似于处理器
1010或者集成为处理器1010的一部分的高速存储器的高速缓存。系统1000可以将数据从存储器1015和/或存储设备1030复制到缓存1012,以供处理器1010快速访问。通过这种方式,缓存1012可以提供性能提升,避免处理器1010在等待数据时的延迟。这些和其他模块可以控制或被配置为控制处理器1010执行各种动作。也可以使用其他系统存储器1015。存储器
1015可以包括具有不同性能特征的多种不同类型的存储器。处理器1010可以包括任何通用处理器和硬件模块或软件模块,例如存储在存储设备1030中的服务器11032、服务器21034和服务器31036,它们被配置为控制处理器1010以及将软件指令并入实际处理器设计中的专用处理器。处理器1010本质上可以是完全自包含的计算系统,包含多个核或处理器、总线、存储器控制器、缓存等。多核处理器可以是对称的或非对称的。
[0081] 为使用户能够与计算系统1000互动,输入装置1045可以代表任何数量的输入机制,例如用于语音的麦克风、用于手势或图形输入的触摸‑敏感屏幕、键盘、鼠标、运动输入、语音等。输出设备1035也可以是本领域技术人员已知的多种输出机制中的一种或更多种。
在一些情况下,多模式系统可以使用户能够提供多种类型的输入来与计算系统1000通信。
通信接口1040通常可以控制和管理用户输入和系统输出。对于在任何特定硬件配置上的操作没有限制,因此本文的基本特征可以很容易地被开发的改进的硬件或固件配置所替代。
[0082] 存储设备1030可以是非易失性存储器,并且可以是硬盘或可存储计算机可访问数据的其他类型的计算机可读介质,如盒式磁带、闪存卡、固态存储设备、数字多功能盘、盒式磁带、随机存取存储器(RAM)1025、只读存储器(ROM)1020及其组合。
[0083] 存储设备1030可以包括用于控制处理器1010的服务1032、1034和1036。也考虑了其他硬件或软件模块。存储设备1030可以连接到系统总线1005。在一个方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件部件,连同必要的硬件部件,例如处理器1010、总线1005、输出设备1035(例如,显示器)等等,以执行该功能。
[0084] 图10B示出了可以代表组织计算系统104的至少一部分的具有芯片组架构的计算机系统1050。计算机系统1050可以是可用于实现所公开的技术的计算机硬件、软件和固件的示例。系统1050可以包括处理器1055,处理器1055代表能够执行被配置为执行所识别的计算的软件、固件和硬件的任何数量的物理和/或逻辑上不同的资源。处理器1055可以与芯片组1060通信,芯片组1060可以控制处理器1055的输入和输出。在该示例中,芯片组1060向输出1065输出信息,例如显示器,并且可以向存储设备1070读取和写入信息,存储设备1070可以包括例如磁介质和固态介质。芯片组1060还可以从存储设备1075(例如,RAM)读取数据和向其写入数据。可以提供用于与芯片组1060接口的用于与各种用户接口部件1085接口的桥1080。这种用户接口部件1085可以包括键盘、麦克风、触摸检测和处理电路、定点设备,例如鼠标等等。通常,系统1050的输入可以来自各种来源中的任何一种,机器生成的和/或人类生成的。
[0085] 芯片组1060还可以与具有不同的物理接口的一个或更多个通信接口1090连接。这种通信接口可以包括用于有线和无线局域网、宽带无线网络以及个人区域网的接口。本文公开的用于生成、显示和使用GUI的方法的一些应用可以包括通过物理接口接收有序数据集,或者由机器本身通过处理器1055分析存储在存储设备1070或存储设备1075中的数据来生成。此外,机器可以通过用户接口部件1085接收来自用户的输入,并通过使用处理器1055解释这些输入来执行适当的功能,例如浏览功能。
[0086] 可以理解,示例系统1000和1050可以有多于一个的处理器1010,或者是联网在一起的计算设备组或集群的一部分以提供更大的处理能力。
[0087] 虽然上述是针对本文所描述的实施例,但是可以在不脱离其基本范围的情况下设计其他和进一步的实施例。例如,本公开的方面可以在硬件或软件或硬件和软件的组合中实现。本文描述的实施例可以被实现为与计算机系统一起使用的程序产品。程序产品的程序定义了实施例(包括本文描述的方法)的功能,并且可以包含在各种计算机可读存储介质上。说明性的计算机可读存储介质包括但不限于:(i)不可写存储介质(例如,计算机内的只读存储器(ROM)设备,诸如可由CD‑ROM驱动器读取的CD‑ROM盘、闪存、ROM芯片或任何类型的固态非易失性存储器),在其上永久存储信息;以及(ii)其上存储可变信息的可写存储介质(例如,软盘驱动器或硬盘驱动器中的软盘或任何类型的固态随机存取存储器)。当携带指导所公开的实施例的功能的计算机可读指令时,这种计算机可读存储介质是本公开的实施例。
[0088] 本领域技术人员应理解,上述示例是示例性的,而不是限制性的。在阅读说明书和研究附图之后,所有的置换、增强、等同物和改进对于本领域技术人员来说都是显而易见的,并且包括在本公开的真实精神和范围内。因此,以下所附权利要求旨在包括落入这些教导的真实精神和范围内的所有此类修改、置换和等同物。