WO2013080481A1 - 通信装置、通信方法、及び通信プログラム - Google Patents

通信装置、通信方法、及び通信プログラム Download PDF

Info

Publication number
WO2013080481A1
WO2013080481A1 PCT/JP2012/007412 JP2012007412W WO2013080481A1 WO 2013080481 A1 WO2013080481 A1 WO 2013080481A1 JP 2012007412 W JP2012007412 W JP 2012007412W WO 2013080481 A1 WO2013080481 A1 WO 2013080481A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
fec
error
symbols
error correction
Prior art date
Application number
PCT/JP2012/007412
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 パナソニック株式会社
Publication of WO2013080481A1 publication Critical patent/WO2013080481A1/ja
Priority to US14/292,410 priority Critical patent/US9319074B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/0045Arrangements at the receiver end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Definitions

  • the present invention relates to a communication device, a communication method, and a program.
  • the code words have a minimum Hamming distance of d> 1, that is, they differ from each other by at least d units. Error detection and error correction are performed using this redundancy.
  • an error of d-1 units per codeword can be detected, and in error correction, an error of [(d-1) / 2] units per codeword can be corrected ([] is a floor). function).
  • FEC Forward Error Correction
  • RS code Reed-Solomon code
  • the code word of the RS code is expressed as, for example, an RS (n, k) code or simply RS (n, k).
  • erasure correction In RS code error correction, error correction when an error position is specified in advance is referred to as erasure correction, but erasure correction can correct errors up to nk symbols or less per code word.
  • a video quality estimation apparatus capable of estimating the video quality of video data by using the FEC code is known (for example, see Patent Document 1).
  • the number of information packets is k
  • the number of inspection packets is m
  • the present invention has been made in view of the above circumstances, and an object thereof is to provide a communication device, a communication method, and a communication program capable of improving error correction capability.
  • the communication apparatus is a communication apparatus that performs communication with another communication apparatus, and receives a reception packet including an information packet including an information symbol constituting an FEC code and a check packet including a check symbol.
  • a receiving unit that divides each packet into a plurality of symbols, a first error detecting unit that detects whether each packet of the received packet is a normal received packet or an abnormal received packet, and the normal for each FEC code
  • a plurality of FEC decoding candidates configured by normal symbols included in a received packet and uncertain symbols included in the non-normal received packet are generated so that the uncertain symbols are different, and a first error correction is performed.
  • the plurality of first error correction results for the plurality of FEC decoding candidates by the error correction unit and the first error correction unit, Based on the result of the first error correction, and a second error correction unit for correcting the FEC code.
  • the FEC code for which error correction (second error correction) was difficult based on the degree of coincidence of the results of a plurality of error corrections (first error correction) for a plurality of FEC decoding candidates. Can also be restored.
  • error correction can be performed using a packet that is normally discarded in a relatively lower layer (such as a DLC layer). Therefore, it is possible to improve error correction capability.
  • the first error correction unit has a number of normal reception packets in which no error is detected by the first error detection unit less than the number of the information packets, and the number of the reception packets Is equal to or greater than the number of information packets, for each FEC code, all normal symbols that are symbols included in the normal reception packet, and abnormal reception packets in which an error is detected by the first error detection unit.
  • a plurality of FEC decoding candidates constituted by a part of uncertain symbols that are included may be generated so that the uncertain symbols are different.
  • the number of FEC decoding candidate symbols may be the same as the number of information symbols.
  • error correction can be performed using the minimum number of FEC decoding candidate symbols necessary for error correction.
  • the second error correction unit for each FEC code, matches the value of the indeterminate symbol included in the abnormal received packet and the result of the first error correction that matches.
  • the transmission symbol included in the transmission packet transmitted by the other communication device may be calculated based on the value of the error symbol included in the abnormal packet obtained by the above.
  • the communication device of the present invention includes a second error detection unit that performs second error detection on a modified packet that is a packet modified by the second error correction unit, and the second error correction unit
  • the correction packet may be changed from the abnormal reception packet to the normal reception packet.
  • this communication apparatus it can be verified that the FEC code has been reliably corrected by the second error correction. Further, it can be confirmed that error symbols are not included in subsequent FEC codes in the same packet.
  • the number of normally received packets is equal to or greater than the number of information packets.
  • the first error correction for the FEC decoding candidate of the subsequent FEC code may be stopped, and the first error correction for the subsequent FEC code may be performed.
  • this communication apparatus when the number of normally received packets increases to the number of information packets or more as a result of the first error correction, general error correction (second error correction) can be performed. Therefore, the error correction process can be facilitated and the amount of calculation can be reduced.
  • the communication method of the present invention receives a plurality of packets, divides each packet into a plurality of symbols, and FEC decoding composed of normal symbols and uncertain symbols included in the divided symbols.
  • this communication method it is possible to restore an FEC code that has been difficult to correct based on the degree of coincidence of a plurality of error correction results for a plurality of FEC decoding candidates.
  • error correction can be performed using a packet that is normally discarded in a relatively lower layer (such as a DLC layer). Therefore, it is possible to improve error correction capability.
  • the communication program of the present invention is a program for causing a computer to execute each step of the communication method.
  • this communication program it is possible to restore an FEC code that has been difficult to be corrected based on the degree of coincidence of a plurality of error correction results for a plurality of FEC candidates. Therefore, it is possible to improve error correction capability.
  • the error correction capability can be improved.
  • the figure for demonstrating FEC decoding in the 1st Embodiment of this invention The flowchart which shows the operation example of the reception process part and FEC decoding part in the 1st Embodiment of this invention.
  • the flowchart which shows the operation example of the reception process part and FEC decoding part in the 1st Embodiment of this invention (continuation of FIG. 5)
  • the figure for demonstrating FEC encoding in the 2nd Embodiment of this invention The figure for demonstrating FEC decoding in the 2nd Embodiment of this invention.
  • the flowchart which shows the operation example of the reception process part and FEC decoding part in the 2nd Embodiment of this invention The flowchart which shows the operation example of the reception process part and FEC decoding part in the 2nd Embodiment of this invention (continuation of FIG. 10).
  • a communication apparatus of the present embodiment a communication apparatus that performs communication via a wired LAN, a coaxial cable, a power line or the like, a communication apparatus that performs communication via a wireless communication such as cellular communication, wireless LAN, or Bluetooth (registered trademark). , Etc. can be considered.
  • the communication device of the present embodiment is a communication device that performs packet transmission, and includes communication devices in a video conference system, a surveillance camera video transmission system, a video data download / upload system, a remote lesson system, and the like. Further, the present invention is very suitable for a communication apparatus that performs communication using a communication path having a relatively high packet error rate such as a wireless communication path.
  • the communication device of this embodiment performs error correction, particularly erasure correction.
  • error correction particularly erasure correction.
  • RS RS
  • the data of RS (15, 7) includes information data D 0 to D 6 to be actually transmitted and parity data P 0 to P 7 for checking.
  • the transmission device and the reception device prepare and hold the following eighth-order generator polynomial G (x).
  • the transmission apparatus determines the parity data P 0 to P 7 so that the following formula is established.
  • W 0 to W 14 are transmission symbols. If W (x) is defined as follows from the equation (Equation 2), W (x) is divisible by G (x).
  • the receiving device receives the received symbols (R 0 to R 14 ) from the transmitting device.
  • the transmission symbol There is the following relationship between the transmission symbol and the reception symbol. That means E i indicates an error symbol superimposed on each transmission symbol on the communication path.
  • the receiving apparatus can recognize the values of the syndromes S 0 , S 1 , and S 2 from the received symbols, and can also recognize the value of ⁇ from the definition equation of the generator polynomial G (x). Therefore, if the lost symbol position (i value), which is the position where the error has occurred, can be recognized, the values of the error symbols E 5 , E 8 , E 13 can be calculated, and the erasure correction is performed. be able to.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system according to the first embodiment of the present invention.
  • the communication device 100 and the communication device 200 are connected via a communication path 300.
  • the communication path 300 includes a wide variety of communication lines such as a power line, a wired line such as a wired LAN, a wireless line such as a cellular communication and a wireless LAN. Moreover, the thing containing a base station, a core network, the internet etc. is also considered.
  • the communication path 300 includes a first communication path 310 in which data is transmitted in a direction from the communication apparatus 100 toward the communication apparatus 200 (first direction), and a direction from the communication apparatus 200 toward the communication apparatus 100 (second direction). And a second communication path 320 through which data is transmitted.
  • the communication apparatus 100 includes a video encoding unit 101, a packet generation unit 102, an FEC encoding unit 103, a transmission processing unit 104, a reception processing unit 105, an FEC decoding unit 106, and a video decoding unit 107.
  • the video encoding unit 101 includes a packet generation unit 102, an FEC encoding unit 103, a transmission processing unit 104, a reception processing unit 105, an FEC decoding unit 106, and a video decoding unit 107.
  • the video encoding unit 101 encodes a video signal received from an external device or a video signal output from a memory (not shown) to generate a video code.
  • a video code is an example of an information symbol.
  • a known method is used as a video signal encoding method. Note that when the video signal is encoded at a variable rate, the number of information packets generated in a certain time is variable.
  • the packet generation unit 102 generates a packet (information packet) including an information symbol as a video code (see FIG. 3 described later).
  • the FEC encoder 103 encodes information symbols constituting the information packet from the packet generator 102 by FEC (FEC encoding), and generates a fixed-length FEC code.
  • FEC FEC encoding
  • the FEC code includes information symbols and check symbols, and includes an RS code. Details of the FEC encoding will be described later.
  • the packet encoded by the FEC encoding unit 103 is also referred to as a generated packet (see FIG. 3 described later).
  • the header of the generated packet includes identification information for identifying the generated packet and other information related to the generated packet.
  • the generated packet generated by the FEC encoding unit 103 is a packet in the seventh layer (application layer, hereinafter, also simply referred to as “application layer”) of the OSI reference model (see FIG. 3 described later).
  • application layer hereinafter, also simply referred to as “application layer” of the OSI reference model (see FIG. 3 described later).
  • the transmission processing unit 104 assigns a CRC (Cyclic Redundancy Check) based on each symbol (information symbol, check symbol, etc.) included in the generated packet from the FEC encoding unit 103.
  • CRC is one of error detection codes.
  • a packet including the generated packet and the CRC is also referred to as a transmission packet (see FIG. 3 described later).
  • the header of the transmission packet includes identification information for identifying the transmission packet and other information related to the transmission packet.
  • the transmission processing unit 104 transmits the generated transmission packet to the first communication path 310.
  • the transmission packet generated by the transmission processing unit 104 is a packet in the second layer (data link control layer, hereinafter referred to as “DLC (Data Link Control) layer”, “layer 2”) of the OSI reference model. (See FIG. 3 described later).
  • DLC Data Link Control
  • layer 2 data Link Control layer
  • the CRC assigned by the transmission processing unit 104 is a CRC (a CRC of the DLC layer) for performing error detection in the DLC layer.
  • the CRC of the DLC layer is data for determining whether an error has occurred in a symbol in a packet due to communication.
  • the reception processing unit 105 receives a packet from the second communication path 320.
  • the packet received by the reception processing unit 105 is also referred to as a received packet (see FIG. 3 described later).
  • the received packet includes an FEC code composed of an information packet and an inspection packet.
  • the received packet is the same as the transmission packet of the communication apparatus 200 in an ideal case where a line error is not superimposed on the communication path 300.
  • the received packet is a packet in the DLC layer (see FIG. 3 described later).
  • the reception processing unit 105 has a function as a reception unit that receives a reception packet.
  • the received packet is divided into a plurality of symbols by the reception processing unit 105.
  • the reception processing unit 105 performs error detection (first error detection) using the CRC of the DLC layer for the received packet. If the received packet is normal (OK) as a result of the error detection, the reception processing unit 105 sets the received packet as a normal received packet (P G ) and counts the number of normal received packets (a). On the other hand, when the received packet is abnormal (NG), the received packet is regarded as an abnormal received packet (P N ), and the number (b) of abnormal received packets is counted. Thus, the reception processing unit 105 functions as a first error detection unit that performs first error detection on a received packet.
  • first error detection error detection
  • the reception processing unit 105 recognizes a lost packet (P L ) that is transmitted from the communication device 100 but not received by the communication device 200, and counts the number (c) of lost packets.
  • the lost packet can be recognized from, for example, transmission packet identification information (for example, transmission packet number) included in the header of the received packet.
  • Reception processing unit 105 the received packet (normal reception packet (P G) and the abnormal reception packet (P N)), the number of packets received (a), the abnormal number of received packets (b), the number of lost packets (c) Is output to the FEC decoding unit 106.
  • Each symbol included in the normal reception packet (P G ) is a normal symbol.
  • Each symbol included in the abnormal reception packet (P N ) is an indeterminate symbol.
  • Each symbol included in the lost packet (P L ) is a lost symbol.
  • the error symbols include a loss symbol and a symbol different from the data at the time of transmission that is a part of the indeterminate symbol.
  • the FEC decoding unit 106 decodes the received packet from the reception processing unit 105 by FEC (FEC decoding).
  • FEC decoding FEC decoding
  • the packet FEC decoded by the FEC decoding unit 106 is also referred to as a decoded packet (see FIG. 3 described later).
  • the decrypted packet is an application layer packet (see FIG. 3 described later).
  • the FEC decoding unit 106 changes the FEC decoding candidates configured by all the normal symbols and a part of the uncertain symbols for each FEC code so that the uncertain symbols are different.
  • the FEC code candidate is a combination of symbols that are regarded as symbols that are not lost when performing the FEC decoding process. Specifically, as described above, a combination of a normal symbol and an indeterminate symbol. That is.
  • the FEC decoding unit 106 has a function as a first error correction unit that performs error correction (first error correction) on the FEC decoding candidates.
  • the FEC decoding unit 106 selects an FEC code based on a result of matching error correction (first error correction) among a plurality of error correction (first error correction) results for a plurality of FEC decoding candidates. It has a function as a second error correction unit for correcting (second error correction).
  • the video decoding unit 107 decodes a video code as an information symbol included in the information packet from the FEC decoding unit 106 to obtain a video signal.
  • a known system is used as a video signal decoding system.
  • video data is assumed as user data, other data such as audio data may be used.
  • the communication device 200 includes a video encoding unit 201, a packet generation unit 202, an FEC encoding unit 203, a transmission processing unit 204, a reception processing unit 205, an FEC decoding unit 206, and a video decoding unit 207.
  • the video encoding unit 201 includes a packet generation unit 202, an FEC encoding unit 203, a transmission processing unit 204, a reception processing unit 205, an FEC decoding unit 206, and a video decoding unit 207.
  • the communication device 200 Since the communication device 200 has the same function as the component having the same name in the communication device 100, description thereof is omitted here. However, the direction of the communication path 300 (the first communication path 310 and the second communication path 320) in transmission and reception is reversed.
  • the operation of the communication device 100 and the operation of the communication device 200 are the same. Therefore, the operation related to transmission is exemplified by the operation of the communication device 100, and the operation related to reception is exemplified as the operation of the communication device 200. ,explain. Further, it is mainly assumed that an RS code is used as the FEC code.
  • Communication devices 100 and 200 hold in advance information on the number of information symbols (k) and the number of symbols (n) of the transmission packets included in the transmission packets of communication devices 200 and 100, which are communication partners. . Note that the number of test symbols is nk.
  • FIG. 3 is a diagram for explaining FEC encoding.
  • the video encoding unit 101 encodes the video signal
  • the packet generation unit 102 converts the encoded video signal into an information packet.
  • 1 pkt in FIG. 3 indicates an information packet for one packet, and corresponds to, for example, 1000 information symbols (8000 bits). Here, it is divided into four information packets. Further, 8 bits correspond to one symbol.
  • the data size of one packet is large, it is divided into 1000 symbols.
  • error correction in this embodiment can be applied if one packet is divided into two symbols or more. .
  • the FEC encoding unit 103 performs FEC encoding by adding three inspection packets for every four information packets so as to be RS (7, 4).
  • the packet is divided into 7 packets (4 information packets and 3 inspection packets), and 7 packets correspond to 1000 RS (7, 4) codes.
  • the FEC encoding unit 103 adds a header to the head of each information packet and each inspection packet in the generated packet.
  • the transmission processing unit 104 adds a CRC determined from the generated packet, and generates a transmission packet. Further, as shown in FIG. 3, in the transmission packet, a header is added to the head of each information packet and each inspection packet. The transmission processing unit 104 transmits this transmission packet to the communication device 200 via the first communication path 310.
  • erasure correction is mainly performed as error correction.
  • erasure correction will be mainly described.
  • FIG. 4 is a diagram for explaining FEC decoding.
  • the transmitted packet may cause an error (bit error) due to the data being changed or lost during transmission of the first communication path 310.
  • an abnormally received packet in which an error has occurred has an error in one of the symbols, but cannot normally be determined. Therefore, in FIG. 4, the symbol “x” is used as an incorrect symbol for convenience.
  • the reception processing unit 205 receives the received packet.
  • the received packet includes an information packet including an information symbol constituting an FEC code and a check packet including a check symbol.
  • an error may occur in some symbols, Packets are lost.
  • an error occurs in a part of the first information packet including the information symbol D 3 and a part of the third information packet including the information symbol D 1 transmitted by the communication apparatus 100, and the information symbol D 2 All the second information packets including are lost (packet loss).
  • an error has occurred in a part of the first test packet containing a check symbols P 2 transmitted by the communication device 100.
  • FIG. 4 it is assumed that the first information packet to the fourth information packet and the first check packet to the third check packet are arranged in order from the left side.
  • the reception processing unit 205 performs error detection using the CRC of the DLC layer for the received first information packet, third information packet, fourth information packet, and first to third inspection packets. Do. In error detection, it is determined that the fourth information packet without error, the second inspection packet, and the third inspection packet are normally received (OK), and the first information packet, the third information packet, and the error are present. It is determined that the first inspection packet has been received abnormally (NG). On the other hand, this error detection cannot be performed for the second information packet that has not been received.
  • the reception processing unit 205 refers to the header of the received packet, and converts the packet corresponding to the generated packet included in the received packet (the packet configured by the information symbol or the check symbol and the generated packet header) to the FEC decoding unit. It outputs to 206.
  • the FEC decoding unit 206 receives the packet from the reception processing unit 205 and performs erasure correction. Note that the FEC decoding unit 206 may determine which packet position is a normal received packet, an abnormal received packet, or a lost packet based on the received packet information from the reception processing unit 205. Since it is possible, erasure correction can be performed.
  • the FEC decoding unit 206 generates an FEC decoding candidate by combining a normal received packet and a part of the abnormal received packet, and based on the result of erasure correction for the FEC decoding candidate, Restore the sign. When a predetermined condition is satisfied, the original data can be accurately restored by the erasure correction as in the decoded packet shown in FIG.
  • the erasure correction for the FEC decoding candidates as described above is considered.
  • the original data can be restored by general erasure correction.
  • FIGS. 5 and 6 are flowcharts illustrating exemplary operations of the reception processing unit 205 and the FEC decoding unit 206.
  • a communication program for performing this operation is stored in the ROM in the communication device 200 and executed by the CPU in the communication device 200.
  • the reception processing unit 205 receives a packet (received packet) transmitted via the first communication path 310 (step S101 in FIG. 5).
  • the reception processing unit 205 performs error detection of the received packet using the CRC of the DLC layer. Then, according to the error detection result, the normal received packet (P G ), the abnormal received packet (P N ), and the lost packet (P L ) are recognized, and the number of normal received packets (a), the abnormal received packet The number (b) and the number of lost packets (c) are counted (step S102).
  • the reception processing unit 205 outputs information on P G , P N , P L , a, b, and c to the FEC decoding unit 206.
  • the FEC decoding unit 206 determines whether or not a ⁇ k is satisfied based on the information acquired from the reception processing unit 205 (step S103).
  • the value k indicates the number of information symbols of the FEC code transmitted by the communication apparatus 100.
  • the FEC decoding unit 206 When a ⁇ k, the FEC decoding unit 206 performs erasure correction on each FEC code included in the received packet, and restores the original data of each FEC code. Then, referring to the header of the generated packet, a packet including the restored FEC code is output to the video decoding unit 207 (step S104).
  • the FEC decoding unit 206 determines whether or not a + b ⁇ k + 1 is satisfied (step S105).
  • the FEC decoding unit 206 refers to the header of the generated packet without performing erasure correction on each FEC code included in the received packet, and sends the received packet to the video decoding unit 207. Output (step S106).
  • the following processing is performed for each FEC code included in the received packet.
  • the FEC code here may be partially lost due to the occurrence of a symbol error or packet loss.
  • the FEC decoding unit 206 selects all FEC decoding candidates that are combinations of a normal symbols of the same FEC code and arbitrary (ka) uncertain symbols in b of the same FEC code. Generate (step S107 in FIG. 6).
  • the normal symbol is a symbol included in the normal reception packet (P G ) and does not include an error.
  • An indeterminate symbol is a symbol included in an abnormally received packet (P N ), and is a symbol for which it is unknown whether an error is included. Therefore, the number of FEC decoding candidate symbols is the same as the number of information symbols k.
  • arbitrary (ka) combinations of b pieces are b C ka ways in total. Therefore, b C k ⁇ a FEC decoding candidates are generated.
  • the process of step S107 is executed.
  • the FEC decoding unit 206 performs erasure correction on each of the generated plurality of FEC decoding candidates (step S108).
  • the FEC decoding unit 206 determines whether or not there is at least one of the erasure correction results that match (identical) among the erasure correction results (step S109).
  • the FEC decoding unit 206 corrects the FEC code included in the received packet with the matched erasure correction results (step S110).
  • the FEC decoding unit 206 calculates a value of FEC decoding at a packet position including an error and a loss as a result of error correction according to (Expression 11) described above.
  • the FEC decoding values match in two or more combinations among the b C k ⁇ a combinations, it can be estimated that the FEC decoding values are correct symbols originally generated on the transmission side.
  • the FEC decoding unit 206 abandons the correction of the FEC code based on the erasure correction results (No in step S109).
  • the communication apparatus 200 determines whether or not the FEC code can be corrected using the erasure correction result for all the FEC codes (Ste S111).
  • the number of all FEC codes is 1000 in the example of FIG.
  • step S107 If there is an FEC code that has not been determined as to whether or not the FEC code can be modified, the process proceeds to step S107, and the same process is performed for the subsequent FEC code.
  • the FEC decoding unit 206 refers to the header of the generated packet and outputs a packet reflecting the correction of the FEC codes to the video decoding unit 207. (Step S106). Whether the FEC code can be modified depends on the FEC code included in the received packet. Therefore, regarding the FEC code included in the output packet, it can be assumed that there is an FEC that can be corrected or an FEC that cannot be corrected.
  • a temporary FEC code (The FEC code that is correctly decoded may be restored using the FEC decoding candidate). As the number of correct FEC codes increases in this way, for example, the quality of video and audio is improved.
  • step S108 after erasure correction is performed on all FEC decoding candidates, it may be determined whether at least one result of all erasure correction results matches. The determination may be terminated when there is a match between the results. Thus, the calculation processing amount and calculation processing time can be reduced.
  • step S107 instead of first generating FEC decoding candidates for each FEC code, first, two FEC decoding candidates are generated, and whether or not the erasure correction results for the two FEC decoding candidates match. You may judge. If they do not match, the process of generating a new FEC decoding candidate and determining whether or not the erasure correction results for the FEC decoding candidate match may be repeated. Thereby, the amount of calculation processing and the calculation processing time can be reduced.
  • a combination of abnormal reception packets is generated in consideration of an abnormal reception packet that has been discarded, and a plurality of FEC decoding candidates are generated. Then, based on the degree of coincidence of a plurality of error correction (erasure correction) results for a plurality of FEC decoding candidates, it is possible to restore an FEC code that has been difficult to be corrected.
  • error correction erasure correction
  • a plurality of FEC decoding candidates are created by using uncertain symbols that cannot be determined whether or not they are normal symbols obtained from a packet discarded in a lower layer in the OSI reference model, and a plurality of FEC decoding candidates are created.
  • the generated packet generated by the packet generation unit is also provided with a CRC, similar to the transmission packet generated by the transmission processing unit.
  • the CRC of the transmission packet is the CRC of the DLC layer
  • the CRC of the generated packet is the CRC of the application layer.
  • FIG. 7 is a diagram illustrating a configuration example of a communication system according to the second embodiment of the present invention.
  • the communication device 100 ⁇ / b> B and the communication device 200 ⁇ / b> B are connected via the communication path 300.
  • the same components as those in the communication system shown in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted or simplified.
  • the communication apparatus 100B includes an FEC encoding unit 103B instead of the FEC encoding unit 103, and includes an FEC decoding unit 106B instead of the FEC decoding unit 106.
  • the communication device 200 ⁇ / b> B includes an FEC encoding unit 203 ⁇ / b> B instead of the FEC encoding unit 203, and includes an FEC decoding unit 106 ⁇ / b> B instead of the FEC decoding unit 106.
  • the FEC encoding unit 103B adds a CRC based on an information symbol or a check symbol included in the generated generated packet (see FIG. 8 described later).
  • This CRC is included in the generated packet and is a CRC (application layer CRC) for error detection in the application layer.
  • the CRC of the application layer is data for verifying whether or not the corrected FEC code is correctly corrected.
  • the FEC decoding unit 106B performs FEC decoding in consideration of the result of error detection using the CRC of the application layer included in the generated packet, in addition to the same function as the FEC decoding unit 106. Details of the FEC decoding will be described later.
  • the FEC encoding unit 203B has the same function as the FEC encoding unit 103B, description thereof is omitted.
  • the FEC decoding unit 206B has the same function as the FEC decoding unit 106B, and a description thereof will be omitted.
  • the operation related to transmission will be described using the operation of the communication device 100B as an example, and the operation related to reception will be described using the operation of the communication device 200B as an example. Further, it is assumed that an RS code is used as the FEC code. Further, it is assumed that only one type of RS (7, 4) code having four information symbols and three check symbols is used.
  • FIG. 8 is a diagram for explaining FEC encoding. Here, differences from FIG. 3 will be mainly described.
  • the FEC encoding unit 103B performs CRC encoding on a packet basis of the generated packet. That is, the CRC of the application layer is assigned based on the value of 1000 symbols included in the generated packet. In the example of FIG. 8, the generated packet includes a header, 1000 symbols, and CRC of the application layer.
  • erasure correction is mainly performed as error correction.
  • erasure correction will be mainly described.
  • FIG. 9 is a diagram for explaining FEC decoding. Here, differences from FIG. 4 will be mainly described. FIG. 9 assumes a case where an error or a packet loss occurs at the same packet position as in FIG.
  • the FEC decoding unit 206B receives the packet from the reception processing unit 205 and performs erasure correction. At this time, as in the first embodiment, an FEC decoding candidate is generated, and the FEC code is restored based on an error correction result for the FEC decoding candidate. When the predetermined condition is satisfied, the original data can be accurately restored by the error correction as in the decoded packet shown in FIG.
  • the FEC decoding unit 206B performs error detection (second error detection) using the CRC of the application layer attached to the packet with the error symbol corrected. That is, the FEC decoding unit 206B has a function as a second error detection unit that performs second error detection on the corrected packet. Although details will be described later, by performing this error detection, it is possible to verify whether or not the erasure correction is correctly performed, and the FEC encoding process can be further improved.
  • FIG. 10 and FIG. 11 are flowcharts illustrating exemplary operations of the reception processing unit 205B and the FEC decoding unit 206B.
  • a communication program for performing this operation is stored in the ROM in the communication device 200B, and is executed by the CPU in the communication device 200B. 10 and 11, the description of the same steps as those in FIGS. 5 and 6 will be omitted or simplified.
  • the FEC decoding unit 206B After the process of step S110 in FIG. 11, the FEC decoding unit 206B performs error detection on the packet including the symbol modified in step S110 using the CRC of the application layer included in the packet (step S201). .
  • the FEC decoding unit 206B When it is determined that the error symbol is not included in the error detection target packet, that is, when the error symbol generated during communication is accurately corrected, the FEC decoding unit 206B receives the packet abnormally. change from the packet P N normal reception packet P G causes (promotion). Also, the FEC decoding unit 206B adds 1 to the number of normal received packets (a) (a ⁇ a + 1), and subtracts 1 from the number of abnormally received packets (b) (b ⁇ b ⁇ 1) (step S203).
  • the FEC decoding unit 206B determines whether or not a ⁇ k is satisfied in consideration of the promotion of the packet (step S204). If a ⁇ k is not satisfied, that is, if a ⁇ k, the process proceeds to step S111.
  • step S104 the process proceeds to step S104 in FIG. That is, when all of the error symbols of the packet are corrected as a result of the promotion of the abnormally received packet to the normally received packet, it is estimated that the symbol of the packet in another (subsequent) FEC code is not an error symbol. Is done.
  • the number of normally received packets (a) is equal to or greater than the number of information packets (k)
  • it is not necessary to perform erasure correction on the FEC decoding candidates and it is possible to perform FEC code by erasure correction on general FEC codes Can be restored. Therefore, the processing of steps S107 to S111 and S201 to S204 for the subsequent FEC codes can be omitted, and the amount of calculation can be reduced, so that the processing load on the communication device 200B can be reduced.
  • the FEC decoding unit 206B corrects the error for the FEC decoding candidate of the subsequent FEC code. May be canceled and error correction may be performed on the subsequent FEC code included in the received packet.
  • the error detection by CRC in the application layer in step S202 may be performed for each process for one FEC code, or may be performed for each process for several FEC codes, that is, by reducing the processing frequency. .
  • the communication apparatus 200B of the present embodiment it is possible to verify whether or not the error symbol has been reliably corrected by performing error detection using the CRC of the application layer. For example, there is a possibility that a certain FEC code does not match the error correction results for the FEC decoding candidates, and may include a code that has not been corrected. Even in such a case, reliability can be improved by performing error detection using the CRC of the application layer.
  • the subsequent erasure correction can be easily performed, and the processing load of the communication device 200B can be reduced. it can.
  • the present invention is not limited to the configuration of the above-described embodiment, and can be applied to any configuration that can achieve the functions shown in the claims or the functions of the configuration of the present embodiment. Is possible.
  • the communication device performs processing by the reception processing unit and the FEC decoding unit as illustrated in FIGS. 5, 6, 10, 11, and the like. May be output to an external device via a cable, media, or the like, and the external device may perform processing by the reception processing unit or the FEC decoding unit.
  • erasure correction that grasps the position of a packet where an error or packet loss has occurred has been described as an example.
  • the number of received packets for performing error correction is larger than the number of received packets for performing erasure correction.
  • the present invention can be applied to error correction in which the packet position is not known as long as the necessary condition is satisfied.
  • the CRC of the DLC layer is used together with the CRC of the application layer.
  • the CRC is not limited to this, and another CRC (for example, CRC of the transport layer) in the lower layer than the application layer is used. You may make it use.
  • the number of FEC decoding candidate symbols is the same as the number of information symbols.
  • the present invention is not limited to this, and the number of FEC decoding candidate symbols may be greater than or equal to the number of information symbols.
  • the number of uncertain symbols used for the erasure correction operation is reduced, so that the probability of obtaining the coincidence of the erasure correction operation results is increased. Can do.
  • the number of FEC decoding candidate symbols is equal to or greater than the number of information symbols, the amount of calculation for erasure correction can be reduced.
  • the present invention also includes a program that supplies a communication program that realizes the functions of the above-described embodiments to a communication device via a network or various storage media, and that is read and executed by a computer (CPU) in the communication device. It is.
  • the present invention is useful for a communication device, a communication program, and the like that can improve error correction capability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

 FEC符号を構成する情報シンボルを含む情報パケットおよび検査シンボルを含む検査パケットを含む受信パケットを受信し、各々のパケットを複数のシンボルに分割し、受信パケットの各パケットが正常受信パケットか非正常受信パケットかを検出し、FEC符号毎に、正常受信パケットに含まれる正常シンボルと非正常受信パケットに含まれる不確定シンボルとで構成されるFEC復号候補を、不確定シンボルが異なるように複数生成し、第1の誤り訂正を行い、複数のFEC復号候補に対する複数の第1の誤り訂正の結果のうち、一致した第1の誤り訂正の結果に基づいて、FEC符号を修正する。

Description

通信装置、通信方法、及び通信プログラム
 本発明は、通信装置、通信方法、及びプログラムに関する。
 従来の電子機器では、外部の通信装置との間で行われるデジタル通信処理、デジタル通信により得られたデータや記憶装置に記憶されたデータに施される信号処理において、データの信頼性を確保するために、誤り検出や誤り訂正が一般的に行われる。誤り検出では、データに誤りが発生しているか否かを識別することができる。また、誤り訂正では、データに誤りが発生しているか否かを識別し、さらに誤りのあるデータを訂正することができる。
 誤り検出又は誤り訂正では、k単位長(kビット等)の符号を、n=m+k単位長の符号語に変換するブロック符号と呼ばれる種類のものがある。これを(n、k)符号などと記載する。符号語は、最小ハミング距離がd>1、つまり互いに少なくともd単位異なっている。この冗長性を利用して、誤り検出や誤り訂正が成される。
 誤り検出では、符号語あたりd-1単位の誤りを検出することができ、誤り訂正では、符号語あたり[(d-1)/2]単位の誤りを訂正することができる([]は床関数)。
 誤り訂正に用いられる符号の1つとして、前方誤り訂正符号(以下、「FEC(Forward Error Correction)符号」ともいう)があり、その1つとして、リード・ソロモン符号(以下、「RS符号」という)が知られている。RS符号は、生成と復号が複雑であるので、処理にある程度の時間を要する反面、誤り訂正能力が高く、地上デジタル放送、衛星通信、ADSL、CD、DVD、QRコード(登録商標)等の誤り訂正に応用されている。また、RS符号では、符号語をシンボルの集まりで表し、各シンボル単位で誤り検出と誤り訂正とを行う。そして、RS符号は、1つのシンボル内のビットにどれだけ誤りを含んでいても、全体として1シンボルの誤りと認識されるので、連続して起こるビット誤りであるバースト誤りに強いという特性がある。RS符号の符号語は、例えばRS(n、k)符号又は単にRS(n、k)と表される。
 また、RS符号の誤り訂正において、誤り位置があらかじめ特定されている場合の誤り訂正を消失訂正というが、消失訂正では符号語あたりn-kシンボル以下の誤りまでは正しく誤り訂正できる。
 FEC符号を用いた技術の例として、FEC符号を用いることで、映像データの映像品質を推定することができる映像品質推定装置が知られている(例えば、特許文献1参照)。
 また、情報パケット数k、検査パケット数m、送信パケット数n=k+mの場合には、n個中任意のn-k=m(個)のパケット損失まで回復可能(誤り訂正可能)である。
