JP5018486B2 - 画像処理回路、画像処理装置 - Google Patents

画像処理回路、画像処理装置 Download PDF

Info

Publication number
JP5018486B2
JP5018486B2 JP2008002922A JP2008002922A JP5018486B2 JP 5018486 B2 JP5018486 B2 JP 5018486B2 JP 2008002922 A JP2008002922 A JP 2008002922A JP 2008002922 A JP2008002922 A JP 2008002922A JP 5018486 B2 JP5018486 B2 JP 5018486B2
Authority
JP
Japan
Prior art keywords
pixel data
filter
pixel
segment
register
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
JP2008002922A
Other languages
English (en)
Other versions
JP2009163660A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008002922A priority Critical patent/JP5018486B2/ja
Priority to US12/351,750 priority patent/US20090185754A1/en
Publication of JP2009163660A publication Critical patent/JP2009163660A/ja
Application granted granted Critical
Publication of JP5018486B2 publication Critical patent/JP5018486B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理回路、画像処理装置に関し、特に、画像に対してブロック単位でフ
ィルタ演算を行う技術に関する。
プリンタ、イメージスキャナ、コピー機などの画像処理装置において、RAM(Random
Access Memory)などの画像メモリに格納された原画像(例えば、1ページ分の画像デー
タ)にフィルタなどの画像処理を施す方法の1つとして、原画像に対してブロックと呼ば
れる単位の画像データごとにフィルタ演算を行う方法(以下、「ブロック処理」と呼ぶ。
)が知られている(特許文献1)。
特開2001−251502号公報
特許文献1に示されるような画像処理回路では、RAMに格納された原画像から切り出
したブロック画像を構成する画素データをレジスタに格納し、レジスタから出力される画
素データにフィルタ演算を施している。このように、ブロック処理において、ブロック画
像を構成する画素データを格納する記憶装置(以下、「ブロックメモリ」と呼ぶ。)をレ
ジスタで構成すると、回路制御や回路構成が簡単となる。しかし、レジスタは、SRAM
(Static Random Access Memory)と比べて消費電力やゲート規模が大きい。この問題を
解決するため、ブロックメモリとしてSRAMを用いることが考えられる。
一方、ブロックメモリとしてSRAMを用いた場合、レジスタと比べて、画素データの
読み出しに1クロック余分に必要な点などで不利となる。そこで、フィルタ処理の演算速
度をできるだけ落とさないようにする必要がある。
本発明は、上記の課題を解決すべくなされたものであり、フィルタ演算を行う画像処理
回路において、消費電力および回路規模を低減し、フィルタ演算速度を高速化する技術を
提供することにある。
上記の課題を解決するため、本発明の一態様は、原画像から、所定の主走査幅および所
定の副走査幅の領域を切り出したブロック画像の入力を受け付け、前記ブロック画像を構
成する画素ごとにフィルタ処理を施して出力する画像処理回路であって、ビット幅が少な
くともフィルタの主走査幅以上であり、かつ、記憶容量が少なくともフィルタの副走査幅
の2倍以上であり、前記ブロック画像の各画素行を前記ビット幅で区切った各セグメント
を、画素行ごとに副走査方向に配列して、前記ブロック画像を格納するためのメモリと、
フィルタ処理対象の画素データを、前記メモリからセグメント単位で読み出して出力する
読出手段と、前記読出手段が出力した画素データと当該画素位置に対応する予め定めたフ
ィルタ係数とを乗算する掛算器をフィルタの主走査幅と同数備え、積和演算によるフィル
タ処理を行って注目画素の画素データを出力するフィルタ処理手段と、前記読出手段が読
み出した画素データを一時的に格納するためのレジスタと、を備え、前記読出手段は、フ
ィルタ処理対象の画素データが1つのセグメントに全て含まれるか否かを判断し、フィル
タ処理対象の画素データが1つのセグメントに全て含まれる場合、当該セグメントの画素
データを読み出して出力し、フィルタ処理対象の画素データが2つのセグメントに跨って
含まれる場合、いずれか一方のセグメントの画素データを読み出して前記レジスタに格納
しておき、他方のセグメントの画素データを読み出すとともに、前記レジスタに格納した
画素データを読み出して、前記フィルタ処理手段に出力する。
また、前記メモリと、前記読出手段と、前記レジスタは、RGB色ごとに設けられてお
り、前記フィルタ処理手段は、1つ設けられている。
また、本発明の他の態様では、いずれか1色の前記メモリに、モノクロのブロック画像
が格納され、当該メモリの前記読出手段は、前記フィルタ処理手段に出力した画素データ
のコピーを、当該読出手段が使用する前記レジスタ以外のレジスタに格納しておき、当該
画素データがフィルタ処理対象である場合に、当該画素データを当該レジスタから読み出
して出力する。
また、前記メモリはSRAMで構成することができる。
また、前記画像処理回路を搭載した画像処理装置を構成することができる。
以下、本発明の第1の実施形態について、図面を参照して説明する。
先ず、図1〜4を参照して、本実施形態において実行されるブロック処理の概要を説明
する。
図1は、フィルタ演算の結果(以下「出力画素データ」と呼ぶ。)を得る対象の画素(
以下、「注目画素」と呼ぶ。)の処理順序を説明するための図である。
図1(A)〜(C)に示すように、原画像10は、主走査幅W(単位:画素)および副
走査幅H(単位:画素)の面積を有する1ページ分の画像である。図1(D)に示すよう
に、フィルタ演算は、原画像10上の所定の領域12(主走査幅W、副走査幅L)ごとに
、領域14(主走査幅W、副走査幅L−2D)に含まれる画素について実行される。注目
画素の処理順序は、画素列ごとに副走査方向に進み、画素列の最後の画素まで進むと、隣
接する主走査方向の画素列の最初の画素に進む。すなわち、副走査方向が主走査方向より
優先される。原画像10の全画素についてフィルタ演算が施される必要があるため、領域
12は、図1(A)〜(C)の遷移に示すように、副走査幅2D分が重なるように副走査
方向に移動されて決定される。領域13(主走査幅W、副走査幅D)は、領域14の上下
端の注目画素のフィルタ演算に必要な画素が含まれる領域である。なお、後述するように
、原画像10は、SDRAM(Synchronous DRAM)やDDR−SDRAM(Double Data
Rate SDRAM)などの大規模な画像メモリに格納されている。また、フィルタ演算は、原画
像10から切り出されて、SRAMなどのブロックメモリに格納されたブロック画像16
について実行される。
図2は、ブロック画像をブロックメモリへ格納する方法を説明するための図である。図
2(A)は、フィルタの構成を示している。図2(B)、(C)は、原画像10上の領域
12(図1参照)を詳細に示している。図2(D)は、ブロックメモリの構成を示してい
る。以下、主走査幅nおよび副走査幅mが5画素のフィルタをフィルタ演算に用いる場合
を例に挙げて説明する。
図2(A)に示すように、注目画素20は、フィルタの中心に位置する。そして、注目
画素20の出力画素データは、積和演算および割算を用いた公知のフィルタ演算方法によ
り算出される。具体的には、フィルタの各画素位置にはそれぞれフィルタ係数が対応付け
られている。そして、フィルタ演算の対象となる各画素データと、それらの位置に対応す
る位置のフィルタ係数とをそれぞれ乗じ、それらの乗算結果の合計値を所定の値で割るこ
とにより、注目画素20の出力画素データが得られる。
なお、フィルタの副走査幅m=5の場合、フィルタ演算を行うために、注目画素の位置
する行の上下にそれぞれ2行分の画素が必要となる。そのため、領域13の副走査幅Dは
、2となる。副走査幅Dは、「(フィルタの副走査幅m−1)/2」で求めることができ
る。例えば、フィルタの副走査幅m=7の場合、D=3となる。領域12の副走査幅Lは
、最小でフィルタの副走査幅mと等しければよいが、ブロックメモリへのコピー回数など
の演算効率の観点から、mとLの差分が大きいほどよい。すなわち、Dの値は一定なので
、副走査幅(L−2D)の値がより大きいブロック画像をブロックメモリにコピーしてお
くことにより、ブロックメモリを使用して、より多くの注目画素を処理できるようになる
からである。
上記のフィルタを用いて、図2(B)に示すように、例えば、フィルタ演算を注目画素
1(主走査位置2、副走査位置2)から順に実行する場合、図2(C)に示すように、画
素群a〜xの各画素データをブロックメモリの対応する位置に予めコピーする。ブロック
メモリは、図2(D)に示すように、例えば、ビット幅(主走査幅)がフィルタの主走査
幅nと等しくなるように構成されている。また、セグメント25(主走査幅n、副走査幅
1)が、画素行(ライン)L0〜11ごとに、4行ずつ配列された記憶容量となっている
。従って、画素行Lごとに、最大4セグメント分の画素データがブロックメモリに格納さ
れる。
なお、ブロックメモリのビット幅(主走査幅)は、少なくともフィルタの主走査幅n以
上であればよい。また、記憶容量(副走査幅)は、少なくとも副走査幅Lの2倍以上(画
素行Lごとに2セグメント以上)であればよい。これは、ブロックメモリへの読み書きは
セグメント単位で行われるため、アクセス競合をなくして並列処理をできるようにするた
めである。すなわち、後述するフィルタ演算により、画素データの読み出しが終了したセ
グメントには、他のセグメントの画素データの読み出しが行われている間に新たな画素デ
ータを原画像からコピーして格納しておくことにより、並列処理をすることができる。
なお、図3に示すように、原画像10の上下左右端の画素についてフィルタ演算を施す
場合(例えば、A、B、Cの位置)、原画像10の外側の、画素データがない領域がフィ
ルタ演算の対象範囲に含まれる。この場合は、画素データがない領域について、画素デー
タがあるものとして扱う。例えば、白色を表す画素データや、上下左右端の画素データの
コピーをブロックメモリに格納する。このように、ダミーの画素データをブロックメモリ
に格納することで、注目画素の位置にかかわらずフィルタ演算を行うことができる。
上記のようにしてブロックメモリにブロック画像が格納されると、図4に示すように、
フィルタ演算が行われる。なお、図4の注目画素番号1〜24は、図2(B)の注目画素
番号1〜24に対応している。
図4(A)は、注目画素1(主走査位置2、副走査位置8)〜注目画素8(主走査位置
2、副走査位置36)のフィルタ演算を行う場合を示している。注目画素1の出力画素デ
ータは、セグメント0、4、8、12、16の画素データを順に読み出し、各セグメント
に含まれる画素データの位置に対応する位置のフィルタ係数を用いた積和演算を行い、そ
の結果を所定の値で割ることで得られる。注目画素2(主走査位置2、副走査位置12)
の出力画素データを得る場合、セグメント4、8、12、16、20の画素データが読み
出し対象となる。以降も同様に、副走査方向に4ずつシフトされ、注目画素8の出力画素
データを得る場合、セグメント28、32、36、40、44が読み出し対象となる。
図4(B)は、注目画素9(主走査位置3、副走査位置8)〜注目画素16(主走査位
置3、副走査位置36)のフィルタ演算を行う場合を示している。注目画素9の出力画素
データを得る場合、セグメント0と1、4と5、8と9、12と13、16と17の画素
データを順に読み出す。そして、各組の第1番目のセグメントの主走査位置1〜4の画素
データと、第2番目のセグメントの主走査位置0の画素データを抽出し、第1番目のセグ
メントの主走査位置1の画素データが先頭で第2番目のセグメントの主走査位置0の画素
データを末尾とする、1つのセグメントの画素データとして配列する。そして、それらの
配列後の画素データの位置に対応するフィルタ係数を用いた積和演算を行い、その結果を
所定の値で割ることで注目画素9の出力画素データを得る。注目画素10(主走査位置3
、副走査位置12)の出力画素データを得る場合、セグメント4と5、8と9、12と1
3、16と17、20と21の画素データが読み出し対象となる。以降も同様に、副走査
方向に4ずつシフトされ、注目画素16の出力画素データを得る場合、セグメント28と
29、32と33、36と37、40と41、44と45が読み出し対象となる。
図4(C)は、注目画素17(主走査位置4、副走査位置8)〜注目画素24(主走査
位置4、副走査位置36)のフィルタ演算を行う場合を示している。注目画素17の出力
画素データを得る場合、セグメント0と1、4と5、8と9、12と13、16と17の
画素データを順に読み出す。そして、各組の第1番目のセグメントの主走査位置2〜4の
画素データと、第2番目のセグメントの主走査位置0〜1の画素データを抽出し、第1番
目のセグメントの主走査位置2の画素データが先頭で第2番目のセグメントの主走査位置
1の画素データを末尾とする、1つのセグメントの画素データとして配列する。そして、
それらの画素データの位置に対応するフィルタ係数を用いた積和演算を行い、その結果を
所定の値で割ることで注目画素17の出力画素データを得る。注目画素18(主走査位置
4、副走査位置12)の出力画素データを得る場合、セグメント4と5、8と9、12と
13、16と17、20と21の画素データが読み出し対象となる。以降も同様に、副走
査方向に4ずつシフトされ、注目画素24の出力画素データを得る場合、セグメント28
と29、32と33、36と37、40と41、44と45が読み出し対象となる。
以上、本実施形態において実行されるブロック処理の概要を説明した。
次に、上記に示したブロック処理を実現する画像処理回路について説明する。図5は、
本実施形態が適用される画像処理回路の構成の概略を示すブロック図である。
本図に示すように、画像処理回路110は、画像メモリ100と接続される。画像メモ
リ100は、原画像データおよびフィルタ演算後の画像データを格納するために用いられ
る。画像メモリ100は、例えば、SDRAM(Synchronous DRAM)やDDR−SDRA
M(Double Data Rate SDRAM)などの大規模なメモリで構成される。
画像処理回路110は、上述したブロック処理を行うように設計および製造された専用
回路であり、例えば、ASIC(Application Specific Integrated Circuit)などによ
り実現される。画像処理回路110は、ブロックメモリ112と、レジスタ114と、セ
レクタ116と、セレクタ118と、フィルタ演算回路120と、これらを接続する信号
線とから構成される。ブロックメモリ112と、レジスタ114と、セレクタ116は、
RGB色ごとにそれぞれ設けられている。
ブロックメモリ112は、画像メモリ100の原画像データから切り出されたブロック
画像を格納するために用いられる。ブロックメモリ112は、例えば、SRAMで構成さ
れる。デュアルポートRAMであってもよい。また、上述したように、ブロックメモリ1
12のビット幅(主走査幅)は、少なくともフィルタの主走査幅n以上であり、記憶容量
(副走査幅)は、少なくともブロック画像の副走査幅Lの2倍以上である。ここでは、図
2(D)と同様の構成として説明を進める。なお、RGB各色のブロックメモリ112R
、112G、112Bには、各色のプレーン画像データが格納される。
レジスタ114は、ブロックメモリ112から読み出されたセグメントの画素データを
一時的に格納するために用いられる。レジスタ114は、後述するように、フィルタ演算
対象の画素データが2つのセグメントに跨る場合に使用される。レジスタ114は、少な
くとも1セグメント分の画素データを格納できる容量を有する。
セレクタ116は、ブロックメモリ112又はレジスタ114からセグメント単位に画
素データを読み出す。そして、読み出した画素データの中から、フィルタ演算対象の画素
データを抽出し、正しい順序に配列して、セレクタ118を介してフィルタ演算回路12
0に出力する。
セレクタ118は、RGB各色のセレクタ116R、116G、116Bのいずれか1
つを選択する。また、選択したセレクタ116から受け付けたセグメント単位の画素デー
タをフィルタ演算回路120に出力する。
フィルタ演算回路120は、入力された画素データとフィルタ係数を用いて積和演算を
行い、積和演算の結果に対して割り算を行って注目画素の出力画素データを出力するため
の回路である。具体的には、フィルタ演算回路120は、図6に示すように構成される。
なお、フィルタ演算回路120は、RGB色で共有して使用される。
図6は、フィルタ演算回路120の構成の概略を示すブロック図である。本図に示すよ
うに、フィルタ演算回路120は、掛算器122と、係数メモリ124と、セレクタ12
6と、加算器128と、レジスタ群130(セレクタ132と、レジスタ134と、セレ
クタ136)と、加算器138と、割算器140と、これらを接続する信号線とから構成
される。
掛算器122は、セレクタ118から入力された画素データと、係数メモリ124から
セレクタ126を介して入力されたフィルタ係数とを乗算する。また、乗算した結果を加
算器128に出力する。掛算器122は、フィルタの副走査幅nと同数設けられている。
セレクタ126は、掛算器122に入力された画素データと対応するフィルタ上の位置
のフィルタ係数を係数メモリ124から読み出し、掛算器122に出力する。
係数メモリ124には、フィルタ内の画素位置ごとにフィルタ係数が格納されている。
加算器128は、掛算器128が出力したデータと、セレクタ136が出力したレジス
タ134のデータ(1つ前の積和結果)とを加算して、セレクタ132に出力する。
セレクタ132は、加算器128が出力したデータを、RGB各色のレジスタ134R
、134G、134Bのいずれか1つに出力する。
レジスタ134は、RGB色ごとに設けられており、副走査方向の画素についての積和
結果が保持される。
セレクタ136は、レジスタ134R、134G、134Bのいずれか1つからデータ
を読み出し、加算器128および加算器138のいずれか一方に出力する。レジスタ13
4に、フィルタの副走査幅m分の積和結果が保持されている場合は、そのデータを加算器
138に出力し、保持されていない場合は、そのデータを加算器128に出力する。
加算器138は、n個のセレクタ136から出力されたレジスタ134の積和結果を全
て加算し、割算器140に出力する。
割算器140は、加算器138から出力されたフィルタ内の全ての画素についての積和
結果を、所定の値で割ることにより、注目画素の出力画素データを算出する。また、出力
画素データを画像メモリ100へ出力する。もちろん、割算器140の代わりにシフタを
設けてもよい。
次に、図4、7、8を参照して、画像処理回路110の特徴的な動作について説明する
。図7は、フィルタ演算回路へ入力する画素データの抽出の仕方を説明するための図であ
る。図8は、画像処理回路の1クロック毎の動作を示すタイミングチャートである。
上述したように、フィルタ演算回路120に入力される、フィルタ演算の対象となる1
セグメント分の画素データが、ブロックメモリ112上では、1つのセグメント内に位置
する場合(図4(A)、図7(A))と、2つのセグメントに跨って位置する場合(図4
(B)(C)、図7(B)(C))がある。そして、ブロックメモリ112からは、一度
に(1クロックで)セグメント単位でしか画素データを読み出せない。そのため、対象の
画素データが2つのセグメントに跨る場合、処理速度が落ちないように工夫をする必要が
ある。そこで、画像処理回路110には、レジスタ114を設けている。以下、具体的に
説明する。
まず、図8(A)のタイミングチャートを参照して、フィルタ演算回路120の掛算器
122への入力対象画素データが1つのセグメント内に位置する場合(図4(A)、図7
(A))について説明する。この場合、レジスタ114R、114G、114Bは使用さ
れない。なお、図8(A)は、フィルタ演算により注目画素1の出力画素データを得る場
合を示している。
画像処理回路110では、フィルタ演算回路120がRGB色で共通して使用されるた
め、図8(A)に示すように、セレクタ118の制御により、RGB色ごとに1クロック
タイミングをずらして同様の動作が行われる。ここでは、R色に注目して説明する。
(1)1クロック目:セグメント0(L0)の画素データを読み出すため、そのアドレ
スがブロックメモリ112Rにセットされる。
(2)2クロック目:セグメント0(L0)の画素データがブロックメモリ112Rか
ら読み出され、各画素データは、セレクタ116Rを介して掛算器122に入力される。
これと同時に、セグメント0(L0)の画素データを読み出すため、そのアドレスがブロ
ックメモリ112Gにセットされる。
(1)、(2)と同様の処理を繰り返すことにより、セグメント4(L1)、セグメン
ト8(L2)、セグメント12(L3)、セグメント16(L4)の画素データが、掛算
器122に入力される。すなわち、計5クロックで、5セグメント分の画素データを掛算
器122に入力して、注目画素1の出力画素データを得ることができる。RGB全色では
、合計15クロックとなる。また、アドレスの設定を含めた全体のクロック数は16クロ
ックとなる。なお、注目画素2〜8についても同様に、副走査方向に4画素ずつシフトし
ながら、各セグメントが読み出されて、フィルタ演算が行われる。
次に、図8(B)のタイミングチャートを参照して、対象画素データが2つのセグメン
トに跨って位置する場合(図7(B)(C))について説明する。この場合、レジスタ1
14R、114G、114Bが使用される。なお、図8(B)は、フィルタ演算により注
目画素9の出力画素データを得る場合を示している。上記と同様に、R色に注目して説明
する。
(1)1クロック目:セグメント1(L0)の画素データを読み出すため、そのアドレ
スがブロックメモリ112Rにセットされる。
(2)2クロック目:セグメント1(L0)の画素データが読み出され、各画素データ
は、レジスタ114Rに格納される(なお、図面では、読み出し可能となる次クロックか
ら各画素データがレジスタに格納されているものとして示している)。これと同時に、セ
グメント0(L0)の画素データを読み出すため、そのアドレスがブロックメモリ112
Rにセットされる。
(3)3クロック目:レジスタ114Rに格納されているセグメント1(L0)の画素
データと、ブロックメモリ112R上のセグメント0(L0)の画素データとが読み出さ
れる。また、セレクタ116Rにおいて、読み出された各画素データの中から掛算器12
2に出力される画素データが抽出される。そして、それらの画素データは、フィルタ内の
画素位置の対応する位置に配列されて、掛算器122に入力される。ここでは、セグメン
ト0(L0)の4つの画素データ(主走査位置1〜4、副走査位置0)と、セグメント1
(L0)の1つの画素データ(主走査位置0、副走査位置1)が抽出され、セグメント0
(L0)の画素データの後ろにセグメント1(L0)の画素データが配列されて、掛算器
122に入力される。
(1)〜(3)と同様の処理を繰り返すことにより、セグメント4および5(L1)、
セグメント8および9(L2)、セグメント12および13(L3)、セグメント16お
よび17(L4)の画素データが読み出され、セグメント1つ分の画素データが抽出され
て掛算器122に入力される。すなわち、計5クロックで、5セグメント分の画素データ
を掛算器122に入力して、注目画素9の出力画素データを得ることができる。RGB全
色では、合計15クロック必要となる。また、アドレスの設定を含めた全体のクロック数
は17クロックとなる。なお、注目画素9〜16についても同様に、副走査方向に4画素
ずつシフトしながら、各セグメントが読み出されて、フィルタ演算が行われる。また、図
7(C)の場合も同様である。
以上のように、画像処理回路110は、掛算器122への入力対象画素データが1つの
セグメント内に位置する場合であっても、2つのセグメント内に位置する場合であっても
、処理速度をほとんど落とさずに動作することができる。
次に、画像処理回路110によるブロック処理の流れを説明する。図9は、ブロック処
理の流れを示すフロー図である。なお、説明を判り易くするため、RGB色のいずれか1
つについての処理として説明する。
上述したように画像メモリ100の画素データがブロックメモリ112にコピーされる
と、本フローは開始する。なお、フィルタ演算処理が終了したセグメントには、後のフィ
ルタ演算処理に使用される各画素データが画像メモリ100からコピーされて予め格納さ
れる。
まず、フィルタ演算対象の画素データの位置が2セグメントに跨るか否かが判定される
(S110)。2セグメントに跨らないと判定された場合(S110でNO)、S120
〜S160の処理が実行される。一方、2セグメントに跨ると判定された場合(S110
でYES)、S115〜S165の処理が実行される。
S120では、まず、演算対象のセグメントがブロックメモリ112から読み出され、
セレクタ116を介してフィルタ演算回路120の掛算器122に入力される(S120
)。
次に、フィルタ副走査幅m分のセグメントの読み出しが完了したか否かが判定される(
S130)。完了していないと判定された場合(S130でNO)S140へ進む。完了
したと判定された場合(S130でYES)、S150へ進む。
完了していないと判定された場合(S130でNO)、演算対象のセグメントが次のセ
グメントへ変更され(S140)、S120へ戻る。
一方、完了したと判定された場合(S130でYES)、副走査方向の注目画素列のう
ち最後の注目画素の演算が完了したか否かが判定される(S150)。完了していないと
判定された場合(S150でNO)、S160へ進む。完了したと判定された場合(S1
50でYES)、S170へ進む。
完了していないと判定された場合(S150でNO)、次の副走査方向の注目画素へフ
ィルタ位置が変更され(S160)、S120へ戻る。
一方、完了したと判定された場合(S150でYES)、最後に演算対象となった注目
画素が最終画素であるか否か判定される(S170)。なお、最終画素とは、領域14(
図1参照)の、末尾列と末尾行の交点に位置する画素である。最終画素でないと判定され
た場合(S170でNO)、S180へ進む。最終画素であると判定された場合(S17
0でYES)、処理は終了する。
最終画素でないと判定された場合(S170でNO)、注目画素列が隣接する主走査方
向の列に1つ移動され(S180)、S110に戻る
一方、最終画素であると判定された場合(S170でYES)、処理は終了する。なお
、処理が終了した領域14の次の領域14(図1参照)についてブロック処理が開始され
る場合、本フローが再度開始される。
S115では、まず、演算対象の画素データが含まれる2つのセグメントのうち後ろの
セグメントがブロックメモリ112から読み出され、レジスタ114に格納される(S1
15)。
次に、S115でレジスタ114に格納された画素データと、演算対象の画素データが
含まれる2つのセグメントのうち前のセグメントがブロックメモリ112から読み出され
る。また、セレクタ116において、読み出された各画素データの中から掛算器122に
入力される画素データが抽出され、フィルタ上の対応する順序に配置されて、フィルタ演
算回路120の掛算器122に入力される(S125)。
S135〜S165、S170、S180は、上述したS130〜S160、S170
、S180と同様なので説明を省略する。
以上、第1の実施形態について説明した。本実施形態によれば、ブロック処理を行う画
像処理回路の消費電力および回路規模を低減し、また、フィルタ演算速度を高速化するこ
とができる。すなわち、ブロックメモリとしてSRAMを用いることで、消費電力および
回路規模が小さい画像処理回路を実現できる。また、フィルタの主走査幅分の設けた掛算
器をRGB色で共用し、ブロックメモリと掛算器との間にレジスタを設けることにより、
フィルタ処理対象の画素データを1回のアクセスでブロックメモリから読み出せない場合
であっても、1回アクセスの場合と比べて処理速度がほとんど落ちない。
次に、本発明の第2の実施形態について、図面を参照して説明する。第2の実施形態に
は、カラー画像のフィルタ演算に用いる第1の実施形態の回路構成を用いることができる
。ただし、カラー画像だけでなくモノクロ画像のフィルタ演算にも使用できる構成となっ
ている。また、モノクロ画像のフィルタ演算の高速化を図った構成となっている。本実施
形態に係る画像処理回路では、モノクロ画像を処理する場合、図10に示すように実線で
示す部分の回路が使われて動作し、カラー画像を処理する場合、図5に示すように実線で
示す部分の回路が使われて動作するように切り替えられる。以下、第1の実施形態と異な
る点を中心に、モノクロ画像のフィルタ演算を行う場合について説明する。
図10は、本実施形態が適用される画像処理回路の構成の概略を示すブロック図である
。本実施形態では、モノクロの原画像のブロック画像を格納するメモリとして、RGB色
ごとに設けられたブロックメモリ112のうちいずれか1つを使用する。ここでは、G色
のブロックメモリ112Gを使用した回路構成としている。
本図に示すように、本実施形態では、第1の実施形態と異なり、セレクタ116Gと、
他のレジスタ114Rおよび114Bとが、互いに信号線180〜183で接続されてい
る。
レジスタ114Gは、第1の実施形態と同様に、フィルタ演算対象の画素データが2つ
のセグメントに跨る場合に使用される。一方、レジスタ114Rおよび114Bは、セレ
クタ116Gがフィルタ演算回路120に出力する1セグメント分の画素データのコピー
を格納するために使用される。
信号線180、182は、セレクタ116Gがフィルタ演算回路120に出力する画素
データのコピーを、レジスタ114Rおよび114Bに格納するために使用される。また
、信号線181、183は、レジスタ114Rおよび114Bに格納された画素データを
セレクタ116Gが読み出してフィルタ演算回路120に出力するために使用される。な
お、フィルタ演算回路120では、レジスタ134Gが使用され、レジスタ134Rおよ
び134Bは使用されない。
次に、図4、7、11を参照して、画像処理回路110の特徴的な動作について説明す
る。図11は、画像処理回路の1クロック毎の動作を示すタイミングチャートである。
まず、図11(A)のタイミングチャートを参照して、フィルタ演算回路120の掛算
器122への入力対象画素データが1つのセグメント内に位置する場合(図4(A)、図
7(A))について説明する。この場合、レジスタ114R、114G、114Bは使用
されない。なお、図11(A)は、フィルタ演算により注目画素1、2の出力画素データ
を得る場合を示している。原画像はモノクロであるため、一色分の処理が行われる。
(1)1クロック目:セグメント0(L0)の画素データを読み出すため、そのアドレ
スがブロックメモリ112Gにセットされる。
(2)2クロック目:セグメント0(L0)の画素データがブロックメモリ112Gか
ら読み出され、各画素データは、セレクタ116Gを介して掛算器122に入力される。
これと同時に、セグメント4(L1)の画素データを読み出すため、そのアドレスがブロ
ックメモリ112Gにセットされる。
(1)、(2)と同様の処理を繰り返すことにより、セグメント4(L1)、セグメン
ト8(L2)、セグメント12(L3)、セグメント16(L4)の画素データが、掛算
器122に入力される。すなわち、計5クロックで、5セグメント分の画素データを掛算
器122に入力して、注目画素1の出力画素データを得ることができる。また、アドレス
の設定を含めた全体のクロック数は6クロックとなる。なお、注目画素2〜8についても
同様に、副走査方向に4画素ずつシフトしながら、各セグメントが読み出されて、フィル
タ演算が行われる。
次に図11(B)のタイミングチャートを参照して、対象画素データが2つのセグメン
トに跨って位置する場合(図7(B))について説明する。この場合、第1の実施形態と
同様に、レジスタ114Gが使用される。また、レジスタ114Rおよび114Bは、セ
レクタ116Gがフィルタ演算回路120に出力する1セグメント分の画素データのコピ
ーを格納するために使用される。なお、図11(B)は、注目画素9〜11の出力画素デ
ータを得る場合を示している。
(1)1クロック目:セグメント1(L0)の画素データを読み出すため、そのアドレ
スがブロックメモリ112Gにセットされる。
(2)2クロック目:セグメント1(L0)の画素データが読み出され、各画素データ
は、レジスタ114Gに格納される(なお、図面では、読み出し可能となる次クロックか
ら各画素データがレジスタに格納されているものとして示している)。これと同時に、セ
グメント0(L0)の画素データを読み出すため、そのアドレスがブロックメモリ112
Gにセットされる。
(3)3クロック目:レジスタ114Gに格納されているセグメント1(L0)の画素
データと、ブロックメモリ112G上のセグメント0(L0)の画素データとが読み出さ
れる。また、セレクタ116Gにおいて、読み出された各画素データの中から掛算器12
2に入力される画素データが抽出される。そして、それらの画素データは、フィルタ内の
画素位置に対応する位置に配列されて、掛算器122に入力される。ここでは、セグメン
ト0(L0)の4つの画素データ(主走査位置1〜4、副走査位置0)と、セグメント1
(L0)の1つの画素データ(主走査位置0、副走査位置1)が抽出され、セグメント0
(L0)の画素データの後ろにセグメント1(L0)の画素データが配列されて、掛算器
122に入力される。また、上記の動作と同時に、セグメント5(L1)の画素データを
読み出すため、そのアドレスがブロックメモリ112Gにセットされる。
(4)4〜11クロック目:(1)〜(3)と同様の処理を繰り返すことにより、セグ
メント4および5(L1)、セグメント8および9(L2)、セグメント12および13
(L3)、セグメント16および17(L4)の画素データが読み出され、セグメント1
つ分の画素データが抽出されて掛算器122に入力される。これに加え、7クロック目と
11クロック目では以下の動作が行われる。セレクタ116Gにより、レジスタ114G
およびブロックメモリ112Gから読み出され、選択された1セグメント分の画素データ
が掛算器122に入力されるのと同時に、これらの画素データが、信号線180若しくは
182を介して、レジスタ114R若しくは114Bに格納される。ここでは、7クロッ
ク目に、L2の画素データがレジスタ114Rに格納され、11クロック目に、L4の画
素データがレジスタ114Bに格納される(なお、図面では、読み出し可能となる次クロ
ックから各画素データがレジスタに格納されているものとして示している)。これらの画
素データは、次の注目画素(注目画素10)の出力画素データを得る際に読み出されてフ
ィルタ演算回路120に出力されることにより使用される。すなわち、ブロックメモリ1
14Gにアクセスせずに、画素データをフィルタ演算回路120に出力することが可能と
なる。このように、計5クロックで、5セグメント分の画素データを掛算器122に入力
して、注目画素9の出力画素データを得ることができる。また、アドレスの設定を含めた
全体のクロック数は11クロックとなる。
(5)11〜17クロック目:(1)〜(4)と同様の処理を繰り返される。ただし、
レジスタ114Rおよび114Bに格納された画素データについては、信号線181およ
び信号線13を介して読み出され、ブロックメモリ114Gにアクセスされることなく、
フィルタ演算回路120に出力される。ここでは、14クロック目に、L2の画素データ
がレジスタ114Rから読み出されて掛算器122に入力され、16クロック目に、L4
の画素データがレジスタ114Bから読み出されて掛算器122に入力される。すなわち
、掛算器122が使用されていないタイミングに、レジスタ114Rおよび114Bから
読み出された画素データが出力される。なお、15および17クロック目に、次の注目画
素(注目画素11)のフィルタ演算に使用されるL3およびL5の画素データが、それぞ
れ、レジスタ114Rおよび114Bに格納される。このように、計5クロックで、5セ
グメント分の画素データを掛算器122に入力して、注目画素10の出力画素データを得
ることができる。また、アドレスの設定を含めた全体のクロック数は7クロックとなる。
以降の注目画素についても同様に動作する。
以上、第2の実施形態について説明した。本実施形態によれば、カラー画像については
第1の実施形態と同様の効果が得られる。さらに、モノクロ画像については、ブロックメ
モリと掛算器との間に設けられた、本来他の2色のフィルタ演算に使用されるのレジスタ
を、使用できるようにすることにより、フィルタ処理対象の画素データを1回のアクセス
でブロックメモリから読み出せない場合であっても、1回アクセスの場合と比べて処理速
度がほとんど落ちない。
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正
および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の
本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではな
い。
ブロック処理における注目画素の処理順序を説明するための図。 ブロック画像をブロックメモリへ格納する方法を説明するための図。 原画像の端の注目画素のフィルタ演算の方法を説明するための図。 ブロックメモリを用いたフィルタ演算の方法を説明するための図。 第1の実施形態が適用される画像処理回路の構成の概略を示すブロック図。 フィルタ演算回路の構成の概略を示すブロック図。 フィルタ演算回路へ入力する画素データの抽出の仕方を説明するための図。 第1の実施形態が適用される画像処理回路の動作を示すタイミングチャート図。 ブロック処理の流れを示すフロー図。 第2の実施形態が適用される画像処理回路の構成の概略を示すブロック図。 第2の実施形態が適用される画像処理回路の動作を示すタイミングチャート図。
符号の説明
10・・・原画像、12・・・領域、13・・・領域、14・・・領域、16・・・ブロ
ック画像、20・・・注目画素、25・・・セグメント、100・・・画像メモリ、11
0・・・画像処理回路、112・・・ブロックメモリ、114・・・レジスタ、116・
・・セレクタ、118・・・セレクタ、120・・・フィルタ演算回路、122・・・掛
算器、124・・・係数メモリ、126・・・セレクタ、128・・・加算器、130・
・・レジスタ群、132・・・セレクタ、134・・・レジスタ、136・・・セレクタ
、138・・・加算器、140・・・割算器、180・・・信号線、181・・・信号線
、182・・・信号線、183・・・信号線

Claims (3)

  1. 原画像から、所定の主走査幅および所定の副走査幅の領域を切り出したブロック画像の入力を受け付け、前記ブロック画像を構成する画素ごとにフィルタ処理を施して出力する画像処理回路であって、
    ビット幅が少なくともフィルタの主走査幅以上であり、かつ、記憶容量が少なくともフィルタの副走査幅の2倍以上であり、前記ブロック画像の各画素行を前記ビット幅で区切った各セグメントを、画素行ごとに副走査方向に配列して、前記ブロック画像を格納するためのメモリと、
    フィルタ処理対象の画素データを、前記メモリからセグメント単位で読み出して出力する読出手段と、
    前記読出手段が出力した画素データと当該画素位置に対応する予め定めたフィルタ係数とを乗算する掛算器をフィルタの主走査幅と同数備え、積和演算によるフィルタ処理を行って注目画素の画素データを出力するフィルタ処理手段と、
    前記読出手段が読み出した画素データを一時的に格納するためのレジスタと、を備え、
    前記メモリと、前記読出手段と、前記レジスタは、複数の色ごとに設けられ、前記フィルタ処理手段は、1つ設けられ、
    前記複数の色毎に設けられたメモリのうちいずれか1色の前記メモリに、モノクロのブロック画像が格納された場合、
    当該いずれか1色のメモリの前記読出手段は、
    フィルタ処理対象の画素データが1つのセグメントに全て含まれるか否かを判断し、
    フィルタ処理対象の画素データが1つのセグメントに全て含まれる場合、当該セグメントの画素データを読み出して出力し、
    フィルタ処理対象の画素データが2つのセグメントに跨って含まれる場合、いずれか一方のセグメントの画素データを読み出して前記レジスタに格納しておき、他方のセグメントの画素データを読み出すとともに、前記レジスタに格納した画素データを読み出して、前記フィルタ処理手段に出力し、前記フィルタ処理手段に出力した画素データのコピーを、当該読出手段が使用する前記レジスタ以外のレジスタに格納しておき、当該画素データがフィルタ処理対象である場合に、当該画素データを当該レジスタから読み出して出力すること、
    を特徴とする画像処理回路。
  2. 請求項1に記載の画像処理回路であって、
    前記メモリはSRAMであること、
    を特徴とする画像処理回路。
  3. 請求項1または2に記載の画像処理回路を搭載した画像処理装置。
