本申请对以下临时美国专利申请要求优先权,所述美国专利申请由此通过引用以其全部被并入:2014年10月29日提交的临时美国专利申请62/072,308以及2014年2月28日提交的临时美国专利申请61/945,899。
具体实施方式
图1图示了根据本发明的实施例的对被配置成执行能力集的技术层进行指示的技术栈100。技术栈100可以无限制地包括定制层102、交互层104、可视化层108、分析层110、模式层112、事件层114和数据层118。不同的技术层或技术栈100可以被称为“Eagle”栈100,其应当被理解为包括各种层,允许对与事件(诸如体育事件等等)相关联的时空数据的准确监视、分析和理解。例如,技术栈可以提供分析平台,所述分析平台可以从全美篮球协会(NBA)竞技场或其它体育竞技场取得时空数据(例如,3D运动捕获“XYZ”数据),并且在净化之后,可以执行时空模式识别以提取某些“事件”。所提取的事件可以例如(除了许多其它的可能性之外尤其)是与整个体育事件内的事件的特殊理解相对应的事件,诸如“挡切战术”或“闪电战”。这样的事件可以对应于比赛中的真实事件,并且可以进而经受围绕事件的各种度量、分析工具以及可视化。事件识别可以基于通过机器学习的模式识别,诸如时空模式识别,并且在一些情况下可以通过人类反馈而被扩充、确认或帮助。
定制层102可以允许通过使用分析、可视化和其它工具,以及可选的众包反馈来执行定制分析和解释,用于开发队伍特定的分析、模型、导出和有关洞察。例如,除了许多其它的可能性之外,定制层102在足球事件期间可以在生成针对足球选手或选手组的不同时空移动以及与其他选手或选手组相关联的相对移动的可视化方面有所促进。
交互层104可以促进生成实时交互任务、可视表示、接口、视频剪辑、图像、屏幕和其它这样的载体,以用于允许在增强特征的情况下观看事件或允许用户与得自实际实时事件的虚拟事件相交互。例如,交互层104可以允许用户通过使用实时交互工具来访问诸如投篮矩阵、掩护分解、控制权检测以及许多其它内容的特征或度量,所述实时交互工具可以对从诸如体育事件之类的实时事件中获得的数据进行切片、切块和分析。
可视化层108可以允许对从获得自实时事件的数据中开发的模式和分析进行动态可视化。可视化可以以散布等级、投篮比较、剪辑观看和许多其它的形式来被呈现。可视化层108可以使用各种类型的可视化和图形工具来用于创建视觉描绘。视觉可以包括各种类型的交互图表、图形、图解、比较分析图形等等。可视化层108可以与交互层链接使得视觉描绘可以以交互的方式被呈现以用于与诸如本发明的分析平台之类的虚拟平台上所产生的实时事件的用户交互。
分析层110可以涉及各种分析和人工智能(AI)工具来对从诸如体育事件之类的实时事件中检索的数据执行分析和解释,使得经分析的数据导致从自实时事件拉取的大数据中有意义的洞察。分析和AI工具可以无限制地包括诸如搜索和优化工具、推断规则引擎、算法、学习算法、逻辑模块、概率工具和方法、决策分析工具、机器学习算法、语义工具、专家系统等等。
来自分析层110和模式层112的输出可由用户导出作为数据库,所述数据库使得消费者能够配置其自己的机器来读取和访问在系统中所存储的事件和度量。根据各种示例性且非限制的实施例,模式和度量以直观的方式被结构化和存储。一般而言,用于存储事件和度量数据的数据库被设计成促进容易的导出并且使得能够与团队的内部工作流集成。在一个实施例中,存在与每个单独的比赛对应的唯一文件。在每个文件内,单独的数据结构可以根据针对指示事件类型的每个数据类型的所包括的结构定义来被配置,针对所述事件可以标识和存储数据。例如,针对篮球比赛可以记录的事件的类型包括但不限于isos、传球、得分、掩护、过渡、投篮、停闭(closeout)和机会。参考例如数据类型“掩护”,表1是用于存储与掩护的每次发生有关的信息的数据结构的示例性列表。如所说明的,每个数据类型包括多个分量变量定义,所述多个分量变量定义各自包括数据类型和对变量的描述。
screens
id
INT
该掩护的内部ID.
possession_id
STRING
其中发生该事件的控制权的内部ID.
frame
INT
帧ID,指示从当前时段的开始的帧号。当前,这标记掩护者和持球者最靠近的帧.
frame_time
INT
在SportVU数据中针对帧所提供的时间戳,在当前纪元(即,自1970年1月1日的00:00:00UTC起)中以毫秒来测量.
game_code
INT
在SportVU数据中所提供的比赛代码.
period
INT
规定时段1-4,超时时段5以及更高.
game_clock
NUMBER
时段中剩余的秒数,从720.00到0.00.
location_x
NUMBER
沿着球场长度的位置,从0到94.
location_y
NUMBER
沿着球场底线的位置,从0到50.
screener
INT
掩护者的ID,匹配SportVU ID.
ballhandler
INT
持球者的ID,匹配SportVU ID.
screener_defender
INT
掩护者的防守者的ID,匹配SportVU ID.
ballhandler_defender
INT
持球者的防守者的ID,匹配SportVU ID.
oteam
INT
进攻方队伍的ID,匹配SportVU数据中的ID.
dteam
INT
防守方队伍的ID,匹配SportVU数据中的ID.
rdef
STRING
表示持球者的防守者的被观察的行动的字符串.
sdef
STRING
表示掩护者的防守者的被观察的行动的字符串.
scr_type
STRING
将掩护分类成取得、拒绝或滑动.
outcomes_bhr
ARRAY
持球者的行动,取自在文档、诸如FGX或FGM的结尾所描述的结果.
outcomes_scr
ARRAY
掩护者的行动,取自在文档、诸如FGX或FGM的结尾所描述的结果.
表1。
这些导出的文件(每场比赛一个)使得其它机器能够读取所存储的对比赛的理解并且在该知识之上进一步构建。根据各种实施例,数据提取和/或导出可选地经由JSON方案来实现。
模式层112可以提供一种技术基础设施来用于快速发现从诸如体育事件之类的实时事件中检索的数据中出现的新模式。模式可以包括与对事件的理解相对应的许多不同的模式,诸如防守模式(例如闪电战、切换、在上、在下、上触、包困、区域、人盯人、或正面防守模式)、各种进攻模式(例如挡切战术、挡拆外切、角斗(horn)、运球突破、无球掩护、切入、护球等等)、反映行动的模式(得分行动、三分球行动、“红区”行动、传递行动、跑动行动、快攻行动等等)以及与比赛或体育运动中的选手相关联的各种其它模式,在每种情况下都对应于不同的时空事件。
事件层114可以允许创建新事件或者编辑或校正当前事件。例如,事件层可以允许分析标记或其它比赛限定的准确性并且可以关于它们是否满足标准和体育准则进行评论。例如,实际实时事件中的特定边界标记可能没有遵守准则并且可能存在一些误差,这可以由事件层通过在本发明的平台的情况下可能的分析和虚拟交互来被标识。事件可以对应于对比赛的各种理解,包括进攻和防守行动、在选手或选手组之间的匹配、得分事件、判罚或犯规事件、以及许多其它事件。
数据层118促进对从诸如体育事件之类的实时事件中检索的大数据的管理。数据层118可以允许创建库,所述库可以存储原始数据、目录、经校正的数据、经分析的数据、洞察等等。数据层118可以以云存储设置或在各种实施例中以任何其它方式来管理在线存库。
图2图示了根据本发明的实施例的过程流图解200。过程200可以包括在步骤202处检索与体育运动或比赛相关联的时空数据并且存储在数据库中。时空数据可以涉及由3D相机(诸如定位在体育竞技场或其它场所中的一个相机)捕获的视频馈送,或者它可以来自另一个源。
过程200还可以包括在步骤204处通过分析和机器学习工具以及利用如结合图1所讨论的各种技术层来清理粗略的时空数据,以使得从净化的数据中生成有意义的洞察。
过程200还可以包括在步骤208处通过对所净化的数据的分析而识别时空模式。时空模式可以包括与事件的类型相关联的宽范围的模式。例如,空间中的特定模式,诸如球从篮圈弹离、然后落在它之下,可以有助于识别篮球中的“篮板球”事件。空间和时间中的模式可以导致识别单个事件或多个事件,所述多个事件包括经识别的事件的经定义序列(诸如在具有多个步骤的行动的类型中)。
经识别的模式可以定义与体育运动相关联的一系列事件,其可以在步骤210处存储在事件数据存储装置中。这些事件可以根据经识别的时空模式来被组织;例如,一系列事件可以被识别为“挡护(pick)”、“篮板球”、“投篮”或篮球中的类似事件,并且它们可以因而被存储在事件数据存储装置210中。事件数据存储装置210可以存储宽范围的这样的事件,包括通过时空模式识别所识别的单独的模式以及聚合的模式,诸如当在扩展的多步骤事件中一个模式跟着另一个模式的时候(诸如在其中一个事件发生然后另一个事件发生的行动中,诸如篮球中的“挡切战术”或“挡拆外切”事件,涉及设置初始阻断、然后冲出传球的足球事件、以及许多其它事件)。
过程200还可以包括在步骤212处查询或聚合或模式检测。查询数据或聚合可以利用搜索工具来执行,所述搜索工具可以可操作地并且通信地与数据库或事件数据存储装置连接,以用于分析、搜索、聚合粗略数据、经净化或分析的数据、或者事件数据或事件模式。
在步骤214处,度量和可行动的智能可以用于通过人工智能和机器学习工具来从所搜索或聚合的数据中开发洞察。
在步骤218处,例如,度量和可行动的智能可以将数据转换成交互式可视化门户或接口以用于由用户以交互方式使用。
从各种数据源所获得的原始输入XYZ数据经常是有噪声的、缺失的或错误的。XYZ数据有时与其中已经标识的所附基础事件(诸如控制权、传球、运球和投篮事件)一起被递送;然而,这些关联经常是不正确的。这是重要的,因为沿(时空模式识别中的)过程进一步往下的事件标识有时取决于这些基础事件的正确性。例如,如果两个选手的XY定位被交换,则“在上”与“在下”防守将会被不正确地表征,因为选手的相对定位被用作用于分类的关键特征。甚至逐个选手的数据源偶尔也不正确,诸如将所标识的事件与错误的选手相关联。
首先,验证算法用于检测所有事件,包括诸如控制权、传球、运球、投篮和篮板球之类的被提供有XYZ数据的基础事件。控制权/非控制权模型可以使用隐马尔科夫模型来最佳地将数据拟合到这些状态。投篮和篮板球可以使用控制权模型输出,所述输出与1)所投影的球的目的地和2)逐个选手的信息(PBP)信息相组合。运球可以通过使用经训练的ML算法并且还使用控制权模型的输出来被标识。这些算法可以使基础事件标注误差率减小近似50%或更多。
其次,系统具有异常检测算法的库以标识数据中的潜在问题,包括但不限于时间不连续性(标记缺失数据的间隔)、空间不连续性(对象行进是不平滑的运动,“跳跃”)以及内插检测(太平滑的数据,指示了数据供应商进行了后期处理以在已知数据点之间内插以便填充缺失的数据)。这种问题数据被标记以供人类再查,使得在这些时段期间所检测的事件经受进一步仔细检查。
时空模式识别
时空模式识别208用于自动地标识在物理和时间模式与各种类型的事件之间的关系。在篮球的示例中,一个挑战是如何将以二十五帧/秒的十个选手和一个球的x、y、z定位转变成用于机器学习和模式识别算法的可用输入。对于模式而言,一个是尝试检测(例如挡切战术),原始输入可能不够。每个模式类别内的实例可能看起来与彼此非常不同。一个因此可以受益于抽象和概要层。在时间方面使多个动作者相关的特征是对输入的关键分量。示例包括但不限于选手一(P1)朝向选手二(P2)的运动,在至少T秒内,针对至少T秒的至少V m/s的运动速率以及在路径A和B的交点的投影点处,以及小于D的分隔距离。
在本公开内容的实施例中,提供了涉及在空间和时间上的多个动作者的这样的特征的库。在过去的机器学习(ML)文献中,对于这样的时空特征的库存在相对小的需要,因为存在具有这些特性的很少数据集,在所述特性上学习可以被视为选项。库可以包括动作者(例如篮球中的选手一到十)之间的关系、动作者与诸如球之类的其它对象之间的关系、以及基于预测的运动与其它标记(诸如球场或场地上的指定点和线)和与投影位置的关系。
另一关键挑战是没有用于训练ML算法的经标注的数据集。这样的经标注的数据集可以结合本文中公开的各种实施例而被使用。例如,先前没有已经具有较高层级事件的XYZ选手追踪数据集,所述事件诸如在它们发生的每个时间帧处所标注的挡切战术(P&R)事件。对于事件的许多不同类型和子类型而言,标注这样的事件是费力的过程。而且,对于充分地训练分类器而言所需要的训练示例的数目可能是未知的。可以使用主动学习的变型来解决该挑战。代替于使用经标注的数据的集合作为尝试区分A和B的分类器的训练输入,机器找到在特征空间中最接近于A和B之间的边界的未经标注的示例。机器然后针对用于该示例的标签而向人类操作者/标注者查询。它使用该标注的示例来精制其分类器,然后重复。
在主动学习的一个示例性实施例中,系统还以新特征的形式并入人类输入。这些特征要么完全由人类操作者设计(并且在主动学习框架中被输入为代码片段),要么它们由框架以模板形式来建议。模板使用时空模式库来建议对于测试而言可能效果好的特征的类型。操作者可以选择模式,并且测试所述模式的特定例示,或者请求机器测试该模式的某个范围的例示。
多循环迭代过程
一些特征基于机器学习过程本身的输出。因而,训练的多个迭代用于捕获该反馈并且允许所述过程收敛。例如,ML过程的第一迭代可能暗示公牛队倾向于确保(ice)P&R。该事实然后作为特征被馈送到ML训练的下一个迭代中,所述特征使算法偏向将公牛队的P&R防守标注为确保胜利(ice)。过程在多个迭代之后收敛。实际上。两个迭代通常已经足以产生良好的结果。
根据示例性实施例,正则事件数据存储装置210可以包含系统知道在比赛期间发生了的事件的限定列表。这包括从XYZ数据中提取的事件,以及由第三方源所指定的那些,诸如来自各种供应商的PBP数据。正则事件数据存储装置210中的事件可以具有针对每个事件所指定的比赛时钟时间。数据存储装置210可以相当大。为了维持高效的处理,它在云中跨许多机器而被共享并存储在存储器中。这在原理上类似于诸如HadoopTM之类的其它方法;然而,它高效得多,因为在涉及诸如体育事件之类的事件的实施例中,其中有很可能存在的某种预定结构(例如,篮球比赛中的24秒投篮时钟、或四分之一场或半场),它构成关于数据的关键结构假定。由于数据来自体育比赛,例如,在实施例中,可以强制没有任何查询将跨多个四分之一场/时段而运行。聚合步骤可以跨四分之一场/时段而发生,但是查询结果将不这样。这是该假定的一个例示。其中可以强制数据的局部性的任何其它域也将落入该类别中。
这样的设计允许跨所有数据的快速且复杂的查询,从而允许任意过滤器,而不是依赖于1)长运行过程,或2)概要数据,或3)在预定过滤器上的预计算的结果。
根据示例性且非限制性的实施例,数据被划分成足够小的碎片使得每个工作者碎片具有低的等待时间响应时间。每个分布式机器可以具有与机器可以并发支持的过程的数目相对应的多个工作者。查询结果从不依赖于多于一个碎片,因为我们强制使事件从不跨过四分之一场/时段的边界。聚合函数全部递增地运行而不是在批量过程中运行,使得在工作者返回结果时,这些即时被并入到最终的应答中。为了处置诸如评级页面之类的结果(其中必须返回许多行),聚合器使用散列来记录分离的行并且递增地更新它们。
参考图3,可以通过本文中公开的方法和系统来使能探索循环,其中可以发生询问和探索,诸如通过使用可视化(例如,数据效果,在本公开内容中称为DataFX),可以发生处理,诸如以标识新的事件和度量,并且理解显现,导致附加的询问、处理和理解。
参考图4,本公开内容提供了如在所图示的用户接口中所描绘的即时选手评级特征。用户可以在如下拉列表410中所指示的各种类型的可用评级402之间进行选择,诸如与投篮、篮板球、篮板球评定、隔离(Isos)、挡护、护球、传球、阵容、匹配、控制权(包括度量和行动)、过渡、行动和机会有关的评级。可以在菜单元素404中针对选手、队伍或其它实体来选择评级。可以在菜单元素408中针对不同类型的行动来选择评级,诸如针对进攻、防守、过渡、特殊情形等等。评级接口允许用户快速地查询系统以应答特定的问题而不是翻查数页的报告。用户接口让用户定位基本因素并且评估选手的才能,从而做出更明智的决策。
图5A-5B示出了本文所述的系统中的某些基本、但相当有深度的页面,所述系统在一些情况中被称为“Eagle系统”。该用户接口可以允许用户通过多种多样的度量来对选手和队伍评级。这可以包括所标识的行动、从这些行动中得出的度量、以及其它连续度量。度量可以涉及不同种类的事件、不同的实体(选手和队伍)、不同的情形(进攻和防守)以及在时空模式识别系统中所标识的任何其它模式。在篮球的情况中可以在其上对各种实体评级的项目的示例包括机会、负荷、停闭、带球突破、频率、传球、隔离、阵容、匹配、挡护、行动、控制权、护球、主要防守者、篮板球(主要和原始)、离球掩护、投篮、速度/负荷和过渡。
评级UI使得用户容易理解一行项目相对于其它行项目、沿着任何度量的相对质量。每个度量可以在列中显示,并且该行在针对该度量的值的分布内的评级可以被显示给用户。颜色编码使得用户容易理解相对优度。
图6A-6B示出了UI中的一组过滤器,其可以用于过滤特定的项目以获得更大水平的细节或所选结果集。过滤器可以针对以下各项而存在:赛季、比赛、主场队伍、客场队伍、最早和最晚日期、季后赛/常规季赛、赢/输、进攻主场/客场、进攻队伍、防守队伍、球场上用于进攻/防守的层、用于进攻/防守的场外选手、位置、进攻或防守统计量、得分差别、时段、剩余时间、超时后比赛开始、过渡/没有过渡、以及各种其它特征。针对进攻的过滤器602可以包括针对以下各项的选择:持球者、持球者定位、掩护者、掩护者定位、持球者结果、掩护者结果、方向、挡护的类型、外切/转切的类型、外切/转切的方向、和行动的存在(例如,在翼上或在中间)。过滤器的许多其它示例是可能的,因为过滤器可以存在用于任何类型的参数,所述参数关于系统所提取的或者处于用于提取事件的时空数据集中的事件而被追踪。本公开内容还允许态势比较。用户接口允许用户搜索可能适合进攻的特定选手。高度准确的数据集和易于使用的接口允许用户比较类似情形中的类似选手。用户接口可以允许用户探索选手倾向性。用户接口可以允许定位投篮位置并且还可以提供高级搜索能力。
过滤器使得用户能够以大量方式来使数据子集化,并且即时接收在子集上所计算的度量。使用多个循环来用于机器学习中的收敛使得系统能够实时地返回新过滤的数据和度量,而现有方法在给定过滤器的情况下将会需要数分钟来重新计算度量,从而导致不高效的探索循环(图3)。考虑到数据探索和探查过程通常需要许多循环,这些低效率可能以其它方式快速累积起来。
如参考图6A-6B所图示的,存在许多过滤器可以使得用户能够选择感兴趣的特定情形来分析。这些过滤器可以以逻辑组而被分类,包括但不限于比赛、队伍、位置、进攻、防守和其它。可能的过滤器可以取决于被分析的事件的类型(例如投篮、篮板球、挡护、传球、隔离、护球、过渡、停闭、负荷、带球突破、阵容、匹配、行动类型、控制权)而自动改变。
对于所有事件类型,在比赛类别下,过滤器可以包括赛季、特定的比赛、最早的日期、最晚的日期、主场队伍、客场队伍、在哪里进行主场/客场比赛、结果是赢还是输、比赛是否是复赛比赛、以及比赛的最新情况。
对于所有事件类型,在队伍类别下,过滤器可以包括进攻队伍、防守队伍、球场上的进攻选手、球场上的防守者选手、场外的进攻选手、场外的防守者。
对于所有事件类型,在位置类别下,可以给予用户可点击的球场地图,其被分割成球场的逻辑分区。用户然后可以选择任何数目的这些分区以便仅仅过滤那些分区中发生的事件。
对于所有事件类型,在其它类别下,过滤器可以包括得分差别、比赛开始类型(多选择:投球命中ORB、投球命中DRB、罚球ORB、罚球DRB、跳球、现场球失误、防守出界、边线出界)、时段、剩余秒数、超时后的机会(T/F/总)、过渡(T/F/总)。
对于投篮,在进攻类别下,过滤器可以包括投篮者、定位、结果(成功/错失/总)、投篮值、接球和投篮(T/F/总)、投篮距离、简单投篮类型(多选择:抛、角度上篮、带球突破上篮、跳投、得分)、复杂投篮类型(多选择:抛、吊高球、擦边球、静止上篮、切入上篮、带球突破上篮、跑投、接球并投篮)、辅助(T/F/总)、从(选手)传递、阻断(T/F/总)、扣篮(T/F/总)、擦板球(T/F/总)、干扰球(T/F/总)、投篮尝试类型(多选择:FGA没有犯规、FGM犯规、FGX犯规)、投篮SEFG(值范围)、投篮时钟(范围)、先前的事件(多选择:过渡、挡护、隔离、传球、得分、什么也没有)。
对于投篮,在防守类别下,过滤器可以包括防守者定位(多选择:PG、SG、SF、PF、CTR)、最近防守者、最近防守者距离、被阻断、投篮者高度优势。
对于挡护(pick),在进攻类别下,过滤器可以包括持球者、持球者定位、掩护者、掩护者定位、持球者结果(传递、投篮、犯规、失误)、掩护者结果(传递、投篮、犯规、失误)、直接或间接结果、挡护类型(拒绝、滑动、挡护)、外切/转切、方向、翼/中间、中间/翼/步进。
对于挡护,在防守类别下,过滤器可以包括持球者防守者、持球者防守者定位、掩护者防守者、掩护者防守者定位、持球者防守类型(在上、在下、闪电战、切换、冻结)、掩护者防守类型(软、虚饰、冻结、闪电战、切换)、持球者防守(复杂)(在上、在下、闪电战、切换、冻结、包困、弱)、掩护者防守(复杂)(在上、在下、闪电战、切换、冻结、包困、弱、上触)。
对于带球突破,在进攻类别下,过滤器可以包括持球者、持球者定位、持球者结果、直接或间接的、带球突破类别(传球、Iso、挡护、停闭、Misc.)、带球突破结束(近篮投篮、急停、内部传递、踢出界、撤退、失误、停止、其它)、方向、窜漏(T/F)。
对于带球突破,在防守类别下,过滤器可以包括持球者防守者、持球者防守者定位、帮助防守者存在(T/F)、帮助防守者。
对于大多数其它事件,在进攻类别下,过滤器可以包括持球者、持球者定位、持球者结果、直接或间接。
对于大多数其它事件,在防守类别下,过滤器可以包括持球者防守者、持球者防守者定位。
对于护球,在进攻类别下,过滤器可以另外包括区域(左、右、中间)。
对于护球,在防守类别下,过滤器可以另外包括包夹(T/F)。
本公开内容提供了详述的分析能力,诸如通过图7描绘的用户接口实施例。在图7中描绘的示例中,用户接口可以用于知道选手是否应当尝试并确保挡切战术或者不在两个选手之间。过滤器可以从全部挡护转到涉及如持球者的所选选手的挡护、转到涉及该持球者与某个掩护者的挡护、转到该掩护者所进行的防守的类型。通过往下过滤到特定的匹配(通过选手组合和所采取的行动),系统允许针对教练和选手的不同选项的迅速探索,以及允许选择在过去具有最佳结果的优选行动。除了别的之外,系统尤其可以给出选手的对手的详细分解以及关于在比赛期间预期什么的更好想法。用户接口可以用于知道并且突出对手能力。分解UI可以使得用户容易下钻到特定的情形,而全然同时获得关于贯穿数据的相关切片的频率和效率的洞察。
本系统所捕获的事件可以能够通过使用UI来被操纵。图8示出了可视化,其中下拉特征802允许用户选择与持球者有关的各种参数,诸如分解到涉及该持球者的情形的特定类型。这些类型的“分解”促进与视频数据的经改进的交互性,所述视频数据包括利用本文所公开的方法和系统所创建的增强视频数据。大多数标准可视化是静态图像。对于大且复杂的数据集,尤其是在其中要应答的问题预先未知的情况中,交互性使得用户能够探索数据、提问新问题、得到新回答。可视化可以是基于特定情形中的结果的颜色编码的好(例如橙色)与坏(例如蓝色),以用于在没有阅读详细数字的情况下的容易的理解。可以使用如同分区的大小之类的元素,诸如以标示频率。再次,用户可以从一瞥中理解意义。在实施例中,每列表示用于对数据集进行分区的变量。易于用户通过点击和拖动而添加、移除和重新布置各列。这使得容易在不同可视化的情况下实验。此外,用户可以钻到特定场景中,这通过点击感兴趣的分区,其放大到该分区,并且在右方的列中重绘分区,以使得它们被适当地重新缩放。这使得用户能够在右方的列中查看相对样本大小的分区,甚至是在它们相对于左方更远的列中所表示的所有可能场景而言是小的时。在实施例中,视频图标将用户带到与给定分区对应的行动集的视频剪辑。观看视频给予用户针对用于分区的其它变量的想法。
可以创建各种交互可视化以允许用户更好地理解从对事件的分类和过滤中所产生的洞察,诸如强调颜色编码以用于对异常的容易的视觉检查和检测的那些(例如,具有许多橙色但是在一个特定的维度上差/蓝色的大体良好的选手)。常规地,大多数标准的可视化是静态的图像。然而,对于大且复杂的数据集,尤其是在其中要应答的问题预先未知的情况中,交互性使得用户能够探索数据、提问新问题、得到新回答。例如,分解视图可以是颜色编码的好(橙色)与坏(蓝色),以用于在没有阅读数字的情况下的容易的理解。分区的大小可以标示事件的频率。再次,可以从一瞥中理解最频繁发生的事件。可视化的每列可以表示用于对数据集进行分区的变量。可以易于通过点击和拖动而添加、移除、和重新布置各列。这使得容易在可能的可视化的情况下实验。在实施例中,视频图标可以将用户带到诸如与该分区相对应的行动集的视频剪辑。观看视频给予用户针对用于分区的其它变量的想法。
在实施例中,提供评级视图。在鼠标通过评级视图的每行时,每列上方的直方图可以给予用户对该行针对每列变量的性能的清楚上下文理解。分布的形状通常是信息性的。每个单元内的颜色编码的条还可以提供在没有鼠标通过的情况下总是可用的每个单元的性能的视图。可替换地,单元本身可以颜色编码。
系统可以在本文所述的方法和系统的实施例中提供个性化的视频。例如,在有很少时间侦查对手的情况下,系统可以向用户提供相关信息以快速地为队伍做准备。队伍可以迅速地对于选手的特定需要而检索最有意义的行动、剪切并且汇编。系统可以提供即时的视频剪切。在实施例中,本公开内容提供与所标识的行动同步的视频。例如,如果时空机器学习将一段视频标识为示出涉及两个选手的挡切战术,那么该视频段可以被标记,使得当该事件被找到(要么通过浏览要么通过过滤到该情形)时,该视频可以被显示。由于机器理解视频中事件发生的精确时刻,所以可以创建视频的用户可定制的分段。例如,用户可以检索与每个事件发生之前的x秒和之后的y秒相对应的视频。因而,视频可以被标记并且与事件相关联。本公开内容可以提供一种视频,所述视频可以允许定制,这通过以上公开的类型的、涉及找到满足各种参数、显示各种事件、或其组合的视频的众多过滤器。例如,在实施例中,本公开内容所提供的交互接口允许针对特定的比赛情形或行动而观看视频剪辑。
报告可以向用户提供对可打印页面的容易访问,所述可打印页面概述关于对手的赛前信息、针对特定选手的侦查报告、或赛后概述。例如,报告可以在一到两个容易领悟的页面中收集可行动的有用信息。这些页面可以被自动调度以发送到其他职员成员,例如在每场比赛之后将赛后报告发送给教练。参考图11,报告可以包括针对给定选手的统计量,以及可视表示,诸如对于进行投篮的位置1102,包括特定类型的投篮(诸如接球和投射投篮)。
如图12中所图示的UI提供在体育球场的若干部分之间的球场比较视图1202(并且也可以在不同的球场之间被提供)。例如,过滤器1204可以用于选择针对球场要示出的统计量的类型。然后,统计量可以被过滤以示出通过左侧1208或右侧1214所过滤的结果。在其中统计量指示优势的情况下,可以示出优势,诸如左侧优势1210和右侧优势1212。
在体育运动中,比赛的场地是重要的域常量或元素。比赛的许多方面被最佳地表示以用于比赛场地上的比较。在实施例中,四球场比较视图1202是一种新方式来比较两个选手、两个队伍或其它实体,从而获得每个选手/队伍的概览视图(最左和最右的图)1208、1214,并且理解每一个的强处/弱处(左侧和右侧中央的图1210、1212)。
如图13中所图示的球场视图UI 1302提供了根据本公开内容的实施例的体育竞技场1304的球场视图1304。针对每个特定球场位置的统计量可以被呈现在球场视图的一部分1308上。UI可以提供根据本发明的实施例的定制标记的视图。
参考图14,过滤器可以使得用户能够以大量方式使数据子集化,并且即时地接收在子集上所计算的度量。可以捕获特定事件的描述并且使其可用于用户。
在比赛中可以标注各种事件,如图15中所反映的,图15提供按控制权1504、按机会1508、以及按沿着时间线1502发生的特定事件1510(诸如通过时空模式识别、通过人类分析或通过二者的组合所确定的)分解的比赛的时间线1502的详细视图。通过本公开内容的用户接口可用的过滤器类别可以包括基于以下各项的那些:赛季、比赛、主场队伍、客场队伍、最早的日期、最晚的日期、季后赛/常规季赛、赢/输、进攻主场/客场、进攻队伍、防守队伍、用于进攻/防守的球场上的选手、用于进攻/防守的场外选手、位置、得分差别、时段、剩余时间、比赛类型(例如,超时后比赛)以及过渡/没有过渡。事件可以包括基于基元标记的那些,诸如投篮、在校正投篮时钟情况下的投篮、篮板球、传递、控制权、运球和抢断,以及各种新的事件类型,诸如SEFG(投篮质量)、EFG+、选手调整的SEFG、和各种篮板球度量,诸如定位、机会百分比、进攻、转换百分比、定位以上的篮板球(RAP)、进攻+、转换+、和RAP+。进攻标记可以包括简单的投篮类型(例如,角度上篮、带球突破上篮、抛、背篮射球、跳投)、复杂的投篮类型(例如,背篮射球、抛、切入上篮、静止上篮、吊高球、擦边球、跑投、带球突破上篮、接球和静止投篮、接球和移动投篮、晃动&提升、通过掩护、急停和回步)以及与投篮有关的其它信息(例如接球和投篮、投篮时钟、2/3S、辅助投篮、投篮犯规/没有投篮犯规、成功/错失、阻断/没有被阻断、投篮者/防守者、定位/防守者定位、防守者距离和投篮距离)。可以诸如通过时空学习系统来被识别的其它事件可以包括与挡护有关的那些(持球者/掩护者、持球者/掩护者防守者、外切/转切、翼/中间、步进掩护、拒绝/滑动/取得、方向(右/左/没有)、双掩护类型(例如双人、角斗、L和传球到挡护中)以及防守类型(冻结、闪电战、切换、虚饰、软、在上、在下、弱、包困、以及上触)、与传球有关的那些(例如接球/二传手、接球者/二传手防守者、传球防守(冻结、闪电战、切换、虚饰、软、在上或在下)、退还/运球传球、以及翼/步进/中间)、与隔离有关的那些(例如持球者/防守者和包夹)以及与护球有关的那些(例如持球者/防守者、右/中间/左和包夹)。
防守标记也是可用的,诸如与以下各项有关的那些:停闭(例如持球者/防守者)、篮板球(例如前往篮板球的选手(防守/进攻))、挡护/传球防守、后包夹、带球突破窜漏以及在带球突破时的帮助防守者,与离球掩护有关的那些(例如掩护者/切入者以及掩护者/切入者防守者)、与过渡有关的那些(例如,当过渡/快攻发生的时候,进攻和防守上所牵涉的选手、以及补篮/没有补篮)、与比赛如何开始有关的那些(例如,在超时之后/不是在超时之后、边线出界、底线出界、投球命中进攻篮板球/防守篮板球、罚球进攻篮板球/防守篮板球以及现场球失误),以及与带球突破有关的那些,诸如持球者/防守者、右/左、窜漏/没有窜漏、帮助防守者存在、帮助防守者的标识、带球突破开始(例如传球、挡护、隔离或停闭)以及带球突破结束(例如近篮投篮、内部传递、踢出界、急停、撤离、停止和失误)。来自篮球以及其它体育运动的这些示例和许多其它示例可以基于对比赛期间什么构成一种类型的事件的任何理解而被限定。标记可以涉及离球掩护(掩护者/切入者)、掩护者/切入者防守者、掩护类型(往下、向前切入、UCLA、挤进、宽围、向后、折曲、削弱、拉锁、张开、跨过、以及压进)。
图16示出了用于查询和聚合的系统1602。在实施例中,数据被划分成足够小的碎片使得每个工作者具有低的等待时间响应时间。每个分布式机器可以具有与机器可以并发支持的过程的数目相对应的多个工作者。查询结果从不依赖于多于一个碎片,因为我们强制使事件从不跨过四分之一场/时段的边界。聚合函数全部递增地运行而不是以批量过程运行,使得在工作者返回结果时,这些被即时地并入到最终应答中。为了处置诸如评级页面之类的结果(其中必须返回许多行),聚合器使用散列来记录分离的行并且递增地更新它们。
图17示出了使用人类标注者连同机器学习算法一起来实现高准确性的混合分类过程的过程流。这类似于以上结合图2所描述的流,除了具有对人机验证过程的显式包括之外。通过利用如本文所述的经对准的视频,可以提供一种优化的过程来用于对机器标注的数据的人类验证。大多数的组件类似于结合图2以及结合经对准的视频的描述所述的那些,诸如XYZ数据源1702、清理过程1704、时空模式识别模块1712、事件处理系统1714、视频源1708、对准设施1710和视频片段设施1718。附加的组件包括验证和质量保证过程1720和事件标注组件1722。机器学习算法被设计成输出置信度的度量。对于大多数部分,这对应于特征空间中距分隔超平面的距离。在实施例中,可以定义用于置信度的阈值。如果示例是通过机器标注的并且具有在阈值以上的置信度,则事件进到正则事件数据存储装置210中并且没有任何进一步的内容被进行。如果示例具有在阈值以下的置信度评分,则系统可以检索与该候选事件对应的视频,并且请人类操作者提供评判。系统针对标签而询问两个分别的人类操作者。如果给定的标签一致,则事件进到正则事件数据存储装置210中。如果它们不一致,则第三人,其已知为监督者,被联系以用于最终的观点。监督者的决定可以是最终的。正则事件数据存储装置210可以包含人类标记的和完全自动化的标记二者。系统可以使用这两种类型的标记来进一步训练模式识别算法。事件标注类似于正则事件数据存储装置210,除了以下之外:有时可以1)开发完全通过手动、潜在地在有外部专家的情况下设置的初始黄金标准,或2)将黄金标准限制到正则事件数据存储装置210中通过手动标注的事件,因为在机器标注的数据中可能存在偏置。
图18示出了用于在本文所公开的方法和系统中使用的测试视频输入,包括来自模拟相机的篮球球场的视图,模拟的广播相机视图1802以及按用途装配的相机视图1804二者。
图19示出了用于在本文公开的方法和系统中使用的附加的测试视频输入,包括来自广播视频1902和来自场所中按用途装配的相机1904的输入。参考图20,可以基于有人站在每个x、y位置处的可能性来计算概率图2004。
图21示出了本文所述的方法和系统的实施例的过程流。初始,在OCR过程2118中,机器视觉技术用于自动定位“得分漏洞”并且确定比赛时钟位置、得分和四分之一场信息。该信息被读取并且被OCR算法识别。使用各种滤波技术的后期处理算法用于解决OCR中的问题。卡尔曼滤波/HMM用于检测误差并且校正它们。概率输出(其度量置信度)有助于该误差检测/校正。接下来,在细化过程2120中,有时,得分漏洞是不存在的或者不能被自动检测(例如,有时在PIP或拆分屏幕期间)。在这些情况中,剩余的不一致性或缺失的数据在人类输入的帮助下被解决。人类输入被设计成是稀疏的使得标注者不必在每帧处提供输入。内插和其它启发法用于填充间隙。进行一致性检查来检验比赛时钟。接下来,在对准过程2112中,正则数据存储装置2110(在本公开内容中的别处可替换地称为事件数据存储装置)包含系统知道在比赛期间发生的事件的限定性列表。这包括诸如在净化2104和时空模式识别2108之后从XYZ数据2102中所提取的事件,以及通过诸如逐个选手的数据集2106之类的第三方源所指定的那些,诸如从各种供应商可得到的。数据源之间的差异可以被解析,诸如通过解析器过程。正则数据存储装置2110中的事件可以具有针对每个事件所指定的比赛时钟时间。取决于事件的类型,系统知道用户将最可能对该比赛时钟之前和之后的比赛播放带的某个间隔感兴趣。系统因而可以检索适当的视频间隔以供用户观看。
一个挑战关于对死球情形和其它比赛时钟停止的处置。本文中所公开的方法和系统包括众多新颖的启发法来使能对示出期望的事件的正确视频帧进行计算,所述期望的事件具有指定的比赛时钟,并且可以在死球之前或之后,因为那些帧具有相同的比赛时钟。比赛时钟通常仅仅在一秒水平的粒度上被指定,除了在每个四分之一场的最后一分钟中之外。
另一增进是使用机器视觉技术来检验某些事件。例如:成功投篮的视频将通常示出得分增加,或将示出球穿过篮圈。任一种类的自动观察用来帮助对准过程,这导致正确的视频帧被示出给终端用户。
接下来,在查询UI组件2130中,UI使得用户能够快速且直观地请求与一组特性(选手、队伍、行动类型、持球者、持球者速度、剩余时间、四分之一场、防守者等等)相关联的所有视频剪辑。另外,当用户观看视频剪辑时,用户可以请求与正好在视频中出现的无论什么相类似的所有事件。系统使用一系列卡通状的图示来描绘对“类似的所有事件”进行表示的可能模式。这使得用户能够选择所意图的模式,并且快速地搜索与该模式匹配的其它结果。
接下来,方法和系统可以使得能够递送增强的视频,或视频剪片2124,这可以包括来自云中存储的数据的剪辑的快速传输。系统可以将视频存储为组块(例如,一分钟组块),诸如在AWS S3中,其中每个后续文件与先前的文件重叠,诸如重叠30秒。因而,每个视频帧可以被存储两次。系统的其它例示可以将视频存储为不同大小的分段,具有不同量的重叠,其取决于使用域。在实施例中,每个视频文件因而保持小尺寸。重叠的30秒持续时间可能是重要的,因为大多数篮球控制权(或我们术语中的机会)不持续多于24秒。因而,可以发现每个机会被完整地包含在一个视频文件中,并且为了递送该机会,系统不需要合并来自多个视频文件的内容。相反,系统简单地找到包含整个机会的适当文件(其进而包含处于查询结果中的事件),并且返回该整个文件,所述整个文件很小。利用先前计算的对准索引,系统还能够告知UI向前跳到视频文件的适当帧以便当查询结果出现在该视频文件中时向用户示出该查询结果。该递送可以通过使用AWS S3作为文件系统、因特网作为输送、以及基于浏览器的接口作为UI而发生。它可以发现利用其它存储、输送和UI组件的其它例示。
图22示出了可以使用本文所述的方法和系统所提取的、涉及篮球中的篮板球的某些度量。这些度量包括定位度量、进攻度量以及转换度量。对于定位,本文所述的方法和系统首先解决如何评估当进行投篮时选手的初始定位。这是确立起来困难的度量。本文所公开的方法和系统可以为每个选手在投篮的时候拥有的真实状态给出值。这分解成两个问题:(1)每个选手的真实状态是什么(2)它值什么为了解决第一个问题,可以应用使用Voronoi(或Dirichlet)镶嵌的技术。Voronoi镶嵌通常应用于涉及空间分配的问题。给定空间中的多个点,这些镶嵌将该空间分区成Voronoi单元。对于任何点,它是由从该点到所有其它点等距的超平面所限定的自包含的半空间的交集。也就是说,选手的单元是球场上与任何其他选手相比更靠近该选手的所有点。如果所有选手能力均等,则他们应当能够控制在该单元中出现的任何篮板球。理解到选手并不是能力均等的,然而对真实状态的这种确立是要设置针对性能的基线。该基线的性能之上或性能之下将指示其能力。为了解决第二个问题,可以基于在哪里进行投篮来调节并且计算针对类似投篮的所有篮板球在哪里被获得的空间概率分布。对于每个投篮尝试,可以选择最靠近投篮位置的投篮的集合,其提供足够的样本来构造分布。该分布捕获针对给定投篮的跨球场的真实状态的值。为了向每个选手指派针对初始定位的值,即,在投篮时候的真实状态的值,可以对针对该选手的Voronoi单元上的空间分布求积分。这产生在当进行投篮时没有人移动并且他们控制他们的单元的情况下该选手得到篮板球的可能性。我们注意到,因为我们使用在投篮上调节的篮板球位置的分布,因此控制更多区域或甚至必要地靠近篮筐的区域不重要,而控制针对该投篮的最有价值的区域是重要的。虽然大多数有价值的区域几乎总是靠近篮筐,但是存在某些指向效果。
对于进攻或尽力拼抢(hustle)度量,可以查看投篮之后的阶段,诸如初始碰撞阶段。为了对此进行分析,可以查看球的轨迹并且计算球到达最靠近篮框中心的时间。在该点处,可以重应用基于Voronoi的分析并且计算每个选手的篮板球百分比,即,在球命中篮框时每个选手具有的真实状态的值。从进行投篮的时间到它命中篮框的时间中该百分比的改变是选手在该阶段期间增加的值或可能性。选手可以如下增加值:通过冲抢篮板球,即朝向篮板球可能到的地方而移动得更靠近篮筐,或通过卡位,即通过采取已经确立的有价值的真实状态而阻止其他选手。针对碰撞阶段的有用新度量通过从篮框处的篮板球概率中减去投篮处的篮板球概率来生成。问题是增加概率的能力并不独立于投篮处的概率。考虑靠近篮筐而行动的防守选手的情况。选手正占有高值真实状态,并且一旦进行了投篮,其他选手就将开始进入到该真实状态中。对于具有高初始定位值的选手而言难以具有正的碰撞德尔塔(delta)。现在考虑在三分线外的选手。他们的初始值非常低,并且朝向篮框移动任何显著距离将给他们正的碰撞德尔塔。因而,在相同尺度上比较这些选手是不公平的。为了对此进行解决,可以查看原始碰撞德尔塔(在篮框处的概率和投篮处的概率之间的差异)相比于投篮处概率的关系。为了对该效应进行规格化(normalize),可以从原始碰撞德尔塔中减去选手的初始定位值处的回归值,从而形成选手碰撞值。直观地,该值指示该选手增加了超过具有类似初始定位的选手将会增加的内容之上的多少更多概率。可以将该规格化方法应用于所有度量,初始定位影响其它维度并且针对它进行控制可以是有益的。
一旦球到了十英尺以下,如果选手是最靠近球的选手(或者当球在十英尺以上时,如果选手控制着球),则选手具有篮板球的机会。具有第一机会的选手可能没有得到篮板球,因此在单个投球命中错失之后可以创建多个机会。可以记录选手为他们自己生成了机会所针对的投球命中错失的数目并且将其除以投球命中的数目以创建机会百分比度量。这指示该选手结果是在某点处最靠近球所针对的投球命中错失的百分比。选手生成超过其初始定位之上的机会的能力是篮板球的第二维度:尽力拼抢。再次,然后可以应用如针对碰撞在较早前所述的相同规格化过程。
针对每个错失的投篮经常存在篮板球的多个机会的原因在于最靠近球并不意味着选手将把它转换成篮板球。因而,篮板球的第三维度,转换。针对选手的原始转换度量简单地通过将所获得的篮板球的数目除以所生成的机会的数目来计算。
在形式上,给定投篮s,所述投篮s通过其在球场上的2D坐标、s_x和s_y来描述,所述投篮s后跟有篮板球r,所述篮板球r也通过其在球场上的坐标r_x和r_y来描述,可以估计,在球场上给定其投篮位置的情况下在每个定位处发生的篮板球的概率密度。
这可以通过首先将球场离散化成例如156个仓(bin)来实现,所述156个仓通过将球场分隔成13个均等间隔的列以及12个均等间隔的行而被创建。然后,给定来自特定仓的投篮的某个集合S,来自S的篮板球将根据多项式分布而被分布在球场的仓中。然后,给定训练集S,可以应用最大似然性估计来确定球场的每个仓中的篮板球的概率。给定针对球场的156个分布,该过程可以针对投篮可能落入的仓来被执行。
通过使用这些分布,可以确定。首先,投篮s被映射到适当的仓。在先前的步骤中所确定的概率分布然后用于确定在球场的每个仓中投篮被抢篮板球的概率。假定在特定的仓内,篮板球均匀可能地发生在任何坐标中。因而,篮板球落入仓中的概率的概率密度被指派给仓中的所有点。
通过使用概率密度,给定每个特定选手的位置和球场其他选手的定位,可以确定所述每个特定选手夺取篮板球的概率。
为了实现这点,可以首先创建球场的Voronoi图解,其中点集是针对球场上每个选手的位置(p_x,p_y)。在这样的图解中,给予每个选手他们控制的点集。在形式上,可以用以下方式来对选手P_k控制的点集进行表征,其中X是球场上的所有点,并且d指示2个点之间的笛卡尔距离。
,针对所有j≠k}。
现在存在2个分量用于在给定每个选手的位置、特别是投篮的位置以及球场上所有其他选手的位置的情况下确定所述每个选手得到篮板球的概率。可以通过如下假定来确定该值:假定如果球被抢篮板球,则它将总是被最近的可用选手抢篮板球。因此,通过对选手的Voronoi单元中的每个位置上的篮板球概率求积分,我们确定其篮板球概率:
。
前述章节描述了假定选手是静止的而用于确定选手篮板球概率的方法。然而,选手通常移动以便进入到用于篮板球的更加定位中,尤其是当他们开始处于劣势定位中时。可以计及该现象。让选手的原始篮板球概率被标示为rp并且让d是对选手是否在防守进行标示的指示符变量。
然后可以尝试估计选手得到篮板球的概率,我们用以下方式来表述所述概率:
。
通过执行两个线性回归来这样做,一个线性回归用于球的进攻侧并且一个线性回归用于防守侧。可以尝试用以下方式来估计:
。
这导致要估计的四个量。可以通过如下来这样做:在测试集中的所有篮板球上针对进攻和防守选手来执行平常的最小二乘回归。当选手抢到篮板球时,可以使用1作为目标变量,并且当他没有抢到篮板球时,可以使用0作为目标变量。针对进攻来执行该回归以确定Ao和Bo并且针对防守来执行该回归以确定Ad和Bd。给定投篮位置和球场上的其他选手,于是可以使用所述值来确定每个选手得到篮板球的最终概率。
还可以使用该系统来创建新的投篮度量。给定投篮s的各种特征(标示为F),能够确定成功投篮的概率。在形式上,每个投篮可以通过以下形式的特征向量来被表征:
。
此处,hoop表示投篮者投射的篮筐,defender0指代最靠近投篮者的防守者,defender1指代第二靠近的防守者,并且hoopother指代球场另一端的篮。角函数指代三个点之间的角度,其中中间点用作顶点。是指示符变量,如果投篮者在进行投篮之前的单独控制中没有采取运球则其被设置为1,否则被设置为0。
给定这些特征,寻求估计。为了这样做,可以首先将投篮拆分成2个类别,一个用于其中dist(hoop,shooter)小于10的情况,并且另一个用于其余的投篮。在每个类别内,可以找到用于以下等式的系数:
,
其中
。
此处,F0到F5标示针对特定投篮的特征值。可以通过使用投篮的训练集S上的逻辑回归来找到系数值。当投篮错失时,针对回归的目标是0,并且当投篮成功时,所述目标是1。通过执行两个回归,能够找到适当的系数值,用于10英尺内的投篮和10英尺外的较长距离投篮二者。
如图23中所描绘的,三个或四个维度可以在2-D图形散布等级视图2302上动态地被显示,包括图标的x、y、大小,并且随时间改变。每个维度可以由用户选择来表示用户选择的变量。而且,在鼠标通过时,有关的图标可以突出,例如鼠标通过一个选手可以突出相同队伍上的所有选手。
如图40中所描绘的,报告2402可以由用户定制,使得队伍可以创建特别地特制于该队伍的过程和工作流的报告。另一特征是报告不仅可以可视地显示针对所示每个类别的优势和劣势,而且还显示该优势或劣势的大小,连同被比较的每侧的值和等级。该可视语言使得用户能够快速浏览报告并且理解最重要的点。
参考图25,提供质量保证UI 2502的实施例。QA UI 2502向人类操作者呈现比赛的动画2D头顶视图2510以及行动的视频剪辑2508二者。关键特征是仅仅将与该行动相关的几秒示出给操作者,而不是整个控制权,所述整个控制权可能超过20秒长,或甚至更坏地,需要人类操作者在比赛录像带中快进以找到事件本身。键盘快捷键用于所有操作,以最大化效率。参考图26,操作者的任务被简化至其核心,使得我们尽可能多地减轻认知负荷:如果操作者正检验行动类别X,则操作者仅需在QA UI 2602的实施例的接口元素2604中进行选择,而无论视图2608中所示的行动是否有效(是或否)或者(可能)。她还可以将行动视为(副本)、(复合)行动,这意味着它仅仅是类型X的行动的相继序列中的一个类型X的行动,或者选择(标记)该行动以供出于任何原因的监督者再查看。UI 2602的特征包括快词、倒带、提交等等的能力,如在菜单元素2612中所反映的。表2610可以允许用户指示在所指定的时间处发生的行动的有效性。
图27示出了相机姿态检测的方法,也已知为“球场求解”。该图示出了“颜料(paint)”的自动检测的结果,以及使用边界线来针对相机姿态进行求解。在给定所求解的相机姿态的情况下,球场线和篮的位置然后被示出为往回投影到原始图像2702上。该投影来自求解过程的第一迭代,并且可以看到所投影的球场和实际球场还没有完美对准。可以使用机器视觉技术来找到篮并且找到球场线(例如,颜料边界),然后使用所找到的线来针对相机姿态进行求解。多种技术可以用于确定球场线,包括检测颜料区域。颜料区域检测可以自动进行。一种方法涉及自动移除球场的非颜料区域,这通过跨图像自动地执行一系列“泛洪填充”类型的行动、针对球场着色的像素进行选择。这在图像中留下颜料区域,并且然后直接找到线/点。还可以检测球场上可见的所有线,例如背景或3分弧。在任一情况中,交集提供用于相机求解的点。可以提供人类接口2702以用于提供点或线来辅助算法,以精细调谐自动求解器。一旦提供了所有输入,相机姿态求解器就基本上是随机化的爬山者,其使用数学模型作为向导(因为它可能约束不足)。它可以使用多个随机初始化。它可以增进一个解,如果该解是该轮中最佳的之一的话。当完成迭代时,它可以重复,直到误差很小为止。图46示出了“颜料”的自动检测的结果,以及使用边界线来针对相机姿态进行求解。在给定所求解的相机姿态的情况下,球场线和篮的位置然后被示出为往回投影到原始图像上。该投影来自求解过程的第一迭代,并且可以看到所投影的球场和实际球场还没有完美对准。
图28涉及相机姿态检测。图中所示的第二步骤2802示出了人类如何可以使用该GUI来对仍稍微脱离的相机解进行手动细化。
图29涉及自动转描。需要自动转描2902以便对选手周围的图形进行描绘而不重叠选手的身体。转描通过选出具有与球场类似的颜色的图像部分来被部分地自动化。图像中留下的色块可以被检测成是人类轮廓。颜色补块可以被“向量化”,这通过找到围绕补块的小量向量,但是不捕获可能不表示选手身体的过多像素。
图30A-30C涉及利用资产库3002的脚本化叙事。为了产生图形扩充的剪辑,公司可以着重学习能手队伍,或者公司可以确定如何基于资产库来最佳处理脚本化。例如,代替于手动描记选手的轨迹和随着选手变得更靠近球而在每帧中增加投篮概率,脚本化语言允许本文所述的方法和系统在几行代码中详细说明该扩充。在另一示例中,对于篮板球剪辑,Voronoi分区和相关联的篮板球定位百分比可能难以针对每帧来计算。情节元素效果的库可以列出这些当前和将来效果中的每一个。脚本化的情节元素效果的某些组合可能最好地适合于某些类型的剪辑。例如,篮板球和补篮将可能利用原始投篮概率、包括Voronoi分区的篮板球概率,并且然后回到去往篮板球的选手的投篮概率。这整个脚本可以被学习为与视频中的事件类型很好地相关联。随着时间,系统可以自动推断最佳的情节线、或至少检索适当的情节线来与包含某些事件的所选视频剪辑相匹配。这使得经扩充的视频剪辑(本文中称为DataFX剪辑)能够贯穿比赛被自动生成且递送。
图31-38示出了DataFX可视化的示例。图31的可视化需要求解球场定位以便放下网格、选手“坑(puddle)”。投篮弧也需要篮板/篮的解。在图32中,Voronoi镶嵌、热图、投篮和篮板球的弧全部都需要相机姿态解。选手的突出使用转描。在图33中,除了以上之外,选手被转描以用于突出。图34-38示出了附加的可视化,其基于使用本文所公开的方法和系统。
在实施例中,DataFX(利用数据驱动的特效所扩充的视频)可以被提供以用于比赛前、比赛期间、或比赛后的观看,以供分析和娱乐用途。DataFX可以组合增进的数据与好莱坞风格的特效。纯数字可能是无聊的,而纯特效可能是无助的,但是这二者的组合和结果可以非常强大。DataFX中单独地或组合地使用的示例性特征可以包括使用球场上的Voronoi叠覆、球场上的网格叠覆、球场上的热图叠覆、示出在错失的投球命中尝试之后球的可能轨迹的瀑布效果、示出了投篮到篮圈的可能轨迹的投篮上的喷射效果、经突出的选手周围的圆圈和光辉、选手上或选手周围的统计量和可视提示、标示比赛行动的箭头和其它标记、球场上的计算叠覆、以及示出所考虑的每个变量的效果。
图39-41示出了被称为“Clippertron”的产品。所提供的是一种方法和系统,由此球迷可以使用其分布式移动设备来单独地和/或集体地控制在超大屏幕或(多个)视频板上所示的内容。实施例使得球迷能够经历移动应用会话以便选择选手、投篮类型、以及投篮位置来在视频板上示出。球迷还可以录入他或她自己的姓名,以便它在突出剪辑旁边被显示。剪辑在视频板上实时地被示出,或者排队以供显示。变型包括得到关于球迷的座位号的信息。这可以用于示出球迷的实况视频馈送,而他们所选的突出部分被示出在视频板上。被称为“FanMix”的是基于web的移动app,其使得运动场中的球迷能够控制超大屏幕并且选择突出剪辑来推送到超大屏幕。FanMix的实施例使得球迷能够通过使用移动设备web接口来选择他们最喜欢的选手、投篮类型和投篮位置。在按压提交按钮时,示出该特定投篮的突出部分被发送到超大屏幕并且根据队列中的放置次序来被显示。使能该能力的是视频在一秒分数内被对直到每个投篮。这允许许多剪辑快速接连地被示出,每个示出从释放的时刻到球通过篮圈的视频。在一些情况中,视频可以开始于行动的开始,而不是比赛开始的时候。
图41涉及被称为“inSight(洞察)”的供应。该供应允许将相关的统计推送到球迷的移动设备4104。例如,如果选手X刚刚从翼上进行了三分投篮,则这将会示出关于以下各项的统计量:相对于其它类型的投篮他多久进行一次那些类型的投篮4108、以及他通常从什么类型的比赛行动中做出这些投篮。inSight为硬核球迷做出Eagle(上述系统)为队伍分析者和教练所做的内容。当球迷就座于竞技场中时,信息、洞察和智能可以被递送到球迷的移动设备。该数据不仅是优美且有娱乐性的,而且还与球场上的行动相调谐。例如,在强力前锋进行的看起来不可能的角落三分球之后,立即向球迷推送信息,所述信息示出投篮的频率、难度以及成功可能性。在实施例中,可以诸如在球迷的移动电话形式因素中提供以上描述为“Eagle”的平台特征或其子集。实施例可以包括拆开的情节板,诸如从用于82”触摸屏的格式到用于小4”屏幕的格式。内容可以被推送到设备,其对应于比赛中发生的实时事件。可以向球迷提供对各种效果(例如,本文所述的DataFX特征)和对本文所公开的方法和系统的其它特征的访问。
图42和43示出了触摸屏产品接口元素4202、4204、4208、4302和4304。这些基本上是贯穿本公开内容所述的相同基本功能性上的许多不同皮肤和设计。增进的统计被示出在直观的大格式触摸屏接口中。触摸屏可以充当情节板以用于示出符合对比赛或其要素的理解的各种可视化、度量和效果。实施例包括大格式的触摸屏用于评论员在广播期间使用。当InSight向球迷提供内容时,情节板使得电视上的评论员能够以帮助他们向观众叙述最激发兴趣的情节的方式来访问内容。
特征包括提供球场视图、六边形频率+效率视图、具有事件网格的“城市/矩阵”视图、面/直方图视图、向观看者传达每个头的位置意指选手的相对评级的动画内部序列、当切换度量时示出重新评级的动画面梭(shuttle)、散布等级视图、使用两个变量(每个轴上一个)的评级、趋势视图、点播视频情况下的度量以及r-skin或简化以用于变化评论者能力水平的能力的整合。
在实施例中,新的度量可以用于其它活动,诸如驱动新类型的幻想比赛,例如幻想联盟中得分的点可以基于新度量。
在实施例中,DataFX可以向选手示出他的点是如何被记分的,例如,在RB的头上运行计数器的叠覆示出冲过的码(yard)而同时视频示出RB到场下。在实施例中,可以递送例如视频剪辑(可能地通过DataFX效果来被增强),所述视频剪辑对应于在该晚或该周为幻想用户的队伍得了分点的行动。
通过使用类inSight的移动接口,可以进行社交游戏,使得实时发生比赛行动中的许多而同时球迷正观看比赛。
通过使用类Insight的移动设备特征,可以管理社交游戏使得实时发生比赛行动,而同时球迷正观看比赛、体验各种DataFX效果并且在比赛期间在屏幕上看到幻想的得分相关的度量。在实施例中,方法和系统可以包括幻想建议或用于球迷的选派工具,呈现有助于选手选择的评级和其它度量。
正如Eagle通过设计更好的战术和策略来使得队伍能够得到更多的胜利,我们可以为幻想选手提供类Eagle的服务,其给予选手获胜优势。所述服务/工具将会使得球迷能够研究所有可能的选手,并且帮助他们为即将到来的一周/比赛执行更好的选派或选择更好的阵容。
DataFX还可以用于瞬时重播,其中DataFX经优化使得它可以产生具有DataFX叠覆的“瞬时重播”。这依赖于用于球场检测、相机姿态求解、选手追踪和选手转描的完全自动化的解决方案。
交互式的DataFX还可以被适配用于在第二屏幕、诸如平板上的显示,而同时用户观看主屏幕。实时或瞬时重播的观看和交互可以用于使能这样的效果。在第二屏幕类型的观看体验上,球迷可以交互式地将DataFX的各种元素在开和关之间来回切换。这使得球迷能够定制体验,并且探索许多不同的度量。不是仅仅有DataFX使能的重播,系统可以被进一步优化以使得DataFX以真实的实时而被叠覆,从而使得用户能够在实况视频馈送以及被叠覆有DataFX的实况视频馈送之间来回切换。用户然后将还能够选择要叠覆的DataFX的类型或者要将它叠覆在哪个(哪些)选手上。
触摸屏UI可以被建立以用于与DataFX交互。
以上实施例中的许多可以用于篮球,以及用于其它体育运动以及用于在视频、诸如TV节目、影片或实况视频(例如新闻馈送)中所捕获的其它项目。对于体育运动,我们使用选手追踪数据层来使得计算机能够“理解”每场比赛的每秒。这使得计算机能够递送从比赛的部分中提取的内容,并且利用相关的叙事元素来扩充该内容。计算机因而向终端用户递送个性化的交互扩充体验。
对于非体育领域,诸如TV节目或影片,没有帮助计算机理解事件的选手追踪数据层。相反,在该情况中,计算机必须以某种其它方式得到对TV节目或影片中每个场景的理解。例如,计算机必须使用话音识别来贯穿节目提取对话。或者它可以使用计算机视觉来识别每个场景中的对象,诸如变形金刚影片中的机器人。或者它可以使用这些输入以及其它输入的组合来识别如同爆炸之类的事物。声道也可以提供线索。
结果产生的系统将会使用该理解来递送与我们针对体育领域所描述的相同种类的个性化交互扩充的体验。例如,用户可以请求观看变形金刚影片系列,但是仅仅是其中有机器人打斗并且没有人类对话的场景的汇编。这使得能够实现“短形式的狂欢观看”,其中用户可以观看通过切细并且重组合来自原始视频的内容比特而创建的内容。原始视频可以是体育事件、其它事件、TV节目、影片以及其它源。用户因而可以饱览将其个体偏好作为目标的视频汇编。这还使得能够实现观看的概述形式,其适合于追上当前事件或当前趋势的视频,而不必观看整集或整个影片。
本文公开的方法和系统还可以包括以下特征和能力中的一个或多个:时空模式识别(包括主动学习复杂模式并且学习诸如P&R、护球、行动调用之类的行动);用于产生高质量标签、组合根据XY数据的自动化候选生成以及手动细化的混合方法;通过比赛时钟的自动化识别来索引视频;呈现经对准的光学和视频;使用经组合的显示的新标记,手动和自动化(经由姿态检测等等)的二者;度量:投篮质量、篮板球、防守等等;可视化,诸如Voronoi、热图分布等等;各种设备上的实施例;具有度量&可视化的视频增强;使用动画和视频二者的交互显示;用于体育指导和评论者显示的手势和触摸交互;以及使用HMM、PBP、视频、混合验证来清理XY数据。
本文中提供了关于数据清理204的进一步细节。原始输入XYZ经常是有噪声的、缺失的或错误的。XYZ数据还与所附的基础事件一起被递送,所述基础事件诸如控制权、传递、运球、投篮。这些经常是不正确的。这是重要的,因为过程(时空模式识别)中进一步往下的事件标识有时取决于这些基础事件的正确性。如以上所指出的,例如,如果两个选手的XY定位被交换,则“在上”与“在下”防守将会被不正确地交换,因为选手的相对定位被用作用于分类的关键特征。而且,PBP数据源偶尔是不正确的。首先,可以使用验证算法来检测所有事件,包括被提供有XYZ数据的基础事件,诸如控制权、传递、运球、投篮和篮板球。控制权/非控制权可以使用隐马尔科夫模型来最佳地将数据拟合到这些状态。投篮和篮板球可以使用控制权模型输出,所述输出与1)所投影的球的目的地和2)PBP信息相组合。运球可以通过使用经训练的ML算法并且还使用控制权模型的输出来被标识。
具体地,一旦控制权被确定,就可以利用隐马尔科夫模型来标识运球。隐马尔科夫模型包括三个状态:
1. 当选手仍能够运球时持球。
2. 运球。
3. 在选手已经运球之后持球。
当选手获得控球权时,该选手开始于状态1。在所有时候,允许选手过渡到其当前状态,或者具有比其当前状态高一个的数的状态,如果这样的状态存在的话。
选手停留在其当前状态中或过渡到另一状态的可能性可以通过模型的过渡概率以及观察来被确定。过渡概率可以凭经验从训练数据中学习到。模型的观察包括选手的速度,所述选手的速度被放到两个类别中,一个针对快速移动,并且一个针对缓慢移动,以及球的高度,所述球的高度被放到针对低和高的高度的类别中。这两个观察的交叉乘积表示针对模型的观察空间。类似于过渡概率,给定特定状态的观察概率可以凭经验从训练数据中学习到。一旦这些概率已知,模型就完全被表征,并且可以用于当选手在运球时对未知数据分类。
一旦已知选手在运球,剩下就要确定何时发生实际运球。这可以利用支持向量机来进行,所述支持向量机使用关于球和选手的域特定的信息,诸如球的高度,作为特征来确定在该时刻选手是否在运球。过滤通过也可以应用于结果得到的运球,以确保它们明显分隔,使得例如两个运球不发生在彼此的.04秒内。
返回到对算法的讨论,这些算法使基础事件标注误差率按显著因子减小,诸如大约50%。其次,系统具有异常检测算法的库以标识数据中的潜在问题。这些包括时间不连续性(标记缺失数据的间隔);空间不连续性(对象行进是不平滑的运动,“跳跃”);内插检测(太平滑的数据,指示了数据供应商进行了后期处理以在已知数据点之间内插以便填充缺失的数据)。这种问题数据被标记以供人类再查,使得在这些时段期间所检测的事件经受进一步仔细检查。
可以以至少两种类型、以及以混合组合的类型来进行空间选手追踪。对于广播视频情况下的追踪,广播视频获得自多个广播视频馈送。典型地,这将包括来自中心看台中途向上的标准“从看台的视图”、篮板视图、来自从每个角落的较低角度的看台视图、以及潜在地其它视图。可选地,还返回来自每个相机的PTZ(摇摄倾斜缩放)传感器信息。可替换方案是特殊相机设置方法。代替于广播馈送,这使用来自被特别地装配以用于选手追踪目的的相机的馈送。相机通常在其位置、摇摄、倾斜、缩放方面被固定。这些相机通常以高的架空角来被装配;在当前例示中,典型地沿着球场上方的架空狭小通道。可以使用混合/组合的系统。该系统将会使用广播馈送和来自按用途装配的相机的馈送这二者。通过组合这两个输入系统,准确性得以改进。而且,输出准备好被传递到DataFX流水线以用于即时处理,因为DataFX将在已经处理的广播馈送的顶上描绘图形。在其中使用广播视频的情况下,在每个帧中必须求解相机姿态,因为PTZ可能随帧改变。可选地,具有PTZ传感器的相机可以将该信息返回到系统,并且PTZ输入被用作用于相机姿态求解器的初始解。如果该初始化被算法视为是正确的,则它将被用作最终结果;否则将发生细化直到系统接收到可用解为止。如上所述,可以通过球场上颜色的补块来标识选手。对应的定位是已知的,因为相机姿态是已知的,并且我们可以执行在3D空间和像素空间之间的恰当投影。
在其中使用按用途装配的相机的情况下,可能涉及多个水平的分辨率。球场或场地的某些区域需要更多的灵敏度,例如在一些球场上,当选手处于颜料中时,“颜料”区域的颜色使得难以追踪选手。具有较高动态范围和较高缩放的额外相机聚焦于这些区域。额外的灵敏度使得计算机视觉技术能够针对球场的不同部分而训练分离的算法,将每个算法与其输入类型以及该任务的难度相调谐。
在组合系统中,通过组合固定的和广播视频馈送,选手追踪系统的输出可以直接馈送到DataFX产生中,从而使能几近实时的DataFX。广播视频还可以产生可以用于增加准确性的高清样本。
本文公开的方法和系统可以包括轨迹片段(tracklet)缝合。光学选手追踪导致短到中等长度的轨迹片段,其通常在系统丢失了对选手的追踪或者选手与另一选手碰撞(或靠近所述另一选手而通过)的时候结束。通过使用队伍标识和其它属性,算法可以将这些轨迹片段缝合在一起。
在其中人处于回环中的情况下,系统可以被设计用于快速交互和用于消除多义性和误差处理。这样的系统被设计成优化人类与系统的交互。可以提供新接口来同时指定多个移动的动作者的运动,而不必逐帧地匹配移动。
在实施例中,请求定制剪辑来用于内容创建,诸如涉及OCR。机器视觉技术可以用于自动地定位“得分漏洞”并且确定比赛时钟位置、得分和四分之一场信息。该信息被读取并且被OCR算法识别。使用各种滤波技术的后期处理算法用于解决OCR中的问题。卡尔曼滤波/HMM可以用于检测误差并且校正它们。概率输出(其度量置信度)有助于该误差检测/校正。
有时,得分不存在或者不能被自动检测(例如,有时在PIP或拆分屏幕期间)。在这些情况中,剩余的不一致性或缺失的数据在人类输入的帮助下解决。人类输入被设计成是稀疏的使得标注者不必在每个帧处提供输入。内插和其它启发法用于填充间隙。进行一致性检查来检验比赛时钟。
对于对准2112,如结合图21所讨论的,另一增进是使用机器视觉技术来检验某些事件。例如:成功投篮的视频将通常示出得分增加,或将示出球穿过篮圈。任一种类的自动观察用来帮助对准过程,这导致正确的视频帧被示出给终端用户。
根据示例性且非限制性的实施例,至少部分地基于3D定位/运动数据来提供具有所提取的基于语义的体验的扩充或增强视频。[CV1A]根据其它示例性的实施例,提供了可嵌入的app内容以用于具有所提取的基于语义的体验的扩充视频。[CV1B]在又一示例性实施例中,提供了以下能力:通过使用计算机视觉技术来(几近)实时地自动检测球场/场地、以及相机的相对定位。这可以与对选手的自动转描相组合以便产生动态扩充的视频内容。
根据示例性且非限制的实施例,描述了一种方法用于提取与语义相关的概念相对应的事件和情形。在还其它的实施例中,语义事件可以被转化并且目录化到数据和模式中。
根据示例性且非限制的实施例,提供了至少部分地基于所提取的语义事件的触摸屏或基于其它手势的接口体验。
根据示例性且非限制的实施例,描述了独特用于所提取的语义事件和用户所选扩充的第二屏幕接口。在还其它的实施例中,第二屏幕可以显示实时的或几近实时的情景化内容。
根据示例性且非限制的实施例,描述了一种方法来用于将经转化的语义数据“描绘”到接口上。
根据示例性且非限制的实施例,描述了至少部分地基于针对语义事件的光学XYZ对准的时空模式识别。在还其它的实施例中,描述了至少部分地基于来自多个源的混合验证的时空语义模式识别的检验和细化。
根据示例性且非限制的实施例,描述了用于语义事件的人类标识的视频对准标签和标记。在还其它的实施例中,描述了机器学习算法以用于至少部分地基于用于语义事件的人类标识的视频对准标签的时空模式识别。
根据示例性且非限制的实施例,描述了通过使用机器视觉技术对来自体育事件的视频的自动比赛时钟索引,并且交叉引用该索引与对比赛事件进行索引的语义层。产物是以下能力:针对高度详细的事件的查询,并且几近实时地返回对应的视频。
根据示例性且非限制的实施例,描述了至少部分地基于时空模式的独特度量,包括例如投篮质量、篮板球评定(定位、进攻、转换)等等。
根据示例性且非限制的实施例,描述了使用广播视频馈送的选手追踪。
根据示例性且非限制的实施例,描述了使用多相机系统的选手追踪。
根据示例性且非限制的实施例,描述了基于所提取的语义的视频切割。视频切割是由以某种有意义的方式与彼此有关的小视频剪辑构成的再混合。语义层使能实时发现并且递送定制的切割。语义层可以以两种方式之一产生:(1)与数据组合的视频产生语义层,或(2)视频直接到语义层。提取可以通过ML或人类标记。在一些示例性的实施例中,视频切割可以至少部分地基于所提取的语义,其由体育场中的用户控制并且被显示在超大屏幕上。在其它实施例中,视频切割可以至少部分地基于所提取的语义,其由家中的用户控制并且被显示在广播TV上。在还其它的实施例中,视频切割可以至少部分地基于所提取的语义,其由个体用户控制并且被显示在用于该用户的web、平板或移动设备上。在还其它的实施例中,视频切割可以至少部分地基于所提取的语义,其由个体用户创建,并且与其他人共享。共享可以通过平板间/设备间通信,或经由移动共享站点。
根据示例性且非限制的实施例,可以收集X、Y和Z数据以用于推断具有竖直分量的选手行动的目的。
本文所述的方法和系统可以部分或全部地通过机器来部署,所述机器在处理器上执行计算机软件、程序代码和/或指令。处理器可以是服务器、客户端、网络基础设施、移动计算平台、静止计算平台或其它计算平台的部分。处理器可以是能够执行程序指令、代码、二进制指令等等的任何种类的计算或处理设备。处理器可以是或包括信号处理器、数字处理器、嵌入式处理器、微处理器或任何变体,诸如协处理器(数学协处理器、图形协处理器、通信协处理器等等)等等,其可以直接或间接地促进存储在其上的程序代码或程序指令的执行。另外,处理器可以使能执行多个程序、线程和代码。线程可以被同时执行以增强处理器的性能并且促进应用的同时操作。作为实现方式,本文所述的方法、程序代码、程序指令等等可以在一个或多个线程中被实现。线程可以产生其它线程,所述其它线程可以具有与它们相关联的经指派的优先级;处理器可以基于优先级或任何其它次序(其基于程序代码中所提供的指令)来执行这些线程。处理器可以包括存储器,所述存储器存储如本文和别处所述的方法、代码、指令和程序。处理器可以通过接口来访问存储介质,所述存储介质可以存储如在本文中和别处所述的方法、代码和指令。与处理器相关联的、用于存储能够被计算或处理设备执行的方法、程序、代码、程序指令或其它类型的指令的存储介质可以包括但可以不限于以下各项中的一个或多个:CD-ROM、DVD、存储器、硬盘、闪速驱动器、RAM、ROM、高速缓存等等。
处理器可以包括一个或多个核,所述一个或多个核可以增强多重处理器的速度和性能。在实施例中,处理器可以是双核处理器、四核处理器、其它芯片层级的多重处理器等等,其组合两个或多个独立的核(称为管芯)。
本文所述的方法和系统可以部分或全部地通过机器来部署,所述机器在服务器、客户端、防火墙、网关、集线器、路由器、或其它这样的计算机和/或联网硬件上执行计算机软件。软件程序可以相关联于服务器,所述服务器可以包括文件服务器、打印服务器、域服务器、因特网服务器、内联网服务器和其它变体,诸如次级服务器、主机服务器、分布式服务器等等。服务器可以包括以下中的一个或多个:存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟的)、通信设备、以及能够通过有线或无线介质来访问其它服务器、客户端、机器和设备的接口、等等。如在本文中和别处所述的方法、程序或代码可以由服务器执行。另外,对于执行如在本申请中所述的方法所需要的其它设备可以被视为与服务器相关联的基础设施的部分。
服务器可以提供到其它设备的接口,所述其它设备包括但不限于客户端、其它服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等等。另外,该耦合和/或连接可以促进跨网络对程序的远程执行。在不脱离范围的情况下,这些设备中的一些或全部设备的联网可以促进在一个或多个位置处对程序或方法的并行处理。另外,通过接口附连到服务器的任何设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央储存库可以提供将在不同设备上执行的程序指令。在该实现方式中,远程储存库可以充当用于程序代码、指令和程序的存储介质。
软件程序可以相关联于客户端,所述客户端可以包括文件客户端、打印客户端、域客户端、因特网客户端、内联网客户端和其它变体,诸如次级客户端、主机客户端、分布式客户端等等。客户端可以包括以下中的一个或多个:存储器、处理器、计算机可读介质、存储介质、端口(物理的和虚拟的)、通信设备、以及能够通过有线或无线介质来访问其它客户端、服务器、机器和设备的接口、等等。如在本文中和别处所述的方法、程序或代码可以由客户端执行。另外,对于执行如在本申请中所述的方法所需要的其它设备可以被视为与客户端相关联的基础设施的部分。
客户端可以提供到其它设备的接口,所述其它设备包括但不限于服务器、其它客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等等。另外,该耦合和/或连接可以促进跨网络对程序的远程执行。在不脱离范围的情况下,这些设备中的一些或全部设备的联网可以促进在一个或多个位置处对程序或方法的并行处理。另外,通过接口附连到客户端的任何设备可以包括能够存储方法、程序、应用、代码和/或指令的至少一个存储介质。中央储存库可以提供将在不同设备上执行的程序指令。在该实现方式中,远程储存库可以充当用于程序代码、指令和程序的存储介质。
本文中所述的方法和系统可以部分地或全部地通过网络基础设施来部署。网络基础设施可以包括诸如以下各项的元件:计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备以及如本领域中已知的其它有源和无源的设备、模块和/或组件。与网络基础设施相关联的(多个)计算和/或非计算设备除了其它组件之外可以包括存储介质,诸如闪速存储器、缓冲器、堆栈、RAM、ROM等等。在本文和别处所述的过程、方法、程序代码、指令可以由一个或多个网络基础设施元件来执行。
在本文和别处所述的方法、程序代码和指令可以实现在具有多个小区的蜂窝网络上。蜂窝网络可以是频分多址(FDMA)网络或码分多址(CDMA)网络。蜂窝网络可以包括移动设备、小区站点、基站、中继器、天线、塔台等等。小区网络可以是GSM、GPRS、3G、EVDO、网格或其它网络类型。
在本文和别处所述的方法、程序代码和指令可以在移动设备上或通过移动设备来实现。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型电脑、掌上型电脑、上网本、传呼机、电子书阅读器、音乐播放器等等。这些设备除了其它组件之外可以包括存储介质,诸如闪速存储器、缓冲器、RAM、ROM以及一个或多个计算设备。可以使得与移动设备相关联的计算设备能够执行存储在其上的程序代码、方法和指令。可替代地,移动设备可以被配置成与其它设备协同地执行指令。移动设备可以与基站通信,所述基站与服务器对接并且被配置成执行程序代码。移动设备可以在对等网络、网格网络或其它通信网络上通信。程序代码可以存储在与服务器相关联的存储介质上,并且由服务器内嵌入的计算设备执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备所执行的程序代码和指令。
计算机软件、程序代码和/或指令可以在机器可读介质上被存储和/或访问,所述机器可读介质可以包括:计算机组件、设备和记录介质,其在某个时间间隔内保持用于计算的数字数据;已知为随机存取存储器(RAM)的半导体存储装置;典型用于更持久存储的大容量存储装置,诸如光盘、磁存储装置的形式,如同硬盘、磁带、磁鼓、磁卡和其它类型;处理器寄存器、高速缓存存储器、易失性存储器、非易失性存储器;光学存储装置,诸如CD、DVD;可移除介质,诸如闪速存储器(例如,USB棒或密钥)、软盘、磁带、纸带、穿孔卡、独立RAM盘、Zip驱动器、可移除的大容量存储装置、离线装置等等;其它计算机存储器,诸如动态存储器、静态存储器、读/写存储装置、可变存储装置、只读、随机存取、顺序存取、位置可寻址、文件可寻址、内容可寻址、网络附连的存储装置、存储区域网络、条形码、磁墨等等。
本文所述的方法和系统可以将物理和/或无形项目从一个状态变换到另一状态。本文所述的方法和系统还可以将表示物理和/或无形项目的数据从一个状态变换到另一状态。
本文中、包括贯穿各图的流程图和框图中描述和描绘的元素暗示元素之间的逻辑边界。然而,根据软件或硬件工程实践,所描绘的元素及其功能可以通过计算机可执行的媒介而实现在机器上,所述机器具有能够执行存储在其上的程序指令的处理器,所述程序指令存储为单片软件结构、独立软件模块、或者采用外部例程、代码、服务等等的模块、或者这些的任何组合,并且所有这样的实现方式可以在本公开内容的范围内。这样的机器的示例可以包括但可以不限于个人数字助理、膝上型电脑、个人计算机、移动电话、其它手持式计算设备、医学装备、有线或无线通信设备、换能器、芯片、计算器、卫星、平板PC、电子书、配件、电子设备、具有人工智能的设备、计算设备、联网装备、服务器、路由器等等。此外,在流程图和框图中描绘的元素或任何其它逻辑组件可以实现在能够执行程序指令的机器上。因而,虽然前述附图和描述阐明了所公开的系统的功能方面,但是没有任何用于实现这些功能方面的特定软件布置应当从这些描述中被推断出,除非明确陈述或以其它方式从上下文中是清楚的。类似地,可以领会到,以上标识和描述的各种步骤可以变化,并且步骤的次序可以被适配于本文公开的技术的特定应用。所有这样的变化和修改意图落入本公开内容的范围内。因而,各种步骤的次序的描绘和/或描述不应当被理解成要求用于那些步骤的特定执行次序,除非特定应用有所要求,或明确陈述,或以其它方式从上下文中是清楚的。
上述方法和/或过程及其步骤可以在适合于特定应用的硬件、软件、或硬件和软件的任何组合中实现。硬件可以包括通用计算机和/或专用计算设备或特定的计算设备,或者特定计算设备的特定方面或组件。过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其它可编程设备、连同内部和/或外部存储器中实现。过程还可以或替代地体现在可以被配置成处理电子信号的专用集成电路、可编程门阵列、可编程阵列逻辑、或任何其它设备、或设备组合中。还可以领会的是,所述过程中的一个或多个可以实现为能够在机器可读介质上被执行的计算机可执行代码。
计算机可执行的代码可以通过使用结构化的编程语言来被创建,所述结构化的编程语言诸如C、面向对象的编程语言、诸如C++或任何其它高级或低级编程语言(包括汇编语言、硬件描述语言、和数据库编程语言和技术),其可以被存储、编译或解译来在以上设备、以及处理器的异构组合、处理器架构、或不同硬件和软件的组合、或能够执行程序指令的任何其它机器中的一个上运行。
因而,在一个方面中,上述每个方法及其组合可以体现在计算机可执行的代码中,所述计算机可执行的代码当在一个或多个计算设备上执行时施行其步骤。在另一方面中,方法可以体现在执行其步骤的系统中,并且可以用多种方式跨设备而分布,或者所有功能性可以集成到专用、独立的设备或其它硬件中。在另一方面中,用于执行与上述过程相关联的步骤的构件可以包括上述硬件和/或软件中的任一个。所有这样的置换和组合意图落入本公开内容的范围内。
虽然已经结合详细示出和描述的某些优选实施例而公开了本文所述的方法和系统,但是其上的各种修改和改进对于本领域技术人员而言可以变得容易显而易见。因此,本文所述的方法和系统的精神和范围不要被前述示例限制,而是要以法律可允许的最宽意义来理解。
本文中引用的所有文献由此通过引用以其全部被并入。