JP6414388B2 - アクセラレータ回路及び画像処理装置 - Google Patents

アクセラレータ回路及び画像処理装置 Download PDF

Info

Publication number
JP6414388B2
JP6414388B2 JP2014086560A JP2014086560A JP6414388B2 JP 6414388 B2 JP6414388 B2 JP 6414388B2 JP 2014086560 A JP2014086560 A JP 2014086560A JP 2014086560 A JP2014086560 A JP 2014086560A JP 6414388 B2 JP6414388 B2 JP 6414388B2
Authority
JP
Japan
Prior art keywords
circuit
image data
data
image
accelerator
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
JP2014086560A
Other languages
English (en)
Other versions
JP2015207101A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014086560A priority Critical patent/JP6414388B2/ja
Priority to US14/681,290 priority patent/US9363412B2/en
Publication of JP2015207101A publication Critical patent/JP2015207101A/ja
Application granted granted Critical
Publication of JP6414388B2 publication Critical patent/JP6414388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、画像処理装置のためのアクセラレータ回路に関する。本発明はまた、そのようなアクセラレータ回路を備えた画像処理装置に関する。
一般に、専用ハードウェア装置を用いて画像を処理することにより、汎用プロセッサ上でソフトウェアにより画像を処理する場合よりも、処理時間を短縮することができる。このため、予め決められた単純な演算処理を行う専用ハードウェア装置であるアクセラレータ回路が使用されることがある。特に、画像データに2次元フィルタを適用する場合には、アクセラレータ回路を用いることで処理時間が大幅に短くなる。
特許文献1によれば、画像出力装置たるプリンタは、例えばソフトウェアにより描画処理を行うCPUと、例えばハードウェアにより高速に描画処理を行う描画アクセラレータを有する。CPUは、ホストコンピュータからの出力命令に基づき描画命令を解釈し、描画アクセラレータに対して、描画命令の処理対象領域の例えば先頭ブロックから描画処理を行わせ、同時にCPU自体も描画命令の処理対象領域の例えば終端ブロックから描画処理を行う。そして、描画アクセラレータとCPUでそれぞれ描画処理を完了した領域の和が描画命令の処理対象領域と等しくなった場合、CPUは、該描画命令の処理を終了する。これにより、廉価で、容易かつ高速に描画処理を行って出力するプリンタなどの画像出力装置を提供する。
特許文献2の画像処理装置は、画像データにソフトウェアの演算処理を行う1つ以上のプロセッサ、画像データに既定の演算処理を行う1つ以上のハードウェアアクセラレータ、メモリ部、及びメモリ部への画像データの読み書きを制御するバッファ制御部を備える。メモリ部の記憶領域は、少なくとも「プロセッサの個数+ハードウェアアクセラレータの個数−1」個のバッファ領域に、物理的に分割される。バッファ制御部は、プロセッサ及びハードウェアアクセラレータのそれぞれからのアクセスに応じて、分割されたそれぞれのバッファ領域のうち、対応するバッファ領域への画像データの書き込み及び読み出しを制御する。これにより、回路規模が増大することなく、所望の画像処理の演算に柔軟に変更することができる画像処理回路を備えた画像処理装置を提供する。
従来のアクセラレータ回路として、画像処理装置の外部から入力された画像データを処理してからメインメモリに送るものと、メインメモリからDMA(Direct Memory Access)転送された画像データを処理し、処理後にメインメモリに戻すものとがある。前者のアクセラレータ回路では、メインメモリ上の画像データを処理することができない。従って、画像処理装置の外部から入力された画像データ及びメインメモリ上の画像データの両方を処理するためには、2種類のアクセラレータ回路を併用する必要があり、回路規模が大きくなってしまう。特に、2次元フィルタとして機能するアクセラレータ回路では、高速処理のためには2次元空間の個数だけ乗算器を必要とし、回路規模が特に大きくなってしまうという問題がある。
回路規模を削減するために、画像処理装置の外部から入力された画像データ及びメインメモリ上の画像データの一方を、セレクタを用いて選択的に、1つのアクセラレータ回路に入力することが考えられる。しかし、セレクタを切り換えてから演算処理が可能になるまで(2次元フィルタでは、2次元レジスタにデータが書き込まれるまで)の遅延時間が存在する。アクセラレータ回路に入力される画像データを頻繁に切り換える場合には、そのたびに遅延時間が発生し、演算処理を実行できない時間が長くなる。
本発明の目的は、画像データの演算処理を実行できない時間の増大を抑えながら、回路規模を削減したアクセラレータ回路を提供することにある。
本発明の態様に係るアクセラレータ回路によれば、
画像処理装置のためのアクセラレータ回路において、上記アクセラレータ回路は、
複数N個のデータソースから画像データを取得して一時的に格納するバッファ回路と、
上記複数N個のデータソースのうちの1つから取得された画像データのうちの予め決められたサイズの領域の画素データに対して予め決められた演算を実行する演算回路とを備え、
上記バッファ回路は、
上記複数N個のデータソースに対応する複数N個のバッファメモリ及び複数N個の2次元レジスタと、
制御回路と、
セレクタとを備え、
上記各バッファメモリは、上記複数N個のデータソースのうちの対応する1つから取得された画像データを一時的に格納し、
上記各2次元レジスタは、上記複数N個のバッファメモリのうちの対応する1つに格納された画像データのうちの上記予め決められたサイズの領域の画素データを一時的に格納し、
上記セレクタは、上記制御回路の制御下で、上記複数N個の2次元レジスタのうちの1つに格納された画素データを選択して上記演算回路に送り、
上記制御回路は、上記複数N個の2次元レジスタのうちの1つに画素データが格納されているとき上記画素データを上記演算回路に送るように上記セレクタを制御することを特徴とする。
本発明のアクセラレータ回路によれば、画像データの演算処理を実行できない時間の増大を抑えながら、回路規模を削減することができる。
本発明の第1の実施形態に係る画像処理装置2の構成を示すブロック図である。 図1のアクセラレータ回路14の詳細構成を示すブロック図である。 図2のアクセラレータ回路14の動作を説明するタイミングチャートである。 比較例に係るアクセラレータ回路40の詳細構成を示すブロック図である。 図4のアクセラレータ回路40の動作を説明するタイミングチャートである。 本発明の第2の実施形態に係るアクセラレータ回路14Aの詳細構成を示すブロック図である。
以下、本発明の実施形態について、図面を参照して詳細に解説する。
第1の実施形態.
図1は、本発明の第1の実施形態に係る画像処理装置2の構成を示すブロック図である。画像処理装置2は、外部のカメラ1で撮影された画像を取得して処理し、処理された画像(出力画像)を出力する。画像処理装置2は、バス11、画像入力回路12、DMA制御回路13、アクセラレータ回路14、プロセッサ15、メインメモリ16、クロック発生器17、及び画像出力回路18を備える。DMA制御回路13、アクセラレータ回路14、プロセッサ15、メインメモリ16、クロック発生器17、及び画像出力回路18は、バス11を介して互いに接続されている。クロック発生器17は、クロックCLKを発生して他の構成要素に供給する。画像入力回路12は、画像処理装置2の外部(カメラ1)から取得された画像データを第1の画像データとしてアクセラレータ回路14に入力する。DMA制御回路13は、メインメモリ16上の画像データを第2の画像データとしてアクセラレータ回路14にDMA転送する。アクセラレータ回路14は、例えば2次元フィルタの演算を実行する。アクセラレータ回路14は、画像入力回路12から入力された画像データを処理してメインメモリ16に送り、また、メインメモリ16からDMA転送された画像データを処理し、処理後にメインメモリ16に戻す。ここで、アクセラレータ回路14によって処理された画像データもまた、DMA制御回路13によって、メインメモリ16にDMA転送される。プロセッサ15は、アクセラレータ回路14を制御し、また、メインメモリ16上の画像データをソフトウェアにより処理する。プロセッサ15によって処理された画像データは、最終的に、画像出力回路18から出力画像として出力される。
ここで、図4及び図5を参照して、比較例に係るアクセラレータ回路について説明する。
図4は、比較例に係るアクセラレータ回路40の詳細構成を示すブロック図である。図1の画像処理装置2がアクセラレータ回路14に代えて図4のアクセラレータ回路40を備えた場合を考える。図4のアクセラレータ回路40は、インターフェース回路41、42、セレクタ43、バッファメモリ44、2次元レジスタ45、46、乗算回路47、加算器48、及び制御回路49を備える。アクセラレータ回路40は、画像データのうちの予め決められたサイズ(3×3)の領域の画素データに対して、2次元フィルタの演算を実行する。
制御回路49には、プロセッサ15からの制御信号と、クロック発生器17からのクロックCLKとが入力される。インターフェース回路41は、画像入力回路12から、画像データPDATA1、クロックPCLK1、及びイネーブル信号H_EN1を受信する。画像データPDATA1は、カメラ1で取得された画像データである。クロックPCLK1は、カメラ1のクロックを示す。イネーブル信号H_EN1は、画像データPDATA1の水平データが有効であることを示す。インターフェース回路42は、DMA制御回路13から、画像データPDATA2、クロックPCLK2、及びイネーブル信号H_EN2を受信する。画像データPDATA2は、メインメモリ16からDMA転送された画像データである。クロックPCLK2は、クロック発生器17によって発生されたクロックCLKである。イネーブル信号H_EN2は、画像データPDATA2の水平データが有効であることを示す。セレクタ43は、制御回路49からの選択信号SELの制御下で、画像データPDATA1及びPDATA2の一方を選択してバッファメモリ44に送る。バッファメモリ44は、複数(例えば3個)のラインメモリLM0〜LM2を備え、選択された画像データを一時的に格納する。画像データ内のあるラインの画素に対して2次元フィルタの演算を行う場合、前後のラインの画素を参照する必要があるので、まず、ラインメモリLM0〜LM2に3ラインの画素データを格納する。3ラインの画素データが格納できたら、各ラインメモリLM0〜LM2から2次元レジスタ45に画素データを送り、3×3の領域を用意する。2次元レジスタ45は、バッファメモリ44に格納された画像データのうちの3×3の領域の画素データXij(0≦i,j≦2)を一時的に格納する。2次元レジスタ46は、2次元フィルタのための3×3個の演算パラメータCij(0≦i,j≦2)を予め格納している。乗算回路47は9個の乗算器を含む。乗算回路47及び加算器48は、画素データXij及び演算パラメータCijに対して以下の演算を行い、その結果として、処理された画像データAOUTを出力する。
Figure 0006414388
図5は、図4のアクセラレータ回路40の動作を説明するタイミングチャートである。
イネーブル信号H_EN1がローレベルであるとき、画像データPDATA1は不定である。最初のラインの画素データH1は、ラインメモリLM0及びLM2に格納される。画素データH1がラインメモリLM2にも格納されるのは、不自然さを生じさせることなく、2次元レジスタ45の3×3の領域が画像データで充填されることを早めるためである。次のラインの画素データH2は、ラインメモリLM1に格納される。これと同時に、ラインメモリLM0〜LM2に格納された画素データを2次元レジスタ45に送り、2次元レジスタ45上で3×3の領域の画素データXijを構成する。次いで、画素データXij及び演算パラメータCijに対して数1の演算を行い、その演算結果のデータH1’を、処理された画像データAOUTとして出力する。
図5からわかるように、比較例のアクセラレータ回路40では、画像データを入力してから処理された画像データが出力されるまでの遅延時間は、最低でも1ライン分はかかってしまう。そのため、例えば一方の画像データPDATA1の処理中に他方の画像データPDATA2を選択するようにセレクタ43を切り換えても、画像データPDATA1の処理が終了するまでは、画像データPDATA2の処理を開始することができない。画像データPDATA1の処理結果の画像データAOUTが出力されるまで、画像データPDATA2の入力を止める必要がある。従って、図4のように、アクセラレータ回路40がセレクタ43を備えていても、画像処理装置の外部から入力された画像データ及びメインメモリ上の画像データを時分割で切り換えて処理することは現実的ではなかった。
次に、図2及び図3を参照して、実施形態のアクセラレータ回路14について説明する。
図2は、図1のアクセラレータ回路14の詳細構成を示すブロック図である。アクセラレータ回路14は、バッファ回路20及び演算回路30を備える。バッファ回路20は、画像入力回路12から送られた第1の画像データと、DMA制御回路13から送られた第2の画像データとを取得して、一時的に格納する。演算回路30は、第1又は第2の画像データのうちの予め決められたサイズ(3×3)の領域の画素データに対して、2次元フィルタの演算を実行する。
バッファ回路20は、インターフェース回路21、24、バッファメモリ22、25、2次元レジスタ23、26、セレクタ27、及び制御回路28を備える。制御回路28には、プロセッサ15からの制御信号と、クロック発生器17からのクロックCLKとが入力される。制御回路28は、イネーブル信号DATA_EN1、DATA_EN2をインターフェース回路21、24にそれぞれ送り、選択信号SELをセレクタ27に送る。
インターフェース回路21は、画像入力回路12から、画像データPDATA1、クロックPCLK1、及びイネーブル信号H_EN1を受信する。イネーブル信号DATA_EN1は、画像データPDATA1が有効であることを示す。インターフェース回路21は、イネーブル信号DATA_EN1がハイレベルのときに画像データPDATA1を取り込み、取り込んだ回数を示すカウント信号CNT1を1だけインクリメントして制御回路28に送る。インターフェース回路21は、取り込んだ画像データPDATA1をクロックCLKで再取得して画像データDATA1を生成し、バッファメモリ22に送る。バッファメモリ22は、複数(例えば3個)のラインメモリLM0〜LM2を備え、画像データDATA1を一時的に格納する。制御回路28は、カウント信号CNT1を用いて、バッファメモリ22のラインメモリの書き込みアドレスを管理する。2次元レジスタ23は、バッファメモリ22に格納された画像データのうちの予め決められたサイズ(3×3)の領域の画素データXij(0≦i,j≦2)を一時的に格納する。
インターフェース回路24は、DMA制御回路13から、画像データPDATA2、クロックPCLK2、及びイネーブル信号H_EN2を受信する。イネーブル信号DATA_EN2は、画像データPDATA2が有効であることを示す。インターフェース回路24は、イネーブル信号DATA_EN2がハイレベルのときに画像データPDATA2を取り込み、取り込んだ回数を示すカウント信号CNT2を1だけインクリメントして制御回路28に送る。インターフェース回路24は、取り込んだ画像データPDATA2をクロックCLKで再取得して画像データDATA2を生成し、バッファメモリ25に送る。バッファメモリ25は、複数(例えば3個)のラインメモリLM0〜LM2を備え、画像データDATA2を一時的に格納する。制御回路28は、カウント信号CNT2を用いて、バッファメモリ25のラインメモリの書き込みアドレスを管理する。2次元レジスタ26は、バッファメモリ25に格納された画像データのうちの予め決められたサイズ(3×3)の領域の画素データXij(0≦i,j≦2)を一時的に格納する。
バッファメモリ22、25のそれぞれは、3個のラインメモリLM0〜LM2を備えることに限らず、2次元レジスタ23、26の行数以下の個数のラインメモリを備えてもよい。
セレクタ27は、制御回路28からの選択信号SELの制御下で、第1及び第2の画素データの一方を選択して演算回路30に送る。制御回路28は、2次元レジスタ23の全要素に画素データが格納されているときのみ、当該画素データを演算回路30に送るようにセレクタ27を制御する。制御回路28は、2次元レジスタ26の全要素に画素データが格納されているときのみ、当該画素データを演算回路30に送るようにセレクタ27を制御する。
演算回路30は、2次元レジスタ31、乗算回路32、及び加算器33を備える。2次元レジスタ31は、2次元フィルタのための3×3個の演算パラメータCij(0≦i,j≦2)を予め格納している。乗算回路32は9個の乗算器を含む。乗算回路32及び加算器33は、画素データXij及び演算パラメータCijに対して数1の演算を行い、その結果として、処理された画像データAOUTを出力する。
上述したように、バッファ回路20は、第1及び第2の画像データを一時的に格納するために、バッファメモリ22、25及び2次元レジスタ23、26を備えている。これにより、セレクタ27を切り換えてから画像データを入力してから処理された画像データが出力されるまでの遅延時間を短縮し、画像処理装置2の外部から入力された画像データ及びメインメモリ16上の画像データを時分割で切り換えて処理することができる。
セレクタ27は、2次元レジスタ23の全要素に画素データが格納されているときのみ、当該画素データを演算回路30に送り、また、2次元レジスタ26の全要素に画素データが格納されているときのみ、当該画素データを演算回路30に送るように制御される。従って、セレクタ27を切り換えてから処理された画像データが出力されるまでの遅延時間は、乗算回路32及び加算器33に起因する遅延時間のみになり、画像データの処理は数クロックで完了する。
例えば、カメラ1から画像処理装置2へのデータ転送速度が画像処理装置2内の半分である場合、アクセラレータ回路14の使用率は、有効データ期間内でも約50%になる。さらに、水平ブランキングの期間及び垂直ブランキングの期間が存在するので、アクセラレータ回路14の使用率はさらに低くなる。そのような状況下では、画像処理装置2の外部から入力された画像データ及びメインメモリ16上の画像データのいずれかを処理するようにセレクタ27を制御することで、両方の画像データを処理することができる。
図3は、図2のアクセラレータ回路14の動作を説明するタイミングチャートである。図3のタイミングチャートを参照し、具体的にクロック単位で説明する。例えば、カメラ1のクロックPCLK1及び画像データPDATA1の速度は、画像処理装置2のクロックCLKの半分の速度であると仮定する。インターフェース回路21は、取り込んだ画像データPDATA1をクロックCLKで再取得して画像データDATA1を生成し、バッファメモリ22に送る。図3では、画像データPDATA1、DATA1に含まれる画素データを「Pm(n)」で示す。「Pm(n)」において、「m」は水平画素データの番号を示し、「n」はライン番号を示す。「N」は演算対象の画素データを含むライン番号を示す。3×3の2次元フィルタの演算処理には3ライン分の画素データが必要であり、N−1、N、N+1番目のラインの画素データがすべてそろったときにN番目のラインの画素データに対する演算処理を行うことができる。図3では、図示の簡単化のために、画像データPDATA1、DATA1について、N+1番目のラインの画素データのみを示す。バッファメモリ22に格納された画像データDATA1の画素データは、4つの区間にわたる画素データ(P0(N+1)〜P3(N+1)、P4(N+1)〜P7(N+1)、…)ごとに、2次元レジスタ23に格納される。2次元レジスタ23の要素X00、X01、X02はシフトレジスタを構成し、要素X00に新たな画素データが入力されると、以前のデータが要素X01、X02へシフトする。同様に、2次元レジスタ23の要素X10、X11、X12はシフトレジスタを構成し、要素X10に新たな画素データが入力されると、以前のデータが要素X11、X12へシフトする。同様に、2次元レジスタ23の要素X20、X21、X22はシフトレジスタを構成し、要素X20に新たな画素データが入力されると、以前のデータが要素X21、X22へシフトする。2次元レジスタ23の全要素に画素データが格納されたとき、制御回路28は選択信号SELをハイレベルに設定し、画素データを演算回路30に転送する。説明の簡単化のため、乗算及び加算が1クロックで完了すると仮定する。この場合、2次元レジスタ23に格納された画素データをセレクタ27で選択してから1クロックで処理された画像データAOUTが出力される。従って、選択信号SELがローレベルの期間は、メインメモリ16上から転送された画像データPDATA2を処理することができる。
実施形態のアクセラレータ回路14によれば、セレクタ27は、2次元レジスタ23又は26の全要素に画素データが格納されているときのみ、当該画素データを演算回路30に送るように制御される。従って、セレクタ27を切り換えてから処理された画像データが出力されるまでの遅延時間を、乗算回路32及び加算器33に起因する遅延時間のみに削減することができる。セレクタ27を切り換えてから処理された画像データが出力されるまでの遅延時間が非常に少なくなるので、画像処理装置2の外部から入力された画像データ及びメインメモリ16上の画像データを時分割で切り換えて処理することができる。
比較例のアクセラレータ回路40では、セレクタ43を切り換えてから演算処理が可能になる前に、バッファメモリ44及び2次元レジスタ45に画素データを格納する必要があり、多大な遅延が発生していた。一方、実施形態のアクセラレータ回路14によれば、2次元レジスタ23又は26の全要素に画素データが格納されているときのみ、セレクタ27を切り換えるので、乗算及び加算の他の遅延が発生しない。
実施形態のアクセラレータ回路14によれば、画像データの演算処理を実行できない時間の増大を抑えながら、回路規模を削減することができる。
図1のアクセラレータ回路14は、2つのデータソース(画像入力回路12及びDMA制御回路13)を備えていたが、3つ以上のデータソースを備えていてもよい。この場合、アクセラレータ回路は、複数N個のデータソースから画像データを取得して一時的に格納するバッファ回路と、複数N個のデータソースのうちの1つから取得された画像データのうちの予め決められたサイズの領域の画素データに対して予め決められた演算を実行する演算回路とを備える。、バッファ回路は、複数N個のデータソースに対応する複数N個のバッファメモリ及び複数N個の2次元レジスタと、制御回路と、セレクタとを備える。各バッファメモリは、複数N個のデータソースのうちの対応する1つから取得された画像データを一時的に格納する。各2次元レジスタは、複数N個のバッファメモリのうちの対応する1つに格納された画像データのうちの予め決められたサイズの領域の画素データを一時的に格納する。セレクタは、制御回路の制御下で、複数N個の2次元レジスタのうちの1つに格納された画素データを選択して演算回路に送る。制御回路は、複数N個の2次元レジスタのうちの1つに画素データが格納されているとき画素データを演算回路に送るようにセレクタを制御する。
第2の実施形態.
図6は、本発明の第2の実施形態に係るアクセラレータ回路14Aの詳細構成を示すブロック図である。図6のアクセラレータ回路14Aは、バッファ回路20A及び演算回路30Aを備える。アクセラレータ回路14Aでは、画素データを格納する2次元レジスタが、バッファ回路20Aにではなく、演算回路30Aに設けられている。
バッファ回路20Aは、図2の2次元レジスタ23、26及びセレクタ27に代えて、バッファメモリ22、25にそれぞれ格納された第1及び第2の画像データの一方を選択して演算回路30Aに送るセレクタ27Aを備える。演算回路30Aは、図2の構成要素に加えて、バッファ回路20Aから送られた第1又は第2の画像データのうちの予め決められたサイズの領域の画素データを一時的に格納する2次元レジスタ34を備える。制御回路28は、バッファメモリ22に第1の画素データが格納されているときのみ、第1の画素データを演算回路30Aに送るようにセレクタ27Aを制御する。制御回路28は、バッファメモリ25に第2の画素データが格納されているときのみ、第2の画素データを演算回路30Aに送るようにセレクタ27Aを制御する。
アクセラレータ回路14Aは、図2の2つの2次元レジスタ23、25に代えて1つの2次元レジスタ34を備えたことにより、図2のアクセラレータ回路14よりもさらに回路規模を削減することができる。しかし、セレクタ27Aを切り換えてから2次元レジスタ34に画素データを格納する必要があるので、セレクタ27Aを切り換えてから処理された画像データが出力されるまでに、図2のアクセラレータ回路14よりも2クロック余分な遅延時間が生じてしまう。
図6のアクセラレータ回路14Aは、2つのデータソース(画像入力回路12及びDMA制御回路13)を備えていたが、3つ以上のデータソースを備えていてもよい。この場合、アクセラレータ回路は、複数N個のデータソースから画像データを取得して一時的に格納するバッファ回路と、複数N個のデータソースのうちの1つから取得された画像データのうちの予め決められたサイズの領域の画素データに対して予め決められた演算を実行する演算回路とを備える。バッファ回路は、複数N個のデータソースに対応する複数N個のバッファメモリと、制御回路と、セレクタとを備える。各バッファメモリは、複数N個のデータソースのうちの対応する1つから取得された画像データを一時的に格納する。セレクタは、制御回路の制御下で、複数N個のバッファメモリのうちの1つに格納された画像データを選択して演算回路に送る。演算回路は、バッファ回路から送られた画像データのうちの予め決められたサイズの領域の画素データを一時的に格納する2次元レジスタを備える。制御回路は、複数N個のバッファメモリのうちの1つに画素データが格納されているとき画素データを演算回路に送るようにセレクタを制御する。
変形例.
図2及び図6のアクセラレータ回路14、14Aにおいて、バッファメモリ22、25として、ラインメモリに代えて、フレームメモリ、又はフレームの一部を保存するメモリなどを使用してもよい。図2及び図6のアクセラレータ回路14、14Aにおいて、2次元レジスタ23、26、34として、シフトレジスタ、ルックアップテーブルなどを使用してもよい。
制御回路28は、プロセッサ15の制御下で、2次元レジスタ31に格納された演算パラメータを書き換えてもよい。
アクセラレータ回路14、14Aは、2次元フィルタの演算を実行することに限定されず、ラベリング、輪郭追跡、パターンマッチングなど、2次元のオペレータを使用する他の任意の画像処理を実行するように構成されてもよい。この場合、バッファ回路20、20Aは図2及び図6と同様に構成されるが、演算回路30、30Aは、乗算回路及び加算器に加えて、判定回路を備える必要がある。
本発明の態様に係るアクセラレータ回路及び画像処理装置によれば、以下の構成を備える。
本発明の第1の態様に係るアクセラレータ回路によれば、
画像処理装置のためのアクセラレータ回路において、上記アクセラレータ回路は、
複数N個のデータソースから画像データを取得して一時的に格納するバッファ回路と、
上記複数N個のデータソースのうちの1つから取得された画像データのうちの予め決められたサイズの領域の画素データに対して予め決められた演算を実行する演算回路とを備え、
上記バッファ回路は、
上記複数N個のデータソースに対応する複数N個のバッファメモリ及び複数N個の2次元レジスタと、
制御回路と、
セレクタとを備え、
上記各バッファメモリは、上記複数N個のデータソースのうちの対応する1つから取得された画像データを一時的に格納し、
上記各2次元レジスタは、上記複数N個のバッファメモリのうちの対応する1つに格納された画像データのうちの上記予め決められたサイズの領域の画素データを一時的に格納し、
上記セレクタは、上記制御回路の制御下で、上記複数N個の2次元レジスタのうちの1つに格納された画素データを選択して上記演算回路に送り、
上記制御回路は、上記複数N個の2次元レジスタのうちの1つに画素データが格納されているとき上記画素データを上記演算回路に送るように上記セレクタを制御することを特徴とする。
本発明の第2の態様に係るアクセラレータ回路によれば、第1の態様に係るアクセラレータ回路において、
上記各バッファメモリは、上記各2次元レジスタの行数以下の個数のラインメモリを備えることを特徴とする。
本発明の第3の態様に係るアクセラレータ回路によれば、
画像処理装置のためのアクセラレータ回路において、上記アクセラレータ回路は、
複数N個のデータソースから画像データを取得して一時的に格納するバッファ回路と、
上記複数N個のデータソースのうちの1つから取得された画像データのうちの予め決められたサイズの領域の画素データに対して予め決められた演算を実行する演算回路とを備え、
上記バッファ回路は、
複数N個のデータソースに対応する複数N個のバッファメモリと、
制御回路と、
セレクタとを備え、
上記各バッファメモリは、上記複数N個のデータソースのうちの対応する1つから取得された画像データを一時的に格納し、
上記セレクタは、上記制御回路の制御下で、上記複数N個のバッファメモリのうちの1つに格納された画像データを選択して上記演算回路に送り、
上記演算回路は、上記バッファ回路から送られた上記画像データのうちの上記予め決められたサイズの領域の画素データを一時的に格納する2次元レジスタを備え、
上記制御回路は、上記複数N個のバッファメモリのうちの1つに画素データが格納されているとき上記画素データを上記演算回路に送るように上記セレクタを制御することを特徴とする。
本発明の第4の態様に係るアクセラレータ回路によれば、第3の態様に係るアクセラレータ回路において、
上記各バッファメモリは、上記各2次元レジスタの行数以下の個数のラインメモリを備えることを特徴とする。
本発明の第5の態様に係る画像処理装置によれば、
プロセッサ及びメインメモリを備えた画像処理装置であって、上記画像処理装置は、
請求項1〜4のうちの1つに記載のアクセラレータ回路と、
上記画像処理装置の外部から取得された画像データを第1の画像データとして上記アクセラレータ回路に入力する画像入力回路と、
上記メインメモリ上の画像データを第2の画像データとして上記アクセラレータ回路に転送するDMA制御回路とを備えたことを特徴とする。
1…カメラ、
2…画像処理装置2、
11…バス、
12…画像入力回路、
13…DMA制御回路、
14、14A…アクセラレータ回路、
15…プロセッサ、
16…メインメモリ、
17…クロック発生器、
18…画像出力回路、
20、20A…バッファ回路、
21、24…インターフェース回路、
22、25…バッファメモリ、
23、26、31、34…2次元レジスタ、
27、27A…セレクタ、
28…制御回路、
30、30A…演算回路、
32…乗算回路、
33…加算器。
特開2002−211050号公報 特開2013−239120号公報

Claims (3)

  1. 画像処理装置のためのアクセラレータ回路において、上記アクセラレータ回路は、
    複数N個のデータソースから画像データを取得して一時的に格納するバッファ回路と、
    上記複数N個のデータソースのうちの1つから取得された画像データのうちの予め決められたサイズの領域の画素データに対して予め決められた演算を実行する演算回路とを備え、
    上記バッファ回路は、
    上記複数N個のデータソースに対応する複数N個のバッファメモリ及び複数N個の2次元レジスタと、
    制御回路と、
    セレクタとを備え、
    上記各バッファメモリは、上記複数N個のデータソースのうちの対応する1つから取得された画像データを一時的に格納し、
    上記各2次元レジスタは、上記複数N個のバッファメモリのうちの対応する1つに格納された画像データのうちの上記予め決められたサイズの領域の画素データを一時的に格納し、
    上記セレクタは、上記制御回路の制御下で、上記複数N個の2次元レジスタのうちの1つに格納された画素データを選択して上記演算回路に送り、
    上記制御回路は、上記複数N個の2次元レジスタのうちの1つに画素データが格納されているとき上記画素データを上記演算回路に送るように上記セレクタを制御することを特徴とするアクセラレータ回路。
  2. 上記各バッファメモリは、上記各2次元レジスタの行数以下の個数のラインメモリを備えることを特徴とする請求項1記載のアクセラレータ回路。
  3. プロセッサ及びメインメモリを備えた画像処理装置であって、上記画像処理装置は、
    請求項1又は2記載のアクセラレータ回路と、
    上記画像処理装置の外部から取得された画像データを第1の画像データとして上記アクセラレータ回路に入力する画像入力回路と、
    上記メインメモリ上の画像データを第2の画像データとして上記アクセラレータ回路に転送するDMA制御回路とを備えたことを特徴とする画像処理装置。