JP2008002922A 2008-01-10 2008-01-10 画像処理回路、画像処理装置 Expired - Fee Related JP5018486B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008002922A JP5018486B2 (ja) 2008-01-10 2008-01-10 画像処理回路、画像処理装置
US12/351,750 US20090185754A1 (en) 2008-01-10 2009-01-09 Image processing circuit and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008002922A JP5018486B2 (ja) 2008-01-10 2008-01-10 画像処理回路、画像処理装置

Publications (2)

Publication Number Publication Date
JP2009163660A JP2009163660A (ja) 2009-07-23
JP5018486B2 true JP5018486B2 (ja) 2012-09-05

Family

ID=40876555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008002922A Expired - Fee Related JP5018486B2 (ja) 2008-01-10 2008-01-10 画像処理回路、画像処理装置

Country Status (2)

Country Link
US (1) US20090185754A1 (ja)
JP (1) JP5018486B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005389A (ja) * 2016-06-29 2018-01-11 株式会社リコー 画像変形回路、画像処理装置、及び画像変形方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613986A (en) * 1984-06-14 1986-09-23 Ncr Canada Ltd. Digital filter for enhancement of document images
US6108017A (en) * 1998-04-08 2000-08-22 Oki Data Corporation Printer
JP4224876B2 (ja) * 1998-09-11 2009-02-18 ソニー株式会社 記憶装置、並びに書き込み方法および読み出し方法
JP3621288B2 (ja) * 1999-04-16 2005-02-16 シャープ株式会社 画像処理装置
JP3733826B2 (ja) * 2000-03-03 2006-01-11 セイコーエプソン株式会社 画像処理装置
JP2002237953A (ja) * 2001-02-07 2002-08-23 Sony Corp 画像データ処理装置およびその方法、ならびにカメラ・システム
JP2008178025A (ja) * 2007-01-22 2008-07-31 Ricoh Co Ltd 画像変倍装置
JP4795264B2 (ja) * 2007-02-06 2011-10-19 キヤノン株式会社 走査変換装置及び走査変換方法
US8508823B2 (en) * 2007-03-28 2013-08-13 Sharp Kabushiki Kaisha Image processing method, image processing apparatus, image forming apparatus, and recording medium
JP5522890B2 (ja) * 2007-07-31 2014-06-18 キヤノン株式会社 画像処理装置及び方法
WO2010004677A1 (ja) * 2008-07-08 2010-01-14 パナソニック株式会社 画像処理方法、画像処理装置、画像処理プログラム、画像合成方法、および画像合成装置

