IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京セラドキュメントソリューションズ株式会社の特許一覧

<>
  • 特許-画像処理装置 図1
  • 特許-画像処理装置 図2
  • 特許-画像処理装置 図3
  • 特許-画像処理装置 図4
  • 特許-画像処理装置 図5
  • 特許-画像処理装置 図6
  • 特許-画像処理装置 図7
  • 特許-画像処理装置 図8
  • 特許-画像処理装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-01
(45)【発行日】2022-06-09
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
   H04N 1/387 20060101AFI20220602BHJP
   G06T 3/60 20060101ALI20220602BHJP
【FI】
H04N1/387 700
G06T3/60
【請求項の数】 4
(21)【出願番号】P 2018121399
(22)【出願日】2018-06-26
(65)【公開番号】P2020005075
(43)【公開日】2020-01-09
【審査請求日】2021-05-31
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】100114971
【弁理士】
【氏名又は名称】青木 修
(72)【発明者】
【氏名】里見 星輝
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2015-012467(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/38- 1/393
G06T 3/00- 3/60
(57)【特許請求の範囲】
【請求項1】
入力画像を分割して得られる入力バンドを記憶する入力バンドバッファーと、
前記入力バンドバッファーに記憶されている前記入力バンドから入力画素ブロックを読み出し所定画素ライン数のラインバッファーに出力するリード回路と、
出力バンドを記憶する出力バンドバッファーと、
前記ラインバッファーから前記入力画素ブロックの画素ラインを読み出して前記入力画素ブロックに対して回転処理を実行して出力画素ブロックを導出し前記出力バンドの一部として前記出力バンドバッファーに記憶する演算処理回路と、
前記回転処理の回転角度に応じて、前記出力画素ブロックのサイズを決定し、前記出力画素ブロックのサイズに基づいて、前記リード回路に前記入力画素ブロックのサイズを設定するコントローラーとを備え、
前記コントローラーは、(a)前記出力画素ブロックのサイズを決定するブロックサイズ決定処理を実行し、(b)前記ブロックサイズ決定処理において、(b1)入力画素座標系において前記出力画素ブロックが前記入力バンドに収まるように、前記出力画素ブロックの出力ブロック高について、前記出力バンドの出力バンド高の整数(正数)分の1としたものの中から前記入力バンドに収まりうる最も大きいものに設定し、(b2)前記入力画素座標系において、前記入力画素ブロックの所定最大幅に収まるように、前記出力画素ブロックの幅を伸ばし、(b3)前記入力画素座標系において、前記出力画素ブロックの幅を伸ばした後の前記出力画素ブロックが前記入力バンドに収まらない場合には、前記出力画素ブロックが前記入力バンドに収まりかつ前記出力画素ブロックの幅が最も大きくなるように、前記出力画素ブロックの幅を縮め、(b4)入力画素座標系において、前記出力画素ブロックの1画素ラインに対応する前記入力画素ブロックの画素ライン数が前記ラインバッファーの前記画素ライン数を超えている場合には、前記出力画素ブロックの幅を縮めた後の前記出力画素ブロックの1画素ラインに対応する前記入力画素ブロックの画素ライン数が前記ラインバッファーの前記画素ライン数以下になるように、前記出力画素ブロックの幅を縮め、(b5)前記出力画素ブロックの出力ブロック高および前記出力画素ブロックの幅に基づいて、前記リード回路に前記入力画素ブロックのサイズを設定すること、
を特徴とする画像処理装置。
【請求項2】
前記演算処理回路は、前記回転処理とともにフィルター処理を実行し、
前記コントローラーは、前記ブロックサイズ決定処理において、(b1)前記入力画素座標系において、前記フィルター処理のフィルターサイズに応じた前記出力画素ブロックの周辺領域および前記出力画素ブロックが前記入力バンドに収まるように、前記出力画素ブロックの出力ブロック高について、前記出力バンドの出力バンド高の整数(正数)分の1としたものの中から前記入力バンドに収まりうる最も大きいものに設定し、(b2)前記入力画素座標系において、前記周辺領域および前記出力画素ブロックが前記入力画素ブロックの所定最大幅に収まるように、前記出力画素ブロックの幅を伸ばし、(b3)前記入力画素座標系において、前記出力画素ブロックの幅を伸ばした後の前記周辺領域および前記出力画素ブロックが前記入力バンドに収まらない場合には、前記周辺領域および前記出力画素ブロックが前記入力バンドに収まりかつ前記出力画素ブロックの幅が最も大きくなるように、前記出力画素ブロックの幅を縮め、(b4)前記周辺領域および前記出力画素ブロックの1画素ラインに対応する前記入力画素ブロックの画素ライン数が前記ラインバッファーの前記画素ライン数を超えている場合には、前記出力画素ブロックの幅を縮めた後の前記周辺領域および前記出力画素ブロックの1画素ラインに対応する前記入力画素ブロックの画素ライン数が前記ラインバッファーの前記画素ライン数以下になるように、前記出力画素ブロックの幅を縮め、(b5)前記出力画素ブロックの出力ブロック高および前記出力画素ブロックの幅に基づいて、前記リード回路に前記入力画素ブロックのサイズを設定し、
前記フィルター処理のフィルターサイズの幅がN画素であり前記フィルターサイズの高さがM画素である場合、前記出力画素ブロックの横方向における前記周辺領域の幅は(N-1)/2画素であり、前記出力画素ブロックの縦方向における前記周辺領域の高さは(M-1)/2画素であること、
を特徴とする請求項1記載の画像処理装置。
【請求項3】
前記ブロックサイズ決定処理において、前記出力画素ブロックの出力ブロック高および幅の初期値は、互いに同一であることを特徴とする請求項1または請求項2記載の画像処理装置。
【請求項4】
前記入力画素ブロックの高さは、前記入力バンドの高さ以下であり、
前記出力画素ブロックの高さは、前記出力バンドの高さ以下であり、
前記出力バンドにおける前記出力画素ブロックは、互いにオーバーラップせず、
前記入力バンドにおける前記入力画素ブロックは、互いにオーバーラップすること、
を特徴とする請求項1から請求項3のうちのいずれか1項記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関するものである。
【背景技術】
【0002】
ある画像処理装置は、入力画像(ページ画像)から入力画素ブロックを抽出し、その画素ブロックを回転させることで、回転補正された出力画素ブロックを得ている(例えば特許文献1参照)。その際、その画像処理装置では、入力画素ブロックのサイズがメモリー容量などに基づいて設定され、入力画素ブロックのサイズから出力画素ブロックのサイズが特定されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-175463号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像処理装置において、回転後の画像に対してバンドごとにハードウェア(つまり専用回路)で画像処理を施す場合、バンドの演算効率や記憶領域の使用効率の観点から、出力画素ブロックの高さは出力バンド高の整数分の1であることが好ましい。
【0005】
しかしながら、上述の画像処理装置では、まず、入力画素ブロックのサイズが決定され、それに伴い、入力画素ブロックのサイズに従って出力画素ブロックのサイズが決定されているため、出力画素ブロックの高さが出力バンド高の整数分の1とならず、バンドの演算効率や記憶領域の使用効率が低下する可能性がある。
【0006】
本発明は、上記の問題に鑑みてなされたものであり、回転処理後のバンドの演算効率や記憶領域の使用効率の低下を抑制する画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る画像処理装置は、入力画像を分割して得られる入力バンドを記憶する入力バンドバッファーと、前記入力バンドバッファーに記憶されている前記入力バンドから入力画素ブロックを読み出し所定画素ライン数のラインバッファーに出力するリード回路と、出力バンドを記憶する出力バンドバッファーと、前記ラインバッファーから前記入力画素ブロックの画素ラインを読み出して前記入力画素ブロックに対して回転処理を実行して出力画素ブロックを導出し前記出力バンドの一部として前記出力バンドバッファーに記憶する演算処理回路と、前記回転処理の回転角度に応じて、前記出力画素ブロックのサイズを決定し、前記出力画素ブロックのサイズに基づいて、前記リード回路に前記入力画素ブロックのサイズを設定するコントローラーとを備える。そして、前記コントローラーは、(a)前記出力画素ブロックのサイズを決定するブロックサイズ決定処理を実行し、(b)前記ブロックサイズ決定処理において、(b1)入力画素座標系において前記出力画素ブロックが前記入力バンドに収まるように、前記出力画素ブロックの出力ブロック高について、前記出力バンドの出力バンド高の整数(正数)分の1としたものの中から前記入力バンドに収まりうる最も大きいものに設定し、(b2)前記入力画素座標系において、前記入力画素ブロックの所定最大幅に収まるように、前記出力画素ブロックの幅を伸ばし、(b3)前記入力画素座標系において、前記出力画素ブロックの幅を伸ばした後の前記出力画素ブロックが前記入力バンドに収まらない場合には、前記出力画素ブロックが前記入力バンドに収まりかつ前記出力画素ブロックの幅が最も大きくなるように、前記出力画素ブロックの幅を縮め、(b4)前記出力画素ブロックの1画素ラインに対応する前記入力画素ブロックの画素ライン数が前記ラインバッファーの前記画素ライン数を超えている場合には、前記出力画素ブロックの幅を縮めた後の前記出力画素ブロックの1画素ラインに対応する前記入力画素ブロックの画素ライン数が前記ラインバッファーの前記画素ライン数以下になるように、前記出力画素ブロックの幅を縮め、(b5)前記出力画素ブロックの出力ブロック高および前記出力画素ブロックの幅に基づいて、前記リード回路に前記入力画素ブロックのサイズを設定する。

【発明の効果】
【0008】
本発明によれば、回転処理後のバンドの演算効率や記憶領域の使用効率の低下を抑制する画像処理装置が得られる。
【0009】
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
【図面の簡単な説明】
【0010】
図1図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
図2図2は、入力画素座標系における入力画素ブロックおよび出力画素ブロックの対応関係を説明する図である。
図3図3は、入力バンドにおける入力画素ブロックのサイズおよび出力バンドにおける出力画素ブロックのサイズを説明する図である。
図4図4は、実施の形態1における入力バンド高による制限に基づく出力ブロック高の選択について説明する図である。
図5図5は、実施の形態1における入力画素ブロックの最大幅による制限に基づく出力画素ブロックの幅の設定について説明する図である。
図6図6は、実施の形態1における入力バンド高による制限に基づく出力画素ブロックの幅の縮小について説明する図である。
図7図7は、実施の形態1におけるラインバッファー高による制限に基づく出力画素ブロックの幅の縮小について説明する図である。
図8図8は、実施の形態1に係る画像処理装置の動作を説明するフローチャートである。
図9図9は、実施の形態2におけるブロックサイズ決定処理について説明する図である。
【発明を実施するための形態】
【0011】
以下、図に基づいて本発明の実施の形態を説明する。
【0012】
実施の形態1.
【0013】
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。図1に示す画像処理装置は、例えば、スキャナー、コピー機、ファクシミリ機、複合機などであって、原稿から原稿画像を光学的に読み取り、ハードウェア処理で、その原稿画像を回転させる。
【0014】
図1に示す画像処理装置は、画像読取部1、ブロック出力部2、演算処理回路3、出力バンドバッファー4、およびコントローラー5を備える。
【0015】
画像読取部1は、プラテングラス、自動原稿送り器、画像読取光学系、撮像素子、画像データ生成回路などを備え、プラテングラスに載置された原稿、または自動原稿送り器により搬送されてきた原稿の原稿画像を、画像読取光学系によって撮像素子に撮像させ、画像データ生成回路によって、撮像素子により読み取られた原稿画像(入力画像)の画像データを出力する。ここでは、撮像素子はラインセンサーであり、画像読取部1は、1画素ラインずつ入力画像の画像データを出力する。
【0016】
画像読取部1は、自動原稿送り器により搬送されてきた原稿から原稿画像を読み取る第1モード、および、プラテンガラスに載置された原稿から原稿画像を読み取る第2モードを動作モードとして実行可能である。
【0017】
例えば、自動原稿送り器は、自動原稿送り器に原稿がセットされたことを検知するセンサーを備え、画像読取部1は、そのセンサーにより原稿が検出された場合には、第1モードで画像読取を実行し、そうではない場合には、第2モードで画像読取を実行する。
【0018】
ブロック出力部2は、画像読取部1から出力される画像データを入力画像の1画素ラインずつ受け付け、入力バンドバッファー2aに記憶し、リード回路2bで入力バンドバッファー2aから入力画素ブロックを順番に読み出し、出力する。
【0019】
具体的には、入力バンドバッファー2aは、入力画像(ここではページ画像)を分割して得られる1または複数の入力バンド(所定数の画素ライン)を記憶する。また、リード回路2bは、入力バンドバッファー2aに記憶されている入力バンドから入力画素ブロックを読み出し、1画素ラインずつ順番に所定画素ライン数のラインバッファー3aに出力する。
【0020】
演算処理回路3は、ラインバッファー3aから入力画素ブロックの画素ラインを順番に読み出して入力画素ブロックに対して演算部3bで(任意角度で)回転処理を実行して出力画素ブロックを導出し出力バンドの一部として出力バンドバッファー4に記憶する。
【0021】
出力バンドバッファー4は、1または複数の出力バンド(所定数の画素ライン)を記憶する。図示せぬ後段の画像処理回路は、出力バンドバッファー4から画像データを順次読み出して、所定の画像処理を実行する。
【0022】
例えば、ラインバッファー3aは、図示せぬスタティックRAMにおいて確保されたメモリー領域である。ラインバッファー3aは、所定のN本(N>1)の画素ラインの画像データを記憶するのに十分なメモリー領域を有する。
【0023】
また、例えば、入力バンドバッファー2aおよび出力バンドバッファー4は、図示せぬスタティックRAMまたはダイナミックRAMにおいて確保されたメモリー領域である。
【0024】
コントローラー5は、画像読取部1、ブロック出力部2、演算処理回路3などを制御する。特に、コントローラー5は、上述の画像ブロックのブロックサイズを回転角度に応じた値に設定する。ここで、回転角度は、ユーザーにより任意の角度に設定されてもよいし、既知の方法で読取画像から自動的に検出される原稿画像(入力画像)の傾き角をゼロにするように自動的に設定されるようにしてもよい。
【0025】
具体的には、コントローラー5は、上述の回転処理の回転角度に応じて、まず出力画素ブロックのサイズ(副走査方向の高さと主走査方向の幅)を決定して演算処理回路3に設定し、その出力画素ブロックのサイズに対応する入力画素ブロックのサイズを特定しリード回路2bに設定する。
【0026】
その際、コントローラー5は、出力画素ブロックのサイズを決定するブロックサイズ決定処理を実行する。
【0027】
図2は、入力画素座標系における入力画素ブロックおよび出力画素ブロックの対応関係を説明する図である。図3は、入力バンドにおける入力画素ブロックのサイズおよび出力バンドにおける出力画素ブロックのサイズを説明する図である。演算処理回路3での回転処理のため、入力画素ブロックは出力画素ブロックより大きくする必要がある。また、入力画素ブロックのサイズは、出力画素ブロックのサイズに応じて決定され、入力画素ブロック内の画素のうち、出力画素ブロックの画素値の導出に寄与しない画素が少ないほど、入力画素ブロックの記憶効率などが良好となる。また、図3に示すように、回転処理に起因して入力画素ブロックのサイズは出力画素ブロックのサイズより大きくなるため、互いに隣接する入力画素ブロックは、互いにオーバーラップする。
【0028】
具体的には、コントローラー5は、ブロックサイズ決定処理において、まず、入力画素座標系において出力画素ブロックが入力バンドに収まるように、出力画素ブロックの出力ブロック高(つまり、出力画素ブロックの画素ライン数)を、出力バンドの出力バンド高(つまり、出力バンドの画素ライン数)の整数(正数)分の1から最も大きいものに設定する。
【0029】
図4は、実施の形態1における入力バンド高による制限に基づく出力ブロック高の選択について説明する図である。
【0030】
まず、コントローラー5は、出力ブロック高を出力バンド高と同一にし(つまり出力ブロック高を最大値とし)、演算処理回路3での回転角度に基づいて、その出力画素ブロックを図2に示すように入力画素座標系に写像し、図4に示すように高さ方向において入力バンド高に収まるか否かを判定する。このときの入力画素座標系に写像した出力画素ブロックが高さ方向において入力バンド高に収まれば、出力ブロック高を出力バンド高と同一に確定する。
【0031】
なお、出力画素座標系から入力画素座標系への写像は、指定された回転角度に基づいて行われる。また、入力画素座標系での、写像された出力画素ブロックの各画素の位置は、サブピクセル単位(例えば1/65536画素単位)で計算される。
【0032】
一方、出力ブロック高を出力バンド高と同一にした場合、入力画素座標系に写像した出力画素ブロックが高さ方向において入力バンド高に収まらなければ、コントローラー5は、出力ブロック高を出力バンド高の2分の1にし、その出力画素ブロックを入力画素座標系に写像し、高さ方向において入力バンド高に収まるか否かを判定する。このときの入力画素座標系に写像した出力画素ブロックが高さ方向において入力バンド高に収まれば、出力ブロック高を、出力バンド高の2分の1に確定する。
【0033】
一方、出力ブロック高を出力バンド高の2分の1にした場合、入力画素座標系に写像した出力画素ブロックが高さ方向において入力バンド高に収まらなければ、コントローラー5は、出力ブロック高を出力バンド高の3分の1にし、その出力画素ブロックを入力画素座標系に写像し、高さ方向において入力バンド高に収まるか否かを判定する。このときの入力画素座標系に写像した出力画素ブロックが高さ方向において入力バンド高に収まれば、出力ブロック高を、出力バンド高の3分の1に確定する。
【0034】
以下同様にして、入力画素座標系に写像した出力画素ブロックが高さ方向において入力バンド高に収まるまで出力ブロック高を減らしていき、入力画素座標系に写像した出力画素ブロックが高さ方向において入力バンド高に収まったときの出力ブロック高が選択される。
【0035】
例えば図3に示す場合では、出力ブロック高は、出力バンド高の2分の1とされている。なお、図3では、出力画素ブロックの幅は、出力ブロック高と同一とされている。
【0036】
図5は、実施の形態1における入力画素ブロックの最大幅による制限に基づく出力画素ブロックの幅の設定について説明する図である。
【0037】
ブロックサイズ決定処理において、次に、コントローラー5は、図5に示すように、入力画素座標系において、入力画素ブロックの所定最大幅に収まるように、出力画素ブロックの幅(画素数)を伸ばす。つまり、コントローラー5は、入力画素座標系において、幅方向において入力画素ブロックの所定最大幅に収まる範囲内で、出力画素ブロックの幅を最大にする。
【0038】
なお、入力画素ブロックの所定最大幅(画素数)は、ハードウェアの構成(例えば、後段の演算処理回路3のラインバッファー3aの幅(つまり、1画素ラインについて画素値を記憶可能な画素数))によって決められる。
【0039】
図6は、実施の形態1における入力バンド高による制限に基づく出力画素ブロックの幅の縮小について説明する図である。
【0040】
ブロックサイズ決定処理において、次に、コントローラー5は、図6に示すように、入力画素座標系において、出力画素ブロックの幅を伸ばした後の出力画素ブロックが入力バンドに収まらない場合には、出力画素ブロックが入力バンドに収まりかつ出力画素ブロックの幅が最も大きくなるように、出力画素ブロックの幅を縮める。
【0041】
具体的には、出力画素ブロックの幅を伸ばした後の出力画素ブロックが、入力画素座標系の高さ方向において入力バンド高に収まらない場合、上述のように出力画素ブロックの幅が縮められる。
【0042】
なお、出力画素ブロックの幅を伸ばした後の出力画素ブロックが、入力画素座標系の高さ方向において入力バンド高に収まる場合には、ここでは、コントローラー5は、上述のように出力画素ブロックの幅を縮めず、そのままの幅とする。
【0043】
図7は、実施の形態1におけるラインバッファー高による制限に基づく出力画素ブロックの幅の縮小について説明する図である。
【0044】
ブロックサイズ決定処理において、次に、コントローラー5は、図7に示すように、現時点のサイズでの出力画素ブロックの1画素ラインに対応する入力画素ブロックの画素ライン数(つまり、回転処理で出力画素ブロックの1画素ラインを得るのに必要な入力画素ブロックの画素ライン数)がラインバッファー3aの画素ライン数(ラインバッファー高)を超えている場合には、出力画素ブロックの幅を、出力画素ブロックの1画素ラインに対応する入力画素ブロックの画素ライン数がラインバッファーの画素ライン数以下になるように縮める。
【0045】
なお、現時点のサイズでの出力画素ブロックの1画素ラインに対応する入力画素ブロックの画素ライン数がラインバッファー3aの画素ライン数を超えていない場合には、ここでは、コントローラー5は、上述のように出力画素ブロックの幅を縮めず、そのままの幅とする。
【0046】
そして、コントローラー5は、このようにして設定した出力画素ブロックのサイズ(出力ブロック高および出力画素ブロックの幅)に基づいて、リード回路2bに入力画素ブロックのサイズを設定する。
【0047】
ここで、ブロックサイズ決定処理において、出力画素ブロックの出力ブロック高および幅の初期値は、互いに同一とされる。
【0048】
また、入力画素ブロックの高さは、入力バンドの高さ以下とされ、出力画素ブロックの高さは、出力バンドの高さ以下とされる。さらに、出力バンドにおける出力画素ブロックは、互いにオーバーラップせず、入力バンドにおける入力画素ブロックは、互いにオーバーラップする。
【0049】
次に、上記画像処理装置の動作について説明する。図8は、実施の形態1に係る画像処理装置の動作を説明するフローチャートである。
【0050】
コントローラー5は、当該画像処理装置が画像読取部1により生成された入力画像を処理する前に、指定された回転角度に基づき、以下のブロックサイズ決定処理を実行する。
【0051】
コントローラー5は、まず、カウンターiに初期値1をセットし(ステップS1)、出力ブロック高を出力バンド高のi分の1とした場合に入力画素座標系の高さ方向において出力画素ブロックが入力バンド高に収まるか否かを判定する(ステップS2)。
【0052】
出力ブロック高を出力バンド高のi分の1とした場合に入力画素座標系の高さ方向において出力画素ブロックが入力バンド高に収まらない場合、コントローラー5は、カウンターiを1だけ増加し(ステップS3)、ステップS2に戻る。
【0053】
出力ブロック高を出力バンド高のi分の1とした場合に入力画素座標系の高さ方向において出力画素ブロックが入力バンド高に収まる場合、コントローラー5は、現時点のカウンターiの値に基づき、出力ブロック高を出力バンド高のi分の1に設定する(ステップS4)。
【0054】
次に、コントローラー5は、上述のように、入力画素ブロックの最大幅に応じて、出力画素ブロックの幅を伸ばす(ステップS5)。
【0055】
そして、コントローラー5は、現時点のサイズ(高さおよび幅)の出力画素ブロックが入力画素座標系の高さ方向において入力バンド高に収まるか否かを判定する(ステップS6)。現時点のサイズの出力画素ブロックが入力画素座標系の高さ方向において入力バンド高に収まらない場合には、コントローラー5は、出力画素ブロックの幅を上述のように縮める(ステップS7)。
【0056】
さらに、コントローラー5は、現時点のサイズ(高さおよび幅)の出力画素ブロックの1画素ラインに必要な入力画素ブロックの画素ライン数がラインバッファー3aの画素ライン数を超えているか否かを判定する(ステップS8)。現時点のサイズの出力画素ブロックの1画素ラインに必要な入力画素ブロックの画素ライン数がラインバッファー3aの画素ライン数を超えている場合、コントローラー5は、出力画素ブロックの幅を上述のように縮める(ステップS9)。
【0057】
そして、コントローラー5は、このようにして設定された出力画素ブロックのサイズを演算処理回路3に設定するとともに、そのサイズの出力画素ブロックに必要な入力画素ブロックのサイズをリード回路2bに設定する(ステップS10)。
【0058】
このようにして、ブロックサイズ決定処理が実行された後、画像読取部1により生成された入力画像に対して、ブロック出力部2、演算処理回路3、および後段の画像処理部がパイプライン処理を行い、回転処理を含む画像処理が実行される。
【0059】
その際、リード回路2bは、入力画素ブロックを1つずつ順番に選択し、入力バンドにおける、選択した入力画素ブロックの位置を回転角度に基づいて特定し、特定した入力画素ブロックの位置から順番に1画素ラインずつ入力画素ブロックを読み出しラインバッファー3aに出力する。そして、演算部3bは、入力画素ブロックに対応する、出力バンドにおける出力画素ブロックの位置を特定し、ラインバッファー3aから1画素ラインずつ入力画素ブロックを読み出し、回転処理を行い、出力画素ブロックを1画素ラインずつ生成し、上述の特定した位置に出力バンドバッファー4に書き込む。例えば、図3に示すように、入力画素ブロック101-1,101-2,101-3の位置が順番に特定され、入力画素ブロック101-1,101-2,101-3に対応する出力画素ブロック102-1,102-2,102-3の各画素値が導出される。
【0060】
以上のように、上記実施の形態1によれば、リード回路2bは、入力バンドバッファー2aに記憶されている入力バンドから入力画素ブロックを読み出し所定画素ライン数のラインバッファー3aに出力する。演算処理回路3は、ラインバッファー3aから入力画素ブロックの画素ラインを読み出して入力画素ブロックに対して回転処理を実行して出力画素ブロックを導出し出力バンドの一部として出力バンドバッファー4に記憶する。コントローラー5は、回転処理の回転角度に応じて、リード回路2bに入力画素ブロックのサイズを設定する。具体的には、コントローラー5は、出力画素ブロックのサイズを決定するブロックサイズ決定処理を実行し、出力画素ブロックの出力ブロック高および出力画素ブロックの幅に基づいて、リード回路2bに入力画素ブロックのサイズを設定する。ブロックサイズ決定処理において、コントローラー5は、(a)入力画素座標系において、出力画素ブロックが入力バンドに収まるように、出力画素ブロックの出力ブロック高を、出力バンドの出力バンド高の整数分の1から最も大きいものに設定し、(b)入力画素座標系において、入力画素ブロックの所定最大幅に収まるように、出力画素ブロックの幅を伸ばし、(c)入力画素座標系において、出力画素ブロックの幅を伸ばした後の出力画素ブロックが入力バンドに収まらない場合には、出力画素ブロックが入力バンドに収まりかつ出力画素ブロックの幅が最も大きくなるように、出力画素ブロックの幅を縮め、(d)出力画素ブロックの1画素ラインに対応する入力画素ブロックの画素ライン数がラインバッファー3aの画素ライン数を超えている場合には、出力画素ブロックの幅を縮めた後の出力画素ブロックの1画素ラインに対応する入力画素ブロックの画素ライン数がラインバッファー3aの画素ライン数以下になるように、出力画素ブロックの幅を縮める。
【0061】
これにより、出力バンドにおいて出力画素ブロックが稠密に配置されるとともに入力画素ブロックにおける出力画素ブロックに不要な部分が少なくなり、回転処理後のバンドの演算効率や記憶領域の使用効率の低下が抑制される。
【0062】
実施の形態2.
【0063】
実施の形態2では、演算処理回路3は、演算部3bで回転処理とともに所定フィルターサイズ(N×M)のフィルター処理を実行する。なお、フィルター処理は、中心となる注目画素およびその周辺画素の画素値と、フィルターサイズに対応するマトリクスの所定のフィルター係数との積和を演算する処理である。
【0064】
そのため、入力画素ブロックには、フィルター処理のフィルターサイズに対応した周辺領域を出力画素ブロックに追加した領域に対応するサイズが要求される。例えばフィルターサイズの幅がN画素でありフィルターサイズの高さがM画素である場合、出力画素ブロックの横方向(主走査方向の前後)における周辺領域の幅は、それぞれ、(N-1)/2画素となり、出力画素ブロックの縦方向(副走査方向の前後)における周辺領域の高さは、それぞれ、(M-1)/2画素となる。
【0065】
したがって、コントローラー5は、ブロックサイズ決定処理において、上述の周辺領域を考慮して出力画素ブロックのサイズ(高さおよび幅)を決定し、それに対応して入力画素ブロックのサイズを特定する。
【0066】
図9は、実施の形態2におけるブロックサイズ決定処理について説明する図である。
【0067】
具体的には、図9に示すように、コントローラー5は、ブロックサイズ決定処理において、(a)上述のフィルター処理のフィルターサイズに応じた出力画素ブロックの周辺領域および出力画素ブロックが入力バンドに収まるように、出力画素ブロックの出力ブロック高を、出力バンドの出力バンド高の整数分の1から最も大きいものに設定し、(b)周辺領域および出力画素ブロックが入力画素ブロックの所定最大幅に収まるように、出力画素ブロックの幅を伸ばし、(c)出力画素ブロックの幅を伸ばした後の周辺領域および出力画素ブロックが入力バンドに収まらない場合には、周辺領域および出力画素ブロックが入力バンドに収まりかつ出力画素ブロックの幅が最も大きくなるように、出力画素ブロックの幅を縮め、(d)出力画素ブロックの幅を縮めた後の周辺領域および出力画素ブロックの1画素ラインに対応する入力画素ブロックの画素ライン数がラインバッファー3aの画素ライン数を超えている場合には、出力画素ブロックの幅を縮めた後の周辺領域および出力画素ブロックの1画素ラインに対応する入力画素ブロックの画素ライン数がラインバッファー3aの画素ライン数以下になるように、出力画素ブロックの幅を縮め、(e)出力画素ブロックの出力ブロック高および出力画素ブロックの幅に基づいて、リード回路2bに入力画素ブロックのサイズを設定する。
【0068】
なお、実施の形態2に係る画像処理装置のその他の構成および動作については実施の形態1と同様であるので、その説明を省略する。
【0069】
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
【0070】
例えば、上記実施の形態1,2において、演算部3bで回転処理とともに変倍処理を行うようにしてもよい。その場合、回転処理の回転角度および変倍処理の変倍率に基づいて、出力画素ブロックが入力画素座標系に写像され、入力画素座標系において、そのように写像された出力画素ブロックに基づいて上述のブロックサイズ決定処理が行われる。また、出力画素ブロックのサイズから、出力画素ブロックの導出に必要な入力画素ブロックのサイズが特定される。
【産業上の利用可能性】
【0071】
本発明は、例えば、複合機などの画像形成装置に適用可能である。
【符号の説明】
【0072】
2a 入力バンドバッファー
2b リード回路
3 演算処理回路
3a ラインバッファー
3b 演算部
4 出力バンドバッファー
5 コントローラー
図1
図2
図3
図4
図5
図6
図7
図8
図9