(57)【特許請求の範囲】
【請求項１】
原稿の読み取り画像の走査を行うとともに、走査が済んだ領域である走査済み領域に含まれるコード画像を検出する走査手段と、
前記走査手段により検出された前記コード画像に基づき、当該走査手段による走査が未だ行われていない未走査領域を当該走査手段が走査する際の走査領域を設定する設定手段と、
を備え、
前記設定手段は、前記走査手段により検出された前記コード画像に基づき前記読み取り画像の向きを把握し、把握した当該向きに基づき、前記走査領域を設定する情報処理装置。
【請求項２】
前記設定手段は、把握した前記向きに基づき、前記読み取り画像における予め定められた基準位置を把握し、把握した当該基準位置に基づき、前記走査領域を設定する請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記未走査領域の一部の領域であって、当該未走査領域のうちの、少なくとも前記基準位置に近い側を、前記走査領域に設定する請求項２に記載の情報処理装置。
【請求項４】
前記設定手段は、前記未走査領域のうち、前記走査手段により検出された前記コード画像よりも前記基準位置に近い側を、前記走査領域に設定する請求項２に記載の情報処理装置。
【請求項５】
前記走査手段は、前記設定手段により設定された走査領域である設定走査領域の走査を行うとともに当該設定走査領域にコード画像が含まれている場合には当該コード画像を検出し、
前記走査済み領域から検出された前記コード画像および前記設定走査領域から検出された前記コード画像のうちの、前記基準位置に近い方のコード画像に含まれる情報を取得する取得手段を更に備える請求項２に記載の情報処理装置。
【請求項６】
原稿の読み取り画像の走査を予め定められた走査開始位置から行うとともに、走査が済んだ領域である走査済み領域に含まれるコード画像を検出する走査手段と、
前記走査手段により検出された前記コード画像に基づき前記読み取り画像を回転させ、当該走査手段による走査が未だ行われていない未走査領域のうちの予め定められた基準位置に近い側の領域を、前記走査開始位置に近づける回転手段と、
を備える情報処理装置。
【請求項７】
コード画像が付された原稿を読み取ることが可能な画像読み取り手段と、当該画像読み取り手段により得られた読み取り画像に対する処理を行う情報処理装置と、を備え、当該情報処理装置が請求項１乃至６の何れかに記載の情報処理装置により構成された画像読み取り装置。
【請求項８】
原稿の読み取り画像の走査を行うとともに、走査が済んだ領域である走査済み領域に含まれるコード画像を検出する走査機能と、
前記走査機能により検出された前記コード画像に基づき、当該走査機能による走査が未だ行われていない未走査領域を当該走査機能が走査する際の走査領域を設定する設定機能であって、当該走査機能により検出された当該コード画像に基づき前記読み取り画像の向きを把握し、把握した当該向きに基づき、当該走査領域を設定する設定機能と、
をコンピュータに実現させるためのプログラム。
【請求項９】
原稿の読み取り画像の走査を予め定められた走査開始位置から行うとともに、走査が済んだ領域である走査済み領域に含まれるコード画像を検出する走査機能と、
前記走査機能により検出された前記コード画像に基づき前記読み取り画像を回転させ、当該走査機能による走査が未だ行われていない未走査領域のうちの予め定められた基準位置に近い側の領域を、前記走査開始位置に近づける回転機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像読み取り装置、および、プログラムに関する。
【背景技術】
【０００２】
特許文献１には、潜在的なＱＲコードの位置決めシンボル領域を検出する特徴比率検出手段と、潜在的なＱＲコードの位置決めシンボル領域のクリティカルエッジを検出するクリティカルエッジ検出手段と、検出されたＱＲコードの位置決めシンボル領域を潜在的なＱＲコードに一致させる位置決めシンボルグループ化手段と、誤ったＱＲコードを排除する検証手段とを備える装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−７９６１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
原稿の読み取り画像の走査にあたり、例えば、走査領域を絞らずに、予め定められた走査開始箇所から走査終了箇所にかけて走査を順次行っていくと、走査に時間を要しやすい。
本発明の目的は、予め定められた走査開始箇所から走査終了箇所にかけて、原稿の読み取り画像の走査を順次行っていく場合に比べ、読み取り画像の走査をより速やかに行えるようにすることにある。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、原稿の読み取り画像の走査を行うとともに、走査が済んだ領域である走査済み領域に含まれるコード画像を検出する走査手段と、前記走査手段により検出された前記コード画像に基づき、当該走査手段による走査が未だ行われていない未走査領域を当該走査手段が走査する際の走査領域を設定する設定手段と、を備え、前記設定手段は、前記走査手段により検出された前記コード画像に基づき前記読み取り画像の向きを把握し、把握した当該向きに基づき、前記走査領域を設定する情報処理装置である。
請求項２に記載の発明は、前記設定手段は、把握した前記向きに基づき、前記読み取り画像における予め定められた基準位置を把握し、把握した当該基準位置に基づき、前記走査領域を設定する請求項１に記載の情報処理装置である。
請求項３に記載の発明は、前記設定手段は、前記未走査領域の一部の領域であって、当該未走査領域のうちの、少なくとも前記基準位置に近い側を、前記走査領域に設定する請求項２に記載の情報処理装置である。
請求項４に記載の発明は、前記設定手段は、前記未走査領域のうち、前記走査手段により検出された前記コード画像よりも前記基準位置に近い側を、前記走査領域に設定する請求項２に記載の情報処理装置である。
請求項５に記載の発明は、前記走査手段は、前記設定手段により設定された走査領域である設定走査領域の走査を行うとともに当該設定走査領域にコード画像が含まれている場合には当該コード画像を検出し、前記走査済み領域から検出された前記コード画像および前記設定走査領域から検出された前記コード画像のうちの、前記基準位置に近い方のコード画像に含まれる情報を取得する取得手段を更に備える請求項２に記載の情報処理装置である。
請求項６に記載の発明は、原稿の読み取り画像の走査を予め定められた走査開始位置から行うとともに、走査が済んだ領域である走査済み領域に含まれるコード画像を検出する走査手段と、前記走査手段により検出された前記コード画像に基づき前記読み取り画像を回転させ、当該走査手段による走査が未だ行われていない未走査領域のうちの予め定められた基準位置に近い側の領域を、前記走査開始位置に近づける回転手段と、を備える情報処理装置である。
請求項７に記載の発明は、コード画像が付された原稿を読み取ることが可能な画像読み取り手段と、当該画像読み取り手段により得られた読み取り画像に対する処理を行う情報処理装置と、を備え、当該情報処理装置が請求項１乃至６の何れかに記載の情報処理装置により構成された画像読み取り装置である。
請求項８に記載の発明は、原稿の読み取り画像の走査を行うとともに、走査が済んだ領域である走査済み領域に含まれるコード画像を検出する走査機能と、前記走査機能により検出された前記コード画像に基づき、当該走査機能による走査が未だ行われていない未走査領域を当該走査機能が走査する際の走査領域を設定する設定機能であって、当該走査機能により検出された当該コード画像に基づき前記読み取り画像の向きを把握し、把握した当該向きに基づき、当該走査領域を設定する設定機能と、をコンピュータに実現させるためのプログラムである。
請求項９に記載の発明は、原稿の読み取り画像の走査を予め定められた走査開始位置から行うとともに、走査が済んだ領域である走査済み領域に含まれるコード画像を検出する走査機能と、前記走査機能により検出された前記コード画像に基づき前記読み取り画像を回転させ、当該走査機能による走査が未だ行われていない未走査領域のうちの予め定められた基準位置に近い側の領域を、前記走査開始位置に近づける回転機能と、をコンピュータに実現させるためのプログラムである。
【発明の効果】
【０００６】
本発明の請求項１によれば、予め定められた走査開始箇所から走査終了箇所にかけて、原稿の読み取り画像の走査を順次行っていく場合に比べ、読み取り画像の走査をより速やかに行える。
本発明の請求項２によれば、読み取り画像の向きに基づかずに予め定められた基準位置を把握する場合に比べ、予め定められた基準位置をより正確に把握できる。
本発明の請求項３によれば、走査手段により走査される領域を、基準位置に近い側に絞りこめる。
本発明の請求項４によれば、走査手段により走査される領域を、検出されたコード画像よりも基準位置に近い側に絞りこめる。
本発明の請求項５によれば、走査済み領域から検出されたコード画像および設定走査領域から検出されたコード画像のうちの、予め定められた基準位置に近い方のコード画像に含まれる情報を取得できる。
本発明の請求項６によれば、予め定められた走査開始箇所から走査終了箇所にかけて、原稿の読み取り画像の走査を順次行っていく場合に比べ、読み取り画像の走査をより速やかに行える。
本発明の請求項７によれば、予め定められた走査開始箇所から走査終了箇所にかけて、原稿の読み取り画像の走査を順次行っていく場合に比べ、読み取り画像の走査をより速やかに行える。
本発明の請求項８によれば、予め定められた走査開始箇所から予め定められた走査終了箇所にかけて、原稿の読み取り画像の走査を順次行っていく場合に比べ、読み取り画像の走査をより速やかに行える。
本発明の請求項９によれば、予め定められた走査開始箇所から予め定められた走査終了箇所にかけて、原稿の読み取り画像の走査を順次行っていく場合に比べ、読み取り画像の走査をより速やかに行える。
【図面の簡単な説明】
【０００７】
【図１】画像形成装置を示した図である。
【図２】制御部の機能構成を示したブロック図である。
【図３】（Ａ）〜（Ｅ）は、本実施形態にて行われる処理の具体例を示した図である。
【図４】コード画像の詳細を示した図である。
【図５】（Ａ）〜（Ｅ）は、コード画像の検出の他の処理例を示した図である。
【図６】（Ａ）〜（Ｅ）は、コード画像の検出の他の処理例を示した図である。
【図７】（Ａ）〜（Ｆ）は、コード画像の検出の他の処理例を示した図である。
【図８】（Ａ）〜（Ｅ）は、コード画像の検出の他の処理例を示した図である。
【図９】図３〜図７にて示した処理の一連の流れを示したフローチャートである。
【図１０】ステップ１０３の処理の詳細を示したフローチャートである。
【図１１】ステップ１０１にて行われるコード画像の検出処理の流れを示したフローチャートである。
【図１２】ステップ１０４にて行われるコード画像の検出処理の流れを示したフローチャートである。
【図１３】図８にて示した処理の一連の流れを示したフローチャートである。
【図１４】ステップ５０１、ステップ５０７にて行われるコード画像の検出処理の流れを示したフローチャートである。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施形態の画像形成装置１０を示した図である。
図１に示すように、本実施形態の画像形成装置１０を構成する各機能部は、バス１０１に接続され、このバス１０１を介してデータの授受を行う。
操作部１０６は、ユーザの操作を受け付ける。操作部１０６は、例えば、ハードウェアキーにより構成される。また、例えば、押圧された位置に応じた制御信号を出力するタッチパネルにより構成される。
【０００９】
表示部１０７は、例えば液晶ディスプレイにより構成され、ＣＰＵ１０２の制御の下、画像形成装置１０に関するデータを表示する。また、表示部１０７は、ユーザが画像形成装置１０を操作する際にユーザが参照するメニュー画面を表示する。
画像読み取り手段の一例としての画像読み取り部１０８は、いわゆるスキャナ装置により構成され、セットされた原稿上の画像を読み取り、原稿の読み取り画像（画像データ）を生成する。
【００１０】
画像形成部１０９は、例えば電子写真方式を用い、画像データに応じたトナー像を用紙上に形成する。なお、画像形成部１０９では、インクジェットヘッド方式などの他の方式を用いて画像形成を行うこともできる。
通信部１１０は、通信回線（不図示）に接続され、通信回線に接続されている他の装置との通信を行う通信インターフェースとして機能する。
【００１１】
画像処理部１１１は、画像データが表す画像に色補正や階調補正等の画像処理を施す。
記憶部１０５は、ハードディスク装置などの記憶装置により構成され、例えば、通信部１１０にて受信したデータや、画像読み取り部１０８にて生成された読み取り画像（画像データ）を記憶する。
【００１２】
制御部６０は、画像形成装置１０の各部を制御する。制御部６０は、ＣＰＵ（Central Processing Unit）１０２、ＲＯＭ（Read Only Memory）１０３、ＲＡＭ（Random Access Memory）１０４により構成される。
ＲＯＭ１０３は、ＣＰＵ１０２により実行される制御プログラムを記憶する。ＣＰＵ１０２は、ＲＯＭ１０３に記憶されている制御プログラムを読み出し、ＲＡＭ１０４を作業エリアにして、制御プログラムを実行する。
【００１３】
ＣＰＵ１０２により制御プログラムが実行されると、ＣＰＵ１０２により画像形成装置１０の各部が制御され、画像形成装置１０は、例えば用紙に画像を形成したり、原稿を読み取って原稿の読み取り画像を生成したりする。
また、本実施形態では、ＣＰＵ１０２により制御プログラムが実行されることで、図２（制御部６０の機能構成を示したブロック図）に示すように、制御部６０が、走査部６１、設定部６２、基準保持部６３、距離把握部６４、画像回転部６５、取得部６６として機能する。なお、この図２では、コード画像（後述）の読み取りに関する機能ブロックのみを表示している。
【００１４】
ここで、本実施形態では、走査部６１、設定部６２、基準保持部６３、距離把握部６４、画像回転部６５、および、取得部６６が設けられている部分は、原稿の読み取り画像に関する処理を行う情報処理装置として捉えることができる。
また、画像読み取り部１０８（図１参照）および制御部６０の部分は、原稿の読み取りおよび原稿の読み取り画像に対する処理を行う画像読み取り装置として捉えることができる。
【００１５】
走査部６１、設定部６２、距離把握部６４、画像回転部６５、取得部６６は、ソフトウェアとハードウェア資源とが協働することにより実現される。
具体的には、本実施形態では、ＲＯＭ１０３（図１参照）や記憶部１０５に、オペレーティングシステム、オペレーティングシステムと協働して実行されるアプリケーションソフト等が記憶されている。そして、本実施形態では、ＣＰＵ１０２が、これらのプログラムをＲＯＭ１０３等から主記憶装置であるＲＡＭ１０４に読み込み、実行することで、走査部６１、設定部６２、距離把握部６４、画像回転部６５、取得部６６の各機能部が実現される。
また、基準保持部６３は、ＲＯＭ１０３や記憶部１０５などにより実現される。
【００１６】
ここで、ＣＰＵ１０２によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で、画像形成装置１０へ提供し得る。
また、ＣＰＵ１０２によって実行されるプログラムは、インターネットなどの通信手段を用いて画像形成装置１０にダウンロードしてもよい。
【００１７】
本実施形態における処理では、原稿の読み取り画像（画像読み取り部１０８（図１参照）により得られた読み取り画像）に含まれるコード画像を検出する。
そして、取得手段の一例としての取得部６６が、検出したコード画像のデコードを行い、コード画像に格納されている情報を取得する。
【００１８】
その後、画像形成装置１０では、取得したこの情報に基づき、予め定められた処理を実行する。
例えば、コード画像に格納されていた情報が情報の送信先を示す情報であれば、この送信先に対して、例えば、原稿の読み取り画像を送信する。
また、例えば、コード画像に格納されていた情報が、ファイル名を示す情報であれば、原稿の読み取り画像に対してこのファイル名を対応付ける。
【００１９】
また、本実施形態では、予め、読み取り画像に含まれるコード画像のうちのいずれのコード画像を優先すべきかを判断するために用いる基準位置がユーザによって指定される。
具体的には、操作部１０６（図１参照）がユーザにより操作されて、基準位置がユーザによって指定される。そして、本実施形態では、この基準位置に最も近いコード画像から得られた情報に基づき、上記送信処理などの予め定められた処理が実行される。
なお、ユーザにより指定された基準位置は、基準保持部６３により保持され、本実施形態では、この基準保持部６３により保持されている情報を参照することで、ユーザにより指定された基準位置を把握する。
【００２０】
より具体的には、原稿の読み取り画像には、複数のコード画像が含まれる場合があり、かかる場合、いずれのコード画像を優先するかの基準がないと、情報の送信等に用いるコード画像を選択できなくなるおそれがある。
このため、本実施形態では、上記のように、基準位置をユーザにより予め指定してもらう。そして、この基準位置に最も近いコード画像から得られた情報に基づき、送信処理などの予め定められた処理を実行する。
【００２１】
図３は、本実施形態にて行われる処理の具体例を示した図である。
図３（Ａ）は、ユーザにより指定された基準位置を説明する図である。
図３（Ａ）に示す例では、正立状態の原稿のうちの右上の角部がユーザにより指定され、この右上の角部が基準位置となる。そして、この場合、この基準位置に最も近い、図中符号３Ａで示すコード画像から得られた情報に基づき、情報の送信等の予め定められた処理が実行される。
なお、本実施形態では、コード画像として、２次元コードであるＱＲコード（登録商標）を用いる場合を一例に説明するが、他の種類のコード画像を用いてもよい。
【００２２】
ここで、原稿の読み取りが行われる際には、原稿が正立状態ではなく、原稿が寝た状態でセットされて、読み取り画像が取得される場合がある。図３（Ｂ）は、寝た状態の原稿から得られた読み取り画像を示している。
かかる場合、基準位置は移動し、この例では、図中右下に基準位置が位置する。そして、この場合、基準位置に最も近いコード画像（符号３Ａで示すコード画像）も、図中右下へ移動するようになる。
【００２３】
図３（Ｂ）にて示す矢印３Ｂは、寝た状態の読み取り画像に対する走査を示した図であるである。
本実施形態では、走査手段の一例としての走査部６１によって、予め定められた走査開始位置から読み取り画像の走査が行われる。具体的には、本実施形態では、図中左上が走査開始位置となっており、この走査開始位置から右方向に１回目の走査が行われる。
１回目の走査が終了すると、走査箇所が図中下側にずれ、図中符号３Ｃで示す部分から２回目の走査が行われる。
【００２４】
図３（Ｂ）に示す例では、１回目の走査が行われると、符号３Ｄで示すコード画像が検出される。具体的には、本実施形態の走査部６１は、１回目の走査を行うとともに、走査が済んだ領域である走査済み領域にコード画像が含まれている場合には、このコード画像を検出する。より具体的には、図３（Ｂ）では、符号３Ｅで囲む領域が走査済み領域を示し、走査部６１は、この走査済み領域からコード画像を検出する。
【００２５】
その後、設定手段の一例としての設定部６２が、走査済み領域から検出されたこのコード画像を解析して、読み取り画像の向きを把握する。
コード画像には、図４（コード画像の詳細を示した図）に示すように、３つの角部のそれぞれに切り出しシンボルが設けられており、設定部６２は、この切り出しシンボルに基づき、読み取り画像の向きを把握する。
具体的には、正立状態の原稿に対してコード画像が形成される際には、通常、切り出しシンボルが左上、右上、左下の３か所に位置するように、コード画像が形成される。設定部６２は、この３つの切り出しシンボルの位置に基づき、読み取り画像の向きを把握する。
【００２６】
図３（Ｂ）に示す例では、検出されたコード画像（符号３Ｄで示すコード画像）に含まれる３つの切り出しシンボルのうちの２つが図中右上、右下に位置し、残りの１つが図中左上に位置しており、この場合、設定部６２は、読み取り画像が、時計回り方向に９０°回転していることを把握する。
【００２７】
さらに、設定部６２は、この把握したこの回転角度に基づき、ユーザにより指定された基準位置を把握する。より具体的には、読み取り画像が回転している場合には、ユーザにより指定された基準位置が移動するようになり、設定部６２は、把握した上記回転角度に基づき、移動後の基準位置を把握する。この例では、設定部６２は、図３（Ｂ）における右下の角部に基準位置があることを把握する。
【００２８】
その後、設定部６２が、走査領域の絞り込みを行う。言い換えると、設定部６２は、走査部６１による走査が未だ行われていない未走査領域を走査部６１が走査する際の走査領域を設定する。
ここで、図３（Ｃ）にて符号３Ｆで示す領域は、走査部６１による走査が行われていない未走査領域となっている。本実施形態の走査部６１は、２回目の走査を行う際、この未走査領域３Ｆのうちの、設定部６２により設定された走査領域の走査を行う。言い換えると、走査部６１は、２回目の走査を行う際、未走査領域の一部を走査する。
なお、図３（Ｃ）にて符号３Ｅで示す領域は、走査が済んだ走査済み領域を示す。
【００２９】
設定部６２は、未走査領域３Ｆの中から走査領域を設定する。具体的には、設定部６２は、図３（Ｃ）における破線３Ｇよりも基準位置に近い側の領域を、走査領域に設定する。
より具体的には、設定部６２は、基準位置を中心とした円弧であって、走査部６１によって既に検出されたコード画像（符号３Ｄで示すコード画像）の角部（基準位置に最も近い角部）を通る円弧よりも基準位置に近い側の領域を、走査領域に設定する。
【００３０】
付言すると、設定部６２は、走査部６１により既に検出されたコード画像よりも基準位置に近い側の領域を、走査領域に設定する。さらに説明すると、設定部６２は、走査部６１により既に検出されたコード画像よりも基準位置に近い側に位置する扇型の領域を、走査領域に設定する。
さらに、設定部６２は、設定したこの走査領域に、走査済み領域が含まれていないかを判断し、含まれている場合には、走査済み領域を除いた領域を、新たな走査領域に設定する。
本実施形態では、図３（Ｃ）の符号３Ｈで示す箇所にて、設定した走査領域と走査済み領域とが重複しており、設定したこの走査領域に、走査済み領域の一部が含まれている。設定部６２は、この一部を除いた領域を、新たな走査領域に設定する。
【００３１】
本実施形態では、上記のとおり、複数のコード画像が存在する場合、基準位置に最も近いコード画像から得られた情報に基づき、情報送信等の予め定められた処理が実行される。
かかる場合、既に検出されたコード画像よりも基準位置から遠い側に位置するコード画像は、この処理とは無関係となる。その一方で、既に検出されたコード画像よりも基準位置により近い側に、コード画像がさらに存在している可能性がある。
【００３２】
このため、本実施形態では、設定部６２は、上記のとおり、既に検出されたコード画像よりも基準位置に近い側の領域を、走査領域に設定する。
付言すると、設定部６２は、未走査領域の一部の領域であって、未走査領域のうちの、少なくとも基準位置に近い側に位置する領域を、走査領域に設定する。
なお、本明細書では、以下、設定部６２により設定されたこの走査領域を、「設定走査領域」と称することがある。
【００３３】
図３（Ｄ）は、走査部６１による設定走査領域の走査を示した図である。
本実施形態では、設定部６２によって走査領域が設定されると、走査部６１が、この走査領域（設定走査領域）の走査を行う。なお、本実施形態では、上記のとおり、設定部６２は、扇型の領域を設定走査領域として設定したが、実際の走査では、走査処理の簡易化のため、走査部６１は、図３（Ｄ）に示すように、扇型の領域を含む矩形状の領域を走査する。
【００３４】
ここで、本処理例では、この矩形状の領域に、コード画像（符号３Ｍで示すコード画像）が含まれており、走査部６１は、このコード画像を検出する。本処理例では、この矩形状の領域から検出されたこのコード画像が、基準位置に最も近いコード画像となる。
その後、取得部６６が、このコード画像（基準位置に最も近いコード画像）のデコード処理を行い、図３（Ｅ）に示すように、このコード画像に含まれる情報を取得する。そして、上記のとおり、取得されたこの情報に基づき、情報送信等の予め定められた処理が実行される。
【００３５】
本実施形態の処理では、読み取り画像の全面を走査することなく、基準位置に最も近いコード画像の検出を行える。かかる場合、読み取り画像の全面を走査して、コード画像の検出を行う場合に比べ、コード画像の検出をより速やかに行える。
【００３６】
図５は、コード画像の検出の他の処理例を示した図である。
この処理例では、図５（Ａ）に示すように、ユーザによって、図中左下の角部が基準位置に設定される。また、この処理例では、図５（Ｂ）に示すように、寝た状態の読み取り画像に対する走査が行われる。
【００３７】
この処理例でも、図５（Ｂ）に示すように、１回目の走査により、コード画像が検出される。そして、上記と同様、設定部６２がこのコードの解析を行い、読み取り画像が時計回り方向に９０°回転していることを把握する。そして、設定部６２は、図５（Ｃ）における左上の角部が基準位置であることを把握する。
【００３８】
また、この処理例では、図５（Ｂ）に示すように、１回目の走査が行われた領域（走査済み領域）に、２個目のコード画像の一部が含まれており、１回目の走査では、走査部６１によって、この２個目のコード画像の一部が検出される。
そして、走査部６１は、検出したこの２個目のコード画像の一部についての情報（位置情報などの情報）を保持する。
【００３９】
その後、本実施形態では、上記と同様の手法で走査領域が設定される。具体的には、まず、設定部６２は、図５（Ｃ）における破線５Ａよりも基準位置に近い側を、走査領域として設定する。
さらに、設定部６２は、設定したこの走査領域に、走査済み領域が含まれていないかを判断し、含まれている場合には、走査済み領域を除いた領域を、新たな走査領域に設定する。
本処理例では、破線５Ａよりも基準位置に近い領域（扇型の領域）内に、走査済み領域の一部が含まれており、設定部６２は、この一部を除いた領域を、新たな走査領域に設定する。
【００４０】
次いで、図５（Ｄ）に示すように、走査部６１が、設定部６２により設定された走査領域（設定走査領域）を含む領域の走査を行う。
これにより、本実施形態では、走査部６１は、上記２個目のコード画像の他の一部を検出する。そして、走査部６１は、１回目の走査により検出したこの２個目のコード画像についての情報と、２回目の走査により検出したこの２個目のコード画像についての情報とに基づき、この２個目のコード画像を検出する。
【００４１】
ここで、本実施形態の処理では、２回目の走査にて、２個目のコード画像の一部分しか検出されず、この２個目のコード画像が未検出となるおそれがある。
このため、本実施形態では、２回目の走査により得られた情報だけでなく、１回目の走査により得られた情報も考慮に入れて（１回目の走査により得られた情報および２回目の走査により得られた情報に基づき）、コード画像の有無を判断する。
なお、２個目のコード画像の検出後は、上記と同様であり、図５（Ｅ）に示すように、取得部６６が、２個目のコード画像に含まれる情報を取得し、この情報に基づき、情報の送信処理などの予め定められた処理が実行される。
【００４２】
図６は、コード画像の検出の他の処理例を示した図である。
この処理例では、図６（Ａ）に示すように、ユーザによって、原稿の下辺が基準位置に設定される。
上記では、角部などの一点が基準位置であったが、本実施形態では、一方向に沿って延びる１つの辺が基準位置に設定される。また、この処理では、上記と同様、また、図６（Ｂ）に示すように、寝た状態の読み取り画像の走査が行われる。
【００４３】
この例でも、図６（Ｂ）に示すように、１回目の走査により、コード画像が検出される。これにより、読み取り画像が時計回り方向に９０°回転していることが把握され、また、図６（Ｃ）にて左側に位置する辺（符号６Ａで示す辺）が、基準位置として把握される。
【００４４】
その後、設定部６２が、走査領域を設定する。具体的には、設定部６２は、図６（Ｃ）にて、符号６Ｂで示す破線よりも基準位置側を走査領域に設定する。また、設定部６２は、上記と同様、設定したこの走査領域に、走査済み領域が含まれていないかを判断し、含まれている場合には、走査済み領域を除いた領域を、新たな走査領域に設定する。
本処理例では、符号６Ｂで示す破線よりも基準位置に近い領域（矩形状の領域）内に、走査済み領域の一部が含まれており、設定部６２は、この一部を除いた領域を、走査領域に設定する。
【００４５】
次いで、図６（Ｄ）に示すように、走査部６１が、設定されたこの走査領域（設定走査領域）の走査を行う。
この処理例では、設定走査領域に、コード画像が含まれており、このコード画像が検出される。そして、上記と同様、このコード画像のデコードがなされて、図６（Ｅ）に示すように、コード画像に格納されている情報が取得され、次いで、この情報に基づき、情報送信等の予め定められた処理が実行される。
【００４６】
図７は、コード画像の検出の他の処理例を示した図である。
この処理例では、図７（Ａ）に示すように、ユーザによって、左下の角部が基準位置に設定されている。また、この処理例では、上記と同様、また、図７（Ｂ）に示すように、寝た状態の読み取り画像の走査が行われる。
【００４７】
この例でも、図７（Ｂ）に示すように、１回目の走査により、コード画像が検出される。これにより、設定部６２は、読み取り画像が時計回り方向に９０°回転していることを把握し、さらに、図７（Ｂ）、（Ｃ）にて左上に位置する角部（符号７Ａで示す角部）を、基準位置として把握する。
【００４８】
その後、この処理例では、設定部６２が、図７（Ｃ）の破線７Ｂで示す円弧よりも基準位置に近い側を走査領域に設定する。
具体的には、設定部６２は、基準位置を中心とした円弧であって、１回目の走査により検出されたコード画像よりも基準位置から離れた側を通る円弧よりも基準位置に近い側を走査領域に設定する。
【００４９】
図３（Ｃ）にて示した例では、コード画像が有する複数の角部のうちの基準位置に最も近い箇所に位置する角部を通る円弧よりも基準位置に近い側を走査領域に設定したが、図７（Ｃ）にて示すこの処理例では、コード画像が有する複数の角部のうちの基準位置から最も離れた箇所に位置する角部よりも基準位置から離れた箇所を通る円弧よりも基準位置に近い側を走査領域に設定する。
なお、この図７に示す例でも、円弧よりも内側に位置する領域に、走査済み領域が含まれており、設定部６２は、この走査済み領域を除いた領域を、新たな走査領域に設定する。
【００５０】
その後、図７（Ｄ）に示すように、走査部６１が、設定部６２により設定された走査領域（設定走査領域）の走査を行う。この設定走査領域には、コード画像が含まれており、このコード画像が検出される。
その後、本実施形態では、距離把握部６４が、１個目のコード画像（図７（Ｅ）にて符号７Ｅで示すコード画像）（走査済み領域から検出されたコード画像）と基準位置との距離Ｌ１を把握する。また、距離把握部６４は、２個目のコード画像（図７（Ｅ）にて符号７Ｆで示すコード画像）（設定走査領域から検出されたコード画像）と基準位置との距離Ｌ２を把握する。
【００５１】
そして、設定部６２は、この距離Ｌ１、距離Ｌ２に基づき、基準位置により近いコード画像を把握する。この処理例では、距離Ｌ２の方が距離Ｌ１よりも小さくなっており、設定部６２は、符号７Ｆで示すコード画像を、基準位置により近いコード画像として把握する。そして、取得手段の一例としての取得部６６が、符号７Ｆで示すコード画像のデコードを行い、図７（Ｆ）に示すように、符号７Ｆで示すコード画像に含まれる情報を取得する。その後、上記と同様、この情報に基づき、情報の送信処理等の予め定められた処理が実行される。
【００５２】
設定部６２が設定する設定走査領域の大きさは、ユーザなどにより入力されるパラメータ等に基づき変更することが可能であり、この処理例では、上記のように、検出済みのコード画像よりも基準位置から離れた側に位置する領域も含まれるように、走査領域が設定される。
【００５３】
この場合、２番目に検出されたコード画像（設定走査領域から検出されたコード画像）が、１番目に検出されたコード画像（走査済み領域から検出されたコード画像）よりも、基準位置から遠い側に位置することが起こりうる。
このため、本実施形態では、上記のとおり、コード画像の各々と基準位置との距離を把握するようにし、基準位置に近い方のコード画像を把握する。そして、近い方のコード画像に格納された情報を取得し、この情報に基づき、予め定められた処理を実行する。
【００５４】
図８は、コード画像の検出の他の処理例を示した図である。
この処理例では、図８（Ａ）に示すように、ユーザによって、原稿の下辺が基準位置に設定される。また、この処理例では、上記と同様、また、図８（Ｂ）に示すように、寝た状態の読み取り画像の走査が行われる。
【００５５】
この処理例でも、図８（Ｂ）に示すように、１回目の走査により、コード画像が検出される。これにより、読み取り画像が時計回り方向に９０°回転していることが把握される。また、図８（Ｂ）、（Ｃ）にて図中左側に位置する辺（符号８Ａで示す辺）が、基準位置として把握される。
【００５６】
その後、本実施形態では、図８（Ｃ）、（Ｄ）に示すように、回転手段の一例としての画像回転部６５が、読み取り画像を時計回り方向に９０°回転させる。
付言すると、画像回転部６５は、未走査領域のうちの基準位置に近い側の領域が（図８（Ｃ）にて符号８Ｂで示す側の領域ではなく、符号８Ｃで示す側の領域が）、走査開始位置（図８（Ｄ）参照）に近づくように、読み取り画像を回転させる。
【００５７】
その後、この処理例では、走査部６１が、図８（Ｄ）に示すように、未走査領域の走査（２回目の走査）を開始するが、本実施形態では、この際、コード画像が配置されている可能性がより高い基準位置側から走査が開始される。
これにより、未走査領域に２個目のコード画像が設けられている場合には、この２個目のコード画像がより早期に見つかる可能性が高まる。
【００５８】
図８に示す処理例では、図８（Ｄ）に示すように、基準位置に近い側に２個目のコード画像が形成されている場合を例示しており、２回目の走査で、この２個目のコード画像が検出される。その後、図８（Ｅ）に示すように、この２個目のコード画像のデコードが行われ、このコード画像に格納されている情報が取得される。そして、上記と同様、予め定められた処理が実行される。
なお、２回目の走査でコード画像が検出されなかった場合には、図８（Ｄ）において、走査位置が下方にずらされ、３回目以降の走査が行われる。
【００５９】
なお、図３〜図８にて示した上記処理例では、基準位置がユーザによって指定される場合を説明したが、基準位置は、原稿の右上角部や、原稿の上辺など、デフォルトで１箇所のみに固定してもよい。
この場合、設定部６２は、未走査領域に対して走査領域を設定するにあたり、この１箇所に近い側に、走査領域を設定する。
【００６０】
また、上記では、基準位置を基準に、走査領域の設定を行ったが、基準位置に基づかずに走査領域の設定を行ってもよい。
具体的には、コード画像に基づき読み取り画像の向きを把握した後、例えば、読み取り画像の上半分や下半分に位置する領域（且つ走査済み領域を除いた領域）を、走査領域に設定してもよい。また、例えば、読み取り画像の右上などに位置する、読み取り画像の総面積の１／４の面積を占める領域（且つ走査済み領域を除いた領域）を、走査領域に設定してもよい。
【００６１】
図９は、図３〜図７にて示した処理の一連の流れを示したフローチャートである。
本実施形態の処理では、まず、走査部６１が、読み取り画像の走査を開始する（ステップ１０１）。より具体的には、走査部６１は、予め定められた走査開始位置から走査を開始する。そして、走査部６１は、走査を順次行っていく過程で、コード画像を検出したか否かを判断する（ステップ１０２）。そして、ステップ１０２にて、コード画像が検出されたと判断されない場合には、ステップ１０１の処理を再び行う。
【００６２】
一方、ステップ１０２で、コード画像が検出された場合、設定部６２が、検出されたこのコード画像に基づき、走査領域の設定を行う（ステップ１０３）。
具体的には、上記のとおり、設定部６２は、検出されたこのコード画像に基づき、読み取り画像の向きを把握し、この向きに基づき、基準位置を把握する。そして、この基準位置に基づき、走査領域を設定する。
【００６３】
次いで、走査部６１が、ステップ１０３にて設定された走査領域（設定走査領域）の走査を行う（ステップ１０４）。そして、走査部６１は、コード画像を検出したか否かを判断する（設定走査領域にコード画像が存在しているか否かを判断する）（ステップ１０５）。
そして、ステップ１０５にて、走査部６１がコード画像を検出しなかった場合、取得部６６が、直前に検出済み(この場合１つ目)のコード画像のデコードを行い（ステップ１０６）、このコード画像に格納されている情報を取得する。その後、上記のとおり、情報の送信処理等の予め定められた処理が実行される。
【００６４】
一方、ステップ１０５にて、走査部６１がコード画像を検出した場合は、ステップ１０７に進み、走査部６１が、未走査領域の面積が、予め定められた面積（例えば、コード画像１個分の面積）よりも小さいか否かを判断し（ステップ１０７）、未走査領域の面積が、この予め定められた面積よりも大きい場合には、ステップ１０３以降の処理を再び行う（走査をさらに行う）。
【００６５】
一方で、ステップ１０７にて、未走査領域の面積が予め定められた面積よりも小さいと判断された場合は、距離把握部６４が、検出されたコード画像の各々と基準位置との距離とを把握する。そして、距離把握部６４は、基準位置に最も近いコード画像を把握する。その後、取得部６６が、基準位置に最も近いこのコード画像のデコードを行って（ステップ１０８）、このコード画像に格納されている情報を取得する。その後、情報の送信処理等の予め定められた処理が実行される。
【００６６】
図１０は、ステップ１０３の処理（設定走査領域の設定処理）の詳細を示したフローチャートである。
設定走査領域の設定処理では、まず、設定部６２が、既に行われた走査により検出されたコード画像を解析して、読み取り画像の回転角度を把握し、また、読み取り画像を構成する各画素の座標（ＸＹ座標）を把握する（ステップ２０１）。次いで、設定部６２は、把握した回転角度に基づき、読み取り画像における基準位置を把握する（ステップ２０２）。
【００６７】
次いで、設定部６２は、既に走査が終了した領域である走査済み領域を把握して（ステップ２０３）、走査を行わないでもよい走査不要領域を把握する（ステップ２０４）。
次いで、設定部６２は、上記のとおり、未走査領域のうちの基準位置に近い側を走査領域に設定するが、この走査領域内に、走査不要領域（＝走査済み領域）がある場合には、この走査不要領域を除いた領域を、走査領域に設定する（ステップ２０５）。
【００６８】
図１１は、図９のステップ１０１にて行われるコード画像の検出処理の流れを示したフローチャートである。
コード画像の検出処理では、まず、走査部６１が、読み取り画像の走査を行うが（ステップ３０１）、走査部６１は、走査を順次行っていく過程で、切り出しシンボルがあるか否かを判断し（ステップ３０２）、切り出しシンボルがある場合には、コード画像の一部を検出したと判断し、このコード画像についての情報（位置情報などの情報）を保持する（ステップ３０３）。
【００６９】
そして、走査部６１は、さらに走査を進め、保持した上記情報と、走査をさらに行うことにより得られる新たな走査結果とに基づき、コード画像の検出条件を満たしたか否かを順次判断していく（ステップ３０４）。そして、切り出しシンボルが３つ揃うなど、コード画像の検出条件を満たした場合は、コード画像を検出したと判断し、このコード画像についての情報（位置情報など）を保持したうえで（ステップ３０５）、処理を終了する。
【００７０】
一方、ステップ３０２にて、切り出しシンボルが見つからないと判断された場合や、ステップ３０４にて、コード画像の検出条件を満たさないと判断された場合は、走査位置が、読み取り画像の終端（走査領域の終端）であるか否かが判断される（ステップ３０６）。
そして、走査位置が終端ではないと判断された場合は、ステップ３０１以降の処理を再び行い、走査位置が終端であると判断された場合は、処理を終了する。
【００７１】
図１２は、図９のステップ１０４にて行われるコード画像の検出処理（設定走査領域の走査中に行われるコード画像の検出処理）の流れを示したフローチャートである。
この処理では、走査部６１が、設定走査領域の走査を行うが（ステップ４０１）、走査部６１は、走査を順次行っていく過程で、切り出しシンボルがあるか否かを判断し（ステップ４０２）、切り出しシンボルがある場合には、コード画像の一部を検出したと判断し、このコード画像についての情報（位置情報などの情報）を保持する（ステップ４０３）。
【００７２】
その後、走査部６１は、さらに走査を進め、保持した上記情報と、走査をさらに行うことにより得られる新たな走査結果とに基づき、コード画像の検出条件を満たしたか否かを順次判断していく（ステップ４０４）。そして、切り出しシンボルが３つ揃うなど、コード画像の検出条件を満たした場合は、走査部６１は、このコード画像についての情報（位置情報など）を保持する（ステップ４０５）。
【００７３】
次いで、走査部６１は、基準位置が設定走査領域内にあるか否かを判断し（ステップ４０６）、基準位置が設定走査領域内にないと判断された場合には、処理を終了する。
一方、ステップ４０２にて、切り出しシンボルが見つからないと判断された場合や、ステップ４０４にて、コード画像の検出条件を満たさないと判断された場合や、ステップ４０６にて、基準位置が設定走査領域内にあると判断された場合は、走査位置が、読み取り画像の終端（設定走査領域の終端）であるか否かを判断する（ステップ４０７）。
そして、走査位置が終端ではないと判断された場合は、ステップ４０１以降の処理を再び行い、走査位置が終端であると判断された場合は、処理を終了する。
【００７４】
ここで、基準位置が設定走査領域内にあるとは、図３（Ｄ）にて示したような状態を指し、この場合、設定走査領域内のコード画像（符号３Ｍで示すコード画像）よりも基準位置により近い側に、領域（図中、符号３Ｘで示す領域）が存在する。言い換えると、図３（Ｄ）にて示す状態では、符号３Ｍで示すコード画像よりも走査方向下流側に基準位置が位置し、符号３Ｍで示すこのコード画像よりもさらに下流側に、コード画像の検出を行うべき領域が存在する。
【００７５】
このため、本実施形態では、ステップ４０６にて、基準位置が設定走査領域内にあると判断された場合は、ステップ４０７の処理が行われ、走査位置が、読み取り画像の終端（設定走査領域の終端）であるか否かを判断する。そして終端ではない場合、ステップ４０１の処理が行われ、設定走査領域の走査がさらに行われる。
これに対し、検出したコード画像よりも走査方向上流側に基準位置が位置する場合は、このコード画像よりも下流側には、コード画像の検出を行うべき領域は存在しない。かかる場合は、ステップ４０６にて「Ｎｏ」と判断され、処理が終了する。
【００７６】
図１３は、図８にて示した処理の一連の流れを示したフローチャートである。
この処理でも、まず、走査部６１が、読み取り画像の走査を開始する（ステップ５０１）。具体的には、走査部６１は、予め定められた走査開始位置から走査を開始する。そして、走査部６１は、走査を順次行っていく過程で、コード画像を検出したか否かを判断し（ステップ５０２）、コード画像を検出していないと判断した場合、ステップ５０１の処理を再び行う。
【００７７】
ステップ５０２にて、コード画像が検出されたと判断された場合は、設定部６２が、検出されたこのコード画像に基づき、読み取り画像の回転角度を把握（算出）する（ステップ５０３）。
具体的には、本実施形態では、上記のとおり、未走査領域のうちの予め定められた基準位置に近い側の領域を、走査開始位置に近づけるが、この近づけるのに要する回転角度を把握する。なお、コード画像が既に検出された領域である走査済み領域の方が、未だ走査が行われていない未走査領域よりも基準位置に近い場合には、回転角度は０°となる。
【００７８】
次いで、ステップ５０３にて把握された回転角度が０°か否かを判断し（ステップ５０４）、回転角度が０°である場合には、取得部６６が、１つ目に検出されたコード画像（走査済み領域から検出されたコード画像）のデコードを行い（ステップ５０５）、コード画像に格納されている情報を取得する。そして、取得したこの情報に基づき、上記の予め定められた処理が実行される。
【００７９】
これに対し、ステップ５０４にて、回転角度が０°以外であると判断された場合には、ステップ５０３にて把握された回転角度分、画像回転部６５が、読み取り画像を回転させる（ステップ５０６）。その後、走査部６１が、回転処理がなされた後の読み取り画像の走査を行う（ステップ５０７）。
そして、この走査により、コード画像が検出された場合には、取得部６６が、このコード画像のデコードを行い（ステップ５０８）、コード画像に格納されていた情報を取得する。そして、取得したこの情報に基づき、上記の予め定められた処理が実行される。
【００８０】
図１４は、図１３のステップ５０１、ステップ５０７にて行われるコード画像の検出処理（読み取り画像の走査中に行われるコード画像の検出処理）の流れを示したフローチャートである。
コード画像の検出処理では、上記と同様、走査部６１が、読み取り画像の走査を行う（ステップ６０１）。そして、走査部６１は、走査を順次行っていく過程で、切り出しシンボルがあるか否かを判断し（ステップ６０２）、切り出しシンボルがある場合には、コード画像の一部を検出したと判断し、このコード画像についての情報（位置情報などの情報）を保持する（ステップ６０３）。
【００８１】
そして、走査部６１は、さらに走査を進め、保持した上記情報と、走査をさらに行うことにより得られる新たな走査結果とに基づき、コード画像の検出条件を満たしたか否かを順次判断していく（ステップ６０４）。そして、切り出しシンボルが３つ揃うなど、コード画像の検出条件を満たした場合は、このコード画像についての情報（位置情報など）を保持する（ステップ６０５）。
【００８２】
一方、ステップ６０２にて、切り出しシンボルが見つからないと判断された場合や、ステップ６０４にて、コード画像の検出条件を満たさないと判断された場合は、走査部６１が、走査位置が、読み取り画像の終端（走査領域の終端）であるか否かを判断し（ステップ６０６）、終端でない場合は、ステップ６０１以降の処理を再び行う。一方、ステップ６０６にて、走査位置が、読み取り画像の終端（走査領域の終端）であると判断された場合は、処理を終了する。
【符号の説明】
【００８３】
６０…制御部、６１…走査部、６２…設定部、６３…基準保持部、６４…距離把握部、６５…画像回転部、６６…取得部、１０８…画像読み取り部
【図１】
0006677037.tif 000002
【図２】
0006677037.tif 000003
【図３】
0006677037.tif 000004
【図４】
0006677037.tif 000005
【図５】
0006677037.tif 000006
【図６】
0006677037.tif 000007
【図７】
0006677037.tif 000008
【図８】
0006677037.tif 000009
【図９】
0006677037.tif 000010
【図１０】
0006677037.tif 000011
【図１１】
0006677037.tif 000012
【図１２】
0006677037.tif 000013
【図１３】
0006677037.tif 000014
【図１４】
0006677037.tif 000015