IP Library › Granted Patent US 12,594,460
Granted Patent B2
US 12,594,460 · App. 18/799,552 · Granted Apr 7, 2026

Managing blobs for tracking of sports projectiles

Inventors: Elias Sevelin (Huddinge, SE); Lars Nyhed (Täby, SE)
Assignee: Topgolf Sweden AB
A63B24/0021A63B2024/0028A63B2220/806
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 12,594,460
App. No.
18/799,552
Granted
Apr 7, 2026
Kind
B2
Abstract

Methods (and apparatuses) for providing blobs include capturing, by the tracking sensor, a tracking stream, which comprises tracking image frames, and assigning, by the capturing subsystem, each last blob of the set of last blobs to one or more traces to obtain a set of traces, and generating, by the capturing subsystem, a respective score for each trace of the set of traces based on one or more of a start location of said each trace, an initial straightness of said each trace, an acceleration of said each trace, a direction of said each trace, a gradually decreasing size of blobs assigned to said each trace, a length of said each trace, a blob count of said each trace, or a combination thereof.

Claims (116)

1 . A method, performed by a video management system, for providing blobs, wherein the video management system comprises a capturing subsystem, wherein the capturing subsystem comprises a tracking sensor, wherein the method comprises:

capturing, by the tracking sensor, a tracking stream, which comprises tracking image frames, and

maintaining, by the capturing subsystem, a set of maintained traces, and

wherein the method comprises, for each tracking image frame:

detecting, by the capturing subsystem, a set of last blobs for said each tracking image frame by applying a blob detection procedure to said each tracking image frame and one or more further tracking image frames of the tracking stream, wherein said each tracking image frame is subsequent to said one or more further tracking image frames,

for each last blob of the set of last blobs, assigning, by the capturing subsystem, said each last blob to one or more traces of the set of maintained traces, thereby updating the set of maintained traces after assignment of all of the last blobs of the set of last blobs,

generating, by the capturing subsystem, a respective score for each trace of the set of maintained traces based on one or more of:

a start location of said each trace,

an initial straightness of said each trace,

an acceleration of said each trace,

a direction of said each trace,

a gradually decreasing size of blobs assigned to said each trace,

a length of said each trace,

a blob count of said each trace, or

a combination thereof, selecting, by the capturing subsystem, a subset of selected traces from the set of maintained traces, wherein each selected trace of the subset of selected traces has the respective score that is among most extreme scores of the set of scores,

obtaining, by the capturing subsystem, a subset of last blobs based on the subset of selected traces,

generating, by the capturing subsystem, a calibration frame based on at least one of the tracking image frames,

transforming, by the capturing subsystem, the subset of selected last blobs and/or the calibration frame into a binary signal for carrying audio data,

capturing, by the video camera, a video stream, comprising video frames,

embedding, by the capturing subsystem, the binary signal in an audio channel of the video stream,

sending, by the transmitter, the video stream to the rendering subsystem,

receiving, by the rendering subsystem, the video stream from the capturing subsystem,

extracting, by the rendering subsystem, the embedded subset of selected blobs and/or the calibration frame from the audio channel of the video stream,

calibrating, by the rendering subsystem, coordinate systems of the video camera and the tracking sensor based on at least the calibration frame and a video frame related to the calibration frame,

transforming, by the rendering subsystem, the tracking trace to the coordinate system of the video camera, and

rendering, by the rendering subsystem, at least a portion of the transformed tracking trace in the video frames.

2 . The method according to claim 1 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the length of said each trace, such that the selecting selects a first trace over a second trace when the first trace is longer than the second trace.

3 . The method according to claim 2 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the start location of said each trace.

4 . The method according to claim 2 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the initial straightness of said each trace.

5 . The method according to claim 2 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the acceleration of said each trace.

6 . The method according to claim 2 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the direction of said each trace.

7 . The method according to claim 1 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the blob count of said each trace, such that the selecting selects a first trace over a second trace when the first trace has a higher blob count than the second trace.

8 . The method according to claim 7 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the gradually decreasing size of blobs assigned to said each trace.

9 . The method according to claim 1 , wherein the rendering subsystem comprises an output unit, and wherein

the rendering subsystem is configured to use the subset of selected last blobs for rendering one or more tracking traces to be presented on the output unit.

10 . The method according to claim 9 , wherein the method comprises:

receiving, by the rendering subsystem, the subset of last blobs from the transmitter,

generating, by the rendering subsystem, said one or more tracking traces based on the subset of last blobs by applying a tracking trace generation procedure, and

providing, by the rendering subsystem, at least one of said one or more tracking traces for rendering by the output unit.

11 . The method according to claim 10 , wherein the capturing subsystem comprises a video camera, wherein the method comprises:

