(57)【要約】【課題】  Ｗ−ＣＤＭＡに準拠し、さらに符号化処理を高速化する。【解決手段】  並列化処理部３１はビットを複数の列に分配する。Ｄ（＝ｅplus数）算出部３２は、レートマッチングの基本パラメータｅini ，ｅplus，ｅminus に基づいて反復／削除ビットを判定するとともに、累積反復／削除ビット数Ｄを算出する。出力位置制御部３３は、レートマッチング・第１インタリーブ部として機能し、Ｄ算出部３２で判定されたビットを反復または削除するとともに、累積反復／削除ビット数Ｄに基づいて複数のビットをあらためて複数の列に再分配し、再分配で得られた複数の列のうち少なくとも二列のビットを入れ替える。【選択図】        図３
2005039672.tif 000002
【特許請求の範囲】
【請求項１】
送信対象のデータビットストリームから、同時に作成される複数の無線フレームの数と同数のビットを取り出し、これらのビットを前記無線フレームの数と同数の複数の列に規則的に分配する並列化処理部と、
レートマッチングの基本パラメータを算出するパラメータ算出部と、
前記列に分配された各ビットに付与された前記データビットストリーム中のビット番号と前記基本パラメータに基づいて、前記列に分配された前記複数のビットのうち反復または削除されるべきビットを判定する反復／削除判定部と、
前記列に分配された各ビットについて、前記データビットストリーム中の反復または削除される先行ビットと当該ビットの合計個数である累積反復／削除ビット数を算出する累積反復／削除ビット数算出部と、
前記並列化処理部により前記列に分配された前記複数のビットのうち、前記反復／削除判定部で反復または削除すべきと判定されたビットを反復または削除するとともに、前記累積反復／削除ビット数に基づいて複数のビットをあらためて複数の列に再分配し、前記再分配で得られた複数の列のうち少なくとも二列のビットを互いに入れ替えて、前記再分配および前記入れ替えがされた列のビットをそれぞれ前記複数の無線フレームに格納するレートマッチング・第１インタリーブ部を備えた無線通信装置の符号化処理装置。
【請求項２】
反復／削除判定部は、並列化処理部により列に分配された複数のビットの各々を反復または削除すべきか否かを並列に判定するための複数の反復／削除判定ユニットを備え、
累積反復／削除ビット数算出部は、並列化処理部により列に分配された複数のビットの各々について累積反復／削除ビット数を並列に算出するための累積反復／削除ビット数算出ユニットを備え、
レートマッチング・第１インタリーブ部は、並列化処理部により列に分配された複数のビットの各々について、対応する前記累積反復／削除ビット数に基づいて、再分配すべき列を算出する複数の出力位置算出部と、
並列化処理部により前記列に分配された前記複数のビットの各々を、対応する反復／削除判定ユニットで反復または削除すべきであると判定された場合に反復または削除するとともに、前記出力位置算出部で算出された列に再分配する複数の再分配制御部を備えたことを特徴とする請求項１記載の無線通信装置の符号化処理装置。
【請求項３】
レートマッチング・第１インタリーブ部は、列の数より多い複数のビット格納部と、各ビット格納部からビットを読み出して無線フレームに格納するデータ出力ユニットを備えており、
出力位置算出部の各々は、各ビットを格納すべき前記ビット格納部の位置を算出し、
再分配制御部の各々は、前記出力位置算出部で算出された位置の前記ビット格納部に各ビットを格納し、
前記データ出力ユニットは、一度に前記無線フレームの数と同数のビットを前記ビット格納部から読み出して、これらのビットのうち少なくとも二つのビットを入れ替えて前記複数の無線フレームに格納することを特徴とする請求項２記載の無線通信装置の符号化処理装置。
【請求項４】
直前に再分配された複数のビットのうち最終ビットが再分配された列に基づいて、次に再分配すべき複数のビットのうち最初のビットが再分配されるべき初期列を算出する初期位置算出部をさらに備え、
レートマッチング・第１インタリーブ部は、次に再分配すべき複数のビットを前記初期列を先頭とする複数の列に再分配することを特徴とする請求項１記載の無線通信装置の符号化処理装置。
【請求項５】
ターボ符号化されたデータビットストリームをシステマティックビットと第１のパリティビットと第２のパリティビットに分割するビット分割部と、
システマティックビットのストリームから、同時に作成される複数の無線フレームの数と同数のシステマティックビットを取り出し、これらのシステマティックビットを前記無線フレームの数と同数の複数の列に規則的に分配する第１の並列化処理部と、
第１のパリティビットのストリームから、同時に作成される複数の無線フレームの数と同数の第１のパリティビットを取り出し、これらの第１のパリティビットを前記無線フレームの数と同数の複数の列に規則的に分配する第１の並列化処理部と、
第２のパリティビットのストリームから、同時に作成される複数の無線フレームの数と同数の第２のパリティビットを取り出し、これらの第２のパリティビットを前記無線フレームの数と同数の複数の列に規則的に分配する第２の並列化処理部と、
レートマッチングの基本パラメータを算出するパラメータ算出部と、
前記列に分配された各第１のパリティビットに付与された前記第１のパリティビットのストリーム中のビット番号と前記基本パラメータに基づいて、前記列に分配された前記複数の第１のパリティビットのうち削除されるべきビットを判定する第１の削除判定部と、
前記列に分配された各第２のパリティビットに付与された前記第２のパリティビットのストリーム中のビット番号と前記基本パラメータに基づいて、前記列に分配された前記複数の第２のパリティビットのうち削除されるべきビットを判定する第２の削除判定部と、
前記列に分配された各第１のパリティビットについて、前記第１のパリティビットのストリーム中の削除される先行ビットと当該ビットの合計個数である第１の累積削除ビット数を算出する第１の累積削除ビット数算出部と、
前記列に分配された各第２のパリティビットについて、前記第２のパリティビットのストリーム中の削除される先行ビットと当該ビットの合計個数である第２の累積削除ビット数を算出する第２の累積削除ビット数算出部と、
前記第２の並列化処理部および前記第３の並列化処理部により前記列に分配された前記複数の第１のパリティビットおよび前記複数の第２のパリティビットのうち、前記第１の削除判定部および前記第２の削除判定部で削除すべきと判定されたビットを削除するとともに、前記第１の累積削除ビット数および前記第２の累積削除ビット数に基づいて複数のシステマティックビット、第１のパリティビットおよび第２のパリティビットをあらためて複数の列に再分配し、前記再分配で得られた複数の列のうち少なくとも二列のビットを互いに入れ替えて、前記再分配および前記入れ替えがされた列のビットをそれぞれ前記複数の無線フレームに格納するレートマッチング・第１インタリーブ部を備えた無線通信装置の符号化処理装置。
【請求項６】
受信対象のデータビットストリームから、同受信サイクルで受信される複数の無線フレームの数と同数のビットを取り出し、これらのビットを前記無線フレームの数と同数の複数の列に規則的に分配する並列化処理部と、
レートデマッチングの基本パラメータを算出するパラメータ算出部と、
前記列に分配された各ビットに付与された前記データビットストリーム中のビット番号と前記基本パラメータに基づいて、前記列に分配された前記複数のビットのうち反復または削除されるべきビットを判定する反復／削除判定部と、
前記列に分配された各ビットについて、前記データビットストリーム中の反復または削除される先行ビットと当該ビットの合計個数である累積反復／削除ビット数を算出する累積反復／削除ビット数算出部と、
前記並列化処理部により前記列に分配された前記複数のビットのうち、前記反復／削除判定部で反復または削除すべきと判定されたビットを反復または削除するとともに、前記累積反復／削除ビット数に基づいて複数のビットをあらためて複数の列に再分配するレートデマッチング部と、
前記レートデマッチング部による再分配で得られた複数の列を、これらのうち少なくとも二列を互いに入れ替えながら読み出して結合する第１デインタリーブ・無線フレーム結合部を備えた無線通信装置の復号化処理装置。
【請求項７】
反復／削除判定部は、並列化処理部により列に分配された複数のビットの各々を反復または削除すべきか否かを並列に判定するための複数の反復／削除判定ユニットを備え、
累積反復／削除ビット数算出部は、並列化処理部により列に分配された複数のビットの各々について累積反復／削除ビット数を並列に算出するための累積反復／削除ビット数算出ユニットを備え、
レートデマッチング部は、並列化処理部により列に分配された複数のビットの各々について、対応する前記累積反復／削除ビット数に基づいて、再分配すべき列を算出する複数の出力位置算出部と、
並列化処理部により前記列に分配された前記複数のビットの各々を、対応する反復／削除判定ユニットで反復または削除すべきであると判定された場合に反復または削除するとともに、前記出力位置算出部で算出された列に再分配する複数の再分配制御部を備えたことを特徴とする請求項６記載の無線通信装置の復号化処理装置。
【請求項８】
レートデマッチング部は、列の数より多い複数のビット格納部と、各ビット格納部からビットを読み出して無線フレームに格納するデータ出力ユニットを備えており、
出力位置算出部の各々は、各ビットを格納すべき前記ビット格納部の位置を算出し、
再分配制御部の各々は、前記出力位置算出部で算出された位置の前記ビット格納部に各ビットを格納し、
前記データ出力ユニットは、一度に前記無線フレームの数と同数のビットを前記ビット格納部から読み出して、前記列に再分配することを特徴とする請求項７記載の無線通信装置の復号化処理装置。
【請求項９】
直前に再分配された複数のビットのうち最終ビットが再分配された列に基づいて、次に再分配すべき複数のビットのうち最初のビットが再分配されるべき初期列を算出する初期位置算出部をさらに備え、
レートデマッチング部は、次に再分配すべき複数のビットを前記初期列を先頭とする複数の列に再分配することを特徴とする請求項６記載の無線通信装置の復号化処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、Ｗ−ＣＤＭＡ（wideband code division multiple access）による無線通信装置の符号化処理装置および復号化処理装置に関する。
【背景技術】
【０００２】
従来のＷ−ＣＤＭＡ無線通信装置におけるデータ送受信時の符号化／復号化処理の高速化技術の一つに、例えば特許文献１に開示されたレートマッチング／デマッチング処理がある。この技術によれば、処理データを複数に分割して得られたそれぞれのデータブロックに対して、挿入（リピティション）または削除（パンクチャ）すべきビットを決定可能としている。
【０００３】
所望のデータ転送レートに適合するように、ビットを挿入または削除するレートマッチングの手法は、３ＧＰＰ（3rd Generation Partnership Project）の仕様書の一つである3GPP TS25.212のSubclause 4.2.7に規定されている。3GPP TS25.212 のSubclause 4.2.7.5 に規定されたレートマッチングパターン決定アルゴリズムはシリアルな入力ビットの各々に順次適用されることにより、各ビットを挿入または削除すべきか否かビットが特定される。これに対して、特許文献１に開示された技術は、このレートマッチングパターン決定アルゴリズムから導出したアルゴリズムにより、複数のデータブロックの各々について挿入または削除すべきビットを決定することによって、複数のデータブロックに同時に並列にレートマッチング／デマッチング処理を実行する。これにより、高速なレートマッチング／デマッチング処理を実現することが出来る。
【０００４】
【特許文献１】特開２００２−１９９０４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
Ｗ−ＣＤＭＡ無線通信装置におけるデータ送受信時の符号化処理および復号化処理は、データ転送レートが増加すればそれだけ高速化することが求められる。特許文献１に開示されたレートマッチング／デマッチング装置は以上のように構成されているので、レートマッチング／デマッチング部のみの処理は高速化することは可能であるが、第１インタリーブ／第１デインタリーブなどの処理を高速化することはできない。
【０００６】
この発明は上記のような課題を解決するためになされたもので、第１の目的は、Ｗ−ＣＤＭＡに準拠しておりさらに符号化処理および復号化処理を高速化することが可能な無線通信装置の符号化処理装置および復号化処理装置を得るものである。
【課題を解決するための手段】
【０００７】
この発明に係る無線通信装置の符号化処理装置は、送信対象のデータビットストリームから、同時に作成される複数の無線フレームの数と同数のビットを取り出し、これらのビットを前記無線フレームの数と同数の複数の列に規則的に分配する並列化処理部と、レートマッチングの基本パラメータを算出するパラメータ算出部と、前記列に分配された各ビットに付与された前記データビットストリーム中のビット番号と前記基本パラメータに基づいて、前記列に分配された前記複数のビットのうち反復または削除されるべきビットを判定する反復／削除判定部と、前記列に分配された各ビットについて、前記データビットストリーム中の反復または削除される先行ビットと当該ビットの合計個数である累積反復／削除ビット数を算出する累積反復／削除ビット数算出部と、前記並列化処理部により前記列に分配された前記複数のビットのうち、前記反復／削除判定部で反復または削除すべきと判定されたビットを反復または削除するとともに、前記累積反復／削除ビット数に基づいて複数のビットをあらためて複数の列に再分配し、前記再分配で得られた複数の列のうち少なくとも二列のビットを互いに入れ替えて、前記再分配および前記入れ替えがされた列のビットをそれぞれ前記複数の無線フレームに格納するレートマッチング・第１インタリーブ部を備えたものである。
【発明の効果】
【０００８】
この発明は、並列化処理部が送信対象のデータビットストリームから、同時に作成される複数の無線フレームの数と同数のビットを取り出し、これらのビットを無線フレームの数と同数の複数の列に規則的に分配する。また、パラメータ算出部は、レートマッチングの基本パラメータｅini ，ｅplus，ｅminus を算出する。さらに、反復／削除判定部は、列に分配された各ビットに付与されたデータビットストリーム中のビット番号ｍと基本パラメータｅini ，ｅplus，ｅminus に基づいて、列に分配された複数のビットのうち反復または削除されるべきビットを判定する。さらにまた、累積反復／削除ビット数算出部は、列に分配された各ビットについて、データビットストリーム中の反復または削除される先行ビットと当該ビットの合計個数である累積反復／削除ビット数Ｄを算出する。レートマッチング・第１インタリーブ部は、並列化処理部により列に分配された複数のビットのうち、反復／削除判定部で反復または削除すべきと判定されたビットを反復または削除するとともに、累積反復／削除ビット数Ｄに基づいて複数のビットをあらためて複数の列に再分配し、再分配で得られた複数の列のうち少なくとも二列のビットを互いに入れ替えて、再分配および入れ替えがされた列のビットをそれぞれ複数の無線フレームに格納する。このように、累積反復／削除ビット数Ｄに基づいて複数のビットをあらためて複数の列に再分配することにより、高速にビットの再分配を完了することができ、さらに再分配で得られた複数の列のうち少なくとも二列のビットを入れ替えるだけで第１インタリーブが完了する。従って、レートマッチングで得られたビット自体に基づいてビットの再分配および第１インタリーブをする場合に比べて、高速にビットの再分配および第１インタリーブを完了することが可能である。また、並列化処理部で複数の列に分配すなわち並列化されたビットに対してレートマッチングを行い、列の入れ替えで第１インタリーブを行うので、第１インタリーブ結果は複数の無線フレームに対応しており、無線フレーム分割をあらためて実行する必要がない。以上より、Ｗ−ＣＤＭＡに準拠しながらも、さらに符号化処理を高速化することが可能であるという効果がある。
【発明を実施するための最良の形態】
【０００９】
以下、この発明に係る様々な実施の形態を説明する。
実施の形態１．
図１は、Ｗ−ＣＤＭＡによる無線通信システムの下りデータ送信時の符号化処理の概要を示す図である。上位アプリケーションから転送されたトランスポートブロックには、ステップＳＴ１０においてＣＲＣ（巡回冗長検査）コードが付加される。ＣＲＣコードが付加されたトランスポートブロックはステップＳＴ１１において、畳み込み符号化またはターボ符号化処理により符号化される。符号化されたトランスポートブロックすなわちデータブロックは、ステップＳＴ１２のレートマッチング処理において、所望のデータ転送レートとなるようにビットの反復（レピテション）あるいは削除（パンクチャ）が施される。レートマッチングされたデータブロックはステップＳＴ１３において、第１インタリーブ処理を受け、ビット順序の並び替え処理が実行される。第１インタリーブされたデータブロックは、ステップＳＴ１４において時間長さが１０ｍｓの無線フレームに分割される。
【００１０】
ステップＳＴ１５において、トランスポートチャネル多重化が行われる。ここでは、複数のトランスポートチャネルの無線フレームを多重する。多重化された無線フレームは、ステップＳＴ１６において第２インタリーブ処理を受け、ステップＳＴ１７で物理チャネルにマッピングされる。マッピングされたデータはステップＳＴ１８でＱＰＳＫ（quadri-phase shit keying）により拡散変調され、ステップＳＴ１９でベースバンド信号からＲＦ（高周波）信号に変換された後、アンテナより送信される。
【００１１】
図２は、Ｗ−ＣＤＭＡによる無線通信システムの上りデータ受信時の復号化処理の概要を示す図である。アンテナで受信されたＲＦ信号は、ステップＳＴ２０でベースバンド信号に変換され、ステップＳＴ２１でベースバンド信号がＱＰＳＫの復調により逆拡散処理されて復号される。復号された物理チャネルのデータは、ステップＳＴ２２でトランスポートチャネルの多重化された無線フレームに結合され、ステップＳＴ２３で第２デインタリーブ処理される。次にステップＳＴ２４でトランスポートチャネル分割が行われる。ここでは、多重化された無線フレームが複数のトランスポートチャネルの無線フレームに分割される。
【００１２】
各トランスポートチャネルの無線フレームは、ステップＳＴ２５でビットの反復または削除をするレートデマッチング処理を受ける。レートデマッチングされた無線フレームは、ステップＳＴ２６で無線フレーム結合される。ここでは、無線フレームからトランスポートブロックが組み立てられる。トランスポートブロックはステップＳＴ２７で第１デインタリーブ処理される。第１デインタリーブ処理されたトランスポートブロックはステップＳＴ２８でビタビ復号あるいはターボ復号化処理で復号化され、ステップＳＴ２９のＣＲＣ検査後、上位アプリケーションに転送される。
【００１３】
この発明の実施の形態１に係る無線通信装置の符号化処理装置は、Ｗ−ＣＤＭＡによる無線通信システムの基地局に設けられ、図１の下りデータ送信のレートマッチング（ステップＳＴ１２）、第１インタリーブ（ステップＳＴ１３）および無線フレーム分割（ステップＳＴ１４）に適用される。さらに詳しくは、前段階で畳み込み符号化が行われた場合には、レートマッチングでビット反復とビット削除のいずれが使用される場合でもこの実施の形態１が適用され、前段階でターボ符号化が行われた場合にはレートマッチングでビット反復が使用される場合にこの実施の形態１が適用される。図３は、この発明の実施の形態１に係る符号化処理装置を示す機能ブロック図である。無線通信装置の他の構成要素の図示は省略する。
【００１４】
図３に示すように、この符号化処理装置は、パラメータ算出部３０、並列化処理部３１、Ｄ（＝ｅplus数）算出部（反復／削除判定部）３２、出力位置制御部（レートマッチング・第１インタリーブ部）３３、初期位置算出部３４および記憶装置３５を備える。パラメータ算出部３０は、実体としては無線通信装置のＣＰＵ（central processing unit)またはＤＳＰ（digital signal processor）であり、プログラムに従って動作する。並列化処理部３１、Ｄ算出部３２、出力位置制御部３３、初期位置算出部３４は、実体としてはそれぞれＦＰＧＡ（field programmable gate array)またはＬＳＩ（large scale integration)の一部である。記憶装置３５はＲＡＭ（random access memory）である。
【００１５】
パラメータ算出部３０は、レートマッチング処理に必要なパラメータであるｅini ，ｅplus，ｅminus を算出する。これらのパラメータは、上述した3GPP TS25.212 のSubclause 4.2.7 に規定されており、ｅini はレートマッチングパターン決定アルゴリズムの変数ｅの初期値であり、ｅplusは変数ｅの増分であり、ｅminus は変数ｅの減分である。パラメータ算出部３０は、データレートなどに基づいてこれらのパラメータの算出を同仕様書に準拠して行う。
【００１６】
3GPP TS25.212 のSubclause 4.2.7.5 によれば、パラメータｅini ，ｅplus，ｅminus を使用するレートマッチングパターン決定アルゴリズムは、図４に示す通りであるが、後述するようにこの実施の形態は図示のレートマッチングパターン決定アルゴリズムをさらに発展させたアルゴリズム（以下、「変数算出・反復／削除決定アルゴリズム」という）を利用する。なお、図４において、Ｘｉ はレートマッチング処理に入力されるビットの数であり、この明細書において後述する変数ｋに相当する。また、ｍは入力ビットストリーム中の各ビットに付与されたビット番号である。
【００１７】
パラメータ算出部３０は、これらのパラメータｅini ，ｅplus，ｅminus を算出した後、Ｄ（＝ｅplus数）算出部３２へパラメータｅini ，ｅplus，ｅminus を通知する。
【００１８】
また、既知である入力ビット数ｋ、第１インタリーブ列数（この実施の形態では同時に作成される無線フレームの数に等しい）ｎは、並列化処理部３１、Ｄ算出部３２および出力位置制御部３３へ予め通知されている。同時に作成される無線フレームの数ｎとは、送信時の１サイクルであるＴＴＩ（transmission time interval）中に送信される無線フレームの数であり、２，４，８の何れかの値である。１つの無線フレームの時間長さは１０ｍｓであるから、3GPP TS25.212 のSubclause 4.2.5.2 に規定の通り、ＴＴＩ＝２０ｍｓであればｎ＝２、ＴＴＩ＝４０ｍｓであればｎ＝４、ＴＴＩ＝８０ｍｓであればｎ＝８である。
【００１９】
並列化処理部３１には、図１のステップＳＴ１１にて畳み込み符号化器またはターボ符号化器（図示せず）で符号化された送信対象である入力ビットＳ（０），Ｓ（１），…Ｓ（ｋ−１）のストリームが入力される。並列化処理部３１は、入力ビットＳ（０），Ｓ（１），…Ｓ（ｋ−１）から、入力された順番に従って第１インタリーブの列数ｎ（この実施の形態では同時に作成される無線フレーム数に等しい）のビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）を取り出し、これらのビットを一度にｎ個の複数の列に分配すなわち並列化して、ｎ個のビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）を出力位置制御部３３に並列に供給する。ｉは０，ｎ，２ｎ，３ｎ，．．．のうちの任意の整数である。
【００２０】
出力位置制御部３３は、Ｄ算出部３２および初期位置算出部３４から供給される情報に基づいて、レートマッチングおよび第１インタリーブを一括して行う。この一括処理については後に詳述する。
【００２１】
Ｄ算出部３２は、パラメータｅini ，ｅplus，ｅminus を用いて、変数算出・反復／削除決定アルゴリズムにより、レートマッチングで反復または削除されるべきビットを決定する。変数算出・反復／削除決定アルゴリズムによれば、反復または削除されるべきビットの決定と同時に累積反復／削除ビット数Ｄを求めることができる。累積反復／削除ビット数Ｄは各ビットに変数算出・反復／削除決定アルゴリズムを適用したときに、パラメータｅplusをインクリメントした回数を示す。この累積反復／削除ビット数Ｄは、各ビットについて、ビットストリーム中の反復または削除された先行するビットの個数と、そのビットが反復または削除される場合にはそのビットの個数（１個）の合計個数を示すので、ビットの増加または減少に伴い各ビットを適正に同数の列に再分配するために役立つ。Ｄ算出部３２は、レートマッチングで反復または削除されるべきビットを指定した反復／削除指示と、累積反復／削除ビット数Ｄ（＝ｅplus数）を出力位置制御部３３に供給する。
【００２２】
出力位置制御部３３は、反復／削除指示に基づいてｎ個のビットのいずれかを反復または削除するとともに、累積反復／削除ビット数Ｄに基づいて各ビットを必要に応じて繰り下げまたは繰り上げる。すなわち反復または削除に伴い複数のビットをあらためてｎ個の列に再分配する。また、出力位置制御部３３は、このようにしてレートマッチングされたビットのうち最大ｎ個のビットを一度に記憶装置３５に出力する。記憶装置３５には、ｎ個の記憶部３５0 〜３５n-1 が設けられている。これらの記憶部３５0 〜３５n-1 は、同時に作成されるｎ個の無線フレーム（便宜上、フレーム０〜フレームｎ−１という）に対応しており、記憶部３５0 〜３５n-1 の各々は、少なくとも無線フレームの長さに相当する数のビットを格納することが可能であり、記憶装置３５にビットを格納することで結果的にビットをそれぞれ複数の無線フレームに格納することになる。記憶装置３５にビットを出力するときには、出力位置制御部３３は、レートマッチングで得られた列のうち所定の少なくとも二つの列を交換することにより第１インタリーブを行う。
【００２３】
レートマッチングに伴い、出力位置制御部３３で処理するビットの個数が増減するので、出力列の位置が変化する。そこで、出力位置制御部３３は、次にレートマッチング処理する最大ｎ個のビットを再分配する出力列の位置を決定するために、直前のレートマッチング処理結果の最終ビット（例えばＳ（ｉ＋ｎ−１））が再分配された出力列の値を示す最終ビット位置情報を初期位置算出部３４に通知する。初期位置算出部３４は、最終ビット位置情報に示された最終ビットの出力列の値に基づいて、次のｎ個のビットの先頭ビット（例えばＳ（ｉ））の出力列を指定する値を算出し、この値を示す初期位置情報Ｆini を出力位置制御部３３に返す。出力位置制御部３３は、初期位置情報Ｆini に基づいて、次に処理するべきｎ個のビットを初期位置情報Ｆini に示された初期列を先頭とする複数の列に再分配する。このようにして、出力位置制御部３３は、ビットを円滑かつ高速に再分配する。
【００２４】
図５および図６を参照しながら、この実施の形態１に係る無線通信装置の符号化処理装置の動作の基本原理を説明する。図５はレートマッチング処理でビットが削除（パンクチャ）される処理の例を示す。この例では、第１インタリーブの列数ｎ（＝同時に作成される無線フレームの数）が４、並列化処理部３１に一度に入力されるビット数（入力ビット数ｋ）が１６、レートマッチング処理で削除されるべきビット数が５であると想定する。並列化処理部３１は、シリアルで入力されたビットＳ（０），Ｓ（１），Ｓ（２），・・・，Ｓ（１５）を入力順に従って第１インタリーブの列数ｎである４列（列０〜列３）に並列化する。
【００２５】
Ｄ算出部３２は、変数算出・反復／削除決定アルゴリズムによって、削除されるべきビットを求める。図５のパンクチャパターン（Ｄ算出部３２からの削除指示によりどのビットを削除すべきか指定される）によれば、ビットＳ（１），Ｓ（４），Ｓ（７），Ｓ（１０），Ｓ（１３）が削除される。出力位置制御部３３は、このパンクチャパターンで指定されたビットを削除するとともに、累積反復／削除ビット数Ｄに基づいて各ビットをビットの減少分必要に応じて繰り上げる（空白になったビット位置に、後続の最も若い番号を持つ残されたビットを代入する）ことにより、ビットデータの並び替えを行う。例えばビットＳ（３）は、それまでにレートマッチング処理で１ビット（ビットＳ（１））が削除されているため、出力位置（出力列）が１ビット繰り上がり、元の列３から１ビット繰り上がった列２の位置に出力されることになる。また、ビットＳ（９）は、それまでにレートマッチング処理で３ビット（ビットＳ（１），Ｓ（４），Ｓ（７））が削除されているため、出力位置が３ビット繰り上がり、元の列１から３ビット繰り上がった列２の位置に出力されることになる。
【００２６】
より正確には、出力位置制御部３３は、一度にｎ個のビットつまり並列化されたデータの１行に対してレートマッチングする。すなわち、最初は、行０（ビットＳ（０），Ｓ（１），Ｓ（２），Ｓ（３））に対して、ビットＳ（１）を削除し、ビットＳ（０），Ｓ（２），Ｓ（３）を列０〜２に再分配する。出力位置制御部３３は、最終ビットＳ（３）の列２の値を示す最終ビット位置情報を初期位置算出部３４に通知し、次のｎ個のビットの先頭ビットの列３を示す初期位置情報Ｆini を初期位置算出部３４から受け取る。その後、出力位置制御部３３は、行１（ビットＳ（４），Ｓ（５），Ｓ（６），Ｓ（７））に対して、ビットＳ（４），Ｓ（７）を削除し、ビットＳ（５），Ｓ（６）を列３，０に再分配する。
【００２７】
ここで初期位置情報Ｆini について具体的に説明する。上記の通り、初期位置算出部３４には、出力位置制御部３３での直前のレートマッチング処理結果の最終ビットの列の位置を示す最終ビット位置情報が通知される。初期位置算出部３４は、最終ビット位置情報に示された最終ビットの列の値＋１を加算し、その加算結果を第１インタリーブの列数（同時に作成される無線フレーム数）ｎで除算した余り（モジュロ演算結果）を初期位置情報Ｆini として格納する。例えば、第１インタリーブの列数ｎ＝４で直前行の最終ビット位置が列３であるとすると、（３＋１）mod ４＝０が初期位置情報Ｆini である。ここで、mod はモジュロ演算を示す。また、前回の最終ビット位置が列１であるとすると、（１＋１）mod ４＝２が初期位置情報Ｆini である。
【００２８】
並び替えで得られた各列のビットを、出力位置制御部３３は、記憶装置３５の各記憶部３５0 〜３５n-1 に出力する。この出力のとき、所定の列（例えば列１と列２）を入れ替える（第１インタリーブする）。例えば、第１インタリーブにより、列０のビットは無線フレーム０に分配され、列１のビットはフレーム２に分配され、列２のビットはフレーム１に分配され、列３のビットはフレーム３に分配される。
【００２９】
図６はレートマッチング処理でビットが反復（リピティション）される処理の例を示す。この例でも、第１インタリーブの列数ｎ（＝同時に作成される無線フレームの数）が４、並列化処理部３１に一度に入力されるビット数（入力ビット数ｋ）が１６、レートマッチング処理で反復されるべきビット数が５であると想定する。並列化処理部３１は、シリアルで入力されたビットＳ（０），Ｓ（１），Ｓ（２），・・・，Ｓ（１５）を入力順に従って第１インタリーブの列数ｎである４列（列０〜列３）に並列化する。
【００３０】
Ｄ算出部３２は、変数算出・反復／削除決定アルゴリズムによって、反復されるべきビットを求める。図６のリピティションパターン（Ｄ算出部３２からの反復指示によりどのビットを反復すべきか指定される）によれば、ビットＳ（１），Ｓ（４），Ｓ（７），Ｓ（１０），Ｓ（１３）が反復される。出力位置制御部３３は、このリピティションパターンで指定されたビットを反復するとともに、累積反復／削除ビット数Ｄに基づいて各ビットをビットの増加分必要に応じて繰り下げることにより、ビットデータの並び替えを行う。例えばビットＳ（３）は、それまでにレートマッチング処理で１ビット（ビットＳ（１））が反復されているため、出力位置（出力列）が１ビット繰り下がり、元の列３から１ビット繰り下がった列０の位置に出力されることになる。また、ビットＳ（９）は、それまでにレートマッチング処理で３ビット（ビットＳ（１），Ｓ（４），Ｓ（７））が反復されているため、出力位置が３ビット繰り下がり、元の列１から３ビット繰り下がった列０の位置に出力されることになる。
【００３１】
より正確には、出力位置制御部３３は、１度にｎ個のビットつまり並列化されたデータの１行に対してレートマッチングする。すなわち、最初は、行０（ビットＳ（０），Ｓ（１），Ｓ（２），Ｓ（３））に対して、ビットＳ（１）を追加し、ビットＳ（０），Ｓ（１），Ｓ（１），Ｓ（２），Ｓ（３）を列０〜３および次の行の列０に再分配する。出力位置制御部３３は、最終ビットＳ（３）の列０の値を示す最終ビット位置情報を初期位置算出部３４に通知し、次のｎ個のビットの先頭ビットの列１を示す初期位置情報Ｆini を初期位置算出部３４から受け取る。その後、出力位置制御部３３は、行１（ビットＳ（４），Ｓ（５），Ｓ（６），Ｓ（７））に対して、ビットＳ（４），Ｓ（７）を反復し、ビットＳ（４），Ｓ（４），Ｓ（５），Ｓ（６），Ｓ（７），Ｓ（７）を列１〜３および次の行の列０〜２に再分配する。
【００３２】
並び替えで得られた各列のビットを、出力位置制御部３３は、記憶装置３５の各記憶部３５0 〜３５n-1 に出力する。上記と同様に、この出力のとき、所定の列（例えば列１と列２）を入れ替える（第１インタリーブする）。
【００３３】
なお、列の入れ替えは、3GPP TS25.212のSubclause 4.2.5.2 に準拠すればよい。具体的には、ＴＴＩ＝２０ｍｓつまりｎ＝２であれば、列０，１を無線フレーム０，１にそれぞれ格納する。ＴＴＩ＝４０ｍｓつまりｎ＝４（図示例）であれば、列０，１，２，３を無線フレーム０，２，１，３にそれぞれ格納する。ＴＴＩ＝８０ｍｓつまりｎ＝８であれば、列０，１，２，３，４，５，６，７を無線フレーム０，４，２，６，１，５，３，７にそれぞれ格納する。
【００３４】
次に、レートマッチング処理で使用され、レートマッチングパターンを決定するとともに、累積反復／削除ビット数Ｄを求める変数算出・反復／削除決定アルゴリズムの詳細を説明する。図７は変数算出・反復／削除決定アルゴリズムを示すフローチャートである。このアルゴリズムはＤ算出部３２で各ビットについて実行され、入力ビット番号ｍを指定しながら開始される。入力ビット番号ｍは、3GPP TS25.212 のSubclause 4.2.7.5 のレートマッチングパターン決定アルゴリズムで使用される、１を初期値とする入力ビット番号ｍと同旨である。図５および図６に示すように、０を初期値とするビットストリームの場合、図示のビット番号に１を加えた値が入力ビット番号ｍである。例えば、図示のビットＳ（３）であれば入力ビット番号ｍ＝４である。
【００３５】
まずステップＳＴ３０で、累積反復／削除ビット数Ｄに初期値０を代入する。次にステップＳＴ３１で、ｅini −ｍ・ｅminus ＋Ｄ・ｅplusが正であるか否か判断する。この判断結果が否定的ならステップＳＴ３２で、累積反復／削除ビット数Ｄを１増加させて、再度ステップＳＴ３１の判断を試行する。ステップＳＴ３１の判断結果が肯定的ならステップＳＴ３３に処理が進む。ステップＳＴ３１からステップＳＴ３３に処理が進んだ時点でのＤがそのビットにとっての確定した累積反復／削除ビット数Ｄ（＝ｅplus数）であり、反復または削除された先行するビットの個数と、そのビットが反復または削除される場合にはそのビットの個数（１個）の合計個数を示す。Ｄ算出部３２はこの時点の累積反復／削除ビット数Ｄを保持する。
【００３６】
ステップＳＴ３３以降のステップは、入力ビットが反復または削除されるべきビットかどうかを判定するために実行する。ステップＳＴ３３では式（１）に該当するか否かを判断する。
ｅplus−ｅminus ＜ｅini −ｍ・ｅminus ＋Ｄ・ｅplus≦ｅplus．．．（１）
この判断結果が否定的であれば、そのビットを反幅または削除しないと決定する（ステップＳＴ３５）。
【００３７】
ステップＳＴ３３の判断結果が肯定的ならステップＳＴ３４に処理が進む。ステップＳＴ３４では式（２）に該当するか否かを判断する。
m≧[ｅini ／ｅminus ]−１．．．（２）
ここで、[ｅini ／ｅminus ]は、商ｅini ／ｅminus が整数であれば商ｅini ／ｅminus であり、商ｅini ／ｅminus が整数でなければ商ｅini ／ｅminus を小数点以下切り上げした整数である。ステップＳＴ３４の判断結果が否定的であれば、そのビットを反幅または削除しないと決定する（ステップＳＴ３５）。
【００３８】
ステップＳＴ３３とステップＳＴ３４の両方の判定式が満たされる場合にのみ、そのビットを反幅または削除すると決定する（ステップＳＴ３６）。図示の変数算出・反復／削除決定アルゴリズムは、図４に示された3GPP TS25.212 のSubclause 4.2.7.5 に規定されたレートマッチングパターン決定アルゴリズムを発明者が変形して得たものであり、ステップＳＴ３３〜ステップＳＴ３６を通じた判断結果は、3GPP TS25.212 のレートマッチングパターン決定アルゴリズムによる判断結果と正確に一致する。
【００３９】
図８は、図３のＤ算出部３２の具体的回路例を示すブロック図である。図８に示すように、Ｄ算出部３２は、ｎ個のＤ（＝ｅplus数）算出ユニット３９0 〜３９n-1 、ｎ個の反復／削除判定ユニット４０0 〜４０n-1 、および最終ビットのＤ（＝ｅplus数）格納部４１を備える。Ｄ算出ユニット３９0 〜３９n-1 、および反復／削除判定ユニット４０0 〜４０n-1 は、列０〜ｎ−１の各々のために設けられており、添字０〜ｎ−１はそれぞれ列０〜ｎ−１に対応する。
【００４０】
Ｄ算出ユニット３９0 〜３９n-1 の各々は、図７のフローチャートの変数算出・反復／削除決定アルゴリズムのうちステップＳＴ３０〜ステップＳＴ３２に相当する手順を対応する列について実行し、確定した累積反復／削除ビット数Ｄ（＝ｅplus数）を出力位置制御部３３に通知する（Ｄ（ｉ），Ｄ（ｉ−１），…Ｄ（ｉ＋ｎ−１））。Ｄ算出ユニット３９0 〜３９n-1 による累積反復／削除ビット数Ｄの算出後、反復／削除判定ユニット４０0 〜４０n-1 は、変数算出・反復／削除決定アルゴリズムのうちステップＳＴ３３〜ステップＳＴ３６に相当する手順を対応する列について実行し、反復または削除すべきとの結論の場合に、反復／削除指示を出力位置制御部３３に供給する。
【００４１】
ｎ個のＤ算出ユニット３９0 〜３９n-1 とｎ個の反復／削除判定ユニット４０0 〜４０n-1 を有することにより、Ｄ算出部３２は、図５および図６の一行（ｎ個のビット）に対して同時に変数算出・反復／削除決定アルゴリズムを適用することができる。例えば、図５および図６の行０については、ビットＳ（０）についての累積反復／削除ビット数ＤがＤ算出ユニット３９0 で算出され、ビットＳ（０）を反復または削除すべきか否かが反復／削除判定ユニット４０0 で判断され、ビットＳ（１）についての累積反復／削除ビット数ＤがＤ算出ユニット３９1 で算出され、ビットＳ（１）を反復または削除すべきか否かが反復／削除判定ユニット４０1 で判断され、ビットＳ（３）についての累積反復／削除ビット数ＤがＤ算出ユニット３９n-1 で算出され、ビットＳ（３）を反復または削除すべきか否かが反復／削除判定ユニット４０n-1 で判断される。
【００４２】
Ｄ算出ユニット３９0 〜３９n-1 が実行する累積反復／削除ビット数Ｄの算出手順で初期値として設定するＤの値は、最初の行である行０（ビットＳ（０），Ｓ（１），Ｓ（２），Ｓ（３））について計算するときは、図７のステップＳＴ３０の通りＤ＝０を使用する。以後の行について計算するときは、直前に計算した行の最終ビットにとっての累積反復／削除ビット数Ｄを初期値として設定すると好ましい。この目的のため、最終ビットのＤ格納部４１が使用される。入力ビット番号が増えるにつれて、累積反復／削除ビット数Ｄは増加するので、直前行の累積反復／削除ビット数Ｄを使えば、ステップＳＴ３１およびステップＳＴ３２の計算処理の数を減少させることができる。例えば、行１（ビットＳ（４），Ｓ（５），Ｓ（６），Ｓ（７））について計算するときは、行０の最終ビットＳ（３）の計算試行時の累積反復／削除ビット数Ｄを初期値として設定する。
【００４３】
最終ビットのＤ格納部４１には、Ｄ算出ユニット３９n-1 から直前に計算した行の最終ビットの累積反復／削除ビット数Ｄの値が供給されて格納される。この累積反復／削除ビット数Ｄは、次の行に対する変数算出・反復／削除決定アルゴリズムの計算のＤの初期値として、Ｄ算出ユニット３９0 〜３９n-1 の各々にロードされる。
【００４４】
以上の通り、Ｄ算出部３２からは、各列ごとに累積反復／削除ビット数Ｄと、反復または削除すべきビットを指定した反復／削除指示が、出力位置制御部３３に通知される。ただし、Ｄ算出部３２から出力位置制御部３３に通知する累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ−１），…Ｄ（ｉ＋ｎ−１）は、各Ｄ算出ユニット３９0 〜３９n-1 で算出されたＤを第１インタリーブの列数（同時に作成される無線フレーム数）ｎで除算した余り（モジュロ演算結果）である。例えば、第１インタリーブの列数ｎ＝４で、Ｄ算出ユニットで算出されたＤが３であるとすると、３mod ４＝３を累積反復／削除ビット数Ｄとして出力位置制御部３３に通知する。Ｄ算出ユニットで算出されたＤが５であるとすると、５mod ４＝１を累積反復／削除ビット数Ｄとして出力位置制御部３３に通知する。
【００４５】
図９および図１０は、図３の出力位置制御部３３の具体的回路例を示すブロック図である。図９および図１０に示すように、出力位置制御部３３は、ｎ個の加算器３３Ａ0 〜３３n-1 、ｎ個の出力位置算出部３６0 〜３６n-1 、ｎ個の書き込み制御部（再分配制御部）３７0 〜３７n-1 、およびビット格納出力部３８を備える。加算器３３Ａ0 〜３３n-1 、出力位置算出部３６0 〜３６n-1 、および書き込み制御部３７0 〜３７n-1 は、列０〜ｎ−１の各々のために設けられており、添字０〜ｎ−１はそれぞれ列０〜ｎ−１に対応する。
【００４６】
図１１および図１２は、図９および図１０と同様の図であり、第１インタリーブの列数（同時に作成される無線フレーム数）ｎ＝４で、レートマッチング処理でビットＳ（ｉ），Ｓ（ｉ＋３）が削除される処理の流れを示す。また、図１３および図１４は、図９および図１０と同様の図であり、第１インタリーブの列数（同時に作成される無線フレーム数）ｎ＝４で、レートマッチング処理でビットＳ（ｉ），Ｓ（ｉ＋３）が反復される処理の流れを示す。以下、図９から図１４を参照しながら、出力位置制御部３３の具体的動作を説明する。
【００４７】
並列化処理部３１から供給されるビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）は、書き込み制御部３７0 〜３７n-1 に与えられる。加算器３３Ａ0 〜３３n-1 には、初期位置算出部３４から上述の初期位置情報Ｆini が供給される。一つのＴＴＩのビットストリーム中の最初に出力位置制御部３３に供給される行のｎ個のビットについては、初期位置情報Ｆini は０であり、以降の行については、初期位置情報Ｆini はｎ個のビットのうち先頭ビットの出力列（出力位置）を示す。
【００４８】
加算器３３Ａ0 〜３３n-1 は、初期位置情報Ｆini に列番号値Ｃを加算する。加算結果は、各ビットの位置情報Ｆ（ｉ），Ｆ（ｉ＋１），・・・，Ｆ（ｉ＋ｎ−１）として出力位置算出部３６0〜３６n-1 へロードされる。
列番号値Ｃ（０），Ｃ（１），・・・，Ｃ（ｎ−１）は第１インタリーブの列数（＝無線フレーム数）ｎにより以下の通り設定される。
・ｎ＝２の場合、Ｃ（０）＝０、Ｃ（１）＝１。
・ｎ＝４の場合、Ｃ（０）＝０、Ｃ（１）＝１、Ｃ（２）＝２、Ｃ（３）＝３。
・ｎ＝８の場合、Ｃ（０）＝０、Ｃ（１）＝１、Ｃ（２）＝２、Ｃ（３）＝３、Ｃ（４）＝４、Ｃ（５）＝５、Ｃ（６）＝６、Ｃ（７）＝７。
このように列番号値Ｃは、反復または削除されるべきビットがなく、かつ初期位置情報Ｆini が０の場合の各ビットの出力位置（出力列）を示す。つまり実施の形態１では列番号値Ｃは、レートマッチング前の各ビットの列の番号である。
【００４９】
出力位置算出部３６0 〜３６n-1 には、位置情報Ｆ（ｉ），Ｆ（ｉ＋１），・・・，Ｆ（ｉ＋ｎ−１）がそれぞれロードされる。さらに、各列に応じた累積反復／削除ビット数Ｄ（＝ｅplus数）が出力位置算出部３６0 〜３６n-1 にそれぞれロードされる（Ｄ（ｉ），Ｄ（ｉ＋１），・・・，Ｄ（ｉ＋ｎ−１））。出力位置算出部３６0 〜３６n-1 の各々は、自身にロードされた位置情報Ｆと累積反復／削除ビット数Ｄに基づいて、以下のように出力位置を算出する。出力位置算出部３６0 〜３６n-1 が算出する出力位置とは、レートマッチング処理による先行ビットおよび当該ビットの反復または削除を考慮して当該ビットが分配されるべき出力列であり、後述するビット格納出力部３８のビット格納部３８Ａに割り当てられた列０〜３ｎ−１である。
【００５０】
レートマッチングがビット削除の場合には、ビットＳ（ｉ）の出力位置は、出力位置算出部３６0 により、Ｆ（ｉ）−Ｄ（ｉ）で求められる。ビットＳ（ｉ＋１）の出力位置は、出力位置算出部３６1 により、Ｆ（ｉ＋１）−Ｄ（ｉ＋１）で求められる。ビットＳ（ｉ＋２）の出力位置は、出力位置算出部３６2 により、Ｆ（ｉ＋２）−Ｄ（ｉ＋２）で求められる。以下同様にして、ビットＳ（ｉ＋ｎ−１）の出力位置は、出力位置算出部３６n-1 により、Ｆ（ｉ＋ｎ−１）−Ｄ（ｉ＋ｎ−１）で求められる。
【００５１】
ビット削除の例として、図１１および図１２に示すように、ｎ＝４、初期位置情報Ｆini ＝３、Ｄ（ｉ）＝１、Ｄ（ｉ＋１）＝１、Ｄ（ｉ＋２）＝１、Ｄ（ｉ＋３）＝２の場合には、出力位置算出部３６0 はビットＳ（ｉ）の出力位置を２と算出する。同様の場合、出力位置算出部３６1 はビットＳ（ｉ＋１）の出力位置を３と算出し、出力位置算出部３６2 はビットＳ（ｉ＋２）の出力位置を４と算出し、出力位置算出部３６3 はビットＳ（ｉ＋３）の出力位置を４と算出する。
【００５２】
レートマッチングがビット反復の場合には、ビットＳ（ｉ）の出力位置は、出力位置算出部３６0 により、Ｆ（ｉ）＋Ｄ（ｉ）で求められる。ビットＳ（ｉ＋１）の出力位置は、出力位置算出部３６1 により、Ｆ（ｉ＋１）＋Ｄ（ｉ＋１）で求められる。ビットＳ（ｉ＋２）の出力位置は、出力位置算出部３６2 により、Ｆ（ｉ＋２）＋Ｄ（ｉ＋２）で求められる。以下同様にして、ビットＳ（ｉ＋ｎ−１）の出力位置は、出力位置算出部３６n-1 により、Ｆ（ｉ＋ｎ−１）＋Ｄ（ｉ＋ｎ−１）で求められる。
【００５３】
ビット反復の例として、図１３および図１４に示すように、ｎ＝４、初期位置情報Ｆini ＝１、Ｄ（ｉ）＝１、Ｄ（ｉ＋１）＝１、Ｄ（ｉ＋２）＝１、Ｄ（ｉ＋３）＝２の場合には、出力位置算出部３６0 はビットＳ（ｉ）の出力位置を２と算出する。同様の場合、出力位置算出部３６1 はビットＳ（ｉ＋１）の出力位置を３と算出し、出力位置算出部３６2 はビットＳ（ｉ＋２）の出力位置を４と算出し、出力位置算出部３６3 はビットＳ（ｉ＋３）の出力位置を６と算出する。
【００５４】
出力位置算出部３６0 〜３６n-1 で各ビットの出力位置を算出後、書き込み制御部３７0 〜３７n-1 は、ビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）をビット格納出力部３８に書き込む。ビット格納出力部３８は、列０のビット〜列３ｎ−１のビットの各々を格納するのための３ｎ個のビット格納部３８Ａと、各ビット格納部３８Ａから格納されたビットを読み出すための３ｎ個のデータ出力ユニット３８Ｂを有する。各ビット格納部３８Ａには、列０〜３ｎ−１のいずれかを指定するアドレスが割り当てられている。
【００５５】
ビット格納出力部３８は、レートマッチングがビット反復の場合に出力位置制御部３３の出力ビット数が、同時に作成される各無線フレームのために設けられた記憶部３５0 〜３５n-1 の個数ｎを超えるため、記憶装置３５へのビット書き込みの整合を取るために設けられたバッファである。列ｎ〜２ｎ−１のビット格納部３８Ａはそれぞれ列０〜ｎ−１に対応し、先行するビットで列０〜ｎ−１のビット格納部３８Ａが埋まっているときに、列０〜ｎ−１に再分配されるべきビットを格納する。列２ｎ〜３ｎ−１のビット格納部３８Ａもそれぞれ列０〜ｎ−１に対応し、先行するビットで列０〜ｎ−１のビット格納部３８Ａも列ｎ〜２ｎ−１のビット格納部３８Ａも埋まっているときに、列０〜ｎ−１に再分配されるべきビットを格納する。レートマッチング処理がビット削除の場合には、ビット格納出力部３８を介さずに、書き込み制御部３７0 〜３７n-1 から記憶装置３５にビットを出力してもよい。
【００５６】
書き込み制御部３７0 〜３７n-1 は、ビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）を、出力位置算出部３６0 〜３６n-1 で算出した出力列に対応するビット格納部３８Ａに分配して書き込む。書き込み制御部３７0 〜３７n-1 にはＤ算出部３２から反復／削除指示が通知されており、書き込み制御部３７0 〜３７n-1 は、ビット格納部３８Ａへのビットの分配・書き込み時に、反復／削除指示に従ってレートマッチング処理に相当する処理を実行する。レートマッチング処理がビット削除の場合には、書き込み制御部３７0 〜３７n-1 は、削除されるべきビットをビット格納部３８Ａへ書き込みしない。
【００５７】
ビット削除の例として、図１１および図１２に示すように、Ｄ算出部３２がビットＳ（ｉ），Ｓ（ｉ＋３）の削除を指示している場合には、出力位置算出部３６0 ，３６3 がビットＳ（ｉ），Ｓ（ｉ＋３）の出力位置をそれぞれ２，４と算出していても、ビットＳ（ｉ），Ｓ（ｉ＋３）に対応する書き込み制御部３７0 ，３７3 はビットＳ（ｉ），Ｓ（ｉ＋３）を列２，４のためのビット格納部３８Ａには書き込まずに廃棄する。他方、書き込み制御部３７1 ，３７2 はビットＳ（ｉ＋１），Ｓ（ｉ＋２）を、出力位置算出部３６1 ，３６2 の算出結果に従って列３，４のためのビット格納部３８Ａに書き込む。この場合、初期位置情報Ｆini が３であることから分かるように、列２のためのビット格納部３８Ａには、直前に計算した行の最終ビットが書き込まれているので、書き込み制御部３７0 がビットＳ（ｉ）を列２のためのビット格納部３８Ａに書き込まないことで、ビット格納出力部３８内の列の整合性は保たれる。また、列４のためのビット格納部３８Ａには、ビットＳ（ｉ＋２）が書き込まれるが、書き込み制御部３７3 がビットＳ（ｉ＋３）を列４のためのビット格納部３８Ａに書き込まないことで、不適切な衝突が避けられる。以上より明らかなように、レートマッチング処理がビット削除の場合には、累積反復／削除ビット数Ｄのインクリメントにより、削除されるべきビットおよびそれ以降のビットの出力列が結果的に繰り上がる。
【００５８】
レートマッチング処理がビット反復の場合には、書き込み制御部３７0 〜３７n-1 は、出力位置算出部３６で求めた出力位置（アドレス）のビット格納部３８Ａとそのアドレスから１引いたアドレスのビット格納部３８Ａの２箇所に同じビットの２度書き込みを実行する。例えば、図１３および図１４に示すように、Ｄ算出部３２がビットＳ（ｉ）の反復を指示している場合には、書き込み制御部３７0 は、出力位置算出部３６0 の算出結果に従って列２のためのビット格納部３８ＡにビットＳ（ｉ）を書き込むだけでなく、列２から１引いた列１のためのビット格納部３８ＡにもビットＳ（ｉ）を書き込む。この場合、初期位置情報Ｆini が１であることから分かるように、列０のためのビット格納部３８Ａには、直前に計算した行の最終ビットが書き込まれているので、書き込み制御部３７0 がビットＳ（ｉ）を列１，列２のためのビット格納部３８Ａに書き込むことで、ビット格納出力部３８内の列の整合性は保たれる。
【００５９】
他方、書き込み制御部３７1 ，３７2 はビットＳ（ｉ＋１），Ｓ（ｉ＋２）を、出力位置算出部３６1 ，３６2 の算出結果に従って列３，４のためのビット格納部３８Ａに書き込む。また、Ｄ算出部３２がビットＳ（ｉ＋３）の反復を指示しているので、書き込み制御部３７3 は、出力位置算出部３６3 の算出結果に従って列６のためのビット格納部３８ＡにビットＳ（ｉ＋３）を書き込むだけでなく、列６から１引いた列５のためのビット格納部３８ＡにもビットＳ（ｉ＋３）を書き込む。この場合もやはりビット格納出力部３８内の列の整合性は保たれる。以上より明らかなように、レートマッチング処理がビット反復の場合には、累積反復／削除ビット数Ｄのインクリメントにより、反復されるべきビットおよびそれ以降のビットの出力列が結果的に繰り下がる。
【００６０】
レートマッチング処理がビット反復の場合もビット削除の場合も、ビット格納出力部３８は、ビット格納部３８Ａの内容に従って、上述した最終ビット位置情報を初期位置算出部３４に通知する。例えば、図１１および図１２の場合には、列４を示す最終ビット位置情報をビット格納出力部３８が初期位置算出部３４に通知し、初期位置算出部３４は次の初期位置情報Ｆini として（４＋１）mod ４＝１を算出する。図１３および図１４の場合には、列６を示す最終ビット位置情報をビット格納出力部３８が初期位置算出部３４に通知し、初期位置算出部３４は次の初期位置情報Ｆini として（６＋１）mod ４＝３を算出する。
【００６１】
なお、初期位置算出部３４の内容は、一つのＴＴＩの満了のたびにリセットされ、その後の最初のビットの演算のための初期位置情報Ｆini はゼロになる。
【００６２】
ビット格納出力部３８のビット格納部３８Ａへビット書き込み終了後、データ出力ユニット３８Ｂは、記憶装置３５内の同時に作成される無線フレーム数ごとに設けられた記憶部３５0 〜３５n-1 にビット書き込みを実行する。まず、ビット格納部３８Ａへのビット書き込み終了後の最初のクロックパルスがビット格納出力部３８に供給されると、列０〜列ｎ−１のためのデータ出力ユニット３８Ｂが対応するビット格納部３８Ａからｎ個のビットを読み出し、記憶部３５0 〜３５n-1 に書き込む。このとき、第１インタリーブによる列の入れ替えをして、記憶部３５0 〜３５n-1 に書き込む。例えば、第１インタリーブの列数（＝同時に作成される無線フレーム数）ｎ＝４の場合は、記憶装置３５のフレーム０の記憶部３５0 にはビット格納部３８Ａの列０のビット、フレーム１の記憶部３５1 には列２のビット、フレーム２の記憶部３５2 には列１のビット、フレーム３の記憶部３５3 には列３のビットを書き込み、この例では列１，２が交換される。ビットの読み出し後は、ビット格納部３８Ａの内容は消去される。
【００６３】
また、次のクロックパルスがビット格納出力部３８に供給されると、列ｎ〜２ｎ−１のｎ個のビットがビット格納部３８Ａから記憶部３５0 〜３５n-1 に転送される。列の入れ替えに関しては、例えば図示のように第１インタリーブの列数ｎ＝４の場合は、記憶装置３５のフレーム０の記憶部３５0 にはビット格納部３８Ａの列４のビット、フレーム１の記憶部３５1 には列６のビット、フレーム２の記憶部３５2 には列５のビット、フレーム３の記憶部３５3 には列７のビットを書き込む。この例でも列５，６に対応する列１，２が交換される。更に次のクロックパルスがビット格納出力部３８に供給されると、列２ｎ〜３ｎ−１のｎ個のビットがビット格納部３８Ａから記憶部３５0 〜３５n-1 に転送される。
【００６４】
図１５は、図１１および図１２に示された４ビット中のビットＳ（ｉ），Ｓ（ｉ＋３）が削除される処理の動作タイミング図である。図中の時刻Ｔはクロックパルスの立ち上がり時刻を示す。入力ビットＳ（ｉ），Ｓ（ｉ＋１），Ｓ（ｉ＋２）に関しては、時刻Ｔ０〜Ｔ２においてＤ算出部３２が累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ＋１），Ｄ（ｉ＋２）を算出し、当該ビットを削除すべきか否かを判断する。また、時刻Ｔ２〜Ｔ３で出力位置算出部３６0 〜３６2 はビットＳ（ｉ），Ｓ（ｉ＋１），Ｓ（ｉ＋２）の出力位置を算出し、出力位置算出部３６0 〜３６2 の算出結果とＤ算出部３２からの削除指示に従って書き込み制御部３７0 〜３７2 はビット格納出力部３８のビット格納部３８Ａへのビットの書き込みまたは廃棄をする（正確にはビットＳ（ｉ）を廃棄し、ビットＳ（ｉ＋１）を列３のビット格納部３８Ａ、ビットＳ（ｉ＋２）を列４のビット格納部３８Ａに書き込む）。
【００６５】
入力ビットＳ（ｉ＋３）に関しては、時刻Ｔ０〜Ｔ３において、Ｄ算出部３２が累積反復／削除ビット数Ｄ（ｉ＋３）を算出し、当該ビットを削除すべきか否かを判断する。また、時刻Ｔ３〜Ｔ４で出力位置算出部３６3 はビットＳ（ｉ＋３）の出力位置を算出し、出力位置算出部３６3 の算出結果とＤ算出部３２からの削除指示に従って書き込み制御部３７3 はビット格納出力部３８のビット格納部３８Ａへのビットの書き込みまたは廃棄をする（正確にはビットＳ（ｉ＋３）を廃棄する）。入力ビットＳ（ｉ），Ｓ（ｉ＋１），Ｓ（ｉ＋２）に比べて、入力ビットＳ（ｉ＋３）の処理時刻が遅延するのは、入力ビットＳ（ｉ＋３）にとっての累積反復／削除ビット数Ｄ（ｉ＋３）が２であり、入力ビットＳ（ｉ），Ｓ（ｉ＋１），Ｓ（ｉ＋２）にとっての累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ＋１），Ｄ（ｉ＋２）よりも大きいために処理サイクルが長くなるからである（図１１、図１２および図７参照）。
【００６６】
このようにして、入力ビットＳ（ｉ）〜Ｓ（ｉ＋３）の全てのレートマッチング処理結果がビット格納部３８Ａに格納された後、時刻Ｔ４〜Ｔ５で、ビット格納出力部３８では、列０〜列ｎ−１のためのデータ出力ユニット３８Ｂがビット格納部３８Ａから列０〜列ｎ−１のビットを読み出して、同時に作成される無線フレーム数ごとに設けた記憶部３５0 〜３５n-1 に書き込む（出力する）。同様にして、ビット格納出力部３８の列ｎ〜２ｎ−１のためのビット格納部３８Ａのいずれかにビットが格納されていれば、時刻Ｔ５〜Ｔ６で、列ｎ〜列２ｎ−１のためのデータ出力ユニット３８Ｂがビット格納部３８Ａから列ｎ〜列２ｎ−１のビットを読み出して、記憶部３５0 〜３５n-1 に書き込む。ビット格納出力部３８の列２ｎ〜３ｎ−１のためのビット格納部３８Ａのいずれかにビットが格納されていれば、時刻Ｔ６〜Ｔ７で、列２ｎ〜列３ｎ−１のためのデータ出力ユニット３８Ｂがビット格納部３８Ａから列２ｎ〜列３ｎ−１のビットを読み出して、記憶部３５0 〜３５n-1 に書き込む。
【００６７】
図１６は、図１３および図１４に示された４ビット中のビットＳ（ｉ），Ｓ（ｉ＋３）が反復される処理の動作タイミング図である。入力ビットＳ（ｉ），Ｓ（ｉ＋１），Ｓ（ｉ＋２）に関しては、時刻Ｔ０〜Ｔ２においてＤ算出部３２が累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ＋１），Ｄ（ｉ＋２）を算出し、当該ビットを反復すべきか否か判断する。また、時刻Ｔ２〜Ｔ３で出力位置算出部３６0 〜３６2 はビットＳ（ｉ），Ｓ（ｉ＋１），Ｓ（ｉ＋２）の出力位置を算出し、出力位置算出部３６0 〜３６2 の算出結果に従って書き込み制御部３７0 〜３７2 はビット格納出力部３８のビット格納部３８Ａへのビットの書き込みをする（正確にはビットＳ（ｉ）を列２のビット格納部３８Ａ、ビットＳ（ｉ＋１）を列３のビット格納部３８Ａ、ビットＳ（ｉ＋２）を列４のビット格納部３８Ａに書き込む）。
【００６８】
また、ビットＳ（ｉ＋３）に関しては、時刻Ｔ０〜Ｔ３においてＤ算出部３２が累積反復／削除ビット数Ｄ（ｉ＋３）を算出し、当該ビットを反復すべきか否か判断する。また、時刻Ｔ３〜Ｔ４で出力位置算出部３６3 はビットＳ（ｉ＋３）の出力位置を算出し、出力位置算出部３６3 の算出結果に従って書き込み制御部３７3 はビット格納出力部３８の列６のビット格納部３８Ａへのビットの書き込みをする。入力ビットＳ（ｉ），Ｓ（ｉ＋１），Ｓ（ｉ＋２）に比べて、入力ビットＳ（ｉ＋３）の処理時刻が遅延するのは、入力ビットＳ（ｉ＋３）にとっての累積反復／削除ビット数Ｄ（ｉ＋３）が２であり、入力ビットＳ（ｉ），Ｓ（ｉ＋１），Ｓ（ｉ＋２）にとっての累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ＋１），Ｄ（ｉ＋２）よりも大きいために処理サイクルが長くなるからである（図１３、図１４および図７参照）。
【００６９】
Ｄ算出部３２からの反復指示によればビットＳ（ｉ）は反復されるべきビットであるため、時刻Ｔ３〜Ｔ４で、書き込み制御部３７0 は出力位置算出部３６0 の算出結果から１を差し引く出力位置計算を行い、この出力位置計算結果に従って書き込み制御部３７0 は列１のビット格納部３８ＡにビットＳ（ｉ）を書き込む。ビットＳ（ｉ＋３）も反復されるべきビットであるため、時刻Ｔ４〜Ｔ５で、書き込み制御部３７3 は出力位置算出部３６3 の算出結果から１を差し引く出力位置計算を行い、この出力位置計算結果に従って書き込み制御部３７3 は列５のビット格納部３８ＡにビットＳ（ｉ＋３）を書き込む。
【００７０】
このようにして、入力ビットＳ（ｉ）〜Ｓ（ｉ＋３）の全てのレートマッチング処理結果がビット格納部３８Ａに格納された後、時刻Ｔ５〜Ｔ６で、ビット格納出力部３８では、列０〜列ｎ−１のためのデータ出力ユニット３８Ｂがビット格納部３８Ａから列０〜列ｎ−１のビットを読み出して、同時に作成される無線フレーム数ごとに設けた記憶部３５0 〜３５n-1 に書き込む（出力する）。同様にして、ビット格納出力部３８の列ｎ〜２ｎ−１のためのビット格納部３８Ａのいずれかにビットが格納されていれば、時刻Ｔ６〜Ｔ７で、列ｎ〜列２ｎ−１のためのデータ出力ユニット３８Ｂがビット格納部３８Ａから列ｎ〜列２ｎ−１のビットを読み出して、記憶部３５0 〜３５n-1 に書き込む。ビット格納出力部３８の列２ｎ〜３ｎ−１のためのビット格納部３８Ａのいずれかにビットが格納されていれば、時刻Ｔ７〜Ｔ８で、列２ｎ〜列３ｎ−１のためのデータ出力ユニット３８Ｂがビット格納部３８Ａから列２ｎ〜列３ｎ−１のビットを読み出して、記憶部３５0 〜３５n-1 に書き込む。
【００７１】
以上のように、この実施の形態１によれば、並列化処理部３１が送信対象のデータビットストリームから、同時に作成される複数の無線フレームの数と同数のビットを取り出し、これらのビットを無線フレームの数と同数の複数の列に規則的に分配する。また、パラメータ算出部３０は、レートマッチングの基本パラメータｅini ，ｅplus，ｅminus を算出する。さらに、Ｄ算出部３２は、列に分配された各ビットに付与されたデータビットストリーム中のビット番号ｍと基本パラメータｅini ，ｅplus，ｅminus に基づいて、列に分配された複数のビットのうち反復または削除されるべきビットを判定する。さらにまた、Ｄ算出部３２は、列に分配された各ビットについて、データビットストリーム中の反復または削除される先行するビットの個数と当該ビットが反復または削除される場合には当該ビットの個数の合計個数である累積反復／削除ビット数Ｄを算出する。出力位置制御部３３は、レートマッチング・第１インタリーブ部として機能し、並列化処理部３１により列に分配された複数のビットのうち、Ｄ算出部３２で反復または削除すべきと判定されたビットを反復または削除するとともに、累積反復／削除ビット数Ｄに基づいて複数のビットをあらためて複数の列に再分配し、再分配で得られた複数の列のうち少なくとも二列のビットを互いに入れ替えて、再分配および入れ替えがされた列のビットをそれぞれ複数の無線フレームに格納する。このように、累積反復／削除ビット数Ｄに基づいて複数のビットをあらためて複数の列に再分配することにより、高速にビットの再分配を完了することができ、さらに再分配で得られた複数の列のうち少なくとも二列のビットを入れ替えるだけで第１インタリーブが完了する。従って、レートマッチングで得られたビット自体に基づいてビットの再分配および第１インタリーブをする場合に比べて、高速にビットの再分配および第１インタリーブを完了することが可能である。また、並列化処理部３１で複数の列に分配すなわち並列化されたビットに対してレートマッチングを行い、列の入れ替えで第１インタリーブを行うので、第１インタリーブ結果は複数の無線フレームに対応しており、無線フレーム分割をあらためて実行する必要がない。以上より、Ｗ−ＣＤＭＡに準拠しながらも、さらに符号化処理を高速化することが可能である。
【００７２】
また、Ｄ算出部３２は、並列化処理部３１により列に分配された複数のビットの各々を反復または削除すべきか否かを並列に判定するための複数の反復／削除判定ユニット４０0 〜４０n-1 を備える。さらにＤ算出部３２は、並列化処理部３１により列に分配された複数のビットの各々について累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ−１），…Ｄ（ｉ＋ｎ−１）を並列に算出するためのＤ算出ユニット３９0 〜３９n-1 を備える。レートマッチング・第１インタリーブ部としての出力位置制御部３３は、並列化処理部３１により列に分配された複数のビットの各々について、対応する累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ−１），…Ｄ（ｉ＋ｎ−１）に基づいて、再分配すべき列を算出する複数の出力位置算出部３６0 〜３６n-1 と、並列化処理部３１により列に分配された複数のビットの各々を、対応する反復／削除判定ユニット４０0 〜４０n-1 で反復または削除すべきであると判定された場合に反復または削除するとともに、出力位置算出部３６0 〜３６n-1 で算出された列に再分配する複数の書き込み制御部３７0 〜３７n-1 を備える。この構成によれば、並列化されたビットを同時にレートマッチングし、各ビットについて累積反復／削除ビット数Ｄを考慮してこれらのビットを同時にあらためて列に再分配することにより、さらに符号化処理を高速化することが可能である。
【００７３】
また、レートマッチング・第１インタリーブ部としての出力位置制御部３３は、列の数より多い複数のビット格納部３８Ａと、各ビット格納部３８Ａからビットを読み出して無線フレームに格納するデータ出力ユニット３８Ｂを備えており、出力位置算出部３６0 〜３６n-1 の各々は、各ビットを格納すべきビット格納部３８Ａの位置を算出し、書き込み制御部３７0 〜３７n-1 の各々は、ビットの反復または削除をするとともに、出力位置算出部３６0 〜３６n-1 で算出された位置のビット格納部３８Ａに各ビットを格納し、データ出力ユニット３８Ｂは、一度に無線フレームの数と同数のビットをビット格納部３８Ａから読み出して、これらのビットのうち少なくとも二つのビットを入れ替えて複数の無線フレームに格納する。レートマッチング処理がビット反復の場合、列の数ｎを超えるビットが書き込み制御部３７0 〜３７n-1 から出力されるが、これらのビットが列の数より多い複数のビット格納部３８Ａに格納されることによりオーバーフローを防止することができる。
【００７４】
さらに、この無線通信装置の符号化処理装置は、直前に再分配された複数のビットのうち最終ビットが再分配された列に基づいて、次に再分配すべき複数のビットのうち最初のビットが再分配されるべき初期列を算出する初期位置算出部３４をさらに備え、出力位置制御部３３は、次に再分配すべき複数のビットを初期列を先頭とする複数の列に再分配するので、ビットを円滑かつ高速に再分配することができる。
【００７５】
実施の形態２．
次に、この発明の実施の形態２を説明する。この発明の実施の形態２に係る無線通信装置の復号化処理装置は、Ｗ−ＣＤＭＡによる無線通信システムの基地局に設けられ、図２の上りデータ受信のレートデマッチング（ステップＳＴ２５）、無線フレーム結合（ステップＳＴ２６）および第１デインタリーブ（ステップＳＴ２７）に適用される。図１７は、この発明の実施の形態２に係る復号化処理装置を示す機能ブロック図である。無線通信装置の他の構成要素の図示は省略する。
【００７６】
図１７に示すように、この復号化処理装置は、パラメータ算出部１３０、並列化処理部１３１、Ｄ（＝ｅplus数）算出部（反復／削除判定部）１３２、出力位置制御部（レートデマッチング部）１３３、初期位置算出部１３４、記憶装置１３５および列データ読み出し順序制御部（第１デインタリーブ・無線フレーム結合部）１５０を備える。パラメータ算出部１３０は、実体としては無線通信装置のＣＰＵまたはＤＳＰであり、プログラムに従って動作する。並列化処理部１３１、Ｄ算出部１３２、出力位置制御部１３３、初期位置算出部１３４および列データ読み出し順序制御部１５０は、実体としてはそれぞれＦＰＧＡまたはＬＳＩの一部である。記憶装置１３５はＲＡＭである。
【００７７】
パラメータ算出部１３０、並列化処理部１３１、Ｄ算出部１３２、出力位置制御部１３３、初期位置算出部１３４および記憶装置１３５は、実施の形態１のパラメータ算出部３０、並列化処理部３１、Ｄ算出部３２、出力位置制御部３３、初期位置算出部３４および記憶装置３５とそれぞれ等価または類似の機能を有する。
【００７８】
パラメータ算出部１３０は、レートデマッチング処理に必要なパラメータであるｅini ，ｅplus，ｅminus を算出する。パラメータ算出部１３０は、データレートなどに基づいてこれらのパラメータの算出を3GPP TS25.212 のSubclause 4.2.7 に準拠して行う。算出されたパラメータｅini ，ｅplus，ｅminus は、データ送信のレートマッチング処理に使用されたパラメータｅini ，ｅplus，ｅminus と同値になる。
【００７９】
パラメータ算出部１３０は、これらのパラメータｅini ，ｅplus，ｅminus を算出した後、Ｄ（＝ｅplus数）算出部１３２へパラメータｅini ，ｅplus，ｅminus を通知する。
【００８０】
また、既知である入力ビット数ｋ、第１デインタリーブ列数（この実施の形態では同受信サイクルで受信される無線フレームの数に等しい）ｎは、並列化処理部１３１、Ｄ算出部１３２および出力位置制御部１３３へ予め通知されている。同受信サイクルで受信される無線フレームの数ｎとは、送信時の１サイクルであるＴＴＩ（transmission time interval）中に送信される無線フレームの数であり、２，４，８の何れかの値である。１つの無線フレームの時間長さは１０ｍｓであるから、3GPP TS25.212 のSubclause 4.2.5.2 に規定の通り、ＴＴＩ＝２０ｍｓであればｎ＝２、ＴＴＩ＝４０ｍｓであればｎ＝４、ＴＴＩ＝８０ｍｓであればｎ＝８である。
【００８１】
並列化処理部１３１には、図２のステップＳＴ２４でトランスポートチャネル分割された受信対象である入力ビットのストリームが入力される。並列化処理部１３１は、入力ビットＡ（０），Ａ（１），…Ａ（ｋ−１）から、入力された順番に従って第１デインタリーブの列数ｎ（この実施の形態では同受信サイクルで受信される無線フレーム数に等しい）のビットＡ（ｉ），Ａ（ｉ＋１），…，Ａ（ｉ＋ｎ−１）を取り出し、これらのビットを一度にｎ個の複数の列に分配すなわち並列化して、ｎ個のビットＡ（ｉ），Ａ（ｉ＋１），…，Ａ（ｉ＋ｎ−１）を出力位置制御部１３３に並列に供給する。ｉは０，ｎ，２ｎ，３ｎ，．．．のうちの任意の整数である。
【００８２】
出力位置制御部１３３は、Ｄ算出部１３２および初期位置算出部１３４から供給される情報に基づいて、レートデマッチング処理を行う。このレートデマッチングについては、実施の形態１のレートマッチング処理とほぼ同様である。
【００８３】
Ｄ算出部１３２は、パラメータｅini ，ｅplus，ｅminus を用いて、図７に示し実施の形態１に関して上述した変数算出・反復／削除決定アルゴリズムにより、レートデマッチングで反復または削除されるべきビットを決定する。また、変数算出・反復／削除決定アルゴリズムにより、Ｄ算出部１３２は反復または削除されるべきビットの決定と同時に累積反復／削除ビット数Ｄを求める。累積反復／削除ビット数Ｄは各ビットに変数算出・反復／削除決定アルゴリズムを適用したときに、パラメータｅplusをインクリメントした回数を示す。この累積反復／削除ビット数Ｄは、各ビットについて、反復または削除された先行するビットの個数と、そのビットが反復または削除される場合にはそのビットの個数（１個）の合計個数を示すので、ビットの増加または減少に伴い各ビットを適正に同数の列に再分配するために役立つ。Ｄ算出部１３２は、レートデマッチングで反復または削除されるべきビットを指定した反復／削除指示と、累積反復／削除ビット数Ｄ（＝ｅplus数）を出力位置制御部１３３に供給する。
【００８４】
出力位置制御部１３３は、反復／削除指示に基づいてｎ個のビットのいずれかを反復または削除するとともに、累積反復／削除ビット数Ｄに基づいて各ビットを必要に応じて繰り下げまたは繰り上げる。すなわち反復または削除に伴い複数のビットをあらためてｎ個の列に再分配する。また、出力位置制御部１３３は、このようにしてレートデマッチングされたビットのうち最大ｎ個のビットを一度に記憶装置１３５に出力する。記憶装置１３５には、ｎ個の記憶部１３５0 〜１３５n-1 が設けられている。これらの記憶部１３５0 〜１３５n-1 は、レートデマッチングでビットが再分配されたｎ個の列に対応しており、記憶部１３５0 〜１３５n-1 の各々は、無線フレームの長さに相当する数のビットより多いビットを格納することが可能であり、同受信サイクルで受信されるｎ個の無線フレームを構成する全ビットより反復で増加した数のビットを記憶装置１３５全体で格納することができる。記憶装置１３５にビットを出力するときには、出力位置制御部１３３は、レートデマッチングで得られる列の番号と同じ列番号が与えられた記憶部１３５0 〜１３５n-1 にビットを格納する。
【００８５】
レートデマッチングに伴い、出力位置制御部１３３で処理するビットの個数が増減するので、出力列の位置が変化する。そこで、出力位置制御部１３３は、次にレートデマッチング処理する最大ｎ個のビットを再分配する出力列の位置を決定するために、直前のレートデマッチング処理結果の最終ビット（例えばＡ（ｉ＋ｎ−１））が再分配された出力列の値を示す最終ビット位置情報を初期位置算出部１３４に通知する。初期位置算出部１３４は、最終ビット位置情報に示された最終ビットの出力列の値に基づいて、次のｎ個のビットの先頭ビット（例えばＡ（ｉ））の出力列を指定する値を算出し、この値を示す初期位置情報Ｆini を出力位置制御部１３３に返す。出力位置制御部１３３は、初期位置情報Ｆini に基づいて、次に処理するべきｎ個のビットを初期位置情報Ｆini に示された初期列を先頭とする複数の列に再分配する。このようにして、出力位置制御部１３３は、ビットを円滑に再分配する。
【００８６】
同受信サイクルで受信されるｎ個の無線フレームを構成する全ビットからレートデマッチング処理により得られた（増減した）全ビットが記憶装置１３５に格納された後、列データ読み出し順序制御部１５０は、記憶装置１３５の記憶部１３５0 〜１３５n-1 から全ビットを読み出して結合する。これにより無線フレーム結合を行う。また、この読み出しのときには、列データ読み出し順序制御部１５０は、レートマッチングで得られた列のうち所定の列を交換することにより第１インタリーブを行う。
【００８７】
図１８〜図２５を参照しながら、この実施の形態２に係る無線通信装置の復号化処理装置の動作の基本原理を説明する。図１８〜図２１はレートデマッチング処理でビットが削除（パンクチャ）される処理の例を示し、それぞれ無線フレーム０〜３の処理を示す。この例では、第１デインタリーブの列数ｎ（＝同受信サイクルで受信される無線フレームの数）が４、一つの無線フレームあたりのビット数が１６、並列化処理部１３１に一度に入力されるビット数（入力ビット数ｋ）が４×１６＝６４、一つの無線フレームあたりのレートデマッチング処理で削除されるべきビット数が５であると想定する。無線フレーム０〜３は、同受信サイクルで受信される４つの無線フレームである。
【００８８】
以下、無線フレーム０のビットを入力順にビットＡ０（０），Ａ０（１），Ａ０（２），・・・，Ａ０（１５）、無線フレーム１のビットを入力順にビットＡ１（０），Ａ１（１），Ａ１（２），・・・，Ａ１（１５）、無線フレーム２のビットを入力順にビットＡ２（０），Ａ２（１），Ａ２（２），・・・，Ａ２（１５）、無線フレーム３のビットを入力順にビットＡ３（０），Ａ３（１），Ａ３（２），・・・，Ａ３（１５）とする。この復号化処理装置は、無線フレーム０，１，２，３の順にレートデマッチング処理を進める。
【００８９】
まず図１８に示すように、並列化処理部１３１は、無線フレーム０のシリアルで入力されたビットＡ０（０），Ａ０（１），Ａ０（２），・・・，Ａ０（１５）を入力順に従って第１デインタリーブの列数ｎである４列（列０〜列３）に並列化する。
【００９０】
Ｄ算出部１３２は、変数算出・反復／削除決定アルゴリズムによって、削除されるべきビットを求める。図１８のパンクチャパターン（Ｄ算出部１３２からの削除指示によりどのビットを削除すべきか指定される）によれば、ビットＡ０（１），Ａ０（４），Ａ０（７），Ａ０（１０），Ａ０（１３）が削除される。出力位置制御部１３３は、このパンクチャパターンで指定されたビットを削除するとともに、累積反復／削除ビット数Ｄに基づいて各ビットをビットの減少分必要に応じて繰り上げることにより、ビットデータの並び替えを行う。例えばビットＡ０（３）は、それまでにレートデマッチング処理で１ビット（ビットＡ０（１））が削除されているため、出力位置（出力列）が１ビット繰り上がり、元の列３から１ビット繰り上がった列２の位置に出力されることになる。また、ビットＡ０（９）は、それまでにレートデマッチング処理で３ビット（ビットＡ０（１），Ａ０（４），Ａ０（７））が削除されているため、出力位置が３ビット繰り上がり、元の列１から３ビット繰り上がった列２の位置に出力されることになる。
【００９１】
より正確には、出力位置制御部１３３は、一度にｎ個のビットつまり並列化されたデータの１行に対してレートデマッチングする。すなわち、最初は、行０（ビットＡ０（０），Ａ０（１），Ａ０（２），Ａ０（３））に対して、ビットＡ０（１）を削除し、ビットＡ０（０），Ａ０（２），Ａ０（３）を列０〜２に再分配する。出力位置制御部１３３は、最終ビットＡ０（３）の列２の値を示す最終ビット位置情報を初期位置算出部１３４に通知し、次のｎ個のビットの先頭ビットの列３を示す初期位置情報Ｆini を初期位置算出部１３４から受け取る。その後、出力位置制御部１３３は、行１（ビットＡ０（４），Ａ０（５），Ａ０（６），Ａ０（７））に対して、ビットＡ０（４），Ａ０（７）を削除し、ビットＡ０（５），Ａ０（６）を列３，０に再分配する。初期位置情報Ｆini は、実施の形態１に関連して説明したものと同様である。
【００９２】
無線フレーム０から並び替えすなわちレートデマッチングで得られた各列のビットを、出力位置制御部１３３は、記憶装置１３５の各記憶部１３５0 〜１３５n-1 に出力する。記憶装置１３５にビットを出力するときには、出力位置制御部１３３は、レートデマッチングで得られる列の番号と同じ列番号が与えられた記憶部１３５0 〜１３５n-1 にビットを格納する。つまり、この段階では第１デインタリーブは行わない。
【００９３】
また、図１９に示すように、並列化処理部１３１は、無線フレーム１のシリアルで入力されたビットＡ１（０），Ａ１（１），Ａ１（２），・・・，Ａ１（１５）を入力順に従って第１デインタリーブの列数ｎである４列（列０〜列３）に並列化する。Ｄ算出部１３２は、変数算出・反復／削除決定アルゴリズムによって、削除されるべきビットを求める。図１９のパンクチャパターンによれば、ビットＡ１（２），Ａ１（５），Ａ１（７），Ａ１（９），Ａ１（１２）が削除される。出力位置制御部１３３は、このパンクチャパターンで指定されたビットを削除するとともに、累積反復／削除ビット数Ｄと初期位置情報Ｆini に基づいて各ビットをビットの減少分必要に応じて繰り上げることにより、ビットデータの並び替えを行う。例えばビットＡ１（０）は、無線フレーム０の最終ビットＡ０（１５）の出力位置（出力列）が列２であるため、列３の位置に出力されることになる。また、ビットＡ１（１０）は、無線フレーム０の最終ビットＡ０（１５）の出力位置（出力列）が列２であり、さらにそれまでにレートデマッチング処理で４ビット（ビットＡ１（２），Ａ１（５），Ａ１（７），Ａ１（９））が削除されているため、出力位置が１ビット繰り上がり、元の列２から１ビット繰り上がった列１の位置に出力されることになる。無線フレーム０からレートデマッチングで得られたビットに引き続き、出力位置制御部１３３は、無線フレーム１からレートデマッチングで得られたビットを記憶装置１３５の各記憶部１３５0 〜１３５n-1 に出力する。
【００９４】
図２０に示すように、無線フレーム２のビットＡ２（０），Ａ２（１），Ａ２（２），・・・，Ａ２（１５）にも同様の処理を実行し、さらに図２１に示すように、無線フレーム２のビットＡ３（０），Ａ３（１），Ａ３（２），・・・，Ａ３（１５）にも同様の処理を実行する。このようにして同受信サイクルで受信されるｎ個の無線フレーム（図示例では４つの無線フレーム０〜３）を構成する全ビットからレートデマッチング処理により得られた（減少した）全ビットが記憶装置１３５に格納された後、列データ読み出し順序制御部１５０は、記憶装置１３５の記憶部１３５0 〜１３５n-1 から全ビットを読み出して結合する。これにより無線フレーム結合を行う。また、この読み出しのときには、列データ読み出し順序制御部１５０は、レートマッチングで得られた列のうち所定の少なくとも二つの列を交換することにより第１デインタリーブを行う。
【００９５】
例えば図２１に示すように、まず列０の記憶部１３５0から列０のビットＡ０（０），Ａ０（６），Ａ０（１２），Ａ１（１），Ａ１（８），Ａ１（１４），Ａ２（３），Ａ２（９），Ａ２（１５），Ａ３（５），Ａ３（１１）を列データ読み出し順序制御部１５０は読み出す。次に、列２のビットＡ０（３），Ａ０（９），Ａ０（１５），Ａ１（４），Ａ１（１１），Ａ２（０），Ａ２（６），Ａ２（１２），Ａ３（２），Ａ３（８），Ａ３（１３）を列データ読み出し順序制御部１５０は読み出す。さらに、列１のビットＡ０（２），Ａ０（８），Ａ０（１４），Ａ１（３），Ａ１（１０），Ａ１（１５），Ａ２（４），Ａ２（１０），Ａ３（１），Ａ３（７），Ａ３（１２）、最後に列３のビットＡ０（５），Ａ０（１１），Ａ１（０），Ａ１（６），Ａ１（１３），Ａ２（２），Ａ２（７），Ａ２（１３），Ａ３（４），Ａ３（９），Ａ３（１５）を列データ読み出し順序制御部１５０は読み出す。このようにして、レートデマッチング、第１デインタリーブおよび無線フレーム結合が完了する。
【００９６】
図２２〜図２５はレートデマッチング処理でビットが反復（リピティション）される処理の例を示し、それぞれ無線フレーム０〜３の処理を示す。この例でも、第１デインタリーブの列数ｎ（＝同受信サイクルで受信される無線フレームの数）が４、一つの無線フレームあたりのビット数が１６、並列化処理部１３１に一度に入力されるビット数（入力ビット数ｋ）が４×１６＝６４、一つの無線フレームあたりのレートデマッチング処理で反復されるべきビット数が５であると想定する。
【００９７】
まず図２２に示すように、並列化処理部１３１は、無線フレーム０のシリアルで入力されたビットＡ０（０），Ａ０（１），Ａ０（２），・・・，Ａ０（１５）を入力順に従って第１デインタリーブの列数ｎである４列（列０〜列３）に並列化する。
【００９８】
Ｄ算出部１３２は、変数算出・反復／削除決定アルゴリズムによって、反復されるべきビットを求める。図２２のリピティションパターン（Ｄ算出部１３２からの反復指示によりどのビットを反復すべきか指定される）によれば、ビットＡ０（１），Ａ０（４），Ａ０（７），Ａ０（１０），Ａ０（１３）が反復される。出力位置制御部１３３は、このリピティションパターンで指定されたビットを反復するとともに、累積反復／削除ビット数Ｄに基づいて各ビットをビットの増加分必要に応じて繰り下げることにより、ビットデータの並び替えを行う。例えばビットＡ０（３）は、それまでにレートデマッチング処理で１ビット（ビットＡ０（１））が反復されているため、出力位置（出力列）が１ビット繰り下がり、元の列３から１ビット繰り下がった列０の位置に出力されることになる。また、ビットＡ０（９）は、それまでにレートデマッチング処理で３ビット（ビットＡ０（１），Ａ０（４），Ａ０（７））が反復されているため、出力位置が３ビット繰り下がり、元の列１から３ビット繰り下がった列０の位置に出力されることになる。
【００９９】
より正確には、出力位置制御部１３３は、１度にｎ個のビットつまり並列化されたデータの１行に対してレートデマッチングする。すなわち、最初は、行０（ビットＳ（０），Ｓ（１），Ｓ（２），Ｓ（３））に対して、ビットＳ（１）を追加し、ビットＳ（０），Ｓ（１），Ｓ（１），Ｓ（２），Ｓ（３）を列０〜３および次の行の列０に再分配する。出力位置制御部１３３は、最終ビットＳ（３）の列０の値を示す最終ビット位置情報を初期位置算出部１３４に通知し、次のｎ個のビットの先頭ビットの列１を示す初期位置情報Ｆini を初期位置算出部１３４から受け取る。その後、出力位置制御部１３３は、行１（ビットＳ（４），Ｓ（５），Ｓ（６），Ｓ（７））に対して、ビットＳ（４），Ｓ（７）を反復し、ビットＳ（４），Ｓ（４），Ｓ（５），Ｓ（６），Ｓ（７），Ｓ（７）を列１〜３および次の行の列０〜２に再分配する。
【０１００】
無線フレーム０から並び替えすなわちレートデマッチングで得られた各列のビットを、出力位置制御部１３３は、記憶装置１３５の各記憶部１３５0 〜１３５n-1 に出力する。記憶装置１３５にビットを出力するときには、出力位置制御部１３３は、レートデマッチングで得られる列の番号と同じ列番号が与えられた記憶部１３５0 〜１３５n-1 にビットを格納する。つまり、この段階では第１デインタリーブは行わない。
【０１０１】
また、図２３に示すように、並列化処理部１３１は、無線フレーム１のシリアルで入力されたビットＡ１（０），Ａ１（１），Ａ１（２），・・・，Ａ１（１５）を入力順に従って第１デインタリーブの列数ｎである４列（列０〜列３）に並列化する。Ｄ算出部１３２は、変数算出・反復／削除決定アルゴリズムによって、反復されるべきビットを求める。図２３のリピティションパターンによれば、ビットＡ１（２），Ａ１（５），Ａ１（７），Ａ１（９），Ａ１（１２）が反復される。出力位置制御部１３３は、このリピティションパターンで指定されたビットを反復するとともに、累積反復／削除ビット数Ｄと初期位置情報Ｆini に基づいて各ビットをビットの増加分必要に応じて繰り下げることにより、ビットデータの並び替えを行う。例えばビットＡ１（０）は、無線フレーム０の最終ビットＡ０（１５）の出力位置（出力列）が列０であるため、列１の位置に出力されることになる。また、ビットＡ１（１０）は、無線フレーム０の最終ビットＡ０（１５）の出力位置（出力列）が列０であり、さらにそれまでにレートデマッチング処理で４ビット（ビットＡ１（２），Ａ１（５），Ａ１（７），Ａ１（９））が反復されているため、出力位置が１ビット繰り下がり、元の列２から１ビット繰り下がった列３の位置に出力されることになる。無線フレーム０からレートデマッチングで得られたビットに引き続き、出力位置制御部１３３は、無線フレーム１からレートデマッチングで得られたビットを記憶装置１３５の各記憶部１３５0 〜１３５n-1 に出力する。
【０１０２】
図２４に示すように、無線フレーム２のビットＡ２（０），Ａ２（１），Ａ２（２），・・・，Ａ２（１５）にも同様の処理を実行し、さらに図２５に示すように、無線フレーム２のビットＡ３（０），Ａ３（１），Ａ３（２），・・・，Ａ３（１５）にも同様の処理を実行する。このようにして同受信サイクルで受信されるｎ個の無線フレーム（図示例では４つの無線フレーム０〜３）を構成する全ビットからレートデマッチング処理により得られた（増加した）全ビットが記憶装置１３５に格納された後、列データ読み出し順序制御部１５０は、記憶装置１３５の記憶部１３５0 〜１３５n-1 から全ビットを読み出して結合する。これにより無線フレーム結合を行う。また、この読み出しのときには、列データ読み出し順序制御部１５０は、レートマッチングで得られた列のうち所定の少なくとも二つの列を交換することにより第１デインタリーブを行う。
【０１０３】
例えば図２５に示すように、まず列０の記憶部１３５0から列０のビットＡ０（０），Ａ０（３），Ａ０（６），Ａ０（９），Ａ０（１２），Ａ０（１５），Ａ１（２），Ａ１（５），Ａ１（８），Ａ１（１１），Ａ１（１４），Ａ２（１），Ａ２（５），Ａ２（８），Ａ２（１１），Ａ２（１４），Ａ３（０），Ａ３（３），Ａ３（６），Ａ３（１０），Ａ３（１３）を列データ読み出し順序制御部１５０は読み出す。次に、列２のビットＡ０（１），Ａ０（４），Ａ０（７），Ａ０（１０），Ａ０（１３），Ａ１（１），Ａ１（４），Ａ１（７），Ａ１（９），Ａ１（１２），Ａ２（０），Ａ２（３），Ａ２（６），Ａ２（９），Ａ２（１２），Ａ２（１５），Ａ３（２），Ａ３（５），Ａ３（８），Ａ３（１１），Ａ３（１４）を列データ読み出し順序制御部１５０は読み出す。さらに、列１のビットＡ０（１），Ａ０（４），Ａ０（７），Ａ０（１０），Ａ０（１３），Ａ１（０），Ａ１（３），Ａ１（６），Ａ１（９），Ａ１（１２），Ａ１（１５），Ａ２（２），Ａ２（５），Ａ２（８），Ａ２（１１），Ａ２（１４），Ａ３（１），Ａ３（４），Ａ３（７），Ａ３（１０），Ａ３（１４）、最後に列３のビットＡ０（２），Ａ０（５），Ａ０（８），Ａ０（１１），Ａ０（１４），Ａ１（２），Ａ１（５），Ａ１（７），Ａ１（１０），Ａ１（１３），Ａ２（１），Ａ２（４），Ａ２（７），Ａ２（１０），Ａ２（１３），Ａ３（０），Ａ３（３），Ａ３（６），Ａ３（９），Ａ３（１２），Ａ３（１５）を列データ読み出し順序制御部１５０は読み出す。このようにして、レートデマッチング、第１デインタリーブおよび無線フレーム結合が完了する。
【０１０４】
実施の形態１のＤ算出部３２と同様に、Ｄ算出部１３２は、パラメータｅini ，ｅplus，ｅminus を用いて、図７に示す変数算出・反復／削除決定アルゴリズムにより、レートデマッチングで反復または削除されるべきビットを決定すると同時に、累積反復／削除ビット数Ｄを求める。また、実施の形態１のＤ算出部３２と同様に、Ｄ算出部１３２も図８に示すように、ｎ個のＤ（＝ｅplus数）算出ユニット３９0 〜３９n-1 、ｎ個の反復／削除判定ユニット４０0 〜４０n-1 、および最終ビットのＤ（＝ｅplus数）格納部４１を備える。これらの機能は実施の形態１に関連して上述した通りである。従って、Ｄ算出ユニット３９0 〜３９n-1 の各々は、変数算出・反復／削除決定アルゴリズムのうちステップＳＴ３０〜ステップＳＴ３２に相当する手順を対応する列について実行し、各列の累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ−１），…Ｄ（ｉ＋ｎ−１）を算出して出力位置制御部１３３に通知する。反復／削除判定ユニット４０0 〜４０n-1 は、変数算出・反復／削除決定アルゴリズムのうちステップＳＴ３３〜ステップＳＴ３６に相当する手順を対応する列について実行し、各列のビットを反復または削除すべきとの結論の場合に、反復／削除指示を出力位置制御部１３３に供給する。ｎ個のＤ算出ユニット３９0 〜３９n-1 とｎ個の反復／削除判定ユニット４０0 〜４０n-1 を有することにより、Ｄ算出部１３２は、図１８〜図２５の一行（ｎ個のビット）に対して同時に変数算出・反復／削除決定アルゴリズムを適用することができる。
【０１０５】
実施の形態１の出力位置制御部３３と同様に、出力位置制御部１３３も図９および図１０に示すように、ｎ個の加算器３３Ａ0 〜３３n-1 、ｎ個の出力位置算出部３６0 〜３６n-1 、ｎ個の書き込み制御部（再分配制御部）３７0 〜３７n-1 、およびビット格納出力部３８を備える。これらは、図１１〜図１６に示して上述したのとほぼ同様に動作する。すなわち、出力位置算出部３６0 〜３６n-1 は、並列化処理部１３１により列に分配された複数のビットの各々について、対応する累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ−１），…Ｄ（ｉ＋ｎ−１）に基づいて、再分配すべき列を算出する。そして書き込み制御部３７0 〜３７n-1 は、並列化処理部１３１により列に分配された複数のビットの各々を、対応する反復／削除判定ユニット４０0 〜４０n-1 で反復または削除すべきであると判定された場合に反復または削除するとともに、出力位置算出部３６0 〜３６n-1 で算出された列に再分配する。
【０１０６】
また、この実施の形態でも、レートデマッチング処理がビット反復かビット削除かにかかわらず、ビット格納出力部３８は、ビット格納部３８Ａの内容に従って、上述した最終ビット位置情報を初期位置算出部１３４に通知する。実施の形態１の初期位置算出部３４と同様に、初期位置算出部１３４は最終ビット位置情報に基づいてモジュロ演算を行い、次の初期位置情報Ｆini を算出する。初期位置算出部１３４の内容は、一つのＴＴＩの満了のたびにリセットされ、その後の最初のビットの演算のための初期位置情報Ｆini はゼロになる。換言すれば、一つのＴＴＩの間（ｎ個の無線フレームの処理の間）は、初期位置算出部１３４は有効に利用される初期位置情報Ｆini を算出し続ける。従って、並べ替えられた直前の無線フレームの最終ビットの出力列の次の列に、次の無線フレームの先頭のビットが出力されることになる。例えば、図１９の無線フレーム１の先頭ビットＡ１（０）は、無線フレーム１の最終ビットＡ０（１５）の出力列２の次の列３に出力される。
【０１０７】
実施の形態１と異なり、出力位置制御部１３３は、記憶装置１３５の各記憶部１３５0 〜１３５n-1 にビットを出力するときには、第１デインタリーブを行わない。ビット格納出力部３８では、ビット格納部３８Ａへのビット書き込み終了後の最初のクロックパルスがビット格納出力部３８に供給されると、列０〜列ｎ−１のためのデータ出力ユニット３８Ｂが対応するビット格納部３８Ａからｎ個のビットを読み出し、記憶部１３５0 〜１３５n-1 に書き込む。このとき、第１インタリーブのための列の入れ替えは行わないので、例えば、第１インタリーブの列数（＝同時に作成される無線フレーム数）ｎ＝４の場合は、記憶装置１３５の列０の記憶部１３５0 にはビット格納部３８Ａの列０のビット、列１の記憶部１３５1 には列１のビット、列２の記憶部１３５2 には列２のビット、列３の記憶部１３５3 には列３のビットを書き込む。ビットの読み出し後は、ビット格納部３８Ａの内容は消去される。
【０１０８】
また、次のクロックパルスがビット格納出力部３８に供給されると、列ｎ〜２ｎ−１のｎ個のビットがビット格納部３８Ａから記憶部１３５0 〜１３５n-1 に転送される。例えば、第１インタリーブの列数ｎ＝４の場合は、記憶装置１３５の列０の記憶部１３５0 にはビット格納部３８Ａの列４のビット、列１の記憶部１３５1 には列５のビット、列２の記憶部１３５2 には列６のビット、列３の記憶部１３５3 には列７のビットを書き込む。更に次のクロックパルスがビット格納出力部３８に供給されると、列２ｎ〜３ｎ−１のｎ個のビットがビット格納部３８Ａから記憶部１３５0 〜１３５n-1 に転送される。
【０１０９】
上述の通り、列データ読み出し順序制御部１５０（図１７）は、記憶装置１３５の記憶部１３５0 〜１３５n-1 から全ビットを読み出して無線フレーム結合を行うとともに、レートマッチングで得られた列のうち所定の列を交換することにより第１インタリーブを行う。列の入れ替えは、3GPP TS25.212 のSubclause 4.2.5.2 に準拠した第１インタリーブの結果から元のビットストリームを復元できるようにすればよい。具体的には、ＴＴＩ＝２０ｍｓつまりｎ＝２であれば、列０，１の順序に従って、列０の記憶部１３５0 から列０の全ビットを読み出した後、列１の記憶部１３５1 から列１の全ビットを読み出す。ＴＴＩ＝４０ｍｓつまりｎ＝４（図示例）であれば、列０，２，１，３の順序に従って、列０の記憶部１３５0 から列０の全ビットを読み出した後、列２の記憶部１３５2 から列２の全ビットを読み出し、続いて列１の記憶部１３５1 から列１の全ビットを読み出し、最後に列３の記憶部１３５3 から列３の全ビットを読み出す。ＴＴＩ＝８０ｍｓつまりｎ＝８であれば、列０，４，２，６，１，５，３，７の順序に従って全ビットを読み出す。
【０１１０】
以上のように、この実施の形態２によれば、並列化処理部１３１が受信対象のデータビットストリームから、同受信サイクルで受信される複数の無線フレームの数と同数のビットを取り出し、これらのビットを前記無線フレームの数と同数の複数の列に規則的に分配する。また、パラメータ算出部１３０は、レートデマッチングの基本パラメータｅini ，ｅplus，ｅminus を算出する。さらに、Ｄ算出部１３２は、列に分配された各ビットに付与されたデータビットストリーム中のビット番号ｍと基本パラメータｅini ，ｅplus，ｅminus に基づいて、列に分配された複数のビットのうち反復または削除されるべきビットを判定する。さらにまた、Ｄ算出部１３２は、列に分配された各ビットについて、データビットストリーム中の反復または削除される先行するビットの個数と当該ビットが反復または削除される場合には当該ビットの個数の合計個数である累積反復／削除ビット数Ｄを算出する。出力位置制御部１３３は、レートデマッチング部として機能し、並列化処理部１３１により列に分配された複数のビットのうち、Ｄ算出部１３２で反復または削除すべきと判定されたビットを反復または削除するとともに、累積反復／削除ビット数Ｄに基づいて複数のビットをあらためて複数の列に再分配する。列データ読み出し順序制御部１５０は、第１デインタリーブ・無線フレーム結合部として機能し、出力位置制御部１３３による再分配で得られた複数の列を、これらのうち少なくとも二列を互いに入れ替えながら読み出して結合する。このように、累積反復／削除ビット数Ｄに基づいて複数のビットをあらためて複数の列に再分配することにより、高速にビットの再分配を完了することができ、さらに再分配で得られた複数の列のうち少なくとも二列のビットを入れ替えるだけで第１デインタリーブが完了する。従って、レートデマッチングで得られたビット自体に基づいてビットの再分配および第１デインタリーブをする場合に比べて、高速にビットの再分配および第１デインタリーブを完了することが可能である。以上より、Ｗ−ＣＤＭＡに準拠しながらも、さらに復号化処理を高速化することが可能である。
【０１１１】
また、Ｄ算出部１３２は、並列化処理部１３１により列に分配された複数のビットの各々を反復または削除すべきか否かを並列に判定するための複数の反復／削除判定ユニット４０0 〜４０n-1 を備える。さらにＤ算出部１３２は、並列化処理部１３１により列に分配された複数のビットの各々について累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ−１），…Ｄ（ｉ＋ｎ−１）を並列に算出するためのＤ算出ユニット３９0 〜３９n-1 を備える。レートデマッチング部としての出力位置制御部１３３は、並列化処理部１３１により列に分配された複数のビットの各々について、対応する累積反復／削除ビット数Ｄ（ｉ），Ｄ（ｉ−１），…Ｄ（ｉ＋ｎ−１）に基づいて、再分配すべき列を算出する複数の出力位置算出部３６0 〜３６n-1 と、並列化処理部１３１により列に分配された複数のビットの各々を、対応する反復／削除判定ユニット４０0 〜４０n-1 で反復または削除すべきであると判定された場合に反復または削除するとともに、出力位置算出部３６0 〜３６n-1 で算出された列に再分配する複数の書き込み制御部３７0 〜３７n-1 を備える。この構成によれば、並列化されたビットを同時にレートデマッチングし、各ビットについて累積反復／削除ビット数Ｄを考慮してこれらのビットを同時にあらためて列に再分配することにより、さらに復号化処理を高速化することが可能である。
【０１１２】
また、レートデマッチング部としての出力位置制御部１３３は、列の数より多い複数のビット格納部３８Ａと、各ビット格納部３８Ａからビットを読み出して無線フレームに格納するデータ出力ユニット３８Ｂを備えており、出力位置算出部３６0 〜３６n-1 の各々は、各ビットを格納すべきビット格納部３８Ａの位置を算出し、書き込み制御部３７0 〜３７n-1 の各々は、ビットの反復または削除をするとともに、出力位置算出部３６0 〜３６n-1 で算出された位置のビット格納部３８Ａに各ビットを格納し、データ出力ユニット３８Ｂは、一度に無線フレームの数と同数のビットをビット格納部３８Ａから読み出して、これらのビットを列に再分配する。レートマッチング処理がビット反復の場合、列の数ｎを超えるビットが書き込み制御部３７0 〜３７n-1 から出力されるが、これらのビットが列の数より多い複数のビット格納部３８Ａに格納されることによりオーバーフローを防止することができる。
【０１１３】
さらに、この無線通信装置の復号化処理装置は、直前に再分配された複数のビットのうち最終ビットが再分配された列に基づいて、次に再分配すべき複数のビットのうち最初のビットが再分配されるべき初期列を算出する初期位置算出部１３４をさらに備え、出力位置制御部１３３は、次に再分配すべき複数のビットを初期列を先頭とする複数の列に再分配するので、ビットを円滑かつ高速に再分配することができる。
【０１１４】
実施の形態３．
この発明の実施の形態３に係る無線通信装置の符号化処理装置は、Ｗ−ＣＤＭＡによる無線通信システムの基地局に設けられ、図１の下りデータ送信のレートマッチング（ステップＳＴ１２）、第１インタリーブ（ステップＳＴ１３）および無線フレーム分割（ステップＳＴ１４）に適用される。図２６は、この発明の実施の形態３に係る符号化処理装置を示す機能ブロック図である。無線通信装置の他の構成要素の図示は省略する。
【０１１５】
この実施の形態３は、前段階でターボ符号化が行われた場合にレートマッチング処理でビット削除が使用される場合に適用される。ターボ符号化では、ターボ符号化器に入力される情報ビット（以下、システマティックビットＳと呼ぶ）と、符号化で得られた２系列の検査ビット（以下、パリティビットＰ１，Ｐ２と呼ぶ）の３系列のビットが得られる。3GPP TS25.212 のSubclause 4.2.7.4 によれば、ターボ符号化されたデータに対し、レートマッチング処理でビット削除が使用される場合、システマティックビットＳは削除してはならず、パリティビットＰ１，Ｐ２のみ削除される。パリティビットＰ１，Ｐ２は、それぞれ異なるレートマッチングパターンが適用される。同仕様書によれば、ターボ符号化されたデータのビット削除レートマッチング処理では、ターボ符号をビット分割（bit separation）してシステマティックビットＳの系列とパリティビットＰ１，Ｐ２の系列を得て、パリティビットＰ１，Ｐ２のビット削除を並列に行い、その後ビットコレクションによりビットＳ，Ｐ１，Ｐ２を組み合わせる。この実施の形態３は、この複雑なレートマッチング処理、第１インタリーブおよび無線フレーム分割を改良された方法で高速化する。
【０１１６】
図２６に示すように、この符号化処理装置は、パラメータ算出部３０、ビット分割部４２、並列化処理部４３Ａ，４３Ｂ，４３Ｃ、初期位置算出部４４、Ｄp1（＝ｅplus数）算出部（第１の削除判定部）４５、Ｄp2（＝ｅplus数）算出部（第２の削除判定部）４６、出力位置制御部（レートマッチング・第１インタリーブ部）４７および記憶装置４８を備える。パラメータ算出部３０は、実体としては無線通信装置のＣＰＵまたはＤＳＰであり、プログラムに従って動作する。並列化処理部４３Ａ，４３Ｂ，４３Ｃ、初期位置算出部４４、Ｄp1算出部４５、Ｄp2算出部４６、出力位置制御部４７は、実体としてはそれぞれＦＰＧＡまたはＬＳＩの一部である。記憶装置４８はＲＡＭである。
【０１１７】
パラメータ算出部３０は、実施の形態１と同様に、レートマッチング処理に必要なパラメータであるｅini ，ｅplus，ｅminus を算出し、これらのパラメータをＤp1算出部４５およびＤp2算出部４６に通知する。
【０１１８】
また、既知であるビット数ｋ、第１インタリーブ列数（この実施の形態では同時に作成される無線フレームの数に等しい）ｎは、ビット分割部４２、並列化処理部４３Ａ，４３Ｂ，４３Ｃ、Ｄp1算出部４５、Ｄp2算出部４６および出力位置制御部４７へ予め通知されている。
【０１１９】
ビット分割部４２には、ターボ符号化器（図示せず）で符号化された送信対象である入力ビットＳ（０），Ｐ１（０），Ｐ２（０），・・・，Ｓ（ｉ），Ｐ１（ｉ），Ｐ２（ｉ），・・・，Ｓ（ｋ−１），Ｐ１（ｋ−１），Ｐ２（ｋ−１）のストリームが入力される。ターボ符号中のビット数は３ｋである。ビット分割部４２は、入力されたターボ符号のビットストリームを既知の方法にてシステマティックビットＳ（０），・・・，Ｓ（ｉ），・・・，Ｓ（ｋ−１）、パリティビットＰ１（０），・・・，Ｐ１（ｉ），・・・，Ｐ１（ｋ−１）、パリティビットＰ２（０），・・・，Ｐ２（ｉ），・・・，Ｐ２（ｋ−１）に分割する。
【０１２０】
ビット分割部４２から出力されたシステマティックビットＳ（０），・・・，Ｓ（ｉ），・・・，Ｓ（ｋ−１）は並列化処理部４３Ａに入力される。並列化処理部４３Ａは、システマティックビットＳ（０），Ｓ（１），…Ｓ（ｋ−１）から、入力された順番に従って第１インタリーブの列数ｎ（この実施の形態では同時に作成される無線フレーム数に等しい）のビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）を取り出し、これらのビットを一度にｎ個の複数の列に分配すなわち並列化して、ｎ個のビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）を出力位置制御部４７に並列に供給する。ｎは２，４，８の何れかの値である。１つの無線フレームの時間長さは１０ｍｓであるから、3GPP TS25.212 のSubclause 4.2.5.2 に規定の通り、ＴＴＩ＝２０ｍｓであればｎ＝２、ＴＴＩ＝４０ｍｓであればｎ＝４、ＴＴＩ＝８０ｍｓであればｎ＝８である。
【０１２１】
ビット分割部４２から出力されたパリティビットＰ１（０），・・・，Ｐ１（ｉ），・・・，Ｐ１（ｋ−１）は並列化処理部４３Ｂに入力される。同様の処理により並列化処理部４３Ｂはｎ個のビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）を出力位置制御部４７に並列に供給する。ビット分割部４２から出力されたパリティビットＰ２（０），・・・，Ｐ２（ｉ），・・・，Ｐ２（ｋ−１）は並列化処理部４３Ｃに入力される。同様の処理により並列化処理部４３Ｃはｎ個のビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）を出力位置制御部４７に並列に供給する。ｉは０，ｎ，２ｎ，３ｎ，．．．のうちの任意の整数である。ターボ符号のビットストリーム中、システマティックビットＳ（ｉ）は３ｉ＋１番目のビットであり、パリティビットＰ１（ｉ）は３ｉ＋２番目のビットであり、パリティビットＰ２（ｉ）は３ｉ＋３番目のビットである。
【０１２２】
並列化処理部４３Ａ，４３Ｂ，４３Ｃは、上記の並列化処理を同時に行うので、システマティックビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）、パリティビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）、パリティビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）が同時に並列化処理部４３Ａ，４３Ｂ，４３Ｃから出力位置制御部４７に供給される。これらの３ｎ個のビットが出力位置制御部４７内部で同時に並列に処理される。
【０１２３】
出力位置制御部４７は、Ｄp1算出部４５、Ｄp2算出部４６および初期位置算出部４４から供給される情報に基づいて、レートマッチングおよび第１インタリーブを一括して行う。この一括処理については後に詳述する。
【０１２４】
Ｄp1算出部４５は、各パリティビットＰ１に付与されたビット番号とパラメータｅini ，ｅplus，ｅminus を用いて、図７に示し実施の形態１に関して上述した変数算出・反復／削除決定アルゴリズムにより、パリティビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）のうちレートマッチングで削除されるべきビットを決定すると同時に、各ビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）についての累積削除ビット数Ｄp1（ｉ），Ｄp1（ｉ＋１），…，Ｄp1（ｉ＋ｎ−１）を求める。累積削除ビット数Ｄp1は各ビットに変数算出・反復／削除決定アルゴリズムを適用したときに、パラメータｅplusをインクリメントした回数を示す。この累積削除ビット数Ｄp1は、各ビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）について、ビットストリーム中の削除された先行するビットの個数と、そのビットが削除される場合にはそのビットの個数（１個）の合計個数を示すので、ビットの減少に伴い各ビットを適正に同数の列に再分配するために役立つ。Ｄp1算出部４５は、レートマッチングで削除されるべきビットを指定した削除指示と、累積削除ビット数Ｄp1（＝ｅplus数）を出力位置制御部４７に供給する。
【０１２５】
同時に、Ｄp2算出部４６は、各パリティビットＰ２に付与されたビット番号とパラメータｅini ，ｅplus，ｅminus を用いて、変数算出・反復／削除決定アルゴリズムにより、パリティビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）のうちレートマッチングで削除されるべきビットを決定すると同時に、各ビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）についての累積削除ビット数Ｄp2（ｉ），Ｄp2（ｉ＋１），…，Ｄp2（ｉ＋ｎ−１）を求める。またＤp2算出部４６はレートマッチングで削除されるべきビットを指定した削除指示と、累積削除ビット数Ｄp2（＝ｅplus数）を出力位置制御部４７に供給する。
【０１２６】
実施の形態１のＤ算出部３２と同様に、Ｄp1算出部４５およびＤp2算出部４６の各々も図８に示すように、ｎ個のＤ（＝ｅplus数）算出ユニット３９0〜３９n-1、ｎ個の反復／削除判定ユニット４０0 〜４０n-1 、および最終ビットのＤ（＝ｅplus数）格納部４１を備える。これらの機能は実施の形態１に関連して上述した通りである。従って、Ｄp1算出部４５およびＤp2算出部４６の各々は、ｎ個のパリティビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）またはｎ個のパリティビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）に対して同時に変数算出・反復／削除決定アルゴリズムを適用することができる。
【０１２７】
出力位置制御部４７は、削除指示に基づいてｎ個のパリティビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）のいずれかおよびｎ個のパリティビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）を削除するとともに、累積削除ビット数Ｄp1（ｉ），Ｄp1（ｉ＋１），…，Ｄp1（ｉ＋ｎ−１）および累積削除ビット数Ｄp2（ｉ），Ｄp2（ｉ＋１），…，Ｄp2（ｉ＋ｎ−１）に基づいてシステマティックビットＳ、パリティビットＰ１、パリティビットＰ２の各々の出力位置（出力列）を算出する。この出力位置の算出は、ｎ個のシステマティックビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）、ｎ個のパリティビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）、ｎ個のパリティビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）に同時に行う。このことは、削除とビットコレクションに伴い、複数のビットをあらためてｎ個の列に再分配することに帰結する。
【０１２８】
また、出力位置制御部４７は、このようにしてレートマッチングおよびビットコレクションされたビットのうち最大ｎ個のビットを一度に記憶装置４８に出力する。記憶装置４８には、ｎ個の記憶部４８0 〜４８n-1 が設けられている。これらの記憶部４８0 〜４８n-1 は、同時に作成されるｎ個の無線フレーム（フレーム０〜フレームｎ−１）に対応しており、記憶部４８0 〜４８n-1 の各々は、少なくとも無線フレームの長さに相当する数のビットを格納することが可能であり、記憶装置４８にビットを格納することで結果的にビットをそれぞれ複数の無線フレームに格納することになる。記憶装置４８にビットを出力するときには、出力位置制御部４７は、レートマッチングおよびビットコレクションで得られた列のうち所定の少なくとも二つの列を交換することにより第１インタリーブを行う。
【０１２９】
レートマッチングとビットコレクションに伴い、出力位置制御部４７で算出される各ビットの出力列は、並列化処理部４３Ａ，４３Ｂ，４３Ｃで与えられた列の番号と異なる。そこで、出力位置制御部４７は、次にレートマッチングおよびビットコレクション処理する最大３ｎ個のビットを再分配するｎ列上の出力列の位置を決定するために、直前のレートマッチング・ビットコレクション処理結果の最終ビット（例えばＰ２（ｉ＋ｎ−１））が再分配されたｎ列上の出力列の値を示す最終ビット位置情報を初期位置算出部４４に通知する。初期位置算出部４４は、最終ビット位置情報に示された最終ビットの出力列の値に基づいて、次の３ｎ個のビットの先頭ビット（例えばＳ（ｉ））の出力列を指定する値を算出し、この値を示す初期位置情報Ｆini を出力位置制御部４７に返す。出力位置制御部４７は、初期位置情報Ｆini に基づいて、次に処理するべき３ｎ個のビットを初期位置情報Ｆini に示された初期列を先頭とする複数の列に再分配する。このようにして、出力位置制御部４７は、ビットを円滑かつ高速に再分配する。
【０１３０】
図２７および図２８は、図２６の出力位置制御部４７の具体的回路例を示すブロック図である。図２７および図２８に示すように、出力位置制御部４７は、３ｎ個の加算器５２Ａ0 〜５２Ａn-1 ，５２Ｂ0 〜５２Ｂn-1 ，５２Ｃ0 〜５２Ｃn-1 、３ｎ個の出力位置算出部４９Ａ0 〜４９Ａn-1 ，４９Ｂ0 〜４９Ｂn-1 ，４９Ｃ0 〜４９Ｃn-1 、３ｎ個の書き込み制御部（再分配制御部）５０Ａ0 〜５０Ａn-1 ，５０Ｂ0 〜５０Ｂn-1 ，５０Ｃ0 〜５０Ｃn-1 、およびビット格納出力部５１を備える。
【０１３１】
加算器５２Ａ0 〜５２Ａn-1 、出力位置算出部４９Ａ0 〜４９Ａn-1 および書き込み制御部５０Ａ0 〜５０Ａn-1 は、システマティックビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）つまり列０〜ｎ−１の各々のために設けられており、添字０〜ｎ−１はそれぞれ列０〜ｎ−１に対応する。加算器５２Ｂ0 〜５２Ｂn-1 、出力位置算出部４９Ｂ0 〜４９Ｂn-1 および書き込み制御部５０Ｂ0 〜５０Ｂn-1 は、パリティビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）つまり列０〜ｎ−１の各々のために設けられており、添字０〜ｎ−１はそれぞれ列０〜ｎ−１に対応する。加算器５２Ｃ0 〜５２Ｃn-1 、出力位置算出部４９Ｃ0 〜４９Ｃn-1 および書き込み制御部５０Ｃ0 〜５０Ｃn-1 は、パリティビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）つまり列０〜ｎ−１の各々のために設けられており、添字０〜ｎ−１はそれぞれ列０〜ｎ−１に対応する。
【０１３２】
図２９および図３０は、図２７および図２８と同様の図であり、第１インタリーブの列数（同時に作成される無線フレーム数）ｎ＝４で、パリティビットＰ１（ｉ）とパリティビットＰ２（ｉ＋１）が削除される処理の流れを示す。以下、図２７から図３０を参照しながら、出力位置制御部４７の具体的動作を説明する。
【０１３３】
並列化処理部４３Ａから供給されるシステマティックビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１）は、書き込み制御部５０Ａ0 〜５０Ａn-1 に与えられる。並列化処理部４３Ｂから供給されるパリティビットＰ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１）は、書き込み制御部５０Ｂ0 〜５０Ｂn-1 に与えられる。並列化処理部４３Ｃから供給されるパリティビットＰ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）は、書き込み制御部５０Ｃ0 〜５０Ｃn-1 に与えられる。
【０１３４】
加算器５２Ａ0 〜５２Ａn-1 ，５２Ｂ0 〜５２Ｂn-1 ，５２Ｃ0〜５２Ｃn-1には、初期位置算出部４４から上述の初期位置情報Ｆini が供給される。ビットストリーム中の最初に出力位置制御部４７に供給される行の３ｎ個のビット（ｎ個のシステマティックビットＳ、ｎ個のパリティビットＰ１、ｎ個のパリティビットＰ２）については、初期位置情報Ｆini は０であり、以降の行については、初期位置情報Ｆini は３ｎ個のビットのうち先頭ビットの出力列（出力位置）を示す。実施の形態１と同様に、初期位置算出部４４には、出力位置制御部４７での直前のレートマッチング処理結果の最終ビットの列の位置を示す最終ビット位置情報が通知される。初期位置算出部４４は、最終ビット位置情報に示された最終ビットの列の値＋１を加算し、その加算結果を第１インタリーブの列数ｎで除算した余り（モジュロ演算結果）を初期位置情報Ｆini として格納する。例えば、第１インタリーブの列数ｎ＝４で直前行の最終ビット位置が列３であるとすると、（３＋１）mod ４＝０が初期位置情報Ｆini である。
【０１３５】
加算器５２Ａ0 〜５２Ａn-1 ，５２Ｂ0 〜５２Ｂn-1 ，５２Ｃ0 〜５２Ｃn-1 は、初期位置情報Ｆini に列番号値Ｃを加算する。加算結果は、各ビットの位置情報として出力位置算出部へロードされる。図中、Ｆ１（ｉ），・・・，Ｆ１（ｉ＋ｎ−１）がシステマティックビットＳ（ｉ），・・・，Ｓ（ｉ＋ｎ−１）の位置情報であり、出力位置算出部４９Ａ0 〜４９Ａn-1 にロードされる。Ｆ２（ｉ），・・・，Ｆ２（ｉ＋ｎ−１）がパリティビットＰ１（ｉ），・・・，Ｐ１（ｉ＋ｎ−１）の位置情報であり、出力位置算出部４９Ｂ0 〜４９Ｂn-1 へロードされる。Ｆ３（ｉ），・・・，Ｆ３（ｉ＋ｎ−１）がパリティビットＰ２（ｉ），・・・，Ｐ２（ｉ＋ｎ−１）の位置情報であり、出力位置算出部４９Ｃ0 〜４９Ｃn-1 へロードされる。
【０１３６】
列番号値Ｃ（０），Ｃ（１），・・・，Ｃ（３ｎ−１）は第１インタリーブの列数（＝無線フレーム数）ｎにより以下の通り設定される。
・ｎ＝２の場合、システマティックビットＳに関するＣ（０）＝０、Ｃ（ｎ−１）＝Ｃ（１）＝３、パリティビットＰ１に関するＣ（ｎ）＝Ｃ（２）＝１、Ｃ（２ｎ−１）＝Ｃ（３）＝４、パリティビットＰ２に関するＣ（２ｎ）＝Ｃ（４）＝２、Ｃ（３ｎ−１）＝Ｃ（５）＝５。
・ｎ＝４の場合、システマティックビットＳに関するＣ（０）＝０、Ｃ（１）＝３、Ｃ（２）＝６、Ｃ（ｎ−１）＝Ｃ（３）＝９、パリティビットＰ１に関するＣ（ｎ）＝Ｃ（４）＝１、Ｃ（５）＝４、Ｃ（６）＝７、Ｃ（２ｎ−１）＝Ｃ（７）＝１０、パリティビットＰ２に関するＣ（２ｎ）＝Ｃ（８）＝２、Ｃ（９）＝５、Ｃ（１０）＝８、Ｃ（３ｎ−１）＝Ｃ（１１）＝１１。
・ｎ＝８の場合、システマティックビットＳに関するＣ（０）＝０、Ｃ（１）＝３、Ｃ（２）＝６、Ｃ（３）＝９、Ｃ（４）＝１２、Ｃ（５）＝１５、Ｃ（６）＝１８、Ｃ（ｎ−１）＝Ｃ（７）＝２１、パリティビットＰ１に関するＣ（ｎ）＝Ｃ（８）＝１，Ｃ（９）＝４、Ｃ（１０）＝７、Ｃ（１１）＝１０、Ｃ（１２）＝１３、Ｃ（１３）＝１６、Ｃ（１４）＝１９、Ｃ（２ｎ−１）＝Ｃ（１５）＝２２、パリティビットＰ２に関するＣ（２ｎ）＝Ｃ（１６）＝２、Ｃ（１７）＝５、Ｃ（１８）＝８、Ｃ（１９）＝１１、Ｃ（２０）＝１４、Ｃ（２１）＝１７、Ｃ（２２）＝２０、Ｃ（３ｎ−１）＝Ｃ（２３）＝２３。
【０１３７】
このように列番号値Ｃは、削除されるべきビットがなく、かつ初期位置情報Ｆini が０の場合に、各ビットをシステマティックビットＳ、パリティビットＰ１、パリティビットＰ２の順序で並べた列の番号を示す。
【０１３８】
出力位置算出部には、位置情報Ｆ１（ｉ），・・・，Ｆ１（ｉ＋ｎ−１），Ｆ２（ｉ），・・・，Ｆ２（ｉ＋ｎ−１），Ｆ３（ｉ），・・・，Ｆ３（ｉ＋ｎ−１）がそれぞれロードされる。さらに、各列に応じた累積削除ビット数Ｄp1，Ｄp2が出力位置算出部４９Ａ0 〜４９Ａn-1 ，４９Ｂ0 〜４９Ｂn-1 ，４９Ｃ0 〜４９Ｃn-1 にそれぞれロードされる（Ｄp1（ｉ），Ｄp1（ｉ＋１），・・・，Ｄp1（ｉ＋ｎ−１），Ｄp2（ｉ），Ｄp2（ｉ＋１），・・・，Ｄp2（ｉ＋ｎ−１））。出力位置算出部４９Ａ0 〜４９Ａn-1 ，４９Ｂ0 〜４９Ｂn-1 ，４９Ｃ0 〜４９Ｃn-1 の各々は、自身にロードされた位置情報Ｆと累積削除ビット数Ｄp1，Ｄp2に基づいて、以下のように出力位置を算出する。出力位置算出部４９Ａ0 〜４９Ａn-1 ，４９Ｂ0 〜４９Ｂn-1 ，４９Ｃ0 〜４９Ｃn-1 が算出する出力位置とは、レートマッチング処理による先行ビットおよび当該ビットの削除を考慮して当該ビットが分配されるべき出力列であり、後述するビット格納出力部５１のビット格納部５１Ａに割り当てられた列０〜４ｎ−１である。
【０１３９】
システマティックビットＳ（ｉ＋０）の出力位置は、出力位置算出部４９Ａ0により、Ｆ１（ｉ）として求められる。ビットＳ（ｉ＋１）の出力位置は、出力位置算出部４９Ａ1 により、Ｆ１（ｉ＋１）−Ｄp1（ｉ）−Ｄp2（ｉ）で求められる。ビットＳ（ｉ＋２）の出力位置は、出力位置算出部４９Ａ2 により、Ｆ１（ｉ＋２）−Ｄp1（ｉ＋１）−Ｄp2（ｉ＋１）で求められる。以下同様にして、ビットＳ（ｉ＋ｎ−１）の出力位置は、出力位置算出部４９Ａn-1 により、Ｆ１（ｉ＋ｎ−１）−Ｄp1（ｉ＋ｎ−２）−Ｄp2（ｉ＋ｎ−２）で求められる、
【０１４０】
パリティビットＰ１（ｉ＋０）の出力位置は、出力位置算出部４９Ｂ0 により、Ｆ２（ｉ）−Ｄp1（ｉ）で求められる。ビットＰ１（ｉ＋１）の出力位置は、出力位置算出部４９Ｂ1 により、Ｆ２（ｉ＋１）−Ｄp1（ｉ＋１）−Ｄp2（ｉ）で求められる。ビットＰ１（ｉ＋２）の出力位置は、出力位置算出部４９Ｂ2 により、Ｆ２（ｉ＋２）−Ｄp1（ｉ＋２）−Ｄp2（ｉ＋１）で求められる。以下同様にして、ビットＰ１（ｉ＋ｎ−１）の出力位置は、出力位置算出部４９Ｂn-1 により、Ｆ２（ｉ＋ｎ−１）−Ｄp1（ｉ＋ｎ−１）−Ｄp2（ｉ＋ｎ−２）で求められる。
【０１４１】
パリティビットＰ２（ｉ＋０）の出力位置は、出力位置算出部４９Ｃ0 により、Ｆ３（ｉ）−Ｄp1（ｉ）−Ｄp2（ｉ）で求められる。ビットＰ２（ｉ＋１）の出力位置は、出力位置算出部４９Ｃ1 により、Ｆ３（ｉ＋１）−Ｄp1（ｉ＋１）−Ｄp2（ｉ＋１）で求められる。ビットＰ２（ｉ＋２）の出力位置出力位置は、出力位置算出部４９Ｃ2 により、Ｆ３（ｉ＋２）−Ｄp1（ｉ＋２）−Ｄp2（ｉ＋２）で求められる。以下同様にして、ビットＰ２（ｉ＋ｎ−１）の出力位置は、出力位置算出部４９Ｃn-1 により、Ｆ３（ｉ＋ｎ−１）−Ｄp1（ｉ＋ｎ−１）−Ｄp2（ｉ＋ｎ−１）で求められる。
【０１４２】
例として、図２９および図３０に示すように、ｎ＝４、初期位置情報Ｆini ＝０、Ｄp1（ｉ）＝１、Ｄp1（ｉ＋１）＝１、Ｄp1（ｉ＋２）＝１、Ｄp1（ｉ＋３）＝１、Ｄp2（ｉ）＝０、Ｄp2（ｉ＋１）＝１、Ｄp2（ｉ＋２）＝１、Ｄp2（ｉ＋３）＝１の場合には、出力位置算出部４９Ａ0 はビットＳ（ｉ）の出力位置を０と算出する。同様の場合、出力位置算出部４９Ａ1 はビットＳ（ｉ＋１）の出力位置を２と算出し、出力位置算出部４９Ａ2 はビットＳ（ｉ＋２）の出力位置を４と算出し、出力位置算出部４９Ａ3 はビットＳ（ｉ＋３）の出力位置を７と算出する。
【０１４３】
出力位置算出部４９Ａ，４９Ｂ，４９Ｃで各ビットの出力位置を算出後、書き込み制御部５０Ａ0 〜５０Ａn-1 ，５０Ｂ0 〜５０Ｂn-1 ，５０Ｃ0 〜５０Ｃn-1 は、ビットＳ（ｉ），Ｓ（ｉ＋１），…，Ｓ（ｉ＋ｎ−１），Ｐ１（ｉ），Ｐ１（ｉ＋１），…，Ｐ１（ｉ＋ｎ−１），Ｐ２（ｉ），Ｐ２（ｉ＋１），…，Ｐ２（ｉ＋ｎ−１）をビット格納出力部５１に書き込む。ビット格納出力部５１は、列０のビット〜列４ｎ−１のビットの各々を格納するのための４ｎ個のビット格納部５１Ａと、各ビット格納部５１Ａから格納されたビットを読み出すための４ｎ個のデータ出力ユニット５１Ｂを有する。各ビット格納部５１Ａには、列０〜４ｎ−１のいずれかを指定するアドレスが割り当てられている。
【０１４４】
ビット格納出力部５１は、出力位置制御部４７の出力ビット数が、同時に作成される各無線フレームのために設けられた記憶部４８0 〜４８n-1 の個数ｎを超えるため、記憶装置４８へのビット書き込みの整合を取るために設けられたバッファである。列ｎ〜２ｎ−１のビット格納部５１Ａはそれぞれ列０〜ｎ−１に対応し、先行するビットで列０〜ｎ−１のビット格納部５１Ａが埋まっているときに、列０〜ｎ−１に再分配されるべきビットを格納する。列２ｎ〜３ｎ−１のビット格納部５１Ａもそれぞれ列０〜ｎ−１に対応し、先行するビットで列０〜ｎ−１のビット格納部５１Ａも列ｎ〜２ｎ−１のビット格納部５１Ａも埋まっているときに、列０〜ｎ−１に再分配されるべきビットを格納する。列３ｎ〜４ｎ−１のビット格納部５１Ａもそれぞれ列０〜ｎ−１に対応し、先行するビットで列０〜３ｎ−１のビット格納部５１Ａが埋まっているときに、列０〜ｎ−１に再分配されるべきビットを格納する。
【０１４５】
書き込み制御部５０Ａ，５０Ｂ，５０Ｃは、ビットＳ，Ｐ１，Ｐ２を、出力位置算出部４９Ａ，４９Ｂ，４９Ｃで算出した出力列に対応するビット格納部５１Ａに分配して書き込む。書き込み制御部５０Ａ0 〜５０Ａn-1 ，５０Ｂ0 〜５０Ｂn-1 ，５０Ｃ0 〜５０Ｃn-1 にはＤp1算出部４５およびＤp2算出部４６から削除指示が通知されており、書き込み制御部５０Ａ0 〜５０Ａn-1 ，５０Ｂ0 〜５０Ｂn-1 ，５０Ｃ0 〜５０Ｃn-1 は、削除指示に従って削除されるべきビットをビット格納部５１Ａへ書き込みしない。
【０１４６】
例として、図２９および図３０に示すように、Ｄp1算出部４５がパリティビットＰ１（ｉ）の削除を指示し、Ｄp2算出部４６がパリティビットＰ２（ｉ＋１）の削除を指示している場合には、出力位置算出部４９Ｂ0 ，４９Ｃ1 がパリティビットＰ１（ｉ），Ｐ２（ｉ＋１）の出力位置をそれぞれ０，３と算出していても、パリティビットＰ１（ｉ），Ｐ２（ｉ＋１）に対応する書き込み制御部５０Ｂ0 ，５０Ｃ1 はビットＰ１（ｉ），Ｐ２（ｉ＋１）を列０，３のためのビット格納部５１Ａには書き込まずに廃棄する。他の書き込み制御部はビットを、対応する出力位置算出部の算出結果に従ってビット格納部５１Ａに書き込む。この場合、列０のためのビット格納部５１Ａには、出力位置算出部４９Ａ0 の算出結果に従って書き込み制御部５０Ａ0 によりシステマティックビットＳ（ｉ）が書き込まれるので、書き込み制御部５０Ｂ0 がパリティビットＰ１（ｉ）を列０のためのビット格納部５１Ａに書き込まないことで、ビット格納出力部５１内の列の整合性は保たれる。また、列３のためのビット格納部５１Ａには、出力位置算出部４９Ｂ1 の算出結果に従って書き込み制御部５０Ａ1 によりパリティビットＰ１（ｉ＋１）が書き込まれるが、書き込み制御部５０Ｃ1 がパリティビットＰ２（ｉ＋１）を列３のためのビット格納部５１Ａに書き込まないことで、不適切な衝突が避けられる。
【０１４７】
ビット格納出力部５１は、ビット格納部５１Ａの内容に従って、上述した最終ビット位置情報を初期位置算出部４４に通知する。例えば、図２９および図３０の場合には、列９を示す最終ビット位置情報をビット格納出力部５１が初期位置算出部４４に通知し、初期位置算出部４４は次の初期位置情報Ｆini として（９＋１）mod ４＝２を算出する。なお、初期位置算出部４４の内容は、一つのＴＴＩの満了のたびにリセットされ、その後の最初のビットの演算のための初期位置情報Ｆini はゼロになる。
【０１４８】
ビット格納出力部５１のビット格納部５１Ａへビット書き込み終了後、データ出力ユニット５１Ｂは、記憶装置４８内の同時に作成される無線フレーム数ごとに設けられた記憶部４８0 〜４８n-1 にビット書き込みを実行する。まず、ビット格納部５１Ａへのビット書き込み終了後の最初のクロックパルスがビット格納出力部５１に供給されると、列０〜列ｎ−１のためのデータ出力ユニット５１Ｂが対応するビット格納部５１Ａからｎ個のビットを読み出し、記憶部４８0 〜４８n-1 に書き込む。このとき、第１インタリーブによる列の入れ替えをして、記憶部４８0 〜４８n-1 に書き込む。例えば、第１インタリーブの列数（＝同時に作成される無線フレーム数）ｎ＝４の場合は、記憶装置４８のフレーム０の記憶部４８0にはビット格納部５１Ａの列０のビット、フレーム１の記憶部４８1 には列２のビット、フレーム２の記憶部４８2 には列１のビット、フレーム３の記憶部４８3 には列３のビットを書き込み、この例では列１，２が交換される。ビットの読み出し後は、ビット格納部５１Ａの内容は消去される。
【０１４９】
また、次のクロックパルスがビット格納出力部５１に供給されると、列ｎ〜２ｎ−１のｎ個のビットがビット格納部５１Ａから記憶部４８0 〜４８n-1 に転送される。列の入れ替えに関しては、例えば図示のように第１インタリーブの列数ｎ＝４の場合は、記憶装置４８のフレーム０の記憶部４８0 にはビット格納部５１Ａの列４のビット、フレーム１の記憶部４８1 には列６のビット、フレーム２の記憶部４８2 には列５のビット、フレーム３の記憶部４８3 には列７のビットを書き込む。この例でも列５，６に対応する列１，２が交換される。更に次のクロックパルスがビット格納出力部５１に供給されると、列２ｎ〜３ｎ−１のｎ個のビットがビット格納部５１Ａから記憶部４８0 〜４８n-1 に転送される。更に次のクロックパルスがビット格納出力部５１に供給されると、列３ｎ〜４ｎ−１のｎ個のビットがビット格納部５１Ａから記憶部４８0 〜４８n-1 に転送される。
【０１５０】
図３１は、図２９および図３０に示された１２ビット中のパリティビットＰ１（ｉ），Ｐ２（ｉ＋１）が削除される処理の動作タイミング図である。図中の時刻Ｔはクロックパルスの立ち上がり時刻を示す。時刻Ｔ０〜Ｔ１においてＤp1算出部４５およびＤp2算出部４６がｎ個のパリティビットＰ１（ｉ），・・・，（ｉ＋３）およびｎ個のＰ２（ｉ），・・・，（ｉ＋３）の全てに関して累積削除ビット数Ｄp1（ｉ），・・・，Ｄp1（ｉ＋３），Ｄp2（ｉ），・・・，Ｄp2（ｉ＋３）を算出し、当該ビットを削除すべきか否かを判断する。また、時刻Ｔ２〜Ｔ３でＤp1算出部４５およびＤp2算出部４６は、パリティビットＰ２（ｉ）以外のパリティビットに関して累積削除ビット数Ｄp1（ｉ），・・・，Ｄp1（ｉ＋３），Ｄp2（ｉ＋１），，・・・，Ｄp2（ｉ＋３）を算出し、当該ビットを削除すべきか否かを判断する。パリティビットＰ２（ｉ）だけ処理時刻が早く終わるのは、パリティビットＰ２（ｉ）にとっての累積削除ビット数Ｄp2（ｉ）が０であり、他のパリティビットにとっての累積削除ビット数Ｄp1（ｉ），・・・，Ｄp1（ｉ＋３），Ｄp2（ｉ＋１），・・・，Ｄp2（ｉ＋３）よりも小さいために処理サイクルが短いからである（図２９、図３０および図７参照）。
【０１５１】
２ｎ個の累積削除ビット数Ｄp1（ｉ），・・・，Ｄp1（ｉ＋３），Ｄp2（ｉ），・・・，Ｄp2（ｉ＋３）の全ての算出終了後、時刻Ｔ２〜Ｔ３で出力位置算出部４９Ａ，４９Ｂ，４９Ｃは、３ｎ個のビットＳ（ｉ），・・・，Ｓ（ｉ＋３），Ｐ１（ｉ），・・・，Ｐ１（ｉ＋３），Ｐ１（ｉ），・・・，Ｐ２（ｉ＋３）の出力位置を算出し、出力位置算出部４９Ａ，４９Ｂ，４９Ｃの算出結果とＤp1算出部４５、Ｄp2算出部４６からの削除指示に従って書き込み制御部５０Ａ，５０Ｂ，５０Ｃはビット格納出力部５１のビット格納部５１Ａへのビットの書き込みまたは廃棄をする（正確にはパリティビットＰ１（ｉ），Ｐ２（ｉ＋１）を廃棄し、他のビットをビット格納部５１Ａに書き込む）。
【０１５２】
このようにして、３ｎ個のビットＳ，Ｐ１，Ｐ２の全てのレートマッチング処理結果がビット格納部５１Ａに格納された後、時刻Ｔ３〜Ｔ４で、ビット格納出力部５１では、列０〜列ｎ−１のためのデータ出力ユニット５１Ｂがビット格納部５１Ａから列０〜列ｎ−１のビットを読み出して、同時に作成される無線フレーム数ごとに設けた記憶部４８0 〜４８n-1 に書き込む（出力する）。同様にして、ビット格納出力部５１の列ｎ〜２ｎ−１のためのビット格納部５１Ａのいずれかにビットが格納されていれば、時刻Ｔ４〜Ｔ５で、列ｎ〜列２ｎ−１のためのデータ出力ユニット５１Ｂがビット格納部５１Ａから列ｎ〜列２ｎ−１のビットを読み出して、記憶部４８0 〜４８n-1 に書き込む。ビット格納出力部５１の列２ｎ〜３ｎ−１のためのビット格納部５１Ａのいずれかにビットが格納されていれば、時刻Ｔ５〜Ｔ６で、列２ｎ〜列３ｎ−１のためのデータ出力ユニット５１Ｂがビット格納部５１Ａから列２ｎ〜列３ｎ−１のビットを読み出して、記憶部４８0 〜４８n-1 に書き込む。さらにビット格納出力部５１の列３ｎ〜４ｎ−１のためのビット格納部５１Ａのいずれかにビットが格納されていれば、時刻Ｔ５〜Ｔ６で、列３ｎ〜４ｎ−１のためのデータ出力ユニット５１Ｂがビット格納部５１Ａから列３ｎ〜４ｎ−１のビットを読み出して、記憶部４８0 〜４８n-1 に書き込む。
【０１５３】
以上のように、この実施の形態３によれば、ビット分割部４２がターボ符号化されたデータビットストリームをシステマティックビットＳと第１のパリティビットＰ１と第２のパリティビットＰ２に分割する。第１の並列化処理部４３ＡはシステマティックビットＳのストリームから、同時に作成される複数の無線フレームの数と同数のシステマティックビットを取り出し、これらのシステマティックビットを無線フレームの数と同数の複数の列に規則的に分配する。第２の並列化処理部４３Ｂは第１のパリティビットＰ１のストリームから、同時に作成される複数の無線フレームの数と同数の第１のパリティビットを取り出し、これらの第１のパリティビットを無線フレームの数と同数の複数の列に規則的に分配する。第３の並列化処理部４３Ｃは第２のパリティビットＰ２のストリームから、同時に作成される複数の無線フレームの数と同数の第２のパリティビットを取り出し、これらの第２のパリティビットを無線フレームの数と同数の複数の列に規則的に分配する。また、パラメータ算出部３０は、レートマッチングの基本パラメータｅini ，ｅplus，ｅminus を算出する。さらに、Ｄp1算出部４５は、第１の削除判定部として機能し、列に分配された各第１のパリティビットＰ１に付与された第１のパリティビットのストリーム中のビット番号ｍと基本パラメータｅini ，ｅplus，ｅminus に基づいて、列に分配された複数の第１のパリティビットのうち削除されるべきビットを判定する。Ｄp2算出部４６は、第２の削除判定部として機能し、列に分配された各第２のパリティビットＰ２に付与された第２のパリティビットのストリーム中のビット番号ｍと基本パラメータｅini ，ｅplus，ｅminus に基づいて、列に分配された複数の第２のパリティビットのうち削除されるべきビットを判定する。さらにまた、Ｄp1算出部４５は、列に分配された各第１のパリティビットＰについて、第１のパリティビットのストリーム中の削除される先行ビットと当該ビットの合計個数である第１の累積削除ビット数Ｄp1を算出する。Ｄp2算出部４６は、列に分配された各第２のパリティビットについて、第２のパリティビットのストリーム中の削除される先行ビットと当該ビットの合計個数である第２の累積削除ビット数Ｄp2を算出する。出力位置制御部４７は、レートマッチング・第１インタリーブ部として機能し、第２の並列化処理部４３Ｂおよび第３の並列化処理部４３Ｃにより列に分配された複数の第１のパリティビットＰ１および複数の第２のパリティビットＰ２のうち、Ｄp1算出部４５およびＤp2算出部４６で削除すべきと判定されたビットを削除するとともに、第１の累積削除ビット数Ｄp1および第２の累積削除ビット数Ｄp2に基づいて複数のシステマティックビットＳ、第１のパリティビットＰ１および第２のパリティビットＰ２をあらためて複数の列に再分配し、再分配で得られた複数の列のうち少なくとも二列のビットを互いに入れ替えて、再分配および入れ替えがされた列のビットをそれぞれ複数の無線フレームに格納する。このように、累積反復／削除ビット数Ｄに基づいて複数のビットをあらためて複数の列に再分配することにより、高速にビットの再分配（ビットコレクションを含むレートマッチング）を完了することができ���さらに再分配で得られた複数の列のうち少なくとも二列のビットを入れ替えるだけで第１インタリーブが完了する。従って、レートマッチングで得られたビット自体に基づいてビットの再分配および第１インタリーブをする場合に比べて、高速にビットの再分配および第１インタリーブを完了することが可能である。また、並列化処理部で複数の列に分配すなわち並列化されたビットに対してレートマッチングを行い、列の入れ替えで第１インタリーブを行うので、第１インタリーブ結果は複数の無線フレームに対応しており、無線フレーム分割をあらためて実行する必要がない。以上より、Ｗ−ＣＤＭＡに準拠しながらも、さらに符号化処理を高速化することが可能である。
【図面の簡単な説明】
【０１５４】
【図１】Ｗ−ＣＤＭＡによる無線通信システムの下りデータ送信時の符号化処理の概要を示す図である。
【図２】Ｗ−ＣＤＭＡによる無線通信システムの上りデータ受信時の復号化処理の概要を示す図である。
【図３】この発明の実施の形態１に係る無線通信装置の符号化処理装置を示す機能ブロック図である。
【図４】３ＧＰＰの仕様書に規定されたレートマッチングパターン決定アルゴリズムを示す図である。
【図５】図３の符号化処理装置の動作としてレートマッチング処理でビットが削除（パンクチャ）される処理の例を示す図である。
【図６】図３の符号化処理装置の動作としてレートマッチング処理でビットが反復（リピティション）される処理の例を示す図である。
【図７】図３の符号化処理装置のＤ算出部が実行する変数算出・反復／削除決定アルゴリズムを示すフローチャートである。
【図８】図３の符号化処理装置のＤ算出部の具体的構成例を示すブロック図である。
【図９】図３の符号化処理装置の出力位置制御部の具体的構成例を示すブロック図の左半分である。
【図１０】出力位置制御部の具体的構成例を示すブロック図を図９と協働して構成する当該ブロック図の右半分である。
【図１１】レートマッチング処理でビットが削除される場合の図９および図１０の出力位置制御部の各要素の処理例を示す図の左半分である。
【図１２】図９および図１０の出力位置制御部の各要素の処理例を示す図を図１１と協働して構成する当該図の右半分である。
【図１３】レートマッチング処理でビットが反復される場合の図９および図１０の出力位置制御部の各要素の処理例を示す図の左半分である。
【図１４】図９および図１０の出力位置制御部の各要素の処理例を示す図を図１３と協働して構成する当該図の右半分である。
【図１５】図１１および図１２に示された処理の動作タイミング図である。
【図１６】図１３および図１４に示された処理の動作タイミング図である。
【図１７】この発明の実施の形態２に係る無線通信装置の復号化処理装置を示す機能ブロック図である。
【図１８】図１７の符号化処理装置の動作としてレートマッチング処理でビットが削除される処理の例の最初の段階を示す図である。
【図１９】図１８の次の段階を示す図である。
【図２０】図１９の次の段階を示す図である。
【図２１】図２０の次の段階を示す図である。
【図２２】図１７の符号化処理装置の動作としてレートマッチング処理でビットが反復される処理の例の最初の段階を示す図である。
【図２３】図２２の次の段階を示す図である。
【図２４】図２３の次の段階を示す図である。
【図２５】図２４の次の段階を示す図である。
【図２６】この発明の実施の形態３に係る無線通信装置の符号化処理装置を示す機能ブロック図である。
【図２７】図２６の符号化処理装置の出力位置制御部の具体的構成例を示すブロック図の左半分である。
【図２８】出力位置制御部の具体的構成例を示すブロック図を図２７と協働して構成する当該ブロック図の右半分である。
【図２９】図２７および図２８の出力位置制御部の各要素の処理例を示す図の左半分である。
【図３０】図２７および図２８の出力位置制御部の各要素の処理例を示す図を図２９と協働して構成する当該図の右半分である。
【図３１】図２９および図３０に示された処理の動作タイミング図である。
【符号の説明】
【０１５５】
３０，１３０  パラメータ算出部、３１，４３Ａ，４３Ｂ，４３Ｃ，１３１  並列化処理部、３２，１３２  Ｄ（＝ｅplus数）算出部（反復／削除判定部）、３３，４７  出力位置制御部（レートマッチング・第１インタリーブ部）、３３Ａ0 〜３３n-1 ，５２Ａ0 〜５２Ａn-1 ，５２Ｂ0 〜５２Ｂn-1 ，５２Ｃ0 〜５２Ｃn-1   加算器、３４，４４，１３４  初期位置算出部、３５，４８，１３５  記憶装置、３５0 〜３５n-1 ，４８0 〜４８n-1 ，１３５0 〜１３５n-1   記憶部、３６0 〜３６n-1 ，４９Ａ0 〜４９Ａn-1 ，４９Ｂ0 〜４９Ｂn-1 ，４９Ｃ0 〜４９Ｃn-1   出力位置算出部、３７0 〜３７n-1 ，５０Ａ0 〜５０Ａn-1 ，５０Ｂ0 〜５０Ｂn-1 ，５０Ｃ0 〜５０Ｃn-1   書き込み制御部（再分配制御部）、３８，５１  ビット格納出力部、３８Ａ，５１Ａ  ビット格納部、３８Ｂ，５１Ｂ  データ出力ユニット、３９0 〜３９n-1   Ｄ（＝ｅplus数）算出ユニット、４０0 〜４０n-1   反復／削除判定ユニット、４１  最終ビットのＤ（＝ｅplus数）格納部、４２  ビット分割部、４５  Ｄp1（＝ｅplus数）算出部（第１の削除判定部）、４６  Ｄp2（＝ｅplus数）算出部（第２の削除判定部）、１３３  出力位置制御部（レートデマッチング部）、１５０  列データ読み出し順序制御部（第１デインタリーブ・無線フレーム結合部）。
【図１】
2005039672.tif 000003
【図２】
2005039672.tif 000004
【図３】
2005039672.tif 000005
【図４】
2005039672.tif 000006
【図５】
2005039672.tif 000007
【図６】
2005039672.tif 000008
【図７】
2005039672.tif 000009
【図８】
2005039672.tif 000010
【図９】
2005039672.tif 000011
【図１０】
2005039672.tif 000012
【図１１】
2005039672.tif 000013
【図１２】
2005039672.tif 000014
【図１３】
2005039672.tif 000015
【図１４】
2005039672.tif 000016
【図１５】
2005039672.tif 000017
【図１６】
2005039672.tif 000018
【図１７】
2005039672.tif 000019
【図１８】
2005039672.tif 000020
【図１９】
2005039672.tif 000021
【図２０】
2005039672.tif 000022
【図２１】
2005039672.tif 000023
【図２２】
2005039672.tif 000024
【図２３】
2005039672.tif 000025
【図２４】
2005039672.tif 000026
【図２５】
2005039672.tif 000027
【図２６】
2005039672.tif 000028
【図２７】
2005039672.tif 000029
【図２８】
2005039672.tif 000030
【図２９】
2005039672.tif 000031
【図３０】
2005039672.tif 000032
【図３１】
2005039672.tif 000033