(57)【要約】【課題】斜行補正に用いる記憶部の容量を抑制する技術を開示する。【解決手段】画像読取装置は、原稿の画像を読み取る際に斜行補正を実行し、ＣＰＵは、最小限格納ライン数を設定する。また、斜行補正回路のリードＤＭＡ処理部及びライトＤＭＡ処理部は、入力用ラインバッファに記憶された補正前画像を読み出して出力用ラインバッファに補正後画像を記憶する。演算処理部は、管理処理を実行し、出力用ラインバッファに１ラインの補正後画像が記憶されると（Ｓ４２：ＹＥＳ）、入力用ラインバッファ４Ａの一部の記憶領域を解放するか否かを判断する（Ｓ４４、４６）。そして、入力用格納ライン数から１を引いたライン数が最小限格納ライン数よりも大きい場合（Ｓ４４：ＹＥＳ）、リードＤＭＡ処理部及びライトＤＭＡ処理部により読み出された補正前画像が記憶されていた領域を入力用ラインバッファ４Ａから解放するように指示する。【選択図】図６
2015012467.tif 000002
【特許請求の範囲】
【請求項１】
画像読取部と、
前記画像読取部が主走査方向に読み取った読取画像を、前記主走査方向に沿った出力画像に斜行補正する制御部と、
記憶部と、
を備え、
前記記憶部は、前記読取画像が記憶される入力領域を含み、
前記制御部は、前記斜行補正において、
前記入力領域に記憶された前記読取画像から、前記斜行補正に必要な前記入力領域の容量である必要容量を設定する設定処理と、
前記入力領域に記憶された前記読取画像を読み出して前記出力画像として選出する読出処理と、
前記入力領域の容量が前記必要容量よりも大きい場合、前記記憶部に対して、前記読出処理において読み出された前記読取画像が記憶されていた領域を前記入力領域から解放するように指示する解放指示処理と、
を実行する画像読取装置。
【請求項２】
請求項１記載の画像読取装置であって、
前記記憶部は、前記出力画像が記憶される出力領域を更に備え、
前記制御部は、
更に、
前記記憶部に対して、前記解放指示処理において解放を指示した前記領域を、前記出力領域として割り当てるように指示する割当指示処理、
を実行する、画像読取装置。
【請求項３】
請求項１または請求項２に記載の画像読取装置であって、
前記読取画像は、画像読取部が原稿を読み取ったものであり、
前記必要容量は、前記原稿の少なくとも一辺を含む領域を読み取った読取画像を記憶可能な容量である、画像読取装置。
【請求項４】
前記請求項１から請求項３のいずれか一項に記載の画像読取装置であって、
前記画像読取部は、前記主走査方向への読み取りを前記主走査方向と直交する副走査方向に複数回繰り返して前記読取画像を読み取り、
前記制御部は、
前記解放指示処理において、前記主走査方向への１回の読み取りにより読み取られるライン読取画像毎に読み出されたか否かを確認し、前記ライン読取画像毎に、当該ライン読取画像が記憶されていた領域を前記入力領域から解放するように指示する、画像読取装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載の画像読取装置であって、
前記読取画像は、画像読取部が原稿を読み取ったものであり、
前記制御部は、
更に、
前記入力領域の初期容量を設定する初期設定処理、
を実行し、
前記初期容量は、前記必要容量、及び、１枚分の原稿を読み取った読取画像を記憶可能な容量から設定される、画像読取装置。
【請求項６】
請求項１から請求項４のいずれか一項に記載の画像読取装置であって、
前記制御部は、
前記入力領域の容量が前記必要容量と一致するまで、前記読出処理と前記解放指示処理を繰り返し、
前記解放指示処理により前記入力領域の容量が前記必要容量と等しいと判断された場合、前記入力領域をリングバッファとして使用する、画像読取装置。
【請求項７】
請求項６記載の画像読取装置であって、
前記制御部は、
前記画像読取部の読み取り中に前記斜行補正を開始し、
更に、
前記入力領域の初期容量を設定する初期設定処理、
を実行し、
前記初期容量は、前記必要容量、及び、前記制御部の処理速度と前記画像読取部とから決定される補助容量から設定される、画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
原稿を読み取った読取画像に対して斜行補正を行う技術に関する。
【背景技術】
【０００２】
従来から、スキャナ等で原稿を読み取った読取画像が基準方向に対して傾いている場合に、読取画像をブロック単位に分割し、ブロック単位で回転補正して、読取画像の斜行補正を行う装置が知られている。この装置では、読取画像の傾き角度に応じて、ブロック単位の読取画像を読み込む画像メモリを切り替える技術が開示されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２０５１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、読取画像を画像メモリなどの記憶部に読み込んで斜行補正を行う装置では、記憶部に記憶される読取画像の容量の増大が問題となることがあった。例えば、原稿の読み取り中に読取画像の斜行補正を行う場合、斜行補正後の出力画像を構成するのに必要な所定量の読取画像が記憶部に記憶されるまで、斜行補正を開始することができない。さらに、当該所定量の読取画像が記憶された場合であっても、当該所定量の読取画像を用いて読取画像の傾き角度を算出するまでは、斜行補正を開始することができない。その結果、斜行補正の開始時において記憶部に記憶される読取画像の容量が増大してしまい、これに応じて斜行補正を行う場合において斜行補正のために割り振られる容量が増大してしまうと、他の処理を行う為に割り振ることができる容量を確保するために、記憶部の容量を増大させなければならない問題が生じていた。
【０００５】
本明細書では、斜行補正に用いる記憶部の容量を抑制する技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される画像読取装置は、画像読取部と、前記画像読取部が主走査方向に読み取った読取画像を、前記主走査方向に沿った出力画像に斜行補正する制御部と、記憶部と、を備え、前記記憶部は、前記読取画像が記憶される入力領域を含み、前記制御部は、前記斜行補正において、前記入力領域に記憶された前記読取画像から、前記斜行補正に必要な前記入力領域の容量である必要容量を設定する設定処理と、前記入力領域に記憶された前記読取画像を読み出して前記出力画像として選出する読出処理と、前記入力領域の容量が前記必要容量よりも大きい場合、前記記憶部に対して、前記読出処理において読み出された前記読取画像が記憶されていた領域を前記入力領域から解放するように指示する解放指示処理と、を実行する構成を備える。
【０００７】
この画像読取装置では、読取画像を斜行補正する際に、読取画像が記憶された入力領域の容量を必要容量と比較する。そして、入力領域の容量が必要容量よりも大きい場合には、入力領域のうち、斜行補正が終了した、つまり、読取画像を読み出した領域を、入力領域から解放するように記憶部に指示する。これによって、例え斜行補正の開始時において一時的に入力領域のために割り振られる容量が増大した場合でも、その後、入力領域の一部を解放することで、入力領域の容量を減少させることができるとともに、解放された領域を他の処理を行う為に割り振ることができ、記憶部の容量が増大してしまうのを抑制することができる。
【０００８】
上記画像読取装置では、前記記憶部は、前記出力画像が記憶される出力領域を更に備え、前記制御部は、更に、前記記憶部に対して、前記解放指示処理において解放を指示した前記領域を、前記出力領域として割り当てるように指示する割当指示処理、を実行する構成としても良い。
【０００９】
読取画像から出力画像への斜行補正が進むにつれて、出力領域に必要とされる容量は増大する。この画像読取装置では、記憶部のうち、入力領域から解放された領域を出力領域として割り当てるので、出力領域の容量の増大を入力容量の容量の減少で補うことができ、入力領域と出力領域とを合計した容量を、斜行補正の間において略一定とすることができる。
【００１０】
上記画像読取装置では、前記読取画像は、画像読取部が原稿を読み取ったものであり、前記必要容量は、前記原稿の少なくとも一辺を含む領域を読み取った読取画像を記憶可能な容量である構成としても良い。
【００１１】
入力領域に原稿の少なくとも一辺を含む領域の読取画像が記憶されれば、当該一辺の出力画像を選出することができる。そして、当該入力領域に記憶される読取画像を更新することで、当該一辺に平行な出力画像を順次選出することができ、この結果、読取画像の全域を出力画像として選出することができる。この画像読取装置によれば、入力領域の容量を抑制して、読取画像を出力画像に斜行補正することができる。
【００１２】
上記画像読取装置では、前記画像読取部は、前記主走査方向への読み取りを前記主走査方向と直交する副走査方向に複数回繰り返して前記読取画像を読み取り、前記制御部は、前記解放指示処理において、前記主走査方向への１回の読み取りにより読み取られるライン読取画像毎に読み出されたか否かを確認し、前記ライン読取画像毎に、当該ライン読取画像が記憶されていた領域を前記入力領域から解放するように指示する構成としても良い。
【００１３】
この画像読取装置によれば、画像読取部が読み取りを行う単位であるライン読取画像毎に、入力領域の一部の領域を解放することができる。
【００１４】
上記画像読取装置では、前記読取画像は、画像読取部が原稿を読み取ったものであり、前記制御部は、更に、前記入力領域の初期容量を設定する初期設定処理、を実行し、前記初期容量は、前記必要容量、及び、１枚分の原稿を読み取った読取画像を記憶可能な容量から設定される構成としても良い。
【００１５】
この画像読取装置では、斜行補正の開始時において、入力領域の容量を、１枚分の原稿を読み取った読取画像が記憶可能な程度に広く設定しておくので、読取画像が入力領域の容量を超えて記憶できない問題が生じることはない。その上で、この画像読取装置では、読取画像を斜行補正する際に、入力領域の一部の領域を解放するように指示するので、記憶部の容量が増大してしまうのを抑制することができる。
【００１６】
上記画像読取装置では、前記制御部は、前記入力領域の容量が前記必要容量と一致するまで、前記読出処理と前記解放指示処理を繰り返し、前記解放指示処理により前記入力領域の容量が前記必要容量と等しいと判断された場合、前記入力領域をリングバッファとして使用する構成としても良い。
【００１７】
この画像読取装置では、解放指示処理を繰り返し実行した結果、入力領域の容量が必要容量と等しくなった場合に、入力領域をリングバッファとして使用することで、必要な記憶部の容量を削減しつつ、読取画像を出力画像に斜行補正することができる。
【００１８】
上記画像読取装置では、前記制御部は、前記画像読取部の読み取り中に前記斜行補正を開始し、更に、前記入力領域の初期容量を設定する初期設定処理、を実行し、前記初期容量は、前記必要容量、及び、前記制御部の処理速度と前記画像読取部とから決定される補助容量から設定される構成としても良い。
【００１９】
この画像読取装置では、斜行補正の処理時間の短縮のため、画像読取部の読み取り中に斜行補正を開始し、制御部は、斜行補正の開始時に、入力領域の初期容量を設定する。斜行補正中の設定処理により必要容量が設定された場合、初期容量は必要容量と同一の容量に設定してもよいように思える。しかし、斜行補正の開始時では、例えば読取画像の読み出しを開始する際に、初期設定をしなければならない等、制御部の処理速度が低下することがある。その結果、画像読取部が読み取った読取画像の容量が必要容量を超える事象が生じることがあり、この場合、斜行補正中に画像読取部の読み取りを中断しなければならず、斜行補正の処理時間を短縮することができないことがあった。
【００２０】
この画像読取装置では、必要容量に加えて、制御部の算出速度、及び、画像読取部の読取速度から設定される補助容量を加えておく。そのため、斜行補正の開始時において、斜行補正中に画像読取部の読み取りを中断しなければならない事象の発生を抑制することができ、斜行補正の処理時間を短縮することができる。また、補助容量は、斜行補正において解放されることから、補助容量を用いて初期容量を設定しても、記憶部の容量が増大してしまうのを抑制することができる。
【発明の効果】
【００２１】
本明細書によって開示される画像読取装置では、斜行補正に用いる記憶部の容量を抑制することができる。
【図面の簡単な説明】
【００２２】
【図１】画像読取装置の構成を示すブロック図
【図２】斜行補正部の構成を示すブロック図
【図３】補正後座標系、補正前画像および補正後画像の関係を示す説明図
【図４】読取制御処理を示すフローチャート
【図５】読取画像における補正前画像を示す説明図
【図６】実施形態１における管理処理を示すフローチャート
【図７】実施形態１における入力用バッファにおける補正前画像、出力用バッファにおける補正後画像、及び、斜光補正の実行状態の関係を示す説明図
【図８】実施形態１における入力用バッファにおける補正前画像、出力用バッファにおける補正後画像、及び、斜光補正の実行状態の関係を示す説明図
【図９】実施形態２における管理処理を示すフローチャート
【図１０】実施形態２における入力用バッファにおける補正前画像、出力用バッファにおける補正後画像、及び、斜光補正の実行状態の関係を示す説明図
【図１１】実施形態２における入力用バッファにおける補正前画像、出力用バッファにおける補正後画像、及び、斜光補正の実行状態の関係を示す説明図
【発明を実施するための形態】
【００２３】
＜実施形態１＞
実施形態１を、図１から図８を用いて説明する。
【００２４】
１．画像読取装置の構成
画像読取装置１は、図示しない原稿を読み取り、取得された読取画像に含まれる原稿画像を、基準方向に沿った原稿画像に補正する斜行補正を行う機能を有する。以下、斜行補正を行う前の原稿画像を、補正前画像Ｇｉと称し、斜行補正を行った後の原稿画像を、補正後画像Ｇｏと称す。補正前画像Ｇｉは、読取画像の一例であり、補正後画像Ｇｏは、出力画像の一例である。なお、基準方向は、任意の方向を設定することができ、例えば原稿シートの読取方向である主走査方向に設定することができる。
【００２５】
図１に示すように、画像読取装置１は、画像読取装置１の各部を制御するＡＳＩＣ（特定用途向け集積回路）２、及び、ＡＳＩＣ２の外部に設けられたＲＯＭ３、ＤＲＡＭ４、搬送部６、駆動回路７、読取部８、デバイス制御部９、アナログフロントエンド（以下、ＡＦＥ）１０等を含む。ＤＲＡＭ４は、記憶部の一例であり、読取部８は、画像読取部の一例である。また、図１に点線５で示すように、ＡＳＩＣ２と、ＲＯＭ３と、ＤＲＡＭ４とを含めたものが、制御部の一例である。
【００２６】
ＡＳＩＣ２は、中央処理装置（以下、ＣＰＵ）１３を含む他、読取補正回路１４、斜行補正回路１５等の専用のハード回路を含む。ＲＯＭ３には、画像読取装置１の動作を制御するための各種の制御プログラムが記憶されており、ＣＰＵ１３は、ＲＯＭ３から読み出したプログラムに従って各部の制御を行うとともに、ハード回路を用いて後述する画像読取処理等の処理を実行する。
【００２７】
駆動回路７は、搬送部６に接続されており、ＣＰＵ１３からの命令に基づいて図示しないモータを駆動する。搬送部６は、図示しないローラを含み、上記モータにより当該ローラが回転駆動されると、原稿を搬送する。
【００２８】
デバイス制御部９は、読取部８に接続されており、ＣＰＵ１３からの命令に基づいて読取制御信号を読取部８に送信する。読取部８は、デバイス制御部９からの読取制御信号に基づいて、搬送部６により搬送される原稿を読み取る。
【００２９】
読取部８には、図示されない複数の受光素子が一列に配置されており、読取部８は、１回の読み取りで、当該受光素子に沿った主走査方向に１ライン読み取り、ライン読取画像ＬＢ（図５参照）を取得する。読取部８は、原稿を読み取る際に、搬送部６により主走査方向と直交する方向に搬送される原稿を、複数回に亘って繰り返し読み取り、主走査方向と直交する副走査方向に複数のライン読取画像ＬＢが集まって構成される読取画像Ｂ（図５参照）を取得する。
【００３０】
ＡＦＥ１０は、読取部８に接続されており、読取部８が取得した読取画像ＢをＡＤ変換し、ＡＳＩＣ２に送信する。読取補正回路１４は、ＡＤ変換された読取画像Ｂに対して、各ライン読取画像ＬＢ毎にシェーディング補正を実行し、シェーディング補正した読取画像ＢをＤＲＡＭ４に記憶する。読取補正回路１４は、各ライン読取画像ＬＢをＤＲＡＭ４に記憶する毎に、ＣＰＵ１３に対して割り込み信号を送信する。
【００３１】
図２に示すように、ＤＲＡＭ４には、上記補正前画像Ｇｉを含む読取画像Ｂが記憶される入力用ラインバッファ４Ａと、上記補正後画像Ｇｏが記憶される出力用ラインバッファ４Ｂとが確保されている。読取補正回路１４は、シェーディング補正した読取画像Ｂを、入力用ラインバッファ４Ａに記憶する。斜行補正回路１５は、入力用ラインバッファ４Ａに記憶された読取画像Ｂに対して斜行補正を行い、補正後画像Ｇｏを出力用ラインバッファ４Ｂに記憶する。入力用ラインバッファ４Ａは、入力領域の一例であり、出力用ラインバッファ４Ｂは、出力領域の一例である。
【００３２】
また、画像読取装置１には、この他に、ＬＥＤや液晶ディスプレイからなり画像読取装置１の状況を表示する表示部１１や、各種設定ボタンからなり、使用者からの各種命令を受け付ける操作部１２が設けられている。
【００３３】
２．斜行補正回路の構成
次に、斜行補正回路１５の構成について説明する。図２に示すように、斜行補正回路１５は、ステートマシン２１、演算処理部２２、リードＤＭＡ処理部２５、及び、ライトＤＭＡ処理部２６を含む。
【００３４】
ステートマシン２１は、図３の左図に示すように、補正後画像Ｇｏの各画素を配置すべき補正後座標系の補正後座標（Ｘｏ，Ｙｏ）を指定する。ステートマシン２１は、図３に矢印Ｚ１に示すように、補正後画像Ｇｏに含まれる各画素の補正後座標を、Ｘ座標が増加する方向に順々に指定する１ラインの指定を実行する。ステートマシン２１は、更に、図３に矢印Ｚ２に示すように、Ｙ座標が増加する方向に１ラインの指定を繰り返し、補正後画像Ｇｏに含まれる各画素の補正後座標を順々に指定する。ステートマシン２１は、指定された補正後座標を演算処理部２２に送信する。ステートマシン２１は、補正後画像Ｇｏに含まれる各画素の補正後座標の指定が終了すると、ＣＰＵ１３に対して割り込み信号を送信する。
【００３５】
演算処理部２２は、ステートマシン２１から補正後座標を受け取ると、主走査方向に対する補正前画像Ｇｉの傾き角度θを用いて、当該補正後座標に対応する補正前座標（Ｘｉ，Ｙｉ）を演算する。演算の方法については、後述して詳細に説明する。演算処理部２２は、補正前座標を演算すると、補正後座標と補正前座標とを関連付けてリードＤＭＡ処理部２５に送信する。
【００３６】
リードＤＭＡ処理部２５は、演算処理部２２から補正後座標と補正前座標とを受け取ると、ＤＲＡＭ４の入力用ラインバッファ４Ａに補正前座標を送信する。そして、図３の中図に示すように、当該入力用ラインバッファ４Ａから補正前画像Ｇｉの補正前座標における画素データを読み出す（矢印Ｚ３参照）。リードＤＭＡ処理部２５は、読み出した画素データを、補正後座標に関連付けてライトＤＭＡ処理部２６に送信する。
【００３７】
ライトＤＭＡ処理部２６は、リードＤＭＡ処理部２５から画素データを受け取ると、図３の右図に示すように、その画素データを、当該画素データに関連付けて送信された補正後座標の画素データとして、ＤＲＡＭ４の出力用ラインバッファ４Ｂに記憶する（矢印Ｚ４参照）。出力用ラインバッファ４Ｂには、ステートマシン２１が補正後画像Ｇｏに含まれる各画素の補正後座標を指定することで、各補正後座標における画素データが記憶され、この結果、出力用ラインバッファ４Ｂに補正後画像Ｇｏが記憶される。
【００３８】
上述したように、斜行補正回路１５では、補正前画像Ｇｉにおいて補正前座標に関連付けられて記憶されていた画素データが、補正後画像Ｇｏにおいて補正後座標に関連付けられることで、補正前画像Ｇｉが補正後画像Ｇｏへと変換される。この際、斜行補正回路１５において、補正前座標が、主走査方向に対する補正前画像Ｇｉの傾き角度θを用いて演算されるので、主走査方向に対する補正前画像Ｇｉの傾きが抑制されるように変換され、この結果、補正前画像Ｇｉが補正後画像Ｇｏへと斜行補正される。
【００３９】
また、演算処理部２２は、サイズ管理部２３を有しており、ＤＲＡＭ４の入力用ラインバッファ４Ａ及び出力用ラインバッファ４Ｂの容量を管理するための管理処理を実行する。管理処理は、補正前画像Ｇｉから補正後画像Ｇｏへの斜行補正において実行され、その詳細については、後述して詳細に説明する。
【００４０】
３．画像読取処理
次に、図４から図８を参照して、画像読取処理について説明する。画像読取処理には、取得された読取画像Ｂに含まれる補正前画像Ｇｉを補正後画像Ｇｏに斜行補正する処理が含まれる。画像読取処理は、斜行補正の一例である。ＣＰＵ１３は、操作部１２を介して使用者から原稿の読取指示が入力されると、画像読取処理を実行する。
【００４１】
図４に示すように、ＣＰＵ１３は、まず、搬送部６に対して原稿の搬送を指示し、原稿の搬送を開始させる（Ｓ２）。続いて、ＣＰＵ１３は、読取部８に対して原稿の読み取りを指示する（Ｓ４）。これにより、読取部８は、原稿を含む所定の読取範囲に対して、主走査方向への１ライン読み取りを開始する。
【００４２】
ＣＰＵ１３は、ＤＲＡＭ４の入力用ラインバッファ４Ａに記憶されたライン読取画像ＬＢの数を示すライン数Ｎを初期化し（Ｓ６）、読取補正回路１４から割り込み信号が送信されるのを待機する。そして、ＤＲＡＭ４の入力用ラインバッファ４Ａにライン読取画像ＬＢが記憶され、読取補正回路１４から割り込み信号が受信されると（Ｓ８）、ＣＰＵ１３は、ライン数Ｎを１増加させ（Ｓ１０）、当該ライン数ＮをＲＯＭ３に記憶された初期格納ライン数ＳＮと比較する（Ｓ１２）。
【００４３】
ここで、初期格納ライン数ＳＮとは、主走査方向に対する補正前画像Ｇｉの傾き角度θを検出するのに必要なライン読取画像ＬＢの数を意味し、具体的には、図５に示すように、補正前画像Ｇｉの外周の４辺の線画像Ｌ１〜Ｌ４のうち、線画像Ｌ３の全域が含まれるのに必要なライン読取画像ＬＢの数を意味する。
【００４４】
読取部８には、画像を読取可能な原稿の最大サイズが予め設定されており、当該最大サイズの原稿が主走査方向に対して傾いた場合でも、搬送部６を用いて搬送可能な最大傾き角度θｍａｘが予め設定されている。初期格納ライン数ＳＮは、最大サイズの原稿が最大傾き角度θｍａｘ傾いた場合に、少なくとも１つの線画像Ｌの全域が含まれるのに必要なライン読取画像ＬＢの数を意味する。
【００４５】
ＣＰＵ１３は、ライン数Ｎが初期格納ライン数ＳＮよりも小さい場合（Ｓ１２：ＹＥＳ）、入力用ラインバッファ４Ａに記憶された読取画像Ｂからでは、傾き角度θを検出することができない虞があることから、Ｓ８からの処理を繰り返す。一方、ライン数Ｎが初期格納ライン数ＳＮ以上である場合（Ｓ１２：ＮＯ）、ＣＰＵ１３は、入力用ラインバッファ４Ａに記憶された読取画像Ｂから、主走査方向に対する補正前画像Ｇｉの傾き角度θを検出する傾き検出処理を実行する（Ｓ１４）。
【００４６】
図５には、補正前画像Ｇｉを含んだ読取画像Ｂの全域の画像が示されており、ＣＰＵ１３が傾き検出処理を実行する際、入力用ラインバッファ４Ａには、境界線ＬＬよりも下側に記載された初期格納ライン数ＳＮのライン読取画像ＬＢが記憶されている。つまり、入力用ラインバッファ４Ａには、補正前画像Ｇｉの外周の４辺の線画像Ｌ１〜Ｌ４のうち、線画像Ｌ３の全域を含む読取画像Ｂが記憶されている。なお、読取画像Ｂでは、補正前画像Ｇｉが、主走査方向に対して傾き角度θだけ傾いている。また、読取画像Ｂでは、補正前画像Ｇｉの左下の角Ｐ１が、補正前座標系（Ｘｉ，Ｙｉ）の原点（０，０）からＸ方向にｘｐｍだけ、Ｙ方向にｙｐｍだけずれた位置にある。
【００４７】
ＣＰＵ１３は、傾き検出処理を実行する際に、種々の公知技術により、入力用ラインバッファ４Ａに記憶された読取画像Ｂから線画像Ｌ３を抽出し、その抽出結果から、補正前画像Ｇｉのｘｐｍ、ｙｐｍ、傾き角度θ、及び、原稿サイズを求める。具体的には、ＣＰＵ１３は、抽出した線画像Ｌ３の右端の座標から、ｘｐｍ及びｙｐｍを検出する。また、抽出した線画像Ｌ３に沿った方向と主走査方向との角度を、傾き角度θとして検出する。
【００４８】
更に、抽出した線画像Ｌ３の長さＸｍａｘを検出し、ＲＯＭ３に記憶されたＡ４、Ｂ５などの規格化された原稿サイズと比較する。ＣＰＵ１３は、長さＸｍａｘと当該規格化された原稿サイズとの比較結果から、線画像Ｌ４の長さＹｍａｘを推定し、原稿サイズを推定する。
【００４９】
次に、ＣＰＵ１３は、求められた傾き角度θ及び原稿サイズから、線画像Ｌ３の全域が記憶されるのに必要なライン読取画像ＬＢの数である最小限格納ライン数ＭＮを設定する設定処理を実行する（Ｓ１６）。つまり、最小限格納ライン数ＭＮとは、線画像Ｌ３に相当する原稿の外周辺側の端部領域を読み取った端部画像ＲＢ（図５斜線部参照）が記憶されるのに必要なライン読取画像ＬＢの数である。詳細には、線画像Ｌ３の長さＸｍａｘの傾き角度θにおける正弦値と、ライン読取画像ＬＢの副走査方向の幅との比に基づいて設定する。そのため、最小限格納ライン数ＭＮは、通常、初期格納ライン数ＳＮよりも小さい値となる。最小限格納ライン数ＭＮは、必要容量の一例である。
【００５０】
また、ＣＰＵ１３は、求められた原稿サイズから、補正後画像Ｇｏの全域が記憶されるのに必要なライン読取画像ＬＢの数である全域格納ライン数ＡＮを設定する（Ｓ１８）。具体的には、線画像Ｌ４の長さＹｍａｘとライン読取画像ＬＢの副走査方向の幅との比に基づいて全域格納ライン数ＡＮを設定する。全域格納ライン数ＡＮは、１枚分の原稿を読み取った読取画像Ｂを記憶可能な容量の一例である。
【００５１】
ＣＰＵ１３は、上記の値が設定されると、傾き検出処理により求められた傾き角度θ、ｘｐｍ、ｙｐｍ、原稿サイズ（Ｘｍａｘ、Ｙｍａｘ）、及び、最小限格納ライン数ＭＮ、全域格納ライン数ＡＮを斜行補正回路１５に送信し、斜行補正回路１５に対して斜行補正を指示する（Ｓ２０）。
【００５２】
ＣＰＵ１３は、斜行補正を指示した後、図示しない各種センサを用いて読取部８により読み取られる原稿の有無を検出する（Ｓ２２：ＮＯ）。ＣＰＵ１３は、読取部８により読み取られる原稿が無くなると（Ｓ２２：ＹＥＳ）、読取部８に対して原稿の読取停止を指示する（Ｓ２４）とともに、搬送部６に対して原稿の搬送停止を指示する（Ｓ２６）。そして、ＣＰＵ１３は、斜行補正回路１５から割り込み信号が送信されるのを待機し（Ｓ２８：ＮＯ）、斜行補正回路１５から割り込み信号を受信すると（Ｓ２８：ＹＥＳ）、画像読取処理を終了する。
【００５３】
（管理処理）
斜行補正回路１５は、ＣＰＵ１３からの指示に従って斜行補正を実行し、斜行補正回路１５に含まれる各部が上記の各処理を実行する。斜行補正は、ＣＰＵ１３の画像読取処理中に実行され、更には、読取部８による原稿の読み取り中に実行される。そして、斜行補正回路１５に含まれる演算処理部２２は、斜行補正において管理処理を実行する。
【００５４】
図６に示すように、演算処理部２２は、ＣＰＵ１３から斜行補正の指示が入力されるのを待機する（Ｓ３２：ＮＯ）。ＣＰＵ１３は、入力用ラインバッファ４Ａに初期格納ライン数ＳＮのライン読取画像ＬＢが記憶されるまでは、傾き角度θ、原稿サイズ等の値を求めず、演算処理部２２に対して斜行補正の指示を送信しない。この間、図７の左図に示すように、斜行補正回路１５は、斜行補正を行っていないオフ状態であり、出力用ラインバッファ４Ｂには、補正後画像Ｇｏが記憶されない。図７、８において、斜線を付した入力用ラインバッファ４Ａ及び出力用ラインバッファ４Ｂの領域は、画像が記憶されていない領域を示すものとする。
【００５５】
図７の中図に示すように、入力用ラインバッファ４Ａに最小限格納ライン数ＭＮのライン読取画像ＬＢが記憶されると、補正前画像Ｇｉのうち、線画像Ｌ３の全域が入力用ラインバッファ４Ａに記憶される。しかし、最小限格納ライン数ＭＮは、初期格納ライン数ＳＮよりも小さい値であるため、この場合でも、斜行補正回路１５はオフ状態に維持され、出力用ラインバッファ４Ｂには補正後画像Ｇｏが記憶されない。
【００５６】
そして、図７の右図に示すように、入力用ラインバッファ４Ａに初期格納ライン数ＳＮのライン読取画像ＬＢが記憶されると、ＣＰＵ１３は、演算処理部２２に対して斜行補正の指示を送信し、演算処理部２２に最小限格納ライン数ＭＮ、全域格納ライン数ＡＮ等の値を送信する。これにより、斜行補正回路１５は、斜行補正を行っているオン状態に切り替わる。演算処理部２２は、ＣＰＵ１３からこれらの値が入力されると（Ｓ３２：ＹＥＳ）、入力用ラインバッファ４Ａに記憶可能なライン読取画像ＬＢの数を示す入力用格納ライン数ＮＮの初期値、及び、出力用ラインバッファ４Ｂに記憶可能なライン読取画像ＬＢの数を示す出力用格納ライン数ＴＮの初期値を設定する初期設定処理を実行する（Ｓ３４）。
【００５７】
演算処理部２２は、ＤＲＡＭ４の記憶領域のうち、既にライン読取画像ＬＢが記憶されている領域を含めて、入力用格納ライン数ＮＮ分の記憶領域を確保し、当該記憶領域を入力用ラインバッファ４Ａとして使用し、他の用途では使用しないように割り当てる。また、演算処理部２２は、ＤＲＡＭ４の記憶領域のうち、出力用格納ライン数ＴＮ分の記憶領域を確保し、当該記憶領域を出力用ラインバッファ４Ｂとして使用し、他の用途では使用しないように割り当てる。
【００５８】
本実施形態では、出力用格納ライン数ＴＮの初期値を１に設定するとともに、入力用格納ライン数ＮＮの初期値と出力用格納ライン数ＴＮの初期値の合計値が、最小限格納ライン数ＭＮと全域格納ライン数ＡＮとを加算したライン数となるように設定する。
【００５９】
次に、演算処理部２２は、ステートマシン２１から補正後座標が入力されるのを待機し（Ｓ３６：ＮＯ）、補正後座標が入力されると（Ｓ３６：ＹＥＳ）、補正前座標を演算する（Ｓ３８）。具体的には、補正後座標を傾き角度θだけ回転させ、更に、Ｘ方向にｘｐｍだけ、Ｙ方向にｙｐｍだけずらして補正前座標を演算する。補正前座標（Ｘｉ，Ｙｉ）は、補正後座標（Ｘｏ，Ｙｏ）、傾き角度θ、ｘｐｍ、ｙｐｍを用いて、以下のように表される。
Ｘｉ＝ｃｏｓθ＊Ｘｏ−ｓｉｎθ＊Ｙｏ＋ｘｐｍ
Ｙｉ＝ｓｉｎθ＊Ｘｏ＋ｃｏｓθ＊Ｙｏ＋ｙｐｍ
【００６０】
演算処理部２２は、補正前座標を演算すると、補正後座標と補正前座標とを関連付けてリードＤＭＡ処理部２５に送信する（Ｓ４０）。これにより、リードＤＭＡ処理部２５及びライトＤＭＡ処理部は、入力用ラインバッファ４Ａに記憶された補正前画像Ｇｉから、補正前座標における画素データを読み出し、補正後画像Ｇｏの補正後座標における画像データとして出力用ラインバッファ４Ｂに記憶する読出処理を実行する。
【００６１】
演算処理部２２は、図３に矢印Ｚ１に示すように、ステートマシン２１の１ラインの指定に伴って１ラインの補正後画像Ｇｏが記憶されるまで（Ｓ４２：ＮＯ）、Ｓ３６からの処理を繰り返す。そして、図７の右下図に示すように、１ラインの補正後画像Ｇｏが記憶されると、入力用ラインバッファ４Ａの一部の記憶領域を解放するか否かを判断する判断処理（Ｓ４４、Ｓ４６）を実行する。
【００６２】
判断処理において、演算処理部２２は、入力用格納ライン数ＮＮと最小限格納ライン数ＭＮとを比較し、入力用格納ライン数ＮＮから１を引いたライン数が最小限格納ライン数ＭＮよりも大きいか否かを確認する（Ｓ４４）。演算処理部２２は、入力用格納ライン数ＮＮから１を引いたライン数が最小限格納ライン数ＭＮよりも大きい場合（Ｓ４４：ＹＥＳ）、更に、入力用ラインバッファ４Ａに記憶される各ライン読取画像ＬＢ毎に、当該ライン読取画像ＬＢが不要か否かを判断する（Ｓ４６）。
【００６３】
ライン読取画像ＬＢの要不要の判断において、演算処理部２２は、入力用ラインバッファ４Ａに記憶される各ライン読取画像ＬＢ毎に、当該ライン読取画像ＬＢに含まれる補正後画像Ｇｏの範囲を抽出する。そして、演算処理部２２は、各ライン読取画像ＬＢに抽出した範囲が存在する場合には、更に、抽出した範囲内の補正後画像Ｇｏの全てが読み出されたか否かを確認する。
【００６４】
演算処理部２２は、各ライン読取画像ＬＢにおいて、抽出した範囲内に読み出されていない補正後画像Ｇｏが含まれている場合には（Ｓ４６：ＮＯ）、当該ライン読取画像ＬＢが必要と判断し、Ｓ３６からの処理を繰り返す。一方、抽出した範囲が存在しない場合、或いは、抽出した範囲内の補正後画像Ｇｏの全てが読み出された場合（Ｓ４６：ＹＥＳ）、当該ライン読取画像ＬＢは、以後の処理において読み出されることがないことから、当該ライン読取画像ＬＢが不要と判断する。
【００６５】
この場合、演算処理部２２は、図７の右上図に黒色で示すように、不要と判断されたライン読取画像ＬＢが記憶されていた記憶領域を入力用ラインバッファ４Ａから解放するようにＤＲＡＭに指示する解放指示処理を実行する（Ｓ４８）。
【００６６】
更に、演算処理部２２は、図７の右下図に中下図と比較して示すように、入力用ラインバッファ４Ａから解放したＤＲＡＭ４の記憶領域を、出力用ラインバッファ４Ｂとして割り当てるようにＤＲＡＭに指示する割当指示処理を実行する（Ｓ５０）。これにより、入力用格納ライン数ＮＮは１だけ減少し、出力用格納ライン数ＴＮは１だけ増加する（Ｓ５２）。演算処理部２２は、割当指示処理を実行すると、Ｓ３６からの処理を繰り返す。
【００６７】
演算処理部２２は、入力用格納ライン数ＮＮから１を引いたライン数が最小限格納ライン数ＭＮよりも大きい間（Ｓ４４：ＹＥＳ）、Ｓ３６からＳ５２までの処理を繰り返し、読出処理と判断処理と解放指示処理と割当指示処理とを繰り返す。これにより、図８の左図に示すように、入力用ラインバッファ４Ａから補正前画像Ｇｉが読み出されるのに従って、入力用ラインバッファ４Ａが減少し、出力用ラインバッファ４Ｂに補正後画像Ｇｏが記憶されるのに従って、出力用ラインバッファ４Ｂが増加する。
【００６８】
そして、図９の中図に示すように、入力用格納ライン数ＮＮから１を引いたライン数が最小限格納ライン数ＭＮ以下となると（Ｓ４４：ＮＯ）、演算処理部２２は、Ｓ３６からＳ５２の処理のうち、Ｓ３６からＳ４４までの処理を繰り返し、Ｓ４６からＳ５２までの処理を繰り返さない。演算処理部２２は、入力用ラインバッファ４Ａ及び出力用ラインバッファ４Ｂの記憶容量を変化させることなく、図９の中下図に斜線を付して示す出力用ラインバッファ４Ｂの画像が記憶されていない領域への補正後画像Ｇｏの記憶を繰り返す。
【００６９】
そして、図９の右図に示すように、出力用ラインバッファ４Ｂへの補正後画像Ｇｏの記憶が終了し、斜行補正が完了すると、ステートマシン２１からＣＰＵ１３に割り込み信号が入力され、演算処理部２２における管理処理を含む、斜行補正回路１５の斜行補正を終了する。
【００７０】
４．本実施形態の効果
（１）本実施形態の画像読取装置１では、斜行補正中に、入力用ラインバッファ４Ａに記憶されたライン読取画像ＬＢの要不要を判断する。そして、不要と判断される、つまり、以後の処理において読み出されることがないと判断されるライン読取画像ＬＢに対しては、当該ライン読取画像ＬＢが記憶されていた記憶領域を入力用ラインバッファ４Ａから解放するようにＤＲＡＭ４に指示する。
【００７１】
従来技術の画像読取装置では、斜行補正中に、入力用ラインバッファ４Ａの記憶領域が解放されることが無かった。そのため、例えば、入力用格納ライン数ＮＮの初期値が全域格納ライン数ＡＮと略等しく設定されるなど、斜行補正の開始時において入力用ラインバッファ４Ａの記憶領域として比較的大きい領域が確保される場合に問題が生じていた。すなわち、従来技術の画像読取装置では、上記の場合に、斜行補正を通して入力用ラインバッファ４Ａ以外の用途に使用できるＤＲＡＭ４の記憶容量が減少し、ＤＲＡＭ４の容量を増大させる必要がある問題が生じていた。
【００７２】
これに対して、本実施形態の画像読取装置１では、斜行補正の開始時において入力用ラインバッファ４Ａの記憶領域として比較的大きい領域が確保された場合でも、その後、入力用ラインバッファ４Ａの一部の記憶領域が解放される。そのため、斜行補正の開始時に入力用ラインバッファ４Ａ以外の用途に使用できるＤＲＡＭ４の記憶容量が減少していても、その後、当該記憶容量を増大させることができ、ＤＲＡＭ４の容量が増大してしまうのを抑制することができる。
【００７３】
（２）本実施形態の画像読取装置１では、入力用ラインバッファ４Ａから解放される記憶領域を、出力用ラインバッファ４Ｂとして割り当てる。ＤＲＡＭ４では、補正前画像Ｇｉから補正後画像Ｇｏへの斜行補正が進むにつれて、入力用ラインバッファ４Ａとして必要とされる入力用格納ライン数ＮＮが減少する一方、出力用ラインバッファ４Ｂに必要とされる出力用格納ライン数ＴＮが増大する。この画像読取装置１では、出力用ラインバッファ４Ｂに必要とされる出力用格納ライン数ＴＮの増大を、入力用ラインバッファ４Ａに必要とされる入力用格納ライン数ＮＮの減少により補う。つまり、斜行補正を通して入力用格納ライン数ＮＮと出力用格納ライン数ＴＮとの合計のライン数を一定とすることができる。従って、斜行補正の開始時などに、一時的に入力用ラインバッファ４Ａと出力用ラインバッファ４Ｂ以外の用途に使用できるＤＲＡＭ４の記憶容量が減少してしまうことが無く、ＤＲＡＭ４の容量が増大してしまうのを抑制することができる。
【００７４】
（３）本実施形態の画像読取装置１では、入力用ラインバッファ４Ａの一部の記憶領域を解放するか否かを判断する際に、入力用格納ライン数ＮＮと最小限格納ライン数ＭＮとを比較する。入力用格納ライン数ＮＮとして最小限格納ライン数ＭＮ以上のライン数が確保されていれば、入力用ラインバッファ４Ａから１ラインの補正後画像Ｇｏに対応する補正前画像Ｇｉの画素データを読み出すことができ、入力用ラインバッファ４Ａの記憶領域の不足により、斜行補正が途中で中断してしまうことを抑制することができる。
【００７５】
（４）本実施形態の画像読取装置１では、入力用ラインバッファ４Ａの一部の記憶領域を解放するか否かを判断する際に、入力用ラインバッファ４Ａに記憶された各ライン読取画像ＬＢ毎に要不要を判断する。そして、不要と判断される場合には、各ライン読取画像ＬＢ毎に、当該各ライン読取画像ＬＢが記憶されていた記憶領域を入力用ラインバッファ４Ａから解放する。読取部８が読み取りを行うライン読取画像ＬＢ単位で解放を行うことで、入力用ラインバッファ４Ａへの記憶と解放を、同じライン読取画像ＬＢ単位で行うことができる。
【００７６】
（５）本実施形態の画像読取装置１では、読取部８による原稿の読み取り中に斜行補正が実行される。この画像読取装置１では、入力用格納ライン数ＮＮの初期値が全域格納ライン数ＡＮと略等しく設定され、斜行補正の開始時において入力用ラインバッファ４Ａの記憶領域として比較的大きい領域が確保される。そのため、斜行補正中に入力用ラインバッファ４Ａの記憶領域が不足し、読取部８による原稿の読み取りが中断することで、斜行補正に必要な時間が長期化することを抑制することができる。
【００７７】
＜実施形態２＞
実施形態２を、図９から図１１を用いて説明する。本実施形態は、入力用格納ライン数ＮＮの初期値を設定する方法が実施形態１と異なる（図９のＳ６２参照）。また、入力用ラインバッファ４Ａから解放されたＤＲＡＭ４の記憶領域を、出力用ラインバッファ４Ｂとして割り当てない（図９でＳ５２無し）点で実施形態１と異なる。以下の説明では、実施形態１と同一の内容については重複した記載を省略する。
【００７８】
１．管理処理
図９に示す管理処理において、演算処理部２２は、ＣＰＵ１３から最小限格納ライン数ＭＮ、全域格納ライン数ＡＮ等の値が入力されると（Ｓ３２：ＹＥＳ）、入力用格納ライン数ＮＮの初期値、及び、出力用格納ライン数ＴＮの初期値を設定する（Ｓ６２）。
【００７９】
本実施形態では、図１０に示すように、出力用格納ライン数ＴＮの初期値を、全域格納ライン数ＡＮに設定する。また、入力用格納ライン数ＮＮの初期値が、最小限格納ライン数ＭＮと補助ライン数ＨＮとを加算したライン数となるように設定する。ここで、補助ライン数ＨＮとは、斜行補正回路１５に含まれる各部の処理速度と、読取部８の読取速度から決定されるライン数であり、予め決定されてＲＯＭ３に記憶されている。
【００８０】
斜行補正回路１５に含まれる各部の処理速度が読取部８の読取速度よりも速い場合、入力用格納ライン数ＮＮの初期値を最小限格納ライン数ＭＮと等しく設定したとしても、斜行補正回路１５における処理の遅れにより、ライン読取画像ＬＢを記憶する記憶容量を入力用ラインバッファ４Ａに確保することができず、読取部８の読み取りが停止する事態が生じ難い。そのため、補助ライン数ＨＮは比較的小さい値に決定される。
【００８１】
一方、斜行補正回路１５に含まれる各部の処理速度が読取部８の読取速度よりも遅い場合、入力用格納ライン数ＮＮの初期値を最小限格納ライン数ＭＮと等しく設定した場合、斜行補正回路１５における処理の遅れにより、ライン読取画像ＬＢを記憶する記憶容量を入力用ラインバッファ４Ａに確保することができず、読取部８の読み取りが停止する事態が生じ易い。そのため、補助ライン数ＨＮは比較的大きい値に決定される。
【００８２】
この結果、本実施形態では、入力用格納ライン数ＮＮの初期値が、全域格納ライン数ＡＮよりも小さい値に設定される。そのため、入力用ラインバッファ４Ａでは、図１１の中上図に示すように、管理処理における解放指示処理（Ｓ４８）により入力用格納ライン数ＮＮと最小限格納ライン数ＭＮとが等しくなり、且つ、入力用ラインバッファ４Ａに画像が記憶されていない領域が存在しない状態が実現される。
【００８３】
この場合、演算処理部２２は、図１１の右上図に中上図と比較して示すように、新たに入力用ラインバッファ４Ａに記憶されるライン読取画像ＬＢを、入力用ラインバッファ４Ａに記憶された最小限格納ライン数ＭＮのライン読取画像ＬＢのうち、最も早く記憶されたライン読取画像ＬＢが記憶された記憶領域に上書きして記憶する。
【００８４】
つまり、演算処理部２２は、入力用格納ライン数ＮＮから１を引いたライン数が最小限格納ライン数ＭＮ以下となった場合（Ｓ４４：ＮＯ）、それ以降の処理において、入力用ラインバッファ４Ａを、最小限格納ライン数ＭＮを有するリングバッファとして使用する。演算処理部２２は、これ以降、出力用ラインバッファ４Ｂへの補正後画像Ｇｏの記憶が終了するまで、図１１に矢印Ｚ５、６に示すように、入力用ラインバッファ４Ａをリングバッファとして使用し、出力用ラインバッファ４Ｂへの補正後画像Ｇｏの記憶が終了すると、管理処理を含む斜行補正回路１５の斜行補正を終了する。
【００８５】
２．本実施形態の効果
（１）本実施形態の画像読取装置１では、入力用格納ライン数ＮＮの初期値を、最小限格納ライン数ＭＮと補助ライン数ＨＮとを加算したライン数に設定する。上述したように、斜行補正回路１５では、読取部８の読取速度との関係において、ライン読取画像ＬＢを記憶する記憶容量を入力用ラインバッファ４Ａに確保することができず、読取部８の読み取りが停止する事態が生じることがある。
【００８６】
特に、斜行補正の開始時には、ＣＰＵ１３が最小限格納ライン数ＭＮを算出し、演算処理部２２が当該最小限格納ライン数ＭＮを受け取って出力用格納ライン数ＴＮの初期値を設定する等、斜行補正回路１５における処理速度が低下する事態が生じやすい。
【００８７】
これに対して、本実施形態の画像読取装置１では、最小限格納ライン数ＭＮに補助ライン数ＨＮを加えたライン数を、入力用格納ライン数ＮＮの初期値に設定する。そのため、斜行補正の開始時において、斜行補正中に読取部８の読み取りを中断しなければならない事象の発生を抑制することができ、斜行補正の処理時間を短縮することができる。また、補助ライン数ＨＮは、斜行補正における解放指示処理において、入力用ラインバッファ４Ａから解放されることから、補助ライン数ＨＮを用いて入力用格納ライン数ＮＮを設定しても、ＤＲＡＭ４の容量が増大してしまうのを抑制することができる。
【００８８】
（２）本実施形態の画像読取装置１では、入力用格納ライン数ＮＮの初期値が全域格納ライン数ＡＮよりも小さい値に設定され、斜行補正の開始時において入力用ラインバッファ４Ａの記憶領域が比較的小さい領域に抑制される。更に、斜行補正の開始後において、入力用格納ライン数ＮＮと最小限格納ライン数ＭＮとが等しくなった場合に、入力用ラインバッファ４Ａをリングバッファとして使用し、斜行補正の開始後において入力用ラインバッファ４Ａの記憶領域が比較的小さい領域に抑制される。つまり、斜行補正を通して入力用ラインバッファ４Ａの記憶領域を抑制することができ、ＤＲＡＭ４の容量が増大してしまうのを抑制することができる。
【００８９】
＜他の実施形態＞
本明細書で開示される技術は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も含まれる。
（１）上記実施形態では、スキャン機能のみ有する画像読取装置１を挙げて説明を行った。しかし、これに限らず、スキャン機能および印刷機能を有するコピー機や、ファクシミリ機能を有するファクシミリ装置、スキャナ機能、印刷機能およびファクシミリ機能など複数の機能を有する複合機などでもよい。
【００９０】
（２）上記実施形態では、画像読取装置１がＣＰＵ１３を有する及びＡＳＩＣ２を有し、このＣＰＵ１３が必要に応じてＡＳＩＣ２内の斜行補正回路１５等のハード回路を用いて画像読取処理を実行する制御部が構成される例を用いて説明を行ったが、本発明はこれに限られない。例えば、ＣＰＵがＡＳＩＣとは別体として存在し、このＣＰＵにより制御部が実行する処理が実行されてもよければ、ＡＳＩＣ内にＣＰＵが存在せず、ＡＳＩＣに設けられたハード回路により制御部が実行する処理が実行されてもよい。さらには、単数又は複数のＣＰＵ及びＡＳＩＣによって、制御部が実行する処理を実行していても良い。
【００９１】
（３）また、ＣＰＵ１３が実行するプログラムは必ずしもＲＯＭ３に記憶されている必要はなく、ＡＳＩＣ２内に記憶されていてもよければ、他の記憶装置に記憶されていても良い。
【００９２】
（４）上記実施形態では、出力用ラインバッファ４ＢがＤＲＡＭ４に確保されている例を用いて説明を行ったが、本発明はこれに限られない。例えば、画像読取装置１が更にＵＳＢや外部ＰＣなどの外部装置に接続されている場合には、これらの有する記憶部に出力用ラインバッファ４Ｂが確保されても良い。
【００９３】
（５）上記実施形態１では、入力用ラインバッファ４Ａから解放したＤＲＡＭ４の記憶領域を、出力用ラインバッファ４Ｂとして割り当てる例を用いて説明を行ったが、本発明はこれに限られない。入力用ラインバッファ４Ａから解放したＤＲＡＭ４の記憶領域は、出力用ラインバッファ４Ｂ以外の用途に割り当てられても良い。
【符号の説明】
【００９４】
４Ａ：入力用ラインバッファ、４Ｂ：出力用ラインバッファ、１５：斜行補正回路、２１：ステートマシン、２２：演算処理部、２３：サイズ管理部、２５：リードＤＭＡ処理部、２６：ライトＤＭＡ処理部、Ｇｉ：補正前画像、Ｇｏ：補正後画像、ＭＮ：最小限格納ライン数、ＡＮ：全域格納ライン数、ＨＮ：補助ライン数、θ：傾き角度
【図１】
2015012467.tif 000003
【図２】
2015012467.tif 000004
【図３】
2015012467.tif 000005
【図４】
2015012467.tif 000006
【図５】
2015012467.tif 000007
【図６】
2015012467.tif 000008
【図７】
2015012467.tif 000009
【図８】
2015012467.tif 000010
【図９】
2015012467.tif 000011
【図１０】
2015012467.tif 000012
【図１１】
2015012467.tif 000013