(57)【要約】【課題】スキュー角度が大きくなっても、ＤＲＡＭへのアクセス効率の著しい低下をさせずに、必要メモリ容量の増加も抑制することができる画像処理装置、傾き補正方法、および、プログラムを提供することを課題とする。【解決手段】本発明は、画像データの補正回転角度を取得し、取得された補正回転角度に応じて、予め定めたブロック数の部分データを入力バッファに読込むように記憶部のアドレス制御を行う第１アドレス制御方式と、ブロックの部分データを入力バッファに随時読込むように記憶部のアドレス制御を行う第２アドレス制御方式とを切り替え、入力バッファに書き込まれた部分データの回転処理を行い、回転処理された部分データを出力バッファに書込むように記憶部のアドレス制御を行う。【選択図】図２
2010205143.tif 000002
【特許請求の範囲】
【請求項１】
画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置であって、
上記記憶部は、入力バッファと出力バッファとを備え、
上記制御部は、
上記画像データの補正回転角度を取得する回転角度取得手段と、
上記回転角度取得手段により取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読込むように上記記憶部のアドレス制御を行う第１アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読込むように上記記憶部のアドレス制御を行う第２アドレス制御方式とを切り替える方式切替制御手段と、
上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理手段と、
上記回転処理手段により回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御手段と、
を備えたことを特徴とする、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
上記制御部は、
上記回転処理手段により回転処理された上記部分データに対してデータ圧縮を行う画像圧縮手段、
を更に備えたことを特徴とする、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
上記出力バッファのブロックサイズは、８×８ピクセルであり、
上記画像圧縮手段は、上記部分データに対してＪＰＥＧ圧縮することを特徴とする、画像処理装置。
【請求項４】
請求項１から３のいずれか１つに記載の画像処理装置において、
上記書込み制御手段は、
上記部分データを上記画像データの少なくとも一部に重ねて上書きするように上記記憶部のアドレス制御を行うことを特徴とする、画像処理装置。
【請求項５】
請求項１から４のいずれか１つに記載の画像処理装置において、
上記入力バッファは、
当該入力バッファに格納される上記部分データの少なくとも一部の画像および／または上記画像データにおける座標情報を記憶することを特徴とする、画像処理装置。
【請求項６】
画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置において実行される傾き補正方法であって、
上記記憶部は、入力バッファと出力バッファとを備えており、
上記制御部において実行される、
上記画像データの補正回転角度を取得する回転角度取得ステップと、
上記回転角度取得ステップにて取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読み込むように上記記憶部のアドレス制御を行う第１アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読み込むように上記記憶部のアドレス制御を行う第２アドレス制御方式とを切り替える方式切替制御ステップと、
上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理ステップと、
上記回転処理ステップにより回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御ステップと、
を含むことを特徴とする、傾き補正方法。
【請求項７】
画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置において実行させるためのプログラムであって、
上記記憶部は、入力バッファと出力バッファとを備えており、
上記制御部において、
上記画像データの補正回転角度を取得する回転角度取得ステップと、
上記回転角度取得ステップにて取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読み込むように上記記憶部のアドレス制御を行う第１アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読み込むように上記記憶部のアドレス制御を行う第２アドレス制御方式とを切り替える方式切替制御ステップと、
上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理ステップと、
上記回転処理ステップにより回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、傾き補正方法、および、プログラムに関する。
【背景技術】
【０００２】
従来の画像処理装置においては、スキャナ等の画像読取装置で読取った画像中の原稿領域を認識し、効率的に傾き補正（デスキュー）および原稿領域の切り出し（クロッピング）が行われている。
【０００３】
例えば、特許文献１に記載の技術では、少なくとも互いに隣り合う領域の一部が重なり合うように、複数の領域に画像を分割し、分割領域を読み出して回転処理を行い、移動量に基づいて平行移動を行う技術が開示されている。
【０００４】
また、例えば、特許文献２に記載の技術では、画像データが大容量低速メモリに格納され、当該画像データがブロック読み出し用のアドレスに従ってブロック単位で読み出され小容量高速メモリに格納される。そして、当該技術では、局所回転用の読み出しアドレスに従ってさらに読み出され、スキュー補正が行われる。さらに、当該技術では、入力画像の傾きに応じた角度でメモリから斜め方向にブロック単位で読み出すべく、その小数部を所定の精度で近似してブロック書込み用のアドレスを順次生成し、かつ、ブロック読み出し用のアドレスを精度に応じた周期で所定量だけ増減させることで近似によるブロック読み出し用のアドレスの累積誤差を抑制する技術が開示されている。
【０００５】
また、例えば、特許文献３に記載の技術では、部分画像を格納する読み取り用バッファを制御し、読み取り用バッファに格納された部分画像を、出力座標の位置に順次変換し、出力座標の位置に変換された部分画像を格納する書き込み用バッファを制御することで、回転、変倍、変形を含めた行列処理をブロック単位で行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特公平８−３３９１９号公報
【特許文献２】特開２００５−３５２７０３号公報
【特許文献３】特開２００８−１９２０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の画像処理装置（特許文献１等）においては、ＤＲＡＭのアクセス効率を高くすると、必要となるバッファサイズが大きくなってしまう（一例として、読み出す画像が正方形で、回転角度が４５度の場合、入力バッファの大きさは出力バッファの√２倍となる）という問題点を有していた。
【０００８】
また、従来の画像処理装置においては、スキュー角度が大きいほどＤＲＡＭへのアクセス効率が大きく低下するため、スキャナの読取速度が低下してしまうという問題点を有していた。すなわち、従来の画像処理装置においては、画像をブロックに分割し、大容量低速メモリから高速メモリへ読み出し、その中で回転処理を行うため、高速メモリのサイズは小さくすることは可能だが、大容量低速メモリへのアクセス効率は低下してしまうという問題点を有していた。ここで、図１を参照してメモリのアクセス効率の低下について説明する。図１に示すように、画像の読み込みにおいて大容量低速メモリへのアクセスを連続して行うことが必要であるが、従来の画像処理装置においては、回転角度が少ない場合は、入力画像アクセス単位（例えば、１つのラスタ）に含まれるデスキュー／クロッピング対象の原稿（すなわち、補間対象）の割合が大きいため、メモリのアクセス効率が高いが、回転角度が大きくなると、背景（すなわち、補間対象以外）の割合が大きくなるため、メモリのアクセス効率が極端に低下するという問題点を有していた。
【０００９】
本発明は、上記問題点に鑑みてなされたもので、スキュー角度が大きくなっても、ＤＲＡＭへのアクセス効率の著しい低下をさせずに、必要メモリ容量の増加も抑制することができる画像処理装置、傾き補正方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
このような目的を達成するため、本発明の画像処理装置は、画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置であって、上記記憶部は、入力バッファと出力バッファとを備え、上記制御部は、上記画像データの補正回転角度を取得する回転角度取得手段と、上記回転角度取得手段により取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読込むように上記記憶部のアドレス制御を行う第１アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読込むように上記記憶部のアドレス制御を行う第２アドレス制御方式とを切り替える方式切替制御手段と、上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理手段と、上記回転処理手段により回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御手段と、を備えたことを特徴とする。
【００１１】
また、本発明の画像処理装置は、上記記載の装置において、上記制御部は、上記回転処理手段により回転処理された上記部分データに対してデータ圧縮を行う画像圧縮手段、を更に備えたことを特徴とする。
【００１２】
また、本発明の画像処理装置は、上記記載の装置において、上記出力バッファのブロックサイズは、８×８ピクセルであり、上記画像圧縮手段は、上記部分データに対してＪＰＥＧ圧縮することを特徴とする。
【００１３】
また、本発明の画像処理装置は、上記記載の装置において、上記書込み制御手段は、上記部分データを上記画像データの少なくとも一部に重ねて上書きするように上記記憶部のアドレス制御を行うことを特徴とする。
【００１４】
また、本発明の画像処理装置は、上記記載の装置において、入力バッファは、入力バッファに格納される上記部分データの少なくとも一部の画像および／または上記画像データにおける座標情報を記憶することを特徴とする。
【００１５】
また、本発明の傾き補正方法は、画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置において実行される傾き補正方法であって、上記記憶部は、入力バッファと出力バッファとを備えており、上記制御部において実行される、上記画像データの補正回転角度を取得する回転角度取得ステップと、上記回転角度取得ステップにて取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読み込むように上記記憶部のアドレス制御を行う第１アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読み込むように上記記憶部のアドレス制御を行う第２アドレス制御方式とを切り替える方式切替制御ステップと、上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理ステップと、上記回転処理ステップにより回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御ステップと、を含むことを特徴とする。
【００１６】
また、本発明のプログラムは、画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置において実行させるためのプログラムであって、上記記憶部は、入力バッファと出力バッファとを備えており、上記制御部において、上記画像データの補正回転角度を取得する回転角度取得ステップと、上記回転角度取得ステップにて取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読み込むように上記記憶部のアドレス制御を行う第１アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読み込むように上記記憶部のアドレス制御を行う第２アドレス制御方式とを切り替える方式切替制御ステップと、上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理ステップと、上記回転処理ステップにより回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御ステップと、を実行させることを特徴とする。
【発明の効果】
【００１７】
この発明によれば、画像データの補正回転角度を取得し、取得された補正回転角度に応じて、予め定めたブロック数の部分データを入力バッファに読込むように記憶部のアドレス制御を行う第１アドレス制御方式と、ブロックの部分データを入力バッファに随時読込むように記憶部のアドレス制御を行う第２アドレス制御方式とを切り替え、入力バッファに書き込まれた部分データの回転処理を行い、回転処理された部分データを出力バッファに書込むように記憶部のアドレス制御を行うことができる。これにより、本発明は、回転角度によって小容量高速メモリの使い方を切り替えながら処理を行うことができるという効果を奏する。また、本発明は、ＤＲＡＭのバースト長を効率的な長さに変更し、アクセス効率を保つことができるという効果を奏する。また、本発明は、数度の傾き補正において、効果的に回転処理を行う事ができるという効果を奏する。また、本発明は、入力ブロックと出力ブロックの比が１対多であるため、一度に読み取る単位が長くなり、アクセス回数を少なくすることができるという効果を奏する。また、本発明は、スキュー角度が大きくなっても、必要な部分だけ切り出して入力バッファに格納するため、ＤＲＡＭへのアクセス効率を急激に低下させず、比較的無駄読みを少なくすることができるという効果を奏する。
【００１８】
また、この発明によれば、回転処理された部分データに対してデータ圧縮を行うことができる。これにより、本発明は、データ容量を小さくすることができるため、メモリ領域を節約できるという効果を奏する。
【００１９】
また、この発明によれば、出力バッファのブロックサイズは、８×８ピクセルであり、部分データに対してＪＰＥＧ圧縮することができる。これにより、本発明は、汎用性の高い圧縮方法を使用することにより、多くの機器に適用できるという効果を奏する。
【００２０】
また、この発明によれば、部分データを画像データの少なくとも一部に重ねて上書きするように記憶部のアドレス制御を行うことができる。これにより、本発明は、入力分と出力分のメモリ領域を別々に確保する必要がなく、メモリサイズの節約になるという効果を奏する。
【００２１】
また、この発明によれば、入力バッファに格納される部分データの少なくとも一部の画像および／または画像データにおける座標情報を記憶することができる。これにより、本発明は、画像の入力順に関係なく、読み出し順序を特定できるという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】図１は、従来技術におけるメモリへのアクセスの一例を示す概念図である。
【図２】図２は、画像処理装置の構成の一例を示す概略図である。
【図３】図３は、本発明が適用される画像処理装置の構成の一例を示すブロック図である。
【図４】図４は、本発明の傾き補正処理を示すフローチャートである。
【図５】図５は、補正回転角度に応じた方式切替条件の一例を示す模式図である。
【図６】図６は、第１アドレス制御方式による部分データの入力バッファへの読み込みの一例を示す模式図である。
【図７】図７は、第１アドレス制御方式による部分データの拡大図である。
【図８】図８は、第２アドレス制御方式による部分データの入力バッファへの読み込みの一例を示す模式図である。
【図９】図９は、本実施の形態において行われる上書き制御の一例を示す模式図である。
【図１０】図１０は、本実施の形態における本画像処理装置１００において実行される傾き補正処理の一例を示すフローチャートである。
【図１１】図１１は、本実施の形態と従来技術におけるＤＲＡＭのアクセス効率および必要メモリの計測の一例を示したグラフである。
【発明を実施するための形態】
【００２３】
以下に、本発明にかかる画像処理装置、傾き補正方法、および、プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２４】
［本発明の概要］
以下、本発明の概要について図２を参照して説明し、その後、本発明の構成および処理等について詳細に説明する。図２は、画像処理装置の構成の一例を示す概略図である。
【００２５】
本発明は、概略的に、以下の基本的特徴を有する。すなわち、本発明は、画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、画像データの傾き補正を行う画像処理装置である。
【００２６】
図２に示すように、スキャナ等の画像読取装置にて読み取られた画像データ（イメージデータ）は、記憶部の大容量低速メモリに記憶される。そして、大容量低速メモリに記憶されたイメージデータは、制御部により取得された補正回転角度に応じて、小容量高速メモリに読込む方式を切り替える記憶部のアドレス制御に従って、制御部にて生成されたブロック読出しアドレスによりイメージデータ（部分データ）を読出して小容量高速メモリに格納する。小容量高速メモリに格納されたイメージデータ（部分データ）は、制御部により生成された局所回転用読出しアドレスに従い読み出され、回転処理が行われ、メモリサイズを節約する場合に画像圧縮が行われ、大容量低速メモリに格納される。大容量低速メモリへの書き込みは、制御部により生成されるブロック書き込みアドレスに従って書込み制御される。
【００２７】
以上で、本発明の概要の説明を終える。
【００２８】
［画像処理装置１００の構成］
次に、図３を参照して、画像処理装置１００の構成について説明する。図３は、本発明が適用される画像処理装置の構成の一例を示すブロック図であり、該構成のうち本発明に関係する部分のみを概念的に示している。
【００２９】
図３において画像処理装置１００は、概略的に、制御部１０２と入出力制御インターフェース部１０８と記憶部１０６を備えて構成される。ここで、制御部１０２は、画像処理装置１００の全体を統括的に制御するＣＰＵ等である。また、入出力制御インターフェース部１０８は、画像読取装置１１２に接続されるインターフェースである。また、記憶部１０６は、各種のデータベースやテーブルなどを格納する装置である。これら画像処理装置１００の各部は任意の通信路を介して通信可能に接続されている。
【００３０】
記憶部１０６は、ストレージ手段であり、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の小容量高速メモリと、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の大容量低速メモリ等のストレージ手段を格納しており、小容量高速メモリに入力バッファ１０６ａ、大容量低速メモリに出力バッファ１０６ｂが設定されている。ここで、入力バッファ１０６ａは、当該入力バッファ１０６ａに格納される部分データの少なくとも一部の画像および／または画像データにおける座標情報を記憶してもよい。また、出力バッファ１０６ｂは、入力バッファ１０６ａとは別に小容量高速メモリに設定されていてもよく、入力バッファ１０６ａと同一であってもよい。
【００３１】
また、図３において、入出力制御インターフェース部１０８は、画像読取装置１１２の制御を行う。ここで、画像読取装置１１２としては、スキャナ装置、デジタルカメラ、およびＷＥＢカメラ等を用いることができる。
【００３２】
また、図３において、制御部１０２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部１０２は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部１０２は、機能概念的に、回転角度取得部１０２ａ、方式切替制御部１０２ｂ、回転処理部１０２ｃ、画像圧縮部１０２ｄ、書込み制御部１０２ｅを備えて構成されている。
【００３３】
このうち、回転角度取得部１０２ａは、画像読取装置１１２にて読み取られ、記憶部１０６（例えば、大容量低速メモリ）に記憶された画像データの補正回転角度を取得する回転角度取得手段である。
【００３４】
また、方式切替制御部１０２ｂは、回転角度取得部１０２ａにより取得された補正回転角度に応じて、予め定めたブロック数の部分データを入力バッファ１０６ａに読込むように記憶部１０６のアドレス制御を行う第１アドレス制御方式と、ブロックの部分データを入力バッファ１０６ａに随時読込むように記憶部１０６のアドレス制御を行う第２アドレス制御方式とを切り替える方式切替制御手段である。
【００３５】
また、回転処理部１０２ｃは、入力バッファ１０６ａに書き込まれた部分データの回転処理を行う回転処理手段である。
【００３６】
また、画像圧縮部１０２ｄは、回転処理部１０２ｃにより回転処理された部分データに対してデータ圧縮を行う画像圧縮手段である。ここで、画像圧縮部１０２ｄは、部分データに対して、出力バッファ１０６ｂに出力するブロックサイズを８×８ピクセルとして、ＪＰＥＧ圧縮してもよい。
【００３７】
また、書込み制御部１０２ｅは、部分データを出力バッファ１０６ｂに書込むように記憶部１０６のアドレス制御を行う書込み制御手段である。ここで、書込み制御部１０２ｅは、部分データを画像データの少なくとも一部に重ねて上書きするように記憶部１０６のアドレス制御を行ってもよい。以上で本画像処理装置１００の構成の説明を終える。
【００３８】
［傾き補正処理］
次に、本発明の傾き補正処理の一例について、以下に図４から図９を参照して詳細に説明する。図４は、本発明の傾き補正処理の一例を示すフローチャートである。
【００３９】
図４に示すように、画像処理装置１００は、記憶部１０６に記憶された画像データの補正回転角度を取得する（ステップＳＡ−１）。
【００４０】
そして、画像処理装置１００は、ステップＳＡ−１にて取得された補正回転角度に応じて、予め定めたブロック数の部分データを入力バッファ１０６ａに読込むように記憶部１０６のアドレス制御を行う第１アドレス制御方式と、ブロックの部分データを入力バッファ１０６ａに随時読込むように記憶部１０６のアドレス制御を行う第２アドレス制御方式とを切り替える（ステップＳＡ−２）。
【００４１】
ここで、図５から図８を参照して、補正回転角度に応じた方式切替制御の一例を説明する。図５は、補正回転角度に応じた方式切替条件の一例を示す模式図である。
【００４２】
図５に示すように、方式切替制御部１０２ｂは、出力されるブロックのサイズがＮｘ×Ｎｙであり、予め定めたブロック数（すなわち、入力バッファ１０６ａへの１回の読み込み数）がＭ個であり、補正回転角度がθである場合に、条件式：（Ｎｘｓｉｎθ＋Ｎｙｃｏｓθ）＞（Ｎｙｃｏｓθ＋ＭＮｘｓｉｎθ）が真であれば、第１アドレス制御方式を適用し、一方で、当該条件式が偽であれば、第２アドレス制御方式を適用する。
【００４３】
ここで、図６および図７を参照して、第１アドレス制御方式による部分データの入力バッファ１０６ａへの読み込みの一例を説明する。図６は、第１アドレス制御方式による部分データの入力バッファ１０６ａへの読み込みの一例を示す模式図である。図７は、第１アドレス制御方式による部分データの拡大図である。
【００４４】
図６に示すように、一例として、方式切替制御部１０２ｂは、画像読取装置１１２にて読み込まれた画像データから、出力順序（矢印）に従って、効率的なバースト長により予め定めたブロック数Ｍ（例えば、３個）の部分データを入力バッファ１０６ａ（必要な高さの入力バッファ）に読込むように記憶部１０６のアドレス制御を行う。ここで、図７に示すように、例えば、入力バッファ１０６ａに読込まれる部分データ（入力ブロック）には、効率的なバースト長により予め定めた３個の出力ブロックが格納される。
【００４５】
また、図８を参照して、第２アドレス制御方式による部分データの入力バッファ１０６ａへの読み込みの一例を説明する。図８は、第２アドレス制御方式による部分データの入力バッファ１０６ａへの読み込みの一例を示す模式図である。
【００４６】
図８に示すように、一例として、入力バッファ１０６ａに読込まれる入力ブロックは、出力ブロックの一部が含まれており、処理（例えば、回転処理等）に必要な場合に大容量低速メモリから随時読み出される。
【００４７】
再び図４に戻って、画像処理装置１００は、入力バッファ１０６ａに書き込まれた部分データの回転処理を行う（ステップＳＡ−３）。
【００４８】
そして、画像処理装置１００は、ステップＳＡ−３にて回転処理された部分データを出力バッファ１０６ｂに書込むように記憶部１０６のアドレス制御を行う（ステップＳＡ−４）。
【００４９】
ここで、画像処理装置１００は、部分データを画像データの少なくとも一部に重ねて上書きするように記憶部１０６のアドレス制御を行ってもよい。
【００５０】
また、図９を参照して、本実施の形態において行われる上書き制御の一例を説明する。図９は、本実施の形態において行われる上書き制御の一例を示す模式図である。
【００５１】
図９に示すように、一例として、書込み制御部１０２ｅは、記憶部１０６に記憶されたデスキュー／クロッピング対象の原稿のデータ（画像データ）の部分データに対して回転処理等を行い、回転後の画像のデータ（部分データ）を画像データの少なくとも一部（例えば、背景部分）に重ねて上書きする。
【００５２】
以上で、本発明の傾き補正処理の一例の説明を終える。
【００５３】
［実施例］
次に、このように構成された本実施の形態における本画像処理装置１００において実行される傾き補正処理の一例について、以下に図１０を参照して詳細に説明する。図１０は、本実施の形態における本画像処理装置１００において実行される傾き補正処理の一例を示すフローチャートである。
【００５４】
まず、方式切替制御部１０２ｂは、スキュー角度（例えば、図５におけるθ）と、予め定めたブロック数（例えば、図５におけるＭ）に基づいて一度に出力するブロックサイズ（例えば、図５におけるＮｘ×Ｎｙ）から、入力バッファ１０６ａの高さ（Ａ：例えば、図５における（Ｎｘｓｉｎθ＋Ｎｙｃｏｓθ））と、出力回数（例えば、図５におけるＭ）掛ける出力ブロックサイズ（Ｂ：例えば、図５における（Ｎｙｃｏｓθ＋ＭＮｘｓｉｎθ））を算出する（ステップＳＢ−１）。
【００５５】
そして、方式切替制御部１０２ｂは、Ａ＞Ｂであるか否かを判定する（ステップＳＢ−２）。
【００５６】
そして、方式切替制御部１０２ｂは、ステップＳＢ−２にてＡ＞Ｂであると判定した場合（ステップＳＢ−２：Ｙｅｓ）、入力バッファ１０６ａの高さ（Ｂ）を決定する（ステップＳＢ−３）。
【００５７】
そして、方式切替制御部１０２ｂは、第一アドレス制御方式によるアドレス制御に従って、入力バッファ１０６ａのアドレス（すなわち、ブロック読出しアドレス）を生成する（ステップＳＢ−４）。
【００５８】
そして、方式切替制御部１０２ｂは、ステップＳＢ−４にて生成したアドレスに従って、記憶部１０６（例えば、大容量低速メモリ）から、入力バッファ１０６ａに格納する分の画像データを読み出すように制御し、当該画像データの読み出しをさせる（ステップＳＢ−５）。
【００５９】
そして、回転処理部１０２ｃは、ステップＳＢ−５にて入力バッファ１０６ａに書き込まれた入力ブロックの該当箇所から、局所回転処理を行う。そして、書込み制御部１０２ｅは、部分データ（出力ブロック）を出力バッファ１０６ｂに書込むように記憶部１０６のアドレス制御を行い、出力ブロックを出力させる（ステップＳＢ−６）。
【００６０】
そして、制御部１０２は、予め定めたブロック数（例えば、図５におけるＭ）に対応する回数の出力が実施されたか否かを判定する（ステップＳＢ−７）。
【００６１】
そして、制御部１０２は、ステップＳＢ−７にて予め定めたブロック数に対応する回数の出力が実施されたと判定しない場合（ステップＳＢ−７：Ｎｏ）、処理をＳＢ−５へ移行させる。
【００６２】
一方、制御部１０２は、ステップＳＢ−７にて予め定めたブロック数に対応する回数の出力が実施されたと判定した場合（ステップＳＢ−７：Ｙｅｓ）、書込み制御部１０２ｅの制御により、記憶部１０６（例えば、大容量低速メモリ）に記憶された傾き補正対象の画像データに対応する全ての出力ブロックが、出力バッファ１０６ｂに出力されたか否かを判定する（ステップＳＢ−８）。
【００６３】
そして、制御部１０２は、ステップＳＢ−８にて傾き補正対象の画像データに対応する全ての出力ブロックが出力されていないと判定した場合（ステップＳＢ−８：Ｎｏ）、処理をＳＢ−４へ移行させる。
【００６４】
一方、制御部１０２は、ステップＳＢ−８にて傾き補正対象の画像データに対応する全ての出力ブロックが、出力バッファ１０６ｂに出力されたと判定した場合（ステップＳＢ−８：Ｙｅｓ）、処理を終了する。
【００６５】
また、方式切替制御部１０２ｂは、ステップＳＢ−２にてＡ≦Ｂであると判定した場合（ステップＳＢ−２：Ｎｏ）、１ブロック（すなわち、出力ブロック）を出力するために必要なアドレス（すなわち、ブロック読出しアドレス）を生成する（ステップＳＢ−９）。
【００６６】
そして、制御部１０２は、入力バッファ１０６ａに記憶されているアドレスを示すタグ（すなわち、当該入力バッファ１０６ａに格納される入力ブロック（すなわち、部分データ）の少なくとも一部の画像および／または画像データにおける座標情報）をチェックする（ステップＳＢ−１０）。
【００６７】
そして、制御部１０２は、ステップＳＢ−１０にて行われたチェックに基づいて、入力バッファ１０６ａに、出力ブロックを構成するために必要な入力ブロックの格納が不足しているか否かを判定する（ステップＳＢ−１１）。
【００６８】
そして、方式切替制御部１０２ｂは、ステップＳＢ−１１にて入力バッファ１０６ａに、出力ブロックを構成するために必要な入力ブロックの格納が不足していると判定された場合（ステップＳＢ−１１：Ｙｅｓ）、ステップＳＢ−９にて生成されたアドレスに従って、記憶部１０６（例えば、大容量低速メモリ）から、入力バッファ１０６ａに不足している部分データ（入力ブロック）を読み出すように制御し、当該部分データの読み出しをさせる（ステップＳＢ−１２）。
【００６９】
一方、回転処理部１０２ｃは、ステップＳＢ−１１にて入力バッファ１０６ａに、出力ブロックを構成するために必要な入力ブロックの格納が不足していないと判定された場合（ステップＳＢ−１１：Ｎｏ）、または、ステップＳＢ−１２にて入力バッファ１０６ａに不足している部分データ（入力ブロック）の読み出しが行われた場合、入力バッファ１０６ａに書き込まれた入力ブロックの該当箇所から、局所回転処理を行う。そして、書込み制御部１０２ｅは、部分データ（出力ブロック）を出力バッファ１０６ｂに書込むように記憶部１０６のアドレス制御を行い、出力ブロックを出力させる（ステップＳＢ−１３）。
【００７０】
そして、制御部１０２は、書込み制御部１０２ｅの制御により、記憶部１０６（例えば、大容量低速メモリ）に記憶された傾き補正対象の画像データに対応する全ての出力ブロックが出力されたか否かを判定する（ステップＳＢ−１４）。
【００７１】
そして、制御部１０２は、傾き補正対象の画像データに対応する全ての出力ブロックが、出力バッファ１０６ｂに出力されていないと判定した場合（ステップＳＢ−１４：Ｎｏ）、処理をＳＢ−９へ移行させる。
【００７２】
一方、制御部１０２は、ステップＳＢ−１４にて傾き補正対象の画像データに対応する全ての出力ブロックが、出力バッファ１０６ｂに出力されたと判定した場合（ステップＳＢ−１４：Ｙｅｓ）、処理を終了する。
【００７３】
以上で、本実施の形態における傾き補正処理の一例の説明を終えるが、ここで、図１１を参照し、本実施の形態と従来技術の差異について説明する。図１１は、本実施の形態と従来技術におけるＤＲＡＭのアクセス効率および必要メモリの計測の一例を示したグラフである。図１１Ａには、データを一度に読み取る単位（すなわち、ＤＲＡＭのバースト長）が６４ｂｙｔｅである場合の、スキュー角度に応じた、大容量低速メモリに対するＤＲＡＭのアクセス効率を示している。また、図１１Ｂには、データを一度に読み取る単位が６４ｂｙｔｅである場合の、スキュー角度に応じた必要メモリを示している。また、従来技術２の３つのグラフは、出力ブロックサイズ（例えば、図５におけるＮｘ／Ｎｙを示しており、図１１の従来技術２：８／８においては、８ｂｙｔｅ×８ｂｙｔｅの出力ブロックを示している）の違いによる結果を示している。
【００７４】
図１１に示すように、従来技術１では、スキュー角度が小さい場合、ＤＲＡＭアクセス効率が一番良いが、スキュー角度のわずかな増加によって、ＤＲＡＭアクセス効率が急激に低下するとともに（図１１Ａ）、メモリもほぼ一定の大きい値を必要としていた（図１１Ｂ）。また、従来技術２では、出力ブロックサイズが小さい場合（図１１Ｂの従来技術２：８／８、従来技術２：１６／１６）、必要メモリを小さく抑えることができるが、大容量低速メモリへのアクセス回数を多くする必要があるため、ＤＲＡＭアクセス効率もスキュー角度に関係なく低いという結果であった（図１１Ａ）。また、従来技術２では、出力ブロックサイズが大きい場合（図１１Ｂの従来技術２：３２／３２）、スキュー角度が大きい場合でも、ＤＲＡＭアクセス効率の減少を小さく抑えることができるが（図１１Ａ）、スキュー角度が小さい場合であっても大きなメモリサイズを必要とし、スキュー角度に比例してメモリサイズも必要となるという結果であった（図１１Ｂ）。一方、本方式では、スキュー角度に応じて（図１１のスキュー角度９度付近）入力バッファの使用方法を変更するため、ＤＲＡＭアクセス効率をある程度保持しながら（図１１Ａ）、必要とするメモリサイズを抑えることができる（図１１Ｂ）、画像処理装置を提供することができる。
【００７５】
［他の実施の形態］
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
【００７６】
例えば、画像処理装置１００がスタンドアローンの形態で処理を行う場合を一例に説明したが、画像処理装置１００とは別筐体で構成されるクライアント端末からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却するように構成してもよい。
【００７７】
また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【００７８】
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【００７９】
また、画像処理装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【００８０】
例えば、画像処理装置１００の各装置が備える処理機能、特に制御部１０２にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、後述する記録媒体に記録されており、必要に応じて画像処理装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤ等の記憶部１０６は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）として協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部１０２を構成する。
【００８１】
また、このコンピュータプログラムは、画像処理装置１００に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【００８２】
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納することもできる。ここで、この「記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ等の任意の「可搬用の物理媒体」、あるいは、ＬＡＮ、ＷＡＮ、インターネットに代表されるネットワークを介してプログラムを送信する場合の通信回線や搬送波のように、短期にプログラムを保持する「通信媒体」を含むものとする。
【００８３】
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【００８４】
記憶部１０６に格納される各種のデータベース等は、ＲＡＭ、ＳＳＤ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラムやテーブルやデータベースやウェブページ用ファイル等を格納する。
【００８５】
また、画像処理装置１００は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置を接続し、該情報処理装置に本発明の方法を実現させるソフトウェア（プログラム、データ等を含む）を実装することにより実現してもよい。
【００８６】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【産業上の利用可能性】
【００８７】
以上詳細に説明したように、本発明によれば、スキュー角度が大きくなっても、ＤＲＡＭへのアクセス効率の著しい低下をさせずに、必要メモリ容量の増加も抑制することができる画像処理装置、傾き補正方法、および、プログラムを提供することができ、特にスキャナで読み取った画像に関する画像処理分野で実施する場合に極めて有用である。
【符号の説明】
【００８８】
１００  画像処理装置
１０２  制御部
１０２ａ  回転角度取得部
１０２ｂ  方式切替制御部
１０２ｃ  回転処理部
１０２ｄ  画像圧縮部
１０２ｅ  書込み制御部
１０６  記憶部
１０６ａ  入力バッファ
１０６ｂ  出力バッファ
１０８  入出力制御インターフェース部
１１２  画像読取装置
【図１】
2010205143.tif 000003
【図２】
2010205143.tif 000004
【図３】
2010205143.tif 000005
【図４】
2010205143.tif 000006
【図５】
2010205143.tif 000007
【図６】
2010205143.tif 000008
【図７】
2010205143.tif 000009
【図８】
2010205143.tif 000010
【図９】
2010205143.tif 000011
【図１０】
2010205143.tif 000012
【図１１】
2010205143.tif 000013