Data transmission method

Abstract: In a data transmission method of the present invention, not only when relay of input packets is performed but also transmission of a retransmission packet or a correction packet is performed, changes in an output rate due to output rate control is suppressed, and data transmission is efficiently performed according to a capacity of an output channel. A data transmission device comprises a packet priority decision unit 15 for deciding priorities of input packets, a retransmission packet, and an FEC packet, an output delay calculation unit 17 for calculating a delay time until data of the respective packets is reproduced by a receiving terminal, and an FEC packet generation unit 19 for generating an FEC packet containing an error correcting code which corresponds to a packet designated on the basis of the priorities of the respective packets. When transmission of the retransmission packet and the FEC packet together with the input packets is performed, lower priority packets corresponding to a size of packets which are additionally transmitted are thinned out.

Description: FIELD OF THE INVENTION The present invention relates to a data transmission method and, more particularly, to a method for relaying packets which are successively input from a transmitting end, to output the same to a receiving terminal, as well as controlling an output rate. BACKGROUND OF THE INVENTION Figs. 3(a) and 3(b) are diagrams for explaining a prior art data transmission method and showing processing in a relay server. As shown in fig. 3(a), a prior art relay server performs relay processing of receiving packets which are successively input from a transmitting end and successively outputting the received packets to a receiving terminal. In this prior art relay server, when an input rate is higher with relative to a channel capacity at an output end, overflow occurs in a transmission queue M in the relay server. Accordingly, as shown in fig. 3(b), on the basis of information about priorities attached to respective packets, the prior art relay server outputs only higher priority packets Pa having priorities of a predetermined value or higher, with thinning out lower priority packets Pb having priorities lower than the predetermined value. Hereinafter, brief descriptions are given of data structures of the packets Pa and Pb, and a detailed construction of the data transmission device as a prior art relay server. Figs. 4 are diagrams illustrating data structures of the packets. Each of the packets Pa and Pb transmitted by the above-described transmission method comprises a data part Pd for storing digital data corresponding to a medium, such as a video image, a voice, and a character, and a header part Ph for storing relevant information indicating an attribute or the like of the digital data, as shown in figs. 4(a) and 4(b). In the header part, information indicating a priority of data stored in the data part (hereinafter, simply referred to a priority) are stored as one of the relevant information. For example, the packet Pa is a higher priority packet having a value "1" indicating that the priority is higher, stored in its header part Ph. The packet Pb is a lower priority packet having a value "2" indicating that the priority is lower, stored in its header part Ph. In addition, fig. 5 is a block diagram illustrating a structure of this data transmission device (relay server). This data transmission device 200 constitutes a relay server for relaying transmission data between a distribution server (transmitting end) and a terminal (receiving end), and has a receiving unit 11 for receiving input packets which are transmitted from the distribution server, a transmission queue management unit 12 for setting an order of transmitting the received input packets on the basis of predetermined information, and a transmission unit 13 for transmitting the respective packets in the transmission order set by the management unit 12. The transmission queue management unit 12 includes a transmission queue (not shown) as a data buffer for temporarily storing the input packets received by the receiving unit 11. In addition, the data transmission device 200 has a packet priority decision unit 15 for deciding priorities of the input packets. In the transmission queue management unit 12, the transmission order is decided by thinning out lower priority packets in the transmission queue on the basis of the decided priorities and higher priority packets in the transmission queue are output to the transmission unit 13 in the decided order. However, since the prior art relay server performs a simple output rate control of not transmitting lower priority packets but transmitting only higher priority packets, the output rate may be lower than required, or the output rate may be changed considerably with the output rate control. In addition, occurrence of a transmission error on a channel cannot be avoided. In parenthesis, a bit error rate in a wired section is about 10 -5 to 10 -7 and a bit error rate in a wireless section is about 10 -3 . Particularly, in a data transmission method in which a reproduction quality depends on a transmission quality of end-to-end (between a distribution server and a receiving terminal), such as a RTP (Real-Time Transport-Protocol) method, the transmission quality in a wireless section significantly influences the reproduced quality. Accordingly, in order to recover the transmission error, the relay server retransmits a packet in accordance with a retransmission request from a receiving terminal end or transmits to a predetermined packet, a correction packet containing an error correcting code for correcting a data error of the packet. However, only with the transmission control according to the priorities of the input packets, when retransmission of a packet or transmission of a correction packet is performed, the output rate in the relay server increases and thereby the output rate exceeds a value corresponding to the channel capacity. Picker D. et al in: "Scaling and Performance of a Priority Packet Queue for Real-Time Applications", published in Proceedings of the Real-Time System Symposium, US, Los Alamitos, IEEE Comp. Soc. Press, 7 December 1994 (1994-12-07), pages 56-62 is concerned with investigations regarding the sealing and performance of a particular CMOS priority packet queue design. The priority packet queue can either performed priority inheritance or overwrite lower priority packets during queue overflow. SUMMARY OF THE INVENTION It is an object of the present invention to provide a data transmission method which can suppress changes in the output rate due to the output rate control, not only when relay of input packets is performed but also when transmission of a retransmission packet or a correction packet is performed, as well as perform transmission of packets efficiently according to the capacity of the output channel. According to the present invention, the object is achieved by a data transmission method for relaying plural input packets which are successively transmitted from a transmitting end, to output the same to a receiving terminal, as well as transmitting at least one additional packet, being an input packet instructed to be retransmitted from the receiving terminal or a correction packet containing an error correcting code for a predetermined input packet, comprising the steps of assessing the priority attached to each input packet from the transmitting end and the priority attached to at least one of the additional packets; outputting the input packets as well as outputting at least one additional packet, and thinning out input packets having priorities lower than the priority of the additional packet and a data size corresponding to the data size of the additional packet. BRIEF DESCRIPTION OF THE DRAWINGS Fig.1 is a block diagram illustrating a data transmission device according to a first embodiment of the present invention. Figs.2(a) and 2(b) are diagrams schematically illustrating transmission rate control in the data transmission device of the first embodiment. Fig.2(a) shows a state where input packets are stored in a transmission queue M of the data transmission device and fig.2(b) shows a state where an order of transmitting the packets in the transmission queue is set. Fig.2(c) shows a data structure of a retransmission packet and fig.2(d) shows a data structure of an FEC packet. Figs. 3(a) and (b) are diagrams illustrating transmission rate control in a prior art data transmission device. Fig. 3(a) shows a state where input packets are stored in a transmission queue M in a relay server and fig. 3(b) shows a state where thinning-out processing is performed for packets in the transmission queue M in the relay server. Figs. 4(a) and (b) are diagrams for explaining data structures of the input packets. Fig.4(a) shows a data structure of a higher priority packet and fig. 4(b) shows a data structure of a lower priority packet. Fig. 5 is a block diagram illustrating a priori art data transmission device for relaying packets by a prior art data transmission method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, an embodiment of the present invention will be described. A data transmission method according to an embodiment of the present invention performs, for input packets from a transmitting end, and an input packet instructed to be retransmitted (retransmission packet) and a correction packet (FEC packet) containing an error correcting code, decision of priorities attached to the respective packets and transmits only packets having priorities of a predetermined value or higher. Fig.1 is a block diagram illustrating the data transmission device according to the embodiment. A data transmission device 101 of the embodiment constitutes a relay server for relaying transmission data between a distribution server (transmitting end) and a terminal (receiving end). This data transmission device 101 has a receiving unit 11 for receiving input packets transmitted from the distribution server, a transmission queue management unit 12a for setting an order of transmitting the received input packets, a packet to be retransmitted (retransmission packet), and an FEC (Forward Error Correction) packet (correction packet) containing an error correcting code, on the basis of predetermined information, and a transmission unit 13 for transmitting the respective packets in the transmission order set by the management unit 12a. The transmission queue management unit 12a includes a transmission queue (not shown) as a data buffer for temporarily storing the input packets received by the receiving unit 11. Further, the data transmission device 101 has a retransmission buffer 18a for storing a predetermined input packet as a retransmission packet, a packet priority decision unit 15 for deciding priorities of the input packets, the retransmission packet, and the FEC packet, and a retransmission buffer management unit 18 for controlling the retransmission buffer 18a on the basis of the decided priorities of the packets such that data of packets having priorities of a predetermined value or higher are stored in the buffer 18a. Further, the data transmission device 101 has a retransmission instruction receiving unit 14 for receiving an instruction to request retransmission of a packet from the receiving terminal, and an FEC packet generation unit 19 for generating an FEC packet (correcting packet) containing an error correcting code which corresponds to a packet designated on the basis of the priorities of the respective packets. Further, the data transmission device 101 has an output delay calculation unit 17a for calculating, on the basis of the transmission order information of each packet from the transmission queue management unit 12a, a delay time until data of each packet in the transmission queue management unit 12a is reproduced by the receiving terminal (reproduction delay time), and a transmission packet decision unit 16 for deciding a packet to be transmitted, on the basis of the retransmission request from the receiving end, the priority information of each packet, and the reproduction delay time of each packet, and thereby the decision by the decision unit 16 is output to the transmission queue management unit 12a as predetermined information. Next, functions and effects will be described. Figs.2 are diagrams schematically illustrating transmission rate control in the data transmission device of the first embodiment. Fig.2(a) shows a state where packets (input packets) transmitted by the distribution server are stored in the transmission queue in the relay server (data transmission device) 101. Fig.2(b) shows a state where the transmission order of the packets in the transmission queue in the relay server is set. In the data transmission method of the embodiment, when transmission of a retransmission packet Pr and an FEC packet Pfec is performed together with transmission of input packets Pa and Pb, lower priority packets Pb corresponding to a size of these packets to be transmitted are thinned out, thereby suppressing changes in the output rate. Here, each packet transmitted from the distribution server, i.e., each of higher priority packets Pa and lower priority packets Pb comprises a data part Pd for storing digital data which corresponds to a medium, such as a video image, a voice, and a character, and a header part Ph for storing relevant information indicating an attribute of the digital data, as shown in figs. 4(a) and (b). In addition, each of the retransmission packet Pr and the FEC packet Pfec also comprises a data part Pd for storing digital data and a header part Ph for storing relevant information indicating an attribute of the digital data, as shown in figs.2(c) and (d), like the packets Pa and Pb. In this case, in the header part Ph in the packet, additional information concerning a sequence number and a priority and the like is stored as the relevant information. However, only values of priority information are shown in figs.2, with a value corresponding to a higher priority as "1" and a value corresponding to a lower priority as "2". Hereinafter, an operation of the data transmission device 101 will be briefly described. In the data transmission device 101 as the relay server, the received input packets Pa and Pb are supplied to the transmission queue management unit 12a as well as to the retransmission buffer 18a. In addition, to the transmission queue management unit 12a, a retransmission packet Pr corresponding to an input packet to which a retransmission request is issued from the receiving terminal end is supplied from the retransmission buffer 18a, as well as a correction packet Pfec corresponding to a predetermined input packet is supplied from the FEC packet generation unit 19. At this time, a priority of respective packet in the transmission queue M in the transmission queue management unit 12a is decided by the packet priority decision unit 15 as well as a reproduction delay time of the respective packet is calculated by the output delay calculation unit 17a, and the decided priority and reproduction delay time which correspond to the respective packet are output to the transmission packet decision unit 16. In addition, in the transmission packet decision unit 16, on the basis of the priorities of the input packets Pa and Pb and the retransmission packet Pr, an instruction as for whether an FEC packet (correction packet) Pfec containing an error correcting code for these packets is generated or not is output to the FEC packet generation unit 19. Then, when transmission of the retransmission packet Pr and the FEC packet Pfec is performed together with the transmission of the input packets Pa and Pb, the transmission packet decision unit 16 instructs the transmission queue management unit 12a to thin out lower priority packets corresponding to a size of the retransmission packet and the FEC packet which are to be transmitted. In the management unit 12a, the transmission order of the packets is set on the basis of this instruction (see fig.2(b)). In the transmission unit 13, processing of transmitting the input packets, the retransmission packet, and the FEC packet to the receiving terminal in the set transmission order is performed. Here, in the retransmission buffer 18a, with the control by the retransmission buffer management unit 18, the input packets are stored in the retransmission buffer 18a as retransmission packets and data of packets which will be late for the reproduction times are successively freed (abandoned) by the management unit 18. As described above, in the embodiment, when the transmission of the retransmission packet Pr and the FEC packet Pfec is performed together with the transmission of the input packets Pa and Pb, lower priority packets Pb corresponding to the size of these packets to be transmitted are thinned out. Therefore, not only when the relay of the input packets is performed but also when the transmission of the retransmission packet and the correction packet is performed, changes in the output rate can be suppressed and further the data transmission can be efficiently performed according to the capacity of the output channel. In this embodiment, when the transmission of the retransmission packet and the FEC packet is performed together with the transmission of the input packets, lower priority packets corresponding to the size of these packets to be transmitted are thinned out. However, when it is decided that a predetermined retransmission packet and FEC packet are transmitted and then a packet having a long reproduction delay time (i.e., a packet which will be late for the reproduction time at the receiving end) arises from that decision, transmission of lower priority packets having priorities lower than the priorities of the retransmission packet and the FEC packet can be stopped. Further, the data transmission device of the embodiment performs transmission of the retransmission packet and the FEC packet together with the transmission of the input packets. However, the data transmission device can perform the relay processing of relaying input packets which are successively input from the distribution server (transmitting end) to output the same to the receiving terminal, as well as performs only one of the retransmission of an input packet which a retransmission instruction is issued from the receiving terminal and the transmission of a correction packet containing an error correcting code which corresponds to a predetermined input packet. In the embodiment, the method which is used in a data transmission device for relaying input packets which are successively input from the transmitting end and outputting the same to the receiving terminal is described as a data transmission method. However, fundamental principles in data transmission methods according to the claim of the present invention are not limited to the methods used in a relay server. For example, the fundamental principles can be applied to a method for relaying input packets which are successively input from a receiving terminal end and outputting the same to a transmitting end, or a method for transmitting data directly to a receiving terminal from a distribution server.

Claims: A data transmission method for relaying plural input packets (Pa, Pb) which are successively transmitted from a transmitting end, to output the same to a receiving terminal, as well as transmitting at least one additional packet (Pr, Pfec), being an input packet (Pr) instructed to be retransmitted from the receiving terminal or a correction packet (Pfec) containing an error correcting code for a predetermined input packet, comprising the steps of: assessing the priority attached to each input packet (Pa, Pb) from the transmitting end and the priority attached to at least one of the additional packets (Pr, Pfec); and outputting the input packets (Pa, Pb) as well as outputting at least one additional packet (Pr, Pfec), characterized by the step of thinning out input packets (Pb) having priorities lower than the priority of the additional packet (Pr, Pfec) and a data size corresponding to the data size of the additional packet (Pr, Pfec).

Inventors: FUKUSHIMA HIDEAKI, HAGAI MAKOTO, HORII SEIJI, MATSUI YOSHINORI, OHNISHI TATSUYA, FUKUSHIMA, HIDEAKI, HAGAI, MAKOTO, HORII, SEIJI, MATSUI, YOSHINORI, OHNISHI, TATSUYA
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1999
Main classification: H04L29
IPC codes: H04L1, H04L29, H04L12