JP6699738B2 - 情報処理装置、情報処理方法、及び、コンピュータプログラム - Google Patents

情報処理装置、情報処理方法、及び、コンピュータプログラム Download PDF

Info

Publication number
JP6699738B2
JP6699738B2 JP2018539444A JP2018539444A JP6699738B2 JP 6699738 B2 JP6699738 B2 JP 6699738B2 JP 2018539444 A JP2018539444 A JP 2018539444A JP 2018539444 A JP2018539444 A JP 2018539444A JP 6699738 B2 JP6699738 B2 JP 6699738B2
Authority
JP
Japan
Prior art keywords
matrix
block
processing
matrix inversion
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018539444A
Other languages
English (en)
Other versions
JP2019512119A (ja
Inventor
霄 彭
霄 彭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JP2019512119A publication Critical patent/JP2019512119A/ja
Application granted granted Critical
Publication of JP6699738B2 publication Critical patent/JP6699738B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/08Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the receiving station
    • H04B7/0837Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the receiving station using pre-detection combining
    • H04B7/0842Weighted combining
    • H04B7/0848Joint weighting
    • H04B7/0854Joint weighting using error minimizing algorithms, e.g. minimum mean squared error [MMSE], "cross-correlation" or matrix inversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0456Selection of precoding matrices or codebooks, e.g. using matrices antenna weighting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0452Multi-user MIMO systems

Description

本発明は、情報処理装置、基地局、情報処理方法、及びコンピュータプログラムに関し、特に、信号処理においてマトリックス反転計算を用いる情報処理装置、基地局、情報処理方法、及びコンピュータプログラムに関する。
図17は、MU−MIMO(Multiple User-Multiple Input Multiple Output)アーキテクチャにおける基地局及びユーザ端末を示す。図17に示すように、1つの基地局のカバレッジエリアが固定されており、ユーザが固定されていないため、ユーザ番号Kは可変である。プリコーディングマトリックス生成器のためのマトリックスのサイズは、ユーザ数Kによって決定される。
マトリックス反転(MI)は、信号処理、特に無線通信分野で広く使用されている。場合によっては、MI処理のためのマトリックスのサイズは可変である。
例えば、MU−MIMO技術では、ゼロフォーシング(ZF)プリコーディングは、式(数1)に示すような計算を含む。
Figure 0006699738
式(数1)において、Wはプリコーディングマトリックスであり、Hはチャネルマトリックスである。Hのサイズは、関係するユーザの数に応じて可変である。
特許文献1には、システム化によりチャネルマトリックスの逆行列計算を効率的に行うチャネルマトリックス計算装置が開示されている。特許文献1によれば、マルチキャリア方式のMIMOシステムにおいて、送受信アンテナをM×N系に適合させることができるチャネルマトリックス演算装置が提供される。
特許文献2には、OFDM(Orthogonal Frequency Division Multiplexing)シンボル期間内の全サブキャリアのチャネルマトリックスを計算し、送受信アンテナをM×N系に適応させることが可能な別のチャネルマトリックス計算装置が開示されている。
特許文献3には、MIMOイコライザのためのチャネルマトリックスの再帰的計算方法が開示されている。特許文献4には、操作負荷を抑制しつつ、複数の画像間の位置ずれを比較的正確に検出する技術が開示されている。
特開2007−13455号公報 特開2006−229436号公報 特開2009−524291号公報 特開2012−123652号公報
可変マトリックスサイズは、ハードウェアの実装において課題をもたらす。ここでのハードウェア実装には、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)設計に限定されないが、FPGA(Field Programmable Gate Array)実装、DSP(Digital Signal Processor)実装、一般的なCPU(Central Processing Unit)ベースの実装などを含む。一般的に、2つの通常の解決法がある。
第1の解決法は、異なるマトリックスサイズの専用ハードウェアを準備することである。図18は、第1の解決法の一例を示す。ボックス100は、最大マトリックスサイズが4である第1の解決法の全ハードウェアを示す。ハードウェア100内には、4つの処理ブロックがある。処理ブロック101は、マトリックスサイズ1のマトリックス反転の計算に用いられることを示している。処理ブロック102は、マトリックスサイズ2のマトリックス反転の計算に用いられる。処理ブロック103は、マトリックスサイズ3のマトリックス反転の計算に用いられる。処理ブロック104は、マトリックスサイズ4のマトリックス反転の計算に用いられる。
特定のマトリックスサイズのための第1の解決法では、対応するブロックのみが機能し、他のブロックは省電力のためにスイッチオフにすることができる。第1の解決法のデメリットは、システム全体に多くのハードウェアが必要であることである。すなわち、第1の解決法は、異なるマトリックスサイズの異なるケースをカバーするためにハードウェアコストを浪費する。
第2の解決法は、最大マトリックスサイズのハードウェアのみを準備することである。入力マトリックスのサイズが最大マトリックスサイズよりも小さい場合、入力マトリックスは、処理ブロック内のマトリックスサイズが常に同じになるように単位マトリックスと組み合わされる。図19は、第2の解決法の一例を示す。200は、最大マトリックスサイズが4である第2の解決法の全ハードウェアである。200内には、前処理ブロック201と、マトリックスサイズ4のマトリックス反転の計算に用いられる処理ブロック104がある。入力マトリックスサイズが2の場合、入力マトリックスは、前処理ブロック201でサイズ2の単位マトリックスと組み合わされる。104におけるマトリックスサイズは、依然として4である。
第2の解決法では、最大マトリックスサイズのためのハードウェアを提供するだけで済むため、ハードウェアの総コストは第1の解決法よりもはるかに低くなる。第2の解決法のデメリットは、マトリックスサイズが最大マトリックスサイズよりも小さい場合、第1の解決法よりも消費電力が大きいことである。
このように、2つの解決法の両方には不利点がある。より良い解決法は、全ハードウェア資源が最大マトリックスサイズだけに固定され、かつ、電力消費量がマトリックスサイズに適応できることである。
固定されたハードウェア資源と適応した電力消費量の解決法を実現するためには、マトリックス分割を有するマトリックス反転方法を実装に適用することができる。
Figure 0006699738
マトリックスHを式(数2)のように4つのブロックA、B、C、Dに分割すると、マトリックス反転H−1は式(数3)のように計算することができる。
Figure 0006699738
このようにして、より大きなサイズを有するマトリックス反転は、より小さいサイズのマトリックス反転に分割(partition)することができる。
式(数3)の実装では、マトリックス反転全体のハードウェアが小ブロックに分割され、入力マトリックスサイズが最大マトリックスサイズより小さいときに不要なブロックをスイッチオフにすることが可能になる。
一部の特許文献はこの特徴を利用している。特許文献2には、2、3又は4に制限されたマトリックスサイズを有するマトリックス反転のためのマトリックス分割の実装アーキテクチャが示されている。特許文献1には、マトリックス分割時の演算のオーバーフローを回避するために、特許文献2に基づくランク判定ブロックが追加されている。特許文献4には、画像処理において、より大きなサイズのマトリックス反転を、より小さなサイズのマトリックス反転に分割することが記載されている。
しかしながら、MU−MIMO通信システムにおいて任意のマトリックスサイズに適応可能な一般的な実装アーキテクチャは存在しない。
本発明の目的は、MU−MIMO通信システムにおいて任意のマトリックスサイズに適応可能な情報処理装置、基地局、情報処理方法、及びコンピュータプログラムを提供することに寄与することにある。
第1の視点によれば、少なくとも4つの下位レベルマトリックス反転処理ブロック、及び、2つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する制御部と、を備える、情報処理装置が提供される。
第2の視点によれば、少なくとも4つの下位レベルマトリックス反転処理ブロック、及び、2つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する制御部と、を備える、基地局が提供される。
第3の視点によれば、少なくとも4つの下位レベルマトリックス反転処理ブロック、及び、2つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、制御部とを備える情報処理装置用の情報処理方法であって、
入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成するステップと、前記マトリックス反転計算部を用いてマトリックス反転を計算するステップと、を含む、情報処理方法が提供される。この方法は、可変マトリックスサイズのマトリックス反転を計算するための情報処理装置である特定の機械と結びついている。
第4の視点によれば、少なくとも4つの下位レベルマトリックス反転処理ブロック、及び、2つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、制御部と、を備える情報処理装置を構成するコンピュータに実行させるためのコンピュータプログラムであって、入力されたマトリックスサイズに依存する前記マトリックス反転計算部の内部構造を再構成する処理と、前記マトリックス反転計算部を用いてマトリックス反転を計算する処理と、を実行させる、コンピュータプログラムが提供される。このプログラムは、コンピュータ読み取り可能な記憶媒体に記録することができる。すなわち、本発明は、コンピュータプログラムプロダクトとして具体化することができる。
本発明によれば、任意のマトリックスサイズに適応するMU−MIMO通信システムの一般的な実装アーキテクチャが提供される。
マトリックス反転計算のための提案された再帰的構造を示す模式図である。 マトリックスサイズ8の再帰的構造の例を示す模式図である。 再帰的構造の詳細を示す模式図である。 省電力モードの原理を示す模式図である。 入力マトリックスサイズ2及び最大マトリックスサイズ8の省電力モードの例を示す模式図である。 入力マトリックスサイズ3及び4、並びに、最大マトリックスサイズ8の省電力モードの例を示す模式図である。 通常のマトリックスデータと、省電力モード用のマトリックスサイズ4のマトリックスデータ格納順序の例を示す模式図である。 省電力モード用のマトリックスサイズ8のマトリックスデータ格納順序の例を示す模式図である。 並列処理モードの原理を示す模式図である。 入力マトリックスサイズ2及び最大マトリックスサイズ8(2つのマトリックスが同時に動作)の並列処理モードの例を示す模式図である。 入力マトリックスサイズ2及び最大マトリックスサイズ8(4つのマトリックスが同時に動作)の並列処理モードの例を示す模式図である。 入力マトリックスサイズが3及び4、並びに、最大マトリックスサイズ8の並列処理モードの例を示す模式図である。 並列処理モード用のマトリックスサイズ4のマトリックスデータ格納順序の例を示す模式図である。 並列処理モード用のマトリックスサイズ8のマトリックスデータ格納順序の例を示す模式図である。 本開示の基地局の動作の例を示すフローチャートである。 提案された再帰的アーキテクチャを有する基地局の詳細な構成を示すブロック図である。 MU−MIMO(Multiple User-Multiple Input Multiple Output)アーキテクチャにおける基地局を示す模式図である。 背景として記載した第1の解決法を示す模式図である。 背景として記載した第2の解決法を示す模式図である。 本開示の代替形態を示す模式図である。
<実施形態1>
次に、本発明の実施形態1について図面を参照して詳細に説明する。図1は、情報処理装置における再帰的アーキテクチャのブロック図を示す。マトリックス反転処理ブロック(MIPB)301及び303は、マトリックス反転を計算するためのものである。表記(n)は、マトリックスサイズがn=2mであり、mが任意の自然数である、ことを意味する。補助処理ブロック(APB)は、式(数3)のマトリックス反転を除く他の処理のためのものである。この記載において、「再帰的」(recursive)とは、任意のレベルのMIPBが、下位レベルのMIPBによる結果に対して同じ操作を適用して、次の結果を生成する、ことを意味する。言い換えると、MIPBは「再帰的」操作を実行するためにネスティングスタイル(nesting style)で構成される。
MIPB(n)301の実施形態1は、4つのMIPB(n/2)303及び2つのAPB(n/2)302から構成される。同じ再帰的方法で、nが8以上であれば、各MIPB(n/2)303はさらに4つのMIPB(n/2)と2つのAPB(n/2)とに分割することができる。
メモリ(MEM)304は、MIPB301で処理されるマトリックスデータを格納するために用いられる。ここでのメモリは、ASIC実装におけるスタティックランダムアクセスメモリ(SRAM)及びレジスタ、FPGA実装におけるブロックメモリ及びレジスタ、汎用プロセッサベース実装におけるダイナミックランダムアクセスメモリ(DRAM)等を含む多くの形態で実施することができる。
制御ブロック305は、外部信号を受信し、アーキテクチャ全体を異なる状況及び要件に対して動的に再構成することが可能なMEM(n)304及びMIPB(n)301の再構成を行うために用いられる。
実装は多くのプラットフォームで実現できるため、動的再構成は多くの方法で実装できる。ASIC実装では、クロックゲーティング技術及びパワーゲーティング技術によって実装することができる。FPGA実装では、アルテラ(商標)製のStratix V(商標)FPGA等のFPGAチップのクロックゲーティング及び部分再構成技術によって実装できる。また、Renesas(商標)製のDRPコア等の特殊エンジンによって実装することもできる。
ここで、制御ブロック305によるMIPB(n)の再構成について、より詳細に説明する。図2は、マトリックスサイズ8のマトリックス反転処理ブロックの構成の例を示す。マトリックスサイズ8用のMIPB(8)401は、4つのMIPB(4)403と、2つのAPB(4)402とから構成される。マトリックスサイズ4用の各MIPB(4)は、4つのMIPB(2)405と、2つのAPB(2)404とから構成される。マトリックスサイズ2用のMIPB(2)は、式(数4)として簡単に実装することができる。
Figure 0006699738
図3は、提案された再帰的アーキテクチャの詳細を示す。最大入力マトリックスサイズNmaxは、2の累乗であり、 と表され、mは2より大きい任意の自然数である。入力マトリックスは4つのサブマトリックスA、B、C、Dに等しく分割され、そのサイズは m−1 である。式(数2)のように、入力Aは左上のサブマトリックスであり、入力Bは右上のサブマトリックスであり、入力Cは左下のサブマトリックスであり、入力Dは右下のサブマトリックスである。出力E、F、G及びHは、式(数3)に従う。
再帰的アーキテクチャにおいて、MIPB501、502、503及び504は、サブマトリックスのマトリックス反転を計算するために用いられる。(図3における)図内の位置として、左上のMIPBは503であり、右上のMIPBは504であり、左下のMIPBは501であり、右下のMIPBは502である。マトリックス乗算処理ブロック(MMPB)505、506、507、508、509及び510は、サブマトリックスのマトリックス乗算を計算するために用いられる。マトリックス減算処理ブロック(MSPB)511及び512は、サブマトリックスのマトリックス減算を計算するために用いられる。したがって、再帰的アーキテクチャには4つのMIPB、6つのMMPB、2つのMSPBがある。MIPB以外に、左側のAPB513、及び、右側のAPB514からの他の処理ブロックがある。つまり、1つのAPBは、3つのMMPBと1つのMSPBとで構成される。
MSPB511の入力は、入力A、及び、MMPB506の出力である。MSPB511の出力は、MIPB503に供給される。MIPB503の出力は、出力(端子、以下端子を省く)E及びMMPB507に供給される。MIPB501は、入力Dを受け取り、その結果をMMPB505に出力する。MMPB505は、入力CとMIPB501の結果とを乗算し、その結果をMMPB506と507の両方に出力する。MMPB506は、入力BとMMPB505の結果とを乗算し、その結果をMSPB511に出力する。MMPB507は、MIPB503からの結果とMMPB505からの結果とを乗算し、その結果を出力Gとして出力する。
MSPB512の入力は、入力D、及び、MMPB510の出力である。MSPB512の出力は、MIPB502に供給される。MIPB502の出力は、出力H及びMMPB509に供給される。MIPB504は、入力Aを受け取り、その結果をMMPB508に出力する。MMPB508は、入力BとMIPB504からの結果とを乗算し、その結果をMMPB509及び510の両方に出力する。MMPB510は、入力CとMMPB508からの結果をと乗算し、その結果をMSPB512に出力する。MMPB509は、MIPB502からの結果とMMPB508からの結果とを乗算し、その結果を出力Fとして出力する。
このように、入力Aは、左のAPB513、及び、右上のMIPB504に供給される。入力B及びCは、APB513及び514の両方に供給される。入力Dは、左下のMIPB501及び右のAPB514に供給される。出力Eは、左上のMIPB503から来る。出力Fは、右のAPB514から来る。出力Gは、左のAPB513から来る。出力Hは、右下のMIPB502から来る。
マトリックスサイズが最大マトリックスサイズの半分である場合、再帰的アーキテクチャは省電力モードで動作することができる。すなわち、図4は省電力モードを示している。
MIPB601、605、606、及び、右のAPB602は、スイッチオフにされ、図4において破線で示されている。左のAPB608及び左上のMIPB607のみが動作状態にある。入力Aを除いて、他の入力サブマトリックスはすべてゼロマトリックスである。このように、MMPB603の他の入力が何であっても、出力はゼロマトリックスである。他の入力はゼロマトリックスであるので、MSPB604の出力は入力Aである。左上のMIPB607を介して、必要な出力A−1が出力に供給される。

