(57)【要約】【課題】SIMD型プロセッサを利用した画像処理装置において、必要最小限のプロセッサエレメントの構成で高速な演算を実現すること。【解決手段】本発明は、注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行う画像処理装置において、ウインドウの行もしくは列の方向に沿った所定単位で係数による演算を並列に行う複数のプロセッサエレメントＰＥと、複数のプロセッサエレメントＰＥの各々で演算した結果を結合する結合プロセッサエレメントＡ−ＰＥとを備えている。【選択図】図１
2005275679.tif 000002
【特許請求の範囲】
【請求項１】
注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行う画像処理装置において、
前記ウインドウの行もしくは列の方向に沿った所定単位で前記係数による演算を並列に行う複数のプロセッサエレメントと、
前記複数のプロセッサエレメントの各々で演算した結果を結合する結合プロセッサエレメントと
を備えることを特徴とする画像処理装置。
【請求項２】
前記複数のプロセッサエレメントは、前記ウインドウの行もしくは列の方向に沿った偶数、奇数ごとに設けられている
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記複数のプロセッサエレメントは、前記ウインドウの行もしくは列の方向に沿った隣接する複数の行もしくは列の単位ごとに設けられている
ことを特徴とする請求項１記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、注目画素に対する処理として、注目画素およびその周辺画素の信号値を用いた演算を行う画像処理装置に関する。
【背景技術】
【０００２】
従来から複写機やプリンタの画像処理システムには、そのリアルタイム性(プリント・エンジンに追従して画像処理を行わなければならない)からASIC(専用ハードウェア)が使用されてきた。
【０００３】
また、最近は半導体プロセスの進歩に伴いシステムを１チップにインテグレーションするSOC(Systen On a Chip)化が盛んに叫ばれている。しかし一方で、１チップ当たりの開発期間・開発費は莫大なものとなっており、特にバグが発見された場合の再開発まで考えると量産数量が非常に多い商品でないとペイしない可能性がある。これだけでなく、最近は複写機やプリンタの付加価値向上のため、「新たな画像処理を短期間で実装したい」というニーズがある。
【０００４】
これは、今までのように開発側の「機能の押し売り」ではなく、カスタマ個々のニーズに応えていく「サービス指向」が今後重要であることに他ならない。このようにカスタマのニーズに短期に応えていくためにも「画像処理のソフトウェア化」は今後益々重要性を増すことになる。
【０００５】
これに対処するために、リアルタイム性の要求される画像処理にデジタルテレビなどの映像信号処理プロセッサ、すなわちSIMD(Single Instruction Multiple Data)型プロセッサを利用することが特許文献１に記載されている。
【０００６】
【特許文献１】特開平７−３３４６７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のようなSIMD型プロセッサを利用した画像処理装置では、複数のプロセッサエレメントで同時に多画素を処理するため、各プロセッサエレメントのパフォーマンスで画像処理装置全体の性能が決まってしまうという問題がある。また、複数のプロセッサエレメントで信号処理を並列に行うことも考えられるが、単にプロセッサエレメントの数を増やすだけでは膨大な数のプロセッサエレメントが必要となってしまう。
【課題を解決するための手段】
【０００８】
本発明はこのような課題を解決するために成されたものである。すなわち、本発明は、注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行う画像処理装置において、ウインドウの行もしくは列の方向に沿った所定単位で係数による演算を並列に行う複数のプロセッサエレメントと、複数のプロセッサエレメントの各々で演算した結果を結合する結合プロセッサエレメントとを備えている。
【０００９】
このような本発明では、注目画素に対する処理を行うにあたり、ウインドウの行もしくは列の方向に沿った所定単位で複数のプロセッサエレメントによる演算を行い、これらのプロセッサエレメントで演算した結果を結合プロセッサエレメントで結合するため、必要最小限のプロセッサエレメントを用いて効率的な並列処理により画像処理演算の高速化を図ることができるようになる。
【発明の効果】
【００１０】
したがって、本発明によれば、SIMD型プロセッサを利用した画像処理装置における演算を、最小のプロセッサエレメントで高速化することができ、リアルタイム性の要求される画像処理に適用することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を図に基づき説明する。図１は本実施形態に係る画像処理装置の構成を説明するブロック図、図２は本実施形態の画像処理装置を実現するプロセッサの構成図である。図２に示すように、本実施形態の画像処理装置を実現するためのプロセッサは、複数のプロセッサエレメント（例えば、ＰＥ１〜ＰＥ４）がネットワーク構成でつながっており、各プロセッサエレメントの間にグローバルレジスタ（ＧＲ）が介在する構成となっている。
【００１２】
また、各プロセッサエレメントにはローカルメモリＭが設けられており、各々で行う演算の作業用領域などに利用される。なお、図２に示す例ではグローバルレジスタ（ＧＲ）を介して各プロセッサエレメント（ＰＥ）を接続しているが、バス接続もしくは直接入出力される構成でも実現可能である。
【００１３】
このようなプロセッサ構成において本実施形態の画像処理装置は、図１に示すように、入力される信号について演算を並列に行う複数のプロセッサエレメントＰＥと、これら複数のプロセッサエレメントＰＥの各々で演算した結果を結合する結合プロセッサエレメントＡ−ＰＥとを備えている。
【００１４】
すなわち、この画像処理装置は、注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行うもので、複数のプロセッサエレメントＰＥでは、ウインドウの行もしくは列の方向に沿った所定単位での演算を並列に行い、その演算の結果を結合プロセッサエレメントＡ−ＰＥで結合するようになっている。
【００１５】
ここで、従来のような１つのプロセッサで画像処理を行う場合の例を本実施形態の画像処理装置の比較例として説明する。図３は、画像信号に対するウインドウ処理の例を説明する図で、ここでは７×７フィルタ演算で係数の配置に対称性があり（図中Ａ〜Ｐに対応した係数で、同じ符号は同じ係数であることを示している）、たたみ込み演算を行う場合を例としている。
【００１６】
この場合、注目画素の画像データであるｄ33について処理を行うにあたり、これを中心とした７×７のウインドウを構成する画素の画像データｄ00〜ｄ66（注目画素とその周辺画素の画像データ）と、７×７フィルタの係数Ｗ00〜Ｗ66とを用いて、図４に示される計算式により処理後の画像データｄ’33を得る。
【００１７】
このような演算で係数に対称性がある場合には、係数および画像データの配置に対応してたたみ込み演算が可能となるが、トータル６４回（乗算１６回、加算４８回）の演算が発生する。つまり、１つのプロセッサでこの演算を行うと６４サイクルかかることになり、多くの処理時間を必要とし、演算の高速化が困難となる。
【００１８】
図５は、本実施形態に係る画像処理装置で行う演算を説明する模式図である。この例では、注目画素に対する処理として、ウインドウを構成する偶数ラインと奇数ラインとに分解して各プロセッサエレメント（ＰＥ１とＰＥ２）で処理を行い、ここで同じ係数に対応したデータの加算（たたみ込み）を行った後、後段のプロセッサエレメント（ＰＥ３とＰＥ４）で対応する係数との乗算を行う。その後、２つのプロセッサエレメント（ＰＥ３とＰＥ４）から出力された演算結果を結合プロセッサエレメント（ＰＥ５）で結合する。
【００１９】
これにより、ウインドウに対応した偶数ラインと奇数ラインとの演算を並列に行うことができ、演算の高速化を図ることが可能となる。具体的には、７×７の画像データのうち、奇数ライン（１，３，５，７ｌｉｎｅ）のデータを処理するプロセッサエレメントＰＥ１、ＰＥ３では、この奇数ラインの各画像データに対して奇数ラインに対応する７×４のフィルタを構成し、処理を行う。
【００２０】
このうち、プロセッサエレメントＰＥ１では、奇数ラインに対応した画像データの加算を行う。例えば、図３に示す係数の奇数ラインに対応したＡ，Ｂ，Ｃ，ＤおよびＩ，Ｊ，Ｋ，Ｌと各々乗算を行うためのたたみ込み加算を行う。一例として係数Ａに対応するたたみ込み加算では、図４に示す対称性のある係数時の演算で係数Ａと乗算される画像データｄ00，ｄ06，ｄ60，ｄ66を加算する処理を行う。
【００２１】
また、プロセッサエレメントＰＥ３では、プロセッサエレメントＰＥ１で加算された結果と奇数ラインに対応した係数との乗算を行う。例えば、図３に示す係数Ａ，Ｂ，Ｃ，ＤおよびＩ，Ｊ，Ｋ，Ｌと各々対応するたたみ込み加算の結果との乗算を行う。一例として係数Ａに対応する計算では、プロセッサエレメントＰＥ１で加算された係数Ａに対応するたたみ込み加算（画像データｄ00，ｄ06，ｄ60，ｄ66を加算）の結果と係数Ａとの乗算を行う。
【００２２】
一方、７×７の画像データのうち、偶数ライン（２，４，６ｌｉｎｅ）のデータを処理するプロセッサエレメントＰＥ２、ＰＥ４では、この偶数ラインの各画像データに対して偶数ラインに対応する７×３のフィルタを構成し、処理を行う。
【００２３】
このうち、プロセッサエレメントＰＥ２では、偶数ラインに対応した画像データの加算を行う。例えば、図３に示す係数の偶数ラインに対応したＥ，Ｆ，Ｇ，ＨおよびＭ，Ｎ，Ｏ，Ｐと各々乗算を行うためのたたみ込み加算を行う。一例として係数Ｅに対応するたたみ込み加算では、図４に示す対称性のある係数時の演算で係数Ｅと乗算される画像データｄ10，ｄ16，ｄ50，ｄ56を加算する処理を行う。
【００２４】
また、プロセッサエレメントＰＥ４では、プロセッサエレメントＰＥ２で加算された結果と奇数ラインに対応した係数との乗算を行う。例えば、図３に示す係数Ｅ，Ｆ，Ｇ，ＨおよびＭ，Ｎ，Ｏ，Ｐと各々対応するたたみ込み加算の結果との乗算を行う。一例として係数Ｅに対応する計算では、プロセッサエレメントＰＥ２で加算された係数Ｅに対応するたたみ込み加算（画像データｄ10，ｄ16，ｄ50，ｄ56を加算）の結果と係数Ｅとの乗算を行う。
【００２５】
その後、奇数、偶数ラインの各々の演算結果を結合プロセッサエレメントＰＥ５で結合する。具体的には、図４に示す対称性のある係数時の演算で、各係数と対応するたたみ込み加算との乗算との結果を全て合算する処理を行う。
【００２６】
なお、奇数ライン演算用のプロセッサエレメントＰＥ１、ＰＥ３で構成する７×４のフィルタや、偶数ライン演算用のプロセッサエレメントＰＥ２、ＰＥ４で構成する７×３のフィルタは、各々の内部メモリ（図２のローカルメモリＭ）で構成しても、共有メモリを分割して構成してもよい。
【００２７】
また、注目画素が１段下に移行する場合には、係数の奇数ライン、偶数ラインを逆にして演算を行う。このような奇数ライン、偶数ラインでの並列演算処理によって、フィルタの係数配置に合わせた必要最小限のプロセッサエレメントによって、高速演算が可能となる。
【００２８】
次に、他の実施形態を説明する。図６は、他の実施形態に係る画像処理装置を説明するブロック図である。この画像処理装置では、先に説明したプロセッサエレメントの構成を複数にして、同じ係数となるライン単位で振り分けて処理を行うものである。
【００２９】
つまり、図３に示す係数では、１ライン目と７ライン目、２ライン目と６ライン目、３ライン目と５ライン目が各々同じ係数となっており、４ライン目が独立した係数となっている。そこで、１ライン目と７ライン目に対応する演算をプロセッサエレメントＰＥ１〜ＰＥ５で行い、２ライン目と６ライン目に対応する演算をプロセッサエレメントＰＥ１１〜ＰＥ１５で行い、３ライン目と５ライン目に対応する演算をプロセッサエレメントＰＥ２１〜ＰＥ２５で行い、４ライン目に対応する演算をプロセッサエレメントＰＥ３１〜ＰＥ３５で行う。そして、プロセッサエレメントＰＥ５、ＰＥ１５、ＰＥ２５、ＰＥ３５で結合した結果をプロセッサエレメントＰＥ４０で合算する。
【００３０】
このように、１つの７×７フィルタの演算を２１個のプロセッサエレメントに分散して処理することによって、演算の更なる高速化を図ることが可能となる。
【００３１】
また、図７は、他のライン単位での演算例を説明する模式図である。すなわち、先に示した例では奇数ライン、偶数ラインで分けた単位で演算を行ったが、フィルタの係数配置や対称性の違いによっては奇数ライン、偶数ラインで分ける以外の単位で演算を振り分けることになる。
【００３２】
図７（ａ）で示す例は、１ライン目、２ライン目、６ライン目、７ライン目のグループと、３ライン目、４ライン目、５ライン目のグループとに分けて演算を行う場合、図７（ｂ）で示す例は、行ラインではなく列ラインで分ける場合を示している。いずれにおいてもフィルタの係数配置によって効率的な振り分けを行い、プロセッサエレメントを構成することで、最小限のプロセッサエレメント数で高速な演算処理を実現することが可能となる。なお、演算の振り分け方は上記例のほか、フィルタの係数配置による行もしくは列の所定単位で行えば、プロセッサエレメントの数の増大を抑制しつつ、並列処理による高速演算を実現できるようになる。
【図面の簡単な説明】
【００３３】
【図１】本実施形態に係る画像処理装置の構成を説明するブロック図である。
【図２】本実施形態の画像処理装置を実現するプロセッサの構成図である。
【図３】画像信号に対するウインドウ処理の例を説明する図である。
【図４】７×７フィルタの計算式を示す図である。
【図５】本実施形態に係る画像処理装置で行う演算を説明する模式図である。
【図６】他の実施形態に係る画像処理装置を説明するブロック図である。
【図７】他のライン単位での演算例を説明する模式図である。
【符号の説明】
【００３４】
ＰＥ…プロセッサエレメント、Ａ−ＰＥ…結合プロセッサエレメント
【図１】
2005275679.tif 000003
【図２】
2005275679.tif 000004
【図３】
2005275679.tif 000005
【図４】
2005275679.tif 000006
【図５】
2005275679.tif 000007
【図６】
2005275679.tif 000008
【図７】
2005275679.tif 000009