(57)【要約】      （修正有）【課題】文字認識のための方法、システム及びプログラムを提供する。【解決手段】画像から抽出された文字セグメントを取得し、続いて当該文字セグメントに対し文字バウンディングボックスを決定する。これらの文字セグメントは画像中の手書きのテキスト文字に対応する。各文字バウンディングボックスについて、文字バウンディングボックスにおける文字セグメントのセットの方向及びタイミングプロパティ（例えば、筆順、筆記時間）を決定する。文字セグメントの筆順は、当該文字セグメントの交差点及びテクスチャプロパティに基づいて決定する。文字セグメントの１つ又は複数の方向は、筆幅及び／又は明度に基づく。【選択図】図２
2018152059.tif 000002
【特許請求の範囲】
【請求項１】
画像から抽出された複数の文字セグメントを取得することと、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定することと、
前記第一のセットの複数の方向、及び第一のセットの筆順及び第一のセットの筆記時間を含む前記第一のセットの複数のタイミングプロパティを決定することと、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行することと、を含む、文字認識方法。
【請求項２】
前記第二のセットの複数の方向及び前記第二のセットの複数のタイミングプロパティを決定することと、
前記第二のセット、前記第二のセットの複数の方向及び前記第二のセットの複数のタイミングプロパティをＩＣＲエンジンに送信することによって、前記第二の文字バウンディングボックスについて文字認識を実行することをさらに含み、
前記複数の文字セグメントが輪郭抽出装置によって前記画像から抽出され、
前記複数の文字セグメントが前記画像中で１つのテキスト列を形成する、請求項１に記載の方法。
【請求項３】
前記第一のセット中で垂線と第一の文字セグメントとの第一の角度を算出することと、
前記第一のセット中で垂線と第二の文字セグメントとの第二の角度を算出することと、
前記第一の角度が前記第二の角度よりも小さいことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、をさらに含む、請求項１又は２に記載の方法。
【請求項４】
前記第一のセット中で第一の文字セグメントの第一の垂直位置を算出することと、
前記第一のセット中で第二の文字セグメントの第二の垂直位置を算出することと、
前記第一の垂直位置が前記第二の垂直位置より低いことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、をさらに含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第一の文字バウンディングボックスのクロック値をリセットすることと、
前記第一のセット中の第一の文字セグメントの第一の長さを算出することと、
前記第一の長さに基づいて前記第一の文字セグメントのクロック値を増加させることと、
前記第一のセット中の第二の文字セグメントの第二の長さを算出することと、
前記第二の長さに基づいて前記第二の文字セグメントのクロック値を増加させることと、をさらに含み、
前記第一のセットの筆記時間が前記クロック値である、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記第一の長さに基づいて前記第一の文字セグメントの第一の速度を選択し、さらに前記第一の速度に基づいて前記第一の文字セグメントのクロック値を増加させることと、
前記第二の長さに基づいて前記第二の文字セグメントの第二の速度を選択し、さらに前記第二の速度に基づいて前記第二の文字セグメントのクロック値を増加させることと、をさらに含む、請求項５に記載の方法。
【請求項７】
前記第一のセット中の文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点からユーザー点までの第一の距離を算出することと、
前記第二の端点から前記ユーザー点までの第二の距離を算出することと、
前記第二の距離が前記第一の距離よりも小さいことに対応して前記第一の端点が開始端点であると決定することと、をさらに含む、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記ＩＣＲエンジンにより出力された認識された文字を含む編集可能な電子文書を生成することをさらに含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
メモリと、
前記メモリに接続するコンピュータープロセッサーを備え、
前記コンピュータープロセッサーが、
画像から抽出された複数の文字セグメントを取得し、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定し、
前記第一のセットの複数の方向、及び第一のセットの筆順と第一のセットの筆記時間とを含む前記第一のセットの複数のタイミングプロパティを決定し、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行する、文字認識システム。
【請求項１０】
前記コンピュータープロセッサーが、さらに、
前記第一のセット中で垂線と第一の文字セグメントとの第一の角度を算出し、
前記第一のセット中で垂線と第二の文字セグメントとの第二の角度を算出し、
前記第一の角度が前記第二の角度よりも小さいことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定する、請求項９に記載のシステム。
【請求項１１】
前記コンピュータープロセッサーが、さらに、
前記第一のセット中で第一の文字セグメントの第一の垂直位置を算出し、
前記第一のセット中で第二の文字セグメントの第二の垂直位置を算出し、
前記第一の垂直位置が第二の垂直位置より低いことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定する、請求項９又は１０に記載のシステム。
【請求項１２】
前記コンピュータープロセッサーが、さらに、
前記第一の文字バウンディングボックスのクロック値をリセットし、
前記第一のセット中の第一の文字セグメントの第一の長さを算出し、
前記第一の長さに基づいて前記第一の文字セグメントのクロック値を増加させ、
前記第一のセット中の第二の文字セグメントの第二の長さを算出し、
前記第二の長さに基づいて前記第二の文字セグメントのクロック値を増加させ、
前記第一のセットの筆記時間が前記クロック値である、請求項９から１１のいずれか一項に記載のシステム。
【請求項１３】
前記コンピュータープロセッサーが、さらに、
前記第一の長さに基づいて前記第一の文字セグメントの第一の速度を選択し、さらに前記第一の速度に基づいて前記第一の文字セグメントのクロック値を増加させ、
前記第二の長さに基づいて前記第二の文字セグメントの第二の速度を選択し、さらに前記第二の速度に基づいて前記第二の文字セグメントのクロック値を増加させる、請求項１２に記載のシステム。
【請求項１４】
前記コンピュータープロセッサーが、さらに、
前記第一のセット中の文字セグメントの第一の端点及び第二の端点を決定し、
前記第一の端点からユーザー点までの第一の距離を算出し、
前記第二の端点から前記ユーザー点までの第二の距離を算出し、
前記第二の距離が前記第一の距離よりも小さいことに対応して前記第一の端点が開始端点であることを決定する、請求項９から１３のいずれか一項に記載のシステム。
【請求項１５】
前記コンピュータープロセッサーが、さらにＩＣＲエンジンにより出力された認識された文字を含む編集可能な電子文書を生成する、請求項９から１４のいずれか一項に記載のシステム。
【請求項１６】
コンピュータープロセッサーに、
画像から抽出された複数の文字セグメントを取得させ、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定させ、
前記第一のセットの複数の方向、及び前記第一のセットの筆順及び第一のセットの筆記時間を含む前記第一のセットの複数のタイミングプロパティを決定させ、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行させる、プログラム。
【請求項１７】
前記コンピュータープロセッサーに、
前記第一のセット中で垂線と第一の文字セグメントとの第一の角度を算出させ、
前記第一のセット中で垂線と第二の文字セグメントとの第二の角度を算出させ、
前記第一の角度が前記第二の角度よりも小さいことに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定させる、請求項１６に記載のプログラム。
【請求項１８】
前記コンピュータープロセッサーに、
前記第一の文字バウンディングボックスのクロック値をリセットさせ、
前記第一のセット中の第一の文字セグメントの第一の長さを算出させ、
前記第一の長さに基づいて前記第一の文字セグメントのクロック値を増加させ、
前記第一のセット中の第二の文字セグメントの第二の長さを算出させ、
前記第二の長さに基づいて前記第二の文字セグメントのクロック値を増加させ、
前記第一のセットの筆記時間が前記クロック値である、請求項１６又は１７に記載のプログラム。
【請求項１９】
前記コンピュータープロセッサーに、
前記第一のセット中の文字セグメントの第一の端点及び第二の端点を決定させ、
前記第一の端点からユーザー点までの第一の距離を算出させ、
前記第二の端点から前記ユーザー点までの第二の距離を算出させ、
前記第二の距離が前記第一の距離よりも小さいことに対応して前記第一の端点が開始端点であると決定させる、請求項１６から１８のいずれか一項に記載のプログラム。
【請求項２０】
前記コンピュータープロセッサーに、前記ＩＣＲエンジンにより出力された認識された文字を含む編集可能な電子文書を生成させる、請求項１６から１９のいずれか一項に記載のプログラム。
【請求項２１】
画像から抽出された複数の文字セグメントを取得することと、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定することと、
前記第一のセットの複数のテクスチャプロパティに基づいて前記第一のセットの筆順を決定することと、
前記第一のセットの複数の筆幅と複数の明度とに基づいて前記第一のセットの複数の方向を決定することと、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行することと、を含む、文字認識方法。
【請求項２２】
前記第二のセットの複数の方向及び前記第二のセットのタイミングプロパティを決定することと、
前記第二のセット、前記第二のセットの複数の方向及び前記第二のセットのタイミングプロパティを前記ＩＣＲエンジンに送信することによって、前記第二の文字バウンディングボックスについて文字認識を実行することと、をさらに含み、
前記複数の文字セグメントが輪郭抽出装置によって前記画像から抽出され、
前記複数の文字セグメントが前記画像中で１つのテキスト列を形成する、請求項２１に記載の方法。
【請求項２３】
前記筆順を決定することが、
前記第一のセット中で第一の文字セグメントと第二の文字セグメントとの交差点を位置づけることと、
交差点のテクスチャプロパティを決定することと、
前記交差点のテクスチャプロパティを前記第一の文字セグメントのテクスチャプロパティ及び前記第二の文字セグメントのテクスチャプロパティと比較することと、
前記交差点のテクスチャプロパティが前記第二の文字セグメントのテクスチャプロパティと合致することに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、を含む、請求項２１又は２２に記載の方法。
【請求項２４】
前記テクスチャプロパティが色である、請求項２３に記載の方法。
【請求項２５】
前記テクスチャプロパティが塗りつぶしパターンである、請求項２３に記載の方法。
【請求項２６】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の筆幅を前記第二の端点の筆幅と比較することと、
前記第一の端点の筆幅が前記第二の端点の筆幅より大きいことに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項２１から２５のいずれか一項に記載の方法。
【請求項２７】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の明度を前記第二の端点の明度と比較することと、
前記第一の端点の明度が前記第二の端点の明度を超えることに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項２１から２６のいずれか一項に記載の方法。
【請求項２８】
前記筆順を決定することが、
前記第一のセット中で垂線と第一の文字セグメントとの第一の角度を算出することと、
前記第一のセット中で垂線と第二の文字セグメントとの第二の角度を算出することと、
前記第一の角度が前記第二の角度よりも小さいことに対応して、前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、を含む、請求項２１から２７のいずれか一項に記載の方法。
【請求項２９】
前記第一の文字バウンディングボックスのクロック値をリセットすることと、
前記第一のセット中の第一の文字セグメントの第一の長さを算出することと、
前記第一の長さに基づいて前記第一の文字セグメントの前記クロック値を増加させることと、
前記第一のセット中の第二の文字セグメントの第二の長さを算出することと、
前記第二の長さに基づいて前記第二の文字セグメントの前記クロック値を増加させることと、によって、前記第一のセットの筆記時間を決定することをさらに含み、
前記第一のセットの筆記時間が前記クロック値であり、
前記第一のセットの筆記時間が前記ＩＣＲエンジンに送信される、請求項２１から２８のいずれか一項に記載の方法。
【請求項３０】
前記第一の長さに基づいて前記第一の文字セグメントの第一の速度を選択し、さらに前記第一の速度に基づいて前記第一の文字セグメントの前記クロック値を増加させることと、
前記第二の長さに基づいて前記第二の文字セグメントの第二の速度を選択し、さらに前記第二の速度に基づいて前記第二の文字セグメントの前記クロック値を増加させることと、をさらに含む、請求項２９に記載の方法。
【請求項３１】
前記ＩＣＲエンジンにより出力された認識された文字を含む編集可能な電子文書を生成することをさらに含む、請求項２１から３０のいずれか一項に記載の方法。
【請求項３２】
メモリと、
前記メモリに接続するコンピュータープロセッサーと、を備え、
前記コンピュータープロセッサーが、
画像から抽出された複数の文字セグメントを取得し、
前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定し、
前記第一のセットの筆順を前記第一のセットの複数のテクスチャプロパティに基づいて決定し、
前記第一のセットの複数の方向を前記第一のセットの複数の筆幅及び複数の明度に基づいて決定し、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行する、文字認識システム。
【請求項３３】
前記筆順を決定することが、
前記第一のセット中で第一の文字セグメントと第二の文字セグメントとの交差点を位置づけることと、
交差点のテクスチャプロパティを決定することと、
前記交差点のテクスチャプロパティを前記第一の文字セグメントのテクスチャプロパティ及び前記第二の文字セグメントのテクスチャプロパティと比較することと、
前記交差点のテクスチャプロパティが前記第二の文字セグメントのテクスチャプロパティに合致することに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、を含む、請求項３２に記載の方法。
【請求項３４】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の筆幅を前記第二の端点の筆幅と比較することと、
前記第一の端点の筆幅が前記第二の端点の筆幅より大きいことに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項３２又は３３に記載のシステム。
【請求項３５】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の明度を前記第二の端点の明度と比較することと、
前記第一の端点の明度が前記第二の端点の明度を超えることに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項３２から３４のいずれか一項に記載のシステム。
【請求項３６】
前記コンピュータープロセッサーは、さらに前記ＩＣＲエンジンにより出力された認識された文字を含む編集可能な電子文書を生成する、請求項３２から３５のいずれか一項に記載のシステム。
【請求項３７】
コンピュータープロセッサーに、
画像から抽出された複数の文字セグメントを取得させ、
複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス及び複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定させ、
前記第一のセットの複数のテクスチャプロパティに基づいて前記第一のセットの筆順を決定させ、
前記第一のセットの複数の筆幅及び複数の明度に基づいて前記第一のセットの複数の方向を決定させ、
前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行させる、プログラム。
【請求項３８】
前記筆順を決定することが、
前記第一のセット中で第一の文字セグメントと第二の文字セグメントとの交差点を位置づけることと、
交差点のテクスチャプロパティを決定することと、
前記交差点のテクスチャプロパティを前記第一の文字セグメントのテクスチャプロパティ及び前記第二の文字セグメントのテクスチャプロパティと比較することと、
前記交差点のテクスチャプロパティが前記第二の文字セグメントのテクスチャプロパティに合致することに対応して前記第一の文字セグメントが前記第二の文字セグメントの前に書かれたことを決定することと、を含む、請求項３７に記載のプログラム。
【請求項３９】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の筆幅を前記第二の端点の筆幅と比較することと、
前記第一の端点の筆幅が前記第二の端点の筆幅より大きいことに対応して前記第一の端点が開始端点であることを決定することと、を含む、請求項３７又は３８に記載のプログラム。
【請求項４０】
前記複数の方向を決定することが、
前記第一のセット中で文字セグメントの第一の端点及び第二の端点を決定することと、
前記第一の端点の明度を前記第二の端点の明度と比較することと、
前記第一の端点の明度が前記第二の端点の明度を超えることに対応して、前記第一の端点が開始端点であることを決定することと、を含む、請求項３７から３９のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像中の文字ストローク情報の推定に関する。
【背景技術】
【０００２】
画像は、ハードコピーの文書をスキャンすることによって生成されうる。また、画像は、電子文書（例えば、ワープロ文書、スライドショーのスライド、スプレッドシート、ウェブページ等）を画像フォーマット（例えば、ビットマップ）に変換するソフトウェアアプリケーションによっても生成されうる。すなわち、どのように画像が生成されたかにかかわらず、画像は複数の手書きテキスト文字を含むことが多い。テキスト文字をもつ画像は閲覧、印刷、分析等のため回収される前に長期間保管された（つまりアーカイブされた）ものでありうる。
【０００３】
インテリジェント文字認識（ＩＣＲ）は画像中のテキスト文字を識別（つまり認識）し、当該テキスト文字のデジタル編集が可能なバージョン（例えば文字列等）を出力する技術である。ＩＣＲはテキスト文字が手書きである場合に実行されるため、正確な文字認識のためのタイミング情報が利用されうる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＩＣＲがテキスト文字が書かれた後で実行される（つまり、ＩＣＲはアーカイブされた画像に対して実行される）場合、タイミング情報は利用不可能であり、ＩＣＲの実行に困難が生じる。しかしながら、それでもユーザーは、手書き文字を含むアーカイブされた画像にＩＣＲを実行することを望んでいる。
【課題を解決するための手段】
【０００５】
概して、本発明の実施形態は、一側面によると、文字認識方法に関する。前記方法は、画像から抽出された複数の文字セグメントを取得することと、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定することと、前記第一のセットの複数の方向、及び第一のセットの筆順及び第一のセットの筆記時間を含む前記第一のセットの複数のタイミングプロパティを決定することと、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行することと、を含む。
【０００６】
概して、本発明の実施形態は、一側面によると、文字認識システムに関する。前記システムは、メモリと、前記メモリに接続するコンピュータープロセッサーを備え、前記コンピュータープロセッサーが、画像から抽出された複数の文字セグメントを取得し、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定し、前記第一のセットの複数の方向、及び第一のセットの筆順と第一のセットの筆記時間とを含む前記第一のセットの複数のタイミングプロパティを決定し、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行する。
【０００７】
概して、本発明の実施形態は、一側面によると、プログラムに関する。前記プログラムは、コンピュータープロセッサーに、画像から抽出された複数の文字セグメントを取得させ、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定させ、前記第一のセットの複数の方向、及び前記第一のセットの筆順及び第一のセットの筆記時間を含む前記第一のセットの複数のタイミングプロパティを決定させ、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの複数のタイミングプロパティをインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行させる。
【０００８】
概して、本発明の実施形態は、一側面によると、文字認識方法に関する。前記方法は、画像から抽出された複数の文字セグメントを取得することと、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び前記複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定することと、前記第一のセットの複数のテクスチャプロパティに基づいて前記第一のセットの筆順を決定することと、前記第一のセットの複数の筆幅と複数の明度とに基づいて前記第一のセットの複数の方向を決定することと、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行することと、を含む。
【０００９】
概して、この発明は、一側面によると、文字認識システムに関する。前記システムは、メモリと、前記メモリに接続するコンピュータープロセッサーと、を備え、前記コンピュータープロセッサーが、画像から抽出された複数の文字セグメントを取得し、前記複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス、及び複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定し、前記第一のセットの筆順を前記第一のセットの複数のテクスチャプロパティに基づいて決定し、前記第一のセットの複数の方向を前記第一のセットの複数の筆幅及び複数の明度に基づいて決定し、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行する。
【００１０】
概して、本発明は、一側面によると、プログラムに関する。前記プログラムは、コンピュータープロセッサーに、画像から抽出された複数の文字セグメントを取得させ、複数の文字セグメントからなる第一のセットを含む第一の文字バウンディングボックス及び複数の文字セグメントからなる第二のセットを含む第二の文字バウンディングボックスを決定させ、前記第一のセットの複数のテクスチャプロパティに基づいて前記第一のセットの筆順を決定させ、前記第一のセットの複数の筆幅及び複数の明度に基づいて前記第一のセットの複数の方向を決定させ、前記第一のセット、前記第一のセットの複数の方向及び前記第一のセットの筆順をインテリジェント文字認識（ＩＣＲ）エンジンに送信することによって前記第一の文字バウンディングボックスの文字認識を実行させる。
【００１１】
発明の他の側面は、以下の説明と添付の請求項によって明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の１つ又は複数の実施形態によるシステムを示す。
【図２】図２は、本発明の１つ又は複数の実施形態によるフローチャートを示す。
【図３】図３は、本発明の１つ又は複数の実施形態によるフローチャートを示す。
【図４Ａ】図４Ａは、本発明の１つ又は複数の実施形態によるフローチャートを示す。
【図４Ｂ】図４Ｂは、本発明の１つ又は複数の実施形態によるフローチャートを示す。
【図５Ａ】図５Ａは、本発明の１つ又は複数の実施形態による１つ又は複数の例を示す。
【図５Ｂ】図５Ｂは、本発明の１つ又は複数の実施形態による１つ又は複数の例を示す。
【図６】図６は、本発明の１つ又は複数の実施形態によるコンピューターのシステムを示す。
【発明を実施するための形態】
【００１３】
本発明を特徴づける実施形態を、添付の図面を参照して詳細に説明する。一貫性を保つため、複数の図面において同様の要素は同様の付番を用いて表される。
【００１４】
以下の本発明の実施形態の詳細な説明により、発明がより全面的に理解されるよう、多くの特徴的な細部について述べる。しかしながら、それら特徴的な細部がなくとも本発明を当業者が実行しうることは明らかである。他の例においては、不必要に説明を複雑化することを避けるため公知の性質については詳細な記述をしていない。
【００１５】
概して、本発明の実施形態は、文字認識のための方法、システム及びプログラムを提供する。具体的には、画像から抽出された文字セグメントが取得され、続いて当該文字セグメントに対し文字バウンディングボックスが決定される。これらの文字セグメントは画像中の手書きのテキスト文字に対応する。各文字バウンディングボックスについて、文字バウンディングボックスにおける文字セグメントのセットの方向及びタイミングプロパティ（例えば、筆順、筆記時間等）を決定する。文字セグメントの筆順は、当該文字セグメントの交差点及びテクスチャプロパティに基づいて決定されうる。文字セグメントの１つ又は複数の方向は、筆幅及び／又は明度に基づきうる。
【００１６】
続いて、文字セグメントのセット、文字セグメントのセットの方向及び文字セグメントのセットのタイミングプロパティが、文字認識を実行するためにＩＣＲエンジンに送信される。すなわち、ＩＣＲエンジンは画像中の手書きのテキスト文字を識別するのに、方向及びタイミングプロパティを用いる。決定された方向及び決定されたタイミングプロパティを利用することによって、ＩＣＲエンジンのパフォーマンスが向上する（つまり、識別されたテキスト文字が画像中の手書き文字に正しく合致しやすくなる）。
【００１７】
図１は、本発明の１つ又は複数の実施形態によるシステム（１００）を表す。図１に示す通り、システム（１００）は、輪郭抽出装置（１０４）、ストローク分析装置（１０６）及びＩＣＲエンジン（１０８）を含む複数の構成要素からなる。各構成要素（１０４、１０６、１０８）は有線及び／又は無線のセグメントを持つネットワークによって互いに接続されている、パーソナルコンピュータ（ＰＣ）、ノートパソコン、携帯型コンピューター装置（例えば、タブレット型ＰＣ、スマートフォン等）、サーバー、メインフレーム、キオスク等にあたる。さらに又はあるいは、２つ以上の構成要素（１０４、１０６、１０８）が少なくとも１つのコンピュータープロセッサー及びメモリを有する同じハードウェア装置に搭載されてもいい。
【００１８】
図１に示す通り、画像（１０２）はシステム（１００）に対する入力である。画像（１０２）は、スキャナーでの取り込み、ウェブサイトからのダウンロード、リポジトリからの回収等によって得られうる。画像（１０２）はビットマップ形式であっていい。さらに又はあるいは、画像（１０２）は任意のフォーマットであっていいい。画像（１０２）は１つ又は複数の手書きのテキスト文字を含む。認識された文字（１１０）はシステム（１００）の出力である。認識された文字（１１０）は、画像（１０２）中の手書きのテキスト文字のデジタル編集可能なバージョン（例えば文字列）である。
【００１９】
本発明の１つ又は複数の実施形態において、システム（１００）は輪郭抽出装置（１０４）を含む。輪郭抽出装置（１０４）は、ハードウェア（つまり回路）、ソフトウェア又はそれらの任意の組み合わせに備えられる。輪郭抽出装置（１０４）は画像（１０２）中で見つけられた文字セグメントを抽出し出力するよう構成されている。これは画像（１０２）について、繋がりのある構成要素の分析を実行することを含む。輪郭抽出装置は一度に１つのテキスト行の文字セグメントを抽出し出力しうる。本発明の１つ又は複数の実施形態において、輪郭抽出装置（１０４）は各文字セグメントの１つ又は複数の幅（筆幅は文字セグメントの長さによって変動するため）、各文字セグメントの１つ又は複数の明度値（明度は文字セグメントの長さによって変動するため）、各文字セグメントの１つ又は複数の色区分（色区分は文字セグメントの長さによって変動するため）等を出力する。
【００２０】
本発明の１つ又は複数の実施形態において、システム（１００）はストローク分析装置（１０６）を備える。ストローク分析装置（１０６）は、ハードウェア（つまり回路）、ソフトウェア、もしくはそれらの任意の組み合わせに備えられる。ストローク分析装置（１０６）は輪郭抽出装置（１０４）から受信した文字セグメントに対し文字バウンディングボックスを決定するよう構成されている。また、ストローク分析装置（１０６）は、各文字バウンディングボックスにおける文字セグメントのセットの方向を決定し、各文字バウンディングボックスにおける文字セグメントのセットタイミングプロパティ（例えば、筆記時間及び／又は筆順）を決定するよう構成される。ストローク分析装置（１０６）は、方向を決定するために少なくとも筆幅及び／又は明度を利用する。ストローク分析装置（１０６）は、タイミングプロパティ（例えば筆順）を決定するために少なくともテクスチャプロパティを利用する。方向、筆順、及び／又は追加のタイミングプロパティを割り当てられた文字セグメントはストロークとして言及される。ストロークは１つ又は複数の文字セグメントから成る。テキスト文字は１つ又は複数のストロークから成る。
【００２１】
本発明の１つ又は複数の実施形態において、システム（１００）はＩＣＲエンジン（１０８）を含む。ＩＣＲエンジン（１０８）は、ハードウェア、ソフトウェア、又はそれらの任意の組み合わせに備えられる。ＩＣＲエンジン（１０８）は、文字セグメントのセット、前記文字セグメントのセットの方向及び前記文字セグメントのセットのタイミングプロパティ（例えば、筆記時間、筆順等）を入力する。ＩＣＲエンジン（１０８）は、認識された文字（１１０）を識別し出力するために、文字セグメントのセット、前記文字セグメントのセットの方向及び前記文字セグメントのセットのタイミングプロパティを利用する。決定された方向及び決定されたタイミングプロパティを用いることによって、認識された文字（１１０）が画像（１０２）中の手書きのテキスト文字に正しく合致する見込みが高まる。例えば、「Ｏ」という文字と「Ｄ」という文字は似た文字セグメントを有しうる。しかし、「Ｏ」の書き方（つまり、方向やタイミングプロパティ）と「Ｄ」の書き方は非常に異なっている。したがって、ＩＣＲエンジン（１０８）で方向やタイミングプロパティを用いることにより、曖昧さを解消しうる。決定された方向及び決定されたタイミングプロパティを用いることによって、認識された文字（１１０）を出力するのに必要な時間も削減されうる。
【００２２】
この詳細な説明によって、画像（１０２）の内容を含み、かつ編集も可能な電子文書を生成するのに、認識された文字（１１０）を利用しうることは、当業者に理解されるだろう。この詳細な説明によって、輪郭抽出装置（１０４）、ストローク分析装置（１０６）、及びＩＣＲエンジン（１０８）が特定の言語又はアルファベット／文字のセットに特化しうることも、当業者に理解されるだろう。さらに又はあるいは、輪郭抽出装置（１０４）、ストローク分析装置（１０６）、ＩＣＲエンジン（１０８）は複数の言語又はアルファベット／文字のセットを扱うことができる。
【００２３】
図２は、本発明の１つ又は複数の実施形態によるフローチャートを示す。このフローチャートは文字認識の処理を表している。図２中の１つ又は複数の工程は、図１を参照し上述したシステム（１００）の構成要素（例えば、ストローク分析装置（１０６））によって実行されうる。本発明の１つ又は複数の実施形態において、図２に示した１つ又は複数の工程は省略されたり、繰り返されたり、及び／又は図２に示されたのとは異なる順番で実行されたりすることがある。したがって、本発明の範囲は図２に示された特定の工程の配列に限定されると解釈されてはならない。
【００２４】
まず、文字セグメントが取得される（ステップ２０５）。これらの文字セグメントは繋がりのある構成要素の分析を行う輪郭抽出装置によって画像から抽出されたものである。これらの文字セグメントは画像中の手書きの文字に対応しうる。さらに、画像はハードコピーの文書をスキャンして生成されるか、ウェブサイトやリポジトリ等からダウンロード、回収されるか、のいずれか又はその組み合わせである。１つ又は複数の実施形態において、画像はビットマップ形式である。
【００２５】
ステップ２１０において、複数の文字バウンディングボックスが決定される。各文字バウンディングボックスは文字セグメントのセットを含む。各文字バウンディングボックスは１つのテキスト文字及び／又は複数のテキスト文字（例えば、画像中で２つ以上のテキスト文字が接している場合）に対応している。文字バウンディングボックスを決定するには、実際、繋がった文字セグメントをそれぞれ有する複数のセットを決定するためのクラスター分析が必要となる。１つのセット中の複数の文字セグメントが新しい１つの文字セグメントに統合されうる。こうした新しい文字セグメントもセットの一部である。
【００２６】
ステップ２１５において、文字バウンディングボックスが選択される。文字バウンディングボックスはランダムに選択される。あるいは、複数の文字セグメントが文字列（すなわち列、行等）に対応する場合、文字バウンディングボックスは左から右、右から左、上から下等に向いて選択される。
【００２７】
ステップ２２０において、選択された文字バウンディングボックスにおける文字セグメントのセットの方向及びタイミングプロパティが決定される。特に、各セグメントの方向が決定される。さらに、文字セグメントのセットの順番（すなわち、第一に書かれた文字セグメント、第二に書かれた文字セグメント、最後に書かれた文字セグメント等）が決定されうる。さらには、文字セグメントのセットの筆記時間も決定されうる。筆記時間は選択されたバウンディングボックスにおける文字セグメントを全て手書きするのに必要な時間の合計に対応しうる。１つ又は複数の実施形態において、筆記時間は各文字セグメント間の時間間隔（すなわち、１つの文字セグメントの筆記の終わりと次の文字セグメントの筆記の始まりの間の時間）をも含む。さらに又はあるいは、筆記時間はセット中の各文字セグメントについて計算、保持される。ステップ２２０に係る更なる詳細が、図３、図４Ａ及び図４Ｂに示されている。
【００２８】
ステップ２２５において、文字セグメントのセット、決定された方向及び決定されたタイミングプロパティに基づいて文字認識が実行される。具体的には、文字セグメントのセット、決定された方向及び決定されたタイミングプロパティ（例えば筆順、筆記時間）が認識された文字を出力するＩＣＲエンジンに送信されうる。方向及びタイミングプロパティによって、認識された文字が画像中の実際の手書き文字に正しく合致する見込みが高まる。また、方向及びタイミングプロパティによって、認識された文字を出力するのに必要な時間も削減されうる。
【００２９】
ステップ２３０において、未処理で現存する文字バウンディングボックスが存在するかどうかが決定される。文字バウンディングボックスをさらに処理する必要があると決定された場合、処理はステップ２１５に戻る。
この詳細な説明によって、図２の処理において文字セグメントのセット、文字セグメントのセットのタイミングプロパティ及び文字セグメントのセットの方向がバウンディングボックス単位でＩＣＲエンジンに供給される（つまり、送信される）ことが、当業者に理解されるだろう。また、この詳細な説明によって、図２で表された処理が画像中の各文字列（例えば列、行等）について繰り返されることも、当業者に理解されるだろう。
【００３０】
図３は、本発明の１つ又は複数の実施形態によるフローチャートを示す。このフローチャートは文字認識の処理を表している。具体的には、このフローチャートは文字セグメントのセットの方向及びタイミングプロパティを決定する処理を表している。図３中の１つ又は複数の工程は、図１を参照し上述したシステム（１００）の構成要素（例えば、ストローク分析装置（１０６））によって実行されうる。図３に表された処理は図２のステップ２２０に対応する。本発明の１つ又は複数の実施形態において、図３に示した１つ又は複数の工程は省略されたり、繰り返されたり、及び／又は図３に示されたのとは異なる順番で実行されたりすることがある。したがって、本発明は図３に示された特定の工程の配列に限定されると解釈されてはならない。
【００３１】
まず、文字セグメントの筆順が決定される（ステップ３０５）。筆順の決定には、どの文字セグメントが第一に書かれたか、どの文字セグメントが第二に書かれたか、どの文字セグメントが最後に書かれたか、等が含まれる。筆順は言語によって異なる場合のある推定に基づいて決定される。例えば、より長い文字セグメントがより短い文字セグメントの先に書かれると推定されうる。さらに又はあるいは、バウンディングボックスの左側に近い文字セグメントがバウンディングボックスの右側に近い文字セグメントの前に書かれていると推定されうる。さらに又はあるいは、バウンディングボックスの上側に近い文字セグメントがバウンディングボックスの下側に近い文字セグメントの前に書かれていると推定されうる。さらに又はあるいは、縦の文字セグメントが横向きの文字セグメント等の前に書かれると推定されうる。さらに又はあるいは、方向が鋭く転換して繋がっている文字セグメント（例えば角）が他の文字セグメントの前に書かれていると推定されうる。テキスト文字を書く際に複数の人間の動作主によって繰り返される挙動を観察することで、１つ又は複数の推定がなされうる。
【００３２】
本発明の１つ又は複数の実施形態において、２つの交差した文字セグメントの筆順は、テクスチャプロパティ（例えば、塗りつぶし色、塗りつぶしパターン等）、特に交差点及びその付近のテクスチャプロパティによって決定される（後述）。図４Ａ及び４Ｂにおいて２つの文字セグメントが正しい筆順を有するか決定するテストの例が示されている。
【００３３】
ステップ３１０において、文字セグメントのセット毎にクロック値がリセットされる。クロック値はセットにおいて１つ又は複数の文字セグメントを書くのに要する時間を計測するのに用いられる。クロック値はカウンターを用いて実行されうる。
【００３４】
ステップ３１５において、文字セグメントが選択される。文字セグメントは決定された筆順に基づいて選択することもある（ステップ３０５）。さらに又はあるいは、文字セグメントはランダムに選択されていい。
【００３５】
ステップ３２０において、文字セグメントの方向が選択される。１つの文字セグメントには２つの端点があり、文字セグメントの方向を決定することにより、いずれの端点が開始端点であり、いずれの端点が終了端点であるか決定しうる。
【００３６】
この詳細な説明によって、ほとんどのユーザーが右利きで筆記用具（例えば、ペン、鉛筆、マーカー等）を自分側へと引いて書くということが、当業者に理解されるだろう。したがって、文字セグメントの方向を決定することにより、ユーザーがテキスト文字を書いている時のユーザーの位置を示すユーザー点を選択し、ユーザー点と２つの端点の距離を決定しうる。より近い端点が終了端点と定義され、より遠い端点が開始端点と定義されうる。
【００３７】
さらに又はあるいは、文字セグメントは左から右、上から下に向けて書かれる傾向がある。このことは文字セグメントの長軸によって異なる。横向きの文字セグメントは左から右へ書かれることが多い。縦向きの文字セグメントは上から下へ書かれることが多い。
【００３８】
さらに又はあるいは、１つ又は複数の実施形態において、筆幅及び／又は明度は文字セグメントの開始端点及び終了端点を決定するのに用いられる。具体的には、開始端点における筆幅は終了端点における筆幅よりも大きいことが多い。同様に、開始端点における明度は終了端点における明度よりも暗いことが多い。したがって、筆幅がより大きく及び／又は明度がより暗い端点は開始端点として定義され、他方の端点が終了端点と定義されうる。
【００３９】
ステップ３２５において、文字セグメントの長さが算出される。文字セグメントの長さはこれ以前のステップ（例えば、ステップ３０５）を実行するために既に算出されているため、ここでは省略する。
【００４０】
ステップ３３０において、文字セグメントを引く時間が算出され、ここで算出された時間に応じてクロック値を増加させる。文字セグメントを引く時間は文字セグメントの長さと筆記具（例えば、ペンや鉛筆等）の速度との相関となる。セット中の全ての文字セグメントについて、同じ一定速度（ＶＣ）が推定される。さらに又はあるいは、異なる長さの別々の文字セグメントについて、一定速度の分数（又は倍数）（例えば０.２５ＶＣ、０.５ＶＣ、１.２ＶＣ、１.８ＶＣ）を推定する場合もある。さらに、文字セグメントの筆順に基づいて、速度が選択されうる。例えば、筆順の第一の文字セグメントについて速度はＶとされ、筆順の最後の文字セグメントについて速度が１.２５Ｖ又は０.７Ｖ（つまり、より高速又は低速）とされうる。別の例としては、筆順が第一の文字セグメントでも最後の文字セグメントでもない全ての文字セグメントについて（つまり中間の文字セグメント）、第一の文字セグメントと最後の文字セグメントについて決められた速度の平均を、速度として定めることができる。さらに又はあるいは、それぞれの中間の文字セグメントについて異なる速度を推定することができる。例えば、中間の文字セグメントについて推定される速度が第一の文字セグメントについて推定される速度と最後の文字セグメントについて推定される速度の間に定めることができる（例えば、筆順が先であるほど推定される速度を高速にする）。また、他の構成も可能である。
【００４１】
ステップ３３５において、未処理のセグメントがさらに存在するかどうかが決定される。処理を要するセグメントがさらに存在すると判定された場合、処理はステップ３４０へ進む。処理を要するセグメントがさらに存在しないと判定された場合、処理はステップ３４５へ進む。
【００４２】
ステップ３４０において、選択中の文字セグメントの書き終わりと次の文字セグメントの書き始めの時間間隔を調整するため、クロック値を増加させる。１つ又は複数の実施形態において、全ての一続きの文字セグメントについて同じ時間間隔が推定される。１つ又は複数の実施形態において、一続きの文字セグメントについて異なる文字セグメント間には異なる時間間隔が用いられる。
【００４３】
ステップ３４５において、筆記時間がクロック値に基づいて決定される。１つ又は複数の実施形態において、筆記時間は現在のクロック値となる。１つ又は複数の実施形態において、筆記時間は時間間隔を考慮して１つ以上の調整をした現在のクロック値となる。
【００４４】
この詳細な説明によって、図３の処理が各文字バウンディングボックスにおける文字セグメントのセットについて実行されうることも、当業者に理解されるだろう。
【００４５】
図３において、テクスチャプロパティに基づいた文字セグメントの筆順（ステップ３０５）、筆幅及び／又は明度に基づいた文字セグメントの方向（ステップ３２０）が決定される。しかし、本発明の１つ又は複数の実施形態においては、テクスチャプロパティに基づいた文字セグメントの筆順のみが決定される（つまり、ステップ３０５は実行されるが、ステップ３２０は実行されない）。本発明の１つ又は複数の実施形態において、筆幅及び／又は明度に基づいた文字セグメントの方向のみが決定される（つまり、ステップ３２０は実行されるが、ステップ３０５は実行されない）。そのような実施形態においては、文字セグメントの筆順のみ又は文字セグメントの方向のみが文字認識を行うためＩＣＲエンジンに供給される。
【００４６】
図４Ａ及び図４Ｂは、本発明の１つ又は複数の実施形態によるフローチャートを示す。フローチャートは、単一の文字バウンディングボックス中の２つの文字セグメント（つまり文字セグメントＡと文字セグメントＢ）が正しい筆順であるかを決定するテストを表す。１つ又は複数の実施形態において、このテストはラテンアルファベットに適する。図４Ａ及び図４Ｂの１つ又は複数の工程は、図１を参照し上述したシステム（１００）の構成要素（例えば、ストローク分析装置（１０６））によって実行されうる。図４Ａ及び図４Ｂに表された処理は図３のステップ３０５に対応する。本発明の１つ又は複数の実施形態において、図４Ａ及び図４Ｂに示した１つ又は複数の工程は省略されたり、繰り返されたり、及び／又は図４Ａ及び図４Ｂに示されたのとは異なる順番で実行されたりすることがある。したがって、本発明は図４Ａ及び４Ｂに示された特定の工程の配列に限定されると解釈されてはならない。
【００４７】
まず、文字セグメントＡが文字セグメントＢの前に書かれたと推定する（ステップ４０５）。
【００４８】
ステップ４８９において、セグメントＡとセグメントＢが交差しているか決定する。換言すると、ステップ４８９において、セグメントＡとセグメントＢの交差点があればその位置をとる。セグメントＡとセグメントＢが交差していれば、処理はステップ４９１へ進む。セグメントＡとセグメントＢが交差していなければ、処理はステップ４１０に進む（図４Ｂに示す）。
【００４９】
ステップ４９１において、テクスチャプロパティがセグメントＡとセグメントＢについて演算される。テクスチャプロパティは、例えば、セグメントの塗りつぶしや色セグメントの塗りつぶしパターンに対応する。１つ又は複数の実施形態において、テクスチャプロパティは文字セグメントの全長にわたって同一であってもいい。さらに又はあるいは、テクスチャプロパティは文字セグメントの長さによって変わりうる。本発明の１つ又は複数の実施形態において、セグメントのテクスチャプロパティは、輪郭抽出装置（１０４）の出力から取り込むか、少なくとも導き出すことができる。
【００５０】
ステップ４９３において、セグメントＡとセグメントＢのテクスチャプロパティが、特に交差点の付近で有意に異なるかどうか決定する。例えば、テクスチャプロパティが色である場合、セグメントＡのＲＧＢ色値とセグメントＢのＲＧＢ色値の差分が所定の閾値を超えているかどうか決定する。テクスチャプロパティが有意に異なっていると決定された場合、処理はステップ４９５へ進む。テクスチャプロパティが有意に異なっていないと決定された場合、処理はステップ４１０へ進む（図４Ｂに示す）。
【００５１】
ステップ４９５において、交差点のテクスチャプロパティ（つまり、セグメントＡとセグメントＢの交差点におけるテクスチャプロパティ）が、交差点付近のセグメントＡのテクスチャプロパティと交差点付近のセグメントＢのテクスチャプロパティの両方と比較される。
【００５２】
ステップ４９７において、交差点のテクスチャプロパティがセグメントＢのテクスチャプロパティに合致するか又はより合致するかが決定される。例えば、テクスチャプロパティが色である場合、交差点のＲＧＢ色値が文字セグメントＡのＲＧＢ色値により合致するか又は文字セグメントＡのＲＧＢ色値により合致するかが決定される。ステップ４９７が真であった場合、それはセグメントＢが文字セグメントＡの上にあるということを示唆しており、すなわちセグメントＡが文字セグメントＢの前に書かれたことになる。よって、文字セグメントＡが文字セグメントＢの前に書かれたとする推定は正しい（ステップ４４０）。しかし、ステップ４９７が偽であれば、文字セグメントＡが文字セグメントＢの上にあるということが示唆され、すなわち文字セグメントＢが文字セグメントＡの前に書かれたことになる。よって、文字セグメントＡが文字セグメントＢの前に書かれたという推定は誤りである（ステップ４４５）（つまり、文字セグメントＢが実際には文字セグメントＡの前に書かれている）。
【００５３】
これから、図４Ｂを参照し、ステップ４１０において多様な計算を行う。具体的には、垂線と文字セグメントＡの角度（θＡ）を算出し、垂線と文字セグメントＢの角度（θＢ）を算出する。さらに、（文字バウンディングボックスの最上部から測った）文字セグメントＡの垂直位置（つまり最も上の位置）（ＶＰＡ）を算出し、文字セグメントＢの垂直位置（ＶＰＢ）をも算出する。さらに、文字セグメントＡの最左位置（ＬＰＡ）を算出し、文字セグメントＢの最左位置（ＬＰＢ）を算出する。
【００５４】
ステップ４１５において、θＡとθＢの差分の絶対値が有意であるか（つまり、所定の閾値を超えているか）が決定される。ステップ４２０において、文字セグメントＡが文字セグメントＢより直立しているかが決定される。ステップ４２０が真である場合、セグメントＡがセグメントＢの前に書かれたという推定は正しい（ステップ４４０）。しかし、ステップ４２０が偽である場合、文字セグメントＡが文字セグメントＢの前に書かれたという推定は誤りとなる（ステップ４４５）（つまり、文字セグメントＢが実際には文字セグメントＡの前に書かれている）。
【００５５】
ステップ４２５において、ＬＰＡとＬＰＢの差分の絶対値が有意であるか（つまり、所定の閾値を超えているか）が決定される。ステップ４３０において、文字セグメントＡが文字セグメントＢよりも文字バウンディングボックスの左側に寄っているかどうかが決定される。ステップ４３０が正である場合、文字セグメントＡが文字セグメントＢの前に書かれたという推定は正しい（ステップ４４０）。しかし、ステップ４３０が偽である場合、文字セグメントＡが文字セグメントＢの前に書かれたという推定は誤りとなる（ステップ４４５）（つまり、文字セグメントＢが実際には文字セグメントＡの前に書かれている）。
【００５６】
ステップ４３５において、文字セグメントＡが文字セグメントＢよりも文字バウンディングボックスの最上部に寄っているかどうかが決定される。ステップ４３５が正である場合、文字セグメントＡが文字セグメントＢの前に書かれたとする推定は正しい（ステップ４４０）。しかし、ステップ４３５が誤である場合、文字セグメントＡが文字セグメントＢの前に書かれたという推定は誤りとなる（ステップ４４５）（つまり、文字セグメントＢが実際には文字セグメントＡの前に書かれている）。
【００５７】
図４に示された処理は、文字バウンディングボックス中の文字セグメントの全ての組み合わせについて繰り返される。この詳細な説明によって、文字バウンディングボックス中の文字セグメントの全ての組み合わせについてステップ４４０に到達した場合に、文字セグメントについて決定された筆順が正しいということは、当業者に理解されるだろう。
【００５８】
図４はステップ４１０においてなされる全ての計算を示しているものの、本発明の１つ又は複数の実施形態において、計算（ii）はステップ４２５が偽であると判明した後にのみ実行される。同様に、本発明の１つ又は複数の実施形態において、計算（iii）はステップ４１５が偽であると判明した後にのみ実行される。
【００５９】
図５Ａは本発明の１つ又は複数の実施形態による例を示す。図５Ａは手書きのテキスト文字を有する画像（５０２）を示す。画像（５０２）は他のテキスト文字（図示しない）も含みうる。さらに、画像（５０２）は複数の文字列（図示しない）を含みうる。輪郭抽出装置が画像（５０２）から文字セグメント（５０４）を抽出しうる。図５Ａに示す通り、文字セグメントΩ、Δ及びΣが画像（５０２）から抽出されている。
【００６０】
それから、文字セグメントの筆順（５０６）が上記の１つ又は複数の処理によって決定される。具体的には、文字セグメントΩが第一に書かれ、文字セグメントΣが第二に書かれ、文字セグメントΔが最後に書かれたということが決定される。
【００６１】
それから、文字セグメントの方向（５０８）が上記の１つ又は複数の処理によって決定される。具体的には、文字セグメントΩとΣが上部から下部に向けて（つまり、ユーザー側に向けて）書かれたということが決定される。さらに、文字セグメントΔは左から右に書かれた。
【００６２】
文字セグメント（５０４）、筆順（５０６）及び方向（５０８）が文字認識を行うためＩＣＲエンジンに送信される。ＩＣＲエンジンは文字を認識するために文字セグメント（５０４）、筆順（５０６）及び方向（５０８）を用いる。さらに、文字認識処理において、筆順（５０６）及び方向（５０８）を用いることで、認識された文字が画像（５０２）中の手書き文字と正しく合致するだろう。
【００６３】
図５Ｂは１つ又は複数の実施形態による例を示す。図５Ｂに示す通り、文字（図示しない）に対応する文字セグメント（５９９）が存在する。文字セグメント（５９９）は輪郭抽出装置によってビットマップイメージから抽出されたものである。文字セグメント（５９９）は２つの端点：端点Ａ（５９７）及び端点Ｂ（５９５）を含む。端点Ａ（５９７）は端点Ｂ（５９５）よりも筆幅が大きい。端点Ａ（５９７）は端点Ｂ（５９５）よりも明度が暗い。したがって、端点Ａ（５９７）は開始端点であるはずで、端点Ｂ（５９５）は終了端点であるはずである。したがって、筆幅及び／又は明度を用いて、文字セグメント（５９９）の方向が左から右であるということが決定される。筆幅及び／又は明度は輪郭抽出装置から供給される。
【００６４】
さらに図５Ｂを参照すると、文字セグメントＡ（５８９）と文字セグメントＢ（５８７）も存在している。双方の文字セグメント（５８７、５８９）ともに輪郭抽出装置によってビットマップイメージから抽出されたものである。図５Ｂに示す通り、文字セグメントＡ（５８９）と文字セグメントＢ（５８７）は交差している。交差点のテクスチャプロパティ（５８５）はセグメントＡのテクスチャプロパティ（５８１）よりも文字セグメントＢのテクスチャプロパティ（５８３）により合致している。このことによって、文字セグメントＢ（５８７）が文字セグメントＡ（５８９）の上にあり、文字セグメントＡ（５８９）は文字セグメントＢ（５８７）の前に書かれたということが示唆される。換言すると、文字セグメント（５８７、５８９）の筆順はテクスチャプロパティに基づいて決定される。これらのテクスチャプロパティは文字セグメント（５８７、５８９）を抽出した輪郭抽出装置から供給されうる。
【００６５】
本発明の多様な実施形態は、次の利点を１つ又は複数有しうる：筆幅及び／又は明度に基づいて文字セグメントのセットの方向を決定できること；テクスチャプロパティに基づいて文字セグメントのセットの筆順を決定できること；文字セグメントのセットの筆記時間を決定できること；画像中の文字に正しく合致する認識された文字をＩＣＲが出力する見込みを高められること；認識された文字の出力に必要な時間を短縮できること；２つの文字セグメントの筆順が正しいかどうかテストできること；異なる文字セグメントに一定速度又は異なる速度を割り当てられること；等。
【００６６】
用いられるプラットフォームに関わらず、本発明の実施形態はほとんどどのような種類の演算システムにも備えられる。例えば、演算システムは１つ又は複数の携帯装置（例えば、ノートパソコン、スマートフォン、パーソナルデジタルアシスタント、タブレット、その他の携帯装置）、デスクトップコンピュータ、サーバー、サーバシャーシのブレード、又は本発明の１つ又は複数の実施形態を実行するために少なくとも最小限の処理能力、メモリ及び入出力装置を備えたその他任意の種類の１つ又は複数の演算装置とされうる。例えば、図６に示すように、演算装置（６００）は、１つ又は複数のコンピュータープロセッサー（６０２）、関連メモリ（６０４）（例えば、ランダムアクセスメモリ（ＲＡＭ）、キャッシュメモリ、フラッシュメモリ等）、１つ又は複数の記憶装置（６０６）（例えば、ハードディスク、コンパクトディスク（ＣＤ）ドライブやデジタル多用途ディスク（ＤＶＤ）ドライブなどの光学ドライブ、フラッシュメモリスティック等）、その他多くの要素や機能を有しうる。コンピュータープロセッサー（６０２）は命令を処理するための集積回路であってもいい。例えば、コンピュータープロセッサーは、プロセッサーの１つ又は複数のコアやマイクロコアであっていい。また、演算システム（６００）はタッチスクリーン、キーボード、マウス、マイク、タッチパッド、電子ペン、その他任意の種類の入力装置などの１つ又は複数の入力装置（６１０）をも備えうる。さらに、演算システム（６００）は画面（例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、タッチスクリーン、ブラウン管（ＣＲＴ）モニター、プロジェクター、その他表示装置）、プリンター、外部記憶又はその他の任意の出力装置などの１つ又は複数の出力装置（６０８）を備えうる。１つ又は複数の出力装置は入力装置と同じであっても異なっていてもいい。演算装置（６００）は、ネットワークインターフェース接続（図示しない）を介してネットワーク（６１２）（例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、モバイルネットワーク又はその他任意のネットワーク）に接続されうる。入出力装置は、ローカルもしくはリモートで（例えば、ネットワーク（６１２）を通じて）コンピュータープロセッサー（６０２）、メモリ（６０４）及び記憶装置（６０６）に接続されうる。多くの異なる演算システムが存在しており、前述の入出力装置は他の形態をとりうる。
【００６７】
本発明の実施形態を実施するためのコンピューター可読プログラムコードの形態のソフトウェア命令は、その全体又は一部を、一時的又は恒常的に、ＣＤ、ＤＶＤ、記憶装置、ディスケット、テープ、フラッシュメモリ、物理メモリ又はその他任意のコンピューター可読記憶媒体などの非一時的なコンピューター可読媒体に保存しうる。具体的には、ソフトウェア命令は、プロセッサーによって実行される際に、本発明の実施形態を実施するために構成されるコンピューター可読プログラムコードに対応しうる。
【００６８】
さらに、上記の演算システム（６００）の１つまたは複数の要素は、遠隔地に置かれ、ネットワーク（６１２）を通じて他の要素に接続されていい。さらに、本発明の１つ又は複数の実施形態は、複数のノードを有する分散型システムに備えられ、分散型システム中の異なるノードに発明の各部が位置してもいい。本発明の実施形態において、ノードは別個の演算装置に対応する。あるいは、ノードは関連の物理メモリを有するコンピュータープロセッサーに対応しうる。ノードは、あるいは、共有メモリ及び／又はリソースを有するコンピュータープロセッサー又はコンピュータープロセッサーのマイクロコアに対応しうる。
【００６９】
限られた数の実施形態について本発明の説明がなされたが、この開示情報によって、ここで開示された発明の範囲から逸脱させることなく他の実施形態が案出されうることは、当業者に理解されるだろう。したがって、本発明の範囲は添付の請求項によってのみ限定されるものである。
【図１】
2018152059.tif 000003
【図２】
2018152059.tif 000004
【図３】
2018152059.tif 000005
【図４Ａ】
2018152059.tif 000006
【図４Ｂ】
2018152059.tif 000007
【図５Ａ】
2018152059.tif 000008
【図５Ｂ】
2018152059.tif 000009
【図６】
2018152059.tif 000010
【外国語明細書】
2018152059000001.pdf
2018152059000002.pdf
2018152059000003.pdf
2018152059000004.pdf