(57)【特許請求の範囲】
【請求項１】
コンピュータによって読み取り可能なプログラムであって、前記コンピュータは、スキャナと、メモリと、入力インタフェースと接続しており、
前記プログラムは、前記コンピュータに、
前記スキャナにスキャンデータを生成させる生成処理と、
前記生成処理によって生成されるスキャンデータの複数種類の特徴をそれぞれ示す複数種類の特徴量データを取得する第１取得処理と、
ワークフロー登録処理と、
前記スキャナが生成するスキャンデータを対象にした、ワークフローパラメータに従った処理であるワークフロー実行処理と、
前記メモリに記憶されている選択基準データを更新する選択基準データ更新処理とを実行させ、前記選択基準データは、選択手順において選択基準として用いられるデータであり、前記選択手順は、スキャンデータの特徴量データを入力データとされた場合に、複数の対象ワークフローパラメータのうちから、前記選択基準データを用いていずれかのワークフローパラメータを選択する手順であり、
前記ワークフロー登録処理は、
前記生成処理によって第１スキャンデータが生成されるときに、前記入力インタフェースを通じて、前記第１スキャンデータを対象としたワークフローパラメータである第１ワークフローパラメータを取得する第２取得処理と、
前記選択基準データ更新処理と、を含み、
前記選択基準データ更新処理は、前記第２取得処理によって前記第１ワークフローパラメータが取得された場合に、取得された前記第１ワークフローパラメータが前記複数の対象ワークフローパラメータのうちに追加され、前記第１スキャンデータを対象として前記第１取得処理が取得した特徴量データである第１特徴量データが前記選択基準に反映されるよう、前記選択基準データを更新し、
前記ワークフロー実行処理は、
前記生成処理によって第２スキャンデータが生成されるときに、
前記第２スキャンデータを対象として前記第１取得処理が取得した特徴量データである第２特徴量データを前記選択手順の入力データとすることで、第２ワークフローパラメータを取得する第３取得処理を含み、
前記ワークフロー実行処理は、
前記第２スキャンデータを対象にして、前記第３取得処理で取得された前記第２ワークフローパラメータに従って処理をする、プログラム。
【請求項２】
前記プログラムは、前記ワークフロー登録処理と前記ワークフロー実行処理のどちらを行うかを指定する操作入力を、前記入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第１受付処理を前記コンピュータに実行させ、
前記プログラムは、
前記入力インタフェースを通じて前記ワークフロー登録処理の指定を受け付けたと判断したことに応じて、前記ワークフロー登録処理を前記コンピュータに実行させ、
前記入力インタフェースを通じて前記ワークフロー実行処理の指定を受け付けたと判断したことに応じて、前記ワークフロー実行処理を前記コンピュータに実行させる、
請求項１に記載のプログラム。
【請求項３】
前記プログラムは、前記ワークフロー実行処理において、前記第２スキャンデータを対象にして前記第２ワークフローパラメータに従って処理を施すか否かを指定する操作入力を示唆する画像を、前記コンピュータが接続するディスプレイに表示し、操作入力を前記入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第２受付処理を前記コンピュータに実行させ、
前記プログラムは、
前記入力インタフェースを通じて、処理を施す指定を受け付けたと判断したことに応じて、前記第２スキャンデータを対象にして前記第２ワークフローパラメータに従って処理をする、
請求項１または２に記載のプログラム。
【請求項４】
前記プログラムは、前記第２受付処理において処理を施す指定を受け付けたと判断したことに応じて、前記選択基準データ更新処理を実行させ、
前記選択基準データ更新処理は、前記第２ワークフローパラメータが前記選択手順において優先されるように前記選択基準データを更新する
請求項３に記載のプログラム。
【請求項５】
前記プログラムは、前記第２受付処理において処理を施さない指定を受け付けたと判断したことに応じて、前記入力インタフェースを通じて、第３ワークフローパラメータを取得する第４取得処理を実行させ、
前記プログラムは、
前記第２スキャンデータを対象にして、前記第４取得処理で取得された前記第３ワークフローパラメータに従って処理をする、
請求項３に記載のプログラム。
【請求項６】
前記プログラムは、前記第３ワークフローパラメータが前記第４取得処理において取得された場合に、前記選択基準データ更新処理を実行させ、
前記選択基準データ更新処理は、前記第４取得処理が取得した前記第３ワークフローパラメータが前記複数の対象ワークフローパラメータのうちに追加され、前記第２スキャンデータを対象として前記第１取得処理が取得した特徴量である前記第２特徴量データが前記選択基準に反映されるよう、前記選択基準データを更新する、
請求項５に記載のプログラム。
【請求項７】
前記ワークフロー登録処理は、
前記生成処理によって前記第１スキャンデータが生成され、前記第２取得処理によって前記第１ワークフローパラメータが取得されるときに、
前記第１スキャンデータを対象にして、前記第２取得処理で取得された前記第１ワークフローパラメータに従って処理をする第２ワークフロー実行処理を含む、
請求項１から６のいずれかに記載のプログラム。
【請求項８】
前記ワークフロー登録処理は、
前記生成処理において生成された前記第１スキャンデータが、前記選択基準データ更新処理において前記複数の対象ワークフローパラメータのうちに追加された場合に、前記選択手順において優先される特徴量の種類を指定する操作入力を、前記入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第５取得処理と、
前記選択基準データ更新処理とを含み、
前記選択基準データ更新処理は、前記第５取得処理で取得された特徴量の種類が前記選択手順において優先されるように前記選択基準データを更新する、
請求項１から７のいずれかに記載のプログラム。
【請求項９】
前記ワークフロー実行処理は、
前記第２スキャンデータを対象として前記第１取得処理において前記第２特徴量データが取得された場合に、前記選択手順において優先される特徴量の種類を指定する操作入力を、前記入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第６取得処理と、
前記選択基準データ更新処理とを含み、
前記選択基準データ更新処理は、前記第６取得処理で取得された特徴量の種類が前記選択手順において優先されるように前記選択基準データを更新する、
請求項１から８のいずれかに記載のプログラム。
【請求項１０】
前記選択基準データは、前記複数の対象ワークフローパラメータのそれぞれと対応づけられた前記特徴量データである複数の対象特徴量データを含み、
前記ワークフロー登録処理は、前記選択基準データ更新処理を含み、
前記選択基準データ更新処理は、
同一の内容の前記対象ワークフローパラメータと対応づけられた前記対象特徴量データの集合を作成し、
前記集合における前記対象特徴量データの間の特徴量のばらつき度を特徴量の種類毎に算出し、
算出されたばらつき度が最も小さい種類の特徴量が前記選択手順において優先されるように前記選択基準データを更新する、
請求項１から９のいずれかに記載のプログラム。
【請求項１１】
前記選択基準データは、前記複数の対象ワークフローパラメータのそれぞれと対応づけられた前記特徴量データである複数の対象特徴量データを含み、
前記ワークフロー登録処理は、前記選択基準データ更新処理を含み、
前記選択基準データ更新処理は、
同一の内容の前記対象ワークフローパラメータと対応づけられた前記対象特徴量データの集合を作成し、
複数の前記集合の間で特徴量の分布範囲が重なっていない場合に、その種類の特徴量が前記選択手順において優先されるように前記選択基準データを更新する、請求項１から１０のいずれかに記載のプログラム。
【請求項１２】
前記選択基準データは、前記複数の対象ワークフローパラメータのそれぞれと対応づけられた前記特徴量データである複数の対象特徴量データを含み、
前記ワークフロー登録処理は、前記選択基準データ更新処理を含み、
前記選択基準データ更新処理は、
同一の内容の前記対象ワークフローパラメータと対応づけられた前記対象特徴量データの集合を作成し、
複数の前記集合の間で特徴量の分布範囲が重なっている場合に、その種類の特徴量が前記選択手順において優先されないように前記選択基準データを更新する、
請求項１から１０のいずれかに記載のプログラム。
【請求項１３】
前記選択基準データが示す前記選択基準は、決定木構造を含み、
前記決定木構造は、
複数のノードと、
前記ノードと前記ノード、又は前記ノードと前記対象ワークフローパラメータとを接続する複数のリンクと、を有し、
前記ノードは、１つの種類の特徴量に基づいて、接続されたリンクのうちいずれを選ぶかを決定する条件を示しており、
前記複数のノードが、開始ノードを頂点とする階層構造を形成しており、
前記選択基準は、
前記入力データが含む前記特徴量を前記ノードが示す条件と照らして、前記ノードに接続された前記リンクのうちいずれかを選択するリンク選択作業と、
選択された前記リンクの接続先が前記ノードである場合に、当該ノードを選択する作業を行うノード移行作業と、
選択された前記ノードの接続先が前記対象ワークフローパラメータである場合に、当該対象ワークフローパラメータを選択する終了作業とを、
前記開始ノードに対する前記リンク選択作業から開始して前記終了作業を行うまで前記ノード移行作業と前記リンク選択作業とを繰り返し行い、前記終了作業で選択された前記対象ワークフローパラメータを、前記選択基準に合致するワークフローパラメータであるものとする、
請求項１から７、及び１０から１２のいずれかに記載のプログラム。
【請求項１４】
前記ワークフロー登録処理は、
前記選択手順において優先される特徴量の種類を指定する操作入力を、前記入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第５取得処理と、
前記選択基準データ更新処理とを含み、
前記選択基準データ更新処理は、前記第５取得処理で取得された特徴量の種類を前記リンクを選ぶ条件とする前記ノードが、前記階層構造において上位の階層へ移動するように前記選択基準データを更新する、
請求項１３に記載のプログラム。
【請求項１５】
前記ワークフロー実行処理は、
前記選択手順において優先される特徴量の種類を指定する操作入力を、前記入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第６取得処理と、
前記選択基準データ更新処理とを含み、
前記選択基準データ更新処理は、前記第６取得処理で取得された特徴量の種類を前記リンクを選ぶ条件とする前記ノードが、前記階層構造において上位の階層へ移動するように前記選択基準データを更新する、
請求項１３又は１４に記載のプログラム。
【請求項１６】
前記選択基準データは、前記複数の対象ワークフローパラメータのそれぞれと対応づけられた前記特徴量データである複数の対象特徴量データを含み、
前記選択基準データが示す前記選択基準は、
前記入力データに係る入力特徴量データが示す入力特徴量と、前記対象特徴量データが示す対象特徴量との間で、総合類似度を求め、前記総合類似度が最も高い前記対象特徴量に係る対象特徴量データと対応づけられた前記対象ワークフローパラメータを選択するものであり、
前記総合類似度は、前記入力特徴量と前記対象特徴量との間の個別類似度を、複数の種類の特徴量について合算して得られる数値であり、
前記個別類似度は、前記入力特徴量に含まれる一つの種類の特徴量と、それと同じ種類の前記対象特徴量に含まれる特徴量とが類似する度合いを示す数値であり、
前記選択基準は、前記個別類似度の算出方法と、前記総合類似度の算出方法とを含む
請求項１から１２のいずれかに記載のプログラム。
【請求項１７】
前記ワークフロー登録処理に含まれる前記選択基準データ更新処理は、
前記第１スキャンデータを対象として前記第１取得処理が取得した特徴量データである前記第１特徴量データを、前記第１ワークフローパラメータと対応づけられた状態で前記複数の対象特徴量データのうちに追加する、
請求項１６に記載のプログラム。
【請求項１８】
前記選択基準データは、複数の種類の特徴量の間の重み係数を示す重み係数データを含み、
前記選択基準データが示す前記選択基準において、
前記総合類似度は、前記入力特徴量と前記対象特徴量との間の個別類似度に前記重み係数を掛け合わせた値を、複数の種類の特徴量について合算して得られる数値である
請求項１７に記載のプログラム。
【請求項１９】
前記選択基準データは、前記複数の対象ワークフローパラメータのそれぞれと対応づけられた前記特徴量データである複数の対象特徴量データを含み、
前記ワークフロー登録処理は、前記選択基準データ更新処理を含み、
前記選択基準データ更新処理は、
同一の内容の前記対象ワークフローパラメータと対応づけられた前記対象特徴量データの集合を作成し、
前記集合における前記対象特徴量データの間の特徴量のばらつき度を特徴量の種類毎に算出し、
前記ばらつき度が小さいほど前記重み係数が大きくなるように、前記重み係数データを更新する、
請求項１８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンデータに処理を施すプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、スキャナ装置を操作するユーザが選択したワークフロー番号によりワークフローを特定し、特定されたワークフローにて指定されるスキャン処理や文字認識処理、採番処理などを、スキャナが生成したスキャンデータに対して施すシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７９８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のシステムでは、用紙等をスキャナ装置に読み取らせる都度、ユーザがワークフロー番号を入力する必要がある。そうすると、番号入力の手間がかかるという問題がある上に、ユーザの入力間違いにより、誤ったワークフローが実行されてしまう可能性がある。
【０００５】
本発明は、前記の事情に鑑みてなされたものであり、その目的は、ワークフロー設定の手間と、ワークフロー実行の誤りのおそれとを低減できる手段を提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の一例であるプログラムは、コンピュータによって読み取り可能である。コンピュータは、スキャナと、メモリと、入力インタフェースと接続している。プログラムは、コンピュータに、スキャナにスキャンデータを生成させる生成処理と、生成処理によって生成されるスキャンデータの複数種類の特徴をそれぞれ示す複数種類の特徴量データを取得する第１取得処理と、ワークフロー登録処理と、スキャナが生成するスキャンデータを対象にした、ワークフローパラメータに従った処理であるワークフロー実行処理と、メモリに記憶されている選択基準データを更新する選択基準データ更新処理とを実行させる。選択基準データは、選択手順において選択基準として用いられるデータである。選択手順は、スキャンデータの特徴量データを入力データとされた場合に、複数の対象ワークフローパラメータのうちから、選択基準データを用いていずれかのワークフローパラメータを選択する手順である。ワークフロー登録処理は、生成処理によって第１スキャンデータが生成されるときに、入力インタフェースを通じて、第１スキャンデータを対象としたワークフローパラメータである第１ワークフローパラメータを取得する第２取得処理と、選択基準データ更新処理とを含む。選択基準データ更新処理は、第２取得処理によって第１ワークフローパラメータが取得された場合に、取得された第１ワークフローパラメータが複数の対象ワークフローパラメータのうちに追加され、第１スキャンデータを対象として第１取得処理が取得した特徴量データである第１特徴量データが選択基準に反映されるよう、選択基準データを更新する。ワークフロー実行処理は、生成処理によって第２スキャンデータが生成されるときに、第２スキャンデータを対象として第１取得処理が取得した特徴量データである第２特徴量データを選択手順の入力データとすることで、第２ワークフローパラメータを取得する第３取得処理を含む。ワークフロー実行処理は、第２スキャンデータを対象にして、第３取得処理で取得された第２ワークフローパラメータに従って処理をする。
【０００７】
プログラムは、第２特徴量データを選択手順の入力データとすることで、第２ワークフローパラメータを取得し、該第２スキャンデータを対象にして、第３取得処理で取得された第２ワークフローパラメータに従って処理をする。したがって、ワークフロー設定の手間と、ワークフロー実行の誤りのおそれとを低減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係るシステム１００のブロック図である。
【図２】図２は、メイン処理のフローチャートである。
【図３】図３は、ワークフロー登録処理のフローチャートである。
【図４】図４は、ワークフロー実行処理のフローチャートである。
【図５】図５は、ワークフロー実行登録処理のフローチャートである。
【図６】図６は、ワークフローパラメータ選択処理のフローチャートである。
【図７】図７は、第２実施形態のワークフロー登録処理のフローチャートである。
【図８】図８は、第２実施形態のワークフロー実行処理のフローチャートである。
【図９】図９は、第２実施形態のワークフロー実行登録処理のフローチャートである。
【図１０】図１０は、第２実施形態の重み係数生成更新処理のフローチャートである。
【図１１】図１１は、第２実施形態のワークフローパラメータ選択処理のフローチャートである。
【図１２】図１２は、変形例の重み係数生成更新処理のフローチャートである。
【図１３】図１３（Ａ）は、モード選択画面を示す図であり、図１３（Ｂ）は、優先特徴量入力画面を示す図であり、図１３（Ｃ）は、設定決定画面を示す図である。
【図１４】図１４（Ａ）は、設定選択画面を示す図であり、図１４（Ｂ）は、ワークフロー登録受付画面を示す図である。
【図１５】図１５は、決定木構造１００の説明図である。
【図１６】図１６（Ａ）は、スキャナ１２が読み取る原稿の例を示す図であり、図１６（Ｂ）は特徴量の例を示す表である。
【発明を実施するための形態】
【０００９】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。 
【００１０】
［第１実施形態］
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ（Multi-Function Peripheralの略）１０と、ＰＣ５０とで構成されている。また、システム１００は、ＭＦＰ１０に代えて、スキャン単能機を含んでもよい。ＭＦＰ１０及びＰＣ５０は、通信ネットワーク１０１を通じて相互に通信可能に構成されている。通信ネットワーク１０１の具体例は特に限定されないが、例えば、インターネット、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。または、ＭＦＰ１０及びＰＣ５０は、ＵＳＢケーブル等によって接続されていてもよい。
【００１１】
ＭＦＰ１０は、図１に示されるように、プリンタ１１と、スキャナ１２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、ネットワークＩ／Ｆ２５と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。
【００１２】
プリンタ１１は、画像データで示される画像をシートに記録するプリント動作を実行する。プリンタ１１の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ１２は、原稿に記録された画像を読み取って画像データ（以下、「スキャンデータ」と表記する。）を生成するスキャン動作を実行する。但し、プリンタ１１は、省略可能である。
【００１３】
ディスプレイ２３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。
【００１４】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
【００１５】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたオブジェクトの位置のタップするユーザ操作は、当該オブジェクトを指定する操作入力の一例である。
【００１６】
ネットワークＩ／Ｆ２５は、通信ネットワーク１０１を通じて外部装置と通信可能なインタフェースである。すなわち、ＭＦＰ１０は、ネットワークＩ／Ｆ２５を通じて外部装置に各種情報を送信し、ネットワークＩ／Ｆ２５を通じて外部装置から各種情報を受信する。ネットワークＩ／Ｆ２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（登録商標）を採用することができる。また、ＭＦＰ１０及びＰＣ５０がＵＳＢケーブルで接続される場合、ネットワークＩ／Ｆ２５は、ＵＳＢケーブルを着脱可能なＵＳＢインタフェースであってもよい。
【００１７】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、入力Ｉ／Ｆ２４から出力される各種情報、ネットワークＩ／Ｆ２５を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ３２から取得して実行する。ＣＰＵ３１は、コンピュータの一例である。
【００１８】
メモリ３２は、ＯＳ３４と、装置プログラム３５と、選択基準データとを記憶している。装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２は、装置プログラム３５の実行に必要なデータ或いは情報等を記憶する。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００１９】
選択基準データは、選択手順において選択基準として用いられるデータである。選択手順は、スキャンデータの特徴量データを入力データとされた場合に、複数の対象ワークフローパラメータのうちから、選択基準データを用いていずれかのワークフローパラメータを選択する手順である。選択基準データは、複数の対象ワークフローパラメータを含むデータである。
【００２０】
特徴量データは、スキャンデータの特徴である特徴量を示すデータである。特徴量は、スキャンデータの特徴を示す情報であり、スキャンデータを解析して得られる情報である。特徴量は例えば、用紙のサイズ、地色のＲＧＢ値、輝度値のヒストグラム、エッジベクトルのヒストグラム、スキャンデータに含まれる文字、当該文字の数、ＳＩＦＴ特徴量、ＳＵＲＦ特徴量、ＨＯＧ特徴量等である。特徴量は数値であってもよいし、複数の数値の組、ベクトル、複数のベクトルの組、文字列等であってもよい。本実施形態では、スキャンデータから複数の種類の特徴量が取得される。
【００２１】
図１６によりスキャンデータから取得される特徴量の例を説明する。例えば、図１６（Ａ）に示される原稿がスキャナ１２に読み取られたものとする。生成されるスキャンデータは、文字“請求書”、“○×株式会社  御中”等が青色の地色上に合成された画像を示す。このスキャンデータを解析して、例えば図１６（Ｂ）に示される特徴量、すなわち
種類“用紙サイズ”の特徴量“高さ：２９７ｍｍ、幅：２１０ｍｍ、Ａ４”、種類“地色”の特徴量“Ｒ：７６、Ｇ：１７２、Ｂ：２５５、青”、種類“文字数 ”の特徴量“９８”、種類“輝度値ヒストグラム”の特徴量としての輝度値ごとの画素数が得られる。輝度値ごとの画素数とは、画像における、ある輝度を有する画素の数である。図１６（Ｂ）の例では、輝度値ごとの画素数は、輝度値０から輝度値２５５までの各々の画素数の集合であり、複数の数値の組である。図１６（Ｂ）では、輝度値を横軸とし画素数を縦軸とした棒グラフにより、輝度値ごとの画素数が表されている。
【００２２】
ワークフローパラメータは、スキャンデータに対して施す処理の内容を定める情報である。ワークフローパラメータは例えば、解像度、カラー／モノクロ、片面／両面、サイズ等のスキャンの基本設定、ドロップアウトカラー、罫線除去等のスキャンの詳細設定、ＯＣＲ処理、バーコード読取り等の画像処理の設定、保存するファイル形式や保存場所の設定を含む。対象ワークフローパラメータは、選択手順において選択される候補として登録されたワークフローパラメータである。
【００２３】
本実施形態では、選択基準データが示す選択基準は決定木構造である。決定木構造の例である決定木構造１１０が図１５に示される。決定木構造１１０は、ノード１１１乃至１１３と、リンク１２１乃至１２６とを有する。ノード１１１は開始ノードである。リンクは、ノードとノード、又はノードと対象ワークフローパラメータとを接続する。ノードは、１つの種類の特徴量に基づいて、接続されたリンクのうちいずれを選ぶかを決定する条件を示している。そして決定木構造１１０では、複数のノードが、開始ノードを頂点とする階層構造を形成している。
【００２４】
ノード１１１の示す条件は「用紙サイズがＡ４なら左、Ｂ５なら右」である。左のリンク１２１は、ノード１１２に接続されている。右のリンク１２２は、対象ワークフローパラメータ１３１に接続されている。
【００２５】
ノード１１２の示す条件は「地色が白なら左、青なら右」である。左のリンク１２３は、対象ワークフローパラメータ１３２に接続されている。右のリンク１２４は、ノード１１３に接続されている。
【００２６】
ノード１１３の示す条件は「文字数が２００未満なら左、２００以上なら右」である。左のリンク１２５は、対象ワークフローパラメータ１３３に接続されている。右のリンク１２６は、対象ワークフローパラメータ１３４、１３５に接続されている。
【００２７】
決定木構造で示される選択基準では、開始ノードに対するリンク選択作業から開始して終了作業を行うまでノード移行作業とリンク選択作業とを繰り返し行う。リンク選択作業では、入力データが含む特徴量をノードが示す条件と照らして、ノードに接続されたリンクのうちいずれかを選択する。ノード移行作業では、選択されたリンクの接続先がノードである場合に、当該ノードについてノード選択作業を行う。終了作業では、選択されたノードの接続先が対象ワークフローパラメータである場合に、当該対象ワークフローパラメータを選択する。そして終了作業で選択された対象ワークフローパラメータを、選択基準に合致するワークフローパラメータであるものとする。
【００２８】
なお終了作業において、選択されたノードの接続先が複数の対象ワークフローパラメータである場合には、当該複数の対象ワークフローパラメータを選択する。すなわち、選択基準に合致するとして選択手順で選択されるワークフローパラメータは、複数であってもよい。
【００２９】
すなわち装置プログラム３５は、スキャンデータの特徴量データを選択手順の入力データとして、選択基準データが示す決定木構造の選択基準を用いて、複数の対象ワークフローパラメータのうちからワークフローパラメータを選択し、取得することができる。
【００３０】
選択基準データは、優先度を示す優先度データを含んでいてもよい。優先度は、特定の対象ワークフローパラメータが選択手順において優先して選択されることを示す度合いである。例えば優先度は、それぞれの対象ワークフローパラメータについて優先されるか否かを示すものであってもよい。優先度は、複数の対象ワークフローパラメータの間の優先順位を示すものであってもよい。
【００３１】
選択手順において複数の対象ワークフローパラメータが選択される場合に、優先度データの示す優先度に従って、１つまたは複数の対象ワークフローパラメータが選択される。例えば図１５に示される決定木構造１１０では、リンク１２６は２つの対象ワークフローパラメータ１３４、１３５に接続されている。優先度データに、対象ワークフローパラメータ１３４を優先する旨が示されている場合、対象ワークフローパラメータ１３４が選択手順において最終的に選択される。なお、対象ワークフローパラメータ１３４、１３５の優先度が同等の場合、あるいは優先度が設定されていない場合、対象ワークフローパラメータ１３３、１３４の両方が選択手順において最終的に選択されてもよい。
【００３２】
選択基準データは、ワークフローパラメータ群ごとに作成され、メモリ３２に記憶される。ワークフローパラメータ群は、複数の対象ワークフローパラメータをグループ化した群である。ワークフローパラメータ群は、例えば、システム１００を「経理グループ」や「総務グループ」等の複数の業務グループで使用する場合に、一つの業務グループが使用する対象ワークフローパラメータの群として、ユーザにより設定される。あるワークフローパラメータ群についての選択基準データにおいて、該ワークフローパラメータ群に属する対象ワークフローパラメータが、選択手順における選択の対象となる。なおワークフローパラメータ群がユーザにより設定されない場合は、全ての対象ワークフローパラメータを対象とする選択基準データが作成される。
【００３３】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述するＰＣ５０のメモリ６２についても同様である。
【００３４】
ＰＣ５０は、図１に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、ネットワークＩ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。ＰＣ５０に含まれるディスプレイ５３、入力Ｉ／Ｆ５４、ネットワークＩ／Ｆ５５、ＣＰＵ６１、メモリ６２、及び通信バス６３は、ＭＦＰ１０に含まれるディスプレイ２３、入力Ｉ／Ｆ２４、ネットワークＩ／Ｆ２５、ＣＰＵ３１、メモリ３２、及び通信バス３３と同様の構成であるので、説明は省略する。ＣＰＵ６１は、コンピュータの一例である。ＰＣ５０は、携帯電話、スマートフォン、タブレット端末等であってもよい。
【００３５】
図２〜図６を参照して、本実施形態に係るシステム１００の動作を説明する。
【００３６】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１、６１の処理を表している。ＣＰＵ３１、６１による処理は、ＯＳ３４、６４を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵが要求することなくデータを受信するという処理も、「ＣＰＵがデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【００３７】
また、プログラムに記述された命令に従ったＣＰＵの処理を、省略した文言で記載することがある。例えば、「ＣＰＵ３１が行う」「装置プログラム３５が行う」のように記載することがある。ＣＰＵ６１及びＰＣプログラム６５についても同様である。
【００３８】
また、ＣＰＵによる、情報Ａは事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。ＣＰＵによる、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであるかを示しているかを判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００３９】
図２を参照してメイン処理について説明する。まず、ＭＦＰ１０の装置プログラム３５は、ユーザによって起動されると、モード選択画面（図１３（Ａ））をディスプレイ２３に表示させる（Ｓ１０１）。モード選択画面は、「実行する処理を選択してください」の文字と、「ワークフロー登録」アイコン７０と、「自動スキャン」アイコン７１と、「マニュアルスキャン」アイコン７２とを有する。装置プログラム３５は、ユーザによるアイコンの選択を監視する。
【００４０】
装置プログラム３５は、ユーザがアイコンを選択したと判断すると、ユーザが選択したアイコンを判断する。装置プログラム３５は、ユーザが「ワークフロー登録」アイコン７０を選択したと判断すると（Ｓ１０２：ワークフロー登録）、ワークフロー登録処理を実行する（Ｓ１０３）。 Ｓ１０２の処理は、第１受付処理の一例である。
【００４１】
図３を参照してワークフロー登録処理について説明する。まず、装置プログラム３５は、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、ワークフローパラメータ（第１ワークフローパラメータの一例）を取得する（Ｓ２０１）。Ｓ２０１の処理は、第２取得処理の一例である。
【００４２】
例えば装置プログラム３５は、モード選択画面に代えてワークフロー設定入力画面（不図示）をディスプレイ２３に表示させて、プルダウンメニュー等によるワークフローパラメータの入力を受け付ける。装置プログラム３５は、ワークフローパラメータの入力を受け付けたと判断すると、入力されたワークフローパラメータをメモリ３２に一時記憶させる。
【００４３】
なお装置プログラム３５は、プリセットのワークフローパラメータをメモリ３２から読み出して、該プリセットのワークフローパラメータ及び「決定」アイコンをディスプレイ２３に表示させてもよい。装置プログラム３５は、ユーザが「決定」アイコンを選択したと判断すると、該プリセットのワークフローパラメータをメモリ３２に一時記憶させる。
【００４４】
次に、装置プログラム３５は、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、スキャナ１２にスキャン動作を実行させる（Ｓ２０２）。スキャナ１２は、不図示のコンタクトガラス或いはＡＤＦにセットされた原稿に記録された画像を読み取って、当該画像を示すスキャンデータを生成する。装置プログラム３５は、スキャナ１２が生成したスキャンデータをメモリ３２に一時記憶させる。Ｓ２０２の処理は、生成処理の一例である。Ｓ２０２の処理で生成されるスキャンデータは、第１スキャンデータの一例である。
【００４５】
なおＳ２０２のスキャン動作は、Ｓ２０１で取得されたワークフローパラメータにかかわらず、所定の設定に従って行われる。例えばＳ２０２のスキャン動作は、スキャナ１２において最も高精細な解像度や色の設定、及び最も大きな用紙サイズの設定にて実行される。
【００４６】
次に、装置プログラム３５は、Ｓ２０２で生成されたスキャンデータを解析して特徴量データを取得する（Ｓ２０３）。装置プログラム３５は、取得した特徴量データ（第１特徴量データの例）をメモリ３２に一時記憶させる。Ｓ２０３の処理は、第１取得処理の一例である。
【００４７】
次に、装置プログラム３５は、Ｓ２０１で取得されたワークフローパラメータと、Ｓ２０３で取得された特徴量データとが、互いに関連づけられた状態で選択基準データに含められるよう、メモリ３２に記憶されている選択基準データを更新する（Ｓ２０４）。ワークフローパラメータは、対象ワークフローパラメータのうちに追加される。特徴量データは、対象特徴量データのうちに追加される。対象特徴量データは、対象ワークフローパラメータと関連づけられた特徴量データである。Ｓ２０４の処理は、選択基準データ更新処理の一例である。
【００４８】
以上のＳ２０１からＳ２０４までの処理によって、選択基準データが更新され、１組のワークフローパラメータと特徴量とがシステム１００に登録される。
【００４９】
次に、装置プログラム３５は、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、ワークフローパラメータ群設定を取得する（Ｓ２０５）。例えば装置プログラム３５は、ワークフロー設定入力画面に代えてワークフローパラメータ群作成画面（不図示）をディスプレイ２３に表示させて、テキストボックスによるワークフローパラメータ群の名称、及び該ワークフローパラメータ群に登録する対象ワークフローパラメータの入力を受け付ける。装置プログラム３５は、ワークフローパラメータ群設定の入力を受け付けたと判断すると、入力されたワークフローパラメータ群設定を示すデータをメモリ３２に記憶させる。
【００５０】
次に、装置プログラム３５は、ユーザにより登録終了を示す指示が入力Ｉ／Ｆ２４を通じて入力されたか否かを判断する（Ｓ２０６）。登録終了を示す指示が入力されていないと判断すると（Ｓ２０６：Ｎｏ）、Ｓ２０１からＳ２０５までの処理が繰り返される。ステップＳ２０６の判断は、例えば、ユーザによる「登録終了」アイコンの選択の有無によって行われる。
【００５１】
装置プログラム３５は、登録終了を示す指示が入力されたと判断すると（Ｓ２０６：Ｙｅｓ）、決定木の生成・更新の処理を行う（Ｓ２０７）。Ｓ２０７の処理は、選択基準データ更新処理の一例である。
【００５２】
決定木の生成・更新の処理は、特徴量データを入力データとした場合に、上述したリンク選択作業、ノード移行作業、及び終了作業によって複数の対象ワークフローパラメータのうちからいずれかのワークフローパラメータを選択できるように、選択基準データを更新する処理である。具体的には、ノードが示すリンクの選択条件、リンクの接続元と接続先を決定し、複数のノードの階層構造を構築して、構築された決定木構造が選択基準データにより示されるよう、選択基準データを更新する処理である。決定僕構造の構築は、選択基準データが対象とする対象ワークフローパラメータと、それらに関連づけられた対象特徴量データを用いて、公知のアルゴリズムにより行うことができる。
【００５３】
Ｓ２０７の決定木の生成・更新の処理は、Ｓ２０１〜Ｓ２０４において新たにシステム１００に登録された対象ワークフローパラメータが、選択手順において選択の対象となるよう、選択基準データを更新する処理である。またＳ２０７の決定木の生成・更新の処理は、Ｓ２０６において作成されたワークフローパラメータ群について、決定木構造を生成し、選択基準データを作成する処理である。またＳ２０７の決定木の生成・更新の処理は、Ｓ２０６において変更されたワークフローパラメータ群について、決定木構造を変更し、選択基準データを更新する処理である。
【００５４】
次に、装置プログラム３５は、優先特徴量入力画面（図１３（Ｂ））をディスプレイ２３に表示させる（Ｓ２０８）。優先特徴量入力画面は、「優先する特徴量を入力してください」の文字と、特徴量プルダウンメニュー７３と、「決定」アイコン７４と、「入力しない」アイコン７５とを有する。
【００５５】
装置プログラム３５は、優先特徴量入力画面において、特徴量プルダウンメニューにおける入力と、「決定」アイコン７４の選択とを受け付ける。図示例（図１３（Ｂ））では、特徴量プルダウンメニューにおいて「地色」が選択されている。
【００５６】
装置プログラム３５は、優先特徴量入力画面において、ユーザによるアイコンの選択を監視する。装置プログラム３５は、ユーザによって「入力しない」アイコン７５が選択されたと判断すると（Ｓ２０８：Ｎｏ）、ワークフロー登録処理を終了しメイン処理へ戻る。
【００５７】
装置プログラム３５は、ユーザによって「決定」アイコン７４が選択されたと判断すると（Ｓ２０８：Ｙｅｓ）、特徴量プルダウンメニューにおいて選択されている特徴量の種類を取得し、メモリ３２に一時保存する（Ｓ２０９）。Ｓ２０８及びＳ２０９の処理は、第５取得処理の一例である。優先特徴量入力画面において入力される「地色」は、第５取得処理で取得される特徴量の種類の一例である。
【００５８】
次に、装置プログラム３５は、Ｓ２０９において取得された特徴量の種類が、選択基準に基づく選択手順において優先されるよう選択基準データを更新する（Ｓ２１０）。詳しくは装置プログラム３５は、Ｓ２０９において取得された特徴量の種類をリンクを選ぶ条件とするノードが、階層構造において上位の階層に移動するように選択基準データを更新する。図１４に示される決定木構造１１０の例では、Ｓ２０９において取得された特徴量の種類「地色」は、ノード１１２においてリンクを選ぶ条件とされている。装置プログラム３５は、ノード１１２を上位の階層であるノード１１１の位置に移動するように、すなわちノード１１２が開始ノードとなるように、決定木の更新の処理を行う。そして装置プログラム３５は、ワークフロー登録処理を終了しメイン処理へ戻る。Ｓ２１０の処理は、選択基準データ更新処理の一例である。
【００５９】
装置プログラム３５は、メイン処理（図２）のＳ１０２において、ユーザが「自動スキャン」アイコン７１を選択したと判断すると（Ｓ１０４：ワークフロー実行）、ワークフロー実行処理を実行する（Ｓ１０４）。 
【００６０】
図４を参照してワークフロー実行処理について説明する。まず、装置プログラム３５は、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、使用ワークフローパラメータ群設定を取得する（Ｓ３０１）。使用ワークフローパラメータ群設定は、ワークフロー実行処理において使用されるワークフローパラメータ群を指定する設定である。例えば装置プログラム３５は、モード選択画面（図１３（Ａ））に代えて使用ワークフローパラメータ群設定画面（不図示）をディスプレイ２３に表示させて、プルダウンメニューによる、使用ワークフローパラメータ群設定の入力を受け付ける。装置プログラム３５は、使用ワークフローパラメータ群設定の入力を受け付けたと判断すると、入力された使用ワークフローパラメータ群設定を示すデータをメモリ３２に記憶させる。
【００６１】
次に、装置プログラム３５は、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、スキャナ１２にスキャン動作を実行させる（Ｓ３０２）。スキャナ１２は、不図示のコンタクトガラス或いはＡＤＦにセットされた原稿に記録された画像を読み取って、当該画像を示すスキャンデータを生成する。装置プログラム３５は、スキャナ１２が生成したスキャンデータをメモリ３２に一時記憶させる。Ｓ３０２の処理は、生成処理の一例である。Ｓ３０２の処理で生成されるスキャンデータは、第２スキャンデータの一例である。
【００６２】
なおＳ３０２のスキャン動作は、所定の設定に従って行われる。例えばＳ３０２のスキャン動作は、スキャナ１２において最も高精細な解像度や色の設定、及び最も大きな用紙サイズの設定にて実行される。
【００６３】
次に、装置プログラム３５は、Ｓ３０２で一時記憶させたスキャンデータを解析して特徴量データを取得する（Ｓ３０３）。装置プログラム３５は、取得した特徴量データをメモリ３２に一時記憶させる。Ｓ３０３の処理は、第１取得処理の一例である。Ｓ３０３の処理で取得される特徴量データは、第２特徴量データの一例である。
【００６４】
次に、装置プログラム３５は、優先特徴量入力画面（図１３（Ｂ））をディスプレイ２３に表示させる（Ｓ３０４）。優先特徴量入力画面は、特徴量プルダウンメニュー７３と、「決定」アイコン７４と、「入力しない」アイコン７５とを有する。
【００６５】
装置プログラム３５は、優先特徴量入力画面において、特徴量プルダウンメニューにおける入力と、「決定」アイコン７４の選択とを受け付ける。図示例（図１３（Ｂ））では、特徴量プルダウンメニューにおいて「地色」が選択されている。
【００６６】
装置プログラム３５は、優先特徴量入力画面において、ユーザによるアイコンの選択を監視する。装置プログラム３５は、ユーザによって「入力しない」アイコン７５が選択されたと判断すると（Ｓ３０４：Ｎｏ）、Ｓ３０７のワークフローパラメータ選択処理を実行する。
【００６７】
装置プログラム３５は、ユーザによって「決定」アイコン７４が選択されたと判断すると（Ｓ３０４：Ｙｅｓ）、特徴量プルダウンメニューにおいて選択されている特徴量の種類を取得し、メモリ３２に一時保存する（Ｓ３０５）。Ｓ３０４及びＳ３０５の処理は、第６取得処理の一例である。優先特徴量入力画面において入力される「地色」は、第６取得処理で取得される特徴量の種類の一例である。
【００６８】
次に、装置プログラム３５は、Ｓ３０５において取得された特徴量の種類が、選択基準に基づく選択手順において優先されるよう選択基準データを更新する（Ｓ３０６）。Ｓ３０６の処理は、ワークフロー登録処理（図３）のＳ２１０の処理と同内容のため、詳細な説明を省略する。Ｓ３０６の処理は、選択基準データ更新処理の一例である。
【００６９】
そして装置プログラム３５は、Ｓ３０７のワークフローパラメータ選択処理を実行する。Ｓ３０７のワークフローパラメータ選択処理は、第３取得処理の一例である。
【００７０】
図６を参照してワークフローパラメータ選択処理について説明する。まず、装置プログラム３５は、Ｓ３０１の処理で入力された使用ワークフローパラメータ群設定に基づいて、ワークフローパラメータで用いられる選択基準データを特定する（Ｓ５０１）。
【００７１】
次に、装置プログラム３５は、Ｓ５０１の処理で特定された選択基準データが示す選択基準を用いて、Ｓ３０３の処理で取得された特徴量データを入力データとして、選択手順を実行する。以下、図１５に示される決定木構造１１０に、図１６（Ｂ）に示される特徴量データを入力する例について詳細に説明する。
【００７２】
まず装置プログラム３５は、開始ノード１１１に対するリンク選択作業を行う。ノード１１１の示す条件は「用紙サイズがＡ４なら左、Ｂ５なら右」である。種類“用紙サイズ”の特徴量は“高さ：２９７ｍｍ、幅：２１０ｍｍ、Ａ４”であるから、装置プログラム３５は左のリンク１２１を選択する。
【００７３】
次に装置プログラム３５は、リンク１２１についてノード移行作業を行う。リンク１２１の接続先はノード１１２であるから、装置プログラム３５はノード１１２についてリンク選択作業を行う。
【００７４】
ノード１１２の選択作業において、ノード１１２の示す条件は「地色が白なら左、青なら右」であり、種類“地色”の特徴量は“Ｒ：７６、Ｇ：１７２、Ｂ：２５５、青”であるから、装置プログラム３５は右のリンク１２４を選択する。
【００７５】
次に装置プログラム３５は、リンク１２４についてノード移行作業を行う。右のリンク１２４の接続先はノード１１３であるから、装置プログラム３５はノード１１３についてリンク選択作業を行う。
【００７６】
ノード１１３の選択作業において、ノード１１３の示す条件は「文字数が２００未満なら左、２００以上なら右」であり、種類“文字数 ”の特徴量は“９８”であるから、装置プログラム３５は左のリンク１２５を選択する。
【００７７】
リンク１２５の接続先は、対象ワークフローパラメータ１３３である。そこで装置プログラム３５は終了作業を行い、リンク１２５の接続先である対象ワークフローパラメータ１３３を、選択基準に合致するワークフローパラメータであるものとして選択する（Ｓ５０３）。そして装置プログラム３５は、ワークフローパラメータ選択処理を終了し、ワークフロー実行処理へ戻る。Ｓ５０３の処理で選択された対象ワークフローパラメータ１３３は、第２ワークフローパラメータの一例である。
【００７８】
次に、装置プログラム３５は、Ｓ３０７の処理で選択されたワークフローパラメータの数を判断する（Ｓ３０８）。
【００７９】
装置プログラム３５は、Ｓ３０７の処理で選択されたワークフローパラメータの数が１つであると判断すると（Ｓ３０８：１つ）、設定決定画面（図１３（Ｃ））をディスプレイ２３に表示させる（Ｓ３０９）。設定決定画面は、「この設定で処理を実行しますか？」の文字と、Ｓ３０７の処理で選択された対象ワークフローパラメータの内容を示すテキストボックス７６と、「はい」アイコン７７と、「他の設定」アイコン７８とを有する。
装置プログラム３５は、ユーザによるアイコンの選択を監視する。Ｓ３０９の処理は、第２受付処理の一例である。
【００８０】
装置プログラム３５は、ユーザがアイコンを選択したと判断すると、ユーザが選択したアイコンを判断する（Ｓ３０９）。ユーザが「はい」アイコンを選択したと判断すると（Ｓ３０９：Ｙｅｓ）、装置プログラム３５は、Ｓ３０２の処理で生成されたスキャンデータを対象にして、Ｓ３０７の処理で取得されたワークフローパラメータに従って処理をする（Ｓ３１０）。例えば装置プログラム３５は、ワークフローパラメータが示す解像度にスキャンデータの解像度を変更し、ワークフローパラメータが示すファイル形式にてデータを作成し、ワークフローパラメータが示す保存場所であるＰＣ５０のメモリ６２に該データを記憶させる。Ｓ３１０の処理は、ワークフロー実行処理の一例である。
【００８１】
次に、装置プログラム３５は、Ｓ３０７の処理で取得されＳ３１０の処理に用いられたワークフローパラメータが、選択手順において優先されるように、Ｓ３０７の処理に用いられた選択基準データを更新する（Ｓ３１１）。例えば、装置プログラム３５は、該ワークフローパラメータの優先度が「優先されない」から「優先する」に変更されるように、該選択基準データに含まれる優先度データを更新する。例えば、装置プログラム３５は、該ワークフローパラメータの優先順位が高くなるように、該選択基準データに含まれる優先度データを更新する。そして装置プログラム３５は、ワークフロー実行処理を終了してメイン処理に戻る。Ｓ３１１の処理は、選択基準データ更新処理の一例である。
【００８２】
一方、装置プログラム３５は、Ｓ３０７の処理で選択されたワークフローパラメータの数が２つ以上であると判断すると（Ｓ３０８：複数）、設定選択画面（図１４（Ａ））をディスプレイ２３に表示させる（Ｓ３１２）。設定選択画面は、「設定を選択してください」の文字と、Ｓ３０７の処理で選択された一の対象ワークフローパラメータの内容が示されたアイコン７９と、Ｓ３０７の処理で選択された他の対象ワークフローパラメータの内容が示されたアイコン８０と、「他の設定」アイコン８１とを有する。
【００８３】
設定選択画面は、Ｓ３０７の処理で選択されたワークフローパラメータの数と同数の、Ｓ３０７の処理で選択された対象ワークフローパラメータの内容が示されたアイコンを有する。図１４（Ａ）に例示される設定選択画面は、Ｓ５０３の処理で選択された対象ワークフローパラメータが２つの場合の画面である。Ｓ５０３の処理で選択された対象ワークフローパラメータが３つ以上の場合には、設定選択画面が、Ｓ５０３の処理で選択された対象ワークフローパラメータの内容が示された３つ以上のアイコンを有してもよい。
【００８４】
装置プログラム３５は、ユーザによるアイコンの選択を監視する（Ｓ３１２）。Ｓ３１２の処理は、第２受付処理の一例である。
【００８５】
装置プログラム３５は、ユーザがアイコンを選択したと判断すると、ユーザが選択したアイコンを判断する（Ｓ３１２）。ユーザが、対象ワークフローパラメータの内容が示されたアイコンを選択したと判断すると（Ｓ３１２：選択あり）、装置プログラム３５は、Ｓ３０２の処理で生成されたスキャンデータを対象にして、Ｓ３０７の処理で取得されたワークフローパラメータのうち選択されたアイコンに対応するワークフローパラメータに従って処理をする（Ｓ３１３）。例えば装置プログラム３５は、ワークフローパラメータが示す解像度にスキャンデータの解像度を変更し、ワークフローパラメータが示すファイル形式にてデータを作成し、ワークフローパラメータが示す保存場所であるＰＣ５０のメモリ６２に該データを記憶させる。Ｓ３１３の処理は、ワークフロー実行処理の一例である。
【００８６】
次に、装置プログラム３５は、Ｓ３０７の処理で取得されＳ３１３の処理に用いられたワークフローパラメータが、選択手順において優先されるように、Ｓ３０７の処理に用いられた選択基準データを更新する（Ｓ３１４）。例えば、装置プログラム３５は、該ワークフローパラメータの優先度が「優先されない」から「優先する」に変更されるように、該選択基準データに含まれる優先度データを更新する。例えば、装置プログラム３５は、該ワークフローパラメータの優先順位が高くなるように、該選択基準データに含まれる優先度データを更新する。そして装置プログラム３５は、ワークフロー実行処理を終了してメイン処理に戻る。Ｓ３１４の処理は、選択基準データ更新処理の一例である。
【００８７】
一方、装置プログラム３５は、Ｓ３０９の処理においてユーザが「他の設定」アイコンを選択したと判断した場合（Ｓ３０９：Ｎｏ）、又はＳ３１２の処理においてユーザが「他の設定」アイコンを選択したと判断した場合（Ｓ３１２：選択なし）に、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、ワークフローパラメータを取得する（Ｓ３１５）。Ｓ３１５の処理は、第４取得処理の一例である。Ｓ３１５の処理で取得されるワークフローパラメータは、第３ワークフローパラメータの一例である。
【００８８】
例えば装置プログラム３５は、ワークフロー設定入力画面（不図示）をディスプレイ２３に表示させて、プルダウンメニュー等によるワークフローパラメータの入力を受け付ける。装置プログラム３５は、ワークフローパラメータの入力を受け付けたと判断すると、入力されたワークフローパラメータをメモリ３２に一時記憶させる。
【００８９】
次に、装置プログラム３５は、Ｓ３０２の処理で生成されたスキャンデータを対象にして、Ｓ３１５の処理で取得されたワークフローパラメータに従って処理をする（Ｓ３１６）。例えば装置プログラム３５は、ワークフローパラメータが示す解像度にスキャンデータの解像度を変更し、ワークフローパラメータが示すファイル形式にてデータを作成し、ワークフローパラメータが示す保存場所であるＰＣ５０のメモリ６２に該データを記憶させる。
【００９０】
次に、装置プログラム３５は、ワークフロー登録受付画面（図１４（Ｂ））をディスプレイ２３に表示させる（Ｓ３１７）。設定決定画面は、「このワークフローを登録しますか？」の文字と、「はい」アイコン８２と、「いいえ」アイコン８３とを有する。装置プログラム３５は、ユーザによるアイコンの選択を監視する。
【００９１】
装置プログラム３５は、ユーザがアイコンを選択したと判断すると、ユーザが選択したアイコンを判断する（Ｓ３１７）。ユーザが「いいえ」アイコン８３を選択したと判断すると（Ｓ３１７：Ｎｏ）、装置プログラム３５は、ワークフロー実行処理を終了してメイン処理に戻る。
【００９２】
ユーザが「はい」アイコン８２を選択したと判断すると（Ｓ３１７：Ｙｅｓ）、装置プログラム３５は、Ｓ３１５で取得されたワークフローパラメータと、Ｓ３０３で生成された特徴量データとが、互いに関連づけられた状態で選択基準データに含められるよう、メモリ３２に記憶されている選択基準データを更新する（Ｓ３１８）。ワークフローパラメータは、対象ワークフローパラメータのうちに追加される。特徴量データは、対象特徴量データのうちに追加される。Ｓ３１８の処理は、選択基準データ更新処理の一例である。
【００９３】
次に、装置プログラム３５は、Ｓ３１８の処理で対象ワークフローパラメータのうちに追加されたワークフローパラメータが選択手順において選択の対象となるよう、決定木の生成・更新の処理を行い、選択基準データを更新する（Ｓ３１９）。そして装置プログラム３５は、ワークフロー実行処理を終了してメイン処理に戻る。Ｓ３１９の処理は、選択基準データ更新処理の一例である。
【００９４】
装置プログラム３５は、メイン処理（図２）のＳ１０２において、ユーザが「マニュアルスキャン」アイコン７２を選択したと判断すると（Ｓ１０４：ワークフロー実行登録）、ワークフロー実行登録処理を実行する（Ｓ１０５）。 ワークフロー実行登録処理は、ワークフロー登録処理の一例である。
【００９５】
図５を参照してワークフロー実行処理について説明する。まず、装置プログラム３５は、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、ワークフローパラメータ（第１ワークフローパラメータの一例）を取得する（Ｓ４０１）。Ｓ４０１の処理は、ワークフロー登録処理（図３）のＳ２０１の処理と同様であるため、詳細な説明を省略する。Ｓ４０１の処理は、第２取得処理の一例である。
【００９６】
次に、装置プログラム３５は、ワークフロー登録受付画面（図１４（Ｂ））をディスプレイ２３に表示させる（Ｓ４０２）。設定決定画面は、「このワークフローを登録しますか？」の文字と、「はい」アイコン８２と、「いいえ」アイコン８３とを有する。装置プログラム３５は、ユーザによるアイコンの選択を監視する。装置プログラム３５は、ユーザがアイコンを選択したと判断すると、ユーザが選択したアイコンを判断し、判断結果を示すデータをメモリ３２に一時記憶させる（Ｓ４０２）。
【００９７】
次に、装置プログラム３５は、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、スキャナ１２にスキャン動作を実行させる（Ｓ４０３）。Ｓ４０３の処理は、ワークフロー登録処理（図３）のＳ２０２の処理と同様であるため、詳細な説明を省略する。Ｓ４０３の処理は、生成処理の一例である。Ｓ４０３の処理で生成されるスキャンデータは、第１スキャンデータの一例である。
【００９８】
次に、装置プログラム３５は、Ｓ４０３の処理で生成されたスキャンデータを対象にして、Ｓ４０１の処理で取得されたワークフローパラメータに従って処理をする（Ｓ４０４）。Ｓ４０４の処理は、ワークフロー実行処理（図４）のＳ３１０の処理と同様であるため、詳細な説明を省略する。Ｓ４０４の処理は、第２ワークフロー実行処理の一例である。
【００９９】
次に、装置プログラム３５は、Ｓ４０２の処理における判断結果を確認する（Ｓ４０５）。ユーザが「いいえ」アイコン８３を選択したと判断していた場合（Ｓ４０２：Ｎｏ）、装置プログラム３５は、ワークフロー実行登録処理を終了してメイン処理に戻る。
【０１００】
ユーザが「はい」アイコン８２を選択したと判断していた場合（Ｓ４０２：Ｙｅｓ）、装置プログラム３５は、Ｓ４０３で一時記憶させたスキャンデータを解析して特徴量データを取得する（Ｓ４０６）。装置プログラム３５は、取得した特徴量データ（第１特徴量データの例）をメモリ３２に一時記憶させる。Ｓ４０６の処理は、第１取得処理の一例である。
【０１０１】
次に、装置プログラム３５は、Ｓ４０１で取得されたワークフローパラメータと、Ｓ４０６で生成された特徴量データとが、互いに関連づけられた状態で選択基準データに含められるよう、メモリ３２に記憶されている選択基準データを更新する（Ｓ４０７）。ワークフローパラメータは、対象ワークフローパラメータのうちに追加される。特徴量データは、対象特徴量データのうちに追加される。Ｓ４０７の処理は、選択基準データ更新処理の一例である。
【０１０２】
次に、装置プログラム３５は、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、ワークフローパラメータ群設定を取得する（Ｓ４０８）。Ｓ４０８の処理は、ワークフロー登録処理（図３）のＳ２０５の処理と同様であるため、詳細な説明を省略する。
【０１０３】
次に、装置プログラム３５は、Ｓ４０７の処理で対象ワークフローパラメータのうちに追加されたワークフローパラメータが選択手順において選択の対象となるよう、決定木の生成・更新の処理を行い、選択基準データを更新する（Ｓ４０９）。Ｓ４０９の処理は、選択基準データ更新処理の一例である。
【０１０４】
Ｓ４１０からＳ４１２までの処理は、ワークフロー登録処理（図３）のＳ２０８からＳ２１０までの処理と同様であるため、詳細な説明を省略する。
【０１０５】
本実施形態では、Ｓ３０７にてスキャンデータに適合するワークフローパラメータが自動的に選択され、Ｓ３１０又はＳ３１３にて該スキャンデータを対象として該ワークフローパラメータに従って処理が行われる。従って、ユーザはワークフローパラメータを都度入力することなく、システム１００に処理を行わせることができる。その結果、ユーザによる設定の手間と、誤った処理実行のおそれとを低減することができる。
【０１０６】
また本実施形態では、ユーザの指定に応じてワークフロー登録処理と、ワークフロー実行処理と、ワークフロー実行登録処理とが選択的に実行される。従って、ユーザは必要な処理を任意にシステム１００に行わせることができる。その結果、システム１００の利便性を向上することができる。
【０１０７】
また本実施形態では、Ｓ３０９又はＳ３１２にてディスプレイ２３に設定決定画面又は設定選択画面を表示させて、自動的に選択されたワークフローパラメータを用いて処理を行うか否かの指定をユーザインタフェースを通じて受け付ける。従って、ユーザは、自動選択されたワークフローパラメータを用いるか否かを操作することができる。その結果、誤った処理が実行されるおそれを更に低減することができる。
【０１０８】
また本実施形態では、Ｓ３０９又はＳ３１２にて処理を行う指定をユーザから受け付けたワークフローパラメータについて、該ワークフローパラメータが選択手順において優先されるようにＳ３１１又はＳ３１４にて選択基準データが更新される。従って、ユーザが使用を容認したワークフローパラメータが、以後優先して選択されるようになる。その結果、誤った処理が実行されるおそれを更に低減することができる。
【０１０９】
また本実施形態では、自動選択されたワークフローパラメータを用いない指定をＳ３０９又はＳ３１２にて受け付けると、Ｓ３１５にて入力インタフェースを通じてワークフローパラメータが取得され、Ｓ３１６にて該ワークフローパラメータに従って処理が行われる。従ってユーザは、自動選択されたワークフローパラメータが意図と異なる場合、異なるワークフローパラメータにて処理を実行することができる。その結果、誤った処理が実行されるおそれを更に低減することができる。
【０１１０】
また本実施形態では、Ｓ３１５にて入力インタフェースを通じて取得されたワークフローパラメータが、対象ワークフローパラメータに追加され、選択基準データが更新される。従って、自動選択されたワークフローパラメータに代えてユーザが指定したワークフローパラメータが、以後、自動選択の対象となる。その結果、ユーザによる設定の手間を更に低減することができる。
【０１１１】
また本実施形態では、スキャンデータをワークフローパラメータとを取得（Ｓ４０１及びＳ４０３）してシステム１００に登録（Ｓ４０７及びＳ４０９）するときに、該ワークフローパラメータを用いて該スキャンデータに対して処理が実行される（Ｓ４０４）。従って、ユーザはワークフローの登録と実行とを一度に行うことができる。その結果、ユーザによる設定の手間を更に低減することができる。
【０１１２】
また本実施形態では、ワークフローの登録の際、Ｓ２０９にてユーザインタフェースを通じて取得された特徴量の種類が、選択手順において優先されるようＳ２１０にて選択基準データが更新される。詳しくは、該特徴量の種類が、決定木の階層構造において上位の階層へ移動するように選択基準データが更新される。従って、ユーザが指定した特徴量の種類が選択手順において優先されるようになる。その結果、ワークフローパラメータの自動選択の精度が向上し、誤った処理が実行されるおそれを更に低減することができる。
【０１１３】
また本実施形態では、ワークフローの実行の際、Ｓ３０５にてユーザインタフェースを通じて取得された特徴量の種類が、選択手順において優先されるようＳ３０６にて選択基準データが更新される。詳しくは、該特徴量の種類が、決定木の階層構造において上位の階層へ移動するように選択基準データが更新される。従って、ユーザが指定した特徴量の種類が選択手順において優先されるようになる。その結果、ワークフローパラメータの自動選択の精度が向上し、誤った処理が実行されるおそれを更に低減することができる。
【０１１４】
［第２実施形態］
上述の第１実施形態では、選択基準データが示す選択基準が決定木構造である例を説明した。本実施形態では、選択基準データが示す選択基準が総合類似度の大小関係である例を説明する。なお、以下に示される構成や処理以外の第２実施形態の構成や処理は、第１実施形態で説明した構成や処理と同じである。
【０１１５】
本実施形態では、選択基準データが示す選択基準は、入力特徴量と対象特徴量との間で総合類似度を求め、総合類似度が最も高い対象特徴量に対応づけられた対象ワークフローパラメータを選択する、というものである。入力特徴量は、Ｓ３０７のワークフローパラメータ選択処理において入力データとされる特徴量データが示す特徴量であって、Ｓ３０３の処理で取得された特徴量データが示す特徴量である。対象特徴量は、選択基準データに含まれる対象特徴量データが示す特徴量である。
【０１１６】
総合類似度とは、入力特徴量と対象特徴量との間の個別類似度を、複数の種類の特徴量について合算して得られる数値である。「合算」とは複数の個別類似度を用いて計算されることを意味し、加算、減算、乗算、除算等の演算と、これらを組み合わせた演算を含む概念である。選択基準データは、総合類似度の算出方法を示すデータを含む。
【０１１７】
本実施形態では、入力特徴量と対象特徴量との間の総合類似度が高いほど、総合類似度及び個別類似度の数値が大きくなるように、総合類似度の算出方法及び個別類似度の算出方法が決定される。なお、入力特徴量と対象特徴量との間の総合類似度が高いほど、総合類似度及び個別類似度の数値が小さくなるように、総合類似度の算出方法及び個別類似度の算出方法が決定されてもよい。
【０１１８】
本実施形態では、個別類似度の種類に応じた重み係数を個別類似度に乗算して、総合類似度を算出する。重み係数は、総合類似度の算出における複数の種類の特徴量の間の重みを表す係数である。選択基準データは、重み係数を示す重み係数データを含む。なお重み係数を用いずに総合類似度を算出する形態も可能である。
【０１１９】
個別類似度は、入力特徴量に含まれる一つの種類の特徴量と、それと同じ種類の対象特徴量に含まれる特徴量とが類似する度合いを示す数値である。それぞれの種類の特徴量についての個別類似度の算出方法は、選択基準データに示される選択基準に含まれている。すなわち選択基準データは、個別類似度の算出方法を示すデータを含む。
【０１２０】
総合類似度の算出方法について具体的に説明する。以下の例では、入力特徴量及び対象特徴量が、種類１、種類２及び種類３の３つの種類の特徴量を有しているものとする。例えば種類１は“用紙サイズ”であり、種類２は“地色”であり、種類３は“文字数”である。入力特徴量Ｑにおいて、種類１の特徴量はＱ１（例えばＡ４）、種類２の特徴量はＱ２（例えば青）、種類３の特徴量はＱ３（例えば９８文字）であるとする。選択基準データに含まれる対象特徴量が、対象特徴量Ｘ、対象特徴量Ｙ、及び対象特徴量Ｚの３つであるとする。対象特徴量Ｘにおいて、種類１の特徴量をＸ１、種類２の特徴量をＸ２、種類３の特徴量をＸ３と表す。対象特徴量Ｙ及びＺについても同様に表す。
【０１２１】
入力特徴量Ｑと対象特徴量Ｘとの間の総合類似度Ｓ（Ｘ）は、次のようにして計算される。まず、入力特徴量Ｑと対象特徴量Ｘとの間の、種類１、２及び３についての個別類似度Ｄ（Ｘ，１）、Ｄ（Ｘ，２）、及びＤ（Ｘ，３）をそれぞれ求める。
【０１２２】
例えば、種類“用紙サイズ”についての個別類似度は、高さ、幅、面積などを用いて計算するよう定められる。例えば、面積の差の逆数を、種類“用紙サイズ”についての個別類似度とすることができる。
【０１２３】
例えば、種類“地色”についての個別類似度は、Ｌ＊ａ＊ｂ表色系やＣＩＥＤＥ２０００における距離の逆数とすることができる。
【０１２４】
例えば、種類“文字数”についての個別類似度は、文字数の差の逆数とすることができる。
【０１２５】
なお、個別類似度は、それぞれの種類毎に規格化されてもよいし、異なる種類の間で同一のスケールとなるよう規格化されてもよい。
【０１２６】
総合類似度は、算出された個別類似度に、それぞれの種類の重み係数を掛け合わせ、それらを加算して得られる。種類１の特徴量の重みをａ、種類２の特徴量の重みをｂ、種類３の特徴量の重みをｃとする。総合類似度は下記式１乃至３にて計算される。
【０１２７】
Ｓ（Ｘ）＝ａ×Ｄ（Ｘ，１）＋ｂ×Ｄ（Ｘ，２）＋ｃ×Ｄ（Ｘ，３）  （式１）
Ｓ（Ｙ）＝ａ×Ｄ（Ｙ，１）＋ｂ×Ｄ（Ｙ，２）＋ｃ×Ｄ（Ｙ，３）  （式２）
Ｓ（Ｚ）＝ａ×Ｄ（Ｚ，１）＋ｂ×Ｄ（Ｚ，２）＋ｃ×Ｄ（Ｚ，３）  （式３）
【０１２８】
計算された総合類似度の大小が比較され、総合類似度の数値が最も大きい対象特徴量に係る対象特徴量データと対応づけられた対象ワークフローパラメータが、選択手順の結果として選択される。
【０１２９】
総合類似度の数値が最も大きい対象特徴量が複数存在する場合、それらの対象特徴量に対応する複数の対象ワークフローパラメータが、選択手順の結果として選択されてもよい。
【０１３０】
総合類似度の数値が最も大きい対象特徴量が複数存在する場合、それら対象特徴量に対応する対象ワークフローパラメータのうちから、優先度データの示す優先度に従って１つまたは複数の対象ワークフローパラメータが選択されるように選択基準を定めてもよい。
【０１３１】
最も大きい総合類似度の数値が所定の閾値よりも小さい場合に対象ワークフローパラメータを選択せず、選択手順の結果が「選択なし」となるように選択基準を定めてもよい。これにより、不適切なワークフローパラメータが選択されることを抑制できる。
【０１３２】
以上述べた選択基準を示す選択基準データを用いることにより、装置プログラム３５はスキャンデータの特徴量データを選択手順の入力データとして選択手順を実行し、複数の対象ワークフローパラメータのうちからワークフローパラメータを選択し、取得することができる。
【０１３３】
装置プログラム３５は、図３に示されたワークフロー登録処理に代えて、図７に示されたワークフロー登録処理を実行する。なお図７に示されたワークフロー登録処理において、図３に示されたワークフロー登録処理と同一の処理については、同一の符号を付して説明を省略する。 
【０１３４】
装置プログラム３５は、登録終了を示す指示が入力されたと判断すると（Ｓ２０６：Ｙｅｓ）、重み係数生成更新処理を行う（Ｓ６０１）。Ｓ６０１の処理は、選択基準データ更新処理の一例である。
【０１３５】
図１０を参照して重み係数生成更新処理について説明する。まず装置プログラム３５は、更新を行うべき選択基準データを特定する（Ｓ９０１）。「更新を行うべき選択基準データ」とは、Ｓ２０４の処理で対象ワークフローパラメータが追加された選択基準データや、Ｓ２０５の処理でワークフローパラメータ群が作成又は変更されたことにより作成又は更新された選択基準データである。
【０１３６】
次に、装置プログラム３５は、Ｓ９０１の処理で特定された選択基準データに含まれる複数の対象ワークフローパラメータの内容を相互に比較して、同一の内容の対象ワークフローパラメータを特定する。そして装置プログラム３５は、それらの対象ワークフローパラメータに対応づけられた対象特徴量データの集合を作成し、メモリ３２に一時記憶させる（Ｓ９０２）。
【０１３７】
次に、装置プログラム３５は、Ｓ９０２の処理で作成された対象特徴量データの集合における特徴量のばらつき度を、特徴量の種類毎に算出し、メモリ３２に一時記憶させる（Ｓ９０３）。特徴量のばらつき度は、集合におけるある種類の特徴量についてのバラツキの度合いである。特徴量のばらつき度は、例えば、特徴量の最大値と最小値の差、特徴量の分散、特徴量の標準偏差である。特徴量のばらつき度は、例えば、集合において特徴量が同一である対象特徴量データの数が多いほど小さくなるよう、算出されてもよい。選択基準データは、特徴量のばらつき度の算出方法を示すデータを含む。
【０１３８】
上述の例で具体的に説明する。集合に含まれる対象特徴量が、対象特徴量Ｘ、対象特徴量Ｙ、及び対象特徴量Ｚの３つであるとする。対象特徴量Ｘにおいて、種類１の特徴量をＸ１、種類２の特徴量をＸ２、種類３の特徴量をＸ３と表す。対象特徴量Ｙ及びＺについても同様に表す。装置プログラム３５は、種類１の特徴量について、対象特徴量Ｘの特徴量Ｘ１と、対象特徴量Ｙの特徴量Ｙ１と、対象特徴量Ｚの特徴量Ｚ１の間のばらつき度を算出する。装置プログラム３５は、種類２及び種類３の特徴量についても同様に、特徴量のばらつき度を算出する。特徴量のばらつき度の算出は、例えば次のように行われる。
【０１３９】
例えば、種類“用紙サイズ”についてのばらつき度は、特徴量Ｘ１、Ｙ１、Ｚ１のうちの用紙の最大面積と最小面積との差として算出される。種類“用紙サイズ”についてのばらつき度を、特徴量Ｘ１、Ｙ１、Ｚ１が同一の用紙（例えばＡ４）の場合は「１」、特徴量Ｘ１、Ｙ１、Ｚ１に含まれる用紙が２種類の場合は「２」、３種類の場合は「３」として算出してもよい。
【０１４０】
例えば、種類“地色”についてのばらつき度は、特徴量Ｘ１、Ｙ１、Ｚ１の各色の間の距離（Ｌ＊ａ＊ｂ表色系やＣＩＥＤＥ２０００における距離）の最大値と最小値の差として算出される。種類“地色”についてのばらつき度を、特徴量Ｘ１、Ｙ１、Ｚ１が同一の色（例えば青）の場合は「１」、特徴量Ｘ１、Ｙ１、Ｚ１に含まれる色が２種類の場合は「２」、３種類の場合は「３」として算出してもよい。
【０１４１】
例えば、種類“文字数”についてのばらつき度は、特徴量Ｘ１、Ｙ１、Ｚ１のうちの最大値と最小値との差として算出される。
【０１４２】
装置プログラム３５は、Ｓ９０２の処理で作成された全ての集合について特徴量のばらつき度の算出が終了するまで（Ｓ９０４：Ｙｅｓ）、Ｓ９０３の処理を繰り返し実行する（Ｓ９０４：Ｎｏ）。
【０１４３】
次に、装置プログラム３５は、Ｓ９０３の処理で算出されたばらつき度が最も小さい種類の特徴量が選択手順において優先されるように、Ｓ９０１の処理で特定された選択基準データを更新する（Ｓ９０５）。詳しくは装置プログラム３５は、特徴量のばらつき度が小さいほど該特徴量の重み係数が大きくなるように、該選択基準データに含まれる重み係数データを更新する。Ｓ９０５の処理は、選択基準データ更新処理の一例である。
【０１４４】
上述の例で説明すると、装置プログラム３５は、種類１の特徴量のばらつき度と、種類２の特徴量のばらつき度と、種類３の特徴量のばらつき度とを比較して、ばらつき度が最も小さい種類の特徴量の重み係数を増加（例えば１０％増加）させて、重み係数データを更新する。そして装置プログラム３５が、２番目にばらつき度が小さい種類の特徴量の重み係数を増加（例えば５％増加）させて、重み係数データを更新する。なお３番目以降のばらつき度が小さい種類の特徴量についても、同様に増加させてもよい。
【０１４５】
装置プログラム３５は、Ｓ９０２の処理で作成された全ての集合について重み係数の更新が終了するまで（Ｓ９０６：Ｙｅｓ）、Ｓ９０５の処理を繰り返し実行する（Ｓ９０６：Ｎｏ）。
【０１４６】
装置プログラム３５は、更新を行うべき全ての選択基準データについて更新が終了するまで（Ｓ９０７：Ｙｅｓ）、Ｓ９０１からＳ９０６までの処理を繰り返し実行する（Ｓ９０７：Ｎｏ）。
【０１４７】
装置プログラム３５は、図４に示されたワークフロー実行処理に代えて、図８に示されたワークフロー実行処理を実行する。なお図８に示されたワークフロー実行処理において、図４に示されたワークフロー実行処理と同一の処理については、同一の符号を付して説明を省略する。 
【０１４８】
装置プログラム３５は、Ｓ３０９の処理においてユーザが「他の設定」アイコンを選択したと判断した場合（Ｓ３０９：Ｎｏ）、Ｓ３１２の処理においてユーザが「他の設定」アイコンを選択したと判断した場合（Ｓ３１２：選択なし）、又はＳ３０７の処理で選択されたワークフローパラメータの数がゼロであると判断した場合（Ｓ３０８：なし）に、入力Ｉ／Ｆ２４を通じて受け付けたユーザ操作に従って、ワークフローパラメータを取得する（Ｓ３１５）。Ｓ３１５の処理は、第４取得処理の一例である。Ｓ３１５の処理で取得されるワークフローパラメータは、第３ワークフローパラメータの一例である。
【０１４９】
装置プログラム３５は、Ｓ３１８の処理が終了すると、重み係数生成更新処理を行う（Ｓ７０１）。Ｓ７０１の処理は、選択基準データ更新処理の一例である。Ｓ７０１の処理は、上述したＳ６０１の処理と同様であるので、説明を省略する。
【０１５０】
装置プログラム３５は、図５に示されたワークフロー実行登録処理に代えて、図９に示されたワークフロー実行登録処理を実行する。なお図９に示されたワークフロー実行登録処理において、図５に示されたワークフロー実行登録処理と同一の処理については、同一の符号を付して説明を省略する。 
【０１５１】
装置プログラム３５は、Ｓ４０８の処理が終了すると、重み係数生成更新処理を行う（Ｓ８０１）。Ｓ８０１の処理は、選択基準データ更新処理の一例である。Ｓ８０１の処理は、上述したＳ６０１の処理と同様であるので、説明を省略する。
【０１５２】
装置プログラム３５は、図６に示されたワークフローパラメータ選択処理に代えて、図１１に示されたワークフローパラメータ選択処理を実行する。なお図１１に示されたワークフローパラメータ選択処理において、図６に示されたワークフローパラメータ選択処理と同一の処理については、同一の符号を付して説明を省略する。 図１１に示されたワークフローパラメータ選択処理は、第３取得処理の一例である。
【０１５３】
装置プログラム３５は、Ｓ５０１の処理で特定された選択基準データが示す選択基準を用いて、Ｓ３０３の処理で取得された特徴量データを入力データとして、選択手順を実行する（Ｓ１００１、Ｓ１００２、Ｓ１００３）。
【０１５４】
装置プログラム３５は、Ｓ５０１の処理で特定された選択基準データに含まれるデータに示される個別類似度の算出方法に従って、入力データが示す入力特徴量と該選択基準データに含まれる対象特徴量データが示す特徴量との間の個別類似度を、複数の特徴量の種類毎に算出し、メモリ３２に一時記憶させる（Ｓ１００１）。
【０１５５】
次に、装置プログラム３５は、Ｓ５０１の処理で特定された選択基準データに含まれるデータに示される総合類似度の算出方法に従って、該選択基準データに含まれる重み係数データが示す重み係数と、Ｓ１００１の処理で算出された個別類似度とを用いて、入力データ（入力特徴量データの一例）が示す入力特徴量と対象特徴量データが示す特徴量との間の複数の総合類似度を算出し、メモリ３２に一時記憶させる（Ｓ１００２）。
【０１５６】
次に、装置プログラム３５は、Ｓ１００２の処理で算出された総合類似度の大小を比較し、総合類似度の数値が最も大きい対象特徴量に係る対象特徴量データと対応づけられた対象ワークフローパラメータを、選択手順の結果として選択する。対象ワークフローパラメータは、複数選択されてもよいし、選択されなくてもよい。
【０１５７】
そして装置プログラム３５は、ワークフローパラメータ選択処理を終了し、ワークフロー実行処理へ戻る。Ｓ１００１からＳ１００３までの処理は、第３取得処理の一例である。Ｓ１００３の処理で選択された対象ワークフローパラメータは、第２ワークフローパラメータの一例である。
【０１５８】
集合においてばらつき度が小さい特徴量は、その集合の特徴をよく表すものであるといえる。本実施形態では、Ｓ９０５の処理において、ばらつき度が小さいほど重み係数が大きくなるよう選択基準データが更新される。従って、ばらつき度が小さい特徴量の種類が選択手順において優先されるようになる。その結果、ワークフローパラメータの自動選択の精度が向上し、誤った処理が実行されるおそれを更に低減することができる。
【０１５９】
［第２実施形態の変形例］
上述の第２実施形態では、重み係数の更新が特徴量のばらつき度に基づいて行われる例を説明した。本変形例では、重み係数の更新が特徴量の分布範囲に基づいて行われる例を説明する。以下に示される構成や処理以外の変形例の構成や処理は、第２実施形態で説明した構成や処理と同じである。
【０１６０】
装置プログラム３５は、図１０に示された重み係数生成更新処理に代えて、図１２に示された重み係数生成更新を実行する。なお図１２に示された重み係数生成更新処理において、図１０に示された重み係数生成更新処理と同一の処理については、同一の符号を付して説明を省略する。 
【０１６１】
装置プログラム３５は、Ｓ９０２の処理で作成された対象特徴量データの集合における特徴量の分布範囲を、集合毎に算出し、メモリ３２に一時記憶させる（Ｓ１１０１）。特徴量の分布範囲は、集合におけるある種類の特徴量についての、特徴量の分布の範囲である。特徴量の分布範囲は、例えば、数値で表された特徴量の最大値から最小値までの領域である。選択基準データは、特徴量の分布範囲の算出方法を示すデータを含む。
【０１６２】
装置プログラム３５は、Ｓ１１０１の処理で算出された特徴量の分布範囲に基づいて、選択基準データに含まれる重み係数データを更新する（Ｓ１１０２）。Ｓ１１０２の処理は、選択基準データ更新処理の一例である。
【０１６３】
まず装置プログラム３５は、Ｓ１１０１の処理で算出された特徴量の分布範囲が、複数の集合の間で重なっているか否かを判断する。
【０１６４】
装置プログラム３５は、特徴量の分布範囲が複数の集合の間で重なっていないと判断すると、該特徴量の種類に対応する重み係数が大きくなるよう、選択基準データに含まれる重み係数データを更新する。これにより、当該種類の特徴量が選択手順において優先されるようになる。
【０１６５】
装置プログラム３５は、特徴量の分布範囲が複数の集合の間で重なっていると判断すると、該特徴量の種類に対応する重み係数が小さくなるよう、選択基準データに含まれる重み係数データを更新する。これにより、当該種類の特徴量が選択手順において優先されないようになる。
【０１６６】
具体例で説明する。Ｓ９０２の処理で作成された集合が２つ（集合ａ、集合ｂ）存在するとする。種類“文字数”の特徴量の分布範囲が、集合ａは８５文字から１０３文字までであり、集合ｂは３５０文字から４４０文字であるとする。この場合、種類“文字数”の特徴量の分布範囲は、集合ａと集合ｂとの間で重なっていない。装置プログラム３５は、種類“文字数”の特徴量の重み係数を増加（例えば１０％増加）させて、重み係数データを更新する。
【０１６７】
複数の集合の間で、ある種類の特徴量の分布範囲が重なっていない場合には、その特徴量は、それら集合を明確に区別できる特徴量となりうる。本変形例では、Ｓ１１０２の処理において、分布範囲が重なっていない特徴量の重み係数を増加させる。従って、総合類似度の合算において該特徴量の影響が増加する。すなわち、該特徴量が選択手順において優先されるようになる。その結果、ワークフローパラメータの自動選択の精度が向上し、誤った処理が実行されるおそれを更に低減することができる。
【０１６８】
種類“文字数”の特徴量の分布範囲が、集合ａは９４文字から１４８文字までであり、集合ｂは１２４文字から２８０文字であるとする。この場合、種類“文字数”の特徴量の分布範囲は、集合ａと集合ｂとの間で重なっている。装置プログラム３５は、種類“文字数”の特徴量の重み係数を減少（例えば１０％減少）させて、重み係数データを更新する。
【０１６９】
複数の集合の間で、ある種類の特徴量の分布範囲が重なっている場合には、その特徴量によってそれら集合を明確に区別することができない。本変形例では、Ｓ１１０２の処理において、分布範囲が重なっていない特徴量の重み係数を減少させる。従って、総合類似度の合算において該特徴量の影響が減少する。すなわち、該特徴量が選択手順において優先されないようになる。その結果、ワークフローパラメータの自動選択の精度が向上し、誤った処理が実行されるおそれを更に低減することができる。
【０１７０】
［その他の変形例］
前述の実施形態では、ワークフロー登録処理と、ワークフロー実行処理と、ワークフロー実行登録処理とが実行される例が説明された。しかしながら、ワークフロー登録処理及びワークフロー実行登録処理のいずれか一方は、実行されなくてもよい。
【０１７１】
また、ワークフロー実行登録処理（図５）のＳ４０２の処理は、Ｓ４０３の処理の後に実行されてもよい。
【０１７２】
前述の実施形態では、ワークフローパラメータの選択基準が決定木構造である例と総合類似度である例を説明した。ワークフローパラメータの選択基準として、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）等のパターン認識の手法を用いることも可能である。
【符号の説明】
【０１７３】
１０・・・ＭＦＰ
１２・・・スキャナ
２３・・・ディスプレイ
２４・・・入力Ｉ／Ｆ
３１・・・ＣＰＵ
３２・・・メモリ
３５・・・装置プログラム
【図１】
0006988464.tif 000002
【図２】
0006988464.tif 000003
【図３】
0006988464.tif 000004
【図４】
0006988464.tif 000005
【図５】
0006988464.tif 000006
【図６】
0006988464.tif 000007
【図７】
0006988464.tif 000008
【図８】
0006988464.tif 000009
【図９】
0006988464.tif 000010
【図１０】
0006988464.tif 000011
【図１１】
0006988464.tif 000012
【図１２】
0006988464.tif 000013
【図１３】
0006988464.tif 000014
【図１４】
0006988464.tif 000015
【図１５】
0006988464.tif 000016
【図１６】
0006988464.tif 000017