(57)【要約】【課題】  容量の少ないラインメモリーで原稿画像の傾きを補正する。【解決手段】  ラインメモリー管理部２２は、Ｎ個（Ｎ＞１）の入力ブロック分のラインメモリーを確保し、データ入力部２３は、傾き補正後の出力ブロックに対応するＮ個の入力ブロックをラインメモリーへ書き込み、データ出力部２４は、ラインメモリーにおけるＮ個の入力ブロックから、出力ブロックの各ラインを１ラインずつ読み出す。そして、データ入力部２３は、データ出力部２４による出力ブロックのラインの読み出しが完了したサブラインのラインメモリーへ、いずれかのラインメモリーに書き込まれている最後のサブラインの副走査方向において次のサブラインを書き込む。【選択図】  図１
2016072780.tif 000002
【特許請求の範囲】
【請求項１】
原画像におけるラインを主走査方向に分割して得られるサブラインについて所定数のサブラインからなる入力ブロックについて、Ｎ個（Ｎ＞１）の入力ブロック分のラインメモリーを確保するラインメモリー管理部と、
傾き補正後の出力ブロックに対応する前記Ｎ個の入力ブロックを前記ラインメモリーへ書き込むデータ入力部と、
前記ラインメモリーにおける前記Ｎ個の入力ブロックから、前記出力ブロックの各ラインを１ラインずつ読み出すデータ出力部とを備え、
前記データ入力部は、前記データ出力部による前記出力ブロックのラインの読み出しが完了したサブラインの前記ラインメモリーへ、前記ラインメモリーに書き込まれている最後のサブラインの副走査方向において次のサブラインを書き込むこと、
を特徴とする画像処理装置。
【請求項２】
前記ラインメモリー管理部は、前記出力ブロックに対応する入力ブロックが前記Ｎ＋１個である場合、前記Ｎ個の入力ブロックに隣接する隣接ブロック分のラインメモリーとして、前記入力ブロックのライン数より少ないライン分のラインメモリーを確保し、
前記データ入力部は、前記出力ブロックに対応する入力ブロックが前記Ｎ＋１個である場合、前記隣接ブロックを、前記隣接ブロック分のラインメモリーへ書き込み、
前記データ出力部は、前記出力ブロックに対応する入力ブロックが前記Ｎ＋１個である場合、前記ラインメモリーにおける前記Ｎ個の入力ブロックおよび前記隣接ブロックから、前記出力ブロックの各ラインを１ラインずつ読み出すこと、
を特徴とする請求項１記載の画像処理装置。
【請求項３】
前記Ｎ個の入力ブロックの一端に隣接する前記隣接ブロック分として確保されたラインメモリーは、前記Ｎ個の入力ブロックの他端に隣接する前記隣接ブロック分としても使用されること、
を特徴とする請求項２記載の画像処理装置。
【請求項４】
前記入力ブロックの主走査方向の幅は、前記出力ブロックの主走査方向の幅と同一であり、
前記Ｎは、２であること、
を特徴とする請求項１から請求項３のうちのいずれか１項記載の画像処理装置。
【請求項５】
前記入力ブロックのサブライン数は、前記原画像の傾きに応じて設定されることを特徴とする請求項１から請求項４のうちのいずれか１項記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関するものである。
【背景技術】
【０００２】
スキャナーなどの画像読取装置により矩形状の原稿画像が読み取られる際に、原稿の傾きに起因して読み取り画像内において原稿画像が傾いていることがある。ある画像読取装置は、そのような読み取り画像内の原稿画像の傾きを補正している（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２８４１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
原稿画像を主走査方向および副走査方向に分割して得られるブロックごとに原稿画像の傾きを補正する場合、例えば、そのブロックの補正後の１ライン分に必要な読み取り画像の複数ライン分のラインメモリー（読み取り画像の幅を有するラインメモリー）を確保し、確保したラインメモリーに読み取り画像の複数ラインを格納し、格納した複数ラインから１ラインずつ補正後の原稿画像のブロックを生成していく。そのようにした場合、メインメモリーにおいて確保されるラインメモリーのうち、原稿画像が格納される部分が少ないため、メモリーの利用効率が低くなってしまっている。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、容量の少ないラインメモリーで原稿画像の傾きを補正する画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、原画像におけるラインを主走査方向に分割して得られるサブラインについて所定数のサブラインからなる入力ブロックについて、Ｎ個（Ｎ＞１）の入力ブロック分のラインメモリーを確保するラインメモリー管理部と、傾き補正後の出力ブロックに対応する前記Ｎ個の入力ブロックを前記ラインメモリーへ書き込むデータ入力部と、前記ラインメモリーにおける前記Ｎ個の入力ブロックから、前記出力ブロックの各ラインを１ラインずつ読み出すデータ出力部とを備える。そして、前記データ入力部は、前記データ出力部による前記出力ブロックのラインの読み出しが完了したサブラインの前記ラインメモリーへ、前記ラインメモリーに書き込まれている最後のサブラインの副走査方向において次のサブラインを書き込む。
【発明の効果】
【０００７】
本発明によれば、容量の少ないラインメモリーで原稿画像の傾きを補正できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の実施の形態に係る画像処理装置を含む画像形成装置の構成を示すブロック図である。
【図２】図２は、図１における画像処理装置１３の動作について説明するフローチャートである。
【図３】図３は、出力ブロックの一例を示す図である。
【図４】図４は、図３に示す出力ブロックに対応する２個の入力ブロックの一例を示す図である。
【図５】図５は、図３に示す出力ブロックに対応する３個の入力ブロックの一例を示す図である。
【図６】図６は、図３に示す出力ブロックに対応する３個の入力ブロックの別の例を示す図である。
【図７】図７は、図４に示す入力ブロックにおける１つのサブラインに対する読み出しが完了したときに、次のサブラインをラインメモリーに書き込む動作を説明する図である。
【発明を実施するための形態】
【０００９】
以下、図に基づいて本発明の実施の形態を説明する。
【００１０】
図１は、本発明の実施の形態に係る画像処理装置を含む画像形成装置の構成を示すブロック図である。図１に示す画像形成装置１は、複写機であるが、スキャナー、複合機などでもよい。
【００１１】
この画像形成装置１は、印刷装置１１と、画像読取装置１２と、画像処理装置１３と、記憶装置１４とを備える。
【００１２】
印刷装置１１は、出力デバイスの一例であって、画像処理装置１３による各種画像処理後の画像データに基づいて原稿画像を、ＣＭＹＫ（シアン・マゼンタ・イエロー・ブラック）色のトナーを使用して電子写真プロセスで印刷する内部装置である。
【００１３】
また、画像読取装置１２は、例えば自動原稿送り装置を使用して、原稿から原稿画像を光学的に読み取り、原稿画像の画像データをＲＧＢデータとして生成する内部装置である。
【００１４】
また、画像処理装置１３は、画像読取装置１２などで生成された画像データに対して、色調整、色変換などの画像処理を行う。
【００１５】
また、記憶装置１４は、フラッシュメモリーなどの、書き換え可能な不揮発性の記憶装置であり、各種データやプログラムを記憶している。
【００１６】
画像処理装置１３は、ＡＳＩＣ（Application Specific Integrated Circuit）やコンピューターで実現され、ＲＡＭ（Random Access Memory）などのメモリー２１を有し、さらに、ラインメモリー管理部２２、データ入力部２３、およびデータ出力部２４を有する。
【００１７】
画像処理装置１３は、例えば原画像内の原稿画像のエッジを抽出しそのエッジの傾きおよび位置を特定し、エッジの傾きおよび位置に基づいて、原稿画像に傾きがあると判定した場合、原画像内の原稿画像の傾きと位置に基づいて、ラインメモリー管理部２２、データ入力部２３、およびデータ出力部２４で、傾きの補正を行う。
【００１８】
ラインメモリー管理部２２は、Ｎ個（Ｎ＞１）の入力ブロック分のラインメモリーをメモリー２１において確保する。入力ブロックは、所定数のサブラインからなり、サブラインは、原画像におけるラインを主走査方向に分割して得られる。
【００１９】
なお、入力ブロックのサブライン数は、原画像の傾きに応じて設定される。例えば、出力ブロックの１つのサブラインに対応する入力ブロックのサブラインの数が、入力ブロックのサブライン数とされる。
【００２０】
ここで、Ｎは、入力ブロックおよび出力ブロックの主走査方向の幅に応じて決定される。入力ブロックの主走査方向の幅と出力ブロックの主走査方向の幅とが大きく変わらない場合、Ｎは２とされる。この実施の形態では、入力ブロックの主走査方向の幅と出力ブロックの主走査方向の幅は互いに同一である。なお、出力ブロックは、原画像内の原稿画像に対して傾き補正を行って得られる出力画像における所定サイズのブロックである。
【００２１】
データ入力部２３は、出力ブロックに対応するＮ個の入力ブロックをラインメモリーへ書き込む。データ出力部２４は、ラインメモリーにおけるＮ個の入力ブロックから、出力ブロックの各ラインを１ラインずつ読み出す。なお、この実施の形態では、原画像は、画像読取装置１２により得られた読み取り画像であって、原画像の画像データは、記憶装置１４に記憶され、データ入力部２３は、記憶装置１４から入力ブロックをラインメモリーへ書き込み、データ出力部２４は、ラインメモリー内の入力ブロックから、出力ブロックのラインを１ラインずつ抽出して読み出し、図示せぬ処理部やメモリー２１内の所定の記憶領域へ出力する。
【００２２】
データ出力部２４の後段の画像処理に必要な出力画像のうちの出力ブロックが１つずつ指定され、その指定された出力ブロックのラインが存在する複数の入力ブロックが、出力画像内での、指定された出力ブロックの位置並びに原画像内の原稿画像の傾きおよび位置に基づいて特定される。具体的には、出力ブロック内の各ラインの各画素に対応する、原画像内の画素が、その出力ブロック内の画素の位置、並びに原画像内の原稿画像の傾きおよび位置に基づいて特定される。これにより、出力ブロックに対応する複数の入力ブロックが特定される。この実施の形態では、Ｎが２であり、１つの出力ブロックに対応する入力ブロックの数は、２か３である。
【００２３】
データ入力部２３は、データ出力部２４による出力ブロックのラインの読み出しが完了した各サブライン（入力ブロックのサブライン）のラインメモリーへ、いずれかのラインメモリーに書き込まれている最後のサブラインの副走査方向において次のサブラインを書き込む。
【００２４】
この実施の形態では、出力ブロックに対応する入力ブロックがＮ＋１個である場合、ラインメモリー管理部２２は、Ｎ個の入力ブロックに隣接し出力ブロックの一部を含む隣接ブロック分のラインメモリーとして、入力ブロックのライン数より少ないライン分のラインメモリーを確保し、データ入力部２３は、その隣接ブロックを、隣接ブロック分のラインメモリーへ書き込み、データ出力部２４は、ラインメモリーにおけるＮ個の入力ブロックおよび隣接ブロックから、出力ブロックの各ラインを１ラインずつ読み出す。主走査方向において隣接ブロックの幅は入力ブロックの幅と同一であり、隣接ブロックのサブライン数は、隣接ブロック分のラインメモリーの数と同一である。
【００２５】
なお、主走査方向に連続する２個の入力ブロックの一端に隣接する隣接ブロック分として確保されたラインメモリーは、その２個の入力ブロックの他端に隣接する隣接ブロック分としても使用される。つまり、Ｎが２である場合、１つの出力ブロックに対応する入力ブロックの数は、２か３であるため、ある１つの出力ブロックのために、２個の入力ブロックの両側における２つの隣接ブロックが同時に必要になることはない。したがって、１つの隣接ブロック分のラインメモリーが、両側の隣接ブロックのために共用される。
【００２６】
次に、上記画像処理装置１３の動作について説明する。図２は、図１における画像処理装置１３の動作について説明するフローチャートである。
【００２７】
原画像内の原稿画像の傾きが検出された後、出力画像に必要な出力ブロックが１つずつ指定され（ステップＳ１）、指定された出力ブロックの画像データを取得するために、図２に示すステップＳ２以降の処理が実行される。
【００２８】
まず、指定された出力ブロックに対応する（ここでは２個の）入力ブロックが特定される。このとき、出力ブロックの先頭ラインの各画素に対応する、原画像内の画素の位置が特定され、その特定された位置を含むサブラインを先頭にして副走査方向へ所定サブライン数のサブラインが入力ブロックとして特定される（ステップＳ２）。
【００２９】
図３は、出力ブロックの一例を示す図である。図４は、図３に示す出力ブロックに対応する２個の入力ブロックの一例を示す図である。
【００３０】
例えば、図３における出力ブロック３１は、ライン３１−１〜３１−６からなり、図４に示すように、先頭のライン３１−１の画素に対応する画素５１は、サブライン４１−１，４１−２およびサブライン４２−１〜４２−３に含まれている。このため、サブライン４１−１からサブライン４１−４までが１つの入力ブロック４１とされ、サブライン４２−１からサブライン４２−４までが１つの入力ブロック４２とされる。
【００３１】
次に、ラインメモリー管理部２２は、特定された２個の入力ブロック分のラインメモリーを確保する（ステップＳ３）。２個の入力ブロック分のラインメモリーが確保されると、データ入力部２３は、特定された２個の入力ブロックを記憶装置１４から読み出して、そのラインメモリーに書き込む（ステップＳ４）。
【００３２】
そして、データ出力部２４は、出力ブロックの注目ラインを設定する（ステップＳ５）。なお、注目ラインは、先頭ラインから順番に選択されていく。
【００３３】
データ出力部２４は、出力ブロックの注目ラインを読み出すために、ラインメモリー内の２個の入力ブロックの隣接ブロックが必要か否かを判定する（ステップＳ６）。
【００３４】
図５は、図３に示す出力ブロックに対応する３個の入力ブロックの一例を示す図である。図６は、図３に示す出力ブロックに対応する３個の入力ブロックの別の例を示す図である。例えば図５に示す場合では、出力ブロックの注目ラインに対応する画素が画素５１であるとき、画素５１が３個の入力ブロックに含まれているため、隣接ブロック４３が必要であると判断される。また、例えば図６に示す場合では、出力ブロックの注目ラインに対応する画素が画素５４であるとき、画素５４が３個の入力ブロックに含まれているため、隣接ブロック４０が必要であると判断される。
【００３５】
隣接ブロックが必要であると判定されると、隣接ブロックが読込済みではない場合には（ステップＳ７）、ラインメモリー管理部２２は、隣接ブロック分のラインメモリーを確保する（ステップＳ８）。このとき、隣接ブロックのラインメモリー数は、１つの入力ブロックのラインメモリー数より少ない。図５および図６では、入力ブロック４１，４２は、それぞれ、４本のサブラインを有するため、入力ブロック４１，４２に対してそれぞれ４個のラインメモリーが確保されているが、隣接ブロック４０，４３は、それぞれ、３本のサブライン４０−１〜４０−３，４３−１〜４３−３を有し、隣接ブロック４０，４３に対してそれぞれ３個のラインメモリーが確保される。隣接ブロック（隣接ブロック４０または隣接ブロック４３）のラインメモリーが確保されると、データ入力部２３は、隣接ブロックを記憶装置１４から読み出して、そのラインメモリーに書き込む（ステップＳ９）。
【００３６】
隣接ブロックが必要ではないと判定された場合、ステップＳ７〜Ｓ９の処理は行われない。また、隣接ブロックが読込済みである場合、ステップＳ８，Ｓ９の処理は行われない。
【００３７】
そして、データ出力部２４は、出力ブロックの注目ラインの各画素に対応する、ラインメモリー内の入力ブロック（あるいは、入力ブロックおよび隣接ブロック）内の画素の値を読み出し、出力ブロックの注目ラインとして出力する（ステップＳ１０）。
【００３８】
注目ラインの読み出しが完了すると、データ入力部２３は、出力ブロックのために必要なサブラインの読み出しが完了したラインメモリーがあるか否かを判定し、出力ブロックのために必要なサブラインの読み出しが完了したラインメモリーがあれば、ラインメモリー内の最後のサブラインの次のサブラインを記憶装置１４から読み出し、出力ブロックのために必要なサブラインの読み出しが完了したラインメモリーに上書きする（ステップＳ１１）。
【００３９】
図７は、図４に示す入力ブロックにおける１つのサブラインに対する読み出しが完了したときに、次のサブラインをラインメモリーに書き込む動作を説明する図である。例えば図７に示す場合では、出力ブロック３１の先頭ライン３１−１が出力された時点で、サブライン４１−１およびサブライン４２−１は不要となるため、サブライン４１−１が格納されていたラインメモリーに、サブライン４１−５が上書きされ、サブライン４２−１が格納されていたラインメモリーに、サブライン４２−５が上書きされる。図７に示す場合、サブライン４１−５には、出力ブロックの第４ラインおよび第５ラインのデータが含まれており、サブライン４２−５には、出力ブロックの第３ラインおよび第４ラインのデータが含まれている。
【００４０】
このように、出力ブロックの注目ラインより後続のラインに必要なサブラインが事前に読み出されるため、サブラインの読み出しに起因する遅延が短くて済む。
【００４１】
そして、データ出力部２４は、出力ブロックの全ラインの出力が完了したか否かを判定し（ステップＳ１２）、出力ブロックの全ラインの出力が完了していない場合には、ステップＳ５に戻り、次の注目ラインを設定し、必要に応じてデータ入力部２３とともに、同様の処理（ステップＳ１０〜Ｓ１２）を実行する。
【００４２】
なお、ステップＳ３，Ｓ８で確保されたラインメモリーは１つの出力ブロックについての処理が完了した後も解放されずに、次に指定される出力ブロックについての処理において使用される。
【００４３】
このようにして、１つの出力ブロックの出力が実行される。
【００４４】
以上のように、上記実施の形態によれば、ラインメモリー管理部２２は、Ｎ個（Ｎ＞１）の入力ブロック分のラインメモリーを確保し、データ入力部２３は、傾き補正後の出力ブロックに対応するＮ個の入力ブロックをラインメモリーへ書き込み、データ出力部２４は、ラインメモリーにおけるＮ個の入力ブロックから、出力ブロックの各ラインを１ラインずつ読み出す。そして、データ入力部２３は、データ出力部２４による出力ブロックのラインの読み出しが完了した各入力ブロックのサブラインのラインメモリーへ、ラインメモリーに書き込まれている最後のサブラインの副走査方向において次のサブラインを書き込む。
【００４５】
これにより、サブラインサイズの記憶容量のラインメモリーが順次再利用されていくため、メモリーの利用効率が高く、容量の少ないラインメモリーで原稿画像の傾きを補正することができる。
【００４６】
また、原画像の主走査方向の幅に拘わらず、Ｎ個の入力ブロックおよび隣接ブロックのためのラインメモリーで傾き補正を行うことができる。
【００４７】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【産業上の利用可能性】
【００４８】
本発明は、例えば、読み取り画像についての傾き補正に適用可能である。
【符号の説明】
【００４９】
１３  画像処理装置
２２  ラインメモリー管理部
２３  データ入力部
２４  データ出力部
４０，４３  隣接ブロック
４０−１〜４０−３，４１−１〜４１−４，４２−１〜４２−４，４３−１〜４３−３  サブライン
４１，４２  入力ブロック
【図１】
2016072780.tif 000003
【図２】
2016072780.tif 000004
【図３】
2016072780.tif 000005
【図４】
2016072780.tif 000006
【図５】
2016072780.tif 000007
【図６】
2016072780.tif 000008
【図７】
2016072780.tif 000009