(57)【特許請求の範囲】
【請求項１】
ターボ符号により符号化された符号化信号を復号する過程で行われるインターリーブ処理に際してデータを記憶するメモリ部と、
前記メモリ部にアクセスしてデータを読み書きするアクセス部とを有し、
前記メモリ部は、複数のメモリ回路を有し、前記複数のメモリ回路が連結されることで１つのメモリ空間として形成され、かつ、前記メモリ回路の組み合わせに応じて、PIL（Prunable  Prime  Interleaver）を用いてインターリーブ処理を実行する際に用いられる容量が各バンクに割り当てられるバンク構成であるPILバンク構成、又は、QPP（Quadratic  Permutation  Polynomial  Interleaver）を用いてインターリーブ処理を実行する際に用いられる容量が各バンクに割り当てられるバンク構成であるQPPバンク構成として機能し、
前記アクセス部は、前記符号化信号の通信方式に応じて、前記メモリ部を前記PILバンク構成又は前記QPPバンク構成のいずれかで機能させるかを選択し、選択したバンク構成に応じて前記メモリ部にアクセスすることを特徴とするターボ復号装置。
【請求項２】
前記アクセス部は、前記符号化信号を形成するデータを一意に識別する第１の識別情報を、前記メモリ空間における位置を一意に識別する第２の識別情報へと変換し、該第２の識別情報によって識別される位置へとアクセスすることを特徴とする請求項１に記載のターボ復号装置。
【請求項３】
前記アクセス部は、前記符号化信号を前記バンクの数で分割した後の分割符号化信号ごとに前記第１の識別情報を該バンク各々に割り当てておき、前記第１の識別情報を受信した場合に、受信した該第１の識別情報によって識別されるデータに対応するバンクを識別し、識別したバンクについての前記第２の識別情報に該第１の識別情報を変換し、該第２の識別情報によって識別される位置にアクセスすることを特徴とする請求項２に記載のターボ復号装置。
【請求項４】
ターボ符号により符号化された符号化信号を復号する過程で行われるインターリーブ処理に際してデータを記憶するメモリ部と、
前記メモリ部にアクセスしてデータを読み書きするアクセス部とを有し、
前記メモリ部は、複数のメモリ回路を有し、前記複数のメモリ回路が連結されることで１つのメモリ空間として形成され、かつ、前記メモリ回路の組み合わせに応じて、PIL（Prunable  Prime  Interleaver）を用いてインターリーブ処理を実行する際に用いられる容量が各バンクに割り当てられるバンク構成であるPILバンク構成、又は、QPP（Quadratic  Permutation  Polynomial  Interleaver）を用いてインターリーブ処理を実行する際に用いられる容量が各バンクに割り当てられるバンク構成であるQPPバンク構成として機能し、
前記アクセス部は、前記符号化信号の通信方式に応じて、前記メモリ部を前記PILバンク構成又は前記QPPバンク構成のいずれかで機能させるかを選択し、選択したバンク構成に応じて前記メモリ部にアクセスすることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターボ復号装置及び通信装置に関する。
【背景技術】
【０００２】
従来、移動体端末や基地局などの通信装置がデータを送受信する場合に用いる通信方式には、様々な方式がある。例えば、通信方式には、LTE（Long  Term  Evolution）やHSPA＋（High  Speed  Packet  Access＋）などがある。また、LTEやHSPA＋を用いる通信装置は、誤り訂正符号として、ターボ符号を用いる。
【０００３】
ターボ符号を用いる通信装置は、ターボ符号により符号化された信号を復号する過程において、インターリーブ処理やデインターリーブ処理を実行する。ここで、インターリーブ処理は、メモリに格納された信号の順番を並び替える処理である。また、デインターリーブ処理は、インターリーブ処理により並び替えられた順番を元に戻す処理である。
【０００４】
ターボ符号により符号化された信号を復号するターボ復号処理の一例について、更に説明する。例えば、通信装置は、信号（Ａ）を受信すると、受信した信号（Ａ）に対して復号処理を実行し、メモリに格納する。そして、通信装置は、信号（Ａ）に対してインターリーブ処理を実行し、インターリーブ処理後の信号（Ｂ）に対して復号処理を実行し、再びメモリに格納する。そして、通信装置は、信号（Ｂ）に対してデインターリーブ処理を実行し、デインターリーブ処理後の信号（Ｃ）に対して復号処理を実行し、改めてメモリに格納する。なお、信号（Ａ）と信号（Ｃ）とは、同じ順番になる。
【０００５】
ここで、インターリーブ処理やデインターリーブ処理のやり方は、ターボ符号のやり方によって異なる。また、ターボ符号のやり方は、通信方式ごとに異なる。このため、例えば、LTEとHSPA＋とは、それぞれ異なるインターリーブ処理やデインターリーブ処理を実行する。例えば、LTEを用いる通信装置は、「QPP（Quadratic  Permutation  Polynomial  Interleaver）」を用いる。一方、HSPA＋を用いる通信装置は、「PIL（Prunable  Prime  Interleaver）」を用いる。
【０００６】
また、ターボ復号処理を実行する場合に、複数のメモリに並行して読み書きを行うことで、復号処理を並行して実行する通信装置がある。例えば、通信装置は、信号を複数に分割し、分割後の各信号に対して並行して復号処理を実行する。ここで、復号処理を並行して実行する通信装置に搭載される各メモリの容量やメモリの数は、信号の最大サイズやインターリーブ処理やデインターリーブ処理のやり方、通信装置が並行して実行する処理数などによって異なる。
【０００７】
例えば、LTEとHSPA＋とでは信号の最大サイズが異なる結果、LTEを用いる通信装置に搭載されたメモリ各々と、HSPA＋を用いる通信装置に搭載されたメモリ各々とは、各メモリの容量やメモリの数が異なる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１３５８１３号公報
【特許文献２】特開２００８−２１９８９２号公報
【特許文献３】国際公開第２００６／０８２９２３号公報
【特許文献４】特開２００８−１１８６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、復号処理を並行して実行する通信装置には、複数の通信方式に対応することが望まれる。また、複数の通信方式に対応する上では、各通信方式において用いられるターボ復号処理に対応することが求められる。復号処理を並行して実行する通信装置に搭載されるメモリの容量や数は、通信方式ごとに異なることを踏まえ、通信方式ごとに別々のメモリを搭載する搭載装置が考えられる。
【００１０】
例えば、LTEとHSPA＋との両方に対応する通信装置を実現する場合には、搭載装置は、LTEにてターボ復号処理を実行する場合に用いるメモリ各々と、HSPA＋にてターボ復号処理を実行する場合に用いるメモリ各々とを別個に搭載する。
【００１１】
しかしながら、搭載装置では、通信方式ごとにメモリを別個に搭載することになり、メモリの搭載量が多くなるという課題があった。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、メモリの搭載量を抑えることが可能であるターボ復号装置及び通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
開示するターボ復号装置及び通信装置は、１つの態様において、ターボ符号により符号化された符号化信号を復号する過程で行われるインターリーブ処理に際してデータを記憶するメモリ部を有する。また、ターボ復号装置及び通信装置は、前記メモリ部にアクセスしてデータを読み書きするアクセス部を有する。また、前記メモリ部は、複数のメモリ回路を有し、前記複数のメモリ回路が連結されることで１つのメモリ空間として形成される。また、前記メモリ部は、前記メモリ回路の組み合わせに応じて第１の容量が各バンクに割り当てられる第１のバンク構成又は第２の容量が各バンクに割り当てられる第２のバンク構成として機能する。また、前記アクセス部は、前記符号化信号の通信方式に応じて、前記メモリ部を前記第１のバンク構成又は前記第２のバンク構成のいずれかで機能させるかを選択し、選択したバンク構成に応じて該メモリ部にアクセスする。
【発明の効果】
【００１４】
開示するターボ復号装置及び通信装置の１つの態様によれば、メモリの搭載量を抑えることが可能であるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係るターボ復号装置の構成の一例について説明するブロック図である。
【図２】図２は、実施例２に係るターボ復号装置の一例について簡単に説明する図である。
【図３】図３は、実施例２に係るターボ復号装置の構成の一例について説明するブロック図である。
【図４】図４は、受信データメモリが記憶する符号化信号の一例について説明する図である。
【図５】図５は、インターリーブメモリが複数のメモリ回路を有する点について説明する図である。
【図６Ａ】図６Ａは、通信方式としてHSPA＋を用いる場合に形成されるメモリ空間について説明する図である。
【図６Ｂ】図６Ｂは、通信方式としてLTEを用いる場合に形成されるメモリ空間について説明する図である。
【図７Ａ】図７Ａは、HSPA＋を用いた場合におけるバンク構成の一例について説明するための図である。
【図７Ｂ】図７Ｂは、LTEを用いた場合におけるバンク構成の一例について説明するための図である。
【図８Ａ】図８Ａは、HSPA＋を用いた場合において、複数のメモリ回路を用いてのバンク構成の一例について説明するための図である。
【図８Ｂ】図８Ｂは、LTEを用いた場合において、複数のメモリ回路を用いてのバンク構成の一例について説明するための図である。
【図９】図９は、各復号演算器が協働することで実行するターボ復号処理について説明する図である。
【図１０】図１０は、各復号演算器が協働することで実行するターボ復号処理について説明する図である。
【図１１】図１１は、実施例２における変換部の詳細について説明する図である。
【図１２Ａ】図１２Ａは、HSPA＋に対応づけられたバンク構成の一例について説明する図である。
【図１２Ｂ】図１２Ｂは、LTEに対応づけられたバンク構成の一例について説明する図である。
【図１３Ａ】図１３Ａは、HSPA＋を用いた各バンクに設定されるＡＤＲＭＩＮＩとＡＤＲＭＡＸとの一例について説明する図である。
【図１３Ｂ】図１３Ｂは、LTEを用いた場合に各バンクに設定されるＡＤＲＭＩＮＩとＡＤＲＭＡＸとの一例について説明する図である。
【図１４】図１４は、実施例２における物理アドレス算出部による変換処理について詳細に説明する図である。
【図１５】図１５は、実施例２に係るターボ復号装置の処理による流れの一例について説明するフローチャートである。
【図１６】図１６は、実施例２における変換部による処理の流れの一例について説明するフローチャートである。
【図１７】図１７は、実施例２における符号化信号割り当て処理の流れの一例について説明するフローチャートである。
【図１８】図１８は、実施例２におけるバンク構成選択処理の流れの一例について説明する図である。
【発明を実施するための形態】
【００１６】
以下に、開示するターボ復号装置及び通信装置の実施例を図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１７】
図１を用いて、実施例１に係るターボ復号装置１００の構成の一例について説明する。図１は、実施例１に係るターボ復号装置の構成の一例について説明するブロック図である。ターボ復号装置１００は、図１に示す例では、メモリ部１０１と、アクセス部１０２とを有する。
【００１８】
メモリ部１０１は、ターボ符号により符号化された符号化信号を復号する過程で行われるインターリーブ処理に際して、データを記憶する。また、メモリ部１０１は、複数のメモリ回路１１０を有し、複数のメモリ回路１１０が連結されることで１つのメモリ空間として形成される。また、メモリ部１０１は、メモリ回路１１０の組み合わせに応じて、第１の容量が各バンクに割り当てられる第１のバンク構成１１１又は第２の容量が各バンクに割り当てられる第２のバンク構成１１２として機能する。
【００１９】
アクセス部１０２は、メモリ部１０１にアクセスしてデータを読み書きする。また、アクセス部１０２は、符号化信号の通信方式に応じて、メモリ部１０１を第１のバンク構成１１１又は第２のバンク構成１１２のいずれかで機能させるかを選択し、選択したバンク構成に応じてメモリ部１０１にアクセスする。
【００２０】
すなわち、復号処理を並行して実行する通信装置に搭載されるメモリの容量や数は、通信方式ごとに異なることを踏まえ、ターボ復号装置１００は、細分化された複数のメモリ回路１１０を有する。そして、ターボ復号装置１００は、通信方式に応じてメモリ回路１１０の組み合わせ方を変更することで、各バンクの容量やバンクの数を変更する。この結果、実施例１によれば、通信方式ごとにメモリを用意することなく、メモリの搭載量を抑えることが可能である。
【実施例２】
【００２１】
次に、実施例２に係るターボ復号装置２００について説明する。以下では、まず、ターボ復号装置２００の全体像について簡単に説明した後に、ターボ復号装置２００の構成、処理、効果について順に説明する。
【００２２】
［ターボ復号装置の全体像］
ターボ復号装置の全体像について簡単に説明する。まず、図２を用いて、実施例２に係るターボ復号装置２００の一例について簡単に説明する。図２は、実施例２に係るターボ復号装置の一例について簡単に説明する図である。
【００２３】
図２について簡単に説明する。図２のＵＥ（User  Equipment）４０１は、移動体端末である。図２のｅＮＢ（evolutional  Node  B）４０２は、基地局である。図２のａＧＷ（ＲＮＣ）（Access  Gateway（Radio  Network  Controller））４０３は、ゲートウェイ装置である。図２において、ＵＥ４０１とｅＮＢ４０２とは、無線通信を介して符号化信号を送受信する。また、ａＧＷ（ＲＮＣ）４０３は、複数あるｅＮＢ４０２間におけるデータの送受信を中継する。ここで、ＵＥ４０１とｅＮＢ４０２とは、それぞれ、符号化信号を送受信するＲＦ部４１１と、符号化信号を復号する処理であるターボ復号処理を行うＬ１部４１２とを有する。また、ＵＥ４０１とｅＮＢ４０２とは、それぞれ、Ｌ２レイヤにおける処理を実行するＬ２部４１３と、Ｌ３レイヤにおける処理を実行するＬ３部４１４と、各種アプリケーションを実行するアプリ４１５とを有する。
【００２４】
ここで、ターボ復号装置２００は、ターボ復号処理を行う。すなわち、図２に示す例では、ターボ復号装置２００は、ＵＥ４０１やｅＮＢ４０２が該当する。より詳細には、ターボ復号装置２００は、ＵＥ４０１やｅＮＢ４０２が有するＬ１部４１１に適用される。なお、図２に示す例では、ターボ復号装置２００は、ＵＥ４０１とｅＮＢ４０２とが該当する場合を例に説明したが、本発明はこれに限定されるものではない。例えば、ａＧＷ（ＲＮＣ）４０３がターボ復号処理を実行する場合には、ターボ復号装置２００は、ａＧＷ（ＲＮＣ）４０３も該当する。また、ターボ復号装置２００は、ターボ復号処理を行う装置であれば、どのような装置でも良い。
【００２５】
また、ターボ復号装置２００が実行するターボ復号処理について簡単に説明する。ターボ復号装置２００は、符号化信号（Ａ）を受信すると、受信した符号化信号（Ａ）に対して復号処理を実行し、メモリに格納する。そして、ターボ復号装置２００は、符号化信号（Ａ）に対してインターリーブ処理を実行し、インターリーブ処理後の信号（Ｂ）に対して復号処理を実行し、再びメモリに格納する。そして、ターボ復号装置２００は、信号（Ｂ）に対してデインターリーブ処理を実行し、デインターリーブ処理後の信号（Ｃ）に対して復号処理を実行し、改めてメモリに格納する。
【００２６】
また、ターボ復号装置２００は、複数の通信方式に対応する。例えば、ターボ復号装置２００は、通信方式としてLTE（Long  Term  Evolution）やHSPA＋（High  Speed  Packet  Access＋）に対応する。また、ターボ復号装置２００は、ターボ復号処理を実行する場合に、複数のメモリに並行して読み書きを行うことで、復号処理を並行して実行する。具体的には、ターボ復号装置２００は、符号化信号を複数に分割し、分割後の各信号に対して並行して復号処理を実行する。以下では、特に言及しない限り、ターボ復号装置２００が１６個の復号処理を並列して実行する場合を例に説明するが、本発明はこれに限定されるものではない。例えば、ターボ復号装置２００は、１５個以下の復号処理を並列して実行しても良く、１７個以上の復号処理を並列して実行しても良く、任意の数の復号処理を並列して実行して良い。
【００２７】
また、ターボ復号装置２００の構成について説明する際に詳述するように、ターボ復号装置２００は、複数のメモリを有し、通信方式に応じてメモリの組み合わせ方を変更することで各メモリバンクの容量や数を変更する。これにより、ターボ復号装置２００は、同じメモリを用いて、異なる方式のインターリーブ処理やデインターリーブ処理を実行することが可能である。
【００２８】
［ターボ復号装置の構成］
図３を用いて、実施例２に係るターボ復号装置２００の構成の一例について説明する。図３は、実施例２に係るターボ復号装置の構成の一例について説明するブロック図である。ターボ復号装置２００は、図３に示す例では、受信データメモリ２０１と、インターリーブメモリ２０２と、復号演算部２１１と、変換部２１２と、アクセス選択部２１３と、出力制御部２１４とを有する。
【００２９】
以下では、ターボ復号装置２００は、LTEとHSPA＋とに対応する場合を例に用いて、説明するが、本発明はこれに限定されるものではない。例えば、ターボ復号装置２００は、LTEとHSPA＋とに加えて、他の通信方式に対応しても良い。また、例えば、ターボ復号装置２００は、LTEとHSPA＋とのうちいずれか一方と、LTEやHSPA＋以外の通信方式に対応しても良い。また、ターボ復号装置２００は、LTEやHSPA＋には対応せず、LTEやHSPA＋以外の通信方式に複数対応しても良い。
【００３０】
図３の説明に戻る。受信データメモリ２０１は、復号演算部２１１と接続される。受信データメモリ２０１は、例えば、ＲＡＭ（Random  Access  Memory）やフラッシュメモリ（Flash  Memory）などの半導体メモリ素子が該当する。受信データメモリ２０１は、ターボ復号装置２００が受信した符号化信号を記憶する。また、受信データメモリ２０１によって記憶された符号化信号は、復号演算部２１１によって取得される。
【００３１】
図４を用いて、受信データメモリ２０１が記憶する符号化信号の一例について説明する。図４は、受信データメモリが記憶する符号化信号の一例について説明する図である。図４に示す例では、符号化信号のデータサイズが「３２００ワード（ｗｏｒｄ）」である場合を例に示した。なお、ワードとは、データサイズを表す単位として使われる単語である。以下では、符号化信号を形成するデータ各々を一意に識別する情報を「論理アドレス」と記載する。すなわち、図４に示す例では、「３２００ワード」の符号化信号を形成するデータの論理アドレスは、「０」から「３１９９」になる。なお、論理アドレスは、「第１の識別情報」とも称する。
【００３２】
以下では、特に言及しない限り、図４に示すように、ターボ復号装置２００が、３２００ワードの符号化信号を受信した場合を例に説明する。すなわち、受信データメモリ２０１が、３２００ワードの符号化信号を記憶した場合を例に説明する。なお、以下では、ターボ復号装置２００が、３２００ワードの符号化信号を受信した場合を例に説明するが、本発明はこれに限定されるものではない。例えば、３２００ワードより大きなサイズの符号化信号を受信しても良く、３２００ワードより小さなサイズの符号化信号を受信しても良い。
【００３３】
なお、ターボ復号装置２００が受信する符号化信号のサイズは、送受信されるデータごとに異なる。また、符号化信号の最大サイズは、通信方式によって決定される。例えば、LTEを用いてデータの送受信を行う場合には、符号化信号の最大サイズは「６１４０ワード」であり、ターボ復号装置２００は、「０〜６１４０ワード」の符号化信号を受信する。また、例えば、HSPA＋を用いてデータの送受信を行う場合には、符号化信号の最大サイズは「５１２０ワード」であり、ターボ復号装置２００は、「０〜５１２０ワード」の符号化信号を受信する。
【００３４】
図３の説明に戻る。インターリーブメモリ２０２は、アクセス選択部２１３及び出力制御部２１４と接続される。インターリーブメモリ２０２は、例えば、ＲＡＭやフラッシュメモリなどの半導体メモリ素子が該当する。
【００３５】
インターリーブメモリ２０２は、符号化信号を復号する過程で行われるインターリーブ処理に際してデータを記憶する。具体的には、インターリーブメモリ２０２は、複数のメモリ回路を有し、複数のメモリ回路が連結されることで１つのメモリ空間として形成される。
【００３６】
図５を用いて、インターリーブメモリ２０２が複数のメモリ回路を有する点について説明する。図５は、インターリーブメモリが複数のメモリ回路を有する点について説明する図である。図５のＲＡＭ各々は、メモリ回路を示す。以下では、「ＲＡＭｎＳ」（ｎは自然数）は１２８ワードの容量を有し、「ＲＡＭｎＬ」（ｎは自然数）は２５６ワードの容量を有し、「ＲＡＭｎＸＬ」（ｎは自然数）は３８４ワードの容量を有するものとして説明する。なお、以下では、同じ容量を有するメモリ回路のうち、「ｎ」が同一の数字である場合には、同じメモリ回路を示すものとして説明する。
【００３７】
図５に示す例では、インターリーブメモリ２０２は、容量が異なる複数種類のメモリ回路を有する。例えば、インターリーブメモリ２０２は、「ＲＡＭ０Ｓ」〜「ＲＡＭ９Ｓ」や、「ＲＡＭ０Ｌ」〜「ＲＡＭ２Ｌ」、「ＲＡＭ０ＸＬ」〜「ＲＡＭ１ＸＬ」などを有する。なお、図５に示す例では、容量が異なる複数種類のメモリ回路を有する場合を例に説明したが、本発明はこれに限定されるものではない。例えば、インターリーブメモリ２０２は、容量が同じメモリ回路を選択的に有しても良い。
【００３８】
図６Ａと図６Ｂとを用いて、複数のメモリ回路が連結されることで１つのメモリ空間として形成される点について説明する。図６Ａは、通信方式としてHSPA＋を用いる場合に形成されるメモリ空間について説明する図であり、図６Ｂは、通信方式としてLTEを用いる場合に形成されるメモリ空間について説明する図である。図６Ａや図６ＢのＲＡＭ各々は、インターリーブメモリ２０２が有するメモリ回路を示す。なお、以下では、インターリーブメモリ２０２に形成されるメモリ空間の位置を一意に識別する情報を「物理アドレス」と記載する。また、以下では、１つの物理アドレスが１ワードのデータに対応するものとして説明する。なお、物理アドレスは、「第２の識別情報」とも称する。
【００３９】
HSPA＋を用いる場合には、符号化信号の最大サイズが「５１２０ワード」であることを踏まえ、図６Ａに示すように、インターリーブメモリ２０２には、「５１２０ワード」の容量を有するメモリ空間が形成される。すなわち、後述するように、変換部２１２によって、「０」から「５１１９」までの物理アドレスがメモリ回路各々に付与されることで、インターリーブメモリ２０２には、「５１２０ワード」の容量を有するメモリ空間が形成される。例えば、図６Ａに示す例では、「ＲＡＭＯＬ」には、物理アドレス「０」〜「２５５」が付与され、「ＲＡＭ０Ｓ」には、物理アドレス「２５６」〜「３８３」が付与された場合を例に示した。
【００４０】
LTEを用いる場合には、符号化信号の最大サイズが「６１４０ワード」であることを踏まえ、図６Ｂに示すように、インターリーブメモリ２０２には、「６１４０ワード」の容量を有するメモリ空間が形成される。
【００４１】
また、インターリーブメモリ２０２に形成されたメモリ空間は、複数のバンクを用いて形成される。また、各バンクは、それぞれ別のメモリ回路を用いて実現される。例えば、図６Ａでは、インターリーブメモリ２０２に形成されたメモリ空間は、バンク「バンク♯０」〜「バンク♯１９」を用いて実現された場合を例に示した。また、図６Ａに示す例では、「バンク♯０」はＲＡＭ０Ｌを用いて実現され、「バンク♯１」はＲＡＭ０ＳとＲＡＭ１Ｓとを用いて実現された場合を例に示した。また、図６Ｂでは、「バンク♯０」〜「バンク♯１５」を用いてメモリ空間が形成された場合を例に示した。
【００４２】
ここで、各バンクは別個のメモリ回路を用いて形成され、ターボ復号装置２００は、各バンクに並行してアクセスしてデータを読み書きする。なお、図６Ａや図６Ｂでは、それぞれ、バンク数が２０個と１６個になる場合を例を示したが、本発明はこれに限定されるものではなく、任意の数であって良い。
【００４３】
また、インターリーブメモリ２０２は、メモリ回路の組み合わせに応じて、第１の容量が各バンクに割り当てられる第１のバンク構成として機能し、又は、第２の容量が各バンクに割り当てられる第２のバンク構成として機能する。
【００４４】
図７Ａ及び図７Ｂを用いて、通信方式それぞれに対応するバンク構成の一例について説明する。図７Ａは、HSPA＋を用いた場合におけるバンク構成の一例について説明する図であり、図７Ｂは、LTEを用いた場合におけるバンク構成の一例について説明する図である。図７Ａの５００〜５０５や図７Ｂの５２０〜５２４は、バンク各々を示す。また、各バンクには、バンクの容量を併せて示した。
【００４５】
HSPA＋を用いる場合について説明する。図７Ａでは、インターリーブメモリ２０２には、２０個のバンクが形成され、各バンクに２５６ワードの容量が割り当てられる場合を例に示した。HSPA＋を用いる場合には、バンク数として「５」「１０」「２０」などの数字が用いられることが多い。ここで、実施例２では、上述したように、ターボ復号装置２００は、１６個の復号処理を並列して実行する場合を用いて説明することを踏まえ、図７Ａに示す例では、「１６」より大きいバンク数である２０を用いる場合を例に示した。また、各バンクに割り当てられる容量は、通信方式において送受信される最大サイズをバンク数で除算した値が該当する。例えば、バンク数が「２０」で最大サイズが「５１２０ワード」である場合には、「５１２０÷２０＝２５６」になる。
【００４６】
また、LTEを用いる場合について説明する。図７Bでは、インターリーブメモリ２０２には、１６個のバンクが形成され、各バンクに３８４ワードの容量が割り当てられる場合を例に示した。なお、LTEの場合には、バンク数として、「５」「１０」「２０」などの数字が用いられることが多いということはないことを踏まえ、図７Ｂに示す例では、バンク数として、ターボ復号装置２００が復号処理を並列して実行する数「１６」を用いた。なお、図７Ａや図７Ｂでは、それぞれ、バンク数が２０個と１６個になる場合を例を示したが、本発明はこれに限定されるものではなく、任意の数であって良い。
【００４７】
図８Ａ及び図８Ｂを用いて、複数のメモリ回路を用いてのバンク構成の一例について説明する。図８Ａは、HSPA＋を用いた場合において、複数のメモリ回路を用いてのバンク構成の一例について説明するための図であり、図７Ａに対応する。図８Ｂは、LTEを用いた場合において、複数のメモリ回路を用いてのバンク構成の一例について説明するための図であり、図７Ｂに対応する。図８Ａの５４０〜５４８や図８Ｂの５６０〜５６５は、バンク各々を示す。また、図８Ａや図８Ｂの「ＲＡＭｎＳ」「ＲＡＭｎＬ」「ＲＡＭｎＸＬ」（ｎは自然数）は、それぞれインターリーブメモリ２０２が有するメモリ回路を示す。
【００４８】
HSPA＋を用いる場合について説明する。つまり、複数のメモリ回路を用いて、図７Ａに示したバンク構成を実現する場合について説明する。この場合、図８Ａに示すように、各バンクは、例えば、１２８ワードの容量を有する「ＲＡＭｎＳ」を２個用いることで実現され、あるいは、２５６ワードの容量を有する「ＲＡＭｎＬ」を１つ用いることで実現される。
【００４９】
LTEを用いる場合について説明する。つまり、複数のメモリ回路を用いて、図７Ｂに示したバンク構成を実現する場合について説明する。この場合、図８Ｂに示すように、各バンクは、例えば、１２８ワードの容量を有する「ＲＡＭｎＳ」を３個用いることで実現される。また、各バンクは、例えば、２５６ワードの容量を有する「ＲＡＭｎＬ」を１つと、１つの「ＲＡＭｎＳ」とを用いることで実現される。また、各バンクは、３８４ワードの容量を有する「ＲＡＭｚＸＬ」を１つ用いることで実現される。
【００５０】
図８Ａや図８Ｂに示すように、HSPA＋を用いる場合であっても、LTEを用いる場合であっても、インターリーブメモリ２０２は、同じメモリ回路を用いる。例えば、図８Ａの「バンク♯０」に用いられたＲＡＭ０Ｌと、図８Ｂの「バンク♯０」に用いられたＲＡＭ０Ｌとは同一のメモリ回路である。
【００５１】
ここで、各メモリ回路に付与される物理アドレスについて説明する。上述したように、インターリーブメモリ２０２には、複数のメモリ回路が連結されることで１つのメモリ空間として形成され、一連の物理アドレスが予め付与される。具体的には、ターボ復号装置２００にて用いられるバンク構成を考慮した上で、一連の物理アドレスが予めメモリ回路各々に付与される。より詳細には、バンク構成それぞれにおける各バンクの容量を考慮した上で、一連の物理アドレスを付与する。ここで、メモリ回路各々に対して付与された物理アドレスは、バンク構成に係わらず、同一になる。なお、メモリ回路各々は、予め一連の物理アドレスが付与される。
【００５２】
ここで、各バンクの容量が「２５６ワード」になるバンク構成と、各バンクの容量が「３８４ワード」になるバンク構成とを用いる場合を例に説明する。ここで、各バンクは異なるメモリ回路で実現されることを踏まえ、「２５６ワード」ごとに異なるメモリ回路になり、「３８４ワード」ごとに異なるメモリ回路になるように、メモリ回路各々には、一連の物理アドレスが付与される。例えば、２５６ワード、３８４ワード、５１２ワード（２５６×２）、７６８ワード（２５６×３あるいは３８４×２）などの段階において、メモリ回路が変わるように、メモリ回路各々に一連の物理アドレスを付与する。
【００５３】
図５に示す例を用いて説明すると、インターリーブメモリ２０２では、図５に示したメモリ回路各々のうち上に記載されたメモリ回路から下に記載されたメモリ回路へと、順に、一連の物理アドレスが付与される。より詳細には、インターリーブメモリ２０２では、ＲＡＭ０Ｌに対して物理アドレス「０〜２５５」が付与され、ＲＡＭ０Ｓに対して物理アドレス「２５６〜３８３」が付与される。また、同様に、ＲＡＭ１Ｓ、ＲＡＭ２Ｓ、ＲＡＭ３Ｓ、ＲＡＭ１Ｌ、ＲＡＭ４Ｓ、ＲＡＭ５Ｓ、ＲＡＭ６Ｓ、ＲＡＭ７Ｓ、ＲＡＭ２Ｌ、ＲＡＭ８Ｓ、ＲＡＭ９Ｓの順に、一連の物理アドレスがそれぞれ付与される。
【００５４】
つまり、図５に示す例では、一連の物理アドレスを付与されるメモリ回路は、２５６ワードの段階でＲＡＭ０ＬからＲＡＭ０Ｓに切り替わり、３８４ワードの段階でＲＡＭ０ＳからＲＡＭ１Ｓに切り替わる。このように、各バンクの容量を考慮した上で、メモリ回路各々に対して、バンク構成に関係なく用いられる一連の物理アドレスを付与する。この結果、変換部２１２について説明する際に詳述するように、バンク構成が変わったとしても、インターリーブメモリ２０２にアクセスする際の処理を同じように実行することが可能である。
【００５５】
図３の説明に戻る。復号演算部２１１は、受信データメモリ２０１及び変換部２１２と接続される。復号演算部２１１は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００５６】
復号演算部２１１は、複数の処理部を有する。図３に示す例では、復号演算部２１１は、復号演算器♯０〜復号演算器♯ｎ−１を有する。以下では、特に言及しない限り、復号演算部２１１が１６個の復号演算器を有する場合を例に説明する。つまり、復号演算部２１１では、１６個の復号演算器がそれぞれ並行して処理を実行することで、１６個の復号処理を並行して実行する。なお、以下では、復号演算部２１１が１６個の復号演算器を有する場合を例に説明するが、本発明はこれに限定されるものではなく、任意の数の復号演算器を用いて良い。
【００５７】
復号演算部２１１は、受信データメモリ２０１に符号化信号が格納されると、符号化信号を読み出し、読み出した符号化信号に対してターボ復号処理を実行する。具体的には、復号演算部２１１では、各復号演算器が協働することで、ターボ復号処理を実行する。そして、復号演算部２１１は、ターボ復号処理により復号された符号化信号をインターリーブメモリ２０２に格納する。
【００５８】
各復号演算器が協働することで実行されるターボ復号処理について、更に説明する。図９及び図１０は、各復号演算器が協働することで実行するターボ復号処理について説明する図である。図９には、受信データメモリ２０１と、受信データメモリ２０１に記憶された符号化信号と、復号演算器各々を示した。また、図９の６００〜６０２は、符号化信号を復号演算器の数で分割した部分各々を示す。つまり、符号化信号のデータ容量が３２００ワードであり、復号演算器の数が１６個である場合には、各部分のサイズは「２００」になる。図１０には、復号演算器各々と、インターリーブメモリ２０２とを示した。また、インターリーブメモリ２０２にはバンクを明示した。図１０に示す例では、図７Ｂや図８Ｂに示したように、バンク数が１６であり、各バンクの容量が３８４ワードである場合を例に用いた。また、図１０の６１０〜６１２は、各バンクのうちデータが格納された部分を示し、図１０の６２０〜６２２は、各バンクのうちデータが格納されていない空きの部分を示す。
【００５９】
この場合、図９に示すように、各復号演算器は、受信データメモリ２０１から、符号化信号（１）を１／１６ずつ読みだし、並行して復号処理を実行する。つまり、各復号演算器は、自回路が担当する部分の符号化信号（１）を読み出し、読み出した部分に対して復号処理を実行する。例えば、復号演算器♯０は、符号化信号（１）を１／１６分割したうちの１つである６００を読み出して復号処理を実行する。同様に、復号演算器♯１や♯１５は、それぞれ、６０１や６０２を読み出して復号処理を実行する。
【００６０】
また、図１０に示すように、復号演算部２１１は、復号処理を実行した後の符号化信号（２）を、インターリーブメモリ２０２に格納する。具体的には、各復号演算器は、復号処理を実行した後の符号化信号（２）を、並行して各バンクに格納する。例えば、図１０の６１０に示すように、復号演算器♯０は、自回路が復号処理を実行した部分の符号化信号（２）をバンク♯０に格納する。同様に、図１０の６１１や６１２に示すように、復号演算器♯１や♯１５は、それぞれ、バンク♯１やバンク♯１５に格納する。この結果、図１０に示すように、各バンクには、２００ワードのデータが格納される。
【００６１】
また、各復号演算器は、インターリーブメモリ２０２に格納した符号化信号（２）に対して、インターリーブ処理を実行する。そして、各復号演算器は、インターリーブ処理後である符号化信号（３）に対して復号処理を実行し、復号処理を実行した後の符号化信号（４）を再びインターリーブメモリ２０２に格納する。つまり、各復号演算器は、インターリーブメモリ２０２に格納した符号化信号の順番を入れ替えた上で、順番が入れ替えられた符号化信号（３）をそれぞれ１／１６ずつ読みだし、復号処理を並行して実行する。そして、各復号演算器は、自回路が復号処理を実行した部分の符号化信号（４）を並行して格納する。
【００６２】
また、各復号演算器は、インターリーブメモリ２０２に格納した符号化信号（４）に対して、デインターリーブ処理を実行する。そして、各復号演算器は、デインターリーブ処理後である符号化信号（５）に対して復号処理を実行し、復号処理を実行した後の符号化信号（６）を改めてインターリーブメモリ２０２に格納する。つまり、各復号演算器は、順番が元に戻された符号化信号（５）をそれぞれ１／１６ずつ読みだし、復号処理を並行して実行する。そして、各復号演算器は、自回路が復号処理を実行した部分の符号化信号（６）をインターリーブメモリ２０２に格納する。
【００６３】
また、各復号演算器は、インターリーブ処理とデインターリーブ処理とを所定の回数繰り返したかを判定する。ここで、各復号演算器は、繰り返していないと判定すると、復号処理とインターリーブ処理とデインターリーブ処理とを再度実行する。一方、各復号演算器は、所定の回数繰り返したと判定すると、ターボ復号処理を終了する。ターボ復号処理が終了した時点において、ターボ復号処理が実行された後の符号化信号がインターリーブメモリ２０２に格納された状態になる。なお、各復号演算器は、例えば、インターリーブ処理とデインターリーブ処理とをそれぞれ８回ずつ繰り返す。なお、インターリーブ処理とデインターリーブ処理とを繰り返す回数は、８回に限定されるものではなく、例えば、７回以下でも良く、９回以上でも良く、任意の数であって良い。
【００６４】
復号演算部２１１は、図３に示すように、インターリーブメモリ２０２にアクセスする場合には、変換部２１２やアクセス選択部２１３を介してアクセスする。具体的には、復号演算部２１１がアクセスする場合には、変換部２１２によって、論理アドレスが物理アドレスに変換され、変換された物理アドレスによって識別される位置へとアクセスする。また、その際には、アクセス選択部２１３が、同じメモリ回路に対して同時にアクセスが行われないようにアクセスを制御する。
【００６５】
図３の説明に戻る。変換部２１２は、復号演算部２１１及びアクセス選択部２１３と接続される。変換部２１２は、例えば、ＡＳＩＣやＦＰＧＡ、ＣＰＵ、ＭＰＵなどの電子回路である。
【００６６】
変換部２１２は、複数の変換器を有する。図３に示す例では、変換部２１２は、変換器♯０〜変換器♯ｎ−１を有する。以下では、特に言及しない限り、変換部２１２が１６個の変換器を有する場合を例に説明する。つまり、また、変換器♯０〜変換器♯１５は、それぞれ、復号演算器♯０〜復号演算器♯１５と接続され、接続された復号演算器についての処理を実行するものとして説明する。なお、以下では、変換部２１２は、１６個の変換器を有する場合を例に説明するが、本発明はこれに限定されるものではなく、任意の数の変換器を用いて良い。
【００６７】
なお、図３に示す例では、復号演算部２１１と変換部２１２とが別の構成部である場合を例に説明したが、本発明はこれに限定されるものではない。例えば、復号演算部２１１と変換部２１２とが統合されても良い。
【００６８】
図１１を用いて、変換部２１２の詳細について説明する。図１１は、実施例２における変換部の詳細について説明する図である。図１１では、変換部２１２が有する各部について詳細に示した上で、説明の便宜上、復号演算器と、アクセス選択部２１３とを併せて示した。図１１に示す例では、変換部２１２は、変換器３０１＃０〜変換器３０１＃１５に加えて、アドレスオフセット算出部３００を有する。
【００６９】
アドレスオフセット算出部３００は、変換器各々のバンク選択部３１１及び物理アドレス算出部３１２と接続される。また、アドレスオフセット算出部３００は、以下に説明するように、第１のバンク構成又は第２のバンク構成のいずれかで機能させるかを選択する。また、アドレスオフセット算出部３００は、符号化信号をバンク各々に割り当てる。
【００７０】
まず、アドレスオフセット算出部３００について、第１のバンク構成又は第２のバンク構成のいずれかで機能させるかを選択する処理について説明する。アドレスオフセット算出部３００は、符号化信号の通信方式に応じて、インターリーブメモリ２０２を第１のバンク構成又は第２のバンク構成のいずれかで機能させるかを選択する。
【００７１】
例えば、アドレスオフセット算出部３００は、通信方式ごとにバンク構成を予め記憶する。その上、アドレスオフセット算出部３００は、ターボ復号装置２００を利用する他の装置や利用者によって通信方式が通知されると、通知された通信方式に対応するバンク構成を選択する。例えば、アドレスオフセット算出部３００は、通信方式がHSPA＋である場合には、HSPA＋に対応するバンク構成を選択し、通信方式がLTEである場合には、LTEに対応するバンク構成を選択する。
【００７２】
図１２Ａと図１２Ｂとを用いて、アドレスオフセット算出部３００が記憶するバンク構成の一例について説明する。図１２Ａは、HSPA＋に対応づけられたバンク構成の一例について説明する図である。また、図１２Ｂは、LTEに対応づけられたバンク構成の一例について説明する図である。図１２Ａと図１２Ｂとに示すように、アドレスオフセット算出部３００は、通信方式ごとに、各バンクにおける最初の物理アドレスを示す「アドレスオフセット」を記憶する。なお、図１２Ａと図１２Ｂとでは、アドレスオフセットを「ＡＤＲＯＦＳ」と記載した。各バンクのＡＤＲＯＦＳは、１つ前のバンクにおける最後の物理アドレスに「１」を加えた値になる。例えば、バンク＃０の物理アドレスが「０〜２５５」である場合に、バンク＃１のＡＤＲＯＦＳが「２５６」になる。
【００７３】
例えば、図１２Ａに示すように、アドレスオフセット算出部３００は、HSPA＋に対応付けられたバンク構成の一例として、バンク＃０に対応付けてＡＤＲＯＦＳ「０」を記憶し、バンク＃１に対応付けてＡＤＲＯＦＳ「２５６」を記憶する。また、同様に、アドレスオフセット算出部３００は、バンク＃２〜バンク＃１９についても、ＡＤＲＯＦＳを記憶する。すなわち、図１２Ａに示す例では、アドレスオフセット算出部３００は、通信方式が「HSPA＋」である場合に、各バンクに付与された物理アドレスのうち、はじめの物理アドレスを記憶する。例えば、アドレスオフセット算出部３００は、バンク＃０の物理アドレスが「０」からはじめることを記憶し、バンク＃１の物理アドレスが「２５６」からはじめることを記憶する。
【００７４】
また、例えば、図１２Ｂに示す例では、アドレスオフセット算出部３００は、LTEに対応付けられたバンク構成の一例として、バンク＃０に対応付けてＡＤＲＯＦＳ「０」を記憶し、バンク＃１に対応付けてＡＤＲＯＦＳ「３８４」を記憶する。また、同様に、アドレスオフセット算出部３００は、バンク＃２〜バンク＃１５についても、ＡＤＲＯＦＳを記憶する。すなわち、図１２Ｂに示す例では、アドレスオフセット算出部３００は、通信方式が「LTE」である場合に、各バンクに付与された物理アドレスのうちはじめの物理アドレスを記憶する。例えば、アドレスオフセット算出部３００は、バンク＃０の物理アドレスが「０」からはじめることを記憶し、バンク＃１の物理アドレスが「３８４」からはじめることを記憶する。
【００７５】
なお、図１２Ａと図１２Ｂとを用いて説明した例では、アドレスオフセット算出部３００がＡＤＲＯＦＳを予め記憶する場合を例に説明したが、本発明はこれに限定されるものではない。例えば、アドレスオフセット算出部３００は、通信方式が通知されるごとに、各バンクを実現するＡＤＲＯＦＳを算出して設定しても良い。
【００７６】
次に、アドレスオフセット算出部３００について、符号化信号をバンク各々に割り当てる処理について説明する。アドレスオフセット算出部３００は、以下に説明する処理を、符号化信号のデータサイズが変更されるごとに実行する。つまり、受信データメモリ２０１に記憶された符号化信号のデータサイズが変わるごとに、各バンクに対して、符号化信号を改めて割り当てる。
【００７７】
アドレスオフセット算出部３００は、受信データメモリ２０１に記憶された符号化信号のデータサイズとバンク数とを用いて、バンクごとに割り当てるデータサイズを算出し、算出したデータサイズごとに符号化信号をバンク各々に割り当てる。
【００７８】
例えば、符号化信号のデータサイズが「３２００ワード」であり、バンク数が「１６」である場合を例に説明する。この場合、アドレスオフセット算出部３００は、データサイズ「３２００」をバンク数「１６」で除算することで、各バンクに割り当てるデータサイズ「２００」を算出する。そして、アドレスオフセット算出部３００は、１６個ある各バンクに対して、それぞれ「２００ワード」のデータを割り当てる。例えば、アドレスオフセット算出部３００は、論理アドレス「０」から論理アドレス「１９９」までのデータをバンク＃０に割り当て、論理アドレス「２００」から論理アドレス「３９９」までのデータをバンク＃１に割り当てる。また、アドレスオフセット算出部３００は、論理アドレス「４００」〜「３１９９」までのデータについても、同様に、各バンクに割り当てる。
【００７９】
以下では、各バンクに割り当てられた符号化信号のうち、最小となる論理アドレスを「ＡＤＲＭＩＮＩ」と記載し、最大となる論理アドレスを「ＡＤＲＭＡＸ」と記載する。例えば、アドレスオフセット算出部３００は、論理アドレス「０」から論理アドレス「１９９」までの符号化信号をバンク＃０に割り当てる場合を用いて説明する。この場合、バンク＃０の「ＡＤＲＭＩＮＩ」は「０」になり、「ＡＤＲＭＡＸ」は「１９９」になる。すなわち、アドレスオフセット算出部３００は、各バンクにＡＤＲＭＩＮＩとＡＤＲＭＡＸとを設定することで、符号化信号を各バンクに割り当てる。
【００８０】
図１３Ａと図１３Ｂとを用いて、各バンクに設定されるＡＤＲＭＩＮＩとＡＤＲＭＡＸとの一例について更に説明する。図１３Ａは、HSPA＋を用いた場合に各バンクに設定されるＡＤＲＭＩＮＩとＡＤＲＭＡＸとの一例について説明する図である。また、図１３Ｂは、LTEを用いた場合に各バンクに設定されるＡＤＲＭＩＮＩとＡＤＲＭＡＸとの一例について説明する図である。なお、図１３Ａは、バンク数が２０個である場合に対応し、図１３Ｂは、バンク数が１６個である場合に対応する。
【００８１】
図１３Ａと図１３Ｂとに示すように、アドレスオフセット算出部３００は、バンクごとに、ＡＤＲＭＩＮＩとＡＤＲＭＡＸとを設定する。図１３Ａに示す例では、アドレスオフセット算出部３００は、ＡＤＲＭＩＮＩ「０」とＡＤＲＭＡＸ「１５９」とを、バンク＃０に対して設定する。また、アドレスオフセット算出部３００は、同様に、ＡＤＲＭＩＮＩ「１６０」とＡＤＲＭＡＸ「３１９」とをバンク＃１に対して設定する。つまり、図１３Ａに示す例では、アドレスオフセット算出部３００は、論理アドレス「０」から「１５９」までの符号化信号をバンク＃０に割り当て、論理アドレス「１６０」から「３１９」までの符号化信号をバンク＃１に割り当てる。また、アドレスオフセット算出部３００は、同様に、論理アドレス「３２０〜３１９９」までの符号化信号についても、各バンクに割り当てる。
【００８２】
ここで、各バンクに割り当てられる符号化信号のサイズは、符号化信号のサイズごとに異なる。例えば、図１３Ｂを用いた例では、符号化信号のデータサイズが「３２００」である場合を例に説明した。しかしながら、符号化信号のデータサイズが「１６００」である場合には、アドレスオフセット算出部３００は、１６個ある各バンクに対して、「１００ワード」のデータを割り当てる。つまり、アドレスオフセット算出部３００は、符号化信号が全バンクに割り当てられるように、各バンクに割り当てるデータサイズを決定し、ＡＤＲＭＩＮＩとＡＤＲＭＡＸとを設定する。つまり、アドレスオフセット算出部３００は、符号化信号のデータサイズが変更されるごとに、各バンクに対して、ＡＤＲＭＩＮＩとＡＤＲＭＡＸとを改めて設定する。
【００８３】
図１１の説明に戻る。変換器３０１＃０〜変換器３０１＃１５は、それぞれ、バンク選択部３１１と、物理アドレス算出部３１２と、アドレスデコーダ部３１３とを有する。また、変換器３０１＃０〜変換器３０１＃１５は、それぞれ並行して、復号演算器＃０〜＃１５によるアクセスに対応する処理を実行する。
【００８４】
バンク選択部３１１は、アクセスの対象となる符号化信号の論理アドレスと、アドレスオフセット算出部３００によって各バンクに設定されたＡＤＲＭＩＮＩとＡＤＲＭＡＸとを用いて、インターリーブメモリ２０２のバンクを１つ選択する。つまり、バンク選択部３１１は、論理アドレスによって識別されるデータが格納されるバンクを選択する。
【００８５】
具体的には、バンク選択部３１１は、アドレスオフセット算出部３００によって各バンクに設定されたＡＤＲＭＩＮＩとＡＤＲＭＡＸとのうち、論理アドレスが含まれる組み合わせを識別する。言い換えると、バンク選択部３１１は、下記の（式１）を満たすＡＤＲＭＩＮＩとＡＤＲＭＡＸとの組を識別する。そして、バンク選択部３１１は、識別した組み合わせに対応するバンクを選択する。
【００８６】
ＡＤＲＭＩＮＩ＃ｎ≦（論理アドレス）≦ＡＤＲＭＡＸ＃ｎ・・・（式１）
【００８７】
（式１）の＃ｎは、バンクの番号に対応する。例えば、図１３Ｂに示す例では、（式１）の＃ｎには、「＃０〜＃１５」のうちいずれかが入る。すなわち、例えば、アドレスオフセット算出部３００は、バンク＃０〜＃１５それぞれについて、ＡＤＲＭＩＮＩとＡＤＲＭＡＸとの間に論理アドレスが含まれるかを判定し、含まれると判定されたバンクを識別する。
【００８８】
例えば、論理アドレス「２４０」を用いて具体的に説明する。また、図１３Ｂに示す例を用いて説明する。この場合、バンク選択部３１１は、論理アドレス「２４０」が該当するＡＤＲＭＩＮＩとＡＤＲＭＡＸとの組み合わせは、ＡＤＲＭＩＮＩ「２００」とＡＤＲＭＡＸ「３９９」との組み合わせであると識別する。そして、バンク選択部３１１は、識別した組み合わせに対応するバンク＃１を選択する。
【００８９】
図１１の説明に戻る。物理アドレス算出部３１２は、論理アドレスを物理アドレスに変換する。図１４を用いて、物理アドレス算出部３１２による変換処理について詳細に説明する。図１４は、実施例２における物理アドレス算出部による変換処理について詳細に説明する図である。図１４の（１）には、符号化信号を示した。また、図１４の（２）には、符号化信号のうちバンク＃０に割り当てられた部分とバンク＃１に割り当てられた部分とを示し、また、インターリーブメモリ２０２のバンク＃０と＃１とを示した。
【００９０】
また、図１４の７００〜７０２は、各バンクに割り当てられた符号化信号の部分各々を示す。例えば、図１４の７００は、論理アドレス「０〜１９９」にある符号化信号であり、バンク＃０に割り当てられる。また、図１４の７１０〜７１１は、図１４の７００〜７０２が各バンクに格納された場合に、空き容量となる部分を示す。例えば、図１４の７１０は、バンク＃０に図１４の７００が格納された場合に、バンク＃０のうち空き容量になる部分を示す。また、図１４の７２０〜７２１は、それぞれ、インターリーブメモリ２０２のバンク＃０と＃１とを示す。 
【００９１】
ここで、図１４の（１）に示すように、論理アドレス「２４０」を物理アドレスに変換する場合を例に説明する。この場合、上述したように、バンク選択部３１１は、論理アドレス「２４０」について、バンク＃１を選択する。その上で、物理アドレス算出部３１２は、論理アドレス「２４０」が、バンク＃１に設定されたＡＤＲＭＩＮＩから何番目の論理アドレスになるかを算出する。例えば、図１４の（１）に示すように、バンク＃１のＡＤＲＭＩＮＩが「２００」である場合には、図１４の（２ａ）に示すように、物理アドレス算出部３１２は、「４０」を算出する。つまり、論理アドレス「２４０」のデータは、バンク＃１の「４０」番目の位置に格納されることを示す。そして、物理アドレス算出部３１２は、バンク＃１のＡＤＲＯＦＳから「４０」番目に位置する物理アドレスを算出する。例えば、バンク＃１のＡＤＲＯＦＳが「３８４」である場合には、図１４の（２ｂ）に示すように、物理アドレス「３８４＋４０＝４２４」を算出する。つまり、物理アドレス算出部３１２は、論理アドレス「２４０」を物理アドレス「４２４」に変換する。
【００９２】
物理アドレス算出部３１２による物理アドレス算出処理を式に表すと、下記の（式２）になる。（式２）において、＃ｎは、バンク選択部３１１によって選択されたバンクを示す番号が入る。例えば、バンク選択部３１１によってバンク＃１が選択された場合には、ＡＤＲＭＩＮＩ＃１の値とＡＤＲＯＦＳ＃１の値とがそれぞれ代入される。より詳細には、ＡＤＲＭＩＮＩ＃１が「２００」であり、ＡＤＲＯＦＳ＃１が「３８４」である場合には、下記の（式２）は（式３）になる。
【００９３】
（物理アドレス）＝（論理アドレス）−ＡＤＲＭＩＮＩ＃ｎ＋ＡＤＲＯＦＳ＃ｎ・・・（式２）
【００９４】
（物理アドレス）＝（論理アドレス）−２００＋３８４・・・（式３）
【００９５】
図１１の説明に戻る。アドレスデコーダ部３１３は、物理アドレス算出部３１２によって変換された物理アドレスから、いずれのメモリ回路かを示す情報であるＲＡＭ選択信号と、メモリ回路における位置を示すメモリ位置信号とを作成する。例えば、一般的に、物理アドレスの上位側は、いずれのメモリ回路であるかを示し、物理アドレスの下位側は、メモリ回路における位置を示す。このことを踏まえ、アドレスデコーダ部３１３は、物理アドレスのうち、いずれのメモリ回路かを示す上位側の部分をＲＡＭ選択信号とし、メモリ回路における位置を示す下位側の部分をメモリ位置信号とする。例えば、物理アドレスのビット数が「１２」である場合には、ＲＡＭ選択信号は、上位４〜５ビットが該当し、メモリ位置信号は、下位８ビットが該当する。
【００９６】
アクセス選択部２１３は、変換部２１２及びインターリーブメモリ２０２と接続される。アクセス選択部２１３は、例えば、ＡＳＩＣやＦＰＧＡ、ＣＰＵ、ＭＰＵなどの電子回路である。アクセス選択部２１３は、変換器それぞれからＲＡＭ選択信号とメモリ位置信号とを受信し、同じメモリ回路に対して同時にアクセスが行われないようにインターリーブメモリ２０２に対するアクセスを制御する。具体的には、アクセス選択部２１３は、複数の変換器から同じＲＡＭ選択信号を受信した場合には、同時に複数のメモリ回路に対してアクセスすることなく、順番にアクセスするように制御する。
【００９７】
また、アクセス選択部２１３は、バンク単位ではなく、メモリ回路単位でアクセス選択を行う。これは、実施例２では、バンクを実現するメモリ回路の組み合わせが通信方式ごとに異なることを踏まえてのことである。つまり、アクセス選択部２１３は、バンク単位ではなくメモリ回路単位でアクセス選択を行うことで、通信方式ごとやバンクを実現するメモリ回路の組み合わせごとにアクセス選択部２１３を設けることなく、共通のアクセス選択部２１３を用いることが可能である。
【００９８】
なお、実施例２では、実際には、複数の変換器が同時に同じＲＡＭ選択信号を指定することはない。具体的には、復号演算器＃０〜＃１５は、読みだし時、書き込み時ともに、それぞれ異なるバンクをアクセス先とする。また、各バンクは異なるメモリ回路を用いて実現される。このため、複数の変換器が同時に同じＲＡＭ選択信号を指定することはない。
【００９９】
このように、上述したように、変換部２１２は、符号化信号の通信方式に応じて、インターリーブメモリ２０２を第１のバンク構成又は第２のバンク構成のいずれかで機能させるかを選択する。そして、変換部２１２は、選択したバンク構成に応じてインターリーブメモリ２０２にアクセスするように制御する。
【０１００】
具体的には、変換部２１２は、符号化信号をバンクの数で分割した後の分割符号化信号ごとに論理アドレスをバンク各々に割り当てておく。そして、変換部２１２は、論理アドレスを受信した場合に、受信した論理アドレスによって識別されるデータに対応するバンクを識別し、識別したバンクについての物理アドレスに論理アドレスを変換し、物理アドレスによって識別される位置にアクセスする。
【０１０１】
図３の説明に戻る。出力制御部２１４は、復号演算部２１１によるターボ復号処理が終了すると、インターリーブメモリ２０２に格納されたデータを読み出し、読み出したデータを出力する。ここで、出力制御部２１４によるデータの出力先は、例えば、ターボ復号装置２００を利用する他の装置や、ターボ復号装置２００の上位レイヤに属する処理部が該当する。
【０１０２】
［ターボ復号装置による処理］
次に、図１５を用いて、実施例２に係るターボ復号装置２００による処理の流れの一例について説明する。図１５は、実施例２に係るターボ復号装置の処理による流れの一例について説明するフローチャートである。
【０１０３】
図１５に示すように、受信データメモリ２０１に符号化信号が格納されると（ステップＳ１０１肯定）、復号演算部２１１では、各復号演算器が、自回路が担当する部分の符号化信号（１）を読み出す（ステップＳ１０２）。そして、各復号演算器は、読み出した部分に対して復号処理を実行する（ステップＳ１０３）。そして、各復号演算器は、復号処理を実行した後の符号化信号（２）を、インターリーブメモリ２０２の各バンクに並行して格納する（ステップＳ１０４）。なお、ここで、各復号演算器がインターリーブメモリ２０２にデータを格納したり読み込んだりする場合には、変換部２１２によって論理アドレスが物理アドレスに変換される。この結果、各復号演算器は、物理アドレスによって識別される位置に対して、データを書き込んだり読み込んだりする。
【０１０４】
そして、各復号演算器は、インターリーブメモリ２０２に格納した符号化信号（２）に対して、インターリーブ処理を実行し（ステップＳ１０５）、インターリーブ処理後である符号化信号（３）に対して復号処理を実行する（ステップＳ１０６）。つまり、各復号演算器は、インターリーブメモリ２０２に格納した符号化信号（２）の順番を入れ替えた上で、順番が入れ替えられた符号化信号（３）をそれぞれ１／１６ずつ読みだし、復号処理を並行して実行する。そして、各復号演算器は、復号処理を実行した後の符号化信号（４）を、再び、インターリーブメモリ２０２の各バンクに並行して格納する（ステップＳ１０７）。
【０１０５】
そして、各復号演算器は、インターリーブメモリ２０２に格納した符号化信号（４）に対して、デインターリーブ処理を実行し（ステップＳ１０８）、デインターリーブ処理後である符号化信号（５）に対して復号処理を実行する（ステップＳ１０９）。つまり、各復号演算器は、インターリーブメモリ２０２に格納した符号化信号（４）の順番を元に戻した上で、順番が元に戻された符号化信号（５）をそれぞれ１／１６ずつ読みだし、復号処理を並行して実行する。そして、各復号演算器は、復号処理を実行した後の符号化信号
（６）を、改めて、インターリーブメモリ２０２の各バンクに並行して格納する（ステップＳ１１０）。
【０１０６】
ここで、各復号演算器は、所定の回数インターリーブ処理やデインターリーブ処理を繰り返したかを判定する（ステップＳ１１１）。つまり、上述したステップＳ１０４〜Ｓ１０９までの一連の処理を所定の回数実行したかを判定する。ここで、各復号演算器は、繰り返していないと判定すると（ステップＳ１１１否定）、ステップＳ１０５に戻り、ステップＳ１０４〜Ｓ１０９までの一連の処理を再度実行する。一方、各復号演算器は、実行したと判定すると（ステップＳ１１１肯定）、ターボ復号処理を終了し、その後、出力制御部２１４がターボ復号処理後のデータを出力する（ステップＳ１１２）。
【０１０７】
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、上記のステップＳ１０３において復号処理を実行することなく、そのままインターリーブメモリ２０２に格納しても良い。
【０１０８】
［変換部の処理］
次に、図１６を用いて、実施例２における変換部２１２による処理の流れの一例について説明する。つまり、各復号演算器がインターリーブメモリ２０２にデータを書き込んだり読み込んだりする場合に、変換部２１２が論理アドレスを物理アドレスに変換する処理の流れについて説明する。図１６は、実施例２における変換部による処理の流れの一例について説明するフローチャートである。なお、図１６を用いて説明する処理は、例えば、図１５におけるステップＳ１０４やＳ１０７、Ｓ１１０などに該当する。
【０１０９】
図１６に示すように、インターリーブメモリ２０２にアクセスするタイミングとなると（ステップＳ２０１肯定）、変換部２１２では、バンク選択部３１１が、論理アドレスによって識別されるデータが格納されるバンクを選択する（ステップＳ２０２）。つまり、例えば、バンク選択部３１１は、アドレスオフセット算出部３００によって各バンクに設定されたＡＤＲＭＩＮＩとＡＤＲＭＡＸとのうち、論理アドレスが含まれる組み合わせを識別する。そして、識別した組み合わせに対応するバンクを選択する。例えば、論理アドレス「２４０」であり、図１３Ｂに示す例を用いて説明すると、バンク選択部３１１は、バンク＃１を選択する。
【０１１０】
そして、物理アドレス算出部３１２は、物理アドレスを算出する（ステップＳ２０３）。つまり、例えば、物理アドレス算出部３１２は、論理アドレス「２４０」が、バンク＃１に設定されたＡＤＲＭＩＮＩから何番目の論理アドレスになるかを算出する。例えば、図１４の（１）に示す例では、物理アドレス算出部３１２は、「４０」を算出する。そして、物理アドレス算出部３１２は、バンク＃１のＡＤＲＯＦＳから「４０」番目に位置する物理アドレスを算出する。図１４の（２ｂ）に示す例では、物理アドレス算出部３１２は、物理アドレス「３８４＋４０＝４２４」を算出する。なお、その後、物理アドレス算出部３１２によって算出された物理アドレスに対して、データが格納されたり読み出されたりする。
【０１１１】
［符号化信号割り当て処理］
次に、図１７を用いて、実施例２における符号化信号割り当て処理の流れの一例について説明する。図１７は、実施例２における符号化信号割り当て処理の流れの一例について説明するフローチャートである。なお、図１７を用いて説明する処理は、例えば、図１６に示す一連の処理に先だって実行される。
【０１１２】
図１７に示すように、アドレスオフセット算出部３００は、符号化信号のサイズが変わると（ステップＳ３０１肯定）、バンクごとに割り当てるデータサイズを算出する（ステップＳ３０２）。つまり、例えば、符号化信号のデータサイズが「３２００ワード」であり、バンク数が「１６」である場合を例に説明する。この場合、アドレスオフセット算出部３００は、データサイズ「３２００」をバンク数「１６」で除算することで、各バンクに割り当てるデータサイズ「２００」を算出する。
【０１１３】
そして、アドレスオフセット算出部３００は、算出したデータサイズごとに符号化信号をバンク各々に割り当てる（ステップＳ３０３）。つまり、例えば、アドレスオフセット算出部３００は、１６個ある各バンクに対して、それぞれ「２００ワード」のデータを割り当てる。より詳細には、アドレスオフセット算出部３００は、論理アドレス「０」から論理アドレス「１９９」までのデータをバンク＃０に割り当て、同様に、「２００」〜「３１９９」までのデータについても、各バンクに割り当てる。言い換えると、アドレスオフセット算出部３００は、符号化信号が全バンクに割り当てられるように、各バンクに割り当てるデータサイズを算出し、ＡＤＲＭＩＮＩとＡＤＲＭＡＸとを各バンクに設定する。
【０１１４】
なお、上記の処理手順は、図１６に示す一連の処理に先だって実行される場合に限定されるものではなく、図１６に示す一連の処理と並行して実行しても良い。この場合、図１６に示す処理のうちＳ２０２を実行するまでに、図１７に示す一連の処理を実行する。
【０１１５】
［バンク構成選択処理］
次に、図１８を用いて、実施例２におけるバンク構成選択処理の流れの一例について説明する。図１８は、実施例２におけるバンク構成選択処理の流れの一例について説明する図である。なお、図１８を用いて説明する処理は、例えば、図１６や図１７に示す一連の処理に先だって実行される。
【０１１６】
図１８に示すように、通信方式が通知されると（ステップＳ４０１肯定）、アドレスオフセット算出部３００は、通信方式に対応するバンク構成を選択する（ステップＳ４０２）。例えば、アドレスオフセット算出部３００は、通信方式ごとにバンク構成を記憶しておき、通知された通信方式に対応するバンク構成を選択する。例えば、アドレスオフセット算出部３００は、通信方式がHSPA＋である場合には、HSPA＋に対応するバンク構成を選択し、通信方式がLTEである場合には、LTEに対応するバンク構成を選択する。
【０１１７】
なお、上記の処理手順は、図１６や図１７に示す一連の処理に先だって実行される場合に限定されるものではなく、図１６や図１７に示す一連の処理と並行して実行しても良い。この場合、図１６に示す処理のうちＳ２０２、及び図１７に示すステップＳ３０２を実行するまでに、図１８に示す一連の処理を実行する。
【０１１８】
［実施例２の効果］
上述したように、実施例２によれば、ターボ復号装置２００は、インターリーブメモリ２０２を有し、インターリーブメモリ２０２にアクセスしてデータを読み書きする。また、インターリーブメモリ２０２は、複数のメモリ回路を有し、複数のメモリ回路が連結されることで１つのメモリ空間として形成される。また、インターリーブメモリ２０２は、メモリ回路の組み合わせに応じて第１の容量が各バンクに割り当てられる第１のバンク構成又は第２の容量が各バンクに割り当てられる第２のバンク構成として機能する。また、ターボ復号装置２００は、符号化信号の通信方式に応じて、インターリーブメモリ２０２を第１のバンク構成又は第２のバンク構成のいずれかで機能させるかを選択し、選択したバンク構成に応じてインターリーブメモリ２０２にアクセスする。この結果、実施例２によれば、複数の通信方式に対応するターボ復号装置２００において、通信方式ごとにメモリを用意することなく、メモリの搭載量を抑えることが可能である。つまり、実施例２によれば、通信方式がLTEかHSPA＋か、あるいは、ターボ復号処理のやり方がQPPかPILかによって、メモリを別途搭載することなく、メモリの搭載量を抑えることが可能である。
【０１１９】
また、特にベースバンド処理部においては、ターボ復号処理を実行する部分が全体の８割程度を占める。実施例２によれば、ベースバンド処理部の大部分を占めるターボ復号処理部を異なる通信方式において共用でき、ターボ復号装置を小型化でき、部品を共有することで低コスト化を実現することが可能である。
【０１２０】
また、ターボ復号装置２００は、論理アドレスを物理アドレスへと変換し、物理アドレスによって識別される位置へとアクセスする。この結果、通信方式が変わってバンク構成が変わったとしても、同じ処理を用いてアクセス先を特定することで、バンク構成ごとに別々の変換部２１２を搭載することなく、同一の変換部２１２を共用することが可能である。
【０１２１】
また、実施例２では、各バンクの容量を考慮した上で、メモリ回路各々に対して、バンク構成に関係なく用いられる一連の物理アドレスを付与する。この結果、バンク構成が変わったとしても、変換器が実行する処理に変更は発生せず、バンク構成に係わらず同じ変換器を用いることが可能である。
【０１２２】
また、ターボ復号装置２００は、符号化信号をバンクの数で分割した後の分割符号化信号ごとに論理アドレスをバンク各々に割り当てておく。そして、ターボ復号装置２００は、アクセス対象となる符号化信号の論理アドレスによって識別されるデータに対応するバンクを識別し、識別したバンクについての物理アドレスに論理アドレスを変換する。そして、ターボ復号装置２００は、物理アドレスによって識別される位置にアクセスする。この結果、一部のバンクにデータが偏在することなく、データをバンク各々に分散して配置されることができ、復号処理に際して複数あるバンク各々に並行してアクセスすることが可能である。この結果、復号処理を並行して実行でき、復号処理を迅速に実行することが可能である。
【実施例３】
【０１２３】
さて、これまで本発明の実施例について説明したが、本発明は上記した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。
【０１２４】
［システム構成］
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。例えば、通信方式の通知を利用者が手動にて行っても良く、ターボ復号装置が受信した符号化信号から通信方式を解析することで通信方式を識別しても良い。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については（図１〜図１８）、特記する場合を除いて任意に変更することができる。
【０１２５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、図３に示す例を用いて説明すると、受信データメモリ２０１をターボ復号装置２００の外部装置とし、ネットワーク経由で接続するようにしても良い。
【符号の説明】
【０１２６】
１００      ターボ復号装置
１０１      メモリ部
１０２      アクセス部
２００      ターボ復号装置
２０１      受信データメモリ
２０２      インターリーブメモリ
２１１      復号演算部
２１２      変換部
２１３      アクセス選択部
２１４      出力制御部
３００      アドレスオフセット算出部
３０１      変換器
３１１      バンク選択部
３１２      物理アドレス算出部
３１３      アドレスデコーダ部
【図１】
0005476902.tif 000002
【図２】
0005476902.tif 000003
【図３】
0005476902.tif 000004
【図４】
0005476902.tif 000005
【図５】
0005476902.tif 000006
【図６Ａ】
0005476902.tif 000007
【図６Ｂ】
0005476902.tif 000008
【図７Ａ】
0005476902.tif 000009
【図７Ｂ】
0005476902.tif 000010
【図８Ａ】
0005476902.tif 000011
【図８Ｂ】
0005476902.tif 000012
【図９】
0005476902.tif 000013
【図１０】
0005476902.tif 000014
【図１１】
0005476902.tif 000015
【図１２Ａ】
0005476902.tif 000016
【図１２Ｂ】
0005476902.tif 000017
【図１３Ａ】
0005476902.tif 000018
【図１３Ｂ】
0005476902.tif 000019
【図１４】
0005476902.tif 000020
【図１５】
0005476902.tif 000021
【図１６】
0005476902.tif 000022
【図１７】
0005476902.tif 000023
【図１８】
0005476902.tif 000024