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