IP Library › Granted Patent US 11,431,775
Granted Patent B2
US 11,431,775 · App. 16/689,148 · Granted Aug 30, 2022

System and method for data stream synchronization

Inventor: Amos Bercovich (Rosh Haayin, IL)
Assignee: W.S.C. SPORTS TECHNOLOGIES LTD.
H04L65/602H04L65/1083H04L65/4069
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,431,775
App. No.
16/689,148
Granted
Aug 30, 2022
Kind
B2
Abstract

Systems and methods of synchronizing multiple media streams, including identifying a time stamp for a plurality of cuts in a master stream, identifying a corresponding time stamp for each of a plurality of cuts in at least one secondary stream, determining a first set of time differences between the identified time stamps of consecutive cuts in the master stream and at least a second set of time differences between the identified time stamps of consecutive cuts in the at least one secondary stream, calculating at least one time offset between the master stream and at least one secondary stream for each pair of consecutive cuts in the master stream, and synchronizing the master stream and the secondary stream based on the at least one time offset.

Claims (43)

1. A method of synchronizing labeling of multiple video streams, the method comprising:

identifying a time stamp for a plurality of cuts in a master video stream;

identifying a corresponding time stamp for each of a plurality of corresponding cuts in at least one secondary video stream;

determining a first set of time differences between the identified time stamps of each pair of consecutive cuts in the master video stream;

determining at least a second set of time differences between the identified corresponding timestamps of each pair of corresponding consecutive cuts in the at least one secondary video stream;

calculating at least one time offset between the master video stream and the at least one secondary video stream for each pair of consecutive cuts in the master video stream;

repeatedly selecting the most common offset having an average minimum absolute error (MAE) below a predefined threshold, such that after a predetermined number of checks the same offset is determined, and starting from that point in the media stream; and

labeling a scene in the at least one secondary video stream with the same label as the corresponding scene in the master stream despite the time difference.

2. The method of claim 1 , further comprising corresponding at least one scene in the master video stream to at least one scene in the at least one secondary video stream based on the determined first set of time differences and the at least second set of time differences; wherein calculating the at least one time offset between the master video stream and the at least one secondary video stream comprises, for each of the at least one scene in the master video stream, calculating a time offset between at least one of a start time or end time of the at least one scene in the master video stream and at least one of a start time or end time of the at least one corresponding scene in the at least one secondary video stream.

3. The method of claim 2 , further comprising:

labeling the at least one scene in the master video stream corresponding to at least one cut, wherein the at least one cut is a cut immediately before the start of the at least one scene or immediately after the end of the at least one scene; and

labeling the at least one scene in the at least one secondary video stream based on the calculated at least one time offset and the labeling of the master video stream.

4. The method of claim 1 , further comprising automatically selecting the master video stream from the multiple video streams.

5. The method of claim 1 , wherein each video stream comprises a plurality of video chunks, and wherein the cuts are determined for each such video chunk.

6. A system for video stream labeling synchronization, the system comprising:

a processor; and

a database, coupled to the processor and comprising a master video stream and at least one secondary video stream of a video stream;

wherein the processor is configured to:

identify a time stamp for each of a plurality of cuts in the master video stream;

identify a corresponding time stamp for each of a plurality of corresponding cuts in the at least one secondary video stream;

determine a first set of time differences between the identified time stamps of each pair of consecutive cuts in the master video stream;

determine at least a second set of time differences between the identified corresponding time stamps of each pair of consecutive cuts in the at least one secondary video stream;

calculate at least one time offset between the master video stream and the at least one secondary video stream for each pair of consecutive cuts in the master video stream;

repeatedly select the most common offset having an average minimum absolute error (MAE) below a predefined threshold, such that after a predetermined number of checks the same offset is determined, and starting from that point in the media stream; and

label a scene in the at least one secondary video stream with the same label as the corresponding scene in the master stream despite the time difference.

7. The system of claim 6 , wherein the processor is configured to correspond at least one scene in the master video stream to at least one scene in the at least one secondary video stream based on the determined first set of time differences and the at least second set of time differences; wherein the processor calculates the at least one time offset between the master video stream and the at least one secondary video stream by, for each of the at least one scene in the master video stream, calculating a time offset between at least one of a start time or end time of the at least one scene in the master video stream and at least one of a start time or end time of the at least one corresponding scene in the at least one secondary video stream.

8. The system of claim 7 , wherein the processor is configured to

label the at least one scene in the master video stream corresponding to at least one cut, wherein the at least one cut is a cut immediately before the start of the at least one scene or immediately after the end of the at least one scene; and

label the at least one scene in the at least one secondary video stream based on the calculated at least one time offset.

9. The system of claim 6 , wherein each video stream comprises a plurality of video chunks, and wherein the cuts are determined for each such video chunk.

10. The system of claim 6 , wherein the processor is further configured to automatically select the master video stream from the multiple video streams.

11. A method of synchronizing labeling of multiple video streams with a received master video stream, wherein the received master video stream comprises a time stamp for each of a plurality of cuts in the master video stream, the method comprising:

identifying a corresponding time stamp for each of a plurality of corresponding cuts in at least one secondary video stream;

determining a first set of time differences between the identified time stamps of each pair of consecutive cuts in the master video stream;

determining at least a second set of time differences between the identified corresponding time stamps of each pair of consecutive cuts in the at least one secondary video stream;

calculating at least one time offset between the master video stream and the at least one secondary video stream for each pair of consecutive cuts in the master video stream;

repeatedly selecting the most common offset having an average minimum absolute error (MAE) below a predefined threshold, such that after a predetermined number of checks the same offset is determined, and starting from that point in the media stream; and

labeling a scene in the at least one secondary video stream with the same label as the corresponding scene in the master stream despite the time difference.

12. The method of claim 11 , further comprising corresponding at least one scene in the master video stream to at least one scene in the at least one secondary video stream based on the determined first set of time differences and the at least second set of time differences; wherein calculating the at least one time offset between the master video stream and the at least one secondary video stream comprises, for each of the at least one scene in the master video stream, calculating a time offset between at least one of a start time or end time of the at least one scene in the master video stream and at least one of a start time or end time of the at least one corresponding scene in the at least one secondary video stream.

13. The method of claim 12 , further comprising:

labeling the at least one scene in the master video stream corresponding to at least one cut, wherein the at least one cut is a cut immediately before the start of the at least one scene or immediately after the end of the at least one scene; and

labeling the at least one scene in the at least one secondary video stream based on the calculated at least one time offset and the labeling of the master video stream.

14. The method of claim 11 , wherein each video stream comprises a plurality of video chunks, and wherein the cuts are determined for each such video chunk.

Assignments (2)
SECURITY INTEREST Recorded Jan 19, 2021
From: W.S.C. SPORTS TECHNOLOGIES LTD.
To: SILICON VALLEY BANK
Reel/Frame 054957/0814 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2020
From: BERCOVICH, AMOS
To: W.S.C. SPORTS TECHNOLOGIES LTD.
Reel/Frame 053925/0970 →
Continuity (1)
Related Publication 20210152619A1 · May 20, 2021