Transmitter, receiver, wireless communication system including these, program, and computer-readable recording medium having the program recorded thereon
The transmitting and receiving devices efficiently process and transmit packets in real-time, addressing delay and network coding challenges, enabling low-latency burst transmission in wireless communication systems.
Patent Information
- Application Number
- JP2021012882
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-01-29
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2041-01-29
AI Technical Summary
Existing communication methods experience delays due to waiting for multiple packets to arrive before processing and face challenges in efficiently performing network coding, especially when the start and end of a burst are unknown.
A transmitting device and receiving device that process packets in real-time, using a buffer and processing means to generate encoded packets, which are transmitted through different paths, and decode them efficiently, reducing delay and enabling low-latency burst transmission.
Enables the transmission of multiple packets constituting a burst with low delay, improving communication efficiency and reliability in wireless communication systems.
Smart Images

Figure 0007599208000018 
Figure 0007599208000019 
Figure 0007599208000020
Abstract
Description
[Technical field]
[0001] The present invention relates to a transmitting device, a receiving device, a wireless communication system including these, a program, and a computer-readable recording medium having the program recorded thereon. [Background technology]
[0002] Non-Patent Document 1 discloses that when a plurality of packets to be transmitted are collected, the plurality of packets are transmitted via a plurality of routes.
[0003] Furthermore, Non-Patent Document 2 discloses an attempt to reduce delay by transmitting multiple packets while sliding a window over the multiple packets at the time when multiple packets to be transmitted are collected.
[0004] Furthermore, Patent Document 1 discloses that in many-to-many communications, a plurality of packets are network-coded, and the network-coded packets are broadcast, thereby improving the packet arrival rate.
[0005] More specifically, in a first period, the wireless devices TM_1 to TM_6 each generate and broadcast single packets PKT1(1) to PKT6(1) having sequence number Seq=1. Thereafter, in a second period, the wireless devices TM_1 to TM_6 generate and broadcast a combined packet of a coding packet obtained by network-coding packets PKT1(1) to PKT6(1) having sequence number Seq=1 and a single packet having sequence number Seq=2. Furthermore, in a third period, the wireless devices TM_1 to TM_6 generate and broadcast a combined packet of a coding packet obtained by network-coding packets PKT1(2) to PKT6(2) having sequence number Seq=2 and a single packet having sequence number Seq=3. The wireless devices TM_1 to TM_6 then repeat this process.
[0006] Thus, Patent Document 1 discloses that each of the wireless devices TM_1 to TM_6 generates a coding packet by network coding a packet generated by itself and a packet received from another wireless device. In other words, Patent Document 1 discloses that, when a packet to be network-coded is known, a coding packet is generated by network coding a plurality of packets. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] JP 2010-093738 A [Non-patent literature]
[0008] [Non-Patent Document 1] https: / / ieeexplore.ieee.org / stamp / stamp.jsp?arnumber=57535 67&casa_token=NlznD3EhwnsAAAAA:GxTWt9heKzlvg0G6nUoIhPijCKnV26EoCsg0jRrjm7ZFijLql TaT7s_IXCxZ4H7bK8IfHn-nQA [Non-Patent Document 2] https: / / ieeexplore.ieee.org / stamp / stamp.jsp?arnumber=88267 10&casa_token=zouNIPn0UqgAAAAA:aoV6VQxo79INnWaVIlTKDcxSkeH_nrWGEnZxVxbZYgxRlUaY899uw4fe9yeW-P-MmdxEFHu5QQ Summary of the Invention [Problem to be solved by the invention]
[0009] However, the communication methods described in Non-Patent Documents 1 and 2 wait for multiple packets to arrive before processing them, so if multiple packets that make up a burst are transmitted using the communication methods described in Non-Patent Documents 1 and 2, delays will occur.
[0010] Furthermore, since it is not possible to know the start and / or end of a burst, the method described in Patent Document 1 has difficulty in efficiently network coding (encoding) packets.
[0011] Therefore, according to an embodiment of the present invention, a transmitting device capable of transmitting a plurality of packets constituting a burst with low delay is provided.
[0012] Furthermore, according to an embodiment of the present invention, there is provided a receiving device that receives packets from a transmitting device that is capable of transmitting a plurality of packets that make up a burst with low delay.
[0013] Furthermore, according to an embodiment of the present invention, a wireless communication system is provided that includes a transmitting device capable of transmitting a plurality of packets that constitute a burst with low latency, and a receiving device that receives packets from the transmitting device capable of transmitting a plurality of packets that constitute a burst with low latency.
[0014] Furthermore, according to an embodiment of the present invention, there is provided a program for causing a computer to execute low-delay transmission of a plurality of packets constituting a burst.
[0015] Furthermore, according to an embodiment of the present invention, there is provided a program for causing a computer to receive packets transmitted by low-latency transmission of a plurality of packets constituting a burst.
[0016] Furthermore, according to an embodiment of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for causing a computer to execute low-delay transmission of a plurality of packets constituting a burst.
[0017] Furthermore, according to an embodiment of the present invention, a computer-readable recording medium having recorded thereon a program for causing a computer to receive packets transmitted by low-latency transmission of a plurality of packets constituting a burst is provided. [Means for solving the problem]
[0018] (Configuration 1) According to an embodiment of the present invention, a transmitting device receives packets constituting real-time traffic from an application and transmits the received packets, and includes a transmitting buffer, a processing means, and a transmitting means. The transmitting buffer is a buffer for storing packets to be transmitted. The processing means executes a transmission process on the packets. The transmitting means transmits the packets received from the processing means. The processing means executes a first process for copying the first individual packet to a transmission buffer and outputting the first individual packet to the transmitting means when the packet is a first individual packet arriving at the transmitting device at a first time interval, and for copying the second individual packet to the transmission buffer and outputting the first individual packet to the transmitting means when the packet is a plurality of individual packets arriving at the transmitting device successively at a second time interval shorter than the first time interval, and for generating a combined packet by adding a first encoded packet including an individual packet that arrived at the transmitting device earlier than the second individual packet to the second individual packet and outputting the combined packet to the transmitting means. when a third individual packet, which is included in the multiple individual packets and is an individual packet other than the second individual packet, arrives at the transmitting device, a first process is performed on the third individual packet, and when it is determined that the last individual packet of the multiple individual packets has arrived at the transmitting device, the last individual packet is copied to a transmission buffer, and when the last individual packet corresponds to the second individual packet, a second process is performed on the last individual packet, and when the last individual packet corresponds to the third individual packet, a first process is performed on the last individual packet, and when a predetermined time has elapsed from the time it is determined that the last individual packet has arrived at the transmitting device, a third process is performed to generate a second encoded packet including all of the individual packets stored in the transmission buffer and output it to the transmitting means.Furthermore, when the transmitting means receives a first individual packet from the processing means, it executes a first transmission process to transmit the received first individual packet alone, when it receives a combined packet from the processing means, it executes a second transmission process to transmit the received combined packet, when it receives a third individual packet or the last individual packet from the processing means, it executes the first transmission process for the received third individual packet or the last individual packet, and when it receives a second encoded packet from the processing means, it executes a third transmission process to transmit the received second encoded packet alone.
[0019] (Configuration 2) In configuration 1, in the second processing, when a fourth individual packet, which is the last individual packet to arrive at the transmitting device among the individual packets that arrived at the transmitting device earlier than the second individual packet or the last individual packet, arrives at the transmitting device, the processing means performs a first sub-processing of generating a first encoded packet including the individual packet that arrived at the transmitting device earlier than the second individual packet or the last individual packet after the fourth individual packet is transmitted by the transmitting means, and when the second individual packet or the last individual packet arrives at the transmitting device after performing the first sub-processing, the processing means performs a second sub-processing of adding the first encoded packet to the second individual packet or the last individual packet to generate a combined packet and outputting it to the transmitting means.
[0020] (Configuration 3) In configuration 2, in the second process, when the second individual packet consists of a (a is an integer greater than or equal to 1) individual packets, the processing means executes first and second sub-processing for each of the a individual packets.
[0021] (Configuration 4) In any one of the configurations 1 to 3, the processing means sets the initial value of the encoded packet to Y0 consisting of zeros of a predetermined length, and sets the packet taken out from the transmission buffer to X i(i=1,2,...,I, I is the total number of packets stored in the transmission buffer when generating the first or second encoded packet), and a random number of a predetermined length is denoted by C i Let the encoded packet be Y i Then, a random number C of a given length i Packet X i The result of multiplication C i X i and Y i-1 The coded packet Y obtained by performing an exclusive OR operation with i as the first encoded packet or the second encoded packet.
[0022] (Configuration 5) In any one of configurations 1 to 4, the transmitting device further includes a plurality of base stations. The plurality of base stations are connected to the transmitting means by wired cables. The plurality of base stations receive the first individual packet, the combined packet, the third individual packet, the last individual packet, and the second encoded packet from the transmitting means via the wired cables, and transmit the received first individual packet, the combined packet, the third individual packet, the last individual packet, and the second encoded packet via mutually different communication paths.
[0023] (Configuration 6) According to an embodiment of the present invention, a receiving device receives packets from a transmitting device according to any one of configurations 1 to 5, and includes a first receiving buffer, a second receiving buffer, a receiving means, a separating means, a first processing means, a second processing means, and a decoding means. The first receiving buffer is a buffer for storing individual packets. The second receiving buffer is a buffer for storing encoded packets. The receiving means receives the first and third individual packets, the combined packet, and the second encoded packet. The separating means separates the combined packet into the first encoded packet and the second individual packet. The first processing means executes a receiving process for storing, in the first receiving buffer, the individual packets that are not stored in the first receiving buffer or the individual packets that have not been received, among the first individual packets or the third individual packets, and transmitting the individual packets stored in the first receiving buffer to an application that uses information transmitted by packets from the transmitting device. The second processing means performs a process of generating a third encoded packet including only the multiple individual packets not stored in the first receiving buffer based on the encoded packet received by the receiving means, and storing the generated third encoded packet in the second receiving buffer, for all of the first and second encoded packets. The decoding means performs a decoding process of reading the multiple third encoded packets from the second receiving buffer, and solving simultaneous equations for the multiple read third encoded packets to decode the multiple third encoded packets. The first processing means further performs a receiving process for the individual packets decoded by the decoding means.
[0024] (Configuration 7) In configuration 6, the second processing means generates a third encoded packet by removing information of the individual packet stored in the first receiving buffer from the encoded packet received by the receiving means.
[0025] (Configuration 8) In configuration 7, when the second processing means determines that the single packet stored in the first receiving buffer is included in the encoded packet received by the receiving means, it generates a third encoded packet from the encoded packet received by the receiving means.
[0026] (Configuration 9) In configuration 7 or 8, the second processing means, when the encoded packet received by the receiving means contains one individual packet after removing information of the individual packet stored in the first receiving buffer from the encoded packet, further erases the encoded packet containing one individual packet from the second receiving buffer. The first processing means converts the encoded packet containing one individual packet into an individual packet and performs receiving processing on the converted individual packet.
[0027] (Configuration 10) In any one of configurations 6 to 9, the receiving device further includes a plurality of base stations. The plurality of base stations are connected to the receiving means by wired cables and receive the packets transmitted from the transmitting device via a plurality of mutually different communication paths. Each of the plurality of base stations outputs the received packets to the receiving means via the wired cable.
[0028] (Configuration 11) Furthermore, according to an embodiment of the present invention, a wireless communication system includes a transmitting device according to any one of configurations 1 to 5, and a receiving device according to any one of configurations 6 to 10.
[0029] (Configuration 12) Further, according to an embodiment of the present invention, a program is provided for causing a computer to execute transmission of packets in a transmitting device that receives packets constituting real-time traffic from an application, the program comprising: A first step in which a processing means performs processing for transmission on a packet; a second step in which the transmitting means transmits the packet received from the processing means; In a first step, the processing means executes a first process for copying the first individual packet to a transmission buffer for storing packets for transmission when the packet is a first individual packet arriving at the transmitting device at a first time interval and outputting the first individual packet to the transmitting means when the packet is a plurality of individual packets arriving at the transmitting device successively at a second time interval shorter than the first time interval, and for copying the second individual packet to the transmission buffer when a second individual packet selected from among the plurality of individual packets other than the individual packet which arrived at the transmitting device first arrives at the transmitting device, and for generating a combined packet by adding a first encoded packet including an individual packet which arrived at the transmitting device earlier than the second individual packet to the second individual packet and for outputting the combined packet to the transmitting means. when a third individual packet, which is included in the plurality of individual packets and is an individual packet other than the second individual packet, arrives at the transmitting device, a first process is performed on the third individual packet; when it is determined that the last individual packet of the plurality of individual packets has arrived at the transmitting device, the last individual packet is copied to a transmission buffer, and when the last individual packet corresponds to the second individual packet, a second process is performed on the last individual packet; when the last individual packet corresponds to the third individual packet, a first process is performed on the last individual packet; and when a predetermined time has elapsed from the timing at which it is determined that the last individual packet has arrived at the transmitting device, a third process is performed to generate a second encoded packet including all of the individual packets stored in the transmission buffer and output the second encoded packet to the transmitting means; In the second step, when the transmitting means receives a first individual packet from the processing means, it executes a first transmission process to transmit the received first individual packet alone, when the transmitting means receives a combined packet from the processing means, it executes a second transmission process to transmit the received combined packet, when the transmitting means receives a third individual packet or the last individual packet from the processing means, it executes the first transmission process for the received third individual packet or the last individual packet, and when the transmitting means receives a second encoded packet from the processing means, it executes a third transmission process to transmit the received second encoded packet alone.
[0030] (Configuration 13) In configuration 12, the processing means, in the second processing of the first step, When a fourth individual packet, which is the last individual packet to arrive at the transmitting device among the individual packets that arrived at the transmitting device earlier than the second individual packet or the last individual packet, arrives at the transmitting device, a first sub-process is executed after the fourth individual packet is transmitted by the transmitting means, in which a first encoded packet is generated including the individual packet that arrived at the transmitting device earlier than the second individual packet or the last individual packet, and when the second individual packet or the last individual packet arrives at the transmitting device after the first sub-process is executed, a second sub-process is executed in which the first encoded packet is added to the second individual packet or the last individual packet to generate a combined packet and output it to the transmitting means.
[0031] (Configuration 14) In configuration 13, in the second processing of the first step, when the second individual packet consists of a (a is an integer greater than or equal to 1) individual packets, the processing means executes first and second sub-processing for each of the a individual packets.
[0032] (Configuration 15) In any one of configurations 12 to 14, the processing means sets the initial value of the encoded packet to Y0 consisting of zeros of a predetermined length, and sets the packet taken out from the transmission buffer to X i (i=1,2,...,I, I is the total number of packets stored in the transmission buffer when generating the first or second encoded packet), and a random number of a predetermined length is denoted by C i Let the encoded packet be Y i Then, a random number C of a given length i Packet X i The result of multiplication C i X i and Y i-1 The coded packet Y obtained by performing an exclusive OR operation with ias the first encoded packet or the second encoded packet.
[0033] (Configuration 16) In any one of configurations 12 to 14, in the second step, the transmitting means transmits the first individual packet, the combined packet, the third individual packet, the last individual packet and the second encoded packet to a plurality of base stations via a wired cable; The multiple base stations receive the first individual packet, the combined packet, the third individual packet, the last individual packet and the second encoded packet from the transmitting means via wired cables, and transmit the received first individual packet, the combined packet, the third individual packet, the last individual packet and the second encoded packet via mutually different communication paths.
[0034] (Configuration 17) Further, according to an embodiment of the present invention, a program for causing a computer to execute a program according to any one of configurations 12 to 16, thereby receiving a transmitted packet, comprising: a first step of receiving means receiving first and third individual packets, a combined packet, and a second encoded packet; a second step in which a separating means separates the combined packet into a first encoded packet and a second individual packet; a third step of executing a receiving process by the first processing means to store in the first receiving buffer an individual packet that is not stored in the first receiving buffer or an individual packet that has not been received, among the first individual packet or the third individual packet, and to transmit the individual packet stored in the first receiving buffer to an application that uses information transmitted by the packet; a fourth step in which a second processing means executes a process of generating a third encoded packet including only a plurality of individual packets not stored in the first receiving buffer based on the encoded packet received in the first step, and storing the generated third encoded packet in the second receiving buffer, for all of the first and second encoded packets; a fifth step of executing a decoding process in which the decoding means reads the third encoded packets from the second receiving buffer and solves simultaneous equations for the third encoded packets that have been read, thereby decoding the third encoded packets; In a third step, the first processing means further executes a receiving process on the individual packet decoded by the decoding means.
[0035] (Configuration 18) In configuration 17, in a fourth step, the second processing means generates a third encoded packet by removing information of the single packet stored in the first receiving buffer from the encoded packet received in the first step.
[0036] (Configuration 19) In configuration 18, when the second processing means determines in the fourth step that the single packet stored in the first receiving buffer is included in the encoded packet received in the first step, it generates a third encoded packet from the encoded packet received in the first step.
[0037] (Configuration 20) In the configuration 18 or 19, in the fourth step, when the encoded packet after removing the information of the individual packet stored in the first receiving buffer from the encoded packet received in the first step includes one individual packet, the second processing means further deletes the encoded packet including one individual packet from the first receiving buffer; In the third step, the first processing means converts the encoded packet including one individual packet into an individual packet, and executes a receiving process on the converted individual packet.
[0038] (Configuration 21) Furthermore, according to an embodiment of the present invention, a recording medium is a computer-readable recording medium having the program according to any one of the twelfth to twentieth configurations recorded thereon. Effect of the Invention
[0039] Multiple packets that make up a burst can be transmitted with low latency. [Brief description of the drawings]
[0040] [Figure 1] 1 is a schematic diagram of a wireless communication system according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a schematic diagram of the transmitter shown in FIG. [Diagram 3] FIG. 2 is a schematic diagram of the receiver shown in FIG. [Figure 4] FIG. 1 is a conceptual diagram showing image transmission. [Diagram 5] FIG. 2 is a schematic diagram showing a packet format. [Figure 6] FIG. 3 is a schematic diagram of the buffer shown in FIG. 2. [Figure 7] FIG. 10 is a diagram for explaining a method of encoding a packet. [Figure 8] FIG. 13 is a diagram for explaining a method of generating encoded packets when transmitting MBurst packets PKT_N(1) to PKT_N(MBurst). [Figure 9] FIG. 2 is a diagram for explaining a method of transmitting packets that constitute a burst. [Figure 10] FIG. 13 is a diagram for explaining another method of transmitting packets that constitute a burst. [Figure 11] FIG. 13 is a diagram for explaining yet another method of transmitting packets that constitute a burst. [Figure 12]3 is a flowchart for explaining the operation of the transmitter shown in FIGS. 1 and 2. [Figure 13] 13 is a flowchart for explaining a detailed operation of step S8 shown in FIG. 12. [Figure 14] 4 is a flowchart for explaining the operation of the receiver shown in FIGS. 1 and 3. [Figure 15] 15 is a flowchart for explaining a detailed operation of step S26 shown in FIG. 14. [Figure 16] 15 is a flowchart for explaining a detailed operation of step S28 shown in FIG. 14. [Figure 17] 15 is a flowchart for explaining a detailed operation of step S29 shown in FIG. 14. [Figure 18] FIG. 13 is a diagram showing the transition of the N buffer and the C buffer when packets constituting a burst are received. [Figure 19] FIG. 2 is a schematic diagram of another wireless communication system according to an embodiment of the present invention. [Figure 20] FIG. 11 is a schematic diagram of yet another wireless communication system according to an embodiment of the present invention. [Figure 21] FIG. 11 is a schematic diagram of yet another wireless communication system according to an embodiment of the present invention. [Figure 22] FIG. 2 is a diagram illustrating another application example of the wireless communication system shown in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0041] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference characters and their description will not be repeated.
[0042] Fig. 1 is a schematic diagram of a wireless communication system according to an embodiment of the present invention. With reference to Fig. 1, a wireless communication system 10 according to the embodiment of the present invention includes a transmitter 1 and a receiver 2. The transmitter 1 and the receiver 2 are arranged in a wireless communication space.
[0043] The application 20, for example, takes an image using a camera and transmits to the transmitter 1 a packet PKT including image data of the taken image in its payload.
[0044] The transmitter 1 receives the packet PKT from the application 20. Then, the transmitter 1 transmits the packet PKT to the receiver 2 by wireless communication as a packet constituting real-time traffic, using a method to be described later.
[0045] The receiver 2 receives the packet PKT from the transmitter 1 via wireless communication, and executes a reception process (described later) on the received packet PKT. Then, the receiver 2 transmits the packet PKT that has undergone the reception process to the application 30. The application 30 receives the packet PKT from the receiver 2, and reproduces the image data included in the received packet PKT to display it on the display unit.
[0046] The wireless communication system 10 has the following characteristics. The wireless communication system 10 is a system that does not allow efficient retransmission using arrival confirmation, and performs, for example, broadcast or multicast by wireless communication. The wireless communication system 10 is also a system that uses multiple paths. Furthermore, the wireless communication system 10 performs real-time communication (for example, video transmission, etc.) that requires high reliability.
[0047] Fig. 2 is a schematic diagram of the transmitter 1 shown in Fig. 1. Referring to Fig. 2, the transmitter 1 comprises a buffer 11, a processing means 12, a transmitting means 13 and an antenna 14.
[0048] The buffer 11 stores a plurality of packets PKT_N(1) to PKT_N(V) arriving from the application 20. Each of the plurality of packets PKT_N(1) to PKT_N(V) is a raw (native) packet generated by the application 20. Furthermore, V is an integer.
[0049] The processing means 12 includes a timer. The processing means 12 judges whether or not a packet has arrived. When the processing means 12 judges that a packet has arrived, the processing means 12 stores a copy of the arrived packet PKT_N(v) (v is an integer between 1 and V) in the buffer 11, and outputs the original packet PKT_N(v) to the transmitting means 13. When the processing means 12 judges that a packet has arrived, if a plurality of packets are stored in the buffer 11, the processing means 12 retrieves the plurality of packets from the buffer 11, generates a transmission packet PKT_TR including an encoded packet PKT_C based on the retrieved plurality of packets by a method described later, and outputs the generated transmission packet PKT_TR to the transmitting means 13. The processing means 12 refers to the timer and outputs the packet PKT_N(v) or the transmission packet PKT_TR to the transmitting means 13.
[0050] When the transmitting means 13 receives one packet PKT_N(v) or a packet for transmission PKT_TR from the processing means 12, it transmits the received packet PKT_N(v) or packet for transmission PKT_TR to the receiver 2 via the antenna 14 by wireless communication.
[0051] Fig. 3 is a schematic diagram of the receiver 2 shown in Fig. 1. Referring to Fig. 3, the receiver 2 includes an antenna 21, a receiving means 22, a processing means 23, an N buffer 24, and a C buffer 25.
[0052] The receiving means 22 receives the packet PKT (packet PKT_N(v) or packet PKT_TR for transmission) via the antenna 21, and outputs the received packet PKT (packet PKT_N(v) or packet PKT_TR for transmission) to the processing means .
[0053] When the processing means 23 receives the packet PKT_N(v) from the receiving means 22, the processing means 23 executes N packet receiving processing on the packet PKT_N(v) by a method to be described later. In this case, in the N packet receiving processing, when the packet PKT_N(v) has not been received, the processing means 23 stores the packet PKT_N(v) in the N buffer 24. Then, the processing means 23 transmits all packets PKT_N(v) stored in the N buffer 24 to the application 30.
[0054] On the other hand, when the processing means 23 receives the transmission packet PKT_TR from the receiving means 22, if the transmission packet PKT_TR includes the encoded packet PKT_C and the individual packet PKT_N, the processing means 23 performs a separation process to separate the encoded packet PKT_C from the individual packet PKT_N. Then, the processing means 23 performs an N-packet reception process on the separated individual packet PKT_N. Also, the processing means 23 performs a removal process to remove information on the individual packet PKT_N already stored in the N buffer 24 (i.e., the received individual packet PKT_N) from the encoded packet PKT_C, and if the encoded packet PKT_C' after the removal process includes a plurality of individual packets PKT_N, the processing means 23 stores the encoded packet PKT_C' in the C buffer 25. After that, the processing means 23 performs a decoding process to be described later on the encoded packet PKT_C' stored in the C buffer 25. In this case, the processing means 23 performs an N-packet reception process on the individual packet PKT_N decoded in the decoding process.
[0055] When the transmission packet PKT_TR includes only the encoded packet PKT_C, the processing means 23 does not execute the above-mentioned separation process, but executes the above-mentioned removal process and decoding process in sequence.
[0056] Fig. 4 is a conceptual diagram showing image transmission. The characteristics of real-time video transmission will be described with reference to Fig. 4. An I-picture is a compressed image that does not use the difference between previous and next pictures, and is large in size. A P-picture is small in size because it transmits the difference with the previous picture.
[0057] I-pictures and P-pictures are transmitted periodically. The number of packets transmitted during periodic transmission varies, and packets may be transmitted in bursts at one time. I-pictures are generated and transmitted periodically, as in IPPPIPPPIP.
[0058] When transmitting an I-picture, a burst occurs, the size of the burst is not constant, and the packets constituting the burst do not arrive all at once but arrive successively.
[0059] Furthermore, in the P picture, P picture, P picture, I picture, P picture, P picture, P picture, I picture, and P picture shown in FIG. 4, the time interval at which a packet including a P picture in its payload and a packet including an I picture in its payload arrive at the transmitter 1 from the application 20 is T interval_1 The time interval during which a plurality of packets including an I-picture in the payload arrive at the transmitter 1 successively from the application 20 is T interval_1 Shorter than T interval_2 It is.
[0060] 5 is a schematic diagram showing a packet format. Referring to FIG. 5, the packet PKT includes a header and a payload. The header includes the IP address of the destination.
[0061] The payload includes Packet Info, an area REG1, Coded Info, and an area REG2. The area REG1 includes the payload of one packet PKT_N. The area REG2 includes a coded packet PKT_C obtained by coding N packets PKT_N(1) to PKT_N(N). The length of the area REG1 is L p The length of the region REG2 is L1 to L n This is the maximum value of L p is the data length of one packet PKT_N, and L1 to L n are the data lengths of the packets PKT_N(1) to PKT_N(N), respectively.
[0062] Packet Info contains an identifier N / C, a sequence number SN, and a data length L p The identifier N / C is an identifier for identifying whether the packet included in the region REG1 is a single packet PKT_N or a coded packet PKT_C, and is composed of "N" or "C." "N" indicates that it is a single packet PKT_N, and "C" indicates that it is a coded packet PKT_C. The sequence number SN indicates the order in which the packets included in the region REG1 arrive at the transmitter 1. The data length L p represents the length of the region REG1.
[0063] Coded Info includes an identifier N / C, Num coded(N), and Packet Info 1 to Packet Info N. The identifier N / C is an identifier for identifying whether the packet included in the region REG2 is a single packet PKT_N or a coded packet PKT_C, and is composed of "N" or "C." Num coded(N) indicates the number of packets PKT_N that constitute the coded packet PKT_C included in the region REG2.
[0064] Packet Info 1 includes a sequence number SN, a data length L1, and a code C1. Similarly, Packet Info N includes a sequence number SN, a data length L N And, code C N Includes:
[0065] In Packet Info 1, sequence number SN indicates the order of arrival at transmitter 1 of packet PKT_N(1) constituting encoded packet PKT_C, data length L1 is the data length of packet PKT_N(1) constituting encoded packet PKT_C, and code C1 is the coefficient of packet PKT_N(1) when N packets PKT_N(1) to PKT_N(N) are encoded.
[0066] Similarly, in Packet Info N, the sequence number SN represents the order of arrival of packet PKT_N(N) that constitutes the encoded packet PKT_C at transmitter 1, and the data length L N is the data length of packet PKT_N(N) that constitutes the encoded packet PKT_C, and the code C N is the coefficient of packet PKT_N(N) when encoding N packets PKT_N(1) to PKT_N(N).
[0067] One packet PKT_N consists of a configuration where the payload includes Packet Info and area REG1.
[0068] Let the number of packets to be transmitted burstily at one time be M Burst (M Burst is an integer satisfying 2 ≤ M Burst < V). If it consists of M Burst packets PKT_N(1) to PKT_N(M Burst ), then when each of a (a is an integer greater than or equal to 1) predetermined packets PKT_N(m) selected from the (M Burst ) packets PKT_N(2) to PKT_N(M Burst ), excluding the first packet PKT_N(1) that arrives at transmitter 1 among the M Burst ) packets, arrives at transmitter 1, packets PKT_N(1) to PKT_N(m - 1) that arrived at transmitter 1 earlier than the predetermined packet PKT_N(m) are encoded to generate an encoded packet PKT_C1, and the generated encoded packet PKT_C1 is attached to the predetermined packet PKT_N(m) to generate a combined packet PKT_N / PKT_C1 as a transmission packet PKT_TR.
[0069] Therefore, the combined packet PKT_N / PKT_C1 consists of a configuration where the payload includes [Packet Info / Data of PKT_N / Coded Info / Data of PKT_N(1) to PKT_N(m - 1)].
[0070] Also, MBurst Packets PKT_N(1) to PKT_N(M Burst ) arrive at transmitter 1 in succession, M Burst Packets PKT_N(1) to PKT_N(M Burst ) to generate an encoded packet PKT_C2 as a transmission packet PKT_TR.
[0071] Therefore, the payload of the coded packet PKT_C2 is [Coded Info / PKT_N(1) data to PKT_N(M Burst ) data.
[0072] Fig. 6 is a schematic diagram of the buffer 11 shown in Fig. 2. Note that Fig. 6 shows the number M of packets to be transmitted at one time in a burst. Burst 1 shows a schematic diagram of the buffer 11 when the size of the buffer 11 is larger than
[0073] 6, the buffer 11 is, for example, a ring buffer. The buffer 11 stores M Burst Packets PKT_N(1) to PKT_N(M Burst ) is stored in the packet PKT_N(M Burst ) are packets stored in the buffer 11 at the current time, and packets PKT_N(1) to PKT_N(M Burst -1) is a packet that was previously stored in the buffer 11.
[0074] Furthermore, the buffer 11 is configured to overwrite packets beginning with the oldest packet when the number of packets exceeds the maximum number, so that the buffer 11 can always store the maximum number of packets.
[0075] Packets PKT_N(1), PKT_N(2), , PKT_N(M Burst ) is stored in M BurstThese areas respectively contain the sequence number SN1 and data length L1 of packet PKT_N(1), the sequence number SN2 and data length L2 of packet PKT_N(2), ..., packet PKT_N(M Burst ) sequence number SN MBurst and data length L MBurst is also stored.
[0076] That is, packets PKT_N (PKT_N(1) to PKT_N(M Burst ) constitutes the payload, and each area of the buffer 11 contains [SN / L p / payload / padding(all "0")] is stored. Note that padding(all "0") is stored in [SN / L p / payload] is added if its length does not exceed the maximum length.
[0077] FIG. 7 is a diagram for explaining a method for encoding a packet. In FIG. 7, packet X i (i is 1, 2, 3, . . .) and the encoded packet Y i-1 A method for encoding the above will be described.
[0078] Referring to Figure 7, packet X i , L i Since the data length of packet X is 1024 bytes, i , L i ×8 / n components X i,1 ,X i,2 ,X i,3 ,X i,4 ,···,X i,Li×8 / n and padding of "0". i,1 ,X i,2 ,X i,3 ,X i,4 ,···,X i,Li×8 / n Each of the codes C has a length of n bits, where n is a positive integer. i is in the Galois field GF(2 n ), where n is, for example, 8.
[0079] Encoded packet Y i-1 is the component Y i-1,1 ,Y i-1,2 ,Y i-1,3 ,Y i-1,4 ,···,Y i-1,Li×8 / n ,Y i-1,Max×8 / n Component Y i-1,1 ,Y i-1,2 ,Y i-1,3 ,Y i-1,4 ,···,Y i-1,Li×8 / n ,Y i-1,Max×8 / n Each of has a length of n bits.
[0080] code C i to component X i,1 ,X i,2 ,X i,3 ,X i,4 ,···,X i,Li×8 / n Multiply each of these and get the multiplication result C i X i,1 ,C i X i,2 ,C i X i,3 ,C i X i,4 ,···,C i X i,Li×8 / n In this case, the code C i and component X i,1 ,X i,2 ,X i,3 ,X i,4 ,···,X i,Li×8 / n Multiplication with each of the 2 n )
[0081] Then, the multiplication result C i X i,1 and component Y i-1,1 Component Y i,1 Generate the multiplication result C i X i,2 and component Y i-1,2 Component Y i,2 Generate the multiplication result C i X i,3 and component Y i-1,3 Component Y i,3 Generate the multiplication result C iX i,4 and component Y i-1,4 Component Y i,4 Similarly, the multiplication result C i X i,Li×8 / n and component Y i-1,Li×8 / n Component Y i,Li×8 / n and then add padding of "0" and the component Y i-1,Max×8 / n Component Y i,Max×8 / n This generates the encoded packet Y i =[Y i,1 ,Y i,2 ,Y i,3 ,Y i,4 ,···,Y i,Li×8 / n ,···,Y i,Max×8 / n ] is generated.
[0082] Figure 8 shows the M Burst Packets PKT_N(1) to PKT_N(M Burst 1 is a diagram for explaining a method of generating an encoded packet when transmitting
[0083] In FIG. 8, it is assumed that the transmitter 1 determines to transmit the encoded packets to the receiver 2 at the timing when packets P3, P5, P7, and P9 arrive at the transmitter 1.
[0084] Referring to FIG. 8(a), M Burst Packets PKT_N(1) to PKT_N(M Burst ) consists of packets P1 to P6. The maximum number of packets that can be stored in the buffer 11 is six. That is, the number M of packets that make up a burst Burst is the size of buffer 11, M Buffer The following is the result.
[0085] When packet P1 arrives at the transmitter 1, the processing means 12 of the transmitter 1 copies the packet P1 to the buffer 11 (see (a)(i) of FIG. 8). Then, the processing means 12 retrieves the packet P1 from the buffer 11, and encodes the retrieved packet P1 by the method described in FIG. 7 to generate an encoded packet C1.
[0086] More specifically, the processing means 12 generates an encoded packet Y0={000...0} consisting of n-bits of "0" and stores the encoded packet in a Galois field GF(2 n ), the processing means 12 generates a code C1 consisting of a random number of n bits on the packet X1 (=P1), the encoded packet Y0={000...0}, and the code C1 by the method described in FIG.
[0087] Thereafter, when the packet P2 arrives at the transmitter 1, the processing means 12 copies the packet P2 to the buffer 11 (see (a)(ii) of FIG. 8). Then, the processing means 12 takes out the packet P2 from the buffer 11. Then, the processing means 12 performs n ), the processing means 12 generates a coded packet Y2 (=C2) based on the packet X2 (=P2), the coded packet Y1, and the code C2 by the method described in FIG.
[0088] Similarly, when packets P3 to P6 arrive at the transmitter 1, encoded packets Y3 to Y6 (=C3 to C6) are generated in sequence (see (iii) to (vi) of FIG. 8a). In this case, when packet P6 arrives at the transmitter 1 and is copied to the buffer 11, the buffer 11 is filled with the maximum number M Buffer The packet is stored.
[0089] When packet P3 arrives at the transmitter 1, the processing means 12 copies packet P3 to the buffer 11 (see (a)(iii) of FIG. 8) and determines to transmit an encoded packet. Then, the processing means 12 adds encoded packet Y2 (=C2), which was generated at the timing when packet P2 arrived at the transmitter 1, to packet P3 to generate a combined packet P3 / C2, and outputs the generated combined packet P3 / C2 to the transmitting means 13 to transmit the combined packet P3 / C2 to the receiver 2. Note that transmitting information by the combined packet P3 / C2 is transmitting information by Piggyback.
[0090] Furthermore, when packet P5 arrives at the transmitter 1, the processing means 12 copies packet P5 to the buffer 11 (see (a)(v) of FIG. 8) and determines to transmit an encoded packet. Then, the processing means 12 adds encoded packet Y4 (=C4), which was generated at the timing when packet P4 arrived at the transmitter 1, to packet P5 to generate a combined packet P5 / C4, and outputs the generated combined packet P5 / C4 to the transmitting means 13 to transmit the combined packet P5 / C4 to the receiver 2.
[0091] Then, after packet P6 arrives at the transmitter 1 and the processing means 12 generates encoded packet Y6 (=C6), it determines, by a method described below, that packet P6 is the last packet P6 of the packets P1 to P6 that make up the burst, and then outputs the untransmitted encoded packet Y6 (=C6) to the transmitting means 13 and transmits the encoded packet Y6 (=C6) alone to the receiver 2.
[0092] Furthermore, the processing means 12 retrieves packets P1 to P6 from the buffer 11, encodes the retrieved packets P1 to P6 to generate an encoded packet Y7 (=C7), and outputs the encoded packet Y7 (=C7) to the transmitting means 13 to transmit the encoded packet Y7 (=C7) alone to the receiver 2.
[0093] In this way, the processing means 12 determines the number M of packets constituting a burst. Burst is the size of buffer 11, M BufferIf the above is true, an encoded packet Y7 (=C7) including all packets P1 to P6 constituting the burst is generated and transmitted to the receiver 2.
[0094] Referring to FIG. 8(b), M Burst Packets PKT_N(1) to PKT_N(M Burst ) is packets P1 to P 10 The maximum number of packets that can be stored in the buffer 11 is 6. That is, the number of packets that make up a burst, M Burst is the size of buffer 11, M Buffer Greater than.
[0095] When packets P1 to P6 arrive at the transmitter 1, the processing means 12 executes the processing explained in FIG. 8(a) (see FIG. 8(b)(i) and (ii)).
[0096] Then, when packet P7 arrives at the transmitter 1, the processing means 12 copies packet P7 to the buffer 11 (see (b)(iii) of FIG. 8). As a result, packets P1 to P6 stored in the buffer 11 at the stage when packet P6 arrives at the transmitter 1 are overwritten by packets P2 to P7, respectively.
[0097] The processing means 12 copies the packet P7 to the buffer 11, and then extracts the packet P7 from the buffer 11. Then, the processing means 12 performs a multiplication in the Galois field GF(2 n ), the processing means 12 generates a coded packet Y7 (=C7) based on the packet X7 (=P7), the coded packet Y6, and the code C7 by the method described in FIG.
[0098] After that, the processing means 12 processes packets P8 to P 10 At the timing when the encoded packets Y8 (=C8) to Y 10 (=C 10 ) (see Fig. 8 (b)(iv) to (vi)).
[0099] And packet P 10 At the stage when packets P5 to P 10 Store.
[0100] The processing means 12 processes the packet P 10 arrives at sender 1, and the encoded packet Y 10 (=C 10 ), and then, by the method described later, 10 Packets P1 to P 10 The last packet P 10 After determining that, the untransmitted encoded packet Y 10 (=C 10 ) to the transmitting means 13 to generate the encoded packet Y 10 (=C 10 ) is sent to receiver 2 alone.
[0101] In addition, the processing means 12 receives packets P5 to P 10 Then, the extracted packets P5 to P 10 Encode the encoded packet Y 11 (=C 11 ) and the processing means 12 generates the encoded packet Y 11 (=C 11 ) to the transmitting means 13 to generate the encoded packet Y 11 (=C 11 ) is sent to receiver 2 alone.
[0102] In this way, the processing means 12 determines the number M of packets constituting a burst. Burst is the size of buffer 11, M Buffer When the burst size is larger than 1, the packets P1 to P 10 Packets P5 to P 10 Encoded packet Y containing 11 (=C 11 ) and transmits it to receiver 2.
[0103] As explained in FIG. 8, the number of encoded packets transmitted individually is M Burst and the size of buffer 11, M Buffer It includes packets that differ depending on their magnitude relationship with respect to
[0104] The processing means 12 processes M Burst Packets PKT_N(1) to PKT_N(M Burst ) the last packet PKT_N(M Burst ) has arrived at the buffer 11 is judged by the following method.
[0105] M Burst Packets PKT_N(1) to PKT_N(M Burst ) arrive at the buffer 11 consecutively, so for two packets PKT_N(m) and PKT_N(m+1) with consecutive sequence numbers SN, the standard elapsed time T STANDARD is determined to a fixed value in advance, and the elapsed time T STANDARD is set in the processing means 12.
[0106] The processing means 12 is Burst Packets PKT_N(1) to PKT_N(M Burst ) the time t ELP is the elapsed time t STANDARD When packet PKT_N does not arrive at buffer 11 even if packet PKT_N(m') is longer than M Burst Packets PKT_N(1) to PKT_N(M Burst ) the last packet PKT_N(M Burst ) and M Burst Packets PKT_N(1) to PKT_N(M Burst ) the last packet PKT_N(M Burst ) has arrived at buffer 11.
[0107] Also, application 20 is M Burst Packets PKT_N(1) to PKT_N(M Burst ) the last packet PKT_N(M Burst ) to indicate that it is the last packet, and the processing means 12 determines whether or not the flag FG is set in the packet PKT_N every time the processing means 12 receives the packet PKT_N from the application 20. When it determines that the flag FG is set in the packet PKT_N, the processing means 12 treats the packet PKT_N with the flag FG set as the last packet PKT_N(M Burst ) may be determined.
[0108] FIG. 9 is a diagram for explaining a method of transmitting packets constituting a burst. In FIG. 9, M Burst Packets PKT_N(1) to PKT_N(M Burst ) are packets P1 to P6, M Burst Packets PKT_N(1) to PKT_N(M Burst ) will be described. In this case, the processing means 12 determines to transmit an encoded packet at the timing when any of packets P3 and P5 arrive at the transmitter 1, and determines not to transmit an encoded packet at the timing when any of packets P1, P2, P4 and P6 arrive at the transmitter 1. Also, it is assumed that packets P1 and P3 could not be transmitted to the destination.
[0109] With reference to FIG. 9, packets P1 to P6 form packets that are transmitted at once in a burst.
[0110] When the packet P1 arrives at the transmitter 1, the processing means 12 counts the elapsed time t ELP_1The processing means 12 starts measuring m, copies packet P1 to the buffer 11, and determines not to transmit an encoded packet because packet P1 is a packet other than packets P3 and P5 (i.e., packet P1 is packet PKT_N(1) with m=1). Then, the processing means 12 outputs the original packet P1 to the transmitting means 13 and transmits packet P1 to the receiver 2. Thereafter, the processing means 12 retrieves packet P1 from the buffer 11, and encodes the retrieved packet P1 by the above-mentioned method to generate encoded packet C1. The encoded packet C1 is expressed by the following equation.
[0111]
number
[0112] Subsequently, when the packet P2 arrives at the sender 1, the processing means 12 ELP_1 Then, the measurement of the elapsed time t ELP_2 Then, the processing means 12 copies the packet P2 to the buffer 11, and determines not to transmit the encoded packet since the packet P2 is a packet other than the packets P3 and P5 (i.e., the packet P2 is the packet PKT_N(2) with m=2). Then, the processing means 12 outputs the original packet P2 to the transmitting means 13 and transmits the packet P2 to the receiver 2. After that, the processing means 12 takes out the packets P1 and P2 from the buffer 11, and encodes the taken out packets P1 and P2 by the above-mentioned method to generate the encoded packet C2. The encoded packet C2 is expressed by the following equation.
[0113]
number
[0114] Subsequently, when the packet P3 arrives at the sender 1, the processing means 12 ELP_2 Then, the measurement of the elapsed time t ELP_3Then, the processing means 12 copies the packet P3 to the buffer 11, and since the packet P3 corresponds to either the packet P3 or P5 (i.e., the packet P3 is the packet PKT_N(3) with m=3), it determines to transmit an encoded packet. Then, the processing means 12 adds the encoded packet C2 generated at the timing when the packet P2 arrives at the transmitter 1 to the original packet P3 to generate a combined packet P3 / C2, and outputs the generated combined packet P3 / C2 to the transmitting means 13 to transmit the combined packet P3 / C2 to the receiver 2. After that, the processing means 12 takes out the packets P1 to P3 from the buffer 11, and encodes the taken out packets P1 to P3 by the above-mentioned method to generate an encoded packet C3. The encoded packet C3 is expressed by the following equation.
[0115]
number
[0116] Subsequently, when the packet P4 arrives at the sender 1, the processing means 12 ELP_3 Then, the measurement of the elapsed time t ELP_4 Then, the processing means 12 copies packet P4 to the buffer 11, and determines not to transmit an encoded packet because packet P4 is a packet other than packets P3 and P5 (i.e., packet P4 is packet PKT_N(4) with m=4). Then, the processing means 12 outputs the original packet P4 to the transmitting means 13 and transmits packet P4 to the receiver 2. Then, the processing means 12 takes out packets P1 to P4 from the buffer 11, and encodes the taken out packets P1 to P4 by the above-mentioned method to generate encoded packet C4. Encoded packet C4 is expressed by the following equation.
[0117]
number
[0118] Then, when packet P5 arrives at the sender 1, the processing means 12 ELP_4 Then, the measurement of the elapsed time t ELP_5 Then, the processing means 12 copies the packet P5 to the buffer 11, and since the packet P5 corresponds to either the packet P3 or P5 (i.e., the packet P5 is the packet PKT_N(5) with m=5), it determines to transmit the encoded packet. Then, the processing means 12 adds the encoded packet C4 generated at the timing when the packet P4 arrives at the transmitter 1 to the original packet P5 to generate a combined packet P5 / C4, and outputs the generated combined packet P5 / C4 to the transmitting means 13 to transmit the combined packet P5 / C4 to the receiver 2. After that, the processing means 12 takes out the packets P1 to P5 from the buffer 11, and encodes the taken out packets P1 to P5 by the above-mentioned method to generate an encoded packet C5. The encoded packet C5 is expressed by the following equation.
[0119]
number
[0120] Subsequently, when the packet P6 arrives at the sender 1, the processing means 12 ELP_5 Then, the measurement of the elapsed time t ELP_6 Then, the processing means 12 copies packet P6 to the buffer 11, and determines not to transmit an encoded packet because packet P6 is a packet other than packets P3 and P5 (i.e., packet P6 is packet PKT_N(6) with m=6). Then, the processing means 12 outputs the original packet P6 to the transmitting means 13 and transmits packet P6 to the receiver 2. After that, the processing means 12 takes out packets P1 to P6 from the buffer 11, and encodes the taken out packets P1 to P6 by the above-mentioned method to generate encoded packet C6. Encoded packet C6 is expressed by the following equation.
[0121]
number
[0122] The reason why the encoded packet C6 is not attached to packet P6 and transmitted to the receiver 2 is that the timing for attaching the encoded packet to an individual packet and transmitting it to the receiver 2 has been determined to be the timing when either packet P3 or P5 arrives at the buffer 11, and therefore the timing when packet P6 arrives at the buffer 11 is not the timing for attaching the encoded packet to an individual packet and transmitting it to the receiver 2.
[0123] Then, the processing means 12 calculates the elapsed time t ELP_6 is the elapsed time T STANDARD , and determines that the packet P6 is the last packet P6 among the packets P1 to P6.
[0124] The processing means 12 then determines whether T milliseconds have elapsed since the last packet P6 arrived in the buffer 11, where T is equal to T <T _interval_1 is the time to satisfy the condition, for example, 5 milliseconds.
[0125] When the processing means 12 determines that T milliseconds have elapsed since the last packet P6 arrived at the buffer 11, it outputs the encoded packet C6 to the transmitting means 13 to transmit the encoded packet C6 to the receiver 2.
[0126] Then, the processing means 12 judges whether the number of transmissions of the encoded packets is K or not. K is, for example, 3. K may be changed according to the number of packets stored in the buffer 11. In this case, K is determined by K=A+B / M. M is the number of packets stored in the buffer 11, and A and B are constants. Each of A, B, and M is an integer. According to K=A+B / M, if the number of packets M stored in the buffer 11 is large, K becomes small, and if the number of packets M stored in the buffer 11 is small, K becomes large. Therefore, by determining the number of transmissions K of the encoded packets according to K=A+B / M, when the number of packets M stored in the buffer 11 is a first number, the number of transmissions K of the encoded packets is set to the first transmission number, and when the number of packets M stored in the buffer 11 is a second number larger than the first number, the number of transmissions K of the encoded packets is set to the second transmission number smaller than the first transmission number. In other words, if the number M of packets stored in the buffer 11 is reduced, more encoded packets will be transmitted.
[0127] When the processing means 12 determines that the number of transmitted encoded packets is not K, it retrieves the packets P1 to P6 stored in the buffer 11 and encodes the retrieved packets P1 to P6 by the above-mentioned method to generate encoded packet C7. Encoded packet C7 is expressed by the following equation.
[0128]
number
[0129] Then, the processing means 12 outputs the encoded packet C7 to the transmitting means 13 to transmit the encoded packet C7 to the receiver 2.
[0130] After that, the processing means 12 determines that the number of transmitted encoded packets is not K (=3). Then, the processing means 12 extracts the packets P1 to P6 stored in the buffer 11, and encodes the extracted packets P1 to P6 by the above-mentioned method to generate an encoded packet C8. The encoded packet C8 is expressed by the following equation.
[0131]
number
[0132] In this way, the processing means 12 uses all packets P1 to P6 stored in the buffer 11 to generate coded packets C6 to C8 when transmitting coded packets individually.
[0133] Subsequently, the processing means 12 determines that the number of transmitted encoded packets is K (=3), and clears the buffer 11.
[0134] As shown in equations (6) to (8), the encoded packets C6, C7, and C8 contain the same packets P1 to P6 and have coefficients C i The only coding packet that differs is the coefficient C i is in the Galois field GF(2 n ) is composed of n-bit random numbers on the 62 ,a 64 may be zero. In this case, the encoded packet C6 essentially includes packets P1, P3, P5, and P6. The same is true for the encoded packets C7 and C8.
[0135] Receiver 2 fails to receive packet P1 transmitted from transmitter 1, but receives packet P2 transmitted from transmitter 1. Receiver 2 also fails to receive combined packet P3 / C2 transmitted from transmitter 1, but sequentially receives packet P4, combined packet P5 / C4, packet P6, and encoded packets C6, C7, and C8 transmitted from transmitter 1.
[0136] Since receiver 2 was unable to receive packets P1, P3 and encoded packet C1, receiver 2 removes information of already received packets P2 and P4 from encoded packets C4 and C6 in order to decode packets P1 and P3 that it was unable to receive from encoded packets C4 and C6.
[0137] More specifically, the receiver 2 removes the information of already received packets P2 and P4 from the encoded packet C4 by the following equation.
[0138]
number
[0139] Furthermore, the receiver 2 removes information of already received packets P2, P4, P5, and P6 from the encoded packet C6 by the following equation.
[0140]
number
[0141] As a result, encoded packet C4' obtained after removing information about already received packets P2 and P4 from encoded packet C4, and encoded packet C6' obtained after removing information about already received packets P2, P4, P5, and P6 from encoded packet C6 both contain packets P1 and P3.
[0142] The left side of equation (9) is obtained by performing an exclusive OR operation on the encoded packet C4 and the packet P2, and performing an exclusive OR operation on the result of the exclusive OR operation with the packet P4. The left side of equation (10) is obtained by performing an exclusive OR operation on the encoded packet C6 and the packet P2, performing an exclusive OR operation on the result of the exclusive OR operation with the packet P4, performing an exclusive OR operation on the result of the exclusive OR operation with the packet P5, and performing an exclusive OR operation on the result of the exclusive OR operation with the packet P6. Thus, the receiver 2 can obtain the values of the left sides of equations (9) and (10).
[0143] Also, the symbol a in equation (9) 41 ,a 43 is included in the “Coded Info” of the coding packet C4, and the code a 61 ,a 63 is known since it is included in "Coded Info" of the coded packet C6 (see FIG. 5).
[0144] Therefore, the receiver 2 can decode the packets P1 and P3 that it was unable to receive by solving the simultaneous equations (9) and (10).
[0145] Similarly, the receiver 2 can decode packets P1 and P3 that it was not able to receive based on two encoded packets arbitrarily selected from encoded packets C6 to C8.
[0146] In this way, if the packets that the receiver 2 was unable to receive are two packets P1 and P3, the transmitter 1 can decode the two packets P1 and P3 that it was unable to receive by transmitting encoded packets equal to or greater than the number of packets that the receiver 2 was unable to receive (=2).
[0147] In the case where the receiver 2 fails to receive the combined packet P5 / C2 instead of the combined packet P3 / C2, the above method can be used to decode the two packets that were not received. In this case, the receiver 2 fails to receive the two packets P1 and P5.
[0148] Therefore, the receiver 2 calculates an encoded packet C2' obtained by removing information about already-received packet P2 from the encoded packet C2, and an encoded packet C6'' obtained by removing information about already-received packets P2, P3, P4, and P6 from the encoded packet C6, using the following equations.
[0149]
number
[0150] Therefore, the receiver 2 can decode the two packets P1 and P5 that it was unable to receive by solving the simultaneous equations (11A) and (11B).
[0151] Even if packets P1, P2, and P4 other than packets P3 and P5 to which encoded packets C2 and C4 are respectively attached cannot be transmitted to the receiver 2, the receiver 2 can receive the three encoded packets C6, C7, and C8.
[0152] Therefore, the receiver 2 removes the information of the already received packets P3 and P5 from the encoded packet C6. (3) and the encoded packet C7 after removing the information of the already received packets P3 and P5 from the encoded packet C7. (3) and the encoded packet C8 after removing the information of the already received packets P3 and P5 from the encoded packet C8. (3) As a result, the following equation is obtained:
[0153]
number
[0154] The receiver 2 can decode the packets P1, P2, and P4 by solving the simultaneous equations (12A), (12B), and (12C).
[0155] When the encoded packet C after removing information of already received packets from the encoded packet contains only one packet, the receiver 2 converts the encoded packet C into one packet PKT_N according to the following equation.
[0156]
number
[0157] In this case, the receiver 2 substitutes the coded packet C from which the information of the already received packet has been removed into "Y" in equation (13), and substitutes one code C included in any of the coded packets C from which the information of the already received packet has been removed into "C" in equation (13). Note that the calculation of equation (13) is performed in the Galois field GF(2 n ) is an operation on
[0158] Fig. 10 is a diagram for explaining another method of transmitting packets constituting a burst. With reference to Fig. 10, the processing means 12 generates encoded packets C1 to C6 each time it copies packets P1 to P6 to the buffer 11, as described in Fig. 9.
[0159] When packet P2 arrives at the transmitter 1, the processing means 12 copies packet P2 to the buffer 11, adds encoded packet C1 to packet P2 to generate a combined packet P2 / C1, and outputs the generated combined packet P2 / C1 to the transmitting means 13 to transmit the combined packet P2 / C1 to the receiver 2.
[0160] Thereafter, the processing means 12 generates an encoded packet C2, and when packet P3 arrives at the transmitter 1, copies packet P3 to the buffer 11, attaches the encoded packet C2 to packet P3 to generate a combined packet P3 / C2, and outputs the generated combined packet P3 / C2 to the transmitting means 13, thereby transmitting the combined packet P3 / C2 to the receiver 2.
[0161] Furthermore, the processing means 12 generates an encoded packet C3, and when packet P4 arrives at the transmitter 1, copies packet P4 to the buffer 11, adds encoded packet C3 to packet P4 to generate a combined packet P4 / C3, and outputs the generated combined packet P4 / C3 to the transmitting means 13, and transmits the combined packet P4 / C3 to the receiver 2.
[0162] Furthermore, the processing means 12 generates an encoded packet C4, and when packet P5 arrives at the transmitter 1, copies packet P5 to the buffer 11, adds the encoded packet C4 to packet P5 to generate a combined packet P5 / C4, and outputs the generated combined packet P5 / C4 to the transmitting means 13, thereby transmitting the combined packet P5 / C4 to the receiver 2.
[0163] Furthermore, the processing means 12 generates an encoded packet C5, and when the packet P6 arrives at the transmitter 1, the processing means 12 copies the packet P6 to the buffer 11, adds the encoded packet C5 to the packet P6 to generate a combined packet P6 / C5, and outputs the generated combined packet P6 / C5 to the transmitting means 13 to transmit the combined packet P6 / C5 to the receiver 2. Note that the encoded packet C5 includes packets P1 to P5 (see equation (5)), but when the combined packet is generated by adding the encoded packet C to the packet P6 that arrived last at the transmitter 1 among the packets P1 to P6 constituting a burst, the encoded packet C includes all the packets P1 to P6 stored in the buffer 11. Therefore, the encoded packet C5 in the combined packet P6 / C5 includes all the packets P1 to P6 as shown in FIG. 10, not as shown in the above equation (5).
[0164] In this way, the transmission of encoded packets by Piggyback may be performed for each of packets P2 to P6 among packets P1 to P6 that make up a burst.
[0165] After transmitting the combined packet P6 / C5 to the receiver 2, the processing means 12 transmits each of the encoded packets C6 to C8 independently to the receiver 2, as described with reference to FIG.
[0166] FIG. 11 is a diagram for explaining still another method of transmitting packets that constitute a burst.
[0167] 11, the processing means 12 generates encoded packets C1 to C6 each time it copies packets P1 to P6 to the buffer 11, as described in FIG.
[0168] At the timing when the packets P2 to P5 arrive at the transmitter 1, the processing means 12 transmits the packets P2 to P5 independently to the receiver 2, without adding the encoded packets C1 to C4 to the packets P2 to P5.
[0169] Then, when packet P6 arrives at the transmitter 1, the processing means 12 generates a combined packet P6 / C5 by adding encoded packet C5 to packet P6, and outputs the generated combined packet P6 / C5 to the transmitting means 13, and transmits the combined packet P6 / C5 to the receiver 2. In this case as well, encoded packet P5 does not include the above formula (5), but includes all of packets P1 to P6 as shown in FIG.
[0170] In this way, the transmission of the encoded packets by Piggyback may be performed only for the last packet P6 among the packets P1 to P6 that make up the burst.
[0171] After transmitting the combined packet P6 / C5 to the receiver 2, the processing means 12 transmits each of the encoded packets C6 to C8 independently to the receiver 2, as described with reference to FIG.
[0172] As described in Figures 9 to 11, in an embodiment of the present invention, transmission of an encoded packet by a combined packet (i.e., transmission of an encoded packet by Piggyback) may be performed at the timing when one or more packets selected from packets P2 to P6 among packets P1 to P6 constituting a burst arrive at transmitter 1.
[0173] FIG. 12 is a flowchart for explaining the operation of the transmitter 1 shown in FIGS.
[0174] 12, when the operation of the transmitter 1 is started, the processing means 12 sets the sequence number SN to SN=0 (step S1). Then, the processing means 12 determines whether or not a packet has arrived at the buffer 11 (step S2).
[0175] When it is determined in step S2 that packet PKT_N has arrived at the buffer 11, the processing means 12 sets SN=SN+1 (step S3), adds the sequence number SN and the packet length L to packet PKT_N, and copies the sequence number SN, the packet length L, and packet PKT_N to the buffer 11 (step S4). Note that by executing step S3, the sequence number SN, which indicates the order in which the packet arrived at the buffer 11 (i.e., the transmitter 1), is stored in the buffer 11 together with packet PKT_N and the packet length L.
[0176] 9 to 12, the processing means 12 judges whether to transmit the encoded packet C or not (step S5). As described above with reference to Fig. 9 to Fig. 12, the transmission of the encoded packet by the combined packet (i.e., the transmission of the encoded packet by the Piggyback) is executed at the timing when one or more packets selected from the packets P2 to P6 among the packets P1 to P6 constituting the burst arrive at the transmitter 1. Piggyback is determined in advance, and the determined packet P Piggyback arrives at the buffer 11 (i.e. the transmitter 1), the processing means 12 decides to transmit the encoded packet C and Piggyback When a packet other than the packet C arrives at the buffer 11 (that is, the transmitter 1), it is determined that the encoded packet C is not to be transmitted.
[0177] When it is determined in step S5 that the encoded packet C is to be transmitted, the encoded packet is added to the N packet PKT_N (step S6) to generate a combined packet.
[0178] Then, when it is determined in step S5 that the encoded packet C is not to be transmitted, or after step S6, the processing means 12 outputs the packet to the transmitting means 13, and the transmitting means 13 transmits the packet from the processing means 12 to the receiver 2 via the antenna 14 (step S7).
[0179] Thereafter, the processing means 12 generates the encoded packets C from the packets stored in the buffer 11 by the method described above (step S8).
[0180] Then, the series of operations proceeds to step S2.
[0181] On the other hand, when it is determined in step S2 that the packet has not arrived at the buffer 11, the processing means 12 determines whether or not T milliseconds have elapsed since the last packet arrived at the buffer 11 (step S9).
[0182] When it is determined in step S9 that T milliseconds have passed since the last packet arrived at the buffer 11, the processing means 12 outputs the encoded packet C to the transmitting means 13, and the transmitting means 13 transmits the encoded packet C received from the processing means 12 to the receiver 2 via the antenna 14 (step S10).
[0183] After that, the processing means 12 judges whether the number of transmissions of the encoded packet C is K or not (step S11).
[0184] When it is determined in step S11 that the number of transmissions of encoded packets C is not K, the processing means 12 generates encoded packets C from the packets stored in the buffer 11 (step S12). After that, the series of operations proceeds to step S10, and steps S10 to S12 are repeatedly executed until it is determined in step S11 that the number of transmissions of encoded packets C is K.
[0185] Then, when it is determined in step S11 that the number of transmitted encoded packets C is K, the processing means 12 clears the buffer 11 (step S13). After that, the series of operations proceeds to step S2. Also, when it is determined in step S9 that T milliseconds have not elapsed since the last packet arrived at the buffer 11, the series of operations proceeds to step S2.
[0186] FIG. 13 is a flowchart for explaining the detailed operation of step S8 shown in FIG.
[0187] 13, after step S7 in Fig. 12, the processing means 12 sets i=1 (step S81), where i is an argument indicating the sequence number SN of each packet stored in the buffer 11 at the time when step S8 in Fig. 12 is executed. And, i=1 represents the oldest packet among the packets stored in the buffer 11.
[0188] After step S81, the processing means 12 generates an encoded packet Y0={000...0} consisting of "000...0" having a length of n bits (step S82).
[0189] Then, the processing means 12 reads the packet X from the buffer 11. i is obtained (step S83).
[0190] Then, the processing means 12 calculates the Galois field (GF(2 n )) to generate n-bit random numbers, and then convert the generated n-bit random numbers into C i (step S84).
[0191] Then, the processing means 12 i Each element of X i,1 ~X i,Li×8 / n C i Multiply by C i X i and Y i-1 That is, the processing means 12 calculates Y i is calculated (step S85).
[0192]
number
[0193] Subsequently, the processing means 12 i Sequence number SNi , packet length L i and code C i is added to the Coded info (step S86).
[0194] Then, the processing means 12 judges whether or not i=I (step S87), where I indicates the maximum value of the sequence number SN of the packets stored in the buffer 11 at the time when step S8 in FIG. 12 is executed.
[0195] When it is determined in step S87 that i is not equal to I, the processing means 12 sets i to i+1 (step S88). After that, the series of operations proceeds to step S83, and steps S83 to S88 are repeatedly executed until it is determined in step S87 that i is equal to I.
[0196] Then, in step S87, when it is determined that i=I, the processing means 12 i and the coded info (step S89).
[0197] After that, the series of operations proceeds to step S2 in FIG.
[0198] Note that the detailed operation of step S12 in Fig. 12 is also executed according to the flowchart shown in Fig. 13. In this case, when it is determined in step S11 in Fig. 12 that the number of transmitted encoded packets is not K, steps S81 to S89 are executed in sequence, and after step S89, the series of operations proceeds to step S10 in Fig. 12.
[0199] As long as the transmitter 1 is driven, it repeatedly executes steps S1 to S13 shown in FIG. 12 (including the flowchart shown in FIG. 13).
[0200] In the flowchart shown in FIG. 12 (including the flowchart shown in FIG. 13), after step S1 is executed, when the processing means 12 determines in step S2 that a packet PKT_N(1) that does not constitute a burst (a packet indicating a P picture shown in FIG. 4) has arrived at the buffer 11, it sequentially executes the above-mentioned steps S3 and S4, and then determines in step S5 not to transmit the encoded packet C, and transmits the packet PKT_N(1) to the receiver 2 via the transmitting means 13 and the antenna 14 in step S7.
[0201] Thereafter, the processing means 12 generates an encoded packet C in step S8, and after step S8, the series of operations proceeds to step S2.
[0202] Then, in step S2, each time the processing means 12 determines that a packet PKT_N (a packet indicating a P picture shown in FIG. 4) that does not constitute a burst has arrived at the buffer 11, it sequentially executes steps S3, S4, "NO" in step S5, and step S7 to transmit a single packet PKT_N to the receiver 2, and in step S8 generates an encoded packet C. After that, the series of operations proceeds to step S2.
[0203] In addition, in step S8, a packet PKT_N(1) that does not constitute a burst is encoded to generate an encoded packet, and if in step S2 it is determined that no packet has arrived, and in step S9 it is determined that T milliseconds have passed since the last packet arrived at buffer 11, then the encoded packet (consisting of approximately N packets) will be transmitted K times (see steps S10 to S12).
[0204] Next, the operation of the transmitter 1 when a packet constituting a burst (for example, any of packets P1 to P6 shown in FIG. 9) arrives at the buffer 11 will be described.
[0205] In step S2, the processing means 12 determines that the packet P1 has arrived at the buffer 11, and after sequentially executing the above-mentioned steps S3 and S4, determines in step S5 not to transmit the encoded packet C, and in step S7 transmits the packet P1 to the receiver 2 via the transmitting means 13 and the antenna 14.
[0206] Then, in step S8, the processing means 12 generates an encoded packet C1 including the packet P1, after which the series of operations proceeds to step S2.
[0207] Thereafter, in step S2, the processing means 12 determines that packet P2 has arrived at the buffer 11, and after sequentially executing the above-mentioned steps S3 and S4, determines in step S5 not to transmit the encoded packet C, and in step S7 transmits packet P2 to the receiver 2 via the transmitting means 13 and the antenna 14. Then, in step S8, the processing means 12 generates encoded packet C2 including packets P1 and P2. After that, the series of operations proceeds to step S2.
[0208] Subsequently, in step S2, the processing means 12 determines that packet P3 has arrived at the buffer 11, and after sequentially executing the above-mentioned steps S3 and S4, determines to transmit encoded packet C (=encoded packet C1) in step S5, and generates a combined packet P3 / C2 by adding encoded packet C2 to packet P3 in step S6. Then, in step S7, the processing means 12 transmits the combined packet P3 / C2 to the receiver 2 via the transmitting means 13 and antenna 14. Thereafter, in step S8, the processing means 12 generates an encoded packet C3 including packets P1 to P3. Then, the series of operations proceeds to step S2.
[0209] After generating encoded packet C3, the processing means 12 determines in step S2 that packet P4 has arrived at the buffer 11, and after sequentially executing the above-mentioned steps S3 and S4, determines in step S5 not to transmit encoded packet C, and transmits packet P4 to the receiver 2 via the transmitting means 13 and antenna 14 in step S7. Then, the processing means 12 generates encoded packet C4 including packets P1 to P4 in step S8. After that, the series of operations proceeds to step S2.
[0210] After generating the encoded packet C4, the processing means 12 determines in step S2 that the packet P5 has arrived at the buffer 11, and after sequentially executing the above-mentioned steps S3 and S4, determines in step S5 to transmit the encoded packet C, and generates a combined packet P5 / C4 by adding the encoded packet C4 to the packet P5 in step S6. Then, in step S7, the processing means 12 transmits the combined packet P5 / C4 to the receiver 2 via the transmitting means 13 and the antenna 14.
[0211] After that, the processing means 12 generates an encoded packet C5 including packets P1 to P5 in step S8, and then the series of operations proceeds to step S2.
[0212] After generating encoded packet C5, the processing means 12 determines in step S2 that packet P6 has arrived at the buffer 11, and after sequentially executing the above-mentioned steps S3 and S4, determines in step S5 not to transmit encoded packet C, and transmits packet P6 to the receiver 2 via the transmitting means 13 and antenna 14 in step S7. Then, the processing means 12 generates encoded packet C6 including packets P1 to P6 in step S8. After that, the series of operations proceeds to step S2.
[0213] Subsequently, in step S2, the processing means 12 determines that no packet has arrived at the buffer 11, and in step S9, determines that T milliseconds have passed since the last packet (=packet P6) arrived at the buffer 11, and in step S10, transmits encoded packet C6 to the receiver 2 via the transmitting means 13 and antenna 14. Then, in step S11, the processing means 12 determines that the number of transmissions of encoded packet C is not K (=3), and in step S12, generates encoded packet C7 including packets P1 to P6 from packets P1 to P6 stored in the buffer 11.
[0214] Thereafter, the processing means 12 transmits the encoded packet C7 to the receiver 2 via the transmitting means 13 and the antenna 14 in step S10.
[0215] Subsequently, in step S11, the processing means 12 determines that the number of transmissions of the encoded packet C is not K (=3), and generates an encoded packet C8 including the packets P1 to P6 from the packets P1 to P6 stored in the buffer 11 in step S12.
[0216] Thereafter, the processing means 12 transmits the encoded packet C8 to the receiver 2 via the transmitting means 13 and the antenna 14 in step S10.
[0217] Then, the processing means 12 determines in step S11 that the number of transmitted encoded packets C is K (=3), and clears the buffer 11 in step S13.
[0218] In the flowchart shown in FIG. 12, the number of transmitted encoded packets in step S11 is the number of encoded packets transmitted in step S10, and does not include the number of encoded packets transmitted in the combined packet in step S7.
[0219] As explained in FIG. 8(a), the number of packets constituting a burst, M Burst is the size of buffer 11, MBuffer 12, when it is determined that no packet has arrived in step S2, the packets P1 to P6 are stored in the buffer 11, so that the processing means 12 can generate encoded packets C7 and C8 including all of the packets P1 to P6 in step S12. As a result, even if the receiver 2 cannot receive a combined packet or a single packet (packets P1, P2, P4, P6, etc. in FIG. 9) including an encoded packet (at least one of the encoded packets C1 to C5) in step S7, the receiver 2 can decode the packets that the receiver 2 could not receive (some of the packets P1 to P6) by determining "K" in step S10 so as to transmit to the receiver 2 encoded packets (encoded packets C7, C8, etc.) a number equal to or greater than the number of packets that the receiver 2 could not receive (some of the packets P1 to P6).
[0220] Furthermore, as explained in FIG. 8B, the number of packets constituting a burst, M Burst is the size of buffer 11, M Buffer If it is larger than , packets P2 to P 10 When each of the packets P2 to P 10 The combined packets P2 / C1, P3 / C2, P4 / C3, P5 / C4, P6 / C5, P7 / C6, P8 / C7, P9 / C8, and P 10 When / C9 is transmitted to the receiver 2, the encoded packets C1 to C9 are expressed by the following equation.
[0221]
number
[0222] In equation (15), the number of packets included in the encoded packets C6 to C9 is six because the maximum number M Bufferis "6", so when packet P7 is copied to buffer 11, packets P1 to P6 are overwritten by packets P2 to P7, when packet P8 is copied to buffer 11, packets P2 to P7 are overwritten by packets P3 to P8, and when packet P9 is copied to buffer 11, packets P3 to P8 are overwritten by packets P4 to P9.
[0223] Then, the single packet P1 and the combined packets P2 / C1, P3 / C2, P4 / C3, P5 / C4, P6 / C5, P7 / C6, P8 / C7, P9 / C8, P 10 / C9 is transmitted in step S7 of FIG.
[0224] Single packet P1 and combined packets P2 / C1, P3 / C2, P4 / C3, P5 / C4, P6 / C5, P7 / C6, P8 / C7, P9 / C8, P 10 If half of the number of packets (=10) of P2 / C1, P3 / C2, P4 / C3, P5 / C4, P6 / C5, P7 / C6, P8 / C7, P9 / C8, P 10 Of / C9, at least four combined packets can be received by receiver 2.
[0225] In this case, receiver 2 can receive packet P1 and four combined packets P2 / C1, P3 / C2, P4 / C3, and P5 / C4, and five combined packets P6 / C5, P7 / C6, P8 / C7, P9 / C8, and P 10 If receiver 2 cannot receive packets P6 to P 10 However, packets P1 to P5 can be received.
[0226] However, the transmitter 1 repeats steps S10 to S12 in FIG. 12 five times to obtain packets P5 to P 10 Five encoded packets C containing 10 ~C 14 can be sent to receiver 2. Five encoded packets C 10 ~C 14is expressed by the following equation:
[0227]
number
[0228] Then, the receiver 2 obtains, for example, four encoded packets C 10 ~C 13 , and four encoded packets C 10 ~C 13 The information of the already received packet P5 is removed from the 10 ',C 11 ',C 12 ',C 13 '. Generate the encoded packet C 10 ',C 11 ',C 12 ',C 13 Each of the four packets P6 to P 10 Therefore, packets P6 to P 10 can be decrypted.
[0229]
number
[0230] Also, receiver 2 receives packet P1 and five combined packets P6 / C5, P7 / C6, P8 / C7, P9 / C8, P 10 If it is assumed that the received packets P2 / C1, P3 / C2, P4 / C3, and P5 / C9 are received, but the received packets P2 / C1, P3 / C2, P4 / C3, and P5 / C4 are not received, then packets P2 to P5 are not received.
[0231] In this case, since the number of packets that could not be received is "4," packets P2 to P5 can be decoded by selecting four encoded packets C6 to C9 from encoded packets C5 to C9 in equation (15), removing the information of already received packets P1, P6 to P9 from encoded packets C6 to C9, and solving the simultaneous equations that indicate encoded packets C6' to C9' from which the information of already received packets P1, P6 to P9 has been removed.
[0232] In this way, the number of packets that make up a burst, M Burst is the size of buffer 11, M Buffer Even if the received packet is larger than 1, the receiver 2 can decode the packet that it was unable to receive.
[0233] Furthermore, in the flowchart shown in FIG. 12 (including the flowchart shown in FIG. 13), the transmitter 1 transmits a single packet or a combined packet (including an encoded packet) to the receiver 2 each time each of packets P1 to P6 constituting a burst arrives at the transmitter 1, so that multiple packets P1 to P6 constituting a burst can be transmitted to the receiver 2 with low delay.
[0234] After transmitting packets constituting a burst (all of packets P1 to P6 shown in FIG. 9) to the receiver 2, when the transmitter 1 determines that a packet PKT_N (a packet indicating a P picture shown in FIG. 4) not constituting a burst has arrived at the buffer 11, the transmitter 1 transmits the packet PKT_N (a packet indicating a P picture shown in FIG. 4) not constituting a burst to the receiver 2 by the method described above.
[0235] In this way, the transmitter 1 transmits packets that do not constitute a burst and packets that constitute a burst to the receiver 2 in accordance with the flowchart shown in FIG. 12 (including the flowchart shown in FIG. 13).
[0236] FIG. 14 is a flowchart for explaining the operation of the receiver 2 shown in FIGS.
[0237] 14, when the operation of the receiver 2 is started, the receiving means 22 receives a packet via the antenna 21 ("YES" in step S21), and outputs the received packet to the processing means .
[0238] The processing means 23 receives the packet PKT from the receiving means 22, and judges whether the received packet PKT is an N packet PKT_N, thereby judging whether the N packet PKT_N has been received (step S22). In this case, the processing means 23 judges that the N packet PKT_N has been received when the identifier N / C of the Packet info of the packet PKT consists of "N" and the packet PKT does not include the Coded info and the area REG2, and judges that the N packet PKT_N has not been received when the identifier N / C of the Packet info of the packet PKT consists of "C" or when the identifier N / C of the Packet info of the packet PKT consists of "N" and the identifier N / C of the Coded info consists of "C".
[0239] When it is determined in step S22 that N packet PKT_N has not been received, the processing means 23 determines whether or not a combined packet (a packet transmitted by Piggyback) has been received (step S23). In this case, the processing means 23 determines that a combined packet has been received when the identifier N / C of the Packet info of the packet PKT is "N" and the identifier N / C of the Coded info of the packet PKT is "C", and determines that a combined packet has not been received when the identifier N / C of the Packet info of the packet PKT is "C".
[0240] When it is determined in step S23 that the combined packet has been received, the processing means 23 separates the N packet from the C packet (=encoded packet) (step S24).
[0241] After that, the processing means 23 judges whether or not there is an N packet PKT_N (step S25).
[0242] When it is determined in step S25 that there is an N packet PKT, or when it is determined in step S22 that an N packet PKT_N has been received, the processing means 23 executes an N packet reception process (step S26).
[0243] After that, the processing means 23 judges whether or not there is a C packet (=encoded packet) (step S27).
[0244] Then, when it is determined in step S23 that a combined packet has not been received, or when it is determined in step S25 that an N packet PKT_N is not present, or when it is determined in step S27 that a C packet (=encoded packet) is present, the processing means 23 removes the information of the received N packet PKT_N from the C packet (=encoded packet) (step S28).
[0245] Then, the processing means 23 executes the decryption process (step S29). Then, the processing means 23 determines whether the decryption is successful (step S30).
[0246] When it is determined in step S30 that the decoding has been successful, steps S29 and S30 are repeatedly executed until it is determined in step S30 that the decoding has not been successful.
[0247] Then, when it is determined in step S27 that there is no C packet (=encoded packet), or when it is determined in step S30 that decoding has not been possible, the series of operations proceeds to step S21. After that, the receiver 2 repeatedly executes steps S21 to S30 as long as it is driven.
[0248] In addition, when it is determined in step S23 that the combined packet has not been received, the series of operations proceeds to step S28 because the packets received by receiver 2 are three types: N packet PKT_N, encoded packet PKT_C, and combined packet, and since it is determined in step S22 that N packet PKT_N has not been received and furthermore it is determined in step S23 that the combined packet has not been received, the packet received by receiver 2 is encoded packet PKT_C.
[0249] FIG. 15 is a flowchart for explaining the detailed operation of step S26 shown in FIG.
[0250] 15, when it is determined in step S22 of FIG. 14 that the N packet PKT_N has been received, or when it is determined in step S25 of FIG. 14 that the N packet PKT_N is present, the processing means 23 calculates the sequence number SN of the received N packet PKT_N. rx The sequence number SN of N packets PKT_N that have been received and sent to the application 30 sent (that is, the sequence number of the N packet stored in the N buffer 24) or less, or whether the received N packet PKT_N has already been stored in the N buffer 24 (step S261).
[0251] In step S261, the sequence number SN of the received N packets PKT_N is rx The sequence number SN of N packets PKT_N that have been received and sent to the application 30 sent If it is determined that the number is equal to or less than this number, or if it is determined that the received N packet PKT_N has already been stored in the N buffer 24, the processing means 23 discards the received N packet PKT_N (step S262).
[0252] On the other hand, in step S261, the sequence number SN of the received N packets PKT_N is rx The sequence number SN of N packets PKT_N that have been received and sent to the application 30 sent If it is determined that the received N packet PKT_N is not equal to or less than the N buffer 24 and that the received N packet PKT_N has not been stored in the N buffer 24, the processing means 23 rx ) is stored in N buffer 24 (step S263).
[0253] Then, the processing means 23 sets i=1 (step S264) and the sequence number SN sentIt is determined whether or not a packet PKT_N having +i exists in the N buffer 24 (step S265), where i is an integer of 1, 2, 3, . . .
[0254] In step S265, the sequence number SN sent When it is determined that a packet PKT_N having sequence number SN+i is present in the N buffer 24, the processing means 23 sent The processing means 23 then transmits the packet PKT_N having the sequence number SN+i to the application 30 (step S266). Then, the processing means 23 sets i=i+1 (step S267). After that, the series of operations proceeds to step S265, where the packet PKT_N having the sequence number SN+i is sent Steps S265 to S267 are repeatedly executed until it is determined that the packet PKT_N having +i is not present in the N buffer 24.
[0255] Then, in step S265, the sequence number SN sent If it is determined that the packet PKT_N having the packet number +i is not present in the N buffer 24, the processing means 23 sent =SN sent Set +i-1 (step S268).
[0256] After step S262 or step S268, the sequence of operations proceeds to step S27 in FIG.
[0257] Steps S263 to S267 shown in FIG. 15 are steps for storing a newly received N packet PKT_N in the N buffer 24 and transmitting it to the application 30. When i≧2, in step S265, the sequence number SN sent If it is determined that the packet PKT_N having the sequence number SN+i does not exist in the N buffer 24, then in step S268, the latest sequence number SN+i of the received N packet PKT_N in the N buffer 24 is sent will be updated.
[0258] FIG. 16 is a flowchart for explaining the detailed operation of step S28 shown in FIG.
[0259] 16, when it is determined in step S23 of FIG. 14 that a combined packet has not been received, or when it is determined in step S25 of FIG. 14 that an N packet does not exist, or when it is determined in step S27 of FIG. 14 that a C packet (encoded packet) exists, the processing means 23 sets i=1 (step S281) and retrieves packet X from the N buffer 24. i Here, i is the number of packets X stored in the N buffer 24 (step S282). i , which is 1 to I. I is the number of packets X stored in the N buffer 24. i This is the total number of.
[0260] After step S282, the processing means 23 i It is determined whether the sequence number SN of the encoded packet Y is included in the Coded info of the encoded packet Y (step S283).
[0261] In step S283, packet X i When it is determined that the sequence number SN of the coded packet Y is included in the Coded info of the coded packet Y, the processing means 23 performs i By performing an exclusive OR operation with the encoded packet Y, the received packet X is obtained. i The information is removed (step S284).
[0262] Then, in step S283, packet X i When it is determined that the sequence number SN of I is not included in the Coded info of the encoded packet Y, or after step S284, the processing means 23 determines whether or not i=I (step S285).
[0263] When it is determined in step S285 that i is not equal to I, the processing means 23 sets i to i+1 (step S286). After that, the series of operations proceeds to step S282, and steps S282 to S286 are repeatedly executed until it is determined in step S285 that i is equal to I.
[0264] Then, when it is determined in step S285 that i=I, the processing means 23 determines whether or not all of the information contained in the encoded packet Y has been received (step S287). In this case, when encoded packet Y is Y={000...0}, the processing means 23 determines that all of the information contained in encoded packet Y has been received, and when encoded packet Y is not Y={000...0}, the processing means 23 determines that all of the information contained in encoded packet Y has not been received (i.e., some of the information contained in encoded packet Y has not been received).
[0265] When it is determined in step S287 that not all of the information contained in the encoded packet Y has been received, the processing means 23 determines whether the number of N packets contained in the encoded packet Y is “1” (step S288).
[0266] When it is determined in step S288 that the number of N packets included in the encoded packet Y is not "1", the processing means 23 stores the encoded packet Y in the C buffer 25 (step S289).
[0267] On the other hand, when it is determined in step S288 that the number of N packets contained in the encoded packet Y is “1”, the processing means 23 converts the encoded packet Y into packet X by equation (13) and executes the above-mentioned “N packet receiving process” (flowchart shown in FIG. 15) on the converted packet X (step S290).
[0268] Then, when it is determined in step S287 that all of the information contained in encoded packet Y has been received, or after step S289, or after step S290, the series of operations proceeds to step S29 in FIG.
[0269] In the flowchart shown in FIG. 16, steps S282 to S286 are repeatedly executed until it is determined in step S285 that i=I, whereby all packets X1 to X2 already received from the encoded packet Y are I That is, steps S282 to S286 are repeatedly executed until it is determined in step S285 that i=I, thereby generating encoded packet C including only a plurality of packets not stored in N buffer 24 (=a plurality of packets not yet received).
[0270] FIG. 17 is a flowchart for explaining the detailed operation of step S29 shown in FIG.
[0271] Referring to FIG. 17, after step S28 in FIG. 14 or when it is determined in step S30 that decoding has been successful, the processing means 23 determines whether or not two or more encoded packets Y are present in the C buffer 25 (step S291).
[0272] When it is determined in step S291 that two or more encoded packets Y are not present in the C buffer 25, the series of operations proceeds to step S21 in FIG.
[0273] On the other hand, when it is determined in step S291 that two or more encoded packets Y are present in the C buffer 25, the processing means 23 sets i=1 (step S292). Here, i is the number of encoded packets Y stored in the C buffer 25. i and is 1 to I. I is the number of encoded packets Y stored in the C buffer 25. i This is the total number of.
[0274] After step S292, the processing means 23 reads the encoded packet Y i (step S293).
[0275] Then, the processing means 23 processes the encoded packet Y i "From the encoded packet, received packet X i Then, "Remove information" (flowchart in FIG. 16) is executed (step S294).
[0276] Then, the processing means 23 processes the encoded packet Y i It is determined whether the number of N packets included in is equal to or less than "1" (step S295).
[0277] In step S295, the encoded packet Y i is determined to be equal to or smaller than "1", the processing means 23 i is erased from the C buffer 25 (step S296).
[0278] Then, in step S295, the encoded packet Y i is not equal to or less than "1", or after step S296, the processing means 23 determines whether i=I (step S297).
[0279] When it is determined in step S297 that i is not equal to I, the processing means 23 sets i to i+1 (step S298). After that, the series of operations proceeds to step S293, and steps S293 to S298 are repeatedly executed until it is determined in step S297 that i is equal to I.
[0280] Then, when it is judged in step S297 that i=I, the processing means 23 judges whether or not a plurality of encoded packets C including a plurality of N packets exist in the C buffer 25 (step S299).
[0281] In step S299, when it is determined that there are multiple encoded packets C, each containing multiple N packets, in the C buffer 25, the processing means 23 acquires multiple encoded packets Y from the C buffer 25 and solves the simultaneous equations representing the acquired multiple encoded packets Y to decode the C packets (encoded packets) (step S300).
[0282] Then, in step S299, when it is determined that there are not multiple encoded packets C containing multiple N packets in the C buffer 25, or after step S300, the processing means 23 sets i=1 (step S301) and determines whether the number of N packets that have been decoded is greater than or equal to "i" (step S302).
[0283] When it is determined in step S302 that the number of N packets that have been decoded is equal to or greater than "i", the processing means 23 executes "N packet reception processing" (flowchart in FIG. 15) on the decoded N packets (step S303). Then, the processing means 23 sets i=i+1 (step S304). Thereafter, the series of operations proceeds to step S302, and steps S302 to S304 are repeatedly executed until it is determined in step S302 that the number of N packets that have been decoded is not equal to or greater than "i".
[0284] Then, if it is determined in step S302 that the number of N packets that have been successfully decoded is not equal to or greater than "i", the process proceeds to step S30 in FIG.
[0285] In the flowchart shown in Figure 17, if the flow proceeds to step S291 after it is determined in step S287 of Figure 16 that all of the information contained in the encoded packet Y has been received, or after step S290, it is determined in step S291 that two or more encoded packets Y are not present in the C buffer 25, and the series of operations proceeds to step S21 of Figure 14.
[0286] On the other hand, when the process proceeds to step S291 after step S289 in FIG. 16, if it is determined in step S291 that two or more encoded packets Y are present in the C buffer 25, the above-mentioned steps S292 to S304 are executed in sequence, and if it is determined in step S291 that two or more encoded packets Y are not present in the C buffer 25, the series of operations proceeds to step S21 in FIG. 14.
[0287] Also, in the flowchart shown in FIG. 17, steps S302 to S304 are repeatedly executed until it is determined in step S302 that the number of N packets that have been successfully decoded is not equal to or greater than i, in order to execute the "N packet reception process" (flowchart in FIG. 15) for all N packets obtained by decoding the encoded packet C.
[0288] FIG. 18 is a diagram showing the transition of the N buffer 24 and the C buffer 25 when packets constituting a burst are received.
[0289] FIG. 18 shows the transition of N buffer 24 and C buffer 25 when packets constituting a burst are received, in the case where the packets constituting the burst are packets P1 to P6 shown in FIG.
[0290] 18, when the transmitter 1 transmits packet P1, the receiver 2 fails to receive packet P1, so that the receiving means 22 of the receiver 2 does not receive packet P1 in step S21 of Fig. 14. As a result, no packet is stored in the N buffer 24 and the C buffer 25 (see (a) of Fig. 18).
[0291] Thereafter, when the transmitter 1 transmits packet P2, the receiving means 22 of the receiver 2 receives packet P2 via the antenna 21 (see “YES” in step S21 of FIG. 14) and outputs the received packet P2 to the processing means 23.
[0292] When the processing means 23 receives the packet P2 from the receiving means 22, it confirms that the identifier N / C in the Packet info of the packet P2 is "N" and determines that N packets have been received (see "YES" in step S22 of FIG. 14). Then, the processing means 23 executes an N packet receiving process for the packet P2 (see step S26 of FIG. 14) and obtains the sequence number SN of the packet P2. rx The sequence number SN of N packets PKT_N that have been received and sent to the application 30 sent (i.e., the sequence number of the N packet stored in the N buffer 24) and that the received packet has not been stored in the N buffer 24 (see "NO" in step S261 of FIG. 15), and stores packet P2 in the N buffer 24 and transmits packet P2 to the application 30 (see steps S263 to S266 of FIG. 15). Then, when i=2, the processing means 23 determines that the SN sent +i(=SN sent +2) is not present in the N buffer 24 (see "NO" in step S265 of FIG. 15), sent =SN sent +i-1=SN sent +2-1=SN sent +1, the sequence number SN of N packet PKT_N stored in N buffer 24 sent (see step S268 in FIG. 15). Thereafter, the processing means 23 determines that there is no C packet (see "NO" in step S27 in FIG. 14), and the operation of the receiver 2 proceeds to step S21 in FIG. 14. At this stage, packet P2 is stored in the N buffer 24 (see (b) in FIG. 18).
[0293] Subsequently, when the transmitter 1 transmits the combined packet P3 / C2, the receiver 2 fails to receive the combined packet P3 / C2, so that the receiving means 22 of the receiver 2 does not receive the combined packet P3 / C2 in step S21 of Fig. 14. As a result, the states of the N buffer 24 and the C buffer 25 do not change (see Fig. 18(c)).
[0294] Thereafter, when the transmitter 1 transmits packet P4, the receiver 2 executes the same operation as that performed when receiving packet P2 described above. As a result, packet P4 is stored in the N buffer 24 (see (d) of FIG. 18).
[0295] Then, when the transmitter 1 transmits the combined packet P5 / C4, the receiving means 22 of the receiver 2 receives the combined packet P5 / C4 via the antenna 21 (see “YES” in step S21 of FIG. 14) and outputs the received combined packet P5 / C4 to the processing means 23.
[0296] When the processing means 23 receives the combined packet P5 / C4 from the receiving means 22, it confirms that the identifier N / C of the Packet info of the combined packet P5 / C4 is “N” and the identifier N / C of the Coded info is “C”, and determines that N packet PKT_N has not been received (see “NO” in step S22 of FIG. 14), and also determines that a combined packet has been received (see “YES” in step S23 of FIG. 14).
[0297] Thereafter, the processing means 23 separates the N packet P5 from the encoded packet C4 of the combined packet P5 / C4 (see step S24 in FIG. 14), determines that there is an N packet (see "YES" in step S25 in FIG. 14), and executes an N packet reception process for the packet P5 (see step S26 in FIG. 14). Then, in the N packet reception process, the processing means 23 calculates the sequence number SN rx The sequence number SN of N packets PKT_N that have been received and sent to the application 30 sent (i.e., the sequence number of the N packet stored in the N buffer 24) and that the received packet is not stored in the N buffer 24 (see "NO" in step S261 of FIG. 15), and stores packet P5 in the N buffer 24 and transmits packet P5 to the application 30 (see steps S263 to S266 of FIG. 15). Then, when i=2, the processing means 23 stores the SN sent +i(=SN sent+2) packet does not exist (see "NO" in step S265 of FIG. 15), sent =SN sent +i-1=SN sent +2-1=SN sent +1, the sequence number SN of N packet PKT_N stored in N buffer 24 sent (see step S268 in FIG. 15). Thereafter, the processing means 23 determines that a C packet is present (see "YES" in step S27 in FIG. 14), and removes the information of the already-received N packet from the C packet (see step S28 in FIG. 14). At this point, packets P2, P4, and P5 are stored in the N buffer 24 (see (e) in FIG. 18), and the encoded packet C4 includes packets P1 to P4, so the processing means 23 sequentially calculates the exclusive OR of the encoded packet C4 and packets P2 and P4, and removes the information of the already-received packets P2 and P4 from the encoded packet C4 (see steps S282 to S286 in FIG. 16).
[0298] The encoded packet C4' obtained by removing the information of the already received packets P2 and P4 from the encoded packet C4 is expressed by equation (9). As a result, the processing means 23 determines that all the information contained in the encoded packet C4 has not been received (see "NO" in step S287 of FIG. 16), determines that the number of N packets contained in the encoded packet C4' is not "1" (see "NO" in step S288 of FIG. 16), and stores the encoded packet C4' in the C buffer 25 (see step S289 of FIG. 16). As a result, three packets P2, P4, and P5 are stored in the N buffer 24, and one encoded packet C4' is stored in the C buffer 25 (see (e) in FIG. 18).
[0299] After step S289 in FIG. 16, the operation of the receiver 2 proceeds to step S29 in FIG. 14, and in step S291 in FIG. 17 showing detailed operation of step S29 in FIG. 14, the processing means 23 determines that two or more encoded packets Y are not present in the C buffer 25, and the operation of the receiver 2 proceeds to step S21 in FIG. 14.
[0300] Thereafter, when the transmitter 1 transmits packet P6, the receiver 2 executes the same operation as that performed when receiving packet P2 described above. As a result, packet P6 is stored in the N buffer 24 (see (f) of FIG. 18). Then, after packet P6 is stored in the N buffer 24, the processing means 23 determines that there is no C packet (see "NO" in step S27 of FIG. 14), and the operation of the receiver 2 proceeds to step S21 of FIG. 14.
[0301] Subsequently, when the transmitter 1 transmits the encoded packet C6, the receiving means 22 of the receiver 2 receives the encoded packet C6 via the antenna 21 (see “YES” in step S21 of FIG. 14) and outputs the received encoded packet C6 to the processing means 23.
[0302] When the processing means 23 receives the encoded packet C6 from the receiving means 22, it determines that N packets have not been received (see "NO" in step S22 of Figure 14) and that a combined packet has not been received (see "NO" in step S23 of Figure 14) because the identifier N / C in the Packet info of the encoded packet C6 consists of "C".
[0303] Therefore, the processing means 23 removes information of already received packets from encoded packet C6 (see step S28 in FIG. 14). At this stage, packets P2, P4, P5, and P6 are stored in the N buffer 24, and encoded packet C6 includes packets P1 to P6 (see equation (6)), so the processing means 23 sequentially calculates the exclusive OR of encoded packet C6 and packets P2, P4, P5, and P6 to remove information of already received packets P2, P4, P5, and P6 from encoded packet C6 (see steps S282 to S286 in FIG. 16).
[0304] The encoded packet C6' obtained by removing the information of the already received packets P2, P4, P5, and P6 from the encoded packet C6 is expressed by equation (10). As a result, the processing means 23 determines that all the information contained in the encoded packet C6 has not been received (see "NO" in step S287 of FIG. 16), determines that the number of N packets contained in the encoded packet C6' is not "1" (see "NO" in step S288 of FIG. 16), and stores the encoded packet C6' in the C buffer 25 (see step S289 of FIG. 16). As a result, four packets P2, P4, P5, and P6 are stored in the N buffer 24, and two encoded packets C4' and C6' are stored in the C buffer 25 (see (g) in FIG. 18).
[0305] Then, the processing means 23 judges that there are multiple encoded packets including multiple N packets (see "YES" in step S299 in FIG. 17), and solves the simultaneous equations of equation (9) representing encoded packet C4' and equation (10) representing encoded packet C6' to decode the C packet (see step S300 in FIG. 17). As a result, two N packets P1 and P3 are obtained.
[0306] Thereafter, the processing means 23 sets i=1 (see step S301 in FIG. 17), determines that the number of decoded N packets is equal to or greater than i (=1) (see "YES" in step S302 in FIG. 17), and executes "N packet reception processing" (the flowchart shown in FIG. 15) for the N packet P1 (see step S303 in FIG. 17). Then, in the N packet reception processing, the processing means 23 calculates the sequence number SN rx The sequence number SN of N packets PKT_N that have been received and sent to the application 30 sent(i.e., the sequence number of the N packet stored in the N buffer 24) and that the received packet (=packet P1) has not yet been stored in the N buffer 24 (see "NO" in step S261 of FIG. 15), and stores packet P1 in the N buffer 24 and transmits packet P1 to the application 30 (see steps S263 to S266 of FIG. 15). Then, when i=2, the processing means 23 stores the SN sent +i(=SN sent +2) packet does not exist (see "NO" in step S265 of FIG. 15), sent =SN sent +i-1=SN sent +2-1=SN sent +1, the sequence number SN of N packet PKT_N stored in N buffer 24 sent (see step S268 in FIG. 15).
[0307] In step S303 of FIG. 17, when the "N packet reception process" (flowchart shown in FIG. 15) is executed, the operation of the receiver 2 proceeds to step S304 of FIG. 15 after step S268 of FIG. 15, so the processing means 23 sets i=i+1=2 (see step S304 of FIG. 17), determines that the number of N packets that have been decoded is equal to or greater than i (=2) (see "YES" in step S302 of FIG. 17), and executes the "N packet reception process" (flowchart shown in FIG. 15) for the N packet P2 (see step S303 of FIG. 17). Then, in the N packet reception process, the processing means 23 calculates the sequence number SN of the packet P2. rx The sequence number SN of N packets PKT_N that have been received and sent to the application 30 sent (i.e., the sequence number of the N packet stored in the N buffer 24) and that the received packet (=packet P2) has not been stored in the N buffer 24 (see "NO" in step S261 of FIG. 15), and stores packet P2 in the N buffer 24 and transmits packet P2 to the application 30 (see steps S263 to S266 of FIG. 15). Then, when i=2, the processing means 23sent +i(=SN sent +2) is not present in the N buffer 24 (see "NO" in step S265 of FIG. 15), sent =SN sent +i-1=SN sent +2-1=SN sent +1, the sequence number SN of N packet PKT_N stored in N buffer 24 sent (see step S268 in FIG. 15). After that, the processing means 23 sets i=i+1=3 (see step S304 in FIG. 17), and determines that the number of N packets that have been decoded is not equal to or greater than i (=3) (see "NO" in step S302 in FIG. 17). Then, the operation of the receiver 2 proceeds to step S30 in FIG. 14, where the processing means 23 determines that decoding has been successful ("YES" in step S30 in FIG. 14), and in step S291 in the flowchart in FIG. 17 showing the detailed operation of step S29 in FIG. 14, determines that two or more encoded packets are not present in the C buffer 25 (see "NO" in step S291 in FIG. 17), and the operation of the receiver 2 proceeds to step S21 in FIG. 14.
[0308] At this stage, no packets are stored in the N buffer 24 and the C buffer 25 (see (h) of FIG. 18). This completes the reception process for the packets (packets P1 to P6) that make up the burst.
[0309] In the flowchart shown in FIG. 14 (including the flowcharts shown in FIG. 15 to FIG. 17) showing the packet reception process, after "removing information of already received N packets from C packet" is executed in step S28 of FIG. 14, "removing already received packet X from the encoded packet" is executed in step S294 of the flowchart of FIG. 17 showing the detailed operation of the decoding process in step S29. i The reason for "removing the information" is as follows.
[0310] In the flowchart of FIG. 12 showing the operation of the transmitter 1, when it is determined in step S9 that T milliseconds have elapsed since the last packet arrived at the buffer 11, the transmitter 1 transmits coded packets C to the receiver 2 until it is determined in step S11 that the number of transmitted coded packets is K (see steps S10 to S12). In this case, as described above, the transmitter 1 transmits coded packets C6 (=a 61 P1+a 62 P2+a 63 P3+a 64 P4+a 65 P5+a 66 P6), encoding packet C7 (=a 71 P1+a 72 P2+a 73 P3+a 74 P4+a 75 P5+a 76 P6) and the encoded packet C8 (=a 81 P1+a 82 P2+a 83 P3+a 84 P4+a 85 P5+a 86 P6) to the receiver 2. Here, the code a in the encoded packet C6 is 63 is set to zero. In other words, the encoded packet C6 is substantially set to C6=a 61 P1+a 62 P2+a 64 P4+a 65 P5+a 66 It shall consist of P6.
[0311] As a result, even if the receiver 2 cannot receive the encoded packet C (eg, encoded packet C2) transmitted in step S7 of FIG. 12, it can receive the encoded packets C6 to C8 transmitted in step S10.
[0312] Then, the processing means 23 of the receiver 2 determines that N packets have not been received (see "NO" in step S22 of FIG. 14), and determines that a combined packet has not been received (see "NO" in step S23 of FIG. 14), and removes the information of the already received N packets P2, P4, P5, and P6 from the encoded packet C6 (see step S28 of FIG. 14 (steps S261 to S286 of the flowchart in FIG. 16)). As a result, the processing means 23 determines that encoded packet C6'=a 61 Get P1.
[0313] Then, the processing means 23 determines that all of the information contained in the encoded packet Y has not been received (see "NO" in step S287 of FIG. 16), determines that the number of N packets contained in the encoded packet C6' is "1" (see "YES" in step S288 of FIG. 16), and sets encoded packet C6'=a 61 P1 is converted to P1 by equation (13) and the "N packet reception process" (flowchart shown in FIG. 15) is executed (see step S290 in FIG. 16).
[0314] In this case, since the "N-packet reception process" is executed for the first time for packet P1, the processing means 23 receives the sequence number SN rx The sequence number SN of N packets PKT_N that have been received and sent to the application 30 sent (i.e., the sequence number of the N packet stored in N buffer 24) and that the received packet (packet P1) has not already been stored in N buffer 24 (see "NO" in step S261 of FIG. 15), and stores packet P1 in N buffer 24 (see step S263 of FIG. 15). At this stage, packets P1, P2, P4, P5, and P6 are stored in N buffer 24.
[0315] Then, after step S290 in FIG. 16, the processing means 23 repeatedly executes steps S293 to S298 in the flowchart in FIG. 17 showing the detailed operation of the decoding process (see step S29 in FIG. 14) a plurality of times, thereby obtaining, in step S294, the encoded packet C4' (=a41 P1+a 43 The information of packet P1 is removed from packet P3, and the encoded packet C7 (=a 71 P1+a 72 P2+a 73 P3+a 74 P4+a 75 P5+a 76 The information of packets P1, P2, P4, P5, and P6 is removed from P6, and an encoded packet C8 (=a 81 P1+a 82 P2+a 83 P3+a 84 P4+a 85 P5+a 86 P6) removes the information of packets P1, P2, P4, P5, and P6.
[0316] In this way, in order to remove the information of the newly acquired packet P1 (N packet) from the encoded packets C4', C7, and C8, in step S28 of FIG. 14, "information of the already received N packets is removed from the C packet" is executed, and then in step S294 of the flowchart of FIG. 17 showing the detailed operation of the decoding process in step S29, "information of the already received packet X is removed from the encoded packets" is executed. i The government decided to carry out the "removal of all information related to the virus."
[0317] In the embodiment of the present invention, the operation of the transmitter 1 may be realized by software. In this case, the transmitter 1 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory). The ROM stores a program Prog_A consisting of the steps of the flowchart shown in FIG. 12 (including the flowchart shown in FIG. 13).
[0318] The CPU reads the program Prog_A from the ROM, and executes the read program Prog_A to perform an operation of transmitting packets to the receiver 2. The RAM fulfills the function of the buffer 11 described above.
[0319] In addition, the program Prog_A may be distributed in a form recorded on a recording medium such as a CD or a DVD. When the recording medium on which the program Prog_A is recorded is attached to a computer, the computer reads the program Prog_A from the recording medium, executes it, and performs an operation of transmitting packets to the receiver 2.
[0320] Therefore, the recording medium on which the program Prog_A is recorded is a computer-readable recording medium.
[0321] In addition, in the embodiment of the present invention, the operation of the receiver 2 may be realized by software. In this case, the receiver 2 includes a CPU, a ROM, and a RAM. The ROM stores a program Prog_B consisting of the steps of the flowchart shown in FIG. 14 (including the flowcharts shown in FIG. 15 to FIG. 17).
[0322] The CPU reads out the program Prog_B from the ROM and executes the read out program Prog_B to perform packet reception processing. The RAM fulfills the functions of the N buffer 24 and the C buffer 25 described above.
[0323] Furthermore, the program Prog_B may be distributed in a form recorded on a recording medium such as a CD or a DVD. When the recording medium on which the program Prog_B is recorded is attached to a computer, the computer reads out the program Prog_B from the recording medium, executes it, and performs a packet reception process.
[0324] Therefore, the recording medium on which the program Prog_B is recorded is a computer-readable recording medium.
[0325] 19 is a schematic diagram of another wireless communication system according to an embodiment of the present invention. The wireless communication system according to the embodiment of the present invention may be a wireless communication system 10A shown in FIG.
[0326] 19, a wireless communication system 10A is the same as the wireless communication system 10 shown in FIG. 1, except that the transmitter 1 of the wireless communication system 10 shown in FIG. 1 is replaced with a transmitting device 100.
[0327] The transmitting device 100 includes a transmitter 1A and base stations AP_T_1 to AP_T_S (S is an integer equal to or greater than 2).
[0328] The transmitter 1A has the same configuration as the transmitter 1 shown in Fig. 2. The base stations AP_T_1 to AP_T_S are connected to the transmitter 1A via wired cables 3_1 to 3_S, respectively. The base stations AP_T_1 to AP_T_S are arranged to have communication ranges covering different communication spaces in the communication space between them and the receiver 2. In this case, the base stations AP_T_1 to AP_T_S are arranged at positions where radio wave shielding by buildings or the like is unlikely to occur between them and the receiver 2.
[0329] In accordance with the flowchart shown in Figure 12 (including the flowchart shown in Figure 13), each time the transmitter 1A receives a packet PKT from the application 20, it transmits a single packet or a combined packet to the base stations AP_T_1 to AP_T_S via the wired cables 3_1 to 3_S, respectively, using the method described above, and during a period when the transmitter 1A does not receive a packet PKT from the application 20, it transmits an encoded packet to the base stations AP_T_1 to AP_T_S via the wired cables 3_1 to 3_S, respectively.
[0330] The base stations AP_T_1 to AP_T_S receive individual packets or combined packets from the transmitter 1A via the wired cables 3_1 to 3_S, respectively, and transmit the received individual packets or combined packets to the receiver 2 via the networks NW_1 to NW_S, respectively.
[0331] Moreover, the base stations AP_T_1 to AP_T_S receive encoded packets from the transmitter 1A via the wired cables 3_1 to 3_S, respectively, and transmit the received encoded packets to the receiver 2 via the networks NW_1 to NW_S, respectively.
[0332] In the wireless communication system 10A, the receiver 2 receives individual packets, combined packets, and encoded packets from the base stations AP_T_1 to AP_T_S via the networks NW_1 to NW_S, respectively, and performs the above-mentioned receiving processing on the received individual packets, combined packets, and encoded packets in accordance with the flowchart shown in FIG. 14 (including the flowcharts shown in FIG. 15 to FIG. 17), and transmits the packets after the receiving processing to the application 30.
[0333] In the wireless communication system 10A, the transmitting device 100 transmits packets PKT (individual packets, combined packets, and encoded packets) to the receiver 2 via base stations AP_T_1 to AP_T_S having mutually different communication ranges, thereby suppressing radio wave blockage due to buildings or the like between the receiver 2 and the transmitting device 100, and enabling the packets PKT (individual packets, combined packets, and encoded packets) constituting real-time traffic to be transmitted to the receiver 2 quickly and with high reliability.
[0334] 20 is a schematic diagram of yet another wireless communication system according to an embodiment of the present invention, which may be a wireless communication system 10B shown in FIG.
[0335] 20, a wireless communication system 10B is the same as the wireless communication system 10 shown in FIG. 1 except that the receiver 2 of the wireless communication system 10 shown in FIG. 1 is replaced with a receiving device 200.
[0336] The receiving device 200 includes base stations AP_R_1 to AP_R_S and a receiver 2A.
[0337] The receiver 2A has the same configuration as the receiver 2 shown in Fig. 3. The base stations AP_R_1 to AP_R_S are connected to the receiver 2A via wired cables 4_1 to 4_S, respectively. The base stations AP_R_1 to AP_R_S are arranged to have communication ranges covering different communication spaces in the communication space between them and the transmitter 1. In this case, the base stations AP_R_1 to AP_R_S are arranged at positions where radio wave shielding by buildings or the like is unlikely to occur between them and the transmitter 1.
[0338] The base stations AP_R_1 to AP_R_S receive packets PKT (individual packets, combined packets and encoded packets) via the networks NW_1 to NW_S, respectively, and transmit the received packets PKT (individual packets, combined packets and encoded packets) to the receiver 2A via the wired cables 4_1 to 4_S, respectively.
[0339] The receiver 2A receives packets PKT (individual packets, combined packets and encoded packets) via the wired cables 4_1 to 4_S, respectively, and performs the above-mentioned receiving processing on the received packets PKT (individual packets, combined packets and encoded packets) in accordance with the flowchart shown in Figure 14 (including the flowcharts shown in Figures 15 to 17), and transmits the packets after the receiving processing to the application 30.
[0340] In the wireless communication system 10B, the receiving device 200 receives packets PKT (individual packets, combined packets, and encoded packets) from the transmitter 1 via base stations AP_R_1 to AP_R_S having mutually different communication ranges, thereby suppressing radio wave blockage by buildings, etc., and enabling the packets PKT (individual packets, combined packets, and encoded packets) constituting real-time traffic to be received from the transmitter 1 quickly and with high reliability.
[0341] 21 is a schematic diagram of yet another wireless communication system according to an embodiment of the present invention, which may be a wireless communication system 10C shown in FIG.
[0342] 21, a wireless communication system 10C includes a transmitting device 100 and a receiving device 200. The configuration of the transmitting device 100 is as described in FIG. 19. Moreover, the configuration of the receiving device 200 is as described in FIG.
[0343] In the wireless communication system 10C, the base stations AP_T_1 to AP_T_S are provided corresponding to the base stations AP_R_1 to AP_R_S, respectively. As a result, the base stations AP_T_1 and AP_R_1 are arranged at positions where packets PKT (single packets, concatenated packets, and encoded packets) can be transmitted and received via a communication space with good communication performance. In other words, the base stations AP_T_1 and AP_R_1 perform one-to-one communication, so that the base station AP_T_1 is arranged at a position where good communication performance can be obtained with the base station AP_R_1 without considering the arrangement positions of the base stations AP_R_2 to AP_R_S, and the base station AP_R_1 is arranged at a position where good communication performance can be obtained with the base station AP_T_1 without considering the arrangement positions of the base stations AP_T_2 to AP_T_S. The same is true for the base stations AP_T_2 and AP_R_2, . . . , the base stations AP_T_S and AP_R_S.
[0344] In accordance with the flowchart shown in FIG. 12 (including the flowchart shown in FIG. 13), each time the transmitter 1A receives a packet PKT from the application 20, it performs the above-mentioned processing on the received packet PKT and transmits the packet PKT (individual packet, combined packet and encoded packet) to the base stations AP_T_1 to AP_T_S via the wired cables 3_1 to 3_S, respectively.
[0345] The base station AP_T_1 receives packets PKT (single packets, combined packets and encoded packets) from the transmitter 1A via the wired cable 3_1, and transmits the received packets PKT (single packets, combined packets and encoded packets) to the base station AP_R_1 via the network NW_1.
[0346] In addition, the base station AP_T_2 receives packets PKT (single packets, combined packets and encoded packets) from the transmitter 1A via the wired cable 3_2, and transmits the received packets PKT (single packets, combined packets and encoded packets) to the base station AP_R_2 via the network NW_2.
[0347] Similarly, the base station AP_T_S receives packets PKT (individual packets, combined packets and encoded packets) from the transmitter 1A via the wired cable 3_S, and transmits the received packets PKT (individual packets, combined packets and encoded packets) to the base station AP_R_S via the network NW_S.
[0348] The base station AP_R_1 receives packets PKT (single packets, combined packets and encoded packets) from the base station AP_T_1 via the network NW_1, and transmits the received packets PKT (single packets, combined packets and encoded packets) to the receiver 2A via the wired cable 4_1.
[0349] In addition, base station AP_R_2 receives packets PKT (individual packets, combined packets and encoded packets) from base station AP_T_2 via network NW_2, and transmits the received packets PKT (individual packets, combined packets and encoded packets) to receiver 2A via wired cable 4_2.
[0350] Similarly, the base station AP_R_S receives packets PKT (individual packets, combined packets and encoded packets) from the base station AP_T_S via the network NW_S, and transmits the received packets PKT (individual packets, combined packets and encoded packets) to the receiver 2A via the wired cable 4_S.
[0351] The receiver 2A receives packets PKT (individual packets, combined packets and encoded packets) from the base stations AP_R_1 to AP_R_S via the wired cables 4_1 to 4_S, respectively, and performs the above-mentioned receiving processing on the received packets PKT (individual packets, combined packets and encoded packets) in accordance with the flowchart shown in Figure 14 (including the flowcharts shown in Figures 15 to 17), and transmits the packets after the receiving processing to the application 30.
[0352] In the wireless communication system 10C, packets PKT (individual packets, combined packets and encoded packets) are transmitted and received between base stations AP_T_1 and AP_R_1, between base stations AP_T_2 and AP_R_2, ..., and between base stations AP_T_S and AP_R_S, so that packets PKT (individual packets, combined packets and encoded packets) that constitute real-time traffic can be transmitted and received more reliably and quickly than in the wireless communication systems 10A and 10B.
[0353] Fig. 22 is a diagram showing another application example of the wireless communication system 10 shown in Fig. 1. Referring to Fig. 22, the receiver 2 and the application 30 are arranged in a vehicle and a train. The transmitter 1 broadcasts a packet PKT from the application 20 to the vehicle and the train.
[0354] The receiver 2 receives the packet PKT from the transmitter 1, executes reception processing, and then transmits the packet PKT to the application 30. The application 30 reproduces the image and displays it on the display unit. This allows the driver of the vehicle or train to view the reproduced image in real time.
[0355] The transmitter 1 may be installed in a base station, and the receiver 2 may be installed in a terminal device that receives packets from the base station within the communication range of the base station. This allows the terminal device to receive packets constituting real-time traffic transmitted from the base station with reduced delay, and reproduce images contained in the received packets and display them on a display unit. This allows the user of the terminal device to view images in real time with high reliability.
[0356] In the above, it has been described that the transmitter 1 transmits an image to the receiver 2, but in an embodiment of the present invention, this is not limited to this, and the transmitter 1 may transmit packets to the receiver 2 that include information other than an image in its payload, as long as the transmitter 1 transmits packets that constitute a burst and packets that do not constitute a burst.
[0357] In an embodiment of the present invention, the N packets constitute a "single packet", each of the encoded packets C2 and C4 constitutes a "first encoded packet", each of the encoded packets C6 to C8 constitutes a "second encoded packet", and encoded packets C4', C6', etc., remaining after removing information of already received packets from encoded packets C4 and C6 constitute a "third encoded packet".
[0358] In this embodiment of the invention, each of P2 / C1, P3 / C2, P4 / C3, P5 / C4, and P6 / C5 constitutes a "combined packet."
[0359] Furthermore, in an embodiment of the present invention, the process of transmitting N packets constitutes a "first transmission process", the process of transmitting each of P2 / C1, P3 / C2, P4 / C3, P5 / C4, and P6 / C5 constitutes a "second transmission process", and the process of transmitting each of encoded packets C6 to C8 individually constitutes a "third transmission process".
[0360] Furthermore, in this embodiment of the invention, T milliseconds constitutes a "threshold value."
[0361] Furthermore, in this embodiment of the invention, the N buffer 24 constitutes a "first receive buffer," and the C buffer 25 constitutes a "second receive buffer."
[0362] Furthermore, in this embodiment of the present invention, the processing means 23 that separates P3 / C2 into packet P3 and encoded packet C2, P5 / C4 into packet P5 and encoded packet C4, and P6 / C5 into packet P6 and encoded packet C5 constitutes a "separation means."
[0363] Furthermore, in this embodiment of the present invention, in step S261 of FIG. rx ≦SN sent If the received packet is not stored in the N buffer 24, the received packet (SN rx The processing means 23 that stores the packets in the N buffer 24 and transmits the packets stored in the N buffer 24 to the application 30 constitutes a "first processing means."
[0364] Furthermore, in the embodiment of the present invention, generating encoded packets C4', C6' by removing information of already received packets from encoded packet C corresponds to generating an encoded packet including only a plurality of packets that are not stored in N buffer 24. And, processing means 23 that generates encoded packets C4', C6' by removing information of already received packets from encoded packet C constitutes "second processing means".
[0365] Furthermore, in this embodiment of the present invention, the processing means 23 that executes the decryption process in step S29 of FIG. 14 constitutes "decryption means."
[0366] Furthermore, in the embodiment of the present invention, the transmitter 1 shown in Fig. 1 constitutes a "transmitting device," and the receiver 2 shown in Fig. 1 constitutes a "receiving device." Therefore, a transmitting device according to the embodiment of the present invention is constituted by the transmitter 1 or the transmitting device 100, and a receiving device according to the embodiment of the present invention is constituted by the receiver 2 or the receiving device 200.
[0367] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not by the description of the embodiments described above, and is intended to include all modifications within the meaning and scope of the claims. [Industrial Applicability]
[0368] The present invention is applicable to a transmitting device, a receiving device, a wireless communication system including these, a program, and a computer-readable recording medium having the program recorded thereon. [Explanation of symbols]
[0369] 1,1A transmitter, 2,2A receiver, 10,10A,10B,10C wireless communication system, 11 buffer, 12,23 processing means, 13 transmitting means, 14,21 antenna, 22 receiving means, 24 N buffer, 25 C buffer, 20,30 application, 100 transmitting device, 200 receiving device.
Claims
1. A transmitting device that receives packets constituting real-time traffic from an application and transmits the received packets, a transmit buffer for storing packets to be transmitted; A processing means for performing a process for transmission on the packet; a transmitting means for transmitting the packet received from the processing means, When the packet is a first individual packet arriving at the transmitting device at a first time interval, the processing means executes a first process of copying the first individual packet to the transmission buffer and outputting the first individual packet to the transmitting means when the first individual packet arrives at the transmitting device, and when the packet is a plurality of individual packets arriving at the transmitting device successively at a second time interval shorter than the first time interval, the processing means copies the second individual packet to the transmission buffer when a second individual packet selected from among the plurality of individual packets other than the individual packet that arrived at the transmitting device first arrives at the transmitting device, generates a combined packet by adding a first encoded packet including an individual packet that arrived at the transmitting device earlier than the second individual packet to the second individual packet, and outputs the combined packet to the transmitting means. a second process is executed, and when a third individual packet, which is included in the plurality of individual packets and is an individual packet other than the second individual packet, arrives at the transmitting device, the first process is executed on the third individual packet, and when it is determined that the last individual packet of the plurality of individual packets has arrived at the transmitting device, the last individual packet is copied to the transmission buffer, and when the last individual packet corresponds to the second individual packet, the second process is executed on the last individual packet, and when the last individual packet corresponds to the third individual packet, the first process is executed on the last individual packet, and when a predetermined time has elapsed from the timing when it is determined that the last individual packet has arrived at the transmitting device, a third process is executed to generate a second encoded packet including all of the individual packets stored in the transmission buffer and output the second encoded packet to the transmitting means; a first transmission process for transmitting the received first individual packet alone when the transmitting means receives the first individual packet from the processing means, a second transmission process for transmitting the received combined packet when the transmitting means receives the combined packet from the processing means, a first transmission process for transmitting the received third individual packet or the last individual packet when the transmitting means receives the third individual packet or the last individual packet from the processing means, and a third transmission process for transmitting the received second encoded packet alone when the transmitting means receives the second encoded packet from the processing means.
2. In the second process, the processing means 2. The transmitting device according to claim 1, wherein, when a fourth individual packet arrives at the transmitting device, the fourth individual packet being the last individual packet to arrive at the transmitting device among the individual packets that arrived at the transmitting device earlier than the second individual packet or the last individual packet, a first sub-process is performed after the fourth individual packet has been transmitted by the transmitting means, to generate the first encoded packet including the individual packet that arrived at the transmitting device earlier than the second individual packet or the last individual packet, and when the second individual packet or the last individual packet arrives at the transmitting device after performing the first sub-process, a second sub-process is performed to add the first encoded packet to the second individual packet or the last individual packet to generate the combined packet and output it to the transmitting means.
3. 3. The transmitting device according to claim 2, wherein, in the second process, when the second individual packet consists of a number of individual packets (a is an integer equal to or greater than 1), the processing means executes the first and second sub-processing for each of the a individual packets.
4. The processing means sets an initial value of the encoded packet to a predetermined length of zeros, Y 0 The packet taken out from the transmission buffer is X i(i=1, 2, . . . , I, I is the total number of packets stored in the transmission buffer when the first encoded packet or the second encoded packet is generated), and a random number of a predetermined length is denoted by C i Let the encoded packet be Y i Then, the predetermined length random number C i The packet X i The multiplication result C i X i and Y i-1 The encoded packet Y obtained by performing an exclusive OR operation with i The transmitting device according to claim 1 , wherein the transmitting device generates, as the first encoded packet or the second encoded packet,
5. The transmission means further includes a plurality of base stations connected to the transmission means by wired cables, 5. The transmitting device according to claim 1, wherein the plurality of base stations receive the first individual packet, the combined packet, the third individual packet, the last individual packet, and the second encoded packet from the transmitting means via the wired cable, and transmit the received first individual packet, the combined packet, the third individual packet, the last individual packet, and the second encoded packet via mutually different communication paths.
6. A receiving device for receiving a packet from a transmitting device according to any one of claims 1 to 5, a first receive buffer for storing individual packets; a second receive buffer for storing the encoded packets; receiving means for receiving the first and third individual packets, the combined packet, and the second encoded packet; a separating means for separating the combined packet into the first encoded packet and the second individual packet; a first processing means for executing a receiving process for storing, in the first receiving buffer, an individual packet that is not stored in the first receiving buffer or an individual packet that has not been received, among the first individual packet or the third individual packet, and transmitting the individual packet stored in the first receiving buffer to an application that uses information transmitted by a packet from the transmitting device; a second processing means for generating a third encoded packet including only a plurality of individual packets not stored in the first receiving buffer based on the encoded packets received by the receiving means, and storing the generated third encoded packet in the second receiving buffer, for all of the first and second encoded packets; a decoding means for reading the third encoded packets from the second receiving buffer and executing a decoding process for decoding the third encoded packets by solving simultaneous equations for the third encoded packets that have been read, A receiving device, wherein the first processing means further executes the receiving process on the individual packet decoded by the decoding means.
7. 7. The receiving device according to claim 6, wherein the second processing means generates the third encoded packet by removing information of the individual packet stored in the first receiving buffer from the encoded packet received by the receiving means.
8. 8. The receiving device according to claim 7, wherein the second processing means generates the third encoded packet from the encoded packet received by the receiving means when it is determined that the individual packet stored in the first receiving buffer is included in the encoded packet received by the receiving means.
9. the second processing means, when the encoded packet received by the receiving means contains one individual packet after removing information of the individual packet stored in the first receiving buffer from the encoded packet, further erases the encoded packet containing the one individual packet from the second receiving buffer; 9. The receiving device according to claim 7, wherein said first processing means converts an encoded packet including said one individual packet into an individual packet, and performs said receiving process on the converted individual packet.
10. a plurality of base stations connected to the receiving means by wired cables and configured to receive the packets transmitted from the transmitting device via a plurality of mutually different communication paths; 10. The receiving device according to claim 6, wherein each of the plurality of base stations outputs the received packet to the receiving means via the wired cable.
11. A transmitting device according to any one of claims 1 to 5, A wireless communication system comprising the receiving device according to any one of claims 6 to 10.
12. A program for causing a computer to execute transmission of packets constituting real-time traffic in a transmitting device that receives the packets from an application, the program comprising: a first step in which a processing means performs processing for transmission on the packet; a second step in which a transmitting means transmits the packet received from the processing means; In the first step, when the packet is a first individual packet arriving at the transmitting device at a first time interval, the processing means executes a first process of copying the first individual packet to a transmission buffer for storing packets to be transmitted and outputting the first individual packet to the transmitting means when the first individual packet arrives at the transmitting device, and when the packet is a plurality of individual packets arriving at the transmitting device successively at a second time interval shorter than the first time interval, when a second individual packet selected from among the plurality of individual packets other than the individual packet which arrived at the transmitting device first arrives at the transmitting device, copies the second individual packet to the transmission buffer, generates a combined packet by adding a first encoded packet including an individual packet which arrived at the transmitting device earlier than the second individual packet to the second individual packet, and outputs the combined packet to the transmitting means. a second process of outputting a coded packet including all of the individual packets stored in the transmission buffer to the transmission means when a third individual packet, which is included in the plurality of individual packets and is an individual packet other than the second individual packet, arrives at the transmission device, the first process is performed on the third individual packet, and when it is determined that a last individual packet of the plurality of individual packets has arrived at the transmission device, the last individual packet is copied to the transmission buffer, and when the last individual packet corresponds to the second individual packet, the second process is performed on the last individual packet, when the last individual packet corresponds to the third individual packet, the first process is performed on the last individual packet, and when a predetermined time has elapsed since it was determined that the last individual packet has arrived at the transmission device, a third process is performed of generating a second encoded packet including all of the individual packets stored in the transmission buffer and outputting the second encoded packet to the transmission means; A program for causing a computer to execute, in the second step, the transmitting means, when receiving the first individual packet from the processing means, executes a first transmission process of transmitting the received first individual packet alone, when receiving the combined packet from the processing means, executes a second transmission process of transmitting the received combined packet, when receiving the third individual packet or the last individual packet from the processing means, executes the first transmission process for the received third individual packet or the last individual packet, and when receiving the second encoded packet from the processing means, executes a third transmission process of transmitting the received second encoded packet alone.
13. The processing means, in the second processing of the first step, 13. The program for causing a computer to execute the program of claim 12, wherein when a fourth individual packet arrives at the transmitting device, the fourth individual packet being the last individual packet to arrive at the transmitting device among the individual packets that arrived at the transmitting device earlier than the second individual packet or the last individual packet, a first sub-process is executed after the fourth individual packet is transmitted by the transmitting means to generate the first encoded packet including the individual packet that arrived at the transmitting device earlier than the second individual packet or the last individual packet, and when the second individual packet or the last individual packet arrives at the transmitting device after executing the first sub-process, a second sub-process is executed to add the first encoded packet to the second individual packet or the last individual packet to generate the combined packet and output it to the transmitting means.
14. 14. The program for causing a computer to execute the program according to claim 13, wherein, in the second processing of the first step, when the second individual packet consists of a number of individual packets (a is an integer equal to or greater than 1), the processing means executes the first and second sub-processing for each of the a individual packets.
15. The processing means sets an initial value of the encoded packet to a predetermined length of zeros, Y 0 The packet taken out from the transmission buffer is X i (i=1, 2, . . . , I, I is the total number of packets stored in the transmission buffer when the first encoded packet or the second encoded packet is generated), and a random number of a predetermined length is denoted by C i Let the encoded packet be Y i Then, the predetermined length random number C i The packet X i The multiplication result C i X i and Y i-1 The encoded packet Y obtained by performing an exclusive OR operation with i The program for causing a computer to execute the program according to claim 12 , wherein the program generates, as the first encoded packet or the second encoded packet,
16. in the second step, the transmitting means transmits the first individual packet, the combined packet, the third individual packet, the last individual packet and the second encoded packet to a plurality of base stations via a wired cable; 16. A program for causing a computer to execute the program according to any one of claims 12 to 15, wherein the plurality of base stations receive the first individual packet, the combined packet, the third individual packet, the last individual packet, and the second encoded packet from the transmitting means via the wired cable, and transmit the received first individual packet, the combined packet, the third individual packet, the last individual packet, and the second encoded packet via mutually different communication paths.
17. A program for causing a computer to execute a program according to any one of claims 12 to 16 to receive a transmitted packet, the program comprising: a first step in which receiving means receives the first and third individual packets, the combined packet, and the second encoded packet; a second step in which a separating means separates the combined packet into the first encoded packet and the second individual packet; a third step in which a first processing means executes a receiving process for storing, in the first receiving buffer, an individual packet that is not stored in the first receiving buffer or an individual packet that has not been received, among the first individual packet or the third individual packet, and transmitting the individual packet stored in the first receiving buffer to an application that uses information transmitted by the packet; a fourth step in which a second processing means executes a process of generating a third encoded packet including only a plurality of individual packets not stored in the first receiving buffer based on the encoded packet received in the first step, and storing the generated third encoded packet in a second receiving buffer, for all of the first and second encoded packets; a fifth step of executing a decoding process in which a decoding means reads the third encoded packets from the second receiving buffer and solves simultaneous equations for the third encoded packets that have been read, thereby decoding the third encoded packets; The first processing means further performs the receiving process on the individual packet decoded by the decoding means in the third step.
18. 18. The program for causing a computer to execute the program according to claim 17, wherein the second processing means generates the third encoded packet in the fourth step by removing information of the single packet stored in the first receiving buffer from the encoded packet received in the first step.
19. 20. The program for causing a computer to execute the program according to claim 18, wherein the second processing means generates the third encoded packet from the encoded packet received in the first step when it is determined in the fourth step that the individual packet stored in the first receiving buffer is included in the encoded packet received in the first step.
20. in the fourth step, when the encoded packet received in the first step after removing information of the individual packets stored in the first receiving buffer contains one individual packet, the second processing means further deletes the encoded packet containing the one individual packet from the first receiving buffer; 20. The program for causing a computer to execute the program according to claim 18 or 19, wherein the first processing means, in the third step, converts an encoded packet including the one individual packet into an individual packet and executes the receiving process on the converted individual packet.
21. A computer-readable recording medium having the program according to any one of claims 12 to 20 recorded thereon.
Citation Information
Patent Citations
Flexible wifi architecture based on communication server
JP2003516682A
Radio communication device and radio network provided with the same
JP2010093738A
Redundant Transmission of Real-Time Data
JP2016514409A