異なる入力マトリックスサイズの省電力モードは、異なるブロックをスイッチオフにする。最大マトリックスサイズ8の例を以下に記載する。
図5は、入力マトリックスサイズが2である例を示す。APB701、702及びMIPB703は、動作状態にある。他の処理ブロックは、破線で示されているようにスイッチオフにされる。
図6は、入力マトリックスサイズが3及び4の例を示す。APB801及びMIPB802は動作状態にある。他の処理ブロックは、破線で示されているように、スイッチオフにされる。入力マトリックスサイズ3の場合、単位マトリックスは、処理マトリックスのサイズが4となるように、入力マトリックスに組み合わされる。
マトリックスサイズが5、6、7及び8の場合は、省電力モードが適用されない。入力マトリックスサイズが5、6及び7の場合、単位マトリックスは、処理マトリックスのサイズが8となるように、入力マトリックスに組み合わされる。
省電力モードの実施形態1は、メモリからフェッチ(fetch)されたデータが並べ替えなしで処理ブロックに直接供給されることを保証する特別なデータ格納順序を必要とする。ここで、制御ブロック305によるメモリのデータ格納順序について、詳細に説明する。
図7は最大入力マトリックスサイズ4の場合の通常の順序、及び、特別な格納順序の例を示す。マトリックスには16のデータがあり、それらは格納の際に対応する順序として示される。通常の順序では、データは左から右へ(行とし)、(行を)上から下への順番に並べられる。この順序で、マトリックスは、パーティション処理のために4つのパーティションに分割される。メモリからフェッチされたデータの順序は、1、2、3、4、5、6、・・・、13、14、15、16である。そして、データは、MIPB(4)におけるMIPB(2)及びAPB(2)に対して、1、2、5、6、3、4、・・・、11、12、15、16の順に並べ替えるべきである。このように、並べ替えのステップを避けるためには、メモリ内のデータをMEM(4)の順に並べる必要がある。左上の2×2ブロックのデータは、最初にメモリに格納される。次は右上の2×2ブロックである。3番目は左下の2×2ブロックである。最後は右下の2×2ブロックである。
同様に、マトリックスパーティションは再帰的方法であるので、各サブマトリックスの特別な格納順序もまた再帰的方法である。
図8は最大入力マトリックスサイズ8の場合の格納順序を示す。マトリックスには64のデータがあり、それらは格納の際に対応する順序として示される。左上の4×4ブロックのデータは、最初にメモリに記憶される。次は右上の4×4ブロックである。3番目は左下の4×4ブロックである。最後は右下の4×4ブロックである。各4×4ブロックでは、左上の2×2ブロックのデータが最初にメモリに格納される。次は右上2×2ブロックである。3番目は左下の2×2ブロックである。最後は右下の2×2ブロックである。
要するに、提案されたアーキテクチャの実施形態1は、マトリックス反転処理のための可変マトリックスサイズに適応する。省電力モードにより、入力マトリックスサイズが小さい場合には、無駄な電力消費が抑えられる。専用のデータ格納順序でも、余分なハードウェアコストが発生しない。
<実施形態2>
次に、本発明の実施形態2について、より詳細に説明する。実施形態2は、情報処理装置の構成について、実施形態1の同様であるので、以下、実施形態1と実施形態2と相違点を中心に説明する。
省電力モードに代えて、情報処理装置の実施形態2では、省電力モードと同数の処理ブロックをスイッチオフにしない並列処理モードを適用することもできる。並列処理モードのメリットは、複数のマトリックスを同時に処理できることである。
並列処理モードでは、制御ブロック305は、入力マトリックスサイズ及び外部指示に従って、メモリ及びMIPBに対して異なる制御指示を与える。
図9は、再帰的アーキテクチャの並列処理モードを示す。MMPB1101の入力の1つはゼロマトリックスであるので、このブロックの出力はゼロマトリックスである。MSPB1102の出力は入力Aである。左上のMIPB1103を介して、必要な出力A-1が得られる。同じプロセスにおいて、MMPB1104の入力の1つはゼロマトリックスであるので、このブロックの出力はゼロマトリックスである。MSPB1105の出力は入力Dである。右下のMIPB1106を介して、必要な出力D−1が得られる。左下のMIPB1107、及び、右上のMIPB1108は、スイッチオフ状態にある。
異なる入力マトリックスサイズの並列処理モードは、異なるブロックをスイッチオフにし、異なる並列処理の場合に対応する。最大マトリックスサイズ8の例を以下に記載する。
図10は、入力マトリックスサイズが2である例を示す。アプリケーション要件に応じて、異なる並列処理番号を構成することができる。図10は、2つのマトリックスが同時に処理されることを示している。APB1201、1202及び1204、並びに、MIPB1203及び1205は動作状態にある(実線で示す)。他の処理ブロックは、破線で示されているようにスイッチオフにされる。図11は、4つのマトリックスが同時に処理されることを示している。APB1201、1202及び1204、並びに、MIPB1203及び1205のほかに、APB1206、1207及び1209、並びに、MIPB1208及び1210も動作状態にある(実線で示す)。他の処理ブロックは、破線で示されているようにスイッチオフにされる。
図12は、入力マトリックスサイズが3と4の例を示す。APB1301及び1303、並びに、MIPB1302及び1304は動作状態にある。他の処理ブロックは、破線で示されているようにスイッチオフにされる。この構成では、2つのマトリックスを同時に処理することができる。入力マトリックスサイズ3の場合、単位マトリックスは、処理マトリックスのサイズが4となるように、入力マトリックスに組み合わされる。
マトリックスサイズが5、6、7及び8の場合は、並列処理モードが適用されない。入力マトリックスサイズが5、6及び7の場合、単位マトリックスは、処理マトリックスのサイズが8となるように、入力マトリックスに組み合わされる。
ここで、制御ブロック305によるメモリのデータ格納順序について、詳細に説明する。省電力モードとしては、並列処理モードにおいても、各サブマトリックスのデータを再帰的方法で格納する特別なデータ格納順序が必要となる。図13は最大入力マトリックスサイズ4の場合の格納順序を示す。マトリックスには16のデータがあり、それらは格納の際に対応する順序として示される。左上の2×2ブロックのデータは、最初にメモリに格納される。次は右下の2×2ブロックである。3番目は左下の2×2ブロックである。最後は右上の2×2ブロックである。
図14は、最大入力マトリックスサイズ8の場合の格納順序を示す。マトリックスには64のデータがあり、それらは格納の際に対応する順序として示される。左上の4×4ブロックのデータは、最初にメモリに記憶される。次は右下の4×4ブロックである。3番目は左下の4×4ブロックである。最後は右上の4×4ブロックである。各4×4ブロックでは、左上の2×2ブロックのデータが最初メモリに記憶される。次は右下の2×2ブロックである。3番目は左下の2×2ブロックである。最後は右上の2×2ブロックである。
要するに、並列処理モードでは、スイッチオフにされるブロックが少なくなるため、省電力効果は省電力モードよりも小さい。実施形態2のメリットは、2つ以上の、より小さいマトリックスを同時に処理することができ、処理を高速化できることである。専用のデータ格納順序としても、余分なハードウェアコストが発生しない。
<実施形態3>
次に、本発明の実施形態3について、より詳細に説明する。実施形態3は、実施形態1の情報処理装置の構成と同様であるので、以下、実施形態1と実施形態3との相違点を中心に説明する。
情報処理装置の実施形態3は、入力マトリックスサイズが最大マトリックスサイズの半分以下である場合に省電力モードと並列処理モードとの両方を可能にする。図15は、処理モードの決定、及び、処理ブロックのオン/オフ状態の処理フローを示す。
図15では、入力マトリックスサイズを外部入力であるSと表記する。並列性因子Pは、外部入力である同時処理マトリックスの数である。nは、最大マトリックスサイズであり、外部入力である。kは構造の再帰的表現のための可変パラメータである。入力マトリックスサイズが最大マトリックスサイズの半分以下である場合に、システムが省電力モード又は並列処理モードで動作することを決定する別の外部入力がある。
図15に示すように、入力マトリックスサイズが最大マトリックスサイズの半分より大きい場合(ステップS001、S002)、全ての処理ブロックがオン状態となる(ステップS003)。入力マトリックスサイズが最大マトリックスサイズの半分以下であれば、システムは外部指示に従ってモードを決定する(ステップS004及びS005)。
省電力モードが決定されると、保留中のMIPB(2k)の1つのAPB(k)、及び、3つのMIPB(k)をオフ状態に設定する(ステップS006)。変数kを2で割る(ステップS007)。入力マトリックスサイズSが依然として変数k以下であれば(S008でNo)、再帰的処理としてリターンし(S006へ戻る)、そうでなければ設定処理を終了する。
並列保存モードが決定されると、マトリックスサイズS及び外部で決定された並列性因子Pの両方が設定プロセスにおいて考慮される。SとPの積が2kであれば(ステップS009のYes)、保留中のMIPB(2k)の2つのMIPB(k)をオフ状態に設定し(ステップS010)、そうでなければ、保留中のMIPB(2k)の1つのAPB(k)、及び、2つのMIPB(k)をオフ状態に設定する(ステップS011)。変数kを2で除算する(ステップS012)。入力マトリックスサイズSが依然として変数k以下である場合(ステップS013のNo)、再帰的処理としてリターンバックされ(ステップS009に戻る)、そうでなければ設定処理を終了する。
以上説明したように、実施形態3によれば、実施形態1の省電力モードと、実施形態2の並列処理モードとを外部指示に基づいて切り替えることができる。
また、制御ブロック305の機能は、図15に示す処理を行う専用回路部により実現することができる。また、制御ブロック305の機能は、コンピュータプログラムを記憶したコンピュータで読み取り可能な記録媒体によって実現することができる。図20は、この代替形態を示す。制御ブロック305内のメモリ3052には、入力されたコンピュータプログラムが格納され、図15に示す処理が実行される。制御ブロック305のCPU3051は、メモリ3052からコンピュータプログラムを読み出して、図15に示す処理を実行する。
以上、本発明の好適な実施形態を説明したが、本発明は上記実施形態に限定されるものではなく、本発明の基本的な技術的思想を逸脱しない範囲において、更なる修正ないし変更、置換、及び調整が可能であることは言うまでもない。
例えば、提案された再帰的アーキテクチャは、MU−MIMO通信システムにおける基地局1700の送信機1702内のプリコーダ1705に対するマトリックス反転を含むプリコーディングマトリックス生成器1701に適用される(図16参照)。すなわち、提案された再帰的アーキテクチャの具体的な実装の1つは、無線通信システム用の基地局として具現化される。
最後に、本発明の好ましい態様をまとめる。
<モード1>
(上記第1の視点の情報処理装置を参照)
<モード2>
前記下位レベルマトリックス反転処理ブロック及び前記補助処理ブロックのマトリックスサイズは、前記上位レベルマトリックス反転処理ブロックのマトリックスサイズの半分である、モード1記載の情報処理装置。
<モード3>
前記補助処理ブロックは、3つのマトリックス乗算ブロックと、1つのマトリックス減算ブロックと、を含む、モード2記載の情報処理装置。
<モード4>
前記情報処理装置は、省電力モードで、前記補助処理ブロックの1つ、及び、前記下位レベルマトリックス反転処理ブロックの1つを動作状態とし、その他のブロックをスイッチオフ状態とするように操作する、モード2又は3記載の情報処理装置。
<モード5>
前記情報処理装置は、前記省電力モードにおいて、左上のサブブロックのデータが最初に格納され、次が右上のサブブロック、3番目が左下のサブブロック、最後は右下のサブブロックとなるように、所定のマトリックスデータ格納順に従ってデータを格納する、モード1乃至4のいずれか一に記載の情報処理装置。
<モード6>
前記情報処理装置は、並列処理モードで、前記補助処理ブロックと前記下位レベルマトリックス反転処理ブロックの2つとの両方を動作状態とし、その他のブロックをスイッチオフ状態とするように操作する、モード1乃至5のいずれか一に記載の情報処理装置。
<モード7>
前記情報処理装置は、前記並列処理モードにおいて、左上のサブブロックのデータが最初に格納され、次が右下のサブブロック、3番目が左下のサブブロック、最後は右上のサブブロックとなるように、所定のマトリックスデータ格納順に従ってデータを格納する、モード1乃至6のいずれか一に記載の情報処理装置。
<モード8>
前記情報処理装置は、外部指示に従って並列処理モードと省電力モードとの間を切り替えるように、前記処理ブロックを動的に再構成する、モード1乃至7のいずれか一に記載の情報処理装置。
<モード9>
前記処理ブロックは、再帰的に構築される、モード1乃至7のいずれか一に記載の情報処理装置。
<モード10>
(上記第2の視点の基地局を参照)
<モード11>
(上記第3の視点の情報処理方法を参照)
<モード12>
(上記第4の視点のコンピュータプログラムを参照)
モード1をモード2乃至9に拡張するのと同様に、モード10〜12を拡張することができる。
上記の特許文献及び非特許文献の各開示は、本明細書に参照によって援用される。本実施形態は、本発明の開示内容(請求項を含む)全体の範囲内で、基本的な技術的思想に基づいて修正ないし変更、調整が可能である。本発明の特許請求の範囲において、様々な開示された要素を組み合わせて、様々な方法で選択が可能である。すなわち、本発明は、当業者が本発明の範囲内で行うことができる修正及び変更が含まれることが理解されるべきである。
100、200 ハードウェア
101〜104 処理ブロック
201 前処理ブロック
301 MIPB(n)
302 APB(n/2)
303 MIPB(n/2)
304 MEM(n)
305 制御ブロック
401 MIPB(8)
402、501、1201、1206、1301、1303 APB(4)
403、802、1302、1304 MIPB(4)
404、702、1202、1204、1207、1209 APB(2)
405、703、1203、12051208、1210 MIPB(2)
501〜504、601、605〜607、1103、1106〜1108 MIPB
505〜510、603、1101、1104 MMPB
511、512、604、1102、1105 MSPB
513、514、602、608 APB
1700 基地局
1701 プリコーディングマトリックス生成器
1702 トランスミッタ
1703 チャネルエンコーダ
1704 モジュレータ
1705 プリコーダ
1706 リソースマッピングユニット
1707 IFFT(逆高速フーリエ変換部)

Claims (10)

  1. 少なくとも、4つの下位レベルマトリックス反転処理ブロック、及び、2つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、
    入力されたマトリックスサイズに応じて前記マトリックス反転計算部の内部構造を再構成する制御部と、を備える、
    情報処理装置であって、
    前記下位レベルマトリックス反転処理ブロック及び前記補助処理ブロックのマトリックスサイズは、前記上位レベルマトリックス反転処理ブロックのマトリックスサイズの半分であり、
    省電力モードで、前記補助処理ブロックの1つ、及び、前記下位レベルマトリックス反転処理ブロックの1つを動作状態とし、その他のブロックをスイッチオフ状態とするように動作する、情報処理装置。
  2. 前記補助処理ブロックは、3つのマトリックス乗算ブロックと、1つのマトリックス減算ブロックと、を含む、
    請求項記載の情報処理装置。
  3. 前記情報処理装置は、前記省電力モードにおいて、左上のサブブロックのデータが最初に格納され、次が右上のサブブロック、3番目が左下のサブブロック、最後は右下のサブブロックとなるように、所定のマトリックスデータ格納順に従ってデータを格納する、
    請求項に記載の情報処理装置。
  4. 前記情報処理装置は、並列処理モードで、前記補助処理ブロックの両方と前記2つの下位レベルマトリックス反転処理ブロックを動作状態とし、その他のブロックをスイッチオフ状態とするように動作する、
    請求項1から3のいずれか一に記載の情報処理装置。
  5. 前記情報処理装置は、前記並列処理モードにおいて、左上のサブブロックのデータが最初に格納され、次が右下のサブブロック、3番目が左下のサブブロック、最後は右上のサブブロックとなるように、所定のマトリックスデータ格納順に従ってデータを格納する、
    請求項に記載の情報処理装置。
  6. 前記情報処理装置は、並列処理モードと省電力モードのいずれかを選択可能であり、
    前記並列処理モードでは、前記情報処理装置は、1つの前記上位レベルマトリックス反転処理ブロック内において、前記下位レベルマトリックス反転処理ブロックのマトリックスサイズであるマトリックスの反転処理を、2つのマトリックスについて並列して行うものであり、
    前記省電力モードでは、前記情報処理装置は、1つの前記上位レベルマトリックス反転処理ブロック内において、前記下位レベルマトリックス反転処理ブロックのマトリックスサイズであるマトリックスの反転処理を、1つのマトリックスについて行うものであり、
    前記情報処理装置は、外部指示に従って、並列処理モードと省電力モードとの間を切り替えるように、前記処理ブロックを動的に再構成する、
    請求項1乃至のいずれか一に記載の情報処理装置。
  7. 前記処理ブロックは、再帰的に構築される、
    請求項1乃至のいずれか一に記載の情報処理装置。
  8. 少なくとも4つの下位レベルマトリックス反転処理ブロック、及び、2つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、
    入力されたマトリックスサイズに応じて前記マトリックス反転計算部の内部構造を再構成する制御部と、
    を備える、基地局であって、
    前記下位レベルマトリックス反転処理ブロック及び前記補助処理ブロックのマトリックスサイズは、前記上位レベルマトリックス反転処理ブロックのマトリックスサイズの半分であり、
    省電力モードで、前記補助処理ブロックの1つ、及び、前記下位レベルマトリックス反転処理ブロックの1つを動作状態とし、その他のブロックをスイッチオフ状態とするように動作する、基地局。
  9. 少なくとも4つの下位レベルマトリックス反転処理ブロック、及び、2つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、制御部とを備える情報処理装置用の情報処理方法であって、
    入力されたマトリックスサイズに応じて前記マトリックス反転計算部の内部構造を再構成するステップと、
    前記マトリックス反転計算部を用いてマトリックス反転を計算するステップと、
    を含む、情報処理方法であって、
    前記下位レベルマトリックス反転処理ブロック及び前記補助処理ブロックのマトリックスサイズは、前記上位レベルマトリックス反転処理ブロックのマトリックスサイズの半分であり、
    省電力モードで、前記補助処理ブロックの1つ、及び、前記下位レベルマトリックス反転処理ブロックの1つを動作状態とし、その他のブロックをスイッチオフ状態として計算する、
    情報処理方法。
  10. 少なくとも4つの下位レベルマトリックス反転処理ブロック、及び、2つの補助処理ブロックを含む上位レベルマトリックス反転処理ブロックを含むマトリックス反転計算部と、制御部と、を備える情報処理装置を構成するコンピュータに、
    入力されたマトリックスサイズに応じて前記マトリックス反転計算部の内部構造を再構成する処理と、
    前記マトリックス反転計算部を用いてマトリックス反転を計算する処理と、
    を実行させる、コンピュータプログラムであって、
    前記下位レベルマトリックス反転処理ブロック及び前記補助処理ブロックのマトリックスサイズは、前記上位レベルマトリックス反転処理ブロックのマトリックスサイズの半分であり、
    省電力モードで、前記補助処理ブロックの1つ、及び、前記下位レベルマトリックス反転処理ブロックの1つを動作状態とし、その他のブロックをスイッチオフ状態として前記コンピュータに計算させる、
    コンピュータプログラム。
JP2018539444A 2016-01-29 2016-01-29 情報処理装置、情報処理方法、及び、コンピュータプログラム Active JP6699738B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/000465 WO2017130237A1 (en) 2016-01-29 2016-01-29 Information processing apparatus, information processing method and a computer program

Publications (2)

Publication Number Publication Date
JP2019512119A JP2019512119A (ja) 2019-05-09
JP6699738B2 true JP6699738B2 (ja) 2020-05-27

Family

ID=55447063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018539444A Active JP6699738B2 (ja) 2016-01-29 2016-01-29 情報処理装置、情報処理方法、及び、コンピュータプログラム

Country Status (3)

Country Link
US (1) US10469152B2 (ja)
JP (1) JP6699738B2 (ja)
WO (1) WO2017130237A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11551067B2 (en) * 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
CN111723917B (zh) * 2019-03-21 2022-11-01 中科寒武纪科技股份有限公司 运算方法、装置及相关产品

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
JP2006229436A (ja) 2005-02-16 2006-08-31 Sony Corp チャンネル行列演算装置,チャンネル行列演算方法,およびコンピュータプログラム
JP2007013455A (ja) 2005-06-29 2007-01-18 Sony Corp チャンネル行列演算装置,チャンネル行列演算方法,およびコンピュータプログラム
US7813421B2 (en) 2006-01-17 2010-10-12 Marvell World Trade Ltd. Order recursive computation for a MIMO equalizer
JP2012123652A (ja) 2010-12-09 2012-06-28 Nikon Corp 画像処理装置、撮像装置およびプログラム
US8788556B2 (en) 2011-05-12 2014-07-22 Microsoft Corporation Matrix computation framework
JP5840994B2 (ja) 2012-03-27 2016-01-06 富士通株式会社 行列演算装置
CN104488196B (zh) * 2012-11-05 2017-08-01 三菱电机株式会社 纠错编码方法及纠错编码装置
US10142403B1 (en) * 2016-04-01 2018-11-27 Armand Prieditis Method and apparatus for facilitating parallel distributed computing

Also Published As

Publication number Publication date
JP2019512119A (ja) 2019-05-09
WO2017130237A1 (en) 2017-08-03
US20180367208A1 (en) 2018-12-20
US10469152B2 (en) 2019-11-05

Similar Documents

Publication Publication Date Title
US9697176B2 (en) Efficient sparse matrix-vector multiplication on parallel processors
CN112926022A (zh) 用于在存储器阵列内执行分集矩阵运算的方法及设备
WO2022057420A1 (zh) 数据处理方法、装置、电子设备以及存储介质
JP6699738B2 (ja) 情報処理装置、情報処理方法、及び、コンピュータプログラム
US10321159B2 (en) Apparatus and method of performing fourier transform
EP4072087A1 (en) Data processing apparatus and method, base station, and storage medium
US20140101409A1 (en) 3d memory based address generator
US20100128818A1 (en) Fft processor
US20150074163A1 (en) Product-sum operation circuit and product-sum operation system
JP2020042479A (ja) リコンフィギュラブルプロセッサ
CN109902821B (zh) 一种数据处理方法、装置及相关组件
JP6548814B2 (ja) プリコーディング行列確定方法および装置
CN108475188A (zh) 数据处理方法和设备
CN111356151B (zh) 一种数据处理方法及装置、计算机可读存储介质
US20160048971A1 (en) Data processing apparatus, data processing method, and non-transitory computer readable medium
WO2019077933A1 (ja) 演算回路および演算方法
CN108184127A (zh) 一种可配置的多尺寸dct变换硬件复用架构
Poola et al. A mixed parallel and pipelined efficient architecture for intra prediction scheme in HEVC
KR102252600B1 (ko) 데이터 처리장치 및 데이터 요소들의 인터리브된 기억을 위한 방법
US10545328B2 (en) Method and apparatus for processing image
JP6259361B2 (ja) プログラマブルデバイスおよびその制御方法
JP7204001B2 (ja) 複数のアンテナからシンボルを送信すること
CN103905099B (zh) 一种lte下行空间复用预编码的实现方法和装置
WO2022042698A1 (zh) 数据发送方法及装置、存储介质、电子装置
JP6349995B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180727

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200413

R150 Certificate of patent or registration of utility model

Ref document number: 6699738

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150