付加情報処理装置、情報処理装置、及び、記憶装置
【課題】 柔軟に処理を変更可能であり、さらに、効率的な演算処理、特に累算処理を実現可能な付加情報処理装置等を提供する。
【解決手段】 ALU27とデータメモリDM31を有する基本処理部3に付加される付加処理部5であって、ALU27と並列して演算を実行可能な加算器29と、ALU27及び加算器29の演算結果に基づいてアクセスが行われるテンプレートメモリTM33及びサーチエリアメモリSM35を備え、ALU27の演算結果に基づくDM31へのアクセスとALU27及び加算器29の演算結果に基づくTM33及びSM35へのアクセスが切り替えられる。
【解決手段】 ALU27とデータメモリDM31を有する基本処理部3に付加される付加処理部5であって、ALU27と並列して演算を実行可能な加算器29と、ALU27及び加算器29の演算結果に基づいてアクセスが行われるテンプレートメモリTM33及びサーチエリアメモリSM35を備え、ALU27の演算結果に基づくDM31へのアクセスとALU27及び加算器29の演算結果に基づくTM33及びSM35へのアクセスが切り替えられる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、付加情報処理装置、情報処理装置、及び、記憶装置に関し、特に演算手段と記憶手段を有する情報処理装置に付加される付加情報処理装置等に関する。
【背景技術】
【0002】
信号処理は大量の信号データに対して演算を行うものであるが、このような信号処理の一例として、動画データの連続するフレームについて時間方向の冗長性を除去するための動き検出処理がある。
【0003】
これまで、動き検出処理は、専用回路(特許文献1参照)と汎用プロセッサへの移植(特許文献2参照)により実装されてきた。
【0004】
【特許文献1】特開平1−319382号公報
【特許文献2】特公平10−506492号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、専用回路では固定化した処理しかできない。そのため、専用回路による方法は、仕様変更やバージョンアップに対応することが難しい。
【0006】
また、汎用プロセッサに移植しても、汎用プロセッサは効率的に演算処理を行うことができない。
【0007】
このような課題は、動き検出処理等の動画像データの処理に限らず、例えばフィルタリングに用いられる畳み込み演算、データの統計処理に用いられる自乗和演算などの他の演算処理に関しても存在するものである。
【0008】
そこで、本発明の目的は、柔軟に処理を変更可能であり、さらに、効率的な演算処理、特に累算処理を実現可能な付加情報処理装置、情報処理装置、及び、記憶装置を提案することである。
【課題を解決するための手段】
【0009】
請求項1に係る発明は、演算を行う演算手段と前記演算手段の演算結果に基づいてアクセスが行われる記憶手段と切替手段を有する情報処理装置に付加される付加情報処理装置であって、前記演算手段と並列して演算を実行可能な付加演算手段と、前記演算手段及び前記付加演算手段の演算結果に基づいてアクセスが行われる付加記憶手段を備え、前記切替手段は前記演算手段の演算結果に基づく前記記憶手段へのアクセスと前記演算手段及び前記付加演算手段の演算結果に基づく前記付加記憶手段へのアクセスを切り替える、付加演算情報処理装置である。
【0010】
なお、請求項1に係る発明において、付加演算手段は、入力された値に基づく演算に加えて定数を加算する機能を有するものであってもよい。
【0011】
請求項2に係る発明は、請求項1記載の付加情報処理装置であって、前記付加記憶手段から読み出されたデータに基づいて累算を行う累算手段を有し、前記情報処理装置は累算手段の累算結果を読み出し可能である。
【0012】
請求項3に係る発明は、外部より入力された値に基づいて処理を行う情報処理装置であって、外部より入力された値に対して複数の演算を並列して実行可能な演算手段と、前記演算手段の複数の演算結果に基づいて記憶される複数のデータを並列して読み出し可能な記憶手段と、前記記憶手段より読み出されたデータの累算を行う累算手段と、を備える情報処理装置である。
【0013】
請求項4に係る発明は、複数の演算を並列して実行可能な演算手段の演算結果に基づいて複数のデータに並列してアクセス可能な記憶装置であって、前記演算手段により並列して実行可能な演算数以下の数のデータが並列してアクセス可能な第1記憶手段を有する記憶装置である。
【0014】
請求項5に係る発明は、請求項4記載の記憶装置であって、1つのデータにアクセス可能な又は前記演算手段により並列して実行可能な演算数よりも少ない数のデータが並列してアクセス可能な第2記憶手段と、第1記憶手段のみのデータに並列してアクセスするか又は第1記憶手段及び第2記憶手段のデータに並列してアクセスするかを切り替える切替手段と、を有するものである。
【0015】
請求項6に係る発明は、請求項4又は5記載の記憶装置であって、前記演算手段が複数の加算を並列して実行可能であり、前記演算手段の複数の加算結果のそれぞれのアドレスに記憶されたデータがアクセスされるものである。
【発明の効果】
【0016】
本願請求項1及び2に係る発明によれば、例えば縮小命令セットコンピュータ(RISC)などの情報処理装置に加算器等の演算器や記憶装置を付加して処理を行うことにより、回路パターンが固定されずに効率的な演算処理が実現可能となる。
【0017】
また、本願請求項2に係る発明によれば、累算器による処理を行うことにより、信号処理等の処理を効率的に行うことが可能となる。
【0018】
さらに、本願請求項3に係る発明によれば、演算手段と記憶手段と累算手段が協働することにより、回路パターンが固定されずに効率的な演算処理が実現可能となる。
【0019】
さらに、本願請求項4から6に係る発明によれば、演算手段の複数の演算結果に基づいて記憶装置の複数のデータがアクセスされることにより、回路パターンが固定されずに効率的な演算処理が実現可能となる。
【0020】
さらに、本願請求項5及び6に係る発明によれば、2つの記憶手段の一方又は両方にアクセスして処理をすることにより、回路パターンが固定されずに効率的な演算処理が実現可能となる。
【0021】
さらに、本願請求項6に係る発明によれば、加算によりアドレスが生成されることにより、例えば動き検出処理などの信号処理を効率的に行うことが可能となる。
【0022】
さらに、本願各請求項に係る発明によれば、回路規模を小さくすることができ、消費電力を少なくすることが可能となる。
【0023】
以下では、図1に示される16ビットのRISCをベースにして図2に示される動き検出専用プロセッサを構成した場合について説明する。図1は、ベースプロセッサである16ビットのRISCの構成を示す図である。これは、命令フェッチIF、命令デコードID、実行EX、メモリアクセスME、及び、ライトバックWBの5つのステージからなっており、プログラムカウンタPC、命令メモリIM、プロセッサレジスタPR、レジスタファイルRF、ALU、データメモリDMなどからなっている。
【0024】
図2は、図1に示されるRISCをベースとする本発明の動き検出専用プロセッサの構成の一例を示す図である。この例では、EXステージに加算器、MEステージにテンプレートメモリTMとサーチエリアメモリSM、WBステージに差分絶対値演算器SADと累算レジスタACCを付加している。
【0025】
図2の動き検出専用プロセッサをFPGAデバイスを搭載したボードを用いて設計・検証を行うと、回路規模を表すLogic Element数は3.313LEsであり、Petersらの設計した動き検出専用プロセッサ(7.530slices(約15.140LEs))1/4回路規模で実現されている。
【発明を実施するための最良の形態】
【0026】
図3は、本発明の実施の形態の一例である情報処理装置1の概略を示すブロック図である。
【0027】
図3を参照して、情報処理装置1は、基本的な処理を実行可能な基本処理部3と画像データに基づく処理を実行可能な付加処理部5を備える。基本処理部3は、プログラムカウンタPC7と命令データを保持する命令メモリIM9とパイプラインレジスタPR11とレジスタファイル13とPR15と算術論理演算ユニットALU27とパイプラインレジスタPR19とデータメモリDM31とPR23を有する。付加処理部5は、加算器29と画素データを保持するデュアルポートのテンプレートメモリTM33と画素データを保持するシングルポートのサーチエリアメモリ35と累算処理を行う累算部25を有する。
【0028】
図3の構成により、情報処理装置1は、パイプラインレジスタPR11と15と19と23により制御される5つのステージの処理が可能となる。すなわち、情報処理装置1は、PC7に保持された値に基づいてIM9より命令データが読み出される命令フェッチIFのステージと、読み出された命令に基づいてRF13に対する処理が行われる命令デコードIDのステージと、ALU27と加算器29からなる演算部17による演算処理が行われる実行EXのステージと、DM31とTM33とSM35からなる記憶部21に対する処理が行われるメモリアクセスMEのステージと、累算部25による累算処理及びRF13に対して書き込みがなされるライトバックWBのステージという5つのステージの処理が可能となる。
【0029】
続いて、図4から図10を参照して、情報処理装置1が命令を実行するときの動作を説明する。
【0030】
図4は、図3の情報処理装置の第1の動作を示す図であって、基本処理部3が動作して処理が行われるLOAD命令を実行するときの動作を示す図である。ここで、LOAD命令の命令データにおいては2つのレジスタREG_AとREG_Bが指定されているとする。
【0031】
まず、情報処理装置1は、PC7の値をアドレスにしてIM9から命令データを読み出し、PR11に保持させる。
【0032】
次に、情報処理装置1は、PR11に保持されたREG_Bの値をレジスタ番号としてRF13からREG_Bの内容を読み出し、PR15に保持させる。
【0033】
次に、情報処理装置1は、PR15に保持されたREG_Bの内容をALU27に入力してそのまま出力させ、PR19に保持させる。
【0034】
次に、情報処理装置1は、PR19に保持されたREG_Bの内容をアドレスとしてDM31からデータを読み出してPR23に保持させる。
【0035】
次に、情報処理装置1は、PR23に保持されたデータをRF13のREG_Aに書き込む。
【0036】
以上により、情報処理装置1は、LOAD命令の命令データに基づいて、REG_Bの値をアドレスとしてDM31からデータを読み出してREG_Aに格納する動作を行う。
【0037】
同様に基本処理部3により処理が行われる命令として、例えば、下位ビットは命令データにより指定される即値で上位ビットは0である値をアドレスとしてDM31からデータを読み出してレジスタに格納するLDIL命令、レジスタREG_Aの値をアドレスとしてレジスタREG_Bの内容をDM31に書き込むSTORE命令、2つのレジスタの値を加算して加算の結果をレジスタに書き込むADD命令などがある。
【0038】
続いて、図5から図7を参照して、TM33とSM35から画素データを読み出して差分絶対値を計算して累算する処理の命令であるSAD命令の動作について説明する。この命令は、例えばサーチエリアにおけるテンプレート検索処理に用いられる。
【0039】
図5は、図3の情報処理装置の第2の動作を示す図であって、基本処理部3と付加処理部5が協働して動作して処理が行われるSAD命令を実行するときの動作を示す図である。ここで、SAD命令の命令データにおいては即値が指定されており、SAD命令においては、レジスタファイルに含まれる16本の汎用レジスタr0からr15のうちのr14とr15が暗示的に用いられるとする。
【0040】
まず、情報処理装置1は、PC7の値をアドレスにしてIM9から命令データを読み出し、PR11に保持させる。
【0041】
次に、情報処理装置1は、汎用レジスタr14の内容を読み出しテンプレートのベースアドレスとしてPR15に保持させる。また、汎用レジスタr15の内容を読み出しサーチエリアのベースアドレスとしてPR15に保持させる。さらに、命令データにおいて指定された即値をPR15に保持させる。
【0042】
次に、情報処理装置1は、PR15に保持されたテンプレートのベースアドレス及び即値をALU27に入力し、ALU27にテンプレートのアドレスを計算させてPR19に保持させる。また、PR15に保持されたサーチエリアのベースアドレス及び即値を加算器29に入力し、加算器29にサーチエリアのアドレスの計算させてPR19に保持させる。
【0043】
次に、情報処理装置1は、PR19に保持されたテンプレートのアドレスをTM33に入力してテンプレートの画素データを読み出し、PR23に保持させる。また、PR19に保持されたサーチエリアのアドレスをSM35に入力してサーチエリアの画素データを読み出し、PR23に保持させる。
【0044】
次に、情報処理装置1は、PR23に保持されたテンプレートの画素データとサーチエリアの画素データを累算部25に入力して、累算部25にテンプレートの画素データとサーチエリアの画素データの差分絶対値を計算して累算する処理を行わせる。
【0045】
以上により、情報処理装置1は、SAD命令により、TM33に保持されたテンプレートの画素データとSM35に保持されたサーチエリアの画素データの差分絶対値を計算して累算することが可能となる。
【0046】
続いて、図6を参照して、PR19とPR23により制御されるメモリアクセスMEのステージのSAD命令実行時の具体的な動作の一例を説明する。
【0047】
図6は、図3の情報処理装置のSAD命令実行時におけるメモリアクセスステージの動作の具体的な一例を示す図である。図6において、データメモリDMは読み出し及び書き込みが可能なメモリであり、1ビットの信号CE0と16ビットの信号ADR0が入力されることによりアドレスADR0のデータR−DATA0の読み出しがなされ、1ビットの信号WEと16ビットの信号ADR0と16ビットの信号W−DATAが入力されるとアドレスADR0にデータW−DATAの書き込みが行われる。テンプレートメモリTMはデュアルポートの読み出し専用メモリであり、1ビットの信号CE1及び16ビットの信号ADR1が入力されることによるアドレスADR1のデータR−DATA1の読み出しと1ビットの信号CE2及び16ビットの信号ADR2が入力されることによるアドレスADR2のデータR−DATA2の読み出しが並列して実現可能なものである。サーチメモリSMはシングルポートの読み出し専用メモリであり、1ビットの信号CE3及び16ビットの信号ADR3が入力されることによりアドレスADR3のデータR−DATA3が読み出される。
【0048】
SAD命令実行時には、PR19に保持されたデータに基づいて、テンプレートメモリTMに対して信号CE1及びADR1が入力され、サーチエリアメモリSMに対して信号CE3及びADR3が入力される。そして、テンプレートメモリTMから読み出された8ビットのデータとサーチエリアメモリSMから読み出された8ビットのデータが合成されて16ビットのデータとしてPR23に保持される。
【0049】
続いて、図7を参照して、SAD命令実行時における累算部25の具体的な動作の一例を説明する。
【0050】
図7は、図3の累算部25の構成の一例を示す図である。累算部25は、差分絶対値累算部(SAD)41と累算レジスタ(ACC)43を有する。差分絶対値累算部SAD41は、差分絶対値演算器45と加算器47と切り替え部MUX49を有する。
【0051】
差分絶対値演算器45は、PR23に保持されたテンプレートとサーチエリアの画素の差分絶対値を計算する。そして、累算部25は、MUX49により、最初の計算においては差分絶対値演算器45の計算結果をACCに格納させ、2回目以降の計算においては加算器47により差分絶対値演算器45の計算結果とACCに保持された値を加算してACCに保持させる。
【0052】
続いて、図8及び図9を参照して、デュアルポートのTM33から横方向に2画素離れたの画素データを読み出して差分絶対値を計算して累算する処理の命令であるEDGEX命令の動作について説明する。この命令は、例えばTM33に記憶されるテンプレートの4つの画素データであって、それぞれある画素の上下左右に位置する4つの画素データa,b,c,dに対して下記の(1)式により特徴量Eを計算して行われるエッジ検出などに用いられる。
【0053】
【数1】
【0054】
図8は、図3の情報処理装置の第3の動作を示す図であって、基本処理部3と付加処理部5が協働して動作して処理が行われるEDGEX命令を実行するときの動作を示す図である。ここで、EDGEX命令の命令データにおいては即値が指定されているとする。
【0055】
まず、情報処理装置1は、PC7の値をアドレスにしてIM9から命令データを読み出し、PR11に保持させる。
【0056】
次に、情報処理装置1は、汎用レジスタr14の内容を読み出しテンプレートのベースアドレスとしてPR15に保持させる。また、命令データにおいて指定された即値をPR15に保持させる。
【0057】
次に、情報処理装置1は、PR15に保持されたテンプレートのベースアドレス及び即値をALU27に入力し、ALU27にテンプレートのアドレスを計算させてPR19に保持させる。また、PR15に保持されたテンプレートのベースアドレス及び即値を加算器29に入力し、加算器29にテンプレートの2画素離れた画素アドレスを計算させてPR19に保持させる。ここで、加算器29は、例えば、入力されたベースアドレス及び即値の加算に加えて定数を加算する機能を有するものであるとする。この定数は、例えば、水平方向に2画素離れた画素の画素データの累算を行うEXGEX命令では2であり、垂直方向に2画素離れた画素の画素データの累算を行うEXGEY命令では32である。
【0058】
次に、情報処理装置1は、PR19に保持されたテンプレートのアドレスとテンプレートの2画素離れた画素アドレスをTM33に入力してテンプレートの2つの画素データを読み出し、PR23に保持させる。
【0059】
次に、情報処理装置1は、PR23に保持されたテンプレートの2つの画素データを累算部25に入力して、累算部25にテンプレートの2つの画素データの差分絶対値を計算して累算する処理を行わせる。
【0060】
以上により、情報処理装置1は、EDGEX命令により、TM33に保持されたテンプレートの2つの画素データの差分絶対値を計算して累算することが可能となる。
【0061】
続いて、図9を参照して、メモリアクセスMEのステージのEDGEX命令実行時の具体的な動作の一例を説明する。
【0062】
図9は、図3の情報処理装置のEDGEX命令実行時におけるメモリアクセスステージの動作の具体的な一例を示す図である。EDGEX命令実行時には、PR19に保持されたデータに基づいて、テンプレートメモリTMに対して信号CE1及びADR1並びにCE2及びADR2が入力されて8ビットの2つのデータR−DATA1及びR−DATA2が読み出される。そして、テンプレートメモリTMから読み出されたR−DATA1及びR−DATA2が合成されて16ビットのデータとしてPR23に保持される。
【0063】
続いて、図10を参照して、累算部25の累算結果をRF13に書き込む処理の命令であるGETAC命令の動作について説明する。この命令により、基本処理部3は、負荷処理部5による処理の結果を使用することが可能となる。
【0064】
図10は、図3の情報処理装置の第4の動作を示す図であって、累算部25の累算結果をRF13に書き込む処理が行われるGETAC命令を実行するときの動作を示す図である。ここで、GETAC命令の命令データにおいてはレジスタREG_Aが指定されているとする。
【0065】
まず、情報処理装置1は、PC7の値をアドレスにしてIM9から命令データを読み出し、PR11に保持させる。
【0066】
次に、情報処理装置1は、PR11に保持された命令データをPR15に保持させる。
【0067】
次に、情報処理装置1は、PR15に保持された命令データをPR19に保持させる。
【0068】
次に、情報処理装置1は、PR19に保持された命令データをPR23に保持させる。
【0069】
次に、情報処理装置1は、累算部25の累算結果の値をレジスタREG_Aに格納する。
【0070】
以上により、情報処理装置1は、GETAC命令の命令データに基づいて、累算部25の累算結果の値をREG_Aに格納する動作を行う。
【0071】
図3の情報処理装置1は、LOAD命令等の基本的な処理(図4参照)、SAD命令の処理(図5から図7参照)、EDGEX命令の処理(図8と図9参照)及びGETAC命令の処理(図10参照)により、例えば図11に示される動き検出処理を行うことが可能となる。
【0072】
まず、動き検出の原理について説明する。動き検出は動画データの連続するフレームについて時間方向の冗長性を除去するものである。
【0073】
動き検出の最も一般的なブロックマッチングである。このブロックマッチングの基本的な演算は、まず、処理フレームにテンプレートブロックIcを設定し、参照フレームにサーチウィンドウIrを設定する。そして、(2)式の差分絶対値の総和(SAD)を計算する。(2)式において、MとNはそれぞれブロックの縦と横の画素数である。この(2)式の計算は、図3の情報処理装置1において、SAD命令(図5から図7参照)等を用いて実現可能である。
【0074】
【数2】
【0075】
そして、SAD(k',l')がSADの最小値である場合、(k',l')を動きベクトルとする。
【0076】
全探索法はすべての探索点のSAD値を計算する方法であり、常に最適な動きベクトルを検出できる。しかしながら、全探索法は計算量が多いという問題があり、計算量削減アルゴリズムがよく使われている。
【0077】
図11は、動き検出処理の計算量を削減するアルゴリズムの一つを示すフロー図である。この処理においては、縦と横の画素数が共に8画素のサブブロックにおいて、(3)式の判別式を1回計算して行うものである。この(3)式の計算は、図3の情報処理装置1において、EDGEX命令(図8と図9参照)等を用いて実現可能である。
【0078】
【数3】
【0079】
図11に示される計算量削減アルゴリズムについて説明する。動き検出処理としてさまざまなものが知られているが、コンピュータシミュレーションによりビデオシーケンス“Susie”で評価を行ったところ、図11に示されるアルゴリズムの差分絶対値演算の回数は、全探索法の約1000分の1、三段探索法の約31分の1、ブロック勾配探索法の11分の1であり、大幅に計算量が削減されている。また、画像の品質を示すPNSRは35.28dBであり、全探索法(35.30dB)と遜色なく、三段探索法(34.97dB)やブロック勾配探索法(35.23dB)よりも優れた値となっている。
【0080】
図11を参照して、最初に、動きのないマクロブロックのスクリーニングを行う。テンプレートの画素を1:16に間引いて(図11のステップST1)、SAD(0,0)を計算する(図11のステップST2)。もしSAD(0,0)が所定の閾値TH1よりも小さい場合には動きベクトルを(0,0)とし(図11のステップST4)、計算を打ち切る。
【0081】
次に、テンプレートの適用間引きを実施する(図11のステップST5)。(3)式により計算される判別式Fの値に基づいて、サブブロックの間引くパターンを変更する。例えば、判別式Fの値が大きい場合には間引く画素数を小さくし、判別式Fの値が小さい場合には間引く画素数を大きくする。判別式Fの閾値は、経験的に100に設定した。
【0082】
次に、ブロック勾配探索法(BBGDS法)により動きベクトルの探索を行う(図11のステップST6)。もしSADの最小値が所定の閾値TH2よりも小さい場合には動きベクトルを設定して計算を打ち切る(図11のステップST7)。
【0083】
次に、アニーリング法による再探索を行う。2番目に小さいSAD値min2(SAD)が最小のSAD値min(SAD)のα倍よりも小さいならば(図11のステップST8)、現行の最小値の点をはずしてBBGDS法を行う(図11のステップST9)。もしSADの最小値が所定の閾値TH3よりも小さい場合には動きベクトルを設定して計算を打ち切る(図11のステップST10)。
【0084】
次に、三段探索法による再探索を行う(図11のステップST11)。そして、これまでのSADの最小値となるベクトルを動きベクトルと設定し(図11のステップST12)、動き検出の処理を終了する。
【0085】
図11に示される処理を実行するときの図3の情報処理装置1の動作について説明する。図11のフロー図において、テンプレートの適用間引き(ステップST5)は、(3)式の判別式により値Fが計算される。この計算は、互いに横に2画素離れたテンプレート画素の差分絶対値の累算を行うEDGEX命令と、互いに縦に2画素離れたテンプレート画素の差分絶対値の累算を行うEDGEY命令を実行して行われる。
【0086】
また、図11のフロー図において、SAD(0,0)の計算(ステップST2)、BBGDS法の実行(ステップST6)、アニーリングによる再探索(ステップST9)、及び、三段探索(ステップST11)の演算処理は、テンプレート画素とサーチエリア画素の差分絶対値の累算を行うSAD命令を用いて実行される。その他の計算に関しては、汎用のプロセッサと同じような処理により行われる。
【0087】
なお、図11の処理において、残差逐次検定法(SSDA法)を採用して更なる計算量の削減することが可能である。このSSDA法は、計算中のSAD値が現行の最小値を交信する可能性がほとんどなくなった時点でその探索点での計算を打ち切る手法である。
【0088】
動きのないマクロブロックのスクリーニング、テンプレートの適応的間引き及びSSDA法は動き検出の性能低下を小さくして大幅に計算量を削減するためにあり、アニーリングや三段探索は少ない計算量の追加で局所最小値からの脱出を図って動き検出の性能を向上させるものである。
【0089】
なお、図3の情報処理装置1は、動き検出処理以外にも、例えば、フィルタリングに用いられる畳み込み演算、データの統計処理に用いられる自乗和演算も可能である。
【図面の簡単な説明】
【0090】
【図1】本発明の効果を具体的に示すための第1の図であって、ベースプロセッサである16ビットの縮小命令セットコンピュータ(RISC)の構成を示す図である。
【図2】本発明の効果を具体的に示すための第2の図であって、図1に示されるRISCをベースとする動き検出専用プロセッサの構成の一例を示す図である。
【図3】本発明の実施の形態の一例である情報処理装置1の概略を示すブロック図である。
【図4】図3の情報処理装置の第1の動作を示す図であって、基本処理部3が動作して処理が行われるLOAD命令を実行するときの動作を示す図である。
【図5】図3の情報処理装置の第2の動作を示す図であって、基本処理部3と付加処理部5が協働して動作して処理が行われるSAD命令を実行するときの動作を示す図である。
【図6】図3の情報処理装置のSAD命令実行時におけるメモリアクセスステージの動作の具体的な一例を示す図である。
【図7】図3の累算部25の構成の一例を示す図である。
【図8】図3の情報処理装置の第3の動作を示す図であって、基本処理部3と付加処理部5が協働して動作して処理が行われるEDGEX命令を実行するときの動作を示す図である。
【図9】図3の情報処理装置のEDGEX命令実行時におけるメモリアクセスステージの動作の具体的な一例を示す図である。
【図10】図3の情報処理装置の第4の動作を示す図であって、累算部25の累算結果をRF13に書き込む処理が行われるGETAC命令を実行するときの動作を示す図である。
【図11】動き検出処理の計算量を削減するアルゴリズムの一つを示すフロー図である。
【符号の説明】
【0091】
1 情報処理装置
3 基本処理部
5 付加処理部
17 演算部
21 記憶部
25 累算部
27 ALU
29 加算器
31 データメモリDM
33 テンプレートメモリTM
35 サーチエリアメモリSM
【技術分野】
【0001】
本発明は、付加情報処理装置、情報処理装置、及び、記憶装置に関し、特に演算手段と記憶手段を有する情報処理装置に付加される付加情報処理装置等に関する。
【背景技術】
【0002】
信号処理は大量の信号データに対して演算を行うものであるが、このような信号処理の一例として、動画データの連続するフレームについて時間方向の冗長性を除去するための動き検出処理がある。
【0003】
これまで、動き検出処理は、専用回路(特許文献1参照)と汎用プロセッサへの移植(特許文献2参照)により実装されてきた。
【0004】
【特許文献1】特開平1−319382号公報
【特許文献2】特公平10−506492号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、専用回路では固定化した処理しかできない。そのため、専用回路による方法は、仕様変更やバージョンアップに対応することが難しい。
【0006】
また、汎用プロセッサに移植しても、汎用プロセッサは効率的に演算処理を行うことができない。
【0007】
このような課題は、動き検出処理等の動画像データの処理に限らず、例えばフィルタリングに用いられる畳み込み演算、データの統計処理に用いられる自乗和演算などの他の演算処理に関しても存在するものである。
【0008】
そこで、本発明の目的は、柔軟に処理を変更可能であり、さらに、効率的な演算処理、特に累算処理を実現可能な付加情報処理装置、情報処理装置、及び、記憶装置を提案することである。
【課題を解決するための手段】
【0009】
請求項1に係る発明は、演算を行う演算手段と前記演算手段の演算結果に基づいてアクセスが行われる記憶手段と切替手段を有する情報処理装置に付加される付加情報処理装置であって、前記演算手段と並列して演算を実行可能な付加演算手段と、前記演算手段及び前記付加演算手段の演算結果に基づいてアクセスが行われる付加記憶手段を備え、前記切替手段は前記演算手段の演算結果に基づく前記記憶手段へのアクセスと前記演算手段及び前記付加演算手段の演算結果に基づく前記付加記憶手段へのアクセスを切り替える、付加演算情報処理装置である。
【0010】
なお、請求項1に係る発明において、付加演算手段は、入力された値に基づく演算に加えて定数を加算する機能を有するものであってもよい。
【0011】
請求項2に係る発明は、請求項1記載の付加情報処理装置であって、前記付加記憶手段から読み出されたデータに基づいて累算を行う累算手段を有し、前記情報処理装置は累算手段の累算結果を読み出し可能である。
【0012】
請求項3に係る発明は、外部より入力された値に基づいて処理を行う情報処理装置であって、外部より入力された値に対して複数の演算を並列して実行可能な演算手段と、前記演算手段の複数の演算結果に基づいて記憶される複数のデータを並列して読み出し可能な記憶手段と、前記記憶手段より読み出されたデータの累算を行う累算手段と、を備える情報処理装置である。
【0013】
請求項4に係る発明は、複数の演算を並列して実行可能な演算手段の演算結果に基づいて複数のデータに並列してアクセス可能な記憶装置であって、前記演算手段により並列して実行可能な演算数以下の数のデータが並列してアクセス可能な第1記憶手段を有する記憶装置である。
【0014】
請求項5に係る発明は、請求項4記載の記憶装置であって、1つのデータにアクセス可能な又は前記演算手段により並列して実行可能な演算数よりも少ない数のデータが並列してアクセス可能な第2記憶手段と、第1記憶手段のみのデータに並列してアクセスするか又は第1記憶手段及び第2記憶手段のデータに並列してアクセスするかを切り替える切替手段と、を有するものである。
【0015】
請求項6に係る発明は、請求項4又は5記載の記憶装置であって、前記演算手段が複数の加算を並列して実行可能であり、前記演算手段の複数の加算結果のそれぞれのアドレスに記憶されたデータがアクセスされるものである。
【発明の効果】
【0016】
本願請求項1及び2に係る発明によれば、例えば縮小命令セットコンピュータ(RISC)などの情報処理装置に加算器等の演算器や記憶装置を付加して処理を行うことにより、回路パターンが固定されずに効率的な演算処理が実現可能となる。
【0017】
また、本願請求項2に係る発明によれば、累算器による処理を行うことにより、信号処理等の処理を効率的に行うことが可能となる。
【0018】
さらに、本願請求項3に係る発明によれば、演算手段と記憶手段と累算手段が協働することにより、回路パターンが固定されずに効率的な演算処理が実現可能となる。
【0019】
さらに、本願請求項4から6に係る発明によれば、演算手段の複数の演算結果に基づいて記憶装置の複数のデータがアクセスされることにより、回路パターンが固定されずに効率的な演算処理が実現可能となる。
【0020】
さらに、本願請求項5及び6に係る発明によれば、2つの記憶手段の一方又は両方にアクセスして処理をすることにより、回路パターンが固定されずに効率的な演算処理が実現可能となる。
【0021】
さらに、本願請求項6に係る発明によれば、加算によりアドレスが生成されることにより、例えば動き検出処理などの信号処理を効率的に行うことが可能となる。
【0022】
さらに、本願各請求項に係る発明によれば、回路規模を小さくすることができ、消費電力を少なくすることが可能となる。
【0023】
以下では、図1に示される16ビットのRISCをベースにして図2に示される動き検出専用プロセッサを構成した場合について説明する。図1は、ベースプロセッサである16ビットのRISCの構成を示す図である。これは、命令フェッチIF、命令デコードID、実行EX、メモリアクセスME、及び、ライトバックWBの5つのステージからなっており、プログラムカウンタPC、命令メモリIM、プロセッサレジスタPR、レジスタファイルRF、ALU、データメモリDMなどからなっている。
【0024】
図2は、図1に示されるRISCをベースとする本発明の動き検出専用プロセッサの構成の一例を示す図である。この例では、EXステージに加算器、MEステージにテンプレートメモリTMとサーチエリアメモリSM、WBステージに差分絶対値演算器SADと累算レジスタACCを付加している。
【0025】
図2の動き検出専用プロセッサをFPGAデバイスを搭載したボードを用いて設計・検証を行うと、回路規模を表すLogic Element数は3.313LEsであり、Petersらの設計した動き検出専用プロセッサ(7.530slices(約15.140LEs))1/4回路規模で実現されている。
【発明を実施するための最良の形態】
【0026】
図3は、本発明の実施の形態の一例である情報処理装置1の概略を示すブロック図である。
【0027】
図3を参照して、情報処理装置1は、基本的な処理を実行可能な基本処理部3と画像データに基づく処理を実行可能な付加処理部5を備える。基本処理部3は、プログラムカウンタPC7と命令データを保持する命令メモリIM9とパイプラインレジスタPR11とレジスタファイル13とPR15と算術論理演算ユニットALU27とパイプラインレジスタPR19とデータメモリDM31とPR23を有する。付加処理部5は、加算器29と画素データを保持するデュアルポートのテンプレートメモリTM33と画素データを保持するシングルポートのサーチエリアメモリ35と累算処理を行う累算部25を有する。
【0028】
図3の構成により、情報処理装置1は、パイプラインレジスタPR11と15と19と23により制御される5つのステージの処理が可能となる。すなわち、情報処理装置1は、PC7に保持された値に基づいてIM9より命令データが読み出される命令フェッチIFのステージと、読み出された命令に基づいてRF13に対する処理が行われる命令デコードIDのステージと、ALU27と加算器29からなる演算部17による演算処理が行われる実行EXのステージと、DM31とTM33とSM35からなる記憶部21に対する処理が行われるメモリアクセスMEのステージと、累算部25による累算処理及びRF13に対して書き込みがなされるライトバックWBのステージという5つのステージの処理が可能となる。
【0029】
続いて、図4から図10を参照して、情報処理装置1が命令を実行するときの動作を説明する。
【0030】
図4は、図3の情報処理装置の第1の動作を示す図であって、基本処理部3が動作して処理が行われるLOAD命令を実行するときの動作を示す図である。ここで、LOAD命令の命令データにおいては2つのレジスタREG_AとREG_Bが指定されているとする。
【0031】
まず、情報処理装置1は、PC7の値をアドレスにしてIM9から命令データを読み出し、PR11に保持させる。
【0032】
次に、情報処理装置1は、PR11に保持されたREG_Bの値をレジスタ番号としてRF13からREG_Bの内容を読み出し、PR15に保持させる。
【0033】
次に、情報処理装置1は、PR15に保持されたREG_Bの内容をALU27に入力してそのまま出力させ、PR19に保持させる。
【0034】
次に、情報処理装置1は、PR19に保持されたREG_Bの内容をアドレスとしてDM31からデータを読み出してPR23に保持させる。
【0035】
次に、情報処理装置1は、PR23に保持されたデータをRF13のREG_Aに書き込む。
【0036】
以上により、情報処理装置1は、LOAD命令の命令データに基づいて、REG_Bの値をアドレスとしてDM31からデータを読み出してREG_Aに格納する動作を行う。
【0037】
同様に基本処理部3により処理が行われる命令として、例えば、下位ビットは命令データにより指定される即値で上位ビットは0である値をアドレスとしてDM31からデータを読み出してレジスタに格納するLDIL命令、レジスタREG_Aの値をアドレスとしてレジスタREG_Bの内容をDM31に書き込むSTORE命令、2つのレジスタの値を加算して加算の結果をレジスタに書き込むADD命令などがある。
【0038】
続いて、図5から図7を参照して、TM33とSM35から画素データを読み出して差分絶対値を計算して累算する処理の命令であるSAD命令の動作について説明する。この命令は、例えばサーチエリアにおけるテンプレート検索処理に用いられる。
【0039】
図5は、図3の情報処理装置の第2の動作を示す図であって、基本処理部3と付加処理部5が協働して動作して処理が行われるSAD命令を実行するときの動作を示す図である。ここで、SAD命令の命令データにおいては即値が指定されており、SAD命令においては、レジスタファイルに含まれる16本の汎用レジスタr0からr15のうちのr14とr15が暗示的に用いられるとする。
【0040】
まず、情報処理装置1は、PC7の値をアドレスにしてIM9から命令データを読み出し、PR11に保持させる。
【0041】
次に、情報処理装置1は、汎用レジスタr14の内容を読み出しテンプレートのベースアドレスとしてPR15に保持させる。また、汎用レジスタr15の内容を読み出しサーチエリアのベースアドレスとしてPR15に保持させる。さらに、命令データにおいて指定された即値をPR15に保持させる。
【0042】
次に、情報処理装置1は、PR15に保持されたテンプレートのベースアドレス及び即値をALU27に入力し、ALU27にテンプレートのアドレスを計算させてPR19に保持させる。また、PR15に保持されたサーチエリアのベースアドレス及び即値を加算器29に入力し、加算器29にサーチエリアのアドレスの計算させてPR19に保持させる。
【0043】
次に、情報処理装置1は、PR19に保持されたテンプレートのアドレスをTM33に入力してテンプレートの画素データを読み出し、PR23に保持させる。また、PR19に保持されたサーチエリアのアドレスをSM35に入力してサーチエリアの画素データを読み出し、PR23に保持させる。
【0044】
次に、情報処理装置1は、PR23に保持されたテンプレートの画素データとサーチエリアの画素データを累算部25に入力して、累算部25にテンプレートの画素データとサーチエリアの画素データの差分絶対値を計算して累算する処理を行わせる。
【0045】
以上により、情報処理装置1は、SAD命令により、TM33に保持されたテンプレートの画素データとSM35に保持されたサーチエリアの画素データの差分絶対値を計算して累算することが可能となる。
【0046】
続いて、図6を参照して、PR19とPR23により制御されるメモリアクセスMEのステージのSAD命令実行時の具体的な動作の一例を説明する。
【0047】
図6は、図3の情報処理装置のSAD命令実行時におけるメモリアクセスステージの動作の具体的な一例を示す図である。図6において、データメモリDMは読み出し及び書き込みが可能なメモリであり、1ビットの信号CE0と16ビットの信号ADR0が入力されることによりアドレスADR0のデータR−DATA0の読み出しがなされ、1ビットの信号WEと16ビットの信号ADR0と16ビットの信号W−DATAが入力されるとアドレスADR0にデータW−DATAの書き込みが行われる。テンプレートメモリTMはデュアルポートの読み出し専用メモリであり、1ビットの信号CE1及び16ビットの信号ADR1が入力されることによるアドレスADR1のデータR−DATA1の読み出しと1ビットの信号CE2及び16ビットの信号ADR2が入力されることによるアドレスADR2のデータR−DATA2の読み出しが並列して実現可能なものである。サーチメモリSMはシングルポートの読み出し専用メモリであり、1ビットの信号CE3及び16ビットの信号ADR3が入力されることによりアドレスADR3のデータR−DATA3が読み出される。
【0048】
SAD命令実行時には、PR19に保持されたデータに基づいて、テンプレートメモリTMに対して信号CE1及びADR1が入力され、サーチエリアメモリSMに対して信号CE3及びADR3が入力される。そして、テンプレートメモリTMから読み出された8ビットのデータとサーチエリアメモリSMから読み出された8ビットのデータが合成されて16ビットのデータとしてPR23に保持される。
【0049】
続いて、図7を参照して、SAD命令実行時における累算部25の具体的な動作の一例を説明する。
【0050】
図7は、図3の累算部25の構成の一例を示す図である。累算部25は、差分絶対値累算部(SAD)41と累算レジスタ(ACC)43を有する。差分絶対値累算部SAD41は、差分絶対値演算器45と加算器47と切り替え部MUX49を有する。
【0051】
差分絶対値演算器45は、PR23に保持されたテンプレートとサーチエリアの画素の差分絶対値を計算する。そして、累算部25は、MUX49により、最初の計算においては差分絶対値演算器45の計算結果をACCに格納させ、2回目以降の計算においては加算器47により差分絶対値演算器45の計算結果とACCに保持された値を加算してACCに保持させる。
【0052】
続いて、図8及び図9を参照して、デュアルポートのTM33から横方向に2画素離れたの画素データを読み出して差分絶対値を計算して累算する処理の命令であるEDGEX命令の動作について説明する。この命令は、例えばTM33に記憶されるテンプレートの4つの画素データであって、それぞれある画素の上下左右に位置する4つの画素データa,b,c,dに対して下記の(1)式により特徴量Eを計算して行われるエッジ検出などに用いられる。
【0053】
【数1】
【0054】
図8は、図3の情報処理装置の第3の動作を示す図であって、基本処理部3と付加処理部5が協働して動作して処理が行われるEDGEX命令を実行するときの動作を示す図である。ここで、EDGEX命令の命令データにおいては即値が指定されているとする。
【0055】
まず、情報処理装置1は、PC7の値をアドレスにしてIM9から命令データを読み出し、PR11に保持させる。
【0056】
次に、情報処理装置1は、汎用レジスタr14の内容を読み出しテンプレートのベースアドレスとしてPR15に保持させる。また、命令データにおいて指定された即値をPR15に保持させる。
【0057】
次に、情報処理装置1は、PR15に保持されたテンプレートのベースアドレス及び即値をALU27に入力し、ALU27にテンプレートのアドレスを計算させてPR19に保持させる。また、PR15に保持されたテンプレートのベースアドレス及び即値を加算器29に入力し、加算器29にテンプレートの2画素離れた画素アドレスを計算させてPR19に保持させる。ここで、加算器29は、例えば、入力されたベースアドレス及び即値の加算に加えて定数を加算する機能を有するものであるとする。この定数は、例えば、水平方向に2画素離れた画素の画素データの累算を行うEXGEX命令では2であり、垂直方向に2画素離れた画素の画素データの累算を行うEXGEY命令では32である。
【0058】
次に、情報処理装置1は、PR19に保持されたテンプレートのアドレスとテンプレートの2画素離れた画素アドレスをTM33に入力してテンプレートの2つの画素データを読み出し、PR23に保持させる。
【0059】
次に、情報処理装置1は、PR23に保持されたテンプレートの2つの画素データを累算部25に入力して、累算部25にテンプレートの2つの画素データの差分絶対値を計算して累算する処理を行わせる。
【0060】
以上により、情報処理装置1は、EDGEX命令により、TM33に保持されたテンプレートの2つの画素データの差分絶対値を計算して累算することが可能となる。
【0061】
続いて、図9を参照して、メモリアクセスMEのステージのEDGEX命令実行時の具体的な動作の一例を説明する。
【0062】
図9は、図3の情報処理装置のEDGEX命令実行時におけるメモリアクセスステージの動作の具体的な一例を示す図である。EDGEX命令実行時には、PR19に保持されたデータに基づいて、テンプレートメモリTMに対して信号CE1及びADR1並びにCE2及びADR2が入力されて8ビットの2つのデータR−DATA1及びR−DATA2が読み出される。そして、テンプレートメモリTMから読み出されたR−DATA1及びR−DATA2が合成されて16ビットのデータとしてPR23に保持される。
【0063】
続いて、図10を参照して、累算部25の累算結果をRF13に書き込む処理の命令であるGETAC命令の動作について説明する。この命令により、基本処理部3は、負荷処理部5による処理の結果を使用することが可能となる。
【0064】
図10は、図3の情報処理装置の第4の動作を示す図であって、累算部25の累算結果をRF13に書き込む処理が行われるGETAC命令を実行するときの動作を示す図である。ここで、GETAC命令の命令データにおいてはレジスタREG_Aが指定されているとする。
【0065】
まず、情報処理装置1は、PC7の値をアドレスにしてIM9から命令データを読み出し、PR11に保持させる。
【0066】
次に、情報処理装置1は、PR11に保持された命令データをPR15に保持させる。
【0067】
次に、情報処理装置1は、PR15に保持された命令データをPR19に保持させる。
【0068】
次に、情報処理装置1は、PR19に保持された命令データをPR23に保持させる。
【0069】
次に、情報処理装置1は、累算部25の累算結果の値をレジスタREG_Aに格納する。
【0070】
以上により、情報処理装置1は、GETAC命令の命令データに基づいて、累算部25の累算結果の値をREG_Aに格納する動作を行う。
【0071】
図3の情報処理装置1は、LOAD命令等の基本的な処理(図4参照)、SAD命令の処理(図5から図7参照)、EDGEX命令の処理(図8と図9参照)及びGETAC命令の処理(図10参照)により、例えば図11に示される動き検出処理を行うことが可能となる。
【0072】
まず、動き検出の原理について説明する。動き検出は動画データの連続するフレームについて時間方向の冗長性を除去するものである。
【0073】
動き検出の最も一般的なブロックマッチングである。このブロックマッチングの基本的な演算は、まず、処理フレームにテンプレートブロックIcを設定し、参照フレームにサーチウィンドウIrを設定する。そして、(2)式の差分絶対値の総和(SAD)を計算する。(2)式において、MとNはそれぞれブロックの縦と横の画素数である。この(2)式の計算は、図3の情報処理装置1において、SAD命令(図5から図7参照)等を用いて実現可能である。
【0074】
【数2】
【0075】
そして、SAD(k',l')がSADの最小値である場合、(k',l')を動きベクトルとする。
【0076】
全探索法はすべての探索点のSAD値を計算する方法であり、常に最適な動きベクトルを検出できる。しかしながら、全探索法は計算量が多いという問題があり、計算量削減アルゴリズムがよく使われている。
【0077】
図11は、動き検出処理の計算量を削減するアルゴリズムの一つを示すフロー図である。この処理においては、縦と横の画素数が共に8画素のサブブロックにおいて、(3)式の判別式を1回計算して行うものである。この(3)式の計算は、図3の情報処理装置1において、EDGEX命令(図8と図9参照)等を用いて実現可能である。
【0078】
【数3】
【0079】
図11に示される計算量削減アルゴリズムについて説明する。動き検出処理としてさまざまなものが知られているが、コンピュータシミュレーションによりビデオシーケンス“Susie”で評価を行ったところ、図11に示されるアルゴリズムの差分絶対値演算の回数は、全探索法の約1000分の1、三段探索法の約31分の1、ブロック勾配探索法の11分の1であり、大幅に計算量が削減されている。また、画像の品質を示すPNSRは35.28dBであり、全探索法(35.30dB)と遜色なく、三段探索法(34.97dB)やブロック勾配探索法(35.23dB)よりも優れた値となっている。
【0080】
図11を参照して、最初に、動きのないマクロブロックのスクリーニングを行う。テンプレートの画素を1:16に間引いて(図11のステップST1)、SAD(0,0)を計算する(図11のステップST2)。もしSAD(0,0)が所定の閾値TH1よりも小さい場合には動きベクトルを(0,0)とし(図11のステップST4)、計算を打ち切る。
【0081】
次に、テンプレートの適用間引きを実施する(図11のステップST5)。(3)式により計算される判別式Fの値に基づいて、サブブロックの間引くパターンを変更する。例えば、判別式Fの値が大きい場合には間引く画素数を小さくし、判別式Fの値が小さい場合には間引く画素数を大きくする。判別式Fの閾値は、経験的に100に設定した。
【0082】
次に、ブロック勾配探索法(BBGDS法)により動きベクトルの探索を行う(図11のステップST6)。もしSADの最小値が所定の閾値TH2よりも小さい場合には動きベクトルを設定して計算を打ち切る(図11のステップST7)。
【0083】
次に、アニーリング法による再探索を行う。2番目に小さいSAD値min2(SAD)が最小のSAD値min(SAD)のα倍よりも小さいならば(図11のステップST8)、現行の最小値の点をはずしてBBGDS法を行う(図11のステップST9)。もしSADの最小値が所定の閾値TH3よりも小さい場合には動きベクトルを設定して計算を打ち切る(図11のステップST10)。
【0084】
次に、三段探索法による再探索を行う(図11のステップST11)。そして、これまでのSADの最小値となるベクトルを動きベクトルと設定し(図11のステップST12)、動き検出の処理を終了する。
【0085】
図11に示される処理を実行するときの図3の情報処理装置1の動作について説明する。図11のフロー図において、テンプレートの適用間引き(ステップST5)は、(3)式の判別式により値Fが計算される。この計算は、互いに横に2画素離れたテンプレート画素の差分絶対値の累算を行うEDGEX命令と、互いに縦に2画素離れたテンプレート画素の差分絶対値の累算を行うEDGEY命令を実行して行われる。
【0086】
また、図11のフロー図において、SAD(0,0)の計算(ステップST2)、BBGDS法の実行(ステップST6)、アニーリングによる再探索(ステップST9)、及び、三段探索(ステップST11)の演算処理は、テンプレート画素とサーチエリア画素の差分絶対値の累算を行うSAD命令を用いて実行される。その他の計算に関しては、汎用のプロセッサと同じような処理により行われる。
【0087】
なお、図11の処理において、残差逐次検定法(SSDA法)を採用して更なる計算量の削減することが可能である。このSSDA法は、計算中のSAD値が現行の最小値を交信する可能性がほとんどなくなった時点でその探索点での計算を打ち切る手法である。
【0088】
動きのないマクロブロックのスクリーニング、テンプレートの適応的間引き及びSSDA法は動き検出の性能低下を小さくして大幅に計算量を削減するためにあり、アニーリングや三段探索は少ない計算量の追加で局所最小値からの脱出を図って動き検出の性能を向上させるものである。
【0089】
なお、図3の情報処理装置1は、動き検出処理以外にも、例えば、フィルタリングに用いられる畳み込み演算、データの統計処理に用いられる自乗和演算も可能である。
【図面の簡単な説明】
【0090】
【図1】本発明の効果を具体的に示すための第1の図であって、ベースプロセッサである16ビットの縮小命令セットコンピュータ(RISC)の構成を示す図である。
【図2】本発明の効果を具体的に示すための第2の図であって、図1に示されるRISCをベースとする動き検出専用プロセッサの構成の一例を示す図である。
【図3】本発明の実施の形態の一例である情報処理装置1の概略を示すブロック図である。
【図4】図3の情報処理装置の第1の動作を示す図であって、基本処理部3が動作して処理が行われるLOAD命令を実行するときの動作を示す図である。
【図5】図3の情報処理装置の第2の動作を示す図であって、基本処理部3と付加処理部5が協働して動作して処理が行われるSAD命令を実行するときの動作を示す図である。
【図6】図3の情報処理装置のSAD命令実行時におけるメモリアクセスステージの動作の具体的な一例を示す図である。
【図7】図3の累算部25の構成の一例を示す図である。
【図8】図3の情報処理装置の第3の動作を示す図であって、基本処理部3と付加処理部5が協働して動作して処理が行われるEDGEX命令を実行するときの動作を示す図である。
【図9】図3の情報処理装置のEDGEX命令実行時におけるメモリアクセスステージの動作の具体的な一例を示す図である。
【図10】図3の情報処理装置の第4の動作を示す図であって、累算部25の累算結果をRF13に書き込む処理が行われるGETAC命令を実行するときの動作を示す図である。
【図11】動き検出処理の計算量を削減するアルゴリズムの一つを示すフロー図である。
【符号の説明】
【0091】
1 情報処理装置
3 基本処理部
5 付加処理部
17 演算部
21 記憶部
25 累算部
27 ALU
29 加算器
31 データメモリDM
33 テンプレートメモリTM
35 サーチエリアメモリSM
【特許請求の範囲】
【請求項1】
演算を行う演算手段と前記演算手段の演算結果に基づいてアクセスが行われる記憶手段と切替手段を有する情報処理装置に付加される付加情報処理装置であって、
前記演算手段と並列して演算を実行可能な付加演算手段と、
前記演算手段及び前記付加演算手段の演算結果に基づいてアクセスが行われる付加記憶手段を備え、
前記切替手段は前記演算手段の演算結果に基づく前記記憶手段へのアクセスと前記演算手段及び前記付加演算手段の演算結果に基づく前記付加記憶手段へのアクセスを切り替える、付加演算情報処理装置。
【請求項2】
前記付加記憶手段から読み出されたデータに基づいて累算を行う累算手段を有し、
前記情報処理装置は累算手段の累算結果を読み出し可能である、請求項1記載の付加情報処理装置。
【請求項3】
外部より入力された値に基づいて処理を行う情報処理装置であって、
外部より入力された値に対して複数の演算を並列して実行可能な演算手段と、
前記演算手段の複数の演算結果に基づいて記憶される複数のデータを並列して読み出し可能な記憶手段と、
前記記憶手段により読み出されたデータの累算を行う累算手段と、を備える情報処理装置。
【請求項4】
複数の演算を並列して実行可能な演算手段の演算結果に基づいて複数のデータに並列してアクセス可能な記憶装置であって、
前記演算手段により並列して実行可能な演算数以下の数のデータが並列してアクセス可能な第1記憶手段を有する記憶装置。
【請求項5】
1つのデータがアクセス可能な又は前記演算手段により並列して実行可能な演算数よりも少ない数のデータが並列してアクセス可能な第2記憶手段と、
前記第1記憶手段のみのデータに並列してアクセスするか又は前記第1記憶手段及び前記第2記憶手段のデータに並列してアクセスするかを切り替える切替手段と、
を有する請求項4記載の記憶装置。
【請求項6】
前記演算手段は複数の加算を並列して実行可能であり、
前記演算手段の複数の加算結果のそれぞれのアドレスに記憶されたデータがアクセスされる、請求項4又は5記載の記憶装置。
【請求項1】
演算を行う演算手段と前記演算手段の演算結果に基づいてアクセスが行われる記憶手段と切替手段を有する情報処理装置に付加される付加情報処理装置であって、
前記演算手段と並列して演算を実行可能な付加演算手段と、
前記演算手段及び前記付加演算手段の演算結果に基づいてアクセスが行われる付加記憶手段を備え、
前記切替手段は前記演算手段の演算結果に基づく前記記憶手段へのアクセスと前記演算手段及び前記付加演算手段の演算結果に基づく前記付加記憶手段へのアクセスを切り替える、付加演算情報処理装置。
【請求項2】
前記付加記憶手段から読み出されたデータに基づいて累算を行う累算手段を有し、
前記情報処理装置は累算手段の累算結果を読み出し可能である、請求項1記載の付加情報処理装置。
【請求項3】
外部より入力された値に基づいて処理を行う情報処理装置であって、
外部より入力された値に対して複数の演算を並列して実行可能な演算手段と、
前記演算手段の複数の演算結果に基づいて記憶される複数のデータを並列して読み出し可能な記憶手段と、
前記記憶手段により読み出されたデータの累算を行う累算手段と、を備える情報処理装置。
【請求項4】
複数の演算を並列して実行可能な演算手段の演算結果に基づいて複数のデータに並列してアクセス可能な記憶装置であって、
前記演算手段により並列して実行可能な演算数以下の数のデータが並列してアクセス可能な第1記憶手段を有する記憶装置。
【請求項5】
1つのデータがアクセス可能な又は前記演算手段により並列して実行可能な演算数よりも少ない数のデータが並列してアクセス可能な第2記憶手段と、
前記第1記憶手段のみのデータに並列してアクセスするか又は前記第1記憶手段及び前記第2記憶手段のデータに並列してアクセスするかを切り替える切替手段と、
を有する請求項4記載の記憶装置。
【請求項6】
前記演算手段は複数の加算を並列して実行可能であり、
前記演算手段の複数の加算結果のそれぞれのアドレスに記憶されたデータがアクセスされる、請求項4又は5記載の記憶装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−109111(P2007−109111A)
【公開日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願番号】特願2005−301044(P2005−301044)
【出願日】平成17年10月14日(2005.10.14)
【出願人】(391043332)財団法人福岡県産業・科学技術振興財団 (53)
【出願人】(899000068)学校法人早稲田大学 (602)
【Fターム(参考)】
【公開日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願日】平成17年10月14日(2005.10.14)
【出願人】(391043332)財団法人福岡県産業・科学技術振興財団 (53)
【出願人】(899000068)学校法人早稲田大学 (602)
【Fターム(参考)】
[ Back to top ]