(57)【要約】【課題】より正確に、マークを付された画像を抽出しマークの種別に基づいた分類を可能とする技術を提供する。【解決手段】画像処理装置において、読取手段で読取った原稿画像中からオブジェクトの領域位置の情報をオブジェクトリストとして、マークの領域位置の情報をマークリストとしてそれぞれ抽出する抽出手段と、オブジェクトリスト中の各々のオブジェクトの領域位置の情報に対し距離が最短になるマークリスト中のマークの領域位置の情報を検索する検索手段とを備える。【選択図】図８
2008052709.tif 000002
【特許請求の範囲】
【請求項１】
原稿を読取る読取手段により読取った原稿画像中のオブジェクトと原稿に付されたマークとを識別し、識別されたマークに従って該当するオブジェクトの画像データを記憶装置に分類して保存する画像処理装置であって、
前記読取手段で読取った原稿画像中から、オブジェクトの領域位置の情報をオブジェクトリストとして、マークの領域位置の情報をマークリストとしてそれぞれ抽出する抽出手段と、
前記オブジェクトリスト中の各々のオブジェクトの領域位置の情報に対し、距離が最短になる前記マークリスト中のマークの領域位置の情報を検索する検索手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記検索手段によって、前記マークリスト中に、前記オブジェクトリスト中のいずれのオブジェクトの領域位置の情報とも最短距離とはならなかったマークの領域位置の情報があった場合、該マークの領域位置の情報に対し、距離が最短となる前記オブジェクトリスト中のオブジェクトの領域位置の情報を検索し、該オブジェクトの領域位置の情報を関連づけされるものとして決定し、それぞれのリストから、決定された領域位置の情報を除外して前記検索手段を再帰的に実行する検索制御手段をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検索手段によって、前記マークリスト中に、前記オブジェクトリスト中のいずれのオブジェクトの領域位置の情報に最短距離とはならなかったマークの領域位置の情報があった場合、該マークの領域位置の情報に対し、距離が最短となる該オブジェクトリスト中のオブジェクトの領域位置の情報を検索し、該当するオブジェクトに対しては複数のマークが付与されていると決定する決定手段をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記抽出手段で抽出された前記オブジェクトリスト、及び、前記マークリスト中のそれぞれの領域位置の情報が同数であるか否かを判定する判定手段をさらに備え、
前記判定手段により同数であると判定された場合に、前記検索手段、及び、前記検索制御手段を実行することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記判定手段により同数でないと判定された場合に、前記オブジェクトリスト、及び、前記マークリスト中のそれぞれの領域位置の情報を比較し、一致すると判定された領域位置の情報を該オブジェクトリストまたは該マークリストの何れかから削除する削除手段をさらに備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記マークは２次元平面上での方向指定が可能なマークであり、
前記画像処理装置は、更に、マークの指定する方向を識別する方向識別手段を備え、
前記検索手段は、前記方向識別手段により識別された方向および距離に基づいて前記マークリスト中のマークの領域位置の情報を検索することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記検索手段は、マークから前記方向識別手段により識別された方向の延長線上で最初に交差することになるオブジェクトの領域位置の情報に対し、該マークの領域位置の情報を関連付けることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
原稿を読取る読取手段により読取った原稿画像中のオブジェクトと原稿に付されたマークとを識別し、識別されたマークに従って該当するオブジェクトの画像データを記憶装置に分類して保存する画像処理装置の制御方法であって、
前記読取手段で読取った原稿画像中から、オブジェクトの領域位置の情報をオブジェクトリストとして、マークの領域位置の情報をマークリストとしてそれぞれ抽出する抽出工程と、
前記オブジェクトリスト中の各々のオブジェクトの領域位置の情報に対し、距離が最短になる前記マークリスト中のマークの領域位置の情報を検索する検索工程と、
を備えることを特徴とする制御方法。
【請求項９】
前記検索工程によって、前記マークリスト中に、前記オブジェクトリスト中のいずれのオブジェクトの領域位置の情報とも最短距離とはならなかったマークの領域位置の情報があった場合、該マークの領域位置の情報との距離が最短となるオブジェクトリスト中のオブジェクトの領域位置の情報を検索し、該オブジェクトの領域位置の情報を関連づけされるものとして決定し、それぞれのリストから、決定された領域位置の情報を除外して前記検索工程を再帰的に実行する検索制御工程をさらに備えることを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記検索工程によって、前記マークリスト中に、前記オブジェクトリスト中のいずれのオブジェクトの領域位置の情報に最短距離とはならなかったマークの領域位置の情報があった場合、該マークの領域位置の情報に対し、距離が最短となる該オブジェクトリスト中のオブジェクトの領域位置の情報を検索し、該当するオブジェクトに対しては複数のマークが付与されていると決定する決定工程をさらに備えることを特徴とする請求項８に記載の制御方法。
【請求項１１】
原稿を読取る読取手段により読取った原稿画像中のオブジェクトと原稿に付されたマークとを識別し、識別されたマークに従って該当するオブジェクトの画像データを記憶装置に分類して保存する画像処理装置の制御プログラムであって、
前記読取手段で読取った原稿画像中から、オブジェクトの領域位置の情報をオブジェクトリストとして、マークの領域位置の情報をマークリストとしてそれぞれ抽出する抽出工程を実行するためのプログラムコードと、
前記オブジェクトリスト中の各々のオブジェクトの領域位置の情報に対し、距離が最短になる前記マークリスト中のマークの領域位置の情報を検索する検索工程を実行するためのプログラムコードと、
を備えることを特徴とする制御プログラム。
【請求項１２】
前記検索工程によって、前記マークリスト中に、前記オブジェクトリスト中のいずれのオブジェクトの領域位置の情報とも最短距離とはならなかったマークの領域位置の情報があった場合、該マークの領域位置の情報との距離が最短となるオブジェクトリスト中のオブジェクトの領域位置の情報を検索し、該オブジェクトの領域位置の情報を関連づけされるものとして決定し、それぞれのリストから、決定された領域位置の情報を除外して前記検索工程を再帰的に実行する検索制御工程を実行するためのプログラムコードをさらに備えることを特徴とする請求項１１に記載の制御プログラム。
【請求項１３】
前記検索工程によって、前記マークリスト中に、前記オブジェクトリスト中のいずれのオブジェクトの領域位置の情報に最短距離とはならなかったマークの領域位置の情報があった場合、該マークの領域位置の情報に対し、距離が最短となる該オブジェクトリスト中のオブジェクトの領域位置の情報を検索し、該当するオブジェクトに対しては複数のマークが付与されていると決定する決定工程を実行するためのプログラムコードをさらに備えることを特徴とする請求項１１に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マークを付された画像を抽出しマークの種別に基づいて分類を行う画像処理技術に関するものである。
【背景技術】
【０００２】
インスタントカメラで撮影したフィルムや余白付きの写真等の紙メディアをスキャナなどの画像読取装置で読み取りデジタルデータとして保存したいという要求がある。特に、スキャナの原稿台に複数枚の写真を載置して、一括読み取りを行ない、読み取った画像を切り出して（以下、”クロップ”と呼ぶ）それぞれを分類して保存したいという要求が強くなってきている。
【０００３】
この要求に対して、特許文献１には、紙メディアに対して、切り出したい画像領域（クロップ領域）をペン等を使用して線で囲み、線種の色や形状、近辺の記号に基づいて紙メディア内の情報を識別するものがある。そして、識別結果と予め登録している分類情報を関連付けることで切り出した画像を指定したフォルダに保存する技術が開示されている。
【０００４】
また、文献１では、紙メディアに対して、切り出したい画像領域をペン等を使用して線で囲むことで識別しているが、自動的に原稿領域を識別する技術もある。例えば、特許文献２には、原稿台の上にユーザが載置した複数の原稿の位置とサイズを自動的に検出し、各原稿の切り出しを可能とする技術が開示されている。
【特許文献１】特開２０００−１６５６５１号公報
【特許文献２】特開２００３−０４６７３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、文献１のような紙メディアに対して画像領域を切り出して分類する場合、ペン等を使用して全ての画像領域を線で囲む必要がある。つまり、画像領域を切り出す前処理として煩雑な作業を余儀なくされていた。さらに、切り出した画像はペン等を使用して線で囲まれた領域であるため、画像領域そのものを正確に識別することは困難であった。
【０００６】
また、文献２のような原稿領域を自動識別する技術を用いて、余白有り原稿の余白部分にマークを付加して読み取りを行なう場合、マークの位置とサイズによっては、図９（４）に示すようにマークを１枚の原稿領域として誤検出してしまうことがあった。また、図９（２）に示すようにマークを含むクロップ枠として原稿領域より大きいサイズのクロップ枠が検出されてしまうことがあった。さらに、図９（３）に示すように原稿領域とマークとが相対的に離れて位置している場合、クロップ枠は正しく検出されたとしても、当該クロップ枠とマークとの関連付けが正しく行なわれないという問題があった。
【０００７】
本発明は上記問題点に鑑みなされたものであり、より正確に、マークを付された画像を抽出しマークの種別に基づいた分類を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の問題点の少なくとも１つを解決するため、原稿を読取る読取手段により読取った原稿画像中のオブジェクトと原稿に付されたマークとを識別し、識別されたマークに従って該当するオブジェクトの画像データを記憶装置に分類して保存する画像処理装置であって、前記読取手段で読取った原稿画像中から、オブジェクトの領域位置の情報をオブジェクトリストとして、マークの領域位置の情報をマークリストとしてそれぞれ抽出する抽出手段と、前記オブジェクトリスト中の各々のオブジェクトの領域位置の情報に対し、距離が最短になる前記マークリスト中のマークの領域位置の情報を検索する検索手段と、を備える。
【０００９】
または、原稿を読取る読取手段により読取った原稿画像中のオブジェクトと原稿に付されたマークとを識別し、識別されたマークに従って該当するオブジェクトの画像データを記憶装置に分類して保存する画像処理装置の制御方法であって、前記読取手段で読取った原稿画像中から、オブジェクトの領域位置の情報をオブジェクトリストとして、マークの領域位置の情報をマークリストとしてそれぞれ抽出する抽出工程と、前記オブジェクトリスト中の各々のオブジェクトの領域位置の情報に対し、距離が最短になる前記マークリスト中のマークの領域位置の情報を検索する検索工程と、を備える。
【００１０】
あるいは、原稿を読取る読取手段により読取った原稿画像中のオブジェクトと原稿に付されたマークとを識別し、識別されたマークに従って該当するオブジェクトの画像データを記憶装置に分類して保存する画像処理装置の制御プログラムであって、前記読取手段で読取った原稿画像中から、オブジェクトの領域位置の情報をオブジェクトリストとして、マークの領域位置の情報をマークリストとしてそれぞれ抽出する抽出工程を実行するためのプログラムコードと、前記オブジェクトリスト中の各々のオブジェクトの領域位置の情報に対し、距離が最短になる前記マークリスト中のマークの領域位置の情報を検索する検索工程を実行するためのプログラムコードと、を備える。
【発明の効果】
【００１１】
本発明によれば、より正確に、マークを付された画像を抽出しマークの種別に基づいた分類を可能とする技術を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１３】
（第１実施形態）
本発明に係る画像読取装置の第１実施形態として、スキャナとコンピュータから構成されるシステム（以下、画像読取システムと呼ぶ）を例に挙げて以下に説明する。
【００１４】
＜システム構成＞
図１は、第１実施形態に係る画像読取システムのハードウェアブロック図である。
【００１５】
図に示すように、本画像読取システムは、アプリケーションによる各種処理、スキャナドライバによる画像読取処理や画像処理等を実現するためのコンピュータ２０と、このコンピュータ２０に有線または無線接続されるスキャナ１０とを備える。
【００１６】
スキャナ１０は、コンピュータ２０からの制御に基づき原稿を読み取りイメージデータを生成し、コンピュータ２０にイメージデータを送信する。一方、コンピュータ２０は、スキャナ１０が解釈可能な各種制御コマンドを送信し、スキャナ１０からのイメージデータの受信を行なうホスト装置として機能する。
【００１７】
コンピュータ２０は、各種プログラムを実行するＣＰＵ２５を備える。また、コンピュータ２０を制御するための各種データ、各種プログラム等があらかじめ不揮発的に記憶されているＲＯＭ２６、データ及びプログラム等を一時的に記憶するＲＡＭ２７を備える。さらに、接続されたスキャナ１０等の周辺装置とのデータの送受信を行なうインターフェース２１を備えている。なお、コンピュータ２０には、カラーディスプレイ等の表示装置２２、キーボード、ポインティングデバイス等の入力装置２３、内蔵または外付けの補助記憶装置２４が併せて接続される。
【００１８】
スキャナ１０は、例えばＣＣＤ方式のカラーイメージスキャナである。ＣＣＤカラーイメージスキャナは、図示しないＣＣＤラインセンサを走査して原稿台に置かれた原稿を光学的に読み取り、イメージデータに変換する。また、スキャナ１０は、コンピュータ２０等のホスト装置とのデータの送受信を行なうインターフェース１１を備えている。そして、スキャナ１０は、各種プログラムを実行するＣＰＵ１２を備えている。さらに、スキャナ１０を制御するための各種データ、各種プログラム等があらかじめ不揮発的に記憶されているＲＯＭ１３、読み取ったイメージデータ等の各種データを一時的に記憶するＲＡＭ１４を備えている。そして、ＣＣＤイメージセンサー搭載の原稿読取ユニット等を制御するスキャナエンジン１５、及び操作パネル１６を備える。なお、操作パネル１６は、スキャナの状態やメニュー等を表示するための表示部とユーザからの操作を受け付けるための入力部とを備えている。
【００１９】
図２は、コンピュータ２０の機能ブロック図である。
【００２０】
図に示すように、コンピュータ２０の備える機能は、ＣＰＵ２５により実行されるアプリケーション３１とスキャナドライバ３２により実現される機能により分類される。アプリケーション３１は、例えば、ＴＷＡＩＮ規格に準拠したデータソースからイメージデータの取得を行なう。そして、アプリケーション３１は、イメージデータに対し各種処理を行った後、表示装置２２への描画を実行したり、または、ファイルとして補助記憶装置２４に格納したりする。スキャナドライバ３２は、ＴＷＡＩＮ規格に準拠したデータソースとして、スキャナ１０を制御するための制御コマンドの送信やイメージデータの受信を双方向インターフェース制御部３０を介して行なう。
【００２１】
スキャナドライバ３２は、マークを管理するマーク管理部３３、クロップ枠を管理するクロップ枠管理部３７を備える。また、後述するマークとクロップ枠との関連付けを制御する関連付制御部４０を備えている。その他、画像データ抽出部４１、画像データ出力部４２を備えている。
【００２２】
マーク管理部３３は、パターン登録部３４、マーク検出部３５、マーク消去部３６を備えている。なお、パターン登録部３４は、原稿台に載置された原稿からマークを読み取り、予めパターンとして登録する機能部である。マーク検出部３５は、原稿台全面のイメージデータを解析して、既に登録しているパターンとのマッチングを行ない、一致したマークの数量及びマークの分類情報、位置情報を取得し、図２１に示すマークリストとして管理する。マーク消去部３６は、マーク検出部３５で得られたマークの位置情報に基づき、白色や背景色のデータに変換する等の画像処理を行なうことで、マークリストの情報はそのままに、マーク画像の消去を行なう機能部である。
【００２３】
クロップ枠管理部３７は、クロップ枠識別部３８、クロップ枠消去部３９とで構成される。クロップ枠識別部３８は、原稿台全面のイメージデータを白黒２値画像へ変換する。そして、例えば、原稿台カバー（白）と原稿領域の濃度差を利用し原稿領域の自動識別を行なう。そして、後述する図３に示すスキャナドライバ３２のメインダイアログボックス３００のプレビュー領域３３０に認識結果を表示する。具体的には、図９（１）に示すように原稿領域内のオブジェクトを囲むクロップ枠として、点線や破線等のユーザが識別可能な線を用いて描画を行なう。クロップ枠識別部３８はクロップ枠を検出した検出情報としてクロップ枠の数量と位置情報を取得し、図２０に示すオブジェクトリストとして管理する。クロップ枠消去部３９は、クロップ枠識別部３８により描画されたクロップ枠の消去を行なう。
【００２４】
＜システムの基本動作＞
図３は、画像読取の際に表示装置２２に表示されるメインダイアログボックスを示す図である。
【００２５】
メインダイアログボックス３００は、ユーザからの各種設定・動作指示を受け付ける画面である。このメインダイアログボックス３００の画面は、スキャナドライバ３２がＣＰＵ２５により起動・実行されることにより表示装置２２に表示される。メインダイアログボックス３００上の「プレビュー」ボタンは、スキャナの原稿台の全面を低解像度で読み取り、プレビュー領域３３０に読み取り結果を表示するためのボタンである。また、ユーザはプレビュー領域３３０に表示された原稿画像をポインティングデバイスなどにより指定し「スキャン」ボタンを押下することにより画像を保存するためのスキャン（本スキャン）が行われる。また、メインダイアログボックス３００上の「登録」ボタンは、原稿台に載置された原稿からマークを読み取り、後述するパターン登録のためのパターン登録ダイアログボックスを表示する機能部である。
【００２６】
図５は、パターン登録ダイアログボックスを示す図である。
【００２７】
ユーザは、マークのパターン毎に保存するための分類名と保存先フォルダを指定して「登録」ボタンにより登録を行なう。また「一覧表示」ボタンをクリックすると、既に登録されたマークのパターンを一覧表示する。そして、登録済みのパターンに対し分類名や保存先フォルダの設定内容を編集可能なよう構成してもよい。
【００２８】
図４は、プレスキャン時に検索されたマークとクロップ枠との関連付けの概念図である。
【００２９】
この処理は、ＣＰＵ２５がスキャナドライバ３２を実行することにより行われる。関連付制御部４０は、クロップ枠識別部３８で識別されたクロップ枠とマーク検出部３５で検出されたマークとの関連付けを行なう。
【００３０】
画像データ抽出部４１は、原稿台全面のイメージデータから、クロップ枠識別部３８により識別された原稿内のクロップ枠内のオブジェクトをイメージデータとして抽出する。そして、画像データ出力部４２は、画像データ抽出部４１により抽出したイメージデータをアプリケーションに対し、例えばＴＷＡＩＮデータソースマネージャを介して転送する。なお、イメージデータは予め登録した分類情報と保存先フォルダ情報を保持している必要がある。例えば、スキャナドライバ３２が、ＴＷＡＩＮで定義可能なカスタムケーパビリティとしてベンダーユニークな拡張パラメータを設定することにより、アプリケーション３１はその設定内容を基に保存を行なうことが可能となる。
【００３１】
図６は、原稿台に載置した原稿を読み込み保存するまでの全体動作フローチャートである。なお、予め前述のマークのパターン登録は完了しているとする。なお、以下の各ステップはＣＰＵ２５がスキャナドライバ３２を実行することにより実現される。
【００３２】
ステップＳ６０１では、図３に示すスキャナドライバ３２のメインダイアログボックス３００上の「プレビュー」ボタンのクリックを受け付ける。クリックをトリガとして、原稿台全面のプレスキャンが実行される。プレスキャンとは、原稿台のどの位置に原稿が載置されているかをユーザが識別するための確認作業である。
【００３３】
ステップＳ６０２では、原稿台全面のプレスキャンにより得られた原稿画像に基づいて、パターンマッチングにより原稿に付加されたマークの検出を行ない、マークリストを作成する。つまり、原稿画像中からマークリストを作成する。マークリストの情報としては、マークの種別、数量および分類情報、それぞれのマークの位置情報を含むものとする。
【００３４】
ステップＳ６０３では、クロップ枠識別部３８により原稿内のオブジェクト領域をクロップ枠として検出（以降、マルチクロップ処理と呼ぶ。）し、オブジェクトリストを作成する。つまり、原稿画像中からオブジェクトの領域位置を抽出しオブジェクトリストを作成する。オブジェクトリストの情報としては、クロップ枠の数量とそれぞれのクロップ枠の位置情報を含むものとする。
【００３５】
ステップＳ６０４では、関連付制御部４０は、検出されたそれぞれのクロップ枠とそれぞれのマークとの関連付けを行なう。つまり、オブジェクトリスト中のオブジェクトとマークリスト中のマークとを関連付ける。なお、関連付けの詳細な手順については後述する。
【００３６】
ステップＳ６０５では、関連付制御部４０により、関連付けされた結果を図３のダイアログボックスに表示する。例えば、図３に示されるようにある原稿にマウス操作によりフォーカスがあてられた場合、画像分類領域の「選択クロップの分類」エリアに、分類名情報を表示する。図において、マウスカーソルによりフォーカスがあてられ選択された図を斜線で示したり、あるいは、プレビュー領域の全ての原稿に対して簡易的な説明文の表示を行なってもよい。何れの方法においてもユーザが容易に識別できるようにする。
【００３７】
ステップＳ６０６では、ステップＳ６０５での表示結果に基づいて、関連付けに問題がないと判断した場合は、原稿の種類や読取解像度等の設定に従って読み取り（本スキャン）を行なう。なお、この決定は例えば、ユーザによる「スキャン」ボタンのクリックにより実現される。なお、関連付けに問題がある場合は、ダイアログボックスに正しい関連付けを設定する。
【００３８】
ステップＳ６０７では、画像データ抽出部４１は、原稿台上の画像を読み取り、クロップ枠内のオブジェクトのイメージデータを抽出する。
【００３９】
ステップＳ６０８では、画像データ出力部４２は、関連付け情報により分類名情報に対応付けられた保存先フォルダの情報と供にオブジェクトのイメージデータをアプリケーションに転送する。そうすることにより、アプリケーションは指定フォルダへのファイル保存を行うことが可能となる。
【００４０】
図７は、プレビューを行なわない場合の全体動作フローチャートである。
【００４１】
図６に示した動作フローは、プレビューにより事前に分類結果を確認する例である。しかし、図７に示すように、最初に「スキャン」ボタンをクリックし、プレビューを行なわずに読み取りを開始してもよい。このような動作フローとすることにより、ワンクリックのマウス操作のみで指定フォルダにファイルの保存が可能とすることができる。
【００４２】
＜マークを付した画像の読み取り＞
図９は、マルチクロップ処理を行なった結果のパターンを例示的に示す図である。図９（１）はマークを付していない画像を読み取った場合の、クロップ枠の検出結果の例を示している。
【００４３】
一方、図９（２）〜図９（４）はマークを付した画像を読み取った場合のクロップ枠の検出結果の例を示している。つまり、マークが付されている場合、図９（３）のように正しく画像部分のみにクロップ枠が設定されるとは限らない。つまり、マルチクロップ処理においては、原稿上の画像の有無のみを判断している。そのため、マークを原稿上に付加している場合、マークの位置やサイズにより、次の３通りのクロップ枠が検出されうる。具体的には、マークを画像の一部と誤認識（図９（２））したり、マーク自体を１つの画像と誤認識（図９（４））したりする場合がある。つまり、クロップ枠として以下の３通りの結果が存在する。
【００４４】
・画像およびマークを含むクロップ枠      ：図９（２）
・画像のみ含むクロップ枠                ：図９（３）
・マークのみ含むクロップ枠              ：図９（４）
そこで、以下では、マークを付した画像の読み取り技術について詳しく説明する。具体的には、全ての原稿の余白部分に必ず１つのマークが付与された原稿である場合において、パターンマッチングにより検出されたマークとマルチクロップ処理により識別されたクロップ枠を、より正確に関連付ける方法について説明する。  図８は、関連付制御部４０により、クロップ枠とマークとの関連付け動作を表すフローチャートである。これは、図６におけるステップＳ６０４に相当しており、マークの検出（Ｓ６０２）およびクロップ枠の検出（Ｓ６０３）の各ステップは既に終わっているものとする。なお、以下の各ステップはＣＰＵ２５がスキャナドライバ３２を実行することにより実現される。
【００４５】
ステップＳ８０１では、オブジェクトリストとマークリストを元に、検出されたクロップの数量とマークの数量とを比較する。クロップの数量とマークの数量が異なる場合、つまりマークの数がクロップ数より多いもしくは少ない場合にはＳ８０２に進む。一致する場合にはステップＳ８０６に進む。
【００４６】
ステップＳ８０２では、全てのクロップ枠について以下のステップＳ８０３の処理が完了したか否かを確認する。完了した場合にはステップＳ８０５に進み、完了していない場合にはステップＳ８０３に進む。
【００４７】
ステップＳ８０３では、あるクロップ枠の位置情報について、位置情報が一致するマークが存在するかを確認する。つまり、図９（４）に示されるようにマークが画像として誤認識されていないかを確認する。一致するものがあればステップＳ８０４に進み、無ければステップＳ８０２に戻る。
【００４８】
ステップＳ８０４では、当該クロップ枠の消去を行なう。つまり、マークに対して設定されたクロップ枠を消去するのである。
【００４９】
以上の、ステップＳ８０２〜ステップＳ８０４の処理を全てのクロップ枠について確認を行う。その結果、ステップＳ８０５では、クロップ枠の検出結果として、図９（２）と図９（３）の２通りに集約されることになる。
【００５０】
ステップＳ８０５では、クロップの数量とマークの数量とを比較する。一致していればステップＳ８０６に進み、一致していなければステップＳ８１７に進む。
【００５１】
ステップＳ８０６では、あるクロップ枠について、内側に何れかのマークの位置が含まれるか否かを確認する。クロップ枠内にマークを含んでいると判断された場合は、ステップＳ８０７に進み、含まれていないと判断された場合にはステップＳ８１２に進む。
【００５２】
ステップＳ８０７では、当該クロップ枠とマークとを関連付ける。
【００５３】
ステップＳ８０８では、ステップＳ８０７で関連付けたマークの消去を行なう。なお、マークは消去されても、マーク検出部３６のマーク検出結果の情報はそのまま保存されている。つまり、現状では、図９（２）に示すようにクロップ枠が設定されているため、マークを削除した上で、一旦当該クロップ枠を消去し、画像認識を再度行うのである。
【００５４】
ステップＳ８０９では、Ｓ８０８で消去したクロップ枠の領域を対象にクロップ処理（オートクロップ処理）を行なう。このようにすることにより、図９（３）に示すように画像領域に対して正確にクロップ枠を設定可能となる。
【００５５】
ステップＳ８１０では、以上のステップＳ８０７〜ステップＳ８０９の処理を全ての当該クロップ枠について確認を行う。全ての当該クロップ枠について完了したらステップＳ８１１に進み、完了していなければステップＳ８０７に戻り別の当該クロップ枠について確認する。
【００５６】
ステップＳ８１１では、未処理のクロップ枠があるか否かを確認する。つまり、図９（３）に示すクロップ枠内にマークを含まないクロップが存在しているかを確認する。未処理のクロップ枠が存在していないと判断された場合は、全てのクロップに対してマークの関連付け処理が完了しているため、フローを終了する。未処理のクロップ枠が存在している場合にはステップＳ８１２に進む。
【００５７】
ステップＳ８１２では、全てのクロップ枠について、各々のクロップ枠に最も近いマークをマークリストより検索して関連付けを行う。つまり、距離が最短（最短距離）となるマークに関連付ける。
【００５８】
ステップＳ８１３では、すべてのクロップ枠とマークとが１対１に関連付けが行われているか否かを判断する。すべてが１対１に関連付けが行われていると判断された場合は、ステップＳ８１６に進む。一方、１対１に関連付けが行われていないものが存在すると判断された場合は、ステップＳ８１４に進む。１対１に関連付けが行われていないものが存在する場合としては、図１０に示すように複数の原稿を近距離に載置した場合が相当する。
【００５９】
ステップＳ８１４では、対を持たないマークの検索を行なう。
【００６０】
ステップＳ８１５では、当該マークと最も近いクロップ枠を関連付け、当該マークおよびクロップ枠をそれぞれマークリスト、オブジェクトリストの検索対象から除外する。そしてステップＳ８１２に戻り、検索対象から除外されたマークおよびクロップ枠以外について再び関連付けを行う。
【００６１】
以上の、ステップＳ８１２〜ステップＳ８１５の処理を１対１に関連付けが行われるまで行う。つまり、再帰的に実行するよう検索制御を行うのである。なお、例えば、オブジェクトリスト中のオブジェクトの数とマークリスト中のマークの数とが同数と判定されるまで行う。
【００６２】
ステップＳ８１６では、関連付けられたクロップ枠とマークとを最終的な関連付けとして設定し、フローを終了する。
【００６３】
ステップＳ８１７では、原稿にマークが付加されていない、あるいはマークが重複して付加されている可能性があると判断し、エラーメッセージを表示装置に表示する。その際ユーザが任意にプレビュー上の分類情報を変更できるような分類情報編集手段を設けてもよい。
【００６４】
図１１は、３枚の原稿を近接して載置した例を示す図である。この例では、マークＢの位置がクロップ枠１の方に近かったため、初めにクロップ枠１に対するマークとしてマークＢが関連付けられてしまった。そのため、クロップ枠１に関連付けられるべきマークＡが余ってしまい、マークがクロップ枠に１対１で対応しなかった場合を示している。図１２は、ステップＳ８１２〜ステップＳ８１６の一連の処理における、クロップ枠とマークの関連付け作業における状態遷移を示す図である。
【００６５】
図１１で、原稿１、２、３は、クロップ枠内にマークを含まないクロップとマークで構成され、各クロップ枠に最も近いマークをオブジェクトリストとマークリストからそれぞれ検索し、対応付けた結果が図１２の（１）に対応する。この場合、マークＢが２つのクロップ枠と対応付ける結果が得られる（２）。この状態で、対応付けがされていないマークを検索し、マークＡが該当している結果が得られる。そこで、マークＡに最も近いクロップ枠を検索し、クロップ枠１とマークＡを対応付ける（３）。その後、クロップ枠１とマークＡを除いた状態で、再度各クロップ枠に対し最も近いマークを検索し関連付ける（４）。その結果、全てのクロップ枠とマークが１対１に対応した結果が得られ、各々のクロップ枠とマークを関連付けることができる（５）。
【００６６】
図１９は、２枚の原稿において、クロップ枠とマークがそれぞれ適切に関連付けられる場合の例を示す図である。つまり、クロップ枠とマークが１対１に正確に関連付けられる場合を示している。これは、ステップＳ８１６に処理が移行する際のプレビュー画像に相当する。
【００６７】
以上説明した通り、本発明によれば、より正確に、マークを付された画像を抽出しマークの種別に基づいた分類を行うことが可能となる。特に、クロップ枠の誤検出や、誤った対応付けがなされることを大幅に低減可能とする技術を提供することができる。
【００６８】
上記では、各クロップ枠に対応するマークの関連付けを、クロップ枠とマークとの位置関係のみに基づいて行った。しかし、マークの形状に、関連付けを行う画像（クロップ枠）との関連情報を持たせることにより、より正確な関連付けを実現することも可能である。
【００６９】
図１４は、３枚の原稿の配置例を示す図である。図１１と類似するが、マークＣの位置がクロップ枠２に近接している点が異なる。このような状態で、図８のステップＳ８１２〜ステップＳ８１６のフローを実行した場合、最終的にマークＢとマークＣがクロップ枠２とクロップ枠３のどちらに付与されているかを判断することができず、ユーザの意図した結果にならない場合がある。その場合は、図１５に示すように、２次元平面上（原稿上）での方向指定が可能な形状のマークを用いるとよい。その場合、当該マークの方向識別を行い、識別した方向の延長線上で最初に交差するクロップ枠に対し優先的に関連付けを行うことにより、より正確に関連付けを行うことができるのである。
【００７０】
（変形例１）
上述の第１実施形態においては、原稿１枚に対してマークを１個付加する場合を想定した。しかし、原稿台に載置した複数枚の原稿に全て同じマークを付加することも考えられる。その場合にも全ての原稿にマークを付加することは手間がかかるため、任意の原稿１枚のみにマークを付加するよう構成してもよい。
【００７１】
図１３は、変形例１に係るクロップ枠とマークとの関連付け動作を表すフローチャートである。これは、図６のステップＳ６０４に相当しており、マークの検出（Ｓ６０２）およびクロップ枠の検出（Ｓ６０３）の各ステップは既に終わっているものとする。なお、以下の各ステップはＣＰＵ２５がスキャナドライバ３２を実行することにより実現される。
【００７２】
ステップＳ１３０１では、オブジェクトリストとマークリストを元に、検出されたクロップの数量とマークの数量とを比較する。そして、マークの数がクロップ数より多いもしくは少ない場合にはＳ１３０２に進む。一致する（同数である）場合にはステップＳ１３０７に進み、ステップＳ８０６と同様の処理を行う。
【００７３】
ステップＳ１３０２では、マークの数量が１であるかの比較を行なう。１であると判断された場合はステップＳ１３０３に進む。１でないと判断された場合はステップＳ１３０８に進み、ステップＳ８０２と同様の処理を行う。
【００７４】
ステップＳ１３０３では、あるクロップ枠の位置情報について、位置情報が一致するマークが存在するかを確認する。一致するものがあればステップＳ１３０４に進み、無ければステップＳ１３０５に進む。
【００７５】
ステップＳ１３０４では、当該マークと位置情報が一致するクロップ枠の消去を行なう。
【００７６】
ステップＳ１３０５では、さらにマークを包含しているクロップ枠に対して、マークを消去した後にオートクロップ処理を行なう。そうすることで原稿領域を正確に識別することが可能となる。
【００７７】
ステップＳ１３０６では、全てのクロップ枠に検出された１つのマークを関連付け、フローを終了する。
【００７８】
以上説明したとおり変形例１によれば、任意の原稿１枚のみにマークを付加するような構成とすることも出来、全ての原稿にマークを付加する手間を省略することが可能となる。
【００７９】
（変形例２）
上述の第１実施形態においては、原稿１枚に対してマークを１個付加する場合を想定した。しかし、原稿台に載置した原稿1枚に対して複数のマークを付加する場合も考えられる。例えば、画像Ａと画像Ｂの両方が含まれた１枚の原稿をフォルダＡとフォルダＢの両方に分類しておきたい場合がこれにあたる。
【００８０】
図１８は、変形例２に係るクロップ枠とマークとの関連付け動作を表すフローチャートである。これは、図６のステップＳ６０４に相当しており、マークの検出（Ｓ６０２）およびクロップ枠の検出（Ｓ６０３）の各ステップは既に終わっているものとする。なお、以下の各ステップはＣＰＵ２５がスキャナドライバ３２を実行することにより実現される。
【００８１】
なお、ステップＳ１８０１からステップＳ１８１６までの処理は、第１実施形態におけるステップＳ８０１からＳ８１６までの処理と同じであるため説明を省略する。
【００８２】
ステップＳ１８１７では、原稿にマークが付加されていない、あるいはマークが重複して付加されている可能性があると判断し、図１６に示す確認アラートを表示する。ここでユーザがキャンセルボタン１６０２をクリックした場合には、ステップＳ８１７と同様の処理を実行する。
【００８３】
ユーザが、手動設定ボタン１６０３をクリックした場合には、マークが付与されていない原稿、または複数マークを付与したい原稿に対し手動でマークを設定できるような図示しないダイアログを表示させてユーザにマークを付与させる。
【００８４】
ユーザが実行ボタン１６０１をクリックした場合には、原稿に対して複数マークを関連付ける処理を行なう。
【００８５】
図１７は実行ボタン１６０１がクリックされた場合の、原稿に複数マークを割り当てる動作を表すフローチャートである。
【００８６】
Ｓ１７０１では検索対象のマークを特定するための、全マークを対象としたマークリストをもとに検索リストを作成する。
【００８７】
ステップＳ１７０２では、あるクロップ枠について、内側に何れかのマークの位置が含まれるか否かを確認する。クロップ枠内にマークを含んでいると判断された場合は、ステップＳ１７０３に進み、含まれていないと判断された場合にはステップＳ１７０９に進む。
【００８８】
ステップＳ１７０３では、当該クロップ枠と内部に含まれた全てのマークを関連付ける。
【００８９】
ステップＳ１７０４では、ステップＳ１７０３で関連付けたマークの消去を行なう。つまり、現状では、図９（２）に示すようにクロップ枠が設定されているため、一旦当該クロップ枠を消去し、画像認識を再度行うのである。
【００９０】
ステップＳ１７０６では、クロップ枠を対象にクロップ処理（オートクロップ処理）を行なう。このようにすることにより、図９（３）に示すように画像領域に対して正確にクロップ枠を設定可能となる。
【００９１】
ステップＳ１７０７では、以上のステップＳ１７０３〜ステップＳ１７０７の処理を全てのクロップ枠について確認を行う。全てのクロップ枠について完了したらステップＳ１７０８に進み、完了していなければステップＳ１７０３に戻り別のクロップ枠について確認する。
【００９２】
ステップＳ１７０８では、未処理のクロップ枠があるか否かを確認する。つまり、図９（３）に示すクロップ枠内にマークを含まないクロップが存在しているかを確認する。未処理のクロップ枠が存在していないと判断された場合は、全てのクロップに対して関連付け処理が完了しているため、フローを終了する。内部にマークを含むクロップ枠が無く、未処理のクロップ枠が存在している場合にはステップＳ１７０９に進む。
【００９３】
ステップＳ１７０９では、関連付けられていないクロップ枠に最も近いマークを１つ検索する。
【００９４】
ステップＳ１７１０では、クロップ枠とマークを関連付ける。
【００９５】
ステップＳ１７１１では、ステップＳ１７１０で関連付けたマークを検索リストから除外する。
【００９６】
ステップＳ１７１２では、検索リストに関連付けられていないマークがあるか確認する。マークが無い場合、全てのマークがいずれかのクロップ枠に関連付けが終了したとして終了する。検索リストにマークがある場合には、ステップＳ１７１３に進み全てのクロップ枠の関連付けが終了しているか判断する。
【００９７】
ステップＳ１７１３で全てのクロップ枠の関連付けが終了していないと判断された場合は、ステップＳ１７０９に戻り関連付けが終了するまで続ける。
【００９８】
ステップＳ１７１３で全てのクロップ枠の関連付けが終了した場合には、ステップＳ１７１４に進む。
【００９９】
ステップＳ１７１４では関連付けられていないマークがあるか確認する。マークが無い場合は処理を終了し、マークがある場合には、ステップＳ１７１５に進む。
【０１００】
ステップＳ１７１５ではマークに最も近いクロップ枠を検索リストから検索する。ステップＳ１７１６では見つかったクロップ枠とマークとの関連付けを行なう。ステップＳ１７１７では、ステップＳ１７１６で関連付けたマークを検索リストから除外し、ステップＳ１７１４の処理に進み、検索リストにマークがなくなるまで処理を続ける。検索リストからマークが無くなった時点でフローを終了する。これにより、全てのクロップ枠に1つ以上のマークの関連付け処理が完了したこととなる。この場合、全体処理における、図６のステップＳ６０８に相当する処理においては、原稿をコピーしてそれぞれの分類で指定されたフォルダに保存することとなる。
【０１０１】
以上説明したとおり変形例２によれば、原稿１枚に複数のマークを付加した場合でも、正確にマークを付された画像を抽出しマークの種別に基づいた分類を行うことが可能となる。
【０１０２】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０３】
なお、本発明は、前述した実施形態の機能を実現する制御プログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【０１０４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１０５】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭなどがある。
【０１０６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１０７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１０９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１１０】
【図１】第１実施形態に係る画像読取システムのハードウェアブロック図である。
【図２】コンピュータ２０の機能ブロック図である。
【図３】画像読取の際に表示されるメインダイアログボックスを示す図である。
【図４】プレスキャン時に検索されたマークとクロップ枠との関連付けの概念図である。
【図５】パターン登録ダイアログボックスを示す図である。
【図６】原稿台に載置した原稿を読み込み保存するまでの全体動作フローチャートである。
【図７】プレビューを行なわない場合の全体動作フローチャートである。
【図８】クロップ枠とマークとの関連付け動作を表すフローチャートである。
【図９】マルチクロップ処理を行なった結果のパターンを例示的に示す図である。
【図１０】２枚の原稿を近接して載置した例を示す図である。
【図１１】３枚の原稿を近接して載置した例を示す図である。
【図１２】クロップ枠とマークの関連付け対応表の状態遷移図である。
【図１３】変形例１に係るクロップ枠とマークとの関連付け動作を表すフローチャートである。
【図１４】３枚の原稿を近接して載置した例を示す図である。
【図１５】方向指示可能な形状のマークを用いた例を示す図である。
【図１６】確認ダイアログボックスを示す図である。
【図１７】変形例２に係るクロップ枠とマークとの関連付け動作を表すフローチャートである。
【図１８】クロップ枠とマークとの関連付け動作を表すフローチャートである。
【図１９】２枚の原稿において、クロップ枠とマークがそれぞれ適切に関連付けられる場合の例を示す図である。
【図２０】オブジェクトリストを示す図である。
【図２１】マークリストを示す図である。
【図１】
2008052709.tif 000003
【図２】
2008052709.tif 000004
【図３】
2008052709.tif 000005
【図４】
2008052709.tif 000006
【図５】
2008052709.tif 000007
【図６】
2008052709.tif 000008
【図７】
2008052709.tif 000009
【図８】
2008052709.tif 000010
【図９】
2008052709.tif 000011
【図１０】
2008052709.tif 000012
【図１１】
2008052709.tif 000013
【図１２】
2008052709.tif 000014
【図１３】
2008052709.tif 000015
【図１４】
2008052709.tif 000016
【図１５】
2008052709.tif 000017
【図１６】
2008052709.tif 000018
【図１７】
2008052709.tif 000019
【図１８】
2008052709.tif 000020
【図１９】
2008052709.tif 000021
【図２０】
2008052709.tif 000022
【図２１】
2008052709.tif 000023