JP4503613B2 - 誤り訂正方法及び装置 - Google Patents

誤り訂正方法及び装置 Download PDF

Info

Publication number
JP4503613B2
JP4503613B2 JP2006544763A JP2006544763A JP4503613B2 JP 4503613 B2 JP4503613 B2 JP 4503613B2 JP 2006544763 A JP2006544763 A JP 2006544763A JP 2006544763 A JP2006544763 A JP 2006544763A JP 4503613 B2 JP4503613 B2 JP 4503613B2
Authority
JP
Japan
Prior art keywords
error correction
error
data
code
row
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2006544763A
Other languages
English (en)
Other versions
JPWO2007029432A1 (ja
Inventor
幸一 斉藤
陽一 深田
洋一 前田
清美 雲崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2007029432A1 publication Critical patent/JPWO2007029432A1/ja
Application granted granted Critical
Publication of JP4503613B2 publication Critical patent/JP4503613B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver 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/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/0057Block codes
    • 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/0061Error detection codes
    • 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/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • 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/0071Use of interleaving
    • 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
    • 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
    • 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

Description

本発明は、例えば、ATM、IP、LANといったパケット型伝送方式において、ビット誤り及びパケット消失を補償する誤り訂正技術に関する。
デジタルデータのビット誤り及び消失を補償する方式として、FEC方式(FEC:Foward Error Correction)が知られている。FEC方式は、送信側において、データを誤り訂正符号により符号化し、受信側において誤り又は消失を検出して、訂正を行う方式である。誤り訂正符号としては、BCH符号、リードソロモン符号、畳み込み符号等の各種符号が提案されている(例えば、非特許文献1参照)。
誤り訂正符号において、Nビットのデータに対して、nビットの誤り訂正符号を付加したN+nビットのビット列を符号語と呼ぶ。符号語中のビットに誤りが発生した場合でもその誤り数が誤り訂正能力以下である場合は、受信側において誤り位置を検知することができ、よって誤りを完全に修正することができる。誤り訂正能力は、誤り訂正符号により異なり、例えば、(15、10)ハミング符号、即ち、10ビットのデータに5ビットの誤り訂正符号を付加して15ビットの符号語とするハミング符号では、2ビットまでのバースト誤りを訂正することができる。尚、パリティ符号や、CRC符号に代表される誤り検出符号も、誤り訂正符号と同様に、データに対して誤り検出符号を付加するが、符号語内に誤りがあることを検出するのみで、その訂正はできない。
誤り訂正符号単体では訂正困難な誤り、例えば、バースト的な誤りに対処するため、複数の誤り訂正符号を組み合わせて、又は、誤り訂正符号と誤り検出符号を組み合わせて使用する各種FEC方式が提案され、使用されている。
従来技術によるFEC方式は、大きく3つに分類することができる。1番目はストリーム型伝送方式に用いられるFEC方式であり、2番目はパケット型伝送方式において、パケット消失の補償を行うFEC方式であり、3番目はパケット型伝送方式において、パケットの消失及びパケット内のビット誤りの訂正を行うFEC方式である。以下、図6〜9を用いて、従来技術によるFEC方式について説明を行う。
図6は、ストリーム型伝送方式に用いられるFEC方式を説明する図であり、(a)は、単一の誤り訂正符号を用いる方式を、(b)は2種類の誤り訂正符号を用いる方式を示している。
図6(a)に示す単一の誤り訂正符号を用いる方式の送信側においては、送信データを、所定のビット数を単位として区切り、区切ったデータに対して誤り訂正符号を計算して符号語を生成する。受信側においては、誤り訂正符号に基づき誤りの訂正を行う。
図6(b)は、2種類の誤り訂正符号を組み合わせた積符号と呼ぶ方式を示す図である。図6(b)に示す様に、一定長のデータを行列状に配置し、例えば、まず縦方向又は列方向において誤り訂正符号を計算して、誤り訂正符号である外符号を、各列の最後に付加する。尚、外符号とは、使用する2種類の符号のうち、先に計算する符号を示す用語である。
続いて、横方向又は行方向において誤り訂正符号を計算して、誤り訂正符号である内符号を、各行の最後に付加する。尚、内符号とは、使用する2種類の符号のうち、後に計算する符号を示す用語である。
積符号では、例えば、バースト誤りにより、1つの行に内符号の誤り訂正能力以上の誤りが発生した場合であっても、列方向では、バースト誤りとはならないため、外符号により総ての誤りが訂正できる等、その誤り訂正能力が向上する。例えば、国内の地上デジタル放送では、内符号としてパンクチャド畳み込み符号を、外符号として(204、188)短縮化リードソロモン符号を用いた積符号によるFEC方式を採用している(例えば、非特許文献2、3参照。)。
図7は、パケット型伝送方式において、パケット消失の補償を行うFEC方式を説明する図であり、特許文献1に記載されている。特許文献1によれば、図7に示す様に、データA〜Dをペイロード部分に有するATMセルに続いて、パリティをペイロード部分に有するパリティセルが送信される。データA〜データDの第kビットに対するパリティビットは、パリティセルのペイロードの第kビットに格納される。また、ATMセルには送信順に連続するセル番号が付与される。
例えば、データBを有するATMセルが消失した場合、受信側では、セル番号よりセルの消失を認識し、パリティセルからデータBを復元することができる。この方式は、簡単な構成でパケット消失の補償を可能とするが、ビット誤りの訂正はできない。即ち、データBの第1ビットに誤りが発生したとしても、パリティセルにより判定できるのは、データA〜Dの第1ビットのいずれかに、又は、複数に誤りが発生していることのみである。
図8及び図9は、パケット型伝送方式において、パケット消失及びパケット内の誤り訂正を行うFEC方式を説明する図であり、例えば、非特許文献4、特許文献2及び特許文献3に本方式が記載されている。
本方式では、図8(a)に示す様に、データ列を所定長のデータA〜Dに区切り、行列状に配置した上で、行方向に外符号を計算し、データA〜Dそれぞれに外符号A〜Dを付与する。続いて、データ及び外符号に対して、列方向に内符号を計算し、内符号Zを付与、即ち、積符号を計算する。
続いて、各行のデータをATMセルサイズに分割し、行列の第1行から順に、セルの送出順序を示すセル番号を付与したATMセルとして送信する。図8(b)においては、各データは2分割されている。
受信側においては、図9に示す様に、セル番号に基づき、送信側と同じ行列状にデータを並べる。このとき、セル番号から検出できる消失セルについては、ダミーデータを挿入しておく。図9においては、データB−1のATMセルが消失したため、データB−1の位置にダミーデータを挿入している。また、誤りが発生したデータについては、この段階では検出できず、従って誤りを有したままのデータが行列状に配置される。図9においては、データD−2に誤りが発生している。
続いて、行列状に配置したデータに対して、内符号及び外符号により誤り訂正を行い、ダミーデータ及び誤りの訂正処理を行う。本方式は、図7を用いて説明した特許文献1に記載の構成とは異なり、ビットの誤りについても補償可能であるが、低効率、高遅延及び複雑な回路構成という欠点がある。
低効率となる原因は、外符号を格納する専用セルの存在である。例えば、非特許文献4では、(442、424)BCH符号で伝送効率が21/22であり、(460、424)BCH符号で、伝送効率が10/11としている。
また、高遅延は、受信側での誤り訂正時に発生し、これは、全符号語、即ち、データ、内符号及び外符号を受信する時間に依存する。例えば、非特許文献4に記載の、外符号に(460、424)BCH符号を用い、内符号に(15、14)パリティ符号を用いる方式であれば、横方向(データ+外符号)の符号語長は11セル、縦方向(データ+内符号)の符号語長は15セルであり、積符号全体の符号語長11×15=165セルである。つまり、165セルを受信する時間が、遅延時間を決定することとなる。
更に、内符号及び外符号共に誤り訂正符号を用いる場合には、その回路構成は複雑になる。尚、誤り訂正符号化を行う誤り訂正符号器、誤り訂正符号に基づき誤り訂正を行う誤り訂正器、誤り検出符号化を行う誤り検出符号器及び誤り検出符号に基づき誤り検出を行う誤り検出器については、例えば、非特許文献5に記載されている。
また、Turbo Product Codeを用いて積符号のように二次元に符号化する方法も考えられているが、Turbo Product Codeは計算量が多く、特に復号時に繰り返し演算が必要となり処理が複雑になる。Turbo Product Codeを用いる方法については、例えば、特許文献4に記載されている。
特許第2762815号明細書 特開平03−254240号公報 特開平04−207734号公報 US2004−0260996A1 今井秀樹監修、"エレクトロニクスエッセンシャルズNo.20 誤り訂正符号の要点"、日本工業センター 山田宰監修、"映像情報メディア学会編、デジタル放送ハンドブック"、オーム社、pp18−19 ITU−R勧告 BT.1306−1 岩瀬亮一、小原仁、"ATM網における伝送路符号誤りおよびセル廃棄の補償法"、電子情報通信学会和文論文誌、J75−B1 No.1、pp1−11、1992年1月 原島博監修、"誤り訂正符号化技術の応用事例<デジタル記録編>"、トリケップス刊、pp43―44、pp67−68
従って、本発明は、パケット消失及びパケット内のビット誤りの補償が可能であり、高効率、低遅延で、簡易な回路構成により実現できる誤り訂正方法及び誤り訂正装置を提供することを目的とする。
本発明における誤り訂正方法は、送信側装置において送信対象であるデータを、所定ビット数単位で符号化してパケットにより送信し、受信側装置においてパケットのビット誤り及びパケット消失を補償する誤り訂正方法であって、送信側装置において、データを行列状に配置するステップと、行列状に配置したデータの列方向に誤り訂正符号を計算し、データと同一列数の行列状に配置するステップと、データ又は誤り訂正符号を有する各行に、行番号に対応する番号情報を付与するステップと、各行の(番号情報とデータ又は番号情報と誤り訂正符号)に対するビット誤りを検出する誤り検出符号を付加して、それぞれ、1つのパケットに格納して送信するステップとを有し、受信側装置において、受信したパケットの誤り検出符号によって、(番号情報とデータ)又は(番号情報と誤り訂正符号)の行単位でビット誤りを検出するステップと、誤りを検出しなかった行では(番号情報+データ)又は(番号情報+誤り訂正符号)の番号情報を分離した(データ)又は(誤り訂正符号)の行の第1列目に0を付加した行と、誤りを検出した行では第1列目が1でその他の列が不定値の行とで作成した行列(M+1行(Mは自然数),N+1列(Nは自然数))の第1列目を行列F M+1 とし、第2列目以降を行列D M+1,N とするステップと、(M+1)行(M+1)列の単位行列I M+1 と、総ての要素が1である長さがM+1の横ベクトルをE M+1 とを用いて、式(1)により誤り訂正した行列D M+1,N を得るステップとを有することを特徴とする。
M+1,N =[I M+1 +F M+1 ・E M+1 ]D M+1,N …(1)
本発明における誤り訂正装置は、入力される所定ビット数のデータを行列状に配置し、各列に対して誤り訂正符号を計算し、計算した誤り訂正符号を、各列に付加する誤り訂正符号手段と、前記誤り訂正符号手段が出力する各行に、行番号に対応する番号情報を付加する番号情報付与手段と、前記番号情報付与手段が出力する各行に、各行の(番号情報とデータ)又は(番号情報と誤り訂正符号)に対するビット誤りを検出する誤り検出符号を付加する誤り検出符号手段と、前記誤り検出符号手段が出力する各行を、1つのパケットに格納して送信するパケット送信手段とで構成される誤り訂正符号化装置が出力するパケットを受信して復号化する誤り訂正装置であって、各パケットに含まれる誤り検出符号によって、(番号情報とデータ)又は(番号情報と誤り訂正符号)の行単位でビット誤りを検出する誤り検出手段と、誤りを検出しなかった行では(番号情報+データ)又は(番号情報+誤り訂正符号)の番号情報を分離した(データ)又は(誤り訂正符号)の行の第1列目に0を付加した行と、誤りを検出した行では第1列目が1でその他の列が不定値の行とで作成した行列(M+1行(Mは自然数),N+1列(Nは自然数))の第1列目を行列F M+1 とし、第2列目以降を行列D M+1,N とするステップと、(M+1)行(M+1)列の単位行列I M+1 と、総ての要素が1である長さがM+1の横ベクトルをE M+1 とを用いて、式(1)により誤り訂正した行列D M+1,N を得る誤り訂正手段とを有することを特徴とする。
M+1,N =[I M+1 +F M+1 ・E M+1 ]D M+1,N …(1)
積符号の一方の符号を、誤り訂正符号よりも付加するビット数が少なく、回路構成も簡易な誤り検出符号とし、誤り検出符号をデータ又は誤り訂正符号と同一のパケットにより送信することで、パケット消失とパケット内のビット誤りの双方を補償しつつ、冗長を削減して低遅延、高効率を実現し、また、符号化装置及び復号化装置の簡易化を実現している。
更に、各パケットには番号情報が付与されているため、番号情報を用いることにより、受信しなかったパケットの縦方向の位置を知ることができ、単一誤り訂正符号のような簡易な誤り訂正符号が使用可能になるほど訂正性能を向上することができる、という効果がある。
本発明による誤り訂正の符号化を説明する図である。 本発明による誤り訂正方法での送信パケットを示す図である。 本発明による誤り訂正方法の復号化を説明する図である。 本発明による誤り訂正符号化装置のブロック図である。 本発明による誤り訂正復号化装置のブロック図である。 ストリーム型伝送方式に用いられるFEC方式を説明する図である。 パケット型伝送方式において、パケット消失の補償を行うFEC方式を説明する図である。 パケット型伝送方式において、パケットの消失及びパケット内のビット誤りの訂正を行うFEC方式を説明する図である。 パケット型伝送方式において、パケットの消失及びパケット内のビット誤りの訂正を行うFEC方式を説明する他の図である。
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。
図1は、本発明による誤り訂正方法の符号化を説明する図である。図1(a)に示す様に、送信側装置では、送信データをNビット単位に区切り、M個のNビットデータ(データ#1〜#M)を、行列状に配置して符号化処理を行う。即ち、送信側装置は、符号化処理を、N×Mビット単位で行う。ここで、N及びMは、所定の自然数である。尚、図1においては、送信データを、第1行から行の昇順に配置する形態で示しているが、第1列から列の昇順に配置する形態等、送受信側で共通であればN×Mビットデータの配置順には制限はない。
続いて、縦方向又は列方向に対して誤り訂正符号により符号化を行い、誤り訂正符号である外符号を付与する。図1(b)に示す様に、本例において、外符号はMビットのデータに対してmビットの誤り訂正符号を生成するものとし、生成したmビットの外符号を、計算対象列と同一列に付加している。よって、外符号は、m行N列の行列状となる。以後、図1(b)に示す様に、外符号の第kビットの行を外符号#M+kと呼ぶ(1≦k≦m)。
続いて、データ#1からデータ#M及び外符号#M+1から外符号#M+mそれぞれの行の先頭にQビットの番号情報を付与する。番号情報は、行番号を示す情報である。以後、図1(b)に示す様に、第k行(1≦k≦M+m)の番号情報を番号情報#kと呼ぶ。
最後に、Q+Nビットからなる各行に対して、誤り検出符号により符号化を行い、誤り検出符号である内符号を付与する。図1(b)に示す様に、本例において、内符号はQ+Nビットに対してnビットの誤り検出符号を生成するものとし、生成したnビットの内符号を、計算対象行と同一行に付与している。以後、図1(b)に示す様に、第k行(1≦k≦M+m)の内符号を内符号#kと呼ぶ。
図2は、本発明による誤り訂正方法での送信パケットを示す図である。送信側装置は、図1(b)に示すQ+N+nビットの各行にパケットのヘッダを付与し、1つのパケットとして送信する。即ち、送信側装置は、N×Mビットのデータを、M+m個のパケットで送信する。
受信側装置においては、まず受信パケットに必ず存在する、誤り検出符号である内符号により、誤りが生じているか否かの検査を行い、誤りを検出した場合には、当該パケットを廃棄する。続いて、受信パケットの番号情報に基づき、番号情報を除いたペイロード部分、即ちデータ又は外符号を含んでいる部分を、行列状に配置する。このとき、誤り検出により廃棄したパケット及びネットワークでの消失により受信しなかったパケットについては、適当なダミーデータを配置しても良い。図3は、本発明による誤り訂正方法の復号化を説明する図であり、図3においては、データ#4のパケットで誤りが検出されたことにより、或いは、データ#4のパケットをそもそも受信しなかったことにより、データ#4の位置にはダミーデータが配置されている。
最後に、受信側装置において、正しく受信した番号情報と外符号により誤り訂正を行い、ダミーデータの誤り訂正を行う。
尚、送信側装置において、Q+N+nビットからなる各行にパケットヘッダを付与して送信する例を示したが、1つのパケットには、ビット調整のためのパディング等、他のビットを格納することもできる。またその場合、誤り検出符号の検出対象範囲に他のビットを含めてもよい。即ち、Qビットの番号情報と、Nビットのデータ又は外符号とが、少なくとも、誤り検出符号の検出対象範囲であり、受信側装置で、Qビットの番号情報と、Nビットのデータ又は外符号と、nビットの誤り検出符号と、その他のビットの区別ができ、nビットの誤り検出符号が対象とする範囲が送信側装置と受信側装置で共通であればよい。尚、各ブロックによる処理遅延は、データ、クロック信号、各制御信号の非同期の原因となるが、適切な遅延回路の挿入によりこれを補償することができる。以降の説明では、遅延回路は省略する。
図4は、本発明による誤り訂正符号化装置、即ち、送信側装置のブロック図である。図4によると、誤り訂正符号化装置は、RAM(Random Access Memory)2と、誤り訂正符号器3と、誤り検出符号器4と、パケットヘッダ付与器5とを備えている。また、符号1はデータ入力ポートであり、符号6はパケット出力ポートである。
データ入力ポート1に入力される送信データは、図1(b)にて説明したようにN×Mビットを単位として処理され、RAM2の図4の点線で区切られた領域のうち、M行N列である中央上段の領域に順次書き込まれる。
また、RAM2の左側Q列の各行、つまり第1行から第M+m行には、Qビットの番号情報を格納する。この番号情報は、各行に送信データを書き込む際に、合わせて書き込んでも、RAM2を初期化する際に固定値として書き込んでも良い。
RAM2のM行N列の領域に送信データを格納後、誤り訂正符号器3は、送信データの各列に対する誤り訂正符号を生成し、生成した誤り訂正符号を、訂正対象である送信データと同一列の第M+1行から第M+m行に格納する。以上の処理を送信データ総てに対し、つまり、RAM2の第Q+1列から第Q+N列まで行う。尚、1列ずつではなく、複数列ずつ並列に処理しても良い。また、N×Mビットの送信データが、総て、RAM2のM行N列の領域に格納された後に誤り訂正符号の生成と格納処理を行うのではなく、総ての行のデータが格納された列から順に、誤り訂正符号の生成と格納処理を行ってもよく、処理時間を低減することができる。
使用する誤り訂正符号は、非2元符号であっても良い。この場合、複数のビットを最小単位とする誤り訂正符号化を行う。例えば、リードソロモン符号RS(255、239)を用いる場合、8ビットを符号化の単位として計算する。
続いて、誤り検出符号器4が、各行のデータに対する誤り検出符号を生成し、誤り検出の対象行の第Q+N+1列から第Q+N+n列に格納する。誤り訂正符号器3と同様、誤り検出符号器4は、1行ずつではなく、複数行ずつ並列に処理しても良い。また、RAM2の(Q+N)×(M+m)の領域総てに必要なデータ、つまり、番号情報、送信データ、誤り訂正符号が格納された後に、誤り検出符号の生成と格納処理を行うのではなく、総てのデータが格納された行から順に、誤り検出符号の生成と格納処理を行ってもよく、処理時間を低減することができる。
パケットヘッダ付与器5は、RAM2の各行のデータ、つまり、番号情報と、送信データ又は誤り訂正符号と、誤り検出符号とを含むデータを入力し、このデータにパケットヘッダを付与し、パケット出力ポート6に出力する。
図5は、本発明による誤り訂正復号化装置、即ち、受信側装置のブロック図である。図5によると、誤り訂正復号化装置は、パケットヘッダ分離器8と、誤り検出器9と、番号情報分離器10と、RAM11と、誤り訂正器12とを備えている。また、符号7はパケット入力ポートであり、符号13はデータ出力ポートである。
パケットヘッダ分離器8は、パケット入力ポート7から入力されるパケットのヘッダを終端し、番号情報と、データ又は誤り訂正符号と、誤り検出符号とを含むQ+N+nビットのペイロードを誤り検出器9に出力する。
誤り検出器9は、誤り検出符号に基づき、入力された番号情報+データ、又は、番号情報+誤り訂正符号に誤りが発生しているか否かを検査する。誤り検出器9は、誤りを検出しなかった場合には、番号情報+データ、又は、番号情報+誤り訂正符号を番号情報分離器10に出力し、誤りを検出した場合には、何も出力をしない。
番号情報分離器10は、入力される番号情報+データ、又は、番号情報+誤り訂正符号の番号情報を終端し、そのデータ又は誤り訂正符号を、RAM11のその番号情報に対応する行の第2列から第N+1列に格納し、同一行の第1列の値を0にする。
RAM11の第1列は、パケット廃棄を示すパケット廃棄フラグ領域であり、第2列から第N+1列の第1行から第M行は、データを格納する領域であり、同列の第M+1行からM+m行は、誤り訂正符号を格納する領域である。パケット廃棄フラグは、同一行のデータ又は誤り訂正符号が正常に受信されたものであるか否かを示し、値が0である場合には誤りなく受信したことを、値が1である場合には廃棄又は誤り検出されたことを示している。尚、総てのパケット廃棄フラグには、RAM11の初期化時と、N×Mビットのデータ処理が完了するごとに値1が設定される。
誤り訂正器12は、パケット廃棄フラグの第1行から第M行までのうち1つでも値1となっているものがある場合には、誤り訂正符号とパケット廃棄フラグの値に基づきRAM11の第2列から第N+1列のデータの誤り訂正を行う。尚、誤り訂正器12による誤り訂正の開始は、誤り訂正符号化装置がM+m個のパケットを受信した後、或いは、最初のパケットの受信からM+m個のパケットを受信するのに十分な時間の経過後に開始する。尚、誤り訂正器12は、1列ずつ誤り訂正処理を実行するのではなく、複数列ずつ並列に処理しても良い。その後、データは、データ出力ポート13に出力される。
以下に、誤り訂正に関する具体例を示す。例えば、誤り訂正符号を偶パリティとする。このときm=1であり、誤り訂正符号は、どの列も1の個数が偶数個になるように生成される。誤り訂正復号化装置がM+1個のパケットを受信し、その中の1つに誤りが検出されて廃棄された場合、該当する行のパケット廃棄フラグのみが値1になる。このとき、RAM11の第2列から第N+1列までの信号を要素とするM+1行N列の行列をDM+1,N、パケット廃棄フラグを長さM+1の縦ベクトルFM+1、(M+1)行(M+1)列の単位行列をIM+1、総ての要素が1である長さがM+1の横ベクトルをEM+1とすると、廃棄された1行が復元されたM+1行N列の行列D* M+1,Nは、次式によって計算される。
* M+1,N=[IM+1+FM+1・EM+1]DM+1,N (1)
ただし、式(1)はモジュロ2上での演算である。例えば、N=8、M=4とし、送信データを、
Figure 0004503613
とすると、外符号は、[0 0 0 0 0 1 0 0]となる。受信側装置で、2番目のパケットを、誤り検出により廃棄したものとすると、RAM11の(M+1)行(N+1)列のメモリ内容は、
Figure 0004503613
となる。ここで、xは廃棄による不定値を示している。このとき、式(1)の右辺の各変数は、
Figure 0004503613
である。これらを式(1)に代入して計算すると、
Figure 0004503613
となり、第2行も含めて上側4行は送信データと一致していることが確認できる。式(1)の計算は、行列の加算と乗算のみであり簡単に実現可能である。
通常、1ビットの誤り訂正を行うには、最小ハミング距離が3ビット以上の符号を用いる必要がある。4ビットのデータの場合には、最低でも誤り訂正符号として3ビット必要である。例えば、誤り訂正符号が3ビットである符号として、2元(7,4)BCH符号がある。本数値例では誤り訂正符号は1ビットであり、送信すべき情報が少なくてすむので信号伝送帯域を削減できる。誤り検出符号としては、誤りを検出するのみなのでパリティビットのような簡易な符号も適用可能である。また、イーサネット(登録商標)フレームのような、誤り検出機能をもともと有しているパケットに対して適用すれば、誤り検出符号を新たに付加する必要は無く、帯域を余分に必要とせずに済む。
以上説明したように、積符号の一方の符号を、誤り訂正符号よりも付加するビット数が少なく、回路構成も簡易な誤り検出符号とし、誤り検出符号をデータ又は誤り訂正符号と同一のパケットにより送信することで、パケット消失とパケット内のビット誤りの双方を補償しつつ、冗長を削減して低遅延、高効率を実現し、また、誤り訂正符号化装置及び復号化装置の簡易化を実現している。更に、誤り訂正復号化装置では、各パケットの番号情報に基づき縦方向でのパケット廃棄位置を認識するため、単一誤り訂正符号の様な簡易な誤り訂正符号が使用可能になるほど訂正性能を向上させることができる、という効果がある。

Claims (2)

  1. 送信側装置において送信対象であるデータを、所定ビット数単位で符号化してパケットにより送信し、受信側装置においてパケットのビット誤り及びパケット消失を補償する誤り訂正方法であって、
    送信側装置において、
    データを行列状に配置するステップと、
    行列状に配置したデータの列方向に誤り訂正符号を計算し、データと同一列数の行列状に配置するステップと、
    データ又は誤り訂正符号を有する各行に、行番号に対応する番号情報を付与するステップと、
    各行の(番号情報とデータ又は番号情報と誤り訂正符号)に対するビット誤りを検出する誤り検出符号を付加して、それぞれ、1つのパケットに格納して送信するステップと
    を有し、
    受信側装置において、
    受信したパケットの誤り検出符号によって、(番号情報とデータ)又は(番号情報と誤り訂正符号)の行単位でビット誤りを検出するステップと、
    誤りを検出しなかった行では(番号情報+データ)又は(番号情報+誤り訂正符号)の番号情報を分離した(データ)又は(誤り訂正符号)の行の第1列目に0を付加した行と、誤りを検出した行では第1列目が1でその他の列が不定値の行とで作成した行列(M+1行(Mは自然数),N+1列(Nは自然数))の第1列目を行列F M+1 とし、第2列目以降を行列D M+1,N とするステップと、
    (M+1)行(M+1)列の単位行列I M+1 と、総ての要素が1である長さがM+1の横ベクトルをE M+1 とを用いて、式(1)により誤り訂正した行列D M+1,N を得るステップと
    M+1,N =[I M+1 +F M+1 ・E M+1 ]D M+1,N …(1)
    を有することを特徴とする誤り訂正方法。
  2. 入力される所定ビット数のデータを行列状に配置し、各列に対して誤り訂正符号を計算し、計算した誤り訂正符号を、各列に付加する誤り訂正符号手段と、
    前記誤り訂正符号手段が出力する各行に、行番号に対応する番号情報を付加する番号情報付与手段と、
    前記番号情報付与手段が出力する各行に、各行の(番号情報とデータ)又は(番号情報と誤り訂正符号)に対するビット誤りを検出する誤り検出符号を付加する誤り検出符号手段と、
    前記誤り検出符号手段が出力する各行を、1つのパケットに格納して送信するパケット送信手段と
    で構成される誤り訂正符号化装置が出力するパケットを受信して復号化する誤り訂正装置であって、
    各パケットに含まれる誤り検出符号によって、(番号情報とデータ)又は(番号情報と誤り訂正符号)の行単位でビット誤りを検出する誤り検出手段と、
    誤りを検出しなかった行では(番号情報+データ)又は(番号情報+誤り訂正符号)の番号情報を分離した(データ)又は(誤り訂正符号)の行の第1列目に0を付加した行と、誤りを検出した行では第1列目が1でその他の列が不定値の行とで作成した行列(M+1行(Mは自然数),N+1列(Nは自然数))の第1列目を行列F M+1 とし、第2列目以降を行列D M+1,N とするステップと、
    (M+1)行(M+1)列の単位行列I M+1 と、総ての要素が1である長さがM+1の横ベクトルをE M+1 とを用いて、式(1)により誤り訂正した行列D M+1,N を得る誤り訂正手段と
    M+1,N =[I M+1 +F M+1 ・E M+1 ]D M+1,N …(1)
    を有することを特徴とする誤り訂正装置。
JP2006544763A 2005-09-01 2006-08-01 誤り訂正方法及び装置 Expired - Fee Related JP4503613B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2005253275 2005-09-01
JP2005253275 2005-09-01
JP2006157186 2006-06-06
JP2006157186 2006-06-06
PCT/JP2006/315215 WO2007029432A1 (ja) 2005-09-01 2006-08-01 誤り訂正方法及び装置

Publications (2)

Publication Number Publication Date
JPWO2007029432A1 JPWO2007029432A1 (ja) 2009-03-12
JP4503613B2 true JP4503613B2 (ja) 2010-07-14

Family

ID=37835558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006544763A Expired - Fee Related JP4503613B2 (ja) 2005-09-01 2006-08-01 誤り訂正方法及び装置

Country Status (5)

Country Link
US (1) US7698290B2 (ja)
EP (1) EP1921754B1 (ja)
JP (1) JP4503613B2 (ja)
CN (1) CN101080875B (ja)
WO (1) WO2007029432A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141466B2 (en) * 2009-12-31 2015-09-22 Intel Corporation Correcting double-bit burst errors using a low density parity check technique
WO2011082834A1 (en) * 2010-01-11 2011-07-14 Nokia Corporation Error correction
US8479079B2 (en) * 2010-04-09 2013-07-02 International Business Machines Corporation Integrated data and header protection for tape drives
CN102006625B (zh) * 2010-11-10 2013-07-17 清华大学 基于前向纠错的车载自组网可靠广播协议的系统及方法
CN102142928B (zh) * 2010-11-19 2013-11-06 华为技术有限公司 交织、解交织外码编码输出码字的方法和交织、解交织器
US9496982B2 (en) 2011-03-04 2016-11-15 Alcatel Lucent System and method providing resilient data transmission via spectral fragments
US9030953B2 (en) 2011-03-04 2015-05-12 Alcatel Lucent System and method providing resilient data transmission via spectral fragments
US9686062B2 (en) 2011-03-04 2017-06-20 Alcatel Lucent Virtual aggregation of fragmented wireless spectrum
CN103365737B (zh) * 2012-04-06 2016-09-14 国民技术股份有限公司 数据读写方法、读写装置及数据存储系统
US9021330B2 (en) 2012-05-15 2015-04-28 Alcatel Lucent System and method for multi-channel FEC encoding and transmission of data
JP2016062130A (ja) * 2014-09-16 2016-04-25 日本電気株式会社 ネットワーク処理トレース装置、ネットワーク処理トレース方法、および、コンピュータ・プログラム
US10489240B2 (en) * 2015-09-25 2019-11-26 Microsoft Technology Licensing, Llc Efficient detection of corrupt data
WO2017196827A1 (en) 2016-05-11 2017-11-16 Idac Holdings, Inc. Multi-stage forward error correction with parity codes
CN106598939B (zh) * 2016-10-21 2019-09-17 北京三快在线科技有限公司 一种文本纠错方法及装置、服务器、存储介质
US20190243566A1 (en) * 2018-02-05 2019-08-08 Infineon Technologies Ag Memory controller, memory system, and method of using a memory device
CN110492889B (zh) * 2019-08-16 2023-05-30 西安紫光国芯半导体有限公司 检测纠正两位错误的编码解码方法、编码解码器及处理器
CN112054809A (zh) * 2020-08-28 2020-12-08 杭州华澜微电子股份有限公司 改进的tpc纠错算法和装置
CN115080485B (zh) * 2022-06-29 2024-02-09 慕思健康睡眠股份有限公司 一种数据传输方法、装置、设备和存储介质
CN116757158B (zh) * 2023-08-11 2024-01-23 深圳致赢科技有限公司 基于半导体存储的数据管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07202907A (ja) * 1993-12-29 1995-08-04 Toshiba Corp Atmネットワークにおける誤り制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03254240A (ja) 1990-03-02 1991-11-13 Nippon Telegr & Teleph Corp <Ntt> セル送受信装置
JPH04207734A (ja) 1990-11-30 1992-07-29 Nippon Telegr & Teleph Corp <Ntt> セル送受信装置
JP3614907B2 (ja) * 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
EP0928086B8 (en) 1997-05-13 2006-06-07 Matsushita Electric Industrial Co., Ltd. Packet transmitter
JP3920558B2 (ja) * 2000-11-08 2007-05-30 株式会社東芝 データ処理方法及び装置及び記録媒体及び再生方法及び装置
US7631242B2 (en) 2001-06-22 2009-12-08 Broadcom Corporation System, method and computer program product for mitigating burst noise in a communications system
WO2003085838A1 (fr) * 2002-04-05 2003-10-16 Sony Corporation Dispositif et procede d'entrelacement, dispositif et procede de desentrelacement
DE10227165A1 (de) * 2002-06-18 2004-01-29 Siemens Ag Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten
WO2005006563A1 (en) * 2003-07-09 2005-01-20 Thomson Licensing Error correction method for reed-solomon product code
JP5191439B2 (ja) 2009-05-01 2013-05-08 ヤンマー株式会社 作業車両搭載用制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07202907A (ja) * 1993-12-29 1995-08-04 Toshiba Corp Atmネットワークにおける誤り制御装置

Also Published As

Publication number Publication date
US7698290B2 (en) 2010-04-13
US20090055704A1 (en) 2009-02-26
EP1921754A1 (en) 2008-05-14
EP1921754B1 (en) 2014-10-01
EP1921754A4 (en) 2010-06-02
CN101080875A (zh) 2007-11-28
CN101080875B (zh) 2012-07-04
WO2007029432A1 (ja) 2007-03-15
JPWO2007029432A1 (ja) 2009-03-12

Similar Documents

Publication Publication Date Title
JP4503613B2 (ja) 誤り訂正方法及び装置
JP2576776B2 (ja) パケット伝送方法・パケット伝送装置
JP5507813B2 (ja) 送信装置及び受信装置
US5996103A (en) Apparatus and method for correcting errors in a communication system
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
US11201695B2 (en) Forward error correction with compression coding
EP1391042B1 (en) Hierarchical block coding for a packet-based communications system
WO1998058468A1 (fr) Systeme de transmission avec multiplexage de donnees d&#39;information, multiplexeur et demultiplexeur utilises a cet effet et codeur et decodeur pour correction d&#39;erreurs
US20050097428A1 (en) Robust error correction encoding/deconding apparatus and method of digital dual-stream broadcast reception/transmission system
KR20130057937A (ko) 통신 시스템에서 패킷 송수신 장치 및 방법
WO2006085488A1 (ja) 誤り訂正符号化装置及び誤り訂正復号装置
US7289530B1 (en) System and method for coding a digital wrapper frame
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
CN115037415B (zh) 基于crc的纠错编码的方法、装置、终端
JP3329053B2 (ja) 誤り訂正方式
JPH07202907A (ja) Atmネットワークにおける誤り制御装置
EP2285003B1 (en) Correction of errors in a codeword
CN115037414B (zh) 基于crc的纠错解码的方法、装置、终端
US7840867B2 (en) Iterative n-dimensional decoding
JP7199474B2 (ja) 符号化装置、送信機、復号装置および受信機
JPH08330978A (ja) 誤り訂正方式
JP4601564B2 (ja) 誤り訂正処理方法及び伝送装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100420

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100421

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees