(57)【要約】【課題】インタリーブド・アドレスを生成するための方法および装置を提供すること。【解決手段】インタリーブド・アドレスを生成するための方法では、ｉ＝０からｘ−１の場合のそれぞれの２＾ｉ　ｍｏｄ（ｐ−１）値が格納される。ここで、ｐは処理されるデータ・ブロックのブロック・サイズＫに依存した素数であり、ｘは１より大きい。行間シーケンス番号に列インデックス番号が掛け合わされて、バイナリ積が得られる。行間シーケンス番号および列インデックス番号は、どちらもブロック・サイズＫおよび素数ｐ用である。次に、バイナリ積の各バイナリ構成要素に、格納された２＾ｉ　ｍｏｄ（ｐ−１）値のそれぞれが掛け合わされて、複数の中間ｍｏｄ値が得られる。行内並べ替えアドレスは複数の中間ｍｏｄ値に基づいて生成され、インタリーブド・アドレスは行内並べ替えアドレスに基づいて生成される。【選択図】図１
2004129240.tif 000002
【特許請求の範囲】
【請求項１】
　格納された２＾ｉ　ｍｏｄ（ｐ−１）値、行間シーケンス番号、および列インデックス番号に基づいて、行内並べ替えアドレスを生成する方法であって、ｐは処理されるデータ・ブロックのブロック・サイズＫに依存した素数であり、ｘは１より大きく、行間シーケンス番号および列インデックス番号がブロック・サイズＫおよび素数ｐに対応するものである方法。
【請求項２】
　生成する工程が、
　　行間シーケンス番号および列インデックス番号に基づいて、格納された２＾ｉ　ｍｏｄ（ｐ−１）値を選択することと、
　　行内並べ替えアドレスを生成するために、選択された２＾ｉ　ｍｏｄ（ｐ−１）値を組み合わせることを含む、請求項１に記載の方法。
【請求項３】
　選択する工程が、
　　第１に行間シーケンス番号と列インデックス番号とを掛け合わせてバイナリ積を取得することと、
　　第２にバイナリ積の各バイナリ構成要素と格納された２＾ｉ　ｍｏｄ（ｐ−１）値のうちのそれぞれ１つとを掛け合わせて、選択された２＾ｉ　ｍｏｄ（ｐ−１）値を取得することを含む、請求項２に記載の方法。
【請求項４】
　生成する工程が、
　第１に行間シーケンス番号と列インデックス番号とを掛け合わせてバイナリ積を取得すること、
　第２にバイナリ積の各バイナリ構成要素と格納された２＾ｉ　ｍｏｄ（ｐ−１）値のうちのそれぞれ１つとを掛け合わせて、複数の中間ｍｏｄ値を取得すること、および
　複数の中間ｍｏｄ値に基づいて行内並べ替えアドレスを決定することを含む、請求項１に記載の方法。
【請求項５】
　行内並べ替えアドレスに基づいてインタリーブド・アドレスを生成することをさらに含む、請求項４に記載の方法。
【請求項６】
　第２の乗算工程が、各バイナリ構成要素と格納された２＾ｉ　ｍｏｄ（ｐ−１）値のうちのそれぞれ１つとの論理積をとる、請求項４に記載の方法。
【請求項７】
　行内並べ替えアドレスを決定する工程が、行内並べ替えアドレスを生成するために複数の中間ｍｏｄ値に関してｍｏｄ合計演算を実行する、請求項４に記載の方法。
【請求項８】
　行内並べ替えアドレスを決定する工程が、
　隣接する中間ｍｏｄ値を合計すること、
　中間ｍｏｄ値の連続セットを取得するために、各合計のｍｏｄ（ｐ−１）値を生成すること、および
　単一の値が取得されるまで、中間ｍｏｄ値の連続セットそれぞれに対して、合計および生成の工程を反復することを含み、単一の値が行内並べ替えアドレスである、請求項７に記載の方法。
【請求項９】
　インタリーブド・アドレスを生成する工程が、
　行内並べ替えアドレスを使用してルックアップ・テーブルから行内並べ替えシーケンスにアクセスすることと、
　行内並べ替えシーケンスおよび行間並べ替えパターンに基づいて、インタリーブド・アドレスを生成することを含む、請求項６に記載の方法。
【請求項１０】
　それぞれ第１および第２のインタリーブド・アドレスを取得するために、現在および次の行間シーケンス番号に対して、第２に、第１の乗算、第２の乗算、実行および生成の工程を実行すること、
　第１のインタリーブド・アドレスが有効であるかどうかを特定すること、および
　特定工程の結果に基づいて、第１および第２のインタリーブド・アドレスのうちの１つを選択することをさらに含む、請求項５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明はターボ符号化の分野に関し、より詳細にはターボ符号化プロセスにおけるアドレス・インタリーブに関する。
【背景技術】
【０００２】
　ターボ符号化は、Ｕｎｉｖｅｒｓａｌ　ｍｏｂｉｌｅ　ｔｅｌｅｐｈｏｎｅ　ｓｔａｎｄａｒｄ（ＵＭＴＳ）などの第３世代（３Ｇ）無線標準における、データ伝送に関する最も重要な構成要素の１つである。ターボ符号化は、前方誤り訂正に例外符号化利得を提供し、ほぼ最低の信号対雑音比（ＳＮＲ）環境に対してほとんど誤りのないデータ伝送を提供するものである。ターボ符号化構造の重要な構成要素は、２つの構成復号器間でデータの順序を並べ替えるインタリーバである。調査研究によれば、ターボ符号全体の性能はブロック間のインタリーバの「ランダム性」に直接関係することがわかっている。
【０００３】
　３ＧＰＰ標準では、ターボ符号用のインタリーバを、４０から５１１４ビットの範囲のブロック・サイズに基づいた機能として定義している。３ＧＰＰインタリーバは、複雑な行間および行内の並べ替えを伴う基本ブロック・インタリーバ構造を使用して、擬似ランダムのインターリーブ・パターンを生成する。これらの並べ替えによって優れたアルゴリズム性能が与えられる一方で、インタリーバのハードウェア実施がかなり複雑化してしまう。
【０００４】
　実現可能なハードウェア・アドレス・インタリーバ用アーキテクチャの１つが、アドレス・インタリーブ・シーケンス全体を格納する大容量メモリを使用するものである。したがってターボ構成要素は、次のインタリーブド・アドレスを取り出す場合に、単にメモリにアクセスするだけである。これは最も簡単な実施であるが、ブロック・サイズを変更する場合にはテーブル全体を再計算しなければならない。移動端末がテーブルをローディングする際のオーバヘッドを受け入れられるとしても、インフラストラクチャのターボ復号器は、複数のブロック・サイズを次から次へと処理しなければならない可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
　本発明の目的は、ターボ復号器内でのハードウェア・アドレス・インタリーバに基づいた大容量メモリの使用に代わる方法を提供することである。
【課題を解決するための手段】
【０００６】
　本発明に従ってインタリーブド・アドレスを生成する方法では、インタリーバ・アルゴリズムからのいくつかのガイド・テーブルが使用されるが、インタリーブド・アドレスは実行中に生成される。進行中にインタリーブド・アドレスを生成するための障害は、インタリーブド・アドレス生成プロセスの一部を形成する、通常はｍｏｄ演算を実行するために必要な有意な計算能力および回路領域である。本発明のインタリーブド・アドレスを生成するための方法により、ｍｏｄ演算を実行するための計算能力および回路領域が削減されている。
【０００７】
　インタリーブド・アドレスを生成するための方法では、ｉ＝０からｘ−１の場合のそれぞれの２＾ｉ　ｍｏｄ（ｐ−１）値が格納される。ここで、ｐは処理されるデータ・ブロックのブロック・サイズＫに依存した素数であり、ｘは１より大きい。行間シーケンス番号に列インデックス番号が掛け合わされて、バイナリ積が得られる。行間シーケンス番号および列インデックス番号は、どちらもブロック・サイズＫおよび素数ｐ用である。次に、バイナリ積の各バイナリ構成要素に、格納された２＾ｉ　ｍｏｄ（ｐ−１）値のそれぞれが掛け合わされて、複数の中間ｍｏｄ値が得られる。行内並べ替えアドレスは複数の中間ｍｏｄ値に基づいて生成され、インタリーブド・アドレスは行内並べ替えアドレスに基づいて生成される。
【０００８】
　一実施形態では、ｍｏｄ計算デバイスが２＾ｉ　ｍｏｄ（ｐ−１）値を格納するメモリを含む。第１の乗算器は、行間シーケンス番号と列インデックス番号とを掛け合わせて、バイナリ積を取得する。第２の乗算器は、バイナリ積の各バイナリ構成要素と格納されたそれぞれの２＾ｉ　ｍｏｄ（ｐ−１）値とを掛け合わせて複数の中間ｍｏｄ値を取得し、ｍｏｄ合計ブロックは、複数の中間ｍｏｄ値に関してｍｏｄ合計演算を実行して、行内並べ替えアドレスを生成する。ｍｏｄ合計ブロックは、モジュロ加算器のツリー格子を有する。各モジュロ加算器はモジュロ加算器への入力を合計し、合計のｍｏｄ（ｐ−１）値を生成する。
【０００９】
　本発明は、本明細書で下記に記載する詳細な説明および添付の図面からより詳細に理解されるものであり、これらの図面では同じ要素は同じ参照番号で表されており、これらの図面は例示の目的で示されたものであって本発明を限定するものではない。
【発明を実施するための最良の形態】
【００１０】
　初めにインタリーブド・アドレスを生成する一般的な方法について説明し、続いてインタリーブド・アドレスを生成するための一般的なアーキテクチャについて説明する。次に、本発明に従ってインタリーブド・アドレスを生成するための方法について説明する。さらに、本発明に従った方法を実施するための一実施形態について説明する。最後に、本発明を使用できるインタリーブド・アドレスを生成するための他のアーキテクチャについて説明する。
【００１１】
　インタリーブド・アドレスを生成するための一般的な方法
　インタリーブド・アドレスを生成するための方法は、いくつかの工程を含むことができる。例示的方法には、入力データ・ビットを矩形行列にフォーマット化する工程、矩形行列に関して行内および行間の並べ替えを実行する工程、ならびに枝刈りで矩形行列からのビットを出力する工程が含まれる。
【００１２】
　第１の工程は、入力ビットを矩形行列にフォーマット化することである。Ｋが符号化するためのデータ・ブロック中の入力ビット数（すなわちブロック・サイズ）である場合、最初に見つける必要のある項目は、基本ブロック・インタリーバ構造内の行数、Ｒである。数式（１）はＲの選択プロセスを実証したものであり、３つの値、５、１０、または２０のうちの１つが選択される。
【００１３】
【数１】
2004129240.tif 000003
【００１４】
　ブロック・インタリーバ内の列数は、数式（２）を解くことのできる最小素数を計算することによって決定される。
【数２】
2004129240.tif 000004
【００１５】
　次に、数式（３）に見られるように、素数に基づいてテーブル内の列数を計算することができる。
【数３】
2004129240.tif 000005
【００１６】
　これら３つの変数、Ｒ、ｐ、およびＣがわかると、データを順次、１行ずつ、ブロック・インタリーバ・テーブルに書き込むことができる。書き込まれる最後の行だけが部分的に充填されていても良いため、行の残りはゼロと共にロードされることに留意されたい。
【００１７】
　次の工程は、行内シーケンスを計算することである。これを実行するために、ｐの事前に計算された値に関連付けられた原始根が、ｐの値に基づいて以下の表１から選択される。
【００１８】
【表１】
2004129240.tif 000006
【００１９】
　ｐおよびｖの値は、行内並べ替えシーケンスｓ（ｉ）を生成する働きをする。
【数４】
2004129240.tif 000007
【００２０】
　ｑ０を、シーケンス｛ｑｊ｝中の第１の素の整数とする。｛ｑｊ｝は以下のように生成され、
【数５】
2004129240.tif 000008
　上式で、ｇ．ｃ．ｄ．は最大公約分母であり、
｛ｑｊ｝は、以下のように行間シーケンス｛ｒｊ｝に並べ替えられ、
【数６】
2004129240.tif 000009
　上式で、Ｔ（ｊ）（ｊ＝０、１、２、．．．、Ｒ−１）は、４つのシーケンスのうちの１つによって定義される行間並べ替えパターンであって、
【数７】
2004129240.tif 000010
　上式で、これらのパターンは現在のブロック・サイズに基づいて以下のように選択される。
【数８】
2004129240.tif 000011
【００２１】
　行内並べ替えは、以下のように実行され、
【数９】
2004129240.tif 000012
　上式で、Ｕｊ（ｉ）はｊ番目の行を並べ替えた後のｉ番目の出力の入力ビット位置である。
【数１０】
2004129240.tif 000013
　上式で、Ｕｊ（ｉ）はｊ番目の行を並べ替えた後のｉ番目の出力の入力ビット位置である。
【００２２】
【数１１】
2004129240.tif 000014
　上式で、Ｕｊ（ｉ）はｊ番目の行を並べ替えた後のｉ番目の出力の入力ビット位置である。
【００２３】
　　ｅｎｄ　ｉｆ
　パターンＴ（ｊ）（ｊ＝０、１、２、．．．、Ｒ−１）に基づいた行間並べ替えが実行され、ここでＴ（ｊ）はｊ番目の並べ替えられた行の元の行位置である。
【００２４】
　最終工程は、前述の部分的に充填された行から結果的に生じるアドレスの枝刈りに関するものである。生成されたアドレスが現在のブロック長さよりも長い場合、生成されたアドレスは廃棄される。
【００２５】
　インタリーブド・アドレスを生成するための一般的なアーキテクチャ
　図１は、アドレス・インタリーバ構造のアーキテクチャ全体を示す図である。ターボ復号器を形成する他の構成要素は当分野の技術者にはよく知られており、図が見やすいように図示していない。したがって、具体的には前述の一般的な方法についての記述および以下の記述から、この全体のアーキテクチャへの様々な入力の生成がよく知られているものであることも理解されよう。アーキテクチャはいくつかのセクションに区分されており、３ＧＰＰアルゴリズムの結果として厳密に生じるものである。
【００２６】
　図に示されるように、第１のルックアップ・テーブル１０は行間シーケンス番号を格納し、受け取った行インデックスｊをアドレスとして使用して、行間シーケンス番号のうちの１つを出力する。ｍｏｄ計算デバイス１２は、（ｉ＊ｒｊ）ｍｏｄ（ｐ−１）を計算することによって、行内並べ替えアドレスを生成する。行内並べ替えアドレス、ゼロおよびｐが、セレクタ１４に供給される。セレクタ１４は、通常、行内並べ替えアドレスを出力するが、行と列の数がブロック・サイズに等しい場合は、ブロック・サイズごとに数のパターンの相対的な配列を維持するために最後の行が処理される際に、セレクタ１４によって最初と最後の列が交換される。
【００２７】
　第２のルックアップ・テーブル１６は行内並べ替えシーケンスＳ（数式４を参照）を格納し、セレクタ１４からの出力をアドレスとして使用して、行内並べ替えシーケンスのうちの１つを出力する。乗算器１８は第２のルックアップ・テーブル１６から行内並べ替えシーケンスを受け取り、第３のルックアップ・テーブル２０から行間並べ替えパターンを受け取る。第３のルックアップ・テーブル２０は前述の行間並べ替えパターンを格納し、ブロック・サイズＫに基づいて行間並べ替えパターンのうちの１つを出力する。
【００２８】
　乗算器１８によって生成された積が、生成されたインタリーブド・アドレスである。比較器２２は、結果として生じるアドレスがＫ、すなわちブロック・サイズの範囲内であるかどうかを確認し、インタリーブド・アドレスがＫの範囲内であれば、有効なアドレス信号を出力する。アドレスが範囲外である場合、インタリーバ・アーキテクチャは次の有効アドレスを提供するために別のサイクルを待たなければならない。比較演算の際、生成されたインタリーブド・アドレスは、ターボ復号器のクロックによって時間が刻まれるレジスタ２４に格納される。
【００２９】
　分解によるｍｏｄ演算の実行
　理解されるように、図１のアーキテクチャを形成する構成要素は単純であり、メモリ、レジスタ、または単純な算術ユニットのいずれかからなる。これらの構成要素のうちｍｏｄ計算デバイス１２は、最大の複雑さおよび非確定的な計算時間を有する傾向がある。次に、複雑さおよび計算時間を削減する、本発明に従ってｍｏｄ演算を実行する方法について説明する。
【００３０】
　本発明の方法によれば、所与のブロック・サイズＫでｍｏｄ除数ｐ−１が固定される。ｐ−１にこの擬似スタティック値が与えられた場合、ｍｏｄのプロパティを利用してかなり単純な解を提供することができる。ある数のｍｏｄがその数を構成する個々の構成要素へのｍｏｄ演算の合計に分けることができることを示した以下の数式（７）について考えてみる。この場合、数式（７）は被除数をそのバイナリ構成要素に分割し、２つの数のそれぞれの累乗のｍｏｄを計算する。それぞれの個々の結果が合計され、その後最終のｍｏｄ演算が実行される。
【数１２】
2004129240.tif 000015
【００３１】
　図２は、数式（７）のｍｏｄ分解を実行するためのアーキテクチャを示す図である。図に示されるように、乗算器２８が列インデックスと行間シーケンス番号とを掛け合わせて、バイナリ積ｙを生成する。さらに図に示されるように、２の累乗ｍｏｄ計算が事前に計算され、レジスタ３０に格納される。これらの値は、ブロック・サイズを変更する場合にだけ変更され、ブロックの最初にダウンロードしなければならないだけである。バイナリ積ｙは、ｍｏｄ演算の被除数を表す。各バイナリ構成要素（すなわちビット）は、ＡＮＤゲート３２によって、対応する２の累乗ｍｏｄ値と共に入力される。たとえば、最下位のバイナリ構成要素ｙ０および２のゼロ乗ｍｏｄ値がＡＮＤゲート３２のうちの１つによって入力され、次に有意のバイナリ構成要素ｙ１および２の１乗ｍｏｄ値が次のＡＮＤゲート３２によって入力される、などとなる。ＡＮＤゲート３２は、中間ｍｏｄ値、ａ０、ａ１、．．．ａｘ−１を生成するために入力の論理積をとり、これらがモジュロ合計ブロック３４に渡される。
【００３２】
　図３は、モジュロ合計ブロック３４をより詳細に示す図である。図に示されるように、モジュロ合計ブロック３４は伝播遅延を最小にするためのツリー構造を有する。すなわち、モジュロ合計ブロック３４はベース・レベル４０、いくつかの中間レベル４２、および最終レベル４４を有する。各レベルには１つまたは複数のモジュロ加算器３６が含まれる。各モジュロ加算器は、２つの入力数を合わせて加算し、合計のｍｏｄ　ｐ−１結果を生成する。したがって、ベース・レベル４０は、あらゆる２つのｍｏｄ値ａに対してモジュロ加算器３６を含み、中間レベル４２は、前のレベルのあらゆる２つのモジュロ加算器３６に対してモジュロ加算器３６を含み、最終レベル４４は、単一のモジュロ加算器３６を含む。図から理解されるように、中間レベル４２の数は、最終レベル４４に対して２つの出力を生成するのに必要な数である。モジュロ合計ブロック３４が特に３ＧＰＰ標準で使用される場合、ｐ−１の可能最小値は６である。したがって、図２からの最初の２つの中間ｍｏｄ値は、ｐ−１にかかわらず、最高でも１および２であり（すなわち１ＭＯＤ６＝１、２ＭＯＤ６＝２）、その結果、値はモジュロｐ−１演算中にあることが保証されるため、モジュロ加算器３６の代わりに単純な３８を使用することができる。これは、例示の目的でのみ、図３に示されている。
【００３３】
　前述のように、モジュロ加算器３６は２つの機能を実行する。第１に、２つの入力数を合わせて加算する。第２に、その合計をチェックして、合計がｍｏｄ領域の外にあるかどうかを判定する。外にある場合、出力値はそのｍｏｄ領域を基準にして折り返される。図４は、モジュロ加算器３６の一実施形態を示す図である。図に示されるように、モジュロ加算器３６は、入力ａおよびｂを加算する加算器５０と、ａ＋ｂの合計からｍｏｄ演算数（たとえばｐ−１）を差し引く減算器５２とを含む。セレクタ５４は、ａ＋ｂおよび（ａ＋１）−（ｐ−１）のうちの１つを選択的に出力する。比較器５６は、値（ｐ−１）と合計ａ＋ｂとを比較し、合計ａ＋ｂが値（ｐ−１）より少ないかまたは等しい場合、セレクタ５４が合計ａ＋ｂを出力するように制御する。そうでない場合、比較器５６は、セレクタ５４に対して減算器５２の出力を選択するように指示する。
【００３４】
　連続的なアドレスの生成
　インタリーブド・アドレス生成器に伴う問題の１つが、時折ブロック・サイズの有効範囲外にあるアドレスを生成してしまうことである。範囲外のアドレスが生成されると、アーキテクチャは出力が無効であるかどうかを識別するフラグを生成し、その後、次の順番のインタリーブド・アドレスが有効であるまで、別のクロック・サイクルを待たなければならない。これにより、ブロック・サイズが大きい場合、ターボ復号プロセスに大規模なオーバヘッドが生じる可能性がある。図５は、インタリーブ・プロセスの簡単な例と無効アドレスが生成される方法とを示す図である。ブロック・サイズの範囲が４０から５１１４の間で連続しているため、正確な数の要素が、ＲおよびＣによって定義される矩形アレイ内にいつも正確に収まるとは限らない。値は１行ごとにアレイに収められるが、最終行には空の要素がいくつかある。インタリーブのプロセスでは、行および列の両方がインタリーブ数式に基づいて並べ替えられ、空のセルは行を横切って広がる。したがって、インタリーバがソース・アドレスの取り出しを開始すると、時折、空のセルへのアクセスを生成することがある。
【００３５】
　穴がある場合、インタリーバは実際に最終アドレスを計算して、その最終アドレスと値の有効範囲とを比較するまで、無効なアドレスを有することに気付かない。１つの解決方法は、アドレス生成器が現在のアドレスと次のアドレスの両方を同時に実際に計算しているかどうかを確認することである。両方のアドレスが使用可能な場合、アドレス・インタリーバは第１に、現在の生成されたアドレスが有効であるかどうかをチェックする。アドレスが有効な場合、現在のアドレスが使用されるが、現在のアドレスが無効な場合、アーキテクチャは即時に次のアドレスを代用する。インタリーバは１行ごとに進んでいくため、現在のアドレスが無効である場合、すべての空のスペースは同じ行からのものであることから、次のアドレスは有効アドレスであることが保証される。
【００３６】
　図６は、現在のアドレスと次のアドレスの両方を同時に生成するアドレス・インタリーバ・アーキテクチャを示す図である。図６では、セレクタ１４は図を見やすくするために削除されている。図に示されるように、第１のルックアップ・テーブル１０は現在の行インデックスｊをアドレスとして使用して、現在の行間シーケンス番号を生成し、複製の第１のルックアップ・テーブル１０’は次の行インデックスｊ＋１を使用して、次の行間シーケンス番号を生成する。ｍｏｄ計算デバイス１２は、（ｉ＊ｒｊ）ｍｏｄ（ｐ−１）を計算することによって、現在の行内並べ替えアドレスを生成する。さらに、他のｍｏｄ計算デバイス１２’は、（ｉ＊ｒｊ＋１）ｍｏｄ（ｐ−１）を計算することによって、次の行内並べ替えアドレスを生成する。ｍｏｄ計算デバイス１２および１２’は、図２および３に関して上記で論じた方法およびアーキテクチャを使用する。
【００３７】
　第２のルックアップ・テーブル１６’は、行内並べ替えシーケンスＳを格納する（数式４を参照）。第２のルックアップ・テーブル１６’は、２つの入力ポート、２つの出力ポートを有するメモリであり、それぞれ現在および次の行内並べ替えアドレスを使用して、現在および次の行内並べ替えシーケンスを出力する。２重ポート・メモリが使用できない場合、出力に必要なあらゆる記号に対してメモリが２回アクセスするために２重レート・クロックが使用されていれば、単一のメモリを使用することができる。乗算器１８および１８’は、第２のルックアップ・テーブル１６’から、それぞれ現在および次の行内並べ替えシーケンスを受け取り、さらに第３のルックアップ・テーブル２０から行内並べ替えパターンを受け取る。
【００３８】
　乗算器１８および１８’によって生成される積は、それぞれ、現在および次のインタリーブド・アドレスである。乗算器またはセレクタ６０は、現在および次のインタリーブド・アドレスを受け取り、比較器２２からの出力に基づいて、現在および次のインタリーブド・アドレスのうちの１つを選択的に出力する。比較器２２は、現在のインタリーブド・アドレスがブロック・サイズＫの範囲内であるかどうかを確認し、インタリーブド・アドレスがＫの範囲内であれば、有効なアドレス信号を出力する。有効な場合、比較器２２からの出力がマルチプレクサ６０に現在のインタリーブド・アドレスを出力させる。無効の場合、比較器６０からの出力がマルチプレクサ６０に次のインタリーブド・アドレスを選択させる。したがって、次の有効なインタリーブド・アドレスが生成されるのを待つ必要がないことによって、処理時間が削減される。
【００３９】
　以上、本発明について説明してきたが、同様のものが多くの方法で変更可能であることは明白であろう。こうした変更は本発明の精神および範囲を逸脱したものとはみなされず、当分野の技術者に明白なこうした修正はすべて、添付の特許請求の範囲内に含まれるものであることが意図される。
【図面の簡単な説明】
【００４０】
【図１】アドレス・インタリーバ構造のアーキテクチャ全体を示す図である。
【図２】本発明に従ってｍｏｄ分解を実行するためのアーキテクチャを示す図である。
【図３】図２のモジュロ合計ブロックをより詳細に示す図である。
【図４】図２のモジュロ加算器の一実施形態を示す図である。
【図５】インタリーブ・プロセスの簡単な例と無効アドレスが生成される方法とを示す図である。
【図６】現在のアドレスと次のアドレスの両方を同時に生成するアドレス・インタリーバ・アーキテクチャを示す図である。
【図１】
2004129240.tif 000016
【図２】
2004129240.tif 000017
【図３】
2004129240.tif 000018
【図４】
2004129240.tif 000019
【図５】
2004129240.tif 000020
【図６】
2004129240.tif 000021