IP Library Granted Patent US 10,448,071
Granted Patent B2
US 10,448,071 · App. 14/341,477 · Granted Oct 15, 2019

System and method for providing synchronized events to a television application

Inventors: Matthew Thompson (Emerald Hills, CA); Mark Vickers (Belmont, CA)
Assignee: Comcast Cable Communications Management, LLC
H04N21/242H04N7/17318H04N21/2387H04N21/254H04N21/4135H04N21/4147H04N21/4307H04N21/4332H04N21/442H04N21/443H04N21/4758H04N21/47202
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 10,448,071
App. No.
14/341,477
Granted
Oct 15, 2019
Kind
B2
Abstract

A set top box client in an enhanced television system stores a table associating time references with events. The table is accessed to synchronize the delivery of events to an enhanced television application that is associated with an underlying video program. The enhanced television system delivers broadcast video, video-on-demand and video from a storage component such as a personal video recorder or a digital video disk player. The enhanced television system further provides an application that provides enhancements to an associated video program by overlaying a user interface, by providing overlaid graphical and/or text information or by providing additional audio information.

Claims (62)

1. A method comprising:

outputting a video signal comprising a video program;

synchronizing a plurality of scheduled events of an application with the video program;

receiving a request to output the video program in a fast forward mode;

determining that the video program has reached a time at which a scheduled event of the plurality of scheduled events should be processed, wherein the determining is performed by accessing an event table comprising:

a plurality of time references, each of the plurality of time references corresponding to at least one of the plurality of scheduled events, and

a plurality of auxiliary information each corresponding to at least one of the plurality of scheduled events, wherein auxiliary information corresponding to the scheduled event of the plurality of scheduled events comprises instructions on processing the scheduled event based on a rate at which video time of the video program elapses in the fast forward mode; and

determining, based on the auxiliary information and the rate at which video time of the video program elapses, to skip the scheduled event of the scheduled plurality of events.

2. The method of claim 1 , wherein the fast forward mode comprises a change in the rate at which video time of the video program elapses, and wherein the method further comprises:

accessing the plurality of auxiliary information, wherein the plurality of auxiliary information further comprises instructions on processing the plurality of scheduled events after the change in the rate at which the video time elapses.

3. The method of claim 1 , wherein the auxiliary information further comprises instructions on processing the scheduled event after receiving a request to output the video program in a rewind mode.

4. The method of claim 1 , wherein the auxiliary information further comprises instructions on processing the scheduled event after a change in the rate at which the video time of the video program elapses.

5. The method of claim 1 , wherein each of the plurality of time references indicates when the at least one of the plurality of scheduled events, corresponding to one of the plurality of time references, should occur as the video program progresses, wherein synchronizing the plurality of scheduled events is based upon the event table.

6. The method of claim 5 , wherein synchronizing the plurality of scheduled events comprises:

performing one of the plurality of scheduled events within a predetermined tolerance of when an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

7. The method of claim 5 , wherein synchronizing the plurality of scheduled events comprises:

performing one of the plurality of scheduled events when an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

8. The method of claim 5 , wherein synchronizing the plurality of scheduled events comprises:

performing one of the plurality of scheduled events at a predetermined period before an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

9. An apparatus comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

output a video signal comprising a video program;

synchronize a plurality of scheduled events of an application with the video program;

receive a request to output the video program in a fast forward mode;

determine, by accessing an event table, that the video program has reached a time at which a scheduled event of the plurality of scheduled events should be processed, wherein the event table comprises:

a plurality of time references, each of the plurality of time references corresponding to at least one of the plurality of scheduled events, and

a plurality of auxiliary information each corresponding to at least one of the plurality of scheduled events, wherein auxiliary information corresponding to the scheduled event of the plurality of scheduled events comprises instructions on processing the scheduled event based on a rate at which video time of the video program elapses in the fast forward mode; and

determine, based on the auxiliary information and the rate at which video time of the video program elapses, to skip the scheduled event of the scheduled plurality of events.

10. The apparatus of claim 9 , wherein the fast forward mode comprises a change in the rate at which video time of the video program elapses, and wherein the plurality of auxiliary information further comprises instructions on processing the plurality of scheduled events after the change in the rate at which the video time elapses.

11. The apparatus of claim 9 , wherein the auxiliary information further comprises instructions on processing the scheduled event after receiving a request to output the video program in a rewind mode.

12. The apparatus of claim 9 , wherein the auxiliary information further comprises instructions on processing the scheduled event after a change in the rate at which the video time of the video program elapses.

