System and method for providing synchronized events to a television application
First Claim
1. In a system having a video program and an associated application having a plurality of events, a method of synchronizing the plurality of events to the video program, comprising:
- generating an event table associating time references with event references;
accessing the time references in the event table; and
delivering events from the table at a time indicated by the time reference.
4 Assignments
0 Petitions
Accused Products
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.
-
Citations
25 Claims
-
1. In a system having a video program and an associated application having a plurality of events, a method of synchronizing the plurality of events to the video program, comprising:
-
generating an event table associating time references with event references;
accessing the time references in the event table; and
delivering events from the table at a time indicated by the time reference. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for executing at least one synchronized application at a client, comprising:
-
a transport mechanism for providing a stream of any of video and audio to a single user or group of users;
wherein said stream is not always being provided, but is provided only when said user or users request said stream;
a memory for capturing and storing a current system time as a stream start time when providing of said stream begins; and
a module for periodically checking system time and for comparing said system time to said stored stream start time to determine how much time has elapsed since broadcast of said stream commenced;
wherein said at least one application synchronizes application events to stream timing.
-
-
22. An apparatus for executing at least one synchronized application at a client, comprising:
-
a transport mechanism comprising a server for providing a stream of any of video and audio to a single user or group of users;
wherein said stream is not always being provided, but is provided only when said user or users request said stream; and
said client comprising a mechanism for querying said stream server to determine a current stream time code;
wherein said at least one synchronized application synchronizes application events to stream timing.
-
-
23. A method for executing at least one synchronized application at a client, comprising the steps of:
-
said client launching an application;
said application sending a request to a server to start a stream of any of a video program or audio program;
said application receiving notification from said server that said stream has started;
said application entering a continuous loop until said stream stops;
said application requesting a current time code, which corresponds to a current elapsed time in said stream, from said server; and
said application using a table to determine whether or not to trigger an event;
wherein said lookup table contains an association between said time code and events that happen within said application;
wherein if there is an associated event, said event is performed and said application returns to its previous state; and
wherein if there is no associated event, said application returns to its previous state. - View Dependent Claims (24)
-
-
25. A method for executing at least one synchronized application at a client, comprising the steps of:
-
said client launching an application;
said application sending a request to a server to start a stream;
said application receiving notification from said server that said stream has started;
said application querying a system clock for current time and saving a result in memory;
said application entering a continuous loop until said stream stops;
said application querying said system clock again for a current time and comparing said current time to said stream starting time previously saved in memory;
wherein a calculated result which can be used to synchronize events comprises a time code that represents elapsed time since a time that said stream started;
said application using a lookup table to determine whether or not to trigger an event;
wherein said lookup table contains an association between said time code and events that must happen within said enhanced television application;
wherein if there is an associated event, said event is performed and said application returns to its previous state; and
wherein if there is no associated event, said application returns to its previous state.
-
Specification