(57)【特許請求の範囲】
【請求項１】
原画像から、所定の主走査幅および所定の副走査幅の領域を切り出したブロック画像の入力を受け付け、前記ブロック画像を構成する画素ごとにフィルタ処理を施して出力する画像処理回路であって、
ビット幅が少なくともフィルタの主走査幅以上であり、かつ、記憶容量が少なくともフィルタの副走査幅の２倍以上であり、前記ブロック画像の各画素行を前記ビット幅で区切った各セグメントを、画素行ごとに副走査方向に配列して、前記ブロック画像を格納するためのメモリと、
フィルタ処理対象の画素データを、前記メモリからセグメント単位で読み出して出力する読出手段と、
前記読出手段が出力した画素データと当該画素位置に対応する予め定めたフィルタ係数とを乗算する掛算器をフィルタの主走査幅と同数備え、積和演算によるフィルタ処理を行って注目画素の画素データを出力するフィルタ処理手段と、
前記読出手段が読み出した画素データを一時的に格納するためのレジスタと、を備え、
前記メモリと、前記読出手段と、前記レジスタは、複数の色ごとに設けられ、前記フィルタ処理手段は、１つ設けられ、
前記複数の色毎に設けられたメモリのうちいずれか１色の前記メモリに、モノクロのブロック画像が格納された場合、
当該いずれか１色のメモリの前記読出手段は、
フィルタ処理対象の画素データが１つのセグメントに全て含まれるか否かを判断し、
フィルタ処理対象の画素データが１つのセグメントに全て含まれる場合、当該セグメントの画素データを読み出して出力し、
フィルタ処理対象の画素データが２つのセグメントに跨って含まれる場合、いずれか一方のセグメントの画素データを読み出して前記レジスタに格納しておき、他方のセグメントの画素データを読み出すとともに、前記レジスタに格納した画素データを読み出して、前記フィルタ処理手段に出力し、前記フィルタ処理手段に出力した画素データのコピーを、当該読出手段が使用する前記レジスタ以外のレジスタに格納しておき、当該画素データがフィルタ処理対象である場合に、当該画素データを当該レジスタから読み出して出力すること、
を特徴とする画像処理回路。
【請求項２】
請求項１に記載の画像処理回路であって、
前記メモリはＳＲＡＭであること、
を特徴とする画像処理回路。
【請求項３】
請求項１または２に記載の画像処理回路を搭載した画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理回路、画像処理装置に関し、特に、画像に対してブロック単位でフ
ィルタ演算を行う技術に関する。
【背景技術】
【０００２】
プリンタ、イメージスキャナ、コピー機などの画像処理装置において、ＲＡＭ（Random
Access Memory）などの画像メモリに格納された原画像（例えば、１ページ分の画像デー
タ）にフィルタなどの画像処理を施す方法の１つとして、原画像に対してブロックと呼ば
れる単位の画像データごとにフィルタ演算を行う方法（以下、「ブロック処理」と呼ぶ。
）が知られている（特許文献１）。
【０００３】
【特許文献１】特開２００１−２５１５０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に示されるような画像処理回路では、ＲＡＭに格納された原画像から切り出
したブロック画像を構成する画素データをレジスタに格納し、レジスタから出力される画
素データにフィルタ演算を施している。このように、ブロック処理において、ブロック画
像を構成する画素データを格納する記憶装置（以下、「ブロックメモリ」と呼ぶ。）をレ
ジスタで構成すると、回路制御や回路構成が簡単となる。しかし、レジスタは、ＳＲＡＭ
（Static Random Access Memory）と比べて消費電力やゲート規模が大きい。この問題を
解決するため、ブロックメモリとしてＳＲＡＭを用いることが考えられる。
【０００５】
一方、ブロックメモリとしてＳＲＡＭを用いた場合、レジスタと比べて、画素データの
読み出しに１クロック余分に必要な点などで不利となる。そこで、フィルタ処理の演算速
度をできるだけ落とさないようにする必要がある。
【０００６】
本発明は、上記の課題を解決すべくなされたものであり、フィルタ演算を行う画像処理
回路において、消費電力および回路規模を低減し、フィルタ演算速度を高速化する技術を
提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明の一態様は、原画像から、所定の主走査幅および所
定の副走査幅の領域を切り出したブロック画像の入力を受け付け、前記ブロック画像を構
成する画素ごとにフィルタ処理を施して出力する画像処理回路であって、ビット幅が少な
くともフィルタの主走査幅以上であり、かつ、記憶容量が少なくともフィルタの副走査幅
の２倍以上であり、前記ブロック画像の各画素行を前記ビット幅で区切った各セグメント
を、画素行ごとに副走査方向に配列して、前記ブロック画像を格納するためのメモリと、
フィルタ処理対象の画素データを、前記メモリからセグメント単位で読み出して出力する
読出手段と、前記読出手段が出力した画素データと当該画素位置に対応する予め定めたフ
ィルタ係数とを乗算する掛算器をフィルタの主走査幅と同数備え、積和演算によるフィル
タ処理を行って注目画素の画素データを出力するフィルタ処理手段と、前記読出手段が読
み出した画素データを一時的に格納するためのレジスタと、を備え、前記読出手段は、フ
ィルタ処理対象の画素データが１つのセグメントに全て含まれるか否かを判断し、フィル
タ処理対象の画素データが１つのセグメントに全て含まれる場合、当該セグメントの画素
データを読み出して出力し、フィルタ処理対象の画素データが２つのセグメントに跨って
含まれる場合、いずれか一方のセグメントの画素データを読み出して前記レジスタに格納
しておき、他方のセグメントの画素データを読み出すとともに、前記レジスタに格納した
画素データを読み出して、前記フィルタ処理手段に出力する。
【０００８】
また、前記メモリと、前記読出手段と、前記レジスタは、ＲＧＢ色ごとに設けられてお
り、前記フィルタ処理手段は、１つ設けられている。
【０００９】
また、本発明の他の態様では、いずれか１色の前記メモリに、モノクロのブロック画像
が格納され、当該メモリの前記読出手段は、前記フィルタ処理手段に出力した画素データ
のコピーを、当該読出手段が使用する前記レジスタ以外のレジスタに格納しておき、当該
画素データがフィルタ処理対象である場合に、当該画素データを当該レジスタから読み出
して出力する。
【００１０】
また、前記メモリはＳＲＡＭで構成することができる。
【００１１】
また、前記画像処理回路を搭載した画像処理装置を構成することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の第１の実施形態について、図面を参照して説明する。
【００１３】
先ず、図１〜４を参照して、本実施形態において実行されるブロック処理の概要を説明
する。
【００１４】
図１は、フィルタ演算の結果（以下「出力画素データ」と呼ぶ。）を得る対象の画素（
以下、「注目画素」と呼ぶ。）の処理順序を説明するための図である。
【００１５】
図１（Ａ）〜（Ｃ）に示すように、原画像１０は、主走査幅Ｗ（単位：画素）および副
走査幅Ｈ（単位：画素）の面積を有する１ページ分の画像である。図１（Ｄ）に示すよう
に、フィルタ演算は、原画像１０上の所定の領域１２（主走査幅Ｗ、副走査幅Ｌ）ごとに
、領域１４（主走査幅Ｗ、副走査幅Ｌ−２Ｄ）に含まれる画素について実行される。注目
画素の処理順序は、画素列ごとに副走査方向に進み、画素列の最後の画素まで進むと、隣
接する主走査方向の画素列の最初の画素に進む。すなわち、副走査方向が主走査方向より
優先される。原画像１０の全画素についてフィルタ演算が施される必要があるため、領域
１２は、図１（Ａ）〜（Ｃ）の遷移に示すように、副走査幅２Ｄ分が重なるように副走査
方向に移動されて決定される。領域１３（主走査幅Ｗ、副走査幅Ｄ）は、領域１４の上下
端の注目画素のフィルタ演算に必要な画素が含まれる領域である。なお、後述するように
、原画像１０は、ＳＤＲＡＭ（Synchronous DRAM）やＤＤＲ−ＳＤＲＡＭ（Double Data 
Rate SDRAM）などの大規模な画像メモリに格納されている。また、フィルタ演算は、原画
像１０から切り出されて、ＳＲＡＭなどのブロックメモリに格納されたブロック画像１６
について実行される。
【００１６】
図２は、ブロック画像をブロックメモリへ格納する方法を説明するための図である。図
２（Ａ）は、フィルタの構成を示している。図２（Ｂ）、（Ｃ）は、原画像１０上の領域
１２（図１参照）を詳細に示している。図２（Ｄ）は、ブロックメモリの構成を示してい
る。以下、主走査幅ｎおよび副走査幅ｍが５画素のフィルタをフィルタ演算に用いる場合
を例に挙げて説明する。
【００１７】
図２（Ａ）に示すように、注目画素２０は、フィルタの中心に位置する。そして、注目
画素２０の出力画素データは、積和演算および割算を用いた公知のフィルタ演算方法によ
り算出される。具体的には、フィルタの各画素位置にはそれぞれフィルタ係数が対応付け
られている。そして、フィルタ演算の対象となる各画素データと、それらの位置に対応す
る位置のフィルタ係数とをそれぞれ乗じ、それらの乗算結果の合計値を所定の値で割るこ
とにより、注目画素２０の出力画素データが得られる。
【００１８】
なお、フィルタの副走査幅ｍ＝５の場合、フィルタ演算を行うために、注目画素の位置
する行の上下にそれぞれ２行分の画素が必要となる。そのため、領域１３の副走査幅Ｄは
、２となる。副走査幅Ｄは、「（フィルタの副走査幅ｍ−１）／２」で求めることができ
る。例えば、フィルタの副走査幅ｍ＝７の場合、Ｄ＝３となる。領域１２の副走査幅Ｌは
、最小でフィルタの副走査幅ｍと等しければよいが、ブロックメモリへのコピー回数など
の演算効率の観点から、ｍとＬの差分が大きいほどよい。すなわち、Ｄの値は一定なので
、副走査幅（Ｌ−２Ｄ）の値がより大きいブロック画像をブロックメモリにコピーしてお
くことにより、ブロックメモリを使用して、より多くの注目画素を処理できるようになる
からである。
【００１９】
上記のフィルタを用いて、図２（Ｂ）に示すように、例えば、フィルタ演算を注目画素
１（主走査位置２、副走査位置２）から順に実行する場合、図２（Ｃ）に示すように、画
素群ａ〜ｘの各画素データをブロックメモリの対応する位置に予めコピーする。ブロック
メモリは、図２（Ｄ）に示すように、例えば、ビット幅（主走査幅）がフィルタの主走査
幅ｎと等しくなるように構成されている。また、セグメント２５（主走査幅ｎ、副走査幅
１）が、画素行（ライン）Ｌ０〜１１ごとに、４行ずつ配列された記憶容量となっている
。従って、画素行Ｌごとに、最大４セグメント分の画素データがブロックメモリに格納さ
れる。
【００２０】
なお、ブロックメモリのビット幅（主走査幅）は、少なくともフィルタの主走査幅ｎ以
上であればよい。また、記憶容量（副走査幅）は、少なくとも副走査幅Ｌの２倍以上（画
素行Ｌごとに２セグメント以上）であればよい。これは、ブロックメモリへの読み書きは
セグメント単位で行われるため、アクセス競合をなくして並列処理をできるようにするた
めである。すなわち、後述するフィルタ演算により、画素データの読み出しが終了したセ
グメントには、他のセグメントの画素データの読み出しが行われている間に新たな画素デ
ータを原画像からコピーして格納しておくことにより、並列処理をすることができる。
【００２１】
なお、図３に示すように、原画像１０の上下左右端の画素についてフィルタ演算を施す
場合（例えば、Ａ、Ｂ、Ｃの位置）、原画像１０の外側の、画素データがない領域がフィ
ルタ演算の対象範囲に含まれる。この場合は、画素データがない領域について、画素デー
タがあるものとして扱う。例えば、白色を表す画素データや、上下左右端の画素データの
コピーをブロックメモリに格納する。このように、ダミーの画素データをブロックメモリ
に格納することで、注目画素の位置にかかわらずフィルタ演算を行うことができる。
【００２２】
上記のようにしてブロックメモリにブロック画像が格納されると、図４に示すように、
フィルタ演算が行われる。なお、図４の注目画素番号１〜２４は、図２（Ｂ）の注目画素
番号１〜２４に対応している。
【００２３】
図４（Ａ）は、注目画素１（主走査位置２、副走査位置８）〜注目画素８（主走査位置
２、副走査位置３６）のフィルタ演算を行う場合を示している。注目画素１の出力画素デ
ータは、セグメント０、４、８、１２、１６の画素データを順に読み出し、各セグメント
に含まれる画素データの位置に対応する位置のフィルタ係数を用いた積和演算を行い、そ
の結果を所定の値で割ることで得られる。注目画素２（主走査位置２、副走査位置１２）
の出力画素データを得る場合、セグメント４、８、１２、１６、２０の画素データが読み
出し対象となる。以降も同様に、副走査方向に４ずつシフトされ、注目画素８の出力画素
データを得る場合、セグメント２８、３２、３６、４０、４４が読み出し対象となる。
【００２４】
図４（Ｂ）は、注目画素９（主走査位置３、副走査位置８）〜注目画素１６（主走査位
置３、副走査位置３６）のフィルタ演算を行う場合を示している。注目画素９の出力画素
データを得る場合、セグメント０と１、４と５、８と９、１２と１３、１６と１７の画素
データを順に読み出す。そして、各組の第１番目のセグメントの主走査位置１〜４の画素
データと、第２番目のセグメントの主走査位置０の画素データを抽出し、第１番目のセグ
メントの主走査位置１の画素データが先頭で第２番目のセグメントの主走査位置０の画素
データを末尾とする、１つのセグメントの画素データとして配列する。そして、それらの
配列後の画素データの位置に対応するフィルタ係数を用いた積和演算を行い、その結果を
所定の値で割ることで注目画素９の出力画素データを得る。注目画素１０（主走査位置３
、副走査位置１２）の出力画素データを得る場合、セグメント４と５、８と９、１２と１
３、１６と１７、２０と２１の画素データが読み出し対象となる。以降も同様に、副走査
方向に４ずつシフトされ、注目画素１６の出力画素データを得る場合、セグメント２８と
２９、３２と３３、３６と３７、４０と４１、４４と４５が読み出し対象となる。
【００２５】
図４（Ｃ）は、注目画素１７（主走査位置４、副走査位置８）〜注目画素２４（主走査
位置４、副走査位置３６）のフィルタ演算を行う場合を示している。注目画素１７の出力
画素データを得る場合、セグメント０と１、４と５、８と９、１２と１３、１６と１７の
画素データを順に読み出す。そして、各組の第１番目のセグメントの主走査位置２〜４の
画素データと、第２番目のセグメントの主走査位置０〜１の画素データを抽出し、第１番
目のセグメントの主走査位置２の画素データが先頭で第２番目のセグメントの主走査位置
１の画素データを末尾とする、１つのセグメントの画素データとして配列する。そして、
それらの画素データの位置に対応するフィルタ係数を用いた積和演算を行い、その結果を
所定の値で割ることで注目画素１７の出力画素データを得る。注目画素１８（主走査位置
４、副走査位置１２）の出力画素データを得る場合、セグメント４と５、８と９、１２と
１３、１６と１７、２０と２１の画素データが読み出し対象となる。以降も同様に、副走
査方向に４ずつシフトされ、注目画素２４の出力画素データを得る場合、セグメント２８
と２９、３２と３３、３６と３７、４０と４１、４４と４５が読み出し対象となる。
【００２６】
以上、本実施形態において実行されるブロック処理の概要を説明した。
【００２７】
次に、上記に示したブロック処理を実現する画像処理回路について説明する。図５は、
本実施形態が適用される画像処理回路の構成の概略を示すブロック図である。
【００２８】
本図に示すように、画像処理回路１１０は、画像メモリ１００と接続される。画像メモ
リ１００は、原画像データおよびフィルタ演算後の画像データを格納するために用いられ
る。画像メモリ１００は、例えば、ＳＤＲＡＭ（Synchronous DRAM）やＤＤＲ−ＳＤＲＡ
Ｍ（Double Data Rate SDRAM）などの大規模なメモリで構成される。
【００２９】
画像処理回路１１０は、上述したブロック処理を行うように設計および製造された専用
回路であり、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）などによ
り実現される。画像処理回路１１０は、ブロックメモリ１１２と、レジスタ１１４と、セ
レクタ１１６と、セレクタ１１８と、フィルタ演算回路１２０と、これらを接続する信号
線とから構成される。ブロックメモリ１１２と、レジスタ１１４と、セレクタ１１６は、
ＲＧＢ色ごとにそれぞれ設けられている。
【００３０】
ブロックメモリ１１２は、画像メモリ１００の原画像データから切り出されたブロック
画像を格納するために用いられる。ブロックメモリ１１２は、例えば、ＳＲＡＭで構成さ
れる。デュアルポートＲＡＭであってもよい。また、上述したように、ブロックメモリ１
１２のビット幅（主走査幅）は、少なくともフィルタの主走査幅ｎ以上であり、記憶容量
（副走査幅）は、少なくともブロック画像の副走査幅Ｌの２倍以上である。ここでは、図
２（Ｄ）と同様の構成として説明を進める。なお、ＲＧＢ各色のブロックメモリ１１２Ｒ
、１１２Ｇ、１１２Ｂには、各色のプレーン画像データが格納される。
【００３１】
レジスタ１１４は、ブロックメモリ１１２から読み出されたセグメントの画素データを
一時的に格納するために用いられる。レジスタ１１４は、後述するように、フィルタ演算
対象の画素データが２つのセグメントに跨る場合に使用される。レジスタ１１４は、少な
くとも１セグメント分の画素データを格納できる容量を有する。
【００３２】
セレクタ１１６は、ブロックメモリ１１２又はレジスタ１１４からセグメント単位に画
素データを読み出す。そして、読み出した画素データの中から、フィルタ演算対象の画素
データを抽出し、正しい順序に配列して、セレクタ１１８を介してフィルタ演算回路１２
０に出力する。
【００３３】
セレクタ１１８は、ＲＧＢ各色のセレクタ１１６Ｒ、１１６Ｇ、１１６Ｂのいずれか１
つを選択する。また、選択したセレクタ１１６から受け付けたセグメント単位の画素デー
タをフィルタ演算回路１２０に出力する。
【００３４】
フィルタ演算回路１２０は、入力された画素データとフィルタ係数を用いて積和演算を
行い、積和演算の結果に対して割り算を行って注目画素の出力画素データを出力するため
の回路である。具体的には、フィルタ演算回路１２０は、図６に示すように構成される。
なお、フィルタ演算回路１２０は、ＲＧＢ色で共有して使用される。
【００３５】
図６は、フィルタ演算回路１２０の構成の概略を示すブロック図である。本図に示すよ
うに、フィルタ演算回路１２０は、掛算器１２２と、係数メモリ１２４と、セレクタ１２
６と、加算器１２８と、レジスタ群１３０（セレクタ１３２と、レジスタ１３４と、セレ
クタ１３６）と、加算器１３８と、割算器１４０と、これらを接続する信号線とから構成
される。
【００３６】
掛算器１２２は、セレクタ１１８から入力された画素データと、係数メモリ１２４から
セレクタ１２６を介して入力されたフィルタ係数とを乗算する。また、乗算した結果を加
算器１２８に出力する。掛算器１２２は、フィルタの副走査幅ｎと同数設けられている。
【００３７】
セレクタ１２６は、掛算器１２２に入力された画素データと対応するフィルタ上の位置
のフィルタ係数を係数メモリ１２４から読み出し、掛算器１２２に出力する。
【００３８】
係数メモリ１２４には、フィルタ内の画素位置ごとにフィルタ係数が格納されている。
【００３９】
加算器１２８は、掛算器１２８が出力したデータと、セレクタ１３６が出力したレジス
タ１３４のデータ（１つ前の積和結果）とを加算して、セレクタ１３２に出力する。
【００４０】
セレクタ１３２は、加算器１２８が出力したデータを、ＲＧＢ各色のレジスタ１３４Ｒ
、１３４Ｇ、１３４Ｂのいずれか１つに出力する。
【００４１】
レジスタ１３４は、ＲＧＢ色ごとに設けられており、副走査方向の画素についての積和
結果が保持される。
【００４２】
セレクタ１３６は、レジスタ１３４Ｒ、１３４Ｇ、１３４Ｂのいずれか１つからデータ
を読み出し、加算器１２８および加算器１３８のいずれか一方に出力する。レジスタ１３
４に、フィルタの副走査幅ｍ分の積和結果が保持されている場合は、そのデータを加算器
１３８に出力し、保持されていない場合は、そのデータを加算器１２８に出力する。
【００４３】
加算器１３８は、ｎ個のセレクタ１３６から出力されたレジスタ１３４の積和結果を全
て加算し、割算器１４０に出力する。
【００４４】
割算器１４０は、加算器１３８から出力されたフィルタ内の全ての画素についての積和
結果を、所定の値で割ることにより、注目画素の出力画素データを算出する。また、出力
画素データを画像メモリ１００へ出力する。もちろん、割算器１４０の代わりにシフタを
設けてもよい。
【００４５】
次に、図４、７、８を参照して、画像処理回路１１０の特徴的な動作について説明する
。図７は、フィルタ演算回路へ入力する画素データの抽出の仕方を説明するための図であ
る。図８は、画像処理回路の１クロック毎の動作を示すタイミングチャートである。
【００４６】
上述したように、フィルタ演算回路１２０に入力される、フィルタ演算の対象となる１
セグメント分の画素データが、ブロックメモリ１１２上では、１つのセグメント内に位置
する場合（図４（Ａ）、図７（Ａ））と、２つのセグメントに跨って位置する場合（図４
（Ｂ）（Ｃ）、図７（Ｂ）（Ｃ））がある。そして、ブロックメモリ１１２からは、一度
に（１クロックで）セグメント単位でしか画素データを読み出せない。そのため、対象の
画素データが２つのセグメントに跨る場合、処理速度が落ちないように工夫をする必要が
ある。そこで、画像処理回路１１０には、レジスタ１１４を設けている。以下、具体的に
説明する。
【００４７】
まず、図８（Ａ）のタイミングチャートを参照して、フィルタ演算回路１２０の掛算器
１２２への入力対象画素データが１つのセグメント内に位置する場合（図４（Ａ）、図７
（Ａ））について説明する。この場合、レジスタ１１４Ｒ、１１４Ｇ、１１４Ｂは使用さ
れない。なお、図８（Ａ）は、フィルタ演算により注目画素１の出力画素データを得る場
合を示している。
【００４８】
画像処理回路１１０では、フィルタ演算回路１２０がＲＧＢ色で共通して使用されるた
め、図８（Ａ）に示すように、セレクタ１１８の制御により、ＲＧＢ色ごとに１クロック
タイミングをずらして同様の動作が行われる。ここでは、Ｒ色に注目して説明する。
【００４９】
（１）１クロック目：セグメント０（Ｌ０）の画素データを読み出すため、そのアドレ
スがブロックメモリ１１２Ｒにセットされる。
【００５０】
（２）２クロック目：セグメント０（Ｌ０）の画素データがブロックメモリ１１２Ｒか
ら読み出され、各画素データは、セレクタ１１６Ｒを介して掛算器１２２に入力される。
これと同時に、セグメント０（Ｌ０）の画素データを読み出すため、そのアドレスがブロ
ックメモリ１１２Ｇにセットされる。
【００５１】
（１）、（２）と同様の処理を繰り返すことにより、セグメント４（Ｌ１）、セグメン
ト８（Ｌ２）、セグメント１２（Ｌ３）、セグメント１６（Ｌ４）の画素データが、掛算
器１２２に入力される。すなわち、計５クロックで、５セグメント分の画素データを掛算
器１２２に入力して、注目画素１の出力画素データを得ることができる。ＲＧＢ全色では
、合計１５クロックとなる。また、アドレスの設定を含めた全体のクロック数は１６クロ
ックとなる。なお、注目画素２〜８についても同様に、副走査方向に４画素ずつシフトし
ながら、各セグメントが読み出されて、フィルタ演算が行われる。
【００５２】
次に、図８（Ｂ）のタイミングチャートを参照して、対象画素データが２つのセグメン
トに跨って位置する場合（図７（Ｂ）（Ｃ））について説明する。この場合、レジスタ１
１４Ｒ、１１４Ｇ、１１４Ｂが使用される。なお、図８（Ｂ）は、フィルタ演算により注
目画素９の出力画素データを得る場合を示している。上記と同様に、Ｒ色に注目して説明
する。
【００５３】
（１）１クロック目：セグメント１（Ｌ０）の画素データを読み出すため、そのアドレ
スがブロックメモリ１１２Ｒにセットされる。
【００５４】
（２）２クロック目：セグメント１（Ｌ０）の画素データが読み出され、各画素データ
は、レジスタ１１４Ｒに格納される（なお、図面では、読み出し可能となる次クロックか
ら各画素データがレジスタに格納されているものとして示している）。これと同時に、セ
グメント０（Ｌ０）の画素データを読み出すため、そのアドレスがブロックメモリ１１２
Ｒにセットされる。
【００５５】
（３）３クロック目：レジスタ１１４Ｒに格納されているセグメント１（Ｌ０）の画素
データと、ブロックメモリ１１２Ｒ上のセグメント０（Ｌ０）の画素データとが読み出さ
れる。また、セレクタ１１６Ｒにおいて、読み出された各画素データの中から掛算器１２
２に出力される画素データが抽出される。そして、それらの画素データは、フィルタ内の
画素位置の対応する位置に配列されて、掛算器１２２に入力される。ここでは、セグメン
ト０（Ｌ０）の４つの画素データ（主走査位置１〜４、副走査位置０）と、セグメント１
（Ｌ０）の１つの画素データ（主走査位置０、副走査位置１）が抽出され、セグメント０
（Ｌ０）の画素データの後ろにセグメント１（Ｌ０）の画素データが配列されて、掛算器
１２２に入力される。
【００５６】
（１）〜（３）と同様の処理を繰り返すことにより、セグメント４および５（Ｌ１）、
セグメント８および９（Ｌ２）、セグメント１２および１３（Ｌ３）、セグメント１６お
よび１７（Ｌ４）の画素データが読み出され、セグメント１つ分の画素データが抽出され
て掛算器１２２に入力される。すなわち、計５クロックで、５セグメント分の画素データ
を掛算器１２２に入力して、注目画素９の出力画素データを得ることができる。ＲＧＢ全
色では、合計１５クロック必要となる。また、アドレスの設定を含めた全体のクロック数
は１７クロックとなる。なお、注目画素９〜１６についても同様に、副走査方向に４画素
ずつシフトしながら、各セグメントが読み出されて、フィルタ演算が行われる。また、図
７（Ｃ）の場合も同様である。
【００５７】
以上のように、画像処理回路１１０は、掛算器１２２への入力対象画素データが１つの
セグメント内に位置する場合であっても、２つのセグメント内に位置する場合であっても
、処理速度をほとんど落とさずに動作することができる。
【００５８】
次に、画像処理回路１１０によるブロック処理の流れを説明する。図９は、ブロック処
理の流れを示すフロー図である。なお、説明を判り易くするため、ＲＧＢ色のいずれか１
つについての処理として説明する。
【００５９】
上述したように画像メモリ１００の画素データがブロックメモリ１１２にコピーされる
と、本フローは開始する。なお、フィルタ演算処理が終了したセグメントには、後のフィ
ルタ演算処理に使用される各画素データが画像メモリ１００からコピーされて予め格納さ
れる。
【００６０】
まず、フィルタ演算対象の画素データの位置が２セグメントに跨るか否かが判定される
（Ｓ１１０）。２セグメントに跨らないと判定された場合（Ｓ１１０でＮＯ）、Ｓ１２０
〜Ｓ１６０の処理が実行される。一方、２セグメントに跨ると判定された場合（Ｓ１１０
でＹＥＳ）、Ｓ１１５〜Ｓ１６５の処理が実行される。
【００６１】
Ｓ１２０では、まず、演算対象のセグメントがブロックメモリ１１２から読み出され、
セレクタ１１６を介してフィルタ演算回路１２０の掛算器１２２に入力される（Ｓ１２０
）。
【００６２】
次に、フィルタ副走査幅ｍ分のセグメントの読み出しが完了したか否かが判定される（
Ｓ１３０）。完了していないと判定された場合（Ｓ１３０でＮＯ）Ｓ１４０へ進む。完了
したと判定された場合（Ｓ１３０でＹＥＳ）、Ｓ１５０へ進む。
【００６３】
完了していないと判定された場合（Ｓ１３０でＮＯ）、演算対象のセグメントが次のセ
グメントへ変更され（Ｓ１４０）、Ｓ１２０へ戻る。
【００６４】
一方、完了したと判定された場合（Ｓ１３０でＹＥＳ）、副走査方向の注目画素列のう
ち最後の注目画素の演算が完了したか否かが判定される（Ｓ１５０）。完了していないと
判定された場合（Ｓ１５０でＮＯ）、Ｓ１６０へ進む。完了したと判定された場合（Ｓ１
５０でＹＥＳ）、Ｓ１７０へ進む。
【００６５】
完了していないと判定された場合（Ｓ１５０でＮＯ）、次の副走査方向の注目画素へフ
ィルタ位置が変更され（Ｓ１６０）、Ｓ１２０へ戻る。
【００６６】
一方、完了したと判定された場合（Ｓ１５０でＹＥＳ）、最後に演算対象となった注目
画素が最終画素であるか否か判定される（Ｓ１７０）。なお、最終画素とは、領域１４（
図１参照）の、末尾列と末尾行の交点に位置する画素である。最終画素でないと判定され
た場合（Ｓ１７０でＮＯ）、Ｓ１８０へ進む。最終画素であると判定された場合（Ｓ１７
０でＹＥＳ）、処理は終了する。
【００６７】
最終画素でないと判定された場合（Ｓ１７０でＮＯ）、注目画素列が隣接する主走査方
向の列に１つ移動され（Ｓ１８０）、Ｓ１１０に戻る
一方、最終画素であると判定された場合（Ｓ１７０でＹＥＳ）、処理は終了する。なお
、処理が終了した領域１４の次の領域１４（図１参照）についてブロック処理が開始され
る場合、本フローが再度開始される。
【００６８】
Ｓ１１５では、まず、演算対象の画素データが含まれる２つのセグメントのうち後ろの
セグメントがブロックメモリ１１２から読み出され、レジスタ１１４に格納される（Ｓ１
１５）。
【００６９】
次に、Ｓ１１５でレジスタ１１４に格納された画素データと、演算対象の画素データが
含まれる２つのセグメントのうち前のセグメントがブロックメモリ１１２から読み出され
る。また、セレクタ１１６において、読み出された各画素データの中から掛算器１２２に
入力される画素データが抽出され、フィルタ上の対応する順序に配置されて、フィルタ演
算回路１２０の掛算器１２２に入力される（Ｓ１２５）。
【００７０】
Ｓ１３５〜Ｓ１６５、Ｓ１７０、Ｓ１８０は、上述したＳ１３０〜Ｓ１６０、Ｓ１７０
、Ｓ１８０と同様なので説明を省略する。
【００７１】
以上、第１の実施形態について説明した。本実施形態によれば、ブロック処理を行う画
像処理回路の消費電力および回路規模を低減し、また、フィルタ演算速度を高速化するこ
とができる。すなわち、ブロックメモリとしてＳＲＡＭを用いることで、消費電力および
回路規模が小さい画像処理回路を実現できる。また、フィルタの主走査幅分の設けた掛算
器をＲＧＢ色で共用し、ブロックメモリと掛算器との間にレジスタを設けることにより、
フィルタ処理対象の画素データを１回のアクセスでブロックメモリから読み出せない場合
であっても、１回アクセスの場合と比べて処理速度がほとんど落ちない。
【００７２】
次に、本発明の第２の実施形態について、図面を参照して説明する。第２の実施形態に
は、カラー画像のフィルタ演算に用いる第１の実施形態の回路構成を用いることができる
。ただし、カラー画像だけでなくモノクロ画像のフィルタ演算にも使用できる構成となっ
ている。また、モノクロ画像のフィルタ演算の高速化を図った構成となっている。本実施
形態に係る画像処理回路では、モノクロ画像を処理する場合、図１０に示すように実線で
示す部分の回路が使われて動作し、カラー画像を処理する場合、図５に示すように実線で
示す部分の回路が使われて動作するように切り替えられる。以下、第１の実施形態と異な
る点を中心に、モノクロ画像のフィルタ演算を行う場合について説明する。
【００７３】
図１０は、本実施形態が適用される画像処理回路の構成の概略を示すブロック図である
。本実施形態では、モノクロの原画像のブロック画像を格納するメモリとして、ＲＧＢ色
ごとに設けられたブロックメモリ１１２のうちいずれか１つを使用する。ここでは、Ｇ色
のブロックメモリ１１２Ｇを使用した回路構成としている。
【００７４】
本図に示すように、本実施形態では、第１の実施形態と異なり、セレクタ１１６Ｇと、
他のレジスタ１１４Ｒおよび１１４Ｂとが、互いに信号線１８０〜１８３で接続されてい
る。
【００７５】
レジスタ１１４Ｇは、第１の実施形態と同様に、フィルタ演算対象の画素データが２つ
のセグメントに跨る場合に使用される。一方、レジスタ１１４Ｒおよび１１４Ｂは、セレ
クタ１１６Ｇがフィルタ演算回路１２０に出力する１セグメント分の画素データのコピー
を格納するために使用される。
【００７６】
信号線１８０、１８２は、セレクタ１１６Ｇがフィルタ演算回路１２０に出力する画素
データのコピーを、レジスタ１１４Ｒおよび１１４Ｂに格納するために使用される。また
、信号線１８１、１８３は、レジスタ１１４Ｒおよび１１４Ｂに格納された画素データを
セレクタ１１６Ｇが読み出してフィルタ演算回路１２０に出力するために使用される。な
お、フィルタ演算回路１２０では、レジスタ１３４Ｇが使用され、レジスタ１３４Ｒおよ
び１３４Ｂは使用されない。
【００７７】
次に、図４、７、１１を参照して、画像処理回路１１０の特徴的な動作について説明す
る。図１１は、画像処理回路の１クロック毎の動作を示すタイミングチャートである。
【００７８】
まず、図１１（Ａ）のタイミングチャートを参照して、フィルタ演算回路１２０の掛算
器１２２への入力対象画素データが１つのセグメント内に位置する場合（図４（Ａ）、図
７（Ａ））について説明する。この場合、レジスタ１１４Ｒ、１１４Ｇ、１１４Ｂは使用
されない。なお、図１１（Ａ）は、フィルタ演算により注目画素１、２の出力画素データ
を得る場合を示している。原画像はモノクロであるため、一色分の処理が行われる。
【００７９】
（１）１クロック目：セグメント０（Ｌ０）の画素データを読み出すため、そのアドレ
スがブロックメモリ１１２Ｇにセットされる。
【００８０】
（２）２クロック目：セグメント０（Ｌ０）の画素データがブロックメモリ１１２Ｇか
ら読み出され、各画素データは、セレクタ１１６Ｇを介して掛算器１２２に入力される。
これと同時に、セグメント４（Ｌ１）の画素データを読み出すため、そのアドレスがブロ
ックメモリ１１２Ｇにセットされる。
【００８１】
（１）、（２）と同様の処理を繰り返すことにより、セグメント４（Ｌ１）、セグメン
ト８（Ｌ２）、セグメント１２（Ｌ３）、セグメント１６（Ｌ４）の画素データが、掛算
器１２２に入力される。すなわち、計５クロックで、５セグメント分の画素データを掛算
器１２２に入力して、注目画素１の出力画素データを得ることができる。また、アドレス
の設定を含めた全体のクロック数は６クロックとなる。なお、注目画素２〜８についても
同様に、副走査方向に４画素ずつシフトしながら、各セグメントが読み出されて、フィル
タ演算が行われる。
【００８２】
次に図１１（Ｂ）のタイミングチャートを参照して、対象画素データが２つのセグメン
トに跨って位置する場合（図７（Ｂ））について説明する。この場合、第１の実施形態と
同様に、レジスタ１１４Ｇが使用される。また、レジスタ１１４Ｒおよび１１４Ｂは、セ
レクタ１１６Ｇがフィルタ演算回路１２０に出力する１セグメント分の画素データのコピ
ーを格納するために使用される。なお、図１１（Ｂ）は、注目画素９〜１１の出力画素デ
ータを得る場合を示している。
【００８３】
（１）１クロック目：セグメント１（Ｌ０）の画素データを読み出すため、そのアドレ
スがブロックメモリ１１２Ｇにセットされる。
【００８４】
（２）２クロック目：セグメント１（Ｌ０）の画素データが読み出され、各画素データ
は、レジスタ１１４Ｇに格納される（なお、図面では、読み出し可能となる次クロックか
ら各画素データがレジスタに格納されているものとして示している）。これと同時に、セ
グメント０（Ｌ０）の画素データを読み出すため、そのアドレスがブロックメモリ１１２
Ｇにセットされる。
【００８５】
（３）３クロック目：レジスタ１１４Ｇに格納されているセグメント１（Ｌ０）の画素
データと、ブロックメモリ１１２Ｇ上のセグメント０（Ｌ０）の画素データとが読み出さ
れる。また、セレクタ１１６Ｇにおいて、読み出された各画素データの中から掛算器１２
２に入力される画素データが抽出される。そして、それらの画素データは、フィルタ内の
画素位置に対応する位置に配列されて、掛算器１２２に入力される。ここでは、セグメン
ト０（Ｌ０）の４つの画素データ（主走査位置１〜４、副走査位置０）と、セグメント１
（Ｌ０）の１つの画素データ（主走査位置０、副走査位置１）が抽出され、セグメント０
（Ｌ０）の画素データの後ろにセグメント１（Ｌ０）の画素データが配列されて、掛算器
１２２に入力される。また、上記の動作と同時に、セグメント５（Ｌ１）の画素データを
読み出すため、そのアドレスがブロックメモリ１１２Ｇにセットされる。
【００８６】
（４）４〜１１クロック目：（１）〜（３）と同様の処理を繰り返すことにより、セグ
メント４および５（Ｌ１）、セグメント８および９（Ｌ２）、セグメント１２および１３
（Ｌ３）、セグメント１６および１７（Ｌ４）の画素データが読み出され、セグメント１
つ分の画素データが抽出されて掛算器１２２に入力される。これに加え、７クロック目と
１１クロック目では以下の動作が行われる。セレクタ１１６Ｇにより、レジスタ１１４Ｇ
およびブロックメモリ１１２Ｇから読み出され、選択された１セグメント分の画素データ
が掛算器１２２に入力されるのと同時に、これらの画素データが、信号線１８０若しくは
１８２を介して、レジスタ１１４Ｒ若しくは１１４Ｂに格納される。ここでは、７クロッ
ク目に、Ｌ２の画素データがレジスタ１１４Ｒに格納され、１１クロック目に、Ｌ４の画
素データがレジスタ１１４Ｂに格納される（なお、図面では、読み出し可能となる次クロ
ックから各画素データがレジスタに格納されているものとして示している）。これらの画
素データは、次の注目画素（注目画素１０）の出力画素データを得る際に読み出されてフ
ィルタ演算回路１２０に出力されることにより使用される。すなわち、ブロックメモリ１
１４Ｇにアクセスせずに、画素データをフィルタ演算回路１２０に出力することが可能と
なる。このように、計５クロックで、５セグメント分の画素データを掛算器１２２に入力
して、注目画素９の出力画素データを得ることができる。また、アドレスの設定を含めた
全体のクロック数は１１クロックとなる。
【００８７】
（５）１１〜１７クロック目：（１）〜（４）と同様の処理を繰り返される。ただし、
レジスタ１１４Ｒおよび１１４Ｂに格納された画素データについては、信号線１８１およ
び信号線１３を介して読み出され、ブロックメモリ１１４Ｇにアクセスされることなく、
フィルタ演算回路１２０に出力される。ここでは、１４クロック目に、Ｌ２の画素データ
がレジスタ１１４Ｒから読み出されて掛算器１２２に入力され、１６クロック目に、Ｌ４
の画素データがレジスタ１１４Ｂから読み出されて掛算器１２２に入力される。すなわち
、掛算器１２２が使用されていないタイミングに、レジスタ１１４Ｒおよび１１４Ｂから
読み出された画素データが出力される。なお、１５および１７クロック目に、次の注目画
素（注目画素１１）のフィルタ演算に使用されるＬ３およびＬ５の画素データが、それぞ
れ、レジスタ１１４Ｒおよび１１４Ｂに格納される。このように、計５クロックで、５セ
グメント分の画素データを掛算器１２２に入力して、注目画素１０の出力画素データを得
ることができる。また、アドレスの設定を含めた全体のクロック数は７クロックとなる。
以降の注目画素についても同様に動作する。
【００８８】
以上、第２の実施形態について説明した。本実施形態によれば、カラー画像については
第１の実施形態と同様の効果が得られる。さらに、モノクロ画像については、ブロックメ
モリと掛算器との間に設けられた、本来他の２色のフィルタ演算に使用されるのレジスタ
を、使用できるようにすることにより、フィルタ処理対象の画素データを１回のアクセス
でブロックメモリから読み出せない場合であっても、１回アクセスの場合と比べて処理速
度がほとんど落ちない。
【００８９】
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正
および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の
本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではな
い。
【図面の簡単な説明】
【００９０】
【図１】ブロック処理における注目画素の処理順序を説明するための図。
【図２】ブロック画像をブロックメモリへ格納する方法を説明するための図。
【図３】原画像の端の注目画素のフィルタ演算の方法を説明するための図。
【図４】ブロックメモリを用いたフィルタ演算の方法を説明するための図。
【図５】第１の実施形態が適用される画像処理回路の構成の概略を示すブロック図。
【図６】フィルタ演算回路の構成の概略を示すブロック図。
【図７】フィルタ演算回路へ入力する画素データの抽出の仕方を説明するための図。
【図８】第１の実施形態が適用される画像処理回路の動作を示すタイミングチャート図。
【図９】ブロック処理の流れを示すフロー図。
【図１０】第２の実施形態が適用される画像処理回路の構成の概略を示すブロック図。
【図１１】第２の実施形態が適用される画像処理回路の動作を示すタイミングチャート図。
【符号の説明】
【００９１】
１０・・・原画像、１２・・・領域、１３・・・領域、１４・・・領域、１６・・・ブロ
ック画像、２０・・・注目画素、２５・・・セグメント、１００・・・画像メモリ、１１
０・・・画像処理回路、１１２・・・ブロックメモリ、１１４・・・レジスタ、１１６・
・・セレクタ、１１８・・・セレクタ、１２０・・・フィルタ演算回路、１２２・・・掛
算器、１２４・・・係数メモリ、１２６・・・セレクタ、１２８・・・加算器、１３０・
・・レジスタ群、１３２・・・セレクタ、１３４・・・レジスタ、１３６・・・セレクタ
、１３８・・・加算器、１４０・・・割算器、１８０・・・信号線、１８１・・・信号線
、１８２・・・信号線、１８３・・・信号線
【図１】
0005018486.tif 000002
【図２】
0005018486.tif 000003
【図３】
0005018486.tif 000004
【図４】
0005018486.tif 000005
【図５】
0005018486.tif 000006
【図６】
0005018486.tif 000007
【図７】
0005018486.tif 000008
【図８】
0005018486.tif 000009
【図９】
0005018486.tif 000010
【図１０】
0005018486.tif 000011
【図１１】
0005018486.tif 000012