(57)【特許請求の範囲】
【請求項１】
装置の処理手段がプログラム命令を実行することにより、前記装置が遂行する方法であって：
重なった手書き入力を構成する一連のストロークを受け取ることと；
複数のストロークの各々につき、プロセッサによって、前記一連のストロークの性質に基づいて現在のストロークに関連する複数の特徴を決定することと；
前記ストロークに関連する特徴に基づき、前記一連のストロークを一つ又は複数のストロークグループにグループ分けすること、ただし前記ストロークグループの各々は文字の一つ又は文字の部分であるが、どのストロークグループも、一つより多い文字からのストロークを含まない、前記グループ分けすることと；
前記ストロークグループの少なくとも何れかを表示すること、ただし前記表示されるストロークグループの各々が有する少なくとも一つの属性は、該ストロークグループに属するストロークが受け取られた順番に応じて、段階的かつ視覚的に区別可能であるように決定され、現在のストロークを含むストロークグループが有する属性の強度が最大である、前記表示することと；
を含む、方法。
【請求項２】
前記一連のストロークがグループ分けされた一つ又は複数のストロークグループに基づいて、前記一連のストロークを一つ又は複数の文字にグループ分けすることをさらに含む、請求項１に記載の方法。
【請求項３】
前記属性は色または輝度であり、前記属性の強度はそれぞれ、色の濃度または輝度の大きさである、請求項１又は２に記載の方法。
【請求項４】
前記現在のストロークに関連する前記複数の特徴を規格化することを含む、請求項１から３のいずれかに記載の方法。
【請求項５】
前記複数の特徴を規格化することは、前記一連のストロークの全体の寸法に基づいて前記複数の特徴を規格化することを含む、請求項４に記載の方法。
【請求項６】
前記複数の特徴を決定することは、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、直前のストロークを含む最小の矩形を含むグループから選択された複数の特徴を決定することを含む、請求項１から５のいずれかに記載の方法。
【請求項７】
前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、後続のストロークの各々が受け取られたことに続いて繰り返される、請求項１から６のいずれかに記載の方法。
【請求項８】
前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、複数のストロークが受け取られたことに続いて実行される、請求項１から６のいずれかに記載の方法。
【請求項９】
前記現在のストロークに関連する複数の特徴を決定することは、前記一連のストロークの幾何学的特性だけに基づいて、前記現在のストロークに関連する複数の特徴を決定することを含む、請求項１から８のいずれかに記載の方法。
【請求項１０】
少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリとを備える装置であって、前記コンピュータプログラムコードは、前記少なくとも一つのプロセッサによって実行されると、前記装置に動作を実行させるように構成され、前記動作は少なくとも：
重なった手書き入力を構成する一連のストロークを受け取ることと；
複数のストロークの各々につき、前記一連のストロークの幾何学的性質に基づいて現在のストロークに関連する複数の特徴を決定することと；
前記ストロークに関連する特徴に基づき、前記一連のストロークを一つ又は複数のストロークグループにグループ分けすること、ただし前記ストロークグループの各々は文字の一つ又は文字の部分であるが、どのストロークグループも、一つより多い文字からのストロークを含まない、前記グループ分けすることと；
前記ストロークグループの少なくとも何れかを表示すること、ただし前記表示されるストロークグループの各々が有する少なくとも一つの属性は、該ストロークグループに属するストロークが受け取られた順番に応じて、段階的かつ視覚的に区別可能であるように決定され、現在のストロークを含むストロークグループが有する属性の強度が最大である、前記表示することと；
を含む、装置。
【請求項１１】
前記動作は、前記一連のストロークがグループ分けされた一つ又は複数のストロークグループに基づいて、前記一連のストロークを一つ又は複数の文字にグループ分けすることをさらに含む、請求項１０に記載の装置。
【請求項１２】
前記属性は色または輝度であり、前記属性の強度はそれぞれ、色の濃度または輝度の大きさである、請求項１０または１１に記載の装置。
【請求項１３】
前記動作は、前記現在のストロークに関連する前記複数の特徴を規格化することをさらに含む、請求項１０から１２のいずれかに記載の装置。
【請求項１４】
前記複数の特徴を規格化することは、前記一連のストロークの全体の寸法に基づいて前記複数の特徴を規格化することを含む、請求項１３に記載の装置。
【請求項１５】
前記複数の特徴を決定することは、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、直前のストロークを含む最小の矩形を含むグループから選択された複数の特徴を決定することを含む、請求項１０から１４のいずれかに記載の装置。
【請求項１６】
前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、後続のストロークの各々が受け取られたことに続いて繰り返される、請求項１０から１５のいずれかに記載の装置。
【請求項１７】
前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、複数のストロークが受け取られたことに続いて実行される、請求項１０から１５のいずれかに記載の装置。
【請求項１８】
前記現在のストロークに関連する複数の特徴を決定することは、前記一連のストロークの幾何学的特性だけに基づいて、前記現在のストロークに関連する複数の特徴を決定することを含む、請求項１０から１７のいずれかに記載の装置。
【請求項１９】
重なった手書き入力を構成する一連のストロークを受け取る手段；
複数のストロークの各々につき、前記一連のストロークの幾何学的性質に基づいて現在のストロークに関連する複数の特徴を決定する手段；
前記ストロークに関連する特徴に基づき、前記一連のストロークを一つ又は複数のストロークグループにグループ分けする手段、ただし前記ストロークグループの各々は文字の一つ又は文字の部分であるが、どのストロークグループも、一つより多い文字からのストロークを含まない、前記グループ分けする手段；
前記ストロークグループの少なくとも何れかを表示する手段、ただし前記表示されるストロークグループの各々が有する少なくとも一つの属性は、該ストロークグループに属するストロークが受け取られた順番に応じて、段階的かつ視覚的に区別可能であるように決定され、現在のストロークを含むストロークグループが有する属性の強度が最大である、前記表示する手段；
を備える装置。
【請求項２０】
前記一連のストロークがグループ分けされた一つ又は複数のストロークグループに基づいて、前記一連のストロークを一つ又は複数の文字にグループ分けする手段をさらに含む、請求項１９に記載の装置。
【請求項２１】
前記属性は色または輝度であり、前記属性の強度はそれぞれ、色の濃度または輝度の大きさである、
請求項１９又は２０に記載の装置。
【請求項２２】
前記現在のストロークに関連する前記複数の特徴を規格化する手段を含む、請求項１９から２１のいずれかに記載の装置。
【請求項２３】
前記複数の特徴を規格化する手段は、前記一連のストロークの全体の寸法に基づいて前記複数の特徴を規格化する手段を含む、請求項２２に記載の装置。
【請求項２４】
前記複数の特徴を決定する手段は、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、直前のストロークを含む最小の矩形を含むグループから選択された複数の特徴を決定する手段を含む、請求項１９から２３のいずれかに記載の装置。
【請求項２５】
前記複数の特徴を決定する手段及び前記一連のストロークをグループ分けする手段は、後続のストロークの各々が受け取られたことに続いて繰り返して動作する、請求項１９から２４のいずれかに記載の装置。
【請求項２６】
前記複数の特徴を決定する手段及び前記一連のストロークをグループ分けする手段は、複数のストロークが受け取られたことに続いて動作する、請求項１９から２４のいずれかに記載の装置。
【請求項２７】
前記現在のストロークに関連する複数の特徴を決定する手段は、前記一連のストロークの幾何学的特性だけに基づいて、前記現在のストロークに関連する複数の特徴を決定する手段を含む、請求項１９から２６のいずれかに記載の装置。
【請求項２８】
コンピュータ実行可能なコードを含むコンピュータプログラムであって、前記コンピュータ実行可能なコードは、装置のプロセッサを用いてによって実行されると、前記装置に動作を実行させ、前記動作は少なくとも：
重なった手書き入力を構成する一連のストロークを受け取ることと；
複数のストロークの各々につき、前記一連のストロークの幾何学的性質に基づいて現在のストロークに関連する複数の特徴を決定することと；
前記ストロークに関連する特徴に基づき、前記一連のストロークを一つ又は複数のストロークのグループにグループ分けすること、ただし前記ストロークのグループの各々は文字の一つ又は文字の部分であるが、どのストロークのグループも、一つより多い文字からのストロークを含まない、前記グループ分けすることと；
前記ストロークグループの少なくとも何れかを表示すること、ただし前記表示されるストロークグループの各々が有する少なくとも一つの属性は、該ストロークグループに属するストロークが受け取られた順番に応じて、段階的かつ視覚的に区別可能であるように決定され、現在のストロークを含むストロークグループが有する属性の強度が最大である、前記表示することと；
を含む、コンピュータプログラム。
【請求項２９】
前記動作は、前記一連のストロークがグループ分けされた一つ又は複数のストロークのグループに基づいて、前記一連のストロークを一つ又は複数の文字にグループ分けすることをさらに含む、請求項２８に記載のコンピュータプログラム。
【請求項３０】
前記属性は色または輝度であり、前記属性の強度はそれぞれ、色の濃度または輝度の大きさである、
請求項２８又は２９に記載のコンピュータプログラム。
【請求項３１】
前記動作は、前記現在のストロークに関連する前記複数の特徴を規格化することを含む、請求項２８から３０のいずれかに記載のコンピュータプログラム。
【請求項３２】
前記動作は、前記複数の特徴を規格化するためのプログラム命令は、前記一連のストロークの全体の寸法に基づいて前記複数の特徴を規格化することを含む、請求項３１に記載のコンピュータプログラム。
【請求項３３】
前記複数の特徴を決定することは、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、直前のストロークを含む最小の矩形を含むグループから選択された複数の特徴を決定することを含む、請求項２８から３２のいずれかに記載のコンピュータプログラム。
【請求項３４】
前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、後続のストロークの各々が受け取られたことに続いて繰り返される、請求項２８から３３のいずれかに記載のコンピュータプログラム。
【請求項３５】
前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、複数のストロークが受け取られたことに続いて実行される、請求項２８から３３のいずれかに記載のコンピュータプログラム。
【請求項３６】
前記現在のストロークに関連する複数の特徴を決定することは、前記一連のストロークの幾何学的特性だけに基づいて、前記現在のストロークに関連する複数の特徴を決定することを含む、請求項２８から３５のいずれかに記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の例示的実施形態は、重なった手書き文字の処理に関し、より具体的には、重なった手書き入力を構成する一連のストロークを一つ又は複数のストロークグループにグループ分けすることに関する。
【背景】
【０００２】
様々な種類のデバイスが、タッチスクリーンやその他の入力デバイスを介して手書き入力をキャプチャ又は受け入れている。例えば、いくつものコンピュータやタブレット、携帯電話、PDAなどのような電子機器がタッチスクリーン備え、例えば手書き入力のような触覚入力をユーザが行うことを可能にしている。手書き入力は電子デバイスによってキャプチャされ、手書き文字認識のために処理され、電子機器のさらなるアクションが行われる。例えば手書き入力の表現が保存されたり送信されたりする。
【０００３】
文字認識を容易にするため、手書き入力は通常、例えば文字や数字、その他の記号などの異なる文字にグループ分けされる。手書き入力をグループ分けする技術はいくつか存在する。ある技術は、入力された文字の間の時間間隔を利用する。この技術では、タッチスクリーンなどのユーザインタフェースは、単一の手書き領域しか有さないことを必要とする。ユーザは手書き領域に文字を一つだけ書く。所定の時間が経過すると文字が機器に受け取られ、手書き領域がクリアされて、次の文字を受け入れることは可能になる。したがって、個々の文字の入力の間の時間が手書き文字をグループ分けすることを可能にする。
【０００４】
ユーザインタフェースが二つ又はそれ以上の手書き領域（例えば二つ又はそれ以上タッチスクリーン）を有している場合がある。ユーザは複数の手書き領域のいずれかに文字を一つだけ書き、別の手書き領域に移動して別の文字を書く。手書き領域のいずれかにユーザが文字を書いている間、既に文字が入力された他の手書き領域から文字が受け取られて処理され、その手書き領域はクリアされて次の入力を受け取ることができるように準備される。この場合、手書き領域を移動することが手書き文字をグループ化することを助ける。
【０００５】
別の技術では、単一ではあるが比較的大きな手書き領域を使用する。ユーザは複数の文字を次から次へと連続的に、まるで紙に文字を書くように記入することができる。この技術は、手書き入力を適切にグループ分けするために、記入された文字の間に置かれた空間的な間隔や原理的な知識などを利用する。
【０００６】
さらに別の技術では、ユーザは単一の手書き領域に、複数の文字を連続的に、しかも文字と文字の間に間隔を置かずに重ねて書くことができる。原理的な知識を利用して、重なった文字をグループ分けして一つの文字を他の文字から分離することができるであろう。しかしながら、その認識処理は上述の他の技術に比べて極めて複雑である。最尤推定の手法により、認識処理は、エラーを含むものの、一連のストロークを文字にグループ分けすることができる。認識処理は極めて計算負荷が高く、特に小さなデバイスにとってはリアルタイム処理は非常にチャレンジのである。
【０００７】
手書きを重ねて連続的に行う技術は、ユーザの指やスタイラスを用いて手書き入力を連続的に受け入れるために、比較的小さなユーザインタフェースを使うことしか可能にしていない。手書き入力は、一度に一つの文字しか入力しないものに比べて、比較的早くデバイスに提供される。しかしながら、手書き入力を重ねて連続的に行うことは、グループ分けやユーザとの相互作用に関して困難なタスクである。手書きを重ねて連続的に行うことは、重なった手書き文字を効率的にグループ分けしてある文字を他の文字から区別することについて難しい問題をもたらす。特に、通常の連続的な手書き入力が書かれた文字の間に空間的な間隔を有することに比べて、非常に困難である。さらに、複数の文字が重なっていると、重なっている文字により背景がクリアではなくなり混乱してしまっているかもしれず、ユーザも現在書いている文字を明確に見ることができなくなり、ユーザにとっても困難をもたらす可能性がある。
【摘要】
【０００８】
手書き入力を構成する一連のストロークをグループ分けする例示的実施形態に従い、方法、装置、コンピュータプログラム製品が提供される。このグループ分けは、一つ又は複数の文字へとグループ分けする前に実行されてもよく、そして実際、個々のストロークのグループは文字であるかもしれないが文字の一部であるかもしれない。しかし、どのような場合でも、ストロークのグループは一つより多くの文字を含むことがない。一連のストロークを一つ又は複数のストロークのグループにグループ分けすることにより、それに続いて一連のストロークを一つ又は複数の文字にグループ化することが効率的になる。加えて、重なった手書き入力を受け入れている間、既に入力された一つ又は複数のストロークグループは視覚的に見易くない形で表示され、直近に入力したストロークをユーザがよりはっきりと見ることを可能にする。
【０００９】
ある実施形態によれば、重なった手書き入力を構成する一連のストロークを受け取ると共に、複数のストロークの各々につき、プロセッサによって、前記一連のストロークの幾何学的性質に基づいて現在のストロークに関連する複数の特徴を決定する方法が提供される。この実施形態の方法はまた、前記ストロークに関連する特徴に基づき、前記一連のストロークを一つ又は複数のストロークのグループにグループ分けする。前述のように、前記ストロークのグループの各々は文字の一つ又は文字の部分であるが、どのストロークのグループも、一つより多い文字からのストロークを含まない。
【００１０】
ある実施形態の方法は、前記一連のストロークがグループ分けされた一つ又は複数のストロークのグループに基づいて、前記一連のストロークを一つ又は複数の文字にグループ分けすることをさらに含んでもよい。それによって、ストロークのシリーズが文字にグループ分けされるときの効率が改善する。ある例示的実施形態によれば、前記方法は、前記一連のストロークの幾何学的特性だけに基づいて前記現在のストロークに関連する複数の特徴を決定することにより、前記現在のストロークに関連する複数の特徴を決定してもよい。実施形態によっては、前記方法は、少なくとも一つのグループが少なくとも一つの他のグループから視覚的に区別されるように表示されるように、前記グループの少なくともいずれかを表示することを生じさせてもよい。それによって、重なった手書き入力の表示イメージは複雑さが減少し、ユーザが例えば直近のストロークを見ることが容易になる。
【００１１】
実施形態によっては、前記方法は、前記現在のストロークに関連する前記複数の特徴を規格化する。これに関し、前記複数の特徴は、一連のストロークの全体の寸法に基づいて規格化されてもよい。前記現在のストロークに関連する前記複数の特徴を決定するにおいて、該複数の特徴は、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、直前のストロークを含む最小の矩形を含むグループから選択されてもよい。
【００１２】
前記方法はインクリメンタルモード又はバッチモードで動作してもよい。インクリメンタルモードでは、前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、後続のストロークの各々が受け取られたことに続いて繰り返される。バッチモードでは、前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、複数のストロークが受け取られたことに続いて繰り返される。
【００１３】
別の実施例では、少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリとを備える装置であって、前記少なくとも一つのメモリ及び前記コンピュータプログラムコードは、前記少なくとも一つのプロセッサを用いて、前記装置に少なくとも、重なった手書き入力を構成する一連のストロークを受け取ることと；複数のストロークの各々につき、前記一連のストロークの幾何学的性質に基づいて現在のストロークに関連する複数の特徴を決定することと；を実行させるように構成される。この実施形態の前記少なくとも一つのメモリ及び前記コンピュータプログラムコードは、前記少なくとも一つのプロセッサを用いて、前記装置に、前記ストロークに関連する特徴に基づき、前記一連のストロークを一つ又は複数のストロークのグループにグループ分けすることを実行させるように構成される。前述のように、前記ストロークのグループの各々は文字の一つ又は文字の部分であるが、どのストロークのグループも、一つより多い文字からのストロークを含まない。
【００１４】
ある実施形態における、前記装置の少なくとも一つのメモリ及びコンピュータプログラムコードは、前記少なくとも一つのプロセッサを用いて、前記装置に、前記一連のストロークがグループ分けされた一つ又は複数のストロークのグループに基づいて、前記一連のストロークを一つ又は複数の文字にグループ分けすることを実行させるように構成されてもよい。それによって、ストロークのシリーズが文字にグループ分けされるときの効率が改善する。ある例示的実施形態における、前記装置の少なくとも一つのメモリ及びコンピュータプログラムコードは、前記少なくとも一つのプロセッサを用いて、前記装置に、前記一連のストロークの幾何学的特性だけに基づいて前記現在のストロークに関連する複数の特徴を決定させることにより、前記現在のストロークに関連する複数の特徴を決定させるように構成されてもよい。実施形態によっては、前記装置の少なくとも一つのメモリ及びコンピュータプログラムコードは、前記少なくとも一つのプロセッサを用いて、前記装置に、少なくとも一つのグループが少なくとも一つの他のグループから視覚的に区別されるように表示されるように、前記グループの少なくともいずれかを表示することを生じさせてもよい。それによって、重なった手書き入力の表示イメージは複雑さが減少し、ユーザが例えば直近のストロークを見ることが容易になる。
【００１５】
実施形態によっては、前記装置の少なくとも一つのメモリ及びコンピュータプログラムコードは、前記少なくとも一つのプロセッサを用いて、前記装置に、前記現在のストロークに関連する前記複数の特徴を規格化させる。これに関し、前記複数の特徴は、一連のストロークの全体の寸法に基づいて規格化されてもよい。前記現在のストロークに関連する前記複数の特徴を決定するにおいて、該複数の特徴は、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、直前のストロークを含む最小の矩形を含むグループから選択されてもよい。
【００１６】
ストロークの分析はインクリメンタルモード又はバッチモードで動作してもよい。インクリメンタルモードでは、前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、後続のストロークの各々が受け取られたことに続いて繰り返される。バッチモードでは、前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、複数のストロークが受け取られたことに続いて繰り返される。
【００１７】
さらに別の実施形態では、重なった手書き入力を構成する一連のストロークを受け取る手段と、複数のストロークの各々につき、前記一連のストロークの幾何学的性質に基づいて現在のストロークに関連する複数の特徴を決定する手段とを備える装置が提供される。この実施形態の装置はまた、前記ストロークに関連する特徴に基づき、前記一連のストロークを一つ又は複数のストロークのグループにグループ分けする手段を備える。前述のように、前記ストロークのグループの各々は文字の一つ又は文字の部分であるが、どのストロークのグループも、一つより多い文字からのストロークを含まない。
【００１８】
ある実施形態の装置は、前記一連のストロークがグループ分けされた一つ又は複数のストロークのグループに基づいて、前記一連のストロークを一つ又は複数の文字にグループ分けする手段をさらに含んでもよい。それによって、ストロークのシリーズが文字にグループ分けされるときの効率が改善する。ある例示的実施形態によれば、前記現在のストロークに関連する複数の特徴を決定する手段は、前記一連のストロークの幾何学的特性だけに基づいて前記現在のストロークに関連する複数の特徴を決定する手段を備えてもよい。実施形態によっては、前記装置は、少なくとも一つのグループが少なくとも一つの他のグループから視覚的に区別されるように表示されるように、前記グループの少なくともいずれかを表示することを生じさせる手段を備えてもよい。それによって、重なった手書き入力の表示イメージは複雑さが減少し、ユーザが例えば直近のストロークを見ることが容易になる。
【００１９】
実施形態によっては、前記装置は、前記現在のストロークに関連する前記複数の特徴を規格化する手段を含んでもよい。これに関し、前記複数の特徴は、一連のストロークの全体の寸法に基づいて規格化されてもよい。前記現在のストロークに関連する前記複数の特徴を決定するにおいて、該複数の特徴は、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、直前のストロークを含む最小の矩形を含むグループから選択されてもよい。
【００２０】
前記装置は、前記ストロークを、インクリメンタルモード又はバッチモードで分析してもよい。インクリメンタルモードでは、前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、後続のストロークの各々が受け取られたことに続いて繰り返される。バッチモードでは、前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、複数のストロークが受け取られたことに続いて繰り返される。
【００２１】
さらなる別の実施形態では、コンピュータ実行可能なコード部分を格納する少なくとも一つのコンピュータ読み取り可能なメモリを備えるコンピュータプログラム製品が提供される。ここで前記コンピュータ実行可能なコード部分は、重なった手書き入力を構成する一連のストロークを受け取るためのプログラム命令と；複数のストロークの各々につき、前記一連のストロークの幾何学的性質に基づいて現在のストロークに関連する複数の特徴を決定するためのプログラム命令とを備える。この実施形態におけるコンピュータ実行可能なコード部分はさらに、前記ストロークに関連する特徴に基づき、前記一連のストロークを一つ又は複数のストロークのグループにグループ分けするためのプログラム命令を備える。前述のように、前記ストロークのグループの各々は文字の一つ又は文字の部分であるが、どのストロークのグループも、一つより多い文字からのストロークを含まない。
【００２２】
ある実施形態のコンピュータ実行可能なコード部分は、前記一連のストロークがグループ分けされた一つ又は複数のストロークのグループに基づいて、前記一連のストロークを一つ又は複数の文字にグループ分けするプログラムコード命令をさらに含んでもよい。それによって、ストロークのシリーズが文字にグループ分けされるときの効率が改善する。ある例示的実施形態におけるコンピュータ実行可能なコード部分は、前記一連のストロークの幾何学的特性だけに基づいて前記現在のストロークに関連する複数の特徴を決定することによって、前記現在のストロークに関連する複数の特徴を決定するプログラムコード命令を含んでもよい。実施形態によっては、前記コンピュータ読み取り可能なコード部分は、少なくとも一つのグループが少なくとも一つの他のグループから視覚的に区別されるように表示されるように、前記グループの少なくともいずれかを表示することを生じさせるプログラムコード命令を備えてもよい。それによって、重なった手書き入力の表示イメージは複雑さが減少し、ユーザが例えば直近のストロークを見ることが容易になる。
【００２３】
実施形態によっては、前記コンピュータ読み取り可能なコード部分は、前記現在のストロークに関連する前記複数の特徴を規格化するためのプログラムコード命令を含んでもよい。これに関し、前記複数の特徴は、一連のストロークの全体の寸法に基づいて規格化されてもよい。前記現在のストロークに関連する前記複数の特徴を決定するにおいて、該複数の特徴は、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、直前のストロークを含む最小の矩形を含むグループから選択されてもよい。
【００２４】
前記コンピュータプログラム製品は、前記ストロークを、インクリメンタルモード又はバッチモードで分析してもよい。インクリメンタルモードでは、前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、後続のストロークの各々が受け取られたことに続いて繰り返される。バッチモードでは、前記複数の特徴を決定すること及び前記一連のストロークをグループ分けすることは、複数のストロークが受け取られたことに続いて繰り返される。
【図面の簡単な説明】
【００２５】
本明細書の開示事項のある例示的な実施形態を一般的に説明してきたが、ここで添付の図面を参照する。なお図面のスケールは正確であるとは限らない。
【００２６】
【図１】重なった手書き入力を例示したものである。四つの文字が重なっている。
【００２７】
【図２】本発明の例示的実施形態に従う装置のブロック図である。
【００２８】
【図３】本発明の例示的実施形態に従い実行される処理の機能ブロック図である。
【００２９】
【図４】本発明の例示的実施形態に従い実行される処理を描いたフローチャートである。
【００３０】
【図５】重なった手書き入力を描いており、本発明の例示的実施形態に従い、３つの連続的なストロークの特徴が認識されている。
【００３１】
【図６】本発明の例示的実施形態に従って、図１の重なった手書き入力を処理して四つの文字を認識する手法を描いたものである。
【００３２】
【図７】本発明の例示的実施形態である増分モード（incremental mode）に従い実行される処理を描いたフローチャートである。
【００３３】
【図８】本発明の例示的実施形態であるバッチモード（batch mode）に従い実行される処理を描いたフローチャートである。
【詳細な説明】
【００３４】
以下、添付図面を参照して本発明のいくつかの実施形態をより詳細に説明する。なお本発明の全ての実施形態が紹介されるわけではない。実際、本発明は様々な形態で実施されることができるので、本発明の実施形態がここで紹介される実施形態に限定されると考えてはならない。むしろここで紹介される実施形態は、本明細書が法的な要件を充足するために紹介されるものである。本明細書および図面を通じて同様の符号は同様の要素を表す。本明細書で使用されるとき、"データ"や"コンテンツ"、"情報"又は同様の用語は、本発明の実施形態において送信されたり受信されたり、保存されたりしうるデータを言い表すために互いに代替しうるように使用される。このため、このような用語が本発明の実施形態の範囲や技術思想を制限するものと考えてはならない。
【００３５】
また、本明細書において「回路網（circuitry）」との用語は、（ａ）ハードウェアのみにより実装される回路（例えばアナログ回路及び／又はデジタル回路による実装）や、（ｂ）一つ又は複数のコンピュータ読み取り可能なメモリに記録されるソフトウェア及び／又はファームウェアと回路との組合せであって、本明細書に記載の一つ又は複数の機能を協働して装置に実行させる組み合わせ、（ｃ）例えば一つ又は複数のマイクロプロセッサや、一つ又は複数のマイクロプロセッサの部分であるような、一つ又は複数の回路であって、動作するために、（たとえ物理的には存在しないものであっても）ソフトウェア又はファームウェアを必要とするような回路、を言い表す。「回路網（circuitry）」のこの定義は、本明細書及び特許請求の範囲の全体にわたって適用されるべきものである。更なる例として、本明細書で使用されるとき、「回路網（circuitry）」との用語は、一つ又は複数のプロセッサ及び／又はこれらの一つ又は複数の部分と、これらに付随するソフトウェア及び／又はファームウェアを含む実装を含む。更なる例として、本明細書で使用されるとき、「回路網（circuitry）」との用語は、例えば、携帯電話におけるベースバンドＩＣやアプリケーションプロセッサＩＣ、サーバやセルラネットワークデバイス、その他のネットワークデバイス、及び／又はその他のコンピューティングデバイスにおける同様のＩＣを含む。
【００３６】
本明細書において"コンピュータ読み取り可能な記憶媒体"との用語は、一時的な記憶媒体ではない物理的な記憶媒体を言い表し、例えば揮発性又は非揮発性の記憶デバイスであり、電磁信号を言い表す"コンピュータ読み取り可能な送信媒体"からは区別されうるものである。
【００３７】
図１に描かれるように、手書き入力はタッチスクリーンのようなユーザインタフェースを介して入力されることができる。手書き入力は連続的に重ねて行うことができる。すなわち、文字と文字の間に空間的又は時間的な分離は存在しない。この点につき、図１の例は、四つの文字が連続的に重なりあった状態を図示している。これら四つの文字は、それぞれ図１の下部に符号１００で示される文字である。この点につき、表示１０２は最初の文字の入力を描いたものであり、表示１０４は最初の文字入力と２番目の文字入力とが重なりあった状態を描いたものであり、表示１０６は最初の文字と次の文字、及び３番目の文字が重なりあった状態を描いており、表示１０８は、四つ全ての文字の入力が重なりあった状態を描いている。
【００３８】
重なりあった手書き入力は、ユーザにユーザインタフェースを十分に利用することを許す。これは、比較的小さく低解像度のタッチスクリーンにおいて、手書き入力を行うために指を使うユーザにとって特に有用である。さらに、重なりあった手書き入力を使用することは、手書き入力を受け取るためにどちらかといえば自然な技術であり、また速度の速い技術でもある。図１において、前に書いた文字に次の文字が重ね合わせられると混雑さが増していくことから理解されうるように、手書き入力において手書き入力の重ね合わせを用いることは、複数の文字のグループ化に関して難関をもたらす。さらに、手書き入力を重ねることは、他の重なっているいくつもの文字を重ねて同時に表示することの結果として、ユーザが現在書いている文字や直前に書いた文字を見ることをどちらかといえば困難にするかもしれない。そこで、本発明の例示的実施形態に従い、重なった手書き入力を予めグループ分けする技術が提供される。
【００３９】
予めグループ化されているかもしれない、重なった手書き文字は、例えばタッチスクリーンといったユーザインタフェースのような多種多様な入力デバイスによって提供される。それだけでなく、入力デバイスは、様々な種類の電子機器によって実現されてもよく、また、様々な種類の電子機器の部分を構成していてもよい。例えば図２は、本発明の例示的実施形態を実装しうる携帯端末１０のブロック図を描いている。ただし、携帯端末１０は、本明細書において、本発明の実施形態から利益を得られるデバイスの種類の一つの例としてここに紹介され説明されるにすぎず、その他の多くの種類の携帯端末も、本発明の例示的実施形態を容易に採用可能である。そのような携帯端末には、例えばＰＤＡや携帯電話、ポケットベル、携帯テレビ、ゲーム機、ラップトップコンピュータ、カメラ、ビデオデコーダ、音楽／ビデオプレーヤ、ラジオ、ＧＰＳデバイスなどの測位デバイス、これらのいずれか一つ以上組み合わせ、その他の種類の音声やテキストの通信システムなどが存在する。
【００４０】
携帯端末１０は、送信機１４及び受信機１６と協働するアンテナ１２又は複数のアンテナを備えてもよい。携帯電話１０はさらに、送信機１４及び受信機１６との間でそれぞれ信号を提供したり信号を受信したりするような、プロセッサ２０のような装置を備えてもよい。この信号には、使用可能なセルラシステムの無線インタフェース規格に従うシグナリング情報や、ユーザのスピーチ、受信したデータ及び／又はユーザ生成したデータが含まれる。この点につき、携帯端末１０は、一つ又は複数の無線インタフェース規格や通信プロトコル、変調タイプ、アクセスタイプで動作することが可能である。例ではあるが、携帯端末１０は、第一世代、第２世代、第３世代、第４世代、及び同様の通信プロトコルのうちいずれか一つ以上で動作することが可能である。例えば、携帯端末１０は、第２世代（２Ｇ）の無線通信プロトコルであるＩＳ−１３６や時分割多重アクセス（ＴＤＭＡ）、ＧＳＭ、ＩＳ−９５符号分割多重アクセス（ＣＤＭＡ）で動作することや、第３世代（３Ｇ）の無線通信プロトコルである例えばＵＭＴＳやＣＤＭＡ２０００、ＷＣＤＭＡ、ＴＤ−ＳＣＤＭＡで動作すること、また３．９Ｇの無線通信プロトコルであるＥ−ＵＴＲＡＮ、第４世代（４Ｇ）の無線通信プロトコル又は同様のもので動作することが可能であってもよい。これらとは別に、又は追加的に、携帯端末１０はセルラ通信機構ではない通信機構に従って動作することが可能であってもいる。例えば携帯端末１０は、無線ＬＡＮ（ＷＬＡＮ）やその他の通信ネットワークの通信機能を有していてもよい。
【００４１】
ある実施形態では、プロセッサ２０は、携帯端末１０の音声及びロジック機能を実装するのに適した回路網を備えていてもよい。例えばプロセッサ２０は、一つ又は複数のデジタル信号プロセッサ及び／又は一つ又は複数のマイクロプロセッサを備えていてもよい。プロセッサまた、一つ又は複数のＡ／Ｄコンバータや一つ又は複数のＤ／Ａコンバータ、及び／又はその他のサポート回路を備えていてもよい。携帯端末１０の制御及び信号処理機能は、それぞれの能力に従って、これらのデバイスの中に割り当てられている。プロセッサ２０は、変調して送信する前に、畳み込み的な符号化や、メッセージおよびデータのインタリーブを行う機能を有していてもよい。プロセッサ２０はさらに、音声符号器やデータモデムを内蔵していてもよい。プロセッサ２０はさらに、メモリに格納されていてもよい一つ又は複数のソフトウェアプログラムを動作させる機能を含んでいてもよい。例えばプロセッサ２０は、よく用いられているWebブラウザのような通信プログラムを動作させる機能を有していてもよい。通信プログラムは、携帯端末１０がWebコンテンツを送信したり受信したりすることを可能にする。そのようなWebコンテンツは、ロケーションベースのコンテンツであったり、例えばＷＡＰやＨＴＴＰなどに従うウェブページコンテンツであったりしてもよい。
【００４２】
携帯端末１０はまた、従来型の出力デバイスであるイヤホンまたはスピーカ２４や、リンガ２２、マイクロホン２６、ディスプレイ２８、またユーザ入力インタフェースのような入力デバイスを含むユーザインタフェースを備えていてもよく、これら全てがプロセッサ２０２接続される。ユーザインタフェースは携帯端末１０がデータを受信することを可能にし、また携帯端末１０がデータを受信することを可能にするデバイスをいくつも備えてもよい。そのようなデバイスには、例えばキーパッド３０、ディスプレイ２８で表されているようなタッチスクリーンディスプレイ、またその他の入力デバイスが存在する。キーパッド３０を含む実施形態では、キーパッドはよく用いられている０−９の数字キーや関連する＃，＊のようなキー、またその他のハードキーやソフトキーを備え、それらは携帯端末１０を操作するために使われてもよい。キーパッド３０はまた、それぞれ機能に関連付けられた多くのソフトキーを備えていてもよい。それに加えて、又は代替的に、携帯端末１０は、携帯端末１０を動作させるための様々な回路に電源を供給し、また現地可能な出力としての機械的な振動を提供する、振動バッテリパックのようなバッテリ３４を備えてもよい。
【００４３】
前述のように、ユーザ入力インタフェースは既知のいかなるタッチスクリーンディスプレイとして具現化されうるタッチスクリーンディスプレイ２８を含んでもよい。したがって、例えば、タッチスクリーンディスプレイ２８は、抵抗や容量、赤外線、歪みゲージ、表面波、光学イメージ、分散信号技術、音響パルス認識など、適当な技術により触知認識が可能なように構成されていてもよい。タッチスクリーンディスプレイ２８は、ユーザ入力を示す情報を受け取り、ユーザ入力の情報をプロセッサ２０に渡すように構成されていてもよい。
【００４４】
携帯端末１０はまた、ユーザ認識モジュール（ＵＩＭ）３８を備えていてもよい。ＵＩＭ３８は、典型的には内蔵のプロセッサを有するメモリデバイスである。ＵＩＭ３８には、例えば、加入者識別モジュール（ＳＩＭ）や、ＵＩＣＣカード、ＵＳＩＭ、Ｒ−ＵＩＭなどが含まれる。ＵＩＭ３８は、典型的に、携帯加入者に関する情報要素を格納する。ＵＩＭ３８に加えて携帯端末１０はメモリを備えていてもよい。例えば携帯端末１０は、データの一時的な保管のためのキャッシュ領域を備えるランダムアクセスメモリ（ＲＡＭ）のような揮発性メモリを備えていてもよい。携帯端末１０はまた、内蔵の及び／又は着脱可能な非揮発性メモリ４２を備えていてもよい。これらのメモリは、携帯端末１０の機能を実装するために携帯端末１０に使用されるいかなる数の情報片やデータを格納してもよい。例えばメモリは、携帯端末をユニークに識別可能な国際移動体装置識別コード（ＩＭＥＩコード）のような識別情報を格納していてもよい。さらにメモリは、セルＩＤ情報を決定するための命令を格納していてもよい。特にメモリは、プロセッサ２０により実行されるアプリケーションプログラムであって、携帯端末１０が通信中の現在セルの識別情報（例えばセルＩＤ識別子やセルＩＤ識別情報）を決定するアプリケーションプログラムを格納していてもよい。
【００４５】
入力デバイスの種類に関わらず、また入力デバイスを含む電子機器の種類に関わらず、重なった手書き入力は、図３に示される例示的実施形態に従って解析されてもよい。この実施形態では、重なった手書き情報は例えば図２のタッチスクリーンディスプレイ２８のようなタッチスクリーン１１０を介して受け取られる。手書き入力の個々のストロークは特徴抽出部１１２に渡されてもよく、そこでストロークに関連する一つ又は複数の特徴が、以下に説明されるように決定される。続いて、例えば分類部１１４において、現在のストロークは先行するストロークと同じストロークグループの一部であるか、又は他のストロークグループの部分であるかの決定が行われる。現在のストロークが属するグループを決定するために現在のストロークに関連する特徴を解析するために様々な分類手段が用いられてもよいが、共通の分類手段、例えばサポートベクターマシンや人工ニューラルネットワークのような共通の統計的分類手段が用いられてもよい。
【００４６】
図３に描かれるように、分類手段１１４は、グループ分けルール１１６を利用することにより、現在のストロークを分析する。グループ分けルール１１６は様々な方法で定められる。しかし、例示される実施形態では、連続した手書きストロークの様々な組み合わせを格納する手書きデータベース１１８が設けられる。手書きデータベース１１８に含まれるひとつながりのストロークの各々は特徴抽出１２０に渡され、そこで手書きデータベースに受けるひとつながりのストロークの各々は、ひとつながりのストロークに関連する特徴や、そのつながりを構成する個々のストロークの特徴を特定するために解析される。ある実施形態では、抽出され、手書きデータベース１１８の現在のストロークに関連付けられた特徴は、グループ分けルールを改善するためにトレーニング部１２２に渡される。この点につき、手書きデータベース１１８は、異なる人々によって書かれた異なる単語や文章の多くのサンプルを含んでいてもよい。単語や文章は、手動によって文字に分けられていてもよい。この文字への分離に基づいて、個々のストロークは、文字の最後のストロークであるか否かに分類される。それによってトレーニング部１２２は、ストロークが文字の最後のストロークであるか否かを決定するために考慮すべきパラメータを定義するグループ分けルールを確立するために、手書きデータベース１１８の中のストロークから学習する。以下に説明されるように、ストロークは、そのストロークの様々なパラメータに基づいて特徴ベクトル及びその特徴ベクトルの値により表現されてもよく、その後、グループ分けルール１１６に基づいて分類手段１１４によって決定されてもよい。分類手段はストロークを表現する特徴ベクトルの値を所定の閾値と比較し、当該ストロークが文字の最後のストロークであるか否かを決定してもよい。そして、手書きデータベース１１８の中の様々なストロークの全てに対して、ストロークの正しい分類という観点から最も高い成功率を提供するパラメータのセットを決定するように、トレーニング部１２２が役立てられてもよい。トレーニング部１２２に基づいて、グループ分けルール１１６が定義される。グループ分けルール１１６は、分類手段１１４が、手書きデータベースに格納される様々なストロークの組み合わせに基づいてストロークを分類するために利用しうるパラメータのセットを定義する。このパラメータのセットは、例えば、ひとつながりストロークに関連する特徴及び／又はそのつながりを構成する個々のストロークに関連する特徴に関する。現在のストロークから抽出された特徴に基づいて特徴ベクトルの値を所定の閾値と比較することにより、分類手段１１４は、現在のストロークが、先行するストロークと同じストロークグループの一部であるのか、別のストロークグループに属するものであるかを決定する。
【００４７】
目的はストロークを完全な文字にグループ分けすることであるので、グループ分けされたグループが文字の一部しか含んでいなかったり、グループ分けされたグループ二つ以上の文字からのストロークを含んでいたりすると、エラーが生じてもよい。グループ分けされたグループが後続の予備的グループ分けと組み合わされてもよいので、ある例示的実施形態の方法及び装置は、グループ分けされたグループが文字の一部しか含んでいないことに関連するどのようなエラーにも容易に対応して訂正することができてもよい。そこで、ある実施形態では、グループ分けされたグループが二つ以上の文字からのストロークを含む可能性を減らすように所定の閾値が調節されてもよい（例えば増やされてもよい）。
【００４８】
図３の例示的実施形態では、これらの処理は、トレーニングフェーズを構成する破線の上に存在する。したがって、これらの処理は予め実行されていてもよく、タッチスクリーン１１０が重なった手書き入力を受け取ったときに繰り返される必要は無い。しかし、実装フェーズ１２４を構成する破線の下の処理については、重なった手書き入力を受け取ったときに又は受け取ったことに続いて実行される。例えば、タッチスクリーン１１４の上に一つ又は複数のストロークが入力されたことに続いて実行される。
【００４９】
さらなる説明のために図４を参照する。図４は、本発明の例示的実施形態に従い装置が実行する処理を描いたものである。この装置は、例えば携帯端末１０によって利用されてもよい。しかしこの装置は他にも様々なデバイスとして具現化されてもよく、移動型でも固定型でもよく、例えば上述の如何なるデバイスとして具現化されてもよい。この装置は、プロセッサ２０やタッチスクリーンディスプレイ２８のようなユーザ入力インターフェースなどのような、一連のストロークを受け取る手段を有していてもよい（図４の処理１３０）。上述のように、受け取られる複数のストロークは重なった手書き入力を含んでおり、すなわち複数の文字が連続的に次々と書かれた手書き入力を含んでいる。個々のストロークについて複数の特徴が決定されてもよい（処理１３２）。この点につき、装置は、個々のストロークに関する複数の特徴を決定するための、例えばプロセッサ２０などの手段を備えていてもよい。本発明の例示的実施形態に従って、様々な特徴が決定されてもよい。しかしながら、ある実施形態では、現在のストロークのために決定される複数の特徴は、現在のストロークに関する特徴を含むと共に、その前の及びその後のストロークに関する特徴も決定される。この点につき、図５は現在のストローク２００，以前のストローク２１０，後のストローク２２０を含む、互いに重なった複数の手書き文字を描いている。
【００５０】
例として、現在のストロークのために決定される特徴には、現在のストロークの終点、現在のストロークの幾何学的中心、次のストロークの始点、次のストロークの幾何学的中心、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、前のストロークを含む最小の矩形を含んでもよい。特定の点または位置を定義する特徴は、一般的に、ｘ座標，ｙ座標などの座標のペアによって定義される。同様に、矩形やその他の２次元形状によって定義される特徴は、形の左右の座標及び上下の座標のような四つの特徴によって定義されてもよい。図５を参照して、ある例示的実施形態に従い現在の特徴から抽出された特徴は、符号２０４で示される現在のストロークの終点のｘｙ座標（endX, endY），符号２０６で示される現在のストロークの幾何学的中心（currentGCX, current GCY），符号２２２で示される次のストロークの始点（startX, startY），符号２２６で示される次のストロークの幾何学的中心（nextGCX, next GCY）、現在のストロークを含む最小の矩形、次のストロークを含む最小の矩形、前のストロークを含む最小の矩形を含んでもよい。図５において、それぞれの矩形は四つの特徴、つまり、左右上下に関連する座標によって定義されてもよい。例として、現在のストロークの最小矩形に関連する特徴は、図５において、currentLeft，currentRight，currentTop，currentBottomによって表されている。図５には符号２０２で示される現在のストロークの始点、符号２２４で示される次のストロークの終点、符号２１２及び２１４でそれぞれ示される前のストロークの始点及び終点といった他の点も示されている。これら他の点は本例示的実施形態において抽出されていないが、方向を示すために描かれている。
【００５１】
ストロークの幾何学的中心は様々な方法で定義されることができるが、ある例示的実施形態では、ストロークの幾何学的中心はストロークの全ての座標の平均座標で定義される。例として、終点｛(xi, yi), i=0...n-l｝を含むストロークの幾何学的中心（GCX, GCY）は次のように定義される。
GCX = sum (xi)/n, GCY=sum(yi)/n;   i=0... n-1 
【００５２】
複数の重なった文字や、文字を構成する対応するストロークは、それぞれ異なるサイズを有するかもしれず、小さく書かれたり大きく書かれたりするかもしれず、しかも同じ意味を伝えようとしているかもしれない。そこで装置は、考慮すべき現在のストロークから抽出された特徴を規格化する手段（例えばプロセッサ２０など）を備えていてもよい。この規格化は、例えば同じストロークのサイズによる違いの影響を除去することにより行われてもよい（図４の処理１３４参照）。ある実施形態では、規格化は、一連のストロークの全体の寸法に基づいて行われてもよい。これに関し、例えば図５に描かれるように、個々の手書きストロークを含む最小の矩形が定義されてもよい。これについて、全てのストロークを含む最小の矩形は、重なった手書き文字の左右上下に関連する座標によって定義されてもよい。この例示的実施形態において、全てのストロークを含む最小の矩形は、その一つの角が座標系の原点に位置し、２つの側面が座標軸に沿うようにされる。従って、全てのストロークを含む最小矩形は、全幅（totalWidth）と全高（totalHight）で簡単に表されてもよい。
【００５３】
ある実施形態において、上述の特徴は表１のように規格化されることができる。表１において、"Current"，"Next"，"Pre"のプレフィックスは、それぞれ現在、次、前のストロークに関連する特徴を表す。
【表１】
0005581448.tif 000002
【００５４】
ここで、CurrentStrokeEndX及びCurrentStrokeEndYはそれぞれ現在のストロークの終点のｘ座標及びｙ座標を規格化したものであり、NextStrokeStartX及びNextStrokeStartYは次のストロークの始点のｘ座標及びｙ座標を規格化したものであり、CurrentGCX及びCurrentGCYはそれぞれ現在のストロークの幾何学的中心のｘ座標及びｙ座標を規格化したものであり、NextGCX及びNextGCYはそれぞれ次のストロークの幾何学的中心のｘ座標及びｙ座標を規格化したものである。CurrentLeft，CurrentRight，CurrentTop，CurrentBottomは、それぞれ現在のストロークの左右上下の座標である。NextLeft，NextRight，NextTop，NextBottomは、それぞれ次のストロークの左右上下の座標である。PreLeft，PreRight，PreTop，PreBottomは、それぞれ前のストロークの左右上下の座標である。
【００５５】
ある実施形態では、現在のストロークから抽出された複数の特徴が組み合わされる。例えばプロセッサ２０によって特徴ベクトルに組み合わされる。解析中の現在のストロークが最初のストロークである場合、前のストロークは存在しないであろう。そのような場合、前のストロークに関する特徴は所定の当たり、例えば−１にセットされる。
【００５６】
現在のストロークのための複数の特徴が決定され、実施形態によってはこれら複数の特徴が規格化されると、一連のストロークが一つ又は複数のストロークのグループにグループ分けされる。このグループ分けが、ストロークに関連する特徴に基づいて行われる（図４の処理１３６参照）。従って装置は、一連のストロークを一つ又は複数のストロークのグループにグループ分けする、例えばプロセッサ２０のような手段を備えてもよい。上述のように、一連のストロークを一つ又は複数のストロークのグループにグループ分けすることは分類手段１１４によって行われてもよい。またそのための技術を後に詳細に説明する。装置はまた、一連のストロークを一つ又は複数の文字にグループ分けするための、例えばプロセッサ２０のような手段を備えてもよい（処理１３８参照）。文字のグループ分けは、上記一連のストロークが分類された、一つ又は複数のストロークのグループに基づいて行われてもよい。グループに基づいて文字へグループ分けすることは、様々な手法により行うことができる。そのような手法には、ストロークの特徴ベクトルを適切に評価するために分類手段１１４によって利用されるパラメータを定義する、グループ分けルール１１６や同様のものを利用する手法が含まれる。従って、ある例示的実施形態のプロセッサ２０は、図３に関連して上に説明された特徴抽出部１１２，分類手段１１４，グループ分けルール１１６を含むか、これらを具現化してもよい。最初にストロークのグループを定義し、続いてそのグループに基づいて文字を定義することにより、ストロークの文字へのグループ分けを計算上効率的に行なうことができる。つまり、ストロークのグループ分けという中間処理を行わずに重なった複数の文字のグループ分けを行う場合よりも効率的に行なうことができる。
【００５７】
図６を参照すると、複数の重なった文字が符号２３０で示されている。一連のストロークをストロークのグループにグループ分けすることにより、符号２３２で示されるように、複数のグループが定義される。その後、符号２３４に示されるように、定義されたグループに基づいて、一連のストロークが複数の文字に分類される。そして、符号２３６に示されるように、パターン認識などのような技術により、結果として得られた文字が認識されてもよい。このように、複数の重なった手書き文字が効率的及び効果的にグループ分けされ、ひとつながりの文字列として認識されてもよい。図６の実施形態において、グループに基づいてストロークを文字へグループ分けすることは、グループの可能な組み合わせを複数特定する。例えば符号２３４及び２３６で示されるように、グループの全ての可能な組み合わせを特定する。ここで、グループの異なる組合せにより表される複数の文字が、手書き認識エンジンによって認識されてもよい。手書き認識エンジンは、プロセッサ２０や、プロセッサと協働するコンピュータ装置によって具現化されうる。ある実施形態において、手書き認識エンジンは、グループの個々の組み合わせと文字の現在のセットとの類似度を決定してもよい。そして、グループの組み合わせにより表される文字のセットの各々が言語モデルによって分析され、文字のセットの各々がどのくらい意味を有するかが決定される。ここで言語モデルは、プロセッサ２０や、プロセッサと協働するコンピュータ装置によって具現化されうる。プロセッサ２０や手書き認識エンジン、及び／又は言語モデルのような装置は、続いて、可能な文字のセットの各々にスコアを割り当てる。この割り当ては、手書き認識エンジンによって決定された類似度の測度や、言語モデルによって決定された、現在の文字セットがどのくらい意味を有するかの測度、また実施形態によってはグループの所定の幾何学的性質の測度の組み合わせに基づいて行われうる。この点につき、一つ又は複数の所定の幾何学的性質を満足させるかどうかを決定すべく、例えばプロセッサ２０によって個々のグループが分析されてもよい。例えば、ある幾何学的性質はグループのサイズに関連していてもよく、所定の閾値より小さなグループは、文字全体とするには小さすぎると考えられてもよい。幾何学的性質の別の例は、手書き領域の端に沿って位置するグループ（例えばタッチスクリーンディスプレイ２８の左端又は右端の部分に位置するグループ）は、文字全体としては考えないとしてもよい。プロセッサ２０などによって、最も高いスコアを有すると判断された文字のセットが、符号２３８に示されるように、複数の重なった文字に最も適合する文字のセットであると特定されてもよい。この判断は、例えば類似度や意味、幾何学的性質の一つ又は複数に基づいて行われてもよい。
【００５８】
実施形態によっては、組み合わせの特定やその後の処理の効率を向上させるために、グループの可能な複数の組み合わせを同定する処理において、一つ又は複数の制限を加えてもよい。例えば、可能な組み合わせや文字は、最大四つのグループに限定されるという制限を加えてもよい。
【００５９】
一連のストロークを一つ又は複数のストロークグループにグループ化することは、重なった複数の文字をグループ分けしうることの効率を向上させるだけでなく、手書き入力の表示を便利にしてもよい。この点について、装置は、少なくとも一つのグループが、他のグループから区別されていることができるように、少なくともいくつかのグループを表示させるための手段、例えばプロセッサ２０やディスプレイ２８のような手段を備えていてもよい（図４の処理１４０を参照）。例えば、少なくとも一つのグループは表示されず、グループのサブセットのみが表示されてもよい。例えば比較的少数の直近のグループのみが表示され、その他のグループはディスプレイ２８に表示されないようにしてもよい。それによって、ディスプレイ２８の雑然さが減少し、ユーザは現在入力中のストロークや直前に入力したストロークを容易に見ることができるようになるだろう。別の実施形態では、表示されるストロークグループの間を視覚的に区別可能に描画されるように、ストロークの複数のグループを表示してもよい。例えば、複数のストロークのグループが、それぞれ異なる色や輝度で表示されてもよい。例えば、ストロークが受け取られた順番に応じて、色や輝度を変えてもよい。ある実施例では、直近のストロークグループが最も濃い色（及び／又は輝度）で表示され、その直前のストロークグループは少し薄い色（及び／又は輝度）で表示され、以下同ようにして、最初のストロークグループが、最も薄い色（及び／又は輝度）で表示されてもよい。別様には、異なるストロークグループは異なるタイプの線で表されてもよい。例えば、直近のストロークグループは実線で表示され、その直前のストロークグループは破線で表示されるとしてもよい。いずれの実施形態においても、異なるストロークグループが視覚的に区別しうるようにストロークグループが表示され、まだ実施形態によっては、直近のストロークグループがより容易に判別しうるように表示される。
【００６０】
ある実施例では、ストロークに関連する特徴の決定や、ストロークの現在のグループへのグループ分けは、例えば図７に描かれるように、個々のストロークの入力に続いて行われてもよい。以下の図７の説明に関し、現在のストローク及び（上述のような）次のストロークは、それぞれストロークｋ−１及びストロークｋと言い表される。図７の処理２５０，２５２，２５４を参照して、ストロークｋの入力に続き、このストロークが最初のストロークであるか否かの決定が行われる。すなわちｋ＝０であるか否かの決定が行われる。入力されたストロークが最初のストロークである場合、実際の手書き領域が初期化されてもよい（処理２５６）。ここで「実際の手書き領域」は、最初のストロークを包囲する最小の矩形がであるというように初期化されてもよく、また、図５に示される座標系における向き及び位置における、その矩形の全幅および全高によって定義されてもよい。また、矩形の上下左右の座標によって定義されてもよい。上下左右の座標は別の向き及び位置に関するものではない。その後カウンタｋはインクリメントされ、次のストロークの入力を待つ（処理２５８）。次のストロークの入力に続いて「実際の手書き領域」は、両方のストロークを包囲する最小の矩形であるように再計算される（処理２６０）。その後、現在のストロークｋ−１の特徴が決定されてもよい（処理２６２）。ストロークｋ−１について決定された特徴に基づいて、分類手段１１４は値Spreを準備する。この点につき、分類手段１１４は、ストロークｋ−１の特徴ベクトル及びグループ分けルール１１６に基づいて値Spreを準備する（図４の処理２６４）。グループ分けルール１１６は、分類手段がストロークの特徴ベクトルを評価するために利用するパラメータを定義する。分類手段１１４によって準備される値Spreは、分類のための既定の閾値Tpreと比較されてもよい（処理２６６）。分類手段１１４によって提供される値Spreが分類のための閾値Treを越える場合は、ストロークｋ−１とストロークｋは異なるグループに属すると考える（処理２６８）。反対に、分類手段１１４によって提供される値Spreが分類のための閾値Treを超えない場合は、ストロークｋ−１とストロークｋは同じグループに属すると考える（処理２７０）。一連のストロークを適切にグループに分類するべく、上述の及び図７に示される処理は、入力されたストロークごとにｋの値を一つずつ増やして繰り返されて行われてもよい。
【００６１】
ストロークを適切にグループ分けするために個々のストロークの後にストロークを分析する方法の代わりに、例えば図８２示されるように、複数のストロークをバッチ処理で分析してもよい。これについて、「実際の手書き領域」は、複数のストローク０，１，．．Ｍ−１を囲む最小の矩形として定義されてもよい（処理２８０）。その後カウンタｋがｋ＝１であるように初期化され、例えばカウンタをストロークの数Ｍと比較することにより、バッチの全てのストロークが考慮されたか否かが決定される（処理２８２，２８４）。全てのストロークがまだ考慮されていない場合、ストロークｋ−１の特徴が決定され、続いて例えば分類手段１１４によって、ストロークｋ−１の特徴に基づいてストロークｋ−１のために値Spreが決定される（処理２８６，２８８）。前と同様に、分類のために値Spreを閾値Tpreと比較することが、ストロークｋ−１とストロークｋのために実行され、値Spreが分類のための閾値Tpreよりも大きいか否かによって、これらが異なるグループに属するとするか同じグループに属するとするかの分類が行われる（処理２９０，２９２，２９４）。この処理は、図示されるように処理２９６でカウンタｋをインクリメントすることにより、バッチの個々のストロークについて繰り返され、個々のストロークが考慮され適切にグループ分けされるまで続く。
【００６２】
図４，７，８は、本発明の例示的実施形態に従う方法及びプロダクト製品のフローチャートである。フローチャートの個々のブロック及びフローチャートのブロックの組み合わせは様々な手段によって実施されることに留意されたい。そのような手段には、例えばハードウェアやファームウェア、プロセッサ、回路網、及び／又はソフトウェアの実行に関連付けられるデバイスが含まれる。また当該ソフトウェアは一つ又は複数のコンピュータプログラム命令を含む。例えば上述の一つ又は複数の手続きは、コンピュータプログラム命令により具現化されることができる。ここで、上述の手続きを具現化するコンピュータプログラム命令は、携帯端末１０の記憶デバイスに格納されていてもよく、携帯端末のプロセッサ２０により実行されてもよい。理解されるように、どのようなコンピュータプログラム命令もコンピュータや例えばハードウェアのような他のプログラム可能な装置にロードされて機械を構成する。すなわち、命令がコンピュータ又はその他のプログラム可能な装置で実行されると、一つ又は複数のフローチャートのブロックにより特定される機能を実装するための手段を形成する。これらのコンピュータプログラム命令はコンピュータ読み取り可能なメモリに格納されてもよく、固有の方法でコンピュータ又はその他のプログラム可能な装置を機能させるべく命令してもよい。すなわち、コンピュータ読み取り可能なメモリに格納される命令は、一つ又は複数のフローチャートのブロックにより特定される機能実装する命令手段を備える製品を形成する。コンピュータプログラム命令はコンピュータ又はその他のプログラム可能な装置にロードされ、一連の動作を前記コンピュータ又はその他のプログラム可能な装置で実行させることにより、コンピュータ実装プロセスを生成する。すなわち、コンピュータ又はその他のプログラム可能な装置で命令が実行されることにより、フローチャートブロックの一つ又は複数で特定される機能を実装する。
【００６３】
従って、フローチャートのブロックは、特定の機能を実行するための手段の組み合わせや、特定の機能を実行するための動作の組み合わせ、特定の機能を実行するためのプログラム命令をサポートする。また、フローチャートの一つの複数のブロックや、フローチャートのブロックの組み合わせは、特定の機能を実行する専用のハードウェアベースのコンピュータシステムや、専用ハードウェアとコンピュータ命令との組み合わせによって実装されうることにも留意されたい。
【００６４】
ここで説明された発明についての多くの変形その他の実施形態が、前述の説明や関連する図面に示される教示から利益を受けうる、本発明に関連する当業者に想起されるであろう。従って本発明は、ここで退治された特定の実施形態に制限されるものと理解されてはならず、上述の変形その他の実施形態も、添付の請求項の範囲に含まれるべきものである。さらに、上述の説明や関連する図面が要素や機能の或る例示的な組み合わせという文脈で例示的な実施形態を説明してきたが、別の実施形態では、添付の請求項の範囲を逸脱せずに、要素や機能の異なる組み合わせも可能であることに留意されたい。ここで例えば、上で明示的に説明されている要素や機能の組み合わせ以外の組み合わせも、添付の請求項のいずれかに属するものと考えるべきである。本明細書では特定の語句が使用されているが、それは一般的かつ説明の意味で使われており、限定する目的で使われてはいない。
【図１】
0005581448.tif 000003
【図２】
0005581448.tif 000004
【図３】
0005581448.tif 000005
【図４】
0005581448.tif 000006
【図５】
0005581448.tif 000007
【図６】
0005581448.tif 000008
【図７】
0005581448.tif 000009
【図８】
0005581448.tif 000010