日本国特開2010-187097号公報
 しかしながら、従来のFEC符号を用いた誤り訂正では、nパケット中、正常に受信された正常受信パケットのパケット数がkパケット以上でないと、k個の情報パケットを復元できなかった。
 本発明は、上記事情に鑑みてなされたものであって、誤り訂正能力を向上させることが可能な通信装置、通信方法、及び通信プログラムを提供することを目的とする。
 本発明の通信装置は、他の通信装置との間で通信を行う通信装置であって、FEC符号を構成する情報シンボルを含む情報パケットおよび検査シンボルを含む検査パケットを含む受信パケットを受信し、各々のパケットを複数のシンボルに分割する受信部と、前記受信パケットの各パケットが正常受信パケットか非正常受信パケットであるのかを検出する第1誤り検出部と、前記FEC符号毎に、前記正常受信パケットに含まれる正常シンボルと前記非正常受信パケットに含まれる不確定シンボルとで構成されるFEC復号候補を、前記不確定シンボルが異なるように複数生成し、第1の誤り訂正を行う第1誤り訂正部と、前記第1誤り訂正部による複数の前記FEC復号候補に対する複数の前記第1の誤り訂正の結果のうち、一致した前記第1の誤り訂正の結果に基づいて、前記FEC符号を修正する第2誤り訂正部と、を備える。
 この通信装置によれば、複数のFEC復号候補に対する複数の誤り訂正(第1の誤り訂正)の結果の一致度に基づいて、誤り訂正(第2の誤り訂正)が困難であったFEC符号についても復元をすることができる。このとき、比較的下層(DLC層など)で通常破棄されるパケットを利用して、誤り訂正を行うことができる。したがって、誤り訂正能力を向上させることが可能である。
 また、本発明の通信装置は、前記第1誤り訂正部が、前記第1誤り検出部により誤りが検出されなかった正常受信パケットの数が前記情報パケットの数未満であり、前記受信パケットの数が前記情報パケットの数以上である場合、前記FEC符号毎に、前記正常受信パケットに含まれるシンボルである正常シンボルの全てと、前記第1誤り検出部により誤りが検出された非正常受信パケットに含まれるシンボルである不確定シンボルの一部と、により構成される前記FEC復号候補を、前記不確定シンボルが異なるように複数生成してもよい。
 この通信装置によれば、複数のFEC復号候補に対する複数の誤り訂正(第1の誤り訂正)の結果の一致度に基づいて、誤り訂正(第2の誤り訂正)が困難であったFEC符号についても復元をすることができる。したがって、誤り訂正能力を向上させることが可能である。
 また、本発明の通信装置は、前記FEC復号候補のシンボルの数が、前記情報シンボルの数と同数であってもよい。
 この通信装置によれば、誤り訂正を行うための必要最低限の数のFEC復号候補のシンボルを用いて、誤り訂正を行うことができる。
 また、本発明の通信装置は、前記第2誤り訂正部が、前記FEC符号毎に、前記非正常受信パケットに含まれる前記不確定シンボルの値と、前記一致した前記第1の誤り訂正の結果により得られた前記非正常パケットに含まれるエラーシンボルの値と、に基づいて、前記他の通信装置により送信された送信パケットに含まれる送信シンボルを算出してもよい。
 この通信装置によれば、一般的な誤り訂正の演算式を用いながら、誤り訂正が困難であったFEC符号についても復元することができる。
 また、本発明の通信装置は、前記第2の誤り訂正部により修正されたパケットである修正パケットに対して、第2の誤り検出を行う第2誤り検出部を備え、前記第2誤り訂正部が、前記第2誤り検出部により誤りが検出されなかった場合、前記修正パケットを前記非正常受信パケットから前記正常受信パケットに変更してもよい。
 この通信装置によれば、第2の誤り訂正により確実にFEC符号が修正されたことを検証することができる。また、同一パケット内の後続のFEC符号についてはエラーシンボルが含まれていないことを確認することができる。
 また、本発明の通信装置は、前記第1誤り訂正部が、前記FEC符号修正部により前記FEC符号が修正された結果、前記正常受信パケットの数が前記情報パケットの数以上となった場合、後続のFEC符号の前記FEC復号候補に対する前記第1の誤り訂正を中止し、前記後続のFEC符号に対する前記第1の誤り訂正を行ってもよい。
 この通信装置によれば、第1の誤り訂正の結果、正常受信パケット数が増加して情報パケット数以上となった場合、一般的な誤り訂正(第2の誤り訂正)を行うことができるようになるので、誤り訂正の処理を容易化して演算量を少なくすることができる。
 また、本発明の通信方法は、複数のパケットを受信し、各々のパケットを複数のシンボルに分割するステップと、前記分割されたシンボルに含まれる正常シンボルと不確定シンボルとで構成されるFEC復号候補を用いて、第1の誤り訂正を行うステップと、複数の前記第1の誤り訂正の結果のうち、一致した結果を用いて、第2の誤り訂正を行うステップと、を有する。
 この通信方法によれば、複数のFEC復号候補に対する複数の誤り訂正の結果の一致度に基づいて、誤り訂正が困難であったFEC符号についても復元をすることができる。このとき、比較的下層(DLC層など)で通常破棄されるパケットを利用して、誤り訂正を行うことができる。したがって、誤り訂正能力を向上させることが可能である。
 また、本発明の通信プログラムは、上記通信方法の各ステップをコンピュータに実行させるためのプログラムである。
 この通信プログラムによれば、複数のFEC候補に対する複数の誤り訂正の結果の一致度に基づいて、誤り訂正が困難であったFEC符号についても復元をすることができる。したがって、誤り訂正能力を向上させることが可能である。
 本発明によれば、誤り訂正能力を向上させることが可能である。
