【文献】
飯島俊匡, 外3名,“日常生活映像から検出された人物像によるエピソード想起”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1998年 1月22日,第97巻, 第500号,p.1-6
(58)【調査した分野】(Int.Cl.,DB名)
前記画像生成処理の実行回数をカウントし、前記実行回数が予め定められた繰り返し回数未満の場合には、前記画像生成処理を前記画像処理部に実行させ、前記実行回数が前記繰り返し回数となった場合には、前記最終画像フィルタ処理を前記画像処理部に実行させる中央演算プロセッサをさらに備えることを特徴とする請求項1に記載の画像処理装置。
前記画像処理部は、前記画像生成処理の実行回数をカウントし、前記実行回数が予め定められた繰り返し回数未満の場合には、前記画像生成処理を実行し、前記実行回数が前記繰り返し回数となった場合には、前記最終画像フィルタ処理を実行することを特徴とする請求項1に記載の画像処理装置。
前記画像処理部は、前記繰り返し回数が2以上である場合の2回目以降の前記画像生成処理では、直前の前記画像生成処理で前記メモリに書き込まれた前記第1縮小画像を前記第1画像として読み込むことを特徴とする請求項2または3に記載の画像処理装置。
前記画像処理部は、前記画像生成処理の手順と前記最終画像フィルタ処理の手順とがプログラムとして導入されたデジタル信号プロセッサであることを特徴とする請求項1から4のいずれか1つに記載の画像処理装置。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、実施形態にかかる画像処理装置および画像処理方法を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【0008】
図1は、実施形態による画像処理装置のハードウェア構成の一例を示すブロック図である。画像処理装置1は、DSP11と、CPU(Central Processing Unit)12と、RAM(Random Access Memory)13と、ROM(Read Only Memory)14を備え、DSP11とCPU12とRAM13とROM14との間は、バス15によって接続される。このような構成の画像処理装置1は、たとえばSoC(System-on-Chip)によって実現される。
【0009】
DSP11は、画像処理を行うマイクロプロセッサである。DSP11は、画像処理部の一例である。実施形態では、DSP11は、画像生成処理と、最終画像フィルタ処理と、を実行する。画像生成処理では、1枚のフィルタがかけられていない画像(以下、オリジナル画像という)から、異なるスケールで縮小された縮小画像をN枚(Nは2以上の自然数)生成し、最小のスケールの縮小画像以外の縮小画像およびオリジナル画像についてフィルタをかけたフィルタ画像を生成する。つまり、画像生成処理では、1枚のオリジナル画像から、最小のスケールの縮小画像を含まず、フィルタをかけたオリジナル画像を含むN枚の異なるスケールのフィルタ画像と、1枚の最小のスケールの縮小画像と、が生成される。
【0010】
最終画像フィルタ処理では、画像生成処理で生成された最小のスケールの縮小画像にフィルタをかけたフィルタ画像を生成する。画像生成処理は、1回以上の任意の回数繰り返し実行することができ、最後に実行された画像生成処理の後に、最終画像フィルタ処理が実行される。
【0011】
たとえば、1回の画像生成処理で5枚のスケールの異なるフィルタ画像が得られる場合を考える。フィルタがかけられたスケールの異なる画像が5枚要求される場合には、画像生成処理を1回行った後、最終画像フィルタ処理が行われる。また、フィルタがかけられたスケールの異なる画像が10枚要求される場合には、画像生成処理を2回繰り返し行う。このとき、2回目の画像生成処理では、1回目の画像生成処理で生成された最小スケールの縮小画像がオリジナル画像となる。そして、2回目の画像生成処理の後に、最終画像フィルタ処理が行われる。
【0012】
図2は、実施形態によるDSPの機能構成の一例を模式的に示すブロック図である。上記の処理を行うために、DSP11は、読込部111と、縮小部112と、フィルタ部113と、書込部114と、を備える。
【0013】
読込部111は、RAM13の所定のアドレスからオリジナル画像を読み込む。画像生成処理の指示を受けた場合には、読み込んだオリジナル画像を縮小部112に渡し、最終画像フィルタ処理の指示を受けた場合には、読み込んだオリジナル画像をフィルタ部113に渡す。なお、画像の読み込みは、画像を一度に全体を読み込んでもよいが、タイルまたはラインに分割して読み込んでもよい。
【0014】
縮小部112は、画像生成処理の指示を受けた場合に、読込部111で読み込まれたオリジナル画像から、スケールの異なるN枚の縮小画像を生成する。縮小画像の生成枚数は、その用途に応じて定められる。ここでは、オリジナル画像を、R1倍、R2倍、R3倍、R4倍およびR5倍に縮小するものとする。ただし、1>R1>R2>R3>R4>R5である。また、縮小倍率は、任意の倍率に設定される。さらに、縮小部112は、等倍のオリジナル画像と、最小のスケールの縮小画像を除くN−1枚の縮小画像と、をフィルタ部113に出力し、最小のスケールの縮小画像を書込部114に渡す。
【0015】
フィルタ部113は、画像生成処理の指示を受けた場合に、縮小部112からのオリジナル画像と、N枚の縮小画像のうち最小のスケールを除くN−1枚の縮小画像と、について、所望のフィルタ処理を行い、N枚のフィルタ画像を生成する。フィルタ部113は、5枚のフィルタ画像を書込部114に渡す。所望のフィルタ処理として、高周波強調フィルタ、ローパスフィルタおよび平滑化フィルタ等を例示することができる。
【0016】
また、フィルタ部113は、最終画像フィルタ処理の指示を受けた場合に、読込部111からのオリジナル画像について、高周波強調フィルタ、ローパスフィルタおよび平滑化フィルタ等の所望のフィルタ処理を行い、フィルタ画像を生成する。フィルタ部113は、生成したフィルタ画像を書込部114に渡す。
【0017】
書込部114は、画像生成処理の指示を受けた場合には、縮小部112からの最小のスケールの縮小画像と、フィルタ部113からのN枚のフィルタ画像と、をRAM13に書き込む。また、書込部114は、最終画像フィルタ処理の指示を受けた場合には、フィルタ部113からのフィルタ画像をRAM13に書き込む。
【0018】
図1に戻り、CPU12は、画像処理装置1を統括的に制御する中央演算プロセッサである。この実施形態では、CPU12は、フィルタ画像が所定の枚数となるように、DSP11の処理を制御する。具体的には、CPU12は、フィルタ画像が所定の枚数となるように、画像生成処理の実行回数をカウントし、画像生成処理の実行回数が所定の回数になると、最終画像フィルタ処理を実行するようにDSP11に指示する。CPU12は、たとえば、カメラなどの撮像装置によって撮像されたオリジナル画像がRAM13に記憶されると、カウンタをリセットし、DSP11によって画像生成処理が実行されるたびにカウンタを1インクリメントする。たとえば、DSP11によって、フィルタ画像と縮小画像とがRAM13に書き込まれたことを検出すると、CPU12はカウンタを1インクリメントする。また、画像生成処理の実行回数が1回に設定されている場合には、最終画像フィルタ処理後に6枚のフィルタ画像が生成され、画像生成処理の実行回数が2回に設定されている場合には、最終画像フィルタ処理後に11枚のフィルタ画像が得られる。一般的に画像生成処理の実行回数がN回(Nは自然数)に設定されている場合には、最終画像フィルタ処理後に5N+1枚のフィルタ画像が得られる。
【0019】
RAM13は、画像を記憶するメモリである。RAM13には、オリジナル画像と、DSP11で処理されたフィルタ画像および縮小画像と、が記憶される。RAM13として、DDR SDRAM(Double-Data-Rate Synchronous Dynamic RAM)、SRAM(Static RAM)などを用いることができる。なお、RAM13に保存されたフィルタ画像は、特徴点抽出などの画像処理が施される。また、RAM13には、ROM14に格納されたプログラムがロードされ、DSP11またはCPU12によって実行される。
【0020】
ROM14は、DSP11およびCPU12で実行されるプログラムを記憶する。たとえば、ROM14には、後述する画像処理方法を実行するプログラムなどが記憶される。
【0021】
バス15は、DSP11とCPU12とRAM13とROM14との間で、所定の通信規約にしたがってデータを電気信号の形で転送する。
【0022】
つぎに、このような構成の画像処理装置1での画像処理方法について説明する。
図3は、実施形態による画像処理方法の手順の一例を示すフローチャートである。なお、ここでは、画像生成処理の繰り返し回数がM回(Mは自然数)に設定されているものとする。また、RAM13の所定のアドレスに、カメラなどの撮像装置によって撮像されたオリジナル画像が記憶された状態にあるものとする。
【0023】
まず、RAM13にオリジナル画像が記憶されると、CPU12は、画像生成処理の実行回数をカウントするカウンタをリセットする(ステップS11)。ついで、CPU12は、RAM13に記憶されたオリジナル画像について、画像生成処理の実行をDSP11に指示し、DSP11は、画像生成処理を実行する(ステップS12)。
【0024】
図4は、画像生成処理の手順の一例を示すフローチャートである。まず、DSP11の読込部111は、RAM13の所定のアドレスから画像データを読み込む(ステップS31)。この画像データは、フィルタ処理が施されていないオリジナル画像である。カウンタの値が0の場合には、RAM13に記憶されている画像データは、たとえば撮像装置で撮像されたオリジナル画像である。また、カウンタの値が0以外の場合には、RAM13に記憶されている画像データは、前回の画像生成処理で生成された最小のスケールの縮小画像である。
【0025】
ついで、DSP11のフィルタ部113は、読み込んだオリジナル画像について、フィルタ処理を行い、フィルタ画像を生成する(ステップS32)。その後、DSP11の書込部114は、フィルタ処理されたフィルタ画像を、RAM13の所定のアドレスに書き込む(ステップS33)。
【0026】
また、DSP11の縮小部112は、読み込んだオリジナル画像から異なるN枚のスケールの縮小画像を生成する(ステップS34)。上記したように、スケールは、任意の値とすることができる。最小のスケールの縮小画像以外のN−1枚の縮小画像について、DSP11のフィルタ部113は、フィルタ処理を行い、フィルタ画像を生成する(ステップS35)。その後、DSP11の書込部114は、フィルタ処理されたN−1枚のフィルタ画像を、RAM13の所定のアドレスに書き込む(ステップS36)。一方、最小のスケールの縮小画像については、ステップS34で縮小画像が生成された後、書込部114は、RAM13の所定のアドレスに縮小画像を書き込む(ステップS37)。
【0027】
なお、オリジナル画像のステップS32〜S33の処理と、最小のスケールの縮小画像以外のステップS34〜S36の処理と、最小のスケールの縮小画像のステップS34,S37の処理とは、並行して実行される。以上によって、画像生成処理が終了し、
図3のフローチャートに処理が戻る。
【0028】
その後、RAM13の所定のアドレスにフィルタ画像と縮小画像とが書き込まれると、CPU12は、カウンタを1インクリメントする(ステップS13)。すなわち、画像生成処理の実行回数が1インクリメントされる。
【0029】
ついで、CPU12は、カウンタの値が繰り返し回数Mよりも小さいかを判定する(ステップS14)。カウンタの値が繰り返し回数Mよりも小さい場合(ステップS14でYesの場合)には、ステップS12へと処理が戻る。この場合には、前回の画像生成処理で、RAM13に書き込まれた最小のスケールの縮小画像について、画像生成処理が行われることになる。すなわち、CPU12は、RAM13に書き込まれた最小のスケールの縮小画像を読み込むようにDSP11に指示を与えて、上記した
図4の処理が行われる。
【0030】
一方、カウンタの値が繰り返し回数Mと同じである場合(ステップS14でNoの場合)には、最終画像フィルタ処理を実行する(ステップS15)。
【0031】
図5は、最終画像フィルタ処理の手順の一例を示すフローチャートである。まず、DSP11の読込部111は、RAM13の所定のアドレスから画像データを読み込む(ステップS51)。ここでは、直前の画像生成処理で最小のスケールの縮小画像が書き込まれたアドレスがCPU12からDSP11に通知され、DSP11は通知されたアドレスから最小のスケールの縮小画像を読み込む。ついで、DSP11のフィルタ部113は、読み込んだ最小のスケールの縮小画像にフィルタ処理を行い、フィルタ画像を生成する(ステップS52)。そして、DSP11の書込部114は、生成されたフィルタ画像をRAM13の所定のアドレスに書き込む(ステップS53)。以上によって、最終画像フィルタ処理が終了し、また
図3のフローチャートも終了する。
【0032】
なお、上記した説明では、CPU12が、画像生成処理の実行回数をカウントする機能を有しているが、画像処理部であるDSP11に画像生成処理の実行回数をカウントする機能(カウント部)を設けてもよい。
【0033】
つぎに、画像処理方法の概要について説明する。
図6−1〜
図7−2は、実施形態による画像処理方法の手順の一例を模式的に示す図である。この説明では、DSP11がオリジナル画像から5枚のスケールの異なる縮小画像を生成する場合を例に挙げる。また、
図6−1〜
図6−2は、繰り返し回数が1回の場合を示し、
図7−1〜
図7−2は、繰り返し回数が複数回の場合を示している。また、以下では、1回の画像形成処理で5枚の縮小画像が生成される場合を例に挙げる。
【0034】
<繰り返し回数が1回の場合>
図6−1(a)に示されるように、DSP11の読込部111は、バス15を介して、オリジナル画像201aをRAM13から読み込む。ついで、
図6−1(b)に示されるように、DSP11の縮小部112は、オリジナル画像201aから異なる倍率の5枚の縮小画像202a〜206aを生成する。すなわち、オリジナル画像201aに対して、R1倍の縮小画像202a、R2倍の縮小画像203a、R3倍の縮小画像204a、R4倍の縮小画像205aおよびR5倍の縮小画像206aが生成される。
【0035】
その後、
図6−1(c)に示されるように、DSP11の書込部114は、バス15を介して、最小のスケールの縮小画像206aをRAM13の所定のアドレスに書き込む。
【0036】
また、これと並行して、
図6−1(d)に示されるように、DSP11のフィルタ部113は、最小のスケールの縮小画像206aを除く縮小画像202a〜205aおよびオリジナル画像201aのそれぞれについて、フィルタ処理を行う。これによって、フィルタ画像201b〜205bが生成される。そして、
図6−2(e)に示されるように、DSP11の書込部114は、バス15を介して、生成したフィルタ画像201b〜205bをRAM13の所定のアドレスに書き込む。
【0037】
この例では、繰り返し回数が1回であるので、以上が画像生成処理になる。その後、最終画像フィルタ処理が行われる。
図6−2(f)に示されるように、DSP11の読込部111は、バス15を介して、最小のスケールの縮小画像206aを読み込む。ついで、
図6−2(g)に示されるように、DSP11のフィルタ部113は、読み込んだ縮小画像206aについてフィルタ処理を施してフィルタ画像206bを生成する。そして、
図6−2(h)に示されるように、DSP11の書込部114は、バス15を介して、生成したフィルタ画像206bをRAM13の所定のアドレスに書き込む。以上によって、オリジナル画像と等倍のフィルタ画像を含む6枚のフィルタ画像が得られる。
【0038】
<繰り返し回数が複数回の場合>
繰り返し回数が複数回の場合でも、繰り返し回数が1回の場合の
図6−1(a)〜
図6−2(e)と同様である。その後、図示しないCPU12によって繰り返し回数がカウントされ、
図7−1(a)に示されるように、DSP11の読込部111は、バス15を介して、前回の画像生成処理で最小のスケールの縮小画像206aが書き込まれたRAM13のアドレスから縮小画像206aを読み込む。すなわち、縮小画像206aが新たなオリジナル画像となる。
【0039】
ついで、
図7−1(b)に示されるように、DSP11の縮小部112は、オリジナル画像206aから異なる倍率の5枚の縮小画像207a〜211aを生成する。すなわち、オリジナル画像206aに対して、R1倍の縮小画像207a、R2倍の縮小画像208a、R3倍の縮小画像209a、R4倍の縮小画像210aおよびR5倍の縮小画像211aが生成される。なお、ここで生成される縮小画像207a〜211aは、それぞれ元のオリジナル画像201aのR5×R1倍、R5×R2倍、R5×R3倍、R5×R4倍、R5×R5倍となる。
【0040】
その後、
図7−1(c)に示されるように、DSP11の書込部114は、バス15を介して、最小のスケールの縮小画像211aをRAM13の所定のアドレスに書き込む。
【0041】
また、これと並行して、
図7−1(d)に示されるように、DSP11のフィルタ部113は、最小のスケールの縮小画像211aを除く縮小画像207a〜210aおよびオリジナル画像206aのそれぞれについて、フィルタ処理を行う。これによって、フィルタ画像206b〜210bが生成される。そして、
図7−2(e)に示されるように、DSP11の書込部114は、バス15を介して、生成したフィルタ画像206b〜210bをRAM13の所定のアドレスに書き込む。
【0042】
繰り返し回数が3回以上の場合には、
図7−1(a)〜
図7−2(e)が繰り返し回数分だけ行われることになる。ここでは、繰り返し回数が2回であるとする。そして、繰り返し回数が設定された回数になると、
図7−2(f)に示されるように、DSP11の読込部111は、バス15を介して、最小のスケールの縮小画像211aを読み込む。ついで、
図7−2(g)に示されるように、DSP11のフィルタ部113は、読み込んだ縮小画像211aについてフィルタ処理を施してフィルタ画像211bを生成する。そして、
図7−2(h)に示されるように、DSP11の書込部114は、バス15を介して、生成したフィルタ画像211bをRAM13の所定のアドレスに書き込む。以上によって、
図6−1(a)で読み込まれたオリジナル画像201aと等倍のフィルタ画像201bを含む11枚のフィルタ画像201b〜211bが得られる。
【0043】
ここで、比較例と比較した本実施形態の効果について説明する。
図8−1〜
図8−2は、比較例による画像処理方法の手順の一例を模式的に示す図である。この説明では、DSP11がオリジナル画像から5枚のスケールの異なる縮小画像を生成する場合を例に挙げる。
【0044】
図8−1(a)に示されるように、DSP11は、バス15を介して、オリジナル画像201aをRAM13から読み込む。ついで、
図8−1(b)に示されるように、DSP11は、オリジナル画像201aから異なる倍率の5枚の縮小画像202a〜206aを生成する。すなわち、オリジナル画像201aに対して、R1倍の縮小画像202a、R2倍の縮小画像203a、R3倍の縮小画像204a、R4倍の縮小画像205aおよびR5倍の縮小画像206aが生成される。
【0045】
その後、
図8−1(c)に示されるように、DSP11は、バス15を介して、最小のスケールの縮小画像206aをRAM13の所定のアドレスに書き込む。
【0046】
また、これと並行して、
図8−1(d)に示されるように、DSP11は、縮小画像202a〜206aのそれぞれについて、フィルタ処理を行う。これによって、フィルタ画像202b〜206bが生成される。そして、
図8−2(e)に示されるように、DSP11は、バス15を介して、生成したフィルタ画像202b〜206bをRAM13の所定のアドレスに書き込む。
【0047】
繰り返し回数が1回である場合には、その後、
図8−2(f)に示されるように、DSP11は、バス15を介して、
図8−1(a)で読み込んだものと同じオリジナル画像201aを読み込む。ついで、
図8−2(g)に示されるように、DSP11は、読み込んだオリジナル画像201aについてフィルタ処理を施してフィルタ画像201bを生成する。そして、
図8−2(h)に示されるように、DSP11は、バス15を介して、生成したフィルタ画像201bをRAM13の所定のアドレスに書き込む。以上によって、オリジナル画像と等倍のフィルタ画像を含む6枚のフィルタ画像が得られる。
【0048】
図8−1(a)および
図8−2(f)に示されるように、比較例では、RAM13からDSP11へと、バス15を介して、縮小画像と比較するとサイズの大きいオリジナル画像201aが2回読み込まれている。そのため、画像処理に時間がかかるとともに、転送時にバス15に負荷がかかってしまう。
【0049】
一方、本実施形態では、繰り返し回数が1回の場合には、RAM13からDSP11へと、バス15を介して、オリジナル画像201aを転送した後、最終画像フィルタ処理の際には、RAM13からDSP11へと、バス15を介して、オリジナル画像を縮小したもののうち最小のスケールの縮小画像を転送する。つまり、比較例と比較して、2回目に送信する画像データのサイズが小さくなる。そのため、画像データの転送に要する時間、すなわち画像処理にかかる時間を比較例に比して短縮することができ、かつ転送時のバス15にかかる負荷を比較例に比して低減できるという効果を得ることができる。
【0050】
本実施形態の画像処理装置で実行される画像処理プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disc)−ROM、フレキシブルディスク(FD)、CD−R(recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0051】
また、本実施形態の画像処理装置で実行される画像処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。さらに、本実施形態の画像処理装置で実行される画像処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0052】
また、本実施形態の画像処理プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0053】
本実施の形態の画像処理装置で実行される画像処理プログラムは、上述した各部(読込部111、縮小部112、フィルタ部113および書込部114)を含むモジュール構成となっており、実際のハードウェアとしてはDSP11(プロセッサ)が上記記憶媒体から画像処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、読込部111、縮小部112、フィルタ部113および書込部114が主記憶装置上に生成されるようになっている。
【0054】
また、上記した説明では、DSP11が画像処理プログラムを読み込んで、上記した画像処理方法を実行する場合を説明した。しかし、DSP11に代えて、上記した画像処理方法をソフトウェアではなくハードウェアで実行するIPA(Image Processing Accelerator)を用いてもよい。IPAは、画像処理方法を実行する回路によって構成される。
【0055】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。