(57)【要約】【課題】ＭＵ−ＭＩＭＯ通信システムのための任意の行列サイズに適応する一般的な実装アーキテクチャを提供する。【解決手段】少なくとも４つの下位レベルマトリクス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリクス反転処理ブロックを含むマトリックス反転計算部と、入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する制御部と、を備える情報処理装置。【選択図】図１
2019512119.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、４つの下位レベルマトリクス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリクス反転処理ブロックを含むマトリックス反転計算部と、
入力されたマトリックスサイズに応じて前記マトリックス反転計算部の内部構造を再構成する制御部と、
を備える、
情報処理装置。
【請求項２】
前記下位レベルマトリクス反転処理ブロック及び前記補助処理ブロックのマトリクスサイズは、前記上位レベルマトリクス反転処理ブロックのマトリクスサイズの半分である、
請求項１記載の情報処理装置。
【請求項３】
前記補助処理ブロックは、３つのマトリックス乗算ブロックと、１つのマトリックス減算ブロックと、を含む、
請求項２記載の情報処理装置。
【請求項４】
前記情報処理装置は、省電力モードで、前記補助処理ブロックの１つ、及び、前記下位レベルマトリクス反転処理ブロックの１つを動作状態とし、その他のブロックをスイッチオフ状態とするように動作する、
請求項２又は３記載の情報処理装置。
【請求項５】
前記情報処理装置は、前記省電力モードにおいて、左上のサブブロックのデータが最初に格納され、次が右上のサブブロック、３番目が左下のサブブロック、最後は右下のサブブロックとなるように、所定のマトリックスデータ格納順に従ってデータを格納する、
請求項１乃至４のいずれか一に記載の情報処理装置。
【請求項６】
前記情報処理装置は、並列処理モードで、前記補助処理ブロックと前記下位レベルマトリクス反転処理ブロックの２つとの両方を動作状態とし、その他のブロックをスイッチオフ状態とするように動作する、
請求項１乃至５のいずれか一に記載の情報処理装置。
【請求項７】
前記情報処理装置は、前記並列処理モードにおいて、左上のサブブロックのデータが最初に格納され、次が右下のサブブロック、３番目が左下のサブブロック、最後は右上のサブブロックとなるように、所定のマトリックスデータ格納順に従ってデータを格納する、
請求項１乃至６のいずれか一に記載の情報処理装置。
【請求項８】
前記情報処理装置は、外部指示に従って、並列処理モードと省電力モードとの間を切り替えるように、前記処理ブロックを動的に再構成する、
請求項１乃至７のいずれか一に記載の情報処理装置。
【請求項９】
前記処理ブロックは、再帰的に構築される、
請求項１乃至７のいずれか一に記載の情報処理装置。
【請求項１０】
少なくとも４つの下位レベルマトリクス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリクス反転処理ブロックを含むマトリクス反転演算部と、
入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する制御部と、
を備える、
基地局。
【請求項１１】
少なくとも４つの下位レベルマトリクス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリクス反転処理ブロックを含むマトリクス反転演算部と、制御部とを備える情報処理装置用の情報処理方法であって、
入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成するステップと、
前記マトリックス反転計算部を用いてマトリックス反転を計算するステップと、
を含む、
情報処理方法。
【請求項１２】
少なくとも４つの下位レベルマトリクス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリクス反転処理ブロックを含むマトリクス反転演算部と、制御部と、を備える情報処理装置を構成するコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体であって、
入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する処理と、
前記マトリックス反転計算部を用いてマトリックス反転を計算する処理と、
を実行させる、
記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、基地局、情報処理方法、及びコンピュータプログラムに関し、特に、信号処理においてマトリックス反転計算を用いる情報処理装置、基地局、情報処理方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
図１７は、ＭＵ−ＭＩＭＯ（Multiple User-Multiple Input Multiple Output）アーキテクチャにおける基地局及びユーザ端末を示す。図１７に示すように、１つの基地局のカバレッジエリアが固定されており、ユーザが固定されていないため、ユーザ番号Ｋは可変である。プリコーディングマトリックス生成器のためのマトリックスのサイズは、ユーザ数Ｋによって決定される。
【０００３】
マトリックス反転（ＭＩ）は、信号処理、特に無線通信分野で広く使用されている。場合によっては、ＭＩ処理のためのマトリックスのサイズは可変である。
【０００４】
例えば、ＭＵ−ＭＩＭＯ技術では、ゼロフォーシング（ＺＦ）プリコーディングは、式（数１）に示すような計算を含む。
【数１】
2019512119.tif 000003
式（数１）において、Ｗはプリコーディングマトリックスであり、Ｈはチャネルマトリックスである。Ｈのサイズは、関係するユーザの数に応じて可変である。
【０００５】
特許文献１には、システム化によりチャネルマトリックスの逆行列計算を効率的に行うチャネルマトリックス計算装置が開示されている。特許文献１によれば、マルチキャリア方式のＭＩＭＯシステムにおいて、送受信アンテナをＭ×Ｎ系に適合させることができるチャネルマトリックス演算装置が提供される。
【０００６】
特許文献２には、ＯＦＤＭ（Orthogonal Frequency Division Multiplexing）シンボル期間内の全サブキャリアのチャネルマトリックスを計算し、送受信アンテナをＭ×Ｎ系に適応させることが可能な別のチャネルマトリックス計算装置が開示されている。
【０００７】
特許文献３には、ＭＩＭＯイコライザのためのチャネルマトリックスの再帰的計算方法が開示されている。特許文献４には、操作負荷を抑制しつつ、複数の画像間の位置ずれを比較的正確に検出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−１３４５５号公報
【特許文献２】特開２００６−２２９４３６号公報
【特許文献３】特開２００９−５２４２９１号公報
【特許文献４】特開２０１２−１２３６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
可変マトリックスサイズは、ハードウェアの実装において課題をもたらす。ここでのハードウェア実装には、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）設計に限定されないが、ＦＰＧＡ（Field Programmable Gate Array）実装、ＤＳＰ（Digital Signal Processor）実装、一般的なＣＰＵ（Central Processing Unit）ベースの実装などを含む。一般的に、２つの通常の解決法がある。
【００１０】
第１の解決法は、異なるマトリックスサイズの専用ハードウェアを準備することである。図１８は、第１の解決法の一例を示す。ボックス１００は、最大マトリックスサイズが４である第１の解決法の全ハードウェアを示す。ハードウェア１００内には、４つの処理ブロックがある。処理ブロック１０１は、マトリックスサイズ１のマトリックス反転の計算に用いられることを示している。処理ブロック１０２は、マトリックスサイズ２のマトリックス反転の計算に用いられる。処理ブロック１０３は、マトリックスサイズ３のマトリックス反転の計算に用いられる。処理ブロック１０４は、マトリックスサイズ４のマトリックス反転の計算に用いられる。
【００１１】
特定のマトリックスサイズのための第１の解決法では、対応するブロックのみが機能し、他のブロックは省電力のためにスイッチオフにすることができる。第１の解決法のデメリットは、システム全体に多くのハードウェアが必要であることである。すなわち、第１の解決法は、異なるマトリックスサイズの異なるケースをカバーするためにハードウェアコストを浪費する。
【００１２】
第２の解決法は、最大マトリックスサイズのハードウェアのみを準備することである。入力マトリックスのサイズが最大マトリックスサイズよりも小さい場合、入力マトリックスは、処理ブロック内のマトリックスサイズが常に同じになるように単位マトリックスと組み合わされる。図１９は、第２の解決法の一例を示す。２００は、最大マトリックスサイズが４である第２の解決法の全ハードウェアである。２００内には、前処理ブロック２０１と、マトリックスサイズ４のマトリックス反転の計算に用いられる処理ブロック１０４がある。入力マトリックスサイズが２の場合、入力マトリックスは、前処理ブロック２０１でサイズ２の単位マトリックスと組み合わされる。１０４におけるマトリックスサイズは、依然として４である。
【００１３】
第２の解決法では、最大マトリックスサイズのためのハードウェアを提供するだけで済むため、ハードウェアの総コストは第１の解決法よりもはるかに低くなる。第２の解決法のデメリットは、マトリックスサイズが最大マトリックスサイズよりも小さい場合、第１の解決法よりも消費電力が大きいことである。
【００１４】
このように、２つの解決法の両方には不利点がある。より良い解決法は、全ハードウェア資源が最大マトリックスサイズだけに固定され、かつ、電力消費量がマトリックスサイズに適応できることである。
【００１５】
固定されたハードウェア資源と適応した電力消費量の解決法を実現するためには、マトリックス分割を有するマトリックス反転方法を実装に適用することができる。
【数２】
2019512119.tif 000004
【００１６】
マトリックスＨを式（数２）のように４つのブロックＡ、Ｂ、Ｃ、Ｄに分割すると、マトリックス反転Ｈ−１は式（数３）のように計算することができる。
【数３】
2019512119.tif 000005
【００１７】
このようにして、より大きなサイズを有するマトリックス反転は、より小さいサイズのマトリックス反転に分割（partition）することができる。
【００１８】
式（数３）の実装では、マトリックス反転全体のハードウェアが小ブロックに分割され、入力マトリックスサイズが最大マトリックスサイズより小さいときに不要なブロックをスイッチオフにすることが可能になる。
【００１９】
一部の特許文献はこの特徴を利用している。特許文献２には、２、３又は４に制限されたマトリックスサイズを有するマトリックス反転のためのマトリックス分割の実装アーキテクチャが示されている。特許文献１には、マトリックス分割時の演算のオーバーフローを回避するために、特許文献２に基づくランク判定ブロックが追加されている。特許文献４には、画像処理において、より大きなサイズのマトリックス反転を、より小さなサイズのマトリックス反転に分割することが記載されている。
【００２０】
しかしながら、ＭＵ−ＭＩＭＯ通信システムにおいて任意のマトリックスサイズに適応可能な一般的な実装アーキテクチャは存在しない。
【００２１】
本発明の目的は、ＭＵ−ＭＩＭＯ通信システムにおいて任意のマトリックスサイズに適応可能な情報処理装置、基地局、情報処理方法、及びコンピュータプログラムを提供することに寄与することにある。
【課題を解決するための手段】
【００２２】
第１の視点によれば、少なくとも４つの下位レベルマトリックス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する制御部と、を備える、情報処理装置が提供される。
【００２３】
第２の視点によれば、少なくとも４つの下位レベルマトリックス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転演算部と、入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する制御部と、を備える、基地局が提供される。
【００２４】
第３の視点によれば、少なくとも４つの下位レベルマトリックス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転演算部と、制御部とを備える情報処理装置用の情報処理方法であって、
入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成するステップと、前記マトリックス反転計算部を用いてマトリックス反転を計算するステップと、を含む、情報処理方法が提供される。この方法は、可変マトリックスサイズのマトリックス反転を計算するための情報処理装置である特定の機械と結びついている。
【００２５】
第４の視点によれば、少なくとも４つの下位レベルマトリックス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転演算部と、制御部と、を備える情報処理装置を構成するコンピュータに実行させるためのコンピュータプログラムであって、入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する処理と、前記マトリックス反転計算部を用いてマトリックス反転を計算する処理と、を実行させる、コンピュータプログラムが提供される。このプログラムは、コンピュータ読み取り可能な記憶媒体に記録することができる。すなわち、本発明は、コンピュータプログラムプロダクトとして具体化することができる。
【発明の効果】
【００２６】
本発明によれば、任意のマトリックスサイズに適応するＭＵ−ＭＩＭＯ通信システムの一般的な実装アーキテクチャが提供される。
【図面の簡単な説明】
【００２７】
【図１】マトリックス反転計算のための提案された再帰的構造を示す模式図である。
【図２】マトリックスサイズ８の再帰的構造の例を示す模式図である。
【図３】再帰的構造の詳細を示す模式図である。
【図４】省電力モードの原理を示す模式図である。
【図５】入力マトリックスサイズ２及び最大マトリックスサイズ８の省電力モードの例を示す模式図である。
【図６】入力マトリックスサイズ３及び４、並びに、最大マトリックスサイズ８の省電力モードの例を示す模式図である。
【図７】通常のマトリックスデータと、省電力モード用のマトリックスサイズ４のマトリックスデータ格納順序の例を示す模式図である。
【図８】省電力モード用のマトリックスサイズ８のマトリックスデータ格納順序の例を示す模式図である。
【図９】並列処理モードの原理を示す模式図である。
【図１０】入力マトリックスサイズ２及び最大マトリックスサイズ８（２つのマトリックスが同時に動作）の並列処理モードの例を示す模式図である。
【図１１】入力マトリックスサイズ２及び最大マトリックスサイズ８（４つのマトリックスが同時に動作）の並列処理モードの例を示す模式図である。
【図１２】入力マトリックスサイズが３及び４、並びに、最大マトリックスサイズ８の並列処理モードの例を示す模式図である。
【図１３】並列処理モード用のマトリックスサイズ４のマトリックスデータ格納順序の例を示す模式図である。
【図１４】並列処理モード用のマトリックスサイズ８のマトリックスデータ格納順序の例を示す模式図である。
【図１５】本開示の基地局の動作の例を示すフローチャートである。
【図１６】提案された再帰的アーキテクチャを有する基地局の詳細な構成を示すブロック図である。
【図１７】ＭＵ−ＭＩＭＯ（Multiple User-Multiple Input Multiple Output）アーキテクチャにおける基地局を示す模式図である。
【図１８】背景として記載した第１の解決法を示す模式図である。
【図１９】背景として記載した第２の解決法を示す模式図である。
【図２０】本開示の代替形態を示す模式図である。
【発明を実施するための形態】
【００２８】
＜実施形態１＞
次に、本発明の実施形態１について図面を参照して詳細に説明する。図１は、情報処理装置における再帰的アーキテクチャのブロック図を示す。マトリックス反転処理ブロック（ＭＩＰＢ）３０１及び３０３は、マトリックス反転を計算するためのものである。表記（ｎ）は、マトリックスサイズがｎ＝２ｍであり、ｍが任意の自然数である、ことを意味する。補助処理ブロック（ＡＰＢ）は、式（数３）のマトリックス反転を除く他の処理のためのものである。この記載において、「再帰的」（recursive）とは、任意のレベルのＭＩＰＢが、下位レベルのＭＩＰＢによる結果に対して同じ操作を適用して、次の結果を生成する、ことを意味する。言い換えると、ＭＩＰＢは「再帰的」操作を実行するためにネスティングスタイル（nesting style）で構成される。
【００２９】
ＭＩＰＢ（ｎ）３０１の実施形態１は、４つのＭＩＰＢ（ｎ／２）３０３及び２つのＡＰＢ（ｎ／２）３０２から構成される。同じ再帰的方法で、ｎが８以上であれば、各ＭＩＰＢ（ｎ／２）３０３はさらに４つのＭＩＰＢ（ｎ／２）と２つのＡＰＢ（ｎ／２）とに分割することができる。
【００３０】
メモリ（ＭＥＭ）３０４は、ＭＩＰＢ３０１で処理されるマトリックスデータを格納するために用いられる。ここでのメモリは、ＡＳＩＣ実装におけるスタティックランダムアクセスメモリ（ＳＲＡＭ）及びレジスタ、ＦＰＧＡ実装におけるブロックメモリ及びレジスタ、汎用プロセッサベース実装におけるダイナミックランダムアクセスメモリ（ＤＲＡＭ）等を含む多くの形態で実施することができる。
【００３１】
制御ブロック３０５は、外部信号を受信し、アーキテクチャ全体を異なる状況及び要件に対して動的に再構成することが可能なＭＥＭ（ｎ）３０４及びＭＩＰＢ（ｎ）３０１の再構成を行うために用いられる。
【００３２】
実装は多くのプラットフォームで実現できるため、動的再構成は多くの方法で実装できる。ＡＳＩＣ実装では、クロックゲーティング技術及びパワーゲーティング技術によって実装することができる。ＦＰＧＡ実装では、アルテラ（商標）製のStratix V（商標）ＦＰＧＡ等のＦＰＧＡチップのクロックゲーティング及び部分再構成技術によって実装できる。また、Renesas（商標）製のＤＲＰコア等の特殊エンジンによって実装することもできる。
【００３３】
ここで、制御ブロック３０５によるＭＩＰＢ（ｎ）の再構成について、より詳細に説明する。図２は、マトリックスサイズ８のマトリックス反転処理ブロックの構成の例を示す。マトリックスサイズ８用のＭＩＰＢ（８）４０１は、４つのＭＩＰＢ（４）４０３と、２つのＡＰＢ（４）４０２とから構成される。マトリックスサイズ４用の各ＭＩＰＢ（４）は、４つのＭＩＰＢ（２）４０５と、２つのＡＰＢ（２）４０４とから構成される。マトリックスサイズ２用のＭＩＰＢ（２）は、式（数４）として簡単に実装することができる。
【００３４】
【数４】
2019512119.tif 000006
【００３５】
図３は、提案された再帰的アーキテクチャの詳細を示す。最大入力マトリックスサイズＮｍａｘは、２の累乗であり、２ｍと表され、ｍは２より大きい任意の自然数である。入力マトリックスは４つのサブマトリックスＡ、Ｂ、Ｃ、Ｄに等しく分割され、そのサイズは２ｍ−１である。式（数２）のように、入力Ａは左上のサブマトリックスであり、入力Ｂは右上のサブマトリックスであり、入力Ｃは左下のサブマトリックスであり、入力Ｄは右下のサブマトリックスである。出力Ｅ、Ｆ、Ｇ及びＨは、式（数３）に従う。
【００３６】
再帰的アーキテクチャにおいて、ＭＩＰＢ５０１、５０２、５０３及び５０４は、サブマトリックスのマトリックス反転を計算するために用いられる。（図３における）図内の位置として、左上のＭＩＰＢは５０３であり、右上のＭＩＰＢは５０４であり、左下のＭＩＰＢは５０１であり、右下のＭＩＰＢは５０２である。マトリックス乗算処理ブロック（ＭＭＰＢ）５０５、５０６、５０７、５０８、５０９及び５１０は、サブマトリックスのマトリックス乗算を計算するために用いられる。マトリックス減算処理ブロック（ＭＳＰＢ）５１１及び５１２は、サブマトリックスのマトリックス減算を計算するために用いられる。したがって、再帰的アーキテクチャには４つのＭＩＰＢ、６つのＭＭＰＢ、２つのＭＳＰＢがある。ＭＩＰＢ以外に、左側のＡＰＢ５１３、及び、右側のＡＰＢ５１４からの他の処理ブロックがある。つまり、１つのＡＰＢは、３つのＭＭＰＢと１つのＭＳＰＢとで構成される。
【００３７】
ＭＳＰＢ５１１の入力は、入力Ａ、及び、ＭＭＰＢ５０６の出力である。ＭＳＰＢ５１１の出力は、ＭＩＰＢ５０３に供給される。ＭＩＰＢ５０３の出力は、出力（端子、以下端子を省く）Ｅ及びＭＭＰＢ５０７に供給される。ＭＩＰＢ５０１は、入力Ｄを受け取り、その結果をＭＭＰＢ５０５に出力する。ＭＭＰＢ５０５は、入力ＣとＭＩＰＢ５０１の結果とを乗算し、その結果をＭＭＰＢ５０６と５０７の両方に出力する。ＭＭＰＢ５０６は、入力ＢとＭＭＰＢ５０５の結果とを乗算し、その結果をＭＳＰＢ５１１に出力する。ＭＭＰＢ５０７は、ＭＩＰＢ５０３からの結果とＭＭＰＢ５０５からの結果とを乗算し、その結果を出力Ｇとして出力する。
【００３８】
ＭＳＰＢ５１２の入力は、入力Ｄ、及び、ＭＭＰＢ５１０の出力である。ＭＳＰＢ５１２の出力は、ＭＩＰＢ５０２に供給される。ＭＩＰＢ５０２の出力は、出力Ｈ及びＭＭＰＢ５０９に供給される。ＭＩＰＢ５０４は、入力Ａを受け取り、その結果をＭＭＰＢ５０８に出力する。ＭＭＰＢ５０８は、入力ＢとＭＩＰＢ５０４からの結果とを乗算し、その結果をＭＭＰＢ５０９及び５１０の両方に出力する。ＭＭＰＢ５１０は、入力ＣとＭＭＰＢ５０８からの結果をと乗算し、その結果をＭＳＰＢ５１２に出力する。ＭＭＰＢ５０９は、ＭＩＰＢ５０２からの結果とＭＭＰＢ５０８からの結果とを乗算し、その結果を出力Ｆとして出力する。
【００３９】
このように、入力Ａは、左のＡＰＢ５１３、及び、右上のＭＩＰＢ５０４に供給される。入力Ｂ及びＣは、ＡＰＢ５１３及び５１４の両方に供給される。入力Ｄは、左下のＭＩＰＢ５０１及び右のＡＰＢ５１４に供給される。出力Ｅは、左上のＭＩＰＢ５０３から来る。出力Ｆは、右のＡＰＢ５１４から来る。出力Ｇは、左のＡＰＢ５１３から来る。出力Ｈは、右下のＭＩＰＢ５０２から来る。
【００４０】
マトリックスサイズが最大マトリックスサイズの半分である場合、再帰的アーキテクチャは省電力モードで動作することができる。すなわち、図６は省電力モードを示している。
【００４１】
ＭＩＰＢ６０１、６０５、６０６、及び、右のＡＰＢ６０２は、スイッチオフにされ、図６において破線で示されている。左のＡＰＢ６０８及び左上のＭＩＰＢ６０７のみが動作状態にある。入力Ａを除いて、他の入力サブマトリックスはすべてゼロマトリックスである。このように、ＭＭＰＢ６０３の他の入力が何であっても、出力はゼロマトリックスである。他の入力はゼロマトリックスであるので、ＭＳＰＢ６０４の出力は入力Ａである。左上のＭＩＰＢ６０７を介して、必要な出力Ａ−１が出力に供給される。
【００４２】
異なる入力マトリックスサイズの省電力モードは、異なるブロックをスイッチオフにする。最大マトリックスサイズ８の例を以下に記載する。
【００４３】
図５は、入力マトリックスサイズが２である例を示す。ＡＰＢ７０１、７０２及びＭＩＰＢ７０３は、動作状態にある。他の処理ブロックは、破線で示されているようにスイッチオフにされる。
【００４４】
図６は、入力マトリックスサイズが３及び４の例を示す。ＡＰＢ８０１及びＭＩＰＢ８０２は動作状態にある。他の処理ブロックは、破線で示されているように、スイッチオフにされる。入力マトリックスサイズ３の場合、単位マトリックスは、処理マトリックスのサイズが４となるように、入力マトリックスに組み合わされる。
【００４５】
マトリックスサイズが５、６、７及び８の場合は、省電力モードが適用されない。入力マトリックスサイズが５、６及び７の場合、単位マトリックスは、処理マトリックスのサイズが８となるように、入力マトリックスに組み合わされる。
【００４６】
省電力モードの実施形態１は、メモリからフェッチ（fetch）されたデータが並べ替えなしで処理ブロックに直接供給されることを保証する特別なデータ格納順序を必要とする。ここで、制御ブロック３０５によるメモリのデータ格納順序について、詳細に説明する。
【００４７】
図７は最大入力マトリックスサイズ４の場合の通常の順序、及び、特別な格納順序の例を示す。マトリックスには１６のデータがあり、それらは格納の際に対応する順序として示される。通常の順序では、データは左から右へ（行とし）、（行を）上から下への順番に並べられる。この順序で、マトリックスは、パーティション処理のために４つのパーティションに分割される。メモリからフェッチされたデータの順序は、１、２、３、４、５、６、・・・、１３、１４、１５、１６である。そして、データは、ＭＩＰＢ（４）におけるＭＩＰＢ（２）及びＡＰＢ（２）に対して、１、２、５、６、３、４、・・・、１１、１２、１５、１６の順に並べ替えるべきである。このように、並べ替えのステップを避けるためには、メモリ内のデータをＭＥＭ（４）の順に並べる必要がある。左上の２×２ブロックのデータは、最初にメモリに格納される。次は右上の２×２ブロックである。３番目は左下の２×２ブロックである。最後は右下の２×２ブロックである。
【００４８】
同様に、マトリックスパーティションは再帰的方法であるので、各サブマトリックスの特別な格納順序もまた再帰的方法である。
【００４９】
図８は最大入力マトリックスサイズ８の場合の格納順序を示す。マトリックスには６４のデータがあり、それらは格納の際に対応する順序として示される。左上の４×４ブロックのデータは、最初にメモリに記憶される。次は右上の４×４ブロックである。３番目は左下の４×４ブロックである。最後は右下の４×４ブロックである。各４×４ブロックでは、左上の２×２ブロックのデータが最初にメモリに格納される。次は右上２×２ブロックである。３番目は左下の２×２ブロックである。最後は右下の２×２ブロックである。
【００５０】
要するに、提案されたアーキテクチャの実施形態１は、マトリックス反転処理のための可変マトリックスサイズに適応する。省電力モードにより、入力マトリックスサイズが小さい場合には、無駄な電力消費が抑えられる。専用のデータ格納順序でも、余分なハードウェアコストが発生しない。
【００５１】
＜実施形態２＞
次に、本発明の実施形態２について、より詳細に説明する。実施形態２は、情報処理装置の構成について、実施形態１の同様であるので、以下、実施形態１と実施形態２と相違点を中心に説明する。
【００５２】
省電力モードに代えて、情報処理装置の実施形態２では、省電力モードと同数の処理ブロックをスイッチオフにしない並列処理モードを適用することもできる。並列処理モードのメリットは、複数のマトリックスを同時に処理できることである。
【００５３】
並列処理モードでは、制御ブロック３０５は、入力マトリックスサイズ及び外部指示に従って、メモリ及びＭＩＰＢに対して異なる制御指示を与える。
【００５４】
図９は、再帰的アーキテクチャの並列処理モードを示す。ＭＭＰＢ１１０１の入力の１つはゼロマトリックスであるので、このブロックの出力はゼロマトリックスである。ＭＳＰＢ１１０２の出力は入力Ａである。左上のＭＩＰＢ１１０３を介して、必要な出力Ａ-１が得られる。同じプロセスにおいて、ＭＭＰＢ１１０４の入力の１つはゼロマトリックスであるので、このブロックの出力はゼロマトリックスである。ＭＳＰＢ１１０５の出力は入力Ｄである。右下のＭＩＰＢ１１０６を介して、必要な出力Ｄ−１が得られる。左下のＭＩＰＢ１１０７、及び、右上のＭＩＰＢ１１０８は、スイッチオフ状態にある。
【００５５】
異なる入力マトリックスサイズの並列処理モードは、異なるブロックをスイッチオフにし、異なる並列処理の場合に対応する。最大マトリックスサイズ８の例を以下に記載する。
【００５６】
図１０は、入力マトリックスサイズが２である例を示す。アプリケーション要件に応じて、異なる並列処理番号を構成することができる。図１０は、２つのマトリックスが同時に処理されることを示している。ＡＰＢ１２０１、１２０２及び１２０４、並びに、ＭＩＰＢ１２０３及び１２０５は動作状態にある（実線で示す）。他の処理ブロックは、破線で示されているようにスイッチオフにされる。図１１は、４つのマトリックスが同時に処理されることを示している。ＡＰＢ１２０１、１２０２及び１２０４、並びに、ＭＩＰＢ１２０３及び１２０５のほかに、ＡＰＢ１２０６、１２０７及び１２０９、並びに、ＭＩＰＢ１２０８及び１２１０も動作状態にある（実線で示す）。他の処理ブロックは、破線で示されているようにスイッチオフにされる。
【００５７】
図１２は、入力マトリックスサイズが３と４の例を示す。ＡＰＢ１３０１及び１３０３、並びに、ＭＩＰＢ１３０２及び１３０４は動作状態にある。他の処理ブロックは、破線で示されているようにスイッチオフにされる。この構成では、２つのマトリックスを同時に処理することができる。入力マトリックスサイズ３の場合、単位マトリックスは、処理マトリックスのサイズが４となるように、入力マトリックスに組み合わされる。
【００５８】
マトリックスサイズが５、６、７及び８の場合は、並列処理モードが適用されない。入力マトリックスサイズが５、６及び７の場合、単位マトリックスは、処理マトリックスのサイズが８となるように、入力マトリックスに組み合わされる。
【００５９】
ここで、制御ブロック３０５によるメモリのデータ格納順序について、詳細に説明する。省電力モードとしては、並列処理モードにおいても、各サブマトリックスのデータを再帰的方法で格納する特別なデータ格納順序が必要となる。図１３は最大入力マトリックスサイズ４の場合の格納順序を示す。マトリックスには１６のデータがあり、それらは格納の際に対応する順序として示される。左上の２×２ブロックのデータは、最初にメモリに格納される。次は右下の２×２ブロックである。３番目は左下の２×２ブロックである。最後は右上の２×２ブロックである。
【００６０】
図１４は、最大入力マトリックスサイズ８の場合の格納順序を示す。マトリックスには６４のデータがあり、それらは格納の際に対応する順序として示される。左上の４×４ブロックのデータは、最初にメモリに記憶される。次は右下の４×４ブロックである。３番目は左下の４×４ブロックである。最後は右上の４×４ブロックである。各４×４ブロックでは、左上の２×２ブロックのデータが最初メモリに記憶される。次は右下の２×２ブロックである。３番目は左下の２×２ブロックである。最後は右上の２×２ブロックである。
【００６１】
要するに、並列処理モードでは、スイッチオフにされるブロックが少なくなるため、省電力効果は省電力モードよりも小さい。実施形態２のメリットは、２つ以上の、より小さいマトリックスを同時に処理することができ、処理を高速化できることである。専用のデータ格納順序としても、余分なハードウェアコストが発生しない。
【００６２】
＜実施形態３＞
次に、本発明の実施形態３について、より詳細に説明する。実施形態３は、実施形態１の情報処理装置の構成と同様であるので、以下、実施形態１と実施形態３との相違点を中心に説明する。
【００６３】
情報処理装置の実施形態３は、入力マトリックスサイズが最大マトリックスサイズの半分以下である場合に省電力モードと並列処理モードとの両方を可能にする。図１５は、処理モードの決定、及び、処理ブロックのオン／オフ状態の処理フローを示す。
【００６４】
図１５では、入力マトリックスサイズを外部入力であるＳと表記する。並列性因子Ｐは、外部入力である同時処理マトリックスの数である。ｎは、最大マトリックスサイズであり、外部入力である。ｋは構造の再帰的表現のための可変パラメータである。入力マトリックスサイズが最大マトリックスサイズの半分以下である場合に、システムが省電力モード又は並列処理モードで動作することを決定する別の外部入力がある。
【００６５】
図１５に示すように、入力マトリックスサイズが最大マトリックスサイズの半分より大きい場合（ステップＳ００１、Ｓ００２）、全ての処理ブロックがオン状態となる（ステップＳ００３）。入力マトリックスサイズが最大マトリックスサイズの半分以下であれば、システムは外部指示に従ってモードを決定する（ステップＳ００４及びＳ００５）。
【００６６】
省電力モードが決定されると、保留中のＭＩＰＢ（２ｋ）の１つのＡＰＢ（ｋ）、及び、３つのＭＩＰＢ（ｋ）をオフ状態に設定する（ステップＳ００６）。変数ｋを２で割る（ステップＳ００７）。入力マトリックスサイズＳが依然として変数ｋ以下であれば（Ｓ００８でＮｏ）、再帰的処理としてリターンし（Ｓ００６へ戻る）、そうでなければ設定処理を終了する。
【００６７】
並列保存モードが決定されると、マトリックスサイズＳ及び外部で決定された並列性因子Ｐの両方が設定プロセスにおいて考慮される。ＳとＰの積が２ｋであれば（ステップＳ００９のＹｅｓ）、保留中のＭＩＰＢ（２ｋ）の２つのＭＩＰＢ（ｋ）をオフ状態に設定し（ステップＳ０１０）、そうでなければ、保留中のＭＩＰＢ（２ｋ）の１つのＡＰＢ（ｋ）、及び、２つのＭＩＰＢ（ｋ）をオフ状態に設定する（ステップＳ０１１）。変数ｋを２で除算する（ステップＳ０１２）。入力マトリックスサイズＳが依然として変数ｋ以下である場合（ステップＳ０１３のＮｏ）、再帰的処理としてリターンバックされ（ステップＳ００９に戻る）、そうでなければ設定処理を終了する。
【００６８】
以上説明したように、実施形態３によれば、実施形態１の省電力モードと、実施形態２の並列処理モードとを外部指示に基づいて切り替えることができる。
【００６９】
また、制御ブロック３０５の機能は、図１５に示す処理を行う専用回路部により実現することができる。また、制御ブロック３０５の機能は、コンピュータプログラムを記憶したコンピュータで読み取り可能な記録媒体によって実現することができる。図２０は、この代替形態を示す。制御ブロック３０５内のメモリ３０５２には、入力されたコンピュータプログラムが格納され、図１５に示す処理が実行される。制御ブロック３０５のＣＰＵ３０５１は、メモリ３０５２からコンピュータプログラムを読み出して、図１５に示す処理を実行する。
【００７０】
以上、本発明の好適な実施形態を説明したが、本発明は上記実施形態に限定されるものではなく、本発明の基本的な技術的思想を逸脱しない範囲において、更なる修正ないし変更、置換、及び調整が可能であることは言うまでもない。
【００７１】
例えば、提案された再帰的アーキテクチャは、ＭＵ−ＭＩＭＯ通信システムにおける基地局１７００の送信機１７０２内のプリコーダ１７０５に対するマトリックス反転を含むプリコーディングマトリックス生成器１７０１に適用される（図１６参照）。すなわち、提案された再帰的アーキテクチャの具体的な実装の１つは、無線通信システム用の基地局として具現化される。
【００７２】
最後に、本発明の好ましい態様をまとめる。
＜モード１＞
（上記第１の視点の情報処理装置を参照）
＜モード２＞
前記下位レベルマトリックス反転処理ブロック及び前記補助処理ブロックのマトリックスサイズは、前記上位レベルマトリックス反転処理ブロックのマトリックスサイズの半分である、モード１記載の情報処理装置。
＜モード３＞
前記補助処理ブロックは、３つのマトリックス乗算ブロックと、１つのマトリックス減算ブロックと、を含む、モード２記載の情報処理装置。
＜モード４＞
前記情報処理装置は、省電力モードで、前記補助処理ブロックの１つ、及び、前記下位レベルマトリックス反転処理ブロックの１つを動作状態とし、その他のブロックをスイッチオフ状態とするように操作する、モード２又は３記載の情報処理装置。
＜モード５＞
前記情報処理装置は、前記省電力モードにおいて、左上のサブブロックのデータが最初に格納され、次が右上のサブブロック、３番目が左下のサブブロック、最後は右下のサブブロックとなるように、所定のマトリックスデータ格納順に従ってデータを格納する、モード１乃至４のいずれか一に記載の情報処理装置。
＜モード６＞
前記情報処理装置は、並列処理モードで、前記補助処理ブロックと前記下位レベルマトリックス反転処理ブロックの２つとの両方を動作状態とし、その他のブロックをスイッチオフ状態とするように操作する、モード１乃至５のいずれか一に記載の情報処理装置。
＜モード７＞
前記情報処理装置は、前記並列処理モードにおいて、左上のサブブロックのデータが最初に格納され、次が右下のサブブロック、３番目が左下のサブブロック、最後は右上のサブブロックとなるように、所定のマトリックスデータ格納順に従ってデータを格納する、モード１乃至６のいずれか一に記載の情報処理装置。
＜モード８＞
前記情報処理装置は、外部指示に従って並列処理モードと省電力モードとの間を切り替えるように、前記処理ブロックを動的に再構成する、モード１乃至７のいずれか一に記載の情報処理装置。
＜モード９＞
前記処理ブロックは、再帰的に構築される、モード１乃至７のいずれか一に記載の情報処理装置。
＜モード１０＞
（上記第２の視点の基地局を参照）
＜モード１１＞
（上記第３の視点の情報処理方法を参照）
＜モード１２＞
（上記第４の視点のコンピュータプログラムを参照）
モード１をモード２乃至９に拡張するのと同様に、モード１０〜１２を拡張することができる。
【００７３】
上記の特許文献及び非特許文献の各開示は、本明細書に参照によって援用される。本実施形態は、本発明の開示内容（請求項を含む）全体の範囲内で、基本的な技術的思想に基づいて修正ないし変更、調整が可能である。本発明の特許請求の範囲において、様々な開示された要素を組み合わせて、様々な方法で選択が可能である。すなわち、本発明は、当業者が本発明の範囲内で行うことができる修正及び変更が含まれることが理解されるべきである。
【符号の説明】
【００７４】
１００、２００  ハードウェア
１０１〜１０４  処理ブロック
２０１  前処理ブロック
３０１  ＭＩＰＢ（ｎ）
３０２  ＡＰＢ（ｎ／２）
３０３  ＭＩＰＢ（ｎ／２）
３０４  ＭＥＭ（ｎ）
３０５  制御ブロック
４０１  ＭＩＰＢ（８）
４０２、５０１、１２０１、１２０６、１３０１、１３０３  ＡＰＢ（４）
４０３、８０２、１３０２、１３０４  ＭＩＰＢ（４）
４０４、７０２、１２０２、１２０４、１２０７、１２０９  ＡＰＢ（２）
４０５、７０３、１２０３、１２０５１２０８、１２１０  ＭＩＰＢ（２）
５０１〜５０４、６０１、６０５〜６０７、１１０３、１１０６〜１１０８  ＭＩＰＢ
５０５〜５１０、６０３、１１０１、１１０４  ＭＭＰＢ
５１１、５１２、６０４、１１０２、１１０５  ＭＳＰＢ
５１３、５１４、６０２、６０８  ＡＰＢ
１７００  基地局
１７０１  プリコーディングマトリックス生成器
１７０２  トランスミッタ
１７０３  チャネルエンコーダ
１７０４  モジュレータ
１７０５  プリコーダ
１７０６  リソースマッピングユニット
１７０７  ＩＦＦＴ（逆高速フーリエ変換部）
【図１】
2019512119.tif 000007
【図２】
2019512119.tif 000008
【図３】
2019512119.tif 000009
【図４】
2019512119.tif 000010
【図５】
2019512119.tif 000011
【図６】
2019512119.tif 000012
【図７】
2019512119.tif 000013
【図８】
2019512119.tif 000014
【図９】
2019512119.tif 000015
【図１０】
2019512119.tif 000016
【図１１】
2019512119.tif 000017
【図１２】
2019512119.tif 000018
【図１３】
2019512119.tif 000019
【図１４】
2019512119.tif 000020
【図１５】
2019512119.tif 000021
【図１６】
2019512119.tif 000022
【図１７】
2019512119.tif 000023
【図１８】
2019512119.tif 000024
【図１９】
2019512119.tif 000025
【図２０】
2019512119.tif 000026
【手続補正書】
【提出日】平成30年7月27日(2018.7.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
少なくとも４つの下位レベルマトリクス反転処理ブロック、及び、２つの補助処理ブロックを含む上位レベルマトリクス反転処理ブロックを含むマトリクス反転演算部と、制御部と、を備える情報処理装置を構成するコンピュータに、
入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する処理と、
前記マトリックス反転計算部を用いてマトリックス反転を計算する処理と、
を実行させる、
コンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
図３は、提案された再帰的アーキテクチャの詳細を示す。最大入力マトリックスサイズＮｍａｘは、２の累乗であり、２ｍと表され、ｍは２より大きい任意の自然数である。入力マトリックスは４つのサブマトリックスＡ、Ｂ、Ｃ、Ｄに等しく分割され、そのサイズは２ｍ−１である。式（数２）のように、入力Ａは左上のサブマトリックスであり、入力Ｂは右上のサブマトリックスであり、入力Ｃは左下のサブマトリックスであり、入力Ｄは右下のサブマトリックスである。出力Ｅ、Ｆ、Ｇ及びＨは、式（数３）に従う。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
マトリックスサイズが最大マトリックスサイズの半分である場合、再帰的アーキテクチャは省電力モードで動作することができる。すなわち、図４は省電力モードを示している。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
ＭＩＰＢ６０１、６０５、６０６、及び、右のＡＰＢ６０２は、スイッチオフにされ、図４において破線で示されている。左のＡＰＢ６０８及び左上のＭＩＰＢ６０７のみが動作状態にある。入力Ａを除いて、他の入力サブマトリックスはすべてゼロマトリックスである。このように、ＭＭＰＢ６０３の他の入力が何であっても、出力はゼロマトリックスである。他の入力はゼロマトリックスであるので、ＭＳＰＢ６０４の出力は入力Ａである。左上のＭＩＰＢ６０７を介して、必要な出力Ａ−１が出力に供給される。
【国際調査報告】
2019512119.tif 000027
2019512119.tif 000028