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