compressing, by the capturing subsystem, at least one of the tracking image frames into a calibration frame,

transforming, by the capturing subsystem, the subset of selected blobs and/or the calibration frame into a binary signal for carrying audio data,

capturing, by the video camera, a video stream, comprising video frames,

embedding, by the capturing subsystem, the binary signal in an audio channel of the video stream,

sending, by the transmitter, the video stream to the rendering subsystem,

receiving, by the rendering subsystem, the video stream from the capturing subsystem,

extracting, by the rendering subsystem, the embedded subset of selected blobs and/or the calibration frame from the audio channel of the video stream,

calibrating, by the rendering subsystem, coordinate systems of the video camera and the tracking sensor based on at least the calibration frame and a video frame related to the calibration frame to obtain a coordinate transformation,

transforming, by the rendering subsystem, the tracking trace to the coordinate system of the video camera using the coordinate transformation,

rendering, by the rendering subsystem, at least a portion of the transformed tracking trace in the video frames, and

wherein the providing comprises sending the rendered video frames to the output unit.

12 . A video management system configured for to provide blobs, wherein the video management system comprises a capturing subsystem, wherein the capturing subsystem comprises a tracking sensor, wherein the video management system is configured to perform operations comprising: capturing, by the tracking sensor, a tracking stream, which comprises tracking image frames, and

maintaining, by the capturing subsystem, a set of maintained traces, and wherein the operations comprise, for each tracking image frame: detecting, by the capturing subsystem, a set of last blobs for said each tracking image frame by applying a blob detection procedure to said each tracking image frame and one or more further tracking image frames of the tracking stream, wherein said each tracking image frame is subsequent to said one or more further tracking image frames, assigning, for each last blob of the set of last blobs and by the capturing subsystem, said each last blob to one or more traces of the set of maintained traces, thereby updating the set of maintained traces after assignment of the set of last blobs,

generating, by the capturing subsystem, a respective score for each trace of the set of maintained traces based on one or more of:

start location of said each trace,

an initial straightness of said each trace,

an acceleration of said each trace,

a direction of said each trace,

a gradually decreasing size of blobs assigned to said each trace,

a length of said each trace,

a blob count of said each trace, or

a combination thereof,

selecting, by the capturing subsystem, a subset of selected traces from the set of maintained traces, wherein each selected trace of the subset of selected traces has the respective score that is among the most extreme scores of the set of scores,

obtaining, by the capturing subsystem, a subset of last blobs based on the subset of selected traces,

capturing, by the video camera, a video stream, comprising video frames,

embedding, by the capturing subsystem, the subset of selected last blobs as a binary signal in an audio channel of the video stream,

sending, by the transmitter, the video stream to the rendering subsystem,

receiving, by the rendering subsystem, the video stream from the capturing subsystem,

extracting, by the rendering subsystem, the embedded subset of selected blobs from the audio channel of the video stream,

generating, by the rendering subsystem, one or more tracking traces based on the extracted subset of last blobs,

calibrating, by the rendering subsystem, a coordinate system of the video camera

rendering, by the rendering subsystem, at least a portion of one or more tracking traces in the video frames based on the calibrated coordinate system of the camera.

13 . The video management system of claim 12 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the length of said each trace and based on the blob count of said each trace, such that the selecting selects a first trace over a second trace when the first trace is longer than the second trace, the first trace has a higher blob count than the second trace, or both.

14 . The video management system of claim 13 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the start location of said each trace and based on the initial straightness of said each trace.

15 . The video management system of claim 14 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the acceleration of said each trace.

16 . The video management system of claim 15 , wherein the generating, by the capturing subsystem, of the respective score for each trace of the set of maintained traces is based on the direction of said each trace and based on the gradually decreasing size of blobs assigned to said each trace.

17 . The video management system of claim 12 , wherein the rendering subsystem comprises an output unit, and wherein

the rendering subsystem is configured to use the subset of selected last blobs for rendering one or more tracking traces to be presented on the output unit.

18 . The video management system of claim 17 , wherein the operations comprise:

receiving, by the rendering subsystem, the subset of last blobs from the transmitter,

generating, by the rendering subsystem, said one or more tracking traces based on the subset of last blobs by applying a tracking trace generation procedure, and

providing, by the rendering subsystem, at least one of said one or more tracking traces for rendering by the output unit.

19 . A video management system configured for providing blobs, wherein the video management system comprises a capturing subsystem, wherein the capturing subsystem comprises a tracking sensor and a video camera, wherein the video management system is configured to perform operations comprising:

capturing, by the tracking sensor, a tracking stream, which comprises tracking image frames,

wherein the video management system is configured for, for each tracking image frame:

