Method and apparatus for combining and distributing data with pre-formatted real-time video
First Claim
1. A method of modifying a primary data stream, wherein the primary data stream comprises one or more variable bit rate programs, and wherein the primary data stream further comprises fill data, said method comprising:
- receiving the primary data stream;
detecting fill data in the primary data stream;
inserting an auxiliary data stream in place of the fill data; and
adding location data for the programs and for the auxiliary data;
to form a modified data stream for distribution to a plurality of receivers configured for individually extracting selected portions of the modified data stream in accordance with the location data.
10 Assignments
0 Petitions
Accused Products
Abstract
A system for providing efficient constant bit rate distribution of variable bit-rate encoded video programs while facilitating the distribution of encoded video programs, along with Auxiliary Data of a general character, to one or more receivers. At a particular receiver, a customized augmented video program is created by inserting selected portions of the Auxiliary Data into a selected encoded video program. The encoded video portion of the augmented video program can be transmitted, decoded and displayed in real time, while the Auxiliary Data need not be transmitted in real time but can be stored locally at the receiver for real-time presentation at a later time. Real time presentation might include insertion into the video program while non real-time presentation might include insertion into non-video applications separate from the video program.
-
Citations
26 Claims
-
1. A method of modifying a primary data stream, wherein the primary data stream comprises one or more variable bit rate programs, and wherein the primary data stream further comprises fill data, said method comprising:
-
receiving the primary data stream; detecting fill data in the primary data stream; inserting an auxiliary data stream in place of the fill data; and adding location data for the programs and for the auxiliary data; to form a modified data stream for distribution to a plurality of receivers configured for individually extracting selected portions of the modified data stream in accordance with the location data.
-
-
2. A method of forming a modified data stream for distribution to a plurality of receivers, comprising the steps of:
-
statistically multiplexing a plurality of encoded video programs; monitoring the statistically multiplexed encoded video programs for the occurrence of a fill packet; maintaining a buffer of auxiliary data segments; replacing the fill packet with at least one segment of the auxiliary data stream from the buffer if the segment is smaller than the size of the fill packet; adding location data for the encoded video programs and for the auxiliary data; to form a modified data stream for distribution to a plurality of receivers configured for individually extracting selected portions of the modified data stream in accordance with the location data. - View Dependent Claims (3, 4)
-
-
5. A method of creating a receiver-specific customized display stream for an individual receiver, from a modified data stream sent to a plurality of receivers, comprising the steps of:
-
receiving a modified data stream at a receiver, the modified data stream comprising; a statistically multiplexed portion comprising one or more encoded video programs; and an auxiliary data portion comprising auxiliary data inserted in place of fill data; determining location data from the modified data stream; selecting an encoded video program from the statistically multiplexed portion of the modified data stream in accordance with a first predetermined characteristic of the receiver and the location data; selecting local auxiliary data from the auxiliary data portion of the modified data stream in accordance with a second predetermined characteristic of the receiver and the location data; storing the local auxiliary data; and associating the encoded video program and the local auxiliary data to form a receiver-specific augmented video program for decoding and display. - View Dependent Claims (10)
-
-
6. A method of creating a receiver-specific customized display stream for an individual receiver, from a modified data stream sent to a plurality of receivers, comprising the steps of:
-
receiving a modified data stream at a receiver; determining location data from the modified data stream; selecting an encoded video program in accordance with a first predetermined characteristic of the receiver and the location data; selecting local auxiliary data from the modified data stream in accordance with a second predetermined characteristic of the receiver and the location data; storing the local auxiliary data; and associating the encoded video program and the local auxiliary data to form a receiver-specific augmented video program for decoding and display; wherein the step of selecting the local auxiliary data from the modified data stream includes temporarily accumulating the selected auxiliary data in a buffer and writing data from the buffer to a local auxiliary data storage in accordance with a fullness indication of the buffer.
-
-
7. A method of creating a receiver-specific customized display stream for an individual receiver, from a modified data stream sent to a plurality of receivers, comprising the steps of:
-
receiving a modified data stream at a receiver; determining location data from the modified data stream; selecting an encoded video program in accordance with a first predetermined characteristic of the receiver and the location data; selecting local auxiliary data from the modified data stream in accordance with a second predetermined characteristic of the receiver and the location data; storing the local auxiliary data; and associating the encoded video program and the local auxiliary data to form a receiver-specific augmented video program for decoding and display; wherein the step of associating the encoded video program and the local auxiliary data includes; monitoring the encoded video program for at least one insertion interval; maintaining a buffer of local auxiliary data segments; and inserting at least one segment of the local auxiliary data into the insertion interval if the segment is smaller than the insertion interval. - View Dependent Claims (8, 9)
-
-
11. A method of creating a customized video program for a viewer, comprising the steps of:
-
statistically multiplexing a plurality of encoded video programs; adding an auxiliary data stream to form an intermediate data stream; adding location data for the encoded video programs and for the auxiliary data to form a modified data stream for distribution to a plurality of receivers; receiving the modified data stream at a specific receiver; determining the location data from the modified data stream; selecting one of the encoded video programs in accordance with a first predetermined characteristic of the receiver and the location data; selecting local auxiliary data from the modified data stream in accordance with a second predetermined characteristic of the receiver and the location data;
storing the local auxiliary data;associating the encoded video program and the stored local auxiliary data to form a customized program; and providing the customized program to a viewer for decoding and display.
-
-
12. A system for forming a constant bit rate modified data stream for distribution to a plurality of receivers, comprising:
-
a program multiplexer for statistically multiplexing a plurality of encoded video programs to the modified data stream; a data insertion controller coupled to receive a multiplexed program stream from the program multiplexer and for inserting auxiliary data therein to yield a modified data stream; and a program map insertion controller coupled to receive the modified data stream for adding location data for the encoded video programs and for the auxiliary data to the modified data stream. - View Dependent Claims (13, 14, 15)
-
-
16. A system for creating a customized display stream for an individual receiver from a modified data stream sent to a plurality of receivers, comprising:
-
a program selector coupled to receive a modified data stream for determining location data therefrom, the modified data stream comprising; a statistically multiplexed portion comprising one or more encoded video programs; and an auxiliary data portion comprising auxiliary data inserted in place of fill data; first demultiplexing logic for selecting an encoded video program from the statistically multiplexed portion of the modified data stream responsive to an identifier from the program selector and the location data; second demultiplexing logic for selecting local auxiliary data from the auxiliary data portion of the modified data stream responsive to a second identifier from the program selector and the location data; a storage device for storing the local auxiliary data from the second demultiplexing logic; and an augmentation unit for associating the encoded video program and the stored local auxiliary data to form a receiver-specific augmented video program for decoding and display. - View Dependent Claims (21)
-
-
17. A system for creating a customized display stream for an individual receiver from a modified data stream sent to a plurality of receivers, comprising:
-
a program selector coupled to receive a modified data stream for determining location data therefrom; first demultiplexing logic for selecting an encoded video program from the modified data stream responsive to an identifier from the program selector and the location data; second demultiplexing logic for selecting local auxiliary data from the modified data stream responsive to a second identifier from the program selector and the location data; a storage device for storing the local auxiliary data from the second demultiplexing logic; and an augmentation unit for associating the encoded video program and the stored local auxiliary data to form a receiver-specific augmented video program for decoding and display; wherein the second demultiplexing logic for selecting local auxiliary data from the modified data stream includes; a packet selector, connected to the processor, for selecting local auxiliary data from the modified data stream in accordance with the location data; and a first buffer, connected to the packet selector for temporarily accumulating the selected local auxiliary data, and connected to deliver the selected local auxiliary data to the storage device in accordance with a fullness indication of the buffer. - View Dependent Claims (18, 19, 20)
-
-
22. A system for creating a customized video program for a viewer, comprising:
-
a multiplexer for statistically multiplexing a plurality of encoded video programs; a first controller for adding auxiliary data to the output of the multiplexer; a second controller for adding location data for the encoded video programs and for the auxiliary data to the output of the first controller, thereby forming a modified data stream; a distribution channel for distributing the modified data stream to at least one receiver; a processor for determining location data from the distributed modified data stream; a first demultiplexer for selecting an encoded video program from the modified data stream in accordance with a first predetermined characteristic of the processor and the location data; a second demultiplexer for selecting local auxiliary data from the modified data stream in accordance with a second predetermined characteristic of the processor and the location data; a storage device for storing the local auxiliary data from the second demultiplexer; and an augmentation unit for associating the encoded video program and the stored local auxiliary data to form a receiver-specific augmented video program for decoding and display.
-
-
23. A method of forming a modified data stream for distribution to a plurality of receivers, comprising the steps of:
-
statistically multiplexing a plurality of encoded video programs to form a primary data stream wherein, to occupy a constant bit rate data channel, additional data must be added to said primary data stream at one or more locations, said one or more locations comprising a fill portion; inserting an auxiliary data stream to form an intermediate data stream, said auxiliary data stream inserted in said fill portion; and adding location data for the encoded video programs and for the auxiliary data;
to form a modified data stream for distribution to a plurality of receivers capable of individually extracting selected portions of the modified data stream in accordance with the location data.
-
-
24. A method of forming a modified data stream for distribution to a plurality of receivers, comprising the steps of:
-
statistically multiplexing a plurality of encoded video programs; monitoring the statistically multiplexed encoded video programs for the occurrence of a fill packet; maintaining a buffer of auxiliary data segments; replacing the fill packet with at least one segment of the auxiliary data stream from the buffer if the segment is smaller than the size of the fill packet; and adding location data for the encoded video programs and for the auxiliary data;
to form a modified data stream for distribution to a plurality of receivers configured for individually extracting selected portions of the modified data stream in accordance with the location data.
-
-
25. A system for forming a modified data stream for distribution to a plurality of receivers, comprising:
-
a program multiplexer for statistically multiplexing a plurality of encoded video programs to the modified data stream; a data insertion controller coupled to receive a multiplexed program stream from the program multiplexer and for inserting auxiliary data therein to yield the modified data stream; and a program map insertion controller coupled to receive the modified data stream for adding location data for the encoded video programs and for the auxiliary data to the modified data stream. - View Dependent Claims (26)
-
Specification