(57)【要約】      （修正有）【課題】画像内において多種多様な印字方向を向いているワードを正しく識別することが可能な方法とこの方法を使用して実装されるテキスト抽出アプリケーションを実現する。【解決手段】テキスト抽出アプリケーション１０３は、入力された画像を段階的にブラー化処理した画像を生成してその画像内における複数の斑点状部分を検出し、複数の斑点状部分を囲む複数の楕円状輪郭線を出力し、複数の楕円状輪郭線に基づいて入力された画像内に含まれるワードを検出し、ワードに対する正規化処理でワードの第１のバージョンを生成し、ワードに対する正規化処理でワードを反転させたバージョンをされに生成し、ワードに関する第１のバージョンと反転させたバージョンに対してＯＣＲ処理を実行し、第１のバージョンと反転させたバージョンのそれぞれの信頼度指数を算出し、ワードと関連するテキスト内容を出力する。【選択図】図２
2014132453.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実施される方法であって：
入力された画像を受信するステップと、
前記入力された画像を段階的にブラー化処理した画像を生成するステップと、
前記ブラー化処理した画像内における複数の斑点状部分を検出するステップと、
前記複数の斑点状部分をそれぞれ囲んでいる複数の楕円状輪郭線を出力するステップと、
一つ以上のコンピュータ装置を使用して、前記複数の楕円状輪郭線に基づいて前記入力された画像内に含まれるワードを検出するステップと、
前記一つ以上のコンピュータ装置を使用して、前記ワードの印字方向を判定し、前記ワードを正規化するステップと、
前記ワードに対して光学文字認識処理を実行するステップと、
前記一つ以上のコンピュータ装置を使用して、前記ワードと関連するテキスト内容を出力するステップと、
を具備する方法。
【請求項２】
前記ワードに対する前記正規化によって、前記ワードの第１のバージョンを生成するステップと、
前記ワードに対する前記正規化によって、前記ワードを反転させたバージョンをさらに生成するステップと、
前記ワードの前記第１のバージョンと前記ワードを前記反転させたバージョンとに関して信頼度指数をそれぞれ生成するステップ、
をさらに具備し、
前記ワードと関連する前記テキスト内容は、前記ワードに関してより高い信頼度指数を有するバージョンと関連していることを特徴とする、請求項１記載の方法。
【請求項３】
前記複数の楕円状輪郭線を前記出力するステップは、前記ワードに関して、前記ワードを表象する楕円状輪郭線を生成するステップを具備することを特徴とする、請求項１記載の方法。
【請求項４】
前記ワードを表象する楕円状輪郭線は、
ワード選別フィルターを使用して、非ワード領域に該当する楕円状輪郭線を消去し、
前記入力された画像内に含まれる前記ワードに関する少なくとも一つの楕円状輪郭線を残し、
前記少なくとも一つの楕円状輪郭線のアスペクト比に基づいて、前記ワードを表象する楕円状輪郭線を決定する、
ことによって決定されることを特徴とする、請求項３記載の方法。
【請求項５】
前記ワードと関連するテキスト内容を辞書中の定義内容と対比するステップと、
前記対比の結果に基づいて、前記テキスト内容を調整するステップと、
をさらに具備する、請求項１記載の方法。
【請求項６】
前記ワードの第１のバージョンを生成するために、前記ワードの印字方向を判定し、前記ワードを正規化する処理動作は、
前記ワードの前記第１のバージョンが向いている方向を判定する動作と、
前記ワードの前記第１のバージョンが向いている方向を所定の方向に正規化する動作と、
を具備することを特徴とする、請求項２記載の方法。
【請求項７】
前記ワードと関連するテキスト内容を出力するステップは、前記出力した前記テキスト内容に対する画像マッチング処理を実行することによって、前記テキスト内容を含む電子文書を検索するための後処理を実行するステップをさらに具備する、請求項１記載の方法。
【請求項８】
前記ワードと関連するテキスト内容を出力するステップは、前記出力した前記テキスト内容に対する機械翻訳するための後処理を実行するステップをさらに具備する、請求項１記載の方法。
【請求項９】
一つ以上のプロセッサと、
前記プロセッサによる実行が可能であり、メモリ上に記憶されるコントローラであって、入力された画像を受信するように構成されたコントローラと、
前記入力された画像を段階的にブラー化処理した画像を生成し、前記ブラー化処理した画像内における複数の斑点状部分を検出し、前記複数の斑点状部分をそれぞれ囲んでいる複数の楕円状輪郭線を出力し、前記複数の楕円状輪郭線に基づいて前記入力された画像内に含まれるワードを検出するように構成されたワード検出エンジンと、
前記ワードの印字方向を判定し、前記ワードを正規化するように構成されたワード方向正規化エンジンと、
前記ワードに対して光学文字認識処理を実行し、前記ワードと関連するテキスト内容を出力するように構成された光学文字認識（ＯＣＲ）エンジンと、
を具備するシステム。
【請求項１０】
前記ワード方向正規化エンジンは：
前記ワードに対する前記正規化によって、前記ワードの第１のバージョンを生成するステップと、
前記ワードに対する前記正規化によって、前記ワードを反転させたバージョンをさらに生成するステップと、
前記ワードの前記第１のバージョンと前記ワードを前記反転させたバージョンとに関して信頼度指数をそれぞれ生成するステップ、
をさらに実行するように構成され、
前記ワードと関連する前記テキスト内容は、前記ワードに関してより高い信頼度指数を有するバージョンと関連していることを特徴とする、請求項９記載のシステム。
【請求項１１】
前記ワード検出エンジンが前記複数の楕円状輪郭線を前記出力する動作は、前記ワードに関して、前記ワードを表象する楕円状輪郭線を生成する動作をさらに具備することを特徴とする、請求項９記載のシステム。
【請求項１２】
前記ワード検出エンジンが前記ワードを表象する楕円状輪郭線を生成する動作は：
ワード選別フィルターを使用して、非ワード領域に該当する楕円状輪郭線を消去し、
前記入力された画像内に含まれる前記ワードに関する少なくとも一つの楕円状輪郭線を残し、
前記少なくとも一つの楕円状輪郭線のアスペクト比に基づいて、前記ワードを表象する楕円状輪郭線を決定する、
動作を具備することを特徴とする、請求項１１記載のシステム。
【請求項１３】
前記ＯＣＲエンジンは：
前記ワードと関連するテキスト内容を辞書中の定義内容と対比する動作と、
前記対比の結果に基づいて、前記テキスト内容を調整する動作と、
をさらに実行するように構成されている、請求項９記載のシステム。
【請求項１４】
前記ワードの第１のバージョンを生成するために、前記ワード方向正規化エンジンが前記ワードの印字方向を判定し、前記ワードを正規化する処理動作は：
前記ワードの前記第１のバージョンが向いている方向を判定する動作と、
前記ワードの前記第１のバージョンが向いている方向を所定の方向に正規化する動作と、
を具備することを特徴とする、請求項１０記載のシステム。
【請求項１５】
コンピュータからアクセス可能な記録媒体の上に記録されたコンピュータ読み取り可能プログラムであって、当該コンピュータ読み取り可能プログラムは：
入力された画像を受信するステップと、
前記入力された画像を段階的にブラー化処理した画像を生成するステップと、
前記ブラー化処理した画像内における複数の斑点状部分を検出するステップと、
前記複数の斑点状部分をそれぞれ囲んでいる複数の楕円状輪郭線を出力するステップと、
一つ以上のコンピュータ装置を使用して、前記複数の楕円状輪郭線に基づいて前記入力された画像内に含まれるワードを検出するステップと、
前記一つ以上のコンピュータ装置を使用して、前記ワードの印字方向を判定し、前記ワードを正規化するステップと、
前記ワードに対して光学文字認識処理を実行するステップと、
前記一つ以上のコンピュータ装置を使用して、前記ワードと関連するテキスト内容を出力するステップと、
を具備するコンピュータ読み取り可能プログラム。
【請求項１６】
前記ワードに対する前記正規化によって、前記ワードの第１のバージョンを生成するステップと、
前記ワードに対する前記正規化によって、前記ワードを反転させたバージョンをさらに生成するステップと、
前記ワードの前記第１のバージョンと前記ワードを前記反転させたバージョンとに関して信頼度指数をそれぞれ生成するステップ、
をさらに具備し、
前記ワードと関連する前記テキスト内容は、前記ワードに関してより高い信頼度指数を有するバージョンと関連していることを特徴とする、請求項１５記載のコンピュータ読み取り可能プログラム。
【請求項１７】
前記複数の楕円状輪郭線を前記出力するステップは、前記ワードに関して、前記ワードを表象する楕円状輪郭線を生成するステップを具備することを特徴とする、請求項１６記載のコンピュータ読み取り可能プログラム。
【請求項１８】
前記ワードを表象する楕円状輪郭線は、
ワード選別フィルターを使用して、非ワード領域に該当する楕円状輪郭線を消去し、
前記入力された画像内に含まれる前記ワードに関する少なくとも一つの楕円状輪郭線を残し、
前記少なくとも一つの楕円状輪郭線のアスペクト比に基づいて、前記ワードを表象する楕円状輪郭線を決定する、
ことによって決定されることを特徴とする、請求項１７記載のコンピュータ読み取り可能プログラム。
【請求項１９】
前記ワードと関連するテキスト内容を辞書中の定義内容と対比するステップと、
前記対比の結果に基づいて、前記テキスト内容を調整するステップと、
をさらに具備する、請求項１５記載のコンピュータ読み取り可能プログラム。
【請求項２０】
前記ワードの第１のバージョンを生成するために、前記ワードの印字方向を判定し、前記ワードを正規化する処理動作は、
前記ワードの前記第１のバージョンが向いている方向を判定する動作と、
前記ワードの前記第１のバージョンが向いている方向を所定の方向に正規化する動作と、
を具備することを特徴とする、請求項１６記載のコンピュータ読み取り可能プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワード検出を実行するためのシステムと方法とに関係し、より具体的には、文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変となるように、文書イメージから光学的文字認識（ＯＣＲ：Optical  Character  Recognition）処理のためにワードを検出する技術と関係している。
【背景技術】
【０００２】
印刷された紙媒体と電子媒体との間には隔たりがある。文書イメージに対してＯＣＲ（Optical  Character  Recognition）処理を実行し、テキスト内容を文字認識すると共に当該文字認識されたテキスト内容に対して後続の処理動作を実行することによってそのような隔たりを橋渡しするようなソフトウェアが現在知られている。当該文字認識されたテキスト内容に対するそのような処理動作の中の一つは、当該文字認識されたテキスト内容をデータベースに対して検索キーとして問い合わせ入力し、当該テキスト内容と一致する情報検索結果を見出す処理動作を含む。具体例を挙げるならば、ユーザは、例えばカメラやスマートフォンを使用して被写体の画像を撮影し、当該画像を上述したようなソフトウェアに送信する。上述したようなソフトウェアは、当該画像の中身を識別し、当該画像に写っている被写体を購入したり当該被写体についてより詳しい情報を調べたりするためのＷｅｂサイト情報をユーザに提供する。
【０００３】
画像からテキスト内容を機械認識することは有益である。何故ならば、当該テキスト内容は、当該画像内に含まれる情報コンテンツに関して高水準の意味情報を提供するのみならず、関連する情報を検索するためにさらに使用することが可能だからである。しかしながら、当該テキスト内容の機械認識を実現することは、画像内でのテキストの歪みによる変形に起因して、技術的に非常に困難な解決課題である。例えば、紙面内での回転歪みとは、当該テキストを含む紙面に垂直な法線ベクトル方向を中心軸としたテキストの回転による歪みである。紙面外での回転歪みとは、当該テキストに遠近方向の変形歪みを加える可能性がある回転歪みであって、任意の向きのベクトルを軸としたテキストの回転による歪みである。画像内のテキストの全体にわたって一つの印字方向が支配的である場合、現在のＯＣＲ技術に基づくアプローチでもおそらく良好に機能するだろう。しかしながら、画像内に含まれる複数のテキストが多種多様な方向を向いている場合には、現在のＯＣＲ技術に基づくアプローチは、画像内のテキストの向きが全て同一の方向に揃っていると期待する結果、多種多様な方向を向いているテキストを正しく識別することに失敗する。例えば、書籍が写っている画像は、当該書籍の前表紙の上に印字されたテキストと当該書籍の背表紙に印字されたテキストを含む場合がある。さらに別の具体例では、テキストを含む画像は、水平方向に表示されたテキストと垂直方向に表示されたテキストの両者を含む場合がある。その結果、現在のＯＣＲ（Optical  Character  Recognition）技術に基づくアプローチは、上述したような場合においては、充分な信頼性があるとは言えない。
【発明の概要】
【０００４】
本明細書が開示する発明は、画像内において多種多様な方向を向いて表示されているワードを識別するためのシステムに関する従来技術の欠点を克服するものである。本発明に係る一実施例に従って構成されるシステムは、コントローラ、ワード検出エンジン、ワード方向正規化エンジンおよびＯＣＲ（光学文字認識）エンジンを含んでいる。当該コントローラは、入力された画像を受信する。当該ワード検出エンジンは、段階的にブラー効果（ぼかし効果）を加えた画像を生成し、当該ブラー効果が加わった画像内の斑点状部分を検出し、当該斑点状部分に基づいて楕円状輪郭線を出力し、当該入力された画像内のワードを検出する。当該ワード方向正規化エンジンは、（各ワードの印字位置、印字方向および文字サイズの縮尺などを含む印字状態を一律に正規化する。例えば、当該ワード方向正規化エンジンは、）当該ワードの第１の検出バージョンの印字方向を判定し、当該第１の検出バージョンを正規化することにより、当該ワードを反転させた検出バージョンを生成する。当該ＯＣＲエンジンは、ＯＣＲ（光学文字認識）処理を実行し、上述した「当該ワードの第１の検出バージョン」および「当該ワードを反転させた検出バージョン」に関する信頼度指数を生成し、より高い信頼度指数を有するワードと関係付けられたテキスト内容を出力する。
【０００５】
本発明のその他の実施態様は、上述した実施例および本発明に係るその他の新規な技術的特徴に関連した対応する方法、システム、装置およびコンピュータ・プログラム製品を含んでいる。
【０００６】
本発明に係るシステムは、画像内において多種多様な方向を向いている複数のワードを従来技術よりも技術的に優れた態様で識別する。本明細書中で述べられている本発明の技術的特徴と技術的な優位性は、それらだけが全てではなく、当業者が本明細書中の詳細な説明内容と添付図面とに接することによって、数多くのその他の技術的特徴や技術的な優位性が自明なものとして把握されるだろう。さらに、本明細書中の説明において使用されている各種用語や言葉遣いは読みやすさと明確な教示を目的として選択されており、本明細書中で開示されている発明の技術的範囲を限定するものではない。
【０００７】
本発明に係る実施例は、以下において簡単に説明する添付図面において、発明の技術的範囲を限定する目的ではなく、単に具体例を挙げる目的のためにのみ図示され、当該添付図面においては、同様の参照番号は、同種の構成要素を参照するために使用されている。
【図面の簡単な説明】
【０００８】
【図１Ａ】多種多様な方向を向いて印字されたテキストの具体例を表すグラフィック表現
【図１Ｂ】画像内において多種多様な方向を向いた複数のワードを識別するためのシステムに関する一実施例を図示する高水準ブロック図
【図２】テキスト抽出アプリケーションの一実施例を図示するブロック図
【図３Ａ】画像に関するガウス・スケーリング空間を表すグラフィック表現
【図３Ｂ】非ワード領域に該当する楕円状輪郭線を消去し、各ワードを表象する楕円状輪郭線を生成する処理過程の一実施例を図示するグラフィック表現
【図３Ｃ】画像内から多種多様な方向を向いた複数のワードを識別するための一連の処理ステップの一実施例を図示するグラフィック表現
【図４】画像内から多種多様な方向を向いた複数のワードを識別する方法の一実施例を説明するフローチャート
【図５】画像内から多種多様な方向を向いた複数のワードを識別する方法のさらに別の実施例を説明するフローチャート
【図６】画像内から識別されたワードと関係付けられたテキスト内容識別結果を画面表示するユーザ・インターフェースの一実施例を図示するグラフィック表現
【発明を実施するための形態】
【０００９】
以下において、画像内において多種多様な方向を向いた複数のワードを識別するためのシステムと方法が説明される。図１Ａは、多種多様な方向を向いて印字されたテキストの具体例を表すグラフィック表現１５０である。図１Ａ内の区画１５１は、開かれた状態の本を図示する画像であり、本のページから見たカメラの相対的な位置に応じて、当該ページ上に印字されたワードは、様々に異なる角度から見える結果、様々に異なる方向を向いているように見えることとなる。例えば、当該ページの右下の隅に印字されたワードは、当該ページの左上の隅近くに印字された任意のワードとは微妙に異なる方向を向いているように見える。この具体例においては、複数のワードがそれぞれ向いているように見える方向の違いを角度差で表すと、最大で１５°の角度差がある。図１Ａ内の区画１５２は、閉じた状態の本を図示する画像であり、本の前表紙に印字されたテキストは、本の背表紙に印字されたテキストとは異なる方向を向いているように見える。図１Ａ内の区画１５３は、多種多様な印字方向を向いている複数のテキストを含んでいる画像を作成することを画像の設計者が選択した場合における、そのようなテキストを含む画像を示している。
【００１０】
本明細書の以下の記述において、説明の便宜上、本発明に関する包括的な理解を可能とするための数多くの具体的な詳細内容が述べられる。しかしながら、当該技術分野における当業者であれば、これらの具体的な詳細内容に限定されることなく、本発明に係る実施例を実施可能であることが自明であると了解することができよう。その他の具体例においては、本発明を実施するための構造や装置は、本発明の内容が不明確となることを回避するために、ブロック図の形式で示される。例えば、以下において後述する一実施例においては、本発明は、スマートフォン、特定のソフトウェアおよび特定のハードウェアを参照しながら説明される。しかしながら、後述する実施例の説明は、データおよびコマンドを受信することが可能なあらゆる種類のコンピュータ装置とサービス機能を提供するあらゆる周辺機器に対しても当てはまる。
【００１１】
本明細書中において「一実施例」または「一つの実施例」と記載されている場合、それは、複数の実施例との関連において本明細書が説明する特定の技術的特徴、構造および特性が、少なくとも一つの実施例の中に含まれていることを意味する。本明細書中の様々な箇所に記載されている「一実施例」または「一つの実施例」との記載は、必ずしも同一の実施例を指して言っているとは限らない。
【００１２】
以下において後述する発明の詳細な説明の中の幾つかの記載箇所は、コンピュータのメモリ内に格納されているデータ・ビットに対して実行される演算に関するアルゴリズムと記号表記の形で本発明に係る実施例を説明している。これらのアルゴリズムに基づく説明と表現形式はデータ処理技術分野を専門とする当業者が他の当業者に対して自身の技術開発成果を最も効果的に伝達するために慣用されている説明手段である。ここでの説明においては、一般的に、アルゴリズムは、所望される処理結果を最終的に得るために、首尾一貫した一連の処理ステップから構成される系列であると考えられる。これら複数の処理ステップは、物理量に対する物理的な操作を必要とするものである。通常の場合は、これらの物理量は、記憶され、転送され、合成され、比較され、さもなければ操作されることが可能である電気的または磁気的な信号の形態を採るものであるが、必ずしもこのような形態に限定される必要はない。当業者の間で共通の用語を使用すべきとの主な理由から、これらの電気的／磁気的な信号は、ビット、値、要素、記号、文字、項、数値などと呼ぶ方が時として便宜的であることが分かっている。
【００１３】
しかしながら、これらの用語および類似した用語の全ては、適切な物理量と関係付けられた形で使用されるべき用語であり、これらの物理量に対して便宜上付与された単なる呼び名に過ぎないことを心に留めるべきである。該当しない旨の特段の断りがない限り、本明細書の全体を通じて、「情報処理」、「計算処理」、「演算処理」、「判定処理」または「表示処理」等の用語を使用した説明は、コンピュータ・システムまたは同様の電子的計算装置による処理動作や処理過程を指して言っていることが以下の説明から自明であると理解され、当該コンピュータ・システム等は、当該システム内のレジスタ回路やメモリ内において物理量（電気的な量）として表現されているデータを操作し、当該システム内のレジスタ回路やメモリあるいはその他同様の情報記憶装置、伝送装置もしくは表示装置内において同様に物理量として表現される他のデータへと変換処理するシステムである。
【００１４】
本発明はさらに、本明細書中において説明される処理動作を実行するための装置と関係している。この装置は、本発明において必要な目的を達成するために特別に構成された装置とすることも可能であり、コンピュータ内に記憶されたコンピュータ・プログラムによって選択的に起動され、再設定される汎用のコンピュータを備えた装置とすることも可能である。そのようなコンピュータ・プログラムは、コンピュータ可読記憶媒体の中に記憶され、そのようなコンピュータ可読記憶媒体の具体例には、フロッピー(登録商標)・ディスク、光学ディスク、ＣＤ−ＲＯＭ、磁気ディスク、ＲＯＭ（読み出し専用メモリ）、ＲＡＭ（ランダム・アクセス・メモリ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気読み取りカード／光学式カードフラッシュ・メモリ（不揮発性メモリを内蔵したＵＳＢ型キー）などを含む任意の種類のディスク装置が含まれ、さらには、電子的な命令コードを記憶するのに適した任意のタイプの媒体が含まれるが、これらだけに限定はされず、上述した各々は、コンピュータ・システムのバスに接続される。
【００１５】
本発明に係る幾つかの実施例は、実施例全体がハードウェアによって構成される実施例、実施例全体がソフトウェアによって構成される実施例、ハードウェア部分とソフトウェア部分の両者を含んでいる実施例などの形態を採ることが可能である。本発明を実施するための好適な実施例は、ソフトウェア内において実現され、当該ソフトウェアは、ファームウェア、常駐ソフトウェアおよびマイクロコード等を含み得るがこれらだけに限定はされない。
【００１６】
さらには、本発明に係る幾つかの実施例は、コンピュータから利用可能な媒体又はコンピュータから読み出し可能な媒体からアクセス可能なコンピュータ・ソフトウェア製品の形態を採ることが可能であり、そのようなコンピュータ・ソフトウェア製品は、コンピュータ又は何らかの命令コード実行システムによりまたはこれらとの関係において使用するためのプログラム・コードを提供するものである。本発明の目的を達成するために、コンピュータから利用可能な媒体又はコンピュータから読み出し可能な媒体は、命令コード実行システム、命令コード実行装置または命令コード実行デバイスによりまたはこれらとの関係において使用するためのプログラムを記憶し、蓄積し、通信し、伝搬させ又は転送することが可能な任意の装置とすることが可能である。
【００１７】
プログラム・コードを記憶したり実行したりするのに適しているデータ処理システムは、システム・バスを介してメモリ要素と直接に又は間接に接続された少なくとも一つのプロセッサを含んでいる。当該メモリ要素は、上述したプログラム・コードが実際に実行されている期間中に使用されるローカル・メモリ、大容量記憶部、キャッシュ・メモリを含んでおり、当該キャッシュ・メモリは、コード実行中にコードが大容量記憶部から読み出されなくてはならない回数を減らすために、上述したプログラム・コードの少なくとも一部分を一時的に記憶するための一時記憶メモリを提供する。Ｉ／Ｏ（入出力）装置（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらだけに限定はされない）は、バスとの間に介在するＩ／Ｏコントローラを経由して又はバスに対して直接に接続する形でシステムに接続されている。
【００１８】
当該データ処理システムを、途中に介在する私設網または公衆網を経由して他のデータ処理システム、リモート接続型プリンタ装置、リモート接続型記憶装置などに接続可能とするために、当該データ処理システムにはネットワーク・アダプタを接続することがさらに可能である。モデム装置、ケーブル・モデムおよびイーサネット(登録商標)・カードなどは現在利用可能なネットワーク・アダプタのほんの一例である。
【００１９】
最後に、本明細書中で提示するアルゴリズムとディスプレイ装置は、何らかの具体的なコンピュータやその他の装置に対して固有のものとして関係付けられるものではない。多種多様な汎用型システムは、本明細書中の教示に従うプログラムと共に使用されることが可能であり、または当該汎用型システムは、本発明に係る方法において必要な処理ステップを実行する目的に一層特化された装置を構成するのに便利であることが明らかとなるだろう。多種多様なこれらのシステムに必要なる構造は、以下において後述する説明から明らかとなるだろう。加えて、本明細書は、何らかの具体的なプログラミング言語を参考にして記述されている訳ではない。むしろ当業者であれば、本明細書中で説明される多種多様な実施例による教示内容を実装するために、多種多様なプログラミング言語を使用可能であることが理解できよう。
【００２０】
＜システムの概観＞
図１Ｂは、本発明に係る一実施例に従い、画像内から多種多様な方向を向いた複数のワードを識別するためのシステム１００を図示する高水準ブロック図である。システム１００に関して図１Ｂに図示された実施例は、ユーザ機器１１５ａ〜１１５ｎを含んでおり、これらのユーザ機器は、ユーザ１２５ａ〜１２５ｎ、サーバ１０４およびネットワーク１０７によってアクセスされる。図１Ｂおよび後続の図面の中の記述において、参照番号に続いて英文字が表記されている場合、例えば「１１５ａ」などと表記されている場合は、その具体的な参照番号に対応する構成要素の具体的な一つのインスタンスを指している。図面中の記述において、参照番号に続いて上記のような英文字表記がない場合、例えば「１１５」などと表記されている場合は、その参照番号に対応する構成要素の任意のインスタンス又は全てのインスタンスを包括的に参照している。
【００２１】
サーバ１０４は、信号線１３４を経由してネットワーク１０７と接続されるメモリとプロセッサとを含む任意のコンピュータ装置とすることが可能である。本発明に係る一実施例においては、サーバ１０４は、テキスト抽出アプリケーション１０３ａとデータ記憶装置１０５とを含んでいる。画像内において多種多様な印字方向を向いているワードを検出するために、テキスト抽出アプリケーション１０３ａは、ユーザ機器１１５との間で対話を行う。例えば、サーバ１０４は、オレンジ・ジュースが入った瓶の写真画像をユーザ機器１１５ａから受信し、当該写真画像の中に写っている製品ラベルから当該オレンジ・ジュースの製造元の社名と住所を判定する。この時、ユーザは、必ずしも水平または垂直ではない角度方向からジュース瓶の写真画像を撮影するので、ラベルに印字された製造元の社名と住所を表しているテキストは、多種多様な方向を向いている。サーバ１０４によって受信される画像は、ユーザ機器１１５によって撮像された画像とすることも可能であるが、Ｗｅｂサイトや電子メールからコピーされた画像やその他の情報源から取得した画像とすることも可能である。
【００２２】
本発明に係る幾つかの実施例においては、テキスト抽出アプリケーション１０３ａは、当該アプリケーション１０３ａによって識別されたワードと一致する結果について、（例えば、サーバ上のデータ記憶装置などを使用して実現される）データベースに対する問い合わせ処理を行う。例えば、テキスト抽出アプリケーション１０３ａは、当該識別されたテキスト内の用語と一致するｗｅｂページ（例えば、撮影された商品を販売するためのｗｅｂサイト等のような個別のＷｅｂサイトまたはＷｅｂサイト内のページ）についてデータベースに対する問い合わせ処理を行う。本発明に係るさらに別の実施例においては、テキスト抽出アプリケーション１０３ａは、上述したワードの翻訳結果についてデータベースに対する問い合わせ処理を行う。本発明に係るさらに別の実施例においては、テキスト抽出アプリケーション１０３ａは、上記のとおりに識別されたテキスト内容と一致する文書についてデータベースに対する問い合わせ処理を行う（例えば、書籍、新聞または学術文献などを収録したデータベースに対して、当該識別されたテキスト内容と一致する文書を問い合わせる）。当該技術分野における当業者であれば、テキスト抽出アプリケーション１０３ａは、上述した追加的な処理動作を別のサーバ上で実行するために、上記のとおりに識別されたテキスト内容を当該別のサーバに送信することが可能であることが理解できるだろう。
【００２３】
データ記憶装置１０５は、画像内から多種多様な方向を向いた複数のワードを識別するために使用される命令コードやデータを記憶する不揮発性メモリ装置とすることが可能である。例えば、データ記憶装置１０５は、入力された画像と当該入力された画像から検出されたワードを記憶するユーザ用データベース（図示せず）を含んでいる。本発明に係る幾つかの実施例においては、データ記憶装置１０５は、テキスト抽出アプリケーション１０３ａによって上記のとおりに識別されたワードに関連する電子文書や当該識別されたワードの翻訳結果をさらに含むことが可能である。データ記憶装置１０５は、テキスト抽出アプリケーション１０３ａと通信可能な状態で接続されている。
【００２４】
ユーザ機器１１５ａは信号線１３２を介してネットワーク１０７と接続されており、ユーザ１２５ａは、信号線１１０を介してユーザ機器１１５ａと対話する。同様に、ユーザ機器１１５ｎもネットワーク１０７と接続されており、ユーザ１２５ｎによってアクセスされる。ユーザ機器１１５は、メモリ、プロセッサおよび通信機能を含んでいる任意のコンピュータ装置とすることが可能である。例えば、ユーザ機器１１５は、タブレット型コンピュータ、ＰＤＡ（Personal  Digital  Assistant）、スマートフォンおよびフィーチャー・フォン等とすることが可能である。ユーザ機器１１５ａ〜１１５ｎは、無線接続手段又は有線接続手段を介してネットワーク１０７と通信することが可能である。ユーザ機器１１５は、テキスト抽出アプリケーション１０３ａに対して画像を供給するための一つ以上のユーザ・アプリケーション（図示せず）を含んでいる。例えば、ユーザ機器１１５は、物理的な被写体の画像を撮影することも可能であるし、さもなければ、画像を他の機器から受信することも可能である。
【００２５】
本発明に係る一実施例においては、ユーザ機器１１５ａは、テキスト抽出アプリケーション１０３ｂを含んでいる。本発明に係る幾つかの実施例においては、テキスト抽出アプリケーション１０３は、その一部がユーザ機器１１５の中に記憶されている一方で、当該アプリケーションの残りの部分がサーバ１０４の中に記憶されている。例えば、ユーザ機器１１５の上で実行中のテキスト抽出アプリケーション１０３ｂは、画像を撮影し、当該撮影した画像をサーバ１０４の上で実行中のテキスト抽出アプリケーション１０３ａに対して送信し、当該画像に関係したグラフィック表示データを受信し、当該グラフィック表示データに基づいてユーザ機器１１５ａの上で画面表示するためのユーザ・インターフェースを生成する。本発明に係るさらに別の実施例においては、上述したテキスト内容の識別処理の一部は、テキスト抽出アプリケーション１０３ｂの上で実行され、さらに、識別されたテキスト内容に対して後続の処理を実行するために、当該識別されたテキスト内容が、サーバ１０４の上で実行中のテキスト抽出アプリケーション１０３ａに対して送信される。
【００２６】
ネットワーク１０７は有線または無線による従来型のネットワークであり、例えば、スター型接続構成、トークン・リング型接続構成または当該技術分野における当業者に知られているその他のネットワーク接続構成のような多様かつ任意の接続構成を採ることが可能である。さらに、ネットワーク１０７は、ローカル・エリア網（ＬＡＮ）、広域エリア網（ＷＡＮ）（例えば、インターネットなど）および／または複数の装置同士の間で通信する際の通信経路となる相互に接続されたその他のデータ通信経路を含むことが可能である。さらに別の具体例においては、ネットワーク１０７はピア・ツー・ピア型のネットワークとすることが可能である。さらに、多種多様な複数の異なる通信プロトコルの上でデータを送信するために、ネットワーク１０７は、遠隔通信ネットワークに接続することが可能であり、又は当該遠隔通信ネットワークをネットワーク１０７の一部として含むことが可能である。本発明に係る一実施例においては、例えばＳＭＳ（Short  Messaging  Service）、ＭＭＳ（Multimedia  Messaging  Service）、ＨＴＴＰ（Hyper-Text  Transfer  Protocol）、直接データ接続、ＷＡＰまたは電子メールなどを介してデータを送受信しようとする場合には、ネットワーク１０７は、Ｂｌｕｅｔｏｏｔｈ(登録商標)通信ネットワークやセルラー携帯電話ネットワークを含むことが可能である。図１Ｂにおいては、ユーザ機器１１５ａ〜１１５ｎおよびサーバ１０４にはネットワーク１０７が一つだけ接続されているが、本発明を実施しようとする際には、上述した通信エンティティ（例えば、通信機器類など）に対して任意の個数のネットワーク１０７を接続することが可能である。
【００２７】
＜テキスト抽出アプリケーション１０３の具体例＞
続いて図２を参照すると、テキスト抽出アプリケーション１０３の具体例がより詳細に図示されている。図２は、プロセッサ２４０、メモリ２４５、通信ユニット２５０、テキスト抽出アプリケーション１０３およびデータ記憶装置１０５を含んでいるサーバ１０４全体を表すブロック図として描かれている。
【００２８】
プロセッサ２４０、メモリ２４５、通信ユニット２５０、データ記憶装置１０５およびテキスト抽出アプリケーション１０３は、通信可能な形でバス２２０に対して接続されている。バス２２０は、ＩＳＡ（Industry  Standard  Architecture）バス、ＰＣＩ（Peripheral  Component  Interconnect）バス、ＵＳＢ（Universal  Serial  Bus）またはこれらと同様の機能を提供可能であり、当該技術分野において周知な他のバス等の一つ以上のバス・アーキテクチャを含む代表的なバスとすることが可能である。
【００２９】
プロセッサ２４０は、計算処理を実行し、ディスプレイ装置に電子的な画面表示信号を供給する算術演算ユニット、マイクロプロセッサ、汎用コントローラまたはその他の何らかのプロセッサ配列構造を具備している。プロセッサ２４０は、信号線２３１を経由してサーバ１０４内のその他のハードウェア構成要素と通信するために、バス２２０と接続されている。プロセッサ２４０はデータ信号を処理し、ＣＩＳＣ（Complex  Instruction  Set  Computer）アーキテクチャ、ＲＩＳＣ（Reduced  Instruction  Set  Computer）アーキテクチャ、または複数の命令セットの組み合わせを実装しているアーキテクチャなどを含む多種多様な計算機アーキテクチャを具備することが可能である。単一のプロセッサだけが図２に示されているけれども、複数個のプロセッサを実施例中に含めることも可能である。プロセッサ２４０の演算処理機能は、画像の画面表示、画像のキャプチャ処理および画像の伝送処理をサポート可能な範囲内に限定されてもよい。プロセッサ２４０の演算処理機能は、上述した機能よりもさらに複雑なタスクを実行するのに充分なものとすることが可能であり、そのような複雑なタスクには、画像に関する多種多様な特徴抽出処理やサンプリング処理が含まれる。当該技術分野における当業者であれば、上述したもの以外の他のプロセッサ、オペレーティング・システム、センサー類、ディスプレイ装置および物理的な構成を実施例において採用することが可能である。
【００３０】
メモリ２４５は、プロセッサ２４０によって実行されることが可能な命令コードおよび／またはデータを記憶する。メモリ２４５は、信号線２３３を経由してサーバ１０４内のその他のハードウェア構成要素と通信するために、バス２２０と接続されている。上述した命令コードおよび／またはデータは、本明細書中で説明される技術内容の任意の一部及び／又は全てを実行するためのコードを具備することが可能である。メモリ２４５は、ＤＲＡＭ（Dynamic  Random  Access  Memory）、ＳＲＡＭ（Static  Random  Access  Memory）フラッシュ・メモリ、又は当該技術分野において周知である他の何らかのメモリ・デバイスとすることが可能である。本発明に係る一実施例においては、メモリ２４５は、不揮発性メモリまたは同様の性質を持つ永久的記憶デバイスを含み、さらにメモリ２４５は、ハード・ディスク・ドライブ、フロッピー・ディスク・ドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュ・メモリ・デバイスおよび当該技術分野において周知な他の何らかの大容量記憶装置などのような、より永久的な記憶方式で情報を記憶しておくための記憶媒体を含む。
【００３１】
通信ユニット２５０は、プロセッサ２４０をネットワーク１０７および他の処理システムと結合することにより、データの送受信を行うためのハードウェア構成要素である。通信ユニット２５０は、複数のユーザ機器１１５ａ〜１１５ｎから画像や文書等のデータを受信する。通信ユニット２５０はさらに、複数のユーザ機器１１５ａ〜１１５ｎに対して情報を送信する。例えば、通信ユニット２５０は、画像や文書を画面表示するために、グラフィック・データを送信する。通信ユニット２５０は、信号線２３５を経由してサーバ１０４内のその他のハードウェア構成要素と通信するために、バス２２０と接続されている。
【００３２】
本発明に係る一実施例においては、通信ユニット２５０は、ユーザ機器１１５又はさらに別の通信チャネルに対して直に物理的な接続を行うために通信ポートを含んでいる。例えば、通信ユニット２５０は、ＥＳＢ１０７との間で有線による通信を行うために、ＲＪ１４又はこれと同様の通信ポートを含んでいる。さらに別の実施例においては、通信ユニット２５０は、一つ以上の無線通信方法を使用して、ユーザ機器１１５又は何らかの別の通信チャネルとの間でデータを交換するために無線送受信回路を含んでおり、上述した無線通信方法には、例えば、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、Ｂｌｕｅｔｏｏｔｈまたはその他の適切な無線通信方法が含まれる。
【００３３】
本発明に係るさらに別の実施例においては、通信ユニット２５０は、セルラー通信網の上で、例えば、ＳＭＳ（Short  Messaging  Service）、ＭＭＳ（Multimedia  Messaging  Service）、ＨＴＴＰ（Hyper-Text  Transfer  Protocol）、直接データ接続、ＷＡＰ、電子メールまたはその他の適切な種類の電気通信手段を介してデータを送受信するためにセルラー通信用の無線送受信回路を含んでいる。本発明に係るさらに別の実施例においては、通信ユニット２５０は、有線による通信のための通信ポートと無線送受信回路を含んでいる。当該技術分野における当業者であれば当然に理解できることであるが、通信ユニット２５０は、ＴＣＰ／ＩＰ、ＦＴＰ、ＨＴＴＰ、ＨＴＴＰＳおよびＳＭＴＰなどのような標準化されたネットワーク通信プロトコルを使用してファイルやメディア・オブジェクトを配布するために、その他の従来型の通信接続手段を提供することもさらに可能である。
【００３４】
本発明に係る一実施例においては、上述したテキスト抽出アプリケーションは：コントローラ２０２、ワード検出エンジン２０４、ワード方向正規化エンジン２０６、ＯＣＲ（光学文字認識）エンジン２０８、ユーザ・インターフェース・エンジン２１０および任意付加的に処理動作エンジン２１２を含んでいる。テキスト抽出アプリケーション１０３を構成するこれらの要素は、バス２２０を介して通信可能な形で相互に接続されている。
【００３５】
コントローラ２０２は、サーバ１０４を構成する構成要素と、システム１００を構成しているその他の構成要素との間の通信を処理するためのソフトウェアとルーチンである。本発明に係る一実施例においては、コントローラ２０２は、適切な構成要素との間でデータを送受信することを目的として、以下において後述する機能を実現するためにプロセッサ２４０によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、コントローラ２０２は、サーバ１０４上のメモリ２４５内に記憶されており、プロセッサ２４０によってアクセス可能であると共に、プロセッサ２４０によって実行されることが可能である。上述したいずれの実施例においても、コントローラ２０２は、信号線２２２を介して、プロセッサ２４０、通信ユニット２５０、およびサーバ１０４を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【００３６】
本発明に係る一実施例においては、コントローラ２０２は、通信ユニット２５０を介してデータを受信し、テキスト抽出アプリケーション１０３を構成する適切な構成要素に対してデータを送信する。例えば、コントローラ２０２は、ユーザがスマートフォン内蔵カメラを使用して撮影した写真を通信ユニット２５０を介して受信し、当該写真の中に写っているワードを検出するために、ワード検出エンジン２０４に当該写真を送信する。本発明に係るさらに別の実施例においては、コントローラ２０２は、ユーザ・インターフェース・エンジン２１０によって生成されたユーザ・インターフェースからデータを受け取り、テキスト抽出アプリケーション１０３を構成する適切な構成要素に対してデータを送信する。例えば、コントローラ２０２は、ユーザ・インターフェースを介してユーザから辞書の選択結果を受け取り、当該辞書の選択結果をＯＣＲエンジン２０８に送信し、その結果として、画像内から識別されたテキスト内容の識別結果が当該選択結果に従って選択された辞書と対比され、当該対比の結果に基づいて当該識別されたテキスト内容が調整される。
【００３７】
ワード検出エンジン２０４は、入力された画像内のワードを検出するためのソフトウェアとルーチンである。本発明に係る一実施例においては、ワード検出エンジン２０４は、当該入力された画像内のワードを検出することを目的として、以下において後述する機能を実現するためにプロセッサ２４０によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、ワード検出エンジン２０４は、サーバ１０４上のメモリ２４５内に記憶されており、プロセッサ２４０によってアクセス可能であると共に、プロセッサ２４０によって実行されることが可能である。上述したいずれの実施例においても、ワード検出エンジン２０４は、信号線２２４を介して、プロセッサ２４０、通信ユニット２５０、およびサーバ１０４を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【００３８】
本発明に係る一実施例においては、ワード検出エンジン２０４は、コントローラ２０２を介して、ユーザから画像を受け取り、当該画像内に含まれるワードを検出する処理を実行する。続いて、ワード検出エンジン２０４は、可能性として考えられるワード候補を識別するために、文字、ワード、行、段落および元々テキスト以外の画像であった領域を囲んでいる楕円状輪郭線の集合体を出力する。続いて、ワード検出エンジン２０４は、当該画像内における非ワード領域に該当する楕円状輪郭線を消去すると共に、当該画像内におけるワード領域に該当する少なくとも一つ以上の楕円状輪郭線を残すために、上記出力された楕円状輪郭線の集合体に対して、ワード選別フィルターを適用する。続いて、ワード検出エンジン２０４は、ＮＭＳ（Non-Maximal  Suppression）処理（非最大抑制処理）を使用して当該ワード領域に関して残された少なくとも一つ以上の楕円状輪郭線を併合して単一の楕円状輪郭線を形成する。最後に、ワード検出エンジン２０４は、識別すべきワードを表象する楕円状輪郭線として、当該単一の楕円状輪郭線を出力する。
【００３９】
本発明に係る一実施例においては、ワード検出エンジン２０４は、ガウス・スケーリング空間およびＭＳＥＲ（Maximally  Stable  Extremal  Region）アルゴリズム（最大安定極値領域法アルゴリズム）を使用することによるＭＭＳＥＲ（Multi-scale  Maximally  Stable  Extremal  Region）法を動作原理として採用している。より具体的には、ワード検出エンジン２０４は、所定の分散を有するガウス・フィルターを使用して画像をフィルタリング処理（本明細書の以下の説明においては、この処理を「ガウス・スケーリング」と呼ぶ）することによって、当該画像に対して段階的にブラー効果（ぼかし効果）を加えてゆき、識別すべきワードの見た目が、二値化された大サイズの識別対象（すなわち、斑点状部分）のようになるまで当該段階的なブラー化処理（ぼかし処理）を行う。以下の説明において詳細に検討される図３Ａは、ブラー化処理によって画像に加えられるブラー効果の具体例を含んでいる。斑点状部分を形成するためにワードにとって理想的なスケーリングは、当該ワードの文字フォントの大きさと文字同士の間の間隔の関数となる。当該ワードにとっての理想的なスケーリングを事前に知ることはできないので、ワード検出エンジン２０４は、所定の階級値間隔を持つガウス・スケーリングを使用して如何なるフィルターが適切な斑点状部分を結果として生成するかを判定する。
【００４０】
続いて、ワード検出エンジン２０４は、所定のアルゴリズム（例えば、ＭＳＥＲ（Maximally  Stable  Extremal  Region）アルゴリズム等）を使用してガウス・スケーリング空間内における各画像（すなわち、段階的にブラー効果が加えられた画像の各タイプに対応）の中に見出される複数の斑点状部分を判定する。ＭＳＥＲによる判別処理結果は、局所的な二値化状態が閾値の広い範囲にわたって安定している画像内の一部分である。スケーリングの程度が相対的に低い（画像に加えられるブラー効果が相対的に弱い）時点においては、上述したＭＳＥＲアルゴリズムは、文字単位での検出を行い、スケーリングの程度が高まるにつれて、ワード単位での検出を行うようになる。スケーリングの程度が最高レベルに達した際（この場合、画像に加えられるブラー効果は過剰に強い）には、ＭＳＥＲアルゴリズムは、行単位や段落単位での検出を行うようになる。
【００４１】
図３Ａは、入力された画像に関するガウス・スケーリング空間を表示するグラフィック表現３００である。当該入力された画像は、図３Ａの左上の隅に示されている。ワード検出エンジン２０４は、２次元ガウス・フィルターの分散を徐々に増加させながら、当該２次元ガウス・フィルターを使用して当該入力された画像に対して畳み込み演算を適用する（すなわち、ガウス・スケーリングの程度を徐々に高めてゆく）ことによって、当該入力された画像に対して段階的にブラー効果を加えてゆく。ワード検出エンジン２０４は、段階的にブラー効果が加えられた画像の集合（例えば、ガウス・スケーリング空間）を生成する。この状況は、図３Ａにおいて、各行内を左から右へと辿り、各行を最上段から最下段まで辿りながら見てゆくと段階的にブラー化されてゆく画像として図示されている。当該入力された画像をフィルタリング処理するのに使用するガウス・スケーリングの程度に依存して、ＭＳＥＲアルゴリズムは、文字単位、ワード単位、行単位または段落単位での検出を行い、または元々テキスト以外の画像であった領域の検出を行う。図３Ｂを参照しながら以下においてさらに詳しく後述するが、図３Ａに示した３段目と４段目の行において、検出された斑点状部分は、楕円状輪郭線の集まりを使用して表現されている。
【００４２】
当該画像を構成する全ての部分領域（文字、ワード、行、段落および元々テキスト以外の画像であった領域を囲んでいる楕円状輪郭線）を検出し、出力することに応答して、ワード検出エンジン２０４は、当該画像を構成する部分領域から一つのワードを表象する楕円状輪郭線を決定する。ワード検出エンジン２０４が文字単位、行単位または段落単位でこれらを表象する楕円状輪郭線を決定するのではなく、ワード単位で当該ワードを表象する楕円状輪郭線を決定するのには幾つかの理由がある。例えば、ワード検出エンジン２０４がＯＣＲエンジン２０８に入力するために一つのワードを送信する際に、ＯＣＲエンジン２０８は、ページ全体のレイアウトを解析するためにＯＣＲエンジン２０８内に組み込まれているアルゴリズムの実行をバイパスすることが可能であり、ＯＣＲエンジン２０８に組み込まれている当該アルゴリズムは、テキストの向きが全て単一方向に揃っているテキスト（例えば、右上方向に揃っているテキスト）を中に含んでいる画像全体を領域分割する役割を有する。ＯＣＲエンジン２０８は、自身の認識精度を向上させるために、ワードに対して辞書検索を実行する仕組みをさらに採用している。さらに、ワードが印字された方向を判定することと比較して、文字単位、行単位または段落単位でテキストが印字された方向を判定することが相対的に困難である。幾つかの場合において、テキスト画像における遠近方向の歪みは、各段落内または各行内に含まれる全てのワードが互いに異なる方向に印字されているかのように見せてしまう結果、行単位または段落単位でテキストが印字された方向を判定しようとする際に問題を引き起こす。例えば、ワード検出エンジン２０４は、開いた状態の本をユーザがカメラを使用して撮影した写真を受信する。この写真に関して、当該本の位置から相対的に見たカメラの位置（例えば、当該カメラは本の一方の側を斜めに傾いた方向から見るような位置にあり、当該カメラの一部が当該本を上から押さえ付けている状態）によっては、複数の行内に含まれる複数のワードが互いに異なる角度方向を向いているように見える状態を引き起こす。上述した写真におけるページ内の第１の隅（例えば、右下の隅）に位置するワードは、当該ページ内の第２の隅（例えば、左上の隅）に位置するワードとは微妙に異なった方向に印字されているように見える。
【００４３】
本発明に係る一実施例においては、ワード検出エンジン２０４は、画像内における非ワード領域に該当する楕円状輪郭線を消去すると共に、当該画像内におけるワード領域に該当する少なくとも一つ以上の楕円状輪郭線を残し、当該少なくとも一つ以上の楕円状輪郭線から識別すべきワードを表象する楕円状輪郭線を決定する。非ワード領域の具体例には、複数の文字、行、段落および元々テキスト以外の画像であった領域が含まれる。
【００４４】
本発明に係る一実施例においては、ワード検出エンジン２０４は、非ワード領域に該当する楕円状輪郭線を消去するためにワード選別フィルターを使用する。本発明に係る一実施例においては、ワード検出エンジン２０４は、非ワード領域を囲んでいる楕円状輪郭線を消去するために、上述したとおりに検出された斑点状部分のアスペクト比を算出する。当該アスペクト比は、楕円形をした斑点状部分の長軸方向の横幅と短軸方向の縦幅との間の比率である。ワード検出エンジン２０４は、上述したアスペクト比が所定の数値範囲内とならない楕円状輪郭線を消去する。例えば、ワード検出エンジン２０４は、アスペクト比が３より小さくなる又は１０より大きくなるような楕円状輪郭線を消去することによって、一つ一つの文字や行全体を囲んでいる楕円状輪郭線を消去する（例えば、一つ一つの文字を囲んでいる楕円状輪郭線は、アスペクト比が１に近くなる可能性がある）。本発明に係るさらに別の実施例においては、ワード検出エンジン２０４は、上述した楕円状輪郭線の集合体に属する各楕円状輪郭線について、楕円形状を構成する複数の画素の２次元配置座標系の上で主成分分析（ＰＣＡ：Principal  Component  Analysis）を実行し、当該主成分分析（ＰＣＡ）の結果に基づいて非ワード領域に該当する楕円状輪郭線を消去する。本発明に係る一実施例においては、当該主成分分析（ＰＣＡ）の結果は、上述のとおり楕円形状を構成する複数の画素の２次元分布形状が、本来の楕円形状にどの程度合致しているかを示す度合いを含んでいる。例えば、ワード検出エンジン２０４は、少なくとも２つの主成分を得るために、上述のとおり楕円形状を構成する複数の画素の２次元配置の上で主成分分析（ＰＣＡ）を実行する。上述のとおり得られた主成分から、２次元平面上において、当該楕円状輪郭線が向いている方向と当該楕円状輪郭線が広がっている範囲を知ることができる。本発明に係る一実施例においては、ワード検出エンジン２０４は、上述のとおり楕円形状を構成する複数の画素の中で、楕円形状を定める境界線上に含まれている画素の比率についての閾値（例えば、閾値と９０％等と決定する）を決定し、上述した楕円状輪郭線の集合体の中で、楕円形状を定める境界線上に含まれている画素の比率が当該閾値よりも小さい楕円状輪郭線を消去する。例えば、楕円形状を構成する複数の画素の中で、上述した閾値が定める９０％よりも小さい７０％の画素が上述した境界線上に含まれていることが上述した主成分分析（ＰＣＡ）の結果から示された場合には、ワード検出エンジン２０４は、そのような楕円状輪郭線を消去する。このような方法により、ワード検出エンジン２０４は、複数の文字、行、段落および元々テキスト以外の画像であった領域などの非ワード領域を囲んでいる楕円状輪郭線を消去する。
【００４５】
本発明に係る一実施例においては、ワード検出エンジン２０４がワード選別フィルターを使用して画像内の非ワード領域に該当する楕円状輪郭線を消去した後には、ワード領域に該当する楕円状輪郭線だけが画像内に残されている。図３Ｂは、非ワード領域に該当する楕円状輪郭線を消去し、各ワードを表象する楕円状輪郭線を生成する処理過程の一実施例を表すグラフィック表現３７０を示している。図３Ｂ内の第１の箱型区画３２１には、複数の文字、複数のワード、元々テキスト以外の画像であった領域をそれぞれ囲むように形成された楕円状輪郭線が表わされている。ワード検出エンジン２０４は、この中の少なくとも一つ以上の楕円状輪郭線から、識別すべきワードを表象する楕円状輪郭線を決定する。本発明に係る一実施例においては、ワード検出エンジン２０４は、上述した少なくとも一つ以上の楕円状輪郭線の中で互いに部分的に重なり合った状態の楕円状輪郭線を消去して、当該ワードを表象する一つの楕円状輪郭線を決定するために、ＮＭＳ（Non-Maximal  Suppression）処理（非最大抑制処理）を使用する。例えば、ワード検出エンジン２０４は、上述したＮＭＳ処理を使用することにより、互いに物理的な寸法が似通っており、画像内で互いに重なり合う領域を占有する複数の楕円状輪郭線同士をクラスター化し、楕円状輪郭線の各クラスター毎に一つのワードを表象する一つの楕円状輪郭線を出力する。このような方法により、ワード検出エンジン２０４は、一つのワードに関して互いに部分的に重なり合っている状態の複数の楕円状輪郭線を消去し、当該ワードを表象する一つの楕円状輪郭線を出力する。図３Ｂ内の第２の箱型区画３２２は、上述した画像内の大部分のワードに関して、各ワードをそれぞれ表象する楕円状輪郭線を図示している。
【００４６】
本発明に係る一実施例においては、ワード検出エンジン２０４は、上述した楕円状輪郭線の集合体、各ワードをそれぞれ表象する楕円状輪郭線および検出したワードをデータ記憶装置１０５の中に記憶する。本発明に係るさらに別の実施例においては、ワード検出エンジン２０４は、当該検出したワードおよび当該ワードを表象する関連する楕円状輪郭線を表す情報をワード方向正規化エンジン２０６に対してさらに送信する。
【００４７】
ワード方向正規化エンジン２０６は、ワードの印字方向を判定して、当該ワード（の印字位置、印字方向および文字サイズの縮尺を含む印字状態）を正規化するためのソフトウェアとルーチンである。本発明に係る一実施例においては、ワード方向正規化エンジン２０６は、ワードの印字方向を判定して、当該ワード（の印字位置、印字方向および文字サイズの縮尺を含む印字状態）を正規化することを目的として、以下において後述する機能を実現するためにプロセッサ２４０によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、ワード方向正規化エンジン２０６は、サーバ１０４上のメモリ２４５内に記憶されており、プロセッサ２４０によってアクセス可能であると共に、プロセッサ２４０によって実行されることが可能である。上述したいずれの実施例においても、ワード方向正規化エンジン２０６は、信号線２２６を介して、プロセッサ２４０、通信ユニット２５０、およびサーバ１０４を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【００４８】
本発明に係る一実施例においては、ワード方向正規化エンジン２０６は、画像内において一つのワードを表象する楕円状輪郭線の情報をワード検出エンジン２０４から受信し、当該表象する楕円状輪郭線に基づいて当該ワードが印字されている方向を判定する。例えば、ワード方向正規化エンジン２０６は、当該ワード全体を横に貫く主軸の向きであって当該表象する楕円状輪郭線の主軸方向となる向きを判定し、当該楕円状輪郭線の当該主軸方向を水平方向と一致されるための角度差分を当該ワードが向いている方向として使用する。
【００４９】
本発明に係る一実施例においては、ワード方向正規化エンジン２０６は、当該ワードが向いている方向が上述したとおりに判定されたことに応答して、当該ワード（の印字位置、印字方向および文字サイズの縮尺を含む印字状態）を正規化する。例えば、ワード方向正規化エンジン２０６は、当該ワードを表象する楕円状輪郭線を回転させ、当該ワードが向いている方向を、右上を向いた方向に一律に正規化して向きを揃える。本発明に係る一実施例においては、ワード方向正規化エンジン２０６は、当該ワードが向いている方向を正規化して、画像を構成する２つの部分領域（例えば、当該ワードの第１のバージョンと当該ワードを反転させたバージョンにそれぞれ対応する２つの画像部分）を取得する。例えば、当該ワードを表象する楕円状輪郭線の主軸方法を水平方向と一致されるための角度差分がθに等しいことが判別されたことに応答して、ワード方向正規化エンジン２０６は、当該楕円状輪郭線を角度差分「−θ」および角度差分「１８０°−θ」にそれぞれ等しい角度だけ回転させることにより、当該ワードの第１のバージョンと当該ワードを反転させたバージョンにそれぞれ対応する２つの画像部分領域をそれぞれ取得する。ワード方向正規化エンジン２０６は、上述した２種類のバージョンのどちらが右上方向を向いているかを知らない。当該ワードに関して上述した第１のバージョンと反転させたバージョンについては、図３Ｃを参照しながら以下の説明においてさらに詳しく後述する。
【００５０】
本発明に係る一実施例においては、ワード方向正規化エンジン２０６は、当該ワードに関して上述した第１のバージョンと反転させたバージョンをデータ記憶装置１０５の中に記憶させる。本発明に係るさらに別の実施例においては、ワード方向正規化エンジン２０６は、当該ワードに関して上述した第１のバージョンと反転させたバージョンをＯＣＲエンジン２０８に対してさらに送信する。
【００５１】
ＯＣＲエンジン２０８は、ＯＣＲ処理を実行し、識別すべきワードに関連した文字認識済みのテキスト表現を出力するためのソフトウェアとルーチンである。本発明に係る一実施例においては、ＯＣＲエンジン２０８は、ＯＣＲ処理を実行し、識別すべきワードに関連した文字認識済みのテキスト表現を出力することを目的として、以下において後述する機能を実現するためにプロセッサ２４０によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、ＯＣＲエンジン２０８は、サーバ１０４上のメモリ２４５内に記憶されており、プロセッサ２４０によってアクセス可能であると共に、プロセッサ２４０によって実行されることが可能である。上述したいずれの実施例においても、ＯＣＲエンジン２０８は、信号線２２８を介して、プロセッサ２４０、通信ユニット２５０、およびサーバ１０４を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【００５２】
本発明に係る一実施例においては、ＯＣＲエンジン２０８は、ワード方向正規化エンジン２０６から、当該ワードに関して上述した第１のバージョンと反転させたバージョンを受信し、当該ワードに関して上述した第１のバージョンと反転させたバージョンに対してＯＣＲ文字認識処理を実行して当該ワードに関して文字認識されたテキスト内容を予測する。本発明に係る一実施例においては、ＯＣＲエンジン２０８は、当該ワードに関して上述した第１のバージョンと反転させたバージョンの各々に対してＯＣＲ文字認識処理をそれぞれ実行することにより、上述した２種類のバージョンの各々に関してＯＣＲ文字認識結果をそれぞれ取得し、当該２つのＯＣＲ文字認識結果の各々について信頼度指数をそれぞれ算出し、相対的に高い方の信頼度指数を有するＯＣＲ文字認識結果を出力する。例えば、ＯＣＲエンジン２０８は、上述した第１のバージョンと反転させたバージョンに対応する２つのＯＣＲ文字認識結果の各々について、信頼度を表している０から１００までの範囲内の数値を算出し、上述した２つのＯＣＲ文字認識結果のうち、信頼度を表す数値が他方よりも高いＯＣＲ文字認識結果を、当該ワードに関して文字認識されるべきテキスト内容を予測した結果として出力する。上述した数値（例えば、信頼度指数）が高くなるほど、対応するＯＣＲ認識結果が、当該ワードに関するテキスト内容識別結果を正確に予測している確率が高くなる。
【００５３】
本発明に係る一実施例においては、ＯＣＲエンジン２０８は、当該ワードに関するテキスト内容の識別結果を予測する際の予測精度を向上させるために、当該ワードに関するテキスト内容の識別結果を辞書内で定義された情報と対比し、当該対比の結果に基づいて、当該テキスト内容を調整する。例えば、ＯＣＲエンジン２０８は、当該ワードのテキスト内容識別結果に関する辞書検索の仕組みを採用しており、当該テキスト内容の識別結果に含まれる個々の文字についてのＯＣＲ認識結果における誤差を是正する。本発明に係る一実施例においては、ＯＣＲエンジン２０８は、ユーザによる辞書の選択結果をコントローラ２０２から供給されることによって受け取り、当該ワードに関するテキスト内容の識別結果と対比するために当該選択結果に従って選択された辞書を使用する。
【００５４】
本発明に係る一実施例においては、ＯＣＲエンジン２０８は、ユーザ・インターフェース・エンジン２１０によって生成されたユーザ・インターフェースを介してユーザにテキスト内容識別結果を画面表示することによって、当該ワードのテキスト内容識別結果を出力する。例えば、画像内に含まれるワードのテキスト内容が一旦文字認識されたならば、ＯＣＲエンジン２０８は、当該文字認識されたワードと当該画像の両方をユーザの携帯電話端末の上に画面表示することによって、当該ユーザが着目しているワードの識別結果を当該ユーザに通知する。本発明に係るさらに別の実施例においては、ＯＣＲエンジン２０８は、当該ワードに関して文字認識されたテキスト内容を喋る音声を生成することによって当該テキスト内容を出力することも可能である。
【００５５】
本発明に係るさらに別の実施例においては、ＯＣＲエンジン２０８はさらに、画像からワードのテキスト内容を認識する処理に失敗したことを判定すると、当該認識処理の失敗についてユーザに通知する。本発明に係る一実施例においては、ＯＣＲエンジン２０８は、信頼度指数に関する閾値を決定する。上述した「第１のバージョン」、すなわち上記説明における「ワードを反転させたバージョン」である一方のバージョンについてのＯＣＲ認識結果と関連する信頼度指数の方が、閾値よりも高く、なおかつ、他方のバージョンのＯＣＲ認識結果と関連した信頼度指数よりも高いならば、ＯＣＲエンジン２０８は、当該上述した一方のバージョンについてのＯＣＲ認識結果を、当該ワードに関して予測されたテキスト内容の識別結果として出力する。さもなければ、ＯＣＲエンジン２０８は、ユーザにより入力された画像からのワードのＯＣＲ文字認識処理が失敗したことをユーザに通知し、ＯＣＲ文字認識処理の失敗に応じた何らかの指示をユーザに対して出す。例えば、上述したＯＣＲ認識処理が失敗した旨を判定したことに応じて、ＯＣＲエンジン２０８は、ユーザに対して新しい画像を撮影するように指示し、処理に失敗した以前の画像とコメントを別途の通信手段（例えば、電子メール）を介して送信したり、システム１００の使用方法に関するヒント情報を画面表示したりする。
【００５６】
図３Ｃは、画像内から多種多様な方向を向いた複数のワードを識別するための一連の処理ステップの一実施例を図示するグラフィック表現である。図３Ｃの具体例においては、ユーザ・インターフェース３５０は、ワードが印字されている位置、文字サイズの拡大縮小およびワードの印字方向に対して不変となる態様で画像内から当該ワードを識別する処理ステップを図示する。図３Ｃの（ａ）の部分においては、テキストを構成する複数のワードが印字された入力画像が図示されている。コントローラ２０２は、この入力画像を受け取り、当該入力画像内の複数のワードの印字方向を検出するために、当該入力画像をワード検出エンジン２０４に対して送信する。ワード検出エンジン２０４は、ＭＳＥＲアルゴリズムを使用して当該入力画像内において複数の楕円状輪郭線を検出し、当該入力画像内の文字、ワード、行、段落および元々テキスト以外の画像であった領域をそれぞれ囲んでいる楕円状輪郭線の集まりを生成する。続いて、ワード検出エンジン２０４は、上述した楕円状輪郭線の集まりに対して、ワード選別フィルターとＮＭＳ処理を適用し、一つのワードを表象する一つの楕円状輪郭線を出力する。
【００５７】
図３Ｃの（ｂ）の部分においては、当該ワードとこれを表象する楕円状輪郭線としてワード検出エンジン２０４によって検出された関連する楕円状輪郭線が図示されている。ワード方向正規化エンジン２０６は、各ワードを表象する楕円状輪郭線を受け取り、ワードの印字方向を表す方向角度であって、各ワードを表象する楕円状輪郭線の主軸方法を水平方向と一致されるための角度差分に等しい角度θを決定し、当該各ワードを表象する楕円状輪郭線を角度差分「−θ」および角度差分「１８０°−θ」にそれぞれ等しい角度だけ回転させる。ワード方向正規化エンジン２０６は、当該各ワードを表象する楕円状輪郭線を上述したとおりに回転されることにより、各ワードについて２種類のバージョンを取得する。各ワードに関する当該２種類のバージョンのうちの「第１のバージョン」は、右上方向を向いているワードを含んでおり、他方、各ワードに関する「ワードを反転させたバージョン」は、各ワードが反転された状態の画像を含んでいる。
【００５８】
図３Ｃの（ｃ）の部分においては、複数のワードに関して上述した「第１のバージョン」と「ワードを反転させたバージョン」が図示されている。図３Ｃの（ｃ）の部分において示す左側のカラムは、入力画像から検出された複数のワードをそのまま図示している。図３Ｃの（ｃ）の部分において示す右側のカラムは、当該複数のワードに関して上述した２種類のバージョンを図示している。例えば、図３Ｃの（ｃ）の部分に示す右側のカラム内において、最上部から最下部にかけて表示された３つのワード「Ｕｎｉｔｅｄ」、「Ｓｔａｔｅｓ」および「ａｎｄ」の各々に関して上述した「第１のバージョン」と「ワードを反転させたバージョン」が図示されているが、ユーザ・インターフェース・エンジン２１０は、上記「第１のバージョン」と上記「ワードを反転させたバージョン」を画面表示するためのグラフィック表示データを生成する。ワード方向正規化エンジン２０６は、当該複数のワードに関する「第１のバージョン」と「ワードを反転させたバージョン」をＯＣＲエンジン２０８に送信し、その結果、これら２つのバージョンに対してＯＣＲ文字認識処理が実行され、当該複数のワードに関してテキスト内容の識別結果が得られる。
【００５９】
ユーザ・インターフェース・エンジン２１０は、ユーザ・インターフェースを画面表示するためのグラフィック表示データを生成するためのソフトウェアとルーチンである。本発明に係る一実施例においては、ユーザ・インターフェース・エンジン２１０は、ユーザ・インターフェースを画面表示するためのグラフィック表示データを生成することを目的として、以下において後述する機能を実現するためにプロセッサ２４０によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、ユーザ・インターフェース・エンジン２１０は、サーバ１０４上のメモリ２４５内に記憶されており、プロセッサ２４０によってアクセス可能であると共に、プロセッサ２４０によって実行されることが可能である。上述したいずれの実施例においても、ユーザ・インターフェース・エンジン２１０は、信号線２３０を介して、プロセッサ２４０、通信ユニット２５０、およびサーバ１０４を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【００６０】
本発明に係る一実施例においては、ユーザ・インターフェース・エンジン２１０は、ユーザからの操作入力を受け取るユーザ・インターフェースを画面表示するためのグラフィック表示データを生成する。例えば、ユーザ・インターフェース・エンジン２１０は、画像内から多種多様な方向を向いた複数のワードを識別するために入力されるべき画像をユーザが入力するためのユーザ・インターフェースを生成する。本発明に係るさらに別の実施例においては、ユーザ・インターフェース・エンジン２１０は、辞書検索処理に使用すべき辞書の選択結果をユーザから受け取るためのユーザ・インターフェースを生成する。本発明に係るさらに別の実施例においては、ユーザ・インターフェース・エンジン２１０は、画像内から検出されたワードのテキスト内容識別結果を画面表示するためのユーザ・インターフェースを生成する。例えば、ユーザから受け取った画像内に含まれるワードのテキスト内容が一旦文字認識されたならば、ＯＣＲエンジン２０８は、当該ワードのテキスト内容の識別結果をユーザ・インターフェース・エンジン２１０に対して送信し、当該テキスト内容の識別結果をユーザ・インターフェース内に含める形でユーザに対して画面表示する。
【００６１】
処理動作エンジン２１２は、上述した処理により文字認識されたテキスト内容識別結果を伴う画像に関して、後処理を実行するためのソフトウェアとルーチンである。本発明に係る一実施例においては、処理動作エンジン２１２は、当該文字認識されたテキスト内容識別結果を伴う画像に関して、後処理を実行することを目的として、以下において後述する機能を実現するためにプロセッサ２４０によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、処理動作エンジン２１２は、サーバ１０４上のメモリ２４５内に記憶されており、プロセッサ２４０によってアクセス可能であると共に、プロセッサ２４０によって実行されることが可能である。上述したいずれの実施例においても、処理動作エンジン２１２は、信号線２３０を介して、プロセッサ２４０、通信ユニット２５０、およびサーバ１０４を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【００６２】
本発明に係る一実施例においては、ワードのテキスト内容に関する文字認識結果が出力されたことに応答して、ＯＣＲエンジン２０８は、当該テキスト内容の識別結果に対して更なる後処理を実行するために、当該テキスト内容の識別結果を処理動作エンジン２１２に対して送信する。本発明に係る一実施例においては、処理動作エンジン２１２は、データ記憶装置１０５に対して、画像マッチングのために、当該テキスト内容識別結果をキーとして電子文書の問い合わせ検索処理を実行することにより、当該テキスト内容を含んだ電子文書を検索結果として取り出すために、画像マッチング処理を実行する。例えば、ＯＣＲエンジン２０８は、雑誌の紙面上にテキストが歪んだ状態で印字されている写真画像から文字認識処理により識別したレストランの住所を処理動作エンジン２１２に対して送信し、その結果、レストランに向かって自動車を運転するための方角が検索される。
【００６３】
本発明に係るさらに別の実施例においては、処理動作エンジン２１２は、機械翻訳サービスを実行する。例えば、アメリカ人の生徒が分厚い書籍の紙面にヒンディー語で書かれた記事をスキャナー装置で読み取り、その際に当該スキャナー装置を分厚い書籍の紙面上に押し付けたことにより紙面の印字が歪んだ状態で画像化された当該記事の画像を受け取ったとする。続いて、ワード検出エンジン２０４は、コントローラ２０２を介して、上述したように紙面が歪んだ状態の記事の画像を受信し、記事の題名を当該受信した画像から検出する。続いて、ワード方向正規化エンジン２０６は、ＯＣＲエンジン２０８と通信し、当該画像に写っている記事の題名のテキスト内容を文字認識する。最後に、ＯＣＲエンジン２０８は、当該文字認識されたテキスト内容を処理動作エンジン２１２に対して送信し、処理動作エンジン２１２は、その生徒が当該記事の英語版を見つけることができるように、当該文字認識されたテキスト内容を英語に機械翻訳する。本発明に係る幾つかの実施例においては、処理動作エンジン２１２はサーバ１０４とは別個のサーバを構成する一部分とすることことが可能である。
【００６４】
＜本発明を実施するための方法の実施例＞
次に、図４および図５を参照しながら、本発明を実施するための方法に関する様々な実施例を以下のとおりに後述する。図４は、本発明に関し、画像内から複数のワードを識別するための方法に係る一実施例の処理手順を説明するためのフローチャートである。図４における一連の処理ステップを実装しているテキスト抽出アプリケーション１０３は、コントローラ２０２、ワード検出エンジン２０４、ワード方向正規化エンジン２０６、およびＯＣＲエンジン２０８を含んでいる。
【００６５】
コントローラ２０２はユーザ機器１１５から入力された画像を受信する（処理ステップ４０２）。例えば、ユーザ１２５が、教科書の写真画像を撮影したとする。続いて、コントローラ２０２は、当該入力された画像をワード検出エンジン２０４に対して送信する。続いて、ワード検出エンジン２０４は、当該入力された画像に対して段階的にブラー効果（ぼかし）を加えた画像を生成する（処理ステップ４０４）。続いて、ワード検出エンジン２０４は、当該ブラー効果を加えられた画像の中に含まれる複数の斑点状部分を検出し（処理ステップ４０６）、当該複数の斑点状部分をそれぞれ囲む複数の楕円状輪郭線を出力し（処理ステップ４０８）、当該複数の楕円状輪郭線に基づいて当該入力された画像内に含まれるワードを検出する（処理ステップ４１０）。
【００６６】
続いて、ワード検出エンジン２０４は、当該検出されたワードを伴う当該入力された画像を、ワード方向正規化エンジン２０６に対して送信し、ワード方向正規化エンジン２０６は、ワードの印字方向を調整し、当該ワードの印字方向を正規化して「第１のバージョン」とする（等してワードの印字位置、印字方向および文字サイズの縮尺を含む印字状態を正規化する）（処理ステップ４１２）。続いて、ワード方向正規化エンジン２０６は、当該ワードを反転させた反転バージョンを生成し（処理ステップ４１４）、当該ワードに関する上述した２種類のバージョンをＯＣＲエンジン２０８に対して送信する。ＯＣＲエンジン２０８は、当該ワードに関する上述した２種類のバージョンに対して、光学文字認識処理の実行と上述した信頼度指数の生成を行う。ＯＣＲエンジン２０８は、当該ワードに関する上述した２種類のバージョンの両者に関して、テキスト内容の識別結果と信頼度指数をそれぞれ出力する。ＯＣＲエンジン２０８は、生成された信頼度指数が高い方のバージョンを当該ワードに関するテキスト内容の識別結果に対応するものとして選択する。ＯＣＲエンジン２０８は、当該画像内に含まれる全てのワードに関して上述した処理過程を反復的に実行する。本発明に係る幾つかの実施例においては、ＯＣＲエンジン２０８は、当該画像内の残りのワードを、各ワードに関して上述した「第１のバージョン」と「反転バージョン」のどちらとして仮定するかを決定し、上記決定において選択された方の仮定に基づいてＯＣＲ文字認識処理を実行する。
【００６７】
図５は、本発明に関し、画像内から複数のワードを識別するための方法に係る一実施例の処理手順を説明するためのフローチャートである。図５における一連の処理ステップを実装しているテキスト抽出アプリケーション１０３は、コントローラ２０２、ワード検出エンジン２０４、ワード方向正規化エンジン２０６、およびＯＣＲエンジン２０８を含んでいる。
【００６８】
コントローラ２０２はユーザ機器１１５から入力された画像を受信する。続いて、コントローラ２０２は、当該受信した画像をワード検出エンジン２０４に対して送信する。続いて、ワード検出エンジン２０４は、当該画像をフィルタリング処理し、段階的にブラー効果を加えた画像を生成し（処理ステップ５０２）、ガウス・スケーリング空間上でＭＳＥＲ（Maximally  Stable  Extremal  Regions）アルゴリズム（最大安定極値領域法アルゴリズム）を使用して、当該ブラー化処理された画像内において複数の斑点状部分を検出する（処理ステップ５０４）。続いて、ワード検出エンジン２０４は、当該画像内において文字、ワード、行、段落および元々テキスト以外の画像であった領域をそれぞれ表象する斑点状部分を囲んでいる楕円状輪郭線を出力する（処理ステップ５０６）。続いて、ワード検出エンジン２０４は、ワード選別フィルターを使用して、非ワード領域と関連している楕円状輪郭線を消去する（処理ステップ５０８）。続いて、ワード検出エンジン２０４は、ＮＭＳ（Non-Maximal  Suppression）処理（非最大抑制処理）を使用して、当該画像内に含まれる各ワードを表象する楕円状輪郭線を決定する（処理ステップ５１０）。
【００６９】
続いて、ワード検出エンジン２０４は、上述した各ワードを表象する楕円状輪郭線を伴う当該入力された画像をワード方向正規化エンジン２０６に対して送信し、ワード方向正規化エンジン２０６は、各ワードを表象する楕円状輪郭線に基づいて各ワードの印字方向を判定する（処理ステップ５１２）。続いて、ワード方向正規化エンジン２０６は、ワードの印字方向を調整し、当該ワードの印字方向を正規化する（等してワードの印字位置、印字方向および文字サイズの縮尺を含む印字状態を正規化する）（処理ステップ５１４）。例えば、ワード方向正規化エンジン２０６は、当該ワード全体を横に貫く主軸の向きであって当該表象する楕円状輪郭線の主軸方向となる向きを判定し、当該楕円状輪郭線の当該主軸方向を水平方向と一致されるための角度差分を当該ワードが向いている方向として使用する。
【００７０】
ワード方向正規化エンジン２０６は、上述のとおり（印字位置、印字方向および文字サイズの縮尺を含む印字状態）が正規化されたワードをＯＣＲエンジン２０８に対して送信し、画像内の各ワードについてテキスト内容の識別結果を予測するために、光学文字認識処理を実行する（処理ステップ５１６）。本発明に係る幾つかの実施例においては、ＯＣＲエンジン２０８は、各ワードについて反転させたバージョンを生成し、光学文字認識処理を実行して、上述した「第１のバージョン」と「反転させたバージョン」の各々について信頼度指数を生成し、上記２種類のバージョンのどちらの方が信頼度指数がより高いかを判定する。ＯＣＲエンジン２０８は、上述した認識処理によって各文字が正確に識別されていることを検証するために、当該識別されたテキスト内容を辞書中の定義内容と対比する（処理ステップ５１８）。この対比の結果に基づいて、ＯＣＲエンジン２０８は、上記テキスト内容の識別結果を是正する（処理ステップ５２０）。例えば、ＯＣＲエンジン２０８がある一つのワードのテキスト内容を「electranic」と識別し、当該ワードのテキスト内容が辞書中の定義に従って「electronic」と特定された場合には、ＯＣＲエンジン２０８は、上記テキスト内容における「ａ」を「ｏ」で置き換えて正しいスペルとする。
【００７１】
＜例示的なユーザ・インターフェース＞
図６は、ユーザ・インターフェース・エンジン２１０によって生成された例示的なユーザ・インターフェース６００を図示するグラフィック表現である。この具体例においては、ユーザ・インターフェース６００は、画像内から識別されたワードのテキスト内容を画面表示する。テキスト抽出アプリケーション１０３は、ユーザ・インターフェース６００の左側において画像６０２を受け取る。画像６０２は、それぞれ複数のワードから成る３つの行を含んでいる。画像６０２内において、各行は他の行とは異なる印字方向を向いている。例えば、第１の行の向きが水平方向との間に成す（水平方向から逆時計回りに測った）第１の角度は、９０°未満であり、第２の行の向きが水平方向との間に成す第２の角度は、９０°より大きく、第３の行の向きが水平方向との間に成す第３の角度は、０°に近い角度である。テキスト抽出アプリケーション１０３は、各行内の各ワードを検出し、検出したワードの印字方向を判定し、当該ワードの印字方向を正規化し、当該正規化したワードに対して光学文字認識処理を実行してユーザ・インターフェース６００の領域６０４内に各ワードと関連したテキスト内容を出力する。例えば、各ワードと関連して領域６０４内において表示されるテキスト内容等は、上述した光学文字認識処理の結果であり、この文字認識結果は、第１の行のテキスト内容として「I  LOVE  TENNIS」を含み、第２の行のテキスト内容として「FOOTBALL  IS  A  GREAT  SPORT」を含み、第３の行のテキスト内容として「GRASS  IS  GREEN」を含んでいる。
【００７２】
テキスト抽出アプリケーション１０３が領域６０４に表示されるべきテキスト内容を一旦認識したならば、処理動作エンジン２１２は、領域６０４内のテキスト内容に対して追加的な後処理を実行することが可能である。例えば、ユーザは、ユーザ・インターフェース６００内のボタン６０６をクリック操作することにより、領域６０４内のテキスト内容を含んでいるテキスト・マッチング可能ファイルを検索するように処理動作エンジン２１２に指示することが可能である。さらにユーザは、ユーザ・インターフェース６００内のボタン６０８をクリック操作することにより、領域６０４内のテキスト内容を翻訳するように処理動作エンジン２１２に指示することが可能である。
【００７３】
本発明に係る複数の実施例に関して上述した説明は、具体例の例示と説明を目的として開示されたものである。上述した実施例は、本発明の全ての実施形態を完全網羅するものではなく、また本明細書中の開示内容を上述した実施形態に厳密な意味で限定することも意図されていない。上述した教示内容に基づいて、本発明に関して上述した実施例に対する数多くの修正や変形が可能である。本発明に係る実施例の技術的範囲は、「発明を実施するための形態」欄に記載された発明の詳細な説明によってではなく、特許請求の範囲に記載された請求項の記載によって規定されるように意図されている。当該技術分野を熟知している当業者であれば容易に理解可能なこととして、本明細書中で説明された複数の具体例は、本発明の技術思想と本質的な特徴から逸脱することなく、本明細書で記述された以外の他の具体的な形態として具現化することが可能である。同様に、特定の名称の決め方、および実施例全体を複数の機能モジュール、ルーチン、特徴的構成、属性、方法およびその他の観点から分割した分割態様は本発明にとって必須の要件でもなければ重要な意味を持つものでもなく、本明細書中で上述された説明内容やその技術的特徴は、上述した名称とは異なる名称を付与されてもよく、上述した分割態様とは異なる分割態様やフォーマットを採用するものであっても良い。さらには、本発明と関連する技術分野における当業者であれば自明のことであるが、本明細書中で説明される機能モジュール、ルーチン、特鋼的構成、属性、方法およびその他の側面は、ソフトウェア、ハードウェア、ファームウェアおよびこれら３つの中の任意の組み合わせとして実装されることが可能である。さらに、本明細書中で上述した実施例全体を構成するどのような構成要素（例えば、機能モジュールなど）であっても、ソフトウェアとしての実装が可能であり、当該構成要素の各々は、スタンドアロン型のプログラム、より大規模なプログラムの一部分、複数の別個のプログラム、静的に又は動的にリンクされるライブラリ・モジュール、ＯＳのカーネルがロード可能なランタイム・モジュール、デバイス・ドライバ、および／またはコンピュータ・プログラミングの分野における現在または将来の当業者にとって周知である他の任意のあらゆるプログラム実装形態として実装されることが可能である。加えて、本明細書中で上述した技術内容の実装は、特定の如何なるプログラミング言語にも、特定の如何なるオペレーティング・システムにも、特定の如何なるライタイム実行環境にも決して限定されない。したがって、本明細書の開示内容は、本発明の技術的範囲を限定するためではなく、単に具体例を例示することを目的に記述され、本明細書が上述したとおりに開示する発明の技術的範囲は、特許請求の範囲に記載された請求項によって規定される。
【図１Ａ】
2014132453.tif 000003
【図１Ｂ】
2014132453.tif 000004
【図２】
2014132453.tif 000005
【図３Ａ】
2014132453.tif 000006
【図３Ｂ】
2014132453.tif 000007
【図３Ｃ】
2014132453.tif 000008
【図４】
2014132453.tif 000009
【図５】
2014132453.tif 000010
【図６】
2014132453.tif 000011