(57)【要約】【課題】本発明の実施例は復号手法、復号器及び受信機を提供する。【解決手段】復号器は、第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化する初期化ユニット；符号化ベクトル及び生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素が全て１であるようにさせる処理ユニット；及び、更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得る復号ユニットを含む。【選択図】図３
2016092833.tif 000002
【特許請求の範囲】
【請求項１】
復号器であって、
第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化する初期化ユニット；
符号化ベクトル及び生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素が全て１であるようにさせる処理ユニット；及び
更新後の前記第一復号マトリックス及び前記第二復号マトリックスに基づいてオリジナルデータを得る復号ユニットを含む、復号器。
【請求項２】
請求項1に記載の復号器であって、
前記処理ユニットは、
前記符号化ベクトル及び前記生成ベクトル情報を受信する受信ユニット；
前記生成ベクトル情報に基づいて、前記符号化ベクトルに対応する生成ベクトルを確定する確定ユニット；
前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行う変換ユニット；及び
変換後の前記第一復号マトリックスの対角要素が全て１であるかどうかを判断し、「はい」の場合、処理を終了し、「いいえ」の場合、前記受信ユニットが次の一つの符号化ベクトル及び生成ベクトル情報を継続して受信するようにさせる判断ユニットを含む、復号器。
【請求項３】
請求項2に記載の復号器であって、
前記生成ベクトル情報は生成ベクトルであり、
前記確定ユニットは、直接的に、前記受信ユニットが受信した前記生成ベクトル情報に基づいて、前記生成ベクトルを確定する、復号器。
【請求項４】
請求項2に記載の復号器であって、
前記生成ベクトル情報は前記生成ベクトルに対応する索引であり、
前記確定ユニットは、前記受信ユニットが受信した前記索引及び予め記憶された生成マトリックスに基づいて、前記生成ベクトルを確定する、復号器。
【請求項５】
請求項2に記載の復号器であって、
前記変換ユニットは、
前記生成ベクトルのうちの一番目又は最後の一つの１の、前記生成ベクトルにおける列番号を抽出する抽出ユニット；
現在の第一復号マトリックスの対角要素のうちの、行番号が前記列番号と同じである要素が0であるかどうかを判断する第一判断サブユニット；及び
前記要素が0である時に、現在の第一復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルを前記生成ベクトルに取り替え、また、現在の第二復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルを前記符号化ベクトルに取り替える第一更新ユニットを含む、復号器。
【請求項６】
請求項5に記載の復号器であって、
前記変換ユニットは、更に、
前記要素が0でない時に、前記生成ベクトルと、現在の第一復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルとに対して線形演算を行うことで、一つの新しい生成ベクトルを取得し、そして、前記新しい生成ベクトルを前記生成ベクトルとし、また、前記符号化ベクトルと、現在の第二復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルとに対して線形演算を行うことで、一つの新しい符号化ベクトルを取得し、そして、前記新しい符号化ベクトルを前記符号化ベクトルとする計算ユニット；及び
前記新しい生成ベクトルの要素が全て０であるかどうかを判断し、「いいえ」の場合、前記抽出ユニットが前記新しい生成ベクトルに対して抽出処理を行うようにさせる第二判断サブユニットを含む、復号器。
【請求項７】
請求項6に記載の復号器であって、
前記変換ユニットは、更に、
前記要素が0でない時に、前記生成ベクトルのハミング重みが、現在の第一復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルのハミング重みよりも小さい場合、前記第一復号マトリックスのうちの前記行のベクトルと、前記生成ベクトルとを交換し、また、前記第二復号マトリックスのうちの前記行のベクトルと、前記符号化ベクトルとを交換し、そして、前記計算ユニットが前記線形演算を行うようにさせる第二更新ユニットを含む、復号器。
【請求項８】
復号器を含む受信機であって、
前記復号器は、
第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化し；
符号化ベクトル及び対応する生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素が全て１であるようにさせ；及び
更新後の前記第一復号マトリックス及び前記第二復号マトリックスに基づいてオリジナルデータを得るように構成される、受信機。
【請求項９】
復号手法であって、
第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化し；
符号化ベクトル及び生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素が全て１であるようにさせ；及び
更新後の前記第一復号マトリックス及び前記第二復号マトリックスに基づいてオリジナルデータを得ることを含む、復号手法。
【請求項１０】
請求項9に記載の復号手法であって、
前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することは、
前記符号化ベクトル及び前記生成ベクトル情報を受信し；
前記生成ベクトル情報に基づいて、前記符号化ベクトルに対応する生成ベクトルを確定し；
前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行い；及び
変換後の前記第一復号マトリックスの対角要素が全て１であるかどうかを判断し、「はい」の場合、処理を終了し、「いいえ」の場合、次の一つの符号化ベクトル及び生成ベクトル情報を継続して受信することを含む、復号手法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術分野に関し、特に、復号手法、復号器及び受信機に関する。
【背景技術】
【０００２】
マルチホップ（Multihop）ネットワークでは、ソースノードからターゲットノードまでの路径上の中間ノードがデータをフォーワード（転送）することができ、これによって、ソースノードと、ターゲットノードとの間の通信を実現することができる。
【０００３】
図1はマルチホップネットワークにおける従来の通信方式を示す図である。図1に示すように、ノードA、Bが中間ノードSを経由してデータパケット（packet）を伝送する時に、少なくとも４つの伝送ステップ、即ち、ノードAがデータパケットaを中間ノードSに送信し、中間ノードSがデータパケットaをノードBに送信し、ノードBがデータパケットbを中間ノードSに送信し、そして、中間ノードSがデータパケットbをノードAに送信するというステップを要する。
【０００４】
図2はマルチホップネットワークにおいてネットワーク符号化による通信方式を示す図である。図2に示すように、中間ノードSで受信したデータパケットa、bに対してネットワーク符号化を行っても良く、例えば、データパケットa、bに対して排他的ORなどの代数組み合わせ演算を行い、その後、１回のブロードキャスト送信の方式でネットワーク符号化の結果
（外１）
2016092833.tif 000003
をノードA及びBに送信し、これによって、ノードA、Bは、受信した符号化結果に対して復号を行うことで、データパケットb、aをそれぞれ得ることができる。これによって分かるように、ネットワーク符号化による通信方式では、A、B間のデータの伝送は、3つのみの伝送ステップ、即ち、ノードAがデータパケットaを中間ノードSに送信し、ノードBがデータパケットbを中間ノードSに送信し、そして、中間ノードSがネットワーク符号化の結果を１回のブロードキャストの形式でノードA及びBに送信するというステップを要する。よって、データ伝送のステップ及びそれに対応するタイムスロット（time  slot）を節約することができる。
【０００５】
図2に示すようなネットワークよりも複雑なマルチホップネットワークでは、各ノードがソースノード、中間ノード、又はターゲットノードであっても良いので、各ソースノードは、生成マトリックスを採用して、受信したデータパケット又は該ノード自身が生成したデータパケットに対してネットワーク符号化を行い、そして、該ネットワーク符号化後に生成された符号化データパケットを複数のターゲットノードに送信することができ、また、各ターゲットノードは、受信した符号化データパケットに対して復号を行うことで、ソースノードからのオリジナルデータパケットを得ることができる。
【０００６】
ネットワーク符号化による通信方式では、データの伝送過程が簡略化されているが、符号化データパケットの復号プロセスは、通信時間遅延に影響を与える重要な要因となっている。
【０００７】
従来技術では、複数種類の復号手法が提案されており、例えば、文献1では、ターゲットノードは、同じ生成マトリックスにより符号化された全ての符号化データパケットを受信した後に、復号を行う。文献1及び文献2では、ED（Earliest  Decoding、ED）という方法が開示されており、即ち、ターゲットノードが、受信した線形独立な符号化データパケットが所定数量に達した後に、復号を行うことが開示されているが、該復号プロセスは、複雑なマトリックス逆演算を要する。また、文献2では、MED（Modified  Earliest  Decoding、MED）という方法も開示されており、該方法は、マトリックス逆演算の複雑度を低減することができる。
【０００８】
文献1：P.  A.  Chou、  Y.  Wu、and  K.  Jain、“Practical  Network  Coding”、the  51st  Allerton  Conference  on  Communication、Control  and  Computing、2003；
文献2：S.  von  Solms  and  A.  S.  J.  Helberg、“Modified  Earliest  Decoding  in  networks  that  implement  Random  Linear  Network  Coding”、Africa  Research  Journal、vol.  103、no.  4、pp.  165~171、Dec  2012。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述の文献1の復号手法では、全ての符号化データパケットの受信時間が、生成マトリックスの規模に正比例するため、比較的長い通信時間遅延を引き起こすことがあり、また、上述のED及びMED方法では、一定数量の符号化データパケットを受信した後のみで、マトリックス逆演算及び復号演算を行うことを要するため、通信時間遅延を増加させることがある。
【００１０】
本発明の実施例は、復号に必要な時間を短縮し、通信時間遅延を減少させることができる復号手法、復号器及び受信機を提供することを課題とする。
【課題を解決するための手段】
【００１１】
本発明の実施例の第一側面によれば、復号器が提供され、そのうち、前記復号器は、
第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化するための初期化ユニット；
符号化ベクトル及び対応する生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素のすべてを1とするための処理ユニット；及び
更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得るための復号ユニットを含む。
【００１２】
本発明の実施例の第二側面によれば、受信機が提供され、それは、上述の実施例の第一側面による上述の復号器を含む。
【００１３】
本発明の実施例の第三側面によれば、復号手法が提供され、そのうち、前記復号手法は、
第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化し；
符号化ベクトル及び対応する生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素のすべてを1とし；及び
更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得ることを含む。
【００１４】
本発明の有益な効果は、符号化ベクトルを毎回受信した時に現在の第一復号マトリックス及び第二復号マトリックスに対して処理を行うことができ、一定数量の符号化ベクトルを受信した後で復号を行う必要がないため、復号に必要な時間を節約することができる。
【図面の簡単な説明】
【００１５】
【図１】マルチホップネットワークにおける従来の通信方式を示す図である。
【図２】マルチホップネットワークにおいてネットワーク符号化による通信方式を示す図である。
【図３】実施例1における復号手法のフローチャートである。
【図４】実施例1における第一復号マトリックス及び第二復号マトリックスに対して更新を行うフローチャートである。
【図５】実施例1における第一復号マトリックス及び第二復号マトリックスに対して変換処理を行うフローチャートである。
【図６】実施例1における復号フローの一例を示す図である。
【図７】実施例1における復号フローの他の例を示す図である。
【図８】実施例2における復号器の構成図である。
【図９】実施例2における処理ユニットの構成図である。
【図１０】実施例2における変換ユニットの構成図である。
【図１１】実施例3における受信機の構成図である。
【発明を実施するための形態】
【００１６】
以下、添付した図面を参照しながら、本発明を実施するための形態を詳細に説明する。
【００１７】
本発明のシナリオでは、無線ネットワークにおける各ノードが、送信データパケットのソースノード及び受信データパケットのターゲットノードとされ得る。
【００１８】
前記ノードがソースノードとされる場合は、該ソースノードが受信した、及び/又は、それ自身が生成したK個のデータパケットに対して符号化を行い、また、このK個のデータパケットのうちの、長さが最長であるデータパケットがN桁を有し、他のオリジナルデータパケットが0で補充されてN桁になることで、K個のオリジナルデータパケットを形成するとする。これにより、生成マトリックスGを用いてこのK個のオリジナルデータパケットに対して線形組み合わせを行うことで、送信待ちの一つ又は複数の符号化データパケットを生成する。
【００１９】
前記ソースノードでは、このK個のオリジナルデータパケットがx1,x2,..,xkと表され、そのうち、xj(1≦j≦K)が0及び1からなる1×Nのベクトルであるとする。これにより、このK個のオリジナルデータパケットは、K×NのオリジナルデータマトリックスXを下式（1）に示すように形成する。
【数１】
2016092833.tif 000004
【００２０】
また、生成マトリックスGを用いて、オリジナルデータマトリックスXに対して行う符号化処理は、下式（2）と表することができる。
【数２】
2016092833.tif 000005
【００２１】
そのうち、該生成マトリックスGはN×Kのマトリックスであり、gij∈{0,1}であり、且つ、giを以て該生成マトリックスGの第i行要素からなる1×Kのベクトルを表し、即ち、生成ベクトルgi={gi1,gi2,…,gi(k-1),gk}であり、符号化マトリックスYは、符号化データパケットyiからなるマトリックスであり、各符号化データパケットyi(1≦i≦N)は、1×Nのベクトルであり、即ち、符号化ベクトルyiであり、且つ、
（外２）
2016092833.tif 000006
であり、xjは、オリジナルデータマトリックスX中の第j行のベクトルを表し、そのうち、符号化ベクトルyiは、生成ベクトルgiに対応する。
【００２２】
上式（2）では、乗法演算及び加法演算はすべてGF2上の演算であり、そのうち、GF2は2次有限体を表す。
【００２３】
前記ソースノードでは、他のノードと互いに独立してランダムに該生成マトリックスGを形成することができ、これにより、異なるノードの符号化処理は互いに独立したものになり、例えば、該ソースノードは、乱数生成器を用いて、生成マトリックスGを形成することができる。
【００２４】
ソースノードが符号化ベクトルyiを送信する時に、それに対応する生成ベクトルgiを一緒に送信しても良く、例えば、生成ベクトルgiを符号化ベクトルyiのデータヘッダー（header）として送信しても良い。或いは、予めソースノード及びターゲットノードに生成マトリックスを記憶し、そして、該ソースノードが符号化ベクトルyiを送信する時に、生成ベクトルgiの索引（Index）を一緒に送信しても良く、これにより、ターゲットノードは、該索引及び予め記憶された生成マトリックスに基づいて、該生成ベクトルgiを確定することができる。よって、送信するデータ量を減らすことができる。
【００２５】
以下、各実施例をもとに、ターゲットノードが復号を行う具体的な方式を詳しく説明する。
【実施例１】
【００２６】
本発明の実施例1は復号手法を提供する。図3は実施例1の復号手法のフローチャートであり、図3に示すように、該復号手法は次のステップを含む。
【００２７】
S301：第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化し；
S302：符号化ベクトル及び生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素のすべてを1とし；
S303：更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得る。
【００２８】
ステップS301では、第一復号マトリックスG0がK×Kのマトリックスに初期化されても良く、その要素はすべて0であり；第二復号マトリックスY0がK×Nのマトリックスに初期化されても良く、その要素はすべて0である。
【００２９】
ステップS302では、ソースノードが送信した符号化ベクトルyi及び生成ベクトル情報Igを受信し、そして、符号化ベクトルyi及び生成ベクトル情報Igに基づいて、第一復号マトリックスG0及び第二復号マトリックスY0に対して更新処理を行い、第一復号マトリックスG0が、対角要素のすべてが1である第一復号マトリックスG′に更新され、第二復号マトリックスY0が第二復号マトリックスY′に更新されるようになると、受信を停止する。
【００３０】
ステップS302では、生成ベクトル情報Igに基づいて、第一復号マトリックスG0を更新することができ、また、符号化ベクトルyiに基づいて、第二復号マトリックスY0を更新することができ、ここで、第一復号マトリックスG0及び第二復号マトリックスY0の更新方式は同じである。
【００３１】
本発明の実施例では、第一復号マトリックスG′は、下式（3）に示すような上三角マトリックス又は下式（4）に示すような下三角マトリックスであっても良く、また、下式（3）及び（4）では、g′i,j=1であり、ここで、1≦i≦k、1≦j≦kである。
【数３】
2016092833.tif 000007
【数４】
2016092833.tif 000008
【００３２】
ステップS303では、更新後に得た第一復号マトリックスG′及び第二復号マトリックスY′に基づいて、オリジナルデータマトリックスXを得る。例えば、第一復号マトリックスG′が式（3）に示すような上三角マトリックスである場合、下式（5）に示すように、オリジナルデータマトリックスX中の第j行のベクトルxjを計算することができ、そのうち、gj′は、第一復号マトリックスG′の第j行のベクトルを表し、yj′は、第二復号マトリックスY′の第j行のベクトルを表し、ここで、1≦j≦Kである。
【数５】
2016092833.tif 000009
【００３３】
また、第一復号マトリックスG′が式（4）に示すような下三角マトリックスである場合、式（5）と類似する計算方式でオリジナルデータマトリックスXを得ることができる。
【００３４】
本発明の実施例における復号手法では、符号化ベクトル及び対応する生成ベクトル情報を受信した後に、直ぐに第一復号マトリックス及び第二復号マトリックスに対して更新処理を行うことができ、また、第一復号マトリックスを、対角要素が1である第一復号マトリックスG′に更新したら、直ぐに受信を停止することができ、そして、簡単な代数演算でオリジナルデータマトリックスXを取得することで、復号を完成させることができる。よって、復号に必要な時間を短縮し、復号の演算量を低減することができる。
【００３５】
以下、ステップS302について詳細に説明する。なお、以下の説明は例示だけであり、本発明の実施例はこれに限定されず、言い換えると、他の方式でステップS302を実施することもできる。
【００３６】
図4はステップS302の一つのフローチャートであり、図4に示すように、ステップS302は次のステップを含む。
【００３７】
S401：符号化ベクトル及び生成ベクトル情報を受信し；
S402：前記生成ベクトル情報に基づいて、前記符号化ベクトルに対応する生成ベクトルを確定し；
S403：前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行い；
S404：変換後の第一復号マトリックスの対角要素のすべてが1であるかどうかを判断し、「はい」の場合、処理を終了し、「いいえ」の場合、ステップ401に戻り、次の一つの符号化ベクトル及び生成ベクトル情報を継続して受信する。
【００３８】
本発明の実施例では、上述のように、上述の生成ベクトル情報は、生成ベクトルそのものであっても良く、生成ベクトルの索引であっても良い。ステップS401で受信した生成ベクトル情報Igが生成ベクトルgiである時に、ステップS402では、直接的に、受信した該生成ベクトル情報に基づいて、符号化ベクトルyiに対応する生成ベクトルgiを確定しても良く；ステップS401で受信した生成ベクトル情報Igが生成ベクトルに対応する索引である時に、上述のように、ステップS402では、受信した該索引及び予め記憶された生成マトリックスに基づいて、符号化ベクトルyiに対応する生成ベクトルgiを確定しても良い。もちろん、本発明の実施例はこれに限定されず、言い換えると、他の方式で該生成ベクトルgiを確定しても良い。
【００３９】
ステップS403では、符号化ベクトルyi及び対応する生成ベクトルgiに基づいて、現在の第一復号マトリックスG0及び第二復号マトリックスY0に対して変換処理を行う。本発明の実施例では、生成ベクトルgiのうちの一番目又は最後の一つの1の、該生成ベクトルにおける列番号に基づいて、現在の第一復号マトリックスG0及び第二復号マトリックスY0のうちのどの行に対して取り替えを行うかを確定し、そして、該生成ベクトルgi及び該符号化ベクトルyiを用いて第一復号マトリックスG0及び第二復号マトリックスY0のうちの対応する行のベクトルを取り替える。言い換えると、該生成ベクトルgi及び該符号化ベクトルyiをそれぞれ用いて、第一復号マトリックスG0及び第二復号マトリックスY0に対して同じ変換処理を行うことができる。
【００４０】
本実施例では、該変換処理が行われていない場合、ステップS403中の現在の第一復号マトリックスG0及び第二復号マトリックスY0は、初期化された第一復号マトリックスG0及び第二復号マトリックスY0であっても良く、該変換処理が行われている場合、ステップS403中の現在の第一復号マトリックスG0及び第二復号マトリックスY0は、前回変換処理後に得られた第一復号マトリックスG0及び第二復号マトリックスY0であっても良い。
【００４１】
ステップS404では、第一復号マトリックスが、対角要素の全てが1である第一復号マトリックスG′に更新されているかどうかを判断し、「はい」の場合、新しい符号化ベクトルyi及び生成ベクトル情報Igの受信を停止し、「いいえ」の場合、ステップS401に戻り、次の一つの符号化ベクトル及び生成ベクトル情報を受信する。
【００４２】
以下、図面をもとに、ステップS403の更新処理について詳しく説明する。なお、以下の説明は例示だけであり、本発明の実施例はこれに限定されず、言い換えると、他の方式でステップS403を実施することもできる。
【００４３】
図5に示すように、一つの実施方式では、ステップS403は次のステップを含んでも良い。
【００４４】
S501：前記生成ベクトルのうちの一番目又は最後の一つの1の、前記生成ベクトルにおける列番号を抽出し；
S502：現在の第一復号マトリックスの対角要素のうちの、行番号が前記列番号と同じである要素が0であるかどうかを判断し；
S503：前記要素が0である時に、現在の第一復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルを前記生成ベクトルに取り替え、また、現在の第二復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルを前記符号化ベクトルに取り替える。
【００４５】
ステップS501では、抽出したのが生成ベクトルgiのうちの一番目の列番号aであれば、最終的に得た第一復号マトリックスG′は上式（3）に示すような上三角マトリックスであり、抽出したのが生成ベクトルgi中の最後の一つ1の列番号aである場合、最終的に得た第一復号マトリックスG′は上式（4）に示すような下三角マトリックスである。
【００４６】
ステップS502では、現在の第一復号マトリックスG0の対角要素のうちの、行番号が該列番号aと同じである要素G0(a，a)が0であるかどうかを判断し、0である場合、現在の第一復号マトリックスG0の第a行のベクトルに対して取り替え処理を行う必要があることを意味する。
【００４７】
ステップS503では、ステップS502で要素G0(a，a)が0であると判断した場合、現在の第一復号マトリックスG0のうちの第a行のベクトルg0aを該生成ベクトルgiに取り替え、また、現在の第二復号マトリックスY0のうちの第a行のベクトルy0aを該符号化ベクトルyiに取り替え、即ち、該生成ベクトルgi及び該符号化ベクトルyiをそれぞれ使用して、現在の第一復号マトリックスG0及び第二復号マトリックスY0に対して同じ変換操作を行うことができる。
【００４８】
本実施例では、図5に示すように、ステップS403は更に次のステップを含んでも良い。
【００４９】
S504：前記要素が0でない時に、生成ベクトルと、現在の第一復号マトリックスのうちの行番号が前記列番号と同じである行のベクトルとに対して線形演算を行うことで、一つの新しい生成ベクトルを生成し、そして、前記新しい生成ベクトルを前記生成ベクトルとし、また、前記符号化ベクトルと、現在の第二復号マトリックスのうちの行番号が前記列番号と同じである行のベクトルとに対して前記線形演算を行うことで、一つの新しい符号化ベクトルを生成し、そして、前記新しい符号化ベクトルを前記符号化ベクトルとし；
S505：前記新しい生成ベクトルの要素のすべてがゼロでない時に、戻って再び前記抽出処理を行う。
【００５０】
ステップS504では、ステップS502で要素G0(a，a)が0でないと判断した場合、現在の第一復号マトリックスG0の第a行のベクトルが既に前の更新過程で取り替えられたことを意味するので、生成ベクトルgiと、現在の第一復号マトリックスG0のうちの第a行のベクトルg0aとに対して線形演算を行うことで、一つの新しい生成ベクトルg0aiを取得し、そして、該新しい生成ベクトルを要処理の生成ベクトルgiとし、同様に、符号化ベクトルyiと、現在の第二復号マトリックスのうちの第a行のベクトルy0aとに対して線形演算を行うことで、一つの新しい符号化ベクトルy0aiを取得し、そして、該新しい符号化ベクトルを要処理の符号化ベクトルyiとする。
【００５１】
本発明の実施例では、ステップS504での線形演算は例えば、排他的OR演算であっても良く、これにより、新しい生成ベクトルgi及び新しい符号化ベクトルyiは、それぞれ、下式（6）、（7）で表すことができる。
【数６】
2016092833.tif 000010
【数７】
2016092833.tif 000011
【００５２】
ステップS505では、該新しい生成ベクトルgiの要素のすべてがゼロでない時に、ステップS501に戻って再び生成ベクトルgiに対しての列番号の抽出及び後続の処理を行う。
【００５３】
また、更新後の生成ベクトルgiの要素のすべてがゼロである場合、ステップS401に戻って再び受信ステップ及び後続の更新ステップを行う。
【００５４】
本実施例では、ステップS504の前に、ステップS403は更に、次のステップS506（図示せず）を有しても良い。
【００５５】
S506：前記要素が0でない時に、前記生成ベクトルのハミング重みが、現在の第一復号マトリックスのうちの行番号が前記列番号と同じである行のベクトルのハミング重みよりも小さい場合、前記第一復号マトリックスのうちの前記行のベクトルと、前記生成ベクトルとを互いに交換し（互換し）、また、前記第二復号マトリックスのうちの前記行のベクトルと、前記符号化ベクトルとを互いに交換し、そして、互いに交換された結果に対して上述の線形演算を行う。
【００５６】
ステップS506では、要素G0(a，a)が0でない場合、更に生成ベクトルgiのハミング重み（hamming  weight）w(gi)と、ベクトルg0aのハミング重みw(g0a)とを比較しても良く、w(gi)＜w(g0a)の場合、生成ベクトルgiのうちの1の数量がベクトルg0aのうちの1の数量よりも少ないことを意味するので、計算量を低減するために、生成ベクトルgiと、ベクトルg0aとを互換し、また、符号化ベクトルyiと、ベクトルy0aとを互換しても良い。その後、ステップS504により、互換後の結果に対して線形演算を行う。
【００５７】
また、w(gi)≧w(g0a)の場合、生成ベクトルgiのうちの1の数量がベクトルg0aのうちの1の数量以上であることを意味するので、互換処理を行う必要がなく、直接ステップS504に入る。
【００５８】
本実施例では、上述のステップS506により、第一復号マトリックスG′中の1の数量を減少させることができ、これにより、上述の式（5）を採用してオリジナルデータマトリックスXを計算する時の計算量は比較的に小さい。
【００５９】
以下、図面及び実例を参照して、本発明の完全な復号フローについて詳しく説明する。なお、以下の説明は例示にすぎず、本発明の実施例はこれに限定されず、言い換えると、該復号フローは他の変形例を有しても良い。
【００６０】
図6は、本発明の実施例1における復号フローチャートの一例である。図6に示すように、該復号フローは以下のステップを含む。
【００６１】
S601：第一復号マトリックス及び第二復号マトリックスを初期化し、例えば、初期化後の第一復号マトリックスG0は７×７のマトリックスであっても良く、その要素はすべて0であり；初期化後の第二復号マトリックスY0は７×Nのマトリックスであっても良く、その要素はすべて0である。
【００６２】
S602：符号化ベクトルyi及び該符号化ベクトルyiと一緒に伝送されている生成ベクトルgiを受信し、例えば、第m回受信において得た生成ベクトルはgi={0,0,0,1,0,1,1}であり、mは自然数である。
【００６３】
S603：該生成ベクトルの一番目又は最後の一つの１の列番号aを抽出し、例えば、今回受信した生成ベクトルgi={0,0,0,1,0,1,1}について言えば、その一番目の１の列番号が４であるため、a=4である。
【００６４】
S604：現在の第一復号マトリックスG0中の要素G0(a，a)が0であるかどうかを判断し、例えば、G0(4，4)が0であるかどうかを判断することができ、ここで、現在の第一復号マトリックスが初期化後に未だ更新されていないマトリックスであり、即ち、G0の各要素が0であるとしても良く、この場合、ステップS604の判断結果がG0(a，a)=0であり、そして、ステップS605に進む。
【００６５】
S605：現在の第一復号マトリックスG0の第a行上のベクトルg0aをgiに取り替え、また、現在の第二復号マトリックスY0の第a行上のベクトルy0aをyiに取り替え、例えば、現在の第一復号マトリックスG0の第4行上のベクトルをgi={0,0,0,1,0,1,1}に取り替え、また、現在の第二復号マトリックスY0の第4行上のベクトルをyiに取り替えることができ、そのうち、今回の取り替え後のG0は、下式（8）に示すようなマトリックスであっても良い。
【数８】
2016092833.tif 000012
【００６６】
上式（8）に示すような今回の取り替え後の第一復号マトリックスG0のうち、g0a={0,0,0,1,0,1,1}である。
【００６７】
S606：今回の取り替え後の第一復号マトリックスG0の対角要素が全て1であるかどうかを判断し、「はい」の場合、ステップS607に進み、オリジナルデータを計算し、例えば、上述の式（5）を採用して計算を行っても良く、判断結果が「いいえ」の場合、ステップS602に戻り、再び受信及後続のステップを行い、例えば、上式（8）の第一復号マトリックスG0について言えば、その対角要素の全てが0でないため、ステップS606の判断結果が「いいえ」であり、そして、ステップS602に戻り、第m+1回の受信を行う。
【００６８】
第m+1回の受信ステップS602で得た生成ベクトルがgi={0,0,0,1,1,1,0}であるとし、ステップS603で抽出にて得た該生成ベクトルの一番目の１の列番号も4であり、ステップS604において現在の第一復号マトリックスG0が式（8）に示すようなマトリックスであり、そのうち、G0(a，a)=1であるので、ステップS604の判断結果が「いいえ」であり、そして、ステップS608に進む。
【００６９】
S608：生成ベクトルgiと、現在の第一復号マトリックスG0中の第a行上のベクトルg0aとに対して線形演算を行い、一つの新しい生成ベクトルg0aiを取得し、そして、該新しい生成ベクトルを生成ベクトルgiとし、また、符号化ベクトルyiと、現在の第二復号マトリックス中の第a行上のベクトルy0aとに対して線形演算を行い、一つの新しい符号化ベクトルy0aiを取得し、そして、該新しい符号化ベクトルを符号化ベクトルyiとする。例えば、gi={0,0,0,1,1,1,0}であり、且つ、g0a={0,0,0,1,0,1,1}であれば、
（外３）
2016092833.tif 000013
である。
【００７０】
S609：この時の生成ベクトルgiの要素が全て0であるかどうかを判断し、「はい」の場合、ステップS602に戻り、第m+2回の受信を行い、「いいえ」の場合、ステップS603に戻り、この時の生成ベクトルgiに対して抽出処理を行う。例えば、gi={0,0,0,0,1,0,1}の場合、S609の判断結果が「いいえ」であるため、ステップS603に戻る。
【００７１】
続いて、ステップS603で、更新後のgiの一番目の１の列番号として5を抽出する。
【００７２】
ステップS604で、式（8）に示すような現在の第一復号マトリックス中のG0(5，5)が0であると判断し、そして、ステップS605に進む。
【００７３】
ステップS605で、現在の第一復号マトリックスG0の第5行上のベクトルを更新後のgiに取り替え、また、現在の第二復号マトリックスY0の第5行上のベクトルを更新後のyiに取り替えることができ、そのうち、今回の取り替え後のG0は、下式（9）に示すようなマトリックスであっても良い。
【数９】
2016092833.tif 000014
【００７４】
上式（9）に示すような今回の変換後の第一復号マトリックスG0のうち、g0a={0,0,0,0,1,0,1}である。
【００７５】
図7は本発明の実施例1の復号フローチャートの他の例である。本実施例では、図7の図6と同じステップについて説明せず、両者の異なる部分のみについて説明する。
【００７６】
図7に示すように、ステップS601〜S609の他に、更にステップS701及びS702を含む。ステップS604の判断が「いいえ」である時に、ステップS701を実行する。
【００７７】
ステップS701では、生成ベクトルgiのハミング重み（hamming  weight）w(gi)が、現在の第一復号マトリックスG0中のベクトルg0aのハミング重みw(g0a)よりも小さいかどうかを判断し、「はい」の場合、ステップS702に進み、「いいえ」の場合、ステップS608に進む。例えば、gi={0,0,0,1,1,0,0}であり、且つ、g0a={0,0,0,1,0,1,1}であれば、w(gi)＜w(g0a)であり、この時に、ステップS702に進む。
【００７８】
ステップS702では、生成ベクトルgiとベクトルg0aとを互換し、また、符号化ベクトルyiとベクトルy0aとを互換し、その後、互換後の結果に対してステップS608及びその後続の処理を行う。例えば、互換後に得た生成ベクトルgiとベクトルg0aは、それぞれ、gi={0,0,0,1,0,1,1}とg0a={0,0,0,1,1,0,0}である。
【００７９】
本発明の実施例における復号手法では、符号化ベクトル及び対応する生成ベクトル情報を受信した後に、直ぐに第一復号マトリックス及び第二復号マトリックスに対して更新処理を行うことができ、また、第一復号マトリックスを、対角要素が1である第一復号マトリックスG′に更新したら、直ぐに受信を停止することができ、そして、簡単な代数演算でオリジナルデータマトリックスXを得ることで、復号を完成させることができる。よって、復号に必要な時間を短縮し、復号の演算量を低減することができる。また、ハミング重みが比較的小さい符号化ベクトルを以て、第一復号マトリックス中の対応するベクトルを取り替えることにより、復号の演算量をより一層低減することができる。
【実施例２】
【００８０】
本発明の実施例2は復号器を提供し、それは実施例1の復号手法に対応するものである。図8は実施例2における復号器の構成図である。図8に示すように、該復号器800は、初期化ユニット801、処理ユニット802、及び復号ユニット803を含む。
【００８１】
そのうち、初期化ユニット801は、第一復号マトリックスG0及び第二復号マトリックスY0を全零マトリックスに初期化し；処理ユニット802は、符号化ベクトルyi及び生成ベクトル情報Igを受信し、該符号化ベクトル及び該生成ベクトル情報に基づいて、第一復号マトリックス及び第二復号マトリックスを更新することで、該第一復号マトリックスの対角要素が全て1であるようにさせ；復号ユニット803は、更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得る。
【００８２】
図9は実施例2の処理ユニット802の構成図である。図9に示すように、該処理ユニット802は、受信ユニット901、確定ユニット902、変換ユニット903、及び判断ユニット904を含む。
【００８３】
そのうち、受信ユニット901は、符号化ベクトル及び生成ベクトル情報を受信し；確定ユニット902は、前記生成ベクトル情報に基づいて、前記符号化ベクトルに対応する生成ベクトルを確定し；変換ユニット903は、前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行い；判断ユニット904は、変換後の前記第一復号マトリックスの対角要素が全て1であるかどうかを判断し、「はい」の場合、処理を終了し、「いいえ」の場合、前記受信ユニットに、次に一つの符号化ベクトル及び生成ベクトル情報を続けて受信させる。
【００８４】
図10は実施例2の変換ユニット903の構成図である。図10に示すように、該変換ユニットは、抽出ユニット1001、第一判断サブユニット1002、及び第一更新ユニット1003を含む。
【００８５】
そのうち、抽出ユニット1001は、前記生成ベクトル中の一番目又は最後の一つの1の前記生成ベクトルにおける列番号を抽出し；第一判断サブユニット1002は、現在の第一復号マトリックスの対角要素のうちの、行番号が前記列番号と同じである要素が0であるかどうかを判断し；第一更新ユニット1003は、第一判断サブユニット1002の判断結果が「前記要素が0である」の時に、現在の第一復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルを前記生成ベクトルに取り替え、また、現在の第二復号マトリックスのうちの、行番号が前記列番号と同じである行のベクトルを前記符号化ベクトルに取り替える。
【００８６】
図10に示すように、該変換ユニット903は更に、計算ユニット1004及び第二判断サブユニット1005を含む。
【００８７】
そのうち、計算ユニット1004は、第一判断サブユニット1002の判断結果が「前記要素が0でない」の時に、前記生成ベクトルと、現在の第一復号マトリックスのうちの行番号が前記列番号と同じである行のベクトルとに対して線形演算を行うことで、一つの新しい生成ベクトルを取得し、そして、前記新しい生成ベクトルを前記生成ベクトルとし、また、前記符号化ベクトルと、現在の第二復号マトリックスのうちの行番号が前記列番号と同じである行のベクトルとに対して線形演算を行うことで、一つの新しい符号化ベクトルを取得し、そして、前記新しい符号化ベクトルを前記符号化ベクトルとする。
【００８８】
第二判断サブユニット1005は、前記新しい生成ベクトルの要素が全てゼロであるかどうかを判断し、「いいえ」の場合、前記抽出ユニットが再び前記新しい生成ベクトルに対して抽出処理を行う。
【００８９】
図10に示すように、該変換ユニット903は更に第二更新ユニット1006を含んでも良い。第一判断サブユニット1002の判断結果が「前記要素が0でない」の時に、前記生成ベクトルのハミング重みが、第一復号マトリックス中の行番号が前記列番号と同じである行のベクトルのハミング重みよりも小さい場合、該第二更新ユニット1006は、前記第一復号マトリックス中の前記行のベクトルと、前記生成ベクトルとを互換し、また、前記第二復号マトリックス中の前記行のベクトルと、前記符号化ベクトルとを互換し、そして、前記計算ユニットは上述の線形演算を行う。
【００９０】
本発明の実施例2では、復号器800の各ユニットの作動原理は、実施例1中の各ステップに対応するため、ここでは詳しい説明を省略する。
【００９１】
本発明の実施例2における復号器によれば、符号化ベクトル及び対応する生成ベクトル情報を受信した後に、直ぐに第一復号マトリックス及び第二復号マトリックスに対して更新処理を行うことができ、また、第一復号マトリックスを、対角要素が1である第一復号マトリックスG′に更新したら、直ぐに受信を停止することができ、そして、簡単な代数演算によりオリジナルデータマトリックスXを得ることで、復号を完成させることができる。よって、復号に必要な時間を短縮し、復号の演算量を低減することができる。また、ハミング重みが比較的小さい符号化ベクトルにより第一復号マトリックス中の対応するベクトルを取り替えることで、復号の演算量をより一層低減することができる。
【実施例３】
【００９２】
本発明の実施例3は受信機を提供し、該受信機は実施例2に記載の復号器を含む。
【００９３】
図11は本発明の実施例における受信機の構成図である。図11に示すように、受信機1100は、中央処理装置（CPU）1101及び記憶装置1102を含んでも良く、記憶装置1102は、中央処理装置1101にカップリングされる。そのうち、該記憶装置1102は、各種データを記憶することができ、また、情報処理用プログラムを記憶しても良い。また、中央処理装置1101の制御により該プログラムを実行することにより、ソースノードが送信した各種情報を受信し、且つ、他のノードに情報を送信することもできる。
【００９４】
一実施方式では、復号器の機能が中央処理装置200に集約され得る。そのうち、中央処理装置1101は、第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化し；符号化ベクトル及び対応する生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素が全て1であるようにさせてから、受信を停止し；そして、更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得るよう構成されても良い。
【００９５】
他の実施方式では、復号器が中央処理装置と独立して配置されても良く、例えば、復号器を中央処理装置1101と接続されるチップとして構成し、そして、中央処理装置の制御により復号器の機能を実現しても良い。
【００９６】
また、図11に示すように、受信器1100は更にアンテナ1103などを含んでも良く、そのうち、このような部品の機能は従来技術と類似するため、ここでは詳しい説明が省略される。なお、受信機1100は、図11に示すような全ての部品を含む必要がない。また、受信機1100は更に図11に無い部品を含んでも良く、これについては従来技術を参照することができる。
【００９７】
本発明の実施例は更にコンピュータ可読プログラムを提供し、そのうち、受信機中で前記プログラムを実行する時に、前記プログラムは、コンピュータに、受信機中で実施例1に記載の復号手法を実行させる。
【００９８】
本発明の実施例は更に、コンピュータ可読プログラムを記憶した記憶媒体を提供し、そのうち、前記コンピュータ可読プログラムは、コンピュータに、受信機中で実施例1に記載の復号手法を実行させる。
【００９９】
本発明の以上の装置及び方法は、ハードウェアにより実現することができ、また、ハードウェアとソフトウェアとの組み合わせにより実現することもできる。本発明は、このようなコンピュータ可読プログラムにも関し、即ち、該プログラムは、ロジック部品により実行される時に、該ロジック部品に、上述の装置又は構成部品を実現させることができ、或いは、該ロジック部品に、上述の各種の方法又はステップを実現させることができる。本発明は更に、上述のプログラムの記憶媒体、例えば、ハードディスク、磁気ディスク、光ディスク、DVD、flashメモリなどにも関する。
【０１００】
また、上述の各実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１０１】
（付記1）
復号器であって、
第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化するための初期化ユニット；
符号化ベクトル及び生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素が全て1であるようにさせるための処理ユニット；及び
更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得るための復号ユニットを含む、復号器。
【０１０２】
（付記2）
付記1に記載の復号器であって、
前記処理ユニットは、
符号化ベクトル及び生成ベクトル情報を受信するための受信ユニット；
前記生成ベクトル情報に基づいて、前記符号化ベクトルに対応する生成ベクトルを確定するための確定ユニット；
前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行うための変換ユニット；及び
変換後の前記第一復号マトリックスの対角要素が全で１であるかどうかを判断し、はいの場合、処理を終了し、いいえの場合、前記受信ユニットが継続して次の一つの符号化ベクトル及び生成ベクトル情報を受信するようにさせるための判断ユニットを含む、復号器。
【０１０３】
（付記3）
付記2に記載の復号器であって、
前記生成ベクトル情報は、生成ベクトルであり、前記確定ユニットは、直接的に、前記受信ユニットが受信した生成ベクトル情報に基づいて、前記生成ベクトルを確定する、復号器。
【０１０４】
（付記4）
付記2に記載の復号器であって、
前記生成ベクトル情報は、前記生成ベクトルに対応する索引であり、前記確定ユニットは、前記受信ユニットが受信した前記索引及び予め記憶された生成マトリックスに基づいて、前記生成ベクトルを確定する、復号器。
【０１０５】
（付記5）
付記2に記載の復号器であって、
前記変換ユニットは、
前記生成ベクトル中の一番目又は最後の一つの1の、前記生成ベクトルにおける列番号を抽出するための抽出ユニット；
現在の第一復号マトリックスの対角要素中の、行番号が前記列番号と同じである要素が0であるかどうかを判断するための第一判断サブユニット；及び
前記要素が0である時に、現在の第一復号マトリックス中の行番号が前記列番号と同じである行のベクトルを前記生成ベクトルに取り替え、また、現在の第二復号マトリックス中の行番号が前記列番号と同じである行のベクトルを前記符号化ベクトルに取り替えるための第一更新ユニットを含む、復号器。
【０１０６】
（付記6）
付記5に記載の復号器であって、
前記変換ユニットは、更に、
前記要素が0でない時に、前記生成ベクトルと、現在の第一復号マトリックス中の行番号が前記列番号と同じである行のベクトルとに対して線形演算を行うことで、一つの新しい生成ベクトルを取得し、そして、前記新しい生成ベクトルを前記生成ベクトルとし、また、前記符号化ベクトルと、現在の第二復号マトリックス中の行番号が前記列番号と同じである行のベクトルとに対して線形演算を行うことで、一つの新しい符号化ベクトルを取得し、そして、前記新しい符号化ベクトルを前記符号化ベクトルとするための計算ユニット；及び
前記新しい生成ベクトルの要素が全てゼロであるかどうかを判断し、いいえの場合、前記抽出ユニットが前記新しい生成ベクトルに対して抽出処理を行うようにさせるための第二判断サブユニットを含む、復号器。
【０１０７】
（付記7）
付記6に記載の復号器であって、
前記変換ユニットは、更に、
前記要素が0でない時に、前記生成ベクトルのハミング重みが、現在の第一復号マトリックス中の行番号が前記列番号と同じである行のベクトルのハミング重みよりも小さい場合、前記第一復号マトリックス中の前記行のベクトルと、前記生成ベクトルとを互換し、また、前記第二復号マトリックス中の前記行のベクトルと、前記符号化ベクトルとを互換し、そして、前記計算ユニットが上述の演算を行うようにさせるための第二更新ユニットを含む、復号器。
【０１０８】
（付記8）
受信機であって、
復号器を含み、そのうち、前記復号器は、
第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化し；
符号化ベクトル及び生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素が全て1であるようにさせ；及び
更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得るように構成される、受信機。
【０１０９】
（付記9）
復号手法であって、
第一復号マトリックス及び第二復号マトリックスを全零マトリックスに初期化し；
符号化ベクトル及び生成ベクトル情報を受信し、前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することで、前記第一復号マトリックスの対角要素が全て1であるようにさせ；及び
更新後の第一復号マトリックス及び第二復号マトリックスに基づいてオリジナルデータを得ることを含む、復号手法。
【０１１０】
（付記10）
付記9に記載の復号手法であって、
前記符号化ベクトル及び前記生成ベクトル情報に基づいて、前記第一復号マトリックス及び前記第二復号マトリックスを更新することは、
符号化ベクトル及び生成ベクトル情報を受信し；
前記生成ベクトル情報に基づいて、前記符号化ベクトルに対応する生成ベクトルを確定し；
前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行い；及び
変換後の前記第一復号マトリックスの対角要素が全て1であるかどうかを判断し、はいの場合、処理を終了し、いいえの場合、継続して次の一つの符号化ベクトル及び生成ベクトル情報を受信することを含む、復号手法。
【０１１１】
（付記11）
付記10に記載の復号手法であって、
前記生成ベクトル情報が生成ベクトルである時に、直接的に、受信した生成ベクトル情報に基づいて、前記生成ベクトルを確定する、復号手法。
【０１１２】
（付記12）
付記10に記載の復号手法であって、
前記生成ベクトル情報が生成ベクトルに対応する索引である時に、受信した前記索引及び予め記憶された生成マトリックスに基づいて、前記生成ベクトルを確定する、復号手法。
【０１１３】
（付記13）
付記10に記載の復号手法であって、
前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行うことは、
前記生成ベクトル中の一番目又は最後の一つの１の、前記生成ベクトルにおける列番号を抽出し；
現在の第一復号マトリックスの対角要素中の行番号が前記列番号と同じである要素が0であるかどうかを判断し；
前記要素が0である時に、現在の第一復号マトリックス中の行番号が前記列番号と同じである行のベクトルを前記生成ベクトルに取り替え、また、現在の第二復号マトリックス中の行番号が前記列番号と同じである行のベクトルを前記符号化ベクトルに取り替えることを含む、復号手法。
【０１１４】
（付記14）
付記13に記載の復号手法であって、
前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行うことは、更に、
前記要素が0でない時に、前記生成ベクトルと、現在の第一復号マトリックス中の行番号が前記列番号と同じである行のベクトルとに対して線形演算を行うことで、一つの新しい生成ベクトルを取得し、そして、前記新しい生成ベクトルを前記生成ベクトルとし、また、前記符号化ベクトルと、現在の第二復号マトリックス中の行番号が前記列番号と同じである行のベクトルとに対して前記線形演算を行うことで、一つの新しい符号化ベクトルを取得し、そして、前記新しい符号化ベクトルを前記符号化ベクトルとし；及び
前記新しい生成ベクトルの要素が全てゼロでない時に、再び前記抽出処理を行うことを含む、復号手法。
【０１１５】
（付記15）
付記14に記載の復号手法であって、
前記符号化ベクトル及び前記生成ベクトルに基づいて、現在の第一復号マトリックス及び現在の第二復号マトリックスに対して変換を行うことは、更に、
前記要素が0でない時に、前記生成ベクトルのハミング重みが、現在の第一復号マトリックス中の行番号が前記列番号と同じである行のベクトルのハミング重みよりも小さい場合、前記第一復号マトリックス中の前記行のベクトルと、前記生成ベクトルとを互換し、また、前記第二復号マトリックス中の前記行のベクトルと、前記符号化ベクトルとを互換し、そして、互換後の結果に基づいて上述の線形演算を行うことを含む、復号手法。
【０１１６】
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の技術的範囲に属する。
【図１】
2016092833.tif 000015
【図２】
2016092833.tif 000016
【図３】
2016092833.tif 000017
【図４】
2016092833.tif 000018
【図５】
2016092833.tif 000019
【図６】
2016092833.tif 000020
【図７】
2016092833.tif 000021
【図８】
2016092833.tif 000022
【図９】
2016092833.tif 000023
【図１０】
2016092833.tif 000024
【図１１】
2016092833.tif 000025