Transmitting device, receiving device, wireless communication system including these, and program
The system addresses communication delays and inefficiencies by using multiple frequency radio devices with channel information and adaptive coding to establish reliable connections in high-loss areas.
Patent Information
- Application Number
- JP2022020501
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-14
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2042-02-14
AI Technical Summary
Existing communication methods experience delays and inefficiencies in network coding due to waiting for multiple packets before processing, especially in areas with high packet loss, making it difficult to establish channel connections.
A transmitting device and receiving device system that uses multiple radio devices with different frequencies to broadcast packets, including channel information, and adjusts coding rates and channel allocation based on packet loss conditions to ensure connection establishment even in high-loss areas.
The system enables channel connections to be established effectively even in areas with higher packet loss, ensuring reliable communication by dynamically adapting to changing conditions.
Smart Images

Figure 0007774296000027 
Figure 0007774296000028 
Figure 0007774296000029
Abstract
Description
[Technical Field]
[0001] The present invention relates to a transmitting device, a receiving device, a wireless communication system including these, and a program. [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 a plurality of packets while sliding a window over the plurality of packets when the plurality of packets to be transmitted are ready.
[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 consisting 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 consisting 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] In this way, 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] Japanese Patent Application Laid-Open No. 2010-093738 [Non-patent literature]
[0008] [Non-Patent Document 1] https: / / ieeexplore.ieee.org / stamp / stamp.jsp?arnumber=5753567&casa_token=NlznD3EhwnsAAAAA:GxTWt9heKzlvg0G6nUoIhPijCKnV26EoCsg0jRrjm7ZFijLqlTaT7s_IXCxZ4H7bK8IfHn-nQA [Non-patent document 2] https: / / ieeexplore.ieee.org / stamp / stamp.jsp?arnumber=8826710&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 the arrival of multiple packets 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 makes it difficult to efficiently perform network coding (encoding) of packets.
[0011] Therefore, according to an embodiment of the present invention, a transmitting device is provided that transmits packets so that a receiving device can establish a channel connection with the transmitting device even in an area where packet loss is greater than in the packet receiving area.
[0012] Furthermore, according to the embodiment of the present invention, a receiving device is provided that can establish a channel connection with a transmitting device even in an area where packet loss is greater than in an area where packets are received.
[0013] Furthermore, according to an embodiment of the present invention, a wireless communication system is provided which includes a transmitting device that transmits packets so that the receiving device can establish a channel connection with the transmitting device even in an area where packet loss is greater than the packet reception area, and a receiving device that can establish a channel connection with the transmitting device even in an area where packet loss is greater than the packet reception area.
[0014] Furthermore, according to an embodiment of the present invention, a program is provided for causing a computer to transmit packets so as to enable channel connection between a receiving device and a transmitting device even in an area where packet loss is greater than in the packet reception area.
[0015] Furthermore, according to the embodiment of the present invention, there is provided a program for causing a computer to execute channel connection between a receiving device and a transmitting device even in an area where packet loss is greater than in an area where packets are received. [Means for solving the problem]
[0016] (Configuration 1) According to an embodiment of the present invention, a transmitting device receives packets constituting real-time traffic from an application and broadcasts the received packets, and comprises first through Qth transmitting radio devices and first processing means. When a receiving device consisting of a mobile body moves toward a receiving area where packets are received from the transmitting device, the first through Qth transmitting radio devices broadcast first through Qth packets (each of the first through Qth packets is a packet transmitted by the transmitting radio device) using first through Qth channels (Q is an integer of 2 or greater) that have mutually different frequencies used for wireless communication, respectively. The first processing means generates the first packet to the Qth packet by adding channel information CH_IF to the packet received from the application, the channel information CH_IF indicating that the first channel to the Qth channel are channels in the first transmitting radio device to the Qth transmitting radio device, respectively, and outputs the generated first packet to the Qth packet to the first transmitting radio device to the Qth transmitting radio device, respectively.
[0017] (Configuration 2) In configuration 1, the first processing means further sequentially generates transmission packets including channel information CH_IF based on packets received from the application, the transmission packets being composed of a single packet, an encoded packet obtained by encoding a plurality of single packets, and an aggregated packet obtained by attaching an encoded packet to a single packet, and sequentially allocates the sequentially generated transmission packets as the first packet to the Qth packet to the first transmitting radio device to the Qth transmitting radio device using a round robin transmission method.
[0018] (Configuration 3) In configuration 1, the first processing means further generates transmission packets including channel information CH_IF based on packets received from the application, the transmission packets being composed of a single packet, an encoded packet obtained by encoding a plurality of single packets, and an aggregated packet obtained by attaching an encoded packet to a single packet, and each time a transmission packet is generated, the first processing means allocates the generated transmission packets as the first packet to the Qth packet to all of the first transmitting radio device to the Qth transmitting radio device using a multiplex transmission method.
[0019] (Configuration 4) In configuration 1, the transmitting device further includes p (p is an integer equal to or greater than 2) base stations. Each of the p base stations is connected to the first through Qth radio transmitting devices. The first processing means outputs the generated first through Qth packets to the p base stations instead of the first through Qth radio transmitting devices. Each of the p base stations outputs the first through Qth packets received from the first processing means to the first through Qth radio transmitting devices, respectively.
[0020] (Configuration 5) In configuration 4, the first processing means further generates transmission packets consisting of individual packets, encoded packets obtained by encoding a plurality of individual packets, or combined packets obtained by attaching an encoded packet to an individual packet based on the packets received from the application, and allocates the generated transmission packets to p base stations by a predetermined allocation method. Each of the p base stations includes channel information CH_IF in the transmission packets allocated by the first processing means, and allocates the transmission packets including the channel information CH_IF as first packets to Qth packets, respectively, to the first to Qth transmitting radios in sequence by a round robin transmission method.
[0021] (Configuration 6) In Configuration 4, the first processing means further generates a transmission packet consisting of either a single packet, an encoded packet obtained by encoding a plurality of single packets, or a combined packet obtained by attaching an encoded packet to a single packet, based on the packet received from the application, and allocates the generated transmission packet to p base stations by a predetermined allocation method. Each of the p base stations includes channel information CH_IF in the transmission packet allocated by the first processing means, and allocates the transmission packet including the channel information CH_IF to all of the first to Q transmission radio devices by a multiplexing method as the first to Q packets.
[0022] (Configuration 7) In any one of Configurations 1 to 6, when v (v is an integer satisfying 1 ≤ v < Q) of the first to Q transmission radio devices determine that a channel change in the v transmission radio devices is necessary, they notify the first processing means of the stop of wireless communication. When the first processing means receives the stop of wireless communication from the v transmission radio devices, it decreases the coding rate, which is the rate of generating a combined packet obtained by attaching an encoded packet obtained by encoding a plurality of single packets to a single packet, stops allocating packets to the v transmission radio devices, and allocates the transmission packets allocated to the v transmission radio devices to (Q - v) transmission radio devices.
[0023] (Configuration 8) In Configuration 7, the v transmission wireless devices change the v original channels in the v transmission wireless devices to v channels that are channels other than the (Q - v) channels in the (Q - v) transmission wireless devices among the first to Qth transmission wireless devices and have a busy rate below the threshold, or change them to v channels that are channels other than the (Q - v) channels and have the largest frequency difference from the v original channels in the v transmission wireless devices, and notify the first processing means of the channel change in the v transmission wireless devices and the start of wireless communication by the v transmission wireless devices. When receiving the change to the v channels and the start of wireless communication from the v transmission wireless devices, the first processing means increases the coding rate and starts allocating transmission packets to the v transmission wireless devices.
[0024] (Configuration 9) Further, according to an embodiment of the present invention, the receiving device is a mobile body, and moves into a receiving area for receiving the first to Qth packets broadcast by the transmitting device according to any one of Configurations 1 to 8, and receives the first to Qth packets. The receiving device includes the first to Qth receiving wireless devices and second processing means. The first to Qth receiving wireless devices are provided corresponding to the first to Qth transmitting wireless devices respectively, and receive the first to Qth packets using the first to Qth channels respectively. When the receiving device is moving toward the receiving area, when k (k is an integer satisfying 1 ≤ k < Q) of the first to Qth receiving wireless devices receive k packets, the second processing means detects k channel information CH_IF included in the k packets received by the k receiving wireless devices, and based on the detected k channel information CH_IF, detects (Q - k) channels in the (Q - k) receiving wireless devices, and executes channel connection control to control the (Q - k) receiving wireless devices to be channel-connected to the (Q - k) transmitting wireless devices of the transmitting device respectively using the detected (Q - k) channels.
[0025] (Configuration 10) In configuration 9, the second processing means executes channel connection control when k receiving radio units receive k packets in an area outside the reception area where packet loss is greater than in the reception area.
[0026] (Configuration 11) In configuration 9 or 10, the second processing means further receives the first packet through the Qth packet from the first receiving radio device through the Qth receiving radio device, performs receiving processing on the received first packet through the Qth packet to generate received packets, and transmits the generated received packets to the application.
[0027] (Configuration 12) 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 8 and a receiving device according to any one of configurations 9 to 11.
[0028] (Configuration 13) Furthermore, according to an embodiment of the present invention, a program is provided for causing a computer to receive packets constituting real-time traffic from an application, and broadcast the packets received from the application in a transmitting device that broadcasts the received packets, the program comprising: The transmitting device the receiving device is provided with first to Qth transmitting radio devices that broadcast first to Qth packets (each of the first to Qth packets is a packet transmitted by a transmitting radio device) using first to Qth channels (Q is an integer of 2 or more) that have mutually different frequencies used for wireless communication, respectively, when the receiving device is a mobile body moving toward a receiving area where the packets are received from the transmitting device; The program is The program causes a computer to execute a first step in which a first processing means generates a first packet through a Qth packet by adding channel information CH_IF, which indicates that the first channel through the Qth channel are channels in the first transmitting radio device through the Qth transmitting radio device, respectively, to a packet received from an application, and outputs the generated first packet through the Qth packet to the first transmitting radio device through the Qth transmitting radio device, respectively.
[0029] (Configuration 14) In configuration 13, in the first step, the first processing means further generates transmission packets, each consisting of a single packet, an encoded packet obtained by encoding a plurality of single packets, or an aggregated packet obtained by attaching an encoded packet to a single packet, based on the packet received from the application, and each including channel information CH_IF, and sequentially allocates the sequentially generated transmission packets as the first packet to the Qth packet to the first transmitting radio device to the Qth transmitting radio device using a round robin transmission method.
[0030] (Configuration 15) In configuration 13, in the first step, the first processing means further generates transmission packets consisting of individual packets, encoded packets obtained by encoding multiple individual packets, and combined packets obtained by attaching an encoded packet to an individual packet based on packets received from the application, the transmission packets including channel information CH_IF, and each time a transmission packet is generated, the generated transmission packets are allocated to all of the first transmitting radio device to the Qth transmitting radio device by a multiplex transmission method as the first packet to the Qth packet, respectively.
[0031] (Configuration 16) In configuration 13, the transmitting device further includes p (p is an integer equal to or greater than 2) base stations. Each of the p base stations is connected to the first through Qth radio transmitting devices. The first processing means outputs the first through Qth packets generated in the first step to the p base stations instead of the first through Qth radio transmitting devices. Each of the p base stations outputs the first through Qth packets received from the first processing means to the first through Qth radio transmitting devices, respectively.
[0032] (Configuration 17) In configuration 17, in the first step, the first processing means further generates transmission packets consisting of individual packets, encoded packets obtained by encoding a plurality of individual packets, and combined packets obtained by attaching an encoded packet to an individual packet based on the packets received from the application, and allocates the generated transmission packets to p base stations by a predetermined allocation method. Each of the p base stations includes channel information CH_IF in the transmission packets allocated by the first processing means, and allocates the transmission packets including the channel information CH_IF as first packets to Qth transmitting radios in sequence by a round robin transmission method.
[0033] (Configuration 18) In configuration 16, in the first step, the first processing means further generates transmission packets consisting of individual packets, encoded packets obtained by encoding multiple individual packets, and combined packets obtained by attaching an encoded packet to an individual packet based on the packets received from the application, and allocates the generated transmission packets to p base stations by a predetermined allocation method. Each of the p base stations includes channel information CH_IF in the transmission packets allocated by the first processing means, and allocates the transmission packets including the channel information CH_IF as first packets to Qth packets, respectively, to all of the first to Qth transmitting radios by a multiplex transmission method.
[0034] (Configuration 19) In any of Configurations 13 to 18, when it is determined that channel changes are necessary in v (where v is an integer satisfying 1 ≤ v < Q) of the first to Qth transmission wireless devices, the first processing means is notified of the suspension of wireless communication.
[0035] The program When the first processing means receives the suspension of wireless communication from v transmission wireless devices, the computer is further caused to execute a second step of reducing the coding rate, which is the rate at which combined packets obtained by attaching encoded packets obtained by encoding a plurality of individual packets to the individual packets are generated, stopping the allocation of packets to the v transmission wireless devices, and reallocating the transmission packets allocated to the v transmission wireless devices to (Q - v) transmission wireless devices.
[0036] (Configuration 20) In Configuration 19, the v transmission wireless devices change the v original channels in the v transmission wireless devices to v channels other than the (Q - v) channels in the (Q - v) transmission wireless devices among the first to Qth transmission wireless devices and having a busy rate below a threshold value, or to v channels other than the (Q - v) channels and having the largest frequency difference from the v original channels in the v transmission wireless devices, and notify the first processing means of the channel change in the v transmission wireless devices and the start of wireless communication by the v transmission wireless devices.
[0037] The program When the first processing means receives the change to the v channels and the start of wireless communication from the v transmission wireless devices, the computer is further caused to execute a third step of increasing the coding rate and starting the allocation of transmission packets to the v transmission wireless devices.
[0038] (Configuration 21) Furthermore, according to an embodiment of the present invention, the program is a program for causing a computer to execute reception of the first packet to the Qth packet, which is a mobile body and moves into a reception area for receiving the first packet to the Qth packet broadcast by the transmission device according to any one of Configurations 1 to 8, The receiving device is provided corresponding to the first wireless device for transmission to the Qth wireless device for transmission, respectively, and includes the first wireless device for reception to the Qth wireless device for reception that receives the first packet to the Qth packet using the first channel to the Qth channel, respectively.
[0039] The program is a program for causing a computer to execute a first step of channel connection control in which when the receiving device is moving toward the reception area and k (k is an integer satisfying 1≦k<Q) of the first wireless device for reception to the Qth wireless device for reception receive k packets, the second processing means detects k pieces of channel information CH_IF included in the k packets received by the k wireless devices for reception, and based on the detected k pieces of channel information CH_IF, detects (Q-k) channels in the (Q-k) wireless devices for reception, and controls the (Q-k) wireless devices for reception to be channel-connected to the (Q-k) wireless devices for transmission of the transmission device with the detected (Q-k) channels, respectively.
[0040] (Configuration 22) In Configuration 21, when the k wireless devices for reception receive k packets in an area outside the reception area where there is more packet loss than in the reception area in the first step, the second processing means executes channel connection control.
[0041] (Configuration 23) In configuration 21 or 22, the second processing means further causes the computer to execute a second step of receiving the first packet to the Qth packet from the first receiving radio device to the Qth receiving radio device, respectively, performing receiving processing on the received first packet to the Qth packet to generate received packets, and transmitting the generated received packets to the application. [Effects of the Invention]
[0042] Even in an area where packet loss is greater than the area where packets are received, the receiving device can complete a channel connection with the transmitting device. [Brief explanation of the drawings]
[0043] [Figure 1] 1 is a schematic diagram of a wireless communication system in accordance with embodiment 1 of the present invention. [Figure 2] FIG. 1 is a conceptual diagram of wireless communication according to an embodiment of the present invention. [Figure 3] FIG. 2 is a schematic diagram of the transmitter shown in FIG. [Figure 4] FIG. 2 is a schematic diagram of the receiver shown in FIG. [Figure 5] FIG. 1 is a conceptual diagram illustrating image transmission. [Figure 6] FIG. 2 is a schematic diagram showing a packet format. [Figure 7] FIG. 4 is a schematic diagram of the buffer shown in FIG. 3. [Figure 8] FIG. 10 is a diagram for explaining a method for encoding a packet. [Figure 9] FIG. 10 is a diagram illustrating a method for generating coded packets when transmitting MBurst packets PKT_N(1) to PKT_N(MBurst). [Figure 10] FIG. 10 is a diagram for explaining a method of transmitting packets that constitute a burst. [Figure 11] FIG. 10 is a diagram for explaining another method of transmitting packets that constitute a burst. [Figure 12] FIG. 10 is a diagram for explaining yet another method of transmitting packets that constitute a burst. [Figure 13] FIG. 10 is a diagram showing a method for allocating packets to wireless devices 12 and 13. [Figure 14] FIG. 10 is a diagram showing another method for allocating packets to radio devices 12 and 13. [Figure 15] 2 is a flowchart illustrating the operation of the transmitting device shown in FIG. [Figure 16] 16 is a flowchart for explaining the detailed operation of step S7 in the flowchart shown in FIG. 15. [Figure 17] 16 is another flowchart for explaining the detailed operation of step S7 in the flowchart shown in FIG. 15. [Figure 18] 16 is a flowchart for explaining detailed operations of step S8 shown in FIG. 15. [Figure 19] 2 is a flowchart illustrating the operation of the receiving device shown in FIG. [Figure 20] 20 is a flowchart for explaining the detailed operation of step S26 shown in FIG. 19. [Figure 21] 20 is a flowchart for explaining detailed operations of step S28 shown in FIG. 19. [Figure 22] 20 is a flowchart for explaining detailed operations of step S29 shown in FIG. 19. [Figure 23] FIG. 10 is a diagram showing the transition of the N buffer and the C buffer when packets constituting a burst are received. [Figure 24] 10 is a flowchart illustrating a channel connection operation. [Figure 25] 10 is a flowchart illustrating an operation of detecting a radar. [Figure 26] 10 is a flowchart for explaining the operation of the transmitter 11 in response to notifications from the wireless devices 12 and 13. [Figure 27] FIG. 10 is a schematic diagram of a communication system according to a second embodiment. [Figure 28] FIG. 28 is a schematic diagram of the control device shown in FIG. 27. [Figure 29] FIG. 10 is a schematic diagram of a correspondence table TBL1. [Figure 30] FIG. 10 is a schematic diagram of a correspondence table TBL2. [Figure 31] FIG. 10 is a schematic diagram of a correspondence table TBL3. [Figure 32] FIG. 28 is a schematic diagram of the terminal device shown in FIG. 27. [Figure 33] 28 is a flowchart illustrating the operation of the transmitting device shown in FIG. 27. [Figure 34] 34 is a flowchart for explaining detailed operations of step S101 shown in FIG. 33. [Figure 35] 34 is another flowchart for explaining the detailed operation of step S101 shown in FIG. 33. [Figure 36] 34 is a flowchart for explaining detailed operations of step S103 shown in FIG. 33. [Figure 37] 37 is a flowchart showing the "first flowchart" in step S103-2 of FIG. [Figure 38] 37 is a flowchart showing the "second flowchart" in step S103-3 of FIG. [Figure 39] FIG. 10 is a diagram for explaining yet another method of transmitting packets that constitute a burst. DETAILED DESCRIPTION OF THE INVENTION
[0044] 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 numerals and description thereof will not be repeated.
[0045] [Embodiment 1] Fig. 1 is a schematic diagram of a wireless communication system according to embodiment 1 of the present invention. Referring to Fig. 1, a wireless communication system 10 according to embodiment 1 of the present invention includes a transmitting device 1 and a receiving device 2. The transmitting device 1 and the receiving device 2 are arranged in a wireless communication space.
[0046] The application 20 takes an image using a camera, for example, and transmits to the transmitting device 1 a packet PKT containing image data of the taken image in its payload.
[0047] The transmitting device 1 receives the packet PKT from the application 20. Then, the transmitting device 1 transmits the packet PKT to the receiving device 2 by wireless communication as a packet that constitutes real-time traffic, using a method that will be described later.
[0048] The receiving device 2 is a mobile object. The receiving device 2 receives the packet PKT from the transmitting device 1 via wireless communication and performs a receiving process, which will be described later, on the received packet PKT. The receiving device 2 then transmits the packet PKT that has undergone the receiving process to the application 30. The application 30 receives the packet PKT from the receiving device 2, reproduces the image data included in the received packet PKT, and displays it on a display unit.
[0049] The transmission device 1 includes a transmitter 11 and radio devices 12 and 13. In the transmission device 1, each of the radio devices 12 and 13 is connected to the transmitter 11 via a Universal Serial Bus (USB) or a Peripheral Component Interconnect Express (PCIe). PCIe is an extended interface standard for a serial transfer method that enables high-speed data communication. Each of the radio devices 12 and 13 is connected to the transmitter 11 via a wired Local Area Network (LAN).
[0050] When each of the wireless devices 12 and 13 is connected to the transmitter 11 via USB or PCIe, the transmitter 11 and the wireless devices 12 and 13 are an integrated physical device. On the other hand, when each of the wireless devices 12 and 13 is connected to the transmitter 11 via a wired LAN, the transmitter 11 and the wireless devices 12 and 13 are separate devices.
[0051] The transmitter 11 receives packets PKT from the application 20 and allocates the received packets PKT to the radio devices 12 and 13 as packets constituting real-time traffic in a manner to be described later.
[0052] In this embodiment of the present invention, for example, 12 channels CH_1 to CH_12 are predetermined as channels available to the wireless devices 12 and 13. The 12 channels CH_1 to CH_12 have mutually different frequencies. The wireless device 12 performs wireless communication using, for example, channel CH_1, and the wireless device 13 performs wireless communication using, for example, channel CH_2.
[0053] When the transmitter 11 receives a packet PKT from the application 20, it generates channel information CH_IF indicating that channels CH_1 and CH_2 are channels in the radio devices 12 and 13, respectively, generates a transmission packet PKT_TR1 by including the generated channel information CH_IF in the packet PKT, and outputs the generated transmission packet PKT_TR1 to the radio devices 12 and 13.
[0054] In this way, the transmitter 11 generates transmission packets PKT_TR1 and PKT_TR2 by including information (channel information CH_IF) of channels CH_1 and CH_2 used by the radio devices 12 and 13 for wireless communication in the packets PKT, and outputs the generated transmission packets PKT_TR1 and PKT_TR2 to the radio devices 12 and 13, respectively.
[0055] When the wireless device 12 receives a transmission packet PKT_TR1 from the transmitter 11, it broadcasts the received transmission packet PKT_TR1 on channel CH_1. When the wireless device 13 receives a transmission packet PKT_TR2 from the transmitter 11, it broadcasts the received transmission packet PKT_TR2 on channel CH_2.
[0056] The receiving device 2 includes a receiver 21 and wireless devices 22 and 23. The wireless devices 22 and 23 are provided corresponding to the wireless devices 12 and 13 of the transmitting device 1, respectively. Each of the wireless devices 22 and 23 is connected to the receiver 21 via USB or PCIe. Each of the wireless devices 22 and 23 is connected to the receiver 21 via a wired LAN. When each of the wireless devices 22 and 23 is connected to the receiver 21 via USB or PCIe, the receiver 21 and the wireless devices 22 and 23 are an integrated physical device. On the other hand, when each of the wireless devices 22 and 23 is connected to the receiver 21 via a wired LAN, the receiver 21 and the wireless devices 22 and 23 are separate devices.
[0057] The wireless device 22 receives the transmission packet PKT_TR1 broadcast from the wireless device 12 on the channel CH_1 and outputs the received transmission packet PKT_TR1 to the receiver 21. The wireless device 23 receives the transmission packet PKT_TR2 broadcast from the wireless device 13 on the channel CH_2 and outputs the received transmission packet PKT_TR2 to the receiver 21.
[0058] The receiver 21 receives the transmission packets PKT_TR1 and PKT_TR2 from the radio devices 22 and 23, respectively, and performs a reception process (described later) on the received transmission packets PKT_TR1 and PKT_TR2. The receiver 21 then transmits the packet PKT that has undergone the reception process to the application 30.
[0059] 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) that requires high reliability.
[0060] Fig. 2 is a conceptual diagram of wireless communication in an embodiment of the present invention. Referring to Fig. 2, communication region CM_REG1 is, for example, circular with a radius R of 100 m, and communication region CM_REG2 is, for example, doughnut-shaped with a radial length r of 200 m. Communication region CM_REG2 is located outside communication region CM_REG1 and has a larger packet loss than communication region CM_REG1.
[0061] The transmitter 1 is located at the center of the communication region CM_REG1, and broadcasts transmission packets PKT_TR1 and PKT_TR2 by radio devices 12 and 13 on channels CH1 and CH2, respectively.
[0062] The receiving device 2 moves from outside the communication region CM_REG1 toward the communication region CM_REG1, passes through the communication region CM_REG2, and enters the communication region CM_REG1, and receives the transmission packets PKT_TR1 and PKT_TR2 broadcast from the transmitting device 1.
[0063] In this case, the radio devices 22 and 23 of the receiving device 2 perform carrier sense on channels CH_1 and CH_2, respectively, within the communication region CM_REG2, and receive packets (at least one of transmission packets PKT_TR1 and PKT_TR2) on at least one of channels CH_1 and CH_2. Then, before entering the communication region CM_REG1, the receiving device 2 completes channel connection between the radio device 22 and the radio device 12 of the transmitting device 1, and channel connection between the radio device 23 and the radio device 13 of the transmitting device 1, by a method described later, based on at least one piece of channel information CH_IF included in the packet (at least one of transmission packets PKT_TR1 and PKT_TR2) received on at least one of channels CH1 and CH2.
[0064] Then, when the receiving device 2 enters the communication area CM_REG1, it receives the packets (transmission packets PKT_TR1, PKT_TR2) broadcast by the radios 12, 13 of the transmitting device 1 on channels CH_1, CH_2, respectively, using radios 22, 23 while moving, and performs reception processing on the received packets (transmission packets PKT_TR1, PKT_TR2) and transmits them to the application 30.
[0065] Fig. 3 is a schematic diagram of the transmitter 11 shown in Fig. 1. Referring to Fig. 3, the transmitter 11 comprises a buffer 111 and a processing means 112.
[0066] The buffer 111 stores a plurality of packets PKT_N(1) to PKT_N(Z) that arrive from the application 20. Each of the plurality of packets PKT_N(1) to PKT_N(Z) is a native packet generated by the application 20. Furthermore, Z is an integer.
[0067] The processing means 112 is connected to the wireless devices 12 and 13 via USB or PCIe. The processing means 112 is also connected to the wireless devices 12 and 13 via a wired LAN. The processing means 112 has a built-in timer. The processing means 112 determines whether or not a packet has arrived. When the processing means 112 determines that a packet has arrived, it stores a copy of the arrived packet PKT_N(z) (z is an integer from 1 to Z) in the buffer 111, and allocates the original packet PKT_N(z) to the wireless devices 12 and / or 13 by a round robin transmission method or a multiplex transmission method. Furthermore, when it is determined that a packet has arrived, if multiple packets are stored in the buffer 111, the processing means 112 retrieves the multiple packets from the buffer 111, generates a transmission packet PKT_TR including the encoded packet PKT_C based on the retrieved multiple packets by a method described later, and allocates the generated transmission packet PKT_TR to the radio device 12 and / or the radio device 13 by a round robin transmission method or a multiplex transmission method. Note that the processing means 112 refers to a timer and allocates the packet PKT_N(z) or the transmission packet PKT_TR to the radio device 12 and / or the radio device 13 by a round robin transmission method or a multiplex transmission method.
[0068] When the processing means 112 allocates one packet PKT_N(z) or one transmission packet PKT_TR to the radio device 12, the radio device 12 broadcasts the allocated packet PKT_N(z) or one transmission packet PKT_TR by wireless communication on channel CH_1. When the processing means 112 allocates one packet PKT_N(z) or one transmission packet PKT_TR to the radio device 13, the radio device 12 broadcasts the allocated packet PKT_N(z) or one transmission packet PKT_TR by wireless communication on channel CH_2.
[0069] Fig. 4 is a schematic diagram of the receiver 21 shown in Fig. 1. Referring to Fig. 4, the receiver 21 comprises a processing means 211, an N buffer 212, and a C buffer 213.
[0070] The processing means 211 is connected to the wireless devices 22 and 23 via USB or PCIe. The processing means 211 is also connected to the wireless devices 22 and 23 via a wired LAN.
[0071] When the processing means 211 receives a packet PKT_N(z) from the wireless device 22 and / or the wireless device 23, it executes N packet reception processing on the packet PKT_N(z) by a method to be described later. In this case, in the N packet reception processing, if the packet PKT_N(z) has not yet been received, the processing means 211 stores the packet PKT_N(z) in the N buffer 212. Then, the processing means 211 transmits all packets PKT_N(z) stored in the N buffer 212 to the application 30.
[0072] On the other hand, when the processing means 211 receives a transmission packet PKT_TR from the radio device 22 and / or the radio device 23, if the transmission packet PKT_TR includes an encoded packet PKT_C and an individual packet PKT_N, the processing means 211 performs a separation process to separate the encoded packet PKT_C from the individual packet PKT_N. Then, the processing means 211 performs an N-packet reception process on the separated individual packet PKT_N. Furthermore, the processing means 211 performs a removal process to remove information about the individual packet PKT_N already stored in the N buffer 212 (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 211 stores the encoded packet PKT_C' in the C buffer 213. Thereafter, the processing means 211 performs a decoding process, which will be described later, on the encoded packet PKT_C' stored in the C buffer 213. In this case, the processing means 211 executes N packet reception processing on the single packet PKT_N decoded in the decoding processing.
[0073] When the transmission packet PKT_TR includes only the encoded packet PKT_C, the processing means 211 does not perform the above-mentioned separation process, but instead performs the above-mentioned removal process and decoding process in sequence.
[0074] Figure 5 is a conceptual diagram showing image transmission. The characteristics of real-time video transmission will be explained with reference to Figure 5. An I-picture is a compressed image that does not use the difference between previous and following pictures, and is therefore large in size. A P-picture is small in size because it transmits the difference between the previous picture and the I-picture.
[0075] 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 once. I-pictures are generated and transmitted periodically as IPPPIPPPIP.
[0076] When transmitting an I-picture, a burst occurs, and the size of the burst is not constant. Furthermore, the packets that make up the burst do not arrive all at once, but arrive one after another.
[0077] 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. 5, 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 transmitting device 1 (=transmitter 11) from the application 20 is T interval_1 The time interval at which a plurality of packets containing an I-picture in the payload arrive at the transmitting device 1 (=transmitter 11) consecutively from the application 20 is T interval_1 Shorter than T interval_2 is.
[0078] 6 is a schematic diagram showing a packet format. Referring to FIG. 6, the packet PKT includes a header and a payload. The header includes the IP address of the destination.
[0079] 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 an encoded packet PKT_C obtained by encoding N packets PKT_N(1) to PKT_N(N). The length of the area REG1 is L pand the length of the region REG2 is L1 to L n 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.
[0080] Packet Info contains an identifier N / C, a sequence number SN, and a data length L p and channel information Ch_If. The identifier N / C is an identifier for identifying whether the packet included in the region REG1 is a single packet PKT_N or an encoded packet PKT_C, and is made up of "N" or "C". "N" indicates that it is a single packet PKT_N, and "C" indicates that it is an encoded packet PKT_C. The sequence number SN indicates the order in which the packets included in the region REG1 arrive at the transmitting device 1 (= transmitter 11). The data length L p represents the length of region REG1. When the number of wireless devices connected to transmitter 11 is two, wireless devices 12 and 13, channel information Ch_If consists of two bits: a first bit indicating channel CH_1 and a second bit indicating channel CH_2. Generally, when the number of wireless devices connected to transmitter 11 is Q (Q is an integer equal to or greater than 2), channel information Ch_If consists of Q bits: a first bit indicating channel CH_1, a second bit indicating channel CH_2, ..., a Qth bit indicating channel CH_Q. Receiver 21 identifies Q channels CH_1 to CH_Q of transmitter 11 from the Q-bit bit string included in channel information Ch_If of received packet PKT.
[0081] Coded Info includes an identifier N / C, Num coded(N), channel information Ch_If, and Packet Info 1 to Packet Info N. The identifier N / C is an identifier that identifies whether the packet included in the region REG2 is a single packet PKT_N or a coded packet PKT_C, and consists of "N" or "C." Num coded(N) indicates the number of packets PKT_N that make up the coded packet PKT_C included in the region REG2.
[0082] The channel information Ch_If has the same structure as the channel information Ch_If in Packet Info.
[0083] 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 L2, and a code C1. N and symbol C N Includes:
[0084] In Packet Info 1, the sequence number SN represents the order in which packet PKT_N(1) constituting encoded packet PKT_C arrives at transmitting device 1 (= transmitter 11), the 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.
[0085] Similarly, in Packet Info N, the sequence number SN indicates the order of arrival of packets PKT_N(N) constituting the coded packet PKT_C at the transmitting device 1 (=transmitter 11), and the data length L N is the data length of the packet PKT_N(N) that constitutes the coded packet PKT_C, and N is the coefficient of packet PKT_N(N) when N packets PKT_N(1) to PKT_N(N) are coded.
[0086] One packet PKT_N has a structure in which the payload includes Packet Info and area REG1.
[0087] There are M packets for burst transmission at one time Burst (M Burst is an integer satisfying 2 ≤ M Burst < V).) Suppose it consists of M 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 -1) packets PKT_N(2) to PKT_N(M Burst ), other than the packet PKT_N(1) that first arrives at the transmission device 1 (= transmitter 11), arrives at the transmission device 1 (= transmitter 11), the packets PKT_N(1) to PKT_N(m-1) that arrived at the transmission device 1 (= transmitter 11) 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.
[0088] Therefore, the combined packet PKT_N / PKT_C1 has a structure in which the payload includes [Packet Info / Data of PKT_N / Coded Info / Data of PKT_N(1) to Data of PKT_N(m-1)].
[0089] Also, when the M Burst packets PKT_N(1) to PKT_N(M Burst ) continuously arrive at the transmission device 1 (= transmitter 11), an encoded packet PKT_C2 obtained by encoding the M Burst packets PKT_N(1) to PKT_N(M Burst ) is generated as a transmission packet PKT_TR.
[0090] Therefore, the payload of the coded packet PKT_C2 is [Coded Info / PKT_N(1) data ~PKT_N(M Burst ) data].
[0091] Fig. 7 is a schematic diagram of the buffer 111 shown in Fig. 3. Note that Fig. 7 shows the number M of packets to be transmitted at one time in a burst. Burst 10 shows a schematic diagram of the buffer 111 when the size of the buffer 111 is larger than the
[0092] 7, the buffer 111 is, for example, a ring buffer. The buffer 111 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 111 at the current time, and packets PKT_N(1) to PKT_N(M-1) are packets that were stored in the buffer 111 in the past.
[0093] Furthermore, the buffer 111 is configured to overwrite packets in order, starting with the oldest packet, when the number of packets exceeds the maximum number, so that the buffer 111 can always store the maximum number of packets.
[0094] Packets PKT_N(1), PKT_N(2),...,PKT_N(M Burst ) is stored in M Burst These 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.
[0095] That is, packets PKT_N (PKT_N(1) to PKT_N(M)) arriving at the transmitting device 1 (=transmitter 11) from the application 20 are Burst) constitutes the payload, and each area of the buffer 111 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.
[0096] FIG. 8 is a diagram for explaining a method for encoding a packet. In FIG. 8, packet X i (i is 1, 2, 3, . . .) and the encoded packet Y i-1 A method for encoding the above will be described.
[0097] Referring to Figure 8, packet X i L i / 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 (n is a positive integer). i is in the Galois field GF(2 n ), where n is, for example, 8.
[0098] 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 the has a length of n bits.
[0099] code C i Component X i,1 ,Xi,2 ,X i,3 ,X i,4 ,···,X i,Li×8 / n Multiply each of the results by 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 Galois field GF(2 n ) is implemented as a multiplication on
[0100] Then, the multiplication result C i X i,1 and component Y i-1,1 Component Y is calculated by exclusive ORing with i,1 and multiply the result C i X i,2 and component Y i-1,2 Component Y is calculated by exclusive ORing with i,2 and multiply the result C i X i,3 and component Y i-1,3 Component Y is calculated by exclusive ORing with i,3 and multiply the result C i X i,4 and component Y i-1,4 Component Y is calculated by exclusive ORing with i,4 and similarly generate the multiplication result C i X i,Li×8 / n and component Y i-1,Li×8 / n Component Y is calculated by exclusive ORing with i,Li×8 / n and then add padding consisting of "0" and the component Y i-1,Max×8 / n Component Y is calculated by exclusive ORing with i,Max×8 / n This generates the encoded packet Y i =[Y i,1 ,Y i,2 ,Y i,3 ,Yi,4 ,···,Y i,Li×8 / n ,···,Y i,Max×8 / n ] is generated.
[0101] Figure 9 shows the M Burst Packets PKT_N(1) to PKT_N(M Burst 1 is a diagram illustrating a method for generating an encoded packet when transmitting a
[0102] In FIG. 9, it is assumed that the transmission of the encoded packets to the receiving device 2 is determined at the timing when packets P3, P5, P7, and P9 arrive at the transmitting device 1 (=transmitter 11).
[0103] Referring to FIG. 9(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 111 is 6. That is, the number M of packets that make up a burst Burst is the size of the buffer M Buffer The following is the result.
[0104] When packet P1 arrives at the transmitter 11, the processing means 112 of the transmitter 11 copies the packet P1 to the buffer 111 (see (a)(i) of FIG. 9). Then, the processing means 112 retrieves the packet P1 from the buffer 111 and encodes the retrieved packet P1 by the method described in FIG. 8 to generate an encoded packet C1.
[0105] More specifically, the processing means 112 generates an encoded packet Y0={000...0} consisting of "0"s of (n÷8) bytes length, and stores the encoded packet in the Galois field GF(2 n ), the processing means 112 generates a code C1 consisting of a random number of n bits in length on the packet X1 (=P1). Then, the processing means 112 generates a coded packet Y1 (=C1) based on the packet X1 (=P1), the coded packet Y0 = {000...0} and the code C1 by the method explained in FIG.
[0106] Thereafter, when packet P2 arrives at the transmitter 11, the processing means 112 copies the packet P2 to the buffer 111 (see (a)(ii) of FIG. 9). Then, the processing means 112 takes out packet P2 from the buffer 111. Thereafter, the processing means 112 performs a multiplication of packet P2 in the Galois field GF(2 n ), the processing means 112 generates a code C2 consisting of a random number of n bits in length on the packet X2 (=P2). Then, the processing means 112 generates a coded packet Y2 (=C2) based on the packet X2 (=P2), the coded packet Y1 and the code C2 by the method explained in FIG.
[0107] Similarly, when packets P3 to P6 arrive at the transmitter 11, coded packets Y3 to Y6 (=C3 to C6) are generated in sequence (see (iii) to (vi) of FIG. 9 a). In this case, when packet P6 arrives at the transmitter 11 and is copied to the buffer 111, the buffer 111 can store up to the maximum number M Buffer Stores the packet.
[0108] When packet P3 arrives at transmitter 11, processing means 112 copies packet P3 to buffer 111 (see (a)(iii) of FIG. 9 ) and determines to transmit an encoded packet. Then, processing means 112 generates a combined packet P3 / C2 by adding encoded packet Y2 (=C2), which was generated at the timing when packet P2 arrived at transmitter 11, to packet P3, and allocates the generated combined packet P3 / C2 to radio device 12 and / or radio device 13 by round robin transmission method or multiplex transmission method, and transmits the combined packet P3 / C2 to receiving device 2. Note that transmitting information by combined packet P3 / C2 is transmitting information by Piggyback.
[0109] Furthermore, when packet P5 arrives at transmitter 11, processing means 112 copies packet P5 to buffer 111 (see (a)(v) of FIG. 9 ) and determines to transmit an encoded packet. Then, processing means 112 generates a combined packet P5 / C4 by adding encoded packet Y4 (=C4), which was generated at the timing when packet P4 arrived at transmitter 11, to packet P5, and allocates the generated combined packet P5 / C4 to radio device 12 and / or radio device 13 by round robin transmission method or multiplex transmission method, and transmits the combined packet P5 / C4 to receiving device 2.
[0110] Then, after packet P6 arrives at transmitter 11 and the processing means 112 generates encoded packet Y6 (=C6), it determines, by a method described below, that packet P6 is the last packet P6 among packets P1 to P6 that make up the burst, and then allocates the untransmitted encoded packet Y6 (=C6) to radio device 12 and / or radio device 13 by a round robin transmission method or a multiplex transmission method, and transmits encoded packet Y6 (=C6) alone to receiving device 2.
[0111] Furthermore, the processing means 112 retrieves packets P1 to P6 from the buffer 111, encodes the retrieved packets P1 to P6, and generates an encoded packet Y7 (=C7). The processing means 112 then allocates the encoded packet Y7 (=C7) to the radio device 12 and / or the radio device 13 by a round-robin transmission method or a multiplex transmission method, and transmits the encoded packet Y7 (=C7) alone to the receiving device 2.
[0112] In this way, the processing means 112 calculates the number M of packets that make up a burst. Burst is the size of the buffer M Buffer If the above is true, an encoded packet Y7 (=C7) including all packets P1 to P6 that make up the burst is generated and transmitted to the receiving device 2.
[0113] Referring to FIG. 9(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 111 is 6. That is, the number of packets that make up a burst, M Burst is the size of the buffer M Buffer is greater than.
[0114] When packets P1 to P6 arrive at the transmitter 11, the processing means 112 executes the processing explained in FIG. 9(a) (see FIG. 9(b)(i) and (ii)).
[0115] Then, when packet P7 arrives at transmitter 11, processing means 112 copies packet P7 to buffer 111 (see (b)(iii) of FIG. 9). As a result, packets P1 to P6 stored in buffer 111 at the time packet P6 arrives at transmitter 11 are overwritten by packets P2 to P7, respectively.
[0116] The processing means 112 copies the packet P7 to the buffer 111, and then extracts the packet P7 from the buffer 111. Then, the processing means 112 extracts the packet P7 from the Galois field GF(2 n ), the processing means 112 generates a code C7 consisting of a random number of n bits in length on the packet X7 (=P7). Then, the processing means 112 generates a coded packet Y7 (=C7) based on the packet X7 (=P7), the coded packet Y6 and the code C7 by the method explained in FIG.
[0117] Thereafter, the processing means 112 processes packets P8 to P 10 At the timing when the coded packets Y8 (=C8) to Y 10 (=C 10 ) is generated (see (b)(iv) to (vi) in FIG. 9).
[0118] And packet P 10 are copied to the buffer 111, the buffer 111 stores packets P5 to P 10 Store.
[0119] The processing means 112 processes the packet P10 arrives at the transmitter 11 and the encoded packet Y 10 (=C 10 ), and then, by the method described later, 10 are packets P1 to P 10 The last packet P 10 After determining that 10 (=C 10 ) to the radio devices 12 and / or 13 by a round robin transmission method or a multiplex transmission method, and 10 (=C 10 ) is transmitted alone to the receiving device 2.
[0120] Furthermore, the processing means 112 reads packets P5 to P6 from the buffer 111. 10 The extracted packets P5 to P 10 Encode the encoded packet Y 11 (=C 11 ) and the processing means 112 generates the encoded packet Y 11 (=C 11 ) to the radio devices 12 and / or 13 by a round robin transmission method or a multiplex transmission method, and 11 (=C 11 ) is transmitted alone to the receiving device 2.
[0121] In this way, the processing means 112 calculates the number M of packets that make up a burst. Burst is the size of the buffer M Buffer When the burst size is larger than the 10 Packets P5 to P 10 Encoded packet Y containing 11 (=C 11 ) and transmits it to the receiving device 2.
[0122] As explained in FIG. 9, the number of coded packets transmitted independently is M Burst and the size of the buffer M Buffer It includes packets that differ depending on their magnitude relationship with the
[0123] The processing means 112 processes M Burst Packets PKT_N(1) to PKT_N(M Burst ) the last packet PKT_N(M Burst ) has arrived at the buffer 111 is determined by the following method.
[0124] M Burst Packets PKT_N(1) to PKT_N(M Burst ) arrive at the buffer 111 consecutively. Therefore, 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 112.
[0125] The processing means 112 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 111 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 111.
[0126] Also, application 20 is M Burst Packets PKT_N(1) to PKT_N(M Burst ) the last packet PKT_N(MBurst ) is set with a flag FG indicating that it is the last packet, and whenever the processing means 112 receives a packet PKT_N from the application 20, it determines whether or not the flag FG is set in the packet PKT_N, and when it determines that the flag FG is set in the packet PKT_N, it treats the packet PKT_N with the flag FG set as the last packet PKT_N(M Burst ) may be determined.
[0127] 10 is a diagram for explaining a method of transmitting packets that constitute a burst. In FIG. 10, M packets that constitute a burst are 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 112 determines to transmit an encoded packet at the timing when either packet P3 or P5 arrives at the transmitter 11, and determines not to transmit an encoded packet at the timing when either packet P1, P2, P4, or P6 arrives at the transmitter 11. Also, it is assumed that packets P1 and P3 could not be transmitted to the destination.
[0128] Referring to FIG. 10, packets P1 to P6 constitute packets that are transmitted at once in a burst.
[0129] When the packet P1 arrives at the transmitter 11, the processing means 112 counts the elapsed time t ELP_1, and copies packet P1 to buffer 111, 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, processing means 112 allocates original packet P1 to radio device 12 and / or radio device 13 by round robin transmission method or multiplex transmission method, and transmits packet P1 to receiving device 2. Thereafter, processing means 112 retrieves packet P1 from buffer 111, and encodes retrieved packet P1 by the above-mentioned method to generate encoded packet C1. Encoded packet C1 is expressed by the following equation:
[0130]
number
[0131] Subsequently, when packet P2 arrives at the sender 11, the processing means 112 calculates the elapsed time t ELP_1 The measurement of the elapsed time t ELP_2 Then, the processing means 112 copies packet P2 to the buffer 111, and determines not to transmit an encoded packet because packet P2 is a packet other than packets P3 and P5 (i.e., packet P2 is packet PKT_N(2) where m=2). Then, the processing means 112 allocates the original packet P2 to wireless device 12 and / or wireless device 13 by round-robin transmission or multiplex transmission, and transmits packet P2 to the receiving device 2. Thereafter, the processing means 112 retrieves packets P1 and P2 from the buffer 111, and encodes the retrieved packets P1 and P2 by the above-mentioned method to generate encoded packet C2. The encoded packet C2 is expressed by the following equation:
[0132]
number
[0133] Subsequently, when packet P3 arrives at the sender 11, the processing means 112 calculates the elapsed time t ELP_2 The measurement of the elapsed time t ELP_3 Then, processing means 112 copies packet P3 to buffer 111, and determines that packet P3 corresponds to either packet P3 or P5 (i.e., packet P3 is packet PKT_N(3) where m=3), and therefore determines to transmit an encoded packet. Processing means 112 then adds encoded packet C2, which was generated when packet P2 arrived at transmitter 11, to the original packet P3 to generate a combined packet P3 / C2, and allocates the generated combined packet P3 / C2 to radio device 12 and / or radio device 13 by round robin transmission or multiplex transmission, and transmits the combined packet P3 / C2 to receiving device 2. Thereafter, processing means 112 retrieves packets P1 to P3 from buffer 111, and encodes the retrieved packets P1 to P3 by the above-mentioned method to generate encoded packet C3. Encoded packet C3 is expressed by the following equation:
[0134]
number
[0135] Subsequently, when packet P4 arrives at the transmitter 11, the processing means 112 calculates the elapsed time t ELP_3 The measurement of the elapsed time t ELP_4Then, the processing means 112 copies packet P4 to the buffer 111, 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) where m=4). Then, the processing means 112 allocates the original packet P4 to radio device 12 and / or radio device 13 by round robin transmission method or multiplex transmission method, and transmits packet P4 to the receiving device 2. Then, the processing means 112 retrieves packets P1 to P4 from the buffer 111, and encodes the retrieved packets P1 to P4 by the above-mentioned method to generate encoded packet C4. Encoded packet C4 is expressed by the following equation.
[0136]
number
[0137] After that, when packet P5 arrives at the transmitter 11, the processing means 112 ELP_4 The measurement of the elapsed time t ELP_5 Then, the processing means 112 copies the packet P5 to the buffer 111, and determines that the packet P5 corresponds to either the packet P3 or the packet P5 (i.e., the packet P5 is the packet PKT_N(5) where m=5), and therefore transmits the encoded packet. The processing means 112 then adds the encoded packet C4, which was generated when the packet P4 arrived at the transmitter 11, to the original packet P5 to generate a combined packet P5 / C4, and allocates the generated combined packet P5 / C4 to the radio device 12 and / or the radio device 13 by the round robin transmission method or the multiplex transmission method, and transmits the combined packet P5 / C4 to the receiving device 2. Thereafter, the processing means 112 retrieves the packets P1 to P5 from the buffer 111, and encodes the retrieved packets P1 to P5 by the above-described method to generate an encoded packet C5. The encoded packet C5 is expressed by the following equation:
[0138]
number
[0139] Subsequently, when packet P6 arrives at the transmitter 11, the processing means 112 calculates the elapsed time t ELP_5 The measurement of the elapsed time t ELP_6 Then, the processing means 112 copies packet P6 to the buffer 111, 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) where m=6). Then, the processing means 112 allocates the original packet P6 to wireless device 12 and / or wireless device 13 by the round robin transmission method or the multiplex transmission method, and transmits packet P6 to the receiving device 2. Thereafter, the processing means 112 retrieves packets P1 to P6 from the buffer 111, and encodes the retrieved packets P1 to P6 by the above-mentioned method to generate encoded packet C6. Encoded packet C6 is expressed by the following equation:
[0140]
number
[0141] The reason why the encoded packet C6 is not attached to packet P6 and transmitted to the receiving device 2 is that the timing for attaching the encoded packet to an individual packet and transmitting it to the receiving device 2 is determined to be the timing when either packet P3 or P5 arrives at buffer 111, and therefore the timing when packet P6 arrives at buffer 111 is not the timing for attaching the encoded packet to an individual packet and transmitting it to the receiving device 2.
[0142] Then, the processing means 112 calculates the elapsed time t ELP_6 is the elapsed time T STANDARD The packet P6 is determined to be the last packet P6 of the packets P1 to P6, and the packet P6 is confirmed to not arrive at the transmitter 11 even if the packet P6 is longer than the predetermined time.
[0143] Thereafter, the processing means 112 determines whether T milliseconds have elapsed since the last packet P6 arrived in the buffer 111, where T is T <T _interval_1 is the time to satisfy the condition, for example, 5 milliseconds.
[0144] When the processing means 112 determines that T milliseconds have elapsed since the last packet P6 arrived at the buffer 111, it allocates the encoded packet C6 to the radio device 12 and / or the radio device 13 by a round robin transmission method or a multiplex transmission method, and transmits the encoded packet C6 to the receiving device 2.
[0145] Then, the processing means 112 determines whether the number of transmissions of the encoded packets is K. K is, for example, 3. K may be changed depending on the number of packets stored in the buffer 111. In this case, K is determined by K=A+B / M, where M is the number of packets stored in the buffer 111, and A and B are constants. Each of A, B, and M is an integer. According to K=A+B / M, as the number M of packets stored in the buffer 111 increases, K decreases, and as the number M of packets stored in the buffer 111 decreases, K increases. Therefore, by determining the number K of transmissions of the encoded packets according to K=A+B / M, when the number M of packets stored in the buffer 111 is a first number, the number K of transmissions of the encoded packets is set to the first transmission number, and when the number M of packets stored in the buffer 111 is a second number greater than the first number, the number K of transmissions of the encoded packets is set to the second transmission number less than the first transmission number. In other words, if the number of packets M stored in the buffer 111 decreases, more encoded packets will be transmitted.
[0146] When the processing means 112 determines that the number of transmitted encoded packets is not K, it retrieves packets P1 to P6 stored in buffer 111 and encodes the retrieved packets P1 to P6 using the above-mentioned method to generate encoded packet C7. Encoded packet C7 is expressed by the following equation.
[0147]
number
[0148] Then, the processing means 112 allocates the encoded packet C7 to the radio device 12 and / or the radio device 13 by a round robin transmission method or a multiplex transmission method, and transmits the encoded packet C7 to the receiving device 2.
[0149] Thereafter, processing means 112 determines that the number of transmitted encoded packets is not K (=3). Then, processing means 112 retrieves packets P1 to P6 stored in buffer 111, and encodes the retrieved packets P1 to P6 using the method described above to generate encoded packet C8. Encoded packet C8 is expressed by the following equation.
[0150]
number
[0151] In this way, when transmitting a single encoded packet, the processing means 112 uses all packets P1 to P6 stored in the buffer 111 to generate encoded packets C6 to C8.
[0152] Subsequently, the processing means 112 determines that the number of transmitted encoded packets is K (=3), and clears the buffer 111.
[0153] As shown in equations (6) to (8), the coded packets C6, C7, and C8 contain the same packets P1 to P6, and the coefficients C i The only coding packet that differs is the coefficient C i is in the Galois field GF(2 n ) consists of n-bit random numbers on the 62 ,a 64 may be zero. In this case, the coded packet C6 essentially includes packets P1, P3, P5, and P6. The same is true for coded packets C7 and C8.
[0154] Receiver 21 fails to receive packet P1 transmitted from transmitter 11, but receives packet P2 transmitted from transmitter 11. Receiver 21 also fails to receive combined packet P3 / C2 transmitted from transmitter 11, but receives packet P4, combined packet P5 / C4, packet P6, and encoded packets C6, C7, and C8 transmitted from transmitter 11 in sequence.
[0155] Since the receiver 21 was unable to receive packets P1, P3 and encoded packet C1, it removes information about packets P2 and P4 that have already been received 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.
[0156] More specifically, the receiver 21 removes the information of the already received packets P2 and P4 from the encoded packet C4 using the following equation.
[0157]
number
[0158] Furthermore, the receiver 21 removes the information of already received packets P2, P4, P5, and P6 from the encoded packet C6 using the following equation.
[0159]
number
[0160] As a result, encoded packet C4' obtained by removing information about already received packets P2 and P4 from encoded packet C4, and encoded packet C6' obtained by removing information about already received packets P2, P4, P5, and P6 from encoded packet C6, both contain packets P1 and P3.
[0161] The left side of equation (9) is obtained by performing an exclusive OR on encoded packet C4 and packet P2, and then performing an exclusive OR on the result of this exclusive OR with packet P4. The left side of equation (10) is obtained by performing an exclusive OR on encoded packet C6 and packet P2, performing an exclusive OR on the result of this exclusive OR with packet P4, performing an exclusive OR on the result of this exclusive OR with packet P5, and performing an exclusive OR on the result of this exclusive OR with packet P6. Thus, receiver 21 can obtain the values of the left sides of equations (9) and (10).
[0162] Also, the symbol a in equation (9) 41 ,a 43 is included in the "Coded Info" of the coded packet C4, and is the code a 61 ,a 63 is known since it is included in the "Coded Info" of the coded packet C6 (see FIG. 6).
[0163] Therefore, the receiver 21 can decode the packets P1 and P3 that it was unable to receive by solving the simultaneous equations of equations (9) and (10).
[0164] Similarly, the receiver 21 can decode packets P1 and P3 that it was unable to receive, based on two coded packets arbitrarily selected from coded packets C6 to C8.
[0165] In this way, if the packets that the receiver 21 was unable to receive are two packets P1 and P3, the transmitter 11 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 21 was unable to receive (=2).
[0166] In the case where the receiver 21 fails to receive the combined packet P5 / C2 instead of the combined packet P3 / C2, the two packets that could not be received can be decoded using the above method. In this case, the receiver 21 fails to receive the two packets P1 and P5.
[0167] Therefore, the receiver 21 calculates an encoded packet C2' obtained by removing the information of the already-received packet P2 from the encoded packet C2, and an encoded packet C6'' obtained by removing the information of the already-received packets P2, P3, P4, and P6 from the encoded packet C6, using the following equations.
[0168]
number
[0169] Therefore, the receiver 21 can decode the two packets P1 and P5 that it was unable to receive by solving the simultaneous equations (11A) and (11B).
[0170] 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 21, the receiver 21 can receive the three encoded packets C6, C7, and C8.
[0171] Therefore, the receiver 21 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:
[0172]
number
[0173] The receiver 21 can decode packets P1, P2, and P4 by solving the simultaneous equations (12A), (12B), and (12C).
[0174] When the encoded packet C after removing information of already received packets from the encoded packet contains only one packet, the receiver 21 converts the encoded packet C into one packet PKT_N according to the following equation.
[0175]
number
[0176] In this case, the receiver 21 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 operation of equation (13) is performed in the Galois field GF(2 n ) is an operation on
[0177] Fig. 11 is a diagram for explaining another method of transmitting packets constituting a burst. Referring to Fig. 11, processing means 112 generates encoded packets C1 to C6 each time packets P1 to P6 are copied to buffer 111, as described in Fig. 10.
[0178] When packet P2 arrives at transmitter 11, processing means 112 copies packet P2 to buffer 111, adds encoded packet C1 to packet P2 to generate combined packet P2 / C1, allocates the generated combined packet P2 / C1 to radio device 12 and / or radio device 13 by a round robin transmission method or a multiplex transmission method, and transmits the combined packet P2 / C1 to receiving device 2.
[0179] Thereafter, the processing means 112 generates an encoded packet C2, and when packet P3 arrives at the transmitter 11, copies packet P3 to the buffer 111, attaches encoded packet C2 to packet P3 to generate a combined packet P3 / C2, allocates the generated combined packet P3 / C2 to radio device 12 and / or radio device 13 by a round robin transmission method or a multiplex transmission method, and transmits the combined packet P3 / C2 to the receiving device 2.
[0180] Furthermore, the processing means 112 generates an encoded packet C3, and when packet P4 arrives at the transmitter 11, copies packet P4 to the buffer 111, attaches encoded packet C3 to packet P4 to generate a combined packet P4 / C3, allocates the generated combined packet P4 / C3 to radio device 12 and / or radio device 13 by a round robin transmission method or a multiplex transmission method, and transmits the combined packet P4 / C3 to the receiving device 2.
[0181] Furthermore, the processing means 112 generates an encoded packet C4, and when packet P5 arrives at the transmitter 11, copies packet P5 to the buffer 111, attaches the encoded packet C4 to packet P5 to generate a combined packet P5 / C4, allocates the generated combined packet P5 / C4 to radio device 12 and / or radio device 13 by a round robin transmission method or a multiplex transmission method, and transmits the combined packet P5 / C4 to the receiving device 2.
[0182] Furthermore, processing means 112 generates coded packet C5, and when packet P6 arrives at transmitter 11, copies packet P6 to buffer 111, attaches coded packet C5 to packet P6 to generate combined packet P6 / C5, allocates the generated combined packet P6 / C5 to radio device 12 and / or radio device 13 by round-robin transmission or multiplex transmission, and transmits the combined packet P6 / C5 to receiving device 2. Note that coded packet C5 includes packets P1 to P5 (see equation (5)), but when a combined packet is generated by attaching coded packet C to packet P6, which is the last of packets P1 to P6 constituting a burst to arrive at transmitter 11, coded packet C includes all packets P1 to P6 stored in buffer 111. Therefore, coded packet C5 in combined packet P6 / C5 includes all of packets P1 to P6, as shown in FIG. 11, rather than as shown in equation (5) above.
[0183] 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.
[0184] After transmitting the combined packet P6 / C5 to the receiving device 2, the processing means 112 transmits each of the encoded packets C6 to C8 independently to the receiving device 2, as described with reference to FIG.
[0185] FIG. 12 is a diagram for explaining yet another method of transmitting packets that make up a burst.
[0186] 12, as explained in FIG. 10, the processing means 112 generates coded packets C1 to C6 each time it copies packets P1 to P6 into the buffer 111, respectively.
[0187] When the packets P2 to P5 arrive at the transmitter 11, the processing means 112 transmits the packets P2 to P5 independently to the receiving device 2 without adding the encoded packets C1 to C4 to the packets P2 to P5.
[0188] Then, when packet P6 arrives at transmitter 11, processing means 112 adds encoded packet P5 to packet P6 to generate combined packet P6 / C5, allocates the generated combined packet P6 / C5 to radio device 12 and / or radio device 13 by round robin transmission method or multiplex transmission method, and transmits combined packet P6 / C5 to receiving device 2. In this case as well, encoded packet P5 includes all of packets P1 to P6 as shown in FIG. 12, rather than the above equation (5).
[0189] In this way, the transmission of the encoded packet by Piggyback may be performed only for the last packet P6 among the packets P1 to P6 that make up the burst.
[0190] After transmitting the combined packet P6 / C5 to the receiving device 2, the processing means 112 transmits each of the coded packets C6 to C8 independently to the receiving device 2, as described with reference to FIG.
[0191] As described in Figures 10 to 12, in an embodiment of the present invention, transmission of an encoded packet using a combined packet (i.e., transmission of an encoded packet using 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 11.
[0192] Fig. 13 is a diagram showing a method of allocating packets to the wireless devices 12 and 13. Fig. 13 shows a method of allocating packets to the wireless devices 12 and 13 in the packet transmission method described in Fig. 10. Fig. 13 shows a method of sequentially allocating packets to the wireless devices 12 and 13 using a round robin transmission method.
[0193] Referring to Figure 13, when transmitting packet P1, processing means 112 generates channel information CH_IF indicating that channels CH_1 and CH_2 are channels in wireless devices 12 and 13, respectively, stores the generated channel information CH_IF in Ch_If (see Figure 6) of Packet Info of packet P1, allocates packet P1(CH_IF) including the channel information CH_IF to wireless device 12, and transmits packet P1(CH_IF) to receiving device 2.
[0194] Next, when transmitting packet P2, the processing means 112 generates channel information CH_IF, stores the generated channel information CH_IF in Ch_If (see Figure 6) of Packet Info of packet P2, allocates packet P2(CH_IF) including the channel information CH_IF to radio device 13, and transmits packet P2(CH_IF) to receiving device 2.
[0195] Subsequently, when transmitting the combined packet P3 / C2, the processing means 112 generates channel information CH_IF, stores the generated channel information CH_IF in Ch_If (see Figure 6) of Packet Info of packet P3 in the combined packet P3 / C2, allocates the combined packet P3(CH_IF) / C2 including the channel information CH_IF to the radio device 12, and transmits the combined packet P3(CH_IF) / C2 to the receiving device 2.
[0196] Furthermore, when transmitting packet P4, the processing means 112 generates channel information CH_IF, stores the generated channel information CH_IF in Ch_If (see Figure 6) of Packet Info of packet P4, allocates packet P4(CH_IF) including the channel information CH_IF to radio device 13, and transmits packet P4(CH_IF) to receiving device 2.
[0197] Furthermore, when transmitting the combined packet P5 / C4, the processing means 112 generates channel information CH_IF, stores the generated channel information CH_IF in Ch_If (see Figure 6) of Packet Info of packet P5 in the combined packet P5 / C4, allocates the combined packet P5(CH_IF) / C4 including the channel information CH_IF to the radio device 12, and transmits the combined packet P5(CH_IF) / C4 to the receiving device 2.
[0198] Furthermore, when transmitting packet P6, the processing means 112 generates channel information CH_IF, stores the generated channel information CH_IF in Ch_If (see Figure 6) of Packet Info of packet P6, allocates packet P6(CH_IF) including the channel information CH_IF to radio device 13, and transmits packet P6(CH_IF) to receiving device 2.
[0199] Furthermore, when transmitting the coded packet C6, the processing means 112 generates channel information CH_IF, stores the generated channel information CH_IF in Ch_If of Coded Info in the coded packet C6 (see Figure 6), allocates the coded packet C6(CH_IF) including the channel information CH_IF to the radio device 12, and transmits the coded packet C6(CH_IF) to the receiving device 2.
[0200] Furthermore, when transmitting the coded packet C7, the processing means 112 generates channel information CH_IF, stores the generated channel information CH_IF in Ch_If of Coded Info in the coded packet C7 (see Figure 6), allocates the coded packet C7(CH_IF) including the channel information CH_IF to the radio device 13, and transmits the coded packet C7(CH_IF) to the receiving device 2.
[0201] Furthermore, when transmitting the coded packet C8, the processing means 112 generates channel information CH_IF, stores the generated channel information CH_IF in Ch_If of Coded Info in the coded packet C8 (see Figure 6), allocates the coded packet C8(CH_IF) including the channel information CH_IF to the radio device 12, and transmits the coded packet C8(CH_IF) to the receiving device 2.
[0202] In this way, the processing means 112 sequentially allocates the packets P1, P2, P4, P6, the combined packets P3 / C2, P5 / C4 and the encoded packets C6 to C8 to the radio devices 12 and 13 using a round robin transmission method, including channel information CH_IF indicating the channels in all the radio devices to which the packets P1, P2, P4, P6, the combined packets P3 / C2, P5 / C4 and the encoded packets C6 to C8 are allocated.
[0203] In the transmitting device 1, when the processing means 112 sequentially allocates packets to the radio devices 12 and 13 in the manner shown in FIG. 13, the radio device 12 sequentially broadcasts packet P1(CH_IF), combined packets P3(CH_IF) / C2, P5(CH_IF) / C4 and encoded packets C6(CH_IF) and C8(CH_IF), and the radio device 13 sequentially broadcasts packets P2(CH_IF), P4(CH_IF), P6(CH_IF) and encoded packet C7(CH_IF).
[0204] Then, the receiving device 2 moves towards the communication area CM_REG1 and, when it enters the communication area CM_REG2, receives at least one of packets P1(CH_IF), P2(CH_IF), P4(CH_IF), P6(CH_IF), combined packets P3(CH_IF) / C2, P5(CH_IF) / C4 and encoded packets C6(CH_IF), C7(CH_IF), C8(CH_IF) broadcast by the radios 12 and 13 of the transmitting device 1.
[0205] In this case, in the receiving device 2, the radio device 22 receives packets on channel CH_1, and the radio device 23 receives packets on channel CH_2. Since the communication region CM_REG2 is an region with more packet loss than the communication region CM_REG1, even if the radio device 22 cannot receive packet P1(CH_IF), combined packets P3(CH_IF) / C2, P5(CH_IF) / C4, and encoded packets C6(CH_IF) and C8(CH_IF) broadcast by the radio device 12 of the transmitting device 1 due to packet loss, the radio device 23 can receive at least packets P2(CH_IF), P4(CH_IF), P6(CH_IF), and encoded packet C7(CH_IF) broadcast by the radio device 13 of the transmitting device 1. If one of the packets can be received on channel CH_2, the processing means 211 of the receiving device 2 detects that the channel on the radio 12 of the transmitting device 1 is channel CH_1 based on the channel information CH_IF contained in at least one of packets P2(CH_IF), P4(CH_IF), P6(CH_IF) and encoded packet C7(CH_IF) received by the radio 23, and controls the radio 22 to establish a channel connection with the radio 12 of the transmitting device 1 on channel CH_1, and the radio 22 establishes a channel connection with the radio 12 of the transmitting device 1 on channel CH_1 in accordance with the control from the processing means 211.
[0206] Furthermore, even if the wireless device 23 cannot receive the packets P2(CH_IF), P4(CH_IF), P6(CH_IF) and the encoded packet C7(CH_IF) broadcast by the wireless device 13 of the transmitting device 1 due to packet loss, if the wireless device 22 can receive at least one of the packet P1(CH_IF), the combined packets P3(CH_IF) / C2, P5(CH_IF) / C4 and the encoded packets C6(CH_IF) and C8(CH_IF) broadcast by the wireless device 12 of the transmitting device 1 on the channel CH_1, the processing means 211 of the receiving device 2 Based on the channel information CH_IF contained in at least one of packet P1(CH_IF), combined packets P3(CH_IF) / C2, P5(CH_IF) / C4 and encoded packets C6(CH_IF), C8(CH_IF) received by radio device 22, it detects that the channel in radio device 13 of transmitting device 1 is channel CH_2, and controls radio device 23 to establish a channel connection with radio device 13 of transmitting device 1 on channel CH_2, and radio device 23, in accordance with the control from the processing means 211, establishes a channel connection with radio device 13 of transmitting device 1 on channel CH_2.
[0207] Therefore, the receiving device 2 can complete channel connection between the radio units 22 and 23 and the radio units 12 and 13 of the transmitting device 1 before entering the communication region CM_REG1.
[0208] Fig. 14 is a diagram showing another method of allocating packets to the wireless devices 12 and 13. Fig. 14 shows another method of allocating packets to the wireless devices 12 and 13 in the packet transmission method described in Fig. 10. Fig. 14 shows a method of allocating packets to the wireless devices 12 and 13 using a multiplex transmission method.
[0209] 14, when transmitting packet P1, processing means 112 generates channel information CH_IF and stores the generated channel information CH_IF in Ch_If (see FIG. 6) of Packet Info of packet P1 to generate packet P1(CH_IF). Then, processing means 112 allocates packet P1(CH_IF) to wireless devices 12 and 13, and transmits packet P1(CH_IF) to receiving device 2 via two wireless devices 12 and 13.
[0210] Next, when transmitting packet P2, processing means 112 stores the generated channel information CH_IF in Ch_If (see FIG. 6) of Packet Info of packet P2 to generate packet P2(CH_IF) including the channel information CH_IF. Then, processing means 112 allocates packet P2(CH_IF) to wireless devices 12 and 13, and transmits packet P2(CH_IF) to receiving device 2 via two wireless devices 12 and 13.
[0211] Subsequently, when transmitting the combined packet P3 / C2, the processing means 112 stores the generated channel information CH_IF in Ch_If (see FIG. 6) of Packet Info of the combined packet P3 / C2 to generate a combined packet P3(CH_IF) / C2 including the channel information CH_IF. Then, the processing means 112 allocates the combined packet P3(CH_IF) / C2 to the wireless devices 12 and 13, and transmits the combined packet P3(CH_IF) / C2 to the receiving device 2 via the two wireless devices 12 and 13.
[0212] Furthermore, when transmitting packet P4, the processing means 112 stores the generated channel information CH_IF in Ch_If (see FIG. 6) of Packet Info of packet P4 to generate packet P4(CH_IF) including the channel information CH_IF. Then, the processing means 112 allocates packet P4(CH_IF) to the wireless devices 12 and 13, and transmits packet P4(CH_IF) to the receiving device 2 via the two wireless devices 12 and 13.
[0213] Furthermore, when transmitting the combined packet P5 / C4, the processing means 112 stores the generated channel information CH_IF in Ch_If (see FIG. 6) of Packet Info of the combined packet P5 / C4 to generate a combined packet P5(CH_IF) / C4 including the channel information CH_IF. Then, the processing means 112 allocates the combined packet P5(CH_IF) / C4 to the wireless devices 12 and 13, and transmits the combined packet P5(CH_IF) / C4 to the receiving device 2 via the two wireless devices 12 and 13.
[0214] Furthermore, when transmitting packet P6, processing means 112 stores the generated channel information CH_IF in Ch_If (see FIG. 6) of Packet Info of packet P6 to generate packet P6(CH_IF) including the channel information CH_IF. Then, processing means 112 allocates packet P6(CH_IF) to wireless devices 12 and 13, and transmits packet P6(CH_IF) to receiving device 2 via two wireless devices 12 and 13.
[0215] Furthermore, when transmitting the coded packet C6, the processing means 112 stores the generated channel information CH_IF in Ch_If of Coded Info of the coded packet C6 (see FIG. 6 ) to generate a coded packet C6(CH_IF) including the channel information CH_IF. Then, the processing means 112 allocates the coded packet C6(CH_IF) to the radio devices 12 and 13, and transmits the coded packet C6(CH_IF) to the receiving device 2 via the two radio devices 12 and 13.
[0216] Furthermore, when transmitting the coded packet C7, the processing means 112 stores the generated channel information CH_IF in Ch_If of Coded Info of the coded packet C7 (see FIG. 6 ) to generate a coded packet C7(CH_IF) including the channel information CH_IF. Then, the processing means 112 allocates the coded packet C7(CH_IF) to the wireless devices 12 and 13, and transmits the coded packet C7(CH_IF) to the receiving device 2 via the two wireless devices 12 and 13.
[0217] Furthermore, when transmitting the coded packet C8, the processing means 112 stores the generated channel information CH_IF in Ch_If of Coded Info of the coded packet C8 (see FIG. 6 ) to generate a coded packet C8(CH_IF) including the channel information CH_IF. Then, the processing means 112 allocates the coded packet C8(CH_IF) to the wireless devices 12 and 13, and transmits the coded packet C8(CH_IF) to the receiving device 2 via the two wireless devices 12 and 13.
[0218] In this way, the processing means 112 allocates the packets P1, P2, P4, P6, the combined packets P3 / C2, P5 / C4 and the encoded packets C6 to C8 to the radio devices 12 and 13 by a multiplex transmission method, including channel information CH_IF indicating the channels in all the radio devices to which the packets P1, P2, P4, P6, the combined packets P3 / C2, P5 / C4 and the encoded packets C6 to C8 are allocated.
[0219] Even when the processing means 112 allocates packets P1 etc. to the radio devices 12 and 13 using the method described in FIG. 14, as described in FIG. 13, the receiving device 2 can complete channel connection between the radio devices 22 and 23 and the radio devices 12 and 13 of the transmitting device 1 before entering the communication region CM_REG1.
[0220] In addition, even when transmitting packets using the packet transmission method described in Figures 11 and 12, the processing means 112 allocates packets (consisting of any of individual packets, combined packets, and coded packets) to the radio devices 12 and 13 using the round robin transmission method or the multiplex transmission method using the method described in Figures 13 and 14.
[0221] In the transmitting device 1, the first to Qth (Q is an integer equal to or greater than 2) transmitting wireless devices WD_TR_Q are generally connected to the processing means 112 via USB or PCIe, or the first to Qth transmitting wireless devices WD_TR_1 to WD_TR_Q are connected to the processing means 112 via a wired LAN. The first to Qth transmitting wireless devices WD_TR_1 to WD_TR_Q transmit packets via channels CH_1 to CH_Q, respectively.
[0222] In the receiving device 2, the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q are generally connected to the processing means 211 via USB or PCIe, or the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q are connected to the processing means 211 via a wired LAN. The first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q receive packets via channels CH_1 to CH_Q, respectively.
[0223] In this case, the processing means 112 generates a packet PKT(CH_IF) by adding channel information CH_IF indicating that the first channel CH_1 to the Qth channel CH_Q are channels in the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively, to the packet received from the application 20, and outputs the generated packet PKT(CH_IF) to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q as the first packet PKT(CH_IF) to the Qth transmitting radio device WD_TR_Q, respectively.
[0224] The first packet PKT(CH_IF) to the Qth packet PKT(CH_IF) respectively represent packets transmitted by the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, and are different from the packets sequentially allocated to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q by the round robin transmission method described in Figure 13, and are also different from each packet allocated to all of the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q by the multiplex transmission method described in Figure 14.
[0225] In this way, the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q transmit the first packet PKT(CH_IF) to the Qth packet PKT(CH_IF) on the channels CH_1 to CH_Q, respectively. Therefore, in the receiving device 2, when one receiving radio device WD_RV_q of the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q receives the qth packet PKT(CH_IF) on the channel CH_q, the processing means 211 detects the qth packet PKT(CH_IF) included in the packet PKT(CH_IF). Based on the channel information CH_IF obtained, the transmitting device 1 can detect all of the channels CH_1 to CH_Q used by the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q of the transmitting device 1 to transmit packets, and controls the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q so that the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q establish channel connections with the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q of the transmitting device 1, respectively.
[0226] Therefore, the receiving device 2 can complete channel connection between the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q and the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q of the transmitting device 1 before entering the communication region CM_REG1.
[0227] Fig. 15 is a flowchart for explaining the operation of transmitting device 1 shown in Fig. 1. Referring to Fig. 15, when the operation of transmitting device 1 starts, processing means 112 sets sequence number SN to SN=0 (step S1). Then, processing means 112 determines whether or not a packet has arrived at buffer 111 (step S2).
[0228] When it is determined in step S2 that packet PKT_N has arrived at buffer 111, processing means 112 sets SN=SN+1 (step S3), adds sequence number SN and packet length L to packet PKT_N, and copies sequence number SN, packet length L, and packet PKT_N to buffer 111 (step S4). Note that by executing step S3, sequence number SN, which indicates the order in which packet PKT_N arrived at buffer 111 (i.e., transmitter 11), is stored in buffer 111 together with packet PKT_N and packet length L.
[0229] 10 to 12, the processing means 112 determines whether or not to transmit the encoded packet C. As described with reference to Fig. 10 to Fig. 12, the transmission of the encoded packet by the combined packet (i.e., the transmission of the encoded packet by Piggyback) is executed at the timing when one or more packets selected from packets P2 to P6 among packets P1 to P6 constituting the burst arrive at the transmitter 11. Therefore, the timing of the transmission of the encoded packet by the combined packet (i.e., the transmission of the encoded packet by Piggyback) is determined at the timing when one or more packets selected from packets P2 to P6 arrive at the transmitter 11. Piggyback is determined in advance, and the determined packet P Piggyback arrives at the buffer 111 (i.e., the transmitter 11), the processing means 112 decides to transmit the encoded packet C, and Piggyback If a packet other than the above arrives at the buffer 111 (that is, the transmitter 11), it is determined that the encoded packet C is not to be transmitted.
[0230] When it is determined in step S5 that the coded packet C is to be transmitted, the processing means 112 attaches the coded packet to the N packet PKT_N (step S6) to generate a combined packet.
[0231] Then, in step S5, when it is determined that the encoded packet C will not be transmitted, or after step S6, the processing means 112 generates a packet including channel information CH_IF indicating the channels in all the radio devices (radio devices 12, 13) to be used for transmitting the packet, and allocates the generated packet to the radio devices 12, 13 according to the round robin transmission method or the multiplex transmission method, and the radio devices 12, 13 transmit the packets allocated by the processing means 112 to the receiving device 2 on channels CH_1, CH_2, respectively (step S7).
[0232] Thereafter, the processing means 112 generates coded packets C from the packets stored in the buffer 111 by the method described above (step S8).
[0233] Then, the series of operations proceeds to step S2.
[0234] On the other hand, when it is determined in step S2 that no packet has arrived at the buffer 111, the processing means 112 determines whether T milliseconds have elapsed since the last packet arrived at the buffer 111 (step S9).
[0235] In step S9, when it is determined that T milliseconds have elapsed since the last packet arrived at the buffer 111, the processing means 112 generates an encoded packet C including channel information CH_IF indicating the channels in all radio devices (radio devices 12, 13) used to transmit the encoded packet C, and allocates the generated encoded packet C to the radio devices 12, 13 according to the round robin transmission method or the multiplex transmission method, and the radio devices 12, 13 transmit the encoded packet C allocated by the processing means 112 to the receiving device 2 on channels CH_1, CH_2, respectively (step S10).
[0236] After that, the processing means 112 determines whether the number of transmissions of the encoded packet C is K or not (step S11).
[0237] When it is determined in step S11 that the number of transmissions of encoded packets C is not K, processing means 112 generates encoded packets C from packets stored in buffer 111 (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.
[0238] Then, when it is determined in step S11 that the number of transmitted encoded packets C is K, the processing means 112 clears the buffer 111 (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 111, the series of operations proceeds to step S2.
[0239] When the transmitting device 1 includes the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, the operations of steps S7 and S10 are as follows.
[0240] When it is determined in step S5 that the encoded packet C will not be transmitted, or after step S6, the processing means 112 generates a packet including channel information CH_IF indicating the channels in all radio devices (= the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q) used to transmit the packet, and allocates the generated packet to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q according to the round robin transmission method or the multiplex transmission method, and the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q transmit the packet allocated by the processing means 112 to the receiving device 2 on the channels CH_1 to CH_Q, respectively (step S7).
[0241] Also, in step S9, when it is determined that T milliseconds have elapsed since the last packet arrived at the buffer 111, the processing means 112 generates an encoded packet C including channel information CH_IF indicating the channels in all radio devices (= the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q) used to transmit the encoded packet C, and allocates the generated encoded packet C to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q according to the round robin transmission method or the multiplex transmission method, and the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q transmit the encoded packet C allocated by the processing means 112 to the receiving device 2 on the channels CH_1 to CH_Q, respectively (step S10).
[0242] FIG. 16 is a flowchart for explaining the detailed operation of step S7 in the flowchart shown in FIG.
[0243] The flowchart shown in FIG. 16 is a flowchart for explaining the detailed operation of step S7 in FIG. 15 when packets are allocated to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q according to the round robin transmission method.
[0244] Referring to FIG. 16, when it is determined in step S5 of FIG. 15 that the encoded packet C will not be transmitted, or after step S6, the processing means 112 generates channel information CH_IF indicating Q channels in all transmitting radio devices WD_TR_1 to WD_TR_Q (step S71).
[0245] Then, the processing means 112 stores the channel information CH_IF in Ch_If of the packet info (or coded info) of the packet to generate a transmission packet PKT(CH_IF) (step S72).
[0246] Thereafter, the processing means 112 determines whether or not to execute step S7 for the (c·Q+1)th time (step S73). Here, c is an argument indicating the number of times the flowchart shown in Fig. 16 (i.e., step S7 of Fig. 15) is executed Q times, and c=0 when the flowchart shown in Fig. 16 (i.e., step S7 of Fig. 15) is executed Q times from the 1st to the Qth time, c=1 when the flowchart shown in Fig. 16 (i.e., step S7 of Fig. 15) is executed Q times from the (Q+1)th to the 2Qth time, c=2 when the flowchart shown in Fig. 16 (i.e., step S7 of Fig. 15) is executed Q times from the (2Q+1)th to the 3Qth time, and thereafter, c increases to 3, 4, 5, 6, ... each time the flowchart shown in Fig. 16 (i.e., step S7 of Fig. 15) is executed Q times.
[0247] When it is determined in step S73 that step S7 is to be executed for the (c·Q+1)th time, the processing means 112 sets g=0 (step S74), where g is 0, 1, 2, 3, . . .
[0248] Then, when it is determined in step S73 that step S7 is not to be executed for the (c·Q+1)th time, or after step S74, the processing means 112 sets g=g+1 (step S75).
[0249] After that, the processing means 112 calculates q=mod(g,(Q+1)) (step S76).
[0250] Then, the processing means 112 allocates the transmission packet PKT(CH_IF) to the q-th transmitting wireless device WD_TR_q (step S77). Then, the q-th transmitting wireless device WD_TR_q transmits the transmission packet PKT(CH_IF) allocated by the processing means 112 on the channel CH_q (step S78). After that, the series of operations proceeds to step S8 in FIG.
[0251] 16, when a single packet or an aggregated packet is to be transmitted, in step S71 the processing means 112 generates channel information CH_IF indicating Q channels in all transmitting radio devices WD_TR_1 to WD_TR_Q. Then, in step S72 the processing means 112 stores the channel information CH_IF in Ch_If of Packet Info of the packet to generate a transmission packet PKT(CH_IF). On the other hand, when a coded packet is to be transmitted, in step S72 the processing means 112 stores the channel information CH_IF in Ch_If of Coded Info of the packet to generate a transmission packet PKT(CH_IF).
[0252] When the flowchart shown in FIG. 16 is executed for the first time, it is determined in step S73 that step S7 is to be executed for the (c·Q+1)=(0·Q+1)=1st time, and when steps S74, S75, and S76 are executed sequentially, q=mod(g,(Q+1))=mod(1,(Q+1))=1 is calculated in step S76.
[0253] Then, in step S77, the transmission packet PKT(CH_IF) is allocated to the first transmission wireless device WD_TR_1, and in step S78, the first transmission wireless device WD_TR_1 transmits the transmission packet PKT(CH_IF) on the channel CH_1.
[0254] Subsequently, when the flowchart shown in Figure 16 is executed for the second time, the processing means 112 generates a transmission packet PKT(CH_IF) by steps S71 and S72, in the same manner as when the flowchart shown in Figure 16 is executed for the first time.
[0255] Then, in step S73, it is determined that step S7 is not to be executed for the (c·Q+1)=(0·Q+1)=1st time, and in step S75, g=g+1=2 is calculated, and in step S76, q=mod(g,(Q+1))=mod(2,(Q+1))=2 is calculated.
[0256] Then, in step S77, the transmission packet PKT(CH_IF) is allocated to the second transmission wireless device WD_TR_2, and in step S78, the second transmission wireless device WD_TR_2 transmits the transmission packet PKT(CH_IF) on the channel CH_2.
[0257] Furthermore, when the flowchart shown in Figure 16 is executed for the third time, the processing means 112 generates a transmission packet PKT(CH_IF) by steps S71 and S72, in the same manner as when the flowchart shown in Figure 16 is executed for the first time.
[0258] Then, in step S73, it is determined that step S7 is not to be executed for the (c·Q+1)=(0·Q+1)=1st time, and in step S75, g=g+1=3 is calculated, and in step S76, q=mod(g,(Q+1))=mod(3,(Q+1))=3 is calculated.
[0259] Then, in step S77, the transmission packet PKT(CH_IF) is allocated to the third transmission wireless device WD_TR_3, and in step S78, the third transmission wireless device WD_TR_3 transmits the transmission packet PKT(CH_IF) on the channel CH_3.
[0260] After this, the flowchart shown in FIG. 16 is repeatedly executed for the fourth to Qth times (Q-3), and step S71 → step S72 → "NO" in step S73 → step S75 → step S76 are executed in sequence, q=4, 5, 6, . . . , Q are calculated in sequence, and in step S77, transmission packets PKT_4(CH_IF), PKT_5(CH_IF), PKT_6(CH_IF), . . . , PKT_Q(CH_IF) are calculated for the fourth transmitting radio device WD_TR_4, the fifth transmitting radio device WD_TR_5, and the sixth transmitting radio device WD_TR_6, respectively. The packets are sequentially assigned to the fourth transmitting radio device WD_TR_4, the fifth transmitting radio device WD_TR_5, the sixth transmitting radio device WD_TR_6, ..., and the Qth transmitting radio device WD_TR_Q, and in step S78, the fourth transmitting radio device WD_TR_4, the fifth transmitting radio device WD_TR_5, the sixth transmitting radio device WD_TR_6, ..., and the Qth transmitting radio device WD_TR_Q transmit the transmission packets PKT_4(CH_IF), PKT_5(CH_IF), PKT_6(CH_IF), ..., PKT_Q(CH_IF) on channels CH_4, CH_5, CH_6, ..., CH_Q, respectively.
[0261] Therefore, by performing the detailed operation of step S7 of Figure 15 in accordance with the flowchart shown in Figure 16, transmission packets PKT_1(CH_IF) to PKT_Q(CH_IF) containing channel information CH_IF are sequentially allocated to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q in accordance with the round robin transmission method, and the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q each sequentially transmit the transmission packets PKT_1(CH_IF) to PKT_Q(CH_IF) on channels CH_1 to CH_Q, respectively.
[0262] Then, when the flowchart shown in FIG. 16 is executed for the (Q+1)th time, in steps S71 and S72, the same operations as those performed when the flowchart shown in FIG. 16 described above is executed for the first time are executed, and in step S73, it is determined that step S7 will be executed for the (c·Q+1)=(1·Q+1)=(Q+1)th time, steps S74, S75, and S76 are executed in sequence, and in step S76, q=mod(g,(Q+1))=mod(1,(Q+1))=1 is calculated.
[0263] Then, in steps S77 and S78, the same operations as those performed when the flowchart shown in FIG. 16 is executed for the first time are executed.
[0264] Furthermore, when the flowchart shown in FIG. 16 is executed (Q-1) times from the (Q+2)th time to the (2Q)th time, in steps S71 and S72, the same operations as those performed when the flowchart shown in FIG. 16 described above is executed from the 2nd time to the Qth time are executed, and in step S73, it is determined that step S7 is not to be executed the (c·Q+1)=(1·Q+1)=(Q+1)th time, and steps S75 and S76 are executed in sequence, and in step S76, q=mod(g,(Q+1))=2, 3, . . . , n is calculated in sequence.
[0265] Then, in steps S77 and S78, the same operations as those performed when the flowchart shown in FIG. 16 is executed for the second to Qth times are executed.
[0266] Thereafter, each time the flowchart shown in FIG. 16 is executed Q times, c is incremented to c=2, 3, 4, . . . , and the above-described operations are repeatedly executed.
[0267] Tables 1 and 2 show the relationship between the number of times step S7 is executed when the flowchart shown in FIG. 15 is executed, the value of c, the value of c·Q+1, the determination result of step S73, the value of g in step S75, the calculation result q of mod(g,(Q+1)) in step S76, and the wireless device q to which packets are allocated according to the round-robin transmission method, when the number Q of transmitting wireless devices is Q=2 and Q=3.
[0268] [Table 1]
[0269] [Table 2]
[0270] As shown in Table 1, when the number of transmitting radio devices Q is 2, packets are allocated in the following order according to the round-robin transmission method: transmitting radio device WD_TR_1 (=radio device 12), transmitting radio device WD_TR_2 (=radio device 13), transmitting radio device WD_TR_1 (=radio device 12), transmitting radio device WD_TR_2 (=radio device 13), transmitting radio device WD_TR_1 (=radio device 12), transmitting radio device WD_TR_2 (=radio device 13), ...
[0271] Furthermore, as shown in Table 2, when the number of transmitting radio devices Q is 3, packets are sequentially allocated to the transmitting radio device WD_TR_1, the transmitting radio device WD_TR_2, the transmitting radio device WD_TR_3, the transmitting radio device WD_TR_1, the transmitting radio device WD_TR_2, the transmitting radio device WD_TR_3, ... according to the round-robin transmission method.
[0272] Furthermore, if Tables 1 and 2 are shown, packets can be sequentially allocated to the transmitting radio device WD_TR_1, the transmitting radio device WD_TR_2, the transmitting radio device WD_TR_3, the transmitting radio device WD_TR_4, etc. according to the round-robin transmission method, even when Q is Q≧4.
[0273] Therefore, by executing the detailed operation of step S7 in FIG. 15 according to the flowchart shown in FIG. 16, the transmission packet PKT(CH_IF) including the channel information CH_IF can be sequentially allocated to the first to Qth wireless transmitters WD_TR_1 to WD_TR_Q for transmission according to the round-robin transmission method.
[0274] Note that the number M of packets constituting a burst Burst and the number Q of wireless transmitters for transmission determine the number of executions of the flowchart shown in FIG. 16. Since the packets constituting a burst continuously reach the transmitter 11 from the application 20, when the packets constituting a burst continuously reach the transmitter 11, in step S2 of FIG. 15, every time it is determined that a packet has arrived, step S7 (i.e., the flowchart shown in FIG. 16) is executed.
[0275] And when Burst M < Q, the packets are sequentially allocated to and transmitted by a number of wireless transmitters WD_TR less than the total number Q of wireless transmitters WD_TR for transmission according to the round-robin transmission method.
[0276] Also, when Burst M = Q, the packets are sequentially allocated to and transmitted by all of the first to Qth wireless transmitters WD_TR_1 to WD_TR_Q for transmission according to the round-robin transmission method.
[0277] Furthermore, when Burst M > Q, the packets are sequentially allocated to and transmitted by the first to Qth wireless transmitters WD_TR_1 to WD_TR_Q in a ring shape like the first wireless transmitter WD_TR_1, the second wireless transmitter WD_TR_2, the third wireless transmitter WD_TR_3, ···, the Qth wireless transmitter WD_TR_Q, the first wireless transmitter WD_TR_1, the second wireless transmitter WD_TR_2, ··· for transmission according to the round-robin transmission method.
[0278] FIG. 17 is another flowchart for explaining the detailed operation of step S7 in the flowchart shown in FIG.
[0279] The flowchart shown in FIG. 17 is a flowchart for explaining the detailed operation of step S7 in FIG. 15 when packets are allocated to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q in accordance with the multiplex transmission method.
[0280] Referring to Figure 17, when it is determined in step S5 of Figure 15 that the encoded packet C will not be transmitted, or after step S6, the processing means 112 generates channel information CH_IF indicating Q channels in the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_1 (step S71A).
[0281] Then, the processing means 112 stores the channel information CH_IF in Ch_If of the packet info (or coded info) of the packet to generate a transmission packet PKT(CH_IF) (step S72A).
[0282] Thereafter, the processing means 112 allocates the transmission packet PKT(CH_IF) to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q in accordance with the multiplex transmission method (step S73A).
[0283] Thereafter, the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q transmit the transmission packets PKT(CH_IF) on the channels CH_1 to CH_Q, respectively (step S74A). After step S74A, the series of operations proceeds to step S8 in FIG.
[0284] 17, when a single packet or an aggregated packet is to be transmitted, in step S71A, the processing means 112 generates channel information CH_IF, and in step S72A, the processing means 112 stores the channel information CH_IF in Ch_If of Packet Info of the packet to generate a transmission packet PKT(CH_IF).On the other hand, when a coded packet is to be transmitted, in step S72A, the processing means 112 stores the channel information CH_IF in Ch_If of Coded Info of the packet to generate a transmission packet PKT(CH_IF).
[0285] Then, in step S73A, the processing means 112 allocates the transmission packet PKT(CH_IF) to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q in accordance with the multiplex transmission method, and in step S74A, the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q transmit the transmission packet PKT(CH_IF) to the receiving device 2 on the channels CH_1 to CH_Q, respectively.
[0286] Therefore, by the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q transmitting the transmission packets PKT(CH_IF) on the channels CH_1 to CH_Q, respectively, one transmission packet PKT(CH_IF) can be transmitted on Q mutually different channels CH_1 to CH_Q.
[0287] The detailed operation of step S10 in FIG. 15 is performed according to the flowchart shown in FIG. 16 or the flowchart shown in FIG.
[0288] When the detailed operation of step S10 is performed according to the flowchart shown in FIG. 16, the processing means 112 performs step S73 of FIG. 16 by "determining whether to execute step S10 for the (c·Q+1)th time" instead of "determining whether to execute step S7 for the (c·Q+1)th time."
[0289] 15. The combination of the flowchart for executing the detailed operation of step S7 in FIG. 15 and the flowchart for executing the detailed operation of step S10 in FIG.
[0290] [Table 3]
[0291] As shown in Table 3, the flowchart for executing the detailed operation of step S7 in FIG. 15 may be the same as the flowchart for executing the detailed operation of step S10 in FIG. 15, or may be different from the flowchart for executing the detailed operation of step S10 in FIG. 15.
[0292] From the viewpoint of increasing the rate at which packets reach the receiving device 2, it is preferable that the flowchart for executing the detailed operation of step S7 in Fig. 15 and the flowchart for executing the detailed operation of step S10 in Fig. 15 consist of the flowchart shown in Fig. 17. The flowchart shown in Fig. 17 transmits packets using a multiplex transmission method (i.e., a method in which each packet is transmitted using both radio devices 12 and 13), which can increase the rate at which packets reach the receiving device 2.
[0293] Furthermore, when the flowchart for executing the detailed operation of step S7 of Fig. 15 consists of the flowchart shown in Fig. 16, the flowchart for executing the detailed operation of step S10 of Fig. 15 preferably consists of the flowchart shown in Fig. 17. In step S7 of Fig. 15, individual packets or combined packets are transmitted, and in step S10 of Fig. 15, encoded packets are transmitted, so that the individual packets or combined packets are transmitted by the round robin transmission method in accordance with the flowchart shown in Fig. 16, and even if many packets are not received by the receiving device 2, when the encoded packets are transmitted by the multiplex transmission method in accordance with the flowchart shown in Fig. 17 in step S10 of Fig. 15, the delivery rate of the encoded packets to the receiving device 2 is increased, so that the receiving device 2 can decode the packets that were not received, as explained in Fig. 10.
[0294] FIG. 18 is a flowchart for explaining the detailed operation of step S8 shown in FIG.
[0295] 18, after step S7 in Fig. 15, processing means 112 sets i=1 (step S81), where i is an argument indicating the sequence number SN of each packet stored in buffer 111 at the time step S8 in Fig. 15 is executed. And, i=1 represents the oldest packet among the packets stored in buffer 111.
[0296] After step S81, the processing means 112 generates an encoded packet Y0={000···0} consisting of "000···0" having a length of n bytes (step S82).
[0297] Then, the processing means 112 reads the packet X from the buffer 111. i is acquired (step S83).
[0298] Thereafter, the processing means 112 performs the Galois field (GF(2 n )) to generate a random number of (n÷8) bits length, and then use the generated random number of (n÷8) bits length as Ci (step S84).
[0299] Then, the processing means 112 processes packet X i Each element of X i,1 ~X i,Li×8 / n to C i Multiply by C i X i and Y i-1 That is, the processing means 112 calculates the exclusive OR of Y i is calculated (step S85).
[0300]
number
[0301] Subsequently, the processing means 112 i Sequence number SN i , packet length L i and code C i is added to the coded info (step S86).
[0302] Then, the processing means 112 determines 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 111 at the time step S8 in FIG. 15 is executed.
[0303] When it is determined in step S87 that i is not equal to I, the processing means 112 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.
[0304] Then, in step S87, when it is determined that i=I, the processing means 112 i and Coded info (step S89).
[0305] After that, the series of operations proceeds to step S2 in FIG.
[0306] Note that the detailed operation of step S12 in Fig. 15 is also executed according to the flowchart shown in Fig. 18. In this case, when it is determined in step S11 in Fig. 15 that the number of transmitted encoded packets is not K, steps S81 to S89 are executed in order, and after step S89, the series of operations proceeds to step S10 in Fig. 15.
[0307] As long as the transmitting device 1 is driven, it repeatedly executes steps S1 to S13 shown in FIG. 15 (including the flowcharts shown in FIGS. 16 to 18).
[0308] Here, the reason why the flowchart shown in FIG. 15 includes the flowcharts shown in FIGS. 16 to 18 is that, as shown in Table 3, the combination of the flowchart that executes the detailed operation of step S7 in FIG. 15 and the flowchart that executes the detailed operation of step S10 in FIG. 15 includes the combination of one of the flowcharts shown in FIG. 16 and FIG. 17 and the other of the flowcharts shown in FIG. 16 and FIG. 17.
[0309] Furthermore, if the flowchart for performing the detailed operation of step S7 in Figure 15 and the flowchart for performing the detailed operation of step S10 in Figure 15 are the same flowchart, they should be written as "the flowchart shown in Figure 15 (including the flowcharts shown in Figures 16 and 18)" or "the flowchart shown in Figure 15 (including the flowcharts shown in Figures 17 and 18)."
[0310] Therefore, in the embodiments of the present invention, the notation "the flowchart shown in Figure 15 (including the flowcharts shown in Figures 16 to 18)" is also intended to include the notation "the flowchart shown in Figure 15 (including the flowcharts shown in Figures 16 and 18)" or "the flowchart shown in Figure 15 (including the flowcharts shown in Figures 17 and 18)."
[0311] In the flowchart shown in Figure 15 (including the flowcharts shown in Figures 16 to 18), after step S1 is executed, when the processing means 112 determines in step S2 that packet PKT_N(1) (a packet indicating a P picture shown in Figure 5) that does not constitute a burst has arrived at buffer 111, it sequentially executes the above-mentioned steps S3 and S4, and then determines in step S5 not to transmit encoded packet C, and in step S7 transmits packet PKT_N(1) to receiving device 2 via radio devices 12 and 13.
[0312] Thereafter, the processing means 112 generates an encoded packet C in step S8, and after step S8, the series of operations proceeds to step S2.
[0313] Then, in step S2, every time the processing means 112 determines that a packet PKT_N (a packet indicating a P picture shown in FIG. 5) that does not constitute a burst has arrived at the buffer 111, it sequentially executes steps S3, S4, "NO" in step S5, and step S7 to transmit the single packet PKT_N to the receiving device 2, and in step S8 generates an encoded packet C. After that, the series of operations proceeds to step S2.
[0314] In step S8, a packet PKT_N(1) that does not constitute a burst is encoded to generate an encoded packet, and if it is determined in step S2 that no packet has arrived, and if it is determined in step S9 that T milliseconds have passed since the last packet arrived at buffer 111, the encoded packet (consisting of approximately N packets) will be transmitted K times (see steps S10 to S12).
[0315] Next, the operation of the transmitting device 1 when a packet constituting a burst (for example, any of packets P1 to P6 shown in FIG. 10) arrives at the buffer 111 will be described.
[0316] In step S2, the processing means 112 determines that the packet P1 has arrived at the buffer 111, 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 receiving device 2 via the radio devices 12 and 13.
[0317] Then, in step S8, the processing means 112 generates an encoded packet C1 including packet P1, after which the series of operations proceeds to step S2.
[0318] Thereafter, in step S2, processing means 112 determines that packet P2 has arrived at buffer 111, and after sequentially executing the above-mentioned steps S3 and S4, determines in step S5 not to transmit encoded packet C, and in step S7 transmits packet P2 to receiving device 2 via radio devices 12 and 13. Then, in step S8, processing means 112 generates encoded packet C2 including packets P1 and P2. Thereafter, the series of operations proceeds to step S2.
[0319] Subsequently, in step S2, processing means 112 determines that packet P3 has arrived at buffer 111, and after sequentially executing the above-mentioned steps S3 and S4, determines to transmit encoded packet C (=encoded packet C1) in step S5, and adds encoded packet C2 to packet P3 to generate combined packet P3 / C2 in step S6. Then, in step S7, processing means 112 transmits the combined packet P3 / C2 to receiving device 2 via radio devices 12 and 13. Thereafter, in step S8, processing means 112 generates encoded packet C3 including packets P1 to P3. Then, the series of operations proceeds to step S2.
[0320] After generating encoded packet C3, processing means 112 determines in step S2 that packet P4 has arrived at buffer 111, 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 receiving device 2 via radio devices 12 and 13 in step S7. Then, processing means 112 generates encoded packet C4 including packets P1 to P4 in step S8. After that, the series of operations proceeds to step S2.
[0321] After generating encoded packet C4, processing means 112 determines in step S2 that packet P5 has arrived at buffer 111, sequentially executes steps S3 and S4 described above, and then determines in step S5 to transmit encoded packet C. In step S6, processing means 112 attaches encoded packet C4 to packet P5 to generate combined packet P5 / C4. Then, in step S7, processing means 112 transmits combined packet P5 / C4 to receiving device 2 via radio devices 12 and 13.
[0322] After that, the processing means 112 generates an encoded packet C5 including packets P1 to P5 in step S8, and then the series of operations proceeds to step S2.
[0323] After generating encoded packet C5, processing means 112 determines in step S2 that packet P6 has arrived at buffer 111, 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 receiving device 2 via radio devices 12 and 13 in step S7. Then, processing means 112 generates encoded packet C6 including packets P1 to P6 in step S8. After that, the series of operations proceeds to step S2.
[0324] Subsequently, in step S2, processing means 112 determines that no packet has arrived at buffer 111, and in step S9 determines that T milliseconds have passed since the last packet (=packet P6) arrived at buffer 111, and in step S10 transmits encoded packet C6 to receiving device 2 via radio devices 12 and 13. Then, in step S11, processing means 112 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 buffer 111.
[0325] Thereafter, the processing means 112 transmits the encoded packet C7 to the receiving device 2 via the radio devices 12 and 13 in step S10.
[0326] Subsequently, in step S11, the processing means 112 determines that the number of transmissions of the encoded packet C is not K (=3), and in step S12, generates an encoded packet C8 including the packets P1 to P6 from the packets P1 to P6 stored in the buffer 111.
[0327] Thereafter, the processing means 112 transmits the encoded packet C8 to the receiving device 2 via the radio devices 12 and 13 in step S10.
[0328] Then, in step S11, the processing means 112 determines that the number of transmitted encoded packets C is K (=3), and clears the buffer 111 in step S13.
[0329] In the flowchart shown in FIG. 15, 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 by the combined packet in step S7.
[0330] As explained in FIG. 9(a), the number of packets constituting a burst, M Burst is the size of the buffer M Buffer15, when it is determined that no packets have arrived, packets P1 to P6 are stored in buffer 111, and therefore processing means 112 can generate encoded packets C7 and C8 including all of packets P1 to P6 in step S12. As a result, even if receiving device 2 cannot receive a combined packet or a single packet (packets P1, P2, P4, P6, etc. in FIG. 10) including an encoded packet (at least one of encoded packets C1 to C5) in step S7, by determining "K" in step S10 so that the number of encoded packets (encoded packets C7, C8, etc.) that is equal to or greater than the number of packets that receiving device 2 could not receive (some of packets P1 to P6), receiving device 2 can decode the packets that receiving device 2 could not receive (some of packets P1 to P6).
[0331] Furthermore, as explained in FIG. 9(b), the number of packets constituting a burst M Burst is the size of the buffer M Buffer If it is larger than , packets P2 to P 10 At the timing 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 receiving device 2, the coded packets C1 to C9 are expressed by the following equations.
[0332]
number
[0333] In equation (15), the number of packets included in the coded packets C6 to C9 is six because the maximum number M of packets that can be stored in the buffer 111 is six. Bufferis "6", when packet P7 is copied to buffer 111, packets P1 to P6 are overwritten by packets P2 to P7, when packet P8 is copied to buffer 111, packets P2 to P7 are overwritten by packets P3 to P8, and when packet P9 is copied to buffer 111, packets P3 to P8 are overwritten by packets P4 to P9.
[0334] 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.
[0335] 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 10 packets (=10 packets) cannot be received by the receiver 2, the 9 combined packets P2 / C1, P3 / C2, P4 / C3, P5 / C4, P6 / C5, P7 / C6, P8 / C7, P9 / C8, P 10 At least four combined packets of / C9 can be received by the receiving device 2.
[0336] In this case, the receiver 2 can receive the 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 the receiving device 2 cannot receive packets P6 to P9, 10 However, packets P1 to P5 can be received.
[0337] However, the transmitter 11 repeats steps S10 to S12 in FIG. 15 five times to generate packets P5 to P 10 Five coded packets C containing 10 ~C 14 can be transmitted to the receiving device 2. Five encoded packets C 10 ~C 14is expressed by the following equation:
[0338]
number
[0339] Then, the receiving device 2 calculates four coded packets C 10 ~C 13 and four coded packets C 10 ~C 13 The information of the received packet P5 is removed from the encoded packet C 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.
[0340]
number
[0341] Furthermore, the receiver 2 receives the packet P1 and five combined packets P6 / C5, P7 / C6, P8 / C7, P9 / C8, and P 10 If the packet P2 / C1, P3 / C2, P4 / C3, and P5 / C9 can be received, but the four combined packets P2 / C1, P3 / C2, P4 / C3, and P5 / C4 cannot be received, then packets P2 to P5 cannot be received.
[0342] In this case, since the number of packets that could not be received is "four," 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 represent encoded packets C6' to C9' from which the information of already received packets P1, P6 to P9 has been removed.
[0343] In this way, the number of packets that make up a burst is M Burst is the size of the buffer M Buffer Even if the packet size is larger than 1, the receiving device 2 can decode the packet that it was unable to receive.
[0344] Furthermore, in the flowchart shown in Figure 15 (including the flowcharts shown in Figures 16 to 18), the transmitter 11 transmits a single packet or a combined packet (including an encoded packet) to the receiving device 2 each time each packet P1 to P6 constituting a burst arrives at the transmitter 11, so that the multiple packets P1 to P6 constituting the burst can be transmitted to the receiving device 2 with low delay.
[0345] After transmitting packets constituting a burst (all of packets P1 to P6 shown in Figure 10) to receiving device 2, when transmitter 11 determines that packet PKT_N (packet indicating a P picture shown in Figure 5) not constituting a burst has arrived at buffer 111, transmitter 11 transmits packet PKT_N (packet indicating a P picture shown in Figure 5) not constituting a burst to receiving device 2 using the method described above.
[0346] In this way, the transmitter 11 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. 15 (including the flowcharts shown in FIGS. 16 to 18).
[0347] Fig. 19 is a flowchart for explaining the operation of the receiving device 2 shown in Fig. 1. Referring to Fig. 19, after the operation of the receiving device 2 is started, when the wireless devices 22 and 23 receive a packet ("YES" in step S21), they output the received packet to the processing means 211.
[0348] The processing means 211 receives a packet PKT from the radio devices 22, 23, and determines whether the received packet PKT is an N packet PKT_N, thereby determining whether or not the N packet PKT_N has been received (step S22). In this case, the processing means 211 determines that the N packet PKT_N has been received when the identifier N / C of the Packet info of the packet PKT is "N" and the packet PKT does not include the Coded info and the area REG2, and determines that the N packet PKT_N has not been received when the identifier N / C of the Packet info of the packet PKT is "C" or when the identifier N / C of the Packet info of the packet PKT is "N" and the identifier N / C of the Coded info is "C".
[0349] When it is determined in step S22 that N packets PKT_N have not been received, the processing means 211 determines whether or not a combined packet (a packet transmitted by Piggyback) has been received (step S23). In this case, the processing means 211 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".
[0350] When it is determined in step S23 that the combined packet has been received, the processing means 211 separates the N packet from the C packet (=encoded packet) (step S24).
[0351] After that, the processing means 211 determines whether or not there is an N packet PKT_N (step S25).
[0352] 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 211 executes an N packet reception process (step S26).
[0353] After that, the processing means 211 determines whether or not there is a C packet (=encoded packet) (step S27).
[0354] 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 does not exist, or when it is determined in step S27 that a C packet (=encoded packet) exists, the processing means 211 removes information about the received N packet PKT_N from the C packet (=encoded packet) (step S28).
[0355] Subsequently, the processing means 211 executes the decryption process (step S29), and then the processing means 211 determines whether or not the decryption has been successful (step S30).
[0356] If 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.
[0357] 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. Thereafter, the receiver 21 repeatedly executes steps S21 to S30 as long as it is driven.
[0358] In addition, when it is determined in step S23 that a combined packet has not been received, the series of operations proceeds to step S28 because the packets received by receiver 21 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 a combined packet has not been received, the packet received by receiver 21 is encoded packet PKT_C.
[0359] FIG. 20 is a flowchart for explaining the detailed operation of step S26 shown in FIG.
[0360] 20, when it is determined in step S22 of FIG. 19 that N packets PKT_N have been received, or when it is determined in step S25 of FIG. 19 that N packets PKT_N exist, the processing means 211 calculates the sequence number SN of the received N packets PKT_N. rx The sequence number SN of the 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 212) or less, or whether the received N packet PKT_N has already been stored in the N buffer 212 (step S261).
[0361] In step S261, the sequence number SN of the received N packets PKT_N is rx The sequence number SN of the 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 the predetermined number, or if it is determined that the received N packet PKT_N has already been stored in the N buffer 212, the processing means 211 discards the received N packet PKT_N (step S262).
[0362] 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 the 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 above and that the received N packet PKT_N has not been stored in the N buffer 212, the processing means 211 rx ) is stored in the N buffer 212 (step S263).
[0363] Then, the processing means 211 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 212 (step S265), where i is an integer of 1, 2, 3, . . .
[0364] In step S265, the sequence number SN sent When it is determined that a packet PKT_N having sequence number SN+i exists in the N buffer 212, the processing means 211 sent The processing means 211 then transmits the packet PKT_N having the sequence number SN+1 to the application 30 (step S266). Then, the processing means 211 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+1 is transmitted to the application 30. sent Steps S265 to S267 are repeatedly executed until it is determined that packet PKT_N having +i does not exist in N buffer 212.
[0365] Then, in step S265, the sequence number SN sent If it is determined that the packet PKT_N having the value of SN+i does not exist in the N buffer 212, the processing means 211 sent =SN sent +i-1 is set (step S268).
[0366] After step S262 or step S268, the series of operations proceeds to step S27 in FIG.
[0367] Steps S263 to S267 shown in Fig. 20 are steps for storing the newly received N packet PKT_N in the N buffer 212 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 +i does not exist in the N buffer 212, in step S268, the latest sequence number SN of the received N packet PKT_N in the N buffer 212 is sent will be updated.
[0368] FIG. 21 is a flowchart for explaining the detailed operation of step S28 shown in FIG.
[0369] 21, when it is determined in step S23 of FIG. 19 that a combined packet has not been received, or when it is determined in step S25 of FIG. 19 that an N packet does not exist, or when it is determined in step S27 of FIG. 19 that a C packet (encoded packet) exists, processing means 211 sets i=1 (step S281) and retrieves packet X from N buffer 212. i (Step S282). Here, i is the number of packets X stored in the N buffer 212. i and ranges from 1 to I. I represents the number of packets X stored in the N buffer 212. i The total number of
[0370] After step S282, the processing means 211 i It is determined whether the sequence number SN of the coded packet Y is included in the coded info of the coded packet Y (step S283).
[0371] 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 211 i By performing an exclusive OR with the encoded packet Y, the received packet X is obtained. i The information is removed (step S284).
[0372] Then, in step S283, packet X i When it is determined that the sequence number SN of is not included in the Coded info of the coded packet Y, or after step S284, the processing means 211 determines whether or not i=I (step S285).
[0373] When it is determined in step S285 that i is not equal to I, the processing means 211 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.
[0374] Then, when it is determined in step S285 that i=I, the processing means 211 determines whether or not all of the information included in encoded packet Y has been received (step S287). In this case, when encoded packet Y is Y={000...0}, the processing means 211 determines that all of the information included in encoded packet Y has been received, and when encoded packet Y is not Y={000...0}, the processing means 211 determines that not all of the information included in encoded packet Y has been received (i.e., not all of the information included in encoded packet Y has been received).
[0375] 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 211 determines whether the number of N packets contained in the encoded packet Y is “1” (step S288).
[0376] If it is determined in step S288 that the number of N packets included in the coded packet Y is not "1", the processing means 211 stores the coded packet Y in the C buffer 213 (step S289).
[0377] On the other hand, when it is determined in step S288 that the number of N packets included in the encoded packet Y is “1”, the processing means 211 converts the encoded packet Y into packet X using equation (13), and executes the above-mentioned “N packet receiving process” (flowchart shown in FIG. 20) on the converted packet X (step S290).
[0378] Then, in step S287, when it is determined 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 Figure 19.
[0379] In the flowchart shown in FIG. 21, steps S282 to S286 are repeatedly executed until it is determined in step S285 that i=I, thereby 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 coded packet C that includes only a plurality of packets that are not stored in N buffer 212 (=a plurality of packets that have not yet been received).
[0380] FIG. 22 is a flowchart for explaining the detailed operation of step S29 shown in FIG.
[0381] Referring to FIG. 22, after step S28 in FIG. 19 or when it is determined that decoding has been successful in step S30, the processing means 211 determines whether or not two or more encoded packets Y exist in the C buffer 213 (step S291).
[0382] If it is determined in step S291 that two or more encoded packets Y do not exist in the C buffer 213, the series of operations proceeds to step S21 in FIG.
[0383] On the other hand, when it is determined in step S291 that two or more coded packets Y exist in the C buffer 213, the processing means 211 sets i=1 (step S292), where i is the number of coded packets Y stored in the C buffer 213. i and ranges from 1 to I. I represents the number of coded packets Y stored in the C buffer 213. i The total number of
[0384] After step S292, the processing means 211 reads the encoded packet Y i is acquired (step S293).
[0385] Then, the processing means 211 processes the encoded packet Y i "From the encoded packet to the received packet X" i Then, the process of "removing information" (flowchart in FIG. 21) is executed (step S294).
[0386] Then, the processing means 211 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).
[0387] In step S295, the encoded packet Y i is determined to be equal to or less than "1", the processing means 211 i is deleted from the C buffer 213 (step S296).
[0388] Then, in step S295, the encoded packet Y i When it is determined that the number of N packets included in is not equal to or less than "1", or after step S296, the processing means 211 determines whether i=I or not (step S297).
[0389] When it is determined in step S297 that i is not equal to I, the processing means 211 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.
[0390] Then, when it is determined in step S297 that i=I, the processing means 211 determines whether or not a plurality of coded packets C, each including a plurality of N packets, exist in the C buffer 213 (step S299).
[0391] In step S299, when it is determined that there are multiple encoded packets C containing multiple N packets in the C buffer 213, the processing means 211 acquires multiple encoded packets Y from the C buffer 213 and solves the simultaneous equations representing the acquired multiple encoded packets Y to decode the C packets (encoded packets) (step S300).
[0392] Then, in step S299, when it is determined that there are not multiple encoded packets C containing multiple N packets in the C buffer 213, or after step S300, the processing means 211 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).
[0393] When it is determined in step S302 that the number of N packets that have been successfully decoded is equal to or greater than "i", the processing means 211 executes "N packet reception processing" (flowchart in FIG. 20) on the decoded N packets (step S303). Then, the processing means 211 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 successfully decoded is not equal to or greater than "i".
[0394] 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 series of operations proceeds to step S30 in FIG.
[0395] In the flowchart shown in Figure 22, if the process proceeds to step S291 after it is determined in step S287 of Figure 21 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 do not exist in the C buffer 213, and the series of operations proceeds to step S21 of Figure 19.
[0396] On the other hand, when the process proceeds to step S291 after step S289 in FIG. 21, if it is determined in step S291 that two or more encoded packets Y exist in the C buffer 213, the above-mentioned steps S292 to S304 are executed sequentially, and if it is determined in step S291 that two or more encoded packets Y do not exist in the C buffer 213, the series of operations proceeds to step S21 in FIG. 19.
[0397] Also, in the flowchart shown in Figure 22, 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 Figure 20) for all N packets obtained by decoding encoded packet C.
[0398] FIG. 23 is a diagram showing the transition of the N buffer 212 and the C buffer 213 when packets constituting a burst are received.
[0399] 23 shows the transition of N buffer 212 and C buffer 213 when packets constituting a burst are received, in the case where the packets constituting the burst are packets P1 to P6 shown in FIG.
[0400] 23, when transmitting device 1 transmits packet P1, receiving device 2 fails to receive packet P1, so in step S21 of Fig. 19, radio devices 22 and 23 of receiving device 2 do not receive packet P1. As a result, no packet is stored in N buffer 212 and C buffer 213 (see (a) of Fig. 23).
[0401] Thereafter, when the transmitting device 1 transmits packet P2, the radio devices 22 and 23 of the receiving device 2 receive packet P2 (see "YES" in step S21 of FIG. 19) and output the received packet P2 to the processing means 211.
[0402] When the processing means 211 receives the packet P2 from the wireless devices 22 and 23, 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. 19). Then, the processing means 211 executes N packet reception processing for the packet P2 (see step S26 of FIG. 19), and obtains the sequence number SN of the packet P2. rx The sequence number SN of the 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 212) and that the received packet has not already been stored in the N buffer 212 (see "NO" in step S261 in FIG. 20), and stores packet P2 in the N buffer 212 and transmits packet P2 to the application 30 (see steps S263 to S266 in FIG. 20). Then, when i=2, the processing means 211 determines that SN sent +i(=SN sent +2) packet is determined not to exist in the N buffer 212 (see "NO" in step S265 of FIG. 20), and sent =SN sent +i-1=SN sent +2-1=SN sent +1, the sequence number SN of the Nth packet PKT_N stored in the Nth buffer 212 sent (see step S268 in FIG. 20). Thereafter, the processing means 211 determines that there is no C packet (see "NO" in step S27 in FIG. 19), and the operation of the receiving device 2 proceeds to step S21 in FIG. 19. At this stage, packet P2 is stored in the N buffer 212 (see (b) in FIG. 23).
[0403] Subsequently, when transmitting device 1 transmits combined packet P3 / C2, receiving device 2 fails to receive combined packet P3 / C2, and therefore, in step S21 of Fig. 19, radio devices 22 and 23 of receiving device 2 do not receive combined packet P3 / C2. As a result, the states of N buffer 212 and C buffer 213 do not change (see (c) of Fig. 23).
[0404] Thereafter, when transmitting device 1 transmits packet P4, receiving device 2 performs the same operation as that performed when receiving packet P2 described above, resulting in packet P4 being stored in N buffer 212 (see (d) of FIG. 23).
[0405] Then, when the transmitting device 1 transmits the combined packet P5 / C4, the radio devices 22 and 23 of the receiving device 2 receive the combined packet P5 / C4 (see “YES” in step S21 of FIG. 19) and output the received combined packet P5 / C4 to the processing means 211.
[0406] When the processing means 211 receives the combined packet P5 / C4 from the radio devices 22, 23, 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 Figure 19), and also determines that the combined packet has been received (see “YES” in step S23 of Figure 19).
[0407] Thereafter, the processing means 211 separates the N packet P5 from the encoded packet C4 of the combined packet P5 / C4 (see step S24 in FIG. 19), determines that there are N packets (see "YES" in step S25 in FIG. 19), and executes N packet reception processing for packet P5 (see step S26 in FIG. 19). Then, in the N packet reception processing, the processing means 211 calculates the sequence number SN of packet P5. rx The sequence number SN of the 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 212) and that the received packet is not stored in N buffer 212 (see "NO" in step S261 in FIG. 20), and stores packet P5 in N buffer 212 and transmits packet P5 to application 30 (see steps S263 to S266 in FIG. 20). Then, when i=2, processing means 211 stores the SN sent +i(=SN sent+2) packet is determined to be absent (see "NO" in step S265 of FIG. 20), and sent =SN sent +i-1=SN sent +2-1=SN sent +1, the sequence number SN of the Nth packet PKT_N stored in the Nth buffer 212 sent (see step S268 in FIG. 20). Thereafter, the processing means 211 determines that a C packet is present (see "YES" in step S27 in FIG. 19), and removes information about the already-received N packets from the C packet (see step S28 in FIG. 19). At this point, packets P2, P4, and P5 are stored in the N buffer 212 (see (e) in FIG. 23), and encoded packet C4 includes packets P1 to P4, so the processing means 211 sequentially calculates the exclusive OR of encoded packet C4 with packets P2 and P4, and removes information about the already-received packets P2 and P4 from encoded packet C4 (see steps S282 to S286 in FIG. 21).
[0408] Encoded packet C4' obtained by removing the information of already-received packets P2 and P4 from encoded packet C4 is expressed by equation (9). As a result, the processing means 211 determines that not all of the information contained in encoded packet C4 has been received (see "NO" in step S287 of FIG. 21), determines that the number of N packets included in encoded packet C4' is not "1" (see "NO" in step S288 of FIG. 21), and stores encoded packet C4' in the C buffer 213 (see step S289 of FIG. 21). As a result, three packets P2, P4, and P5 are stored in the N buffer 212, and one encoded packet C4' is stored in the C buffer 213 (see (e) of FIG. 23).
[0409] After step S289 in Figure 21, the operation of the receiving device 2 proceeds to step S29 in Figure 19, and in step S291 of the flowchart in Figure 22 which shows the detailed operation of step S29 in Figure 19, the processing means 211 determines that two or more encoded packets Y are not present in the C buffer 213, and the operation of the receiving device 2 proceeds to step S21 in Figure 19.
[0410] Thereafter, when transmitting device 1 transmits packet P6, receiving device 2 executes the same operation as that performed when receiving packet P2 described above. As a result, packet P6 is stored in N buffer 212 (see (f) of FIG. 23). Then, after packet P6 is stored in N buffer 212, processing means 211 determines that there is no C packet (see "NO" in step S27 of FIG. 19), and so the operation of receiving device 2 proceeds to step S21 of FIG. 19.
[0411] Subsequently, when the transmitting device 1 transmits the encoded packet C6, the radio devices 22 and 23 of the receiving device 2 receive the encoded packet C6 (see “YES” in step S21 of FIG. 19) and output the received encoded packet C6 to the processing means 211.
[0412] When the processing means 211 receives the encoded packet C6 from the radio devices 22 and 23, it determines that N packets have not been received (see "NO" in step S22 of Figure 19) and that a combined packet has not been received (see "NO" in step S23 of Figure 19) because the identifier N / C in the Packet info of the encoded packet C6 consists of "C".
[0413] Therefore, the processing means 211 removes information about already-received packets from encoded packet C6 (see step S28 in FIG. 19). At this stage, packets P2, P4, P5, and P6 are stored in the N buffer 212, and encoded packet C6 includes packets P1 to P6 (see equation (6)), so the processing means 211 sequentially calculates the exclusive OR of encoded packet C6 and packets P2, P4, P5, and P6, and removes information about already-received packets P2, P4, P5, and P6 from encoded packet C6 (see steps S282 to S286 in FIG. 21).
[0414] Encoded packet C6' obtained by removing the information of already-received packets P2, P4, P5, and P6 from encoded packet C6 is expressed by equation (10). As a result, the processing means 211 determines that not all of the information included in encoded packet C6 has been received (see "NO" in step S287 of FIG. 21), determines that the number of N packets included in encoded packet C6' is not "1" (see "NO" in step S288 of FIG. 21), and stores encoded packet C6' in the C buffer 213 (see step S289 of FIG. 21). As a result, four packets P2, P4, P5, and P6 are stored in the N buffer 212, and two encoded packets C4' and C6' are stored in the C buffer 213 (see (g) of FIG. 23).
[0415] Then, the processing means 211 determines that there are multiple coded packets each containing multiple N packets (see "YES" in step S299 in FIG. 22), and decodes the C packets by solving the simultaneous equations of equation (9) representing coded packet C4' and equation (10) representing coded packet C6' (see step S300 in FIG. 22). As a result, two N packets P1 and P3 are obtained.
[0416] Thereafter, the processing means 211 sets i=1 (see step S301 in FIG. 22), determines that the number of decoded N packets is equal to or greater than i (=1) (see "YES" in step S302 in FIG. 22), and executes "N packet reception processing" (the flowchart shown in FIG. 20) for the N packet P1 (see step S303 in FIG. 22). Then, in the N packet reception processing, the processing means 211 determines the sequence number SN of the packet P1. rx The sequence number SN of the 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 212) and that the received packet (=packet P1) has not already been stored in N buffer 212 (see "NO" in step S261 in FIG. 20), and stores packet P1 in N buffer 212 and transmits packet P1 to application 30 (see steps S263 to S266 in FIG. 20). Then, when i=2, processing means 211 stores SN sent +i(=SN sent +2) packet is determined to be absent (see "NO" in step S265 of FIG. 20), and sent =SN sent +i-1=SN sent +2-1=SN sent +1, the sequence number SN of the Nth packet PKT_N stored in the Nth buffer 212 sent is updated (see step S268 in FIG. 20).
[0417] In step S303 of Fig. 22, when the "N packet reception process" (flowchart shown in Fig. 20) is executed, after step S268 of Fig. 20, the operation of the receiving device 2 proceeds to step S304 of Fig. 22, so the processing means 211 sets i = i + 1 = 2 (see step S304 of Fig. 22), 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. 22), and executes the "N packet reception process" (flowchart shown in Fig. 20) for N packet P2 (see step S303 of Fig. 22). Then, in the N packet reception process, the processing means 211 determines the sequence number SN of packet P2. rx The sequence number SN of the 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 212) and that the received packet (=packet P2) has not already been stored in the N buffer 212 (see "NO" in step S261 of FIG. 20), and stores packet P2 in the N buffer 212 and transmits packet P2 to the application 30 (see steps S263 to S266 of FIG. 20). Then, when i=2, the processing means 211 determines that SN sent +i(=SN sent +2) packet is determined not to exist in the N buffer 212 (see "NO" in step S265 of FIG. 20), and sent =SN sent +i-1=SN sent +2-1=SN sent +1, the sequence number SN of the Nth packet PKT_N stored in the Nth buffer 212 sent (see step S268 in FIG. 20). Thereafter, the processing means 211 sets i=i+1=3 (see step S304 in FIG. 22), 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. 22). Then, the operation of the receiving device 2 proceeds to step S30 in FIG. 19, where the processing means 211 determines that decoding has been successful ("YES" in step S30 in FIG. 19), and determines that two or more encoded packets do not exist in the C buffer 213 in step S291 of the flowchart in FIG. 22 showing detailed operations of step S29 in FIG. 19 (see "NO" in step S291 in FIG. 22), and the operation of the receiving device 2 proceeds to step S21 in FIG. 19.
[0418] At this stage, no packets are stored in the N buffer 212 and the C buffer 213 (see (h) in FIG. 23). This completes the reception process for the packets (packets P1 to P6) that make up the burst.
[0419] In the flowchart shown in FIG. 19 (including the flowcharts shown in FIGS. 20 to 22) showing the packet reception process, after "removing information of already received N packets from C packet" is executed in step S28 of FIG. 19, "removing already received packet X from encoded packet" is executed in step S294 of the flowchart shown in FIG. 22 showing the detailed operation of the decoding process in step S29. i The reason for "removing the information" is as follows.
[0420] In the flowchart of FIG. 15 showing the operation of the transmitting device 1, when it is determined in step S9 that T milliseconds have elapsed since the last packet arrived at the buffer 111, the transmitter 11 transmits coded packet C to the receiving device 2 via the radio devices 11 and 12 until it is determined in step S11 that the number of coded packets to be transmitted is K (see steps S10 to S12). In this case, as described above, the transmitter 11 transmits coded packet 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 coded packet C8 (=a 81 P1+a 82 P2+a 83 P3+a 84 P4+a 85 P5+a 86 P6) to the receiving device 2. Here, the code a in the coded packet C6 is 63 is set to zero. That is, 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.
[0421] As a result, even if the receiving device 2 cannot receive the encoded packet C (for example, encoded packet C2) transmitted in step S7 of FIG. 15, it can receive the encoded packets C6 to C8 transmitted in step S10.
[0422] Then, the processing means 211 of the receiving device 2 determines that N packets have not been received (see "NO" in step S22 of FIG. 19), and also determines that a combined packet has not been received (see "NO" in step S23 of FIG. 19), and removes the information of the received N packets P2, P4, P5, and P6 from the encoded packet C6 (see step S28 of FIG. 19 (steps S281 to S286 of the flowchart in FIG. 21)). As a result, the processing means 211 determines that encoded packet C6'=a 61 Get P1.
[0423] Then, the processing means 211 determines that all of the information contained in the coded packet Y has not been received (see "NO" in step S287 of FIG. 21), determines that the number of N packets contained in the coded packet C6' is "1" (see "YES" in step S288 of FIG. 21), and determines that coded packet C6'=a 61 P1 is converted into P1 by equation (13), and the "N packet reception process" (flowchart shown in FIG. 20) is executed (see step S290 in FIG. 21).
[0424] In this case, since the "N packet reception process" is executed for the first time for packet P1, the processing means 211 receives the sequence number SN of packet P1. rx The sequence number SN of the 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 212) and that the received packet (packet P1) has not already been stored in N buffer 212 (see "NO" in step S261 in FIG. 20), and stores packet P1 in N buffer 212 (see step S263 in FIG. 20). At this stage, packets P1, P2, P4, P5, and P6 are stored in N buffer 212.
[0425] Then, after step S290 in FIG. 21, the processing means 211 repeatedly executes steps S293 to S298 a plurality of times in the flowchart in FIG. 22 showing the detailed operation of the decoding process (see step S29 in FIG. 19), thereby decoding the encoded packet C4' (=a 41 P1+a 43 The information of packet P1 is removed from P3, and an 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 The information of packets P1, P2, P4, P5, and P6 is removed from packets P1, P2, P4, P5, and P6.
[0426] 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. 19, after "removing the information of the already received N packet from the C packet", in step S294 of the flowchart of FIG. 22 showing the detailed operation of the decoding process in step S29, "removing the information of the already received packet X from the encoded packet" is performed. i The decision was made to "remove all information from the website."
[0427] Fig. 24 is a flowchart for explaining the operation of channel connection. In Fig. 24, the operation of channel connection will be explained on the assumption that, in the transmitting device 1, the wireless devices 12 and 13 are broadcasting a packet PKT(CH_IF) including channel information CH_IF (channel information indicating that channels CH_1 and CH_2 are channels for the wireless devices 12 and 13, respectively) on channel CH_1, and the wireless device 13 is broadcasting a packet PKT(CH_IF) on channel CH_2.
[0428] Referring to FIG. 24, when the channel connection operation is started, the receiving device 2 moves toward the communication region CM_REG1 (step S31).
[0429] Then, the processing means 211 of the receiving device 2 determines whether or not a packet has been received, or whether a certain level of reception quality is not being maintained (step S32). In this case, the processing means 211 determines that a packet has not been received when no packet has been received from either the wireless devices 22 or 23, and determines that a packet has been received when a packet has been received from at least one of the wireless devices 22 or 23. The processing means 211 also stores a packet error rate threshold value th_ER in advance, and receives from the application 30 the packet error rate PKT_ER detected by the application 30. Then, the processing means 211 determines that a certain level of quality is not being maintained when the packet error rate PKT_ER is equal to or greater than the threshold value th_ER, and determines that a certain level of quality is being maintained when the packet error rate PKT_ER is less than the threshold value th_ER. The threshold value th_ER is, for example, 20%.
[0430] In step S32, when it is determined that no packet has been received or that a certain quality is not maintained, the processing means 211 controls the radio device 22 to perform a scan, for example, on an odd channel (e.g., channel CH_1), and controls the radio device 23 to perform a scan, for example, on an even channel (e.g., channel CH_2) (step S33).
[0431] Then, radio device 22 performs a scan on an odd channel (e.g., channel CH_1) according to control from processing means 211, and radio device 23 performs a scan on an even channel (e.g., channel CH_2) according to control from processing means 211 (step S34).
[0432] Thereafter, the processing means 211 determines whether a packet has been received on one channel by determining whether a packet has been received from one of the wireless devices 22, 23 (step S35). In this case, when the processing means 211 determines that a packet has been received from one of the wireless devices 22, 23, it determines that a packet has been received on one channel, and when the processing means 211 determines that a packet has not been received from both the wireless devices 22, 23, it determines that a packet has not been received on one channel.
[0433] If it is determined in step S35 that no packet has been received on one channel, the wireless devices 22 and 23 switch channels (step S36). In this case, the wireless device 22 switches to an odd channel different from the odd channel used when the scan was performed in step S34, and the wireless device 23 switches to an even channel different from the even channel used when the scan was performed in step S34.
[0434] After step S36, the series of operations proceeds to step S34. Thereafter, steps S34 to S36 are repeatedly executed until it is determined in step S35 that a packet has been received on one channel.
[0435] Then, in step S35, when it is determined that a packet has been received on one channel, the processing means 211 detects a channel CH_un different from the channel CH_r on which the packet was received based on the channel information CH_IF contained in the packet received by either one of the radio devices 22, 23 (step S37).
[0436] Thereafter, the processing means 211 controls the radio device that did not receive the packet so as to establish a channel connection with the radio device of the transmitting device 1 (the other of the radio devices 12 and 13) on channel CH_un (step S38). Here, the reason why it is written "the radio device of the transmitting device 1 (the other of the radio devices 12 and 13)" is that the radio device 22 of the receiving device 2 receives the packet on channel CH_1, which is the same as channel CH_1 of the radio device 12 of the transmitting device 1, and the radio device 23 of the receiving device 2 receives the packet on channel CH_2, which is the same as channel CH_2 of the radio device 13 of the transmitting device 1, so when "one of the radio devices 22 and 23" in step S37 is the radio device 22, in step S38 the processing means 211 detects channel CH_2 of the radio device 13, which is different from the radio device 12 that transmits the packet on channel CH_1, which is the same as channel CH_1 of the radio device 22, as channel CH_un. Similarly, when the "one of the radio devices 22 and 23" in step S37 is radio device 23, in step S38, the processing means 211 detects channel CH_1 of radio device 12, which is different from radio device 13 that transmits packets on channel CH_2, the same as channel CH_2 of radio device 23, as channel CH_un.
[0437] After step S38, the wireless devices that did not receive the packet (wireless devices other than the wireless device that received the packet) establish a channel connection with the wireless device of the transmitting device 1 (the other of the wireless devices 12 and 13) on the channel CH_un under the control of the processing means 211 (step S39). This completes the channel connection operation.
[0438] 24, in step S34, not only control frames such as Beacons but also data frames are scanned. When a data frame is made up of video, the data frame is generally transmitted at intervals of 20 ms or less, which is shorter than the 100 ms that is the transmission interval for Beacons. Therefore, by scanning data frames as well, the scanning time can be shortened, and as a result, the time required to complete channel connection with transmitting device 1 can be shortened.
[0439] 24, if the wireless device that received the packet on one channel is the wireless device 22, the processing means 211 detects that the packet was received on channel CH_1 by receiving the packet from the wireless device 22. In step S37, the processing means 211 detects a channel CH_un (=CH_2) that is different from the channel CH_r (=CH_1) on which the packet was received, based on channel information CH_IF (information indicating that the channels for the wireless devices 12 and 13 are channels CH_1 and CH_2, respectively) included in the packet received by the wireless device 22.
[0440] Then, in step S38, the processing means 211 controls the radio device 23 that did not receive the packet so as to establish a channel connection with the radio device 13 of the transmitting device 1 on the channel CH_un (=CH_2).
[0441] Then, in step S39, the wireless device 23 (a wireless device other than the wireless device that received the packet) establishes a channel connection with the wireless device 13 of the transmitting device 1 on the channel CH_un (=CH_2) under the control of the processing means 211.
[0442] 24, the wireless devices 22 and 23 scan their own channels CH_1 and CH_2, respectively, improving the scanning speed. As a result, the receiving device 2 can complete channel connection with the transmitting device 1 in the communication region CM_REG2, which has more packet loss than the communication region CM_REG1 (i.e., before the receiving device 2 enters the communication region CM_REG1).
[0443] Furthermore, in the flowchart shown in FIG. 24, the reason why it is determined in step S35 whether or not a packet has been received on one channel is that if a packet is received on one channel, the received packet includes information on channels on which the packet was not received, and therefore the processing means 211 can detect all of the channels CH_1 and CH_2 used by the radio devices 12 and 13 in the transmitting device 1 to transmit packets, and the radio devices 22 and 23 in the receiving device 2 can complete channel connections with the radio devices 12 and 13 in the transmitting device 1, respectively.
[0444] In the embodiment of the present invention, the receiving device 2 generally includes a first receiving radio device WD_RV_1 to a Qth receiving radio device WD_RV_Q.
[0445] In this case, in the flowchart shown in Figure 24, in step S33, the processing means 211 controls the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q to scan on channels CH_1 to CH_Q, respectively, and in step S34, the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q perform scanning on channels CH_1 to CH_Q, respectively, in accordance with the control from the processing means 211.
[0446] Then, in step S35, when it is determined that a packet has been received on one channel CH_q (q is any one of 1 to Q), the received packet includes channel information CH_IF indicating Q channels in the first transmitting radio device WD_TR_1 to the Qth transmitting radio device, so in step S37, the processing means 211 of the receiving device 2 can detect (Q-1) channels other than channel CH_q (=CH_1 to CH_q-1, CH_q+1 to CH_Q) based on the channel information CH_IF.
[0447] Then, in step S38, the processing means 211 controls (Q - 1) receiving wireless devices other than the receiving wireless device WD_RV_q that has received the packet so as to establish channel connections with (Q - 1) transmitting wireless devices of the transmitting device 1 respectively on (Q - 1) channels other than the channel CH_q (= CH_1 to CH_q - 1, CH_q + 1 to CH_Q). In step S39, the (Q - 1) receiving wireless devices other than the receiving wireless device WD_RV_q establish channel connections with the respective (Q - 1) transmitting wireless devices of the transmitting device 1 on the respective (Q - 1) channels (= CH_1 to CH_q - 1, CH_q + 1 to CH_Q) according to the control from the processing means 211.
[0448] In the embodiment of the present invention, when the receiving device 2 includes the first receiving wireless device WD_RV_1 to the Qth receiving wireless device WD_RV_Q, generally, in step S38, when the receiving device 2 is moving toward the receiving area (= communication area CM_REG1), when k (k is an integer satisfying 1 ≤ k < Q) receiving wireless devices among the first receiving wireless device WD_RV_1 to the Qth receiving wireless device WD_RV_Q receive k packets, the processing means 211 detects k channel information CH_IF included in the k packets received by the k receiving wireless devices, and based on the detected k channel information CH_IF, detects (Q - k) channels in the (Q - k) receiving wireless devices, and executes channel connection control to control the (Q - k) receiving wireless devices to establish channel connections with the (Q - k) transmitting wireless devices of the transmitting device 1 respectively on the detected (Q - k) channels. In this case, in step S35 of FIG. 24, it is determined whether or not packets are received on the k channels.
[0449] Preferably, the processing means 211 performs channel connection control to control the (Qk) receiving radios so that when k receiving radios receive k packets in the communication region CM_REG2 (a region with more packet loss than the communication region CM_REG1) shown in Figure 2, the (Qk) receiving radios channel connect with the (Qk) transmitting radios of the transmitting device 1 on the (Qk) channels CH_un, respectively.
[0450] [Change Channel] Since radar transmits radio waves at a pre-authorized frequency, when at least one of the radio devices 12 and 13 detects a radar, at least one of the radio devices 12 and 13 needs to change its own channel.
[0451] For example, when the radio 12 detects a radar, the processing means 112 of the transmitting device 1 executes the following steps (a) to (d).
[0452] (a) Instruct the application 20 to lower the transmission rate.
[0453] (b) The coding rate, which is the ratio at which coded packet C is added to N packets to generate a combined packet, is reduced, and the number of redundant packets is increased.
[0454] (c) Turn off the radio 12 that detects the radar.
[0455] (d) The allocation of packets to the stopped radio device 12 is stopped, and the packets that were allocated to the stopped radio device 12 are allocated to radio devices 13 other than the stopped radio device 12 by the round robin transmission method or the multiplex transmission method.
[0456] In addition, when the transmitting device 1 has two radio devices 12 and 13 and the radio device 12 detects radar, the radio device that allocates the packets that were allocated to the radio device 12 is the single radio device 13, so the packets that were allocated to the radio device 12 will be allocated to the radio device 13 by either the round robin transmission method or the multiplex transmission method.
[0457] Then, the wireless device 12 scans all channels CH_1 to CH_12 and changes its own channel to the channel that is not being used by other wireless devices 13 and is in the best condition. After that, the wireless device 12 performs radar detection for, for example, one minute on the changed channel CH_change, and if no radar is detected, outputs a start notification NOTF_start to the processing means 112, indicating that wireless communication will start on the changed channel.
[0458] When the processing means 112 receives the start notification NOTF_start, it executes the following steps (e) to (g).
[0459] (e) The wireless device 13 stores channel information CH_IF_change in the packet to be transmitted, the channel information indicating that the new channel CH_change is the channel in the wireless device 12 .
[0460] (f) The coding rate is restored, and packet allocation to the wireless device 12 that has started wireless communication is resumed.
[0461] (g) Instruct the application 20 to increase the transmission rate.
[0462] Meanwhile, the processing means 211 of the receiving device 2 monitors the channels of the radio devices 22 and 23, and in response to the change in channel in the transmitting device 1, changes the channel used by the radio device 22 corresponding to the radio device 12 to the changed CH_change of the radio device 12.
[0463] Fig. 25 is a flowchart for explaining the operation of detecting radar. Referring to Fig. 25, when the operation of detecting radar is started, the radio devices 12 and 13 of the transmitting device 1 determine whether or not radar has been detected (step S41). More specifically, the radio devices 12 and 13 hold pre-authorized frequencies, and perform scans on all 12 channels CH_1 to CH_12 that the radio devices 12 and 13 can use. If they detect radio waves of the pre-authorized frequencies, they determine that radar has been detected, and if they do not detect radio waves of the pre-authorized frequencies, they determine that radar has not been detected.
[0464] When it is determined in step S41 that radar has been detected, one of the wireless devices 12 and 13 that has detected the radar (for example, wireless device 12) notifies the processing means 112 to stop wireless communication (step S42).
[0465] Then, the wireless device 12 waits for X seconds (for example, 1 second) (step S43), and then performs a scan on all channels (all of the channels CH_1 to CH_12) (step S44).
[0466] Then, the wireless device 12 changes its own channel to the channel that is not being used by another wireless device 13 and that has the best condition (step S45). In this case, the wireless device 12 selects a channel with a busy rate equal to or lower than a threshold, a channel with the lowest busy rate, or a channel with the largest frequency difference from a channel already in use as the channel with the best condition, and changes its own channel to the selected channel.
[0467] After step S45, the wireless device 12 notifies the processing means 112 of information about the changed channel and a start notification NOTF_start indicating that wireless communication is to start (step S46).
[0468] If it is determined in step S41 that radar has not been detected, or after step S46, the series of operations proceeds to step S41. After that, the wireless devices 12 and 13 repeatedly execute the flowchart shown in FIG. 25 as long as they are activated.
[0469] In FIG. 25, the operation of detecting radar has been described using the example in which the radio 12 detects the radar. However, even when the radio 13 detects the radar, the operation of detecting radar is executed according to the flowchart shown in FIG. 25.
[0470] When the channel of the wireless device 12 is changed according to the flowchart shown in Fig. 25, the transmitting device 1 transmits packets to the receiving device 2 according to the flowchart shown in Fig. 15 (including the flowcharts shown in Figs. 16 to 18) using the wireless device 12 that performs wireless communication on the changed channel and the wireless device 13 that performs wireless communication on channel CH2. The same applies when the channel of the wireless device 13 is changed.
[0471] FIG. 26 is a flowchart for explaining the operation of the transmitter 11 in response to notifications from the wireless devices 12 and 13.
[0472] Referring to FIG. 26, the processing means 112 of the transmitter 11 determines whether or not there is a notification from the wireless devices 12 and 13 (step S51).
[0473] If it is determined in step S51 that there is no notification from the wireless devices 12 and 13, the processing means 112 repeats the determination as to whether there is a notification from the wireless devices 12 and 13 or not.
[0474] On the other hand, when it is determined in step S51 that there is a notification from the wireless devices 12 and 13, the processing means 112 determines whether or not the notification is a stop notification (step S52).
[0475] If it is determined in step S52 that the notification is a stop notification, the processing means 112 instructs the application 20 to lower the transmission rate (step S53).
[0476] Then, the processing means 112 waits for Y seconds (for example, 1 second) (step S54), and then reduces the coding rate, which is the ratio at which coded packet C is added to N packets to generate a combined packet, and increases the number of redundant packets (step S55).
[0477] Subsequently, the processing means 112 stops allocating packets to the wireless device that has received the stop notification (for example, wireless device 12) and allocates packets to another wireless device (wireless device 13) (step S56). After that, the series of operations proceeds to step S51.
[0478] On the other hand, when it is determined in step S52 that the notification is not a stop notification (i.e., when it is determined that the notification is a start notification NOTF_start), the processing means 112 instructs the application 20 to increase the transmission rate (step S57).
[0479] Then, the processing means 112 waits for Y seconds (step S58), and then increases the coding rate, which is the rate at which coded packets C are added to N packets to generate a combined packet, to reduce redundant packets (step S59).
[0480] Subsequently, the processing means 112 starts allocating packets to the wireless device that has received the start notification NOTF_start (for example, the wireless device 12) (step S60). After that, the series of operations proceeds to step S51. After this, as long as the transmitting device 1 is activated, the processing means 112 repeatedly executes the flowchart shown in FIG. 26.
[0481] 26, steps S53, S54, S57, and S58 do not have to be executed. In this case, when it is determined in step S52 that the notification is a stop notification, steps S55 and S56 are executed in sequence, and when it is determined in step S52 that the notification is not a stop notification (i.e., when it is determined that the notification is a start notification NOTF_start), steps S59 and S60 are executed in sequence.
[0482] In the flowchart shown in FIG. 26, when the notification is a stop notification, the transmission rate is reduced in step S53, and the coding rate is reduced in step S55, and the number of redundant packets is increased. This is because, since radio device 12 of radio devices 12 and 13 is stopped, the number of packets allocated to radio device 13 increases excessively, and therefore, the loss of packets transmitted by radio device 13 is reduced.
[0483] On the other hand, if the notification is not a stop notification (i.e., the notification is a start notification NOTF_start), the transmission rate is increased in step S57, and the coding rate is increased in step S59 to reduce redundant packets, so that wireless device 12, 13 can transmit many packets since wireless device 12, which had once stopped wireless communication, has started wireless communication again.
[0484] In the flowchart shown in FIG. 25, in step S41, instead of "determining whether radar has been detected," it is also possible to "determine whether a primary user performing wireless communication at a pre-authorized frequency has been detected," or to "determine whether the channel condition is poor."
[0485] In this case, when the busy rate of the channel is equal to or greater than the threshold value th_busy, it is determined that the "channel condition is bad," and when the busy rate of the channel is less than the threshold value th_busy, it is determined that the "channel condition is not bad."
[0486] Then, when it is determined in step S41 of the flowchart shown in FIG. 25 that a primary user performing wireless communication at a pre-authorized frequency has been detected, it is determined in step S52 of the flowchart shown in FIG. 26 that the notification is a stop signal, and then the above-mentioned steps S53 to S56 are executed sequentially. When it is determined in step S41 of the flowchart shown in FIG. 25 that a primary user performing wireless communication at a pre-authorized frequency has not been detected, it is determined in step S52 of the flowchart shown in FIG. 26 that the notification is not a stop notification (i.e., it is determined that the notification is a start notification NOTF_start), and then the above-mentioned steps S57 to S60 are executed sequentially.
[0487] Furthermore, when it is determined in step S41 of the flowchart shown in FIG. 25 that the channel conditions are poor, it is determined in step S52 of the flowchart shown in FIG. 26 that the notification is a stop signal, and then the above-mentioned steps S53 to S56 are executed sequentially; and when it is determined in step S41 of the flowchart shown in FIG. 25 that the channel conditions are not poor, it is determined in step S52 of the flowchart shown in FIG. 26 that the notification is not a stop notification (i.e., it is determined that the notification is a start notification NOTF_start), and then the above-mentioned steps S57 to S60 are executed sequentially.
[0488] Therefore, by executing "determining whether a primary user performing wireless communication at a pre-authorized frequency has been detected" or "determining whether the channel conditions are poor" in step S41 of the flowchart shown in FIG. 25, the processing means 112 in the flowchart shown in FIG. 26 can control the wireless device 13 or the wireless devices 12, 13 to perform wireless communication well in accordance with "the fact that a primary user performing wireless communication at a pre-authorized frequency has been detected" or "the channel conditions are poor" (see steps S53 to S56 or steps S57 to S60).
[0489] In the transmitting device 1, the operation of detecting a radar, or the operation of detecting a primary user, or the operation of detecting a channel with a poor channel state by the wireless devices 12 and 13 is executed according to the flowchart shown in FIG. 25.
[0490] When the transmitting device 1 includes the first wireless device for transmission WD_TR_1 to the Qth wireless device for transmission WD_TR_Q, the number of wireless devices detecting a radar, or the number of wireless devices detecting a primary user, or the number of wireless devices detecting a channel with a poor channel state may be less than the total number Q of the first wireless device for transmission WD_TR_1 to the Qth wireless device for transmission WD_TR_Q. Generally, it may be v (v is an integer satisfying 1 ≤ v < Q).
[0491] Therefore, in step S41 of FIG. 25, the first wireless device for transmission WD_TR_1 to the Qth wireless device for transmission WD_TR_Q determines whether it has detected a radar, or whether it has detected a primary user, or whether it has detected a channel with a poor channel state. And when v wireless devices for transmission among the first wireless device for transmission WD_TR_1 to the Qth wireless device for transmission WD_TR_Q determine that they have detected a radar, or have detected a primary user, or have detected a channel with a poor channel state, that is, when it is determined that a channel change is necessary in the v wireless devices for transmission, in step S42 of FIG. 25, it notifies the processing means 112 to stop the wireless communication.
[0492] Also, each of the v wireless devices for transmission executes a scan on all channels CH_1 to CH_12 in step S44 of FIG. 25, changes to the best - state channel that is not being used by other wireless devices by the method described above in step S45 of FIG. 25, and in step S46 of FIG. 25, notifies the processing means 112 of the information of the changed channel and the start notification NOTF_start indicating to start the wireless communication.
[0493] In the transmitting device 1, the operation of the processing means 112 in response to notifications from the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q is executed according to the flowchart shown in FIG.
[0494] In this case, if a notification is received from v transmitting radio devices among the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, the processing means 112 determines in step S52 that the notification is a stop notification, instructs the application 20 to lower the transmission rate in step S53, lowers the coding rate, which is the ratio at which encoded packet C is added to N packets to generate a combined packet, and increases the number of redundant packets in step S55, and stops allocating packets to the v transmitting radio devices that have received the stop notification, and allocates the packets that were allocated to the v transmitting radio devices to the other (Qv) transmitting radio devices.
[0495] Furthermore, in step S52, when it is determined that the notification is not a stop notification (that is, when it is determined that the notification is a start notification NOTF_start), the operation is as described above (see steps S57 to S60).
[0496] In the first embodiment, the operation of the transmitting device 1 may be realized by software. In this case, the transmitting device 1 includes a computer and radio devices 12 and 13 (or the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q). The computer 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. 15 (including the flowcharts shown in FIGS. 16 to 18), or a program Prog_B consisting of the steps of the flowchart shown in FIG. 26.
[0497] The computer (CPU) reads out the program Prog_A from the ROM and executes the read program Prog_A to transmit packets to the receiving device 2. The RAM performs the function of the buffer 111 described above. The computer (CPU) also reads out the program Prog_B from the ROM and executes the read program Prog_B to process notifications from either one of the radio devices 12 and 13 (or v transmitting radio devices among the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q).
[0498] Furthermore, the program Prog_A or the program Prog_B may be recorded on a recording medium such as a CD or a DVD and distributed. When a recording medium on which the program Prog_A is recorded is attached to a computer, the computer (CPU) reads and executes the program Prog_A from the recording medium and performs an operation of transmitting a packet to the receiving device 2. When a recording medium on which the program Prog_B is recorded is attached to a computer, the computer (CPU) reads and executes the program Prog_B from the recording medium and performs processing in response to a notification from one of the radio devices 12 and 13 (or v transmitting radio devices among the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q).
[0499] Therefore, a recording medium on which the program Prog_A or the program Prog_B is recorded is a computer-readable recording medium.
[0500] Furthermore, in the first embodiment, the operation of the receiving device 2 may be realized by software. In this case, the receiving device 2 includes a computer and radio devices 22 and 23 (or the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q). The computer includes a CPU, a ROM, and a RAM. The ROM stores a program Prog_C consisting of the steps of the flowchart shown in FIG. 19 (including the flowcharts shown in FIGS. 20 to 22), or a program Prog_D consisting of the steps of the flowchart shown in FIG. 24.
[0501] The computer (CPU) reads the program Prog_C from the ROM and executes the read program Prog_C to perform packet reception processing. The RAM fulfills the functions of the N buffer 212 and C buffer 213 described above. The computer (CPU) also reads the program Prog_D from the ROM and executes the read program Prog_D to perform channel connection between the radio units 22 and 23 of the receiving device 2 and the radio units 12 and 13 of the transmitting device 1, or between the first receiving radio unit WD_RV_1 to the Qth receiving radio unit WD_RV_Q of the receiving device 2 and the first transmitting radio unit WD_TR_1 to the Qth transmitting radio unit WD_TR_Q of the transmitting device 1.
[0502] Furthermore, the program Prog_C or the program Prog_D may be recorded on a recording medium such as a CD or a DVD and distributed. When a recording medium on which the program Prog_C is recorded is installed in a computer, the computer (CPU) reads the program Prog_C from the recording medium and executes it to perform packet reception processing. When a recording medium on which the program Prog_D is recorded is installed in a computer, the computer (CPU) reads the program Prog_D from the recording medium and executes it to perform channel connection between the radio units 22 and 23 of the receiving device 2 and the radio units 12 and 13 of the transmitting device 1, or between the first receiving radio units WD_RV_1 to Qth receiving radio units WD_RV_Q of the receiving device 2 and the first transmitting radio units WD_TR_1 to Qth transmitting radio units WD_TR_Q of the transmitting device 1.
[0503] Therefore, a recording medium on which the program Prog_C or the program Prog_D is recorded is a computer-readable recording medium.
[0504] [Embodiment 2] Fig. 27 is a schematic diagram of a communication system according to embodiment 2. Referring to Fig. 27, a communication system 10A according to embodiment 2 includes a transmission device 1A and a plurality of terminal devices 50. The transmission device 1A and the plurality of terminal devices 50 are arranged in a wireless communication space.
[0505] The transmitting device 1A broadcasts packets PKT, each containing an image in its payload, on channels CH_1 to CH_10 within the communication region CM_REG1 shown in FIG.
[0506] Furthermore, when any of the wireless devices 401 to 410 detects radar, or when any of the wireless devices 401 to 410 detects a primary user performing wireless communication at a pre-authorized frequency, or when it is determined that the channel condition of any of the channels CH_1 to CH_10 is poor, the transmitting device 1A changes the channel as described in embodiment 1.
[0507] The multiple terminal devices 50 consist of mobile bodies that move from outside the communication area CM_REG1 shown in Figure 2 towards the communication area CM_REG1, and when they pass through the communication area CM_REG2 and enter the communication area CM_REG1, they receive the packet PKT broadcast from the transmitting device 1A, perform reception processing (N packet reception processing, separation processing, decoding processing, and removal processing of information from already received packets) on the received packet, and transmit the packet after the reception processing (N packet reception processing, separation processing, decoding processing, and removal processing of information from already received packets) to an application (not shown).
[0508] In this case, each of the multiple terminal devices 50 performs carrier sensing on channels CH_1 to CH_10 within the communication region CM_REG2 and receives a packet PKT on at least one of the channels CH_1 to CH_10. Then, before entering the communication region CM_REG1, each of the multiple terminal devices 50 completes channel connection with the radio devices 401 to 410 of the transmitting device 1A by the above-mentioned method based on channel information CH_IF included in the packet PKT received on at least one of the channels CH_1 to CH_10.
[0509] Then, when each of the multiple terminal devices 50 enters the communication area CM_REG1, it receives packets PKT broadcast on channels CH_1 to CH_10 from the radios 401 to 410 of the transmitting device 1A while moving using its radio, performs reception processing (N packet reception processing, separation processing, decoding processing, and removal processing of information from already received packets) on the received packets PKT, and transmits the packets after the reception processing (N packet reception processing, separation processing, decoding processing, and removal processing of information from already received packets) to an application (not shown).
[0510] The transmitting device 1A includes base stations 41 to 45, radio devices 401 to 410, and a control device .
[0511] The base stations 41 to 45 are connected to a control device 46 via wired cables. The base stations 41 to 45 are arranged at different positions in communication spaces between the base stations 41 to 45 and a plurality of terminal devices 50 to which packets are transmitted so as to cover different communication spaces.
[0512] The base station 41 is connected to the wireless devices 401 and 402 via USB or PCIe. In this case, the base station 41 and the wireless devices 401 and 402 are an integrated physical device. The base station 41 is also connected to the wireless devices 401 and 402 via a wired LAN. In this case, the base station 41 and the wireless devices 401 and 402 are separate devices.
[0513] The base station 42 is connected to the radio devices 403 and 404 by the same connection method as the base station 41 and the radio devices 401 and 402. The base station 43 is connected to the radio devices 405 and 406 by the same connection method as the base station 41 and the radio devices 401 and 402. The base station 44 is connected to the radio devices 407 and 408 by the same connection method as the base station 41 and the radio devices 401 and 402. The base station 45 is connected to the radio devices 409 and 410 by the same connection method as the base station 41 and the radio devices 401 and 402.
[0514] The wireless devices 401 to 410 broadcast packets on channels CH_1 to CH_10, respectively.
[0515] The control device 46 receives individual packets PKT_N constituting real-time traffic from the terminal device 40 via the network NW. The individual packets PKT_N constituting real-time traffic consist of packets containing P pictures in their payloads and packets containing I pictures in their payloads, as shown in Fig. 5. The individual packets PKT_N constituting real-time traffic consist of, for example, broadcasts that transmit the same data to multiple terminal devices 50 simultaneously.
[0516] The control device 46 transmits the individual packets PKT_N that do not constitute a burst, among the individual packets PKT_N received from the terminal device 40, to the plurality of base stations 41 to 45 as they are by wired communication.
[0517] Furthermore, the control device 46 generates coded packets by encoding the individual packets PKT_N that constitute a burst, among the individual packets PKT_N received from the terminal device 40, using the method described above. Then, the control device 46 allocates the coded packets PKT_C to the base stations 41 to 45 using a method described later, and transmits the allocated coded packets PKT_C to the base stations 41 to 45 via wired communication.
[0518] Furthermore, when any of the wireless devices 401 to 410 detects a radar, or when any of the wireless devices 401 to 410 detects a primary user performing wireless communication at a pre-authorized frequency, or when it is determined that the channel condition of any of the channels CH_1 to CH_10 is poor, the control device 46 changes the channel in any of the wireless devices 401 to 410, as described in the first embodiment.
[0519] When the base stations 41 to 45 receive the individual packet PKT_N from the control device 46, they broadcast the received individual packet PKT_N to a plurality of terminal devices 50 via wireless devices 401 and 402, wireless devices 403 and 404, wireless devices 405 and 406, wireless devices 407 and 408, and wireless devices 409 and 410, respectively.
[0520] In addition, when the base stations 41 to 45 receive the encoded packet PKT_C from the control device 46, they broadcast the received encoded packet PKT_C to multiple terminal devices 50 via radio devices 401 and 402, radio devices 403 and 404, radio devices 405 and 406, radio devices 407 and 408, and radio devices 409 and 410, respectively.
[0521] Furthermore, when the base stations 41 to 45 receive the combined packet from the control device 46, they broadcast the received combined packet to multiple terminal devices 50 via wireless devices 401 and 402, wireless devices 403 and 404, wireless devices 405 and 406, wireless devices 407 and 408, and wireless devices 409 and 410, respectively.
[0522] When the base station 41 broadcasts a packet PKT (any of a single packet PKT_N, a concatenated packet PKT_N / PKT_C, and an encoded packet PKT_C) to a plurality of terminal devices 50, the base station 41 generates channel information CH_IF indicating that channels CH_1 to CH_10 are channels in the radio devices 401 to 410, respectively, and stores the generated channel information CH_IF in Ch_If (see FIG. 6) of Packet Info (or Coded Info) of the packet PKT to generate a transmission packet PKT(CH_IF).Then, the base station 41 outputs the transmission packet PKT(CH_IF) to the radio devices 401 and 402.
[0523] When base station 42 broadcasts a packet PKT (either a single packet PKT_N, a combined packet PKT_N / PKT_C, or an encoded packet PKT_C) to multiple terminal devices 50, base station 42 generates a transmission packet PKT(CH_IF) in the same manner as base station 41, and outputs the generated transmission packet PKT(CH_IF) to radio devices 403, 404.
[0524] When the base station 43 broadcasts a packet PKT (any of a single packet PKT_N, a combined packet PKT_N / PKT_C, and an encoded packet PKT_C) to a plurality of terminal devices 50, the base station 43 generates a transmission packet PKT(CH_IF) in the same manner as the base station 41, and outputs the generated transmission packet PKT(CH_IF) to the radio devices 405 and 406.
[0525] When the base station 44 broadcasts a packet PKT (either a single packet PKT_N, a combined packet PKT_N / PKT_C, or an encoded packet PKT_C) to multiple terminal devices 50, the base station 44 generates a transmission packet PKT(CH_IF) in the same manner as the base station 41, and outputs the generated transmission packet PKT(CH_IF) to the radio devices 407, 408.
[0526] When the base station 45 broadcasts a packet PKT (either a single packet PKT_N, a combined packet PKT_N / PKT_C, or an encoded packet PKT_C) to multiple terminal devices 50, the base station 45 generates a transmission packet PKT(CH_IF) in the same manner as the base station 41, and outputs the generated transmission packet PKT(CH_IF) to the radio devices 409, 4010.
[0527] The wireless devices 401 and 402 receive a transmission packet PKT(CH_IF) from the base station 41, and broadcast the received transmission packet PKT(CH_IF) to a plurality of terminal devices 50 on channels CH_1 and CH_2, respectively.
[0528] The radio devices 403 and 404 receive a transmission packet PKT(CH_IF) from the base station 42, and broadcast the received transmission packet PKT(CH_IF) to a plurality of terminal devices 50 on channels CH_3 and CH_4, respectively.
[0529] The radio devices 405 and 406 receive a transmission packet PKT(CH_IF) from the base station 43, and broadcast the received transmission packet PKT(CH_IF) to a plurality of terminal devices 50 on channels CH_5 and CH_6, respectively.
[0530] The radio devices 407 and 408 receive a transmission packet PKT(CH_IF) from the base station 44, and broadcast the received transmission packet PKT(CH_IF) to a plurality of terminal devices 50 on channels CH_7 and CH_8, respectively.
[0531] The radio devices 409 and 410 receive a transmission packet PKT(CH_IF) from the base station 45, and broadcast the received transmission packet PKT(CH_IF) to a plurality of terminal devices 50 on channels CH_9 and CH_10, respectively.
[0532] When the base station 41 receives the allocated number of packets PKT in sequence from the control device 46, it allocates the allocated number of packets PKT to the radio devices 401 and 402 by the round robin transmission method or multiplex transmission method described above.
[0533] When the base station 42 receives the allocated number of packets PKT in sequence from the control device 46, it allocates the allocated number of packets PKT to the radio devices 403 and 404 by the round robin transmission method or multiplex transmission method described above.
[0534] When the base station 43 receives the allocated number of packets PKT in sequence from the control device 46, it allocates the allocated number of packets PKT to the radio devices 405 and 406 by the round robin transmission method or multiplex transmission method described above.
[0535] When the base station 44 receives the allocated number of packets PKT in sequence from the control device 46, it allocates the allocated number of packets PKT to the radio devices 407 and 408 by the round robin transmission method or multiplex transmission method described above.
[0536] When the base station 45 receives the allocated number of packets PKT in sequence from the control device 46, it allocates the allocated number of packets PKT to the radio devices 409, 410 by the round robin transmission method or multiplex transmission method described above.
[0537] Radio devices 401 and 402 broadcast packets allocated by base station 41 to multiple terminal devices 50 on channels CH_1 and CH_2, respectively. Radio devices 403 and 404 broadcast packets allocated by base station 42 to multiple terminal devices 50 on channels CH_3 and CH_4, respectively. Radio devices 405 and 406 broadcast packets allocated by base station 43 to multiple terminal devices 50 on channels CH_5 and CH_6, respectively. Radio devices 407 and 408 broadcast packets allocated by base station 44 to multiple terminal devices 50 on channels CH_7 and CH_8, respectively. Radio devices 409 and 410 broadcast packets allocated by base station 45 to multiple terminal devices 50 on channels CH_9 and CH_10, respectively.
[0538] When any of the radio devices 401 to 410 detects radar, or detects a primary user performing wireless communication at a pre-authorized frequency, or determines that the channel conditions of any of the channels CH_1 to CH_10 are poor, the base stations 41 to 45 transmit to the control device 46 via wired communication a notification NOTF_1 indicating that radar has been detected, a notification NOTF_2 indicating that a primary user performing wireless communication at a pre-authorized frequency has been detected, or a notification NOTF_3 indicating that the channel conditions of any of the channels CH_1 to CH_10 are poor.
[0539] Furthermore, when any of the base stations 41 to 45 receives an instruction INST from the control device 46 to change the channel of any of the wireless devices 401 to 410, the base station controls any of the wireless devices 401 to 410 to change the channel.
[0540] Fig. 28 is a schematic diagram of the control device 46 shown in Fig. 27. Referring to Fig. 28, the control device 46 includes a receiving means 461, a processing means 462, a buffer 463, and a transmitting means 464.
[0541] The receiving means 461 receives the individual packet PKT_N from the terminal device 40 via the network NW, and outputs the received individual packet PKT_N to the processing means 462 .
[0542] The receiving means 461 receives from the base stations 41 to 45 a notification NOTF_1 indicating that a radar has been detected, or a notification NOTF_2 indicating that a primary user performing wireless communication at a pre-authorized frequency has been detected, or a notification NOTF_3 indicating that the channel conditions of one of the channels CH_1 to CH_10 are poor, and outputs the received notification NOTF_1, notification NOTF_2, or notification NOTF_3 to the processing means 462.
[0543] The processing means 462 determines the number N_ALC of packets (single packets PKT_N, concatenated packets PKT_N / PKT_C, and encoded packets PKT_C) to be allocated to each base station 41 to 45 using a method described below, and outputs the determined number N_ALC to the transmitting means 464.
[0544] Furthermore, the processing means 462 receives an individual packet PKT_N from the receiving means 461. If the received individual packet PKT_N is a packet that does not constitute a burst, the processing means 462 copies the individual packet PKT_N to a buffer 463 and outputs the original individual packet PKT_N to the transmitting means 464.
[0545] On the other hand, when the individual packet PKT_N received from the receiving means 461 is a packet that constitutes a burst, the processing means 462 copies the individual packet PKT_N to the buffer 463. Then, the processing means 462 reads out the individual packet PKT_N stored in the buffer 463 and encodes the read individual packet PKT_N by the method described above to generate an encoded packet PKT_C. Thereafter, the processing means 462 transmits the encoded packet PKT_C by one of the following two methods.
[0546] [How to send encoded packets] (I) The processing means 462 generates a combined packet PKT_N / PKT_C by attaching the encoded packet PKT_C, which was generated before the individual packet PKT_N received from the receiving means 461 was copied to the buffer 463, to the individual packet PKT_N received from the receiving means 461, and outputs the generated combined packet PKT_N / PKT_C to the transmitting means 464. (II) The processing means 462 copies the individual packet PKT_N received from the receiving means 461 to the buffer 463 and then outputs the generated encoded packet PKT_C to the transmitting means 464.
[0547] When the processing means 462 receives from the receiving means 461 a notification NOTF_1 indicating that radar has been detected, or a notification NOTF_2 indicating that a primary user performing wireless communication at a pre-authorized frequency has been detected, or a notification NOTF_3 indicating that the channel conditions of one of channels CH_1 to CH_10 are poor, the processing means 462 transmits an instruction INST to one of the base stations 41 to 45 via the transmitting means 464 to change the channel in the radio device (any of the radio devices 401 to 410) that detected the radar, or the radio device (any of the radio devices 401 to 410) that detected the primary user performing wireless communication at a pre-authorized frequency, or the radio device (any of the radio devices 401 to 410) that detected the poor channel conditions of one of channels CH_1 to CH_10.
[0548] The transmitting means 464 receives from the processing means 462 the number N_ALC of packets (single packets PKT_N, combined packets PKT_N / PKT_C, and encoded packets PKT_C) to be allocated to each of the base stations 41 to 45.
[0549] Then, when the transmitting means 464 receives a packet PKT (either an individual packet PKT_N, a combined packet PKT_N / PKT_C, or an encoded packet PKT_C) from the processing means 462, it transmits the packet PKT (either an individual packet PKT_N, a combined packet PKT_N / PKT_C, or an encoded packet PKT_C) received from the processing means 462 to the base stations 41 to 45 via wired communication, depending on the number N_ALC of packets PKT to be allocated to each base station 41 to 45.
[0550] [Packet allocation method] The processing means 462 determines the number N_ALC of packets (single packets PKT_N, concatenated packets PKT_N / PKT_C, and encoded packets PKT_C) to be allocated to each of the base stations 41 to 45 by one of the following allocation methods (A) to (C). (A) The number N_ALC of packets (single packets PKT_N, concatenated packets PKT_N / PKT_C, and encoded packets PKT_C) to be allocated to each of the base stations 41 to 45 is made uniform. (B) The number N_ALC of packets (single packets PKT_N, concatenated packets PKT_N / PKT_C, and encoded packets PKT_C) to be allocated to each of the base stations 41 to 45 is dynamically determined. (C) The number N_ALC of packets (single packet PKT_N, concatenated packet PKT_N / PKT_C, or encoded packet PKT_C) to be allocated to each of the base stations 41 to 45 is determined according to the density of neighboring base stations around each of the base stations 41 to 45.
[0551] [Packet allocation method (A)] Fig. 29 is a schematic diagram of correspondence table TBL1. Referring to Fig. 29, correspondence table TBL1 includes base stations and the number of allocated packets. The base stations and the number of allocated packets are associated with each other. The number of allocated packets corresponding to base stations 41 to 45 is the same number N_ALC.
[0552] When the processing means 462 determines the number N_ALC by the packet allocation method (A), it creates a correspondence table TBL1 and outputs the created correspondence table TBL1 to the transmission means 464.
[0553] [Packet Allocation Method (B)] When determining the number N_ALC by the packet allocation method (B), the processing means 462 determines the packet error rate PER between all terminal devices 50 and all base stations 41 to 45. j,s Manage the packet error rate PER j,s In the above, "j" is an argument representing each of the base stations 41 to 45, and "s" is an argument representing the terminal device 50.
[0554] The receiving means 461 of the control device 46 receives the base station AP j (one of the base stations 41 to 45) j Number of packets PKT sent by N_TR j and the number N_RCV of received packets PKT measured in each terminal device 50 in the most recent period ("the most recent" refers to a period from 1 second to 30 seconds ago, typically 10 seconds ago, based on the current time). s and the number of received and transmitted N_TR j and the number of received messages N_RCV s and are output to the processing means 462.
[0555] The processing means 462 receives the number of transmissions N_TR from the receiving means 461. j and the number of received messages N_RCV s Then, the processing means 462 receives the number of receptions N_RCV s Number of transmissions N_TR j Packet error rate PER by dividing by j,s Calculate.
[0556] Then, the processing means 462 calculates the number T of packets PKT to be allocated to each of the base stations 41 to 45 by the following formula: j Determine the combined CBN.
[0557]
number
[0558] In the formula (18), the formula (18B) is "the total number of expected receptions E_Total in the multiple terminal devices 50" s The condition is that "must be equal to or greater than the threshold E_Total_Threshold." The threshold E_Total_Threshold is, for example, R1·N k where R1 is a real number greater than or equal to 1.0 (e.g., 1,5), and N k is the number of individual packets PKT_N included in the coded packet PKT_C. In addition, in equation (18A), "AP" represents the set of base stations 41 to 45.
[0559] The number of packets PKT is calculated by equation (18). j Determining the combination CBN corresponds to allocating packets to the plurality of base stations 41 to 45 so that the total number of packets transmitted by all of the plurality of base stations 41 to 45 is minimized.
[0560] Fig. 30 is a schematic diagram of correspondence table TBL2. Referring to Fig. 30, correspondence table TBL2 includes base stations and the number of allocated packets. The base stations and the number of allocated packets are associated with each other. Number of allocated packets N_ALC 41 ~N_ALC 45 are associated with the base stations 41 to 45, respectively. 41 ~N_ALC 45 is the CBN (T j (combination of).
[0561] The processing means 462 calculates the number T of packets PKT to be allocated to each of the base stations 41 to 45 by using equation (18). j When the combination CBN is determined, a correspondence table TBL2 is created and the created correspondence table TBL2 is output to the transmitting means 464.
[0562] In the packet allocation method (B), the processing means 462 may calculate the packet error rate PER based on the received signal strength RSSI of the signals from the base stations 41 to 45 in the terminal device 50. j,s In this case, the processing means 462 calculates the packet error rate PER j,s by the following method.
[0563] The processing means 462 holds threshold values RSSI_THRE_1 and RSSI_THRE_2. The threshold value RSSI_THRE_1 is, for example, -80 dBm, and the threshold value RSSI_THRE_2 is, for example, -60 dBm. The threshold values RSSI_THRE_1 and RSSI_THRE_2 are not limited to these values, as long as the threshold value RSSI_THRE_1 is smaller than the threshold value RSSI_THRE_2 (that is, the relationship RSSI_THRE_1 < RSSI_THRE_2 is satisfied).
[0564] The processing means 462 calculates the packet error rate PER j,s by Equation (19) based on the received signal strength RSSI from the base station j in the terminal device s. j,s In more detail, when the received signal strength RSSI
[0565] is smaller than the threshold value RSSI_THRE_1, the processing means 462 calculates the packet error rate PER j,s by Equation (19A). When the received signal strength RSSI j,s is greater than or equal to the threshold value RSSI_THRE_1 and smaller than the threshold value RSSI_THRE_2, the processing means 462 calculates the packet error rate PER j,s by Equation (19B). When the received signal strength RSSI j,s is greater than or equal to the threshold value RSSI_THRE_2, the processing means 462 calculates the packet error rate PER j,s by Equation (19C). j,s j,s j,s In this case, the processing means 462 calculates the packet error rate PER by Equation (19C).
[0566]
Equation
[0567] [Packet Allocation Method (C)] Each of the base stations 41 to 45 monitors signals from base stations located in its vicinity, measures the received signal strength RSSI when receiving a signal from the base station located in its vicinity, and transmits the measured received signal strength RSSI to the control device 46.
[0568] The receiving means 461 of the control device 46 receives the received signal strength RSSI from each of the base stations 41 to 45 and outputs the received received signal strength RSSI to the processing means 462.
[0569] When the processing means 462 of the control device 46 receives the received signal strength RSSI of each base station 41 to 45 from the receiving means 461, it calculates the number X of surrounding base stations whose received signal strength is -60 dBm or more based on the received signal strength RSSI. j and the number Y of surrounding base stations with received signal strength between -80dBm and -60dBm. j and detects.
[0570] Then, the processing means 462 calculates the number of packets T to be allocated to each of the base stations 41 to 45 by the following formula: j Calculate.
[0571]
number
[0572] Equation (20C) expresses the number of packets T j must be equal to or greater than a minimum value T_Min, where T_Min is an integer equal to or greater than 1. In addition, a and b in formula (20A) are real numbers between 0 and 1, and have the relationship a>b. Furthermore, R2 in formula (20B) is, for example, 1.2.
[0573] The number of base stations around one base station is N APWhen a base station receives signals from surrounding base stations, if all of the received signal strengths (RSSI) are -60 dBm or higher, then Y j = 0, the denominator of equation (20A) is aX j This becomes:
[0574] In addition, when one base station receives signals from surrounding base stations, if all of the received signal strengths (RSSI) are between -80 dBm and -60 dBm, then X j = 0, the denominator of equation (20A) is bY j This becomes:
[0575] Furthermore, when the received signal strength RSSI when one base station receives signals from some of the surrounding base stations is -60 dBm or more, and when the received signal strength RSSI when one base station receives signals from the remaining surrounding base stations is -80 dBm to -60 dBm, the denominator of equation (20A) is aX j +bY j This becomes:
[0576] The denominator of equation (20A) is aX j When the denominator of equation (20A) is bY j Compared with the case where a>b and X j =Y j =N AP Therefore, aX j >by j Therefore, T j is smaller when all received signal strengths RSSI when one base station receives signals from surrounding base stations are -60 dBm or higher than when all received signal strengths RSSI when one base station receives signals from surrounding base stations are -80 dBm to -60 dBm.
[0577] The denominator of equation (20A) is aX j When the denominator of equation (20A) is aX j +bY j Compare with the case where the denominator of equation (20A) is aX j In this case, the denominator of equation (20A) is aX j =aN APThis becomes:
[0578] On the other hand, the denominator of equation (20A) is aX j +bY j If X j +Y j =N AP holds, so the denominator of equation (20A) is aX j +bY j =aN AP +(ba)Y j As a result, since a>b, (ba)Y j becomes negative, and aX j +bY j is aN AP will be smaller than
[0579] Next, the denominator of equation (20A) is bY j When the denominator of equation (20A) is aX j +bY j Compare with the case where the denominator of equation (20A) is bY j In this case, the denominator of equation (20A) is bY j =bN AP This becomes:
[0580] On the other hand, the denominator of equation (20A) is aX j +bY j If X j +Y j =N AP holds, so the denominator of equation (20A) is aX j +bY j =bN AP +(ab)X j As a result, since a>b, (ab)X j becomes a positive value, and aX j +bY j is bN AP becomes larger than
[0581] Therefore, the denominator of equation (20A) is largest when all of the received signal strengths RSSI when one base station receives signals from surrounding base stations are -60 dBm or higher, is second largest when the received signal strengths RSSI when one base station receives signals from some of the surrounding base stations are -60 dBm or higher and the received signal strengths RSSI when one base station receives signals from the remaining surrounding base stations are -80 dBm to -60 dBm, and is smallest when all of the received signal strengths RSSI when one base station receives signals from surrounding base stations are -80 dBm to -60 dBm.
[0582] The above can be summarized as shown in Table 4.
[0583] [Table 4]
[0584] In Table 4, the density of neighboring base stations is the number of base stations whose received signal strength RSSI at a single base station is -80 dBm or higher. The density of neighboring base stations is highest when all received signal strength RSSIs are -60 dBm or higher, and lowest when all received signal strength RSSIs are between -80 and -60 dBm. This is because the larger the received signal strength RSSI, the more neighboring base stations there are near a single base station, and the smaller the received signal strength RSSI, the fewer neighboring base stations there are near a single base station.
[0585] As shown in Table 4, the density of surrounding base stations is highest when all of the received signal strengths RSSI when a base station receives signals from surrounding base stations are -60 dBm or higher, second highest when the received signal strengths RSSI when a base station receives signals from some of the surrounding base stations are -60 dBm or higher and the received signal strengths RSSI when a base station receives signals from the remaining surrounding base stations are -80 dBm to -60 dBm, and lowest when all of the received signal strengths RSSI when a base station receives signals from surrounding base stations are -80 dBm to -60 dBm.
[0586] Then, the number of packets to be transmitted to one base station is T j is lowest when all received signal strengths RSSI when one base station receives signals from surrounding base stations are -60 dBm or higher, second lowest when received signal strengths RSSI when one base station receives signals from some of the surrounding base stations are -60 dBm or higher and received signal strengths RSSI when one base station receives signals from the remaining surrounding base stations are -80 dBm to -60 dBm, and highest when all received signal strengths RSSI when one base station receives signals from surrounding base stations are -80 dBm to -60 dBm.
[0587] Therefore, in process 462, when the density of neighboring base stations is the first density, the number of packet transmissions T j is determined to be a first value, and when the density of the surrounding base stations is a second density lower than the first density, the number of packet transmissions T j to a second value greater than the first value.
[0588] 31 is a schematic diagram of the correspondence table TBL3. Referring to FIG. 31, the correspondence table TBL3 has the same structure as the correspondence table TBL2. In the correspondence table TBL3, N_ALC 41 ~N_ALC 45 Each of the T calculated by Eq. (20) j It consists of:
[0589] The processing means 462 calculates the number T of packets PKT to be allocated to each of the base stations 41 to 45 by using equation (20). j When the correspondence table TBL3 is determined, the correspondence table TBL3 is created and output to the transmitting means 464.
[0590] Table 5 shows the relationship between the total number of base stations u, the number of wireless devices d connected to one base station, and the total number of wireless devices w (=u×d).
[0591] [Table 5]
[0592] The total number u of base stations is an integer equal to or greater than 2. This is because the u base stations are placed at mutually different positions so as to cover mutually different communication spaces between the base stations and the multiple terminal devices 50 that are the destinations of packets.
[0593] The number d of wireless devices connected to one base station is an integer equal to or greater than 2. This is because one base station must be able to allocate packets to d wireless devices using a round-robin transmission method.
[0594] When the total number u of base stations is u=2 and the number d of wireless devices connected to one base station is d=2, the total number w of wireless devices is w=4. In this case, the wireless devices in the transmitting device 1A consist of the first transmitting wireless device to the Qth (=4) transmitting wireless device.
[0595] Furthermore, when the total number u of base stations is u=2 and the number d of wireless devices connected to one base station is d=3, the total number w of wireless devices is w=6. In this case, the wireless devices in the transmitting device 1A are made up of the first transmitting wireless device WD_TR_1 to the Qth (=6) transmitting wireless device WD_TR_Q.
[0596] Similarly, when the total number u of base stations is u=2 and the number d of wireless devices connected to one base station is d=w_max / 2, the total number w of wireless devices is w=w_max. In this case, the wireless devices in the transmitting device 1A consist of the first transmitting wireless device WD_TR_1 to the Qth (=w_max) transmitting wireless device WD_TR_Q.
[0597] Similarly, when u=3,4,···,u_max, d=2,3,···,w_max / 3; d=2,3,···,w_max / 4;···; d=2,3,···,w_max / u_max, w=6,9,···,w_max; w=8,12,···,w_max;···; w=2×u_max,3×u_max,···,w_max, the radio devices in the transmitting device 1A consist of the first transmitting radio device WD_TR_1 to the Qth (=w_max) transmitting radio device WD_TR_Q.
[0598] The maximum value u_max of the total number u of base stations and the maximum value w_max of the total number w of wireless devices are determined by the designer of the communication system 10A.
[0599] When the transmitting device 1A is equipped with the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, the base stations 41 to 45 generate channel information CH_IF indicating that the channels CH_1 to CH_Q are channels in the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively, and output the first packet PKT(CH_IF) to the Qth packet PKT(CH_IF) including the generated channel information CH_IF to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively.
[0600] The first packet PKT(CH_IF) through the Qth packet PKT(CH_IF) represent packets transmitted by the first transmitting radio device WD_TR_1 through the Qth transmitting radio device WD_TR_Q, respectively, and are different from the packets that each of the base stations 41 through 45 sequentially allocates to d transmitting radio devices (= d transmitting radio devices among the first transmitting radio device WD_TR_1 through the Qth transmitting radio device WD_TR_Q) connected to itself (= one of the base stations 41 through 45) using the round robin transmission method described in FIG. 13, and are also different from the packets that each of the base stations 41 through 45 allocates to all d transmitting radio devices (= transmitting radio devices consisting of some of the first transmitting radio device WD_TR_1 through the Qth transmitting radio device WD_TR_Q) connected to itself (= one of the base stations 41 through 45) using the multiplex transmission method described in FIG. 14.
[0601] In this way, the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q transmit the first packet PKT(CH_IF) to the Qth packet PKT(CH_IF) on the channels CH_1 to CH_Q, respectively. Therefore, in the terminal device 50, when one receiving radio device WD_RV_q among the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q receives the qth packet PKT(CH_IF) on the channel CH_q, the processing means 511 converts the channel information CH_IF (channels CH_1 to CH_Q are each 1 for transmitting radio device WD_RV_1 to CH_Q) included in the packet PKT(CH_IF) into the channel information CH_IF (channels CH_1 to CH_Q are each 1 for transmitting radio device WD_RV_1 to CH_Q). Based on the channel information indicating that the channels are channels in the first through Qth transmitting radio devices WD_TR_1 through WD_TR_Q of the transmitting device 1A, all of the channels CH_1 through CH_Q used by the first through Qth transmitting radio devices WD_TR_1 through WD_TR_Q of the transmitting device 1A to transmit packets can be detected, and the first through Qth receiving radio devices WD_RV_1 through WD_RV_Q can be controlled so that the first through Qth receiving radio devices WD_RV_1 through WD_RV_Q are channel connected to the first through Qth transmitting radio devices WD_TR_1 through WD_TR_Q of the transmitting device 1A, respectively.
[0602] Therefore, the terminal device 50 can complete channel connection between the first receiving radio device WD_RV_1 to the Qth receiving radio device WD_RV_Q and the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q of the transmitting device 1A before entering the communication region CM_REG1.
[0603] Fig. 32 is a schematic diagram of terminal device 50 shown in Fig. 27. Referring to Fig. 32, terminal device 50 includes radio devices 501 to 510 and a receiver 51. Receiver 51 includes a processing means 511, an N buffer 512, and a C buffer 513.
[0604] The processing means 511 is connected to the wireless devices 501 to 510 via USB or PCIe. In this case, the receiver 51 and the wireless devices 501 to 510 are an integrated physical device. The processing means 511 is also connected to the wireless devices 501 to 510 via a wired LAN. In this case, the receiver 51 and the wireless devices 501 to 510 are separate devices.
[0605] The radio devices 501 to 510 are provided corresponding to the radio devices 401 to 410 of the transmitting device 1A, respectively. The radio devices 501 to 510 receive packets PKT from the radio devices 401 to 410 of the transmitting device 1A on channels CH_1 to CH_10, respectively, and output the received packets PKT to processing means 511.
[0606] When the processing means 511 receives a packet from at least one of the radio devices 501 to 510 while the terminal device 50 is moving toward the communication region CM_REG1 (see Figure 2), it controls the radio devices 501 to 510 to complete a channel connection with the radio devices 401 to 410 of the transmitting device 1A based on the channel information CH_IF included in the received packet.
[0607] Furthermore, when the processing means 511 receives a packet PKT_N(z) from the wireless devices 501 to 510, it executes the above-described N packet reception process on the packet PKT_N(z). In this case, in the N packet reception process, if the packet PKT_N(z) has not yet been received, the processing means 511 stores the packet PKT_N(z) in the N buffer 512. Then, the processing means 511 transmits all packets PKT_N(z) stored in the N buffer 512 to an application (not shown).
[0608] On the other hand, when the processing means 511 receives a transmission packet PKT_TR from the radio devices 501 to 510, if the transmission packet PKT_TR includes an encoded packet PKT_C and an individual packet PKT_N, the processing means 511 performs a separation process to separate the encoded packet PKT_C from the individual packet PKT_N. Then, the processing means 511 performs an N-packet reception process on the separated individual packet PKT_N. Furthermore, the processing means 511 performs a removal process to remove information about the individual packet PKT_N already stored in the N buffer 512 (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 511 stores the encoded packet PKT_C' in the C buffer 513. Thereafter, the processing means 511 performs the above-mentioned decoding process on the encoded packet PKT_C' stored in the C buffer 513. In this case, the processing means 511 executes N packet reception processing on the single packet PKT_N decoded in the decoding processing.
[0609] When the transmission packet PKT_TR includes only the encoded packet PKT_C, the processing means 511 does not perform the above-mentioned separation process, but instead performs the above-mentioned removal process and decoding process in sequence.
[0610] Fig. 33 is a flowchart for explaining the operation of the transmitting device 1A shown in Fig. 27. Referring to Fig. 33, when the operation of the transmitting device 1A starts, the control device 46 determines the number of packets to be allocated to each of the base stations 41 to 45 (step S101). In this case, the control device 46 determines the number of packets to be allocated to each of the base stations 41 to 45 by one of the packet allocation methods (A) to (C) described above.
[0611] After step S101, the control device 46 receives packets from the terminal device 40 via the network NW (step S102). Thereafter, the control device 46 transmits packets to the plurality of base stations 41 to 45 by wired communication according to the number of packets determined in step S101 (step S103).
[0612] The base stations 41 to 45 receive the packets from the control device 46 (step S104). Then, the base stations 41 to 45 broadcast packets including channel information CH_IF indicating channels in all the radio devices used to transmit the packets to the terminal devices 50 via the radio devices 401 to 410 (step S105).
[0613] Then, the control device 46 determines whether or not to newly determine the number of packets to be allocated to each of the base stations 41 to 45 (step S106). In this case, when the control device 46 determines the number of packets to be allocated to each of the base stations 41 to 45 by either the above-mentioned packet allocation method (A) or (C), it determines not to newly determine the number of packets to be allocated to each of the base stations 41 to 45, and when the control device 46 determines the number of packets to be allocated to each of the base stations 41 to 45 by the above-mentioned packet allocation method (B), it determines to newly determine the number of packets to be allocated to each of the base stations 41 to 45.
[0614] If it is determined in step S106 that the number of packets to be allocated to each of the base stations 41 to 45 is not to be newly determined, the series of operations proceeds to step S102, and thereafter steps S102 to S106 are executed in sequence.
[0615] On the other hand, if it is determined in step S106 that the number of packets to be allocated to each of the base stations 41 to 45 is to be newly determined, the series of operations proceeds to step S101, and thereafter steps S101 to S106 are executed in sequence.
[0616] As long as the transmitting device 1A is driven, it repeatedly executes steps S101 to S106.
[0617] In the flowchart shown in Fig. 33, the detailed operation of step S105 is executed according to the flowchart shown in Fig. 16 or the flowchart shown in Fig. 17. In this case, the base stations 41 to 45 execute the flowchart shown in Fig. 16 or the flowchart shown in Fig. 17 in parallel, allocate packets to the radio devices connected to them (d transmitting radio devices connected to one base station) according to the round robin transmission method or the multiplex transmission method, and broadcast the packets to multiple terminal devices 50.
[0618] 16, the base stations 41 to 45 execute the flowchart shown in Fig. 16 d times each in the order of base station 41, base station 42, base station 43, base station 44, and base station 45. After executing the flowchart shown in Fig. 16 d times, base station 41 transmits to base station 42 the value g_d of g obtained when the flowchart shown in Fig. 16 has been executed d times and a signal S_d indicating that the flowchart shown in Fig. 16 has been executed d times.
[0619] When base station 42 receives value g_d and signal S_d from base station 41, it executes the flowchart shown in Fig. 16 using value g_d. Then, after executing the flowchart shown in Fig. 16 d times, base station 42 transmits value g_d and signal S_d to base station 43.
[0620] Thereafter, the base stations 41 to 45 change the base stations that execute the flowchart shown in FIG. 16 in a ring configuration, such as base station 41 → base station 42 → base station 43 → base station 44 → base station 45 → base station 41 → base station 42 →..., and execute the detailed operation of step S105 in FIG. 33 according to the flowchart shown in FIG. 16.
[0621] Furthermore, when each of the base stations 41 to 45 executes the flowchart shown in FIG. 17, each of the base stations 41 to 45 generates channel information CH_IF in step S71A, generates a transmission packet PKT(CH_IF) including the channel information CH_IF in step S72A, allocates the transmission packet PKT(CH_IF) to the first to dth transmission radio devices in accordance with a multiplex transmission method in step S73A, and in step S74A, the first to dth transmission radio devices transmit the transmission packet PKT(CH_IF) on channels CH_1 to CH_d, respectively.
[0622] Fig. 34 is a flowchart for explaining the detailed operation of step S101 shown in Fig. 33. Note that the flowchart shown in Fig. 34 is a flowchart for explaining the detailed operation of step S101 when the above-mentioned packet allocation method (B) is used.
[0623] 34, after "START" in FIG. 33 or in step S106, when it is determined that the number of packets to be allocated to each base station is to be newly determined, the processing means 462 of the control device 46 calculates the number N_RCV of packets received from all the base stations AP_1 to AP_J in all the terminal devices STA_1 to STA_S. 1,1 ~N_RCV 1,J ;N_RCV 2,1 ~N_RCV 2,J ;···;N_RCV S,1 ~N_RCV S,J and the number of packets transmitted by all base stations AP_1 to AP_J, T 1,1 ~T S,1 ;T 1,2 ~T S,2 ;···;T 1,J ~TS,J (step S101-1), where S is the total number of terminal devices 50, and J is the total number of base stations 41 to 45.
[0624] Then, the processing means 462 calculates the numbers T1 to T2 of transmitted coded packets from all the base stations AP_1 to AP_J. J is set to the same value T_Min (step S101-2).
[0625] Thereafter, the processing means 462 sets s=1 (step S101-3) and sets j=1 (step S101-4).
[0626] Subsequently, the processing means 462 calculates the number N_RCV of packets received by the terminal device STA_s from the base station AP_j. s,j is the number of packets transmitted from the base station AP_j to the terminal device STA_s. j,s Divide by PER to get the packet error rate j,s is calculated (step S101-5).
[0627] Then, the processing means 462 calculates the expected reception number E of the encoded packets that the terminal device STA_s will receive from the base station AP_j. j,s (=T j,s PER j,s ) is calculated (step S101-6).
[0628] Then, the processing means 462 calculates E_Total_j_s=E_Total_j_s+E j,s The expected number E_Total_j_s of packets received from the base station AP_j at the terminal device STA_s is updated by the above (step S101-7).
[0629] Then, the processing means 462 determines whether j=J or not (step S101-8). If it is determined in step S101-8 that j=J is not true, the processing means 462 sets j=j+1 (step S101-9). Thereafter, the series of operations proceeds to step S101-5, and steps S101-5 to S101-9 are repeatedly executed until it is determined in step S101-8 that j=J.
[0630] Then, when it is determined in step S101-8 that j=J, the processing means 462 acquires the total sum E_Total_s of the number of packets expected to be received by the terminal device STA_s from all the base stations AP_1 to AP_J (step S101-10).
[0631] Thereafter, the processing means 462 determines whether s=S (step S101-11).
[0632] If it is determined in step S101-11 that s is not equal to S, the processing means 462 sets s to s+1 (step S101-12). After that, the series of operations proceeds to step S101-4, and steps S101-4 to S101-12 are repeatedly executed until it is determined in step S101-11 that s is equal to S.
[0633] Then, if it is determined in step S101-11 that s=S, the processing means 462 detects the minimum value E_Total_min among the total sums E_Total_1 to E_Total_S of the expected number of packets received from all base stations AP_1 to AP_J at all terminal devices STA_1 to STA_S (step S101-13).
[0634] Then, the processing means 462 determines whether the minimum value E_Total_min is equal to or greater than the threshold value E_Total_Threshold (step S101-14).
[0635] When it is determined in step S101-14 that the minimum value E_Total_min is not equal to or greater than the threshold value E_Total_Thres, the series of operations proceeds to step S101-1, and steps S101-1 to S101-14 are repeatedly executed until it is determined in step S101-14 that the minimum value E_Total_min is equal to or greater than the threshold value E_Total_Thres.
[0636] If it is determined in step S101-14 that the minimum value E_Total_min is equal to or greater than the threshold value E_Total_Threshold, the processing means 462 calculates the packet error rate PER for the terminal device STA_p when the minimum value E_Total_min is obtained. j,p The base station AP_q with the smallest ,number of transmitted coded packets from the base station AP_q is selected. q Increase by "1" (T q =T q +1) (step S101-15). After that, the series of operations proceeds to step S102 in FIG.
[0637] When step S101-7 is executed for the first time, E_Total_j_s=E_Total_j_s+E j,s T_Min is substituted for "E_Total_j_s" on the right side of the equation.
[0638] Furthermore, steps S101-5 to S101-9 are executed for all base stations AP_1 to AP_J, whereby the total number E_Total_s of expected receptions of encoded packets by one terminal device STA_s from all base stations AP_1 to AP_J is acquired (see step S101-10).
[0639] Furthermore, steps S101-4 to S101-12 are executed for all the terminal devices STA_1 to STA_S, thereby obtaining the totals E_Total_1 to E_Total_S of all the terminal devices STA_1 to STA_S (see step S101-13).
[0640] Furthermore, in step S101-13, when there are multiple minimum values among the total sums E_Total_1 to E_Total_S of the expected number of packets received from all base stations AP_1 to AP_J at all terminal devices STA_1 to STA_S, any minimum value among the multiple minimum values is detected as the minimum value E_Total_min.
[0641] Furthermore, in step S101-5, the received signal strength RSSI received by the terminal device STA_s from the base station AP_j is calculated. j,s Based on the equation (19), the packet error rate PER j,s may be calculated.
[0642] Fig. 35 is another flowchart for explaining the detailed operation of step S101 shown in Fig. 33. The flowchart shown in Fig. 35 is a flowchart for explaining the detailed operation of step S101 when the above-mentioned packet allocation method (C) is used.
[0643] Referring to Figure 35, after the "start" of Figure 33, the processing means 462 of the control device 46 receives received signal strengths RSSI_1 to RSSI_J (each of RSSI_1 to RSSI_J consists of the received signal strength when each base station receives a signal from a surrounding base station) at all base stations AP_1 to AP_J (step S101-21).
[0644] Then, the processing means 462 sets j=1 (step S101-22) and calculates the received signal strengths RSSI_1_j to RSSI_N AP _j(N AP is the total number of neighboring base stations of base station AP_j. j and the number of received signal strengths Y between -80 and -60 dBm j and are counted (step S101-23).
[0645] Thereafter, the processing means 462 j ,Y jBased on this, the number of packets to be allocated to the base station AP_j is determined by equation (20). j is calculated (step S101-24).
[0646] Then, the processing means 462 determines whether j=J (step S101-25).
[0647] If it is determined in step S101-25 that j is not equal to J, the processing means 462 sets j to j+1 (step S101-26). After that, the series of operations proceeds to step S101-23, and steps S101-23 to S101-26 are repeatedly executed until it is determined in step S101-25 that j is equal to J.
[0648] Then, in step S101-25, if it is determined that j=J, the processing means 462 calculates the numbers T1 to T2 of packets to be allocated to the base stations AP_1 to AP_J, respectively. J (Step S101-27). After that, the series of operations proceeds to Step S102 in FIG.
[0649] FIG. 36 is a flowchart for explaining the detailed operation of step S103 shown in FIG.
[0650] 36, after step S102 in FIG. 33, the processing means 462 of the control device 46 determines whether or not to transmit the encoded packet by Piggyback (step S103-1).
[0651] In step S103-1, when it is determined that the encoded packets are to be transmitted by Piggyback, the processing means 462 performs the process of J In response to the request, the packets are transmitted to the base stations AP_1 to AP_J (step S103-2).
[0652] On the other hand, when it is determined in step S103-1 that the encoded packets are not to be transmitted by Piggyback, the processing means 462 performs the process of dividing the numbers T1 to T J In response to the request, the packets are transmitted to the base stations AP_1 to AP_J (step S103-3).
[0653] After step S103-2 or step S103-3, the series of operations proceeds to step S104 in FIG.
[0654] FIG. 37 is a flowchart showing the "first flowchart" in step S103-2 of FIG.
[0655] The flowchart shown in Fig. 37 is the same as the flowchart shown in Fig. 15, except that step S7 is changed to step S14 and step S10 is changed to step S15. The flowchart shown in Fig. 37 is another flowchart for explaining the operation of the transmitting device 1A.
[0656] 37, when the operation of the transmitting device 1A is started, after the above-mentioned steps S1 and S2 "YES", S3, S4, S5 "YES", and S6 are sequentially executed, or after the above-mentioned steps S1 and S2 "YES", S3, S4, and S5 "NO", the processing means 462 J In response to the request, the packet is transmitted to the base stations AP_1 to AP_J (step S14). After that, the above-mentioned step S8 is executed, and then the series of operations proceeds to step S2.
[0657] Then, after it is determined in step S2 that no packets have arrived, the processing means 462 executes the above-mentioned step S9. When it is determined in step S9 that T milliseconds have elapsed since the last packet arrived, the processing means 462 counts the numbers T1 to T JThe base station AP_1 transmits the encoded packets to the base stations AP_1 to AP_J in response to the received encoded packets (step S15). Thereafter, steps S15, S11, and S12 are repeatedly executed until it is determined in step S11 that the number of transmitted encoded packets is K. When it is determined in step S11 that the number of transmitted encoded packets is K, step S13 is executed, and then the series of operations proceeds to step S2.
[0658] FIG. 38 is a flowchart showing the "second flowchart" in step S103-3 of FIG.
[0659] The flowchart shown in Fig. 38 is the same as the flowchart shown in Fig. 37 except that step S6 in the flowchart shown in Fig. 37 is replaced with step S16 and step S8 is deleted. The flowchart shown in Fig. 38 is yet another flowchart for explaining the operation of the transmitting device 1A.
[0660] Referring to Figure 38, when operation of the transmitting device 1A starts, after the above-mentioned steps S1 and S2 are executed in sequence as "YES" and S3, S4, and S5 are executed in sequence, the processing means 462 generates an encoded packet from the packet stored in the buffer 463 (step S16).
[0661] Then, when it is determined in step S5 that the encoded packet is not to be transmitted, or after step S16, the above-mentioned step S14 is executed, and then the series of operations proceeds to step S2.
[0662] In the flowchart shown in FIG. 37, the detailed operation of step S8 is executed according to the flowchart shown in FIG. 18, and in the flowchart shown in FIG. 38, the detailed operation of step S16 is executed according to the flowchart shown in FIG.
[0663] The flowcharts shown in FIGS. 37 and 38 are repeatedly executed as long as the transmission device 1A is driven.
[0664] FIG. 39 is a diagram for explaining yet another method of transmitting packets that make up a burst.
[0665] In FIG. 39, a method of transmitting packets constituting a burst will be described for the case where an encoded packet PKT_C is generated and transmitted to a plurality of terminal devices 50 each time each packet constituting a burst arrives at the transmitting device 1A.
[0666] 39, when packet P1 arrives at transmission device 1A, processing means 462 copies packet P1 to buffer 463. Then, processing means 462 retrieves packet P1 from buffer 463 and encodes the retrieved packet P1 using the method described above to generate encoded packet C1. Thereafter, processing means 462 outputs encoded packet C1 to transmission means 464 and transmits encoded packet C1 alone to base stations 41-45.
[0667] Furthermore, when packet P2 arrives at transmitting device 1A, processing means 462 copies packet P2 to buffer 463, retrieves packets P1 and P2 from buffer 463, and encodes the retrieved packets P1 and P2 using the method described above to generate encoded packet C2. Then, processing means 462 outputs encoded packet C2 to transmitting means 464, and transmits encoded packet C2 alone to base stations 41-45.
[0668] Furthermore, when packet P3 arrives at transmitting device 1A, processing means 462 copies packet P3 to buffer 463, retrieves packets P1, P2, and P3 from buffer 463, and encodes the retrieved packets P1, P2, and P3 using the method described above to generate encoded packet C3. Then, processing means 462 outputs encoded packet C3 to transmitting means 464, which transmits encoded packet C3 alone to base stations 41 to 45.
[0669] Furthermore, when packet P4 arrives at transmitting device 1A, processing means 462 copies packet P4 to buffer 463, retrieves packets P1, P2, P3, and P4 from buffer 463, and encodes the retrieved packets P1, P2, P3, and P4 using the method described above to generate encoded packet C4. Then, processing means 462 outputs encoded packet C4 to transmitting means 464, which transmits encoded packet C4 alone to base stations 41-45.
[0670] Furthermore, when packet P5 arrives at transmitting device 1A, processing means 462 copies packet P5 to buffer 463, retrieves packets P1, P2, P3, P4, and P5 from buffer 463, and encodes the retrieved packets P1, P2, P3, P4, and P5 using the method described above to generate encoded packet C5. Then, processing means 462 outputs encoded packet C5 to transmitting means 464, which transmits encoded packet C5 alone to base stations 41-45.
[0671] Furthermore, when packet P6 arrives at transmitting device 1A, processing means 462 copies packet P6 to buffer 463, retrieves packets P1, P2, P3, P4, P5, and P6 from buffer 463, and encodes the retrieved packets P1, P2, P3, P4, P5, and P6 using the method described above to generate encoded packet C6. Then, processing means 462 outputs encoded packet C6 to transmitting means 464, which transmits encoded packet C6 alone to base stations 41-45.
[0672] Thereafter, the processing means 462 generates coded packets C7 to C9 and transmits the generated coded packets C7 to C9 to the base stations 41 to 45 individually.
[0673] In this way, the transmitting device 1A generates a coded packet PKT_C every time each packet constituting a burst arrives, and transmits the generated coded packet PKT_C to the base stations 41 to 45 individually.
[0674] Although not shown, the transmitting device 1A transmits each packet that does not constitute a burst to the base stations 41 to 45 as is (that is, without generating an encoded packet PKT_C).
[0675] In the flowchart shown in Figure 38, when a single packet PKT_N that does not constitute a burst arrives at the transmitting device 1A, it is determined in step S2 that the packet has arrived, and then steps S3 and S4 are executed sequentially, after which it is determined in step S5 that the encoded packet will not be transmitted, and the single packet PKT_N that does not constitute a burst is transmitted to multiple terminal devices 50 in steps S14 and S7.
[0676] On the other hand, as shown in FIG. 39, when packet P1 constituting a burst arrives at transmitting device 1A, it is determined in step S2 that the packet has arrived, and then steps S3 and S4 are executed sequentially, after which it is determined in step S5 that the encoded packet will be transmitted, and in step S16, the packet stored in buffer 463 is encoded using the method described above to generate encoded packet C1.
[0677] Then, in step S14, the coded packet PKT_C1 is transmitted to the base stations 41 to 45.
[0678] Furthermore, when packet P2 constituting the burst arrives at transmitting device 1A, it is determined in step S2 that the packet has arrived, and then steps S3 and S4 are executed sequentially, after which it is determined in step S5 that the encoded packet will be transmitted, and in step S16, the packet stored in buffer 463 is encoded using the method described above to generate encoded packet C2.
[0679] Then, in step S14, the coded packet PKT_C2 is transmitted to the base stations 41 to 45.
[0680] Furthermore, when packet P3 constituting the burst arrives at transmitting device 1A, it is determined in step S2 that the packet has arrived, and then steps S3 and S4 are executed sequentially, after which it is determined in step S5 that the encoded packet will be transmitted, and in step S16, the packet stored in buffer 463 is encoded using the method described above to generate encoded packet C3.
[0681] Then, in step S14, the encoded packet PKT_C3 is transmitted to the base stations 41 to 45.
[0682] Furthermore, in the same manner, each time packets P4 to P6 constituting the burst arrive at the transmitting device 1A, "YES" in step S2, step S3, step S4, "YES" in step S5, step S16 and step S14 are executed in sequence, and encoded packets PKT_C4 to C6 are transmitted in sequence to base stations 41 to 45.
[0683] Then, in step S7, if it is determined in step S2 that no packet has arrived after the encoded packet PKT_C6 has been transmitted to the terminal device 50, then in steps S15, S10 to S12, the encoded packets PKT_C7 to C9 shown in FIG. 39 are transmitted sequentially to the base stations 41 to 45 and also to the terminal device 50.
[0684] In this way, in the flowchart shown in Figure 38 (including the flowcharts shown in Figures 16 to 18), a single packet PKT_N that does not constitute a burst can be transmitted alone to base stations 41 to 45, and a single packet PKT_N that constitutes a burst can be coded and the coded packets C1 to C9 can be transmitted alone to base stations 41 to 45.
[0685] As described above, the transmitting device 1A transmits packets that do not constitute a burst to the terminal device 50 alone, and transmits packets that constitute a burst to the terminal device 50 as either a single packet PKT_N, an encoded packet PKT_C, or a combined packet PKT_N / PKT_C.
[0686] By transmitting (broadcasting) packets to the terminal device 50, the transmitting device 1A can obtain the following effects.
[0687] [Error rate improvement] By transmitting packets simultaneously from multiple base stations 41 to 45, the packet error rate can be reduced.
[0688] If any one of the plurality of base stations 41 to 45 transmits a packet, the packet transmission is successful, and therefore the total packet error rate PER_TOTAL is expressed by the following equation.
[0689]
number
[0690] In addition, s in the formula (21) is an argument indicating each terminal device 50, and PER s is the packet error rate of terminal device s.
[0691] From equation (21), the total packet error rate PER_TOTAL can be reduced as the number of terminal devices s increases.
[0692] [Noise and interference resistant] Even if some base stations are affected by noise or interference, packets can be transmitted from other distant base stations that are less affected, making the system more resistant to noise and interference.
[0693] [Low latency] The number of packet retransmissions or the coding rate can be reduced, resulting in low latency.
[0694] [No need to switch base stations] Since there is no need to switch base stations, there is no instantaneous interruption due to switching.
[0695] [Easy area expansion] By placing base stations along the working area, the working area can be expanded seamlessly, i.e., by simply increasing the number of base stations, the working area can be expanded.
[0696] In the flowchart shown in FIG. 36, when packets are transmitted to the base stations AP_1 to AP_J in step S103-2, the number of individual packets or combined packets PKT_N / PKT_C is T1 to T2 in step S14 of FIG. J 37, the coded packets PKT_C are transmitted to the base stations AP_1 to AP_J in the numbers T1 to T J The signals are transmitted to the base stations AP_1 to AP_J in response to the respective commands.
[0697] In the flowchart shown in FIG. 36, when packets are transmitted to the base stations AP_1 to AP_J in step S103-3, the number of individual packets or encoded packets PKT_C is T1 to T J 38, the coded packets PKT_C are transmitted to the base stations AP_1 to AP_J in the numbers T1 to T2. J The signals are transmitted to the base stations AP_1 to AP_J in response to the respective commands.
[0698] As multiple terminal devices 50 move, they receive packets broadcast by base stations AP_1 to AP_J, and perform the above-mentioned reception processing (N packet reception processing, separation processing, removal processing, and decoding processing) on the received packets in accordance with the flowchart shown in Figure 19 (including the flowcharts shown in Figures 20 to 22), and transmit the packets that have undergone reception processing (N packet reception processing, separation processing, removal processing, and decoding processing) to an application (not shown).
[0699] In the transmitting device 1A, the control device 46 transmits the single packets PKT_N that do not form a burst among the single packets PKT_N received from the terminal device 40 to the base stations AP_1 to AP_J, encodes the single packets PKT_N that form a burst to generate encoded packets PKT_C, and transmits the generated encoded packets PKT_C to the base stations AP_1 to AP_J by Piggyback or alone. The base stations AP_1 to AP_J broadcast any one of the single packets PKT_N, the combined packets PKT_N / PKT_C, and the encoded packets PKT_C received from the control device 46 to a plurality of terminal devices 50 using the wireless devices 401 to 410.
[0700] As a result, the base stations AP_1 to AP_J broadcast any one of the single packets PKT_N, the combined packets PKT_N / PKT_C, and the encoded packets PKT_C to a plurality of terminal devices 50 without synchronizing with each other.
[0701] Therefore, it is possible to cover a wide area without synchronizing between the base stations AP_1 to AP_J.
[0702] In the transmitting device 1A, the operations of the wireless devices 401 to 410 for detecting a radar, or detecting a primary user, or detecting a channel with a poor channel state are executed according to the flowchart shown in FIG. 25.
[0703] In this case, the number of wireless devices for detecting a radar, or the number of wireless devices for detecting a primary user, or the number of wireless devices for detecting a channel with a poor channel state may be less than the total number Q of the wireless devices 401 to 410, and generally, v (v is an integer satisfying 1 ≤ v < Q) may be sufficient.
[0704] Therefore, in step S41 of Fig. 25, the first through Qth transmitting radio devices WD_TR_1 through WD_TR_Q determine whether they have detected radar, whether they have detected a primary user, or whether they have detected a channel with poor channel conditions. When v transmitting radio devices among the first through Qth transmitting radio devices WD_TR_1 through WD_TR_Q determine that they have detected radar, whether they have detected a primary user, or whether they have detected a channel with poor channel conditions, that is, when they determine that they need to change channels in the v transmitting radio devices, they notify the processing means 462 of the termination of wireless communication via the base stations connected to the v transmitting radio devices in step S42 of Fig. 25.
[0705] Furthermore, in step S44 of FIG. 25, each of the v transmitting radio devices performs a scan on all channels CH_1 to CH_12, and in step S45 of FIG. 25, changes the channel to one that is not being used by other radio devices and is in the best condition, using the method described above, and in step S46 of FIG. 25, notifies the processing means 462 of information on the changed channel and a start notification NOTF_start indicating that wireless communication is to be started.
[0706] In the transmitting device 1A, the operation of the control device 46 in response to notifications from the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q is executed according to the flowchart shown in FIG.
[0707] In this case, if a notification is received from v transmitting radio devices among the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, the processing means 462 determines in step S52 that the notification is a stop notification, instructs the application 20 to lower the transmission rate in step S53, lowers the coding rate, which is the ratio at which encoded packet C is added to N packets to generate a combined packet, and increases the number of redundant packets in step S55, and stops allocating packets to the v transmitting radio devices that have received the stop notification, and allocates the packets that were allocated to the v transmitting radio devices to the other (Qv) transmitting radio devices.
[0708] Furthermore, in step S52, when it is determined that the notification is not a stop notification (that is, when it is determined that the notification is a start notification NOTF_start), the operation is as described above (see steps S57 to S60).
[0709] Furthermore, the operation of the terminal device 50 to establish channel connections with the radio devices 401 to 410 of the transmitting device 1A is executed according to the flowchart shown in Fig. 24. In this case, in step S33, the processing means 511 controls the radio devices 501 to 510 to scan the channels CH_1 to CH_10, respectively, and the radio devices 501 to 510 repeatedly execute steps S34 to S36 until it is determined in step S35 that a packet has been received on one channel. In this case, in step S34, the radio devices 501 to 510 execute scans on the channels CH_1 to CH_10, respectively, and when it is determined in step S35 that a packet has not been received on one channel, the radio devices 501 to 510 switch channels in step S36.
[0710] Then, in step S35, when it is determined that a packet has been received on one channel, the processing means 511 sequentially executes steps S37 and S38, and in step S39, a radio device among the radio devices 501 to 510 other than the radio device that received the packet executes a channel connection with the radio devices 401 to 410 of the transmitting device 1A on the channel CH_un.
[0711] In this case, assuming that the wireless devices 401 to 410 are the first transmitting wireless device WD_TR_1 to the Qth transmitting wireless device WD_TR_Q and the wireless devices 501 to 510 are the first receiving wireless device WD_RV_1 to the Qth receiving wireless device WD_RV_Q, when k receiving wireless devices among the first receiving wireless device WD_RV_1 to the Qth receiving wireless device WD_RV_Q receive k packets, the processing means 511 detects k pieces of channel information CH_IF included in the k packets received by the k receiving wireless devices in step S37, and calculates k packets based on the detected k pieces of channel information CH_IF. (Qk) channels CH_un different from the channel CH_r on which the packet was received are detected, and in step S38, channel connection control is performed to control the (Qk) receiving radios to channel connect to the (Qk) transmitting radios among the first transmitting radio WD_TR_1 to the Qth transmitting radio WD_TR_Q of the transmitting device 1A on the (Qk) channels CH_un, and in step S39, the (Qk) receiving radios other than the k receiving radios on which the packet was received are each channel connected to the (Qk) transmitting radios of the transmitting device 1A on the (Qk) channels CH_un.
[0712] Preferably, the processing means 511 performs channel connection control to control the (Qk) receiving radios so that when k receiving radios receive k packets in the communication region CM_REG2 (a region with more packet loss than the communication region CM_REG1) shown in Figure 2, the (Qk) receiving radios channel connect with the (Qk) transmitting radios of the transmitting device 1A on the (Qk) channels CH_un, respectively.
[0713] In addition, if the terminal device 50 is a train made up of 10 cars, for example, the 10 wireless devices 501 to 510 may be arranged in the 10 cars, one per car, and connected to the receiver 51 via a wired LAN.
[0714] In the second embodiment, the operation of the transmission device 1A may be realized by software. In this case, the transmission device 1A includes base stations 41 to 45, radio devices 401 to 410, and a computer. The computer includes a CPU, a ROM, and a RAM. The ROM stores a program Prog_E or a program Prog_B consisting of steps of the flowchart shown in FIG. 33 (including the flowchart shown in FIG. 34 (or the flowchart shown in FIG. 35) and the flowchart shown in FIG. 36 (including the flowchart shown in FIG. 37 (including the flowcharts shown in FIGS. 16 to 18) and the flowchart shown in FIG. 38 (including the flowcharts shown in FIGS. 16 to 18))).
[0715] Note that the notation "the flowchart shown in FIG. 37 (including the flowcharts shown in FIGS. 16 to 18)" includes the notation "the flowchart shown in FIG. 37 (including the flowcharts shown in FIGS. 16 to 18)" and the notation "the flowchart shown in FIG. 37 (including the flowcharts shown in FIGS. 16 to 18)" in the same way as the notation "the flowchart shown in FIG. 15 (including the flowcharts shown in FIGS. 16 to 18)" described above. The same applies to the notation "the flowchart shown in FIG. 38 (including the flowcharts shown in FIGS. 16 to 18)".
[0716] The computer (CPU) reads out the program Prog_E from the ROM and executes the read program Prog_E to perform packet transmission processing. The RAM functions as the buffer 463 described above. The computer (CPU) also reads out the program Prog_B from the ROM and executes the read program Prog_B to perform processing in response to a notification from any one of the radio devices 401 to 410 (or v transmitting radio devices among the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q).
[0717] Furthermore, the program Prog_E or the program Prog_B may be recorded on a recording medium such as a CD or a DVD and distributed. When a recording medium on which the program Prog_E is recorded is attached to a computer, the computer (CPU) reads the program Prog_E from the recording medium and executes the read program Prog_E to perform packet transmission processing. When a recording medium on which the program Prog_B is recorded is attached to a computer, the computer (CPU) reads the program Prog_B from the recording medium and executes the read program Prog_B to perform processing in response to a notification from any one of the radio devices 401 to 410 (or v transmitting radio devices among the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q).
[0718] Therefore, a recording medium on which the program Prog_E or the program Prog_B is recorded is a computer-readable recording medium.
[0719] In the second embodiment, the operations of the terminal device 50 may be implemented by software. In this case, the terminal device 50 includes radio devices 501 to 510 and a computer. The computer includes a CPU, a ROM, and a RAM.
[0720] The ROM stores the program Prog_C or the program Prog_D. The computer (CPU) reads the program Prog_C from the ROM and executes the read program Prog_C to perform packet reception processing. The RAM fulfills the functions of the N buffer 512 and the C buffer 513 described above. The computer (CPU) also reads the program Prog_D from the ROM and executes the read program Prog_D to perform channel connection between the radio devices 501 to 510 of the terminal device 50 and the radio devices 401 to 410 of the transmission device 1A, or between the first receiving radio devices WD_RV_1 to Qth receiving radio devices WD_RV_Q of the terminal device 50 and the first transmitting radio devices WD_TR_1 to Qth transmitting radio devices WD_TR_Q of the transmission device 1A.
[0721] Furthermore, the program Prog_C or the program Prog_D may be recorded on a recording medium such as a CD or a DVD and distributed. When a recording medium on which the program Prog_C is recorded is installed in a computer, the computer (CPU) reads out the program Prog_C from the recording medium, executes it, and performs packet reception processing. When a recording medium on which the program Prog_D is recorded is installed in a computer, the computer (CPU) reads out the program Prog_D from the recording medium, executes it, and performs channel connection between the radio units 501 to 510 of the terminal device 50 and the radio units 401 to 410 of the transmitting device 1A, or between the first receiving radio units WD_RV_1 to Qth receiving radio units WD_RV_Q of the terminal device 50 and the first transmitting radio units WD_TR_1 to Qth transmitting radio units WD_TR_Q of the transmitting device 1A.
[0722] Therefore, a recording medium on which the program Prog_C or the program Prog_D is recorded is a computer-readable recording medium.
[0723] According to embodiment 2, the base stations 41 to 45 are located at different positions in the communication space between the plurality of terminal devices 50. Therefore, even if packets broadcast by some of the base stations 41 to 45 are lost, the plurality of terminal devices 50 can receive packets broadcast by base stations other than some of the base stations 41 to 45, and based on the channel information CH_IF contained in the received packets, the channel connection between the radio devices 501 to 510 and the radio devices 401 to 410 of the transmitting device 1A can be completed by the method described above before entering the communication region CM_REG1.
[0724] Other aspects of the second embodiment are the same as those of the first embodiment.
[0725] According to the above-described first and second embodiments, a transmitting device according to an embodiment of the present invention is a transmitting device that receives packets constituting real-time traffic from an application and broadcasts the received packets, a first transmitting radio device through a Qth transmitting radio device that broadcast a first packet through a Qth packet (each of the first packet through the Qth packet is a packet transmitted by a transmitting radio device) using a first channel through a Qth channel (Q is an integer of 2 or greater) that have mutually different frequencies used for wireless communication, respectively, when the receiving device, which is a mobile body, is moving toward a receiving area where packets are received from the transmitting device; The communication device may further include a first processing means for generating a first packet through a Qth packet by adding channel information CH_IF, which indicates that the first channel through the Qth channel are channels in the first transmitting radio device through the Qth transmitting radio device, to a packet received from the application, and outputting the generated first packet through the Qth packet to the first transmitting radio device through the Qth transmitting radio device, respectively.
[0726] If the transmission device includes the first to Qth wireless devices for transmission and the first processing means, when the receiving device receives at least one packet out of the first to Qth packets broadcast by the first to Qth wireless devices for transmission of the transmission device, based on at least one channel information CH_IF included in the at least one received packet, the receiving device can detect the channels in the wireless device for transmission that broadcast the packets that could not be received by the receiving device. Based on the detected channels, even in an area where packet loss is more than in the packet reception area, the wireless device for transmission of the transmission device can establish a channel connection.
[0727] Further, the receiving device according to the embodiment of the present invention is a mobile body, and moves into a reception area for receiving the first to Qth packets broadcast by the transmission device according to the embodiment of the present invention, and is a receiving device that receives the first to Qth packets, The first to Qth receiving wireless devices that are provided corresponding to the first to Qth transmitting wireless devices respectively, and receive the first to Qth packets using the first to Qth channels respectively, and When the receiving device is moving towards the reception area, when k (k is an integer satisfying 1 ≦ k < Q) of the first to Qth receiving wireless devices receive k packets, k pieces of channel information CH_IF included in the k packets received by the k receiving wireless devices are detected, and based on the detected k pieces of channel information CH_IF, (Q - k) channels in the (Q - k) receiving wireless devices are detected, and it is sufficient to include second processing means for executing channel connection control to control the (Q - k) receiving wireless devices to establish channel connections with the (Q - k) transmitting wireless devices of the transmission device using the detected (Q - k) channels.
[0728] If the receiving device is equipped with the first through Qth receiving radio devices and a second processing means, it can detect the (Qk) channels in the (Qk) receiving radio devices based on the k pieces of channel information contained in the k packets received by the k receiving radio devices, and perform channel connection control to control the (Qk) receiving radio devices to connect to the (Qk) transmitting radio devices of the transmitting device using the detected (Qk) channels, respectively, and can perform channel connection between the first through Qth transmitting radio devices of the transmitting device and the first through Qth receiving radio devices of the receiving device even in areas where there is more packet loss than in the packet reception area.
[0729] Furthermore, a program according to an embodiment of the present invention is a program for causing a computer to receive packets constituting real-time traffic from an application, and broadcast the packets received from the application in a transmitting device that broadcasts the received packets, the program comprising: The transmitting device the receiving device is provided with first to Qth transmitting radio devices that broadcast first to Qth packets (each of the first to Qth packets is a packet transmitted by a transmitting radio device) using first to Qth channels (Q is an integer of 2 or more) that have mutually different frequencies used for wireless communication, respectively, when the receiving device is a mobile body moving toward a receiving area where packets are received from the transmitting device; The program is The program may be one that causes a computer to execute a first step in which the first processing means generates a first packet through a Qth packet by adding channel information CH_IF, which indicates that the first channel through the Qth channel are channels in the first transmitting radio device through the Qth transmitting radio device, respectively, to a packet received from an application, and outputs the generated first packet through the Qth packet to the first transmitting radio device through the Qth transmitting radio device, respectively.
[0730] If the program causes the computer to execute the first step, when the receiving device receives at least one packet out of the first packet to the Qth packet broadcast by the first to Qth transmission wireless devices of the transmitting device, based on at least one channel information CH_IF included in the at least one received packet, it is possible to detect the channel in the transmission wireless device that broadcast the packet that could not be received by the receiving device. Based on the detected channel, it is possible to establish a channel connection between the transmission wireless device of the transmitting device and the receiving device even in an area where there is more packet loss than in the packet reception area.
[0731] Furthermore, the program according to the embodiment of the present invention is a program for causing a computer to execute reception of the first packet to the Qth packet in a receiving device that is a mobile body and moves into a reception area for receiving the first packet to the Qth packet broadcast by the transmitting device according to the embodiment of the present invention described above, and The receiving device is equipped with first to Qth receiving wireless devices provided corresponding to the first to Qth transmission wireless devices respectively, and using the first to Qth channels respectively to receive the first to Qth packets respectively. The program is such that the second processing means causes the computer to execute the first step of channel connection control for controlling (Q - k) receiving wireless devices to establish channel connections with (Q - k) transmission wireless devices of the transmitting device using the (Q - k) detected channels, when, while the receiving device is moving towards the reception area, k (k is an integer satisfying 1 ≤ k < Q) receiving wireless devices out of the first to Qth receiving wireless devices receive k packets, detects k channel information CH_IF included in the k packets received by the k receiving wireless devices, and based on the detected k channel information CH_IF, detects (Q - k) channels in the (Q - k) receiving wireless devices.
[0732] When the program causes a computer to execute the first step, it can detect (Qk) channels in (Qk) receiving radios based on k pieces of channel information contained in k packets received by k receiving radios, and perform channel connection control to control the (Qk) receiving radios so that they each establish channel connection with the (Qk) transmitting radios of the transmitting device using the detected (Qk) channels, thereby making it possible to establish channel connection between the first to Qth transmitting radios of the transmitting device and the first to Qth receiving radios of the receiving device even in areas where there is more packet loss than in the packet reception area.
[0733] In an embodiment of the present invention, N packets constitute "single packets", each of encoded packets C2 and C4 constitutes a "first encoded packet", encoded packets C6 to C8 constitute a "second encoded packet", and encoded packets obtained by removing information about packets already received from encoded packets C4 and C6, such as encoded packets C4' and C6', constitute a "third encoded packet".
[0734] In this embodiment of the present invention, each of P2 / C1, P3 / C2, P4 / C3, P5 / C4, and P6 / C5 constitutes a "combined packet."
[0735] 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."
[0736] Furthermore, in this embodiment of the invention, T milliseconds constitutes a "threshold value."
[0737] Furthermore, in this embodiment of the present invention, each of the N buffers 212 and 512 constitutes a "first receive buffer," and each of the C buffers 213 and 513 constitutes a "second receive buffer."
[0738] Furthermore, in this embodiment of the present invention, each of the processing means 211, 511 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."
[0739] Furthermore, in this embodiment of the present invention, in step S261 of FIG. rx ≦SN sent and the received packet has not been stored in the N buffer 212 (or the N buffer 512), the received packet (SN rx The processing means 211 (or processing means 511) that stores the packets in the N buffer 212 (or N buffer 512) and transmits the packets stored in the N buffer 212 (or N buffer 512) to the application 30 constitutes the “first processing means.”
[0740] Furthermore, in the embodiment of the present invention, generating encoded packets C4', C6' by removing information about 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 212 (or N buffer 512). The processing means 211 (or processing means 511) that generates encoded packets C4', C6' by removing information about already received packets from encoded packet C constitutes a "second processing means."
[0741] Furthermore, in the embodiment of the present invention, the processing means 211 (or processing means 511) that executes the decoding process in step S29 of FIG. 19 constitutes "decoding means."
[0742] Furthermore, in the embodiment of the present invention, the receiving device according to the embodiment of the present invention is configured by the receiving device 2 or the terminal device 50.
[0743] Furthermore, in an embodiment of the present invention, the communication area CM_REG1 shown in Figure 2 constitutes a "receiving area" for receiving packets from the transmitting device 1, 1A, and the communication area CM_REG2 shown in Figure 2 constitutes an "area with more packet loss" than the receiving area.
[0744] Furthermore, in this embodiment of the present invention, radio device 12 constitutes a "first transmitting radio device," and radio device 13 constitutes an "nth transmitting radio device."
[0745] Furthermore, in this embodiment of the present invention, the radio devices 401 to 410 constitute the "first to n-th transmitting radio devices", respectively.
[0746] Furthermore, in this embodiment of the present invention, the processing means 112 or the processing means 462 constitutes a "first processing means."
[0747] Furthermore, in the embodiment of the present invention, the base stations 41 to 45 or the base stations AP_1 to AP_J constitute "p (p is an integer equal to or greater than 2) base stations."
[0748] Furthermore, in the embodiment of the present invention, the allocation methods (A) to (C) constitute a "predetermined allocation method."
[0749] Furthermore, in this embodiment of the present invention, the radio device 22 constitutes the "first receiving radio device," and the radio device 23 constitutes the "nth receiving radio device."
[0750] Furthermore, in this embodiment of the present invention, radio devices 501 to 510 constitute "first to n-th receiving radio devices."
[0751] Furthermore, in this embodiment of the present invention, processing means 211 or processing means 511 constitutes a "second processing means."
[0752] Furthermore, in an embodiment of the present invention, when the processing means 112 (or the processing means 462) outputs the first packet PKT_1 to the Qth packet PKT_Q to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively, executing steps S71, S72, S77, and S78 in FIG. 16 Q times corresponds to "the processing means 112 (or the processing means 462) causing a computer to execute a first step in which the processing means 112 (or the processing means 462) adds channel information CH_IF, indicating that the first channel CH_1 to the Qth channel CH_Q are channels in the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively, to a packet received from an application to generate the first packet to the Qth packet, and outputs the generated first packet to the Qth packet to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively."
[0753] Furthermore, in an embodiment of the present invention, when the processing means 112 (or the processing means 462) outputs the first packet PKT_1 to the Qth packet PKT_Q to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively, executing steps S71A to S74A in FIG. 17 corresponds to "causing the computer to execute a first step in which the processing means 112 (or the processing means 462) adds channel information CH_IF, indicating that the first channel CH_1 to the Qth channel CH_Q are channels in the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively, to a packet received from an application to generate the first packet to the Qth packet, and outputs the generated first packet to the Qth packet to the first transmitting radio device WD_TR_1 to the Qth transmitting radio device WD_TR_Q, respectively."
[0754] Furthermore, in the embodiment of the present inv...
Claims
1. A transmitting device that receives packets constituting real-time traffic from an application and broadcasts the received packets, comprising: a first to a Qth transmitting radio device that broadcast a first to a Qth packet (each of the first to Qth packets is transmitted by a transmitting radio device) using a first to a Qth channel (Q is an integer of 2 or more) that have mutually different frequencies used for wireless communication, respectively, when the receiving device, which is a mobile body, is moving toward a receiving area where the packets are received from the transmitting device; a first processing means for generating the first packet through the Q packet by adding channel information CH_IF indicating that the first channel through the Q channel are channels in the first radio transmitting device through the Q radio transmitting device, respectively, to a packet received from the application, and outputting the generated first packet through the Q packet to the first radio transmitting device through the Q radio transmitting device, respectively; A transmitting device, wherein the first to Qth receiving radios of the receiving device perform carrier sensing on the first to Qth channels, respectively, in a communication area before entering the receiving area, receive packets on at least one of the first to Qth channels, and complete channel connection with the first to Qth transmitting radios, respectively, based on at least one piece of channel information CH_IF included in a packet (at least one of the first to Qth packets) received on at least one of the first to Qth channels before entering the receiving area.
2. 2. The transmitting device according to claim 1, wherein the first processing means further sequentially generates transmission packets including the channel information CH_IF based on packets received from the application, the transmission packets being composed of an individual packet, an encoded packet obtained by encoding a plurality of the individual packets, and an aggregated packet obtained by adding the encoded packet to the individual packet, and sequentially allocates the sequentially generated transmission packets as the first packet to the Qth packet to the first transmitting radio device through the Qth transmitting radio device by a round robin transmission method.
3. 2. The transmitting device according to claim 1, wherein the first processing means further generates transmission packets including the channel information CH_IF, the transmission packets being composed of individual packets, encoded packets obtained by encoding a plurality of the individual packets, and combined packets obtained by adding the encoded packets to the individual packets, based on the packets received from the application, and each time a transmission packet is generated, the first processing means allocates the generated transmission packets as the first packet to the Qth packet to all of the first to Qth transmitting radios by a multiplex transmission method.
4. further comprising p (p is an integer equal to or greater than 2) base stations each connected to the first to Qth transmitting radio devices; the first processing means outputs the generated first to Qth packets to the p base stations instead of the first to Qth transmitting radio units; 2. The transmitting device according to claim 1, wherein each of the p base stations outputs the first packet to the Qth packet received from the first processing means to the first to Qth transmitting radio units, respectively.
5. the first processing means further generates a transmission packet consisting of any one of an individual packet, an encoded packet obtained by encoding a plurality of the individual packets, and an aggregate packet obtained by adding the encoded packet to the individual packet based on the packet received from the application, and allocates the generated transmission packets to the p base stations by a predetermined allocation method; The transmitting device according to claim 4, wherein each of the p base stations includes the channel information CH_IF in the transmission packet allocated by the first processing means, and allocates the transmission packets including the channel information CH_IF to the first transmitting radio device through the Qth transmitting radio device in sequence by a round-robin transmission method as the first packet through the Qth packet, respectively.
6. the first processing means further generates a transmission packet consisting of any one of an individual packet, an encoded packet obtained by encoding a plurality of the individual packets, and an aggregate packet obtained by adding the encoded packet to the individual packet based on the packet received from the application, and allocates the generated transmission packets to the p base stations by a predetermined allocation method; The transmitting device according to claim 4, wherein each of the p base stations includes the channel information CH_IF in the transmission packet allocated by the first processing means, and allocates the transmission packets including the channel information CH_IF to all of the first transmitting radio device to the Qth transmitting radio device by a multiplex transmission method as the first packet to the Qth packet, respectively.
7. v (v is an integer satisfying 1≦v<Q) transmitting radio devices among the first to Q transmitting radio devices notify the first processing means of a stop of wireless communication when determining that a change of channel is necessary in the v transmitting radio devices; The transmitting device according to any one of claims 1 to 6, wherein, upon receiving a notice of wireless communication suspension from the v transmitting radio devices, the first processing means lowers a coding rate, which is a ratio at which a combined packet is generated by attaching an encoded packet obtained by encoding a plurality of individual packets to the individual packets, stops allocating packets to the v transmitting radio devices, and allocates the transmission packets allocated to the v transmitting radio devices to (Q-v) transmitting radio devices.
8. the v transmitting radio devices change the v original channels in the v transmitting radio devices to v channels other than the (Q-v) channels in the (Q-v) transmitting radio devices among the first transmitting radio device to the Q transmitting radio devices and having a busy rate equal to or lower than a threshold, or change the channels to v channels other than the (Q-v) channels and having the largest frequency difference from the v original channels in the v transmitting radio devices, and notify the first processing means of the change of channels in the v transmitting radio devices and the start of wireless communication by the v transmitting radio devices; 8. The transmitting device according to claim 7, wherein the first processing means, upon receiving a change to the v channels and a start of the wireless communication from the v transmitting radio units, increases the coding rate and starts allocating the transmission packets to the v transmitting radio units.
9. A receiving device comprising a mobile body, which moves into a receiving area for receiving the first packet to the Qth packet broadcast by the transmitting device according to any one of claims 1 to 8, and receives the first packet to the Qth packet, a first to a Qth receiving radio unit provided corresponding to the first to Qth transmitting radio units, respectively, and receiving the first to Qth packets using the first to Qth channels, respectively; and a second processing means for executing channel connection control to control the (Q-k) receiving radios to connect to the (Q-k) transmitting radios of the transmitting device via the detected (Q-k) channels, respectively, when k (k is an integer satisfying 1≦k<Q) receiving radios out of the first through Q receiving radios receive the k packets while the receiving device is moving towards the reception area.
10. 10. The receiving device according to claim 9, wherein the second processing means executes the channel connection control when the k receiving radio units receive the k packets in an area outside the receiving area where packet loss is greater than in the receiving area.
11. The receiving device according to claim 9 or 10, wherein the second processing means further receives the first packet through the Qth packet from the first receiving radio unit through the Qth receiving radio unit, performs reception processing on the received first packet through the Qth packet to generate received packets, and transmits the generated received packets to an application.
12. A transmitting device according to any one of claims 1 to 8; A wireless communication system comprising the receiving device according to any one of claims 9 to 11.
13. A program for causing a computer to receive packets constituting real-time traffic from an application and broadcast the packets received from the application in a transmitting device that broadcasts the received packets, the program comprising: The transmitting device the receiving device is provided with first to Qth transmitting radio devices that broadcast first to Qth packets (each of the first to Qth packets is a packet transmitted by a transmitting radio device) using first to Qth channels (Q is an integer of 2 or more) that have mutually different frequencies used for wireless communication, respectively, when the receiving device is a mobile body moving toward a receiving area where the packets are received from the transmitting device; The program a first processing means causing a computer to execute a first step of generating the first packet to the Q packet by adding channel information CH_IF indicating that the first channel to the Q channel are channels in the first transmitting radio device to the Q transmitting radio device, respectively, to a packet received from the application, and outputting the generated first packet to the Q packet to the first transmitting radio device to the Q transmitting radio device, respectively; A program to be executed by a computer, in which the first to Qth receiving radios of the receiving device perform carrier sense on the first to Qth channels in a communication area before entering the receiving area, receive packets on at least one of the first to Qth channels, and complete channel connection with the first to Qth transmitting radios, respectively, based on at least one piece of channel information CH_IF included in a packet (at least one of the first to Qth packets) received on at least one of the first to Qth channels before entering the receiving area.
14. 14. The program for causing a computer to execute the program according to claim 13, wherein the first processing means, in the first step, further generates transmission packets including the channel information CH_IF based on the packets received from the application, the transmission packets being made up of any of a single packet, an encoded packet obtained by encoding a plurality of the single packets, and an aggregated packet obtained by adding the encoded packet to the single packet, and sequentially allocates the sequentially generated transmission packets as the first packet to the Qth packet to the first transmitting radio device through the Qth transmitting radio device by a round robin transmission method.
15. 14. The program for causing a computer to execute the program according to claim 13, wherein the first processing means, in the first step, further generates transmission packets including the channel information CH_IF based on the packets received from the application, the transmission packets being made up of any of individual packets, encoded packets obtained by encoding a plurality of the individual packets, and combined packets obtained by adding the encoded packets to the individual packets, and each time a transmission packet is generated, the generated transmission packets are allocated to all of the first through Qth transmitting radios by a multiplex transmission method as the first through Qth packets, respectively.
16. the transmitting device further comprises p (p is an integer of 2 or greater) base stations each connected to the first to Qth transmitting radio units; the first processing means, in the first step, outputs the generated first packet to Qth packet to the p base stations instead of the first to Qth transmitting radio units; 14. The program to be executed by a computer according to claim 13, wherein each of the p base stations outputs the first packet to the Qth packet received from the first processing means to the first to Qth transmitting radio devices, respectively.
17. the first processing means, in the first step, further generates transmission packets consisting of individual packets, encoded packets obtained by encoding a plurality of the individual packets, and combined packets obtained by adding the encoded packets to the individual packets, based on the packets received from the application, and allocates the generated transmission packets to the p base stations by a predetermined allocation method; 17. The program for causing a computer to execute the program according to claim 16, wherein each of the p base stations includes the channel information CH_IF in the transmission packet allocated by the first processing means, and allocates the transmission packets including the channel information CH_IF to the first transmitting radio device through the Qth transmitting radio device in sequence by a round robin transmission method as the first packet through the Qth packet, respectively.
18. the first processing means, in the first step, further generates transmission packets consisting of individual packets, encoded packets obtained by encoding a plurality of the individual packets, and combined packets obtained by adding the encoded packets to the individual packets, based on the packets received from the application, and allocates the generated transmission packets to the p base stations by a predetermined allocation method; 17. The program for causing a computer to execute the program described in claim 16, wherein each of the p base stations includes the channel information CH_IF in the transmission packet allocated by the first processing means, and allocates the transmission packets including the channel information CH_IF as the first packet to the Qth packet to all of the first transmitting radio device to the Qth transmitting radio device by a multiplex transmission method.
19. v (v is an integer satisfying 1≦v<Q) transmitting radio devices among the first to Q transmitting radio devices notify the first processing means of a stop of wireless communication when determining that a change of channel is necessary in the v transmitting radio devices; The program The program for causing a computer to execute the program according to any one of claims 13 to 18, wherein the first processing means, upon receiving a notice of suspension of wireless communication from the v transmitting radio devices, further causes the computer to execute a second step of lowering a coding rate, which is a ratio at which a combined packet is generated by attaching an encoded packet obtained by encoding a plurality of individual packets to the individual packets, stopping allocation of packets to the v transmitting radio devices, and allocating the transmission packets allocated to the v transmitting radio devices to (Q-v) transmitting radio devices.
20. the v transmitting radio devices change the v original channels in the v transmitting radio devices to v channels other than the (Q-v) channels in the (Q-v) transmitting radio devices among the first transmitting radio device to the Q transmitting radio devices and having a busy rate equal to or lower than a threshold, or change the channels to v channels other than the (Q-v) channels and having the largest frequency difference from the v original channels in the v transmitting radio devices, and notify the first processing means of the change of channels in the v transmitting radio devices and the start of wireless communication by the v transmitting radio devices; The program 20. The program for causing a computer to execute the program according to claim 19, wherein the first processing means causes the computer to further execute a third step of increasing the coding rate and starting allocation of the transmission packets to the v transmitting radio units when the first processing means receives, from the v transmitting radio units, a change to the v channels and the start of the wireless communication.
21. A receiving device that is a mobile object and moves into a receiving area for receiving the first packet to the Qth packet broadcast by the transmitting device according to any one of claims 1 to 8, and receives the first packet to the Qth packet, said receiving device comprising: a program for causing a computer to receive the first packet to the Qth packet, The receiving device a first to a Qth receiving radio unit provided corresponding to the first to Qth transmitting radio units, respectively, for receiving the first to Qth packets using the first to Qth channels, respectively; The program a second processing means for detecting, when k (k is an integer satisfying 1≦k<Q) receiving radios out of the first through Q receiving radios receive the k packets while the receiving device is moving toward the reception area, the k pieces of channel information CH_IF included in the k packets received by the k receiving radios, detecting (Q−k) channels in the (Q−k) receiving radios based on the detected k pieces of channel information CH_IF, and controlling the (Q−k) receiving radios to channel connect with the (Q−k) transmitting radios of the transmitting device using the detected (Q−k) channels, respectively.
22. 22. The program for causing a computer to execute the program according to claim 21, wherein the second processing means executes the channel connection control when, in the first step, the k receiving radio devices receive the k packets in an area outside the reception area and having a higher packet loss than the reception area.
23. 23. The program for causing a computer to execute the program according to claim 21 or 22, wherein the second processing means causes the computer to further execute a second step of receiving the first packet to the Qth packet from the first receiving radio device to the Qth receiving radio device, respectively, performing reception processing on the received first packet to the Qth packet to generate received packets, and transmitting the generated received packets to an application.
Citation Information
Patent Citations
Radio communication device and radio network provided with the same
JP2010093738A
Vehicle communication via multiple wireless communication links
US20210385632A1