This application is a continuing application, filed under 35 U.S.C. §111(a), of International Application PCT/JP2003/008812, filed on Jul. 10, 2003.
(1) Field of the Invention
This invention relates to a communication system and, more particularly, to a communication system for performing telecommunication on an asynchronous network.
(2) Description of the Related Art
With an explosive increase in traffic on IP networks the nucleus of which is the Internet, in recent years image/speech data has been delivered extensively. It is hoped that more advanced services will be provided in a wider area.
To transmit image/speech data in real time, sending timing must match receiving timing. With asynchronous IP networks, however, a sending end and a receiving end do not have a common reference clock. Accordingly, a receiver must generate data which is in synchronization with a clock at the sending end. Processes, such as decoding, are performed on this data.
The receiver 200 includes an I/F section 206, a memory 202, and a phase locked loop (PLL) control section 204. The PLL control section 204 includes a stored data amount monitoring section 204a and a voltage controlled oscillator (VCO) 204b.
When the I/F section 206 receives send data sent from the transmitter 100 via the IP network 31 and the LAN 32, the I/F section 206 extracts effective data from the send data and sends it to the memory 202. The I/F section 206 also outputs a transmission clock on the LAN 32 connected thereto as a write clock WCK used for writing data to the memory 202.
To be concrete, the I/F section 206 corresponds to a network interface card (NIC), being a expansion card used for connecting a personal computer, a printer, or the like to a LAN. If the LAN 32 is, for example, 10 megabit Ethernet (registered trademark), then the rate of the write clock WCK is 10 Mb/s.
The effective data is written to the memory 202 by using the write clock WCK and is read out from the memory 202 by using a read clock RCK. The stored data amount monitoring section 204a monitors the differential between the amount of data stored in the memory 202 and a set threshold, and outputs differential information.
The VCO 204b changes its oscillation frequency on the basis of the differential information so that the differential between the amount of data stored in the memory 202 and the set threshold will become zero, and generates and outputs the read clock RCK.
That is to say, if the VCO 204b recognizes on the basis of the differential information that the amount of data stored in the memory 202 is smaller than the set threshold, then the VCO 204b makes the read clock RCK slow and reads out the data from the memory 202. On the other hand, if the VCO 204b recognizes on the basis of the differential information that the amount of data stored in the memory 202 is greater than the set threshold, then the VCO 204b makes the read clock RCK fast and reads out the data from the memory 202. By doing so, the VCO 204b keeps the amount of data stored in the memory 202 constant (that is to say, the VCO 204b keeps the read clock RCK constant)
As stated above, data is sent at a constant rate, and control is exercised over reading so that the amount of data stored in the memory 202 included in the receiver 200 will be constant (however, the rate of the write clock WCK is slower than or equal to the rate of the read clock RCK). As a result, read data can be generated in synchronization with the send rate.
A technique in which, at a sending end, time information regarding an asynchronous clock is counted with a clock used on a synchronous network as reference and a count is added to a packet as a time stamp and in which, at a receiving end, reproduction timing is generated on the basis of the time stamp with the clock used on the synchronous network as reference has conventionally been proposed as a technique for re-creating reproduction timing at the receiving end (see, for example, Japanese Patent No. 2861515, paragraphs [0024]-[0026] and FIG. 1).
The receiver 200 shown in
It is assumed that a transmission rate is 6 Mb/s. With the CBR communication, the number of bits is 6 Mb at any time, so the amount of data stored in the memory 202 increases at a constant rate. Accordingly, to keep the amount of data stored in the memory 202 constant, a threshold is set, PLL control is exercised, and reading is performed at a constant read rate. This is the conventional way. By doing so, data can be read out from the memory 202 at the intervals at which data is generated at a sending end.
On the other hand, with the VBR communication the number of bits differs among different portions (if a transmission rate is 6 Mb/s, then the total number of bits in some time zone is 6 Mb), so the amount of data stored in the memory 202 does not increase at a constant rate. If the conventional PLL control in which the amount of data stored in the memory 202 is kept constant by using a fixed threshold is exercised in such a state, then a read clock synchronized with a clock at a sending end cannot be reproduced and therefore data cannot be read out accurately from the memory 202 at the intervals at which data is generated at the sending end. This causes the problem of, for example, a color shear in an image or speech slowness/fast forward.
Moreover, if a packet loss occurred on the IP network 31, the receiver 200 cannot accurately re-create the intervals at which data is generated at the sending end for the same reason that is stated in the case of receiving VBR data. In addition, with the conventional technique (disclosed in Japanese Patent No. 2861515), a reproduction clock is generated at the receiving end on the basis of the clock used on the synchronous network on the condition that packet communication is performed between a transmitter and a receiver which are asynchronous to each other on the network on which synchronization is established by the clock. Accordingly, this technique is not applicable to packet communication on a completely asynchronous network.
The present invention was made under the background circumstances described above. An object of the present invention is to provide a communication system which improves communication quality by accurately re-creating reproduction timing at a receiving end even at the time of receiving VBR data or in the case of the occurrence of a packet loss.
In order to achieve the above object, a communication system for performing telecommunication is provided. This communication system comprises a transmitter for sending packets each including a time stamp and a receiver including a send rate recognition section for recognizing a send rate from the time stamp, a memory for storing receive data, a data addition section for adding, at the time of setting a read rate used for reading out data from the memory, data for correcting a difference between the read rate and the send rate to data written to the memory, a read clock generation section for generating a read clock according to the read rate, and a data removal section for removing the data added from the data read out from the memory on the basis of the read clock.
The above and other objects, features and advantages of the present invention will become apparent from the following description when taken in conjunction with the accompanying drawings which illustrate preferred embodiments of the present invention by way of example.
An embodiment of the present invention will now be described with reference to the drawings.
The transmitter 10 adds a time stamp, being time information, to a packet and sends the packet. A send rate recognition section 21 included in the receiver 20 recognizes a send rate (send bit rate) from the time stamp. A memory 22 stores data (correction data) obtained by adding dummy data to send data at need.
When a read rate at which data is read out from the memory 22 is set, a data addition section (hereinafter referred to as a dummy data addition section) 23 adds data (dummy data) for correcting the difference between the read rate and the send rate to the data to be written to the memory 22.
A read clock generation section 24 generates a read clock RCK which corresponds to the set read rate (which is equal to the set read rate). A data removal section (hereinafter referred to as a dummy data removal section) 25 extracts the dummy data added from the data read out from the memory 22 by using the read clock RCK, and removes the dummy data added. The data from which the dummy data has been removed is decoded by a processing section at a subsequent stage.
The operation of recognizing a send rate will now be described.
[S1] At time t0 the transmitter 10 adds a time stamp TS0 (time information indicates zero second) to data D0 and sends the data D0.
[S2] At time t1 the transmitter 10 adds a time stamp TS1 (time information indicates one second) to data D1 and sends the data D1.
[S3] When the send rate recognition section 21 included in the receiver 20 receives the data D0 and D1, the send rate recognition section 21 recognizes from the time stamps TS0 and TS1 added that the interval at which the data D0 and D1 were sent is one second (=1 second−0 second=(time information obtained from the time stamp TS1)−(time information obtained from the time stamp TS0)). The number of bits included in the send data is one, so the send rate recognition section 21 recognizes that a send rate is 1 b/s (=1 bit/1 second) from time t0 to time t1.
[S4] At time t2 the transmitter 10 adds a time stamp TS2 (time information indicates two seconds) to data D2 and sends the data D2.
[S5] When the send rate recognition section 21 receives the data D2, the send rate recognition section 21 recognizes from the time stamps TS1 and TS2 that the interval at which the data D1 and D2 were sent is one second (=2 seconds−1 second=(time information obtained from the time stamp TS2)−(time information obtained from the time stamp TS1)). The number of bits included in the send data is one, so the send rate recognition section 21 recognizes that a send rate is 1 b/s from time t1 to time t2.
[S6] At time t3 the transmitter 10 adds a time stamp TS3 (time information indicates two and a half seconds) to data D3 and sends the data D3.
[S7] When the send rate recognition section 21 receives the data D3, the send rate recognition section 21 recognizes from the time stamps TS2 and TS3 that the interval at which the data D2 and D3 were sent is half of a second (=2.5 seconds−2 seconds=(time information obtained from the time stamp TS3)−(time information obtained from the time stamp TS2)). The number of bits included in the send data is one, so the send rate recognition section 21 recognizes that a send rate is 2 b/s (=1 bit/0.5 seconds) from time t2 to time t3. The send rate recognition section 21 can recognize the send rates in this way on the basis of the information obtained from the time stamps the transmitter 10 adds to the packets.
The operation of adding dummy data will now be described with reference to
It is assumed that the transmitter 10 adds a time stamp TS0 (time information indicates zero second), a time stamp TS1 (time information indicates one second), a time stamp TS2 (time information indicates two seconds), and a time stamp TS3 (time information indicates three seconds) to 2-bit data d0 through d3, respectively, and that the transmitter 10 sends the 2-bit data d0 through d3 at intervals of one second. Moreover, it is assumed that data is read out from the memory 22 included in the receiver 20 at a read rate of 6 b/s.
In
The read rate is 6 b/s. Therefore, the dummy data addition section 23 adds 4-bit dummy data to the data d0 to correct the difference between the read rate (6 b/s) and the send rate (2 b/s). The dummy data addition section 23 then writes the data d0 and the 4-bit dummy data to the memory 22. Similarly, 4-bit dummy data is added to the data d1 and these pieces of data are written to the memory 22. In addition, 4-bit dummy data is added to the data d2 and these pieces of data are written to the memory 22.
In
The read rate is 6 b/s. Therefore, the dummy data addition section 23 adds 10-bit dummy data to the data d0 to correct the difference between the read rate (6 b/s) and the send rate (1 b/s). The dummy data addition section 23 then writes the data d0 and the 10-bit dummy data to the memory 22.
If the dummy data is not added and the send data is written to the memory 22, then the send data is stored closely in the memory 22 and a storage area in the memory 22 which was to be occupied by the data d1 is occupied by the send data other than the data d1. Accordingly, when the data is read out from the memory 22 at a constant read rate, the intervals at which the data is read out from the memory 22 do not become equal to the intervals at which the data was sent.
In the present invention, the dummy data is added to the send data and these pieces of data are written to the memory 22. Therefore, even if the data d1 is lost, the send data other than the data d1 is not written to a storage area in the memory 22 which was to be occupied by the data d1. When the data is read out from the memory 22 at a constant read rate, the intervals at which the data is read out from the memory 22 become equal to the intervals at which the data was sent (In
An overview of the operation in the present invention has been given with loss of data as an example. In the present invention, however, intervals at which data is sent can accurately be re-created by the same operation even at the time of receiving VBR data which is not sent at constant intervals.
The case where the present invention is applied to an MPEG system will now be described.
An MPEG transmitter 10a shown in
The oscillator 11 generates a reference clock necessary for the MPEG transmitter 10a to operate, and inputs the reference clock to the time stamp counter 12 and the read/add control section 13. The time stamp counter 12 counts on the basis of the reference clock. The read/add control section 13 outputs a read enable to the MPEG encoder 14 and outputs a time stamp add enable to the time stamp addition section 15.
The MPEG encoder 14 codes MPEG data, generates a transport packet (which is a fixed-length packet made up of 188 bytes and a plurality of which make up a transport stream) used for communication and broadcasting, and outputs the transport packet on the basis of the read enable. The time stamp addition section 15 adds a count outputted from the time stamp counter 12 when the time stamp addition section 15 receives the time stamp add enable to the transport packet as a time stamp. The I/F section 16 converts the format of the transport packet to which the time stamp has been added to satisfy IP, and outputs the transport packet to an IP network 31.
An MPEG receiver 20a shown in
When the NIC 26 which functions as an interface with a LAN 32 receives send data sent from the MPEG transmitter 10a via the IP network 31 and the LAN 32, the NIC 26 extracts effective data (transport packet) from the send data. The NIC 26 also outputs a transmission clock on the LAN 32 connected thereto as a write clock WCK for writing data to the memory 22.
The time stamp separation section 21a separates the time stamp from the transport packet. The data amount determination section 21b determines the amount of data included between time stamps. (In this case, a time stamp is added to each packet. Each packet is a fixed-length packet and is made up of 188 bytes. Accordingly, the amount of data included between time stamps is 188 bytes. However, the data amount determination section 21b is located for accommodating variable-length packet communication.) The control section 21c calculates a send rate from the time stamp and the amount of the data.
On the basis of a read rate set for reading out data from the memory 22, the dummy data addition section 23 adds dummy data for correcting the difference between the read rate and the send rate to the transport packet and treats the dummy data and the transport packet as data to be written to the memory 22. The memory 22 stores the transport packet to which the dummy data has been added on the basis of the write clock WCK.
The stored data amount monitoring section 24a-1 monitors the differential between the amount of data stored in the memory 22 and a set threshold, and outputs differential information. The VCO 24a-2 changes its oscillation frequency on the basis of the differential information so that the differential between the amount of data stored in the memory 22 and the set threshold will become zero, and generates and outputs a read clock RCK which is equal to the read rate.
The dummy data removal section 25 removes the dummy data from the read data read on the basis of the read clock RCK. The MPEG decoder 27 decodes the transport packet outputted from the dummy data removal section 25.
The operation will now be described by using a time chart.
[P1] The MPEG encoder 14 included in the MPEG transmitter 10a outputs transport packets A through E. The time stamp addition section 15 adds time stamps TS1 through TS5 to the transport packets A through E respectively. It is assumed that pieces of time information given by the time stamps TS1 through TS5 are t1 through t5 respectively.
The intervals at which the transport packets are sent are not constant. If the interval at which the transport packets A and B are sent is TA-B, the interval at which the transport packets B and C are sent is TB-C, the interval at which the transport packets C and D are sent is TC-D, and the interval at which the transport packets D and E are sent is TD-E, then TA-B=TB-C<TC-D=TD-E. That is to say, the intervals at which the transport packets are sent become longer.
[P2] The I/F section 16 included in the MPEG transmitter 10a outputs the transport packets A through E to which the time stamps TS1 through TS5, respectively, have been added to the network in order.
[P3] The NIC 26 included in the MPEG receiver 20a receives the transport packets A through E. However, it is assumed that time taken to arrive at the NIC 26 differs among the transport packets because of delay factors in network transmission (variation in time taken to arrive is referred to as a jitter). In this example, it is assumed that the interval TjA-B at which the transport packets A and B are received is shorter than TA-B and that the interval TjB-C at which the transport packets B and C are received is longer than TB-C.
[P4] The send rate recognition section 21 calculates the interval at which the transport packets A and B are sent from the time stamps TS1 and TS2 (t2−t1 =TA-B) and recognizes a send rate at time TA-B from this calculation result and the amount of packet data. The dummy data addition section 23 then adds dummy data M1 for correcting the difference between the read rate at which data is read out from the memory 22 and the send rate to the transport packet A.
The send rate recognition section 21 calculates the interval at which the transport packets B and C are sent from the time stamps TS2 and TS3 (t3−t2=TB-C) and recognizes a send rate at time TB-C from this calculation result and the amount of packet data. The dummy data addition section 23 then adds dummy data M2 for correcting the difference between the read rate at which data is read out from the memory 22 and the send rate to the transport packet B. Dummy data M3 and M4 are generated in the same way and are added to the transport packets C and D respectively.
[P5] Data to which dummy data has been added is read out from the memory 22 by using the invariably constant read clock RCK so that the amount of data stored in the memory 22 will be constant. Accordingly, even at the time of receiving VBR data, data can be read out from the memory 22 at intervals at which data is generated at the sending end. Moreover, the memory 22 functions as a jitter buffer. That is to say, a jitter is absorbed by temporarily holding data by the memory 22.
[P3-1] The NIC 26 included in the MPEG receiver 20a receives the transport packets A through E. However, it is assumed that the transport packet B is lost in network transmission.
[P4-1] The send rate recognition section 21 calculates the interval at which the transport packets A and C are sent from the time stamps TS1 and TS3 (t3−t1=TA-B+TB-C) and recognizes a send rate at time (TA-B+TB-C) from this calculation result and the amount of packet data. The dummy data addition section 23 then adds dummy data M1a for correcting the difference between the read rate at which data is read out from the memory 22 and the send rate to the transport packet A. In addition, dummy data M3 and M4 are generated and are added to the transport packets C and D respectively.
[P5-1] Data to which dummy data has been added is read out from the memory 22 by using the invariably constant read clock RCK so that the amount of data stored in the memory 22 will be constant. Accordingly, even in the case of the occurrence of a packet loss, data can be read out from the memory 22 at intervals at which data is generated at the sending end.
As stated above, in the present invention dummy data is added when data is inputted to the buffer memory at the receiving end. As a result, a rate is fixed. By doing so, the intervals at which data is generated at the sending end can accurately be re-created even at the time of receiving VBR data or in the case of the occurrence of a packet loss. And furthermore, the case where the present invention is applied to the MPEG image transmitter and receiver has been described. However, the present invention is applicable to various transmitters and receivers which are connected asynchronously.
As has been described in the foregoing, in the communication system according to the present invention, the transmitter sends packets to which time stamps have been added and the receiver recognizes a send rate from the time stamps, stores data to which dummy data for correcting the difference between a read rate set for reading the data from the memory and the send rate has been added in the memory, and reads out the data from the memory. As a result, reproduction timing can accurately be re-created at the receiving end even at the time of receiving VBR data or in the case of the occurrence of a packet loss. Therefore, communication quality can be improved.
The foregoing is considered as illustrative only of the principles of the present invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and applications shown and described, and accordingly, all suitable modifications and equivalents may be regarded as falling within the scope of the invention in the appended claims and their equivalents.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP03/08812 | Jul 2003 | US |
Child | 11270283 | Nov 2005 | US |