本発明の第1の実施形態における通信システムの構成例を示す図 本発明の第1の実施形態におけるRS符号の構成例を示す図 本発明の第1の実施形態におけるFEC符号化を説明するための図 本発明の第1の実施形態におけるFEC復号化を説明するための図 本発明の第1の実施形態における受信処理部およびFEC復号化部の動作例を示すフローチャート 本発明の第1の実施形態における受信処理部およびFEC復号化部の動作例を示すフローチャート(図5の続き) 本発明の第2の実施形態における通信システムの構成例を示す図 本発明の第2の実施形態におけるFEC符号化を説明するための図 本発明の第2の実施形態におけるFEC復号化を説明するための図 本発明の第2の実施形態における受信処理部およびFEC復号化部の動作例を示すフローチャート 本発明の第2の実施形態における受信処理部およびFEC復号化部の動作例を示すフローチャート(図10の続き)
 以下、本発明の実施形態について、図面を用いて説明する。
 本実施形態の通信装置としては、有線LAN、同軸ケーブル、電力線等の有線を介して通信を行う通信装置、セルラー通信、無線LANやBluetooth(登録商標)等の無線を介して通信を行う通信装置、などが考えられる。
 また、本実施形態の通信装置は、パケット伝送を行う通信装置であり、テレビ会議システム、監視カメラ映像伝送システム、映像データのダウンロード/アップロードを行うシステム、遠隔授業システム、等における通信装置がある。また、無線通信路のような、パケットエラー率が比較的高い通信路を用いて通信を行う通信装置に、非常に適している。
(誤り訂正、消失訂正の具体的な演算)
 本実施形態の通信装置は、誤り訂正、特に消失訂正を行う。各実施形態について説明する前に、まずは誤り訂正、消失訂正の具体的な演算の方法について説明する。
 ここでは、通信装置の1つである送信装置から通信装置の1つである受信装置へデータを送信することを想定し、RS(15,7)つまりk=7、m=8、n=15の場合を例示する。また、1シンボルを8ビットとする。RS(15,7)のデータには、実際に送るべき情報データD~Dと、検査を行うためのパリティデータP~Pと、が含まれる。
 まず、送信装置及び受信装置は、以下の8次の生成多項式G(x)を用意し、保持しておく。
