JP7293157B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP7293157B2
JP7293157B2 JP2020046914A JP2020046914A JP7293157B2 JP 7293157 B2 JP7293157 B2 JP 7293157B2 JP 2020046914 A JP2020046914 A JP 2020046914A JP 2020046914 A JP2020046914 A JP 2020046914A JP 7293157 B2 JP7293157 B2 JP 7293157B2
Authority
JP
Japan
Prior art keywords
layer
input
rnn
column
value
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
JP2020046914A
Other languages
English (en)
Other versions
JP2021149333A (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.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage 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 Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2020046914A priority Critical patent/JP7293157B2/ja
Priority to US16/992,506 priority patent/US20210295142A1/en
Priority to CN202010893923.XA priority patent/CN113409182A/zh
Publication of JP2021149333A publication Critical patent/JP2021149333A/ja
Application granted granted Critical
Publication of JP7293157B2 publication Critical patent/JP7293157B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明の実施形態は、画像処理装置に関する。
画像データに対する認識処理などを、ニューラルネットワークにより実現する技術がある。例えば、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN。以下、CNNという)におけるカーネル演算は、画像の画像データ全体をDRAMなどのオフチップメモリ中のフレームバッファに保持した後に、その保持された画像データ全体に対して所定サイズのウインドウをスライドさせながら実行される。
そのため、画像データ全体をオフチップメモリに格納すること、及びカーネル演算毎に行われる特徴マップの書き込み及び読み出しのためのオフチップメモリへのアクセスに時間が掛かってしまうことから、CNN演算のレイテンシは、大きい。画像処理プロセッサ(Image Signal Processor)のような装置では、レイテンシが小さいことが望ましい。
CNN演算のレイテンシを小さくするために、フレームバッファのサイズよりも小さいラインバッファを用いることもできるが、カーネル演算のためのラインバッファへのアクセスが多く発生するため、高速アクセスが可能なメモリをラインバッファに用いる必要があり、画像処理装置のコスト高になる。
特開2019-46453号公報
そこで、実施形態は、レイテンシが小さくかつ低コストで実現できる画像処理装置を提供することを目的とする。
実施形態の画像処理装置は、画像データが入力される第1のプロセッサと、前記第1のプロセッサ内に設けられたバッファと、前記画像データの複数の画素データと、前記バッファに格納された再帰型ニューラルネットワーク演算の演算結果の少なくとも一方を用いて、前記再帰型ニューラルネットワーク演算を行う、前記第1のプロセッサ内に設けられた第2のプロセッサと、を有する。
実施形態に関わる画像処理装置のブロック図である。 実施形態に関わる、画像処理プロセッサの処理内容を説明するための図である。 実施形態に関わる、画像処理プロセッサの構成を示すブロック図である。 実施形態に関わる、再帰型ニューラルネットワークセルプロセッサの構成図である。 実施形態に関わる、入力画像データからストリームデータへの変換を説明するための図である。 実施形態に関わる、入力画像データに含まれる複数の画素値に対する再帰型ニューラルネットワークセルの処理順番を説明するための図である。 変形例1に関わる、各行の最終列の出力値に対するラインエンドセルの処理順番を説明するための図である。 変形例2に関わる、入力画像データに含まれる複数の画素値に対する再帰型ニューラルネットワークセルの処理順番を説明するための図である。 畳み込みニューラルネットワークにおける受容野(Receptive Field)を説明するための図である。 実施形態における受容野を説明するための図である。 畳み込みニューラルネットワークと再帰型ニューラルネットワークにおける受容野の範囲の違いを説明するための図である。 変形例2に関わる、再帰型ニューラルネットワークセルの入力ステップを説明するための図である。 変形例2に関わる、受容野の設定範囲を説明するための図である。
以下、図面を参照して実施形態を説明する。
(構成)
図1は、本実施形態に関わる画像処理装置のブロック図である。本実施形態の画像処理装置が用いられる画像処理システム1は、カメラ装置からの画像データを処理して、画像認識などの処理を行い、その処理結果の情報を出力する。
画像処理システム1は、画像処理プロセッサ(Image Signal Processor:ISP。以下、ISPという)11と、オフチップメモリ12と、プロセッサ13を含む。
ISP11は、MIPI(Mobile Industry Processor Interface)CSI(Camera Serial Interface)規格などに沿ったインターフェースにより、カメラ装置(図示せず)と接続されている。ISP11は、カメラ装置のイメージセンサ14からの撮像信号を受けて、撮像信号に対して所定の処理を行い、所定の処理の結果データを出力する。すなわち、プロセッサであるISP11には、画像データの複数の画素データがシーケンシャルに入力される。ここでは、ISP11は、撮像素子であるイメージセンサ14からの撮像信号(以下、入力画像データという)IGを入力して、結果データとして、画像データ(以下、出力画像データという)OGを出力する。例えば、ISP11は、入力画像データIGに対してノイズ除去などを行い、ノイズなどのない出力画像データOGを出力する。
なお、イメージセンサ14からの入力画像データIGの全てが、ISP11に入力されて、入力画像データIGの全てに対して、後述するRNN演算が実行されるようにしてもよいし、入力画像データIGの一部に対して、後述するRNN演算が実行されるようにしてもよい。
ISP11は、ステートバッファ21と、再帰型ニューラルネットワーク(Recurrent Neural Network:RNN。以下、RNNという)による所定の演算を繰り返しながら実行するRNNセルプロセッサ22と、を含む。ISP11の構成については、後述する。
オフチップメモリ12は、DRAMなどのメモリである。ISP11において生成され、ISP11から出力される出力画像データOGは、オフチップメモリ12に格納される。
プロセッサ13は、オフチップメモリ12に格納された出力画像データOGに基づいて認識処理などを行う。プロセッサ13は、認識処理などによる結果データRDを出力する。よって、ISP11、オフチップメモリ12及びプロセッサ13は、例えば、画像に対して画像認識処理などを行う画像認識装置(図1の点線で示す)2を構成する。
図2は、ISP11の処理内容を説明するための図である。図2に示すように、ISP11は、イメージセンサ14からの入力画像データIGに対して、ノイズ除去などの所定の処理を、RNNセルプロセッサ22(後述)を用いて行い、出力画像データOGを生成する。
例えば、画像認識装置2が、プロセッサ13により出力画像データOGに基づいて認識処理などを実行するとき、出力画像データOGはノイズが除去されたデータであるので、プロセッサ13における認識処理などの精度の向上が期待できる。
図3は、ISP11の構成を示すブロック図である。図4は、RNNセルプロセッサ22の構成図である。ISP11は、ステートバッファ21、RNNセルプロセッサ22及びピクセルストリームデコーダ23を含む。ピクセルストリームデコーダ23は、入力画像データIGをストリームデータSDに変換してRNNセルプロセッサ22へ出力する回路である。
図5は、入力画像データIGからストリームデータSDへの変換を説明するための図である。ここでは、説明を簡単にするために、図5では、入力画像データIGの画像は、6行の画像データからなる。各行は、複数の画素データを含む。すなわち、画像は、複数行(ここでは、6行)で複数列の画素データからなる。
ピクセルストリームデコーダ23は、イメージセンサ14からの入力画像データIGを受信すると、受信した入力画像データIGの複数の画素データを所定の順番のストリームデータSDに変換する。
ピクセルストリームデコーダ23は、1行目の1列目の画素(すなわち最上行の左端の画素)から1行目の最終列の画素(すなわち最上行の右端の画素)の行データL1、行データL1に続いて2行目の1列目の画素(すなわち上から2行の左端の画素)から2行目の最終列の画素(すなわち2行の右端の画素)の行データL2、・・・、最終行目である6行目の1列目の画素(すなわち最下行の左端の画素)から6行目の最終列の画素(すなわち最下行の右端の画素)のデータ列LLまでの複数の画素データからなるストリームデータSDを、入力画像データIGから生成して出力する。
よって、ピクセルストリームデコーダ23は、入力画像データIGをストリームデータSDに変換してRNNセルプロセッサ22へ出力する回路である。
図4に示すように、RNNセルプロセッサ22は、1つのRNNセル31を含むプロセッサである。RNNセル31は、単純RNNセル(Simple RNN Cell)であり、2つの入力値IN1,IN2に対して、所定の演算を行って得られた隠れ状態(hidden state)を、2つの出力値OUT1,OUT2として出力するハードウエア回路である。
なお、ここでは、RNNセルプロセッサ22は、1つのRNNセル31を含んでいるが、2以上のRNNセル31を含んでいてもよい。あるいは、RNNセル31の数は、後述するレイヤの数と同じでもよい。
RNNセル31の入力値IN1は、il,tである。lは、レイヤを示し、tは、ステップを示す。RNNセル31の入力値IN2は、隠れ状態hl,t-1である。RNNセル31の出力値OUT1は、隠れ状態hl,tであり、次のレイヤ(l+1)のステップtにおける入力値IN1(すなわちil+1,t)となる。RNNセル31の出力値OUT2は、隠れ状態hl,tであり、同じレイヤの次のステップ(t+1)のRNNセル31の入力値IN2となる。
ステップtはタイムステップとも呼ばれ、RNNにシーケンシャルデータが1つ入力され隠れ状態が更新されるごとに増える数字であり、隠れ状態や入出力のインデックスとして割り当てられ、現実の時刻とは必ずしも同一にはならない仮想的な単位である。
図3に示すように、RNNセル31は、RNN演算に用いる各種パラメータ(点線で示す)を、オフチップメモリ12から読み出し、RNNセル31の内部に保持することが可能となっている。パラメータは、後述するレイヤ毎の各RNN演算における重みパラメータw及びバイアス値bなどを含む。
なお、RNNセル31は、中央処理装置(CPU)により実行されるソフトウエアにより実現してもよい。
RNNセル31は、後述するレイヤ毎に応じた動作を実行するが、最初のレイヤ(第1レイヤ)では、ストリームデータSDが、RNNセル31の入力値IN1として順番に入力される。RNNセル31は、所定の演算を行い、演算結果である隠れ状態hl,tを出力値OUT1、OUT2を生成してステートバッファ21に出力する。
各レイヤにおいて得られた各出力値OUT1,OUT2は、ステートバッファ21中の所定の記憶領域に格納される。ステートバッファ21は、例えばラインバッファである。
ステートバッファ21は、ISP11内に設けられているので、RNNセル31は、ステートバッファ21へのデータの書き込み及び読み出しを高速に行うことできる。RNNセル31は、所定の演算を行って得られた隠れ状態hは、ステートバッファ21に格納する。ステートバッファ21は、ラインバッファを含むSRAMであり、少なくともストリームデータの数分のデータを格納するバッファである。
RNNセル31は、複数のレイヤ演算を実行可能である。ここでは、RNNセル31は、ストリームデータSDを入力として所定の演算を行う第1レイヤ演算と、第1レイヤにおける所定の演算の演算結果である隠れ状態hを入力として所定の演算を行う第2レイヤ演算と、第2レイヤにおける所定の演算の演算結果である隠れ状態hを入力として所定の演算を行う第3レイヤ演算と、等々を実行することができる。
RNNセル31における所定の演算について説明する。l(エル)番目のレイヤ演算では、RNNセル31は、あるステップtにおいて、入力値IN1を画素データiとし、所定の演算としての非線形型関数である活性化関数tanhを用いて、出力値OUT1,OUT2を出力する。出力値OUT1,OUT2は、隠れ状態htである。ここでは、図4に示すように、隠れ状態hl,tは、次の式(1)により算出される。
l,t=tanh(wl,ihl,t+wl,hhl,t-1+b) ・・・(1)
ここで、wl,ih及びwl,hhは、それぞれ次の式(2)、(3)で表される重みパラメータである。
Figure 0007293157000001
Figure 0007293157000002
ここで、Re×d及びRe×eは、e行d列及びe行e列の実行列による空間であり、いずれも実数による行列であることを示している。
また、入力値(画素データil,t)は及び出力値(隠れ状態hl,t)は、それぞれ次の式(4)、(5)で表される。
Figure 0007293157000003
Figure 0007293157000004
ここで、Rは、d次元の実数空間を示し、Rは、e次元の実数空間を示し、いずれも実数によるベクトルであることを示している。
上述した非線形型関数の各重みパラメータの値は、RNNの学習により最適化される。
画素データil,tは、入力ベクトルであり、例えばRGB画像が入力される場合は、3次元ベクトルであり、中間特徴マップの場合は、そのチャンネル数である。隠れ状態hl,tは、出力ベクトルである。d,eは、それぞれ、入力ベクトルと出力ベクトルの次元を示す。lは、レイヤ番号であり、シーケンシャルデータのインデックスである。bは、バイアス値である。
なお、図4では、RNNセル31は、入力値IN1と、前の画素からの出力値を入力値IN2とから、同じ値の2つの出力値OUT1、OUT2を生成して、出力しているが、RNNセル31は、互いに異なる2つの出力値OUT1,OUT2を出力するようにしてもよい。
第2レイヤ演算では、RNNセル31は、入力値IN1を第1レイヤの出力値OUT1とし、所定の演算としての非線形型関数である活性化関数tanhを用いて、出力値OUT1,OUT2を出力する。
第2レイヤ演算の次にさらに第3、第4等のレイヤ演算が行われるときは、第3、第4等のレイヤ演算では、第2レイヤ演算と同様に、RNNセル31は、入力値IN1を前のレイヤの出力値OUT1とし、所定の演算としての非線形型関数である活性化関数tanhを用いて、出力値OUT1,OUT2を出力する。
(作用)
次に、ISP11の動作について説明する。ここでは、3つのレイヤを有する例を説明する。上述したように、ピクセルストリームデコーダ23は、入力画像データIGを、第1行目L1の左端の画素から右端の画素までの複数の画素データ、第2行目L2の左端の画素から右端の画素までの複数の画素データ、・・・、最終行目のデータ列LL(すなわちL6)の左端の画素から右端の画素までの複数の画素データの順(矢印Aで示す順番)に並べたストリームデータSDを出力する(図5)。
第1レイヤでは、RNNセル31への最初の入力値IN1は、ストリームデータSDの最初のデータ(すなわち入力画像データIGの1行目の1列目の画素)であり、入力値IN2は、所定のデフォルト値である。
第1レイヤでは、RNNセル31は、最初のステップt1で、2つの入力値IN1,IN2が入力されると、所定の演算を実行して、出力値OUT1,OUT2を出力する。出力値OUT1,OUT2は、ステートバッファ21中の所定の記憶領域に格納される。第1レイヤのステップt1の出力値OUT1は、次の第2レイヤの最初のステップt1で、ステートバッファ21から読み出されて、RNNセル31の入力値IN1として用いられる。第1レイヤにおいて、ステップt1における出力値OUT2は、次のステップt2における入力値IN2として用いられる。
以下同様にして、第1レイヤにおいて、その後の各ステップにおける出力値OUT1は、次の第2レイヤにおいて、対応するステップにおいて、ステートバッファ21から読み出されて、RNNセル31の入力値IN1として用いられる。第1レイヤにおいて、その後の各ステップにおける出力値OUT2は、次のステップにおいて、ステートバッファ21から読み出されて、RNNセル31の入力値IN2として用いられる。
第1レイヤにおけるストリームデータSDの各画素データに対する所定の演算が終了すると、第2レイヤの処理が実行される。
第1レイヤにおける1つ目の画素データに対する所定の演算が終了すると、第2レイヤの1つ目の画素に対応する処理が実行される。
第2レイヤでは、第1レイヤにおける最初から最後のステップまでに得られる複数の出力値OUT1が、入力値IN1としてRNNセル31にシーケンシャルに入力される。第1レイヤにおける処理と同様に、第1レイヤの第1のステップから最後のステップまでの順番で、第2レイヤにおいてRNNセル31が所定の演算を実行する。
第2レイヤにおける第1レイヤの各出力値OUT1に対する所定の演算が終了すると、第3レイヤの処理が実行される。
第2レイヤにおける1つ目の画素データに対する所定の演算が終了すると、第3レイヤの1つ目の画素に対応する処理が実行される。
第3レイヤでは、第2レイヤにおける最初から最後のステップまでに得られる複数の出力値OUT1が、入力値IN1としてRNNセル31にシーケンシャルに入力される。第2レイヤにおける処理と同様に、第2レイヤの第1のステップから最後のステップまでの順番で、第3レイヤにおいてRNNセル31が所定の演算を実行する。
図6は、入力画像データIGに含まれる複数の画素値に対するRNNセル31の処理順番を説明するための図である。図6は、複数のステップにおける、RNNセル31に入力される入力値IN1,IN2とRNNセル31から出力される出力値OUT1,OUT2の流れを示す。第1レイヤではRNNセル31はRNNCell1として示され、第2レイヤではRNNセルはRNNCell2として示され、第3レイヤではRNNセルはRNNCell3として示されている。
図6では、入力画像データIG中の行yの列xとその前の列(x-1)、(x-2)の画素データに対する処理の流れのみが示されている。
図6に示すように、第1レイヤ(レイヤ1)の列(x-2)におけるRNNCell1の入力値IN1は、ステップtにおいて入力された画素データである。第1レイヤの列(x-2)におけるRNNCell1の入力値IN2は、第1レイヤの列(x-3)のRNNCell1の出力OUT2である。第1レイヤの列(x-2)におけるRNNCell1の出力値OUT1は、第2レイヤの列(x-2)におけるRNNCell2の入力値IN1となる。第1レイヤの列(x-2)におけるRNNCell1の出力値OUT2は、第1レイヤの列(x-1)にけるRNNCell1の入力値IN2となる。
同様に、第1レイヤの列(x-1)におけるRNNCell1の入力値IN1は、ステップt(k+1)において入力された画素データである。第1レイヤの列(x-1)におけるRNNCell1の入力値IN2は、第1レイヤの列(x-2)におけるRNNCell1の出力OUT2である。第1レイヤの列(x-1)におけるRNNCell1の出力値OUT1は、第2レイヤの列(x-1)におけるRNNCell2の入力値IN1となる。第1レイヤの列(x-1)におけるRNNCell1の出力値OUT2は、第1レイヤの列(x)のRNNCell1の入力値IN2となる。
第1レイヤの列(x)におけるRNNCell1の入力値IN1は、ステップt(k+2)において入力された画素データである。第1レイヤの列(x)におけるRNNCell1の入力値IN2は、第1レイヤの列(x-1)におけるRNNCell1の出力OUT2である。第1レイヤの列(x)におけるRNNCell1の出力値OUT1は、第2レイヤの列(x)におけるRNNCell2の入力値IN1となる。第1レイヤの列(x-1)におけるRNNCell1の出力値OUT2は、次のステップにおけるRNNCelllの入力値IN2として用いられる。
以上のように、RNNプロセッサ22のRNNセル31は、入力された複数の画素データに対して、RNN演算を逐次的に行い、隠れ状態の情報をステートバッファ21に格納する。隠れ状態は、RNNセル31の出力である。
第2レイヤ(レイヤ2)の列(x-2)におけるRNNCell2の入力値IN1は、第1レイヤの列(x-2)におけるRNNCell1の出力値OUT1である。第2レイヤの列(x-2)におけるRNNCell2の入力値IN2は、第2レイヤの列(x-3)におけるRNNCell2の出力OUT2である。第2レイヤの列(x-2)におけるRNNCell2の出力値OUT1は、第3レイヤの列(x-2)におけるRNNCell3の入力値IN1となる。第2レイヤの列(x-2)におけるRNNCell2の出力値OUT2は、第2レイヤの列(x-1)におけるRNNCell2の入力値IN2となる。
同様に、第2レイヤの列(x-1)におけるRNNCell2の入力値IN1は、第1レイヤの列(x-1)におけるRNNCell1の出力値OUT1である。第2レイヤの列(x-1)におけるRNNCell2の入力値IN2は、第2レイヤの列(x-3)におけるRNNCell2の出力OUT2である。第2レイヤの列(x-1)におけるRNNCell2の出力値OUT1は、第3レイヤの列(x-1)におけるRNNCell3の入力値IN1となる。第2レイヤの列(x-1)におけるRNNCell2の出力値OUT2は、第2レイヤの列(x)におけるRNNCell2の入力値IN2となる。
第2レイヤの列(x)におけるRNNCell2の入力値IN1は、第1レイヤの列(x)におけるRNNCell1の出力値OUT1である。第2レイヤの列(x)におけるRNNCell2の入力値IN2は、第2レイヤの列(x-1)におけるRNNCell2の出力OUT2である。第2レイヤの列(x)におけるRNNCell2の出力値OUT1は、第3レイヤの列(x)におけるRNNCell3の入力値IN1となる。第2レイヤの列(x)におけるRNNCell2の出力値OUT2は、次のステップにおけるRNNCell2の入力値IN2として用いられる。
第3レイヤ(レイヤ3)の列(x-2)におけるRNNCell3の入力値IN1は、第2レイヤの列(x-2)のRNNCell2の出力値OUT1である。第3レイヤの列(x-2)におけるRNNCell3の入力値IN2は、第3レイヤの列(x-3)のRNNCell3の出力OUT2である。第3レイヤの列(x-2)におけるRNNCell3の出力値OUT1は、ここでは、ソフトマックスレイヤに入力され、ソフトマックスレイヤから、出力画像データOGが出力される。第3レイヤの列(x-2)におけるRNNCell3の出力値OUT2は、第3レイヤの列(x-1)のRNNCell3の入力値IN2となる。
同様に、第3レイヤの列(x-1)におけるRNNCell3の入力値IN1は、第2レイヤの列(x-1)のRNNCell2の出力値OUT1である。第3レイヤの列(x-1)におけるRNNCell3の入力値IN2は、第3レイヤの列(x-2)のRNNCell3の出力OUT2である。第3レイヤの列(x-1)におけるRNNCell3の出力値OUT1は、ここでは、ソフトマックスレイヤに入力され、ソフトマックスレイヤから、出力画像データOGが出力される。第3レイヤの列(x-1)におけるRNNCell3の出力値OUT2は、第3レイヤの列(x)におけるRNNCell3の入力値IN2となる。
第3レイヤの列(x)におけるRNNCell3の入力値IN1は、第2レイヤの列(x)におけるRNNCell2の出力値OUT1である。第3レイヤの列(x)におけるRNNCell3の入力値IN2は、第3レイヤの列(x-1)におけるRNNCell3の出力OUT2である。第3レイヤの列(x)におけるRNNCell3の出力値OUT1は、ここでは、ソフトマックスレイヤに入力され、ソフトマックスレイヤから、出力画像データOGが出力される。第3レイヤの列(x)のRNNCell3の出力値OUT2は、次のステップにおけるRNNCell3の入力値IN2として用いられる。
よって、第3レイヤの出力は、複数のステップで得られた複数の出力値OUT1のデータである。第3レイヤの出力は、ソフトマックスレイヤに入力される。ソフトマックスレイヤの出力は、y行x列の画像データに変換されて、出力画像データOGとして、オフチップメモリ12に格納される。
以上のように、RNNセルプロセッサ22は、画像データの複数の画素データと、ステートバッファ21に格納されたRNN演算の演算結果である隠れ状態の少なくとも一方を用いて、再帰型ニューラルネットワーク演算を行う。RNNプロセッサ22は、RNN演算を複数回実行する処理単位であるレイヤを、複数実行可能である。複数のレイヤは、複数の画素データを入力してRNN演算を実行する第1の処理単位(第1レイヤ)と、第1の処理単位(第1レイヤ)において得られた隠れ状態のデータを入力してRNN演算を実行する第2の処理単位(第2レイヤ)と、含む。
なお、上述したように、RNN演算における非線形型関数の各重みパラメータの値は、RNNの学習により最適化される。
以上のように、上述した実施形態によれば、CNNに代えて、RNNを用いて、画像データに対して所定の処理を行っている。
よって、画像データをオフチップメモリ12に保持した後に、画像データ全体に対して所定サイズのウインドウをスライドさせながらカーネル演算を行うという方法とは異なり、本実施形態の画像処理装置は、画像データをストリームデータSDに変換して、RNN演算を順番に実行するので、レイテンシが小さくかつ低コストで、ニューラルネットワーク演算処理が可能である。
(変形例1)
上述した実施形態では、複数行で複数列の複数の画素からなる画像データが、ストリームデータSDに変換されて、1行目1列目の画素値から最終行の最終列の画素値までを順番に1つのRNNセルプロセッサ31の入力値IN1として入力されている。
しかし、画像データの場合、各行の第1列の画素の画素値と、その前の行の最終列の画素値との間には、特徴量の傾向は異なる。
そこで、本変形例1では、各行の最終列の出力値OUT2を、そのまま、次の行の最初の入力値IN2としないで、所定の値に変更してから、次の行のRNNセル31の最初の入力値IN2にするラインエンドセルを追加する。
ラインエンドセルとしては、上述した非線形関数とは別の非線形関数の演算を行うように、RNNセル31の実行内容を変更することで、RNNセル31を用いてもよいし、あるいは図3において点線で示すように、RNNセルプロセッサ22内に設けた、RNNセル31とは別の演算セルとしてのラインエンドセル31aを用いてもよい。
ラインエンドセルの非線形関数の各重みパラメータの値も、RNNの学習により最適化される。
図7は、各行の最終列の出力値OUT2に対するラインエンドセル31aの処理順番を説明するための図である。ここでは、画像データの各行は、W個の画素値を有する。すなわち、画像データは、W列を有する。
図7に示すように、第1列を0としたときの最終列(W-1)の画素データに対して、RNNセル31が所定の演算を実行した後、出力値OUT2は、ラインエンドセル31aに入力される。
図7に示すように、ラインエンドセル31aは、レイヤ毎に、各行の最終列(W-1)のRNNセル31の出力値OUT2に対して処理を行う。図7において、第1レイヤにおけるラインエンドセル31aは、LineEndCell1として示し、第2レイヤにおけるラインエンドセル31aは、LineEndCell2として示し、第3レイヤにおけるラインエンドセル31aは、LineEndCell3として示している。
第1レイヤにおいて、y行目のラインエンドセル31aは、第1レイヤのy行目の最終列のRNNCelllの出力値OUT2(h1(W-1,y))を入力して、演算結果の出力値としての隠れ状態h1(line)を、次の(y+1)行目のRNNCell1の入力値IN2としている。
同様に、第2レイヤにおいても、y行目のラインエンドセル31aは、第2レイヤのy行目の最終列のRNNCell2の出力値OUT2(h2(W-1,y))を入力して、演算結果の出力値としての隠れ状態h2(line)を、次の(y+1)行目のRNNCell2の入力値IN2としている。
同様に、第3レイヤにおいても、y行目のラインエンドセル31aは、第3レイヤのy行目の最終列のRNNCell3の出力値OUT2(h3(W-1,y))を入力して、演算結果の出力値としての隠れ状態h3(line)を、次の(y+1)行目のRNNCell3の入力値IN2としている。
以上のように、RNNセルプロセッサ22は、画像データが、n行m列の画素データからなるとき、RNNプロセッサ22は、隣り合う2つの行間において、隠れ状態に対して所定の演算を行うラインエンドセル31aを有する。
よって、ラインエンドセル31aは、各レイヤにおいて、行の変わり目に設けられている。そして、ラインエンドセル31aは、入力された出力値OUT2を変更する処理をして、変更された出力値を、次の行の処理を行うときのRNNセル31の入力値IN2となる。
以上のように、ラインエンドセル31aにより、各行の最終列の出力値OUT2を変更することにより、各行の最終の画素値と次の行の最初の画素値との間の特徴量の傾向の違いの影響を排除することができ、ひいてはノイズ除去などの精度の向上が期待できる。
(変形例2)
上述した実施形態では、RNNセル31の入力値IN1は、全てのレイヤ間で一致したステップで取得されている。これに対して、本変形例2では、CNNにおける受容野(Receptive Field)と同様な受容野をRNN演算が有するように、RNNセル31の入力値IN1は、レイヤ間で一致したステップで取得されず、オフセットを持って遅れて取得される。言い換えれば、本変形例2の画像処理装置は、レイヤ間でオフセットを持ってRNN演算が実行されるように構成される。
図8は、本変形例2に関わる、入力画像データIGに含まれる複数の画素値に対するRNNセル31の処理順番を説明するための図である。
図8に示すように、ストリームデータSDの画素データiは、第1レイヤにおいてシーケンシャルに処理されている。しかし、第2レイヤにおいては、RNNCell2の入力値IN1として、画像のx方向においてオフセットu1だけ遅れて、画像のy方向においてオフセットv1だけ遅れてRNNCell1の出力値OUT1を使用している。なお、オフセット情報は、オフチップメモリ12に書き込まれ、パラメータとして、オフチップメモリ12からRNNセルプロセッサ22へ書き込まれる。
図8では、RNNCell2の入力値IN1は、次の式(6)で表される。
Figure 0007293157000005
さらに、第3レイヤにおいては、RNNCell3の入力値IN1は、画像のx方向においてオフセット(u1+u2)だけ遅れて、画像のy方向においてオフセット(v1+v2)だけ遅れてRNNCell1の出力値OUT1を使用している。すなわち、図8では、RNNCell3の入力値IN1は、次の式(7)で表される。
Figure 0007293157000006
第3レイヤの各RNNCell3の出力値OUT1は、次の式(8)で表される。
Figure 0007293157000007
図9は、CNNにおける受容野(Receptive Field)を説明するための図である。受容野は、カーネル演算に影響を与える入力値の範囲である。入力画像データIGに対してCNN演算を行うレイヤLY1により、出力画像データOGが生成される。この場合、レイヤLY1におけるカーネルサイズR1よりも広い範囲R2が、出力画像データの出力値P1に影響を与えている。よって、CNNの場合、CNN演算を繰り返すと、出力値を得られるために直接的あるいは間接的に参照している入力値の範囲である受容野は広くなる。
これに対して、上述した実施形態では、RNN演算を行っているため、レイヤ毎に演算ステップにおいて、そのステップよりも前に行われたRNN演算の結果の範囲が、受容野ということができる。
図10は、上述した実施形態における受容野を説明するための図である。図11は、CNNとRNNにおける受容野の範囲の違いを説明するための図である。RNNセル31が、レイヤLY11において入力画像データIGのストリームデータSDに対してRNN演算を行うと、図10において入力画像データIGにおいて点線で示す範囲R12が、受容野である。レイヤLY11の出力値P1の受容野は、出力値P1の演算ステップよりも前のステップの演算結果が範囲R11となる。
そのため、上述した実施形態では、図9で示したCNNのような出力値P1の周囲の画素値の演算結果は、RNN演算においては用いられない。図11に示すように、RNNにおける受容野RNNRは、CNNにおける受容野CNNRとは異なる。
そこで、上述した実施形態においても、CNNと同様に、受容野を考慮したRNN演算を行うために、あるレイヤのあるステップにおいて用いるRNNセル31の入力値IN1が、その前のレイヤにおいてそのステップと異なるステップにおけるRNNセル31の隠れ状態h(出力値)となるように、RNNセル31は、ステートバッファ32から読み出す入力値IN1の範囲をずらしている。すなわち、第1の処理単位である第1レイヤにおいて得られた隠れ状態のデータは、第2の処理単位である第2レイヤにおいて、設定されたオフセットだけ遅れたステップで、ステートバッファ21からRNNプロセッサ22へ与えられる。
図8に示すように、第2レイヤでは、RNNCell2の入力値IN1は、x方向にu1だけかつy方向にv1だけオフセットした画素位置の出力値OUT1となっている。すなわち、第2レイヤでは、RNNCell2は、画像データの横方向及び縦方向において、それぞれ所定の値(u1,v1)だけずれた画素位置のおける第1レイヤのRNN演算の出力値OUT1が、第2レイヤのRNNCell2の入力値IN1となっている。
また、第3レイヤでは、RNNCell3の入力値IN1は、第2レイヤの出力画像においてx方向に(u1+u2)だけかつy方向に(v1+v2)だけオフセットした出力値OUT1となっている。
そして、RNNCell3の出力値OUT1は、第2レイヤの出力画像においてx方向に(u1+u2+u3)だけかつy方向に(v1+v2+v3)だけオフセットした出力値となっている。
図12は、RNNセル31の入力ステップを説明するための図である。図12に示すように、最初の画素データi1(0,0)を入力値IN1としたRNNCell1の出力値OUT1は、第2レイヤにおいて、オフセット値に対応するステップtにおいて、入力値IN1として用いられる。第2レイヤにおけるオフセット値は、第1レイヤにおいてストリームデータSDの画素データの取得ステップに対するステップ差である。ここでは、オフセット値は、1行1列目の画素の位置(0,0)から、u1行v1列目の画素位置(u1、v1)までのステップ差に応じた値である。
よって、第2レイヤの最初のステップtでは、RNNCell2の入力値IN1は、第1レイヤにおける最初のステップtからオフセット値だけ後のステップにおける出力値OUT1となる。
さらに、オフセット値はレイヤ間で同じでもよいが、ここでは、レイヤ毎に異なっている。図12に示すように、第3レイヤにおけるステップtのRNNセル31の出力値OUT1は、画素位置(u11、v11)分のオフセット値が、第3レイヤにおけるRNNセル31の入力値IN1となっている。
図13は、本変形例2における受容野の設定範囲を説明するための図である。レイヤLY21の入力値INのオフセット値を設ける場合、パディング(padding)により入力画像データIGに対して所定の領域AAが追加される。そして、図13に示すように、出力値P1は、受容野RNNR内の入力値P2の影響を受けて出力されることになる。よって、出力値P1は、レイヤLY21の受容野RNNRの出力値の影響を受け、かつレイヤLY21の受容野RNNRは、入力画像データIGの受容野RNNRの入力値の影響を受けている。出力値PEは、追加された領域AAの入力値P3の影響を受けている。
以上のように、各RNN演算における入力値IN1の入力ステップのオフセットをレイヤ毎に設けることにおり、RNNを用いた画像処理においても、CNNと同様な受容野の設定をすることができる。
以上のように、上述した実施形態及び各変形例によれば、レイテンシが小さくかつ低コストで実現できる画像処理装置を提供することができる。
なお、上述したRNNセル31は、単純RNNであるが、LSTM(Long Short Term Memory)ネットワーク、GRU(Gated Recurrent Unit:ゲート付き回帰型ユニット)などの構造を有しているものでもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として例示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 画像処理システム、2 画像認識装置、11 撮像素子、12 オフチップメモリ、13 プロセッサ、14 イメージセンサ、21 ステートバッファ、22 RNNセルプロセッサ、23 ピクセルストリームデコーダ、31 RNNセル、31a ラインエンドセル、32 ステートバッファ。

Claims (7)

  1. 画像データが入力される第1のプロセッサと、
    前記第1のプロセッサ内に設けられたバッファと、
    前記画像データの複数の画素データと、前記バッファに格納された再帰型ニューラルネットワーク演算の演算結果の少なくとも一方を用いて、前記再帰型ニューラルネットワーク演算を行う、前記第1のプロセッサ内に設けられた第2のプロセッサと、
    を有する、画像処理装置。
  2. 前記再帰型ニューラルネットワーク演算の前記演算結果は、隠れ状態である、請求項1に記載の画像処理装置。
  3. 前記複数の画素データは、前記第2のプロセッサにシーケンシャルに入力され、
    前記第2のプロセッサは、入力された前記複数の画素データに対して、前記再帰型ニューラルネットワーク演算を逐次的に行い、前記演算結果を前記バッファに格納する、請求項1に記載の画像処理装置。
  4. 前記第2のプロセッサは、前記再帰型ニューラルネットワーク演算を複数回実行する処理単位であるレイヤを、複数実行可能である、請求項3に記載の画像処理装置。
  5. 前記複数のレイヤは、前記複数の画素データを入力して前記再帰型ニューラルネットワーク演算を実行する第1の処理単位と、前記第1の処理単位において得られた前記演算結果を入力して前記再帰型ニューラルネットワーク演算を実行する第2の処理単位と、含む、請求項4に記載の画像処理装置。
  6. 前記第1の処理単位において得られた前記演算結果は、前記第2の処理単位において、設定されたオフセットだけ遅れたステップで、前記バッファから前記第2のプロセッサへ与えられる、請求項5に記載の画像処理装置。
  7. 前記画像データは、n行m列の画素データからなり、
    前記第2のプロセッサは、隣り合う2つの行間において、前記演算結果に対して所定の演算を行う、請求項3に記載の画像処理装置。