detecting, by the capturing subsystem, a set of last blobs for said each tracking image frame by applying a blob detection procedure to said each tracking image frame and one or more further tracking image frames of the tracking stream, wherein said each tracking image frame is subsequent to said one or more further tracking image frames,

assigning, for each last blob of the set of last blobs and by the capturing subsystem, said each last blob to one or more traces, thereby obtaining a set of traces after assignment of all of the last blobs of the set of last blobs, wherein the set of traces comprises said one or more traces assigned to said each last blob,

generating, by the capturing subsystem, a respective score for each trace of the set of traces based on one or more of:

a start location of said each trace,

an initial straightness of said each trace,

an acceleration of said each trace,

a direction of said each trace,

a gradually decreasing size of blobs assigned to said each trace,

a length of said each trace,

a blob count of said each trace, or

a combination thereof,

selecting, by the capturing subsystem, a subset of selected traces from the set of traces, wherein each selected trace of the subset of selected traces has the respective score that is among the most extreme scores of the set of scores, and

obtaining, by the capturing subsystem, a subset of last blobs based on the subset of selected traces,

wherein the video management system comprises a rendering subsystem, wherein the capturing subsystem comprises a transmitter, wherein the rendering subsystem comprises an output unit, and wherein the operations comprise:

sending, by the transmitter, the subset of selected last blobs to the rendering subsystem that is configured to use the subset of selected last blobs for rendering one or more tracking traces to be presented on the output unit,

wherein the operations comprise:

receiving, by the rendering subsystem, the subset of last blobs from the transmitter,

generating, by the rendering subsystem, said one or more tracking traces based on the subset of last blobs by applying a tracking trace generation procedure, and

providing, by the rendering subsystem, at least one of said one or more tracking traces for rendering by the output unit, and

wherein the operations comprise:

compressing, by the capturing subsystem, at least one of the tracking image frames into a calibration frame,

transforming, by the capturing subsystem, the subset of selected blobs and/or the calibration frame into a binary signal for carrying audio data,

capturing, by the video camera, a video stream, comprising video frames,

embedding, by the capturing subsystem, the binary signal in an audio channel of the video stream,

sending, by the transmitter, the video stream to the rendering subsystem,

receiving, by the rendering subsystem, the video stream from the capturing subsystem,

extracting, by the rendering subsystem, the embedded subset of selected blobs and/or the calibration frame from the audio channel of the video stream,

calibrating, by the rendering subsystem, coordinate systems of the video camera and the tracking sensor based on at least the calibration frame and a video frame related to the calibration frame to obtain a coordinate transformation,

transforming, by the rendering subsystem, the tracking trace to the coordinate system of the video camera using the coordinate transformation,

rendering, by the rendering subsystem, at least a portion of the transformed tracking trace in the video frames, and

wherein the providing comprises sending the rendered video frames to the output unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2024
From: SEVELIN, ELIAS; NYHED, LARS
To: TOPGOLF SWEDEN AB
Reel/Frame 068528/0240 →
Priority Claims (1)
SE 2330350-6 · Aug 10, 2023 · national
Continuity (2)
Continuation PCTEP2024067830 · Jun 25, 2024
Related Publication 20250050167A1 · Feb 13, 2025
References Cited (17)
US 9965900B2 · Wojdala et al. · 2018 [cited by applicant]
US 10338209B2 · Johnson · 2019 [cited by applicant]
US 11335013B2 · Forsgren et al. · 2022 [cited by applicant]
US 20180061130A1 · Wojdala et al. · 2018 [cited by applicant]
US 20180374217A1 · Chaurasia et al. · 2018 [cited by applicant]
US 20190224552A1 · Kiraly · 2019 [cited by examiner]
US 20190228232A1 · Lécart · 2019 [cited by examiner]
US 20190333541A1 · Mack et al. · 2019 [cited by applicant]
US 20220051420A1 · Forsgren et al. · 2022 [cited by applicant]
US 20230100572A1 · Jayaram et al. · 2023 [cited by applicant]
CN 115393373 · 2022 [cited by applicant]
JP 6525453 · 2019 [cited by applicant]
WO WO2022034245 · 2022 [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/EP2024/067830, mailed on Sep. 30, 2024, 20 pages. [cited by applicant]
Masaki et al., “Real-time ball-position measurement using multi-view cameras for live football broadcast,” Multimedia Tools and Applications, Feb. 2018, 77(18):23729-23750. [cited by applicant]
Office Action in Swedish Appln. No. 2330350-6, dated Jan. 30, 2024, 9 pages. [cited by applicant]
Extended European Search Report in European Appln No. 24193703.6, dated Nov. 25, 2024, 15 pages. [cited by applicant]