A system is described for interactively analyzing plays of a sporting event based on real-world positional tracking data. Using positional information regarding the players and/or ball and/or other objects obtained from a tracking system, along with identified event data and contextual information, the system processes a library of plays (e.g., one or more seasons' worth of a league's contests) into a searchable database of plays using multiple alignment templates and discriminative clustering techniques. A user interface is described for interacting with the database in a graphical manner, whereby users can query a graphical depiction of a play and receive the most similar plays from the library, along with statistical information relating to the plays. The user interface further permits the user to modify the query graphically (e.g., moving or exchanging players, ball trajectories, etc.) and obtain updated statistical information for comparison.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for indexing a database of plays for a sport in a tree data structure having a root node and a number of layers of child nodes, each play including two-dimensional positional tracking data for the objects on a playing surface and a time interval, and each node having associated with it a set of plays from the database, the method comprising: for each node in a first layer of the tree: determining a template play for the node; aligning the template to the node's parent's template; and aligning each play in the node's set of plays to the aligned template for the node; determining whether a termination condition has been satisfied for the first layer; and if the termination condition has not been satisfied, then discriminatively clustering the aligned plays at each node in the first layer to partition each node's set of plays into an optimal number of clusters, each node's partitioned clusters being represented as a set at a child node in a second layer of the tree. 2. The method of claim 1, wherein determining the template play for the node comprises: selecting a first play in the set of plays associated with the node, for use as an initial template; calculating a cost matrix for each play in the set of plays with respect to the initial template, the cost matrix representing a quantitative difference between the trajectories of each tracked object in the play and each object in the template; determining a permutation matrix for the play with respect to the initial template; aligning the set of plays by applying the permutation matrix; and updating the initial template with the average values of the aligned set of plays. 3. The method of claim 1, wherein discriminatively clustering the aligned plays at a node comprises: generating sets of proposed clusters using a K-means clustering process, for values of K ranging from 2 to at least 6; for each set of proposed clusters, calculating a metric for the dissimilarity between neighboring clusters and the tightness of the plays within each cluster; and accepting the set of proposed clusters that maximize the metric over the range of K-values. 4. The method of claim 1, further comprising: training a deep neural network (DNN) with data for a set of the aligned plays in the database; inputting a first subset of data for a play to the DNN; obtaining a prediction from the DNN for a second subset of data for the play. 5. The method of claim 4, wherein the first subset of data represents player trajectories and the second subset of data represents a ball trajectory. 6. The method of claim 4 wherein the first subset of data represents positional information for a first subset of players and the second subset of data represents positional information for a second subset of players. 7. The method of claim 1, wherein the sport is one of: basketball, soccer, rugby, American football or volleyball. 8. A computer-implemented graphical user interface and interactive sports analytics system comprising: a database storing a plurality of historical plays for a given sport, each historical play comprising real-world positional information and game event information over a window of time for objects on a playing surface, the objects comprising players and a ball; and a computing device comprising a display unit, the computing device coupled to the database and operable to generate a display on the display unit for representing a play for the given sport, the display comprising: a graphical depiction of the playing surface and the objects corresponding to real-world positional information for the play; and an object selection tool for receiving a user selection of a subset of objects in the graphical depiction, the display modifying the graphical depiction for the selected objects with positional information generated based on at least the historical plays in the database. 9. The system of claim 8, wherein the given sport is basketball and the user selection is the position of the basketball. 10. The system of claim 8, the display further comprising a retrieved play region for presenting historical plays retrieved from the database that are similar to the represented play with respect to positional information and/or game event information. 11. The system of claim 10, the display further comprising a video display region for presenting real-world video of the retrieved historical plays. 12. The system of claim 9, wherein the user selection is a subset of player representations in the graphical depiction.