WO2001039505A2 - Method and apparatus of transmitting and receiving variable bit rate streams - Google Patents

Method and apparatus of transmitting and receiving variable bit rate streams Download PDF

Info

Publication number
WO2001039505A2
WO2001039505A2 PCT/US2000/032096 US0032096W WO0139505A2 WO 2001039505 A2 WO2001039505 A2 WO 2001039505A2 US 0032096 W US0032096 W US 0032096W WO 0139505 A2 WO0139505 A2 WO 0139505A2
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
vbr
null packets
cbr
indication
Prior art date
Application number
PCT/US2000/032096
Other languages
French (fr)
Other versions
WO2001039505A3 (en
Inventor
Chi-Ping Nee
Original Assignee
Tiernan Communications, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tiernan Communications, Inc. filed Critical Tiernan Communications, Inc.
Priority to AU24252/01A priority Critical patent/AU2425201A/en
Publication of WO2001039505A2 publication Critical patent/WO2001039505A2/en
Publication of WO2001039505A3 publication Critical patent/WO2001039505A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers

Definitions

  • the International Organization for Standardization has adopted a standard (ISO/TEC 13818-1) that addresses the combining of one or more "elementary streams" of video and audio, as well as other data, into single or multiple streams suitable for storage or transmission.
  • ISO/TEC 13818-1 standard hereinafter referred to as the MPEG-2 standard, is described in detail in the ISO draft document "Generic Coding of Moving Pictures and Associated Audio", ISO/IEC JTC1/SC29/WG1 1 N0801 (13 November 1994).
  • Transport Stream the components of the multiplex may belong to many programs.
  • Each transport stream packet is assigned a "packet identifier" (PID).
  • PID packet identifier
  • a sequence of packets identified by the same value of the PTD field generally represents a single service component, typically a video or an audio component, or a user data component.
  • the PES packets are broken into small, fixed-size units (188 bytes) called transport packets, which may be multiplexed with transport packets from other PESs.
  • the syntax for Transport Stream packets is shown in FIG. 1.
  • An MPEG-2 TS can also be carried by other lower layer network protocols in an Open System Interconnect (OSI) architecture.
  • Popular lower layer network protocols used to carry MPEG-2 include Asynchronous Transfer Mode (ATM) and Internet Protocol (IP).
  • the TS packet can also contain an adaptation field.
  • One of the most important types of information carried in an adaptation field is the Program Clock Reference (PCR) time stamp derived from a System Time Clock.
  • PCR Program Clock Reference
  • the MPEG-2 standard specifies that PCR time stamps are to be carried periodically at intervals ⁇ 100 ms.
  • PCR time stamps are used to recover the System Clock Frequency.
  • audio and video data can be decoded and scheduled to be presented accordingly.
  • synchronizing the respective 27 MHz System Time Clocks in the MPEG-2 encoder and decoder, and by conforming to the MPEG standard decoder buffer model the probability of overflow or underflow in video and audio buffers of the decoder can be eliminated.
  • the generation of PCR time stamps in the MPEG-2 encoder and the recovery of the System Clock Frequency in the MPEG-2 decoder rely on a basic assumption that the Transport Stream is a Constant Bit Rate (CBR) data stream. Based on this assumption, the difference between a retrieved PCR time stamp and a local counter at the decoder is considered solely due to the frequency offset. Therefore, the System Clock Frequency at the decoder can be synchronized with that of the encoder. However, if the corresponding Transport Stream is a Variable Bit Rate (VBR) data stream, the time uncertainty combined with frequency uncertainty can result in the failure of frequency synchronization between the respective 27 MHz System Time Clocks.
  • VBR Variable Bit Rate
  • the UDP, ATM cell or IP packet is replaced with the number of consecutive null packets replaced to provide a received CBR data stream.
  • Time stamps can be retrieved from the CBR data stream to derive a local system clock for use in further decoding the CBR data stream content.
  • FIG. 1 is a diagram illustrating the syntax for Transport Stream packets.
  • FIG. 2 is a schematic block diagram showing an embodiment of an encoder in accordance with the present invention.
  • FIG. 3 is a flow diagram illustrating the processing of Transport Stream packets in a pre-processing unit of the encoder in FIG. 2.
  • FIG. 6 is a flow diagram illustrating the processing of Transport Stream packets in a post-processing unit of the decoder in FIG. 5.
  • the VBR data source 300 can be a video or audio encoder which generates a source variable bit rate data stream 301.
  • the PCR stamping unit 304 generates PCR time stamps at an insertion interval (e.g., less than or equal to 100 ms) based on the received CBR data stream.
  • the values of PCR time stamps are derived from counter 314 which is driven by the 27 MHz System Time Clock 312.
  • the PCR stamping unit 304 periodically stamps the TS packets received in CBR data stream 303 by reading the content of the counter 314.
  • the output 306 is a Transport Stream containing PCR time stamps.
  • a PCR time stamp must be placed into a non-null packet.
  • the PCR stamping unit 304 encounters a null packet, it replaces the null PID value OxlFFF in the null packet with a PCR PID value, thereby converting the null packet to a non-null packet.
  • the VBR pre-processing unit 308 replaces consecutive null packets with one MPEG-2 user data packet (UDP) also referred to as an MPEG private data packet.
  • UDP MPEG-2 user data packet
  • An indication is provided in the UDP of the number of consecutive null packets that have been replaced.
  • a PID can be specified as being dedicated for this purpose through a user-private descriptor defined in an MPEG-2 program management table (PMT).
  • a format for the UDP comprises an MPEG transport packet having a payload formatted as follows:
  • the count of null packets is assumed to include the UDP and equals the value given as no_packets. That is, 1 ⁇ no_packets ⁇ 65535. If the number of consecutive null packets exceeds 65535, then additional UDPs can be inserted as needed.
  • FIG. 4B the data stream 306 that is output from the PCR stamping unit 304 (FIG. 2) is shown.
  • TS packets TSl and TS6 in the data stream 306 include PCR stamps attached by the PCR stamping unit.
  • FIG. 4C shows the data stream 310 output from the VBR pre-processing unit 308 (FIG. 2).
  • null TS packets TS3, TS4, TS5 have been replaced with TS packet TS3' which is a user data packet that includes an indication of the number of consecutive null packets replaced, in this case the count being equal to 3.
  • a two packet gap or interval K is shown between TS packets TS2 and TS3' due to the processing in the VBR pre-processing unit. Following the TS packet TS3' is TS packet TS6 with its PCR value.
  • the VBR post-processing unit 402 receives an input VBR Transport Stream 310' of the type encoded by the encoder 10 (FIG. 2).
  • the VBR post-processing unit 402 converts the VBR input 310' to a CBR stream.
  • a buffer 403 is included in the VBR post-processing unit from which is extracted CBR output 404. Since the data stream at 404 is again CBR, the PCR Time stamps retrieving unit 406 can be used to recover System Clock Frequency.
  • the buffer 403 can be located at the input to the pre-processing unit 308 (FIG. 2). In that case, the transmission gap or interval K (FIG.
  • the worst-case buffer depth is equal to the maximum number of consecutive null packets, which for the example UDP syntax is about 12.5 MB. In practice, a smaller buffer is preferred due to MPEG timing limitations.
  • PCR time stamps are used to recover System Clock Frequency.
  • the input VBR Transport Stream 310' passes through the PCR stamps retrieving unit 406.
  • the value of PCR time stamp retrieved or recovered from the time stamps unit is compared with the local counter 412 at clock recovery unit 208 to provide an error signal 409 to adjust the frequency of the local 27 MHz System Time Clock 410.
  • the probability of overflow or underflow in the video/audio buffers 414 can be eliminated.
  • the Transport Stream 404 is buffered in video/audio buffers 414.
  • audio and video data can be decoded and scheduled for presentation accordingly at data sink 416.
  • the VBR post-processing unit processes the UDP and substitute the corresponding user data packet with the number of null packets indicated by user data.
  • the COUNT of null packets is extracted from the UDP and a counter NULLJPKT is set to zero at block 608.
  • a null packet is output to the PCR stamps retrieving unit and counter NULL_PKT is incremented.
  • the counter NULL_PKT is checked to determine whether the count exceeds the value of COUNT. If the COUNT value is not exceeded, then another null packet is output at block 610; otherwise, the next TS packet is received at 602.
  • FIG. 7A shows the VBR data stream 310' that is received at the VBR post-processing unit and is identical in content to the VBR stream 310 shown in FIG. 4C.
  • FIG. 7B the CBR data stream 404 that is output from the VBR post-processing unit 402 to the PCR time stamps retrieving unit 406 (FIG. 5) is shown. Note that in stream 404 the null TS packets TS3, TS4, TS5 have replaced TS packet TS3'.
  • the VBR post-processing unit receives a lower layer protocol (e.g., ATM cell or IP packet) and processes the lower layer protocol to replace it with the same number of null packets indicated by the lower protocol.
  • a lower layer protocol e.g., ATM cell or IP packet
  • a computer usable medium can include a readable memory device, such as a hard drive device, a CD-ROM, a DVD-ROM, or a computer diskette, having computer readable program code segments stored thereon.
  • the computer readable medium can also include a communications or transmission medium, such as a bus or a communications link, either optical, wired, or wireless, having program code segments carried thereon as digital or analog data signals.

Abstract

A method of encoding variable bit rate (VBR) data includes converting a source VBR data stream to a continuous bit rate (CBR) data stream by inserting null packets into the source VBR data stream. Time stamps are inserted into packets of the CBR data stream at an insertion interval. Consecutive null packets in the CBR data stream are replaced with replaced to provide an output VBR data stream. The indication of the member of consecutive null packets indication of the number of consecutive null packets is carried in a user data packet (UDP), ATM cell or Internet Protocol packet. The output VBR data stream is transmitted over a communications medium and received at a decoder. At the decoder, the UDP, ATM cell or IP packet is replaced with the number of consecutive null packets replaced to provide a received CBR data stream. Time stamps can be retrieved from the CBR data stream to derive a local system clock for use in further decoding the CBR data stream content.

Description

METHOD AND APPARATUS OF TRANSMITTING AND RECEIVING VARIABLE BIT RATE STREAMS
BACKGROUND
A motion picture program includes video, audio, and data streams. Since video and audio streams occupy most of the bandwidth in a motion picture program, efficient distribution of a motion picture program requires audio and video compression. Well-known compression techniques, for example, MPEG and JPEG, can reduce the necessary bandwidth ten times or higher.
The International Organization for Standardization (ISO) has adopted a standard (ISO/TEC 13818-1) that addresses the combining of one or more "elementary streams" of video and audio, as well as other data, into single or multiple streams suitable for storage or transmission. The ISO/TEC 13818-1 standard, hereinafter referred to as the MPEG-2 standard, is described in detail in the ISO draft document "Generic Coding of Moving Pictures and Associated Audio", ISO/IEC JTC1/SC29/WG1 1 N0801 (13 November 1994).
The MPEG-2 standard defines an individual coded video, audio or other coded bitstream as an "elementary stream". The contents of an elementary stream maybe broken into a sequence of discrete units, in which case the elementary stream is structured as a Packetized Elementary Stream (PES). The individual units, or packets, are known as PES packets, which can be of large and variable size. The MPEG-2 standard defines generic structures for PES packet formats and specifies particular rules for creating PESs from digital video and audio elementary streams. The MPEG-2 standard defines two methods of creating a multiplex of PESs. In a Program Stream (PS), all components in the multiplex are assumed to belong to a single "Program", that is, a collection of elementary streams which may sensibly be presented as a unity to a user, all components being referenced to a common time base, together with certain coordinating control information. PES packets from component PESs are multiplexed by PES packet.
In a Transport Stream (TS), the components of the multiplex may belong to many programs. Each transport stream packet is assigned a "packet identifier" (PID). A sequence of packets identified by the same value of the PTD field generally represents a single service component, typically a video or an audio component, or a user data component. The PES packets are broken into small, fixed-size units (188 bytes) called transport packets, which may be multiplexed with transport packets from other PESs. The syntax for Transport Stream packets is shown in FIG. 1.
The Transport Stream is transmitted at a transport rate which is sufficient to accommodate the bandwidth requirements of all components carried within the Transport Stream. Since the transport rate may, either momentarily or in aggregate, exceed the bandwidth requirements of the constituent components, the MPEG-2 standard reserves PJD OxlFFF as the "null PTD". Packets in this PTD are "null packets" and do not carry any component. An MPEG decoder can discard them with impunity. Certain PTD numbers may also reserved for user data. The protocol inside the user data packet can be standardized or proprietary.
An MPEG-2 TS can also be carried by other lower layer network protocols in an Open System Interconnect (OSI) architecture. Popular lower layer network protocols used to carry MPEG-2 include Asynchronous Transfer Mode (ATM) and Internet Protocol (IP). The TS packet can also contain an adaptation field. One of the most important types of information carried in an adaptation field is the Program Clock Reference (PCR) time stamp derived from a System Time Clock. The MPEG-2 standard specifies that PCR time stamps are to be carried periodically at intervals < 100 ms.
The System Clock Frequency of the System Time Clock in MPEG-2 is specified as 27 MHz. The system clock is used for the synchronization of audio and video access units. An audio access unit is the coded representation of an audio frame. In the case of video, a video access unit includes all coded data for a picture and any stuffing that may follow it. While being compressed, decoding time stamps and presentation time stamps are attached to each access unit for use by an MPEG-2 decoder. Both decoding time and presentation time stamps are derived using the System Clock Frequency.
In an MPEG-2 decoder, PCR time stamps are used to recover the System Clock Frequency. By reading the decoding time stamps and presentation time stamps, audio and video data can be decoded and scheduled to be presented accordingly. By synchronizing the respective 27 MHz System Time Clocks in the MPEG-2 encoder and decoder, and by conforming to the MPEG standard decoder buffer model, the probability of overflow or underflow in video and audio buffers of the decoder can be eliminated.
The generation of PCR time stamps in the MPEG-2 encoder and the recovery of the System Clock Frequency in the MPEG-2 decoder rely on a basic assumption that the Transport Stream is a Constant Bit Rate (CBR) data stream. Based on this assumption, the difference between a retrieved PCR time stamp and a local counter at the decoder is considered solely due to the frequency offset. Therefore, the System Clock Frequency at the decoder can be synchronized with that of the encoder. However, if the corresponding Transport Stream is a Variable Bit Rate (VBR) data stream, the time uncertainty combined with frequency uncertainty can result in the failure of frequency synchronization between the respective 27 MHz System Time Clocks.
In reality, the compressed video is usually a VBR data stream. For example, fast moving scenes may require a higher data rate than slowly moving ones after compression. In other words, the output data rate of a compressed video signal is usually content dependent. In order to maintain a CBR data stream, MPEG-2 encoders usually insert null TS packets to stuff a VBR data stream into a CBR output.
However, a VBR data stream is often preferred in some communication links. Transmitting several VBR data streams in one communication link can take advantage of statistical multiplexing and reduce the overall bandwidth. If all VBR data streams are first stuffed into CBR data streams, the total required bandwidth is higher than that achieved by statistically multiplexing VBR data streams.
SUMMARY In order to save bandwidth realized by using statistical multiplexing, a technique is needed that allows VBR data streams (e.g., MPEG-2 Transport Streams) to use time stamps (e.g., PCR) to recover System Clock Frequency.
Accordingly, a method of encoding variable bit rate (VBR) data includes converting a source VBR data stream to a continuous bit rate (CBR) data stream by inserting null packets into the source VBR data stream. Time stamps are inserted into packets of the CBR data stream at an insertion interval. Consecutive null packets in the CBR data stream are replaced with an indication of the number of consecutive null packets replaced to provide an output VBR data stream. In an embodiment, the indication of the number of consecutive null packets is carried in a user data packet (UDP). h alternate embodiments, the indication is carried in an ATM cell or an Internet Protocol packet. The output VBR data stream is transmitted over a communications medium and received at a decoder. At the decoder, the UDP, ATM cell or IP packet is replaced with the number of consecutive null packets replaced to provide a received CBR data stream. Time stamps can be retrieved from the CBR data stream to derive a local system clock for use in further decoding the CBR data stream content.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
FIG. 1 is a diagram illustrating the syntax for Transport Stream packets. FIG. 2 is a schematic block diagram showing an embodiment of an encoder in accordance with the present invention.
FIG. 3 is a flow diagram illustrating the processing of Transport Stream packets in a pre-processing unit of the encoder in FIG. 2.
FIGs. 4A-4C are diagrams which illustrate Transport Stream packets as processed in the encoder in FIG. 2. FIG. 5 is a schematic block diagram showing an embodiment of a decoder in accordance with the present invention.
FIG. 6 is a flow diagram illustrating the processing of Transport Stream packets in a post-processing unit of the decoder in FIG. 5.
FIGs. 7A-7B are diagrams which illustrate Transport Stream packets as processed in the decoder in FIG. 5.
DETAILED DESCRIPTION
FIG. 2 is a schematic block diagram of an embodiment of an encoder 10. The encoder 10 includes a variable bit rate (VBR) data source 300, Transport Stream packetizing unit 302, PCR time stamping unit 304 and VBR pre-processing unit 308. The encoder further includes a 27 MHz System Time Clock 312 and counter 314. The encoder allows PCR time stamps to be used in a VBR data stream.
The VBR data source 300 can be a video or audio encoder which generates a source variable bit rate data stream 301. The TS packetizing unit 302 converts the source VBR data stream into a stream of Transport Stream packets and fills up the VBR data stream by inserting null packets (i.e., having null PTD = OxlFFF) to provide a CBR data stream 303. The PCR stamping unit 304 generates PCR time stamps at an insertion interval (e.g., less than or equal to 100 ms) based on the received CBR data stream.
The values of PCR time stamps are derived from counter 314 which is driven by the 27 MHz System Time Clock 312. The PCR stamping unit 304 periodically stamps the TS packets received in CBR data stream 303 by reading the content of the counter 314. The output 306 is a Transport Stream containing PCR time stamps.
It should be understood that, according to the MPEG-2 standard, a PCR time stamp must be placed into a non-null packet. Thus, if the PCR stamping unit 304 encounters a null packet, it replaces the null PID value OxlFFF in the null packet with a PCR PID value, thereby converting the null packet to a non-null packet.
In order to transmit VBR data streams, the VBR pre-processing unit 308 replaces consecutive null packets in the CBR data stream 306 with an indication of the number of replaced null packets to provide an output VBR data stream 310. The VBR data stream 310 can be coupled to a transmission medium or channel 15 for transport to a downstream decoder.
In one embodiment, the VBR pre-processing unit 308 replaces consecutive null packets with one MPEG-2 user data packet (UDP) also referred to as an MPEG private data packet. An indication is provided in the UDP of the number of consecutive null packets that have been replaced. To provide for a UDP to carry the count information, a PID can be specified as being dedicated for this purpose through a user-private descriptor defined in an MPEG-2 program management table (PMT). A format for the UDP comprises an MPEG transport packet having a payload formatted as follows:
UDP = { no_packets 16 bits }
where the count of null packets is assumed to include the UDP and equals the value given as no_packets. That is, 1 < no_packets < 65535. If the number of consecutive null packets exceeds 65535, then additional UDPs can be inserted as needed.
The protocol for replacement which operates in the pre-processing unit 308 can be understood with reference to the flow diagram in FIG. 3. Initially, a counter NULL_PKT which indicates the number of consecutive null packets received is set to zero at block 502. At block 504 a Transport Stream packet is received. A determination is made whether the received TS packet is a null packet at block 506. If the TS packet is a null packet, the counter NULL_PKT is incremented at block 508 and the next TS packet is received. If the TS packet is not a null packet, then the counter NULL_PKT is checked at block 510 to determine whether the count exceeds 1.
If the count exceeds 1, meaning that more than one null packet has been received consecutively, then a user data packet containing an indication of consecutive null packets (e.g., COUNT=3) is output at block 512. In addition, the non-null TS packet is output following the user data packet. Processing continues with a reset of the counter NULL_PKT at block 502. However, if the count does not exceed 1 , then the non-null TS packet is output at block 514. Processing of the next TS packet in the data stream continues at block 504. An example Transport Stream as processed in the encoder 10 (FIG. 2) is illustrated in FIGs. 4A-4C. FIG. 4A shows the data stream 303 that is output from the TS packetizing unit 302 (FIG. 2) and includes consecutive null packets indicated as TS packets TS3, TS4, TS5. In FIG. 4B, the data stream 306 that is output from the PCR stamping unit 304 (FIG. 2) is shown. TS packets TSl and TS6 in the data stream 306 include PCR stamps attached by the PCR stamping unit. FIG. 4C shows the data stream 310 output from the VBR pre-processing unit 308 (FIG. 2). Note that null TS packets TS3, TS4, TS5 have been replaced with TS packet TS3' which is a user data packet that includes an indication of the number of consecutive null packets replaced, in this case the count being equal to 3. A two packet gap or interval K is shown between TS packets TS2 and TS3' due to the processing in the VBR pre-processing unit. Following the TS packet TS3' is TS packet TS6 with its PCR value.
In another embodiment, the VBR pre-processing unit 308 replaces consecutive packets with a lower-layer network protocol, for example, an ATM cell or an IP packet. A lower layer protocol carries the information indicating the number of consecutive null packets that have been replaced.
FIG. 5 is a schematic block diagram of an embodiment of a decoder 20. The decoder 20 includes a VBR post-processing unit 402, a PCR stamps retrieving unit 406, a clock recovery unit 408, 27 MHz System Time Clock 410 and counter 412. The decoder 20 further includes video/audio buffers 414 and data sink 416.
The VBR post-processing unit 402 receives an input VBR Transport Stream 310' of the type encoded by the encoder 10 (FIG. 2). The VBR post-processing unit 402 converts the VBR input 310' to a CBR stream. A buffer 403 is included in the VBR post-processing unit from which is extracted CBR output 404. Since the data stream at 404 is again CBR, the PCR Time stamps retrieving unit 406 can be used to recover System Clock Frequency. In an alternate embodiment, the buffer 403 can be located at the input to the pre-processing unit 308 (FIG. 2). In that case, the transmission gap or interval K (FIG. 4C) is between TS packets TS3' and TS6 rather than between packets TS2 and TS3'. The worst-case buffer depth is equal to the maximum number of consecutive null packets, which for the example UDP syntax is about 12.5 MB. In practice, a smaller buffer is preferred due to MPEG timing limitations.
In an MPEG-2 decoder, PCR time stamps are used to recover System Clock Frequency. The input VBR Transport Stream 310' passes through the PCR stamps retrieving unit 406. The value of PCR time stamp retrieved or recovered from the time stamps unit is compared with the local counter 412 at clock recovery unit 208 to provide an error signal 409 to adjust the frequency of the local 27 MHz System Time Clock 410. As noted above, by synchronizing the respective 27 MHz System Time Clocks in the encoder 10 (FIG. 2) and decoder 20 (FIG. 5), and by conforming to the MPEG standard decoder buffer model, the probability of overflow or underflow in the video/audio buffers 414 can be eliminated.
The Transport Stream 404 is buffered in video/audio buffers 414. By reading the decoding time stamps and presentation time stamps that are included in the data stream in accordance with the System Clock Frequency provided at 411, audio and video data can be decoded and scheduled for presentation accordingly at data sink 416.
In one embodiment, the VBR post-processing unit processes the UDP and substitute the corresponding user data packet with the number of null packets indicated by user data.
The protocol for reversing the replacement which operates in the post- processing unit 402 can be understood with reference to the flow diagram in FIG. 6. Initially, a TS packet is received from stream 310' at block 602. A determination is made whether the received TS packet is a UDP at block 604. If the TS packet is not a UDP packet, the TS packet is output to the PCR stamps retrieving unit 406 (FIG. 5) at block 606 and the next TS packet is received at block 602.
If the packet at block 604 is a UDP, the COUNT of null packets is extracted from the UDP and a counter NULLJPKT is set to zero at block 608. At block 610, a null packet is output to the PCR stamps retrieving unit and counter NULL_PKT is incremented. At block 612 the counter NULL_PKT is checked to determine whether the count exceeds the value of COUNT. If the COUNT value is not exceeded, then another null packet is output at block 610; otherwise, the next TS packet is received at 602.
An example Transport Stream as processed in the decoder 20 (FIG. 5) is illustrated in FIGs. 7A-7B. FIG. 7A shows the VBR data stream 310' that is received at the VBR post-processing unit and is identical in content to the VBR stream 310 shown in FIG. 4C. In FIG. 7B, the CBR data stream 404 that is output from the VBR post-processing unit 402 to the PCR time stamps retrieving unit 406 (FIG. 5) is shown. Note that in stream 404 the null TS packets TS3, TS4, TS5 have replaced TS packet TS3'.
In another embodiment, the VBR post-processing unit receives a lower layer protocol (e.g., ATM cell or IP packet) and processes the lower layer protocol to replace it with the same number of null packets indicated by the lower protocol.
It will be apparent to those of ordinary skill in the art that methods disclosed herein may be embodied in a computer program product that includes a computer usable medium. For example, such a computer usable medium can include a readable memory device, such as a hard drive device, a CD-ROM, a DVD-ROM, or a computer diskette, having computer readable program code segments stored thereon. The computer readable medium can also include a communications or transmission medium, such as a bus or a communications link, either optical, wired, or wireless, having program code segments carried thereon as digital or analog data signals.
While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.

Claims

CLAΓMSWhat is claimed is:
1. A method of encoding variable bit rate (VBR) data comprising: converting a source VBR data stream to a continuous bit rate (CBR) data stream by inserting null packets into the source VBR data stream; inserting time stamps into packets of the CBR data stream at an insertion interval; replacing consecutive null packets in the CBR data stream with an indication of the number of consecutive null packets replaced to provide an output VBR data stream.
2. The method of Claim 1 further comprising: transmitting the output VBR data stream over a communications medium; receiving the transmitted VBR data stream and replacing the indication with the number of consecutive null packets so indicated to provide a received CBR data stream.
3. The method of Claim 2 further comprising retrieving time stamps from the CBR data stream to derive a local system clock.
4. The method of Claim 3 further comprising decoding the CBR data stream using the local system clock.
5. The method of Claim 1 wherein the source VBR data stream is an MPEG-2 transport stream and the time stamps are PCR time stamps.
6. The method of Claim 5 wherein the indication of the number of consecutive null packets is carried in a user data packet (UDP).
7. The method of Claim 1 wherein the indication of the number of consecutive null packets is carried in an ATM cell.
8. The method of Claim 1 wherein the indication of the number of consecutive null packets is carried in an Internet Protocol packet.
9. An encoder comprising: a variable bit rate data source for providing a source VBR data stream; a converter for converting the source VBR data stream to a continuous bit rate (CBR) data stream by inserting null packets into the source VBR data stream; a time stamping unit for inserting time stamps into packets of the CBR data stream at an insertion interval; a processing unit for replacing consecutive null packets in the CBR data stream with an indication of the number of consecutive null packets replaced to provide an output VBR data stream.
10. The encoder of Claim 9 wherein the source VBR data stream is an MPEG-2 transport stream.
11. The encoder of Claim 10 wherein the indication of the number of consecutive null packets is carried in a user data packet (UDP).
12. The encoder of Claim 9 wherein the indication of the number of consecutive null packets is carried in an ATM cell.
13. The encoder of Claim 9 wherein the indication of the number of consecutive null packets is carried in an Internet Protocol packet.
14. The encoder of Claim 9 wherein the processing unit includes a buffer at the input for receiving the CBR data stream.
15. A decoder for decoding a variable bit rate (VBR) data stream having an indication of a number of consecutive null packets replaced, the decoder comprising: a processing unit for receiving the transmitted VBR data stream and replacing the indication with the number of consecutive null packets so indicated to provide a received CBR data stream; a time stamp retrieving unit for retrieving time stamps from the CBR data stream.
16. The decoder of Claim 15 further comprising a data sink for decoding the CBR data stream.
17. The decoder of Claim 15 wherein the processing unit includes a buffer at the output from which the CBR data stream is extracted.
18. The decoder of Claim 15 wherein the VBR data stream is an MPEG-2 transport stream.
19. The decoder of Claim 18 wherein the indication of the number of consecutive null packets is carried in a user data packet (UDP).
20. The decoder of Claim 15 wherein the indication of the number of consecutive null packets is carried in an ATM cell.
21. The decoder of Claim 15 wherein the indication of the number of consecutive null packets is carried in an Internet Protocol packet.
PCT/US2000/032096 1999-11-24 2000-11-22 Method and apparatus of transmitting and receiving variable bit rate streams WO2001039505A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU24252/01A AU2425201A (en) 1999-11-24 2000-11-22 Method and apparatus of transmitting and receiving variable bit rate streams

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16733899P 1999-11-24 1999-11-24
US60/167,338 1999-11-24

Publications (2)

Publication Number Publication Date
WO2001039505A2 true WO2001039505A2 (en) 2001-05-31
WO2001039505A3 WO2001039505A3 (en) 2001-11-22

Family

ID=22606958

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/032096 WO2001039505A2 (en) 1999-11-24 2000-11-22 Method and apparatus of transmitting and receiving variable bit rate streams

Country Status (2)

Country Link
AU (1) AU2425201A (en)
WO (1) WO2001039505A2 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145912B1 (en) * 2000-03-23 2006-12-05 Tut Systems, Inc. Demultiplexing a statistically multiplexed MPEG transport stream into CBR single program transport streams
WO2008111921A1 (en) * 2007-03-15 2008-09-18 Maindata, Spol. S R.O. The way of bandwidth efficient distribution of multiple transport streams with partially same content
WO2009004248A1 (en) * 2007-06-19 2009-01-08 France Telecom Method based on error corrector codes, applicable to a variable rate multimedia datastream
CN100452875C (en) * 2004-07-14 2009-01-14 株式会社日立国际电气 Data transmitter
US20110093900A1 (en) * 2009-10-20 2011-04-21 Vipul Patel Gateway apparatus and methods for digital content delivery in a network
US9398346B2 (en) 2007-05-04 2016-07-19 Time Warner Cable Enterprises Llc Methods and apparatus for predictive capacity allocation
US9602414B2 (en) 2011-02-09 2017-03-21 Time Warner Cable Enterprises Llc Apparatus and methods for controlled bandwidth reclamation
US9961413B2 (en) 2010-07-22 2018-05-01 Time Warner Cable Enterprises Llc Apparatus and methods for packetized content delivery over a bandwidth efficient network
US10057609B2 (en) 2008-01-30 2018-08-21 Time Warner Cable Enterprises Llc Methods and apparatus for predictive delivery of content over a network
US10116676B2 (en) 2015-02-13 2018-10-30 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
US10171885B2 (en) 2012-03-23 2019-01-01 Time Warner Cable Enterprises Llc Apparatus and methods for managing delivery of content in a network with limited bandwidth using pre-caching
US10178435B1 (en) 2009-10-20 2019-01-08 Time Warner Cable Enterprises Llc Methods and apparatus for enabling media functionality in a content delivery network
US10250932B2 (en) 2012-04-04 2019-04-02 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US10313755B2 (en) 2009-03-30 2019-06-04 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US11076189B2 (en) 2009-03-30 2021-07-27 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US11159851B2 (en) 2012-09-14 2021-10-26 Time Warner Cable Enterprises Llc Apparatus and methods for providing enhanced or interactive features
US11323758B1 (en) * 2019-12-12 2022-05-03 Amazon Technologies, Inc. Lossless transport stream compression from constant bitrate to variable bitrate to constant bitrate

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06164629A (en) * 1992-11-26 1994-06-10 Fujitsu Ltd Data transfer system
EP0805598A1 (en) * 1995-03-31 1997-11-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for replacing stuffing bits with supplementary data in an MPEG video data stream
EP0901261A2 (en) * 1997-09-05 1999-03-10 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
EP0921690A2 (en) * 1994-09-07 1999-06-09 Koninklijke Philips Electronics N.V. MPEG information signal conversion system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06164629A (en) * 1992-11-26 1994-06-10 Fujitsu Ltd Data transfer system
EP0921690A2 (en) * 1994-09-07 1999-06-09 Koninklijke Philips Electronics N.V. MPEG information signal conversion system
EP0805598A1 (en) * 1995-03-31 1997-11-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for replacing stuffing bits with supplementary data in an MPEG video data stream
EP0901261A2 (en) * 1997-09-05 1999-03-10 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 018, no. 486 (E-1604), 9 September 1994 (1994-09-09) & JP 06 164629 A (FUJITSU LTD), 10 June 1994 (1994-06-10) *

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145912B1 (en) * 2000-03-23 2006-12-05 Tut Systems, Inc. Demultiplexing a statistically multiplexed MPEG transport stream into CBR single program transport streams
CN100452875C (en) * 2004-07-14 2009-01-14 株式会社日立国际电气 Data transmitter
WO2008111921A1 (en) * 2007-03-15 2008-09-18 Maindata, Spol. S R.O. The way of bandwidth efficient distribution of multiple transport streams with partially same content
US8160088B2 (en) 2007-03-15 2012-04-17 Maindata, Spol, S.R.O. Way of bandwidth efficient distribution of multiple transport streams with partially same content
RU2497283C2 (en) * 2007-03-15 2013-10-27 МЭЙНДАТА, спол. с р.о. Method for efficient allocation of frequency band of plurality of traffic streams with partially identical content
US9398346B2 (en) 2007-05-04 2016-07-19 Time Warner Cable Enterprises Llc Methods and apparatus for predictive capacity allocation
US10911313B2 (en) 2007-05-04 2021-02-02 Time Warner Cable Enterprises Llc Methods and apparatus for predictive capacity allocation
WO2009004248A1 (en) * 2007-06-19 2009-01-08 France Telecom Method based on error corrector codes, applicable to a variable rate multimedia datastream
US8407552B2 (en) 2007-06-19 2013-03-26 France Telecom Method based on error corrector codes, applicable to a variable rate multimedia datastream
US10057609B2 (en) 2008-01-30 2018-08-21 Time Warner Cable Enterprises Llc Methods and apparatus for predictive delivery of content over a network
US11039185B2 (en) 2008-01-30 2021-06-15 Time Warner Cable Enterprises Llc Methods and apparatus for predictive delivery of content over a network
US11012749B2 (en) 2009-03-30 2021-05-18 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US11659224B2 (en) 2009-03-30 2023-05-23 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US11076189B2 (en) 2009-03-30 2021-07-27 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US10313755B2 (en) 2009-03-30 2019-06-04 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US10178435B1 (en) 2009-10-20 2019-01-08 Time Warner Cable Enterprises Llc Methods and apparatus for enabling media functionality in a content delivery network
US20110093900A1 (en) * 2009-10-20 2011-04-21 Vipul Patel Gateway apparatus and methods for digital content delivery in a network
US9027062B2 (en) * 2009-10-20 2015-05-05 Time Warner Cable Enterprises Llc Gateway apparatus and methods for digital content delivery in a network
US9961413B2 (en) 2010-07-22 2018-05-01 Time Warner Cable Enterprises Llc Apparatus and methods for packetized content delivery over a bandwidth efficient network
US10448117B2 (en) 2010-07-22 2019-10-15 Time Warner Cable Enterprises Llc Apparatus and methods for packetized content delivery over a bandwidth-efficient network
US9602414B2 (en) 2011-02-09 2017-03-21 Time Warner Cable Enterprises Llc Apparatus and methods for controlled bandwidth reclamation
US10667019B2 (en) 2012-03-23 2020-05-26 Time Warner Cable Enterprises Llc Apparatus and methods for managing delivery of content in a network with limited bandwidth using pre-caching
US10171885B2 (en) 2012-03-23 2019-01-01 Time Warner Cable Enterprises Llc Apparatus and methods for managing delivery of content in a network with limited bandwidth using pre-caching
US10250932B2 (en) 2012-04-04 2019-04-02 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US11109090B2 (en) 2012-04-04 2021-08-31 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US11159851B2 (en) 2012-09-14 2021-10-26 Time Warner Cable Enterprises Llc Apparatus and methods for providing enhanced or interactive features
US11057408B2 (en) 2015-02-13 2021-07-06 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
US11606380B2 (en) 2015-02-13 2023-03-14 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
US10116676B2 (en) 2015-02-13 2018-10-30 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
US11323758B1 (en) * 2019-12-12 2022-05-03 Amazon Technologies, Inc. Lossless transport stream compression from constant bitrate to variable bitrate to constant bitrate

Also Published As

Publication number Publication date
WO2001039505A3 (en) 2001-11-22
AU2425201A (en) 2001-06-04

Similar Documents

Publication Publication Date Title
US8483230B1 (en) Packet schedule timestamp for a compressed bitstream
US6542518B1 (en) Transport stream generating device and method, and program transmission device
JP4437341B2 (en) Target system decoder and data buffering system
US7372858B2 (en) Data transmission device and data transmission method
JP3886906B2 (en) Apparatus and method for transmitting MPEG-4 data in synchronization with MPEG-2 data
EP0966823B1 (en) Method of encapsulation of data into transport packets of constant size
WO2001039505A2 (en) Method and apparatus of transmitting and receiving variable bit rate streams
EP0936816B1 (en) Video clock and framing signal extraction
US6584120B1 (en) Data multiplexing apparatus and method
AU1588895A (en) Method and device for transmitting data packets
KR20070034008A (en) Method for transmitting packets in a transmission system
EP0933949A1 (en) Transmitting system, transmitting apparatus, recording and reproducing apparatus
EP1145559B1 (en) Method and apparatus for delivering reference signal information within a specified time interval
CN100416689C (en) Reproducing apparatus and method, and recording medium
JP2001308876A (en) Information transmission system, transmitter and receiver
US20040190629A1 (en) System and method for broadcast of independently encoded signals on atsc channels
JP4391412B2 (en) Dynamic multiplexing method of digital stream
JP3617177B2 (en) Video material supply apparatus and method
JPH11205789A (en) Transmission rate converter of mpeg2 transport stream
JPH08298508A (en) Multiplex data mutual communication method, multiplex data mutual communication system, terminal on gateway and asynchronous network
KR20060089508A (en) Apparatus and method for creating transport stream for efficient transmission of timing information, and dmb transmission system using it
EP0902590A2 (en) Integrated communication system
KR0181081B1 (en) Escr generator for system decoder
JPH11340936A (en) Method and device for multiplexing data
Shuaib et al. Dejittering in the transport of MPEG-2 and MPEG-4 video

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase