Nothing Special   »   [go: up one dir, main page]

JP2017027314A - 並列演算装置、画像処理装置及び並列演算方法 - Google Patents

並列演算装置、画像処理装置及び並列演算方法 Download PDF

Info

Publication number
JP2017027314A
JP2017027314A JP2015144411A JP2015144411A JP2017027314A JP 2017027314 A JP2017027314 A JP 2017027314A JP 2015144411 A JP2015144411 A JP 2015144411A JP 2015144411 A JP2015144411 A JP 2015144411A JP 2017027314 A JP2017027314 A JP 2017027314A
Authority
JP
Japan
Prior art keywords
data
supply
arithmetic processing
parallel
arithmetic
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.)
Granted
Application number
JP2015144411A
Other languages
English (en)
Other versions
JP6532334B2 (ja
Inventor
山本 貴久
Takahisa Yamamoto
貴久 山本
加藤 政美
Masami Kato
政美 加藤
伊藤 嘉則
Yoshinori Ito
嘉則 伊藤
野村 修
Osamu Nomura
修 野村
克彦 森
Katsuhiko Mori
克彦 森
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015144411A priority Critical patent/JP6532334B2/ja
Publication of JP2017027314A publication Critical patent/JP2017027314A/ja
Application granted granted Critical
Publication of JP6532334B2 publication Critical patent/JP6532334B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

【課題】複数の積和演算を高速に処理する。【解決手段】第1データと第2データとに基づいて並列して演算を行う複数の演算処理手段107と、第1データを複数の演算処理手段に供給するための第1供給手段105と、第2データを前記複数の演算処理手段に供給するための第2供給手段106と、複数の演算処理手段それぞれに対して同一タイミングで内容の異なる前記第1データを供給するように第1供給手段を制御し、複数の演算処理手段それぞれに対して同一タイミングで内容が同一の第2データを供給するように第2供給手段を制御する供給制御手段104と、を有する。供給制御手段は、複数の演算処理手段の間で内容が同一の第1データが異なるタイミングで共有されるように第1データを供給させる第1供給モードと、複数の演算処理手段に、複数のタイミングで、それぞれ内容が異なる第1データを供給させる第2供給モードと、を実行する。【選択図】図1

Description

本発明は、複数の演算処理を並列に行うための技術に関する。
一般に画像処理でよく使用される処理としてコンボリューション(畳み込み)フィルタ処理が知られており、その代表的な処理は平滑化のためのガウスフィルタ処理やエッジ抽出のためのソーベルフィルタ処理等である。また、画像処理でよく使用される他の処理に行列積演算がある。行列積演算を伴う処理としては、主成分分析(PCA)を用いた次元削減、アフィン変換、パーセプトロン、サポートベクターマシン等が知られている。このようなフィルタ演算や行列積演算では、多数の積和演算を行う必要があるため多くの処理時間を要する。汎用的なプロセッサを用いて処理時間を短縮するには、複数のプロセッサを用意することが必要となり、回路規模が大きくなるという問題がある。
そこで、回路規模や処理時間の観点から、専用のハードウェアを用いて積和演算を並列処理する技術が検討されている。特許文献1には、演算器間の接続関係を変更することで多種の演算を行う技術が開示されている。
特開2009−38758号公報
しかしながら、特許文献1で開示されている技術では、データの入力から出力までの間に演算器が直列に並ぶ経路があり、ある演算器の出力を他の演算器に入力している。つまり、最終的な出力を得るまでに複数の演算器を経由する必要があるため、複数の積和演算を高速に処理することが難しいという問題があった。そこで、本発明は、複数の積和演算を高速に処理できるようにすることを目的とする。
以上の課題を解決するために、本発明は、第1データと第2データとに基づいて並列して演算を行う複数の演算処理手段と、前記第1データを前記複数の演算処理手段に供給するための第1供給手段と、前記第2データを前記複数の演算処理手段に供給するための第2供給手段と、前記複数の演算処理手段それぞれに対して同一タイミングで内容の異なる前記第1データを供給するように前記第1供給手段を制御し、前記複数の演算処理手段それぞれに対して同一タイミングで内容が同一の第2データを供給するように前記第2供給手段を制御する供給制御手段と、を有し、前記供給制御手段は、前記複数の演算処理手段の間で内容が同一の前記第1データが異なるタイミングで共有されるように前記第1データを供給させる第1供給モードと、前記複数の演算処理手段に、複数のタイミングで、それぞれ内容が異なる前記第1データを供給させる第2供給モードと、を実行することを特徴とする。
以上の構成によれば、本発明は、複数の積和演算を高速に処理できるようになる。
第1の実施形態に関わる並列演算装置のブロック図。 第1の実施形態に関わる第1データ供給部105の構成例を示す図。 第1の実施形態においてフィルタ演算を行う際のフローチャート。 第1の実施形態におけるフィルタカーネルを説明する図。 第1の実施形態のフィルタ演算における第1、第2データ格納部の模式図。 第1の実施形態において行列積演算を行う際のフローチャート。 第1の実施形態の行列積演算における第1、第2データ格納部の模式図。 第2の実施形態においてDeep Learningの演算例を説明する図。 フィルタ処理における畳み込みフィルタの例を示す図。 第2の実施形態に関わる並列演算装置のブロック図。 第2の実施形態に関わる画像処理装置のブロック図。
[第1の実施形態]
本発明の第1の実施形態に関し、その概要について先ず説明する。本実施形態の並列演算装置は、種類の異なる複数の積和演算の処理を実行するものである。本実施形態が処理する積和演算の種類としては、上述したようにフィルタ処理における積和演算、行列積演算がある。
ここで、フィルタ処理における積和演算について説明する。図9は、畳み込みフィルタの例を示している。同図(A)では、カーネルサイズが3×3フィルタカーネル10を用いて処理対象画像の画像データ11に対してフィルタ演算を行う場合の例を示している。この例では、下記の数式1に示す積和演算処理によりフィルタ演算結果が算出される。
Figure 2017027314

ここで、「di,j」は座標(i,j)での処理対象画像画素値を示し、「fi,j」は座標(i,j)でのフィルタ演算結果を示す。また、「ws,t」は座標(i+s−1,j+t−1)に適用するフィルタカーネルの値(フィルタ係数)を示し、「columnSize」および「rowSize」はフィルタカーネルサイズを示す。
また、行列積演算では、m×n行列Aとn×p行列Bとの行列積の結果として算出されるm×p行列Cは、下記の数式2で示される。
Figure 2017027314

このとき行列Cの要素「ci,j」は、次の数式3で算出される。
Figure 2017027314

このように、一般的に行われる画像処理では、数式1や数式3の形で表わされる積和演算がよく使用される。ここで、フィルタ演算も行列積演算もどちらも積和演算(乗算結果を順次加算する演算)ではあるが、フィルタ演算では、同一のフィルタカーネルに対して、フィルタされる側のデータ(スキャンウインドウ内の画像データ)が部分的に重複する場合がある。つまり、フィルタ演算では、一部共通するデータを使用することがある。
図9(B)〜(D)に、フィルタ演算におけるデータが一部重複する様子を示す。図9(B)〜(D)は、フィルタカーネル10により、処理対象の画像データ11に対してフィルタ処理を行う際の模式図である。フィルタカーネル10が図9(B)の位置にあるときと図9(C)の位置にあるときとでは、図9(C)において斜線で示す部分の画像データが重複している。また同様に、フィルタカーネル10が図9(C)の位置にあるときと図9(D)の位置にあるときとでは、図9(D)において斜線で示す部分の画像データが重複している。このように、フィルタ演算では、同一のフィルタカーネルのデータに対して、フィルタされる方のデータ(画像データ)が部分的に重複する場合がある。
これに対して、行列積演算では、一方の行列のある行ベクトル(例えば、数式2の行列Aの行ベクトル)に対して、他方の行列の列ベクトル(例えば数式2の行列Bの列ベクトル)に部分的な重複は発生せず、複数の列ベクトルに共通するデータはない。つまり、一方の行列のある行ベクトルと、他方の行列の複数の列ベクトルとで積和演算する場合でも、複数の列ベクトルに重複するデータはない。
以上のように、フィルタ演算と行列積演算とでは、積和演算の被演算データの一方を固定した場合に、他方の被演算データ間に重複部分があるかないかという差異が存在する。本実施形態では、種類の異なる積和演算を同一の並列演算装置を用いて行うため、並列に存在する演算処理部に対して演算対象のデータを供給する際、データの供給モード(供給順序)を切り替えることで、複数種類の積和演算を処理可能としている。本実施形態では、積和演算の例として、フィルタ演算と行列積演算の両方を単一の並列演算装置により処理する場合の例について説明する。
以下、図面を参照して、本実施形態の詳細について説明する。図1は、本実施形態に関わる並列演算装置のブロック図である。並列演算装置101には、積和演算を行う演算対象データが入力される。フィルタ演算を行う場合には、画像データとフィルタカーネルデータとが演算対象データとして入力される。行列積演算を行う時には、掛け合わせられる2つの行列データが演算対象データとして入力される。並列演算装置101は、これら演算対象データに対して積和演算を実行し、その演算結果を出力する。
並列演算装置101にこれから行われる積和演算の演算対象データが入力されると、第1データ格納部102、第2データ格納部103に演算対象データが格納される。フィルタ演算を行う場合、第1データ格納部102に画像データが格納され、第2データ格納部103にフィルタカーネルデータが格納される。行列積演算を行う場合、掛け合わされる行列データの一方(例えば数式2の行列A)が第1データ格納部102に格納され、掛け合わされる行列データの他方(例えば数式2の行列B)が第2データ格納部103に格納される。本実施形態において、第1データ格納部102、第2データ格納部103はRAM(Random Access Memory)で構成されているが、レジスタファイル(レジスタが複数集まったもの)等の他の手段で構成されていてもよい。
データ供給制御部104は、複数の演算処理部107それぞれに内容の異なる第1データ(第1データ格納部102から出力されるデータ)を同一タイミングで供給する。また同時に、複数の演算処理部107それぞれに内容が同一の第2データ(第2データ格納部103から出力されるデータ)を同一タイミングで供給する。データ供給制御部104は、このような機能を実現するために、複数の第1データそれぞれを対応する演算処理部107に供給する第1データ供給部105と、同一の第2データを全ての演算処理部107に供給する第2データ供給部106を有する。第1データ供給部105は、第1データ格納部102から出力される第1データを一時的に保持し、演算処理部107に供給する。本実施形態の第1データ供給部105は、データロードが可能なシフトレジスタで構成されている。
図2は、第1データ供給部105の構成例を示す図であり、4段のシフトレジスタを示している。このシフトレジスタには、4個の多bitレジスタ801a〜801dが設けられており、これらがCLOCK信号に同期して所定bitのデータをラッチする。レジスタ801a〜801dには、イネーブル信号(Enable信号)が与えられ、レジスタ801a〜801dはEnable信号が1の場合にCLOCK信号の立ち上がりでデータをラッチする。一方、Enable信号が0の場合に前クロックでラッチしたデータをそのまま保持する。そのため、Enable信号が0の場合には、レジスタ801a〜801dがラッチするデータの状態に遷移は生じない。
また、3個のセレクタ802a〜802cが設けられており、これらは、選択信号(Load信号)が0の場合に信号OUTx(x:0〜2)を選択し、選択信号(Load信号)が1の場合に信号INx(x:1〜3)を選択する。すなわち、セレクタ802a〜802cは、Load信号に応じてシフト動作又はロード動作を選択する。
多bitレジスタ801a〜801dのビット幅は、第1データ格納部102に格納された画像データ、あるいは行列データのビット幅と同じであればよい(例えば、8ビット)。また、シフトレジスタの段数は『「演算処理部107の数(並列数)」+「フィルタカーネルの水平方向サイズ」−1』であればよい。例えば、演算処理部107の数が4個、フィルタカーネルの水平方向サイズが3画素の場合、4+3−1=6段とすればよい。ただし、色々なサイズのフィルタカーネルでフィルタ演算を行うことが想定される場合には、想定される最大のフィルタカーネルの水平方向サイズに対する段数で構成しておくことが望ましい。
また、第1データ供給部105には、演算種別切り替え部110から演算種別信号が入力される。第1データ供給部105は、複数のモードでデータの供給を行うことができ、入力される演算種別信号に応じて、データ供給のモードを切り替える。ここでいうデータ供給モードとは、第1データ格納部102からロードしたデータをどのような順序、タイミングで演算処理部107に供給するのかということに相当する。
例えば、演算種別信号としてフィルタ演算を行う旨の指示が第1データ供給部105に入力された場合、第1データ供給部105は、複数の演算処理部107それぞれに対して同一のデータが異なるタイミングで供給されるように動作する。つまり、あるタイミングである演算処理部107に供給されたデータが次のタイミングで別の演算処理部107に供給される、というようなデータ供給モードで動作する。この場合、複数の演算処理部107間では、供給される同一データが異なるタイミングで共有されることになる。
一方、演算種別信号として行列積演算を行う旨の指示が第1データ供給部105に入力された場合、第1データ供給部105は複数の演算処理部107に対して同一のデータが供給されないように動作する。つまり、あるタイミングである演算処理部107に供給されたデータが、同じタイミングまたは別のタイミングで別の演算処理部107に供給されることがない、というようなデータ供給モードで動作する。この場合、複数の演算処理部107間で供給されるデータの共有は行われないことになる。
第2データ供給部106は、第2データ格納部103から出力される第2データを一時的に保持し、演算処理部107に供給する。本実施形態の第2データ供給部106は、レジスタで構成されている。このレジスタのビット幅は、第2データ格納部103に格納されるフィルタカーネル、行列データのビット幅と同じであればよい(例えば8ビット)。
演算処理部107は、第1データ供給部105から供給される第1データと第2データ供給部106から供給される第2データとを用いて積和演算を行い、その積和演算結果を出力する。並列演算装置101は、積和演算を並列に行うために、演算処理部107を複数有する。複数の演算処理部107それぞれに対して、第1データ供給部105から、それぞれ異なる第1データが同一タイミングで供給され、同時に、第2データ供給部106から同一の第2データが同一タイミングで供給される。そして、演算処理部107は、与えられた第1データ、第2データに対し積和演算を実行するため、乗算器108と累積加算器109とを備える。
演算種別切り替え部110は、外部から設定される演算種別設定に基づいて演算種別信号を出力する。例えば、並列演算装置が画像処理装置に組み込まれている場合には、画像処理装置がこれから行う画像処理に応じた演算種別が設定されることになる。これから行う演算がフィルタ演算の場合、演算種別切り替え部110には、その旨の情報が設定され、演算種別切り替え部110は、第1データ供給部105と読み出し制御部111に対してフィルタ演算用の動作モードで動作するように指示を出す。また、これから行う演算が行列積演算の場合、演算種別切り替え部110にその旨の情報が設定され、演算種別切り替え部110は、第1データ供給部105と読み出し制御部111に対して、行列積演算用の動作モードで動作するように指示を出す。
読み出し制御部111は、第1データ供給部105が第1データ格納部102からデータを読み出す際、その読み出しモードの制御を行う。ここでいう読み出しモードとは、第1データ格納部102のどこに格納されているデータを、どのような順番で、第1データ供給部105が読み出すのか、ということに相当する。
また、読み出し制御部111には、演算種別切り替え部110から演算種別信号が入力される。読み出し制御部111にフィルタ演算を指示する演算種別信号が入力されると、読み出し制御部111は、第1データ格納部102から、フィルタ演算の過去の積和演算のために読み出したデータの一部分を重複して、再度読み出すようなモードに設定する。つまり、一連のフィルタ演算の過程で過去に実行された積和演算のために第1データ格納部102から読み出されたデータの一部分を含むデータを、別の積和演算のために読み出す、というような読み出しモードを設定する。
一方、読み出し制御部111に行列積演算を指示する旨の演算種別信号が入力されると、読み出し制御部111は、行列積演算の過去の積和演算のために読み出したデータは重複して再度読み出すことがないようなモードに設定する。つまり、読み出し制御部111は、新しいデータを読み出すか過去の演算と同じデータを読み出す、というような動作モードの設定を行う。
図3は、本実施形態の並列演算装置によってフィルタ演算を行う際の処理手順を示すフローチャートである。まず、ステップS301において、演算種別切り替え部110の演算種別の設定が行われる。ここでは、演算種別切り替え部110の演算種別としてフィルタ演算が設定される。続いてステップS302において、フィルタカーネルデータは第2データ格納部103に格納される。図4は、本実施形態におけるフィルタカーネルを説明する図である。同図には、フィルタカーネル10および演算対象の画像データ11を示している。フィルタカーネル10の各画素のデータはwi,jで表わされ、画像データ11の各画素のデータはdi,jで表わされる(i,jは座標位置を示すインデックスである)。フィルタカーネル10と画像データ11は、演算開始前、例えば本実施形態の並列演算装置の外部(並列演算装置を内蔵する画像処理装置の格納手段など)に保持されている。
ここで、上述したステップS302において、フィルタカーネルデータが第2データ格納部103に格納される処理について説明する。図5は、フィルタ演算において、第1データ格納部102、第2データ格納部103にデータが格納される様子を示す図であり、図5(A)が第2データ格納部103でのデータ格納の様子を示している。本実施形態の第2データ格納部103はRAMで構成されており、ステップS302では、図5(A)に示すように各アドレスの領域にフィルタカーネルデータが格納される。
続いてステップS303において、演算処理の対象画像データが第1データ格納部102に格納される。図5(B)は、第1データ格納部102でのデータ格納の様子を示している。本実施形態の第1データ格納部102はRAMで構成され、ステップS303では、図5(B)に示すように画像データ11がラスタ順にRAMに格納される。つまり、アドレス1の領域にd1,1〜d1,4のデータが格納され、アドレス2の領域にd1,5〜d1,8のデータが格納される。また、アドレスpの領域にd2,1〜d2,4のデータが格納され、アドレスqの領域にd3,1〜d3,4のデータが格納され、アドレスrの領域にd4,1〜d4,4のデータが格納される。
ここで、第1データ格納部102を構成するRAMの形状(幅)について説明する。一般的にRAMの容量が同じであったとしても、幅が広く深さが狭い形状であれば、幅が狭く深さが深い形状であるより回路規模的に大きくなる。本実施形態の第1データ格納部には、演算処理部107の数(並列度)に等しいデータ数が一度に読み出せる幅があることが、処理速度の観点からは望ましい。例えば並列度が4であれば、図5(B)に示すように4個のデータを同一アドレスに格納できるだけの幅を持ったRAMであることが好適である。
次に、ステップS304において、第1データ格納部102から第1データ供給部105にデータを出力する。本実施形態の第1データ供給部105はシフトレジスタで構成されており、第1データ格納部102から出力されたデータを一時的に保持する。具体的には、まず第1データ格納部102からアドレス1、アドレス2にあるデータを出力し、第1データ供給部105で保持する。この第1データ格納部102からのデータの読み出しの制御は、読み出し制御部111により行われる。ここで、図5(C)に第1データ供給部105であるシフトレジスタの模式図を示す。同図において、シフトレジスタの段数(ここでは6段)は、第1データ格納部102の幅(本実施形態ではデータ4個分)より広いので、2つのアドレスから読み出したデータ(2ワード)でロードが行われる。
続いてステップS305において、第2データ格納部103から第2データ供給部106にデータを出力する。本実施形態の第2データ供給部106はレジスタで構成されており、第2データ格納部103から出力されたデータを一時的に保持する。図5(D)に第2データ供給部105であるシフトレジスタの模式図を示す。同図に示すように、第2データ格納部103からアドレス1にあるデータを出力し、第2データ供給部106で保持する。続くステップS306において、各演算処理部107にて並列に積和演算が行われる。
そして、ステップS307、S308、S309において繰り返し演算を行うことで積和演算が継続される。つまり、第1データ供給部105のシフトレジスタをシフトしつつ、同時に、第2データ格納部103からの次のカーネルデータ出力することで、各演算処理部107にて並列に積和演算が行われる(フィルタカーネルの水平方向の積和演算)。
同様にステップS310、S311において繰り返し演算を行うことで積和演算が継続され、フィルタカーネルの水平方向の積和演算を垂直方向のサイズに相当する回数を繰り返して、最終結果が得られる。
以上の処理フローにより、本実施形態のフィルタ演算は実行される。なお、次の水平行のフィルタ演算を行う場合は、ステップS304から実行すればよい。その他の位置のフィルタ演算を行う場合も同様である。特に、次の水平行のフィルタ演算を行う場合、ステップS304において、読み出し制御部111は、第1データ格納部102に対して、フィルタ演算の過去の積和演算のために読み出したデータの一部分が重複するようデータを再度読み出すように制御する。例えば、前回の積和演算では、アドレス1、アドレス2、アドレスp、アドレスp+1、アドレスq、アドレスq+1に格納されているデータを読み出したとする。これに対して、今回の積和演算では、アドレスp、アドレスp+1、アドレスq、アドレスq+1、アドレスr、アドレスr+1に格納されているデータを読み出すようにする。この場合、前回読み出したデータ(6ワード)のうちの一部(4ワード)が重複して含まれている。このような一部データの重複は、さらに次の水平行のフィルタ演算を行う場合にも発生する。このように、演算種別としてフィルタ演算が指定された場合、読み出し制御部111は、以下のように動作する。すなわち、一連のフィルタ演算の過程で過去に実行されたある積和演算のために、第1データ格納部102から読み出されたデータの一部分を重複して含むデータを、別の積和演算のために読み出す、というような読み出しモードで動作する。
また、第1データ供給部105では、保持しているデータをシフトしながら演算処理部107に供給する。つまり、演算種別としてフィルタ演算が指示されている場合、第1データ供給部105は、同一のデータを異なるタイミングで、異なる演算処理部107に対して供給するよう動作する。
続いて、本実施形態の並列演算装置101により行列積演算を行う際の処理フローについて説明を行う。ここでは、上述した数式2の積和演算を行う場合について説明する。図6は、本実施形態の並列演算装置によって行列積演算を行う際の処理手順を示すフローチャートである。
まず、ステップS601において、演算種別切り替え部110に対して演算種別の設定が行われる。ここでは、行列積演算が演算種別として設定される。次に、ステップS602において、行列Bが第2データ格納部103に格納される。図7は、行列積演算において、第1データ格納部102、第2データ格納部103にデータが格納される様子を示す図であり、図7(A)は第2データ格納部103でのデータ格納の様子を示している。本実施形態の第2データ格納部103はRAMで構成されており、図7(A)に示すように、各アドレスの領域に行列Bの各要素データが格納されている。
続いてステップS603において、行列Aが第1データ格納部102に格納される。図7(B)は第1データ格納部102でのデータ格納の様子を示している。本実施形態の第1データ格納部102はRAMで構成されており、図7(B)に示すように、行列AのデータがRAMに格納されている。
続いて、ステップS604において、第1データ格納部102から第1データ供給部105にデータを出力する。まず、第1データ格納部102からアドレス1にあるデータを出力し、第1データ供給部105で保持する。この第1データ格納部102からのデータの読み出しの制御は、読み出し制御部111により行われる。図7(C)は、第1データ供給部105に対応するシフトレジスタの模式図である。シフトレジスタの段数(ここでは6段)は、第1データ格納部102の幅(データ4個分)より広いが、行列積演算では異なる演算処理部107でデータの共有は行われない。つまり、シフトレジスタでのシフト動作は行われないので、演算処理部107の数分のデータ(本実施形態ではデータ4個分)がシフトレジスタに格納されていればよい。
続いて、ステップS605において、第2データ格納部103から第2データ供給部106にデータを出力する。本実施形態の第2データ供給部106はレジスタで構成されており、第2データ格納部103から出力されたデータを一時的に保持する。図7(D)は、第2データ供給部106に相当するレジスタの模式図である。まず、第1データ格納部103からアドレス1にあるデータを出力し、出力されたデータを第2データ供給部106で保持する。
続いて、ステップS606にて、各演算処理部107にて並列に積和演算が行われる。そして、ステップS607、S608、S609において繰り返し演算を行うことで、積和演算が継続される。つまり、第1データ格納部102からの次のデータが出力されると、第2データ格納部103から次のカーネルデータ出力することで、各演算処理部107にて並列に積和演算が行われる。この処理が、所定回数(本実施形態では行列Aの列次元数であるn回)だけ積和演算が行われることにより、最終結果が得られる。
以上の処理フローにより、本実施形態に係る行列積演算が実行される。なお、行列Aの別の水平行の行列積演算を行う場合は、ステップS604から再度実行すればよい。その他の位置の行列積演算を行う場合も同様である。行列Aの別の水平行の行列積演算を行う場合、ステップS604において、読み出し制御部111は、第1データ格納部102に対して、行列積演算の過去の積和演算のために読み出したデータに続くデータを読み出すように動作する。つまり、前回の積和演算では、アドレス1、アドレス2、…、アドレスnに格納されているデータを読み出したのに対して、今回の積和演算では、アドレスn+1、アドレスn+2、…、アドレス2nに格納されているデータを読み出す。このように、行列Aのある水平行のデータを読み出すにあたり、前回読み出したデータと今回読み出したデータに重複はない。
また、行列Bの別の垂直列の行列積演算を行う場合も、ステップS604から再度実行すればよい。この場合、ステップS604において、読み出し制御部111は、第1データ格納部102に対して、行列積演算の過去の積和演算のために読み出したデータと同じデータを読み出すように動作する。ただし、ステップS605における第2データ格納部から読み出されるデータは過去の積和演算に用いたデータと異なる。例えば、過去の積和演算で、第1データ格納部102からも第2データ格納部103からも、アドレス1、アドレス2、…、アドレスnに格納されているデータを読み出したとする。しかし、今回は、第1データ格納部102は同じデータを読み出すことを行うが、第2データ格納部103はアドレスn+1、アドレスn+2、…、アドレス2nに格納されているデータを読み出す。このように、演算種別として行列積演算が指定された場合、読み出し制御部111は、以下のように動作する。すなわち、一連の行列積演算の過程で過去に実行されたある積和演算のために、第1データ格納部102から読み出されたデータと異なるデータ、あるいは同じデータを、別の積和演算のために読み出す、というような読み出しモードで動作する。
上述の行列積演算の処理フローにおいて説明したように、第1データ供給部105では、保持しているデータに対するシフト処理は行わずに、演算処理部107にデータを供給する。そのため、演算種別として行列積演算が指示されている場合、複数の演算処理部107間でデータの共有が行われることはない。また、第2データ格納部103から読み出されるデータが過去の積和演算の際のデータと同じであれば、読み出し制御部111は、以下のように動作する。すなわち、一連の行列積演算の過程で過去に実行されたある積和演算と違うデータを別の積和演算のために読み出す、という読み出しモードで動作する。
以上のように、本実施形態の並列演算装置は、フィルタ演算では、同一のフィルタカーネルに対して、演算対象の画像データを複数の演算処理部107間で部分的に共有する。一方、行列積演算では、行列Bの同一の列ベクトルに対して、行列Aの行ベクトルのデータを共有することはない。このような演算処理の相違点に応じて、第1データ供給部105から演算処理部107へのデータ供給のモードを複数用意するとともに、第1データ格納部102から第1データ供給部105へのデータ読み出しモードも複数用意する。そして、これらのモードを切り替えることにより、異なる種類の積和演算を実行することが可能である。これにより、本実施形態によれば、最終的な出力を得るまでに複数の演算器を経由する必要がなく、複数の積和演算を高速に処理できるようになる。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。本実施形態は、上述の第1の実施形態の並列演算装置の機能に加えて、非線形変換処理部を追加したものである。なお、第1の実施形態において既に説明をした構成については同一の符号を付し、その説明は省略する。
画像認識処理では、フィルタ演算結果や積和演算結果に対して非線形変換処理を行うことがよく行われている。例えばCNN(Convolutional Neural Networks)では、フィルタ演算(コンボリューション演算)に対してシグモイド変換(あるいはハイパボリックタンジェント変換)を行うのが一般的である。また行列積で表現できるパーセプトロンの結果に対してソフトマックス関数を施して、入力データの多クラス分類を行うこともよく行われている。そのため、並列演算装置が非線形変換処理部を備えることで、より柔軟な処理に対応することが可能になり、並列演算装置としての有用性が増す。
本実施形態では、並列演算装置によりDeep Learningの処理を行う場合を例に説明を行う。Deep Learningは、現在研究開発が盛んに行われている技術分野で、一般的には、入力データ(例えば画像データ)に対して、階層的な処理(ある階層の処理結果をその上位の階層の処理の入力とする処理)を行うものを指す。ここでは、典型的なDeep Learningとして、画像からの特徴量抽出処理にCNNを用い、抽出した特徴量を用いた識別処理にパーセプトロンに代表されるような行列積を用いるような構成を取り上げ、その演算を並列演算装置で行う例について説明する。この特徴量抽出処理は、CNNを何度も繰り返す多階層処理であることが多く、また識別処理も全結合の多階層のパーセプトロンが用いられることがある。
ここで、図8を用いてDeep Learningの演算例について説明する。図8は、入力層(入力画像)801に対してCNNにより特徴抽出を行い、特徴量807を取得し、その特徴量に基づき識別処理を行い、識別結果814を得るような処理を示している。入力画像801から特徴量807を取得するまでにCNNを何度も(ここでは3度)繰り返している。また、特徴量807に対して全結合のパーセプトロン処理を行い、最終的な識別結果814を得ている。
まず、前半のCNN処理について説明する。図8において、入力層801は、画像データに対してCNN演算を行う際の、ラスタスキャンされた所定サイズの画像データを示す。特徴面803a〜803cは、第1段目の階層808の特徴面を示す。特徴面とは、所定の特徴抽出フィルタ(コンボリューションフィルタ演算および非線形処理)の検出結果を示すデータ面である。ラスタスキャンされた画像データに対する検出結果であるため、検出結果も面で表される。特徴面803a〜803cは、入力層801に対するコンボリューションフィルタ演算および非線形処理により生成される。例えば、特徴面803aは、フィルタカーネル8021aを用いたコンボリューションフィルタ演算および演算結果の非線形変換により得られる。なお、図8中のフィルタカーネル8021bおよび8021cは、各々特徴面803bおよび803cを生成する際に使用されるフィルタカーネルである。
次に、第2段目の階層809の特徴面805aを生成する演算について説明する。特徴面805aは、前段の階層808の3つの特徴面803a〜803cと結合している。そのため、特徴面805aのデータを算出する場合、特徴面803aに対してはフィルタカーネル8041aで示すカーネルを用いたコンボリューションフィルタ演算を行い、この結果を保持する。同様に、特徴面803bおよび803cに対しては、各々フィルタカーネル8042aおよび8043aのコンボリューションフィルタ演算を行い、これらの結果を保持する。これらの3種類のフィルタ演算の終了後、それぞれの結果を加算し、非線形変換処理を行う。以上の処理を画像全体に対して処理することにより、特徴面805aを生成する。
同様に、特徴面805bの生成の際には、前段の階層808の特徴面803a〜803cに対するフィルタカーネル8041b、8042bおよび8043bによる3つのコンボリューションフィルタフィルタ演算を行う。また、第3段目の階層810の特徴面807の生成の際には、前段の階層809の特徴面805a〜805bに対するフィルタカーネル8061および8062による2つのコンボリューションフィルタフィルタ演算を行う。
次に、後半のパーセプトロン処理について説明する。図8には、2階層のパーセプトロンを示す。パーセプトロンは、入力特徴量のそれぞれ要素に対する重み付き和を非線形変換したものである。したがって、特徴量807に対して行列積を行い、その結果に非線形変換を行った結果813を得ることができる。さらに同様の処理を繰り返せば、最終的な識別結果814を得ることができる。
図10は、本実施形態の並列演算装置のブロック図である。並列演算装置101は、第1の実施形態で説明した構成に加えて、演算結果格納部1001および非線形変換処理部1002を備える。なお、本実施形態の演算種別切り替え部110は非線形変換切り替え信号を出力し、非線形変換切り替え信号により、非線形変換処理を実行するか否か、実行する場合にはどのような非線形変換を行うかを、非線形変換処理部1002に対して指示する。非線形変換切り替え信号により非線形変換を行うことを指示した場合、並列演算装置101は、最終的な演算結果として非線形変換された積和演算結果を出力する。なお、演算種別切り替え部110に非線形変換の処理が設定されれば、並列演算装置101は、非線形変換以外の結果が出力でき、例えば、第1の実施形態のように積和演算結果を出力することができる。
演算結果格納部1001は、複数の演算処理部107から出力される複数の積和演算結果を一時格納し、順次、非線形変換処理部1002に出力する機能を有する。演算結果格納部1001は、ロード可能なシフトレジスタ等で構成される。
非線形変換処理部1002は、入力される積和演算結果に対して、例えばシグモイド変換等の非線形変換処理を行う。非線形変換は、並列演算装置の格納手段に格納されたルックアップテーブルを用いること等により実現される。非線形変換処理部1002には演算種別切り替え部110から非線形変換切り替え信号が入力され、入力される非線形変換切り替え信号に基づいてルックアップテーブルを書き換えることで、種々の非線形変換処理が実行される。また、非線形変換切り替え信号により非線形変換を行わないという指示が入力された場合には、非線形変換処理部1002による非線形変換処理はスキップされる。
本実施形態の並列演算装置101では、演算処理部107により算出された積和演算結果を演算結果格納部1001で一度保持してから、非線形変換処理部1002に入力している。これは、一般に非線形変換処理部1002は回路規模が大きく、複数用意することが困難な場合が多いためである。複数の積和演算結果を一つの非線形変換処理部1002で逐次処理するために、並列演算装置101に演算結果格納部1001を備えるような構成を例示している。しかしながら、非線形変換処理部1002を演算処理部107と同数用意できるのであれば、演算結果格納部1001は必ずしも必要としない。
続いて、上述の並列演算装置101を備える本実施形態の画像処理装置について説明する。図11は、本実施形態の画像処理装置200のブロック図である。画像処理装置200は、画像入力部20、並列演算装置101、ブリッジ24、前処理部25、DMAC(Direct Memory Access Controller)26およびRAM21を備える。さらに、CPU(Central Processing Unit)27、ROM28およびRAM29を備えている。そして、画像入力部20、並列演算装置101、前処理部25およびDMAC26は画像バス23を介して互いに接続され、CPU27、ROM28およびRAM29はCPUバス30を介して互いに接続されている。また、ブリッジ24により画像バス23とCPUバス30との間のデータ転送が可能となっている。
画像入力部20は、光学系、CCD(Charge−Coupled Devices)またはCMOS(Complementary Metal Oxide Semiconductor)センサ等の光電変換デバイス等により構成されている。さらに、センサを制御するドライバー回路、ADコンバータ、各種画像補正を司る信号処理回路およびフレームバッファ等も設けられている。画像入力部20は、カメラ以外の装置、媒体から入力される画像データや、画像処理装置200に予め保存された画像データを対象画像として処理するものであってもよい。並列演算装置101は、階層的CNN演算と行列積演算とを実行する。RAM21は、並列演算装置101の演算作業バッファとして使用される。
前処理部25は、画像認識処理を効果的に行うための種々の前処理を行う。例えば、色変換処理およびコントラスト補正処理等の画像データ変換処理をハードウェアで処理する。DMAC26は、画像バス23上の画像入力部20、並列演算装置101および前処理部25とCPUバス30との間のデータ転送を司る。ROM(Read Only Memory)28は、CPU27の動作を規定する命令およびパラメータデータを格納しており、CPU27は、これらを読み出しつつ画像処理装置200の全体の動作を制御する。その際、RAM29がCPU27の作業領域として使用される。なお、CPU27はブリッジ24を介して画像バス23上のRAM21にアクセスすることも可能である。
前述したように、Deep LearningはCNNを何層か繰り返すことで特徴量を抽出し、抽出した特徴量に基づいて識別処理を行い、最終結果を得る処理である。本実施形態の画像処理装置200において、Deep Learningを実行する場合には、まず並列演算装置101に対して演算種別設定としてCNNを設定する。CNNは、コンボリューションフィルタ演算の結果に対して非線形処理(ここではシグモイド変換とする)を施す演算である。そのため、演算種別切り替え部110は、演算種別信号としてフィルタ演算という情報を出力するとともに、非線形切り替え信号としてシグモイド変換という情報を出力する。
演算種別信号としてフィルタ演算という情報が出力された場合の、並列演算装置101の処理の詳細は第1の実施形態で既に説明しているので、ここでは割愛する。第1の実施形態のようにして算出されたフィルタ演算結果は演算結果格納部1001に出力され、それに対して非線形変換が施されて、その結果が出力される。このような非線形処理付きのフィルタ演算をフィルタカーネルを変更しながら繰り返すことでDeep Learningによる特徴量(ベクトルデータ)の抽出が行われる。
続いて、出力された特徴量(ベクトルデータ)に対して識別処理を行う。この場合、並列演算装置101に対して演算種別設定として識別処理を設定する。本実施形態で行われる識別処理は、特徴量を用いた行列積演算の結果に対して非線形処理(ここではソフトマックス変換とする)を施す演算であるので、演算種別切り替え部110から演算種別信号として行列積演算という情報が出力される。また、非線形切り替え信号としてソフトマックス変換という情報が出力される。
演算種別信号として行列積演算という情報が出力された場合の、並列演算装置101の処理の詳細は第1の実施形態で既に説明しているので、ここでは割愛する。第1の実施形態のようにして算出された行列積演算結果を演算結果格納部1001に出力し、それに非線形変換を施すことにより、識別結果が出力される。この識別結果を用いて最終的な結果(例えば入力画像中に存在する物体のカテゴリ)が得られる。
以上のように、本実施形態の画像処理装置200は、並列演算装置101を備え、種々の演算から構成されているDeep Learningの処理を単一の並列演算装置で実行することが可能になる。
[その他の実施形態]
上述の説明では、第1データ供給部105をシフトレジスタにより構成する例について説明したが、本発明の第1データ供給部105はシフトレジスタに限られるものではない。同一のデータを異なるタイミングで異なる演算処理部107に供給でき、かつ演算種別信号に応じて同一のデータが複数の演算処理部107に供給されることの許可、禁止を切り替えられる手段であれば、第1データ供給部105の構成として採用できる。例えば、複数のレジスタの出力をセレクタで選択するような構成とすることができる。この場合、セレクタの制御信号を順次切り替えることで、シフトレジスタと同様の動作をさせることができる。また、セレクタの信号を固定することで、同一のデータを複数の演算処理部107に供給することのないように制御することもできる。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 並列演算装置
102 第1データ格納部
103 第2データ格納部
104 データ供給制御部
105 第1データ供給部
106 第2データ供給部
107 演算処理部
108 乗算器
109 累積加算器
110 演算種別切り替え部
111 読み出し制御部

Claims (12)

  1. 第1データと第2データとに基づいて並列して演算を行う複数の演算処理手段と、
    前記第1データを前記複数の演算処理手段に供給するための第1供給手段と、
    前記第2データを前記複数の演算処理手段に供給するための第2供給手段と、
    前記複数の演算処理手段それぞれに対して同一タイミングで内容の異なる前記第1データを供給するように前記第1供給手段を制御し、前記複数の演算処理手段それぞれに対して同一タイミングで内容が同一の第2データを供給するように前記第2供給手段を制御する供給制御手段と、
    を有し、
    前記供給制御手段は、
    前記複数の演算処理手段の間で内容が同一の前記第1データが異なるタイミングで共有されるように前記第1データを供給させる第1供給モードと、
    前記複数の演算処理手段に、複数のタイミングで、それぞれ内容が異なる前記第1データを供給させる第2供給モードと、
    を実行することを特徴とする並列演算装置。
  2. 前記第1データを格納する第1格納手段と、
    前記第1格納手段から前記第1供給手段への前記第1データの読み出しを制御する読み出し制御手段と、を更に有し、
    前記読み出し制御手段は、
    過去の演算において前記第1格納手段から読み出した前記第1データの一部分を重複して再度読み出す第1読み出しモードと、
    過去の演算において前記第1格納手段から読み出した前記第1データを重複せずに読み出す第2読み出しモードと、
    を実行することを特徴とする請求項1に記載の並列演算装置。
  3. 前記第2データを格納する第2格納手段を更に有し、
    前記供給制御手段は、
    前記第2格納手段から読み出された前記第2データを受け、前記複数の演算処理手段それぞれに対して同一タイミングで内容が同一の第2データを供給するように前記第2供給手段を制御する
    ことを特徴とする請求項2に記載の並列演算装置。
  4. 前記第1供給手段はシフトレジスタで構成され、
    前記第1供給手段は、
    前記第1供給モードでは、前記第1格納手段から読み出された前記第1データをロードし、当該ロードした第1データを所定の回数だけシフトしながら前記複数の演算処理手段に供給し、
    前記第2供給モードでは、前記第1格納手段から読み出された第1データをロードし、当該ロードした第1データをシフトすることなく前記複数の演算処理手段に供給する
    ことを特徴とする請求項3に記載の並列演算装置。
  5. 演算の種別に応じて、前記供給制御手段と前記読み出し制御手段とを制御する演算種別切り替え手段を更に有し、
    前記演算種別切り替え手段は、
    第1演算を行う場合に、前記供給制御手段に前記第1供給モードを実行させるとともに、前記読み出し制御手段に前記第1読み出しモードを実行させ、
    第2演算を行う場合に、前記供給制御手段に前記第2供給モードを実行させるとともに、前記読み出し制御手段に前記第2読み出しモードを実行させる、
    ことを特徴とする請求項2から4のいずれか1項に記載の並列演算装置。
  6. 前記第1演算はフィルタ演算であることを特徴とする請求項5に記載の並列演算装置。
  7. 前記第2演算は行列積演算であることを特徴とする請求項5または6に記載の並列演算装置。
  8. 前記複数の演算処理手段それぞれの演算結果に対して非線形変換を行う変換処理手段を更に有し、
    前記演算種別切り替え手段は、前記演算の種別に応じて前記変換処理手段に非線形変換を行うか否かを指示すること特徴とする請求項5から7のいずれか1項に記載の並列演算装置。
  9. 前記演算種別切り替え手段は、前記変換処理手段に非線形変換を行わせる場合、当該非線形変換の種別を指示すること特徴とする請求項8に記載の並列演算装置。
  10. 前記演算処理手段は、乗算器と累積加算器とを有することを特徴とする請求項1から9のいずれか1項に記載の並列演算装置。
  11. 請求項1から10のいずれか1項に記載の並列演算装置を有し、
    当該並列演算装置を用いて処理すべき画像処理を行うことを特徴とする画像処理装置。
  12. 第1データと第2データとに基づいて複数の演算処理手段が並列して演算を行うステップと、
    第1供給手段から前記第1データを前記複数の演算処理手段に供給するステップと、
    第2供給手段から前記第2データを前記複数の演算処理手段に供給するステップと、
    前記複数の演算処理手段それぞれに対して同一タイミングで内容の異なる前記第1データを供給するように前記第1供給手段を制御し、前記複数の演算処理手段それぞれに対して同一タイミングで内容が同一の第2データを供給するように前記第2供給手段を制御するステップと、を有し、
    前記複数の演算処理手段の間で内容が同一の前記第1データが異なるタイミングで共有されるように前記第1データを供給させる第1供給モードと、
    前記複数の演算処理手段に、複数のタイミングで、それぞれ内容が異なる前記第1データを供給させる第2供給モードと、
    を実行することを特徴とする並列演算方法。
JP2015144411A 2015-07-21 2015-07-21 並列演算装置、画像処理装置及び並列演算方法 Active JP6532334B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015144411A JP6532334B2 (ja) 2015-07-21 2015-07-21 並列演算装置、画像処理装置及び並列演算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015144411A JP6532334B2 (ja) 2015-07-21 2015-07-21 並列演算装置、画像処理装置及び並列演算方法

Publications (2)

Publication Number Publication Date
JP2017027314A true JP2017027314A (ja) 2017-02-02
JP6532334B2 JP6532334B2 (ja) 2019-06-19

Family

ID=57950520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015144411A Active JP6532334B2 (ja) 2015-07-21 2015-07-21 並列演算装置、画像処理装置及び並列演算方法

Country Status (1)

Country Link
JP (1) JP6532334B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019069618A1 (ja) * 2017-10-05 2019-04-11 富士フイルム株式会社 医療画像処理装置及び機械学習装置
WO2019077933A1 (ja) * 2017-10-18 2019-04-25 三菱電機株式会社 演算回路および演算方法
JP2019095862A (ja) * 2017-11-17 2019-06-20 株式会社東芝 演算処理装置
US11010135B2 (en) 2017-12-06 2021-05-18 Fujitsu Limited Arithmetic processing device and control method of arithmetic processing device
JP2022141064A (ja) * 2021-03-15 2022-09-29 オムロン株式会社 処理装置、処理方法、およびプログラム
US12190227B2 (en) 2018-05-11 2025-01-07 Olympus Corporation Arithmetic processing device for performing image recognition

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02234283A (ja) * 1989-03-08 1990-09-17 Mitsubishi Electric Corp 空間積和演算回路
JPH0535867A (ja) * 1990-09-06 1993-02-12 Matsushita Electric Ind Co Ltd 画像処理装置
JPH05503800A (ja) * 1990-08-20 1993-06-17 イーストマン コダック カンパニー カラー画像処理用シングル・チップ、モード切替可能マトリックス・マルチプライア及びコンボルバー
JP2005235004A (ja) * 2004-02-20 2005-09-02 Altera Corp 乗算器−累算器ブロックモード分割
JP2009087252A (ja) * 2007-10-02 2009-04-23 Canon Inc 画像処理装置、画像処理方法及びプログラム
JP2010134697A (ja) * 2008-12-04 2010-06-17 Canon Inc コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置
WO2010082431A1 (ja) * 2009-01-15 2010-07-22 日本電気株式会社 無線通信システムにおける同期処理回路、同期処理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02234283A (ja) * 1989-03-08 1990-09-17 Mitsubishi Electric Corp 空間積和演算回路
JPH05503800A (ja) * 1990-08-20 1993-06-17 イーストマン コダック カンパニー カラー画像処理用シングル・チップ、モード切替可能マトリックス・マルチプライア及びコンボルバー
JPH0535867A (ja) * 1990-09-06 1993-02-12 Matsushita Electric Ind Co Ltd 画像処理装置
JP2005235004A (ja) * 2004-02-20 2005-09-02 Altera Corp 乗算器−累算器ブロックモード分割
JP2009087252A (ja) * 2007-10-02 2009-04-23 Canon Inc 画像処理装置、画像処理方法及びプログラム
JP2010134697A (ja) * 2008-12-04 2010-06-17 Canon Inc コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置
WO2010082431A1 (ja) * 2009-01-15 2010-07-22 日本電気株式会社 無線通信システムにおける同期処理回路、同期処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
清木泰,外5名: "密行列専用計算機GENERAL-1の開発", 情報処理学会研究報告, vol. Vol.95,No.29,(95-ARC-111), JPN6019014518, 10 March 1995 (1995-03-10), JP, pages 65 - 72, ISSN: 0004023089 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019069618A1 (ja) * 2017-10-05 2019-04-11 富士フイルム株式会社 医療画像処理装置及び機械学習装置
JPWO2019069618A1 (ja) * 2017-10-05 2020-10-15 富士フイルム株式会社 医療画像処理装置及び機械学習装置
WO2019077933A1 (ja) * 2017-10-18 2019-04-25 三菱電機株式会社 演算回路および演算方法
CN111201525A (zh) * 2017-10-18 2020-05-26 三菱电机株式会社 运算电路以及运算方法
JPWO2019077933A1 (ja) * 2017-10-18 2020-10-22 三菱電機株式会社 演算回路および演算方法
US11281376B2 (en) 2017-10-18 2022-03-22 Mitsubishi Electric Corporation Operation circuit and method of operation for use in operations that are performed in parallel using multiple operators
JP2019095862A (ja) * 2017-11-17 2019-06-20 株式会社東芝 演算処理装置
US11010135B2 (en) 2017-12-06 2021-05-18 Fujitsu Limited Arithmetic processing device and control method of arithmetic processing device
US12190227B2 (en) 2018-05-11 2025-01-07 Olympus Corporation Arithmetic processing device for performing image recognition
JP2022141064A (ja) * 2021-03-15 2022-09-29 オムロン株式会社 処理装置、処理方法、およびプログラム

Also Published As

Publication number Publication date
JP6532334B2 (ja) 2019-06-19

Similar Documents

Publication Publication Date Title
US10210419B2 (en) Convolution operation apparatus
US11068776B2 (en) Convolutional neural network based data processing apparatus, method for controlling the same, and storage medium storing program
JP6532334B2 (ja) 並列演算装置、画像処理装置及び並列演算方法
JP5376920B2 (ja) コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置
US11699067B2 (en) Arithmetic processing apparatus and control method therefor
JP6314628B2 (ja) 演算処理装置
JP6365258B2 (ja) 演算処理装置
JP6493163B2 (ja) 粗密探索方法および画像処理装置
JP7414930B2 (ja) 情報処理装置、情報処理方法
US11704546B2 (en) Operation processing apparatus that calculates addresses of feature planes in layers of a neutral network and operation processing method
US11347430B2 (en) Operation processing apparatus that executes hierarchical calculation, operation processing method, and non-transitory computer-readable storage medium
US20220392207A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
KR20230013989A (ko) 이미지 처리 장치, 이의 동작 방법 및, 이를 포함하는 이미지 처리 시스템
JP7631289B2 (ja) データ処理装置及びその方法
JP2862388B2 (ja) 超高速画像処理システムのフィルタリング処理方式
JP6929734B2 (ja) 判別演算装置、判別演算方法及びプログラム
JP2658346B2 (ja) 並列画像処理装置
JP2024078341A (ja) データ処理装置及びその方法
CN117934273A (zh) 基于超分辨率处理图像的方法
JPS63118987A (ja) 循環並列画像処理装置
CN116416195A (zh) 图像处理方法、计算机设备和计算机可读存储介质
JP2018036689A (ja) ピクセルベース特徴量抽出回路
KR20170068774A (ko) 적분 영상을 사용하지 않는 surf 특징점 추출 방법 및 장치
JPH09114967A (ja) 画像処理方法及びその装置
JPH04337889A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190319

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: 20190423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190521

R151 Written notification of patent or utility model registration

Ref document number: 6532334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151