JP2005275679A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2005275679A JP2005275679A JP2004086521A JP2004086521A JP2005275679A JP 2005275679 A JP2005275679 A JP 2005275679A JP 2004086521 A JP2004086521 A JP 2004086521A JP 2004086521 A JP2004086521 A JP 2004086521A JP 2005275679 A JP2005275679 A JP 2005275679A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- processor
- window
- processor elements
- processing apparatus
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】SIMD型プロセッサを利用した画像処理装置において、必要最小限のプロセッサエレメントの構成で高速な演算を実現すること。
【解決手段】本発明は、注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行う画像処理装置において、ウインドウの行もしくは列の方向に沿った所定単位で係数による演算を並列に行う複数のプロセッサエレメントPEと、複数のプロセッサエレメントPEの各々で演算した結果を結合する結合プロセッサエレメントA−PEとを備えている。
【選択図】図1
【解決手段】本発明は、注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行う画像処理装置において、ウインドウの行もしくは列の方向に沿った所定単位で係数による演算を並列に行う複数のプロセッサエレメントPEと、複数のプロセッサエレメントPEの各々で演算した結果を結合する結合プロセッサエレメントA−PEとを備えている。
【選択図】図1
Description
本発明は、注目画素に対する処理として、注目画素およびその周辺画素の信号値を用いた演算を行う画像処理装置に関する。
従来から複写機やプリンタの画像処理システムには、そのリアルタイム性(プリント・エンジンに追従して画像処理を行わなければならない)からASIC(専用ハードウェア)が使用されてきた。
また、最近は半導体プロセスの進歩に伴いシステムを1チップにインテグレーションするSOC(Systen On a Chip)化が盛んに叫ばれている。しかし一方で、1チップ当たりの開発期間・開発費は莫大なものとなっており、特にバグが発見された場合の再開発まで考えると量産数量が非常に多い商品でないとペイしない可能性がある。これだけでなく、最近は複写機やプリンタの付加価値向上のため、「新たな画像処理を短期間で実装したい」というニーズがある。
これは、今までのように開発側の「機能の押し売り」ではなく、カスタマ個々のニーズに応えていく「サービス指向」が今後重要であることに他ならない。このようにカスタマのニーズに短期に応えていくためにも「画像処理のソフトウェア化」は今後益々重要性を増すことになる。
これに対処するために、リアルタイム性の要求される画像処理にデジタルテレビなどの映像信号処理プロセッサ、すなわちSIMD(Single Instruction Multiple Data)型プロセッサを利用することが特許文献1に記載されている。
しかしながら、上記のようなSIMD型プロセッサを利用した画像処理装置では、複数のプロセッサエレメントで同時に多画素を処理するため、各プロセッサエレメントのパフォーマンスで画像処理装置全体の性能が決まってしまうという問題がある。また、複数のプロセッサエレメントで信号処理を並列に行うことも考えられるが、単にプロセッサエレメントの数を増やすだけでは膨大な数のプロセッサエレメントが必要となってしまう。
本発明はこのような課題を解決するために成されたものである。すなわち、本発明は、注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行う画像処理装置において、ウインドウの行もしくは列の方向に沿った所定単位で係数による演算を並列に行う複数のプロセッサエレメントと、複数のプロセッサエレメントの各々で演算した結果を結合する結合プロセッサエレメントとを備えている。
このような本発明では、注目画素に対する処理を行うにあたり、ウインドウの行もしくは列の方向に沿った所定単位で複数のプロセッサエレメントによる演算を行い、これらのプロセッサエレメントで演算した結果を結合プロセッサエレメントで結合するため、必要最小限のプロセッサエレメントを用いて効率的な並列処理により画像処理演算の高速化を図ることができるようになる。
したがって、本発明によれば、SIMD型プロセッサを利用した画像処理装置における演算を、最小のプロセッサエレメントで高速化することができ、リアルタイム性の要求される画像処理に適用することが可能となる。
以下、本発明の実施の形態を図に基づき説明する。図1は本実施形態に係る画像処理装置の構成を説明するブロック図、図2は本実施形態の画像処理装置を実現するプロセッサの構成図である。図2に示すように、本実施形態の画像処理装置を実現するためのプロセッサは、複数のプロセッサエレメント(例えば、PE1〜PE4)がネットワーク構成でつながっており、各プロセッサエレメントの間にグローバルレジスタ(GR)が介在する構成となっている。
また、各プロセッサエレメントにはローカルメモリMが設けられており、各々で行う演算の作業用領域などに利用される。なお、図2に示す例ではグローバルレジスタ(GR)を介して各プロセッサエレメント(PE)を接続しているが、バス接続もしくは直接入出力される構成でも実現可能である。
このようなプロセッサ構成において本実施形態の画像処理装置は、図1に示すように、入力される信号について演算を並列に行う複数のプロセッサエレメントPEと、これら複数のプロセッサエレメントPEの各々で演算した結果を結合する結合プロセッサエレメントA−PEとを備えている。
すなわち、この画像処理装置は、注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行うもので、複数のプロセッサエレメントPEでは、ウインドウの行もしくは列の方向に沿った所定単位での演算を並列に行い、その演算の結果を結合プロセッサエレメントA−PEで結合するようになっている。
ここで、従来のような1つのプロセッサで画像処理を行う場合の例を本実施形態の画像処理装置の比較例として説明する。図3は、画像信号に対するウインドウ処理の例を説明する図で、ここでは7×7フィルタ演算で係数の配置に対称性があり(図中A〜Pに対応した係数で、同じ符号は同じ係数であることを示している)、たたみ込み演算を行う場合を例としている。
この場合、注目画素の画像データであるd33について処理を行うにあたり、これを中心とした7×7のウインドウを構成する画素の画像データd00〜d66(注目画素とその周辺画素の画像データ)と、7×7フィルタの係数W00〜W66とを用いて、図4に示される計算式により処理後の画像データd’33を得る。
このような演算で係数に対称性がある場合には、係数および画像データの配置に対応してたたみ込み演算が可能となるが、トータル64回(乗算16回、加算48回)の演算が発生する。つまり、1つのプロセッサでこの演算を行うと64サイクルかかることになり、多くの処理時間を必要とし、演算の高速化が困難となる。
図5は、本実施形態に係る画像処理装置で行う演算を説明する模式図である。この例では、注目画素に対する処理として、ウインドウを構成する偶数ラインと奇数ラインとに分解して各プロセッサエレメント(PE1とPE2)で処理を行い、ここで同じ係数に対応したデータの加算(たたみ込み)を行った後、後段のプロセッサエレメント(PE3とPE4)で対応する係数との乗算を行う。その後、2つのプロセッサエレメント(PE3とPE4)から出力された演算結果を結合プロセッサエレメント(PE5)で結合する。
これにより、ウインドウに対応した偶数ラインと奇数ラインとの演算を並列に行うことができ、演算の高速化を図ることが可能となる。具体的には、7×7の画像データのうち、奇数ライン(1,3,5,7line)のデータを処理するプロセッサエレメントPE1、PE3では、この奇数ラインの各画像データに対して奇数ラインに対応する7×4のフィルタを構成し、処理を行う。
このうち、プロセッサエレメントPE1では、奇数ラインに対応した画像データの加算を行う。例えば、図3に示す係数の奇数ラインに対応したA,B,C,DおよびI,J,K,Lと各々乗算を行うためのたたみ込み加算を行う。一例として係数Aに対応するたたみ込み加算では、図4に示す対称性のある係数時の演算で係数Aと乗算される画像データd00,d06,d60,d66を加算する処理を行う。
また、プロセッサエレメントPE3では、プロセッサエレメントPE1で加算された結果と奇数ラインに対応した係数との乗算を行う。例えば、図3に示す係数A,B,C,DおよびI,J,K,Lと各々対応するたたみ込み加算の結果との乗算を行う。一例として係数Aに対応する計算では、プロセッサエレメントPE1で加算された係数Aに対応するたたみ込み加算(画像データd00,d06,d60,d66を加算)の結果と係数Aとの乗算を行う。
一方、7×7の画像データのうち、偶数ライン(2,4,6line)のデータを処理するプロセッサエレメントPE2、PE4では、この偶数ラインの各画像データに対して偶数ラインに対応する7×3のフィルタを構成し、処理を行う。
このうち、プロセッサエレメントPE2では、偶数ラインに対応した画像データの加算を行う。例えば、図3に示す係数の偶数ラインに対応したE,F,G,HおよびM,N,O,Pと各々乗算を行うためのたたみ込み加算を行う。一例として係数Eに対応するたたみ込み加算では、図4に示す対称性のある係数時の演算で係数Eと乗算される画像データd10,d16,d50,d56を加算する処理を行う。
また、プロセッサエレメントPE4では、プロセッサエレメントPE2で加算された結果と奇数ラインに対応した係数との乗算を行う。例えば、図3に示す係数E,F,G,HおよびM,N,O,Pと各々対応するたたみ込み加算の結果との乗算を行う。一例として係数Eに対応する計算では、プロセッサエレメントPE2で加算された係数Eに対応するたたみ込み加算(画像データd10,d16,d50,d56を加算)の結果と係数Eとの乗算を行う。
その後、奇数、偶数ラインの各々の演算結果を結合プロセッサエレメントPE5で結合する。具体的には、図4に示す対称性のある係数時の演算で、各係数と対応するたたみ込み加算との乗算との結果を全て合算する処理を行う。
なお、奇数ライン演算用のプロセッサエレメントPE1、PE3で構成する7×4のフィルタや、偶数ライン演算用のプロセッサエレメントPE2、PE4で構成する7×3のフィルタは、各々の内部メモリ(図2のローカルメモリM)で構成しても、共有メモリを分割して構成してもよい。
また、注目画素が1段下に移行する場合には、係数の奇数ライン、偶数ラインを逆にして演算を行う。このような奇数ライン、偶数ラインでの並列演算処理によって、フィルタの係数配置に合わせた必要最小限のプロセッサエレメントによって、高速演算が可能となる。
次に、他の実施形態を説明する。図6は、他の実施形態に係る画像処理装置を説明するブロック図である。この画像処理装置では、先に説明したプロセッサエレメントの構成を複数にして、同じ係数となるライン単位で振り分けて処理を行うものである。
つまり、図3に示す係数では、1ライン目と7ライン目、2ライン目と6ライン目、3ライン目と5ライン目が各々同じ係数となっており、4ライン目が独立した係数となっている。そこで、1ライン目と7ライン目に対応する演算をプロセッサエレメントPE1〜PE5で行い、2ライン目と6ライン目に対応する演算をプロセッサエレメントPE11〜PE15で行い、3ライン目と5ライン目に対応する演算をプロセッサエレメントPE21〜PE25で行い、4ライン目に対応する演算をプロセッサエレメントPE31〜PE35で行う。そして、プロセッサエレメントPE5、PE15、PE25、PE35で結合した結果をプロセッサエレメントPE40で合算する。
このように、1つの7×7フィルタの演算を21個のプロセッサエレメントに分散して処理することによって、演算の更なる高速化を図ることが可能となる。
また、図7は、他のライン単位での演算例を説明する模式図である。すなわち、先に示した例では奇数ライン、偶数ラインで分けた単位で演算を行ったが、フィルタの係数配置や対称性の違いによっては奇数ライン、偶数ラインで分ける以外の単位で演算を振り分けることになる。
図7(a)で示す例は、1ライン目、2ライン目、6ライン目、7ライン目のグループと、3ライン目、4ライン目、5ライン目のグループとに分けて演算を行う場合、図7(b)で示す例は、行ラインではなく列ラインで分ける場合を示している。いずれにおいてもフィルタの係数配置によって効率的な振り分けを行い、プロセッサエレメントを構成することで、最小限のプロセッサエレメント数で高速な演算処理を実現することが可能となる。なお、演算の振り分け方は上記例のほか、フィルタの係数配置による行もしくは列の所定単位で行えば、プロセッサエレメントの数の増大を抑制しつつ、並列処理による高速演算を実現できるようになる。
PE…プロセッサエレメント、A−PE…結合プロセッサエレメント
Claims (3)
- 注目画素に対する信号処理を行うにあたり、マトリクス状のウインドウを構成する画素の信号値と、そのウインドウ内の画素位置に対応した係数とによる演算を行う画像処理装置において、
前記ウインドウの行もしくは列の方向に沿った所定単位で前記係数による演算を並列に行う複数のプロセッサエレメントと、
前記複数のプロセッサエレメントの各々で演算した結果を結合する結合プロセッサエレメントと
を備えることを特徴とする画像処理装置。 - 前記複数のプロセッサエレメントは、前記ウインドウの行もしくは列の方向に沿った偶数、奇数ごとに設けられている
ことを特徴とする請求項1記載の画像処理装置。 - 前記複数のプロセッサエレメントは、前記ウインドウの行もしくは列の方向に沿った隣接する複数の行もしくは列の単位ごとに設けられている
ことを特徴とする請求項1記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004086521A JP2005275679A (ja) | 2004-03-24 | 2004-03-24 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004086521A JP2005275679A (ja) | 2004-03-24 | 2004-03-24 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005275679A true JP2005275679A (ja) | 2005-10-06 |
Family
ID=35175312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004086521A Withdrawn JP2005275679A (ja) | 2004-03-24 | 2004-03-24 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005275679A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576894B (zh) * | 2008-05-09 | 2012-05-30 | 中国科学院半导体研究所 | 实时图像内容检索系统及图像特征提取方法 |
JP2016045565A (ja) * | 2014-08-20 | 2016-04-04 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
-
2004
- 2004-03-24 JP JP2004086521A patent/JP2005275679A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576894B (zh) * | 2008-05-09 | 2012-05-30 | 中国科学院半导体研究所 | 实时图像内容检索系统及图像特征提取方法 |
JP2016045565A (ja) * | 2014-08-20 | 2016-04-04 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20170125396A (ko) | 높은 성능, 전력 효율, 프로그램 가능 이미지 처리 프로세싱을 위한 아키텍처 | |
US7506135B1 (en) | Histogram generation with vector operations in SIMD and VLIW processor by consolidating LUTs storing parallel update incremented count values for vector data elements | |
US8130229B2 (en) | Methods and apparatus for image processing at pixel rate | |
US7409528B2 (en) | Digital signal processing architecture with a wide memory bandwidth and a memory mapping method thereof | |
CN108073549B (zh) | 卷积运算装置及方法 | |
US7596679B2 (en) | Interconnections in SIMD processor architectures | |
WO2020087742A1 (zh) | 用于实现卷积运算的处理元件、装置和方法 | |
US20230236832A1 (en) | Semiconductor device | |
JP2011169935A (ja) | 画像処理装置、画像処理方法、コンピュータープログラム | |
JP2005275679A (ja) | 画像処理装置 | |
TW201921287A (zh) | 半導體裝置及影像辨識系統 | |
US11127375B2 (en) | Systems and methods for graphical layer blending | |
US6748514B2 (en) | Parallel processor and image processing system for simultaneous processing of plural image data items without additional circuit delays and power increases | |
JP2010244098A (ja) | 画像処理装置、印刷システム、画像処理方法およびプログラム | |
JP2838817B2 (ja) | 動き補償演算装置 | |
JP5271567B2 (ja) | 画像前処理装置 | |
JP5369669B2 (ja) | Simd型マイクロプロセッサ | |
JP4682975B2 (ja) | 画像処理装置 | |
CN108833872B (zh) | 一种yuy2颜色空间快速缩放或放大的方法 | |
Tan et al. | Parallel Implementations of Block-Based Motion Vector Estimation for Video Compression on the MasPar MP-1 and PASM. | |
JP2004206387A (ja) | 画像処理方法およびプロセッサおよび画像処理装置 | |
Bose et al. | Mapping Image Transformations Onto Pixel Processor Arrays | |
JP5473507B2 (ja) | 並列処理装置 | |
Fuertler et al. | Streaming warper with cubic spline interpolation for rectification of distorted images on FPGAs | |
JP2011004193A (ja) | 画像処理装置およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20070221 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A761 | Written withdrawal of application |
Effective date: 20081016 Free format text: JAPANESE INTERMEDIATE CODE: A761 |