(57)【要約】【課題】  ユーザにより指定されたそれぞれの機能をその実行順序に基づき実現するための処理群の実行順序をより簡便に決定するための技術を提供すること。【解決手段】  文書画像に対して実行可能な機能群を、該文書画像に対する解析結果に応じて特定する。機能群のうちユーザによって指定されたそれぞれの指定機能について、該指定機能を実現するために実行する処理の候補として複数の候補処理を取得する。それぞれの指定機能について、該指定機能を実現するために実行する処理を該指定機能に対応する複数の候補処理から決定し、それぞれの指定機能の指定順に該指定機能について決定した処理を実行する処理フローを、文書画像に対する処理フローとして決定する。【選択図】  図３
2018010528.tif 000002
【特許請求の範囲】
【請求項１】
文書画像に対して実行可能な機能群を、該文書画像に対する解析結果に応じて特定する特定手段と、
前記機能群のうちユーザによって指定されたそれぞれの指定機能について、該指定機能を実現するために実行する処理の候補として複数の候補処理を取得する取得手段と、
前記それぞれの指定機能について、該指定機能を実現するために実行する処理を該指定機能に対応する複数の候補処理から決定し、前記それぞれの指定機能の指定順に該指定機能について決定した処理を実行する処理フローを、前記文書画像に対する処理フローとして決定する決定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記特定手段は、前記文書画像の画像特徴量に対して予め関連づけられている機能群を特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記文書画像に含まれているコンテンツの種別に対して予め関連づけられている機能群を特定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記決定手段は、
前記それぞれの指定機能に対応する複数の候補処理の組み合わせを用いて、前記それぞれの指定機能に対応する候補処理の組み合わせを複数、作成する作成手段と、
前記作成手段が作成したそれぞれの組み合わせを前記文書画像に対して実行した結果に基づいて、該作成したそれぞれの組み合わせのうち１つの組み合わせを決定する手段と
を備えることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記候補処理は複数の部分処理を有し、
前記作成手段は、前記組み合わせ中の部分処理において重複する部分処理があれば、該重複する部分処理のうちより後段の部分処理を削除することで該組み合わせを更新することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記候補処理は複数の部分処理を有し、
前記作成手段は、前記組み合わせにおいて依存しない関係にあるそれぞれの部分処理を並列に実行する部分処理とするように該組み合わせを更新することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
更に、
撮像装置によって撮像された文書の撮像画像から該文書の領域内の画像を前記文書画像として取得する手段を備えることを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
更に投影手段を備え、
前記投影手段は、前記特定手段が特定した機能群の一覧を投影し、
前記指定機能は、該一覧からユーザによって指定された機能であることを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の特定手段が、文書画像に対して実行可能な機能群を、該文書画像に対する解析結果に応じて特定する特定工程と、
前記情報処理装置の取得手段が、前記機能群のうちユーザによって指定されたそれぞれの指定機能について、該指定機能を実現するために実行する処理の候補として複数の候補処理を取得する取得工程と、
前記情報処理装置の決定手段が、前記それぞれの指定機能について、該指定機能を実現するために実行する処理を該指定機能に対応する複数の候補処理から決定し、前記それぞれの指定機能の指定順に該指定機能について決定した処理を実行する処理フローを、前記文書画像に対する処理フローとして決定する決定工程と
を備えることを特徴とする情報処理方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像を処理するための技術に関するものである。
【背景技術】
【０００２】
ユーザが文書に対して実施したい機能を実現するために、例えば、ユーザが所望する処理の実行順序をＧＵＩ（グラフィカルユーザインターフェース）を用いて指定していく技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６４７６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザが所望する機能と該機能を実現するための処理は必ずしも一対一に対応づけられない場合が存在する。したがって、上述の従来技術では、機能を実現するために必要な処理群の詳細をユーザが理解しておく必要がある。たとえば、文書画像に対して文字認識を行う際は、文書画像を二値で表現する画像形式の文書画像に変換する二値化と呼ばれる処理が必要になる。ユーザが所望する機能としては文字認識のみであるにも関わらず、文字認識を実現するためには二値化が必要であることを理解したうえで、処理の実行順序（以降、処理フローとも記載する）を指定することが求められる。
【０００５】
本発明はこのような問題に鑑みてなされたものであり、ユーザにより指定されたそれぞれの機能をその実行順序に基づき実現するための処理群の実行順序をより簡便に決定するための技術を提供する。
【課題を解決するための手段】
【０００６】
本発明の一様態は、文書画像に対して実行可能な機能群を、該文書画像に対する解析結果に応じて特定する特定手段と、前記機能群のうちユーザによって指定されたそれぞれの指定機能について、該指定機能を実現するために実行する処理の候補として複数の候補処理を取得する取得手段と、前記それぞれの指定機能について、該指定機能を実現するために実行する処理を該指定機能に対応する複数の候補処理から決定し、前記それぞれの指定機能の指定順に該指定機能について決定した処理を実行する処理フローを、前記文書画像に対する処理フローとして決定する決定手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明の構成により、ユーザにより指定されたそれぞれの機能をその実行順序に基づき実現するための処理群の実行順序をより簡便に決定することができる。これにより、特定の機能を実現するための処理に関する知識がないユーザでも、機能を指示するだけで、所望の処理フローを作成することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの動作例の概要を説明する図。
【図２】情報処理システム１０１の構成例を示す図。
【図３】第１の実施形態に係る情報処理システム１０１の動作を説明する図。
【図４】第３の実施形態に係る情報処理システム１０１の動作を説明する図。
【図５】テーブルの構成例を示す図。
【図６】属性値の表示例を示す図。
【図７】テーブルの構成例を示す図。
【図８】第２の実施形態に係る情報処理システム１０１の動作を説明する図。
【図９】第４の実施形態に係る情報処理システム１０１の動作を説明する図。
【図１０】作成した複数の処理フローの一例を示す図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１０】
［第１の実施形態］
以下では、次のような構成を有する情報処理装置としての情報処理システムの一例について説明する。情報処理装置は、文書画像に対して実行可能な機能群を、該文書画像に対する解析結果に応じて特定し、該機能群のうちユーザによって指定されたそれぞれの指定機能について、該指定機能を実現するために実行する処理の候補として複数の候補処理を取得する。そして、該それぞれの指定機能について、該指定機能を実現するために実行する処理を該指定機能に対応する複数の候補処理から決定する。これにより、該それぞれの指定機能の指定順に該指定機能について決定した処理を実行する処理フローを、文書画像に対する処理フローとして決定する。
【００１１】
先ず、本実施形態に係る情報処理システムの動作例の概要について、図１を用いて説明する。本実施形態に係る情報処理システムは、プロジェクタ、カメラ、操作用センサを有している。図１（ａ）に示す如く、情報処理システム１０１は、机１０２の上に載置された紙文書１０３をカメラを用いて撮像する。そして情報処理システム１０１は図１（ｂ）に示す如く、カメラにより撮像された撮像画像中の紙文書１０３の領域内の画像（文書画像）の解析結果に応じて、該文書画像に対して実施可能な機能の一覧１０４を、プロジェクタを用いて机１０２の上に投影する。図１（ｃ）ではユーザは、この一覧１０４から、文書画像に対して実施したい機能として「ＱＲコード（登録商標）検出」を、自身の指１０７によるジェスチャ操作でもって指示している。機能「ＱＲコード（登録商標）検出」が指定されると、図１（ｃ）に示す如く、指定した機能である「ＱＲコード（登録商標）検出」を表すアイコン１０５がプロジェクタにより机１０２の上に投影される。以降、一覧１０４から機能が指定されるたびに、該指定した機能を表すアイコンが指定順に机１０２の上に投影される。図１（ｄ）では「ＱＲコード（登録商標）検出」を指定した後に「情報抽出」を指定したので、アイコン１０５の右隣に「情報抽出」を表すアイコン１０６が投影されており、これは、「ＱＲコード（登録商標）検出」の次に「情報抽出」を行う処理フローを表している。このように、一覧１０４から機能を指定するたびに、指定した機能に対応するアイコンが指定順に並べられて投影され、且つ指定した機能を指定順に実行する処理フローを設定することができる。
【００１２】
次に、情報処理システム１０１のハードウェア構成例について、図２（ａ）のブロック図を用いて説明する。
【００１３】
ＣＰＵ２０２は、ＲＯＭ２０３やＲＡＭ２０４に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ２０２は、情報処理システム１０１全体の動作制御を行うと共に、情報処理システム１０１が行うものとして後述する各処理を実行若しくは制御する。
【００１４】
ＲＯＭ２０３には、書き換え不要の情報処理システム１０１の設定データやブートプログラムなどが格納されている。
【００１５】
ＲＡＭ２０４は、記憶装置２０５や外部記憶装置２０６からロードされたコンピュータプログラムやデータ、入力装置２０７により入力された各種のデータ、を格納するためのエリアを有する。更にＲＡＭ２０４は、Ｉ／Ｆ（インターフェース）２０９を介して外部から受信したデータを格納するためのエリア、ＣＰＵ２０２が各種の処理を実行若しくは制御する際に用いるワークエリアを有する。このようにＲＡＭ２０４は各種のエリアを適宜提供することができる。
【００１６】
記憶装置２０５は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。記憶装置２０５には、ＯＳ（オペレーティングシステム）や、情報処理システム１０１が行うものとして後述する各処理をＣＰＵ２０２に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。記憶装置２０５に保存されているデータには、以下の説明において既知の情報として説明するもの、例えば、閾値やテーブル等のデータが含まれている。記憶装置２０５に保存されているコンピュータプログラムやデータは、ＣＰＵ２０２による制御に従って適宜ＲＡＭ２０４にロードされ、ＣＰＵ２０２による処理対象となる。なお、記憶装置２０５に保存されているものとして説明したコンピュータプログラムやデータの一部若しくは全部を情報処理システム１０１以外の装置に保存させておいても良い。このような場合、情報処理システム１０１は該装置からコンピュータプログラムやデータを読み出すことになる。
【００１７】
外部記憶装置２０６は、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ／ＲＡＭ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等の記憶媒体に対する情報の読み書きを行うためのものである。記憶装置２０５に保存するものとして説明したコンピュータプログラムやデータの一部若しくは全部を記憶媒体に格納しておき、外部記憶装置２０６がこの記憶媒体からこのようなコンピュータプログラムやデータをＲＡＭ２０４に読み出すようにしても構わない。
【００１８】
入力装置２０７は、静止画像や動画像を撮像可能なカメラ、ユーザによるジェスチャ操作を検知するために使用される距離画像を撮像する操作用センサ、を有する。カメラは机１０２の上に載置される紙文書１０３を撮像可能な位置及び姿勢で設置されており、操作用センサは机１０２の上に投影される様々な情報に対するユーザのジェスチャ操作を撮像可能な位置及び姿勢で設置されている。
【００１９】
出力装置２０８は、画像や文字を投影面（上記の例では机１０２）上に投影するプロジェクタを有する。Ｉ／Ｆ２０９は、情報処理システム１０１が外部機器とのデータ通信を行うために使用するインターフェースとして機能するものである。
【００２０】
ＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、記憶装置２０５、外部記憶装置２０６、入力装置２０７、出力装置２０８、Ｉ／Ｆ２０９、は何れもバス２０１に接続されている。
【００２１】
なお、図２（ａ）に示した構成は複数の装置で構成されても良く、例えば、ＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、記憶装置２０５、外部記憶装置２０６、Ｉ／Ｆ２０９を有する情報処理装置と、入力装置２０７と、出力装置２０８と、で構成しても良い。
【００２２】
次に、情報処理システム１０１の機能構成例について、図２（ｂ）のブロック図を用いて説明する。図２（ｂ）に示した機能部は何れもハードウェアで実装しても良いが、本実施形態では、特定部３０１及び決定部３０４はコンピュータプログラムとして実装し、指定機能保持部３０２及び処理候補保持部３０３をＲＡＭ２０４や記憶装置２０５で実装する。
【００２３】
特定部３０１は、入力装置２０７が有するカメラにより撮像された撮像画像中の文書画像に対して実施可能な機能群を特定する。指定機能保持部３０２は、特定部３０１が特定した機能群からユーザが指定した機能を保持する。処理候補保持部３０３は、機能を実現するための複数の処理の候補を保持する。決定部３０４は、文書画像に対して実際に行う処理のフローを決定する。
【００２４】
次に、情報処理システム１０１が文書画像に対する処理フローを決定する為に行う処理について、図３（ａ）のフローチャートを用いて説明する。
【００２５】
ステップＳ４０００では、入力装置２０７が有するカメラが、机１０２の上に載置された紙文書１０３を撮像する。カメラに撮像を指示するための方法には様々な方法がある。
【００２６】
例えば、ユーザによるジェスチャ操作でもってカメラに撮像を指示する方法がある。この方法では先ず、プロジェクタが撮像開始ボタンの画像を机１０２の上に投影する。操作用センサは机１０２の上の距離画像を撮像しており、撮像した距離画像から例えばユーザの指などの指示具の位置や動きを検知する。然るに、操作用センサが、ユーザが指示具でもってこの撮像開始ボタンを指定するジェスチャ操作を行ったことを検知（ジェスチャ認識）すると、ＣＰＵ２０２は、カメラに撮像を指示する。このようなジェスチャ操作は周知のジェスチャ認識技術により認識可能である。以降のジェスチャ認識も同様にして行われる。
【００２７】
また、ユーザの介入無しにカメラに撮像を指示する方法もある。例えばＣＰＵ２０２が、紙文書１０３が机１０２の上に載置されたことを、入力装置２０７が有する操作用センサにより取得される距離画像を用いて検知し、該検知を契機にカメラに撮像を指示しても良い。またＣＰＵ２０２は、机１０２の上に何も置かれていない状態の距離画像と現在の距離画像との差分値（例えば距離画像間で対応する画素の画素値の差分の総和）が規定値以上となる期間が規定期間長以上続いたことを契機に、カメラに撮像を指示しても良い。
【００２８】
カメラによる撮像画像には紙文書１０３だけでなく机１０２も写っているため、ＣＰＵ２０２は、撮像画像中の紙文書１０３の領域内の画像を文書画像として抽出する。撮像画像から文書画像を抽出する技術は周知であり、例えば、撮像画像内の輝度差を用いてエッジを抽出し、該エッジから紙面と思われる領域を特定する技術が知られている。
【００２９】
次にステップＳ４０１０では、ＣＰＵ２０２は、文書画像に対して実施可能な機能群を特定する。文書画像に対して実施可能な機能群を特定するための処理には、様々な処理が考えられる。
【００３０】
例えば、文書画像から画像特徴量を抽出し、該抽出した画像特徴量に応じて、文書画像に対して実施可能な機能群を特定する方法がある。このような方法では、記憶装置２０５には、予め図５に例示するようなテーブルを登録しておく必要がある。図５のテーブルは、文書画像を特定するための画像特徴量、該画像特徴量を有する文書画像に対して実施可能な機能群、該機能群のそれぞれの属性を示す属性タイプ、該属性の値である属性値、が関連づけて登録されたテーブルである。このテーブルによれば、例えば、画像特徴量として「ｓｉｆｔ１」が抽出された文書画像に対して実施可能な機能は「ＰＤＦ化」、「情報抽出」、「ＱＲコード（登録商標）検出」、「終了」であることが特定できる。然るに、図５のテーブルを参照することで、文書画像から抽出した画像特徴量に対応する、該文書画像に対して実施可能な機能群を特定することができる。
【００３１】
画像特徴量としては、例えば、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）などの特徴量を用いることができる。画像特徴量としてＳＩＦＴを用いることで、ＳＩＦＴの特徴である画像回転、照明（撮影における外光）変化に対して頑健さを活用することができる。したがって、ユーザは情報処理システム１０１の設置環境や紙文書１０３の配置向きを気にする必要性が低くなる。
【００３２】
なお、図５のテーブルは、文書画像で表現される文書種別を一意に特定する画像特徴量と、該画像特徴量に対応する機能群と、を対応付けて登録したものであったが、文書画像に対して実施可能な機能群を動的に決定してもよい。例えば文書画像に対して既存技術である領域解析技術を実施して、該文書画像内に存在するコンテンツの種別を特定し、該種別のコンテンツを含む文書画像に対して実施可能な機能群を特定するようにしても良い。このような場合、コンテンツの種別と、該種別のコンテンツを含む文書画像に対して実施可能な機能群と、を関連づけたテーブルを予め作成しておく必要がある。例えば、領域解析技術によりコンテンツ種別として文字領域・バーコード領域が取得できる場合、文字領域が存在する文書画像に対して実施可能な機能として「情報抽出」をテーブルに登録しておく必要がある。また、バーコード領域が存在する文書画像に対して実施可能な機能として「バーコード認識」をテーブルに登録しておく必要がある。コンテンツ種別に対して実施可能な機能を規定しておくことで、文書種別毎に機能群を規定する必要がなくなる。結果として、新しい種別の文書が本システムの処理対象として追加された場合も、新しい種別に規定済みのコンテンツ種別が含まれていれば、テーブルの更新を不要にすることができる。
【００３３】
そしてプロジェクタは、上記のようにして特定された「文書画像に対して実施可能な機能群」の一覧を机１０２の上に投影する。投影位置については特定の位置に限るものではなく、例えば、紙文書１０３と被らないような位置に投影する。例えば、図６（ａ）に示す如く、紙文書６０１が机１０２の上に載置されている場合、図６（ｂ）に示す如く、該紙文書６０１の文書画像に応じた機能群の一覧６０２が机１０２の上に投影される。
【００３４】
ステップＳ４０２０では、ＣＰＵ２０２は、プロジェクタによって投影された一覧から文書画像に対して実施する機能を指定するユーザ操作を受け付ける。ユーザが指示具でもって一覧から所望の機能を指定するジェスチャ操作を行ったことを操作用センサが検知すると、ＣＰＵ２０２は、指定された機能が「終了」であるのか、それとも「終了」以外の機能であるのか、を判断する。この判断の結果、指定された機能が「終了」であれば、処理はステップＳ４０４０に進む。一方、指定された機能が「終了」以外の機能であれば、処理はステップＳ４０３０に進む。
【００３５】
ステップＳ４０３０では、ＣＰＵ２０２は、図５のテーブルから、一覧からユーザによるジェスチャ操作によって指定された機能に対応する属性タイプと関連づけられている属性値を特定し、プロジェクタは、該特定した属性値を机１０２の上に投影する。属性タイプは属性値の形式を示すものであり、本実施形態では「項目」、「座標」、「Ｎ／Ａ」の３種のタイプが存在し、属性タイプに応じて属性値を机１０２の上に投影する。
【００３６】
機能群の一覧からユーザによるジェスチャ操作によって指定された機能に対応する属性タイプが「項目」タイプの場合、プロジェクタによって「高圧縮」、「サーチャブル」の一覧が机１０２の上に投影される。例えば、図６（ｂ）に示す如く、機能群の一覧６０２が投影されている状態においてユーザによるジェスチャ操作によって「ＰＤＦ化」が指定されると、図６（ｃ）に示す如く、対応する属性値「高圧縮」、「サーチャブル」の一覧が投影される。ユーザが指示具でもって属性値の一覧から所望の属性値を指定するジェスチャ操作を行ったことを操作用センサが検知すると、ＣＰＵ２０２は、該指定された属性値を、機能の一覧からユーザが指定した機能、該機能の指定順序と共にテーブルに登録する。例えば、最初に指定した機能Ａを、該機能Ａの属性値、指定順序「１」と共に保存し、その次に指定した機能Ｂを、該機能Ｂの属性値、指定順序「２」と共に保存する。そして処理はステップＳ４０２０に進む。
【００３７】
機能群の一覧からユーザによるジェスチャ操作によって指定された機能に対応する属性タイプが「座標」タイプの場合、プロジェクタは、対応する属性値で規定される領域に相当する紙文書上の領域に枠や半透明の色で塗りつぶした図形を投影する。図５では、文書画像において左上隅の座標位置が（ｘ１，ｙ１）で幅ｗ１、高さｈ１の領域、左上隅の座標位置が（ｘ２，ｙ２）で幅ｗ２、高さｈ２の領域、のそれぞれに対応する紙文書上の領域に枠や半透明の色で塗りつぶした図形を投影する。例えば図６（ｂ）に示す如く、機能群の一覧６０２が投影されている状態においてユーザによるジェスチャ操作によって「情報抽出」が指定されると、図６（ｄ）に示す如く、対応する属性値で規定される領域に相当する紙文書上の領域６０４に枠が投影される。ユーザが指示具でもって１以上の枠や図形を指定し、該指定を完了させるジェスチャ操作を行ったことを操作用センサが検知したとする。このときＣＰＵ２０２は、該指定された枠や図形を規定する情報を、機能の一覧からユーザが指定した機能、該機能の指定順序と共にテーブルに登録する。そして処理はステップＳ４０２０に進む。なお、枠や図形の形やサイズをジェスチャ操作によって変更しても良い。
【００３８】
機能群の一覧からユーザによるジェスチャ操作によって指定された機能に対応する属性タイプが「Ｎ／Ａ」の場合は、ＣＰＵ２０２は、機能の一覧からユーザが指定した機能を、該機能の指定順序と共にテーブルに登録する。そして処理はステップＳ４０２０に進む。
【００３９】
ステップＳ４０３０において、指定順序、機能の一覧から指定した機能、該機能の属性値（属性情報）、が登録されたテーブルの構成例を図７（ａ）に示す。図７（ａ）では、機能の一覧から最初に「ＱＲコード（登録商標）検出」が指定されているため、機能「ＱＲコード（登録商標）検出」が指定順序「１」と共にテーブルに登録されている。なお、「ＱＲコード（登録商標）検出」の属性タイプは「Ｎ／Ａ」であるため、属性情報としては何も登録されない。一方、図７（ａ）では、機能の一覧から２番目に「情報抽出」が指定されているため、機能「情報抽出」が指定順序「２」と共にテーブルに登録されている。また、図７（ａ）では、「情報抽出」の属性値として（ｘ１，ｘ２，ｗ１，ｈ１）が指定されたため、属性情報として（ｘ１，ｘ２，ｗ１，ｈ１）が指定順序「２」及び機能「情報抽出」と関連づけてテーブルに登録される。また、ステップＳ４０３０では、上記の如く、指定した機能を表すアイコンがプロジェクタにより机１０２の上に投影される。
【００４０】
ステップＳ４０４０では、ＣＰＵ２０２は、図７（ａ）のテーブルに登録した各機能について、該機能を実現するための処理の候補を複数取得する。例えば、図７（ｂ）に例示するテーブルを予め作成して記憶装置２０５に登録しておき、図７（ａ）のテーブルに登録した各機能について、該機能に対応する処理候補を図７（ｂ）のテーブルから取得する。図７（ａ）の場合、機能として「ＱＲコード（登録商標）検出」、「情報抽出」が登録されている。然るにこのような場合は、「ＱＲコード（登録商標）検出」を実現するための処理の候補として以下の２つの処理候補が図７（ｂ）のテーブルから取得される。
【００４１】
（処理候補１−１）  文字抽出用二値化  →  ＱＲコード（登録商標）検出
（処理候補１−２）  表抽出用二値化    →  ＱＲコード（登録商標）検出
また、「情報抽出」を実現するための処理の候補として以下の４つの処理候補が図７（ｂ）のテーブルから取得される。
【００４２】
（処理候補２−１）  文字抽出用二値化  →  活字ＯＣＲ
（処理候補２−２）  文字抽出用二値化  →  手書きＯＣＲ
（処理候補２−３）  表抽出用二値化    →  活字ＯＣＲ
（処理候補２−４）  表抽出用二値化    →  手書きＯＣＲ
ステップＳ４０５０では、ＣＰＵ２０２は、図７（ａ）のテーブルに登録した各機能について、該機能に対応する複数の処理候補のうち１つを決定する。ステップＳ４０５０における処理の詳細について、図３（ｂ）のフローチャートを用いて説明する。
【００４３】
ステップＳ９０００では、ＣＰＵ２０２は、図７（ａ）のテーブルに登録されている各機能に対応する複数の処理候補（図７（ｂ））を用いて、各機能に対応する処理候補の組み合わせを作成する。すなわちＣＰＵ２０２は、図７（ａ）のテーブルに登録されている機能を指定順序で実現する処理フローとして複数種類の処理フローを作成する。図７（ａ）のテーブルでは、文書画像に対して１番目に実施する機能が「ＱＲコード（登録商標）検出」であり、２番目に実施する機能が「情報抽出」であることを規定している。ここで上記の通り、「ＱＲコード（登録商標）検出」を実現するための処理の候補として上記の２つの処理候補が図７（ｂ）のテーブルで規定されており、「情報抽出」を実現するための処理の候補として上記の４つの処理候補が図７（ｂ）のテーブルで規定されている。然るに、このような場合は、以下の８種類の処理フローを作成することができる。
【００４４】
「ＱＲコード（登録商標）検出」を実現するために（処理候補１−１）を実行し、「情報抽出」を実現するために（処理候補２−ｉ）（ｉ＝１，２，３，４）を実行する処理フロー（４種類の処理フロー）
「ＱＲコード（登録商標）検出」を実現するために（処理候補１−２）を実行し、「情報抽出」を実現するために（処理候補２−ｉ）（ｉ＝１，２，３，４）を実行する処理フロー（４種類の処理フロー）
なお、処理候補の中には、閾値などのパラメータを含むものもあるので、同じ処理フローでもパラメータを変化させることで更に複数の処理フローを作成することも可能である。作成した複数の処理フローの一例を図１０に示す。
【００４５】
図１０では、作成したそれぞれの処理フローに固有の番号（パターンＮｏ）が割り当てられており、同じ処理フローでもパラメータ（ここでは二値化に用いる閾値）を変えることで更に複数の処理フローが作成されている。例えば、パターンＮｏ＝１の処理フローとパターンＮｏ＝２の処理フローとは同じ処理フローであるが、パターンＮｏ＝１の処理フローでは機能「ＱＲコード（登録商標）検出」を実現する処理に含まれている部分処理である文字抽出用二値化で用いる閾値をｔｈ１としている。一方、パターンＮｏ＝２の処理フローでは、機能「ＱＲコード（登録商標）検出」を実現する処理に含まれている部分処理である文字抽出用二値化において用いる閾値をｔｈ２としている。
【００４６】
ステップＳ９０１０では、ＣＰＵ２０２は、上記のステップＳ４０００において取得した文書画像に対して、ステップＳ９０００において作成したそれぞれの処理フローを実施して、該それぞれの処理フローに対する評価値を求める。評価値には様々なものを適用することができるが、例えば、情報抽出機能を実現するために使用されるＯＣＲ処理では文字認識結果の確からしさを示すスコアを出力するので、このスコアを評価値として採用しても良い。なお、処理フローのスコアをそのまま該処理フローの評価値とするのではなく、処理フローごとに重み値を設定しておき、該処理フローのスコアに該処理フローの重み値を乗算した結果を該処理フローの評価値としても良い。この重み値は、スコアを正規化するものであっても良いし、処理フローに応じてユーザが設定した値であっても良い。スコアを正規化することで、評価値の算出方法が異なる処理フローにおける評価値の整合性を確保することができる。
【００４７】
ステップＳ９０２０では、ＣＰＵ２０２は、ステップＳ９０００において作成したそれぞれの処理フローのうち１以上を該それぞれの処理フローの評価値に基づいて選択する。本ステップにおける処理フローの選択方法には様々な選択方法法が考えられる。
【００４８】
例えば、それぞれの処理フローのうち評価値が最も大きい処理フローを選択する方法がある。また、評価値が大きい順に上位Ｎ（Ｎは２以上の整数）個の処理フローを選択し、該選択したＮ個の処理フローをプロジェクタでもって机１０２の上に投影して、ユーザに選択させても良い。ユーザによる処理フローの選択方法は、上記のジェスチャ操作で行えばよい。そしてＣＰＵ２０２は、選択した処理フローを示す情報をＲＡＭ２０４や記憶装置２０５に登録する。なお、ＣＰＵ２０２は、選択した処理フローを示す情報を登録する代わりに若しくは加えて、該選択した処理フローを文書画像に対して実行しても良い。
【００４９】
図７（ａ）に示した機能を指定順序に実現する場合において、各機能に対応する複数の処理候補が図７（ｂ）に示されているような処理候補である場合に、各機能と、各機能で行う処理と、の関係を図３（ｃ）に示す。図７（ａ）のテーブルによって機能フローとして規定された「ＱＲコード（登録商標）検出」→「情報抽出」を実現する場合に行う処理フローとして「文字抽出用二値化」→「ＱＲコード（登録商標）検出」→「文字抽出用二値化」→「手書きＯＣＲ」が特定されたことがわかる。このように、本実施形態によれば、ユーザが文書画像に対して実施する機能を実現する処理の知識を持たなくとも、機能フローを設計することが可能になる。
【００５０】
［第２の実施形態］
本実施形態を含め、以下の各実施形態では、第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。本実施形態では、上記のステップＳ４０５０では、図８（ａ）のフローチャートに従った処理を行う。図８（ａ）のフローチャートにおいて図３（ｂ）のフローチャートにおける処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【００５１】
ステップＳ１２０１０では、ＣＰＵ２０２は、ステップＳ９０００において作成した各処理フローについて、該処理フロー中の処理で重複する処理があれば該重複する処理のうちより後段の処理を該処理フローから削除する。例えば、図１０のパターンＮｏ＝１の処理フローでは、閾値ｔｈ１を使用する文字抽出用二値化が２回登場しているため、該処理フローの先頭から２つ目の文字抽出用二値化を削除することで該処理フローを更新する。
【００５２】
図７（ａ）に示した機能を指定順序で実施する場合において、各機能に対応する複数の処理候補が図７（ｂ）に示されているような処理候補である場合に、各機能と各機能で行う処理との関係を第１の実施形態と本実施形態とで対比したものを図８（ｂ）に示す。図７（ａ）のテーブルによって機能フローとして規定された「ＱＲコード（登録商標）検出」→「情報抽出」を実現する場合に行う処理フローが、第１の実施形態では、「文字抽出用二値化」→「ＱＲコード（登録商標）検出」→「文字抽出用二値化」→「手書きＯＣＲ」となったとする。このとき本実施形態では、上記のステップＳ１２０１０の処理により、重複する２つの「文字抽出用二値化」のうち後段の「文字抽出用二値化」をこの処理フローから削除する。このように、第１の実施形態に対して、文字抽出用二値化の処理が１回少ない処理フローになっていることがわかる。このように、本実施形態によれば、処理フローを評価するための処理の負荷や、実際に決定された処理フローを実施する際の処理の負荷を軽減することが可能になる。
【００５３】
［第３の実施形態］
本実施形態では、上記のステップＳ４０５０では、図４（ａ）のフローチャートに従った処理を行う。図４（ａ）のフローチャートにおいて図３（ｂ）のフローチャートにおける処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【００５４】
ステップＳ１４０１０では、ＣＰＵ２０２は、ステップＳ９０００において作成した各処理フローについて、該処理フローにおいて連続する処理の間の依存性を判定し、依存性がない場合は、該処理フローを並列処理する２以上の並列処理フローに分解する。例えば、図１０のパターンＮｏ＝１の処理フローでは、ＱＲコード（登録商標）検出と、該ＱＲコード（登録商標）検出の直後に実施される文字抽出用二値化と、は依存しない関係である。したがって、パターンＮｏ＝１の処理フローを、「文字抽出用二値化→ＱＲコード（登録商標）検出」の処理、「文字抽出用二値化→活字ＯＣＲ」の処理、の２つに分け、それぞれの処理を並列に実行するようにする。処理間の依存性判断は予め規定しておいてもよい。また、実際に処理を実施した結果、処理結果に違いが生じるかを検知し、処理結果に違いが生じない場合は、依存性がないと判断する方法でもよい。
【００５５】
図７（ａ）に示した機能を指定順序に実現する場合において、各機能に対応する複数の処理候補が図７（ｂ）に示されているような処理候補である場合に、各機能と各機能で行う処理との関係を第１の実施形態と本実施形態とで対比したものを図４（ｂ）に示す。図７（ａ）のテーブルによって機能フローとして規定された「ＱＲコード（登録商標）検出」→「情報抽出」を実現する場合に行う処理フローが、第１の実施形態では、「文字抽出用二値化」→「ＱＲコード（登録商標）検出」→「文字抽出用二値化」→「手書きＯＣＲ」となったとする。このとき本実施形態では、上記のステップＳ１４０１０の処理により、この処理フローを、「文字抽出用二値化→ＱＲコード（登録商標）検出」の処理、「文字抽出用二値化→手書きＯＣＲ」の処理、の２つに分け、それぞれの処理を並列に処理するようにする。このように、第１の実施形態に対して、独立して実施可能な処理が並列化されているため、ＣＰＵのコアが多数存在する環境では処理速度の向上が期待できる。
【００５６】
［第４の実施形態］
本実施形態では、第２の実施形態及び第３の実施形態で説明した両方の処理をステップＳ４０５０において行う。本実施形態では、上記のステップＳ４０５０では、図９（ａ）のフローチャートに従った処理を行う。図９（ａ）のフローチャートにおいて図３（ｂ）、４（ａ）、８（ａ）のフローチャートにおける処理ステップと同じ処理ステップには同じステップ番号を付している。
【００５７】
図７（ａ）に示した機能を指定順序に実現する場合において、各機能に対応する複数の処理候補が図７（ｂ）に示されているような処理候補である場合に、各機能と各機能で行う処理との関係を第１の実施形態と本実施形態とで対比したものを図９（ｂ）に示す。図７（ａ）のテーブルによって機能フローとして規定された「ＱＲコード（登録商標）検出」→「情報抽出」を実現する場合に行う処理フローが、第１の実施形態では、「文字抽出用二値化」→「ＱＲコード（登録商標）検出」→「文字抽出用二値化」→「手書きＯＣＲ」となったとする。このとき本実施形態では先ず、上記のステップＳ１２０１０の処理により、重複する２つの「文字抽出用二値化」のうち後段の「文字抽出用二値化」をこの処理フローから削除することでこの処理フローを更新する。そして次に、上記のステップＳ１４０１０の処理により、この更新した処理フローにおいて、「ＱＲコード（登録商標）検出」の処理、「手書きＯＣＲ」の処理、２つの処理を「文字抽出用二値化」の後に並列に行う処理とする。このように、第１の実施形態の方法に対して、文字抽出用二値化の処理が１回少なく、「ＱＲコード（登録商標）検出」と「手書きＯＣＲ」が並列化された処理フローになっていることがわかる。このように、本実施形態によれば、処理フローにおける重複処理の削除と依存性のない処理の並列化により、処理負荷の軽減、処理の効率化を実現することが可能になる。
【００５８】
＜変形例＞
上記の各実施形態で説明した構成は何れも、特定の機能、特定の処理に限ったものではない。また、紙文書は机以外の面上に載置しても良い。また、上記の各実施形態では、機能や属性値の一覧、ユーザが指定した機能に対応するアイコンは何れもプロジェクタによって机の上に投影していた。しかし、これらの情報をユーザに提示できるのであれば、これらの情報をプロジェクタで投影しなくても、例えば、タッチパネル画面にこれらの情報を表示するようにしても良い。この場合、ユーザはジェスチャ操作ではなく、タッチパネル画面上をタッチしたりすることで、例えば一覧から所望の対象を指定することができる。なお、アイコンの代わり若しくは加えて、ユーザが指定した機能を表す他の情報を投影／表示しても良い。
【００５９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６０】
３０１：特定部  ３０２：指定機能保持部  ３０３：処理候補保持部  ３０４：決定部
【図１】
2018010528.tif 000003
【図２】
2018010528.tif 000004
【図３】
2018010528.tif 000005
【図４】
2018010528.tif 000006
【図５】
2018010528.tif 000007
【図６】
2018010528.tif 000008
【図７】
2018010528.tif 000009
【図８】
2018010528.tif 000010
【図９】
2018010528.tif 000011
【図１０】
2018010528.tif 000012