IP Library Granted Patent US 8,010,986
Granted Patent B2
US 8,010,986 · App. 11/051,405 · Granted Aug 30, 2011

Synchronization and automation in an ITV environment

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 8,010,986
App. No.
11/051,405
Granted
Aug 30, 2011
Kind
B2
Abstract

A synchronization mechanism embeds synchronization triggers into a television signal or stream at regular intervals. The triggers include an accurate representation of the time in which the triggers were embedded. A receiving device decodes the triggers and synchronizes its internal timer based on the triggers. In this regard, the receiving device obtains a reference time from the internal timer and computes an offset between the reference time and the trigger time. The computed offset is then applied to the reference time. With the receipt of each new trigger, the application compares the trigger time to a new reference time with the most recently computed offset value applied. If there is any variance between these two values, the application creates a new smoothed offset.

Claims (64)

1. A method for synchronizing an interactive television (ITV) event with a content element broadcast by a broadcasting device, the method comprising:

generating a plurality of synchronization triggers at predetermined intervals;

inserting the plurality of synchronization triggers into a transport medium at the predetermined intervals, each inserted synchronization trigger including a time indicia representing a time of a frame of the content element transporting the synchronization trigger;

transmitting the synchronization triggers in association with the content element, wherein a receiving device is configured to receive the transport medium with the inserted plurality of synchronization triggers, retrieve the time indicia from each of the plurality of synchronization triggers, and synchronizing the receiving device based on the retrieved time indicia, wherein the synchronizing includes locking the receiving device to the time represented by the retrieved time indicia instead of a time indicated by a local time source; and

wherein the receiving device is configured to synchronize the local time source by:

obtaining a first time value recorded by the local time source upon receipt of a first one of the plurality of synchronization triggers,

computing a first offset between the first time value and a second time value corresponding to the time indicia in the first one of the plurality of synchronization triggers,

applying the first offset to the first time value,

obtaining a third time value recorded by the local time source upon receipt of a second one of the plurality of synchronization triggers,

applying the first offset to the third time value,

determining a fourth time value corresponding to the time indicia in the second one of the plurality of synchronization triggers,

identifying a variance between the fourth time value and the third time value with the first offset applied, and

computing a second offset based on the first offset and the identified variance, wherein the second offset is an average of the first offset and the identified variance.

2. The method of claim 1 , wherein the receiving device is configured to add a known fixed latency value associated with the transport medium to the first offset.

3. The method of claim 1 , wherein the receiving device is further configured to:

compare the variance with a predetermined threshold;

ignore the variance in computing the second offset if the variance fails to satisfy the predetermined threshold; and

store the variance in a temporary memory location if the variance has been ignored.

4. The method of claim 3 , wherein the receiving device is further configured to:

retrieve the variance from the temporary memory location for computing the second offset if a predetermined number of previous other variances fail to satisfy the predetermined threshold.

5. The method of claim 1 , wherein the transport medium is a video signal associated with the content element.

6. The method of claim 1 , wherein the transport medium is a digital transport stream.

7. The method of claim 1 , wherein the transport medium is an out-of-band data path.

8. The method of claim 1 , wherein the local time source provides a presentation value of a presented video frame.

9. The method of claim 8 , wherein the receiving device is further configured to retrieve an ITV event based on the synchronized local time source.

10. The method of claim 1 , wherein the synchronization triggers are generated and inserted every X seconds, wherein X is an integer greater than 0.

11. The method of claim 1 further comprising:

generating a playlist including a schedule of programs to be transmitted on a given day;

transmitting at least a portion of the playlist to an event manager;

retrieving by the event manager ITV event data associated with a particular program identified in the portion of the playlist;

transmitting, by the event manager, ITV content presentation and logic information associated with the ITV event; and

prompting, by the event manager, the generating of the plurality of synchronization triggers.

12. A system for synchronizing an interactive television (ITV) event with a content element broadcast by a broadcasting device, the system comprising:

a broadcast or headend system generating a plurality of synchronization triggers at predetermined intervals;

an encoder coupled to the broadcast or headend system for inserting the plurality of synchronization triggers into a transport medium;

a transmitter coupled to the encoder for transmitting the synchronization triggers in association with the content element, wherein a receiving device is configured to receive the transport medium with the inserted plurality of synchronization triggers, retrieve time indicia from each of the plurality of synchronization triggers, the time indicia representing a time of a frame of the content element transporting the synchronization trigger, and synchronizing the receiving device based on the retrieved time indicia, wherein the synchronizing includes locking the receiving device to the time represented by the retrieved time indicia instead of a time indicated by a local time source; and

wherein the receiving device is configured to synchronize the local time source by:

obtaining a first time value recorded by the local time source upon receipt of a first one of the plurality of synchronization triggers,

computing a first offset between the first time value and a second time value corresponding to the time indicia in the first one of the plurality of synchronization triggers,

applying the first offset to the first time value,

obtaining a third time value recorded by the local time source upon receipt of a second one of the plurality of synchronization triggers,

applying the first offset to the third time value,

determining a fourth time value corresponding to the time indicia in the second one of the plurality of synchronization triggers,

identifying a variance between the fourth time value and the third time value with the first offset applied, and

computing a second offset based on the first offset and the identified variance, wherein the second offset is an average of the first offset and the identified variance.

13. The system of claim 12 , wherein the receiving device is configured to add a known fixed latency value associated with the transport medium to the first offset.

14. The system of claim 12 , wherein the receiving device is further configured to:

compare the variance with a predetermined threshold;

ignore the variance in computing the second offset if the variance fails to satisfy the predetermined threshold; and

store the variance in a temporary memory location if the variance has been ignored.

15. The system of claim 14 , wherein the receiving device is further configured to:

retrieve the variance from the temporary memory location for computing the second offset if a predetermined number of previous other variances fail to satisfy the predetermined threshold.

16. The system of claim 12 , wherein the transport medium is a video signal associated with the content element.

17. The system of claim 12 , wherein the transport medium is a digital transport stream.

18. The system of claim 12 , wherein the transport medium is an out-of-band data path.

19. The system of claim 12 , wherein the local time source provides a presentation value of a presented video frame.

20. The system of claim 19 , wherein the receiving device is further configured to retrieve an ITV event based on the synchronized local time source.

21. The system of claim 12 , wherein the synchronization triggers are generated and inserted every X seconds, wherein X is an integer greater than 0.

22. The system of claim 12 further comprising:

a scheduling system generating a playlist including a schedule of programs to be transmitted on a given day;

a server coupled to the scheduling system for transmitting at least a portion of the playlist;

a event manager receiving the portion of the playlist and retrieving ITV event data associated with a particular program identified in the portion of the playlist, the event manager further transmitting ITV content presentation and logic information associated with the ITV event, and prompting the generating of the plurality of synchronization triggers.

23. The method of claim 12 , wherein the synchronization triggers do not contain interactive event data identifying interactive television content presented by the receiving device.

24. The method of claim 12 , wherein the locking includes modifying the time indicated by the local time source to the time represented by the retrieved time indicia.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2025
From: CITIBANK, N.A., AS AGENT
To: MK SYSTEMS USA INC.
Reel/Frame 073070/0114 →
SECURITY INTEREST Recorded Oct 10, 2025
From: MK SYSTEMS USA INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073062/0487 →
SECURITY INTEREST Recorded Apr 3, 2020
From: MK SYSTEMS USA INC.
To: CITIBANK, N.A., AS AGENT
Reel/Frame 052312/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2019
From: MK SYSTEMS US SUB-HOLDCO INC.
To: MK SYSTEMS USA INC.
Reel/Frame 050277/0946 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: MK SYSTEMS US HOLDCO INC.
To: MK SYSTEMS US SUB-HOLDCO INC.
Reel/Frame 050272/0448 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: LEONE MEDIA INC.
To: MK SYSTEMS US HOLDCO INC.
Reel/Frame 050265/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2019
From: ERICSSON AB
To: LEONE MEDIA INC.
Reel/Frame 050237/0248 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2018
From: ERICSSON TELEVISION INC.
To: ERICSSON AB
Reel/Frame 047315/0346 →
CHANGE OF NAME Recorded Dec 29, 2010
From: GOLDPOCKET INTERACTIVE, INC.; TANDBERG TELEVISION, INC.
To: ERICSSON TELEVISION INC.
Reel/Frame 025554/0473 →