情報の畳込み符号である第1の要素符号と、インターリーバによって置換された前記情報の畳込み符号である第2の要素符号と、前記情報とを含む符号化情報の受信情報に対して繰り返し復号を実行する誤り訂正符号復号装置において、前記インターリーバのサイズに応じて前記第1および第2の要素符号を同時復号するか否かを選択する同時復号選択手段と、前記受信情報を、前記同時復号選択手段の選択結果に応じた位置に格納する受信情報格納手段と、前記第1および第2の要素符号にそれぞれ対応する外部情報を、前記同時復号選択手段の選択結果に応じた位置に格納する外部情報格納手段と、前記第1および第2の要素符号が分割された各ブロックに対して前記受信情報および前記外部情報に基づく軟入力軟出力復号を並列に実行して前記外部情報をそれぞれ出力する複数の軟入力軟出力復号器を有し、前記同時復号選択手段によって同時復号が選択されなかった場合は、前記第1の要素符号の復号および前記第2の要素符号の復号を順次実行して繰り返し、前記同時復号選択手段によって同時復号が選択された場合は、前記第1および第2の要素符号を同時に復号して繰り返す軟入力軟出力復号手段と、を備えた誤り訂正符号復号装置。前記同時復号選択手段は、前記インターリーバのサイズが、前記複数の軟入力軟出力復号器の個数の倍数ではない場合に前記第1および第2の要素符号の同時復号を選択することを特徴とする請求項1に記載の誤り訂正符号復号装置。前記同時復号選択手段は、前記インターリーバのサイズが予め定められた値よりも小さい場合に前記第1および第2の要素符号の同時復号を選択することを特徴とする請求項1に記載の誤り訂正符号復号装置。前記同時復号選択手段は、前記インターリーバのサイズがあらかじめ定められた値である場合に前記第1および第2の要素符号の同時復号を選択することを特徴とする請求項1に記載の誤り訂正符号復号装置。前記同時復号選択手段によって前記同時復号が選択された場合に、前記受信情報格納手段は、前記受信情報のうち前記情報に対応する情報受信値を二重に格納し、前記外部情報格納手段は、前記第1の要素符号の復号結果である外部情報を、前記第2の要素符号を復号する前記軟入力軟出力復号器によって読み込まれるよう格納し、前記第2の要素符号の復号結果である外部情報を、前記第1の要素符号を復号する前記軟入力軟出力復号器によって読み込まれるよう格納することを特徴とする請求項1から請求項4のいずれかに記載の誤り訂正符号復号装置。前記情報受信値および前記外部情報を、前記同時復号選択手段の選択結果に応じたサイズで置換して、前記受信情報格納手段および前記外部情報格納手段と前記軟入力軟出力復号手段との間で入出力する置換手段をさらに備えたことを特徴とする請求項1から請求項5のいずれかに記載の誤り訂正符号復号装置。前記同時復号選択手段によって前記同時復号が選択された場合に、前記第1および第2のいずれかの要素符号の軟出力に基づいて硬判定を行う硬判定手段をさらに備えたことを特徴とする請求項1から請求項6のいずれかに記載の誤り訂正符号復号装置。前記軟入力軟出力復号手段は、前記第1および第2の要素符号の軟入力軟出力復号をウィンドウを用いて局所的に実行し、前記同時復号選択手段によって前記同時復号が選択された場合には、前記ウィンドウのサイズを変更することを特徴とする請求項1から請求項7のいずれかに記載の誤り訂正符号復号装置。前記軟入力軟出力復号手段は、さらに符号化率に基づいて前記ウィンドウのサイズを決定することを特徴とする請求項1から請求項8のいずれかに記載の誤り訂正符号復号装置。情報の畳込み符号である第1の要素符号と、インターリーバによって置換された前記情報の畳込み符号である第2の要素符号と、前記情報とを含む符号化情報の受信情報に対して繰り返し復号を実行する誤り訂正符号復号装置が、前記インターリーバのサイズに応じて前記第1および第2の要素符号を同時復号するか否かを選択し、前記受信情報を、前記同時復号の選択結果に応じた位置で受信情報格納手段に格納し、前記第1および第2の要素符号にそれぞれ対応する外部情報を、前記同時復号の選択結果に応じた位置で外部情報格納手段に格納し、前記第1および第2の要素符号が分割された各ブロックに対して前記受信情報および前記外部情報に基づく軟入力軟出力復号を並列に実行して前記外部情報をそれぞれ出力する複数の軟入力軟出力復号器を用いて、前記同時復号を選択しなかった場合は、前記第1の要素符号の復号および前記第2の要素符号の復号を順次実行して繰り返し、前記同時復号を選択した場合は、前記第1および第2の要素符号を同時に復号して繰り返す、誤り訂正符号復号方法。しかしながら、非特許文献3に記載された3GPPLTEの復号装置では、並列度に限度があるため、モバイル用途で用いられるターボ符号の多様なインターリーバサイズに対して効率よく復号処理を行っていないという課題があった。また、特許文献1に記載された復号装置では、効率よく復号処理を行うためにメモリサイズの増加を必要とし装置規模が増大するという課題があった。本発明は、上述の課題を解決するためになされたもので、装置規模の増大を抑えながら多様なインターリーバサイズに対して効率よく復号処理を行うことができる誤り訂正符号復号装置を提供することを目的とする。本発明の誤り訂正符号復号装置は、情報の畳込み符号である第1の要素符号と、インターリーバによって置換された前記情報の畳込み符号である第2の要素符号と、前記情報とを含む符号化情報の受信情報に対して繰り返し復号を実行する誤り訂正符号復号装置において、前記インターリーバのサイズに応じて前記第1および第2の要素符号を同時復号するか否かを選択する同時復号選択手段と、前記受信情報を、前記同時復号選択手段の選択結果に応じた位置に格納する受信情報格納手段と、前記第1および第2の要素符号にそれぞれ対応する外部情報を、前記同時復号選択手段の選択結果に応じた位置に格納する外部情報格納手段と、前記第1および第2の要素符号が分割された各ブロックに対して前記受信情報および前記外部情報に基づく軟入力軟出力復号を並列に実行して前記外部情報をそれぞれ出力する複数の軟入力軟出力復号器を有し、前記同時復号選択手段によって同時復号が選択されなかった場合は、前記第1の要素符号の復号および前記第2の要素符号の復号を順次実行して繰り返し、前記同時復号選択手段によって同時復号が選択された場合は、前記第1および第2の要素符号を同時に復号して繰り返す軟入力軟出力復号手段と、を備える。また、本発明の誤り訂正符号復号方法は、情報の畳込み符号である第1の要素符号と、インターリーバによって置換された前記情報の畳込み符号である第2の要素符号と、前記情報とを含む符号化情報の受信情報に対して繰り返し復号を実行する誤り訂正符号復号装置が、前記インターリーバのサイズに応じて前記第1および第2の要素符号を同時復号するか否かを選択し、前記受信情報を、前記同時復号の選択結果に応じた位置で受信情報格納手段に格納し、前記第1および第2の要素符号にそれぞれ対応する外部情報を、前記同時復号の選択結果に応じた位置で外部情報格納手段に格納し、前記第1および第2の要素符号が分割された各ブロックに対して前記受信情報および前記外部情報に基づく軟入力軟出力復号を並列に実行して前記外部情報をそれぞれ出力する複数の軟入力軟出力復号器を用いて、前記同時復号を選択しなかった場合は、前記第1の要素符号の復号および前記第2の要素符号の復号を順次実行して繰り返し、前記同時復号を選択した場合は、前記第1および第2の要素符号を同時に復号して繰り返す。また、本発明の誤り訂正符号復号プログラムは、情報の畳込み符号である第1の要素符号と、インターリーバによって置換された前記情報の畳込み符号である第2の要素符号と、前記情報とを含む符号化情報の受信情報に対して繰り返し復号を実行する誤り訂正符号復号装置に、前記インターリーバのサイズに応じて前記第1および第2の要素符号を同時復号するか否かを選択する同時復号選択ステップと、前記受信情報を、前記同時復号の選択結果に応じた位置で受信情報格納手段に格納する受信情報格納ステップと、前記第1および第2の要素符号にそれぞれ対応する外部情報を、前記同時復号の選択結果に応じた位置で外部情報格納手段に格納する外部情報格納ステップと、前記第1および第2の要素符号が分割された各ブロックに対して前記受信情報および前記外部情報に基づく軟入力軟出力復号を並列に実行して前記外部情報をそれぞれ出力する複数の軟入力軟出力復号器を用いて、前記同時復号を選択しなかった場合は、前記第1の要素符号の復号および前記第2の要素符号の復号を順次実行して繰り返し、前記同時復号を選択した場合は、前記第1および第2の要素符号を同時に復号して繰り返す軟入力軟出力復号ステップと、を実行させる。本発明は、装置規模の増大を抑えながら多様なインターリーバサイズに対して効率よく復号処理を行うことができる誤り訂正符号復号装置を提供することができる。以下、本発明の第1の実施の形態について、図面を参照して詳細に説明する。本発明の第1の実施の形態としての誤り訂正符号復号装置1の構成を図7に示す。図7において、誤り訂正符号復号装置1は、機能ブロックとして、同時復号選択部2と、受信情報格納部3と、外部情報格納部4と、軟入力軟出力復号部5とを備えている。ここで、同時復号選択部2は、後述の同時復号選択機能を実現する回路によって構成され、受信情報格納部3および外部情報格納部4は、RAMRandomAccessMemory等の記憶装置および記憶装置に対するデータの読み書きを制御する制御回路によって構成され、軟入力軟出力復号部5は、MMは1以上の整数個のSISO復号器によって構成される。同時復号選択部2は、通信セッションの開始時に送信側と受信側でインターリーバサイズKを決定する。また、同時復号選択部2は、決定したインターリーバサイズKKは1以上の整数に応じて、後述の要素符号1および要素符号2を同時復号するか否かを選択または決定するための選択結果決定情報を出力する。受信情報格納部3は、図示しない誤り訂正符号器から通信経路を介して、情報の畳込み符号である要素符号1と、この情報がインターリーバによって置換された情報の畳込み符号である要素符号2と、この情報とを含む符号化情報を受信し、受信された受信情報を格納する。ここで、受信情報は、情報に対応する情報受信値、要素符号1のパリティに対応するパリティ1受信値、および要素符号2のパリティに対応するパリティ2受信値によって構成される。また、受信情報格納部3は、この受信情報を、同時復号選択部2の選択結果に応じた位置に格納する。外部情報格納部4は、軟入力軟出力復号部5のSISO復号器によって軟出力される外部情報を、同時復号選択部2の選択結果に応じた位置に格納する。軟入力軟出力復号部5は、例えば、ウィンドウを用いて局所的な処理が可能なradix2nのMAPアルゴリズムを実行する、M個のSISO復号器を有する。この場合、M個のSISO復号器は、本発明におけるL=Mn個のSISO復号器の一実施形態を構成する。また、軟入力軟出力復号部5は、同時復号選択部2によって同時復号が選択されなかった場合、要素符号1の復号および要素符号2の復号を順次実行して繰り返す。詳細には、軟入力軟出力復号部5は、複数のSISO復号器を用いて要素符号1の符号トレリスを分割した各ブロックに対する復号を並列に実行する処理と、要素符号2の符号トレリスを分割した各ブロックに対する復号を並列に実行する処理とを、順次繰り返す。また、軟入力軟出力復号部5は、同時復号選択部2によって同時復号が選択された場合、要素符号1および要素符号2を同時に復号して繰り返す。詳細には、軟入力軟出力復号部5は、要素符号1の符号トレリスを分割した各ブロックに対する復号と、要素符号2の符号トレリスを分割した各ブロックに対する復号とを同時に並列に実行して繰り返す。なお、以下、軟入力軟出力復号部5が、要素符号1の復号および要素符号2の復号を順次実行して繰り返す処理を、通常の並列化と呼ぶ。また、軟入力軟出力復号部5が、要素符号1および要素符号2の復号を同時に実行する処理を、要素符号の同時復号と呼ぶことにする。次に、本発明の第1の実施の形態としての誤り訂正符号復号装置1の動作について図8を用いて説明する。なお、図8において、誤り訂正符号復号装置1は、要素符号1および要素符号2の同時復号を行うことが可能なインターリーバサイズの最大値としてあらかじめKsを記憶しているものとする。また、誤り訂正符号復号装置1は、図8において、通信セッションの開始時に送信側と受信側でインターリーバサイズKを既に決定しており、そのセッションで複数のフレームを送信する場合も、同一のインターリーバサイズKを用いるものとする。図8において、まず、誤り訂正符号復号装置1は、現セッションのインターリーバサイズKに対して、Kが×nの倍数となるような最小のMの約数qを求めるステップS1。次に、同時復号選択部2は、インターリーバサイズKに応じて2個の要素符号の同時復号を実行するか否かを選択する選択結果を出力するステップS2。例えば、同時復号選択部2は、q1もしくはKKsが成り立つか否かに基づいて、要素符号1および要素符号2の同時復号を実行するか否かを選択してもよい。ステップS2において、q1もしくはKKsであり通常の並列化が選択されると、受信情報格納部3は、選択結果に基づいて、情報受信値およびパリティ受信値を、通常の並列化に応じたアドレスに読み込むステップS3。次に、軟入力軟出力復号部5は、Mq個のSISO復号器を用いて要素符号1の復号を行い、その後、要素符号2の復号をMq個のSISO復号器を用いて復号を行う。軟入力軟出力復号部5は、繰り返し復号の終了の判定となるまでステップS6でYes、ステップS4~S5を繰り返す。誤り訂正符号復号装置1は、現セッションのすべてのフレームの復号処理を終了したら、セッションの復号処理を終了するステップS7でYes。一方、ステップS2において、2個の要素符号の同時復号が選択されると、受信情報格納部3は、選択結果に基づいて、情報受信値およびパリティ受信値を、要素符号の同時復号に応じたアドレスに読み込むステップS8。次に、軟入力軟出力復号部5は、Mq個のSISO復号器を用いて要素符号1の復号を、別のMq個のSISO復号器を用いて要素符号2の復号を同時に行う。軟入力軟出力復号部5は、繰り返し復号の終了の判定となるまでステップS11でYes、ステップS9およびS10の同時実行を繰り返す。誤り訂正符号復号装置1は、現セッションのすべてのフレームの復号処理を終了したら、セッションの復号処理を終了するステップS12でYes。以上で、誤り訂正符号復号装置1は動作を終了する。なお、ステップS1およびS2において、同時復号選択部2は、すべてのインターリーバサイズKに対してあらかじめステップS1およびS2の処理を実行して記憶装置図示せずに保存しておき、実行時にそれを参照してもよい。また、同時復号選択部2は、同時復号を実行するか否かの選択を、単にKKsの判定のみに基づいて行ってもよい。ここで、Kが小さい場合は必然的にブロックサイズBも小さくなり、ウィンドウサイズWのバックワード処理のトレーニングに必要なオーバーヘッドも大きくなる。したがって、要素符号あたりの並列度を抑えて2個の要素符号の同時復号を行うことにより、この点においても高速化に貢献することが期待できる。また、ステップS5およびS11において、軟入力軟出力復号部5は、終了判定を、予め情報部分に付加されているCRCを用いて判定してもよい。次に、本発明の第1の実施の形態の効果について述べる。本発明の第1の実施の形態としての誤り訂正符号復号装置は、装置規模の増大を抑えながら多様なインターリーバサイズに対して効率よく復号処理を行うことができる。その理由は、誤り訂正符号復号装置は、要素符号毎に各ブロックに対する復号を並列に実行し、要素符号1の復号および要素符号2の復号を順次繰り返す通常の並列化と、2個の要素符号の復号を同時に行う並列化を選択可能に併用するからである。また、本発明の第1の実施の形態としての誤り訂正符号復号装置は、受信情報および外部情報を、受信情報格納部および外部情報格納部内の、同時復号を実行するか否かの選択結果に応じた位置に格納するので、受信情報格納部および外部情報格納の容量の増加を抑えることができる。次に、本発明の第2の実施の形態について、図面を参照して詳細に説明する。なお、本発明の第2の実施の形態としては、本発明の誤り訂正符号復号装置を、ターボ符号を復号するターボ符号復号装置に適用した例について説明する。本発明の第2の実施の形態としてのターボ符号復号装置20の構成を図9に示す。なお、図9において、本発明の第1の実施の形態としての誤り訂正符号復号装置1と同一の構成については同一の符号を付して詳細な説明を省略する。図9において、ターボ符号復号装置20は、同時復号選択部1100と、アドレス生成部800と、情報受信値メモリ801と、パリティ受信値メモリ802と、外部情報メモリ803と、軟入力軟出力復号部5と、置換部900と、硬判定部1001とを備えている。ここで、アドレス生成手段800、情報受信値メモリ801およびパリティ受信値メモリ802は、本発明の受信情報格納手段の一実施形態を構成する。また、アドレス生成手段および外部情報メモリ803は、本発明の外部情報格納手段の一実施形態を構成する。図10に、M=8、n=2のときのアドレス生成手段800、情報受信値メモリ801、パリティ受信値メモリ802、および、外部情報メモリ803の構成を示す。アドレス生成部800は、同時復号選択部1100の選択結果に応じて、情報受信値メモリ801、パリティ受信値メモリ802および外部情報メモリ803のリードライトのためのアドレスを生成する。アドレスの生成法については後述する。情報受信値メモリ801は、Mn個のメモリU0U1...UMn1で構成される。また、情報受信値メモリ801は、K個の情報受信値をMMq等分したブロックをさらにアドレスのmodnで分割してMn個のメモリに保持する。つまり、情報受信値メモリをU0U1...UMn1、情報受信値をxで表すと、メモリUnjiにはxxx...xのBn個の受信値を格納する。ここでBKMはブロックサイズである。要素符号の同時復号を行う場合q>1であり、メモリU2にはメモリUnjiと同一のデータを格納するように構成する。メモリU0U1...UMn1は要素符号1の復号で使用され、メモリUMnUMn1...U2Mn1は要素符号2の復号で使用される。パリティ受信値メモリ802は、Mn個のメモリで構成される。通常の並列化では、パリティ1およびパリティ2の受信値をMMq等分してM個のメモリに保持する。パリティ1およびパリティ2の受信値をy1y2で表すと、メモリPnjiは、y1y1...y1y2y2...y2の2Bn個の受信値を格納する。要素符号の同時復号では、パリティ1およびパリティ2のK個の受信値をそれぞれMMq等分し、メモリP0P1...PMn1はパリティ1の受信値を、メモリPMnPMn1...P2Mn1はパリティ2の受信値を保持する。外部情報メモリ803はMn個のメモリで構成される。通常の並列化では、外部情報メモリ803は、K個の外部情報をMMq等分し、M個のメモリに情報受信値と同様に保持する。ここで、外部情報は、軟入力軟出力復号部5のSISO復号器によって軟出力され、さらに置換部900で後述する事前情報に置換された情報である。具体的に、要素符号の同時復号では、外部情報メモリ803は、K個の外部情報をM等分し、要素符号1のSISO復号化された出力である外部情報e1を、要素符号2のSISO復号の事前情報となるようにメモリEMnEMn1...E2Mn1に格納する。また、外部情報メモリ803は、要素符号2のSISO復号化された出力である外部情報e2を、要素符号1のSISO復号の事前情報となるようにメモリE0E1...EMn1に格納する。また、情報受信値メモリ801、外部情報メモリ803のメモリサイズのトータルは、同時復号を実行可能なインターリーバサイズの最大値Ksの2倍以上かつインターリーバサイズの最大値以上に設定される。図11に、置換部900の構成を示す。図11において、置換部900は、置換処理部901および逆変換処理部905を有している。ここで、メモリアクセスの衝突がない場合のインターリーブ処理は、図8のアドレス生成手段800で生成するアドレスと、情報受信値メモリ801およびパリティ受信値メモリ802から同時に読み出したデータとの、複数のSISO復号器への対応を与える置換処理で実現することができる。Radix2nのSISO復号であればこの置換処理部901および逆変換処理部905もそれぞれn個用意する。置換処理部901および逆変換処理部905は、通常の並列化の場合および要素符号の同時復号の場合の各qに応じて、サイズMqの置換処理を実行するよう構成される。図11において、置換処理部901および逆変換処理部905は、M8に対してq1およびq2に応じた置換処理を実行するよう構成される。置換処理部901は、通常の並列化を行う場合の置換処理部902と、要素符号の同時復号を行う場合の置換処理部903と、置換処理部902および置換処理部903の選択を行うセレクタ904とを有している。置換処理部902は、外部情報メモリ803からのM個のデータ外部情報の置換処理Π1と表すを行う。置換処理部903は、要素符号1に対応するM個のデータの恒等変換および要素符号2に対応するM個のデータの置換処理Π2と表すを行う。逆変換処理部905は、通常の並列化を行う場合の逆変換処理部906と、要素符号の同時復号を行う場合の逆変換処理部907と、スワップ処理部908と、逆変換処理部906および逆変換処理部907の選択を行うセレクタ909とを有している。逆変換処理部905は、軟入力軟出力復号部5のSISO復号器で生成される外部情報に対して逆変換を行ってから外部情報メモリ803を更新する。逆変換処理部906および逆変換処理部907は、それぞれ置換処理部902のΠ1および置換処理部903のΠ2に対する逆変換処理InvΠ1およびInvΠ2を行う。スワップ処理部908は、逆変換処理部907によって生成された要素符号1の外部情報および要素符号2の外部情報のスワップ処理を行う。これにより、要素符号1の復号で生成される外部情報は要素符号2の復号で事前情報として読み込まれるように、要素符号2の復号で生成される外部情報は要素符号1の復号で事前情報として読み込まれるように、外部情報メモリ803に書き込まれる。再び図9に戻り、アドレス生成部800について説明する。ここで、ブロック内のSISO復号の処理スケジュールはサイズWのウィンドウを用いて図3bに示したようにウィンドウ単位でバックワード処理を最初に行う処理順序を想定する。置換処理部901による各メモリからのデータの読み出しもこれに合わせて行う。MMqBKMとする。このとき、アドレス生成部800は、通常の並列化で要素符号1の復号のときには、すべてのメモリに共通にウィンドウ単位で、W1W2...102W12W2...W3W13W2...とアドレスを生成する。また、アドレス生成部800は、通常の並列化で要素符号2の復号のときには、情報受信値メモリ801および外部情報メモリ803からのデータ読み出しのために、Π11modBπmodB...πBW1modBΠ11modBπmodB...πBW2modBΠ11modBπmodB...πB1modBΠ11modBπmodB...πBmodBΠ11modBπmodB...πB2W1modBΠ11modBπmodB...πB2W2modBと各メモリのアドレスを生成する。ここでターボ符号のインターリーブ処理は、情報系列uuuuをuuuの順序に並べ直すものとすると、Π11は逆変換処理部905による逆変換処理を表し、各メモリと複数SISO復号器との対応を与える。amodBはaのBによる剰余で、0からB1までの値とする。LTELongTermEvolutionインターリーバではπmodBπmodBπBzmodBが成り立つため、要素符号2のときもすべてのメモリで同一アドレスとすることができる。また、アドレス生成部800は、通常の並列化でパリティ2の読み出しのために、BnW1BnW2...Bn1BnBn2W1Bn2W2...BnWBn3W1Bn3W2...とアドレスを生成する。また、アドレス生成部800は、要素符号の同時復号において、要素符号1のSISO復号の入力に対応するメモリU0U1UMn1およびE0E1EMn1については、上述の要素符号1の復号のときと同様に、また要素符号2のSISO復号の入力に対応するメモリUMnUMn1U2Mn1およびEMnEMn1E2Mn1については、上述の要素符号2の復号のときと同様に、それぞれアドレスを生成する。また、アドレス生成部800は、要素符号の同時復号でのパリティに関してはP0P2M1まで共通に通常の並列化における要素符号1の場合と同様にアドレスを生成する。硬判定部1001は、図12に示すように配置され、情報受信値メモリ801から読み出した情報受信値、外部情報メモリ803から読み出した事前情報としての外部情報、および軟入力軟出力復号部5によって生成される外部情報を用いて硬判定を行う。ここで、硬判定部1001の構成を図13に示す。硬判定部1001は、テンポラリメモリ1002と、アドレス制御部1003と、硬判定メモリ1004と、硬判定回路1005とを有している。テンポラリメモリ1002は、情報受信値および事前情報を外部情報が生成されるまで一時的に保持するメモリである。アドレス制御部1003は、テンポラリメモリ1002および硬判定メモリ1004のリード/ライトのアドレスを生成する。硬判定回路1005は、情報受信値x、事前情報Laおよび外部情報Leから式2によってLを生成する処理を実行する回路である。硬判定回路1005は、Lの正負に基づき復号結果0または1を判定する。要素符号の同時復号を行う場合には要素符号1の硬判定結果のみをみれば十分であるため、硬判定回路1005のセレクタは、図11のスワップ処理部908によってスワップされた要素符号1の外部情報を要素符号1の受信値と外部情報に対応するように戻す処理を行う。同時復号選択部1100は、本発明の第1の実施の形態の同時復号選択部2と同様に構成され、さらに、その選択結果を、アドレス生成部800、置換部905、硬判定部1001および軟入力軟出力復号部5に出力する。以上のように構成されたターボ符号復号装置20が、3GPPLTEのターボ符号に対する復号を行う例について以下、説明する。3GPPLTEのターボ符号では前述のようにMn8まではすべてのインターリーバサイズKにおいてメモリアクセスの競合を回避することができるが、ここでは、M8n2を適用したターボ符号復号装置20の例を、要素符号の同時復号を選択した場合を中心に示す。ターボ符号復号装置20は、M8n2に対して、図10に示したように、情報受信値、パリティ受信値および外部情報を格納するメモリとして、それぞれM×n16個のメモリを用いる。LTEインターリーバの最大長は6144のため、図10において、情報受信値と外部情報の1個あたりのメモリのサイズ深さは614416384となる。また、パリティ受信値のメモリのサイズ深さはパリティ1とパリティ2の受信値を併せて384×2768となる。前述のように、LTEインターリーバでは512以上のKに対しては通常の並列化で符号トレリスを8個に分割してradix22のSISO復号器を8個用いることにより、メモリアクセスの競合を回避して並列復号を実行させることができる。よって、ターボ符号復号装置20は、要素符号の同時復号を行うときのインターリーブサイズの上限Ksとして512を設定することが好ましい。このとき、ターボ符号復号装置20において、インターリーバの最大長6144はKsの2倍より大であるため、要素符号の同時復号を行ってもメモリ容量の増加を必要としない。ターボ符号復号装置20は、KKs512でq2の場合には、M4n2として2個の要素符号の同時復号を実行する。例えばK504のときはq2となり、図8のステップS2で要素符号の同時復号が選択される。なお、ターボ符号復号装置20は、K512であれば、q1とすることが可能な場合であってもq2として処理を行ってもよい。まず、情報受信値メモリ801は、メモリ以下、メモリを省略U0...U15においてq2の場合には情報受信値をMMq4個のブロックに分割してU0からU7に格納する。xでj番目の情報受信値を表すとする。ブロック長をBKMとおく。情報受信値メモリ801は、d番目のブロックの受信値xに対してj0mod2のxはU2dに、j1mod2のxはU2d1に格納する。K504のとき、BKM126でU0U7には次のように126n126263個の情報受信値が格納される。U0xxxxU1xxxxU2xxxxU3xxxxU4xxxxU5xxxxU6xxxxU7xxxxここで、要素符号の同時復号では、U8U15にもU0U7と同一の受信値が格納される。LTEインターリーバでは通常の並列化ではU0からU15まで常に同一のアドレスでアクセスされ、また要素符号の同時復号ではU0からU7とU8からU15はそれぞれ同一のアドレスでアクセスされる。このため、U0からU7とU8からU15はそれぞれ1個のメモリで構成することもできる。また、パリティ受信値メモリ802は、要素符号の同時復号ではP0からP7には要素符号1のパリティ受信値を、P8からP15には要素符号2のパリティ受信値を格納する。y1とy2で要素符号1および要素符号2のパリティのj番目の受信値を表すとすると、要素符号の同時復号を行うK504のとき、パリティ受信値メモリには次のようにパリティ受信値が格納される。P0y1y1y1y1P1y1y1y1y1P2y1y1y1y1P3y1y1y1y1P4y1y1y1y1P5y1y1y1y1P6y1y1y1y1P7y1y1y1y1P8y2y2y2y2P9y2y2y2y2P10y2y2y2y2P11y2y2y2y2P12y2y2y2y2P13y2y2y2y2P14y2y2y2y2P15y2y2y2y2ここで、P0P15は通常の並列化でも要素符号の同時復号でも同一のアドレスでアクセスされるため、1個のメモリで実現することができる。また、外部情報メモリ803は、情報受信値メモリ801と同様に、要素符号の同時復号ではメモリ以下、メモリを省略E0E7には要素符号2のSISO復号の出力である外部情報を、E8E15には要素符号1のSISO復号の出力である外部情報を格納する。e1とe2が、要素符号1および要素符号2の出力で得られるuに対する外部情報を表すとすると、K504のときには外部情報メモリには次のように外部情報が格納される。E0e2e2e2e2E1e2e2e2e2E2e2e2e2e2E3e2e2e2e2E4e2e2e2e2E5e2e2e2e2E6e2e2e2e2E7e2e2e2e2E8e1e1e1e1E9e1e1e1e1E10e1e1e1e1E11e1e1e1e1E12e1e1e1e1E13e1e1e1e1E14e1e1e1e1E15e1e1e1e1ここで、LTEインターリーバでは、E0からE7とE8からE15はそれぞれ同一のアドレスでアクセスされるため、それぞれ1個のメモリで実現することができる。次にK504のLTEインターリーバを用いたターボ符号に対する要素符号の同時復号の処理について述べる。K504のLTEインターリーバは非特許文献3を参照すると、uumod504とインターリーブ処理を行う。MMq4で、radix22とする。8個のSISO復号器の中の4個のSISO復号器0、1、2および3で要素符号1の復号を実行し残りの4個のSISO復号器4、5、6および7で要素符号2の復号を同時に実行する。各ブロックにおけるSISO復号は図3bに示したようなウィンドウサイズWを用いたスケジュールを考える。つまり、各ブロックにおいて符号トレリスの時点としてn2に対応して2時点ずつ......の順序でメモリからデータを読み込み、MAPアルゴリズムのバックワード処理を最初に動作させる。以下、ウィンドウサイズWは16に設定してtime01の場合の処理を示す。time0:まず、time0での処理について説明する。情報受信値メモリ801および外部情報メモリ803のリードアドレスはad10ad117であるため、情報受信値メモリU0U7外部情報メモリE0E7から次のような情報受信値および事前情報が読み出されることになる。xxxxxxxxe2e2e2e2e2e2e2e2また、メモリP0P1P2P3P4P5P6P7に対してリードアドレスadp0adp17から次のようなパリティ受信値が読み出されることになる。y1y1y1y1y1y1y1y1そこで、まず、SISO復号器0は、xxe2e2y1y1を読み込んで図3bにおける最初のタイムスロットのバックワード処理を開始する。SISO復号器0は、読み込んだ受信値と外部情報とに基づいて、要素符号1のブランチメトリックγγを計算し、これらの外部情報生成が終わるまで復号器内部で一時的に保存する。また、SISO復号器1、2および3は、SISO復号器0と同様に処理を行う。また、SISO復号器4、5、6および7は、要素符号2の復号に関して次のように受信値、事前情報およびパリティ受信値を読み込む。SISO復号器4:情報受信値xxxx事前情報e1e1e1e1パリティ2受信値y2y2SISO復号器5:情報受信値xxxx事前情報e1e1e1e1パリティ2受信値y2y2SISO復号器6:情報受信値xxxx事前情報e1e1e1e1パリティ2受信値y2y2SISO復号器7:情報受信値xxxx事前情報e1e1e1e1パリティ2受信値y2y2読み込んだ受信値と事前情報から、SISO復号器4、5、6および7は、それぞれ要素符号2のブランチメトリックγγγγを計算し、計算したブランチメトリックを、対応する時点の外部情報生成が終わるまで復号器内部に一時的に保存する。SISO復号器へのこのようなデータのアサインはU8U10U12U14およびE8E10E12E14のリードアドレスad20U9U11U13U15およびE9E11E13E15に対するリードアドレスad21U8U10U12U14およびE8E10E12E14から読み出したデータの置換処理Π20、U9U11U13U15およびE9E11E13E15から読み出したデータの置換処理Π21を次のように設定することで実現できる。xはx以下の最大の整数を表す。ad20222249ad21222234Π20xxx→xxxe1e1e1→e1e1e1Π21xxx→xxxe1e1e1→e1e1e1次に、SISO復号器0、1、2および3は、生成した外部情報e1e1e1e1e1e1e1e1をそれぞれメモリE8E15に書き込む。同時に、SISO復号器4、5、6および7は、生成した外部情報e2e2e2e2e2e2e2e2を、それぞれメモリE0E7に書き込む。time1:次に、time1での処理について説明する。ここでは、要素符号1の復号の情報受信値メモリおよび外部情報メモリのリードドレスはad10ad116であり、U0U7E0E7からは次のような情報受信値および外部情報が読み出されることになる。xxxxxxxxe2e2e2e2e2e2e2e2また、メモリP0P1P2P3P4P5P6P7からは、リードアドレスのadp0adp16によって次のようなパリティ1受信値が読み出されることになる。y1y1y1y1y1y1y1y1そこで、SISO復号器0は、xxe2e2y1y1を読み込んでバックワード処理を進める。読み込んだ受信値と外部情報から、SISO復号器0は、要素符号1のブランチメトリックγγを計算し、これらの外部情報生成が終わるまでSISO復号器内部で一時的に保存する。SISO復号器1、2および3は、SISO復号器0と同様に処理を行う。一方、SISO復号器4、5、6および7は、要素符号2の復号に関して次のように受信値、事前情報およびパリティ受信値を読み込む。SISO復号器4:情報受信値xxxx事前情報e1e1e1e1パリティ2受信値y2y2SISO復号器5:情報受信値xxxx事前情報e1e1e1e1パリティ2受信値y2y2SISO復号器6:情報受信値xxxx事前情報e1e1e1e1パリティ2受信値y2y2SISO復号器7:情報受信値xxxx事前情報e1e1e1e1パリティ2受信値y2y2読み込んだ受信値と外部情報から、SISO復号器4、5、6および7は、それぞれ要素符号2のブランチメトリックγγγγを計算し、このブランチメトリックを、対応する時点の外部情報生成が終わるまで復号器内部に一時的に保存する。SISO復号器へのこのようなデータの割り当てはU8U10U12U14およびE8E10E12E14のリードアドレスad20U9U11U13U15およびE9E11E13E15に対するリードアドレスad21U8U10U12U14とE8E10E12E14から読み出したデータの置換処理Π20、U9U11U13U15とE9E11E13E15から読み出したデータの置換処理Π21を次のように設定することで実現できる。ad20222215ad21222221Π20xxx→xxxe1e1e1→e1e1e1Π21xxx→xxxe1e1e1→e1e1e1SISO復号器0、1、2および3は、生成した外部情報e1e1e1e1e1e1e1e1をそれぞれメモリE8E15に書き込む。また、SISO復号器4、5、6および7は、生成した外部情報e2e2e2e2e2e2e2e2を、それぞれメモリE0E7に書き込む。図14に、K504のLTEインターリーバに本発明の第2の実施の形態としてのターボ符号復号装置20を適用したときの復号特性を示す。図14において、特性公知:W16It8は、公知のターボ符号復号装置によってメモリアクセスの競合を無視してM8n2として通常の並列化で復号をおこなったときの8iterationでの復号特性を示している。特性公知:W16It45は、公知のターボ符号復号装置によってメモリアクセスの衝突を考慮してM4n2として復号を実行し、同一の復号処理サイクル数という条件の下で45iteration復号処理を実行したときの復号特性を示している。一方、特性改良:W16It9は同一の復号処理サイクル数という条件の下でM4n2として本発明の第2の実施の形態としてのターボ復号装置2によって要素符号の同時復号を実行したときの復号特性を示している。図14からわかるように、要素符号の同時復号を併用することで、K504の場合にもM8n2とする並列化が可能と仮定した場合と同程度の特性が得られ、M4とした通常の並列化と比較すると02dB程度の符号化利得の改善をみることができる。要素符号の同時復号では外部情報の更新の遅延が小さいほど特性の改善を見ることができるため、ウィンドウサイズWを小さくすることで特性の改善を見ることができる場合もある。また、図14において、特性改良:W8It10は、ウィンドウサイズをW8として、同一の復号処理サイクル数という条件の下で、本発明の第2の実施の形態としてのターボ符号復号装置20によって要素符号の同時復号を実行したときの信号特性を示している。このとき、図3のバックワード処理のトレーニング期間が小さくなって繰り返し数が10に増えたこともあり、W16と比較してわずかではあるが復号特性が改善されていることがわかる。このように、本発明の第2の実施の形態において、誤り訂正符号復号装置は、通常の並列化か要素符号の同時復号かによってWの設定を変更してもよい。また、適切なWのサイズは符号化率にも依存するため、このとき符号化率も考慮してWを設定すると効果的である。次に、本発明の第2の実施の形態のターボ符号復号装置20の効果について述べる。本発明の第2の実施の形態としてのターボ符号復号装置は、上述のように構成することにより、通常の並列化のみでは利用するSISO復号器の個数を小さくする必要があったインターリーバサイズに対してもその個数を大きくすることが可能となり、同一特性を達成するための処理速度もしくは同一処理速度であれば特性の改善を達成することができる。また、本発明の第2の実施の形態としてのターボ符号復号装置は、情報受信値メモリおよび外部情報メモリの容量の増加を必要としない。なぜなら、ターボ符号復号装置は、情報受信値メモリおよび外部情報メモリのサイズのトータルを最大インターリーバサイズ以上に設定し、この最大インターリーバサイズの12以下のインターリーバサイズの場合のみに2個の要素符号の同時復号を選択可能にするからである。なお、本発明の第2の実施の形態では、複数のメモリから読み出した情報受信値および外部情報を複数のSISO復号器にアサインする本発明の置換手段として、要素符号の同時復号を行う場合には通常の並列化とは異なる入出力サイズの回路を必要とすることになる。しかしながら、この置換手段では、入出力数が最大となる通常の並列化の場合の処理が支配的となるため、本発明において2個の要素符号の復号を同時に行う処理に対応するためのオーバーヘッドは限定的となる。上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。付記1情報の畳込み符号である第1の要素符号と、インターリーバによって置換された前記情報の畳込み符号である第2の要素符号と、前記情報とを含む符号化情報の受信情報に対して繰り返し復号を実行する誤り訂正符号復号装置において、前記インターリーバのサイズに応じて前記第1および第2の要素符号を同時復号するか否かを選択する同時復号選択手段と、前記受信情報を、前記同時復号選択手段の選択結果に応じた位置に格納する受信情報格納手段と、前記第1および第2の要素符号にそれぞれ対応する外部情報を、前記同時復号選択手段の選択結果に応じた位置に格納する外部情報格納手段と、前記第1および第2の要素符号が分割された各ブロックに対して前記受信情報および前記外部情報に基づく軟入力軟出力復号を並列に実行して前記外部情報をそれぞれ出力する複数の軟入力軟出力復号器を有し、前記同時復号選択手段によって同時復号が選択されなかった場合は、前記第1の要素符号の復号および前記第2の要素符号の復号を順次実行して繰り返し、前記同時復号選択手段によって同時復号が選択された場合は、前記第1および第2の要素符号を同時に復号して繰り返す軟入力軟出力復号手段と、を備えた誤り訂正符号復号装置。付記2前記同時復号選択手段は、前記インターリーバのサイズが、前記複数の軟入力軟出力復号器の個数の倍数ではない場合に前記第1および第2の要素符号の同時復号を選択することを特徴とする付記1に記載の誤り訂正符号復号装置。付記3前記同時復号選択手段は、前記インターリーバのサイズが予め定められた値よりも小さい場合に前記第1および第2の要素符号の同時復号を選択することを特徴とする付記1に記載の誤り訂正符号復号装置。付記4前記同時復号選択手段は、前記インターリーバのサイズがあらかじめ定められた値である場合に前記第1および第2の要素符号の同時復号を選択することを特徴とする付記1に記載の誤り訂正符号復号装置。付記5前記同時復号選択手段によって前記同時復号が選択された場合に、前記受信情報格納手段は、前記受信情報のうち前記情報に対応する情報受信値を二重に格納し、前記外部情報格納手段は、前記第1の要素符号の復号結果である外部情報を、前記第2の要素符号を復号する前記軟入力軟出力復号器によって読み込まれるよう格納し、前記第2の要素符号の復号結果である外部情報を、前記第1の要素符号を復号する前記軟入力軟出力復号器によって読み込まれるよう格納することを特徴とする付記1から付記4のいずれかに記載の誤り訂正符号復号装置。付記6前記情報受信値および前記外部情報を、前記同時復号選択手段の選択結果に応じたサイズで置換して、前記受信情報格納手段および前記外部情報格納手段と前記軟入力軟出力復号手段との間で入出力する置換手段をさらに備えたことを特徴とする付記1から付記5のいずれかに記載の誤り訂正符号復号装置。付記7前記同時復号選択手段によって前記同時復号が選択された場合に、前記第1および第2のいずれかの要素符号の軟出力に基づいて硬判定を行う硬判定手段をさらに備えたことを特徴とする付記1から付記6のいずれかに記載の誤り訂正符号復号装置。付記8前記軟入力軟出力復号手段は、前記第1および第2の要素符号の軟入力軟出力復号をウィンドウを用いて局所的に実行し、前記同時復号選択手段によって前記同時復号が選択された場合には、前記ウィンドウのサイズを変更することを特徴とする付記1から付記7のいずれかに記載の誤り訂正符号復号装置。付記9前記軟入力軟出力復号手段は、さらに符号化率に基づいて前記ウィンドウのサイズを決定することを特徴とする付記1から付記8のいずれかに記載の誤り訂正符号復号装置。付記10情報の畳込み符号である第1の要素符号と、インターリーバによって置換された前記情報の畳込み符号である第2の要素符号と、前記情報とを含む符号化情報の受信情報に対して繰り返し復号を実行する誤り訂正符号復号装置が、前記インターリーバのサイズに応じて前記第1および第2の要素符号を同時復号するか否かを選択し、前記受信情報を、前記同時復号の選択結果に応じた位置で受信情報格納手段に格納し、前記第1および第2の要素符号にそれぞれ対応する外部情報を、前記同時復号の選択結果に応じた位置で外部情報格納手段に格納し、前記第1および第2の要素符号が分割された各ブロックに対して前記受信情報および前記外部情報に基づく軟入力軟出力復号を並列に実行して前記外部情報をそれぞれ出力する複数の軟入力軟出力復号器を用いて、前記同時復号を選択しなかった場合は、前記第1の要素符号の復号および前記第2の要素符号の復号を順次実行して繰り返し、前記同時復号を選択した場合は、前記第1および第2の要素符号を同時に復号して繰り返す、誤り訂正符号復号方法。付記11情報の畳込み符号である第1の要素符号と、インターリーバによって置換された前記情報の畳込み符号である第2の要素符号と、前記情報とを含む符号化情報の受信情報に対して繰り返し復号を実行する誤り訂正符号復号装置に、前記インターリーバのサイズに応じて前記第1および第2の要素符号を同時復号するか否かを選択する同時復号選択ステップと、前記受信情報を、前記同時復号選択手段の選択結果に応じた位置で受信情報格納手段に格納する受信情報格納ステップと、前記第1および第2の要素符号にそれぞれ対応する外部情報を、前記同時復号の選択結果に応じた位置で外部情報格納手段に格納する外部情報格納ステップと、前記第1および第2の要素符号が分割された各ブロックに対して前記受信情報および前記外部情報に基づく軟入力軟出力復号を並列に実行して前記外部情報をそれぞれ出力する複数の軟入力軟出力復号器を用いて、前記同時復号を選択しなかった場合は、前記第1の要素符号の復号および前記第2の要素符号の復号を順次実行して繰り返し、前記同時復号を選択した場合は、前記第1および第2の要素符号を同時に復号して繰り返す軟入力軟出力復号ステップと、を実行させる誤り訂正符号復号プログラム。以上、各実施の形態を参照して本願発明を説明したが、本願発明は上記各実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。この出願は、2010年3月8日に出願された日本出願特願2010-050246号を基礎とする優先権を主張し、その開示の全てをここに取り込む。