(57)【要約】  ハードウェアアクセラレータは、第１のバッファ、第２のバッファ、アドレス生成器（１つまたは複数）、変換ＲＯＭ（読出し専用メモリ）、巡回冗長検査（ＣＲＣ）生成器、畳み込み符号器および制御装置を含む。第１のバッファおよび第２のバッファは、情報ビットを格納する。アドレス生成器（１つまたは複数）は、第１のバッファ、第２のバッファおよび共用メモリアーキテクチャ（ＳＭＡ）にアクセスするためのアドレスを生成する。変換ＲＯＭは、第１のバッファおよび第２のバッファにアクセスするための変換されたアドレスを生成するために使用される。制御装置は、ＣＲＣ生成器、畳み込み符号器およびアドレス生成器のパラメータを設定し、第１のバッファ、第２のバッファ、ＳＭＡ、ＣＲＣ生成器および畳み込み符号器の間で情報ビットを移動させながら情報ビットを操作することにより、情報ビットに対して並べ換え、ブロック符号化、パリティテイリング、パンクチャリング、畳み込み符号化およびインタリービングなどのチャネル処理用の制御コマンドの定義済みのシーケンスを実行する。
2009544224.tif 000002
【特許請求の範囲】
【請求項１】
無線送受信用の情報ビットに対してチャネル処理を行うためのハードウェアアクセラレータであって、共用メモリと通信状態にあり、
前記情報ビットおよび処理済み情報ビットを格納するための第１のバッファおよび第２のバッファと、
前記第１のバッファおよび前記第２のバッファにアクセスするためのアドレスを生成するための少なくとも１つのアドレス生成器と、
前記第１のバッファおよび前記第２のバッファにアクセスするための変換されたアドレスを生成するための変換ＲＯＭ（読出し専用メモリ）と、
前記共用メモリにアクセスするためのインタフェースと、
パリティビットを生成するために前記情報ビットおよび前記処理済み情報ビットの１つに対してブロック符号化を行うための巡回冗長検査（ＣＲＣ）生成器と、
前記情報ビットおよび前記処理済み情報ビットの１つに対して畳み込み符号化を行うための畳み込み符号器と、
前記ＣＲＣ生成器、前記畳み込み符号器、および前記アドレス生成器のパラメータを設定するための制御信号を生成し、前記第１のバッファ、前記第２のバッファ、前記共用メモリ、前記ＣＲＣ生成器および前記畳み込み符号器の間で前記情報ビットおよび前記処理済み情報ビットを移動させながら前記情報ビットおよび前記処理済み情報ビットを操作することにより、前記情報ビットに対してチャネル処理用の制御コマンドの定義済みのシーケンスを実行するように構成された制御装置と
を備えることを特徴とするハードウェアアクセラレータ。
【請求項２】
前記制御装置は、複数のチャネルのそれぞれのパラメータを設定し、前記複数のチャネル用の前記制御コマンドの定義済みのシーケンスを実行するように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項３】
前記チャネル処理は、第１の並べ換え、ブロック符号化、第２の並べ換え、パリティテイリング、パンクチャリング、畳み込み符号化およびインタリービングの少なくとも１つを含むことを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項４】
前記制御装置は、制御ワードに基づいて前記制御コマンドの定義済みのシーケンスを実行するように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項５】
前記制御ワードは、制御ブロックに含まれることを特徴とする請求項４に記載のハードウェアアクセラレータ。
【請求項６】
前記制御ワードは、前記共用メモリから取り出されることを特徴とする請求項４に記載のハードウェアアクセラレータ。
【請求項７】
前記制御装置は、ビット操作を行いながら前記第１のバッファと前記第２のバッファとの間でデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項８】
前記制御装置は、前記変換ＲＯＭによって生成されたアドレスを使用して前記第１のバッファおよび前記第２のバッファの１つからデータを取り出し、前記取り出されたデータをもう一方のバッファに置くように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項９】
前記制御装置は、前記第１のバッファおよび前記第２のバッファの１つからデータを取り出し、前記取り出されたデータを前記変換ＲＯＭによって生成されたアドレスを使用してもう一方のバッファに置くように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１０】
前記制御装置は、前記第１のバッファおよび前記第２のバッファの１つから前記ＣＲＣ生成器へとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１１】
前記制御装置は、前記変換ＲＯＭによって生成されたアドレスを使用して前記第１のバッファおよび前記第２のバッファの１つから前記ＣＲＣ生成器へとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１２】
前記制御装置は、前記畳み込み符号器を介して前記第１のバッファおよび前記第２のバッファの１つからデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１３】
前記制御装置は、前記ＣＲＣ生成器から前記第１のバッファおよび前記第２のバッファの１つへとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１４】
前記制御装置は、前記第１のバッファおよび前記第２のバッファの１つから前記共用メモリへとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１５】
前記制御装置は、前記共用メモリから前記第１のバッファおよび前記第２のバッファの１つへとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１６】
前記制御装置は、最大６個の異なるチャネルからの前記処理済み情報ビットを格納するために、６個のＳＭＡソースを使用するように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１７】
前記制御装置は、斜めインタリービングを実施するように構成されることを特徴とする請求項１６に記載のハードウェアアクセラレータ。
【請求項１８】
前記斜めインタリービングは、別個のハードウェアアクセラレータを用いて実施されることを特徴とする請求項１７に記載のハードウェアアクセラレータ。
【請求項１９】
無線通信装置内のハードウェアアクセラレータを用いてチャネル処理を行う方法であって、
情報ビットを受信するステップと、
ハードウェアアクセラレータを使用して前記情報ビットに対してチャネル処理を行うステップであって、前記ハードウェアアクセラレータが、第１のバッファ、第２のバッファ、共用メモリ、巡回冗長検査（ＣＲＣ）生成器および畳み込み符号器の間で前記情報ビットおよび処理済み情報ビットを移動させながらチャネル処理用のコマンドの定義済みのシーケンスを実行するステップと
を含むことを特徴とする方法。
【請求項２０】
複数のチャネルごとにパラメータが設定され、前記複数のチャネルに対して前記制御コマンドの定義済みのシーケンスが実行されることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記チャネル処理は、第１の並べ換え、ブロック符号化、第２の並べ換え、パリティテイリング、パンクチャリング、畳み込み符号化およびインタリービングの少なくとも１つを含むことを特徴とする請求項１９に記載の方法。
【請求項２２】
前記ハードウェアアクセラレータは、最大６個の異なるチャネルからの前記処理済み情報ビットを格納するために、６個のＳＭＡソースを使用するように構成されることを特徴とする請求項２１に記載の方法。
【請求項２３】
前記インタリービングは、斜めインタリービングであることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記斜めインタリービングは、別個のハードウェアアクセラレータを用いて実施されることを特徴とする請求項２３に記載の方法。
【請求項２５】
前記制御コマンドの定義済みのシーケンスは、制御ワードに基づいて実行されることを特徴とする請求項１９に記載の方法。
【請求項２６】
前記制御ワードは、制御ブロックに含まれることを特徴とする請求項２５に記載の方法。
【請求項２７】
前記制御ワードは、前記共用メモリから取り出されることを特徴とする請求項２５に記載の方法。
【請求項２８】
前記ハードウェアアクセラレータは、ビット操作を行いながら前記第１のバッファと前記第２のバッファとの間でデータを移動させるように構成されることを特徴とする請求項１９に記載の方法。
【請求項２９】
前記ハードウェアアクセラレータは、変換ＲＯＭ（読出し専用メモリ）によって生成されたアドレスを使用して前記第１のバッファおよび前記第２のバッファの１つからデータを取り出し、前記取り出されたデータをもう一方のバッファに置くように構成されることを特徴とする請求項１９に記載の方法。
【請求項３０】
前記ハードウェアアクセラレータは、前記第１のバッファおよび前記第２のバッファの１つからデータを取り出し、前記取り出されたデータを変換ＲＯＭ（読出し専用メモリ）によって生成されたアドレスを使用してもう一方のバッファに置くように構成されることを特徴とする請求項１９に記載の方法。
【請求項３１】
前記ハードウェアアクセラレータは、前記第１のバッファおよび前記第２のバッファの１つから前記ＣＲＣ生成器へとデータを移動させるように構成されることを特徴とする請求項１９に記載の方法。
【請求項３２】
前記ハードウェアアクセラレータは、変換ＲＯＭ（読出し専用メモリ）によって生成されたアドレスを使用して前記第１のバッファおよび前記第２のバッファの１つから前記ＣＲＣ生成器へとデータを移動させるように構成されることを特徴とする請求項１９に記載の方法。
【請求項３３】
前記ハードウェアアクセラレータは、前記畳み込み符号器を介して前記第１のバッファおよび前記第２のバッファの１つからデータを移動させるように構成されることを特徴とする請求項１９に記載の方法。
【請求項３４】
前記ハードウェアアクセラレータは、前記ＣＲＣ生成器から前記第１のバッファおよび前記第２のバッファの１つへとデータを移動させるように構成されることを特徴とする請求項１９に記載の方法。
【請求項３５】
前記ハードウェアアクセラレータは、前記第１のバッファおよび前記第２のバッファの１つから前記共用メモリへとデータを移動させるように構成されることを特徴とする請求項１９に記載の方法。
【請求項３６】
前記ハードウェアアクセラレータは、前記共用メモリから前記第１のバッファおよび前記第２のバッファの１つへとデータを移動させるように構成されることを特徴とする請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信システムに関する。より詳細には、本発明は、無線通信用のシンボルレートハードウェアアクセラレータに関する。
【背景技術】
【０００２】
第２世代（２Ｇ）の無線通信システム用の無線送受信ユニット（ＷＴＲＵ）は、一般に信号処理およびシンボルレート処理用のデジタルシグナルプロセッサ（ＤＳＰ）を含む。２ＧのＷＴＲＵは、通常、レイヤ１（Ｌ１）制御およびプロトコルスタック処理を扱うための（アドバンストＲＩＳＣマシン（ＡＲＭ）などの）制御プロセッサを備える。
【０００３】
図１は、（ＧＳＭ（ｇｌｏｂａｌ  ｓｙｓｔｅｍ  ｆｏｒ  ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）、ＧＰＲＳ（ｇｌｏｂａｌ  ｐａｃｋｅｔ  ｒａｄｉｏ  ｓｅｒｖｉｃｅｓ）、およびＥＤＧＥ（ｅｎｈａｎｃｅｄ  ｄａｔａ  ｒａｔｅ  ｆｏｒ  ＧＳＭ  ｅｖｏｌｕｔｉｏｎ）などの）２Ｇシステム用の従来型のＷＴＲＵ１００のブロック図である。ＷＴＲＵ１００は、チャネル処理ユニット１１０、バースト生成／変調ユニット１２０、送信機１３０およびアンテナ１４０を含む。チャネル処理ユニット１１０は、ブロック符号化ユニット１１２、畳み込み符号器１１４、並べ換え／分割ユニット１１６およびインタリーバ１１８を含む。バースト生成／変調ユニット１２０は、暗号化ユニット１２２、バースト生成器１２４および変調器１２６を含む。図１はＷＴＲＵ１００の送信側のみを示すが、ＷＴＲＵ１００は受信側にも、送信側に対応する構成要素を含む。
【０００４】
情報ビット１１１は、ブロック符号化ユニット１１２（例えば巡回冗長検査（ＣＲＣ）ユニット）によって最初に処理される。ブロック符号化ユニット１１２によって情報ビット１１１にパリティビットが追加される。次いで、パリティビットを伴う情報ビット１１３が、畳み込み符号器１１４によって処理される。畳み込み符号器１１４は、ビット１１３に対して畳み込み符号化を行って符号化されたビット１１５を生成する。符号化されたビット１１５は、並べ換え／分割ユニット１１６によって並べ換えられ、分割される。次いで、並べ換えおよび分割されたビット１１７が、インタリーバ１１８によってインタリーブされる。インタリーブされたビット１１９は、暗号化ユニット１２２によって暗号化される。暗号化されたビット１２３は、バースト生成器１２４に送信される。バースト生成器１２４は、暗号化されたビット１２３からバースト１２５を生成する。バースト生成器１２４によってバーストの多重化も行われる。次いで、バースト１２５は、変調器１２６によって処理される。次いで、変調された符号１２７が、アンテナ１４０を介して送信機１３０によって送信される。
【０００５】
図２は、非特許文献１を出典とするもので、ＧＳＭ、ＧＰＲＳおよびＥＤＧＥのいくつかのチャネルの情報ビットの処理を示す。２Ｇシステムでは、複数のチャネルがサポートされている。図２は、ＴＣＨ／ＥＦＳ（エンハンスドフルレートスピーチ用トラフィックチャネル）、ＴＣＨ／ＦＳ（フルレートスピーチ用トラフィックチャネル）、ＴＣＨ／ＨＳ（ハーフレートスピーチ用トラフィックチャネル）、データトラフィックチャネル、およびＰＤＴＣＨ（パケットデータトラフィックチャネル）の情報ビットの処理を示す。
【０００６】
図１および図２を参照して、ＴＣＨ／ＦＳの情報ビットの処理を説明的な例として説明する。スピーチコーダ（図１には図示せず）は、フルレートの場合もエンハンスドフルレートの場合も、一連のデータブロックをチャネル処理ユニットに送る。ＴＣＨ／ＦＳまたはＴＣＨ／ＥＦＳの場合、１つのデータブロックが１つのスピーチフレームに対応する。各ブロックは、１８２個のクラス１ビット（保護されたビット）および７８個のクラス２ビット（保護されていないビット）を含む２６０個の情報ビットを含む。各ブロックの２６０ビットは、ブロック符号化ユニットによって処理される。最初の５０個のクラス１ビットは、エラー検出のための３個のパリティビットによって保護される。入力されたクラス１ビットおよびパリティビットは並べ換えられ、４個のテイリングビットが末尾に追加される。ブロック符号化ユニットは、３個のパリティビットと４個のテイリングビットとを含む２６７ビットを出力する。２６７ビットのうちのクラス１ビットは、畳み込み符号器による１／２レートの畳み込み符号化によって符号化される。畳み込み符号器は、符号化されたビットの４５６ビットを出力する。４５６個の符号化されたビットは、並べ換え／分割ユニットによって並べ換えられ、分割される。並べ換え／分割ユニットは、８ブロックのビットを出力する。次いで、この８ブロックのビットは、インタリーバによって斜めに（ｄｉａｇｏｎａｌｌｙ）インタリーブされたブロックになる。並べ換えおよびインタリービングは、所定のテーブルに基づいて行われる。
【０００７】
２Ｇおよび３Ｇ（第３世代）サービスの両方をサポートするデュアルモードのＷＴＲＵが市場でますます使用されるにつれ、コスト削減および節電のために２Ｇおよび３Ｇ処理の物理資源を共用することが必要となっている。データ転送速度が増し、変調技術および受信側アルゴリズムがより複雑になるにつれ、ＤＳＰによってサポートされなければならない処理要件は増加し続ける。音声コーデックなど、ＤＳＰによってサポートされる他の機能もまた、より複雑になっている。追加された機能をサポートするために単にＤＳＰの周波数を増加するだけでは、電力消耗がより高くなることや、メモリサブシステムに対する要求が高まることを含めた他の問題が生じることになる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Third generation partnership project (3GPP) technical specification (TS) 45.003 ２．１節
【非特許文献２】3GPP TS 45.003 v.7.10  ３．１．２．１節
【非特許文献３】3GPP TS 45.003 v.7.10  表１
【発明の概要】
【発明が解決しようとする課題】
【０００９】
この問題に対する可能な解決策は、ＤＳＰからハードウェアアクセラレータに一部の処理を肩代わりさせることである。従来型のハードウェアアクセラレータは、ＤＳＰにより、通常はアクセラレータ中に入力データを取り入れるための直接メモリアクセス（ＤＭＡ）技術またはプログラム制御Ｉ／Ｏ、アクセラレータを開始するためのレジスタ書き込み、およびアクセラレータの結果にアクセスするためのＤＭＡ技術またはプログラム制御Ｉ／Ｏを使用して制御される。従来のハードウェアアクセラレータは特定の機能を果たすために通常「ハードワイヤ式」になっており、そのためＤＳＰからハードウェアアクセラレータに機能を移すと（ＤＳＰで実行されるソフトウェアと比べて）柔軟性が失われることになり、機能要件の変更が生じる場合には大幅なハードウェアの変更が必要となる。
【課題を解決するための手段】
【００１０】
本発明は、無線通信用のシンボルレートハードウェアアクセラレータに関する。シンボルレート機能がＤＳＰ（または制御プロセッサ）から肩代わりされるが、変更または新しいチャネルタイプに対応するための柔軟性は維持される。ハードウェアアクセラレータは、第１のバッファ、第２のバッファ、少なくとも１つのアドレス生成器、変換ＲＯＭ（読出し専用メモリ）、ＣＲＣ生成器、畳み込み符号器、他の可能な動作ユニット、（ＤＳＰおよび／または制御プロセッサによってアクセス可能な）ＳＭＡ（共用メモリアーキテクチャ）へのインタフェース、および制御装置を含む。ＳＭＡへのインタフェースは、共用メモリから第１のバッファを満たし、第１のバッファまたは第２のバッファのいずれか一方からの結果を共用メモリに送り返す手段を提供する。ＳＭＡへのインタフェースは、アクセラレータが解釈するコマンドのソースも提供する。第１のバッファおよび第２のバッファは情報ビットを格納する。アドレス生成器（１つまたは複数）は、第１のバッファおよび第２のバッファにアクセスするためのアドレスを生成する。変換ＲＯＭは、第１のバッファおよび第２のバッファにアクセスするための変換されたアドレスを生成する際に使用される。制御装置は、ＣＲＣ生成器、畳み込み符号器、アドレス生成器（１つまたは複数）、および可能な他の動作ユニットのパラメータを設定するとともに、共用メモリ、第１のバッファ、第２のバッファ、ＣＲＣ生成器および畳み込み符号器の間で情報ビットおよび処理済み情報ビットを移動させながら情報ビットおよび処理済み情報ビットを操作することにより、情報ビットに対してチャネル処理用の制御コマンドの定義済みのシーケンスを実行する。チャネル処理は、第１の並べ換え、ブロック符号化、第２の並べ換え、パリティテイリング、パンクチャリング、畳み込み符号化およびインタリービングの少なくとも１つを含む。
【００１１】
本発明のより詳細な理解は、例として示され、添付の図面と併せて理解すべき好ましい実施形態についての以下の説明によって得ることができる。
【図面の簡単な説明】
【００１２】
【図１】２Ｇシステム用の従来型のＷＴＲＵのブロック図である。
【図２】ＧＳＭ、ＧＰＲＳおよびＥＤＧＥにおける複数のチャネルの情報ビットの従来の処理を示す図である。
【図３】本発明によるハードウェアアクセラレータによって実施される例示的なデータ処理フローを示す図である。
【図４】本発明によるハードウェアアクセラレータおよびＳＭＡを示す図である。
【図５】本発明による例示的な斜めインタリービング（ｄｉａｇｏｎａｌ  ｉｎｔｅｒｌｅａｖｉｎｇ）のパターンを示す図である。
【発明を実施するための形態】
【００１３】
以下で言及する場合、用語「ＷＴＲＵ」は、ユーザ装置（ＵＥ）、移動局、固定または移動加入者ユニット、携帯無線呼び出し器、携帯電話、携帯情報端末（ＰＤＡ）、コンピュータ、または無線環境で動作可能な他の任意のタイプのユーザデバイスを含むが、これだけに限定されるものではない。以下で言及する場合、用語「基地局」は、ノードＢ、サイトコントローラ、アクセスポイント（ＡＰ）、または無線環境で動作可能な他の任意のタイプのインタフェースデバイスを含むが、これだけに限定されるものではない。
【００１４】
本発明は、所望に応じていかなるタイプの無線通信システムで実施してもよい。例として、本発明はいかなるタイプのＧＳＭ、ＥＤＧＥ、ＧＰＲＳシステムまたは他のいかなるタイプの無線通信システムで実施してもよい。
【００１５】
本発明によれば、チャネル処理（すなわち、送信処理および／または受信処理のシンボルレート処理）用に従来使用されてきた汎用ＤＳＰが、ＷＴＲＵまたは基地局内でチャネル処理を実施するように特に設計されたハードウェアアクセラレータによって置き換えられる。図２にそのサブセットを示す様々なタイプのチャネルのチャネル処理フローは互いに類似するが、各チャネル処理ステップで特定のパラメータが異なり（すなわち、チャネルタイプが異なると、ブロック符号化、畳み込み符号化、並べ換えおよびインタリービングのパラメータが異なり）、各チャネル処理ステップが行われる順序が異なることがある。
【００１６】
本発明によれば、図２に示すような各チャネルタイプのチャネル処理フローは、単一のオペレーションフローにまとめられる。図３は、本発明によるハードウェアアクセラレータによって実施される例示的なデータ処理フローを示す。ハードウェアアクセラレータによって実施される典型的なチャネル処理プロセス３００は、選択的並べ換え３０２、選択的ブロック符号化３０４、並べ換え３０６、パリティテイリング３０８、パンクチャリング３１０、畳み込み符号化３１２およびインタリービング３１４を含む。選択的並べ換えは、ビットストリーム内のビットの特定の部分を並べ換えるために実施される。選択的ブロック符号化は、ビットの特定の部分に対して実施されるブロック符号化である。チャネルタイプに応じて、選択的並べ換えおよび通常の並べ換えのどちらを実施することもできる。パリティテイリングは、ブロック符号化によるビットのブロックにパリティビットを付加するためのものである。パンクチャリングは、レートマッチングのためにビットストリームから特定のビットを取り除くために実施される。畳み込み符号化は、エラーの検出および訂正のために実施される。インタリービングは、バーストエラーに対する保護のために実施される。図３に示す処理は、異なるチャネルのタイプに応じて異なるように定義できることに留意すべきである。また、図３は、単純化するために送信処理のみを示すが、本発明は受信処理にも同様に適用可能であることにも留意されたい。本発明によれば、異なるパラメータを伴うコマンドのシーケンスがチャネルタイプごとに定義されており、コマンドのシーケンスはハードウェアアクセラレータによって実行される。
【００１７】
図４は、本発明によるハードウェアアクセラレータ４００およびＳＭＡ４２０を示す。ハードウェアアクセラレータ４００は、制御装置４０２、アドレス生成器４０４、変換ＲＯＭ（読出し専用メモリ）４０６、第１のバッファ４０８、第２のバッファ４１０、ＣＲＣ生成器４１２、畳み込み符号器４１４、畳み込み復号器４１６（すなわちビタビ復号器）およびコマンドレジスタ４１８を含む。ハードウェアアクセラレータ４００は、チャネル処理を実施するために必要な追加の動作ユニットを含んでもよいことに留意すべきである。ハードウェアアクセラレータ４００は、チャネルタイプごとに定義されたビット操作の特定のシーケンスを実行する。ハードウェアアクセラレータ４００は、特定の機能を実施するための制御ワードに従ってビットストリーム（すなわちビットフィールド）を操作する。制御ワードは、ＳＭＡ４２０中に存在する制御ブロックに含まれている。制御ワードは、ＳＭＡ４２０から取り出され、コマンドレジスタ４１８中に格納されてから、制御装置４０２によって解釈される。
【００１８】
ハードウェアアクセラレータ４００によって実施される典型的な操作は、ＳＭＡ４２０からデータブロックを第１のバッファ４０８中にコピーし、第１の操作を行いながら第１のバッファ４０８から第２のバッファ４１０へとデータを移動させ、第２の操作を行いながら第２のバッファ４１０から第１のバッファ４０８へとデータを移動させ、必要な回数だけデータに対して操作を行いながら第１のバッファ４０８と第２のバッファ４１０との間でのデータの移動を繰り返し、次いで、その結果生じるデータを終了バッファ（第１のバッファ４０８または第２のバッファ４１０のいずれか）からＳＭＡ４２０へと移動させることを含む。
【００１９】
この操作は、極めて単純なハードウェア構造しか必要とせず、ハードウェアアクセラレータ４００は、１または２クロック／ビットで動作する。制御シーケンスはソフトウェアによって制御され、チャネルタイプごとに事前定義されている。ハードウェアアクセラレータを呼び出す前に、ＳＭＡポインタのみが更新されていればよい。制御装置４０２は、制御シーケンスを維持する。
【００２０】
ハードウェアアクセラレータ４００は、まずＣＲＣ生成器４１２、畳み込み符号器４１４、ビタビ復号器４１６およびアドレス生成器４０４のパラメータを設定する。次いで、ハードウェアアクセラレータ４００は、以下のコマンドの少なくとも１つをＮ回繰り返す。
１）Ｃｏｐｙ：第１のバッファ４０８から第２のバッファ４１０へ、または第２のバッファ４１０から第１のバッファ４０８へとデータを移動させる。
２）Ｃｏｐｙ＿ｔｒａｎｓｌａｔｅ＿ｓｒｃ：変換ＲＯＭ４０６によって生成されたアドレスを使用して１つのバッファ（第１のバッファ４０８または第２のバッファ４１０のいずれか）からデータを取り出し、取り出されたデータを、リニアアドレスを使用してもう一方のバッファ（第１のバッファ４０８または第２のバッファ４１０のいずれか）に置く。
３）Ｃｏｐｙ＿ｔｒａｎｓｌａｔｅ＿ｄｓｔ：リニアアドレスを使用して１つのバッファ（第１のバッファ４０８または第２のバッファ４１０のいずれか）からデータを取り出し、取り出されたデータを変換ＲＯＭ４０６によって生成されたアドレスを使用してもう一方のバッファ（第１のバッファ４０８または第２のバッファ４１０のいずれか）に置く。
４）Ｇｅｎｅｒａｔｅ＿ＣＲＣ：第１のバッファ４０８および第２のバッファ４１０の１つからＣＲＣ生成器４１２へとデータを移動させる。
５）Ｇｅｎｅｒａｔｅ＿ＣＲＣ＿ｔｒａｎｓｌａｔｅ：変換ＲＯＭ４０６によって生成されたアドレスを使用して、第１のバッファ４０８および第２のバッファ４１０の１つからＣＲＣ生成器４１２へとデータを移動させる。
６）Ｃｏｎｖ＿Ｅｎｃｏｄｅ＿ＸＸＸＸＸＸ：第１のバッファ４０８および第２のバッファ４１０の１つから、どの畳み込み符号化構造を移動に含めるかを決定するパターン「ＸＸＸＸＸＸ」を使用して畳み込み符号器４１４を介してデータを移動させる。
７）Ｆｒｏｍ＿ＣＲＣ：ＣＲＣ生成器４１２から第１のバッファ４０８および第２のバッファ４１０の１つへとデータを移動させる。
８）Ｔｏ＿ＳＭＡ：第１のバッファ４０８および第２のバッファ４１０の１つからＳＭＡ４２０へとデータを移動させる。
９）Ｆｒｏｍ＿ＳＭＡ：ＳＭＡ４２０から第１のバッファ４０８および第２のバッファ４１０の１つへとデータを移動させる。
【００２１】
ＴＣＨ／ＦＳのチャネル処理を行うための例示的な制御シーケンスを、本明細書で以下に説明する。ＴＣＨ／ＦＳの処理フローを図２に示す。データ（すなわち１つのスピーチフレームの２６０ビット）は、既に共用メモリから第１のバッファ４０８へと移動されていると想定する。選択的ブロック符号化（すなわち選択的ＣＲＣ符号化）の制御シーケンスは、以下の通りである。
１）Ｓｅｔ  ＣＲＣ  ｐａｒａｍｅｔｅｒｓ；
２）Ｃｌｅａｒ  ａｄｄｒｅｓｓ  ｃｏｕｎｔｅｒ；および
３）Ｒｐｔ  ５０；  Ｇｅｎｅｒａｔｅ  ＣＲＣ；
【００２２】
ＣＲＣのパラメータは、「Ｓｅｔ  ＣＲＣ  ｐａｒａｍｅｔｅｒ」コマンドによって設定される。アドレスカウンタ（リニアアドレスカウンタ）は、「Ｃｌｅａｒ  ａｄｄｒｅｓｓ  ｃｏｕｎｔｅｒ」コマンドによって初期化される。次いで、「Ｒｐｔ  ５０；  Ｇｅｎｅｒａｔｅ  ＣＲＣ」コマンドにより最初の５０ビットが第１のバッファ４０８からＣＲＣ生成器４１２へと移動され、計算されたＣＲＣはＣＲＣ生成器に残される。
【００２３】
並べ換えおよびパリティテイリングの制御シーケンスは、以下の通りである。
１）変換ＲＯＭの「Ｒｅａｒｒａｎｇｅ＿ｉｎｓｅｒｔ＿ＣＲＣ＿３．１．２．１」にラベルを付けるためのＳｅｔ  Ｉｎｄｘ＿Ｂａｓｅ；
２）Ｃｌｅａｒ  ａｄｄｒｅｓｓ  ｃｏｕｎｔｅｒ；および
３）Ｒｐｔ  １８９；Ｃｏｐｙ＿ｔｒａｎｓｌａｔｅ。
【００２４】
前に述べた通り、最初の５０個のクラス１ビットから３個のパリティビットが生成され、１８２個のクラス１ビットおよび３個のパリティビットが並べ換えられ、４個のパリティビットが末尾に追加される。上述の３つのコマンドは、クラス１ビットおよびパリティビットを並べ換え、テイリングビットを追加するためのコマンドである。インデックスベースは事前定義の値（すなわち、非特許文献２に指定された値）に設定される。リニアアドレスカウンタは、「Ｃｌｅａｒ  ａｄｄｒｅｓｓ  ｃｏｕｎｔｅｒ」コマンドによって再度初期化される。１８９ビット（情報ビット、パリティビットおよびテイリングビット）は、「Ｒｐｔ  １８９；Ｃｏｐｙ＿ｔｒａｎｓｌａｔｅ」コマンドにより変換ＲＯＭ４０６によって生成されるアドレスを使用して第１のバッファ４０８から第２のバッファ４１０へと移動される。
【００２５】
畳み込み符号化の制御シーケンスは、以下の通りである。
１）Ｓｅｔ  Ｃｏｎｖ＿ｅｎｃｏｄｅ  ｐａｒａｍｅｔｅｒｓ；
２）Ｃｌｅａｒ  ａｄｄｒｅｓｓ  ｃｏｕｎｔｅｒ；
３）Ｒｐｔ  １８９；Ｌｅｎｇ  ２；  ｃｏｎｖ＿ｅｎｃｏｄｅ＿００００１１；および
４）Ｒｐｔ  ７８；Ｃｏｐｙ。
【００２６】
畳み込み符号化のパラメータは、「Ｓｅｔ  Ｃｏｎｖ＿ｅｎｃｏｄｅ  ｐａｒａｍｅｔｅｒｓ」コマンドによって設定される。アドレスカウンタは、「Ｃｌｅａｒ  ａｄｄｒｅｓｓ  ｃｏｕｎｔｅｒ」コマンドによって初期化される。１８９個のクラス１ビットは、畳み込み符号化用のパターン「００００１１」を使用して第２のバッファ４１０から畳み込み符号器４１４を介して移動される。符号化された出力は、第１のバッファ４０８に置かれる。７８個のクラス２ビットは、（符号化によって保護されていないため）「Ｒｐｔ  ７８；Ｃｏｐｙ」コマンドによって第２のバッファ４１０から第１のバッファ４０８へと移動される。
【００２７】
並べ換えおよび分割の制御シーケンスは、以下の通りである。
１）変換ＲＯＭの「Ｉｎｔｅｒｌｅａｖｅ＿３．１．３＿Ｔｂｌ＿１＿Ｐ１６９」にラベルを付けるためのＳｅｔ  Ｉｎｄｘ＿Ｂａｓｅ；
２）Ｃｌｅａｒ  ａｄｄｒｅｓｓ  ｃｏｕｎｔｅｒ；および
３）Ｒｐｔ  ４５６；Ｃｏｐｙ＿ｔｒａｎｓｌａｔｅ。
【００２８】
４５６個の符号化されたビットは、事前定義された規則に従って（すなわち事前定義されたテーブルに基づいて）並べ換えられ分割される。インデックスベースは、事前定義された値（すなわち非特許文献３に指定される通り）に設定される。アドレスカウンタは、「Ｃｌｅａｒ  ａｄｄｒｅｓｓ  ｃｏｕｎｔｅｒ」コマンドによって初期化される。４５６個の符号化されたビットは、変換ＲＯＭ４０６によって得られたアドレスを使用して第１のバッファ４０８から第２のバッファ４１０へと移動させると並べ換えおよび分割が完了する。次いで、第２のバッファ４１０中の並べ換えおよび分割済みビットはＳＭＡに移動される。
【００２９】
上述の処理には、約１６個の制御ブロックワード、約９０８個のＲＯＭワードおよび約１１５１のクロックティックが必要である。５２ＭＨｚでは、１５００クロックティックは２８．８５マイクロ秒に等しく、これはＧＳＭタイムスロットのほんの５％にすぎない。本発明によれば、大幅なコストおよび電力の節約が可能である。
【００３０】
ハードウェアアクセラレータ４００は、インタリービング用の最大６個の異なるチャネルからの並べ換えおよび分割済みビットを格納するために、好ましくは６個のＳＭＡソース（すなわち共用メモリの６個の異なる領域）を使用する。インタリービングは、斜めインタリービングでよい。
【００３１】
図５は、本発明による例示的な斜めインタリービング（ｄｉａｇｏｎａｌ  ｉｎｔｅｒｌｅａｖｉｎｇ）のパターンを示す。各チャネルからの並べ換えおよび分割済みビットは、（物理的にではなく、概念的に）列単位でＳＭＡ中に書き込まれ、ＳＭＡからのビットを（物理的にではなく、概念的に）行単位で読み取ることによってバーストが生成され、これにより斜めインタリービングが行われる。各列は、１つのチャネルからの並べ換えおよび分割済みビットを表す。最大６個の異なるチャネル用の並べ換えおよび分割済みビットが、ＳＭＡの別々の領域に格納される。各チャネルからの１フレームのデータは、合計４５６ビットを有する。各行はバーストを表す。各バーストは１１４ビットを有する。１つのチャネル中のビットは、２２個のバーストにわたってインタリーブされる。図５に示す通り、４つの異なるインタリービングのパターンがある。それらは、｛１２、２４、２４、２４、２４、６｝、｛６、２４、２４、２４、２４、１２｝、｛２４、２４、２４、２４、１８｝、および｛１８、２４、２４、２４、２４｝である。４つのパターンのそれぞれが、最大６個の異なるチャネルからのビットを含む。図５に示すパターンは例示的なものであり、他の任意のパターンを本発明による代替形態として実装してもよいことに留意すべきである。図５に示す斜めインタリービングは、別個のハードウェアアクセラレータが実施してもよい。
【００３２】
低レベルの暗号化を、リニアフィードバックシフトレジスタ（ＬＦＳＲ）ベースのストリームをバーストデータと排他的論理和演算を行う形で行ってよく、符号は送信（Ｔｘ）チップからフロントエンドのルートレイズドコサイン（ＲＲＣ）フィルタによって受信される。
【００３３】
実施形態
１．無線送受信用の情報ビットに対してチャネル処理を実施し、共用メモリと通信状態にあるハードウェアアクセラレータ。
【００３４】
２．情報ビットおよび処理済み情報ビットを格納するための第１のバッファおよび第２のバッファを備える実施形態１に記載のハードウェアアクセラレータ。
【００３５】
３．第１のバッファおよび第２のバッファにアクセスするためのアドレスを生成するための少なくとも１つのアドレス生成器を備える実施形態２に記載のハードウェアアクセラレータ。
【００３６】
４．第１のバッファおよび第２のバッファにアクセスするための変換されたアドレスを生成するための変換ＲＯＭを備える実施形態２〜３のいずれか１つに記載のハードウェアアクセラレータ。
【００３７】
５．共用メモリにアクセスするためのインタフェースを備える実施形態１〜４のいずれか１つに記載のハードウェアアクセラレータ。
【００３８】
６．パリティビットを生成するために情報ビットおよび処理済み情報ビットの１つに対してブロック符号化を行うためのＣＲＣ生成器を備える実施形態１〜５のいずれか１つに記載のハードウェアアクセラレータ。
【００３９】
７．情報ビットおよび処理済み情報ビットの１つに対して畳み込み符号化を行うための畳み込み符号器を備える実施形態１〜６のいずれか１つに記載のハードウェアアクセラレータ。
【００４０】
８．ＣＲＣ生成器、畳み込み符号器およびアドレス生成器のパラメータを設定するための制御信号を生成し、第１のバッファ、第２のバッファ、共用メモリ、ＣＲＣ生成器および畳み込み符号器の間で情報ビットおよび処理済み情報ビットを移動させながら情報ビットおよび処理済み情報ビットを操作することにより、情報ビットに対してチャネル処理用の制御コマンドの定義済みのシーケンスを実行するように構成された制御装置を備える実施形態７に記載のハードウェアアクセラレータ。
【００４１】
９．制御装置は、複数のチャネルのそれぞれのパラメータを設定し、前記複数のチャネル用の制御コマンドの定義済みのシーケンスを実行するように構成された実施形態８に記載のハードウェアアクセラレータ。
【００４２】
１０．チャネル処理は、第１の並べ換え、ブロック符号化、第２の並べ換え、パリティテイリング、パンクチャリング、畳み込み符号化およびインタリービングの少なくとも１つを含む実施形態１〜９のいずれか１つに記載のハードウェアアクセラレータ。
【００４３】
１１．制御装置は、制御ワードに基づいて制御コマンドの定義済みのシーケンスを実行するように構成された実施形態８〜１０のいずれか１つに記載のハードウェアアクセラレータ。
【００４４】
１２．制御ワードは、制御ブロックに含まれる実施形態１１に記載のハードウェアアクセラレータ。
【００４５】
１３．制御ワードは、共用メモリから取り出される実施形態１１〜１２のいずれか１つに記載のハードウェアアクセラレータ。
【００４６】
１４．制御装置は、ビット操作を行いながら第１のバッファと第２のバッファとの間でデータを移動させるように構成された実施形態８〜１３のいずれか１つに記載のハードウェアアクセラレータ。
【００４７】
１５．制御装置は、変換ＲＯＭによって生成されたアドレスを使用して第１のバッファおよび第２のバッファの１つからデータを取り出し、取り出されたデータをもう一方のバッファに置くように構成された実施形態８〜１４のいずれか１つに記載のハードウェアアクセラレータ。
【００４８】
１６．制御装置は、第１のバッファおよび第２のバッファの１つからデータを取り出し、取り出されたデータを変換ＲＯＭによって生成されたアドレスを使用してもう一方のバッファに置くように構成された実施形態８〜１５のいずれか１つに記載のハードウェアアクセラレータ。
【００４９】
１７．制御装置は、第１のバッファおよび第２のバッファの１つからＣＲＣ生成器へとデータを移動させるように構成された実施形態８〜１６のいずれか１つに記載のハードウェアアクセラレータ。
【００５０】
１８．制御装置は、変換ＲＯＭによって生成されたアドレスを使用して第１のバッファおよび第２のバッファの１つからＣＲＣ生成器へとデータを移動させるように構成された実施形態８〜１７のいずれか１つに記載のハードウェアアクセラレータ。
【００５１】
１９．制御装置は、畳み込み符号器を介して第１のバッファおよび第２のバッファの１つからデータを移動させるように構成された実施形態８〜１８のいずれか１つに記載のハードウェアアクセラレータ。
【００５２】
２０．制御装置は、ＣＲＣ生成器から第１のバッファおよび第２のバッファの１つへとデータを移動させるように構成された実施形態８〜１９のいずれか１つに記載のハードウェアアクセラレータ。
【００５３】
２１．制御装置は、第１のバッファおよび第２のバッファの１つから共用メモリへとデータを移動させるように構成された実施形態８〜２０のいずれか１つに記載のハードウェアアクセラレータ。
【００５４】
２２．制御装置は、共用メモリから第１のバッファおよび第２のバッファの１つへとデータを移動させるように構成された実施形態８〜２１のいずれか１つに記載のハードウェアアクセラレータ。
【００５５】
２３．制御装置は、最大６個の異なるチャネルからの処理済み情報ビットを格納するために、６個のＳＭＡソースを使用するように構成された実施形態８〜２２のいずれか１つに記載のハードウェアアクセラレータ。
【００５６】
２４．制御装置は、斜めインタリービングを実施するように構成された実施形態２３に記載のハードウェアアクセラレータ。
【００５７】
２５．斜めインタリービングは、別個のハードウェアアクセラレータを用いて実施される実施形態２４に記載のハードウェアアクセラレータ。
【００５８】
２６．無線通信装置内のハードウェアアクセラレータを用いてチャネル処理を行う方法。
【００５９】
２７．情報ビットを受信するステップを含む実施形態２６に記載の方法。
【００６０】
２８．ハードウェアアクセラレータを使用して情報ビットに対してチャネル処理を行うステップであって、ハードウェアアクセラレータが、第１のバッファ、第２のバッファ、共用メモリ、ＣＲＣ生成器および畳み込み符号器の間で情報ビットおよび処理済み情報ビットを移動させながらチャネル処理用のコマンドの定義済みのシーケンスを実行するステップを含む実施形態２７に記載の方法。
【００６１】
２９．複数のチャネルごとにパラメータが設定され、上記複数のチャネルに対して制御コマンドの定義済みのシーケンスが実行される実施形態２８に記載の方法。
【００６２】
３０．チャネル処理は、第１の並べ換え、ブロック符号化、第２の並べ換え、パリティテイリング、パンクチャリング、畳み込み符号化およびインタリービングの少なくとも１つを含む実施形態２８〜２９のいずれか１つに記載の方法。
【００６３】
３１．ハードウェアアクセラレータは、最大６個の異なるチャネルからの処理済み情報ビットを格納するために、６個のＳＭＡソースを使用するように構成された実施形態２８〜３０のいずれか１つに記載の方法。
【００６４】
３２．インタリービングは、斜めインタリービングである実施形態３１に記載の方法。
【００６５】
３３．斜めインタリービングは、別個のハードウェアアクセラレータを用いて実施される実施形態３２に記載の方法。
【００６６】
３４．制御コマンドの定義済みのシーケンスは、制御ワードに基づいて実行される実施形態２８〜３３のいずれか１つに記載の方法。
【００６７】
３５．制御ワードは、制御ブロックに含まれる実施形態３４に記載の方法。
【００６８】
３６．制御ワードは、共用メモリから取り出される実施形態３４〜３５のいずれか１つに記載の方法。
【００６９】
３７．ハードウェアアクセラレータは、ビット操作を行いながら第１のバッファと第２のバッファとの間でデータを移動させるように構成された実施形態２８〜３６のいずれか１つに記載の方法。
【００７０】
３８．ハードウェアアクセラレータは、変換ＲＯＭによって生成されたアドレスを使用して第１のバッファおよび第２のバッファの１つからデータを取り出し、取り出されたデータをもう一方のバッファに置くように構成された実施形態２８〜３７のいずれか１つに記載の方法。
【００７１】
３９．ハードウェアアクセラレータは、第１のバッファおよび第２のバッファの１つからデータを取り出し、取り出されたデータを変換ＲＯＭによって生成されたアドレスを使用してもう一方のバッファに置くように構成された実施形態２８〜３８のいずれか１つに記載の方法。
【００７２】
４０．ハードウェアアクセラレータは、第１のバッファおよび第２のバッファの１つからＣＲＣ生成器へとデータを移動させるように構成された実施形態２８〜３９のいずれか１つに記載の方法。
【００７３】
４１．ハードウェアアクセラレータは、変換ＲＯＭによって生成されたアドレスを使用して第１のバッファおよび第２のバッファの１つからＣＲＣ生成器へとデータを移動させるように構成された実施形態２８〜４０のいずれか１つに記載の方法。
【００７４】
４２．ハードウェアアクセラレータは、畳み込み符号器を介して第１のバッファおよび第２のバッファの１つからデータを移動させるように構成された実施形態２８〜４１のいずれか１つに記載の方法。
【００７５】
４３．ハードウェアアクセラレータは、ＣＲＣ生成器から第１のバッファおよび第２のバッファの１つへとデータを移動させるように構成された実施形態２８〜４２のいずれか１つに記載の方法。
【００７６】
４４．ハードウェアアクセラレータは、第１のバッファおよび第２のバッファの１つから共用メモリへとデータを移動させるように構成された実施形態２８〜４３のいずれか１つに記載の方法。
【００７７】
４５．ハードウェアアクセラレータは、共用メモリから第１のバッファおよび第２のバッファの１つへとデータを移動させるように構成された実施形態２８〜４４のいずれか１つに記載の方法。
【００７８】
本発明の特徴および要素を好ましい実施形態において特定の組合せにより説明したが、各特徴または要素を、好ましい実施形態の他の特徴および要素なしに単独で、または本発明の他の特徴および要素を伴うもしくは本発明の他の特徴および要素抜きの様々な組合せで使用してもよい。本発明で提供する方法またはフローチャートは、汎用コンピュータまたはプロセッサによって実行するためにコンピュータ可読の記憶媒体中で有形に実施されたコンピュータプログラム、ソフトウェアまたはファームウェアで実施してよい。コンピュータ可読の記憶媒体の例として、ＲＯＭ（読出し専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、レジスタ、キャッシュメモリ、半導体記憶装置、内蔵ハードディスクやリムーバブルディスクなどの磁気媒体、光磁気媒体、ＣＤ−ＲＯＭディスクおよびＤＶＤ（デジタル多用途ディスク）などの光学媒体が含まれる。
【００７９】
適切なプロセッサには、例として、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、複数のマイクロプロセッサ、ＤＳＰコアに関連する１個または複数個のマイクロプロセッサ、制御装置、マイクロコントローラ、特定用途向けＩＣ（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）、書替え可能ゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙｓ）回路、他の任意のタイプの集積回路（ＩＣ）および／または状態機械が含まれる。
【００８０】
ソフトウェアに関連付けられたプロセッサを、無線送受信ユニット（ＷＴＲＵ）、ユーザ装置（ＵＥ）、ターミナル、基地局、無線ネットワーク制御装置（ＲＮＣ）または任意のホストコンピュータ用の無線トランシーバを実現するために使用してよい。ＷＴＲＵは、カメラ、ビデオカメラモジュール、テレビ電話、スピーカホン、振動装置、スピーカ、マイクロホン、テレビトランシーバ、ハンズフリーヘッドセット、キーボード、ブルートゥース（登録商標）モジュール、ＦＭ（周波数変調）無線装置、液晶ディスプレイ（ＬＣＤ）ディスプレイ装置、有機発光ダイオード（ＯＬＥＤ）ディスプレイ装置、デジタル音楽プレイヤ、メディアプレイヤ、ビデオゲームプレイヤモジュール、インターネットブラウザおよび／または任意の無線ローカルエリアネットワーク（ＷＬＡＮ）モジュールなどのハードウェアおよび／またはソフトウェアによって実装されるモジュールと組み合わせて使用してよい。
【図１】
2009544224.tif 000003
【図２】
2009544224.tif 000004
【図３】
2009544224.tif 000005
【図４】
2009544224.tif 000006
【図５】
2009544224.tif 000007
【手続補正書】
【提出日】平成21年3月16日(2009.3.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
無線送受信用の情報ビットに対してチャネル処理を行うためのハードウェアアクセラレータであって、共用メモリと通信状態にあり、
前記情報ビットおよび処理済み情報ビットを格納するための第１のバッファおよび第２のバッファと、
前記第１のバッファおよび前記第２のバッファにアクセスするためのアドレスを生成するための少なくとも１つのアドレス生成器と、
前記第１のバッファおよび前記第２のバッファにアクセスするための変換されたアドレスを生成するための変換ＲＯＭ（読出し専用メモリ）と、
前記共用メモリにアクセスするためのインタフェースと、
パリティビットを生成するために前記情報ビットおよび前記処理済み情報ビットの１つに対してブロック符号化を行うための巡回冗長検査（ＣＲＣ）生成器と、
前記情報ビットおよび前記処理済み情報ビットの１つに対して畳み込み符号化を行うための畳み込み符号器と、
前記ＣＲＣ生成器、前記畳み込み符号器、および前記アドレス生成器のパラメータを設定するための制御信号を生成し、前記第１のバッファおよび前記第２のバッファの間で前記情報ビットおよび前記処理済み情報ビットを相互に移動させながら前記情報ビットおよび前記処理済み情報ビットを操作することにより、前記情報ビットに対してチャネル処理用の制御コマンドの定義済みのシーケンスを実行するように構成された制御装置と
を備えることを特徴とするハードウェアアクセラレータ。
【請求項２】
前記制御装置は、複数のチャネルのそれぞれのパラメータを設定し、前記複数のチャネル用の前記制御コマンドの定義済みのシーケンスを実行するように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項３】
前記チャネル処理は、第１の並べ換え、ブロック符号化、第２の並べ換え、パリティテイリング、パンクチャリング、畳み込み符号化およびインタリービングの少なくとも１つを含むことを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項４】
前記制御装置は、前記変換ＲＯＭによって生成されたアドレスを使用して前記第１のバッファおよび前記第２のバッファの１つからデータを取り出し、前記取り出されたデータをもう一方のバッファに置くように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項５】
前記制御装置は、前記第１のバッファおよび前記第２のバッファの１つからデータを取り出し、前記取り出されたデータを前記変換ＲＯＭによって生成されたアドレスを使用してもう一方のバッファに置くように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項６】
前記制御装置は、前記第１のバッファおよび前記第２のバッファの１つから前記ＣＲＣ生成器へとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項７】
前記制御装置は、前記変換ＲＯＭによって生成されたアドレスを使用して前記第１のバッファおよび前記第２のバッファの１つから前記ＣＲＣ生成器へとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項８】
前記制御装置は、前記畳み込み符号器を介して前記第１のバッファおよび前記第２のバッファの１つからデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項９】
前記制御装置は、前記ＣＲＣ生成器から前記第１のバッファおよび前記第２のバッファの１つへとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１０】
前記制御装置は、前記第１のバッファおよび前記第２のバッファの１つから前記共用メモリへとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１１】
前記制御装置は、前記共用メモリから前記第１のバッファおよび前記第２のバッファの１つへとデータを移動させるように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１２】
前記制御装置は、最大６個の異なるチャネルからの前記処理済み情報ビットを格納するために、６個のＳＭＡソースを使用するように構成されることを特徴とする請求項１に記載のハードウェアアクセラレータ。
【請求項１３】
前記制御装置は、斜めインタリービングを実施するように構成されることを特徴とする請求項１２に記載のハードウェアアクセラレータ。
【請求項１４】
前記斜めインタリービングは、別個のハードウェアアクセラレータを用いて実施されることを特徴とする請求項１３に記載のハードウェアアクセラレータ。
【請求項１５】
無線通信装置内のハードウェアアクセラレータを用いてチャネル処理を行う方法であって、
情報ビットを受信するステップと、
ハードウェアアクセラレータを使用して前記情報ビットに対してチャネル処理を行うステップであって、前記ハードウェアアクセラレータが、第１のバッファおよび第２のバッファの間で前記情報ビットおよび処理済み情報ビットを相互に移動させながらチャネル処理用のコマンドの定義済みのシーケンスを実行するステップと
を含むことを特徴とする方法。
【請求項１６】
複数のチャネルごとにパラメータが設定され、前記複数のチャネルに対して前記制御コマンドの定義済みのシーケンスが実行されることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記チャネル処理は、第１の並べ換え、ブロック符号化、第２の並べ換え、パリティテイリング、パンクチャリング、畳み込み符号化およびインタリービングの少なくとも１つを含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記ハードウェアアクセラレータは、最大６個の異なるチャネルからの前記処理済み情報ビットを格納するために、６個のＳＭＡソースを使用するように構成されることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記インタリービングは、斜めインタリービングであることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記斜めインタリービングは、別個のハードウェアアクセラレータを用いて実施されることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記ハードウェアアクセラレータは、変換ＲＯＭ（読出し専用メモリ）によって生成されたアドレスを使用して前記第１のバッファおよび前記第２のバッファの１つからデータを取り出し、前記取り出されたデータをもう一方のバッファに置くように構成されることを特徴とする請求項１５に記載の方法。
【請求項２２】
前記ハードウェアアクセラレータは、前記第１のバッファおよび前記第２のバッファの１つからデータを取り出し、前記取り出されたデータを変換ＲＯＭ（読出し専用メモリ）によって生成されたアドレスを使用してもう一方のバッファに置くように構成されることを特徴とする請求項１５に記載の方法。
【請求項２３】
前記ハードウェアアクセラレータは、前記第１のバッファおよび前記第２のバッファの１つから前記ＣＲＣ生成器へとデータを移動させるように構成されることを特徴とする請求項１５に記載の方法。
【請求項２４】
前記ハードウェアアクセラレータは、変換ＲＯＭ（読出し専用メモリ）によって生成されたアドレスを使用して前記第１のバッファおよび前記第２のバッファの１つから前記ＣＲＣ生成器へとデータを移動させるように構成されることを特徴とする請求項１５に記載の方法。
【請求項２５】
前記ハードウェアアクセラレータは、前記畳み込み符号器を介して前記第１のバッファおよび前記第２のバッファの１つからデータを移動させるように構成されることを特徴とする請求項１５に記載の方法。
【請求項２６】
前記ハードウェアアクセラレータは、前記ＣＲＣ生成器から前記第１のバッファおよび前記第２のバッファの１つへとデータを移動させるように構成されることを特徴とする請求項１５に記載の方法。
【請求項２７】
前記ハードウェアアクセラレータは、前記第１のバッファおよび前記第２のバッファの１つから前記共用メモリへとデータを移動させるように構成されることを特徴とする請求項１５に記載の方法。
【請求項２８】
前記ハードウェアアクセラレータは、前記共用メモリから前記第１のバッファおよび前記第２のバッファの１つへとデータを移動させるように構成されることを特徴とする請求項１５に記載の方法。
【国際調査報告】
2009544224.tif 000008
2009544224.tif 000009
2009544224.tif 000010