WO2015072005A1 - 通信装置及びシステム及び方法 - Google Patents

通信装置及びシステム及び方法 Download PDF

Info

Publication number
WO2015072005A1
WO2015072005A1 PCT/JP2013/080862 JP2013080862W WO2015072005A1 WO 2015072005 A1 WO2015072005 A1 WO 2015072005A1 JP 2013080862 W JP2013080862 W JP 2013080862W WO 2015072005 A1 WO2015072005 A1 WO 2015072005A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
unit
encoding
time
error correction
Prior art date
Application number
PCT/JP2013/080862
Other languages
English (en)
French (fr)
Inventor
竹内 隆
亮介 藤原
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/080862 priority Critical patent/WO2015072005A1/ja
Priority to JP2015547345A priority patent/JP6294346B2/ja
Priority to US15/035,569 priority patent/US10320520B2/en
Publication of WO2015072005A1 publication Critical patent/WO2015072005A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • H04L1/0073Special arrangements for feedback channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0026Transmission of channel quality indication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data

Definitions

  • the present invention relates to a communication apparatus, system, and method, and more particularly to a communication apparatus for low-delay communication that can be applied to various systems such as a remote operation system remote monitoring system, a remote control system, and a remote monitoring control system. And systems and methods.
  • WAN Wide Area Network
  • the Internet developed as a communication infrastructure may be used for communication with a remote place.
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • TCP guarantees the order of data strings when transmitting data from one terminal to another, and realizes highly reliable communication by retransmitting missing data.
  • UDP is used, which is a communication protocol that places importance on low communication delay rather than reliability. UDP does not retransmit, and the order of data strings is not guaranteed, but high-speed and low-delay transmission is possible.
  • RTP Real-time Transport Protocol
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • the RTP alone cannot avoid the loss of data packets that occur when going through the network, and there is a problem that high-quality stream data may not be reproduced particularly in an environment where the communication quality of the line is relatively poor. There is.
  • a forward error correction (FEC: Forward Error Correction) code is added to data to be transmitted.
  • FEC Forward Error Correction
  • By assigning the FEC code and transmitting the data it is possible to restore the loss of the data packet on the receiving side alone. Therefore, even when the communication quality of the line is relatively poor, it is possible to realize highly reliable communication with low delay.
  • an error correction code is calculated in units of a plurality of packets.
  • the FEC code a parity code, a Reed-Solomon code, or the like is used.
  • an object of the present invention is to effectively suppress packet loss by setting an encoding block size or encoding processing time of an error correction code and an encoding block size.
  • a communication device A line quality measuring unit for calculating first line quality information including a first burst loss time from a packet loss situation of a received packet; An error correction decoding unit that repairs a loss of a received packet based on an encoding time T included in an error correction header of the received packet and an encoding processing amount that is a parameter of the encoded block; A feedback data acquisition unit for acquiring second line quality information including the second burst loss time T BL from the error correction header of the received packet; A packet number measurement unit that sets the encoding time T to be variable or fixed based on the second channel quality information acquired by the feedback data acquisition unit, and measures the number N of packets per encoding time T of the transmission data packet; Encoding processing amount based on the number of packets N measured by the packet number measuring unit, the encoding time T set by the packet number measuring unit, and the second line quality information acquired by the feedback data acquiring unit; An error correction encoding unit that generates an error correction code packet including the error correction
  • a communication system A transmission side communication device having a transmission unit and inserted between the terminal on the transmission side and the gateway; A receiving unit, and a receiving-side communication device inserted between the receiving-side terminal and the gateway;
  • the receiver is A line quality measuring unit for calculating first line quality information including a first burst loss time from a packet loss situation of a received packet;
  • An error correction decoding unit that repairs a loss of a received packet based on an encoding time T included in an error correction header of the received packet and an encoding processing amount that is a parameter of the encoded block;
  • a feedback data acquisition unit for acquiring second line quality information including the second burst loss time T BL from the error correction header of the received packet;
  • the transmitter is A packet number measurement unit that sets the encoding time T to be variable or fixed based on the second channel quality information acquired by the feedback data acquisition unit, and measures the number N of packets per encoding time T of the transmission data packet; Encoding processing amount based on the number of packets N
  • a communication method From the packet loss situation of the received packet, calculate the first line quality information including the first burst loss time, Based on the encoding time T included in the error correction header of the received packet and the encoding processing amount which is a parameter of the encoding block, the missing of the received packet is repaired, Obtaining the second line quality information including the second burst loss time T BL from the error correction header of the received packet; Based on the acquired second channel quality information, the encoding time T is set to be variable or fixed, and the number N of packets per encoding time T of the transmission data packet is measured, An encoding processing amount is obtained based on the measured number of packets N, the encoding time T set by the packet number measuring unit, and the acquired second line quality information, and is calculated based on the encoding processing amount.
  • An error correction code packet including the generated error correction code A transmission packet is obtained by adding an error correction header including the encoding time T and the encoding processing amount in the encoding process and the calculated first channel quality information to the transmission data packet and the error correction code packet, respectively.
  • a communication method is provided that includes generating
  • packet loss can be effectively suppressed by setting the encoding block size or encoding processing time of the error correction code and the encoding block size.
  • the communication apparatus is arranged on each of the transmission side and the reception side, and the communication apparatus includes a transmission unit and a reception unit, and software having FEC encoding and decoding functions, or It is a device configured as hardware.
  • the transmission unit includes a transmission packet type determination unit that determines communication from a specific communication partner or a specific application, and the transmission packet type determination unit outputs a packet as it is when it is determined that FEC calculation is unnecessary. If it is determined that FEC calculation is necessary, the data is transmitted to the packet number measurement unit, and the packet number measurement unit measures the number of packets per unit time (encoding time).
  • the transmission unit includes an FEC encoding unit that calculates a forward error correction code based on feedback information of the number of packets measured by the packet number measurement unit and a burst loss time provided by the reception unit for each encoding time; A transmission header processing unit for adding an FEC header to the packet processed by the FEC encoding unit, and a packet transmission unit for transmitting the packet configured by the transmission header processing unit.
  • the reception unit includes a reception packet type determination unit that determines whether or not FEC decoding is necessary based on header information of a packet that is sent, and the reception packet type determination unit does not require an FEC decoding process. Packets are output without being processed, and packets that require FEC complex processing are transmitted to the reception buffer unit.
  • the receiving unit calculates a burst loss time from the FEC decoding unit that repairs the packet loss from the data in the reception buffer, and the packet lost in the reception buffer, and sends the information to the transmission header processing unit of the transmission unit.
  • the packet transmission unit of the transmission unit can transmit packets at equal intervals over the same time as the encoding time.
  • the transmitter may change the FEC calculation method based on the fed-back burst loss time and the encoding time for measuring the number of packets.
  • FIG. 1 is a diagram showing a configuration of a communication system according to a first embodiment of the present invention.
  • a burst loss often occurs in which several packets are continuously lost.
  • the communication apparatus of this embodiment is an example suitable for effectively suppressing packet loss due to burst loss.
  • FIG. 1 shows a configuration when the terminals 104-1 and 104-2 perform bidirectional communication.
  • a communication device 101 is connected between a terminal 104 and a GW (gateway) 105, and each device is connected by a communication line 106 such as Ethernet (registered trademark).
  • the communication line 106 may be wired or wireless.
  • the communication apparatus 101 includes a transmission unit 102 and a reception unit 103.
  • the communication device 101 may be configured by a PC (personal computer).
  • the terminal 104 may be a device such as a PC, and the present system may be applied to control a plurality of devices connected to the PC.
  • the communication device 101-1 When a data packet is transmitted from the terminal 104-1, the communication device 101-1 receives the data packet and inputs it to the transmission unit 102-1.
  • the transmission unit 102-1 performs encoding processing such as FEC calculation, and outputs the encoded packet to the GW 105-1 side.
  • the GW 105-1 that has received the data packet from the communication device 101-1 transmits the packet to the GW 105-2 via the WAN.
  • the GW 105-2 that has received data from the WAN side transfers the data packet to the communication device 101-2.
  • the communication apparatus 101-2 that has received the data from the GW 105-2 inputs the packet to the reception unit 103-2.
  • the receiving unit 103-2 decodes the encoded packet, performs error correction, and transmits the data packet to the communication terminal 104-2.
  • Similar processing is performed when the terminal 104-2 transmits a packet addressed to the terminal 104-1.
  • the communication apparatus 101 performs the packet encoding process on the packet input from the LAN (Local Area Network) side by the transmission unit 102, and the reception unit 103 decodes the packet received from the WAN side. Process.
  • the communication apparatus 101 it is only necessary to insert the communication apparatus 101 as a bridge in a path where the normal terminal 104 and the GW 105 are directly connected, and the FEC calculation process can be performed on the data packet without changing the existing communication system. it can.
  • a network router or a hub may be connected between the GW 105 and the communication apparatus 101 or between the communication apparatus 101 and the terminal 104.
  • FIG. 2 shows a configuration diagram of the communication apparatus 101.
  • the communication device 101-1 is configured as a pair with the communication device 101-2, and each communication device 101 includes a transmission unit 102 and a reception unit 103.
  • the transmission packet input 201-1 input from the terminal side (LAN side) is taken into the transmission unit 102-1 and sent to the transmission packet type determination unit 202-1.
  • the transmission packet type determination unit 202-1 determines whether the communication is from a specific communication partner set in advance or a specific application, and the corresponding packet is transmitted to the packet number measurement unit 203-1. If not applicable, it has a function of outputting the packet as it is as the transmission packet output 207-1.
  • the transmission packet type determination unit 202-1 compares header information such as the IP address, port number, and communication protocol described in the header of the transmission packet input 201-1 with those information set in advance. It is determined whether or not it is a packet to be transmitted. A plurality of combinations can be set in advance for the IP address, port number, and communication protocol, which are determination conditions of the transmission packet type determination unit 202-1. For example, when it is determined whether the packet should calculate FEC according to the settings of the IP address and the port number, the communication protocol can be the target of FEC calculation regardless of TCP, UDP, RTP, or the like.
  • the packet number measurement unit 203-1 measures the number of packets sent from the transmission packet type determination unit 202-1 and sends information on the number of packets measured for each encoding processing time T to the FEC encoding unit 204-1. Is output. For this reason, the encoding processing time T for measuring the number of packets appears as an encoding processing delay.
  • the packet number measurement unit 203-1 encodes according to information (eg, line quality information) from the feedback data acquisition unit 214-1. T can be changed and set dynamically or adaptively. Note that the encoding time T may be fixedly set in advance as in an embodiment described later.
  • Packets input to the packet number measuring unit 203-1 may be sequentially transferred to the FEC encoding unit 204-1 or the input packets may be temporarily stored in a buffer in the packet number measuring unit 203-1, and the number of packets May be transferred to the FEC encoder 204-1 simultaneously with the end of the measurement.
  • the number of packets measured by the packet number measuring unit 203-1 and the number of packets measured by the packet number measuring unit 203-1 are changed dynamically with respect to the data packet input from the packet number measuring unit 203-1.
  • the adaptively set or fixedly set encoding time T and the channel quality information acquired by the feedback data acquiring unit 214-1 of the receiving unit 103-1 sufficient for burst loss FEC encoding with high tolerance is performed.
  • the feedback data acquisition unit 214-1 does not hold the channel quality information or when the channel quality information is old, the FEC encoding can be performed according to a preset value. Details of the encoding process in the FEC encoding unit 204-1 will be described later.
  • the data packet input to the FEC encoding unit 204-1 and the FEC code packet calculated by the FEC encoding unit 204-1 are sent to the transmission header processing unit 205-1.
  • the transmission header processing unit 205-1 assigns an FEC header in which details of FEC encoding are described to each packet and transmits the packet to the packet transmission unit 206-1.
  • the transmission header processing unit 205-1 uses the line quality information of the communication path 217-1 measured by the line quality measuring unit 211-1 of the receiving unit 103-1 as FEC as feedback information to the communication apparatus 101-2. Store in header.
  • the packet transmission unit 206-1 that has received the data from the transmission header processing unit 205-1 spends the same amount of time as the encoding time T so that transmission of packet data in the buffer is performed at equal time intervals.
  • the packet transmission time is adjusted and data is transmitted to the WAN side as a transmission packet output 207-1.
  • the communication device 101-2 when the communication device 101-2 receives the received packet input 208-2 from the GW side (WAN side), the communication device 101-2 transmits the packet to the received packet type determination unit 209-2.
  • the reception packet type determination unit 209-2 reads information such as the IP header, TCP, UDP header, FEC header, and other header information of the reception packet input 208-2, and determines whether the packet requires FEC decoding processing. . Note that conditions necessary for this determination can be set in advance as appropriate combinations.
  • a packet that is determined not to require FEC decoding processing is output as a received packet output 216-2, and a packet that is determined to require decoding processing is received based on information in the FEC header 210- Transmit the packet to 2.
  • the reception buffer unit 210-2 stores data transmitted from the reception packet type determination unit 209-2. Regardless of whether or not a packet loss has occurred in the reception buffer unit 210-2, or regardless of whether or not a packet loss has occurred, the line quality measurement unit 211-2 determines whether the communication line 217- 2 is measured and transmitted to the transmission header processing unit 205-2 of the transmission unit 102-2.
  • the line quality information refers to, for example, an average packet loss rate, a maximum burst loss time, or a burst loss time.
  • the received packet stored in the reception buffer unit 210-2 is transmitted to the FEC decoding unit 212-2, and packet loss error correction processing is performed.
  • the error-corrected packet data is sent to the reception header processing unit 213-2, and after removing information such as the FEC header, it is output from the reception packet output 215-2 as the reception packet output 216-2.
  • the feedback data acquisition unit 214-2 acquires channel quality information of the communication line 217-1 included in the FEC header of the received packet, and uses this to obtain the packet number measurement unit 203-2 of the transmission unit 102-2 and the FEC code. Is transmitted to the processing unit 204-2. Communication from the communication device 101-2 to the communication device 101-1 is performed in the same manner.
  • an error correction code a case where an FEC code is used as an example will be described. However, the present invention is not limited to this, and parity or other appropriate error correction codes may be used.
  • the FEC encoding unit 204 configures an FEC encoded block from the data packet, and generates an FEC code packet for each encoded block.
  • FIG. 3 shows an example in which a two-dimensional parity code method is used as an FEC encoding method, for example.
  • an FEC encoded block of D rows ⁇ L columns is constructed from the data packet, and the exclusive OR (XOR) of each row and each column of the encoded block is calculated, thereby causing each of the vertical and horizontal directions.
  • the FEC encoded packet in the direction is generated. Data packets and FEC encoded packets are transmitted over the WAN.
  • each row Each packet is transmitted.
  • L + 1 consecutive packet losses burst loss
  • the XOR of each row and column of the received FEC encoded block is recalculated, so that the lost packet can be recovered by a single operation on the receiving side as shown in FIG. be able to.
  • the burst loss tolerance is determined to be one line (L + 1) of the FEC encoded block
  • the number of packets for one line of the FEC encoded block is larger than the number of burst losses generated in the line. If there are more, lost packets can be recovered.
  • the cause of burst loss is mainly due to buffer overflow or the like in the switching network, and the number of burst losses changes in proportion to the data transmission rate.
  • the burst loss must be defined not by the number of packet losses but by the time at which the packet loss occurred. That the FEC coding block is comprised of the time to transmit the one line, which means that it longer than the burst loss time T BL. Method for calculating the burst loss time T BL will be described in detail in the description of the channel quality measurement unit 211.
  • FEC coding section 204 a burst loss time T BL measured by channel quality measuring section 211, when it can be obtained via the feedback data acquisition unit 214, a line over T BL or more times (L + 1 By transmitting data), it is possible to generate an FEC matrix (FEC encoded block) having high resistance to burst loss.
  • N packets are measured by the packet number measuring unit 203 during the encoding time T,
  • FIG. 3D shows an example in which D and L of the encoded block change according to TBL.
  • the left part of FIG. 3D shows the definition of each line in the encoded block.
  • TBL T BL1
  • T BL T BL2
  • TBL T BL1
  • the packet count measurement time T is set to a time equal to or greater than 2T BL .
  • the packet counting unit 203 acquires the channel quality information, such as burst loss time T BL of the communication line as feedback data from the feedback data acquiring unit 214, while obtaining a sufficient burst loss resistance to shorten the FEC calculation delay
  • the FEC encoding time T can be changed.
  • the packet counting unit 203 to set the at least two times the coding time T T BL, may change the encoding process time T.
  • the packet number measurement unit 203 sets n to 2 in order to make delay as low as possible, or sets it as an integer of 3 or more in advance, and sets the burst loss time T BL from the feedback data acquisition unit 214.
  • Transmission header processing unit 205 The data packet constituting the coding block by the FEC coding unit 204 and the FEC code packet generated by the FEC coding unit 204 are sent to the transmission header processing unit 205.
  • FIG. 4 shows an embodiment of header processing of the transmission header processing unit 205.
  • the transmission header processing unit 205 since the data packet received by the transmission header processing unit 205 may include a plurality of protocols, the transmission header processing unit 205 newly wraps the incoming data packet in a UDP / IP header, The old data packet is encapsulated as a data part of a new UDP packet.
  • the protocol part of the new IP header is UDP
  • the source IP address and destination IP address of the IP header, and the source port and destination port of the UDP header are generated by copying the information of the old data packet ( 402).
  • the MAC header information is also copied (403).
  • an FEC header describing details of FEC encoding is added to the head of the new UDP data part.
  • the header information described in the immediately preceding data packet is copied and used as it is (404).
  • the same header information as the first half of the divided packet is copied to the second half packet.
  • FIG. 5 shows a configuration example of the FEC header 401. This is an example of a minimum configuration, and other information may be included as an FEC header.
  • the header identifier is used for recognition of the FEC header.
  • the data flag is used to identify whether the data following the FEC header is a data packet or an FEC code packet.
  • the extension indicates the presence or absence of feedback data.
  • the encoding time indicates how long the packet measurement time of the packet number measurement unit 203 was, and corresponds to the above-described time T. In the encoding time of the FEC header 401, time information may be directly described, or a method of describing codes corresponding to a plurality of predetermined times may be used.
  • the FECID is a value incremented at each encoding time T in the FEC encoding unit 204 and indicates which time or which FEC encoding block the packet has been processed.
  • the encoding processing amount indicates a parameter at the time of generating an encoded block. For example, in the case of a two-dimensional parity code, information on D and L is described.
  • the data position is information indicating the number of data in the encoded block of the packet, and can be used for order correction of reverse order packets.
  • the feedback data is used to send back channel quality information such as burst loss time, packet error rate, and / or other information measured by the receiving unit.
  • the reception buffer unit 210 When receiving a new FECID, the reception buffer unit 210 secures a storage area for packet reception, and continues reception for a time T + T j obtained by adding a jitter compensation time T j to the encoding time T described in the FEC header.
  • T j is a preset value.
  • the reception buffer unit 210 receives all the packets of the FEC coding block or receives a new FECID packet, and when a time of T + T j has elapsed and a timeout has occurred, the line quality measurement unit 211, and The processing start signal is transmitted to the FEC decoding unit 212.
  • Line quality measurement unit 211 When the line quality measuring unit 211 receives a signal to start processing from the reception buffer unit 210, the line quality measuring unit 211 starts processing. Since the packet transmission unit 206 sends out the packets generated by the FEC coding block at an equal interval during the coding time T, the line quality measurement unit 211 of the communication device 101 on the reception side receives the reception buffer 210 and the received packet. Referring to the information obtained from the packet's FEC header, measure the number of lost packets, the number of burst losses, and the maximum burst loss time or burst loss time, average packet error. It is possible to calculate line state information (line quality information) such as rate.
  • the burst loss time When the burst loss time is used as the channel quality information, it can be calculated as follows. For example, if M packets including FEC code packets are transmitted during the encoding time T, the line quality measurement unit 211 acquires T and M information from the normally received FEC header, and the packet It is possible to calculate that the transmission time interval is T / M. Therefore, when a maximum of k received packets have been lost, the burst loss time TBL is
  • the maximum value of T BL can be determined as a maximum burst loss time in the predetermined time it may be used as the channel quality information.
  • the calculated line quality information is transmitted to the transmission header processing unit 205.
  • the line quality information sent to the transmission header processing unit 205 is stored in the transmission header as feedback data for the communication device on the partner terminal side.
  • the line quality information measured by the line quality measuring unit 211 is stored as feedback data in the transmission header. Even when the uplink and downlink channel qualities are different, the feedback data acquisition unit 214 extracts feedback data including channel quality information such as burst loss time and average packet loss rate from the FEC header received from the communication device on the other side. Encoding and decoding processes can be performed appropriately.
  • the FEC decoding unit 212 restores the packet loss that has occurred in the received packet based on information such as the encoding time T, the encoding processing amount (D, L), and the data position described in the FEC header.
  • the FEC decoding unit 212 receives a signal to start processing from the reception buffer unit 210, the FEC decoding unit 212 starts decoding processing and processing for repairing packet loss.
  • reception header processing unit 213 Based on the data flag of the FEC header, the reception header processing unit 213 discards the packet if it is an FEC code packet, and performs header processing if it is a data packet.
  • FIG. 6 shows an example of header processing in the reception header processing unit 213. Since the received packet has a structure in which the original data packet is encapsulated by the UDP / IP header, the reception header processing unit 213 extracts the old data packet portion from the data portion of the UDP packet. When NAT (Network Address Translation) is performed in the GW on the transmission side or the reception side, the source IP address, the destination IP address, and the source port number of the received packet are converted, so that the reception header processing unit 213 Overwrites these pieces of information in the extracted old data packet part (601). The reception header processing unit 213 also creates a copy for the MAC header (602). As a result, packet transmission corresponding to IP masquerade and port forwarding can be performed. After performing the above header operation, the reception header processing unit 213 transmits the data packet to the reception packet output unit 215. If feedback data is described in the FEC header 401, the information is transmitted to the feedback data acquisition unit 214.
  • NAT Network Address Translation
  • the FEC encoding unit 204 may improve the loss rate by arbitrarily reducing the value of D obtained by calculation.
  • the FEC encoding unit 204 may decrease the value of D calculated by Expression 1 by 1, and then calculate L by Expression 2.
  • the FEC encoding unit 204 determines the loss rate and the threshold again after the lapse of the predetermined time T C1 . If the loss rate exceeds the threshold, the above procedure is repeated, and if the loss rate falls below the threshold, the fixed time T C The value of D can be kept until C2 has elapsed. You may return to the calculation method of D and L by Formula 1, Formula 2 after TC2 time progress.
  • FIG. 7 is a diagram showing a configuration of a communication system according to the second exemplary embodiment of the present invention.
  • the transmission unit 102 and the reception unit 103 can operate independently. Since the transmission unit 102 and the reception unit 103 do not necessarily exist in the same apparatus, only the transmission unit 102 can be implemented on the transmission side, and only the reception unit 103 can be implemented on the reception side.
  • FEC encoding processing can be performed. Values such as encoding time T and burst loss time TBL are preset in the user setting unit 701 of the transmission unit 102, and the packet number measuring unit 203 and the FEC encoding unit 204 are based on the information of T and TBL. FEC encoding processing is performed. Further, parameters such as T and TBL described in the user setting unit 701 can be arbitrarily changed by the user.
  • the encoding time T, burst loss time T BL , and D and L sizes corresponding to the number N of input packets per encoding time T are set in the user setting unit 701 in advance. You may do it.
  • the value of n in Equation 3 may be set in advance. Further, based on the measured values of the statistical T BL, it may be set to T to twice or three or more of the n-fold of previously determined.
  • the MTU size of the communication port on the side connected to the terminal 104 is larger than the MTU size of the communication port on the side connected to the GW 105 by the header length given by the header processing unit 205.
  • the size By setting the size smaller in advance, it is possible to prevent the packet from being divided by the IP header.
  • FIG. 8 is a diagram showing a configuration of a communication system according to the third embodiment of the present invention.
  • the embodiment shown in FIG. 8 is a form in which the communication apparatus 101 of the first embodiment is implemented as the communication software 901 of the communication terminal 104.
  • the communication software 901 includes a transmission unit 102 and a reception unit 103, calculates an FEC code for communication from a specific application 902, and transmits the encoded packet to the GW 105.
  • the terminal 104 may be a mobile phone terminal or a mobile information terminal
  • the GW 105 may be a mobile phone base station or a WiMAX (Worldwide Interoperability for Microwave Access) base station.
  • WiMAX Worldwide Interoperability for Microwave Access
  • the FEC coding block size is adaptively changed, and the packets are transmitted evenly during the unit time, thereby dividing the data packet. It is possible to effectively suppress packet loss due to burst loss without performing it.
  • the packet transmission interval of the transmitter is equalized, and the FEC calculation according to the burst loss time is performed, thereby increasing the FEC processing load such as packet division and the redundant packets more than necessary.
  • the burst loss can be effectively avoided while suppressing the transmission of.
  • FEC can be assigned to a specific application, and non-FEC can be selected for other applications.
  • Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files for realizing each function can be stored in a recording device such as a memory, a hard disk, or an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
  • the communication method or communication apparatus / system of the present invention includes a communication program for causing a computer to execute each procedure, a computer-readable recording medium storing the communication program, and a program that includes the communication program and can be loaded into the internal memory of the computer.
  • the product can be provided by a computer such as a server including the program.
  • communication device 102 transmission unit 103 reception unit 104 terminal 105 GW (gateway) 106 Communication line (wired, wireless) 201 packet input 202 to transmission unit 102 transmission packet type determination unit 203 packet number measurement unit 204 FEC encoding unit 205 transmission header processing unit 206 packet transmission unit 207 packet output 208 from transmission unit 102 packet input 209 to reception unit 103 Reception packet type determination unit 210 Reception buffer unit 211 Communication quality measurement unit 212 FEC decoding unit 213 Reception header processing unit 214 Feedback data acquisition unit 215 Reception packet output unit 216 Packet output from reception unit 103 401 FEC header 701 User setting unit 801 Feedback information transmission path 901 Form in which communication device 101 is implemented as software 902 User application

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 単位時間当たりのパケット数が少ない場合でも、FECの符号化ブロックサイズを適応的又は固定的に変更し、遅延を増加させることなくバーストロスによるパケット損失を効果的に抑制する方法を提供する。通信装置101は、送信部102と受信部103を備え、送信部102は符号化時間あたりのパケット数とネットワーク回線のバーストロス時間の値に基づきFEC(前方誤り訂正)符号を計算する機能を有する。また受信部103は、FEC符号化されたパケットを復号化するとともに、ネットワークの回線品質情報を計測し、送信部102へと伝達する。さらに送信部102は符号化時間と同じ時間をかけてパケットを等間隔に送信し、また、バーストロス時間と符号化時間を元にFECの計算方式を変更することができる。

Description

通信装置及びシステム及び方法
 本発明は、通信装置及びシステム及び方法に係り、特に、遠隔操作用システム遠隔監視システム、遠隔制御システム、及び遠隔監視制御システム等の各種システムに適用することができる低遅延通信のための通信装置及びシステム及び方法に関する。
 近年、工場の生産管理や人の立ち入りが難しい過酷な環境下での作業のため、遠隔地の映像や音声情報を取得するとともに、現場の装置を制御する遠隔監視制御システムへの要求が高まっている。この際、例えば、遠隔地との通信には通信インフラとして発達しているインターネットなどの広域網(WAN:Wide Area Network)を利用することが考えられる。
 現在、WANを介して通信する主な通信プロトコルとしては、TCP(Transmission Control Protocol)、及びUDP(User Datagram Protocol)が用いられている。TCPはある端末から別の端末へとデータを伝送する際、データ列の順序を保証するとともに、欠損したデータについては再送を行うことで信頼性の高い通信を実現している。一方高信頼なサービスを必要としないアプリケーションでは、信頼性よりも通信の低遅延を重視した通信プロトコルであるUDPが用いられている。UDPは再送を行わず、データ列の順序も保証されないかわりに高速で低遅延な伝送が可能となっている。
 一方、映像や音声などのストリームデータをリアルタイムに配送するためのプロトコルとして、RTP(Real-time Transport Protocol)がある。RTPはリアルタイムストリームを伝送するためのプロトコルとして標準化されている方式で、送信するパケットデータに時間情報を付加することで、受信端末側でデータの時間関係の把握が可能となっている。映像や音声のデータは、データの一部が欠けていても再生が可能であるため、受信側ではロスしたパケットや到着の遅れたパケットは無視し、受信側が期待する時間に到着したパケットだけを利用してデータの再生を行うことができる。RTPはTCP、UDPどちらとも組み合わせることは可能であるが、TCPでは再送によるデータ列の順序保証が行われることから、ほとんどの場合、RTPはUDPと組み合わせて利用される。
 しかしながら、上記RTPだけではネットワークを経由する際に生じるデータパケットの損失を回避することはできず、特に回線の通信品質が比較的悪い環境では高品質なストリームデータの再生ができない場合があるという課題がある。
 そこでデータ伝送の信頼性を向上させる手法として、送るデータに前方誤り訂正(FEC:Foward Error Correction)符号を付与して伝送する方式が提案されている。FEC符号を付与して伝送することで、受信側単独でデータパケットのロスを復元することができるため、回線の通信品質が比較的悪い場合においても、低遅延で高信頼な通信を実現できる。パケット伝送におけるFEC方式は複数個のパケット単位で誤り訂正符号を計算する。FEC符号としてはパリティ符号、リードソロモン符号などが用いられる。
 通常、IP(Internet Protocol)パケットによるデータ伝送においては、データを通信環境のMTU(Maximum Transmission Unit)により一定サイズでパケット化して伝送する。一定サイズでパケット化されたデータに対してFEC符号を計算する場合、十分なバーストロス耐性を得るためには、FECの符号化ブロックに含まれる元データパケット数を大きく取る必要がある。しかし入力されるパケット数が少ないとき、FEC符号化ブロックに含まれる元データパケット数を大きくすると、FEC計算遅延の増大につながる。特許文献1において、元データのデータ量が少ないときは、パケットを分割してFECブロックを再構成することで低データレートでも遅延を増加させることなくFEC符号を計算することができる方式が考案されている。
特開2008-160499号公報
 特許文献1のように、単位時間当たりの入力データ量に応じてパケットサイズの変更を行う方式では、単位時間毎のパケットサイズ変更に伴う処理負荷が大きいという課題がある。また、複数のパケットを生成するため、ネットワークの負荷が増大するという課題がある。
 本発明は、以上の点に鑑み、誤り訂正符号の符号化ブロックサイズ又は符号化処理時間と符号化ブロックサイズを設定することでパケット損失を効果的に抑制することを目的とする。
 本発明の第1の解決手段によると、
 通信装置であって、
 受信パケットのパケット欠損状況から、第1のバーストロス時間を含む第1の回線品質情報を計算する回線品質計測部と、
 受信パケットの誤り訂正ヘッダに含まれる符号化時間T及び符号化ブロックのパラメータである符号化処理量に基づき、受信パケットの欠損を修復する誤り訂正復号化部と、
 受信パケットの誤り訂正ヘッダから第2のバーストロス時間TBLを含む第2の回線品質情報を取得するフィードバックデータ取得部と、
 前記フィードバックデータ取得部により取得した第2の回線品質情報に基づき可変又は固定に符号化時間Tを設定し、送信データパケットの符号化時間T当たりのパケット数Nを計測するパケット数計測部と、
 前記パケット数計測部で計測されたパケット数N、前記パケット数計測部で設定された符号化時間T、及び、前記フィードバックデータ取得部で取得された第2の回線品質情報に基づき符号化処理量を求め、該符号化処理量により計算された誤り訂正符号を含む誤り訂正符号パケットを生成する誤り訂正符号化部と、
 前記誤り訂正符号化部による符号化処理における符号化時間T及び符号化処理量と、前記回線品質計測部で計算された第1の回線品質情報とを含む誤り訂正ヘッダを、送信データパケット及び誤り訂正符号パケットにそれぞれ付与することにより送信パケットを生成する送信ヘッダ処理部と
を備えた通信装置が提供される。
 本発明の第2の解決手段によると、
 通信システムであって、
 送信部を有し、送信側の端末とゲートウェイの間に挿入された送信側通信装置と、
 受信部を有し、受信側の端末とゲートウェイの間に挿入され受信側通信装置と
を備え、
前記受信部は、
 受信パケットのパケット欠損状況から、第1のバーストロス時間を含む第1の回線品質情報を計算する回線品質計測部と、
 受信パケットの誤り訂正ヘッダに含まれる符号化時間T及び符号化ブロックのパラメータである符号化処理量に基づき、受信パケットの欠損を修復する誤り訂正復号化部と、
 受信パケットの誤り訂正ヘッダから第2のバーストロス時間TBLを含む第2の回線品質情報を取得するフィードバックデータ取得部と、
を有し、
前記送信部は、
 前記フィードバックデータ取得部により取得した第2の回線品質情報に基づき可変又は固定に符号化時間Tを設定し、送信データパケットの符号化時間T当たりのパケット数Nを計測するパケット数計測部と、
 前記パケット数計測部で計測されたパケット数N、前記パケット数計測部で設定された符号化時間T、及び、前記フィードバックデータ取得部で取得された第2の回線品質情報に基づき符号化処理量を求め、該符号化処理量により計算された誤り訂正符号を含む誤り訂正符号パケットを生成する誤り訂正符号化部と、
 前記誤り訂正符号化部による符号化処理における符号化時間T及び符号化処理量と、前記回線品質計測部で計算された第1の回線品質情報とを含む誤り訂正ヘッダを、送信データパケット及び誤り訂正符号パケットにそれぞれ付与することにより送信パケットを生成する送信ヘッダ処理部と
を有する
ことを特徴とする通信システムが提供される。
 本発明の第3の解決手段によると、
 通信方法であって、
 受信パケットのパケット欠損状況から、第1のバーストロス時間を含む第1の回線品質情報を計算し、
 受信パケットの誤り訂正ヘッダに含まれる符号化時間T及び符号化ブロックのパラメータである符号化処理量に基づき、受信パケットの欠損を修復し、
 受信パケットの誤り訂正ヘッダから第2のバーストロス時間TBLを含む第2の回線品質情報を取得し、
 前記取得した第2の回線品質情報に基づき可変又は固定に符号化時間Tを設定し、送信データパケットの符号化時間T当たりのパケット数Nを計測し、
 前記計測されたパケット数N、前記パケット数計測部で設定された符号化時間T、及び、前記取得された第2の回線品質情報に基づき符号化処理量を求め、該符号化処理量により計算された誤り訂正符号を含む誤り訂正符号パケットを生成し、
 前記符号化処理における符号化時間T及び符号化処理量と、前記計算された第1の回線品質情報とを含む誤り訂正ヘッダを、送信データパケット及び誤り訂正符号パケットにそれぞれ付与することにより送信パケットを生成すること
を含む通信方法が提供される。
 本発明によると、誤り訂正符号の符号化ブロックサイズ又は符号化処理時間と符号化ブロックサイズを設定することでパケット損失を効果的に抑制することができる。
本発明の第1の実施形態に係る通信システムの構成を示す図である。 本発明の第1の実施形態に係る通信装置の構成例を示した図である。 本発明の第1の実施形態に係る誤り訂正符号の符号化、及び復号化の例を示した図である。 本発明の第1の実施形態に係る、送信側ヘッダ処理の例を示した図である。 本発明の第1の実施形態に係る、FECヘッダの構成例を示した図である。 本発明の第1の実施形態に係る、受信側ヘッダ処理の例を示した図である。 本発明の第2の実施形態に係る通信システムの構成例を示した図である。 本発明の第3の実施形態に係る通信システムの構成を示す図である。
[概要]
 本実施例による通信装置は、送信側と受信側それぞれに配置されるものであって、前記通信装置は送信部と受信部によって構成され、FEC符号化、及び復号化機能を持ったソフトウェア、又はハードウェアとして構成される装置である。前記送信部は、特定の通信相手、又は特定のアプリケーションからの通信を判定する送信パケット種別判定部を備え、送信パケット種別判定部は、FECの計算が不要と判断した場合にはパケットをそのまま出力し、FECの計算が必要と判断した場合にはパケット数計測部へとデータを伝送し、前記パケット数計測部は単位時間(符号化時間)当たりのパケット数を計測する。また、前記送信部は、前記符号化時間毎に前記パケット数計測部で計測されたパケット数と受信部によってもたらされるバーストロス時間のフィードバック情報に基づき前方誤り訂正符号を計算するFEC符号化部と、前記FEC符号化部で処理されたパケットにFECヘッダを付与する送信ヘッダ処理部と、前記送信ヘッダ処理部によって構成されたパケットを送出するパケット送信部を具備する。
 前記受信部は、送られてくるパケットのヘッダ情報に基づき、FECの復号化が必要かどうかを判定する受信パケット種別判定部を備え、前記受信パケット種別判定部は、FEC復号処理が不要な通常パケットについては処理を行わずにパケットを出力し、FEC複合処理が必要なパケットについては受信バッファ部へと伝送する。また、前記受信部は、前記受信バッファのデータからパケットの欠損を修復するFEC復号化部と、受信バッファの欠損したパケットからバーストロス時間を計算し、送信部の送信ヘッダ処理部にその情報を伝達する回線品質計測部と、前記FEC復号化部によって復号化したデータのヘッダ情報を処理する受信ヘッダ処理部と、ヘッダ処理後のパケットを出力する受信パケット出力部を具備する。
 前記送信部のパケット送信部は、符号化時間と同じ時間をかけてパケットを等間隔に送信することができる。また、前記送信部は、フィードバックされたバーストロス時間と、パケット数を計測する前記符号化時間を元にFECの計算方式を変更することができる。
 図1は本発明の第1の実施形態にかかる通信システムの構成を示した図である。WANを介した通信ネットワークでは、しばしば数個のパケットが連続してロスするバーストロスが発生する。本実施形態の通信装置はバーストロスによるパケットの欠損を効果的に抑制するのに適した例である。
[全体構成]
 図1に示す実施例は、端末104-1、104-2が双方向の通信を行う際の構成を示している。端末104とGW(ゲートウェイ)105の間に通信装置101が接続され、それぞれの装置間はイーサネット(登録商標)などの通信線106で接続される。通信線106は有線であっても良いし、無線であっても良い。通信装置101は送信部102と受信部103を備える。例えば通信装置101はPC(パーソナルコンピュータ)で構成されてもよい。また端末104はPCなどの装置であってもよく、PCに接続された複数の機器を制御するために本システムが適用されても良い。
 端末104-1からデータパケットが送信されたとき、通信装置101-1はデータパケットを受け取り、送信部102-1へと入力する。送信部102-1ではFEC計算などの符号化処理を行い、GW105-1側に符号化処理されたパケットを出力する。通信装置101-1からデータパケットを受け取ったGW105-1はGW105-2宛てにWANを介してパケットを送信する。WAN側からデータを受け取ったGW105-2は、通信装置101-2へとデータパケットを転送する。GW105-2からのデータを受け取った通信装置101-2は受信部103-2へとパケットを入力する。受信部103-2は符号化されたパケットを復号化し、誤り訂正を行った後、通信端末104-2へとデータパケットを伝送する。
 端末104-2が端末104-1宛てにパケットを伝送する場合も同様の処理が行われる。このように、通信装置101はLAN(Local Area Network)側から入力されたパケットに対して送信部102でパケットの符号化処理を行い、WAN側から届いたパケットに対しては受信部103によって復号化処理を行う。本構成によれば、通常端末104とGW105が直接接続されている経路に通信装置101をブリッジとして挿入すればよく、既存の通信システムに変更を加えることなくデータパケットにFEC計算処理を行うことができる。またGW105と通信装置101の間、又は通信装置101と端末104の間にネットワークルータやハブを接続してもよい。
[通信装置101]
 図2に、通信装置101の構成図を示す。通信装置101-1は通信装置101-2と対で構成され、各通信装置101は送信部102と受信部103を備える。端末側(LAN側)から入力された送信パケット入力201-1は送信部102-1に取り込まれ、送信パケット種別判定部202-1へと送られる。送信パケット種別判定部202-1は予め設定された特定の通信相手、又は特定のアプリケーションからの通信であるかどうかを判別し、該当するパケットはパケット数計測部203-1へパケットを伝送し、該当しない場合はパケットをそのまま送信パケット出力207-1として出力する機能を有する。送信パケット種別判定部202-1は、送信パケット入力201-1のヘッダに記載されているIPアドレス、ポート番号、通信プロトコルなどのヘッダ情報と、予め設定されたそれらの情報とを比較し、該当するパケットかどうかの判別を行う。送信パケット種別判定部202-1の判定条件であるIPアドレスやポート番号、通信プロトコルは、予め複数の組み合わせを設定しておくことができる。
 例えばIPアドレスとポート番号の設定に従い、FECを計算すべきパケットかどうかの判別を行う場合、通信プロトコルはTCP、UDP、RTPなどにかかわらず、FECの計算対象となり得る。
 パケット数計測部203-1は、送信パケット種別判定部202-1から送られてくるパケット数を計測し、符号化処理時間Tごとに計測したパケット数の情報をFEC符号化部204-1へと出力する。このためパケット数を計測する符号化処理時間Tは符号化処理遅延として現れることとなる。ネットワークの回線状態に応じて最適な符号化処理時間Tを選択するため、パケット数計測部203-1はフィードバックデータ取得部214-1からの情報(例、回線品質情報)に応じて符号化時間Tを変更して、ダイナミック又は適応的に設定することができる。なお、後述の実施例のように符号化時間Tを予め固定的に設定するようにしてもよい。パケット数計測部203-1における符号化時間Tの設定の詳細については後に述べる。パケット数計測部203-1に入力されたパケットについては順次FEC符号化部204-1に転送してもよいし、入力パケットをパケット数計測部203-1内のバッファに一時保存し、パケット数の計測終了と同時にFEC符号化部204-1へと転送してもよい。
 FEC符号化部204-1では、パケット数計測部203-1から入力されたデータパケットに対し、パケット数計測部203-1で計測されたパケット数と、パケット数計測部203-1でダイナミック又は適応的に設定された又は予め固定的に設定された符号化時間Tと、受信部103-1のフィードバックデータ取得部214-1によって取得された回線品質情報を元に、バーストロスに対して十分な耐性を持つFEC符号化を行う。但し、フィードバックデータ取得部214-1が回線品質情報を保持していない場合や、回線品質情報が古い場合等には予め設定された値に従いFEC符号化を行うことができる。FEC符号化部204-1における符号化処理の詳細については後に述べる。
 FEC符号化部204-1に入力されたデータパケットと、FEC符号化部204-1で計算されたFEC符号パケットは送信ヘッダ処理部205-1へと送られる。送信ヘッダ処理部205-1では、FEC符号化の詳細が記されたFECヘッダをそれぞれのパケットに付与してパケット送信部206-1へと伝送する。このとき、送信ヘッダ処理部205-1は、受信部103-1の回線品質計測部211-1が計測した通信経路217-1の回線品質情報を、通信装置101-2へのフィードバック情報としてFECヘッダに格納する。送信ヘッダ処理部205-1からのデータを受け取ったパケット送信部206-1は、符号化時間Tと同じだけの時間をかけて、バッファ内のパケットデータの送信が等しい時間間隔で行われるよう、パケット送信時間を調整して送信パケット出力207-1としてWAN側にデータ送信を行う。
 一方、通信装置101-2がGW側(WAN側)から受信パケット入力208-2を受け取ると、通信装置101-2は受信パケット種別判定部209-2へとパケットを伝送する。受信パケット種別判定部209-2は受信パケット入力208-2のIPヘッダ、TCP、UDPヘッダ、FECヘッダ、他のヘッダ情報などの情報を読み取り、FECの復号処理が必要なパケットかどうかを判断する。なお、この判断のため必要な条件は、予め適宜の組み合わせ等を設定しておくことができる。FECの復号処理が不要と判断されたパケットについては受信パケット出力216-2として受信パケットを出力し、復号化処理が必要と判断されたパケットについてはFECヘッダの情報に基づいて受信バッファ部210-2へとパケットを伝送する。受信バッファ部210-2は受信パケット種別判定部209-2から送られてくるデータを格納する。受信バッファ部210-2でパケットロスが生じていることが判明した場合、又は、パケットロスが生じているかいないかにかかわらず、回線品質計測部211-2はパケットロスの発生状況から通信回線217-2の回線品質情報を計測し、それを送信部102-2の送信ヘッダ処理部205-2に伝達する。回線品質情報とは、例えば、平均パケットロス率、最大バーストロス時間又はバーストロス時間などを指す。受信バッファ部210-2に格納された受信パケットはFEC復号化部212-2へと伝達され、パケットロスの誤り訂正処理が行われる。誤り訂正されたパケットデータは受信ヘッダ処理部213-2へと送られ、FECヘッダなどの情報を取り除いた後、受信パケット出力215-2から受信パケット出力216-2として出力される。フィードバックデータ取得部214-2は、受信したパケットのFECヘッダに含まれる通信回線217-1の回線品質情報を取得し、これを送信部102-2のパケット数計測部203-2、及びFEC符号化処理部204-2に伝達する。通信装置101-2から通信装置101-1に対する通信も同様の方式で行われる。
 なお、誤り訂正符号として、本実施例では、一例としてFEC符号を用いる場合を説明するが、これに限らずパリティや他の適宜の誤り訂正符号を用いてもよい。
[FEC符号化部204]
 FEC符号化部204はデータパケットからFEC符号化ブロックを構成し、符号化ブロックごとにFEC符号パケットを生成する。
 図3に、例えばFEC符号化方式として、2次元パリティ符号方式を用いた例を示す。図3(a)において、データパケットからD行×L列のFEC符号化ブロックを構成し、符号化ブロックの各行、各列の排他的論理和(XOR)を計算することで、縦、横それぞれの方向のFEC符号化パケットを生成する。データパケットとFEC符号化パケットはWANを介して伝送される。例えばP11、P12、・・・、P1L、P1F、P21、・・・、P2L、P2F、・・・、PF1、PF2、・・・PFLという順序で、各行ごとにパケット伝送される。このとき、図3(b)のようにL+1個の連続したパケットロス(バーストロス)が生じたとする。伝送路の途中でパケットが消失しても、受信したFEC符号化ブロックの各行、列のXORを再計算することで、図3(c)のように受信側単独の演算でロスパケットを復旧することができる。このように2次元パリティ符号では、各々の行、列にロスが1個であれば、パリティ符号から元のデータを復元することができるため、最大L+3個のパケットが連続して消失しても、パリティによる復元が可能である。ここでは簡単化のため、バーストロス耐性をFEC符号化ブロックの1行分(L+1個)であると定めると、FEC符号化ブロックの1行分のパケット数が、回線で生じるバーストロス数よりも多ければ、ロスしたパケットを復元できる。ここで、バーストロスが生じる原因はスイッチングネットワーク中のバッファあふれ等が主な原因であり、データの伝送レートに比例してバーストロスの個数が変化することとなる。このためバーストロスはパケットロスの数ではなく、パケットロスが生じた時間で規定する必要がある。つまりFEC符号化ブロックにおいては、1行分を送信する時間が、バーストロス時間TBLよりも長ければ良いということを意味する。バーストロス時間TBLの算出方法については回線品質計測部211の説明にて詳述する。
 FEC符号化部204が、回線品質計測部211によって計測されたバーストロス時間TBLを、フィードバックデータ取得部214を介して得ることができるとすると、TBL以上の時間をかけて1行(L+1個)分のデータを伝送することで、バーストロスに高い耐性を持ったFECマトリクス(FEC符号化ブロック)を生成することが可能となる。ここで、符号化時間Tの間にパケット数計測部203でN個のパケットが計測されたとすると、
Figure JPOXMLDOC01-appb-M000002
 
とFEC符号化ブロックのサイズを決定することができる。
 図3(d)にTBLによって符号化ブロックのD、Lが変化する例を示す。図3(d)左は符号化ブロックにおける各Lineの定義を示している。図3(d)右はLine1から順にデータが伝送される様子を記しており、バーストロス時間TBLが短い場合(TBL=TBL1)と長い場合(TBL=TBL2)の違いを示している。TBLが短いときは、TBLが長いときと比べて、行数Dを多くし、列数Lを少なく伝送する。一方、TBLが長い場合は、TBLが短いときと比べて、行数Dを少なくし、列数Lを多くして伝送することができる。バーストロス時間TBLがデータ1行分の送信時間と同程度であれば、受信側でのデータ復元が可能である。
 なお、2次元パリティ符号の計算では、FEC符号化ブロックのデータパケットが1行(D=1)であっても、パリティ符号を含めると2行分のパケットが発生することから、1行当りTBLの時間をかけて送信する場合、バッファ内のパケットをすべて送信するには少なくとも2TBLの時間が必要となる。よってパケット数計測時間Tは2TBL以上の時間に設定する。
[パケット数計測部203]
 パケット数計測部203はフィードバックデータ取得部214からのフィードバックデータとして通信回線のバーストロス時間TBLなどの回線品質情報を取得し、十分なバーストロス耐性を得つつFECの計算遅延を短くするようにFEC符号化時間Tを変更できる。パケット数計測部203は符号化時間TをTBLの少なくとも2倍以上に設定するよう、符号化処理時間Tを変更しても良い。
 パケット数計測部203は、例えば、nを、なるべく低遅延とするため2に予め設定するか、又は、3以上の整数として予め設定しておき、フィードバックデータ取得部214からバーストロス時間TBLの情報を取得し、パケット数計測部203の符号化時間Tを、
  T=n×TBL               (式3)
   (但しnは2以上の整数で、任意の設定値)
となるよう、予め設定された時間ごとに変更することができる。なお、Tをダイナミックに設定するタイミングは、例えば、後述のFECヘッダを参照して新しいFECIDのパケット毎としてもよいし、予め定めた適宜の時間毎等としてもよい。
 [送信ヘッダ処理部205]
 FEC符号化部204で符号化ブロックを構成していたデータパケット、及びFEC符号化部204で生成されたFEC符号パケットは送信ヘッダ処理部205へと送られる。
 図4に、送信ヘッダ処理部205のヘッダ処理の実施例を示す。まず、データパケットについては、送信ヘッダ処理部205が受け取るデータパケットは複数のプロトコルを含む可能性があることから、送信ヘッダ処理部205では、到来したデータパケットを新たにUDP/IPヘッダに包み、旧データパケットは新たなUDPパケットのデータ部としてカプセル化する。この際、新たなIPヘッダのプロトコル部はUDPとなり、IPヘッダの送信元IPアドレス、宛先IPアドレス、及びUDPヘッダの送信元ポート、宛先ポートは旧データパケットの情報をコピーして生成される(402)。また、通信装置101がブリッジとして動作する場合、MACヘッダの情報もコピーされる(403)。さらに、新たなUDPデータ部の先頭にはFEC符号化の詳細を記載したFECヘッダが付与される。
 一方、FEC符号化部204で生成されたFEC符号パケットについては、直前のデータパケットに記載されたヘッダ情報をそのままコピーして利用する(404)。またIPヘッダでフラグメントが行われたパケットについては、分割したパケットの前半部と同様のヘッダ情報を後半部のパケットにコピーする。
[FECヘッダ401]
 図5に、FECヘッダ401の構成例を示す。これは最小構成の例を示したものであり、FECヘッダとして他の情報を含んでも良い。図5において、ヘッダ識別子はFECヘッダの認識に利用する。データフラグはFECヘッダに続くデータがデータパケットであるのか、FEC符号パケットであるのかを識別するために用いられる。また拡張はフィードバックデータの有無を表す。符号化時間はパケット数計測部203のパケット計測時間がどれだけであったかを示すもので、前述の時間Tに相当する。FECヘッダ401の符号化時間には、時間情報を直接記載してもよいし、予め定められた複数の時間に対応する符号を記載する方法でも良い。FECIDは、FEC符合化部204において、符号化時間Tごとにインクリメントされる値であり、どの時間、又はどのFEC符号化ブロックで処理されたパケットであるかを示す。符号化処理量は符号化ブロック生成時のパラメータを示すもので、例えば2次元パリティ符号の場合はD、Lの情報が記載される。データ位置は、当該パケットが符号化ブロックにおいて何番目のデータかを示す情報であり、逆順パケットの順序補正等にも利用できる。フィードバックデータは受信部で計測されたバーストロス時間、パケット誤り率などの回線品質情報、及び/又は他の情報を送り返すために用いる。
[受信バッファ部210]
 受信バッファ部210は新しいFECIDを受信するとパケット受信用の記憶領域を確保し、FECヘッダに記載された符号化時間Tに、ジッタ補償時間Tを加えたT+Tの時間だけ受信を続ける。ここでTは予め設定された値である。受信バッファ部210はFEC符号化ブロックのすべてのパケットが受信されるか、新しいFECIDのパケットを受け取ってからT+Tだけの時間が経過し、タイムアウトが発生した段階で、回線品質計測部211、及びFEC復号化部212に処理開始の合図を伝送する。
 [回線品質計測部211]
 回線品質計測部211は、受信バッファ部210から処理開始の合図を受けると、処理を開始する。パケット送信部206は符号化時間Tの間にFEC符号化ブロックで生成されたパケットを均等な間隔で送り出すことから、受信側の通信装置101の回線品質計測部211は受信バッファ210、及び受信したパケットのFECヘッダから取得した情報を参照して、符号化されたパケットのうち、何パケットがロスしたか、バーストロス数がいくつかを計測し、最大バーストロス時間又はバーストロス時間、平均パケット誤り率などの回線状態の情報(回線品質情報)を算出することができる。
 回線品質情報としてバーストロス時間を用いる場合、次のように算出することができる。例えば、符号化時間Tの間にFEC符号パケットを含めてM個のパケットが送信されたとすると、回線品質計測部211は正常に受信されたFECヘッダから、T、Mの情報を取得し、パケットの送信時間間隔がT/Mであると算出することができる。よって受信されたパケットが最大でk個連続してロスしている場合、バーストロス時間TBL
Figure JPOXMLDOC01-appb-M000003
 
と算出することができる。なお、回線品質計測部211は、予め定めた時間におけるTBLの最大値を最大バーストロス時間として求めることができ、これを回線品質情報として用いてもよい。算出した回線品質情報は送信ヘッダ処理部205へ伝送される。なお、送信ヘッダ処理部205に送られた回線品質情報は、相手端末側の通信装置に対するフィードバックデータとして送信ヘッダに格納される。
[フィードバックデータ取得部214]
 回線品質計測部211で計測された回線品質情報は送信ヘッダ内にフィードバックデータとして格納される。フィードバックデータ取得部214が、相手側の通信装置から受信したFECヘッダからバーストロス時間、平均パケットロス率などの回線品質情報を含むフィードバックデータを取り出すことで、上りと下りの回線品質が異なる場合でも適切に符号化、復号化処理を行うことができる。
[FEC復号化部212]
 FEC復号化部212はFECヘッダに記載された符号化時間T、符号化処理量(D、L)、データ位置などの情報を元に受信パケットに生じているパケットロスを復元する。
 FEC復号化部212は、受信バッファ部210から処理開始の合図を受けると、復号化処理及びパケットロスを修復する処理を開始する。
[受信ヘッダ処理部213]
 受信ヘッダ処理部213は、FECヘッダのデータフラグに基づき、FEC符号パケットであればパケットを廃棄し、データパケットであればヘッダ処理を行う。
 図6に、受信ヘッダ処理部213におけるヘッダ処理の実施例を示す。受信されたパケットはUDP/IPヘッダで元のデータパケットがカプセル化された構造となっているため、受信ヘッダ処理部213は、UDPパケットのデータ部分から旧データパケット部を取りだす。送信側、又は受信側のGWでNAT(Network Address Translation)が行われている場合、受信パケットの送信元IPアドレス、宛先IPアドレス、送信元ポート番号は変換されることから、受信ヘッダ処理部213は、抽出した旧データパケット部に、これらの情報を上書きする(601)。また、受信ヘッダ処理部213は、MACヘッダについてもコピーを生成する(602)。これによって、IPマスカレードやポートフォワーディングにも対応したパケット伝送が可能となる。以上のヘッダ操作を実施した後、受信ヘッダ処理部213は受信パケット出力部215にデータパケットを伝送する。またFECヘッダ401内にフィードバックデータが記載されていた場合、その情報をフィードバックデータ取得部214へと伝送する。
 実施例1に示す送信部102のFEC符号化部204において、フィードバックデータ取得部214からバーストロス時間TBL、及び平均ロス率等の回線品質情報を含むフィードバックデータが得られたとする。符号化時間Tがバーストロス時間TBLの2倍よりも大きい値に設定されているにもかかわらず、平均ロス率が予め定められた閾値よりも大きい場合、例えば、バーストエラーよりもランダムエラーが原因でロス率が上昇していることが考えられる。この場合、FEC符号化部204は、計算で求められたDの値を任意に減少させることでロス率の改善を図るようにしてもよい。例えば、FEC符号化部204は、平均ロス率が閾値よりも大きかった場合、式1で算出されたDの値を1だけ減少させ、その後、式2によってLを算出しても良い。FEC符号化部204は、一定時間TC1経過後、再度ロス率と閾値を判定し、ロス率が閾値を上回っていた場合は上記手順を繰り返し、ロス率が閾値を下回っていれば一定時間TC2経過後までDの値をそのままにしておくことができる。TC2時間経過後は式1、式2によるD、Lの算出方式に戻っても良い。
 図7は、本発明の第2の実施形態にかかる通信システムの構成を示した図である。本実施例によれば、送信部102と受信部103が独立に動作することができる。送信部102と受信部103が必ずしも同一装置内に存在する必要がないことから、送信側は送信部102のみ、受信側は受信部103のみを実装することができ、片方向の通信に対してFEC符号化処理を実施することが可能となる。送信部102のユーザ設定部701には符号化時間T、バーストロス時間TBLなどの値が予め設定され、パケット数計測部203、FEC符号化部204はこのT、TBLの情報を元にFECの符号化処理を行う。またユーザ設定部701に記載されたT、TBLなどのパラメータはユーザが任意に変更することができる。
 図7に、記載の方式において、ユーザ設定部701に符号化時間T、バーストロス時間TBL、及び符号化時間T当りの入力パケット数Nに応じたD、Lのサイズを予め設定しておくようにしてもよい。なお、Tの代わりに式3のnの値を予め設定しておいてもよい。また、統計的なTBLの測定値に基づき、その2倍又は3以上の予め定めたn倍にTを設定しておいてもよい。Nに応じて適切なD、Lを予めユーザ設定部701に記載しておくことで、実施例1の式1、式2を計算することなく、その都度適切なFEC符号化ブロックを生成することができる。
 図1に示す通信装置101において、端末104と接続される側の通信ポートのMTUサイズは、GW105と接続される側の通信ポートのMTUサイズよりも、ヘッダ処理部205によって付与されるヘッダ長の分だけ予め小さく設定しておくことで、IPヘッダによるパケットの分割が行われないようにすることができる。
 図8は、本発明の第3の実施形態にかかる通信システムの構成を示した図である。図8に示す実施例は、実施例1の通信装置101を、通信端末104の通信ソフトウェア901として実装した形態である。通信ソフトウェア901は送信部102と受信部103を備え、特定のアプリケーション902からの通信に対してFEC符号の計算を行い、符号化されたパケットをGW105に伝送する。例えば端末104は携帯電話端末や携帯情報端末でも良く、GW105は携帯電話基地局やWiMAX(Worldwide Interoperability for Microwave Access)基地局のようなものであっても良い。
[実施例の効果]
 本発明によれば、単位時間当たりのパケット数が少ない場合でも、FECの符号化ブロックサイズを適応的に変更するとともに、パケットを単位時間の間に均等に送信することで、データパケットの分割を行うことなくバーストロスによるパケット損失を効果的に抑制することができる。
 また、本実施例によれば、送信部のパケット送信間隔を均等化するとともに、バーストロス時間に合わせたFEC計算を行うことで、パケット分割等のFEC処理負荷の増加や、必要以上の冗長パケットの送信を抑えつつ、効果的にバーストロスを回避できる。また特定のアプリケーションを対象としてFECの付与を実施し、その他のアプリケーションに対してはFECの非付与を選択することができる。
[付記]
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 本発明の通信方法又は通信装置・システムは、その各手順をコンピュータに実行させるための通信プログラム、通信プログラムを記録したコンピュータ読み取り可能な記録媒体、通信プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
101 通信装置
102 送信部
103 受信部
104 端末
105 GW(ゲートウェイ)
106 通信線(有線、無線)
201 送信部102へのパケット入力
202 送信パケット種別判定部
203 パケット数計測部
204 FEC符号化部
205 送信ヘッダ処理部
206 パケット送信部
207 送信部102からのパケット出力
208 受信部103へのパケット入力
209 受信パケット種別判定部
210 受信バッファ部
211 通信品質計測部
212 FEC復号化部
213 受信ヘッダ処理部
214 フィードバックデータ取得部
215 受信パケット出力部
216 受信部103からのパケット出力
401 FECヘッダ
701 ユーザ設定部
801 フィードバック情報の伝達経路
901 通信装置101をソフトウェアとして実装した形態
902 ユーザアプリケーション

Claims (16)

  1.  通信装置であって、
     受信パケットのパケット欠損状況から、第1のバーストロス時間を含む第1の回線品質情報を計算する回線品質計測部と、
     受信パケットの誤り訂正ヘッダに含まれる符号化時間T及び符号化ブロックのパラメータである符号化処理量に基づき、受信パケットの欠損を修復する誤り訂正復号化部と、
     受信パケットの誤り訂正ヘッダから第2のバーストロス時間TBLを含む第2の回線品質情報を取得するフィードバックデータ取得部と、
     前記フィードバックデータ取得部により取得した第2の回線品質情報に基づき可変又は固定に符号化時間Tを設定し、送信データパケットの符号化時間T当たりのパケット数Nを計測するパケット数計測部と、
     前記パケット数計測部で計測されたパケット数N、前記パケット数計測部で設定された符号化時間T、及び、前記フィードバックデータ取得部で取得された第2の回線品質情報に基づき符号化処理量を求め、該符号化処理量により計算された誤り訂正符号を含む誤り訂正符号パケットを生成する誤り訂正符号化部と、
     前記誤り訂正符号化部による符号化処理における符号化時間T及び符号化処理量と、前記回線品質計測部で計算された第1の回線品質情報とを含む誤り訂正ヘッダを、送信データパケット及び誤り訂正符号パケットにそれぞれ付与することにより送信パケットを生成する送信ヘッダ処理部と
    を備えた通信装置。
  2.  請求項1に記載の通信装置であって、
     前記送信ヘッダ処理部によって生成された送信パケットを送出するパケット送信部を
    さらに備え、
     前記パケット送信部は、誤り訂正符号化処理された送信パケットを、前記符号化時間T毎に、パケットの送信間隔が均等になるように送信することを特徴とする通信装置。
  3.  請求項1に記載の通信装置において、
     前記誤り訂正符号化部は、
     前記フィードバックデータ取得部が第2の回線品質情報として取得した第2のバーストロス時間TBLと、
     前記パケット数計測部が計測したパケット数Nと、
     予め設定された前記符号化時間Tと、
    を元に符号化処理を行うことを特徴とする通信装置。
  4.  請求項3に記載の通信装置において、
     前記誤り訂正符号は、FEC(前方誤り訂正)符号であり、
     前記誤り訂正符号化部は、
     誤り訂正符号化処理として2次元パリティのFEC符号を計算する処理を用い、
     前記符号化処理量として誤り訂正符号化ブロックの行サイズをD及び列サイズをLとし、符号化時間をT、符号化時間T内に入力されたパケット数をN、通信回線のバーストロス時間をTBLとしたとき、
    Figure JPOXMLDOC01-appb-M000001
     
    を満たすように、前記符号化処理量である行サイズD及び列サイズLを決定することを特徴とする通信装置。
  5.  請求項4に記載の通信装置において、
     前記誤り訂正符号化部は、
     前記フィードバックデータ取得部で第2の回線品質情報として取得された平均ロス率と、予め設定されたロス率の閾値とを比較し、平均ロス率が閾値を上回る場合は前記式1で求めた行サイズDを1減少させて前記符号化処理量を算出することを特徴とする通信装置。
  6. 請求項5に記載の通信装置において、
     前記誤り訂正符号化部は、
     前記式1で求めた行サイズDを1減少させた場合に、前記式2により列サイズLを更新して前記符号化処理量を算出することを特徴とする通信装置。
  7.  請求項1に記載の通信装置において、
     前記パケット数計測部は、
     前記フィードバックデータ取得部から、回線品質情報として第2のバーストロス時間TBLを取得し、
    符号化時間Tを、
    T=n×TBL                 (式3)
    (但し、nは、2であること、又は、3以上の整数で任意の設定値であること)
    となるよう、符号化時間T毎に設定される誤り訂正IDが新しい値の受信パケットを受信した時間ごと又は他の予め設定された時間ごとに変更することを特徴とする通信装置。
  8.  請求項1に記載の通信装置において、
     前記パケット数計測部の符号化時間T、第2のバーストロス時間TBLを予め固定値に設定する設定部
    をさらに備え、 
     前記パケット数計測部及び前記誤り訂正符号化部及び前記送信ヘッダ処理部及び前記設定部を有する送信部と、前記回線品質計測部及び前記誤り訂正復号化部及び前記フィードバックデータ取得部を有する受信部とが、それぞれ独立して処理を行うことを特徴とする通信装置。
  9.  請求項1に記載の通信装置において、
     符号化時間T毎に設定される誤り訂正IDが新しい値の受信パケットを受信した際、、誤り訂正ヘッダに記載された符号化時間Tに、ジッタ補償時間Tを加えたT+Tの時間、受信パケットを受信する受信バッファ部
    をさらに備え、
     前記誤り訂正復号化部は、T+Tの時間後に、受信パケットに生じたパケットの欠損を修復して復号する機能を有することを特徴とする通信装置。
  10.  請求項1に記載の通信装置において、
     前記パケット数計測部は、符号化時間Tを、予め測定された第2のバーストロス時間TBLの最大値又は平均値又は他の統計値に対して、2倍に設定すること、又は、3以上の予め定められた整数n倍に設定することを特徴とする通信装置。
  11.  請求項1に記載の通信装置において、
     送信側の端末からの予め定められた特定の送信パケットに対しては、送信パケットを誤り訂正符号化を行うために前記パケット数計測部へ出力し、その他の送信パケットに対しては送信パケットをそのまま出力するために、送信パケットを分岐する送信パケット種別判定部と、
     誤り訂正符号化が行われた受信パケットを受信した際は受信パケットに対して誤り訂正の復号化を行い、その他の受信パケットを受信した際は受信パケットをそのまま出力するために、受信パケットを分岐する受信パケット種別判定部と
    をさらに備えたことを特徴とする通信装置。
  12.  請求項1に記載の通信装置において、
     送信側では、前記送信ヘッダ処理部が、送信データパケットをUDPヘッダに包んでUDPパケットとして送信し、
     受信側では、前記UDPパケットを受け取った、UDPパケットから受信データパケットを抽出する受信ヘッダ処理部をさらに備えた
    ことを特徴とする通信装置。
  13.  請求項12に記載の通信装置において、
     前記送信ヘッダ処理部は、送信するデータパケットのヘッダの送信元アドレス、宛先アドレス、送信元ポート、宛先ポートをコピーしてUDPヘッダを生成することを特徴とする通信装置。
  14.  請求項12に記載の通信装置において、
     前記受信ヘッダ処理部は、前記誤り訂正復号化部によって復号化したUDPパケットから抽出した受信データパケットに、前記UDPパケットのヘッダの情報から送信元アドレス、宛先アドレス、送信先ポート、宛先ポートをコピーして受信パケットを作成することを特徴とする通信装置。
  15.  通信システムであって、
     送信部を有し、送信側の端末とゲートウェイの間に挿入された送信側通信装置と、
     受信部を有し、受信側の端末とゲートウェイの間に挿入され受信側通信装置と
    を備え、
    前記受信部は、
     受信パケットのパケット欠損状況から、第1のバーストロス時間を含む第1の回線品質情報を計算する回線品質計測部と、
     受信パケットの誤り訂正ヘッダに含まれる符号化時間T及び符号化ブロックのパラメータである符号化処理量に基づき、受信パケットの欠損を修復する誤り訂正復号化部と、
     受信パケットの誤り訂正ヘッダから第2のバーストロス時間TBLを含む第2の回線品質情報を取得するフィードバックデータ取得部と、
    を有し、
    前記送信部は、
     前記フィードバックデータ取得部により取得した第2の回線品質情報に基づき可変又は固定に符号化時間Tを設定し、送信データパケットの符号化時間T当たりのパケット数Nを計測するパケット数計測部と、
     前記パケット数計測部で計測されたパケット数N、前記パケット数計測部で設定された符号化時間T、及び、前記フィードバックデータ取得部で取得された第2の回線品質情報に基づき符号化処理量を求め、該符号化処理量により計算された誤り訂正符号を含む誤り訂正符号パケットを生成する誤り訂正符号化部と、
     前記誤り訂正符号化部による符号化処理における符号化時間T及び符号化処理量と、前記回線品質計測部で計算された第1の回線品質情報とを含む誤り訂正ヘッダを、送信データパケット及び誤り訂正符号パケットにそれぞれ付与することにより送信パケットを生成する送信ヘッダ処理部と
    を有する
    ことを特徴とする通信システム。
  16.  通信方法であって、
     受信パケットのパケット欠損状況から、第1のバーストロス時間を含む第1の回線品質情報を計算し、
     受信パケットの誤り訂正ヘッダに含まれる符号化時間T及び符号化ブロックのパラメータである符号化処理量に基づき、受信パケットの欠損を修復し、
     受信パケットの誤り訂正ヘッダから第2のバーストロス時間TBLを含む第2の回線品質情報を取得し、
     前記取得した第2の回線品質情報に基づき可変又は固定に符号化時間Tを設定し、送信データパケットの符号化時間T当たりのパケット数Nを計測し、
     前記計測されたパケット数N、前記パケット数計測部で設定された符号化時間T、及び、前記取得された第2の回線品質情報に基づき符号化処理量を求め、該符号化処理量により計算された誤り訂正符号を含む誤り訂正符号パケットを生成し、
     前記符号化処理における符号化時間T及び符号化処理量と、前記計算された第1の回線品質情報とを含む誤り訂正ヘッダを、送信データパケット及び誤り訂正符号パケットにそれぞれ付与することにより送信パケットを生成すること
    を含む通信方法。
PCT/JP2013/080862 2013-11-15 2013-11-15 通信装置及びシステム及び方法 WO2015072005A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2013/080862 WO2015072005A1 (ja) 2013-11-15 2013-11-15 通信装置及びシステム及び方法
JP2015547345A JP6294346B2 (ja) 2013-11-15 2013-11-15 通信装置及びシステム及び方法
US15/035,569 US10320520B2 (en) 2013-11-15 2013-11-15 Communication device, system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/080862 WO2015072005A1 (ja) 2013-11-15 2013-11-15 通信装置及びシステム及び方法

Publications (1)

Publication Number Publication Date
WO2015072005A1 true WO2015072005A1 (ja) 2015-05-21

Family

ID=53056968

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/080862 WO2015072005A1 (ja) 2013-11-15 2013-11-15 通信装置及びシステム及び方法

Country Status (3)

Country Link
US (1) US10320520B2 (ja)
JP (1) JP6294346B2 (ja)
WO (1) WO2015072005A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3352400A4 (en) * 2015-09-17 2018-09-12 Nec Corporation Terminal device, control method therefor, and recording medium in which control program for terminal device is stored
US12081347B2 (en) 2019-12-05 2024-09-03 Sony Group Corporation Reception terminal and method

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581554B2 (en) 2017-01-13 2020-03-03 Dolby Laboratories Licensing Corporation Systems and methods to generate copies of data for transmission over multiple communication channels
US10367682B2 (en) * 2017-06-30 2019-07-30 Bank Of American Corporation Node failure recovery tool
US10616088B2 (en) * 2017-07-13 2020-04-07 Avago Technologies International Sales Pte. Limited Apparatus and method for measurements at intermediate nodes in end-to-end performance test
JP6952726B2 (ja) * 2019-01-07 2021-10-20 株式会社東芝 通信装置、通信方法、通信プログラム、および通信システム
JP7145117B2 (ja) * 2019-04-05 2022-09-30 ルネサスエレクトロニクス株式会社 通信装置
WO2020245883A1 (ja) * 2019-06-03 2020-12-10 日本電信電話株式会社 信号転送装置及び信号転送方法
KR20220033055A (ko) * 2019-09-10 2022-03-15 후아웨이 테크놀러지 컴퍼니 리미티드 패킷 처리 방법 및 장치 그리고 칩
CN112564855A (zh) * 2019-09-10 2021-03-26 华为技术有限公司 报文处理方法、装置以及芯片
CN114004320B (zh) * 2021-10-15 2023-11-28 库卡机器人(广东)有限公司 图形码的生成方法和装置、识别方法和装置、电子设备
CN114401208B (zh) * 2021-12-10 2022-12-06 北京百度网讯科技有限公司 数据传输方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006157525A (ja) * 2004-11-30 2006-06-15 Nippon Telegr & Teleph Corp <Ntt> 符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラム
JP2007074152A (ja) * 2005-09-05 2007-03-22 Nippon Telegr & Teleph Corp <Ntt> 品質測定方法及び装置及び符号誤り訂正方法及びシステム及びプログラム
JP2007324876A (ja) * 2006-05-31 2007-12-13 Ntt Communications Kk データ送信装置、データ受信装置、データ送信方法、データ受信方法、及びプログラム
JP2008510380A (ja) * 2004-08-12 2008-04-03 インターデイジタル テクノロジー コーポレーション 無線通信媒体へのアクセスを制御するための方法およびシステム
JP2009060513A (ja) * 2007-09-03 2009-03-19 Toshiba Corp Fec送信処理装置、ならびにfec送信処理のための方法およびプログラム
JP2010183439A (ja) * 2009-02-06 2010-08-19 Canon Inc 送信装置、及び、方法、プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6804237B1 (en) * 1999-06-23 2004-10-12 Nortel Networks Limited Method, devices and signals for multiplexing payload data for transport in a data network
US8898340B2 (en) * 2000-04-17 2014-11-25 Circadence Corporation Dynamic network link acceleration for network including wireless communication devices
US6970935B1 (en) * 2000-11-01 2005-11-29 International Business Machines Corporation Conversational networking via transport, coding and control conversational protocols
US7240350B1 (en) * 2002-01-07 2007-07-03 Slt Logic, Llc System and method for providing communications to processes
WO2003085838A1 (fr) * 2002-04-05 2003-10-16 Sony Corporation Dispositif et procede d'entrelacement, dispositif et procede de desentrelacement
JP4040426B2 (ja) * 2002-10-18 2008-01-30 富士通株式会社 データ送信装置
JP2004171206A (ja) * 2002-11-19 2004-06-17 Hitachi Ltd ストレージシステム
JP2004254127A (ja) * 2003-02-20 2004-09-09 Hamamatsu Photonics Kk データ伝送方法、データ伝送プログラム及びデータ伝送装置
JP4255951B2 (ja) * 2003-09-09 2009-04-22 株式会社エヌ・ティ・ティ・ドコモ 無線多重伝送システムにおける信号伝送方法及び送信機
US8064341B2 (en) * 2003-10-10 2011-11-22 Nortel Networks Limited Temporal-spatial burst switching
TWI235911B (en) * 2004-02-20 2005-07-11 Mediatek Inc Error correction code generator
US20060056403A1 (en) * 2004-09-13 2006-03-16 Pleasant Daniel L System and method for robust communication via a non-reliable protocol
US7676735B2 (en) * 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
US7990887B2 (en) * 2006-02-22 2011-08-02 Cisco Technology, Inc. Sampling test of network performance
EP1871065A1 (en) * 2006-06-19 2007-12-26 Nederlandse Organisatie voor Toegepast-Natuuurwetenschappelijk Onderzoek TNO Methods, arrangement and systems for controlling access to a network
JP4356742B2 (ja) 2006-12-25 2009-11-04 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法
US8074054B1 (en) * 2007-12-12 2011-12-06 Tellabs San Jose, Inc. Processing system having multiple engines connected in a daisy chain configuration
US8468572B2 (en) * 2008-03-26 2013-06-18 Cisco Technology, Inc. Distributing digital video content to multiple end-user devices
US20100023842A1 (en) * 2008-07-25 2010-01-28 Nortel Networks Limited Multisegment loss protection
JP5598155B2 (ja) * 2010-08-12 2014-10-01 ソニー株式会社 情報処理装置および方法、並びに送受信システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510380A (ja) * 2004-08-12 2008-04-03 インターデイジタル テクノロジー コーポレーション 無線通信媒体へのアクセスを制御するための方法およびシステム
JP2006157525A (ja) * 2004-11-30 2006-06-15 Nippon Telegr & Teleph Corp <Ntt> 符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラム
JP2007074152A (ja) * 2005-09-05 2007-03-22 Nippon Telegr & Teleph Corp <Ntt> 品質測定方法及び装置及び符号誤り訂正方法及びシステム及びプログラム
JP2007324876A (ja) * 2006-05-31 2007-12-13 Ntt Communications Kk データ送信装置、データ受信装置、データ送信方法、データ受信方法、及びプログラム
JP2009060513A (ja) * 2007-09-03 2009-03-19 Toshiba Corp Fec送信処理装置、ならびにfec送信処理のための方法およびプログラム
JP2010183439A (ja) * 2009-02-06 2010-08-19 Canon Inc 送信装置、及び、方法、プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3352400A4 (en) * 2015-09-17 2018-09-12 Nec Corporation Terminal device, control method therefor, and recording medium in which control program for terminal device is stored
US10749628B2 (en) 2015-09-17 2020-08-18 Nec Corporation Terminal apparatus, control method therefor, and recording medium in which control program for terminal apparatus is stored
US12081347B2 (en) 2019-12-05 2024-09-03 Sony Group Corporation Reception terminal and method

Also Published As

Publication number Publication date
JP6294346B2 (ja) 2018-03-14
JPWO2015072005A1 (ja) 2017-03-09
US10320520B2 (en) 2019-06-11
US20160294508A1 (en) 2016-10-06

Similar Documents

Publication Publication Date Title
JP6294346B2 (ja) 通信装置及びシステム及び方法
JP6412160B2 (ja) 通信装置、通信装置システム及び通信方法
JP4002183B2 (ja) パケット・チャネルを介するマルチメディア通信のための方法
KR100680671B1 (ko) 에러 정정용 데이터의 생성 방법 및 생성 장치와 생성 프로그램을 저장한 컴퓨터 판독가능한 기록 매체
US9781488B2 (en) Controlled adaptive rate switching system and method for media streaming over IP networks
US8004963B2 (en) Apparatus and method for packet redundancy and recovery
JP2020502832A (ja) データストリーミングの前方誤り訂正
JP2016501464A (ja) プロキシサーバを用いて通信ネットワークにおいてtcp及び他のネットワークプロトコルのパフォーマンスを向上させる方法及び装置
KR20090119898A (ko) 비디오 전송 중 패킷 손실의 영향 줄이기
US11190455B2 (en) Decoding of a media stream at a packet receiver
KR20130039866A (ko) 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치
Toemoeskoezi et al. On the delay characteristics for point-to-point links using random linear network coding with on-the-fly coding capabilities
US10003434B2 (en) Efficient error correction that aggregates different media into encoded container packets
US10833710B2 (en) Bandwidth efficient FEC scheme supporting uneven levels of protection
JP2014099708A (ja) 送信装置、受信装置、送信方法、及び受信方法
KR101953580B1 (ko) 영상회의 시스템에서 데이터 송수신 장치 및 방법
Toemoeskoezi et al. On the packet delay characteristics for serially-connected links using random linear network coding with and without recoding
WO2018109500A1 (en) Low delay, error resilient video transport protocol over public ip transit
JP5523163B2 (ja) 送信装置、送信方法、プログラム
JP2014011670A (ja) 送信装置、受信装置、送信方法、及び受信方法
KR101999105B1 (ko) 실시간 비디오 스트리밍에서 비디오 지연시간을 최소로 하면서 안정적으로 비디오 데이터를 송수신하는 방법
JP6614145B2 (ja) 受信装置、受信方法およびコンピュータプログラム
JP2011211617A (ja) 動画像伝送装置、動画像伝送システム、動画像伝送方法およびプログラム
Gorius et al. Predictably reliable real-time transport over large bandwidth-delay product networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13897640

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015547345

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15035569

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13897640

Country of ref document: EP

Kind code of ref document: A1