IP Library Granted Patent US 11,908,191
Granted Patent B2
US 11,908,191 · App. 17/449,697 · Granted Feb 20, 2024

System and method for merging asynchronous data sources

Inventors: Alex Ottenwess (Chicago, IL); Matthew Scott (Chicago, IL); Ken Rhodes (Chicago, IL); Patrick Joseph Lucey (Chicago, IL)
Assignee: Stats LLC
G06V20/42G06N3/08G06V20/63G06V20/70G06V40/20H04N21/2353H04N21/251H04N21/44008H04N21/81H04N21/8133G06V20/44G06V30/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,908,191
App. No.
17/449,697
Granted
Feb 20, 2024
Kind
B2
Abstract

A computing system identifies broadcast video data for a game. The computing system generates tracking data for the game from the broadcast video data using computer vision techniques. The tracking data includes coordinates of players during the game. The computing system generates optical character recognition data for the game from the broadcast video data by applying one or more optical character recognition techniques to each frame of the plurality of frames to extract score and time information from a scoreboard displayed in each frame. The computing system detects a plurality of events that occurred in the game by applying one or more machine learning techniques to the tracking data. The computing system receives play-by-play data for the game. The computing system generates enriched tracking data. The generating includes merging the play-by-play data with one or more of the tracking data, the optical character recognition data, and the plurality of events.

Claims (55)

1. A method, comprising:

identifying, by a computing system, broadcast video data for a game, wherein the broadcast video data comprises a plurality of frames;

generating, by the computing system, tracking data for the game from the broadcast video data using one or more computer vision techniques, wherein the tracking data comprises coordinates of players during the game;

generating, by the computing system, optical character recognition data for the game from the broadcast video data by applying one or more optical character recognition techniques to each frame of the plurality of frames to extract score and time information from a scoreboard displayed in each frame;

detecting, by the computing system, a plurality of events that occurred in the game by applying one or more machine learning techniques to the tracking data;

automatically detecting, via a neural network, one or more additional events in each frame of a respective broadcast video;

enhancing, by the computing system, the detected one or more additional events with contextual information, the contextual information comprising matchup information including one or more matchups;

generating, by the computing system, an influence score for each matchup, wherein the influence score captures an influence of a player on a respective matchup;

receiving, by the computing system, play-by-play data for the game, wherein the play-by-play data is of a different source type than the broadcast video data; and

generating, by the computing system, enriched tracking data, the generating comprising merging the play-by-play data with one or more of the influence score, the tracking data, the optical character recognition data, and the plurality of events.

2. The method of claim 1 , further comprising:

merging the play-by-play data with the broadcast video data prior to generating the tracking data.

3. The method of claim 1 , wherein generating, by the computing system, the enriched tracking data comprises:

correcting erroneous outputs in the tracking data or the plurality of events based on information in the play-by-play data.

4. The method of claim 1 , wherein generating, by the computing system, the enriched tracking data comprises:

segmenting the tracking data into a plurality of possessions; and

matching portions of the play-by-play data to the plurality of possessions based on at least one of the tracking data and the plurality of events.

5. The method of claim 1 , wherein generating, by the computing system, the enriched tracking data comprises:

refining player and ball precisions in each frame of a respective broadcast video.

6. A non-transitory computer readable medium comprising one or more sequences of instructions, which, when executed by a processor, causes a computing system to perform operations comprising:

identifying, by the computing system, broadcast video data for a game, wherein the broadcast video data comprises a plurality of frames;

generating, by the computing system, tracking data for the game from the broadcast video data using one or more computer vision techniques, wherein the tracking data comprises coordinates of players during the game;

generating, by the computing system, optical character recognition data for the game from the broadcast video data by applying one or more optical character recognition techniques to each frame of the plurality of frames to extract score and time information from a scoreboard displayed in each frame;

detecting, by the computing system, a plurality of events that occurred in the game by applying one or more machine learning techniques to the tracking data;

automatically detecting, via a neural network, one or more additional events in each frame of a respective broadcast video;

enhancing, by the computing system, the detected one or more additional events with contextual information, the contextual information comprising matchup information including one or more matchups;

generating, by the computing system, an influence score for each matchup, wherein the influence score captures an influence of a player on a respective matchup;

receiving, by the computing system, play-by-play data for the game, wherein the play-by-play data is of a different source type than the broadcast video data; and

generating, by the computing system, enriched tracking data, the generating comprising merging the play-by-play data with one or more of the influence score, the tracking data, the optical character recognition data, and the plurality of events.

7. The non-transitory computer readable medium of claim 6 , wherein generating, by the computing system, the enriched tracking data comprises:

correcting erroneous outputs in the tracking data or the plurality of events based on information in the play-by-play data.

8. The non-transitory computer readable medium of claim 6 , wherein generating, by the computing system, the enriched tracking data comprises:

segmenting the tracking data into a plurality of possessions; and

matching portions of the play-by-play data to the plurality of possessions based on at least one of the tracking data and the plurality of events.

9. The non-transitory computer readable medium of claim 6 , wherein generating, by the computing system, the enriched tracking data comprises:

refining player and ball precisions in each frame of a respective broadcast video.

10. A system comprising:

a processor; and

a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations comprising:

identifying broadcast video data for a game, wherein the broadcast video data comprises a plurality of frames;

generating tracking data for the game from the broadcast video data using one or more computer vision techniques, wherein the tracking data comprises coordinates of players during the game;

generating optical character recognition data for the game from the broadcast video data by applying one or more optical character recognition techniques to each frame of the plurality of frames to extract score and time information from a scoreboard displayed in each frame;

detecting a plurality of events that occurred in the game by applying one or more machine learning techniques to the tracking data;

automatically detecting, via a neural network, one or more additional events in each frame of a respective broadcast video;

enhancing the detected one or more additional events with contextual information, the contextual information comprising matchup information including one or more matchups;

generating an influence score for each matchup, wherein the influence score captures an influence of a player on a respective matchup;

receiving play-by-play data for the game, wherein the play-by-play data is of a different source type than the broadcast video data; and

generating enriched tracking data, the generating comprising merging the play-by-play data with one or more of the influence score, the tracking data, the optical character recognition data, and the plurality of events.

11. The system of claim 10 , wherein generating the enriched tracking data comprises:

correcting erroneous outputs in the tracking data or the plurality of events based on information in the play-by-play data.

12. The system of claim 10 , wherein generating the enriched tracking data comprises:

segmenting the tracking data into a plurality of possessions; and

matching portions of the play-by-play data to the plurality of possessions based on at least one of the tracking data and the plurality of events.

13. The system of claim 10 , wherein generating the enriched tracking data comprises:

refining player and ball precisions in each frame of a respective broadcast video.

Assignments (2)
SECURITY INTEREST Recorded Apr 14, 2026
From: STATS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 075390/0491 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2021
From: OTTENWESS, ALEX; SCOTT, MATTHEW; RHODES, KEN; LUCEY, PATRICK JOSEPH
To: STATS LLC
Reel/Frame 057698/0271 →
Continuity (2)
Provisional Application 63086377 · Oct 1, 2020
Related Publication 20220108112A1 · Apr 7, 2022