(57)【特許請求の範囲】
【請求項１】
撮像手段と表示手段とを有する携帯端末装置を使用して多数の画素から成る画像に含まれる文字を認識するための方法であって、
文字列と行間または空白部分とを含む対象画像に含まれる複数の矩形のスキャン画素領域をスキャンして前記行間または空白部分の基準方向からの角度に関する−９０度ないし９０度の範囲のスキュー角度を決定するステップであって、前記複数の矩形のスキャン画素領域各々が共通する原点画素と該原点画素をとおり前記矩形の各辺に平行または垂直である領域の基線を有し、各々の領域の基線が前記基準方向から−９０度ないし９０度の範囲にある角度を有する複数の矩形のスキャン画素領域をスキャンし各々の複数の矩形のスキャン画素領域の行間または空白部分を判定するためのヒストグラムを作成することを含む、スキュー角度決定ステップと、
前記スキュー角度に応じた形で前記対象画像を横断するように処理することにより前記対象画像の回転画像を生成するステップであって、該回転画像に含まれる文字列の方向が前記基準方向に一致する、回転画像生成ステップと、
前記回転画像に含まれる文字列を認識する文字認識ステップと、を含み、
前記複数の矩形のスキャン画素領域が、多数の画素から成る画像に含まれ得る、中心画素ｏを有し一対の対辺の画素数がＬ、他の一対の対辺の画素数がＢである矩形の画素領域であって、前記中心画素ｏの周りに−９０度ないし９０度の範囲で所定角度ずつ回転させた矩形の画素領域を線分補間により求めて予め作成された線分補間テーブルを使用して決定されることを特徴とする文字認識方法。
【請求項２】
さらに、前記回転画像を、９０度または２７０度回転させて追加の回転画像を生成するステップと、を含み、
前記文字認識ステップが、さらに、前記追加の回転画像に含まれる文字列を認識することを含む、請求項１に記載された文字認識方法。
【請求項３】
前記追加の回転画像を生成するステップが、前記スキュー角度が−９０度以上、０度未満であるときは前記回転画像をさらに９０度回転させ、または前記スキュー角度が０度以上、９０度以下であるときは前記回転画像をさらに２７０度回転させることを特徴とする請求項２に記載された文字認識方法。
【請求項４】
前記スキュー角度決定ステップにおいて、前記各々の領域の基線の角度の間隔が１度以下であることを特徴とする請求項１ないし３のいずれかに記載された文字認識方法。
【請求項５】
前記スキュー角度決定ステップにおいて、前記ヒストグラムは、縦軸を角度、横軸をヒストグラムデータとし、前記ヒストグラムにおいて行間を表す特徴を判定することにより前記スキュー角度が決定されることを特徴とする請求項１ないし４のいずれかに記載された文字認識方法。
【請求項６】
請求項１ないし５のいずれかに記載の文字認識方法を前記携帯端末装置のコンピュータに実行させるプログラム。
【請求項７】
撮像手段と表示手段とを有し、多数の画素から成る画像に含まれる文字を認識するように構成される携帯端末装置であって、
多数の画素から成る画像に含まれ得る、中心画素ｏを有し一対の対辺の画素数がＬ、他の一対の対辺の画素数がＢである矩形の画素領域であって、前記中心画素ｏの周りに−９０度ないし９０度の範囲で所定角度ずつ回転させた矩形の画素領域を線分補間により求めて画素テーブルを作成する画素テーブル作成手段と、
多数の画素から成り、文字列と行間または空白部分とを含む対象画像を特定する対象画像特定手段と、
前記画素テーブルに基づいて、前記対象画像に含まれる複数の矩形のスキャン画素領域をスキャンして行間または空白部分を判定するためのヒストグラムを生成し、前記行間または空白部分の基準方向からの角度に関する−９０度ないし９０度の範囲のスキュー角度を決定するスキュー角度決定手段と、
前記スキュー角度に応じた形で前記対象画像を横断するように処理することにより前記対象画像の回転画像を生成する回転画像生成手段と、
前記回転画像に含まれる文字を認識する文字認識手段と、を含み、
前記対象画像に含まれる複数の矩形のスキャン画像領域が共通する原点画素を有し、
前記複数の矩形のスキャン画素領域の各々が、前記原点画素を通り前記矩形の各辺に平行または垂直である領域の基線を有し、
前記基準方向に対する各々の領域の基線の角度が各々のスキャン画素領域に対応する各々のスキャン角度を表すことを特徴とする携帯端末装置。
【請求項８】
前記ヒストグラムが縦軸を角度、横軸をヒストグラムデータとして生成され、
前記スキュー角度決定手段が、前記ヒストグラムにおいて行間を表す特徴を判定することにより前記スキュー角度を決定することを特徴とする請求項７に記載された携帯端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末装置を使用して、印刷物等に記載された文字を認識するための方法等に関する。特に、本発明は、任意のスキュー（傾き）を有する文字を認識させるための方法、プログラム、及び携帯端末装置に関する。
【背景技術】
【０００２】
近年のスマートフォン、タブレットＰＣ、ＰＤＡ等の携帯端末装置には概してデジタルカメラが搭載されている。携帯端末装置のカメラを認識させたい文字列を含む印刷物にかざし、ＯＣＲ（光学式文字認識：Optical Character Recognition/Reader）エンジンでカメラ画像の解析を行い、文字列から文章や単語を抽出、認識する文字認識技術が知られている。
【０００３】
ＯＣＲエンジンを使用して文字を認識させるときの認識の精度は種々の要因により低下しやすく、特に、認識させようとする文字列の方向が、所定方向に整列していない場合に低下しやすい。ＯＣＲは、予め設定された方向、例えば、画像の左から右方向、画像の上から下方向等に文字列を抽出して認識するので、設定された所定方向に対して文字列が傾いている（文字が正立していない）場合は、概して、文字を正しく認識することができない。ＯＣＲで文字が認識できないという状態は、携帯端末装置のＯＣＲ機能を利用するときに多く見られる。ユーザーは片手等で携帯端末装置を保持し、また、ＯＣＲの認識の向き等を特に認識することもないので、ＯＣＲ処理のために取り込まれた画像に含まれる文字列はほとんどの場合、ＯＣＲが認識しやすいように整列していない。その結果、ＯＣＲが精度よく機能することができず、ユーザーは携帯端末装置のＯＣＲ機能について利便性が低いと感じることが多かった。
【０００４】
従来、携帯端末装置等を使用した文字認識精度及び文字認識速度の向上のために、認識対象領域をユーザーに提示しながら認識処理を行う画像情報処理装置、画像情報処理プログラムが提案された（特開２００４−２０６５４８公報：特許文献１）。
【０００５】
確度の高い文字認識処理のために、変化量抽出手段により抽出された変化量が所定の許容値以下であり、かつ認識手段による認識結果（認識内容を示す文字列）に対する文字領域の類似度が所定の基準値を上回っていることを条件に、認識手段による認識結果を出力することが提案された（特開２００８−２５０８１８公報：特許文献２）。
【０００６】
また、ワードを表象する楕円状輪郭線の主軸方法を水平方向と一致されるための角度差分がθに等しいことが判別されたことに応答して、ワード方向正規化エンジンが、当該楕円状輪郭線を角度差分「−θ」および角度差分「１８０°−θ」にそれぞれ等しい角度だけ回転させることにより、当該ワードの第１のバージョンと当該ワードを反転させたバージョンにそれぞれ対応する２つの画像部分領域をそれぞれ取得してＯＣＲ文字認識を行う方法が提案された（特開２０１４−１３２４５３公報：特許文献３）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２０６５４８公報
【特許文献２】特開２００８−２５０８１８公報
【特許文献３】特開２０１４−１３２４５３公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記のような従来の技術では、文字認識の精度を向上させるためにユーザーが認識させたい文字を携帯端末装置のディスプレイを確認しながら意識して枠等のガイド内に入れる必要があった。また、手ぶれの少ない状態で画像を撮像する必要があり、操作性が低いという問題があった。
【０００９】
また、多様な文字方向に対応してワードを検出できるようにした従来技術は、携帯端末装置等の小型装置のＣＰＵ、ＲＡＭ、ＲＯＭにより高速な処理を行うようにしたものではなく、また、漢字熟語等を横書き及び縦書きのいずれでも認識するように構成されていなかった。
【００１０】
上記問題に鑑みて、本発明は、携帯端末装置を使用して文字認識を行おうとするユーザーにとって操作が容易であり、高速且つ高精度に認識結果を出力することができる携帯端末装置用の文字認識方法及びプログラムを提供することを目的とする。また、そのように高速且つ高精度に文字認識処理を行うことができる携帯端末装置を提供することを目的とする。
【００１１】
さらに、本発明は、ユーザーが携帯端末装置を認識させたい文字列にかざすだけで、横書き及び縦書きのいずれの文字も認識することができるスキューロジック文字認識プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するための本発明の一つの態様は、撮像手段と表示手段とを有する携帯端末装置を使用して多数の画素から成る画像に含まれる文字を認識するための方法であって、文字列と行間または空白部分とを含む対象画像に含まれる複数の矩形のスキャン画素領域をスキャンして行間または空白部分の基準方向からの角度に関する−９０度ないし９０度の範囲のスキュー角度を決定するステップであって、各々の複数の矩形のスキャン画素領域が共通する原点画素と該原点画素をとおり矩形の各辺に平行または垂直である領域の基線を有し、各々の領域の基線が基準方向から−９０度ないし９０度の範囲にある角度を有する複数の矩形のスキャン画素領域をスキャンして行間または空白部分を判定するためのヒストグラムを作成することを含む、スキュー角度決定ステップと、スキュー角度に応じた形で対象画像を横断するように処理することにより対象画像の回転画像を生成するステップであって、該回転画像に含まれる文字列の方向が前記基準方向に一致する、回転画像生成ステップと、少なくとも回転画像に含まれる文字列を認識する文字認識ステップと、を含む。
【００１３】
上記のような複数の矩形のスキャン画素をスキャンすることにより、本発明の文字認識方法は、実質的に任意のスキューに対応することができる。このことにより、ユーザーは携帯端末装置を極めて容易な操作で使用して高精度の文字認識結果を得ることができる。
【００１４】
本発明に係る文字認識方法は、さらに、回転画像を、９０度または２７０度回転させて追加の回転画像を生成するステップを含み、文字認識ステップが、追加の回転画像に含まれる文字列を認識することを含む。追加の回転画像を生成するステップにおいて、スキュー角度が−９０度以上、０度未満であるときは回転画像をさらに９０度回転させ、またはスキュー角度が０度以上、９０度以下であるときは回転画像をさらに２７０度回転させることにより追加の回転画像が生成されることが好ましい。
【００１５】
上記のようにすることで、回転画像または追加の回転画像に含まれる文字列に含まれる文字が、基準方向または基準方向に垂直な方向に関して正立する。好適に、本発明に係る文字認識方法は、ユーザーが文字を認識しようとして携帯端末装置を文字列にかざす際の特性を利用する。概して、ユーザーは、携帯端末装置利用して文字を認識させようとするとき、少なくとも文字の上下方向と画像の上下方向とが一致するように携帯端末装置を保持するものと考えられる。このことにより、単一の追加の回転画像を生成することで、効果的に文字認識を行うことができる。本発明によれば、回転画像に対してＯＣＲ処理を行うことにより横書きの文字列を正しく認識することができ、回転画像及び追加の回転画像に対してＯＣＲ処理を行うことにより、文字列が縦書きであっても横書きであっても正しく認識し得る。
【００１６】
スキュー角度を決定するステップにおける各々の領域の基線の角度の間隔は１度以下であってよい。または、各々の領域の基線の角度の間隔は、５度、１度、０．５度、０．１度等であってよく、その他の間隔であってもよい。領域の基線の角度の間隔は、認識対象である文字列のパターンや望ましいスキュー角度の精度等に基づいて決定することができる。
【００１７】
本発明において、複数の矩形のスキャン画素領域は、好適に、線分補間方式により決定される。すなわち、多数の画素から成る画像に含まれ得る、中心画素ｏを有し一方の一対の対辺の画素数がＬ、他方の一対の対辺の画素数がＢである矩形の画素領域であって、中心画素ｏの周りに、０度の基準方向に対して−９０度ないし９０度の範囲で所定の角度ずつ回転させた複数の矩形の画素領域を線分補間方式により予め求め、線分補間テーブルに格納する。該線分補間テーブルに基づいてスキャン画素が決定される。このようにすることで、多数のスキャン画素領域を決定する計算負荷が大幅に軽減され、携帯端末装置等の小型装置のＣＰＵでも高速な処理を行うことができる。
【００１８】
スキュー角度決定ステップにおいて、ヒストグラムは、縦軸を角度、横軸をヒストグラムデータとして、ヒストグラムにおいて行間を表す特徴を判定することによりスキュー角度が決定されることが好ましい。このようにすることにより、高い精度で行間を検出することができる。
【００１９】
本発明のもう一つの態様は、上記の文字認識方法のいずれかを携帯端末装置のコンピュータに実行させるプログラムである。
【００２０】
本発明のさらに他の態様は、撮像手段と表示手段とを有し、多数の画素から成る画像に含まれる文字を認識するように構成される携帯端末装置であって、多数の画素から成る画像に含まれ得る複数の矩形のスキャン画素領域を線分補間により決定する画素テーブル作成手段と、多数の画素から成り、文字列と行間または空白部分とを含む対象画像を特定する対象画像特定手段と、作成された画素テーブルに基づいて、対象画像に含まれる複数の矩形のスキャン画素領域をスキャンして行間または空白部分を判定するためのヒストグラムを生成し、行間または空白部分の基準方向からの角度に関する−９０度ないし９０度の範囲のスキュー角度を決定するスキュー角度決定手段と、スキュー角度に応じた形で対象画像を横断するように処理することにより対象画像の回転画像を生成する回転画像生成手段と、回転画像に含まれる文字を認識する文字認識手段と、を含み、対象画像に含まれる複数の矩形のスキャン画像領域が共通する原点画素を有し、複数の矩形のスキャン画素領域の各々が、原点画素を通り矩形の各辺に平行または垂直である領域の基線を有し、基準方向に対する各々の領域の基線の角度が各々のスキャン画素領域に対応する各々のスキャン角度を表すことを特徴とする。
【００２１】
上記において、ヒストグラムが縦軸を角度、横軸をヒストグラムデータとして生成され、スキュー角度決定手段が、ヒストグラムにおいて行間を表す特徴を判定することによりスキュー角度を決定することが好ましい。
【発明の効果】
【００２２】
本発明に係る文字認識方法によれば、任意のスキューを高速に検出し、スキューに応じて高速な画像処理を行い高精度の文字認識を行うことができる。本発明によれば、ユーザーは文字列をガイドやＯＣＲが認識可能な所定の方向に整列させる必要がなく、また、いくつかの実施形態においては、認識させたい文字が縦書きであるか横書きであるかに関わらず、容易な操作において認識させたい文字の正しい認識結果を直ちに得ることができる。また、本発明に係る文字認識方法は、ＣＰＵへの負荷が極めて小さく、携帯端末装置等の携帯可能な小型装置の各々において実装可能である。
【図面の簡単な説明】
【００２３】
【図１】図１はＯＣＲの認識方向を模式的に示す図である。
【図２】図２は例示的なＯＣＲの認識結果を示す図である。
【図３】図３は本発明の一つの実施形態に係る機能ブロック図である。
【図４Ａ】図４Ａは線分スキャン変換の増分アルゴリズムを説明するための概念図である。
【図４Ｂ】図４Ｂは例示的な三角関数テーブルである。
【図４Ｃ】図４Ｃは線分補間アルゴリズムにより決定された画素領域を模式的に示す図である。
【図５】図５は、線分補間アルゴリズムにより決定された複数の画素領域を模式的に示す図である。
【図６】図６は、線分補間アルゴリズムで使用される例示的な桁上がりテーブルである。
【図７】図７は、取り込み画像、対象画像、複数のスキャン領域を説明する図である。
【図８】図８は、例示的なスキャン画素領域と生成されたヒストグラムを模式的に示す図である。
【図９】図９は、行間を表す特徴部分を含む、縦軸を角度、横軸をヒストグラムデータとするヒストグラム画像図（グレースケール）である。
【図１０】図１０（ａ）〜（ｄ）は、ヒストグラム画像図における行間を表す特徴部分を説明するための図である。
【図１１】図１１は、ヒストグラム図の行間判定を説明するための図である。
【図１２】図１２は、生成される回転画像を説明するための図である。
【図１３Ａ】図１３Ａは角度ブロックＰ１及びＰ２における対象画像と回転画像を説明する図である。
【図１３Ｂ】図１３Ｂは角度ブロックＰ３及びＰ４における対象画像と回転画像を説明する図である。
【図１４】図１４は、追加の回転画像を説明する図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら、本発明のさまざまな特徴が、本発明の限定を意図するものではない好適な実施例とともに説明される。図面は説明の目的で単純化され、尺度も必ずしも一致しない。
【００２５】
図１に、携帯端末装置１により取得される画像４００と、画像４００の一部である、ＯＣＲ処理、回転処理等の対象画像３００が模式的に図示されている。ＯＣＲは、矢印で示されているように、対象画像３００の上下方向、または左右方向を認識方向に設定されている。本明細書においては、これら直交する二つの認識方向のうち左右方向を基準方向ということがある。図１（ａ）のようにカメラを横位置にして撮像された画像４００の対象画像３００では、携帯端末装置１の筐体の幅（Ｗ）方向が基準方向となり、図１（ｂ）のようにカメラを縦位置にして撮像された画像４００の対象画像３００では、携帯端末装置１の筐体の高さ（Ｈ）方向が基準方向となり得る。以下の図面においても明示的に特定しない限り、紙面の左から右方向を基準方向として説明される。
【００２６】
携帯端末装置１は撮像手段（図示せず）により画像４００を撮像して取り込むことができる。画像４００はプレビュー画像を所定の時間間隔で取り込んだ画像であってよい。画像４００は、例えば、ＶＧＡサイズ（６４０×４８０画素）等、汎用性を有するサイズを有してよい。画像４００は、プレビュー画像をグレースケール（２５６諧調）で取り込んだ画像であってよい。対象画像３００は、画像４００の一部であってよく、または画像４００の全体であってもよい。
【００２７】
図２を参照して、ＯＣＲ処理を行う対象の文字が日本語等である場合、対象画像３００に含まれる文字は概して、横書きまたは縦書きであり得る。図２（ａ）、（ｂ）のようにＯＣＲの認識方向に対して文字が正立している場合、画像に含まれる文字（例えば、「画素」）を認識し、認識結果（例えば、「ガソ」の読み）を正しく出力することができる。
【００２８】
図２（ｃ）を参照して、実際にユーザーがスマートフォン等のカメラを新聞、雑誌等にかざして画像を取り込む場合、対象画像３００に含まれる文字列は図示のように、概して、「傾いた」状態となる。傾きの大小はユーザーによって、または、ユーザーが携帯端末装置を保持する姿勢等によって多様であり得、傾きが全くないということは想定しづらい。このように、画像の法線ベクトル方向を中心軸にして文字列の方向が回転すると、画像に含まれる文字がＯＣＲの認識方向に対して正立しないため、文字が正しく認識されにくい。文字列を含む印刷物等の高さに対して携帯端末装置を傾けた状態で撮像された画像も遠近方向の歪みを生ずるが、ＯＣＲ精度の低下には、画像の法線ベクトルを中心軸として文字列が回転した傾きの影響が大きいと考えられる。このような傾きを、本明細書においてスキューという。
【００２９】
図２（ｃ）の文字列のスキュー量は、矢印の向きで代表される文字列の傾きを基準方向（左右方向）と比較することにより検出され得る。本発明に係る文字認識方法では、任意のスキュー量が、行間の向きを検出することにより決定される。このために、対象画像３００は実質的に全方向に渡ってスキャンされる。
【００３０】
図３に、本発明に係るスキューロジック文字認識プログラムを備えた携帯端末装置１の機能ブロック図が示されている。携帯端末装置１はスマートフォン、タブレットＰＣ等の小型コンピュータ装置であり、ハードウェア的には図示しないＣＰＵ、メモリ（ＲＡＭ／ＲＯＭ）等を備える。
【００３１】
携帯端末装置１は撮像手段１１、表示手段１２を備える。撮像手段１１は、ＣＣＤカメラ等で構成され、撮影対象物を撮影してデジタル画像データに変換する。表示手段１２は、液晶ディスプレイ等で構成され、撮像手段１１から送出されてくる画像データ等を表示する。ユーザーはユーザーインターフェースである入力手段１３を介して、携帯端末装置１のスキューロジック文字認識アプリケーションプログラムを実行または終了させ得る。
【００３２】
画像に含まれる文字列に係る行間の向きを検出するために、画像の横方向または縦方向のヒストグラムを計算する方法が公知である。横方向または縦方向に限定されない任意の方向のヒストグラムを生成するには、画像を順次回転させながら一定方向にスキャンしてヒストグラムを生成する方法が考えられるが、画像を回転させる処理のためにＣＰＵに負荷がかかり好ましくない。また、画像を回転させることなく、スキャン方向を順次回転させることが考えられるが、スキャン位置の座標計算では実数を伴いＣＰＵに負荷がかかるため好ましくない。
【００３３】
本発明においては、ＣＰＵの負荷を小さくして高速な処理を実現するために、入力手段１３を介したユーザーの指示によりスキューロジック文字認識プログラムが起動されると、画素（線分補間）テーブル作成手段１４により、スキャン位置が決定される。画素テーブル作成手段１４は、任意の向きに傾いた行間を検出するように、各々が同じ中心画素を有する複数の矩形の画素領域を、線分スキャン変換の増分アルゴリズム（線分補間アルゴリズム）を使用して決定する。
【００３４】
図４Ａに、線分補間アルゴリズムを使用して画素の位置を決定する説明図が示されている。中心画素ｏを含み、基準方向（Ｘ軸方向）に位置する画素数ｌから成る一連の画素（薄い色塗り部分）に対して任意の角度θだけ傾いた一連の画素（濃い色塗り部分）が、中心画素ｏを含み、中心画素ｏから角度θ方向に伸長する画素数（長さ）ｌの線分を補間することにより決定される。具体的に、中心画素ｏ（１番目の画素）から角度θ方向に位置する２番目の画素のＸ成分を、中心画素ｏのＸ成分である初期値＝０．５に、角度θ方向に伸長する２番目の画素の斜辺のＸ方向の増分、すなわちΔｘ（ｃｏｓθ）を加算した値とし、Ｙ成分を、中心画素ｏのＹ成分である初期値＝０．５に、角度θ方向に伸長する２番目の画素の斜辺のＹ方向の増分、すなわちΔｙ（ｓｉｎθ）を加算した値とし、各々の値を整数に切り捨てて、そこから直前の画素の桁上がり値（直前の画素が中心画素である場合、桁上がり値は０）を減算することにより、２番目の画素の直前の画素からのＸ方向の桁上がり、及びＹ方向の桁上がりが判定される。同様に、角度θ方向に位置する３番目、４番目、・・・ｌ−１番目、ｌ番目の画素の位置が順次決定される。
【００３５】
図４Ｂを参照して、好適に、画素テーブル作成手段１４は、余弦正弦テーブル２２を有し、該余弦正弦テーブル２２の角度θの任意の間隔に基づいて、任意の角度θ方向の画素の位置を決定することができる。図示された例示的なテーブル２２は１度間隔であるが、テーブル２２の角度の間隔はこれに限定されない。
【００３６】
例えば、角度θ＝３５度、ｌ＝８（８画素）であるとき、表１に示されているように、中心画素ｏの初期値と余弦正弦テーブル２２に基づいて該当するｃｏｓθ、ｓｉｎθの値を第２画素から第８画素にかけて順次加算及び直前の画素の桁上がりの値（表１の０または１）を減算することにより各画素のＸ成分、Ｙ成分の桁上がり計算を行い、桁上がり計算のＸ成分、Ｙ成分の値の小数点以下を切り捨てた値で各画素のＸ方向、Ｙ方向の桁上がりが判定される。
【００３７】
【表１】
0005940615.tif 000002
【００３８】
図４Ｃを参照し、上記のような桁上がり判定による線分補間に基づいて、多数の画素から成る画像１０の任意の角度θ（図４Ｃでは、例示的に、θ＝３５°）におけるＬ×Ｂ画素の矩形の画素領域が決定される。基準方向（Ｘ軸方向）の画素領域１００は中心画素ｏを有する。画素領域１０１は同様に中心画素ｏを有し、基準方向に対して角度θを有する。
【００３９】
画素領域１０１に関し、上記の線分補間アルゴリズムにより、画素Ｐ’が決定された後、中心ｏからθの１８０度回転した方向にＬ／２の画素Ｐが計算され、画素Ｐからθの９０度回転した方向のＢ／２の画素ＰＲまでの画素位置、及び、−９０度回転した方向のＢ／２の画素ＰＬまでの画素位置が計算されて線分補間テーブルに格納される。このような線分補間テーブルを使用することにより、ＰＲからＰ、ＰからＰＬのそれぞれの画素を基点としてθ方向のＬ画素、すなわち画素領域１０１をスキャンすることができる。
【００４０】
図５に互いに異なる任意の角度θ（−９０度≦θ≦９０度）に対応する画素領域１００、１０１、１０２、１０３が模式的に示される。好適に、各々の画素領域の基線の角度は所定の間隔を有する。そのような角度の間隔は１度であってよい。または、角度間隔は４５度、１５度、５度、０．５度、０．１度等であってもよい。
【００４１】
例えば、角度間隔が１度である場合、−９０度ないし９０度の範囲にある各々の角度θに対応する１８１の矩形の画素領域が決定されて画素テーブルに格納される。画素テーブルに格納された各々の画素領域の領域の基線の角度は、スキャン角度に対応する。
【００４２】
上記のとおり発明に係る画素テーブル作成手段１４は、加算減算のみで複数の矩形の画素領域を決定するので、ＣＰＵに負荷をかけることがない。さらに少ない計算量で実質的に全方向のスキャン位置を決定するために、図６に図示されているような角度ブロックＰ１〜Ｐ４の桁上がりテーブル２３を使用することができる。桁上がりテーブル２３によれば、０度≦θ≦４５度の角度ブロックＰ１において、例えば、１度間隔で４６のスキャン画素領域が決定されると、他のブロックＰ２（４５度≦θ≦９０度）、Ｐ３（−４５度≦θ≦０度）、Ｐ４（−９０度≦θ≦−４５度）の各々の４６のスキャン画素領域を決定することができ、計算量をおよそ１／４に低減することができる。
【００４３】
図７を参照して、対象画像特定手段１５（図３）は、撮像手段１１により取り込まれた画像４００の一部または全部を、スキャン、ヒストグラム生成、回転、及びＯＣＲ等の処理を行うための対象画像３００として特定する。対象画素３００は中心に原点画素Ｏを有する。例えば、６４０×４８０画素の画像４００に含まれる３２０×３２０画素の領域が対象画像３００であってよい。対象画像３００は正方形または長方形の矩形の領域であってよい。
【００４４】
なお、後述の回転処理により、対象画像３００の回転画像において周縁部の画素が欠落することがある。このため、回転画像を表示手段に表示させるような場合等には、見栄えを考慮して、データが欠落した形で表示されうる周縁部分は、円形のルーペ等のグラフィックパターン手段２４により背景の画像４００を透過させるようにマスク処理されてよい。グラフィックパターン手段２４は、ユーザーが画像４００の中で文字認識の対象である領域を自然に意識できるようにするために用いられてよく、または、単にデザイン性を向上させるために用いられてもよい。
【００４５】
対象画像３００のスキュー角度αを決定するために、対象画像３００に含まれる、原点画素Ｏを有し、基準方向に対して任意の角度間隔を有する複数の矩形のスキャン領域２００がスキャンされる。複数の矩形のスキャン領域２００は、上記のように作成された画素テーブルにより、中心画素ｏを原点画素Ｏとし、基準方向を所定方向（画像４００の左右方向）として一方の対辺の画素数Ｌ、他方の対辺の画素数Ｂ（図５）として決定される。例えば、複数の矩形のスキャン領域２００の各々の領域の基線の角度間隔が１度である場合、複数の矩形のスキャン領域２００は、互いに異なる１８１の矩形のスキャン領域となる。
【００４６】
このような多数の矩形のスキャン領域の各々についてヒストグラムが計算される。図８に、任意のスキャン角度θに対応するスキャン画素領域をスキャンして生成されるヒストグラムが模式的に示されている。ヒストグラムは、図示のように、１つの角度θ（すなわち、１つのスキャン画素領域）について横軸にＢ、縦軸にヒストグラム値（例えば、しきい値１２８による白黒判定で２値化した後の黒画素の個数）を棒グラフで表したものであり得る。図示のようにヒストグラムにおいて、黒画素が存在しない一連の画素が存在する場合、その角度θは、行間の角度を表し得る。
【００４７】
また、図９に示されているように、ヒストグラムは、例えば、１８１の角度（すなわち、１８１のスキャン画素領域）について、縦軸を角度（−９０°≦θ≦９０°）、横軸をヒストグラムデータ（図８の棒グラフの高低、すなわちヒストグラム値が濃淡で表されたもの）として生成することができる。例示的に、図９の画像では、縦軸（Ｙ軸）の方眼は中央を０°として５度きざみ、横軸（Ｘ軸）の方眼は中央を画素Ｐとして８画素刻みである。このようなヒストグラムにより、対象画像の行間を判定し得る。
【００４８】
具体的に、図１０（ａ）〜（ｃ）を参照して、対象画像３００の互いに異なるスキャン角度θ１、θ２、θ３（各々スキャン方向が白抜きの矢印で示される）に対応する画素領域１１０、１２０、１３０をスキャンすると、画素領域１１０では、横軸方向（図９）に、ヒストグラム値＝０（図８を参照して、Ｌ画素が全て白画素）が連続する幅の広い部分が検出される。画素領域１２０ではその横軸方向の幅が狭くなり、画素領域１３０では、横軸方向の幅がほぼなくなる。これを、縦軸を角度、横軸を画素Ｂ（図８参照）に沿って一連の画素Ｌのヒストグラム値として表すと、図１０（ｄ）のように、実質的にひし形の図形となる。ヒストグラムにおいてこのような図形を検出し、横軸方向の幅が最も広い角度θ１を行間の角度（すなわちスキュー角度α）として決定することができる。
【００４９】
上記において、角度θ１における横軸方向の幅（画素数）がごく小さい場合、行間ではなく文字間が検出されているとも考えられる。従って、横軸方向の幅（画素数）が所定範囲にあるときに、角度θ１を行間の角度として決定してもよい。そのような所定範囲は、認識対象の文字列の態様によって調整されてよい。例えば、新聞、雑誌等に印字されている文字列の行間を検出するために、角度θ１における横軸方向の幅が６画素以上のときに行間として検出するようにしてもよい。
【００５０】
さらに、ヒストグラム図に現れるひし形状図形の数に基づいて行間が判定されてもよい。具体的に、ユーザーが携帯端末装置を印刷物に近づけ、文字が大きな状態で撮像した場合、行間の本数が少なくなり（例えば、２列）、印刷物から離して撮像した場合、行間の本数は多くなる（例えば、４〜５列）。ＯＣＲ処理できる文字列を想定して、行間（すなわちひし形状図形）が所定範囲の数だけ連続してヒストグラム図に現れた角度を行間の角度とすることができる。
【００５１】
例示的に、種々の空白部分を検出したときのヒストグラム図が図１１に示されている。（ａ）行間と文字列中のスペース（空白部分）とを含む画像をスキャンした場合、（ｂ）行間と行端のスペースとを含む画像をスキャンした場合、及び（ｃ）行間と最終行の下のスペースを含む画像をスキャンした場合の各々のヒストグラム図に示されているように、ひし形状図形（またはひし形状図形の部分）が１個しか現れない場合、その角度は行間ではない余白スペースに対応するものと考えられる。従って、ひし形状図形が１個しか現れない角度範囲を行間の角度の候補から排除し、ひし形状図形が２個以上繰り返し現れた角度範囲θＲのうち、もっとも横軸方向の幅（画素数）が大きい角度θ１を行間の角度、すなわちスキュー角度αに決定することが好ましい。この場合において、文字間等が誤って行間として検出されないように、行間として検出するひし形状の図形の数の上限を特定してもよい。そのような上限は、限定ではなく例示的に、７個、８個、９個、１０個等であり得る。
【００５２】
なお、行間の判定は、ひし形状の図形が検出されたヒストグラムの角度の範囲に基づいて調整されてもよい。すなわち、角度の範囲が狭すぎる場合は文字間である可能性があり、角度の範囲が広すぎる場合は余白等のスペースである可能性があるので、例えば、角度の範囲θＲが５度以上、４０度以下のときに、θ１を行間の角度に決定するようにしてもよい。
【００５３】
上記のように、本発明においては、縦軸を角度、横軸を画素Ｂに沿った一連の画素Ｌのヒストグラム値としてヒストグラム図を生成し、該ヒストグラム図に現れる特徴に基づいて、スキュー角度αが決定され得る。
【００５４】
スキャン・ヒストグラム生成及びスキュー角度決定手段１６（図３）によりスキュー角度αが決定されると、該スキュー角度αに基づいて、第１の画像回転手段１７により、対象画像３００の回転画像が生成される。
【００５５】
一般的に、スキュー角度αの対象画像Ｉの回転画像Ｒを生成するために、対象画像Ｉの入力点Ｉ（ｘ，ｙ）を、原点（０，０）を回転の中心として（−α）回転させて回転画像Ｒの出力点の座標Ｒ（ｘ’，ｙ’）を求めると、該当しない画素が抜けて画像が薄くなり、ＯＣＲ処理の精度が低下する恐れがある。従って、後続のＯＣＲ処理における精度が低下しないように、角度αに位置する対象画像Ｉの入力点Ｉ（ｘ’，ｙ’）から回転画像Ｒの出力点の座標Ｒ（ｘ，ｙ）を求めることが好ましい。
【００５６】
本発明においては、ＯＣＲ処理の精度を低下させることなく、且つ高速な処理速度を実現するために、第１の回転画像生成手段１７は、線分補間により回転画像の座標に対応する対象画像３００の座標を決定するための回転補間テーブル生成手段を有する（図示せず）。
【００５７】
図１２に、回転画像５００の説明図が示されている。対象画像３００において、前述のスキャン画素決定において使用された線分補間アルゴリズムと同様に、角度αのＬ’×Ｂ’の画素領域（薄い網掛け部分）が決定され、回転補間テーブルに格納される。回転画像５００（一部をグレーの色塗り部分で表示）は、矢印のように、角度αの画素領域の対応する画素をコピーすることにより生成される。対象画像３００について、角度αの画素が存在しない部分（濃い網掛け部分）については、回転画像５００の画素は抜ける（×印部分）ことになるが、そのような画素は周縁の画素であり、ユーザーが認識させたい文字が位置すると考えられる中心部分の画素が抜けることはない。従って、そのような画素データの欠落が実質的にＯＣＲ処理に影響を与えることはなく、精度を低下させることがない。
【００５８】
なお、回転画像５００を文字認識結果とともにディスプレイに表示する場合は、対象画像３００の矩形の形状等により周縁画素が欠け得る範囲においてマスク処理を行い、見栄えを向上させてもよい。回転画像５００は、ディスプレイに表示されなくてもよい。
【００５９】
図１３Ａ、図１３Ｂに、スキュー角度αが角度ブロックＰ１〜Ｐ４の各々にある対象画像３００及び生成された回転画像５００が模式的に示されている。上記のように、各々の対象画像３００は、回転画像５００を生成するために、スキュー角度αに応じた形で対象画像３００を横断するように処理される。
【００６０】
Ｐ１〜Ｐ４の回転画像５００において、スキュー角度αが、−９０度ないし９０度のいずれの範囲にあっても、文字列方向は基準方向に一致する。スキュー角αがブロックＰ２（４５°≦α＜９０°）及びブロックＰ１（０°≦α＜４５°）にあるときは、見かけ上、生成される回転画像は処理対象画像に対して「時計回り」となり、スキュー角αがブロックＰ３（−４５°≦α＜０°）、ブロックＰ４（−９０°≦α＜４５°）にあるときは、見かけ上、回転画像は処理対象画像に対して「反時計回り」となる。
【００６１】
上記のように、第１の回転画像生成手段１７は、文字列の方向を基準方向に一致させるためのものである。回転画像５００に含まれる文字が基準方向に関して正立する、すなわち横書きである場合、回転画像５００をＯＣＲ処理することで正しい文字認識結果を得ることができる。従って、認識対象の文字列が英語等である場合は、回転画像５００をさらに回転させる必要はない。しかしながら、画像５００に含まれる文字が縦書きの文章、単語等である場合は、回転画像５００に含まれる文字がＯＣＲの認識方向に関して正立しないため、回転画像５００をＯＣＲ処理しても、正しくＯＣＲ文字認識を行うことができない恐れがある。
【００６２】
ここで、図１４を参照し、（ａ）スキュー角度αが角度ブロックＰ３（またはＰ４）の範囲にある場合、第１の回転画像生成手段１７により生成された回転画像５００に含まれる縦書きの文字列の向きは図の左から右方向となる。また、（ｂ）スキュー角度αが角度ブロックＰ２（またはＰ１）の範囲にある場合、第１の回転画像生成手段１７により生成された回転画像５００に含まれる縦書きの文字列の向きは、図の右から左方向となる。このことは、ユーザーが、スマートフォン等の携帯端末装置を使用して印刷物等に記載された文字列を認識させようとする場合に、撮像された画像４００（及び対象画像３００）において、縦書きの文字列の方向が少なくとも上から下方向となることを利用している。
【００６３】
第２の回転画像生成手段１８（図３）は、スキュー角度αに基づいて、第１の回転画像生成手段により生成された回転画像を、さらに９０度、または２７０回転させて第２の（追加の）回転画像６００を生成する。具体的に、スキュー角度αが角度ブロックＰ１またはＰ２にあるとき（０°≦α≦９０°）は、回転画像５００を２７０度回転させて追加の回転画像６００を生成し、スキュー角度αが角度ブロックＰ３またはＰ４にあるとき（−９０°≦α＜０°）は、回転画像５００を９０度回転させて追加の回転画像６００を生成する。このようにすることで、縦書きの文章、単語等がＯＣＲの認識方向に正立する。なお、α＝０°のときに、縦書きの文字が逆さになる可能性もあるが、ユーザーが携帯端末装置１を保持するときに、スキュー角度αが０度であることはほぼないものと考えられる。従って、本発明に係るスキューロジック文字認識方法は、実質的に縦書き、横書きの任意のスキューに対応して高精度の文字認識を行うことができる。
【００６４】
文字認識手段１９（図３）は公知のＯＣＲであってよく、上記のように生成された回転画像５００について、または、回転画像５００及び追加の回転画像６００についてＯＣＲ処理を行う。文字認識手段１９は、携帯端末装置１のメモリ等任意の記憶媒体に置かれた辞書等であるＤＢ手段２０（同）を利用することができる。
【００６５】
上記のとおり、文字認識手段１９は、いくつかの態様において、横書き文字を認識するように生成された回転画像５００と、縦書き文字を認識するように生成された追加の回転画像６００の各々について文字認識を行う。いくつかの実施形態において、文字認識手段１９は、回転画像５００と、追加の回転画像６００の各々について複数回の文字認識処理（ＯＣＲ処理）を行う。その結果、画像に含まれる文字列が縦書きか横書きかにより、回転画像５００、６００のうち一方の複数回のＯＣＲ処理の出力結果は安定せず、他方は安定することになる。認識文字決定手段２１は、そのような回転画像５００及び回転画像６００の複数の認識結果に基づいて、より安定した認識結果を認識文字として決定し、該認識文字の意味、読み等のＤＢに格納された情報を、表示手段１２を介してユーザーに提示する。
【００６６】
本発明に係るスキューロジック文字認識方法は、ハードウェア及びソフトウェアにより実装され得る。本発明に係るスキューロジック文字認識プログラムは、各々の携帯端末装置のメモリ内に記憶されるソフトウェアアプリケーションの形態であってよい。
【００６７】
実施例
標準的なＣＰＵ、メモリ等を備えたスマートフォンに本発明に係るスキューロジックアプリケーションプログラムをインストールした実施例１において、処理速度及び文字認識精度が測定された。スマートフォンのカメラで撮像されたプレビュー画像（ＶＧＡ（６４０×４８０）サイズ、グレースケール）が取り込まれ、対象画像（３２０×３２０画素）に含まれる文字列が認識された。スキュー角度を決定するために、−９０度から９０度まで１度間隔で、対象画像に含まれる１８４の１５０×１５０画素の矩形の領域がスキャンされた。（線分補間テーブルにおいて、θ＝４５°の矩形のスキャン領域は角度ブロックＰ２及びＰ１の両方に含まれ、θ＝０°の矩形のスキャン領域は角度ブロックＰ１及びＰ３の両方に含まれ、θ＝−４５°の矩形のスキャン領域は、角度ブロックＰ３及びＰ４の両方に含まれた。）対象画像の１８４の矩形の画素領域を決定し、スキャン、ヒストグラム生成、及びスキュー角度を決定するためにかかった時間は平均しておよそ４０ミリ秒であった。決定されたスキュー角度に基づいて、対象画像の第１及び第２の回転画像を生成するためにかかった時間はおよそ３ミリ秒であり、直ちに正しい文字認識結果が得られた。
【００６８】
実施例２は、処理対象画像を、撮像手段により取り込まれた画像全体（６４０×４８０画素）とした他は、実施例１と同様であった。第１及び第２の回転画像を生成するためにかかった時間はおよそ４〜５ミリ秒であった。
【００６９】
文字の認識結果が出力された後は順次撮像手段によりプレビュー画像が取り込まれ、アプリケーションを終了させるまで、繰り返し文字認識処理が行われた。一回の文字認識に係る時間は、およそ４０ミリ秒から５０ミリ秒と従来技術に比較して極めて高速であり、且つ高精度な文字認識結果が得られた。
【００７０】
以上のとおり、本発明のスキューロジック文字認識方法によれば、ユーザーは携帯端末装置を認識させたい文字にかざすだけで、手で保持する角度等を気にすることなく、例えば、１秒間におよそ１５〜２０回の高精度な文字認識結果を得ることができる。
【００７１】
本発明の思想及び態様から離れることなく多くのさまざまな修正が可能であることは当業者の知るところである。したがって、言うまでもなく、本発明の態様は例示に過ぎず、本発明の範囲を限定するものではない。
【符号の説明】
【００７２】
１      携帯端末装置
１１    撮像手段
１２    表示手段
１３    入力手段
１４    画素（線分補間テーブル）作成手段
１５    対象画像特定手段
１６    スキャン・ヒストグラム生成及びスキュー角度決定手段
１７    第１回転画像生成手段
１８    第２回転画像生成手段
１９    文字認識手段
２０    ＤＢ手段
２１    認識文字決定手段
【図１】
0005940615.tif 000003
【図２】
0005940615.tif 000004
【図３】
0005940615.tif 000005
【図４Ａ】
0005940615.tif 000006
【図４Ｂ】
0005940615.tif 000007
【図４Ｃ】
0005940615.tif 000008
【図５】
0005940615.tif 000009
【図６】
0005940615.tif 000010
【図７】
0005940615.tif 000011
【図８】
0005940615.tif 000012
【図１０】
0005940615.tif 000013
【図１１】
0005940615.tif 000014
【図１２】
0005940615.tif 000015
【図１３Ａ】
0005940615.tif 000016
【図１３Ｂ】
0005940615.tif 000017
【図１４】
0005940615.tif 000018
【図９】
0005940615.tif 000019