JP4682975B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP4682975B2
JP4682975B2 JP2006347275A JP2006347275A JP4682975B2 JP 4682975 B2 JP4682975 B2 JP 4682975B2 JP 2006347275 A JP2006347275 A JP 2006347275A JP 2006347275 A JP2006347275 A JP 2006347275A JP 4682975 B2 JP4682975 B2 JP 4682975B2
Authority
JP
Japan
Prior art keywords
pixel data
data
ring buffer
image processing
buffer
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.)
Expired - Fee Related
Application number
JP2006347275A
Other languages
English (en)
Other versions
JP2008158836A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2006347275A priority Critical patent/JP4682975B2/ja
Publication of JP2008158836A publication Critical patent/JP2008158836A/ja
Application granted granted Critical
Publication of JP4682975B2 publication Critical patent/JP4682975B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Description

この発明は、SIMD(Single Instruction Stream Multiple Data stream)方式で画像データを処理する画像処理装置に関し、とくに、複数のデータを同時処理するプロセッサエレメント(Processor Element)数が少なくても、2次元フィルタなど周辺画素を参照する画像処理を、効率よく処理できるようにしたものである。
周辺画素を参照する二次元フィルタ等の画像処理をSIMD方式で実行する場合、プロセッサエレメント(以下、単にPEともいう)のアレイの両側の、参照領域(ウインドウ)の大きさに応じた所定数のPEでは、参照画素の一部が利用できなくなり、処理結果が無効となる。例えば、7×7のウインドウの場合、前後3つずつのPEで参照画素の参照ができなくなる。PEの数が少ないほど、1ライン分の画素をより多くの回数で処理しなくてはならないので、その分、無効な処理結果が増え、処理のスループットが減少する。
特許文献1は、PEアレイに対応したレジスタファイルに処理ライン上の画素データを割り当てる際に、その端で折り返して順逆に並べることにより、端領域のPEも、折り返しがある部分では、隣接画素データを参照可能になり、処理結果の無効化を抑制できる。ただし、この場合、レジスタファイルが大きくなってしまう。
なお、上述の従来技術やその問題点は、この発明の背景の一部を説明するためにのみ説明している。この発明は上述の従来技術や問題点に限定されるものではない点に留意されたい。
特開2004−206387公報
この発明は、以上の事情を考慮してなされたものであり、複数のデータを同時処理するプロセッサエレメント数が少なくても、2次元フィルタなど周辺画素を参照する画像処理を、効率よく処理できる画像処理装置を提供することを目的としている。
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
すなわち、この発明の一側面によれば、上述の目的を達成するために、複数のプロセッサエレメントの各々に1の対象画素データを割り当て当該プロセッサエレメントの各々が当該対象画素データの隣接画素データを参照して当該対象画素データを処理する画像処理装置に:上記複数のプロセッサエレメントの各々に対応する位置の一連の画素データと、当該一連の画素データに対してその並び方向に隣接する位置の画素データとからなる一塊の画素データを、所定の個数、当該画素データの並び方向と直交する方向に一塊ずつ読み出し可能に保持するリングバッファと;上記リングバッファから出力される上記一塊の画素データを保持するレジスタ群とを設け、上記レジスタ群に保持されている画素データを上記複数のプロセッサエレメントに選択的に供給するようにしている。
この構成においては、プロセッサアレイの端部領域における処理結果の無効化を抑制でき、処理効率を増大できる。しかも、特許文献1のように、二重、三重にレジスタファイルを設ける必要がないのでハードウェア構成を簡素化できる。
また、この構成において、上記リングバッファを2つ設け、上記所定の個数の上記一塊のデータの読み出しを、2つの上記リングバッファを用いて交互に実行するようにしてもよい。このようにすると、一方の読み出し時に他方の書き込みを行うことができ、1のリングバッファにおいて書き込み・読み出しを同時に行う必要がなくなり、リングバッファの書き込み読み出し制御を簡素化できる。
また、ページバッファまたはバンドバッファから画像データの画像データを一時記憶する補助的なリングバッファを設け、上記リングバッファは上記所定の個数の上記一塊のデータを上記補助的なリングバッファから取得するようにしてもよい。
また、上記並び方向に隣接する位置の画素データの個数は、典型的には、上記並び方向に位置する参照対象の画素データの個数と同じである。もちろん、冗長な画素データをさらに含ませても良いし、隣接する位置の画素データの個数を、並び方向に位置する参照対象の画素データの個数より少なくしても良い。この場合、一部で処理結果が無効になるが、それでも従来の処理結果の無効化を一部抑制できる。
また、マルチプレクサ群を設け、当該マルチプレクサ群を用いて上記レジスタ群に保持されている画素データを上記複数のプロセッサエレメントに選択的に供給するようにしてもよい。
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
この発明によれば、複数のデータを同時処理するプロセッサエレメント数が少なくても、2次元フィルタなど周辺画素を参照する画像処理を、ハードウェア構成を複雑にすることなく、効率よく処理できる画像処理装置を実現できる。
以下、この発明の実施例について説明する。
図1は、この発明の適用した原理的な実施例1の画像処理装置100を全体として示しており、図1において、画像処理装置100は、SIMD処理装置10、汎用プロセッサ20、外部メモリ30等を外部バス40に接続して構成されている。
汎用プロセッサ20は、画像処理全体の制御を司るものであり、その処理の一環としてSIMD処理装置10にSIMD命令をディスパッチし、処理結果を受け取る。外部メモリ30は、プログラム領域およびデータ領域を保持し、また、ページメモリ、バンドバッファ等のメモリを構成するものである。SIMD命令の処理対象は外部メモリ30内のページメモリまたはバンドバッファ内のデータである。外部メモリ30は1つのメモリとして示されているが、これに限定されず、種々の態様で実現可能であり、バンドバッファを専用メモリで構成しても良い。
SIMD処理装置10は、SIMD(Single Instruction Stream Multiple Data stream)方式で画像データを処理する装置であり、例えば、拡張カードとして実装される。SIMD処理装置10は、内部メモリ11、レジスタ群12、マルチプレクサ群13、PEアレイ14、制御部15等を含んで構成されている。制御部15は、典型的には、通常のSISDのCPUであり、内部メモリ11に記憶されているプログラムに基づいてSIMD処理装置10全体の制御を行う。また、内部メモリ11は、プログラム領域、データ領域を有し、データ領域に種々のデータを保持し、さらに、後述するリングバッファ60、70を構成する。PEアレイ14は、複数個、例えば、16個のプロセッサエレメントPEからなる。レジスタ群12は、PEアレイ14の各プロセッサエレメントで実行される演算のオペランドを保持するものである。マルチプレクサ群13は、演算の内容に応じてレジスタ群12のうちの所望のレジスタのデータを対応するPEに供給するものである。
図2は、この実施例の原理的な動作例を示している。この例では16個のPEでPEアレイ14を構成しているものとして説明する。この図において、Nライン分の画素データがバンドバッファ30Aに保持されている。参照画素の個数だけ各ラインのデータの両サイドにダミーデータ(梨子地で示す)が配されている。また、16画素ごとのつなぎ目に両端に参照画素の個数だけのオーバラップ領域を設定する。画像処理が例えば対象画素を中心にして(2n+1)×(2n+1)(例えば7×7)のウインドウを用いる場合には、このダミーデータおよびオーバラップの長さは典型的にはnビットである。もちろんウインドウの形状は矩形に限らず、また左右、上下に非対称であってもよい。なお、このダミーデータは当初からバンドバッファに含ませても良いし、後の段階で付加しても良い。バンドバッファ30Aは典型的には外部メモリ30の一部であり、他の専用メモリで構成しても良い。ダミーデータを付加することにより、画像の端の部分でも形式的には有効に演算が可能になるが、この処理結果はダミーデータに依存するものであり、無効として扱っても良い。
この例では、N(縦)×16+2n(横)の画素データ(以下ではカラムデータとも呼ぶ)を例えばバンドバッファ30Aから読み出してリングバッファ60に書き込み、16+2nの画素データを順次にカラム方向(縦方向)に矢印aに示すように読み出していく。読み出しと同時に次回のカラムデータを書き込んでいく。
レジスタ群12は、例えば、(16+2m)×(1+2m)の個数のレジスタを有し(m>=n)、(16+2n)×(1+2n)の画素データを保持し(図3(A))、各PEに当該PEのウインドウに対応する(1+2n)×(1+2n)例えば7×7の画素データを供給する。1回目の読み出しがある程度進んだ状態では、図の一番左のPEには、破線の矩形bで示す領域の画素データをマルチプレクサ群13(図1)を介して受け取り(図3(B)、より右側のPEは、ずれた分だけ当該矩形bをシフトされた矩形の領域の画素データをマルチプレクサ群13を介して受け取り(図3(C))、(1+2n)×(1+2n)の画素データを利用した画像処理、例えば二次元フィルタ処理を行う。なお、処理結果は図示しない出力バッファ等の一時保持されて、まとめて汎用プロセッサ20または外部メモリ30に返される。
カラムデータ(N×16+2n)ごとにリングバッファ60を巡回させながら各PEでの演算処理を実行し、すべてのバンドバッファ30A内の画素データの処理を終了するまで、その処理を繰り返す。
この実施例においては、リングバッファ60を設けて所望の画素データを順次にレジスタ群12に供給し、参照画素を利用した演算を簡易に行うことができる。冗長分の画素データを余分に保持する若干のレジスタを必要とするだけであり、ハードウェア構成は簡素である。また、冗長分の画素データに対して新たにレジスタを増加させるのでなく、余っているレジスタを援用することも可能である。リングバッファ60は制御部15(CPU)上でプログラム(配列や読み出しポインタ、書き込みポインタ等)で実装できる。
図4は、この発明の実施例2を説明するものであり、この実施例においては、図4に示すように、2つのリングバッファ601、602を交互に用いている。この実施例では、例えば、1回目のカラムデータの処理でリングバッファ601を用い、2回目のカラムデータの処理でリングバッファ602を用いる。1回目のカラムデータを処理するためにリングバッファ601から読み出しを行っているときに、リングバッファ602に2回目のカラムデータを書き込むことができ、1つのリングバッファで読み出し書き込みを相前後して行う必要がなく、制御が容易になる。
図5は、この発明の実施例3を説明するものであり、この実施例においては、図5に示すように、リングバッファを二重に用いる。すなわち、バンドバッファ(Nライン)の一部の画素データ(M×N画素)を前段のリングバッファ70に記憶する。ただしM>=16+2nである。前段のリングバッファ70から1回目のカラムデータをリングバッファ60に供給し、1回目のカラムデータを処理する。リングバッファ70は繰り返し利用され、リングバッファ60も繰り返し利用される。この実施例では、ローカルな内部メモリ11にはバンドバッファやページメモリのデータではなく、リングバッファ70およびリングバッファ60の全体の画像データの一部であるので、メモリのコストを削減できる。
図6は、この実施例の動作を7×7の空間フィルタを例にして説明するものである。図6においては、リングバッファ70(第1のバッファ)で図の水平方向に循環させてデータの読み書きを行ない、16画素+オーバラップ(3+3画素)のデータ幅のカラムデータがリングバッファ70に過加えられたら、このカラムデータをリングバッファ60(第1のバッファ)に書き込み、その後、垂直方向に循環させて、16画素+オーバラップ(3+3画素)のデータを順次にレジスタ群12に書き込んでいく。各PEは7×7の画素データを用いて空間フィルタ処理を行う。
なお、この発明は特許請求の範囲の記載に基づいて決定されるものであり、実施例の具体的な構成、課題、および効果には限定されない。この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。
この発明の実施例1の構成を説明する図である。 上述実施例1の動作を説明する図である。 上述実施例1の動作を説明する図である。 この発明の実施例2を説明する図である。 この発明の実施例3を説明する図である。 上述実施例3の動作例を説明する図である。
符号の説明
10 SIMD処理装置
11 内部メモリ
12 レジスタ群
13 マルチプレクサ群
14 PEアレイ
15 制御部
20 汎用プロセッサ
30 外部メモリ
30A バンドバッファ
40 外部バス
60 リングバッファ
70 リングバッファ
100 画像処理装置
601 リングバッファ
602 リングバッファ

Claims (4)

  1. 複数のプロセッサエレメントの各々に1の対象画素データを割り当て当該プロセッサエレメントの各々が当該対象画素データの隣接画素データを参照して当該対象画素データを処理する画像処理装置において、
    上記複数のプロセッサエレメントの各々に対応する位置の一連の画素データと、当該一連の画素データに対してその並び方向に隣接する位置にある上記並び方向に位置する参照対象の画素データの個数と同数の画素データとからなる一塊の画素データを、所定の個数、当該画素データの並び方向と直交する方向に一塊ずつ読み出し可能に保持するリングバッファと、
    上記リングバッファから出力される上記一塊の画素データを、上記対象画素データに応じた1個分に上記並び方向と直交する方向に位置する参照対象の画素データの個数分を加えた個数だけ少なくとも保持するレジスタ群とを有し、
    上記レジスタ群に保持されている画素データを上記複数のプロセッサエレメントの各々に、当該プロセッサエレメントに対応する画素データを隣接画素データを参照して処理するように選択的に供給することを特徴とする画像処理装置。
  2. 上記リングバッファを2つ設け、上記所定の個数の上記一塊のデータの読み出しを、2つの上記リングバッファを用いて交互に実行する請求項1記載の画像処理装置。
  3. ページバッファまたはバンドバッファから画像データの画像データを一時記憶する補助的なリングバッファを設け、上記リングバッファは上記所定の個数の上記一塊のデータを上記補助的なリングバッファから取得する請求項1記載の画像処理装置。
  4. マルチプレクサ群を設け、当該マルチプレクサ群を用いて上記レジスタ群に保持されている画素データを上記複数のプロセッサエレメントに選択的に供給する請求項1〜のいずれかに記載の画像処理装置。
JP2006347275A 2006-12-25 2006-12-25 画像処理装置 Expired - Fee Related JP4682975B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006347275A JP4682975B2 (ja) 2006-12-25 2006-12-25 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006347275A JP4682975B2 (ja) 2006-12-25 2006-12-25 画像処理装置

Publications (2)

Publication Number Publication Date
JP2008158836A JP2008158836A (ja) 2008-07-10
JP4682975B2 true JP4682975B2 (ja) 2011-05-11

Family

ID=39659667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006347275A Expired - Fee Related JP4682975B2 (ja) 2006-12-25 2006-12-25 画像処理装置

Country Status (1)

Country Link
JP (1) JP4682975B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854379B2 (en) * 2009-02-25 2014-10-07 Empire Technology Development Llc Routing across multicore networks using real world or modeled data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350714A (ja) * 2000-06-08 2001-12-21 Hitachi Ltd データ処理装置
JP2004104677A (ja) * 2002-09-12 2004-04-02 Canon Inc 画像処理装置、画像処理方法およびその方法を可能とする記録媒体
JP2006155637A (ja) * 2006-01-06 2006-06-15 Ricoh Co Ltd 信号処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5953964A (ja) * 1982-09-22 1984-03-28 Hitachi Ltd 並列画像プロセツサ
JP2862387B2 (ja) * 1991-03-20 1999-03-03 科学技術振興事業団 超高速画像処理システムのフィルタリング処理方式
JP3620068B2 (ja) * 1994-07-08 2005-02-16 セイコーエプソン株式会社 情報入力装置および情報入力方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350714A (ja) * 2000-06-08 2001-12-21 Hitachi Ltd データ処理装置
JP2004104677A (ja) * 2002-09-12 2004-04-02 Canon Inc 画像処理装置、画像処理方法およびその方法を可能とする記録媒体
JP2006155637A (ja) * 2006-01-06 2006-06-15 Ricoh Co Ltd 信号処理装置

Also Published As

Publication number Publication date
JP2008158836A (ja) 2008-07-10

Similar Documents

Publication Publication Date Title
CN107563952B (zh) 可编程二维图像处理器上的卷积神经网络
KR101973733B1 (ko) 높은 성능, 전력 효율, 프로그램 가능 이미지 처리 프로세싱을 위한 아키텍처
JP6726752B2 (ja) 画像プロセッサのためのコンパイラ管理メモリ
US10998070B2 (en) Shift register with reduced wiring complexity
US10996988B2 (en) Program code transformations to improve image processor runtime efficiency
EP1763769A2 (en) A bit serial processing element for a simd array processor
CN110574007B (zh) 执行双输入值绝对值和求和操作的电路
EP3326060B1 (en) Mixed-width simd operations having even-element and odd-element operations using register pair for wide data elements
CN110574067A (zh) 图像处理器i/o单元
JP5706754B2 (ja) データ処理装置及びデータ処理方法
JP2009223758A (ja) 画像処理装置
US8060726B2 (en) SIMD microprocessor, image processing apparatus including same, and image processing method used therein
US20080069465A1 (en) Processing data supply method and image processing apparatus
JP4682975B2 (ja) 画像処理装置
JP4712503B2 (ja) リコンフィグ可能な画像処理用アドレス生成回路及びそれを有するリコンフィグlsi
JP2007073010A (ja) Simd方式プロセッサ、当該simd方式プロセッサを利用する画像処理方法、及び画像処理装置
US9317474B2 (en) Semiconductor device
US7596678B2 (en) Method of shifting data along diagonals in a group of processing elements to transpose the data
US7483595B2 (en) Image processing method and device
EP2600241B1 (en) VLIW processor, instruction structure, and instruction execution method
JP4516495B2 (ja) Simd型マイクロプロセッサにおけるデータ処理方法
JP2005267362A (ja) Simdプロセッサを用いた画像処理方法及び画像処理装置
JP2011134085A (ja) 画像処理装置
JP2004206387A (ja) 画像処理方法およびプロセッサおよび画像処理装置
JP4244619B2 (ja) 画像データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4682975

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees