(57)【特許請求の範囲】
【請求項１】
読取対象の原稿が載置される透明な原稿台下において読取ユニットを搬送し、前記原稿台に写る画像を、前記読取ユニットに読み取らせることにより、前記原稿台に載置された原稿の読取画像を表す画像データを生成する画像読取装置であって、
前記読取ユニットの読取結果である画像データを、エッジ画像を表すエッジ画像データに変換し、当該エッジ画像データの中から、前記原稿台に載置された原稿の辺に対応するエッジ点群として推定されるエッジ点群を抽出する抽出手段と、
前記抽出手段により抽出された原稿の各辺に対応するエッジ点群を直線近似することにより原稿の外縁を認識する外縁認識手段と、
前記外縁認識手段により認識された前記外縁の確度の高低を評価する確度評価手段と、
を備え、
前記原稿台端縁の特定部位は、原稿の辺を合わせるべき基準線として定められており、
前記確度評価手段は、前記基準線に原稿の辺を合わせて原稿が載置されていることを前提として、前記外縁認識手段により認識された前記原稿の外縁と、前記基準線との位置関係に基づき、前記外縁認識手段により認識された前記外縁の確度の高低を評価する構成にされていること
を特徴とする画像読取装置。
【請求項２】
前記確度評価手段は、前記外縁認識手段により認識された前記基準線に対向する前記原稿の外縁が、前記基準線に対し所定量以上離れている場合、前記確度が低いと評価し、前記基準線に対向する前記原稿の外縁が前記基準線に対して所定量以上離れていない場合、前記確度が高いと評価する構成にされていること
を特徴とする請求項１記載の画像読取装置。
【請求項３】
前記原稿台は、四角形状にされ、当該原稿台が有する四辺の内、特定の角から互いに直交する方向に延びる二辺が、夫々、前記基準線に定められた構成にされており、
前記確度評価手段は、前記二つの基準線の夫々について、当該基準線に対向する前記外縁認識手段により認識された前記原稿の外縁が、前記基準線に対し所定量以上離れているか否かを判断し、前記二つの基準線の両者について、前記原稿の外縁が前記基準線に対し所定量以上離れていないと判断した場合には、前記確度が高いと評価し、前記二つの基準線のいずれか一方について、前記原稿の外縁が前記基準線に対し所定量以上離れていると判断した場合には、前記確度が低いと評価する構成にされていること
を特徴とする請求項２記載の画像読取装置。
【請求項４】
前記読取ユニットが読取可能な前記原稿台の領域である読取可能領域であって、四角形状にされた前記原稿台が有する四辺の内、前記基準線に定められた一辺から、前記原稿台内側に所定距離離れた位置までの方形領域に属する前記読取可能領域の一部領域において、前記読取ユニットを搬送し、前記一部領域において前記読取ユニットに読取動作を実行させるプレスキャン手段
を備え、
前記抽出手段は、前記プレスキャン手段の動作によって得られた前記読取ユニットの読取結果である画像データを、エッジ画像を表すエッジ画像データに変換し、当該エッジ画像データの中から、前記原稿台に載置された原稿の辺に対応するエッジ点群として推定されるエッジ点群を抽出する構成にされていること
を特徴とする請求項１〜請求項３のいずれかに記載の画像読取装置。
【請求項５】
前記確度評価手段により確度が高いと評価されると、前記外縁認識手段により認識された原稿の外縁から前記原稿台に載置された原稿のサイズを推定するが、前記確度評価手段により確度が低いと評価されると、前記原稿台に載置された原稿のサイズが、予め定められたサイズであると推定する原稿サイズ推定手段
を備えることを特徴とする請求項１〜請求項４のいずれかに記載の画像読取装置。
【請求項６】
前記抽出手段は、前記原稿台に載置された原稿の三辺の夫々について、前記エッジ画像データの中から、この辺に対応するエッジ点群として推定されるエッジ点群を抽出する構成にされ、
前記外縁認識手段は、前記抽出手段により抽出された各辺に対応するエッジ点群を直線近似して得られる三本の直線が交わる二つの交点を、前記原稿台に載置された原稿の角であると認識する構成にされ、
更に、当該画像読取装置は、
前記確度評価手段により確度が高いと評価されると、前記原稿台に載置された原稿が定型の用紙であるとの仮定の下で、前記外縁認識手段により原稿の角であると認識された前記二つの交点間の距離に基づき、前記原稿台に載置された原稿のサイズを推定するが、前記確度評価手段により確度が低いと評価されると、前記原稿台に載置された原稿のサイズが、予め定められたサイズであると推定する原稿サイズ推定手段
を備えることを特徴とする請求項４記載の画像読取装置。
【請求項７】
前記原稿サイズ推定手段により推定された原稿サイズの情報に基づき、前記読取ユニットによる読取領域を決定する読取領域決定手段と、
前記読取対象領域決定手段により決定された前記読取領域において、前記読取ユニットを搬送し、前記読取ユニットに読取動作を実行させることにより、前記原稿台に載置された原稿の読取画像を表す画像データを生成する本スキャン手段と、
を備えることを特徴とする請求項５又は請求項６記載の画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、読取ユニットを搬送し、原稿台に写る画像を、読取ユニットに読み取らせることにより、原稿台上に載置された原稿の読取画像を表す画像データを生成する画像読取装置に関する。
【背景技術】
【０００２】
従来、画像読取装置としては、読取ガラス下に読取ユニットを備え、読取ガラス下で読取ユニットを搬送しつつ、その搬送時に読取ユニットに読取動作を実行させることにより、読取ガラス上に配置された原稿を読み取り、原稿の読取画像を表す画像データを生成する画像読取装置が知られている。
【０００３】
画像読取装置がコピー機能を有するものである場合、上記生成された画像データは、例えば、印刷処理に供される。即ち、読取画像を表す画像データが印刷処理に供されることで、記録紙には、読み取られた原稿のコピー画像が印刷される。このような、コピー機能を有する画像読取装置としては、コピー機能の他、プリンタ機能やファックス（ＦＡＸ）機能などを有したディジタル複合機が知られている。
【０００４】
また、画像読取装置としては、プレスキャンにより、読取ガラス上の原稿が載置された領域を把握し、本スキャン時には、読取領域を、読取ガラス下全域ではなく、原稿が載置された領域に限定し、この読取領域において、読取ユニットを搬送し、原稿を読み取るものが知られている。
【０００５】
この他、画像読取装置としては、読取ユニットによる原稿の読取結果に基づき、原稿のサイズを検出するものが知られている。具体的には、読取結果から原稿のエッジを検出し、その検出結果から原稿サイズを検出するものが知られている（特許文献１〜４参照）。
【０００６】
このようにして得られる原稿サイズの検出結果は、例えば、本スキャン時の読取領域の自動設定動作や、コピー時の変倍率の自動設定動作に用いられる。例えば、検出した原稿サイズと記録紙サイズとから、原稿サイズと記録紙サイズの比に合わせて、変倍率を設定し、設定した変倍率に合わせて、読取画像を拡大／縮小し、原稿のコピー画像を、記録紙に、その用紙サイズに合わせた倍率で印刷するといった具合である。
【特許文献１】特開２００４−２０１２４０号公報
【特許文献２】特開２００５−２８５０１０号公報
【特許文献３】特開平７−２４５６８１号公報
【特許文献４】特開２００１−０３６６９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、読取ユニットによる原稿の読取結果に基づいて、原稿サイズを検出する方法では、原稿内の罫線等を原稿エッジであると誤検出する可能性があるといった問題があった。
【０００８】
原稿エッジの検出方法としては、読取ユニットで読み取った読取画像データを、画像フィルタ（所謂微分フィルタ）に通して、読取画像データを、エッジ画像を表すエッジ画像データに変換し、このエッジ画像データから、原稿の外縁である原稿エッジを検出する方法が知られているが、読取画像データを画像フィルタに通した場合には、原稿の外縁でエッジ点の連続するパターンが検出される他、原稿内の罫線がある地点においても、原稿の外縁と似た連続するエッジ点のパターンが検出される。
【０００９】
一方で、読取対象の原稿については、必ずしも、その原稿の全てが原稿台の読取可能領域内に収まっているとは限らない。例えば、ユーザによる原稿の置き方が雑であったために、原稿の端が読取可能領域から外れてしまう場合や、新聞等のように読取対象の原稿が大きすぎて、原稿の端が読取可能領域に収まらない場合等がある。
【００１０】
従って、原稿の端が読み取られていないのにも拘わらず、読取結果のエッジ画像データから原稿エッジを検出して、原稿サイズを検出しようとすると、原稿サイズを誤検出してしまうことになる。そして、このような原稿サイズの誤検出が発生した場合には、例えば、変倍率の設定ミスが生じて、コピー機能が上手く働かない事態が生じる。
【００１１】
本発明は、こうした問題に鑑みなされたものであり、画像読取装置において、原稿エッジの誤検出により、検出結果を用いた後続の処理（コピー動作等）に、悪影響が及ぶのを抑えることを目的とする。
【課題を解決するための手段】
【００１２】
かかる目的を達成するためになされた請求項１記載の発明は、読取対象の原稿が載置される透明な原稿台下において読取ユニットを搬送し、原稿台に写る画像を、読取ユニットに読み取らせることにより、原稿台に載置された原稿の読取画像を表す画像データを生成する画像読取装置であって、抽出手段と、外縁認識手段と、確度評価手段と、を備えるものである。
【００１３】
抽出手段は、読取ユニットの読取結果である画像データを、エッジ画像を表すエッジ画像データに変換し、当該エッジ画像データの中から、原稿台に載置された原稿の辺に対応するエッジ点群として推定されるエッジ点群を抽出する。
【００１４】
一方、外縁認識手段は、抽出手段により抽出された原稿の各辺に対応するエッジ点群を直線近似することにより原稿の外縁を認識し、確度評価手段は、外縁認識手段により認識された外縁の確度の高低を評価する。
【００１５】
具体的に、本発明の画像読取装置において、原稿台端縁の特定部位は、原稿の辺を合わせるべき基準線として定められており、確度評価手段は、外縁認識手段により認識された原稿の外縁と、基準線との位置関係に基づき、外縁認識手段により認識された外縁の確度の高低を評価する。
【００１６】
画像読取装置の構成としては、外縁認識手段により認識された原稿の外縁の情報に基づき、原稿サイズや原稿の傾き、原稿台における原稿の載置領域を推定し、これらの情報に基づき、本スキャンを実行する構成や、読取結果から原稿のデータを抽出し出力する構成などが考えられるが、このような構成の画像読取装置においては、外縁認識手段が原稿の外縁を誤認識しているにも関わらず、後続の処理を実行すると、その後続の処理にも誤りが生じて、ユーザの所望する処理結果が得られない。
【００１７】
従って、外縁認識手段が誤認識をしていると推定される場合には、後続処理の内容を切り替えたり、誤認識の可能性があることをユーザに報知するのが好ましいが、従来では、その誤認識を判定する術がないため、後続処理に悪影響を与える結果となっていた。
【００１８】
そこで、本発明では、確度評価手段を設けて、外縁認識手段により認識された原稿の外縁と、基準線との位置関係に基づき、外縁認識手段により認識された外縁の確度の高低を評価するようにしている。
【００１９】
本発明のように、原稿の辺を合わせるべき基準線を定めて、原稿の辺を原稿台の端縁（基準線）に合わせるようにユーザに指示すると、その原稿台の端縁に合わせられる原稿の辺が、原稿台の読取可能領域からはみ出たりして、読み取り辛くなり、エッジ画像データにより原稿の辺に対応するエッジ点群を抽出する際、誤って、原稿内に描写された罫線等に対応するエッジ点群を、原稿の辺に対応するエッジ点群として抽出してしまう可能性がある。そして、この場合には、当然のことながら、外縁認識手段により原稿の外縁が誤認識されてしまうことになる。
【００２０】
しかしながら、このような場合には、大抵、誤認識された原稿の外縁が基準線から大きく離れた位置に現れる。このような理由から、本発明では、上述の手法で、外縁認識手段により認識された外縁の確度の高低を評価するようにしているのである。
【００２１】
このような手法で外縁認識手段により認識された外縁の確度の高低を評価すれば、外縁の確度を、正確に評価することができ、外縁認識手段が誤認識している場合には、後続処理の内容を切り替えることができる。従って、この発明によれば、誤認識が後続処理に及ぼす悪影響を抑え、誤認識による不満の及びにくい画像読取装置をユーザに提供することができる。
【００２２】
尚、上述の確度評価手段は、外縁認識手段により認識された基準線に対向する原稿の外縁が、基準線に対し所定量以上離れているか否かの条件判断により、確度を評価する構成にすることができる。具体的に、確度評価手段は、基準線に対向する原稿の外縁が基準線に対し所定量以上離れている場合、確度が低いと評価し、基準線に対向する原稿の外縁が基準線に対して所定量以上離れていない場合、確度が高いと評価する構成にすることができる（請求項２）。
【００２３】
また、原稿台が、四角形状にされ、当該原稿台が有する四辺の内、特定の角から互いに直交する方向に延びる二辺が、夫々、上記基準線に定められた画像読取装置においては、次のように確度評価手段を構成することができる。
【００２４】
即ち、確度評価手段は、二つの基準線の夫々について、当該基準線に対向する外縁認識手段により認識された原稿の外縁が、基準線に対し所定量以上離れているか否かを判断し、上記二つの基準線の両者について、原稿の外縁が基準線に対し所定量以上離れていないと判断した場合には、確度が高いと評価し、上記二つの基準線のいずれか一方について、原稿の外縁が基準線に対し所定量以上離れていると判断した場合には、確度が低いと評価する構成にすることができる（請求項３）。
【００２５】
この画像読取装置によれば、一層高精度に、外縁認識手段が認識した外縁（辺）の確度を評価することができる。
更に、上述の画像読取装置（請求項１〜請求項３）は、次のように構成することができる。即ち、上述の画像読取装置は、読取ユニットが読取可能な原稿台の領域である読取可能領域であって、四角形状にされた原稿台が有する四辺の内、基準線に定められた一辺から、原稿台内側に所定距離離れた位置までの方形領域に属する読取可能領域の一部領域において、読取ユニットを搬送し、当該一部領域において読取ユニットに読取動作を実行させるプレスキャン手段を備え、抽出手段が、プレスキャン手段の動作によって得られた読取ユニットの読取結果である画像データを、エッジ画像を表すエッジ画像データに変換し、当該エッジ画像データの中から、原稿台に載置された原稿の辺に対応するエッジ点群として推定されるエッジ点群を抽出する構成にすることができる（請求項４）。
【００２６】
画像読取装置としては、原稿の一部領域のみを読み取って、その読取結果から原稿サイズ等を推定する構成が考えられるが、原稿の全体像が写っていない画像データに基づいて、原稿の外縁を認識する場合には、原稿全体を読み取って、その読取結果から原稿の外縁を認識する手法よりも、その精度が劣る。
【００２７】
従って、このような画像読取装置に、本発明の概念を適用すれば、誤認識による問題を、処理の切り替え等により緩和することができ、利便性の高い画像読取装置をユーザに提供することができる。
【００２８】
また、上述の画像読取装置には、確度評価手段により確度が高いと評価されると、外縁認識手段により認識された原稿の外縁から原稿台に載置された原稿のサイズを推定するが、確度評価手段により確度が低いと評価されると、原稿台に載置された原稿のサイズが、予め定められた所定サイズであると推定する原稿サイズ推定手段を設けるとよい（請求項５）。特に、原稿サイズ推定手段は、確度評価手段により確度が低いと評価されると推定される原稿サイズを、ユーザの指示に従って切り替えられる構成にされると一層好ましい。
【００２９】
確度評価手段が評価した確度の高低により、原稿サイズの推定手法を、このように切り替えるように、画像読取装置を構成すれば、外縁認識手段の誤認識が及ぼす後続処理への悪影響を抑えることができる。
【００３０】
例えば、外縁認識手段による認識結果の確度が低い場合でも、その認識結果に基づいて原稿サイズを推定する場合には、真の原稿サイズに対して原稿サイズ推定手段がどのように原稿サイズを推定するのかについて予測不能であり、その推定結果が後続処理に及ぼす影響をコントロールできないが、外縁認識手段による認識結果の確度が低い場合に、その認識結果に基づいて原稿サイズを推定せずに、原稿サイズを、特定の原稿サイズであると推定すれば、その推定結果が真の原稿サイズに一致しているか否かに関わらず、当該推定結果が後続処理に及ぼす影響をコントロールできる。
【００３１】
従って、この発明によれば、原稿サイズの推定結果が正しいか否かに依らず、外縁認識手段の誤認識が、後続処理に及ぼす影響を抑えることができるのである。具体的に、プレスキャンにより得られた原稿外縁の認識結果の確度が低い場合に、原稿台に載置された原稿のサイズが最大サイズであると推定すれば、読取領域を自動設定する画像読取装置において、本スキャン時の読取領域が、外縁認識手段の誤認識により正しい読取領域よりも狭くなるのを防止することができる。結果、本スキャン時において、ユーザが所望する原稿の画像全体を、正しく読み取ることができる。
【００３２】
また、確度評価手段により確度が低いと評価される場合に原稿サイズ推定手段により推定する原稿サイズを、ユーザの指示に従って切り替えられるように、画像読取装置を構成すれば、ユーザに、誤認識による悪影響の一番少ない原稿サイズを指定させることができて、外縁認識手段の誤認識が及ぼす後続処理への悪影響を効果的に抑えることができる。
【００３３】
この他、一部領域のプレスキャンにて原稿の外縁を認識する場合には、次のように、画像読取装置を構成して、原稿サイズの推定を行うとよい。
即ち、抽出手段は、原稿台に載置された原稿の三辺の夫々について、エッジ画像データの中から、この辺に対応するエッジ点群として推定されるエッジ点群を抽出する構成にされ、外縁認識手段は、抽出手段により抽出された各辺に対応するエッジ点群を直線近似して得られる三本の直線が交わる二つの交点を、原稿台に載置された原稿の角であると認識する構成にされるのがよい。
【００３４】
また、原稿サイズ推定手段は、確度評価手段により確度が高いと評価されると、原稿台に載置された原稿が定型の用紙であるとの仮定の下で、外縁認識手段により原稿の角であると認識された二つの交点間の距離に基づき、原稿台に載置された原稿のサイズを推定するが、確度評価手段により確度が低いと評価されると、原稿台に載置された原稿のサイズが、予め定められた所定サイズであると推定する構成にされるのがよい（請求項６）。
【００３５】
このように画像読取装置を構成すれば、一部領域のプレスキャン結果からでも、原稿サイズとして、原稿の縦幅及び横幅の両方を導出することができ、一部領域のプレスキャン結果から、原稿台に載置された原稿全体の外形を概ね正確に把握することができる。
【００３６】
また、上述した原稿サイズ推定手段に関する発明は、原稿サイズ推定手段により推定された原稿サイズの情報に基づき、読取ユニットによる読取領域を決定する読取領域決定手段と、読取対象領域決定手段により決定された読取領域において、読取ユニットを搬送し、読取ユニットに読取動作を実行させることにより、原稿台に載置された原稿の読取画像を表す画像データを生成する本スキャン手段と、を備える画像読取装置に適用することができる（請求項７）。
【００３７】
このようにして本スキャンを実行する画像読取装置では、外縁認識手段の誤認識が最終的に読取領域の設定に悪影響を及ぼす可能性があるが、本発明では、外縁認識手段の認識結果の確度が低い場合、原稿サイズを固定サイズに推定するので、外縁認識手段の誤認識が読取領域の設定に悪影響を及ぼすのを従来よりも抑えることができる。
【発明を実施するための最良の形態】
【００３８】
以下に本発明の実施例について、図面と共に説明する。
図１（ａ）は、本実施例のディジタル複合機１の構成を表すブロック図である。図１（ａ）に示すように、本実施例のディジタル複合機１は、画像読取部１０、読取制御部２０、印刷部３０、印刷制御部４０、表示操作部５０、通信部６０、ＣＰＵ７０、ＲＡＭ８０及びフラッシュメモリ９０を備え、フラッシュメモリ９０に記録されたプログラムに基づきＣＰＵ７０にて各種処理を実行し、装置全体を統括制御する構成にされている。
【００３９】
具体的に、画像読取部１０は、図１（ｂ）（ｃ）に示す構成にされている。図１（ｂ）（ｃ）は、画像読取部１０の構成を示した説明図である。画像読取部１０は、読取対象の原稿Ｐが載置される透明な板状の読取ガラス１１が筐体１３に支持された構成にされており、筐体１３内の読取ガラス１１下に、読取ガラス１１に写る画像を主走査方向において光学的に読み取る読取ユニット１５と、読取ユニット１５を副走査方向に搬送する搬送機構１６と、搬送機構１６を駆動するモータ１７とを備える。
【００４０】
この画像読取部１０は、読取制御部２０から入力される制御信号に従って、モータ１７の回転力により搬送機構１６を駆動し、これにより読取ユニット１５を読取ガラス１１下で副走査方向（図１（ｂ）（ｃ）に示す点線矢印方向）に搬送すると共に、搬送時において、読取ユニット１５に読取動作を実行させる。
【００４１】
尚、読取ユニット１５は、読取制御部２０に制御され、副走査方向への移動と共に、読取ガラス１１に写る画像を、ライン毎に読み取り、その読取画像を表すライン画像信号を出力するコンタクトイメージセンサ（ＣＩＳ）である。この読取ユニット１５から出力されるライン画像信号は、図示しないＡ／Ｄ変換器にてディジタルデータ（ライン画像データ）に変換され、読取制御部２０に入力される。
【００４２】
また、画像読取部１０には、周知のスキャナと同様、読取ガラス１１を被覆可能な蓋が開閉自在に設けられており（図示せず）、読取ユニット１５による読取動作の実行時には、ユーザによる手動操作により、読取ガラス１１に載置された原稿の上にかぶせられるようにして蓋が閉められる。尚、読取ガラス１１と対向する蓋の内側は、原稿の読取画像に蓋の画像が写らないよう白色部材で構成されている。
【００４３】
一方、読取制御部２０は、ＣＰＵ７０からの指令に従って読取制御処理を実行し、当該読取制御処理にて、読取ユニット１５の副走査方向への移動を制御すると共に、読取ユニット１５の読取動作を制御する。
【００４４】
この制御により、読取制御部２０は、読取ユニット１５を読取ガラス１１下で副走査方向に搬送しつつ、ＣＰＵ７０から指定された読取ガラス１１の読取領域に写る画像を、読取ユニット１５に読み取らせ、読取ガラスの読取領域に写る画像を表す画像データを、ＲＡＭ８０に記録する。このような動作により、ＲＡＭ８０には、読取ガラス１１の読取領域に載置された原稿Ｐの読取画像を表す画像データが記録される。
【００４５】
尚、読取制御部２０は、画像読取部１０から入力される各ライン画像データを、一旦内蔵のバッファに蓄積し、各ライン画像データに対してシェーディング補正等の画像処理を実行した後、各ライン画像データを、ＲＡＭ８０に記録する。
【００４６】
この他、印刷部３０は、印刷制御部４０から入力される制御信号に従い、トレイ（図示せず）に載置された記録紙を、記録位置に搬送し、インクジェット方式やレーザプリンタ方式等の周知の記録方式で、記録紙に、制御信号に対応した画像を形成するものである。
【００４７】
また、印刷制御部４０は、印刷部３０を制御して記録紙に画像を形成するものであり、ＣＰＵ７０からの指令に従って、ＣＰＵ７０から指定された印刷対象データに基づく画像を、印刷部３０を通じて、記録紙に印刷する。
【００４８】
また、通信部６０は、外部機器と通信するためのインタフェース群からなり、ＵＳＢインタフェース、ＬＡＮインタフェース、ＦＡＸモデム等から構成されている。即ち、複合機１は、通信部６０が備えるＦＡＸモデムを通じて外部のＦＡＸ装置とＦＡＸ通信可能な構成にされ、ＵＳＢインタフェース又はＬＡＮインタフェースを通じて外部のパーソナルコンピュータと通信可能な構成にされている。
【００４９】
この他、表示操作部５０は、情報表示用の液晶ディスプレイ（図示せず）と、各種操作キーとを備え、ＣＰＵ７０に制御されて、液晶ディスプレイに、ユーザ向けの情報を表示すると共に、操作キーを通じて入力されたユーザからの指令を、ＣＰＵ７０に入力する。
【００５０】
また、ＣＰＵ７０は、プログラムの実行により、操作キーを通じて入力される指令や通信部６０を通じて外部のパーソナルコンピュータ等から入力される指令に従い、コピー機能、ＦＡＸ機能、スキャナ機能、及び、プリンタ機能等を実現する。
【００５１】
例えば、ＣＰＵ７０は、表示操作部５０に設けられた操作キーを通じてユーザからコピー指令が入力されると、複写制御処理（図３参照）を実行して装置内各部を制御し、読取ガラス１１上に載置された原稿Ｐの読取画像を、記録紙に印刷する。詳細には、読取ユニット１５による読取結果に基づいて読取ガラス１１上に載置された原稿Ｐのサイズを推定し、推定した原稿サイズと記録紙サイズとから変倍率を設定して、原稿Ｐの読取画像を、記録紙サイズに適合する大きさに拡大又は縮小し、これを、印刷部３０を通じて記録紙に印刷する（自動変倍複写処理）。
【００５２】
以下、この複写制御処理の内容について具体的に説明するが、それに先駆けては、図２を用いて本実施例の画像読取部１０の特徴について説明する。
図２は、読取ガラス１１の読取可能領域Ｒ０を示した説明図である。当該複合機１においては、一面が開口された長方体状の筐体１３の当該開口部において、長方形状のガラス板である読取ガラス１１が当該開口部を閉塞するように設けられており、読取ガラス１１の周囲が筐体１３により支持された構成にされている。
【００５３】
この読取ガラス１１は、筐体１３の上面よりも若干筐体１３の下側に設けられており、筐体１３から露出する読取ガラス１１の領域１１ａ（以下、「原稿台」と表現する。）と筐体１３との境界ＢＤには、原稿Ｐを突き当て可能に段差が形成されている（以下、筐体１３の読取ガラス１１より上方に位置する部位（上記段差を形成する部位）１３ａを「フレーム」と表現する。）。
【００５４】
また、画像読取部１０においては、読取ユニット１５のライン幅と、原稿台１１ａの大きさとの関係から、四角形状の原稿台１１ａの全領域よりも若干狭い四角形状の領域Ｒ０が、読取ユニット１５により原稿を読取可能な読取可能領域Ｒ０に定められている。具体的に、読取可能領域Ｒ０は、図２において点線で示すように、フレーム１３ａと読取ガラス１１との境界ＢＤから微小量（本実施例では３ｍｍ）離れた位置に外周を有した領域となっている。
【００５５】
また、この画像読取部１０においては、フレーム１３ａの左下部分に、原稿Ｐの角を突き当てるように指示するマークＭＫが記されている。尚、本実施例では、マークＭＫが付された原稿台１１ａの角を、「左下角」と定義して、この左下角より、主走査方向に離れた地点に位置する原稿台１１ａの角を「右下角」と定義し、左下角より、副走査方向に離れた地点に位置する原稿台１１ａの角を「左上角」と定義する。
【００５６】
即ち、複合機１においては、原稿台１１ａの左下角（換言すれば、フレーム１３ａの内側左下角）が、原稿Ｐの角を合わせるべき位置として定められており、複合機１は、ユーザが概ね、このマークＭＫに合わせて原稿Ｐを載置しているとの仮定の下で、原稿サイズの推定等を行い、原稿のコピー動作を実現する。
【００５７】
この他、本実施例の複合機１においては、このマークＭＫが付されたフレーム１３ａの内側左下角に対応する読取可能領域Ｒ０の左下角を原点、主走査方向をＸ軸、副走査方向をＹ軸としたＸＹ座標系（図２（ｂ）参照）が導入されており、ＣＰＵ７０は、このＸＹ座標系を用いて図３に示す複写制御処理を実行する。
【００５８】
続いて、ＣＰＵ７０が実行する複写制御処理について説明する。図３は、操作キーを通じてコピー指令が入力されると、ＣＰＵ７０が実行する複写制御処理を表すフローチャートである。
【００５９】
複写制御処理を開始すると、ＣＰＵ７０は、操作キーを通じて入力されたコピー指令が「自動変倍／傾き補正」コピー指令であるか否かを判断し（Ｓ１１０）、「自動変倍／傾き補正」コピー指令であると判断すると（Ｓ１１０でＹｅｓ）、Ｓ１２０にて、図４に示す自動変倍複写処理を実行する。その後、当該複写制御処理を終了する。
【００６０】
一方、操作キーを通じて入力されたコピー指令が、「自動変倍／傾き補正」コピー指令以外のコピー指令であると判断すると（例えば、自動変倍や傾き補正の指示のないノーマルなコピー指令であると判断すると）、ＣＰＵ７０は、Ｓ１３０にて、入力されたコピー指令に対応した処理を実行した後、当該複写制御処理を終了する。
【００６１】
続いて、ＣＰＵ７０がＳ１２０にて実行する自動変倍複写処理について説明する。図４は、ＣＰＵ７０が実行する自動変倍複写処理を表すフローチャートである。
ＣＰＵ７０は、Ｓ１２０にて自動変倍複写処理を開始すると、まず、原稿読取開始位置を、読取可能領域Ｒ０の下端（Ｙ＝０）に設定し、原稿読取終了位置を、設計段階で予め定められた読取可能領域Ｒ０の下端から所定距離離れた位置（Ｙ＝ＹＰＲＥ）に設定することにより、上記原稿読取開始位置から原稿読取終了位置までの領域に該当する読取可能領域Ｒ０の一部を、読取領域に設定し、読取制御部２０を通じて、画像読取部１０に、当該読取領域に対するプレスキャン動作を実行させる（Ｓ２１０：先端部プレスキャン処理）。
【００６２】
即ち、Ｓ２１０では、読取可能領域Ｒ０全体に対してプレスキャン動作を画像読取部１０に実行させるのではなく、読取可能領域Ｒ０の下端から読取可能領域Ｒ０内側へ所定距離離れた地点まで（本実施例では、読取可能領域Ｒ０の下端から３０ｍｍ離れた地点まで）に対し、プレスキャン動作を画像読取部１０に実行させる。これにより、ＣＰＵ７０は、プレスキャン結果として、読取可能領域Ｒ０の一部領域の読取結果を表す画像データを画像読取部１０から取得する。
【００６３】
尚、画像読取部１０は、プレスキャン動作として、設定された読取領域の端から端まで、プレスキャン用の解像度に対応する速度で、読取ユニット１５を副走査方向に搬送し、その読取領域の画像を読取ユニット１５に読み取らせ、プレスキャン結果として、低解像度の画像データ（以下、「プレスキャン画像データ」という。）を、読取制御部２０を通じて、ＲＡＭ８０に記録する動作を実行する。
【００６４】
このようにしてＳ２１０での処理を終えると、ＣＰＵ７０は、ＲＡＭ８０に記録されたプレスキャン画像データに対してエッジ検出処理を実行し、この画像データに対応するエッジ画像データを生成する（Ｓ２１５）。即ち、ＲＡＭ８０に記録されたプレスキャン画像データを、エッジ検出用の画像フィルタ（周知の微分フィルタ）に通して、この画像データに対応するエッジ画像を表すエッジ画像データを生成する。
【００６５】
また、Ｓ２１５での処理を終えると、ＣＰＵ７０は、上記生成したエッジ画像データを、検査対象データに設定して、図５に示す原稿推定処理を実行する（Ｓ２２０）。詳細は後述するが、この原稿推定処理では、検査対象データ（Ｓ２１５で得られたエッジ画像データ）を解析して、原稿台１１ａに載置された原稿のサイズ（縦幅及び横幅）、及び、原稿の傾き角θ、及び、原稿台１１ａにおける原稿の載置領域を推定する。
【００６６】
具体的には、原稿台１１ａに載置された原稿が四角形状であるとの仮定の下で、原稿台１１ａに載置された原稿のエッジを検査対象データにおいて検出すると共に、その検出結果から原稿の左下角位置及び右下角位置を推定して検査対象データにおける原稿の画像を表す領域（以下、「原稿領域」と表現する。）を推定し、原稿台１１ａの左端縁（左辺）からの原稿領域の乖離度及び原稿台１１ａの下端縁（下辺）からの原稿領域の乖離度に基づいて、推定した原稿領域の確度を評価する。
【００６７】
尚、本実施例では、Ｘ軸が原稿台１１ａの下端縁から原稿台１１ａ内側に所定量（３ｍｍ）離れた地点に設定され、Ｙ軸が原稿台１１ａの左端縁から原稿台１１ａ内側に同量（３ｍｍ）離れた地点に設定されているので、原稿台１１ａの左端縁からの原稿領域の乖離度として、Ｙ軸からの原稿領域の距離Ｄ１を求めると共に、原稿台１１ａの下端縁からの原稿領域の乖離度として、Ｘ軸からの原稿領域の距離Ｄ２を求め、この距離の情報から、推定した原稿領域の確度を評価する（図１２参照）。
【００６８】
そして、原稿領域の確度が高い場合には、上記推定した角位置の情報から、原稿台１１ａに載置された原稿が定型用紙であるとの仮定の下で、当該原稿台１１ａに載置された原稿のサイズ、及び、原稿の傾き角θ、及び、原稿台１１ａにおける原稿の載置領域を推定する。但し、ここでは、Ｘ軸に対して原稿の下辺がなす角度を、原稿の傾き角θ（図８参照）とする。
【００６９】
一方、原稿領域の確度が低い場合や、原稿エッジを正常に検出できなかった場合には、原稿台１１ａに載置された原稿が予め定められた固定サイズの原稿であると推定する。Ｓ２２０では、このような内容の処理を実行する。
【００７０】
そして、Ｓ２２０での処理を終えると、ＣＰＵ７０は、印刷制御部４０を通じて、印刷部３０に給紙動作を実行させると共に（Ｓ２３０）、給紙動作の対象となった記録紙のサイズを検出する（Ｓ２３５）。尚、記録紙のサイズは、例えば、記録紙の搬送路に設けられたセンサを用いて周知の手法で検出することができる。
【００７１】
また、この処理を終えると、ＣＰＵ７０は、直前の原稿推定処理（Ｓ２２０）にて、原稿エッジの検出に失敗したことを原因として、Ｓ４３１（図５参照）又はＳ４７１で「失敗」判定がなされたか否かを判断する（Ｓ２４０）。そして、「失敗」判定がなされたと判断すると（Ｓ２４０でＹｅｓ）、Ｓ２６１に移行する。一方、直前の原稿推定処理（Ｓ２２０）にて「失敗」判定がなされていないと判断すると（Ｓ２４０でＮｏ）、Ｓ２４５に移行する。
【００７２】
また、Ｓ２４５では、直前の原稿推定処理にて「確度高」判定がなされたか否かを判断する（Ｓ２４５）。原稿推定処理では、上述したように、推定した原稿領域の確度の高低に応じて、原稿サイズの推定方法を切り替える。ここでは、原稿領域の確度が低く、原稿サイズが固定サイズに推定された状態であるか否かを、直前の原稿推定処理にて「確度高」判定がなされたか否かにより判断する。
【００７３】
そして、「確度低」判定がなされたと判断すると（Ｓ２４５でＮｏ）、Ｓ２６１に移行し、「確度高」判定がなされたと判断すると（Ｓ２４５でＹｅｓ）、Ｓ２５１に移行する。
【００７４】
Ｓ２５１に移行すると、ＣＰＵ７０は、Ｓ２２０で推定された原稿サイズ及びＳ２３５で検出された記録紙サイズに基づき、予め定められた計算式に従って変倍率を設定する。具体的には、変倍率を、原稿サイズと記録紙サイズとの比（例えば、記録紙短辺長さ÷原稿短辺長さ）に対応した倍率に設定し、後続の処理で、原稿のコピー画像が、原稿サイズとの記録紙サイズの比に対応した倍率で拡大（倍率が１未満の場合には縮小）されて記録紙に印刷されるようにする。
【００７５】
また、この処理を終えると、ＣＰＵ７０は、Ｓ２２０で推定された原稿の傾き角θから、画像データの傾き補正量を設定する（Ｓ２５３）。具体的には、原稿のコピー画像が、傾きのない状態でまっすぐ、記録紙に印刷されるように、傾き補正量を設定する。但し、推定された原稿の傾き角θが微小量（本実施例では−０．５度≦θ≦０．５度）である場合には、誤差も考慮して、傾き補正量をゼロに設定する。
【００７６】
Ｓ２５３での処理を終えると、ＣＰＵ７０は、Ｓ２２０で推定された原稿の載置領域の情報に基づいて、原稿読取開始位置及び原稿読取終了位置を設定し、原稿読取開始位置及び原稿読取終了位置で定められる読取領域を、原稿台１１ａにおける原稿の載置領域に対応させる（Ｓ２５５）。
【００７７】
具体的には、原稿の載置領域全体を読取ユニット１５が読み取ることができるように、原稿読取開始位置を、副走査方向において最も下側に位置する原稿の端点に対応した位置に設定し、原稿読取終了位置を、副走査方向において最も上側に位置する原稿の端点に対応した位置に設定して、読取領域を原稿台１１ａにおける原稿の載置領域に対応させる。また、この処理を終えると、Ｓ２７０に移行する。
【００７８】
一方、Ｓ２６１に移行すると、ＣＰＵ７０は、原稿のコピー画像が等倍で記録紙に印刷されるように、変倍率を１に設定すると共に、傾き補正量をゼロに設定する（Ｓ２６３）。更に、直前の原稿推定処理にて推定された原稿サイズの情報に基づき、原稿読取開始位置及び原稿読取終了位置を設定し、原稿読取開始位置及び原稿読取終了位置で定められる読取領域を、原稿台１１ａにおける原稿の載置領域に対応させる（Ｓ２６５）。
【００７９】
具体的に、Ｓ２６５では、原稿台１１ａの左下角（フレーム内側左下角）に原稿の左下角が合わされて、原稿が正しく原稿台１１ａに載置されていると仮定し、原稿読取開始位置を、読取可能領域Ｒ０の下端（Ｙ＝０）に設定し、原稿読取終了位置を、原稿台１１ａの下端縁（換言すればフレーム１３ａの下辺内側）から上記推定した原稿の縦幅分離れた位置に設定する。このようにして、Ｓ２６５では、読取領域を、原稿台１１ａにおける原稿の載置領域に対応させる。
【００８０】
但し、Ｓ２６５では、後続の処理にて変倍率１でコピー動作を実現する関係上、読取領域を記録紙サイズより大きく設定する必要はないので、原稿サイズよりも記録紙サイズの方が小さい場合には、読取領域を記録紙サイズに対応させるようにしてもよい。このようにして、Ｓ２６５での処理を終えると、ＣＰＵ７０は、Ｓ２７０に移行する。
【００８１】
また、Ｓ２７０に移行すると、ＣＰＵ７０は、読取制御部２０を通じて画像読取部１０を制御することで、画像読取部１０に、読取ユニット１５を原稿読取開始位置から原稿読取終了位置まで副走査方向に搬送させると共に、当該搬送中にはライン毎の読取動作を読取ユニット１５に実行させて、上記設定した読取領域の画像を、読取ユニット１５に読み取らせ、当該読取領域の読取結果を表す画像データが、ＲＡＭ８０に記録されるようにする（Ｓ２７０）。
【００８２】
また、この処理を終えると、ＣＰＵ７０は、ＲＡＭ８０に記録された上記読取結果を表す画像データを、予め設定された変倍率で拡大又は縮小処理すると共に、予め設定された傾き補正量分、回転処理して、上記読取結果を表す画像データを、印刷用の画像データに変換し、変換後の画像データを、印刷対象データに設定する（Ｓ２８０）。但し、傾き補正量がゼロに設定されている場合には、Ｓ２８０において、回転処理を、実行しないものとする。
【００８３】
また、Ｓ２８０での処理を終えると、ＣＰＵ７０は、当該印刷対象データについての印刷処理を実行する（Ｓ２９０）。即ち、印刷制御部４０を通じて、印刷部３０に印刷対象データに基づく画像を、給紙した記録紙に印刷させる。その後、当該複写制御処理を終了する。
【００８４】
このようにして、自動変倍複写処理では、読取可能領域Ｒ０における一部領域のプレスキャン結果に基づき、原稿サイズ等を推定し、その結果から、本スキャン時（Ｓ２７０実行時）の読取領域を決定すると共に、変倍率及び傾き補正量を決定する。特に、原稿エッジの検出に失敗した場合や、検出した原稿エッジに基づいて推定した原稿領域の確度が低い場合には、自動変倍機能をオフにして、変倍率１で、コピー動作を実現し、それ以外の場合には、自動変倍機能を働かせて、原稿のコピー画像を、原稿サイズと記録紙サイズとの比に対応する大きさに、拡大又は縮小して、記録紙に印刷する。
【００８５】
続いて、図５を用いて、ＣＰＵ７０が、Ｓ２２０で実行する原稿推定処理について説明する。図５は、ＣＰＵ７０が実行する原稿推定処理を表すフローチャートである。
この原稿推定処理を開始すると、ＣＰＵ７０は、まず、変数Ｓを上述のプレスキャン領域上端のＹ座標であるＹＰＲＥに設定することにより（Ｓ＝ＹＰＲＥ）、Ｙ軸方向の検査範囲を、Ｙ＝０からＹ＝Ｓ＝ＹＰＲＥに設定する（Ｓ４１０）。また、この処理を終えると、Ｓ４２０に移行し、右エッジ検出処理を実行する。図６は、ＣＰＵ７０が実行する右エッジ検出処理を表すフローチャートである。
【００８６】
右エッジ検出処理を開始すると、ＣＰＵ７０は、まずＳ５１０にて、副走査方向検査位置Ｙｅを、読取可能領域Ｒ０の下端Ｙ座標に設定し（Ｙｅ＝０）、Ｓ５１５にて、主走査方向検査位置Ｘｅを、読取可能領域Ｒ０の右端Ｘ座標に設定する（Ｘｅ＝ＸＭＡＸ）。また、Ｓ５１５では、変数Ｃを値ゼロに初期化する（Ｃ＝０）。その後、副走査方向検査位置Ｙｅが検査範囲を超えているか否かを判断する（Ｓ５２０）。具体的には、Ｙｅ＞Ｓであるか否かを判断する。
【００８７】
そして、副走査方向検査位置Ｙｅが検査範囲を超えていないと判断すると（Ｓ５２０でＮｏ）、ＣＰＵ７０は、主走査方向検査位置Ｘｅ及び副走査方向検査位置Ｙｅで定まる検査位置（Ｘ，Ｙ）＝（Ｘｅ，Ｙｅ）に対応する検査対象データの画素値を参照することにより、検査位置（Ｘｅ，Ｙｅ）がエッジ点であるか否かを判断する（Ｓ５２５）。尚、図７は、エッジ画像データの構成を抜粋して示し、更に、右エッジ検出処理により追跡するエッジ点の軌跡を表した説明図である。図７に示す例では、画素値「１」の地点がエッジ点に該当する。
【００８８】
そして、検査位置（Ｘｅ，Ｙｅ）がエッジ点ではないと判断すると（Ｓ５２５でＮｏ）、ＣＰＵ７０は、Ｓ５４０に移行して、主走査方向検査位置Ｘｅを、Ｘ軸マイナス方向に１画素移動した位置に更新し（Ｘｅ←Ｘｅ−１）、更新後の主走査方向検査位置Ｘｅが読取可能領域Ｒ０の左端を、はみ出ていないかどうかを判断する。具体的には、Ｘｅ＜０であるか否かを判断する（Ｓ５４３）。
【００８９】
そして、主走査方向検査位置Ｘｅが、読取可能領域Ｒ０の左端をはみ出ていないと判断すると（Ｓ５４３でＮｏ）、ＣＰＵ７０は、Ｓ５２０に移行して、副走査方向検査位置Ｙｅが検査範囲を超えているか否か（Ｙｅ＞Ｓであるか否か）を判断し、副走査方向検査位置Ｙｅが検査範囲を超えていないと判断すると（Ｓ５２０でＮｏ）、Ｓ５２５に移行し、副走査方向検査位置Ｙｅが検査範囲を超えていると判断すると（Ｓ５２０でＹｅｓ）、Ｓ５９０に移行する。
【００９０】
一方、Ｓ５４３において、主走査方向検査位置Ｘｅが読取可能領域Ｒ０の左端をはみ出ていると判断すると（Ｘｅ＜０であると判断すると）、ＣＰＵ７０は、Ｓ５４７に移行し、主走査方向検査位置Ｘｅを、読取可能領域Ｒ０の右端（ＸＭＡＸ）に設定すると共に（Ｘｅ＝ＸＭＡＸ）、副走査方向検査位置Ｙｅを、現在値Ｙｅに８加えた値に更新する（Ｙｅ←Ｙｅ＋８）。即ち、副走査方向検査位置Ｙｅを、Ｙ軸方向に８画素進んだ位置に設定する。その後、Ｓ５２０に移行して、上述の処理を実行する。
【００９１】
また、検査位置（Ｘｅ，Ｙｅ）がエッジ点であると判断すると（Ｓ５２５でＹｅｓ）、ＣＰＵ７０は、Ｓ５３０に移行し、変数（Ｘ０，Ｙ０）に、現在の検査位置（Ｘｅ，Ｙｅ）の座標値を、設定する（Ｘ０←Ｘｅ，Ｙ０←Ｙｅ）。また、変数Ｙ１を、座標Ｙ＝Ｙ０からＹ軸方向に８画素進んだ座標値Ｙ１（＝Ｙ０＋８）に更新する（Ｓ５３３）。
【００９２】
その後、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点及び座標（Ｘ０＋１，Ｙ１）の地点の少なくとも一つが、エッジ点であるか否かを判断し（Ｓ５３７）、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点及び座標（Ｘ０＋１，Ｙ１）の地点のいずれもがエッジ点でない場合には（Ｓ５３７でＮｏ）、Ｓ５４０に移行して、主走査方向検査位置Ｘｅを、Ｘ軸マイナス方向に１画素移動した位置に更新する（Ｘｅ←Ｘｅ−１）。
【００９３】
一方、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点及び座標（Ｘ０＋１，Ｙ１）の地点の少なくとも一つがエッジ点であると判断した場合には（Ｓ５３７でＹｅｓ）、Ｓ５５０に移行して、座標（Ｘ０，Ｙ０）の地点が連続性のあるエッジ点であると判定し、この座標（Ｘ０，Ｙ０）を、連続性のあるエッジ点の座標データとして、一時記憶する。
【００９４】
また、この処理を終えると、ＣＰＵ７０は、Ｓ５６０に移行し、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点及び座標（Ｘ０＋１，Ｙ１）の地点の内、エッジ点である地点の一つを、予め定められた優先度に従って選択する。
【００９５】
具体的に、右エッジ検出処理においては、読取可能領域Ｒ０右端側に近い座標ほど高い優先度が設定されている。即ち、読取可能領域Ｒ０右端側に近い座標（Ｘ０＋１，Ｙ１）の地点が優先度「大」に設定され、座標（Ｘ０，Ｙ１）の地点が優先度「中」に設定され、座標（Ｘ０−１，Ｙ１）の地点が優先度「小」に設定されている。
【００９６】
このように優先度が設定されているのは、原稿の右端より右側においては、原稿台１１ａに何も存在せず、エッジ点は存在しないはずであり、読取可能領域Ｒ０右端側に近いエッジ点であるほど、そのエッジ点が原稿の右端に対応するエッジ点である可能性が高いためである。
【００９７】
即ち、Ｓ５６０では、上記優先度に従って、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点、及び、座標（Ｘ０＋１，Ｙ１）の地点の内、エッジ点である地点であって優先度の最も高い地点を選択する。そして、変数Ｘ０を、選択した地点のＸ座標に更新し、変数Ｙ０を、選択した地点のＹ座標に更新する。その後、変数Ｃを１加算した値に更新する（Ｓ５６３）。
【００９８】
そして、この処理を終えると、ＣＰＵ７０は、更新後の変数Ｃの値がＣ＝８であるか否かを判断し、Ｃ＝８でないと判断すると（Ｓ５６７でＮｏ）、Ｓ５３３に移行して、変数Ｙ１を、座標Ｙ＝Ｙ０からＹ軸方向に８画素進んだ地点のＹ座標に更新する（Ｙ１＝Ｙ０＋８）。その後、Ｓ５３７以降の処理を実行する。
【００９９】
ＣＰＵ７０は、このような処理を実行することにより、図７に示すように、Ｙ軸方向に８画素おきに、エッジ点がＹ軸方向に連続するものであるか否かを検査する。そして、Ｃ＝８であると判断すると（Ｓ５６７でＹｅｓ）、８回に及ぶＳ５５０の処理で連続性のあるエッジ点として判定した計８地点の各座標データを、原稿右エッジデータとしてＲＡＭ８０に記憶する（Ｓ５７０）。
【０１００】
また、この処理を終えると、ＣＰＵ７０は、Ｓ５８０に移行して、副走査方向検査位置Ｙｅが検査範囲を超えているか否か（Ｙｅ＞Ｓであるか否か）を判断し、副走査方向検査位置Ｙｅが検査範囲を超えていないと判断すると（Ｓ５８０でＮｏ）、副走査方向検査位置Ｙｅを６４画素進んだ位置に更新して（Ｓ５８５）、Ｓ５１５に移行する。
【０１０１】
このようにして、ＣＰＵ７０は、連続するエッジ点を、８つを１組として、繰返し検出する。そして、副走査方向検出位置Ｙｅが検査範囲を超えると（Ｓ５２０でＹｅｓ又はＳ５８０でＹｅｓ）、Ｓ５９０に移行し、Ｓ５７０で原稿右エッジデータとして記憶された座標データ群の中から、右エッジ（原稿の右端を表すエッジ点）として確度の低い座標データ群を削除して、原稿右エッジデータを確定する。
【０１０２】
具体的には、図８に示すように、原稿右エッジデータとして記憶された座標データ群の内、連続性のある座標データ群に対して原稿内側領域に大きくずれた位置にある、明白に連続性のない座標データ群を、原稿右エッジデータから除去し、原稿右エッジデータを確定する。その後、当該右エッジ検出処理を終了する。但し、Ｓ５９０の処理は原稿エッジの検出精度を高めるための処理であるので、Ｓ５９０の処理については、実行しないように、右エッジ検出処理を構成してもよい。
【０１０３】
このようにして、右エッジ検出処理を終えると、ＣＰＵ７０は、Ｓ４３０に移行し、直前の右エッジ検出処理で右エッジの検出に失敗したか否かを判断する。具体的には、直前の右エッジ検出処理で原稿右エッジデータとして登録された座標データがない場合、右エッジの検出に失敗したと判断し、原稿右エッジデータとして登録された座標データがある場合には、右エッジの検出に成功したと判断する。
【０１０４】
但し、例外的に、原稿右エッジデータとして登録された座標データが読取可能領域Ｒ０の左端（Ｙ＝０）近傍にある場合には、左エッジ（原稿の左端を表すエッジ点）の座標データが間違って原稿右エッジデータとして登録されているとみなして、原稿右エッジデータとして登録された座標データがある場合でも、右エッジの検出に失敗したと判断してもよい。
【０１０５】
尚、右エッジの検出に失敗するケースとしては、原稿サイズが原稿台１１ａのサイズより大きく、原稿の右端が原稿台１１ａからはみ出しているケースなどを挙げることができる。
【０１０６】
そして、右エッジの検出に失敗したと判断すると（Ｓ４３０でＹｅｓ）、ＣＰＵ７０は、Ｓ４３１に移行し、「失敗」判定をすると共に、原稿台１１ａに載置されている原稿のサイズ（縦幅及び横幅）が、原稿台１１ａに載置可能な最大サイズ（読取可能領域Ｒ０に対応するサイズ）であると推定する（Ｓ４３３）。そして、この処理を終えると、当該原稿推定処理を終了する。尚、Ｓ４３１で「失敗」判定がなされると、上述したＳ２４０では、Ｙｅｓと判断される。
【０１０７】
一方、Ｓ４３０において右エッジの検出に成功したと判断すると（Ｓ４３０でＮｏ）、ＣＰＵ７０は、Ｓ４３７に移行し、右エッジ検出処理で確定された原稿右エッジデータが示す各点を直線近似して、原稿右エッジデータが示す点群の近似直線（以下、「右エッジ近似直線」と表現する。）を算出する。
【０１０８】
また、この処理を終えると、ＣＰＵ７０は、Ｓ４４０に移行して、右エッジ近似直線がＹ軸に対し所定角度より大きく傾いているか否かを判断する。本実施例では、具体的に、右エッジ近似直線がＹ軸に対し０．５度より大きく傾いているか否かを判断する。
【０１０９】
そして、右エッジ近似直線の傾きが上記所定角度以下であると判断すると（Ｓ４４０でＮｏ）、ＣＰＵ７０は、原稿がフレーム１３ａの内側左下角に突き当てられて原稿台１１ａに正しく載置されていると推定して、図５右図に示すように、右エッジ近似直線と原稿台１１ａ下端縁（換言すると、フレーム１３ａの下辺（以下、「下フレーム」と表現する。）内側）との交点を、原稿の右下角位置であると推定する（Ｓ４４１）。
【０１１０】
また、この処理を終えると、ＣＰＵ７０は、原稿の左下角位置が原稿台１１ａの左下角（換言すると、フレーム１３ａの内側左下角）の地点であると推定し、更に、推定した原稿の左下角位置及び右下角位置を結ぶ線分が原稿短辺であり、原稿台１１ａに載置されている原稿が定型用紙であると仮定して、原稿台１１ａに載置された原稿のサイズ及び原稿台１１ａにおける原稿の載置領域を推定する（Ｓ４４３）。
【０１１１】
即ち、上記推定した原稿の左下角位置から右下角位置までの長さを、原稿の短辺長さ（横幅）と推定し、この短辺長さの√２倍を、原稿の長辺長さ（縦幅）と推定して、原稿サイズを推定すると共に、上記推定した左下角位置及び右下角位置を基点に上記原稿サイズの原稿が原稿台１１ａに載置されているものとして、原稿の左上角及び右上角が位置する座標を導出し、これら４つの角を結んでできる四角形内の領域を、原稿の載置領域であると推定する。尚、ここで原稿短辺長さの√２倍を、原稿の長辺長さとして推定しているのは、定型用紙の短辺長さ：長辺長さの比が１：√２となっているためである。
【０１１２】
また、この処理を終えると、ＣＰＵ７０は、原稿台１１ａに載置されている原稿の傾き角を推定する（Ｓ４４５）。尚、Ｓ４４１，Ｓ４４３では、原稿が原稿台１１ａの左下角に正確に突き当てられて原稿台１１ａに載置されていると仮定して角位置を求めているので、Ｓ４４５では、原稿の傾き角がゼロである（傾きがない）と推定する。
【０１１３】
その後、ＣＰＵ７０は、Ｓ４４７に移行して、「確度高」と判定する。尚、ここで、「確度高」と判定するのは、後続の処理であるＳ２４５においてＹｅｓと判断し、Ｓ２５１に移行するための形式的な処理である。即ち、ＣＰＵ７０は、Ｓ４４０でＮｏと判断すると、Ｓ４４７で「確度高」と判定し、Ｓ２４５においてＹｅｓと判断して、Ｓ２５１に移行する。
【０１１４】
Ｓ４４７での処理を終えると、ＣＰＵ７０は、当該原稿推定処理（Ｓ２２０）を終えて、Ｓ２３０に移行し、上述したようにして、後続の処理を実行する。即ち、原稿推定処理で推定した原稿サイズ、原稿の傾き角、原稿の載置領域の情報を基に、変倍率及び傾き補正量を設定し（Ｓ２５１，Ｓ２５３）、更に読取領域を設定する（Ｓ２５５）。その後、本スキャンに移行して（Ｓ２７０）、コピー動作を実現する。
【０１１５】
話を原稿推定処理のＳ４４０（図５参照）に戻すと、ＣＰＵ７０は、ここで、右エッジ近似直線がＹ軸に対し所定角度より大きく傾いていると判断した場合（Ｓ４４０でＹｅｓ）、Ｓ４５０に移行して、図９に示す左エッジ検出処理を実行する。図９は、ＣＰＵ７０が実行する左エッジ検出処理を表すフローチャートである。
【０１１６】
左エッジ検出処理を開始すると、ＣＰＵ７０は、Ｓ７１０にて、副走査方向検査位置Ｙｅ＝０に設定し、Ｓ７１５にて、主走査方向検査位置Ｘｅを、読取可能領域Ｒ０の左端Ｘ座標に設定する（Ｘｅ＝０）。また、Ｓ７１５では、変数Ｃを値ゼロに初期化する（Ｃ＝０）。
【０１１７】
その後、ＣＰＵ７０は、副走査方向検査位置Ｙｅが検査範囲を超えているか否か（即ち、Ｙｅ＞Ｓであるか否か）を判断し（Ｓ７２０）、副走査方向検査位置Ｙｅが検査範囲を超えていないと判断すると（Ｓ７２０でＮｏ）、検査位置（Ｘ，Ｙ）＝（Ｘｅ，Ｙｅ）に対応する検査対象データの画素値を参照して、検査位置（Ｘｅ，Ｙｅ）がエッジ点であるか否かを判断する（Ｓ７２５）。
【０１１８】
そして、検査位置（Ｘｅ，Ｙｅ）がエッジ点ではないと判断すると（Ｓ７２５でＮｏ）、Ｓ７４０に移行し、主走査方向検査位置Ｘｅを、Ｘ軸プラス方向に１画素移動した地点に更新し（Ｘｅ←Ｘｅ＋１）、更新した主走査方向検査位置Ｘｅが、読取可能領域Ｒ０の右端を、はみ出ていないかどうかを判断する（Ｓ７４３）。具体的には、Ｘｅ＞ＸＭＡＸであるか否かを判断する（Ｓ７４３）。そして、主走査方向検査位置Ｘｅが、読取可能領域Ｒ０の右端をはみ出ていないと判断すると（Ｓ７４３でＮｏ）、Ｓ７２０に移行する。
【０１１９】
一方、Ｓ７４３で主走査方向検査位置Ｘｅが読取可能領域Ｒ０の右端をはみ出ていると判断すると（Ｘｅ＞ＸＭＡＸであると判断すると）、ＣＰＵ７０は、Ｓ７４７に移行し、主走査方向検査位置Ｘｅを、読取可能領域Ｒ０の左端に設定すると共に（Ｘｅ＝０）、副走査方向検査位置Ｙｅを、Ｙ軸方向に８画素進んだ位置に設定する（Ｙｅ←Ｙｅ＋８）。その後、Ｓ７２０に移行する。
【０１２０】
また、検査位置（Ｘｅ，Ｙｅ）がエッジ点であると判断すると（Ｓ７２５でＹｅｓ）、ＣＰＵ７０は、Ｓ７３０に移行して、変数（Ｘ０，Ｙ０）に、現在の検査位置（Ｘｅ，Ｙｅ）の座標値を設定する（Ｘ０←Ｘｅ，Ｙ０←Ｙｅ）と共に、変数Ｙ１を、値Ｙ１＝Ｙ０＋８に更新する（Ｓ７３３）。
【０１２１】
その後、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点及び座標（Ｘ０＋１，Ｙ１）の地点の少なくとも一つが、エッジ点であるか否かを判断し（Ｓ７３７）、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点及び座標（Ｘ０＋１，Ｙ１）の地点のいずれもがエッジ点でない場合には（Ｓ７３７でＮｏ）、Ｓ７４０に移行する。
【０１２２】
一方、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点及び座標（Ｘ０＋１，Ｙ１）の地点の少なくとも一つがエッジ点であると判断した場合には（Ｓ７３７でＹｅｓ）、Ｓ７５０に移行して、座標（Ｘ０，Ｙ０）の地点が連続性のあるエッジ点であると判定し、この座標（Ｘ０，Ｙ０）を、連続性のあるエッジ点の座標データとして、一時記憶する。
【０１２３】
また、この処理を終えると、ＣＰＵ７０は、Ｓ７６０に移行し、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点及び座標（Ｘ０＋１，Ｙ１）の地点の内、エッジ点である地点の一つを、予め定められた優先度に従って選択する。
【０１２４】
具体的に、左エッジ検出処理においては、読取可能領域Ｒ０左端側に近い座標ほど高い優先度が設定されている。即ち、読取可能領域Ｒ０左端側に近い座標（Ｘ０−１，Ｙ１）の地点が優先度「大」に設定され、座標（Ｘ０，Ｙ１）の地点が優先度「中」に設定され、座標（Ｘ０＋１，Ｙ１）の地点が優先度「小」に設定されている。このように優先度が設定されているのは、原稿の左端より左側においては、原稿台１１ａに何も存在せず、エッジ点は存在しないはずであり、読取可能領域Ｒ０左端側に近いエッジ点であるほど、そのエッジ点が原稿の左端に対応するエッジ点である可能性が高いためである。
【０１２５】
従って、Ｓ７６０では、この優先度に従って、座標（Ｘ０−１，Ｙ１）の地点、座標（Ｘ０，Ｙ１）の地点、及び、座標（Ｘ０＋１，Ｙ１）の地点の内、エッジ点である地点であって優先度の最も高い地点を選択する。そして、変数Ｘ０を、選択した地点のＸ座標に更新し、変数Ｙ０を、選択した地点のＹ座標に更新する。その後、変数Ｃを１加算した値に更新する（Ｓ７６３）。
【０１２６】
また、この処理を終えると、ＣＰＵ７０は、更新後の変数Ｃの値がＣ＝８であるか否かを判断し、Ｃ＝８でないと判断すると（Ｓ７６７でＮｏ）、Ｓ７３３に移行して、変数Ｙ１を、Ｙ１＝Ｙ０＋８に更新する。その後、Ｓ７３７以降の処理を実行する。
【０１２７】
このような処理手順により、ＣＰＵ７０は、右エッジ検出処理と同様（図７参照）、Ｙ軸方向に８画素おきに、エッジ点がＹ軸方向に連続するものであるか否かを検査する。そして、Ｃ＝８であると判断すると（Ｓ７６７でＹｅｓ）、Ｓ７５０で連続性のあるエッジ点として判定した計８地点の各座標データを、原稿左エッジデータとしてＲＡＭ８０に記憶する（Ｓ７７０）。
【０１２８】
また、この処理を終えると、ＣＰＵ７０は、Ｓ７８０に移行して、副走査方向検査位置Ｙｅが検査範囲を超えているか否か（Ｙｅ＞Ｓであるか否か）を判断し、副走査方向検査位置Ｙｅが検査範囲を超えていないと判断すると（Ｓ７８０でＮｏ）、副走査方向検査位置Ｙｅを６４画素進んだ地点に更新して（Ｓ７８５）、Ｓ７１５に移行する。
【０１２９】
このようにして、ＣＰＵ７０は、連続するエッジ点を、８つずつ、繰返し検出する。そして、副走査方向検出位置Ｙｅが検査範囲を超えると（Ｓ７２０でＹｅｓ又はＳ７８０でＹｅｓ）、Ｓ７９０に移行し、Ｓ７７０で原稿左エッジデータとして記憶された座標データ群の中から、左エッジ（原稿の左端を表すエッジ点）として確度の低い座標データ群を削除して、原稿左エッジデータを確定する。
【０１３０】
具体的には、Ｓ５９０での処理と同様、原稿左エッジデータとして記憶された座標データ群の内、連続性のある座標データ群に対して原稿内側領域に大きくずれた位置にある、明白に連続性のない座標データ群を、原稿左エッジデータから除去し、原稿左エッジデータを確定する。その後、当該左エッジ検出処理を終了する。但し、Ｓ７９０の処理については、実行しないように、左エッジ検出処理を構成してもよい。
【０１３１】
また、このようにして、左エッジ検出処理を終えると、ＣＰＵ７０は、Ｓ４５５に移行し、左エッジ検出処理で確定された原稿左エッジデータが示す各点を直線近似して、原稿左エッジデータが示す点群の近似直線（以下、「左エッジ近似直線」という。）を算出する。その後、Ｓ４６０に移行する。
【０１３２】
但し、直前の左エッジ検出処理で原稿左エッジデータとして登録された座標データがない場合には、左エッジの検出に失敗したと判断して、左エッジ近似直線を算出することなく、Ｓ４６０に移行するものとする。この他、原稿左エッジデータとして登録されている座標データの全て又は一部が原稿右エッジデータにも登録されている場合には、右エッジ（原稿の右端を表すエッジ点）の座標データが間違って原稿左エッジデータとして登録されているとみなして、原稿左エッジデータとして登録された座標データがある場合でも、左エッジの検出に失敗したと判断し、左エッジ近似直線を算出することなく、Ｓ４６０に移行するようにしてもよい。
【０１３３】
また、Ｓ４６０に移行すると、ＣＰＵ７０は、図１０に示す下エッジ検出処理を実行する。図１０は、ＣＰＵ７０が実行する下エッジ検出処理を表すフローチャートである。
下エッジ検出処理を開始すると、ＣＰＵ７０は、Ｓ８１０にて、主走査方向検査位置Ｘｅを、読取可能領域Ｒ０の左端Ｘ座標に設定し（Ｘｅ＝０）、Ｓ８１５にて、副走査方向検査位置Ｙｅを、読取可能領域Ｒ０の下端Ｙ座標に設定する（Ｙｅ＝０）。また、Ｓ８１５では、変数Ｃを値ゼロに初期化する（Ｃ＝０）。
【０１３４】
また、この処理を終えると、ＣＰＵ７０は、主走査方向検査位置Ｘｅが読取可能領域Ｒ０の右端を超えているか否か（即ち、Ｘｅ＞ＸＭＡＸであるか否か）を判断し（Ｓ８２０）、主走査方向検査位置Ｘｅが読取可能領域Ｒ０の右端を超えていないと判断すると（Ｓ８２０でＮｏ）、検査位置（Ｘ，Ｙ）＝（Ｘｅ，Ｙｅ）に対応する検査対象データの画素値を参照し、検査位置（Ｘｅ，Ｙｅ）がエッジ点であるか否かを判断する（Ｓ８２５）。
【０１３５】
そして、検査位置（Ｘｅ，Ｙｅ）がエッジ点ではないと判断すると（Ｓ８２５でＮｏ）、Ｓ８４０に移行して、副走査方向検査位置Ｙｅを、Ｙ軸プラス方向に１画素移動した位置に更新し（Ｙｅ←Ｙｅ＋１）、更新後の副走査方向検査位置Ｙｅが検査範囲を超えているか否か（Ｙｅ＞Ｓであるか否か）を判断する（Ｓ８４３）。
【０１３６】
そして、副走査方向検査位置Ｙｅが検査範囲を超えていないと判断すると（Ｓ８４３でＮｏ）、Ｓ８２０に移行する。
一方、Ｓ８４３で副走査方向検査位置Ｙｅが検査範囲を超えていると判断すると（Ｙｅ＞Ｓであると判断すると）、ＣＰＵ７０は、Ｓ８４７に移行し、副走査方向検査位置Ｙｅを、読取可能領域Ｒ０の下端に設定すると共に（Ｙｅ＝０）、主走査方向検査位置Ｘｅを、Ｘ軸方向に８画素進んだ位置に設定する（Ｘｅ←Ｘｅ＋８）。その後、Ｓ８２０に移行する。
【０１３７】
この他、ＣＰＵ７０は、Ｓ８２５において、検査位置（Ｘｅ，Ｙｅ）がエッジ点であると判断すると（Ｓ８２５でＹｅｓ）、Ｓ８３０に移行し、変数（Ｘ０，Ｙ０）に、現在の検査位置（Ｘｅ，Ｙｅ）の座標値を、設定する（Ｘ０←Ｘｅ，Ｙ０←Ｙｅ）。また、変数Ｘ１を、値Ｘ１＝Ｘ０＋８に更新する（Ｓ８３３）。
【０１３８】
その後、ＣＰＵ７０は、座標（Ｘ１，Ｙ０−１）の地点、座標（Ｘ１，Ｙ０）の地点及び座標（Ｘ１，Ｙ０＋１）の地点の少なくとも一つが、エッジ点であるか否かを判断し（Ｓ８３７）、座標（Ｘ１，Ｙ０−１）の地点、座標（Ｘ１，Ｙ０）の地点及び座標（Ｘ１，Ｙ０＋１）の地点のいずれもがエッジ点でない場合には（Ｓ８３７でＮｏ）、Ｓ８４０に移行する。
【０１３９】
一方、座標（Ｘ１，Ｙ０−１）の地点、座標（Ｘ１，Ｙ０）の地点及び座標（Ｘ１，Ｙ０＋１）の地点の少なくとも一つがエッジ点であると判断すると（Ｓ８３７でＹｅｓ）、ＣＰＵ７０は、Ｓ８５０に移行して、座標（Ｘ０，Ｙ０）の地点が連続性のあるエッジ点であると判定し、この座標（Ｘ０，Ｙ０）を、連続性のあるエッジ点の座標データとして、一時記憶する。
【０１４０】
また、この処理を終えると、ＣＰＵ７０は、Ｓ８６０に移行し、座標（Ｘ１，Ｙ０−１）の地点、座標（Ｘ１，Ｙ０）の地点及び座標（Ｘ１，Ｙ０＋１）の地点の内、エッジ点である地点の一つを、予め定められた優先度に従って選択する。
【０１４１】
具体的に、下エッジ検出処理においては、読取可能領域Ｒ０下端側に近い座標ほど高い優先度が設定されている。即ち、読取可能領域Ｒ０下端側に近い座標（Ｘ１，Ｙ０−１）の地点が優先度「大」に設定され、座標（Ｘ１，Ｙ０）の地点が優先度「中」に設定され、座標（Ｘ１，Ｙ０＋１）の地点が優先度「小」に設定されている。このように優先度が設定されているのは、原稿の下端より下側においては、原稿台１１ａに何も存在せず、エッジ点は存在しないはずであり、読取可能領域Ｒ０下端側に近いエッジ点であるほど、そのエッジ点が原稿の下端に対応するエッジ点である可能性が高いためである。
【０１４２】
従って、Ｓ８６０では、この優先度に従って、座標（Ｘ１，Ｙ０−１）の地点、座標（Ｘ１，Ｙ０）の地点及び座標（Ｘ１，Ｙ０＋１）の地点の内、エッジ点である地点であって優先度の最も高い地点を選択する。そして、変数Ｘ０を、選択した地点のＸ座標に更新し、変数Ｙ０を、選択した地点のＹ座標に更新する。その後、変数Ｃを１加算した値に更新する（Ｓ８６３）。
【０１４３】
また、この処理を終えると、ＣＰＵ７０は、更新後の変数Ｃの値がＣ＝８であるか否かを判断し（Ｓ８６７）、Ｃ＝８でないと判断すると（Ｓ８６７でＮｏ）、Ｓ８３３に移行して、変数Ｘ１を、Ｘ１＝Ｘ０＋８に更新する。その後、Ｓ８３７以降の処理を実行する。
【０１４４】
このような処理を実行することにより、ＣＰＵ７０は、Ｘ軸方向に８画素おきに、エッジ点がＸ軸方向に連続するものであるか否かを検査する。そして、Ｃ＝８であると判断すると（Ｓ８６７でＹｅｓ）、Ｓ８５０で連続性のあるエッジ点として判定した計８地点の各座標データを、原稿下エッジデータとしてＲＡＭ８０に記憶する（Ｓ８７０）。
【０１４５】
また、この処理を終えると、ＣＰＵ７０は、Ｓ８８０に移行して、主走査方向検査位置Ｘｅが読取可能領域Ｒ０右端を超えているか否か（Ｘｅ＞ＸＭＡＸであるか否か）を判断し、主走査方向検査位置Ｘｅが読取可能領域Ｒ０右端を超えていないと判断すると（Ｓ８８０でＮｏ）、主走査方向検査位置Ｘｅを６４画素進んだ地点に更新して（Ｓ８８５）、Ｓ８１５に移行する。
【０１４６】
このようにして、ＣＰＵ７０は、連続するエッジ点を、８つずつ、繰返し検出する。そして、主走査方向検出位置Ｘｅが読取可能領域Ｒ０右端を超えると（Ｓ８２０でＹｅｓ又はＳ８８０でＹｅｓ）、Ｓ８９０に移行し、Ｓ８７０で原稿下エッジデータとして記憶された座標データ群の中から、下エッジ（原稿の下端を表すエッジ点）として確度の低い座標データ群を削除して、原稿下エッジデータを確定する。
【０１４７】
具体的には、Ｓ５９０での処理と同様、原稿下エッジデータとして記憶された座標データ群の内、連続性のある座標データ群に対して原稿内側領域に大きくずれた位置にある、明白に連続性のない座標データ群を、原稿下エッジデータから除去し、原稿下エッジデータを確定する。その後、当該下エッジ検出処理を終了する。但し、Ｓ８９０の処理については、実行しないように、下エッジ検出処理を構成してもよい。
【０１４８】
また、このようにして、下エッジ検出処理を終えると、ＣＰＵ７０は、Ｓ４６５に移行し、下エッジ検出処理で確定された原稿下エッジデータが示す各点を直線近似して、原稿下エッジデータが示す点群の近似直線（以下、「下エッジ近似直線」という。）を算出する。その後、Ｓ４７０に移行する。但し、直前の下エッジ検出処理で原稿下エッジデータとして登録された座標データがない場合には、下エッジの検出に失敗したと判断して、下エッジ近似直線を算出することなく、Ｓ４７０に移行するものとする。
【０１４９】
また、Ｓ４７０に移行すると、ＣＰＵ７０は、右エッジ近似直線、左エッジ近似直線、及び下エッジ近似直線の相互関係から、右エッジ検出処理（Ｓ４２０）、左エッジ検出処理（Ｓ４５０）及び下エッジ検出処理（Ｓ４６０）にて正しく原稿エッジが検出されたか否かを判断する。即ち、右エッジ、左エッジ及び下エッジの全てが正常に検出されたか否かを判断する。
【０１５０】
具体的には、右エッジ近似直線と左エッジ近似直線とが平行な関係にあり、右エッジ近似直線と下エッジ近似直線とが直交関係にあり、左エッジ近似直線と下エッジ近似直線とが直交関係にある場合には、正しく原稿エッジが検出されたとして、Ｓ４７０でＹｅｓと判断する。
【０１５１】
一方、右エッジ、左エッジ及び下エッジのいずれか一つの検出にでも失敗している場合や、右エッジ、左エッジ及び下エッジの関係が正しい関係にない場合には、Ｓ４７０でＮｏと判断する。即ち、右エッジ近似直線と左エッジ近似直線とが平行な関係にあり、右エッジ近似直線と下エッジ近似直線とが直交関係にあり、且つ、左エッジ近似直線と下エッジ近似直線とが直交関係にある場合を除いては、原稿エッジが正しく検出されていないとして、Ｓ４７０でＮｏと判断する。但し、ここでの相互関係の判定は、誤差を考慮して実行すべきである。
【０１５２】
そして、原稿エッジが正しく検出されていないと判断すると（Ｓ４７０でＮｏ）、ＣＰＵ７０は、Ｓ４７１に移行して、「失敗」判定をすると共に、原稿台１１ａに載置された原稿のサイズが、予め設定された基本サイズであると推定する（Ｓ４７３）。
【０１５３】
尚、本実施例の複合機１は、基本サイズの情報を、設定情報として、予め操作キーを通じてユーザから入手可能な構成にされている。即ち、Ｓ４７３では、原稿台１１ａに載置された原稿のサイズが、ユーザから予め指定された基本サイズの原稿であると推定する。
【０１５４】
但し、製品出荷時の基本サイズの設定値は、原稿台１１ａに載置可能な原稿の最大サイズとしておくのが好ましい。なぜなら、原稿サイズを最大サイズとして推定すれば、その原稿サイズが真の原稿サイズと異なっていても、Ｓ２６５で実行する読取領域の設定動作において、真の原稿サイズに対応する読取領域よりも小さい読取領域を、設定してしまうことがなく、本スキャンにて、原稿台１１ａに載置された原稿全体を読み取って、そのコピー画像を、記録紙に印刷することができ、後続処理に悪影響が及びにくいからである。
【０１５５】
このようにして、Ｓ４７３での処理を終えると、ＣＰＵ７０は、当該原稿推定処理を終了して、Ｓ２３０以降の処理を実行することにより、Ｓ４７３で推定した原稿サイズの情報を基に読取領域等を設定し（Ｓ２６５）、変倍率１且つ傾き補正量ゼロで、コピー動作を実現する。
【０１５６】
一方、Ｓ４７０で原稿エッジが正しく検出されていると判断すると（Ｓ４７０でＹｅｓ）、ＣＰＵ７０は、Ｓ４８１に移行して、原稿の左下角位置を、左エッジ近似直線と下エッジ近似直線との交点であると推定して、その座標値を算出し、更に、原稿の右下角位置を、右エッジ近似直線と下エッジ近似直線との交点であると推定して、その座標値を算出する（Ｓ４８３）。尚、図１１は、Ｓ４８１及びＳ４８３での原稿左下角位置Ｋａ及び原稿右下角位置Ｋｂの推定方法を示した説明図である。図中、白丸がエッジ点を表し、黒丸が角位置Ｋａ，Ｋｂを表す。
【０１５７】
また、Ｓ４８３での処理を終えると、ＣＰＵ７０は、上記推定した原稿の左下角位置及び右下角位置の関係から、原稿台１１ａに載置されている原稿が四角形状であるとの仮定の元で、検査対象データにおける原稿領域を推定する（Ｓ４８５）。
【０１５８】
具体的に、Ｓ４８５では、下エッジ近似直線の線分であって原稿左下角位置に対応する地点から原稿右下角位置に対応する地点までの線分、右エッジ近似直線の線分であって原稿右下角位置に対応する地点からＹ軸プラス方向に検査対象データの端縁までの線分、左エッジ近似直線の線分であって原稿左下角位置に対応する地点からＹ軸プラス方向に検査対象データの端縁までの線分に囲まれる検査対象データ内の領域を、原稿領域と推定する（図１２（ｂ）（ｃ）参照）。
【０１５９】
また、Ｓ４８５での処理を終えると、ＣＰＵ７０は、Ｓ４９０に移行し、図１２（ａ）に示す原稿推定副処理を実行する。尚、図１２（ａ）は、ＣＰＵ７０が実行する原稿推定副処理を表すフローチャートである。
【０１６０】
Ｓ４９０で原稿推定副処理を開始すると、ＣＰＵ７０は、まず検査対象データの左端（換言するとＹ軸）から、左エッジ近似直線の線分で形付けられる原稿領域の左辺までのＸ軸方向最短距離Ｄ１を算出する（Ｓ９１０）。
【０１６１】
尚、図９（ｂ）は、原稿台１１ａにおいて原稿が左側に傾いて載置されている場合の距離Ｄ１，Ｄ２の算出方法を示した説明図であり、図９（ｃ）は、原稿台１１ａにおいて原稿が右側に傾いて載置されている場合の距離Ｄ１，Ｄ２の算出方法を示した説明図である。
【０１６２】
また、Ｓ９１０での処理を終えると、ＣＰＵ７０は、上記算出した距離Ｄ１が予め定められた閾値以下であるか否かを判断し（Ｓ９２０）、算出した距離Ｄ１が閾値を超えていると判断すると（Ｓ９２０でＮｏ）、Ｓ９８０に移行する。
【０１６３】
一方、上記算出した距離Ｄ１が閾値以下であると判断すると（Ｓ９２０でＮｏ）、ＣＰＵ７０は、Ｓ９３０に移行し、検査対象データの下端（換言するとＸ軸）から、下エッジ近似直線の線分で形付けられる原稿領域の下辺までのＹ軸方向最短距離Ｄ２を算出する。
【０１６４】
その後、Ｓ９４０に移行して、上記算出した距離Ｄ２が予め定められた閾値以下であるか否かを判断する。そして、算出した距離Ｄ２が閾値を超えていると判断すると（Ｓ９４０でＮｏ）、Ｓ９８０に移行し、距離Ｄ２が閾値以下であると判断すると（Ｓ９４０でＹｅｓ）、Ｓ９５０に移行する。
【０１６５】
また、Ｓ９５０に移行すると、ＣＰＵ７０は、Ｓ４８５で推定した原稿領域の確度が高いと評価して、「確度高」と判定する。尚、Ｓ９５０で「確度高」と判定した場合、後続の処理であるＳ２４５において、ＣＰＵ７０は、Ｙｅｓと判断する。
【０１６６】
また、Ｓ９５０での処理を終えると、ＣＰＵ７０は、Ｓ９６０に移行し、Ｓ４８１及びＳ４８３で推定した原稿の左下角位置及び右下角位置を結ぶ線分が原稿短辺であり、原稿台１１ａに載置されている原稿が定型用紙であると仮定して、原稿台１１ａに載置された原稿のサイズ及び原稿台１１ａにおける原稿の載置領域を推定すると共に、原稿台１１ａに載置されている原稿の傾き角θを右エッジ近似直線を基に推定する（Ｓ９７０）。
【０１６７】
即ち、Ｓ９６０では、上記推定した原稿の左下角位置から右下角位置までの長さを、原稿の短辺長さ（横幅）と推定し、この短辺長さの√２倍を、原稿の長辺長さ（縦幅）と推定して、原稿サイズを推定すると共に、上記推定した左下角位置及び右下角位置を基点に上記原稿サイズの原稿が原稿台１１ａに載置されているものとして、原稿の左上角及び右上角が位置する座標を導出し、これら４つの角を結んでできる四角形内の領域を、原稿の載置領域であると推定する。
【０１６８】
また、Ｓ９７０では、Ｙ軸に対して右エッジ近似直線がなす角度を、原稿の傾き角θと推定する。その後、当該原稿推定副処理を終了する。
一方、Ｓ９８０に移行すると、ＣＰＵ７０は、Ｓ４８５で推定した原稿領域の確度が低いと評価して、「確度低」と判定する。尚、Ｓ９８０で「確度低」と判定した場合、ＣＰＵ７０は、後続の処理であるＳ２４５において、Ｎｏと判断する。
【０１６９】
ところで、距離Ｄ１及び距離Ｄ２のいずれか一方が閾値を超える場合に、推定した原稿領域の確度が低いと評価するのは、本実施例の複合機１では、原稿台１１ａの左下角を、原稿の左下角を合わせるべき位置としてマークＭＫによりユーザに指示しているためである。
【０１７０】
即ち、本実施例においては、原稿台１１ａの左下角から延びる原稿台１１ａの下端縁及び原稿台１１ａの左端縁を、原稿の辺を合わせるべき基準線として定めており、ユーザがマークＭＫに従って原稿を載置すれば、当然に、距離Ｄ１及び距離Ｄ２は、ゼロに近い値として算出される。
【０１７１】
換言すると、距離Ｄ１及び距離Ｄ２の値が大きい場合には、原稿エッジの検出の際に、原稿の辺ではなく、原稿内に描写された罫線等のエッジ点を原稿エッジであると誤検出している可能性が高い。このため、本実施例では、距離Ｄ１及び距離Ｄ２のいずれか一方が閾値を超える場合には、推定した原稿領域の確度が低いと評価するようにしているのである。
【０１７２】
ＣＰＵ７０は、このような理由から、Ｓ９８０で「確度低」と判定すると、Ｓ９９０に移行し、Ｓ４８１，Ｓ４８３で推定した左下角位置及び右下角位置の情報を用いずに、Ｓ４７３の処理と同様、原稿台１１ａに載置された原稿のサイズが、予め設定された基本サイズであると推定する。その後、当該原稿推定副処理を終了する。
【０１７３】
また、このようにして、Ｓ４９０での原稿推定副処理を終えると、ＣＰＵ７０は、Ｓ２２０での原稿推定処理を終了して、Ｓ２３０に移行し、後続の処理を実行する。
このような動作により、ＣＰＵ７０は、プレスキャンにより得られたエッジ画像データ（検査対象データ）から推定した原稿領域の確度が高い場合には、原稿が定型用紙であるとの仮定の下、エッジ画像データにより推定した原稿左下角位置及び右下角位置の情報に基づき、原稿台１１ａに載置された原稿のサイズを推定すると共に原稿の傾き角θを推定し（Ｓ９６０，Ｓ９７０）、これに基づき、変倍率及び傾き補正量を設定し（Ｓ２５１，Ｓ２５３）、更に読取領域を設定する（Ｓ２５５）。その後、本スキャンに移行する（Ｓ２７０）。
【０１７４】
そして、本スキャン（Ｓ２７０）では、上記設定した読取領域下において読取ユニット１５を搬送し、その領域に写る画像を読取ユニット１５に読み取らせる。そして、その読取結果を、上記設定した変倍率に合わせて拡大／縮小処理すると共に、上記設定した傾き補正量に合わせて回転処理して、印刷用の画像データを生成する。また、これを印刷対象データとして印刷処理することで、原稿のコピー画像であって、自動変倍され、更に傾き補正された画像を、印刷部３０を通じて、記録紙に印刷する。
【０１７５】
一方、ＣＰＵ７０は、プレスキャンにより得られたエッジ画像データから推定した原稿領域の確度が低い場合には、原稿が基本サイズの原稿であると推定すると共に（Ｓ９９０）、原稿の左下角が原稿台１１ａの左下角に合わせられて、当該原稿がまっすぐ正確に載置されていると仮定して、傾き補正量をゼロに設定し（Ｓ２６３）、更に、自動変倍機能を無効にするように変倍率１に設定する（Ｓ２６１）。
【０１７６】
また、推定した原稿サイズに合わせて読取領域を設定し（Ｓ２６５）、本スキャンに移行する（Ｓ２７０）。そして、原稿のコピー画像を、変倍率１で、印刷部３０を通じて、記録紙に印刷する。
【０１７７】
以上、本実施例のディジタル複合機１の構成について説明したが、本実施例の複合機１では、読取可能領域Ｒ０の一部領域をプレスキャンして、その読取結果に基づき、原稿の状態（原稿サイズ・原稿の傾き・原稿の載置領域）を推定するようにした。従って、本実施例によれば、従来のように、読取可能領域Ｒ０全体をプレスキャンする手法よりも高速にプレスキャン動作を終了することができて、効率的に原稿の状態を推定することができる。
【０１７８】
但し、このように読取可能領域Ｒ０全体ではなく、一部領域をプレスキャンする手法を採用すると、原稿の全体像をプレスキャンで読み取ることができなり、原稿状態の推定精度が悪くなる可能性がある。
【０１７９】
そこで、本実施例では、上述したように、プレスキャンにより得られたエッジ画像データから推定した原稿領域の確度を評価して、確度が高い場合には、その原稿領域を導出する基となった原稿左下角及び右下角の位置座標の情報から、原稿のサイズ（縦幅・横幅）を推定するが、確度が低い場合には、原稿サイズが、ユーザにより予め定められたサイズであると推定するようにした。
【０１８０】
従って、本実施例によれば、エッジ画像データから原稿領域を推定する過程で、原稿に描写された罫線などの図形に惑わされて、その原稿領域の推定に誤りが生じた場合に、適切にモードを切り替えて、ユーザの要望（ユーザから指定されたサイズ）にあわせた処理を実行することができる。従って、本実施例によれば、誤った推定により、誤った変倍率や読取領域を設定してしまい、ユーザにとって不要なコピー動作が実行されてしまうのを抑えることができる。よって、本実施例によれば、ユーザに対して利便性の高い複合機１を提供することができる。
【０１８１】
尚、上記実施例では、Ｓ９８０で「確度低」と判定した際に、ユーザに対して、その旨を報知せずに、Ｓ９９０に移行するようにしたが、Ｓ９８０では、表示操作部５０のディスプレイを通じて「確度低」と判定した旨を報知するようにしてもよい。
【０１８２】
この他、Ｓ９８０では、表示操作部５０のディスプレイを通じて「確度低」と判定した旨を報知すると共に、後続の処理を継続するか否かをユーザに問い合わせ、操作キーを通じて継続する旨の回答が入力された場合には、Ｓ９９０に移行するが、操作キーを通じて継続しない旨の回答が入力された場合には、Ｓ９９０に移行せずに、Ｓ９８０の処理をするに至ったコピー指令に対応する複写制御処理を終了し、当該コピー指令を無効にするようにしてもよい。
【０１８３】
また、以上には、本発明の実施例について説明したが、本発明の抽出手段は、ＣＰＵ７０が実行するＳ２１５，Ｓ４２０，Ｓ４５０，Ｓ４６０の処理により実現され、外縁認識手段は、Ｓ４３７，Ｓ４５５，Ｓ４６５，Ｓ４８１〜Ｓ４８５の処理により実現され、確度評価手段は、Ｓ９１０〜Ｓ９５０，Ｓ９８０の処理により実現されている。
【０１８４】
また、プレスキャン手段は、ＣＰＵ７０が実行するＳ２１０の処理及び読取制御部２０の動作により実現され、原稿サイズ推定手段は、Ｓ９６０，Ｓ９９０の処理により実現され、読取領域決定手段は、Ｓ２５５，Ｓ２６５の処理により実現され、本スキャン手段は、Ｓ２７０の処理及び読取制御部２０の動作により実現されている。
【０１８５】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、コンタクトイメージセンサを読取ユニットとして備えるディジタル複合機１に、本発明を適用した例を説明したが、本発明は、コンタクトイメージセンサを読取ユニットとして備える画像読取装置に限定されるものではないことは言うまでもない。
【図面の簡単な説明】
【０１８６】
【図１】ディジタル複合機１の構成を表す説明図である。
【図２】読取ガラス１１の読取可能領域Ｒ０を示した説明図である。
【図３】ＣＰＵ７０が実行する複写制御処理を表すフローチャートである。
【図４】ＣＰＵ７０が実行する自動変倍複写処理を表すフローチャートである。
【図５】ＣＰＵ７０が実行する原稿推定処理を表すフローチャートである。
【図６】ＣＰＵ７０が実行する右エッジ検出処理を表すフローチャートである。
【図７】エッジ画像データの構成を示した説明図である。
【図８】原稿右エッジデータの確定手法を説明した説明図である。
【図９】ＣＰＵ７０が実行する左エッジ検出処理を表すフローチャートである。
【図１０】ＣＰＵ７０が実行する下エッジ検出処理を表すフローチャートである。
【図１１】原稿左下角位置及び原稿右下角位置の推定方法を示した説明図である。
【図１２】ＣＰＵ７０が実行する原稿推定副処理を表すフローチャート（ａ）及び距離Ｄ１，Ｄ２の算出方法に関する説明図（ｂ）（ｃ）である。
【符号の説明】
【０１８７】
１…ディジタル複合機、１０…画像読取部、１１…読取ガラス、１１ａ…原稿台、１３…筐体、１３ａ…フレーム、１５…読取ユニット、１６…搬送機構、１７…モータ、２０…読取制御部、３０…印刷部、４０…印刷制御部、５０…表示操作部、６０…通信部、７０…ＣＰＵ、８０…ＲＡＭ、９０…フラッシュメモリ、ＭＫ…マーク、Ｐ…原稿、Ｒ０…読取可能領域
【図１】
0004952575.tif 000002
【図２】
0004952575.tif 000003
【図３】
0004952575.tif 000004
【図４】
0004952575.tif 000005
【図５】
0004952575.tif 000006
【図６】
0004952575.tif 000007
【図７】
0004952575.tif 000008
【図８】
0004952575.tif 000009
【図９】
0004952575.tif 000010
【図１０】
0004952575.tif 000011
【図１１】
0004952575.tif 000012
【図１２】
0004952575.tif 000013