JP3932813B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP3932813B2 JP3932813B2 JP2001046471A JP2001046471A JP3932813B2 JP 3932813 B2 JP3932813 B2 JP 3932813B2 JP 2001046471 A JP2001046471 A JP 2001046471A JP 2001046471 A JP2001046471 A JP 2001046471A JP 3932813 B2 JP3932813 B2 JP 3932813B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- signal
- enlargement
- synchronization signal
- image
- 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
Links
- 230000009467 reduction Effects 0.000 claims description 33
- 238000011946 reduction process Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 description 41
- 230000015654 memory Effects 0.000 description 38
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 12
- 230000003111 delayed effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に拡大・縮小処理が可能な複写機やプリンタなどの画像処理装置に関する。
【0002】
【従来の技術】
複写機やプリンタなどの画像処理装置における拡大・縮小処理は、ユーザニーズによる拡大・縮小のみならず、スキャナやパーソナルコンピュータなどの画像生成装置と、複写機のプリント・エンジンやプリンタなどの画像出力装置との間での解像度変換の場合に多用されている。例えば、400dpiのスキャナで読み取った画像を600dpiのプリンタで出力する場合に拡大処理が行われ、逆の場合に縮小処理が行われる。
【0003】
拡大処理における主な拡大法としては、単純拡大法、補間拡大(bi-linear)法、cubic convolution法などが知られている。これらの拡大法はいずれも隣接画素を使用した補間方式を採っている。そして、この補間方式の違いが拡大処理後の画像データの画質を決定する。例えば、特公平6−18433号公報には、bi-linear法をハードウェアで構成した例が開示されている。
【0004】
特公平6−18433号公報に記載された画像処理装置では、拡大法としてbi-linear法のみを用いている。しかしながら、最適画質を得るためには単一の拡大処理方式のみでは難しい場合がある。したがって、画像処理装置に複数の拡大処理方式(補間方式)を同時に採用することが望ましいが、ハードウェアで構成したのではコスト高となってしまう。
【0005】
一方、汎用プロセッサを使用した拡大処理では、プリント・エンジンに画素を連続して供給するパイプライン処理ができない。例えば、600dpi/40ppm/4タンデムのプリント・エンジンでは、タンデム・ギャップを無視した場合、ビデオ周波数として約20MHz必要である。ここに、500MHzの汎用プロセッサを適用した場合、1ビデオ・サイクルに僅か25インストラクションしか実行できない。
【0006】
そこで、デジタルビデオなどの映像信号処理プロセッサとして使用されるSIMD(Single Instruction Multiple Data)型プロセッサを利用して拡大処理を行うデータ処理装置が提案されている(例えば、特開2000−182037号公報参照)。このSIMD型プロセッサは、複数のプロセッサエレメント(PE)を有し、入力画像データに対して並列に処理を行うことによって高速処理を実現する。
【0007】
【発明が解決しようとする課題】
しかしながら、映像信号処理に使用されるSIMD型プロセッサをそのまま、画像処理装置における拡大処理に利用したのでは次のような問題が発生する。すなわち、第1に、現行のSIMD型プロセッサはA(アドバンス)TVのフォーマットに準拠しているため、1水平走査線の画素数(例えば、1024画素)が複写機やプリンタで扱うドキュメントのライン(例えば、400dpiで約5000画素)に比べて少ないため、1ラインを分割して入力する必要がある。しかし、単純に分割入力しただけでは拡大処理後には画素数が増加することから、SIMD型プロセッサのPE(Processor Element)数をオーバーする可能性があるばかりか、オーバーしなくとも非同期処理を余儀なくされる。
【0008】
第2に、前述したように、補間処理を行うためには隣接画素の画素情報を参照することになるが、この処理は拡大処理後、即ち画像データを拡大処理した後に行う必要がある。ところが、SIMD型プロセッサでは、隣接画素の参照範囲に制限があるばかりか、任意倍率での拡大(例えば、141%など)処理を行う場合には隣接画素までの距離が固定ではなくなる、という隣接画素を参照する際の問題がある。
【0009】
第3に、高画質化、高生産性を追求する観点から、ビデオ周波数は今後も高速化の一途をたどることにある。例えば、前述のプリント・エンジンにおいて、解像度が1200dpiになるとビデオ周波数は80MHzにもなる。この観点からも、容易に高速化できる手法が望まれる。
【0010】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、SIMD型プロセッサを利用して拡大・縮小処理を行っても非同期とならず、任意解像度(倍率)の拡大・縮小処理を行っても補間時に隣接画素を参照するのに何ら支障をきたすことなく、処理の高速化を容易に実現可能な画像処理装置を提供することにある。
【0011】
【課題を解決するための手段】
本発明による画像処理装置は、SIMD型プロセッサを用いて拡大・縮小処理を行う画像処理装置であって、拡縮率に応じてSIMD型プロセッサへの画像データ入力のタイミングを決定するタイミング決定手段と、このタイミング決定手段によって決定されたタイミングに応じて前記入力画像の画像データをSIMD型プロセッサに入力するデータ入力制御手段とを備え、前記タイミング決定手段が、前記データ入力制御手段から画像データが、1ラインを複数に分割し、その分割したラインの副走査線方向の集合体をブロックとしてそのブロック単位で入力されるとき、1ブロックを認識する同期信号に基づいて前記SIMD型プロセッサへの画像データ入力のタイミングを決定し、前記SIMD型プロセッサが、前記データ入力制御手段から入力された画像データに対して拡大・縮小処理を並列に行う構成となっている。
【0012】
上記構成の画像処理装置において、タイミング決定手段がSIMD型プロセッサへの画像データ入力のタイミングを拡縮率に応じて決定すると、データ入力制御手段はこの決定されたタイミングに応じて入力画像の画像データを入力する。すると、SIMD型プロセッサは、この入力された画像データに対して拡大・縮小処理を並列に行う。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0018】
[第1実施形態]
図1は、本発明の第1実施形態に係る画像処理装置の構成例を示すブロック図である。図1から明らかなように、本実施形態に係る画像処理装置は、画像入力部(画像生成部)11、ライン分割&ギャップ生成部12、補間補助部13、SIMD型プロセッサ14、ライン復元部15および画像出力部(画素形成部)16を有する構成となっている。
【0019】
画像入力部11は、スキャナやパーソナルコンピュータなどからなり、原稿から読み取ったり、あるいは独自に生成して得た画像データをライン分割&ギャップ生成部12に入力する。ライン分割&ギャップ生成部12は、画像入力部11から入力される画像データに基づく入力画像を、後段のSIMD型プロセッサ14で拡大・縮小処理しても非同期処理とならないようにするとともに、SIMD型プロセッサ14のPE数をオーバーしないようにする作用をなす。その具体的な構成および動作については後述する。
【0020】
ライン分割&ギャップ生成部12から出力された画像データは、補間補助部13を経由してSIMD型プロセッサ14に供給される。補間補助部13は、SIMD型プロセッサ14における隣接画素の参照がたとえ任意倍率であっても容易にその処理を行えるようにする作用をなす。SIMD型プロセッサ14は、先述したように、入力画像に対する拡大・縮小処理を行う。補間補助部13およびSIMD型プロセッサ14の具体的な構成および動作については後述する。
【0021】
SIMD型プロセッサ14から出力される画像データは、ライン復元部15を経由して画像出力部16に供給される。ライン復元部15は、ライン分割&ギャップ生成部12で分割され、SIMD型プロセッサ14で拡大・縮小処理されたラインを復元する作用をなす。画像出力部16は、複写機のプリント・エンジンやプリンタなどからなり、ライン復元部15を経由して入力される画像データに基づく拡大・縮小処理後の画像を紙などの記録媒体に出力する。
【0022】
次に、上記構成の本実施形態に係る画像処理装置の各部の具体的な構成および動作について説明する。ここでは、SIMD型プロセッサ14の内蔵プロセッサ数(PE数)を1000、1ライン(1水平走査線)の画素数を5000、拡大率250%、縮小率25%とした場合を例に採って説明するものとする。
【0023】
図2に、ライン分割および分割したラインの各々(以下、これをセグメントと称す)とセグメントの副走査方向の集合体であるブロックのSIMD型プロセッサ14への入力順序を示す。
【0024】
等倍(100%)処理であれば、SIMD型プロセッサ14へ入力するセグメント長は1000画素で良い。また、入力順序は1セグメントを副走査方向へ1ブロックだけ読み込む。ここでは、一例として、1ブロックを512セグメントとする。つまり、ブロック単位で主走査方向へ読み進む。これは拡大・縮小処理では、後述するように、1ブロック内では1度生成した読み出し/書き込みイネーブル制御信号RWEを繰り返し使用できるためである。また、ブロックが存在するのは、入力画像をライン分割するメモリ容量の削減を目的としてピンポンバッファとするためである。
【0025】
次に、ライン分割&ギャップ生成部12で生成される各種の同期信号について説明する。図3は、各種の同期信号の説明図である。
【0026】
ライン分割&ギャップ生成部12では、1セグメントを認識するセグメント同期信号SS、1ブロックを認識するブロック同期信号BS、1ラインを構成するブロックの集合に対するライン同期信号LS、1ページを構成するブロックの集合に対するページ同期信号PSが生成される。また、画素オーバーラップ読み出し機能におけるセグメント内のオーバーラップ画素と実画素とを区別するため、バァリッド(Valid)同期信号V_SSも生成される。このバァリッド同期信号V_SSは、オーバーラップ画素ではLowレベルとなる。
【0027】
図4は、ライン分割&ギャップ生成部12の構成の一例を示すブロック図である。図4から明らかなように、本例に係るライン分割&ギャップ生成部12は、同期信号生成部▲1▼21、同期信号生成部▲2▼22、アドレス生成部23およびメモリ24を有する構成となっている。
【0028】
同期信号生成部▲1▼21は、ギャップを考慮したセグメント同期信号SSを、外部から与えられるマスタークロックMCLKに基づいて生成する。同期信号生成部▲2▼22は、実際にメモリ24に供給するアドレス生成のためのセグメント同期信号SSをはじめ、先述したブロック同期信号BS、ライン同期信号LSおよびページ同期信号PS、さらにはビデオクロックVCLKを、外部から与えられるスタート信号Startに応答して、マスタークロックMCLKに基づいて生成する。
【0029】
図5に、同期信号生成部▲2▼22におけるセグメント同期信号SSの生成部(以下、SS生成部と称す)の具体的な回路例を示す。このSS生成部は、アップカウンタ31、2つの比較器32,33およびAND回路34を有する構成となっている。
【0030】
アップカウンタ31は、マスタークロックMCLKをクロック(CK)入力、スタート信号Startをカウントイネーブル(CE)入力、比較器33の比較結果をリセット(RST)入力としている。このアップカウンタ31のカウント結果は、比較器32,33に各比較入力Aとして与えられる。比較器32にはその比較基準入力BとしてHigh期間値が与えられ、比較器33にはその比較基準入力Bとしては終了値が与えられている。
【0031】
比較器32はアップカウンタ31のカウント値AとHigh期間値Bとを比較し、A≦BのときにHighレベルの比較結果を出力する。このA≦Bの比較結果はAND回路34でスタート信号Startと論理積がとられることで、セグメント同期信号SSとして出力される。比較器33はアップカウンタ31のカウント値Aと終了値Bとを比較し、A>BのときにHighレベルの比較結果を出力する。このA>Bの比較結果は、アップカウンタ31にそのリセット信号として与えられる。
【0032】
上述した構成の回路は、同期信号生成部▲2▼22におけるSS生成部の回路例として示したものであるが、他の同期信号の生成部および同期信号生成部▲1▼21もこの回路例に準ずるものとする。
【0033】
再び図4において、アドレス生成部23は、メモリ24のX方向のアドレスを指定するXアドレス信号Adr_X、Y方向のアドレスを指定するYアドレス信号Adr_Yおよび図3に示すX,Y方向の各スタート位置を示すX,Yスタート信号Xstart,Ystartを生成する。このアドレス生成部23の具体的な構成例を図6に示す。
【0034】
図6において、Xスタート信号Xstartの生成回路40Aは、アップカウンタ41および乗算器42によって構成されている。アップカウンタ41は、ブロック同期信号BSをCK(クロック)入力、ライン同期信号LSをCE(カウントイネーブル)入力、ライン同期信号LSの反転信号をLD(ロード)入力とし、“−1”をリセット値としてライン同期信号LS間でリセットされる構成となっている。このアップカウンタ41のカウント値は乗算器42に供給され、当該乗算器42において乗算係数X_Regと乗算される。ここで、乗算係数X_Regは、1ブロックを構成する主走査方向の画素数であり、本例では1000がセットされることになる。そして、その乗算出力がXスタート信号Xstartとなる。
【0035】
Yスタート信号Ystartの生成回路40Bは、アップカウンタ43および乗算器44によって構成されている。アップカウンタ43は、ライン同期信号LSをCK入力、ページ同期信号PSをCE入力、ページ同期信号PSの反転信号をLD入力とし、“−1”をリセット値としてページ同期信号PS間でリセットされる構成となっている。このアップカウンタ43のカウント値は乗算器44に供給され、当該乗算器44において乗算係数Y_Regと乗算される。ここで、乗算係数Y_Regは、1ブロックを構成する副走査方向の画素数であり、本例では512がセットされることになる。そして、その乗算出力がYスタート信号Ystartとなる。つまり、Xスタート信号Xstart/Yスタート信号Ystartの値は、常にアドレスしようとするブロックの先頭番地を示すことになる。
【0036】
Xアドレス信号Adr_Xの生成回路40Cは、アップカウンタ45によって構成されている。このアップカウンタ45は、マスタークロックMCLKをCK入力、セグメント同期信号SSをCE入力、セグメント同期信号SSの反転信号をLD入力とし、Xスタート信号Xstartをリロード値としてセグメント同期信号SS間でリロードが行われる構成となっている。そして、アップカウンタ45のカウント出力(カウント値)がXアドレス信号Adr_Xとなる。
【0037】
Yアドレス信号Adr_Yの生成回路40Dは、アップカウンタ46によって構成されている。このアップカウンタ46は、セグメント同期信号をCK入力、ブロック同期信号BSをCE入力、ブロック同期信号BSの反転信号をLD入力とし、Yスタート信号Xstartをリロード値としてブロック同期信号BS間でリロードが行われる構成となっている。そして、アップカウンタ46のカウント出力(カウント値)がYアドレス信号Adr_Yとなる。
【0038】
ここで、上記構成のライン分割&ギャップ生成部12の動作について、図7を用いて説明する。図7は、ライン分割&ギャップ生成部12によって生成される同期信号LS,BS,SSと画像データとのタイミング関係の一例を示すタイミングチャートである。
【0039】
本画像処理装置での拡大処理時には画素が増加するので、等倍処理時とは考え方を変えなければならない。すなわち、拡大処理対象の画素数を
拡大処理対象画素数=1ラインの画素数÷拡大率/100 ……(1)
とし、またSIMD型プロセッサ14への1回の入力画素数を
入力画素数=PE数÷拡大率/100 ……(2)
とする。
【0040】
一般の複写機やプリンタでは原稿サイズに制限があるため、拡大処理後の画素数は1ラインの画素数を越えることはできない。したがって、(1)式に示すように、拡大処理対象の画素数は、1ラインの画素数を拡大率/100で割った値となる。本例の場合、1ラインの画素数が5000、拡大率250%であることから、拡大処理対象の画素数は2000画素となる。
【0041】
また、SIMD型プロセッサ14への1回の入力画素数は、拡大処理後の画素数がPE数の範囲内になるように(PE数をオーバーフローしないように)、PE数を拡大率/100で割った値に設定しておく。本例の場合、PE数が1000であることから、SIMD型プロセッサ14への1回の入力画素数は400画素となる。つまり、1ラインを処理するのにSIMD型プロセッサ14へ5(=2000/400)ブロックの入力を行う。
【0042】
ただし、セグメント同期信号SSにはそのアクティブ期間として、図7のタイミングチャートに示すように、等倍処理時と同じ1000画素分の長さの期間を持たせるようにする。つまり、400画素の後に600画素分のギャップを持たせるようにする。このギャップ生成を行うことにより、SIMD型プロセッサ14における入出力の非同期処理を避ける、換言すれば入出力の同期処理を行うことができる。
【0043】
すなわち、図4に示した同期信号生成部▲1▼21におけるセグメント同期信号SSの生成部(図5の回路例)では、High期間=1000クロック、Low期間=Xクロック、同期信号生成部▲2▼22におけるセグメント同期信号SSの生成部(図5の回路例)では、High期間=400クロック、Low期間=600+Xクロックを定義すれば良い。ここで、「X」は同期信号の非アクティブ期間を示す。
【0044】
なお、上記構成のアドレス生成部23において、Xスタート信号Xstartの生成回路40Aとしては、図8に示す他の回路例を採ることも可能である。すなわち、本回路例に係る生成回路40A′において、乗算器42の後段に、当該乗算器42の乗算出力を一方の加算入力とする加算器48と、この加算器48の他方の加算入力として−Ovl(Overlap)または0を択一的に与えるマルチプレクサ(MUX)49とを設けるようにする。
【0045】
上記構成の回路は、ブロック境界で画素を重複読み出しするための機構で、フィルタ処理等を行うために必要となる。その詳細については、特開2000−251065号公報を参照されたい。
【0046】
次に、図1の補間補助部13について説明する。この補間補助部13は、SIMD型プロセッサ14における隣接画素の参照がたとえ任意倍率であっても容易に処理が行えるようにするために設けられている。その具体的な構成の一例を図9に示す。
【0047】
図9から明らかなように、本構成例に係る補間補助部13は、デマルチプレクサ(DEMUX)51、拡大・縮小判定レジスタ52、AND回路53,54、OR回路55,56、シフトレジスタ57、FIFO(first-in first-out)レジスタ58、フリップフロップ(FF)59および遅延回路60を有する構成となっている。
【0048】
デマルチプレクサ(DEMUX)51には、SIMD型プロセッサ14で生成される後述する読み出し/書き込みイネーブル制御信号RWEが入力される。デマルチプレクサ51は、拡大・縮小判定レジスタ52の内容(拡大時“1”、縮小時“0”)に応じて、読み出し/書き込みイネーブル制御信号RWEを縮小時はFIFOメモリ58の書き込みイネーブル信号WEとし、拡大時はFIFOメモリ58の読み出しイネーブル信号REとして出力する。このとき、選択されない方にはLowレベルが出力されるものとする。
【0049】
フリップフロップ59は、FIFOメモリ58の入口に設けられ、画素をパッキングする作用をなす。したがって、セグメント同期信号SSも画像データと同期がとられている必要があるため、セグメント同期信号SSは遅延回路60においてフリップフロップ59の段数分だけ遅延される。この遅延されたセグメント同期信号SSOは、AND回路53,54の各一方の入力となる。
【0050】
AND回路53にはその他方の入力として拡大・縮小判定レジスタ52の内容が与えられる。これにより、AND回路53は、拡大・縮小判定レジスタ52の内容が拡大のときにセグメント同期信号SSOを通過させ、OR回路55にその一方の入力として供給する。OR回路55にはその他方の入力として、先述した書き込みイネーブル信号WEが供給される。このOR回路55を通過したセグメント同期信号SSOまたは書き込みイネーブル信号WEはFIFOメモリ58に供給される。
【0051】
AND回路54はその他方の入力が負論理となっており、その他方の入力として拡大・縮小判定レジスタ52の内容が与えられる。これにより、AND回路54は、拡大・縮小判定レジスタ52の内容が縮小のときにセグメント同期信号SSOを通過させ、OR回路56にその一方の入力として供給する。OR回路55にはその他方の入力として、シフトレジスタ57で遅延された読み出しイネーブル信号REが供給される。
【0052】
シフトレジスタ57は、拡大時読み出しイネーブル信号REがFIFOメモリ58の出口で制御されることから、読み出しイネーブル信号REに対して画像データのFIFOメモリ58での遅延と同様の遅延を発生させるために設けられた遅延手段である。このシフトレジスタ57としては、1セグメント分のレジスタ段が必要となる。このシフトレジスタ57で遅延された読み出しイネーブル信号REがOR回路56にその他方の入力として供給される。このOR回路56を通過したセグメント同期信号SSOまたは読み出しイネーブル信号REはFIFOメモリ58に供給される。
【0053】
図10に、SIMD型プロセッサ14の構造の一例を示す。このSIMD型プロセッサ14は、複数個のPEからなるプロセッサエレメント群61と、PE数と同じ段数の転送段からなるデータ入力レジスタ(DIR)62と、同様にPE数と同じ段数の転送段からなるデータ出力レジスタ(DOR)63とを有する構造となっている。
【0054】
上記構造のSIMD型プロセッサ14において、データ入力レジスタ62には補間補助部13からパッキング済みの画像データおよびバァリッド同期信号V_SSが入力されるとともに、セグメント同期信号SSOがWE信号として、ビデオクロックVCLKがクロック信号として与えられる。また、データ出力レジスタ63にはセグメント同期信号SSOがRE信号として、ビデオクロックVCLKがクロック信号として与えられるとともに、このデータ出力レジスタ63からは画像データ、バァリッド同期信号V_SSおよび読み出し/書き込みイネーブル制御信号RWEが出力される。
【0055】
続いて、補間補助部13での拡大処理時および縮小処理時の動作について、読み出し/書き込みイネーブル制御信号RWEおよび画像データの様子を示す図11の動作説明図を用いて説明する。
【0056】
拡大処理時は、ライン分割&ギャップ生成部12から入力されたセグメントである現画素データが補間補助部13のFIFOメモリ58に、セグメント同期信号SSOをWE信号に使用して入力される。一方、SIMD型プロセッサ14で生成された読み出し/書き込みイネーブル制御信号RWEに基づく読み出しイネーブル信号REは、セグメント同期信号SSの1サイクル、即ち1セグメントサイクルだけシフトレジスタ57で遅延されて、FIFOメモリ58の出力時に画素を増加(=拡大処理)するのに使用される。
【0057】
最後に、FIFOメモリ58の次段にあるフリップフロップ59で隣接画素とパッキングされてSIMD型プロセッサ14のデータ入力レジスタ62に入力される。なお、データ入力レジスタ62での画像データは単純拡大された状態、つまり補間前の状態にある。
【0058】
一方、縮小処理時は、同じく現画素データが補間補助部13のFIFOメモリ58に、SIMD型プロセッサ14で生成された読み出し/書き込みイネーブル制御信号RWEに基づく書き込みイネーブル信号WEをWE信号に使用して入力される。このFIFOメモリ58への画像データの入力時に画素の間引き(=縮小処理)が行われる。一方、FIFOメモリ58からの出力時は、セグメント同期信号SSのHighレベルの期間に亘って常時画像データが読み出される。
【0059】
FIFOメモリ58の構成の一例を図12に示す。本例に係るFIFOメモリ58は、2つのメモリ64,65およびそれらのアドレス・デコーダ66,67を有するピンポン方式(一方が書き込み状態のとき、他方が読み出し状態)の構成となっている。また、メモリ64,65に対して書き込みイネーブル信号WEおよび読み出しイネーブル信号REを与えるRWE制御部68と、メモリ64,65それぞれに対応する読み出し/書き込み兼用ポインタ69,70とを有している。
【0060】
RWE制御部68は、アップカウンタ681、インバータ682および4個のAND回路683〜686を有する回路構成となっている。アップカウンタ681は、マスタークロックMCLKをCK入力、セグメント同期信号SSをCE入力、セグメント同期信号SSの反転信号をLD入力、“−1”をリセット値としている。このアップカウンタ681のカウント出力は読み出し/書き込み制御信号RWとして直接AND回路683,684の各一方の入力になるとともに、インバータ682で反転されてAND回路685,686の各一方の入力になる。なお、AND回路684,686は各一方の入力が負論理入力となっている。
【0061】
AND回路683,685にはそれぞれ、各他方の入力としてバァリッド同期信号V_SSが与えられる。そして、AND回路683,685の各出力は書き込みイネーブル信号WE▲1▼,▲2▼としてメモリ64,65に与えられる。また、AND回路684,686にはそれぞれ、各他方の入力としてセグメント同期信号SSが与えられる。そして、AND回路684,686の各出力は読み出しイネーブル信号RE▲1▼,▲2▼としてメモリ64,65に与えられる。
【0062】
読み出し/書き込み兼用ポインタ69は、マルチプレクサ(MUX)691およびアップカウンタ692を有する回路構成となっている。マルチプレクサ691は、読み出しイネーブル信号REおよび書き込みイネーブル信号WEを2入力とし、読み出し/書き込み制御信号RWが“0”のときに読み出しイネーブル信号REを、読み出し/書き込み制御信号RWが“1”のときに書き込みイネーブル信号WEをそれぞれ選択して出力する。
【0063】
このマルチプレクサ691で選択された読み出しイネーブル信号RE/書き込みイネーブル信号WEは、アップカウンタ692にそのCE入力として与えられる。アップカウンタ692は、マスタークロックMCLKをCK入力、セグメント同期信号SSの反転信号をLD入力、“−1”をリセット値としている。このアップダウンカウンタ692のカウント出力は、アドレス・デコーダ▲1▼66に供給される。
【0064】
読み出し/書き込み兼用ポインタ70は、マルチプレクサ701およびアップカウンタ702を有する回路構成となっている。マルチプレクサ701は、書き込みイネーブル信号WEおよび読み出しイネーブル信号REを2入力とし、読み出し/書き込み制御信号RWが“0”のときに書き込みイネーブル信号WEを、読み出し/書き込み制御信号RWが“1”のときに読み出しイネーブル信号REをそれぞれ選択して出力する。
【0065】
このマルチプレクサ701で選択された書き込みイネーブル信号WE/読み出しイネーブル信号REは、アップカウンタ702にそのCE入力として与えられる。アップカウンタ702は、マスタークロックMCLKをCK入力、セグメント同期信号SSの反転信号をLD入力、“−1”をリセット値としている。このアップダウンカウンタ702のカウント出力は、アドレス・デコーダ▲2▼67に供給される。
【0066】
上記構成のFIFOメモリ58において、2つのメモリ64,65の各RST(リセット)入力には、セグメント同期信号SSの反転信号が与えられる。これにより、各メモリ64,65は、セグメントのギャップで毎回リセット(ゼロクリア)され、また各ポインタも先頭アドレスであるゼロにリセットされる。したがって、入力される画像データは必ず先頭アドレスから読み出し/書き込みが行われる。
【0067】
本例に係るFIFOメモリ58を設ける目的は、特に縮小処理時には、バァリッド同期信号V_SSがHighレベルで示される有効画素のみで構成されることによる。また、セグメント長がSIMD型プロセッサ14のデータ入力レジスタ62(図10を参照)に比べて短くなるため、通常のFIFOメモリを使用して縮小セグメントをデータ入力レジスタに入力してしまうと、バァリッド同期信号V_SSがLowレベルの無効画素に対しても有効画素という判断になってしまうことを避けるためである。
【0068】
さらに、後述するように、縮小されたセグメントをデータ入力レジスタの一番奥(セルフPE#=0に該当する位置)までシフトしてしまう方が、補間係数の再計算がし易いことにもよる。
【0069】
次に、SIMD型プロセッサ14における読み出し/書き込みイネーブル制御信号RWEの生成処理の手順について、図13のフローチャートを用いて説明する。
【0070】
先ず、ページ同期信号PSがHighレベルであるか否かを判断し(ステップS11)、PS=Hであれば続いて、拡大処理であるか否かを判断する(ステップS12)。このとき、拡大処理であれば、倍率による係数1(=100/拡大率)を計算する(ステップS13)。また、縮小処理であれば、係数1(=縮小率/100)を計算し(ステップS14)、続いて係数2(=100/縮小率)を計算する(ステップS15)。以上により、ページ同期信号PSの立ち上がり時、即ちページ開始時に倍率による係数計算が行われる。
【0071】
係数の計算が終わったら再度、ページ同期信号PSがHighレベルであるか否かを判断し(ステップS16)、PS=Hであれば、ライン同期信号LSがHighレベルであるか否かを判断する(ステップS17)。このとき、LS=Hであれば、ブロック同期信号BSのアクティブ(High)になる回数をカウントするブロック・カウンタのカウント値をゼロにする(ステップS18)。これにより、ブロック・カウンタはライン同期信号LSの立ち上がり時、即ちライン開始時にリセットされる。
【0072】
その後再度ライン同期信号LSがHighレベルであるか否かを判断し(ステップS19)、LS=Hであれば続いて、ブロック同期信号BSがHighレベルであるか否かを判断する(ステップS20)。そして、BS=Hであれば、絶対画素位置(1ライン中の画素の位置)を示す絶対PE#を計算する(ステップS21)。この絶対PE#は、ブロック・カウンタのカウント値をNとすると、
絶対PE#=セルフPE#+N×1000
なる計算式から求められる。ここで、セルフPE#はSIMD型プロセッサ14の内蔵プロセッサ番号であり、SIMD型プロセッサ内における画素の相対画素位置を示す。
【0073】
次に、補間係数W(n)について計算する(ステップS22)。この補間係数W(n)は、
W(n)=係数1×絶対PE#
なる計算式から求められる。次いで、読み出し/書き込みイネーブル制御信号RWE(n)を計算する(ステップS23)。この読み出し/書き込みイネーブル制御信号RWE(n)は、
RWE(n)=int(絶対PE#×係数1)
なる計算式から求められる。ここで、関数intは、上記式の計算結果の整数部分を抽出することを意味する。
【0074】
読み出し/書き込みイネーブル制御信号RWE(n)が求まったら続いて、RWE(n)>RWE(n−1)の判断、即ち隣接PE(図10中では、左隣のPE)よりも1大きいか否かの判断を行う(ステップS24)。このとき、RWE(n)>RWE(n−1)であればRWE(n)=1とし(ステップS25)、RWE(n)≦RWE(n−1)であればRWE(n)=0とし(ステップS26)、これらをSIMD型プロセッサ14内のデータ出力レジスタ63(図10を参照)にセットする(ステップS27)。
【0075】
続いて、縮小処理であるか否かを判断し(ステップS28)、縮小処理であれば、補間係数W(n)′について計算する(ステップS29)。この補間係数W(n)′は、
W(n)′=絶対PE#×int(係数2+1)
なる計算式から求められる。なお、ステップS28の判断結果が縮小処理でない場合には、ステップS29の処理は実行されない。
【0076】
その後、ブロック・カウンタのカウント値Nをインクリメント(N=N+1)し(ステップS30)、続いてブロック同期信号BSがLowレベルになったか否かを判断する(ステップS31)。そして、BS=Lならば、ステップS19に戻って上述したステップS19からステップS30までの各処理を繰り返して実行する。但し、絶対PE#0番では読み出し/書き込みイネーブル制御信号RWEとして常に1をたてることとする。
【0077】
SIMD型プロセッサ14における上述した一連の処理により、読み出し/書き込みイネーブル制御信号RWEが生成される。この読み出し/書き込みイネーブル制御信号RWEは拡大・縮小率(拡縮率)によって決定され、絶対画素位置(1ライン中の画素の位置)によって異なる。すなわち、1ラインをセグメントに分割しても絶対画素位置を把握する必要がある。このために、上述した処理手順に示すように、ブロック同期信号BSを使用するのである。
【0078】
そして、ライン同期信号LSがアクティブ(High)である間は、ブロック同期信号BSのアクティブになる回数をブロック・カウンタでカウントすることで、SIMD型プロセッサ14内における画素の相対画素位置に乗じて絶対位置を計算する。例えば、ブロック・カウンタのカウント値NがN=2で、SIMD型プロセッサ14の内蔵プロセッサ番号(セルフPE#)がセルフPE#=10に着目すれば、このSIMD型プロセッサ14は相対画素位置「10」、絶対画素位置「1010」を処理していることになる。
【0079】
図13のフローチャートに示す手順によって生成される読み出し/書き込みイネーブル制御信号RWEの様子を図14に示す。
【0080】
拡大処理時は、補間補助部13でパッキングされた現画素用出力と隣接画素用出力とが、読み出し/書き込みイネーブル制御信号RWE(この場合は、FIFOメモリ58の出口におけるRE信号が読み出しイネーブル信号REとなる)で制御され、RE時(RE=1)には画素の読み出しが、非RE時(RE=0)には直前のRE信号で読み出された画素が繰り返して読み出される。つまり、画素がコピーされる。
【0081】
また、縮小処理時は、補間補助部13の現画素用FIFOメモリと隣接画素用FIFOメモリとが、読み出し/書き込みイネーブル制御信号RWE(この場合は、FIFOメモリ58の入口におけるWE信号が書き込みイネーブル信号WEとなる)で制御され、WE時(WE=1)には画素の書き込みが、非WE時(WE=0)には画素の間引きが行われる。
【0082】
続いて、補間係数W(n)について説明する。補間係数W(n)は、絶対画素位置に対応している。すなわち、絶対画素位置nには補間係数W(n)が対応する。図14において、拡大処理時は絶対画素位置nには補間係数W(n)が対応しているが、縮小処理時は画素が間引かれることによってこの対応関係がずれているため、再計算を行う必要がある。この再計算の処理が、図13のフローチャートにおけるステップS29の処理である。
【0083】
次に、SIMD型プロセッサ14における補間方法について説明する。
【0084】
今、ある注目画素において現画素値をP(n)、隣接画素値をP(n+1)とすると、例えばbi-linear法の補正画素値P(n)′は、
P(n)′=[P(n+1)−P(n)]×
[W(n)−int(W(n))]+P(n)
となる。
【0085】
また、cubic convolution法のように、4点(注目画素を中心として、前後2画素)を参照する場合は、補間補助部13を図15に示すように拡張する。すなわち、図15において、FIFOメモリ58の入口に画素をパッキングするために、4個のフリップフロップ59−1〜59−4を直列に接続し、2段目のフリップフロップ59−2の出力を現画素用出力とし、1段目のフリップフロップ59−1の入力および出力と、3段目,4段目のフリップフロップ59−3,59−4の各出力とを隣接画素用出力とする。このとき、セグメント同期信号SSに対しても、2段のフリップフロップ59−1,59−2に対応して2段の遅延回路60−1,60−2によって遅延を行うようにする。
【0086】
[第2実施形態]
図16は、本発明の第2実施形態に係る画像処理装置の要部の構成例を示すブロック図であり、図中、図1と同等部分には同一符号を付して示している。本実施形態に係る画像処理装置は、拡大・縮小処理の高速化に対応した画像処理装置である。この画像処理装置では、補間補助部の数を増やす、例えば2個の補間補助部13−1,13−2を設けることによって拡大・縮小処理の高速化を容易に実現している。
【0087】
すなわち、図16において、ライン分割&ギャップ生成部12より奇数ブロックのセグメントと偶数ブロックのセグメントとを同時に出力し、奇数ブロックのセグメントを補間補助部13−1に、偶数ブロックのセグメントを補間補助部13−2にそれぞれ入力する。SIMD型プロセッサ14からは、各セグメントに応じた2ビットの読み出し/書き込みイネーブル制御信号RWEを生成して補間補助部13−1,13−2にそれぞれ供給するようにする。これにより、同一のクロックスピードで倍の拡大処理を行うことができる。
【0088】
例えば縮小処理時は、SIMD型プロセッサ14におけるデータ入力レジスタ63(図10を参照)のWE信号をコントロールすることにより、画素を間引くことができるが、高速化するためには異なるブロックのセグメントを取り扱うことから、WE信号も複数必要となるため、別に補間補助部としてFIFOメモリを複数設けるのが良い。
【0089】
ただし、例えば奇数セグメントはバンク1、偶数セグメントはバンク2というように、同一ブロック内のセグメントを別バンクにしておき、同一ブロックを同時読み出しすることにより、1つのWE信号(拡大の場合、RE信号)で済ませることもできる。この場合、補間補助部のFIFOメモリは異なるセグメントを同時拡大(あるいは、縮小)するため複数個必要となる。
【0090】
なお、上記各実施形態では、SIMD型プロセッサ14への画像データ入力のタイミングを決定するための読み出し/書き込みイネーブル制御信号RWEをSIMD型プロセッサ14自身が拡縮率に応じて生成するとしたが、これに限られるものではなく、SIMD型プロセッサ14以外に汎用プロセッサを設けて、この汎用プロセッサによって読み出し/書き込みイネーブル制御信号RWEを生成するようにすることも可能である。
【0091】
【発明の効果】
以上説明したように、本発明によれば、SIMD型プロセッサを利用して拡大・縮小処理を行っても非同期処理とならず、また任意解像度(倍率)の拡大・縮小処理を行っても補間時に隣接画素を参照するのに何ら支障をきたすことなく、処理の高速化を容易に実現できる画像処理装置を提供できる。
【図面の簡単な説明】
【図1】 本発明の第1実施形態に係る画像処理装置の構成例を示すブロック図である。
【図2】 ライン分割およびセグメントとセグメントの集合体であるブロックのSIMD型プロセッサへの入力順序を示す図である。
【図3】 ライン分割&ギャップ生成部で生成される各種の同期信号の説明図である。
【図4】 ライン分割&ギャップ生成部の構成例を示すブロック図である。
【図5】 同期信号生成部▲2▼におけるSS生成部の具体的な回路例を示すブロック図である。
【図6】 アドレス生成部の具体的な構成例を示すブロック図である。
【図7】 同期信号LS,BS,SSと画像データとのタイミング関係の一例を示すタイミングチャートである。
【図8】 Xstart生成回路の他の回路例を示すブロック図である。
【図9】 補間補助の具体的な構成例を示すブロック図である。
【図10】 SIMD型プロセッサの構造の一例を示すブロック図である。
【図11】 補間補助部での拡大処理時および縮小処理時の動作説明図である。
【図12】 FIFOメモリの構成例を示すブロック図である。
【図13】 SIMD型プロセッサにおける読み出し/書き込みイネーブル制御信号RWEの生成処理の手順を示すフローチャートである。
【図14】 読み出し/書き込みイネーブル制御信号RWEの様子を示す図である。
【図15】 補間補助部の拡張例を示すブロック図である。
【図16】 本発明の第2実施形態に係る画像処理装置の要部の構成例を示すブロック図である。
【符号の説明】
11…画像入力部、12…ライン分割&ギャップ生成部、13,13−1,13−2…補間補助部、14…SIMD型プロセッサ、15…ライン復元部、16…画像出力部、21…同期信号生成部▲1▼、22…同期信号生成部▲2▼、23…アドレス生成部、24…メモリ、51…デマルチプレクサ(DEMUX)、52…拡大・縮小判定レジスタ、58…FIFOメモリ、57シフトレジスタ、61…プロセッサエレメント(PE)群、62…データ入力レジスタ(DIR)、63…データ出力レジスタ(DOR)
Claims (2)
- 入力画像に対して並列に処理を行う複数のプロセッサエレメントを有するSIMD型プロセッサを用いて拡大・縮小処理を行う画像処理装置であって、
拡縮率に応じて前記SIMD型プロセッサへの画像データ入力のタイミングを決定するタイミング決定手段と、
前記タイミング決定手段によって決定されたタイミングに応じて前記入力画像の画像データを前記SIMD型プロセッサに入力するデータ入力制御手段とを備え、
前記タイミング決定手段は、前記データ入力制御手段から画像データが、1ラインを複数に分割し、その分割したラインの副走査線方向の集合体をブロックとしてそのブロック単位で入力されるとき、1ブロックを認識する同期信号に基づいて前記SIMD型プロセッサへの画像データ入力のタイミングを決定し、
前記SIMD型プロセッサは、前記データ入力制御手段から入力された画像データに対して拡大・縮小処理を並列に行う
ことを特徴とする画像処理装置。 - 前記タイミング決定手段は、前記SIMD型プロセッサ自体である
ことを特徴とする請求項1記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001046471A JP3932813B2 (ja) | 2001-02-22 | 2001-02-22 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001046471A JP3932813B2 (ja) | 2001-02-22 | 2001-02-22 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002247347A JP2002247347A (ja) | 2002-08-30 |
JP3932813B2 true JP3932813B2 (ja) | 2007-06-20 |
Family
ID=18908090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001046471A Expired - Fee Related JP3932813B2 (ja) | 2001-02-22 | 2001-02-22 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3932813B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008040614A (ja) * | 2006-08-02 | 2008-02-21 | Fuji Syst Kiki Kk | 画像処理装置、画像処理システム及び画像処理方法 |
CN101576894B (zh) * | 2008-05-09 | 2012-05-30 | 中国科学院半导体研究所 | 实时图像内容检索系统及图像特征提取方法 |
JP5477769B2 (ja) * | 2009-12-24 | 2014-04-23 | 富士ゼロックス株式会社 | 画像処理装置、及び画像処理プログラム |
-
2001
- 2001-02-22 JP JP2001046471A patent/JP3932813B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002247347A (ja) | 2002-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10334227A (ja) | イメージをアップスケーリングする方法及び装置 | |
JP3932813B2 (ja) | 画像処理装置 | |
JPH08251398A (ja) | 高アドレス能力印刷機の像信号を変調する方法及び装置 | |
JP3887134B2 (ja) | 画像処理装置 | |
JP3821198B2 (ja) | 信号処理装置 | |
JP3527235B1 (ja) | 画像拡大縮小方法及びこれを用いた画像拡大縮小装置 | |
JP2003304481A (ja) | 画像処理装置と画像処理方法 | |
JP5428862B2 (ja) | アレイプロセッサ向けアドレス生成装置と方法並びにアレイプロセッサ | |
JP4408113B2 (ja) | 信号処理方法 | |
JP7249504B2 (ja) | 画像処理装置 | |
JP2014209711A (ja) | 原稿をコピー可能な画像処理装置、画像処理方法、およびプログラム | |
JPH07212568A (ja) | 画像形成装置 | |
JP4813405B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、記録媒体 | |
JP2005269502A (ja) | 画像処理装置および画像処理方法 | |
JP3698196B2 (ja) | 画像処理装置及び画像入力装置 | |
JPH11331560A (ja) | 画像処理装置 | |
JPH09331445A (ja) | 画像処理装置 | |
JP2000137803A (ja) | インターフェース装置および画像形成装置 | |
JPS63249663A (ja) | プリンタ制御装置 | |
JPH05183735A (ja) | 画像変換方法および装置 | |
JP5278497B2 (ja) | 画像処理装置及び画像処理方法 | |
JPH05227414A (ja) | 画像処理装置 | |
JP3166965B2 (ja) | 印刷装置 | |
JP2001092949A (ja) | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH11289438A (ja) | デジタル画像処理装置およびデジタル画像処理方法 ならびに画像読み取り装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070202 |
|
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: 20070227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070312 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140330 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |