コード検知可能な検知装置、その制御方法、プログラム
【課題】 コードを検出する装置において、ADF読み取り時にコード検出領域を広げすぎると処理時間が増大し、装置の読み取りや複写の速度というパフォーマンスを下げてしまう。圧板読み取り時に原稿が規定位置より大きくずれると、規定のコード検出領域ではコードが検出できない。
【解決手段】 ADF読み取り時と圧板読み取り時でコード検出領域を異ならせる。
【解決手段】 ADF読み取り時と圧板読み取り時でコード検出領域を異ならせる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コードを扱うことができる装置、その制御方法、プログラムに関するものである。
【背景技術】
【0002】
特許文献1に示すように、従来から、コードを紙面上に印刷しておき、これを読取ることによりコピーの許可、禁止制御を行う技術が知られている。
また、高速なコードの検知を目的として、特許文献1は、紙面のうちの規定の領域にコードを印刷することも開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−55406
【発明の概要】
【発明が解決しようとする課題】
【0004】
さて、このようなコードの検出であるが、コードが原稿の所定位置(例えば、4隅)に配置されていてそこだけ検出すれば良いと規定されていても、圧板読みだと、コードの位置が所定位置からずれやすい。これは、圧版読みの場合、原稿に比べて相当に大きな領域のうちのどこからの領域に人があまり位置を正確に考えずに原稿を置くからである。この結果、原稿の位置が本来複写機メーカーとして置いて欲しい位置から微妙にずれ、コードが正常に読み取れなくなる可能性が大きい。そこで、圧版読みの場合には、少し広い領域でコードの検出動作を行う必要が出てくる。なお、圧版読みとは、原稿の位置は固定のまま、読取り手段を構成する光源を動かし、原稿の照射位置を時々刻々ずらして(変化させて)いくことにより、原稿全体を読み取る方法のことである。
【0005】
一方、ADF読みでは機械で原稿を搬送するので原稿がずれにくく、所定領域(4隅のコード検出範囲)から原稿位置つまりコード位置はずれにくい。なお、ADF読みとは、照射位置を固定にし、原稿の方が動くことで原稿の読取りを行う方法である。このADF読みの場合、原稿はその左端を所定の位置にきちんと合うようにユーザによりセットされることになり(セットされないとADFは、原稿を搬送しないので)、左右の位置ずれが少ない。また、上下(正確に言うと奥行き)に関しても、大部分のユーザは原稿を正確な位置にセットする(置く)ための上下に存在するスライダーを利用して正確な位置に原稿をセットするため、上下の位置ずれも少ない。このため、圧板読みほどの広い領域でコードの検出動作を行う必要性は低い。よって、上記少し広い領域より狭い領域でコードの検出動作を行うことが望まれる。また、ADF読みの場合には、1枚1枚原稿を再セットする必要のある圧版読みと違い、原稿がどんどん読取られるため、より速い複写が望まれ、そうした関係上も、領域を絞ってコードを検知するのが望ましい。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る装置は、請求項に記載の構成を有する。
【発明の効果】
【0007】
本発明における一実施例によれば、コードを検出する装置において圧板読みで原稿があらかじめ固定されたコード検出範囲からコード位置がずれた場合にコード検出できない事態を減少させるという効果がある。ADF読みのように原稿があらかじめ固定されたコード位置からずれにくい場合に読み取りや複写の速度というパフォーマンスを低下させないという効果がある。
【図面の簡単な説明】
【0008】
【図1】実施例1のフローチャートを示す図
【図2】ADF読み取り時のコード検出領域の一例を示す図
【図3】圧板読み取り時のコード検出領域の一例を示す図
【図4】圧板読み取り時の非対称コード検出領域とADF読み取り時のコード検出領域の一例を示す図
【図5】圧板読み取り時の非対称コード検出領域の一例を示す図
【図6】原稿混載モードでA4R原稿を上側に寄せたADF読み取り時のコード検出領域の一例を示す図
【図7】原稿混載モードでA4R原稿を下側に寄せたADF読み取り時のコード検出領域の一例を示す図
【図8】原稿混載モードのADF読み取り時のコード検出領域の一例を示す図
【図9】実施例5のフローチャートを示す図
【図10】原稿混載モードのフローチャートを示す図
【図11】実施例6の学習モードのフローチャートを示す図
【図12】コード検出座標とコード検出領域座標の関係を示す図
【図13】コードがコード検出領域外にある事を示す図
【発明を実施するための形態】
【0009】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0010】
圧版読みとは、原稿の位置は固定のまま、読取り手段を構成する光源を動かし、原稿の照射位置を時々刻々ずらして(変化させて)いくことにより、原稿全体を読み取る方法のことである。一方、ADF読みとは、照射位置を固定にし、原稿の方を動かす(原稿の位置を変化させる)ことで原稿の読取りを行う方法である。
【実施例1】
【0011】
コード検出を実施する装置の例としては複写機、MFP、スキャナーのような画像処理装置とコンピュータ等があげられる。本実施例ではMFPを例にとり説明を行うが実施形態を制限するものではない。また実施例ではMFPを画像処理装置と呼ぶ。画像処理装置の内部構成は一般的な構成であり図示しない。
画像処理装置は画像の入出力機能を有するものであり、紙原稿の入力および紙への印刷出力を行うものである。入力した画像情報は、デジタルデータとして保存やLANや電話網を経由して他の機器への転送なども可能である。また、コンピュータからのプリントデータや、他の画像処理装置からの画像情報を受信し、紙への印刷出力も可能である。画像の入力には受光素子を使った読み取りセンサと原稿を照射する光源と原稿台とADFとそれらを駆動する機械と原稿サイズ検出センサを組み合わせた読取装置を具備する。画像の出力には電子写真方式などのプリンタを具備する。画像処理装置内にはシステム全体を制御するプロセッサおよびASIC(特定用用途向けIC)を内蔵している。ASICにはシステムが動作するために必要な回路や画像処理回路が内蔵されている。また画像処理装置が動作するためのワークメモリ、画像データを一時記憶するための画像メモリとして用いる記憶部にRAMを有する。上記ワークメモリ、画像メモリをメモリと呼ぶ。また、画像処理装置のブートプログラムとして用いるROMを有する。また画像処理装置のシステムソフトウェア、画像データ、設定値を記憶するハードディスクドライブ(HDD)を有する。システムソフトウェアは、コピー、スキャン、プリンタ、FAX、コード検出等の機能を実現するためのプログラムであり、RAM上に展開されて動作する。画像処理装置ではシステムソフトウェアをプロセッサが実行する事で動作制御を実施する。画像処理装置内ではシステムソフトウェアによるソフト処理、または画像処理回路によるハード処理で、画像データの符号化、復号化、ラスタライズ、回転、多値と2値の変換、変倍、コード検出、その他適切な画像処理を行う。また画像処理装置へユーザの指示を伝達するUI(ユーザインターフェース)を有する。ユーザはUIを操作してログイン、コピー、スキャン、プリンタ、FAXなどの動作を指示する。
【0012】
画像処理装置にユーザがログインしようとしたとき、画像処理装置は、ログインユーザを特定する情報をデータサーバにアクセスして取得し、画像処理装置内の記憶手段(HDD、メモリ等)に格納するものとする。この格納により、ログインが完了する。尚、データサーバは、図示していないが、画像処理装置と電気的に接続されるログイン管理サーバのことである。なお、ユーザを特定する情報のことを本実施例等ではユーザ情報と称する。例えば、ユーザIDやユーザの名前などがこのユーザ情報に含まれる。また、ユーザを間接的に特定する情報も、ユーザを特定する情報である。例えば、複写時刻や、複写を行う画像処理装置の機体番号なども、ユーザを間接的に特定する情報である。なぜなら、複写時刻や画像処理装置の機体番号がわかれば、誰が複写指示を行ったかわかる事があるためである。トレース機能ではこのユーザ情報をコードに埋め込んでいる。
【0013】
またユーザが画像処理装置で複写指示を行った時に、原稿に埋め込まれたコードを読み取り、複写禁止属性を持っていれば複写動作を行わない。ジョブロック機能では、コードに埋め込まれた禁止属性を利用している。また複写に限らず、FAX、スキャンといった動作にも禁止属性は有効である。
【0014】
ここからユーザの実際の操作を記載しつつ画像処理装置の動作を説明する。
図1は、画像処理装置の読取装置に原稿を設置して複写指示を行った時の画像処理装置を制御するプロセッサの処理フローを示す。重要となるステップはS102〜S106である。
【0015】
ステップS100では、画像処理装置の読取装置に置かれた原稿の複写の指示がログインユーザから画像処理装置に対して行われる。そしてそしてステップS101へ移行する。(S100)
ステップS101では、画像処理装置は読取装置を用いて原稿の読み取りを1ページ分行い、その1ページ分の画像データを画像メモリへ保存する。画像メモリには原稿サイズ検出センサにより決定された原稿幅かユーザに指示された原稿幅に合わせた画像データが保存されるか読み取りセンサ全幅に合わせた画像データが保存される。それは場合により、適したケースに合った方が選択される。圧板読み取りかADF読み取りかはユーザにより指示される。そしてステップS102へ移行する。(S101)
ステップS102では、画像処理装置は読取装置のADFから読み取ったか、原稿台から読み取ったかの判定を行う。通常はステップS100でADFに原稿が挿入されたことをセンサで検出するとADFからの読み取りと判断しステップS103へ移行する。ADFに原稿が挿入されたことを検出できないと原稿台からの読み取りと判断しステップS104へ移行する。(S102)
ステップS103では、ADF読み取りに応じたコード検出領域を設定する。コード検出領域について説明する。図2は、ADF読み取り時のコード検出領域の一例を示している。原稿200内の4隅のいずれか1ヶ所にコード205が配置されている。検出を容易にするためにコードは規定で端部30mm以内の位置に配置されている。そして検出領域はマージンを持たせて原稿4隅の端部40mm以内とする事が望ましいとする。ここでADF読み取り時では、コード検出領域を4隅とも201,202,203,204のように規定通り端部から40mm以内と設定する。ADF読み取りの時、ADF内の原稿サイズ検出センサにより決定された原稿サイズに対してコード検出領域が設定される。そしてステップS106へ移行する。(S103)
ステップS104では、圧板読み取りに応じたコード検出領域を設定する。図3は、圧板読み取り時のコード検出領域の一例を示している。原稿300内の4隅のいずれか1ヶ所にコード305が配置されている。検出を容易にするためにコードは規定で端部30mm以内の位置に配置されている。そして検出領域はマージンを持たせて原稿4隅の端部40mm以内とする事が望ましいとする。ここで圧板読み取り時では、コード検出領域を4隅とも301,302,303,304のように規定より+20mm広げて端部から60mm以内と設定する。圧板読み取りでは人手で原稿を設置するので、原稿がずれた結果、コード305がコード検出領域から外れやすいため、ここでコード検出領域をADF読み取り時より広げている。広げることでコードが検出できない事態を回避しやすくなる。圧板読み取りの時、原稿台内の原稿サイズ検出センサにより決定された原稿サイズあるいはユーザが指示した原稿サイズに対してコード検出領域が設定される。そしてステップS106へ移行する。また別の実施例では図2に示すコード検出領域とは違う設定を行うが、後に説明する。(S104)
ステップS106では、画像処理装置は上記ステップS103あるいはS104で設定したコード検出領域に対して、画像データに含まれているコードを検出する画像処理を行う。コードの検出アルゴリズムは公知であるのでここには記載しない。そして検出した結果とコードの内容をメモリに保存する。ここで圧板読み取り時はコード検出領域をADF読み取り時より広げているのでコードが検出できない事態を回避しやすくなる。広げた面積分だけコード検出の画像処理時間が増加するが、圧板読み取りでは人手で原稿を1枚づつ交換するので、処理時間の増加は問題とならない。ここでADF読み取り時は機械で原稿を搬送するのでコード検出領域とコードの位置がずれることは少なく、問題となる事は少ない。そしてADF読み取り時はコード検出領域(検知対象領域)が規定通りなので、コード検出の画像処理時間は増加せず、ADFの読み取り速度の低下を招かずに読み取りを継続することができる。そしてステップS107へ移行する。(S106)
ステップS107では、画像処理装置は画像データ(画像データとは、読取手段による読取結果のことである。読取結果という言葉には、読取ったまさにその結果だけでなく、その結果に対して画像処理を施したものも含まれる。)内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップS108に移行する。コードを検出できなかった場合、ステップS109に移行する。(S107)
ステップS108では、ステップS106で検出したコードを、画像処理装置が復号化する。これにより、ジョブロック、トレース機能に必要なコードに含まれる情報が得られる事になる。そして、この得られた情報を記憶部に格納する。そしてステップS109に移行する。(S108)
ステップS109では、画像処理装置は検出されたコードの有無とその情報に基づき処理を行う。画像処理装置に対するジョブロック機能が有効になっており、複写禁止を示すコードが検出されれば、装置はユーザに指示された複写動作を中止する。画像処理装置が複写禁止を示すコードを検出できなかった時や複写可能を示すコードを検出した時は、複写可と判断し、複写動作を継続する。また画像処理装置に対するトレース機能が有効になっており、誰が作成した、誰が複写した紙媒体かというユーザ情報を示すコードが検出されれば現在ログインしているユーザ情報を埋め込んだコードを新たに符号化で生成する。そして新たに生成したコードを紙媒体に埋め込む処理を複写時に行う。1ページづつ記録するか、記録用画像データを全ページ分作成し保存しておきまとめてプリントするかは画像処理装置の設定あるいは適切と判断した方で処理する。そしてステップS110へ移行する。(S109)
ステップS111では、画像処理装置はADF読み取りの時、ADF内のセンサにより次に読み取るべき次ページがあるかを判定する。圧板読み取りの時、ユーザにUIで次に読み取るべき次ページがあるかを問い合わせて、操作の結果で判定する。読み取るべき次ページがある時はステップS101へ戻る。読み取るべき次ページがない時はステップS111へ移行する。(S110)
ステップS110では、画像処理装置は一連の動作の終了処理を行う。記録用画像データを複写する時はプリントを行い、複写禁止と判定された時は複写を中止する。そして画像処理装置は待機状態へと遷移する。(S111)
上記の例では、画像処理装置で原稿を複写したときに、プリントされることを想定している。コンピュータでコードを検出する画像処理を実施している場合、装置が直接読み取りとプリントを行う事は無いが、コード検出の処理は同じであるため、本実施例は複写機、MFP、スキャナーに限られないのは言うまでもない。
【実施例2】
【0016】
図4を用いた本実施例の説明にあたっては、図1と異なる処理(S104の処理)についてのみ説明を行う。本実施例では、図1に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定に関する処理を変更した。
【0017】
図4は圧板読み取り時の非対称コード検出領域とADF読み取り時のコード検出領域の一例を示す図である。
【0018】
実施例2のステップS104では、画像処理装置は圧板読み取り時のコード検出領域を設定する。ユーザがA4原稿の圧板読みを指示したあるいは原稿台内の原稿サイズ検出センサがA4サイズを検出したとする。原稿が正規の位置414に設置されていれば、コード検出領域は410,411,412,413のようにADF読み取り時と同じでも検出できる。しかし原稿が副走査方向下流側(この図では405,406の方向)へ20mmずれて人手で設置された場合を想定する。するとコードの検出領域も20mm広げてやる事でコードを検出できる。この図では405,406,404,407の斜線部分を広げた検出領域としてやればよい。コードを検出する事を重要視して、同様に副走査側上流や主走査方向上流(この図では端部415の方向)や主走査下流あるいは斜め方向にずれる可能性を含めて考えると、コード検出領域を401,402,403,404と非対称に設定する。この例ではコード検出領域401は60x60mm,402は80x60mm,403は80x60mm,404は60x60mmとなる。なお圧板の原稿ガイド部材408,409の部分は、読み取りセンサでは読み取りができないため広げる対象とはしない。圧板読み取り時に広げるコード検出領域は、想定原稿サイズとADF読み取り時の規定領域と規定領域を何mm長くするかの設定値と原稿ガイド部材より算出することができる。このようにコード検出領域の内、複数のコード検出領域面積を異ならせる事で、よりコード検出できる可能性が高くなる。
それ以外の処理は実施例1と同じであるため説明を省略する。
【実施例3】
【0019】
図5を用いた本実施例の説明にあたっては、図1と異なる処理(S104の処理)についてのみ説明を行う。本実施例では、図1に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定に関する処理を変更した。
【0020】
図5は圧板読み取り時の非対称コード検出領域の一例を示す図である。
実施例3のステップS104では、画像処理装置は圧板読み取り時のコード検出領域を設定する。ユーザがA4R原稿の圧板読みを指示したあるいは原稿台内の原稿サイズ検出センサがA4Rサイズを検出したとする。原稿が正規の位置511に設置されていれば、コード検出領域は505,506,507,508のようにADF読み取り時と同じでも検出できる。しかし原稿が副走査方向下流側へ20mmずれて人手で設置された場合を想定する。するとコードの検出領域も20mm広げてやる事でコードを検出できる。この図では501,502,503,504を広げた検出領域としてやればよい。コードを検出する事を重要視して、コード検出領域を501,502,503,504と非対称に設定する。この例ではコード検出領域501は60x60mm,502は80x60mm,503は80x80mm,504は60x80mmとなる。なお圧板の原稿ガイド部材509,510の部分は、読み取りセンサでは読み取りができないため広げる対象とはしない。広げるコード検出領域は、想定原稿サイズとADF読み取り時の規定領域と規定領域を何mm長くするかの設定値と原稿ガイド部材より算出することができる。このようにコード検出領域の内、複数のコード検出領域面積を異ならせる事で、よりコード検出できる可能性が高くなる。
それ以外の処理は実施例1と同じであるため説明を省略する。
【実施例4】
【0021】
図6、7、8、10を用いた本実施例の説明にあたっては、図1と異なる処理(S103の処理)(S106の処理)についてのみ説明を行う。本実施例では、図1に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定、検出に関する処理を変更した。
【0022】
図6は原稿混載モードでA4R原稿を上側に寄せたADF読み取り時のコード検出領域の一例を示す図である。図7は原稿混載モードでA4R原稿を下側に寄せたADF読み取り時のコード検出領域の一例を示す図である。図8は原稿混載モードのADF読み取り時のコード検出領域の一例を示す図である。図10は原稿混載モードのフローチャートを示す図である。
【0023】
実施例4におけるステップS103は、図10に示すステップS1001から始まるより細かい分岐に処理を置き換える。
【0024】
まずステップS102でADF読み取りと判定されると、ステップS103に移行するのであるが、実施例4ではステップS1001に移行して、実施例4に特徴的な処理が開始される。そしてステップS1002へ移行する。(S1001)
ステップS1002では、画像処理装置はユーザに原稿混載モードが指示されたかにより処理を分岐させる。原稿混載モードでなければステップS1003へ移行する。原稿混載モードであればステップS1004へ移行する。(S1002)
ステップS1003では、画像処理装置は以前と同じ従来例1〜3に示すADF読みに応じた検出領域を設定する。そしてステップS1007へ移行する。(S1003)
ステップS1004では、画像処理装置は原稿サイズ及び読み取りセンサに対する位置が検出できたかを判定する。例えばA3原稿とA4R原稿をADFに混載した時、図6に示すようにA4R原稿が上側に設置された場合と図7に示すようにA4R原稿が下側に設置された場合を例に取る。画像処理装置がこの区別をつける事ができるならA4R原稿を読み取った時に、図6の場合はコード検出領域を601,605,606,607に設定すれば良い。そして図7の場合はコード検出領域を701,702,703,604に設定すれば良い。画像処理装置は原稿サイズ及び読み取りセンサに対する位置が検出できた時とは、言い換えると原稿を寄せる側として上側と下側の区別がついている事を指している。そしてこの検出ができた時はステップS1006へ移行する。そして主走査方向の原稿サイズ検出センサが少ないなどの理由で検出できない時はステップS1005へ移行する。(S1004)
ステップS1005では、画像処理装置は可能性のある原稿サイズ及び位置に応じた検出領域を設定する。先ほど述べたように主走査方向のどの位置に原稿が配置されているかが検出できていないので、読み取りセンサ全幅の画像に対して図8に示すように601,605,606,607,701,702,703,604の8ヶ所のコード検出領域を設定する。ここで原稿の長さは検出できているので上記8ヶ所を検出領域とする。そしてステップS1007へ移行する。(S1005)
ステップS1006では、画像処理装置は原稿サイズに応じた検出領域を設定する。先ほど述べたように原稿サイズが検出できているので、読み取った原稿がA4Rの上側寄せであれば図6に示すようにコード検出領域を601,605,606,607に設定する。A4Rの下側寄せであれば図7に示すようにコード検出領域を701,702,703,604に設定する。A3であれば図6に示すようにコード検出領域を601,602,603,604に設定する。そしてステップS1007へ移行する。(S1006)
ステップS1007では、元の図1のステップS106のフローへ戻る。(S1007)
そしてステップS106で異なるのは、ステップS1005を経由した時だけ、コードを検出できた箇所から逆算してA4R原稿が上側あるいは下側に寄せているかを判定して以後の処理を行う点にある。
その他の処理は実施例1と同じであるので説明を省略する。
【実施例5】
【0025】
図9を用いた本実施例の説明にあたっては、図1に追加された処理(S907とS913〜S917の処理)についてのみ説明を行う。コードを検出できなかった時のコード検出領域の再設定に関する処理を追加した。
【0026】
図9は実施例5のフローチャートを示す図である。
実施例5のステップS900は実施例1のステップS100に対応し同じである。同様にステップS901はS101、S902はS102、S903はS103、S904はS104、S906はS106、S908はS108、S909はS109、S910はS110、S911はS111に対応し同じである。
【0027】
ステップS907は少し分岐が異なるので、S907から説明する。
ステップS907では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップS908に移行する。コードを検出できなかった場合、ステップS913に移行する。(S907)
ステップS913では、画像処理装置は原稿サイズ検出センサ出力に基づき可能性の高い原稿サイズ候補を列挙する。例えばADF読みでA4RかB5Rサイズか確定できなかった場合や圧板読みでユーザの指示が自動検出でA4RかB5Rサイズか確定できない場合を考える。すると画像処理装置は原稿サイズ候補を第1候補はA4R、第2候補はB5R、最終候補は読み取りセンサ全面サイズあるいは原稿全面サイズと設定する。圧板読み取りの時は最終候補は読み取りセンサ全面サイズとする。ADF読み取りの時、最終候補は原稿全面サイズと設定する。そしてステップS914へ移行する。(S913)
ステップS914では、画像処理装置は次に可能性の高い原稿サイズ候補に応じたコード検出領域を設定する。この例では最初に第1候補A4Rサイズの原稿4隅端部に対してコード検出領域が設定される。実施例1で説明したようにADF読み取りか圧板読み取りかによりコード検出領域は異なる。もし第1候補で検出できなかった時は第2候補B5Rサイズの原稿4隅端部に対してコード検出領域が設定される。もし第2候補でも検出できなかった時は最終候補の読み取りセンサ全面サイズに対してコード検出領域が設定される。最終候補の時は読み取った画像データ全面に対してコード検出を行うため処理時間が長くなるが、確実に検出するためである。そしてステップS915へ移行する。(S914)
ステップS915では、画像処理装置は上記ステップS914で設定したコード検出領域に対して、画像データに含まれているコードを検出する画像処理を行う。そして検出した結果とコードの内容をメモリに保存する。そしてステップS916へ移行する。(S915)
ステップS916では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップS908に移行する。コードを検出できなかった場合、ステップS917に移行する。(S916)
ステップS917では、画像処理装置は最終の原稿サイズ候補までコード検出を試みたかを判断する処理を行う。この例では第1候補で検出できなかった時は第2候補があるのでステップS914へ移行する。第2候補で検出できなかった時は最終候補があるのでステップS914へ移行する。最終候補で検出できなかった時は次の候補は無いためステップS917へ移行する。(S917)
実施例5では、原稿検出センサの出力に基づき可能性の高い原稿サイズ順にコード検出を行い、圧板読み取りの時最後は読み取りセンサ全面サイズで、ADF読み取りの時最後は原稿全面サイズで検出を試みる。そのためコード検出できる可能性が高くなる。それ以外の処理は実施例1と同じであるため説明を省略する。
【実施例6】
【0028】
図11を用いた本実施例の説明にあたっては、図1に追加された処理(S1107とS1112〜S1116の処理)についてのみ説明を行う。コード検出領域の学習機能に関する処理を追加した。
【0029】
図11は実施例6のフローチャートを示す図である。
実施例6のステップS1100は実施例1のステップS100に対応し同じである。同様にステップS1101はS101、S1102はS102、S1103はS103、S1104はS104、S1106はS106、S1108はS108、S1109はS109、S1110はS110に対応し同じである。またS1111はS111に対応し同じである。
【0030】
ステップS1107は少し分岐が異なるので、S1107から説明する。
ステップS1107では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップS1112に移行する。コードを検出できなかった場合、ステップS1115に移行する。(S1107)
ステップS1112では、画像処理装置はコードを検出した座標を記憶する。図12はコード検出座標とコード検出領域座標の関係を示す図である。ここではコード1202を検出した隅の端部1205から一番遠くなるコード座標(主走査方向1207、副走査方向1206)を記憶する。コード1202が端部1205に近い時は図12(a)のようになり、コード1202が端部1205より遠い時は図12(b)のようになる。そしてステップS1113に移行する。(S1112)
ステップS1113では、画像処理装置は現在の設定された検出領域座標−コード検出座標>しきい値であるかを判定する。ここでは検出した隅の端部1205からのコード検出領域の距離を、現在の設定された検出領域座標とする。すると図12(a)を使って説明すると主走査方向は1204、副走査方向は1203が現在の設定された検出領域座標となる。そして主走査方向の現在の設定された検出領域座標1204−コード検出座標1206を算出してしきい値より大きいかを判定する。上記しきい値はある一定値や設定した値を用い、例えば0.5mmの距離に相当する値とする。また副走査方向の現在の設定された検出領域座標1203−コード検出座標1207を算出してしきい値より大きいかを判定する。両方ともしきい値より大きいと判定された時はステップS1114に移行する。そうでないと判定された時は、ステップS1108に移行する。ステップS1108に移行する時は、図12(b)に示すように現在の設定された検出領域は、コードが打たれた位置に対してマージンが無いため、コード検出領域を狭める事ができないと判定されたという事である。(S1103)
ステップS1114では、画像処理装置は現在の設定された検出領域を小さくする。言い換えると図12(a)のように、現在の設定された検出領域は、コードが打たれた位置よりも大きすぎるため、コード検出領域を狭めても問題なく検出できると判定されたという事である。現在の設定された検出領域を主走査方向分は1208、副走査方向分は1209の距離を小さくする。すると次回のコード検出は主走査方向が図12(a)中の1204−1208の距離で、副走査方向が1203−1209の距離で行われる。ここで小さくする距離1208、1209はある一定値や設定した値を用い、例えば0.5mmの距離にする、あるいはステップS1103で述べたしきい値と同じにしてもよい。そしてコード検出領域を学習によって狭めて画像処理に要する処理時間を短縮し、コード検出処理が装置の読み取りや複写の速度というパフォーマンスを低下させる要因となっている時に改善する事ができる。そしてステップS1108に移行する。(S1114)
ステップS1115では画像処理装置は検出領域を最終値まで大きくしたかを判定する。言い換えると画像処理装置はコードを検出できなかったので、コード検出領域をさらに大きくする余地があるかを判定する。もしコード検出領域が最終値まで大きくなっても検出できない時は、元々コードが存在しないか読み取りセンサの読み取り範囲外に存在するという事だから、これ以上の処理は行わずにステップS1109へ移行する。まだコード検出領域が最終値でない時は、コード検出領域を大きくすれば検出できる可能性があるという事だから、ステップS1116へ移行する。(S1115)
ステップS1116では、画像処理装置は現在の設定された検出領域を大きくする。図13は、コードがコード検出領域外にある事を示す図である。図13のように、現在の設定された検出領域1201は、コード1202が外側にあってコードが検出できなかったかもしれないので検出領域を広げる。現在の設定された検出領域1201の主走査方向1204と副走査方向1203にある値を加算する。ここで大きくする距離はある一定値や設定した値を用い、例えば0.5mmの距離にする、あるいはステップS1103で述べたしきい値と同じにしてもよい。そして段階的に検出領域1201を広げていく。そして何度かステップS1106で検出を試みても検出できなかった場合は検出領域を最終値まで大きくする。ここでの最終値はある値あるいは原稿全面あるいは読み取りセンサ全面画像を対象にする値である。段階的に検出領域を広げずに最初に最終値としても良い。検出領域を広げると画像処理時間が長くなるが、確実に検出するためである。そしてステップS1106へ移行する。(S1116)
実施例6では、学習機能によりコード検出領域を狭めて処理時間を短縮したり、広げてコード検出の可能性を高めたりする。それ以外の処理は実施例1と同じであるため説明を省略する。
【0031】
以上、実施例1〜6では、各フローチャートにおける各ステップの処理が一台の装置で行われるものとして説明したが、各ステップの処理が、夫々、別の装置で行われても良いのは言うまでもない。
【0032】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、コードを扱うことができる装置、その制御方法、プログラムに関するものである。
【背景技術】
【0002】
特許文献1に示すように、従来から、コードを紙面上に印刷しておき、これを読取ることによりコピーの許可、禁止制御を行う技術が知られている。
また、高速なコードの検知を目的として、特許文献1は、紙面のうちの規定の領域にコードを印刷することも開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−55406
【発明の概要】
【発明が解決しようとする課題】
【0004】
さて、このようなコードの検出であるが、コードが原稿の所定位置(例えば、4隅)に配置されていてそこだけ検出すれば良いと規定されていても、圧板読みだと、コードの位置が所定位置からずれやすい。これは、圧版読みの場合、原稿に比べて相当に大きな領域のうちのどこからの領域に人があまり位置を正確に考えずに原稿を置くからである。この結果、原稿の位置が本来複写機メーカーとして置いて欲しい位置から微妙にずれ、コードが正常に読み取れなくなる可能性が大きい。そこで、圧版読みの場合には、少し広い領域でコードの検出動作を行う必要が出てくる。なお、圧版読みとは、原稿の位置は固定のまま、読取り手段を構成する光源を動かし、原稿の照射位置を時々刻々ずらして(変化させて)いくことにより、原稿全体を読み取る方法のことである。
【0005】
一方、ADF読みでは機械で原稿を搬送するので原稿がずれにくく、所定領域(4隅のコード検出範囲)から原稿位置つまりコード位置はずれにくい。なお、ADF読みとは、照射位置を固定にし、原稿の方が動くことで原稿の読取りを行う方法である。このADF読みの場合、原稿はその左端を所定の位置にきちんと合うようにユーザによりセットされることになり(セットされないとADFは、原稿を搬送しないので)、左右の位置ずれが少ない。また、上下(正確に言うと奥行き)に関しても、大部分のユーザは原稿を正確な位置にセットする(置く)ための上下に存在するスライダーを利用して正確な位置に原稿をセットするため、上下の位置ずれも少ない。このため、圧板読みほどの広い領域でコードの検出動作を行う必要性は低い。よって、上記少し広い領域より狭い領域でコードの検出動作を行うことが望まれる。また、ADF読みの場合には、1枚1枚原稿を再セットする必要のある圧版読みと違い、原稿がどんどん読取られるため、より速い複写が望まれ、そうした関係上も、領域を絞ってコードを検知するのが望ましい。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る装置は、請求項に記載の構成を有する。
【発明の効果】
【0007】
本発明における一実施例によれば、コードを検出する装置において圧板読みで原稿があらかじめ固定されたコード検出範囲からコード位置がずれた場合にコード検出できない事態を減少させるという効果がある。ADF読みのように原稿があらかじめ固定されたコード位置からずれにくい場合に読み取りや複写の速度というパフォーマンスを低下させないという効果がある。
【図面の簡単な説明】
【0008】
【図1】実施例1のフローチャートを示す図
【図2】ADF読み取り時のコード検出領域の一例を示す図
【図3】圧板読み取り時のコード検出領域の一例を示す図
【図4】圧板読み取り時の非対称コード検出領域とADF読み取り時のコード検出領域の一例を示す図
【図5】圧板読み取り時の非対称コード検出領域の一例を示す図
【図6】原稿混載モードでA4R原稿を上側に寄せたADF読み取り時のコード検出領域の一例を示す図
【図7】原稿混載モードでA4R原稿を下側に寄せたADF読み取り時のコード検出領域の一例を示す図
【図8】原稿混載モードのADF読み取り時のコード検出領域の一例を示す図
【図9】実施例5のフローチャートを示す図
【図10】原稿混載モードのフローチャートを示す図
【図11】実施例6の学習モードのフローチャートを示す図
【図12】コード検出座標とコード検出領域座標の関係を示す図
【図13】コードがコード検出領域外にある事を示す図
【発明を実施するための形態】
【0009】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0010】
圧版読みとは、原稿の位置は固定のまま、読取り手段を構成する光源を動かし、原稿の照射位置を時々刻々ずらして(変化させて)いくことにより、原稿全体を読み取る方法のことである。一方、ADF読みとは、照射位置を固定にし、原稿の方を動かす(原稿の位置を変化させる)ことで原稿の読取りを行う方法である。
【実施例1】
【0011】
コード検出を実施する装置の例としては複写機、MFP、スキャナーのような画像処理装置とコンピュータ等があげられる。本実施例ではMFPを例にとり説明を行うが実施形態を制限するものではない。また実施例ではMFPを画像処理装置と呼ぶ。画像処理装置の内部構成は一般的な構成であり図示しない。
画像処理装置は画像の入出力機能を有するものであり、紙原稿の入力および紙への印刷出力を行うものである。入力した画像情報は、デジタルデータとして保存やLANや電話網を経由して他の機器への転送なども可能である。また、コンピュータからのプリントデータや、他の画像処理装置からの画像情報を受信し、紙への印刷出力も可能である。画像の入力には受光素子を使った読み取りセンサと原稿を照射する光源と原稿台とADFとそれらを駆動する機械と原稿サイズ検出センサを組み合わせた読取装置を具備する。画像の出力には電子写真方式などのプリンタを具備する。画像処理装置内にはシステム全体を制御するプロセッサおよびASIC(特定用用途向けIC)を内蔵している。ASICにはシステムが動作するために必要な回路や画像処理回路が内蔵されている。また画像処理装置が動作するためのワークメモリ、画像データを一時記憶するための画像メモリとして用いる記憶部にRAMを有する。上記ワークメモリ、画像メモリをメモリと呼ぶ。また、画像処理装置のブートプログラムとして用いるROMを有する。また画像処理装置のシステムソフトウェア、画像データ、設定値を記憶するハードディスクドライブ(HDD)を有する。システムソフトウェアは、コピー、スキャン、プリンタ、FAX、コード検出等の機能を実現するためのプログラムであり、RAM上に展開されて動作する。画像処理装置ではシステムソフトウェアをプロセッサが実行する事で動作制御を実施する。画像処理装置内ではシステムソフトウェアによるソフト処理、または画像処理回路によるハード処理で、画像データの符号化、復号化、ラスタライズ、回転、多値と2値の変換、変倍、コード検出、その他適切な画像処理を行う。また画像処理装置へユーザの指示を伝達するUI(ユーザインターフェース)を有する。ユーザはUIを操作してログイン、コピー、スキャン、プリンタ、FAXなどの動作を指示する。
【0012】
画像処理装置にユーザがログインしようとしたとき、画像処理装置は、ログインユーザを特定する情報をデータサーバにアクセスして取得し、画像処理装置内の記憶手段(HDD、メモリ等)に格納するものとする。この格納により、ログインが完了する。尚、データサーバは、図示していないが、画像処理装置と電気的に接続されるログイン管理サーバのことである。なお、ユーザを特定する情報のことを本実施例等ではユーザ情報と称する。例えば、ユーザIDやユーザの名前などがこのユーザ情報に含まれる。また、ユーザを間接的に特定する情報も、ユーザを特定する情報である。例えば、複写時刻や、複写を行う画像処理装置の機体番号なども、ユーザを間接的に特定する情報である。なぜなら、複写時刻や画像処理装置の機体番号がわかれば、誰が複写指示を行ったかわかる事があるためである。トレース機能ではこのユーザ情報をコードに埋め込んでいる。
【0013】
またユーザが画像処理装置で複写指示を行った時に、原稿に埋め込まれたコードを読み取り、複写禁止属性を持っていれば複写動作を行わない。ジョブロック機能では、コードに埋め込まれた禁止属性を利用している。また複写に限らず、FAX、スキャンといった動作にも禁止属性は有効である。
【0014】
ここからユーザの実際の操作を記載しつつ画像処理装置の動作を説明する。
図1は、画像処理装置の読取装置に原稿を設置して複写指示を行った時の画像処理装置を制御するプロセッサの処理フローを示す。重要となるステップはS102〜S106である。
【0015】
ステップS100では、画像処理装置の読取装置に置かれた原稿の複写の指示がログインユーザから画像処理装置に対して行われる。そしてそしてステップS101へ移行する。(S100)
ステップS101では、画像処理装置は読取装置を用いて原稿の読み取りを1ページ分行い、その1ページ分の画像データを画像メモリへ保存する。画像メモリには原稿サイズ検出センサにより決定された原稿幅かユーザに指示された原稿幅に合わせた画像データが保存されるか読み取りセンサ全幅に合わせた画像データが保存される。それは場合により、適したケースに合った方が選択される。圧板読み取りかADF読み取りかはユーザにより指示される。そしてステップS102へ移行する。(S101)
ステップS102では、画像処理装置は読取装置のADFから読み取ったか、原稿台から読み取ったかの判定を行う。通常はステップS100でADFに原稿が挿入されたことをセンサで検出するとADFからの読み取りと判断しステップS103へ移行する。ADFに原稿が挿入されたことを検出できないと原稿台からの読み取りと判断しステップS104へ移行する。(S102)
ステップS103では、ADF読み取りに応じたコード検出領域を設定する。コード検出領域について説明する。図2は、ADF読み取り時のコード検出領域の一例を示している。原稿200内の4隅のいずれか1ヶ所にコード205が配置されている。検出を容易にするためにコードは規定で端部30mm以内の位置に配置されている。そして検出領域はマージンを持たせて原稿4隅の端部40mm以内とする事が望ましいとする。ここでADF読み取り時では、コード検出領域を4隅とも201,202,203,204のように規定通り端部から40mm以内と設定する。ADF読み取りの時、ADF内の原稿サイズ検出センサにより決定された原稿サイズに対してコード検出領域が設定される。そしてステップS106へ移行する。(S103)
ステップS104では、圧板読み取りに応じたコード検出領域を設定する。図3は、圧板読み取り時のコード検出領域の一例を示している。原稿300内の4隅のいずれか1ヶ所にコード305が配置されている。検出を容易にするためにコードは規定で端部30mm以内の位置に配置されている。そして検出領域はマージンを持たせて原稿4隅の端部40mm以内とする事が望ましいとする。ここで圧板読み取り時では、コード検出領域を4隅とも301,302,303,304のように規定より+20mm広げて端部から60mm以内と設定する。圧板読み取りでは人手で原稿を設置するので、原稿がずれた結果、コード305がコード検出領域から外れやすいため、ここでコード検出領域をADF読み取り時より広げている。広げることでコードが検出できない事態を回避しやすくなる。圧板読み取りの時、原稿台内の原稿サイズ検出センサにより決定された原稿サイズあるいはユーザが指示した原稿サイズに対してコード検出領域が設定される。そしてステップS106へ移行する。また別の実施例では図2に示すコード検出領域とは違う設定を行うが、後に説明する。(S104)
ステップS106では、画像処理装置は上記ステップS103あるいはS104で設定したコード検出領域に対して、画像データに含まれているコードを検出する画像処理を行う。コードの検出アルゴリズムは公知であるのでここには記載しない。そして検出した結果とコードの内容をメモリに保存する。ここで圧板読み取り時はコード検出領域をADF読み取り時より広げているのでコードが検出できない事態を回避しやすくなる。広げた面積分だけコード検出の画像処理時間が増加するが、圧板読み取りでは人手で原稿を1枚づつ交換するので、処理時間の増加は問題とならない。ここでADF読み取り時は機械で原稿を搬送するのでコード検出領域とコードの位置がずれることは少なく、問題となる事は少ない。そしてADF読み取り時はコード検出領域(検知対象領域)が規定通りなので、コード検出の画像処理時間は増加せず、ADFの読み取り速度の低下を招かずに読み取りを継続することができる。そしてステップS107へ移行する。(S106)
ステップS107では、画像処理装置は画像データ(画像データとは、読取手段による読取結果のことである。読取結果という言葉には、読取ったまさにその結果だけでなく、その結果に対して画像処理を施したものも含まれる。)内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップS108に移行する。コードを検出できなかった場合、ステップS109に移行する。(S107)
ステップS108では、ステップS106で検出したコードを、画像処理装置が復号化する。これにより、ジョブロック、トレース機能に必要なコードに含まれる情報が得られる事になる。そして、この得られた情報を記憶部に格納する。そしてステップS109に移行する。(S108)
ステップS109では、画像処理装置は検出されたコードの有無とその情報に基づき処理を行う。画像処理装置に対するジョブロック機能が有効になっており、複写禁止を示すコードが検出されれば、装置はユーザに指示された複写動作を中止する。画像処理装置が複写禁止を示すコードを検出できなかった時や複写可能を示すコードを検出した時は、複写可と判断し、複写動作を継続する。また画像処理装置に対するトレース機能が有効になっており、誰が作成した、誰が複写した紙媒体かというユーザ情報を示すコードが検出されれば現在ログインしているユーザ情報を埋め込んだコードを新たに符号化で生成する。そして新たに生成したコードを紙媒体に埋め込む処理を複写時に行う。1ページづつ記録するか、記録用画像データを全ページ分作成し保存しておきまとめてプリントするかは画像処理装置の設定あるいは適切と判断した方で処理する。そしてステップS110へ移行する。(S109)
ステップS111では、画像処理装置はADF読み取りの時、ADF内のセンサにより次に読み取るべき次ページがあるかを判定する。圧板読み取りの時、ユーザにUIで次に読み取るべき次ページがあるかを問い合わせて、操作の結果で判定する。読み取るべき次ページがある時はステップS101へ戻る。読み取るべき次ページがない時はステップS111へ移行する。(S110)
ステップS110では、画像処理装置は一連の動作の終了処理を行う。記録用画像データを複写する時はプリントを行い、複写禁止と判定された時は複写を中止する。そして画像処理装置は待機状態へと遷移する。(S111)
上記の例では、画像処理装置で原稿を複写したときに、プリントされることを想定している。コンピュータでコードを検出する画像処理を実施している場合、装置が直接読み取りとプリントを行う事は無いが、コード検出の処理は同じであるため、本実施例は複写機、MFP、スキャナーに限られないのは言うまでもない。
【実施例2】
【0016】
図4を用いた本実施例の説明にあたっては、図1と異なる処理(S104の処理)についてのみ説明を行う。本実施例では、図1に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定に関する処理を変更した。
【0017】
図4は圧板読み取り時の非対称コード検出領域とADF読み取り時のコード検出領域の一例を示す図である。
【0018】
実施例2のステップS104では、画像処理装置は圧板読み取り時のコード検出領域を設定する。ユーザがA4原稿の圧板読みを指示したあるいは原稿台内の原稿サイズ検出センサがA4サイズを検出したとする。原稿が正規の位置414に設置されていれば、コード検出領域は410,411,412,413のようにADF読み取り時と同じでも検出できる。しかし原稿が副走査方向下流側(この図では405,406の方向)へ20mmずれて人手で設置された場合を想定する。するとコードの検出領域も20mm広げてやる事でコードを検出できる。この図では405,406,404,407の斜線部分を広げた検出領域としてやればよい。コードを検出する事を重要視して、同様に副走査側上流や主走査方向上流(この図では端部415の方向)や主走査下流あるいは斜め方向にずれる可能性を含めて考えると、コード検出領域を401,402,403,404と非対称に設定する。この例ではコード検出領域401は60x60mm,402は80x60mm,403は80x60mm,404は60x60mmとなる。なお圧板の原稿ガイド部材408,409の部分は、読み取りセンサでは読み取りができないため広げる対象とはしない。圧板読み取り時に広げるコード検出領域は、想定原稿サイズとADF読み取り時の規定領域と規定領域を何mm長くするかの設定値と原稿ガイド部材より算出することができる。このようにコード検出領域の内、複数のコード検出領域面積を異ならせる事で、よりコード検出できる可能性が高くなる。
それ以外の処理は実施例1と同じであるため説明を省略する。
【実施例3】
【0019】
図5を用いた本実施例の説明にあたっては、図1と異なる処理(S104の処理)についてのみ説明を行う。本実施例では、図1に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定に関する処理を変更した。
【0020】
図5は圧板読み取り時の非対称コード検出領域の一例を示す図である。
実施例3のステップS104では、画像処理装置は圧板読み取り時のコード検出領域を設定する。ユーザがA4R原稿の圧板読みを指示したあるいは原稿台内の原稿サイズ検出センサがA4Rサイズを検出したとする。原稿が正規の位置511に設置されていれば、コード検出領域は505,506,507,508のようにADF読み取り時と同じでも検出できる。しかし原稿が副走査方向下流側へ20mmずれて人手で設置された場合を想定する。するとコードの検出領域も20mm広げてやる事でコードを検出できる。この図では501,502,503,504を広げた検出領域としてやればよい。コードを検出する事を重要視して、コード検出領域を501,502,503,504と非対称に設定する。この例ではコード検出領域501は60x60mm,502は80x60mm,503は80x80mm,504は60x80mmとなる。なお圧板の原稿ガイド部材509,510の部分は、読み取りセンサでは読み取りができないため広げる対象とはしない。広げるコード検出領域は、想定原稿サイズとADF読み取り時の規定領域と規定領域を何mm長くするかの設定値と原稿ガイド部材より算出することができる。このようにコード検出領域の内、複数のコード検出領域面積を異ならせる事で、よりコード検出できる可能性が高くなる。
それ以外の処理は実施例1と同じであるため説明を省略する。
【実施例4】
【0021】
図6、7、8、10を用いた本実施例の説明にあたっては、図1と異なる処理(S103の処理)(S106の処理)についてのみ説明を行う。本実施例では、図1に示すプロセッサの処理フローと同じフローであるが、コード検出領域の設定、検出に関する処理を変更した。
【0022】
図6は原稿混載モードでA4R原稿を上側に寄せたADF読み取り時のコード検出領域の一例を示す図である。図7は原稿混載モードでA4R原稿を下側に寄せたADF読み取り時のコード検出領域の一例を示す図である。図8は原稿混載モードのADF読み取り時のコード検出領域の一例を示す図である。図10は原稿混載モードのフローチャートを示す図である。
【0023】
実施例4におけるステップS103は、図10に示すステップS1001から始まるより細かい分岐に処理を置き換える。
【0024】
まずステップS102でADF読み取りと判定されると、ステップS103に移行するのであるが、実施例4ではステップS1001に移行して、実施例4に特徴的な処理が開始される。そしてステップS1002へ移行する。(S1001)
ステップS1002では、画像処理装置はユーザに原稿混載モードが指示されたかにより処理を分岐させる。原稿混載モードでなければステップS1003へ移行する。原稿混載モードであればステップS1004へ移行する。(S1002)
ステップS1003では、画像処理装置は以前と同じ従来例1〜3に示すADF読みに応じた検出領域を設定する。そしてステップS1007へ移行する。(S1003)
ステップS1004では、画像処理装置は原稿サイズ及び読み取りセンサに対する位置が検出できたかを判定する。例えばA3原稿とA4R原稿をADFに混載した時、図6に示すようにA4R原稿が上側に設置された場合と図7に示すようにA4R原稿が下側に設置された場合を例に取る。画像処理装置がこの区別をつける事ができるならA4R原稿を読み取った時に、図6の場合はコード検出領域を601,605,606,607に設定すれば良い。そして図7の場合はコード検出領域を701,702,703,604に設定すれば良い。画像処理装置は原稿サイズ及び読み取りセンサに対する位置が検出できた時とは、言い換えると原稿を寄せる側として上側と下側の区別がついている事を指している。そしてこの検出ができた時はステップS1006へ移行する。そして主走査方向の原稿サイズ検出センサが少ないなどの理由で検出できない時はステップS1005へ移行する。(S1004)
ステップS1005では、画像処理装置は可能性のある原稿サイズ及び位置に応じた検出領域を設定する。先ほど述べたように主走査方向のどの位置に原稿が配置されているかが検出できていないので、読み取りセンサ全幅の画像に対して図8に示すように601,605,606,607,701,702,703,604の8ヶ所のコード検出領域を設定する。ここで原稿の長さは検出できているので上記8ヶ所を検出領域とする。そしてステップS1007へ移行する。(S1005)
ステップS1006では、画像処理装置は原稿サイズに応じた検出領域を設定する。先ほど述べたように原稿サイズが検出できているので、読み取った原稿がA4Rの上側寄せであれば図6に示すようにコード検出領域を601,605,606,607に設定する。A4Rの下側寄せであれば図7に示すようにコード検出領域を701,702,703,604に設定する。A3であれば図6に示すようにコード検出領域を601,602,603,604に設定する。そしてステップS1007へ移行する。(S1006)
ステップS1007では、元の図1のステップS106のフローへ戻る。(S1007)
そしてステップS106で異なるのは、ステップS1005を経由した時だけ、コードを検出できた箇所から逆算してA4R原稿が上側あるいは下側に寄せているかを判定して以後の処理を行う点にある。
その他の処理は実施例1と同じであるので説明を省略する。
【実施例5】
【0025】
図9を用いた本実施例の説明にあたっては、図1に追加された処理(S907とS913〜S917の処理)についてのみ説明を行う。コードを検出できなかった時のコード検出領域の再設定に関する処理を追加した。
【0026】
図9は実施例5のフローチャートを示す図である。
実施例5のステップS900は実施例1のステップS100に対応し同じである。同様にステップS901はS101、S902はS102、S903はS103、S904はS104、S906はS106、S908はS108、S909はS109、S910はS110、S911はS111に対応し同じである。
【0027】
ステップS907は少し分岐が異なるので、S907から説明する。
ステップS907では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップS908に移行する。コードを検出できなかった場合、ステップS913に移行する。(S907)
ステップS913では、画像処理装置は原稿サイズ検出センサ出力に基づき可能性の高い原稿サイズ候補を列挙する。例えばADF読みでA4RかB5Rサイズか確定できなかった場合や圧板読みでユーザの指示が自動検出でA4RかB5Rサイズか確定できない場合を考える。すると画像処理装置は原稿サイズ候補を第1候補はA4R、第2候補はB5R、最終候補は読み取りセンサ全面サイズあるいは原稿全面サイズと設定する。圧板読み取りの時は最終候補は読み取りセンサ全面サイズとする。ADF読み取りの時、最終候補は原稿全面サイズと設定する。そしてステップS914へ移行する。(S913)
ステップS914では、画像処理装置は次に可能性の高い原稿サイズ候補に応じたコード検出領域を設定する。この例では最初に第1候補A4Rサイズの原稿4隅端部に対してコード検出領域が設定される。実施例1で説明したようにADF読み取りか圧板読み取りかによりコード検出領域は異なる。もし第1候補で検出できなかった時は第2候補B5Rサイズの原稿4隅端部に対してコード検出領域が設定される。もし第2候補でも検出できなかった時は最終候補の読み取りセンサ全面サイズに対してコード検出領域が設定される。最終候補の時は読み取った画像データ全面に対してコード検出を行うため処理時間が長くなるが、確実に検出するためである。そしてステップS915へ移行する。(S914)
ステップS915では、画像処理装置は上記ステップS914で設定したコード検出領域に対して、画像データに含まれているコードを検出する画像処理を行う。そして検出した結果とコードの内容をメモリに保存する。そしてステップS916へ移行する。(S915)
ステップS916では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップS908に移行する。コードを検出できなかった場合、ステップS917に移行する。(S916)
ステップS917では、画像処理装置は最終の原稿サイズ候補までコード検出を試みたかを判断する処理を行う。この例では第1候補で検出できなかった時は第2候補があるのでステップS914へ移行する。第2候補で検出できなかった時は最終候補があるのでステップS914へ移行する。最終候補で検出できなかった時は次の候補は無いためステップS917へ移行する。(S917)
実施例5では、原稿検出センサの出力に基づき可能性の高い原稿サイズ順にコード検出を行い、圧板読み取りの時最後は読み取りセンサ全面サイズで、ADF読み取りの時最後は原稿全面サイズで検出を試みる。そのためコード検出できる可能性が高くなる。それ以外の処理は実施例1と同じであるため説明を省略する。
【実施例6】
【0028】
図11を用いた本実施例の説明にあたっては、図1に追加された処理(S1107とS1112〜S1116の処理)についてのみ説明を行う。コード検出領域の学習機能に関する処理を追加した。
【0029】
図11は実施例6のフローチャートを示す図である。
実施例6のステップS1100は実施例1のステップS100に対応し同じである。同様にステップS1101はS101、S1102はS102、S1103はS103、S1104はS104、S1106はS106、S1108はS108、S1109はS109、S1110はS110に対応し同じである。またS1111はS111に対応し同じである。
【0030】
ステップS1107は少し分岐が異なるので、S1107から説明する。
ステップS1107では、画像処理装置は画像データ内にコードを検出したか否かを判断する処理を行う。コードを検出した場合、ステップS1112に移行する。コードを検出できなかった場合、ステップS1115に移行する。(S1107)
ステップS1112では、画像処理装置はコードを検出した座標を記憶する。図12はコード検出座標とコード検出領域座標の関係を示す図である。ここではコード1202を検出した隅の端部1205から一番遠くなるコード座標(主走査方向1207、副走査方向1206)を記憶する。コード1202が端部1205に近い時は図12(a)のようになり、コード1202が端部1205より遠い時は図12(b)のようになる。そしてステップS1113に移行する。(S1112)
ステップS1113では、画像処理装置は現在の設定された検出領域座標−コード検出座標>しきい値であるかを判定する。ここでは検出した隅の端部1205からのコード検出領域の距離を、現在の設定された検出領域座標とする。すると図12(a)を使って説明すると主走査方向は1204、副走査方向は1203が現在の設定された検出領域座標となる。そして主走査方向の現在の設定された検出領域座標1204−コード検出座標1206を算出してしきい値より大きいかを判定する。上記しきい値はある一定値や設定した値を用い、例えば0.5mmの距離に相当する値とする。また副走査方向の現在の設定された検出領域座標1203−コード検出座標1207を算出してしきい値より大きいかを判定する。両方ともしきい値より大きいと判定された時はステップS1114に移行する。そうでないと判定された時は、ステップS1108に移行する。ステップS1108に移行する時は、図12(b)に示すように現在の設定された検出領域は、コードが打たれた位置に対してマージンが無いため、コード検出領域を狭める事ができないと判定されたという事である。(S1103)
ステップS1114では、画像処理装置は現在の設定された検出領域を小さくする。言い換えると図12(a)のように、現在の設定された検出領域は、コードが打たれた位置よりも大きすぎるため、コード検出領域を狭めても問題なく検出できると判定されたという事である。現在の設定された検出領域を主走査方向分は1208、副走査方向分は1209の距離を小さくする。すると次回のコード検出は主走査方向が図12(a)中の1204−1208の距離で、副走査方向が1203−1209の距離で行われる。ここで小さくする距離1208、1209はある一定値や設定した値を用い、例えば0.5mmの距離にする、あるいはステップS1103で述べたしきい値と同じにしてもよい。そしてコード検出領域を学習によって狭めて画像処理に要する処理時間を短縮し、コード検出処理が装置の読み取りや複写の速度というパフォーマンスを低下させる要因となっている時に改善する事ができる。そしてステップS1108に移行する。(S1114)
ステップS1115では画像処理装置は検出領域を最終値まで大きくしたかを判定する。言い換えると画像処理装置はコードを検出できなかったので、コード検出領域をさらに大きくする余地があるかを判定する。もしコード検出領域が最終値まで大きくなっても検出できない時は、元々コードが存在しないか読み取りセンサの読み取り範囲外に存在するという事だから、これ以上の処理は行わずにステップS1109へ移行する。まだコード検出領域が最終値でない時は、コード検出領域を大きくすれば検出できる可能性があるという事だから、ステップS1116へ移行する。(S1115)
ステップS1116では、画像処理装置は現在の設定された検出領域を大きくする。図13は、コードがコード検出領域外にある事を示す図である。図13のように、現在の設定された検出領域1201は、コード1202が外側にあってコードが検出できなかったかもしれないので検出領域を広げる。現在の設定された検出領域1201の主走査方向1204と副走査方向1203にある値を加算する。ここで大きくする距離はある一定値や設定した値を用い、例えば0.5mmの距離にする、あるいはステップS1103で述べたしきい値と同じにしてもよい。そして段階的に検出領域1201を広げていく。そして何度かステップS1106で検出を試みても検出できなかった場合は検出領域を最終値まで大きくする。ここでの最終値はある値あるいは原稿全面あるいは読み取りセンサ全面画像を対象にする値である。段階的に検出領域を広げずに最初に最終値としても良い。検出領域を広げると画像処理時間が長くなるが、確実に検出するためである。そしてステップS1106へ移行する。(S1116)
実施例6では、学習機能によりコード検出領域を狭めて処理時間を短縮したり、広げてコード検出の可能性を高めたりする。それ以外の処理は実施例1と同じであるため説明を省略する。
【0031】
以上、実施例1〜6では、各フローチャートにおける各ステップの処理が一台の装置で行われるものとして説明したが、各ステップの処理が、夫々、別の装置で行われても良いのは言うまでもない。
【0032】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
原稿を読み取る読取手段と、
前記読取手段での読取結果からコードを検知する検知手段とを有する検知装置であって、
原稿の位置を固定とし照射位置を変化させることにより前記読取手段が原稿を読み取る場合には、照射位置を固定とし原稿の位置を変化させることにより前記読取手段が原稿を読み取る場合に比べて、
前記検知手段は、前記読取結果のうちのより広い領域を検知対象領域として前記コードを検知することを特徴とする検知装置。
【請求項2】
原稿を読み取る読取工程と、
前記読取工程での読取結果からコードを検知する検知工程とを有する検知装置の制御方法であって、
前記読取工程で原稿の位置を固定とし照射位置を変化させることにより原稿を読み取った場合には、前記読取工程で照射位置を固定とし原稿の位置を変化させることにより原稿を読み取った場合に比べて、
前記検知工程では、前記読取結果のうちのより広い領域を検知対象領域として前記コードを検知することを特徴とする検知装置の制御方法。
【請求項3】
請求項2に記載の検知装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
原稿を読み取る読取手段と、
前記読取手段での読取結果からコードを検知する検知手段とを有する検知装置であって、
原稿の位置を固定とし照射位置を変化させることにより前記読取手段が原稿を読み取る場合には、照射位置を固定とし原稿の位置を変化させることにより前記読取手段が原稿を読み取る場合に比べて、
前記検知手段は、前記読取結果のうちのより広い領域を検知対象領域として前記コードを検知することを特徴とする検知装置。
【請求項2】
原稿を読み取る読取工程と、
前記読取工程での読取結果からコードを検知する検知工程とを有する検知装置の制御方法であって、
前記読取工程で原稿の位置を固定とし照射位置を変化させることにより原稿を読み取った場合には、前記読取工程で照射位置を固定とし原稿の位置を変化させることにより原稿を読み取った場合に比べて、
前記検知工程では、前記読取結果のうちのより広い領域を検知対象領域として前記コードを検知することを特徴とする検知装置の制御方法。
【請求項3】
請求項2に記載の検知装置の制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2011−146759(P2011−146759A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2010−3628(P2010−3628)
【出願日】平成22年1月12日(2010.1.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願日】平成22年1月12日(2010.1.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]