13. The apparatus of claim 9 , wherein each of the plurality of time references indicates when the at least one of the plurality of scheduled events, corresponding to one of the plurality of time references, should occur as the video program progresses, wherein synchronizing the plurality of scheduled events is based upon the event table.

14. The apparatus of claim 13 , wherein the instructions, when executed by the one or more processors, cause the apparatus to synchronize the plurality of scheduled events by:

performing one of the plurality of scheduled events within a predetermined tolerance of when an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

15. The apparatus of claim 13 , wherein the instructions, when executed by the one or more processors, cause the apparatus to synchronize the plurality of scheduled events by:

performing one of the plurality of scheduled events when an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

16. The apparatus of claim 13 , wherein the instructions, when executed by the one or more processors, cause the apparatus to synchronize the plurality of scheduled events by:

performing one of the plurality of scheduled events at a predetermined period before an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

17. A system comprising:

a first computing device; and

a second computing device,

wherein the first computing device comprises:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the first computing device to:

output, to the second computing device, a video signal comprising a video program;

synchronize a plurality of scheduled events of an application with the video program;

receive, from the second computing device, a request to output the video program in a fast forward mode;

determine, by accessing an event table, that the video program has reached a time at which a scheduled event of the plurality of scheduled events should be processed, wherein the event table comprises:

a plurality of time references, each of the plurality of time references corresponding to at least one of the plurality of scheduled events, and

a plurality of auxiliary information each corresponding to at least one of the plurality of scheduled events, wherein auxiliary information corresponding to the scheduled event of the plurality of scheduled events comprises instructions on processing the scheduled event based on a rate at which video time of the video program elapses in the fast forward mode; and

determine, based on the auxiliary information and the rate at which video time of the video program elapses, to skip the scheduled event of the scheduled plurality of events.

18. The system of claim 17 , wherein the fast forward mode comprises a change in the rate at which video time of the video program elapses, and wherein the plurality of auxiliary information further comprises instructions on processing the plurality of scheduled events after the change in the rate at which the video time elapses.

19. The system of claim 17 , wherein the auxiliary information further comprises instructions on processing the scheduled event after receiving a request to output the video program in a rewind mode.

20. The system of claim 17 , wherein the auxiliary information further comprises instructions on processing the scheduled event after a change in the rate at which the video time of the video program elapses.

21. The system of claim 17 , wherein each of the plurality of time references indicates when the at least one of the plurality of scheduled events, corresponding to at least one of the plurality of time references, should occur as the video program progresses, wherein synchronizing the plurality of scheduled events is based upon the event table.

22. The system of claim 21 , wherein the instructions, when executed by the one or more processors, cause the first computing device to synchronize the plurality of scheduled events by:

performing one of the plurality of scheduled events within a predetermined tolerance of when an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

23. The system of claim 21 , wherein the instructions, when executed by the one or more processors, cause the first computing device to synchronize the plurality of scheduled events by:

performing one of the plurality of scheduled events when an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

24. The system of claim 21 , wherein the instructions, when executed by the one or more processors, cause the first computing device to synchronize the plurality of scheduled events by:

performing one of the plurality of scheduled events at a predetermined period before an elapsed duration, of the video program, is substantially equal to one of the plurality of time references that is associated with the one of the plurality of scheduled events.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 043995 FRAME: 0415. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 25, 2019
From: LIBERATE TECHNOLOGIES
To: DOUBLE C TECHNOLOGIES, LLC
Reel/Frame 050033/0248 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 043995 FRAME: 0372. ASSIGNOR(S) HEREBY CONFIRMS THE ASSINGNMENT. Recorded Jun 25, 2019
From: THOMPSON, MATTHEW; VICKERS, MARK
To: LIBERATE TECHNOLOGIES
Reel/Frame 050033/0274 →
CHANGE OF NAME Recorded Oct 31, 2017
From: DOUBLE C TECHNOLOGIES, LLC
To: TVWORKS, LLC
Reel/Frame 044638/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: THOMPSON, MATTHEW; VICKERS, MARK
To: LIBERATE TECHNOLOGIES
Reel/Frame 043995/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: LIBERATE TECHNOLOGIES
To: DOUBLE C TECHNOLOGIES, LLC
Reel/Frame 043995/0415 →
MERGER Recorded Apr 17, 2017
From: TVWORKS, LLC
To: COMCAST CABLE COMMUNICATIONS MANAGEMENT, LLC
Reel/Frame 042269/0069 →
Continuity (3)
Continuation 10430522 · May 5, 2003
Provisional Application 60377630 · May 3, 2002
Related Publication 20150089552A1 · Mar 26, 2015