JP5792256B2 - 疎グラフ作成装置及び疎グラフ作成方法 - Google Patents

疎グラフ作成装置及び疎グラフ作成方法 Download PDF

Info

Publication number
JP5792256B2
JP5792256B2 JP2013218933A JP2013218933A JP5792256B2 JP 5792256 B2 JP5792256 B2 JP 5792256B2 JP 2013218933 A JP2013218933 A JP 2013218933A JP 2013218933 A JP2013218933 A JP 2013218933A JP 5792256 B2 JP5792256 B2 JP 5792256B2
Authority
JP
Japan
Prior art keywords
node
sparse
unit
sparse graph
graph
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
JP2013218933A
Other languages
English (en)
Other versions
JP2015082712A (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
Priority to JP2013218933A priority Critical patent/JP5792256B2/ja
Priority to US15/027,456 priority patent/US11303305B2/en
Priority to BR112016007458A priority patent/BR112016007458A2/pt
Priority to EP14855171.6A priority patent/EP3062445A4/en
Priority to PCT/JP2014/076910 priority patent/WO2015060130A1/ja
Priority to EP17181109.4A priority patent/EP3264612B1/en
Publication of JP2015082712A publication Critical patent/JP2015082712A/ja
Application granted granted Critical
Publication of JP5792256B2 publication Critical patent/JP5792256B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • 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
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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
    • 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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/1191Codes on graphs other than LDPC 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/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/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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes

Description

本発明は、疎グラフ符号の疎グラフ生成装置及び方法に関し、特に任意のノード間で形成される最小ループを大きくとることにより疎グラフ符号を効率的に可能とする装置および方法に関する。
現在、誤り訂正技術は衛生デジタル放送やインターネットでの通信、モバイル端末での通信など、各種通信システムで広く用いられている。とりわけ、近年のブロードバンド環境の発展に伴いインターネットを用いた動画配信サービスなどが期待されており、インターネット網に対する誤り訂正技術は重要なものになっている。以下、インターネット網を例に話を進める。
インターネットを用いてサービスを行う側から通信路をみると、インターネット網は消失通信路(PEC:Packet Erasure Channel)と捉えることができる。これは2元消失通信路(図1)がパケットの単位としてグループ化されたものであり、通信路出力は正しい情報で出力されるか回線中の何らかの障害によって不明になったとして出力されるかのどちらかの場合となる通信路である。この通信系においては、FEC(Forward Error Correction)やARQ(Automatic Repeat reQuest)と呼ばれる消失パケット回復手法が用いられる。一般的なIPベースのサービスでは、TCP/IPプロトコルが用いられ、デコーダ側では誤り検出のみにとどめ、誤りが発生した場合は再送制御などで誤りを回復する方法が用いられている(ARQ方式)。しかし、マルチキャスト配信のような大規模なサービスを想定した場合、受信側で受け取ったデータを元に誤り訂正をすることが求められ、帰還通信路を必要とせず受信側のみで誤りを訂正できる方法が用いられる(FEC方式)。この、FEC方式は再送制御等を行わないことから遅延が少なく、リアルタイム性が重要となるテレビ会議システムでもFEC方式が用いられる。以下、FEC方式について話を進める。
FEC方式として、ディジタル放送などではリードソロモン符号(RS符号)が広く用いられている。日本のディジタル放送では符号長204バイトと定義されており、元データ188バイトに対しておよそ10[%]のパリティバイトを付加することで誤りに対して耐性を持たせている。しかし、一般に誤り訂正符号として符号長の長い符号を利用すれば性能がよくなることが知られているが、符号長が長くなると復号が複雑になり計算量が膨大になってしまうという弊害も知られている。そのため、RS符号では、符号長を256バイト以下として扱うことが前提とされている。また、RS符号をIPベースのパケットレベルFECと呼ばれるパケットに適応する場合、上記の理由から256パケットを1ブロックとして扱う必要が生じる。
これに対して、確率伝搬アルゴリズム(Belief propagation algorithm)に基づいた復号法は符号長が長い場合に実用的な演算量で優れた復号特性を持つことが知られており、疎グラフにより定義される線形符号である低密度パリティ検査符号(Lowdensity parity check code:LDPC符号(例えば、非特許文献1参照)はShannonにより定義された通信路容量に迫る現実的な誤り訂正方法として注目されている。また、疎グラフに基づく消失訂正符号としては、Digital Fountain社のLT code(例えば、非特許文献2参照)やRaptor code(例えば、非特許文献3参照)が知られており、符号化効率を大きく劣化させずに任意の符号データを受信しただけで復号できる符号特性を実現的な演算量で達成することが知られている。この性質はインターネットマルチキャストプロトコルであるALC(Asynchronous Layered Coding(例えば、非特許文献4参照)と適合するために、レイヤード構成されたマルチキャスト通信などで広く用いられている。
R.G.Gallager,"Low density parity check codes",in Research Monograph series. Cambridge,MIT Press,1963 M.Luby,"LT Codes",The 43rd Annual IEEE Symposium on Foundations of Computer Science,2002 Shokrollahi,A,"Raptor codes"、Information Theory,IEEE Transactions on Volume 52,Issue 6,2006 "Asynchronou layered coding protocol instantiation",IETF RFC 3450,Dec.2002 Xiao−Yu Hu,Evangelos Eleftheriou, Dieter−Michael Arnold,"Progressive Edge−Growth Tanner Graphs",IEEE Global Telecommunications Conference,2001.GLOBECOM’01 Shiva K. Planjery and T.Aaron Gulliver,"Design of Rate−Compatible Punctured Repeat−Accumulate Codes",IEEE Global Telecommunications Conference,2007.GLOBECOM’07
前述のように、疎グラフと確率伝搬アルゴリズムを用いた誤り訂正符号は従来達成出来なかった符号化特性を達成する。しかし、一般的に、疎グラフ符号が良く働く疎グラフ符号を構成することは難しいことが知られている。それは、確率伝搬アルゴリズムは疎グラフ中にループが無い場合にある種の最適性があることが知られているが実際にはループが発生してしまい、ループができるだけ大きくなる疎グラフを構成することは演算量の観点から困難であることが知られているためである。
この問題を解決するために、疎グラフ全体としてみると最適とはならないループ構造を持つが、現実的な演算量で良い疎グラフを作る方法が提案されている(例えば、非特許文献5参照)。PEG(Progressive Edge−Growth)アルゴリズムと呼ばれる方法は、疎グラフ全体に対してノードの経(girth)を長くなるようにグローバル最適化するわけでなく、ノードを生成していく過程において、注目したノードに対してローカルグラフを作成し、その範囲でループを長くすることで、ある程度少ない演算量で良い疎グラフを作成する方法である。グラフでいうところの枝(線)をエッジと呼び、PEGアルゴリズムはこのエッジを作成する。また、疎行列とグラフの対応は、行列の列に対応するものを情報ノード、行に対応するものをチェックノード、疎行列の1のたつ場所が情報ノードとチェックノードをつなぐエッジに相当する。
しかし、PEGアルゴリズムはローカルの範囲で短いループで満たされ、大きいループのエッジを作れない状態になってしまった場合、その後の行列はランダムに生成された行列となりループが大きくなる保証は全くなくなる。この状態になるとノードはランダムに作成されていくこととほぼ等しく、短いループが発生しやすくなる。この事象により、たとえば、レート可変型のLDPC符号(例えば、非特許文献6参照)などで作成された疎グラフを用いる場合など、疎グラフの一部が用いられるなどするために顕著な符号化効率の低下などを招くことがある。
また、いくつかの列重みを有したイレギュラーの疎行列(以下、イレギュラー行列)を作成する場合、PEGアルゴリズムでは、重い列または行が入った後にループの大きくなるノードを見つけるのが難しくなりランダムに生成された疎グラフとなることが起きやすくなる。エッジが増え、ループが生まれやすくなるためである。
本発明は上記の点に鑑みなされたもので、本発明は、疎グラフ符号における疎グラフを効率的に作成することを目的とする。
上記目的を達成するために、本願発明は、LDPC符号のための疎行列の生成方法に関するものであり、特に、PEG(progressive
edge−growth)アルゴリズムを改良して、疎行列中の任意ノード集合間で発生する短いループを長くするローカル最適化を行うために、疎行列の要求に応じてループを長くとるノード集合を選択することで、伝送レートに応じて符号化する効率を向上する。
具体的には、本発明に係る疎グラフ作成装置は、
疎グラフ符号に用いられる疎グラフを生成する疎グラフ作成装置であって、
疎グラフ中の少なくとも一部のノードをイナクティブにするイナクティブ化部と、
前記イナクティブ化部によってイナクティブにされた残りの疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する探索部と、
前記探索部の探索結果から設定された条件を満たすノードを、エッジを生成する位置に選択するノード選択部と、
前記ノード選択部にて選択されたノードとルートノードを接続するルートノードエッジ接続部と、
を備える。
本発明に係る疎グラフ作成装置では、前記ノード選択部は、それまでのノード生成の過程から得られた探索に関する情報から次に探索する範囲を限定して探索することで少ない演算量でループを大きくとるノードを選択してもよい。
具体的には、本発明に係る疎グラフ作成装置は、
疎グラフ符号に用いられる疎グラフを生成する疎グラフ作成装置であって、
疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する探索部と、
前記探索部の探索結果から設定された条件を満たすノードを、エッジを生成する位置に選択するノード選択部と、
前記ノード選択部にて選択されたノードとルートノードを接続するルートノードエッジ接続部と、
前記ルートノードエッジ接続部によって選択された位置にエッジが生成された疎グラフの各ノードを、疎行列の各重みが空間的に均一に配置されるように並び替える制約付きインターリーブ部と、
を備える。
本発明に係る疎グラフ作成装置では、前記制約付きインターリーブ部は、アクティブなノードのグラフ構造を保つように、疎グラフ中のノードを入れ替えてもよい。
本発明に係る疎グラフ作成装置では、疎グラフのエッジ総数が変わらずかつ最小のループが短くならないように、新たなノードを設置するノード拡張部をさらに備えてもよい。
具体的には、本発明に係る疎グラフ作成方法は、
疎グラフ符号に用いられる疎グラフを生成する疎グラフ作成方法であって、
疎グラフ中の少なくとも一部のノードをイナクティブにするイナクティブ化手順と、
前記イナクティブ化手順によってイナクティブにされた残りの疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する探索手順と、
前記探索手順の探索結果から設定された条件を満たすノードを、エッジを生成する位置に選択するノード選択手順と、
前記ノード選択手順にて選択されたノードとルートノードを接続するルートノードエッジ接続手順と、
を順に有する。
本発明に係る疎グラフ作成方法では、前記ノード選択手順において、それまでのノード生成の過程から得られた探索に関する情報から次に探索する範囲を限定して探索することで少ない演算量でループを大きくとるノードを選択してもよい。
具体的には、本発明に係る疎グラフ作成方法は、
疎グラフ符号に用いられる疎グラフを生成する疎グラフ作成手順であって、
疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する探索手順と、
前記探索手順の探索結果から設定された条件を満たすノードを、エッジを生成する位置に選択するノード選択手順と、
前記ノード選択手順にて選択されたノードとルートノードを接続するルートノードエッジ接続手順と、
前記ルートノード接続手順によって選択された位置にエッジが生成された疎グラフの各ノードを、疎行列の各重みが空間的に均一に配置されるように並び替える制約付きインターリーブ手順と、
を順に有する。
本発明に係る疎グラフ作成方法では、前記制約付きインターリーブ手順において、アクティブなノードのグラフ構造を保つように、疎グラフ中のノードを入れ替えてもよい。
本発明に係る疎グラフ作成方法では、疎グラフのエッジ総数が変わらずかつ最小のループが短くならないように、新たなノードを設置するノード拡張手順を、前記ノード選択手順の後でありかつ前記制約付きインターリーブ手順の前にさらに有してもよい。
なお、上記各発明は、可能な限り組み合わせることができる。
本発明によれば、疎グラフ符号における疎グラフを効率的に作成することができる。
パケット消失通信路の一例を示す。 本実施形態に係る通信システムの一例を示す。 実施形態1に係る疎行列作成装置の一例を示す。 疎行列キャッシュ部102に保存されている行列の一例を示す。 LDGM符号のパリティ検査行列のツリー展開の一例を示す。 長さ4のループの一例を示す。 長さ6のループの一例を示す。 イナクティブ化の一例を示す。 実施形態2に係る疎行列作成装置の一例を示す。 インターリーブ前の行列の一例を示す。 インターリーブ後の行列の一例を示す。 インターリーブ前の2つの行列の一例を示す。 実施形態3に係る疎行列作成装置の一例を示す。 レート可変型疎行列の生成過程の一例であり、生成された小さい疎行列を示す。 レート可変型疎行列の生成過程の一例であり、拡張された小さい疎行列を示す。 レート可変型疎行列の生成過程の一例であり、列拡張された小さい疎行列を示す。 レート可変型疎行列の生成過程の一例であり、制約付きインターリーブ後の疎行列を示す。 ノードの拡張例を示す。 実施形態3に係る疎行列作成装置の第2の構成例を示す。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
本発明は通信路の種類に依存せずに実施することができるが、一例としてマルチキャスト配信で用いられるUDPプロトコルを用いたパケット配信を例として説明する。UDPプロトコルを用いると、UDPパケットがロスした場合もTCPプロトコルとは異なり再送処理は行われないが、図1に示すように、受信パケットは正しいか否かを判別できると共にロスしたパケットの位置が正確に判別できる消失通信路と見える特徴がある。
図2に、本実施形態に係る通信システムの一例を示す。本実施形態に係る通信システムは、通信路符号化装置91と、パケット伝送装置92と、パケットベース受信装置93と、通信路復号装置94と、を備える。通信路符号化装置91は、疎行列を用いて送信データの符号化を行う。パケット伝送装置92は符号化した送信データを送信する。パケットベース受信装置93は送信データを受信する。通信路復号装置94は、疎行列を用いて受信データの復号化を行う。通信路符号化装置91における符号化及び通信路復号装置94における復号化は、本実施形態に係る疎行列作成装置として機能する疎行列作成部10の作成した疎行列を用いる。
本実施形態に係る通信システムの一例として、本発明により実現可能なパケットレベルFECに対する誤り訂正機能を説明する。映像データや音声データといった送信データは通信路符号化装置91により符号化が行われる。この際、通常、通信路符号化装置91は、後に接続されるパケット伝送装置92のパケットサイズなどを考慮してフラグメントなどを行う。符号化にLDPC符号などの線形符号が用いられる場合、通信路符号化装置91は以下の符号化処理により冗長化データを作成する。
Figure 0005792256
ただし、Sは映像データなどの入力データがある一定の大きさでフラグメントされたものであり、G及びTは疎グラフに対応する疎行列である。また、LDPC符号がLDPC−Staircaseと呼ばれるタイプである場合、Tは階段行列となる。T−1はアキュムレータに置き換えることができ、アキュムレータを用いることで符号化の処理を高速に出来る。
図中の疎行列作成部10は、符号化効率及び復号化効率が良くなるような行列G及びTを、少ない演算量で生成する。作成された疎行列の情報量は多いため、一般的には疎行列のパラメータを抽出して復号側の通信路復号装置94に通知する。パラメータは、例えば、生成されたパリティーデータ及びFEC補助情報である。パケットベース伝送装置92は、抽出したパラメータを映像データや音声データと共に、FLUTE規格(RFC 3926)やMPEG media trans−port(ISO/IEC 23008−1)規格などで伝送される。受信側のパケットベース受信装置93は、パケットベース伝送装置92から送信されたパケットを受信する。この際、パケットベース受信装置93は、FLUTEのヘッダーフォーマット等と照らしあわせ、パケット消失が発生している場合は通信路復号装置94にて消失パケットの回復が試みられる。通信路復号装置94は、符号化に対応し、以下の制約式が成り立つことが補助情報などから予め共有されている。
Figure 0005792256
Figure 0005792256
ここで、G及びTは疎グラフに対応する疎行列であり、符号化側と全く同じ情報を用いる。
通常、疎行列情報はデータ量が多いため、パラメータとして符号化側から復号側に通知されることで共有されることが一般的である。復号側は、通知されるパラメータから、疎行列作成部10によって符号化側と同じ疎行列を生成する。復号側では消失したパケットを、上式を用いて復号する。今、εを消失したパケットのインデックス集合とし、Hεを消失したパケットに対応するパリティ検査行列とし、xεを消失したパケットの集合とすると、上式は次式に書き換えられる。
Figure 0005792256
ただし、右辺のε’は受信したパケットのインデックス集合である。
上式より、もしHεのランク数が消失パケットの数|xε|であれば消失したパケットは最尤復号により回復することができる。復号方法は様々な手法が提案されており、メッセージパッシングアルゴリズムにより回復を行う方法、ガウスの消去法により回復を行う方法などがある。一般的に、メッセージパッシングアルゴリズムでは、疎グラフの疎性を活かした復号が可能なためO(N)での復号が可能であるが、ガウスの消去法においては、逆行列を求めるプレ処理にO(N)、パケットを実際に回復する演算処理にO(N)の演算が必要になる。
本発明によると、通信路符号化装置および通信路復号装置において誤り訂正能力の高い、符号化効率の高い疎行列を高速に作成することができ、また、本行列はメッセージパッシングアルゴリズムでもガウスの消去法でも効率的に誤りを訂正することができる。さらに、レート可変型のLDPC符号と組み合わせることで、行列を毎回0から作り直さなくてもよいため、1つの疎行列を様々なレートに適用した場合も符号化効率の高い誤り訂正を実行することができる。
(実施形態1)
本実施形態では、選択的PEGアルゴリズムは行重み/列重みを任意のマルチレベルで保ちながら疎行列を生成していき、その過程で、任意のエッジをinactiveにすることにより行列空間が狭い場合の符号化効率を改善する。
本実施形態に係る疎グラフ作成方法は、イナクティブ化手順と、探索手順と、ノード選択手順と、ルートノードエッジ接続手順と、を順に有する。
イナクティブ化手順では、疎グラフ中の少なくとも一部のノードをイナクティブにする。
探索手順では、イナクティブにされた残りの疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する。
ノード選択手順では、探索結果から設定された条件を満たすノードを選択する。
ルートノードエッジ接続手順では、ノード選択手順にて選択されたノードとルートノードを接続する。
図3に、本実施形態に係る疎行列作成装置の基本構成図を示す。本実施形態に係る疎行列作成装置100は、代数的構造生成部101と、疎行列キャッシュ部102と、乱数生成部103と、ルートノードエッジ接続部104と、ノードイナクティブ化部105と、イナクティブ化制御部106と、探索深度制御部107と、探索部108と、ノード選択部109と、インターリーブ部110と、を備える。これによって、本実施形態に係る疎行列作成部100及び疎グラフ作成方法は、マルチレベルのレート制御を高効率に達成するレート可変型の誤り訂正符号を実現する。
代数的構造生成部101は、疎グラフが特別な構造を持っていた場合に考慮される。疎行列キャッシュ部102は、生成していく疎行列を保存する。乱数生成部103は、確率的に符号を構成する。ルートノードエッジ接続部104は、ローカルグラフにおけるループを大きく取る際に基準とするルートノードと接続するエッジを選択する。ノードイナクティブ化部105は、ローカルグラフにおけるループを大きく取る際に考慮しないノードを選択する。イナクティブ化制御部106は、ノードイナクティブ化部105の処理においてその条件を定める。探索深度制御部107は、ローカルグラフにおけるループを大きく取る際に探索するノードの深さを制御する。探索部108は、探索深度制御部107の制御情報に基づきルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードの探索を行う。ノード選択部109は、探索部108の探索結果から条件を満たすノードを選択する。条件とは、例えばいかなる5つのエッジを通じてもルートノードから到達できないチェックノードなどである。インターリーブ部110は、作成された疎行列を列入れ替えなどにより入れ替える制約付きインターリーブ部である。以下それぞれの構成要素について説明する。
本システムは消失通信路上で発生した消失を効率的に回復する通信路復号システムである。以下では簡単のために、本システムが有効に機能する1つの最良の例として、消失通信路の代表的な通信路であるインターネット上でのIPパケット伝送を想定し、疎グラフで構成されるLDPC−Staircase符号を想定した例を述べる。
入力データが疎行列作成装置100に入力され疎行列の作成が開始される。入力されるデータは、符号化レートに関わる行列のサイズ、行列の重みに関する情報、探索深度の初期値、など、行列生成に必要な情報が入力される。行列のサイズは、例えば、縦サイズ及び横サイズである。行列の重みに関する情報は、例えば、列重み3が何列で、列重み7が何列かである。
まず、代数的構造生成部101では、今回LDPC−Staircase符号を想定しているので、代数的構造として階段行列が生成される。生成された階段行列は疎行列キャッシュ部102に保存される。
次に、ルートノードエッジ接続部104にてローカルグラフを作成する際のルートノードと1つのノードがエッジを通じて接続される。ここで、ローカルグラフとは、疎グラフの生成過程においてルートノードから接続される候補となるノードから構成されるグラフである。ルートノードとは、新しくエッジを追加していくターゲットとしているノードであり、ツリーで表現したときに一番上に配置されるノードである。
疎グラフの生成過程において列に対応するルートノードが初めて選択される場合、そこからエッジにて接続するノードを選択する方法は様々な方法が考えられるが、例えば、行重みを計算して一番重みの軽いチェックノード集合の中からランダムに選択するなどが実施される。この制約を課した場合、行方向にレギュラーな疎行列が生成されることとなる。この処理の際、乱数生成部103により生成される乱数によりルートノードから接続されるチェックノードを選択する。
ルートノードエッジ接続部104でルートノードと接続されるチェックノードが選択されエッジ接続されると、次はノードイナクティブ化部105に移行する。ノードイナクティブ化部105ではローカルグラフを作成する際に探索に含めないノードを、イナクティブ化制御部106の情報に基づいて、指定する。しかし、行列を生成するにあたり、探索時間を極端に減らしたい等の特別な要望が無い場合は、ノードをイナクティブにするメリットが無いため、行列が生成されるある時点まで、イナクティブ化制御部106は、通常、イナクティブにするノードを指定しない。
探索部108では、イナクティブ化されていないアクティブなノードに対して、探索深度制御部107の情報に基づいて探索を行う。探索操作について図4及び図5を用いて説明する。図4は疎行列キャッシュ部102に保存されている行列の一例であり、図5はルートノードと最小のエッジ数で接続されるチェックノードとの接続関係を示す。
今、図4記載の行列が既に生成されており、丸で囲まれている「1」がルートノードエッジ接続部104においてルートノードと接続されるチェックノードに選択されているとする。また、全てのノードがアクティブな状態であり、探索深度(Depth)は「1」が与えられているとする。本実施形態において、Depth=1というのは1段階の探索を表すこととする。この場合、探索部108では、1段階の探索を実施することとする。1段階の探索とは、ルートノードとアクティブなチェックノードが、3つのエッジを通じてつながっている(長さ3でつながる)ノードを探すことである。図5で示した例では、ルートノードに相当するソースノードNS00と長さ3でつながるチェックノードは4つあり、1番目、2番目、3番目、5番目のチェックノードNC01、NC02、NC03、NC05とつながっていることがわかる。図4の例では、ルートノードと3番目のチェックノードが接続されているため3番目のチェックノードには1は立てられない。この場合、1番目、2番目、5番目のチェックノードNC01、NC02、NC05に1を立てた場合、図5のDepth=1で示されているように、長さ4のループが出来てしまう。ここで、長さ4のループとは、ノードを表す「1」が図6に示すようなノード配置になった状態である。この配置は符号化効率が落ちるため、長さ4のループは無い方が好ましい。
なお、2段階の探索を行った場合、5本のエッジを通じて到達できるチェックノードを探索することになり、4番目のチェックノードにもエッジが到達してしまうため、図5に示すノードの配置では、図7に示すような長さ6のループを回避するチェックノードの選択は出来ない。
ノード選択部109は、探索部108の探索結果を受けて、追加するノード位置を決定する。例えば、いかなる3つのエッジを通じてもルートノードから到達できないノードなどである。選択候補が複数ある場合は、候補のノード集合からランダムに選択するか、行列上部から埋めていく、行重みが軽いものから埋めていく、などの方法がとられる。また、ランダムに選択する場合は、乱数生成部103にて生成される乱数を利用する。
ノード選択部109で1つのノードが選択されたら、ルートノードエッジ接続部104に戻り、今度はノード選択部109に選択されたノードとのエッジを追加して105、108、109と同様の処理を行う。任意のノード数(e.g.3つのノード等)が生成され列処理が終わると、選択されたノードは疎行列キャッシュ部102に保存される。
なお、処理を進めていく上でノード選択部109にて選択できるノードが無い場合(条件を満たす候補が無い場合)、探索深度制御部107が探索深度を変更して探索する範囲を狭くする、または、イナクティブ化制御部106にてイナクティブにするノードを選択し、探索対象となるアクティブとなるノードを減らす、処理を行う。これらの処理は、片方ずつ行うこともできるし、同時に行うこともできるが、たとえば、探索範囲制御部107にて探索する深度の変更を行っていき、1段階の探索でも選択できるノードが無くなった場合、イナクティブ化制御部106の設定を変更し、それまでに生成したノードをイナクティブにし、再び探索範囲制御部107の探索深度を大きくして行列生成を続ける、などの方法が有効となる。
図8を用いてノードイナクティブ化部105の処理の説明を行う。図8の左の行列は行列の生成を進めていった途中過程のものである。今、9列目のノードを作成しようとしており、1番目のチェックノードをルートノードとして選択している。しかし、1段階の探索を行った際に2番目、3番目、4番目、5番目のその他全てのチェックノードにおいて長さ3のエッジで接続されてしまい、どこのノードを選択しても長さ4のループが発生してしまう状況である。そこで、イナクティブ化制御部106は、既に作成したノードの半分をイナクティブにすると判断し、ノードイナクティブ化部105が1列目から4列目までのノードをイナクティブ化にする(図8の右)。このイナクティブ化により、3番目、4番目、5番目のいずれのチェックノードも選択することが出来るようになっている。これにより、本実施形態に係る疎行列作成装置100は、生成された行列の一部が用いられた場合も、優れた符号化効率が達成できる他、イナクティブ化をするノードを列重みにより変更などすることで素早く効率的に符号化効率の良い疎行列を作成することが可能となる。なお、イナクティブ化するノードはレート可変のパラメータ等により任意に変更される。例えば、本例では階段行列に相当するノードは需要度が高いためイナクティブ化をせず、常にアクティブにしておくことが望ましい結果となる。
最後に、疎行列の要素ができあがると、生成された疎行列はインターリーブ部110に送られる。インターリーブ部110では、任意の範囲で切り取った場合もループが広くなりかつ行列重みが平均的になるような列の並び替えが行われ、疎行列情報が出力データとして出される。
(実施形態2)
本実施形態では、選択的PEGアルゴリズムは行重み/列重みを任意のマルチレベルで保ちながら疎行列を生成していき、その過程で、制約付きインターリーブを行うことにより行列空間が狭い場合の符号化効率を改善する。
本実施形態に係る疎グラフ作成方法は、探索手順と、ノード選択手順と、ルートノードエッジ接続手順と、制約付きインターリーブ手順と、を順に有する。
探索手順では、疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する。
ノード選択手順では、探索結果から設定された条件を満たすノードを選択する。
ルートノードエッジ接続手順では、ノード選択手順にて選択されたノードとルートノードを接続する。
制約付きインターリーブ手順では、選択された位置にノードが生成された疎グラフの各ノードを、ローカルグラフの関係を保つように疎行列の各重みが空間的に均一に配置されるように並び替える。
図9に、本実施形態に係る疎行列作成装置の基本構成図を示す。本実施形態に係る疎行列作成装置200は、代数的構造生成部201と、疎行列キャッシュ部202と、乱数生成部203と、ルートノードエッジ接続部204と、探索部208と、探索深度制御部207と、ノード選択部209と、制約付きインターリーブ部210と、を備える。本実施形態に係る疎行列作成装置200は、マルチレベルのレート制御を高効率に達成するレート可変型の誤り訂正符号を実現する。
代数的構造生成部201は、疎グラフが特別な構造を持っていた場合に考慮される。疎行列キャッシュ部202は、生成していく疎行列を保存する。乱数生成部203は、確率的に符号を構成する。ルートノードエッジ接続部204は、ローカルグラフにおけるループを大きく取る際に基準とするルートノードと接続するエッジを選択する。探索部208は、探索深度制御部207の制御情報に基づき最短のエッジ数を通じて到達できるノードの探索を行う。探索深度制御部207は、探索部208で探索する深度をコントロールする。ノード選択部209は、探索結果から条件を満たすノードを選択する。制約付きインターリーブ部210は、作成された疎行列を列入れ替えなどにより入れ替える。以下それぞれの構成要素について説明する。
本システムは消失通信路上で発生した消失を効率的に回復する通信路復号システムである。以下では簡単のために、本システムが有効に機能する1つの最良の例として、消失通信路の代表的な通信路であるインターネット上でのIP。パケット伝送を想定し、符号を疎グラフで構成されるLDPC−Staircase符号を想定した例を述べる。
入力データが疎行列作成装置200に入力され疎行列の作成が開始される。入力されるデータは、符号化レートに関わる行列のサイズ(e.g.、縦サイズ、横サイズ)、行列の重みに関する情報(e.g.、列重み3が何列で、列重み7が何列か)、探索深度の初期値、など、行列生成に必要な情報が入力される。
まず、代数的構造生成部201は、今回LDPC−Staircase符号を想定しているので、代数的構造として階段行列が生成される。生成された階段行列は疎行列キャッシュ部202に保存される。
次に、ルートノードエッジ接続部204は、ローカルグラフを作成する際のルートとなるノードから接続されるノードをエッジで接続する。ルートノードからチェックノードに接続されるエッジがその列で初めて選択される場合、エッジの選択方法は様々な方法が考えられるが、例えば、行重みを計算して一番重みの軽いチェックノード集合の中からランダムに選択するなどが実施される。この制約を課した場合、行方向にレギュラーな疎行列が生成されることとなる。この処理の際、乱数生成部203により生成される乱数によりチェックノードを選択しエッジで接続する。
ルートノードエッジ接続部204でルートノードからエッジが接続されると、探索部208では探索深度制御部207の情報に基づいて探索を行う。探索部208の動作は、実施形態1記載の探索部108と同じであるためにここでは探索操作の詳細については省略する。
ノード選択部209では、探索部208の探索結果を受けて、追加するノードを決定する。選択候補が複数ある場合は、候補のノード集合からランダムに選択するか、行列上部から埋めていく、行重みが軽いものから埋めていく、などの方法がとられる。また、ランダムに選択する場合は、乱数生成部203にて生成される乱数を利用する。
ノード選択部209で1つのノードが選択されたら、ルートノードエッジ接続部204に戻り、今度は選択されたエッジをルートノードと接続して探索部208及びノード選択部209と同様の処理を行い、任意のノード数(e.g.3つのノード等)が作成され列処理が終わるまで繰り返す。その後、選択されたノードは疎行列キャッシュ部202に保存される。
なお、処理を進めていく上でノード選択部209にて選択できるノードが無い場合(条件を満たす候補が無い場合)、探索深度制御部207が探索深度を変更して探索する範囲を狭くするのも実施形態1と同様である。しかし、探索範囲を狭めて行ってもノード選択部204にて選択できるノードが現れない場合も発生する。その際は、探索深度制御部207にて探索をしないように制御し、探索部208をスキップすることで任意の重みを有した疎行列を生成していく。
なお、本実施形態にてイレギュラー行列の生成を行う場合、先に軽い重みを有した列(e.g.列重み3の列)を生成していき、その後に重い重みを有した列(e.g.列重み7の列)を生成していく、などすることで符号化効率の良い行列を生成することができる。図10及び図11に、疎行列全てのノード選択が行われた後に疎行列キャッシュ部202に保存されている疎行列例を示す。まず、疎行列は、代数的構造生成部201で作成された階段行列を左から有しており、その次に列重み3の疎行列が続き、最後に列重み7の疎行列が続いている。
最後に、疎行列の要素ができあがると、生成された疎行列は制約付きインターリーブ部210に送られ、任意の範囲で切り取った場合もループが広くなりかつ行列重みが平均的になるような列の並び替えが行われ、疎行列情報が出力データとして出される。この制約付きインターリーブ部210により、たとえば、図10に示す疎行列は、図11に示す行列へと並び替えられる。
すなわち、図10の「T」で示す階段行列は、パリティ検査行列の右側に位置される。また、図10において列重み3の「G1」で示される疎行列と列重み7の「G2」で示される疎行列は、図11に示される混合疎行列「G」が作成されている。混合疎行列「G」は、列重み3の疎行列と列重み7の疎行列とが空間的な平均を取った場合に均一となるように混ぜられている。
また、同時に、この混合疎行列「G」は、列重み3の疎行列内、また、列重み7の疎行列内の順番関係を保っている。すなわち、列重み3のノードN31、N32、N33、N34、列重みのN71、N72、N73、N74の各列が、混合疎行列「G」においてN31、N71、N32、N72、N33、N73、N34、N74の順に配列されている。このように制約付きインターリーブすることにより、たとえば、ソースに関する長さを変更しようと、4番を0埋め処理によりレート可変にしたとしても、優れた符号化性能が保たれるように処理されている。
なお、制約付きインターリーブ部21は、2つの疎行列から合成して1つの疎行列を生成してもよい。図12に、本実施形態に係る疎行列作成装置が生成した、列重みの異なる2つの疎行列を示す。この場合も、制約付きインターリーブ部210により、列重み3の疎行列、列重み7の疎行列は、図11に示すような列重み3と列重み7の混合疎行列「G」として混ぜられ、階段行列が右側にくるように並び替えられている。
本実施形態では、実施形態1のノードイナクティブ化部105を備えないため、複数の疎行列を作成することで実施形態1のノードイナクティブ化部105と類似した機能を持たせることもできる。
(実施形態3)
図13に、本実施形態に係る疎行列作成装置の基本構成図を示す。本実施形態に係る疎行列作成装置300は、マルチレベルのレート制御を高効率に達成するレート可変型の誤り訂正符号を実現する。本実施形態に係る疎行列作成装置300は、代数的構造生成部301と、疎行列キャッシュ部302と、乱数生成部303と、ルートノードエッジ接続部304と、ノードイナクティブ化部305と、イナクティブ化制御部306と、探索深度制御部307と、探索部308と、ノード選択部309と、拡張エッジ選択部310と、ノード拡張部311と、制約付きインターリーブ部312と、を備える。
代数的構造生成部301は、疎グラフが特別な構造を持っていた場合に考慮される。疎行列キャッシュ部302は、生成していく疎行列を保存する。乱数生成部303は、確率的に符号を構成する。ルートノードエッジ接続部304は、ローカルグラフを作成する際のルートとなるノードから接続されるノードをエッジで接続する。ノードイナクティブ化部305は、ローカルグラフにおけるループを大きく取る際に考慮しないノードを選択する。イナクティブ化制御部306は、ノードイナクティブ化部305の処理においてその条件を定める。探索深度制御部307は、ローカルグラフにおけるループを大きく取る際に探索する深さを制御する。探索部308は、探索深度制御部307の制御情報に基づきルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードの探索を行う。ノード選択部309は、探索部308の探索結果から条件を満たすノードを選択する。拡張エッジ選択部310は、拡張するチェックノードに移行するエッジを選択する。ノード拡張部311は、疎グラフ中のエッジの数を保ったままチェックノードを増やす。制約付きインターリーブ部312は、作成された疎行列を列入れ替えなどにより入れ替える。以下それぞれの構成要素について説明する。
本システムは消失通信路上で発生した消失を効率的に回復する通信路復号システムである。以下では簡単のために、本システムが有効に機能する1つの最良の例として、消失通信路の代表的な通信路であるインターネット上でのIPパケット伝送を想定し、符号を疎グラフで構成されるLDPC−Staircase符号を想定した例を述べる。また、本実施形態では、特に冗長度を大きく変更することが可能なレート可変型に特化した例にて説明を行う。
入力データが疎行列作成装置300に入力され疎行列の作成が開始される。入力されるデータは、符号化レートに関わる行列のサイズ(e.g.、縦サイズ、横サイズ)、行列の重みに関する情報(e.g.、列重み3が何列で、列重み7が何列か)、探索深度の初期値、など、行列生成に必要な情報が入力される。また、加えて、レート可変に対応するパラメータとして、最小の行列サイズや、最大の行列サイズ、それぞれの冗長化率といった情報が入力される。
代数的構造生成部301での処理から、ノード選択部309までの処理では、基本的には実施形態1の101〜109までのそれぞれの処理と同様なため詳細は省略するが、レート可変に対応する行列を生成するために、ルートノードエッジ接続部304とノード選択部309のノード選択において、最小行列サイズの範囲に収まるようにノードを選択し、エッジにて接続する。すなわち、図14のようにノードを選択する領域を制限して小さい疎行列は生成され、疎行列キャッシュ部302に保存される。なお、図14〜図17のG1は任意の重みを持つ疎行列であり、レギュラー行列、イレギュラー行列、様々なものを作成することができる。
次に、生成された小さい疎行列は拡張エッジ選択部310およびノード拡張部311を通りチェックノードの拡張が行われる。この拡張のやり方は様々な方法が考えられるが、ここでは、ソースノードおよびエッジの数は変わらず、チェックノードの数のみ変更する方法を用いることとする。図18にその処理の概要を示す。図18左は、図14のG1が拡張される前の状態を表している。拡張エッジ選択部310が拡張エッジを選択する。すなわち、図18ではNC及びNCに接続しているエッジのうち、拡張するエッジを選択する。そして、ノード拡張部311がチェックノードNC及びNCを増設し、拡張エッジ選択部310で選択されたエッジをはり替える。これにより、図18右に示すように、チェックノードNC及びNCが増える。
この拡張の際、拡張エッジ選択部310ではエッジではどのエッジを拡張されたノードに接続するか(またはそれまでに接続されていたチェックノードに残すか)の選択は乱数生成部303にて生成される乱数によりランダムに選択される。また、この処理ではどのチェックノードも接続しているエッジの数が大体同じになるように、拡張エッジを選択する。このエッジ選択を受け、ノード拡張部311がチェックノードの拡張を行う。この拡張の結果、図14のG1は図15のG2となり、チェックノードが増えた疎グラフ構造をもつようになる。拡張された疎行列は、疎行列キャッシュ部302に保存される。
その後、さらに、列方向へのノード生成を続ける。手順はそれまでのプロセスと同様であり、ルートノードエッジ接続部304からノード選択部309までの列作成手順を実行する。この際、ルートノードエッジ接続部304およびノード選択部309では、前手順で行っていた空間的な制限を設けない。それにより、図16に示すG3のように、領域限定されない部分的な疎行列が生成される。
最後に、疎行列の要素ができあがると、生成された疎行列は制約付きインターリーブ部312に送られ、任意の範囲で切り取った場合もループが広くなりかつ行列重みが平均的になるような列の並び替えが行われ、疎行列情報が出力データとして出される。例えば、図17に示すように、疎行列G2及びG3は列重みが平均的になるように並び替えられて疎行列G2’及びG3’となる。疎行列G2’及びG3’は、図10及び図11に示した制約付きインターリーブのように、列重みが同じものでは列の入れ替えが行われない制約がついたインターリーブとなっている。このように構成することにより、G3’の右側から0埋めによりレート可変した場合や、G2’をパンクチャー処理によりレート可変にした場合でも、符号化効率の高い行列を生成することができる。
なお、本実施形態では、単純なレート可変の例で説明を行ったが、本実施形態は容易にマルチレートのレート可変に対応する行列を生成する方法に拡張することができる。
本実施形態では、実施形態1の構成にさらに拡張エッジ選択部310及びノード拡張部311を備える例について説明したが、これに限定されない。例えば、図19に示すように、実施形態2の構成にさらに拡張エッジ選択部310及びノード拡張部311を備えてもよい。
また、本実施形態に係る発明は、実施形態1の構成にさらに実施形態2で説明した制約付きインターリーブの機能を備える。このように、実施形態1の発明と実施形態2の発明を組み合わせることも可能である。この組み合わせによって、符号化効率をさらに改善することができる。
以上の説明で明らかなように本発明によれば、本発明は、疎グラフ符号の疎行列作成において、マルチレベルのレート制御を高効率に達成するレート可変型の誤り訂正符号を実現する疎行列の作成を可能とする。
本発明は情報通信産業に適用することができる。
10:疎行列作成部
91:通信路符号化装置
92:パケットベース伝送装置
93:パケットベース受信装置
94:通信路復号装置
100、200、300、400:疎行列作成装置
101、201,310、401:代数的構造生成部
102、202、302、402:疎行列キャッシュ部
103,203、303、403:乱数生成部
104、204、304、404:ルートノードエッジ接続部
105、305:ノードイナクティブ化部
106、306:イナクティブ化制御部
107、207、307、406:探索深度制御部
108、208、308、405:探索部
109、209、309、407:ノード選択部
110:インターリーブ部
210、312、410:制約付きインターリーブ部
310、408:拡張エッジ選択部
311、409:ノード拡張部
911:通信路符号化部
921:パケット伝送部
931:受信データ解析部
941:通信路復号部

Claims (10)

  1. 疎グラフ符号に用いられる疎グラフを生成する疎グラフ作成装置であって、
    疎グラフ中の少なくとも一部のノードをイナクティブにするイナクティブ化部と、
    前記イナクティブ化部によってイナクティブにされた残りの疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する探索部と、
    前記探索部の探索結果から設定された条件を満たすノードを、エッジを生成する位置に選択するノード選択部と、
    前記ノード選択部にて選択されたノードとルートノードを接続するルートノードエッジ接続部と、
    を備える疎グラフ作成装置。
  2. 前記ノード選択部は、それまでのノード生成の過程から得られた探索に関する情報から次に探索する範囲を限定して探索することで少ない演算量でループを大きくとるノードを選択する
    ことを特徴とする請求項1に記載の疎グラフ作成装置。
  3. 疎グラフ符号に用いられる疎グラフを生成する疎グラフ作成装置であって、
    疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する探索部と、
    前記探索部の探索結果から設定された条件を満たすノードを、エッジを生成する位置に選択するノード選択部と、
    前記ノード選択部にて選択されたノードとルートノードを接続するルートノードエッジ接続部と、
    前記ルートノードエッジ接続部によって選択された位置にエッジが生成された疎グラフの各ノードを、疎行列の各重みが空間的に均一に配置されるように並び替える制約付きインターリーブ部と、
    を備える疎グラフ作成装置。
  4. 前記制約付きインターリーブ部は、アクティブなノードのグラフ構造を保つように、疎グラフ中のノードを入れ替える
    ことを特徴とする請求項3に記載の疎グラフ作成装置。
  5. 疎グラフのエッジ総数が変わらずかつ最小のループが短くならないように、新たなノードを設置するノード拡張部をさらに備えることを特徴とする請求項1から4のいずれかに記載の疎グラフ作成装置。
  6. 疎グラフ符号に用いられる疎グラフを生成する疎グラフ作成方法であって、
    疎グラフ中の少なくとも一部のノードをイナクティブにするイナクティブ化手順と、
    前記イナクティブ化手順によってイナクティブにされた残りの疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する探索手順と、
    前記探索手順の探索結果から設定された条件を満たすノードを、エッジを生成する位置に選択するノード選択手順と、
    前記ノード選択手順にて選択されたノードとルートノードを接続するルートノードエッジ接続手順と、
    を順に有する疎グラフ作成方法。
  7. 前記ノード選択手順において、それまでのノード生成の過程から得られた探索に関する情報から次に探索する範囲を限定して探索することで少ない演算量でループを大きくとるノードを選択する
    ことを特徴とする請求項6に記載の疎グラフ作成方法。
  8. 疎グラフ符号に用いられる疎グラフを生成する疎グラフ作成手順であって、
    疎グラフのなかから、ローカルグラフを作成する際のルートとなる任意のルートノードと接続されているアクティブなノードから最短のエッジ数を通じて到達できるノードを探索する探索手順と、
    前記探索手順の探索結果から設定された条件を満たすノードを、エッジを生成する位置に選択するノード選択手順と、
    前記ノード選択手順にて選択されたノードとルートノードを接続するルートノードエッジ接続手順と、
    前記ルートノード接続手順によって選択された位置にエッジが生成された疎グラフの各ノードを、疎行列の各重みが空間的に均一に配置されるように並び替える制約付きインターリーブ手順と、
    を順に有する疎グラフ作成方法。
  9. 前記制約付きインターリーブ手順において、アクティブなノードのグラフ構造を保つように、疎グラフ中のノードを入れ替える
    ことを特徴とする請求項8に記載の疎グラフ作成方法。
  10. 疎グラフのエッジ総数が変わらずかつ最小のループが短くならないように、新たなノードを設置するノード拡張手順を、前記ノード選択手順の後でありかつ前記制約付きインターリーブ手順の前にさらに有することを特徴とする請求項6から9のいずれかに記載の疎グラフ作成方法。
JP2013218933A 2013-10-22 2013-10-22 疎グラフ作成装置及び疎グラフ作成方法 Active JP5792256B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2013218933A JP5792256B2 (ja) 2013-10-22 2013-10-22 疎グラフ作成装置及び疎グラフ作成方法
US15/027,456 US11303305B2 (en) 2013-10-22 2014-10-08 Sparse graph creation device and sparse graph creation method
BR112016007458A BR112016007458A2 (pt) 2013-10-22 2014-10-08 dispositivo de criação de gráfico esparso que cria um gráfico esparso utilizado para um código de gráfico esparso, e, método de criação de gráfico esparso que cria um gráfico esparso utilizado para um código de gráfico esparso
EP14855171.6A EP3062445A4 (en) 2013-10-22 2014-10-08 Sparse graph creation device and sparse graph creation method
PCT/JP2014/076910 WO2015060130A1 (ja) 2013-10-22 2014-10-08 疎グラフ作成装置及び疎グラフ作成方法
EP17181109.4A EP3264612B1 (en) 2013-10-22 2014-10-08 Ldpc code construction using a modified progressive edge-growth (peg) algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013218933A JP5792256B2 (ja) 2013-10-22 2013-10-22 疎グラフ作成装置及び疎グラフ作成方法

Publications (2)

Publication Number Publication Date
JP2015082712A JP2015082712A (ja) 2015-04-27
JP5792256B2 true JP5792256B2 (ja) 2015-10-07

Family

ID=52992732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013218933A Active JP5792256B2 (ja) 2013-10-22 2013-10-22 疎グラフ作成装置及び疎グラフ作成方法

Country Status (5)

Country Link
US (1) US11303305B2 (ja)
EP (2) EP3062445A4 (ja)
JP (1) JP5792256B2 (ja)
BR (1) BR112016007458A2 (ja)
WO (1) WO2015060130A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540398B2 (en) * 2017-04-24 2020-01-21 Oracle International Corporation Multi-source breadth-first search (MS-BFS) technique and graph processing system that applies it
CN109165322B (zh) * 2018-08-01 2022-04-19 成都数联铭品科技有限公司 基于路径关系的网络特征提取系统及方法
US20190340511A1 (en) * 2019-06-20 2019-11-07 Intel Corporation Sparsity control based on hardware for deep-neural networks
CN113012555B (zh) * 2019-12-20 2022-06-24 百度在线网络技术(北京)有限公司 地图显示方法、装置、电子设备和存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327561A (en) * 1991-09-20 1994-07-05 International Business Machines Corporation System and method for solving monotone information propagation problems
WO2006027818A1 (ja) 2004-09-03 2006-03-16 Mitsubishi Denki Kabushiki Kaisha Ldpc符号生成方法および通信装置
FI121431B (fi) 2004-09-13 2010-11-15 Tamfelt Pmc Oy Paperikoneessa käytettävä kudosrakenne ja menetelmä sen valmistamiseksi
WO2006039801A1 (en) * 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
US8117523B2 (en) * 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
US7747633B2 (en) * 2007-07-23 2010-06-29 Microsoft Corporation Incremental parsing of hierarchical files
EP2134018A1 (en) * 2008-05-23 2009-12-16 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for recovery of lost and/ or corrupted data
US20100146007A1 (en) * 2008-12-09 2010-06-10 Alex Kononov Database For Managing Repertory Grids
JP5523064B2 (ja) 2009-11-13 2014-06-18 三菱電機株式会社 復号装置及び方法
WO2011062111A1 (ja) 2009-11-17 2011-05-26 三菱電機株式会社 誤り訂正方法および装置ならびにそれを用いた通信システム
US9128998B2 (en) * 2010-09-03 2015-09-08 Robert Lewis Jackson, JR. Presentation of data object hierarchies
US20120095957A1 (en) * 2010-10-18 2012-04-19 Tata Consultancy Services Limited Component Based Approach to Building Data Integration Tools
CN102467709B (zh) * 2010-11-17 2017-03-01 阿里巴巴集团控股有限公司 一种发送商品信息的方法和装置
AU2012271280A1 (en) * 2011-06-16 2014-02-06 Radiumone, Inc. Building a social graph with sharing activity between users of the open web
US8583659B1 (en) * 2012-07-09 2013-11-12 Facebook, Inc. Labeling samples in a similarity graph
US8929390B2 (en) * 2012-09-24 2015-01-06 Alcatel Lucent Methods and apparatuses for channel estimation in wireless networks
EP2918047A4 (en) * 2012-11-06 2016-04-20 Hewlett Packard Development Co IMPROVED GRAPHIDE RUNNING
US20150310346A1 (en) * 2012-12-05 2015-10-29 Nec Corporation Optimization device, optimization method and optimization program
US20140208297A1 (en) * 2013-01-20 2014-07-24 International Business Machines Corporation Validation of revised computer programs
BR112015027153B1 (pt) * 2013-05-02 2021-12-14 Sony Corp Dispositivo e método de processamento de dados
US9501503B2 (en) * 2013-05-09 2016-11-22 Microsoft Technology Licensing, Llc Inferring entity attribute values
EP2816767A1 (en) * 2013-06-17 2014-12-24 Ericsson Modems SA Equalization in the receiver of a multiple input multiple output system
CN104518801A (zh) * 2013-09-29 2015-04-15 Lsi公司 非二进制的分层低密度奇偶校验解码器
US10545938B2 (en) * 2013-09-30 2020-01-28 Spigit, Inc. Scoring members of a set dependent on eliciting preference data amongst subsets selected according to a height-balanced tree
US9396164B2 (en) * 2013-10-21 2016-07-19 International Business Machines Corporation Sparsity-driven matrix representation to optimize operational and storage efficiency

Also Published As

Publication number Publication date
EP3062445A1 (en) 2016-08-31
JP2015082712A (ja) 2015-04-27
EP3264612B1 (en) 2022-08-17
US20160248448A1 (en) 2016-08-25
EP3062445A4 (en) 2017-10-25
US11303305B2 (en) 2022-04-12
BR112016007458A2 (pt) 2017-08-01
WO2015060130A1 (ja) 2015-04-30
EP3264612A1 (en) 2018-01-03

Similar Documents

Publication Publication Date Title
US9270414B2 (en) Multiple-field based code generator and decoder for communications systems
Shokrollahi Raptor codes
US7720174B2 (en) Multi-stage code generator and decoder for communication systems
US7418651B2 (en) File download and streaming system
JP5216099B2 (ja) 低密度生成マトリックスコードのエンコード方法及び装置、ならびにデコード方法及び装置
JP4005084B2 (ja) 検査行列生成方法および検査行列生成装置
WO2004107585A1 (ja) 復号方法および復号装置、プログラム、記録再生装置および方法、並びに、再生装置および方法
JP2004266463A (ja) 検査行列生成方法および検査行列生成装置
JP5792256B2 (ja) 疎グラフ作成装置及び疎グラフ作成方法
Joshi et al. Fountain codes
Mirrezaei et al. Towards fountain codes
JP5952971B2 (ja) 通信路復号方法及び通信路復号装置
Andreadou et al. Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) codes for deep space and high data rate applications
Mattoussi Design and optimization of al-fec codes: the gldpc-staircase codes
JP5238060B2 (ja) 符号化装置及び方法及び符号化・復号化システム及び復号化方法
JP4972128B2 (ja) 符号化・復号システム及び符号化・復号方法
Casu Optimization of protection techniques based on FEC codes for the transmission of multimedia packetized streams
Majeed LDPC error floor improvement
Poulliat et al. Conception et optimisation de codes AL-FEC: les codes GLDPC-Staircase
Mirrezaei et al. Towards Fountain Codes. Part II: Belief Propagation Decoding
Hayajneh Overlapped fountain coding: Design and analysis
Cai et al. Advances in iterative decoding and maximum likelihood decoding for the packet network with comparisons to fountain codes over the erasure channel

Legal Events

Date Code Title Description
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: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150805

R150 Certificate of patent or registration of utility model

Ref document number: 5792256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150