(57)【特許請求の範囲】
【請求項１】
原稿の位置を固定とし照射位置を変化させることにより原稿を読取る第１の読取方式、及び、照射位置を固定とし原稿の位置を変化させることにより原稿を読取る第２の読取方式の何れの方式でも原稿を読取れる読取手段を有する画像処理装置であって、
前記第１の読取方式、前記第２の読取方式のうちの何れの読取方式で前記読取手段に原稿を読取らせるか判定する判定手段と、
前記判定手段で判定された読取方式で原稿を読取る前記読取手段と、
前記読取手段で原稿を読取った読取方式に応じて、前記読取手段における読取結果の全域ではないコード検出領域を設定する設定手段と、
前記読取結果における、前記設定手段で設定されたコード検出領域からコードを検出する検出手段とを有し、
前記設定手段は、
前記読取手段で原稿を読取った読取方式が前記第１の読取方式である場合に、前記第２の読取方式である場合に設定されるコード検出領域を包含し、かつ、それよりも広いコード検出領域を設定することを特徴とする画像処理装置。
【請求項２】
原稿の位置を固定とし照射位置を変化させることにより原稿を読取る第１の読取方式、及び、照射位置を固定とし原稿の位置を変化させることにより原稿を読取る第２の読取方式の何れの方式でも原稿を読取れる読取手段を有する画像処理装置の制御方法であって、
前記第１の読取方式、前記第２の読取方式のうちの何れの読取方式で前記読取手段に原稿を読取らせるか判定する判定工程と、
前記判定工程で判定された読取方式で前記読取手段が原稿を読取る読取工程と、
前記読取工程で原稿を読取った読取方式に応じて、前記読取手段における読取結果の全域ではないコード検出領域を設定する設定工程と、
前記読取結果における、前記設定工程で設定されたコード検出領域からコードを検出する検出工程とを有し、
前記設定工程では、
前記読取工程で原稿を読取った読取方式が前記第１の読取方式である場合に、前記第２の読取方式である場合に設定されるコード検出領域を包含し、かつ、それよりも広いコード検出領域を設定することを特徴とする画像処理装置の制御方法。
【請求項３】
請求項２に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その制御方法、プログラムに関するものである。
【背景技術】
【０００２】
特許文献１に示すように、従来から、コードを紙面上に印刷しておき、これを読取ることによりコピーの許可、禁止制御を行う技術が知られている。
また、高速なコードの検知を目的として、特許文献１は、紙面のうちの規定の領域にコードを印刷することも開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−５５４０６
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、このようなコードの検出であるが、コードが原稿の所定位置（例えば、４隅）に配置されていてそこだけ検出すれば良いと規定されていても、圧板読みだと、コードの位置が所定位置からずれやすい。これは、圧版読みの場合、原稿に比べて相当に大きな領域のうちのどこからの領域に人があまり位置を正確に考えずに原稿を置くからである。この結果、原稿の位置が本来複写機メーカーとして置いて欲しい位置から微妙にずれ、コードが正常に読み取れなくなる可能性が大きい。そこで、圧版読みの場合には、少し広い領域でコードの検出動作を行う必要が出てくる。なお、圧版読みとは、原稿の位置は固定のまま、読取り手段を構成する光源を動かし、原稿の照射位置を時々刻々ずらして（変化させて）いくことにより、原稿全体を読み取る方法のことである。
【０００５】
一方、ＡＤＦ読みでは機械で原稿を搬送するので原稿がずれにくく、所定領域（４隅のコード検出範囲）から原稿位置つまりコード位置はずれにくい。なお、ＡＤＦ読みとは、照射位置を固定にし、原稿の方が動くことで原稿の読取りを行う方法である。このＡＤＦ読みの場合、原稿はその左端を所定の位置にきちんと合うようにユーザによりセットされることになり（セットされないとＡＤＦは、原稿を搬送しないので）、左右の位置ずれが少ない。また、上下（正確に言うと奥行き）に関しても、大部分のユーザは原稿を正確な位置にセットする（置く）ための上下に存在するスライダーを利用して正確な位置に原稿をセットするため、上下の位置ずれも少ない。このため、圧板読みほどの広い領域でコードの検出動作を行う必要性は低い。よって、上記少し広い領域より狭い領域でコードの検出動作を行うことが望まれる。また、ＡＤＦ読みの場合には、１枚１枚原稿を再セットする必要のある圧版読みと違い、原稿がどんどん読取られるため、より速い複写が望まれ、そうした関係上も、領域を絞ってコードを検知するのが望ましい。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る装置は、請求項に記載の構成を有する。
【発明の効果】
【０００７】
本発明における一実施例によれば、コードを検出する装置において圧板読みで原稿があらかじめ固定されたコード検出範囲からコード位置がずれた場合にコード検出できない事態を減少させるという効果がある。ＡＤＦ読みのように原稿があらかじめ固定されたコード位置からずれにくい場合に読み取りや複写の速度というパフォーマンスを低下させないという効果がある。
【図面の簡単な説明】
【０００８】
【図１】実施例１のフローチャートを示す図
【図２】ＡＤＦ読み取り時のコード検出領域の一例を示す図
【図３】圧板読み取り時のコード検出領域の一例を示す図
【図４】圧板読み取り時の非対称コード検出領域とＡＤＦ読み取り時のコード検出領域の一例を示す図
【図５】圧板読み取り時の非対称コード検出領域の一例を示す図
【図６】原稿混載モードでＡ４Ｒ原稿を上側に寄せたＡＤＦ読み取り時のコード検出領域の一例を示す図
【図７】原稿混載モードでＡ４Ｒ原稿を下側に寄せたＡＤＦ読み取り時のコード検出領域の一例を示す図
【図８】原稿混載モードのＡＤＦ読み取り時のコード検出領域の一例を示す図
【図９】実施例５のフローチャートを示す図
【図１０】原稿混載モードのフローチャートを示す図
【図１１】実施例６の学習モードのフローチャートを示す図
【図１２】コード検出座標とコード検出領域座標の関係を示す図
【図１３】コードがコード検出領域外にある事を示す図
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１０】
圧版読みとは、原稿の位置は固定のまま、読取り手段を構成する光源を動かし、原稿の照射位置を時々刻々ずらして（変化させて）いくことにより、原稿全体を読み取る方法のことである。一方、ＡＤＦ読みとは、照射位置を固定にし、原稿の方を動かす（原稿の位置を変化させる）ことで原稿の読取りを行う方法である。
【実施例１】
【００１１】
コード検出を実施する装置の例としては複写機、ＭＦＰ、スキャナーのような画像処理装置とコンピュータ等があげられる。本実施例ではＭＦＰを例にとり説明を行うが実施形態を制限するものではない。また実施例ではＭＦＰを画像処理装置と呼ぶ。画像処理装置の内部構成は一般的な構成であり図示しない。
画像処理装置は画像の入出力機能を有するものであり、紙原稿の入力および紙への印刷出力を行うものである。入力した画像情報は、デジタルデータとして保存やＬＡＮや電話網を経由して他の機器への転送なども可能である。また、コンピュータからのプリントデータや、他の画像処理装置からの画像情報を受信し、紙への印刷出力も可能である。画像の入力には受光素子を使った読み取りセンサと原稿を照射する光源と原稿台とＡＤＦとそれらを駆動する機械と原稿サイズ検出センサを組み合わせた読取装置を具備する。画像の出力には電子写真方式などのプリンタを具備する。画像処理装置内にはシステム全体を制御するプロセッサおよびＡＳＩＣ（特定用用途向けＩＣ）を内蔵している。ＡＳＩＣにはシステムが動作するために必要な回路や画像処理回路が内蔵されている。また画像処理装置が動作するためのワークメモリ、画像データを一時記憶するための画像メモリとして用いる記憶部にＲＡＭを有する。上記ワークメモリ、画像メモリをメモリと呼ぶ。また、画像処理装置のブートプログラムとして用いるＲＯＭを有する。また画像処理装置のシステムソフトウェア、画像データ、設定値を記憶するハードディスクドライブ（ＨＤＤ）を有する。システムソフトウェアは、コピー、スキャン、プリンタ、ＦＡＸ、コード検出等の機能を実現するためのプログラムであり、ＲＡＭ上に展開されて動作する。画像処理装置ではシステムソフトウェアをプロセッサが実行する事で動作制御を実施する。画像処理装置内ではシステムソフトウェアによるソフト処理、または画像処理回路によるハード処理で、画像データの符号化、復号化、ラスタライズ、回転、多値と２値の変換、変倍、コード検出、その他適切な画像処理を行う。また画像処理装置へユーザの指示を伝達するＵＩ（ユーザインターフェース）を有する。ユーザはＵＩを操作してログイン、コピー、スキャン、プリンタ、ＦＡＸなどの動作を指示する。
【００１２】
画像処理装置にユーザがログインしようとしたとき、画像処理装置は、ログインユーザを特定する情報をデータサーバにアクセスして取得し、画像処理装置内の記憶手段（ＨＤＤ、メモリ等）に格納するものとする。この格納により、ログインが完了する。尚、データサーバは、図示していないが、画像処理装置と電気的に接続されるログイン管理サーバのことである。なお、ユーザを特定する情報のことを本実施例等ではユーザ情報と称する。例えば、ユーザＩＤやユーザの名前などがこのユーザ情報に含まれる。また、ユーザを間接的に特定する情報も、ユーザを特定する情報である。例えば、複写時刻や、複写を行う画像処理装置の機体番号なども、ユーザを間接的に特定する情報である。なぜなら、複写時刻や画像処理装置の機体番号がわかれば、誰が複写指示を行ったかわかる事があるためである。トレース機能ではこのユーザ情報をコードに埋め込んでいる。
【００１３】
またユーザが画像処理装置で複写指示を行った時に、原稿に埋め込まれたコードを読み取り、複写禁止属性を持っていれば複写動作を行わない。ジョブロック機能では、コードに埋め込まれた禁止属性を利用している。また複写に限らず、ＦＡＸ、スキャンといった動作にも禁止属性は有効である。
【００１４】
ここからユーザの実際の操作を記載しつつ画像処理装置の動作を説明する。
図１は、画像処理装置の読取装置に原稿を設置して複写指示を行った時の画像処理装置を制御するプロセッサの処理フローを示す。重要となるステップはＳ１０２〜Ｓ１０６である。
【００１５】
ステップＳ１００では、画像処理装置の読取装置に置かれた原稿の複写の指示がログインユーザから画像処理装置に対して行われる。そしてそしてステップＳ１０１へ移行する。（Ｓ１００）
ステップＳ１０１では、画像処理装置は読取装置を用いて原稿の読み取りを１ページ分行い、その１ページ分の画像データを画像メモリへ保存する。画像メモリには原稿サイズ検出センサにより決定された原稿幅かユーザに指示された原稿幅に合わせた画像データが保存されるか読み取りセンサ全幅に合わせた画像データが保存される。それは場合により、適したケースに合った方が選択される。圧板読み取りかＡＤＦ読み取りかはユーザにより指示される。そしてステップＳ１０２へ移行する。（Ｓ１０１）
ステップＳ１０２では、画像処理装置は読取装置のＡＤＦから読み取ったか、原稿台から読み取ったかの判定を行う。通常はステップＳ１００でＡＤＦに原稿が挿入されたことをセンサで検出するとＡＤＦからの読み取りと判断しステップＳ１０３へ移行する。ＡＤＦに原稿が挿入されたことを検出できないと原稿台からの読み取りと判断しステップＳ１０４へ移行する。（Ｓ１０２）
ステップＳ１０３では、ＡＤＦ読み取りに応じたコード検出領域を設定する。コード検出領域について説明する。図２は、ＡＤＦ読み取り時のコード検出領域の一例を示している。原稿２００内の４隅のいずれか１ヶ所にコード２０５が配置されている。検出を容易にするためにコードは規定で端部３０ｍｍ以内の位置に配置されている。そして検出領域はマージンを持たせて原稿４隅の端部４０ｍｍ以内とする事が望ましいとする。ここでＡＤＦ読み取り時では、コード検出領域を４隅とも２０１，２０２，２０３，２０４のように規定通り端部から４０ｍｍ以内と設定する。ＡＤＦ読み取りの時、ＡＤＦ内の原稿サイズ検出センサにより決定された原稿サイズに対してコード検出領域が設定される。そしてステップＳ１０６へ移行する。（Ｓ１０３）
ステップＳ１０４では、圧板読み取りに応じたコード検出領域を設定する。図３は、圧板読み取り時のコード検出領域の一例を示している。原稿３００内の４隅のいずれか１ヶ所にコード３０５が配置されている。検出を容易にするためにコードは規定で端部３０ｍｍ以内の位置に配置されている。そして検出領域はマージンを持たせて原稿４隅の端部４０ｍｍ以内とする事が望ましいとする。ここで圧板読み取り時では、コード検出領域を４隅とも３０１，３０２，３０３，３０４のように規定より＋２０ｍｍ広げて端部から６０ｍｍ以内と設定する。圧板読み取りでは人手で原稿を設置するので、原稿がずれた結果、コード３０５がコード検出領域から外れやすいため、ここでコード検出領域をＡＤＦ読み取り時より広げている。広げることでコードが検出できない事態を回避しやすくなる。圧板読み取りの時、原稿台内の原稿サイズ検出センサにより決定された原稿サイズあるいはユーザが指示した原稿サイズに対してコード検出領域が設定される。そしてステップＳ１０６へ移行する。また別の実施例では図２に示すコード検出領域とは違う設定を行うが、後に説明する。（Ｓ１０４）
ステップＳ１０６では、画像処理装置は上記ステップＳ１０３あるいはＳ１０４で設定したコード検出領域に対して、画像データに含まれているコードを検出する画像処理を行う。コードの検出アルゴリズムは公知であるのでここには記載しない。そして検出した結果とコードの内容をメモリに保存する。ここで圧板読み取り時はコード検出領域をＡＤＦ読み取り時より広げているのでコードが検出できない事態を回避しやすくなる。広げた面積分だけコード検出の画像処理時間が増加するが、圧板読み取りでは人手で原稿を１枚づつ交換するので、処理時間の増加は問題とならない。ここでＡＤＦ読み取り時は機械で原稿を搬送するのでコード検出領域とコードの位置がずれることは少なく、問題となる事は少ない。そしてＡＤＦ読み取り時はコード検出領域（検知対象領域）が規定通りなので、コード検出の画像処理時間は増加せず、ＡＤＦの読み取り速度の低下を招かずに読み取りを継続することができる。そしてステップＳ１０７へ移行する。（Ｓ１０６）
ステップＳ１０７では、画像処理装置は画像データ（画像データとは、読取手段による読取結果のことである。読取結果という言葉には、読取ったまさにその結果だけでなく、その結果に対して画像処理を施したものも含まれる。）内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップＳ１０８に移行する。コードを検出できなかった場合、ステップＳ１０９に移行する。（Ｓ１０７）
ステップＳ１０８では、ステップＳ１０６で検出したコードを、画像処理装置が復号化する。これにより、ジョブロック、トレース機能に必要なコードに含まれる情報が得られる事になる。そして、この得られた情報を記憶部に格納する。そしてステップＳ１０９に移行する。（Ｓ１０８）
ステップＳ１０９では、画像処理装置は検出されたコードの有無とその情報に基づき処理を行う。画像処理装置に対するジョブロック機能が有効になっており、複写禁止を示すコードが検出されれば、装置はユーザに指示された複写動作を中止する。画像処理装置が複写禁止を示すコードを検出できなかった時や複写可能を示すコードを検出した時は、複写可と判断し、複写動作を継続する。また画像処理装置に対するトレース機能が有効になっており、誰が作成した、誰が複写した紙媒体かというユーザ情報を示すコードが検出されれば現在ログインしているユーザ情報を埋め込んだコードを新たに符号化で生成する。そして新たに生成したコードを紙媒体に埋め込む処理を複写時に行う。１ページづつ記録するか、記録用画像データを全ページ分作成し保存しておきまとめてプリントするかは画像処理装置の設定あるいは適切と判断した方で処理する。そしてステップＳ１１０へ移行する。（Ｓ１０９）
ステップＳ１１１では、画像処理装置はＡＤＦ読み取りの時、ＡＤＦ内のセンサにより次に読み取るべき次ページがあるかを判定する。圧板読み取りの時、ユーザにＵＩで次に読み取るべき次ページがあるかを問い合わせて、操作の結果で判定する。読み取るべき次ページがある時はステップＳ１０１へ戻る。読み取るべき次ページがない時はステップＳ１１１へ移行する。（Ｓ１１０）
ステップＳ１１０では、画像処理装置は一連の動作の終了処理を行う。記録用画像データを複写する時はプリントを行い、複写禁止と判定された時は複写を中止する。そして画像処理装置は待機状態へと遷移する。（Ｓ１１１）
上記の例では、画像処理装置で原稿を複写したときに、プリントされることを想定している。コンピュータでコードを検出する画像処理を実施している場合、装置が直接読み取りとプリントを行う事は無いが、コード検出の処理は同じであるため、本実施例は複写機、ＭＦＰ、スキャナーに限られないのは言うまでもない。
【実施例２】
【００１６】
図４を用いた本実施例の説明にあたっては、図１と異なる処理（Ｓ１０４の処理）についてのみ説明を行う。本実施例では、図１に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定に関する処理を変更した。
【００１７】
図４は圧板読み取り時の非対称コード検出領域とＡＤＦ読み取り時のコード検出領域の一例を示す図である。
【００１８】
実施例２のステップＳ１０４では、画像処理装置は圧板読み取り時のコード検出領域を設定する。ユーザがＡ４原稿の圧板読みを指示したあるいは原稿台内の原稿サイズ検出センサがＡ４サイズを検出したとする。原稿が正規の位置４１４に設置されていれば、コード検出領域は４１０，４１１，４１２，４１３のようにＡＤＦ読み取り時と同じでも検出できる。しかし原稿が副走査方向下流側（この図では４０５，４０６の方向）へ２０ｍｍずれて人手で設置された場合を想定する。するとコードの検出領域も２０ｍｍ広げてやる事でコードを検出できる。この図では４０５，４０６，４０４，４０７の斜線部分を広げた検出領域としてやればよい。コードを検出する事を重要視して、同様に副走査側上流や主走査方向上流（この図では端部４１５の方向）や主走査下流あるいは斜め方向にずれる可能性を含めて考えると、コード検出領域を４０１，４０２，４０３，４０４と非対称に設定する。この例ではコード検出領域４０１は６０ｘ６０ｍｍ，４０２は８０ｘ６０ｍｍ，４０３は８０ｘ６０ｍｍ，４０４は６０ｘ６０ｍｍとなる。なお圧板の原稿ガイド部材４０８，４０９の部分は、読み取りセンサでは読み取りができないため広げる対象とはしない。圧板読み取り時に広げるコード検出領域は、想定原稿サイズとＡＤＦ読み取り時の規定領域と規定領域を何ｍｍ長くするかの設定値と原稿ガイド部材より算出することができる。このようにコード検出領域の内、複数のコード検出領域面積を異ならせる事で、よりコード検出できる可能性が高くなる。
それ以外の処理は実施例１と同じであるため説明を省略する。
【実施例３】
【００１９】
図５を用いた本実施例の説明にあたっては、図１と異なる処理（Ｓ１０４の処理）についてのみ説明を行う。本実施例では、図１に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定に関する処理を変更した。
【００２０】
図５は圧板読み取り時の非対称コード検出領域の一例を示す図である。
実施例３のステップＳ１０４では、画像処理装置は圧板読み取り時のコード検出領域を設定する。ユーザがＡ４Ｒ原稿の圧板読みを指示したあるいは原稿台内の原稿サイズ検出センサがＡ４Ｒサイズを検出したとする。原稿が正規の位置５１１に設置されていれば、コード検出領域は５０５，５０６，５０７，５０８のようにＡＤＦ読み取り時と同じでも検出できる。しかし原稿が副走査方向下流側へ２０ｍｍずれて人手で設置された場合を想定する。するとコードの検出領域も２０ｍｍ広げてやる事でコードを検出できる。この図では５０１，５０２，５０３，５０４を広げた検出領域としてやればよい。コードを検出する事を重要視して、コード検出領域を５０１，５０２，５０３，５０４と非対称に設定する。この例ではコード検出領域５０１は６０ｘ６０ｍｍ，５０２は８０ｘ６０ｍｍ，５０３は８０ｘ８０ｍｍ，５０４は６０ｘ８０ｍｍとなる。なお圧板の原稿ガイド部材５０９，５１０の部分は、読み取りセンサでは読み取りができないため広げる対象とはしない。広げるコード検出領域は、想定原稿サイズとＡＤＦ読み取り時の規定領域と規定領域を何ｍｍ長くするかの設定値と原稿ガイド部材より算出することができる。このようにコード検出領域の内、複数のコード検出領域面積を異ならせる事で、よりコード検出できる可能性が高くなる。
それ以外の処理は実施例１と同じであるため説明を省略する。
【実施例４】
【００２１】
図６、７、８、１０を用いた本実施例の説明にあたっては、図１と異なる処理（Ｓ１０３の処理）（Ｓ１０６の処理）についてのみ説明を行う。本実施例では、図１に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定、検出に関する処理を変更した。
【００２２】
図６は原稿混載モードでＡ４Ｒ原稿を上側に寄せたＡＤＦ読み取り時のコード検出領域の一例を示す図である。図７は原稿混載モードでＡ４Ｒ原稿を下側に寄せたＡＤＦ読み取り時のコード検出領域の一例を示す図である。図８は原稿混載モードのＡＤＦ読み取り時のコード検出領域の一例を示す図である。図１０は原稿混載モードのフローチャートを示す図である。
【００２３】
実施例４におけるステップＳ１０３は、図１０に示すステップＳ１００１から始まるより細かい分岐に処理を置き換える。
【００２４】
まずステップＳ１０２でＡＤＦ読み取りと判定されると、ステップＳ１０３に移行するのであるが、実施例４ではステップＳ１００１に移行して、実施例４に特徴的な処理が開始される。そしてステップＳ１００２へ移行する。（Ｓ１００１）
ステップＳ１００２では、画像処理装置はユーザに原稿混載モードが指示されたかにより処理を分岐させる。原稿混載モードでなければステップＳ１００３へ移行する。原稿混載モードであればステップＳ１００４へ移行する。（Ｓ１００２）
ステップＳ１００３では、画像処理装置は以前と同じ従来例１〜３に示すＡＤＦ読みに応じた検出領域を設定する。そしてステップＳ１００７へ移行する。（Ｓ１００３）
ステップＳ１００４では、画像処理装置は原稿サイズ及び読み取りセンサに対する位置が検出できたかを判定する。例えばＡ３原稿とＡ４Ｒ原稿をＡＤＦに混載した時、図６に示すようにＡ４Ｒ原稿が上側に設置された場合と図７に示すようにＡ４Ｒ原稿が下側に設置された場合を例に取る。画像処理装置がこの区別をつける事ができるならＡ４Ｒ原稿を読み取った時に、図６の場合はコード検出領域を６０１，６０５，６０６，６０７に設定すれば良い。そして図７の場合はコード検出領域を７０１，７０２，７０３，６０４に設定すれば良い。画像処理装置は原稿サイズ及び読み取りセンサに対する位置が検出できた時とは、言い換えると原稿を寄せる側として上側と下側の区別がついている事を指している。そしてこの検出ができた時はステップＳ１００６へ移行する。そして主走査方向の原稿サイズ検出センサが少ないなどの理由で検出できない時はステップＳ１００５へ移行する。（Ｓ１００４）
ステップＳ１００５では、画像処理装置は可能性のある原稿サイズ及び位置に応じた検出領域を設定する。先ほど述べたように主走査方向のどの位置に原稿が配置されているかが検出できていないので、読み取りセンサ全幅の画像に対して図８に示すように６０１，６０５，６０６，６０７，７０１，７０２，７０３，６０４の８ヶ所のコード検出領域を設定する。ここで原稿の長さは検出できているので上記８ヶ所を検出領域とする。そしてステップＳ１００７へ移行する。（Ｓ１００５）
ステップＳ１００６では、画像処理装置は原稿サイズに応じた検出領域を設定する。先ほど述べたように原稿サイズが検出できているので、読み取った原稿がＡ４Ｒの上側寄せであれば図６に示すようにコード検出領域を６０１，６０５，６０６，６０７に設定する。Ａ４Ｒの下側寄せであれば図７に示すようにコード検出領域を７０１，７０２，７０３，６０４に設定する。Ａ３であれば図６に示すようにコード検出領域を６０１，６０２，６０３，６０４に設定する。そしてステップＳ１００７へ移行する。（Ｓ１００６）
ステップＳ１００７では、元の図１のステップＳ１０６のフローへ戻る。（Ｓ１００７）
そしてステップＳ１０６で異なるのは、ステップＳ１００５を経由した時だけ、コードを検出できた箇所から逆算してＡ４Ｒ原稿が上側あるいは下側に寄せているかを判定して以後の処理を行う点にある。
その他の処理は実施例１と同じであるので説明を省略する。
【実施例５】
【００２５】
図９を用いた本実施例の説明にあたっては、図１に追加された処理（Ｓ９０７とＳ９１３〜Ｓ９１７の処理）についてのみ説明を行う。コードを検出できなかった時のコード検出領域の再設定に関する処理を追加した。
【００２６】
図９は実施例５のフローチャートを示す図である。
実施例５のステップＳ９００は実施例１のステップＳ１００に対応し同じである。同様にステップＳ９０１はＳ１０１、Ｓ９０２はＳ１０２、Ｓ９０３はＳ１０３、Ｓ９０４はＳ１０４、Ｓ９０６はＳ１０６、Ｓ９０８はＳ１０８、Ｓ９０９はＳ１０９、Ｓ９１０はＳ１１０、Ｓ９１１はＳ１１１に対応し同じである。
【００２７】
ステップＳ９０７は少し分岐が異なるので、Ｓ９０７から説明する。
ステップＳ９０７では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップＳ９０８に移行する。コードを検出できなかった場合、ステップＳ９１３に移行する。（Ｓ９０７）
ステップＳ９１３では、画像処理装置は原稿サイズ検出センサ出力に基づき可能性の高い原稿サイズ候補を列挙する。例えばＡＤＦ読みでＡ４ＲかＢ５Ｒサイズか確定できなかった場合や圧板読みでユーザの指示が自動検出でＡ４ＲかＢ５Ｒサイズか確定できない場合を考える。すると画像処理装置は原稿サイズ候補を第１候補はＡ４Ｒ、第２候補はＢ５Ｒ、最終候補は読み取りセンサ全面サイズあるいは原稿全面サイズと設定する。圧板読み取りの時は最終候補は読み取りセンサ全面サイズとする。ＡＤＦ読み取りの時、最終候補は原稿全面サイズと設定する。そしてステップＳ９１４へ移行する。（Ｓ９１３）
ステップＳ９１４では、画像処理装置は次に可能性の高い原稿サイズ候補に応じたコード検出領域を設定する。この例では最初に第１候補Ａ４Ｒサイズの原稿４隅端部に対してコード検出領域が設定される。実施例１で説明したようにＡＤＦ読み取りか圧板読み取りかによりコード検出領域は異なる。もし第１候補で検出できなかった時は第２候補Ｂ５Ｒサイズの原稿４隅端部に対してコード検出領域が設定される。もし第２候補でも検出できなかった時は最終候補の読み取りセンサ全面サイズに対してコード検出領域が設定される。最終候補の時は読み取った画像データ全面に対してコード検出を行うため処理時間が長くなるが、確実に検出するためである。そしてステップＳ９１５へ移行する。（Ｓ９１４）
ステップＳ９１５では、画像処理装置は上記ステップＳ９１４で設定したコード検出領域に対して、画像データに含まれているコードを検出する画像処理を行う。そして検出した結果とコードの内容をメモリに保存する。そしてステップＳ９１６へ移行する。（Ｓ９１５）
ステップＳ９１６では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップＳ９０８に移行する。コードを検出できなかった場合、ステップＳ９１７に移行する。（Ｓ９１６）
ステップＳ９１７では、画像処理装置は最終の原稿サイズ候補までコード検出を試みたかを判断する処理を行う。この例では第１候補で検出できなかった時は第２候補があるのでステップＳ９１４へ移行する。第２候補で検出できなかった時は最終候補があるのでステップＳ９１４へ移行する。最終候補で検出できなかった時は次の候補は無いためステップＳ９１７へ移行する。（Ｓ９１７）
実施例５では、原稿検出センサの出力に基づき可能性の高い原稿サイズ順にコード検出を行い、圧板読み取りの時最後は読み取りセンサ全面サイズで、ＡＤＦ読み取りの時最後は原稿全面サイズで検出を試みる。そのためコード検出できる可能性が高くなる。それ以外の処理は実施例１と同じであるため説明を省略する。
【実施例６】
【００２８】
図１１を用いた本実施例の説明にあたっては、図１に追加された処理（Ｓ１１０７とＳ１１１２〜Ｓ１１１６の処理）についてのみ説明を行う。コード検出領域の学習機能に関する処理を追加した。
【００２９】
図１１は実施例６のフローチャートを示す図である。
実施例６のステップＳ１１００は実施例１のステップＳ１００に対応し同じである。同様にステップＳ１１０１はＳ１０１、Ｓ１１０２はＳ１０２、Ｓ１１０３はＳ１０３、Ｓ１１０４はＳ１０４、Ｓ１１０６はＳ１０６、Ｓ１１０８はＳ１０８、Ｓ１１０９はＳ１０９、Ｓ１１１０はＳ１１０に対応し同じである。またＳ１１１１はＳ１１１に対応し同じである。
【００３０】
ステップＳ１１０７は少し分岐が異なるので、Ｓ１１０７から説明する。
ステップＳ１１０７では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップＳ１１１２に移行する。コードを検出できなかった場合、ステップＳ１１１５に移行する。（Ｓ１１０７）
ステップＳ１１１２では、画像処理装置はコードを検出した座標を記憶する。図１２はコード検出座標とコード検出領域座標の関係を示す図である。ここではコード１２０２を検出した隅の端部１２０５から一番遠くなるコード座標（主走査方向１２０７、副走査方向１２０６）を記憶する。コード１２０２が端部１２０５に近い時は図１２（ａ）のようになり、コード１２０２が端部１２０５より遠い時は図１２（ｂ）のようになる。そしてステップＳ１１１３に移行する。（Ｓ１１１２）
ステップＳ１１１３では、画像処理装置は現在の設定された検出領域座標−コード検出座標＞しきい値であるかを判定する。ここでは検出した隅の端部１２０５からのコード検出領域の距離を、現在の設定された検出領域座標とする。すると図１２（ａ）を使って説明すると主走査方向は１２０４、副走査方向は１２０３が現在の設定された検出領域座標となる。そして主走査方向の現在の設定された検出領域座標１２０４−コード検出座標１２０６を算出してしきい値より大きいかを判定する。上記しきい値はある一定値や設定した値を用い、例えば０．５ｍｍの距離に相当する値とする。また副走査方向の現在の設定された検出領域座標１２０３−コード検出座標１２０７を算出してしきい値より大きいかを判定する。両方ともしきい値より大きいと判定された時はステップＳ１１１４に移行する。そうでないと判定された時は、ステップＳ１１０８に移行する。ステップＳ１１０８に移行する時は、図１２（ｂ）に示すように現在の設定された検出領域は、コードが打たれた位置に対してマージンが無いため、コード検出領域を狭める事ができないと判定されたという事である。（Ｓ１１０３）
ステップＳ１１１４では、画像処理装置は現在の設定された検出領域を小さくする。言い換えると図１２（ａ）のように、現在の設定された検出領域は、コードが打たれた位置よりも大きすぎるため、コード検出領域を狭めても問題なく検出できると判定されたという事である。現在の設定された検出領域を主走査方向分は１２０８、副走査方向分は１２０９の距離を小さくする。すると次回のコード検出は主走査方向が図１２（ａ）中の１２０４−１２０８の距離で、副走査方向が１２０３−１２０９の距離で行われる。ここで小さくする距離１２０８、１２０９はある一定値や設定した値を用い、例えば０．５ｍｍの距離にする、あるいはステップＳ１１０３で述べたしきい値と同じにしてもよい。そしてコード検出領域を学習によって狭めて画像処理に要する処理時間を短縮し、コード検出処理が装置の読み取りや複写の速度というパフォーマンスを低下させる要因となっている時に改善する事ができる。そしてステップＳ１１０８に移行する。（Ｓ１１１４）
ステップＳ１１１５では画像処理装置は検出領域を最終値まで大きくしたかを判定する。言い換えると画像処理装置はコードを検出できなかったので、コード検出領域をさらに大きくする余地があるかを判定する。もしコード検出領域が最終値まで大きくなっても検出できない時は、元々コードが存在しないか読み取りセンサの読み取り範囲外に存在するという事だから、これ以上の処理は行わずにステップＳ１１０９へ移行する。まだコード検出領域が最終値でない時は、コード検出領域を大きくすれば検出できる可能性があるという事だから、ステップＳ１１１６へ移行する。（Ｓ１１１５）
ステップＳ１１１６では、画像処理装置は現在の設定された検出領域を大きくする。図１３は、コードがコード検出領域外にある事を示す図である。図１３のように、現在の設定された検出領域１２０１は、コード１２０２が外側にあってコードが検出できなかったかもしれないので検出領域を広げる。現在の設定された検出領域１２０１の主走査方向１２０４と副走査方向１２０３にある値を加算する。ここで大きくする距離はある一定値や設定した値を用い、例えば０．５ｍｍの距離にする、あるいはステップＳ１１０３で述べたしきい値と同じにしてもよい。そして段階的に検出領域１２０１を広げていく。そして何度かステップＳ１１０６で検出を試みても検出できなかった場合は検出領域を最終値まで大きくする。ここでの最終値はある値あるいは原稿全面あるいは読み取りセンサ全面画像を対象にする値である。段階的に検出領域を広げずに最初に最終値としても良い。検出領域を広げると画像処理時間が長くなるが、確実に検出するためである。そしてステップＳ１１０６へ移行する。（Ｓ１１１６）
実施例６では、学習機能によりコード検出領域を狭めて処理時間を短縮したり、広げてコード検出の可能性を高めたりする。それ以外の処理は実施例１と同じであるため説明を省略する。
【００３１】
以上、実施例１〜６では、各フローチャートにおける各ステップの処理が一台の装置で行われるものとして説明したが、各ステップの処理が、夫々、別の装置で行われても良いのは言うまでもない。
【００３２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005558844.tif 000002
【図２】
0005558844.tif 000003
【図３】
0005558844.tif 000004
【図４】
0005558844.tif 000005
【図５】
0005558844.tif 000006
【図６】
0005558844.tif 000007
【図７】
0005558844.tif 000008
【図８】
0005558844.tif 000009
【図９】
0005558844.tif 000010
【図１０】
0005558844.tif 000011
【図１１】
0005558844.tif 000012
【図１２】
0005558844.tif 000013
【図１３】
0005558844.tif 000014