(57)【特許請求の範囲】
【請求項１】
第１言語の文字を認識するための辞書が記憶される第１辞書データと、
前記第１言語とは異なる第２言語の文字を認識するための辞書が記憶される第２辞書データと、
少なくとも前記第１言語の文字列および前記第２言語の文字列が描画される画像データを含む複数の画像データが格納されるデータベースと、
前記画像データに描画される前記複数の文字列を前記第１辞書データと前記第２辞書データを用いて文字認識すると共に、前記データベースの検索を実行するプロセッサと、を具備し、
前記プロセッサは、
前記データベースから前記画像データを読み取り、前記第１辞書データを用いて、前記画像データに含まれる複数の文字列を認識して、その認識した前記複数の文字列に対応する第１文字コード列を生成し、
前記第２辞書データを用いて、前記画像データに含まれる前記複数の文字列を認識して、その認識した前記複数の文字列に対応する第２文字コード列を生成し、
前記第１文字コード列と前記複数の文字列とを対応付けた第１インデックスデータと、前記第２文字コード列と前記複数の文字列とを対応付けた第２インデックスデータとを含む検索用のインデックスデータを生成して前記データベースに記憶し、
キーワードの入力に対し前記検索用のインデックスデータを検索して、前記キーワードと前記第１文字コード列又は前記第２文字コード列が一致する場合は、前記第１文字コード列又は前記第２文字コード列に対応する画像データを前記データベースから読み出す
電子機器。
【請求項２】
前記第１インデックスデータは、前記第１文字コード列と、前記第１文字コード列の位置に対応する前記画像データ内の第１領域の座標とを少なくとも含み、
前記第２インデックスデータは、前記第２文字コード列と、前記第２文字コード列の位置に対応する前記画像データ内の第２領域の座標とを少なくとも含む請求項１記載の電子機器。
【請求項３】
前記プロセッサは、
前記キーワードが前記第１文字コード列および第２文字コード列に含まれる場合、前記第１領域と前記第２領域が重複しているか否かを判定し、
重複している割合が閾値より大きいと判定した場合、前記第１領域と前記第２領域をマージすると共に、前記第１領域と前記第２領域をハイライトにした前記画像データを表示する請求項２記載の電子機器。
【請求項４】
前記プロセッサは、前記第１領域と前記第２領域とをマージするために、前記第１領域と前記第２領域の中間の領域を算出するか、又は前記第１領域と前記第２領域を包含する領域を算出する請求項３記載の電子機器。
【請求項５】
第１言語の文字列および前記第１言語とは異なる第２言語の文字列が少なくとも描画される画像データを含む複数の画像データが格納されるデータベースから前記画像データを読み取り、
前記第１言語の文字を認識するための辞書が記憶される第１辞書データを用いて、前記画像データに含まれる複数の文字列を認識して、その認識した前記複数の文字列に対応する第１文字コード列を生成し、
前記第２言語の文字を認識するための辞書が記憶される第２辞書データを用いて、前記画像データに含まれる前記複数の文字列を認識して、その認識した前記複数の文字列に対応する第２文字コード列を生成し、
前記第１文字コード列と前記複数の文字列とを対応付けた第１インデックスデータと、前記第２文字コード列と前記複数の文字列とを対応付けた第２インデックスデータとを含む検索用のインデックスデータを生成して前記データベースに記憶し、
キーワードの入力に対し前記検索用のインデックスデータを検索して、前記キーワードと前記第１文字コード列又は前記第２文字コード列が一致する場合は、前記第１文字コード列又は前記第２文字コード列に対応する画像データを前記データベースから読み出す方法。
【請求項６】
コンピュータにより実行されるプログラムであって、前記プログラムは、
第１言語の文字列および前記第１言語とは異なる第２言語の文字列が少なくとも描画される画像データを含む複数の画像データが格納されるデータベースから前記画像データを読み取る手順と、
前記第１言語の文字を認識するための辞書が記憶される第１辞書データを用いて、前記画像データに含まれる複数の文字列を認識する手順と、
その認識した前記複数の文字列に対応する第１文字コード列を生成する手順と、
前記第２言語の文字を認識するための辞書が記憶される第２辞書データを用いて、前記画像データに含まれる前記複数の文字列を認識する手順と、
その認識した前記複数の文字列に対応する第２文字コード列を生成する手順と、
前記第１文字コード列と前記複数の文字列とを対応付けた第１インデックスデータと、前記第２文字コード列と前記複数の文字列とを対応付けた第２インデックスデータとを含む検索用のインデックスデータを生成して前記データベースに記憶する手順と、
キーワードの入力に対し前記検索用のインデックスデータを検索して、前記キーワードと前記第１文字コード列又は前記第２文字コード列が一致する場合は、前記第１文字コード列又は前記第２文字コード列に対応する画像データを前記データベースから読み出す手順と、
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに記載される実施形態は、文字を認識する技術に関する。
【背景技術】
【０００２】
ノートや紙の資料等をスキャンすることによって画像データを生成し、この画像データを用いて文字を認識する光学文字認識（ＯＣＲ）の技術が利用されている。この技術により、画像内の文字がテキスト（文字コード）に変換されるので、そのテキストに対する編集や検索を容易に行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２１８９２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、画像に含まれる文字には、複数の言語の文字が含まれることがある。このような複数の言語の文字を含む画像に対して文字認識処理が施された場合、想定されていない言語の文字を正しく認識できないので、画像をキーワード（文字列）で検索することができない可能性がある。そのため、複数の言語の文字を含む画像をキーワードで検索できる新たな機能の実現が必要である。
【０００５】
本発明は、複数の言語の文字を含む画像をキーワードで検索できる電子機器及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態によれば、電子機器は、第１言語の文字を認識するための辞書が記憶される第１辞書データと、前記第１言語とは異なる第２言語の文字を認識するための辞書が記憶される第２辞書データと、少なくとも前記第１言語の文字列および前記第２言語の文字列が描画される画像データを含む複数の画像データが格納されるデータベースと、前記画像データに描画される前記複数の文字列を前記第１辞書データと前記第２辞書データを用いて文字認識すると共に、前記データベースの検索を実行するプロセッサと、を具備する。前記プロセッサは、前記データベースから前記画像データを読み取り、前記第１辞書データを用いて、前記画像データに含まれる複数の文字列を認識して、その認識した前記複数の文字列に対応する第１文字コード列を生成し、前記第２辞書データを用いて、前記画像データに含まれる前記複数の文字列を認識して、その認識した前記複数の文字列に対応する第２文字コード列を生成し、前記第１文字コード列と前記複数の文字列とを対応付けた第１インデックスデータと、前記第２文字コード列と前記複数の文字列とを対応付けた第２インデックスデータとを含む検索用のインデックスデータを生成して前記データベースに記憶し、キーワードの入力に対し前記検索用のインデックスデータを検索して、前記キーワードと前記第１文字コード列又は前記第２文字コード列が一致する場合は、前記第１文字コード列又は前記第２文字コード列に対応する画像データを前記データベースから読み出す。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る電子機器の外観を示す例示的な斜視図。
【図２】同実施形態の電子機器のシステム構成を示す例示的なブロック図。
【図３】同実施形態の電子機器によって実行されるデジタルノートブックアプリケーションプログラムの機能構成を示す例示的なブロック図。
【図４】同実施形態の電子機器によって、複数の言語環境のための複数の辞書データを用いて画像内の文字が認識される例を説明するための図。
【図５】同実施形態の電子機器によって生成されるインデックスデータの例を示す図。
【図６】同実施形態の電子機器によって、インデックスデータを用いてキーワード検索が行われる例を説明するための図。
【図７】同実施形態の電子機器によって表示される検索結果の例を示す図。
【図８】同実施形態の電子機器によって表示される検索結果の別の例を示す図。
【図９】同実施形態の電子機器によって認識された文字に対応する領域の例を示す図。
【図１０】同実施形態の電子機器によって認識された文字に対応する領域の別の例を示す図。
【図１１】同実施形態の電子機器によって実行される文字認識処理の手順の例を示すフローチャート。
【図１２】同実施形態の電子機器によって実行される検索処理の手順の例を示すフローチャート。
【図１３】同実施形態の電子機器によって実行されるマージ処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、実施の形態について図面を参照して説明する。
【０００９】
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン又は指によって入力可能な携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレット又はスレートコンピュータとも称される携帯型電子機器であり、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。
【００１０】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペン又は指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルである２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１１】
デジタイザ及びタッチパネルの各々は、フラットパネルディスプレイの画面を覆うように設けられる。このタッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えば電磁誘導ペンである。
【００１２】
ユーザは、外部オブジェクト（ペン１００又は指）を使用してタッチスクリーンディスプレイ１７上で、手書きにより複数のストロークを入力する手書き入力操作を行うこともできる。手書き入力操作中においては、画面上の外部オブジェクトの動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が１ストロークに相当する。多数のストロークの集合、つまり多数の軌跡の集合が、手書きの文字又は図形などを構成する。
【００１３】
図２は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、図２に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８、カメラ１０９、等を備える。
【００１４】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種コンポーネントの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム（ＯＳ）２０１、及び各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、デジタルノートブックアプリケーションプログラム２０２が含まれている。このデジタルノートブックアプリケーションプログラム２０２は文書作成機能を有する。作成される文書には、例えば、ソフトウェアキーボードを用いて入力された文字、タッチスクリーンディスプレイ１７を用いて手書き入力された文字や図形、等が含まれる。また、デジタルノートブックアプリケーションプログラム２０２は、このような文書に、不揮発性メモリ１０６等に保存されている画像、ネットワークを介して受信した画像、タブレットコンピュータ１０上で生成された画像（例えば、カメラ１０９を用いて撮影された画像、画面をキャプチャした画像、ペイントアプリケーションを用いて作成された画像、等）を貼り付けることもできるし、そのような画像を文書の一つとして扱うこともできる。
【００１５】
さらに、デジタルノートブックアプリケーションプログラム２０２は、画像内の文字や手書きされた文字をテキスト（文字コード）に変換する文字認識機能と、文書をキーワード（文字列）で検索する検索機能とを有している。デジタルノートブックアプリケーションプログラム２０２は、この検索機能により、ソフトウェアキーボードを用いて入力された文字（文字コード）だけでなく、文字認識機能によってテキスト（文字コード）に変換された画像内の文字や手書きされた文字も検索することができる。
【００１６】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００１７】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００１８】
グラフィクスコントローラ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。このグラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。このＬＣＤ１７Ａ上にはタッチパネル１７Ｂ及びデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置及び接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン１００が接触される画面上の接触位置、接触位置の動き、接触圧力、等はデジタイザ１７Ｃによって検出される。
【００１９】
無線通信デバイス１０７は、無線ＬＡＮ又は３Ｇ／ＬＴＥ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オン又は電源オフする機能を有している。
【００２０】
ところで、画像内の文字や手書きされた文字が認識される場合には、認識のための言語環境が予め決められていることが想定される。例えば、ＯＳ２０１等が日本語で使用されることが指定されている場合、文字認識には日本語環境のための辞書データが用いられる。また、例えば、ＯＳ２０１等が英語で使用されることが指定されている場合、文字認識には英語環境のための辞書データが用いられる。
【００２１】
しかしながら、画像には、複数の言語（例えば、日本語と英語）の文字が含まれることがあり、また、手書きされる文字にも、複数の言語の手書き文字が含まれることがある。このような画像内の複数の言語の文字や複数の言語の手書き文字を、１つの言語環境のための辞書データを用いて認識した場合には、認識精度が低下するので、画像や手書き文書をキーワードで検索した場合の検索精度も低下する。
【００２２】
なお、ユーザが文字認識のための言語環境を指定することも想定される。しかし、例えば、画像や手書き文書毎に、ユーザが文字認識のための言語環境を指定する操作を行うことは、ユーザにとって非常に煩雑である。
【００２３】
そのため、本実施形態のデジタルノートブックアプリケーションプログラム２０２は、複数の言語環境のための複数の辞書データを用いて、画像内の文字や手書きされた文字を認識し、その認識結果を不揮発性メモリ１０６等に保存する。この認識結果を用いることにより、デジタルノートブックアプリケーションプログラム２０２は、画像内の文字や手書きされた文字がいずれの言語の文字であるかに関わらず、画像や手書き文書をキーワード（文字列）で精度良く検索することができる。
【００２４】
図３は、本タブレットコンピュータ１０によって実行されるデジタルノートブックアプリケーションプログラム２０２の機能構成の例を示す。デジタルノートブックアプリケーションプログラム２０２は、例えば、文字認識部３１、辞書選択部３２、格納処理部３３、検索部３４、表示制御部３５、マージ部３６、等を備える。なお、以下では、説明を分かりやすくするために、画像内の文字を認識及び検索の対象とした場合について説明する。
【００２５】
画像は、例えば、データベース４２に格納された画像データ４２Ａに基づく画像である。データベース４２には、複数の言語の文字が描画された複数の画像が格納されている。この画像は、例えば、本やノートのページ、資料、貼り紙、ホワイトボード等を撮影又はスキャンして得られた画像、ウェブページやドキュメントが表示された画面のような、文字が表示された画面をキャプチャして得られた画像、等である。この画像に含まれる文字には、複数の言語の文字、例えば、日本語の文字である平仮名と英語の文字であるアルファベットとが含まれ得る。
【００２６】
辞書選択部３２は、画像内の文字を認識するための複数の辞書データ４１を選択する。辞書選択部３２は、例えば、不揮発性メモリ１０６等に格納されている全ての辞書データ４１を選択してもよいし、予め決められたルールに基づいて複数の辞書データ４１を選択してもよい。辞書選択部３２は、例えば、ＯＳ２０１で指定されている言語環境のための辞書データ（例えば、日本語環境のための辞書データ）４１と、他のよく使われている言語に対応する言語環境のための辞書データ（例えば、英語環境のための辞書データ）４１とを選択する。
【００２７】
辞書データ４１は、文字認識のための文字認識辞書データを含む。この文字認識辞書データは、各々が文字とその文字の特徴量とを含む複数のエントリを含む。また、辞書データ４１には、複数の文字のまとまりを認識するための単語知識のデータが含まれていてもよい。
【００２８】
なお、日本語の言語環境では、日本語の文字である平仮名、カタカナ、漢字、数字、及び記号に加えて、アルファベット等の他の言語の文字も用いられることがあるので、ＯＳ２０１やアプリケーションプログラム等はこれらすべての文字を扱うことができるように構成されている。例えば、日本語の言語環境で取り扱われるファイル（文書ファイル、画像ファイル、ウェブページのファイル、等）には、日本語の文字である平仮名、カタカナ、漢字、数字、及び記号に加えて、アルファベット等の他の言語の文字も記述されることが多い。そのため、日本語環境のための辞書データ４１には、平仮名、カタカナ、漢字、数字、及び記号に対応するエントリだけでなく、アルファベット等の他の言語の文字に対応するエントリも含まれている。
【００２９】
また、英語の言語環境では、英語の文字であるアルファベット、数字、記号等が用いられるので、ＯＳ２０１やアプリケーションプログラム等はこれらの文字を扱うことができるように構成されている。例えば、英語の言語環境で取り扱われるファイルには、アルファベット、数字、記号等が記述されることが多い。そのため、英語環境のための辞書データ４１には、アルファベットや数字、記号に対応するエントリが含まれている。
【００３０】
辞書選択部３２は、選択された複数の辞書データ４１の各々を文字認識部３１に出力する。
【００３１】
文字認識部３１は、第１言語環境のための辞書データ４１を用いて、複数の言語の文字を含む複数の画像の内の、第１画像に含まれる少なくとも１つの第１文字を少なくとも１つの第１文字コードに変換し、第２言語環境のための辞書データ４１を用いて、少なくとも１つの第１文字を少なくとも１つの第２文字コードに変換する。格納処理部３３は、少なくとも１つの第１文字コードと、当該第１文字コードに対応する第１画像内の第１領域との組をデータベース４２に格納し、少なくとも１つの第２文字コードと、当該第２文字コードに対応する第１画像内の第２領域との組とをデータベース４２に格納する。
【００３２】
そして、検索部３４は、ユーザによって少なくとも１つの第３文字コードが入力され、当該第３文字コードが第１文字コードに含まれる場合、又は第３文字コードが第２文字コードに含まれる場合、複数の画像から第１画像を抽出する。表示制御部３５は、抽出された第１画像をＬＣＤ１７Ａの画面に表示する。
【００３３】
表示制御部３５は、第３文字コードが前記第１文字コードに含まれる場合、ハイライトされた第１領域を含む第１画像を表示し、第３文字コードが第２文字コードに含まれる場合、ハイライトされた第２領域を含む第１画像を表示する。また、表示制御部３５は、第３文字コードが第１文字コードに含まれ、且つ第３文字コードが第２文字コードに含まれる場合、第１領域と第２領域の中間の領域、又は第１領域と第２領域とを包含する領域をハイライトして第１画像を表示する。
【００３４】
より具体的には、文字認識部３１は、辞書選択部３２によって出力された言語環境毎の辞書データ４１を用いて、画像内の文字を認識する。すなわち、文字認識部３１は、１つの言語環境のための辞書データ４１を用いて、画像に含まれる少なくとも１つの文字を少なくとも１つの文字コードに変換し、これを複数の辞書データ４１のそれぞれについて繰り返し実行する。文字認識部３１は、例えば、画像から文字と推定される領域を抽出し、その領域内の画像特徴量を算出する。文字認識部３１は、辞書データ４１を用いて、算出された画像特徴量との類似度が最も高い特徴量を有する文字（文字コード）を決定する。これにより、画像内の文字をテキスト（文字コード）に変換することができる。
【００３５】
なお、文字認識部３１は、文字認識辞書データを用いて、算出された特徴量との類似度が高い特徴量を有する複数の文字（文字コード）候補を決定してもよい。決定された文字候補と、画像上の近傍（上下左右、等）に描画された文字候補又は画像上の近傍で認識された文字とは、単語のような意味のある文字列を構成している可能性が高い。そのため、文字認識部３１は、単語知識の辞書データ４１を用いて、文字候補から、近傍の文字（又は文字候補）との組み合わせで単語が構成されるような文字候補を選択することにより、画像内の文字をテキスト（文字コード）に変換する。
【００３６】
格納処理部３３は、このような文字認識結果を用いてインデックスデータ４２Ｂを生成し、データベース４２に格納する。格納処理部３３は、例えば、第１言語環境のための辞書データ４１を用いて得られた文字認識結果を用いて、少なくとも１つの第１文字コードと、当該第１文字コードに対応する画像内の第１領域との組を不揮発性メモリ１０６等に格納し、第２言語環境のための辞書データ４１を用いて得られた文字認識結果を用いて、少なくとも１つの第２文字コードと、当該第２文字コードに対応する画像内の第２領域との組を不揮発性メモリ１０６等に格納する。また、格納処理部３３は、文字が認識された画像のデータをデータベース４２に格納してもよい。データベース４２は、不揮発性メモリ１０６や、ネットワークを介して接続されるストレージ等に格納されている。
【００３７】
図４を参照して、複数の言語環境のための複数の辞書データ４１を用いて、画像内の文字が認識される例を説明する。図４に示す画像５１には、英語の文字（アルファベット）からなる文字列“Ｈｅｌｌｏ”５１Ａ及び“Ｗｏｒｌｄ”５１Ｂと、日本語の文字（平仮名）からなる文字列“こんにちは”５１Ｃとが描画されている。
【００３８】
この画像５１内の文字を日本語環境のための辞書データ４１で認識した場合の認識結果５２は、以下の通りである。画像５１内の英語の文字列“Ｈｅｌｌｏ”５１Ａは、英語の文字コード列“Ｈｅｌｌｏ”５２Ａとして正しく認識される。画像５１内の英語の文字列“Ｗｏｒｌｄ”５１Ｂは、日本語の文字コード列“んみむ”５２Ｂとして誤って認識される。そして、画像５１内の日本語の文字列“こんにちは”５１Ｃは、日本語の文字コード列“こんにちは”５２Ｃとして正しく認識される。
【００３９】
上述したように、日本語環境のための辞書データ４１には、アルファベットに対応するエントリも含まれているので、日本語の文字列５１Ｃが正しく認識されるだけでなく、一部の英語の文字列５１Ａも正しく認識されることがある。
【００４０】
また、この画像５１内の文字を英語環境のための辞書データ４１で認識した場合の認識結果５３は、以下の通りである。画像５１内の英語の文字列“Ｈｅｌｌｏ”５１Ａは、英語の文字コード列“Ｈｅｌｌｏ”５３Ａとして正しく認識される。画像５１内の英語の文字列“Ｗｏｒｌｄ”５１Ｂは、英語の文字コード列“Ｗｏｒｌｄ”５３Ｂとして正しく認識される。そして、画像５１内の日本語の文字列“こんにちは”５１Ｃは、英語の文字コード列“ＦｈＩＥｂｌＦ”５３Ｃとして誤って認識される。
【００４１】
英語環境のための辞書データ４１には、日本語の文字に対応するエントリは含まれていないので、英語の文字列５１Ａ，５１Ｂが正しく認識される一方、日本語の文字列５１Ｃは英語の文字コード列５３Ｃとして誤って認識される。このように、画像５１内の文字の言語と、辞書データ４１の言語とが一致していない場合、認識精度は低くなる。
【００４２】
格納処理部３３は、これら複数の言語環境のための複数の辞書データ４１を用いた文字認識結果５２，５３を、認識の正誤にかかわらず、インデックスデータ４２Ｂとしてデータベース４２に保存する。インデックスデータ４２Ｂは、例えば、認識された少なくとも一つの文字と、その文字に対応する領域（例えば、文字を囲む矩形領域）を示す座標との組を含む。
【００４３】
図５は、インデックスデータ４２Ｂの一構成例を示す。インデックスデータ４２Ｂは、画像内の少なくとも１つの文字が認識された少なくとも１つの文字（文字コード）に対応する少なくとも一つのエントリを含む。ある文字に対応するエントリは、例えば、ＩＤ、画像ＩＤ、辞書、文字、領域を含む。「ＩＤ」は、その文字に付与された識別情報を示す。「画像ＩＤ」は、その文字が認識された画像に付与された識別情報を示す。なお、「画像ＩＤ」の代わりに、画像のファイル名（ファイルパス）のような画像を特定可能な情報が用いられてもよい。「辞書」は、その文字の認識に用いられた辞書データを示す。「辞書」には、「日本語」、「英語」のような言語（言語環境）の名称が設定される。なお、「辞書」には、各辞書データに付与された識別情報（辞書ＩＤ）が設定されてもよい。「文字」は、その文字（文字コード）を示す。「領域」は、その文字が認識された画像上の領域を示し、例えば、その文字を包含する矩形領域の左上端の座標と右下端の座標とによって表される。
【００４４】
図５に示すインデックスデータ４２Ｂの例には、図４に示した認識結果５２Ａ，５２Ｂ，５２Ｃにそれぞれ対応するエントリ７１，７２，７３と、認識結果５３Ａ，５３Ｂ，５３Ｃにそれぞれ対応するエントリ７４，７５，７６とが含まれている。日本語環境のための辞書データ４１を用いた認識処理と、英語環境のための辞書データ４１を用いた認識処理が行われたことにより、少なくとも一方の認識処理によって、画像内の文字列５１Ａ，５１Ｂ，５１Ｃが正しく認識され、正しく認識された文字列５２Ａ，５２Ｃ，５３Ａ，５３Ｂに基づくエントリ７１，７３，７４，７５が生成されている。これにより、画像をキーワードで精度良く検索することができる。
【００４５】
なお、このインデックスデータ４２Ｂには、誤って認識された文字列５２Ｂ，５３Ｃのエントリ７２，７６が含まれている。しかし、そのような誤って認識された文字列５２Ｂ，５３Ｃがキーワードとして入力される可能性は低いので、文字列５２Ｂ，５３Ｃのエントリ７２，７６がデータベース４２に格納されていたとしても、検索精度に影響する可能性は低い。
【００４６】
ユーザによってクエリ（以下、キーワードとも称する）が入力された場合、検索部３４は、データベース４２に格納されたインデックスデータ４２Ｂを用いて、入力されたキーワードに対応する画像内の文字を検索する。このクエリは、例えば、ユーザがソフトウェアキーボードやキーボードを用いて入力した少なくとも１つの文字コード（第３文字コード）である。検索部３４は、例えば、インデックスデータ４２Ｂの「文字」の値を、入力されたキーワードで全文検索することにより、キーワードにマッチする文字を含む画像を決定することができる。
【００４７】
図６は、ユーザが入力したキーワード（文字コード列）で、データベース４２が検索される例を示す。以下では、インデックスデータ４２Ｂに、図５に示した複数のエントリ７１〜７６が含まれていることを想定する。
【００４８】
まず、ユーザが文字列（文字コード列）“こんにちは”５５を入力した場合について説明する。検索部３４は、インデックスデータ４２Ｂの複数のエントリ７１〜７６から、この文字列５５と一致する文字列５２Ｃのエントリ７３を抽出する。検索部３４は、抽出されたエントリ７３の「画像ＩＤ」に示される値に基づいて、画像データ４２Ａを読み出す。そして、表示制御部３５は、図７に示すように、抽出されたエントリ７３の「領域」に示される座標を用いて、文字列５２Ｃに対応する矩形領域５１１にハイライト処理を施し、そのハイライトされた領域５１１を含む画像５１を画面に表示する。
【００４９】
次いで、ユーザが文字列“Ｈｅｌｌｏ”５６を入力した場合について説明する。検索部３４は、インデックスデータ４２Ｂの複数のエントリ７１〜７６から、この文字列５６と一致する、文字列５２Ａのエントリ７１と文字列５３Ａのエントリ７４とを抽出する。検索部３４は、抽出されたエントリ７１，７４の「画像ＩＤ」に示される値に基づいて、画像データ４２Ａを読み出す。
【００５０】
マージ部３６は、抽出された２つのエントリ７１，７４が同一の「画像ＩＤ」の値を含み、それら２つのエントリ７１，７４によって示される「領域」が、同一の文字列を囲む領域であると推定される場合、２つのエントリ７１，７４によって示される「領域」をマージする。文字列５２Ａを囲む領域と文字列５３Ａを囲む領域とは、大部分が重複し、同一の文字列を囲む領域であると推定されるので、マージ部３６は、文字列５２Ａを囲む領域と文字列５３Ａを囲む領域とがマージされた領域５１２を算出する。そして、表示制御部３５は、図８に示すように、マージされた領域５１２にハイライト処理を施し、そのハイライトされた領域５１２を含む画像５１を画面に表示する。ハイライトは、例えば、領域５１１に対応する枠線の描画、領域５１１内の背景色の変更、等である。これにより、入力された文字列５５に一致する部分をユーザに分かりやすく提示することができる。
【００５１】
上述したように、日本語環境のための辞書データ４１には、平仮名、カタカナ、漢字、数字、及び記号に対応するエントリだけでなく、アルファベット等の他の言語の文字に対応するエントリも含まれる。また、英語環境のための辞書データ４１には、アルファベットや数字、記号に対応するエントリが含まれる。そのため、例えば、画像内のアルファベットの文字列が、日本語環境のための辞書データ４１を用いた文字認識処理と、英語環境のための辞書データ４１を用いた文字認識処理の両方で正しく認識されることがある。
【００５２】
しかし、日本語環境のための辞書データ４１と英語環境のための辞書データ４１とでは、文字認識のための辞書データ、すなわち、辞書データで規定される文字の特徴量が異なる場合がある。そのため、認識された画像上の文字（文字列）を囲む領域は、２つの辞書データ４１による認識結果で相違する可能性がある。
【００５３】
図９及び図１０は、２つの言語環境のための辞書データ４１を用いた文字認識処理の結果の例を示す。  
図９に示す例では、文字を装飾する要素６１Ａ，６１Ｂ，６１Ｃが文字の一部として認識されなかったために、それら要素６１Ａ，６１Ｂ，６１Ｃが、認識された文字列６１０を囲む領域６１１内に含まれていない。一方、図１０に示す例では、文字を装飾する要素６１Ａ，６１Ｂ，６１Ｃが文字の一部として認識されたので、それら要素６１Ａ，６１Ｂ，６１Ｃが、認識された文字列６１０を囲む領域６１２内に含まれている。これは、例えば、図９に示した例で用いられた辞書データ４１が、文字を装飾する要素を含まないフォント（例えば、ゴシック体）を考慮した文字特徴量を規定していたのに対して、図１０に示した例で用いられた辞書データ４１が、文字を装飾する要素を含むフォント（例えば、Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ）を考慮した文字特徴量を規定していたことによるものである。
【００５４】
そして、これら２つの文字認識結果がインデックスデータ４２Ｂとしてデータベース４２に格納され、データベース４２がキーワード（ここでは、“Ｊａｐａｎ”）で検索された場合、検索部３４は、インデックスデータ４２Ｂに含まれる複数のエントリから、「文字列」の値にそのキーワードが設定されている２つのエントリ（以下、第１エントリと第２エントリとも称する）を抽出する。これら２つのエントリはいずれも、画像６１から認識された文字列“Ｊａｐａｎ”６１０に対応するエントリである。
【００５５】
このような２つのエントリが抽出され、対応する画像６１上の２つの領域６１１，６１２の各々にハイライト処理が施された場合、１つの文字列６１０に対して、ハイライトされた２つの領域６１１，６１２が表示される。そのため、画像６１上に、例えば、１つの文字列６１０を囲むように、数ピクセルだけずれた２つの矩形領域６１１，６１２の枠線が描画されるので、ユーザに見づらさを感じさせる可能性がある。
【００５６】
そのため、マージ部３６は、このような２つの領域６１１，６１２をマージする。より具体的には、検索により抽出された２つのエントリが同一の「画像ＩＤ」の値を含むエントリである場合、マージ部３６は、第１エントリ内の「領域」の値に基づく第１領域６１１と、第２エントリ内の「領域」の値に基づく第２領域６１２とが重複しているか否かを判定する。
【００５７】
２つの領域６１１，６１２が重複している場合、マージ部３６は、第１領域６１１と第２領域６１２の平均面積に対する、重複した面積の割合を算出する。第１領域６１１と第２領域６１２とは、この算出された割合が大きいほど同一の文字の領域に対応している可能性が高いので、マージされることが望ましい。そのため、マージ部３６は、算出された割合がしきい値よりも大きい場合、第１領域６１１と第２領域６１２とをマージする。このしきい値は、例えば、０．９に設定される。つまり、第１領域６１１と第２領域６１２とが重複した領域の面積が、第１領域６１１と第２領域６１２の平均面積の９０パーセント以上を占める場合に、第１領域６１１と第２領域６１２とがマージされる。マージ部３６は、２つの領域をマージするために、例えば、それら２つの領域６１１，６１２の中間の領域を算出するか、又はそれら２つの領域６１１，６１２を包含する領域を算出する。
【００５８】
図９及び図１０に示す例では、第２領域６１２が第１領域６１１を包含しているので、マージ部３６は、マージ結果として、例えば、第２領域６１２を出力する。表示制御部３５は、このマージ結果に基づいて、第２領域６１２にハイライト処理が施された画像６１を画面に表示する。
【００５９】
なお、第１領域６１１と第２領域６１２とが同一の領域（座標）である場合であっても、その同一の領域６１１，６１２に二重にハイライト処理が施されると、例えば、濃いハイライトによって、表示される画像６１が見づらくなる可能性がある。したがって、マージ部３６は、領域６１１と領域６１２とが同一の領域である場合にも、領域６１１，６１２をマージしてもよい。
【００６０】
次いで、図１１のフローチャートを参照して、本タブレットコンピュータ１０によって実行される文字認識処理の手順の例を説明する。
【００６１】
まず、文字認識部３１は、文字を含む画像のデータを読み込む（ブロックＢ１１）。この画像内の文字には、複数の言語の文字、例えば、日本語の文字である平仮名と英語の文字であるアルファベットとが含まれ得る。
【００６２】
次いで、辞書選択部３２は、画像内の文字を認識するための辞書データ４１を選択する（ブロックＢ１２）。文字認識部３１は、選択された辞書データ４１を用いて、画像内の文字を認識する（ブロックＢ１３）。辞書データ４１は、各々が文字とその文字の特徴量とを含む複数のエントリを含む。文字認識部３１は、例えば、画像内の文字と推定される領域を抽出し、その領域内の特徴量を算出し、辞書データ４１を用いて、算出された特徴量との類似度が最も高い特徴量を有する文字を決定することにより、画像内の文字を認識する。
【００６３】
格納処理部３３は、この認識結果を用いてインデックスデータ４２Ｂを生成し、データベース４２に格納する（ブロックＢ１４）。インデックスデータ４２Ｂの構成は、図５を参照して上述した通りである。
【００６４】
次いで、辞書選択部３２は、画像内の文字を認識するための別の辞書データ４１があるか否かを判定する（ブロックＢ１５）。別の辞書データ４１がある場合（ブロックＢ１５のＹＥＳ）、ブロックＢ１２に戻り、その別の辞書データ４１を用いた文字認識処理を続行する。また、別の辞書データ４１がない場合（ブロックＢ１５のＮＯ）、処理を終了する。
【００６５】
図１２のフローチャートは、本タブレットコンピュータ１０によって実行される検索処理の手順の例を示す。この検索処理は、文字認識処理によって構築されたデータベース４２を、ユーザによって入力されたキーワード（文字列）で検索する処理である。
【００６６】
まず、検索部３４は、キーワードが入力されたか否かを判定する（ブロックＢ２１）。ユーザは、タブレットコンピュータ１０の画面上に表示されるソフトウェアキーボードや、タブレットコンピュータ１０に有線又は無線で接続されるキーボード（図示せず）等を用いて、検索のためのキーワードとなる文字列を入力する。キーワードが入力されていない場合（ブロックＢ２１のＮＯ）、ブロックＢ２１に戻り、キーワードが入力されたか否かが再度判定される。
【００６７】
キーワードが入力されている場合（ブロックＢ２１のＹＥＳ）、検索部３４は、データベース４２内のインデックスデータ４２Ｂから、キーワードに対応する文字（文字列）を含むエントリを抽出する（ブロックＢ２２）。検索部３４は、データベース４２から、抽出されたエントリ内の「画像ＩＤ」に対応する画像データ４２Ａを読み出す（ブロックＢ２３）。そして、検索部３４は、抽出されたエントリの中に、同一の画像ＩＤを含む複数のエントリがあるか否かを判定する（ブロックＢ２４）。同一の画像ＩＤを含む複数のエントリがある場合（ブロックＢ２４のＹＥＳ）、マージ部３６は、検索結果を適切に表示するためのマージ処理を実行する（ブロックＢ２５）。マージ処理の手順の詳細については、図１３を参照して後述する。そして、表示制御部３５は、マージ部３６によるマージ結果を用いて、キーワードに対応する画像上の領域をハイライトする（ブロックＢ２６）。
【００６８】
同一の画像ＩＤを含む複数のエントリがない場合（ブロックＢ２４のＮＯ）、表示制御部３５は、抽出されたエントリに示される領域に基づいて、キーワードに対応する画像上の領域をハイライトする（ブロックＢ２７）。
【００６９】
そして、表示制御部３５は、キーワードに対応する領域がハイライトされた画像（画像のリスト）をＬＣＤ１７Ａの画面に表示する（ブロックＢ２８）。
【００７０】
図１３のフローチャートを参照して、本タブレットコンピュータ１０によって実行されるマージ処理の手順の例を説明する。
【００７１】
まず、マージ部３６は、同一の画像ＩＤを含む２つのエントリ（第１エントリ及び第２エントリ）によって示される、第１領域と第２領域とが重複しているか否かを判定する（ブロックＢ３１）。マージ部３６は、第１エントリ内の「領域」の座標情報に基づく第１矩形領域と、第２エントリ内の「領域」の座標情報に基づく第２矩形領域とが重複しているか否かを判定する。２つの領域が重複していない場合（ブロックＢ３１のＮＯ）、マージ処理を終了する。
【００７２】
一方、２つの領域が重複している場合（ブロックＢ３１のＹＥＳ）、マージ部３６は、第１領域と第２領域の平均面積に対する、重複した面積の割合を算出する（ブロックＢ３２）。第１領域と第２領域とは、この算出された割合が大きいほど同一の文字の領域に対応している可能性が高いので、マージされることが望ましい。そのため、マージ部３６は、算出された割合がしきい値よりも大きいか否かを判定する（ブロックＢ３３）。そして、算出された割合がしきい値よりも大きい場合（ブロックＢ３３のＹＥＳ）、マージ部３６は、第１領域と第２領域とをマージする（ブロックＢ３４）。
【００７３】
なお、上述した例では、画像内の文字を認識する場合について説明したが、タッチスクリーンディスプレイ１７上で、手書きにより入力された少なくとも１つのストロークを含む手書き文書から、文字を認識することもできる。手書きにより入力されたストロークは、画像データではなく、各ストロークの軌跡の座標列とストローク間の順序関係とを示す時系列情報として記憶媒体に保存される。この時系列情報は、少なくとも１つのストロークにそれぞれ対応する少なくとも１つのストロークデータを含む。各ストロークデータは、ある１つのストロークに対応し、このストローク上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
【００７４】
辞書データ４１には、このようなストロークデータ（手書き文書）から文字を認識するための文字認識辞書データが含まれていてもよい。この文字認識辞書データは、例えば、各々が文字とその文字を構成するストロークの特徴量とを含む複数のエントリを含む。
【００７５】
文字認識部３１は、例えば、入力されたストロークのストロークデータを用いて特徴量を算出し、辞書データ（文字認識辞書データ）４１を用いて、算出された特徴量との類似度が最も高い特徴量を有する文字を決定する。これにより、ストロークデータをテキスト（文字コード）に変換することができる。
【００７６】
格納処理部３３は、このような文字認識結果を用いてインデックスデータ４２Ｂを生成し、データベース４２に格納する。インデックスデータ４２Ｂは、例えば、認識された少なくとも一つの文字と、その文字に対応する手書き文書内の領域（例えば、文字に対応するストロークを包含する矩形領域）を示す座標との組を含む。
【００７７】
検索部３４は、上述した画像内の文字を検索する場合と同様に、データベース４２に格納されたインデックスデータ４２Ｂを用いて、入力されたキーワードに対応する手書き文書内の文字を検索する。
【００７８】
さらに、検索のためのキーワードが手書きで入力されてもよい。その場合、文字認識部３１が手書きで入力されたキーワード（ストローク）を文字コードに変換した後に、検索部３４は、その文字コードを用いて、画像内の文字や手書き文書内の文字を検索する。
【００７９】
また、上述した例では、主に、日本語環境のための辞書データ４１と英語環境のための辞書データ４１とが用いられる場合について説明したが、他の言語環境のための辞書データ４１でも同様に、画像内の文字を認識し、その認識結果を用いてキーワードによる検索を行うことができる。また、同じ言語であっても、国や地域によって異なる言語環境の辞書データ４１が用いられてもよい。
【００８０】
以上説明したように、本実施形態によれば、複数の言語の文字を含む画像をキーワードで検索することができる。文字認識部３１は、第１言語環境のための辞書データ４１を用いて、複数の言語の文字を含む複数の画像の内の、第１画像に含まれる少なくとも１つの第１文字を少なくとも１つの第１文字コードに変換し、第２言語環境のための辞書データ４１を用いて、少なくとも１つの第１文字を少なくとも１つの第２文字コードに変換する。格納処理部３３は、少なくとも１つの第１文字コードと、当該第１文字コードに対応する第１画像内の第１領域との組をデータベース４２に格納し、少なくとも１つの第２文字コードと、当該第２文字コードに対応する第１画像内の第２領域との組とをデータベース４２に格納する。
【００８１】
これにより、画像内の文字がいずれの言語の文字であるかに関わらず、画像内の文字が認識され、その認識結果に基づく文字コードと領域の組であるインデックスデータ４２Ｂが生成される。そして、このインデックスデータ４２Ｂを用いることにより、複数の言語の文字を含む画像を、ユーザによって入力されたキーワードで検索することができる。
【００８２】
なお、図１１から図１３のフローチャートで説明した本実施形態の処理手順は全てソフトウェアによって実行することができる。このため、この処理手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【００８３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８４】
１７Ａ…ＬＣＤ、２０２…デジタルノートブックアプリケーションプログラム、３１…文字認識部、３２…辞書選択部、３３…格納処理部、３４…検索部、３５…表示制御部、３６…マージ部、４１…辞書データ、４２…データベース、４２Ａ…画像データ、４２Ｂ…インデックスデータ。
【図１】
0006655331.tif 000002
【図２】
0006655331.tif 000003
【図３】
0006655331.tif 000004
【図４】
0006655331.tif 000005
【図５】
0006655331.tif 000006
【図６】
0006655331.tif 000007
【図７】
0006655331.tif 000008
【図８】
0006655331.tif 000009
【図９】
0006655331.tif 000010
【図１０】
0006655331.tif 000011
【図１１】
0006655331.tif 000012
【図１２】
0006655331.tif 000013
【図１３】
0006655331.tif 000014