JP2020046914A 2020-03-17 2020-03-17 画像処理装置 Active JP7293157B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020046914A JP7293157B2 (ja) 2020-03-17 2020-03-17 画像処理装置
US16/992,506 US20210295142A1 (en) 2020-03-17 2020-08-13 Image processing apparatus
CN202010893923.XA CN113409182A (zh) 2020-03-17 2020-08-31 图像处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020046914A JP7293157B2 (ja) 2020-03-17 2020-03-17 画像処理装置

Publications (2)

Publication Number Publication Date
JP2021149333A JP2021149333A (ja) 2021-09-27
JP7293157B2 true JP7293157B2 (ja) 2023-06-19

Family

ID=77677478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020046914A Active JP7293157B2 (ja) 2020-03-17 2020-03-17 画像処理装置

Country Status (3)

Country Link
US (1) US20210295142A1 (ja)
JP (1) JP7293157B2 (ja)
CN (1) CN113409182A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019509566A (ja) 2016-03-11 2019-04-04 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオ理解のための動きベースアテンションを用いたリカレントネットワーク
JP2019079446A (ja) 2017-10-27 2019-05-23 ホーチキ株式会社 火災監視システム
JP2019169131A (ja) 2018-03-23 2019-10-03 キヤノン株式会社 データ処理装置及びデータ処理方法
JP2020017274A (ja) 2018-07-19 2020-01-30 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited ニューラルネットワークを使用するエンドツーエンド手書きテキスト認識のためのシステムおよび方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801670A (en) * 1995-06-06 1998-09-01 Xerox Corporation Image generation system having a host based rendering element for generating seed pixel values and mesh address values for display having a rendering mesh for generating final pixel values
US8249981B2 (en) * 2008-12-16 2012-08-21 Ge Corporate Financial Services, Inc. Methods and systems for generating transition probability matrices through an optimization framework
US9684608B2 (en) * 2014-10-28 2017-06-20 Intel Corporation Maintaining a secure processing environment across power cycles
KR102511059B1 (ko) * 2017-05-17 2023-03-17 삼성전자주식회사 동영상의 초해상 처리 방법 및 이를 위한 영상 처리 장치
US10268883B2 (en) * 2017-08-10 2019-04-23 Adobe Inc. Form structure extraction network
WO2019177640A1 (en) * 2018-03-16 2019-09-19 Cornell University System and methods for estimating motion between image frames
US10922833B2 (en) * 2018-05-15 2021-02-16 Apical Ltd. Image processing
CN109887006A (zh) * 2019-01-29 2019-06-14 杭州国芯科技股份有限公司 一种基于帧差法加速神经网络运算的方法
CN110751057A (zh) * 2019-09-27 2020-02-04 五邑大学 基于长短时记忆循环神经网络的手指静脉验证方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019509566A (ja) 2016-03-11 2019-04-04 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオ理解のための動きベースアテンションを用いたリカレントネットワーク
JP2019079446A (ja) 2017-10-27 2019-05-23 ホーチキ株式会社 火災監視システム
JP2019169131A (ja) 2018-03-23 2019-10-03 キヤノン株式会社 データ処理装置及びデータ処理方法
JP2020017274A (ja) 2018-07-19 2020-01-30 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited ニューラルネットワークを使用するエンドツーエンド手書きテキスト認識のためのシステムおよび方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Seok-Gyu Choi, et al.,A Study on Person Re-Identification System using Enhanced RNN,The Journal of The Institute of Internet, Broadcasting and Communication (IIBC),Vol. 17, No. 2,The Institute of Internet, Broadcasting and Communication,2017年04月30日,Pages 15-23,<URL: https://koreascience.kr/article/JAKO201715853765703.page>,<DOI: 10.7236/JIIBC.2017.17.2.15>

