Non real-time delivery of MPEG-2 programs via an MPEG-2 transport stream
AssigneeGeneral Instrument Corporation
InventorErik John Elstermann
Life of this patent
Estimating the term…
Abstract
Digital content is extracted from single and multiple-program transport streams for subsequent non-real-time (background) transmission in a bandwidth-efficient manner. At an encoder, several null and/or nonessential (N/N) packets (e.g., packets of unused programs) in a transport stream are replaced by an annotation packet (AP) to obtain non-real-time packets. The non-real time packets are inserted into null packet locations (NU) of a real time transport stream. At a decoder, the annotation packets are used to regenerate a specified number of null packets to maintain the original separation of packets of the non-real time data (for timing purposes), allowing existing hardware and/or software to decode the selected program.
Claims51
A method for providing data of at least a first program of a first data stream in an input transport stream, said transport stream comprising data of at least a second data stream, comprising the steps of:
- extracting at least one of null packets and nonessential packets of the first data stream;
- providing at least one annotation packet that provides information regarding the extracted packets;
- and
- inserting the at least one annotation packet and program packets of the first program into the input transport stream in place of null packets of the second data stream to form an output transport stream.
An apparatus for providing data of at least a first program of a first data stream in an input transport stream, said transport stream comprising data of at least a second data stream, comprising:
- means for extracting at least one of null packets and nonessential packets of the first data stream;
- means for providing at least one annotation packet that provides information regarding the extracted packets;
- and
- means for inserting the annotation packet and program packets of the first program into the input transport stream in place of null packets of the second data stream to form an output transport stream.
A method for processing an output transport stream received at a decoder, wherein the output transport stream comprises data of at least a first program and a second data stream, comprising the steps of:
- recovering program packets of the first program;
- storing the recovered packets at a storage device;
- recovering at least one annotation packet from the output transport stream;
- and
- regenerating a number of null packets of the first program in accordance with the recovered annotation packet to provide regenerated data that is suitable for decoding;
- wherein:
- the output transport stream is formed at an encoder by extracting at least one of null packets and nonessential packets of a first data stream that carries the first program, wherein the at least one annotation packet provides information regarding the extracted packets, and inserting the at least one annotation packet and the program packets of the first program into an input transport stream in place of null packets of the second data stream.
A decoder for processing an output transport stream received thereat, wherein the output transport stream comprises data of at least a first program and a second data stream, comprising:
- means for recovering program packets of the first program;
- a storage device for storing the recovered packets;
- means for recovering at least one annotation packet from the output transport stream;
- and
- means for regenerating at least one of null packets and nonessential packets of the first program in accordance with the recovered at least one:
- annotation packet to provide regenerated data that is suitable for decoding;
- wherein:
- the output transport stream is formed at an encoder by extracting the null packets and/or nonessential packets of a first data stream that carries the first program, wherein the at least one annotation packet provides information regarding the extracted packets, and inserting the at least one annotation packet and the program packets of the first program into an input transport stream in place of null packets of the second data stream.
Dependencies are inferred from the claim text.