JP6117994B2 - 符号化および復号の方法および装置 - Google Patents

符号化および復号の方法および装置 Download PDF

Info

Publication number
JP6117994B2
JP6117994B2 JP2016516230A JP2016516230A JP6117994B2 JP 6117994 B2 JP6117994 B2 JP 6117994B2 JP 2016516230 A JP2016516230 A JP 2016516230A JP 2016516230 A JP2016516230 A JP 2016516230A JP 6117994 B2 JP6117994 B2 JP 6117994B2
Authority
JP
Japan
Prior art keywords
matrix
block
blocks
nodes
encoding
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.)
Active
Application number
JP2016516230A
Other languages
English (en)
Other versions
JP2016523066A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of JP2016523066A publication Critical patent/JP2016523066A/ja
Application granted granted Critical
Publication of JP6117994B2 publication Critical patent/JP6117994B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array 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/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Description

ここに記述される実施形態は、一般に、消失訂正符号を用いて符号化および復号するための方法および装置と、消失訂正符号を生成するための方法および装置とに関する。
消失訂正符号は、消失によって失われたデータを復元することを可能にする符号体系における冗長性の導入を伴う。
高パケットロスに対処するために消失訂正符号が使用される、分散ネットワークを含む消失訂正符号の多くの用途(損失のあるチャネル上でのビデオストリーミング、分散ネットワークストレージおよび冗長ディスクドライブ)が存在する。
消失訂正符号の1つの用途は、分散型センサネットワーク、例えばエネルギー利用のモニタリングにある。いわゆる「スマートグリッド」を形成する既存のエネルギーグリッドの近代化が、ユーティリティ・プロバイダと消費者との間のリアルタイムな情報交換を可能にし、より効率的なエネルギー管理を達成するであろうと予想されている。無線センサネットワークは、消費者のエネルギー消費をモニタリングし、それをユーティリティ・プロバイダに伝えるために使用されるであろう。
以降、例としてのみ、添付の図面を参照して、実施形態が説明される。
図1は、実施形態に従う無線センサネットワークを示す。 図2は、実施形態において用いられる垂直配列消失訂正符号を示す。 図3は、実施形態に従うスマートメーターを示す。 図4は、実施形態に従うコンセントレータ・ノードを示す。 図5は、実施形態に従うセンサネットワークの初期化方法を示す。 図6は、実施形態に従うセンサネットワークの初期化方法を示す。 図7は、実施形態に従う、初期化処理に応じてセンサネットワークのノードで実行される方法を示す。 図8は、実施形態に従う、初期化処理に応じてセンサネットワークのノードで実行される方法を示す。 図9は、実施形態に従うエネルギー利用をモニタリングする方法を示す。 図10は、実施形態に従うエネルギー利用をモニタリングする方法を示す。
実施形態によれば、受信したブロック消失訂正符号のブロックの集合を復号する復号器は、反対角行列と完全非特異行列とのクロネッカー積である符号化行列のためのストレージと、符号化行列を用いて少なくとも1つの消失ブロックのデータシンボルを決定するために使用可能なプロセッサとを含む。ブロックは、それぞれ、複数のデータシンボルおよび複数のパリティシンボルを含む。受信したブロックの集合は、ブロックの完全集合のうちの部分集合であり、ブロックの完全集合は受信したブロックの集合に含まれない少なくとも1つの消失ブロックを含む。
実施形態において、プロセッサは、符号化行列の逆行列を計算することによって、少なくとも1つの消失ブロックのデータシンボルを決定するために使用可能である。
実施形態において、プロセッサは、少なくとも1つの消失ブロックに対応する符号化行列の行および列を決定し、少なくとも1つの消失ブロックに対応する符号化行列の行および列から形成される行列の逆行列を計算することによって少なくとも1つの消失ブロックのデータシンボルを決定するために使用可能である。
実施形態において、復号器は、センサネットワークのコンセントレータ・ノードの一部である。センサネットワークは、複数のノードを含む。複数のノードの各ノードは、複数のデータシンボルおよび複数のパリティシンボルを含むブロックを生成し、生成したブロックをコンセントレータ・ノードへと送信するために使用可能である。
実施形態において、復号器は、複数のノードのノード数を決定し、複数のノードのノード数を考慮して符号化行列を生成するために使用可能である。
実施形態において、復号器は、生成した符号化行列の指示を複数のノードの各ノードへと送信するために使用可能である。
実施形態において、復号器は、複数の符号化行列のためのストレージを含み、復号器は、複数のノードのノード数を決定し、複数のノードのノード数を考慮して複数の符号化行列から符号化行列を選択するために使用可能である。
実施形態において、復号器は、選択した符号化行列の指示を複数のノードの各ノードへと送信するためにさらに使用可能である。
実施形態によれば、符号化器は、複数のブロックのうち符号化行列の列に従って選択される他のブロックのデータシンボルの組み合わせを用いて、消失訂正符号の複数のブロックのうちのブロックのパリティシンボルを設定するように構成され、符号化行列は、反対角行列と完全非特異行列とのクロネッカー積である。
実施形態において、符号化器は、符号化行列の少なくとも一部を受信するように構成された通信モジュールをさらに含む。
実施形態において、符号化器は、複数の符号化行列のためのストレージをさらに含み、符号化器は、ブロックのパリティシンボルを設定するために複数の符号化行列から符号化行列を選択するように構成される。
実施形態において、符号化器は、複数の符号化行列からの符号化行列の指示を受信するように構成された通信モジュールをさらに含み、符号化器は、指示に従って、ブロックのパリティシンボルを設定するために複数の符号化行列から符号化行列を選択するように構成される。
実施形態において、センサネットワークのセンサは、符号化器を含む。
実施形態において、スマートメーターは、符号化器を含む。
実施形態において、受信したブロックの集合を復号する方法は、反対角行列と完全非特異行列とのクロネッカー積である符号化行列を用いて少なくとも1つの消失ブロックのデータシンボルを決定することを含む。
実施形態において、消失訂正符号の複数のブロックのうちのブロックを符号化する方法は、複数のブロックのうち符号化行列(これは、反対角行列と完全非特異行列とのクロネッカー積である)の列に従って選択される他のブロックのデータシンボルの組み合わせを用いて、ブロックのパリティシンボルを設定することを含む。
実施形態において、ブロック消失訂正符号を生成する方法は、ブロック毎のパリティシンボルの他のブロックのデータシンボルからの計算を示す符号化行列を、(m+p)行×(m+p)列の反対角行列と完全非特異なk行×r列の行列とのクロネッカー積として計算することを含む。消失訂正符号によって符号化されるブロックは、それぞれ、消失訂正符号によって符号化されるブロックの集合の全てのデータシンボルがr個のブロックが消失した場合にk個の生存ブロックから回復可能であるように、m個のデータシンボルおよびp個のパリティシンボルを含む。
実施形態は、プロセッサによる実行時に、当該プロセッサに上述の方法を行わせるコンピュータ可読命令を含むコンピュータプログラム製品を提供する。コンピュータプログラム製品は伝送媒体で具体化されてもよく、これは記録媒体または信号媒体であってよい。記録媒体は、光学記録手段、磁気記録手段、または、電子記録手段を含んでもよい。
記述された実施形態は、特定のハードウェアデバイス、適切なソフトウェアにより構成された汎用デバイス、または両者の組み合わせに組み込むことができる。態様は、完全なソフトウェア実装、または、既存のソフトウェアの修正若しくは拡張のためのアドオンコンポーネント(プラグインなど)として、ソフトウェア製品で具体化することができる。係るソフトウェア製品は、記録媒体(例えば、光学ディスクまたはフラッシュメモリなどのマスストレージメモリ)または信号媒体(ダウンロード)などの、伝送媒体で具体化することができる。実施形態に適した特定のハードウェアデバイスは、ASIC、FPGAまたはDSPなどの特定用途デバイス、または、他の専用の機能的なハードウェア手段を含むことができる。読者は、ソフトウェアまたはハードウェアでの実施形態の前述の検討は、どれも、これから発見または確定(define)されることになる実行手段での発明の将来の実装を制限しないと理解するだろう。
図1は、実施形態に従う無線センサネットワークを示す。無線センサネットワーク100は、複数のノード110,112、114,116および118と、コンセントレータ・ノード120とを含む。ノード110、112、114、116および118の各々は、住宅および/または事業の不動産におけるメーターである。ノード110、112、114、116および118は、消費者のエネルギー消費をモニタリングし、それをユーティリティ・プロバイダに伝える。ノード110、112、114、116および118は、それらの消費を近くに設置されたコンセントレータ・ノード120に報告する。ノードおよび/またはコンセントレータ・ノード間の通信は、無線であって、例えばIEEE802.11nなどの技術を用いる。
エネルギー利用のモニタリングは非常に頻繁(例えば数秒オーダなど)であり得るが、コンセントレータ・ノードによるデータ収集は比較的低頻度(例えば数時間または数日オーダ)である。これは、データが家屋(すなわち、ネットワーク内のノード)に蓄積および保存され、要求があればコンセントレータ・ノードへと放出されることを意味する。しかしながら、全ての通信が無線であるならば、家屋はコンセントレータ・ノードに間欠的に接続されるに過ぎないかもしれない。所与の時間に、信頼性が高い通信リンクが利用可能でない可能性がある。その場合には、全ノードのうちの部分集合と通信するだけで全ノードからのデータを得ることが望ましいであろう。これは、ネットワークに冗長性が導入されるならば、すなわち、1つのノードからのデータが1以上の他のノードに保存されるならば、可能である。適切な方式があれば、全n個のノードからのデータを、それらのうちのk個から回復することが可能となり得る。別の利点は、全てのノードとの通信が可能であっても、コンセントレータ・ノードはただk個のノードと連絡をとりさえすればよいことであり得る。
これは、消失訂正符号を使用することで達成することができる。消失訂正符号は、いくつかの観測結果が消失しても全データを復元することを可能にする。そのようになるのは、いくつかの家屋がコンセントレータ・ノードと通信できない場合である。適切な符号は垂直配列符号であって、これは図2に例示される。
図2は、実施形態に従う垂直配列符号を示す。各列は、ネットワーク内のノードを表しており、それ自身のデータと他のノードからのデータについてのパリティシンボルとからなる。n個のノードがあれば、列のうちk個が分かるだけでデータは復元可能となるはずである。消失訂正符号が、冗長性を与えられたとして、最大数の消失シンボルを訂正できるならば、当該符号は最大距離分離(MDS)だと言われている。パリティシンボルができるだけ少ないデータシンボルの関数であることはノード間で交換される必要のあるデータパケットの数を最小化するので、これも重要である。この特性を持つ消失訂正符号は、低密度と呼ばれる。
センサネットワークのコンテクストにおいて消失訂正符号が機能する道筋は、ネットワーク内の各ノードがエネルギー消費を示すそれ自身のデータを生成するであろうことである。ノードは、それから、当該ノードが機能しなくなる場合に備えてデータの複製を持つために、他のノードとデータを共有するであろう。
ここで留意すべきは、1つのノードからの全てのデータが、r個の他のノードに完全かつ単純に複製され得ることである。データはr+1個のノードに存在するので、ネットワークはそれらのうちr個が機能しなくなることにも少なくとも1つの複製が生存しているので対処できる。しかしながら、これは、ノードの障害に対して回復力があるが非効率的な方法である。同レベルの消失訂正を達成することができるばかりでなく冗長性および保存がはるかに少ない、より良好な符号を設計することができる。コンセントレータ・ノードがネットワークからのデータを必要とする場合に、それはn個のノードのうちk個に接続すれば十分である。消失訂正符号により、n−k個の障害のあるノードからのデータを復元することができる。これは、k個の生存ノードにおけるパリティシンボルに対するデータの既知の依存性を用いてなされる。
それぞれがm個の情報メッセージとp個のパリティメッセージとを生成するn個のノードを持つネットワークを考慮する。ノードiに保存されるこれらm+p個のメッセージは、図2の垂直配列符号の第i列に対応する。数学的に、図2の符号は、以下の形式の(m+p)行×n列の行列で定義される。
ここで、di,jおよびfi,jはそれぞれデータおよびパリティシンボルであって、有限体GF(q)から選ばれる。ここで、q=bは素数bのべき乗である。
r=n−kを消失の最大数、すなわち、符号が訂正することのできるノード障害とする。符号がMDSであるためには、パラメータr、k、mおよびpの間に以下の関係が満足しなければならない。これは、符号語間の最小距離が最大化されることを課すことにより導出される。
符号化演算をベクトル行列乗算として書くことができるように、配列符号(1)をサイズn(m+p)の1次元の線形符号として表すことは有用である。
ここで、cは符号語である。
dは、データシンボルのベクトルである。
Gは、nm行×n(m+p)列の生成行列である。
この表現では、生成行列は組織的な形式、G=(Inm|A)に整えられている。ここで、非組織的な部分Aは、サイズがm行×p列のブロックA=[Ai,j i,j=1に分割されている。
従って、符号設計問題は、以下の特性が満足されるようなやり方でnm行×np列の行列Aを設計することと等価である。
[1. MDS特性] r個のノードまでの任意の障害、すなわち、(1)のr個の列までの任意の消失組み合わせに対して、k個の生存ノードからnm個の情報メッセージの全てを回復することができる。
[2. 低密度特性] Aの各行にちょうどr個の非零のエントリがあり、Aの各列にちょうどk個の非零のエントリがある。これは可能な限り最低の密度の非零要素を持つ生成行列をもたらす。
[3. 有限のアルファベット] Aの非零エントリは、有限体GF(q)に属する。
[4. 設計の一般性] 構造は、任意の数のノードnおよびノードの障害fに適用可能である。
MDS符号の文献において入手可能な他の設計とは異なり、我々の構造は上記特性全てを成し遂げる。
Aの構造は、以下のように与えられる。
ここで、Dは、以下に定義される反対角の(m+p)行×(m+p)列の行列である。
は、クロネッカー積を表し、Sは、Sの任意のl行×l列(1≦l≦min(k,r))のサブ行列が非特異であるk行×r列の完全非特異行列である。完全非特異行列の例として、シングルトン行列をSに選ぶことができる。シングルトン行列は、所与の行列サイズに対して最小のアルファベットを持つ完全非特異行列であるという付加的な利点を持つ。
[ノード置換] 行列Aへの行および列置換になる置換をノードに適用する(すなわち、ノードのラベルを張り直す)ことによって、同一の最適な特性を持つ異なった符号を得ることができる。合計で、そのような置換はnl個ある。
[双対] n個のノード、k=n−r個の最小数の生存ノード、ノード毎のm個の情報メッセージおよびノード毎のp個のパリティメッセージについてMDS符号が設計されたならば、同一の構造が「双対」符号のために使用することができる。これも最小密度のMDSである。双対符号は、同一数のノードnにより特徴付けられるが、kおよびrの役割は交換され、パラメータmおよびpも交換される。
[互いに素でないmおよびpへの拡張] mおよびpが互いに素な場合についてMDS符号を構築したならば、当該符号を任意の倍数amおよびap(aは正の整数)に容易に拡張することができる。拡張符号は、マザーコードを単にa回再利用することによって導出される。故に、拡張符号の生成行列Gは以下で与えられる。
ここで、Gは元の符号の生成行列であり、Iはa行×a列の単位行列である。直接(7)を用いる代わりに構造(9)を用いることの利点は、ノード毎にap個の異なる符号化演算および(r個の障害のあるノードのために)サイズがramの単一の復号システムを備える代わりに同一の符号化および復号演算をa回繰り返すことができる点である。
[符号化] 符号化演算は、n個のノードの各々についてパリティメッセージを生成することにある。各パリティメッセージは、他のノードから提供されるk個のデータメッセージの一次結合によって得られる。乗算および加算は、GF(q)で実行される。特に、ノードiについてのp個のパリティメッセージは以下で与えられる。
[復号] 復号演算は、r個までのノード障害が発生した場合にデータメッセージの全てを回復することにある。F={i,...,i}を障害のあるノードの集合とし、S={1,...,n}\F={ir+1,...,i}を生存ノードの集合とする。k個の生存ノードによって生成されるデータメッセージはこれらのノードから直接的に回復され、これらmk個のメッセージを以下のようにグループ化する。
その一方で、障害のあるノードに由来する残りのmr個のメッセージは、下記を形成する。
従って、生存ノードに対応する、生成行列の非組織的な部分のk個のブロック列は以下のように分割することができる。
ここで留意すべきは、(2)よりmr=pkであるからAが正方であるということである。生存ノードのpk個のパリティメッセージは以下のように書くことができる。
従って、未知数dについて数式(16)を解くことができる。
構造(7)に関して行列Aは常に非特異であることを示すことができる。ここで留意すべきは、行列Aの疎な性質のために、実際には、(17)の計算は、高々サイズmin{k,r}の逆行列化を必要とする多数のサブシステムを解くことによる単純化された流儀でなされる。
復号アルゴリズムは、以下のように擬似言語で系統立てて述べることができる。
[アルゴリズム1 MDS符号の復号]
r個よりも少ないノードが障害のある、それ故にkより多くの生存ノードがある場合には、(17)がやはり当てはまり、ここではk個の生存ノードだけが全情報を回復するためにコンセントレータ・ノードによって用いられる。これは、コンセントレータ・ノードへ転送されなければならないデータおよびパリティメッセージの量を削減する。或いは、データおよびパリティメッセージを全ての生存ノードから収集することも可能であって、逆行列をムーア−ペンローズの擬似逆行列によって置き換えた状態で(17)がやはり当てはまる。
一例として、n=5個のノード、ノードの障害の最大数r=n−k=2、m=3およびp=2を備えるネットワークを検討する。条件(2)は満足され、それ故、最低密度のMDS符号は構造(7)を用いて以下のように設計することができる。
A行列は、サイズm行×p列のブロックに分割することができ、この列および行にはそれぞれn個ある。
この例では、アルファベットサイズはq=5であり、故に符号化および復号演算全てがGF(5)で実行される。(1)のパリティシンボルは、下記となる。
[符号化] ノードi(i=1,...,5)は、(10)に従って、他のノードから受信した3個のデータメッセージの一次結合を単に計算することにより、自身のp=2個のパリティ検査メッセージの各々を生成する。例えば、データメッセージが下記であるとする。
この場合に、符号語の非組織的な部分は下記と分かる。
(1)のデータおよびパリティ配列は、下記となる。
[復号] ノード1および2が障害のある、それ故にF={1,2}およびS={3,4,5}と仮定する。生存ノードのデータメッセージは直接的に回復することができる。これらは(11)のデータベクトルdをもたらす。残りのデータメッセージは、下記について(17)を解くことにより復号することができる。
行列(13)は、以下で与えられる。
そして行列(14)は下記と分かる。
それから、アルゴリズム1を適用することにより、計算後は下記となる。
(21)における6つの未知数のうち4つは以下で与えられることが分かる。
その一方で他の2つの未知数は、以下の2×2システムを解くことにより得られる。
これは下記をもたらす。
(25)および(27)を組み合わせると、全ての消失データが回復されたことが分かる。
提案される符号は、任意の数のノードおよび障害を扱うことができ、その一方でそれでもなお最適である。これは、例えば、ノード数が設計パラメータではなく用途によって与えられるスマートグリッド用のセンサネットワークでの使用時に、融通性を与える。
図3は、実施形態に従うスマートメーターを示す。スマートメーター300は、図1に示されるネットワーク100においてノードとして機能する。スマートメーター300は、メーターモジュール310と、通信モジュール320と、プロセッサ330と、ストレージ340とを含む。メーターモジュール310は、エネルギー利用をモニタリングするように構成される。通信モジュールは、アンテナ325に連結され、IEEE802.11nなどの無線プロトコルを用いて無線ネットワーク上で信号を送受信できる。ストレージ340は、符号ストレージ342、メーターデータ344用のストレージおよび他のノードから受信したデータ346用のストレージを含む。ストレージは、揮発性メモリ、不揮発性メモリまたは両者の組み合わせとして実装されてよい。
実施形態において、符号ストレージ342は消失訂正符号のインデックス付き集合(indexed set)を保存し、通信モジュール320は当該集合からの消失訂正符号の指示をコンセントレータ・ノードから受信するために使用可能である。
実施形態において、符号ストレージは、消失訂正符号またはコンセントレータ・ノードから無線ネットワーク上で受信される符号化行列の一部を保存する。
消失訂正符号の指示が選択される処理は、図5および図6を参照して以下により詳細に記述される。
プロセッサは、メーターデータ344を示すデータシンボルと他のノードからのデータ346から決定されたパリティブロックとを含む、上述の消失訂正符号を用いて符号化された消失訂正符号ブロックを生成するために使用可能である。
図4は、実施形態に従うコンセントレータ・ノード400を示す。コンセントレータ・ノード400は、通信モジュール420と、プロセッサ430と、ストレージ440と、出力モジュール450とを含む。通信モジュール420は、アンテナ425に連結され、IEEE802.11nなどの無線プロトコルを用いて無線ネットワーク上で信号を送受信できる。ストレージ440は、符号ストレージ442を含む。
実施形態において、コンセントレータ・ノード400の符号ストレージ442は消失訂正符号のインデックス付き集合を保存し、プロセッサは初期化処理中にインデックス付き消失訂正符号の1つを選択するために使用可能である。
実施形態において、プロセッサは初期化処理中に消失訂正符号を生成するために使用可能である。
初期化処理は、図5および図6を参照して以下により詳細に記述される。
図5は、実施形態に従う初期化方法を示す。図5に示される方法のステップは、コンセントレータ・ノード400によって実行される。
ステップS502において、コンセントレータ・ノード400は、ネットワーク内のノードおよびそれらの間の接続の数を決定する。
ステップS504において、コンセントレータ・ノード400のプロセッサ430は、決定したノード数に基づいて符号を生成する。上で論じたように、ここで説明される方法は、可能な限り最低の密度を持ち任意の数の障害に寛容であるMDS符号が任意のノード数に対して構築されることを可能にする。障害の数は、選択可能であってもよいし、プリセットされてもよい。
ステップS506において、生成された符号が、コンセントレータ・ノード400の通信モジュール420を用いてノードへと送信される。符号化行列Aを全てのノードに送信することにより、符号が送信されてもよい。実施形態では、コンセントレータ・ノードは、ノードの各々に符号化行列のうち必要とされる列だけを送信する。
図6は、実施形態に従う初期化方法を示す。図6に示される方法において、ノードの各々は、上述の方法を用いて予め計算された符号の集合を保存する。符号は、様々なノード数について予め計算されており、様々な数の障害についても予め計算されてもよい。
ステップS602において、コンセントレータ・ノード400はネットワーク内のノードおよびそれらの間の接続の数を決定する。
ステップS604において、プロセッサは、保存された符号をステップS602において決定したノード数に基づいて選択し、選択した符号を示すインデックス値を決定する。
ステップS606において、コンセントレータ・ノードは、選択した符号を示すインデックス値を、ネットワークのノードへと送信する。ネットワークのノードも、符号のインデックス付き集合を保存し、その結果、選択された符号はインデックスを用いてノードにより得ることができる。
図7は、実施形態に従う、コンセントレータ・ノードでの初期化処理に応じてノードで実行される方法を示す。
ステップS702において、ノード300は、コンセントレータ・ノード400によって生成された符号を受信する。符号は、図5を参照して上述した方法に従ってコンセントレータ・ノード400によって生成される。
ステップS704において、ノード300は、受信した符号を、当該ノード300の符号ストレージ342に保存する。上で論じられたように、ノードは、上記数式(7)に従って構築される符号化行列Aのうち必要とされる部分だけを保存してもよい。
図8は、実施形態に従う、コンセントレータ・ノードでの初期化処理に応じてノードで実行される方法を示す。
ステップS802において、ノード300は、コンセントレータ・ノード400によって選択された符号の指示を受信する。指示は、ノード400の符号ストレージ342に保存されるコードを示す。符号の指示は、図6を参照して上述した方法に従ってコンセントレータ・ノード400によって生成される。
ステップS804において、ノード300は、指示を用いて、符号ストレージ342に保存されたどの符号を符号化時に使用するかを決定する。
図9は、実施形態に従う、センサネットワークのノードによって実行されるエネルギー利用のモニタリング方法を示す。
ステップS902において、メーターモジュール310は、エネルギー利用をモニタリングし、エネルギー利用を示すデータをメーターデータ344としてストレージ340に保存する。
ステップS904において、通信モジュール320は、ストレージ340に保存されたメーターデータ344を隣接するノードへとマルチキャストする。
ステップS906において、通信モジュールは、他のノードからデータを受信する。受信したデータは、他のノードから受信したデータ346としてストレージ340に保存される。
定期的に、または、コンセントレータ・ノードからの要求に応じて、ネットワークのノードは、保存されたメーターデータおよび保存された他のノードから受信したデータを用いてブロックを生成する。
図10は、センサネットワークのノードiによって生成されるブロック1000を示す。ブロック1000は、データシンボルd1,i...dm,iおよびパリティシンボルf1,i...fp,iを含む。データシンボルは、ノード300に保存されるメーターデータ344である。パリティシンボルは、コンセントレータ・ノードによって生成または選択される消失訂正符号を用いて、上記数式(10)に従って生成される。
コンセントレータ・ノードは、ネットワークのノードによって生成されたブロックを受信し、数式(17)に関して上述した方法を用いて任意の消失ブロックからのデータを再現するために、受信したブロックからのパリティデータを使用する。
上述のように、実施形態は、任意の数のノードを持つネットワークについて、ならびに、任意の数の障害のある若しくは消失したブロックについて、消失訂正符号が生成されることを可能とする。故に、実施形態は、効率的かつネットワーク内のノード数の変化に適応可能に構成できる符号化方式を提供する。
上述の実施形態では、初期化処理はコンセントレータ・ノードで実行される。しかしながら、初期化処理が分散的な流儀で動作する実施形態が予想される。係る実施形態では、ノード間での協調がある。
上述の実施形態はエネルギー利用のモニタリングに関連するが、当業者は、高パケットロスのネットワーク、損失のあるチャネル上でのビデオストリーミング、分散ネットワークストレージおよび冗長ディスクドライブなどの種々の用途での使用に符号化方式が適応可能であることを認識するだろう。
例えば、1つの用途は、損失のあるチャネルを通してデータを送信することである。失われたパケット中のデータは、受信したパケットのパリティ情報から生成することができる。この例でが、ブロック消失訂正符号は、失われたパケットが受信パケットのパリティ情報から回復される上位層パケット回復機構として使用することができる。
この場合には、パラメータは、いくつかの上位層チャネル品質測定(例えば、パケット損失率またはパケット処理遅延)に基づいて決定されるであろう。提案されるブロック消失訂正符号を用いることの利点は、パラメータ選択の融通性にあるだろう。
符号化パラメータのカスタム化は、ネットワークトポロジおよび他の要求(例えば、必要とされる保護レベルおよび符号化演算に関係するノードの最大数)により適応ささせることができる。符号が生成される前に、コンセントレータ・ノード(または、分散的なアプローチの場合には多数のノード)が、ネットワークトポロジの情報を獲得する段階がある。これは、例えばルーティングプロトコルにおける隣接リストを用いることで可能となるかもしれない。
それから、障害保護方式に関係するノード数(パラメータn)、保護レベル(すなわち、符号が耐えるべきブロック消失の数はいくつか)(パラメータr)、ならびに、並列に処理されるデータシンボルの数(パラメータm)への決定がなされる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な方法、システム、装置およびネットワークは、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (20)

  1. 受信したブロックの集合を復号する復号器であって、
    前記ブロックは、それぞれ、複数のデータシンボルおよび複数のパリティシンボルを含み、
    前記受信したブロックの集合は、ブロックの全集合のうちの部分集合であって、
    前記ブロックの全集合は、前記受信したブロックの集合に含まれない少なくとも1つの消失ブロックを含み、
    前記復号器は、
    反対角行列と完全非特異行列とのクロネッカー積である符号化行列のためのストレージと、
    前記符号化行列を用いて前記少なくとも1つの消失ブロックのデータシンボルを決定するために使用可能なプロセッサと
    を具備する、
    復号器。
  2. 前記プロセッサは、前記符号化行列の逆行列を計算することによって前記少なくとも1つの消失ブロックのデータシンボルを決定するために使用可能である、請求項1記載の復号器。
  3. 前記プロセッサは、前記少なくとも1つの消失ブロックに対応する符号化行列の行および列を決定し、前記少なくとも1つの消失ブロックに対応する符号化行列の行および列から形成される行列の逆行列を計算することによって前記少なくとも1つの消失ブロックのデータシンボルを決定するために使用可能である、請求項1記載の復号器。
  4. センサネットワークのコンセントレータ・ノードであって、
    前記センサネットワークは、複数のノードを含み、
    前記複数のノードの各ノードは、複数のデータシンボルおよび複数のパリティシンボルを含むブロックを生成し、生成したブロックを前記コンセントレータ・ノードへと送信するために使用可能であり、
    前記コンセントレータ・ノードは、請求項1記載の復号器を具備する、
    コンセントレータ・ノード。
  5. 前記復号器は、前記複数のノードのノード数を決定し、前記複数のノードのノード数を考慮して前記符号化行列を生成する、請求項4記載のコンセントレータ・ノード。
  6. 前記復号器は、生成した符号化行列の指示を前記複数のノードの各ノードへと送信するために使用可能である、請求項5記載のコンセントレータ・ノード。
  7. 前記復号器は、複数の符号化行列のためのストレージをさらに含み、
    前記復号器は、前記複数のノードのノード数を決定し、前記複数のノードのノード数を考慮して前記複数の符号化行列から符号化行列を選択するために使用可能である、
    請求項4記載のコンセントレータ・ノード。
  8. 前記復号器は、選択した符号化行列の指示を前記複数のノードの各ノードへと送信するためにさらに使用可能である、請求項7記載のコンセントレータ・ノード。
  9. 消失訂正符号の複数のブロックのうちのブロックを符号化する符号化器であって、
    各ブロックは、複数のデータシンボルおよび複数のパリティシンボルを含み、
    前記符号化器は、前記複数のブロックのうち符号化行列の列に従って選択される他のブロックのデータシンボルの組み合わせを用いて、ブロックのパリティシンボルを設定し、
    前記符号化行列は、反対角行列と完全非特異行列とのクロネッカー積である、
    符号化器。
  10. 前記符号化行列の少なくとも一部を受信するように構成された通信モジュールをさらに具備する、請求項9記載の符号化器。
  11. 複数の符号化行列のためのストレージをさらに具備し、
    前記符号化器は、ブロックのパリティシンボルを設定するために前記複数の符号化行列から符号化行列を選択するように構成される、
    請求項9記載の符号化器。
  12. 前記複数の符号化行列からの符号化行列の指示を受信するように構成された通信モジュールをさらに具備し、
    前記符号化器は、前記指示に従って、ブロックのパリティシンボルを設定するために前記複数の符号化行列から符号化行列を選択するように構成される、
    請求項11記載の符号化器。
  13. 請求項9記載の符号化器を具備する、センサネットワークのセンサ。
  14. 請求項9記載の符号化器を具備するスマートメーター。
  15. 受信したブロックの集合を復号する方法であって、
    前記ブロックは、それぞれ、複数のデータシンボルおよび複数のパリティシンボルを含み、
    前記受信したブロックの集合は、ブロックの全集合のうちの部分集合であって、
    前記ブロックの全集合は、前記受信したブロックの集合に含まれていない少なくとも1つの消失ブロックを含み、
    前記方法は、反対角行列と完全非特異行列とのクロネッカー積である符号化行列を用いて前記少なくとも1つの消失ブロックのデータシンボルを決定することを具備する、
    方法。
  16. 消失訂正符号の複数のブロックのうちのブロックを符号化する方法であって、
    各ブロックは、複数のデータシンボルおよび複数のパリティシンボルを含み、
    前記方法は、前記複数のブロックのうち符号化行列の列に従って選択される他のブロックのデータシンボルの組み合わせを用いて、ブロックのパリティシンボルを設定することを具備し、
    前記符号化行列は、反対角行列と完全非特異行列とのクロネッカー積である、
    方法。
  17. ブロック消失訂正符号を生成する方法であって、
    消失訂正符号によって符号化されるブロックは、それぞれ、前記消失訂正符号によって符号化されるブロックの集合の全てのデータシンボルがr個のブロックが消失した場合にk個の生存ブロックから回復可能であるように、m個のデータシンボルおよびp個のパリティシンボルを含み、
    前記方法は、ブロック毎のパリティシンボルの他のブロックのデータシンボルからの計算を示す符号化行列を、(m+p)行×(m+p)列の反対角行列と完全非特異なk行×r列の行列とのクロネッカー積として計算することを具備する、
    方法。
  18. プロセッサでの実行時に当該プロセッサに請求項15記載の方法を行わせるコンピュータ可読命令を具備するコンピュータプログラム。
  19. プロセッサでの実行時に当該プロセッサに請求項16記載の方法を行わせるコンピュータ可読命令を具備するコンピュータプログラム。
  20. プロセッサでの実行時に当該プロセッサに請求項17記載の方法を行わせるコンピュータ可読命令を具備するコンピュータプログラム。
JP2016516230A 2013-05-29 2013-05-29 符号化および復号の方法および装置 Active JP6117994B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/GB2013/051421 WO2014191705A1 (en) 2013-05-29 2013-05-29 Coding and decoding methods and apparatus

Publications (2)

Publication Number Publication Date
JP2016523066A JP2016523066A (ja) 2016-08-04
JP6117994B2 true JP6117994B2 (ja) 2017-04-19

Family

ID=48579137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016516230A Active JP6117994B2 (ja) 2013-05-29 2013-05-29 符号化および復号の方法および装置

Country Status (3)

Country Link
US (1) US10090863B2 (ja)
JP (1) JP6117994B2 (ja)
WO (1) WO2014191705A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016092245A1 (en) * 2014-12-11 2016-06-16 Toshiba Research Europe Limited Array codes
WO2016148542A1 (ko) * 2015-03-18 2016-09-22 엘지전자 주식회사 무선 통신 시스템에서 분산 저장 캐시 보유 보조 노드를 이용하여 신호를 수신하는 방법 및 이를 위한 장치
US10073738B2 (en) * 2015-08-14 2018-09-11 Samsung Electronics Co., Ltd. XF erasure code for distributed storage systems
WO2018165943A1 (zh) * 2017-03-16 2018-09-20 华为技术有限公司 存储控制器、数据处理芯片及数据处理方法
CN108132854B (zh) * 2018-01-15 2020-11-17 成都信息工程大学 一种可同时恢复数据元素及冗余元素的纠删码解码方法
CN112181707B (zh) * 2020-08-21 2022-05-17 山东云海国创云计算装备产业创新中心有限公司 分布式存储数据恢复调度方法、系统、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03172026A (ja) 1989-11-30 1991-07-25 Nec Corp 符号化復号化方式
US6088330A (en) 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US7477703B2 (en) * 2000-02-22 2009-01-13 Nokia Mobile Phones, Limited Method and radio system for digital signal transmission using complex space-time codes
FR2889385B1 (fr) * 2005-07-28 2008-09-26 Sercel Sa Reseau d'acquisition de donnees sans fils
CN101009531B (zh) 2006-01-25 2010-04-07 华为技术有限公司 进行差错控制的方法和互助中转系统
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9419749B2 (en) * 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US20090132894A1 (en) 2007-11-19 2009-05-21 Seagate Technology Llc Soft Output Bit Threshold Error Correction
US8433979B2 (en) 2011-02-28 2013-04-30 International Business Machines Corporation Nested multiple erasure correcting codes for storage arrays
GB201203496D0 (en) * 2012-02-29 2012-04-11 Ibm Read-detection in solid-state storage devices
US8347186B1 (en) * 2012-04-19 2013-01-01 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder

Also Published As

Publication number Publication date
US10090863B2 (en) 2018-10-02
WO2014191705A1 (en) 2014-12-04
US20160105202A1 (en) 2016-04-14
JP2016523066A (ja) 2016-08-04

Similar Documents

Publication Publication Date Title
JP6117994B2 (ja) 符号化および復号の方法および装置
US20160294419A1 (en) Coding and decoding methods and apparatus
JP5788988B2 (ja) 不均一誤り保護および一括ファイル配信サービスを提供するための汎用ファイル配信の方法
EP2644004B1 (en) Subset coding for communication systems
CN101432969B (zh) 前向纠错(fec)编码和流送
RU2680350C2 (ru) Способ и система распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации
TWI497438B (zh) 先進讀表基礎建設中之韌體更新系統及其方法
US20170142238A1 (en) Coding in galois fields with reduced complexity
EP3117546A1 (en) Low-delay packet erasure coding
US20220069944A1 (en) Data Processing Method And Related Apparatus
CN103152652A (zh) 一种基于柯西rs编码的视频帧数据网络传输方法
Han et al. Efficient exact regenerating codes for byzantine fault tolerance in distributed networked storage
RU2646346C2 (ru) Устройство и способ передачи и приема пакета с прямой коррекцией ошибок
CN111447044B (zh) 分布式存储方法和传输译码方法
WO2014005279A1 (zh) 一种可精确再生的分布式存储码的构建方法及装置
Karamačoski et al. Blockchain for reliable and secure distributed communication channel
Saxena et al. Network coded multicast and multi-unicast over satellite
JP4959700B2 (ja) 符号化器、復号器、送信装置、受信装置、通信システム、パケット生成装置及びパケット復元装置
KR101922205B1 (ko) Lt 부호를 이용한 행렬 생성 방법과 그를 위한 부/복호화 장치
JP2010136279A (ja) 符号化装置、復号装置、生成行列の作成方法及びコンピュータプログラム
KR101258958B1 (ko) 랩터 부호를 이용하는 부호화 장치 및 부호화 방법
JP2011103556A (ja) ネットワーク符号化システム及び方法
Papailiopoulos et al. Storage codes with optimal repair locality
Nugroho et al. Reconstruct unrecoverable data in real‐time networks using Bézier curve
Chareonvisal ImplementingDistributed Storage System by Network Coding in Presence of Link Failure

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170323

R150 Certificate of patent or registration of utility model

Ref document number: 6117994

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150