Figure JPOXMLDOC01-appb-M000001
 送信装置は、情報データD~Dに基づいて、以下の式が成り立つようにパリティデータP~Pを決定する。
Figure JPOXMLDOC01-appb-M000002
 次に、D=W14、D=W13、・・・、D=W、P=W、P=W、・・・、P=W、とする。W~W14は送信シンボルである。(数式2)の式から、W(x)を以下のように定義すると、W(x)は、G(x)で割り切れる。
Figure JPOXMLDOC01-appb-M000003
 したがって、W(x)=G(x)・A(x)+B(x)と表すと、B(x)=0となる。(数式3)の式の両辺に、x=α、x=α、x=α、・・・、x=αを代入すると、以下の式を導くことができる。
Figure JPOXMLDOC01-appb-M000004
 このように、送信装置が送信する送信シンボル(W~W14)には、満足すべき方程式が存在する(送信装置の制約条件)。
 一方、受信装置は、受信シンボル(R~R14)を送信装置から受信する。送信シンボルと受信シンボルとの間には、以下のような関係がある。
Figure JPOXMLDOC01-appb-M000005
つまり、
Figure JPOXMLDOC01-appb-M000006
 Eは、通信路上の各送信シンボルに重畳されたエラーシンボルを示している。
 ここで、
Figure JPOXMLDOC01-appb-M000007
 と定義すると、(数式6)は、以下のように表せる。
 W(x)+E(x)=R(x)
 (数式7)の式の両辺、x=α、x=α、x=α、・・・、x=αを代入すると、シンドロームSiを用いて、以下の式を導くことができる。
Figure JPOXMLDOC01-appb-M000008
 すなわち、受信装置は、通信路上で送信シンボルに重畳されたエラーシンボル(E(x))に基づいて、8個のシンドロームを一意に決定することができる。
 また、(数式7)及び(数式8)より、E(x)に、x=α、x=α、x=α、・・・、x=αを代入すると、以下の結果となる。
Figure JPOXMLDOC01-appb-M000009
 各エラーシンボルEのうち、E≠0(非零)であるEの個数をPとし、i=L(0)、L(1)、・・・L(P-1)とすると、(数式9)より、以下の式が成り立つ。なお、アスタリスク「*」は乗算を示す。
Figure JPOXMLDOC01-appb-M000010
 RS(15,7)の場合には、P=0~8の場合、つまり最大エラーシンボル数が8個の場合まで消失訂正を行うことが可能である。一方、P≧9の場合、つまりエラーシンボル数が9個以上の場合には、消失訂正を行うことはできない。
 例えば、エラー(誤り)がi=5、8、13の位置で発生しているとすると、以下の式が成り立つ。
Figure JPOXMLDOC01-appb-M000011
 受信装置は、受信シンボルによりシンドロームS、S、Sの値を認識することができ、αの値についても生成多項式G(x)の定義式から認識することができる。したがって、エラーが発生している位置である消失シンボル位置(iの値)を認識することができれば、各エラーシンボルE、E、E13の値を算出することができ、消失訂正を行うことができる。
(第1の実施形態)
 図1は、本発明の第1の実施形態における通信システムの構成例を示す図である。図1に示す通信システムでは、通信装置100と通信装置200とが通信路300を介して接続されている。
 通信路300は、電力線や有線LANなどの有線回線、セルラー通信、無線LANなどの無線回線などの通信回線を広く含む。また、基地局、コアネットワーク、インターネットなどを含むものも考えられる。また、通信路300は、通信装置100から通信装置200に向かう方向(第1方向)にデータが伝送される第1通信路310と、通信装置200から通信装置100に向かう方向(第2方向)にデータが伝送される第2通信路320と、を含む。
 通信装置100は、映像符号化部101、パケット生成部102、FEC符号化部103、送信処理部104、受信処理部105、FEC復号化部106、映像復号化部107、を有して構成される。
 映像符号化部101は、外部装置から受信した映像信号や図示しないメモリから出力した映像信号を符号化し、映像符号を生成する。映像符号は情報シンボルの一例である。ここでは、映像信号の符号化方式として既知の方式を用いる。なお、映像信号の符号化を可変レートで行う場合には、一定時間に生成される情報パケットの数は可変となる。
 パケット生成部102は、映像符号としての情報シンボルを含むパケット(情報パケット)を生成する(後述の図3参照)。
 FEC符号化部103は、パケット生成部102からの情報パケットを構成する情報シンボルをFECにより符号化(FEC符号化)し、固定長のFEC符号を生成する。FEC符号化を行う際には、先に説明した(数式1)~(数式4)を考慮する。FEC符号は、情報シンボルと検査シンボルとからなり、RS符号などがある。FEC符号化の詳細については後述する。以降、FEC符号化部103により符号化されたパケットを生成パケットとも呼ぶ(後述の図3参照)。生成パケットの先頭には、生成パケットを識別するための識別情報、その他生成パケットに関する情報が記述されたヘッダが含まれている。
 なお、FEC符号化部103で生成される生成パケットは、OSI参照モデルの第7層(アプリケーション層、以下、単に「アプリ層」ともいう)におけるパケットである(後述の図3参照)。
 送信処理部104は、FEC符号化部103からの生成パケットに含まれる各シンボル(情報シンボル、検査シンボル等)に基づいて、CRC(Cyclic Redundancy Check:巡回冗長検査)を付与する。CRCは、誤り検出符号の1つである。以降、生成パケットとCRCとを含むパケットを送信パケットとも呼ぶ(後述の図3参照)。送信パケットの先頭には、送信パケットを識別するための識別情報、その他送信パケットに関する情報が記述されたヘッダが含まれている。送信処理部104は、生成された送信パケットを第1通信路310へ送信する。
 なお、送信処理部104により生成される送信パケットは、OSI参照モデルの第2層(データリンク制御層、以下、「DLC(Data Link Control)層」、「レイヤ2」ともいう)におけるパケットである(後述の図3参照)。なお、無線プロトコルの場合には、DLCをRLC(Radio Link Control)ともいう。したがって、送信処理部104により付与されたCRCは、DLC層における誤り検出を行うためのCRC(DLC層のCRC)である。DLC層のCRCは、通信によりパケット内のシンボルにエラーが発生したか否かを判断するためのデータである。
 受信処理部105は、第2通信路320からのパケットを受信する。以降、受信処理部105により受信されたパケットを受信パケットとも呼ぶ(後述の図3参照)。受信パケットには、情報パケットおよび検査パケットにより構成されるFEC符号が含まれる。受信パケットは、通信装置200からのパケットを受信する場合には、通信路300において回線エラーが重畳しないような理想的な場合には通信装置200の送信パケットと同じである。受信パケットは、DLC層におけるパケットである(後述の図3参照)。このように、受信処理部105は、受信パケットを受信する受信部としての機能を有する。この受信パケットは、受信処理部105により複数のシンボルに分割される。
 また、受信処理部105は、受信パケットに対して、DLC層のCRCを用いた誤り検出(第1の誤り検出)を行う。誤り検出の結果、受信処理部105は、受信パケットが正常(OK)であった場合には、その受信パケットを正常受信パケット(P)として、正常受信パケットの数(a)をカウントする。一方、受信パケットが非正常(NG)であった場合には、その受信パケットを非正常受信パケット(P)として、非正常受信パケットの数(b)をカウントする。このように、受信処理部105は、受信パケットに対して第1の誤り検出を行う第1誤り検出部としての機能を有する。
 また、受信処理部105は、通信装置100から送信されたが通信装置200により受信されなかった損失パケット(P)を認識し、損失パケットの数(c)をカウントする。損失パケットについては、例えば受信パケットのヘッダに含まれる送信パケットの識別情報(例えば送信パケット番号)から認識できる。
 受信処理部105は、受信パケット(正常受信パケット(P)および非正常受信パケット(P))、正常受信パケット数(a)、非正常受信パケット数(b)、損失パケット数(c)の情報を、FEC復号化部106へ出力する。
 なお、正常受信パケット(P)に含まれる各シンボルは、正常シンボルである。非正常受信パケット(P)に含まれる各シンボルは、不確定シンボルである。損失パケット(P)に含まれる各シンボルは、損失シンボルである。さらに、エラーシンボルには、損失シンボルと、不確定シンボルの一部である送信時のデータと異なるシンボルと、が含まれる。
 FEC復号化部106は、受信処理部105からの受信パケットをFECにより復号化(FEC復号化)する。FEC復号化を行う際には、先に説明した(数式5)~(数式11)を考慮する。以降、FEC復号化部106によりFEC復号化されたパケットを復号化パケットとも呼ぶ(後述の図3参照)。復号化パケットは、アプリ層のパケットである(後述の図3参照)。
 FEC復号化の詳細については後述するが、FEC復号化部106は、FEC符号毎に、正常シンボルの全てと不確定シンボルの一部とで構成されるFEC復号候補を、不確定シンボルが異なるように複数生成するFEC復号候補生成部としての機能を有する。
 なお、ここで、FEC符号候補とは、FEC復号処理を行う場合に消失していないシンボルと見なすシンボルの組合せのことであり、具体的には上述したように正常シンボルと不確定シンボルとの組み合わせのことである。
 また、FEC復号化部106は、FEC復号候補に対して誤り訂正(第1の誤り訂正)を行う第1誤り訂正部としての機能を有する。
 また、FEC復号化部106は、複数のFEC復号候補に対する複数の誤り訂正(第1の誤り訂正)の結果のうち、一致した誤り訂正(第1の誤り訂正)の結果に基づいてFEC符号を修正(第2の誤り訂正)する第2誤り訂正部としての機能を有する。
 映像復号化部107は、FEC復号化部106からの情報パケットに含まれる情報シンボルとしての映像符号を復号化し、映像信号を得る。ここでは、映像信号の復号化方式として既知の方式を用いる。なお、ユーザデータとして映像データを想定しているが、音声データなどの他のデータであってもよい。
 通信装置200は、映像符号化部201、パケット生成部202、FEC符号化部203、送信処理部204、受信処理部205、FEC復号化部206、映像復号化部207、を有して構成される。
 通信装置200は、通信装置100における同名の構成部と同様の機能を有するので、ここでは説明を省略する。ただし、送信および受信における通信路300(第1通信路310および第2通信路320)の向きは逆となる。
 以下の説明では、通信装置100の動作と通信装置200の動作とは同じであるので、送信に関する動作については通信装置100の動作を例として、受信に関する動作については通信装置200の動作を例として、説明する。また、FEC符号としてRS符号を用いることを主に想定する。
 また、本実施形態では、情報シンボル数が4個、検査シンボル数が3個のRS(7,4)符号の1種類のみを用いることを想定する。つまり、k=4、m=3、n=7であり、図2に示すようなRS符号を用いることを想定する。なお、通信装置100および200は、通信相手である通信装置200および100の送信パケットに含まれる情報シンボルの数(k)、送信パケットのシンボルの数(n)の情報を各々あらかじめ保持している。なお、検査シンボルの数は、n-kとなる。
 次に、FEC符号化について詳細に説明する。
 図3は、FEC符号化を説明するための図である。
 映像符号化部101は、映像信号を符号化し、パケット生成部102は、符号化された映像信号を情報パケットに変換する。ここでは、図3の1pktは1パケット分の情報パケットを示しており、例えば情報シンボル1000シンボル(8000ビット)分に相当する。ここでは4パケット分の情報パケットで区切られている。また、8ビットが1シンボル分に相当するものとする。なお、本実施形態では、1パケットのデータサイズが大きいため、1000シンボルに分割しているが、本実施形態における誤り訂正は、1パケットが2シンボル以上に分割されていれば適用することができる。
 続いて、FEC符号化部103は、RS(7,4)となるように、情報パケット4パケットにつき、検査パケットを3パケット分付加することで、FEC符号化する。ここでは、7パケット分のパケット(情報パケット4パケット分と検査パケット3パケット分)で区切られており、7パケットは1000個のRS(7,4)符号に相当する。
 また、FEC符号化部103は、図3に示すように、生成パケットにおいて、各情報パケットおよび各検査パケットの先頭に、ヘッダを付与する。
 続いて、送信処理部104は、生成パケットから決定されるCRCを付与し、送信パケットを生成する。また、図3に示すように、送信パケットにおいて、各情報パケットおよび各検査パケットの先頭に、ヘッダを付与する。送信処理部104は、この送信パケットを第1通信路310を介して通信装置200へ送信する。
 次に、FEC復号化について詳細に説明する。
 本実施形態では、誤り訂正として主に消失訂正を行う。以下、主に消失訂正について説明する。
 図4は、FEC復号化を説明するための図である。
 なお、送信されたパケットは、第1通信路310の伝送途中で、当該データが変更されたり欠損したりして、エラー(ビットエラー)が発生することがある。この場合、エラーが発生した非正常受信パケットには何れかのシンボルに誤りがあるが、通常判別することができないため、図4では、便宜上「×」のシンボルを間違っているシンボルとしている。
 受信処理部205は、受信パケットを受信する。受信パケットには、FEC符号を構成する情報シンボルを含む情報パケットや検査シンボルを含む検査パケットが含まれるが、第1通信路310の通信環境によっては、一部のシンボルにエラーが発生したり、パケットが欠損したりする。
 図4の例では、通信装置100により送信された情報シンボルDを含む第1情報パケットの一部および情報シンボルDを含む第3情報パケットの一部にエラーが発生し、情報シンボルDを含む第2情報パケットが全て欠損(パケット損失)している。同様に、通信装置100により送信された検査シンボルPを含む第1検査パケットの一部にエラーが発生している。図4では、左側から順に、第1情報パケットから第4情報パケット、第1検査パケットから第3検査パケットが配列された状態を想定している。
 また、受信処理部205は、受信された第1情報パケット、第3情報パケット、第4情報パケット、および第1検査パケット~第3検査パケットに対して、DLC層のCRCを用いて誤り検出を行う。誤り検出では、エラーのない第4情報パケット、第2検査パケット、および第3検査パケットは正常に受信された(OK)と判定され、エラーが存在する第1情報パケット、第3情報パケット、および第1検査パケットは非正常に受信された(NG)と判定される。一方、受信されなかった第2情報パケットについては、この誤り検出を行うことができない。
 受信処理部205は、受信パケットのヘッダを参照して、受信パケットに含まれる生成パケットに対応するパケット(情報シンボルまたは検査シンボル、および生成パケットのヘッダで構成されるパケット)を、FEC復号化部206へ出力する。
 続いて、FEC復号化部206は、受信処理部205からパケットを受け取り、消失訂正を行う。なお、FEC復号化部206は、受信処理部205からの受信パケットの情報に基づいて、どのパケット位置のパケットが、正常受信パケット、非正常受信パケット、または損失パケットであるかを判別することができるので、消失訂正を行うことが可能である。
 また、図4では、正常受信パケット数a=3、非正常受信パケット数b=3、損失パケット数c=1であるので、受け取ったパケットに対して単純に消失訂正を行っただけでは、RS符号を復元することはできない。詳細については後述するが、FEC復号化部206は、正常受信パケットと非正常受信パケットの一部とを組み合わせてFEC復号候補を生成し、このFEC復号候補に対する消失訂正の結果に基づいて、FEC符号を復元する。所定の条件を満たす場合には、上記消失訂正によって、図4に示す復号化パケットのように、元のデータを正確に復元することができる。
 なお、図4の例とは異なり、例えばFEC符号に含まれる情報パケット数k=4であり、正常受信パケット数a=4である場合には、上記のようなFEC復号候補に対する消失訂正を考慮する必要はなく、一般的な消失訂正により、元データを復元することができる。
 次に、受信処理部205およびFEC復号化部206の動作について説明する。
 図5および図6は、受信処理部205およびFEC復号化部206の動作例を示すフローチャートである。この動作を行う通信プログラムは、通信装置200内のROMに格納され、通信装置200内のCPUによって実行される。
 まず、受信処理部205が、第1通信路310を介して伝送されたパケット(受信パケット)を受信する(図5のステップS101)。
 受信処理部205は、DLC層のCRCを用いて受信パケットの誤り検出を行う。そして、誤り検出の結果に応じて、正常受信パケット(P)、非正常受信パケット(P)、損失パケット(P)、を認識し、正常受信パケット数(a)、非正常受信パケット数(b)、損失パケット数(c)をカウントする(ステップS102)。受信処理部205は、P、P、P、a、b、c、の情報をFEC復号化部206へ出力する。つまり、本実施形態では、正常受信パケット(P)だけでなく、非正常受信パケット(P)についても廃棄せずに、FEC復号化部206(上位層であるアプリ層)へ送られる。なお、a+b+c=nである。
 FEC復号化部206は、受信処理部205から取得した情報に基づいて、a≧kを満たすか否かを判定する(ステップS103)。なお、値kは、通信装置100により送信されたFEC符号の情報シンボル数を示す。
 a≧kの場合、FEC復号化部206は、受信パケットに含まれる各FEC符号に対して消失訂正を行い、各FEC符号の元のデータを復元する。そして、生成パケットのヘッダを参照して、復元されたFEC符号を含むパケットを映像復号化部207へ出力する(ステップS104)。
 一方、a<kの場合、FEC復号化部206は、a+b≧k+1を満たすか否かを判定する(ステップS105)。
 a+b<k+1の場合、FEC復号化部206は、受信パケットに含まれる各FEC符号に対して消失訂正を実行せずに、生成パケットのヘッダを参照して、受信パケットを映像復号化部207へ出力する(ステップS106)。
 一方、a+b≧k+1の場合、以下の処理を、受信パケットに含まれるFEC符号毎に行う。なお、ここでのFEC符号は、シンボルエラーの発生やパケット損失により、一部消失していることがある。
 FEC復号化部206は、同一FEC符号のa個の正常シンボルと、上記同一FEC符号のb個中の任意の(k-a)個の不確定シンボルと、の組み合わせであるFEC復号候補を全て生成する(図6のステップS107)。ここで、正常シンボルは、正常受信パケット(P)のに含まれるシンボルであり、エラーを含まないシンボルである。不確定シンボルは、非正常受信パケット(P)に含まれるシンボルであり、エラーを含むか否か不明であるシンボルである。したがって、FEC復号候補のシンボル数は、情報シンボル数kと同数である。また、b個中の任意の(k-a)個の組み合わせは、全部でk-a通りである。したがって、FEC復号候補は、k-a個生成される。なお、図4に示した受信パケットの場合、a=3、b=3、k=4、であるので、ステップS107の処理が実行されることになる。
 続いて、FEC復号化部206は、生成された複数のFEC復号候補の各々に対して、消失訂正を行う(ステップS108)。
 続いて、FEC復号化部206は、複数の消失訂正の結果のうち、消失訂正の結果が一致する(同一である)ものが少なくとも1つ存在するか否かを判定する(ステップS109)。
 消失訂正の結果が一致するものがある場合、FEC復号化部206は、この一致した消失訂正の結果で、受信パケットに含まれるFEC符号を修正する(ステップS110)。
 2つのFEC復号候補において、その中に含まれるシンボルの1ビットでも異なる場合、2つのFEC復号候補を用いて消失訂正を行った結果は異なってくる。このような消失訂正(誤り訂正も同様)の特性を考慮すると、FEC復号候補に対する消失訂正の結果が一致するということは、FEC復号候補に含まれる不確定パケットに誤りがないと推定され、正常なFEC符号が復元できた可能性が非常に高いことになる。そこで、一致する消失訂正の結果を、正常シンボルのみを用いて行う通常の消失訂正の結果と同等に扱い、送信パケットに含まれていたと推定されるFEC符号を一致する消失訂正の結果を用いて再現する。
 具体的には、FEC復号化部206は、先に説明した(数式11)により、誤り訂正の結果として、エラーや損失を含むパケット位置のFEC復号の値を算出する。FEC復号の値がk-a通りの組合せの内、2通り以上の組合せで一致した場合、FEC復号の値は元々送信側で生成された正しいシンボルであると推定できる。
 一方、全てのFEC候補に対する消失訂正の結果が一致しない場合、FEC復号化部206は、消失訂正の結果によるFEC符号の修正を断念する(ステップS109のNo)。
 FEC符号の修正後またはFEC符号の修正の断念後、通信装置200は、全てのFEC符号に対して、消失訂正の結果を用いたFEC符号の修正の可否について判断したか否かを判定する(ステップS111)。全てのFEC符号の数は、図4の例では1000個である。
 FEC符号の修正の可否について判断していないFEC符号が存在する場合、ステップS107に進み、後続のFEC符号について同様の処理を行う。
 一方、全てのFEC符号について修正可否の判断を行った場合には、FEC復号化部206は、生成パケットのヘッダを参照して、FEC符号の修正を反映したパケットを映像復号化部207へ出力する(ステップS106)。FEC符号の修正の可否は、受信パケットに含まれるFEC符号毎に異なる。したがって、出力されたパケットに含まれるFEC符号については、修正できたFECが存在することも、修正できなかったFECが存在することも想定される。
 このような受信処理部205およびFEC復号化部206の処理によれば、一般的に消失訂正を適用可能なa≧kの条件を満たさない場合であっても、受信パケットから仮のFEC符号(FEC復号候補)を用いて、正しく復号されるFEC符号を復元できることがある。このように正しいFEC符号が増加することで、例えば映像や音声の品質が向上する。
 なお、ステップS108において、全てのFEC復号候補に対して消失訂正を行ってから、全ての消失訂正の結果のうちの少なくとも1つの結果が一致するか否かを判定してもよいが、消失訂正の結果が一致するものがあった時点で当該判定を終了してもよい。これより、演算処理量および演算処理時間を低減させることができる。
 また、ステップS107において、FEC符号毎に、最初にFEC復号候補を生成するのではなく、まずは2つのFEC復号候補を生成し、この2つのFEC復号候補に対する消失訂正の結果が一致するかどうかを判定してもよい。そして、一致しない場合には、新たにFEC復号候補を生成し、そのFEC復号候補に対する消失訂正の結果が一致するかどうかを判定する、という処理を繰り返すようにしてもよい。これにより、演算処理量および演算処理時間を低減させることができる。
 このような本実施形態の通信装置によれば、従来は廃棄していた非正常受信パケットも考慮して、非正常受信パケットの組み合わせを生成し、複数のFEC復号候補を生成する。そして、複数のFEC復号候補に対する複数の誤り訂正(消失訂正)の結果の一致度に基づいて、誤り訂正が困難であったFEC符号についても復元をすることができる。
 つまり、通常、OSI参照モデルにおける下の層で廃棄するパケットから得られる正常なシンボルであるか否かの判断不可能な不確定シンボルを活用して、複数のFEC復号候補を作り、複数のFEC復号候補による消失訂正の結果が一致したときの消失訂正の結果を、消失訂正の結果として利用することで、誤り訂正を行うことが可能であり、誤り訂正能力を向上させることが可能である。
