U.S. patent application number 14/398942 was filed with the patent office on 2015-05-14 for methods, systems and software programs for enhanced sports analytics and applications.
The applicant listed for this patent is MOCAP ANALYTICS, INC.. Invention is credited to Eldar Akhmetgaliyev, Arian S. Forouhar, Mathew M. Kellogg, Kavodel Ohiomoba.
Application Number | 20150131845 14/398942 |
Document ID | / |
Family ID | 49515048 |
Filed Date | 2015-05-14 |
United States Patent
Application |
20150131845 |
Kind Code |
A1 |
Forouhar; Arian S. ; et
al. |
May 14, 2015 |
METHODS, SYSTEMS AND SOFTWARE PROGRAMS FOR ENHANCED SPORTS
ANALYTICS AND APPLICATIONS
Abstract
A system for enhanced sports analytics and/or content creation
includes: an object tracking system that generates coordinate data
corresponding to object motion in a sports event; a data processing
module that receives the coordinate data from the object tracking
system, analyzes the coordinate data with an event recognition
algorithm that identifies and characterizes events and outcomes of
interest, and catalogs the data in accordance with the identified
events and outcomes into event profile data; a database that
receives and stores the event profile data generated by the data
processing module; a user application that accesses the event
profile data from the database; and at least one processing unit
that executes instructions stored in at least one non-transitory
medium to implement at least one of the object tracking system, the
data processing module, or the user application.
Inventors: |
Forouhar; Arian S.; (Menlo
Park, CA) ; Kellogg; Mathew M.; (Palo Alto, CA)
; Ohiomoba; Kavodel; (Palo Alto, CA) ;
Akhmetgaliyev; Eldar; (Mountain View, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
MOCAP ANALYTICS, INC. |
Palo Alto |
CA |
US |
|
|
Family ID: |
49515048 |
Appl. No.: |
14/398942 |
Filed: |
May 3, 2013 |
PCT Filed: |
May 3, 2013 |
PCT NO: |
PCT/US13/39569 |
371 Date: |
November 4, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61642454 |
May 4, 2012 |
|
|
|
61790641 |
Mar 15, 2013 |
|
|
|
Current U.S.
Class: |
382/100 |
Current CPC
Class: |
G06F 16/71 20190101;
G06F 16/7837 20190101; G06K 9/00724 20130101 |
Class at
Publication: |
382/100 |
International
Class: |
G06K 9/00 20060101
G06K009/00; G06F 17/30 20060101 G06F017/30 |
Claims
1-209. (canceled)
210. A method of distributing output data for use by a user, the
method comprising the steps of: receiving raw data representative
of real time positions of objects using at least one processing
unit; filtering the raw data, using the at least one processing
unit, to identify missing data or errors in the raw data;
correcting the errors in the raw data using the at least one
processing unit; filling in data for the missing data using the at
least one processing unit; filtering the corrected data through
algorithms that reduce total data in the corrected data, using at
least one processing unit, by selectively outputting data which is
relevant to at least one of pre-selected situations, times, or
other criteria related to the pre-selected situations; placing the
filtered data into a data store that is queryable by users; and
distributing at least a portion of the filtered data from the data
store to users via at least one social media application or online
application.
211. A method of distributing data according to claim 210 wherein
the distributed data relates to a sporting event.
212. A method of distributing data according to claim 211 wherein
the distributed data comprises a continuous narrative of the
sporting event.
213. A method of distributing data according to claim 210 wherein
the distributed data is automatically distributed via at least one
of live micro-blog messages, a blog, an e-mail and a string of
emails.
214. A method of distributing data according to claim 210 wherein
the distributed data is automatically distributed in response to
the occurrence of predetermined events related to the raw data.
215. A method of distributing data according to claim 210 wherein
the distributed data is distributed via a first screen which is
integrated into a second screen to enable the user to see the data
in conjunction with real time events.
216. A method of distributing data according to claim 215 wherein
the second screen is video of a sporting event.
217. A method of distributing data according to claim 210, further
comprising generating a comparative analysis or similarity
tool.
218. A method of distributing output data for use by a user, the
method comprising the steps of: receiving raw data representative
of real time position of objects using at least one processor;
filtering the raw data, using the at least one processing unit, to
identify missing data or errors in the raw data; correcting the
errors in the raw data, using the at least one processing unit;
filling in data for the missing data, using the at least one
processing unit; filtering the corrected data through algorithms
which reduce total data in the corrected data, using the at least
one processing unit, by selectively outputting data which is
relevant to at least one of pre-selected situations, times, or
other criteria related to the pre-selected situations; placing the
filtered data into a data store, using the at least one processing
unit, that is queryable by users; and distributing at least a
portion of the filtered data in the data store to users via at
least one web application or mobile application.
219. A method of distributing data according to claim 218 wherein
the distributed data relates to a sporting event and wherein the
distributed data provides an overview of the rate and efficiency of
players in various game situations in the sporting event.
220. A method of distributing output data according to claim 218
wherein the output is distributed via an automated narrative.
221. A method of distributing output data according to claim 220
wherein the automated narrative is made available to the user
through a social media channel.
222. A method of distributing output data according to claim 218
wherein all content is generated automatically.
223. A method of distributing output data according to claim 218
wherein the distributed data is distributed via an automated figure
generator.
224. A method of distributing output data according to claim 223
wherein figures generated by the automated figure generator contain
visuals containing the distributed data.
225. A software application product for enhanced viewing of a
sporting event, comprising: a data processing module that receives
object tracking coordinate data associated with a sporting event,
applies an event recognition algorithm to automatically identify
and characterize events and outcomes of interest from the object
tracking coordinate data as event profile data, and compare the
event profile data associated with the sporting event with archived
event profile data from previous sporting events; and at least one
non-transitory medium storing instructions executable by at least
one processing unit to implement the data processing module;
wherein the software application generates at least one of enhanced
analytics or created content from the comparison of the event
profile data associated with the sporting event with the archived
event profile data.
226. The software application product for enhanced viewing of a
sporting event of claim 225 wherein the enhanced analytics
generated by the software application comprise outcome
probabilities or most likely outcomes.
227. The software application product for enhanced viewing of a
sporting event of claim 226 wherein the outcome probabilities or
most likely outcomes generated by the software application comprise
team win/loss probabilities.
228. The software application product for enhanced viewing of a
sporting event of claim 226 wherein the outcome probabilities or
most likely outcomes generated by the software application comprise
player performance probabilities.
229. The software application product for enhanced viewing of a
sporting event of claim 228 wherein the player performance
probabilities generated by the software application comprise player
matchup probabilities.
230. The software application product for enhanced viewing of a
sporting event of claim 228 wherein the player performance
probabilities generated by the software application comprise
identifying desirable or undesirable player matchups.
231. The software application product for enhanced viewing of a
sporting event of claim 226 wherein the outcome probabilities or
most likely outcomes are distributed via social media.
232. The software application product for enhanced viewing of a
sporting event of claim 225 wherein the enhanced analytics
generated by the software application are applicable to sports
gaming.
233. The software application product for enhanced viewing of a
sporting event of claim 225 wherein the enhanced analytics
generated contemporaneously with the sporting event are displayed
on a mobile device.
Description
FIELD
[0001] The concepts disclosed herein related to methods, system,
application programming interfaces (APIs) and software programs for
real time and non-real time enhanced sports analytics and content
creation. More specifically, these concepts relate to the field of
computational algorithms for pattern recognition, activity
identification, outcomes analysis, and information storage and
accessibility in the field of sports analytics and sports content
creation. The applications of these analyses may have broad reach
into several dimensions of the sports industry and, accordingly,
could provide valuable tools for sports franchises, sports media
providers, fantasy sports players, fans at the stadium and casual
observers watching the game in their living rooms.
BACKGROUND
[0002] Object tracking during sporting activities (games,
practices, or workouts) is now available through invasive and
non-invasive tools. By tagging objects on the playing field, using,
for example RFID tags, motion transducers or other tracking
devices, or by post-processing synchronized and calibrated video
recordings of activities, it may now be possible to extract
multi-dimensional information about objects or players, such as,
for example, the 4-dimensional (3 spatial dimensions and time)
location (x,y,z,t) of objects throughout a sporting event or
activity. Traditional video recording techniques do not allow
quantitative position information to be automatically extracted due
to insufficient viewing angles, moving camera angles and zooms,
non-calibrated images, and absence of tagged objects.
[0003] Recent advances in non-invasive object tracking tools and
miniature player tracking devices have spawned the need for novel
quantitative data analysis tools that are customizable and equipped
to provide easy to understand results and accessible information.
It would be beneficial for the newly available information to be
accessible for a variety of applications, including real time
observation and interaction. In order to allow the analyses of both
the object-tracking and other external sources of data to be
rendered in `real-time` additional consideration and systems must
be built in parallel.
[0004] In sports, teams, including players, coaches, owners,
general managers, and others, benefit from creating effective
strategies and employing these strategies at the appropriate times
and with the appropriate personnel. Teams regularly question
whether a game plan was well designed, whether a game plan was
properly executed by the players, and what type of ability and/or
effort the players demonstrated during the event or activity. Teams
benefit from making appropriate personnel decisions which may
include drafting players, trading players, or resigning current
players. these decisions are best made with comprehensive and
customized analytic tools that extract information from all the
available data.
[0005] Until now, the available data from sporting activities has
largely been qualitative. As a result, it has not been possible to
precisely determine the location and occurrence of every sporting
activity due to limited data and cumbersome analytic processes.
Similarly, when a sporting activity of interest occurs, it has not
previously been possible to automatically and precisely extract the
characteristics, such as, the location, velocity, interactions or
other characteristics of every object, or groups of objects, in a
sporting activity. To the extend such data is available and
utilized, it is usually obtained through rigorous manual techniques
involving many hours of labor, accompanied by the unpredictability
of human error and judgment.
[0006] With the availability of quantitative data from recently
developed object tracking technology, it may be possible to improve
playing performance, team strategy, broadcasting and media
programming and the overall consumer experience. The utility of
this data will depend on the quality and robustness of the
customizable, automated algorithms developed to quantitatively,
consistently, and comprehensively characterize every sporting
activity as it occurs, as well as the timely accessibility of all
the permutations of the results of these activities.
[0007] Using video data, one can identify the occurrence of
activities in a cumbersome and labor intensive manner, but still
cannot precisely and comprehensively quantify characteristics of
activities such as, for example location, speed, and distance. Nor
is it possible to accurately and precisely relate such
characteristics to specific points in time.
[0008] The automated event identification methods described herein
have made such a massive amount of new information available, and
within a negligible time of actual event occurrence, that a variety
of novel real-time applications for the information are now
available, necessitating customized real time system architectures,
methods and tools.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] These and other features, aspects and advantages of the
various devices, systems and methods presented herein are described
with reference to drawings of certain embodiments, which are
intended to illustrate, but not to limit, such devices, systems and
methods. It is to be understood that the attached drawings are for
the purpose of illustrating concepts of the embodiments discussed
herein and may not be to scale.
[0010] FIGS. 1a and 1b is an illustration of a conceptual
architecture for an exemplary system in accordance with one
embodiment of the invention and an illustration of a real-time data
processing system, respectively.
[0011] FIGS. 2a and 2b are illustrations of an exemplary user
interface for providing enhanced sports analytics via Stat Tables
according to one embodiment of the invention.
[0012] FIG. 3 is an illustration of a two-dimensional animation of
a sporting event according to one embodiment of the invention.
[0013] FIG. 4 is an illustration of a two-dimensional animation of
a sporting event including additional contextual data according to
one embodiment of the invention.
[0014] FIG. 5 is an illustration of a two-dimensional animation of
a sporting event including a shot chart according to one embodiment
of the invention.
[0015] FIG. 6 is an illustration of a two-dimensional animation of
a sporting event including catch chart according to one embodiment
of the invention.
[0016] FIG. 7 is an illustration of a two-dimensional animation of
a sporting event including a catch chart according to one
embodiment of the invention.
[0017] FIG. 8 is an illustration of an interactive user
application/interface according to one embodiment of the
invention.
[0018] FIG. 9 is an illustration of an interactive user
application/interface according to one embodiment of the
invention.
[0019] FIG. 10 is an illustration of an interactive user
application/interface according to one embodiment of the
invention.
[0020] FIG. 11 is an illustration of an interactive user
application/interface according to one embodiment of the
invention.
[0021] FIG. 12 is an illustration of an illustrative interactive
user application/interface according to one embodiment of the
invention.
[0022] FIG. 13 is an illustration of an exemplary viewing
application according to one embodiment of the invention.
[0023] FIG. 14 is an illustration of a two-dimensional animation of
a sporting event including possession tails according to one
embodiment of the invention.
[0024] FIG. 15 is an illustration of an input screen for a
comparative analysis tool according to one embodiment of the
invention.
[0025] FIG. 16 is an illustration of an output screen for a
comparative analysis tool according to one embodiment of the
invention.
[0026] FIG. 17 is an illustration of a web application according to
one embodiment of the invention.
[0027] FIG. 18 is an illustration of a web application according to
one embodiment of the invention.
[0028] FIG. 19 is an illustration of an automated narrative
distributed through a social media platform according to one
embodiment of the invention.
[0029] FIGS. 20a and 20b are illustrations of automated figures and
content generated according to one embodiment of the invention.
[0030] FIG. 21 is an illustration of an automated narrative
distributed through an email according to one embodiment of the
invention.
[0031] FIG. 22 is an illustration of a real-time overlay of
event/activity profile data onto a video broadcast of the game.
[0032] FIG. 23 is an illustration of a text box selection tool
according to one embodiment of the invention.
[0033] FIG. 24 is an illustration of a text box
selection/suggestion tool according to one embodiment of the
invention.
[0034] FIG. 25 is an illustration of a text selection suggestion
tool according to one embodiment of the invention.
[0035] FIGS. 26a and 26b is an illustration of a textual trend
suggestion tool according to one embodiment of the invention.
[0036] FIG. 27 depicts a visual system combining video broadcast
and analytical and event profile data according to one embodiment
of the invention.
DETAILED DESCRIPTION
[0037] The ability to interpret quantitative object locations using
automated pattern recognition algorithms makes it possible to
characterize and analyze player and team performances and
interactions in a precise, reliable and comprehensive manner.
Understanding these activities, along with the strengths,
weaknesses and tendencies of one player, team or opponent will
allow for improved, data-driven preparation and strategic
decisions, and the availability of new information for
observers.
[0038] For the purposes of this disclosure, sporting activities can
include, but are not necessarily limited to, player or team actions
or interactions in a game or practice setting or recreational
environment or scouting environment. Such sporting activities could
be a single event or sequence of events. Sporting activities may
further include referee actions and locations, offensive and
defensive sets and, player and team matchups, game or event
simulations, etc. For the purposes of this patent application a
sporting activities includes, but is not limited to, player, team,
referee/umpire/official, coach actions, interactions and/or
locations, matchups (player and/or team), offensive or defensives
sets/plays, etc. These sporting activities can occur in any number
of settings, including games, practices, drills, scouting
environment and/or recreational environment. Sporting activities
can also represent attributes of the player, team or official,
including strengths, weaknesses, tendencies, or executive
dimensions (e.g., speed, quickness, force of hit, path to ball,
angle of pass/short, etc.). Additionally, the terms sporting
activity and sporting event or sports activity/event can be used
interchangeably.
[0039] Recent improvements in acquiring object tracking data during
sporting activities have created large datasets that must now be
described and analyzed with novel analytic tools. The datasets that
list object locations across time consist of large arrays of
unfamiliar numerical and textual data that must be processed
further in order to identify familiar individual and team
activities (for example, an offensive play type in basketball)
along with individual and team characteristics during these
activities (for example, how the defense played in high screen in
basketball). The utility of these datasets is limited without
appropriate sport-specific activity recognition algorithms to
transform and interpret this data. For example, simply knowing the
location of the ball along with the location of each of the ten
players on a basketball court does not explain the relationship
between the ball and players. For example, the relative locations
of the player and ball at any time point do not describe whether
the ball is being dribbled, passed or shot. Once the dynamic
criteria for game situations and activities are established and the
appropriate algorithms are verified, then specific sporting
activities can be recognized and characterized. This data can then
be used in a variety of meaningful ways to gain better insights
into the game and optimize performances and decisions, and provide
new information to observers.
[0040] Described herein are real-time methods, systems, APIs, user
applications and software programs comprising customized and
flexible algorithms for comprehensively identifying activities and
quantifying characteristics and outcomes of activities that
transpire during a sports program (e.g., game, practice,
exercise/drill, etc.). The aforementioned system includes an
algorithm employing sport-specific and activity-specific pattern
recognition methods that depend on flexible, user-defined, criteria
for activities and outcomes. These criteria may depend on patterns
across time. The algorithms can also be trained to identify
criteria for specific activities of interest by inputting
pre-selected data from known occurrences of activities. The nature
of the data requires a number of specific tools to achieve reliable
results with minimal operator input.
[0041] In addition to improved analytics, digitally tagging each
activity of interest and applying these tags to traditional sports
video will enable the creation of a completely searchable library
of sports activity footage, both by user and algorithmically
generated tags. Easy access to this searchable library of
activities will provide value to teams and observers. Teams will be
able to, in real-time, retrieve any activity of interest from any
game and create compilations of interest that can be easily viewed,
discussed and transferred. This ability will improve the efficiency
of film review and strategic decision-making by coaches, players,
etc. Similarly, by tagging every activity of interest along with
all the associated game states (as defined below), viewers can
interact in new ways with traditional sports media.
[0042] In addition to enabling new interactions with traditional
media, accessing newly available information in real time, or in
combination with archived information, will enable creation of an
interaction with novel sports content.
[0043] FIG. 1. FIG. 1a provides a conceptual architecture of an
exemplary system in accordance with this specification. The system
comprises (a) object tracking technology for acquiring and
generating coordinate data corresponding to objects from a playing
activity, (b) an event processing module for operating technical
computing software for receiving said coordinate data, and other
secondary data, and processing software for analyzing, transforming
and filtering said coordinate data, and other secondary data, to
yield various data sets, (c) a database processing module for
storing said data sets and (d) user applications for presenting and
allowing the user to interact with said data sets. As shown in FIG.
1a, the user applications for accessing and using the robust data
sets available via this technology are many and considerable.
[0044] In FIG. 1b, the schematic shows the real time database
processing module, in which data flows in from the top, while the
user requests (independent of the data) flow in from the bottom.
The blue arrows indicate the flow of the data as it is being added
to the database, the red arrows show the user requests and the
green arrows show the response to the user. Upon entering the
real-time database processing system first the data is processed
into the necessary formats and added to both the real-time database
and a queue, which waits to add the data to the
non-real-time-database. As the data exits the queue and is added to
the non-real-time database, it is removed from the database in an
atomic operation, to ensure there isn't a duplication of data in
response to user requests. When the user requests data, the system
determines which database the requested data is in, and if in both,
the system concatenates the results in the proper way before
returning the data to the user.
[0045] Acquisition of tracking coordinate data can be accomplished
using any number of concepts or techniques. For example, in one
embodiment of the system depicted in FIG. 1a, object tracking
technology may include a series of cameras local to a playing
activity such as a basketball game or practice. These cameras track
playing activity objects such as players, referees, officials,
balls and other sporting equipment. They use that information to
generate data streams, including digital positioning data,
corresponding to such objects. These video signals and the
associated digital positioning data are transmitted from each
camera to a central synthesizer unit, such as a central server. The
synthesizer unit processes the video data from each camera and
generates coordinate data corresponding to each tracked object.
[0046] An exemplary camera-based system may include both hardware
and software components. The hardware includes multiple cameras
placed local to the sporting activity (e.g., stadium, arena, park,
gym, etc.) and processing hardware for analyzing the signals
generated by the camera. The cameras track, identify and locate
objects on the field. Processors built within each camera process
the signals generated by the cameras into data streams, which are
directed to a local or remote server. The server then stores the
received data as coordinates.
[0047] In addition to the camera-based tracking system just
described, other tracking technology can be used to acquire
tracking coordinate data of a sporting activity. For example,
global positioning system (GPS) can be utilized for this purpose,
whereby GPS sensors are located on the objects to be tracked. These
sensors can be attached to or imbedded within the ball and player
equipment (e.g., helmet, shoes, uniform, etc.). These sensors can
be configured to track, record and/or transmit data corresponding
to object location and movement. Other types of sensors that can be
used include radiofrequency identification (RFID) sensors,
accelerometers, capacitive sensors, infrared sensors, magnetometers
and gyroscopes.
[0048] The coordinate data generated by object tracking technology
can be in many different formats, including, for example,
coordinate data comprising three spatial coordinates and one
temporal coordinate (e.g., x, y, z, t) corresponding to each
object. Each object can also have distinguishing numeric
information matched to its corresponding coordinate data. For
example, the distinguishing numeric information for players in a
sporting activity can be the players' uniform numbers.
Alternatively, the distinguishing numeric information can be more
generic, for example, corresponding to the players' generic
position (e.g., in basketball, 1 for the point guard, 2 for the
shooting guard, 3 for the small forward, etc.). Once the
coordinates corresponding to the sporting activity/event are
obtained by the object tracking technology, the data can be stored
locally until completion of the sports function, transmitted
periodically at pre-specified time or transmitted in real time to a
remote server for subsequent processing and analysis.
[0049] As the object tracking coordinate data is available it is
deposited with a central processing unit (CPU) computer and, or,
virtual computer for processing. The CPU and, or virtual computer
will utilize technical computing software, such as, for example,
C++, R, Python or Matlab, that may be compiled or interpreted into
a stand alone application, to facilitate processing of the data.
This initial processing of the coordinate data may include several
steps, including transforming the coordinates to a more usable
format, checking the data for consistency and error identification.
The CPU or virtual computer is also configured to receive and store
additional data from secondary sources, such as, for example, those
discussed later. Once the initial processing of the coordinate data
is performed, the CPU or virtual computer then performs steps of
advanced processing, including, for example (1) error analysis, (2)
event/activity recognition, (3) organization into tagged datasets,
(4) coupling data with any secondary source information, and (5)
stored in a system that allows for flexible, real-time access in
multiple formats for the user. Once the information is processed,
it may be provided to a user interface or a user application.
Error Analysis
[0050] Described here are several error analysis tools that can be
implemented individually or in combination to improve the utility
of the object coordinate data. As one can imagine, this coordinate
data generated by the object tracking technology will contain
errors generally comprising of inconsistencies, outliers, missing
parts and other limitations that may significantly impair the
reliability of the data and create many practical limitations to
its application. These limitations present numerous challenges for
applying event recognition algorithms, which depend on the fidelity
of the object tracking data. For example, there are moments in the
game when the tracking tools do not provide position information
for all the objects on the playing surface, such as, for example,
occlusion artifacts related to optical acquisition methods. In
another example, there are times when the coordinates for objects
are recognized to be clearly unrealistic and/or contain physically
impossible conditions, requiring correction.
[0051] The methods and systems described herein may employ one or
more algorithms for performing the following steps:
[0052] Error identification: identifying moments when errors in the
object tracking data are present. For example, the error analysis
algorithms include logic sequences to identify activities that are
unrealistic and/or improbable. The algorithms may also include
processes for identifying inconsistencies or discrepancies in data
received from multiple secondary data inputs, such as, for example,
play-by-play data.
[0053] Error source identification: determining the source of the
identified error. For example, the software analyzes the identified
errors to uncover the source of errors to properly identify the
target for corrective action. Potential sources of error may
include hardware outputs, unrecognizable data, indiscernible data,
operator error, missing data or incorrectly organized data.
[0054] Error logging: errors are categorized by, for example,
identifying mismatches between optical data and secondary inputs;
errors are described, such as, for example, identifying an error as
a physically unrealistic ball movement; errors are counted,
including, for example, the number of occurrences and/or the amount
of data impacted; and, finally, errors are and logged, by, for
example, writing them into a special file. The logs of the errors
may be used to assess the robustness of the tracking data and
compare the reliability of various data acquisition methods,
modalities, and or settings.
[0055] Conflict resolution: Depending on the type and source of the
error, the software algorithms will operate on the data to
eliminate or mitigate the effect of the error. This may include
adding or interpolating missing data, reorganizing the data,
repairing incorrect data, and/or deleting or disregarding
extraneous data. For example, for portions of missing data, the
algorithm models the process and enables substitution of the
missing data with more realistic data.
[0056] Resolution logging: After the error has been identified,
logged and resolved, it is still valuable to track and categorize
how the error has been resolved. In this step, the algorithm tracks
the impact of error resolutions. For example, whether substituted
data allows for the capturing of previously unidentified or
incorrectly identified activities. This aspect of the algorithm
also counts the various types of error resolutions utilized, tracks
unresolved errors and maintains a list of the provided solutions
and enhancements in a specialized log file for future
reference.
[0057] Without the error analysis algorithms described herein, the
coordinate data obtained from the object tracking technology can
often be unusable. For example, common occlusion artifacts
associated with optical tracking can have confounding impact on all
the dependent activities. If the ball is momentarily (or for an
extended period of time) hidden from the camera as the player
drives to the hoop (or the equivalent for non-optical tracking
techniques, e.g., momentary sensor malfunction), then the activity
recognition patterns that rely on the ball conditions won't be
registered without a robust error analysis platform that can
re-introduce the missing ball conditions.
Activity/Event Recognition
[0058] The technology described herein includes sport-specific
algorithms that recognize specific activities and/or events to
intelligently account for situations that occur in games. Spatial
and temporal patterns associated with such activities and/or events
are prescribed (or learned) based on game situations. These
activity recognition patterns are complex and may depend on error
analysis tools, such as those described above, for proper
processing along with spatial and temporal cues from surrounding
objects and/or secondary data sources. In one example, when the
coordinate data for two basketball players indicates that both
players are in close proximity to the ball, the algorithms may be
used to determine which player is actually in possession of the
ball. Activity recognition algorithms may be employed to account
for past, current and future patterns of all players on the playing
surface.
[0059] Using the available tracking coordinate data, the activity
recognition algorithms can identify and characterize activities of
interest based on the positioning of objects of interest (e.g.,
players, ball, etc.) at precise and coinciding times. The activity
recognition algorithm can also look for and characterize
sub-activities of interest corresponding to identified activities
of interest. Tables 1, 2 and 3 provide exemplary lists of the types
of events that can be identified and categorized during basketball,
football and baseball activities, respectively.
[0060] In addition to activities of interest, outcomes of
activities of interest can be identified using subsequent activity
recognition algorithms that identify objective and/or subjective
outcomes. Examples of objective outcomes include whether a short
went into the basket or not. Subjective outcomes include whether a
team played good defense or poor defense. Criteria for "good" or
"bad" activities can be established in advance and can be
customized to be consistent with unique game strategies. For
example, in basketball, allowing an open shot attempt may be
considered a "bad" defensive possession, however a given defensive
game plan may be designed to encourage specific offensive players
to shoot open shots from a minimum distance away from the hoop. In
these cases the user-defined criteria would cause these outcomes to
be considered "good" defensive possessions.
[0061] Parameters used to identify and categorize activities can be
flexible or rigid and can be defined by the user. In the case where
parameters are user-defined, the selected criteria may be based on
subjective definitions of specific activities. The criteria for
activity recognition can be determined in advance of recognizing
specific activities in a game. In contrast, manually identifying
moments in a game where specific activities occur can be used to
train the algorithms to define criteria that would identify the
activity of interest throughout the game. For example, knowing that
a particular offensive set occurred at some number of specified
sequences in a game could allow the system to process the object
tracking data from those sequences and define an algorithm trained
to identify all the common interactions that occurred during each
of the specified sequences, and the newly developed algorithm could
be used to identify other sequences containing the same patterns.
The training algorithm could be modified over time as new sequences
are introduced in the training process.
[0062] Activity recognition algorithms are prescribed in a
hierarchical manner, permitting some activities to either occur
simultaneously with other specified activities, or preclude the
occurrence of other specified activities. For example, in
basketball, a player that catches the ball on a "hand-off" might
also satisfy all the conditions for a "catch off screen" play. In
this instance, however, the recognition and characterization
algorithms may pre-specify that the occurrence of a "hand-off"
should disallow the occurrence of a "catch off screen."60
Additionally or alternatively, activity recognition algorithms can
be combined with data corresponding to activities that have
preciously occurred in order to accumulate historical data for
activities of interest.
[0063] In one embodiment of the technology described herein, object
locations can be analyzed in conjunction with other independent
datasets. For example, textual play-by-play data, which is
generated during a game or other sporting activity by an
independent source, can provide complimentary game information and
can be utilized as supplementary information for activity
recognition algorithms. Activities recorded manually and documented
in play-by-play data can be synchronized to the object tracking
data by matching consistent time recordings within a specified time
difference. Thus it may not be necessary for the time resolutions
of the independent data sets to be similar. A synchronization
algorithm in the error analysis software checks for consistency
between multiple data sets. As discussed above, when
inconsistencies are identified, conflict resolution algorithms are
employed to ameliorate differences.
[0064] Game states, which include game-related parameters (teams
involved, rankings of teams involved, tendencies of teams involved,
future and past team schedules, importance of game, game site, time
remaining in game, score differential, etc.) or team-related
parameters (current roster, players on court, players off court,
opponents on court, opponents off court, player positions, player
roles, etc.) or player-related parameters (player tendencies,
player salary, recent performances, etc.) can be calculated or
processed by the CPU/virtual computer using software or obtained
from a secondary data source such as a statistics database or other
database directly compiled from the activity recognition
algorithms. This "game states" data can be used for context in
conjunction with activity/outcome recognition algorithms to
facilitate identification and categorization.
[0065] Since large amounts of data that accompany high-resolution
(spatial and/or temporal) recordings impose constraints on logic
parameters, particularly when data from past activities are being
stored for reference, it may be beneficial to employ data
optimization tools and techniques. Optimization tools allow the
analyses to be readily available in real-time and accessible via
mobile devices. For example, one type of data optimization tool
might be to set up the architecture of the code to allow the
runtime memory usage to be essentially constant or linear in data
size for all real-life data sizes. This technique enables the data
to be accessible by the algorithm in small sequential portions
rather than as an entire file.
Organization into Algorithmically Tagged Datasets
[0066] Once all activities/outcomes of interest and game states are
identified they need to be categorized, filtered and, ultimately,
organized in a comprehensive output file as event/activity profile
data. This event/activity profile data may include data for each
identified event, including event descriptions, times, outcomes,
game states, players, referees/officials/umpires, ball position,
kinematic data, etc. Event/activity profile data may also include
outcomes of historically similar situations that can be used
predictively to determine expected success/failure rates of various
decisions or performances. The event/activity profile data may also
include or be coupled with secondary source data. The output file
would be entirely searchable based on pre-defined or user-defined
criteria (discussed later).
[0067] As mentioned above, one useful aspect of the output file is
that it resides within a searchable database. The searchable
database may be processed to anticipate common user queries, or
aggregate information for all available permutations. The
searchable feature is predicated on successful implementation of
data filtering algorithms that tags and properly categorizes
substantially all activities/events, outcomes of interest, game
states, and object characteristics. The searchable database can
then be filtered in real-time based upon predefined and
user-defined heuristics that provide maximum search flexibility for
the user. For example, in basketball, the user may be able to
search for only those events having a one-on-one matchup of two
particular players, such as, for example, Player A vs. Player B and
have access to all related event profile data associated with that
particular matchup.
[0068] In one illustrative example, the analytics system described
herein may be configured to identify specific plays that lead to
outcomes of interest, such as, for example, desired or preferable
outcomes and recommend specific actions that alter those results.
In basketball, the play identification might be based on a points
per possession (PPP) metric, whereby a favorable outcome is that
which yields a higher PPP relative to the individual, team or
league average. In any case, this metric, or one similar in terms
of preference, may be specified by the user. The analytics system
allows the real-time querying of all sequences that result in the
specified outcome of interest. The system can then group the
sequences leading up to the desired outcome by the events that were
contained in the preceding sequences, such as, for example, the
play types. The system may further group the sequences leading up
to the desired outcome by the degree of correlation with the
specified outcome of interest, such as, for example, the highest
PPP. The system allows for output in arbitrary formats including,
but not limited to JSON, Text, Image, Video/Animation, and
interactive diagrams.
[0069] As part of the filtering capability of the analytics system,
which may be based on predetermined or user-specified criteria,
output may be created which are designed to include all event
profile data associated with the selected criteria. This event
profile data may include all events and outcomes of interest
responsive to the searched criteria as well as all related
statistical data. Table 4 provides an exemplary list of categories
of searchable criteria.
[0070] Upon availability of a searchable database containing event
profile data, the analytics system can be configured to generate
output files containing activity descriptions and/or outcome
descriptions and in-depth game and activity analytics. In one
embodiment, the analytics system can be configured to automatically
generate output files containing activity and/or outcome
descriptions that yield dynamic game plots with automatically
generated narratives describing the activity/event profile data. In
another embodiment, the analytics software can be configured to
merge or couple activity and/or outcome descriptions from output
files with traditional sports media in order to convert the media
into an entirely new content-type, including a comprehensively
searchable platform.
[0071] In yet another embodiment, the analytics software can parse
data files according to selected parameters, such as, for example,
activity type, location of activity, players involved, time
remaining in game or score margin, which would automatically
provide figures, dynamic plots, and tables from select portions of
the game. Additionally, this data an be used by the analytics
software to determine what outcomes occur following specific
activities or what activities lead to specified outcomes, such as,
for example, in basketball, what happens when a team goes "under" a
high screen or what strategies allow the opponent to attempt open
shots. As such, this software can be used to determine what types
of plays may lead to future desirable or avoidable situations, such
as, for example, what offensive plays are most likely to lead to
opponent transition opportunities.
[0072] In another embodiment, the analytics system can also be used
to quantify comprehensive team and individual characteristics as an
activity occurs. For example, in basketball, as a shot goes up the
software can simultaneously quantify location of shot attempt,
likelihood of shot going in based on activity conditions, proximity
of nearest defender to shooter, players boxing out to gather
rebound, player moving backwards to defend transition
opportunities, etc. As such, the system can be configured to
deliver surrogate data to create estimates for the likelihood of
makes or misses based on history for player and location. In
addition, profiles of teams, players, games and other captured
segments of sports can be automatically generated using
activity/event profile data.
[0073] As described above, access to a searchable database of event
profile data enables the system to identify all types of
outcomes/events of interest associated with a particular sporting
activity. This enables any number of analytics data products,
whereby the system automatically generates real-time output, which
includes the identification of outcomes and/or events of interest
as well as the presentation of related event profile data, such as,
for example, players, teams or probabilities. As will be described
later, a robust user interface or multiple user interfaces will
allow the user to participate in the types of analytics and output
produced by the software.
[0074] It may be desirable for the analytics system described
herein to be able to intelligently adapt to new circumstances
and/or identify new conditions that may impact the analytics
output. As such, the analytics system may benefit from having an
adaptable algorithm, which can be trained to identify new sets
containing previously defined and recognized events or patterns of
events. For example, the system can be configured with an adaptable
algorithm, which identifies an event of interest in numerous
sequences of tracking coordinate data. The system groups the
similar sequences of tracking coordinate data associated with the
common event of interest and identifies sub-events or conditions
contained within these sequences based on preexisting event
recognition algorithm specific to the newly-identified play,
thereby enabling the software to identify and categorize the play
in future sequences. Additionally, since the tracking data may be
stored and accessible, this new event recognition algorithm could
be applied retrospectively to reanalyze and characterize or
re-characterize previous sporting activity data.
[0075] The use of adaptable algorithms may enable the analytics
system to increase complexity. For example, in the case of
basketball, the software might not be configured to recognize a
particular type of offensive set known as the triangle offense.
However, based on the coordinate data, the software is "trained" to
group and commonly categorize all offensive sets that have the same
or similar sequence of events. Once these events are grouped, event
profile data, such as, for example, player locations, screen
locations or post entry pass locations, can be collected and
aggregated. Moreover, this event profile data can enable the user
to identify events and/or outcomes of interest related to the
triangle offense, such as, for example, which option off the
triangle offense set generates the most space for the shooter on a
perimeter catch.
[0076] This adaptable or training algorithm technology has the
potential to add considerable value to the analytics system
described herein. Firstly, this algorithm technology can help
improve the event recognition software by optimizing event defining
parameters. Secondly, once newly-learned event recognition
algorithms are tested for reliability, they can be implemented
retrospectively to improve the larger dataset retroactivity.
Lastly, the software can be configured to interface with users such
that newly-identified play sets are brought to the user's attention
so that the user may make custom adjustments.
[0077] Additionally, using the technology described herein, the
event profile data may be used to couple to, synchronize or merge
the tracking coordinate data with related video media. One way to
achieve this particular feature would be to apply adapted image
processing methods to the video media of a sporting activity such
as, for example, a game broadcast, to identify game states type
data, such as, for example, time remaining, period, team, location,
score or score differentials. This data obtained from the video
image processing would be automatically associated with the event
profile data generated from the corresponding object tracking data.
For example, the time, period and score data from a video broadcast
of a particular game can be optically discerned and
cross-referenced with the same data obtained from the object
tracking coordinates. Using this approach, this cross-referencing
would link the video to the event profile data and associated
analytics for all events of interest.
[0078] This video coupling technology has numerous appealing
applications. The user can search, parse, retrieve and transfer any
activity of interest inside or alongside video. For example, for
any event or outcome of interest identified using the analytics
software, the video clip of that particular event would be readily
available to the user for further analysis. This technology could
also make the video itself the vehicle for the analytics, such as,
for example, by making the video data searchable via a database,
whereby the event profile data, and quantitative and qualitative
event attribute data therein, is embedded within or graphically
overlaid on the video media.
Coupling Secondary Source Data
[0079] As described above, the event profile data resulting from
analysis of object tracking coordinate data an have significant
analytical and statistical value. This value can be increased by
coupling secondary source data to the event profile data. This
secondary source data may include any of the following: present or
historical statistical information on the players, team or venue,
such as, for example, game states data; play-by-play data; video or
audio media, such as, for example, television, internet or radio
broadcasts, player highlight reels, or game announcements; object
attribute data, such as, for example, player size, position,
salary, education, college experience, intelligence, other
professional experience or injury status. Data collected from user
interaction will also be viewed as a secondary data source and will
be used to identify new events and tailor output to user
preferences. This secondary data coupled with the event profile
data may create a database of highly robust, searchable data. Both
the Event-Processing Module and the Database-Processing Module can
be augmented by secondary data for increased utility.
Real-time System Architecture
[0080] The variety of new applications created through the
accessibility of new and timely information necessitates
application-specific system architectures and methods for
information storage, processing and distribution. The event profile
data can be stored and processed for non-real time applications and
saved on disk, enabling extensive and lengthy optimization
processing of the database prior to querying. In addition, because
users will interact with information during the same events that
the data is created, there is a need to allow access to our data in
real time. However, because there are many optimizations performed
upon the data in order to make querying it as fast as possible, it
is not trivial to add that data to a non-real time database, since
that process takes some amount of time. In order to allow users to
access the data in real time, the system can add new data to both a
fast, in-memory database that is able to be accessed very quickly
and a queue, which guarantees the data is eventually added to a
larger non-real time database (see FIG. 1b).
Application Programming Interface (API)
[0081] The variety of applications realized from the output and
timely accessibility of newly available activity/event recognition
provides the impetus to develop unique public and private APIs to
serve as a layer between backend activity/event profile data and
frontend user applications, that would adhere to customized logic
and perform unique functions on data depending on access,
privileges, and intended use. For example, a private API, enabling
control over permissions to use and access information, provides a
set of structured tools to query the event/activity profile data.
This set of tools allows developers to create, iterate, integrate
and add novel applications. A public API would allow individuals
and organizations access to write software for the platform or
build their own data applications. Examples of applications created
with the API include the mobile and web applications of
activity/event profile data, second screen applications of
activity/event profile data and data visualizations of
activity/event profile data.
User Interface and Applications
[0082] As mentioned above, the analytics software and system
described herein enables enhanced sports analytics through the
creation of a searchable database comprising event profile data
corresponding to and resulting from object tracking coordinate data
associated with a sporting activity. While much of the value and
utility of this software and system may reside in the database and
proprietary datasets therein, it is valuable to have robust
applications and interfaces to facilitate access to the data and
unlock this utility. Described below are several user applications
for leveraging the datasets described above.
[0083] The interface used to facilitate creation of and access to
this data can vary depending on the type of analytics desired by
the user. The interface may comprise many selectable fields and
menus. Alternatively, the interface can be completely graphical,
having many dynamic features. The accessibility of the interface
may also depend on the desired analytics and user requirements. For
example, the entire system (e.g., analytics software, database and
interface) can reside on an individual computer. Alternatively, a
portion of the system might reside on a remote server. For example,
the analytics software could be cloud based. Still alternatively,
the entire system might be virtual whereby the user can access the
interface via a website. In another configuration, the interface
may take the form of a mobile application that can run on a
smartphone or tablet, such as, for example, an iPad.
[0084] Once the object tracking coordinate data corresponding to a
particular sporting activity (e.g., basketball game) has been
obtained and the event profile data for activities, events and
outcomes of interest has been categorized and archived in a
searchable database, numerous potential applications are
envisioned. When the searchable database also includes a robust set
of secondary data that is linked to corresponding event profile
data, the utility of this technology has even greater
potential.
[0085] FIG. 2. In one embodiment, the event profile data is made
available to the user via a multitude of data rich tables. FIGS. 2a
and 2b depict an exemplary user interface for providing enhanced
sports analytics via many "Stat Tables". This type of interface
demonstrates the robustness of the event profile data as it
presents a detailed statistical and analytical breakdown of a
basketball game. Data is available based on a specific team, game,
matchup, season, etc. and may be organized according to certain
types of events or play types. As shown in FIG. 2a, the analytics
can be presented as a summary table that enables the user to select
tables possessing more detailed data such as that in FIG. 2b.
Alternatively, as described in greater detail below, the interface
can be an application comprising multiple selectable fields, which
enable the system to provide the user customized analytics
consistent with the user's preferences.
Dynamic Game Plots
[0086] The proprietary dataset created from the object tracking
coordinate data may describe nearly each and every event in a
particular sporting activity. This would allow the reenactment of
the entire sporting activity, the replay of a particular segment of
the sporting activity and/or the enhancement of currently available
modalities (e.g., broadcast, highlights, etc.).
[0087] FIG. 3. In one embodiment, as shown in FIG. 3 for a
basketball game, a two-dimensional animation of the sporting event
is presented. This animation depicts the position of the ball and
players in accordance with the tracking coordinate data. The
animation can reenact the entire game or just the highlights. The
animation can be played at some time during or after the game. If
during the game, the animation could be played in real-time.
Additionally, the animation can be displayed on TV, viewed on the
internet, streamed to a mobile device.
[0088] FIG. 4. In another embodiment, as shown in FIG. 4,
additional contextual data can be displayed along with the
animation to enhance the viewing experience, including, for
example, coupling with an automatically generated narrative from
the activity/event profile data. For example, players can be
identified by uniform number or unique symbols while teams can be
identified using logos and/or distinctive colors. Other types of
event profile data can also be provided such as event tags (e.g.,
play identification), player matchups, scoring, etc. Additionally,
analytical data such as shooting statistics, probabilities,
kinematic data (e.g., current speed of ball handler) can also be
provided. This information can be provided using visual graphics
and/or audio (e.g., sounds, announcements, etc.).
[0089] Given that the event profile data generated from the object
tracking coordinate data can be produced via automated processes
(i.e., algorithms), the resulting datasets are more repeatable and
consistent than the play-by-play data that is collected and
recorded manually. In one embodiment, the event profile data
contains textual play-by-play data merged in from a secondary data
source. In such a case the software contains processes to compare
the event characterizations and statistical information to the
textual play-by-play to reconcile any discrepancies such that the
data resulting from analysis of the object tracking coordinate data
is consistent with the "official record" play-by-play. In another
embodiment, the event profile data is used to replace the
play-by-play data such that the event characterizations and
statistics collected about the sporting activity using the methods
and technologies described herein become part of the official
record of that particular sporting activity. In this embodiment,
since the event characterizations and statistical information is
generated from the object tracking coordinate data in an automated
fashion, the resulting play-by-play data can be generated in
"real-time", considerably more efficient than the conventional,
manual, subjective play-by-play.
[0090] FIG. 5. The availability of event profile data that catalogs
and describes nearly every event, play, sequence, etc. of a
sporting activity enables a multitude of analytical viewing
options. For example, FIG. 5 depicts a "spray chart" showing all of
the shots taken by a particular team/player over a period of time
(quarter, half, full game, season, etc.). The shots can be color or
shape coded to differentiate between successful shots and missed
shot attempts. Color or shape coding an also be used to identify
the degree of difficulty based on any number of factors (e.g., when
the defensive player is within a certain distance from the shooting
player at the time that shot was taken). This spray chart is not
limited to shots, rather it should be viewed as a generic visual
representation of the aggregate and/or probabilistic data of any of
the activity/event profile data on given regions of the
court/field/pitch.
[0091] FIG. 6 and FIG. 7. Given the robustness and overall
flexibility of the dataset, many types of charts and other visual
graphics can be generated from this data. For example, FIG. 6
provides a "catch chart" that identifies where on the court a
shooter caught the ball prior to taking a shot. This type of data
is not available from other sources (i.e., the conventional,
manually-obtained play-by-play) may in combination with other event
profile data (e.g., number of dribbles after the catch, etc.) can
provide an additional dimension of information and analytical
perspective. For example, FIG. 7 provides a catch chart
corresponding to shots taken after the particular offensive event
occurs (i.e., shooter catch after screen on defensive player). As
will be described in greater detail below, this type of analytics
will enable the evaluation of performance and determining
strengths, weaknesses, tendencies, etc. over a large amount of data
(e.g., multiple games/seasons). Moreover, as will be discussed in
greater detail below, much of the output and graphics is highly
customizable to user preferences. The menu selections shown in
FIGS. 5, 6 and 7 provide a non-comprehensive view of the types of
filters that can be applied to customize the output of the
dataset.
[0092] As mentioned above and as will be discussed in greater
detail below with respect to video archiving, event profile data
corresponding to particular events during a sporting activity can
be linked to video media corresponding to those events. This
feature has profound implications on the utility of this technology
since it enables a user to access video footage for any event
captured in the event profile data of a particular sporting event.
For example, the technology described herein can be used to
automatically generate a gamecast (i.e., dynamic game plots) of a
particular event. This gamecast and event profile data within will
enable the user to parse and filter the data to identify
events/outcomes of interest (e.g., plays, sequences, possessions,
player scoring attempts, etc.). Since video footage is linked to
the event profile data that is responsive to the user's queries,
the user will be able to view video clips corresponding to all
desired event and outcomes of interest.
[0093] In another embodiment, the proprietary dataset described
herein can be used to generate a 3-dimensional reproduction of the
sporting activity. Rather than the viewer following a 2-dimensional
gamecast, the display can present the gamecast in 3-D.
Alternatively, the system can generate holograms to facilitate
viewing of the gamecast. For example, holographic images can be
used to depict the tracked objects (e.g., players, ball, etc.) of a
game and provide a real-time or delayed animated recreation of the
game in 3-D. Alternatively or additionally, event profile data
could also be presented as holographic images. For example, event
profile data could be presented as part of the 3-D animation
mentioned above or as holographic images during the sporting
activity itself (e.g., holograms displayed in the arena) for the
viewing audience.
Customizable User Analytics Platform
[0094] As mentioned above, the robust and densely populated
datasets residing within the output file as event profile data
enable a high degree of flexibility and customization in the
analytical output of the system. Since the event profile data
already contains activity data that is parsed, sorted and stored
with many quantitative and qualitative descriptive tags, the user
has many options to select from in generating the desired output.
For example, if a user wanted to know which players have the
highest shooting percentage following execution of a particular
play set (e.g., pick and roll) on a particular region of the court,
the user can make the appropriate selections from the available
fields/filters to generate the desired analytics. If the user
sought information on a particular player, the user can select the
player's name in the application. Similarly, other fields of
interest can be adjusted or specified to generate analytics of
interest to the user.
[0095] FIG. 8. FIG. 8 provides an exemplary embodiment of an
interactive user application/interface that enables the user to
specify the analytics for display. More specifically, based on the
user's selection of a particular play (i.e., Kevin Durant) and
offensive event type (i.e., pin down), the analytics system
identifies the possessions that meet these criteria and plots the
shots taken by the player following the offensive event. The
application also shows which possessions resulted in a successful
or missed field goal and provides a points-per-possession metric
(PPP) associated with all possessions that meet the user specified
criteria.
[0096] FIG. 9. The analytics provided in FIG. 9 further demonstrate
the enhanced potential of this technology resulting from the highly
robust event profile dataset. In this scenario, which is similar to
that depicted in FIG. 8, the user further filters the dataset by
selecting a specific "catch region", thereby only seeing those
possessions where the player caught the ball in the right wing
section of the basketball court. The ability to generate, store and
display data in this format as data is collected over the course of
a season can provide the user with very powerful data related to
assessing player performance and scouting.
[0097] The quantitative nature of the event profile dataset and
interactive platform enables the user to filter based on specific
metrics. For example, in the scenario depicted in FIGS. 8 and 9,
rather than be confined by the "right wing" region defined by the
system, the user could specify the range of distances from the
basket that is of interest, essentially redefining the "right wing"
region for the system. Such user-defined criteria enable the user
to conduct its own data mining by event description and/or
quantitative characteristics, thereby further customizing the
presented output.
[0098] FIG. 10 and FIG. 11. In another embodiment, the interface
can be equipped with sliding scales corresponding to certain
quantitative metrics to enable the user to select the specific
values or ranges of values of interest to the user. For example,
FIG. 10 provides an interactive analytics user application similar
to those previously presented having many user selectable fields.
Additionally, the application in FIG. 10 also provides several
quantitative parameters that are user-adjustable using a slide bar
tool. This feature enables the user to focus on outcomes of
specific interest to the user (e.g., which play types resulted in
the most shot attempts just prior to shot clock expiration). FIG.
11 illustrates an alternative interface configuration compared to
that presented in FIG. 10.
[0099] Additionally or alternatively, the system can allow the user
to further define certain criteria by allowing the user to input
the characteristics of desirable/undesirable outcomes. Specifying
for the system which types of events are "good" or "bad", will
allow the system to track these events and provide detail on the
sequence of events that lead to these outcomes. For example, the
user may define a good defensive outcome for a team that is
defending a high screen involving a highly-productive player (e.g.,
Lebron James) as one where the player either passes out of the
screen (i.e., gives up possession of the ball) or takes a perimeter
shot attempt. This type of customization enables the user to
quickly and automatically identify plays of specific interest to
the user.
Intelligent Analytics
[0100] As described above, the system and processes described
herein enable the user to obtain analytical output that is
customized to the user's specific interests. For example, for a
team that runs a particular style of offense that consistently runs
a particular play, this data would help identify those players who
and situations which (e.g., defensive arrangement) result in the
most successful execution of that play. Additionally, this data
could also help in scouting players by identifying those in the
league who may be best suited to run this particular offense.
Moreover, this data would also be quite valuable in determine which
teams/players are most susceptible to particular offensive and
defensive schemes.
[0101] FIG. 12. As events and outcomes of interest are better
defined for the system, the strengths, weaknesses and tendencies of
a team/player can be more readily discerned. For example, the
system can continue to track events and outcomes of interest and
identify those which result in a statistically significant or
unusual benefit or detriment. By correlating event profile data
with events/outcomes of interest, it is possible to identify which
teams/players contribute meaningfully to desirable/undesirable
outcomes. Accordingly, player/team strengths, weaknesses and/or
tendencies can be determined from the available data. FIG. 12
provides an exemplary view of an interface that make such
information accessible to the user.
[0102] As described previously, training or adaptable algorithms
can be used to proactively identify events or sequences of events
that result in particularly desirable outcomes and then
automatically define those identified events as notable plays
and/or strengths. This enables the system without additional user
input to "intelligently" recognize formations that were not part of
the original programming. The use of such algorithms can greatly
enhance the output of the system and, accordingly, its over
value.
[0103] For a team seeking to build around a particular star player,
a deeper understanding of the player's strengths, weaknesses and
tendencies can be of great value. As data is collected on the
team's performance over the course of a single season or multiple
seasons and desirable/undesirable outcomes are correlated with
particular plays, formations, lineups and matchups, the player's
strengths and weaknesses will be apparent. The system will also be
able to recognize consistent patterns in the player's actions and
decisions, which will reveal certain tendencies of the player. This
information will enable the team to develop and execute a strategy
that complements and accentuates the player's strengths while
avoiding or deemphasizing the player's weaknesses.
[0104] Since the system itself may be able to automatically
determine strengths, weaknesses and tendencies through correlating
event profile data with outcomes of interest and identifying
patterns of activity, the system may also be able to automatically
identify strategies that can be employed. For example, if the
system during a game identifies a sequence of plays that result in
an uncommonly high percentage of scoring events, the system can
identify aspects of those plays as strengths and recommend calling
additional such plays later in the game or during a subsequent
game. Such recommended strategies could provide considerable value
since coaches rarely have such efficient access to such analytics
and, accordingly, often base their play calling on a qualitative
hunch. Moreover, this strategy recommendation feature could add
significant value to sports media as broadcasters would have
automated analytics that could be discussed during or after the
game. For example, the system could generate a "Keys to the Game"
output that captures the most important recommended strategies.
[0105] In addition to providing recommended strategies, the system
can be configured to provide recommended personnel moves. By
determining the team's strengths, weaknesses and tendencies and
those the team's players, the system can automatically identify
specific needs of the team and determine the personnel moves that
need to be made to address these needs. Moreover, the system can
also automatically identify and recommend particular players to
acquire (via draft, free agency or trade) based on how the
strengths, weaknesses and/or tendencies of those players match the
team's needs.
[0106] Beyond simply providing valuable content that may enhance
team strategy and improve sports broadcasts, the ability of the
system to correlate events with outcomes has tremendous predictive
potential. With large enough historical data sets and/or robust
data on strengths, weaknesses and tendencies, the system can be
configured to predict outcomes of games and even margin of victory.
Moreover, since data can be collected and analyzed during a game,
the system would be able to update win/loss probabilities with
changing gamestates. For example, if a star basketball player for a
favored team picks up three fouls in the first quarter of a game,
the system can update its prediction to favor the other team. This
feature may have profound implications for the gambling industry as
it may enable a higher order of gambling, particularly wagering in
game. Since this analysis is algorithm based and, consequently,
highly automated, it will have the consistency and reliability
necessary to earn the industry's confidence.
[0107] Another application based on the enhanced analytics
generated by this system is simulations. With robust data
corresponding to player and team strengths, weaknesses and
tendencies a team could run simulations of particular plays,
formations and lineups against future opponents to determine the
best strategy for beating that opponent. These simulations can be
run within the system itself with the user receiving output data
(e.g., statistical performance) and/or recommendations (e.g.,
"offensive formation A is better suited for this opponent since it
resulted in X % greater points per possession than offensive
formation C). The systems can also be displayed in 2D or 3D form
(e.g., gamecast format) to provide the user additional visual
perspective.
[0108] Simulations can also be used to determine whether a
particular player can be a good fit within a particular team's
strategy and playing schemes. As mentioned above, the system can be
configured to automatically determine a team's needs and then
identify players who have attributes that address those needs for
acquisition. Simulations can be used to further demonstrate the
anticipated fit of a particular player. For example, the team has
masses of analytical data on its team running particular plays and
offensive/defensive sets. A simulation could be run by substituting
a player on the team with one having the attributes of the
prospective acquisition. This type of data may significantly
de-risk the acquisition decision and make it easier to justify to
management.
[0109] In addition to running simulations for strategy development,
game preparation and player scouting, simulations can be executed
for pure entertainment purposes. For example, fans constantly
compare players and teams from different times and eras. This
technology would enable the user to run simulated games against
teams that never played each other (e.g., 1987 LA Lakers vs. 1996
Chicago Bulls) or matchups of some of the greatest players ever
(e.g., Shaquille O'Neal vs. Bill Russell). This database containing
event profile data of specific players could enable the user to
assemble dream teams and run simulations to address all sorts of
interesting questions (e.g., what if Lebron James and Kobe Bryant
were on the same team?). Moreover, this event profile data could be
used to create more realistic video games for depicting these teams
and players. To that end, the system may include a data output
specific for use with video gaming technology.
Fan Viewing Application
[0110] FIG. 13. As described above, the comprehensive dataset
accessible and available from the technology described herein
enables unique 2D and 3D reenactments of sporting activities. The
pairing of this data with video media corresponding to the sports
activity also enables new ways to make this content available to
different viewers and markets. FIG. 13 depicts an exemplary viewing
application.
[0111] The fan viewing application can be run locally on a CPU or
on a mobile application for a mobile device. Alternatively, it can
be accessed remotely over the internet. Regardless, the application
can include a graphical interface that enables the viewer/user to
adjust the display and presentation of data. For example, the
viewer can specify the graphical images used for the objects on the
player surface (e.g., icons) and adjust to the spatial and temporal
regions of interest. The viewer can select dynamic criteria to
detect activities of interest (e.g., team activities, player
matchups, individual performance characteristics, etc.) and specify
the game states of interest for display (e.g., players on team,
players on/off court, opponent attributes, venue, time, score
differential, etc.).
[0112] In one embodiment of the fan viewing application described
herein, analytics data corresponding to a particular event, series
of events or activity can be made available to fans via the
internet in a fan viewing application. The display of this data
could be a gamecast for a particular game and also include the
corresponding video media. This data can be manipulated and/or
filtered to target or suit a particular audience. For example, this
content can be customized to appeal to new or emerging geographic
markets. In the case of China, data corresponding to players of
increasing interest to the Chinese market (e.g., Yao Ming, Kobe
Bryant, etc.) can be filtered and made available to fans in China.
This data could be play-by-play, performance statistics or video
highlights. Additionally, this data can be modified to be more
personalized to the market. For example, textual or audio
information in local languages/dialects could be incorporated into
the application. Moreover, the application could also include
targeted advertising that is congruent with the targeted
content.
[0113] In another embodiment, the data could be presented to the
viewer as a summary of all of the most notable events in a
particular sporting activity. For example, select scoring plays or
sequences, key defensive plays (e.g., blocked shots, steals, etc.),
decisive moments (e.g., lead changes, etc.), pressure situations
(e.g., last few seconds of quarter/shot clock, full court press,
etc.) can be made accessible to and filtered by the viewer. This
information can be presented as play-by-play textual data or as an
audio/video highlight reel. The viewer can specify the type and
presentation of the data by selecting certain fields in the
application, which will apply the appropriate filters. For example,
the viewer may only be interested in offensive possessions of a
particular team or player or on a particular part of the court
(e.g., in the paint) and can make selections in the application
based on these preferences.
[0114] In still another embodiment, the viewing application is
coupled to or integrated with a social media utility. The social
media utility (e.g., Facebook) would enable access to the
application within its social environment. The user would not only
have access to event profile data for specific sporting activities,
events, teams, venues and players and associated audio/video media,
but would also have the ability to share this information with
other users in the virtual social environment. For example, a user
who is a loyal follower of the LA Lakers could use this viewing
application to track the team's performance and share remarkable
events or information with other Laker followers within the virtual
environment. Having access to this content within the virtual
environment not only would allow fans to share all types of
information originating from the event profile data (e.g.,
performance statistics, video clips of key plays, etc.), but also
provide a valuable forum to discuss this information. This can
create valuable marketing opportunities for the social media
utility, sports media and the teams themselves.
[0115] In another embodiment using social media, the application
may enable selection of a particular player to follow (e.g.,
favorite player, player on fantasy team, etc.). The social media
utility can send the user automated notifications when the selected
player makes a remarkable play. The remarkable play would be based
on quantitative and/or qualitative measures that are automatically
registered as event profile data by the event recognition
algorithms. The remarkable play an be pre-defined (e.g., offensive
plays from scrimmage of 15 yards or greater, fast breaks ending in
a slam dunk, blocked shots, home runs greater than 400 feet,
strikeouts, pitches in excess of 95 miles per hour, etc.) or
pre-selected (i.e., selected from a menu of event profile data of
interest) by the user. Optionally, the automated notification to
the user can include a link to video media associated with the
remarkable play. In a related embodiment, the user can utilize this
application to track statistical performance of players on the
user's fantast team. For example, the user can specify in the
system to track all events resulting in points to the user's
fantasy team and login to the application to access additional
information about the tracked events, including linked video
footage.
[0116] Another aspect of the viewing application described herein
is its accessibility via mobile devices. Gamecasts, including
related audio and video media, could be wirelessly streamed to most
mobile devices (e.g., smart phones, tablets, laptop computers,
etc.) so that the user can have access to content while on the
move. This would enable fans to follow their teams and players even
when engaged with a conflicting appointment or otherwise unable to
access a television. This mobile access can be particularly
valuable even when a television is available because many sporting
events are not broadcast on television, or television broadcasts
are limited to select markets. As will be discussed in greater
detail later, mobile access also enables a high degree of
convenience and efficiency in coaching, player education and
training.
[0117] For those fans who are attending the sporting activity/event
itself, mobile access to this data can enhance the entire
experience. For example, the data available on the mobile device
can give the viewer information that isn't readily available in the
arena (e.g., player statistics). This information (e.g., textual
play-by-play) can also help the viewer better follow the game,
particularly when the viewer may have missed some of the game while
standing in the concession line. Additionally, access to event
video media via the viewing application would enable the viewer to
replay the more remarkable moments during the sports event.
Video Archiving
[0118] As mentioned above, event profile data corresponding to
particular events during a sporting activity can be linked to video
media corresponding to those events. This feature has profound
implications as it enables a user to access video footage for any
event captured in the event profile data of a particular sporting
activity/event. Moreover, since the event profile data can be
linked to video media, the video media can be searchable according
to any of the stored event profile data. The coupling of the event
profile data to associated video media effectively creates a fully
searchable library of archived video media. Users will have the
ability to run searches based on all type of event profile data
(e.g., players, plays, outcomes, times, etc.) and access and view
video clips that are responsive to the user's queries. What would
take many man hours to compile can now, with this technology, be
automatically compiled and accessible within minutes. There are
several important applications of this utility.
[0119] In one embodiment, a coach or player can run a query to
generate a video playlist of events of interest (e.g., matchups,
good/bad outcomes, etc.) and review the video footage with the team
during practice. Alternatively, the coach can provide playlists to
players as homework to review prior to the next game or practice.
For example, the technology described herein can within moments of
a game's completion generate a playlist of desired video clips from
the game from a database of event profile data linked to the video
footage of that game. This playlist can be loaded on a mobile
device (e.g., iPad) and provided to the player before the player
leaves the locker room so the player can review the video before
practice the next day.
[0120] In another embodiment, a searchable library of video footage
can provide tremendous convenience and efficiency for broadcast
media who typically search for specific video material using
laborious manual techniques. For example, sports broadcasters would
be able to immediately search for an access footage for use as
replays and highlights during a particular game. For those
preparing a sports news program, particularly after a busy day full
games, a searchable library of the day's events would provide
considerable value and competitive advantage. Moreover, given the
recent popularity of sports video documentaries, which pull
together video footage from many different sources, a searchable
archived of historical media would reduce production costs
considerably.
[0121] In still another embodiment, as already mentioned above,
access to a searchable video archive can create new virtual forums
and communities for viewing, discussing and sharing sports-related
content. For example, a fan of a particular player (e.g., Lebron
James) could search for and generate a playlist of his favorite
moments in the player's career and then make this playlist
available on his social networking page. the playlist could include
screen capture images of the particular moments as well as a link
to access the moments. Additionally, visitors to the fan's social
networking page can post comments to compliment or criticize the
fan's choices. Visitors may even post links to other video clips to
provoke additional discussion/debate. The accessibility of video
media will not only facilitate activity and engagement among sports
fans within these social networking environments, but also
intensify that engagement because of the passion that many fans
have for sports and the unique ability that the video footage has
to express a sentiment.
Performance Analytics
[0122] The spatial and temporal object coordinate data that is
obtained, analyzed and stored by the technology described herein
and the resulting event profile data can also be used to better
assess player/athlete performance, ability and
conditioning/fitness. The object coordinate data from actual games,
practices or drills can be analyzed and coupled to secondary source
data pertaining to the player/athlete (e.g., size, weight, etc.)
and venue (weather, playing surface, etc.) to generate kinematic
data such as velocity, acceleration, distance, impact force, etc.
This kinematic data could be used to compare or rank players such
as at a scouting combine. Additionally or alternatively, this data
could be used to assess a player's performance over time by
comparing the data from an earlier event with that from a later
event (e.g., running a play in game 1 compared to running the same
play in game 20). This data could also be used to assess a player's
conditioning/fitness or determine the player's success in
recovering from injury. This data could also be used to identify
episodes of fatigue that could be the precursor to injury.
Fantasy Gaming
[0123] Another application for the technology described herein is
analyzing the object tracking coordinate data to identify and
generate new statistical measures for performance for use and
adoption by the fantasy sports industry. This technology is
particularly suited to analyze the coordinate data to develop
performance metrics for defense, which are very few in number but
in high demand in fantasy sports. For example, the coordinate data
can be analyzed to determine in a basketball game how close a
particular defender was to a shooter at the time when a shot was
taken. This data can be used to create a points per possession
allowed metric for defenders. Since these types of metrics can be
generate automatically, objectively and reliably, they can add a
new dimension to fantasy sports gaming.
Referee Analytics
[0124] Since the object tracking coordinate data collected by the
system can also track the movement of referees, officials, umpires,
etc., this technology can be used as a tool to assess and evaluate
the performance of referees. For example, referees' positioning and
movement vis-a-vis the ball and players on the court can be tracked
with this technology. With this data it can be easily determined
whether a referee was in the correct position during a
controversial call. Additionally analytics such as tendencies can
be determined using this data. Moreover, the kinematic data
described above can also be used to determine the performance and
conditioning/fitness of referees. For example, the data could be
used to correlate declining performance with declining physical
fitness.
Optical Tracking System Diagnostic
[0125] As described above, one valuable component of the software
technology described herein is error analysis to identify and
mitigate errors and discrepancies in the object tracking coordinate
data. Similar processes can also be used to assess the quality of
the object tracking technology and the usability of the data
produced therefrom. For example, the system typically identifies an
error, analyzes the error to determine the source, logs the error,
applies conflict resolution algorithms to resolve the error and
logs the resolution. With large sets of object tracking data, many
errors are identified and resolutions logged. This error data can
provide valuable diagnostic information about the performance and
reliability of an object tracking system.
[0126] In one embodiment, the error and resolution logs can be used
to assess and compare the reliability of various data acquisition
methods and modalities. For example, if one object tracking
technology experiences occlusion artifacts (i.e., missing ball
coordinates) in 15% of its acquired data while another tracking
technology sees occlusion artifacts in 33% of its data, the
diagnostic software can conclude that the former tracking system is
more reliable than the latter.
[0127] In another embodiment, it may be beneficial to provide
diagnostic error analysis to incoming coordinate data as a quality
check for the object tracking technology. Once a large set of error
data has been recorded and analyzed by the error analysis software,
the system will be able to set threshold error rates to confirm
proper functioning and calibration of the object tracking system.
The software will also be able to identify patterns or
inconsistencies in the incoming data and provide diagnostic error
messages to troubleshoot and problem solve potential malfunctions
in the object tracking system.
[0128] Many of the examples described herein are with respect to
the sport of basketball. However, such examples are provided for
the sake of illustration only and it should be understood that many
of the concepts and embodiments presented herein are readily
applicable to other sports such as football, baseball, soccer,
hockey, tennis, golf, lacrosse, etc. Moreover, it should be
understood that the embodiments disclosed herein can be configured
to be implemented in software and utilized by via any number of
computing devices (e.g., personal computer, mobile device, etc.)
having a user interface. Accordingly, these aspects (e.g.,
software, computing device, user interface, etc.) can, either along
or in combination, be elements of any of the embodiments described
herein.
[0129] In one embodiment, the present technology is directed to
receiving a continuous feed input, such as, for example, an output
from a camera or a tracking device. In this embodiment, the output
may be converted to a mathematical description, such as, for
example continuous coordinate data for one or more of the real
world items, such as for example, players or balls, tracked by the
camera or tracking device. In one embodiment, the technology uses
algorithms specifically adapted for the type of continuous data
being received to generate one or more subsets of the continuous
data, the subset being descriptive of particular parameters which
are useful to a user.
[0130] In one embodiment, an input video feed is converted through
a number of steps into usable data descriptive of player
effectiveness, which data is accessible by a user. In a first step,
the present technology is directed to receiving a video feed of,
for example, a basketball game. In a second step, the present
technology is directed to converting the video feed into, for
example, a continuous coordinate data stream representing for, for
example, the positions of the players and the ball during the game.
In a third step, the present technology is directed to applying a
predefined algorithm to the continuous data stream to calculate,
for example, the offensive and/or defensive effectiveness of a
particular player during the game. In a fourth step, the present
technology is directed to taking the output of the preselected
predefined algorithm and storing that output in an output table
which is accessible by a user either remotely or locally. In an
alternative fourth step, the present technology is directed to
taking the output of the predefined algorithm and transmitting that
output to users in a real time environment, such as, for example, a
social media outlet, such as, for example Twitter. In a further
alternative fourth step, the present technology is directed to
taking the output of a predefined algorithm and combining that
output with a real time depiction of the event that generated the
original video feed, such as, for example, a basketball game and
transmitted to a user in real time or stored for later access.
[0131] The essence of the present technology is taking spatial and
temporal coordinate data recorded from any object tracking system
or method, formulating mathematical equations to identify
situations, interactions, or events that might have occurred during
the recordings, applying these mathematical equations in the form
of automated event recognition algorithms to process the object
tracking data in order to confirm whether or not the events
occurred during a specified sequence, storing the subsequent
findings in a scalable and accessible manner, outputting it using
various user interfaces, and allowing a viewer to interact with the
information through a variety of media platforms.
[0132] In order to add meaning to object tracking data in the form
of spatial and temporal coordinates, recognizable events contained
within the tracking data must be identified. In one embodiment, the
present event recognition algorithms take positional and kinematic
data generated during otherwise undefined or unidentified sequences
in a game, such as, for example, the coordinates of the players,
ball, and referees during 24 seconds of game play, and transform
that data into usable outputs such as, for example, output tables
containing times and names of identified events. In one embodiment,
the input data is filtered to identify the smallest set of data
containing all the necessary information used by the event
recognition algorithms to identify a particular situation. Those
filtered parameters may then be included in an output table which
allows a user to access the event-related information.
Alternatively, or in addition, those filtered parameters may be
used to generate real time data visualization for users following
on remote devices. As one example, the data in an output may be
used to identify what play a team ran during a particular
sequence.
[0133] In one embodiment, the present technology may be used to,
for example, to analyze a stream of input data and recognize that:
(i) the stream represents a basketball game; (ii) a particular team
is on defense; and (iii) that the defensive team is employing a
particular defensive scheme. Once the particular situation and
defensive scheme is identified, the present technology may use an
algorithm that is defined for that situation to compare the actual
actions of the players to a predicted set of actions for that
situation and create an output that records whether or not the
situation has occurred, and with an indication of how effective the
players were compared to what should have happened. In one
embodiment, the present technology may utilize a library of
algorithms, each algorithm defining a particular situation or set
of situations, and selecting the most applicable algorithm for a
particular set of input data, disregarding those algorithms which
do not apply. In one embodiment, the most applicable algorithm may
be selected by the user to provide particular data or to carve out
special cases from all the available input data. In one embodiment,
the present technology may be used to capture all possible data
related to a particular situation then carve out special cases
which may be of interest to a user. In one embodiment, the present
technology may be used to filter a large number of conditions
indicative of a particular situation, use algorithms to remove
extraneous data and output the remaining data which may be accessed
by a user. In one embodiment, the present technology, where the
technology is unable to identify an applicable algorithm, the
failure may be used to indicate that a particular situation has not
yet been characterized and a developer notified to initiate the
development of appropriate algorithms for use with that
situation.
[0134] In one embodiment of the present technology, the data in the
output table may be used to develop a customized output for a
particular team or coach, where, for example, that team or coach
has requested an output keyed to a particular situation, game
times, preferred naming conventions or other criteria of specific
interest to that team or coach. In one embodiment of the present
technology, the data made available to the user may be specifically
customized for the needs of that user.
[0135] In the initial processing of raw input data, the present
technology may encounter missing or incomplete data due to
limitations of each object tracking system, method, or operator,
for example, tracking data acquired using visible light may be
missing key data, such as, ball position, due to inherent technical
limitations such as occlusion. In one embodiment of the present
technology, the input data is scanned to identify missing
coordinate data of, for example, a basketball, using error
detection algorithms. In one embodiment of the present technology,
gaps in, for example, coordinate data, may be accounted for using
data bridging algorithms to fill in the missing data.
[0136] In one embodiment of the present technology, a mass of input
data, such as, for example, tracing data acquired through
recordings from multiple cameras arranged around an arena during a
basketball game, may be modified to reduce the input data to a
meaningful output by, for example, pre-identifying situations which
would be of interest to a user and selectively filtering the input
data to store only the data which would be of interest in analyzing
the pre-identified situation or situations of particular interest
to the user. In one embodiment of the present technology, the
filtered data for a particular game is stored in a single output
data file. In one embodiment of the present technology, the
filtered data for a particular game is stored in multiple output
data files where each output data file is applicable to a
particular user or pre-identified situation.
[0137] In one embodiment of the present technology, a predefined
output file (also known as an output table) is developed for each
game where coordinate data is available. In one embodiment of the
technology, the coordinate data is initially filtered by error
recognition software and missing data replaced by data bridging
algorithms. In one embodiment of the technology, event recognition
algorithms are used to filter the input coordinate data and
populate the output table using coordinate data selected by the
event recognition algorithms. In one embodiment of the present
technology, the output file is used to populate specific web
applications.
[0138] In one embodiment of the present technology, the output file
further includes or is linked to a narrative of the events of the
game, such as, for example, play by play data. The resulting
information can be used to create a more complete narrative or to
supplement information provided during a radio or television
broadcast, in real time on non-real time. In one embodiment of the
present technology, the combined narrative and data output is made
available to a user via, for example, social media such as Twitter.
In one embodiment of the present technology, the output file may be
used to generate, for example, real time e-mails describing the
action and focusing the user on key data related to that action. In
such an instance, the user can specify in advance the types of
desired information or output and the system can subsequently
automatically identify and forward the types of information most
interesting to the user.
[0139] In one embodiment of the present technology, the inputs may
be any of a number of sources that generate relevant tracking
and/or coordinate data, such as, for example RFID tagged players
and balls.
[0140] In one embodiment of the present technology, a stream of raw
data is transformed into useful output data in a table which can be
queries by a user to obtain a detailed understanding of a
particular situations, player action or other question of interest.
In one embodiment of the present technology, the raw data is
filtered to identify missing data and/or errors and fill in the
missing data or correct the errors. In one embodiment of the
present technology, the input data is filtered through algorithms
which reduce the data set by selectively outputting data which is
relevant to pre-selected situations, times or other criteria of
interest to the end user. In a further embodiment of the present
technology, the filtered data is place in an output table, or
stored in a database, which may be used to generate real time
outputs for use in, for example, social media such as twitter or
for use at a later date by users who are able to query the output
table.
Outputs
[0141] In one embodiment, the present technology may be used to
provide a user with a range of uniquely customizable outputs,
including the ability to isolate and manipulate specific objects of
select sequences of game action. As an example, in one embodiment
of the present technology, a user has the ability to isolate,
remove, or uniquely display specific objects in the output. As a
further example, in one embodiment of the present technology, the
user has the ability to remove, for example, the referees in an
optical video display of a basketball game. Conversely, in one
embodiment of the present technology, the user has the ability to
show only the actions of the referees.
[0142] User Controlled Platform for Automatic Distribution of
Algorithmically Generated Content
[0143] For each method of output to the user there is also a need
for a scalable method of distributing that content from the user of
the application to a broader audience, whether that be a group of
friends or the fans of a particular organization. This platform
will allow the user to select a subset of the total algorithmically
generated content that they can then easily share through various
channels (social media, traditional media, video, email, etc.).
This platform will also allow for the generation of revenue based
upon advertising in, on or around the algorithmically generated
content available on the platform.
Transaction Platform
[0144] This platform combines the activity/event profile data with
other secondary data sources, such as player salaries, player
positions, player measurements, to allow decision makers on real
and fantasy teams to (a) query and find the strengths and
weaknesses of team, (b) receive an algorithmically generated player
recommendation(s) based on team and player profiles and desired
strategy (c) communicate with necessary parties about transactional
proposals, (d) output a model of expected team and player
performance with and without execution of the proposed
transaction.
Possession Tails--Player Trajectories
[0145] FIG. 14. In one embodiment of the present technology, the
data in an output table may be used to generate possession tails
and/or player trajectories. In one embodiment of the present
technology may be used to generate, for example, still shots,
animated frames, or other forms of complementary data, that deliver
additional information to the user. In FIG. 14 below the trajectory
of every basketball player is illustrated for, for example, a 3
second period, such as, for example, the final 3 seconds, during a
game. In a further embodiment, these trajectories could be
generated at key times that are automatically identified using
pattern recognition algorithms, such as, for example, the last
three seconds on a shot clock or the last three seconds on a fast
break. In a further embodiment of the present technology, the image
to FIG. 14 may be generated at, for example, the moment the ball is
shot. In one embodiment of the present technology, an image could
be made anytime a particular player performs a selected activity,
such as, for example, sets a screen, drives right or plays zone
defense. In a further embodiment of the present technology, the
output could also be annotated such that different colors represent
specific events. In one embodiment of the present technology, for
example, the red tail at the top of the FIG. 14 may represent
post-possession movement by the player who shot the basketball.
Alternatively, color-coded markings, such as, for example, the
colored tails in FIG. 14 may be used to illustrate other
information, such as, for example how fast a player moved, or where
a screen was set, or any other data that is identified or
calculated using the present technology. In one embodiment of the
present technology, the output illustrated is type of output is
beneficial because it allows a user to quantify and review a very
large range of information about what each player and, in some
embodiments, even the referees are doing. In one embodiment, the
user may call for this information from a wide range of electronic
devices, including, for example, a screen app on an electronic
tablet, such as, for example, an iPad.
[0146] In one embodiment, the output generated by the present
technology may be, for example, Interior Penetration Maps for
basketball, such as, for example, a radial histogram that shows the
frequency of team possessions where the offense penetrated beyond
some distance to the basket. In one embodiment, the map may be, for
example, a color coded visualization tool that would allow the
viewer to see that in a selected percentage of their team
possessions. In one embodiment the output may allow a user to
discern specific characteristics of a possession, such as, for
example that Team A was able to get the ball within, for example,
ten 10 feet of the hoop on, for example twenty percent of its
offensive possessions. In a further embodiment, the output could
include additional context that selects for a player, a type of
play, such as, for example, post plays by Player B and may further
include additional context, such as, for example, a particular side
of the court and the type of play, such as, for example, an
isolation play or a ball screen.
[0147] The uses of the present technology are useful for a large
range of situations where a user is faced with a large flow of data
describing an event or series of events, such as, for example a
baseball game. In one embodiment, the output generated by the
present technology may be used to analyze a baseball game and
describe how hard each ball was hit by a particular player to see
if this is, for example a predictor of future batting performance.
Alternatively, for a pitcher, the output may generate data
indicating that it is time take them out of the game. In one
embodiment this metric would be independent of whether the batter
was safe or out. In one embodiment, the algorithm used to generate
the output may include characteristics of the ball after the batter
makes contact.
[0148] In another embodiment, the output generated by the present
technology could be measured against performance thresholds to
determine whether a particular player, combination of players,
lineup or an entire team are meeting particular thresholds for
performance. For example, the performance thresholds could be
kinematic (e.g., player speed, ball velocity, leaping elevations),
physical fitness based (e.g., reduced performance in the 4th
quarter) and/or teamwork focused (e.g., # of passes per
possession). This information could help determine whether a
particular player or team is functioning at an impaired or superior
level relative to past performance or compared to peers.
Tools
[0149] The present technology may be used to provide a user with
unique coaching tools, such as, for example, a coaching tool which
allows a coach to show the team an offensive set their opponent
runs using, for example a handheld monitor prior to or during a
game. In one embodiment, the set might be shown as a static display
of all players on the court and the coach might use that output to
instruct the team on how to deny passes from Player 1 to player 2
and 3 and allow passes to players 4/5. In one embodiment, a
touch-screen display, for example, would allow the user to tap each
player shown in the starting offensive set and find the stats when
the first pass from an offensive act goes to, for example, a
particular player or region of the court. As an example, when Team
A runs a wedge set and Player 1 and Player 2 are in the high post,
the user would use the present technology to help the team
understand that they score 0.95 points per possession when Player 1
gets the first pass and only 0.82 points per position when Player 2
gets the first pass. Therefore, when this offensive set is shown to
the team, Player 1 might be highlighted in, for example, red,
indicating that the team should deny Player 1. In another
embodiment, a media outlet might use the same tool to educate
and/or entertain its audience.
Comparative Analysis Tool
[0150] FIG. 15 and FIG. 16. In a further embodiment of the
technology, the output generated by the present technology may be
useful in a comparative analysis reporting tool. FIG. 15 is a
screen shot of an input for such a comparative analysis reporting
tool. In a further embodiment, raw data may be used to generate
insight to a team's strengths and weaknesses and, using that data,
a comparative analysis reporting tool using the present technology
may allow a team to make personnel decisions based on very specific
player attributes and team needs. In the embodiment illustrated in
FIG. 15, a user may select multiple players along with their roles
in various situations for a comparative evaluation. FIG. 16 is a
screen shot of an output of a comparative analysis tool using the
present technology.
[0151] In FIG. 16 the output of the comparative analysis tool is
flexible and can combine some visual representation of the
comparison along with an in-depth numerical assessment. In the
embodiment shown, the effectiveness of selected players is
displayed in each pre-specified situation and role, along with
their NBA rank and rank within the group of interest. In the
displayed embodiment, the rank within the group of interest here
would be between 1 and 5 since there are 5 players selected to
compare. In one embodiment, the final output could be a single
recommendation of the "best fitting" player for a specific list of
needs. In other embodiments, each of the component situations and
roles could be ranked by importance, which would then adjust the
computation for the final player recommendation offered by the
tool.
[0152] In one embodiment using the comparative analysis tool
described above, the present technology can be configured to
automatically identify weaknesses, vulnerabilities and associated
needs of a particular team in accordance with predetermined
performance metrics. Based on this needs evaluation, the present
technology can identify skill sets and/or attributes that would
address the identified deficiencies and automatically identify the
top players, or combinations of players, to fill these voids. The
identified players might be acquired via trade, free agency or
draft.
Similarity Tool
[0153] In further embodiments, the technology may be uses for, for
example, a "similarity tool"60 which lets a team use certain
conditions to compare a college or high school player to a more
familiar player. In one embodiment, the use might select Player A
with 5 generic attributes, and the output would enable the user to
compare using those attributes, and ranked by importance if
desired, and select the most similar players, for example,
considering 5 predetermined attributes, Player A is most like
Players B and D.
Interactive Fantasy
[0154] According to one embodiment, the outputs may be used to
crate interactive fantasy games. For example, a baseball fantasy
game where the user can act as manager during the game and control
where the fields are positioned prior to each pitch. In one
example, a particular fielders may be positioned based on that
fielder's range and, based upon a game generated probability
distribution the user could use that positioning to determine the
outcome of an at bat. Thus the user would be able to compare skills
to actual calls made by a manager in a game.
[0155] In another embodiment, the outputs of the present technology
can be used to create realistic simulations. For example, a
simulated game could be created between two legendary teams that
were separated by decades. In another example, hall of fame players
of different eras could be matched against one another in a
simulation to determine who would win.
Social Media
[0156] In one embodiment, the output generated by the present
technology is transmitted to users in real time using social media
such as, for example, twitter. In one embodiment, the output
generated by the present technology is used to create live tweets
of games and the content is sponsored by, for example, teams or
corporate sponsors. In a further embodiment of the technology, the
output generated by the present technology is utilized by users to
create secondary content for social media, such as, for example, to
create blog content. In one embodiment, the output generated by the
present technology is used to provide an automated email with an
overview of the interesting point of a game. In a further
embodiment, such an automated e-mail could be provided to bloggers,
sports writers and/or fans on a subscription basis. In one
embodiment, the output generated by the present technology may be
used to provide content for a live version of a game using video
graphics to stream to users. In a further embodiment, the output
generated may be used by teams and players to add value to the
franchise and the players, by, for example, giving the players
access to a profile with information and graphics that allow them
to more clearly define themselves and increase the their brand
awareness.
[0157] In another embodiment, the social media content described
above can be shared in an interactive social media environment
(e.g., Facebook). Users who subscribed to receive content about a
particular team or player can share this content with other users
to initiate or facilitate dialog.
Second Screen Apps
[0158] In certain circumstances, it might be beneficial to provide
statistical, graphical, analytical information related to a
particular sporting activity or event via an auxiliary resource
such as a "second screen" app. Having such an app as a resource can
greatly enhance the viewing experience of a viewer watching the
sporting activity or event on television or in person. In one
embodiment such a second screen app may include the output of the
present technology. In another embodiment, the output of the
present technology available on such second screen app may be
paired with certain sponsorships or promotional advertising.
[0159] In one embodiment, the output generated by the present
technology may be available via at least a first and a second
account. The first account may, for example, allow the user to
access a customized automated stream of tweets about actual events
in sports in conjunction with content generated by the present
technology. The second account may, for example, allow a user to
access pictures and visualizations of actual sporting events in
conjunction with or modified by content generated by the present
technology.
[0160] In one embodiment, the output generated by the present
technology may be used to populate a ticker, such as, for example,
the tickers which appear at the bottom of a television screen
during sporting events.
Web Applications--Spray Chart
[0161] FIG. 17. In one embodiment, the output of the present
technology may be used in a web application (or interactive online
application). FIG. 17 illustrates one example of a web application
used by a team to interact with output data created using the
present technology. In one embodiment, FIG. 17 may be a "spray
chart" which allows the user to select any combination of available
filters to find the specific insights. In one embodiment, filters
may be, for example, set in "player 1", "o sets", "screens" on left
side of page and combined with offense, defense and game settings.
The user can then view the location of the start or end of the
final play of the possession (the final play of a possession may be
defined as the play that ends in a made shot, missed shot, shooting
foul, or turnover). In this embodiment, the right side of the panel
would then provide an overview of the stats related to the filters
that have been set. In this embodiment, numbers shown in red are
below the league average for the specified situation, and numbers
shown in green are above the league average for the specified
situation. In other embodiments, the user may also select specific
players on or off the court at the top of the page.
Web Applications--Stat Tables
[0162] FIG. 18. In a further embodiment of the technology,
illustrated in FIG. 18 the output of the technology may be used in
a web application to create, for example, "stat tables" which
provide an overview of the rate and efficiency of various
situations within each tab shown on the left. In the illustrated
web application, the button "catch and shoot" is selected, and the
various types of catch and shoot situations are shown in the table
to the right. In one embodiment, links from this table are
available to view the effectiveness of each player for a given
category, or for each team for a given category. In one embodiment,
a five star system may also be used to show the ranks within the
table (in relation to all other events listed in the table).
Automated Narrative--Social Media
[0163] FIG. 19. In a further embodiment of the technology, the
output of the present technology may be used to generate an
automated narrative, such as, for example, the narrative
illustrated in FIG. 19. In one embodiment of the present
technology, the output may be used to generate an automated
narrative during or after the processing of coordinate data. In one
embodiment, a real time narrative can be made available through,
for example, twitter or other social Media platforms. In one
embodiment, all content, including "hashtags" are automatically
generated from the coordinate data.
Automated Figure Generation
[0164] FIG. 20a and FIG. 20b. FIGS. 20a and 20b illustrate further
embodiments of the technology wherein the output of the present
technology may be used to generate figures automatically, such
figures containing data and visuals created from our output files,
or directly during processing of the coordinate data.
Automated Narrative
[0165] FIG. 21. In a further embodiment of the technology, the
output of the present technology may be used to generate an
automated narrative, such as, for example, the narrative
illustrated in FIG. 21. In one embodiment of the present
technology, the output may be used to generate an automated
narrative during or after the processing of coordinate data. In one
embodiment, a summary narrative can be made available through, for
example, an email distribution. In one embodiment, all content,
including "hashtags" are automatically generated from the
coordinate data.
Graphical Overlay
[0166] FIG. 22 and FIG. 27. In a further embodiment of the
technology, the output of the present technology may be used to
generate a direct and automated overlay of additional information
directly on the broadcast video. For example, as shown in FIG. 22,
a graphical overlay measuring the speed of a player is depicted.
This type of graphical overlay could be used to present any event
profile data of interest to the broadcast audience. In another
embodiment, as shown in FIG. 27, a visual system that may present
the analysis of the combination of video and event/activity profile
data by overlaying that data on the video.
Text Box Selection
[0167] FIG. 23. FIG. 23 is an illustration of a text box selection
tool that allows the user to quickly and flexibly use text, or
autofill input, to select who, what, where, when, how along with a
type of output to answer a very granular question.
Suggestion Tools
[0168] FIGS. 24, 25, 26a and 26b. FIG. 24 is an illustration of a
selection and suggestion tool that processes a query based on a
selected set of data filters and then provides the user with a
single additional condition that will lead to the biggest expected
improvement, or decline, in performance, for example, improve the
halfcourt offense by running wedge set during the halfcourt
offense. The user may also allow for suggestions based on multiple
additional filters, such as running wedge set and using the corner
option. FIG. 25 depicts a text selection suggestion tool which
allows the user to enter input text indicating desired areas of
improvement and returns a suggestion by examining those
options.
[0169] FIGS. 26a and 26b depict a textual trend suggestion tool
which highlights trends that are occurring in a given set of data
and suggest improvements based upon user selections. For example,
the suggestion tool might allow the user to input text, indicating
the area that the user would like to improve, for example, offense,
by adjusting selected categories, such as substitutions or plays,
and the tool would make a suggestion using only those selected
options. Alternatively, the tool would allow the user to view
recent trends, then select a specific trend, and ask for a
suggestion on how to reverse or continue that trend.
Additional and Illustrative Examples
[0170] The following provides examples of different aspects of the
technology described in this specification. This material is
provided for the sake of support and information and is not
intended to be limiting in any way.
[0171] In one embodiment a system for enhanced sports analytics
includes: i) an object tracking system for generating coordinate
data corresponding to object motion in a sports event; ii) a data
processing module for receiving the coordinate data from the object
tracking system, analyzing the coordinate data with an event
recognition algorithm for identifying and characterizing events and
outcomes of interest, and cataloging the data in accordance with
the identified events and outcomes into event profile data; iii) an
output file database for receiving and storing the event profile
data generated by the data processing module; and iv) a user
application for accessing the event profile data from the output
file database. In one embodiment the user application provides
enhanced analytical information corresponding to sports and the
user application is configured with an graphical interface to allow
the user to specify parameters for the event recognition algorithm.
In a further embodiment the coordinate data generated by the object
tracking system includes spatial data, temporal data and/or object
identifiers corresponding to object motion. In a further embodiment
the object identified correspond to at least one of the ball,
player, uniform number, position number, team name and referee. In
a further embodiment the object tracking system generates
coordinate data corresponding to motion of at least one of players,
coaches, referees/officials, equipment, such as, for example,
balls. In a further embodiment the user application is accessible
via a computing device remotely via the Internet and/or locally via
standalone software residing within a computing device. In a
further embodiment the event recognition algorithm is configured to
associate the coordinate data with predetermined events of
interest. In a further embodiment the predetermined events of
interest include at least one of offensive formations, defensive
formations, scoring outcomes, non-scoring scoring outcomes, play
execution, player matchups, kinematic states of an object. In a
further embodiment the data processing module obtains data
corresponding to predetermined events of interest fro ma secondary
data source. In a further embodiment the data processing module
catalogs the coordinate data associated with the predetermined
events of interest into event profile data. In a further embodiment
the data processing module associates the event profile data with
data fro ma secondary data source. In a further embodiment data
from the secondary data source includes at least one of
play-by-play data, video media, such as, for example video game
footage, audio media, game states data, such as, for example,
statistical information, object attributes, venue data, such as,
for example, location, date/time of event, attendance, weather. In
a further embodiment the data processing module is configured to
receive data from a secondary data source and data from the
secondary data source includes at least one of play-by-play data,
video media, such as, for example, video game footage, audio media,
game states data, such as, for example, statistical information,
object attributes, venue data, such as, for example, location,
date/time of event, attendance, weather. In a further embodiment
the user application includes an interactive platform for
generating customizable performance analytics. In a further
embodiment the interactive platform is configured to generate
customizable analytics on player performance. In a further
embodiment the interactive platform is configured to generate
customizable analytics on team performance. In a further embodiment
the interactive platform is configured to generate customizable
performance analytics which include strengths, weaknesses and
tendencies. In a further embodiment the interactive platform is
configured to allow a user to define value ranges for specific
performance metrics. In a further embodiment the user application
includes a diagnostic utility for automatically generating
performance analytics. In a further embodiment the diagnostic
utility is configured to automatically generate analytics involving
predetermined performance metrics. In a further embodiment the
diagnostic utility is configured to allow the user to automatically
generate reports on strengths, weaknesses and/or tendencies
corresponding to specific teams of players. In a further embodiment
the user application includes a strategy utility for determining
specific strategies to implement. In a further embodiment the
strategy utility obtains performance analytics data on strengths,
weaknesses and/or tendencies from the diagnostic utility and
automatically generates strategies for implementation. In a further
embodiment the user application includes a prediction utility for
identifying desirable player or team characteristics in response to
the performance analytics generated by the diagnostic utility. In a
further embodiment the user application includes a scouting utility
for identifying and/or assessing prospective player or team
performance in response to desirable player or team characteristics
identified by the prediction utility. In a further embodiment the
prediction utility is configured to recommend a particular player
or team in corresponding to the identified desirable player or team
characteristics. In a further embodiment the user application
provides enhanced analytical information corresponding to at leas
tone of offensive formations, defensive formations, scoring
outcomes, play execution, player matchups, kinematic states of an
object. In a further embodiment the user application provides
enhanced analytical information corresponding to positioning of a
player in possession of a ball. In a further embodiment the user
application provides enhanced analytical information corresponding
to positioning of a player not in possession of a ball. In a
further embodiment the user application is configured to link to
video media of the sports event associated with the event profile
data.
[0172] In one embodiment an interactive software application for
customized sports analytics includes: i) an output file for storing
event profile data resulting from automated analysis of object
coordinate data corresponding to a sporting event, the stored event
profile data being cataloged according to descriptive tags; and ii)
a user interface having multiple selectable fields corresponding to
the cataloged descriptive tags in the output file. In a further
embodiment the application is configured to generate customized
sports analytics in response to user-specified queries made via the
user interface. In a further embodiment the stored event profile
data in the output file may be influenced by event detection
algorithms applied to the object coordinate data. In a further
embodiment the event detection algorithms applied to the object
coordinate data include user-specified parameters. In a further
embodiment the multiple selectable fields of the user interface
includes pre-specified parameters. In a further embodiment the
multiple selectable fields of the user interface include
user-specified parameters. In a further embodiment the multiple
selectable fields of the user interface include quantitative
parameters. In a further embodiment the quantitative parameters of
the multiple selectable fields are adjustable by the user. In a
further embodiment the quantitative parameters of the multiple
selectable fields are ranges of user provided values. In a further
embodiment the user adjustable quantitative parameters of the
multiple selectable fields are adjustable according to a sliding
scale. In a further embodiment the multiple selectable fields of
the user interface include a combination of parameters. In a
further embodiment the multiple selectable fields of the user
interface include qualitative parameters. In a further embodiment
the qualitative parameters of the multiple selectable fields are
defined by the user. In a further embodiment the application is
configured to receive data from a secondary source. In a further
embodiment the user interface is configured to filter data by
fields associated with the secondary source data. In a further
embodiment the customized sports analytics generated by the
application includes at least one of numerical analytics, graphical
analytics and video or audio media. In a further embodiment the
customized sports analytics generated by the application includes a
playlist of video media. In a further embodiment the customized
sports analytics generated by the application are configured to be
exported to additional applications. In a further embodiment the
user interface is configured to be accessible via a computing
device.
[0173] In one embodiment a sports analytics software includes: i) a
data processing module for analyzing the object coordinate data
corresponding to a sports event and characterizing the object
coordinate data into event profiles, the event profiles
corresponding to events of interest; and ii) a data mining module
for automated analysis of the event profiles to identify specific
event profiles or combinations of event profiles that correlate
with outcomes of interest. In a further embodiment the event
profiles that correlate with outcomes of interest are associated
with strengths, weaknesses and/or tendencies. In a further
embodiment the event profiles associated with strengths, weaknesses
and/or tendencies enable the evaluation of performance. In a
further embodiment the event profiles associated with strengths,
weaknesses and/or tendencies enable the evaluation of player
performance. In a further embodiment the event profiles associated
with strengths, weaknesses and/or tendencies enable the evaluation
of team performance. In a further embodiment the event profiles
associated with strengths, weaknesses and/or tendencies enable the
evaluation of offensive performance. In a further embodiment the
event profiles associated with strengths, weaknesses and/or
tendencies enable the evaluation of defensive performance. In a
further embodiment the data mining module identifies event profiles
that correlate with predetermined outcomes of interest. In a
further embodiment the data mining module recommends strategies
responsive to the event profiles associated with strengths,
weaknesses and/or tendencies. In a further embodiment the data
mining module is configured to analyze user-identified event
profiles. In a further embodiment the data processing module
analyzes object coordinate data corresponding to a first sports
event and the data mining module recommends strategies for a second
sports event. In a further embodiment the first sports event
precedes the second sports event. In a further embodiment the first
sports event and the second sports event are the same event. In a
further embodiment the data mining module is configured to provide
the recommended strategies as a graphical overlay during a video
broadcast of the sports event. In a further embodiment the data
mining module identifies desirable matchups based on the event
profiles associated with strengths, weaknesses and/or tendencies.
In a further embodiment the data mining module identifies
undesirable matchups based on the event profiles associated with
strengths, weaknesses and/or tendencies. In a further embodiment
the event profiles associated with strengths, weaknesses and/or
tendencies are provided by the software to be a presented as a
graphical overlay on video media corresponding to the sports event.
In a further embodiment the graphical overlay is applied to a video
replay of at least a portion of the sports event. In a further
embodiment the graphical overlay of the video media is applied to a
real time video broadcast of the sports event. In a further
embodiment the graphical overlay of the video media is applied to a
portion of a playing surface of the sports event. In a further
embodiment the graphical overlay of the video media is applied to a
portion of a basketball court. In a further embodiment the
graphical overlay of the video media is applied to a portion of a
football field. In a further embodiment the graphical overlay of
the video media is applied to a portion of a baseball field. In a
further embodiment the graphical overlay of the video media is
applied to a player participating in the in the sports event. In a
further embodiment the graphical overlay of the video media is
configured to move with or alongside the player participating in
the sports event. In a further embodiment the graphical overlay
includes qualitative information. In a further embodiment the
sports analytics software includes an output file for storing event
profiles and associated strengths, weaknesses and tendencies,
wherein the output file is configured to supply data to video game
and/or fantasy sports simulations.
[0174] In one embodiment a sporting event viewing application
includes: i) a data processing module for analyzing object
coordinate data corresponding to the sporting event and depositing
the analyzed object coordinate data into an output file; and ii) a
user application for accessing data from the output file and
displaying dynamic game plots associated with data from the output
file. In a further embodiment the dynamic game plots displayed by
the user application include analytical information associated with
the sporting event. In a further embodiment the dynamic game plots
displayed by the user application includes spatial and temporal
information associated with objects in the sporting event. In a
further embodiment the dynamic game plots displayed by the user
application include spatial and temporal information associated
with player positioning in the sporting event. In a further
embodiment the dynamic game plots displayed by the user application
include spatial and temporal information associated with ball
positioning in the sporting event. In a further embodiment the
dynamic game plots displayed by the user application include
quantitative analytical information associated with the sporting
event. In a further embodiment the quantitative analytical
information associated with the sporting event displayed by the
user application includes player specific information. In a further
embodiment the quantitative analytical information associated with
the sporting event displayed by the user application includes
kinematic information corresponding to an object within the
sporting event. In a further embodiment the quantitative analytical
information associated with the sporting event displayed by the
user application includes kinematic information corresponding to a
player within the sporting event. In a further embodiment the
analytical information associated with the sporting event displayed
by the user application includes event profile information from the
sporting event. In a further embodiment the user application is
configured to display the dynamic game plots during the sporting
event. In a further embodiment the user application is configured
to display the dynamic game plots following conclusion of the
sporting event. In a further embodiment the user application is
configured to display the dynamic game plots via the Internet. In a
further embodiment the user application is configured to display
the dynamic game plots via broadcast television. In a further
embodiment the user application is configured to display the
dynamic game plots via a mobile device. In a further embodiment the
dynamic game plots displayed by the user application includes a
virtual depiction of the sporting event. In a further embodiment
the virtual depiction of the sporting event corresponds to a
two-dimensional display. In a further embodiment the virtual
depiction of the sporting event corresponds to a three-dimensional
display. In a further embodiment the three-dimensional display
corresponds to a holographic display.
[0175] In one embodiment a sports analytics utility includes: i) a
data processing module for receiving object tracking coordinate
associated with a sports event; and video media corresponding to
the sports event. In a further embodiment the data processing
module a) utilizes event recognition techniques to identify and
characterize events and outcomes of interest from the coordinate
data as event profile data, b) applies image processing to the
video media to extract data associated with the sports event, c)
synchronizes the extracted sports event data from the video media
with the event profile data, and catalogs the event profile data
and synchronized video media; ii) an output file database for
receiving and storing the cataloged event profile data and
synchronized video media; iii) a user application for accessing the
cataloged event profile data and synchronized video media from the
output file database. In a further embodiment the user application
enables the user to search for specific event profiles and
associated video media. In a further embodiment the user
application is configured to produce a playlist of video media
clips corresponding to a user specified search. In a further
embodiment the sports analytics utility, includes a display for
user viewing of video media. In a further embodiment the sports
analytics utility includes a program for overlaying event profile
data on the displayed video media. In a further embodiment the
program for overlaying event profile data on the displayed video
media includes overlaying analytical player information on the
displayed video media. In a further embodiment the user application
is configured to enable the user to save the playlist of video
media clips for future reference. In a further embodiment the user
application is configured to enable the user to share the playlist
of video media clips with other users. In a further embodiment the
user application is configured to enable the user to share at least
a portion of the playlist of video media clips with other users via
a social media/networking utility. In a further embodiment the user
application is configured to enable the user to insert comments
corresponding to select video media clips on the playlist. In a
further embodiment the user application is configured to provide a
graphical display corresponding to a user specified search. In a
further embodiment the graphical display includes event profile
data. In a further embodiment the event profile data is linked to
the associated video media.
[0176] In one embodiment a sports viewing utility includes: i) a
data processing module for receiving object tracking coordinate
data associated with a sports event and video media corresponding
to the sports event; and ii) a user interface including a display
for displaying the video media of the sports event and synchronized
event profile data and multiple selectable fields corresponding to
the event profile data. In a further embodiment the data processing
module utilizes event recognition techniques to identify and
characterize events and outcomes of interest from the coordinate
data as event profile data, applies image processing to the video
media to extract data associated with the sports event, and
synchronizes the extracted sports event data from the video media
with the event profile data. In a further embodiment the user
interface enables the user to select the type and form of event
profile data to be displayed alongside the video media. In a
further embodiment the synchronized event profile data displayed by
the user interface includes numeric statistical information. In a
further embodiment the synchronized event profile data displayed by
the user interface includes graphical statistical information. In a
further embodiment the synchronized event profile data displayed by
the user interface includes a graphical or textual overlay over the
displayed video media. In a further embodiment the graphical or
textual overlay over the displayed video media includes
quantitative, qualitative, statistical, strategic and/or kinematic
information.
[0177] In one embodiment an interactive graphical application for
enhanced sports analytics includes: i) a data processing module for
receiving object tracking coordinate data associated with a sports
event; and ii) a user interface including a graphical display for
presenting the event profile data and multiple selectable fields
configured to enable user filtering of the event profile data. In a
further embodiment the data processing module includes an event
recognition algorithm to automatically identify and characterize
events and outcomes of interest from the coordinate data as event
profile data. In a further embodiment the event recognition
algorithm of the data processing module can be customized based on
user-specified parameters. In a further embodiment the event
profile data presented on the graphical display is linked to
numeric data. In a further embodiment the event profile data
presented on the graphical display is linked to video media
associated with the event profile data. In a further embodiment the
user interface further includes a video display for playing video
media associated with the event data. In a further embodiment the
graphical display of the user interface includes a virtual
basketball court and wherein the event profile data includes ball
possessions associated with shots taken. In a further embodiment
the event profile data includes ball possessions associated with
shots missed. In a further embodiment the interactive graphical
application for enhanced sports analytics includes a computing
device. In a further embodiment the computing device includes a
personal computer. In a further embodiment the computing device
includes a mobile device. In a further embodiment the mobile device
includes a tablet. In a further embodiment the mobile device
includes an iPad.
[0178] In one embodiment a software application for enhanced
viewing of a sporting event includes a data processing module for
receiving object tracking coordinate data associated with the
sporting event, applying an event recognition algorithm to
automatically identify and characterize events and outcomes of
interest from the object tracking coordinate data as event profile
data, and comparing the event profile data associated with the
sporting event with archived event profile data from previous
sporting events. In a further embodiment wherein the software
application generates enhanced analytics from the comparing the
event profile data from the sporting event with the archived event
profile data. In a further embodiment enhanced analytics generated
by the software application include outcome probabilities. In a
further embodiment outcome probabilities generated by the software
application include team win/loss probabilities. In a further
embodiment outcome probabilities generated by the software
application include player performance probabilities. In a further
embodiment player performance probabilities generated by the
software application include offensive performance probabilities.
In a further embodiment the enhanced analytics generated by the
software application facilitates placing bets on the sporting
event. In a further embodiment the enhanced analytics generated by
the software application are applicable to fantasy sports gaming.
In a further embodiment the enhanced analytics generated by the
software application are generated contemporaneously with the
sporting event. In a further embodiment the enhanced analytics
generated contemporaneously with the sporting event are configured
to be displayed on a mobile device. In a further embodiment the
sporting event are configured to be displayed as a graphical
overlay during a video broadcast of the sporting event.
[0179] In one embodiment a software application for enhanced
performance analytics includes a data processing module for
receiving object tracking coordinate data associated with a spot
program, applying an event recognition algorithm to automatically
identify and characterize events and outcomes of interest from the
object tracking coordinate data as event profile data, and
comparing the event profile data associated with the sport program
with archived event profile data from previous sport program. In a
further embodiment the software application generates enhanced
performance analytics from comparing the event profile data from
the sporting event with the archived sports program event profile
data. In a further embodiment the event profile data from the data
processing module can be subdivided according to pre-specified
and/or user-specified categories. In a further embodiment the event
profile data from the data processing module includes player
performance data. In a further embodiment the player performance
data includes player kinematic data. In a further embodiment the
player performance data includes data on player physical
conditioning. In a further embodiment the event profile data from
the data processing module includes referee performance data. In a
further embodiment the enhanced performance analytics relates to
the consistency of referee calls. In a further embodiment the
enhanced performance analytics relates to referee positioning. In a
further embodiment the enhanced performance analytics relating to
referee positioning relates to referee positioning relative to the
location of a game ball. In a further embodiment the enhanced
performance analytics relating to referee positioning relates to
referee positioning relative to other referees. In a further
embodiment the enhanced performance analytics relating to referee
positioning relates to referee positioning relative to specific
players. In a further embodiment the enhanced performance analytics
relating to referee positioning relates to referee positioning
relative to the game playing surface. In a further embodiment the
object tracking coordinate data received from a sports program
includes coordinate data received from at least one of a game,
practice and drill/demonstration.
[0180] In one embodiment a method of processing streaming data from
a sporting event includes the steps of: i) collecting data from one
or more sources of continuous stream data where such sources
monitor the sporting event; ii) scanning the collected continuous
stream data for errors and missing data segments; iii) correcting
errors in the collected continuous steam data using error
correction algorithms; iv) inserting data to fill in missing data
in the collected data using one or more bridging algorithms; v)
converting the collected continuous stream data to a mathematical
description of the live event; vi) generating one or more subsets
of the converted data, wherein the generated subsets are
descriptive of one or more parameters or elements of the live
event. In a further embodiment the generated subsets are stored in
an output table. In a further embodiment the generated subsets are
transmitted to a user. In a further embodiment the generated
subsets are transmitted via a social media channel. In a further
embodiment the generated subsets are transmitted via a media
channel. In a further embodiment the generated subsets are
transmitted via a television feed. In a further embodiment the
generated subsets are superimposed on transmissions from a media
channel. In a further embodiment the generated subsets are
superimposed on a television feed. In a further embodiment the
sources of continuous stream data are devices adapted to tracking
movement of objects which are part of the sporting event. In a
further embodiment the sources of continuous stream data are
camera's arranged to capture the movement of object in the sporting
event. In a further embodiment the sources of continuous data are
detectors arranged to received signals from transmitters attached
to objects in the sporting event. In a further embodiment the
transmitters are RFID tags.
[0181] In one embodiment a method of converting a video feed from a
sporting event into an output table containing information about
specific situations in the sporting event includes the steps of: i)
collecting data from the video feed; ii) converting the collected
data into a data stream representing coordinate data for objects in
the sporting event; iii) applying one or more predefined algorithms
to the coordinate data, where in the predefined algorithm is
selected from a library of predefined algorithms based upon
criteria related to the game situation to be analyzed; iv) storing
the output of the predefined algorithm in a user accessible output
table, for a period of 100 days from the Effective Date the output
of the predefined algorithm is transmitted to users via social
media. In a further embodiment the social media used is Twitter. In
a further embodiment the output of the predefined algorithm is
combined with the original video feed. In a further embodiment the
combined output is transmitted to users in real time. In a further
embodiment the objects are selected from one or more of the
following: balls, players or referees. In a further embodiment the
algorithm is selected based upon the occurrence of specific events
within the sporting event. In a further embodiment the selected
algorithm processes input data representative of a time period
wherein the specific event occurs. In a further embodiment the
output of the selected algorithm is data representative of player
movement during the selected even. In a further embodiment the data
is pre-filtered prior to the application of the one or more
algorithms to a subset of the data representing parameters specific
to the specific events in the sporting event. In a further
embodiment the filtered data is followed for the period of time
necessary to describe the selected event. In a further embodiment
the selected event is an offensive possession during a basketball
game. In a further embodiment
[0182] In one embodiment a method of creating output data for use
by a user includes the steps of: i) receiving raw data
representative of the real time position of objects; ii) filtering
the raw data to identify missing data or errors in the data; iii)
correcting the errors in the data and filling in data for the
missing data; iv) filtering the corrected data through algorithms
which reduce the total data in the data set by selectively
outputting data which is relevant to pre-selected situations, times
or other criteria which is related to the pre-selected situations;
v) placing the filtered data into an output table which may be
queried by users. In a further embodiment the filtered data is
useable to generate customizable outputs. In a further embodiment
the customizable outputs allow the user to remove specific objects
from the output. In a further embodiment the output is uses to
generate possession tails representative of specific actions
related to the real time position of the objects. In a further
embodiment the possession tails are representative of player
position over a predefined period. In a further embodiment the
possession tails are colored to represent predefined
characteristics of a player movement during the predefined period.
In a further embodiment the output may be used to generate one or
more analytical tools. In a further embodiment the analytical tool
illustrates player efficiency for particular situations. In a
further embodiment the analytical tool provides recommendations for
particular game situations. In a further embodiment the analytical
tool outputs data to a tablet display. In a further embodiment the
output is used to generate a comparative analysis tool. In a
further embodiment the comparative analysis tool provides an output
indicative of players comparative strengths and weaknesses. In a
further embodiment the players comparative strengths and weaknesses
are relative to particular game situations. In a further embodiment
the player's comparative strengths and weaknesses are relative to
other players in particular game situations. In a further
embodiment the output is used to generate a similarity tool. In a
further embodiment the output data is indicative of the
similarities between selected players.
[0183] In one embodiment a method of distributing output data for
use by a user includes the steps of: i) receiving raw data
representative of the real time position of objects; ii) filtering
the raw data to identify missing data or errors in the data; iii)
correcting the errors in the data and filling in data for the
missing data; iv) filtering the corrected data through algorithms
which reduce the total data in the data set by selectively
outputting data which is relevant to pre-selected situations, times
or other criteria which is related to the pre-selected situations;
v) placing the filtered data into an output table which may be
queried by users; and vi) distributing the output data to users via
social media. In a further embodiment the data is distributed by
means of live tweets. In a further embodiment the data is
distributed by means of a blog. In a further embodiment the blog is
a continuous narrative of a specific game. In a further embodiment
the data is distributed by means of an e-mail or a string of
e-mails. In a further embodiment the e-mails are generated in
response to the occurrence of predetermined events related to the
raw data. In a further embodiment the data is distributed via a
first screen which may be integrated into a second screen to enable
the user to see the data in conjunction with real time events. In a
further embodiment the second screen is video of a sporting event.
In a further embodiment the first screen is a ticker generated
using the distributed data.
[0184] In one embodiment a method of distributing output data for
use by a user includes the steps of: i) receiving raw data
representative of the real time position of objects; ii) filtering
the raw data to identify missing data or errors in the data; iii)
correcting the errors in the data and filling in data for the
missing data; iv) filtering the corrected data through algorithms
which reduce the total data in the data set by selectively
outputting data which is relevant to pre-selected situations, times
or other criteria which is related to the pre-selected situations;
v) placing the filtered data into an output table which may be
queried by users; and vi) distributing the output data to users via
web applications. In a further embodiment the output data is
filtered through user selected filters and displayed in a spray
chart format. In a further embodiment the output data is displayed
in a stat table. In a further embodiment the stat table provides an
overview of the rate and efficiency of players in various game
situations.
[0185] In one embodiment a method of distributing output data for
use by a user includes the steps of: i) receiving raw data
representative of the real time position of objects; ii) filtering
the raw data to identify missing data or errors in the data; iii)
correcting the errors in the data and filling in data for the
missing data; iv) filtering the corrected data through algorithms
which reduce the total data in the data set by selectively
outputting data which is relevant to pre-selected situations, times
or other criteria which is related to the pre-selected situations;
v) placing the filtered data into an output table which may be
queried by users; and vi) distributing the output data to users via
automated transmissions. In a further embodiment the output is
distributed via an automated narrative. In a further embodiment the
automated narrative is generated concurrently with the processing
of coordinate data. In a further embodiment the automated narrative
is made available to the user through a social media channel. In a
further embodiment the automated narrative is made available to the
user through twitter. In a further embodiment hashtags are
generated automatically. In a further embodiment all content is
generated automatically. In a further embodiment the output is
distributed via an automated figured generator. In a further
embodiment the generated figures contain visuals containing the
output data.
[0186] The above detailed descriptions of embodiments of the
invention are not intended to be exhaustive or to limit the
invention to the precise form disclosed above. Although specific
embodiments of, and examples for, the invention are described above
for illustrative purposes, various equivalent modifications are
possible within the scope of the invention, as those skilled in the
relevant art will recognize. For example, while steps are presented
in a given order, alternative embodiments may perform steps in a
different order. The various embodiments described herein can also
be combined to provide further embodiments.
[0187] In general, the terms used in the following claims should
not be construed to limit the invention to the specific embodiments
disclosed in the specification, unless the above detailed
description explicitly defines such terms. While certain aspects of
the invention are presented below in certain claim forms, the
inventors contemplate the various aspects of the invention in any
number of claim forms. Accordingly, the inventors reserve the right
to add additional claims after filing the application to pursue
such additional claim forms for other aspects of the invention.
TABLE-US-00001 TABLE 1 Examples of Activity/Event Recognition in
Basketball 1. Player Matchups 2. Ball Possessor 3. Ball Defender 4.
Shot Defender 5. Shot location 6. Help Defender 7. Passer 8.
Dribble Penetration (middle penetration, baseline penetration,
etc.) 9. Dribble Penetration Defender 10. Screens (high screen,
side screen, etc.) 11. On-ball screen, Off-ball screen 12. Space
created by screen setter 13. Number of screeners (single, double,
etc.) 14. Screen and roll 15. Screen and pop 16. Split screen 17.
Slip screen 18. High Screen Defense (defender goes over) 19. High
Screen Defense (defender goes under) 20. High Screen Defense
(defenders switch) 21. High Screen Defense (defender "shows") 22.
High Screen Defense (defender plays "soft") 23. High Screen Defense
(defenders trap ball handler) 24. Double Team 25. Good Close Out
26. Bad Close Out 27. Close out speed 28. Close out distance 29.
Close out acceleration 30. Close out deceleration 31. Distance
between defender at start of possession 32. Distance between
defender at time of shot attempt 33. Post Play 34. Post Play start
location and distance from hoop 35. Post Play end location and
distance from hoop 36. Difference in post play start location and
end location 37. Post defender 38. Post shoulder turn direction 39.
Post play face up 40. Post play back down 41. High post play 43.
Direction that defense forces the post play (i.e., middle or
baseline, etc.) 43. Isolation 44. Transition 45. Time to front
court 46. Back court ball handler 47. Back court pressure 48. Help
Defense Type (i.e., "Gap Seal") 49. Cutter 50. Defender gets beat
51. Time between initial possession and shot attempt 52. Player
velocities and accelerations 53. Number of speed bursts 54. Number
of acceleration bursts 55. Fatigue 56. Effort compared to baseline
metrics 57. Ability to Fight through pick 58. Court Spacing 59.
Location of ball bounces following missed shots depending on shot
location, player, etc. (most likely) 60. Identify play called and
option used on play 61. Design new plays 62. Event Stops 63.
Movement on Offense 64. Defensive and offensive rebound percentages
following specific events 65. Opponent transition rates following
specific events 66. Zone defense or man-to-man defense 67. Type of
zone defense (i.e., 2-3, or 1-2-2, or box and one, etc.) 68. Shot
Region (Right wing, high post, left corner, etc.) 69. Catch Region
(Right wing, high post, left corner, etc.) 70. Contested or
Uncontested catch 71. Contested or Uncontested shot 72. Contested
or Uncontested rebound 73. Ball reversal
TABLE-US-00002 TABLE 2 Examples of Activity/Event Recognition in
Football 1. Path to ball 2. Defensive player reaction to run/pass
3. Force of hit 4. Speed moving left or right 5. Type of passes
caught on a defender (passes in front of defender, deep balls, etc)
6. Success of play type against a defensive set 7. Pocket mobility
8. Effort 9. Missed tackles
TABLE-US-00003 TABLE 3 Examples of Activity/Event Recognition in
Baseball 1. Normalize defensive ability by difficulty of play 2.
Lead distance for baserunner - risk v reward 3. Catcher - time from
home to 2.sup.nd 4. Catcher ability to throw to 2.sup.nd based on
pitch 5. Strike zone for ump (triangular pyramid vs. rectangular
prism) 6. Required average velocity for perfect path to ball 7.
Ball velocity prior to catch 8. Projected ball velocity prior to
catch (horizontal and vertical projections) 9. Identification of
candidate fielders that had opportunities to field balls 10.
Description of fielding opportunity difficulty 11. Description of
fielding opportunity result 12. Ball paths as a function of
situational events (e.g., batter A, when batting right-handed and
facing a right-handed pitcher that throws fast balls between 90-93
mph and has no teammates on base, historically hits balls with the
described ball paths) 13. Quantitative metrics to consistently
define plays that should be considered errors (for example, a ball
hit to the outfield that requires a perfect average velocity of 5
ft/s and is not caught should be considered an error) 14. Automated
line-up optimization 15. Automated expected success rates of
managerial decisions - hit & run with 1 out and runner on
1.sup.st on 9.sup.th inning of a 0-0 game against a pitcher who
hasn't given up a run through 81/3 innings?
TABLE-US-00004 TABLE 4 Example Categories of Searchable Criteria
(1) Players on/off court (or field of play) (2) Possession by
specified team (3) Events of interest (4) Events involving
specified players (5) Games states (game, time, score differential,
etc) (6) Filters work on "and/or" basis for game state ID) (7)
Filter based on outcomes (points, activities, etc) (8) Player
matchups (Player A guarding Player B) (9) Filter based on expected
outcomes (points, activities, etc)
* * * * *