Also Published As

Publication number Publication date
CN113409182A (zh) 2021-09-17
US20210295142A1 (en) 2021-09-23
JP2021149333A (ja) 2021-09-27

Similar Documents

Publication Publication Date Title
US10936937B2 (en) Convolution operation device and convolution operation method
KR102203746B1 (ko) 인공 신경망 정방향 연산 실행용 장치와 방법
KR101298393B1 (ko) 그래픽 처리 유닛 상에서 콘볼루션 신경망을 트레이닝하는방법
US20060002471A1 (en) Motion estimation unit
US10169295B2 (en) Convolution operation device and method
US20210157594A1 (en) Data temporary storage apparatus, data temporary storage method and operation method
KR102637733B1 (ko) 뉴럴 네트워크 프로세서 및 그것의 컨볼루션 연산 방법
CN112991142B (zh) 图像数据的矩阵运算方法、装置、设备及存储介质
CN108717571B (zh) 一种用于人工智能的加速方法和装置
EP3093757B1 (en) Multi-dimensional sliding window operation for a vector processor
CN110688616B (zh) 一种基于乒乓ram的条带阵列的卷积模块及其运算方法
JP2020068027A (ja) アンサンブル学習ベースの画像分類システム
CN110807170A (zh) 多样本多通道卷积神经网络Same卷积向量化实现方法
KR20230081697A (ko) 팽창 컨볼루션 계산 가속화 방법 및 장치
CN112005251A (zh) 运算处理装置
Nicol A systolic approach for real time connected component labeling
JP7293157B2 (ja) 画像処理装置
TWI634436B (zh) 緩衝裝置及卷積運算裝置與方法
JP5322416B2 (ja) ブロックマッチング回路及びデータ更新方法
JP2017027314A (ja) 並列演算装置、画像処理装置及び並列演算方法
US20180136872A1 (en) Buffer device and convolution operation device and method
JP7251354B2 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
CN111831207B (zh) 一种数据处理方法、装置及其设备
CN112712457A (zh) 数据处理方法以及人工智能处理器
CN110038301A (zh) 数据处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230607

R150 Certificate of patent or registration of utility model

Ref document number: 7293157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150