特許第6244892号(P6244892)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許6244892文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出
<>
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000002
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000003
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000004
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000005
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000006
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000007
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000008
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000009
  • 特許6244892-文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6244892
(24)【登録日】2017年11月24日
(45)【発行日】2017年12月13日
(54)【発明の名称】文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出
(51)【国際特許分類】
   G06K 9/32 20060101AFI20171204BHJP
   G06K 9/20 20060101ALI20171204BHJP
【FI】
   G06K9/32
   G06K9/20 340J
【請求項の数】20
【全頁数】26
(21)【出願番号】特願2013-265073(P2013-265073)
(22)【出願日】2013年12月24日
(65)【公開番号】特開2014-132453(P2014-132453A)
(43)【公開日】2014年7月17日
【審査請求日】2016年12月8日
(31)【優先権主張番号】13/734,760
(32)【優先日】2013年1月4日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】スリカウシク パヴァニ
(72)【発明者】
【氏名】エクタ フラシュナニ
【審査官】 佐藤 卓馬
(56)【参考文献】
【文献】 特開2007−034812(JP,A)
【文献】 特開2006−277151(JP,A)
【文献】 特開昭64−013687(JP,A)
【文献】 特開2004−171337(JP,A)
【文献】 特開昭54−160132(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/32
G06K 9/20
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実施される方法であって:
入力された画像を受信するステップと、
前記入力された画像を段階的にブラー化処理した画像を生成するステップと、
前記ブラー化処理した画像内における複数の斑点状部分を検出するステップと、
前記複数の斑点状部分をそれぞれ囲んでいる複数の楕円状輪郭線を出力するステップと、
一つ以上のコンピュータ装置を使用して、前記複数の楕円状輪郭線に基づいて前記入力された画像内に含まれるワードを検出するステップと、
前記一つ以上のコンピュータ装置を使用して、前記ワードの印字方向を判定し、前記ワードを正規化するステップと、
前記ワードに対して光学文字認識処理を実行するステップと、
前記一つ以上のコンピュータ装置を使用して、前記ワードと関連するテキスト内容を出力するステップと、
を具備する方法。
【請求項2】
前記ワードに対する前記正規化によって、前記ワードの第1のバージョンを生成するステップと、
前記ワードに対する前記正規化によって、前記ワードを反転させたバージョンをさらに生成するステップと、
前記ワードの前記第1のバージョンと前記ワードを前記反転させたバージョンとに関して信頼度指数をそれぞれ生成するステップ、
をさらに具備し、
前記ワードと関連する前記テキスト内容は、前記ワードに関してより高い信頼度指数を有するバージョンと関連していることを特徴とする、請求項1記載の方法。
【請求項3】
前記複数の楕円状輪郭線を前記出力するステップは、前記ワードに関して、前記ワードを表象する楕円状輪郭線を生成するステップを具備することを特徴とする、請求項1記載の方法。
【請求項4】
前記ワードを表象する楕円状輪郭線は、
ワード選別フィルターを使用して、非ワード領域に該当する楕円状輪郭線を消去し、
前記入力された画像内に含まれる前記ワードに関する少なくとも一つの楕円状輪郭線を残し、
前記少なくとも一つの楕円状輪郭線のアスペクト比に基づいて、前記ワードを表象する楕円状輪郭線を決定する、
ことによって決定されることを特徴とする、請求項3記載の方法。
【請求項5】
前記ワードと関連するテキスト内容を辞書中の定義内容と対比するステップと、
前記対比の結果に基づいて、前記テキスト内容を調整するステップと、
をさらに具備する、請求項1記載の方法。
【請求項6】
前記ワードの第1のバージョンを生成するために、前記ワードの印字方向を判定し、前記ワードを正規化する処理動作は、
前記ワードの前記第1のバージョンが向いている方向を判定する動作と、
前記ワードの前記第1のバージョンが向いている方向を所定の方向に正規化する動作と、
を具備することを特徴とする、請求項2記載の方法。
【請求項7】
前記ワードと関連するテキスト内容を出力するステップは、前記出力した前記テキスト内容に対する画像マッチング処理を実行することによって、前記テキスト内容を含む電子文書を検索するための後処理を実行するステップをさらに具備する、請求項1記載の方法。
【請求項8】
前記ワードと関連するテキスト内容を出力するステップは、前記出力した前記テキスト内容に対する機械翻訳するための後処理を実行するステップをさらに具備する、請求項1記載の方法。
【請求項9】
一つ以上のプロセッサと、
前記プロセッサによる実行が可能であり、メモリ上に記憶されるコントローラであって、入力された画像を受信するように構成されたコントローラと、
前記入力された画像を段階的にブラー化処理した画像を生成し、前記ブラー化処理した画像内における複数の斑点状部分を検出し、前記複数の斑点状部分をそれぞれ囲んでいる複数の楕円状輪郭線を出力し、前記複数の楕円状輪郭線に基づいて前記入力された画像内に含まれるワードを検出するように構成されたワード検出エンジンと、
前記ワードの印字方向を判定し、前記ワードを正規化するように構成されたワード方向正規化エンジンと、
前記ワードに対して光学文字認識処理を実行し、前記ワードと関連するテキスト内容を出力するように構成された光学文字認識(OCR)エンジンと、
を具備するシステム。
【請求項10】
前記ワード方向正規化エンジンは:
前記ワードに対する前記正規化によって、前記ワードの第1のバージョンを生成するステップと、
前記ワードに対する前記正規化によって、前記ワードを反転させたバージョンをさらに生成するステップと、
前記ワードの前記第1のバージョンと前記ワードを前記反転させたバージョンとに関して信頼度指数をそれぞれ生成するステップ、
をさらに実行するように構成され、
前記ワードと関連する前記テキスト内容は、前記ワードに関してより高い信頼度指数を有するバージョンと関連していることを特徴とする、請求項9記載のシステム。
【請求項11】
前記ワード検出エンジンが前記複数の楕円状輪郭線を前記出力する動作は、前記ワードに関して、前記ワードを表象する楕円状輪郭線を生成する動作をさらに具備することを特徴とする、請求項9記載のシステム。
【請求項12】
前記ワード検出エンジンが前記ワードを表象する楕円状輪郭線を生成する動作は:
ワード選別フィルターを使用して、非ワード領域に該当する楕円状輪郭線を消去し、
前記入力された画像内に含まれる前記ワードに関する少なくとも一つの楕円状輪郭線を残し、
前記少なくとも一つの楕円状輪郭線のアスペクト比に基づいて、前記ワードを表象する楕円状輪郭線を決定する、
動作を具備することを特徴とする、請求項11記載のシステム。
【請求項13】
前記OCRエンジンは:
前記ワードと関連するテキスト内容を辞書中の定義内容と対比する動作と、
前記対比の結果に基づいて、前記テキスト内容を調整する動作と、
をさらに実行するように構成されている、請求項9記載のシステム。
【請求項14】
前記ワードの第1のバージョンを生成するために、前記ワード方向正規化エンジンが前記ワードの印字方向を判定し、前記ワードを正規化する処理動作は:
前記ワードの前記第1のバージョンが向いている方向を判定する動作と、
前記ワードの前記第1のバージョンが向いている方向を所定の方向に正規化する動作と、
を具備することを特徴とする、請求項10記載のシステム。
【請求項15】
コンピュータからアクセス可能な記録媒体の上に記録されたコンピュータ読み取り可能プログラムであって、当該コンピュータ読み取り可能プログラムは:
入力された画像を受信するステップと、
前記入力された画像を段階的にブラー化処理した画像を生成するステップと、
前記ブラー化処理した画像内における複数の斑点状部分を検出するステップと、
前記複数の斑点状部分をそれぞれ囲んでいる複数の楕円状輪郭線を出力するステップと、
一つ以上のコンピュータ装置を使用して、前記複数の楕円状輪郭線に基づいて前記入力された画像内に含まれるワードを検出するステップと、
前記一つ以上のコンピュータ装置を使用して、前記ワードの印字方向を判定し、前記ワードを正規化するステップと、
前記ワードに対して光学文字認識処理を実行するステップと、
前記一つ以上のコンピュータ装置を使用して、前記ワードと関連するテキスト内容を出力するステップと、
を具備するコンピュータ読み取り可能プログラム。
【請求項16】
前記ワードに対する前記正規化によって、前記ワードの第1のバージョンを生成するステップと、
前記ワードに対する前記正規化によって、前記ワードを反転させたバージョンをさらに生成するステップと、
前記ワードの前記第1のバージョンと前記ワードを前記反転させたバージョンとに関して信頼度指数をそれぞれ生成するステップ、
をさらに具備し、
前記ワードと関連する前記テキスト内容は、前記ワードに関してより高い信頼度指数を有するバージョンと関連していることを特徴とする、請求項15記載のコンピュータ読み取り可能プログラム。
【請求項17】
前記複数の楕円状輪郭線を前記出力するステップは、前記ワードに関して、前記ワードを表象する楕円状輪郭線を生成するステップを具備することを特徴とする、請求項16記載のコンピュータ読み取り可能プログラム。
【請求項18】
前記ワードを表象する楕円状輪郭線は、
ワード選別フィルターを使用して、非ワード領域に該当する楕円状輪郭線を消去し、
前記入力された画像内に含まれる前記ワードに関する少なくとも一つの楕円状輪郭線を残し、
前記少なくとも一つの楕円状輪郭線のアスペクト比に基づいて、前記ワードを表象する楕円状輪郭線を決定する、
ことによって決定されることを特徴とする、請求項17記載のコンピュータ読み取り可能プログラム。
【請求項19】
前記ワードと関連するテキスト内容を辞書中の定義内容と対比するステップと、
前記対比の結果に基づいて、前記テキスト内容を調整するステップと、
をさらに具備する、請求項15記載のコンピュータ読み取り可能プログラム。
【請求項20】
前記ワードの第1のバージョンを生成するために、前記ワードの印字方向を判定し、前記ワードを正規化する処理動作は、
前記ワードの前記第1のバージョンが向いている方向を判定する動作と、
前記ワードの前記第1のバージョンが向いている方向を所定の方向に正規化する動作と、
を具備することを特徴とする、請求項16記載のコンピュータ読み取り可能プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワード検出を実行するためのシステムと方法とに関係し、より具体的には、文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変となるように、文書イメージから光学的文字認識(OCR:Optical Character Recognition)処理のためにワードを検出する技術と関係している。
【背景技術】
【0002】
印刷された紙媒体と電子媒体との間には隔たりがある。文書イメージに対してOCR(Optical Character Recognition)処理を実行し、テキスト内容を文字認識すると共に当該文字認識されたテキスト内容に対して後続の処理動作を実行することによってそのような隔たりを橋渡しするようなソフトウェアが現在知られている。当該文字認識されたテキスト内容に対するそのような処理動作の中の一つは、当該文字認識されたテキスト内容をデータベースに対して検索キーとして問い合わせ入力し、当該テキスト内容と一致する情報検索結果を見出す処理動作を含む。具体例を挙げるならば、ユーザは、例えばカメラやスマートフォンを使用して被写体の画像を撮影し、当該画像を上述したようなソフトウェアに送信する。上述したようなソフトウェアは、当該画像の中身を識別し、当該画像に写っている被写体を購入したり当該被写体についてより詳しい情報を調べたりするためのWebサイト情報をユーザに提供する。
【0003】
画像からテキスト内容を機械認識することは有益である。何故ならば、当該テキスト内容は、当該画像内に含まれる情報コンテンツに関して高水準の意味情報を提供するのみならず、関連する情報を検索するためにさらに使用することが可能だからである。しかしながら、当該テキスト内容の機械認識を実現することは、画像内でのテキストの歪みによる変形に起因して、技術的に非常に困難な解決課題である。例えば、紙面内での回転歪みとは、当該テキストを含む紙面に垂直な法線ベクトル方向を中心軸としたテキストの回転による歪みである。紙面外での回転歪みとは、当該テキストに遠近方向の変形歪みを加える可能性がある回転歪みであって、任意の向きのベクトルを軸としたテキストの回転による歪みである。画像内のテキストの全体にわたって一つの印字方向が支配的である場合、現在のOCR技術に基づくアプローチでもおそらく良好に機能するだろう。しかしながら、画像内に含まれる複数のテキストが多種多様な方向を向いている場合には、現在のOCR技術に基づくアプローチは、画像内のテキストの向きが全て同一の方向に揃っていると期待する結果、多種多様な方向を向いているテキストを正しく識別することに失敗する。例えば、書籍が写っている画像は、当該書籍の前表紙の上に印字されたテキストと当該書籍の背表紙に印字されたテキストを含む場合がある。さらに別の具体例では、テキストを含む画像は、水平方向に表示されたテキストと垂直方向に表示されたテキストの両者を含む場合がある。その結果、現在のOCR(Optical Character Recognition)技術に基づくアプローチは、上述したような場合においては、充分な信頼性があるとは言えない。
【発明の概要】
【0004】
本明細書が開示する発明は、画像内において多種多様な方向を向いて表示されているワードを識別するためのシステムに関する従来技術の欠点を克服するものである。本発明に係る一実施例に従って構成されるシステムは、コントローラ、ワード検出エンジン、ワード方向正規化エンジンおよびOCR(光学文字認識)エンジンを含んでいる。当該コントローラは、入力された画像を受信する。当該ワード検出エンジンは、段階的にブラー効果(ぼかし効果)を加えた画像を生成し、当該ブラー効果が加わった画像内の斑点状部分を検出し、当該斑点状部分に基づいて楕円状輪郭線を出力し、当該入力された画像内のワードを検出する。当該ワード方向正規化エンジンは、(各ワードの印字位置、印字方向および文字サイズの縮尺などを含む印字状態を一律に正規化する。例えば、当該ワード方向正規化エンジンは、)当該ワードの第1の検出バージョンの印字方向を判定し、当該第1の検出バージョンを正規化することにより、当該ワードを反転させた検出バージョンを生成する。当該OCRエンジンは、OCR(光学文字認識)処理を実行し、上述した「当該ワードの第1の検出バージョン」および「当該ワードを反転させた検出バージョン」に関する信頼度指数を生成し、より高い信頼度指数を有するワードと関係付けられたテキスト内容を出力する。
【0005】
本発明のその他の実施態様は、上述した実施例および本発明に係るその他の新規な技術的特徴に関連した対応する方法、システム、装置およびコンピュータ・プログラム製品を含んでいる。
【0006】
本発明に係るシステムは、画像内において多種多様な方向を向いている複数のワードを従来技術よりも技術的に優れた態様で識別する。本明細書中で述べられている本発明の技術的特徴と技術的な優位性は、それらだけが全てではなく、当業者が本明細書中の詳細な説明内容と添付図面とに接することによって、数多くのその他の技術的特徴や技術的な優位性が自明なものとして把握されるだろう。さらに、本明細書中の説明において使用されている各種用語や言葉遣いは読みやすさと明確な教示を目的として選択されており、本明細書中で開示されている発明の技術的範囲を限定するものではない。
【0007】
本発明に係る実施例は、以下において簡単に説明する添付図面において、発明の技術的範囲を限定する目的ではなく、単に具体例を挙げる目的のためにのみ図示され、当該添付図面においては、同様の参照番号は、同種の構成要素を参照するために使用されている。
【図面の簡単な説明】
【0008】
図1A】多種多様な方向を向いて印字されたテキストの具体例を表すグラフィック表現
図1B】画像内において多種多様な方向を向いた複数のワードを識別するためのシステムに関する一実施例を図示する高水準ブロック図
図2】テキスト抽出アプリケーションの一実施例を図示するブロック図
図3A】画像に関するガウス・スケーリング空間を表すグラフィック表現
図3B】非ワード領域に該当する楕円状輪郭線を消去し、各ワードを表象する楕円状輪郭線を生成する処理過程の一実施例を図示するグラフィック表現
図3C】画像内から多種多様な方向を向いた複数のワードを識別するための一連の処理ステップの一実施例を図示するグラフィック表現
図4】画像内から多種多様な方向を向いた複数のワードを識別する方法の一実施例を説明するフローチャート
図5】画像内から多種多様な方向を向いた複数のワードを識別する方法のさらに別の実施例を説明するフローチャート
図6】画像内から識別されたワードと関係付けられたテキスト内容識別結果を画面表示するユーザ・インターフェースの一実施例を図示するグラフィック表現
【発明を実施するための形態】
【0009】
以下において、画像内において多種多様な方向を向いた複数のワードを識別するためのシステムと方法が説明される。図1Aは、多種多様な方向を向いて印字されたテキストの具体例を表すグラフィック表現150である。図1A内の区画151は、開かれた状態の本を図示する画像であり、本のページから見たカメラの相対的な位置に応じて、当該ページ上に印字されたワードは、様々に異なる角度から見える結果、様々に異なる方向を向いているように見えることとなる。例えば、当該ページの右下の隅に印字されたワードは、当該ページの左上の隅近くに印字された任意のワードとは微妙に異なる方向を向いているように見える。この具体例においては、複数のワードがそれぞれ向いているように見える方向の違いを角度差で表すと、最大で15°の角度差がある。図1A内の区画152は、閉じた状態の本を図示する画像であり、本の前表紙に印字されたテキストは、本の背表紙に印字されたテキストとは異なる方向を向いているように見える。図1A内の区画153は、多種多様な印字方向を向いている複数のテキストを含んでいる画像を作成することを画像の設計者が選択した場合における、そのようなテキストを含む画像を示している。
【0010】
本明細書の以下の記述において、説明の便宜上、本発明に関する包括的な理解を可能とするための数多くの具体的な詳細内容が述べられる。しかしながら、当該技術分野における当業者であれば、これらの具体的な詳細内容に限定されることなく、本発明に係る実施例を実施可能であることが自明であると了解することができよう。その他の具体例においては、本発明を実施するための構造や装置は、本発明の内容が不明確となることを回避するために、ブロック図の形式で示される。例えば、以下において後述する一実施例においては、本発明は、スマートフォン、特定のソフトウェアおよび特定のハードウェアを参照しながら説明される。しかしながら、後述する実施例の説明は、データおよびコマンドを受信することが可能なあらゆる種類のコンピュータ装置とサービス機能を提供するあらゆる周辺機器に対しても当てはまる。
【0011】
本明細書中において「一実施例」または「一つの実施例」と記載されている場合、それは、複数の実施例との関連において本明細書が説明する特定の技術的特徴、構造および特性が、少なくとも一つの実施例の中に含まれていることを意味する。本明細書中の様々な箇所に記載されている「一実施例」または「一つの実施例」との記載は、必ずしも同一の実施例を指して言っているとは限らない。
【0012】
以下において後述する発明の詳細な説明の中の幾つかの記載箇所は、コンピュータのメモリ内に格納されているデータ・ビットに対して実行される演算に関するアルゴリズムと記号表記の形で本発明に係る実施例を説明している。これらのアルゴリズムに基づく説明と表現形式はデータ処理技術分野を専門とする当業者が他の当業者に対して自身の技術開発成果を最も効果的に伝達するために慣用されている説明手段である。ここでの説明においては、一般的に、アルゴリズムは、所望される処理結果を最終的に得るために、首尾一貫した一連の処理ステップから構成される系列であると考えられる。これら複数の処理ステップは、物理量に対する物理的な操作を必要とするものである。通常の場合は、これらの物理量は、記憶され、転送され、合成され、比較され、さもなければ操作されることが可能である電気的または磁気的な信号の形態を採るものであるが、必ずしもこのような形態に限定される必要はない。当業者の間で共通の用語を使用すべきとの主な理由から、これらの電気的/磁気的な信号は、ビット、値、要素、記号、文字、項、数値などと呼ぶ方が時として便宜的であることが分かっている。
【0013】
しかしながら、これらの用語および類似した用語の全ては、適切な物理量と関係付けられた形で使用されるべき用語であり、これらの物理量に対して便宜上付与された単なる呼び名に過ぎないことを心に留めるべきである。該当しない旨の特段の断りがない限り、本明細書の全体を通じて、「情報処理」、「計算処理」、「演算処理」、「判定処理」または「表示処理」等の用語を使用した説明は、コンピュータ・システムまたは同様の電子的計算装置による処理動作や処理過程を指して言っていることが以下の説明から自明であると理解され、当該コンピュータ・システム等は、当該システム内のレジスタ回路やメモリ内において物理量(電気的な量)として表現されているデータを操作し、当該システム内のレジスタ回路やメモリあるいはその他同様の情報記憶装置、伝送装置もしくは表示装置内において同様に物理量として表現される他のデータへと変換処理するシステムである。
【0014】
本発明はさらに、本明細書中において説明される処理動作を実行するための装置と関係している。この装置は、本発明において必要な目的を達成するために特別に構成された装置とすることも可能であり、コンピュータ内に記憶されたコンピュータ・プログラムによって選択的に起動され、再設定される汎用のコンピュータを備えた装置とすることも可能である。そのようなコンピュータ・プログラムは、コンピュータ可読記憶媒体の中に記憶され、そのようなコンピュータ可読記憶媒体の具体例には、フロッピー(登録商標)・ディスク、光学ディスク、CD−ROM、磁気ディスク、ROM(読み出し専用メモリ)、RAM(ランダム・アクセス・メモリ)、EPROM、EEPROM、磁気読み取りカード/光学式カードフラッシュ・メモリ(不揮発性メモリを内蔵したUSB型キー)などを含む任意の種類のディスク装置が含まれ、さらには、電子的な命令コードを記憶するのに適した任意のタイプの媒体が含まれるが、これらだけに限定はされず、上述した各々は、コンピュータ・システムのバスに接続される。
【0015】
本発明に係る幾つかの実施例は、実施例全体がハードウェアによって構成される実施例、実施例全体がソフトウェアによって構成される実施例、ハードウェア部分とソフトウェア部分の両者を含んでいる実施例などの形態を採ることが可能である。本発明を実施するための好適な実施例は、ソフトウェア内において実現され、当該ソフトウェアは、ファームウェア、常駐ソフトウェアおよびマイクロコード等を含み得るがこれらだけに限定はされない。
【0016】
さらには、本発明に係る幾つかの実施例は、コンピュータから利用可能な媒体又はコンピュータから読み出し可能な媒体からアクセス可能なコンピュータ・ソフトウェア製品の形態を採ることが可能であり、そのようなコンピュータ・ソフトウェア製品は、コンピュータ又は何らかの命令コード実行システムによりまたはこれらとの関係において使用するためのプログラム・コードを提供するものである。本発明の目的を達成するために、コンピュータから利用可能な媒体又はコンピュータから読み出し可能な媒体は、命令コード実行システム、命令コード実行装置または命令コード実行デバイスによりまたはこれらとの関係において使用するためのプログラムを記憶し、蓄積し、通信し、伝搬させ又は転送することが可能な任意の装置とすることが可能である。
【0017】
プログラム・コードを記憶したり実行したりするのに適しているデータ処理システムは、システム・バスを介してメモリ要素と直接に又は間接に接続された少なくとも一つのプロセッサを含んでいる。当該メモリ要素は、上述したプログラム・コードが実際に実行されている期間中に使用されるローカル・メモリ、大容量記憶部、キャッシュ・メモリを含んでおり、当該キャッシュ・メモリは、コード実行中にコードが大容量記憶部から読み出されなくてはならない回数を減らすために、上述したプログラム・コードの少なくとも一部分を一時的に記憶するための一時記憶メモリを提供する。I/O(入出力)装置(キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらだけに限定はされない)は、バスとの間に介在するI/Oコントローラを経由して又はバスに対して直接に接続する形でシステムに接続されている。
【0018】
当該データ処理システムを、途中に介在する私設網または公衆網を経由して他のデータ処理システム、リモート接続型プリンタ装置、リモート接続型記憶装置などに接続可能とするために、当該データ処理システムにはネットワーク・アダプタを接続することがさらに可能である。モデム装置、ケーブル・モデムおよびイーサネット(登録商標)・カードなどは現在利用可能なネットワーク・アダプタのほんの一例である。
【0019】
最後に、本明細書中で提示するアルゴリズムとディスプレイ装置は、何らかの具体的なコンピュータやその他の装置に対して固有のものとして関係付けられるものではない。多種多様な汎用型システムは、本明細書中の教示に従うプログラムと共に使用されることが可能であり、または当該汎用型システムは、本発明に係る方法において必要な処理ステップを実行する目的に一層特化された装置を構成するのに便利であることが明らかとなるだろう。多種多様なこれらのシステムに必要なる構造は、以下において後述する説明から明らかとなるだろう。加えて、本明細書は、何らかの具体的なプログラミング言語を参考にして記述されている訳ではない。むしろ当業者であれば、本明細書中で説明される多種多様な実施例による教示内容を実装するために、多種多様なプログラミング言語を使用可能であることが理解できよう。
【0020】
<システムの概観>
図1Bは、本発明に係る一実施例に従い、画像内から多種多様な方向を向いた複数のワードを識別するためのシステム100を図示する高水準ブロック図である。システム100に関して図1Bに図示された実施例は、ユーザ機器115a〜115nを含んでおり、これらのユーザ機器は、ユーザ125a〜125n、サーバ104およびネットワーク107によってアクセスされる。図1Bおよび後続の図面の中の記述において、参照番号に続いて英文字が表記されている場合、例えば「115a」などと表記されている場合は、その具体的な参照番号に対応する構成要素の具体的な一つのインスタンスを指している。図面中の記述において、参照番号に続いて上記のような英文字表記がない場合、例えば「115」などと表記されている場合は、その参照番号に対応する構成要素の任意のインスタンス又は全てのインスタンスを包括的に参照している。
【0021】
サーバ104は、信号線134を経由してネットワーク107と接続されるメモリとプロセッサとを含む任意のコンピュータ装置とすることが可能である。本発明に係る一実施例においては、サーバ104は、テキスト抽出アプリケーション103aとデータ記憶装置105とを含んでいる。画像内において多種多様な印字方向を向いているワードを検出するために、テキスト抽出アプリケーション103aは、ユーザ機器115との間で対話を行う。例えば、サーバ104は、オレンジ・ジュースが入った瓶の写真画像をユーザ機器115aから受信し、当該写真画像の中に写っている製品ラベルから当該オレンジ・ジュースの製造元の社名と住所を判定する。この時、ユーザは、必ずしも水平または垂直ではない角度方向からジュース瓶の写真画像を撮影するので、ラベルに印字された製造元の社名と住所を表しているテキストは、多種多様な方向を向いている。サーバ104によって受信される画像は、ユーザ機器115によって撮像された画像とすることも可能であるが、Webサイトや電子メールからコピーされた画像やその他の情報源から取得した画像とすることも可能である。
【0022】
本発明に係る幾つかの実施例においては、テキスト抽出アプリケーション103aは、当該アプリケーション103aによって識別されたワードと一致する結果について、(例えば、サーバ上のデータ記憶装置などを使用して実現される)データベースに対する問い合わせ処理を行う。例えば、テキスト抽出アプリケーション103aは、当該識別されたテキスト内の用語と一致するwebページ(例えば、撮影された商品を販売するためのwebサイト等のような個別のWebサイトまたはWebサイト内のページ)についてデータベースに対する問い合わせ処理を行う。本発明に係るさらに別の実施例においては、テキスト抽出アプリケーション103aは、上述したワードの翻訳結果についてデータベースに対する問い合わせ処理を行う。本発明に係るさらに別の実施例においては、テキスト抽出アプリケーション103aは、上記のとおりに識別されたテキスト内容と一致する文書についてデータベースに対する問い合わせ処理を行う(例えば、書籍、新聞または学術文献などを収録したデータベースに対して、当該識別されたテキスト内容と一致する文書を問い合わせる)。当該技術分野における当業者であれば、テキスト抽出アプリケーション103aは、上述した追加的な処理動作を別のサーバ上で実行するために、上記のとおりに識別されたテキスト内容を当該別のサーバに送信することが可能であることが理解できるだろう。
【0023】
データ記憶装置105は、画像内から多種多様な方向を向いた複数のワードを識別するために使用される命令コードやデータを記憶する不揮発性メモリ装置とすることが可能である。例えば、データ記憶装置105は、入力された画像と当該入力された画像から検出されたワードを記憶するユーザ用データベース(図示せず)を含んでいる。本発明に係る幾つかの実施例においては、データ記憶装置105は、テキスト抽出アプリケーション103aによって上記のとおりに識別されたワードに関連する電子文書や当該識別されたワードの翻訳結果をさらに含むことが可能である。データ記憶装置105は、テキスト抽出アプリケーション103aと通信可能な状態で接続されている。
【0024】
ユーザ機器115aは信号線132を介してネットワーク107と接続されており、ユーザ125aは、信号線110を介してユーザ機器115aと対話する。同様に、ユーザ機器115nもネットワーク107と接続されており、ユーザ125nによってアクセスされる。ユーザ機器115は、メモリ、プロセッサおよび通信機能を含んでいる任意のコンピュータ装置とすることが可能である。例えば、ユーザ機器115は、タブレット型コンピュータ、PDA(Personal Digital Assistant)、スマートフォンおよびフィーチャー・フォン等とすることが可能である。ユーザ機器115a〜115nは、無線接続手段又は有線接続手段を介してネットワーク107と通信することが可能である。ユーザ機器115は、テキスト抽出アプリケーション103aに対して画像を供給するための一つ以上のユーザ・アプリケーション(図示せず)を含んでいる。例えば、ユーザ機器115は、物理的な被写体の画像を撮影することも可能であるし、さもなければ、画像を他の機器から受信することも可能である。
【0025】
本発明に係る一実施例においては、ユーザ機器115aは、テキスト抽出アプリケーション103bを含んでいる。本発明に係る幾つかの実施例においては、テキスト抽出アプリケーション103は、その一部がユーザ機器115の中に記憶されている一方で、当該アプリケーションの残りの部分がサーバ104の中に記憶されている。例えば、ユーザ機器115の上で実行中のテキスト抽出アプリケーション103bは、画像を撮影し、当該撮影した画像をサーバ104の上で実行中のテキスト抽出アプリケーション103aに対して送信し、当該画像に関係したグラフィック表示データを受信し、当該グラフィック表示データに基づいてユーザ機器115aの上で画面表示するためのユーザ・インターフェースを生成する。本発明に係るさらに別の実施例においては、上述したテキスト内容の識別処理の一部は、テキスト抽出アプリケーション103bの上で実行され、さらに、識別されたテキスト内容に対して後続の処理を実行するために、当該識別されたテキスト内容が、サーバ104の上で実行中のテキスト抽出アプリケーション103aに対して送信される。
【0026】
ネットワーク107は有線または無線による従来型のネットワークであり、例えば、スター型接続構成、トークン・リング型接続構成または当該技術分野における当業者に知られているその他のネットワーク接続構成のような多様かつ任意の接続構成を採ることが可能である。さらに、ネットワーク107は、ローカル・エリア網(LAN)、広域エリア網(WAN)(例えば、インターネットなど)および/または複数の装置同士の間で通信する際の通信経路となる相互に接続されたその他のデータ通信経路を含むことが可能である。さらに別の具体例においては、ネットワーク107はピア・ツー・ピア型のネットワークとすることが可能である。さらに、多種多様な複数の異なる通信プロトコルの上でデータを送信するために、ネットワーク107は、遠隔通信ネットワークに接続することが可能であり、又は当該遠隔通信ネットワークをネットワーク107の一部として含むことが可能である。本発明に係る一実施例においては、例えばSMS(Short Messaging Service)、MMS(Multimedia Messaging Service)、HTTP(Hyper-Text Transfer Protocol)、直接データ接続、WAPまたは電子メールなどを介してデータを送受信しようとする場合には、ネットワーク107は、Bluetooth(登録商標)通信ネットワークやセルラー携帯電話ネットワークを含むことが可能である。図1Bにおいては、ユーザ機器115a〜115nおよびサーバ104にはネットワーク107が一つだけ接続されているが、本発明を実施しようとする際には、上述した通信エンティティ(例えば、通信機器類など)に対して任意の個数のネットワーク107を接続することが可能である。
【0027】
<テキスト抽出アプリケーション103の具体例>
続いて図2を参照すると、テキスト抽出アプリケーション103の具体例がより詳細に図示されている。図2は、プロセッサ240、メモリ245、通信ユニット250、テキスト抽出アプリケーション103およびデータ記憶装置105を含んでいるサーバ104全体を表すブロック図として描かれている。
【0028】
プロセッサ240、メモリ245、通信ユニット250、データ記憶装置105およびテキスト抽出アプリケーション103は、通信可能な形でバス220に対して接続されている。バス220は、ISA(Industry Standard Architecture)バス、PCI(Peripheral Component Interconnect)バス、USB(Universal Serial Bus)またはこれらと同様の機能を提供可能であり、当該技術分野において周知な他のバス等の一つ以上のバス・アーキテクチャを含む代表的なバスとすることが可能である。
【0029】
プロセッサ240は、計算処理を実行し、ディスプレイ装置に電子的な画面表示信号を供給する算術演算ユニット、マイクロプロセッサ、汎用コントローラまたはその他の何らかのプロセッサ配列構造を具備している。プロセッサ240は、信号線231を経由してサーバ104内のその他のハードウェア構成要素と通信するために、バス220と接続されている。プロセッサ240はデータ信号を処理し、CISC(Complex Instruction Set Computer)アーキテクチャ、RISC(Reduced Instruction Set Computer)アーキテクチャ、または複数の命令セットの組み合わせを実装しているアーキテクチャなどを含む多種多様な計算機アーキテクチャを具備することが可能である。単一のプロセッサだけが図2に示されているけれども、複数個のプロセッサを実施例中に含めることも可能である。プロセッサ240の演算処理機能は、画像の画面表示、画像のキャプチャ処理および画像の伝送処理をサポート可能な範囲内に限定されてもよい。プロセッサ240の演算処理機能は、上述した機能よりもさらに複雑なタスクを実行するのに充分なものとすることが可能であり、そのような複雑なタスクには、画像に関する多種多様な特徴抽出処理やサンプリング処理が含まれる。当該技術分野における当業者であれば、上述したもの以外の他のプロセッサ、オペレーティング・システム、センサー類、ディスプレイ装置および物理的な構成を実施例において採用することが可能である。
【0030】
メモリ245は、プロセッサ240によって実行されることが可能な命令コードおよび/またはデータを記憶する。メモリ245は、信号線233を経由してサーバ104内のその他のハードウェア構成要素と通信するために、バス220と接続されている。上述した命令コードおよび/またはデータは、本明細書中で説明される技術内容の任意の一部及び/又は全てを実行するためのコードを具備することが可能である。メモリ245は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)フラッシュ・メモリ、又は当該技術分野において周知である他の何らかのメモリ・デバイスとすることが可能である。本発明に係る一実施例においては、メモリ245は、不揮発性メモリまたは同様の性質を持つ永久的記憶デバイスを含み、さらにメモリ245は、ハード・ディスク・ドライブ、フロッピー・ディスク・ドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュ・メモリ・デバイスおよび当該技術分野において周知な他の何らかの大容量記憶装置などのような、より永久的な記憶方式で情報を記憶しておくための記憶媒体を含む。
【0031】
通信ユニット250は、プロセッサ240をネットワーク107および他の処理システムと結合することにより、データの送受信を行うためのハードウェア構成要素である。通信ユニット250は、複数のユーザ機器115a〜115nから画像や文書等のデータを受信する。通信ユニット250はさらに、複数のユーザ機器115a〜115nに対して情報を送信する。例えば、通信ユニット250は、画像や文書を画面表示するために、グラフィック・データを送信する。通信ユニット250は、信号線235を経由してサーバ104内のその他のハードウェア構成要素と通信するために、バス220と接続されている。
【0032】
本発明に係る一実施例においては、通信ユニット250は、ユーザ機器115又はさらに別の通信チャネルに対して直に物理的な接続を行うために通信ポートを含んでいる。例えば、通信ユニット250は、ESB107との間で有線による通信を行うために、RJ14又はこれと同様の通信ポートを含んでいる。さらに別の実施例においては、通信ユニット250は、一つ以上の無線通信方法を使用して、ユーザ機器115又は何らかの別の通信チャネルとの間でデータを交換するために無線送受信回路を含んでおり、上述した無線通信方法には、例えば、IEEE802.11、IEEE802.16、Bluetoothまたはその他の適切な無線通信方法が含まれる。
【0033】
本発明に係るさらに別の実施例においては、通信ユニット250は、セルラー通信網の上で、例えば、SMS(Short Messaging Service)、MMS(Multimedia Messaging Service)、HTTP(Hyper-Text Transfer Protocol)、直接データ接続、WAP、電子メールまたはその他の適切な種類の電気通信手段を介してデータを送受信するためにセルラー通信用の無線送受信回路を含んでいる。本発明に係るさらに別の実施例においては、通信ユニット250は、有線による通信のための通信ポートと無線送受信回路を含んでいる。当該技術分野における当業者であれば当然に理解できることであるが、通信ユニット250は、TCP/IP、FTP、HTTP、HTTPSおよびSMTPなどのような標準化されたネットワーク通信プロトコルを使用してファイルやメディア・オブジェクトを配布するために、その他の従来型の通信接続手段を提供することもさらに可能である。
【0034】
本発明に係る一実施例においては、上述したテキスト抽出アプリケーションは:コントローラ202、ワード検出エンジン204、ワード方向正規化エンジン206、OCR(光学文字認識)エンジン208、ユーザ・インターフェース・エンジン210および任意付加的に処理動作エンジン212を含んでいる。テキスト抽出アプリケーション103を構成するこれらの要素は、バス220を介して通信可能な形で相互に接続されている。
【0035】
コントローラ202は、サーバ104を構成する構成要素と、システム100を構成しているその他の構成要素との間の通信を処理するためのソフトウェアとルーチンである。本発明に係る一実施例においては、コントローラ202は、適切な構成要素との間でデータを送受信することを目的として、以下において後述する機能を実現するためにプロセッサ240によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、コントローラ202は、サーバ104上のメモリ245内に記憶されており、プロセッサ240によってアクセス可能であると共に、プロセッサ240によって実行されることが可能である。上述したいずれの実施例においても、コントローラ202は、信号線222を介して、プロセッサ240、通信ユニット250、およびサーバ104を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【0036】
本発明に係る一実施例においては、コントローラ202は、通信ユニット250を介してデータを受信し、テキスト抽出アプリケーション103を構成する適切な構成要素に対してデータを送信する。例えば、コントローラ202は、ユーザがスマートフォン内蔵カメラを使用して撮影した写真を通信ユニット250を介して受信し、当該写真の中に写っているワードを検出するために、ワード検出エンジン204に当該写真を送信する。本発明に係るさらに別の実施例においては、コントローラ202は、ユーザ・インターフェース・エンジン210によって生成されたユーザ・インターフェースからデータを受け取り、テキスト抽出アプリケーション103を構成する適切な構成要素に対してデータを送信する。例えば、コントローラ202は、ユーザ・インターフェースを介してユーザから辞書の選択結果を受け取り、当該辞書の選択結果をOCRエンジン208に送信し、その結果として、画像内から識別されたテキスト内容の識別結果が当該選択結果に従って選択された辞書と対比され、当該対比の結果に基づいて当該識別されたテキスト内容が調整される。
【0037】
ワード検出エンジン204は、入力された画像内のワードを検出するためのソフトウェアとルーチンである。本発明に係る一実施例においては、ワード検出エンジン204は、当該入力された画像内のワードを検出することを目的として、以下において後述する機能を実現するためにプロセッサ240によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、ワード検出エンジン204は、サーバ104上のメモリ245内に記憶されており、プロセッサ240によってアクセス可能であると共に、プロセッサ240によって実行されることが可能である。上述したいずれの実施例においても、ワード検出エンジン204は、信号線224を介して、プロセッサ240、通信ユニット250、およびサーバ104を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【0038】
本発明に係る一実施例においては、ワード検出エンジン204は、コントローラ202を介して、ユーザから画像を受け取り、当該画像内に含まれるワードを検出する処理を実行する。続いて、ワード検出エンジン204は、可能性として考えられるワード候補を識別するために、文字、ワード、行、段落および元々テキスト以外の画像であった領域を囲んでいる楕円状輪郭線の集合体を出力する。続いて、ワード検出エンジン204は、当該画像内における非ワード領域に該当する楕円状輪郭線を消去すると共に、当該画像内におけるワード領域に該当する少なくとも一つ以上の楕円状輪郭線を残すために、上記出力された楕円状輪郭線の集合体に対して、ワード選別フィルターを適用する。続いて、ワード検出エンジン204は、NMS(Non-Maximal Suppression)処理(非最大抑制処理)を使用して当該ワード領域に関して残された少なくとも一つ以上の楕円状輪郭線を併合して単一の楕円状輪郭線を形成する。最後に、ワード検出エンジン204は、識別すべきワードを表象する楕円状輪郭線として、当該単一の楕円状輪郭線を出力する。
【0039】
本発明に係る一実施例においては、ワード検出エンジン204は、ガウス・スケーリング空間およびMSER(Maximally Stable Extremal Region)アルゴリズム(最大安定極値領域法アルゴリズム)を使用することによるMMSER(Multi-scale Maximally Stable Extremal Region)法を動作原理として採用している。より具体的には、ワード検出エンジン204は、所定の分散を有するガウス・フィルターを使用して画像をフィルタリング処理(本明細書の以下の説明においては、この処理を「ガウス・スケーリング」と呼ぶ)することによって、当該画像に対して段階的にブラー効果(ぼかし効果)を加えてゆき、識別すべきワードの見た目が、二値化された大サイズの識別対象(すなわち、斑点状部分)のようになるまで当該段階的なブラー化処理(ぼかし処理)を行う。以下の説明において詳細に検討される図3Aは、ブラー化処理によって画像に加えられるブラー効果の具体例を含んでいる。斑点状部分を形成するためにワードにとって理想的なスケーリングは、当該ワードの文字フォントの大きさと文字同士の間の間隔の関数となる。当該ワードにとっての理想的なスケーリングを事前に知ることはできないので、ワード検出エンジン204は、所定の階級値間隔を持つガウス・スケーリングを使用して如何なるフィルターが適切な斑点状部分を結果として生成するかを判定する。
【0040】
続いて、ワード検出エンジン204は、所定のアルゴリズム(例えば、MSER(Maximally Stable Extremal Region)アルゴリズム等)を使用してガウス・スケーリング空間内における各画像(すなわち、段階的にブラー効果が加えられた画像の各タイプに対応)の中に見出される複数の斑点状部分を判定する。MSERによる判別処理結果は、局所的な二値化状態が閾値の広い範囲にわたって安定している画像内の一部分である。スケーリングの程度が相対的に低い(画像に加えられるブラー効果が相対的に弱い)時点においては、上述したMSERアルゴリズムは、文字単位での検出を行い、スケーリングの程度が高まるにつれて、ワード単位での検出を行うようになる。スケーリングの程度が最高レベルに達した際(この場合、画像に加えられるブラー効果は過剰に強い)には、MSERアルゴリズムは、行単位や段落単位での検出を行うようになる。
【0041】
図3Aは、入力された画像に関するガウス・スケーリング空間を表示するグラフィック表現300である。当該入力された画像は、図3Aの左上の隅に示されている。ワード検出エンジン204は、2次元ガウス・フィルターの分散を徐々に増加させながら、当該2次元ガウス・フィルターを使用して当該入力された画像に対して畳み込み演算を適用する(すなわち、ガウス・スケーリングの程度を徐々に高めてゆく)ことによって、当該入力された画像に対して段階的にブラー効果を加えてゆく。ワード検出エンジン204は、段階的にブラー効果が加えられた画像の集合(例えば、ガウス・スケーリング空間)を生成する。この状況は、図3Aにおいて、各行内を左から右へと辿り、各行を最上段から最下段まで辿りながら見てゆくと段階的にブラー化されてゆく画像として図示されている。当該入力された画像をフィルタリング処理するのに使用するガウス・スケーリングの程度に依存して、MSERアルゴリズムは、文字単位、ワード単位、行単位または段落単位での検出を行い、または元々テキスト以外の画像であった領域の検出を行う。図3Bを参照しながら以下においてさらに詳しく後述するが、図3Aに示した3段目と4段目の行において、検出された斑点状部分は、楕円状輪郭線の集まりを使用して表現されている。
【0042】
当該画像を構成する全ての部分領域(文字、ワード、行、段落および元々テキスト以外の画像であった領域を囲んでいる楕円状輪郭線)を検出し、出力することに応答して、ワード検出エンジン204は、当該画像を構成する部分領域から一つのワードを表象する楕円状輪郭線を決定する。ワード検出エンジン204が文字単位、行単位または段落単位でこれらを表象する楕円状輪郭線を決定するのではなく、ワード単位で当該ワードを表象する楕円状輪郭線を決定するのには幾つかの理由がある。例えば、ワード検出エンジン204がOCRエンジン208に入力するために一つのワードを送信する際に、OCRエンジン208は、ページ全体のレイアウトを解析するためにOCRエンジン208内に組み込まれているアルゴリズムの実行をバイパスすることが可能であり、OCRエンジン208に組み込まれている当該アルゴリズムは、テキストの向きが全て単一方向に揃っているテキスト(例えば、右上方向に揃っているテキスト)を中に含んでいる画像全体を領域分割する役割を有する。OCRエンジン208は、自身の認識精度を向上させるために、ワードに対して辞書検索を実行する仕組みをさらに採用している。さらに、ワードが印字された方向を判定することと比較して、文字単位、行単位または段落単位でテキストが印字された方向を判定することが相対的に困難である。幾つかの場合において、テキスト画像における遠近方向の歪みは、各段落内または各行内に含まれる全てのワードが互いに異なる方向に印字されているかのように見せてしまう結果、行単位または段落単位でテキストが印字された方向を判定しようとする際に問題を引き起こす。例えば、ワード検出エンジン204は、開いた状態の本をユーザがカメラを使用して撮影した写真を受信する。この写真に関して、当該本の位置から相対的に見たカメラの位置(例えば、当該カメラは本の一方の側を斜めに傾いた方向から見るような位置にあり、当該カメラの一部が当該本を上から押さえ付けている状態)によっては、複数の行内に含まれる複数のワードが互いに異なる角度方向を向いているように見える状態を引き起こす。上述した写真におけるページ内の第1の隅(例えば、右下の隅)に位置するワードは、当該ページ内の第2の隅(例えば、左上の隅)に位置するワードとは微妙に異なった方向に印字されているように見える。
【0043】
本発明に係る一実施例においては、ワード検出エンジン204は、画像内における非ワード領域に該当する楕円状輪郭線を消去すると共に、当該画像内におけるワード領域に該当する少なくとも一つ以上の楕円状輪郭線を残し、当該少なくとも一つ以上の楕円状輪郭線から識別すべきワードを表象する楕円状輪郭線を決定する。非ワード領域の具体例には、複数の文字、行、段落および元々テキスト以外の画像であった領域が含まれる。
【0044】
本発明に係る一実施例においては、ワード検出エンジン204は、非ワード領域に該当する楕円状輪郭線を消去するためにワード選別フィルターを使用する。本発明に係る一実施例においては、ワード検出エンジン204は、非ワード領域を囲んでいる楕円状輪郭線を消去するために、上述したとおりに検出された斑点状部分のアスペクト比を算出する。当該アスペクト比は、楕円形をした斑点状部分の長軸方向の横幅と短軸方向の縦幅との間の比率である。ワード検出エンジン204は、上述したアスペクト比が所定の数値範囲内とならない楕円状輪郭線を消去する。例えば、ワード検出エンジン204は、アスペクト比が3より小さくなる又は10より大きくなるような楕円状輪郭線を消去することによって、一つ一つの文字や行全体を囲んでいる楕円状輪郭線を消去する(例えば、一つ一つの文字を囲んでいる楕円状輪郭線は、アスペクト比が1に近くなる可能性がある)。本発明に係るさらに別の実施例においては、ワード検出エンジン204は、上述した楕円状輪郭線の集合体に属する各楕円状輪郭線について、楕円形状を構成する複数の画素の2次元配置座標系の上で主成分分析(PCA:Principal Component Analysis)を実行し、当該主成分分析(PCA)の結果に基づいて非ワード領域に該当する楕円状輪郭線を消去する。本発明に係る一実施例においては、当該主成分分析(PCA)の結果は、上述のとおり楕円形状を構成する複数の画素の2次元分布形状が、本来の楕円形状にどの程度合致しているかを示す度合いを含んでいる。例えば、ワード検出エンジン204は、少なくとも2つの主成分を得るために、上述のとおり楕円形状を構成する複数の画素の2次元配置の上で主成分分析(PCA)を実行する。上述のとおり得られた主成分から、2次元平面上において、当該楕円状輪郭線が向いている方向と当該楕円状輪郭線が広がっている範囲を知ることができる。本発明に係る一実施例においては、ワード検出エンジン204は、上述のとおり楕円形状を構成する複数の画素の中で、楕円形状を定める境界線上に含まれている画素の比率についての閾値(例えば、閾値と90%等と決定する)を決定し、上述した楕円状輪郭線の集合体の中で、楕円形状を定める境界線上に含まれている画素の比率が当該閾値よりも小さい楕円状輪郭線を消去する。例えば、楕円形状を構成する複数の画素の中で、上述した閾値が定める90%よりも小さい70%の画素が上述した境界線上に含まれていることが上述した主成分分析(PCA)の結果から示された場合には、ワード検出エンジン204は、そのような楕円状輪郭線を消去する。このような方法により、ワード検出エンジン204は、複数の文字、行、段落および元々テキスト以外の画像であった領域などの非ワード領域を囲んでいる楕円状輪郭線を消去する。
【0045】
本発明に係る一実施例においては、ワード検出エンジン204がワード選別フィルターを使用して画像内の非ワード領域に該当する楕円状輪郭線を消去した後には、ワード領域に該当する楕円状輪郭線だけが画像内に残されている。図3Bは、非ワード領域に該当する楕円状輪郭線を消去し、各ワードを表象する楕円状輪郭線を生成する処理過程の一実施例を表すグラフィック表現370を示している。図3B内の第1の箱型区画321には、複数の文字、複数のワード、元々テキスト以外の画像であった領域をそれぞれ囲むように形成された楕円状輪郭線が表わされている。ワード検出エンジン204は、この中の少なくとも一つ以上の楕円状輪郭線から、識別すべきワードを表象する楕円状輪郭線を決定する。本発明に係る一実施例においては、ワード検出エンジン204は、上述した少なくとも一つ以上の楕円状輪郭線の中で互いに部分的に重なり合った状態の楕円状輪郭線を消去して、当該ワードを表象する一つの楕円状輪郭線を決定するために、NMS(Non-Maximal Suppression)処理(非最大抑制処理)を使用する。例えば、ワード検出エンジン204は、上述したNMS処理を使用することにより、互いに物理的な寸法が似通っており、画像内で互いに重なり合う領域を占有する複数の楕円状輪郭線同士をクラスター化し、楕円状輪郭線の各クラスター毎に一つのワードを表象する一つの楕円状輪郭線を出力する。このような方法により、ワード検出エンジン204は、一つのワードに関して互いに部分的に重なり合っている状態の複数の楕円状輪郭線を消去し、当該ワードを表象する一つの楕円状輪郭線を出力する。図3B内の第2の箱型区画322は、上述した画像内の大部分のワードに関して、各ワードをそれぞれ表象する楕円状輪郭線を図示している。
【0046】
本発明に係る一実施例においては、ワード検出エンジン204は、上述した楕円状輪郭線の集合体、各ワードをそれぞれ表象する楕円状輪郭線および検出したワードをデータ記憶装置105の中に記憶する。本発明に係るさらに別の実施例においては、ワード検出エンジン204は、当該検出したワードおよび当該ワードを表象する関連する楕円状輪郭線を表す情報をワード方向正規化エンジン206に対してさらに送信する。
【0047】
ワード方向正規化エンジン206は、ワードの印字方向を判定して、当該ワード(の印字位置、印字方向および文字サイズの縮尺を含む印字状態)を正規化するためのソフトウェアとルーチンである。本発明に係る一実施例においては、ワード方向正規化エンジン206は、ワードの印字方向を判定して、当該ワード(の印字位置、印字方向および文字サイズの縮尺を含む印字状態)を正規化することを目的として、以下において後述する機能を実現するためにプロセッサ240によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、ワード方向正規化エンジン206は、サーバ104上のメモリ245内に記憶されており、プロセッサ240によってアクセス可能であると共に、プロセッサ240によって実行されることが可能である。上述したいずれの実施例においても、ワード方向正規化エンジン206は、信号線226を介して、プロセッサ240、通信ユニット250、およびサーバ104を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【0048】
本発明に係る一実施例においては、ワード方向正規化エンジン206は、画像内において一つのワードを表象する楕円状輪郭線の情報をワード検出エンジン204から受信し、当該表象する楕円状輪郭線に基づいて当該ワードが印字されている方向を判定する。例えば、ワード方向正規化エンジン206は、当該ワード全体を横に貫く主軸の向きであって当該表象する楕円状輪郭線の主軸方向となる向きを判定し、当該楕円状輪郭線の当該主軸方向を水平方向と一致されるための角度差分を当該ワードが向いている方向として使用する。
【0049】
本発明に係る一実施例においては、ワード方向正規化エンジン206は、当該ワードが向いている方向が上述したとおりに判定されたことに応答して、当該ワード(の印字位置、印字方向および文字サイズの縮尺を含む印字状態)を正規化する。例えば、ワード方向正規化エンジン206は、当該ワードを表象する楕円状輪郭線を回転させ、当該ワードが向いている方向を、右上を向いた方向に一律に正規化して向きを揃える。本発明に係る一実施例においては、ワード方向正規化エンジン206は、当該ワードが向いている方向を正規化して、画像を構成する2つの部分領域(例えば、当該ワードの第1のバージョンと当該ワードを反転させたバージョンにそれぞれ対応する2つの画像部分)を取得する。例えば、当該ワードを表象する楕円状輪郭線の主軸方法を水平方向と一致されるための角度差分がθに等しいことが判別されたことに応答して、ワード方向正規化エンジン206は、当該楕円状輪郭線を角度差分「−θ」および角度差分「180°−θ」にそれぞれ等しい角度だけ回転させることにより、当該ワードの第1のバージョンと当該ワードを反転させたバージョンにそれぞれ対応する2つの画像部分領域をそれぞれ取得する。ワード方向正規化エンジン206は、上述した2種類のバージョンのどちらが右上方向を向いているかを知らない。当該ワードに関して上述した第1のバージョンと反転させたバージョンについては、図3Cを参照しながら以下の説明においてさらに詳しく後述する。
【0050】
本発明に係る一実施例においては、ワード方向正規化エンジン206は、当該ワードに関して上述した第1のバージョンと反転させたバージョンをデータ記憶装置105の中に記憶させる。本発明に係るさらに別の実施例においては、ワード方向正規化エンジン206は、当該ワードに関して上述した第1のバージョンと反転させたバージョンをOCRエンジン208に対してさらに送信する。
【0051】
OCRエンジン208は、OCR処理を実行し、識別すべきワードに関連した文字認識済みのテキスト表現を出力するためのソフトウェアとルーチンである。本発明に係る一実施例においては、OCRエンジン208は、OCR処理を実行し、識別すべきワードに関連した文字認識済みのテキスト表現を出力することを目的として、以下において後述する機能を実現するためにプロセッサ240によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、OCRエンジン208は、サーバ104上のメモリ245内に記憶されており、プロセッサ240によってアクセス可能であると共に、プロセッサ240によって実行されることが可能である。上述したいずれの実施例においても、OCRエンジン208は、信号線228を介して、プロセッサ240、通信ユニット250、およびサーバ104を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【0052】
本発明に係る一実施例においては、OCRエンジン208は、ワード方向正規化エンジン206から、当該ワードに関して上述した第1のバージョンと反転させたバージョンを受信し、当該ワードに関して上述した第1のバージョンと反転させたバージョンに対してOCR文字認識処理を実行して当該ワードに関して文字認識されたテキスト内容を予測する。本発明に係る一実施例においては、OCRエンジン208は、当該ワードに関して上述した第1のバージョンと反転させたバージョンの各々に対してOCR文字認識処理をそれぞれ実行することにより、上述した2種類のバージョンの各々に関してOCR文字認識結果をそれぞれ取得し、当該2つのOCR文字認識結果の各々について信頼度指数をそれぞれ算出し、相対的に高い方の信頼度指数を有するOCR文字認識結果を出力する。例えば、OCRエンジン208は、上述した第1のバージョンと反転させたバージョンに対応する2つのOCR文字認識結果の各々について、信頼度を表している0から100までの範囲内の数値を算出し、上述した2つのOCR文字認識結果のうち、信頼度を表す数値が他方よりも高いOCR文字認識結果を、当該ワードに関して文字認識されるべきテキスト内容を予測した結果として出力する。上述した数値(例えば、信頼度指数)が高くなるほど、対応するOCR認識結果が、当該ワードに関するテキスト内容識別結果を正確に予測している確率が高くなる。
【0053】
本発明に係る一実施例においては、OCRエンジン208は、当該ワードに関するテキスト内容の識別結果を予測する際の予測精度を向上させるために、当該ワードに関するテキスト内容の識別結果を辞書内で定義された情報と対比し、当該対比の結果に基づいて、当該テキスト内容を調整する。例えば、OCRエンジン208は、当該ワードのテキスト内容識別結果に関する辞書検索の仕組みを採用しており、当該テキスト内容の識別結果に含まれる個々の文字についてのOCR認識結果における誤差を是正する。本発明に係る一実施例においては、OCRエンジン208は、ユーザによる辞書の選択結果をコントローラ202から供給されることによって受け取り、当該ワードに関するテキスト内容の識別結果と対比するために当該選択結果に従って選択された辞書を使用する。
【0054】
本発明に係る一実施例においては、OCRエンジン208は、ユーザ・インターフェース・エンジン210によって生成されたユーザ・インターフェースを介してユーザにテキスト内容識別結果を画面表示することによって、当該ワードのテキスト内容識別結果を出力する。例えば、画像内に含まれるワードのテキスト内容が一旦文字認識されたならば、OCRエンジン208は、当該文字認識されたワードと当該画像の両方をユーザの携帯電話端末の上に画面表示することによって、当該ユーザが着目しているワードの識別結果を当該ユーザに通知する。本発明に係るさらに別の実施例においては、OCRエンジン208は、当該ワードに関して文字認識されたテキスト内容を喋る音声を生成することによって当該テキスト内容を出力することも可能である。
【0055】
本発明に係るさらに別の実施例においては、OCRエンジン208はさらに、画像からワードのテキスト内容を認識する処理に失敗したことを判定すると、当該認識処理の失敗についてユーザに通知する。本発明に係る一実施例においては、OCRエンジン208は、信頼度指数に関する閾値を決定する。上述した「第1のバージョン」、すなわち上記説明における「ワードを反転させたバージョン」である一方のバージョンについてのOCR認識結果と関連する信頼度指数の方が、閾値よりも高く、なおかつ、他方のバージョンのOCR認識結果と関連した信頼度指数よりも高いならば、OCRエンジン208は、当該上述した一方のバージョンについてのOCR認識結果を、当該ワードに関して予測されたテキスト内容の識別結果として出力する。さもなければ、OCRエンジン208は、ユーザにより入力された画像からのワードのOCR文字認識処理が失敗したことをユーザに通知し、OCR文字認識処理の失敗に応じた何らかの指示をユーザに対して出す。例えば、上述したOCR認識処理が失敗した旨を判定したことに応じて、OCRエンジン208は、ユーザに対して新しい画像を撮影するように指示し、処理に失敗した以前の画像とコメントを別途の通信手段(例えば、電子メール)を介して送信したり、システム100の使用方法に関するヒント情報を画面表示したりする。
【0056】
図3Cは、画像内から多種多様な方向を向いた複数のワードを識別するための一連の処理ステップの一実施例を図示するグラフィック表現である。図3Cの具体例においては、ユーザ・インターフェース350は、ワードが印字されている位置、文字サイズの拡大縮小およびワードの印字方向に対して不変となる態様で画像内から当該ワードを識別する処理ステップを図示する。図3Cの(a)の部分においては、テキストを構成する複数のワードが印字された入力画像が図示されている。コントローラ202は、この入力画像を受け取り、当該入力画像内の複数のワードの印字方向を検出するために、当該入力画像をワード検出エンジン204に対して送信する。ワード検出エンジン204は、MSERアルゴリズムを使用して当該入力画像内において複数の楕円状輪郭線を検出し、当該入力画像内の文字、ワード、行、段落および元々テキスト以外の画像であった領域をそれぞれ囲んでいる楕円状輪郭線の集まりを生成する。続いて、ワード検出エンジン204は、上述した楕円状輪郭線の集まりに対して、ワード選別フィルターとNMS処理を適用し、一つのワードを表象する一つの楕円状輪郭線を出力する。
【0057】
図3Cの(b)の部分においては、当該ワードとこれを表象する楕円状輪郭線としてワード検出エンジン204によって検出された関連する楕円状輪郭線が図示されている。ワード方向正規化エンジン206は、各ワードを表象する楕円状輪郭線を受け取り、ワードの印字方向を表す方向角度であって、各ワードを表象する楕円状輪郭線の主軸方法を水平方向と一致されるための角度差分に等しい角度θを決定し、当該各ワードを表象する楕円状輪郭線を角度差分「−θ」および角度差分「180°−θ」にそれぞれ等しい角度だけ回転させる。ワード方向正規化エンジン206は、当該各ワードを表象する楕円状輪郭線を上述したとおりに回転されることにより、各ワードについて2種類のバージョンを取得する。各ワードに関する当該2種類のバージョンのうちの「第1のバージョン」は、右上方向を向いているワードを含んでおり、他方、各ワードに関する「ワードを反転させたバージョン」は、各ワードが反転された状態の画像を含んでいる。
【0058】
図3Cの(c)の部分においては、複数のワードに関して上述した「第1のバージョン」と「ワードを反転させたバージョン」が図示されている。図3Cの(c)の部分において示す左側のカラムは、入力画像から検出された複数のワードをそのまま図示している。図3Cの(c)の部分において示す右側のカラムは、当該複数のワードに関して上述した2種類のバージョンを図示している。例えば、図3Cの(c)の部分に示す右側のカラム内において、最上部から最下部にかけて表示された3つのワード「United」、「States」および「and」の各々に関して上述した「第1のバージョン」と「ワードを反転させたバージョン」が図示されているが、ユーザ・インターフェース・エンジン210は、上記「第1のバージョン」と上記「ワードを反転させたバージョン」を画面表示するためのグラフィック表示データを生成する。ワード方向正規化エンジン206は、当該複数のワードに関する「第1のバージョン」と「ワードを反転させたバージョン」をOCRエンジン208に送信し、その結果、これら2つのバージョンに対してOCR文字認識処理が実行され、当該複数のワードに関してテキスト内容の識別結果が得られる。
【0059】
ユーザ・インターフェース・エンジン210は、ユーザ・インターフェースを画面表示するためのグラフィック表示データを生成するためのソフトウェアとルーチンである。本発明に係る一実施例においては、ユーザ・インターフェース・エンジン210は、ユーザ・インターフェースを画面表示するためのグラフィック表示データを生成することを目的として、以下において後述する機能を実現するためにプロセッサ240によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、ユーザ・インターフェース・エンジン210は、サーバ104上のメモリ245内に記憶されており、プロセッサ240によってアクセス可能であると共に、プロセッサ240によって実行されることが可能である。上述したいずれの実施例においても、ユーザ・インターフェース・エンジン210は、信号線230を介して、プロセッサ240、通信ユニット250、およびサーバ104を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【0060】
本発明に係る一実施例においては、ユーザ・インターフェース・エンジン210は、ユーザからの操作入力を受け取るユーザ・インターフェースを画面表示するためのグラフィック表示データを生成する。例えば、ユーザ・インターフェース・エンジン210は、画像内から多種多様な方向を向いた複数のワードを識別するために入力されるべき画像をユーザが入力するためのユーザ・インターフェースを生成する。本発明に係るさらに別の実施例においては、ユーザ・インターフェース・エンジン210は、辞書検索処理に使用すべき辞書の選択結果をユーザから受け取るためのユーザ・インターフェースを生成する。本発明に係るさらに別の実施例においては、ユーザ・インターフェース・エンジン210は、画像内から検出されたワードのテキスト内容識別結果を画面表示するためのユーザ・インターフェースを生成する。例えば、ユーザから受け取った画像内に含まれるワードのテキスト内容が一旦文字認識されたならば、OCRエンジン208は、当該ワードのテキスト内容の識別結果をユーザ・インターフェース・エンジン210に対して送信し、当該テキスト内容の識別結果をユーザ・インターフェース内に含める形でユーザに対して画面表示する。
【0061】
処理動作エンジン212は、上述した処理により文字認識されたテキスト内容識別結果を伴う画像に関して、後処理を実行するためのソフトウェアとルーチンである。本発明に係る一実施例においては、処理動作エンジン212は、当該文字認識されたテキスト内容識別結果を伴う画像に関して、後処理を実行することを目的として、以下において後述する機能を実現するためにプロセッサ240によって実行可能な命令コード・セットである。本発明に係るさらに別の実施例においては、処理動作エンジン212は、サーバ104上のメモリ245内に記憶されており、プロセッサ240によってアクセス可能であると共に、プロセッサ240によって実行されることが可能である。上述したいずれの実施例においても、処理動作エンジン212は、信号線230を介して、プロセッサ240、通信ユニット250、およびサーバ104を構成するその他の構成要素との間で協働的な動作と通信を行えるように適合されている。
【0062】
本発明に係る一実施例においては、ワードのテキスト内容に関する文字認識結果が出力されたことに応答して、OCRエンジン208は、当該テキスト内容の識別結果に対して更なる後処理を実行するために、当該テキスト内容の識別結果を処理動作エンジン212に対して送信する。本発明に係る一実施例においては、処理動作エンジン212は、データ記憶装置105に対して、画像マッチングのために、当該テキスト内容識別結果をキーとして電子文書の問い合わせ検索処理を実行することにより、当該テキスト内容を含んだ電子文書を検索結果として取り出すために、画像マッチング処理を実行する。例えば、OCRエンジン208は、雑誌の紙面上にテキストが歪んだ状態で印字されている写真画像から文字認識処理により識別したレストランの住所を処理動作エンジン212に対して送信し、その結果、レストランに向かって自動車を運転するための方角が検索される。
【0063】
本発明に係るさらに別の実施例においては、処理動作エンジン212は、機械翻訳サービスを実行する。例えば、アメリカ人の生徒が分厚い書籍の紙面にヒンディー語で書かれた記事をスキャナー装置で読み取り、その際に当該スキャナー装置を分厚い書籍の紙面上に押し付けたことにより紙面の印字が歪んだ状態で画像化された当該記事の画像を受け取ったとする。続いて、ワード検出エンジン204は、コントローラ202を介して、上述したように紙面が歪んだ状態の記事の画像を受信し、記事の題名を当該受信した画像から検出する。続いて、ワード方向正規化エンジン206は、OCRエンジン208と通信し、当該画像に写っている記事の題名のテキスト内容を文字認識する。最後に、OCRエンジン208は、当該文字認識されたテキスト内容を処理動作エンジン212に対して送信し、処理動作エンジン212は、その生徒が当該記事の英語版を見つけることができるように、当該文字認識されたテキスト内容を英語に機械翻訳する。本発明に係る幾つかの実施例においては、処理動作エンジン212はサーバ104とは別個のサーバを構成する一部分とすることことが可能である。
【0064】
<本発明を実施するための方法の実施例>
次に、図4および図5を参照しながら、本発明を実施するための方法に関する様々な実施例を以下のとおりに後述する。図4は、本発明に関し、画像内から複数のワードを識別するための方法に係る一実施例の処理手順を説明するためのフローチャートである。図4における一連の処理ステップを実装しているテキスト抽出アプリケーション103は、コントローラ202、ワード検出エンジン204、ワード方向正規化エンジン206、およびOCRエンジン208を含んでいる。
【0065】
コントローラ202はユーザ機器115から入力された画像を受信する(処理ステップ402)。例えば、ユーザ125が、教科書の写真画像を撮影したとする。続いて、コントローラ202は、当該入力された画像をワード検出エンジン204に対して送信する。続いて、ワード検出エンジン204は、当該入力された画像に対して段階的にブラー効果(ぼかし)を加えた画像を生成する(処理ステップ404)。続いて、ワード検出エンジン204は、当該ブラー効果を加えられた画像の中に含まれる複数の斑点状部分を検出し(処理ステップ406)、当該複数の斑点状部分をそれぞれ囲む複数の楕円状輪郭線を出力し(処理ステップ408)、当該複数の楕円状輪郭線に基づいて当該入力された画像内に含まれるワードを検出する(処理ステップ410)。
【0066】
続いて、ワード検出エンジン204は、当該検出されたワードを伴う当該入力された画像を、ワード方向正規化エンジン206に対して送信し、ワード方向正規化エンジン206は、ワードの印字方向を調整し、当該ワードの印字方向を正規化して「第1のバージョン」とする(等してワードの印字位置、印字方向および文字サイズの縮尺を含む印字状態を正規化する)(処理ステップ412)。続いて、ワード方向正規化エンジン206は、当該ワードを反転させた反転バージョンを生成し(処理ステップ414)、当該ワードに関する上述した2種類のバージョンをOCRエンジン208に対して送信する。OCRエンジン208は、当該ワードに関する上述した2種類のバージョンに対して、光学文字認識処理の実行と上述した信頼度指数の生成を行う。OCRエンジン208は、当該ワードに関する上述した2種類のバージョンの両者に関して、テキスト内容の識別結果と信頼度指数をそれぞれ出力する。OCRエンジン208は、生成された信頼度指数が高い方のバージョンを当該ワードに関するテキスト内容の識別結果に対応するものとして選択する。OCRエンジン208は、当該画像内に含まれる全てのワードに関して上述した処理過程を反復的に実行する。本発明に係る幾つかの実施例においては、OCRエンジン208は、当該画像内の残りのワードを、各ワードに関して上述した「第1のバージョン」と「反転バージョン」のどちらとして仮定するかを決定し、上記決定において選択された方の仮定に基づいてOCR文字認識処理を実行する。
【0067】
図5は、本発明に関し、画像内から複数のワードを識別するための方法に係る一実施例の処理手順を説明するためのフローチャートである。図5における一連の処理ステップを実装しているテキスト抽出アプリケーション103は、コントローラ202、ワード検出エンジン204、ワード方向正規化エンジン206、およびOCRエンジン208を含んでいる。
【0068】
コントローラ202はユーザ機器115から入力された画像を受信する。続いて、コントローラ202は、当該受信した画像をワード検出エンジン204に対して送信する。続いて、ワード検出エンジン204は、当該画像をフィルタリング処理し、段階的にブラー効果を加えた画像を生成し(処理ステップ502)、ガウス・スケーリング空間上でMSER(Maximally Stable Extremal Regions)アルゴリズム(最大安定極値領域法アルゴリズム)を使用して、当該ブラー化処理された画像内において複数の斑点状部分を検出する(処理ステップ504)。続いて、ワード検出エンジン204は、当該画像内において文字、ワード、行、段落および元々テキスト以外の画像であった領域をそれぞれ表象する斑点状部分を囲んでいる楕円状輪郭線を出力する(処理ステップ506)。続いて、ワード検出エンジン204は、ワード選別フィルターを使用して、非ワード領域と関連している楕円状輪郭線を消去する(処理ステップ508)。続いて、ワード検出エンジン204は、NMS(Non-Maximal Suppression)処理(非最大抑制処理)を使用して、当該画像内に含まれる各ワードを表象する楕円状輪郭線を決定する(処理ステップ510)。
【0069】
続いて、ワード検出エンジン204は、上述した各ワードを表象する楕円状輪郭線を伴う当該入力された画像をワード方向正規化エンジン206に対して送信し、ワード方向正規化エンジン206は、各ワードを表象する楕円状輪郭線に基づいて各ワードの印字方向を判定する(処理ステップ512)。続いて、ワード方向正規化エンジン206は、ワードの印字方向を調整し、当該ワードの印字方向を正規化する(等してワードの印字位置、印字方向および文字サイズの縮尺を含む印字状態を正規化する)(処理ステップ514)。例えば、ワード方向正規化エンジン206は、当該ワード全体を横に貫く主軸の向きであって当該表象する楕円状輪郭線の主軸方向となる向きを判定し、当該楕円状輪郭線の当該主軸方向を水平方向と一致されるための角度差分を当該ワードが向いている方向として使用する。
【0070】
ワード方向正規化エンジン206は、上述のとおり(印字位置、印字方向および文字サイズの縮尺を含む印字状態)が正規化されたワードをOCRエンジン208に対して送信し、画像内の各ワードについてテキスト内容の識別結果を予測するために、光学文字認識処理を実行する(処理ステップ516)。本発明に係る幾つかの実施例においては、OCRエンジン208は、各ワードについて反転させたバージョンを生成し、光学文字認識処理を実行して、上述した「第1のバージョン」と「反転させたバージョン」の各々について信頼度指数を生成し、上記2種類のバージョンのどちらの方が信頼度指数がより高いかを判定する。OCRエンジン208は、上述した認識処理によって各文字が正確に識別されていることを検証するために、当該識別されたテキスト内容を辞書中の定義内容と対比する(処理ステップ518)。この対比の結果に基づいて、OCRエンジン208は、上記テキスト内容の識別結果を是正する(処理ステップ520)。例えば、OCRエンジン208がある一つのワードのテキスト内容を「electranic」と識別し、当該ワードのテキスト内容が辞書中の定義に従って「electronic」と特定された場合には、OCRエンジン208は、上記テキスト内容における「a」を「o」で置き換えて正しいスペルとする。
【0071】
<例示的なユーザ・インターフェース>
図6は、ユーザ・インターフェース・エンジン210によって生成された例示的なユーザ・インターフェース600を図示するグラフィック表現である。この具体例においては、ユーザ・インターフェース600は、画像内から識別されたワードのテキスト内容を画面表示する。テキスト抽出アプリケーション103は、ユーザ・インターフェース600の左側において画像602を受け取る。画像602は、それぞれ複数のワードから成る3つの行を含んでいる。画像602内において、各行は他の行とは異なる印字方向を向いている。例えば、第1の行の向きが水平方向との間に成す(水平方向から逆時計回りに測った)第1の角度は、90°未満であり、第2の行の向きが水平方向との間に成す第2の角度は、90°より大きく、第3の行の向きが水平方向との間に成す第3の角度は、0°に近い角度である。テキスト抽出アプリケーション103は、各行内の各ワードを検出し、検出したワードの印字方向を判定し、当該ワードの印字方向を正規化し、当該正規化したワードに対して光学文字認識処理を実行してユーザ・インターフェース600の領域604内に各ワードと関連したテキスト内容を出力する。例えば、各ワードと関連して領域604内において表示されるテキスト内容等は、上述した光学文字認識処理の結果であり、この文字認識結果は、第1の行のテキスト内容として「I LOVE TENNIS」を含み、第2の行のテキスト内容として「FOOTBALL IS A GREAT SPORT」を含み、第3の行のテキスト内容として「GRASS IS GREEN」を含んでいる。
【0072】
テキスト抽出アプリケーション103が領域604に表示されるべきテキスト内容を一旦認識したならば、処理動作エンジン212は、領域604内のテキスト内容に対して追加的な後処理を実行することが可能である。例えば、ユーザは、ユーザ・インターフェース600内のボタン606をクリック操作することにより、領域604内のテキスト内容を含んでいるテキスト・マッチング可能ファイルを検索するように処理動作エンジン212に指示することが可能である。さらにユーザは、ユーザ・インターフェース600内のボタン608をクリック操作することにより、領域604内のテキスト内容を翻訳するように処理動作エンジン212に指示することが可能である。
【0073】
本発明に係る複数の実施例に関して上述した説明は、具体例の例示と説明を目的として開示されたものである。上述した実施例は、本発明の全ての実施形態を完全網羅するものではなく、また本明細書中の開示内容を上述した実施形態に厳密な意味で限定することも意図されていない。上述した教示内容に基づいて、本発明に関して上述した実施例に対する数多くの修正や変形が可能である。本発明に係る実施例の技術的範囲は、「発明を実施するための形態」欄に記載された発明の詳細な説明によってではなく、特許請求の範囲に記載された請求項の記載によって規定されるように意図されている。当該技術分野を熟知している当業者であれば容易に理解可能なこととして、本明細書中で説明された複数の具体例は、本発明の技術思想と本質的な特徴から逸脱することなく、本明細書で記述された以外の他の具体的な形態として具現化することが可能である。同様に、特定の名称の決め方、および実施例全体を複数の機能モジュール、ルーチン、特徴的構成、属性、方法およびその他の観点から分割した分割態様は本発明にとって必須の要件でもなければ重要な意味を持つものでもなく、本明細書中で上述された説明内容やその技術的特徴は、上述した名称とは異なる名称を付与されてもよく、上述した分割態様とは異なる分割態様やフォーマットを採用するものであっても良い。さらには、本発明と関連する技術分野における当業者であれば自明のことであるが、本明細書中で説明される機能モジュール、ルーチン、特鋼的構成、属性、方法およびその他の側面は、ソフトウェア、ハードウェア、ファームウェアおよびこれら3つの中の任意の組み合わせとして実装されることが可能である。さらに、本明細書中で上述した実施例全体を構成するどのような構成要素(例えば、機能モジュールなど)であっても、ソフトウェアとしての実装が可能であり、当該構成要素の各々は、スタンドアロン型のプログラム、より大規模なプログラムの一部分、複数の別個のプログラム、静的に又は動的にリンクされるライブラリ・モジュール、OSのカーネルがロード可能なランタイム・モジュール、デバイス・ドライバ、および/またはコンピュータ・プログラミングの分野における現在または将来の当業者にとって周知である他の任意のあらゆるプログラム実装形態として実装されることが可能である。加えて、本明細書中で上述した技術内容の実装は、特定の如何なるプログラミング言語にも、特定の如何なるオペレーティング・システムにも、特定の如何なるライタイム実行環境にも決して限定されない。したがって、本明細書の開示内容は、本発明の技術的範囲を限定するためではなく、単に具体例を例示することを目的に記述され、本明細書が上述したとおりに開示する発明の技術的範囲は、特許請求の範囲に記載された請求項によって規定される。
図1A
図1B
図2
図3A
図3B
図3C
図4
図5
図6