(57)【特許請求の範囲】
【請求項１】
パスメトリックデータを第１ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じ数になるように第２ブロックに分割し、前記第２ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納するパスメトリック格納ユニットと、
前記パスメトリックデータの位置を変えるため前記第２ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとする並べ替えユニットと、
前記パスメトリックデータをビタビ復号器において制御するための制御ユニットと、
を備えた情報処理装置。
【請求項２】
前記制御ユニットは、前記パスメトリック格納ユニットにおけるブロックごとにアドレス信号を生成する請求項１に記載の情報処理装置。
【請求項３】
前記制御ユニットは、前記並べ替えユニット用の制御信号を生成する請求項１又は２に記載の情報処理装置。
【請求項４】
前記パスメトリック格納ユニットは、ランダムアクセスメモリである請求項１、２、又は３に記載の情報処理装置。
【請求項５】
パスメトリックデータを第１ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じ数になるように第２ブロックに分割し、前記第２ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納し、
前記パスメトリックデータの位置を変えるため前記第２ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとし、
前記パスメトリックデータをビタビ復号器において制御する情報処理方法。
【請求項６】
パスメトリックデータを第１ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じ数になるように第２ブロックに分割し、前記第２ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納し、
前記パスメトリックデータの位置を変えるため前記第２ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとし、
前記パスメトリックデータをビタビ復号器において制御すること、をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
特許文献１及び非特許文献１は、復号処理における状態遷移特性から生じるコンフリクト問題の解決策を開示する。この解決策の欠点は、格納ユニットのハードウエアコストが２倍であるということである。余分なハードウエアコストは、２の累乗で増加する。状態数が大きなアプリケーションについての余分なハードウエアコストは、受け入れ難い。
【０００３】
デュアルポートＲＡＭベースの実装（dual-port RAM based implementation）を有する特許文献１は、処理基数が２のビタビ復号器のみを実現することができる。レジスタベースの実装（register based implementation）は、処理基数が可変のビタビ復号器に適用することができる。非特許文献１は、レジスタベースの実装を用いている。取り得る状態番号が大きなアプリケーションの場合には、ハードウエアコストがきわめて高くなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許US6477682B1
【非特許文献】
【０００５】
【非特許文献１】IEEE ICC 2009 proceedings "Architecture of Run-time Reconfigurable Channel Decoder"
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、処理基数が可変なビタビ復号器を実現しようとすると、ＰＭＳＵを追加して、ＲＡＭベースの実装（RAM based implementation）を用いなくては、データコンフリクト問題が生じてしまう。
【０００７】
本発明は、上記された課題を解決する技術を提供することを可能とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明にかかる情報処理装置は、
パスメトリックデータを第１ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じ数になるように第２ブロックに分割し、前記第２ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納するパスメトリック格納ユニットと、
前記パスメトリックデータの位置を変えるため前記第２ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとする並べ替えユニットと、
前記パスメトリックデータをビタビ復号器において制御するための制御ユニットと、
を備えた。
【０００９】
上記目的を達成するため、本発明にかかる情報処理方法は、
パスメトリックデータを第１ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じ数になるように第２ブロックに分割し、前記第２ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納し、
前記パスメトリックデータの位置を変えるため前記第２ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとし、
前記パスメトリックデータをビタビ復号器において制御する。
上記目的を達成するため、本発明にかかる情報処理プログラムは、
パスメトリックデータを第１ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じ数になるように第２ブロックに分割し、前記第２ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納し、
前記パスメトリックデータの位置を変えるため前記第２ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとし、
前記パスメトリックデータをビタビ復号器において制御すること、をコンピュータに実行させる。
【発明の効果】
【００１０】
本発明によれば、データコンフリクト問題は、余分なＰＭＳＵを伴わずに、任意処理基数に対応するＲＡＭベースのビタビ復号器を使用することによって解決される。
【図面の簡単な説明】
【００１１】
【図１】基本ビタビ復号処理を示している概略図である。
【図２】ビタビ復号器のそれぞれの復号工程における３つの動作を示している概略図である。
【図３】ビタビ復号器の基本アーキテクチュアを示している概略図である。
【図４】ＡＣＳ処理におけるデータコンフリクト問題を示している概略図である。
【図５】コンフリクトの問題の解決方法を示す概略図である。
【図６Ａ】処理基数２の復号器のため必要な数のＲＡＭポートの例を示した概略図である。
【図６Ｂ】処理基数４の復号器のため必要な数のＲＡＭポートの例を示した概略図である。
【図７】本発明の第１実施形態のアーキテクチュアを示している概略図である。
【図８】第１実施形態のＰＭデータ格納初期化方法を示している概略図である。
【図９】第１実施形態を示している概略図である。
【図１０Ａ】２つの適応事例のための第１実施形態におけるデータ転送フローを示した概略図である。
【図１０Ｂ】２つの適応事例のための第１実施形態におけるデータ転送フローを示した概略図である。
【図１０Ｃ】２つの適応事例のための第１実施形態におけるデータ転送フローを示した概略図である。
【図１０Ｄ】２つの適応事例のための第１実施形態におけるデータ転送フローを示した概略図である。
【図１０Ｅ】２つの適応事例のための第１実施形態におけるデータ転送フローを示した概略図である。
【図１０Ｆ】２つの適応事例のための第１実施形態におけるデータ転送フローを示した概略図である。
【図１１Ａ】第１実施形態において、変換していくＰＭデータ格納パターンを示す概略図である。
【図１１Ｂ】第１実施形態において、変換していくＰＭデータ格納パターンを示す概略図である。
【図１２】本発明の第２実施形態を示している概略図である。
【図１３Ａ】２つの適応事例のための第２実施形態におけるデータ転送フローを示した概略図である。
【図１３Ｂ】２つの適応事例のための第２実施形態におけるデータ転送フローを示した概略図である。
【図１３Ｃ】２つの適応事例のための第２実施形態におけるデータ転送フローを示した概略図である。
【図１３Ｄ】２つの適応事例のための第２実施形態におけるデータ転送フローを示した概略図である。
【図１４Ａ】第２実施形態において、変換していくＰＭデータ格納パターンを示す概略図である。
【図１４Ｂ】第２実施形態において、変換していくＰＭデータ格納パターンを示す概略図である。
【図１５】本発明の第３実施形態を示している概略図である。
【図１６Ａ】２つの適応事例のための第３実施形態におけるデータ転送フローを示した概略図である。
【図１６Ｂ】２つの適応事例のための第３実施形態におけるデータ転送フローを示した概略図である。
【図１６Ｃ】２つの適応事例のための第３実施形態におけるデータ転送フローを示した概略図である。
【図１６Ｄ】２つの適応事例のための第３実施形態におけるデータ転送フローを示した概略図である。
【発明を実施するための形態】
【００１２】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成、表現、数値等はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１３】
（第１実施形態）
［前提技術］
畳み込み符号（Convolutional code）は、信頼性のない又は雑音の多いチャネルを介したデータ送信においてエラーを除去するために用いられているエラー訂正符号の種類である。畳み込み符号は、デジタルビデオ、ラジオ、光通信、無線通信を含む数多くの領域およびアプリケーションに広く用いられている。
【００１４】
これらのアプリケーションにおいて、ビタビアルゴリズムは、最大尤度（maximum likelihood）の性能を提供するとともに、高い並列性（parallelism）を達成することができるものとして広く使用されている。このように、ビタビ復号器は、畳み込み復号器のＶＬＳＩハードウエアへの実装解として最もよく知られている。
【００１５】
ビタビ復号器のハードウエア実装において、それぞれのＡＣＳ処理工程の後にＰＭを格納するための格納ユニットがなければならない。ハードウエアの実装は、常に２つの問題に遭遇する。データコンフリクトの問題及び並列処理の問題である。
【００１６】
図１は、２つの取り得る状態の事例のビタビ復号の基本手順を示す。該復号は、一工程ずつ(step by step)の処理である。各工程における、該取り得る状態間の遷移は、取り得るパスを形成する。このように、取り得る復号出力と取り得るパスには一対一の対応がある。現実のパスと、取り得る復号パスとの間における、パスメトリック（ＰＭ）と呼ばれる相違は、各工程で蓄積される。復号処理の目的は、ＰＭが最小となるパスを見つけることであり、ＰＭが最小になるパスとは、現実のパスとの相違が最小になるパスを意味する。すなわちこのＰＭが最小となるパスであれば、エラーも最小となる。工程の数が増加するにつれて、取り得るパスの数は、指数的に増加する。復号の終わりに、そのＰＭを比較することは、賢明でない。一方、各工程において同じエンドポイントを有する複数のパスのＰＭを比較することは容易である。このように、取り得る状態は、工程における状態においてパスの終わりに最小な値であるＰＭ値により示される。
【００１７】
さらに詳細には、図２に示されるように、復号処理は、３つの動作を含んでいる。第１の動作は、この工程の前のＰＭにブランチメトリックス（ＢＭ）を付加することである。第２の動作は、第１の動作の合計を比較することである。第３の動作は、この工程の後のＰＭとして最小の結果を選択することである。この３つの動作処理は、いわゆる、付加−比較−選択（ＡＣＳ：Add-Compare-Select）処理である。復号の最終工程において、取り得る状態のすべてのＰＭが選択された後、すべての記録されたＰＭが比較され、最小のＰＭを伴ったパスは、復号の最終的な出力として選択される。
【００１８】
図３は、ビタビ復号器のベーシックな復号処理に基づくビタビ復号器キテクチャのブロック図である。ブランチメトリックユニット（ＢＭＵ）３０１は、ブランチメトリックを計算するために用いられる。付加−比較−選択ユニット（ＡＣＳＵ：Add-Care-Select Unit）３０２は、ＡＣＳ処理を逐次的に実行するために用いられる。このＡＣＳＵにおいては、いくつかの処理エレメント（ＰＥｓ）があり、これらの処理エレメント（ＰＥｓ）は、同じ構造及び機能を有する。１つの処理エレメントにより一度に処理できるＰＭデータの数は、ビタビ復号器の処理基数と呼ばれる。ビタビ復号器は、処理基数ｎのビタビ復号器として示される。ＰＥの数と処理基数が、復号器の並列性を決定する。パスメトリック格納ユニット（ＰＭＳＵ）３０４は、各工程のＰＭを格納するために用いられる。トレースバックユニット（ＴＢＵ）３０３は、最終出力を生成するために用いられる。
【００１９】
ハードウエアの実装は、常に２つの問題を生じさせる。データコンフリクトの問題と並列処理の問題である。
【００２０】
第１に、データコンフリクトの問題は、復号処理において、状態遷移特性から発生する。
【００２１】
図４に示されるように、ＰＭＳＵ３０４において、各ＰＭデータは、対応する状態に応じた位置にそれぞれ配置される。各ＡＣＳ処理工程において、ＰＭデータは、ＰＭＳＵ３０４から取り出され、処理ユニットに渡される。ＰＭＳＵ３０４におけるこれらのデータの位置は、ブランク位置と呼ばれ、他のデータを配置することができる。ＡＣＳ処理後、処理されたデータは、ＰＭＳＵ３０４に格納される必要がある。１つの状態から異なる状態に遷移する確率がきわめて高いので、ＰＭＳＵ３０４における処理されたデータの目標位置とＰＭＳＵ３０４におけるブランク位置とは、異なる可能性がある。従って、データコンフリクトの問題とは、処理されたデータの目標位置と残存しているデータの位置とがコンフリクトすることを意味する。
【００２２】
一方、実際のアプリケーションにおいて取り得る状態の数は、きわめて多い。従って、ＡＣＳ処理は、一度に格納ユニット内の全データの一部しか取り扱うことができない。従って、このデータコンフリクトの問題は、従来、同じサイズの別のＰＭＳＵを付加することにより解決されてきた。
【００２３】
図５は、コンフリクトの問題の解決方法を示すブロック図である。図５には、同じサイズのＰＭＳＵ５０１とＰＭＳＵ５０２と示されている。２つのセレクタ５０３、５０４は、この処理において、適切なＰＭＳＵを選択するために用いられる。この解決方法の第１のＡＣＳ処理工程において、ＰＭＳＵ５０２は、ブランクである。ＰＭデータは、ＰＭＳＵ５０１から取り出され、そして、ＡＣＳＵ３０２に渡される。処理されたデータは、データコンフリクトの問題を起こすことなく、ＰＭＳＵ５０２に格納される。ＰＭＳＵ５０１からのすべてデータが処理されると、ＰＭＳＵ５０１は、ブランクとなり、この工程のＡＣＳ処理は完了する。次のＡＣＳ処理工程においては、ＰＭＳＵ５０２からＰＭデータが取り出される。この処理ループにおいては、コンフリクトの問題は回避できる。
【００２４】
第２に、並列処理の問題は、ハードウエアコストと並列処理の問題との間のトレードオフから発生する。
【００２５】
周知の通り、格納ユニットは、レジスタ又はランダムアクセスメモリ（ＲＡＭ）を含むＶＬＳＩ回路に実装され得る。ＲＡＭを有する実装は、ハードウエアコストを削減できるが、一度に１つのＲＡＭブロック内の１つの行にしかアクセスすることができないというアクセス制限を有する。レジスタを含む実装は、そのような制限を有しないが、よりハードウエアのコストが増大する。
【００２６】
一般的に、ＲＡＭのポート番号は、ＲＡＭベースの実装において、処理基数と一致している。通常のＶＬＳＩ回路において、唯一のシングルポート及びデュアルポートＲＡＭがあるので、ＲＡＭベースの実装を含み、処理基数が２以上のビタビ復号器を実装することは困難である。図６Ａに示されているように、ＲＡＭ６０１とＲＡＭ６０２とは、１つのライトポートと１つのリードポートとを含む一般的なデュアルポート構造である。図６Ａにおける処理基数２の事例において、ＰＥ６０３とＰＥ６０４のそれぞれは２つのＰＭデータを処理することができる。従って、デュアルポートＲＡＭは、この要求を満たすことができる。図６Ｂのように処理基数４の事例では、ＰＥ６１３とＰＥ６１４のそれぞれは４つのＰＭデータを処理することができ、ポート数は２倍となり、そして２つのデータ行が制限を超えて、一回で読み出される。
【００２７】
［機能的アレンジの説明］
図７は、第１実施形態係る情報処理装置７００のブロック図である。この装置７００において、ＰＭＳＵ７０４は、いくつかのＲＡＭブロック７４１に分割されている。このＰＭデータは、これらのブロック７４１に対して周期的シフトパターンで初期化される。このアーキテクチャは、必要なデータを同時に異なるＲＡＭブロック７４１から取り出すことができることを保証する。
【００２８】
並べ替えユニット（ＲＵ）７０５は、ＰＭデータの順序を変えるために用いられる。この実装では、ＲＵ７０５は、単一のユニットとしても実現できるし、２以上の部分に分かれたユニットとしても実現することができる。
【００２９】
制御ユニット（ＣＵ）７０６は、ＰＭＳＵ７０４内のブロックの適切な行を選択するための選択信号と、ＲＵ７０５を制御するための制御信号を生成する。ＣＵ７０６は、リードオンリーメモリ（ＲＯＭ）ベースの構成、ロジックゲートベースの構成、プロセッサベースの構成など、様々な形態で実現することができる。ＣＵ７０６は、様々な状態を取り得る畳み込み符号に適応される複数のモードを実現できるように設計され得る。
【００３０】
ＡＣＳ処理において、ＰＭデータが、ＡＧに応じてＰＭＳＵ７０４のブロックの適切な行から取り出され、ＲＵ７０５に渡される。ＲＵ７０５は、ＰＭデータの順序を変えるために用いられ、ＰＭデータを適切なＰＥ７２１に渡すことができる。ＡＣＳ処理の後、すべての処理されたデータは、ブランク位置に格納される。このブランク位置は、そのデータを処理するに際して、取り出された位置である。このアーキテクチャに基づけば、コンフリクトの問題は生じず、格納ユニットを増やす必要もない。
【００３１】
ＰＭＳＵ７０４におけるＰＭデータの位置は固定されないが、いくつかのパターンに限られる。処理工程ごとに位置は１つのパターンから他のパターンに変化する。いくつかの処理工程の後、もとのパターンに戻る。
【００３２】
ＰＭデータを格納する初期化方法は、図８に示されている。ここで、ＰＥ７２１の番号は、"ｐ"として示され、処理基数は、"ｎ"として示され、取り得る状態の数は、"ｓ"として示される。
（１）第１の工程において、ＰＭデータを１行毎に昇順に並べる。それぞれの各行におけるＰＭデータ数は、ＰＥの数と処理基数との積であり、ｃ＝ｎｐとして示される。ここで、行の数ｒは、"ｒ＝ｓ／ｎｐ"で示される。
（２）第２の工程において、ブロック全体は、ｎ個のブロックに分割される。
（３）第３の工程において、ＰＭデータは、１レイヤ毎に周期的にシフトされる。レイヤの数ｌは、"ｌ＝ｓ／ｎ２ｐ"として算出される。第１レイヤは、右に０ブロックシフトし、第２レイヤは右に１ブロックシフトする、などである。
【００３３】
図９に示されるように、第１実施形態は、処理基数が２のビタビ復号器を実装である。処理基数が２のビタビ復号器は、最も広く用いられているビタビ復号器である。
【００３４】
第１実施形態は、単一の畳み込み符号ごとに実装され、同時に異なる状態を取り得る様々な畳み込み符号に適応することができる。第１実施形態において、この実装は２つの事例のために２つのモードに適応できる。第１の事例においては、取り得る状態数は、３２である。第２の事例において、取り得る状態数は、１６である。
【００３５】
ＡＣＳＵ７０２には、ＰＥ９０１から９０４があり、ＰＭＳＵ７０４には３２個の格納位置がある。第２の事例では、格納位置の半分は、処理中ブランクとなっている。図８に記載されたＰＭデータ格納初期化方法によって、ＰＭＳＵ７０４は、２つのブロックＢ０とＢ１に分割されている。
【００３６】
ＲＵ７０５は、ＣＵ７０６によって制御されるいくつかのスイッチによって実現化される。そのスイッチは、ＣＵ７０６からの信号に基づき、所望のポートに接続し、データを並べ替えることができる。スイッチの数は、ＰＥの数と処理基数との積になっている。従って、ＲＵ７０５には、８つのスイッチがある。
【００３７】
ＣＵ７０６は、８つの制御信号をＲＵ７０５のスイッチに供給し、ブロックＢ０とブロックＢ１に対して、２つのアドレス信号を供給する必要がある。本実施形態において、ＣＵ７０６は、ＲＯＭ構成として実現化される。制御信号は、前もって、ＲＯＭ７６１に格納される。１度で必要とされるすべての制御信号は、同じ行に格納される。この処理の間、その制御信号は、その処理のモード及びフェーズに応じてＲＯＭ７６１から取り出される。
【００３８】
４つのフェーズを有する第１の事例の第１のモードが図１０Ａ、図１０Ｂ、図１０Ｃ及び図１０Ｄに示されている。２つのフェーズを有する第２の事例の第２のモードが図１０Ｅ、図１０Ｆに示されている。
【００３９】
第１の事例では、図１０Ａに示されるように、３２個の取り得る状態に対応するＰＭデータが、処理前にＰＭＳＵ７０４の２つのブロックに格納される。状態０、１、２、３に対応するＰＭデータは、ブロックＢ０の第１行に格納される。状態４、５、６、７に対応するＰＭデータは、ブロックＢ１の第１行に格納される。状態８、９、１０、１１に対応するＰＭデータは、ブロックＢ０の第２行に格納される。状態１２、１３、１４、１５に対応するＰＭデータは、ブロックＢ１の第２行に格納される。状態１６、１７、１８、１９に対応するＰＭデータは、ブロックＢ１の第３行に格納される。状態２０、２１、２２、２３に対応するＰＭデータは、ブロックＢ０の第３行に格納される。状態２４、２５、２６、２７に対応するＰＭデータは、ブロックＢ１の第４行に格納される。状態２８、２９、３０、３１に対応するＰＭデータは、ブロックＢ０の第４行に格納される。
【００４０】
このように、第１行及び第２行を含む第１における格納順序は、昇順になっている。第３行及び第４行を含む第２レイヤにおける格納順序は、昇順の周期的シフトパターンである。各ブロックでは、一度に読み出すことができるのは、そのブロックの一行のみである。
【００４１】
１つのＡＣＳ工程の処理は、４つのフェーズを含んでいる。図１０Ａに示されたフェーズ０においては、ＣＵ７０６に対して入力されるモードとフェーズは、ともに０である。ＣＵ７０６におけるＲＯＭ７６１の第１行は、制御信号として読み出される。ＣＵ７０６からのアドレス信号は、ブロックＢ０に対しては０であり、ブロックＢ１に対しては２であり、ブロックＢ０の第１行における、状態０、１、２、３のＰＭデータ、ブロックＢ１の第３行における、状態１６、１７、１８、１９のＰＭデータは、ＰＭＳＵ７０４から取り出される。これらのＰＭデータは、ＲＵ７０５において並べ替えられる。ＲＵ７０５に対する制御信号は、０２４６１３５７であり、並べ替え後のデータ位置を示している。ＲＵ７０５における並べ替え後、状態０及び状態１６のＰＭデータは、ＰＥ９０１に渡される。状態１及び状態１７のＰＭデータは、ＰＥ９０２に渡され、状態２及び状態１８のＰＭデータは、ＰＥ９０３に渡され、状態３及び状態１９のＰＭデータは、ＰＥ９０４に渡される。
【００４２】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理されたデータは、状態０、１、２、３、４、５、６、７に対応する。処理前のデータと処理後のデータを区別するために、処理後のデータは、０'、１'、２'、３'、４'、５'、６'、７'として示される。以降、本明細書においてこの区別が用いられる。処理されたＰＭデータ０'、１'、２'、３'、４'、５'、６'、７'は、ＰＭＳＵ７０４のブランク位置に渡される。状態０'、１'、２'、３'のＰＭデータは、ブロックＢ０の第１行に格納される。状態４'、５'、６'、７'のＰＭデータは、ブロックＢ１の第３行に格納される。
【００４３】
図１０Ｂに示されたフェーズ１においては、ＣＵ７０６に対して入力されるモードは、０であり、フェーズは、１である。ＣＵ７０６において、ＲＯＭ７６１の第２行は、制御信号として読み出される。ＣＵ７０６からのアドレス信号は、ブロックＢ０に対して１であり、ブロックＢ１に対しては、３であり、ブロックＢ０の第２行における状態８、９、１０、１１のＰＭデータと、ブロックＢ１の第４行における状態２４、２５、２６、２７のＰＭデータは、ＰＭＳＵ７０４から取り出される。これらのＰＭデータは、ＲＵ７０５において並べ替えられる。ＲＵ７０５に対する制御信号は、０２４６１３５７であり、これは、並べ替え後のデータ位置を示している。ＲＵ７０５における並べ替え後、状態８及び状態２４のＰＭデータは、ＰＥ９０１に渡され、状態９及び状態２５のＰＭデータは、ＰＥ９０２に渡され、状態１０及状態２６のＰＭデータは、ＰＥ９０３に渡され、状態１１及び状態２７のＰＭデータは、ＰＥ９０４に渡される。
【００４４】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理されたデータ８'、９'、１０'、１１'、１２'、１３'、１４'、１５'は、ＰＭＳＵ７０４のブランク位置に渡される。状態８'、９'、１０'、１１'のＰＭデータは、ブロックＢ０の第２行に格納される。状態１２'、１３'、１４'、１５'のＰＭデータは、ブロックＢ１の第４行に格納される。
【００４５】
図１０Ｃに示されたフェーズ２においては、ＣＵ７０６に対して入力されるモードは、０であり、フェーズは２である。ＣＵ７０６において、ＲＯＭ７６１の第３行は、制御信号として読み出される。ＣＵ７０６からのアドレス信号は、ブロックＢ０に対しては、２であり、ブロックＢ１に対しては、０であり、ブロックＢ０の第３行における状態２０、２１、２２、２３のＰＭデータと、ブロックＢ１の第１行における状態４、５、６、７のＰＭデータは、ＰＭＳＵ７０４から取り出される。これらのＰＭデータは、ＲＵ７０５において並べ替えられる。ＲＵ７０５の制御信号は、４６０２５７１３であり、これは、並べ替え後のデータ位置を示している。ＲＵ７０５における並べ替え後、状態２２及び状態６のＰＭデータは、ＰＥ９０１に渡され、状態２３及び状態７のＰＭデータは、ＰＥ９０２に渡され、状態２０及び状態４のＰＭデータは、ＰＥ９０３に渡され、状態２１及び状態５のＰＭデータは、ＰＥ９０４に渡される。
【００４６】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理されたデータ１６'、１７'、１８'、１９'、２０'、２１'、２２'、２３'は、ＰＭＳＵ７０４のブランク位置に渡される。状態２０'、２１'、２２'、２３'のＰＭデータは、ブロックＢ０の第３行に格納される。状態１６'、１７'、１８'、１９'のＰＭデータは、ブロックＢ１の第１行に格納される。
【００４７】
図１０Ｄに示されたフェーズ３においては、ＣＵ７０６に対応して入力されるモードは、０であり、フェーズは３である。ＣＵ７０６において、ＲＯＭ７６１の第４行は、制御信号として読み出される。ＣＵ７０６からのアドレス信号は、ブロックＢ０に対して、３であり、ブロックＢ１に対しては、１であり、ブロックＢ０の第４行における状態２８、２９、３０、３１のＰＭデータと、ブロックＢ１の第２行における状態１２、１３、１４、１５のＰＭデータは、ＰＭＳＵ７０４から取り出される。これらのＰＭデータは、ＲＵ７０５において並べ替えられる。ＲＵ７０５の制御信号は、４６０２５７１３であり、並べ替え後のデータ位置を示している。ＲＵ７０５における並べ替え後、状態３０及び状態１４のＰＭデータは、ＰＥ９０１に渡され、状態３１及び状態１５のＰＭデータは、ＰＥ９０２に渡され、状態２８及び状態１２のＰＭデータは、ＰＥ９０３に渡され、状態２９及び状態１３のＰＭデータは、ＰＥ９０４に渡される。
【００４８】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理されたデータ２４'、２５'、２６'、２７'、２８'、２９'、３０'、３１'は、ＰＭＳＵ７０４のブランク位置に渡される。状態２８'、２９'、３０'、３１'のＰＭデータは、ブロックＢ０の第４行に格納される。状態２４'、２５'、２６'、２７'のＰＭデータは、ブロックＢ１の第２行に格納される。
【００４９】
４つのフェーズの後、１つのＡＣＳ処理工程は、完了する。取り得る状態のＰＭデータは、オリジナルの位置に比較して異なる位置に格納される。図１１Ａに示されるように、ＡＣＳ処理工程０の後、ＰＭＳＵ７０４におけるＰＭデータの格納位置パターンは、変更される。ＡＣＳ処理工程１の後、ＰＭデータの格納位置パターンは、ＰＭＳＵ７０４において元の位置に戻る。これら２つの種類の格納されている位置パターンは、復号処理全体において、いずれか一方が現われる。
【００５０】
図１０Ｅに示された第２事例において、１６の取り得る状態に対応したＰＭデータは、処理前に、ＰＭＳＵ７０４において、２つのブロック内に格納される。状態１、２、及び３のＰＭデータは、ブロックＢ０の第１行に格納される。状態４、５、６、７のブロックＢ１の第１行に格納される。状態８、９、１０、及び１１のブロックＢ１の第２行に格納される。状態１２、１３、１４、１５のＰＭデータは、ブロックＢ０の第２行に格納される。このように、第１行の格納順序は、昇順となっている。２つのブロックの第２行における格納順序は、昇順の周期的シフトパターンである。各ブロックでは、一度に読み出すことができるのは、そのブロックの一行のみである。
【００５１】
１つのＡＣＳ処理工程は、２つのフェーズを含んでいる。図１０Ｅに示されたフェーズ０においては、ＣＵ７０６に対応して入力されるモードは、１であり、フェーズは、０である。ＣＵ７０６において、ＲＯＭ７６１の第５行は、制御信号として読み出される。ＣＵ７０６からのアドレス信号は、ブロックＢ０に対しては、０であり、ブロックＢ１に対しては、１であり、ブロックＢ０の第１行における状態０、１、２、３のＰＭデータ、Ｂ１の第２行における状態８、９、１０、１１のＰＭデータは、ＰＭＳＵ７０４から取り出される。これらのＰＭデータは、ＲＵ７０５において、並べ替えられる。ＲＵ７０５の制御信号は、０２４６１３５７であり、並べ替え後のデータ位置を示している。ＲＵ７０５における並べ替え後、状態０及び状態８のＰＭデータは、ＰＥ９０１に渡され、状態１及び状態９のＰＭデータは、ＰＥ９０２に渡され、状態２及び状態１０のＰＭデータは、ＰＥ９０３に渡され、状態３及び状態１１のＰＭデータは、ＰＥ９０４に渡される。
【００５２】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理されたＰＭデータ０'、１'、２'、３'、４'、５'、６'、７'は、ＰＭＳＵ７０４のブランク位置に渡される。状態０'、１'、２'、３'のＰＭデータは、ブロックＢ０の第１行に格納される。状態４'、５'、６'、７'のＰＭデータは、ブロックＢ１の第２行に格納される。
【００５３】
図１０Ｆに示されたフェーズ１において、ＣＵ７０６に対応して入力されるモード及びフェーズは、両方とも１である。ＣＵ７０６におけるＲＯＭ７６１の第２行は、制御信号として読出される。ＣＵ７０６からのアドレス信号は、ブロックＢ０に対して１であり、ブロックＢ１に対して０であり、ブロックＢ０の第２行における状態１２、１３、１４、１５のＰＭデータ、ブロックＢ１の第１行における状態４、５、６、７のＰＭデータは、ＰＭＳＵ７０４から取り出される。これらのＰＭデータは、ＲＵ７０５において、並べ替えられる。ＲＵ７０５の制御信号は、依然として４６０２５７１３であり、並べ替え後のデータ位置を示している。ＲＵ７０５における並べ替え後、状態１４及び状態６のＰＭデータは、ＰＥ９０１に渡され、状態１５及び状態７のＰＭデータは、ＰＥ９０２に渡され、状態１２及び状態４のＰＭデータは、ＰＥ９０３に渡され、状態３及び状態１１のＰＭデータは、ＰＥ９０４に渡される。
【００５４】
ＡＣＳＵ７０２におけるＡＣＳ処理後、状態８'、９'、１０'、１１'、１２'、１３'、１４'、１５'の処理されたＰＭデータは、ＰＭＳＵ７０４のブランク位置に渡される。状態'１２'、１３'、１４'、１５'に対応するＰＭデータは、ブロックＢ０の第２行に格納される。状態８'、９'、１０'、１１'に対応するＰＭデータは、ブロックＢ１の第１行に格納される。
【００５５】
２つのフェーズ後、１つのＡＣＳ処理工程は完了する。取り得る状態のＰＭデータは、オリジナル位置と比較された異なる位置に格納される。図１１Ｂに示されたように、ＡＣＳ処理工程０の後、ＰＭＳＵ７０４におけるＰＭデータの格納している位置パターンは、変更される。ＡＣＳ処理工程１の後、ＰＭデータの格納している位置パターンは、ＰＭＳＵ７０４のオリジナル位置に戻る。これら２つの種類の格納されている位置パターンは、復号処理全体において、いずれか一方に現われる。
【００５６】
（第２実施形態）
第２実施形態に係る情報処理装置１２００が図１２Ａに示されている。ＣＵ１２０６は、ＲＯＭ構成として、実現される。制御信号は、前もって、ＲＯＭ１２６１に格納される。１度で必要とされるすべての制御信号は、同じ行に格納される。この処理の間、その制御信号は、その処理のモードとフェーズに応じてＲＯＭ１２６１から取り出される。
【００５７】
ＲＵは、ＲＵ１２０１とＲＵ１２０２の２つのパートに分割されている。２つのパートに分割しているＲＵのメリットは、制御信号が簡易になることである。
【００５８】
ＲＵ１２０１は、ＣＵ１２０６に制御されるいくつかのスイッチによって実現される。ＣＵ１２０６からの信号により、スイッチは、所望のポートに接続され、データを並べ替えする。スイッチの数は、ＰＥの数と処理基数の積である。
【００５９】
ＲＵ１２０２は、いくつかのクロスバースイッチから構成されている。クロスバースイッチは、２つの入力と２つの出力を有する。制御信号が０であるとき、入力データは、入力方向にクロスバースイッチを通過する。制御信号が１であるとき、入力データは、出力が入力の順序に変換することを意味するクロス方向にクロスバースイッチを通過する。
【００６０】
本発明は、単一な畳み込み符号のために実行されることができ、同時に、取り得る異なった状態を伴ういくつかの畳み込み符号に適応されることができる。第２実施形態は、２つの事例のために２つのモードに適応する。第１の事例において、取り得る状態数は、１６であり、ＰＥ数は、４である。第２の事例において、取り得る状態数は、８であり、ＰＥ数は、２である。ＡＣＳＵ７０２には、４つのＰＥがあり、ＰＭＳＵ１２０４には、１６の格納位置がある。ＲＵ１２０１において、スイッチの数は、ＰＥの数と処理基数との積である。従って、ＲＵ１２０１には、８つのスイッチがあり、ＲＵ１２０２には、４つのクロスバースイッチがある。ＣＵ１２０６は、ＲＵ１２０１のスイッチへの８つの制御信号、ブロックＢ０とブロックＢ１に２つのアドレス信号を供給し、ＲＵ１２０２のクロスバースイッチの１つに制御信号を供給する必要がある。処理前にこれらの制御信号は、前もって、ＣＵ１２０６のＲＯＭ１２６１に格納される。
【００６１】
第１の事例の第１のモードは、図１３Ａ及び図１３Ｂに示されている。第２の事例の第２モードは、図１３Ｃ及び図１３Ｄに示されている。
【００６２】
第１の事例の図１３Ａにおいて、１６の取り得る状態のＰＭデータは、ＰＭＳＵ１２０４の２つのブロックに格納される。状態０、１、２、３のＰＭデータは、ブロックＢ０の第１行に格納される。状態４、５、６、７のＰＭデータは、ブロックＢ１の第１行に格納される。状態８、９、１０、１１のＰＭデータは、ブロックＢ１の第２行に格納される。状態１２、１３、１４、１５のＰＭデータは、ブロックＢ０の第２行に格納される。このように、２つのブロックの第１行の格納順序は、０、１、２、３、４、５、６、７であり、昇順になっている。２つのブロックの第２行の格納順序は、１２、１３、１４、１５、８、９、１０、１１であり、昇順の周期的シフトパターンである。各ブロックでは、一度に読み出すことができるのは、そのブロックの一行のみである。
【００６３】
１つのＡＣＳ工程の処理は、２つのフェーズを含んでいる。図１３Ａに示されたフェーズ０においては、ＣＵ１２０６に対応して入力されるモードとフェーズは、ともに０である。ＣＵ１２０６におけるＲＯＭ１２６１の第１行は、制御信号として読み出される。ＣＵ１２０６からのアドレス信号は、ブロックＢ０に対して０であり、ブロックＢ１に対して１であり、ブロックＢ０の第１行における、状態０、１、２、３のＰＭデータ、及びＢ１の第２行における、状態８、９、１０、１１のＰＭデータは、ＰＭＳＵ１２０４から取り出される。これらのＰＭデータは、ＲＵ１２０１に並べ替えられる。ＲＵ１２０１の制御信号は、０２４６１３５７であり、並べ替え後のデータ位置を示す。ＲＵ１２０１における並べ替え後、状態０及び状態８のＰＭデータは、ＰＥ９０１に渡され、状態１及び状態９のＰＭデータは、ＰＥ９０２に渡され、状態２及び状態１０のＰＭデータは、ＰＥ９０３に渡され、状態３及び状態１１のＰＭデータは、ＰＥ９０４に渡される。
【００６４】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理されたデータ０'、１'、２'、３'、４'、５'、６'、７'は、ＲＵ１２０２に渡される。制御信号は、０であるので、すべてのクロススイッチは、ＰＭデータの入力時の順序を保持している。状態０'、１'、２'、３'、４'、５'、６'、７'のＰＭデータは、ブランク位置に格納される。状態０'、１'、２'、及び３'のＰＭデータは、ブロックＢ０の第１行に格納される。状態４'、５'、６'、７'のＰＭデータは、ブロックＢ１の第２行に格納される。
【００６５】
図１３Ｂに示されたフェーズ１においては、ＣＵ１２０６に対応して入力されたモードは、０であり、フェーズは、１である。ＣＵ１２０６において、ＲＯＭ１２６１の第２行は、制御信号として読み出される。ＣＵ１２０６からのアドレス信号は、ブロックＢ０に対して１であり、ブロックＢ１に対して０であり、ブロックＢ０の第２行における状態１２、１３、１４、１５のＰＭデータ、ブロックＢ１の第１行における状態４、５、６、７のＰＭデータは、ＰＭＳＵ１２０４から取り出される。これらのＰＭデータは、ＲＵ１２０１に並べ替えられる。ＲＵ１２０１に対する制御信号は、０２４６１３５７であり、並べ替え後のデータ位置を示している。これは、ＲＵ０１２２における並べ替え後、状態１４及び状態６のＰＭデータは、ＰＥ９０１に渡され、状態１５及び状態７のＰＭデータは、ＰＥ９０４に渡され、状態１２及び状態４のＰＭデータは、ＰＥ９０３に渡され、状態３及び状態１１のＰＭデータは、ＰＥ９０４に渡される。
【００６６】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理された状態８'、９'、１０'、１１'、１２'、１３'、１４'、１５'は、ＲＵ１２０２に渡される。制御信号が１であるので、すべてのクロスオーバースイッチは、入力時の順序を変換する。状態１２'、１３'、１４'、１５'、８'、９'、１０'、１１'のＰＭデータは、ブランク位置に格納される。状態１２'、１３'、１４'、１５'のＰＭデータは、ブロックＢ０の第２行に格納される。状態８'、９'、１０'、１１'のＰＭデータは、ブロックＢ１の第１行に格納される。
【００６７】
２つのフェーズ後、１つのＡＣＳ処理工程は、完了する。取り得る状態のＰＭデータは、オリジナル位置と比較して、異なる位置に格納される。図１４Ａに示されるように、ＡＣＳ処理の第１工程の後は、ＰＭＳＵ１２０４におけるＰＭデータの格納位置パターンは、変更される。ＡＣＳ処理の第２工程の後は、ＰＭデータの格納位置は、ＰＭＳＵ１２０４におけるＰＭデータ１２０４のオリジナル位置に戻る。これら２つの種類の格納される位置パターンは、復号処理全体において、いずれか一方に現われる。
【００６８】
図１３Ｃに示された第２の事例においては、取り得る状態は、最大格納位置の半分であり、それぞれのブロックにおいて、行の半分が占められている。状態０、１のＰＭデータは、ブロックＢ０の第１行に格納される。状態２、３に対応するＰＭデータは、ブロックＢ１の第１行に格納される。状態４、５のＰＭデータは、ブロックＢ１の第２行に格納される。状態６、７のＰＭデータは、ブロックＢ０の第２行に格納される。このように、２つのブロックの第１行が格納順序は、０、１、２、３であり、これらは、昇順になっている。２つのブロックの第２行における格納順序は、６、７、４、５であり、昇順の周期的シフトパターンである。
【００６９】
１つのＡＣＳ工程の処理は、また、２つのフェーズを含んでいる。図１３Ｃに示されたフェーズ０において、ＣＵ１２０６に対応して入力されたモードは１であり、フェーズは、０である。ＣＵ１２０６において、ＲＯＭ１２６１の第３行は、制御信号として読み出される。ＣＵ１２０６からのアドレス信号は、ブロックＢ０に対して０であり、ブロックＢ１に対して１である。ブロックＢ０の第１行における状態０及び状態１のＰＭデータ、ブロックＢ１の第２行における状態４及び状態５のＰＭデータは、ＰＭＳＵ１２０４から取り出される。これらのＰＭデータは、ＲＵ１２０１で並べ替えられる。ＲＵ１２０１の制御信号は、０４１５であり、並べ替え後のデータ位置を示している。ＲＵ１２０１における並べ替え後、状態０及び状態４のＰＭデータは、ＰＥ９０１に渡され、状態１及び状態５のＰＭデータは、ＰＥ９０３に渡される。
【００７０】
ＡＣＳＵ７０２におけるＡＣＳ処理後、状態０'、１'、２'、３'の処理されたＰＭデータは、ＲＵ１２０２に渡される。制御信号は、０であるので、すべてのクロススイッチは、ＰＭデータの入力時の順序を保持する。状態０'、１'、２'、３'に対応するＰＭデータは、ブランク位置に格納される。状態０'及び状態１'に対応するＰＭデータは、ブロックＢ０の第１行に格納される。状態２'及び３'のＰＭデータは、ブロックＢ１の第２行に格納される。
【００７１】
図１３Ｄに示されたフェーズ１において、ＣＵ１２０６に対応して入力されたモードとフェーズは、ともに１である。ＣＵ１２０６におけるＲＯＭ１２６１の第４行は、制御信号として読み出される。ＣＵ１２０６からのアドレス信号は、ブロックＢ０に対して、１であり、ブロックＢ１に対して、０である。ブロックＢ０の第２行における状態６及び状態７のＰＭデータ、ブロックＢ１の第１行における状態２及び状態３のＰＭデータは、ＰＭＳＵ１２０４から取り出される。これらのＰＭデータは、ＲＵ１２０１に並べ替えられる。ＲＵ１２０１の制御信号は、０４１５であり、並べ替え後のデータの位置を示している。ＲＵ１２０１における並べ替え後、状態７及び状態３のＰＭデータは、ＰＥ９０１に渡され、状態６及び状態２のＰＭデータは、ＰＥ９０３に渡される。
【００７２】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理されたＰＭデータ状態４'、５'、６'、７'の処理されたＰＭデータは、ＲＵ１２０２に渡される。制御信号は、１であるので、すべてのクロススイッチは、ＰＭデータの入力時の順序を変換する。状態６'、７'、４'、５'の処理されたデータは、ブランク位置に格納される。状態６'及び状態７のＰＭデータは、ブロックＢ０の第２行に格納される。状態４'及び状態５'のＰＭデータは、ブロックＢ１の第１行に格納される。
【００７３】
２つのフェーズ後、１つのＡＣＳ処理工程は、完了する。取り得る状態のＰＭデータは、異なる位置に格納される。図１４Ｂに示されるように、ＡＣＳ処理の第１工程後は、ＰＭＳＵ１２０４におけるＰＭデータの格納位置パターンは、変更される。ＡＣＳ処理の第２工程の後は、ＰＭデータの格納位置は、ＰＭＳＵ１２０４におけるＰＭデータ１２０４のオリジナル位置に戻る。これら２つの種類の格納される位置パターンは、復号処理全体において、いずれか一方に現われる。
【００７４】
（第３実施形態）
第３実施形態による情報処理装置１５００が図１５に示されている。ＣＵ１５０６は、構造に基づいたロジックゲートとして実現される。制御信号は、前もって格納されないが、モード及びフェーズに応じて、ロジックゲートによってリアルタイムに生成される。
【００７５】
ＲＵは、さらにＲＵ１５０１とＲＵ１５０２の２つのパートに分割されている。
【００７６】
ＲＵ１５０１は、ＣＵ１５０６によって制御されるいくつかのスイッチによって実現される。ＣＵ１５０６からの信号により、スイッチは、所望のポートに接続され、データを並べ替えする。スイッチの数は、ＰＥ数と処理基数との積である。
【００７７】
ＲＵ１５０２は、いくつかのクロスバースイッチから構成されている。クロスバースイッチは、２つの入力及び２つの出力を有する。制御信号が０であるとき、入力データは、クロスバースイッチを入力方向に通過する。制御信号が１であるとき、入力データは、出力が入力の順序に変換することを意味するクロス方向にクロスバースイッチを通過する。
【００７８】
第３実施形態は、２つの事例の２つのモードにも適用する。第１の事例において、取り得る状態数は、１６であり、ＰＥ数は、４である。第２の事例において、取り得る状態の数は、８であり、ＰＥの数は、２である。この適応アーキテクチュアの設計は、最大要求を満足する。このように、ＡＣＳＵ７０２には、４つのＰＥがあり、ＰＭＳＵ１５０４には、１６の格納位置がある。ＲＵ１５０１において、スイッチの数は、ＰＥの数と処理基数との積である。従って、ＲＵ１５０１には、８つのスイッチがあり、ＲＵ１５０２には、４つのクロスバースイッチがある。ＣＵ１５０６は、ＲＵ１５０１において、８つの制御信号を供給し、ブロックＢ０及びブロックＢ１に２のアドレス信号を供給し、ＲＵ１５０２のクロスバースイッチの１つに制御信号を供給する必要がある。
【００７９】
ＣＵ１５０６における、Ａ０、Ａ１、Ａ２、Ａ４、Ａ５は、２つの入力と１つの出力を伴った加算器である。Ｍ０及びＭ１は、モード信号によって、制御されるマルチプレクサーである。モードが０であるとき、出力は、左入力である。モードが１であるとき、出力は、右入力である。Ｓ０、Ｓ１、Ｓ２及びＳ３は、モード信号によって制御されたスイッチである。モードが０であるとき、スイッチは接続状態にある。モードが１であるとき、スイッチは、カットオフ状態にある。Ｎ０は、０から１または１から０に切り替えるインバータである。
【００８０】
第１の事例の第１のモードは、図１６Ａ及び図１６Ｂに示されている。第２の事例の第２モードは、図１６Ｃ及び図１６Ｄに示されている。
【００８１】
第１の事例の図１６Ａにおいて、１６の取り得る状態のＰＭデータは、処理前にＰＭＳＵ１５０４における２つのブロックに格納される。状態０、１、２、３のＰＭデータは、ブロックＢ０の第１行に格納される。状態４、５、６、７のＰＭデータは、ブロックＢ１の第１行に格納される。状態８、９、１０、１１のＰＭデータは、ブロックＢ１の第２行に格納される。状態１２、１３、１４、１５のＰＭデータは、ブロックＢ０の第２行に格納される。このように、２つのブロックの第１行に格納順序は、０、１、２、３、４、５、６、７であり、昇順になっている。２つのブロックの第２行に格納順序は、１２、１３、１４、１５、８、９、１０、１１であり、昇順の周期的シフトパターンである。各ブロックでは、一度に読み出すことができるのは、そのブロックの一行のみである。
【００８２】
１つのＡＣＳ工程の処理は、２つのフェーズを含んでいる。図１６Ａに示されたフェーズ０において、ＣＵ１５０６に対応して入力されたモードとフェーズは、ともに０である。Ｍ０及びＭ１は、左入力を選択する。Ｓ０、Ｓ１、Ｓ２及びＳ３は、接続状態である。ＣＵ１５０６は、ブロックＢ０に対して０であり、ブロックＢ１に対して１のアドレス信号を発生し、ブロックＢ０の第１行における状態０、１、２、３のＰＭデータ、ブロックＢ１の第２行における状態８、９、１０、１１のＰＭデータは、ＰＭＳＵ１５０４から取り出される。これらのデータは、ＲＵに並べ替えられる。ＲＵ１５０１の制御信号は、０２４６１３５７であり、並べ替え後のデータ位置を示す。ＲＵ１５０１における並べ替え後、状態０及び状態８に対応したＰＭデータは、ＰＥ９０１に渡され、状態１及び状態９に対応したＰＭデータは、ＰＥ９０２に渡され、状態２及び状態１０に対応したＰＭデータは、ＰＥ９０３に渡され、状態３及び状態１１に対応したＰＭデータは、ＰＥ９０４に渡される。
【００８３】
ＡＣＳＵ７０２におけるＡＣＳ処理後、処理されたデータ０'、１'、２'、３'、４'、５'、６'、７'は、ＲＵ１５０２に渡される。制御信号は、０であるので、すべてのクロススイッチは、ＰＭデータの入力時の順序を保持する。状態０'、１'、２'、３'、４'、５'、６'、７'のＰＭデータは、ブランク位置に格納される。状態０'、１'、２'、３'のＰＭデータは、ブロックＢ０の第１行に格納される。状態４'、５'、６'、７'のＰＭデータは、ブロックＢ１の第２行に格納される。
【００８４】
図１６Ｂに示されたフェーズ１において、ＣＵ１５０６に対応して入力されたモードは０であり、フェーズは１である。Ｍ０及びＭ１は、左入力を選択する。Ｓ０、Ｓ１、Ｓ２及びＳ３は、接続状態である。ＣＵ１５０６は、ブロックＢ０に対して、１、ブロックＢ１に対して、０のアドレス信号を発生し、ブロックＢ０の第２行における状態１２、１３、１４、１５のＰＭデータ、ブロックＢ１の第１行における状態４、５、６、７のＰＭデータは、ＰＭＳＵ１５０４から取り出される。これらのＰＭデータは、ＲＵ１５０１に並べ替えられる。ＲＵ１５０１の制御信号は、０２４６１３５７であり、並べ替え後のデータ位置を示している。ＲＵ１５０１における並べ替え後、状態１４及び状態６に対応したＰＭデータは、ＰＥ９０１に渡され、状態１５及び状態７に対応したＰＭデータは、ＰＥ９０２に渡され、状態１２及び状態４に対応したＰＭデータは、ＰＥ９０３に渡され、状態３及び状態１１のＰＭデータは、ＰＥ９０４に渡される。
【００８５】
ＡＣＳＵ７０２におけるＡＣＳ処理後、状態８'、９'、１０'、１１'、１２'、１３'、１４'、１５'の処理されたＰＭデータは、ＲＵ１５０２に渡される。制御信号は、１であるので、すべてのクロスバースイッチは、入力時の順序を変換する。状態１２'、１３'、１４'、１５'、８'、９'、１０'、１１'の処理されたＰＭデータは、ブランク位置に格納される。状態１２'、１３'、１４'、１５'のＰＭデータは、ブロックＢ０の第２行に格納される。８'、９'、１０'、１１'のＰＭデータは、ブロックＢ１の第１行に格納される。
【００８６】
２つのフェーズ後、１つのＡＣＳ処理工程は、完了する。取り得る状態のＰＭデータは、オリジナル位置と比較して、異なる位置に格納される。図１４Ａに示されるように、ＡＣＳ処理の第１工程の後は、ＰＭＳＵ１５０４におけるＰＭデータの格納位置パターンは、変更される。ＡＣＳ処理の第２工程後は、ＰＭデータの格納位置は、ＰＭＳＵ１５０４におけるオリジナル位置に戻る。これら２つの種類の格納される位置パターンは、復号処理全体において、いずれか一方に現われる。
【００８７】
図１６Ｃに第２の事例においては、取り得る状態は、最大格納位置の半分であり、それぞれのブロックにおいて、行の半分が占められている。状態０、１のＰＭデータは、ブロックＢ０の第１行に格納される。状態２、３のＰＭデータは、ブロックＢ１の第１行に格納される。状態４、５のＰＭデータは、ブロックＢ１の第２行に格納される。状態６、７のＰＭデータは、ブロックＢ０の第２行に格納される。このように、２つのブロックの第１行における格納順序は、０、１、２、３であり、昇順になっている。２つのブロックの第２行における格納順序は、６、７、４、５であり、昇順の周期的シフトパターンである。
【００８８】
１つのＡＣＳ工程の処理は、また、２つのフェーズを含んでいる。図１６Ｃに示されたフェーズ０において、ＣＵ１５０６に対応して入力モードは１であり、フェーズは、０である。Ｍ０及びＭ１は、右入力を選択する。Ｓ０、Ｓ１、Ｓ２、Ｓ３は、カットオフ状態である。ＣＵ１５０６は、ブロックＢ０に対して０、ブロックＢ１に対して１、アドレス信号を発生する。ブロックＢ０の第１行における状態０及び状態１のＰＭデータ、ブロックＢ１の第２行における状態４及び状態５のＰＭデータは、ＰＭＳＵ１５０４から取り出される。これらのＰＭデータは、ＲＵ１５０１に並べ替えられる。ＲＵ１５０１の制御信号は、１５０２であり、並べ替え後のデータ位置を示している。ＲＵ１５０１における並べ替え後、状態０及び状態４のＰＭデータは、ＰＥ９０１に渡され、状態１及び状態５のＰＭデータは、ＰＥ９０３に渡される。
【００８９】
ＡＣＳＵ７０２におけるＡＣＳ処理後、状態０'、１'、２'、３'の処理されたＰＭデータは、ＲＵ１５０２に渡される。制御信号は、０であるので、すべてのクロススイッチは、ＰＭデータの入力時の順序を保持する。状態０'、１'、２、３'のＰＭデータは、ブランク位置に格納される。状態０'及び状態１'のＰＭデータは、ブロックＢ０の第１行に格納される。状態２'及び状態３'のＰＭデータは、ブロックＢ１の第２行に格納される。
【００９０】
図１６Ｄに示されたフェーズ１において、ＣＵ１５０６に対応して入力されたモードとフェーズは、ともに１である。Ｍ０及びＭ１は、右入力を選択する。Ｓ０、Ｓ１、Ｓ２、Ｓ３は、カットオフ状態である。ＣＵ１５０６は、ブロックＢ０に対して１、ブロックＢ１に対して０のアドレス信号を発生する。ブロックＢ０の第２行における状態６及び状態７のＰＭデータ、及びブロックＢ１の第１行における状態２及び状態３のＰＭデータは、ＰＭＳＵ１５０４から取り出される。これらのＰＭデータは、ＲＵ１５０１に並べ替えられる。ＲＵ１５０１の制御信号は、０４１５であり、並べ替え後のデータ位置を示している。ＲＵ１５０１における並べ替え後、状態７及び状態３のＰＭデータは、ＰＥ９０１に渡され、状態６及び状態２のＰＭデータは、ＰＥ９０３に渡される。
【００９１】
ＡＣＳＵ７０２におけるＡＣＳ処理後、状態４'、５'、６'、７'の処理されたＰＭデータは、ＲＵ１５０２に渡される。制御信号は、１であるので、すべてのクロススイッチは、ＰＭデータの入力時の順序を変換する。状態６'、７'、４'、５'のＰＭデータは、ブランク位置に格納される。状態６'及び状態７'のＰＭデータは、Ｂ０の第２行に格納される。状態４'及び５'のＰＭデータは、Ｂ１の第１行に格納される。
【００９２】
２つのフェーズ後、１つのＡＣＳ処理工程は、完了する。取り得る状態のＰＭデータは、異なる位置に格納される。図１４Ｂに示されるように、ＡＣＳ処理の第１工程後は、ＰＭＳＵ１５０４におけるＰＭデータの格納位置パターンは、変更される。ＡＣＳ処理の第２工程の後は、ＰＭデータの格納位置は、ＰＭＳＵ１５０４におけるオリジナル位置に戻る。これら２つの種類の格納される位置パターンは、復号処理全体において、いずれか一方に現われる。
【００９３】
実装に基づいたロジックゲートは、実装に基づいたプロセッサによって容易に実現される。実装に基づいたプロセッサにおける唯一の相違は、制御信号がプロセッサによって生成されることである。
【００９４】
（その他の実施形態）
本発明は、いくつかの典型的な実施形態を参照して述べたが、本発明は、開示された典型的な実施形態に限定されないことに理解されるべきである。次のクレームの範囲は、すべてそのような修飾、等価構造及び機能を包含するために最も広い解釈と一致すべきである。
【００９５】
本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。本発明は、また、実施形態の機能を実現する制御プログラムがシステムあるいは装置に直接あるいは遠隔サイトから供給される場合にも適用可能である。従って、本発明の機能をコンピュータで実現するためにコンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サーバも本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理工程をコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体は、本発明の範疇に含まれる。
【図１】
0006551534.tif 000002
【図２】
0006551534.tif 000003
【図３】
0006551534.tif 000004
【図４】
0006551534.tif 000005
【図５】
0006551534.tif 000006
【図６Ａ】
0006551534.tif 000007
【図６Ｂ】
0006551534.tif 000008
【図７】
0006551534.tif 000009
【図８】
0006551534.tif 000010
【図９】
0006551534.tif 000011
【図１０Ａ】
0006551534.tif 000012
【図１０Ｂ】
0006551534.tif 000013
【図１０Ｃ】
0006551534.tif 000014
【図１０Ｄ】
0006551534.tif 000015
【図１０Ｅ】
0006551534.tif 000016
【図１０Ｆ】
0006551534.tif 000017
【図１１Ａ】
0006551534.tif 000018
【図１１Ｂ】
0006551534.tif 000019
【図１２】
0006551534.tif 000020
【図１３Ａ】
0006551534.tif 000021
【図１３Ｂ】
0006551534.tif 000022
【図１３Ｃ】
0006551534.tif 000023
【図１３Ｄ】
0006551534.tif 000024
【図１４Ａ】
0006551534.tif 000025
【図１４Ｂ】
0006551534.tif 000026
【図１５】
0006551534.tif 000027
【図１６Ａ】
0006551534.tif 000028
【図１６Ｂ】
0006551534.tif 000029
【図１６Ｃ】
0006551534.tif 000030
【図１６Ｄ】
0006551534.tif 000031