(57)【要約】【課題】  傾き補正処理を高速化した場合でも、傾き補正処理後の画像データを適切に生成できるようにする。【解決手段】  画像センサに対して副走査方向に相対的に移動する原稿画像を、該画像センサが主走査方向に走査することで生成される画像データを記憶する記憶手段と、前記画像データにおいて前記原稿画像の傾きを補正する際の、補正前後の前記原稿画像の所定の頂点の副走査方向に対する移動量を算出する算出手段と、前記記憶手段より前記画像データを主走査方向のラインごとに順次読み出し、前記傾きに応じた位置の画素を抽出して、傾き補正処理後の主走査方向のラインを形成することで、前記原稿画像の傾きを補正する補正手段と、を有し、前記補正手段は、前記傾きに応じた位置の画素を抽出して傾き補正処理後の主走査方向のラインを形成する処理の進度を、前記移動量に基づいて制限する。【選択図】図６
2018074423.tif 000002
【特許請求の範囲】
【請求項１】
画像センサに対して副走査方向に相対的に移動する原稿画像を、該画像センサが主走査方向に走査することで生成される画像データを記憶する記憶手段と、
前記画像データにおいて、前記原稿画像の主走査方向に対する傾きを補正する際の、補正前後の前記原稿画像の所定の頂点の副走査方向に対する移動量を算出する算出手段と、
前記記憶手段より前記画像データを主走査方向のラインごとに順次読み出し、前記傾きに応じた位置の画素を抽出して傾き補正処理後の主走査方向のラインを形成していくことで、前記原稿画像の傾きを補正する補正手段と、を有し、
前記補正手段は、前記傾き補正処理後の主走査方向のラインを形成していく処理の進度を、前記移動量に基づいて制限することを特徴とする画像処理装置。
【請求項２】
前記補正手段は、前記画像データを主走査方向のラインごとに順次読み出す際の副走査方向の位置と、前記傾き補正処理後の主走査方向のラインを形成していく際の副走査方向の位置との差が、前記移動量よりも小さくなると判定した場合に、前記傾き補正処理後の主走査方向のラインを形成していく処理を停止することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補正手段は、前記画像データを主走査方向のラインごとに順次読み出す周期よりも短い周期で、前記傾き補正処理後の主走査方向のラインを形成していくことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記算出手段は、前記画像データに基づいて、前記原稿画像の主走査方向に対する傾きを算出することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記算出手段は、
前記画像データを時計回りに回転させることで前記傾きを補正する場合、補正前後の前記原稿画像の左側の頂点の副走査方向に対する移動量を算出し、
前記画像データを反時計回りに回転させることで前記傾きを補正する場合、補正前後の前記原稿画像の右側の頂点の副走査方向に対する移動量を算出する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の画像処理装置を有し、前記傾き補正処理後の画像データを出力することを特徴とする画像形成装置。
【請求項７】
画像センサに対して副走査方向に相対的に移動する原稿画像を、該画像センサが主走査方向に走査することで生成される画像データを記憶手段に記憶する記憶工程と、
前記画像データにおいて、前記原稿画像の主走査方向に対する傾きを補正する際の、補正前後の前記原稿画像の所定の頂点の副走査方向に対する移動量を算出する算出工程と、
前記記憶手段より前記画像データを主走査方向のラインごとに順次読み出し、前記傾きに応じた位置の画素を抽出して傾き補正処理後の主走査方向のラインを形成していくことで、前記原稿画像の傾きを補正する補正工程と、を有し、
前記補正工程は、前記傾き補正処理後の主走査方向のラインを形成していく処理の進度を、前記移動量に基づいて制限することを特徴とする画像処理方法。
【請求項８】
画像センサに対して副走査方向に相対的に移動する原稿画像を、該画像センサが主走査方向に走査することで生成される画像データを記憶手段に記憶する記憶工程と、
前記画像データにおいて、前記原稿画像の主走査方向に対する傾きを補正する際の、補正前後の前記原稿画像の所定の頂点の副走査方向に対する移動量を算出する算出工程と、
前記記憶手段より前記画像データを主走査方向のラインごとに読み出し、前記傾きに応じた位置の画素を抽出して傾き補正処理後の主走査方向のラインを形成していくことで、前記原稿画像の傾きを補正する補正工程と、をコンピュータに実行させるための画像処理プログラムであって、
前記補正工程は、前記傾き補正処理後の主走査方向のラインを形成していく処理の進度を、前記移動量に基づいて制限することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
複写機やスキャナ装置等の画像形成装置には、原稿画像を読み取るスキャナユニットと、スキャナユニットにより読み取られた画像データに対して各種処理を行う画像処理装置とが搭載されている。
【０００３】
画像処理装置が行う各種処理の一例として、傾き補正処理が挙げられる。傾き補正処理とは、スキャナユニットに対して原稿画像が斜めに搬送されることで生じる、画像データ上での原稿画像領域の傾きを補正する処理であり、画像処理装置では、スキャナユニットにより読み取られた画像データをメモリに書き込む処理に追従して行う。
【０００４】
具体的には、原稿画像を主走査方向に走査することで得られたラインごとの画像データを、順次、メモリに書き込む一方で、既にメモリに書き込まれている画像データをラインごとに順次メモリから読み出し、原稿画像の傾きに応じて傾き補正処理を行っていく。
【０００５】
これにより、スキャナユニットが原稿画像の読み取りを行ってから、傾き補正処理後の画像データが出力されるまでの処理時間を短縮することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、処理時間を更に短縮するためには、傾き補正処理を高速化することが考えられる。しかしながら、上記のように、メモリへの書き込み処理に追従して画像データを読み出し、傾き補正処理を行う構成の場合、傾き補正処理を高速化すると、メモリへの書き込み処理（またはメモリからの読み出し処理）との間で処理の不整合が発生することが考えられる。例えば、傾き補正処理において傾き補正処理後の所定ラインを形成する際に、当該所定ラインの形成に用いられる画素の読み出しが間に合わず、適切な画像データを生成できないといった事態が生じ得る。
【０００７】
本発明は上記課題に鑑みてなされたものであり、傾き補正処理を高速化した場合でも、傾き補正処理後の画像データを適切に生成できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の各実施形態に係る画像処理装置は、以下のような構成を有する。すなわち、
画像センサに対して副走査方向に相対的に移動する原稿画像を、該画像センサが主走査方向に走査することで生成される画像データを記憶する記憶手段と、
前記画像データにおいて前記原稿画像の主走査方向に対する傾きを補正する際の、補正前後の前記原稿画像の所定の頂点の副走査方向に対する移動量を算出する算出手段と、
前記記憶手段より前記画像データを主走査方向のラインごとに順次読み出し、前記傾きに応じた位置の画素を抽出して、傾き補正処理後の主走査方向のラインを形成していくことで、前記原稿画像の傾きを補正する補正手段と、を有し、
前記補正手段は、前記傾き補正処理後の主走査方向のラインを形成していく処理の進度を、前記移動量に基づいて制限することを特徴とする。
【発明の効果】
【０００９】
本発明の各実施形態によれば、傾き補正処理を高速化した場合でも、傾き補正処理後の画像データを適切に生成することができる。
【図面の簡単な説明】
【００１０】
【図１】画像形成装置の全体構成及び画像処理装置のハードウェア構成の一例を示す図である。
【図２】画像処理ＡＳＩＣの傾き補正部の機能構成の一例を示す図である。
【図３】傾き補正部による各処理の概要を示す図である。
【図４】傾き補正処理の進度の制限条件を説明するための図である。
【図５】制限条件の算出方法の一例を示す図である。
【図６】データリード部の機能構成の一例を示す図である。
【図７】傾き補正処理の流れを示すフローチャートである。
【図８】傾き補正処理のタイミングチャートの一例である。
【図９】制限条件の算出方法の他の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、各実施形態の詳細について添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に際して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１２】
［第１の実施形態］
＜１．画像形成装置の全体構成及び画像処理装置のハードウェア構成＞
はじめに、第１の実施形態に係る画像形成装置の全体構成及び該画像形成装置が有する画像処理装置（画像処理ボード）のハードウェア構成について説明する。図１は、画像形成装置の全体構成及び画像処理装置のハードウェア構成の一例を示す図である。
【００１３】
図１に示すように、画像形成装置１００は、スキャナユニット１１０と、画像処理ボード１２０と、プリンタユニット１３０とを有する。
【００１４】
スキャナユニット１１０は、主走査方向に複数のセンサ素子が配列された画像センサを有する。ここでいう画像センサには、例えば、ＣＣＤ（Charge Coupled Device）、ＣＩＳ（Contact Image Sensor）、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）等が含まれる。画像センサは読み取り位置に配され、副走査方向に搬送される原稿画像を主走査方向に走査することで画像データを生成し、生成した画像データを画像処理ボード１２０に送信する。
【００１５】
画像処理ボード１２０は画像処理装置の一例であり、スキャナユニット１１０より送信された画像データに対して各処理を行う。なお、第１の実施形態では、画像処理ボード１２０において行われる各処理のうち、原稿画像の傾きを画像データ上において補正する傾き補正処理について説明する。このため、図１では、画像処理ボード１２０のハードウェア構成として、傾き補正処理に関連するハードウェア構成について記載している。
【００１６】
図１に示すように、画像処理ボード１２０は、ＤＲＡＭ（Dynamic Random Access Memory）１２１と、画像処理ＡＳＩＣ１２２（Application Specific Integrated Circuit）とを有する。
【００１７】
ＤＲＡＭ１２１は記憶手段の一例であり、スキャナユニット１１０より送信された画像データを一時的に保持する。画像データは、主走査方向の走査１ラインごとに画像処理ＡＳＩＣ１２２によってＤＲＡＭ１２１に書き込まれる。また、ＤＲＡＭ１２１に書き込まれた画像データは、画像処理ＡＳＩＣ１２２によって１ラインごとに順次読み出される。
【００１８】
画像処理ＡＳＩＣ１２２は画像処理用の集積回路であり、スキャナユニット１１０より送信された画像データを、主走査方向の走査１ラインごとにＤＲＡＭ１２１に書き込むとともに、既にＤＲＡＭ１２１に書き込まれている画像データを１ラインごとに順次読み出す。また、画像処理ＡＳＩＣ１２２は、読み出した画像データに基づいて傾き補正処理を行い、傾き補正処理後の画像データ（原稿画像領域の画像データ）をプリンタユニット１３０に送信する。
【００１９】
プリンタユニット１３０は、所定の画像形成方式、例えば、電子写真方式によりカラー画像を用紙（出力媒体）に印刷出力する。電子写真方式の場合、プリンタユニット１３０には、回転駆動される感光体を中心に、各色のユニット（光書き込み部、現像部、転写部、定着部、帯電部及びクリーニング部等）が配され、各色のユニットが動作することで、カラー画像の印刷出力が行われる。
【００２０】
具体的には、帯電部により一様に帯電された感光体上に、光書き込み部が、傾き補正処理後の画像データに基づいて変調した書き込み光を照射して、静電潜像を形成する。また、静電潜像が形成された感光体に、現像部が、トナーを供給して現像を行う。また、転写部が、感光体上に現像されたトナー画像を、感光体との間に搬送された用紙に順次転写していく。また、定着部が、用紙に転写されたトナー画像を定着させる。更に、クリーニング部が、感光体上に残留したトナーを除去する。各色のユニットによる上記動作により、傾き補正処理後の画像データについての印刷出力が完了する。
【００２１】
＜２．画像処理ＡＳＩＣの機能構成＞
次に、画像処理ＡＳＩＣ１２２における傾き補正処理に関する機能について説明する。図２は、画像処理ＡＳＩＣの傾き補正部の機能構成の一例を示す図である。図２に示すように、傾き補正部２００は、データライト部２１０と、状態検知部と、データリード部２３０とを有する。
【００２２】
データライト部２１０は、スキャナユニット１１０より送信された画像データを、主走査方向の走査１ラインごとにＤＲＡＭ１２１に書き込む。また、データライト部２１０は、ＤＲＡＭ１２１に書き込み中のラインを示すライトライン数を、状態検知部２２０、データリード部２３０に通知する。
【００２３】
状態検知部２２０は、データライト部２１０よりライトライン数が通知されると、データライト部２１０によりＤＲＡＭ１２１に画像データが書き込まれるのと並行して、ＤＲＡＭ１２１より画像データを１ラインごとに順次読み出す。状態検知部２２０による画像データの読み出しは、所定ライン数分行われる。状態検知部２２０は、所定ライン数の画像データに基づいて、原稿画像の２つの頂点（原稿画像の搬送方向の先端側の左右２つの頂点）を検出し、検出した２つの頂点の位置座標を、頂点情報としてデータリード部２３０に通知する。
【００２４】
また、状態検知部２２０は、原稿画像の２つの頂点の位置関係から、原稿画像の主走査方向に対する傾きを算出し、傾きデータとしてデータリード部２３０に通知する。更に、状態検知部２２０は、傾きデータを通知した後に、データリード部２３０に対して、補正開始指示を通知する。
【００２５】
データリード部２３０は、データライト部２１０よりライトライン数が通知されると、データライト部２１０によりＤＲＡＭ１２１に画像データが書き込まれるのと並行して、ＤＲＡＭ１２１より画像データを１ラインごとに順次読み出す。また、データリード部２３０は、状態検知部２２０より補正開始指示の通知を受けると、ＤＲＡＭ１２１より読み出した画像データに対して、傾き補正処理を行う。
【００２６】
具体的には、データリード部２３０は、状態検知部２２０より通知された頂点情報と傾きデータとに基づき、読み出した画像データについて傾き補正処理を行い、傾き補正処理後の画像データ（原稿画像領域の画像データ）を１ラインずつ生成していく。なお、本実施形態において、データリード部２３０が傾き補正処理後の画像データを１ラインずつ生成していく際の周期は、ＤＲＡＭ１２１への書き込み周期及びＤＲＡＭ１２１からの読み出し周期よりも短く設定されている。
【００２７】
これにより、本実施形態によれば、状態検知部２２０から補正開始指示が通知された後に、傾き補正処理を開始しているにもかかわらず、ＤＲＡＭ１２１への書き込み処理及びＤＲＡＭ１２１からの読み出し処理に対する傾き補正処理の遅れを取り戻すことができる。この結果、データライト部２１０によりＤＲＡＭ１２１への画像データの書き込み処理が開始されてから、データリード部２３０により傾き補正処理後の画像データが出力されるまでの時間を短縮することができる。
【００２８】
ただし、データリード部２３０は、ＤＲＡＭ１２１への書き込み処理及びＤＲＡＭ１２１からの読み出し処理と、傾き補正処理との間で処理の不整合が生じないように、傾き補正処理の進度に制限条件を設けて傾き補正処理を行う（詳細は後述）。
【００２９】
＜３．傾き補正部における各処理の概要＞
次に、傾き補正部２００による各処理（書き込み処理、読み出し処理、傾き補正処理）の概要について説明する。図３は、傾き補正部による各処理の概要を示す図である。
【００３０】
このうち、図３（ａ）は、傾き補正部２００のデータライト部２１０による書き込み処理の概要を示している。図３（ａ）上段において、矢印Ｌ１は、スキャナユニット１１０の画像センサにより主走査方向に走査されることで得られた、主走査方向の走査１ライン分の画像データが、ＤＲＡＭ１２１に書き込まれた書き込み位置を示している。
【００３１】
同様に、矢印Ｌ２〜Ｌ６は、スキャナユニット１１０の画像センサにより主走査方向に走査されることで得られた、主走査方向の走査１ライン分の画像データが、それぞれ、ＤＲＡＭ１２１に書き込まれた書き込み位置を示している。原稿画像３００が太矢印３１０方向に搬送されることで、スキャナユニット１１０の画像センサによる走査位置は、相対的に副走査方向に移動するため、書き込み位置も副走査方向に移動する。
【００３２】
なお、主走査方向の走査１ライン分の画像データが、順次、ＤＲＡＭ１２１に書き込まれることで形成される画像領域において、副走査方向の座標を、本実施形態では、ｙ座標とおく（ｙ座標は画像領域における１画素（つまり１ライン）に相当する）。つまり、矢印Ｌ１が示す書き込み位置は、画像領域において、ｙ座標＝ｙ１と表される。同様に、矢印Ｌ２〜Ｌ６がそれぞれ示す書き込み位置は、画像領域において、ｙ座標＝ｙ２〜ｙ６と表される。
【００３３】
図３（ａ）下段は、ＤＲＡＭ１２１への書き込み処理が、矢印Ｌ１〜Ｌ１２により示される書き込み位置まで進んだことを示している。また、図３（ａ）下段における黒丸は、スキャナユニット１１０の画像センサによる走査により得られた原稿画像３００上の画素を示している。図３（ａ）下段に示すように、ＤＲＡＭ１２１への書き込み処理が、矢印Ｌ１２により示される書き込み位置まで進むと、傾き補正処理後の原稿画像領域として、５ライン分の画像データが、ＤＲＡＭ１２１に書き込まれたことになる。
【００３４】
図３（ｂ）は、傾き補正部２００の状態検知部２２０及びデータリード部２３０による読み出し処理の概要を示している。状態検知部２２０及びデータリード部２３０は、それぞれ、同じタイミングでＤＲＡＭ１２１から１ラインごとの画像データを順次読み出すものとする。
【００３５】
図３（ｂ）上段において、矢印Ｌ１は、データライト部２１０によりＤＲＡＭ１２１に書き込まれた主走査方向の走査１ライン分の画像データが、状態検知部２２０及びデータリード部２３０により読み出されたことを示している。同様に、矢印Ｌ２〜Ｌ４は、データライト部２１０によりＤＲＡＭ１２１に書き込まれた主走査方向の走査１ライン分の画像データが、状態検知部２２０及びデータリード部２３０によりそれぞれ読み出されたことを示している。
【００３６】
なお、図３（ｂ）上段の例は、データライト部２１０による画像データの書き込み処理よりも、２ライン分遅れて、状態検知部２２０及びデータリード部２３０による画像データの読み出し処理が行われていることを示している。
【００３７】
図３（ｂ）下段は、状態検知部２２０及びデータリード部２３０による主走査方向の読み出し処理が、矢印Ｌ１〜Ｌ１０に示す読み出し位置まで進んだことを示している。なお、矢印Ｌ１〜Ｌ１０に示す読み出し位置は、画像領域において、ｙ座標＝ｙ１〜ｙ１０と表される。
【００３８】
また、本実施形態において、状態検知部２２０は、矢印Ｌ１〜Ｌ１０に示す読み出し位置のライン（太矢印３３０により示される範囲のライン）を読み出すと、頂点情報を検出し、主走査方向に対する原稿画像の傾きを示す傾きデータを算出する。なお、図３（ｂ）の例の場合、頂点ｐ１については、頂点情報（ｙ座標）が、ｙ３であり、頂点ｐ２については、頂点情報（ｙ座標）が、ｙ８であることを示している。
【００３９】
このタイミングで状態検知部２２０は、データリード部２３０に対して、頂点情報及び傾きデータを通知する。また、状態検知部２２０は、データリード部２３０に対して、補正開始指示を通知する。
【００４０】
なお、図３（ｂ）下段における黒丸は、データリード部２３０により読み出された画像データの原稿画像領域３２０上の画素を示している。図３（ｂ）の例では、状態検知部２２０による読み出し処理が、矢印Ｌ１０により示される読み出し位置まで進むと、傾き補正処理後の原稿画像領域として、３ライン分の画像データが、ＤＲＡＭ１２１より読み出されたことになる。
【００４１】
図３（ｃ）は、傾き補正部２００のデータリード部２３０による傾き補正処理の概要を示している。図３（ｃ）上段は、状態検知部２２０より補正開始指示が通知されておらず、傾き補正処理が開始されていない状態を示している。図３（ｃ）の場合、データリード部２３０による傾き補正処理は、原稿画像領域３２０の上端位置３２１より抽出された各画素が、ｙ座標＝ｙ４の位置に配列されるものとする。なお、原稿画像領域３２０の上端位置３２１より抽出された各画素が、傾き補正処理後に配置される位置は、状態検知部２２０より通知された傾きデータと、傾き補正処理の際に原稿画像領域３２０を回転させる回転中心の位置座標とに基づいて算出される。したがって、図３（ｃ）上段の時点では、厳密には、原稿画像領域３２０の上端位置３２１より抽出された各画素が傾き補正処理によりどの位置に配列されるかは決まっていない。なお、本実施形態において、回転中心は予め固定された位置座標であるとする。
【００４２】
図３（ｃ）下段は、状態検知部２２０より補正開始指示が通知され、データリード部２３０による傾き補正処理が開始されたことを示している。図３（ｃ）下段の例は、データリード部２３０が、原稿画像領域３２０の上端位置３２１の画素（黒丸参照）を抽出し、ｙ座標＝ｙ４の位置に配列することで、傾き補正処理後の原稿画像領域３４０としてｌ１ラインが形成されたことを示している。
【００４３】
＜４．傾き補正処理の制限条件＞
次に、傾き補正部２００による傾き補正処理の進度の制限条件について説明する。上述したとおり、データリード部２３０は、ＤＲＡＭ１２１への書き込み処理及びＤＲＡＭ１２１からの読み出し処理と、傾き補正処理との間で処理の不整合が生じないように傾き補正処理の進度に制限条件を設けて傾き補正処理を行う。
【００４４】
図４は、傾き補正処理の進度の制限条件を説明するための図である。このうち、図４（ａ）は、傾き補正部２００のデータライト部２１０による書き込み処理の概要を示しており、上段は、図３（ａ）下段と同じ状態を示している。
【００４５】
図４（ａ）下段は、ＤＲＡＭ１２１への書き込み処理が、矢印Ｌ１〜Ｌ１５により示される書き込み位置まで進んだことを示している。また、図４（ａ）下段における黒丸は、スキャナユニット１１０の画像センサによる走査により得られた原稿画像３００上の画素を示している。図４（ａ）の例では、矢印Ｌ１５により示される書き込み位置まで書き込み処理が行われると、傾き補正処理後の原稿画像領域として、８ライン分の画像データが、ＤＲＡＭ１２１に書き込まれたことになる。
【００４６】
図４（ｂ）は、傾き補正部２００のデータリード部２３０による読み出し処理の概要を示しており、上段は、図３（ｂ）下段と同じ状態を示している。状態検知部２２０による読み出し処理は、頂点情報及び傾きデータの算出が完了することで停止し、以降はデータリード部２３０による読み出し処理のみが継続する。
【００４７】
図４（ｂ）下段は、データリード部２３０による読み出し処理が、矢印Ｌ１〜Ｌ１３により示される読み出し位置まで進んだことを示している。また、図４（ｂ）下段における黒丸は、状態検知部２２０による読み出し処理により得られた原稿画像領域３２０上の画素を示している。図４（ｂ）の例では、矢印Ｌ１３により示される読み出し位置まで読み出し処理が行われると、傾き補正処理後の原稿画像領域として、６ライン分の画像データが、ＤＲＡＭ１２１より読み出されたことになる。
【００４８】
図４（ｃ）は、傾き補正部２００のデータリード部２３０による傾き補正処理の概要を示している。図４（ｃ）上段は、ＤＲＡＭ１２１より読み出した画像データに基づいて、データリード部２３０が、傾き補正処理後の原稿画像領域３４０として、ｙ座標＝ｙ４〜ｙ６の位置にｌ１〜ｌ３ラインを形成したことを示している。
【００４９】
上述したとおり、データリード部２３０による傾き補正処理の周期は、ＤＲＡＭ１２１への書き込み処理の周期及びＤＲＡＭ１２１からの読み出しの周期よりも短い。このため、図４（ｃ）上段においては、傾き補正処理後の原稿画像領域３４０として、ｌ１〜ｌ３ラインが形成されている（図３（ｃ）の下段よりも多いライン数となっている）。
【００５０】
図４（ｃ）下段は、データリード部２３０による傾き補正処理が、ｌ７ラインまで進んだことを示している。また、図４（ｃ）下段における黒丸は、データリード部２３０が、ＤＲＡＭ１２１より読み出した画像データより抽出し、傾き補正処理後の原稿画像領域３４０上に配列した画素を示している。
【００５１】
ここで、図４（ｃ）下段に示すように、ｌ７ラインを形成する各画素のうち、原稿画像領域３４０の左端を形成する画素は空欄となっている。これは、データライト部２１０による書き込み処理が矢印Ｌ１５により示される書き込み位置までしか進んでおらず、データリード部２３０による読み出し処理が、矢印Ｌ１３により示される読み出し位置までしか進んでいないためである（図１３（ａ）、（ｂ）下段）。
【００５２】
換言すると、データリード部２３０による読み出し処理が、矢印Ｌ１３に示す読み出し位置までしか進んでいない場合、データリード部２３０により実行可能な傾き補正処理は、ｌ６ラインまである。したがって、本実施形態におけるデータリード部２３０では、現在の読み出し位置と傾き補正位置との差分が、矢印３４１以上となるように制御し、差分が矢印３４２以下になる場合には、傾き補正処理を一旦停止するよう制御する。
【００５３】
このように、データリード部２３０では、傾き補正処理の進度を、書き込み処理の進度に伴って定まる読み込み処理の進度により制限する。このときの制限条件は、頂点情報に含まれる頂点ｐ２の位置座標（ｙ座標＝ｙ８）と、傾き補正処理により生成される原稿画像領域３４０の上端の位置座標（ｙ座標＝ｙ４）との差分に基づいて算出することができる。
【００５４】
なお、原稿画像領域３４０の上端の位置座標（ｙ座標＝ｙ４）は、傾きデータと回転中心の位置座標とに基づいて算出することができる。以下に、制限条件の算出方法を詳細に説明する。
【００５５】
＜５．制限条件の算出方法＞
図５は、制限条件の算出方法の一例を示す図である。このうち、図５（ａ）は、状態検知部２２０が、画像領域５００において、頂点情報に基づいて、傾きデータθを算出する算出方法を示している。状態検知部２２０は、ＤＲＡＭ１２１より読み出した画像データに基づいて、原稿画像領域３２０の２つの頂点（原稿画像３００の搬送方向の先端側の左右２つの頂点）ｐ１、ｐ２を検出する。そして、検出した左右２つの頂点ｐ１、ｐ２の画像領域５００における座標に基づいて、原稿画像領域３２０の主走査方向に対する傾きデータθを算出する。
【００５６】
図５（ｂ）は、データリード部２３０が、傾きデータθに基づいて傾き補正処理を行う前後の関係を示した図である。図５（ｂ）に示すように、予め定められた回転中心５１０に対して、傾きデータθに応じた角度分、原稿画像領域３２０を回転させることにより、原稿画像領域３２０の傾きが補正され、左右２つの頂点ｐ１、ｐ２は、頂点Ｐ１、Ｐ２に移動する。
【００５７】
ここで、左右２つの頂点ｐ１、ｐ２の座標を（ｘ１，ｙ３）、（ｘ２，ｙ８）、頂点Ｐ１、Ｐ２の座標を（ｘ３，ｙ４）、（ｘ４，ｙ４）とすると、両者の関係は下式（１）、（２）により算出することができる。
【００５８】
【数１】
2018074423.tif 000003
【００５９】
【数２】
2018074423.tif 000004
上述したとおり、制限条件は、頂点Ｐ１またはＰ２の位置座標（ｙ座標）と、左側の頂点ｐ２の位置座標（ｙ座標）との差分（左側の頂点ｐ２の副走査方向の移動量）により算出されることから、制限条件α＝ｙ４−ｙ８となる。つまり、図５（ｂ）の例では、制限条件α＝４ラインとなる。
【００６０】
＜６．データリード部の機能構成＞
次に、データリード部２３０の機能構成について説明する。図６は、データリード部の機能構成の一例を示す図である。図６に示すように、データリード部２３０は、制限条件算出部６１０と、リード制御部６２０と、ＤＲＡＭインタフェース部６３０、補正部６４０を有する。
【００６１】
制限条件算出部６１０は算出手段の一例であり、状態検知部２２０から頂点情報及び傾きデータθの通知を受けると、制限条件αを算出する。制限条件算出部６１０は、算出した制限条件αをリード制御部６２０に通知する。
【００６２】
リード制御部６２０は、データライト部２１０よりライトライン数の通知を受けると、ＤＲＡＭインタフェース部６３０に、読み出し処理開始指示を通知する。また、リード制御部６２０は、ＤＲＡＭインタフェース部６３０より通知された読み出し中のライン数（リードライン数）と、補正部６４０より通知された傾き補正処理中のライン数（補正ライン数）とを比較し、制限条件α未満か否かを判定する。また、リード制御部６２０は、制限条件α未満と判定した場合には、補正部６４０にｐａｕｓｅ信号を通知する。
【００６３】
ＤＲＡＭインタフェース部６３０は、リード制御部６２０より、読み出し処理開始指示の通知を受けると、ＤＲＡＭ１２１に対してコマンド要求を送信し、ラインごとの画像データの読み出しを行う。ＤＲＡＭインタフェース部６３０は、読み出した画像データを補正部６４０に通知する。また、ＤＲＡＭインタフェース部６３０は、リードライン数をリード制御部６２０に通知する。
【００６４】
補正部６４０は補正手段の一例であり、ＤＲＡＭインタフェース部６３０より通知された画像データを受け付ける。また、補正部６４０は、状態検知部２２０より補正開始指示の通知を受けると、ＤＲＡＭインタフェース部６３０より通知された画像データについて、傾き補正処理を開始する。
【００６５】
補正部６４０は、補正ライン数をリード制御部６２０に通知し、リード制御部６２０よりｐａｕｓｅ信号を受信すると、傾き補正処理を一時的に停止する。また、補正部６４０は、ｐａｕｓｅ信号が解除されると、再び傾き補正処理を再開する。補正部６４０は、傾き補正処理により生成した傾き補正処理後の画像データを出力する。
【００６６】
＜７．傾き補正部による傾き補正処理＞
次に、傾き補正部２００による傾き補正処理の流れについて説明する。図７は、傾き補正処理の流れを示すフローチャートである。スキャナユニット１１０より画像データが送信されると、図７に示す傾き補正処理が開始される。
【００６７】
ステップＳ７０１において、データライト部２１０は、画像データを主走査方向の走査１ラインごとにＤＲＡＭ１２１に書き込む、書き込む処理を開始する。
【００６８】
ステップＳ７０２において、データライト部２１０は、ＤＲＡＭ１２１に書き込み中のラインを示すライトライン数を、データリード部２３０に通知する処理を開始する。
【００６９】
ステップＳ７０３において、状態検知部２２０及びデータリード部２３０は、ＤＲＡＭ１２１より画像データをラインごとに順次読み出す、読み出し処理を開始する。
【００７０】
ステップＳ７０４において、データリード部２３０のＤＲＡＭインタフェース部６３０は、リードライン数（ｙ座標）をリード制御部６２０に通知する処理を開始する。
【００７１】
ステップＳ７０５において、状態検知部２２０は、読み出した所定ライン数の画像データ（例えば、矢印Ｌ１〜Ｌ１０に示す各読み出し位置のラインの画像データ）に基づいて、頂点情報と傾きデータを算出する。
【００７２】
所定ライン数の画像データに基づく頂点情報及び傾きデータの算出が完了すると、ステップＳ７０６において、状態検知部２２０は、画像データの読み出し処理を停止する。
【００７３】
ステップＳ７０７において、状態検知部２２０は、頂点情報及び傾きデータを、補正開始指示とともに、データリード部２３０に通知する。
【００７４】
ステップＳ７０８において、データリード部２３０の制限条件算出部６１０は、状態検知部２２０より通知された頂点情報及び傾きデータに基づいて、制限条件を算出する。
【００７５】
ステップＳ７０９において、データリード部２３０の補正部６４０は、状態検知部２２０より通知された補正開始指示に基づいて、ＤＲＡＭ１２１よりラインごとに順次読み出した画像データについて、傾き補正処理を開始する。
【００７６】
ステップＳ７１０において、データリード部２３０の補正部６４０は、補正ライン数（ｙ座標）をリード制御部６２０に通知する処理を開始する。
【００７７】
ステップＳ７１１において、データリード部２３０の補正部６４０は、リード制御部６２０は、リードライン数（ｙ座標）と傾き補正ライン数（ｙ座標）との差分が、制限条件α未満になるか否かを判定する。
【００７８】
ステップＳ７１２において、データリード部２３０の補正部６４０は、制限条件α未満になると判定した場合には、補正部６４０に対してｐａｕｓｅ信号を送信し、ステップＳ７１３に進む。一方、制限条件α以上であると判定した場合には、直接、ステップＳ７１３に進む。
【００７９】
ステップＳ７１３において、データリード部２３０の補正部６４０は、傾き補正処理が完了したか否かを判定する。ステップＳ７１３において、傾き補正処理が完了していないと判定した場合には、ステップＳ７１１に戻る。一方、傾き補正処理が完了したと判定した場合には、ステップＳ７１４に進む。ステップＳ７１４において、補正部６４０は、傾き補正処理により生成した傾き補正処理後の画像データ（原稿画像領域３４０の画像データ）を出力する。
【００８０】
＜８．傾き補正処理のタイミングチャート＞
次に、傾き補正処理のタイミングチャートの具体例について説明する。図８は、傾き補正処理のタイミングチャートの一例を示す図である。
【００８１】
図８において、リードライン同期信号８１０は、読み取り処理において、画像データの各ラインをＤＲＡＭ１２１から読み取る信号であり、符号８１１〜８１９は、読み取るタイミングを示している。図８に示すように画像データの各ラインをＤＲＡＭ１２１から読み取る読み取り周期は一定である。
【００８２】
リードライン８２０は、符号８１１〜８１９に示すタイミングで読み出されたラインを示している。
【００８３】
補正開始指示信号８３０は、状態検知部２２０からデータリード部２３０に対して送信される補正開始指示の信号であり、符号８３１は、当該信号の送信タイミングを示している。
【００８４】
補正ライン同期信号８４０は、読み出された各ラインの画像データに対して、傾き補正処理を行う信号であり、符号８４１，８４３、８４４、８４５、８４６、８４８は、傾き補正処理を行うタイミングを示している。傾き補正処理を行う周期は、読み取り周期よりも短いが、制限条件α未満になる場合には、傾き補正処理が一旦停止するため、一定にはならない。
【００８５】
補正ライン８５０は、傾き補正処理されたラインを示している。ｐａｕｓｅ信号８６０は、リード制御部６２０から補正部６４０に対して送信されたｐａｕｓｅ信号を示しており、符号８６１は、ｐａｕｓｅ信号の送信タイミングを示している。
【００８６】
図８の場合、制限条件α＝４ラインと算出されており、リードライン数（ｙ座標）と補正ライン数（ｙ座標）との差分ライン（ｙ座標の差）が４ライン未満になると、補正部６４０に対してｐａｕｓｅ信号が出力される。
【００８７】
例えば、補正ライン同期信号８４０の符号８１３〜８１６で示すタイミングでは、リードライン８２０がＬ８〜Ｌ１３（ｙ座標＝ｙ１０〜ｙ１３）であり、補正ラインがｌ１〜ｌ６（ｙ座標＝ｙ４〜ｙ９）である。このため、いずれも差分ライン（ｙ座標の差）が４ライン以上あり、補正ラインｌ１〜ｌ６がｙ座標＝ｙ４〜ｙ９の位置に形成される。
【００８８】
一方、補正ライン同期信号８４０の符号８４７で示すタイミングでは、リードラインがＬ１３（ｙ座標＝ｙ１３）のままであるのに対して、補正ラインがｌ７（ｙ座標＝ｙ１０）である。このため、差分ライン（ｙ座標の差）が３ラインとなり（制限条件（α＝４）未満となり）、符号８６１のタイミングでｐａｕｓｅ信号８６０が出力される。この結果、補正ライン同期信号の符号８４７で示すタイミングでは、次の補正ラインｌ７が形成されない。
【００８９】
ただし、補正ライン同期信号８４０の符号８４８で示すタイミングでは、リードライン８２０がＬ１４（ｙ座標＝ｙ１４）であり、補正ラインがｌ７（ｙ座標＝ｙ１０）となる。つまり、差分ライン（ｙ座標の差）が再び４ラインとなるため（制限条件（α＝４）以上となるため）、補正ラインｌ７がｙ座標＝ｙ１０の位置に形成されることになる。
【００９０】
＜９．まとめ＞
以上の説明から明らかなように、本実施形態における画像処理装置は、
・画像データをラインごとに順次読み出し、読み出した画像データについて、傾き補正処理を行う際に、読み出し処理と傾き補正処理との間で処理の不整合が生じないようにするための制限条件を算出する。
・制限条件は、補正前後の原稿画像の所定の頂点についての、副走査方向の移動量に基づいて算出する。
・読み出し処理を行う際の読み出し位置と、傾き補正処理を行う際の補正位置との差が、制限条件未満となる場合に、傾き補正処理の進度を制限する。
【００９１】
これにより、傾き補正処理を高速化した場合であっても、傾き補正処理後の画像データを適切に生成することができる。
【００９２】
［第２の実施形態］
上記第１の実施形態では、原稿画像が反時計回りに傾いている場合の制限条件の算出方法について説明したが、原稿画像が時計回りに傾いている場合も同様である。
【００９３】
図９は、制限条件の算出方法の他の一例を示す図である。
【００９４】
このうち、図９（ａ）は、状態検知部２２０が、画像領域５００において、頂点情報に基づいて、傾きデータθを算出する算出方法を示している。状態検知部２２０は、ＤＲＡＭ１２１より読み出した画像データに基づいて、原稿画像領域９００の左右２つの頂点（原稿画像３００の搬送方向の先端側の左右２つの頂点）ｐ１、ｐ２を検出する。そして、検出した左右２つの頂点ｐ１、ｐ２の画像領域５００における座標に基づいて、原稿画像領域９００の主走査方向に対する傾きデータθを算出する。
【００９５】
図９（ｂ）は、データリード部２３０が、傾きデータθに基づいて傾き補正処理を行う前後の関係を示した図である。図９（ｂ）に示すように、予め定められた回転中心５１０に対して、傾きデータθに応じた角度分、原稿画像領域９００を回転させることにより、原稿画像領域９００の傾きが補正され、左右２つの頂点ｐ１、ｐ２は、頂点Ｐ１、Ｐ２に移動する。
【００９６】
ここで、左右２つの頂点ｐ１、ｐ２の座標を（ｘ１，ｙ３）、（ｘ２，ｙ８）とすると、上式（１）、（２）に基づいて、頂点Ｐ１、Ｐ２の座標を（ｘ３，ｙ５）、（ｘ４，ｙ５）と算出することができる。制限条件は、頂点Ｐ１またはＰ２の位置座標（ｙ座標）と、右側の頂点ｐ２の位置座標（ｙ座標）との差分（右側の頂点ｐ２の副走査方向の移動量）により算出されることから、制限条件α＝ｙ５−ｙ８となる。つまり、図９（ｂ）の例では、制限条件α＝３ラインとなる。
【００９７】
このように、原稿画像が時計回りに傾いている場合においても制限条件αを算出することができ、傾き補正処理に用いることができる。これにより、上記第１の実施形態と同様、傾き補正処理を高速化した場合であっても、傾き補正処理後の画像データ（原稿画像領域９１０の画像データ）を適切に生成することができる。
【００９８】
［その他の実施形態］
上記第１及び第２の実施形態では、制限条件αを、読み出し位置と補正位置との差として定義し、リードライン数と補正ライン数との差分を監視する構成とした。しかしながら、ライトライン数とリードライン数との関係が予め定義されている場合には、制限条件αを、書き込み位置と補正位置との差として定義し、ライトライン数と補正ライン数との差分を監視する構成としてもよい。
【００９９】
また、上記第１及び第２の実施形態では、傾き補正処理の高速化に対して、制限条件を設けることで、補正ラインの形成に用いる画素の読み出しが間に合わないといった事態を回避できることを説明した。しかしながら、制限条件を設けることによる利点はこれに限定されない。例えば、制限条件を設けることで、副走査方向の長さが正しい原稿画像領域３４０、９１０を出力することができるといった利点もある。
【０１００】
また、上記第１及び第２の実施形態では、状態検知部２２０がＤＲＡＭ１２１から読み出した画像データに基づいて傾きデータを算出する構成とした。しかしながら、画像センサが配置された読み取り位置に傾き検出センサを配し、傾き検出センサにより傾きデータを検出する構成としてもよい。
【０１０１】
また、上記第１及び第２の実施形態では、スキャナユニット１１０の画像センサを読み取り位置に配し、原稿画像を搬送させることで、画像センサに対して原稿画像を副走査方向に相対的に移動させる構成とした。しかしながら、画像センサに対して原稿画像を副走査方向に相対的に移動させる構成は、これに限定されない。例えば、原稿画像を固定し、原稿画像に対して画像センサを副走査方向に移動させる構成であってもよい。
【０１０２】
また、上記第１及び第２の実施形態では、画像形成装置１００が、スキャナユニット１１０と画像処理ボード１２０とプリンタユニット１３０とを有するものとして説明した。つまり、画像形成装置１００は、スキャナ機能と、コピー機能（スキャナ機能＋プリンタ機能）とを有するものとして説明した。しかしながら、画像形成装置１００は、プリンタユニット１３０を有していなくてもよい。つまり、画像形成装置１００は、スキャナ機能を有し、傾き補正処理後の画像データを、表示、格納、または送信する構成であってもよい。
【０１０３】
また、上記第１の実施形態では、傾き補正部２００を集積回路上で実現する場合について説明した。しかしながら、傾き補正部２００の機能を実現するソフトウェアのプログラムコード（画像処理プログラムのコード）が記録された記憶媒体を、画像処理装置に供給する構成としてもよい。この場合、画像処理装置のコンピュータが記憶媒体に記録されたプログラムコードを読み出して実行することにより、傾き補正部２００の機能を実現することになる。
【０１０４】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１０５】
１００                  ：画像形成装置
１１０                  ：スキャナユニット
１２０                  ：画像処理ボード
１２１                  ：ＤＲＡＭ
１２２                  ：画像処理ＡＳＩＣ
１３０                  ：プリンタユニット
２００                  ：傾き補正部
２１０                  ：データライト部
２２０                  ：状態検知部
２３０                  ：データリード部
３００                  ：原稿画像
５１０                  ：回転中心
６１０                  ：制限条件算出部
６２０                  ：リード制御部
６３０                  ：ＤＲＡＭインタフェース部
６４０                  ：補正部
８１０                  ：リードライン同期信号
８２０                  ：リードライン
８３０                  ：補正開始指示信号
８４０                  ：補正ライン同期信号
８５０                  ：補正ライン
８６０                  ：ｐａｕｓｅ信号
９００                  ：原稿画像領域
【先行技術文献】
【特許文献】
【０１０６】
【特許文献１】特開２００６−２９６６４０号公報
【図１】
2018074423.tif 000005
【図２】
2018074423.tif 000006
【図３】
2018074423.tif 000007
【図４】
2018074423.tif 000008
【図５】
2018074423.tif 000009
【図６】
2018074423.tif 000010
【図７】
2018074423.tif 000011
【図８】
2018074423.tif 000012
【図９】
2018074423.tif 000013