JP6551534B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP6551534B2
JP6551534B2 JP2017549834A JP2017549834A JP6551534B2 JP 6551534 B2 JP6551534 B2 JP 6551534B2 JP 2017549834 A JP2017549834 A JP 2017549834A JP 2017549834 A JP2017549834 A JP 2017549834A JP 6551534 B2 JP6551534 B2 JP 6551534B2
Authority
JP
Japan
Prior art keywords
data
block
row
state
states
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017549834A
Other languages
English (en)
Other versions
JP2018509857A (ja
Inventor
ショウ ペン
ショウ ペン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JP2018509857A publication Critical patent/JP2018509857A/ja
Application granted granted Critical
Publication of JP6551534B2 publication Critical patent/JP6551534B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/395Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a collapsed trellis, e.g. M-step algorithm, radix-n architectures with n>2
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、情報処理装置、情報処理方法、プログラムに関する。
特許文献1及び非特許文献1は、復号処理における状態遷移特性から生じるコンフリクト問題の解決策を開示する。この解決策の欠点は、格納ユニットのハードウエアコストが2倍であるということである。余分なハードウエアコストは、2の累乗で増加する。状態数が大きなアプリケーションについての余分なハードウエアコストは、受け入れ難い。
デュアルポートRAMベースの実装(dual-port RAM based implementation)を有する特許文献1は、処理基数が2のビタビ復号器のみを実現することができる。レジスタベースの実装(register based implementation)は、処理基数が可変のビタビ復号器に適用することができる。非特許文献1は、レジスタベースの実装を用いている。取り得る状態番号が大きなアプリケーションの場合には、ハードウエアコストがきわめて高くなる。
米国特許US6477682B1
しかしながら、処理基数が可変なビタビ復号器を実現しようとすると、PMSUを追加して、RAMベースの実装(RAM based implementation)を用いなくては、データコンフリクト問題が生じてしまう。
本発明は、上記された課題を解決する技術を提供することを可能とする。
上記目的を達成するため、本発明にかかる情報処理装置は、
パスメトリックデータを第1ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じになるように第2ブロックに分割し、前記第2ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納するパスメトリック格納ユニットと、
前記パスメトリックデータの位置を変えるため前記第2ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとする並べ替えユニットと、
前記パスメトリックデータをビタビ復号器において制御するための制御ユニットと、
を備えた。
上記目的を達成するため、本発明にかかる情報処理方法は、
パスメトリックデータを第1ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じになるように第2ブロックに分割し、前記第2ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納し、
前記パスメトリックデータの位置を変えるため前記第2ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとし、
前記パスメトリックデータをビタビ復号器において制御する。
上記目的を達成するため、本発明にかかる情報処理プログラムは、
パスメトリックデータを第1ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じになるように第2ブロックに分割し、前記第2ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納し、
前記パスメトリックデータの位置を変えるため前記第2ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとし、
前記パスメトリックデータをビタビ復号器において制御すること、をコンピュータに実行させる。
本発明によれば、データコンフリクト問題は、余分なPMSUを伴わずに、任意処理基数に対応するRAMベースのビタビ復号器を使用することによって解決される。
基本ビタビ復号処理を示している概略図である。 ビタビ復号器のそれぞれの復号工程における3つの動作を示している概略図である。 ビタビ復号器の基本アーキテクチュアを示している概略図である。 ACS処理におけるデータコンフリクト問題を示している概略図である。 コンフリクトの問題の解決方法を示す概略図である。 処理基数2の復号器のため必要な数のRAMポートの例を示した概略図である。 処理基数4の復号器のため必要な数のRAMポートの例を示した概略図である。 本発明の第1実施形態のアーキテクチュアを示している概略図である。 第1実施形態のPMデータ格納初期化方法を示している概略図である。 第1実施形態を示している概略図である。 2つの適応事例のための第1実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第1実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第1実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第1実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第1実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第1実施形態におけるデータ転送フローを示した概略図である。 第1実施形態において、変換していくPMデータ格納パターンを示す概略図である。 第1実施形態において、変換していくPMデータ格納パターンを示す概略図である。 本発明の第2実施形態を示している概略図である。 2つの適応事例のための第2実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第2実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第2実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第2実施形態におけるデータ転送フローを示した概略図である。 第2実施形態において、変換していくPMデータ格納パターンを示す概略図である。 第2実施形態において、変換していくPMデータ格納パターンを示す概略図である。 本発明の第3実施形態を示している概略図である。 2つの適応事例のための第3実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第3実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第3実施形態におけるデータ転送フローを示した概略図である。 2つの適応事例のための第3実施形態におけるデータ転送フローを示した概略図である。
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成、表現、数値等はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
(第1実施形態)
[前提技術]
畳み込み符号(Convolutional code)は、信頼性のない又は雑音の多いチャネルを介したデータ送信においてエラーを除去するために用いられているエラー訂正符号の種類である。畳み込み符号は、デジタルビデオ、ラジオ、光通信、無線通信を含む数多くの領域およびアプリケーションに広く用いられている。
これらのアプリケーションにおいて、ビタビアルゴリズムは、最大尤度(maximum likelihood)の性能を提供するとともに、高い並列性(parallelism)を達成することができるものとして広く使用されている。このように、ビタビ復号器は、畳み込み復号器のVLSIハードウエアへの実装解として最もよく知られている。
ビタビ復号器のハードウエア実装において、それぞれのACS処理工程の後にPMを格納するための格納ユニットがなければならない。ハードウエアの実装は、常に2つの問題に遭遇する。データコンフリクトの問題及び並列処理の問題である。
図1は、2つの取り得る状態の事例のビタビ復号の基本手順を示す。該復号は、一工程ずつ(step by step)の処理である。各工程における、該取り得る状態間の遷移は、取り得るパスを形成する。このように、取り得る復号出力と取り得るパスには一対一の対応がある。現実のパスと、取り得る復号パスとの間における、パスメトリック(PM)と呼ばれる相違は、各工程で蓄積される。復号処理の目的は、PMが最小となるパスを見つけることであり、PMが最小になるパスとは、現実のパスとの相違が最小になるパスを意味する。すなわちこのPMが最小となるパスであれば、エラーも最小となる。工程の数が増加するにつれて、取り得るパスの数は、指数的に増加する。復号の終わりに、そのPMを比較することは、賢明でない。一方、各工程において同じエンドポイントを有する複数のパスのPMを比較することは容易である。このように、取り得る状態は、工程における状態においてパスの終わりに最小な値であるPM値により示される。
さらに詳細には、図2に示されるように、復号処理は、3つの動作を含んでいる。第1の動作は、この工程の前のPMにブランチメトリックス(BM)を付加することである。第2の動作は、第1の動作の合計を比較することである。第3の動作は、この工程の後のPMとして最小の結果を選択することである。この3つの動作処理は、いわゆる、付加−比較−選択(ACS:Add-Compare-Select)処理である。復号の最終工程において、取り得る状態のすべてのPMが選択された後、すべての記録されたPMが比較され、最小のPMを伴ったパスは、復号の最終的な出力として選択される。
図3は、ビタビ復号器のベーシックな復号処理に基づくビタビ復号器キテクチャのブロック図である。ブランチメトリックユニット(BMU)301は、ブランチメトリックを計算するために用いられる。付加−比較−選択ユニット(ACSU:Add-Care-Select Unit)302は、ACS処理を逐次的に実行するために用いられる。このACSUにおいては、いくつかの処理エレメント(PEs)があり、これらの処理エレメント(PEs)は、同じ構造及び機能を有する。1つの処理エレメントにより一度に処理できるPMデータの数は、ビタビ復号器の処理基数と呼ばれる。ビタビ復号器は、処理基数nのビタビ復号器として示される。PEの数と処理基数が、復号器の並列性を決定する。パスメトリック格納ユニット(PMSU)304は、各工程のPMを格納するために用いられる。トレースバックユニット(TBU)303は、最終出力を生成するために用いられる。
ハードウエアの実装は、常に2つの問題を生じさせる。データコンフリクトの問題と並列処理の問題である。
第1に、データコンフリクトの問題は、復号処理において、状態遷移特性から発生する。
図4に示されるように、PMSU304において、各PMデータは、対応する状態に応じた位置にそれぞれ配置される。各ACS処理工程において、PMデータは、PMSU304から取り出され、処理ユニットに渡される。PMSU304におけるこれらのデータの位置は、ブランク位置と呼ばれ、他のデータを配置することができる。ACS処理後、処理されたデータは、PMSU304に格納される必要がある。1つの状態から異なる状態に遷移する確率がきわめて高いので、PMSU304における処理されたデータの目標位置とPMSU304におけるブランク位置とは、異なる可能性がある。従って、データコンフリクトの問題とは、処理されたデータの目標位置と残存しているデータの位置とがコンフリクトすることを意味する。
一方、実際のアプリケーションにおいて取り得る状態の数は、きわめて多い。従って、ACS処理は、一度に格納ユニット内の全データの一部しか取り扱うことができない。従って、このデータコンフリクトの問題は、従来、同じサイズの別のPMSUを付加することにより解決されてきた。
図5は、コンフリクトの問題の解決方法を示すブロック図である。図5には、同じサイズのPMSU501とPMSU502と示されている。2つのセレクタ503、504は、この処理において、適切なPMSUを選択するために用いられる。この解決方法の第1のACS処理工程において、PMSU502は、ブランクである。PMデータは、PMSU501から取り出され、そして、ACSU302に渡される。処理されたデータは、データコンフリクトの問題を起こすことなく、PMSU502に格納される。PMSU501からのすべてデータが処理されると、PMSU501は、ブランクとなり、この工程のACS処理は完了する。次のACS処理工程においては、PMSU502からPMデータが取り出される。この処理ループにおいては、コンフリクトの問題は回避できる。
第2に、並列処理の問題は、ハードウエアコストと並列処理の問題との間のトレードオフから発生する。
周知の通り、格納ユニットは、レジスタ又はランダムアクセスメモリ(RAM)を含むVLSI回路に実装され得る。RAMを有する実装は、ハードウエアコストを削減できるが、一度に1つのRAMブロック内の1つの行にしかアクセスすることができないというアクセス制限を有する。レジスタを含む実装は、そのような制限を有しないが、よりハードウエアのコストが増大する。
一般的に、RAMのポート番号は、RAMベースの実装において、処理基数と一致している。通常のVLSI回路において、唯一のシングルポート及びデュアルポートRAMがあるので、RAMベースの実装を含み、処理基数が2以上のビタビ復号器を実装することは困難である。図6Aに示されているように、RAM601とRAM602とは、1つのライトポートと1つのリードポートとを含む一般的なデュアルポート構造である。図6Aにおける処理基数2の事例において、PE603とPE604のそれぞれは2つのPMデータを処理することができる。従って、デュアルポートRAMは、この要求を満たすことができる。図6Bのように処理基数4の事例では、PE613とPE614のそれぞれは4つのPMデータを処理することができ、ポート数は2倍となり、そして2つのデータ行が制限を超えて、一回で読み出される。
[機能的アレンジの説明]
図7は、第1実施形態係る情報処理装置700のブロック図である。この装置700において、PMSU704は、いくつかのRAMブロック741に分割されている。このPMデータは、これらのブロック741に対して周期的シフトパターンで初期化される。このアーキテクチャは、必要なデータを同時に異なるRAMブロック741から取り出すことができることを保証する。
並べ替えユニット(RU)705は、PMデータの順序を変えるために用いられる。この実装では、RU705は、単一のユニットとしても実現できるし、2以上の部分に分かれたユニットとしても実現することができる。
制御ユニット(CU)706は、PMSU704内のブロックの適切な行を選択するための選択信号と、RU705を制御するための制御信号を生成する。CU706は、リードオンリーメモリ(ROM)ベースの構成、ロジックゲートベースの構成、プロセッサベースの構成など、様々な形態で実現することができる。CU706は、様々な状態を取り得る畳み込み符号に適応される複数のモードを実現できるように設計され得る。
ACS処理において、PMデータが、AGに応じてPMSU704のブロックの適切な行から取り出され、RU705に渡される。RU705は、PMデータの順序を変えるために用いられ、PMデータを適切なPE721に渡すことができる。ACS処理の後、すべての処理されたデータは、ブランク位置に格納される。このブランク位置は、そのデータを処理するに際して、取り出された位置である。このアーキテクチャに基づけば、コンフリクトの問題は生じず、格納ユニットを増やす必要もない。
PMSU704におけるPMデータの位置は固定されないが、いくつかのパターンに限られる。処理工程ごとに位置は1つのパターンから他のパターンに変化する。いくつかの処理工程の後、もとのパターンに戻る。
PMデータを格納する初期化方法は、図8に示されている。ここで、PE721の番号は、"p"として示され、処理基数は、"n"として示され、取り得る状態の数は、"s"として示される。
(1)第1の工程において、PMデータを1行毎に昇順に並べる。それぞれの各行におけるPMデータ数は、PEの数と処理基数との積であり、c=npとして示される。ここで、行の数rは、"r=s/np"で示される。
(2)第2の工程において、ブロック全体は、n個のブロックに分割される。
(3)第3の工程において、PMデータは、1レイヤ毎に周期的にシフトされる。レイヤの数lは、"l=s/n2p"として算出される。第1レイヤは、右に0ブロックシフトし、第2レイヤは右に1ブロックシフトする、などである。
図9に示されるように、第1実施形態は、処理基数が2のビタビ復号器を実装である。処理基数が2のビタビ復号器は、最も広く用いられているビタビ復号器である。
第1実施形態は、単一の畳み込み符号ごとに実装され、同時に異なる状態を取り得る様々な畳み込み符号に適応することができる。第1実施形態において、この実装は2つの事例のために2つのモードに適応できる。第1の事例においては、取り得る状態数は、32である。第2の事例において、取り得る状態数は、16である。
ACSU702には、PE901から904があり、PMSU704には32個の格納位置がある。第2の事例では、格納位置の半分は、処理中ブランクとなっている。図8に記載されたPMデータ格納初期化方法によって、PMSU704は、2つのブロックB0とB1に分割されている。
RU705は、CU706によって制御されるいくつかのスイッチによって実現化される。そのスイッチは、CU706からの信号に基づき、所望のポートに接続し、データを並べ替えることができる。スイッチの数は、PEの数と処理基数との積になっている。従って、RU705には、8つのスイッチがある。
CU706は、8つの制御信号をRU705のスイッチに供給し、ブロックB0とブロックB1に対して、2つのアドレス信号を供給する必要がある。本実施形態において、CU706は、ROM構成として実現化される。制御信号は、前もって、ROM761に格納される。1度で必要とされるすべての制御信号は、同じ行に格納される。この処理の間、その制御信号は、その処理のモード及びフェーズに応じてROM761から取り出される。
4つのフェーズを有する第1の事例の第1のモードが図10A、図10B、図10C及び図10Dに示されている。2つのフェーズを有する第2の事例の第2のモードが図10E、図10Fに示されている。
第1の事例では、図10Aに示されるように、32個の取り得る状態に対応するPMデータが、処理前にPMSU704の2つのブロックに格納される。状態0、1、2、3に対応するPMデータは、ブロックB0の第1行に格納される。状態4、5、6、7に対応するPMデータは、ブロックB1の第1行に格納される。状態8、9、10、11に対応するPMデータは、ブロックB0の第2行に格納される。状態12、13、14、15に対応するPMデータは、ブロックB1の第2行に格納される。状態16、17、18、19に対応するPMデータは、ブロックB1の第3行に格納される。状態20、21、22、23に対応するPMデータは、ブロックB0の第3行に格納される。状態24、25、26、27に対応するPMデータは、ブロックB1の第4行に格納される。状態28、29、30、31に対応するPMデータは、ブロックB0の第4行に格納される。
このように、第1行及び第2行を含む第1における格納順序は、昇順になっている。第3行及び第4行を含む第2レイヤにおける格納順序は、昇順の周期的シフトパターンである。各ブロックでは、一度に読み出すことができるのは、そのブロックの一行のみである。
1つのACS工程の処理は、4つのフェーズを含んでいる。図10Aに示されたフェーズ0においては、CU706に対して入力されるモードとフェーズは、ともに0である。CU706におけるROM761の第1行は、制御信号として読み出される。CU706からのアドレス信号は、ブロックB0に対しては0であり、ブロックB1に対しては2であり、ブロックB0の第1行における、状態0、1、2、3のPMデータ、ブロックB1の第3行における、状態16、17、18、19のPMデータは、PMSU704から取り出される。これらのPMデータは、RU705において並べ替えられる。RU705に対する制御信号は、02461357であり、並べ替え後のデータ位置を示している。RU705における並べ替え後、状態0及び状態16のPMデータは、PE901に渡される。状態1及び状態17のPMデータは、PE902に渡され、状態2及び状態18のPMデータは、PE903に渡され、状態3及び状態19のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、処理されたデータは、状態0、1、2、3、4、5、6、7に対応する。処理前のデータと処理後のデータを区別するために、処理後のデータは、0'、1'、2'、3'、4'、5'、6'、7'として示される。以降、本明細書においてこの区別が用いられる。処理されたPMデータ0'、1'、2'、3'、4'、5'、6'、7'は、PMSU704のブランク位置に渡される。状態0'、1'、2'、3'のPMデータは、ブロックB0の第1行に格納される。状態4'、5'、6'、7'のPMデータは、ブロックB1の第3行に格納される。
図10Bに示されたフェーズ1においては、CU706に対して入力されるモードは、0であり、フェーズは、1である。CU706において、ROM761の第2行は、制御信号として読み出される。CU706からのアドレス信号は、ブロックB0に対して1であり、ブロックB1に対しては、3であり、ブロックB0の第2行における状態8、9、10、11のPMデータと、ブロックB1の第4行における状態24、25、26、27のPMデータは、PMSU704から取り出される。これらのPMデータは、RU705において並べ替えられる。RU705に対する制御信号は、02461357であり、これは、並べ替え後のデータ位置を示している。RU705における並べ替え後、状態8及び状態24のPMデータは、PE901に渡され、状態9及び状態25のPMデータは、PE902に渡され、状態10及状態26のPMデータは、PE903に渡され、状態11及び状態27のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、処理されたデータ8'、9'、10'、11'、12'、13'、14'、15'は、PMSU704のブランク位置に渡される。状態8'、9'、10'、11'のPMデータは、ブロックB0の第2行に格納される。状態12'、13'、14'、15'のPMデータは、ブロックB1の第4行に格納される。
図10Cに示されたフェーズ2においては、CU706に対して入力されるモードは、0であり、フェーズは2である。CU706において、ROM761の第3行は、制御信号として読み出される。CU706からのアドレス信号は、ブロックB0に対しては、2であり、ブロックB1に対しては、0であり、ブロックB0の第3行における状態20、21、22、23のPMデータと、ブロックB1の第1行における状態4、5、6、7のPMデータは、PMSU704から取り出される。これらのPMデータは、RU705において並べ替えられる。RU705の制御信号は、46025713であり、これは、並べ替え後のデータ位置を示している。RU705における並べ替え後、状態22及び状態6のPMデータは、PE901に渡され、状態23及び状態7のPMデータは、PE902に渡され、状態20及び状態4のPMデータは、PE903に渡され、状態21及び状態5のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、処理されたデータ16'、17'、18'、19'、20'、21'、22'、23'は、PMSU704のブランク位置に渡される。状態20'、21'、22'、23'のPMデータは、ブロックB0の第3行に格納される。状態16'、17'、18'、19'のPMデータは、ブロックB1の第1行に格納される。
図10Dに示されたフェーズ3においては、CU706に対応して入力されるモードは、0であり、フェーズは3である。CU706において、ROM761の第4行は、制御信号として読み出される。CU706からのアドレス信号は、ブロックB0に対して、3であり、ブロックB1に対しては、1であり、ブロックB0の第4行における状態28、29、30、31のPMデータと、ブロックB1の第2行における状態12、13、14、15のPMデータは、PMSU704から取り出される。これらのPMデータは、RU705において並べ替えられる。RU705の制御信号は、46025713であり、並べ替え後のデータ位置を示している。RU705における並べ替え後、状態30及び状態14のPMデータは、PE901に渡され、状態31及び状態15のPMデータは、PE902に渡され、状態28及び状態12のPMデータは、PE903に渡され、状態29及び状態13のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、処理されたデータ24'、25'、26'、27'、28'、29'、30'、31'は、PMSU704のブランク位置に渡される。状態28'、29'、30'、31'のPMデータは、ブロックB0の第4行に格納される。状態24'、25'、26'、27'のPMデータは、ブロックB1の第2行に格納される。
4つのフェーズの後、1つのACS処理工程は、完了する。取り得る状態のPMデータは、オリジナルの位置に比較して異なる位置に格納される。図11Aに示されるように、ACS処理工程0の後、PMSU704におけるPMデータの格納位置パターンは、変更される。ACS処理工程1の後、PMデータの格納位置パターンは、PMSU704において元の位置に戻る。これら2つの種類の格納されている位置パターンは、復号処理全体において、いずれか一方が現われる。
図10Eに示された第2事例において、16の取り得る状態に対応したPMデータは、処理前に、PMSU704において、2つのブロック内に格納される。状態1、2、及び3のPMデータは、ブロックB0の第1行に格納される。状態4、5、6、7のブロックB1の第1行に格納される。状態8、9、10、及び11のブロックB1の第2行に格納される。状態12、13、14、15のPMデータは、ブロックB0の第2行に格納される。このように、第1行の格納順序は、昇順となっている。2つのブロックの第2行における格納順序は、昇順の周期的シフトパターンである。各ブロックでは、一度に読み出すことができるのは、そのブロックの一行のみである。
1つのACS処理工程は、2つのフェーズを含んでいる。図10Eに示されたフェーズ0においては、CU706に対応して入力されるモードは、1であり、フェーズは、0である。CU706において、ROM761の第5行は、制御信号として読み出される。CU706からのアドレス信号は、ブロックB0に対しては、0であり、ブロックB1に対しては、1であり、ブロックB0の第1行における状態0、1、2、3のPMデータ、B1の第2行における状態8、9、10、11のPMデータは、PMSU704から取り出される。これらのPMデータは、RU705において、並べ替えられる。RU705の制御信号は、02461357であり、並べ替え後のデータ位置を示している。RU705における並べ替え後、状態0及び状態8のPMデータは、PE901に渡され、状態1及び状態9のPMデータは、PE902に渡され、状態2及び状態10のPMデータは、PE903に渡され、状態3及び状態11のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、処理されたPMデータ0'、1'、2'、3'、4'、5'、6'、7'は、PMSU704のブランク位置に渡される。状態0'、1'、2'、3'のPMデータは、ブロックB0の第1行に格納される。状態4'、5'、6'、7'のPMデータは、ブロックB1の第2行に格納される。
図10Fに示されたフェーズ1において、CU706に対応して入力されるモード及びフェーズは、両方とも1である。CU706におけるROM761の第2行は、制御信号として読出される。CU706からのアドレス信号は、ブロックB0に対して1であり、ブロックB1に対して0であり、ブロックB0の第2行における状態12、13、14、15のPMデータ、ブロックB1の第1行における状態4、5、6、7のPMデータは、PMSU704から取り出される。これらのPMデータは、RU705において、並べ替えられる。RU705の制御信号は、依然として46025713であり、並べ替え後のデータ位置を示している。RU705における並べ替え後、状態14及び状態6のPMデータは、PE901に渡され、状態15及び状態7のPMデータは、PE902に渡され、状態12及び状態4のPMデータは、PE903に渡され、状態3及び状態11のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、状態8'、9'、10'、11'、12'、13'、14'、15'の処理されたPMデータは、PMSU704のブランク位置に渡される。状態'12'、13'、14'、15'に対応するPMデータは、ブロックB0の第2行に格納される。状態8'、9'、10'、11'に対応するPMデータは、ブロックB1の第1行に格納される。
2つのフェーズ後、1つのACS処理工程は完了する。取り得る状態のPMデータは、オリジナル位置と比較された異なる位置に格納される。図11Bに示されたように、ACS処理工程0の後、PMSU704におけるPMデータの格納している位置パターンは、変更される。ACS処理工程1の後、PMデータの格納している位置パターンは、PMSU704のオリジナル位置に戻る。これら2つの種類の格納されている位置パターンは、復号処理全体において、いずれか一方に現われる。
(第2実施形態)
第2実施形態に係る情報処理装置1200が図12Aに示されている。CU1206は、ROM構成として、実現される。制御信号は、前もって、ROM1261に格納される。1度で必要とされるすべての制御信号は、同じ行に格納される。この処理の間、その制御信号は、その処理のモードとフェーズに応じてROM1261から取り出される。
RUは、RU1201とRU1202の2つのパートに分割されている。2つのパートに分割しているRUのメリットは、制御信号が簡易になることである。
RU1201は、CU1206に制御されるいくつかのスイッチによって実現される。CU1206からの信号により、スイッチは、所望のポートに接続され、データを並べ替えする。スイッチの数は、PEの数と処理基数の積である。
RU1202は、いくつかのクロスバースイッチから構成されている。クロスバースイッチは、2つの入力と2つの出力を有する。制御信号が0であるとき、入力データは、入力方向にクロスバースイッチを通過する。制御信号が1であるとき、入力データは、出力が入力の順序に変換することを意味するクロス方向にクロスバースイッチを通過する。
本発明は、単一な畳み込み符号のために実行されることができ、同時に、取り得る異なった状態を伴ういくつかの畳み込み符号に適応されることができる。第2実施形態は、2つの事例のために2つのモードに適応する。第1の事例において、取り得る状態数は、16であり、PE数は、4である。第2の事例において、取り得る状態数は、8であり、PE数は、2である。ACSU702には、4つのPEがあり、PMSU1204には、16の格納位置がある。RU1201において、スイッチの数は、PEの数と処理基数との積である。従って、RU1201には、8つのスイッチがあり、RU1202には、4つのクロスバースイッチがある。CU1206は、RU1201のスイッチへの8つの制御信号、ブロックB0とブロックB1に2つのアドレス信号を供給し、RU1202のクロスバースイッチの1つに制御信号を供給する必要がある。処理前にこれらの制御信号は、前もって、CU1206のROM1261に格納される。
第1の事例の第1のモードは、図13A及び図13Bに示されている。第2の事例の第2モードは、図13C及び図13Dに示されている。
第1の事例の図13Aにおいて、16の取り得る状態のPMデータは、PMSU1204の2つのブロックに格納される。状態0、1、2、3のPMデータは、ブロックB0の第1行に格納される。状態4、5、6、7のPMデータは、ブロックB1の第1行に格納される。状態8、9、10、11のPMデータは、ブロックB1の第2行に格納される。状態12、13、14、15のPMデータは、ブロックB0の第2行に格納される。このように、2つのブロックの第1行の格納順序は、0、1、2、3、4、5、6、7であり、昇順になっている。2つのブロックの第2行の格納順序は、12、13、14、15、8、9、10、11であり、昇順の周期的シフトパターンである。各ブロックでは、一度に読み出すことができるのは、そのブロックの一行のみである。
1つのACS工程の処理は、2つのフェーズを含んでいる。図13Aに示されたフェーズ0においては、CU1206に対応して入力されるモードとフェーズは、ともに0である。CU1206におけるROM1261の第1行は、制御信号として読み出される。CU1206からのアドレス信号は、ブロックB0に対して0であり、ブロックB1に対して1であり、ブロックB0の第1行における、状態0、1、2、3のPMデータ、及びB1の第2行における、状態8、9、10、11のPMデータは、PMSU1204から取り出される。これらのPMデータは、RU1201に並べ替えられる。RU1201の制御信号は、02461357であり、並べ替え後のデータ位置を示す。RU1201における並べ替え後、状態0及び状態8のPMデータは、PE901に渡され、状態1及び状態9のPMデータは、PE902に渡され、状態2及び状態10のPMデータは、PE903に渡され、状態3及び状態11のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、処理されたデータ0'、1'、2'、3'、4'、5'、6'、7'は、RU1202に渡される。制御信号は、0であるので、すべてのクロススイッチは、PMデータの入力時の順序を保持している。状態0'、1'、2'、3'、4'、5'、6'、7'のPMデータは、ブランク位置に格納される。状態0'、1'、2'、及び3'のPMデータは、ブロックB0の第1行に格納される。状態4'、5'、6'、7'のPMデータは、ブロックB1の第2行に格納される。
図13Bに示されたフェーズ1においては、CU1206に対応して入力されたモードは、0であり、フェーズは、1である。CU1206において、ROM1261の第2行は、制御信号として読み出される。CU1206からのアドレス信号は、ブロックB0に対して1であり、ブロックB1に対して0であり、ブロックB0の第2行における状態12、13、14、15のPMデータ、ブロックB1の第1行における状態4、5、6、7のPMデータは、PMSU1204から取り出される。これらのPMデータは、RU1201に並べ替えられる。RU1201に対する制御信号は、02461357であり、並べ替え後のデータ位置を示している。これは、RU0122における並べ替え後、状態14及び状態6のPMデータは、PE901に渡され、状態15及び状態7のPMデータは、PE904に渡され、状態12及び状態4のPMデータは、PE903に渡され、状態3及び状態11のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、処理された状態8'、9'、10'、11'、12'、13'、14'、15'は、RU1202に渡される。制御信号が1であるので、すべてのクロスオーバースイッチは、入力時の順序を変換する。状態12'、13'、14'、15'、8'、9'、10'、11'のPMデータは、ブランク位置に格納される。状態12'、13'、14'、15'のPMデータは、ブロックB0の第2行に格納される。状態8'、9'、10'、11'のPMデータは、ブロックB1の第1行に格納される。
2つのフェーズ後、1つのACS処理工程は、完了する。取り得る状態のPMデータは、オリジナル位置と比較して、異なる位置に格納される。図14Aに示されるように、ACS処理の第1工程の後は、PMSU1204におけるPMデータの格納位置パターンは、変更される。ACS処理の第2工程の後は、PMデータの格納位置は、PMSU1204におけるPMデータ1204のオリジナル位置に戻る。これら2つの種類の格納される位置パターンは、復号処理全体において、いずれか一方に現われる。
図13Cに示された第2の事例においては、取り得る状態は、最大格納位置の半分であり、それぞれのブロックにおいて、行の半分が占められている。状態0、1のPMデータは、ブロックB0の第1行に格納される。状態2、3に対応するPMデータは、ブロックB1の第1行に格納される。状態4、5のPMデータは、ブロックB1の第2行に格納される。状態6、7のPMデータは、ブロックB0の第2行に格納される。このように、2つのブロックの第1行が格納順序は、0、1、2、3であり、これらは、昇順になっている。2つのブロックの第2行における格納順序は、6、7、4、5であり、昇順の周期的シフトパターンである。
1つのACS工程の処理は、また、2つのフェーズを含んでいる。図13Cに示されたフェーズ0において、CU1206に対応して入力されたモードは1であり、フェーズは、0である。CU1206において、ROM1261の第3行は、制御信号として読み出される。CU1206からのアドレス信号は、ブロックB0に対して0であり、ブロックB1に対して1である。ブロックB0の第1行における状態0及び状態1のPMデータ、ブロックB1の第2行における状態4及び状態5のPMデータは、PMSU1204から取り出される。これらのPMデータは、RU1201で並べ替えられる。RU1201の制御信号は、0415であり、並べ替え後のデータ位置を示している。RU1201における並べ替え後、状態0及び状態4のPMデータは、PE901に渡され、状態1及び状態5のPMデータは、PE903に渡される。
ACSU702におけるACS処理後、状態0'、1'、2'、3'の処理されたPMデータは、RU1202に渡される。制御信号は、0であるので、すべてのクロススイッチは、PMデータの入力時の順序を保持する。状態0'、1'、2'、3'に対応するPMデータは、ブランク位置に格納される。状態0'及び状態1'に対応するPMデータは、ブロックB0の第1行に格納される。状態2'及び3'のPMデータは、ブロックB1の第2行に格納される。
図13Dに示されたフェーズ1において、CU1206に対応して入力されたモードとフェーズは、ともに1である。CU1206におけるROM1261の第4行は、制御信号として読み出される。CU1206からのアドレス信号は、ブロックB0に対して、1であり、ブロックB1に対して、0である。ブロックB0の第2行における状態6及び状態7のPMデータ、ブロックB1の第1行における状態2及び状態3のPMデータは、PMSU1204から取り出される。これらのPMデータは、RU1201に並べ替えられる。RU1201の制御信号は、0415であり、並べ替え後のデータの位置を示している。RU1201における並べ替え後、状態7及び状態3のPMデータは、PE901に渡され、状態6及び状態2のPMデータは、PE903に渡される。
ACSU702におけるACS処理後、処理されたPMデータ状態4'、5'、6'、7'の処理されたPMデータは、RU1202に渡される。制御信号は、1であるので、すべてのクロススイッチは、PMデータの入力時の順序を変換する。状態6'、7'、4'、5'の処理されたデータは、ブランク位置に格納される。状態6'及び状態7のPMデータは、ブロックB0の第2行に格納される。状態4'及び状態5'のPMデータは、ブロックB1の第1行に格納される。
2つのフェーズ後、1つのACS処理工程は、完了する。取り得る状態のPMデータは、異なる位置に格納される。図14Bに示されるように、ACS処理の第1工程後は、PMSU1204におけるPMデータの格納位置パターンは、変更される。ACS処理の第2工程の後は、PMデータの格納位置は、PMSU1204におけるPMデータ1204のオリジナル位置に戻る。これら2つの種類の格納される位置パターンは、復号処理全体において、いずれか一方に現われる。
(第3実施形態)
第3実施形態による情報処理装置1500が図15に示されている。CU1506は、構造に基づいたロジックゲートとして実現される。制御信号は、前もって格納されないが、モード及びフェーズに応じて、ロジックゲートによってリアルタイムに生成される。
RUは、さらにRU1501とRU1502の2つのパートに分割されている。
RU1501は、CU1506によって制御されるいくつかのスイッチによって実現される。CU1506からの信号により、スイッチは、所望のポートに接続され、データを並べ替えする。スイッチの数は、PE数と処理基数との積である。
RU1502は、いくつかのクロスバースイッチから構成されている。クロスバースイッチは、2つの入力及び2つの出力を有する。制御信号が0であるとき、入力データは、クロスバースイッチを入力方向に通過する。制御信号が1であるとき、入力データは、出力が入力の順序に変換することを意味するクロス方向にクロスバースイッチを通過する。
第3実施形態は、2つの事例の2つのモードにも適用する。第1の事例において、取り得る状態数は、16であり、PE数は、4である。第2の事例において、取り得る状態の数は、8であり、PEの数は、2である。この適応アーキテクチュアの設計は、最大要求を満足する。このように、ACSU702には、4つのPEがあり、PMSU1504には、16の格納位置がある。RU1501において、スイッチの数は、PEの数と処理基数との積である。従って、RU1501には、8つのスイッチがあり、RU1502には、4つのクロスバースイッチがある。CU1506は、RU1501において、8つの制御信号を供給し、ブロックB0及びブロックB1に2のアドレス信号を供給し、RU1502のクロスバースイッチの1つに制御信号を供給する必要がある。
CU1506における、A0、A1、A2、A4、A5は、2つの入力と1つの出力を伴った加算器である。M0及びM1は、モード信号によって、制御されるマルチプレクサーである。モードが0であるとき、出力は、左入力である。モードが1であるとき、出力は、右入力である。S0、S1、S2及びS3は、モード信号によって制御されたスイッチである。モードが0であるとき、スイッチは接続状態にある。モードが1であるとき、スイッチは、カットオフ状態にある。N0は、0から1または1から0に切り替えるインバータである。
第1の事例の第1のモードは、図16A及び図16Bに示されている。第2の事例の第2モードは、図16C及び図16Dに示されている。
第1の事例の図16Aにおいて、16の取り得る状態のPMデータは、処理前にPMSU1504における2つのブロックに格納される。状態0、1、2、3のPMデータは、ブロックB0の第1行に格納される。状態4、5、6、7のPMデータは、ブロックB1の第1行に格納される。状態8、9、10、11のPMデータは、ブロックB1の第2行に格納される。状態12、13、14、15のPMデータは、ブロックB0の第2行に格納される。このように、2つのブロックの第1行に格納順序は、0、1、2、3、4、5、6、7であり、昇順になっている。2つのブロックの第2行に格納順序は、12、13、14、15、8、9、10、11であり、昇順の周期的シフトパターンである。各ブロックでは、一度に読み出すことができるのは、そのブロックの一行のみである。
1つのACS工程の処理は、2つのフェーズを含んでいる。図16Aに示されたフェーズ0において、CU1506に対応して入力されたモードとフェーズは、ともに0である。M0及びM1は、左入力を選択する。S0、S1、S2及びS3は、接続状態である。CU1506は、ブロックB0に対して0であり、ブロックB1に対して1のアドレス信号を発生し、ブロックB0の第1行における状態0、1、2、3のPMデータ、ブロックB1の第2行における状態8、9、10、11のPMデータは、PMSU1504から取り出される。これらのデータは、RUに並べ替えられる。RU1501の制御信号は、02461357であり、並べ替え後のデータ位置を示す。RU1501における並べ替え後、状態0及び状態8に対応したPMデータは、PE901に渡され、状態1及び状態9に対応したPMデータは、PE902に渡され、状態2及び状態10に対応したPMデータは、PE903に渡され、状態3及び状態11に対応したPMデータは、PE904に渡される。
ACSU702におけるACS処理後、処理されたデータ0'、1'、2'、3'、4'、5'、6'、7'は、RU1502に渡される。制御信号は、0であるので、すべてのクロススイッチは、PMデータの入力時の順序を保持する。状態0'、1'、2'、3'、4'、5'、6'、7'のPMデータは、ブランク位置に格納される。状態0'、1'、2'、3'のPMデータは、ブロックB0の第1行に格納される。状態4'、5'、6'、7'のPMデータは、ブロックB1の第2行に格納される。
図16Bに示されたフェーズ1において、CU1506に対応して入力されたモードは0であり、フェーズは1である。M0及びM1は、左入力を選択する。S0、S1、S2及びS3は、接続状態である。CU1506は、ブロックB0に対して、1、ブロックB1に対して、0のアドレス信号を発生し、ブロックB0の第2行における状態12、13、14、15のPMデータ、ブロックB1の第1行における状態4、5、6、7のPMデータは、PMSU1504から取り出される。これらのPMデータは、RU1501に並べ替えられる。RU1501の制御信号は、02461357であり、並べ替え後のデータ位置を示している。RU1501における並べ替え後、状態14及び状態6に対応したPMデータは、PE901に渡され、状態15及び状態7に対応したPMデータは、PE902に渡され、状態12及び状態4に対応したPMデータは、PE903に渡され、状態3及び状態11のPMデータは、PE904に渡される。
ACSU702におけるACS処理後、状態8'、9'、10'、11'、12'、13'、14'、15'の処理されたPMデータは、RU1502に渡される。制御信号は、1であるので、すべてのクロスバースイッチは、入力時の順序を変換する。状態12'、13'、14'、15'、8'、9'、10'、11'の処理されたPMデータは、ブランク位置に格納される。状態12'、13'、14'、15'のPMデータは、ブロックB0の第2行に格納される。8'、9'、10'、11'のPMデータは、ブロックB1の第1行に格納される。
2つのフェーズ後、1つのACS処理工程は、完了する。取り得る状態のPMデータは、オリジナル位置と比較して、異なる位置に格納される。図14Aに示されるように、ACS処理の第1工程の後は、PMSU1504におけるPMデータの格納位置パターンは、変更される。ACS処理の第2工程後は、PMデータの格納位置は、PMSU1504におけるオリジナル位置に戻る。これら2つの種類の格納される位置パターンは、復号処理全体において、いずれか一方に現われる。
図16Cに第2の事例においては、取り得る状態は、最大格納位置の半分であり、それぞれのブロックにおいて、行の半分が占められている。状態0、1のPMデータは、ブロックB0の第1行に格納される。状態2、3のPMデータは、ブロックB1の第1行に格納される。状態4、5のPMデータは、ブロックB1の第2行に格納される。状態6、7のPMデータは、ブロックB0の第2行に格納される。このように、2つのブロックの第1行における格納順序は、0、1、2、3であり、昇順になっている。2つのブロックの第2行における格納順序は、6、7、4、5であり、昇順の周期的シフトパターンである。
1つのACS工程の処理は、また、2つのフェーズを含んでいる。図16Cに示されたフェーズ0において、CU1506に対応して入力モードは1であり、フェーズは、0である。M0及びM1は、右入力を選択する。S0、S1、S2、S3は、カットオフ状態である。CU1506は、ブロックB0に対して0、ブロックB1に対して1、アドレス信号を発生する。ブロックB0の第1行における状態0及び状態1のPMデータ、ブロックB1の第2行における状態4及び状態5のPMデータは、PMSU1504から取り出される。これらのPMデータは、RU1501に並べ替えられる。RU1501の制御信号は、1502であり、並べ替え後のデータ位置を示している。RU1501における並べ替え後、状態0及び状態4のPMデータは、PE901に渡され、状態1及び状態5のPMデータは、PE903に渡される。
ACSU702におけるACS処理後、状態0'、1'、2'、3'の処理されたPMデータは、RU1502に渡される。制御信号は、0であるので、すべてのクロススイッチは、PMデータの入力時の順序を保持する。状態0'、1'、2、3'のPMデータは、ブランク位置に格納される。状態0'及び状態1'のPMデータは、ブロックB0の第1行に格納される。状態2'及び状態3'のPMデータは、ブロックB1の第2行に格納される。
図16Dに示されたフェーズ1において、CU1506に対応して入力されたモードとフェーズは、ともに1である。M0及びM1は、右入力を選択する。S0、S1、S2、S3は、カットオフ状態である。CU1506は、ブロックB0に対して1、ブロックB1に対して0のアドレス信号を発生する。ブロックB0の第2行における状態6及び状態7のPMデータ、及びブロックB1の第1行における状態2及び状態3のPMデータは、PMSU1504から取り出される。これらのPMデータは、RU1501に並べ替えられる。RU1501の制御信号は、0415であり、並べ替え後のデータ位置を示している。RU1501における並べ替え後、状態7及び状態3のPMデータは、PE901に渡され、状態6及び状態2のPMデータは、PE903に渡される。
ACSU702におけるACS処理後、状態4'、5'、6'、7'の処理されたPMデータは、RU1502に渡される。制御信号は、1であるので、すべてのクロススイッチは、PMデータの入力時の順序を変換する。状態6'、7'、4'、5'のPMデータは、ブランク位置に格納される。状態6'及び状態7'のPMデータは、B0の第2行に格納される。状態4'及び5'のPMデータは、B1の第1行に格納される。
2つのフェーズ後、1つのACS処理工程は、完了する。取り得る状態のPMデータは、異なる位置に格納される。図14Bに示されるように、ACS処理の第1工程後は、PMSU1504におけるPMデータの格納位置パターンは、変更される。ACS処理の第2工程の後は、PMデータの格納位置は、PMSU1504におけるオリジナル位置に戻る。これら2つの種類の格納される位置パターンは、復号処理全体において、いずれか一方に現われる。
実装に基づいたロジックゲートは、実装に基づいたプロセッサによって容易に実現される。実装に基づいたプロセッサにおける唯一の相違は、制御信号がプロセッサによって生成されることである。
(その他の実施形態)
本発明は、いくつかの典型的な実施形態を参照して述べたが、本発明は、開示された典型的な実施形態に限定されないことに理解されるべきである。次のクレームの範囲は、すべてそのような修飾、等価構造及び機能を包含するために最も広い解釈と一致すべきである。
本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。本発明は、また、実施形態の機能を実現する制御プログラムがシステムあるいは装置に直接あるいは遠隔サイトから供給される場合にも適用可能である。従って、本発明の機能をコンピュータで実現するためにコンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理工程をコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体は、本発明の範疇に含まれる。

Claims (6)

  1. パスメトリックデータを第1ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じになるように第2ブロックに分割し、前記第2ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納するパスメトリック格納ユニットと、
    前記パスメトリックデータの位置を変えるため前記第2ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとする並べ替えユニットと、
    前記パスメトリックデータをビタビ復号器において制御するための制御ユニットと、
    を備えた情報処理装置。
  2. 前記制御ユニットは、前記パスメトリック格納ユニットにおけるブロックごとにアドレス信号を生成する請求項1に記載の情報処理装置。
  3. 前記制御ユニットは、前記並べ替えユニット用の制御信号を生成する請求項1又は2に記載の情報処理装置。
  4. 前記パスメトリック格納ユニットは、ランダムアクセスメモリである請求項1、2、又は3に記載の情報処理装置。
  5. パスメトリックデータを第1ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じになるように第2ブロックに分割し、前記第2ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納し、
    前記パスメトリックデータの位置を変えるため前記第2ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとし、
    前記パスメトリックデータをビタビ復号器において制御する情報処理方法。
  6. パスメトリックデータを第1ブロックに分割してビタビ復号器の処理基数に対応する行数になるように並べ替え、前記処理基数と同じになるように第2ブロックに分割し、前記第2ブロック間で同一の所定行数単位に巡回シフトをして得られたパスメトリックデータを格納し、
    前記パスメトリックデータの位置を変えるため前記第2ブロックの異なる行から前記パスメトリックデータを取り出し、一つの並びとし、
    前記パスメトリックデータをビタビ復号器において制御すること、をコンピュータに実行させるための情報処理プログラム。
JP2017549834A 2015-03-23 2015-03-23 情報処理装置、情報処理方法、及びプログラム Active JP6551534B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/059819 WO2016151868A1 (en) 2015-03-23 2015-03-23 Information processing apparatus, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2018509857A JP2018509857A (ja) 2018-04-05
JP6551534B2 true JP6551534B2 (ja) 2019-07-31

Family

ID=56979240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017549834A Active JP6551534B2 (ja) 2015-03-23 2015-03-23 情報処理装置、情報処理方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP6551534B2 (ja)
WO (1) WO2016151868A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3316724B2 (ja) * 1995-06-13 2002-08-19 日本電気エンジニアリング株式会社 ビタビ復号器
JPH10107651A (ja) * 1996-09-27 1998-04-24 Nec Corp ビタビ復号装置
JP3837913B2 (ja) * 1998-06-02 2006-10-25 株式会社デンソー ビタビ復号器
JP3515720B2 (ja) * 1999-11-22 2004-04-05 松下電器産業株式会社 ビタビ復号器
DE10010238C2 (de) * 2000-03-02 2003-12-18 Infineon Technologies Ag Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
US7020214B2 (en) * 2000-09-18 2006-03-28 Lucent Technologies Inc. Method and apparatus for path metric processing in telecommunications systems
WO2011111654A1 (ja) * 2010-03-08 2011-09-15 日本電気株式会社 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム

Also Published As

Publication number Publication date
JP2018509857A (ja) 2018-04-05
WO2016151868A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
US11424762B2 (en) Decoder for low-density parity-check codes
JP3515720B2 (ja) ビタビ復号器
US9413390B1 (en) High throughput low-density parity-check (LDPC) decoder via rescheduling
JP6327605B2 (ja) 可変シフタ、ldpc復号器、及びデータシフト方法
US20150236723A1 (en) Parallel VLSI architectures for constrained turbo block convolutional decoding
CN109981117B (zh) 一种四模前向纠错码处理器
EP1146652B1 (en) High speed coding apparatus for convolutional codes
JP6551534B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US7793200B1 (en) Method of and circuit for accessing a memory of a trellis decoder
US11575389B2 (en) Multi-standard low-density parity check decoder
US8635259B2 (en) Barrel shifter
US20040122883A1 (en) High speed add-compare-select circuit for radix-4 Viterbi decoder
Han et al. High performance Viterbi decoder using modified register exchange methods
JP2007214918A (ja) ビタビ復号回路および無線機
CN106452461A (zh) 一种通过矢量处理器实现viterbi解码的方法
Shung et al. Area-efficient architectures for the viterbi algorithm
KR100282966B1 (ko) 복호장치에서 엠엘상태 선택장치 및 방법
Muhammad et al. Low complexity FPGA implementation of register exchange based viterbi decoder
Cai et al. Efficient check node processing architectures for non-binary LDPC decoding using power representation
US20150254130A1 (en) Error correction decoder
Tavares et al. A dual-core programmable decoder for LDPC convolutional codes
Climent et al. Block Toeplitz matrices for burst-correcting convolutional codes
JP2012124888A (ja) 復号装置及び復号方法
Jarvinen et al. Systematic approach for path metric access in Viterbi decoders
JP4702721B2 (ja) ビタビ・メトリック計算のためのアドレッシング方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190617

R150 Certificate of patent or registration of utility model

Ref document number: 6551534

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150