説明

電子機器、プログラムおよび文字列認識方法

【課題】各文字の複数の特徴を考慮して文字列の認識精度を向上させた電子機器および文字認識方法を提供する。
【解決手段】実施形態によれば、電子機器1は、画像中から第1文字候補102(1)と第2文字候補102(2)とを検出する文字検出部14と、第1文字候補102(1)及び第2文字候補102(2)の特徴として少なくとも文字の大きさ、色、線幅の何れかを含む特徴データを検出する特徴検出15と、第1文字候補102(1)の特徴データと第2文字候補102(2)の特徴データとの一致度に基づいて文字列103として統合するか否かを判別する文字列統合部16と、文字列103の属性を示す部分を検出して対応するアプリケーション21を起動する制御部20とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、電子機器および文字列認識方法に関する。
【背景技術】
【0002】
これまで書面等を画像データとして読み込み、その画像データ内の文字列を認識してデータベース化することが行われてきた。文字認識方法の一例として、文字間隔長及び単語間隔長が狭い文字列について検出精度の向上を図ったものが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8−185485号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ポスター等では複数の文字列が重なって表記されているデザインが見受けられる。複数の文字列が表記されている書面やポスターからユーザの所望するURLやメールアドレス等の文字列を正しく認識するためには、文字間隔に加えて文字列の方向性等
【0005】
の複数の特徴を加味して文字列を認識する必要がある。
本発明の目的は、各文字の複数の特徴を考慮して文字列の認識精度を向上させた電子機器および文字列認識方法を提供することである。
【課題を解決するための手段】
【0006】
実施形態によれば、電子機器は、画像中から第1の文字候補と第2の文字候補とを検出する文字検出手段と、前記文字検出手段で検出された前記第1の文字候補及び前記第2の文字候補の特徴として少なくとも文字の大きさ、色、線幅の何れかを含む特徴データを検出する特徴検出手段と、前記特徴検出手段で検出された前記第1の文字候補の特徴データと前記第2の文字候補の特徴データとの一致度に基づいて、前記第1の文字候補と前記第2の文字候補とを文字列として統合するか否かを判別する文字列統合手段と、前記文字列統合部で統合された文字列の属性を示す部分を検出し、前記文字列の属性に対応する機能を起動する制御手段とを有する。
【0007】
また、実施形態によれば、文字列認識方法は、画像中から第1の文字候補と第2の文字候補とを検出し、前記第1の文字候補及び前記第2の文字候補の特徴として少なくとも文字の大きさ、色、線幅の何れかを含む特徴データを検出し、前記第1の文字候補の特徴データと前記第2の文字候補の特徴データとの一致度に基づいて、前記第1の文字候補と前記第2の文字候補とを文字列として統合するか否かを判別し、前記第1の文字候補と前記第2の文字候補との一致度が閾値以上である場合に、前記第1の文字候補と前記第2の文字候補とを文字列として統合する。
【図面の簡単な説明】
【0008】
【図1】実施形態における電子機器の外観図。
【図2】実施形態における電子機器の機能ブロック図。
【図3】実施形態における文字列統合処理を説明するための例を示す第1の図。
【図4】実施形態における文字候補の特徴データの概念図。
【図5】実施形態における文字認識手順を示すフローチャート。
【図6】実施形態における特徴データ表。
【図7】第1の実施形態における文字列統合手順を示す第1のフローチャート。
【図8】第2の実施形態における文字列統合手順を示すフローチャート。
【図9】実施形態における文字列統合処理を説明するための例を示す第2の図。
【図10】第1の実施形態における文字列統合手順を示す第2のフローチャート。
【図11】第3の実施形態における特徴データ表。
【図12】第3の実施形態における文字列統合手順を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照して、実施形態について説明する。
図1は、実施形態における電子機器1の外観図である。電子機器1は、図1に示すように矩形状の扁平な形状を成している。図1(A)は電子機器1の上面2Aを上側にした状態、図1(B)は電子機器1の下面2Bを上側にした状態を示す。
【0010】
図1(A)に示すように、電子機器1には、筺体上面2Aに露出するようにディスプレイ3と、操作ボタン4とが設けられている。ディスプレイ3は、LCD(Liquid Crystal Display)等で構成され、動画像を表示することができる。またディスプレイ3の上面には透明のタッチパネル3Aが設けられており、ディスプレイ3とタッチパネル3Aとによってタッチスクリーンディスプレイが実現されている。このタッチスクリーンディスプレイは操作入力部10として機能し、ペン又は指によってタッチされた表示画面上のタッチエリア(タッチ位置とも云う)を検出する。即ち、タッチ位置を検出することによって、ユーザはディスプレイ3に表示された画像の中から、所望の文字領域をタッチして選択することができる。
【0011】
また、電子機器1の筺体上面2Aに露出するように設けられる操作ボタン4も操作入力部10として機能し、操作ボタン4A、4B、及び4Cと識別される。操作ボタン4A、4B、及び4Cにはそれぞれ別々の機能が割り当てられ、例えば電源ON/OFF切り替え機能や、カーソル移動機能や、決定機能等がある。これら操作ボタン4A、4B、及び4Cを操作することで、ディスプレイ3に表示された画像の中から所望の文字領域を選択することができる。操作ボタン4による文字領域の選択操作の一例としては、区画された複数の文字領域を選択するカーソルを移動させて決定することで選択する方法がある。図1(B)に示すように、電子機器1には筺体下面2Bに露出するようにカメラ5が設けられている。
【0012】
次に、図2を用いて本実施の形態における電子機器1の機能について説明する。図2は、実施形態における電子機器1の機能ブロック図である。
電子機器1は、ディスプレイ3と、カメラ5と、文字認識アプリケーション11と、操作入力部10と、制御部20と、アプリケーション21とを有する。文字認識アプリケーション11は機能部として、画像入力部13と、文字検出部14と、特徴検出部15と、文字列統合部16と、文字認識部17と、情報検索部18と、画像生成部19とを有する。
【0013】
操作入力部10は、操作ボタン4やタッチパネル3Aの操作により入力される操作コマンドを制御部20に入力する。
制御部20は、電子機器1全体の動作を制御する。また、制御部20は文字認識アプリケーション11や、各種アプリケーション21を実行する。アプリケーション21としては、ブラウザやメールアプリケーション等である。
【0014】
続いて、文字認識アプリケーション11の各機能部の機能について説明する。
画像入力部13は、文字検出部14及び画像生成部19に画像データを入力する。入力する画像データは搭載されているカメラ5で撮像したものでも良いし、外部からインポートしたものでも良いし、ネットワーク経由でダウンロードしたものでも良い。また画像データの形態は、文書画像でも良いし、情景やポスター等の自然画像でも良い。
【0015】
文字検出部14は、画像入力部13から入力された画像データから、図3に示す文字候補102を検出する。例えば、予め格納されている文字のサンプルを用いて、画像全体を走査することによって文字らしい領域として文字候補102を検出する。または、画像全体を走査し、複数のサイズで画像を切り出し、従来の光学文字認識(Optical Character Recognition)のように文字を認識後、類似度の高い領域を文字候補102としても良い。即ち、文字検出部14は、局所領域で文字候補102を含む領域を検出する。また、文字検出部14は、操作入力部10で選択された領域を文字候補検索領域101としてこの領域内から文字候補102を検出しても良い。即ち、文字検出部14は、ユーザのタッチパネル3Aや操作ボタン4の操作により文字候補検索領域101を決定する。ユーザによって文字候補検索領域101が選択されることにより、電子機器1における文字候補102の検出処理が省力化され、低負荷かつより的確にユーザの所望する文字列103を含む領域を選択することができる。
【0016】
特徴検出部15は、文字検出部14で検出された文字候補102において、文字候補102ごとに特徴を示す特徴データを検出する。検出する特徴データは、特徴データ表12に記憶されている。文字の特徴を示す特徴データとしては、文字の線幅、サイズ、色等がある。特徴データについては図3及び図4を用いて後述する。
【0017】
文字列統合部16は、特徴検出部15で検出された特徴データを用いて、検出した文字候補102を文字列103として統合するか否かを判別する。文字列統合部16は、特徴データ表12を参照して、特徴データの優先度及び寄与率に応じて文字列統合を行う。文字列統合部16の文字候補102の統合手順については後述する。
【0018】
文字認識部17は、文字列統合部16で得られた文字列103の画像を、下地と文字とを分離し、文字認識を行う。
情報検索部18は、文字認識部17で得られた文字認識結果を用いて、対応するアプリケーション21の起動等を制御部20と協同して行う。情報検索部18は、文字列の属性を示す部分と、対応するアプリケーションとを対応付けたデータベースを保持し、このデータベースを参照して認識された文字列に対応するアプリケーションを選択する。例えば、「http://」とブラウザ、「@」とメールアプリケーション、とがそれぞれ対応付けられている。電子機器が通話機能を有する場合には、数字の文字列と通話アプリケーションを対応付けるとしても良い。また、情報検索部18は、文字認識結果を画像生成部19に出力する。
【0019】
画像生成部19は、画像入力部13から入力された画像データと、情報検索部18から入力された画像データとから、ディスプレイ3で表示する画像を生成する。例えば、画像入力部13から入力された画像データの上に文字認識結果を重畳して表示しても良いし、画像入力部13から入力された画像データとは別のウィンドウで情報検索部18により起動されたアプリケーションウィンドウを表示するとしても良い。文字認識結果画面としては、認識した文字情報に対応するアプリケーション名を表示する画面でも良いし、対応するアプリケーションの起動を選択する画面でも良い。
【0020】
次に、特徴データについて図3及び図4を用いて説明する。図3は実施形態における文字列統合処理を説明するための例を示す第1の図、図4実施形態における文字候補の特徴データの表である。
【0021】
まず、特徴検出部15は、例えば表示画面100の左上を基点(座標(0,0))として座標を形成する。また操作入力部10により文字候補検索領域101が選択された場合は、文字候補検索領域101の左上を基点として座標を形成する。特徴検出部15は、文字候補102の内、文字候補102領域の中点と基点との距離が最も短い文字候補102を第1文字候補102(1)と設定する。そして、特徴検出部15は、この第1文字候補102(1)と近接している文字候補102を第2文字候補102(2)と設定する。ここで近接するとは、文字検出部14で検出された複数の文字候補102内で所定の距離内に他の文字候補102が位置している状態である。複数文字候補102を検出した場合に、何れも文字候補102を選択するかについては後述する。
【0022】
以上のように、第1文字候補102(1)から近接する文字候補102に順に番号をつける。図3に示す文字列103「http://www.abc.com」では、第1文字候補102(1)から第18文字候補102(18)で構成される。図3では第1文字候補102(1)から第8文字候補102(8)までについて符号を付している。第1文字候補102(1)は「h」、第2文字候補102(2)は「t」、第3文字候補102(3)は「t」、第4文字候補102(4)は「p」、第5文字候補102(5)は「:」、第6文字候補102(6)は「/」、第7文字候補102(7)は「/」、第8文字候補102(8)は「w」となる。
【0023】
図4は、図3に例示した文字列103の各文字候補102の特徴データを示した表である。各文字候補102の特徴データを取得するタイミングは、文字候補102を検出後全ての文字候補102について検出し記憶しても良いし、後述する文字列統合する際に一文字候補102ごとに検出しても良い。
【0024】
図4に示すように、第1文字候補102(1)の線幅データは0.5pt、サイズデータ10pt、色データは黒である。第2文字候補102(2)の線幅データは0.6pt、サイズデータ12pt、色データは黒である。第8文字候補102(8)までの各特徴データについては図4に示す通りである。
【0025】
文字列の特徴データの他の例として、文字の種類、文字の書体、文字の回転角度、文字列103の方向性等がある。ここで、文字の種類は、数字、記号、英字、漢字、平仮名等である。文字の書体は、例えば明朝体や、ゴシック体等がある。文字の回転角度とは、文字サンプルと文字候補102内の文字部分とを比較することで算出することができる。例えば図3に示した「h」は、右方向に45度回転している。
【0026】
文字列103の方向性データは、各文字候補102の文字領域の中点同士を結ぶ方向ベクトルである。図3の下段には第1文字候補102(1)と第2文字候補102(2)との間の方向ベクトルd1を拡大して図示している。表示画面100の左上を基点(座標(0,0))として、第1文字候補102(1)の文字領域の中点の座標と、第2文字候補102(2)の文字領域の中点の座標とが定義できる。この第2の文字候補102(2)の座標から第1文字候補102(1)の座標を差し引くことで、方向ベクトルd1を算出することができる。
【0027】
同様にして第3文字候補102(3)の座標から第2文字候補102(2)の座標を差し引くことで方向ベクトルd2を算出する。以上のように順に文字列103を構成する文字候補102間の方向ベクトルを算出することで、文字列103の方向性データが得られる。即ち、図3の例においては、各文字候補102間の方向ベクトルが同方向になるので、方向ベクトルの示す方向へ一列に並んでいることを示している。また、図9に示す文字列103Aでは、方向ベクトルが規則的に変化していることから、文字候補102が規則的に位置していることを示している。以上のように、文字列統合部16は、方向性データを取得することで、複雑に配置された文字列であっても認識可能となる。
【0028】
次に、図5を用いて本実施形態における文字認識手順について説明する。図5は、5実施形態における文字認識手順を示すフローチャートである。
まず、画像入力部13は、画像データを取り込み、文字検出部14および画像生成部19に画像データを入力する(ステップS101)。次に、文字検出部14は、画像データの中から、文字候補102を検出する(ステップS102)。
【0029】
次に、特徴検出部15は、文字候補102の特徴を示す特徴データを検出する(ステップS103)。次に、文字列統合部16は、ステップS103で検出した特徴データを用いて、文字候補102を統合して文字列103を形成する(ステップS104)。
【0030】
次に、文字認識部17は、ステップS104で統合した文字列103を画像データの下地から分離し、文字認識を行う(ステップS105)。次に、情報検索部18は、ステップS105で得られた文字認識結果を用いて検索処理を行う(ステップS106)。次に、画像生成部19は、ステップS106で得られた検索結果と、画像データとを用いて、ディスプレイ3へ出力する表示画像を生成する(ステップS107)。以上で、本実施の形態における文字認識手順を終了する。
【0031】
次に、本実施の形態における文字列統合の手順について説明する。図6は、実施形態における特徴データ表である。文字列統合部16は、文字候補102を統合して文字列103を形成する際に特徴データを設定する。また、複数の特徴データを設定する場合には、各特徴データについて優先度及び寄与率を設定する。文字候補102の一致度は、例えば以下の式1を用いて算出する。式1は、文字候補102間の各特徴データの一致度と、当該特徴データの一致度の寄与率を積算した値の和を文字候補の一致度として算出する。
【0032】
文字候補の一致度=Σ(特徴データの一致度*当該特徴データの寄与率)…(式1)
図6に示す例においては、線幅データが優先度1位、サイズデータが優先度2位、色データが優先度3位と設定している。また線幅データの寄与率が50%、サイズデータの寄与率が30%、色データの寄与率が20%と設定している。文字列統合部16は、複数の特徴データに重みづけを行って文字候補102の一致度を算出する。図6の例における文字候補102の一致度は、例えば以下の式2を用いて算出する。
【0033】
文字候補の一致度=線幅の一致度*α+サイズの一致度*β+色の一致度*γ…(式2)
文字列統合部16は、各特徴データの一致度を、検出した特徴データの値を比較して算出する。例えば、特徴データの一致度は、特徴データの値が同一である場合を100パーセントとして、特徴データの値の差の大きさに比例して低く設定する。図4における線幅データを例に説明すると、第1文字候補102(1)と第2文字候補102(2)との一致度は、第1文字候補102(1)と第3文字候補102(3)との一致度よりも高く設定される。特徴データの値の差の大きさを変数とする特徴データの一致度を導出する場合の比例定数は予め設定されている。文字列統合部16は、予め文字候補102を統合する文字候補102の一致度の閾値を設定している。
【0034】
次に、図7乃至図10を用いて本実施の形態における文字列統合手順について説明する。図7は第1の実施形態における文字列統合手順を示す第1のフローチャート、図8は第2の実施形態における文字列統合手順を示すフローチャートである。また、図9は実施形態における文字列統合処理を説明するための例を示す第2の図、図10は第1の実施形態における文字列統合手順を示す第2のフローチャートである。
【0035】
第1の実施形態における文字列統合方法では、一組の文字候補102を比較して文字列統合を行う。以下の説明においては、第1文字候補102(1)から順に隣り合う文字候補102同士を一組(X,Y)として特徴データを比較し、文字列103として統合していく方法を説明する。文字候補Xは、特徴データを比較する基準となる文字候補であり、文字候補Yは特徴データを比較する対象となる文字候補である。文字候補Yは、文字列統合手順において、文字候補Xよりも統合する順番が後になる文字候補ある。
【0036】
具体的には、第1文字候補102(1)(文字候補X)の特徴データと第2文字候補102(2)(文字候補Y)の特徴データとから式1を用いて文字候補102の一致度を算出し、文字候補102の一致度が閾値以上であれば第1文字候補102(1)と第2文字候補102(2)とを文字列103として統合する。次に、第2文字候補102(2)(文字候補X)の特徴データと第3文字候補102(3)(文字候補Y)の特徴データとから式1を用いて文字候補102の一致度を算出し、文字候補102の一致度が閾値以上であれば第2文字候補102(2)と第3文字候補102(3)とを文字列103として統合する。新たな文字候補102が検出されなくなるまで、以上の手順を繰り返すことで文字列103を生成する。
【0037】
尚、特徴データの比較のセットは隣り合う文字候補102に限定されない。例えば、特徴データの比較に用いる文字候補Xをある一つの文字候補102(n)に固定しても良い。文字候補Xを第1文字候補102(1)に固定して、比較対象である文字候補Yを順に変更する方法でも良い。
【0038】
まず、所定の規則に従って、表示画面100内から第n文字候補102(n)を選択する(ステップS201)。当手順開始時には、指数nは1に設定され、第1文字候補102(1)が選択される。以後、特徴データの比較の基準とする第n文字候補102(n)を文字候補X、特徴データの比較の対象となる第(n+1)文字候補102(n+1)を文字候補Yと称する。
【0039】
次に、文字列統合部16は、文字候補Xに続く文字候補Yがあるか否かを判別する(ステップS202)。ステップS202で判別した結果、文字候補Yが無いと判別した場合(ステップS202のNo)、ステップS212に遷移する。一方、ステップS202で判別した結果、文字候補Yがあると判別した場合(ステップS202のYes)、文字列統合部16は、文字候補Xに続く文字候補Yが複数あるか否かを判別する(ステップS203)。ステップS203で判別した結果、複数の文字候補Yがあると判別した場合(ステップS203のYes)、図10に示す(1)に遷移する。この複数の文字候補がある場合の統合手順については図9及び図10を用いて後述する。
【0040】
ステップS203で判別した結果、複数の文字候補Yが無いと判別した場合(ステップS203のNo)、文字候補Yを選択する(ステップS204)。次に特徴検出部15は、文字候補X及びYの線幅データを検出する(ステップS205)。次に特徴検出部15は、文字候補X及びYのサイズデータを検出する(ステップS206)。次に特徴検出部15は、文字候補X及びYの色データを検出する(ステップS207)。次に、文字列統合部16は、ステップS205乃至S207で検出した特徴データと特徴データ表12に設定されている寄与率を用いて式1により文字候補XとYとの一致度を算出する(ステップS208)。
【0041】
次に、文字列統合部106は、ステップS208で算出された一致度が、閾値未満であるか否かを判別する(ステップS209)。ステップS209で判別した結果、一致度が閾値未満でないと判別した場合(ステップS209のNo)、文字列統合部16は、文字候補X及びYを文字列103として統合する(ステップS210)。次に、文字列統合部16は、指数nに1を加算し(ステップS211)、ステップS201に遷移する。即ち、特徴データを判別する文字候補をX(n番)とY(n+1番)から、X(n+1)とY(n+2)に変更して上述の手順を繰り返す。従って、隣り合う文字候補102を一組として順に比較することで、文字列103の統合を行う。
【0042】
一方、ステップS209で判別した結果、文字候補X及びYの一致度が閾値未満であると判別した場合(ステップS209のYes)、図8に示す(3)に進み本文字列統合手順を終了する。または第3の実施形態として、図12に示す(4)に進む。本変形例については後述する。
【0043】
ステップS202で判別した結果、文字候補Yが無いと判別した場合(ステップS202のNo)、文字列統合部16は統合された文字列103があるか否かを判別する(ステップS212)。ステップS212で判別した結果、統合された文字列103があると判別した場合(ステップS212のYes)、統合された文字列103を文字認識部17へ出力する(ステップS213)。新たな文字候補Yが無い場合とは、例えば、文字候補Xが単独で配置され文字列103を構成する他の文字候補102が回りに無い場合や、文字候補Xが文字列103の最後の文字候補102である場合などである。一方、ステップS212で判別した結果、統合された文字列103がないと判別した場合(ステップS212のNo)、本文字列統合手順を終了する。
【0044】
次に図8を用いて、第2の実施形態における文字列統合方法について説明する。第2の実施形態における文字列統合方法は、文字検出部14で検出された複数の文字候補102について特徴データを検出し、それらの変化量に基づき文字列統合を行う。図7と同一のステップについては同符号を付し、説明は省略する。変化量を算出する文字候補102の順番は、例えば表示画面100の座標軸に沿って定める。
【0045】
第2の実施形態においてはステップS205乃至S207で各特徴データを検出すると、ステップS211に進む。即ち、文字候補XとYとの一致度を算出することなく、他の文字候補102について特徴データの検出をしていく。
【0046】
ステップS202で判別した結果、文字候補Yが無いと判別した場合(ステップS202のNo)、文字列統合部16は所定の規則に従って文字候補102を並べ、文字候補102間の特徴データの変化量を算出する(ステップS309)。
【0047】
次に、文字列統合部16は、規則的に変化している特徴データがあるか否かを判別する(ステップS310)。ステップS310で判別した結果、規則的に変化している特徴データがあると判別した場合(ステップS310のYes)、文字列統合部16は、文字候補X及びYを文字列103として統合する(ステップS311)。次に、文字列統合部16は、統合された文字列103を文字認識部17へ出力する(ステップS312)。一方、ステップS310で判別した結果、規則的に変化している特徴データがあると判別した場合(ステップS310のNo)、第2の実施形態の文字列統合手順を終了する。即ち、特徴データの規則的な変化も検出されない場合には文字候補102は文字列103を構成しないとみなして統合処理を行わない。
【0048】
以上で第2の実施形態の文字列統合手順を終了する。第2の実施形態の文字列統合手順によれば、複数の文字候補102間の一致度が閾値未満であっても、検出された全ての文字候補102の間の特徴データの変化を算出することによって、文字列103を統合することができる。
【0049】
次に、図9及び図10を用いて、選択している文字候補Xに続く文字候補Yが複数ある場合の統合手順について説明する。図9は、文字列103Aと文字列103Bとが重なって表記されている表示画面100を示している。この表示画面100において、操作入力部10で文字列103A及び文字列103Bの位置する領域が選択されると、図9に示すように両文字列103を包含するような文字候補検索領域101が検出される。
【0050】
文字列103Aは「defgh@ijk」、文字列103Bは「01−2345−6789」である。例えば、文字列統合部16は、文字列103Aの第1文字候補102(1)を基点として、右方向の所定距離内に位置する文字候補102の特徴データを比較を繰り返して、第7文字候補102(7)までを統合している。
【0051】
次に文字列統合部16は、第7文字候補102(7)を特徴データの比較の基準となる文字候補Xとして選択し、比較対象である文字候補Yを検出する。しかし、図9においては第7文字候補102(7)(文字候補X)に右方向の所定距離内に位置する文字候補102として、文字列103Bに含まれる「5」と、文字列103Aに含まれる「j」とがある。文字列103Bに含まれる「5」を文字候補Y1、文字列103Aに含まれる「j」を文字候補Y2とする。このように複数の文字候補Yが検出された場合には、文字列統合部16は各文字候補Yについて特徴データを検出し文字候補Xとの文字候補102の一致度を比較する。例えば、文字候補Xに続く文字候補Yとしては文字候補Y2が正しいが、文字候補Y1を選択した場合、次に選択される文字候補が「−」となり、文字認識する文字候補102が文字列103Aから103Bへ変更されてしまう。このような誤認識を予防するために、複数の文字候補Yが検出された場合には、それぞれの文字候補Yについて文字候補Xとの特徴データの一致度を算出して比較を行う。即ち、得られた一致度が大きい方と、文字候補X(n番)を統合する。ただし、一致度がしきい値以下の場合には、本文字列統合手順を終了する。
【0052】
図10を用いて、文字候補Xに続く文字候補Yが複数ある場合の文字列統合手順について説明する。まず、文字列統合部16は、文字候補X(n番)、文字候補Y1(n+1番)、文字候補Y2(n+1番)の各特徴データを検出する(ステップS401)。次に、文字列統合部16は、文字候補X(n番)と文字候補Y1(n+1番)との一致度(以後「一致度(XとY1)」と表記)、及び文字候補X(n番)と文字候補Y2(n+1番)との一致度(以後「一致度(XとY2)」と表記)を算出する(ステップS402)。
【0053】
次に、文字列統合部16は、一致度(XとY2)が一致度(XとY1)未満であるか否かを判別する(ステップS403)。ステップS403で判別した結果、一致度(XとY2)が一致度(XとY1)未満であると判別した場合(ステップS403のYes)、次に文字列統合部16は一致度(XとY1)が閾値未満であるか否かを判別する(ステップS404)。ステップS404で判別した結果、一致度(XとY1)が閾値未満でないと判別した場合(ステップS404のNo)、文字候補Y1を文字候補Yとして選択し(ステップS405)、図7に示す(2)に遷移する。「文字候補Y1を文字候補Yとして選択する」とは、文字候補Y1が新たな文字候補Xとなり、次の特徴データ比較の手順における基準となることである。
【0054】
一方、ステップS404で判別した結果、一致度(XとY1)が閾値未満であると判別した場合(ステップS404のYes)、図8に示す(3)に進み本文字列統合手順を終了する。または第3の実施形態として、図12に示す(4)に進む。本変形例については後述する。
【0055】
一方、ステップS403で判別した結果、一致度(XとY2)が一致度(XとY1)未満であると判別した場合(ステップS403のNo)、一致度(XとY2)が閾値未満であるか否かを判別する(ステップS406)。ステップS406で判別した結果、一致度(XとY2)が閾値未満でないと判別した場合(ステップS406のNo)、文字候補Y2を文字候補Yとして選択し(ステップS407)、図7に示す(2)に遷移する。「文字候補Y2を文字候補Yとして選択する」とは、文字候補Y2が新たな文字候補Xとなり、次の特徴データ比較の手順における基準となることである。
【0056】
一方、ステップS406で判別した結果、一致度(XとY2)が閾値未満であると判別した場合(ステップS406のYes)、図8に示す(3)に進み本文字列統合手順を終了する。または第3の実施形態として、図12に示す(4)に進む。本変形例については後述する。
【0057】
次に、図11及び図12を用いて第3の実施形態について説明する。図11は第3の実施形態における特徴データ表、図12は第3の実施形態における文字列統合手順を示すフローチャートである。
【0058】
本変形例においては文字候補Xと文字候補Yとの間で特徴データの一致度が閾値未満である場合に、新たな特徴データの追加を行う。図11に示すように、特徴データとして線幅データ、サイズデータ、色データが設定され、これらについては検出済みである。本変形例においては、更に追加する特徴データの候補について優先度及び寄与率が設定されている。図11の例においては文字種類データが追加優先度1位、方向性データが追加優先度2位、書体データが追加優先度3位と設定されている。また文字種類データの寄与率が10%、方向性データの寄与率が5%、書体データの寄与率が3%と設定している。
【0059】
文字種類データの追加を行った場合の文字候補102の一致度は、例えば以下の式3で算出される。
文字候補の一致度=(線幅の一致度*α+サイズの一致度*β+色の一致度*γ)*(1−δ)+(文字種類の一致度*δ)…(式3)
更に、方向性データの追加を行った場合の文字候補102の一致度は以下の式4で算出される。
文字候補の一致度={(線幅の一致度*α+サイズの一致度*β+色の一致度*γ)*(1−δ)+(文字種類の一致度*δ)}*(1−ε)+(方向性の一致度*ε)…(式4)
【0060】
更に、書体データの追加を行った場合の文字候補102の一致度は以下の式5で算出される。
文字候補の一致度=[{(線幅の一致度*α+サイズの一致度*β+色の一致度*γ)*(1−δ)+(文字種類の一致度*δ)}*(1−ε)+(方向性の一致度*ε)]*(1−ζ)+(書体データ*ζ)…(式5)
【0061】
以上のように、特徴データを追加する場合、検出済みの特徴データ(線幅・サイズ・色)には、追加した特徴データ以外の寄与率を特徴データの追加毎に積算した値Nが積算される。即ち、文字種類データを追加した場合のNは(1−0.1)、文字種類データ及び方向性データを追加した場合のNは(1−0.1)*(1−0.05)、文字種類データ、方向性データ及び書体データを追加した場合のNは(1−0.1)*(1−0.05)*(1−0.03)となる。
【0062】
また、方向性データを追加する場合、文字種類データについては検出済みであるので、文字種類データに積算するNは(1−0.05)になる。同様に、書体データを追加する場合、文字種類データ及び方向性データは検出済みであるので、文字種類データ及び方向性データに積算するNは(1−0.05)*(1−0.03)である。
【0063】
本変形例について図9に示す文字列を例に説明する。例えば、表示画面100に含まれる文字候補102が全て線幅、サイズ、色が全て同一であるとする。すると文字候補Xから、文字候補Y1若しくは文字候補Y2の何れを文字候補Yとして選択すべきか判断できない。本変形例によれば、追加する特徴データの優先度1位として設定されている文字種類データを新たに検出する。文字種類データを検出すると、文字候補Xと一致度の大きい文字候補102は同じ英字である文字候補Y2であるので、文字候補Yとして文字候補Y2が選択される。従って、文字候補102を正しく統合して文字列103Aを認識することができる。
【0064】
図12を用いて、第3の実施形態における文字列統合手順を説明する。まず、文字列統合部16は特徴データ表12で設定されている特徴データの内、追加優先度が最も高い特徴データを追加し特徴データ表12を書き換える。特徴検出部15は、更新された特徴データ表12を参照して各文字候補102について追加された特徴データを検出する(ステップS501)。次に、文字列統合部16は、文字候補X(n番)に続く文字候補Y(n+1番)が複数あるか否かを判別する(ステップS502)。
【0065】
ステップS502で判別した結果、文字候補X(n番)に続く文字候補Y(n+1番)が複数ないと判別した場合(ステップS502のNo)、即ち文字候補Yが一つである場合は、文字候補Xと文字候補Yの一致度を算出する(ステップS503)。
【0066】
次に文字列統合部16は、算出した一致度が閾値未満であるか否かを判別する(ステップS504)。ステップS504で判別した結果、一致度が閾値未満でないと判別した場合(ステップS504のNo)、図7に示す(5)に遷移する。ステップS504で判別した結果、一致度が閾値未満であると判別した場合(ステップS504のYes)特徴検出部15は、特徴データ表12を参照して更に追加する特徴データがあるか否かを判別する(ステップS505)。
【0067】
ステップS505で判別した結果、追加する特徴データがあると判別した場合(ステップS505のYes)、ステップS501に遷移する。一方、ステップS505で判別した結果、追加する特徴データがないと判別した場合(ステップS505のNo)、本文字列統合手順を終了する。
【0068】
一方、ステップS502で判別した結果、文字候補X(n番)に続く文字候補Y(n+1番)が複数あると判別した場合(ステップS502のYes)、文字列統合部16は、一致度(XとY1)及び一致度(XとY2)を算出する(ステップS506)。次に、文字列統合部16は、一致度(XとY2)が一致度(XとY1)未満であるか否かを判別する(ステップS507)。ステップS507で判別した結果、一致度(XとY2)が一致度(XとY1)未満であると判別した場合(ステップS507のYes)、次に文字列統合部16は一致度(XとY1)が閾値未満であるか否かを判別する(ステップS508)。ステップS508で判別した結果、一致度(XとY1)が閾値未満でないと判別した場合(ステップS508のNo)、文字候補Y1を文字候補Yとして選択し(ステップS509)、図7に示す(5)に遷移する。一方、ステップS508で判別した結果、一致度(XとY1)が閾値未満であると判別した場合(ステップS508のYes)、ステップS505に遷移する。
【0069】
一方、ステップS507で判別した結果、一致度(XとY2)が一致度(XとY1)未満でないと判別した場合(ステップS507のNo)、次に文字列統合部16は一致度(XとY2)が閾値未満であるか否かを判別する(ステップS510)。ステップS510で判別した結果、一致度(XとY2)が閾値未満でないと判別した場合(ステップS510のNo)、文字候補Y2を文字候補Yとして選択し(ステップS511)、図7に示す(5)に遷移する。一方、ステップS510で判別した結果、一致度(XとY2)が閾値未満であると判別した場合(ステップS510のYes)、ステップS505に遷移する。
【0070】
以上のように、本実施形態によれば、検出した文字候補を複数の特徴データを用いてより厳密に文字列の認識が可能になる。また認識した文字列に基づいて対応するアプリケーションを起動させることにより、文字列にリンク情報が付加されているように動作する。従って、ユーザが文字列を入力する手間が省略され、電子機器の利便性が向上する。
【0071】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0072】
1…電子機器、2…筐体、2A…筐体上面、2B…筐体下面、3…ディスプレイ、3A…タッチパネル、4…操作ボタン、5…カメラ、10…操作入力部、11…文字認識アプリケーション、12…特徴データ表、13…画像入力部、14…文字検出部、15…特徴検出部、16…文字列統合部、17…文字認識部、18…情報検索部、19…画像生成部、20…制御部、21…アプリケーション、100…表示画面、101…文字候補検索領域、102…文字候補、103…文字列。

【特許請求の範囲】
【請求項1】
画像中から第1の文字候補と第2の文字候補とを検出する文字検出手段と、
前記文字検出手段で検出された前記第1の文字候補及び前記第2の文字候補の特徴として少なくとも文字の大きさ、色、線幅の何れかを含む特徴データを検出する特徴検出手段と、
前記特徴検出手段で検出された前記第1の文字候補の特徴データと前記第2の文字候補の特徴データとの一致度に基づいて、前記第1の文字候補と前記第2の文字候補とを文字列として統合するか否かを判別する文字列統合手段と、
前記文字列統合部で統合された文字列の属性を示す部分を検出し、前記文字列の属性に対応する機能を起動する制御手段と、
を有する電子機器。
【請求項2】
前記文字列統合手段は、前記第1の文字候補と前記第2の文字候補との一致度を、寄与率が設定された複数の特徴データに基づいて、算出する請求項1記載の電子機器。
【請求項3】
前記文字列統合手段は、前記第1の文字候補と前記第2の文字候補との一致度を示す第1の一致度と、前記第1の文字候補と第3の文字候補との間の一致度を示す第2の一致度とを算出し、前記第1の一致度が前記第2の一致度よりも高い場合は前記第1の文字候補と前記第2の文字候補とを統合し、前記第2の一致度が前記第1の一致度よりも高い場合は前記第1の文字候補と前記第3の文字候補とを統合する請求項1記載の電子機器。
【請求項4】
前記文字検出手段は、複数の文字候補を検出し、
前記特徴検出手段は、前記複数の文字候補の特徴データを検出し、
前記文字列統合手段は、前記複数の文字候補の特徴データの変化量を算出し、前記変化量が規則的に変化している場合は前記複数の文字候補を文字列として統合する請求項1記載の電子機器。
【請求項5】
前記制御手段は、前記文字列からメールアドレスを示す部分を検出した場合、メールアプリケーションを起動する請求項1記載の電子機器。
【請求項6】
前記制御手段は、前記文字列からウェブサイトのアドレスを示す部分を検出した場合、ブラウザを起動する請求項1記載の電子機器。
【請求項7】
画像中から第1の文字候補と第2の文字候補とを検出する文字検出手段と、
前記文字検出手段で検出された前記第1の文字候補及び前記第2の文字候補の特徴として少なくとも文字の大きさ、色、線幅の何れかを含む特徴データを検出する特徴検出手段と、
前記特徴検出手段で検出された特徴データに基づいて、前記第1の文字候補と前記第2の文字候補とを文字列として統合するか否かを判別する文字列統合手段とを有する電子機器。
【請求項8】
画像中から第1の文字候補と第2の文字候補とを検出し、
前記第1の文字候補及び前記第2の文字候補の特徴として少なくとも文字の大きさ、色、線幅の何れかを含む特徴データを検出し、
前記第1の文字候補の特徴データと前記第2の文字候補の特徴データとの一致度に基づいて、前記第1の文字候補と前記第2の文字候補とを文字列として統合するか否かを判別し、
前記第1の文字候補と前記第2の文字候補との一致度が閾値以上である場合に、前記第1の文字候補と前記第2の文字候補とを文字列として統合する文字列認識方法。
【請求項9】
前記第1の文字候補と前記第2の文字候補との一致度を、寄与率が設定された複数の特徴データに基づいて算出する請求項8記載の文字列認識方法。
【請求項10】
前記第1の文字候補と前記第2の文字候補との一致度を示す第1の一致度と、前記第1の文字候補と第3の文字候補との間の一致度を示す第2の一致度とを算出し、
前記第1の一致度が前記第2の一致度よりも高い場合は前記第1の文字候補と前記第2の文字候補とを統合し、
前記第2の一致度が前記第1の一致度よりも高い場合は前記第1の文字候補と前記第3の文字候補とを統合する請求項8記載の文字列認識方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate