(57)【要約】  概して入力データをパリティデータに符号化するメカニズムの実施形態が開示される。他の実施形態も記載され、請求される可能性がある。【選択図】図１
2010515340.tif 000002
【特許請求の範囲】
【請求項１】
状態値を有し、入力データのブロックを符号化して符号化されたデータのブロックにするエンコーダと、
前記エンコーダの前記状態値の関数として変化する前記符号化されたデータの前記ブロックを組み合わせてパリティデータのブロックを形成するコンバイナと、
を備える構成要素エンコーダモジュール。
【請求項２】
前記エンコーダは、循環回帰畳み込みエンコーダであり、前記状態値は、前記エンコーダの最終状態値に関連する、請求項１に記載の構成要素エンコーダモジュール。
【請求項３】
前記エンコーダの最終状態の関数として変化する前記値を調べるルックアップモジュールをさらに備える、請求項２に記載の構成要素エンコーダモジュール。
【請求項４】
前記符号化されたデータのブロックを格納する記憶装置をさらに備える、請求項１に記載の構成要素エンコーダモジュール。
【請求項５】
前記エンコーダは、少なくとも３つの遅延を有する、請求項３に記載の構成要素エンコーダモジュール。
【請求項６】
前記コンバイナは、前記符号化されたデータのブロックに対して、前記エンコーダの前記状態値の関数として変化するデータを用いて加算、乗算、論理和、および、排他的論理和のうちの１つを実行し、パリティブロックデータを生成する、請求項１に記載の構成要素エンコーダモジュール。
【請求項７】
前記エンコーダの前記状態値の関数として変化する前記データは、前記エンコーダの前記状態値を初期化することによって生成される、請求項２に記載の構成要素エンコーダモジュール。
【請求項８】
前記エンコーダの前記状態値の関数として変化する前記データは、前記エンコーダの前記状態値を初期化し、前記エンコーダにゼロデータのブロックを供給することによって生成される、請求項２に記載の構成要素エンコーダモジュール。
【請求項９】
前記エンコーダの前記状態値の関数として変化する前記データは、前記エンコーダの遅延の数に関連する周期性を有する、請求項８に記載の構成要素エンコーダモジュール。
【請求項１０】
入力データのブロックをインターリーブするインターリーバと、
構成要素エンコーダモジュールと、
前記構成要素エンコーダモジュールに結合され、前記入力データのブロックおよび符号化されたデータのブロックのうちの少なくとも１つを格納する記憶装置と、
を備え、前記構成要素エンコーダモジュールは、
状態値を有し、前記入力データのブロックを符号化して前記符号化されたデータのブロックにするエンコーダと、
前記エンコーダの前記状態値の関数として変化する前記符号化されたデータの前記ブロックを組み合わせてパリティデータのブロックを形成するコンバイナと、を有する、システム。
【請求項１１】
前記エンコーダは、循環回帰畳み込みエンコーダであり、前記状態値は、前記エンコーダの最終状態値に関連する、請求項１０に記載のシステム。
【請求項１２】
前記エンコーダの最終状態の関数として変化する前記値を調べるルックアップモジュールをさらに備える、請求項１１に記載のシステム。
【請求項１３】
前記コンバイナは、前記符号化されたデータのブロックに対して、前記エンコーダの前記状態値の関数として変化するデータを用いて加算、乗算、論理和、および、排他的論理和のうちの１つを実行し、パリティブロックデータを生成する、請求項１０に記載のシステム。
【請求項１４】
前記エンコーダの前記状態値の関数として変化する前記データは、前記エンコーダの前記状態値を初期化することによって生成される、請求項１１に記載のシステム。
【請求項１５】
前記システムは、ＩＥＥＥ（米国電気電子学会）８０２．１１規格のファミリに従い動作可能なデバイス、または、ＩＥＥＥ８０２．１６規格のファミリに従い動作可能なデバイスのうちの少なくとも１つに一体化される、請求項１０に記載のシステム。
【請求項１６】
構成要素エンコーダにおける、状態値を有するエンコーダにおいて、入力データのブロックを符号化して符号化されたデータのブロックにする段階と、
コンバイナにより、前記符号化されたデータのブロックと、前記エンコーダの状態値の関数として変化するデータとを組み合わせてパリティデータのブロックを生成する段階と、
を備える方法。
【請求項１７】
前記エンコーダは、複数の遅延を有し、前記入力データのブロックを符号化した後の前記エンコーダの最終値に関連し、前記方法は、前記入力データのブロックを符号化した後に前記エンコーダの状態値の関数として変化するデータをルックアップモジュールによって調べる段階をさらに備える、請求項１６に記載の方法。
【請求項１８】
前記組み合わせる段階は、前記符号化されたデータブロックに対し、前記エンコーダの最終値の関数として変化するデータを用いて加算、乗算、論理和、および、排他的論理和のうちの１つを実行し、パリティデータのブロックを生成する段階を有する、請求項１６に記載の方法。
【請求項１９】
前記エンコーダによって、前記エンコーダの状態値を初期化し、ゼロデータのブロックを符号化することにより、前記エンコーダの状態値の関数としての前記データを生成する段階をさらに備える、請求項１６に記載の方法。
【請求項２０】
関連情報を有するマシンアクセス可能媒体を備える物品であって、前記関連情報は、アクセスされると、マシンに、
構成要素エンコーダにおける、状態値を有するエンコーダにおいて、入力データのブロックを符号化して符号化されたデータのブロックにする段階と、
コンバイナにより、前記符号化されたデータのブロックと、前記エンコーダの状態値の関数として変化するデータとを組み合わせてパリティデータのブロックを生成する段階と、
を実行させる、物品。
【請求項２１】
前記関連情報は、アクセスされると、前記エンコーダの状態値の関数として変化するデータを調べる段階を前記マシンに、実行させ、前記エンコーダは、複数の遅延を有し、前記状態値は、前記入力データを符号化した後の、前記エンコーダの最終状態値に関連する、請求項２０に記載の物品。
【請求項２２】
前記関連情報は、アクセスされると、前記コンバイナにおいて、前記符号化されたデータブロックに対し、前記エンコーダの最終値の関数として変化するデータを用いて加算、乗算、論理和、および、排他的論理和のうちの１つを実行し、パリティデータのブロックを生成させる段階を前記マシンに実行させる、請求項２０に記載の物品。
【請求項２３】
前記関連情報は、アクセスされると、前記エンコーダにおいて、前記エンコーダの状態値を初期化し、ゼロデータのブロックを符号化することによって、前記エンコーダの状態値の関数として変化するデータを生成させる段階を前記マシンに実行させる、請求項２０に記載の物品。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書中に記載されるさまざまな実施形態は、概して、無線通信に用いられる装置、システム、および、方法を含むデジタル無線に関する。
【背景技術】
【０００２】
ＩＥＥＥ（米国電気電子学会）により策定される規格のファミリーに、ポイントツーマルチポイント無線のパケット交換通信システムのパラメータが定義されている。特に、８０２．１６規格のファミリー（例えば、ＩＥＥＥ規格８０２．１６−２００４（２００４年９月１８日発表））は、固定、携帯、および／または、移動広帯域無線アクセスネットワークを提供しうる。ＩＥＥＥ８０２．１６規格に関する追加情報は、Ｌｏｃａｌ  ａｎｄ  Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ−Ｐａｒｔ  １６についてのＩＥＥＥ規格において見ることができる：  Ａｉｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｆｉｘｅｄ  Ｂｒｏａｄｂａｎｄ  Ｗｉｒｅｌｅｓｓ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍｓ（２００４年１０月発表）。また、ＩＥＥＥ８０２．１６Ｅ−２００５、Ｌｏｃａｌ  ａｎｄ  Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ−Ｐａｒｔ  １６のＩＥＥＥ規格も参照されたい：  Ａｉｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｆｉｘｅｄ  Ｂｒｏａｄｂａｎｄ  Ｗｉｒｅｌｅｓｓ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍｓ−Ａｍｅｎｄｍｅｎｔ  ｆｏｒ  Ｐｈｙｓｉｃａｌ  ａｎｄ  Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌａｙｅｒｓ  ｆｏｒ  Ｃｏｍｂｉｎｅｄ  Ｆｉｘｅｄ  ａｎｄ  Ｍｏｂｉｌｅ  Ｏｐｅｒａｔｉｏｎ  ｉｎ  Ｌｉｃｅｎｓｅｄ  Ｂａｎｄｓ  ２０（２００６年２月２８日発表）。さらに、ＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）は、ＩＥＥＥ８０２．１６規格に従い、広帯域無線ネットワークを展開している。説明の便宜上、用語「８０２．１６」および「ＷｉＭＡＸ」（ＷｉＭＡＸとは、ＷｉＭＡＸフォーラムの商標である）は、本開示を通じて、一組のエアインターフェース規格であるＩＥＥＥ８０２．１６と交換可能である。
【０００３】
無線デバイス間の無線通信は、ランダムノイズおよびマルチパス歪みが原因でデータ破壊を起こすことがある。無線デバイスは、入力データを符号化して相関したパリティデータを生成してよい。送信デバイスは、入力データおよび相関したパリティデータを１つのデバイスに送信する。受信デバイスは、受信された入力データおよび相関したパリティデータを処理し、受信された入力データが破壊されているかどうかを決定し、送信された入力データのリカバリを試みてよい。パリティデータは、ＣＴＣ（畳み込みターボ符号）などの畳み込み符号化を用いてよい。
【０００４】
ＣＴＣエンコーダは、ＣＲＣＳＥ（循環再帰畳み込み体系的エンコーダ）を用いて入力データブロックを処理し、パリティデータブロックを生成してよい。ＣＴＣエンコーダが、初期状態値を最終状態値に設定することを含め、入力データブロックを処理してパリティデータブロックを生成する前に、既知（アプリオリ）値によってＣＲＣＳＥの状態値を初期化した場合、いくつかのＣＴＣデコーダはより効果的に動作する。ＣＲＣＳＥのアプリオリ状態値を決定すべく、ＣＴＣエンコーダは、初期状態値がゼロに設定されたＣＲＣＳＥを用いて入力データブロックを処理してよい。ＣＴＣエンコーダは、入力データブロック全体を処理した後、ＣＲＣＳＥの最終状態値に基づき、アプリオリＣＲＣＳＥ状態値を決定してよい。ＣＴＣエンコーダは、決定されたアプリオリ値に設定された初期ＣＲＣＳＥ状態値を用いて入力データブロック全体を再び処理し、パリティデータブロックを生成してよい。このようなＣＴＣエンコーダは、多数の処理サイクルを要求することがある。
【図面の簡単な説明】
【０００５】
【図１】さまざまな実施形態に係るＣＴＣエンコーダのブロック図である。
【０００６】
【図２】さまざまな実施形態に係るＣＲＣＳＥ（循環再帰畳み込み体系的エンコーダ）のブロック図である。
【０００７】
【図３】さまざまな実施形態に係るいくつかの方法を示すフローチャートである。
【０００８】
【図４】さまざまな実施形態に係るいくつかの方法を示すフローチャートである。
【０００９】
【図５】さまざまな実施形態に係る構成要素エンコーダを示すブロック図である。
【００１０】
【図６】さまざまな実施形態に係る構成要素エンコーダを示すブロック図である。
【００１１】
【図７】さまざまな実施形態に係る物品のブロック図である。
【発明を実施するための形態】
【００１２】
図１は、さまざまな実施形態に係る、インターリーバ１２、スイッチ１４、および、構成要素エンコーダ１６を有するＣＴＣエンコーダ１０のブロック図である。インターリーバ１２は、二進入力データＡおよびＢ（Ａ［０：Ｎ―１］、Ｂ［０：Ｎ―１］）のＮサイズのブロックをインターリーブしてよい。一実施形態において、構成要素エンコーダ１６は、スイッチ１４に基づき、インターリーブされない入力データＡ、ＢからパリティデータＹ１およびＷ１のＮサイズのブロックを生成してよい。構成要素エンコーダ１６は、スイッチ１４に基づき、インターリーブされた入力データＡ、ＢからパリティデータＹ２およびＷ２のＮサイズのブロックを生成してよい。
【００１３】
図２は、さまざまな実施形態に係る、ＣＲＣＳＥ（循環再帰畳み込み体系的エンコーダ）２０を示すブロック図である。ＣＲＣＳＥ２０は、Ａ、Ｂ入力二進データを受信し、二進パリティデータＹ、Ｗを生成する。一実施形態では、ＣＲＣＳＥ２０は、３つのユニット遅延２２、２４、２６と、三次多項式を表す５つの排他的論理和（ＸＯＲ）モジュール３２、３４、３６、３８、４２とを有する。一実施形態では、エンコーダフィードバックは、多項式１＋Ｄ＋Ｄ３に関連し、Ｙ（Ｉ）は、多項式Ｉ＋Ｄ２＋Ｄ３に関連し、Ｗ（Ｉ）は、多項式１＋Ｄ３に関連する。名目上、ＣＲＣＳＥ２０状態値Ｓ１（０）、Ｓ２（０）、Ｓ３（０）は、データ処理開始時点ではゼロである。一実施形態では、ＣＲＣＳＥ２０状態値Ｓ１（０）、Ｓ２（０）、Ｓ３（０）は、二進入力データブロックＡ、Ｂに基づき初期化されてよい。
【００１４】
図３は、さまざまな実施形態に係るＣＴＣ符号化方法５０を示すフローチャートである。一実施形態では、ＣＴＣ符号化方法５０は、ＣＲＣＳＥの（Ｚ）初期状態値をゼロに設定してよく、その場合、Ｚは、ＣＲＣＳＥの多項式の次数である（動作５２）。一実施形態では、ＣＲＣＳＥ状態値は、ＣＲＣＳＥの開始と同時にゼロになってよい。そして、ＣＴＣ符号化方法５０は、ＣＲＣＳＥを用いてＮサイズの入力データＡ、Ｂブロックを処理または符号化してよい（動作５４）。ＣＴＣ符号化方法５０は、Ａ、Ｂデータ入力ブロックを処理した後のゼロ初期化ＣＲＣＳＥの最終Ｚ状態値に基づき、循環状態値ＳＣを決定してよい。
【００１５】
一実施形態では、ＣＴＣ符号化方法５０は、ＳＦおよびＮＺに基づき、ＳＣを決定してよい。その場合、ＳＦは、
【数１】
2010515340.tif 000003
に等しく（Ｚ＝３）、ＮＺは、
【数２】
2010515340.tif 000004
に等しい（Ｚ＝３）。ＣＴＣ符号化方法５０は、値ＳＦおよびＮＺを利用し、２インデックスルックアップテーブルによってＳＣ値を決定してよい（（実施形態では表１、Ｚ＝３、図２に示されたエンコーダ２０２２を用いる）（動作５６）。
表１−ＳＣルックアップテーブル
【表１】
2010515340.tif 000005
【００１６】
ＣＴＣ符号化方法５０は、ＳＣの二進表現を用いてＣＲＣＳＥ  Ｚ状態二進値Ｓ１（０），Ｓ２（０），...ＳＺ（０）を初期化してよく、例えば、７（二進数１１１）に等しいＳＣおよび３に等しいＺについては、Ｓ１（０）は、１に設定され、Ｓ２（０）は１に設定され、Ｓ３（０）は、１に設定され、また、４（二進数１００）に等しいＳＣについては、Ｓ１（０）は、１に設定され、Ｓ２（０）は、０に設定され、Ｓ３（０）は、０に設定される（動作５８）。ＣＴＣ符号化方法５０は、ＳＣ初期化ＣＲＣＳＥを利用し、入力データＡ、Ｂのブロックを処理してパリティデータＹ、Ｗのブロックを生成してよい（動作６２）。ＣＴＣ符号化方法５０を用いてインターリーブされた入力データブロックと、インターリーブされていない入力データブロックとに対してパリティデータブロックを生成してよい。
【００１７】
図４は、さまざまな実施形態に係るＣＴＣ符号化方法７０のフローチャートである。一実施形態では、ＣＴＣ符号化方法７０は、ＣＲＣＳＥの（Ｚ）初期状態値をゼロに設定してよく、その場合、ＺはＣＲＣＳＥの多項式次数である（動作７２）。一実施形態では、ＣＲＣＳＥ初期状態値は、ＣＲＣＳＥが開始すると同時にゼロになってよい。ＣＴＣ符号化方法７０は、ゼロ初期化ＣＲＣＳＥを用いてＮサイズの入力データＡ、Ｂを処理または符号化することにより（動作７４）、ＮサイズのパリティデータブロックＹＺ、ＷＺを生成してよい。一実施形態では、ＮサイズのパリティブロックＹＺ、ＷＺは、保持または格納される（動作７４）。ＣＴＣ符号化方法７０は、Ａ、Ｂデータ入力ブロックを処理した後のＣＲＣＳＥの（Ｚ）最終状態値に基づき、循環状態値ＳＣを決定してよい。ＣＴＣ符号化方法７０は、値ＳＦおよびＮＺを用い、２インデックスルックアップテーブルによってＳＣ値を決定してよい（実施形態における表１、Ｚ＝３）（動作７６）。
【００１８】
一実施形態では、ＣＴＣ符号化方法７０は、格納または保存されたパリティデータブロックＹＺおよびＷＺを用いてパリティデータブロックＹ、Ｗを決定してよい。一実施形態では、保存されたパリティデータブロックＹＺおよびＷＺが、パリティデータブロックＹＳおよびＷＳと組み合わされることにより、パリティデータブロックＹおよびＺを決定してよく、その場合、パリティデータブロックＹＳおよびＷＳは、ヌル入力データＡ、Ｂの初期化状態値処理ブロック（ゼロのブロック）を有するＣＲＣＳＥによって生成されてよい。一実施形態では、Ｙ（Ｉ）は、Ｉ＝０からＮ−１までに対しＹＺ（Ｉ）  ＸＯＲ  ＹＳ（Ｉ）に設定されてよく、Ｗ（Ｉ）は、Ｉ＝０からＮ−１までに対しＷＳ（Ｉ）  ＸＯＲ  ＷＳ（Ｉ）に設定されてよい。
【００１９】
本実施形態では、パリティデータブロックＹＳおよびＷＳは、可能性のあるＳＣそれぞれに対し２Ｚ−１の周期性を有する。次数ＺのＣＲＣＳＥについては、２Ｚの可能性のあるＳＣ値が存在する。一実施形態では、ＣＴＣ符号化方法７０は、ゼロ入力（ＺＩ）、ＳＣ（ＺＩ−ＳＣ）ＹＳ、ＷＳルックアップテーブル（一実施形態では表２、図２に示されたエンコーダ１０ではＺ＝３）を生成または予め計算し、その場合当該表は、ＳＣおよびＩ−Ｍｏｄ−２Ｚ−１、（Ｉ−Ｍｏｄ−７、Ｚ＝３）によってインデックス付けされる。表２（Ｚ＝３の場合）では、ＳＣについての２３（８）エントリ（行）と、ＹＳおよびＷＳの周期性、および、ＣＲＣＳＥの次数（Ｚ＝３）が与えられたＹＳおよびＷＳそれぞれについての２３−１（７）エントリ（列）とが存在する。一実施形態では、ＣＴＣ符号化方法７０は、パリティインデックスＩを、Ｉ＝０からＮまでについてのＹ（Ｉ）およびＷ（Ｉ）を決定する先行値としてゼロに設定してよい。一実施形態では、ＺＩ−ＳＣ  ＹＳ、ＷＳルックアップテーブル（表２）が予め決定されて格納されてよい。
【００２０】
ＣＴＣ符号化方法７０は、ＺＩ−ＳＣ  ＹＳ、ＷＳルックテーブル内でＹＳ（Ｊ）（Ｊ＝Ｉ  ＭＯＤ（２Ｚ−１））を調べ（動作８４）、ＹＺ（Ｉ）（格納された処理値）を検索し（動作８６）、ＹＺ（Ｉ）ＸＯＲ  ＹＳ（Ｊ）に等しいＹ（Ｉ）を設定する（動作８８）ことによって各Ｙ（Ｉ）パリティビットを決定してよい。同様に、各Ｗ（Ｉ）パリティビットは、ＺＩ−ＳＣ  ＹＳ、ＷＳルックアップテーブルにおけるＷＳ（Ｊ）を調べ（動作８４）、ＷＺ（Ｉ）（格納された処理値）を検索し（動作８６）、ＷＺ（Ｉ）ＸＯＲ  ＷＳ（Ｊ）に等しいＷ（Ｉ）を設定する（動作８８）ことによって各Ｗ（Ｉ）パリティビットを決定してよい。ＣＴＣ符号化方法７０は、０からＮ―１までのＩについてのＹ（Ｉ）およびＷ（Ｉ）の決定を（ＩがＮ−１より大きくなるまで（ブロック終了））継続して行ってよい（動作９２、９４）。
表２−Ｚ＝３のＺＩ−ＳＣ  ＹＳ、ＷＳルックアップテーブル
【表２】
2010515340.tif 000006
【００２１】
図５は、さまざまな実施形態において用いられる構成要素エンコーダ（ＣＥ）１００を示す。ＣＥ１００は、Ｚ次数ＣＲＣＳＥ１０２、記憶モジュール１０４、ＳＣ値ルックアップモジュール１０６、ＺＩ−ＳＣ（ゼロ入力循環状態）ＹＳルックアップモジュール１０８、ＺＩ−ＳＣ  ＷＳルックアップモジュール１１２、ＸＯＲ１１４、および、ＸＯＲ１１６を有する。ＣＥ１００では、ＣＲＣＳＥ１０２初期状態値は、ゼロに設定されてよい（あるいは一実施形態ではゼロのままでよい）。ＣＲＣＳＥ１０２は、入力データブロックＡ、Ｂを処理してパリティデータブロックＹＺ、ＷＺを生成してよい。記憶モジュール１０４は、符号化されたブロックＹＺ、ＷＺを格納してよい。記憶モジュール１０４は、ＲＡＭ（ランダムアクセスメモリ）、磁気または光ディスクドライブ、または、他の電子メモリデバイスであってよい。ＳＣ値ルックアップモジュール１０６は、ＣＲＣＳＥ１０２最終状態値に基づき、対応するＳＣ値を決定してよい。
【００２２】
ＺＩ−ＳＣ  ＹＳルックアップモジュール１０８は、決定されたＳＣ値（ＳＣ値ルックアップモジュール１０６によって決定された）に基づき、ＹＳ（Ｊ）を決定してよく、その場合、Ｊは、Ｉ−Ｍｏｄ−（２Ｚ−１）に等しい。ＺＩ−ＳＣ  ＷＳルックアップモジュール１１２は、ＳＣ値に基づき、ＷＳ（Ｊ）を決定してよい。一実施形態では、ＸＯＲ１１４は、値ＹＺ（Ｉ）およびＹＳ（Ｊ）に基づき、０からＮ−１までのＩについてのＹ（Ｉ）を決定するのに用いられてよく、その場合、ＹＺ（Ｉ）は、記憶モジュール１０４から検索される。ＸＯＲ１１６は、ＷＺ（Ｉ）およびＷＳ（Ｊ）に基づき、０からＮ−１までのＩについてのＷ（Ｉ）を決定するのに用いられてよく、その場合、その場合、ＷＺ（Ｉ）は、記憶モジュール１０４から検索されてよい。
【００２３】
図６は、さまざまな実施形態において用いられうる構成要素エンコーダ（ＣＥ）２００を示す。一実施形態では、ＣＥ２００は、Ｎサイズの入力データブロックＡ、ＢをＮ／２サイズのデータブロックに分割する。一実施形態では、ＣＲＣＳＥ２０２、記憶モジュール２０４、ＺＩ−ＳＣ  ＹＳ（Ｊ）ルックアップモジュール２０８、ＺＩ−ＳＣ  ＷＳ（Ｊ）ルックアップモジュール２１２、ＸＯＲ２１４、および、ＸＯＲ２１６は、入力データＡ、Ｂのビット０：Ｎ／２−１を処理する。本実施形態では、ＣＲＣＳＥ２２２、記憶装置２２４、ＺＩ−ＳＣ  ＹＳ（Ｊ）ルックアップモジュール２２８、ＺＩ−ＳＣ  ＷＳ（Ｊ）ルックアップモジュール２３２、ＸＯＲ２３４、および、ＸＯＲ２３６は、入力データＡおよびＢのビットＮ／２：Ｎ−１を処理する。一実施形態では、データブロックＡ［０：Ｎ／２−１］、Ｂ［０：Ｎ／２−１］およびＡ［Ｎ／２：Ｎ―１］、Ｂ［Ｎ／２：Ｎ−１］の処理は、同時に行われてよい。
【００２４】
一実施形態では、ＣＲＣＳＥ２０２、２２２初期状態値は、ゼロに設定される（かまたは、一実施形態ではゼロのまま）でよい。初期状態値ゼロにあるＣＲＣＳＥ２０２、２２２は、入力データブロックセグメントＡ、Ｂを処理し、パリティデータブロックセグメントＹＺ、ＷＺを生成してよい。記憶モジュール２０４、２２４は、パリティデータブロックセグメントＹＺ、ＷＺを格納してよい。記憶モジュール２０４、２２４は、ＲＡＭ（ランダムアクセスメモリ）、磁気または光ディスクドライブ、あるいは、他の電子メモリデバイスであってよい。ＳＣ値決定モジュール２０６は、ＳＣ１およびＳＣ２を決定してよく、その場合ＳＣ１は、ルックアップモジュール２０８および２１２によって用いられてよく、ＳＣ２は、ルックアップモジュール２２８および２３２によって用いられてよい。
【００２５】
一実施形態では、ＣＲＣＳＥ２０２最終状態値は、中間値ＳＦ１を決定するのに用いられてよく、ＣＲＣＳＥ２２２最終状態値は、中間値ＳＦ２を決定するのに用いられてよい。二次中間値ＳＦＳは、状態ルックアップテーブル（表３）によって決定されてよく、状態ルックアップテーブルは、ＳＦ１（行）と、Ｎ−ｍｏｄ−（２Ｚ−１）（Ｎ−ｍｏｄ−７、Ｚ＝３）（列）とによってインデックス付けされてよい。その後、一実施形態では、ＳＦは、ＳＦＳ  ＸＯＲ  ＳＦ２に等しく設定されてよい。そして、ＺＩ−ＳＣ  ＹＳおよびＷＳルックアップモジュール２０８および２１２によって用いられるＳＣ１がＳＣルックアップテーブル（一実施形態では表１）によって決定されてよく、その場合、ＳＦは列（行？）であり、Ｎ−ＭＯＤ−（２Ｚ−１）は、列である（Ｎ−ＭＯＤ−７、Ｚ＝３）。一実施形態では、ＳＣ２は、中間ＳＣＩＮＤおよびＳＦ１により決定される。ＳＣＩＮＤは、ＳＣを行項目として用い、Ｎ−ｍｏｄ−（２Ｚ−１）（Ｎ−ｍｏｄ−７、Ｚ＝３）を列項目として用いることによりアップデートされた状態ルックアップテーブル（表３）によって決定されてよい。一実施形態では、ＳＣ２は、ＳＣＩＮＤ  ＸＯＲ  ＳＦ１に等しく設定されてよい。
【００２６】
ＺＩ−ＳＣルックアップモジュール２０８は、ＳＣ１およびＪに基づきＹＳ（Ｊ）を決定してよく、ＺＩ−ＳＣルックアップモジュール２１２は、ＳＣ１およびＪに基づき、ＷＳ（Ｊ）を決定してよい。ＺＩ−ＳＣルックアップモジュール２２８は、ＳＣ２およびＪに基づきＹＳ（Ｊ）を決定してよく、ＺＩ−ＳＣルックアップモジュール２３２は、ＳＣ２およびＪに基づきＷＳ（Ｊ）を決定してよい。一実施形態では、ＸＯＲ２１４は、Ｙ（Ｉ）（ＹＺ（Ｉ）ＸＯＲ  ＹＳ（Ｊ）に等しい）を決定するのに用いられてよく、その場合、ＹＺ（Ｉ）は、０からＮ／２−１までのＩについて記憶モジュール２０４から検索される。ＸＯＲ２１６は、Ｗ（Ｉ）（ＷＺ（Ｉ）  ＸＯＲ  ＷＳ（Ｊ）に等しい）を決定するのに用いられてよく、その場合、ＷＺ（Ｉ）は０からＮ／２−１までのＩについて記憶モジュール２０４から検索される。一実施形態では、ＸＯＲ２３４は、Ｙ（Ｉ）（ＹＺ（Ｉ）ＸＯＲ  ＹＳ（Ｊ）に等しい）を決定するのに用いられてよく、その場合、ＹＺ（Ｉ）は、Ｎ／２からＮ−１までのＩについて記憶モジュール２２４から検索される。ＸＯＲ２３６は、Ｗ（Ｉ）（ＷＺ（Ｉ）ＸＯＲ  ＷＳ（Ｊ）に等しい）を決定するのに用いられてよく、その場合、ＷＺ（Ｉ）は、Ｎ／２からＮ−１までのＩについて記憶モジュール２２４から検索される。
表３−アップデート状態
【表３】
2010515340.tif 000007
【００２７】
同様の技法を用い、各入力データブロックＡ、Ｂは、４または他の複数のサブブロックに再分割され、その場合、各サブブロックは、それぞれのパリティビットＹ、Ｗに別々に符号化される。
【００２８】
前述のいかなる構成要素も、ソフトウェアにおける実施形態を含め、多数の方法で実装されてよい。このように、ＣＲＣＳＥ１０２、記憶モジュール１０４、ＳＣルックアップモジュール１０６、ＺＩ−ＳＣ  ＹＳ  ルックアップモジュール１０８、ＺＩ−ＳＣ  ＷＳルックアップモジュール１１２、ＸＯＲ１１４、ＸＯＲ１１６、ＣＲＣＳＥ２０２、記憶モジュール２０４、ＳＣ決定モジュール２０６、ＺＩ−ＳＣ  ＹＳルックアップモジュール２０８、ＺＩ−ＳＣ  ＷＳルックアップモジュール２１２、ＸＯＲ２１４、ＸＯＲ２１６、ＣＲＣＳＥ２２２、記憶装置２２４、ＺＩ−ＳＣ  ＹＳルックアップモジュール２２８、ＺＩ−ＳＣ  ＷＳルックアップモジュール２３２、ＸＯＲ２３４、および、ＸＯＲ２３６は、本願明細書中ではすべて「モジュール」として特徴付けられてよい。
【００２９】
モジュールは、ハードウェア回路、シングルまたはマルチプロセッサ回路、メモリ回路、ソフトウェアプログラムモジュールおよびオブジェクト、ファームウェア、および、それらの組合せをＣＴＣエンコーダ１００、２００の設計者の望みどおりに、かつ、さまざまな実施形態の特定の実施態様にふさわしく含みうる。
【００３０】
さまざまな実施形態の装置およびシステムは、入力データに対するパリティデータを決定する以外の用途にも有益でありうる。それらは、本願明細書中に記載される構造を用いてよい装置およびシステムのすべての構成要素および特徴を完全に説明するものとして意図されてはいない。
【００３１】
さまざまな実施形態の新しい装置およびシステムを含みうる応用は、高速コンピュータ、通信および信号処理回路、モデム、シングルまたはマルチプロセッサモジュール、シングルまたはマルチ組込みプロセッサ、データスイッチ、および、マルチレイヤのマルチチップモジュールを含む特定用途向けモジュールを含む。さらに、このような装置およびシステムは、テレビ、携帯電話、パソコン（例えばラップトップコンピュータ、デスクトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピューヤ）、車両、医療機器（例えば心臓計、血圧計など）、および、その他のようなさまざまな電子システム内のサブコンポーネントとして含まれてよい。いくつかの実施形態は、多数の方法を含んでよい。
【００３２】
本願明細書中に記載される動作は、記載された以外の順序で実行されることも可能である。本願明細書中で特定される方法に関して記載されたさまざまな動作は、繰り返し、連続的に、または、同時に実行されてよい。
【００３３】
コンピュータベースのシステムにおけるコンピュータ可読媒体によってソフトウェアプログラムが実行されることにより、当該ソフトウェアプログラムにおいて定義される機能を実行してよい。さまざまなプログラミング言語を用い、本願明細書中に開示される方法を実装および実行すべく設計されたソフトウェアプログラムを作成してよい。プログラムは、Ｊａｖａ（登録商標）またはＣ＋＋などのオブジェクト指向言語を用い、オブジェクト指向フォーマットで構築されてよい。あるいは、プログラムは、アセンブリまたはＣなどの手続き型言語を用い、手続き志向フォーマットで構築されてよい。ソフトウェアコンポーネントは、アプリケーションプログラムインターフェース、または、リモートプロシージャコールを含むプロセス間通信技術などの当業者によく知られた多数のメカニズムを用いて通信してよい。さまざまな実施形態の技術は、いかなる特定のプログラミング言語または環境にも限定されない。したがって、以下に図７に関して採り上げられるような他の実施形態も実現できる。
【００３４】
図７は、本発明のさまざまな実施形態に係る物品２５０のブロック図である。このような実施形態の例は、コンピュータ、メモリシステム、磁気または光ディスク、他の何らかの記憶装置、または、いかなるタイプの電子デバイスまたはシステムを含んでよい。物品２５０は、記憶装置２５４（電気、光、または、電磁素子を含むメモリなど）のようなマシンアクセス可能媒体に結合された１つ以上のプロセッサ２５２を有してよい。記憶装置２５４は、アクセスされると、マシン（例えばプロセッサ２５２など）に上記動作を実行させる関連情報２５６（例えばコンピュータプログラム命令、データ、または、両方）を含んでよい。記憶装置２５４は、入力データのブロック、インターリーブされた入力データのブロック、および、パリティデータのブロックも含んでよい。プロセッサ２５２は、入力データのブロックをインターリーブするインターリーバ２６２を有してよい。プロセッサ２５２は、入力データのブロックに基づきパリティデータのブロックを生成する構成要素エンコーダモジュール２６４も有してよい。一実施形態では、プロセッサ２５２、インターリーバ２６２、および、構成要素エンコーダモジュールは、別々の構成要素またはモジュールであってよい。
【００３５】
本発明の概念は、ＩＥＥＥ規格８０２．ｘｘ実施態様（８０２．１１、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｅ、８０２．１１ｇ、８０２．１６など）の典型的なコンテキストで記載される実施形態を含んでよいが、請求項の範囲はそれに制限されない。ＩＥＥＥ８０２．１６プロトコル規格に関する追加情報は、ＩＥＥＥ規格８０２．１６、情報技術についてのＩＥＥＥ規格への補足において見る事ができる−システム間の電気通信および情報交換−ＬＡＮおよびＭＡＮネットワーク−特定条件パート１１：無線ＬＡＮ  ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）およびＰＨＹ（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ）仕様書−５ＧＨｚ帯域における高速物理層（１９９９年発表、２００３年６月１２日再確認）。ＩＥＥＥ８０２．１１ｂプロトコル規格に関する追加情報は、ＩＥＥＥ規格８０２．１１ｂ、情報技術についてのＩＥＥＥ規格への補足において見ることができる−システム間の電気通信および情報交換−ＬＡＮおよびＭＡＮネットワーク−特定条件パート１１：無線ＬＡＮ  ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）およびＰＨＹ（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ）仕様書：２．４ＧＨｚ帯域における高速物理層拡張（１９９９年９月１６日認可、２００３年６月１２日再確認）。ＩＥＥＥ８０２．１１ｇプロトコル規格は、情報技術についてのＩＥＥＥ規格であるＩＥＥＥ規格８０２．１１ｇにおいて見ることができる−システム間の電気通信および情報交換−無線ＬＡＮ  ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）およびＰＨＹ（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ）仕様書改定版４：２．４ＧＨｚ帯域におけるさらなる高速物理層拡張（２００３年６月１２日認可）。本発明の実施形態は、いかなる有線または無線システムの一部として実装されてよい。例は、ＷＰＡＮ（ｗｉｒｅｌｅｓｓ  ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＬＡＮ（無線ＬＡＮ）、ＷＭＡＮ（ｗｉｒｅｌｅｓｓ  ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＷＡＮ（ｗｉｒｅｌｅｓｓ  ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、携帯電話ネットワーク、３Ｇ（第三世代）ネットワーク、４Ｇ（第四世代）ネットワーク、ＵＭＴＳ（ｕｎｉｖｅｒｓａｌ  ｍｏｂｉｌｅ  ｔｅｌｅｐｈｏｎｅ  ｓｙｓｔｅｍ）、および、同様の通信システム内で用いられうるマルチキャリア無線通信チャネル（例えば、ＯＦＤＭ（直交周波数分割多重方式）を含む実施形態も含みうるがそれらに限定されない。
【００３６】
本願明細書の一部をなす添付の図面は、発明の内容が実施されうる特定の実施形態を限定ではなく例として示している。図示されかつ説明される実施形態は、本願明細書中に開示される教示を当業者が実施できるよう十分詳しく説明されている。本開示の範囲から逸脱せずに構造的、論理的置換および変更がなされうるよう、説明される実施形態から別の実施形態が導き出され、利用されてよい。したがって、この詳細な説明は、限定の意味合いでとられるべきでなく、さまざまな実施形態の範囲は、請求項の権利範囲と均等な全範囲を伴う添付の請求項の範囲によってのみ定められる。
【００３７】
発明の内容のこのような実施形態は、本願明細書中では個別にまたはまとめて「発明」という用語で示しているが、便宜上にすぎず、実際に複数の実施形態が開示される場合、本出願の範囲をいかなる単一の発明または発明の概念に自ら限定する意図はない。したがって、同じ目的を達成するために考案されたいかなる構成も、本開示に示された特定の実施形態と置き換えられてよい。本開示は、さまざまな実施形態の任意およびすべての改作またはバリエーションを含むものと意図される。本願明細書中には特に記載していないが、上記実施形態の組合せ、および、他の実施形態も上記説明を検討した当業者には直ちに理解できるであろう。
【００３８】
開示の要約は、読者が技術的開示内容を簡単に確認できることを要求する米国特許法§１．７２（ｂ）に則り提供される。要約は、請求項の範囲および趣旨を解釈または限定するために用いられるものではないという理解のもとに提出される。さらに、上記詳細な説明では、開示を合理化する目的からさまざまな実施形態が単一の実施形態にまとめられていることを理解されたい。このような開示方法は、請求される実施形態が各請求項に明確に示されるものより多くの特徴を要求するという意図を反映しているとは解釈されるべきでない。むしろ、以下の請求項の範囲が反映するように、発明の内容は、単一の開示された実施形態のすべての特徴より少ない。したがって、以下の請求項の範囲、詳細な説明に組み込まれ、それぞれの請求項は、別々の好適な実施形態として独自に成り立っている。
【図１】
2010515340.tif 000008
【図２】
2010515340.tif 000009
【図３】
2010515340.tif 000010
【図４】
2010515340.tif 000011
【図５】
2010515340.tif 000012
【図６】
2010515340.tif 000013
【図７】
2010515340.tif 000014
【手続補正書】
【提出日】平成21年7月17日(2009.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
状態値を有し、入力データのブロックを符号化して符号化されたデータのブロックにするエンコーダと、
前記エンコーダの前記状態値の関数として変化する前記符号化されたデータの前記ブロックを組み合わせてパリティデータのブロックを形成するコンバイナと、
を備える構成要素エンコーダモジュール。
【請求項２】
前記エンコーダは、循環回帰畳み込みエンコーダであり、前記状態値は、前記エンコーダの最終状態値に関連する、請求項１に記載の構成要素エンコーダモジュール。
【請求項３】
前記エンコーダの最終状態の関数として変化する前記値を調べるルックアップモジュールをさらに備える、請求項２に記載の構成要素エンコーダモジュール。
【請求項４】
前記符号化されたデータのブロックを格納する記憶装置をさらに備える、請求項１に記載の構成要素エンコーダモジュール。
【請求項５】
前記エンコーダは、少なくとも３つの遅延を有する、請求項３に記載の構成要素エンコーダモジュール。
【請求項６】
前記コンバイナは、前記符号化されたデータのブロックに対して、前記エンコーダの前記状態値の関数として変化するデータを用いて加算、乗算、論理和、および、排他的論理和のうちの１つを実行し、パリティブロックデータを生成する、請求項１に記載の構成要素エンコーダモジュール。
【請求項７】
前記エンコーダの前記状態値の関数として変化する前記データは、前記エンコーダの前記状態値を初期化することによって生成される、請求項２に記載の構成要素エンコーダモジュール。
【請求項８】
前記エンコーダの前記状態値の関数として変化する前記データは、前記エンコーダの前記状態値を初期化し、前記エンコーダにゼロデータのブロックを供給することによって生成される、請求項２に記載の構成要素エンコーダモジュール。
【請求項９】
前記エンコーダの前記状態値の関数として変化する前記データは、前記エンコーダの遅延の数に関連する周期性を有する、請求項８に記載の構成要素エンコーダモジュール。
【請求項１０】
入力データのブロックをインターリーブするインターリーバと、
構成要素エンコーダモジュールと、
前記構成要素エンコーダモジュールに結合され、前記入力データのブロックおよび符号化されたデータのブロックのうちの少なくとも１つを格納する記憶装置と、
を備え、前記構成要素エンコーダモジュールは、
状態値を有し、前記入力データのブロックを符号化して前記符号化されたデータのブロックにするエンコーダと、
前記エンコーダの前記状態値の関数として変化する前記符号化されたデータの前記ブロックを組み合わせてパリティデータのブロックを形成するコンバイナと、を有する、システム。
【請求項１１】
前記エンコーダは、循環回帰畳み込みエンコーダであり、前記状態値は、前記エンコーダの最終状態値に関連する、請求項１０に記載のシステム。
【請求項１２】
前記エンコーダの最終状態の関数として変化する前記値を調べるルックアップモジュールをさらに備える、請求項１１に記載のシステム。
【請求項１３】
前記コンバイナは、前記符号化されたデータのブロックに対して、前記エンコーダの前記状態値の関数として変化するデータを用いて加算、乗算、論理和、および、排他的論理和のうちの１つを実行し、パリティブロックデータを生成する、請求項１０に記載のシステム。
【請求項１４】
前記エンコーダの前記状態値の関数として変化する前記データは、前記エンコーダの前記状態値を初期化することによって生成される、請求項１１に記載のシステム。
【請求項１５】
前記システムは、ＩＥＥＥ（米国電気電子学会）８０２．１１規格のファミリに従い動作可能なデバイス、または、ＩＥＥＥ８０２．１６規格のファミリに従い動作可能なデバイスのうちの少なくとも１つに一体化される、請求項１０に記載のシステム。
【請求項１６】
構成要素エンコーダにおける、状態値を有するエンコーダにおいて、入力データのブロックを符号化して符号化されたデータのブロックにする段階と、
コンバイナにより、前記符号化されたデータのブロックと、前記エンコーダの状態値の関数として変化するデータとを組み合わせてパリティデータのブロックを生成する段階と、
を備える方法。
【請求項１７】
前記エンコーダは、複数の遅延を有し、前記入力データのブロックを符号化した後の前記エンコーダの最終値に関連し、前記方法は、前記入力データのブロックを符号化した後に前記エンコーダの状態値の関数として変化するデータをルックアップモジュールによって調べる段階をさらに備える、請求項１６に記載の方法。
【請求項１８】
前記組み合わせる段階は、前記符号化されたデータブロックに対し、前記エンコーダの最終値の関数として変化するデータを用いて加算、乗算、論理和、および、排他的論理和のうちの１つを実行し、パリティデータのブロックを生成する段階を有する、請求項１６に記載の方法。
【請求項１９】
前記エンコーダによって、前記エンコーダの状態値を初期化し、ゼロデータのブロックを符号化することにより、前記エンコーダの状態値の関数としての前記データを生成する段階をさらに備える、請求項１６に記載の方法。
【請求項２０】
コンピュータに、
構成要素エンコーダにおける、状態値を有するエンコーダにおいて、入力データのブロックを符号化して符号化されたデータのブロックにする段階と、
コンバイナにより、前記符号化されたデータのブロックと、前記エンコーダの状態値の関数として変化するデータとを組み合わせてパリティデータのブロックを生成する段階と、
を実行させる、プログラム。
【請求項２１】
前記コンピュータに、
前記エンコーダの状態値の関数として変化するデータを調べる段階
をさらに実行させ、
前記エンコーダは、複数の遅延を有し、前記状態値は、前記入力データを符号化した後の、前記エンコーダの最終状態値に関連する、請求項２０に記載のプログラム。
【請求項２２】
前記コンピュータに、
前記コンバイナにおいて、前記符号化されたデータブロックに対し、前記エンコーダの最終値の関数として変化するデータを用いて加算、乗算、論理和、および、排他的論理和のうちの１つを実行し、パリティデータのブロックを生成させる段階
をさらに実行させる、請求項２０に記載のプログラム。
【請求項２３】
前記コンピュータに、
前記エンコーダにおいて、前記エンコーダの状態値を初期化し、ゼロデータのブロックを符号化することによって、前記エンコーダの状態値の関数として変化するデータを生成させる段階
をさらに実行させる、請求項２０に記載のプログラム。
【国際調査報告】
2010515340.tif 000015
2010515340.tif 000016