EP1562381B1 - Method for adjusting transmission rate of MPEG-2 data and apparatus therefor - Google Patents
Method for adjusting transmission rate of MPEG-2 data and apparatus therefor Download PDFInfo
- Publication number
- EP1562381B1 EP1562381B1 EP20040022099 EP04022099A EP1562381B1 EP 1562381 B1 EP1562381 B1 EP 1562381B1 EP 20040022099 EP20040022099 EP 20040022099 EP 04022099 A EP04022099 A EP 04022099A EP 1562381 B1 EP1562381 B1 EP 1562381B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- packets
- receiving buffer
- program
- packet
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
- 230000005540 biological transmission Effects 0.000 title claims description 85
- 238000000034 method Methods 0.000 title claims description 41
- 239000000872 buffer Substances 0.000 claims description 103
- 238000012545 processing Methods 0.000 claims description 24
- 230000003139 buffering effect Effects 0.000 claims description 8
- 238000001824 photoionisation detection Methods 0.000 description 14
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 238000011084 recovery Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 229920003208 poly(ethylene sulfide) Polymers 0.000 description 4
- 229920006393 polyether sulfone Polymers 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000000945 filler Substances 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100021908 3-mercaptopyruvate sulfurtransferase Human genes 0.000 description 1
- 101000753843 Homo sapiens 3-mercaptopyruvate sulfurtransferase Proteins 0.000 description 1
- 101150102573 PCR1 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 229940036310 program Drugs 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
Definitions
- the present invention relates to a technique for adjusting a transmission rate of, for example, Moving Picture Experts Group-2 (MPEG-2) data. More particularly, the present invention relates to a method and an apparatus for adjusting a transmission rate of MPEG-2 data, in which the data is being output at a constant output transmission rate that is maintained despite receiving input MPEG-2 data at various input transmission rates, the recovery of data without any information regarding clock data recovery (CDR).
- MPEG-2 Moving Picture Experts Group-2
- CDR clock data recovery
- An MPEG-2 system is adapted for two particular types of multiplexed bit streams, namely a program stream and a transport stream.
- a program stream is utilized for a multiplexing method either which is applied when one broadcast program including video, audio, and captions is used in an error-free channel environment or when an error correction function of a medium's own is used in tact, as in a compact disks CD or DVD's.
- a transport stream is utilized for a multiplexing method used when several broadcast programs are simultaneously transmitted in a channel environment having that is not error free.
- the program stream is used for storing one program, such as a video CD
- the transport stream is used for digital broadcasting of a plurality of programs by means of an artificial satellite.
- the MPEG-2 system employs a packet multiplexing method, which has been previously used in a time division multiplexing (TDM) method.
- TDM time division multiplexing
- each of video and audio bit streams is first divided into packetized elementary streams (hereinafter, referred to as 'PESs') called packets having an appropriate length (in terms of kbytes).
- 'PESs' packetized elementary streams
- Each of the PES packets has an agreed to length limitation of no more than 64 kilobytes maximum, so as to be to communicate with various applications, and may take any one of a fixed length and a variable length.
- each PES packet may be transmitted either at a variable transmission rate or intermittently.
- the program stream and the transport stream are made by multiplexing each PES into one bit stream.
- a length of a packet depends largely upon the transmission channel or the medium used.
- ATM asynchronous transfer mode
- BSSDN broadband integrated services digital network
- transport packets have a comparatively short fixed length of 188 bytes in consideration of connectivity to the ATM
- the first 4 bytes make up a header
- 184 bytes are a portion for user information carrying video or audio data.
- Such a transport packet is carried in 4 ATM cells and is transmitted.
- AAL ATM adaptation layer
- the transport packets which have been first multiplexed and transmitted from each broadcasting station, are re-multiplexed to construct one bit stream, thereby being arranged in a form that can be transmitted through one repeater.
- Multiplexing of digital satellite broadcasting includes time division multiplexing (TDM) and frequency division multiplexing (FDM).
- TDM time division multiplexing
- FDM frequency division multiplexing
- repeaters have a bandwidth of 27 MHz and are managed in a form of the FDM, but 4 broadcasting stations share the repeaters in the TDM method.
- the transport stream to be carried to each repeater then undergoes a Reed-Solomon coding and a convolutional coding, and is transmitted between a ground station and a satellite by a quadrature phase shift keying (QPSK) modulation.
- QPSK quadrature phase shift keying
- a decoding of the transport stream by a receiving terminal is performed with a reverse process to above-mentioned process.
- the receiving terminal selects a repeater including a broadcast to be desired by a user of the receiving terminal, then the terminal performs a QPSK demodulation of a signal input through the repeater, and corrects the error.
- the repeater outputs a bit stream in which several broadcasts are multiplexed. Therefore, the receiving terminal first chooses transport packets of only a broadcasting station which is desired to be received, decodes video packets from among the chosen transport packets with a video decoder, and audio packets from among the chosen transport packets with an audio decoder, respectively, thereby reproducing video and audio.
- a source video sequence is encoded either after compression (or without compression) to form transport streams, and then may be transmitted at a proper constant bit rate (CBR) or at a variable bit rate (VBR).
- CBR constant bit rate
- VBR variable bit rate
- STB set-top box
- STB set-top box
- VBR variable bit rate
- US-A-5905732 discloses multiplexing of completely asynchronous program streams into one single transport stream that has a fixed byte rate that is not locked to any of the pro-gram clock signals.
- the single program streams supply MPEG-2 transport packets to a corresponding plurality of first-in-first-out (FIFO) buffers and their associated fullness counters.
- a filler data block provides filler data to the multiplex line whenever there is less than a full packet of data in each of the program FIFOs.
- Such filler data may comprise non-time sensitive data or null packets.
- FIFO read out priority is determined based on FIFO fullness and the bit rate of each corresponding program channel.
- US-A-5640388 discloses removing jitter and correcting time stamps in a packet stream. Compensating a multi-program transport stream for variable delays of the transport packets experienced especially during multiplexing and/or transmission before the reception at the reception site is disclosed. To remove this so-called jitter, the incoming multiplexed transport stream is split with means of a de-multiplexer into several sessions which consist of the corresponding program streams. Each Session channel is provided with one buffer sufficiently sized to prevent an overflow or underflow. To provide the necessary program dock recovery time stamp information, each of these buffers must fulfill a minimum buffer size requirement. After completing the operations aimed at solving above problems, the channels again get multiplexed into a single multi program transport stream.
- US-A-6097739 discloses a data transfer rate control method where a stuff packet is inserted in real time.
- NULL packets whose packet identification PIDs are all 1s, are inserted to maintain the clock timing for the data packets to be transmitted.
- An AAL5 packet count interval is determined, at which a NULL packet should be inserted.
- the average packet insertion interval up to the present is calculated, and in consonance with the average interval resulting from a desired coded bit rate and a set bit rate, the succeeding NULL packet insertion interval is determined.
- the packet count value does not equal the obtained packet insertion interval, the common AAL packet transmission process is performed. Then, the packet count value is incremented by one. The process is repeated until the packet count value equals the obtained packet insertion interval, and then a NULL-AAL packet is transmitted.
- the present invention has been made to solve at least some of the above-mentioned problems.
- Another aspect of the present invention is to provide a method and an apparatus for preventing either or both of an underflow and an overflow from occurring in a buffer of a receiving section and for the efficient transmission of MPEG-2 data when receiving and then transmitting such MPEG-2 data.
- an apparatus for adjusting a transmission rate of moving picture experts group 2 (MPEG-2) data comprising: a receiving buffer for buffering multi-program transport stream (MPTS) packets received at various transmission rates; a packet storage for storing MPEG-2 null packets; and a signal processing section for reading data buffered in the receiving buffer at a predetermined output transmission rate, wherein the signal processing section stops an operation of reading data buffered in the receiving buffer, and reads and transmits the MPEG-2 null packets stored in the packet storage when a predetermined underflow occurrence forecast situation is caused in the receiving buffer.
- MPTS multi-program transport stream
- a method for adjusting a transmission rate of moving picture experts group 2 (MPEG-2) data in which multi program transport stream (MPTS) packets input at various transmission rates are received and the MPTS data are transmitted at a predetermined output transmission rate
- the method including: a) reading and transmitting buffered data at the output transmission rate when a current buffered data point (CF) reaches a predetermined data output point (HF) in a receiving buffer which receives the inputted MPST packets; b) stopping the reading of data buffered in the receiving buffer and transmitting MPEG-2 null packets at the output transmission rate when the current buffered data point (CF) reaches a predetermined underflow forecast point (QF) in the process of reading the buffered data; and c) reading and transmitting buffered data at the output transmission rate and then proceeding with step b) when the current buffered data point (CF) reaches the data output point (HF) in the process of transmitting the null packets.
- MPEG-2 moving picture experts group 2
- FIG. 1 is a block diagram schematically illustrating an apparatus for adjusting a transmission rate of MPEG-2 data according to a first aspect of the present invention and a relevant system.
- an MPEG-2 data transmitting system may include an optical line terminal (hereinafter, referred to as "OLT") 100 and an optical network unit (hereinafter, referred to as "ONU") 200.
- the OLT 100 multiplexes broadcasting data having been transmitted from a plurality of broadcast providers, such as broadcasting stations, and then transmits the multiplexed data through a transmission medium (optical fiber) in order to provide broadcast services to the subscribers.
- a transmission medium optical fiber
- the ONU 200 is a unit of a user side for transmitting information, which has been received from the OLT 100, to a user's set-top box (STB).
- STB set-top box
- the ONU 200 receives a service request from a set-top box for a service user and transmits the broadcasting data by a time division multiplexing (TDM) method.
- TDM time division multiplexing
- each encoder 100a to 100d encodes transport packets primarily multiplexed in and output from a broadcasting station, and a ReMUX 120 constructs and outputs a multi-program transport stream (hereinafter, referred to as "MPTS") by re-multiplexing the encoded data.
- the ONU 200 includes a transmission rate adjusting apparatus 210 and a subscriber distribution apparatus 220.
- the transmission rate adjusting apparatus 210 receives the MPTS transmitted from the OLT 100 and controls a transmission rate so that the MPTS can be transmitted to the user's set-top box at a predetermined constant transmission rate.
- the subscriber distribution apparatus 220 transmits a bit stream, which has been output from the transmission rate adjusting apparatus 210, to each user's set-top box.
- the transmission rate adjusting apparatus 210 includes a PAT/PMT analyzer 214, a signal processing section 216, a program identification (hereinafter, referred to as "PID") filter section 212, a receiving buffer (FIFO) 218, a Null packet storage 219, and a program clock reference (hereinafter, referred to as "PCR") information storage 215.
- the signal processing section 216 receives information output from the PAT/PMT analyzer 214, confirms PID information of a PCR packet, and controls an operation of the PID filter section 212 according to the result of the confirmation.
- the PID filter section 212 confirms a relevant PID of a MPTS packet input under the control of a signal processing section 216, and provides the confirmed information to the signal processing section 216.
- the receiving buffer (FIFO) 218 buffers an input MPTS packet, and provides the packets in sequence to the signal processing section 216 that are identified as the packets buffered under the control of the signal processing section 216.
- a rate at which the signal processing section 216 reads data buffered in the receiving buffer 218 is set to a value that is equal to or faster than a rate of data input into the receiving buffer 218. Therefore, the receiving buffer 218 always forms a situation in which underflow may occur.
- the signal processing section 216 stops an operation of reading data buffered in the receiving buffer 218 at a proper time before the underflow occurs in the receiving buffer 218, and reads and transmits the MPEG-2 null packets stored in the packet storage 219. At this time, the signal processing section 216 analyzes PCR information and properly controls a buffering size of the receiving buffer 218 according to the result of the analysis.
- the signal processing section 216 monitors a current state of the receiving buffer 218 and the length of a packet read by the signal processing section 216, and selects and reads the packet storage 219 storing the null packets and the receiving buffer 218 storing actual MPEG-2 data.
- An MPEG-2 decoder of the user's set-top box receives transport streams in which the null packets are inserted then selects and stores packets of only an audio PID, a video PID, and a text PID, and removes packets of PID (0x1FFF) representing a null packet, so that the user's set-top box of the present invention is no different from that of the prior art.
- the transmission rate adjusting apparatus 210 transmits data at a bit rate identical to the predetermined constant bit rate (27 Mbps) by inserting the null packets, so that a transmission rate to the user's set-top box is constantly maintained (without underflow issues).
- the transmission rate adjusting apparatus 210 stably transmits all MPEG-2 data which are inputted at a lower bit rate than the predetermined constant bit rate without clock data recovery (CDR).
- the length of a MPEG-2 packet (according to the current standard) may be two different sizes, either 188 bytes, or 204 bytes with a RS (Reed-Solomon) code added.
- RS Random-Solomon
- the receiving buffer 218 has a size of 204 bytes or more, and a null packet has to be inserted after a whole packet has been transmitted.
- 204 bytes or more are additionally required when it is desired to transmit actual data again in the process of transmitting the null packet Consequently, the size of the receiving buffer 218 must be 408 bytes or more.
- the size of the receiving buffer 218 is set as 2048 bytes, and the signal processing section 216 starts to read buffered data as soon as the data are buffered up to a predetermined data output point (HF), that is, up to a point of 1024 bytes, as in FIG 2 .
- HF data output point
- the amount of data buffered in the receiving buffer 218 is gradually reduced.
- the signal processing section 216 completes the transmission of the packet currently in progress, stops reading data buffered in the receiving buffer 218, and inserts the null packets. During the insertion of the null packet, data are buffered to be again stacked in the receiving buffer 218. Subsequently, when a current buffered data point (CF) reaches the data output point (HF), the signal processing section 216 completes the transmission of the null packet currently in progress, and again starts to transmit data buffered in the receiving buffer 218. Data are transmitted by repeatedly performing such operations.
- QF underflow forecast point
- FIG 3 is a view showing input and output states of data buffered in the receiving buffer 218 shown in FIG 1 according to an aspect of the present invention.
- packets are input and buffered in the receiving buffer 218 at 9 Mbps, and are output from the receiving buffer 218 at 27 Mbps.
- the data output rate is three times as fast as the data input rate.
- 5 packets PCR1, DATA1, DATA2, DATA3, and DATA 4 are input and buffered in the receiving buffer 218, 15 packets are output from the receiving buffer 218 with 10 null packets N.
- PCR packets are transmitted at a predetermined time period, for example, 40ms or 100ms, for program synchronization so as to reduce the risk of interference between a transmitting terminal and a receiving terminal. Therefore, when data are transmitted with null packets inserted into the data according to a characteristic of the present invention, there is a problem in that the time period between PCR packets may drift beyond a tolerable limit value. So, the apparatus of the present invention confirms a time period between PCR packets transmitted with a MPTS which is currently transmitted, and controls the buffering size of the receiving buffer 218 according to the result of the confirmation. Such a control will be described in more detail with reference to FIG. 4 .
- FIG. 4 is a graph for explaining a tolerable input timing limit between PCR packets for allocating a buffering region in the receiving buffer 218 shown in FIG 1 according to an embodiment of the present invention.
- FIG. 4 shows tolerable input timing between PCR packets i and i" with respect to a case in which a time period ( ⁇ t) between PCR packets is 40 ms and a case in which a time period ( ⁇ t) between PCR packets is 100 ms.
- the case in which a time period ( ⁇ t) between PCR packets is 100 ms is represented with square brackets ([ ]).
- the PCR packets must be input while satisfying a range of '- ⁇ to + ⁇ ' on the graph shown in FIG. 4 .
- tolerance is approximately -2.197 usec to +2.197 usec in the case in which a time period ( ⁇ t) between PCR packets is 40 ms, and tolerance is approximately -3.996 usec to +3.994 usec in the case in which a time period ( ⁇ t) between PCR packets is 100 ms.
- ⁇ ⁇ t t 2 - t 1 ⁇ 40 ⁇ ms PCR i - PCR i ⁇ ⁇ 1080000 ⁇ clock pulses PCR i - PCR i ⁇ / 27 ⁇ 10 6 ⁇ 1 / 25 PCR i - PCR i ⁇ 2 / 27 ⁇ 10 6 2 ⁇ 1 / 625 ⁇ ⁇ 27 + 32.4 + 60 ⁇ 10 - 6 ⁇ 59.4 ⁇ clock counts
- ⁇ ⁇ t t 2 - t 1 ⁇ 100 ⁇ ms PCR i - PCR i ⁇ ⁇ 27 ⁇ 10 5 ⁇ clock pulses PCR i - PCR i ⁇ / 27 ⁇ 10 6 ⁇ 0.1 PCR i - PCR i ⁇ 2 / 27 ⁇ 10 6 2 ⁇ 0.01 ⁇ ⁇ 27 + 81 + 3.75 ⁇ 10 - 6 ⁇ 108 ⁇ clock counts
- the apparatus of the present invention confirms a time period of the PCR packets, and changes the buffering size of the receiving buffer 218 so that the time period of the PCR packets may not get out of the tolerable limit value.
- the apparatus of this aspect appropriately changes the underflow forecast point (QF) in the receiving buffer 218.
- the underflow forecast point (QF) is adjusted to appropriately become lower, so that the size between the data output point (HF) and the underflow forecast point (QF) in the receiving buffer 218 is adjusted to appropriately become larger according to the equations.
- FIG. 5 is a flowchart for explaining operations for detecting a PCR packet and for setting a stamp in the transmission rate adjusting apparatus 210 according to an aspect of the present invention.
- a PAT and a PMT is detected from an input MPTS (step 510).
- a PCR PID is detected from the detected PAT and PMT (step 512), and then PCR data are detected by confirming a packet of a relevant PCR PID (step 514).
- step 516 a tolerable input value between PCR packets as shown in FIG.
- a value of ' ⁇ ' is calculated by the current detected PCR data and previous stored PCR data, and then the current detected PCR data are stored so as to be used for comparison and calculation when next PCR data are detected (step 518).
- a PCR re-stamp operation is performed according to the calculated tolerable input value between the PCR packets, and the underflow forecast point (QF) of the receiving buffer 218 is properly set as shown in FIG. 2 .
- the steps 514, 516, and 518 may be repeatedly performed two or three times, so that an input period and a tolerable input value between the PCR packets can be calculated on an average, respectively.
- the PCR re-stamp operation may be set according to the average of input periods and the average of tolerable input values calculated in this manner. According to such a PCR re-stamp operation, a buffer control operation as shown in FIG. 6 is again initiated to be operated.
- FIG. 6 is a flowchart for explaining an operation of transmitting transport packets inputted in the receiving buffer 218 shown in FIG. 1 in order to adjust a transmission rate of the MPEG-2 data according to an aspect of the present invention, which will be described with reference to FIG. 3 showing input and output states of data buffered in the receiving buffer 218.
- a standby state is maintained till data are buffered to the data output point (HF) of the receiving buffer 218 as at step 610 of FIG. 6 , and when data are buffered to the data output point (HF) of the receiving buffer 218, step 612 is performed.
- step 612 it is confirmed whether or not the current buffered data point (CF) of the receiving buffer 218 has reached the underflow forecast point (QF), and if it has not, step 614 is performed to start reading the buffered data at a rate of 27 Mbps. After this, the above-mentioned processes from step 612 are repeatedly performed. In performing such an operation, at step 612, it is confirmed that the current buffered data point (CF) of the receiving buffer 218 has reached the underflow forecast point (QF), step 616 is performed. At step 616, the transmission of packet currently in progress is completed. After this, an operation of reading data buffered in the receiving buffer 218 is stopped, and the null packet is inserted for transmission (step 618).
- step 620 it is confirmed whether or not the current buffered data point (CF) of the receiving buffer 218 has reached the data output point (HF), and if the current buffered data point (CF) of the receiving buffer 218 does not reach the data output point (HF), the above-mentioned processes from step 618 are repeatedly performed.
- step 620 it is confirmed whether the current buffered data point (CF) of the receiving buffer 218 has reached the data output point (HF), step 622 is performed.
- step 622 the transmission of packet currently in progress is completed, and then the above-mentioned processes from step 612 are repeatedly performed.
- a rate of the packets input to the receiving buffer 218 is 9 Mbps
- a rate of the packets outputted from the receiving buffer 218 is 27 Mbps.
- the current buffered data point (CF) reaches the data output point (HF) when 3 packets are buffered
- the current buffered data point (CF) reaches the underflow forecast point (QF) when one packet and a half are buffered.
- the initial rate of reading the buffered data is at the rate of 27 Mbps, so that a first packet (P1, assuming that it is a PCR packet) is transmitted.
- P1 assuming that it is a PCR packet
- the current buffered data point (CF) of the receiving buffer 218 does not reach the underflow forecast point (QF)
- a second buffered packet (D1) is transmitted.
- the current buffered data point (CF) of the receiving buffer 218 reaches the underflow forecast point (QF), but the transmission of the packet (D1) currently in progress is first completed.
- the current buffered data point (CF) of the receiving buffer 218 has already reached (exceeds) the underflow forecast point (QF)
- the operation of reading buffered data in the receiving buffer 218 is stopped, and the null packet is transmitted.
- the first packet (P1), the second packet (D1), and 4 null packets are transmitted, 2 packets are input into the receiving buffer 218, so that the current buffered data point (CF) of the receiving buffer 218 reaches the data output point (HF). Therefore, a third packet (D2) is transmitted. After the third packet is transmitted, the current buffered data point (CF) of the receiving buffer 218 does not reach the underflow forecast point (QF), a fourth packet (D3) is transmitted.
- the current buffered data point (CF) of the receiving buffer 218 reaches the underflow forecast point (QF), but the transmission of the packet (D3) currently in progress is first completed.
- the transmission of the packet (D3) is completed, as the current buffered data point (CF) of the receiving buffer 218 already reaches, or even exceeds, the underflow forecast point (QF), and an operation of reading data buffered in the receiving buffer 218 is stopped, so that the null packet is transmitted.
- the current buffered data point (CF) of the receiving buffer 218 reaches the data output point (HF), so that a fifth packet (P2) is then transmitted.
- the method of adjusting a transmission rate of the transport packets it is possible to transmit the transport packets at a constant output transmission rate by controlling only a buffer, and not by using clock data recovery (CDR), in which the transport packets have various input transmission rates. Therefore, according to the method of adjusting a transmission rate of the transport packets, it is possible to receive all input data which have a transmission rate equal to or lower than a data reading rate in the receiving terminal (user's set-top box). In other words, the transmission rate is equal to or lower than the constant output transmission rate.
- CDR clock data recovery
- the MPEG-2 decoder of the receiving terminal removes the null packets and processes original data packets, the data can be recovered without any problem although the null packets are inserted at the transmitting terminal. Accordingly, even if the data transmission rate increases by the insertion of the null packets, the MPEG-2 decoder recognizes input data at an original data transmission rate.
- the method of adjusting a transmission rate of MPEG-2 data is achieved by using only a buffer control method, so that the transmission rate of the MPEG-2 data can be adjusted at a lower costs than known heretofore.
- the MPEG-2 data when the MPEG-2 data are received and then transmitted, it is prevented that underflow or overflow occur in the buffer of the receiving section, so that the MPEG-2 data can be efficiently transmitted.
- MPEG-2 is identified in the specification as a protocol suited for this invention
- the invention can be applied to other versions of MPEG, and/or to any communication protocol having variable input rates but is configured to have a general output rate and/or suffer from clock mismatch based on too large of a difference between transmission time and receipt time requiring an adjustment of the output rate without the use of items such as a ReMux or even knowing the exact clock time.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
- The present invention relates to a technique for adjusting a transmission rate of, for example, Moving Picture Experts Group-2 (MPEG-2) data. More particularly, the present invention relates to a method and an apparatus for adjusting a transmission rate of MPEG-2 data, in which the data is being output at a constant output transmission rate that is maintained despite receiving input MPEG-2 data at various input transmission rates, the recovery of data without any information regarding clock data recovery (CDR).
- An MPEG-2 system is adapted for two particular types of multiplexed bit streams, namely a program stream and a transport stream. With regard to these two streams, a program stream is utilized for a multiplexing method either which is applied when one broadcast program including video, audio, and captions is used in an error-free channel environment or when an error correction function of a medium's own is used in tact, as in a compact disks CD or DVD's. A transport stream is utilized for a multiplexing method used when several broadcast programs are simultaneously transmitted in a channel environment having that is not error free. In other words, the program stream is used for storing one program, such as a video CD, and the transport stream is used for digital broadcasting of a plurality of programs by means of an artificial satellite.
- The MPEG-2 system employs a packet multiplexing method, which has been previously used in a time division multiplexing (TDM) method. Herein, each of video and audio bit streams is first divided into packetized elementary streams (hereinafter, referred to as 'PESs') called packets having an appropriate length (in terms of kbytes). Each of the PES packets has an agreed to length limitation of no more than 64 kilobytes maximum, so as to be to communicate with various applications, and may take any one of a fixed length and a variable length. Also, each PES packet may be transmitted either at a variable transmission rate or intermittently. The program stream and the transport stream are made by multiplexing each PES into one bit stream.
- A length of a packet depends largely upon the transmission channel or the medium used. For example, in an asynchronous transfer mode (ATM), which is a protocol for a broadband integrated services digital network (BISDN), packet cells of 53 bytes are used. In such a packet cell, since a header for containing basic information occupies 5 bytes, actual information (payload) for a user is contained within 48 bytes. The transport stream packets (hereinafter, simply referred to as "transport packets") have a comparatively short fixed length of 188 bytes in consideration of connectivity to the ATM In the transport packet, the first 4 bytes make up a header, and 184 bytes are a portion for user information carrying video or audio data. Such a transport packet is carried in 4 ATM cells and is transmitted. At this time, one byte of the 48 bytes for user information in each ATM cell is used for an ATM adaptation layer (AAL), and thus actual user information is contained in 47 bytes.
- The transport packets, which have been first multiplexed and transmitted from each broadcasting station, are re-multiplexed to construct one bit stream, thereby being arranged in a form that can be transmitted through one repeater. Multiplexing of digital satellite broadcasting includes time division multiplexing (TDM) and frequency division multiplexing (FDM). In other words, repeaters have a bandwidth of 27 MHz and are managed in a form of the FDM, but 4 broadcasting stations share the repeaters in the TDM method. The transport stream to be carried to each repeater then undergoes a Reed-Solomon coding and a convolutional coding, and is transmitted between a ground station and a satellite by a quadrature phase shift keying (QPSK) modulation.
- A decoding of the transport stream by a receiving terminal is performed with a reverse process to above-mentioned process. First, the receiving terminal selects a repeater including a broadcast to be desired by a user of the receiving terminal, then the terminal performs a QPSK demodulation of a signal input through the repeater, and corrects the error. The repeater outputs a bit stream in which several broadcasts are multiplexed. Therefore, the receiving terminal first chooses transport packets of only a broadcasting station which is desired to be received, decodes video packets from among the chosen transport packets with a video decoder, and audio packets from among the chosen transport packets with an audio decoder, respectively, thereby reproducing video and audio.
- Recently, the transmission of video data through broadband communication systems, such as a cable TV, a satellite TV network, etc., has become extremely popular. With such a video data transmission, a source video sequence is encoded either after compression (or without compression) to form transport streams, and then may be transmitted at a proper constant bit rate (CBR) or at a variable bit rate (VBR). However, for various applications, before communication is performed to a set-top box (STB) and/or intermediate nodes of a network, an apparatus for varying a transmission rate of video data is necessary. Therefore, an apparatus capable of processing all of the video data of various transmission rates can be contained in the set-top box or the like, but this construction is far from being desirable in terms of the cost and such an apparatus has a complex construction.
- In addition, in order to vary a transmission rate of MPEG-2 data, the use of a REMUX or the like having a comparatively high price is required. Moreover, even with a digital video broadcast asynchronous serial interface (DAB-ASI) as a widely-used transmission method for the transmission of MPEG-2, it is impossible to know the actual transmission rate of data, as only an interface clock of the DVB-ASI can be extracted. Therefore, clock information of the DVB-ASI is also used as clock information of the data, so that an underflow or an overflow may occur in a buffer of a receiving section, wherein the received data are stored in a buffer, such as an FIFO (First In First Out), and subsequently transmitted. For example, when the difference between an actual data rate and the clock information is 1 ppm on the basis of 27 Mbps, either an underflow or an overflow occurs once per approximately 330 seconds. Also, when the difference is 2 ppm on the basis of 27 Mbps, either an underflow or an overflow occurs once per approximately 165 seconds (330/2 = 165). Therefore, there is a need in the art to provide efficient transmission the MPEG-2 data and prevent the problematic data losses caused by clock mismatches between a transmission time and a receipt time when the MPEG-2 data are transmitted.
-
US-A-5905732 discloses multiplexing of completely asynchronous program streams into one single transport stream that has a fixed byte rate that is not locked to any of the pro-gram clock signals. The single program streams supply MPEG-2 transport packets to a corresponding plurality of first-in-first-out (FIFO) buffers and their associated fullness counters. A filler data block provides filler data to the multiplex line whenever there is less than a full packet of data in each of the program FIFOs. Such filler data may comprise non-time sensitive data or null packets. The determination of priority of FIFO read out and provision of data to the multiplexed common data stream at a predetermined output transmission rate via inserting null packets from the null packet storage gets con-trolled by a signal processing section. Only full data or null packets are provided to the multiplexed common data stream. FIFO read out priority is determined based on FIFO fullness and the bit rate of each corresponding program channel. -
US-A-5640388 discloses removing jitter and correcting time stamps in a packet stream. Compensating a multi-program transport stream for variable delays of the transport packets experienced especially during multiplexing and/or transmission before the reception at the reception site is disclosed. To remove this so-called jitter, the incoming multiplexed transport stream is split with means of a de-multiplexer into several sessions which consist of the corresponding program streams. Each Session channel is provided with one buffer sufficiently sized to prevent an overflow or underflow. To provide the necessary program dock recovery time stamp information, each of these buffers must fulfill a minimum buffer size requirement. After completing the operations aimed at solving above problems, the channels again get multiplexed into a single multi program transport stream. -
US-A-6097739 discloses a data transfer rate control method where a stuff packet is inserted in real time. NULL packets, whose packet identification PIDs are all 1s, are inserted to maintain the clock timing for the data packets to be transmitted. An AAL5 packet count interval is determined, at which a NULL packet should be inserted. Based on recorded packet insertion intervals, the average packet insertion interval up to the present is calculated, and in consonance with the average interval resulting from a desired coded bit rate and a set bit rate, the succeeding NULL packet insertion interval is determined. When the packet count value does not equal the obtained packet insertion interval, the common AAL packet transmission process is performed. Then, the packet count value is incremented by one. The process is repeated until the packet count value equals the obtained packet insertion interval, and then a NULL-AAL packet is transmitted. - Accordingly, the present invention has been made to solve at least some of the above-mentioned problems.
- It is then the object of the present invention to provide a simplified method and apparatus for adjusting a transmission rate of multi program transport stream packets by inserting null packets.
- This object is solved by the subject matter of the independent claims.
- Preferred embodiments are defined in the dependent claims.
- Another aspect of the present invention is to provide a method and an apparatus for preventing either or both of an underflow and an overflow from occurring in a buffer of a receiving section and for the efficient transmission of MPEG-2 data when receiving and then transmitting such MPEG-2 data.
- To accomplish the above and other aspects, there is provided an apparatus for adjusting a transmission rate of moving picture experts group 2 (MPEG-2) data, the apparatus comprising: a receiving buffer for buffering multi-program transport stream (MPTS) packets received at various transmission rates; a packet storage for storing MPEG-2 null packets; and a signal processing section for reading data buffered in the receiving buffer at a predetermined output transmission rate, wherein the signal processing section stops an operation of reading data buffered in the receiving buffer, and reads and transmits the MPEG-2 null packets stored in the packet storage when a predetermined underflow occurrence forecast situation is caused in the receiving buffer.
- In accordance with another aspect of the present invention, there is provided a method for adjusting a transmission rate of moving picture experts group 2 (MPEG-2) data, in which multi program transport stream (MPTS) packets input at various transmission rates are received and the MPTS data are transmitted at a predetermined output transmission rate, the method including: a) reading and transmitting buffered data at the output transmission rate when a current buffered data point (CF) reaches a predetermined data output point (HF) in a receiving buffer which receives the inputted MPST packets; b) stopping the reading of data buffered in the receiving buffer and transmitting MPEG-2 null packets at the output transmission rate when the current buffered data point (CF) reaches a predetermined underflow forecast point (QF) in the process of reading the buffered data; and c) reading and transmitting buffered data at the output transmission rate and then proceeding with step b) when the current buffered data point (CF) reaches the data output point (HF) in the process of transmitting the null packets.
- The above and other aspects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:
-
FIG 1 is a block diagram schematically illustrating an apparatus for adjusting a transmission rate of MPEG-2 data according to a first aspect of the present invention and a relevant system; -
FIG 2 is a view showing an example of a format for a receiving buffer shown inFIG 1 ; -
FIG 3 is a view showing input and output states of data buffered in the receiving buffer shown inFIG 1 ; -
FIG 4 is a graph for explaining a tolerable input timing limit between PCR (Program Clock Reference) packets for allocating a buffering region in the receiving buffer shown inFIG 1 ; -
FIG 5 is a flowchart for explaining operations for detecting a PCR packet and for setting a stamp according to the present invention; and -
FIG 6 is a flowchart for explaining an operation of transmitting transport packets input in the receiving buffer shown inFIG 1 in order to adjust a transmission rate of the MPEG-2 data according to an aspect of the present invention. - Hereinafter, a method for adjusting a transmission rate of MPEG-2 data and an apparatus therefor according to the present invention will be described with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may obscure the subject matter of the present invention.
-
FIG. 1 is a block diagram schematically illustrating an apparatus for adjusting a transmission rate of MPEG-2 data according to a first aspect of the present invention and a relevant system. Referring toFIG. 1 , an MPEG-2 data transmitting system may include an optical line terminal (hereinafter, referred to as "OLT") 100 and an optical network unit (hereinafter, referred to as "ONU") 200. TheOLT 100 multiplexes broadcasting data having been transmitted from a plurality of broadcast providers, such as broadcasting stations, and then transmits the multiplexed data through a transmission medium (optical fiber) in order to provide broadcast services to the subscribers. TheONU 200 is a unit of a user side for transmitting information, which has been received from theOLT 100, to a user's set-top box (STB). When broadcasting data transmitted from a broadcast service provider is transmitted to theONU 200 through theOLT 100, theONU 200 receives a service request from a set-top box for a service user and transmits the broadcasting data by a time division multiplexing (TDM) method. - In the
OLT 100, each encoder 100a to 100d encodes transport packets primarily multiplexed in and output from a broadcasting station, and aReMUX 120 constructs and outputs a multi-program transport stream (hereinafter, referred to as "MPTS") by re-multiplexing the encoded data. TheONU 200 includes a transmissionrate adjusting apparatus 210 and asubscriber distribution apparatus 220. The transmissionrate adjusting apparatus 210 receives the MPTS transmitted from theOLT 100 and controls a transmission rate so that the MPTS can be transmitted to the user's set-top box at a predetermined constant transmission rate. Thesubscriber distribution apparatus 220 transmits a bit stream, which has been output from the transmissionrate adjusting apparatus 210, to each user's set-top box. - The transmission
rate adjusting apparatus 210 includes a PAT/PMT analyzer 214, asignal processing section 216, a program identification (hereinafter, referred to as "PID")filter section 212, a receiving buffer (FIFO) 218, aNull packet storage 219, and a program clock reference (hereinafter, referred to as "PCR")information storage 215. The PAT/PMT analyzer 214 analyzes transport packets (PID = 0x0000) including a program association table (hereinafter, referred to as "PAT") and transport packets including a program map table (hereinafter, referred to as "PMT") of the respective programs from input MPTS packets, and outputs information thereof. Thesignal processing section 216 receives information output from the PAT/PMT analyzer 214, confirms PID information of a PCR packet, and controls an operation of thePID filter section 212 according to the result of the confirmation. ThePID filter section 212 confirms a relevant PID of a MPTS packet input under the control of asignal processing section 216, and provides the confirmed information to thesignal processing section 216. The receiving buffer (FIFO) 218 buffers an input MPTS packet, and provides the packets in sequence to thesignal processing section 216 that are identified as the packets buffered under the control of thesignal processing section 216. Thepacket storage 219 stores null packets (PID = 0x1FFF), and thePCR information storage 215 stores PCR information. - According to this aspect of the invention, a rate at which the
signal processing section 216 reads data buffered in the receivingbuffer 218 is set to a value that is equal to or faster than a rate of data input into the receivingbuffer 218. Therefore, the receivingbuffer 218 always forms a situation in which underflow may occur. Thesignal processing section 216 stops an operation of reading data buffered in the receivingbuffer 218 at a proper time before the underflow occurs in the receivingbuffer 218, and reads and transmits the MPEG-2 null packets stored in thepacket storage 219. At this time, thesignal processing section 216 analyzes PCR information and properly controls a buffering size of the receivingbuffer 218 according to the result of the analysis. - In other words, the
signal processing section 216 monitors a current state of the receivingbuffer 218 and the length of a packet read by thesignal processing section 216, and selects and reads thepacket storage 219 storing the null packets and the receivingbuffer 218 storing actual MPEG-2 data. An MPEG-2 decoder of the user's set-top box receives transport streams in which the null packets are inserted then selects and stores packets of only an audio PID, a video PID, and a text PID, and removes packets of PID (0x1FFF) representing a null packet, so that the user's set-top box of the present invention is no different from that of the prior art. - By the construction and the operation as described above, in a case of transmitting data at a constant bit rate (CBR) (for example, 27 Mbps) that is predetermined in accordance with the user's set-top box, when receiving MPEG-2 data at a lower bit rate (for example, 9 Mbps) than the predetermined constant bit rate from the
OLT 100, the transmissionrate adjusting apparatus 210 transmits data at a bit rate identical to the predetermined constant bit rate (27 Mbps) by inserting the null packets, so that a transmission rate to the user's set-top box is constantly maintained (without underflow issues). As described above, the transmissionrate adjusting apparatus 210 according to this aspect of the invention stably transmits all MPEG-2 data which are inputted at a lower bit rate than the predetermined constant bit rate without clock data recovery (CDR). - Hereinafter, an operation of setting a size of the receiving
buffer 218 and confirming underflow will be described in more detail. The length of a MPEG-2 packet (according to the current standard) may be two different sizes, either 188 bytes, or 204 bytes with a RS (Reed-Solomon) code added. In the process of reading such a packet, it is forecasted and confirmed whether or not underflow has occurred in the receivingbuffer 218. When an underflow occurrence is forecasted, a reading process is stopped and the null packets are inserted. As a result, currently transmitted data are cut without a whole packet having been transmitted, and thereby an error may occur. Therefore, it is necessary to ensure that the receivingbuffer 218 has a size of 204 bytes or more, and a null packet has to be inserted after a whole packet has been transmitted. Similarly, 204 bytes or more are additionally required when it is desired to transmit actual data again in the process of transmitting the null packet Consequently, the size of the receivingbuffer 218 must be 408 bytes or more. - Referring to
FIG. 2 showing an example of a construction format of the receivingbuffer 218, the size of the receivingbuffer 218 is set as 2048 bytes, and thesignal processing section 216 starts to read buffered data as soon as the data are buffered up to a predetermined data output point (HF), that is, up to a point of 1024 bytes, as inFIG 2 . At this time, since a data-reading rate has been set to be faster than a data-recording rate, the amount of data buffered in the receivingbuffer 218 is gradually reduced. When the amount of the buffer data reaches a predetermined underflow forecast point (QF), 512 bytes, thesignal processing section 216 completes the transmission of the packet currently in progress, stops reading data buffered in the receivingbuffer 218, and inserts the null packets. During the insertion of the null packet, data are buffered to be again stacked in the receivingbuffer 218. Subsequently, when a current buffered data point (CF) reaches the data output point (HF), thesignal processing section 216 completes the transmission of the null packet currently in progress, and again starts to transmit data buffered in the receivingbuffer 218. Data are transmitted by repeatedly performing such operations. -
FIG 3 is a view showing input and output states of data buffered in the receivingbuffer 218 shown inFIG 1 according to an aspect of the present invention. InFIG 3 , it is shown that packets are input and buffered in the receivingbuffer 218 at 9 Mbps, and are output from the receivingbuffer 218 at 27 Mbps. In other words, in this case, the data output rate is three times as fast as the data input rate. Referring toFIG 3 , while 5 packets PCR1, DATA1, DATA2, DATA3, and DATA 4 are input and buffered in the receivingbuffer 218, 15 packets are output from the receivingbuffer 218 with 10 null packets N. - Meanwhile, when MPEG-2 data are transmitted, PCR packets are transmitted at a predetermined time period, for example, 40ms or 100ms, for program synchronization so as to reduce the risk of interference between a transmitting terminal and a receiving terminal. Therefore, when data are transmitted with null packets inserted into the data according to a characteristic of the present invention, there is a problem in that the time period between PCR packets may drift beyond a tolerable limit value. So, the apparatus of the present invention confirms a time period between PCR packets transmitted with a MPTS which is currently transmitted, and controls the buffering size of the receiving
buffer 218 according to the result of the confirmation. Such a control will be described in more detail with reference toFIG. 4 . -
FIG. 4 is a graph for explaining a tolerable input timing limit between PCR packets for allocating a buffering region in the receivingbuffer 218 shown inFIG 1 according to an embodiment of the present invention.FIG. 4 shows tolerable input timing between PCR packets i and i" with respect to a case in which a time period (Δt) between PCR packets is 40 ms and a case in which a time period (Δt) between PCR packets is 100 ms. The case in which a time period (Δt) between PCR packets is 100 ms is represented with square brackets ([ ]). Referring toFIG 4 , all PCR packets satisfying a value of 'k' in thefollowing equation 1 must be input - According to
equation 1, the PCR packets must be input while satisfying a range of '-δ to +δ' on the graph shown inFIG. 4 . When such a range is calculated according to the followingequations - As described above, the apparatus of the present invention confirms a time period of the PCR packets, and changes the buffering size of the receiving
buffer 218 so that the time period of the PCR packets may not get out of the tolerable limit value. To this end, the apparatus of this aspect appropriately changes the underflow forecast point (QF) in the receivingbuffer 218. In other words, in a case in which a time period of the PCR packets is long, the underflow forecast point (QF) is adjusted to appropriately become lower, so that the size between the data output point (HF) and the underflow forecast point (QF) in the receivingbuffer 218 is adjusted to appropriately become larger according to the equations. -
FIG. 5 is a flowchart for explaining operations for detecting a PCR packet and for setting a stamp in the transmissionrate adjusting apparatus 210 according to an aspect of the present invention. Referring toFIG. 5 , first, a PAT and a PMT is detected from an input MPTS (step 510). After this, a PCR PID is detected from the detected PAT and PMT (step 512), and then PCR data are detected by confirming a packet of a relevant PCR PID (step 514). Subsequently, atstep 516, a tolerable input value between PCR packets as shown inFIG. 4 , that is, a value of 'δ' is calculated by the current detected PCR data and previous stored PCR data, and then the current detected PCR data are stored so as to be used for comparison and calculation when next PCR data are detected (step 518). After this, atstep 520, a PCR re-stamp operation is performed according to the calculated tolerable input value between the PCR packets, and the underflow forecast point (QF) of the receivingbuffer 218 is properly set as shown inFIG. 2 . Thesteps step 520, the PCR re-stamp operation may be set according to the average of input periods and the average of tolerable input values calculated in this manner. According to such a PCR re-stamp operation, a buffer control operation as shown inFIG. 6 is again initiated to be operated. -
FIG. 6 is a flowchart for explaining an operation of transmitting transport packets inputted in the receivingbuffer 218 shown inFIG. 1 in order to adjust a transmission rate of the MPEG-2 data according to an aspect of the present invention, which will be described with reference toFIG. 3 showing input and output states of data buffered in the receivingbuffer 218. At an initial buffer control operation, a standby state is maintained till data are buffered to the data output point (HF) of the receivingbuffer 218 as atstep 610 ofFIG. 6 , and when data are buffered to the data output point (HF) of the receivingbuffer 218,step 612 is performed. Atstep 612, it is confirmed whether or not the current buffered data point (CF) of the receivingbuffer 218 has reached the underflow forecast point (QF), and if it has not, step 614 is performed to start reading the buffered data at a rate of 27 Mbps. After this, the above-mentioned processes fromstep 612 are repeatedly performed. In performing such an operation, atstep 612, it is confirmed that the current buffered data point (CF) of the receivingbuffer 218 has reached the underflow forecast point (QF),step 616 is performed. Atstep 616, the transmission of packet currently in progress is completed. After this, an operation of reading data buffered in the receivingbuffer 218 is stopped, and the null packet is inserted for transmission (step 618). Subsequently, atstep 620, it is confirmed whether or not the current buffered data point (CF) of the receivingbuffer 218 has reached the data output point (HF), and if the current buffered data point (CF) of the receivingbuffer 218 does not reach the data output point (HF), the above-mentioned processes fromstep 618 are repeatedly performed. In such an operation process, atstep 620, it is confirmed whether the current buffered data point (CF) of the receivingbuffer 218 has reached the data output point (HF),step 622 is performed. Atstep 622, the transmission of packet currently in progress is completed, and then the above-mentioned processes fromstep 612 are repeatedly performed. - Hereinafter, the above-mentioned operations will be described in more detail with reference to
FIG. 3 . As shown inFIG. 3 , a rate of the packets input to the receivingbuffer 218 is 9 Mbps, and a rate of the packets outputted from the receivingbuffer 218 is 27 Mbps. In the receivingbuffer 218, it is assumed that the current buffered data point (CF) reaches the data output point (HF) when 3 packets are buffered, and the current buffered data point (CF) reaches the underflow forecast point (QF) when one packet and a half are buffered. - Therefore, when 3 packets are initially buffered in the receiving
buffer 218 at the rate of 9 Mbps, the initial rate of reading the buffered data is at the rate of 27 Mbps, so that a first packet (P1, assuming that it is a PCR packet) is transmitted. After this, the current buffered data point (CF) of the receivingbuffer 218 does not reach the underflow forecast point (QF), a second buffered packet (D1) is transmitted. At this time, while the second buffered packet (D1) is being transmitted, the current buffered data point (CF) of the receivingbuffer 218 reaches the underflow forecast point (QF), but the transmission of the packet (D1) currently in progress is first completed. After this completion, the current buffered data point (CF) of the receivingbuffer 218 has already reached (exceeds) the underflow forecast point (QF), the operation of reading buffered data in the receivingbuffer 218 is stopped, and the null packet is transmitted. Referring toFIG. 3 , while the first packet (P1), the second packet (D1), and 4 null packets are transmitted, 2 packets are input into the receivingbuffer 218, so that the current buffered data point (CF) of the receivingbuffer 218 reaches the data output point (HF). Therefore, a third packet (D2) is transmitted. After the third packet is transmitted, the current buffered data point (CF) of the receivingbuffer 218 does not reach the underflow forecast point (QF), a fourth packet (D3) is transmitted. At the time that the fourth packet is transmitted, while the fourth buffered packet (D3) is being transmitted, the current buffered data point (CF) of the receivingbuffer 218 reaches the underflow forecast point (QF), but the transmission of the packet (D3) currently in progress is first completed. After the transmission of the packet (D3) is completed, as the current buffered data point (CF) of the receivingbuffer 218 already reaches, or even exceeds, the underflow forecast point (QF), and an operation of reading data buffered in the receivingbuffer 218 is stopped, so that the null packet is transmitted. Referring toFIG 3 , after this transmission of the null packet, while 4 null packets are transmitted, the current buffered data point (CF) of the receivingbuffer 218 reaches the data output point (HF), so that a fifth packet (P2) is then transmitted. - As described above, in the method of adjusting a transmission rate of the transport packets according to the present invention, it is possible to transmit the transport packets at a constant output transmission rate by controlling only a buffer, and not by using clock data recovery (CDR), in which the transport packets have various input transmission rates. Therefore, according to the method of adjusting a transmission rate of the transport packets, it is possible to receive all input data which have a transmission rate equal to or lower than a data reading rate in the receiving terminal (user's set-top box). In other words, the transmission rate is equal to or lower than the constant output transmission rate. In this case, since the MPEG-2 decoder of the receiving terminal removes the null packets and processes original data packets, the data can be recovered without any problem although the null packets are inserted at the transmitting terminal. Accordingly, even if the data transmission rate increases by the insertion of the null packets, the MPEG-2 decoder recognizes input data at an original data transmission rate.
- According to the present invention described above, the method of adjusting a transmission rate of MPEG-2 data is achieved by using only a buffer control method, so that the transmission rate of the MPEG-2 data can be adjusted at a lower costs than known heretofore. Particularly, according to the present invention, when the MPEG-2 data are received and then transmitted, it is prevented that underflow or overflow occur in the buffer of the receiving section, so that the MPEG-2 data can be efficiently transmitted.
- While the invention has been shown and described with reference to certain aspects 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 as defined by the appended claims.
- For example, while MPEG-2 is identified in the specification as a protocol suited for this invention, the invention can be applied to other versions of MPEG, and/or to any communication protocol having variable input rates but is configured to have a general output rate and/or suffer from clock mismatch based on too large of a difference between transmission time and receipt time requiring an adjustment of the output rate without the use of items such as a ReMux or even knowing the exact clock time.
Claims (15)
- An apparatus (210) for adjusting a transmission rate of transmitted data, the apparatus comprising:a single receiving buffer (218) for buffering multi program transport stream packets received at various transmission rates;a packet storage for storing null packets (219); anda signal processing section (216) for reading out data buffered in the receiving buffer at a predetermined output transmission rate,wherein the signal processing section stops an operation of reading data buffered in the receiving buffer, and reads and transmits a sequence of null packets stored in the packet storage when the amount of data in the receiving buffer falls below a predetermined underflow occurrence forecast level and resumes to read and transmit a sequence of data packets buffered in the receiving buffer when the amount of data in the receiving buffer exceeds a predetermined output level, said predetermined output level being higher than said predetermined underflow occurrence forecast level, wherein the underflow occurrence forecast level is appropriately set so that the time period between program clock reference packets when read out from the buffer does not exceed a limit value, the limit value being determined and the setting being performed in dependence on the time period between program clock reference packets included in the data when received.
- The apparatus as claimed in claim 1, further comprising:a program association table/program map table analyzer (214) for analyzing information of a program association table and information of a program map table from the received multi program transport stream packets and for outputting the analyzed information;a program identification information filter section (212) for confirming a relevant program identification information of the received multi program transport stream packets and for outputting of the confirmed information,wherein the signal processing section receives the information output from the program association table/program map table analyzer, confirms program identification information of program clock reference packets, controls an operation of the program identification information filter section, and analyzes the program clock reference information to adjust a buffering size of the receiving buffer.
- The apparatus according to claim 1 or 2, wherein the signal processing section controls transmission of the null packets stored in the packet storage along with data from the receiving buffer to provide a generally constant transmission rate to be maintained so as to prevent a predetermined underflow occurrence forecast situation in the receiving buffer.
- The apparatus as claimed in one of claims 1 to 3, wherein an output transmission rate, at which the signal processing section reads data buffered in the receiving buffer, is equal to or greater than a transmission rate of the received multi program transport stream packets.
- The apparatus as claimed in one of claims 1 to 4, wherein data is transmitted according to an MPEG protocol, and the null packets comprise MPEG null packets.
- The apparatus according to claim 5, wherein the MPEG protocol comprises MPEG-2, and the null packets comprise MPEG-2 null packets.
- The apparatus according to one of claims 1 to 6, wherein the receiving buffer is adjusted to a size of 204 or more bytes in order to receive a whole packet when the signal processing section stops reading the receiving buffer.
- The apparatus according to one of claims 1 to 6, wherein the receiving buffer is adjusted to a size of 408 bytes or more when it is desired to transmit data in the receiving buffer while transmitting at least one null packet.
- The apparatus according to claim 2, wherein an input tolerance error of a program clock reference packet is defined according to an input time period of the program clock reference packet.
- A method for adjusting a transmission rate of data, in which multi program transport stream packets inputted at various transmission rates are received and the multi program transport stream data are transmitted at a predetermined output transmission rate, the method comprising the steps of:a) reading and transmitting a sequence of packets of buffered data at the predetermined output transmission rate when the amount of data in a single receiving buffer which receives the multi program transport stream packets exceeds a predetermined output level;b) stopping the reading of data buffered in the receiving buffer and transmitting a sequence of null packets from a separate null packet store at the output transmission rate when the amount of data in the receiving buffer falls below a predetermined underflow occurrence forecast level, said predetermined output level being higher than said predetermined underflow occurrence forecast level; andc) reading and transmitting buffered data at the output transmission rate when the amount of data in the receiving buffer again exceeds the predetermined output level in the process of transmitting the sequence of null packets from the separate null packet store wherein the underflow occurrence forecast level is appropriately set so that the time period between program clock reference packets when read out from the buffer does not exceed a limit value, the limit value being determined and the setting being performed in dependence on the time period between program clock reference packets included in the data when received.
- The method according to claim 10, wherein the data is being transmitted according to an MPEG protocol, and the null packets transmitted in step c) comprise MPEG-null packets.
- The method according to claim 11, wherein the MPEG protocol comprises MPEG-2 and the null packets comprise MPEG-2 null packets.
- The method as claimed in claim 12, wherein, if the amount of data in the receiving buffer falls below a predetermined underflow occurrence forecast level at step b), the reading of data buffered in the receiving buffer is stopped after a transmission of a packet currently in progress is completed, and the MPEG-2 null packets are transmitted at the output transmission rate, and
if the amount of data in the receiving buffer again exceeds the predetermined output level at step c), the buffered data are read to be transmitted at the output transmission rate after a transmission of a null packet currently in progress is completed. - The method as claimed in one of claims 10 to 13, further comprising a step of confirming a time period between the multi program transport stream packets, adjusting the underflow forecast level according to the confirmed time period, and proceeding with step a).
- The method as claimed in claim 14, wherein an input tolerance error of a program clock reference packet is defined according to an input time period of the program clock reference packet.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20040007367A KR100584381B1 (en) | 2004-02-04 | 2004-02-04 | Method for adjusting transmission rate of mpeg-2 data and apparatus therefor |
KR2004007367 | 2004-02-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1562381A1 EP1562381A1 (en) | 2005-08-10 |
EP1562381B1 true EP1562381B1 (en) | 2012-05-09 |
Family
ID=34676002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP20040022099 Expired - Lifetime EP1562381B1 (en) | 2004-02-04 | 2004-09-16 | Method for adjusting transmission rate of MPEG-2 data and apparatus therefor |
Country Status (4)
Country | Link |
---|---|
US (1) | US7652996B2 (en) |
EP (1) | EP1562381B1 (en) |
JP (1) | JP4358124B2 (en) |
KR (1) | KR100584381B1 (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100576869B1 (en) * | 2004-08-10 | 2006-05-10 | 삼성전기주식회사 | A wireless transmission method for transmission stream |
KR100663565B1 (en) * | 2004-12-08 | 2007-01-02 | 삼성전자주식회사 | Amending Apparatus and Amending Method of PCR and Data rate |
JP4746998B2 (en) * | 2006-02-15 | 2011-08-10 | Necディスプレイソリューションズ株式会社 | Transmission rate adjusting device and transmission rate adjusting method |
WO2008117433A1 (en) * | 2007-03-27 | 2008-10-02 | Fujitsu Limited | Optical communication base station, optical signal converting apparatus and optical signal converting method |
EP2165442B1 (en) * | 2007-06-15 | 2011-09-21 | Michele Bargauan | Mega-frame initialization packet generation and synchronous re-generation with bit rate adaptation for single frequency networks with multiple modulation schemes |
CN102204249B (en) * | 2008-07-09 | 2014-06-04 | 爱立信电视公司 | Constant bit rate padding of mpeg transport streams |
US7899089B2 (en) * | 2008-07-09 | 2011-03-01 | Ericsson Television, Inc. | Constant bit rate padding of MPEG transport streams |
JP4609546B2 (en) * | 2008-08-12 | 2011-01-12 | ソニー株式会社 | Time stamp adding apparatus, time stamp adding method, and time stamp adding program |
JP2010081333A (en) * | 2008-09-26 | 2010-04-08 | Sony Corp | Data processing apparatus, and data processing method |
WO2011024437A1 (en) * | 2009-08-25 | 2011-03-03 | パナソニック株式会社 | Recording device and playback device |
US9942606B2 (en) * | 2010-01-05 | 2018-04-10 | Qualcomm Incorporated | Application layer modification to enable transmission gaps |
US9319737B2 (en) * | 2010-01-05 | 2016-04-19 | Qualcomm Incorporated | Transport layer modification to enable transmission gaps |
TW201238354A (en) * | 2011-03-15 | 2012-09-16 | Novatek Microelectronics Corp | Video signal processing circuit and method applicable thereto |
US20120320772A1 (en) * | 2011-06-14 | 2012-12-20 | Qualcomm Incorporated | Communication devices for transmitting data based on available resources |
JP5535267B2 (en) * | 2012-04-16 | 2014-07-02 | 株式会社ソニー・コンピュータエンタテインメント | Server, client device, data distribution method, and data distribution system |
KR102174267B1 (en) * | 2013-12-24 | 2020-11-04 | 주식회사 케이티 | Apparatus and method for transforming video packet |
JP6232303B2 (en) | 2014-01-31 | 2017-11-15 | 株式会社日立製作所 | Information processing device |
US10218626B2 (en) * | 2014-07-10 | 2019-02-26 | Sony Corporation | Data processing device, receiving device, data processing method, and program with dynamic priority order |
EP3035691A3 (en) * | 2014-12-17 | 2016-08-24 | Thomson Licensing | Methods and apparatus for minimizing timing artifacts in remultiplexing |
US11606346B2 (en) | 2020-06-29 | 2023-03-14 | Rockwell Automation Technologies, Inc. | Method and apparatus for managing reception of secure data packets |
US11599649B2 (en) * | 2020-06-29 | 2023-03-07 | Rockwell Automation Technologies, Inc. | Method and apparatus for managing transmission of secure data packets |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566174A (en) | 1994-04-08 | 1996-10-15 | Philips Electronics North America Corporation | MPEG information signal conversion system |
US5640338A (en) | 1995-12-07 | 1997-06-17 | Hyundai Electronics Industries Co. Ltd. | Semiconductor memory device |
US5640388A (en) | 1995-12-21 | 1997-06-17 | Scientific-Atlanta, Inc. | Method and apparatus for removing jitter and correcting timestamps in a packet stream |
JPH1079738A (en) | 1996-09-03 | 1998-03-24 | Fujitsu Ltd | Data transfer rate control method and data transfer rate controller using the same |
US5905732A (en) * | 1996-08-27 | 1999-05-18 | Zenith Electronics Corporation | PCR restamper |
EP0986218A1 (en) * | 1998-09-11 | 2000-03-15 | Alcatel | A shaping method, a shaper realizing such a shaping method and a communication network including such a shaper |
US6580694B1 (en) * | 1999-08-16 | 2003-06-17 | Intel Corporation | Establishing optimal audio latency in streaming applications over a packet-based network |
JP4006612B2 (en) * | 1999-09-27 | 2007-11-14 | ソニー株式会社 | DATA PROCESSING DEVICE AND DATA PROCESSING METHOD, RECORDING MEDIUM, DIGITAL BROADCAST RECEIVING DEVICE, AND RECORDING / REPRODUCING METHOD IN DIGITAL BROADCAST RECEIVING DEVICE |
EP1340368B1 (en) | 2000-11-17 | 2008-04-02 | SmarDTV S.A. | Digital television conditional access methods and apparatus for simultaneously handling multiple television programs |
ATE343262T1 (en) | 2000-12-21 | 2006-11-15 | Cit Alcatel | IMPROVEMENT METHOD FOR A PROGRAM CLOCK REFERENCE OF A MULTIPLE ACCESS AND BURST MODE DOWNWARD LINK IN AN INTEGRATED MULTI-BEAM SATELLITE COMMUNICATIONS SYSTEM |
CA2411991A1 (en) | 2001-11-19 | 2003-05-19 | Linear Systems Ltd. | Transmitting digital video signals over an ip network |
JP2003333488A (en) | 2002-05-09 | 2003-11-21 | Mitsubishi Electric Corp | System and method for reproducing streaming data |
JP2005534219A (en) | 2002-07-19 | 2005-11-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Jitter correction method for system with wall clock |
-
2004
- 2004-02-04 KR KR20040007367A patent/KR100584381B1/en not_active IP Right Cessation
- 2004-06-07 US US10/862,303 patent/US7652996B2/en not_active Expired - Fee Related
- 2004-09-16 EP EP20040022099 patent/EP1562381B1/en not_active Expired - Lifetime
-
2005
- 2005-02-03 JP JP2005027151A patent/JP4358124B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005223914A (en) | 2005-08-18 |
US20050169181A1 (en) | 2005-08-04 |
KR20050079194A (en) | 2005-08-09 |
JP4358124B2 (en) | 2009-11-04 |
US7652996B2 (en) | 2010-01-26 |
EP1562381A1 (en) | 2005-08-10 |
KR100584381B1 (en) | 2006-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1562381B1 (en) | Method for adjusting transmission rate of MPEG-2 data and apparatus therefor | |
US6233253B1 (en) | System for digital data format conversion and bit stream generation | |
US8135020B1 (en) | Packet schedule timestamp for a compressed bitstream | |
US6456782B1 (en) | Data processing device and method for the same | |
JPH114205A (en) | Transmitter and transmission method | |
EP3044897B1 (en) | Method and system for transmitting satellite signals and receiver thereof | |
US11943494B2 (en) | Adaptive video slew rate for video delivery | |
US20050047341A1 (en) | Device for filtering out null packet for MPEG-2 transmission | |
KR20060068181A (en) | Apparatus for communication and broadcasting using multiplexing at mpeg-2 transmission convergence layer | |
EP0920220A2 (en) | Method and apparatus for reducing jitter of a program clock reference in a transport stream of MPEG over ATM, and MPEG decoder | |
EP2079233A2 (en) | Digital broadcast receiver and digital broadcast receiving method | |
EP1145559B1 (en) | Method and apparatus for delivering reference signal information within a specified time interval | |
US7092411B2 (en) | Transport stream multiplexing method, transport stream multiplexing apparatus, and storage and reproduction system | |
EP1933562A2 (en) | Method and apparatus for multiplexing/de-multiplexing multi-programs | |
US20090007201A1 (en) | Jitter Introduction In A Data Transmission System | |
JP2002208904A (en) | Digital signal multiplexer | |
JP2005519541A (en) | Method and apparatus for converting a first data stream into a second data stream | |
US20240372639A1 (en) | Method of measuring timing holdover performance in an r-phy system | |
KR100663565B1 (en) | Amending Apparatus and Amending Method of PCR and Data rate | |
JP4237522B2 (en) | Multimedia receiving terminal apparatus, PCR jitter correcting apparatus and PCR jitter correcting method used in the apparatus | |
JP2005519541A5 (en) | ||
EP1161838A1 (en) | Method and apparatus for generating time stamp information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20040916 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL HR LT LV MK |
|
AKX | Designation fees paid |
Designated state(s): DE FR GB |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: CHO, KYU-HYUNGC/O SAMSUNG ELECTRONICS CO., LTD. Inventor name: CHO, JAE-HUNC/O SAMSUNG ELECTRONICS CO., LTD. Inventor name: OH, YUN-JEC/O SAMSUNG ELECTRONICS CO., LTD. Inventor name: KIM, SANG-HOC/O SAMSUNG ELECTRONICS CO., LTD. |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: SAMSUNG ELECTRONICS CO., LTD |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602004037713 Country of ref document: DE Effective date: 20120705 |
|
RAP2 | Party data changed (patent owner data changed or rights of a patent transferred) |
Owner name: SAMSUNG ELECTRONICS CO., LTD. |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20130212 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602004037713 Country of ref document: DE Effective date: 20130212 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20130531 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20121001 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20170823 Year of fee payment: 14 Ref country code: DE Payment date: 20170822 Year of fee payment: 14 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602004037713 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20180916 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190402 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180916 |