(57)【特許請求の範囲】
【請求項１】
複数の文字により構成される文字行が記載される文字面を撮影することで得られる画像を取得する画像取得手段と、
前記取得される画像の劣化の程度を示す劣化評価値に基づいて、当該画像から文字らしい画像領域を検出できる可能性が高いかどうかを判定する劣化評価手段と、
前記劣化評価手段による判定の結果、前記取得される画像から文字らしい画像領域を検出できる可能性が高いと判定される場合には、当該画像領域を検出するための処理を実行させるために第１のトリガを出力し、当該画像領域を検出できる可能性が低いと判定される場合には、当該画像をそのままディスプレイに表示させるためのコマンドを出力する第１の出力手段と、
前記出力される第１のトリガにしたがって、前記取得される画像から所定数以上の文字らしい画像領域を検出し、当該画像領域に対して加工処理が施された画像を表示させる、又は前記出力されるコマンドにしたがって、前記取得される画像をそのまま表示させる表示手段と、
前記検出される所定数以上の画像領域が、前記取得される画像の総面積のうちのどの程度を占めているかを示す密度評価値に基づいて、当該画像から文字行を検出できる可能性が高いかどうかを判定する密度評価手段と、
前記密度評価手段による判定の結果、前記取得される画像から文字行を検出できる可能性が高いと判定される場合には、当該文字行を検出するための処理を実行させるために第２のトリガを出力し、当該画像から文字行を検出できる可能性が低いと判定される場合には、前記コマンドを出力する第２の出力手段と
を具備し、
前記表示手段は、
前記出力される第２のトリガにしたがって、前記検出される所定数以上の画像領域から前記文字行を検出し、当該文字行に対して加工処理が施された画像を表示させることを特徴とする情報処理装置。
【請求項２】
前記劣化評価手段は、
前記取得される画像を撮像したときの姿勢変化量を計測し、当該計測された姿勢変化量を前記劣化評価値として用いて、当該劣化評価値が予め設定された閾値以下であるかどうかを判定し、
前記第１の出力手段は、
前記劣化評価手段による判定の結果、前記劣化評価値が前記閾値以下であると判定された場合に前記第１のトリガを出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の出力手段は、
前記劣化評価手段による判定の結果、前記劣化評価値が前記閾値以下であると判定され、かつ前記取得される画像を撮像する撮像部のフォーカスが合った場合に前記第１のトリガを出力することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記表示手段は、
前記出力される第１のトリガの入力を一定期間続けて受けた場合に、前記取得される画像から文字らしい画像領域を検出することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
複数の文字により構成される文字行が記載される文字面を撮影することで得られる画像を取得することと、
前記取得される画像の劣化の程度を示す劣化評価値に基づいて、当該画像から文字らしい画像領域を検出できる可能性が高いかどうかを判定することと、
前記取得される画像から文字らしい画像領域を検出できる可能性が高いと判定される場合には、当該画像領域を検出するための処理を実行させるために第１のトリガを出力し、当該画像領域を検出できる可能性が低いと判定される場合には、当該画像をそのままディスプレイに表示させるためのコマンドを出力することと、
前記出力される第１のトリガにしたがって、前記取得される画像から所定数以上の文字らしい画像領域を検出し、当該画像領域に対して加工処理が施された画像を表示させること、又は前記出力されるコマンドにしたがって、前記取得される画像をそのまま表示させることと、
前記検出される所定数以上の画像領域が、前記取得される画像の総面積のうちのどの程度を占めているかを示す密度評価値に基づいて、当該画像から文字行を検出できる可能性が高いかどうかを判定することと、
前記取得される画像から文字行を検出できる可能性が高いと判定される場合には、当該文字行を検出するための処理を実行させるために第２のトリガを出力し、当該画像から文字行を検出できる可能性が低いと判定される場合には、前記コマンドを出力することと
を具備し、
前記画像を表示させることは、
前記出力される第２のトリガにしたがって、前記検出される所定数以上の画像領域から前記文字行を検出し、当該文字行に対して加工処理が施された画像を表示させることを特徴とする情報処理方法。
【請求項６】
前記画像領域を検出できる可能性が高いかどうかを判定することは、
前記取得される画像を撮像したときの姿勢変化量を計測し、当該計測された姿勢変化量を前記劣化評価値として用いて、当該劣化評価値が予め設定された閾値以下であるかどうかを判定し、
前記第１のトリガを出力することは、
前記劣化評価値が前記閾値以下であると判定された場合に前記第１のトリガを出力することを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記第１のトリガを出力することは、
前記劣化評価値が前記閾値以下であると判定され、かつ前記取得される画像を撮像する撮像部のフォーカスが合った場合に前記第１のトリガを出力することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記画像を表示させることは、
前記出力される第１のトリガの入力を一定期間続けて受けた場合に、前記取得される画像から文字らしい画像領域を検出することを特徴とする請求項５に記載の情報処理方法。
【請求項９】
コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
複数の文字により構成される文字行が記載される文字面を撮影することで得られる画像を取得する画像取得手段と、
前記取得される画像の劣化の程度を示す劣化評価値に基づいて、当該画像から文字らしい画像領域を検出できる可能性が高いかどうかを判定する劣化評価手段と、
前記劣化評価手段による判定の結果、前記取得される画像から文字らしい画像領域を検出できる可能性が高いと判定される場合には、当該画像領域を検出するための処理を実行させるために第１のトリガを出力し、当該画像領域を検出できる可能性が低いと判定される場合には、当該画像をそのままディスプレイに表示させるためのコマンドを出力する第１の出力手段と、
前記出力される第１のトリガにしたがって、前記取得される画像から所定数以上の文字らしい画像領域を検出し、当該画像領域に対して加工処理が施された画像を表示させる、又は前記出力されるコマンドにしたがって、前記取得される画像をそのまま表示させる表示手段と、
前記検出される所定数以上の画像領域が、前記取得される画像の総面積のうちのどの程度を占めているかを示す密度評価値に基づいて、当該画像から文字行を検出できる可能性が高いかどうかを判定する密度評価手段と、
前記密度評価手段による判定の結果、前記取得される画像から文字行を検出できる可能性が高いと判定される場合には、当該文字行を検出するための処理を実行させるために第２のトリガを出力し、当該画像から文字行を検出できる可能性が低いと判定される場合には、前記コマンドを出力する第２の出力手段として動作させ、
前記表示手段は、
前記出力される第２のトリガにしたがって、前記検出される所定数以上の画像領域から前記文字行を検出し、当該文字行に対して加工処理が施された画像を表示させることを特徴とするプログラム。
【請求項１０】
前記劣化評価手段は、
前記取得される画像を撮像したときの姿勢変化量を計測し、当該計測された姿勢変化量を前記劣化評価値として用いて、当該劣化評価値が予め設定された閾値以下であるかどうかを判定し、
前記第１の出力手段は、
前記劣化評価手段による判定の結果、前記劣化評価値が前記閾値以下であると判定された場合に前記第１のトリガを出力することを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記第１の出力手段は、
前記劣化評価手段による判定の結果、前記劣化評価値が前記閾値以下であると判定され、かつ前記取得される画像を撮像する撮像部のフォーカスが合った場合に前記第１のトリガを出力することを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記表示手段は、
前記出力される第１のトリガの入力を一定期間続けて受けた場合に、前記取得される画像から文字らしい画像領域を検出することを特徴とする請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、看板や標識、紙面などに記載された文字をカメラによって撮像された画像から検出し、当該検出された文字に対して文字認識処理や翻訳処理を行う情報処理装置が普及してきている。この情報処理装置を利用するにあたって、ユーザは、ディスプレイに表示されるプレビュー画面を通して、現在どこを写しているかを把握し、撮像対象の文字に向けて情報処理装置を動かし、撮像対象を撮像範囲に収めるフレーミングという作業を行う必要がある。
【０００３】
このフレーミングという作業は、プレビュー画面をディスプレイに表示させるプレビュー表示処理までにかかる時間が短い程（換言すると、プレビュー表示のリフレッシュレートが高い程）、容易に行うことができるようになるが、現在の所、カメラによって画像が撮像される度に、当該画像から文字を検出する処理や、当該検出された文字に対する文字認識処理や翻訳処理が実行されるので、リフレッシュレートが低くなり、上記したフレーミングが困難になるという不都合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３０７０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一形態の目的は、フレーミングを容易に行うことができる情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
実施形態によれば、情報処理装置は、画像取得手段と、劣化評価手段と、第１の出力手段と、表示手段と、密度評価手段と、第２の出力手段とを含む。前記画像取得手段は、複数の文字により構成される文字行が記載される文字面を撮影することで得られる画像を取得する。前記劣化評価手段は、前記取得される画像の劣化の程度を示す劣化評価値に基づいて、当該画像から文字らしい画像領域を検出できる可能性が高いかどうかを判定する。前記第１の出力手段は、前記劣化評価手段による判定の結果、前記取得される画像から文字らしい画像領域を検出できる可能性が高いと判定される場合には、当該画像領域を検出するための処理を実行させるために第１のトリガを出力し、当該画像領域を検出できる可能性が低いと判定される場合には、当該画像をそのままディスプレイに表示させるためのコマンドを出力する。前記表示手段は、前記出力される第１のトリガにしたがって、前記取得される画像から所定数以上の文字らしい画像領域を検出し、当該画像領域に対して加工処理が施された画像を表示させる、又は前記出力されるコマンドにしたがって、前記取得される画像をそのまま表示させる。前記密度評価手段は、前記検出される所定数以上の画像領域が、前記取得される画像の総面積のうちのどの程度を占めているかを示す密度評価値に基づいて、当該画像から文字行を検出できる可能性が高いかどうかを判定する。前記第２の出力手段は、前記密度評価手段による判定の結果、前記取得される画像から文字行を検出できる可能性が高いと判定される場合には、当該文字行を検出するための処理を実行させるために第２のトリガを出力し、当該画像から文字行を検出できる可能性が低いと判定される場合には、前記コマンドを出力する。前記表示手段は、前記出力される第２のトリガにしたがって、前記検出される所定数以上の画像領域から前記文字行を検出し、当該文字行に対して加工処理が施された画像を表示させる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る情報処理装置の構成例を示す機能ブロック図。
【図２】同実施形態に係る文字候補検出部による文字候補検出処理を説明するための模式図。
【図３】同実施形態に係る文字候補検出部による文字候補検出処理の結果として得られる第１の検出結果情報を説明するための模式図。
【図４】直線ハフ変換の原理を説明するための模式図。
【図５】直線ハフ変換の原理を説明するための別の模式図。
【図６】ハフ投票を説明するための模式図。
【図７】同実施形態に係る情報処理装置の動作の一例を示すフローチャート。
【図８】従来の情報処理方法と同実施形態に係る情報処理方法の違いを説明するための模式図。
【図９】フレーミング期間について説明するための模式図。
【図１０】フレーミングの状態を示唆するための各種アイコンについて説明するための模式図。
【図１１】劣化評価値を示唆するためのアイコンについて説明するための模式図。
【図１２】同実施形態に係る情報処理装置のハードウェア構成の一例を示す機能ブロック図。
【図１３】第２の実施形態に係る情報処理装置の構成例を示す機能ブロック図。
【図１４】文字候補の分布と密度評価値との関係について説明するための模式図。
【図１５】同実施形態に係る情報処理装置の動作の一例を示すフローチャート。
【図１６】従来の情報処理方法と同実施形態に係る情報処理方法の違いを説明するための模式図。
【図１７】密度評価値を示唆するためのアイコンについて説明するための模式図。
【図１８】第３の実施形態に係る情報処理装置の動作の一例を示すフローチャート。
【図１９】従来の情報処理方法と同実施形態に係る情報処理方法の違いを説明するための模式図。
【発明を実施するための形態】
【０００８】
以下、実施の形態について図面を参照して説明する。  
＜第１の実施形態＞
図１は、第１の実施形態における情報処理装置１０の構成例を示す機能ブロック図である。情報処理装置１０は、図１に示すように、画像取得部１０１、劣化評価部１０２、文字検出辞書記憶部１０３、文字候補検出部１０４、文字行検出部１０５、アプリケーション部１０６及び出力部１０７などを備えている。なお、本実施形態では、情報処理装置１０がタブレット端末である場合を想定して説明する。
【０００９】
画像取得部１０１は、カメラ機能を用いて撮像された画像を取得する。なお、本実施形態における撮像対象は、看板や標識、紙面などに記載された文字を想定している。
【００１０】
劣化評価部１０２は、画像取得部１０１により取得された画像の撮像時の情報処理装置１０の姿勢変化量を、情報処理装置１０に内蔵された加速度センサや角速度センサなどから取得する。姿勢変化量とは、画像撮像時に、情報処理装置１０（換言すると、情報処理装置１０に搭載されたカメラなどの撮像手段）がどの程度速く動いていたのかを示す値である。この姿勢変化量と、撮像された画像に生じるぶれの大きさにはほぼ正の相関関係がある。姿勢変化量が大きければ撮像された画像のぶれも大きい可能性が高い。ぶれが大きいと後述する文字候補検出処理で文字候補が検出できない可能性が高くなる。すなわち、姿勢変化量は、後述する文字候補検出処理がどれだけ失敗しそうかを判断するための指標となる値である。加速度センサを使用した場合、重力成分を除去した加速度ベクトルを時間積分して得た速度ベクトルの大きさを姿勢変化量とすることができる。また、画像のぶれにはカメラの併進運動よりも回転運動の方が大きく影響することから、併進運動を無視して、角速度センサによる回転速度の大きさを近似的な姿勢変化量とみなすこともできる。このようなセンサの応答は速く、少ない計算量で姿勢変化量を計算することができる。なお、以下の説明では、ぶれにより撮像された画像がどの程度劣化しているかを表すことから、姿勢変化量を「劣化評価値」とも称する。
【００１１】
劣化評価部１０２は、取得した劣化評価値と、予め設定された閾値とを比較し、当該劣化評価値が当該閾値以下である場合にだけ、後述する文字候補検出処理を実行させるための第１のトリガを出力する。なお、劣化評価値が予め設定された閾値より大きい場合、劣化評価部１０２は、出力部１０７に対して、後述にて説明するプレビュー表示処理を実行させるためのコマンドを出力する。
【００１２】
なお、ここでは、加速度センサなどのセンサ手段によって計測された姿勢変化量を劣化評価値として用いる場合について説明したが、例えば、画像にぶれが生じていると、画像のコントラスト値（なお、当該コントラスト値は、最大輝度値と最小輝度値の差として求めることができる）が小さくなるという特徴を利用して、画像取得部１０１によって取得された画像のコントラスト値を算出し、所定定数から当該コントラスト値を減算した値を劣化評価値として用いても良い。あるいは、オプティカルフローのように画像中の動きベクトルの大きさを直接計算し、その画像全体における最大値などを劣化評価値として用いても良い。このようにすれば、加速度センサなどを内蔵していない情報処理装置であっても、画像取得部１０１により取得された画像から直接劣化評価値を算出し、上記の処理を実行することができるようになる。
【００１３】
さらに、ここでは、第１のトリガは、劣化評価値が予め設定された閾値以下である場合に出力されるとしたが、例えば、劣化評価値が閾値以下であったとしても、カメラのフォーカスがあっていなければ、画像はぼけたものになってしまい、後述する文字候補検出処理に対して悪影響を与えてしまう。このため、第１のトリガは、劣化評価値が閾値以下であり、かつカメラのフォーカスがあっている場合にだけ、出力されるとしても良い。
【００１４】
文字検出辞書記憶部１０３は、文字候補検出部１０４によって使用される文字検出辞書を記憶する記憶装置である。  
文字候補検出部１０４は、劣化評価部１０２から出力された第１のトリガの入力を受け付けると、画像取得部１０１により取得された画像中の文字らしい画像領域を文字候補（すなわち、文字が記載されている考えられる領域）として検出する文字候補検出処理を実行する。
【００１５】
ここで、図２を参照して、文字候補検出部１０４による文字候補検出処理について詳しく説明する。  
文字候補検出部１０４は、画像取得部１０１により取得された画像（入力画像）に対して縮小処理を実行し、いわゆる解像度ピラミッド画像を生成し、当該解像度ピラミッド画像上で文字を探索・検出する文字候補検出処理を実行する。具体的には、文字候補検出部１０４は、図２に示すように、画像取得部１０１により取得された入力画像２０１を一定比率ｒ（但し、０＜ｒ＜１）で順次縮小して、１以上のリサイズ画像２０２，２０３を生成する。生成されるリサイズ画像の数、換言すると、上記した縮小処理が実行される回数は、仕様上の検出すべき文字の最小サイズと最大サイズとに依存する。図２に示す検出窓２０５の大きさは、最も解像度の高い入力画像２０１上で検出すべき文字の大きさに合わせて決定される。すなわち、この検出窓２０５の大きさが、仕様上の検出すべき文字の最小サイズとなる。一定比率ｒを乗じて縮小されるリサイズ画像２０２，２０３の上では、同じ大きさの検出窓２０５が覆う範囲は広くなるので、検出される文字の大きさは、これに応じて大きくなっていく。この文字の大きさが仕様上の検出すべき文字の最大サイズを超えるまで、文字候補検出部１０４はリサイズ画像を生成する。このようにして、１以上のリサイズ画像を生成すると、文字候補検出部１０４は、図２に示すように、入力画像２０１とリサイズ画像２０２，２０３とを合わせた解像度ピラミッド画像２０４を生成する。
【００１６】
文字候補検出部１０４は、解像度ピラミッド画像２０４を生成すると、生成された解像度ピラミッド画像２０４に含まれる各画像２０１〜２０３上で所定サイズの検出窓２０５を走査させつつ、各位置での検出窓２０５内の画像を切り取って、複数の部分画像を生成する。また、文字候補検出部１０４は、生成された複数の部分画像と、文字検出辞書記憶部１０３に記憶された文字検出辞書とに基づいて、文字候補を検出する。具体的には、文字候補検出部１０４は、上記した各部分画像と、上記した文字検出辞書とを照合して、文字らしさを示すスコアをそれぞれの部分画像について計算し、これら各スコアが所定の閾値を超えているかどうかをそれぞれ判定する。これにより、各部分画像が文字を含む画像であるかどうかを判定（評価）することができる。この判定の結果に応じて、文字候補検出部１０４は、文字を含む画像であると判定された部分画像には文字であることを示す第１のコードを付与し、文字を含まない画像（換言すると、非文字を含む画像）であると判定された部分画像には非文字であることを示す第２のコードを付与する。これにより、文字候補検出部１０４は、第１のコードが付与された部分画像が存在する領域（換言すると、第１のコードが付与された部分画像を切り取った検出窓２０５が位置する領域）を文字が存在する領域として検出することができる。
【００１７】
文字候補検出部１０４は、上記した文字候補検出処理を実行した結果、第１のコードが付与された部分画像の数が、予め設定された閾値以上である場合に、入力画像２０１上で文字が存在する領域を示す第１の検出結果情報を文字行検出部１０５に出力する。第１の検出結果情報とは、例えば図３に示すように、入力画像２０１上で文字が存在する領域を矩形の枠で示した情報である。なお、第１のコードが付与された部分画像の数が、予め設定された閾値未満である場合、文字候補検出部１０４は、出力部１０７に対して、後述にて説明するプレビュー表示処理を実行させるためのコマンドを出力する。
【００１８】
なお、上記検出窓２０５内の部分画像に対して文字らしさを評価するスコア計算方法としては、部分空間法やサポートベクトルマシンなど、公知のパターン識別方法を利用して実現することができるため、本実施形態ではその詳しい説明は省略する。
【００１９】
再び図１の説明に戻る。文字行検出部１０５は、文字候補検出部１０４から出力された第１の検出結果情報の入力を受け付けると、この第１の検出結果情報に基づいて、画像取得部１０１により取得された画像中に記載された文字行を検出する文字行検出処理を実行する。文字行検出処理は、文字候補の直線的な配置を直線ハフ（Hough）変換を用いて検出する処理である。
【００２０】
以下では、まず、図４を参照して、直線ハフ変換の原理について説明する。  
直線ハフ変換の原理を説明するにあたって、まず、ハフ曲線について説明する。図４に示すように、２次元座標上の点ｐ（ｘ，ｙ）を通り得る直線は、例えば図４中の３０１〜３０３に例示するように、無数に存在する。しかしながら、原点Ｏからこれら各直線におろした垂線３０４のＸ軸からの傾きをθとし、この垂線３０４の長さをρと定義すると、１つの直線について、θとρは一意に決まる。これによれば、ある点（ｘ，ｙ）を通り得る無数の直線をそれぞれ一意に決められるθとρの組は、θρ座標系上で（ｘ，ｙ）の値に応じて、固有の軌跡３０５（ρ＝ｘ・ｃｏｓθ＋ｙ・ｓｉｎθ）を描くことが知られている。この軌跡３０５を、一般的に、ハフ曲線と称している。
【００２１】
直線ハフ変換とは、（ｘ，ｙ）座標値を通り得る直線を、上記したようにして一意に決められる（θ，ρ）により描かれるハフ曲線に変換することを指す。なお、（ｘ，ｙ）を通り得る直線が左に傾いている場合、上記したθは正の値となり、垂直の場合、上記したθの値は０となり、右に傾いている場合、上記したθは負の値となる。また、上記したθの定義域は、−π＜θ≦πを逸脱することはないものとする。
【００２２】
ハフ曲線は、ＸＹ座標系上の各点について独立に求めることができるが、例えば図５に示すように、３点ｐ１〜ｐ３を共通に通る直線４０１は、ｐ１〜ｐ３にそれぞれ対応したハフ曲線４０２〜４０４が交差する点４０５の座標（θ０，ρ０）で定められる直線として求めることができる。多くの点を通る直線であればあるほど、その直線を表すθとρの位置を、多くのハフ曲線が通過する。すなわち、直線ハフ変換は、点群から直線を検出する用途に向いているといえる。
【００２３】
点群から直線を検出する場合、ハフ投票という工学的な手法が用いられる。この手法は、θとρを座標軸とする２次元のハフ投票空間に各ハフ曲線の通過するθとρの組を投票することで、ハフ投票空間の得票数の大きい位置に多数のハフ曲線の通過するθとρの組、すなわち、多数の点を通る直線の存在を示唆させるようにする手法である。一般的には、まず、θとρについての必要な探索範囲分の大きさを持つ２次元の配列（ハフ投票空間）を用意して、得票数を０で初期化しておく。次いで、点毎のハフ曲線を、上記したハフ変換によって求め、このハフ曲線が通過する配列上の値を１だけ加算する。これを一般的にハフ投票と称している。全ての点について、上記したハフ投票がなされると、得票数０の位置（すなわち、ハフ曲線が１つも通過しなかった位置）には直線が存在せず、得票数１の位置（すなわち、ハフ曲線が１つだけ通過した位置）には１つの点だけを通る直線が、得票数２の位置（すなわち、ハフ曲線が２つ通過した位置）には２つの点を通る直線が、さらに、得票数ｎの位置（すなわち、ハフ曲線がｎ個通過した位置）にはｎ個の点を通る直線がそれぞれ存在することが分かる。つまり、ＸＹ座標系上の２点以上を通過する直線は、ハフ投票空間上で得票数２以上の場所として現れる。
【００２４】
ハフ投票空間の分解能を無限大にできれば、上記したように、軌跡の通過する点のみが、そこを通過する軌跡の数だけの得票を得ることになるが、実際のハフ投票空間はθとρについて適当な分解能で量子化されているため、複数の軌跡が交差する位置の周辺にも高い得票分布が生じる。そのため、ハフ投票空間の得票分布から極大値を持つ位置を探すことで、軌跡の交差する位置を求めることになる。
【００２５】
ここで、図６を参照して、上記した直線ハフ変換ならびにハフ投票を用いた文字行検出処理について詳しく説明する。但し、ここでは、入力画像を示す画像平面を、横軸がＸであり、縦軸がＹである座標平面５０１とみなした場合を想定する。
【００２６】
文字候補５０２の画像上の中心座標を（ｘ，ｙ）とした場合、この点を通る直線は無数に存在するが、それらは必ず上記した直線ハフ変換の式ρ＝ｘ・ｃｏｓθ＋ｙ・ｓｉｎθを満たす。上記したように、ρとθは、それぞれ、ＸＹ座標系における原点Ｏから直線におろした垂線の長さ、ならびに、この垂線のＸ軸からの傾きを示す。つまり、点（ｘ，ｙ）を通る直線の満たす（θ，ρ）の値はθρ座標系ではハフ曲線となる。異なる２点を通る直線は、これら２点のハフ曲線が１点で交わる（θ，ρ）の組で表すことができる。文字行検出部１０５は、文字候補検出部１０４によって検出された複数の文字候補の中心点からそれぞれハフ曲線を求めて、それらが多く交差する（θ，ρ）の組を見つけると、多数の文字候補が直線的に並んでいるその直線、すなわち、文字行の存在を検出する。
【００２７】
文字行検出部１０５は、ハフ曲線が多く交差する（θ，ρ）の組を見つけるために、文字候補の中心座標から計算されるハフ曲線をハフ投票空間に投票する。ハフ投票空間は、図６に示すように、縦軸がρであり、横軸がθであり、さらに、文字候補５０２のサイズｓに応じて、図６中の５０３〜５０５のように複数用意される。文字候補５０２のサイズが小さい場合は、文字候補５０２はｓの小さいハフ投票空間５０３に投票され、文字候補５０２のサイズが大きい場合は、文字候補５０２はｓの大きいハフ投票空間に投票される。文字行検出部１０５は、各ハフ投票空間において、予め設定された閾値以上の得票数をもつ極大位置（θ，ρ）で定義される直線を検出し、この直線に投票した文字候補の集合を文字行として検出する。なお、文字行検出部１０５は、１つのハフ曲線上に、予め設定された閾値以上の得票数をもつ極大位置（θ，ρ）で定義される直線を複数検出した場合、最も得票数の高い直線に投票した文字候補の集合を文字行として検出する。例えば、予め設定された閾値が２である場合、図６のハフ投票空間５０３では、得票数３の極大位置５０６が、他の得票数２の極大位置を抑えて、文字行検出部１０５により文字行として検出される。また、図６のハフ投票空間５０５では、得票数２の極大位置５０７が、文字行検出部１０５により唯一の文字行として検出される。つまり、入力画像からは極大位置５０６，５０７にそれぞれ対応した２本の直線が検出される。直線が検出されると、文字行検出部１０５は、各直線に投票した文字候補を抽出し、これらが覆う領域として文字行を検出する。
【００２８】
なお、サイズｓの隣接した異なるハフ投票空間においてそれぞれ検出された極大位置が所定距離内で近接している場合、文字行検出部１０５は、同一の文字行を別々に検出したとして、これらの極大位置に投票した文字候補の集合から１つの文字行として検出する。
【００２９】
文字行検出部１０５は、上記した文字行検出処理の結果、１以上の文字行を検出した場合、当該１以上の文字行が存在する領域を示す第２の検出結果情報をアプリケーション部１０６に出力する。一方で、文字行検出部１０５は、上記した文字行検出処理の結果、１つの文字行も検出しなかった場合、出力部１０７に対して、後述にて説明するプレビュー表示処理を実行させるためのコマンドを出力する。
【００３０】
再び図１の説明に戻る。アプリケーション部１０６は、文字行検出部１０５から出力された第２の検出結果情報を用いて、予めインストールされたアプリケーション固有の処理を実行する。例えば、文字認識処理を実行可能なアプリケーション（例、ＯＣＲ機能を有したアプリケーション等）が予めインストールされている場合、アプリケーション部１０６は、第２の検出結果情報により示される文字行が存在する領域の画像パターンを抽出し、抽出された文字行の画像パターンに対して文字認識処理を実行して、当該領域内の文字行に対応した文字コード列を取得する。
【００３１】
なお、画像中の文字をＯＣＲなどで認識した場合、アプリケーション部１０６は、取得した文字コード列に関連する情報を検索することもできる。具体的には、商品名からその値段やスペック等の情報を検索したり、地名や名所の名前などからそこまでの地図情報を得たり、ある言語を他の言語に翻訳したりすることができる。アプリケーション部１０６によって実行された処理の結果を示す処理結果情報は出力部１０７に出力される。
【００３２】
出力部１０７は、アプリケーション部１０６から出力された処理結果情報を画像取得部１０１により取得された画像に重畳させた上で、情報処理装置１０のディスプレイに表示させるプレビュー表示処理を実行する。また、出力部１０７は、アプリケーション部１０６とは異なる各部からプレビュー表示処理を実行させるためのコマンドの入力を受け付けると、当該コマンドにしたがって、少なくとも入力画像をそのままディスプレイに表示させるプレビュー表示処理を実行する。
【００３３】
次に、図７のフローチャートを参照して、以上のように構成された情報処理装置１０の動作の一例について説明する。
【００３４】
始めに、画像取得部１０１は、カメラ機能を用いて撮像された画像を取得する（ステップＳ１）。続いて、劣化評価部１０２は、情報処理装置１０に内蔵された加速度センサなどから、画像取得部１０１によって取得された画像を撮像したときの劣化評価値を取得し、当該取得した劣化評価値が予め設定された閾値以下であるかどうかを判定する（ステップＳ２）。なお、ステップＳ２における判定処理の結果、劣化評価値が閾値を超えていると判定された場合（ステップＳ２のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ８の処理に進む。
【００３５】
一方で、ステップＳ２における判定処理の結果、劣化評価値が閾値以下であると判定された場合（ステップＳ２のＹＥＳ）、劣化評価部１０２は、文字候補検出部１０４に対して、文字候補検出処理を実行させるための第１のトリガを出力する。文字候補検出部１０４は、劣化評価部１０２から出力された第１のトリガの入力を受け付けると、画像取得部１０１により取得された画像に対して、文字候補検出処理を実行する（ステップＳ３）。
【００３６】
次に、文字候補検出部１０４は、ステップＳ３における文字候補検出処理の結果として、所定数以上の文字候補が検出されたかどうかを判定する（ステップＳ４）。なお、ステップＳ４における判定処理の結果、所定数以上の文字候補が検出されていないと判定された場合（ステップＳ４のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ８の処理に進む。
【００３７】
一方で、ステップＳ４における判定処理の結果、所定数以上の文字候補が検出されたと判定された場合（ステップＳ４のＹＥＳ）、文字行検出部１０５は、ステップＳ３における文字候補検出処理の結果として得られた第１の検出結果情報に基づいて、画像取得部１０１により取得された画像に対する文字行検出処理を実行する（ステップＳ５）。
【００３８】
続いて、文字行検出部１０５は、ステップＳ５における文字行検出処理の結果として、１以上の文字行が検出されたかどうかを判定する（ステップＳ６）。なお、ステップＳ６における判定処理の結果、１つの文字行も検出されなかったと判定された場合（ステップＳ６のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ８の処理に進む。
【００３９】
一方で、ステップＳ６における判定処理の結果、１以上の文字行が検出されたと判定された場合（ステップＳ６のＹＥＳ）、文字行検出部１０５は、ステップＳ５における文字行検出処理の結果として得られた第２の検出結果情報をアプリケーション部１０６に出力する。アプリケーション部１０６は、文字行検出部１０５から出力された第２の検出結果情報に基づいて予めインストールされたアプリケーション固有の処理（例えば、文字認識処理や翻訳処理）を実行し、当該処理の結果を示す処理結果情報を出力部１０７に出力する（ステップＳ７）。
【００４０】
しかる後、出力部１０７は、アプリケーション部１０６から出力された処理結果情報の入力を受け付けると、当該処理結果情報を、画像取得部１０１により取得された画像に重畳させた上で、ディスプレイに表示させるプレビュー表示処理を実行する。なお、出力部１０７は、アプリケーション部１０６とは異なる各部からプレビュー表示処理を実行させるためのコマンドの入力を受け付けた場合、画像取得部１０１により取得された画像をディスプレイにそのまま表示させ（ステップＳ８）、ここでの処理を終了させる。
【００４１】
ここで、図８を参照して、従来の情報処理方法と、本実施形態に係る情報処理方法との違いについて説明する。以下では、主に、フレーミング期間とリフレッシュレートについて、両者の違いについて説明する。
【００４２】
フレーミング期間とは、情報処理装置１０を撮像対象の文字列に向けて動かし始めてから、ユーザが当該フレーミングの目的である所望の文字認識結果や翻訳結果を例えば表示出力などで得られることになる画像（すなわち、この画像を処理することによって所望の結果が得られるという画像）が取得されるまでの期間を指す。このフレーミング期間は、大別すると、３つの段階に区分することができる。１つ目が、図９（ａ）に示すように、撮像対象の文字列に向けて情報処理装置１０を大きく動かす期間（以下、「動き大期間」と称する）である。この動き大期間では、情報処理装置１０を大きく動かすことに起因して、画像にぶれが生じてしまうため、文字候補検出処理が実行されたとしても、図９（ａ）に示すように、文字候補は検出されない。２つ目が、図９（ｂ）に示すように、撮像対象の文字列を撮像範囲に収めるために、大きく動かしていた情報処理装置１０を減速させる期間（以下、「微調整期間」と称する）である。この微調整期間の前半においては、情報処理装置１０が減速し始めたばかりということもあって、画像にぶれが生じ、文字候補は検出されたり、検出されなかったりする。一方で、微調整期間の後半においては、情報処理装置１０が十分に減速されているため、画像のぶれが少なくなり、図９（ｂ）に示すように、文字候補が検出され始める。３つ目が、図９（ｃ）に示すように、撮像対象の文字列を完全に撮像範囲に収めたとき（以下、「フレーミング完了時」と称する）である。このフレーミング完了時には、理想的にはその数瞬後にユーザは所望の結果を得ることができる。
【００４３】
以上のことを、考慮した上で、図８（ａ），（ｂ）について説明する。この図では、情報処理方法が理想的に機能した状態を想定し、フレーミング完了時に取得された画像からユーザの所望する結果が無事に得られるものとしている。
【００４４】
図８（ａ）は、従来の情報処理方法を適用した場合に、所望の結果を得るまでに実行される処理とこの処理に要した時間との関係を示す模式図である。従来の情報処理方法では、画像が取得されるたびに、文字候補検出処理が実行される。しかしながら、上記したように、動き大期間の全域と微調整期間の前半とでは、画像にぶれが生じてしまうため、文字候補検出処理が実行されたとしても、文字候補は検出されない（又は、検出されにくい）ので、取得された画像がそのままプレビュー表示される。したがって、動き大期間の全域と、微調整期間の前半とでは、リフレッシュレート（換言すると、再度同様な処理を実行するまでに要する時間）は、画像を取得する処理と、文字候補検出処理と、プレビュー表示処理とに要する時間の合計となる。一方で、微調整期間の後半では、上記したように、画像にぶれが少なくなるため、文字候補が検出され始める。すなわち、微調整期間の後半では、リフレッシュレートは、画像を取得する処理と、文字候補検出処理と、文字行検出処理と、認識（ＯＣＲ）・翻訳処理と、プレビュー表示処理とに要する時間の合計となる。このため、所望の結果を得るまでに要する時間は、図８（ａ）に示すように、時間Ｔ１だけかかるものと考えられる。
【００４５】
図８（ｂ）は、上記した第１のトリガを出力する機構だけを設けた場合に、所望の結果を得るまでに実行される処理とこの処理に要した時間との関係を示す模式図である。この場合、少なくとも動き大期間の全域では、画像に大きなぶれが生じている、すなわち、劣化評価値が予め設定された閾値を常に超えてしまうため、文字候補検出処理を実行させるための第１のトリガが出力されない。つまり、動き大期間の全域では、リフレッシュレートは、画像を取得する処理と、プレビュー表示処理とだけに要する時間の合計となる。すなわち、図８（ｂ）に示すように、図８（ａ）のときに比べて、所望の結果を得るまでに要する時間を大幅に短縮することができる。具体的には、従来の方法では、所望の結果を得るまでに要していた時間Ｔ１を、図８（ｂ）に示すように、時間Ｔ２に短縮することができる。
【００４６】
次に、図１０を参照して、フレーミングの状態を示唆するための各種アイコンについて説明する。図８にて既に説明したように、フレーミング期間が開始されてからフレーミング期間が完了されるまでには、３つの期間が存在する。具体的には、（１）動き大期間と、（２）微調整期間と、（３）フレーミング完了時とが存在する。これら３つの期間の違いを出力部１０７によるプレビュー表示を通じてユーザに対して示唆することで、ユーザは、フレーミングの状態を正確に把握することができ、ひいては、より的確なフレーミングを実施することができるようになる。
【００４７】
図１０（ａ）は、上記した（１）の期間であることをユーザに対して示唆するアイコンの一例を示す模式図である。現在の期間が、上記した（１）〜（３）の期間のうち、（１）の期間、すなわち、図８における動き大期間に相当する場合、情報処理装置１０のディスプレイ上のアイコン表示領域６０１には、現在の期間が動き大期間であることを示唆するアイコン６０２が表示される。図１０（ａ）では、動き大期間であることを示唆するアイコンとして、情報処理装置１０を使用するユーザの動き、ひいては、情報処理装置１０の動きが大きいことを表現した矢印のアイコン６０２が表示される場合を示したが、動き大期間を示唆するアイコンのデザインはこれに限定されない。例えば、単に、動き大期間という文字列がディスプレイに表示されるとしても良い。但し、動き大期間であることをユーザが容易に把握することができるデザインである方が好ましい。
【００４８】
図１０（ｂ）は、上記した（２）の期間であることをユーザに対して示唆するアイコンの一例を示す模式図である。現在の期間が、上記した（１）〜（３）の期間のうち、（２）の期間、すなわち、図８における微調整期間に相当する場合、情報処理装置１０のディスプレイ上のアイコン表示領域６０１には、現在の期間が微調整期間であることを示唆するアイコン６０３が表示される。図１０（ｂ）では、微調整期間であることを示唆するアイコンとして、撮像対象が情報処理装置１０の撮像範囲に入りかけていることを表現したアイコン６０３が表示される場合を示したが、微調整期間を示唆するアイコンのデザインはこれに限定されない。例えば、単に、微調整期間という文字列がディスプレイに表示されるとしても良い。但し、微調整期間であることをユーザが容易に把握することができるデザインである方が好ましい。
【００４９】
図１０（ｃ）は、上記した（３）の期間であることをユーザに対して示唆するアイコンの一例を示す模式図である。現在の期間が、上記した（１）〜（３）の期間のうち、（３）の期間、すなわち、図８におけるフレーミング終了時に相当する場合、情報処理装置１０のディスプレイ上のアイコン表示領域６０１には、現在の期間がフレーミング終了時であることを示唆するアイコン６０４が表示される。図１０（ｃ）では、フレーミング終了時であることを示唆するアイコンとして、撮像対象が情報処理装置１０の撮像範囲に入り終えた（収まっている）ことを表現したアイコン６０４が表示される場合を示したが、フレーミング終了時を示唆するアイコンのデザインはこれに限定されない。例えば、単に、フレーミング終了時という文字列がディスプレイに表示されるとしても良い。但し、フレーミング終了時であることをユーザが容易に把握することができるデザインである方が好ましい。
【００５０】
なお、図１０では、上記した（１）〜（３）の期間を示唆するアイコンがそれぞれ表示される場合について説明したが、例えば、これら３つの期間にそれぞれ対応した音声を出力部１０７から出力するとしても良い。
【００５１】
また、上記した（１）〜（３）の期間を示唆するだけでなく、上記した「劣化評価値」を、出力部１０７によるプレビュー表示に重畳表示されるグラフを用いて、ユーザに対して示唆することもできる。さらに、文字候補検出部１０４によって検出された文字候補や、文字行検出部１０５によって検出された文字行の位置を、例えば枠などを用いて、ユーザに対して示唆することもできる。以下では、図１１を参照して、劣化評価値を示唆するためのグラフアイコンについて説明する。
【００５２】
図１１は、劣化評価値を示唆するためのグラフアイコンの一例を示す模式図である。劣化評価値を示すグラフ（ここでは、棒グラフ）は、情報処理装置１０のディスプレイ上のグラフ表示領域７０１に表示される。図１１に示す７０２が、劣化評価部１０２によって算出された劣化評価値を示す。また、図１１に示す７０３が、劣化評価部１０２において、予め設定された閾値を示す。すなわち、図１１によれば、劣化評価部１０２によって算出された劣化評価値が、予め設定された閾値を下回っている（すなわち、第１のトリガが出力されている）ことを、ユーザは視覚的に把握することができる。なお、劣化評価値が予め設定された閾値を下回っている（すなわち、第１のトリガが出力されている）場合、当該閾値を超えているときとは、グラフの色や明るさを変えることにより、ユーザはより容易に第１のトリガが出力されていることを把握することができるようになる。
【００５３】
図１１に示したように、劣化評価値をユーザに対して示唆することで、ユーザは、文字行の検出・認識・翻訳の結果が上手く得られないときに、その原因が、動き大期間によるものなのか、撮像対象の文字が遠すぎたり、当該文字の傾きが大きすぎたりして文字候補の検出に失敗していることによるものなのか、といったことをより具体的に推測することができるようになる。
【００５４】
なお、以上では、劣化評価部１０２は、図７のステップＳ２の判定処理を文字候補検出以降の処理（図７のステップＳ３〜Ｓ７）が開始されて以降行わないように説明しているが、ユーザが途中でフレーミングをやり直す可能性を考慮して、劣化評価部１０２は、文字候補検出以降の処理（図７のステップＳ３〜Ｓ７）が開始されていても、バックグラウンドで図７のステップＳ２の判定処理を継続しており、劣化評価値が閾値を超えたときには、直ちに第１トリガの出力を止め、文字候補検出以降の処理（ステップＳ３〜Ｓ７）を中断させて、取得された画像をそのままプレビュー表示させるために、ステップＳ８の処理に進むようにすることも可能である。このようにすれば、フレーミングをやり直すために、ユーザが情報処理装置を再度動かし始めたとき、これに追従してプレビュー表示のリフレッシュレートを再び上げることができるようになる。
【００５５】
次に、図１２を参照して、情報処理装置１０のハードウェア構成例を説明する。  
図１２は、情報処理装置のハードウェア構成を示す図である。図１２の情報処理装置１０は、ＣＰＵ８０１、ＲＡＭ８０２、ＲＯＭ８０３、ＨＤＤ８０４、ＬＡＮ８０５、入力デバイス８０６、ディスプレイ８０７、外部インタフェース８０８、外部ストレージデバイス８０９、カメラ８１０及び加速度センサ８１１を備えている。
【００５６】
ＣＰＵ８０１は、情報処理装置１０内のコンポーネントを制御するプロセッサである。ＣＰＵ８０１は、ＨＤＤ８０４からＲＡＭ８０２にロードされる文字行検出プログラムを実行する。ＣＰＵ８０１はこの文字行検出プログラムを実行することにより、上記した情報処理を実行するように構成された処理部として機能することができる。なお、ＣＰＵ８０１は、外部ストレージデバイス８０９（例えば、ＵＳＢデバイス等）からＲＡＭ８０２に文字行検出プログラムをロードし、これを実行することも可能である。外部ストレージデバイス８０９からは文字行検出プログラムだけでなく、情報処理実行時に使用される画像などをロードすることができる。
【００５７】
入力デバイス８０６はキーボード、マウス、タッチパネル、他の各種入力デバイスである。ディスプレイ８０７は、情報処理装置１０によって実行される各種処理の結果を表示可能なデバイスである。カメラ８１０は情報処理の対象となり得る画像を撮影可能なデバイスである。加速度センサ８１１は劣化評価値を取得可能なデバイスである。
【００５８】
以上説明した第１の実施形態によれば、文字候補を検出できる可能性が高いと判断された場合にだけ、文字候補検出処理を実行させるための第１のトリガを出力する劣化評価部１０２を備えているので、図８にて説明したように、リフレッシュレートを高く保つことができ、ひいては、フレーミングに要する時間を短縮することができる。つまり、ユーザはフレーミングを容易に行うことができるようになる。
【００５９】
＜第２の実施形態＞
次に、図１３を参照して、第２の実施形態について説明する。本実施形態では、上記した第１の実施形態とは異なり、情報処理装置１０が、図１３に示す密度評価部１０８をさらに備えている場合について説明する。なお以下では、上記した第１の実施形態と同様な機能・構成についての説明は省略し、主に、上記した第１の実施形態とは異なる機能・構成についてだけ説明する。
【００６０】
密度評価部１０８は、文字候補検出部１０４と文字行検出部１０５との間に介在するようにして設けられる機能部であり、文字候補検出部１０４から出力された第１の検出結果情報の入力を受け付けると、後述にて説明する密度評価処理を実行する。
【００６１】
一般的に、文字は一方向（例えば、横方向又は縦方向など）に並ぶようにして密集して記載される。このため、文字候補検出部１０４により、文字候補が画像中にまばらに検出されている場合、当該画像から文字行（文字列）を検出できる可能性は低くなる。逆に、文字候補検出部１０４により、文字候補が画像中に密集して検出されている場合、当該画像から文字行（文字列）を検出できる可能性は高くなる。
【００６２】
密度評価部１０８は、上記した特徴を利用して、密度評価処理を実行する。具体的には、密度評価部１０８は、文字候補検出部１０４によって検出された所定数以上の文字候補により占められる面積（画素数）の合計値を、画像全体の面積（画素数）で除算することにより得られる単位面積あたりの文字候補面積（以下、密度評価値と称する）を算出し、当該算出した密度評価値に基づいて、文字行を検出できる可能性が高いか、或いは低いかを判断する密度評価処理を実行する。文字行を検出できる可能性が高いと判断した場合、密度評価部１０８は、文字行検出部１０５に対して、文字行検出処理を実行させるための第２のトリガを出力する。一方で、文字行を検出できる可能性が低いと判断した場合、密度評価部１０８は、出力部１０７に対して、プレビュー表示処理を実行させるためのコマンドを出力する。
【００６３】
ここで、図１４を参照して、文字候補検出部１０４により検出された文字候補の分布と、密度評価部１０８により算出される密度評価値との関係について、より詳しく説明する。但し、ここでは、文字候補検出部１０４が、実際の文字の位置と検出窓の位置とが多少ずれていたとしても、当該検出窓を文字候補として（すなわち、当該検出窓が位置する領域を文字が存在すると考えられる領域として）検出しているものとする。つまり、文字候補検出部１０４は、文字が密集して記載されている部分では、１つの文字に対する複数の検出窓をそれぞれ文字候補として検出しているものとする。
【００６４】
図１４の９０１は、文字のない画像から文字候補が誤って検出された場合を例示している。これによれば、文字候補の分布は離散的であることが分かる。図１４の９０５は、図１４の９０１に対応した図であり、これによれば、画像全体の面積が検出窓９０４の４０倍であるので、密度評価値は、上記した算出方法により、０．０５（＝２／４０）と求めることができる。
【００６５】
図１４の９０２は、文字間隔が広い、換言すると、文字が疎な文字行「ＡＢＣＤＥＦ」が記載された画像から複数の文字候補が検出された場合を例示している。これによれば、文字行「ＡＢＣＤＥＦ」の周辺には、複数の文字候補（ここでは、８個の文字候補）がやや密集して検出されていることが分かる。図１４の９０６は、図１４の９０２に対応した図であり、これによれば、密度評価値は、０．２（＝８／４０）と求めることができる。
【００６６】
図１４の９０３は、文字間隔が狭い、換言すると、文字が密な文字行「ＡＢＣＤＥＦＧ」が記載された画像から複数の文字候補が検出された場合を例示している。これによれば、文字行「ＡＢＣＤＥＦＧ」の周辺には、複数の文字候補（ここでは、１６個の文字候補）が密集して検出されていることが分かる。図１４の９０７は、図１４の９０３に対応した図であり、これによれば、密度評価値は、０．４（＝１６／４０）と求めることができる。
【００６７】
このように、文字候補の分布と密度評価値との関係としては、文字候補の分布が離散的であるほど、密度評価値は小さくなり、文字候補が密集している分布であるほど、密度評価値は大きくなる関係にあることが分かる。すなわち、文字候補の分布が離散的であるほど、密度評価部１０８は、出力部１０７に対して、プレビュー表示処理を実行させるためのコマンドを出力する可能性が高くなり、文字候補が密集しているほど、密度評価部１０８は、文字行検出部１０５に対して、文字行検出処理を実行させるための第２のトリガを出力する可能性が高くなる。
【００６８】
なお、文字候補の面積の総和は、実際に文字候補が覆っている面積に対して、文字候補が重なり合っている面積の分だけ大きくなる。すなわち、文字が密集して記載されるほど、１つの文字に対して複数の検出窓がそれぞれ文字候補として検出されるので、文字候補の面積の総和は大きくなる傾向にある。
【００６９】
また、上記した密度評価値の代わりに、例えば、画像の小領域毎の文字候補の密度の画像全体における最大値を、密度評価値として利用することもできる。この場合、小領域毎に、文字候補の密度を算出し、その最大値を求めることで、画像内で局所的に文字候補が密集している状況を数値化することができる。
【００７０】
さらに、目標とする文字の大きさが狭い範囲に限られ、解像度ピラミッド画像２０４の画像数を少なく抑えることができるときは、検出窓の大きさの違いを無視できるとして、所定値（例えば、平均的な検出窓面積を画像面積で割った値）に対する文字候補数の比を求めることで、文字候補の密度に近似させることもできる。
【００７１】
次に、図１５のフローチャートを参照して、第２の実施形態に係る情報処理装置１０の動作の一例について説明する。
【００７２】
始めに、画像取得部１０１は、カメラ機能を用いて撮像された画像を取得する（ステップＳ１１）。続いて、劣化評価部１０２は、情報処理装置１０に内蔵された加速度センサなどから、画像取得部１０１によって取得された画像を撮像したときの劣化評価値を取得し、当該取得した劣化評価値が予め設定された閾値以下であるかどうかを判定する（ステップＳ１２）。なお、ステップＳ１２における判定処理の結果、劣化評価値が閾値を超えていると判定された場合（ステップＳ１２のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ１９の処理に進む。
【００７３】
一方で、ステップＳ１２における判定処理の結果、劣化評価値が閾値以下であると判定された場合（ステップＳ１２のＹＥＳ）、劣化評価部１０２は、文字候補検出部１０４に対して、文字候補検出処理を実行させるための第１のトリガを出力する。文字候補検出部１０４は、劣化評価部１０２から出力された第１のトリガの入力を受け付けると、画像取得部１０１により取得された画像に対して、文字候補検出処理を実行する（ステップＳ１３）。
【００７４】
次に、文字候補検出部１０４は、ステップＳ１３における文字候補検出処理の結果として、所定数以上の文字候補が検出されたかどうかを判定する（ステップＳ１４）。なお、ステップＳ１４における判定処理の結果、所定数以上の文字候補が検出されていないと判定された場合（ステップＳ１４のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ１９の処理に進む。
【００７５】
一方で、ステップＳ１４における判定処理の結果、所定数以上の文字候補が検出されたと判定された場合（ステップＳ１４のＹＥＳ）、密度評価部１０８は、ステップＳ１３における文字候補検出処理の結果として得られた第１の検出結果情報に基づいて密度評価値を算出し、当該算出した密度評価値が予め設定された閾値以上であるかどうかを判定する（ステップＳ１５）。なお、ステップＳ１５における判定処理の結果、密度評価値が閾値より小さいと判定された場合（ステップＳ１５のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ１９の処理に進む。
【００７６】
一方で、ステップＳ１５における判定処理の結果、密度評価値が閾値以上であると判定された場合（ステップＳ１５のＹＥＳ）、密度評価部１０８は、文字行検出部１０５に対して、文字行検出処理を実行させるための第２のトリガを出力する。文字行検出部１０５は、密度評価部１０８から出力された第２のトリガの入力を受け付けると、画像取得部１０１により取得された画像に対する文字行検出処理を実行する（ステップＳ１６）。
【００７７】
続いて、文字行検出部１０５は、ステップＳ１６における文字行検出処理の結果として、１以上の文字行が検出されたかどうかを判定する（ステップＳ１７）。なお、ステップＳ１７における判定処理の結果、１つの文字行も検出されなかったと判定された場合（ステップＳ１７のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ１９の処理に進む。
【００７８】
一方で、ステップＳ１７における判定処理の結果、１以上の文字行が検出されたと判定された場合（ステップＳ１７のＹＥＳ）、文字行検出部１０５は、ステップＳ１６における文字行検出処理の結果として得られた第２の検出結果情報をアプリケーション部１０６に出力する。アプリケーション部１０６は、文字行検出部１０５から出力された第２の検出結果情報に基づいて予めインストールされたアプリケーション固有の処理（例えば、文字認識処理や翻訳処理）を実行し、当該処理の結果を示す処理結果情報を出力部１０７に出力する（ステップＳ１８）。
【００７９】
しかる後、出力部１０７は、アプリケーション部１０６から出力された処理結果情報の入力を受け付けると、当該処理結果情報を、画像取得部１０１により取得された画像に重畳させた上で、ディスプレイに表示させるプレビュー表示処理を実行する。なお、出力部１０７は、アプリケーション部１０６とは異なる各部からプレビュー表示処理を実行させるためのコマンドの入力を受け付けた場合、少なくとも、画像取得部１０１により取得された画像をディスプレイにそのまま表示させ（ステップＳ１９）、ここでの処理を終了させる。
【００８０】
ここで、図１６を参照して、従来の情報処理方法と、第１の実施形態に係る情報処理方法と、本実施形態に係る情報処理方法との違いについて説明する。以下では、主に、フレーミング期間とリフレッシュレートの違いについて説明する。
【００８１】
図１６（ａ），（ｂ）については、既に説明した図８（ａ），（ｂ）とそれぞれ同様であるため、ここではその詳しい説明は省略する。
【００８２】
図１６（ｃ）は、上記した第１のトリガを出力する機構と、上記した第２のトリガを出力する機構とを設けた場合に、所望の結果を得るまでに実行される処理とこの処理に要した時間との関係を示す模式図である。この場合、少なくとも動き大期間の全域では、図１６（ｂ）に示した場合と同様に、文字候補検出処理を実行させるための第１のトリガが出力されないので、動き大期間の全域におけるリフレッシュレートを従来の方法に比べて高くすることができる。さらに、図１６（ａ），（ｂ）では、少なくとも微調整期間の後半では、文字候補検出処理により離散的に配置された文字候補が検出されたとしても、文字行検出処理が実行されるので、リフレッシュレートが低くなってしまっていたが、第２のトリガを出力する機構が設けられることによって、文字候補検出処理により離散的に配置された文字候補が検出されたとしても、第２のトリガが出力されない、つまり、文字行検出処理が実行されないため、図１６（ａ），（ｂ）に示した場合に比べて、この分だけリフレッシュレートを高くすることができる。このため、所望の結果を得るまでに要していた時間を、図１６（ｃ）に示すように、時間Ｔ３まで短縮することができる。
【００８３】
次に、図１７を参照して、密度評価値を示唆するためのグラフアイコンについて説明する。
【００８４】
図１７は、密度評価値を示唆するためのグラフアイコンの一例を示す模式図である。密度評価値を示すグラフ（ここでは、棒グラフ）は、出力部１０７によって、情報処理装置１０のディスプレイ上のグラフ表示領域１００１に表示される。なお、ここでは、既に説明した図１１に示したグラフ表示領域７０１と、図１７に示すグラフ表示領域１００１とが、別の位置に設けられている場合を想定する。これにより、ユーザは、劣化評価値と密度評価値の両方を視覚的に把握することができるようになる。図１７に示す１００２が、密度評価部１０８によって算出された密度評価値を示す。また、図１７に示す１００３が、密度評価部１０８において、予め設定された閾値を示す。すなわち、図１７によれば、密度評価部１０８によって算出された密度評価値が、予め設定された閾値を上回っている（すなわち、第２のトリガが出力されている）ことを、ユーザは視覚的に把握することができる。なお、密度評価値が予め設定された閾値を上回っている（すなわち、第２のトリガが出力されている）場合、当該閾値を下回っているときとは、グラフの色や明るさを変えることにより、ユーザはより容易に第２のトリガが出力されていることを把握することができる。
【００８５】
図１７に示したように、劣化評価値に加えて、密度評価値をユーザに対して示唆することで、ユーザは、文字行の検出・認識・翻訳の結果が上手く得られないときに、その原因が、動き大期間によるものなのか、撮像対象の文字が遠すぎたり、当該文字の傾きが大きすぎたりして文字候補の検出に失敗していることによるものなのか、検出された文字候補の密度の不足によるものなのか、検出された文字候補の密度が十分であっても文字行が検出できないことによるものなのかといったことをより具体的に推測することができるようになる。
【００８６】
以上説明した第２の実施形態によれば、文字行を検出できる可能性が高いと判断された場合にだけ、文字行検出処理を実行させるための第２のトリガを出力する密度評価部１０８をさらに備えているので、図１６にて説明したように、上記した第１の実施形態より、リフレッシュレートを高く保つことができ、ひいては、フレーミングに要する時間をさらに短縮することができる。
【００８７】
＜第３の実施形態＞
次に、図１８のフローチャートを参照して、第３の実施形態について説明する。本実施形態では、上記した第１及び第２の実施形態とは異なり、文字候補検出部１０４が、第１のトリガの入力を受けた直後に文字候補検出処理を実行するのではなく、第１のトリガの入力を受け付けてから一定期間経過（例えば、０．５秒程度）しても、劣化評価部１０２から出力される第１のトリガの入力を変わらず受け付けていたときに、文字候補検出処理を実行する場合について説明する。
【００８８】
なお、第１のトリガの入力を一定期間受け続けた場合に文字候補検出処理が実行されるとすることで（換言すると、遅延フレームを導入した上で文字候補検出処理が実行されるとすることで）、劣化評価部１０２から第１のトリガが出力されてすぐに、当該第１のトリガの入力を覆す行動（例えば、情報処理装置１０を大きく動かすなど）が行われたとしても、無駄な文字候補検出処理を実行せずにすむという利点がある。
【００８９】
以下、図１８のフローチャートを参照して、第３の実施形態に係る情報処理装置１０の動作の一例について説明する。
【００９０】
始めに、画像取得部１０１は、カメラ機能を用いて撮像された画像を取得する（ステップＳ２１）。続いて、劣化評価部１０２は、情報処理装置１０に内蔵された加速度センサから、画像取得部１０１によって取得された画像を撮像したときの劣化評価値を取得し、当該取得した劣化評価値が予め設定された閾値以下であるかどうかを判定する（ステップＳ２２）。なお、ステップＳ２２における判定処理の結果、劣化評価値が閾値を超えていると判定された場合（ステップＳ２２のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ３０の処理に進む。
【００９１】
一方で、ステップＳ２２における判定処理の結果、劣化評価値が閾値以下であると判定された場合（ステップＳ２２のＹＥＳ）、劣化評価部１０２は、文字候補検出部１０４に対して、文字候補検出処理を実行させるための第１のトリガを出力する。文字候補検出部１０４は、劣化評価部１０２から出力された第１のトリガの入力を受け付けると、当該第１のトリガの入力を一定期間受け続けているかどうかを判定する（ステップＳ２３）。なお、ステップＳ２３における判定処理の結果、第１のトリガの入力を一定期間受け続けていないと判定された場合（ステップＳ２３のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ３０の処理に進む。
【００９２】
一方で、ステップＳ２３における判定処理の結果、劣化評価部１０２から出力された第１のトリガの入力を一定期間受け続けていると判定された場合（ステップＳ２３のＹＥＳ）、文字候補検出部１０４は、画像取得部１０１により取得された画像に対して、文字候補検出処理を実行する（ステップＳ２４）。
【００９３】
次に、文字候補検出部１０４は、ステップＳ２４における文字候補検出処理の結果として、所定数以上の文字候補が検出されたかどうかを判定する（ステップＳ２５）。なお、ステップＳ２５における判定処理の結果、所定数以上の文字候補が検出されていないと判定された場合（ステップＳ２５のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ３０の処理に進む。
【００９４】
一方で、ステップＳ２５における判定処理の結果、所定数以上の文字候補が検出されたと判定された場合（ステップＳ２５のＹＥＳ）、密度評価部１０８は、ステップＳ２４における文字候補検出処理の結果として得られた第１の検出結果情報に基づいて密度評価値を算出し、当該算出した密度評価値が予め設定された閾値以上であるかどうかを判定する（ステップＳ２６）。なお、ステップＳ２６における判定処理の結果、密度評価値が閾値より小さいと判定された場合（ステップＳ２６のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ３０の処理に進む。
【００９５】
一方で、ステップＳ２６における判定処理の結果、密度評価値が閾値以上であると判定された場合（ステップＳ２６のＹＥＳ）、密度評価部１０８は、文字行検出部１０５に対して、文字行検出処理を実行させるための第２のトリガを出力する。文字行検出部１０５は、密度評価部１０８から出力された第２のトリガの入力を受け付けると、画像取得部１０１により取得された画像に対する文字行検出処理を実行する（ステップＳ２７）。
【００９６】
続いて、文字行検出部１０５は、ステップＳ２７における文字行検出処理の結果として、１以上の文字行が検出されたかどうかを判定する（ステップＳ２８）。なお、ステップＳ２８における判定処理の結果、１つの文字行も検出されなかったと判定された場合（ステップＳ２８のＮＯ）、取得された画像をそのままプレビュー表示させるために、後述するステップＳ３０の処理に進む。
【００９７】
一方で、ステップＳ２８における判定処理の結果、１以上の文字行が検出されたと判定された場合（ステップＳ２８のＹＥＳ）、文字行検出部１０５は、ステップＳ２７における文字行検出処理の結果として得られた第２の検出結果情報をアプリケーション部１０６に出力する。アプリケーション部１０６は、文字行検出部１０５から出力された第２の検出結果情報に基づいて予めインストールされたアプリケーション固有の処理（例えば、文字認識処理や翻訳処理）を実行し、当該処理の結果を示す処理結果情報を出力部１０７に出力する（ステップＳ２９）。
【００９８】
しかる後、出力部１０７は、アプリケーション部１０６から出力された処理結果情報の入力を受け付けると、当該処理結果情報を、画像取得部１０１により取得された画像に重畳させた上で、ディスプレイに表示させるプレビュー表示処理を実行する。なお、出力部１０７は、アプリケーション部１０６とは異なる各部からプレビュー表示処理を実行させるためのコマンドの入力を受け付けた場合、少なくとも、画像取得部１０１により取得された画像をディスプレイにそのまま表示させ（ステップＳ３０）、ここでの処理を終了させる。
【００９９】
ここで、図１９を参照して、従来の情報処理方法と、第１の実施形態に係る情報処理方法と、第２の実施形態に係る情報処理方法と、本実施形態に係る情報処理方法との違いについて説明する。以下では、主に、フレーミング期間とリフレッシュレートの違いについて説明する。
【０１００】
図１９（ａ）〜（ｃ）については、既に説明した図１６（ａ）〜（ｂ）とそれぞれ同様であるため、ここではその詳しい説明は省略する。
【０１０１】
図１９（ｄ）は、上記した第１のトリガを出力する機構と、上記した第２のトリガを出力する機構と、上記した遅延フレームとを設けた場合に、所望の結果を得るまでに実行される処理とこの処理に要した時間との関係を示す模式図である。この場合、動き大期間の全域と微調整期間の後半とでは、図１９（ｃ）に示した場合と同様に、リフレッシュレートを高く保つことができる。さらに、図１９（ｂ），（ｃ）では、少なくとも微調整期間の前半では、第１のトリガの出力に直ちに応じて、文字候補検出処理が実行されていたため、第１のトリガの出力を覆すような行動が取られた場合に対応することができていなかったが、遅延フレームが導入されることによって、第１のトリガの出力を覆すような行動が取られた場合には文字候補検出処理が実行されないため、図１９（ｂ），（ｃ）に示した場合に比べて、この分だけリフレッシュレートを高く保つことができる。このため、所望の結果を得るまでに要していた時間を、図１９（ｄ）に示すように、時間Ｔ４まで短縮することができる。
【０１０２】
以上説明した第３の実施形態によれば、文字候補検出部１０４に第１のトリガの入力を覆す行動にも対応可能な遅延フレームが導入されているので、図１９にて説明したように、上記した第１及び第２の実施形態より、リフレッシュレートを高く保つことができ、ひいては、フレーミングに要する時間をさらに短縮することができる。
【符号の説明】
【０１０３】
１０…情報処理装置、１０１…画像取得部、１０２…劣化評価部、１０３…文字検出辞書記憶部、１０４…文字候補検出部、１０５…文字行検出部、１０６…アプリケーション部、１０７…出力部、１０８…密度評価部。
【図１】
0006548920.tif 000002
【図２】
0006548920.tif 000003
【図３】
0006548920.tif 000004
【図４】
0006548920.tif 000005
【図５】
0006548920.tif 000006
【図６】
0006548920.tif 000007
【図７】
0006548920.tif 000008
【図８】
0006548920.tif 000009
【図９】
0006548920.tif 000010
【図１０】
0006548920.tif 000011
【図１１】
0006548920.tif 000012
【図１２】
0006548920.tif 000013
【図１３】
0006548920.tif 000014
【図１４】
0006548920.tif 000015
【図１５】
0006548920.tif 000016
【図１６】
0006548920.tif 000017
【図１７】
0006548920.tif 000018
【図１８】
0006548920.tif 000019
【図１９】
0006548920.tif 000020