Also Published As

Publication number Publication date
US20090185754A1 (en) 2009-07-23
JP2009163660A (ja) 2009-07-23

Similar Documents

Publication Publication Date Title
JP4478050B2 (ja) Simd型マイクロプロセッサ及びデータ処理方法
JP6251029B2 (ja) 制御装置、画像処理装置、制御方法、およびプログラム
JP5018486B2 (ja) 画像処理回路、画像処理装置
JP4537420B2 (ja) Simd型マイクロプロセッサ
JP2009037348A (ja) 画像処理装置及び方法
US8107745B2 (en) Image processing device
JP2008072585A (ja) 演算処理用データ供給方法および画像処理装置
CN102164226B (zh) 图像处理装置、图像处理电路以及图像处理方法
US7756207B2 (en) Method for pre-processing block based digital data
JP4245509B2 (ja) 画像処理装置、携帯端末、画像処理プログラム及び画像処理方法
JP4992753B2 (ja) 画像処理装置、画像処理方法
JP6448410B2 (ja) データ変換装置およびその制御方法、プログラム
JP2015138417A (ja) 画像処理装置および画像処理方法
JP2009044426A (ja) 画像処理装置
JP3788563B2 (ja) 画像データの変倍装置
JP4316476B2 (ja) 画像処理装置、画像形成装置
US20080204777A1 (en) Image processing circuit and printer controller equipped with the same
JPS63220670A (ja) 画像信号のライン間補間方法
JPH11168610A (ja) 画像処理装置
JP2005057529A (ja) 画像処理方法、画像処理装置およびプログラム
JP6249234B2 (ja) 画像処理装置
JP2006094160A (ja) 画像処理方法及び画像処理装置並びに画像処理プログラム
JP4934654B2 (ja) フィルタマトリクス生成装置およびこれを用いたフィルタ装置
JP4695422B2 (ja) 画像合成装置
JP4165391B2 (ja) 画像処理方法及び画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111130

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

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

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

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees