(57)【要約】連鎖反応符号を処理するための方法は、まず、等級２以上の出力シンボル（例えば、自身が２つ以上の入力シンボルに関連している出力シンボル）に関連しているソースシンボルを選択し、例えば一次方程式のシステムを解くことによってこのシンボルの値を回復し、その後、選択されたソースシンボルをデアクティブ化して、等級１の出力シンボルを生成することを含む。このイナクティブ化処理は、等級１の出力シンボルが識別されるまで連続して、および／または復号化処理が等級１の出力シンボルを見つけることができない場合にはいつでも、繰り返して行うことができる。
2006512790.tif 000002
【特許請求の範囲】
【請求項１】
複数の出力シンボルおよび複数のソースシンボルを有する連鎖反応符号において、各出力シンボルは１つ以上のソースシンボルに関連しており、１つ以上のソースシンボルに関連している出力シンボルは、等級１以上の出力シンボルと称され、少なくとも１つの出力シンボルは、少なくとも２つのソースシンボルに関連しており、２つ以上のソースシンボルに関連している出力シンボルは、等級２以上の出力シンボルと称され、少なくとも１つのソースシンボルはアクティブであるとして示され、連鎖反応符号を処理するための方法であって、
（ｉ）等級２以上の出力シンボルに関連しているアクティブなソースシンボルの１つを選択することと、
（ｉｉ）等級２以上の出力シンボルに関連している選択されたソースシンボルをデアクティブ化することとを含む、方法。
【請求項２】
（ｉｉ）選択されたソースシンボルをデアクティブ化することにより、デアクティブ化されたソースシンボルおよび１つ以上の回復可能なソースシンボルが生じ、各回復可能なソースシンボルは、等級１の出力シンボルに関連している、請求項１に記載の方法。
【請求項３】
等級２以上の出力シンボルに関連しているソースシンボルが連鎖反応符号に残存している場合、（ｉ）〜（ｉｉ）を繰り返すことをさらに含む、請求項２に記載の方法。
【請求項４】
（ｉ）〜（ｉｉ）を１回以上繰り返して、１つ以上のデアクティブ化されたソースシンボルおよび１つ以上の回復可能なソースシンボルを生じさせることをさらに含む、請求項２に記載の方法。
【請求項５】
アクティブなソースシンボルの１つを選択することは、出力シンボルの最大数に関連しているアクティブなソースシンボルを選択することを含む、請求項１に記載の方法。
【請求項６】
アクティブなソースシンボルの１つを選択することは、等級２以上の出力シンボルにそれぞれ関連しているアクティブなソースシンボルの群からアクティブなソースシンボルをランダムに選択することを含む、請求項１に記載の方法。
【請求項７】
（ｉ）アクティブなソースシンボルの１つを選択することは、
（ａ）アクティブなソースシンボルを識別することと、
（ｂ）識別されたアクティブなソースシンボルがデアクティブ化される場合に潜在的に回復可能なアクティブなソースシンボルの数を決定することと、
（ｃ）潜在的に回復可能なソースシンボルの数が所定数を超えない場合、（ａ）および（ｂ）を他のアクティブなソースシンボルについて繰り返すこととを含む、請求項１に記載の方法。
【請求項８】
潜在的に回復可能なソースシンボルの数が所定数を超えない場合、デアクティブ化されたソースシンボルを再アクティブ化することと、
他のアクティブなソースシンボルを選択することとをさらに含む、請求項３に記載の方法。
【請求項９】
（ｉ）等級２以上の出力シンボルに関連しているアクティブなソースシンボルの１つを選択することは、
アクティブなソースシンボルの所定数にそれ自身が関連している出力シンボルに関連しているソースシンボルを識別することを含み、
選択されたソースシンボルをデアクティブ化することは、識別された出力シンボルに関連しているアクティブなソースシンボルのうちの１つ以外はすべてデアクティブ化することを含み、残りのアクティブなソースシンボルは、デアクティブ化されていないソースシンボルを含む、請求項１に記載の方法。
【請求項１０】
デアクティブ化されていないソースシンボルは、出力シンボルの最小の数に関連している、請求項９に記載の方法。
【請求項１１】
（ｉ）アクティブなソースシンボルの１つを選択することは、第１の出力シンボルに関連しているアクティブなソースシンボルを選択することを含み、第１の出力シンボルは、２つのアクティブなソースシンボルの第１の組に関連している、請求項１に記載の方法。
【請求項１２】
少なくとも１つの第１の組の２つのソースシンボルが、第２の出力シンボルに関連しており、第２の出力シンボルは、２つのアクティブなソースシンボルの第２の組に関連している、請求項１１に記載の方法。
【請求項１３】
少なくとも１つの第２の組の２つのソースシンボルが、第３の出力シンボルに関連しており、第３の出力シンボルは、２つのアクティブなソースシンボルの第３の組に関連している、請求項１２に記載の方法。
【請求項１４】
（ｉｉｉ）１つのアクティブなソースシンボルだけに関連している少なくとも１つの出力シンボルを識別することと、
（ｉｖ）識別された出力シンボルに関連しているアクティブなソースシンボルを回復することと、
（ｖ）１つのアクティブなソースシンボルだけに関連している出力シンボルが残存していないと決定することとをさらに含む、請求項１に記載の方法。
【請求項１５】
１つのソースシンボルだけに関連している各識別された出力シンボルについて、（ｉｖ）〜（ｖ）を繰り返すことをさらに含む、請求項１４に記載の方法。
【請求項１６】
（ｉｉｉ）１つ以上のデアクティブ化されたソースシンボルの値を回復することと、
（ｉｖ）１つ以上のデアクティブ化されたソースシンボルの回復された値に基づき、１つ以上の回復可能なソースシンボルの値を決定することとをさらに含む、請求項２に記載の方法。
【請求項１７】
（ｉ）〜（ｉｖ）を１回以上繰り返すことをさらに含む、請求項１６に記載の方法。
【請求項１８】
（ｉｉｉ）１つ以上のデアクティブ化されたソースシンボルの値を回復することは、デアクティブ化されたソースシンボルのすべての値を回復することを含む、請求項１６に記載の方法。
【請求項１９】
（ｉｖ）１つ以上のソースシンボルの値を決定することは、ソースシンボルのすべての値を決定することを含む、請求項１６に記載の方法。
【請求項２０】
（ｉ）〜（ｉｖ）を１回以上繰り返すことは、アクティブなソースシンボルが残存しなくなるまで（ｉ）〜（ｉｖ）を繰り返すことを含む、請求項１７に記載の方法。
【請求項２１】
所定数のソースシンボルをアクティブであるとして示すことをさらに含む、請求項１７に記載の方法。
【請求項２２】
所定数のソースシンボルをアクティブであるとして示すことは、すべてのソースシンボルをアクティブであるとして示すことを含む、請求項２１に記載の方法。
【請求項２３】
所定数のソースシンボルをアクティブであるとして示すことは、少なくとも１つのソースシンボルをアクティブであるとして示すことを含む、請求項２１に記載の方法。
【請求項２４】
複数の出力シンボルおよび複数のソースシンボルを有する連鎖反応符号において、各出力シンボルは１つ以上のソースシンボルに関連しており、１つ以上のソースシンボルに関連している出力シンボルは、等級１以上の出力シンボルと称され、少なくとも１つの出力シンボルは、少なくとも２つのソースシンボルに関連しており、２つ以上のソースシンボルに関連している出力シンボルは、等級２以上の出力シンボルと称され、少なくとも１つのソースシンボルはアクティブであるとして示され、連鎖反応符号を処理するための方法であって、
（ｉ）連鎖反応符号内の出力シンボルは、１つだけのソースシンボルに関連しているものはないと決定することと、
（ｉｉ）等級２以上の出力シンボルに関連しているアクティブなソースシンボルの１つを選択することと、
（ｉｉｉ）等級２以上の出力シンボルに関連している選択されたソースシンボルをデアクティブ化することとを含む、方法。
【請求項２５】
（ｉｉｉ）選択されたソースシンボルをデアクティブ化することにより、デアクティブ化されたソースシンボルおよび１つ以上の回復可能なソースシンボルが生じ、各回復可能なソースシンボルは、等級１の出力シンボルに関連している、請求項２４に記載の方法。
【請求項２６】
（ｉ）〜（ｉｉｉ）を繰り返すことをさらに含む、請求項２５に記載の方法。
【請求項２７】
複数の多段出力シンボルおよび複数のソースシンボルを有する連鎖反応符号において、各多段出力シンボルは出力シンボルまたはチェックシンボルを備え、
各多段出力シンボルは１つ以上のソースシンボルに関連しており、１つ以上のソースシンボルに関連している多段出力シンボルは、等級１以上の多段出力シンボルと称され、少なくとも１つの多段出力シンボルは、少なくとも２つのソースシンボルに関連しており、２つ以上のソースシンボルに関連している多段出力シンボルは、等級２以上の多段出力シンボルと称され、少なくとも１つのソースシンボルはアクティブであるとして示され、連鎖反応符号を処理するための方法であって、
（ｉ）等級２以上の多段出力シンボルに関連しているアクティブなソースシンボルの１つを選択することと、
（ｉｉ）等級２以上の多段出力シンボルに関連している選択されたソースシンボルをデアクティブ化することとを含む、方法。
【請求項２８】
（ｉｉ）選択されたソースシンボルをデアクティブ化することにより、デアクティブ化されたソースシンボルおよび１つ以上の回復可能なソースシンボルが生じ、各回復可能なソースシンボルは、等級１の出力シンボルまたは等級１のチェックシンボルに関連している、請求項２７に記載の方法。
【請求項２９】
等級２以上の多段出力シンボルに関連しているソースシンボルが連鎖反応符号に残存している場合、（ｉ）〜（ｉｉ）を繰り返すことをさらに含む、請求項２８に記載の方法。
【請求項３０】
（ｉ）〜（ｉｉ）を１回以上繰り返して、１つ以上のデアクティブ化されたソースシンボルおよび１つ以上の回復可能なソースシンボルを生じさせることをさらに含む、請求項２８に記載の方法。
【請求項３１】
多段出力シンボルの少なくとも１つは出力シンボルを含み、多段出力シンボルの少なくとも１つはチェックシンボルを含む、請求項２７に記載の方法。
【請求項３２】
（ｉ）アクティブなソースシンボルの１つを選択することは、２つ以上のチェックシンボルを含む等級２以上の多段出力シンボルに関連しているアクティブなソースシンボルの１つを選択することを含む、請求項２７に記載の方法。
【請求項３３】
（ｉ）アクティブなソースシンボルの１つを選択することは、多段出力シンボルの最大数に関連しているアクティブなソースシンボルの１つを選択することを含む、請求項２７に記載の方法。
【請求項３４】
（ｉ）アクティブなソースシンボルの１つを選択することは、等級２以上の多段出力シンボルにそれぞれ関連しているアクティブなソースシンボルの群からアクティブなソースシンボルをランダムに選択することを含む、請求項２７に記載の方法。
【請求項３５】
（ｉ）アクティブなソースシンボルの１つを選択することは、
（ａ）アクティブなソースシンボルを識別することと、
（ｂ）識別されたアクティブなソースシンボルがデアクティブ化される場合に潜在的に回復可能なアクティブなソースシンボルの数を決定することと、
（ｃ）潜在的に回復可能なソースシンボルの数が所定数を超えない場合、（ａ）および（ｂ）を他のアクティブなソースシンボルについて繰り返すこととを含む、請求項２７に記載の方法。
【請求項３６】
潜在的に回復可能なソースシンボルの数が所定数を超えない場合、デアクティブ化されたソースシンボルを再アクティブ化することと、
他のアクティブなソースシンボルを選択することとをさらに含む、請求項３０に記載の方法。
【請求項３７】
（ｉ）アクティブなソースシンボルの１つを選択することは、
アクティブなソースシンボルの所定数にそれ自身が関連している多段出力シンボルに関連しているソースシンボルを識別することを含み、
選択されたソースシンボルをデアクティブ化することは、識別された多段出力シンボルに関連しているアクティブなソースシンボルのうちの１つ以外はすべてデアクティブ化することを含み、残りのアクティブなソースシンボルは、デアクティブ化されていないソースシンボルを含む、請求項２７に記載の方法。
【請求項３８】
選択されたソースシンボルは、多段出力シンボルの最小の数に関連している、請求項３７に記載の方法。
【請求項３９】
（ｉ）アクティブなソースシンボルの１つを選択することは、第１の多段出力シンボルに関連しているアクティブなソースシンボルを選択することを含み、第１の多段出力シンボルは、２つのアクティブなソースシンボルの第１の組に関連している、請求項２７に記載の方法。
【請求項４０】
少なくとも１つの第１の組の２つのソースシンボルが、第２の多段出力シンボルに関連しており、第２の多段出力シンボルは、２つのアクティブなソースシンボルの第２の組に関連している、請求項３９に記載の方法。
【請求項４１】
少なくとも１つの第２の組の２つのソースシンボルが、第３の多段出力シンボルに関連しており、第３の多段出力シンボルは、２つのアクティブなソースシンボルの第３の組に関連している、請求項４０に記載の方法。
【請求項４２】
（ｉｉｉ）１つのアクティブなソースシンボルだけに関連している少なくとも１つの多段出力シンボルを識別することと、
（ｉｖ）識別された多段出力シンボルに関連しているアクティブなソースシンボルを回復することと、
（ｖ）１つのアクティブなソースシンボルだけに関連している多段出力シンボルが残存していないと決定することとをさらに含む、請求項２７に記載の方法。
【請求項４３】
（ｉｉｉ）１つ以上のデアクティブ化されたソースシンボルの値を回復することと、
（ｉｖ）１つ以上のデアクティブ化されたソースシンボルの回復された値に基づき、１つ以上の回復可能なソースシンボルの値を決定することとをさらに含む、請求項２８に記載の方法。
【請求項４４】
（ｉ）〜（ｖ）を１回以上繰り返すことをさらに含む、請求項４３に記載の方法。
【請求項４５】
（ｉｉｉ）１つ以上のデアクティブ化されたソースシンボルの値を回復することは、デアクティブ化されたソースシンボルのすべての値を回復することを含む、請求項４３に記載の方法。
【請求項４６】
（ｉｖ）１つ以上のソースシンボルの値を決定することは、ソースシンボルのすべての値を決定することを含む、請求項４３に記載の方法。
【請求項４７】
多段出力シンボルの少なくとも１つは、（ｉ）〜（ｖ）についての出力シンボルと、後続の（ｉ）〜（ｖ）の繰り返しについてのチェックシンボルとを備える、請求項４４に記載の方法。
【請求項４８】
多段出力シンボルの少なくとも１つは、（ｉ）〜（ｖ）についてのチェックシンボルと、後続の（ｉ）〜（ｖ）の繰り返しについての出力シンボルとを備える、請求項４４に記載の方法。
【請求項４９】
多段出力シンボルの少なくとも１つは、アクティブなソースシンボルが残存しなくなるまでの（ｉ）〜（ｖ）についての出力シンボルを備え、当該少なくとも１つの多段出力シンボルは、チェックシンボルを備える、請求項４４に記載の方法。
【請求項５０】
多段出力シンボルの少なくとも１つは、アクティブなソースシンボルが残存しなくなるまでの（ｉ）〜（ｖ）についてのチェックシンボルを備え、当該少なくとも１つの多段出力シンボルは、出力シンボルを備える、請求項４４に記載の方法。
【請求項５１】
複数の出力シンボルおよび複数のソースシンボルを有する連鎖反応符号を処理するように構成されたシステムであって、各出力シンボルは１つ以上のソースシンボルに関連しており、１つ以上のソースシンボルに関連している出力シンボルは、等級１以上の出力シンボルと称され、少なくとも１つの出力シンボルは、少なくとも２つのソースシンボルに関連しており、２つ以上のソースシンボルに関連している出力シンボルは、等級２以上の出力シンボルと称され、少なくとも１つのソースシンボルはアクティブであるとして示され、システムは、
（ｉ）等級２以上の出力シンボルに関連しているアクティブなソースシンボルの１つを選択するための手段と、
（ｉｉ）等級２以上の出力シンボルに関連している選択されたソースシンボルをデアクティブ化するための手段とを備える。
【請求項５２】
（ｉｉ）選択されたソースシンボルをデアクティブ化するための手段は、デアクティブ化されたソースシンボルおよび１つ以上の回復可能なソースシンボルを生じさせ、各回復可能なソースシンボルは、等級１の出力シンボルに関連している、請求項５１に記載のシステム。
【請求項５３】
（ｉｉｉ）１つのアクティブなソースシンボルだけに関連している少なくとも１つの出力シンボルを識別するための手段と、
（ｉｖ）識別された出力シンボルに関連しているアクティブなソースシンボルを回復するための手段と、
（ｖ）１つのアクティブなソースシンボルだけに関連している出力シンボルが残存していないと決定するための手段とをさらに備える、請求項５１に記載のシステム。
【請求項５４】
（ｉｉｉ）１つ以上のデアクティブ化されたソースシンボルの値を回復するための手段と、
（ｉｖ）デアクティブ化されたソースシンボルの回復された値に基づき、１つ以上の回復可能なソースシンボルの値を決定する手段とをさらに備える、請求項５２に記載のシステム。
【請求項５５】
（ｉ）〜（ｉｖ）はコンピュータプロセッサに含まれる、請求項５４に記載のシステム。
【請求項５６】
コンピュータが読み取り可能な記憶媒体上にあって、複数の出力シンボルおよび複数のソースシンボルを有する連鎖反応符号を処理するためのコンピュータプログラム生産物であって、各出力シンボルは１つ以上のソースシンボルに関連しており、１つ以上のソースシンボルに関連している出力シンボルは、等級１以上の出力シンボルと称され、少なくとも１つの出力シンボルは、少なくとも２つのソースシンボルに関連しており、２つ以上のソースシンボルに関連している出力シンボルは、等級２以上の出力シンボルと称され、少なくとも１つのソースシンボルはアクティブであるとして示され、コンピュータプログラム生産物は、
（ｉ）等級２以上の出力シンボルに関連しているアクティブなソースシンボルの１つを選択する命令符号と、
（ｉｉ）等級２以上の出力シンボルに関連している選択されたソースシンボルをデアクティブ化する命令符号とを備える。
【請求項５７】
（ｉｉ）選択されたソースシンボルをデアクティブ化するための命令符号は、デアクティブ化されたソースシンボルおよび１つ以上の回復可能なソースシンボルを生じさせ、各回復可能なソースシンボルは、等級１の出力シンボルに関連している、請求項５６に記載のシステム。
【請求項５８】
（ｉｉｉ）１つのアクティブなソースシンボルだけに関連している少なくとも１つの出力シンボルを識別する命令符号と、
（ｉｖ）識別された出力シンボルに関連しているアクティブなソースシンボルを回復する命令符号と、
（ｖ）１つのアクティブなソースシンボルだけに関連している出力シンボルが残存していないと決定する命令符号とをさらに備える、請求項５７に記載のコンピュータプログラム生産物。
【請求項５９】
（ｉｉｉ）１つ以上のデアクティブ化されたソースシンボルの値を回復する命令符号と、
（ｉｖ）デアクティブ化されたソースシンボルの回復された値に基づき、１つ以上の回復可能なソースシンボルの値を決定する命令符号とをさらに備える、請求項５８に記載のコンピュータプログラム生産物。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本発明は、２００２年６月１１日出願の米国仮出願第６０／３８８，１２９「イナクティブ化による連鎖反応符号の復号化」の利益を主張するものであり、その内容全体を、あらゆる目的のために参照により本明細書に引用したものとする。
【背景技術】
【０００２】
発明の背景
本発明は、データの復号化のためのシステムおよび方法に関し、より特定的には、情報付加符号および多段情報付加符号を復号化するためのシステムおよび方法であり、これらの符号は、以下総称して「連鎖反応符号」と称する。
【０００３】
連鎖反応符号は、米国特許第６，３０７，４８７号「通信システム用の情報付加符号生成器および復号器」（以下、「ルビーＩ（Ｌｕｂｙ  Ｉ）」と称する）および米国特許出願公開第１０／０３２，１５６号「通信システム用の多段符号生成器および復号器」（以下、「ラプター（Ｒａｐｔｏｒ）」と称する）などの本願譲受人の特許において、過去に説明されている。そこで説明したように、連鎖反応復号化は、特定のデータパケットを受信することなく、所定のサイズの受信データセットからデータの再構築が可能である、前方誤り訂正の特有の形式である。連鎖反応符号を利用する通信システムは、ルビーＩまたはラプターにおいて説明されているような、データカルーセルを介して送信された従来のＦＥＣ符号、または肯定応答を基本としたプロトコルと比べて、格段に効率的に情報通信を行うことが可能である。
【０００４】
図１は、連鎖反応符号を用いてデータを符号化する処理例を示し、そこでは、出力シンボル１７０が数個の入力シンボルから生成される。入力シンボルは、１１０（ａ）〜１１０（ｆ）で示す。実施形態によっては、ラプターに説明されているように、符号化処理の第１のステップは静的符号化である。このステップは、ソースシンボルを発生させてもよく、１２０（ａ）〜１２０（ｆ）および１６０（ａ）〜１６０（ｃ）で示されている。実施形態によっては、静的符号化は、ソースシンボル１２０（ａ）〜１２０（ｆ）の値が１１０（ａ）〜１１０（ｆ）の値と同一になるように、体系化されていてもよい。実施形態によっては、静的符号化がなくてもよく、この場合には、入力シンボルは、ソースシンボルと一致する。
【０００５】
ソースシンボルが作成されると、ソースシンボルから出力シンボルが生成される。以下、入力シンボルの値を用いて出力シンボルの値を得る場合には、出力シンボルおよび入力シンボルは「関連している（ａｓｓｏｃｉａｔｅｄ）」として説明する。この関連性を規定する数学的演算は、どのような特定の演算であってもよく、一実施形態においては、出力シンボルの値は、いくつかのソースシンボルの値の排他的論理和である。各出力シンボルについて、鍵生成器１４０が鍵を生成し、その鍵から、出力シンボルの重みが、重みテーブル１５０から決定される。重みＷが決定されると、Ｗのランダムまたは擬似ランダムソースシンボルが選択され、出力シンボルの値がこれらのソースシンボルの値の排他的論理和として計算される。例えば、図１において、出力シンボル１７０の重みは３と等しく、その値は、ソースシンボル１２０（ａ），１２０（ｄ），および１６０（ｂ）の排他的論理和として決定される。対応して、出力シンボル１７０は、ソースシンボル１２０（ａ），１２０（ｄ），および１６０（ｂ）に関連している。以下、「等級（ｄｅｇｒｅｅ）」という用語は、「重み（ｗｅｉｇｈｔ）」と同義として用いられる。
【０００６】
図２Ａは、連鎖反応符号の復号化において用いられる復号化グラフを示す。この復号化グラフは、ソースシンボル２２０（ａ）〜（ｉ）および出力シンボル２３０（ａ）〜（ｉ）という、２つのシンボルの組からなる。上述のようにソースおよび出力シンボルが「関連している」場合には、出力シンボルはソースシンボルに結合される。
【０００７】
図２Ｂは、復号化処理に有用な図２Ａの復号化グラフに対応する復号化行列を示す。復号化行列２００は、出力シンボルと同数の行と、ソースシンボルと同数の列とを有し、入力「０」および「１」が代入されている。ｊ番目のソースシンボルがｋ番目の出力シンボルに関連している場合には、復号化行列の位置（ｋ，ｊ）に「１」が入力される。
【０００８】
典型的な連鎖反応復号化処理において、単一の出力シンボルに関連している出力シンボルＯ１を識別することによって、復号化は開始する。「等級１の出力シンボル（ｏｕｔｐｕｔ  ｓｙｍｂｏｌ  ｏｆ  ｄｅｇｒｅｅ  ｏｎｅ）」という用語は、１つの出力シンボルのみに関連している上記出力シンボルのことを指す。同様に、２つのソースシンボルに関連している出力シンボルは、「等級２（ｄｅｇｒｅｅ  ｔｗｏ）」の出力シンボルと称する。ソースシンボルは、各ソースシンボルが関連している出力シンボルの数に対応して、同様に称される。
【０００９】
等級１の出力シンボルＯ１が識別されると、Ｏ１の関連しているソースシンボルが回復され、復号化グラフから削除される。処理は、等級１の他の出力シンボルＯ２を識別することによって継続する。例えば、図２に示す状況では、は２３０（ａ）で示す出力シンボルである場合がある。その関連シンボル２２０（ｂ）が復号化グラフから削除されると、等級１の出力シンボルは、２３０（ｃ），２３０（ｄ），および２３０（ｋ）の３つとなる。
【００１０】
処理は、すべてのソースシンボルが回復されるまで、または、等級１の出力シンボルが存在しなくなるまで継続される。例えば、図２の状況では、出力シンボルの以下のシーケンスが選択されて、対応するソースシンボルが回復される。
【００１１】
【表１】
2006512790.tif 000003
【００１２】
この場合、復号化は正常に行われる。
【００１３】
上述の連鎖反応復号化処理は、等級１の出力シンボルが見つからない場合には、問題が生じる。場合によっては、復号化処理が永久に停止し、復号器がエラーのフラグを立てることもある。代わりに、可能であれば、復号器は、ガウス消去法のような他のより精密なアルゴリズムを用いて、復号化を完了させてもよい。しかしながら、ガウス消去法の動作時間は、高速の復号化が望ましいアプリケーションにとっては極端に長いことがあり、等級１の出力シンボルがもはや見つからない時の回復されていない入力シンボルの数が多い場合には特にそうである。このことにより、復号アルゴリズムが、連鎖反応復号器よりも計算オーバヘッドがかなり大きいものとなり、アプリケーションによっては、望ましくないものとなりうる。
【００１４】
このような理由により、連鎖反応符号化システムは、復号器が永久に停止しないことを保証するように設計される。この要請は、より複雑な復号器を用いてなされるよりも、連鎖反応符号の設計に対して厳格な条件を課することになろう。例えば、出力シンボルの平均等級を他の場合よりも高くすることで、符号器および復号器の性能が低下することになることもある。より一般的には、この復号化手順により、上記復号化アルゴリズムが高い確率で成功することを保証するような重みテーブルを設計することになり、よって、実現可能な重みテーブルの組を制約することになる場合もある。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
したがって、必要なのは、連鎖反応復号器におけるのと同様の計算上の利点を提供し、かつ、復号化におけるあるステージにおいて等級１の出力シンボルが見つからない場合でも復号化を継続可能な、新規の復号化アルゴリズムである。
【課題を解決するための手段】
【００１６】
概要
本発明は、等級１の出力シンボルが符号内に見つからない場合でも連鎖反応符号を復号化するためのシステムおよび処理を提供する。これは、ある実施形態において、等級２以上の出力シンボル（すなわち、それ自身が２つ以上の入力シンボルに関連している出力シンボル）に関連しているソースシンボルを選択することによって達成される。その後、等級１の出力シンボルを発生させるために、等級２以上の出力シンボルは、デアクティブ化される。イナクティブ化処理は、等級１の出力シンボルが識別されるまで連続して、および／または復号化処理が等級１の出力シンボルを見つけることができない場合にはいつでも、繰り返して行うことができる。当該処理およびシステムの様々な実施形態が、本明細書に提示される。
【発明を実施するための最良の形態】
【００１７】
明確性および便宜を図るため、先の図面において識別された特徴および構成要素は、後の図面においてもその参照符号を保持する。
【００１８】
いくつかの実施形態の詳細な説明
以下の用語は、本出願を通して用いられ、指示された意味を有するものとする。
【００１９】
「アクティブ（ａｃｔｉｖｅ）」という用語は、ソースシンボルが取りうる状態を指す。ソースシンボルのアクティブ状態は、永久ではなく、ソースシンボルのアクティブ状態は、以下に規定される「イナクティブ（ｉｎａｃｔｉｖｅ）」状態、「回復可能状態（ｒｅｃｏｖｅｒａｂｌｅ  ｓｔａｔｅ）、または「回復された（ｒｅｃｏｖｅｒｅｄ）」状態のいずれかに変化しうる。
【００２０】
「デアクティブ化された（ｄｅａｃｔｉｖａｔｅｄ）」または「イナクティブ（ｉｎａｃｔｉｖｅ）」という用語は、ソースシンボルの別の状態を指す。デアクティブ化されたソースシンボルの状態は、必ずしも永久ではなく、イナクティブなソースシンボルは、本発明の下での処理において再アクティブ化されうる。
【００２１】
「回復可能な（ｒｅｃｏｖｅｒａｂｌｅ）」という用語は、ソースシンボルのまた別の状態を指し、他のソースシンボルの値が回復されれば当該ソースシンボルの値は回復可能であることを示す。本発明の特定の実施形態において、ソースシンボルは、１つ以上のソースシンボルのイナクティブ化を通じて「回復可能（ｒｅｃｏｖｅｒａｂｌｅ）」となってもよい。
【００２２】
「回復されたソースシンボル（ｒｅｃｏｖｅｒｅｄ  ｓｏｕｒｃｅ  ｓｙｍｂｏｌ）」という用語は、値が決定されたソースシンボルを指す。ソースシンボルの値は、例えば、唯一関連している出力シンボルの値から直接的に、または、例えば、デアクティブ化されたソースシンボルの値から間接的に、決定されてもよい。
【００２３】
図３は、本発明の一実施形態に係る、連鎖反応符号を復号化するために用いられる処理の概観を示す。例示の復号化ルーチン３００に含まれる処理は、起動処理３１０、ソースシンボル選択およびデアクティブ化処理３２０、およびソースシンボル値回復処理３３０を含む。
【００２４】
図４Ａは、図３に示す起動処理３１０の第１の実施形態を示す。最初に、３１１において、等級１の出力シンボルがあるかどうかについて決定がなされる。もしそうであれば、当該出力シンボルに関連しているソースシンボルが、３１２で回復される。その後、処理は３１１に戻って、そこでは、等級１の他の出力シンボルが符号内に残存しているかどうかについての次の決定がなされる。もし３１１において等級１の出力シンボルが残存していなければ、処理は、以下に説明するソースシンボル選択およびデアクティブ化処理３２０に進む。
【００２５】
図４Ｂは、図３に示す起動処理３１０の第２の実施形態を示す。本実施形態において、等級１の出力シンボルを３１５において識別する。その後、３１６において、識別された出力シンボルに関連しているソースシンボルが回復される。次の３１７において、等級１の他の出力シンボルが残存しているかどうかについて決定がなされる。もしそうであれば、処理は３１６に戻り、関連しているソースシンボルが回復される。もしそうでなければ、処理は、以下に説明するソースシンボル選択およびデアクティブ化処理へ進む。
【００２６】
本発明の一実施形態において、３１０において説明したソースシンボルの回復は、３２０において言及したデアクティブ化されかつ回復可能なソースシンボルの回復の時間的に以前に生じる。しかしながら、本発明はこれに限らず、本発明の代替実施形態において、３１０において説明したソースシンボルの回復は、処理３３０におけるデアクティブ化されかつ回復可能なソースシンボルの回復と実質的に同時に生じてもよい。
【００２７】
図５は、図３に示すソースシンボル選択およびデアクティブ化処理３２０の第１の実施形態を示す。最初に、３２１において、等級以上の出力シンボル（すなわち、２つ以上のソースシンボルに関連する出力シンボル）に関連するアクティブなソースシンボルが選択される。多数の類似のソースシンボルから特定のソースシンボルが選択される手法は、後に詳述する。次に、３２２において、選択された特定のソースシンボルがデアクティブ化される。その後、３２３において、復号化する等級１の出力シンボルが存在するかどうかについて決定する。ある実施形態では、直前のデアクティブ化によって、等級１の出力シンボルが１つ以上生じることもある。他の実施形態では、直前のデアクティブ化によって、等級１の出力シンボルが生じないこともある。後者の場合、処理は、上述したような処理３２１〜３２３を繰り返す。
【００２８】
３２２のデアクティブ化処理によって、１つ以上の等級１の出力シンボルが生じた場合、処理は継続して、３２４において、等級１の出力シンボルに関連するソースシンボルが回復可能であると宣言される。その後、処理は３２３に戻って、等級１の出力シンボルがさらに残存しているかどうかについて決定される。３２３および３２４の処理は、直前のデアクティブ化処理によって生じた等級１の出力シンボルすべてが回復可能であると宣言されるまで、繰り返して行われる。
【００２９】
３２２における選択されたソースシンボルのデアクティブ化によって、等級１の出力シンボルが生じない場合、または、３２４において等級１の出力シンボルに関連しているソースシンボルすべてが回復可能であると宣言されると、処理は３２３から３２５へ継続し、等級２以上の出力シンボルに関連しているソースシンボルが残存しているかどうかについて決定される。もしそうなら、処理は３２１へ戻り、等級２以上の出力シンボルに関連している他のアクティブなソースシンボルが選択され、等級１の出力シンボルの存在がチェックされる。処理は、１回以上繰り返してもよく、例えば、等級２以上の出力シンボルに関連している第１のソースシンボルのデアクティブ化によって等級１の出力シンボルは生じないが、等級２（またはそれ以上）の出力シンボルに関連しているさらなるソースシンボルが残存している場合である。この場合、等級２（またはそれ以上）の出力シンボルに関連している他のソースシンボルのデアクティブ化によって、等級１の出力シンボルが１つ以上生じる場合がある。すべてのソースシンボルが（起動処理３１０を介して）回復されるか、（３２２を介して）デアクティブ化されるか、または（３２５を介して）回復可能であると宣言されるまで、繰り返して行われ、３２５において、処理はソースシンボル値回復処理３３０へ進む。
【００３０】
図６は、図３に示すソースシンボル回復処理３３０の一実施形態を示す。最初に、３３２において、３２２においてデアクティブ化された１つ以上のソースシンボルの値が回復される。特定の実施形態においては、例えばガウス消去法が復号化処理において用いられる場合には、デアクティブ化されたソースシンボルのすべての値が、この処理において回復される。その後、３３４において、３２５において回復可能であると宣言された１つ以上のソースシンボルの値が、デアクティブ化されたソースシンボルの回復された値を用いて決定される。ガウス消去法が用いられる上述のような一実施においては、回復可能なソースシンボルすべての値が、この処理において決定される。３３２および３３４の代替実施形態においては、１つ以上だがすべてよりも少ない数の回復可能なソースシンボルの値が決定される。これは、必要性、都合、費用などの理由から、連鎖反応符号の完全な復号化が必要でなかったり可能でない場合に利点となるであろう。３３２および３３６の処理は、下記の特定の実施形態においてさらに説明する。
【００３１】
図７Ａは、ソースシンボル選択処理３２１の第２の実施形態を示しており、これにより、少なくとも等級の出力シンボルに関連しているアクティブなソースシンボルが選択されてデアクティブ化される。最初に、７０２において、等級２以上の出力シンボルに関連しているアクティブなソースシンボルが識別される。次に、７０４において、潜在的に回復可能なソースシンボル（すなわち、ソースシンボルをさらにイナクティブ化しなくても回復可能であろうソースシンボル）の数についての決定がなされる。次に、７０６において、潜在的に回復可能なソースシンボルの数と所定数との比較がなされ、これにより、潜在的に回復可能なソースシンボルの数が所定数を超える場合は、識別されたソースシンボルが選択されて３２２においてデアクティブ化される。潜在的に回復可能なソースシンボルの数が所定数と一致しないまたはこれを超えない場合は、処理は７０２に戻って、等級２以上の出力シンボルに関連している他のソースシンボルが識別される。
【００３２】
最大数の等級１の出力シンボルを得るために、他の選択基準を用いてソースシンボルを選択してもよいことは、当業者に理解されるであろう。例えば、一処理においては、最大数の出力シンボルに関連しているソースシンボルが、デアクティブ化のために選択される。他の実施形態においては、ソースシンボルは、２つ以上の出力シンボルに関連しているソースシンボル群からランダムに選択される。さらに他の実施形態においては、出力シンボルは、所定の数、例えば最小の数のソースシンボルに関連していると識別される。その後、ソースシンボルのうちの１つ以外はすべて、デアクティブ化のために選択される。
【００３３】
ソースシンボル選択処理の他の実施形態においては、一連のソースシンボルが回復されてもよい。この処理において、等級２の出力シンボルは以下のように識別される。すなわち、その関連しているソースシンボルのうちの１つが、それ自身、等級２の第２の出力シンボルに関連しており、かつ、その関連しているソースシンボルのうちの１つが、それ自身、等級２の第３の出力シンボルに関連しており、というように識別される。以下、そのような出力シンボルの連鎖を等級２の連鎖と称する。
【００３４】
図７Ｂは、本発明の一実施形態に係る、等級２の連鎖の復号化グラフを示す。想定しうる等級２の連鎖に関係する出力シンボルは、７２０（ａ），７２０(ｃ)，７２０（ｄ），７２０（ｅ），および７２０（ｈ）である。例えば、ソースシンボル７１０（ａ）をデアクティブ化すると、出力シンボル７２０(ｃ)の等級が１に減少し、これにより、ソースシンボル７１０（ｆ）が回復可能となり、その結果、出力シンボル７２０（ｅ）の等級が１に減少する。これにより、ソースシンボル７１０（ｂ）は回復可能となり、これにより、７２０（ａ）および７２０（ｄ）の等級が１に減少し、７１０（ｇ）および７１０（ｅ）が回復可能となる。わかるように、このような連鎖における出力シンボル数がｋであるとし、このような連鎖におけるいずれかの出力シンボルに関連するソースシンボルのいずれかがデアクティブ化される場合に、等級１の出力シンボルの存在は、イナクティブ化復号化のｋ個の連続するステップによって保証される。この処理は、等級２の連鎖が最大長となるように等級２の出力シンボルを識別することと、識別された出力シンボルに関連しているソースシンボルをデアクティブ化することをさらに含んでもよい。
【００３５】
いずれかのソースシンボル選択処理は、「後戻り処理（ｂａｃｋ−ｔｒａｃｋｉｎｇ  ｐｒｏｃｅｓｓ）」をさらに含んでもよく、これによって、デアクティブ化されたソースシンボルが再アクティブ化されて、他のソースシンボルが、本明細書に提示された方法に従ったデアクティブ化のために選択される。本発明は、ソースシンボルをデアクティブ化のために選択するという処理例に限定されるものではなく、本発明においては、２つ以上の出力シンボルに関連しているソースシンボルを選択するあらゆる方法を用いることができる。
【００３６】
図２Ｂを参照して上述したように、復号化行列は連鎖反応符号の復号化に有用である。イナクティブ化を用いる復号化処理に特に関連して、図２Ｂの復号化行列２００を修正して、イナクティブなソースシンボルを含めるように対応することができる。具体的には、復号化処理中のイナクティブなソースシンボルの指数のシーケンスをシーケンスｉ１，ｉ２，．．．，ｉｎとし、ソースシンボルの数をｋとすると、イナクティブ化復号化は、置換行列ＰおよびＱを生成し、Ｑは、列ｉ１およびＫ−ｎ＋１、列ｉ２およびＫ−ｎ＋２．．．，ならびにｉｎおよびＫを交換し、Ｐ・Ｍ・Ｑは、図８Ｂに示す形状を有する。図８Ａに示す修正された復号化行列は、下三角行列Ｌと、部分行列Ａ，Ｂ，およびＣからなる。部分行列Ａの列は、イナクティブなソースシンボルに対応する。復号器の任務は、
Ｐ・Ｍ・Ｑ・（Ｑ−１・ｘ）＝Ｐ・ｂ
によって与えられるＫの未知数ｘ１，．．．，ｘＫにおけるＫ’個の一次方程式のシステムを解くことにある。式中、ｘは列ベクトル（ｘ１，．．．ｘＫ）であり、ｂはＫ’個の受信した出力シンボルの値からなるベクトルである。実際には、行列ＰおよびＱは、完全な行列として格納されなくてもよく、イナクティブ化復号化の処理を辿ることによって計算された置換として格納されてもよい。通常、この形式で要求されるメモリは、完全な行列を格納するよりもはるかに少ない。当業者に理解されるように、回復処理は、図示の復号化行列の列の特定の置換に依存するものではなく、代わりの実施形態では、本発明において、他の列置換を用いてもよい。
【００３７】
上記の式のシステムの解ｘを計算するために考えられうる多くの方法のうち、以下の１つの可能なものについて説明する。これは、説明の目的を満足させるだけのものであり、本発明の範囲を限定する意図はない。
【００３８】
アルゴリズムの核心を説明するために、ベクトルＱ−１・ｘをｙで表し、かつ、復号化のタスクをベクトルｙを計算するタスクとして再規定することは利点がある。Ｙが計算されると、ｘはＱによって記述されたｙの置換として効率的に計算されるであろう。さらに、Ｐ・Ｍ・ＱをＮで表し、ベクトルＰ・ｂをｃで表し、すなわち、ｃはＰによって記述されるｂの置換であり、これもまた、計算するのに効率的である。その後、タスクは、Ｎ・ｙ＝ｃを満足するベクトルｙを計算することである。式中、Ｎは図８Ａの形状を有する。
【００３９】
このシステムを解くために、ガウス消去法を行列Ｎに適用してもよい。部分行列Ｂの行は、下三角行列Ｌの行によって消去される。同じ変換がベクトルｃに適用される。この行為により、行列Ｂはゼロからなる行列に変換され、行列Ｃは、同じ消去ステップを行列ＡおよびＣに適用することによって得られる異なる行列Ｄに変換される。この変換を図８Ｂに示す。ｎ個のソースシンボルがデアクティブ化されており、Ｋ個のソースシンボルとＫ’個の出力シンボルとがあると仮定すると、部分行列Ｌは、（Ｋ−ｎ）個の行および（Ｋ−ｎ）個の列を有し、行列Ａは、（Ｋ−ｎ）個の行およびｎ個の列を有し、行列Ｄは、（Ｋ’−Ｋ＋ｎ）個の行およびｎ個の列を有する。変換された行列内の部分行列ＬおよびＡは、行列Ｎ内の対応部分行列と同じである。ベクトルｂも、２つの成分を有する他のベクトルｆに変換される。２つの成分とは、第１のＫ−ｎ個のｆの成分からなる８７０で与えられるベクトルｄと、残りのｆの成分からなる８７５におけるベクトルｅである。対応して、８２０における未知のベクトルｙが２つの副ベクトルに再分割される。ベクトルｕは、第１のＫ−ｎ個のｙの入力からなり、ベクトルｚは、残りのｎ個の入力からなる。
【００４０】
この消去により、元の式システムは、Ｄ・ｚ＝ｅで与えられるシステムと、Ｌ・ｕ＋Ａ・ｚ＝ｄというシステムとの２つの別個のシステムに変換される。未知のベクトルｚの値は、イナクティブ化されたソースシンボルに対応するソースシンボルの値に対応する。これらの値が１組の式Ｄ・ｚ＝ｅから見つかると、ｕによって与えられる残りの値は、様々な方法によって見つけることができる。本発明のある実施形態においては、行列Ａをｚで乗算し、結果生じたベクトルをｄで排他的論理和演算してベクトルｇを得、式Ｌ・ｕ＝ｇのシステムを解くことによって、これらの値を見つけることができる。ある実施形態においては、後者のシステムは、連鎖反応復号器を用いて解いてもよい。さらに別の実施形態においては、イナクティブなソースシンボルに対応する各ソースシンボルの値を、前記ソースシンボルに関連している近隣の出力シンボルに対応する出力シンボルの値で排他的論理和演算し、イナクティブなソースシンボルを対応の復号化グラフ(図示せず)から削除する。これにより、すべてのイナクティブなソースシンボルが削除された、新たに限定された復号化グラフが生じる。そして、通常の連鎖反応復号化を復号化グラフに適用して、他のソースシンボルを回復してもよい。
【００４１】
式Ｄ・ｚ＝ｅのシステムは、様々な方法によって解くことができる。ある実施形態においては、このシステムは、ガウス消去法アルゴリズムを用いて解かれてもよい。他の実施形態においては、イナクティブ化復号化を帰納的に適用して、イナクティブなソースシンボルの未知の値を取得してもよい。また、１次方程式のシステムを解く他の方法を用いてもよい。
【００４２】
イナクティブ化復号器のある実施形態においては、復号化処理は、全ての出力シンボルが復号化グラフに入力される前に開始されてもよい。これらの実施形態において、復号化グラフが等級１の出力シンボルをもはや有せず、少なくとも１つのアクティブなソースシンボルを有する場合はいつでも、上述の方策を用いて、ソースシンボルをイナクティブ化するか、または他の出力シンボルがもしあれば、それを復号化グラフに入力するかを決定してもよい。復号化処理がすべての出力シンボルが収集される前に開始する場合、復号化行列の作成および復号化行列用の消去処理は、受信処理と実質的に同時に生じてもよく、その場合、消去処理の１つ以上のステップが各新規の出力シンボルの受信と共に行われる。代わりに、１つ以上の出力シンボルが一度に収集できてもよく、復号化は、前記出力シンボルの全てが処理されるまで進められてもよい。ソースシンボルがこの時点ですべて回復されない場合、全てのソースシンボルが回復されるまで、出力シンボルの他の組が要求および処理されてもよい。
【００４３】
図９Ａおよび９Ｂは、本発明の一実施形態に係る、上述の復号化グラフおよび行列を用いるイナクティブ化復号化の例を示す。図９Ａの元の復号化グラフは、９１０（ａ）〜９１０（ｆ）で表される６つのソースシンボルと、９２０（ａ）〜９２０（ｇ）で表される７つの出力シンボルとを含む。わかるように、従来の連鎖反応復号化はこのグラフ上で開始することさえできない。なぜならば、等級１の出力シンボルがないからである。ソースシンボル９１０（ｆ）をデアクティブ化することによって、連鎖反応復号化は開始可能となり、各段階において、等級１の出力シンボルを見つける。
【００４４】
図９Ｂは、イナクティブ化処理の結果、復号化行列内で生じる置換を示す。シンボル９１０（ｆ）をデアクティブ化すると、行列の最後の列をデアクティブ化することになる。そして、残りの列は、下三角形状に変換することができる。丸印および矢印のシーケンスは、行および列が置換されるべき順序を示しており、ｋ番目の矢印が示す位置は、新規の下三角行列の位置（ｋ，ｋ）に置換される必要がある。例えば、位置（２，４）は位置（１，１）に、位置（１，１）は位置（２，２）に、位置（３，５）は位置(３，３)に、などとなるようにするために、置換は行われなければならない。
【００４５】
図１０Ａは、ラプターにおいて説明したような、多段連鎖反応符号を復号化する際に有用な、修正された復号化グラフ１０００を示す。グラフ１０００は、複数のソースシンボル１０２０（ａ）〜（ｆ）と、上述の１０５２（ａ）〜（ｇ）をまとめて含む多段出力シンボル１０５０と、チェックシンボル１０５５（ａ）〜（ｄ）とを含む。出力シンボル１０５２は、既に説明したとおり
であり、それぞれは、１つ以上のソースシンボルに関連している。各チェックシンボル１０５５も、１つ以上のソースシンボルに関連しており、２つ以上のソースシンボルの数学的関係を記述する。例えば、シンボル８３０（ａ）は、ソースシンボル８１０（ａ），８１０（ｂ），８１０（ｅ），および８１０（ｆ）に対応するソースシンボルの値の排他的論理和はゼロであることを意味する。ソースシンボル間の相関性は、低密度パリティチェック符号などの静的符号化処理によって与えられてもよい。
【００４６】
特定の例として、低密度パリティチェック符号を用いて静的符号化処理を行う場合、本符号内のチェックシンボルの数と等しい数であって、その値の集合は０である多段出力シンボルが、復号化グラフに追加されてもよく、復号化グラフは、ソースシンボルおよびチェックシンボル間の低密度パリティチェック符号のグラフによって増強されてもよく、復号化グラフは、新しいグラフに置換されてもよい。低密度パリティチェック符号を選択することは、本願では必須ではない。一般的に、静的符号化のあらゆる種類に関して、対応のパリティチェック行列によって、復号化グラフが増強されるであろう２分割グラフが規定される。
【００４７】
図１０Ｂは、修正された復号化グラフ１０Ａに対応する修正された復号化行列１０７０を示す。修正された復号化行列１０７０は、ゼロおよび１が代入されており、ソースシンボルと同数の行と、主力シンボルおよびチェックシンボルの総数と同数の列とを有する。対応して、修正された復号化行列１０７０は、２組の行からなり、１つは出力シンボルに対応し、１つはチェックシンボル対応する。Ｋ’個の出力シンボル、Ｃ個のチェックシンボル、およびＫ個のソースシンボルの場合、修正された復号化行列は、Ｋ’個の行とＫ個の列からなる部分行列ＭＯと、Ｃ個の行とＫ個の列からなる行列ＭＣとに分解されてもよい。ｘ１，．．．，ｘＫがソースシンボルの未知の値を表し、ｂ１，．．．，ｂＫが受信した出力シンボルの既知の値を示す場合、復号器のタスクは、Ｍｏ・ｘ＝ｂおよびＭｃ・ｘ＝０によって与えられる式のシステムを解くことにある。組み合わせた式のシステムは、図１０Ｂに示すとおりとなろう。
【００４８】
本発明のある実施形態においては、イナクティブ化復号化は、図９Ａの復号化グラフを図１０Ａの修正された復号化グラフに置き換え、８Ｂの復号化行列を図１０Ｂの修正された復号化行列に置き換えて、上述のように進んでもよい。他の実施形態においては、修正された復号化グラフ１０００の異なるシンボルに対して、異なる優先度を異なる復号化段階において与えてもよい。例えば、出力シンボルのみを処理し、等級１の出力シンボルが残存していなければ、等級１のチェックシンボルのみを復元することによって、復号化を開始してもよい。これにより、ある応用においては、チェックシンボルは修正された復号化グラフに必要に応じて導入されるので、メモリおよび計算資源が少なくて済む。
【００４９】
本明細書において説明した各方法は、多数の異なる方法（すなわち、ソフトウェア、ハードウェア、または両方の組み合わせ）および様々なシステムにおいて実施されてもよい。ある実施形態においては、説明した方法は、コンピュータが読み取り可能なディスク上、メモリ（揮発性または不揮発性）内に格納された、またはプロセッサ（コンピュータ、埋め込みプロセッサなど）内に常駐する命令符号として実施されてもよい。さらに、本明細書において説明した、イナクティブ化技術を用いて連鎖反応符号を復号化するシステムは、本明細書において説明した処理に対応する命令符号を格納および／または実行するように動作可能なメモリを有するプログラム可能なコンピュータまたはその他の装置を備えてもよい。
【００５０】
図１１Ａは、上述の方法の処理に対応する命令符号を実行するように動作可能なコンピュータシステムの例を示す。コンピュータシステム１１１０は、モニタ１１１４、画面１１１２、筐体１１１８、およびキーボード１１３４を含む。マウス（図示せず）、ライトペン、または仮想現実インターフェイスなどの他の入出力インターフェイスをも含んで、入出力コマンドを提供してもよい。筐体１１１８は、ＣＤまたはＤＶＤなどの着脱可能な媒体用のドライブ１１１６と、ハードドライブ（図示せず）とを収容する。コンピュータシステム１１１０は、データ、命令符号、または本発明の方法を実行するのに必要な他の情報を記録または読み出すように動作可能なドライブおよび／またはドライブインターフェイスを含んでもよい。筐体７１８は、プロセッサ、メモリなどのありふれたコンピュータ構成要素（図示せず）も収容する。
【００５１】
図１１Ｂは、上述の方法に対応する命令符号を実行するために用いられるコンピュータシステム１１１０の例の簡易システムブロック図を示す。図１１Ａに示すように、コンピュータシステム１１１０は、入出力制御器１１２４と必要に応じて対話するモニタ１１１４を含む。コンピュータシステム１１１０は、システムメモリ１１２６、中央プロセッサ１１２８、スピーカ１１３０、着脱可能ディスク１１３６、キーボード１１３４、固定ディスク１１３７、およびネットワークインターフェイス１１３８のようなサブシステムをさらに含む。上述の方法と共に用いるのに適切な他のコンピュータシステムは、より多くのまたはより少ないサブシステムを含んでもよい。例えば、他のコンピュータシステムは、さらなるプロセッサを含むことができる。１１４０のような矢印は、コンピュータシステム１１１０のシステムバスアーキテクチャを表す。しかしながら、これらの矢印１１４０は、サブシステム同士を連結する役目を果たすあらゆる相互接続手法を例証するものである。例えば、ローカルバスを用いて、中央プロセッサ１１２８をシステムメモリ１１２６に接続することもできる。図１１Ｂに示すコンピュータシステム１１１０は、本発明と共に用いるのに適したコンピュータシステムの一例に過ぎない。本発明と共に用いるのに適したサブシステムの他の構成は、当業者にとって容易に明らかであろう。
【００５２】
したがって、本発明のある実施形態においては、元の内容を全てを復元する必要がある場合に、イナクティブ化復号化機構を用いて、連鎖反応符号化の受信オーバヘッドを低減する。
【００５３】
本発明の他の実施例においては、イナクティブ化復号器を用いて、出力シンボルの平均等級を減少させ、これにより、出力シンボルを作成するために用いられる計算資源を減少させる。
【００５４】
イナクティブ化復号器を用いる連鎖反応符号化システムの他の特性は、等級１の出力真ぶるが内容に重みテーブルを設計できる点である。これは、そのような符号化システムの出力シンボルが、入力シンボルの値を含まないことを意味する。ある実施形態においては、この特性を用いて、出力シンボルの平均等級を減少させ、これにより、符号器に対する計算負荷を減少させることができる。さらに、ある応用においては、この特性を用いて、元データへの不正アクセスに対する軽度の安全確保を送信に与えてもよい。
【００５５】
イナクティブ化復号化の例
ラプターに開示されたような連鎖反応符号化システムの一実施形態を、Ｎで表されたデータシンボル、Ｒ個の静的符号化シンボルを生成する静的符号化、および重みテーブルによって説明される動的符号器によって説明する。ある実施形態においては、復号器がうまく働く確率を高く保証する受信オーバヘッドも指定してもよい。他の実施形態においては、完全な復号化が完了するまで、出力シンボルが収集されてもよく、受信オーバヘッドを指定する必要はない。
【００５６】
以下のテーブルは、イナクティブ化復号器の例のための様々なパラメータを記述しており、第１の列は値Ｎの範囲を与え、第２の列は静的符号化シンボルの生成に関する情報を与え、第３の列は動的符号化シンボルの生成のための重みテーブルを与え、最後の第４の列は計算された静的符号化シンボルの数を与える。
【００５７】
【表２】
2006512790.tif 000004
【００５８】
例えば、テーブルの９行目は、Ｎが５０００〜８１００の場合、静的符号化シンボルの数Ｒは０．０５＊Ｎ＋１００より大きいかまたは等しい最小の整数であることを意味している。すべての場合において、静的符号器の第１の段階は、まず、ラプターに記載したように、ハミング符号を用いて元のシンボルを符号化してもよい。第２の段階は、低密度パリティチェック符号を用いてもよい。本例では、９行目において、この符号のパリティチェック行列は、２つの部分行列からなる。第１の部分行列は、
【００５９】
【数１】
2006512790.tif 000005
【００６０】
個の行およびＮ＋Ｒ個の列を有し、式中、
【００６１】
【数２】
2006512790.tif 000006
【００６２】
は、ａより小さいか等しい最大の整数を表す。第２の部分行列は、
【００６３】
【数３】
2006512790.tif 000007
【００６４】
個の行およびＮ＋Ｒ個の列を有する。各部分行列は、第１の行列において各列がゼロでない入力を１つ有し、第２の行列において各列がゼロでない入力ちょうど７つ有するという条件の下、ランダムに選ばれる。
【００６５】
Ｓ０，Ｓ１，およびＳ２に対応する重みテーブルは、以下で与えられる。
【００６６】
【表３】
2006512790.tif 000008
【００６７】
【表４】
2006512790.tif 000009
【００６８】
【表５−１】
2006512790.tif 000010
【００６９】
【表５−２】
2006512790.tif 000011
【００７０】
Ｓ１およびＳ２の平均重みは、それぞれ４．２５４および４．１５４である。
【００７１】
受信オーバヘッドが５％または５０のどちらか大きいほうで固定されていれば、イナクティブ化復号化の失敗する確率は、１０−１３より小さいことが、数学的に証明できる。ここに示した具体例は、例証のためだけに過ぎない。様々な実際の数値により、本発明の範囲内の設計がなされる。
【００７２】
図１２Ａ〜１２Ｂは、入力シンボル数Ｎの様々な値について、イナクティブ化復号器の数千のコンピュータシミュレーションを説明する図を示す。横軸はＮを表し、縦軸は修正された復号化グラフにおけるイナクティブなソースシンボル数を表す。各点は、１回のシミュレーションを表す。図１０（ａ）は、１から１４０，０００までのＮの範囲についての結果を示す。図１０（ｂ）は、１から１６，０００までのＮの範囲についての図１０（ａ）の拡大図である。
【００７３】
わかるように、実行のうちのいくつかでは、イナクティブなソースシンボル数はゼロであり、通常の連鎖反応復号器では復号化が完了してしまうということを意味している。しかしながら、Ｎが１および１０，０００の間では、多くの場合、イナクティブなソースシンボル数は１よりも大きい。このような場合、通常の連鎖反応復号器は働かない。ソースシンボルの数Ｎが２０，０００より大きい場合は、イナクティブ化されたソースシンボル数がゼロになりやすい。このような場合、復号器は、復号化がうまくいく確率を非常に高度に保証するしつつ、特に高速である。
【００７４】
以上の説明は、例証および説明の目的のために提示された。これは網羅的なものでも、本発明を開示された厳密な形式に限定するものでもなく、上述の教示の観点から、多くの修正または変形が可能であることは明らかである。説明した実施形態は、本発明の原理およびその実際の応用を最もよく説明するために選ばれたものであり、それにより、当業者が、様々な実施形態における本発明を、想定された特定の利用に適切なように様々に修正して利用できる。本発明の範囲は、添付の請求項によって規定されることが意図されている。
【００７５】
本明細書に引用される参考文献
以下の参考文献は、その内容全体を、あらゆる目的のために参照により本明細書に引用したものとする。
【００７６】
米国特許第６，３０７，４８７号「通信システム用の情報付加符号生成器および復号器」
米国特許出願公開第１０／０３２，１５６号「通信システム用の多段符号生成器および復号器」
【図面の簡単な説明】
【００７７】
【図１】図１は、連鎖反応符号を用いてデータを符号化する処理例を示す。
【図２Ａ】図２Ａは、連鎖反応符号化された出力シンボルを復号化するための処理例を示す。
【図２Ｂ】図２Ｂは、図２Ａの復号化グラフに対応する復号化行列を示す。
【図３】図３は、本発明の一実施形態に係る、連鎖反応符号を復号化するために用いられる処理の概観を示す。
【図４Ａ】図４Ａは、図３に示す起動処理の第１の実施形態を示す。
【図４Ｂ】図４Ｂは、図３に示す起動処理３１０の第２の実施形態を示す。
【図５】図５は、図３に示すソースシンボル選択およびデアクティブ化処理の第１の実施形態を示す。
【図６】図６は、図３に示すソースシンボル回復処理の一実施形態を示す。
【図７Ａ】図７Ａは、図３に示すソースシンボル選択処理の第２の実施形態を示す。
【図７Ｂ】図７Ｂは、本発明の一実施形態に係る、等級２の連鎖の復号化グラフを示す。
【図８Ａ】図８Ａは、本発明に係る、修正された復号化行列を示す。
【図８Ｂ】図８Ｂは、本発明の一実施形態に係る、ガウス消去法を復号化行列に適用する処理を示す。
【図９】図９Ａおよび図９Ｂは、本発明の一実施形態に係る、復号化グラフおよび行列を用いたイナクティブ化復号化の例を示す。
【図１０Ａ】図１０Ａは、本発明の一実施形態に係る、多段連鎖反応符号の復号化に有用な、修正された復号化グラフを示す。
【図１０Ｂ】図１０Ｂは、修正された復号化グラフ１０Ａに対応した修正された復号化行列を示す。
【図１１Ａ】図１１Ａは、本発明に係る上述の方法の処理に対応する命令符号を実行するように動作可能なコンピュータシステム例を示す。
【図１１Ｂ】図１１Ｂは、本発明に係る上述の方法に対応する命令符号を実行するために用いられるコンピュータシステム例のシステムブロック略図を示す。
【図１２】図１２Ａ〜Ｂは、入力シンボル数Ｎの様々な値のためのイナクティブ化デコーダの数千のコンピュータシミュレーションを説明する図を示す。
【図１】
2006512790.tif 000012
2006512790.tif 000013
【図３】
2006512790.tif 000014
【図４Ａ】
2006512790.tif 000015
【図４Ｂ】
2006512790.tif 000016
【図５】
2006512790.tif 000017
【図６】
2006512790.tif 000018
【図７Ａ】
2006512790.tif 000019
2006512790.tif 000020
2006512790.tif 000021
2006512790.tif 000022
2006512790.tif 000023
2006512790.tif 000024
2006512790.tif 000025
2006512790.tif 000026
2006512790.tif 000027
【図１１Ｂ】
2006512790.tif 000028
2006512790.tif 000029
2006512790.tif 000030
【国際調査報告】
2006512790.tif 000031
2006512790.tif 000032
2006512790.tif 000033