IP Library Granted Patent US 12,447,402
Granted Patent B2
US 12,447,402 · App. 17/687,917 · Granted Oct 21, 2025

Method of facilitating a synchronized play of content and system thereof

Inventors: Matan Marciano (Karmiel, IL); Boris Meshner (Raanana, IL); Or Aini (Haifa, IL); Liron Greenberg (Haifa, IL); Netanel Yuval Aharon (Aviezer, IL); Guy Zisman (Kibutz Sdot Yam, IL); Gad Geffen (Matan, IL); Amir Shimoni (Gan Yoshiya, IL); Amir Segev (Even Yehuda, IL)
Assignee: DAZN Media Israel Ltd.
A63F13/355
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,447,402
App. No.
17/687,917
Granted
Oct 21, 2025
Kind
B2
Abstract

In a user's device, a computerized method for facilitating a synchronized play of content by a user device's player is provided. The method comprising: receiving a reference position in the content; retrieving a player position in the content; and based on the received reference position and the retrieved player position: determining if the player position is nearly synchronized with the reference position; and if in the negative, applying a synchronization process to reach a calculated sync player position, such that the player position, when reaching the sync player position, is nearly synchronized with the reference position.

Claims (74)

1. In a user's device, a computerized method for facilitating a synchronized play of a content by a user device's player, the method comprising:

receiving a reference position in the content;

retrieving a player position in the content; and

based on the received reference position and the retrieved player position:

determining if the player position is nearly synchronized with the reference position; and

if the player position is not nearly synchronized with the reference position, applying a synchronization process to reach a calculated sync player position, such that the player position, when reaching the calculated sync player position, is nearly synchronized with the reference position.

2. The computerized method of claim 1 , wherein receiving the reference position further comprises calculating a normalized reference position based on the received reference position, and

determining whether the player position is nearly synchronized, based on the calculated normalized reference position.

3. The computerized method of claim 1 , wherein receiving the reference position comprises receiving a content playing state; and

applying the synchronization process based at least on the received content playing state.

4. The computerized method of claim 1 , wherein determining if the player position is nearly synchronized further comprises:

calculating a distance between the reference position and the player position; and

determining that the player position is nearly synchronized when the distance does not exceed a pre-configured threshold.

5. The computerized method of claim 4 , wherein applying the synchronization process to reach a calculated sync player position further comprises:

obtaining capabilities of the user device's player;

selecting, based on the obtained user device's player capabilities, at least one sync algorithm; and

calculating, based on the selected at least one sync algorithm, a sync player position to be reached by the user device's player in order to become nearly synchronized with the reference position; and

reaching the calculated sync player position, by applying the selected at least one sync algorithm.

6. The computerized method of claim 5 , wherein said obtained player capabilities comprise one or more capabilities selected from a group consisting of: play at speed, frame accurate seek, controlled buffer size and bandwidth meter, control of average bitrate (ABR) profiles and control of player buffering sizes or a combination thereof, and wherein the at least one sync algorithm is selected from a group comprising: play at speed, seek and pause, seek to position, or a combination thereof.

7. The computerized method of claim 5 , wherein said obtained player capabilities comprise play at speed capability, and wherein said selected at least one sync algorithm comprises play at speed algorithm, the method further comprising:

calculating a speed matrix comprising at least one degree of speed to apply to reach a position constituting the sync player position in order to become nearly synchronized with the reference position; and

reaching the sync player position by applying the play at speed algorithm.

8. The computerized method of claim 7 , wherein calculating the speed matrix is based at least on one or more of: smooth video playing, time of running in speed mode, and player learned behavior.

9. The computerized method of claim 7 , the method further comprising:

determining that the player position is not nearly synchronized with the reference position, such that the distance between the reference position and the player position does exceed the pre-configured threshold, constituting a first threshold, but the distance does not exceed a pre-configured second threshold, the pre-configured second threshold being larger than the first threshold; and

applying the synchronization process by selecting play at speed, to reach the sync player position.

10. The computerized method of claim 7 , wherein applying the play at speed algorithm comprises controlling at least one additional player function to facilitate an improved play of the content during said reaching the sync player position.

11. The computerized method of claim 10 , wherein controlling the at least one additional player function comprises controlling a volume of the player.

12. The computerized method of claim 5 , wherein said obtained player capabilities comprise frame accurate seek capability, and wherein said selected at least one sync algorithm comprises seek and pause algorithm, the method further comprising:

in order to become nearly synchronized with the reference position, calculating a sync player position that exceeds the reference position;

seeking to the calculated sync player position, and

pausing from playing the content.

13. The computerized method of claim 5 , wherein an attempt is defined to include reaching of the player to a previously calculated sync player position using selected at least one sync algorithm, and a result of each attempt is defined to include either success or failure to reach the sync player position, and wherein said selecting the at least one sync algorithm further comprises:

obtaining a history of attempts and respective attempts results;

selecting the at least one sync algorithm based at least on the obtained history.

14. The computerized method of claim 13 , wherein selecting the at least one sync algorithm further comprises selecting at least one sync algorithm that is different to each of sync algorithms used in the history of attempts.

15. The computerized method of claim 5 , wherein said obtained player capabilities comprise frame accurate seek capability, and wherein calculating the sync player position further comprises:

executing a seek to position process to calculate the sync player position;

predicting a latency caused by a seek time required to complete reaching the calculated sync position; and

calculating the sync player position based at least on the predicted latency.

16. The computerized method of claim 15 , wherein predicting the latency further comprises:

executing at least one prediction algorithm; and

predicting the latency based on the executed at least one prediction algorithm.

17. The computerized method of claim 16 , wherein the at least one prediction algorithm is selected from a group comprising: bandwidth meter algorithm, average seek algorithm, and a deep learning algorithm.

18. The computerized method of claim 17 , wherein the at least one prediction algorithm is selected based at least on said obtained player capabilities.

19. The computerized method of claim 17 , wherein the at least one prediction algorithm is selected based at least on computation complexity constraints.

20. The computerized method of claim 17 , wherein an attempt is defined to include reaching of the player to a previously calculated sync player position using selected at least one sync algorithm, and a result of each attempt is defined to include either success or failure to reach the sync player position, such that the player position is nearly synchronized with the reference position, and wherein said selecting the at least one sync algorithm further comprises:

obtaining a history of attempts and respective attempts results;

wherein the at least one prediction algorithm is selected based on at least the obtained history.

21. The computerized method of claim 1 , the method further comprising:

determining that the player cannot reach any calculated sync player position;

transmitting to a reference server a failure notification.

22. The computerized method of claim 21 , the method further comprising:

in response to transmitting the failure notification, receiving an updated reference position; and

applying the synchronization process with respect to the updated reference position.

23. The computerized method of claim 1 , the method further comprising:

determining that the user's device is out-of-sync by determining that the player position is not nearly synchronized with the reference position; and

repeatedly:

obtaining a normalized reference position in the content; and

based at least on the obtained normalized reference position, applying the synchronization process to reach a calculated updated sync player position, such that the player position, when reaching the updated sync player position, is nearly synchronized with the reference position.

24. The computerized method of claim 1 , wherein the reference position is dynamically determined by a reference server.

25. A computerized method for facilitating a synchronized play of a content by a plurality of user devices joining a virtual shared watch room, wherein a reference position in the content is determined by a reference server and wherein each user device of the plurality of user devices performs the computerized method of claim 1 .

26. A computerized system for facilitating a synchronized play of a content by a user device's player, the system comprising a processing and memory circuitry (PMC) configured to:

receive a reference position in the content;

retrieve a player position in the content; and

based on the received reference position and the retrieved player position:

determine if the player position is nearly synchronized with the reference position; and

if the player position is not nearly synchronized with the reference, apply a synchronization process to reach a calculated sync player position, such that the player position, when reaching the calculated sync player position, is nearly synchronized with the reference position.

27. A non-transitory computer readable storage medium tangibly embodying a program of instructions that, when executed by a computer, cause the computer to perform a method for facilitating a synchronized play of a content by a user device's player, the method comprising:

receiving a reference position in the content;

retrieving a player position in the content; and

based on the received reference position and the retrieved player position:

determining if the player position is nearly synchronized with the reference position; and

if the player position is not nearly synchronized with the reference position, applying a synchronization process to reach a calculated sync player position, such that the player position, when reaching the calculated sync player position, is nearly synchronized with the reference position.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2022
From: MARCIANO, MATAN; MESHNER, BORIS; AINI, OR; ZISMAN, GUY; GEFFEN, GAD; GREENBERG, LIRON; AHARON, NETANEL YUVAL; SHIMONI, AMIR; SEGEV, AMIR
To: DAZN MEDIA ISRAEL LTD.
Reel/Frame 060596/0858 →
Continuity (1)
Related Publication 20230277927A1 · Sep 7, 2023
References Cited (33)
US 10979477B1 · Cabrido · 2021 [cited by examiner]
US 20110122315A1 · Schweiger et al. · 2011 [cited by applicant]
US 20110246908A1 · Akram et al. · 2011 [cited by applicant]
US 20120114307A1 · Yang et al. · 2012 [cited by applicant]
US 20120198317A1 · Eppolito et al. · 2012 [cited by applicant]
US 20120311043A1 · Chen et al. · 2012 [cited by applicant]
US 20130216206A1 · Dubin et al. · 2013 [cited by applicant]
US 20140089990A1 · Van Deventer et al. · 2014 [cited by applicant]
US 20140094302A1 · Wilkiewicz · 2014 [cited by examiner]
US 20140282722A1 · Kummer · 2014 [cited by examiner]
US 20150078729A1 · Sipe · 2015 [cited by examiner]
US 20150120336A1 · Grokop et al. · 2015 [cited by applicant]
US 20150134724A1 · Hao · 2015 [cited by examiner]
US 20160080830A1 · Kim · 2016 [cited by examiner]
US 20160174010A1 · Mohammad et al. · 2016 [cited by applicant]
US 20160269771A1 · Bangma et al. · 2016 [cited by applicant]
US 20170093943A1 · Alsina et al. · 2017 [cited by applicant]
US 20170238058A1 · Wong et al. · 2017 [cited by applicant]
US 20180130482A1 · Michel et al. · 2018 [cited by applicant]
US 20180255332A1 · Heusser · 2018 [cited by applicant]
US 20180295402A1 · Francisco · 2018 [cited by applicant]
US 20180352286A1 · Rennison et al. · 2018 [cited by applicant]
US 20190387313A1 · Bharitkar et al. · 2019 [cited by applicant]
US 20200314479A1 · Umansky et al. · 2020 [cited by applicant]
US 20210044867A1 · Butters · 2021 [cited by examiner]
US 20210235149A1 · Madison et al. · 2021 [cited by applicant]
US 20210329317A1 · Dodson et al. · 2021 [cited by applicant]
US 20210352359A1 · Barvo et al. · 2021 [cited by applicant]
EP 3304541A1 · 2018 [cited by applicant]
GB 2575873A · 2020 [cited by applicant]
KR 20220017775A · 2022 [cited by applicant]
WO 2022030857A · 2022 [cited by applicant]
Brownlee, J. (2020) How to Calculate Correlation Between Variables in Python—MachineLearningMastery.com. [cited by applicant]