(57)【要約】【課題】画像内に含まれている表示文字列が認識された場合に、その表示文字列に対応する処理を行うようにした情報処理装置を提供する。【解決手段】情報処理装置の受付手段は、文字認識結果を受け付け、記憶手段は、表示文字列と処理情報を対応させて記憶し、検索手段は、前記文字認識結果内から前記表示文字列を検索し、抽出手段は、前記検索手段によって前記文字認識結果内から前記表示文字列が検索できた場合は、前記記憶手段から該表示文字列に対応する処理情報を抽出し、処理手段は、前記抽出手段によって抽出された処理情報に基づいて、処理を行う。【選択図】図１
2015072533.tif 000002
【特許請求の範囲】
【請求項１】
文字認識結果を受け付ける受付手段と、
表示文字列と処理情報を対応させて記憶する記憶手段と、
前記文字認識結果内から前記表示文字列を検索する検索手段と、
前記検索手段によって前記文字認識結果内から前記表示文字列が検索できた場合は、前記記憶手段から該表示文字列に対応する処理情報を抽出する抽出手段と、
前記抽出手段によって抽出された処理情報に基づいて、処理を行う処理手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記文字認識結果内から前記表示文字列としての候補を検索する候補検索手段
をさらに具備し、
前記検索手段は、前記候補検索手段によって検索された候補内から前記表示文字列を検索する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記候補検索手段における前記候補は、前記表示文字列の一部又は全てを示す正規表現で記載された情報であり、
前記候補検索手段は、前記文字認識結果に対して、前記候補の正規表現検索を行うことによって検索する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記候補検索手段における前記候補は、表示文字が存在する位置の範囲を示す情報であり、前記文字認識結果には、各文字の位置が含まれており、
前記候補検索手段は、前記文字認識結果に対して、認識文字の位置が前記候補の範囲に該当するものを抽出することによって検索する
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記候補検索手段における前記候補は、表示文字の大きさの範囲を示す情報であり、前記文字認識結果には、各文字の大きさが含まれており、
前記候補検索手段は、前記文字認識結果に対して、認識文字の大きさが前記候補の範囲に該当するものを抽出することによって検索する
ことを特徴とする請求項２から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記候補検索手段における前記候補は、表示文字の色の範囲を示す情報であり、前記文字認識結果には、各文字の色が含まれており、
前記候補検索手段は、前記文字認識結果に対して、認識文字の色が前記候補の範囲に該当するものを抽出することによって検索する
ことを特徴とする請求項２から５のいずれか一項に記載の情報処理装置。
【請求項７】
コンピュータを、
文字認識結果を受け付ける受付手段と、
表示文字列と処理情報を対応させて記憶する記憶手段と、
前記文字認識結果内から前記表示文字列を検索する検索手段と、
前記検索手段によって前記文字認識結果内から前記表示文字列が検索できた場合は、前記記憶手段から該表示文字列に対応する処理情報を抽出する抽出手段と、
前記抽出手段によって抽出された処理情報に基づいて、処理を行う処理手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、印刷物に記載されたＵＲＩを読み取ってインターネットのＷＷＷサーバから該当するコンテンツを取得し表示する携帯型情報端末装置を提供することを課題とし、人が片手で把持できる程度のサイズの情報端末装置の上面には、表示装置、操作スイッチ、実行ボタン、スピーカ、アンテナ、読み取り開始ボタンが設けられ、底面にはスキャナ用の読み取り窓が設けられ、印刷物上のＵＲＩを含むエリアの画像を、読み取り窓を通じて内部のスキャナで読み取ると、その画像中からＵＲＩが抽出され、内蔵のブラウザが起動され、ブラウザは無線通信回線によって接続されるプロバイダー経由でＵＲＩに対応するコンテンツをインターネット上のＷＷＷサーバから取得し、表示装置に表示することが開示されている。
【０００３】
特許文献２には、操作に不慣れな者でも、所定のアプリケーションプログラムを迅速かつ確実に起動できるようにすることを課題とし、例えば、ワードプロセッサプログラムの名称として「三太郎」、その後に「．」で区切られて三太郎で開く（処理を開始するためにデータを取り込む）べきファイル名として「特許明細書」と印刷されたカード状のオブジェクトのように、所定のアプリケーションプログラムの名称と、その引数が印刷されたカード状のオブジェクトをＣＣＤビデオカメラにより撮像させ、パーソナルコンピュータは、ＣＣＤビデオカメラにより撮像された画像データを文字認識処理し、認識した結果得られた文字の名称のアプリケーションプログラムを起動させた後、引数として認識されたファイル名のデータ取り込みやオプション設定などの操作を自動的に実行させることが開示されている。
【０００４】
特許文献３には、インターネットを簡単に利用することができるようにすることを課題とし、世界規模で広がるインターネット上の情報ソースを一意に特定するＵＲＬが印刷されているカード状のオブジェクトをＣＣＤビデオカメラに撮像させ、パーソナルコンピュータは、ＣＣＤビデオカメラにより撮像された画像データから文字認識処理によりＵＲＬを認識すると、インターネットブラウザを起動した後、文字認識して得られたＵＲＬに自動的にアクセスして、情報を表示することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１８４１４１号公報
【特許文献２】特開２０００−２０７４８５号公報
【特許文献３】特開２０００−２０７３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、画像内に含まれている表示文字列が認識された場合に、その表示文字列に対応する処理を行うようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、文字認識結果を受け付ける受付手段と、表示文字列と処理情報を対応させて記憶する記憶手段と、前記文字認識結果内から前記表示文字列を検索する検索手段と、前記検索手段によって前記文字認識結果内から前記表示文字列が検索できた場合は、前記記憶手段から該表示文字列に対応する処理情報を抽出する抽出手段と、前記抽出手段によって抽出された処理情報に基づいて、処理を行う処理手段を具備することを特徴とする情報処理装置である。
【０００８】
請求項２の発明は、前記文字認識結果内から前記表示文字列としての候補を検索する候補検索手段をさらに具備し、前記検索手段は、前記候補検索手段によって検索された候補内から前記表示文字列を検索することを特徴とする請求項１に記載の情報処理装置である。
【０００９】
請求項３の発明は、前記候補検索手段における前記候補は、前記表示文字列の一部又は全てを示す正規表現で記載された情報であり、前記候補検索手段は、前記文字認識結果に対して、前記候補の正規表現検索を行うことによって検索することを特徴とする請求項２に記載の情報処理装置である。
【００１０】
請求項４の発明は、前記候補検索手段における前記候補は、表示文字が存在する位置の範囲を示す情報であり、前記文字認識結果には、各文字の位置が含まれており、前記候補検索手段は、前記文字認識結果に対して、認識文字の位置が前記候補の範囲に該当するものを抽出することによって検索することを特徴とする請求項２又は３に記載の情報処理装置である。
【００１１】
請求項５の発明は、前記候補検索手段における前記候補は、表示文字の大きさの範囲を示す情報であり、前記文字認識結果には、各文字の大きさが含まれており、前記候補検索手段は、前記文字認識結果に対して、認識文字の大きさが前記候補の範囲に該当するものを抽出することによって検索することを特徴とする請求項２から４のいずれか一項に記載の情報処理装置である。
【００１２】
請求項６の発明は、前記候補検索手段における前記候補は、表示文字の色の範囲を示す情報であり、前記文字認識結果には、各文字の色が含まれており、前記候補検索手段は、前記文字認識結果に対して、認識文字の色が前記候補の範囲に該当するものを抽出することによって検索することを特徴とする請求項２から５のいずれか一項に記載の情報処理装置である。
【００１３】
請求項７の発明は、コンピュータを、文字認識結果を受け付ける受付手段と、表示文字列と処理情報を対応させて記憶する記憶手段と、前記文字認識結果内から前記表示文字列を検索する検索手段と、前記検索手段によって前記文字認識結果内から前記表示文字列が検索できた場合は、前記記憶手段から該表示文字列に対応する処理情報を抽出する抽出手段と、前記抽出手段によって抽出された処理情報に基づいて、処理を行う処理手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１４】
請求項１の情報処理装置によれば、画像内に含まれている表示文字列が認識された場合に、その表示文字列に対応する処理を行うことができる。
【００１５】
請求項２の情報処理装置によれば、本構成を有していない場合に比較して、表示文字列に対応する処理情報を高速に検索することができる。
【００１６】
請求項３の情報処理装置によれば、文字認識結果に対して、正規表現検索を行うことによって検索対象を少なくすることができる。
【００１７】
請求項４の情報処理装置によれば、文字認識結果に対して、認識文字の位置が候補の範囲に該当するものを抽出することによって検索対象を少なくすることができる。
【００１８】
請求項５の情報処理装置によれば、文字認識結果に対して、認識文字の大きさが候補の範囲に該当するものを抽出することによって検索対象を少なくすることができる。
【００１９】
請求項６の情報処理装置によれば、文字認識結果に対して、認識文字の色が候補の範囲に該当するものを抽出することによって検索対象を少なくすることができる。
【００２０】
請求項７の情報処理プログラムによれば、画像内に含まれている表示文字列が認識された場合に、その表示文字列に対応する処理を行うことができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示すフローチャートである。
【図３】第１の実施の形態が対象とするテキスト列の例を示す説明図である。
【図４】表示文字列・コマンドテーブルのデータ構造例を示す説明図である。
【図５】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図６】第２の実施の形態による処理例を示すフローチャートである。
【図７】第２の実施の形態が対象とするテキスト列の例を示す説明図である。
【図８】表示文字列・コマンドテーブルのデータ構造例を示す説明図である。
【図９】第３実施の形態の構成例についての概念的なモジュール構成図である。
【図１０】第３の実施の形態による処理例を示すフローチャートである。
【図１１】第３の実施の形態による処理例を示す説明図である。
【図１２】カメラ付携帯情報端末が文書を撮影する例を示す説明図である。
【図１３】画像における座標系の例を示す説明図である。
【図１４】文字位置座標の例を示す説明図である。
【図１５】文字候補位置情報の例を示す説明図である。
【図１６】第４の実施の形態の構成例についての概念的なモジュール構成図である。
【図１７】第４の実施の形態による処理例を示すフローチャートである。
【図１８】第５の実施の形態の構成例についての概念的なモジュール構成図である。
【図１９】第５の実施の形態による処理例を示すフローチャートである。
【図２０】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
まず、本実施の形態を説明する前に、その前提となる技術について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
例えば、特許文献１に記載の技術では、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）付属カメラで、画像を撮影し、その画像内の文字を認識し、画像内に記載されているＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ、なお、ＵＲＩ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒを含む）を抽出する。予め「ｈｔｔｐ：／／」等のキーワードを登録しておき、キーワードで開始する文字列を抽出する。そして、認識したＵＲＬ（ＵＲＩ）をｗｅｂブラウザで自動表示する。
また、例えば、特許文献２に記載の技術では、ＰＤＡ、ＰＣ付属カメラで、画像を撮影し、その画像内の文字を認識し、画像内に記載されているコマンドを抽出する。例えば、予め「ワードプロセッサ」という単語をコマンド名として登録しておき、文字認識結果が登録してあるコマンド名と合致すれば、コマンドとして抽出する。そして、コマンドの次の文字列を引数として抽出し、コマンドと引数を用いて、アプリケーション（コンピュータ・プログラム）を起動する。例えば、コマンドが「ワードプロセッサ」、引数が「文書」である場合、「ワードプロセッサ」というアプリケーションを起動して、「文書」を開くことになる。
これらの技術では、画像内にＵＲＬやコマンド名がそのまま記載されているときのみ、ｗｅｂブラウザ等のコマンドを自動起動させることができるものである。
文書にＵＲＬを直接記載すると、画像としては煩雑となってしまい、デザイン性が失われる場合が多い。例えば、ＵＲＬには、意味の無い英数字の長い文字列が記載されていることが多く、見た目が美しくない。
また、画像自体は変更せずに、ＵＲＬやコマンドのみを変更したい場合がある。そのため、ＵＲＬやコマンドを変更しようとすると、チラシ、カタログなどの文書のデザインを変更しなければならなくなる。デザインは時間とコストをかけて作成されているものであり、簡単に変更できない。そのため、ＵＲＬやコマンドが簡単に変更できないという問題点がある。
従来技術では、文字認識を行ったテキスト列の中からＵＲＬやコマンドの検索が簡単にできることを前提としている。例えば、登録したＵＲＬやコマンドの種類が莫大である場合に、その検索に時間がかかることとなる。登録したＵＲＬやコマンド数がＮの場合、Ｎ回の検索をテキスト列に対して掛けないといけなくなる。Ｎが大きな数である場合には、現実的な時間で終了しなくなる。
【００２３】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
＜第１の実施の形態＞
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２４】
第１の実施の形態である情報処理装置は、表示文字列が記載された文書を撮影した画像を文字認識し、その表示文字列に対応する処理を行うものであって、図１の例に示すように、文字認識モジュール１１０、文字列検索モジュール１２０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０を有している。表示文字列に対応する処理としては、例えば、ｗｅｂページを自動表示すること、アプリケーションを自動起動すること等がある。具体的には、表示文字列が含まれている文書を、カメラ付きの携帯情報端末で撮影し、その画像を文字認識し、その表示文字列と対応する処理を行わせるものである。
また、表示文字列には、文書においてデザイン上違和感のあるＵＲＬ、コマンドは含まない。つまり、ＵＲＬやコマンドを記載しなくても、ｗｅｂブラウザ等のコマンドを動作させるものである。
【００２５】
文字認識モジュール１１０は、文字列検索モジュール１２０と接続されている。文字認識モジュール１１０は、文字が記載されている画像１０５を受け付け、その画像１０５を文字認識する。画像１０５を受け付けるとは、例えば、カメラ、スキャナ等で画像１０５を読み込むこと、ファックス等で通信回線を介して外部機器から画像１０５を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像１０５を読み出すこと等が含まれる。画像１０５は、２値画像、多値画像（カラー画像を含む）であってもよい。受け付ける画像１０５は、１枚であってもよいし、複数枚であってもよい。また、画像１０５の内容として、広告宣伝用のパンフレット、ビジネスに用いられる文書等であってもよい。文字認識は、既存の技術を用いればよい。
そして、文字認識モジュール１１０の文字認識結果として、テキスト列１１５を文字列検索モジュール１２０に渡す。
【００２６】
表示文字列・コマンドテーブル１４０は、文字列検索モジュール１２０と接続されている。表示文字列・コマンドテーブル１４０は、表示文字列と処理情報（以下、コマンドともいう）を対応させて記憶する。例えば、表示文字列・コマンドテーブル４００を記憶している。図４は、表示文字列・コマンドテーブル４００のデータ構造例を示す説明図である。表示文字列・コマンドテーブル４００は、番号欄４１０、表示文字列欄４２０、コマンド欄４３０を有している。番号欄４１０は、表示文字列とコマンドの対応を、本実施の形態において一意に識別するための番号を記憶している。表示文字列欄４２０は、表示文字列を記憶している。つまり、文字認識の対象となった画像１０５内に記載されている可能性がある表示文字列が記憶されている。コマンド欄４３０は、その表示文字列に対応するコマンドを記憶している。コマンド欄４３０に記憶させるコマンドとして、ＵＲＬであってもよく、その場合のコマンド処理は、そのＵＲＬにアクセスするためのｗｅｂブラウザを起動することである。また、コマンド欄４３０に記憶させるコマンドとして、アプリケーション名及びその引数（引数が無い場合もある）であってもよく、その場合のコマンド処理は、そのアプリケーションを起動することである。
【００２７】
文字列検索モジュール１２０は、文字認識モジュール１１０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０と接続されている。文字列検索モジュール１２０は、文字認識結果であるテキスト列１１５内から表示文字列・コマンドテーブル１４０に記憶されている表示文字列を検索する。具体的には、表示文字列・コマンドテーブル４００の表示文字列欄４２０が記憶している表示文字列とテキスト列１１５とのマッチング処理を行う。
そして、文字列検索モジュール１２０は、その検索によってテキスト列１１５内から表示文字列が検索できた場合は、表示文字列・コマンドテーブル１４０からその表示文字列に対応する処理情報を抽出する。具体的には、検索された表示文字列に対応する表示文字列・コマンドテーブル４００のコマンド欄４３０が記憶しているコマンド１２５を抽出する。
【００２８】
コマンド処理モジュール１５０は、文字列検索モジュール１２０と接続されている。コマンド処理モジュール１５０は、文字列検索モジュール１２０によって抽出された処理情報であるコマンド１２５に基づいて、処理を行う。前述したように、コマンド１２５がＵＲＬである場合は、そのＵＲＬにアクセスするためのｗｅｂブラウザを起動する。また、コマンド１２５がアプリケーション名及びその引数である場合は、そのアプリケーションを起動する。
【００２９】
図２は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、文字認識モジュール１１０が、画像１０５を受け付ける。例えば、デジタルカメラ、カメラ付きスマートフォン等の携帯情報端末で、写真を取得する。カタログなどの文書における商品の写真を撮る。写真はデジタル画像（画像１０５）として取り込まれる。
ステップＳ２０４では、文字認識モジュール１１０が、画像１０５を文字認識する。つまり、画像１０５は文字認識されて、画像１０５中の文字がテキスト列１１５に変換されて出力される。例えば、文字認識結果であるテキスト列１１５として、図３に例示のテキスト列３１５である「商品の説明文：本商品（商品番号１２３−４５６）は大変お買い得で、センスも良く、お値段も手ごろ。そのうえ、色や形も抜群。買わない手はありません。」がある。
【００３０】
ステップＳ２０６では、文字列検索モジュール１２０が、表示文字列・コマンドテーブル１４０から表示文字列を抽出する。例えば、表示文字列・コマンドテーブル１４０内の表示文字列・コマンドテーブル４００には、表示文字列（表示文字列欄４２０）とコマンド（コマンド欄４３０）がペアとなって格納されている。表示文字列は画像１０５内に記入される可能性のある文字列である。図４の例では、表示文字列として、商品番号が格納されている。また、コマンドとしてＵＲＬが格納されている。番号（番号欄４１０）の１番から順に、表示文字列を表示文字列・コマンドテーブル４００から抽出する。
ステップＳ２０８では、文字列検索モジュール１２０が、文字認識結果内から表示文字列を検索する。つまり、ステップＳ２０６で抽出した表示文字列をクエリとして、テキスト列１１５の検索を行う。検索は一般の全文検索アルゴリズム等を利用すればよい。図３、図４の例では、表示文字列・コマンドテーブル４００内の１番目の「１２３−４５６」が、テキスト列３１５から検索されることとなる。
【００３１】
ステップＳ２１０では、文字列検索モジュール１２０が、文字認識結果内に表示文字列があるか否かを判断し、ある場合はステップＳ２１２へ進み、それ以外の場合はステップＳ２１６へ進む。検索にヒットした場合（ステップＳ２１０でＹ）、テキスト列１１５の中に抽出した表示文字列が存在していることとなる。
ステップＳ２１２では、文字列検索モジュール１２０が、表示文字列・コマンドテーブル１４０から検索された表示文字列に対応するコマンド１２５を抽出する。例えば、表示文字列・コマンドテーブル４００内で、その表示文字列とペアになっているコマンド１２５を抽出する。
ステップＳ２１４では、コマンド処理モジュール１５０が、コマンド１２５を解釈して、そのコマンド１２５の処理を行う。図３、図４の例では、検索された表示文字列に対応するＵＲＬ（表示文字列・コマンドテーブル４００内の番号：１のｈｔｔｐ：／／ｗｗｗ．ａｂｃ．ｄｅｆ／ｘｘｘ）をｗｅｂブラウザで表示する。
ステップＳ２１６では、エラー処理を行う。例えば、「撮影した画像内には、コマンドに対応する表示文字列が無い」旨を、表示装置に表示するようにしてもよい。また、単に文書を撮影したのみで、エラー表示等の処理は行わなくてもよい。
【００３２】
＜第２の実施の形態＞
図５は、第２の実施の形態の構成例についての概念的なモジュール構成図である。
なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する（以下、同様）。
第２の実施の形態である情報処理装置は、表示文字列が記載された文書を撮影した画像を文字認識し、その表示文字列に対応する処理を行うものであって、図５の例に示すように、文字認識モジュール１１０、正規表現検索モジュール５２０、文字列ＤＢ検索モジュール５３０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０を有している。特に、登録した表示文字列の数が膨大であっても、現実的な時間で動作する。
【００３３】
表示文字列・コマンドテーブル１４０が記憶している表示文字列と処理情報の対応は多くてもよい。第１の実施の形態では、各行毎に表示文字列をクエリとしてテキスト列内の文字列を検索する例を示したが、その方法では、表示文字列数に比例する時間が検索に必要となる。１検索に１ｍｓ必要な場合、かつ、１００万この表示文字列がある場合を例にとると、１０００秒必要になってしまう。
そこで、第２の実施の形態では以下の動作を行う。
まず、全表示文字列（又は、大部分の表示文字列）に合致する正規表現５１７を生成する。例えば、表示文字列・コマンドテーブル１４０内の表示文字列を解析して、「３桁の数字−３桁の数字」という正規表現５１７を生成する。正規表現５１７の生成は、既存の手法を用いればよい。この正規表現５１７をクエリとして、正規表現検索モジュール５２０は、テキスト列１１５に対して正規表現検索を行う。正規表現検索としては、正規表現ライブラリを用いたり、ｇｒｅｐコマンドを用いたりすれば実現できる。
正規表現検索モジュール５２０は、正規表現検索にヒットした場合の文字列（抽出文字列５２５）を文字列ＤＢ検索モジュール５３０に渡す。図７の例で、「３桁の数字−３桁の数字」という正規表現の場合、「１２３−４５６」、「３３３−３３３」の２つの文字列が抽出文字列５２５としてある。
これらの抽出文字列５２５をクエリとして、文字列ＤＢ検索モジュール５３０が、表示文字列・コマンドテーブル１４０から、抽出文字列５２５に合致する表示文字列を検索する。この検索方法としては、一般的な文字列検索を用いることができる。
文字列ＤＢ検索モジュール５３０における検索の結果、ヒットした表示文字列に対応するコマンド１２５を出力する。
このようにすることによって、表示文字列・コマンドテーブル１４０内の全ての表示文字列をクエリにする必要がなくなり、検索が高速化される。
【００３４】
図５の例に示したモジュール間の関係、処理としては、以下のようになる。
文字認識モジュール１１０は、正規表現検索モジュール５２０と接続されている。
正規表現検索モジュール５２０は、文字認識モジュール１１０、文字列ＤＢ検索モジュール５３０と接続されている。正規表現検索モジュール５２０は、文字認識結果であるテキスト列１１５内から表示文字列としての候補を検索する。ここでの候補は、表示文字列の一部又は全てを示す正規表現で記載された情報であり、正規表現検索モジュール５２０は、テキスト列１１５に対して、候補の正規表現検索を行うことによって検索する。
文字列ＤＢ検索モジュール５３０は、正規表現検索モジュール５２０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０と接続されている。文字列ＤＢ検索モジュール５３０は、正規表現検索モジュール５２０によって検索された候補内から表示文字列を検索する。
表示文字列・コマンドテーブル１４０は、文字列ＤＢ検索モジュール５３０と接続されている。コマンド処理モジュール１５０は、文字列ＤＢ検索モジュール５３０と接続されている。
【００３５】
図６は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ６０２では、文字認識モジュール１１０が、画像１０５を受け付ける。ステップＳ２０２と同等の処理を行う。
ステップＳ６０４では、文字認識モジュール１１０が、画像１０５を文字認識する。ステップＳ２０４と同等の処理を行う。図７に例示のテキスト列７１５である「商品の説明文：本商品（商品番号１２３−４５６）は大変お買い得で、センスも良く、お値段も手ごろ。そのうえ、色や形も抜群。買わない手はありません。電話番号は３３３−３３３３」がある。
【００３６】
ステップＳ６０６では、正規表現検索モジュール５２０が、表示文字列・コマンドテーブル１４０内の表示文字列から生成された正規表現５１７を受け付ける。例えば、表示文字列・コマンドテーブル１４０内には図８に例示の表示文字列・コマンドテーブル８００が記憶されている。表示文字列・コマンドテーブル８００は、図４に例示の表示文字列・コマンドテーブル４００と同等のものである。ただし、表示文字列・コマンドテーブル８００の行数（表示文字列とコマンドの対応の数）は多い。表示文字列・コマンドテーブル８００の表示文字列欄８２０内の表示文字列を解析することによって、「３桁の数字−３桁の数字」という正規表現５１７を生成する。
ステップＳ６０８では、正規表現検索モジュール５２０が、文字認識結果内から正規表現５１７に合致する文字列を検索する。ここでの検索は、正規表現検索である。図７の例では、「１２３−４５６」と「３３３−３３３」が検索されることとなり、これらの文字列が抽出文字列５２５となる。
ステップＳ６１０では、文字列ＤＢ検索モジュール５３０が、表示文字列・コマンドテーブル１４０から抽出文字列５２５を検索する。前述の例では、「１２３−４５６」と「３３３−３３３」の２つだけが対象となり、「１２３−４５６」が検索される。
【００３７】
ステップＳ６１２では、文字列検索モジュール１２０が、文字認識結果（抽出文字列５２５）内に表示文字列があるか否かを判断し、ある場合はステップＳ６１４へ進み、それ以外の場合はステップＳ６１８へ進む。ステップＳ２１０と同等の処理を行う。
ステップＳ６１４では、文字列検索モジュール１２０が、表示文字列・コマンドテーブル１４０から検索された表示文字列に対応するコマンド１２５を抽出する。ステップＳ２１２と同等の処理を行う。
ステップＳ６１６では、コマンド処理モジュール１５０が、コマンド１２５を解釈して、そのコマンド１２５の処理を行う。ステップＳ２１４と同等の処理を行う。
ステップＳ６１８では、エラー処理を行う。ステップＳ２１６と同等の処理を行う。
【００３８】
また、第２の実施の形態では、画像１０５として静止画、動画像のいずれであってもよい。その場合、文字認識モジュール１１０が、画像１０５が動画像であるか否かを判断する。画像１０５が動画像である場合、その動画像を構成する複数のフレーム画像を、文字認識モジュール１１０が文字認識する。その結果、フレーム画像毎に、テキスト列１１５を生成する。そして、正規表現検索モジュール５２０は、正規表現５１７に合致する文字列がある最初のフレーム画像におけるテキスト列１１５を対象として処理を行う。例えば、操作者がカメラ付きスマートフォンの操作を誤って、静止画ではなく、動画像の撮影をした場合であっても高速に処理ができるようにしている。
【００３９】
＜第３の実施の形態＞
図９は、第３実施の形態の構成例についての概念的なモジュール構成図である。
第３の実施の形態である情報処理装置は、表示文字列が記載された文書を撮影した画像を文字認識し、その表示文字列に対応する処理を行うものであって、図９の例に示すように、文字認識モジュール１１０、候補位置文字抽出モジュール９２０、文字列ＤＢ検索モジュール５３０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０を有している。特に、登録した表示文字列の数が膨大であっても、現実的な時間で動作する。
【００４０】
図１１、図１２の例を用いて説明する。図１１（ａ）の例に示すように、文書１１００には、複数の商品（商品名、商品の説明、商品番号等を含む）が記載されているとする。ここで、コマンド処理モジュール１５０が行う処理は、商品の詳細情報が記載されているＵＲＬを表示することとする。
図１２の例に示すように、操作者はカメラ付携帯情報端末１２１０を用いて文書１１００を撮影する。その際、操作者は、図１１（ｂ）の例に示すユーザの撮影画像１１１０のように、詳細情報を取得したい商品が中心となるように撮影することが多い。操作者は、自分が撮影した商品に関するｗｅｂページが自動で表示されることを期待しているからである。また、詳細情報を取得したい商品（コマンド処理モジュール１５０における処理が行われる画像）が中心となるように撮影する旨を提示するようにしてもよい。
第３の実施の形態では、まず、ユーザの撮影画像１１１０（画像１０５）を文字認識モジュール１１０が文字認識し、文字認識結果テキスト列１１２０を得る。ところが、操作者は、単に「中心となるように撮影」するだけであるため、対象とすべき表示文字列だけを抽出できるとは限らない。文書内の隣接する別の商品の画像や説明が写り込む可能性が大きい。図１１（ｂ）の例では、右側のシャツの画像、その説明文Ｂ等が該当する。
そこで、候補位置文字抽出モジュール９２０は、図１１（ｃ）の例に示す文字認識結果テキスト列１１２０（テキスト列・各文字位置９１５）内から、後段の文字列ＤＢ検索モジュール５３０で利用可能な候補文字列である抽出結果１１２５（抽出文字列５２５）を抽出する。
第３の実施の形態では、ユーザの撮影画像１１１０中の位置情報を利用する。候補位置文字抽出モジュール９２０は、文字候補位置情報９１７を受け付ける。また、文字認識モジュール１１０の文字認識結果として、テキスト列に加えて、各文字位置情報（テキスト列・各文字位置９１５）を得る。文字候補位置情報９１７と、文字位置の詳細例については、図１３〜１５を用いて後述する。
候補位置文字抽出モジュール９２０では、文字候補位置情報９１７に合致する文字列を文字認識結果テキスト列１１２０から抽出する。抽出結果は、図１１（ｄ）の例に示す抽出結果１１２５のようになる。このように文字認識結果のテキスト列の内容を限定することができて、隣接する画像（商品等）の影響を避けることができる。
抽出文字列５２５から、さらに、第２の実施の形態の正規表現検索モジュール５２０によって正規表現で再抽出してもよい。
【００４１】
図９の例に示したモジュール間の関係、処理としては、以下のようになる。
文字認識モジュール１１０は、候補位置文字抽出モジュール９２０と接続されている。
候補位置文字抽出モジュール９２０は、文字認識モジュール１１０、文字列ＤＢ検索モジュール５３０と接続されている。候補位置文字抽出モジュール９２０は、文字認識結果であるテキスト列・各文字位置９１５内から表示文字列としての候補を検索する。ここでの候補は、表示文字が存在する位置の範囲を示す情報（文字候補位置情報９１７）であり、テキスト列・各文字位置９１５には、各文字の位置が含まれており、候補位置文字抽出モジュール９２０は、テキスト列・各文字位置９１５に対して、認識文字の位置が候補の範囲に該当するものを抽出することによって検索する。なお、文字候補位置情報９１７は、予め定められた範囲を示す値であってもよいし、画像１０５内の属性情報として含まれているピント位置の情報を用いてもよい。例えば、そのピント位置を中心として、予め定められた長さの辺の矩形で定義される文字候補位置情報９１７であってもよい。
文字列ＤＢ検索モジュール５３０は、候補位置文字抽出モジュール９２０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０と接続されている。文字列ＤＢ検索モジュール５３０は、候補位置文字抽出モジュール９２０によって検索された候補（抽出文字列５２５）内から表示文字列を検索する。
表示文字列・コマンドテーブル１４０は、文字列ＤＢ検索モジュール５３０と接続されている。コマンド処理モジュール１５０は、文字列ＤＢ検索モジュール５３０と接続されている。
【００４２】
図１０は、第３の実施の形態による処理例を示すフローチャートである。
ステップＳ１００２では、文字認識モジュール１１０が、画像１０５を受け付ける。ステップＳ２０２と同等の処理を行う。
ステップＳ１００４では、文字認識モジュール１１０が、画像１０５を文字認識し、各文字の位置を抽出する。ステップＳ２０４と同等の処理を行うが、各文字のテキスト情報とともにその文字の位置をも抽出する。
ステップＳ１００６では、候補位置文字抽出モジュール９２０が、文字候補位置情報９１７を受け付ける。
ステップＳ１００８では、候補位置文字抽出モジュール９２０が、文字認識結果であるテキスト列・各文字位置９１５内の文字候補位置情報９１７に該当する文字列（抽出文字列５２５）を抽出する。
ステップＳ１０１０では、文字列ＤＢ検索モジュール５３０が、表示文字列・コマンドテーブル１４０から表示文字列を抽出する。ステップＳ２０６と同等の処理を行う。
【００４３】
ステップＳ１０１２では、抽出文字列５２５内から表示文字列を検索する。つまり、ステップＳ１０１０で抽出した表示文字列をクエリとして、抽出文字列５２５の検索を行う。検索は一般の検索アルゴリズムを利用すればよい
ステップＳ１０１４では、文字列検索モジュール１２０が、文字認識結果（抽出文字列５２５）内に表示文字列があるか否かを判断し、ある場合はステップＳ１０１６へ進み、それ以外の場合はステップＳ１０２０へ進む。
ステップＳ１０１６では、文字列検索モジュール１２０が、表示文字列・コマンドテーブル１４０から検索された表示文字列に対応するコマンド１２５を抽出する。ステップＳ２１２と同等の処理を行う。
ステップＳ１０１８では、コマンド処理モジュール１５０が、コマンド１２５を解釈して、そのコマンド１２５の処理を行う。ステップＳ２１４と同等の処理を行う。
ステップＳ１０２０では、エラー処理を行う。ステップＳ２１６と同等の処理を行う。
【００４４】
図１３は、画像における座標系の例を示す説明図である。図１４は、文字位置座標１４２０の例を示す説明図である。図１５は、文字候補位置情報１５３０の例を示す説明図である。
文字候補位置情報９１７とテキスト列・各文字位置９１５内の文字位置の詳細例を説明する。画像１０５は、画素が２次元に配列された形状で表すことができる。各画素位置をＸとＹの座標で表すことができる。ここでは、画像１３００の左上を原点１３１０として、図１３に示す例のようにＸ軸とＹ軸を規定する。なお、これは一例であって、画素位置が特定できれば、原点１３１０や軸の規定方法は、どのように行ってもよい。
文字認識の結果、ＸＹ座標系における文字位置を得ることができる。図１４に示す例のように、文字認識の対象となった文字画像の外接矩形の左上の座標（文字位置座標１４２０）を文字位置とすることができる。もちろんのことながら、文字位置座標として、左上座標ではなく、右下座標や、外接矩形の中心位置等を用いてもよい。
文字候補位置情報９１７としては、画像１０５の大きさに対する相対的な位置関係を指定する。つまり、図１５に示す例のように、画像１３００のサイズをＸ軸方向に１、Ｙ軸方向に１として設定した正規化座標系において、抽出したい文字位置の範囲（文字候補位置情報１５３０）を指定する。
文字候補位置情報９１７として、例えば、Ｘ軸方向に０．２〜０．８の範囲、Ｙ軸方向に０．３〜０．７の範囲といった指定を行うことができる。
文字認識で得られたテキスト列・各文字位置９１５の文字位置も、同様にＸ軸方向とＹ軸方向に正規化された座標系で表現されていればよい。文字位置が文字候補位置情報９１７で示される領域内に存在しているテキスト列を抽出する。
又は、正規化された座標ではなくてもよい。文字候補位置情報９１７、テキスト列・各文字位置９１５の文字位置は、Ｘ座標、Ｙ座標が整数で規定された画素位置そのものであってもよい。
【００４５】
＜第４の実施の形態＞
図１６は、第４の実施の形態の構成例についての概念的なモジュール構成図である。
第４の実施の形態である情報処理装置は、表示文字列が記載された文書を撮影した画像を文字認識し、その表示文字列に対応する処理を行うものであって、図１６の例に示すように、文字認識モジュール１１０、候補サイズ文字抽出モジュール１６２０、文字列ＤＢ検索モジュール５３０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０を有している。特に、登録した表示文字列の数が膨大であっても、現実的な時間で動作する。
第３の実施の形態では文字候補位置情報９１７を用いて限定したが、第４の実施の形態では文字候補サイズ情報１６１７を用いて限定する。
【００４６】
第３の実施の形態で規定したような座標系で、文字サイズを規定すればよい。文字認識モジュール１１０による文字認識の結果、各文字の外接矩形のサイズ（縦画素数、横画素数）を抽出する。その画素数を画像１０５のサイズ（縦画素数と横画素数）で正規化して、本実施の形態で扱える文字サイズを得る。
候補サイズ文字抽出モジュール１６２０は、その文字サイズをテキスト列とともに文字認識結果として受け取る。
また、文字候補サイズ情報１６１７として、例えば、横サイズ範囲０．０１〜０．１、縦サイズ範囲０．０１〜０．１等の閾値を設定する。
文字認識結果としての文字サイズが、文字候補サイズ情報１６１７で定められる範囲に収まっていれば、抽出文字列１６２５として文字列ＤＢ検索モジュール５３０へ出力する。この範囲に収まっていないものは、抽出文字列１６２５として出力しない（表示文字列が含まれていないとして除外する）。
なお、文字候補サイズ情報１６１７で定められる範囲と文字サイズの関係として、以下のいずれであってもよい。
（１）文字サイズが縦横共に範囲内にあるときのみ、該当する文字認識結果のテキスト列を抽出文字列１６２５として出力する。
（２）文字サイズの縦横どちらか一方が範囲内にあれば、該当する文字認識結果のテキスト列を抽出文字列１６２５として出力する。
また、文字候補サイズ情報１６１７として、外接矩形の面積を指定してもよいし、文字列のサイズを指定してもよい。また、文字列が横書きの場合、文字列の高さの範囲を指定するようにしてもよい。文字列が縦書きの場合、文字列の幅の範囲を指定するようにしてもよい。
【００４７】
図１６の例に示したモジュール間の関係、処理としては、以下のようになる。
文字認識モジュール１１０は、候補サイズ文字抽出モジュール１６２０と接続されている。
候補サイズ文字抽出モジュール１６２０は、文字認識モジュール１１０、文字列ＤＢ検索モジュール５３０と接続されている。候補サイズ文字抽出モジュール１６２０は、文字認識結果であるテキスト列・各文字サイズ１６１５内から表示文字列としての候補を検索する。ここでの候補は、表示文字の大きさの範囲を示す情報（文字候補サイズ情報１６１７）であり、テキスト列・各文字サイズ１６１５には、各文字の大きさが含まれており、候補サイズ文字抽出モジュール１６２０は、テキスト列・各文字サイズ１６１５に対して、認識文字の大きさが候補の範囲に該当するものを抽出することによって検索する。
文字列ＤＢ検索モジュール５３０は、候補サイズ文字抽出モジュール１６２０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０と接続されている。文字列ＤＢ検索モジュール５３０は、候補サイズ文字抽出モジュール１６２０によって検索された候補（抽出文字列１６２５）内から表示文字列を検索する。
表示文字列・コマンドテーブル１４０は、文字列ＤＢ検索モジュール５３０と接続されている。コマンド処理モジュール１５０は、文字列ＤＢ検索モジュール５３０と接続されている。
【００４８】
図１７は、第４の実施の形態による処理例を示すフローチャートである。
ステップＳ１７０２では、文字認識モジュール１１０が、画像１０５を受け付ける。ステップＳ２０２と同等の処理を行う。
ステップＳ１７０４では、文字認識モジュール１１０が、画像１０５を文字認識し、各文字のサイズを抽出する。ステップＳ２０４と同等の処理を行うが、各文字のテキスト情報とともにその文字のサイズをも抽出する。
ステップＳ１７０６では、候補サイズ文字抽出モジュール１６２０が、文字候補サイズ情報１６１７を受け付ける。
ステップＳ１７０８では、候補サイズ文字抽出モジュール１６２０が、文字認識結果であるテキスト列・各文字サイズ１６１５内の文字候補サイズ情報１６１７に該当する文字列（抽出文字列１６２５）を抽出する。
ステップＳ１７１０では、文字列ＤＢ検索モジュール５３０が、表示文字列・コマンドテーブル１４０から表示文字列を抽出する。ステップＳ２０６と同等の処理を行う。
【００４９】
ステップＳ１７１２では、抽出文字列１６２５内から表示文字列を検索する。つまり、ステップＳ１７１０で抽出した表示文字列をクエリとして、抽出文字列１６２５の検索を行う。検索は一般の検索アルゴリズムを利用すればよい
ステップＳ１７１４では、文字列検索モジュール１２０が、文字認識結果（抽出文字列１６２５）内に表示文字列があるか否かを判断し、ある場合はステップＳ１７１６へ進み、それ以外の場合はステップＳ１７２０へ進む。
ステップＳ１７１６では、文字列検索モジュール１２０が、表示文字列・コマンドテーブル１４０から検索された表示文字列に対応するコマンド１２５を抽出する。ステップＳ２１２と同等の処理を行う。
ステップＳ１７１８では、コマンド処理モジュール１５０が、コマンド１２５を解釈して、そのコマンド１２５の処理を行う。ステップＳ２１４と同等の処理を行う。
ステップＳ１７２０では、エラー処理を行う。ステップＳ２１６と同等の処理を行う。
【００５０】
＜第５の実施の形態＞
図１８は、第５の実施の形態の構成例についての概念的なモジュール構成図である。
第５の実施の形態である情報処理装置は、表示文字列が記載された文書を撮影した画像を文字認識し、その表示文字列に対応する処理を行うものであって、図１８の例に示すように、文字認識モジュール１１０、候補色文字抽出モジュール１８２０、文字列ＤＢ検索モジュール５３０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０を有している。特に、登録した表示文字列の数が膨大であっても、現実的な時間で動作する。
第３の実施の形態では文字候補位置情報９１７、第４の実施の形態では文字候補サイズ情報１６１７を用いて限定したが、第５の実施の形態では文字候補色情報１８１７（例えば、黒、赤等を示す情報）を用いて限定する。
【００５１】
候補色文字抽出モジュール１８２０は、文字認識モジュール１１０から文字認識結果としてテキスト列とともに各文字の色（テキスト列・各文字色１８１５）を受け取る。また、候補色文字抽出モジュール１８２０は、文字認識結果内の文字位置情報から得られた文字位置と画像１０５から、文字認識結果として各文字の色を抽出するようにしてもよい。
文字候補色情報１８１７として、文字色の範囲を規定する。文字候補色情報１８１７によって規定された範囲内の色の文字だけを抽出文字列１８２５として文字列ＤＢ検索モジュール５３０へ出力する。例えば、文字候補色情報１８１７として、色差成分の信号強度を規定する。文字色をＹＣｂＣｒに色変換を行う。
色差成分強度Ｃ＝ｓｑｒｔ（Ｃｂ２＋Ｃｒ２）として定義する。（ｓｑｒｔは平方根を取得する関数）
文字候補色情報１８１７として、輝度情報ＴＹと、色成分強度の閾値ＴＣを設定する。Ｙ＜ＴＹかつ、Ｃ＜ＴＣの場合に、候補色文字抽出モジュール１８２０が、該当するテキスト列を抽出する。例えば、この場合は、黒文字のみを抽出する場合に相当する。
【００５２】
図１８の例に示したモジュール間の関係、処理としては、以下のようになる。
文字認識モジュール１１０は、候補色文字抽出モジュール１８２０と接続されている。
候補色文字抽出モジュール１８２０は、文字認識モジュール１１０、文字列ＤＢ検索モジュール５３０と接続されている。候補色文字抽出モジュール１８２０は、文字認識結果であるテキスト列・各文字色１８１５内から表示文字列としての候補を検索する。ここでの候補は、表示文字の色の範囲を示す情報（文字候補色情報１８１７）であり、テキスト列・各文字色１８１５には、各文字の色が含まれており、候補色文字抽出モジュール１８２０は、テキスト列・各文字色１８１５に対して、認識文字の色が候補の範囲に該当するものを抽出することによって検索する。
文字列ＤＢ検索モジュール５３０は、候補色文字抽出モジュール１８２０、表示文字列・コマンドテーブル１４０、コマンド処理モジュール１５０と接続されている。文字列ＤＢ検索モジュール５３０は、候補色文字抽出モジュール１８２０によって検索された候補（抽出文字列１８２５）内から表示文字列を検索する。
表示文字列・コマンドテーブル１４０は、文字列ＤＢ検索モジュール５３０と接続されている。コマンド処理モジュール１５０は、文字列ＤＢ検索モジュール５３０と接続されている。
【００５３】
図１９は、第５の実施の形態による処理例を示すフローチャートである。
ステップＳ１９０２では、文字認識モジュール１１０が、画像１０５を受け付ける。ステップＳ２０２と同等の処理を行う。
ステップＳ１９０４では、文字認識モジュール１１０が、画像１０５を文字認識し、各文字の色を抽出する。ステップＳ２０４と同等の処理を行うが、各文字のテキスト情報とともにその文字の色をも抽出する。
ステップＳ１９０６では、候補色文字抽出モジュール１８２０が、文字候補色情報１８１７を受け付ける。
ステップＳ１９０８では、候補色文字抽出モジュール１８２０が、文字認識結果であるテキスト列・各文字色１８１５内の文字候補色情報１８１７に該当する文字列（抽出文字列１８２５）を抽出する。
ステップＳ１９１０では、文字列ＤＢ検索モジュール５３０が、表示文字列・コマンドテーブル１４０から表示文字列を抽出する。ステップＳ２０６と同等の処理を行う。
【００５４】
ステップＳ１９１２では、抽出文字列１８２５内から表示文字列を検索する。つまり、ステップＳ１９１０で抽出した表示文字列をクエリとして、抽出文字列１８２５の検索を行う。検索は一般の検索アルゴリズムを利用すればよい
ステップＳ１９１４では、文字列検索モジュール１２０が、文字認識結果（抽出文字列１８２５）内に表示文字列があるか否かを判断し、ある場合はステップＳ１９１６へ進み、それ以外の場合はステップＳ１９２０へ進む。
ステップＳ１９１６では、文字列検索モジュール１２０が、表示文字列・コマンドテーブル１４０から検索された表示文字列に対応するコマンド１２５を抽出する。ステップＳ２１２と同等の処理を行う。
ステップＳ１９１８では、コマンド処理モジュール１５０が、コマンド１２５を解釈して、そのコマンド１２５の処理を行う。ステップＳ２１４と同等の処理を行う。
ステップＳ１９２０では、エラー処理を行う。ステップＳ２１６と同等の処理を行う。
【００５５】
図２０を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図２０に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２０１７と、プリンタなどのデータ出力部２０１８を備えたハードウェア構成例を示している。
【００５６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２００１は、前述の実施の形態において説明した各種のモジュール、すなわち、文字認識モジュール１１０、文字列検索モジュール１２０、コマンド処理モジュール１５０、正規表現検索モジュール５２０、文字列ＤＢ検索モジュール５３０、候補位置文字抽出モジュール９２０、候補サイズ文字抽出モジュール１６２０、候補色文字抽出モジュール１８２０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５７】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２００２は、ＣＰＵ２００１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００３は、ＣＰＵ２００１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２００４により相互に接続されている。
【００５８】
ホストバス２００４は、ブリッジ２００５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２００６に接続されている。
【００５９】
キーボード２００８、マウス等のポインティングデバイス２００９は、操作者により操作される入力デバイスである。ディスプレイ２０１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００６０】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２００１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、画像１０５、テキスト列１１５、コマンド１２５、表示文字列・コマンドテーブル１４０、正規表現５１７、抽出文字列５２５、テキスト列・各文字位置９１５、文字候補位置情報９１７、テキスト列・各文字サイズ１６１５、文字候補サイズ情報１６１７、抽出文字列１６２５、テキスト列・各文字色１８１５、文字候補色情報１８１７、抽出文字列１８２５などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００６１】
ドライブ２０１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２０１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２００７、外部バス２００６、ブリッジ２００５、及びホストバス２００４を介して接続されているＲＡＭ２００３に供給する。リムーバブル記録媒体２０１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００６２】
接続ポート２０１４は、外部接続機器２０１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２０１４は、インタフェース２００７、及び外部バス２００６、ブリッジ２００５、ホストバス２００４等を介してＣＰＵ２００１等に接続されている。通信部２０１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２０１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２０１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６３】
なお、図２０に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２０に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２０に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６４】
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む）、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。例えば、正規表現検索モジュール５２０、候補位置文字抽出モジュール９２０、候補サイズ文字抽出モジュール１６２０、候補色文字抽出モジュール１８２０の２つ以上を組み合わせてもよい。
具体的には、正規表現、文字サイズ、文字位置、文字色を組み合わせて、候補を抽出してもよい。
限定条件１：正規表現
限定条件２：文字サイズ
限定条件３：文字位置
限定条件４：文字色
とした場合、全ての限定条件に合致する文字のみを候補として抽出する。もちろんのことながら、限定条件は１個でも２個でも３個でも４個でもそれ以上でもよい。
正規表現を用いない場合、形態素解析等を用いて単語に分離して、分離した単語を用いて、文字列ＤＢ検索モジュール５３０が表示文字列・コマンドテーブル１４０を検索してもよい。
【００６５】
文字列検索モジュール１２０（文字列ＤＢ検索モジュール５３０）は、複数の表示文字列が検索にヒットした場合、その表示文字列に対応するコマンド１２５の全てを、コマンド処理モジュール１５０に出力してもよいし、最初のコマンド１２５だけを、コマンド処理モジュール１５０に出力してもよい。
前述の例ではコマンド１２５としてＵＲＬを示したが、ＵＲＬではなく、アプリケーション名、引数等であってもよく、コンピュータのアプリケーションを起動できるものであればよい。
図４、図８の例に示したテーブルの行に番号が振ってあるが、この番号は無くてもよい。
情報処理装置として、文字認識モジュール１１０は必須ではない。文字認識結果を受け付けることができれば、同様の処理、効果を得ることができる。
表示文字列・コマンドテーブル１４０の内容を書き換えることによって、表示文字列は変更せずに（つまり、撮影対象である文書の内容は変更することなしに）、コマンドだけ（ＵＲＬだけ）を変更することが可能となる。
正規表現が表示文字列の全てを表現していない場合は、表現していない表示文字列を個々にクエリとして検索すればよい。
前述の例では、正規表現としていたが、類似の文字列限定方法であればよい。例えば、数字だけを抽出して、抜き出す等の単純な方式でもよい。
【００６６】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６７】
１１０…文字認識モジュール
１２０…文字列検索モジュール
１４０…表示文字列・コマンドテーブル
１５０…コマンド処理モジュール
５２０…正規表現検索モジュール
５３０…文字列ＤＢ検索モジュール
９２０…候補位置文字抽出モジュール
１６２０…候補サイズ文字抽出モジュール
１８２０…候補色文字抽出モジュール
【図１】
2015072533.tif 000003
【図２】
2015072533.tif 000004
【図３】
2015072533.tif 000005
【図４】
2015072533.tif 000006
【図５】
2015072533.tif 000007
【図６】
2015072533.tif 000008
【図７】
2015072533.tif 000009
【図８】
2015072533.tif 000010
【図９】
2015072533.tif 000011
【図１０】
2015072533.tif 000012
【図１１】
2015072533.tif 000013
【図１２】
2015072533.tif 000014
【図１３】
2015072533.tif 000015
【図１４】
2015072533.tif 000016
【図１５】
2015072533.tif 000017
【図１６】
2015072533.tif 000018
【図１７】
2015072533.tif 000019
【図１８】
2015072533.tif 000020
【図１９】
2015072533.tif 000021
【図２０】
2015072533.tif 000022