JP2014086560A 2014-04-18 2014-04-18 アクセラレータ回路及び画像処理装置 Active JP6414388B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014086560A JP6414388B2 (ja) 2014-04-18 2014-04-18 アクセラレータ回路及び画像処理装置
US14/681,290 US9363412B2 (en) 2014-04-18 2015-04-08 Accelerator circuit and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014086560A JP6414388B2 (ja) 2014-04-18 2014-04-18 アクセラレータ回路及び画像処理装置

Publications (2)

Publication Number Publication Date
JP2015207101A JP2015207101A (ja) 2015-11-19
JP6414388B2 true JP6414388B2 (ja) 2018-10-31

Family

ID=54322281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014086560A Active JP6414388B2 (ja) 2014-04-18 2014-04-18 アクセラレータ回路及び画像処理装置

Country Status (2)

Country Link
US (1) US9363412B2 (ja)
JP (1) JP6414388B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016208178A1 (ja) * 2015-06-25 2016-12-29 日本電気株式会社 アクセラレータ制御装置、アクセラレータ制御方法および記憶媒体
KR20180080463A (ko) 2017-01-04 2018-07-12 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법
US10671550B1 (en) 2019-01-03 2020-06-02 International Business Machines Corporation Memory offloading a problem using accelerators

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373380A (ja) * 1986-09-16 1988-04-02 Matsushita Electric Ind Co Ltd 画像プロセッサ
JPH02230383A (ja) * 1989-03-03 1990-09-12 Hitachi Ltd 画像処理装置
JP2754832B2 (ja) * 1990-02-15 1998-05-20 オムロン株式会社 画像処理装置
JPH0540826A (ja) * 1991-08-02 1993-02-19 Canon Inc 画素密度変換方式
JP2001092949A (ja) * 1999-09-24 2001-04-06 Ricoh Co Ltd 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001195230A (ja) * 2000-01-14 2001-07-19 Mitsubishi Electric Corp 描画処理システム、及び描画演算を行う半導体集積回路
JP2002211050A (ja) 2001-01-22 2002-07-31 Ricoh Co Ltd 画像出力方法、画像出力装置及び画像出力システム
US7286717B2 (en) 2001-10-31 2007-10-23 Ricoh Company, Ltd. Image data processing device processing a plurality of series of data items simultaneously in parallel
JP2011141823A (ja) * 2010-01-08 2011-07-21 Renesas Electronics Corp データ処理装置および並列演算装置
JP2012234382A (ja) 2011-05-02 2012-11-29 Ricoh Co Ltd 画像表示システムおよび画像表示方法
JP2013008265A (ja) * 2011-06-27 2013-01-10 Sharp Corp パイプライン演算装置
JP2013239120A (ja) 2012-05-17 2013-11-28 Olympus Corp 画像処理装置

Also Published As

Publication number Publication date
JP2015207101A (ja) 2015-11-19
US9363412B2 (en) 2016-06-07
US20150302283A1 (en) 2015-10-22

Similar Documents

Publication Publication Date Title
US10210419B2 (en) Convolution operation apparatus
WO2019201656A1 (en) Method for accelerating operations and accelerator apparatus
CN108388527B (zh) 直接存储器存取引擎及其方法
CN111984189B (zh) 神经网络计算装置和数据读取、数据存储方法及相关设备
CN104981838B (zh) 优化图像存储器访问
JP7261226B2 (ja) 演算処理装置
US10922785B2 (en) Processor and method for scaling image
JP6414388B2 (ja) アクセラレータ回路及び画像処理装置
WO2021128820A1 (zh) 数据处理方法、装置、设备、存储介质和程序产品
JP7410961B2 (ja) 演算処理装置
JP2014075028A (ja) 画像処理装置
US9019284B2 (en) Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline
US8938133B2 (en) Image resizing apparatus and method that interpolates image blocks with abuttal regions
JP6565462B2 (ja) 情報処理装置およびデータ転送方法
CN108765341B (zh) 一种图像处理的方法及其装置
CN107977923B (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
JP4970378B2 (ja) メモリコントローラおよび画像処理装置
JP2011259511A (ja) 画像処理装置及び画像処理方法
JP4790545B2 (ja) 画像処理装置、画像処理方法
JP6099418B2 (ja) 半導体装置及びそのデータ処理方法
JP7321213B2 (ja) 情報処理装置、情報処理方法
CN111260536B (zh) 可变参数的数字图像多尺度卷积处理器及其实现方法
TWI464673B (zh) 電子裝置以及由電子裝置傳送數據至顯示設備的方法
JP6115435B2 (ja) 画像処理装置及びプログラム
JP4835872B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180918

R151 Written notification of patent or utility model registration

Ref document number: 6414388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151