(57)【特許請求の範囲】
【請求項１】
原稿台に載置された原稿を読み取り、原稿の画像データを出力する原稿読取手段と、
傾き補正モードを手動で設定するモード設定手段と、
原稿の傾きと原稿領域を検出する第１の原稿検出手段と、
第１の原稿検出手段により検出された原稿の傾きに基づいて原稿読み取り手段により読み取られた画像データを補正する傾き補正手段と、
原稿領域のみを検出する第２の原稿検出手段と、
前記モード設定手段の設定に基づいて、第１の原稿検出手段と第２の原稿検出手段を切り替える切り替え手段とを備える原稿検出装置。
【請求項２】
原稿台に載置された原稿を読み取り、原稿の画像データを出力する原稿読取手段と、
高速モードを手動で設定するモード設定手段と、
原稿の傾きと原稿領域を検出する第１の原稿検出手段と、
第１の原稿検出手段により検出された原稿の傾きに基づいて原稿読み取り手段により読み取られた画像データを補正する傾き補正手段と、
原稿領域のみを検出する第２の原稿検出手段と、
前記モード設定手段により高速モードが設定されたか否かに基づいて、第１の原稿検出手段と第２の原稿検出手段を切り替える原稿検出手段切り替え手段とを備える原稿検出装置。
【請求項３】
原稿台に載置された原稿を読み取り、原稿の画像データを出力する原稿読取手段と、
原稿を原稿台に自動的に載置する原稿搬送部と、
原稿の傾きと原稿領域を検出する第１の原稿検出手段と、
第１の原稿検出手段により検出された原稿の傾きに基づいて原稿読み取り手段により読み取られた画像データを補正する傾き補正手段と、
原稿領域のみを検出する第２の原稿検出手段と、
原稿搬送部が使用されたか否かに基づいて、第１の原稿検出手段と第２の原稿検出手段を切り替える原稿検出手段切り替え手段と
を備える原稿検出装置。
【請求項４】
前記の第１の原稿検出手段は、画像データから得たエッジアドレスから各頂点を検出し、次に、検出された各頂点に基づいて傾き角度を求め、次に、求められた傾き角度に基づいて原稿領域を検出し、前記の第２の原稿検出手段は、エッジアドレスから原稿領域を検出することを特徴とする請求項１〜３のいずれかに記載された原稿検出装置。
【請求項５】
前記の第１の原稿検出手段は、画像データから得たエッジアドレスから各頂点を検出し、次に、検出された各頂点に基づいて傾き角度を求め、次に、求められた傾き角度に基づいて原稿領域を検出し、前記の第２の原稿検出手段は、原稿台に載置された原稿のサイズを検出するセンサを備え、センサの出力から原稿領域を検出することを特徴とする請求項１〜３のいずれかに記載された原稿検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、原稿検出装置に関するものであり、特に、画像データに基づいて原稿の載置位置や画像領域を検出する原稿検出装置に関するものである。
【０００２】
【従来の技術】
デジタル複写機などのデジタル画像形成装置は、デジタル画像データの画像処理の後に、用紙上に画像を形成する。画素ごとのデジタル画像データは、原稿台に載置された原稿の画像をＣＣＤ等の読取手段により読み取って生成される。
原稿の載置位置や画像領域は、デジタル画像データに基づいて検出できる。そこで、原稿が傾いて置かれた場合に、デジタル画像データから原稿の４頂点を検出し、これから傾きを求めて、原稿が傾いて置かれた場合にも自動的に傾きを補正することが知られている。
【０００３】
【発明が解決しようとする課題】
原稿の傾き補正において、本発明者らは、原稿のエッジデータよりすべての頂点（エッジ変化点）を求め、それらの各頂点を結ぶ線分より原稿の傾き及び原稿領域を算出し、これに基づいて原稿データの傾きを補正することを提案している。しかし、原稿の傾きの補正をするか否かにかかわらず常に傾き補正処理をすると、たとえばほとんど原稿が傾いていない場合のように傾き補正をする必要がなくても処理時間が不必要に長くなってしまうという問題があった。また、オペレータが故意に原稿を斜めにおいた場合などのように、原稿を置いたとおりに複写した場合も、傾き補正をしてしまうという問題があった。
【０００４】
本発明の目的は、必要な場合にのみ原稿の傾きの補正をする原稿検出装置を提供することである。
【０００５】
【課題を解決するための手段】
本発明に係る第１の原稿検出装置は、原稿台に載置された原稿を読み取り、原稿の画像データを出力する原稿読取手段と、傾き補正モードを手動で設定するモード設定手段と、原稿の傾きと原稿領域を検出する第１の原稿検出手段と、第１の原稿検出手段により検出された原稿の傾きに基づいて原稿読み取り手段により読み取られた画像データを補正する傾き補正手段と、原稿領域のみを検出する第２の原稿検出手段と、前記モード設定手段の設定に基づいて、第１の原稿検出手段と第２の原稿検出手段を切り替える切り替え手段とを備える。傾き補正モードが設定されているときは、第１の原稿検出手段を用いて、原稿の傾きを検出して画像データを補正する。傾き補正モードが設定されていないときは、第２の原稿検出手段を用いて、原稿の傾きを求めずに、原稿を検出し、高速に処理する。
本発明に係る第２の原稿検出装置は、原稿台に載置された原稿を読み取り、原稿の画像データを出力する原稿読取手段と、高速モードを手動で設定するモード設定手段と、原稿の傾きと原稿領域を検出する第１の原稿検出手段と、第１の原稿検出手段により検出された原稿の傾きに基づいて原稿読み取り手段により読み取られた画像データを補正する傾き補正手段と、原稿領域のみを検出する第２の原稿検出手段と、前記モード設定手段により高速モードが設定されたか否かに基づいて、第１の原稿検出手段と第２の原稿検出手段を切り替える原稿検出手段切り替え手段とを備える。高速モードが設定されているときは、第２の原稿検出手段を用いて、原稿の傾きを求めずに、原稿領域を検出するので、検出が高速におこなえる。高速モードが設定されていないときは、第１の原稿検出手段を用いて、原稿の傾きを検出して原稿データを補正する。
本発明に係る第３の原稿検出装置は、原稿台に載置された原稿を読み取り、原稿の画像データを出力する原稿読取手段と、原稿を原稿台に自動的に載置する原稿搬送部と、原稿の傾きと原稿領域を検出する第１の原稿検出手段と、第１の原稿検出手段により検出された原稿の傾きに基づいて原稿読み取り手段により読み取られた画像データを補正する傾き補正手段と、原稿領域のみを検出する第２の原稿検出手段と、原稿搬送部が使用されたか否かに基づいて、第１の原稿検出手段と第２の原稿検出手段を切り替える原稿検出手段切り替え手段とを備える。原稿搬送部は、複数の原稿を扱うことが多いので、第２の原稿検出手段を用いることにより処理時間を短縮する。
好ましくは、上述の第１の原稿検出手段は、画像データから得たエッジアドレスから各頂点を検出し、次に、検出された各頂点に基づいて傾き角度を求め、次に、求められた傾き角度に基づいて原稿領域を検出し、第２の原稿検出手段は、エッジアドレスから原稿領域を検出する。
また、好ましくは、上述の第１の原稿検出手段は、画像データから得たエッジアドレスから各頂点を検出し、次に、検出された各頂点に基づいて傾き角度を求め、次に、求められた傾き角度に基づいて原稿領域を検出するが、上述の第２の原稿検出手段は、原稿台に載置された原稿のサイズを検出するセンサを備え、センサの出力から原稿領域を検出する。センサを用いた原稿サイズ検出は、画像データからの原稿サイズ検出より短時間におこなえるので、原稿検出時間がさらに効率的におこなえる。
【０００６】
【発明の実施の形態】
以下、本発明の実施の形態を、添付の図面を参照して説明する。なお、これらの図面において、同じ参照番号は同一または同様なものを表す。
まず、図１は、本発明の実施形態に係るデジタル複写機の全体構成を示す。複写機は、原稿を読み取って画像信号に変換する走査系１０、走査系１０から送られる画像信号を処理する画像処理ユニット２０、画像処理ユニット２０から入力される画像データをそのままプリンタ装置に出力するか、または画像データを処理してからプリンタ装置に出力するか等の制御を行う回転メモリユニット３０、回転メモリユニット３０から出力される画像データに基づいて半導体レーザー６１を駆動する印字処理ユニット４０、半導体レーザー６１からのレーザー光を感光体ドラム７１上の露光位置に導くレーザー光学系、露光による潜像を現像し、記録紙上に転写し、定着して画像を形成する作像系、複写紙を供給し排出する用紙搬送系、複写機本体の上面に設けられた操作パネル９０（図示しない）、原稿を搬送する原稿搬送部５００から構成されている。なお、画像読取部１００は、走査系１０及び画像処理ユニット２０などによって、また、プリンタ部２００は、印字処理部４０、レーザー光学系６０及び作像系などによって、それぞれ構成される。
【０００７】
原稿搬送部５００は、画像読取部１００のプラテンガラス１９上に、開閉可能に取り付けられる。原稿搬送部５００は、給紙トレイ５１０上にセットされた原稿を自動的にプラテンガラス１９上に搬送し、また、走査系１０によって読取られた原稿を排紙トレイ５１１に排出する。通常モードにおいては、１枚または複数枚の原稿を、読み取るべき面を上に向けて給紙トレイ５１０にセットし、サイド規制板５１３を原稿の幅に合せる。そして、エンプティセンサ（図示しない）により原稿の有無が検知される。搬送動作が開始されると、トレイ５１１上の最下部の原稿から順に給紙ローラ５０１によって用紙が搬送され、捌きローラ５０２と捌きパッド５０３によって捌かれて、１枚づつ給紙される。搬送される原稿は中間ローラ５０４を通り、レジストセンサ５５１及び幅サイズセンサ５５３により原稿が検出された後、レジストローラ５０５によって斜行を補正される。その後、原稿は、レジストローラ５０５と搬送ベルト５０６により、プラテンガラス１９上を搬送され、原稿の先端が原稿スケール５１２に突き当たった直後に、搬送ベルト５０６及びレジストローラ５０５は停止する。これにより、原稿の左端は原稿スケール５１２の端縁に当接し、原稿はプラテンガラス１９上の正確な位置に設定される。このとき、次の原稿の先端はレジストローラ５０５に達しており、次の原稿の搬送時間を短縮するようになっている。
【０００８】
原稿がプラテンガラス１９上の正確な読み取り位置に設定されると、走査系１０による原稿の読み取り走査が行われる。原稿の読み取りが終了すると、まず、原稿スケール５１２が、図示しないソレノイドによってプラテンガラス１９の上面の高さよりも下方に押し下げられる。その後、原稿は搬送ベルト５０６により左方に搬送され、反転ローラ５０７で搬送方向が変更され、切換爪５０８の上方を通過して排紙トレイ５１１上に排出される。
【０００９】
ここで、ステップ送りモードが選択されている場合において、原稿サイズが露光基準位置からレジストローラ５０５のニップ位置までの半分以下のサイズである時、先の原稿を露光基準位置で停止させると共に、次の原稿を露光基準位置とレジストローラ５０５の中間位置まで搬送しておき、更に次の原稿（３枚目）を先端がレジストローラ５０５に当接するまで先出し給紙が行なわれる。そうすることにより、原稿は露光基準位置とレジストローラ間の距離の半分ずつステップ送りされるために、原稿交換時間が短くて済み、露光終了後に走査系１０がホームポジションへリターンする時間内に原稿を交換でき、コピー生産性が向上する。しかも、後続の原稿（３枚目）はその先端がレジストローラ５０５に当接するまで先出して給紙される。この先出し給紙は先の原稿の露光中に行なわれ、コピー生産性の向上に寄与する。
【００１０】
なお、両面原稿の場合は、第１面の読み取りが終了すると搬送ベルト５０６により左方に搬送され、反転ローラ５０７で搬送方向が変更された後、切換爪５０８により再びプラテンガラス１９上に送り出され、原稿も第２面が読み取り位置に設定される。第２面の読み取りが終了した原稿は、搬送ベルト５０６により左方に搬送され、反転ローラ５０７、切換爪５０８、排出ローラ５０９を経て排紙トレイ５１１上に排出される。
更に、ステップ送りモード、両面モード等のモードが選択された場合は、通常の場合と違い、原稿の先端が原稿スケール５１２の右端に突き当たる直前で、搬送ベルト５０６の搬送は停止し、原稿スケール５１２から少し離れた位置に原稿が設定される。
【００１１】
また、搬送ベルト５０６のプラテンガラス１９側の面は、橙色に着色されている。これにより、露光ランプ１２の光の原稿搬送ベルト５０６による反射光が、ラインセンサ１７にとっては分光感度が小さい色になる。即ち、ラインセンサ１７にとって、搬送ベルト５０６が黒色であるのと同じである。従って、原稿の地肌は通常白色であるので、搬送ベルト５０６を閉じた状態においても、ラインセンサ１７は原稿と搬送ベルト５０６の下面とを識別することができる。また、原稿搬送部５００を閉じない状態であっても、露光ランプ１２による搬送ベルト５０６の反射光がラインセンサ１７に届かないので、原稿領域が識別可能である。
【００１２】
画像読取部１００は、プラテンガラス１９上に載置された原稿の画像を読み取り、その原稿の画像の各画素に対応する画像データを生成する。原稿読み取り部１００において、露光ランプ１２及び第１ミラー１３ａを有する第１スキャナ１１と第２、第３ミラー１３ｂ、１３ｃを有する第２スキャナ１４とは、スキャンモータＭ２の駆動により矢印ｂ、ｂ'方向（副走査方向）に移動される。露光ランプ１２の光はプラテンガラス１９上の原稿によって反射され、ミラー１３ａ、１３ｂ、１３ｃ、レンズ１５を介してラインセンサ１７に照射される。ラインセンサ１７は図１の紙面に直交する方向（主走査方向）に多数の光電変換素子（ＣＣＤ）を配列したものであり、４００ＤＰＩで画像を読み取り、各画素に対応する画像データを出力する。また、上述のように第１スキャナ１４が矢印ｂ、ｂ'方向に移動することにより、ラインセンサ１７は原稿画像を副走査方向に走査することができる。スキャナ１１、１４が矢印ｂ方向に移動した時のラインセンサ１７による画像の走査が予備走査であり、この時ラインセンサ１７から出力される画像データに基づいて、原稿台上の原稿の位置が検出される。一方、スキャナ１１、１４が矢印ｂ'方向に移動した時のラインセンサ１７による画像の走査が本走査であり、この時ラインセンサ１７から出力される画像データに基づいて、原稿画像の複写が行われる。
ラインセンサ１７から出力された画像データは、画像処理ユニット２０にて処理された後、回転メモリユニット３０へ送信される。回転メモリユニット３０は、画像処理ユニット２０から受信した画像データを一旦記憶し、回転編集処理後に、または、直接に、プリント部２００へ送信する。
【００１３】
次に、プリント部２００を説明する。プリント部２００において、印字処理ユニット４０は、回転処理メモリ部３０から受信した画像データに基づいてレーザ光学系を制御する。レーザ光学系は、印字処理ユニット４０によって変調（オン、オフ）制御されるレーザビームを放射する半導体レーザー６１と、この半導体レーザー６１から放射されたレーザービームを感光体ドラム７１上で走査させるためのポリコンミラー６２、ｆθレンズ６３およびミラー６４ａ、６４ｂを備える。
矢印ｃ方向に回転駆動される感光体ドラム７１の周囲には、その回転方向（矢印ｃ方向）に沿って、帯電チャージャ７２、現像器７３、転写チャージャ７４、分離チャージャ７５、クリーナ７６、イレーサランプ７７が配置されており、周知の電子写真プロセスによってトナー画像を形成し、用紙上に転写する。用紙は、給紙カセット８１ａ、８１ｂから給紙ローラ８２ａ，８２ｂによって供給され、用紙搬送通路８３、タイミングローラ８４によって転写チャージャ７４の方へ送り込まれる。転写チャージャ７４の位置でトナー像が転写された用紙は、搬送ベルト８５、定着器８６、排出ローラ８７を介して、排紙トレイ８８上へ排出される。
【００１４】
次に、図２は、デジタル複写機を制御する制御系の全体ブロック図を示す。画像読取部１００の制御部１０２、回転メモリユニット３０の制御部３００、プリンタ２００の制御部２０２、原稿搬送部５００の制御部５２０から構成され、全体制御部４００と通信ラインで接続されている。全体制御部４００は、各制御部１０２、３００、２０２、５２０とのデータのやり取りを行うと同時に、操作パネル９０も制御する。
図３は、操作パネル９０を示す。操作パネル９０は、傾き補正モードを設定する傾き補正モードキー９９と、傾き補正モードであることを表示する表示部９９ａが設けられる。さらに、操作パネル９０は、通常の複写機におけるように、液晶タッチパネル９１、原稿のページ番号順や複写枚数などの置数や複写倍率などを入力するテンキー９２、置数等を標準値「１」に戻すクリアキー９３、複写機内部に設定された設定値を標準値に戻すパネルリセットキー９４、コピー動作を中止させるストップキー９５、コピー動作を開始させるスタートキー９６が設けられている。さらに、コピーモードとしてコピー片面モード、片面２ｉｎ１モード、片面４ｉｎ１モードのいずれか１つを選択設定するコピーモード設定キー９７、原稿モードとして原稿片面モード、原稿両面モードのいずれか１つを選択設定する原稿モード設定キー９８、選択設定されたコピーモードがコピー片面モードであることを表示する表示部９７ａ、片面２ｉｎ１モードであることを表示する表示部９７ｂ、片面４ｉｎ１モードであることを表示する表示部９７ｃ、選択設定された原稿モードが原稿片面モードであることを表示する表示部９８ａ、原稿両面モードであることを表示する表示部９８ｂ等が設けられる。また、 液晶タッチパネル９１は、露光レベル、複写倍率、記録紙サイズなどの複写機の動作状態、ジャムの発生などの複写機の各種の異常状態、その他の情報を表示すると共に、濃度、複写倍率、記録紙等の自動選択モードを指定する入力ができる。
【００１５】
次に、回転メモリユニット３０における画像の回転を説明する。図４は、回転メモリユニット３０の制御部３００の画像データ入出力インターフェースの構成を示し、図５は、画像読取制御部１０２から回転メモリユニット制御部３００へのタイミングシーケンスを示し、図６は、回転メモリユニット制御部３００からプリンタ制御部２０２へのタイミングシーケンスを示す。
図４に示すように、画像データ入出力インターフェースは、画像読取制御部１０２から、信号ＶＤ_ＩＲ、ＨＤ_ＩＲ、ＳＹＮＣＫ_ＩＲ、ＶＩＤＥＯ0-7_ＩＲを受信する。図５は、画像読取制御部１０２より転送される画像データのシーケンスである。ここで、ＶＤ_ＩＲ信号は、ページデータ出力を示し、低レベルの間にアクティブとなる。ＨＤ_ＩＲ信号は、ラインデータ出力を示し、低レベルの間にアクティブとなる。ＶＤ_ＩＲ、ＨＤ_ＩＲともにアクティブであるとき、ＳＹＮＣＫ_ＩＲ信号に同期して有効画像データＶＩＤＥＯ0-7_ＩＲが転送される。ここでは、１画素８ビットの多値データとする。
【００１６】
図４に示すように、画像データ入出力インターフェースは、プリンタ制御部２０２へ、信号ＩＤＲＥＱ、ＶＤ_ＰＲ、ＬＳＹＮＣ、ＨＤ_ＰＲ、ＳＹＮＣＫ_ＰＲ、ＶＩＤＥＯ0-7_ＰＲを受信する。図６は、プリンタ制御部２０２へ転送される画像データのシーケンスである。ここに、ＩＤＲＥＱ信号は、プリンタからのページデータ転送スタート信号を示し、ＬＳＹＮＣは、プリンタからの１ライン開始基準信号であり、これらに同期して回転メモリユニット３０から画像信号を転送する。ＶＤ_ＰＲは、低レベルでページデータ出力アクティブを示し、ＨＤ_ＰＲ信号は、低レベルでラインデータ出力アクティブとなる。ＶＤ_ＰＲ、ＨＤ_ＰＲともにアクティブであるとき、ＳＹＮＣＫ_ＰＲ信号に同期して有効画像データＶＩＤＥＯ0-7_ＰＲが転送される。
【００１７】
図７は、回転メモリユニット制御部３００のブロック図を示す。画像読取部１００より転送された画像データは、バッファである入力ページメモリ３０２へ格納されるとともに、原稿エッジ検出部３０４へ入力される。これより原稿エッジの座標データが座標データ発生部３０６にて発生され、得られた座標データが順にスタックメモリ３０８に書き込まれる。入力ページメモリ３０２は、２次元座標で管理され、格納された画像データは、スタックメモリ３０８内の原稿エッジデータを元に回転処理部３１０にて編集され、出力ページメモリ３１２へ転送される。なお、編集処理のためのデータの入出力、コマンド設定などは、全体制御部４００からの信号に基づいてＣＰＵ３１４により行われる。また、出力ページメモリ３１２も２次元座標にて管理されており、プリントアウト時に内部画像データが順次出力される。
【００１８】
図８は、原稿エッジ検出回路３０４を示す。画像読取部１００より送られる画像データＶＩＤＥＯ0-7_ＩＲを、原稿の地肌の濃度と原稿搬送ベルト５０６、またはプラテンガラス１９上に何もない状態の濃度とを比較する比較器３２０に入力する。画像データＶＩＤＥＯ0-7_ＩＲ（１画素８ビットの多値データ）は、ラインデータが出力されているとき（ＨＤ_ＩＲがアクティブ）、ＳＹＮＣＫ_ＩＲ信号に同期して転送される。それぞれの画像データに対し、マージンを考慮したリファレンスデータｒｅｆと比較することにより、確実に原稿の有無を判定し、２値のデータに変換する。次段のシフトレジスタ３２２では、８画素単位での処理をしてノイズを除去する。シフトレジスタ３２２の出力信号は、ＡＮＤゲート３２４及びＮＡＮＤゲート３２６に入力され、両ゲート３２４、３２６の出力は、次にＪ−Ｋフリップフロップ３２８のＪ入力とＫ入力に入力される。Ｊ−Ｋフリップフロップ３２８の出力信号は、ＡＮＤゲート３２０の負論理入力と、もう１つのＡＮＤゲート３２２に入力される。このＪ−Ｋフリップフロップ３２８の出力信号は、Ｄフリップフロップ３３４にも入力される。Ｄフリップフロップ３３４の出力信号は、ＡＮＤゲート３２０と、もう１つのＡＮＤゲート３２２の負論理入力に入力される。負論理ＡＮＤゲート３３６には、ＨＤ_ＩＲ信号とＳＹＮＣＫ_ＩＲ信号が入力され、その出力信号は、シフトレジスタ３２０、Ｊ−Ｋフリップフロップ３２８及びＤフリップフロップ３３４のＴ端子に供給される。この終段の構成より、ＡＮＤゲート３３０、３３２は、それぞれ、原稿の無→有のエッジ（＋ＥＤＧＥ）、原稿の有→無のエッジ（−ＥＤＧＥ）を検出し、１ショットパルスを出力する。
【００１９】
図９は、座標データ発生回路３０６を示す。カウンタ３４０に、ＨＤ_ＩＲ（ＣＬＫ端子）とＶＤ_ＩＲ（ＣＬＥＡＲ端子）を入力することにより、副走査側のＸ座標を発生する。同様に、ＳＹＮＣＫ_ＩＲ（ＣＬＫ端子）とＨＤ_ＩＲ（ＣＬＥＡＲ端子）を入力したカウンタ３４２より、主走査側のＹ座標を発生する。ラッチ３４４において、＋ＥＤＧＥでのＹ座標を一旦ラッチし、加算器３４６で１６減算し、−ＥＤＧＥでのＸ及びＹ座標データと共にスタックメモリ３０８に格納する。書き込みアドレスは、ＣＬＫカウンタ３４８において−ＥＤＧＥにより順次更新され、ＶＤ_ＩＲにより初期化される。
【００２０】
図１０は、回転処理部３１０のブロック図を示し、図１１は、その動作を説明するための図である。画像の回転処理には、アフィン変換処理を用いている。これは、座標間の幾何学的変換手法で次式で表される。
【数１】
0003641935.tif 000002
アフィン変換部３５０は、式（１）によりｘ−ｙ座標系のデータ（画像）をｕ−ｖ座標系に変換するものであり、画像の平行移動、拡大、縮小、回転などを行うものである。本実施形態では、平行移動及び回転のみの処理を行う。図１０に示すアフィン変換部３５０では、４点座標による矩形領域を設定することにより、入力ページメモリ３０２内の回転処理対象領域を指定し（図１１の左側参照）、さらに、編集原点座標（Ｕo，Ｖo）、回転処理するための座標の原点（ｘ，ｙ）及び回転角度θを指定して、回転処理を行う（図１１の中央参照）。次に、編集処理としてはｕ−ｖ座標に対して回転ずみの画像領域の原点（回転座標）を割り付ける（Ｕo，Ｖo）（図１１の右側参照）。式で表すと次のようになる。
【００２１】
【数２】
0003641935.tif 000003
また、回転及び編集の後の領域のｍａｘ座標（Ｕmax，Ｖmax）が出力される。アフィン変換で得られた座標（ｕ，ｖ）は、整数とはならないのが普通であるため、出力濃度値ｆ(ｕ，ｖ)を原画像の濃度データｆ(Ｘn，Ｙn)を用いて補間する必要がある。濃度補間処理部３５１は、この補間を行なう。補間の手法としては、最近傍法、線形補間法、３次元スプライン補間法などが提案されているが、ここでは詳細な説明を省略する。濃度補間処理部３５１で補完されたデータは、出力ページメモリ３１２へ送られ２次元の座標軸（ｕ−ｖ座標）に従って格納される。データは、プリントタイミングに従い、ライン単位で出力される。
【００２２】
図１２に、出力ページメモリ３１２を示し、図１３に、その動作説明のための図を示す。出力ページメモリ３１２ヘデータが格納された後、画像の不要な部分のイレース処理をすることができる。方法としては、２点のイレース領域座標（Ｕerase0，Ｖerase0）、（Ｕerase1，Ｖerase1）を設定することにより、それを対角線とする座標軸に平行な矩形領域が白データに変換される（図１３の左側参照）。また、ペーパーサイズ座標（Ｕpaper，Ｖpaper）を設定することにより、ペーパーサイズが、原点座標とペーパーサイズ座標の２点を対角線とする矩形領域がデータ出力領域となる（図１３の右側参照）。ここで、Ｖ軸が主走査方向、Ｕ軸が副走査方向となる。出力ページメモリ３１２に出力イネーブル信号を入力することにより、信号ＶＩＤＥＯが出力される。
【００２３】
次に、以上に述べたシステムを用いた原稿検出について説明する。このシステムでは、見出し等がついた原稿や矩形以外の原稿でも、原稿の傾きや原稿領域を精度よく誤検出を少なく決定できる。プラテンガラスに載置された原稿が読み取られるが、図１４において、斜線部で表す画像読取領域（プラテンガラス１９）以外の領域（白い部分）が原稿を表す。この例では、原稿は傾いて置かれている。画像読取部１００において、スキャナ１１が図１５に示すＸ軸（副走査）方向へ移動しながらＣＣＤセンサ１７により画像がライン単位で検出される（図１５の破線位置）。ただし、スキャナ１１による実際の読み取りにおいては、図１５に示したような、Ｘ方向のサンプリングピッチが均等である理想的状態ではなく、図１６に示すように、スキャナ１１のピッチむらにより、副走査方向のサンプリングピッチがばらつくのが通常である。これは、サンプリングが、図８、図９に示すようにハードウエア回路のタイミング信号（ＳＹＮＣＫ_ＩＲ）により、すなわち、一定時間間隔で処理されるためである。しかし、画像読取部１００におけるスキャナ１１の動作は、副走査方向への振動（ピッチむら）を伴うため、理想的なサンプリングピッチ位置ではサンプリングがされない。したがって、原稿（のエッジ）は、このサンプリングピッチのばらつきの影響がないように検出することが望ましい。
【００２４】
読み取りデータに基づく編集処理は回転メモリユニット部３０において行われる。ＣＣＤセンサ１７からのデータは、図５に示すシーケンスに従いライン単位で送信され、回転メモリユニット３０内の入力ページメモリ３０２へ格納される。同時に原稿エッジ検出部３０４により原稿エッジを検出する。図１５、図１６において、白点部が黒から白へ変化するエッジ（＋ＥＤＧＥ）、黒点部が白から黒へ変化するエッジ（−ＥＤＧＥ）を示す。これら２つの座標データがペアでスタックメモリ３０８へ順番に書込まれることになる。スタックメモリ３０８内には、ライン番号Ｘn、＋ＥＤＧＥのカウント値ＹＷm、−ＥＤＧＥのカウント値ＹＢmがセットで格納されており、格納された順番にピックアップされ処理される。
【００２５】
その後、ＣＰＵ３１４は、図１７に示すように、スタックメモリ３０８内に格納された座標データより、各原稿エッジの座標データ間の傾きの変化を検出し、傾きの変化する点（エッジ変化点）を求め、それらエッジ変化点を結ぶ線分を抽出する（図１６では、線分ａ、ｂ、ｄ、ｃ）。図１８において、小さな丸がエッジ変化点を示し、太い線が検出された線分を示す。スタックメモリ内に格納された座標データより、各原稿エッジの座標データの間の傾きの変化を検出し、検出された変化点を結ぶ線分が抽出される。そして、抽出された線分の中で、Ｘ方向（副走査方向）に対して４５゜以下の線分（図１８の例では線分５２０ａ、５２０ｃ、５２０ｅ、５２０ｇ）が選択される。Ｘ方向（副走査方向）に対して４５゜以下の線分を選択することにより、副走査方向の読み取りピッチがばらついても、正確な傾きが検出できる。好ましくは、抽出された線分の中で、Ｘ方向（副走査方向）に対して４５゜以下の線分で、かつ、一番長い線分（図１８の例では線分５２０ａ）が選択される。これにより、矩形でない原稿でも、原稿領域設定の基となる最適の原稿辺が選択される。または、好ましくは、抽出された線分の中で、Ｘ方向（副走査方向）に対して４５゜以下の線分で、かつ、直交する線分を有する線分（図１８の例では線分５２０ａ）が選択される。これにより、原稿領域の誤検出が避けられる。
【００２６】
ここで、抽出された線分の中で副走査方向に対して所定角度（ここでは４５゜）以下の線分を選択する理由は以下のとおりである。１ライン上の原稿のエッジは２点で検出されるので、副走査方向に対して４５゜を越える（主走査方向に対して４５°以下の）角度を持つ辺におけるエッジの検出は、図１５と図１６に示されるように、非常に粗くなる。したがって、上述のサンプリングピッチのばらつきの影響が非常にでやすい状態である。逆に、副走査方向にほぼ平行な辺のサンプリングにおいては、多少理想的な位置からずれても、検出されるエッジのアドレスの変化量は非常に小さい。そこで、所定角度以下か否かにより異なった取り扱いをし、副走査方向に対して所定角度以下の線分を選択する。
【００２７】
ここで、４５゜は、主走査方向に平行か副走査方向に平行かを切り分けるしきい値であり、これにより、ある直線（辺）の角度（傾き）が直交する２直線（主走査方向と副走査方向）に対してどちらに近いかを切り分ける。通常の原稿は長方形であるので、各辺は互いに直交している。原稿が副走査方向に対して４５゜傾くと、すべての辺が副走査方向に対して４５゜の角度を持つ。原稿の１辺が副走査方向に対して４５゜の角度を持つと、すべての辺が副走査方向に対して４５゜の角度を持つ。また、副走査方向に対して４５゜を越える角度を持つ辺は、主走査方向に対して４５゜以下の角度を持つ辺である。また、その辺に隣合う辺は、副走査方向に対して４５゜以下の角度を持つ辺であり、その辺に対向する辺は、副走査方向に対して４５゜を越える角度を持つ辺である。したがって、副走査方向にほぼ平行な辺を注目する場合は、副走査方向に対して４５゜以下の角度を持つ辺を探せばよい。
【００２８】
こうして選択された線分を基に、原稿の傾きが決定される。また、検出された全頂点を含む原稿領域を定義するための４点の座標（図中の大きな丸）を決定する。また、一番長い線分の傾きより、原稿の傾き方向及び回転角度を検出する。図１９は、Ｘ1−Ｘmin＜Ｙ1−Ｙminの場合の原稿の位置を示し、図２０は、この原稿の回転角度の設定を示す。回転は、（Ｘ1，Ｙmin）を原点とし、回転角度θは−ｔａｎ-1｛(Ｙ1−Ｙmin)／(Ｘmin−Ｘ1)｝である。また、図２１は、Ｘ1−Ｘmin＞Ｙ1−Ｙminの場合の原稿の位置を示し、図２２は、この原稿の回転角度の設定を示す。回転は、（Ｘmin，Ｙ1）を原点とし、回転角度θは−ｔａｎ-1｛(Ｙmax−Ｙ1)／(Ｘ2−Ｘmin)｝である。
以上の結果により、回転処理部３１０において回転処理と平行移動のための各設定が行われ、その設定に基づいて回転処理および平行移動処理が行われる。そして、得られた画像データが出力ページメモリ３１２に記憶される。この画像データに基づいて画像形成部２００において画像形成がおこなわれる。
【００２９】
次に、画像形成の動作の詳細を、図２３〜図３４のフローチャートに従って説明する。なお、エッジ変化点の検出による各線分の抽出および原稿領域の大きさ、傾き角度、ずれ量の算出は、画像読取制御部１０２の制御の下で、画像信号処理部２０により行われ、任意角回転を含む編集処理は、回転メモリユニット３０にて行われ、パラメータの設定などは、メモリユニット制御部３００によりなされる。ここでは説明の簡単のため、１つの流れの全体フローで制御を説明している。
図２３は、本システムの全体フローチャートを示す。まず、初期化を行い（ステップＳ１１）、操作パネル９０からの各種スイッチ類の入力信号の制御処理（ステップＳ１２、図２４、図２５参照）、原稿搬送装置５００による原稿の搬送処理（ステップＳ１３）、原稿読取部１００による画像入力処理（ステップＳ１４）を行う。そして、画像データの入力が終了したか否かを判定し（ステップＳ１５）、終了した場合は、原稿の排紙処理を行う（ステップＳ１６）。次に、傾き補正モードか否かを判定する（ステップＳ１７）。傾き補正モードでない場合は、原稿領域検出処理（ステップＳ１８，図３３参照）で原稿領域を検出し、スルーモード用の編集処理（ステップＳ１９、図３４参照）で編集を実行し、次に、画像データ出力処理を行い（ステップＳ２３、図３２参照）、ステップＳ１２に戻る。ステップＳ１７の判定で、傾き補正モードである場台は、原稿頂点検出処理（ステップＳ２０、図２６〜図２８参照）、領域アドレス設定処理（ステップＳ２１、図２９〜図３０参照）および編集処理を行い（ステップＳ２２、図３１参照）、画像データ出力処理を行って（ステップＳ２３、図３２参照）、ステップＳ１２に戻る。
【００３０】
図２４と図２５は、入力信号処理（図２３、ステップＳ１２）の詳細を示すフローチャートである。まず、原稿モードの選択設定状態を原稿モード設定キー９８のオンエッジ（オフレベルからオンレベルになったこと）で判定し（ステップＳ１０１）、オンエッジの場合は原稿片面モードの選択を示す表示部９８ａの点灯状態を判定する（ステップＳ１０２）。点灯の場合は表示部９８ａを消灯し、原稿両面モードの選択を示す表示部９８ｂを点灯し、原稿両面モードを設定する（ステップＳ１０３）。ステップＳ１０２の判定で表示部９８ａが消灯の場合は、表示部９８ｂは点灯状態であるので、表示部９８ｂを消灯し、原稿片面モードの選択を示す表示部９８ａを点灯し、原稿片面モードを設定する（ステップＳ１０４）。次に、コピーモードの選択設定状態をコピーモード設定キー９７のオンエッジで判定し（ステップＳ１０５）、オンエッジの場合はコピー片面モードの選択を示す表示部９７ａの点灯状態を判定する（ステップＳ１０６）。点灯の場合は表示部９７ａを消灯し、片面２ｉｎ１モードの選択を示す表示部９７ｂを点灯し、片面２ｉｎ１モードを設定する（ステップＳ１０７）。ステップＳ１０８の判定で表示部９７ａが消灯の場合は、表示部９７ｂの点灯状態を判定する（ステップＳ１０８）。点灯の場合は表示部９７ｂを消灯し、片面４ｉｎ１モードの選択を示す表示部９７ｃを点灯し、片面４ｉｎ１モードを設定する（ステップＳ１０９）。ステップＳ１１０の判定で表示部９７ｂが消灯の場合は、表示部９７ｃは点灯状態であるので、表示部９７ｃを消灯し、コピー片面モードの選択を示す表示部９７ａを点灯し、コピー片面モードを設定する（ステップＳ１１０）。
【００３１】
次に、傾き補正モードの選択設定状態を傾き補正モード設定キー９９のオンエッジで判定し（ステップＳ１１１）、オンエッジの場合は傾き補正モードの選択を示す表示部９９ａの点灯状態を判定する（ステップＳ１１２）。点灯の場合は表示部９９ａを消灯し、傾き補正モードを解除する（ステップＳ１１３）。ステップＳ１１２の判定で表示部９９ａが消灯の場合は、傾き補正モードの選択を示す表示部９９ａを点灯し、傾き補正モードを設定する（ステップＳ１１４）。次に、複写開始を指示する操作パネル上のスタートキー９６が押されたか否かをスタートキー９６のオンエッジで判定し（ステップＳ１１９）、オンエッジの場合は、原稿搬送部５００のエンプティセンサ（図示しない）がオフか否かを判定し（ステップＳ１２０）、オフの場合は、スキャンスタート要求を出力する（ステップＳ１２１）。ステップＳ１２０の判定でエンプティセンサ５５４がオフでない場合は、原稿搬送装置（ＡＤＦ）５００の給紙トレイ５１０に原稿がセットされている状態であるので、ＡＤＦスタート要求を出力する（ステップＳ１２２）。
【００３２】
図２６〜図２８は、原稿のエッジアドレスの変化による頂点の検出処理を行う原稿頂点検出（図２３、ステップＳ２０）のフローチャートである。まず、＋ＥＤＧＥ座標と−ＥＤＧＥ座標でペアになっていた座標データを分解する（ステップＳ３０１）。
(Ｘn，ＹＷm，ＹＢm）→ edge_first_adr(Ｘn)、edge_last_adr(Ｘn)
ここに、edge_first_adr(Ｘn)はＸnラインの＋ＥＤＧＥ座標であり、edge_last_adr(Ｘn)はＸnラインの−ＥＤＧＥ座標である。
【００３３】
次に、エッジ未検出ラインを抽出する。まず、変数及びフラグを初期化する（ステップＳ３０２）。そして、ｘ＝１のラインからチェックを開始する。注目する１ラインにおける先端エッジアドレスedge_first_adr(ｘ)及び後端エッジアドレスedge_last_adr(ｘ)が、共にε１以上かどうかを判定する（ステップＳ３０３）。なお、ε１の値は、原稿スケールの位置のＹ方向のアドレスが適当である。edge_first_adr(ｘ)とedge_last_adr(ｘ)の両方がε１よりも大きい場合は、原稿のエッジを検出したと判断し、ステップＳ３０６へ進む。各エッジアドレスのいずれかが、ε１よりも小さい場合には、エッジ未検出のラインであると判断し、次に、原稿の先端を検出しているかどうかのフラグであるflg_doc_topをチェックする（ステップＳ３０４）。原稿の先端を検出していない場合（ステップＳ３０４でＮＯ）は、注目ラインの各エッジアドレスが両方ともε１より大きくなるまで、ｘをインクリメントしつつ（ステップＳ３０５）、ステップＳ３０３〜Ｓ３０４の処理を繰り返す。原稿の先端を検出している場合には、原稿頂点検出終了と判断し、処理を終了する。
【００３４】
次に、 原稿先端の処理を説明する。まず、原稿の先端を検出しているかどうかのフラグであるflg_doc_topをチェックする（ステップＳ３０６）。原稿の先端を検出していない場合（ステップＳ３０６でＮＯ）は、上記エッジ未検出ラインの処理において、チェックされていないｘ−１ラインの各エッジアドレスが、共にε１よりも大きいかどうか判定し（ステップＳ３０７）、共にε１よりも大きければｘ−１ラインの値を各エッジアドレスの線分検出の始点として、以下の値を各頂点用の配列point_f、point_lに格納する（ステップＳ３０８）。
【数３】
0003641935.tif 000004
いずれかがεｌよりも小さければ、ｘラインの値を各エッジアドレスの線分検出の始点として、以下の値を各頂点用の配列point_f、point_lに格納する（ステップＳ３０９）。
【数４】
0003641935.tif 000005
そして、原稿先端検出フラグflg_doc_topに１をセットし（ステップＳ３１０）、ステップＳ３１１に進む。原稿の先端を検出している場合（ステップＳ３０６でＹＥＳ）は、ただちにステップＳ３１１に進む。
【００３５】
次に、傾きの変化の検出（線分（頂点）の検出）を説明する。まず、以下の式（５）の通り、注目ラインの前後の連続する３ラインの各ラインにおける先端エッジアドレスedge_first_adr(ｘ−１)〜edge_first_adr(ｘ＋１)及び後端エッジアドレスedge_last_adr(ｘ−１)〜edge_last_adr(ｘ＋１)の注目ライン(ｘ)との差の絶対値を算出する（ステップＳ３１１）。
【数５】
0003641935.tif 000006
次に、以下の式（６）の通り、注目ラインの前後の連続する３ラインの各ライン間の傾きの差の絶対値を算出する（ステップＳ３１２）。
【数６】
0003641935.tif 000007
【００３６】
次に、ステップＳ３１１で算出された先端エッジアドレスの差の絶対値cline_f(ｘ−１)、cline_f(ｘ＋１)が、共にε２よりも小さいかどうかを判定する(ステップＳ３１３)。なお、ε２の値は２ｍｍ程度が適当である。cline_f(ｘ−１)、cline_l(ｘ＋１)の内のいずれかがε２よりも大きい場合（ステップＳ３１３でＮＯ）は、主走査方向とほぼ平行な線分であると判断し、ただちに後端エッジのためのステップＳ３１７に進む。また、cline_f(ｘ−１)、cline_f(ｘ＋１)の両方がε２よりも小さい場合（ステップＳ３１３でＹＥＳ）は、各先端エッジアドレスは、急激なエッジアドレスの変化がないので、原稿の主走査方向とほぼ平行な辺ではないと判断し、ステップＳ３１４へ進む。そして、同じ線分上にあるかないかを判断するために、上記ステップＳ３１２で算出された先端エッジアドレスの傾きの差の絶対値sub_fが、ε３よりも小さいかどうかを判定する（ステップＳ３１４）。なお、ε３の値は８ドット程度が適当である。sub_fがε３よりも大きい場合（ステップＳ３１４でＮＯ）は、先端エッジアドレスの傾きの変化があったと判断し、頂点の設定処理（ステップＳ３１５）へ進み、注目ラインのライン数ｘと、注目ラインの先端エッジアドレスedge_first_adr(ｘ)を先端エッジ頂点用の配列point_fに格納し、先端エッジの頂点のカウンタをインクリメントする（ステップＳ３１６）。そして、ステップＳ３１７へ進む。また、sub_fがε３よりも小さい場合（ステップＳ３１４でＹＥＳ）は、後端エッジアドレスの傾きは、急激な変化がないので、原稿の辺の頂点ではないと判断し、ただちにステップＳ３１７へ進む。
【００３７】
同様に、ステップＳ３１７では、ステップＳ３１１で算出された後端エッジアドレスの差cline_l(ｘ−１)、cline_l(ｘ＋１)が、共にε２よりも小さいかどうかを判定する。cline_l(ｘ−１)、cline_l(ｘ＋１)の内のいずれかがε２よりも大きい場合（ステップＳ３１６でＮＯ）は、主走査方向とほぼ平行な線分であると判断し、ただちにステップＳ３２１へ進む。また、cline_l(ｘ−１)、cline_l(ｘ＋１)の両方がε２よりも小さい場合（ステップＳ３１６でＹＥＳ）は、各後端エッジアドレスは、急激なエッジアドレスの変化がないので、原稿の主走査方向とほぼ平行な辺ではないと判断し、ステップＳ３１８へ進み、同じ線分上にあるかないかを判断するために、ステップＳ３１２で算出された後端エッジアドレスの傾きの差の絶対値sub_lが、ε３よりも小さいかどうかを判定する。sub_lがε３よりも大きい場合（ステップＳ３１８でＮＯ）は、後端エッジアドレスの傾きの変化があったと判断し、頂点の設定処理（ステップＳ３１９）へ進む。そして、注目ラインのライン数ｘと、注目ラインの後端エッジアドレスedge_last_adr(ｘ)を後端エッジ頂点用の配列point_lに格納し（ステップＳ３１９）、後端エッジの頂点のカウンタをインクリメントする（ステップＳ３２０）。また、sub_lがε３よりも小さい場合（ステップＳ３１８でＹＥＳ）は、後端エッジアドレスの傾きは、急激な変化がないので、原稿の辺の頂点ではないと判断し、ただちにステップＳ３２０へ進む。ステップＳ３２０では、注目ラインｘをインクリメントし、ステップＳ３０３以降の処理を繰り返す。
【００３８】
図２９〜図３０は、原稿頂点検出の処理（図２３、ステップＳ２０）により検出された各頂点より原稿の領域を定義付けするための４点座標の設定処理を行う領域アドレス設定処理（図２３、ステップＳ２１）のフローチャートである。
まず、各頂点間の距離の算出（線分の長さの算出）をする。はじめに、隣り合う各頂点間の距離を算出する（ステップＳ３３０）。ここでは、各頂点間の距離を比較することを目的とするため、下記の通り、ｘ，ｙ方向のそれぞれの差の２乗の和を算出する。また、隣り合う頂点とは、先端エッジの最初の頂点（point_f[０][０]，point_f[０][１]）と、後端エッジの最初の頂点（point_l[０][０]，point_l[０][１]）及び先端エッジの最後の頂点（point_f[０][０]，point_f[０][１]）と、後端エッジの最後の頂点（point_l[０][０]，point_l[０][１]）とを含む各先端エッジ及び後端エッジの隣り合う頂点とする。
【数７】
0003641935.tif 000008
【００３９】
次に、各項点間の距離を比較し、一番長い距離の２頂点（ｘ1，ｙ1）、（ｘ2，ｙ2）を選択する（ステップＳ３３１）。さらに、選択された２頂点を通る直線の方程式を下記の式に従って算出する（ステップＳ３３２）。
【数８】
Ｙ＝(ｙ2−ｙ1)／(ｘ2−ｘ1)＊Ｘ−(ｘ1ｙ2−ｘ2ｙ1)／(ｘ2−ｘ1)  (８)
ここに、傾きは(ｙ2−ｙ1)／(ｘ2−ｘ1) であり、ｙ切片は−(ｘ1ｙ2−ｘ2ｙ1)／(ｘ2−ｘ1) である。求まった傾きとｙ切片をline[point_count][０]とline[point_count][１]に格納する。
【００４０】
次に、求められた各線分の直線の方程式（傾きとｙ切片）より、副走査方向に対して４５゜以下の線分か否かによってグループ分けを行う（ステップＳ３３２）。ここで、傾き（line[point_count][０]）が "１”の場合が４５゜の線分であり、副走査方向がＹ方向にあたるため、傾きが "１”以上の線分（line[point_count][０]＞１）を抽出することにより、副走査方向に対して４５゜以下の線分であると判定できる。次に、グループ化された副走査方向に対して４５゜以下の線分のうち、最も長い線分を抽出する（ステップＳ３３３）。
次に、その線分の有効性を高めるために、その線分にほぼ直交する線分が存在するか否かをチェックし（ステップＳ３３４）、存在しなければ、今回抽出した線分を、副走査方向に対して４５゜以下の線分のグループから削除し（ステップＳ３３５）、ステップＳ３３３に戻り、処理を繰り返す。その線分にほぼ直交する線分が存在すれば（ステップＳ３３４でＹＥＳ）、その線分の傾きline[point_count][０]を原稿の傾きdoc_clineとする（ステップＳ３３６）。
【００４１】
次に、原稿の領域を決定するために、ステップＳ３３６で算出された直線に直交する直線で、且つ、原稿頂点検出処理により検出された頂点を通る直線をすべて算出する（ステップＳ３３７）。直交する直線の方程式は、下記のようになり、この方程式のＸ及びＹに各項点の座標を代入し、ｙ切片であるｂを求めることになる。
【数９】
Ｙ＝−１／doc_cline＊Ｘ−ｂ                                    (９)
そして、上述のように算出された各頂点を通る直線のｙ切片であるｂの内、最大値Ｖｂmaxと最小値Ｖｂminを算出する（ステップＳ３３８）。
また、ステップＳ３３６で算出された直線に平行な直線で、且つ、原稿頂点検出処理により検出された頂点を通る直線をすべて算出する（ステップＳ３３９）。平行な直線の方程式は、下記のようになり、この方程式のＸ及びＹに各頂点の座標を代入し、ｙ切片であるｂを求めることになる。
【数１０】
Ｙ＝doc_cline＊Ｘ−ｂ                                      (１０)
そして、ステップＳ３３９により算出された各頂点を通る平行な直線のｙ切片であるｂの内、最大値Ｈｂmaxと最小値Ｈｂminを算出する（ステップＳ３４０）。
【００４２】
以上の処理により、原稿領域を取り囲む以下の４直線の方程式が算出されたことになる。直交する直線は次のとおりである。
【数１１】
Ｙ＝−１／doc_cline＊Ｘ−Ｖｂmax                          (１１)
Ｙ＝−１／doc_cline＊Ｘ−Ｖｂmin                          (１２)
また、 平行な直線は次のとおりである。
【数１２】
Ｙ＝doc_cline＊Ｘ−Ｈｂmax                                (１３)
Ｙ＝doc_cline＊Ｘ−Ｈｂmin                                (１４)
そこで、ｙ切片が最大値及び最小値である上記の平行な直線及び直交する直線のそれぞれの交点を算出することにより、原稿領域としての４点の座標を決定する（ステップＳ３４１）。
次に，決定された４点の座標から、Ｘ座標の最小のものと最大のもの、Ｙ座標の最小のものと最大のものを抽出し、それぞれ（Ｘmin，Ｙ1）、（Ｘmax，Ｙ2）、（Ｘ1，Ｙmin）、（Ｘ2，Ｙmax）と定義付ける（ステップＳ３４１〜Ｓ３４５）。こうして、原稿領域が検出される。
【００４３】
図３１は、編集処理（図２３、ステップＳ２２）のフローチャートである。ここでは、図１０と図１１で説明した回転処理部３１０に対するＣＰＵのデータ及びコマンド設定の実際の処理内容となる。まず、領域アドレス設定処理（図２３、ステップＳ２１）で抽出された４点の座標を、変換領域座標として設定する（ステップＳ４０１）。次に、特定の２つの座標間距離を比較することにより、原稿の傾き方向を判断し、回転座標変換及び回転角度の設定を行う。ここでは、図１９〜図２２に示すルールに従って設定を行う。
【００４４】
Ｘ1−Ｘmin＞Ｙ1−Ｙminの場合（ステップＳ４０２でＹＥＳ）、回転座標（ｘ，ｙ）の原点は、（Ｘmin，Ｙ1）、回転角度θは、ｔａｎ-1（(Ｙmax−Ｙ1)／(Ｘ2−Ｘmin)）（回転方向は反時計回り方向）とする（ステップＳ４０３、Ｓ４０４）。また、Ｘ1−Ｘmin≦Ｙ1−Ｙminの場合（ステップＳ４０２でＮＯ）、回転座標（ｘ，ｙ）の原点は、（Ｘ1，Ｙmin）、回転角度θは、−ｔａｎ-1（(Ｙ1−Ｙmin)／(Ｘmin−Ｘ1)）（回転方向は時計回り方向）とする（ステップＳ４０５、Ｓ４０６）。以上の条件に従うことにより、小さい補正角度（４５°以下）で補正の基準となる辺の位置と基準座標の位置が統一される。その後、編集原点座標（ｕ0，ｖ0）を設定し（ステップＳ４０７）、準備ができたら（ステップＳ４０８）、上述の設定を基に回転処理を実行する（ステップＳ４０９）。
【００４５】
図３２は、画像データ出力（図２３、ステップＳ２３）のフローチャートである。まず、ペーパーサイズの座標（Ｕpaper，Ｖpaper）を設定する（ステップＳ５０１）。次に、イレースする必要のある領域があるか否かを判定し（ステップＳ５０２）、イレースする必要のある領域がある場合は、イレース領域座標の２点（Ｕerase0，Ｖerase0），（Ｕerase1，Ｖerase1）を設定する（ステップＳ５０３）。その後、イレース設定が終了したかを判定し（ステップＳ５０４）、終了していなければステップＳ５０３に戻る。イレース設定が終了し、準備ができたら（ステップＳ５０５でＹＥＳ）、出力をイネーブルとし、プリンタへのデータ転送を許可する（ステップＳ５０６）。
【００４６】
図３３は、傾き補正モードでない場合に実行される、原稿のエッジアドレスによる原稿領域検出処理（図２３、ステップＳ１８）のフローチャートである。まず＋エッジ座標と−エッジ座標で対となっていたＸnラインのデータ（Ｘn，ＹＷm，ＹＢm）を、edge_first_adr(Xn)とedge_last_adr(Xn)に分解する（ステップＳ６０１）。
次に、エッジ未検出ラインを抽出する。まず、変数Ｘ，Ｘmax，Ｙmaxとカウンタend_countを初期化する（ステップＳ６０２）。次に、注目する１ラインにおける先端エッジアドレス（edge_first_adr(X)）及び後端エッジアドレス（edge_last_adr(X)）が共にε１以上であるか否かを判定する（ステップＳ６０３）。なお、ε１の値は原稿スケールの位置のＹ方向のアドレスが適当である。先端エッジアドレスedge_first_adr(X)及び後端エッジアドレスedge_last_adr(X)の両方がε１よりも大きい場合は、原稿のエッジを検出したと判断し、ステップＳ６０７に進む。先端エッジアドレスedge_first_adr(X)及び後端エッジアドレスedge_last_adr(X)の少なくとも１つがε１よりも小さい場合は、エッジ未検出のラインであると判断し、次に、原稿検出終了用のカウンタedge_countをインクリメントし（ステップＳ６０４）、そのインクリメントした値がε４よりも大きいか否かであるを判定する（ステップＳ６０５）。もし大きければ原稿検出を終了し、小さければ、Ｘの値をインクリメントして（ステップＳ６０６）、ステップＳ６０３に戻る。
【００４７】
原稿のエッジを検出したと判断した場合は（ステップＳ６０３であるとＹＥＳ）、次に、後端エッジアドレスedge_last_adr(X)がＹmaxより大きいか否かを判断し（ステップＳ６０７）、大きい場合は、Ｙ方向の最大値Ｙmaxとして、Ｘラインの値edge_last_adr(X)の値を格納し（ステップＳ６０８）、次に、Ｘ方向の最大値としてＸの値を格納する（ステップＳ６０９）。後端エッジアドレスedge_last_adr(X)がＹmax以下である場合は、Ｙ方向の最大値Ｙmaxを変えずに、Ｘ方向の最大値としてＸの値を格納する（ステップＳ６０９）。次に、原稿検出用カウンタend_countをクリアし（ステップＳ６１０）、Ｘの値をインクリメントして（ステップＳ６０６）、ステップＳ６０３に戻る。
このように、edge_countがε４以上になるまで処理を繰り返すことにより、原稿領域のＸ方向とＹ方向の最大値ＸmaxとＹmaxを求めることができる。ここで求められる原稿領域は、原稿を含む原点からの最小矩形領域である。なお、ε４の値が小さすぎると、基準位置より離して原稿を載せた場合に検出ができなかったり、原稿に原稿搬送ベルトと同じ色の帯パターンがある場合、誤検出して実際の原稿サイズより小さく判定してしまうことがある。また反対に、ε４の値が大きすぎると、処理時間が長くなってしまう。実際には２０〜３０ｍｍが適当である。
【００４８】
図３４は、傾き補正モードでない場合に実行されるスルーモード用編集処理（図２３、ステップＳ１９）のフローチャートである。まず、最大サイズの４点の座標を、変換領域座標として設定する（ステップＳ７０１）。そして、回転座標は、原画像原点とし（ステップＳ７０２）、回転角度は０°（ステップＳ７０３）、編集原点座標（ｕ0，ｖ0）は、（α，β）（ステップＳ７０４）として設定する。準備ができたら（ステップＳ７０５）、上記の設定を基に回転処理を実行する（ステップＳ７０６）。
【００４９】
なお、本実施形態では、傾きを採用する線分の有効性を高める処理として、直交する線分が存在するか否かを調べているが、さらに、直交する線分の長さも調べ、直交する線分が存在する副走査方向に対して４５度以下の線分のうち、直交する線分が一番長い線分の傾きを採用するようにすれば、さらに有効性の高い傾きを検出できる。
【００５０】
次に、本発明の第２の実施の形態の複写機について説明する。以下では、第１の実施の形態の複写機と異なる部分についてのみ説明する。この複写機では、原稿の種類などに応じて、上記の画像データから原稿サイズを検出する方法と、固定センサにより原稿サイズを検出する方法を使い分ける。固定センサを用いることにより原稿検出時間がさらに短縮できる。固定センサとしては、発光素子と受光素子とからなる反射型フォトセンサや発光素子と位置検出素子からなる距離センサなどがある。以下では、固定センサとして距離センサを用いる例について説明する。
【００５１】
図３５と図３６は、距離センサユニット２１を示す。各センサユニット２１は、２個の発光素子（ＬＥＤ）２２、２３と１個の位置検出素子（ＰＳＤ）２４を内蔵する。ＬＥＤ２２により照明される位置とＬＥＤ２３により照明される位置との２カ所を１つのセンサユニットで検出できる。ＬＥＤ２２、２３は、ＬＥＤ駆動回路（図示しない）に入力されるＬＥＤ信号の状態に応じていずれかの一方が発光する。被測定物までの距離はＰＳＤ２４上での検知位置により検出される。ＰＳＤ２４のアナログ検出信号は、信号処理回路にてデジタル信号に変換された後、クロック信号に同期して出力される。各センサユニット２１では、ＬＥＤ２２、２３から発せられた光が原稿に対して斜めに照射されるように設置されており、ＰＳＤ２４は原稿から乱反射光を検出する。
【００５２】
次に、複数のセンサユニット２１の配置について説明する。図３７は、原稿読み取り領域におけるセンサユニット２１の配置を示す。５個のセンサユニット２１（ＦＤ１，ＦＤ２，ＦＤ３，ＣＤ１，ＣＤ２）が複数の定型原稿サイズを検出できるように配置される。図３８は、５個のセンサ２１の８個の出力（１〜８）と１１種の定型サイズ（Ａ３縦、Ｂ４縦、Ａ４縦、Ｂ５縦、Ａ４横、Ｂ５横、Ａ５縦、１１＊１７、リーガル、レター縦、レター横）との対応関係を示す。なお、センサユニット（ＦＤ３、ＣＤ２）はオプションである。図３８において、「〇」は原稿が検出されたことを示し、「×」は、原稿が検出されなかったことを示す。図１８に示すように、センサ出力から原稿のサイズが決定できる。
【００５３】
図３９は、この実施の形態の複写機の制御回路のブロック図である。原稿サイズ検出部１４１０は、第１ＣＰＵ１４１２とＥＥＰＲＯＭ１４１４を有する。第１ＣＰＵ１４１２は、複数のセンサユニット２１から入力される距離情報をＥＥＰＲＯＭ１４１４内に記憶されたしきい値と比較し、原稿の有無を判断する。第１ＣＰＵ１４１２は、あらかじめ図３８に示されるテーブルを格納しており、このテーブルと原稿有無情報とを対照して、原稿サイズを判別する。さらに、第１ＣＰＵ１４１２は、判別した原稿サイズに応じて原稿サイズコードを生成し、本体を制御する第２ＣＰＵ１４００に転送する。
上述の固定センサを用いた原稿検出は、検出アルゴリズムが簡略であるため、画像データからの原稿サイズ検出より短時間でおこなえる。そのため、固定センサを併用することにより、複写機の操作性を向上させることができる。
【００５４】
図４０は、固定センサを併用する本実施形態の第２ＣＰＵによる全体制御のフローチャートを示す。まず、初期化を行い（ステップＳ１０１１）、操作パネル９０からの各種スイッチ類の入力信号の制御処理（ステップＳ１０１２）、原稿搬送装置５００による原稿の搬送処理（ステップＳ１０１３）を行う。次に、傾き補正モードか否かを判定する（ステップＳ１０１４）。
ユーザーが傾き補正モードを選択しない場合は、原稿の頂点データは、必ずしも必要でないため、固定センサにより原稿サイズを検出する（Ｓ１０５１）。このようにすれば、傾き補正をしない場合に、自動的に複写に要する時間が短縮される。次に、原稿読取部１００により画像データを入力する（ステップＳ１０５２）。入力が終了すると（ステップＳ１０５３でＹＥＳ）、原稿を排紙し（ステップＳ１０５４）、ステップＳ１０２１に進み、画像データを出力し、プリント部２００において紙上に画像を形成する。
【００５５】
傾き補正モードである場合は、原稿読取部１００による画像入力処理（ステップＳ１０１５）を行う。そして、画像データの入力が終了したか否かを判定し（ステップＳ１０１６）、終了した場合は、原稿の排紙処理を行う（ステップＳ１０１７）。次に、画像データに基づいて、原稿頂点検出処理（ステップＳ１０１８）、領域アドレス設定処理（ステップＳ１０１９）および編集処理を行う（ステップＳ１０２０）。これにより、画像データより原稿の傾きを検出し、画像データを補正する。原稿頂点検出処理、領域アドレス設定処理及び編集処理が第１実施形態の場合と同じ処理であるので、説明を省略する。そして、ステップＳ１０２１に進み、画像データ出力処理を行って、ステップＳ１０１２に戻る。この傾き補正モードでの処理は、第１の実施の形態の場合と同じである。
【００５６】
図４１は、高速モードを設定できる固定センサを併用する第３の実施形態のフローチャートを示す。本実施形態でも、原稿領域検出に固定センサを併用する。操作パネル９０'には、図４２に示すように、高速モードを設定するためのボタン９９'を設ける。ユーザーは、高速モードを選択できる。初期設定では、高速モードを設定しない。高速モードが選択されていない場合は（ステップＳ１０１４'でＮＯ）、原稿サイズ検出及び傾き検出処理をおこなう（ステップＳ１０１８〜Ｓ１０２０）。高速モードが選択された場合は（ステップＳ１０１４'でＹＥＳ）、傾き補正処理を行わずに、固定センサにより原稿サイズを検出し（ステップＳ１０５１）、検出された原稿のサイズに対応した複写動作を行う。傾き補正は行われないので、複写に要する処理時間が短縮され、高速な複写動作が可能になる。
【００５７】
図４３は、原稿搬送部５００の使用により原稿検出方法を切り換える固定センサを併用する第４の変形実施形態のフローチャートを示す。本実施形態でも、固定センサを併用する。ここで、原稿搬送部５００を使用する／しないによって固定センサを使用する／しないを切り換える（ステップＳ１０１４"）。原稿搬送部５００を使う場合（ステップＳ１０１４"でＹＥＳ）、定型（矩形）の原稿を扱うことが多いため、固定センサによる原稿サイズ検出を行う（ステップＳ１０５１）。その後、この原稿サイズに基づいて画像データを入力する（ステップＳ１０５２〜Ｓ１０５３）。原稿搬送部５００を使う場合、複数枚の原稿を扱う場合が多いため、こうすることにより複写時間を大幅に短縮できる。原稿搬送部５００を使わずに（ステップＳ１０１４"でＮＯ）原稿をプラテンガラス１９上に手置きする場合、非定型原稿を扱う場合もあるため、画像データを入力し（ステップＳ１０１５〜Ｓ１０１６）、画像データによる原稿サイズ検出および傾き検出をおこなう（ステップＳ１０１８〜Ｓ１０２０）。この場合、ユーザーは、原稿を置く位置を必ずしも基準点やスケールに正確に合わせて置く必要がないため、ユーザーの負担を軽減できる。
【００５８】
また、図４４は、その場合の入力処理（ステップＳ１０１２'）のフローチャートである。この入力処理は、第１の実施形態における入力処理（図２４〜図２５）と同様であるが、ステップＳ１１１〜Ｓ１１４の処理は不要なので省かれている。
なお、固定センサを併用する他の例として、原稿が定型が非定型であるかをユーザーが操作パネルで設定し、定型なら固定センサにより原稿サイズを検出し、非定型なら画像データにより原稿サイズを検出してもよい。
【００５９】
【発明の効果】
この発明によれば、読み取られた原稿の傾きの補正をする必要がない場合には、原稿検出方法を切り替えて傾きを検出することなく原稿を検出できるようにしたので、むだな処理時間を短縮できる。
また、傾き補正モードの設定、高速モードの設定、原稿搬送部の使用などにより、傾き補正処理を行うか行わないかを切り替えることができ、原稿検出を高速で行える。
また、好ましくは固定センサを用いた原稿領域検出を併用するので、処理時間をさらに短縮できる。
【図面の簡単な説明】
【図１】複写機の内部構成の概略を示す正面図。
【図２】制御系の全体ブロックを示すブロック図。
【図３】操作パネルの構成を示す平面図。
【図４】回転メモリユニット制御部の画像入出力インターフェースの構成を示すブロック図。
【図５】画像読取制御部より転送される画像データのシーケンスを示す図。
【図６】画像形成制御部へ転送する画像データのシーケンスを示す図。
【図７】回転メモリユニット制御部のブロック図。
【図８】原稿エッジ検出回路の回路図。
【図９】座標データ発生回路の回路図。
【図１０】回転処理部のブロック図。
【図１１】回転処理部の動作を説明する図。
【図１２】出力ページメモリ部のブロック図。
【図１３】出力ページメモリ部の動作を説明する図。
【図１４】プラテンガラス上にセットされた原稿を示す図。
【図１５】原稿を読み取る様子を説明する図。
【図１６】原稿読み取りのサンプリングピッチがばらつく場合において、原稿を読み取る様子を説明する図。
【図１７】エッジの変化点及び線分を説明する図。
【図１８】原稿領域設定を説明する図。
【図１９】原稿の傾き方向を説明する図。
【図２０】回転角度の設定を説明する図。
【図２１】原稿の傾き方向を説明する図。
【図２２】回転角度の設定を説明する図。
【図２３】複写機制御のフローチャート。
【図２４】入力処理の一部のフローチャート。
【図２５】入力処理の一部のフローチャート。
【図２６】原稿頂点検出の一部のフローチャート。
【図２７】原稿頂点検出の一部のフローチャート。
【図２８】原稿頂点検出の一部のフローチャート。
【図２９】領域アドレス設定処理の一部のフローチャート。
【図３０】領域アドレス設定処理の一部のフローチャート。
【図３１】編集処理のフローチャート。
【図３２】画像データ出力のフローチャート。
【図３３】原稿領域検出のフローチャート。
【図３４】スルーモードでの編集処理のフローチャート。
【図３５】距離センサの断面図。
【図３６】距離センサの平面図。
【図３７】距離センサによる定型原稿の検出を示す図。
【図３８】原稿サイズ検出のテーブル。
【図３９】第２の実施形態における複写機の制御系のブロック図。
【図４０】第２の実施形態における複写機制御のフローチャート。
【図４１】第３の実施形態における複写機制御のフローチャート。
【図４２】操作パネルの変形例の図。
【図４３】第４の実施形態における複写機制御のフローチャート。
【図４４】入力処理のフローチャート。
【符号の説明】
１０  走査系、  ２０  画像信号処理部、  ２１  センサユニット、  ３０  回転メモリユニット部、  ４０  印字処理部、  ６０  レーザー光学系、  ７０作像系、  ５００  原稿搬送部、  ３０２  入力ページメモリ、  ３０４  原稿エッジ検出部、  ３０８  スタックメモリ、  ３１０  回転処理部、  ３１２出力ページメモリ、  ３１４  ＣＰＵ。
【図１】
0003641935.tif 000009
【図２】
0003641935.tif 000010
【図３】
0003641935.tif 000011
【図４】
0003641935.tif 000012
【図５】
0003641935.tif 000013
【図６】
0003641935.tif 000014
【図７】
0003641935.tif 000015
【図８】
0003641935.tif 000016
【図９】
0003641935.tif 000017
【図１０】
0003641935.tif 000018
【図１１】
0003641935.tif 000019
【図１２】
0003641935.tif 000020
【図１３】
0003641935.tif 000021
【図１４】
0003641935.tif 000022
【図１５】
0003641935.tif 000023
【図１６】
0003641935.tif 000024
【図１７】
0003641935.tif 000025
【図１８】
0003641935.tif 000026
【図１９】
0003641935.tif 000027
【図２０】
0003641935.tif 000028
【図２１】
0003641935.tif 000029
【図２２】
0003641935.tif 000030
【図２３】
0003641935.tif 000031
【図２４】
0003641935.tif 000032
【図２５】
0003641935.tif 000033
【図２６】
0003641935.tif 000034
【図２７】
0003641935.tif 000035
【図２８】
0003641935.tif 000036
【図２９】
0003641935.tif 000037
【図３０】
0003641935.tif 000038
【図３１】
0003641935.tif 000039
【図３２】
0003641935.tif 000040
【図３３】
0003641935.tif 000041
【図３４】
0003641935.tif 000042
【図３５】
0003641935.tif 000043
【図３６】
0003641935.tif 000044
【図３７】
0003641935.tif 000045
【図３８】
0003641935.tif 000046
【図３９】
0003641935.tif 000047
【図４０】
0003641935.tif 000048
【図４１】
0003641935.tif 000049
【図４２】
0003641935.tif 000050
【図４３】
0003641935.tif 000051
【図４４】
0003641935.tif 000052