特開2018-152059(P2018-152059A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッドの特許一覧

<>
  • 特開2018152059-画像中の文字ストローク情報の推定 図000003
  • 特開2018152059-画像中の文字ストローク情報の推定 図000004
  • 特開2018152059-画像中の文字ストローク情報の推定 図000005
  • 特開2018152059-画像中の文字ストローク情報の推定 図000006
  • 特開2018152059-画像中の文字ストローク情報の推定 図000007
  • 特開2018152059-画像中の文字ストローク情報の推定 図000008
  • 特開2018152059-画像中の文字ストローク情報の推定 図000009
  • 特開2018152059-画像中の文字ストローク情報の推定 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2018-152059(P2018-152059A)
(43)【公開日】2018年9月27日
(54)【発明の名称】画像中の文字ストローク情報の推定
(51)【国際特許分類】
   G06K 9/62 20060101AFI20180831BHJP
【FI】
   G06K9/62 630C
【審査請求】未請求
【請求項の数】40
【出願形態】OL
【外国語出願】
【全頁数】23
(21)【出願番号】特願2018-32659(P2018-32659)
(22)【出願日】2018年2月27日
(31)【優先権主張番号】15/444,380
(32)【優先日】2017年2月28日
(33)【優先権主張国】US
(31)【優先権主張番号】15/474,512
(32)【優先日】2017年3月30日
(33)【優先権主張国】US
(71)【出願人】
【識別番号】507031918
【氏名又は名称】コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】特許業務法人光陽国際特許事務所
(72)【発明者】
【氏名】ガーニエリ, スチュアート
(72)【発明者】
【氏名】グラムス, ジェイソン ジェームス
【テーマコード(参考)】
5B064
【Fターム(参考)】
5B064AA01
5B064AB03
5B064BA01
5B064CA08
5B064CA10
5B064DC07
5B064DC08
5B064DC09
5B064DC15
(57)【要約】      (修正有)
【課題】文字認識のための方法、システム及びプログラムを提供する。
【解決手段】画像から抽出された文字セグメントを取得し、続いて当該文字セグメントに対し文字バウンディングボックスを決定する。これらの文字セグメントは画像中の手書きのテキスト文字に対応する。各文字バウンディングボックスについて、文字バウンディングボックスにおける文字セグメントのセットの方向及びタイミングプロパティ(例えば、筆順、筆記時間)を決定する。文字セグメントの筆順は、当該文字セグメントの交差点及びテクスチャプロパティに基づいて決定する。文字セグメントの1つ又は複数の方向は、筆幅及び/又は明度に基づく。
【選択図】図2
【特許請求の範囲】
【請求項1】
画像から抽出された複数の文字セグメントを取得することと、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定することと、
前記第一のセットの複数の方向、及び第一のセットの筆順及び第一のセットの筆記時間を含む前記第一のセットの複数のタイミングプロパティを決定することと、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行することと、を含む、文字認識方法。
【請求項2】
前記第二のセットの複数の方向及び前記第二のセットの複数のタイミングプロパティを決定することと、
前記第二のセット、前記第二のセットの複数の方向及び前記第二のセットの複数のタイミングプロパティをICRエンジンに送信することによって、前記第二の文字バウンディングボックスについて文字認識を実行することをさらに含み、
前記複数の文字セグメントが輪郭抽出装置によって前記画像から抽出され、
前記複数の文字セグメントが前記画像中で1つのテキスト列を形成する、請求項1に記載の方法。
【請求項3】
前記第一のセット中で垂線と第一の文字セグメントとの第一の角度を算出することと、
前記第一のセット中で垂線と第二の文字セグメントとの第二の角度を算出することと、
前記第一の角度が前記第二の角度よりも小さいことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、をさらに含む、請求項1又は2に記載の方法。
【請求項4】
前記第一のセット中で第一の文字セグメントの第一の垂直位置を算出することと、
前記第一のセット中で第二の文字セグメントの第二の垂直位置を算出することと、
前記第一の垂直位置が前記第二の垂直位置より低いことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記第一の文字バウンディングボックスのクロック値をリセットすることと、
前記第一のセット中の第一の文字セグメントの第一の長さを算出することと、
前記第一の長さに基づいて前記第一の文字セグメントのクロック値を増加させることと、
前記第一のセット中の第二の文字セグメントの第二の長さを算出することと、
前記第二の長さに基づいて前記第二の文字セグメントのクロック値を増加させることと、をさらに含み、
前記第一のセットの筆記時間が前記クロック値である、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記第一の長さに基づいて前記第一の文字セグメントの第一の速度を選択し、さらに前記第一の速度に基づいて前記第一の文字セグメントのクロック値を増加させることと、
前記第二の長さに基づいて前記第二の文字セグメントの第二の速度を選択し、さらに前記第二の速度に基づいて前記第二の文字セグメントのクロック値を増加させることと、をさらに含む、請求項5に記載の方法。
【請求項7】
前記第一のセット中の文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点からユーザー点までの第一の距離を算出することと、
前記第二の端点から前記ユーザー点までの第二の距離を算出することと、
前記第二の距離が前記第一の距離よりも小さいことに対応して前記第一の端点が開始端点であると決定することと、をさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記ICRエンジンにより出力された認識された文字を含む編集可能な電子文書を生成することをさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
メモリと、
前記メモリに接続するコンピュータープロセッサーを備え、
前記コンピュータープロセッサーが、
画像から抽出された複数の文字セグメントを取得し、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定し、
前記第一のセットの複数の方向、及び第一のセットの筆順と第一のセットの筆記時間とを含む前記第一のセットの複数のタイミングプロパティを決定し、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行する、文字認識システム。
【請求項10】
前記コンピュータープロセッサーが、さらに、
前記第一のセット中で垂線と第一の文字セグメントとの第一の角度を算出し、
前記第一のセット中で垂線と第二の文字セグメントとの第二の角度を算出し、
前記第一の角度が前記第二の角度よりも小さいことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定する、請求項9に記載のシステム。
【請求項11】
前記コンピュータープロセッサーが、さらに、
前記第一のセット中で第一の文字セグメントの第一の垂直位置を算出し、
前記第一のセット中で第二の文字セグメントの第二の垂直位置を算出し、
前記第一の垂直位置が第二の垂直位置より低いことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定する、請求項9又は10に記載のシステム。
【請求項12】
前記コンピュータープロセッサーが、さらに、
前記第一の文字バウンディングボックスのクロック値をリセットし、
前記第一のセット中の第一の文字セグメントの第一の長さを算出し、
前記第一の長さに基づいて前記第一の文字セグメントのクロック値を増加させ、
前記第一のセット中の第二の文字セグメントの第二の長さを算出し、
前記第二の長さに基づいて前記第二の文字セグメントのクロック値を増加させ、
前記第一のセットの筆記時間が前記クロック値である、請求項9から11のいずれか一項に記載のシステム。
【請求項13】
前記コンピュータープロセッサーが、さらに、
前記第一の長さに基づいて前記第一の文字セグメントの第一の速度を選択し、さらに前記第一の速度に基づいて前記第一の文字セグメントのクロック値を増加させ、
前記第二の長さに基づいて前記第二の文字セグメントの第二の速度を選択し、さらに前記第二の速度に基づいて前記第二の文字セグメントのクロック値を増加させる、請求項12に記載のシステム。
【請求項14】
前記コンピュータープロセッサーが、さらに、
前記第一のセット中の文字セグメントの第一の端点及び第二の端点を決定し、
前記第一の端点からユーザー点までの第一の距離を算出し、
前記第二の端点から前記ユーザー点までの第二の距離を算出し、
前記第二の距離が前記第一の距離よりも小さいことに対応して前記第一の端点が開始端点であることを決定する、請求項9から13のいずれか一項に記載のシステム。
【請求項15】
前記コンピュータープロセッサーが、さらにICRエンジンにより出力された認識された文字を含む編集可能な電子文書を生成する、請求項9から14のいずれか一項に記載のシステム。
【請求項16】
コンピュータープロセッサーに、
画像から抽出された複数の文字セグメントを取得させ、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定させ、
前記第一のセットの複数の方向、及び前記第一のセットの筆順及び第一のセットの筆記時間を含む前記第一のセットの複数のタイミングプロパティを決定させ、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行させる、プログラム。
【請求項17】
前記コンピュータープロセッサーに、
前記第一のセット中で垂線と第一の文字セグメントとの第一の角度を算出させ、
前記第一のセット中で垂線と第二の文字セグメントとの第二の角度を算出させ、
前記第一の角度が前記第二の角度よりも小さいことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定させる、請求項16に記載のプログラム。
【請求項18】
前記コンピュータープロセッサーに、
前記第一の文字バウンディングボックスのクロック値をリセットさせ、
前記第一のセット中の第一の文字セグメントの第一の長さを算出させ、
前記第一の長さに基づいて前記第一の文字セグメントのクロック値を増加させ、
前記第一のセット中の第二の文字セグメントの第二の長さを算出させ、
前記第二の長さに基づいて前記第二の文字セグメントのクロック値を増加させ、
前記第一のセットの筆記時間が前記クロック値である、請求項16又は17に記載のプログラム。
【請求項19】
前記コンピュータープロセッサーに、
前記第一のセット中の文字セグメントの第一の端点及び第二の端点を決定させ、
前記第一の端点からユーザー点までの第一の距離を算出させ、
前記第二の端点から前記ユーザー点までの第二の距離を算出させ、
前記第二の距離が前記第一の距離よりも小さいことに対応して前記第一の端点が開始端点であると決定させる、請求項16から18のいずれか一項に記載のプログラム。
【請求項20】
前記コンピュータープロセッサーに、前記ICRエンジンにより出力された認識された文字を含む編集可能な電子文書を生成させる、請求項16から19のいずれか一項に記載のプログラム。
【請求項21】
画像から抽出された複数の文字セグメントを取得することと、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定することと、
前記第一のセットの複数のテクスチャプロパティに基づいて前記第一のセットの筆順を決定することと、
前記第一のセットの複数の筆幅と複数の明度とに基づいて前記第一のセットの複数の方向を決定することと、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行することと、を含む、文字認識方法。
【請求項22】
前記第二のセットの複数の方向及び前記第二のセットのタイミングプロパティを決定することと、
前記第二のセット、前記第二のセットの複数の方向及び前記第二のセットのタイミングプロパティを前記ICRエンジンに送信することによって、前記第二の文字バウンディングボックスについて文字認識を実行することと、をさらに含み、
前記複数の文字セグメントが輪郭抽出装置によって前記画像から抽出され、
前記複数の文字セグメントが前記画像中で1つのテキスト列を形成する、請求項21に記載の方法。
【請求項23】
前記筆順を決定することが、
前記第一のセット中で第一の文字セグメントと第二の文字セグメントとの交差点を位置づけることと、
交差点のテクスチャプロパティを決定することと、
前記交差点のテクスチャプロパティを前記第一の文字セグメントのテクスチャプロパティ及び前記第二の文字セグメントのテクスチャプロパティと比較することと、
前記交差点のテクスチャプロパティが前記第二の文字セグメントのテクスチャプロパティと合致することに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、を含む、請求項21又は22に記載の方法。
【請求項24】
前記テクスチャプロパティが色である、請求項23に記載の方法。
【請求項25】
前記テクスチャプロパティが塗りつぶしパターンである、請求項23に記載の方法。
【請求項26】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の筆幅を前記第二の端点の筆幅と比較することと、
前記第一の端点の筆幅が前記第二の端点の筆幅より大きいことに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項21から25のいずれか一項に記載の方法。
【請求項27】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の明度を前記第二の端点の明度と比較することと、
前記第一の端点の明度が前記第二の端点の明度を超えることに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項21から26のいずれか一項に記載の方法。
【請求項28】
前記筆順を決定することが、
前記第一のセット中で垂線と第一の文字セグメントとの第一の角度を算出することと、
前記第一のセット中で垂線と第二の文字セグメントとの第二の角度を算出することと、
前記第一の角度が前記第二の角度よりも小さいことに対応して、前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、を含む、請求項21から27のいずれか一項に記載の方法。
【請求項29】
前記第一の文字バウンディングボックスのクロック値をリセットすることと、
前記第一のセット中の第一の文字セグメントの第一の長さを算出することと、
前記第一の長さに基づいて前記第一の文字セグメントの前記クロック値を増加させることと、
前記第一のセット中の第二の文字セグメントの第二の長さを算出することと、
前記第二の長さに基づいて前記第二の文字セグメントの前記クロック値を増加させることと、によって、前記第一のセットの筆記時間を決定することをさらに含み、
前記第一のセットの筆記時間が前記クロック値であり、
前記第一のセットの筆記時間が前記ICRエンジンに送信される、請求項21から28のいずれか一項に記載の方法。
【請求項30】
前記第一の長さに基づいて前記第一の文字セグメントの第一の速度を選択し、さらに前記第一の速度に基づいて前記第一の文字セグメントの前記クロック値を増加させることと、
前記第二の長さに基づいて前記第二の文字セグメントの第二の速度を選択し、さらに前記第二の速度に基づいて前記第二の文字セグメントの前記クロック値を増加させることと、をさらに含む、請求項29に記載の方法。
【請求項31】
前記ICRエンジンにより出力された認識された文字を含む編集可能な電子文書を生成することをさらに含む、請求項21から30のいずれか一項に記載の方法。
【請求項32】
メモリと、
前記メモリに接続するコンピュータープロセッサーと、を備え、
前記コンピュータープロセッサーが、
画像から抽出された複数の文字セグメントを取得し、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定し、
前記第一のセットの筆順を前記第一のセットの複数のテクスチャプロパティに基づいて決定し、
前記第一のセットの複数の方向を前記第一のセットの複数の筆幅及び複数の明度に基づいて決定し、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行する、文字認識システム。
【請求項33】
前記筆順を決定することが、
前記第一のセット中で第一の文字セグメントと第二の文字セグメントとの交差点を位置づけることと、
交差点のテクスチャプロパティを決定することと、
前記交差点のテクスチャプロパティを前記第一の文字セグメントのテクスチャプロパティ及び前記第二の文字セグメントのテクスチャプロパティと比較することと、
前記交差点のテクスチャプロパティが前記第二の文字セグメントのテクスチャプロパティに合致することに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、を含む、請求項32に記載の方法。
【請求項34】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の筆幅を前記第二の端点の筆幅と比較することと、
前記第一の端点の筆幅が前記第二の端点の筆幅より大きいことに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項32又は33に記載のシステム。
【請求項35】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の明度を前記第二の端点の明度と比較することと、
前記第一の端点の明度が前記第二の端点の明度を超えることに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項32から34のいずれか一項に記載のシステム。
【請求項36】
前記コンピュータープロセッサーは、さらに前記ICRエンジンにより出力された認識された文字を含む編集可能な電子文書を生成する、請求項32から35のいずれか一項に記載のシステム。
【請求項37】
コンピュータープロセッサーに、
画像から抽出された複数の文字セグメントを取得させ、
複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス及び複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定させ、
前記第一のセットの複数のテクスチャプロパティに基づいて前記第一のセットの筆順を決定させ、
前記第一のセットの複数の筆幅及び複数の明度に基づいて前記第一のセットの複数の方向を決定させ、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行させる、プログラム。
【請求項38】
前記筆順を決定することが、
前記第一のセット中で第一の文字セグメントと第二の文字セグメントとの交差点を位置づけることと、
交差点のテクスチャプロパティを決定することと、
前記交差点のテクスチャプロパティを前記第一の文字セグメントのテクスチャプロパティ及び前記第二の文字セグメントのテクスチャプロパティと比較することと、
前記交差点のテクスチャプロパティが前記第二の文字セグメントのテクスチャプロパティに合致することに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、を含む、請求項37に記載のプログラム。
【請求項39】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の筆幅を前記第二の端点の筆幅と比較することと、
前記第一の端点の筆幅が前記第二の端点の筆幅より大きいことに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項37又は38に記載のプログラム。
【請求項40】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の明度を前記第二の端点の明度と比較することと、
前記第一の端点の明度が前記第二の端点の明度を超えることに対応して、前記第一の端点が開始端点であることを決定することと、を含む、請求項37から39のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像中の文字ストローク情報の推定に関する。
【背景技術】
【0002】
画像は、ハードコピーの文書をスキャンすることによって生成されうる。また、画像は、電子文書(例えば、ワープロ文書、スライドショーのスライド、スプレッドシート、ウェブページ等)を画像フォーマット(例えば、ビットマップ)に変換するソフトウェアアプリケーションによっても生成されうる。すなわち、どのように画像が生成されたかにかかわらず、画像は複数の手書きテキスト文字を含むことが多い。テキスト文字をもつ画像は閲覧、印刷、分析等のため回収される前に長期間保管された(つまりアーカイブされた)ものでありうる。
【0003】
インテリジェント文字認識(ICR)は画像中のテキスト文字を識別(つまり認識)し、当該テキスト文字のデジタル編集が可能なバージョン(例えば文字列等)を出力する技術である。ICRはテキスト文字が手書きである場合に実行されるため、正確な文字認識のためのタイミング情報が利用されうる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ICRがテキスト文字が書かれた後で実行される(つまり、ICRはアーカイブされた画像に対して実行される)場合、タイミング情報は利用不可能であり、ICRの実行に困難が生じる。しかしながら、それでもユーザーは、手書き文字を含むアーカイブされた画像にICRを実行することを望んでいる。
【課題を解決するための手段】
【0005】
概して、本発明の実施形態は、一側面によると、文字認識方法に関する。前記方法は、画像から抽出された複数の文字セグメントを取得することと、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定することと、前記第一のセットの複数の方向、及び第一のセットの筆順及び第一のセットの筆記時間を含む前記第一のセットの複数のタイミングプロパティを決定することと、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行することと、を含む。
【0006】
概して、本発明の実施形態は、一側面によると、文字認識システムに関する。前記システムは、メモリと、前記メモリに接続するコンピュータープロセッサーを備え、前記コンピュータープロセッサーが、画像から抽出された複数の文字セグメントを取得し、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定し、前記第一のセットの複数の方向、及び第一のセットの筆順と第一のセットの筆記時間とを含む前記第一のセットの複数のタイミングプロパティを決定し、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行する。
【0007】
概して、本発明の実施形態は、一側面によると、プログラムに関する。前記プログラムは、コンピュータープロセッサーに、画像から抽出された複数の文字セグメントを取得させ、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定させ、前記第一のセットの複数の方向、及び前記第一のセットの筆順及び第一のセットの筆記時間を含む前記第一のセットの複数のタイミングプロパティを決定させ、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行させる。
【0008】
概して、本発明の実施形態は、一側面によると、文字認識方法に関する。前記方法は、画像から抽出された複数の文字セグメントを取得することと、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定することと、前記第一のセットの複数のテクスチャプロパティに基づいて前記第一のセットの筆順を決定することと、前記第一のセットの複数の筆幅と複数の明度とに基づいて前記第一のセットの複数の方向を決定することと、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行することと、を含む。
【0009】
概して、この発明は、一側面によると、文字認識システムに関する。前記システムは、メモリと、前記メモリに接続するコンピュータープロセッサーと、を備え、前記コンピュータープロセッサーが、画像から抽出された複数の文字セグメントを取得し、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定し、前記第一のセットの筆順を前記第一のセットの複数のテクスチャプロパティに基づいて決定し、前記第一のセットの複数の方向を前記第一のセットの複数の筆幅及び複数の明度に基づいて決定し、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行する。
【0010】
概して、本発明は、一側面によると、プログラムに関する。前記プログラムは、コンピュータープロセッサーに、画像から抽出された複数の文字セグメントを取得させ、複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス及び複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定させ、前記第一のセットの複数のテクスチャプロパティに基づいて前記第一のセットの筆順を決定させ、前記第一のセットの複数の筆幅及び複数の明度に基づいて前記第一のセットの複数の方向を決定させ、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識(ICR)エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行させる。
【0011】
発明の他の側面は、以下の説明と添付の請求項によって明らかにされる。
【図面の簡単な説明】
【0012】
図1図1は、本発明の1つ又は複数の実施形態によるシステムを示す。
図2図2は、本発明の1つ又は複数の実施形態によるフローチャートを示す。
図3図3は、本発明の1つ又は複数の実施形態によるフローチャートを示す。
図4A図4Aは、本発明の1つ又は複数の実施形態によるフローチャートを示す。
図4B図4Bは、本発明の1つ又は複数の実施形態によるフローチャートを示す。
図5A図5Aは、本発明の1つ又は複数の実施形態による1つ又は複数の例を示す。
図5B図5Bは、本発明の1つ又は複数の実施形態による1つ又は複数の例を示す。
図6図6は、本発明の1つ又は複数の実施形態によるコンピューターのシステムを示す。
【発明を実施するための形態】
【0013】
本発明を特徴づける実施形態を、添付の図面を参照して詳細に説明する。一貫性を保つため、複数の図面において同様の要素は同様の付番を用いて表される。
【0014】
以下の本発明の実施形態の詳細な説明により、発明がより全面的に理解されるよう、多くの特徴的な細部について述べる。しかしながら、それら特徴的な細部がなくとも本発明を当業者が実行しうることは明らかである。他の例においては、不必要に説明を複雑化することを避けるため公知の性質については詳細な記述をしていない。
【0015】
概して、本発明の実施形態は、文字認識のための方法、システム及びプログラムを提供する。具体的には、画像から抽出された文字セグメントが取得され、続いて当該文字セグメントに対し文字バウンディングボックスが決定される。これらの文字セグメントは画像中の手書きのテキスト文字に対応する。各文字バウンディングボックスについて、文字バウンディングボックスにおける文字セグメントのセットの方向及びタイミングプロパティ(例えば、筆順、筆記時間等)を決定する。文字セグメントの筆順は、当該文字セグメントの交差点及びテクスチャプロパティに基づいて決定されうる。文字セグメントの1つ又は複数の方向は、筆幅及び/又は明度に基づきうる。
【0016】
続いて、文字セグメントのセット、文字セグメントのセットの方向及び文字セグメントのセットのタイミングプロパティが、文字認識を実行するためにICRエンジンに送信される。すなわち、ICRエンジンは画像中の手書きのテキスト文字を識別するのに、方向及びタイミングプロパティを用いる。決定された方向及び決定されたタイミングプロパティを利用することによって、ICRエンジンのパフォーマンスが向上する(つまり、識別されたテキスト文字が画像中の手書き文字に正しく合致しやすくなる)。
【0017】
図1は、本発明の1つ又は複数の実施形態によるシステム(100)を表す。図1に示す通り、システム(100)は、輪郭抽出装置(104)、ストローク分析装置(106)及びICRエンジン(108)を含む複数の構成要素からなる。各構成要素(104、106、108)は有線及び/又は無線のセグメントを持つネットワークによって互いに接続されている、パーソナルコンピュータ(PC)、ノートパソコン、携帯型コンピューター装置(例えば、タブレット型PC、スマートフォン等)、サーバー、メインフレーム、キオスク等にあたる。さらに又はあるいは、2つ以上の構成要素(104、106、108)が少なくとも1つのコンピュータープロセッサー及びメモリを有する同じハードウェア装置に搭載されてもいい。
【0018】
図1に示す通り、画像(102)はシステム(100)に対する入力である。画像(102)は、スキャナーでの取り込み、ウェブサイトからのダウンロード、リポジトリからの回収等によって得られうる。画像(102)はビットマップ形式であっていい。さらに又はあるいは、画像(102)は任意のフォーマットであっていいい。画像(102)は1つ又は複数の手書きのテキスト文字を含む。認識された文字(110)はシステム(100)の出力である。認識された文字(110)は、画像(102)中の手書きのテキスト文字のデジタル編集可能なバージョン(例えば文字列)である。
【0019】
本発明の1つ又は複数の実施形態において、システム(100)は輪郭抽出装置(104)を含む。輪郭抽出装置(104)は、ハードウェア(つまり回路)、ソフトウェア又はそれらの任意の組み合わせに備えられる。輪郭抽出装置(104)は画像(102)中で見つけられた文字セグメントを抽出し出力するよう構成されている。これは画像(102)について、繋がりのある構成要素の分析を実行することを含む。輪郭抽出装置は一度に1つのテキスト行の文字セグメントを抽出し出力しうる。本発明の1つ又は複数の実施形態において、輪郭抽出装置(104)は各文字セグメントの1つ又は複数の幅(筆幅は文字セグメントの長さによって変動するため)、各文字セグメントの1つ又は複数の明度値(明度は文字セグメントの長さによって変動するため)、各文字セグメントの1つ又は複数の色区分(色区分は文字セグメントの長さによって変動するため)等を出力する。
【0020】
本発明の1つ又は複数の実施形態において、システム(100)はストローク分析装置(106)を備える。ストローク分析装置(106)は、ハードウェア(つまり回路)、ソフトウェア、もしくはそれらの任意の組み合わせに備えられる。ストローク分析装置(106)は輪郭抽出装置(104)から受信した文字セグメントに対し文字バウンディングボックスを決定するよう構成されている。また、ストローク分析装置(106)は、各文字バウンディングボックスにおける文字セグメントのセットの方向を決定し、各文字バウンディングボックスにおける文字セグメントのセットタイミングプロパティ(例えば、筆記時間及び/又は筆順)を決定するよう構成される。ストローク分析装置(106)は、方向を決定するために少なくとも筆幅及び/又は明度を利用する。ストローク分析装置(106)は、タイミングプロパティ(例えば筆順)を決定するために少なくともテクスチャプロパティを利用する。方向、筆順、及び/又は追加のタイミングプロパティを割り当てられた文字セグメントはストロークとして言及される。ストロークは1つ又は複数の文字セグメントから成る。テキスト文字は1つ又は複数のストロークから成る。
【0021】
本発明の1つ又は複数の実施形態において、システム(100)はICRエンジン(108)を含む。ICRエンジン(108)は、ハードウェア、ソフトウェア、又はそれらの任意の組み合わせに備えられる。ICRエンジン(108)は、文字セグメントのセット、前記文字セグメントのセットの方向及び前記文字セグメントのセットのタイミングプロパティ(例えば、筆記時間、筆順等)を入力する。ICRエンジン(108)は、認識された文字(110)を識別し出力するために、文字セグメントのセット、前記文字セグメントのセットの方向及び前記文字セグメントのセットのタイミングプロパティを利用する。決定された方向及び決定されたタイミングプロパティを用いることによって、認識された文字(110)が画像(102)中の手書きのテキスト文字に正しく合致する見込みが高まる。例えば、「O」という文字と「D」という文字は似た文字セグメントを有しうる。しかし、「O」の書き方(つまり、方向やタイミングプロパティ)と「D」の書き方は非常に異なっている。したがって、ICRエンジン(108)で方向やタイミングプロパティを用いることにより、曖昧さを解消しうる。決定された方向及び決定されたタイミングプロパティを用いることによって、認識された文字(110)を出力するのに必要な時間も削減されうる。
【0022】
この詳細な説明によって、画像(102)の内容を含み、かつ編集も可能な電子文書を生成するのに、認識された文字(110)を利用しうることは、当業者に理解されるだろう。この詳細な説明によって、輪郭抽出装置(104)、ストローク分析装置(106)、及びICRエンジン(108)が特定の言語又はアルファベット/文字のセットに特化しうることも、当業者に理解されるだろう。さらに又はあるいは、輪郭抽出装置(104)、ストローク分析装置(106)、ICRエンジン(108)は複数の言語又はアルファベット/文字のセットを扱うことができる。
【0023】
図2は、本発明の1つ又は複数の実施形態によるフローチャートを示す。このフローチャートは文字認識の処理を表している。図2中の1つ又は複数の工程は、図1を参照し上述したシステム(100)の構成要素(例えば、ストローク分析装置(106))によって実行されうる。本発明の1つ又は複数の実施形態において、図2に示した1つ又は複数の工程は省略されたり、繰り返されたり、及び/又は図2に示されたのとは異なる順番で実行されたりすることがある。したがって、本発明の範囲は図2に示された特定の工程の配列に限定されると解釈されてはならない。
【0024】
まず、文字セグメントが取得される(ステップ205)。これらの文字セグメントは繋がりのある構成要素の分析を行う輪郭抽出装置によって画像から抽出されたものである。これらの文字セグメントは画像中の手書きの文字に対応しうる。さらに、画像はハードコピーの文書をスキャンして生成されるか、ウェブサイトやリポジトリ等からダウンロード、回収されるか、のいずれか又はその組み合わせである。1つ又は複数の実施形態において、画像はビットマップ形式である。
【0025】
ステップ210において、複数の文字バウンディングボックスが決定される。各文字バウンディングボックスは文字セグメントのセットを含む。各文字バウンディングボックスは1つのテキスト文字及び/又は複数のテキスト文字(例えば、画像中で2つ以上のテキスト文字が接している場合)に対応している。文字バウンディングボックスを決定するには、実際、繋がった文字セグメントをそれぞれ有する複数のセットを決定するためのクラスター分析が必要となる。1つのセット中の複数の文字セグメントが新しい1つの文字セグメントに統合されうる。こうした新しい文字セグメントもセットの一部である。
【0026】
ステップ215において、文字バウンディングボックスが選択される。文字バウンディングボックスはランダムに選択される。あるいは、複数の文字セグメントが文字列(すなわち列、行等)に対応する場合、文字バウンディングボックスは左から右、右から左、上から下等に向いて選択される。
【0027】
ステップ220において、選択された文字バウンディングボックスにおける文字セグメントのセットの方向及びタイミングプロパティが決定される。特に、各セグメントの方向が決定される。さらに、文字セグメントのセットの順番(すなわち、第一に書かれた文字セグメント、第二に書かれた文字セグメント、最後に書かれた文字セグメント等)が決定されうる。さらには、文字セグメントのセットの筆記時間も決定されうる。筆記時間は選択されたバウンディングボックスにおける文字セグメントを全て手書きするのに必要な時間の合計に対応しうる。1つ又は複数の実施形態において、筆記時間は各文字セグメント間の時間間隔(すなわち、1つの文字セグメントの筆記の終わりと次の文字セグメントの筆記の始まりの間の時間)をも含む。さらに又はあるいは、筆記時間はセット中の各文字セグメントについて計算、保持される。ステップ220に係る更なる詳細が、図3図4A及び図4Bに示されている。
【0028】
ステップ225において、文字セグメントのセット、決定された方向及び決定されたタイミングプロパティに基づいて文字認識が実行される。具体的には、文字セグメントのセット、決定された方向及び決定されたタイミングプロパティ(例えば筆順、筆記時間)が認識された文字を出力するICRエンジンに送信されうる。方向及びタイミングプロパティによって、認識された文字が画像中の実際の手書き文字に正しく合致する見込みが高まる。また、方向及びタイミングプロパティによって、認識された文字を出力するのに必要な時間も削減されうる。
【0029】
ステップ230において、未処理で現存する文字バウンディングボックスが存在するかどうかが決定される。文字バウンディングボックスをさらに処理する必要があると決定された場合、処理はステップ215に戻る。
この詳細な説明によって、図2の処理において文字セグメントのセット、文字セグメントのセットのタイミングプロパティ及び文字セグメントのセットの方向がバウンディングボックス単位でICRエンジンに供給される(つまり、送信される)ことが、当業者に理解されるだろう。また、この詳細な説明によって、図2で表された処理が画像中の各文字列(例えば列、行等)について繰り返されることも、当業者に理解されるだろう。
【0030】
図3は、本発明の1つ又は複数の実施形態によるフローチャートを示す。このフローチャートは文字認識の処理を表している。具体的には、このフローチャートは文字セグメントのセットの方向及びタイミングプロパティを決定する処理を表している。図3中の1つ又は複数の工程は、図1を参照し上述したシステム(100)の構成要素(例えば、ストローク分析装置(106))によって実行されうる。図3に表された処理は図2のステップ220に対応する。本発明の1つ又は複数の実施形態において、図3に示した1つ又は複数の工程は省略されたり、繰り返されたり、及び/又は図3に示されたのとは異なる順番で実行されたりすることがある。したがって、本発明は図3に示された特定の工程の配列に限定されると解釈されてはならない。
【0031】
まず、文字セグメントの筆順が決定される(ステップ305)。筆順の決定には、どの文字セグメントが第一に書かれたか、どの文字セグメントが第二に書かれたか、どの文字セグメントが最後に書かれたか、等が含まれる。筆順は言語によって異なる場合のある推定に基づいて決定される。例えば、より長い文字セグメントがより短い文字セグメントの先に書かれると推定されうる。さらに又はあるいは、バウンディングボックスの左側に近い文字セグメントがバウンディングボックスの右側に近い文字セグメントの前に書かれていると推定されうる。さらに又はあるいは、バウンディングボックスの上側に近い文字セグメントがバウンディングボックスの下側に近い文字セグメントの前に書かれていると推定されうる。さらに又はあるいは、縦の文字セグメントが横向きの文字セグメント等の前に書かれると推定されうる。さらに又はあるいは、方向が鋭く転換して繋がっている文字セグメント(例えば角)が他の文字セグメントの前に書かれていると推定されうる。テキスト文字を書く際に複数の人間の動作主によって繰り返される挙動を観察することで、1つ又は複数の推定がなされうる。
【0032】
本発明の1つ又は複数の実施形態において、2つの交差した文字セグメントの筆順は、テクスチャプロパティ(例えば、塗りつぶし色、塗りつぶしパターン等)、特に交差点及びその付近のテクスチャプロパティによって決定される(後述)。図4A及び4Bにおいて2つの文字セグメントが正しい筆順を有するか決定するテストの例が示されている。
【0033】
ステップ310において、文字セグメントのセット毎にクロック値がリセットされる。クロック値はセットにおいて1つ又は複数の文字セグメントを書くのに要する時間を計測するのに用いられる。クロック値はカウンターを用いて実行されうる。
【0034】
ステップ315において、文字セグメントが選択される。文字セグメントは決定された筆順に基づいて選択することもある(ステップ305)。さらに又はあるいは、文字セグメントはランダムに選択されていい。
【0035】
ステップ320において、文字セグメントの方向が選択される。1つの文字セグメントには2つの端点があり、文字セグメントの方向を決定することにより、いずれの端点が開始端点であり、いずれの端点が終了端点であるか決定しうる。
【0036】
この詳細な説明によって、ほとんどのユーザーが右利きで筆記用具(例えば、ペン、鉛筆、マーカー等)を自分側へと引いて書くということが、当業者に理解されるだろう。したがって、文字セグメントの方向を決定することにより、ユーザーがテキスト文字を書いている時のユーザーの位置を示すユーザー点を選択し、ユーザー点と2つの端点の距離を決定しうる。より近い端点が終了端点と定義され、より遠い端点が開始端点と定義されうる。
【0037】
さらに又はあるいは、文字セグメントは左から右、上から下に向けて書かれる傾向がある。このことは文字セグメントの長軸によって異なる。横向きの文字セグメントは左から右へ書かれることが多い。縦向きの文字セグメントは上から下へ書かれることが多い。
【0038】
さらに又はあるいは、1つ又は複数の実施形態において、筆幅及び/又は明度は文字セグメントの開始端点及び終了端点を決定するのに用いられる。具体的には、開始端点における筆幅は終了端点における筆幅よりも大きいことが多い。同様に、開始端点における明度は終了端点における明度よりも暗いことが多い。したがって、筆幅がより大きく及び/又は明度がより暗い端点は開始端点として定義され、他方の端点が終了端点と定義されうる。
【0039】
ステップ325において、文字セグメントの長さが算出される。文字セグメントの長さはこれ以前のステップ(例えば、ステップ305)を実行するために既に算出されているため、ここでは省略する。
【0040】
ステップ330において、文字セグメントを引く時間が算出され、ここで算出された時間に応じてクロック値を増加させる。文字セグメントを引く時間は文字セグメントの長さと筆記具(例えば、ペンや鉛筆等)の速度との相関となる。セット中の全ての文字セグメントについて、同じ一定速度(V)が推定される。さらに又はあるいは、異なる長さの別々の文字セグメントについて、一定速度の分数(又は倍数)(例えば0.25V、0.5V、1.2V、1.8V)を推定する場合もある。さらに、文字セグメントの筆順に基づいて、速度が選択されうる。例えば、筆順の第一の文字セグメントについて速度はVとされ、筆順の最後の文字セグメントについて速度が1.25V又は0.7V(つまり、より高速又は低速)とされうる。別の例としては、筆順が第一の文字セグメントでも最後の文字セグメントでもない全ての文字セグメントについて(つまり中間の文字セグメント)、第一の文字セグメントと最後の文字セグメントについて決められた速度の平均を、速度として定めることができる。さらに又はあるいは、それぞれの中間の文字セグメントについて異なる速度を推定することができる。例えば、中間の文字セグメントについて推定される速度が第一の文字セグメントについて推定される速度と最後の文字セグメントについて推定される速度の間に定めることができる(例えば、筆順が先であるほど推定される速度を高速にする)。また、他の構成も可能である。
【0041】
ステップ335において、未処理のセグメントがさらに存在するかどうかが決定される。処理を要するセグメントがさらに存在すると判定された場合、処理はステップ340へ進む。処理を要するセグメントがさらに存在しないと判定された場合、処理はステップ345へ進む。
【0042】
ステップ340において、選択中の文字セグメントの書き終わりと次の文字セグメントの書き始めの時間間隔を調整するため、クロック値を増加させる。1つ又は複数の実施形態において、全ての一続きの文字セグメントについて同じ時間間隔が推定される。1つ又は複数の実施形態において、一続きの文字セグメントについて異なる文字セグメント間には異なる時間間隔が用いられる。
【0043】
ステップ345において、筆記時間がクロック値に基づいて決定される。1つ又は複数の実施形態において、筆記時間は現在のクロック値となる。1つ又は複数の実施形態において、筆記時間は時間間隔を考慮して1つ以上の調整をした現在のクロック値となる。
【0044】
この詳細な説明によって、図3の処理が各文字バウンディングボックスにおける文字セグメントのセットについて実行されうることも、当業者に理解されるだろう。
【0045】
図3において、テクスチャプロパティに基づいた文字セグメントの筆順(ステップ305)、筆幅及び/又は明度に基づいた文字セグメントの方向(ステップ320)が決定される。しかし、本発明の1つ又は複数の実施形態においては、テクスチャプロパティに基づいた文字セグメントの筆順のみが決定される(つまり、ステップ305は実行されるが、ステップ320は実行されない)。本発明の1つ又は複数の実施形態において、筆幅及び/又は明度に基づいた文字セグメントの方向のみが決定される(つまり、ステップ320は実行されるが、ステップ305は実行されない)。そのような実施形態においては、文字セグメントの筆順のみ又は文字セグメントの方向のみが文字認識を行うためICRエンジンに供給される。
【0046】
図4A及び図4Bは、本発明の1つ又は複数の実施形態によるフローチャートを示す。フローチャートは、単一の文字バウンディングボックス中の2つの文字セグメント(つまり文字セグメントAと文字セグメントB)が正しい筆順であるかを決定するテストを表す。1つ又は複数の実施形態において、このテストはラテンアルファベットに適する。図4A及び図4Bの1つ又は複数の工程は、図1を参照し上述したシステム(100)の構成要素(例えば、ストローク分析装置(106))によって実行されうる。図4A及び図4Bに表された処理は図3のステップ305に対応する。本発明の1つ又は複数の実施形態において、図4A及び図4Bに示した1つ又は複数の工程は省略されたり、繰り返されたり、及び/又は図4A及び図4Bに示されたのとは異なる順番で実行されたりすることがある。したがって、本発明は図4A及び4Bに示された特定の工程の配列に限定されると解釈されてはならない。
【0047】
まず、文字セグメントAが文字セグメントBの前に書かれたと推定する(ステップ405)。
【0048】
ステップ489において、セグメントAとセグメントBが交差しているか決定する。換言すると、ステップ489において、セグメントAとセグメントBの交差点があればその位置をとる。セグメントAとセグメントBが交差していれば、処理はステップ491へ進む。セグメントAとセグメントBが交差していなければ、処理はステップ410に進む(図4Bに示す)。
【0049】
ステップ491において、テクスチャプロパティがセグメントAとセグメントBについて演算される。テクスチャプロパティは、例えば、セグメントの塗りつぶしや色セグメントの塗りつぶしパターンに対応する。1つ又は複数の実施形態において、テクスチャプロパティは文字セグメントの全長にわたって同一であってもいい。さらに又はあるいは、テクスチャプロパティは文字セグメントの長さによって変わりうる。本発明の1つ又は複数の実施形態において、セグメントのテクスチャプロパティは、輪郭抽出装置(104)の出力から取り込むか、少なくとも導き出すことができる。
【0050】
ステップ493において、セグメントAとセグメントBのテクスチャプロパティが、特に交差点の付近で有意に異なるかどうか決定する。例えば、テクスチャプロパティが色である場合、セグメントAのRGB色値とセグメントBのRGB色値の差分が所定の閾値を超えているかどうか決定する。テクスチャプロパティが有意に異なっていると決定された場合、処理はステップ495へ進む。テクスチャプロパティが有意に異なっていないと決定された場合、処理はステップ410へ進む(図4Bに示す)。
【0051】
ステップ495において、交差点のテクスチャプロパティ(つまり、セグメントAとセグメントBの交差点におけるテクスチャプロパティ)が、交差点付近のセグメントAのテクスチャプロパティと交差点付近のセグメントBのテクスチャプロパティの両方と比較される。
【0052】
ステップ497において、交差点のテクスチャプロパティがセグメントBのテクスチャプロパティに合致するか又はより合致するかが決定される。例えば、テクスチャプロパティが色である場合、交差点のRGB色値が文字セグメントAのRGB色値により合致するか又は文字セグメントAのRGB色値により合致するかが決定される。ステップ497が真であった場合、それはセグメントBが文字セグメントAの上にあるということを示唆しており、すなわちセグメントAが文字セグメントBの前に書かれたことになる。よって、文字セグメントAが文字セグメントBの前に書かれたとする推定は正しい(ステップ440)。しかし、ステップ497が偽であれば、文字セグメントAが文字セグメントBの上にあるということが示唆され、すなわち文字セグメントBが文字セグメントAの前に書かれたことになる。よって、文字セグメントAが文字セグメントBの前に書かれたという推定は誤りである(ステップ445)(つまり、文字セグメントBが実際には文字セグメントAの前に書かれている)。
【0053】
これから、図4Bを参照し、ステップ410において多様な計算を行う。具体的には、垂線と文字セグメントAの角度(θ)を算出し、垂線と文字セグメントBの角度(θ)を算出する。さらに、(文字バウンディングボックスの最上部から測った)文字セグメントAの垂直位置(つまり最も上の位置)(VP)を算出し、文字セグメントBの垂直位置(VP)をも算出する。さらに、文字セグメントAの最左位置(LP)を算出し、文字セグメントBの最左位置(LP)を算出する。
【0054】
ステップ415において、θとθの差分の絶対値が有意であるか(つまり、所定の閾値を超えているか)が決定される。ステップ420において、文字セグメントAが文字セグメントBより直立しているかが決定される。ステップ420が真である場合、セグメントAがセグメントBの前に書かれたという推定は正しい(ステップ440)。しかし、ステップ420が偽である場合、文字セグメントAが文字セグメントBの前に書かれたという推定は誤りとなる(ステップ445)(つまり、文字セグメントBが実際には文字セグメントAの前に書かれている)。
【0055】
ステップ425において、LPとLPの差分の絶対値が有意であるか(つまり、所定の閾値を超えているか)が決定される。ステップ430において、文字セグメントAが文字セグメントBよりも文字バウンディングボックスの左側に寄っているかどうかが決定される。ステップ430が正である場合、文字セグメントAが文字セグメントBの前に書かれたという推定は正しい(ステップ440)。しかし、ステップ430が偽である場合、文字セグメントAが文字セグメントBの前に書かれたという推定は誤りとなる(ステップ445)(つまり、文字セグメントBが実際には文字セグメントAの前に書かれている)。
【0056】
ステップ435において、文字セグメントAが文字セグメントBよりも文字バウンディングボックスの最上部に寄っているかどうかが決定される。ステップ435が正である場合、文字セグメントAが文字セグメントBの前に書かれたとする推定は正しい(ステップ440)。しかし、ステップ435が誤である場合、文字セグメントAが文字セグメントBの前に書かれたという推定は誤りとなる(ステップ445)(つまり、文字セグメントBが実際には文字セグメントAの前に書かれている)。
【0057】
図4に示された処理は、文字バウンディングボックス中の文字セグメントの全ての組み合わせについて繰り返される。この詳細な説明によって、文字バウンディングボックス中の文字セグメントの全ての組み合わせについてステップ440に到達した場合に、文字セグメントについて決定された筆順が正しいということは、当業者に理解されるだろう。
【0058】
図4はステップ410においてなされる全ての計算を示しているものの、本発明の1つ又は複数の実施形態において、計算(ii)はステップ425が偽であると判明した後にのみ実行される。同様に、本発明の1つ又は複数の実施形態において、計算(iii)はステップ415が偽であると判明した後にのみ実行される。
【0059】
図5Aは本発明の1つ又は複数の実施形態による例を示す。図5Aは手書きのテキスト文字を有する画像(502)を示す。画像(502)は他のテキスト文字(図示しない)も含みうる。さらに、画像(502)は複数の文字列(図示しない)を含みうる。輪郭抽出装置が画像(502)から文字セグメント(504)を抽出しうる。図5Aに示す通り、文字セグメントΩ、Δ及びΣが画像(502)から抽出されている。
【0060】
それから、文字セグメントの筆順(506)が上記の1つ又は複数の処理によって決定される。具体的には、文字セグメントΩが第一に書かれ、文字セグメントΣが第二に書かれ、文字セグメントΔが最後に書かれたということが決定される。
【0061】
それから、文字セグメントの方向(508)が上記の1つ又は複数の処理によって決定される。具体的には、文字セグメントΩとΣが上部から下部に向けて(つまり、ユーザー側に向けて)書かれたということが決定される。さらに、文字セグメントΔは左から右に書かれた。
【0062】
文字セグメント(504)、筆順(506)及び方向(508)が文字認識を行うためICRエンジンに送信される。ICRエンジンは文字を認識するために文字セグメント(504)、筆順(506)及び方向(508)を用いる。さらに、文字認識処理において、筆順(506)及び方向(508)を用いることで、認識された文字が画像(502)中の手書き文字と正しく合致するだろう。
【0063】
図5Bは1つ又は複数の実施形態による例を示す。図5Bに示す通り、文字(図示しない)に対応する文字セグメント(599)が存在する。文字セグメント(599)は輪郭抽出装置によってビットマップイメージから抽出されたものである。文字セグメント(599)は2つの端点:端点A(597)及び端点B(595)を含む。端点A(597)は端点B(595)よりも筆幅が大きい。端点A(597)は端点B(595)よりも明度が暗い。したがって、端点A(597)は開始端点であるはずで、端点B(595)は終了端点であるはずである。したがって、筆幅及び/又は明度を用いて、文字セグメント(599)の方向が左から右であるということが決定される。筆幅及び/又は明度は輪郭抽出装置から供給される。
【0064】
さらに図5Bを参照すると、文字セグメントA(589)と文字セグメントB(587)も存在している。双方の文字セグメント(587、589)ともに輪郭抽出装置によってビットマップイメージから抽出されたものである。図5Bに示す通り、文字セグメントA(589)と文字セグメントB(587)は交差している。交差点のテクスチャプロパティ(585)はセグメントAのテクスチャプロパティ(581)よりも文字セグメントBのテクスチャプロパティ(583)により合致している。このことによって、文字セグメントB(587)が文字セグメントA(589)の上にあり、文字セグメントA(589)は文字セグメントB(587)の前に書かれたということが示唆される。換言すると、文字セグメント(587、589)の筆順はテクスチャプロパティに基づいて決定される。これらのテクスチャプロパティは文字セグメント(587、589)を抽出した輪郭抽出装置から供給されうる。
【0065】
本発明の多様な実施形態は、次の利点を1つ又は複数有しうる:筆幅及び/又は明度に基づいて文字セグメントのセットの方向を決定できること;テクスチャプロパティに基づいて文字セグメントのセットの筆順を決定できること;文字セグメントのセットの筆記時間を決定できること;画像中の文字に正しく合致する認識された文字をICRが出力する見込みを高められること;認識された文字の出力に必要な時間を短縮できること;2つの文字セグメントの筆順が正しいかどうかテストできること;異なる文字セグメントに一定速度又は異なる速度を割り当てられること;等。
【0066】
用いられるプラットフォームに関わらず、本発明の実施形態はほとんどどのような種類の演算システムにも備えられる。例えば、演算システムは1つ又は複数の携帯装置(例えば、ノートパソコン、スマートフォン、パーソナルデジタルアシスタント、タブレット、その他の携帯装置)、デスクトップコンピュータ、サーバー、サーバシャーシのブレード、又は本発明の1つ又は複数の実施形態を実行するために少なくとも最小限の処理能力、メモリ及び入出力装置を備えたその他任意の種類の1つ又は複数の演算装置とされうる。例えば、図6に示すように、演算装置(600)は、1つ又は複数のコンピュータープロセッサー(602)、関連メモリ(604)(例えば、ランダムアクセスメモリ(RAM)、キャッシュメモリ、フラッシュメモリ等)、1つ又は複数の記憶装置(606)(例えば、ハードディスク、コンパクトディスク(CD)ドライブやデジタル多用途ディスク(DVD)ドライブなどの光学ドライブ、フラッシュメモリスティック等)、その他多くの要素や機能を有しうる。コンピュータープロセッサー(602)は命令を処理するための集積回路であってもいい。例えば、コンピュータープロセッサーは、プロセッサーの1つ又は複数のコアやマイクロコアであっていい。また、演算システム(600)はタッチスクリーン、キーボード、マウス、マイク、タッチパッド、電子ペン、その他任意の種類の入力装置などの1つ又は複数の入力装置(610)をも備えうる。さらに、演算システム(600)は画面(例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、タッチスクリーン、ブラウン管(CRT)モニター、プロジェクター、その他表示装置)、プリンター、外部記憶又はその他の任意の出力装置などの1つ又は複数の出力装置(608)を備えうる。1つ又は複数の出力装置は入力装置と同じであっても異なっていてもいい。演算装置(600)は、ネットワークインターフェース接続(図示しない)を介してネットワーク(612)(例えば、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、モバイルネットワーク又はその他任意のネットワーク)に接続されうる。入出力装置は、ローカルもしくはリモートで(例えば、ネットワーク(612)を通じて)コンピュータープロセッサー(602)、メモリ(604)及び記憶装置(606)に接続されうる。多くの異なる演算システムが存在しており、前述の入出力装置は他の形態をとりうる。
【0067】
本発明の実施形態を実施するためのコンピューター可読プログラムコードの形態のソフトウェア命令は、その全体又は一部を、一時的又は恒常的に、CD、DVD、記憶装置、ディスケット、テープ、フラッシュメモリ、物理メモリ又はその他任意のコンピューター可読記憶媒体などの非一時的なコンピューター可読媒体に保存しうる。具体的には、ソフトウェア命令は、プロセッサーによって実行される際に、本発明の実施形態を実施するために構成されるコンピューター可読プログラムコードに対応しうる。
【0068】
さらに、上記の演算システム(600)の1つまたは複数の要素は、遠隔地に置かれ、ネットワーク(612)を通じて他の要素に接続されていい。さらに、本発明の1つ又は複数の実施形態は、複数のノードを有する分散型システムに備えられ、分散型システム中の異なるノードに発明の各部が位置してもいい。本発明の実施形態において、ノードは別個の演算装置に対応する。あるいは、ノードは関連の物理メモリを有するコンピュータープロセッサーに対応しうる。ノードは、あるいは、共有メモリ及び/又はリソースを有するコンピュータープロセッサー又はコンピュータープロセッサーのマイクロコアに対応しうる。
【0069】
限られた数の実施形態について本発明の説明がなされたが、この開示情報によって、ここで開示された発明の範囲から逸脱させることなく他の実施形態が案出されうることは、当業者に理解されるだろう。したがって、本発明の範囲は添付の請求項によってのみ限定されるものである。
図1
図2
図3
図4A
図4B
図5A
図5B
図6
【外国語明細書】
2018152059000001.pdf
2018152059000002.pdf
2018152059000003.pdf
2018152059000004.pdf