Production of a video stream with synchronized annotations over a computer network
First Claim
1. In a computer system, a method for generating a synchronization script configured to orchestrate a synchronized display of a video stream and displayable elements on a display device of a client computer, said video stream including a plurality of video frames, each said video frame associated with a time stamp, the method comprising:
- generating a first annotation stream for inclusion in said synchronization script, said first annotation stream including a first plurality of annotation frames, said first plurality of annotation frames associated with a first selected subset of said video frames, each said first plurality of annotation frames including an event locator and an event time marker, each said event locator pointing to the location of one of a first plurality of displayable elements stored in a web server coupled to said client computer, said event time markers of said first plurality of annotation frames corresponding to the respective time stamps of said first selected subset of video frames.
2 Assignments
0 Petitions
Accused Products
Abstract
The production of synchronization scripts and associated annotated multimedia streams for servers and client computers coupled to each other by a diverse computer network which includes local area networks (LANs) and/or wide area networks (WANs) such as the internet. Annotated multimedia streams can include a compressed video stream for display in a video window, an accompanying compressed audio stream and annotations. Synchronization scripts include annotation streams for synchronizing the display of video streams with annotations, e.g., displayable events, such textual/graphical data in the form of HTML pages with Java applets to be displayed in one or more event windows. The producer includes a capture module and an author module for capturing video streams and generating annotation streams, respectively. The capture module compresses the video stream using a suitable compression format. Annotation streams include annotation frames which provide either pointer(s) to the event(s) of interest or include displayable data embedded within the annotation stream. Accordingly, each annotation frame includes either an event locator or an event data. In addition, each annotation frame includes an event time marker which corresponds to the time stamp(s) of associated video frame(s) within the video stream. Embedded displayable data include ticker tape data embedded within the annotation stream. Examples of event locators to displayable events include URL addresses pointing to HTML web pages. The video/audio streams and annotation streams are stored in stream server(s) for subsequent retrieval by client computer(s) in a coordinated manner, so that the client computer(s) is able to synchronously display the video frames and displayable event(s) in a video window and event window(s), respectively. In one implementation, annotation streams include a flipper stream for locating HTML pages and a ticker stream which include ticker (tape) data.
-
Citations
22 Claims
-
1. In a computer system, a method for generating a synchronization script configured to orchestrate a synchronized display of a video stream and displayable elements on a display device of a client computer, said video stream including a plurality of video frames, each said video frame associated with a time stamp, the method comprising:
generating a first annotation stream for inclusion in said synchronization script, said first annotation stream including a first plurality of annotation frames, said first plurality of annotation frames associated with a first selected subset of said video frames, each said first plurality of annotation frames including an event locator and an event time marker, each said event locator pointing to the location of one of a first plurality of displayable elements stored in a web server coupled to said client computer, said event time markers of said first plurality of annotation frames corresponding to the respective time stamps of said first selected subset of video frames. - View Dependent Claims (2, 3, 4)
-
5. In a computer system, a method for generating a synchronization script configured to orchestrate a synchronized display of a video stream and displayable elements on a display device of a client computer, said video stream including a plurality of video frames, each said video frame associated with a time stamp, the method comprising:
generating at least one annotation stream for inclusion in said synchronization script, said at least one annotation stream including a plurality of annotation frames, said annotation frames associated with a selected subset of said video frames, each said annotation frame including a corresponding one of said displayable events and an event time marker, said time markers of said annotation frames corresponding to the respective time stamps of said selected subset of video frames. - View Dependent Claims (6)
-
7. In a client computer having a display device, a method of skipping forward or backward to a predetermined one of a plurality of video frames of a video stream being displayed on said display device, each said video frame including a time stamp, and wherein a table of contents is also displayed on said display device, the method comprising:
-
receiving said video stream from a stream server coupled to the client computer via a computer network; sequentially displaying said video frames on said display device, starting from an initial video frame of said video stream; selecting a content label from said table of contents, said content label providing an index into an intermediate video frame of said video stream, said index based on the time stamp of said intermediate video frame; communicating said index to said stream server; receiving said video stream from said stream server, starting from said intermediate video frame; and sequentially displaying said video frames on said display device, starting with said intermediate video frame.
-
-
8. In a stream server, a method of causing a client computer to skip forward or backward to a predetermined one of a plurality of video frames of a video stream being displayed on a display device of said client computer, said stream server coupled to the client computer via a computer network, each said video frame including a time stamp, and wherein a table of content is also displayed on said display device, the method comprising:
-
streaming said video stream to said client computer for sequential display on said display device, starting from an initial video frame of said video stream; receiving an index from said client computer, said index associated with a selectable content label from a table of contents displayed on said display device, said index based on the time stamp of an intermediate video frame of said video stream; and streaming said video stream to said client computer for sequential display on said display device, starting from said intermediate video frame.
-
-
9. A producer useful for generating a synchronization script configured to orchestrate a synchronized display of a video stream and displayable elements on a display device of a client computer, the producer comprising:
-
a capture module configured to capture said video stream which includes a plurality of video frames, each said video frame associated with a time stamp; and an author module configured to generate a first annotation stream for inclusion in said synchronization script, said first annotation stream including a first plurality of annotation frames, said first plurality of annotation frames associated with a first selected subset of said video frames, each said first plurality of annotation frames including an event locator and an event time marker, each said event locator pointing to the location of one of a first plurality of displayable elements stored in a web server coupled to said client computer, said event time markers of said first plurality of annotation frames corresponding to the respective time stamps of said first selected subset of video frames. - View Dependent Claims (10, 11, 12)
-
-
13. A producer useful for generating a synchronization script configured to orchestrate a synchronized display of a video stream and displayable elements on a display device of a client computer, the producer comprising:
-
a capture module configured to capture said video stream which includes a plurality of video frames, each said video frame associated with a time stamp; and an author module configured to generate at least one annotation stream for inclusion in said synchronization script, said at least one annotation stream including a plurality of annotation frames, said annotation frames associated with a selected subset of said video frames, each said annotation frame including a corresponding one of said displayable events and an event time marker, said time markers of said annotation frames corresponding to the respective time stamps of said selected subset of video frames. - View Dependent Claims (14)
-
-
15. A client computer useful in association with a stream server coupled to the client computer via a computer network, the client computer comprising:
-
a playout buffer configured to receive a video stream from said stream server, said video stream including a plurality of video frames, each said video frame including a time stamp; a display device configured to sequentially display said video frames on said display device, starting from an initial video frame of said video stream, said display device also configured to display a selectable content label from said table of contents, said selectable content label providing an index into an intermediate video frame of said video stream, said index based on the time stamp of said intermediate video frame; and a transmitter configured to communicate said index to said stream server, thereby causing said stream server to begin transmitting said video stream to said client computer, starting from said intermediate video frame, and causing said display device to sequentially display said video frames, starting with said intermediate video frame.
-
-
16. A stream server useful in association with a client computer coupled to said stream server via a computer network, the stream server comprising:
-
a streamer configured to store and stream a video stream to said client computer, said video stream including a plurality of video frames, said video stream enabling said client computer to sequentially display said video frames on a display device of said client computer, starting from an initial video frame of said video stream; and a receiver configured to receive an index from said client computer, said index associated with a selectable content label from a table of contents displayed on said display device, said index based on the time stamp of an intermediate video frame of said video stream, and wherein said received index causes said streamer to begin streaming said video stream to said client computer, and enabling said client computer to sequentially display said video frames on said display device starting from said intermediate video frame.
-
- 17. A computer-readable medium useful in association with a computer system, the computer-readable medium having computer-executable instructions which cause the computer system to perform a method comprising generating a first annotation stream which includes a first plurality of annotation frames, said first plurality of annotation frames associated with a first selected subset of a plurality of video frames of a video stream, each said video frame associated with a time stamp, each said first plurality of annotation frames including an event locator and an event time marker, each said event locator pointing to the location of one of a first plurality of displayable elements stored in a web server coupled to said client computer, said event time markers of said first plurality of annotation frames corresponding to the respective time stamps of said first selected subset of video frames.
- 21. A computer-readable medium useful in association with a computer system, the computer-readable medium having computer-executable instructions which cause the computer system to perform a method comprising generating at least one annotation stream which includes a plurality of annotation frames, said annotation frames associated with a selected subset of a plurality of video frames of a video stream, each said video frame associated with a time stamp, each said annotation frame including a corresponding one of said displayable events and an event time marker, said time markers of said annotation frames corresponding to the respective time stamps of said selected subset of video frames.
Specification