(第2の実施形態)
 本実施形態では、パケット生成部が生成する生成パケットについても、送信処理部が生成する送信パケットと同様に、CRCを有するようにする。ただし、送信パケットのCRCはDLC層のCRCであり、生成パケットのCRCはアプリ層のCRCである。
 図7は、本発明の第2の実施形態における通信システムの構成例を示す図である。図7に示す通信システムでは、通信装置100Bと通信装置200Bとが通信路300を介して接続されている。図7に示す通信システムにおいて、図1に示した通信システムと同様の構成部については、同一の符号を付し、説明を省略または簡略化する。
 通信装置100Bは、FEC符号化部103の代わりにFEC符号化部103Bを備え、FEC復号化部106の代わりにFEC復号化部106Bを備える。同様に、通信装置200Bは、FEC符号化部203の代わりにFEC符号化部203Bを備え、FEC復号化部106の代わりにFEC復号化部106Bを備える。
 FEC符号化部103Bは、FEC符号化部103と同様の機能に加え、生成された生成パケットに含まれる情報シンボルまたは検査シンボルに基づいて、CRCを付与する(後述する図8参照)。このCRCは、生成パケットに含まれており、アプリ層における誤り検出を行うためのCRC(アプリ層のCRC)である。アプリ層のCRCは、修正されたFEC符号が正しく修正されているか否かを検証するためのデータである。
 FEC復号化部106Bは、FEC復号化部106と同様の機能に加え、生成パケットに含まれるアプリ層のCRCを用いた誤り検出の結果を考慮して、FEC復号化を行う。FEC復号化の詳細については後述する。
 FEC符号化部203Bは、FEC符号化部103Bと同様の機能を有するので、説明を省略する。同様に、FEC復号化部206Bは、FEC復号化部106Bと同様の機能を有するので、説明を省略する。
 本実施形態では、第1の実施形態と同様に、送信に関する動作については通信装置100Bの動作を例として、受信に関する動作については通信装置200Bの動作を例として、説明する。また、FEC符号としてRS符号を用いることを想定する。また、情報シンボル数が4個、検査シンボル数が3個のRS(7,4)符号の1種類のみを用いることを想定する。
 次に、FEC符号化について詳細に説明する。
 図8は、FEC符号化を説明するための図である。ここでは、図3と異なる点を主に説明する。
 FEC符号化部103Bは、生成パケットのパケット単位でCRC符号化を施す。つまり、生成パケットに含まれる1000個のシンボルの値に基づいてアプリ層のCRCを付与する。図8の例では、生成パケットには、ヘッダ、1000個のシンボル、アプリ層のCRCが含まれている。
 次に、FEC復号化について詳細に説明する。
 本実施形態では、誤り訂正として主に消失訂正を行う。以下、主に消失訂正について説明する。
 図9は、FEC復号化を説明するための図である。ここでは、図4と異なる点を主に説明する。図9では、図4と同様のパケット位置にエラーやパケット損失が生じている場合を想定している。
 FEC復号化部206Bは、受信処理部205からのパケットを受け取り、消失訂正を行う。このとき、第1の実施形態と同様に、FEC復号候補を生成し、このFEC復号候補に対する誤り訂正の結果に基づいて、FEC符号を復元する。所定の条件を満たす場合には、上記誤り訂正によって、図9に示す復号化パケットのように、元のデータを正確に復元することができる。
 さらに、FEC復号化部206Bは、エラーシンボルが修正されたパケットについては、そのパケットに付与されたアプリ層のCRCを用いて誤り検出(第2の誤り検出)を行う。つまり、FEC復号化部206Bは、修正パケットに対して第2の誤り検出を行う第2誤り検出部としての機能を有する。詳細については後述するが、この誤り検出を行うことで、消失訂正が正確に行われたかどうかを検証することができ、FEC符号化処理をさらに改善することができる。
 次に、受信処理部205BおよびFEC復号化部206Bの動作について説明する。
 図10および図11は、受信処理部205BおよびFEC復号化部206Bの動作例を示すフローチャートである。この動作を行う通信プログラムは、通信装置200B内のROMに格納され、通信装置200B内のCPUによって実行される。なお、図10および図11において、図5および図6と同様のステップについては、説明を省略または簡略化する。
 図11のステップS110の処理後、FEC復号化部206Bは、ステップS110において修正されたシンボルを含むパケットに対して、当該パケットに含まれるアプリ層のCRCを用いて誤り検出を行う(ステップS201)。
 FEC復号化部206Bは、アプリ層のCRCによる誤り検出の結果、誤り検出対象のパケットにエラーシンボルが含まれない(CRC=OK)か否かを判定する(ステップS202)。誤り検出対象のパケットにエラーシンボルが含まれている場合(CRC=NG)、ステップS111に進む。
 誤り検出対象のパケットにエラーシンボルが含まれていないと判定された場合、つまり、通信時に発生したエラーシンボルが正確に修正されている場合、FEC復号化部206Bは、当該パケットを、非正常受信パケットPから正常受信パケットPに変更(昇格)させる。また、FEC復号化部206Bは、正常受信パケット数(a)に1加算し(a←a+1)、非正常受信パケット数(b)から1減算する(b←b-1)(ステップS203)。
 続いて、FEC復号化部206Bは、上記のパケットの昇格を考慮して、a≧kを満たすか否かを判定する(ステップS204)。a≧kを満たさない場合、つまりa<kの場合、ステップS111に進む。
 a≧kを満たす場合、図10のステップS104に進む。つまり、非正常受信パケットが正常受信パケットに昇格した結果、そのパケットのエラーシンボルが全て修正された場合には、他の(後続の)FEC符号における当該パケットのシンボルはエラーシンボルではないものと推定される。また、昇格の結果、正常受信パケット数(a)が情報パケット数(k)以上である場合には、FEC復号候補に対する消失訂正を行うまでもなく、一般的なFEC符号に対する消失訂正によりFEC符号を復元できる。したがって、以降のFEC符号に対するステップS107~S111、S201~S204の処理を省略することができ、演算量を小さくすることができるので、通信装置200Bの処理負荷を軽減させることができる。
 このように、FEC復号化部206Bは、FEC符号修正された結果、正常受信パケット数(a)が情報パケット数(k)以上である場合には、後続のFEC符号のFEC復号候補に対する誤り訂正を中止し、受信パケットに含まれる後続のFEC符号に対する誤り訂正を行うようにしてもよい。
 なお、ステップS202におけるアプリ層のCRCによる誤り検出は、1つのFEC符号に対する処理毎に行われてもよいし、いくつかのFEC符号に対する処理毎につまり処理頻度を低下させて行われてもよい。
 本実施形態の通信装置200Bによれば、アプリ層のCRCを用いた誤り検出を行うことで、エラーシンボルが確実に修正されたかどうかを検証することができる。例えば、あるFEC符号においては、FEC復号候補に対する誤り訂正の結果で一致するものがなく、FEC符号を修正されなかったものが含まれる可能性もある。このような場合であっても、アプリ層のCRCを用いた誤り検出を行うことで、信頼性を向上できる。
 また、エラーシンボルが修正されて、一般的な消失訂正が行うことができるようになった場合には、以降の消失訂正を容易に行うことができ、通信装置200Bの処理負荷を軽減させることができる。
 本発明は、上記実施形態の構成に限られるものではなく、特許請求の範囲で示した機能、または本実施形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
 上記実施形態では、通信装置が、図5、図6、図10、図11等に示したような受信処理部やFEC復号化部による処理を行うことを説明したが、例えば通信された映像データを含む受信パケットをケーブルやメディア等を介して外部装置へ出力し、当該外部装置において受信処理部やFEC復号化部による処理を行うようにしてもよい。
 上記実施形態では、エラーやパケット損失が発生したパケット位置を把握している消失訂正を例に説明したが、誤り訂正を行うための受信パケット数は消失訂正を行うための受信パケット数よりも多く必要であるという条件さえ満たしていれば、上記パケット位置を把握していない誤り訂正についても、当然適用可能である。
 上記実施形態では、アプリ層のCRCとともに、DLC層のCRCを用いていることを説明したが、これに限らず、アプリ層よりも下位層における他のCRC(例えば、トランスポート層のCRC)を用いるようにしてもよい。
 上記実施形態では、消失訂正において全ての正常シンボルを利用することが最良であるが、全ての正常シンボルの一部を利用せず、その代わりに不確定シンボルを利用して消失訂正を行うようにしてもよい。
 上記実施形態では、FEC復号候補のシンボル数が情報シンボル数と同数であることを説明したが、これに限られず、FEC復号候補のシンボル数が情報シンボル数以上であってもよい。FEC復号候補のシンボル数が情報シンボル数と同数である場合には、不確定シンボルを消失訂正の演算に利用する数が少なくなるので、消失訂正の演算結果の一致度を得る確率を大きくすることができる。一方、FEC復号候補のシンボル数が情報シンボル数以上である場合には、消失訂正の演算量を低減させることができる。
 また、本発明は、上記実施形態の機能を実現する通信プログラムを、ネットワークあるいは各種記憶媒体を介して通信装置に供給し、この通信装置内のコンピュータ(CPU)が読み出して実行するプログラムも適用範囲である。
 本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
 本出願は、2011年12月1日出願の日本特許出願No.2011-263958に基づくものであり、その内容はここに参照として取り込まれる。
 本発明は、誤り訂正能力を向上させることが可能な通信装置、通信プログラム等に有用である。
