(57)【要約】      （修正有）【課題】高レート・プロトグラフから低レート・プロトグラフ生成するための方法及び装置を提供する。【解決手段】基本グラフを複製すること、置換されたグラフ作成するために該基本グラフの複製における同一型の辺の端点を置換すること、及び置換されたグラフ中の系統的入力ノードとそれ等に連結される辺を切り取ること、を具備する、高レート・プロトグラフから低レート・プロトグラフ生成するための方法及び装置。符号語ビットの部分集合をパンクチュアすることを具備する低−レート符号から高−レート符号を生成するための方法及び装置、ここで符号語ビットの部分集合をパンクチュアするステップは、先行符号から所望の符号を求めるために、正則−非正則パンクチュアリング、ここで、パンクチュアリング・パターンは、先行の符号に関して出来る限り正則である、ランダム・パンクチュアリング、或いはプログレッシブ・ノード・パンクチュアリングを具備する。【選択図】図１５Ａ
2012090293.tif 000002
【特許請求の範囲】
【請求項１】
高レート・プロトグラフから低レート・プロトグラフを生成する方法であって、
基本グラフを複製すること、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換すること、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取ること
を具備する方法。
【請求項２】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記ステップは、前記基本グラフのガース（girth）を最大化するためにプログレッシブ辺増加法（progressive edge growth method）を使用することを更に具備する、請求項１の方法。
【請求項３】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記ステップは、１辺ずつの仕方でシンボルとチェック・ノードとの間に辺すなわち連結を設定することを更に具備する、請求項１の方法。
【請求項４】
系統的入力ノードを切り取る前記ステップは、（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノードを切り取ることを更に具備する、ここに、Ｎは変数ノードの個数を表し、Ｃはチェック・ノードの個数を表し、そして１／ｍは所望の基準レートを表す、請求項１の方法。
【請求項５】
系統的入力ノードを切り取る前記ステップは、ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノードとそれ等に連結される該辺とを切り取ることを更に具備する、ここに、ｐは該基本グラフの該複製の個数であり、Ｋは変数ノード個数マイナス・チェック・ノード個数であり、ＲＢは所望の基準レートであり、及びＲＬは設計レートである、請求項１の方法。
【請求項６】
前記切り取られた置換されたグラフの前記辺を追加すること、除去すること及び交換することの組合せを使用することによって前記切り取られた入力ノードを最適化することを更に具備する、請求項１の方法。
【請求項７】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記ステップは、前記置換するステップを繰り返すことを更に具備する、請求項２の方法。
【請求項８】
前記プログレッシブ辺増加法は、循環（circulant）ＰＥＧ法である、請求項２の方法。
【請求項９】
基本グラフを複製する前記ステップは、前記基本グラフをｍ−１回複製することを具備する、請求項４の方法。
【請求項１０】
前記基本グラフの前記ｍ−１個の複製中の同一型の辺の端点を置換する前記ステップは、
前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用すること、  置換する前記ステップを繰り返すこと、及び
もし該プログレッシブ辺増加法がランダム・シード（random seed）を含むならば、最小数の最短サイクルを有する該置換されたグラフを抽出すること
を更に具備する前記ステップである、請求項９の方法。
【請求項１１】
符号語ビットの部分集合をパンクチュアすること、
を具備する、低−レート符号から高−レート符号を生成する方法。
【請求項１２】
前記低−レート符号は、親符号である、請求項１１に従う低−レート符号から高−レート符号を生成する方法。
【請求項１３】
符号語ビットの部分集合をパンクチュアする前記ステップは、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該ステップは、
所望の基準レートを持つ親符号を選択すること、
所望のレートの集合中のそれぞれのレートに対して先行符号中のパンクチュアされていない変数ノードの集合を見つけること、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算すること、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａとを計算すること、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアすること、
を具備する該ステップである、請求項１１に従う低−レート符号から高−レート符号を生成する方法。
【請求項１４】
符号語ビットの部分集合をパンクチュアする前記ステップは、変数ノードを無作為にパンクチュアすることを具備する、請求項１１に従う低−レート符号から高−レート符号を生成する方法。
【請求項１５】
符号語ビットの部分集合をパンクチュアする前記ステップは、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアすること、
を具備する前記ステップである、請求項１１に従う低−レート符号から高−レート符号を生成する方法。
【請求項１６】
前記親符号は、
基本グラフを複製すること、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換すること、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取ること
によって生成される前記親符号である、請求項１２に従う低−レート符号から高−レート符号を生成する方法。
【請求項１７】
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記ステップは、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは該所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項１３に従う低−レート符号から高−レート符号を生成する方法。
【請求項１８】
該パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記ステップは、下記の数式を使用する：  
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ，
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの該集合の要素数（cardinality）であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項１３に従う低−レート符号から高−レート符号を生成する方法。
【請求項１９】
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記ステップは、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］、を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内の該パンクチュアされる変数ノードの指標である、請求項１３に従う低−レート符号から高−レート符号を生成する方法。
【請求項２０】
符号語ビットの前記部分集合を無作為に検索することを更に具備し、無作為に検索する前記ステップは、
１）所望の基準レートを持つ親符号を選択すること、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化すること、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つけること、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算すること、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択すること、
６）前記選択された個数の変数ノードをパンクチュアすることによって該先行のレートから符号を構成すること、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法（density evolution）を実行すること、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索すること、前記構成された符号をｗｉｎｎｅｒ符号として設定すること、及び、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定すること、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返すこと
を具備する前記ステップである、請求項１４に従う低−レート符号から高−レート符号を生成する方法。
【請求項２１】
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記ステップは、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアすること、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記ステップである、請求項１５に従う低−レート符号から高−レート符号を生成する方法。
【請求項２２】
前記構成された符号の新しい閾値を繰り返し検索する前記ステップは、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分すること、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断すること、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返すことを具備する前記ステップである、請求項２０に従う低−レート符号から高−レート符号を生成する方法。
【請求項２３】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算すること、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つけること、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算すること、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算すること、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化するステップを具備する前記ステップである、請求項２１に従う低−レート符号から高−レート符号を生成する方法。
【請求項２４】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアするステップを更に具備する、請求項２３に従う低−レート符号から高−レート符号を生成する方法。
【請求項２５】
このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記ステップは、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つけること、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードを該第２集合内の該ノードであると設定すること、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの該個数が＞１であるならば、ステップｃ１−ステップｃ４を実行する、
ｃ１）ステップａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つけること、そこでは前記パンクチュアされていない変数ノードに連結される前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もしステップｃ１の前記部分集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もしステップｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、ステップｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択すること、及び  ｃ４）前記選択された変数ノードをパンクチュアすること、そして前記パンクチュアされた選択済み変数ノードをパンクチュアされていない変数ノードの該集合からパンクチュアすること
を具備する前記ステップである、請求項２４に従う低−レート符号から高−レート符号を生成する方法。
【請求項２６】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、更新するステップを更に具備し、更新する該ステップは、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新すること、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新すること、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新すること、ここで、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される、
を具備する該ステップである、請求項２５に従う低−レート符号から高−レート符号を生成する方法。
【請求項２７】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するステップを更に具備する、請求項２６に従う低−レート符号から高−レート符号を生成する方法。
【請求項２８】
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記ステップは、
パンクチュアリング・スコアをゼロに初期化すること、
ランダム・シードを変更すること、
前記所望のパンクチュアされる符号を得るために、前記先行符号について請求項１５、２１、２３、２４、及び２５の前記諸ステップを実行すること、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算すること、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択すること
を具備する前記ステップである、請求項２７に従う低−レート符号から高−レート符号を生成する方法。
【請求項２９】
高レート・プロトグラフから低レート・プロトグラフを生成するための手段であって、  基本グラフを複製するための手段、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換するための手段、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取るための手段、
を具備する手段。
【請求項３０】
前記基本グラフの前記複製中の同一型の辺の端点を置換するための前記手段は、前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用するための手段を更に具備する、請求項２９の手段。
【請求項３１】
前記基本グラフの前記複製中の同一型の辺の端点を置換するための前記手段は、１辺ずつの仕方でシンボルとチェック・ノードとの間に辺すなわち連結を設定するための手段を更に具備する、請求項２９の手段。
【請求項３２】
系統的入力ノードを切り取るための前記手段は、（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノードを切り取るための手段を更に具備する、ここに、Ｎは変数ノードの個数を表し、Ｃはチェック・ノードの個数を表し、そして１／ｍは所望の基準レートを表す、請求項２９の手段。
【請求項３３】
系統的入力ノードを切り取る前記ステップは、ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノードとそれ等に連結される辺を切り取ることを更に具備する、ここに、ｐは該基本グラフの該複製の個数であり、Ｋは変数ノード個数マイナス・チェック・ノード個数であり、ＲＢは所望の基準レートであり、及びＲＬは設計レートである、請求項２９の手段。
【請求項３４】
前記切り取られた置換されたグラフの前記辺を追加すること、除去すること及び交換することの組合せを使用することによって前記切り取られた入力ノードを最適化することを更に具備する、請求項２９の手段。
【請求項３５】
前記基本グラフの前記複製中の同一型の辺の端点を置換するための前記手段は、前記置換することを繰り返すための手段を更に具備する、請求項３０の手段。
【請求項３６】
前記プログレッシブ辺増加法は、循環ＰＥＧ法である、請求項３０の手段。
【請求項３７】
基本グラフを複製するための前記手段は、前記基本グラフをｍ−１回複製するための手段を具備する、請求項３２の手段。
【請求項３８】
前記基本グラフの前記ｍ−１個の複製中の同一型の辺の端点を置換するための前記手段は、
前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用するための手段、
前記置換することを繰り返すための手段、及び
もし該プログレッシブ辺増加法がランダム・シードを含むならば、最小数の最短サイクルを有する該置換されたグラフを抽出するための手段
を更に具備する前記手段である、請求項３７の手段。
【請求項３９】
符号語ビットの部分集合をパンクチュアするための手段を具備する、低−レート符号から高−レート符号を生成するための手段。
【請求項４０】
前記低−レート符号は、親符号である、請求項３９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４１】
符号語ビットの部分集合をパンクチュアするための前記手段は、符号語ビットの前記部分集合を正則−非正則パンクチュアするための手段を具備し、正則−非正則パンクチュアするための該手段は、
所望の基準レートを持つ親符号を選択するための手段、
所望のレートの集合内のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つけるための手段、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための手段、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａとを計算するための手段、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアするための手段、
を具備する該手段である、請求項３９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４２】
符号語ビットの部分集合をパンクチュアするための前記手段は、変数ノードを無作為にパンクチュアするための手段を具備する、請求項３９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４３】
符号語ビットの部分集合をパンクチュアするための前記手段は、先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアするための手段を具備する、請求項３９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４４】
前記親符号は、
基本グラフを複製するための手段、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換するための手段、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取るための手段
によって生成される前記親符号である、請求項４０に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４５】
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための前記手段は、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは該所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項４１に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４６】
該パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算するための前記手段は、下記の数式を使用する：  
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの該集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項４１に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４７】
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアするための前記手段は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用するための手段を具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの集合内のパンクチュアされる変数ノードの指標である、請求項４１に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４８】
符号語ビットの前記部分集合を無作為に検索するための手段を更に具備し、該無作為に検索するための該手段は、
１）所望の基準レートを持つ親符号を選択するための手段、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化するための手段、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つけるための手段、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための手段、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択するための手段、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成するための手段、
７）前記構成された符号が初期化された信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行するための手段、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索するための、前記構成された符号をｗｉｎｎｅｒ符号として設定するための、及び、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定するための手段、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為検索を繰り返すための手段。
を具備する該手段である、請求項４２に従う低−レート符号から高−レート符号を生成するための手段。
【請求項４９】
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアするための前記手段は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアするための手段、ここでｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記手段である、請求項４３に従う低−レート符号から高−レート符号を生成するための手段。
【請求項５０】
前記構成された符号の新しい閾値を繰り返し検索するための前記手段は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分するための手段、  ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断するための手段、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまで手段ａとｂとを繰り返すための手段
を具備する前記手段である、請求項４８に従う低−レート符号から高−レート符号を生成するための手段。
【請求項５１】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算するための手段、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの集合を見つけるための手段、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算するための手段、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算するための手段、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、により初期化するための手段を具備する前記手段である、請求項４９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項５２】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアするための手段を更に具備する、請求項５1に従う低−レート符号から高−レート符号を生成するための手段。
【請求項５３】
このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけるための前記手段は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つけるための手段、
ｂ）もし手段ａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは、該第２集合内の該ノードであると設定するための手段、
ｃ）もし手段ａの前記第２集合に属する前記パンクチュアされていない変数ノードの該個数が＞１であるならば、手段ｃ１−手段ｃ４を実行するための手段、
ｃ１）手段ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つけるための手段、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の合計は最小である、
ｃ２）もし手段ｃ１で得た前記部分集合内の前記パンクチュアされていない変数ノードの個数が１であるならば、前記パンクチュアされる変数ノードを手段ｃ１における該部分集合内の１つのノードに設定するための手段、
ｃ３）もし手段ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、手段ｃ１からの前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択するための手段、及び
ｃ４）前記選択された変数ノードをパンクチュアするための手段及び、そして前記パンクチュアされた選択済み変数ノードをパンクチュアされていない変数ノードの該集合からパンクチュアするための手段
を具備する前記手段である、請求項５２に従う低−レート符号から高−レート符号を生成するための手段。
【請求項５４】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、更新するための手段を更に具備し、更新するための該手段は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新するための手段、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新するための手段、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新するための手段、ここで、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される、
を具備する更新するための該手段である、請求項５３に従う低−レート符号から高−レート符号を生成するための手段。
【請求項５５】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するための手段を更に具備する、請求項５４に従う低−レート符号から高−レート符号を生成するための手段。
【請求項５６】
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するための前記手段は、
パンクチュアリング・スコアをゼロに初期化するための手段、
ランダム・シードを変更するための手段、
前記所望のパンクチュアされる符号を得るために、前記先行符号について請求項４３、４９、５１、５２、及び５３の前記手段を実行するための手段、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算するための手段、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択するための手段
を具備する前記手段である、請求項５５に従う低−レート符号から高−レート符号を生成するための手段。
【請求項５７】
高レート・プロトグラフから低レート・プロトグラフを生成する符号器であって、該符号器はメモリを具備し、ここにおいて、前記符号器は前記メモリ内に記憶されるソフトウェア命令を実行するために適応させられ、該命令は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取る、
を具備する該命令である、符号器。
【請求項５８】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用することを更に具備する、請求項５７の符号器。
【請求項５９】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、１辺ずつの仕方でシンボルとチェック・ノードとの間に辺すなわち連結を設定することを更に具備する、請求項５７の符号器。
【請求項６０】
系統的入力ノードを切り取る前記命令は、（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノードを切り取ることを更に具備する、ここに、Ｎは変数ノードの個数を表し、Ｃはチェック・ノードの個数を表し、そして１／ｍは所望のレートを表す、請求項５７の符号器。
【請求項６１】
系統的入力ノードを切り取る前記命令は、ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノードとそれ等に連結される該辺を切り取ることを更に具備する、ここに、ｐは該基本グラフの該複製の個数であり、Ｋは変数ノード個数マイナス・チェック・ノード個数であり、ＲＢは所望の基準レートであり、及びＲＬは設計レートである、請求項５７の符号器。
【請求項６２】
前記切り取られた置換されたグラフの前記辺を追加すること、除去すること及び交換することの組合せを使用することによって前記切り取られた入力ノードを最適化する命令を更に具備する、請求項５７の符号器。
【請求項６３】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する前記命令を繰り返すことを更に具備する、請求項５８の符号器。
【請求項６４】
前記プログレッシブ辺増加法は循環ＰＥＧ法である、請求項５８の符号器。
【請求項６５】
基本グラフを複製する前記命令は、前記基本グラフをｍ−１回複製することを具備する、請求項６０の符号器。
【請求項６６】
前記基本グラフの前記ｍ−１個の複製中の同一型の辺の端点を置換する前記命令は、  前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する前記命令を繰り返す、及び
もし該プログレッシブ辺増加法がランダム・シードを含むならば、最小数の最短サイクルを有する該置換されたグラフを抽出する
を更に具備する命令である、請求項６５の符号器。
【請求項６７】
低レート符号から高レート符号を生成する符号器であって、
メモリを具備し、ここにおいて、前記符号器は、前記メモリ内に記憶される命令を実行するために適応させられ、該命令は、
符号語ビットの部分集合をパンクチュアする、
を具備する該命令である、符号器。
【請求項６８】
前記低レート符号は親符号である、請求項６７に従う低レート符号から高レート符号を生成する符号器。
【請求項６９】
符号語ビットの部分集合をパンクチュアする前記命令は、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該命令は、
所望の基準レートを持つ親符号を選択する、
所望のレートの集合中のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つける、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする
を具備する該命令である、請求項６７に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７０】
符号語ビットの部分集合をパンクチュアする前記命令は、変数ノードを無作為のパンクチュアを具備する、請求項６７に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７１】
符号語ビットの部分集合をパンクチュアする前記命令は、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアすること、
を具備する前記命令である、請求項６７に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７２】
前記親符号は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取る命令を実行することによって生成される前記親符号である、請求項６８に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７３】
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記命令は、下記の数式を使用する：
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項６９に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７４】
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記命令は、下記の数式を使用する：
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項６９に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７５】
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記命令は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内のパンクチュアされる変数ノードの指標である、請求項６９に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７６】
符号語ビットの前記部分集合を無作為に検索する命令を更に具備し、無作為に検索する前記命令は、
１）所望の基準レートを持つ親符号を選択する、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化する、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つける、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択する、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成する、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行する、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索し、前記構成された符号をｗｉｎｎｅｒ符号として設定し、そして、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定する、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返す、
を具備する前記命令である、請求項７０に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７７】
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記命令は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアすること、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記命令である、請求項７１に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７８】
前記構成された符号の新しい閾値を繰り返し検索する前記命令は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分する、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断する、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返す
を具備する前記命令である、請求項７６に従う低−レート符号から高−レート符号を生成する符号器。
【請求項７９】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つける、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算する、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化する命令を具備する前記命令である、請求項７７に従う低−レート符号から高−レート符号を生成する符号器。
【請求項８０】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアする命令を更に具備する、請求項７９に従う低−レート符号から高−レート符号を生成する符号器。
【請求項８１】
この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記命令は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つける、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは該第２集合内の該ノードであると設定する、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの個数が＞１であるならば、命令ｃ１−命令ｃ４を実行する、
ｃ１）命令ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つける、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もし命令ｃ１からの前記部分集合内の前記パンクチュアされていない変数ノードの該個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もし命令ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、命令ｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択する、及び
ｃ４）前記選択された変数ノードをパンクチュアして、前記選択されパンクチュアされた変数ノードをパンクチュアされていない変数ノードの集合からパンクチュアすることを具備する前記命令である、請求項８０に従う低−レート符号から高−レート符号を生成する符号器。
【請求項８２】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、更新する命令を更に具備し、更新する該命令は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新する、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新する、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新する、ここで前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される
を具備する該命令である、請求項８１に従う低−レート符号から高−レート符号を生成する符号器。
【請求項８３】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する命令を更に具備する、請求項８２に従う低−レート符号から高−レート符号を生成する符号器。
【請求項８４】
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記命令は、
パンクチュアリング・スコアをゼロに初期化する、
ランダム・シードを変更する、
前記所望のパンクチュアされる符号を得るために、前記先行符号について請求項７１、７７、７９、８０、及び８１の諸命令の前記諸ステップを実行する、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算する、及び  もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択する
を具備する前記命令である、請求項８３に従う低−レート符号から高−レート符号を生成する符号器。
【請求項８５】
高レート・プロトグラフから低レート・プロトグラフを生成するアクセス端末であって、該アクセス端末は、
送信機、
前記送信機に機能的に接続される受信機、
前記送信機と前記受信機に機能的に接続されるプロセッサ、
前記送信機と前記受信機に機能的に接続されるアンテナ、
前記プロセッサに機能的に接続されるメモリ、を具備する、ここに、前記アクセス端末は前記メモリ中に記憶される命令を実行するために適応され、該命令は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取るを具備する該命令である、アクセス端末。
【請求項８６】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用することを更に具備する、請求項８５のアクセス端末。
【請求項８７】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、１辺ずつの仕方でシンボルとチェック・ノードとの間に辺すなわち連結を設定することを更に具備する、請求項８５のアクセス端末。
【請求項８８】
系統的入力ノードを切り取る前記命令は、（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノードを切り取ることを更に具備する、ここに、Ｎは変数ノードの個数を表し、Ｃはチェック・ノードの個数を表し、そして１／ｍは所望のレートを表す、請求項８５のアクセス端末。
【請求項８９】
系統的入力ノードを切り取る前記命令は、ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノードとそれ等に連結される該辺を切り取ることを更に具備する、ここに、ｐは該基本グラフの該複製の個数であり、Ｋは変数ノード個数マイナス・チェック・ノード個数であり、ＲＢは所望の基準レートであり、及びＲＬは設計レートである、請求項８５のアクセス端末。
【請求項９０】
前記切り取られている置換されたグラフの前記辺を追加すること、除去すること及び交換することの組合せを使用することによって前記切り取られた入力ノードを最適化する命令を更に具備する、請求項８５のアクセス端末。
【請求項９１】
前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する前記命令を繰り返すことを更に具備する、請求項８６のアクセス端末。
【請求項９２】
前記プログレッシブ辺増加法は循環ＰＥＧ法である、請求項８６のアクセス端末。
【請求項９３】
基本グラフを複製する前記命令は、前記基本グラフをｍ−１回複製することを具備する、請求項８８のアクセス端末。
【請求項９４】
前記基本グラフの前記ｍ−１個の複製中の同一型の辺の端点を置換する前記命令は、  前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する前記命令を繰り返す、及び
もし該プログレッシブ辺増加法がランダム・シードを含むならば、最小数の最短サイクルを有する該置換されたグラフを抽出する
を更に具備する前記命令である、請求項９３のアクセス端末。
【請求項９５】
低−レート符号から高−レート符号を生成するアクセス端末であって、該アクセス端末は、
送信機、
前記送信機に機能的に接続される受信機、
前記送信機と前記受信機に機能的に接続されるプロセッサ、
前記送信機と前記受信機に機能的に接続されるアンテナ、
前記プロセッサに機能的に連結されるメモリ、を具備する、ここに、前記アクセス端末は前記メモリ中に記憶されるソフトウェア命令を実行するために適応され、該命令は、  符号語ビットの部分集合をパンクチュアする、
を具備する該命令である、アクセス端末。
【請求項９６】
前記低レート符号は親符号である、請求項９５に従う低レート符号から高レート符号を生成するアクセス端末。
【請求項９７】
符号語ビットの部分集合をパンクチュアする前記命令は、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該命令は、
所望の基準レートを持つ親符号を選択する、
所望のレートの集合中のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つける、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする
を具備する該命令である、請求項９５に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項９８】
符号語ビットの部分集合をパンクチュアする前記命令は、変数ノードの無作為のパンクチュアを具備する、請求項９５に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項９９】
符号語ビットの部分集合をパンクチュアする前記命令は、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする、
ことを具備する前記命令である、請求項９５に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１００】
前記親符号は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取る命令を実行することによって生成される前記親符号である、請求項９６に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０１】
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記命令は、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応するリフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項９７に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０２】
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記命令は、下記の数式を使用する：
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項９７に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０３】
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記命令は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内のパンクチュアされる変数ノードの指標である、請求項９７に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０４】
符号語ビットの前記部分集合を無作為に検索する命令を更に具備し、無作為に検索する前記命令は、
１）所望の基準レートを持つ親符号を選択する、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化する、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つける、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択する、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成する、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行する、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索し、前記構成された符号をｗｉｎｎｅｒ符号として設定し、そして、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定する、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返す、
を具備する前記命令である、請求項９８に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０５】
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記命令は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアする、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記命令である、請求項９９に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０６】
前記構成された符号の新しい閾値を繰り返し検索する前記命令は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分する、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断する、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返す
を具備する前記命令である、請求項１０４に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０７】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つける、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算する、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化する命令を具備する前記命令である、請求項１０５に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０８】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアする命令を更に具備する、請求項１０７に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１０９】
この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記命令は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つける、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは該第２集合内の該ノードであると設定する、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの個数が＞１であるならば、命令ｃ１−命令ｃ４を実行する、
ｃ１）命令ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つける、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もし命令ｃ１からの前記部分集合内の前記パンクチュアされていない変数ノードの該個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もし命令ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、命令ｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択する、及び
ｃ４）前記選択された変数ノードをパンクチュアして、前記選択されパンクチュアされた変数ノードをパンクチュアされていない変数ノードの集合からパンクチュアすることを具備する前記命令である、請求項１０８に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１１０】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、更新する命令を更に具備し、更新する該命令は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新する、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新する、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新する、ここで前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される
を具備する該命令である、請求項１０９に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１１１】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する命令を更に具備する、請求項１１０に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項１１２】
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記命令は、
パンクチュアリング・スコアをゼロに初期化する、
ランダム・シードを変更する、
前記所望のパンクチュアされる符号を得るために、前記先行符号について請求項７１、７７、７９、８０、及び８１の諸命令の前記諸ステップを実行する、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算する、及び  もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択する
を具備する前記命令である、請求項１１１に従う低−レート符号から高−レート符号を生成するアクセス端末。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本特許出願は、２００６年１月６日に出願された、“高スループット・アプリケーションのためのＨ−ＡＲＱレート・コンパチブル符号を提供するためのシステム及び方法”と題する米国特許仮出願番号第６０／７５６，７５８号に優先権を主張するもので、本出願の全開示は、該開示の一部であると考えられる。
【技術分野】
【０００２】
本発明は、一般に通信に係わり、そして特に、高スループット・アプリケーションのためのハイブリッド自動再送要求（hybrid automatic request）（Ｈ−ＡＲＱ）レート・コンパチブル符号に関する。
【背景技術】
【０００３】
一般に、データ通信の場合では、受信者は、受信されたそれぞれのビットを雑音又は歪みのある状態で観測しそしてビット値の指示のみを観測するに過ぎない。これ等の条件下では受信者は、該観測された値を“ソフト”ビット源と解釈する。ソフト・ビットは、ビット値、即ち１又は０、の好ましい推定値を、該推定値の信頼度の何らかの指標と共に示す。誤りの数が比較的低い場合、例え少数の誤り又は低水準の歪みでもデータを使用不可にする結果を招く可能性があり、或いは伝送誤りの場合、データの再伝送を必要とさせることがある。
【０００４】
誤りを検出するための、そしてある場合には、誤りを訂正するための手段を提供するために、バイナリ・データは、注意深く設計された冗長性を導入するために符号化されることが出来る。データのユニットの符号化は、通常符号語と呼ばれるものを作る。その冗長性の故に、符号語は、該符号語が生成される元のデータの入力ユニットよりも多数のビットを多くの場合に含む。
【０００５】
伝送された符号語から生ずる信号が受信され又は処理されるとき、該信号中に観測されるような符号語に含まれる冗長情報は、元のデータ・ユニットを復元するために、誤りを識別しそして／又は訂正するために、或いは受信信号から歪みを除去するために、使用されることが出来る。このような誤り検出及び／又は訂正は、復号処理の一部として実施されることが出来る。誤りのない場合、或いは修正可能な誤り又は歪みの場合、復号は、処理されるソース・データから符号化された元のデータ・ユニットを復元するために、使用されることが出来る。復元不可能な誤りの場合、復号処理は、元のデータが完全には復元されることが出来ないという何らかの指示を作成することがある。復号失敗のこれ等の復号失敗指示は、該データの再伝送を開始するために使用されることが出来る。
【０００６】
通信システムは、しばしば数種の異なるレートで動作する必要がある。その実施を出来る限り単純に保って異なるレートでの符号化及び復号化に備えるための１つの方法は、低密度パリティ検査（low-density-parity check）（ＬＤＰＣ）符号を用いることである。特に、ＬＤＰＣ符号は、低−レート符号をパンクチャすることによって高−レート符号を生成するために使用される。レート適応を採用する通信システムに関しては、転送データ・レートは、システムの状態と要求に従って調節される必要があり得る。レート適応は、通信システム、及びそのコンポーネントが、データ・レートを現在のチャネル状態に柔軟かつ効率的に適応させることを可能にする。一般的な誤り訂正設計は、例えば、固定の符号、ある一定のレートと訂正能力を備えた符号、を選択する。種々の異なる誤り保護要求を有する種々の異なる量のデータを処理するための柔軟性を付加するために、該レートは、不十分にしか知られないパラメータを補償することと同様に、時間的に変動するチャネル状態に適応させられる。
【０００７】
フレキシブル・チャネル符号化に関しては、データ・ビットは、変動サイズのブロックにグループ化されることが出来て、これ等のブロックは、種々の異なる大きさの冗長性を用いて符号化されることが出来る。数個の分離した誤り訂正符号を使用して種々の異なるビット・グループを符号化する代わりに、数種のレートに適応することが出来る単一の親符号を使用することが望ましい。移動体通信システムの急速な進展に伴い、ハイブリッドＡＲＱの高スループット・アプリケーションにとって好適なレート・コンパチブルＬＤＰＣ符号に対する技術の必要性が残されている。
【０００８】
ＬＤＰＣ法は、雑音の非常に多い環境で符号語を復元することが出来る。通信チャネル・モデルの２つの例は、バイナリ消去チャネル（binary erasure channel）（ＢＥＣ）とバイナリ対称チャネル（binary symmetric channel）（ＢＳＣ）である。これ等のチャネルは、図１Ａと図１Ｂに図説される。入力は、バイナリ値であり、そこでは、入力は値０又は１を有する複数のビットで構成される。
【０００９】
出力に関しては、ＢＥＣは、０、１又は消去箇所を有する。ビットが正しく伝送される確率は、１−ｐであって、ビットが誤って伝送される、即ち、消去される、確率は、ｐである。ＢＳＣに関しては、出力は、０又は１である。ビットが正しく伝送される確率は、１−ｐであって、ビットが誤って伝送される、即ち、１が送られたとき０が受信される及びこの逆が生じる、確率は、ｐである。
【００１０】
ＬＤＰＣ符号は、散在する２部グラフ（bipartite graph）から生成される線形符号である。２部グラフは、バイグラフ（bigraph）とも呼ばれ、同一集合内のどの２つのグラフ頂点も隣接しないような２つの互いに素な集合に分解されるグラフ頂点の集合である。２部グラフは、ｋ＝２を持つｋ通りのグラフの特別な場合である。もし２つの集合内にｐ個及びｇ個のグラフ頂点がある場合、その完全２部グラフは、Ｋｐ，qと記される。散在するということによって、ＬＤＰＣ符号が特別なクラスの線形ブロック符号であって、そのパリティ検査行列Ｈが低密度の１を有することを、意味する。この散在するという性質は、低い複雑性の復号を与え、単純な実施に導く。図２は、このようなグラフの一例である。該グラフは、左側にＶ個の変数ノードｖｉと右側にＣ個のチェック・ノードｃｊを含む。Ｖ個の変数ノードは、メッセージ・ノード又は系統的ノードとも呼ばれる。
【００１１】
該２部グラフは、Ｃ行Ｖ列の単純化された隣接行列Ｈによって表わされる。図３参照。図３は、バイナリ散在Ｃ×Ｖパリティ検査行列Ｈの一例である。もしｊ番目のチェック・ノードがｉ番目の変数ノードに１つの辺によって連結されるならば、すなわち該２つのノードが隣接点であるならば、その場合パリティ検査行列Ｈのｊ行ｉ列は、１である。すなわち、ｉ行とｊ列の交差点は、１つの辺が対応する頂点を結ぶ場合“１”を含み、辺がない場合“０”を含む。変数ノードとコンストレイント（constraint）（又はチェック）ノードは、もしそれらがグラフ中で１つの辺により連結されるならば、隣接点であると言われる。グラフ中の辺、Ｅ、は、変数ノードをコンストレイント・ノード又はチェック・ノードに連結し、そしてそれぞれの辺は、パリティ検査行列のゼロでない成分に対応する。行列Ｈの各行は、チェック・ノードに対応してパリティ検査を表し、そして、各列は、変数ノードの１つに対応して変調されたシンボルを表す。５つの変数ノードと３つのチェック・ノードがあるので、該行列は、５列と３行を含む。
【００１２】
変調されたシンボル数、すなわち変数ノード数Ｎは、ＬＤＰＣ符号長である。行（列）中の非ゼロ要素の数は、行（列）重みｄｃ（ｄｖ）と定義される。正則グラフ、又は符号は、全ての変数ノードが同一次数、例えばｊ、を有するものであり、全てのコンストレイント・ノードが同一次数、例えばｋ、を有するものである。この場合、われわれは、その符号が、（ｊ，ｋ）正則符号であると言う。他方、非正則符号は、異なる次数のコンストレイント・ノード及び／又は変数ノードを有する。例えば、ある変数ノードは、次数４であり、他のノードは、次数３であり、そして更に他のノードは、次数２であることが出来る。
【００１３】
各変数ノードに対し１ビットの符号語が関連付けられる。もし、各コンストレイント・ノードに対して、該コンストレイントに隣接する（変数ノードとの関連付けを介する）複数ビットの合計がモジュロ２で０になる、すなわち該複数ビットが偶数個の１を含むならばそしてその場合に限り、変数ノード列と１対１に関連付けられるビット列は、該符号の符号語である。ある場合には、下記で更に論じられるように、これ等のビットのあるものは、パンクチュアされている或いは既知であることがあり得る。パンクチュアリングは、符号語から複数のビットを除去して実質的により短い符号語を作る動作である。ＬＤＰＣグラフの場合、これはグラフ中のある複数の変数ノードが実際には伝送されないビットに対応することを意味する。
【００１４】
ＬＤＰＣ符号語を復号するために使用される復号器と復号アルゴリズムは、グラフ内で辺に沿ってメッセージを交換し、そして、入力メッセージに基づいてノードで計算を実行することによりこれ等のメッセ−ジを更新することによって、機能する。このような方法は、一般にメッセージ・パシング法（message passing method）と呼ばれる。グラフ中のそれぞれの変数ノードは、例えば通信チャネルからの観測によって決定されるような関連ビット値の推定値示す、受信値と呼ばれる、ソフト・ビットを初めに与えられる。理想的には、別個のビットの推定値は、統計的に独立である。この理想は、実際には破られることがある。受信された語は、受信された値の集合から成る。
【００１５】
ノードの次数は、該ノードに連結される辺の数のことを指す。この特徴は、図３に示されるＨ行列で図説され、そこでは、ｖｉに連結する辺の数は、列ｉにおける１の数に等しく変数ノード次数ｄ（ｖｉ）と呼ばれる。同様に、ｃｊと連結する辺の数は、行ｊにおける１の数に等しくチェック・ノード次数ｄ（ｃｊ）と呼ばれる。
【００１６】
ハイブリッドＡＲＱアプリケーションでは、全てのデータ・シンボルは、最初の伝送期間高いレートの符号を用いて送信される。もし該パケットが首尾よく復号されなかったならば、送信側は、更に多くの冗長シンボルを送って既に送信されたパケットの信頼性を向上させる。これ等の冗長シンボルは、先に受信されたパケットと結合されると、情報ビットが追加された冗長シンボルによってパンクチュアされるので、比較的低いレートの別の符号語を作る。送信側は、冗長シンボルを増加させるように送り、従って、受信側が該パケットの復号成功を確認するまで送信されるパケットの全体的なレートを低下させる。先行技術におけるレート・コンパチブル構造化されたＬＤＰＣ符号は、プロトグラフ・レベルにおける情報ブロック・サイズが一定ではないと言う望ましくない性質を有することがあって、このことは、該符号をＨ−ＡＲＱアプリケーションにとって不適当なものにしていると云える。加えて、先行技術では、低レート構造化されたＬＤＰＣ符号は、パンクチュアされた変数ノードが非常に高い次数を有すると言う望ましくない性質を有する可能性がある。それ故、変数ノードをパンクチュアして高いレートを達成することは、困難であると云える。
【発明の概要】
【００１７】
上記の観点において、本発明の記載される特徴は、一般に言語を通信するための１又は複数の改良されたシステム、方法及び／又は装置に係わる。
【００１８】
１つの実施形態では、本特許出願は、高レートのプロトグラフから低レートのプロトグラフを生成するための方法及び装置を具備し、該方法及び装置は、基本グラフを複製すること、置換されたグラフを作成するために該基本グラフの複製中の同一型の辺の端点を置換すること、及び、該置換グラフ中の系統的入力ノード及び該ノードに連結される辺を切り取ること、を具備する。
【００１９】
別の実施形態では、本特許出願は、低レートの符号から高レートの符号を生成するための方法及び装置を具備し、該方法及び装置は、符号語ビットの部分集合をパンクチュアすることを具備する、ここで、符号語ビットの部分集合をパンクチュアするステップは、符号語ビットの部分集合の正則−非正則パンクチュアリング、変数ノードのランダム・パンクチュアリング、或いは先行の符号から所望の符号を求めるための変数ノードのプログレッシブ（progressive）ノード・パンクチュアリング、を具備する。
【００２０】
本方法及び装置の更なる適用範囲は、下記の詳細な説明、請求の範囲、及び図面から明らかになる。しかしながら、詳細な説明と具体例は、本発明の好ましい実施形態を示すものではあるけれども、本発明の精神と範囲の中で種々の変更と修正が当業者等にとっては明白になるから、専ら説明だけのために与えられることが理解されるべきである。
【図面の簡単な説明】
【００２１】
【図１Ａ】本発明の消去確率ｐを持つ２元消去チャネル（ＢＥＣ）の一例を示す図。
【図１Ｂ】本発明の誤り確率ｐを持つ２元対称チャネル（ＢＳＣ）の一例を示す図。
【図２】本発明の２部グラフの一例を示す図。
【図３】本発明の散在したバイナリＭ×Ｎパリティ検査行列Ｈの一例を示す図。
【図４】本発明のＥ＝８個の辺で連結されるＶ＝４個の変数ノードとＣ＝３個のチェック・ノードから成るプロトグラフの一例を示す図。
【図５Ａ】本発明の高レート・プロトグラフから低レート・プロトグラフを生成するときに実行される諸ステップを図説する流れ図を示す図。
【図５Ｂ】本発明の、設計レートが１／ｍの場合に、高レート・プロトグラフから低レート・プロトグラフを生成するときに実行される諸ステップを図説する流れ図を示す図。
【図６】本発明の基本グラフＢの一例を示す図。
【図７】本発明の基本グラフＢのｎ−１個の複製を、ｎ＝４の場合について、示す図。
【図８】本発明の基本グラフＢのｎ−１個の複製において同一型の端点を置換することによって生成される基本グラフＢ＿（ｎ−１）を示す図。
【図９】本発明の置換されたグラフＢ＿（ｎ−１）の切り取られたバージョンを示す図。
【図１０】本発明のチェック・ノード０から変数ノード８への辺を追加することによって置換されたグラフＢ＿（ｎ−１）を最適化することを示す図。
【図１１Ａ】本発明の基本の１／２ＡＲＣＡ符号のプロトグラフを示す図。
【図１１Ｂ】本発明の２／３のレートをもたらす変数ノード３がパンクチュアされたプロトグラフを示す図。
【図１１Ｃ】本発明の２／３のレートをもたらす変数ノード４がパンクチュアされたプロトグラフを示す図。
【図１２】本発明の正則−非正則パンクチュアリング方法で実行される諸ステップを図説する流れ図を示す図。
【図１３Ａ】本発明のレート１／２のパンクチュアされていないＡＲＣＡ符号を持つグラフを示す図。
【図１３Ｂ】本発明のレート０．６の符号に対するパンクチュアリング・パターンを有するグラフを示す図。
【図１３Ｃ】本発明のレート２／３に対するパンクチュアリング・パターンを有するグラフを示す図。
【図１４】本発明のランダム検索法で実行される諸ステップを図説する流れ図を示す図。
【図１５Ａ】本発明のプログレッシブ・ノード・パンクチュアリング方法で実行される諸ステップを図説する流れ図を示す図。
【図１５Ｂ】本発明のプログレッシブ・ノード・パンクチュアリング方法で実行される諸ステップを図説する流れ図を示す図。
【図１６】本発明の符号器、復号器及び通信チャネルを具備するシステムの機能的ブロック図を示す図。
【図１７】本発明のアクセス端末の一実施形態を図説する機能的ブロック図を示す図。
【図１８Ａ】本発明の高レート・プロトグラフから低レート・プロトグラフを生成するときに実行される諸ステップを図説する機能的ブロック図を示す図。
【図１８Ｂ】本発明の、設計レートが１／ｍの場合に、高レート・プロトグラフから低レート・プロトグラフを生成するときに実行される諸ステップを図説する機能的ブロック図を示す図。
【図１９】本発明の正則−非正則パンクチュアリング方法で実行される諸ステップを図説する機能的ブロック図を示す図。
【図２０】本発明のランダム検索法で実行される諸ステップを図説する機能的ブロック図を示す図。
【図２１Ａ】本発明のプログレッシブ・ノード・パンクチュアリング方法で実行される諸ステップを図説する機能的ブロック図を示す図。
【図２１Ｂ】本発明のプログレッシブ・ノード・パンクチュアリング方法で実行される諸ステップを図説する機能的ブロック図を示す図。
【発明を実施するための形態】
【００２２】
ここに開示される方法及び装置の特徴、目的、及び利点は、図面を使用して下記に記載される詳細な説明から更に明らかになる。図面では、一貫して対応するものは、同じ参照符号で識別する。
【００２３】
“例示的な（exemplary）”という用語は、本明細書中では“例、例証、又は実例として働く”ということを意味するために使用される。本明細書中で“例示的な”と記載される何れの実施形態も、他の実施形態に対して好ましい又は有利であると解釈される必要はない。
【００２４】
本明細書中でアクセス端末（access terminal）（ＡＴ）１０６と呼ばれる、ＨＤＲ加入者局は、移動局又は固定局であることが出来て、本明細書でモデム・プール・トランシーバ（Modem Pool Transceiver）（ＭＰＴ）と呼ばれる、１又は複数のＨＤＲ基地局８２０と通信することが出来る。アクセス端末１０６は、１又は複数のモデム・プール・トランシーバ８２０を介して本明細書中でモデム・プール制御器（Modem Pool Controller）（ＭＰＣ）８１０と呼ばれるＨＤＲ基地局制御器８１０にデータ・パケットを送受信する。モデム・プール・トランシーバ８２０とモデム・プール制御器８１０は、アクセス・ネットワーク（access network）（ＡＮ）１２２と呼ばれるネットワークの部分である。アクセス・ネットワーク１２２は、複数のアクセス端末１０６間でデータ・パケットを輸送する。アクセス・ネットワーク１２２は、更に、企業内イントラネット或いはインターネットのような、アクセス・ネットワーク１２２外部のさらなるネットワークに接続されて、各アクセス端末１０６とそのような外部ネットワーク１２２との間でデータ・パケットを輸送することが出来る。１又は複数のモデム・プール・トランシーバ８２０とアクティブなトラヒック・チャネル接続を樹立したアクセス端末１０６は、アクティブア・クセス端末１０６と呼ばれて、トラヒック状態にあると言われる。１又は複数のモデム・プール・トランシーバ８２０とアクティブなトラヒック・チャネル接続を樹立する過程にあるアクセス端末１０６は、接続準備状態にあると言われる。アクセス端末１０６は、無線チャネル５５６を介して通信する、或いは例えば光ファイバや同軸ケーブルのような有線チャネルを介して通信する、任意のデータ・デバイスであることが出来る。アクセス端末１０６は、更にＰＣカード、コンパクト・フラッシュ、外部又は内部モデム、或いは無線又は有線電話機を含むがこれ等に限定されない多数の型のデバイスのうちの任意のものであり得る。アクセス端末１０６が信号をモデム・プール・トランシーバ８２０に送る通信回線は、逆方向リンクと呼ばれる。モデム・プール・トランシーバ８２０が信号をアクセス端末１０６に送る通信回線は、順方向リンクと呼ばれる。
【００２５】
高レート・プロトグラフから低レート・プロトグラフを生成すること
第１の実施形態では、本特許出願は、構造化低レートＬＤＰＣ符号を生成するための系統的な簡易方法を具備する。これ等の低レート符号は、標準的なターボ符号よりも性能が優れていると言え、そして高速並列復号にとって馴染みやすい固有の構造を有することが出来る。これ等の符号は、平均白色ガウス雑音（average white Gaussian noise）（ＡＷＧＮ）チャネルについて高性能を有しそして消去及びパンクチュアリングに対して頑健である。即ち、これ等の低レート構造化されたＬＤＰＣ符号は、消去チャネルについての高性能と同様にＡＷＧＮチャネルについての低閾値を有することが出来る。これ等の符号は、高スループット・アプリケーションに対しても好適である。これ等の符号は、ハイブリッドＡＲＱアプリケーションにおける使用のためのレート・コンパチブル・ファミリーにおける親符号としての役を務めることが出来る。
【００２６】
比較的高レートのプロトグラフ１０から開始して、本特許出願は、より低レートのプロトグラフ１０を構成するための系統的方法を開示する。低レートのプロトグラフ１０は、複製−及び−置換法を用いてより高レートのプロトグラフから導かれる。該方法では、より大きなプロトグラフ１０（即ち、低レートのプロトグラフ１０）がプログレッシブ辺増加（progressive edge growth）（ＰＥＧ）を使用して高レートのプロトグラフ（又は基本グラフ１２）から構成されて、その外因的なサイクル情報判定基準の改良と同様にプロトグラフ１０のガース（girth）の最大化を行う。これは、次に、所望のレートを達成するために、計算された個数の入力ノード２０とそれ等に連結される辺１５を切り取ることによって引き継がれる。ＡＷＧＮ及び消去チャネルについての密度発展法（density evolution）に基づいて、プロトグラフ１０は、次に該プロトグラフ１０中に非常に少数の辺１５を加える／交換することによって更に最適化されることが出来る。（密度発展法解析は、業界では公知の方法であって、それはプロトグラフ１０について遂行されることができ、復号が大きな導出されるグラフ１０について任意の小さなビット誤り確率をもたらすか否かを判定する。この技術では、メッセージ−パシング（message-passing）法で定義されるメッセージは、ランダム変数として取り扱われ、そしてそれ等の分布が計算される）。
【００２７】
プロトグラフ１０は、任意の２部グラフであることが出来る。しかしながら、それは、一般的には少数のノードを持つ２部グラフである。一般的なプロトグラフ１０は、メッセージ又は変数ノード２０の集合、チェック・ノード２５の集合、及び辺１５の集合から成る。辺１５は、変数ノード２０をチェック・ノード２５に連結する。更に、平行辺１５が許される、従ってマッピングは、１：１ではないことがある。
【００２８】
単純な例として、我々は、図４に示されるプロトグラフ１０を考える。このグラフは、Ｅ＝８本の辺１５によって連結される、Ｖ＝４個の変数ノード２０とＣ＝３個のチェック・ノード２５から成る。該プロトグラフ中の４個の変数ノード２０は、“ｖ１、ｖ２、ｖ３、ｖ４”によって示され、そして３個のチェック・ノードは、“ｃ１、ｃ２、ｃ３”によって示される。それだけで、このグラフ１０は、（ｎ＝４，ｋ＝１）ＬＤＰＣ符号、この場合には反復符号、の２部グラフと認められることが出来る、ここで、ｋとｎはそれぞれ情報ブロックと符号語の長さである。図４の２部グラフは、長さ４及びレート１／４の非正則ＬＤＰＣ符号を決定するために使用される。長さ４は、それぞれ１ビットの符号語ｘ１、ｘ２、ｘ３、ｘ４で識別され（そしてこの場合パンクチュアリングはない）、４個の変数ノード２０ｖ１、ｖ２、ｖ３、ｖ４があることを示す。レート１／４は、４個の変数ノード２０に対して３個のチェック・ノード２５があることを示す。
【００２９】
本発明の方法と装置の１つの利点は、結果として得られるプロトグラフ１０が高い連結度を持つ高次数のパンクチュアされる変数ノードＶ２０を持たないことである。別の利点は、プロトグラフ１０を設計する複雑性が低いことである。我々は、Ｈ−ＡＲＱレート・コンパチブル符号を構成するために、パンクチュアすること及び拡張すること双方に対して適切な符号を求めることが出来る。該符号の構成は、本来的な並列処理と高速復号構造及び高スループットを結果としてもたらす。結果得られるプロトグラフ１０は、高速復号構造をもたらす、累算器、反復器、及び置換器によって構成されそして表現されることが出来る。
【００３０】
より高レートの基本符号から良好な低レートの符号を生成すること
これ等の符号を生成するとき、下記の仮定が行われる。
【００３１】
基本プロトグラフＢは、Ｎ個の変数ノード２０とＣ個のチェック・ノード２５とを有する。Ｎｔ個の変数ノード２０は、パンクチュアされる（隠される）。
【００３２】
基本グラフＢ１２中の変数ノード２０とチェック・ノード２５の個数は、それぞれＮ及びＣである。
【００３３】
基本グラフＢ１２は、Ｎ−Ｃ個の系統的入力ノード２０とＮｔ個のパンクチュアされる冗長ノード２０とを有する、ここに、Ｋ＝Ｎ−Ｃである。即ち、プロトグラフＢ中のパンクチュアされる変数ノード２０の個数であるＮｔがある。
【００３４】
基本（高レート）プロトグラフのレートは、ＲＢ＝Ｋ／（Ｎ−Ｎｔ）である。
【００３５】
図５Ａは、レートＲＢの高レート・プロトグラフ１０からレートＲＬの低レート・プロトグラフ１０を生成するときに実行される諸ステップの順序を図説する流れ図である（９０）。
【００３６】
基本グラフＢ１２のｐ個の複製を生成する（ステップ９１）。
【００３７】
ＰＥＧ法又はその変形を使用してＢのｐ個の複製から別のプロトグラフ１０Ｂｐを構成しプロトグラフ１０のガースを最大化する。
【００３８】
ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノード２０とそれ等１０に連結される辺１５を切り取ることによってＢｐからプロトグラフ１０Ｌを構成する（ステップ９３）。
【００３９】
切り取られる入力ノード２０の選択を最適化して良好なＡＷＧＮと消去閾値を得る（ステップ９４）。
【００４０】
さらなる最適化が、少数の辺１５操作、例えば前記切り取られた置換グラフ１０の前記辺１５を追加、除去、交換するような操作、を使用することによって行われ得る（ステップ９５）。
【００４１】
ＰＥＧ法とその変形は、それ等の中に何らかの無秩序性を有することがあり得る。そのような場合、ＰＥＧ構成は、最大繰返し数が到達されるまで繰り返されることが出来る（ステップ９６）。すなわち、最大繰返し数が到達されるまでステップ９２−９５を繰り返す。
【００４２】
下記は該方法の特別な場合の説明であって、そこでは、下記の仮定が行われる。
【００４３】
基本グラフ１２、Ｂ、のレートは、０．５である。
【００４４】
設計レートは、１／ｍ（１／ｍ＜１／２）である（符号の長さであるｎとの混同を避けるためにｍが導入される）。
【００４５】
図５Ｂは、高レート・プロトグラフ１０から低レート・プロトグラフ１０を生成するときに実行される諸ステップの順序を図説する流れ図である（１００）。
【００４６】
ステップ１１０−基本すなわち親グラフ１２、Ｂ、をｍ−１回複製する。図６は、基本グラフＢ１２の一例を図説する。図７は、基本グラフＢ１２のｍ−１個の複製を図説する、ここに、ｍ＝４である。
【００４７】
ステップ１２０−基本グラフＢ１２のｎ−１個の複製において同一型の辺１５の端点を置換することにより置換グラフＢ＿（ｍ−１）１４を構成する。図６は、このステップを図説する。１つの実施形態では、辺１５の置換は、グラフ１４のガースを最大化するために、プログレッシブ辺増加（ＰＥＧ）法を使用して実行される。プログレッシブ辺増加は、１辺ずつの仕方で変数（又はシンボル）ノード２０とチェック・ノード２５間に辺１５すなわち連結を設定することを含む。その基本思想は、最も遠いチェック・ノード２５を見つけることであり、そして次に該シンボル・ノード２０と該最も遠いチェック・ノード２５を連結する新しい辺を設置することである。ステップ１２０では、ＰＥＧ法が置換グラフＢ＿（ｍ−１）１４を構成するために使用された。ＡＣＥ−ＰＥＧ法、循環（Circulant）−ＰＥＧ法又は循環−ＡＣＥ−ＰＥＧ法のようなＰＥＧ法の他の変形が辺を置換するために使用されることが出来る。
【００４８】
下記は、ガースの説明である。もしグラフ中の２つの頂点ｘとｙが連結されるならば、その場合それ等の距離ｄ（ｘ，ｙ）は、該２つの頂点を結ぶ最短路の長さ（辺の数）として定義される。ｘから始まりｘで終了する辺１５を持つ閉路は、ｘのサイクルと呼ばれる。ガースｇは、グラフ中での最短サイクルのことである。
【００４９】
ステップ１１０とステップ１２０を図説する簡単な例として、我々は、図６に示される基本グラフ１２を考える。このグラフは、円で表わされるＮ＝５個の変数ノードと四角の箱によって表わされるＣ＝３個のチェック・ノード２５から成る。変数ノード２０とチェック・ノード２５は、Ｅ＝１４本の辺１５によって連結される。それだけで、このグラフは、（ｎ＝５，ｋ＝２）ＬＤＰＣ符号のタナー（Tanner）グラフとして認められることが出来る、ここで、ｋ＝Ｎ−Ｃである。
【００５０】
目標レートの１／４に対して、ｍ＝４である。我々は、図７と図８に図説される、複製−及び−置換操作によってより大きなグラフを求めることが出来る。図７では、図６の基本グラフＢ１２が３回（ｍ−１＝３）複製された。ここで、３枚の複製は、同一型の頂点が近接するように重ねられる、しかし全体のグラフは、３つの非連結部分グラフから成る。
【００５１】
図８では、基本グラフ１２におけるそれぞれの辺１５の３つの複製の端点が、対応する変数ノード２０とチェック・ノード２５の３つの複製の間で、置換された。辺１５の端点のこの交換の後、３つの基本グラフ１２は、置換グラフＢ＿（ｍ−１）１４を作成するためにここで互いに連結される。
【００５２】
ステップ１２５−もしＰＥＧ法がランダム・シード（random seed）を含むならば、制限反復回数の間、先行のステップを繰り返す（即ち、最大回数の反復が達せられ（ステップ１２７））そして（最大ガースを持つ）最小数の最短サイクルを有する置換グラフＢ＿（ｍ−１）１４を抽出する（ステップ１２９）。
【００５３】
ステップ１３０−置換グラフＢ＿（ｍ−１）１４中の（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノード２０とそれ等に連結される辺１５を切り取って、別の１つプロトグラフ、Ｐ１７、を得る。４個の系統的（又は変数）ノード２０が切り取られた置換グラフＢ＿（ｍ−１）１４の切り取られたバージョンを図説する図９を参照されたい。切り取られたノードは、番号を含まない、即ちそれ等は、ブランクである。上述のように、ｍ＝４、Ｎ＝５個の変数ノード２０とＣ＝３個のチェック・ノード２５及びＫ＝５−３＝２である。それ故、（Ｎ−Ｃ）（ｍ−２）＝（５−３）（４−２）＝（２）（２）＝４である。ステップ１３０では、本方法及び装置は、総数（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノード２０を切り取る。これ等のノードは、通常基本プロトグラフＢ１２中の系統的ノード２０の内の任意の（ｍ−２）個の複製として選択される。ほとんどの場合、切り取られる複製の選択は、これ等の複製全体に亘るプロトグラフＢ＿（ｍ−１）１４における対称性のために、性能に影響しない。しかしながら、もしそのような対称性が存在しないならば、系統的入力ノード２０の全ての可能な（Ｎ−Ｃ）（ｍ−２）個の組合せを試行して最も低い閾値を与えるような組み合わせを採用することが実行可能である。これは、プロトグラフ１０の大きさが小さいためであって、このことは、密度発展法を使用するプロトグラフ１０の閾値検索を高速プロセスにする。その上、勾配降下法（gradient descent）あるいは擬似焼きなまし法（simulated annealing approach）を使用しつつ、切り取られる入力系統的ノード２０を無作為に選択することが出来る。
【００５４】
ステップ１４０−置換され切り取られたグラフＰ１７は、レート１／ｍの符号のプロトグラフ１０であるので、プロトグラフ１０の更なる最適化は、置換され切り取られたグラフＰ１７の辺１５を追加する、除去する及び交換することによって行われる。チェック・ノード０から変数ノード８へ辺１５を追加することによって置換され切り取られたグラフＰ１７を最適化することを図説する図１０を参照されたい。
【００５５】
ステップ１４０では、極めて少数の辺１５の注意深い追加が、Ｐ１７より良好な閾値を持つ他のプロトグラフ１０を得るのには十分である。このステップは、手動で行われることが出来る。しかしながら、ステップ１４０は、自動化されることも出来る、即ち、辺１５操作を行い、もしその結果より低い閾値が得られればそれを保有しそうでなければそれを破棄する。辺１５操作は、辺１５を追加すること、除去すること、或いは辺１５の端点を交換することを意味する。自動化されたプロセスでは、辺１５操作と同様に関係する辺１５が無作為に選択される。
【００５６】
Ｎ´、Ｃ´、Ｎｔ´をプロトグラフＰ１７における変数ノード２０、チェック・ノード２０及びパンクチュアされた変数ノードの個数としよう。その場合、結果として得られるプロトグラフ、Ｐ１７、のレートは、１／ｎであることを検証することが出来る。
【数１】
2012090293.tif 000003
【００５７】
プロトグラフＰ１７は、Ｂ＿（ｍ−１）１４からノード２０と辺１５を切り取ることによって得られるので、従ってＰ１７は、Ｂ＿（ｍ−１）１４の部分グラフであることが特記される。このことは、Ｐ１７のガースは、Ｂ＿（ｍ−１）１４のガースと少なくとも同じ大きさであることを意味する。従って、Ｂ＿（ｍ−１）１４のガースを最大化することは、Ｐ１７のガースの制約条件付き最大化と同等である。更に、もしＧがＰ１７から構成されたリフトされたグラフ１８であるならば、もしＰ１７にループがなければ、Ｇ１８にはループがない。また、もしＰ１７のガースが更に大きいならば、更に大きいガースを持つＧ１８を構成することが可能である。このことは、より大きなガースは、しばしば高信号対雑音比（ＳＮＲ）領域における低い誤りフロアに対応するので、Ｇ１８における好ましい特性である。
【００５８】
レート１／ｍの新しい符号は、プロトグラフＢ＿（ｍ−１）から複製及び置換法によって構成される、その場合、複製の数は、該符号の所望のペイロード・サイズｋに従って計算される。
【００５９】
パンクチュアリングを使用するハイブリッドＡＲＱアプリケーションのためのレート・コンパチブル符号の生成
本特許出願は、高スループットを持つハイブリッドＡＲＱアプリケーションにとって好適なレート・コンパチブル（rate compatible）（ＲＣ）ＬＤＰＣ符号ファミリーを生成することに向けられる。レート・コンパチブル符号は、種々異なるレートを持つ入れ子にされた符号のファミリーであって、そこでは、より高レートの符号からの符号語のビットは、より低レートの符号中に埋め込まれ、従って、単一の符号器／復号器対を利用して符号化されることが出来る。換言すれば、所与のレートを持つ符号の１つの符号語の全ビットは、どの低レート符号の符号語の１つの中にも現れる。レート・コンパチブル符号は、順方向誤り訂正を持つ自動再送要求（automatic repeat request with forward error correction）（ＡＲＱ／ＦＥＣ）システムのような、再送要求を考慮するパケット・データ・システムに特に関係して、高度なフレキシビリティを持つ望ましいスループット効率を達成する。
【００６０】
下記は、レート・コンパチブル符号化がいかに動作するかの一般的な説明である。１）最初に、送信機２６０８は、高レート符号からの符号語を雑音のあるチャネルを介して送る（即ち、送信機２６０８は該チャネルを介して送られるビット数を最小化することを試みる）。２）受信した損壊を受けた符号語を与えられると、受信機２６１０は、復号（誤り検出と誤り訂正）を実行することを試みる。もし受信機２６１０が誤りを訂正して原メッセージを復元する問題を有するならば、該受信機は、該符号語が情報を誤りから防護するのに十分な冗長度を有してないことを送信機２６０８に通知するフィードバック・メッセージを送り、そして該情報を復元することを援助するための追加のビットを要求する。このようにして、このフィードバック情報に従い、符号器５５２は、追加冗長ビットを送信するか、或いは、次の情報ブロックに進むか、を決定する。３）一旦送信機２６０８が受信機２６１０からの要求を受信すると、該送信機は、より低いレートの符号語を構成し、そして、追加冗長に対応する追加ビットのみを送信する。ＲＣ符号の入れ子にされた性質のために、すでに送られてしまった高レート符号からの全てのビットが再送信される必要は、必ずしもない、ことに注意しよう、このことは、ＲＣ符号を極めて効率的にしている。
【００６１】
１つの実施形態では、これらの低レート符号は、レート・コンパチブル・ファミリーの親符号として使用される。本方法及び装置は、レート・コンパチブル方式で低レート符号をパンクチュアして高レート符号を構成することを具備する。すなわち、本方法及び装置は、低レートの親符号から良好な高レート符号を見つけるための、レート・コンパチブル・パンクチュアリング・パターンの新規かつ非明白な検索方法を具備する。レート・コンパチブル符号を構成するために、例えば符号のレートをより高レートに変更するために、パンクチュアリングが使用されるとき、符号器は、符号語ビットの部分集合をパンクチュア（削除）する。開示される装置では、符号器５５２は、パリティ・ビットの完全な集合を生成するが、幾つかは、送信されない、即ち、それ等は、パンクチュアされる。復号器５３７は、パリティがパンクチュアされた所に消去を挿入してパンクチュアリングのない場合と同様に復号法を実行する。
【００６２】
先行技術では、低レート構造化されたＬＤＰＣ符号から高レート符号を求めるための方法は、系統的入力データ・ノード２０をグラフ１０に相互連結して高レート符号を求めることに頼る。（非正則ＬＤＰＣ集合に対して提案された）別の方式は、低レート符号を求めるために高レート符号からの情報シンボルをヌルにすることである。前記の議論から、ハイブリッドＡＲＱレート・コンパチブル・ファミリーにおける全ての符号が、異なるレートに亘り同一の情報ブロック・サイズを有することが出来るが故に、これ等の方式が、ハイブリッドＡＲＱアプリケーションのためのレート・コンパチブルではあり得ないことを、我々は理解する。
【００６３】
ＡＷＧＮ閾値は、最小の信号対雑音比（ＳＮＲ）であり、そこでは、チャネルがＡＷＧＮチャネルの場合、誤り確率は、ブロック長さと反復回数が無限に大きくなるに従い確率伝搬法（Belief Propagation）による復号の下で０になることが出来る。
【００６４】
レート・コンパチブル符号ファミリーを生成する本方法の１つの実施形態は、先に論じられた方法によって頑健な低レート符号を設計することである。これ等の符号は、レート・コンパチブル・ファミリーのための親符号として働く。該ファミリーにおけるより高いレートの符号は、冗長シンボルを注意深くパンクチュアすることによって求められることが出来る。該ファミリーにおけるより低いレートの符号は、冗長ノードを追加することによって符号を拡大することにより求められることが出来る。
【００６５】
本特許出願は、パンクチュアリング・パターンに対する種々異なる実施形態を開示する。ＬＤＰＣ符号をパンクチュアすると言う思想は、全く新規なものであるというわけではないが、レート・コンパチブル方式において構造化されたＬＤＰＣ符号をパンクチュアすることは、先行技術を凌駕する本特許出願の１つの利点である。また、先行技術で開示されている非正則集合からＬＤＰＣ符号をパンクチュアすることは、構造化されたＬＤＰＣ符号を直接的には、考慮しているとは云えない。これは、それ等がグラフ１０における他のパンクチュアされたノードの存在を考慮することが出来ない、という事実のためである。
【００６６】
更に、所与の次数分布を持つ非正則集合に対するパンクチュアリング・パターンは、グラフ１０における、パンクチュアされるべき、所定の次数を持つ変数ノード２０のそれぞれの集合の部分を最適化することによって決定される。他方、構造化されたＬＤＰＣ符号では多くの場合、非系統的でパンクチュアされていない変数ノード２０は、同一次数である。更に、本特許出願で開発されたパンクチュアリング方法は、構造化されたＬＤＰＣ符号に限らず任意のＬＤＰＣ符号に適用する。
【００６７】
プロトグラフ・レベルでのパンクチュアリング
ＬＤＰＣ符号をパンクチュアするとき一般的には、レートＲｐ＝ｋ／ｎのＬＤＰＣ符号を採用する、ここで、ｋ及びｎはそれぞれ情報ブロック及び符号語の長さである。新しいレートを持つ符号を生成するために、符号語中のビット３０の部分集合をパンクチュアして、パンクチュアされていないビットを受信機２６１０に送る。復号器５５７は、符号語中のパンクチュアされたビット３０の位置を知っていると仮定される。
【００６８】
構造化されたＬＤＰＣ符号をパンクチュアするための端的な方法は、所望の変数ノード２０をプロトグラフ１０のレベルでパンクチュアすることである。これは、パンクチュアリング・パターンが、リフトされたグラフ１０について正則であり、そして異なるブロック・サイズにわたり同じである、という利点を有する。不運にも、プロトグラフ１０のサイズが小さいため、プロトグラフ１０レベルでのパンクチュアリングによっては限られた数のレートしか達成されることが出来ない。更に、プロトグラフ１０のレベルでのパンクチュアリングが好結果をもたらすことが出来ないことが、集積−反復−検査−集積（accumulate-repeat-check-accumulate）（ＡＲＣＡ）プロトグラフ１０を解析することによって示されることが出来る。
【００６９】
図１１Ａ−図１１Ｃは、単純なレート、１／２のＡＲＣＡ符号、に対するプロトグラフ１０を表す。図１１Ａでは、プロトグラフ１０が唯２つのパンクチュアされていない非系統的変数ノード（Ｖ３とＶ４）２０しか持たないから、プロトグラフ１０レベル上でのパンクチュアリングによって達成可能なレートは、２／３又は１の何れかである。基本の１／２ＡＲＣＡ符号に対するプロトグラフが図１１Ａに示される。図１１Ａでは、その内部に０がある四角の箱によって表わされるチェック・ノード２５Ｃ０は、その内部に１がある円によって表わされるパンクチュアされた変数ノード２０と２重辺で連結される。これは、リフトされたグラフ中の２つのパンクチュアされる変数ノード２０に連結されることと同値である。これは、チェック・ノード２５Ｃ１の場合でも同様である。しかしながら、チェック・ノード２５Ｃ２は、唯１つのパンクチュアされる変数ノード２０Ｖ１に連結される。確率伝搬法（belief propagation）（ＢＰ）の方程式（これ等は、ＬＤＰＣ符号を復号するために使用される）を観察し、そして、パンクチュアされる変数ノード２０の信頼度が初期には０であることを思い起こせば、１を超えるパンクチュアされる変数ノード２０に連結されるチェック・ノード２５から送られるメッセージは、常に０であると云えることが理解される。
【００７０】
しかしながら、もしチェック・ノード２５に連結されているパンクチュアされる変数ノード２０Ｖが唯１つならば、このパンクチュアされる変数ノード２０の信頼度は、この同じチェック・ノード２５に連結される他の変数ノード２５からのメッセージによって改善される。結果として、チェック・ノード２５Ｃ０とＣ１は、変数ノード２０Ｖ１の信頼度がチェック・ノード２５Ｃ２から該変数ノードに送られる情報によって向上するまでは、最初何らの情報も送らない。このようにして反復メッセージ転送が開始しそしてＢＰが働く。
【００７１】
しかしながら、その内部に３又は４がある円によって表わされる、変数ノード２０Ｖ３又はＶ４の何れかをパンクチュアしてレート２／３を得ることは、チェック・ノードＣ２が、図１１Ｂの２つのパンクチュアされる変数ノード２０Ｖ１及びＶ３又は図１１Ｃの３つの変数ノード、Ｖ１及び２つのＶ４、に連結されると言う結果になることが理解される。図１１Ｂは、変数ノード２０Ｖ３がパンクチュアされることを示し、他方図１１Ｃは、変数ノード２０Ｖ４がパンクチュアされることを示す。このようにして、グラフ中の全てのチェック・ノード２５は、１を超えるパンクチュアされるノードに連結され、そして、該チェック・ノードから変数ノード２０に伝送される情報は、常に０であって、反復メッセージ転送は、開始しない。このようにして、プロトグラフ１０についての正則なパンクチュアリングの繰返しは好ましいものではないことがある。
【００７２】
正則−非正則パンクチュアリング法
プロトグラフ１０について正則パンクチュアリングを実行する代わりに、リフトされたグラフ１０中の冗長変数ノード２０を正則にパンクチュアすることが出来る。これは、要求されるレートの任意のファミリーを選択する柔軟性を与える。パンクチュアリング・パターンは、該ファミリー中の先行符号に関して可能な限り正則である。より高いレートに対しては、親符号に関して更に非正則かつランダムになる。Ｃ｛Ｒｍ｝は、レートＲｍを持つレート・コンパチブル・ファミリーにおける符号を表すとする。正則−非正則パンクチュアリング法２００は、図１２の流れ図で図説される下記のステップを実行する。
【００７３】
ステップ２１０−所望の基準レートＲ０を持つ親符号Ｃ｛Ｒ０｝を選択する、ここに、Ｃ｛Ｒ０｝は、レートＲ０を持つ符号を表す。
【００７４】
ステップ２２０−所望のレートの集合、Ｒ１，Ｒ２，…Ｒｐ，（Ｒｐ＞…＞Ｒ２＞Ｒ１）、におけるそれぞれのレートＲｍに対し、先行符号Ｃ｛Ｒｍ−１｝の中にパンクチュアされていない冗長変数ノード２０Ｖｒを見つける、ここに、Ｃ｛Ｒｍ−１｝は符号レートＲｍ−１を持つ先行符号を表す。Ｒｍ−１は、所望のレートＲｍの符号をもたらすためにパンクチュアされるべき、先行符号のレートである。
【００７５】
ステップ２３０−Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノード２０Ｖｒの集合の要素数（cardinality）５０をｒｍ−１とする。（要素数ｒｍ−１５０はＣ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノード２０Ｖｒの集合の要素の数のことを呼ぶ、ここで、Ｃ｛Ｒｍ−１｝は先行符号であって、Ｒｍ−１は所望のレートＲｍの符号をもたらすためにパンクチュアされるべき先行符号のレートである。）
ステップ２４０−個数ｐｍを計算する、ここで、ｐｍは先行のレートＲｍ−１から所望のレートＲｍへ行くためにパンクチュアされるべき変数ノード２０の個数である。即ち、
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）                数式２
ここで、Ｒｍは所望のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノード２０の個数とチェック・ノード２５の個数であり、Ｎ＿ｔｍ−１は符号Ｃ｛Ｒｍ−１｝に対応するリフトされたグラフ１０中のパンクチュアされる変数ノード２０の総個数であり、そして、Ｆｌｏｏｒ（）はカッコ内の数に等しいかそれより小さい最大の整数を戻す関数である床関数を表す。
【００７６】
ステップ２５０−パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａ５２及びｂｅｔａ５４を計算する。
【００７７】
ステップ２５３−ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］
数式３
ステップ２５６−ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ 
数式４
ステップ２６０−要素数５０ｒｍ−１のパンクチュアされていない集合の関数ａｌｐｈａ５２及び関数ｂｅｔａ５４であるパターンをパンクチュアする。下記は、パンクチュアされていない集合のパンクチュアされるべきそのようなパターンの一例である。
【００７８】
［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］
数式５
Ｎ１，Ｎ２，…Ｎｐ＿ｍは、要素数ｒｍ−１のパンクチュアされていない冗長ノード２０の集合内のパンクチュアされる変数ノード２０の指標である。即ち、我々は、１つのノード２０をパンクチュアして、ａｌｐｈａノード２０をパンクチュアさせずに残す。我々は、これを、ｐｍ番目の変数ノード２０をパンクチュアするまで繰り返す。これは、集合の最後にｂｅｔａノード２０をパンクチュアさせずに残す。
【００７９】
正則−非正則パンクチュアリング法は、図１３Ａ−１３Ｃで説明される。図１３Ａは、レート１／２の構成された集積−反復−検査−集積（ＡＲＣＡ）符号におけるパンクチュアされていない冗長ノード２０を示す。図１３Ｂは、レート０．６の符号のためのパンクチュアリング・パターンを示す。
【００８０】
図１３に示されるレート２／３の符号のためのパンクチュアリング・パターンは、レート０．６の符号におけるパンクチュアされていないノード２０に関しては正則であるが、レート０．５のそれに関しては非正則である。この理由のために、反復復号が開始するとき、連結されているパンクチュアされる変数ノードが１つしかないチェック・ノードが数個ある。
【００８１】
ランダム・パンクチュアリング法
前記の実施形態で示されたように、正則−非正則パンクチュアリング・パターンは、必ずしも常に理想的な符号ファミリーを結果としてもたらすとは云えない。パンクチュアされたノード２０は、復号アルゴリズムの観点からは消去として扱われるが故に、親符号は、消去チャネルと同様にＡＷＧＮチャネル上でも良好な性能を有することが好ましい。パンクチュアされていない冗長変数ノード２０についてのランダム・パンクチュアリングは、消去チャネル上ではランダム雑音のように見え、そして、パンクチュアされた変数ノード２０は、もし該符号が消去チャネル上で良好な性能を有するならば、復元される。しかしながら、先行技術では、消去チャネルの解析に従うことは、カットオフ・レートＲｃがあって、それは、符号の次数分布と親符号のレートに依存し、その結果、密度発展法では、良く機能するレートＲ＞Ｒｃを持つ符号を、親符号をパンクチュアすることによっては、見つけることが出来ない、ということを示すことが理解された。
【００８２】
先行技術の欠点を克服するために、本特許出願は、リフトされたグラフ１０についての最良のランダム・パンクチュアリング・パターンを高速で検索することによってレート・コンパチブル・ファミリーを構成するための方法を具備する実施形態を開示する。該方法は、ランダム検索法３００と呼ばれそして下記のステップを具備する。これ等のステップは、図１４の流れ図で図説される。
【００８３】
ステップ３１０−所望の基準レートＲ０を持つ“良好な”符号、Ｃ｛Ｒ０｝、を用いて開始する、即ち、所望の基準レートＲ０を持つ親符号Ｃ｛Ｒ０｝を選択する、ここに、Ｃ｛Ｒ０｝はレートＲ０を持つ符号を表す。
【００８４】
ｗｉｎ＿ｓｎｒをランダム検索法から得られる（ｗｉｎｎｅｒ）符号出力の（ＡＷＧＮチャネルに対する）閾値ＳＮＲであると定義する。
【００８５】
ステップ３２０−所望のレートの集合、Ｒ１，Ｒ２，…Ｒｐ，（Ｒｐ＞…＞Ｒ２＞Ｒ１）、におけるそれぞれのレートＲｍに対し、ＳＮＲ、ｗｉｎ＿ｓｎｒ、の初期値を無限大に初期化する、ここに、Ｒ１，Ｒ２，…Ｒｐはレート・コンパチブル・ファミリーにおけるレートの集合を表す。
【００８６】
ｗｉｎ＿ｓｎｒ＝ＩＮＦ（ｉｎｆｉｎｉｔｙ）                      数式６
ステップ３３０−Ｃ｛Ｒｍ−１｝中にパンクチュアされていない変数冗長ノード２０Ｖｒの集合、Ｔ、を見つける、ここに、Ｃ｛Ｒｍ−１｝はレートＲｍ−１を持つ符号を表す。Ｒｍ−１は、これは新しい所望のレートＲｍを創成するためにパンクチュアされる先行のレートである、ということを表す。
【００８７】
ステップ３４０−（例えば先に論じられた非正則法におけるのと同様に）レートＲｍ−１からレートＲｍに移行するためにパンクチュアされるべき変数ノード２０の個数、ｐｍ、を計算する。
【００８８】
ステップ３５０−パンクチュアされていない冗長変数ノード２０の集合Ｔからｐｍ個の変数ノードＶを無作為に選択する、ここに、ｐｍはパンクチュアされるべき変数ノード２０の個数を表す。
【００８９】
ステップ３５３−ｐｍ個の変数ノード２０をパンクチュアすることによって先行のレートＲｍ−１から符号を構成する。
【００９０】
ステップ３５７−構成された符号がｗｉｎ＿ｓｎｒに等しい信号対雑音比（ＳＮＲ）で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行する。
【００９１】
ステップ３５９−構成された符号がｗｉｎ＿ｓｎｒを持つ無視可能な誤りを達成するか？
もし肯ならば、その場合、
ステップ３６０−この再構成された符号の新しいＡＷＧＮ  ＳＮＲ閾値（［００６２］参照）を、−ＩＮＦからＳＮＲの初期化されたＳＮＲ値、ｗｉｎ＿ｓｎｒに亘り、繰り返し検索する。１つの実施形態では、これは、ＳＮＲ範囲を繰り返し二分して試行ＳＮＲを選択することによって行われ、そして、該試行ＳＮＲが密度発展法の下で誤り確率ゼロを達成するかどうかを調べる。該プロセスは、所望のＳＮＲ精度が達成されるまで繰り返される。ｗｉｎ＿ｓｎｒは、ゼロ誤りを達成するこの符号の閾値になるようにリセットされる。（新しいｗｉｎ＿ｓｎｒ値が古い値よりも小さいことを観察することが出来る。）
ステップ３６５−この再構成された符号をｗｉｎｎｅｒ符号にセットする。
【００９２】
ステップ３６７−ｗｉｎ＿ｓｎｒ＝新閾値                                  数式７にセットする。
【００９３】
ステップ３７０−もし該符号が無視可能なｗｉｎ＿ｓｎｒを持つ誤りを達成しない、即ちステップ３５９に対し否、ならば、その場合ステップ３７２に飛び越える。
【００９４】
ステップ３７２−ステップ３５０に戻ることによって繰り返しが最大数になるまでランダム検索法を繰り返す。最大繰り返し数は、利用可能な計算資源により決定される。１つの実施形態では、それは５である。
【００９５】
上記の開示から理解されるように、ランダム検索法は、設計レートＲ＿｛ｍ−１｝で最良の符号を見つけた後それぞれの設計レートＲ＿ｍでの最良符号を検索するという点で貪欲な方法である。
【００９６】
プログレッシブ・ノード・パンクチュアリング法４００
別の実施形態は、プログレッシブ・ノード・パンクチュアリング法４００を使用する。プログレッシブ・ノード・パンクチュアリング法４００を用いると、所定の設計レートに対して、パンクチュアリング・パターンを順次選ぶ、即ち、
条件Ａ−グラフ１０において、唯１つのパンクチュアされる変数ノード２０に連結される、チェック・ノード２５Ｃの個数を最大化する。他方、
条件Ｂ−それぞれのチェック・ノード２５に連結されているパンクチュアされる変数ノードの平均個数を最小化する。及び
条件Ｃ−唯１つのパンクチュアされる変数ノード２０に連結されるチェック・ノード２５と、他のパンクチュアされる変数ノード２０との間の連結度を最大化する。
【００９７】
本方法と装置は、パンクチュアされていない変数ノード２０の集合から変数ノード２０をパンクチュアする。該パンクチュアされる変数ノード２０は、最小個数のチェック・ノード２５に連結され、替わって該チェック・ノード２５は、唯１つのパンクチュアされる変数ノード２０に連結される。もし１を超えるそのような変数ノード２０が存在する場合、その隣接チェック・ノード２５に連結されている最小個数のパンクチュアされる変数ノード２０を有する集合から該変数ノードをパンクチュアする。もし１を超えるそのような変数ノード２０が存在する場合、我々は、１つの変数ノード２０を無作為に選ぶ。この全プロセスは、同じ所望のレートであるが別のパンクチュアリング・パターンを持つ別の符号を得るために、繰り返されることが出来る。次に、最高のパンクチュアリング・スコアを持つ符号を選ぶ。
【００９８】
パンクチュアされる変数ノード２０を持つタナー（Tanner）グラフのパンクチュアリング・スコアは、１つのパンクチュアされる変数ノード２０を持つチェック・ノード２５が他のチェック・ノード２５、これ等は、順に複数のパンクチュアされる変数ノード２０に連結される、にいかに良く連結されるかということの尺度である。
【００９９】
プログレッシブ・ノード・パンクチュアリング法の１つの利点は、この方法が、この符号の更なるパンクチュアリングが良好な更に高レートの符号を結果として与えるように、所定のレートに対するパンクチュアリング・パターンを割り当てる、ということである。設計された符号は、良い誤りフロアと同様にファミリー全体に亘る良好なＡＷＧＮ及び消去閾値を有する。これは、該ファミリーにおけるより高いレートの符号に対しては特に真である。
【０１００】
条件Ａの背後の考え方は、連結されるパンクチュアされる変数ノード２０が唯１つしかない（１より大きい次数の）チェック・ノード２５は、１つのパンクチュアされる変数ノード２０に非ゼロ情報を伝送し、そして、該単一のパンクチュアされる変数ノード２０は、誤りから復元されることが出来る。連結されたパンクチュアされる変数ノード２０を唯１つしか持たないチェック・ノード２５の個数を最大化することは、その他のあるチェック・ノード２５が該ノード２５に連結された多数個のパンクチュアされるノード２０を有する、という結果をもたらす。連結されたパンクチュアされる変数ノード２０の個数が１を超えるチェック・ノード２５は、全てのパンクチュアされる変数ノード２０に対し、これ等のパンクチュアされる変数ノード２０の内の１つを除く全てが他のチェック・ノード２５から転送するメッセージによって復元されない限り、ゼロ情報を伝送する。このようにして、何れのチェック・ノード２５に連結されたパンクチュアされる変数ノード２０もその最大個数を最小化することが望ましい、これは条件Ｂを意味する。これは又、連結されたパンクチュアされる変数ノードを持たない、或いは、連結されたパンクチュアされる変数ノードを唯１つしか持たない、チェック・ノード２５は、１を超える個数のパンクチュアされる変数ノード２０を持つ他のチェック・ノード２５に対して、高い連結度を有することが望ましい、ということを意味する、これは条件Ｃである。
【０１０１】
下記は、プログレッシブ・ノード・パンクチュアリング法４００を使用する場合に実行される諸ステップである。これ等のステップは、図１５の流れ図で図説される。
【０１０２】
ステップ４１０−所望のレートの集合におけるそれぞれの所望のレートＲｍに対して、要素数５０ｒｍ−１のパンクチュアされていない冗長変数ノード２０の集合Ｔからｐｍ個の変数ノード２０を順次パンクチュアすることによってＣ｛Ｒｍ−１｝からＣ｛Ｒｍ｝を求める、ここに、ｎは符号語の長さであり、そして、ｐｍ−１は、先行のグラフ１０におけるパンクチュアされた変数ノード２０の総個数である。また、Ｃ｛Ｒｍ｝は、レートＲｍを持つ符号を表し、Ｃ｛Ｒｍ−１｝はレートＲｍ−１を持つ符号を表し、そしてＲｍ−１は、これは新しい所望のレートＲｍを創成するためにパンクチュアされようとしている先行のレートである、ということを表す。
【０１０３】
ステップ４２０−初期化
ステップ４２２−（冗長変数ノード２０に連結される）それぞれのチェック・ノード２５に対して、Ｆ（Ｃ）＝チェック・ノード２５に連結されているパンクチュアされた冗長変数ノード２０の個数、を計算する。（Ｆ（Ｃ）＝１は、チェック・ノード２５が唯１つのパンクチュアされた変数ノード２０に連結されることを意味する。）
ステップ４２４−パンクチュアされていない冗長変数ノード２０の集合Ｒを見つける。
【０１０４】
ステップ４２６−それぞれのパンクチュアされていない冗長変数ノード２０に対して下記を計算する：Ｇ（Ｖｒ）＝パンクチュアされていない冗長変数ノード２０に隣接するＦ（Ｃ）＝１を持つチェック・ノード２５の個数、即ちパンクチュアされていない冗長変数ノード２０に連結されるチェック・ノード２５の個数、ここに、該チェック・ノード２５は、唯１つのパンクチュアされた冗長変数ノード２０に連結される。そして
ステップ４２８−それぞれのパンクチュアされていない冗長変数ノード２０に対して下記を計算する。
【０１０５】
Ｈ（Ｖｒ）＝Ｓｕｍ［Ｆ（Ｃ）｜ＣはＶｒに対する隣接点］            数式８
即ち、Ｈ（Ｖｒ）は、チェック・ノード２５に連結されているパンクチュアされる変数ノード２０の合計個数であって、ここに、チェック・ノード２５は、パンクチュアされていない冗長変数ノード２０に連結される。
【０１０６】
ステップ４３０−ｐ＜ｐｍ（即ち、このステップでのパンクチュアされる変数ノード２０の個数ｐ＜所望のレートに対するパンクチュアされる変数ノード２０の個数ｐｍ）である限りパンクチュアされる変数ノード２０を見つけることによりパンクチュアする、後続の諸ステップを含む。
【０１０７】
ステップ４３２−Ｔ＝｛Ｖｒ ｉｎ Ｒ｜Ｇ（Ｖｒ）＝ｍｉｎ［Ｇ（Ｖｒ）］｝  数式９を見つける。
【０１０８】
即ち、パンクチュアされていない変数ノード２０の該集合Ｒの中のパンクチュアされていない変数ノード２０の集合Ｔであって、該集合Ｔの変数ノード２０に対して唯１つのパンクチュアされていない変数ノード２０に連結される近接チェック・ノード２５の個数が最小になるような、集合Ｔを見つける。
【０１０９】
ステップ４３４−もし｜Ｔ｜＝１ならば、Ｖｐ＝Ｔ                    数式１０
即ち、もし唯１つのパンクチュアされていない冗長変数ノード２０がＧ（Ｖｒ）の最小値を有し且つステップ４ａで見つけられる集合Ｔの大きさが１であるならば、その場合このステップでパンクチュアされるべき変数ノード２０を該集合Ｔ中に見つけられる該単一の変数ノード２０であると設定する。
【０１１０】
ステップ４３５−
もし｜Ｔ｜＞１ならば、ステップ４３６−４３９を実行する        数式１１
即ち、もしステップ４３２で見つけられる集合Ｔ中に複数個の変数ノード２０があるならば、ステップ４３６−４３９を実行する。
【０１１１】
ステップ４３６−
Ｕ＝｛Ｖｒｉｎ Ｔ｜Ｈ（Ｖｒ）＝ｍｉｎ［Ｈ（Ｖｒ）｜Ｖｒｉｎ Ｔ］｝  数式１２を見つける。
【０１１２】
即ち、ステップ４３２で見つけられる集合Ｔ中のパンクチュアされていない変数ノード２０の部分集合であって、該部分集合中ではパンクチュアされていない変数ノード２０に連結されるチェック・ノード２５に連結されているパンクチュアされる変数ノード２０の個数の合計が最小になるような、部分集合Ｕを見つける。
【０１１３】
ステップ４３７−もし｜Ｕ｜＝１ならば、Ｖｐ＝Ｕ                  数式１３
即ち、もしステップ４３６で見つけられる部分集合の大きさが１であるならば、その場合パンクチュアされる変数ノード２０を該集合Ｕ中の該単一の変数ノード２０であると設定する。
【０１１４】
ステップ４３８−
もし｜Ｕ｜＞１ならば、ＶｐをＵから無作為に選択する            数式１４
即ち、もしステップ４３６で見つけられる集合Ｕの大きさが１より大きいならば、その場合パンクチュアされるべき変数ノード２０をステップ４３６で得られた部分集合Ｕ中のパンクチュアされていない変数ノード２０から無作為に選択する。
【０１１５】
ステップ４３９−選択された変数ノード２０をパンクチュアし、そして、該選択されパンクチュアされた変数ノード２０をパンクチュアされていない変数ノード２０の集合Ｒから除く。
【０１１６】
ステップ４４０−ステップ４４２と４４４を実行することによって諸関数を更新する。
【０１１７】
ステップ４４２−パンクチュアされた変数ノード２０に隣接するそれぞれのチェック・ノード２５に対して、Ｆ（Ｃ）を更新する、ここに、Ｆ（Ｃ）は、チェック・ノード２５に連結されているパンクチュアされた冗長変数ノード２０の個数に等しい。
【０１１８】
ステップ４４４−チェック・ノード２５に隣接するそれぞれの変数ノード２０に対して、Ｇ（Ｖｒ）とＨ（Ｖｒ）を更新する、ここに、Ｇ（Ｖｒ）＝パンクチュアされていない冗長変数ノード２０に連結されるチェック・ノード２５の個数であって、ここに、該チェック・ノード２５Ｃは、唯１つのパンクチュアされた冗長変数ノード２０に連結される、及びＨ（Ｖｒ）＝チェック・ノード２５に連結されているパンクチュアされた冗長変数ノード２０の合計個数であって、ここに、チェック・ノード２５は、パンクチュアされない冗長変数ノード２０に連結される。
【０１１９】
ステップ４４６−ｐ＝ｐ＋１｝                                  数式１５
即ち、次の反復に移行する。パンクチュアされるべき次のノードを見つける。反復は、ｐ＝ｐｍのとき、即ちこのレートでパンクチュアされるべき全てのノードがパンクチュアされてしまったとき、終了する。
【０１２０】
プログレッシブ・ノード・パンクチュアリング法での諸ステップは、条件Ａ及びＢを実行する、そこでは、最小個数のチェック・ノード２５に連結される変数ノード２０がパンクチュアされる、ここに、該チェック・ノード２５は、１つのパンクチュアされた変数ノード２０に連結される。これは、この変数ノード２０をパンクチュアすることは、これ等のチェック・ノード２５が替わりに２つのパンクチュアされる変数ノード２０に連結されてしまう結果を与えると云う事実のためである。もし複数個のこのような変数ノード２０が存在するならば、その場合この変数ノード２０から拡大されるサポート・ツリーの第２レベルにおいて最小個数のパンクチュアされる変数ノード２０を持つ変数ノード２０を選択する。これは、条件Ｂを実行する効率的な方法である。ほとんどの実施形態では、即ち、｜Ｕ｜＝１から選択するパンクチュアリングのための候補となる変数ノード２０は、１を遥かに超える。説明されたプログレッシブ・ノード・パンクチュアリング法において、パンクチュアされるべき変数ノード２０は、この集合から無作為に選択される。
【０１２１】
次に、チェック・ノード２５のパンクチュアリング・スコアＳ（Ｃ）を、チェック・ノード２５のサポート・ツリーの第２レベル拡大によって到達されるチェック・ノード２５に連結されているパンクチュアされる変数ノード２０の総個数であると、定義して下記のように計算される。
【０１２２】
Ｓ（Ｃ）＝Ｓｕｍ［Ｆ（Ｃ’）｜チェック・ノード２５Ｃ’は変数ノード２０Ｖの隣接点であり且つ変数ノード２０Ｖはチェック・ノード２５Ｃの隣接点である］
グラフ１０ｇのパンクチュアリング・スコア、Ｓｇ、は、パンクチュアされる隣接変数ノード２０を唯１つ有する全てのチェック・ノード２５のパンクチュアリング・スコアの合計である。
【０１２３】
Ｓｇ＝Ｓｕｍ［Ｓ（Ｃ）｜Ｃ ｉｎ ＆ Ｆ（Ｃ）＝１］              数式１７
パンクチュアリング・スコアは、１つのパンクチュアされる変数ノード２０を持つチェック・ノード２５が、複数のパンクチュアされる変数ノード２０を持つ、他のチェック・ノード２５にいかに良く連結されるか、ということを推量するための近似的且つ効果的方法である。このようにして、プログレッシブ・ノード・パンクチュアリング法４００は、条件Ｃを実施するために下記に列記される後続ステップを実行することによって変形される。
【０１２４】
プログレッシブ・ノード・パンクチュアリング法（外部ループ）
ステップ４５０−パンクチュアされる変数ノード２０を唯１つ持つチェック・ノードと、他のパンクチュアされる変数ノード２０との間の連結度を、ステップ４５２−４５９を実行することによって、最大化する。
【０１２５】
ステップ４５２−初期化：Ｓｇ，０＝０，ｔ＝１                    数式１８
即ち、グラフ１０ｇのパンクチュアリング・スコア、Ｓｇ、を最初の反復、ｔ＝１、においてゼロに初期化する。
【０１２６】
Ｗｈｉｌｅ（ｔ＜ｍａｘ＿ｉｔｅｒａｔｉｏｎｓ）｛
ステップ４５４−ランダム・シードを変更する。
【０１２７】
ステップ４５６−所望のパンクチュアされた符号Ｃｔ｛Ｒｍ｝を得るために、符号Ｃ｛Ｒｍ−１｝についてプログレッシブ・ノード・パンクチュアリング法４００を実行する、ここに、Ｃ｛Ｒｍ−１｝は先行のレートに対する符号である。
【０１２８】
ステップ４５８−所望のパンクチュアされた符号Ｃｔ｛Ｒｍ｝に関連付けられるグラフ１０のパンクチュアリング・スコア、Ｓｇ、ｔ、を計算する。
【０１２９】
ステップ４５９−もしＳｇ，ｔ＞Ｓｇ，ｔ−１ならば、Ｃ｛Ｒｍ｝をＣｔ｛Ｒｍ｝であるとセット      数式１９
（最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択する）、即ち、もし所望のパンクチュアされた符号Ｃｔ｛Ｒｍ｝に関連付けられるグラフ１０のパンクチュアリング・スコアが、反復ｔ−１において、先行グラフ１０のパンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択する。
【０１３０】
ステップ４６０−ｔ＝ｔ＋１                                    数式２０
即ち、次の反復に移行する。
【０１３１】
図１６は、符号器５５２、復号器５５７及び通信チャネル５５６を含む、システム５５０を図説する。符号器５５２は、入力データＡを処理して符号語Ｘを作る符号化回路５５３を含む。符号語Ｘは、誤り検出及び／又は訂正の目的のために、ある程度の冗長を含む。符号語Ｘは、通信チャネル５５６を介して伝送されることが出来る。通信チャネル５５６によってもたらされる歪の結果、伝送される符号語のある部分は、損失する又は損壊される可能性がある。復号器の観点からすれば、パンクチュアされたビット３０は、損失として解釈されることが出来る。
【０１３２】
受信機では、損失又はパンクチュアされたビット３０の代わりを務めるために、ソフト・ビット３０が受信されたワード中に挿入される。挿入される消去及び又はビット３０は、伝送中の損失を示す。
【０１３３】
復号器５５７は、受信されたワードＹから符号語Ｘ全体を再構成することを試みる、そして、次にデータ復号動作を実行して再構成された符号語ＸからデータＡを作る。
【０１３４】
復号器５５７は、受信されたワードＹから完全な符号語Ｘを再構成するためのチャネル復号器５５８を含む。更に、それは符号語に含まれる冗長情報を除いて該再構成された符号語Ｘから原入力データＡを作るためのデータ復号器５５９を含む。
【０１３５】
ＬＤＰＣ符号化に関連して生成された受信ワードは、それに対するＬＤＰＣ復号動作、例えば、誤り検出と訂正動作、を実行して原符号語の再構成版を生成することによって処理されることが出来る。再構成された符号語は、次に符号化された原データを復元するためにデータ復号を受けることが出来る。データ復号プロセスは、例えば、再構成された符号語から単にビット３０の特定の部分集合を選択すること、であることが出来る。図５、１２、１４、１５Ａ及び１５Ｂで図説される諸ステップは、符号器５５２内のメモリ４５中に設置されるソフトウェア又はファームウェア４２の形式で命令として記憶されることが出来る。これ等の命令は、符号化回路５５３によって実行されることが出来る。図５、１２、１４、１５Ａ及び１５Ｂで図説される諸ステップは又、復号器５５７内のメモリ４６中に設置されるソフトウェア又はファームウェア４３の形式で命令として記憶されることが出来る。これ等の命令は、チャネル復号器５５８によって実行されることが出来る。
【０１３６】
図１７は、ＡＴ１０６の一実施形態を図説する機能的ブロック図である。ＡＴ１０６は、ＡＴ１０６の動作を制御するプロセッサ２６０２を含む。プロセッサ２６０２は、ＣＰＵと呼ばれることもある。読み出し専用メモリ（read-only memory）（ＲＯＭ）とランダム・アクセス・メモリ（random access memory）（ＲＡＭ）を共に含むことが出来る、メモリ２６０５は、プロセッサ２６０２に命令とデータを供給する。メモリ２６０５の一部は、又不揮発性（non-volatile）ランダム・アクセス・メモリ（ＮＶＲＡＭ）を含むことが出来る。図５、１２、１４、１５Ａ及び１５Ｂで図説される諸ステップは、メモリ２６０５中に設置されるソフトウェア又はファームウェア４２として設置される命令として記憶されることが出来る。これ等の命令は、プロセッサ２６０２によって実行されることが出来る。
【０１３７】
セルラ電話機のような無線通信デバイスにおいて具体化されることが出来る、ＡＴ１０６は又、筺体２６０７を含むことが出来る。該筺体は、送信機２６０８と受信機２６１０を含み、それ等は、ＡＴ２６０６とＡＮ１２２のような遠隔地との間の、例えば音声通信のような、データの送受信を可能にする。送信機２６０８と受信機２６１０は、トランシーバ２６１２中で一体にされることが出来る。アンテナ２６１４が筺体２６０７に取り付けられてトランシーバ２６１２に電気的に接続される。追加のアンテナ（示されない）が使用されることも出来る。送信機２６０８、受信機２６１０及びアンテナ２６１４の動作は、当業界では周知であって本明細書で説明される必要はない。
【０１３８】
ＡＴ１０６は、又トランシーバ２６１２によって受信される信号の水準を検出しそして定量化するために使用される信号検出器２６１６を含む。信号検出器２６１６は、当業界では公知の、例えば全エネルギー、疑似雑音（pseudonoise）（ＰＮ）チップ当たりのパイロット・エネルギー、電力スペクトル密度、及びその他の信号のような、信号を検出する。
【０１３９】
ＡＴ１０６の状態チェンジャー（changer）２６２６は、現在の状態とトランシーバ２６１２によって受信されそして信号検出器２６２６によって検出された追加の信号に基づいて、無線通信デバイスの状態を制御する。無線通信デバイスは、多数の状態の内の任意の１つで動作することが出来る。
【０１４０】
ＡＴ１０６は、又、無線通信デバイスを制御するために、そして、該無線通信デバイスが現在のサービス・プロバイダ・システムが不適当であると決定する場合にどのサービス・プロバイダ・システムに転換すべきかを決定するために、使用されるシステム決定器２６２８を含む。
【０１４１】
ＡＴ１０６の種々のコンポーネントは、バス・システム２６３０によって互いに結合される。該バス・システムは、電力バス、制御信号バス、及びデータ・バスに加えてステータス信号バスを含むことが出来る。しかしながら、簡明を期するため、該種々のバスは、図７ではバス・システム２６３０として図示される。ＡＴ１０６は、又信号を処理する際の使用のためにデジタル信号プロセッサ（digital signal processor）（ＤＳＰ）２６０９を含むことが出来る。当業者は、図７で図説されるＡＴ１０６は具体的なコンポーネントの列挙というよりはむしろ機能的ブロック図である、ということを理解する。
【０１４２】
上記で説明された図５Ａの方法及び装置は、図１８Ａに図示される対応する手段プラス機能ブロックにより実行される。換言すると、図５Ａにおけるステップ９０、９１、９２、９３、９４、９５及び９６は、図１８Ａにおける手段プラス機能ブロック１０９０、１０９１、１０９２、１０９３、１０９４、１０９５及び１０９６に対応する。
【０１４３】
上記で説明された図５Ｂの方法及び装置は、図１８Ｂに図示される対応する手段プラス機能ブロックにより実行される。換言すると、図５Ｂにおけるステップ１００、１１０、１２０、１２５、１３０、及び１４０は、図１８Ｂにおける手段プラス機能ブロック１１００、１１１０、１１２０、１１２５、１１３０、及び１１４０に対応する。
【０１４４】
上記で説明された図１２の方法及び装置は、図１９に図示される対応する手段プラス機能ブロックにより実行される。換言すると、図１２におけるステップ２００、２１０、２２０、２４０、２５０、２５３、２５６及び２６０は、図１９における手段プラス機能ブロック１２００、１２１０、１２２０、１２４０、１２５０、１２５３、１２５６及び１２６０に対応する。
【０１４５】
上記で説明された図１４の方法及び装置は、図２０に図示される対応する手段プラス機能ブロックにより実行される。換言すると、図１４におけるステップ３００、３１０、３２０、３３０、３４０、３５０、３５３、３５７、３５９、３６０、３６５，３６７及び３７２は、図２０における手段プラス機能ブロック１３００、１３１０、１３２０、１３３０、１３４０、１３５０、１３５３、１３５７、１３５９、１３６０、１３６５、１３６７及び１３７２に対応する。
【０１４６】
上記で説明された図１５Ａの方法及び装置は、図２１に図示される対応する手段プラス機能ブロックにより実行される。換言すると、図１５Ａにおけるステップ４００、４１０、４２０、４２２、４２４、４２６、４２８、４３０、４３２、４３４、４３５、４３６、４３７、４３８、４３９、４４０、４４２、４４４、４４６、及び４５０は、図２１における手段プラス機能ブロック１４００、１４１０、１４２０、１４２２、１４２４、１４２６、１４２８、１４３０、１４３２、１４３４、１４３５、１４３６、１４３７、１４３８、１４３９、１４４０、１４４２、１４４４、１４４６、及び１４５０に対応する。
【０１４７】
上記で説明された図１５Ｂの方法及び装置は、図２２に図示される対応する手段プラス機能ブロックにより実行される。換言すると、図１５Ｂにおけるステップ４５２、４５４、４５６、４５８、４５９及び４６０は、図２２における手段プラス機能ブロック１４５２、１４５４、１４５６、１４５８、１４５９及び１４６０に対応する。
【０１４８】
当業者等は、上記の説明全体に亘って参照されることが出来る、データ、指示、命令、情報、信号、ビット、シンボル、及び、チップは、電圧、電流、電磁波、磁場又は磁性粒子、光学的場又は光学粒子，或いはこれ等の任意の組合せ、により長所を活かして表される、ことを理解する。当業者等は、更に、本明細書中で開示された実施形態と関連して説明された種々の説明的な論理ブロック、モジュール、回路、及びアルゴリズム・ステップは、エレクトロニック・ハードウェア、コンピュータ・ソフトウェア、或いは両者の組合せとして実現されることが可能であること、を認識する。種々の説明的な構成要素、ブロック、モジュール、回路、及びステップは、一般にそれ等の機能性を表す言葉で説明された。該機能性がハードウェアとして実現されるか或いはソフトウェアとして実現されるかは、システム全体に課される固有のアプリケーション及び設計上の制約に依存する。当業者等は、これ等の条件下でのハードウェアとソフトウェアの交換可能性と、それぞれの固有のアプリケーションに対して該説明された機能性を如何に最善に実現するか、ということを認識する。例として、本明細書中で開示された諸実施形態と関連して説明された種々の説明的な論理ブロック、モジュール、回路、及びアルゴリズム・ステップは、デジタル信号プロセッサ（digital signal processor）（ＤＳＰ）、特定用途向け集積回路（application specific integrated circuit）（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（field programmable gate array）（ＦＰＧＡ）或いは他のプログラム可能な論理デバイス、ディスクリート・ゲート（discrete gate）或いはトランジスタ・ロジック（transistor logic）、例えばレジスタやＦＩＦＯのようなディスクリート・ハードウェア部品（discrete hardware components）、ファームウェア命令のセットを実行するプロセッサ、任意の通常のプログラム可能なソフトウェア・モジュールとプロセッサ、或いは本明細書に記載された機能を実行するために設計されたそれ等の任意の組合せ、を用いて実現又は実行されることが出来る。プロセッサは、長所を活かしてマイクロプロセッサであって
良い、しかし、その代わりに、プロセッサは、任意の通常のプロセッサ、制御器、マイクロ制御器、プログラム可能な論理デバイス、論理素子の配列、或いはステート・マシンであって良い。ソフトウェア・モジュールは、ＲＡＭメモリ、フラッシュ・メモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハード・デイスク、リムーバブル・ディスク、ＣＤ−ＲＯＭ、或いは他の任意の公知の記憶媒体形式、中に常駐することが出来る。記憶媒体から情報を読み、記憶媒体に情報を書くために、例示的なプロセッサは、都合よく記憶媒体と結合される。それに代わって、記憶媒体は、プロセッサと一体になることも出来る。プロセッサと記憶媒体は、ＡＳＩＣの中に常駐することが可能である。該ＡＳＩＣは、電話機又は他の利用者端末の中に常駐することが出来る。それに代わって、プロセッサと記憶媒体が電話機又は他の利用者端末の中に常駐することが出来る。プロセッサは、ＤＳＰとマイクロプロセッサの組合せとして、或いはＤＳＰコアと結合する２つのマイクロプロセッサ、等々として実現されることが出来る。
【０１４９】
本発明の好ましい諸実施形態は、このようにして示されそして説明されてきた。しかしながら、本明細書で開示された諸実施形態に対し無数の変更が本発明の精神あるいは範囲から逸脱することなく行われることが可能であることは当業者には明白である。従って、本発明は、下記の請求項に従う場合を除いては制限されない。
【図１Ａ】
2012090293.tif 000004
【図１Ｂ】
2012090293.tif 000005
【図２】
2012090293.tif 000006
【図３】
2012090293.tif 000007
【図４】
2012090293.tif 000008
【図５Ａ】
2012090293.tif 000009
【図５Ｂ】
2012090293.tif 000010
【図６】
2012090293.tif 000011
【図７】
2012090293.tif 000012
【図８】
2012090293.tif 000013
【図９】
2012090293.tif 000014
【図１０】
2012090293.tif 000015
【図１１Ａ】
2012090293.tif 000016
【図１１Ｂ】
2012090293.tif 000017
【図１１Ｃ】
2012090293.tif 000018
【図１２】
2012090293.tif 000019
【図１３Ａ】
2012090293.tif 000020
【図１３Ｂ】
2012090293.tif 000021
【図１３Ｃ】
2012090293.tif 000022
【図１４】
2012090293.tif 000023
【図１５Ａ】
2012090293.tif 000024
【図１５Ｂ】
2012090293.tif 000025
【図１６】
2012090293.tif 000026
【図１７】
2012090293.tif 000027
【図１８Ａ】
2012090293.tif 000028
【図１８Ｂ】
2012090293.tif 000029
【図１９】
2012090293.tif 000030
【図２０】
2012090293.tif 000031
【図２１Ａ】
2012090293.tif 000032
【図２１Ｂ】
2012090293.tif 000033
【手続補正書】
【提出日】平成23年12月21日(2011.12.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号語ビットの部分集合をパンクチュアすること、
を具備する、低−レート符号から高−レート符号を生成する方法。
【請求項２】
前記低−レート符号は、親符号である、請求項１に従う低−レート符号から高−レート符号を生成する方法。
【請求項３】
符号語ビットの部分集合をパンクチュアする前記ステップは、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該ステップは、
所望の基準レートを持つ親符号を選択すること、
所望のレートの集合中のそれぞれのレートに対して先行符号中のパンクチュアされていない変数ノードの集合を見つけること、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算すること、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａとを計算すること、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアすること、
を具備する該ステップである、請求項１に従う低−レート符号から高−レート符号を生成する方法。
【請求項４】
符号語ビットの部分集合をパンクチュアする前記ステップは、変数ノードを無作為にパンクチュアすることを具備する、請求項１に従う低−レート符号から高−レート符号を生成する方法。
【請求項５】
符号語ビットの部分集合をパンクチュアする前記ステップは、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアすること、
を具備する前記ステップである、請求項１に従う低−レート符号から高−レート符号を生成する方法。
【請求項６】
前記親符号は、
基本グラフを複製すること、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換すること、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取ること
によって生成される前記親符号である、請求項２に従う低−レート符号から高−レート符号を生成する方法。
【請求項７】
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記ステップは、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは該所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項３に従う低−レート符号から高−レート符号を生成する方法。
【請求項８】
該パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記ステップは、下記の数式を使用する：  
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ，
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの該集合の要素数（cardinality）であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項３に従う低−レート符号から高−レート符号を生成する方法。
【請求項９】
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記ステップは、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］、を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内の該パンクチュアされる変数ノードの指標である、請求項３に従う低−レート符号から高−レート符号を生成する方法。
【請求項１０】
符号語ビットの前記部分集合を無作為に検索することを更に具備し、無作為に検索する前記ステップは、
１）所望の基準レートを持つ親符号を選択すること、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化すること、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つけること、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算すること、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択すること、
６）前記選択された個数の変数ノードをパンクチュアすることによって該先行のレートから符号を構成すること、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法（density evolution）を実行すること、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索すること、前記構成された符号をｗｉｎｎｅｒ符号として設定すること、及び、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定すること、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返すこと
を具備する前記ステップである、請求項４に従う低−レート符号から高−レート符号を生成する方法。
【請求項１１】
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記ステップは、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアすること、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記ステップである、請求項５に従う低−レート符号から高−レート符号を生成する方法。
【請求項１２】
前記構成された符号の新しい閾値を繰り返し検索する前記ステップは、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分すること、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断すること、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返すことを具備する前記ステップである、請求項１０に従う低−レート符号から高−レート符号を生成する方法。
【請求項１３】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算すること、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つけること、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算すること、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算すること、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化するステップを具備する前記ステップである、請求項１１に従う低−レート符号から高−レート符号を生成する方法。
【請求項１４】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアするステップを更に具備する、請求項１３に従う低−レート符号から高−レート符号を生成する方法。
【請求項１５】
このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記ステップは、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つけること、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードを該第２集合内の該ノードであると設定すること、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの該個数が＞１であるならば、ステップｃ１−ステップｃ４を実行する、
ｃ１）ステップａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つけること、そこでは前記パンクチュアされていない変数ノードに連結される前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もしステップｃ１の前記部分集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もしステップｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、ステップｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択すること、及び  ｃ４）前記選択された変数ノードをパンクチュアすること、そして前記パンクチュアされた選択済み変数ノードをパンクチュアされていない変数ノードの該集合からパンクチュアすること
を具備する前記ステップである、請求項１４に従う低−レート符号から高−レート符号を生成する方法。
【請求項１６】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、更新するステップを更に具備し、更新する該ステップは、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新すること、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新すること、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新すること、ここで、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される、
を具備する該ステップである、請求項１５に従う低−レート符号から高−レート符号を生成する方法。
【請求項１７】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するステップを更に具備する、請求項１６に従う低−レート符号から高−レート符号を生成する方法。
【請求項１８】
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記ステップは、
パンクチュアリング・スコアをゼロに初期化すること、
ランダム・シードを変更すること、
前記所望のパンクチュアされる符号を得るために、前記先行符号について請求項５、１１，１３、１４、及び１５の前記諸ステップを実行すること、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算すること、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択すること
を具備する前記ステップである、請求項１７に従う低−レート符号から高−レート符号を生成する方法。
【請求項１９】
符号語ビットの部分集合をパンクチュアするための手段を具備する、低−レート符号から高−レート符号を生成するための手段。
【請求項２０】
前記低−レート符号は、親符号である、請求項１９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２１】
符号語ビットの部分集合をパンクチュアするための前記手段は、符号語ビットの前記部分集合を正則−非正則パンクチュアするための手段を具備し、正則−非正則パンクチュアするための該手段は、
所望の基準レートを持つ親符号を選択するための手段、
所望のレートの集合内のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つけるための手段、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための手段、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａとを計算するための手段、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアするための手段、
を具備する該手段である、請求項１９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２２】
符号語ビットの部分集合をパンクチュアするための前記手段は、変数ノードを無作為にパンクチュアするための手段を具備する、請求項１９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２３】
符号語ビットの部分集合をパンクチュアするための前記手段は、先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアするための手段を具備する、請求項１９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２４】
前記親符号は、
基本グラフを複製するための手段、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換するための手段、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取るための手段
によって生成される前記親符号である、請求項２０に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２５】
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための前記手段は、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは該所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項２１に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２６】
該パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算するための前記手段は、下記の数式を使用する：  
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの該集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項２１に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２７】
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアするための前記手段は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用するための手段を具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの集合内のパンクチュアされる変数ノードの指標である、請求項２１に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２８】
符号語ビットの前記部分集合を無作為に検索するための手段を更に具備し、該無作為に検索するための該手段は、
１）所望の基準レートを持つ親符号を選択するための手段、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化するための手段、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つけるための手段、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための手段、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択するための手段、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成するための手段、
７）前記構成された符号が初期化された信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行するための手段、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索するための、前記構成された符号をｗｉｎｎｅｒ符号として設定するための、及び、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定するための手段、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為検索を繰り返すための手段、
を具備する該手段である、請求項２２に従う低−レート符号から高−レート符号を生成するための手段。
【請求項２９】
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアするための前記手段は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアするための手段、ここでｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記手段である、請求項２３に従う低−レート符号から高−レート符号を生成するための手段。
【請求項３０】
前記構成された符号の新しい閾値を繰り返し検索するための前記手段は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分するための手段、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断するための手段、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまで手段ａとｂとを繰り返すための手段
を具備する前記手段である、請求項２８に従う低−レート符号から高−レート符号を生成するための手段。
【請求項３１】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算するための手段、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの集合を見つけるための手段、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算するための手段、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算するための手段、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、により初期化するための手段を具備する前記手段である、請求項２９に従う低−レート符号から高−レート符号を生成するための手段。
【請求項３２】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアするための手段を更に具備する、請求項３１に従う低−レート符号から高−レート符号を生成するための手段。
【請求項３３】
このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけるための前記手段は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つけるための手段、
ｂ）もし手段ａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは、該第２集合内の該ノードであると設定するための手段、
ｃ）もし手段ａの前記第２集合に属する前記パンクチュアされていない変数ノードの該個数が＞１であるならば、手段ｃ１−手段ｃ４を実行するための手段、
ｃ１）手段ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つけるための手段、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の合計は最小である、
ｃ２）もし手段ｃ１で得た前記部分集合内の前記パンクチュアされていない変数ノードの個数が１であるならば、前記パンクチュアされる変数ノードを手段ｃ１における該部分集合内の１つのノードに設定するための手段、
ｃ３）もし手段ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、手段ｃ１からの前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択するための手段、及び
ｃ４）前記選択された変数ノードをパンクチュアするための手段及び、そして前記パンクチュアされた選択済み変数ノードをパンクチュアされていない変数ノードの該集合からパンクチュアするための手段
を具備する前記手段である、請求項３２に従う低−レート符号から高−レート符号を生成するための手段。
【請求項３４】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、更新するための手段を更に具備し、更新するための該手段は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新するための手段、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新するための手段、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新するための手段、ここで、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される、
を具備する更新するための該手段である、請求項３３に従う低−レート符号から高−レート符号を生成するための手段。
【請求項３５】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するための手段を更に具備する、請求項３４に従う低−レート符号から高−レート符号を生成するための手段。
【請求項３６】
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するための前記手段は、
パンクチュアリング・スコアをゼロに初期化するための手段、
ランダム・シードを変更するための手段、
前記所望のパンクチュアされる符号を得るために、前記先行符号について請求項２３、２９、３１、３２、及び３３の前記手段を実行するための手段、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算するための手段、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択するための手段
を具備する前記手段である、請求項３５に従う低−レート符号から高−レート符号を生成するための手段。
【請求項３７】
低レート符号から高レート符号を生成する符号器であって、
メモリを具備し、ここにおいて、前記符号器は、前記メモリ内に記憶される命令を実行するために適応させられ、該命令は、
符号語ビットの部分集合をパンクチュアする、
を具備する該命令である、符号器。
【請求項３８】
前記低レート符号は親符号である、請求項３７に従う低レート符号から高レート符号を生成する符号器。
【請求項３９】
符号語ビットの部分集合をパンクチュアする前記命令は、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該命令は、
所望の基準レートを持つ親符号を選択する、
所望のレートの集合中のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つける、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする
を具備する該命令である、請求項３７に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４０】
符号語ビットの部分集合をパンクチュアする前記命令は、変数ノードを無作為のパンクチュアを具備する、請求項３７に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４１】
符号語ビットの部分集合をパンクチュアする前記命令は、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアすること、
を具備する前記命令である、請求項３７に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４２】
前記親符号は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取る命令を実行することによって生成される前記親符号である、請求項３８に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４３】
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記命令は、下記の数式を使用する：
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項３９に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４４】
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記命令は、下記の数式を使用する：
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項３９に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４５】
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記命令は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内のパンクチュアされる変数ノードの指標である、請求項３９に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４６】
符号語ビットの前記部分集合を無作為に検索する命令を更に具備し、無作為に検索する前記命令は、
１）所望の基準レートを持つ親符号を選択する、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化する、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つける、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択する、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成する、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行する、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索し、前記構成された符号をｗｉｎｎｅｒ符号として設定し、そして、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定する、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返す、
を具備する前記命令である、請求項４０に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４７】
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記命令は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアすること、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記命令である、請求項４１に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４８】
前記構成された符号の新しい閾値を繰り返し検索する前記命令は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分する、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断する、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返す
を具備する前記命令である、請求項４６に従う低−レート符号から高−レート符号を生成する符号器。
【請求項４９】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つける、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算する、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化する命令を具備する前記命令である、請求項４７に従う低−レート符号から高−レート符号を生成する符号器。
【請求項５０】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアする命令を更に具備する、請求項４９に従う低−レート符号から高−レート符号を生成する符号器。
【請求項５１】
この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記命令は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つける、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは該第２集合内の該ノードであると設定する、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの個数が＞１であるならば、命令ｃ１−命令ｃ４を実行する、
ｃ１）命令ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つける、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もし命令ｃ１からの前記部分集合内の前記パンクチュアされていない変数ノードの該個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もし命令ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、命令ｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択する、及び
ｃ４）前記選択された変数ノードをパンクチュアして、前記選択されパンクチュアされた変数ノードをパンクチュアされていない変数ノードの集合からパンクチュアすることを具備する前記命令である、請求項５０に従う低−レート符号から高−レート符号を生成する符号器。
【請求項５２】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、更新する命令を更に具備し、更新する該命令は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新する、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新する、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新する、ここで前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される
を具備する該命令である、請求項５１に従う低−レート符号から高−レート符号を生成する符号器。
【請求項５３】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する命令を更に具備する、請求項５２に従う低−レート符号から高−レート符号を生成する符号器。
【請求項５４】
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記命令は、
パンクチュアリング・スコアをゼロに初期化する、
ランダム・シードを変更する、
前記所望のパンクチュアされる符号を得るために、前記先行符号について請求項４１、４７、４９、５０、及び５１の諸命令の前記諸ステップを実行する、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算する、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択する
を具備する前記命令である、請求項５３に従う低−レート符号から高−レート符号を生成する符号器。
【請求項５５】
低−レート符号から高−レート符号を生成するアクセス端末であって、該アクセス端末は、
送信機、
前記送信機に機能的に接続される受信機、
前記送信機と前記受信機に機能的に接続されるプロセッサ、
前記送信機と前記受信機に機能的に接続されるアンテナ、
前記プロセッサに機能的に連結されるメモリ、を具備する、ここに、前記アクセス端末は前記メモリ中に記憶されるソフトウェア命令を実行するために適応され、該命令は、符号語ビットの部分集合をパンクチュアする、
を具備する該命令である、アクセス端末。
【請求項５６】
前記低レート符号は親符号である、請求項５５に従う低レート符号から高レート符号を生成するアクセス端末。
【請求項５７】
符号語ビットの部分集合をパンクチュアする前記命令は、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該命令は、
所望の基準レートを持つ親符号を選択する、
所望のレートの集合中のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つける、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする
を具備する該命令である、請求項５５に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項５８】
符号語ビットの部分集合をパンクチュアする前記命令は、変数ノードの無作為のパンクチュアを具備する、請求項５５に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項５９】
符号語ビットの部分集合をパンクチュアする前記命令は、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする、
ことを具備する前記命令である、請求項５５に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６０】
前記親符号は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取る命令を実行することによって生成される前記親符号である、請求項５６に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６１】
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記命令は、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応するリフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項５７に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６２】
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記命令は、下記の数式を使用する：
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
請求項５７に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６３】
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記命令は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内のパンクチュアされる変数ノードの指標である、請求項５７に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６４】
符号語ビットの前記部分集合を無作為に検索する命令を更に具備し、無作為に検索する前記命令は、
１）所望の基準レートを持つ親符号を選択する、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化する、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つける、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択する、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成する、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行する、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索し、前記構成された符号をｗｉｎｎｅｒ符号として設定し、そして、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定する、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返す、
を具備する前記命令である、請求項５８に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６５】
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記命令は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアする、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記命令である、請求項５９に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６６】
前記構成された符号の新しい閾値を繰り返し検索する前記命令は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分する、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断する、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返す
を具備する前記命令である、請求項６４に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６７】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つける、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算する、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化する命令を具備する前記命令である、請求項６５に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６８】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアする命令を更に具備する、請求項６７に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項６９】
この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記命令は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つける、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは該第２集合内の該ノードであると設定する、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの個数が＞１であるならば、命令ｃ１−命令ｃ４を実行する、
ｃ１）命令ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つける、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もし命令ｃ１からの前記部分集合内の前記パンクチュアされていない変数ノードの該個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もし命令ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、命令ｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択する、及び
ｃ４）前記選択された変数ノードをパンクチュアして、前記選択されパンクチュアされた変数ノードをパンクチュアされていない変数ノードの集合からパンクチュアすることを具備する前記命令である、請求項６８に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項７０】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、更新する命令を更に具備し、更新する該命令は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新する、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新する、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新する、ここで前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される
を具備する該命令である、請求項６９に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項７１】
パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する命令を更に具備する、請求項７０に従う低−レート符号から高−レート符号を生成するアクセス端末。
【請求項７２】
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記命令は、
パンクチュアリング・スコアをゼロに初期化する、
ランダム・シードを変更する、
前記所望のパンクチュアされる符号を得るために、前記先行符号について請求項４１、４７、４９，５０，及び５１の諸命令の前記諸ステップを実行する、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算する、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択する
を具備する前記命令である、請求項７１に従う低−レート符号から高−レート符号を生成するアクセス端末。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１４９
【補正方法】変更
【補正の内容】
【０１４９】
本発明の好ましい諸実施形態は、このようにして示されそして説明されてきた。しかしながら、本明細書で開示された諸実施形態に対し無数の変更が本発明の精神あるいは範囲から逸脱することなく行われることが可能であることは当業者には明白である。従って、本発明は、下記の請求項に従う場合を除いては制限されない。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［付記］
［１］  高レート・プロトグラフから低レート・プロトグラフを生成する方法であって、
基本グラフを複製すること、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換すること、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取ること
を具備する方法。
［２］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記ステップは、前記基本グラフのガース（girth）を最大化するためにプログレッシブ辺増加法（progressive edge growth method）を使用することを更に具備する、［１］の方法。
［３］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記ステップは、１辺ずつの仕方でシンボルとチェック・ノードとの間に辺すなわち連結を設定することを更に具備する、［１］の方法。
［４］  系統的入力ノードを切り取る前記ステップは、（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノードを切り取ることを更に具備する、ここに、Ｎは変数ノードの個数を表し、Ｃはチェック・ノードの個数を表し、そして１／ｍは所望の基準レートを表す、［１］の方法。
［５］  系統的入力ノードを切り取る前記ステップは、ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノードとそれ等に連結される該辺とを切り取ることを更に具備する、ここに、ｐは該基本グラフの該複製の個数であり、Ｋは変数ノード個数マイナス・チェック・ノード個数であり、ＲＢは所望の基準レートであり、及びＲＬは設計レートである、［１］の方法。
［６］  前記切り取られた置換されたグラフの前記辺を追加すること、除去すること及び交換することの組合せを使用することによって前記切り取られた入力ノードを最適化することを更に具備する、［１］の方法。
［７］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記ステップは、前記置換するステップを繰り返すことを更に具備する、［２］の方法。
［８］  前記プログレッシブ辺増加法は、循環（circulant）ＰＥＧ法である、［２］の方法。
［９］  基本グラフを複製する前記ステップは、前記基本グラフをｍ−１回複製することを具備する、［５］の方法。
［１０］  前記基本グラフの前記ｍ−１個の複製中の同一型の辺の端点を置換する前記ステップは、
前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用すること、
置換する前記ステップを繰り返すこと、及び
もし該プログレッシブ辺増加法がランダム・シード（random seed）を含むならば、最小数の最短サイクルを有する該置換されたグラフを抽出すること
を更に具備する前記ステップである、［９］の方法。
［１１］  符号語ビットの部分集合をパンクチュアすること、
を具備する、低−レート符号から高−レート符号を生成する方法。
［１２］  前記低−レート符号は、親符号である、［１１］に従う低−レート符号から高−レート符号を生成する方法。
［１３］  符号語ビットの部分集合をパンクチュアする前記ステップは、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該ステップは、
所望の基準レートを持つ親符号を選択すること、
所望のレートの集合中のそれぞれのレートに対して先行符号中のパンクチュアされていない変数ノードの集合を見つけること、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算すること、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａとを計算すること、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアすること、
を具備する該ステップである、［１１］に従う低−レート符号から高−レート符号を生成する方法。
［１４］  符号語ビットの部分集合をパンクチュアする前記ステップは、変数ノードを無作為にパンクチュアすることを具備する、［１１］に従う低−レート符号から高−レート符号を生成する方法。
［１５］  符号語ビットの部分集合をパンクチュアする前記ステップは、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアすること、
を具備する前記ステップである、［１１］に従う低−レート符号から高−レート符号を生成する方法。
［１６］  前記親符号は、
基本グラフを複製すること、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換すること、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取ること
によって生成される前記親符号である、［１２］に従う低−レート符号から高−レート符号を生成する方法。
［１７］  先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記ステップは、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは該所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、［１３］に従う低−レート符号から高−レート符号を生成する方法。
［１８］  該パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記ステップは、下記の数式を使用する：  
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ，
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの該集合の要素数（cardinality）であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、［１３］に従う低−レート符号から高−レート符号を生成する方法。
［１９］  前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記ステップは、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］、を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内の該パンクチュアされる変数ノードの指標である、［１３］に従う低−レート符号から高−レート符号を生成する方法。
［２０］  符号語ビットの前記部分集合を無作為に検索することを更に具備し、無作為に検索する前記ステップは、
１）所望の基準レートを持つ親符号を選択すること、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化すること、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つけること、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算すること、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択すること、
６）前記選択された個数の変数ノードをパンクチュアすることによって該先行のレートから符号を構成すること、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法（density evolution）を実行すること、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索すること、前記構成された符号をｗｉｎｎｅｒ符号として設定すること、及び、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定すること、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返すこと
を具備する前記ステップである、［１４］に従う低−レート符号から高−レート符号を生成する方法。
［２１］  先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記ステップは、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアすること、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記ステップである、［１５］に従う低−レート符号から高−レート符号を生成する方法。
［２２］  前記構成された符号の新しい閾値を繰り返し検索する前記ステップは、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分すること、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断すること、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返すことを具備する前記ステップである、［２０］に従う低−レート符号から高−レート符号を生成する方法。
［２３］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算すること、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つけること、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算すること、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算すること、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化するステップを具備する前記ステップである、［２１］に従う低−レート符号から高−レート符号を生成する方法。
［２４］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアするステップを更に具備する、［２３］に従う低−レート符号から高−レート符号を生成する方法。
［２５］  このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記ステップは、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つけること、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードを該第２集合内の該ノードであると設定すること、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの該個数が＞１であるならば、ステップｃ１−ステップｃ４を実行する、
ｃ１）ステップａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つけること、そこでは前記パンクチュアされていない変数ノードに連結される前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もしステップｃ１の前記部分集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もしステップｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、ステップｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択すること、及び  ｃ４）前記選択された変数ノードをパンクチュアすること、そして前記パンクチュアされた選択済み変数ノードをパンクチュアされていない変数ノードの該集合からパンクチュアすること
を具備する前記ステップである、［２４］に従う低−レート符号から高−レート符号を生成する方法。
［２６］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、更新するステップを更に具備し、更新する該ステップは、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新すること、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新すること、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新すること、ここで、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される、
を具備する該ステップである、［２５］に従う低−レート符号から高−レート符号を生成する方法。
［２７］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記ステップは、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するステップを更に具備する、［２６］に従う低−レート符号から高−レート符号を生成する方法。
［２８］  唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記ステップは、
パンクチュアリング・スコアをゼロに初期化すること、
ランダム・シードを変更すること、
前記所望のパンクチュアされる符号を得るために、前記先行符号について［１５］［２１］［２３］［２４］及び［２５］の前記諸ステップを実行すること、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算すること、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択すること
を具備する前記ステップである、［２７］に従う低−レート符号から高−レート符号を生成する方法。
［２９］  高レート・プロトグラフから低レート・プロトグラフを生成するための手段であって、
基本グラフを複製するための手段、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換するための手段、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取るための手段、
を具備する手段。
［３０］  前記基本グラフの前記複製中の同一型の辺の端点を置換するための前記手段は、前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用するための手段を更に具備する、［２９］の手段。
［３１］  前記基本グラフの前記複製中の同一型の辺の端点を置換するための前記手段は、１辺ずつの仕方でシンボルとチェック・ノードとの間に辺すなわち連結を設定するための手段を更に具備する、［２９］の手段。
［３２］  系統的入力ノードを切り取るための前記手段は、（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノードを切り取るための手段を更に具備する、ここに、Ｎは変数ノードの個数を表し、Ｃはチェック・ノードの個数を表し、そして１／ｍは所望の基準レートを表す、［２９］の手段。
［３３］  系統的入力ノードを切り取る前記ステップは、ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノードとそれ等に連結される辺を切り取ることを更に具備する、ここに、ｐは該基本グラフの該複製の個数であり、Ｋは変数ノード個数マイナス・チェック・ノード個数であり、ＲＢは所望の基準レートであり、及びＲＬは設計レートである、［２９］の手段。
［３４］  前記切り取られた置換されたグラフの前記辺を追加すること、除去すること及び交換することの組合せを使用することによって前記切り取られた入力ノードを最適化することを更に具備する、［２９］の手段。
［３５］  前記基本グラフの前記複製中の同一型の辺の端点を置換するための前記手段は、前記置換することを繰り返すための手段を更に具備する、［３０］の手段。
［３６］  前記プログレッシブ辺増加法は、循環ＰＥＧ法である、［３０］の手段。
［３７］  基本グラフを複製するための前記手段は、前記基本グラフをｍ−１回複製するための手段を具備する、［３２］の手段。
［３８］  前記基本グラフの前記ｍ−１個の複製中の同一型の辺の端点を置換するための前記手段は、
前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用するための手段、
前記置換することを繰り返すための手段、及び
もし該プログレッシブ辺増加法がランダム・シードを含むならば、最小数の最短サイクルを有する該置換されたグラフを抽出するための手段
を更に具備する前記手段である、［３７］の手段。
［３９］  符号語ビットの部分集合をパンクチュアするための手段を具備する、低−レート符号から高−レート符号を生成するための手段。
［４０］  前記低−レート符号は、親符号である、［３９］に従う低−レート符号から高−レート符号を生成するための手段。
［４１］  符号語ビットの部分集合をパンクチュアするための前記手段は、符号語ビットの前記部分集合を正則−非正則パンクチュアするための手段を具備し、正則−非正則パンクチュアするための該手段は、
所望の基準レートを持つ親符号を選択するための手段、
所望のレートの集合内のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つけるための手段、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための手段、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａとを計算するための手段、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアするための手段、
を具備する該手段である、［３９］に従う低−レート符号から高−レート符号を生成するための手段。
［４２］  符号語ビットの部分集合をパンクチュアするための前記手段は、変数ノードを無作為にパンクチュアするための手段を具備する、［３９］に従う低−レート符号から高−レート符号を生成するための手段。
［４３］  符号語ビットの部分集合をパンクチュアするための前記手段は、先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアするための手段を具備する、［３９］に従う低−レート符号から高−レート符号を生成するための手段。
［４４］  前記親符号は、
基本グラフを複製するための手段、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換するための手段、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取るための手段
によって生成される前記親符号である、［４０］に従う低−レート符号から高−レート符号を生成するための手段。
［４５］  先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための前記手段は、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは該所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、
［４１］に従う低−レート符号から高−レート符号を生成するための手段。
［４６］  該パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算するための前記手段は、下記の数式を使用する：  
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの該集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、
［４１］に従う低−レート符号から高−レート符号を生成するための手段。
［４７］  前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアするための前記手段は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用するための手段を具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの集合内のパンクチュアされる変数ノードの指標である、［４１］に従う低−レート符号から高−レート符号を生成するための手段。
［４８］  符号語ビットの前記部分集合を無作為に検索するための手段を更に具備し、該無作為に検索するための該手段は、
１）所望の基準レートを持つ親符号を選択するための手段、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化するための手段、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つけるための手段、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算するための手段、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択するための手段、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成するための手段、
７）前記構成された符号が初期化された信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行するための手段、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索するための、前記構成された符号をｗｉｎｎｅｒ符号として設定するための、及び、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定するための手段、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為検索を繰り返すための手段。
を具備する該手段である、［４２］に従う低−レート符号から高−レート符号を生成するための手段。
［４９］  先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアするための前記手段は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアするための手段、ここでｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記手段である、［４３］に従う低−レート符号から高−レート符号を生成するための手段。
［５０］  前記構成された符号の新しい閾値を繰り返し検索するための前記手段は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分するための手段、  ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断するための手段、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまで手段ａとｂとを繰り返すための手段
を具備する前記手段である、［４８］に従う低−レート符号から高−レート符号を生成するための手段。
［５１］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算するための手段、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの集合を見つけるための手段、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算するための手段、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算するための手段、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、により初期化するための手段を具備する前記手段である、［４９］に従う低−レート符号から高−レート符号を生成するための手段。
［５２］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアするための手段を更に具備する、［５１］に従う低−レート符号から高−レート符号を生成するための手段。
［５３］  このステップにおける前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけるための前記手段は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つけるための手段、
ｂ）もし手段ａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは、該第２集合内の該ノードであると設定するための手段、
ｃ）もし手段ａの前記第２集合に属する前記パンクチュアされていない変数ノードの該個数が＞１であるならば、手段ｃ１−手段ｃ４を実行するための手段、
ｃ１）手段ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つけるための手段、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の合計は最小である、
ｃ２）もし手段ｃ１で得た前記部分集合内の前記パンクチュアされていない変数ノードの個数が１であるならば、前記パンクチュアされる変数ノードを手段ｃ１における該部分集合内の１つのノードに設定するための手段、
ｃ３）もし手段ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、手段ｃ１からの前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択するための手段、及び
ｃ４）前記選択された変数ノードをパンクチュアするための手段及び、そして前記パンクチュアされた選択済み変数ノードをパンクチュアされていない変数ノードの該集合からパンクチュアするための手段
を具備する前記手段である、［５２］に従う低−レート符号から高−レート符号を生成するための手段。
［５４］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、更新するための手段を更に具備し、更新するための該手段は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新するための手段、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新するための手段、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新するための手段、ここで、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される、
を具備する更新するための該手段である、［５３］に従う低−レート符号から高−レート符号を生成するための手段。
［５５］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアするための前記手段は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するための手段を更に具備する、［５４］に従う低−レート符号から高−レート符号を生成するための手段。
［５６］  唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化するための前記手段は、
パンクチュアリング・スコアをゼロに初期化するための手段、
ランダム・シードを変更するための手段、
前記所望のパンクチュアされる符号を得るために、前記先行符号について［４３］［４９］［５１］［５２］及び［５３］の前記手段を実行するための手段、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算するための手段、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択するための手段
を具備する前記手段である、［５５］に従う低−レート符号から高−レート符号を生成するための手段。
［５７］  高レート・プロトグラフから低レート・プロトグラフを生成する符号器であって、該符号器はメモリを具備し、ここにおいて、前記符号器は前記メモリ内に記憶されるソフトウェア命令を実行するために適応させられ、該命令は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取る、
を具備する該命令である、符号器。
［５８］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用することを更に具備する、［５７］の符号器。
［５９］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、１辺ずつの仕方でシンボルとチェック・ノードとの間に辺すなわち連結を設定することを更に具備する、［５７］の符号器。
［６０］  系統的入力ノードを切り取る前記命令は、（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノードを切り取ることを更に具備する、ここに、Ｎは変数ノードの個数を表し、Ｃはチェック・ノードの個数を表し、そして１／ｍは所望のレートを表す、［５７］の符号器。
［６１］  系統的入力ノードを切り取る前記命令は、ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノードとそれ等に連結される該辺を切り取ることを更に具備する、ここに、ｐは該基本グラフの該複製の個数であり、Ｋは変数ノード個数マイナス・チェック・ノード個数であり、ＲＢは所望の基準レートであり、及びＲＬは設計レートである、［５７］の符号器。
［６２］  前記切り取られた置換されたグラフの前記辺を追加すること、除去すること及び交換することの組合せを使用することによって前記切り取られた入力ノードを最適化する命令を更に具備する、［５７］の符号器。
［６３］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する前記命令を繰り返すことを更に具備する、［５８］の符号器。
［６４］  前記プログレッシブ辺増加法は循環ＰＥＧ法である、［５８］の符号器。
［６５］  基本グラフを複製する前記命令は、前記基本グラフをｍ−１回複製することを具備する、［６０］の符号器。
［６６］  前記基本グラフの前記ｍ−１個の複製中の同一型の辺の端点を置換する前記命令は、  前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する前記命令を繰り返す、及び
もし該プログレッシブ辺増加法がランダム・シードを含むならば、最小数の最短サイクルを有する該置換されたグラフを抽出する
を更に具備する命令である、［６５］の符号器。
［６７］  低レート符号から高レート符号を生成する符号器であって、
メモリを具備し、ここにおいて、前記符号器は、前記メモリ内に記憶される命令を実行するために適応させられ、該命令は、
符号語ビットの部分集合をパンクチュアする、
を具備する該命令である、符号器。
［６８］  前記低レート符号は親符号である、［６７］に従う低レート符号から高レート符号を生成する符号器。
［６９］  符号語ビットの部分集合をパンクチュアする前記命令は、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該命令は、
所望の基準レートを持つ親符号を選択する、
所望のレートの集合中のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つける、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする
を具備する該命令である、［６７］に従う低−レート符号から高−レート符号を生成する符号器。
［７０］  符号語ビットの部分集合をパンクチュアする前記命令は、変数ノードを無作為のパンクチュアを具備する、［６７］に従う低−レート符号から高−レート符号を生成する符号器。
［７１］  符号語ビットの部分集合をパンクチュアする前記命令は、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアすること、
を具備する前記命令である、［６７］に従う低−レート符号から高−レート符号を生成する符号器。
［７２］  前記親符号は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取る命令を実行することによって生成される前記親符号である、［６８］に従う低−レート符号から高−レート符号を生成する符号器。
［７３］  先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記命令は、下記の数式を使用する：
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応する該リフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、［６９］に従う低−レート符号から高−レート符号を生成する符号器。
［７４］  パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記命令は、下記の数式を使用する：
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、［６９］に従う低−レート符号から高−レート符号を生成する符号器。
［７５］  前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記命令は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内のパンクチュアされる変数ノードの指標である、［６９］に従う低−レート符号から高−レート符号を生成する符号器。
［７６］  符号語ビットの前記部分集合を無作為に検索する命令を更に具備し、無作為に検索する前記命令は、
１）所望の基準レートを持つ親符号を選択する、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化する、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つける、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択する、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成する、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行する、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索し、前記構成された符号をｗｉｎｎｅｒ符号として設定し、そして、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定する、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返す、
を具備する前記命令である、［７０］に従う低−レート符号から高−レート符号を生成する符号器。
［７７］  先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記命令は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアすること、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記命令である、［７１］に従う低−レート符号から高−レート符号を生成する符号器。
［７８］  前記構成された符号の新しい閾値を繰り返し検索する前記命令は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分する、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断する、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返す
を具備する前記命令である、［７６］に従う低−レート符号から高−レート符号を生成する符号器。
［７９］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つける、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算する、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化する命令を具備する前記命令である、［７７］に従う低−レート符号から高−レート符号を生成する符号器。
［８０］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアする命令を更に具備する、［７９］に従う低−レート符号から高−レート符号を生成する符号器。
［８１］  この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記命令は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つける、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは該第２集合内の該ノードであると設定する、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの個数が＞１であるならば、命令ｃ１−命令ｃ４を実行する、
ｃ１）命令ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つける、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もし命令ｃ１からの前記部分集合内の前記パンクチュアされていない変数ノードの該個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もし命令ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、命令ｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択する、及び
ｃ４）前記選択された変数ノードをパンクチュアして、前記選択されパンクチュアされた変数ノードをパンクチュアされていない変数ノードの集合からパンクチュアすることを具備する前記命令である、［８０］に従う低−レート符号から高−レート符号を生成する符号器。
［８２］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、更新する命令を更に具備し、更新する該命令は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新する、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新する、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新する、ここで前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される
を具備する該命令である、［８１］に従う低−レート符号から高−レート符号を生成する符号器。
［８３］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する命令を更に具備する、［８２］に従う低−レート符号から高−レート符号を生成する符号器。
［８４］  唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記命令は、
パンクチュアリング・スコアをゼロに初期化する、
ランダム・シードを変更する、
前記所望のパンクチュアされる符号を得るために、前記先行符号について［７１］［７７］［７９］［８０］及び［８１］の諸命令の前記諸ステップを実行する、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算する、及び  もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択する
を具備する前記命令である、［８３］に従う低−レート符号から高−レート符号を生成する符号器。
［８５］  高レート・プロトグラフから低レート・プロトグラフを生成するアクセス端末であって、該アクセス端末は、
送信機、
前記送信機に機能的に接続される受信機、
前記送信機と前記受信機に機能的に接続されるプロセッサ、
前記送信機と前記受信機に機能的に接続されるアンテナ、
前記プロセッサに機能的に接続されるメモリ、を具備する、ここに、前記アクセス端末は前記メモリ中に記憶される命令を実行するために適応され、該命令は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取るを具備する該命令である、アクセス端末。
［８６］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用することを更に具備する、［８５］のアクセス端末。
［８７］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、１辺ずつの仕方でシンボルとチェック・ノードとの間に辺すなわち連結を設定することを更に具備する、［８５］のアクセス端末。
［８８］  系統的入力ノードを切り取る前記命令は、（Ｎ−Ｃ）（ｍ−２）個の系統的入力ノードを切り取ることを更に具備する、ここに、Ｎは変数ノードの個数を表し、Ｃはチェック・ノードの個数を表し、そして１／ｍは所望のレートを表す、［８５］のアクセス端末。
［８９］  系統的入力ノードを切り取る前記命令は、ｐＫ（ＲＢ−ＲＬ）／｛ＲＢ（１−ＲＬ）｝個の系統的入力ノードとそれ等に連結される該辺を切り取ることを更に具備する、ここに、ｐは該基本グラフの該複製の個数であり、Ｋは変数ノード個数マイナス・チェック・ノード個数であり、ＲＢは所望の基準レートであり、及びＲＬは設計レートである、［８５］のアクセス端末。
［９０］  前記切り取られている置換されたグラフの前記辺を追加すること、除去すること及び交換することの組合せを使用することによって前記切り取られた入力ノードを最適化する命令を更に具備する、［８５］のアクセス端末。
［９１］  前記基本グラフの前記複製中の同一型の辺の端点を置換する前記命令は、置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する前記命令を繰り返すことを更に具備する、［８６］のアクセス端末。
［９２］  前記プログレッシブ辺増加法は循環ＰＥＧ法である、［８６］のアクセス端末。
［９３］  基本グラフを複製する前記命令は、前記基本グラフをｍ−１回複製することを具備する、［８８］のアクセス端末。
［９４］  前記基本グラフの前記ｍ−１個の複製中の同一型の辺の端点を置換する前記命令は、前記基本グラフのガースを最大化するためにプログレッシブ辺増加法を使用する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する前記命令を繰り返す、及び
もし該プログレッシブ辺増加法がランダム・シードを含むならば、最小数の最短サイクルを有する該置換されたグラフを抽出する
を更に具備する前記命令である、［９３］のアクセス端末。
［９５］  低−レート符号から高−レート符号を生成するアクセス端末であって、該アクセス端末は、
送信機、
前記送信機に機能的に接続される受信機、
前記送信機と前記受信機に機能的に接続されるプロセッサ、
前記送信機と前記受信機に機能的に接続されるアンテナ、
前記プロセッサに機能的に連結されるメモリ、を具備する、ここに、前記アクセス端末は前記メモリ中に記憶されるソフトウェア命令を実行するために適応され、該命令は、符号語ビットの部分集合をパンクチュアする、
を具備する該命令である、アクセス端末。
［９６］  前記低レート符号は親符号である、［９５］に従う低レート符号から高レート符号を生成するアクセス端末。
［９７］  符号語ビットの部分集合をパンクチュアする前記命令は、符号語ビットの前記部分集合を正則−非正則パンクチュアすることを具備し、正則−非正則パンクチュアする該命令は、
所望の基準レートを持つ親符号を選択する、
所望のレートの集合中のそれぞれのレートに対して先行符号中にパンクチュアされていない変数ノードの集合を見つける、
先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する、及び
前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする
を具備する該命令である、［９５］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［９８］  符号語ビットの部分集合をパンクチュアする前記命令は、変数ノードの無作為のパンクチュアを具備する、［９５］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［９９］  符号語ビットの部分集合をパンクチュアする前記命令は、
先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする、
ことを具備する前記命令である、［９５］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１００］  前記親符号は、
基本グラフを複製する、
置換されたグラフを作成するために前記基本グラフの複製中の同一型の辺の端点を置換する、及び
前記置換されたグラフ中の系統的入力ノード及びそれ等に連結される前記辺を切り取る命令を実行することによって生成される前記親符号である、［９６］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０１］  先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する前記命令は、下記の数式を使用する：  
ｐｍ＝Ｆｌｏｏｒ（Ｎ−（Ｎ−Ｃ）／Ｒｍ−Ｎ＿ｔｍ−１）
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、Ｒｍは所望のレートであり、Ｒｍ−１は先行のレートであり、ＮとＣはそれぞれリフトされたグラフ中の変数ノードの個数とチェック・ノードの個数であり、Ｎ＿ｔｍ−１は先行符号Ｃ｛Ｒｍ−１｝に対応するリフトされたグラフ中の前記パンクチュアされる変数ノードの総個数であり、そして、Ｆｌｏｏｒ（）は床関数を表す、［９７］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０２］  パンクチュアされていない集合のパンクチュアリング・パターンが正則になるようにａｌｐｈａとｂｅｔａを計算する前記命令は、下記の数式を使用する：
ａｌｐｈａ＝Ｆｌｏｏｒ［（ｒｍ−１−ｐｍ）／（ｐｍ−１）］、及び
ｂｅｔａ＝ｒｍ−１−ａｌｐｈａ（ｐｍ−１）−ｐｍ
ここに、ｐｍはパンクチュアされるべき変数ノードの個数であり、ｒｍ−１は先行符号Ｃ｛Ｒｍ−１｝中のパンクチュアされていない冗長変数ノードの集合の要素数であり、Ｒｍ−１は先行のレートであり、そして、Ｆｌｏｏｒ（）は床関数を表す、［９７］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０３］  前記パンクチュアされていない集合の関数前記ａｌｐｈａと前記ｂｅｔａであるパターンをパンクチュアする前記命令は、パターン［Ｎ１｛ａｌｐｈａノード｝Ｎ２｛ａｌｐｈａノード｝…Ｎｍ｛ｂｅｔａノード｝］を使用することを具備する、ここに、Ｎ１，Ｎ２，…Ｎｐ＿ｍは要素数ｒｍ−１のパンクチュアされていない冗長ノードの該集合内のパンクチュアされる変数ノードの指標である、［９７］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０４］  符号語ビットの前記部分集合を無作為に検索する命令を更に具備し、無作為に検索する前記命令は、
１）所望の基準レートを持つ親符号を選択する、
２）所望のレートの該集合中のそれぞれの所望のレートに対する信号対雑音比を初期化する、
３）先行のレートを持つ先行符号中にパンクチュアされていない変数ノードの集合を見つける、
４）前記先行のレートから所望のレートへ移行するためにパンクチュアされるべき変数ノードの個数を計算する、
５）パンクチュアされていない変数ノードの前記集合から前記個数のパンクチュアされるべき変数ノードを無作為に選択する、
６）前記選択された個数の変数ノードをパンクチュアすることによって先行のレートから符号を構成する、
７）前記構成された符号が該初期化された該信号対雑音比で無視可能な誤りを達成するかどうかをテストするために密度発展法を実行する、
８）前記構成された符号の新しい信号対雑音閾値を繰り返し検索し、前記構成された符号をｗｉｎｎｅｒ符号として設定し、そして、もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成するならば、前記信号対雑音比を新しい閾値に等しいと設定する、及び
９）もし前記構成された符号が前記信号対雑音比で無視可能な誤りを達成しないならば、ステップ５からステップ７を繰り返すことによって前記無作為に検索することを繰り返す、
を具備する前記命令である、［９８］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０５］  先行符号から所望の符号を求めるために変数ノードをプログレッシブ・ノード・パンクチュアする前記命令は、
要素数ｒｍ−１のパンクチュアされていない前記変数ノードの集合から前記変数ノードを順次パンクチュアする、ここで、ｒｍ−１は先行符号中のパンクチュアされていない冗長変数ノードの該集合内の要素数であり、そしてここで、該先行符号のパンクチュアされていない冗長変数ノードは所望のレートの符号をもたらすためにパンクチュアされることができる、
を具備する前記命令である、［９９］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０６］  前記構成された符号の新しい閾値を繰り返し検索する前記命令は、
ａ）テスト信号対雑音比を選択するための前記範囲を繰り返し二分する、
ｂ）前記テスト信号対雑音比が誤りゼロを達成するかどうかを判断する、及び
ｃ）前記信号対雑音比で所望の精度が達成されるまでステップａとｂを繰り返す
を具備する前記命令である、［１０４］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０７］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、
少なくとも１つの前記変数ノードに連結されるそれぞれのチェック・ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、
前記パンクチュアされていない変数ノードの前記集合を見つける、
それぞれの前記パンクチュアされていない変数ノードに対して、それぞれの前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの個数を計算する、ここに、それぞれの前記チェック・ノードは唯１つの前記パンクチュアされる変数ノードに連結される、及び
それぞれの前記パンクチュアされていない変数ノードに対して、前記チェック・ノードに連結されている前記パンクチュアされる変数ノードの合計を計算する、ここに、前記チェック・ノードは前記パンクチュアされていない変数ノードに連結される、
により初期化する命令を具備する前記命令である、［１０５］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０８］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つけることによってパンクチュアする命令を更に具備する、［１０７］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１０９］  この命令における前記パンクチュアされた変数ノードの個数が前記所望のレートに対する前記パンクチュアされる変数ノードの個数未満である間は、前記パンクチュアされる変数ノードを見つける前記命令は、
ａ）前記チェック・ノードの隣接点の個数が最小である前記パンクチュアされていない変数ノードの前記集合において、前記パンクチュアされていない変数ノードの第２の集合を見つける、
ｂ）もしステップａの前記第２集合内の前記パンクチュアされていない変数ノードの前記個数が１であるならば、該パンクチュアされる変数ノードは該第２集合内の該ノードであると設定する、
ｃ）もしステップａの前記第２集合の前記パンクチュアされていない変数ノードの個数が＞１であるならば、命令ｃ１−命令ｃ４を実行する、
ｃ１）命令ａからの前記パンクチュアされていない変数ノードの前記第２集合の部分集合を見つける、そこでは前記パンクチュアされていない変数ノードに連結されている前記チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数の該合計は最小である、
ｃ２）もし命令ｃ１からの前記部分集合内の前記パンクチュアされていない変数ノードの該個数が１であるならば、前記パンクチュアされる変数ノードをステップｃ１の該部分集合内の１つのノードに設定すること、
ｃ３）もし命令ｃ１からの該部分集合内で見つけられる該パンクチュアされていない変数ノードの該個数が１より大であるならば、命令ｃ１からの該部分集合内の前記パンクチュアされていない変数ノードから無作為に前記変数ノードを選択する、及び
ｃ４）前記選択された変数ノードをパンクチュアして、前記選択されパンクチュアされた変数ノードをパンクチュアされていない変数ノードの集合からパンクチュアすることを具備する前記命令である、［１０８］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１１０］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、更新する命令を更に具備し、更新する該命令は、
前記パンクチュアされた変数ノードに隣接する前記チェック・ノードのそれぞれに対して、該チェック・ノードに連結されているパンクチュアされた変数ノードの前記個数を更新する、
前記パンクチュアされていない変数ノードに連結される前記チェック・ノードの該個数を更新する、ここに、前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、唯１つの前記パンクチュアされた変数ノードに連結される、及び、
前記チェック・ノードに連結されている前記パンクチュアされた変数ノードの該合計を更新する、ここで前記チェック・ノードは、前記チェック・ノードに隣接するそれぞれの前記変数ノードに対して、前記パンクチュアされていない変数ノードに連結される
を具備する該命令である、［１０９］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１１１］  パンクチュアされていない前記変数ノードの集合から変数ノードを順次パンクチュアする前記命令は、唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する命令を更に具備する、［１１０］に従う低−レート符号から高−レート符号を生成するアクセス端末。
［１１２］
唯１つのパンクチュアされる変数ノードを持つ該チェック・ノードと他のパンクチュアされる変数ノードとの間の連結度を最大化する前記命令は、
パンクチュアリング・スコアをゼロに初期化する、
ランダム・シードを変更する、
前記所望のパンクチュアされる符号を得るために、前記先行符号について［７１］［７７］［７９］［８０］及び［８１］の諸命令の前記諸ステップを実行する、
該所望のパンクチュアされる符号の該パンクチュアリング・スコアを計算する、及び
もし該所望のパンクチュアされる符号の該パンクチュアリング・スコアが該先行符号の該パンクチュアリング・スコアより大であれば、最大のパンクチュアリング・スコアを持つパンクチュアリング・パターンを選択する
を具備する前記命令である、［１１１］に従う低−レート符号から高−レート符号を生成するアクセス端末。
【外国語明細書】
2012090293000001.pdf