100、200、100B、200B 通信装置
101、201 映像符号化部
102、202 パケット生成部
103、203、103B、203B FEC符号化部
104、204 送信処理部
105、205 受信処理部
106、206、106B、206B FEC復号化部
107、207 映像復号化部
300 通信路
310 第1通信路
320 第2通信路

Claims (8)

  1.  他の通信装置との間で通信を行う通信装置であって、
     FEC符号を構成する情報シンボルを含む情報パケットおよび検査シンボルを含む検査パケットを含む受信パケットを受信し、各々のパケットを複数のシンボルに分割する受信部と、
     前記受信パケットの各パケットが正常受信パケットか非正常受信パケットであるのかを検出する第1誤り検出部と、
     前記FEC符号毎に、前記正常受信パケットに含まれる正常シンボルと前記非正常受信パケットに含まれる不確定シンボルとで構成されるFEC復号候補を、前記不確定シンボルが異なるように複数生成し、第1の誤り訂正を行う第1誤り訂正部と、
     前記第1誤り訂正部による複数の前記FEC復号候補に対する複数の前記第1の誤り訂正の結果のうち、一致した前記第1の誤り訂正の結果に基づいて、前記FEC符号を修正する第2誤り訂正部と、
     を備える通信装置。
  2.  請求項1に記載の通信装置であって、
     前記第1誤り訂正部は、前記第1誤り検出部により誤りが検出されなかった正常受信パケットの数が前記情報パケットの数未満であり、前記受信パケットの数が前記情報パケットの数以上である場合、前記FEC符号毎に、前記正常受信パケットに含まれるシンボルである正常シンボルの全てと、前記第1誤り検出部により誤りが検出された非正常受信パケットに含まれるシンボルである不確定シンボルの一部と、により構成される前記FEC復号候補を、前記不確定シンボルが異なるように複数生成する通信装置。
  3.  請求項2に記載の通信装置であって、
     前記FEC復号候補のシンボルの数は、前記情報シンボルの数と同数である通信装置。
  4.  請求項2または3に記載の通信装置であって、
     前記第2誤り訂正部は、前記FEC符号毎に、前記非正常受信パケットに含まれる前記不確定シンボルの値と、前記一致した前記第1の誤り訂正の結果により得られた前記非正常パケットに含まれるエラーシンボルの値と、に基づいて、前記他の通信装置により送信された送信パケットに含まれる送信シンボルを算出する通信装置。
  5.  請求項2ないし4のいずれか1項に記載の通信装置であって、更に、
     前記第2誤り訂正部により修正されたパケットである修正パケットに対して、第2の誤り検出を行う第2誤り検出部と、
     前記第2誤り訂正部は、前記第2誤り検出部により誤りが検出されなかった場合、前記修正パケットを前記非正常受信パケットから前記正常受信パケットに変更する通信装置。
  6.  請求項5に記載の通信装置であって、
     前記第1誤り訂正部は、前記FEC符号修正部により前記FEC符号が修正された結果、前記正常受信パケットの数が前記情報パケットの数以上となった場合、後続のFEC符号の前記FEC復号候補に対する前記第1の誤り訂正を中止し、前記後続のFEC符号に対する前記第1の誤り訂正を行う通信装置。
  7.  他の通信装置との間で通信を行う通信装置における通信方法であって、
     FEC符号を構成する情報シンボルを含む情報パケットおよび検査シンボルを含む検査パケットを含む受信パケットを受信し、各々のパケットを複数のシンボルに分割するステップと、
     前記受信パケットの各パケットが正常受信パケットか非正常受信パケットであるのかを検出するステップと、
     前記FEC符号毎に、前記正常受信パケットに含まれる正常シンボルと前記非正常受信パケットに含まれる不確定シンボルとで構成されるFEC復号候補を、前記不確定シンボルが異なるように複数生成し、第1の誤り訂正を行うステップと、
     前記第1誤り訂正による複数の前記FEC復号候補に対する複数の前記第1の誤り訂正の結果のうち、一致した前記第1の誤り訂正の結果に基づいて、前記FEC符号を修正するステップと、
     を有する通信方法。
  8.  請求項7に記載の通信方法の各ステップをコンピュータに実行させるための通信プログラム。
PCT/JP2012/007412 2011-12-01 2012-11-19 通信装置、通信方法、及び通信プログラム WO2013080481A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/292,410 US9319074B2 (en) 2011-12-01 2014-05-30 Communication device, communication method, and communication program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-263958 2011-12-01
JP2011263958A JP5895238B2 (ja) 2011-12-01 2011-12-01 通信装置、通信方法、及び通信プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/292,410 Continuation-In-Part US9319074B2 (en) 2011-12-01 2014-05-30 Communication device, communication method, and communication program

Publications (1)

Publication Number Publication Date
WO2013080481A1 true WO2013080481A1 (ja) 2013-06-06

Family

ID=48534980

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/007412 WO2013080481A1 (ja) 2011-12-01 2012-11-19 通信装置、通信方法、及び通信プログラム

Country Status (3)

Country Link
US (1) US9319074B2 (ja)
JP (1) JP5895238B2 (ja)
WO (1) WO2013080481A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7069542B2 (ja) * 2016-12-16 2022-05-18 ソニーグループ株式会社 送信装置、及び、送信方法
US11165443B2 (en) 2018-10-01 2021-11-02 Microchip Technology Incorporated Burst error tolerant decoder and related systems, methods, and devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0897730A (ja) * 1994-09-29 1996-04-12 Canon Inc 誤り訂正装置及び方法
JP2012147197A (ja) * 2011-01-11 2012-08-02 Panasonic Corp 通信装置、通信方法、及び通信プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600663A (en) * 1994-11-16 1997-02-04 Lucent Technologies Inc. Adaptive forward error correction system
JP3322561B2 (ja) * 1996-04-12 2002-09-09 シャープ株式会社 Fm文字多重放送用受信機
JP2001060880A (ja) * 1999-08-20 2001-03-06 Sony Corp ディジタル信号の誤り訂正回路
US6634007B1 (en) * 1999-11-08 2003-10-14 Codevector Technology Algebraic soft decoding of reed-solomon codes
KR100539864B1 (ko) * 2001-07-25 2005-12-28 삼성전자주식회사 부호분할다중접속 이동통신시스템에서 고속 데이터의 재전송장치 및 방법
US6847760B2 (en) * 2001-10-23 2005-01-25 Georgia Tech Research Corporation Spatially resolved equalization and forward error correction for multimode fiber links
JP4532505B2 (ja) * 2004-12-09 2010-08-25 三菱電機株式会社 データ送信装置、データ受信装置、およびデータ配信システム
US20090016469A1 (en) * 2007-07-11 2009-01-15 The Hong Kong University Of Science And Technology Robust joint erasure marking and list viterbi algorithm decoder
US9276787B2 (en) * 2008-03-28 2016-03-01 Qualcomm Incorporated Transmission of signaling messages using beacon signals
JP4544435B2 (ja) 2009-02-10 2010-09-15 日本電気株式会社 映像品質推定装置、映像品質推定方法およびプログラム
JP2011193434A (ja) * 2009-10-28 2011-09-29 Panasonic Corp パリティパケットを用いた通信方法、通信装置及び中継器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0897730A (ja) * 1994-09-29 1996-04-12 Canon Inc 誤り訂正装置及び方法
JP2012147197A (ja) * 2011-01-11 2012-08-02 Panasonic Corp 通信装置、通信方法、及び通信プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MASAYUKI ARAI ET AL.: "Analysis of using convolutional codes to recover packet losses over burst erasure channels, Dependable Computing", PROCEEDINGS. 2001 PACIFIC RIM INTERNATIONAL SYMPOSIUM ON, 2001, 2001, pages 258 - 265, XP055071000 *
SHIGERU UCHIDA ET AL.: "A Study on Reliable Data Transfer with Erasure Correction Code", 2006 NEN IEICE COMMUNICATIONS SOCIETY CONFERENCE KOEN RONBUNSHU 1, 7 September 2006 (2006-09-07), pages 525, B-17 - 15 *

Also Published As

Publication number Publication date
JP2013118445A (ja) 2013-06-13
US9319074B2 (en) 2016-04-19
JP5895238B2 (ja) 2016-03-30
US20140317466A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
US8522121B2 (en) Low complexity error correction using cyclic redundancy check (CRC)
US8359513B2 (en) Data communications methods and apparatus
US20140068357A1 (en) Assessment and Correction of Transmitted Data
US8683301B2 (en) Error correction coding for recovering multiple packets in a group in view of limited bandwidth
US20080155372A1 (en) Methods and apparatus for improving error indication performance in systems with low-density parity check codes
JP2012147197A (ja) 通信装置、通信方法、及び通信プログラム
US11088780B2 (en) Low complexity blind detection of code rate
JP2007043550A (ja) 通信方法および通信システム
US8996962B2 (en) Chase coding for error correction of encrypted packets with parity
US20040107398A1 (en) Error detection in received data transmissions
US8136013B2 (en) Burst error correction based on fire code
EP2264930A1 (en) Distributed code generation method and device
Luyi et al. Forward error correction
JP5895238B2 (ja) 通信装置、通信方法、及び通信プログラム
JP2012170062A (ja) 通信システムにおいてデータパケット内の検出不可能な誤りを最小にする方法
Cabrera et al. Taking the trash back in: practical joint channel and network coding for improving ieee 802.11 networks
JP2014239285A (ja) データ伝送装置及び方法
US20080082896A1 (en) Burst error correction with offset for correction vector based on fire code
Chaudhary et al. Error control techniques and their applications
JP4379329B2 (ja) Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
US7313748B2 (en) FEC decoder and method
EP2075918A2 (en) Transmission apparatus and method, reception apparatus and method, and program
US11876620B1 (en) Error correction for decoding frames
El-Din et al. Optimizing Chien search usage in the BCH decoder for high error rate transmission
KR20090025048A (ko) 전송 스트림 패킷의 채널 디코딩 장치 및 그 방법

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: 12852489

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12852489

Country of ref document: EP

Kind code of ref document: A1