(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】グラフィックオブジェクトを選択するための方法及び対応するデバイス
(51)【国際特許分類】
G06F 3/0484 20220101AFI20231121BHJP
G06F 3/04886 20220101ALI20231121BHJP
G06F 3/04883 20220101ALI20231121BHJP
【FI】
G06F3/0484
G06F3/04886
G06F3/04883
(21)【出願番号】P 2022511043
(86)(22)【出願日】2020-09-18
(86)【国際出願番号】 EP2020076080
(87)【国際公開番号】W WO2021053130
(87)【国際公開日】2021-03-25
【審査請求日】2023-09-14
(32)【優先日】2019-09-19
(33)【優先権主張国・地域又は機関】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】515295429
【氏名又は名称】マイスクリプト
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】デュランデ マチュー
(72)【発明者】
【氏名】デマレ バティスト
【審査官】田川 泰宏
(56)【参考文献】
【文献】米国特許第9965175(US,B2)
【文献】米国特許出願公開第2014/143721(US,A1)
【文献】特表2019-514097(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01-3/04895
(57)【特許請求の範囲】
【請求項1】
-テキストオブジェクト及びテキストではないオブジェクトを含むグラフィックオブジェクト(OB)を手で描くための入力表面(104)と、
-ディスプレイエリア(200)に複数の前記グラフィックオブジェクトをデジタルインクで表示するためのディスプレイデバイス(102)であって、前記ディスプレイエリアが、
・ガイドラインパターンに従って配置された少なくとも1つのテキストオブジェクトを包含する構造化テキストセクション(202)、及び、
・前記構造化テキストセクション(202)とは別個であり、少なくとも1つのテキストオブジェクトまたはテキストではないオブジェクトを包含する少なくとも1つのブロックセクション(BL)
を含んでいる、前記ディスプレイデバイス(102)と、
-前記ディスプレイエリア内の始点(PT1)を位置特定するための位置特定モジュール(MD2)であって、前記始点(PT1)から、選択エリアを規定するために前記入力表面で実施されるユーザの選択ジェスチャ(GT1)が開始される、前記位置特定モジュール(MD2)と、
-前記ユーザの選択ジェスチャに基づき、前記ディスプレイエリアに前記選択エリアを形成する選択パス(210)を判定するため、及び、前記選択エリアに少なくとも部分的に包含される各グラフィックオブジェクトを選択するための選択モジュール(MD4)であって、前記選択モジュールが、
・前記始点が前記構造化テキストセクション(202)に位置している場合、前記選択モジュールが、前記構造化テキストセクション及び前記少なくとも1つのブロックセクションの任意のグラフィックオブジェクトを選択するように、前記選択パスが前記ディスプレイエリアに描写されることを可能にすることにより、第1のモード(ME1)に従って作動するように、かつ、
・前記始点が前記少なくとも1つのブロックセクションのうちのターゲットブロックセクション(BL2)内に位置している場合、前記選択モジュールが、前記ターゲットブロックセクションの外側の任意のグラフィックオブジェクトの選択を防止するように、前記ターゲットブロックセクション内に前記選択パスを制限することにより、第2のモード(ME2)に従って作動するように、
前記始点の前記位置特定に関連して作動するように構成されている、前記選択モジュール(MD4)と、
を備えている、コンピューティングデバイス(100)。
【請求項2】
前記第1のモードにおいて、前記選択モジュールが、前記選択エリア内に少なくとも部分的に包含されている、前記構造化テキストセクション内、及び前記少なくとも1つのブロックセクション内の、任意のグラフィックオブジェクトを選択するように構成されている、請求項1に記載のコンピューティングデバイス。
【請求項3】
前記第2のモードにおいて、前記選択モジュールが、前記ターゲットブロックセクション内の任意のグラフィックオブジェクトの選択のみを許容するように構成されている、請求項1または請求項2に記載のコンピューティングデバイス。
【請求項4】
前記選択モジュール(MD4)が、前記選択パスの前記始点(PT1)と終点(PT2)とを接続し、それにより、前記選択エリアを形成する接続ライン(214)を判定するように構成されている、請求項1から請求項3のいずれか一項に記載のコンピューティングデバイス。
【請求項5】
前記選択モジュール(MD4)が、
-前記選択パスが依然として描写されている間の現在の終点を検出することと、
-前記始点と前記現在の終点とを接続する前記接続ラインを動的に規定することと、
-前記選択パス及び前記接続ラインによって形成される前記選択エリアを判定することと、
-前記選択エリアに少なくとも部分的に包含される各グラフィックオブジェクトを選択することと、
をするように構成されている、請求項4に記載のコンピューティングデバイス。
【請求項6】
前記選択パス(210)及び前記接続ライン(214)が、予め規定されたストローク幅を有するデジタルインクの2つのそれぞれのストロークによって前記ディスプレイデバイス上に表示され、前記選択エリア(212)が、前記選択パス及び前記接続ラインによって集合的に規定され、それにより、前記選択エリアが、前記選択パス及び前記接続ラインによって占められるエリアを含むようになっている、請求項4または請求項5に記載のコンピューティングデバイス。
【請求項7】
前記選択モジュール(MD4)が、前記第1のモード及び前記第2のモードにおいて、所定の閾値を超える前記選択エリア内の相対的な割合を表す各グラフィックオブジェクト(OB)を選択するように構成されている、請求項1から請求項6のいずれか一項に記載のコンピューティングデバイス。
【請求項8】
前記ディスプレイデバイスが、前記選択パスが描写されている間に前記ユーザの選択ジェスチャによって現在選択されている各グラフィックオブジェクトに関して視覚フィードバック(FB)を生成するように構成されている、請求項1から請求項7のいずれか一項に記載のコンピューティングデバイス。
【請求項9】
前記選択モジュールによって選択された各グラフィックオブジェクトをブロックとして集合的に編集するための編集モジュール(MD6)を備えている、請求項1から請求項8のいずれか一項に記載のコンピューティングデバイス。
【請求項10】
前記ユーザの選択ジェスチャが、前記選択パスに沿う前記ディスプレイデバイス上のデジタルインクのストロークの生成を生じさせる、ユーザの身体の部位の、前記入力表面との相互作用である、請求項1から請求項9のいずれか一項に記載のコンピューティングデバイス。
【請求項11】
前記少なくとも1つのブロックセクションが、
-少なくとも1つの描写オブジェクトを包含する描写ブロックセクション(BL3)と、
-数学式を表す少なくとも1つの数学的オブジェクトを包含する数学的ブロックセクション(BL1)と、
-テキストオブジェクト及びテキストではないオブジェクトを含む線図ブロックセクション(BL3)と、
の少なくとも1つを含んでいる、請求項1から請求項10のいずれか一項に記載のコンピューティングデバイス。
【請求項12】
前記ディスプレイエリア内に存在する前記グラフィックオブジェクトの各々に関するそれぞれのランク(RK)を格納するための格納モジュール(MD8)であって、前記グラフィックオブジェクトの前記ランクが、ランクの順番に応じて順番がつけられている、前記格納モジュール(MD8)を備え、
前記選択モジュールが、
-前記選択エリア内の現在選択されている各グラフィックオブジェクトの前記ランクを判定することと、
-前記ランクの順番に応じて、2つの選択されたグラフィックオブジェクトの前記それぞれのランクの間に含まれるランクを有する任意のまだ選択されていないグラフィックオブジェクトを識別することと、
-各識別されたグラフィックオブジェクトを前記選択に含めることと、
をするように構成されている、請求項1から請求項11のいずれか一項に記載のコンピューティングデバイス。
【請求項13】
前記構造化テキストセクションが、テキスト入力をガイドするためのガイドラインで前記ディスプレイエリアのバックグラウンドを形成し、前記少なくとも1つのブロックセクションが、前記バックグラウンドの上に表示される、請求項1から請求項12のいずれか一項に記載のコンピューティングデバイス。
【請求項14】
コンピューティングデバイス(100)
において手書き入力要素を処理する方法であって、
前記コンピューティングデバイスは、プロセッサと、メモリと、前記プロセッサの制御の下で入力を認識するための少なくとも1つの非一時的なコンピュータ可読媒体を含み、
前記方法は、
-ディスプレイデバイスのディスプレイエリアに複数のグラフィックオブジェクトをデジタルインクで表示すること(S2)であって、前記ディスプレイエリアが、
・ガイドラインパターンに従って配置された少なくとも1つのテキストオブジェクトを包含する構造化テキストセクション、及び、
・前記構造化テキストセクションとは別個であり、少なくとも1つのテキストオブジェクトまたはテキストではないオブジェクトを包含する少なくとも1つのブロックセクション
を含んでいる、前記表示すること(S2)と、
-前記ディスプレイエリアに始点を位置特定すること(S4)であって、前記始点から、選択エリアを規定するため
に入力表面で実施されるユーザの選択ジェスチャが開始される、前記位置特定すること(S4)と、
-前記ユーザの選択ジェスチャに基づき、前記ディスプレイエリアに前記選択エリアを形成する選択パスを判定すること(S6)と、
-前記選択エリア内に少なくとも部分的に含まれる各グラフィックオブジェクトを選択すること(S14)と、
を含み、前記選択パスが、前記位置特定の結果に関連して判定され、それにより、
-前記始点が前記構造化テキストセクションに位置している場合、前記構造化テキストセクション及び前記少なくとも1つのブロックセクションの任意のグラフィックオブジェクトを選択するように、前記選択パスが前記ディスプレイエリア内で描写されることを可能にすることにより、第1のモード(ME1)に従って作動し、
-前記始点が前記少なくとも1つのブロックセクションのうちのターゲットブロックセクション内に位置している場合、前記ターゲットブロックセクションの外側の任意のグラフィックオブジェクトの選択を防止するように、前記ターゲットブロックセクション内に前記選択パスを制限することにより、第2のモード(ME2)に従って作動する
ようになっている、前記方法。
【請求項15】
その中に組み込まれたコンピュータ可読プログラムコードを有する非一時的なコンピュータ可読媒体であって、前記コンピュータ可読プログラムコードは、コンピューティングデバイスにおいて手書き入力要素を処理する方法の実行を遂行するように適合され、前記コンピューティングデバイスは、プロセッサと、メモリと、前記プロセッサの制御の下で入力を認識するための少なくとも1つの非一時的なコンピュータ可読媒体を含み、
前記方法は、
-ディスプレイデバイスのディスプレイエリアに複数のグラフィックオブジェクトをデジタルインクで表示することであって、前記ディスプレイエリアが、
・ガイドラインパターンに従って配置された少なくとも1つのテキストオブジェクトを包含する構造化テキストセクション、及び、
・前記構造化テキストセクションとは別個であり、少なくとも1つのテキストオブジェクトまたはテキストではないオブジェクトを包含する少なくとも1つのブロックセクション
を含んでいる、前記表示することと、
-前記ディスプレイエリアに始点を位置特定することであって、前記始点から、選択エリアを規定するために入力表面で実施されるユーザの選択ジェスチャが開始される、前記位置特定することと、
-前記ユーザの選択ジェスチャに基づき、前記ディスプレイエリアに前記選択エリアを形成する選択パスを判定することと、
-前記選択エリア内に少なくとも部分的に含まれる各グラフィックオブジェクトを選択することと、
を含み、前記選択パスが、前記位置特定の結果に関連して判定され、それにより、
-前記始点が前記構造化テキストセクションに位置している場合、前記構造化テキストセクション及び前記少なくとも1つのブロックセクションの任意のグラフィックオブジェクトを選択するように、前記選択パスが前記ディスプレイエリア内で描写されることを可能にすることにより、第1のモードに従って作動し、
-前記始点が前記少なくとも1つのブロックセクションのうちのターゲットブロックセクション内に位置している場合、前記ターゲットブロックセクションの外側の任意のグラフィックオブジェクトの選択を防止するように、前記ターゲットブロックセクション内に前記選択パスを制限することにより、第2のモードに従って作動する
ようになっている、前記非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、様々なグラフィック及びテキストのユーザの手書き入力を認識することが可能であるコンピューティングデバイスインターフェースの分野に関する。具体的には、本開示は、入力された手書き要素を検出及び処理するためのコンピューティングデバイス及び対応する方法に関する。
【背景技術】
【0002】
コンピューティングデバイスが継続して、日々の生活の中でますますどこにでもあるようになってきている。コンピューティングデバイスは、コンピュータデスクトップ、ラップトップ、タブレットPC、ハイブリッドコンピュータ(2-in-1)、eブックリーダー、移動電話、スマートフォン、ウェアラブルコンピュータ(スマートウォッチ、スマートグラス/ヘッドセットを含む)、グローバルポジショニングシステム(GPS)ユニット、事業デジタルアシスタント(EDA)、パーソナルデジタルアシスタント(PDA)、ゲームコンソールなど、様々な形態を取る場合がある。さらに、コンピューティングデバイスは、車、トラック、農用施設、製造施設、建物の環境制御(たとえば、ライティング、HVAC)、ならびに、家庭及び商業用の器具など、車両及び設備に組み込まれている。
【0003】
コンピューティングデバイスの各タイプには、特定のコンピュータリソースが備えられており、所与の用途が定められている。コンピューティングデバイスは概して、中央処理ユニット(CPU)などの少なくとも1つの処理要素と、ある形態のメモリと、入力及び出力デバイスと、を備えている。様々なコンピューティングデバイス及びそれに次ぐ用途により、様々な入力デバイス及びインターフェースが、それらのコンピューティングデバイスとユーザが相互作用することを可能にするようにすることが必要になる。
【0004】
そのような入力デバイスの1つが、タッチスクリーンまたはタッチパッドなどの接触式表面である。この表面では、ユーザ入力が、ユーザの身体の部位(たとえば、指)または器具(たとえば、ペンまたはスタイラス)と接触式表面との間の接触を通して受領される。別の入力デバイスは入力表面であり、この入力表面は、入力表面の上でユーザによって行われるジェスチャを検知する。さらなる入力デバイスが、位置検出システムである。この位置検出システムは、接触または非接触の相互作用の、非接触の物理的または仮想の表面との相対位置を検出する。
【0005】
手書き文字認識は、テキストコンテンツ(たとえば、英数字)またはテキストではないコンテンツ(たとえば、形状、図)など、ユーザによって手で描写されたか手書きされた様々なタイプのグラフィックオブジェクト(入力要素とも呼ばれる)を入力及び処理するために、コンピューティングデバイス内で実施され得る。コンピューティングデバイス上で入力がされると、入力要素は、通常、デジタルインクとして表示され、タイプセットのバージョンに変換するように、手書き文字認識がされる。ユーザの手書き入力は、通常、リアルタイムの手書き文字認識システムまたは方法を使用して解釈される。このため、オンラインシステム(クラウドベースのソルーションなどを使用して認識が実施される)またはオフラインシステムが使用される場合がある。
【0006】
ユーザ入力は、描画であるか、図であるか、または、任意の他のテキストのコンテンツ、テキストではないコンテンツ、もしくはテキストとテキストではないものとの混合のコンテンツである場合がある。手書き入力は、ユーザによる入力をガイドまたは制約するガイドライン(ベースライン)に従って、構造化ドキュメント上で行われる場合がある。代替的には、ユーザは、フリーモードで手書きする場合がある。すなわち、追従すべきラインまたは従うべき入力サイズのあらゆる制約を伴わない(たとえば、ブランクページ上)。
【0007】
図1Aは、適切なユーザインターフェースを使用してユーザによって手で描写されるか手書きされたデジタルインクグラフィックオブジェクトを表示するディスプレイデバイス1を備えている、コンピューティングデバイス1の実施例を示している。このケースでは、コンピューティングデバイス1は、テキストコンテンツ4及び6、ならびに、テキストではないコンテンツ8、10、及び12を検出及び表示する。これら要素の各々は、デジタルインクの1つまたは複数のストロークによって形成されている。以下に論じるように、テキスト及びテキストではないものは、各々が様々な形態を取る場合がある。グラフィックオブジェクトは、手書きテキスト、図、音楽のアノテーションなどを含む場合がある。この実施例では、形状8は、矩形などであり、テキストコンテンツ6を包含するコンテナ(ボックス)を構成し、それにより、要素6と要素8との両方をともに選択及び操作できるようになっている。
【0008】
前述したように、手書き文字認識は、テキスト入力要素上で実施される場合がある。手書き文字認識は、テキストではない入力要素上で実施される場合もある。さらに、各入力要素は、この実施例では
図1Bに図示するように、タイプセットの入力要素として変換及び表示される場合がある。
【0009】
図1Aから
図1Bに示す内容は例示的ものに過ぎず、図示されているものの他の要素、またはその要素の他のタイプもしくは形態が、追加で、または代替的ものとして存在する場合がある。
【0010】
手書き文字認識アプリケーションでは、コンピューティングデバイス上に表示されたユーザ入力に対し、いくらかのレベルの編集を実施することが通常は可能である。しかし、慣習的に、そのようなアプリケーションは、編集機能を扱うその能力が制限されており、通常は、ユーザの元々の意図を反映しない行動を選ぶように、または、妥協を許容するように、ユーザが制約される。結果として、いくつかの慣習的な手書き認識アプリケーションは、ユーザに、インク要素を選択及び編集するようにメニューを案内させる。
【0011】
通常は、テキストまたはテキストではないもののインク入力要素を再配置する従来の手書き文字認識アプリケーションの能力は、特定の操作のみが利用可能である場合に限定され、しばしば、ユーザによる複雑であるか不自然な操作を伴う。したがって、人間工学的かつ効率的な方式で、テキストまたはテキストではないコンテンツをユーザが編集することは、概して困難である。
【0012】
特に、様々なグラフィックオブジェクトがスクリーン上に表示される場合、たとえば編集する目的のために、グラフィックオブジェクトをユーザが選択することは、しばしば困難である。手書き文字認識アプリケーションを実行するコンピューティングデバイスは、概して、グラフィックオブジェクトの容易かつ直感的な選択を許容しない。このため、スクリーン上に表示されたテキストコンテンツ及びテキストではないコンテンツを操作することは、ユーザにとって細心の注意を要する。
【0013】
コンピューティングデバイス上でグラフィックオブジェクト(テキスト及び/またはテキストではないもののいずれか)を容易かつ直感的に選択することを可能にするために、向上が望まれている。
【発明の概要】
【0014】
本明細書で以下に記載される本発明の実施例は、入力されたインク要素を編集するためのコンピューティングデバイス、方法、及び対応するコンピュータプログラムを提供する。
【0015】
特定の態様によれば、本発明は、
-テキストオブジェクト及びテキストではないオブジェクトを含むグラフィックオブジェクトを手で描くための入力表面と、
-ディスプレイエリアに複数の前述のグラフィックオブジェクトをデジタルインクで表示するためのディスプレイデバイスであって、前述のディスプレイエリアが、
・ガイドラインパターンに従って配置された少なくとも1つのテキストオブジェクトを包含する構造化テキストセクション、及び、
・構造化テキストセクションとは別個であり、少なくとも1つのテキストオブジェクトまたはテキストではないオブジェクトを包含する少なくとも1つのブロックセクション
を含んでいる、ディスプレイデバイスと、
-ディスプレイエリア内の始点を位置特定するための位置特定モジュールであって、始点から、選択エリアを規定するために入力表面で実施されるユーザの選択ジェスチャが開始される、位置特定モジュールと、
-ユーザの選択ジェスチャに基づき、ディスプレイエリアに前述の選択エリアを形成する選択パスを判定するため、及び、前述の選択エリアに少なくとも部分的に包含される各グラフィックオブジェクトを選択するための選択モジュールであって、前述の選択モジュールが、
・始点が構造化テキストセクションに位置している場合、選択モジュールが、構造化テキストセクション及び前述の少なくとも1つのブロックセクションの任意のグラフィックオブジェクトを選択するように、選択パスがディスプレイエリアに描写されることを可能にすることにより、第1のモードに従って作動するように、かつ、
・始点が前述の少なくとも1つのブロックセクションの内のターゲットブロックセクション内に位置している場合、選択モジュールが、前述のターゲットブロックセクションの外側の任意のグラフィックオブジェクトの選択を防止するように、前述のターゲットブロックセクション内に選択パスを制限することにより、第2のモードに従って作動するように、
始点の前述の位置特定に関連して作動するように構成されている、選択モジュールと、を備えている、コンピューティングデバイスを提供する。
【0016】
本発明は、コンピューティングデバイス上で、柔軟かつ効果的な方式で、手で描かれたグラフィックオブジェクトを選択及び編集することを可能にする。2つの異なる動作モードは、ユーザが編集などの任意の適切な目的のために操作することを望む場合がある任意のグラフィックオブジェクトの、容易かつ正確な選択をユーザがすることを可能にするように動作可能である。具体的には、第1のモードは、ユーザの選択のパートが実施されている間は選択パスに位置特定の制限が課されないことから、ディスプレイエリアに存在する任意のグラフィックオブジェクトの自在かつ容易な選択を可能にする。一方、第2のモードは、ユーザの選択ジェスチャが開始された特定のブロックセクション内に制限された選択を可能にし、それにより、ユーザによって実施されたユーザの選択ジェスチャが正確ではない場合であっても、迅速な選択を可能にする。
【0017】
グラフィックオブジェクトの選択は、複雑であるか、覚えることが困難なジェスチャを必要とすることなく、実施される場合がある。ユーザは、グラフィックオブジェクトの選択を実施するための手順を容易に覚え得る。
【0018】
特定の実施形態では、第1のモードにおいて、選択モジュールは、前述の選択エリア内に少なくとも部分的に包含されている、構造化テキストセクション内、及び前述の少なくとも1つのブロックセクション内の、任意のグラフィックオブジェクトを選択するように構成されている。
【0019】
特定の実施形態では、第2のモードにおいて、選択モジュールは、前述のターゲットブロックセクション内の任意のグラフィックオブジェクトの選択のみを許容するように構成されている。
【0020】
特定の実施形態では、選択モジュールは、選択パスの始点と終点とを接続し、それにより、選択エリアを形成する接続ラインを判定するように構成されている。
【0021】
特定の実施形態では、選択モジュールは、
-選択パスが依然として描写されている間の現在の終点を検出することと、
-始点と現在の終点とを接続する接続ラインを動的に規定することと、
-選択パス及び接続ラインによって形成される選択エリアを判定することと、
-前述の選択エリアに少なくとも部分的に包含される各グラフィックオブジェクトを選択することと、
をするように構成されている。
【0022】
特定の実施形態では、選択パス及び接続ラインは、予め規定されたストローク幅を有するデジタルインクの2つのそれぞれのストロークによってディスプレイデバイス上に表示され、選択エリアが、選択パス及び接続ラインによって集合的に規定され、それにより、前述の選択エリアが、選択パス及び接続ラインによって占められるエリアを含むようになっている。
【0023】
特定の実施形態では、選択モジュールは、第1のモード及び第2のモードにおいて、所定の閾値を超える選択エリア内の相対的な割合を表す各グラフィックオブジェクトを選択するように構成されている。
【0024】
特定の実施形態では、ディスプレイデバイスは、選択パスが描写されている間にユーザの選択ジェスチャによって現在選択されている各グラフィックオブジェクトに関して視覚フィードバックを生成するように構成されている。
【0025】
特定の実施形態では、コンピューティングデバイスは、選択モジュールによって選択された各グラフィックオブジェクトをブロックとして集合的に編集するための編集モジュールを備えている。
【0026】
特定の実施形態では、ユーザの選択ジェスチャは、選択パスに沿うディスプレイデバイス上のデジタルインクのストロークを生成させる、ユーザの身体の部位の、入力表面との相互作用である。
【0027】
特定の実施形態では、前述の少なくとも1つのブロックセクションは、
-少なくとも1つの描写オブジェクトを包含する描写ブロックセクションと、
-数学式を表す少なくとも1つの数学的オブジェクトを包含する数学的ブロックセクションと、
-テキストオブジェクト及びテキストではないオブジェクトを含む線図ブロックセクションと、
の少なくとも1つを含んでいる。
【0028】
特定の実施形態では、コンピューティングデバイスは、ディスプレイエリア内に存在する前述のグラフィックオブジェクトの各々に関するそれぞれのランクを格納するための格納モジュールであって、前述のグラフィックオブジェクトのランクが、ランクの順番に応じて順番がつけられている、格納モジュールを備え、
選択モジュールが、
-選択エリア内の現在選択されている各グラフィックオブジェクトのランクを判定することと、
-前述のランクの順番に応じて、2つの選択されたグラフィックオブジェクトのそれぞれのランクの間に含まれるランクを有する任意のまだ選択されていないグラフィックオブジェクトを識別することと、
-識別されたグラフィックオブジェクトの各々を選択に含めることと、
をするように構成されている。
【0029】
特定の実施形態では、構造化テキストセクションは、テキスト入力をガイドするためのガイドラインを含むディスプレイエリアのバックグラウンドを形成し、少なくとも1つのブロックセクションが、前述のバックグラウンド上に表示される。
【0030】
本発明は、本発明のコンピューティングデバイスによって実施される対応する方法にも関する。具体的には、本発明は、コンピューティングデバイスによって実施される方法であって、
-ディスプレイデバイスのディスプレイエリアに複数のグラフィックオブジェクトをデジタルインクで表示することであって、前述のディスプレイエリアが、
・ガイドラインパターンに従って配置された少なくとも1つのテキストオブジェクトを包含する構造化テキストセクション、及び、
・構造化テキストセクションとは別個であり、少なくとも1つのテキストオブジェクトまたはテキストではないオブジェクトを包含する少なくとも1つのブロックセクション
を含んでいる、表示することと、
-ディスプレイエリアに始点を位置特定することであって、始点から、選択エリアを規定するために入力表面で実施されるユーザの選択ジェスチャが開始される、位置特定することと、
-ユーザの選択ジェスチャに基づき、ディスプレイエリアに前述の選択エリアを形成する選択パスを判定することと、
-前述の選択エリア内に少なくとも部分的に含まれる各グラフィックオブジェクトを選択することと、
を含み、選択パスが、前述の位置特定の結果に関連して判定され、それにより、
-始点が構造化テキストセクションに位置している場合、構造化テキストセクション及び前述の少なくとも1つのブロックセクションの任意のグラフィックオブジェクトを選択するように、選択パスがディスプレイエリアに描写されることを可能にすることにより、第1のモードに従って作動し、
-始点が前述の少なくとも1つのブロックセクションのうちのターゲットブロックセクション内に位置している場合、前述のターゲットブロックセクションの外側の任意のグラフィックオブジェクトの選択を防止するように、前述のターゲットブロックセクション内に選択パスを制限することにより、第2のモードに従って作動する
ことを含む、方法に関する。
【0031】
本発明のコンピューティングデバイスと関連して本文献で規定された様々な実施形態は、本開示の方法、コンピュータプログラム、及び非一時的なコンピュータ可読媒体と類似の方式で適用される。
【0032】
本教示に記載される本発明の方法の各ステップに関し、コンピューティングデバイスは、前述のステップを実施するように構成された対応するモジュールを備えている場合がある。
【0033】
別の態様によれば、本発明は、本文献に規定される本発明の方法のステップを実行するための命令を含む、コンピュータ可読プログラムコード(またはコンピュータプログラム)を上に記録した非一時的なコンピュータ可読媒体に関する。
【0034】
本発明のコンピュータプログラムは、任意のプログラミング言語で表現することができ、ソースコード、オブジェクトコード、または、たとえば、部分的にコンパイルされた形態、もしくは、任意の他の適切な形態になるように、ソースコードとオブジェクトコードとの間の任意の中間のコードの形態とすることができる。
【0035】
本発明は、上述のコンピュータプログラムをも提供する。
【0036】
上述の非一時的なコンピュータ可読媒体は、コンピュータプログラムを格納することができる任意のエンティティまたはデバイスとすることができる。たとえば、記録媒体は、ROMメモリ(CD-ROMもしくはマイクロ電子回路で実施されるROM)などの格納手段、または、たとえばフロッピーディスクもしくはハードディスクなどの磁気格納手段を備えることができる。
【0037】
本発明の非一時的なコンピュータ可読媒体は、電気信号または光学信号などの伝達可能な媒体に対応することができる。この媒体は、電気ケーブルもしくは光ケーブルを介して、または無線もしくは任意の他の適切な手段によって搬送することができる。本開示に係るコンピュータプログラムは、特に、インターネットまたはネットワークなどからダウンロードすることができる。
【0038】
代替的には、非一時的なコンピュータ可読媒体は、集積回路に対応することができる。この集積回路には、コンピュータプログラムが導入されており、回路が、本発明の方法を実行するか、実行において使用されるために適合されている。
【0039】
特定の実施形態では、本発明は、内部に埋め込まれたコンピュータ可読プログラムコードを有する非一時的なコンピュータ可読媒体に関し、前述のコンピュータ可読プログラムコードは、本文献で規定されるコンピューティングデバイス上で方法を実施するように実行されるために適合されており、コンピューティングデバイスは、前述の方法のステップを実行するためのプロセッサを備えている。
【0040】
本開示の他の特徴及び利点は、限定的特徴を有していない実施形態を示す添付図面を参照してされる以下の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0041】
【
図1】A及びBは、従来の構成に係るコンピューティングデバイスを示す図である。
【
図2】本発明の特定の実施形態に係るコンピューティングデバイスを概略的に示すブロック図である。
【
図3】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの構成要素、及び対応するステップの概略図である。
【
図4】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの構成要素、及び対応するステップの概略図である。
【
図5】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスによって実施されるモジュールを概略的に示すブロック図である。
【
図6】本発明の特定の実施形態に係る方法のステップを概略的に示すフロー図である。
【
図7】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図8】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図9】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図10】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図11】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図12】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図13】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図14】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図15】本発明の特定の実施形態に係る方法のステップを概略的に示すフロー図である。
【
図16】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図17】本発明の特定の実施形態に係る、
図2のコンピューティングデバイスの操作を示す概略図である。
【
図18】本発明の特定の実施形態におけるグラフィックオブジェクトを概略的に示す図である。
【
図19】本発明の特定の実施形態におけるグラフィックオブジェクトを概略的に示す図である。
【発明を実施するための形態】
【0042】
図中の構成要素は必ずしも拡縮されておらず、代わりに、本発明の原理の説明が強調されている。
【0043】
説明の簡略化及び明確化のために、別様に示されない限り、同じ参照符号が同じであるか類似のパーツを参照するために、図面を通して使用されることになる。
【0044】
以下の詳細な説明では、複数の特定の詳細が、関連する教示を完全に理解させるために、例として説明される。しかし、本教示が、そのような詳細を伴わずに実施され得ることが、当業者には明らかとなるであろう。他の例では、よく知られている方法、手順、及び/または構成要素が、本教示の態様を不必要に妨げることを避けるために、詳細を伴わずに、比較的高レベルで記載される。
【0045】
例示的実施形態の以下の詳細な説明は、添付図面を参照する。以下の詳細な説明は、本発明を限定するものではない。その代わりに、本発明の範囲は、添付の特許請求の範囲によって規定されている。図面に示すような様々な実施形態では、コンピューティングデバイス、対応する方法、及び対応するコンピュータプログラムが論じられる。
【0046】
本記載における「テキスト」との用語の使用は、記載のテキストにおいて使用される任意の記載の言語及び任意のシンボルにおいて、すべての文字(たとえば、英数字など)及びそのストリングを包含するものと理解される。
【0047】
本記載における「テキストではない」との用語は、自由な形態の、手書きされたか、または手で描かれたコンテンツ(たとえば、形状、図形など)及び画像データ、ならびに文字、及びそのストリング、またはテキストではない文脈において使用されるシンボルを包含するものと理解される。テキストではないコンテンツは、コンテナ、描画、一般的な形状(たとえば、矢印、ブロックなど)などを含む、線形または非線形の構成での、グラフィックまたは幾何学的な構造を規定する。図では、たとえば、テキストコンテンツは、コンテナと呼ばれるある形状(矩形、楕円形、卵形の形状など)に包含されている場合がある。
【0048】
さらに、これら図に示される実施例は、左から右に書かれる言語の文脈であり、したがって、位置に対するあらゆる参照は、異なる方向のフォーマットを有する記載の言語に関して適応させることができる。
【0049】
本明細書に記載の様々な技術は、概して、ポータブル、及びポータブルではないコンピューティングデバイス上の、手で描かれるか手で書かれるコンテンツの取得、処理、及び管理に関する。本明細書に記載のシステム及び方法は、(後に論じるような)接触式スクリーンなどの入力表面を介しての、コンピューティングデバイスへのユーザの自然な筆記スタイル及び描写スタイルの入力の認識を利用する場合がある。様々な実施形態が、いわゆるオンライン認識技術を使用して、デジタルインク手書き入力の認識に関して記載されるが、認識を実施するためにリモートデバイスまたはサーバを伴うオフラインの認識など、認識のための入力の他の形態に適用することが可能であることを理解されたい。
【0050】
「手での描写」及び「手書き」との用語は、入力表面上または入力表面を伴って、ユーザの手(もしくは指)、または入力デバイス(ハンドヘルドスタイラスもしくはデジタルペン、マウスなど)の使用を通して、ユーザによるデジタルコンテンツの形成を規定するために、本明細書において相互交換可能に使用される。「手」などの用語は、入力技術の簡潔な記載を提供するための本明細書で使用されるが、足、口、及び目など、類似の入力のためにユーザの身体の他の部分を使用することが、この定義に含まれる。
【0051】
以下により詳細に記載するように、本発明の一態様には、ディスプレイエリアの様々なセクションにグラフィックオブジェクト(入力要素)を表示することと、選択エリアを規定するためにコンピューティングデバイス上で実施されるユーザの選択ジェスチャが開始されるディスプレイエリア内の始点を位置特定することと、ユーザの選択ジェスチャによって規定された選択エリア内に(部分的または全体的に)含まれる各グラフィックオブジェクトを選択することと、のために、コンピューティングデバイスを使用することが含まれる。より具体的には、この選択エリアは、ユーザの選択ジェスチャによって規定された選択パスによって形成されている。本発明のさらなる態様は、以下に記載される。
【0052】
図2は、本発明の特定の実施形態に係るコンピューティングデバイス100のブロック図を示している。コンピューティングデバイス(またはデジタルデバイス)100は、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、eブックリーダー、移動電話、スマートフォン、ウェアラブルコンピュータ、デジタルウォッチ、電子黒板、グローバルポジショニングシステム(GPS)ユニット、事業デジタルアシスタント(EDA)、パーソナルデジタルアシスタント(PDA)、ゲームコンソールなどである場合がある。コンピューティングデバイス100は、少なくとも1つの処理要素、ある形態のメモリ、ならびに入力及び出力(I/O)デバイスの構成要素を含んでいる。各構成要素は、コネクタ、ライン、バス、リンクネットワーク、または当業者に既知の他のものなどの入力及び出力を通して互いに通信する。
【0053】
より具体的には、コンピューティングデバイス100は、画像、テキスト、及びビデオなど、コンピューティングデバイスからデータを出力するための少なくとも1つのディスプレイデバイス(またはディスプレイ)102を備えている。ディスプレイデバイス102は、任意の適切な技術(LCD、プラズマなど)のスクリーンなどである場合がある。以下にさらに記載するように、ディスプレイデバイス102は、デジタルインクでグラフィックオブジェクト(入力要素とも呼ばれる)を表示することが可能であり、各グラフィックオブジェクトは、デジタルインクの少なくとも1つのストロークで形成されている。
【0054】
コンピューティングデバイス100は、以下にさらに記載するように、テキストオブジェクト及びテキストではないオブジェクトを含む、手での描写(または手書き)のグラフィックオブジェクトに関する入力表面104をも備えている。入力表面104は、ディスプレイデバイス102と同じ場所に配置されるか、リモートでディスプレイデバイス102に接続される場合がある。特定の実施例では、ディスプレイデバイス102及び入力表面104は、同じタッチスクリーンの一部である。入力表面104は、接触感知表面または近接感知表面の形態のユーザ入力を受領するように、抵抗変化型、表面音波、静電容量、赤外グリッド、赤外線のアクリル投影、光学イメージング、分散信号技術、音響パルス認識、または当業者に既知であるような任意の他の適切な技術などの技術を採用する場合がある。入力表面104は、位置検出システムによって監視されている非接触式表面である場合がある。
【0055】
図2に示すように、コンピューティングデバイス100は、プロセッサ106及びメモリ108をさらに備えている。コンピューティングデバイス100は、メモリ108の一部として、またはメモリ108とは別に、1つまたは複数の揮発性格納要素(RAM)をも備えている場合がある。
【0056】
プロセッサ106は、ソフトウェア、特にメモリ108に格納されたソフトウェアを実行するためのハードウェアデバイスである。プロセッサ108は、任意の注文製であるか商業利用可能な汎用プロセッサ、中央処理ユニット(CPU)、半導体ベースのマイクロプロセッサ(マイクロチップもしくはチップセットの形態)、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、またはこれらの任意の組合せとすることができ、より概略的には、当業者に既知であるような、ソフトウェア命令を実行するために設計された任意の適切なプロセッサ構成要素とすることができる。
【0057】
メモリ108は、本開示の特定の実施形態に係る、非一時的な(または不揮発性の)コンピュータ可読媒体(または記録媒体)を構成する(または備えている)。メモリ108は、不揮発性の格納要素(たとえば、ROM、EPROM、フラッシュPROM、EEPROM、ハードドライブ、磁気テープまたは光学テープ、メモリレジスタ、CD-ROM、WORM、DVDなど)の任意の組合せを含む場合がある。
【0058】
メモリ108は、コンピューティングデバイス100によって遠位でアクセス可能である、サーバまたはクラウドベースのシステムにあるなど、コンピューティングデバイス100から離れている場合がある。不揮発性メモリ108は、プロセッサ106に結合されており、それにより、プロセッサ106が、メモリ108から情報を読み取ること、及びメモリ108に情報を書き込むことが可能であるようになっている。代替形態として、メモリ108は、コンピューティングデバイス100に組み込まれている。
【0059】
メモリ108は、オペレーティングシステム(OS)110と、手書きアプリケーション(またはコンピュータプログラム)112と、を含んでいる。オペレーティングシステム110は、アプリケーション112の実行を制御する。アプリケーション112は、本発明の特定の実施形態に係るコンピュータプログラム(またはコンピュータ可読プログラムコード)を構成する(または備えている)。このコンピュータプログラムは、本発明の特定の実施形態に係る方法を実施する命令を有している。
【0060】
アプリケーション112は、コンピューティングデバイス100の入力表面104を使用してユーザによって手で描写されたインクのグラフィックオブジェクトを検出及び管理するための命令を含む場合がある。テキストまたはテキストではない場合がある、これら手で描写されたインクのグラフィックオブジェクトは、デジタルインクの1つまたは複数のストロークによって形成される。
【0061】
特定の実施形態では、アプリケーション112は、手書きのテキストまたはテキストではないものを含む、コンピューティングデバイス100への手書き入力を認識するための、手書き文字認識(HWR)モジュール(またはシステム)114を備えている場合がある。HWR114は、実施される命令のセットを有するソースプログラム、実行可能なプログラム(オブジェクトコード)、スクリプト、アプリケーション、または任意の他の構成要素である場合がある。
図2に示す本実施例では、アプリケーション112及びHWRモジュール114は、単一のアプリケーションに組み合わせられる(HWRモジュール114は、アプリケーション112の一部である)。代替的には、HWRモジュール114は、
図2に示されているように、コンピューティングデバイス100により、適切な通信リンクを通してリモートでアクセス可能である、サーバ(またはクラウドベースのシステム)SV1などの、コンピューティングデバイス100から離れている手書き文字認識システムと通信するためのモジュール、方法、またはシステムである場合がある。アプリケーション112及びHWRモジュール114も、コンピューティングデバイス100のメモリ108(または異なるメモリ)に格納された別々の構成要素である場合があり、それにより、アプリケーション112及びHWRモジュール114が、ともに作動して、処理され、メモリ108に格納された情報にアクセスする。
【0062】
図で後に示すように、入力表面104上で、または入力表面104を介して入力されたストロークは、デジタルインクとしてプロセッサ106によって処理される。デジタルインクは、このケースではディスプレイデバイス102上で、デジタル画像フォーマットで手書き入力をレンダリングすることによって形成される。
【0063】
ユーザは、ストロークを手もしくは指、または、入力表面104で使用するために適切なデジタルペンもしくはスタイラスなどのいくつかの入力器具で入力する場合がある。ユーザは、入力表面104の近くでのモーションを検知するように構成された手段が使用される場合に、入力表面104の上でジェスチャをすることにより、または、マウスもしくはジョイスティックなどのコンピューティングデバイス100の周辺機器で、ストロークを入力する場合もある。
【0064】
各インクグラフィックオブジェクト(たとえば、文字、シンボル、ワード、形状)は、1つまたは複数のそのようなストロークによって形成される。ストロークは、ストロークの開始位置(「ペンを下げる」事象に対応する)、ストロークの末端位置(「ペンを上げる」事象に対応する)、及びストロークの開始位置とストロークの末端位置とを接続するパスによって少なくとも特徴付けられている。異なるユーザが、いくつかのオブジェクト(たとえば、文字、形状、シンボルなど)を、わずかな変化を伴って自然に書くか手で描写する場合があることから、HWRモジュール114は、依然として適正であるか意図されているオブジェクトとして認識される限り、各オブジェクトが入力され得る様々な方法を許容する。
【0065】
図3は、そのローカル(すなわち、コンピューティングデバイス100にロードされている)またはリモート(すなわち、コンピューティングデバイス100によってリモートでアクセス可能である)の形態で、HRWモジュール114によって実施される認識プロセスの実施例の概略図である。しかし、他の実施態様が可能である。
【0066】
この認識プロセスは、前処理116、認識118、及び出力120などの段階(またはステップ)を含んでいる。
【0067】
前処理段階116では、より高い正確さ、及び認識段階118の間の処理時間の短縮を達成するために、デジタルインクを処理する。この前処理は、サイズの正規化、及び/または、入力を平滑にするためのB-スプラインの近似などの方法を適用することにより、ストロークの始点の位置とストロークの終点の位置とを接続するパスを正規化することを含む場合がある。
【0068】
前処理されたストロークは、次いで、認識段階118に渡される。この認識段階118は、前処理されたストロークによって形成されたオブジェクトを認識するようにストロークを処理する。認識されたオブジェクトは、次いで、メモリ108に出力120され、手書き入力要素(テキストまたはテキストではないもののいずれか)のデジタルインクまたはタイプセットのインクバージョンとして、ディスプレイデバイス102によって表示される。
【0069】
図4に示すように、特定の実施形態によれば、認識118は、異なる処理ユニット及び対応するステップを含む場合がある。具体的には、認識118は、HWRモジュール114の分割ユニット122、認識ユニット124、及び言語ユニット126によって実施される場合がある。これらユニットのいくつかの態様は、本発明の理解を促すために、以下に記載される。しかし、本開示を不必要に不明瞭にすることを避けるために、さらなる詳細は提供されない。手書き文字認識を実施することの一実施例は、たとえば、米国特許出願第2017/0109578A1号に見ることができる。
【0070】
分割ユニット118は、表現、たとえばワード、数学の方程式、または形状のグループを形成するために、入力ストロークを個別の要素の仮定、たとえば英数字、数学演算子、テキストの文字、個別の形状、サブ表現に分割するための異なる方法を規定する場合がある。たとえば、分割ユニット118は、分割グラフを得るために、もともとの入力の連続したストロークをグループ化することにより、要素の仮定を形成する場合がある。ここでは、各ノードは、少なくとも1つの要素の仮定に対応し、要素間の隣接の制約が、ノードの接続によって扱われる。
【0071】
認識ユニット124は、分類器128によって抽出された特徴の分類を実施し、分割グラフの各ノードに関する確率または認識スコアとともに、要素の候補のリストを出力する。当業者には既知である多くのタイプの分類器を、認識作業に対処するために使用することができる。分類器は、各入力要素を、テキストまたはテキストではないものとして分類する場合がある。
【0072】
言語ユニット126は、言語モデル(たとえば、文法または意味論)を使用して、分割グラフにおける様々なパスに関する言語学的意味を生成する。言語ユニット126は、言語学的情報130に基づき、ユニット122及びユニット124によって提案された候補をチェックする。言語学的情報130は、テキストベースの辞書(正規表現など)及び/または形状ベースの辞書などの辞書(複数可)を含むことができる。言語ユニット130は、最適な認識パスを見出すことを目的としている。辞書の制約に加え、言語ユニット126は、所与の要素のシーケンスがどれだけの頻度で特定の言語内に現れるか、または、特定のユーザによって使用されるかに関してモデル化する静的な情報を使用して、分割グラフの所与のパスの解釈の可能性を評価する場合がある。
【0073】
手書きアプリケーション112により、手書きまたは手での描写のコンテンツ(たとえば、図形、チャート、形状、図、または任意の種類のテキスト及び/またはテキストではないもの)を、デジタルインクの形態で生成することを可能にし、これらコンテンツを、HWRモジュール114を使用して正確に認識させる。
【0074】
本実施形態では、コンピューティングデバイス100によって実施される手書きアプリケーション112は、手書きのテキストまたはテキストではないものを含む、コンピューティングデバイス100への手書き入力を認識するための、HWRモジュール114を備えている。しかし、そのようなHWRモジュール114を伴わない他の実施態様も可能であることを考慮されたい。より一般的には、本発明のコンピューティングデバイスは、任意の適切な方式で、本発明の方法によって処理されるグラフィックオブジェクト(テキスト及び/またはテキストではないものを含む)を取得、受領、または判定するために適している。
【0075】
以下により詳細に記載するように、ディスプレイデバイス102は、複数のグラフィックオブジェクトをデジタルインクで、ディスプレイエリア内に表示するために適している。具体的には、このディスプレイエリアは、ガイドラインパターンに従って配置された少なくとも1つのテキストオブジェクトを含む構造化テキストセクションと、構造化テキストセクションとは別個であり、少なくとも1つのテキストオブジェクトまたはテキストではないオブジェクトを包含する少なくとも1つのブロックセクションと、を含む場合がある。
【0076】
図3にも示すように、メモリ108は、以下にさらに記載するように、本発明の方法を使用して選択される各グラフィックオブジェクトOBに対する情報を含むデータ構造113をも含む場合がある。さらに、ディスプレイエリア200に存在する各グラフィックオブジェクトOKのランクRKに対する情報も、メモリ18内に格納される場合がある。データ構造113及びランクRKの性質及び用途は、当業者により、特定の実施態様ごとに適合される場合がある。データ構造113及びランクを含む特定の実施形態が以下に記載されるが、他の実施形態が可能である。
【0077】
図5に示す特定の実施形態では、メモリ108に格納されたアプリケーション112を実行するとき、プロセッサ106は、複数の処理モジュール、すなわち、位置特定モジュールMD2、選択モジュールMD4、ならびに、場合によっては編集モジュールMD6及び/または格納モジュールMD8を実施する。しかし、とりわけ編集モジュールMD6及び/または格納モジュールMD8のいずれかを伴わない他の実施形態が可能である。
【0078】
アプリケーション112は、特定の実施形態において後に記載するように、本発明の方法のステップを実施するために、これらモジュールを実施するようにプロセッサを構成する命令を含んでいる。
【0079】
より具体的には、位置特定モジュールMD2は、ディスプレイエリアの始点を位置特定するように構成されている場合がある。この始点から、選択エリアを規定するために、入力表面104で実施されるユーザの選択ジェスチャ(後にGT1と称される)が開始される。
【0080】
さらに、選択モジュールMD4は、ユーザの選択ジェスチャに基づき、ディスプレイエリア内の選択エリアを形成する選択パスを判定し、選択エリア内に少なくとも部分的に包含される各グラフィックオブジェクトを選択するように構成されている場合がある。
【0081】
本実施形態では、選択モジュールMD4は、第1のモードME1または第2のモードME2のいずれかに従って、位置特定モジュールMD2によって判定された始点の位置に関連して作動するように構成されている。換言すると、モードME1とモードME2とは、位置特定モジュールMD2によって判定された始点の位置に応じて、選択モジュールMD4によって選択的に適用可能な2つの異なる選択モードである。選択モジュールMD4は、このため、ユーザの選択ジェスチャがどこで開始されるかに関連して、選択モードME1または選択モードME2のいずれかを適用する場合がある。
【0082】
第1のモードME1及び第2のモードME2の性質及び動作は、特定の実施形態で以下にさらに記載される。
【0083】
選択が行われると、編集モジュールMD6は、選択モジュールMD4によって選択された各グラフィックオブジェクトをブロックとして集合的に編集するように構成されている場合がある。
【0084】
特定の実施例では、格納モジュールMD8は、ディスプレイデバイス102上に表示されるグラフィックオブジェクトに対する情報を格納するために使用される場合がある。具体的には、格納モジュールMD8は、ディスプレイエリアに存在するグラフィックオブジェクトの各々に関するそれぞれのランクRKを格納する場合があり、これらグラフィックオブジェクトのランクRKは、特定のランクの順番に応じて順番が付けられる。グラフィックオブジェクトのランクRKは、どのグラフィックオブジェクトがユーザの選択ジェスチャによって引き起こされる選択に含まれるべきであるかを判定するために、選択モジュールMD4によって考慮される場合がある。
【0085】
コンピューティングデバイス100のモジュールMD2からMD8の構成及び動作は、図面を参照して以下に記載される特定の実施形態においてより明らかである。
図5に示すようなモジュールMD2からMD8が、本発明の例示的な実施形態を示すのみであり、他の実施態様が可能であることを理解されたい。
【0086】
本発明の方法の各ステップに関し、コンピューティングデバイスは、前述のステップを実施するように構成された対応するモジュールを備えている場合がある。
【0087】
本発明の特定の実施形態に従って、
図2から
図5に図示されるコンピューティングデバイス100によって実施される方法を、ここで
図6から
図17を参照して記載する。より明確には、コンピューティングデバイス100は、メモリ108に格納されたアプリケーション112を実行することにより、この方法を実施する。
【0088】
手で描写された(または手書きの)グラフィックオブジェクトOBがコンピューティングデバイス100に入力され、次いでユーザが、これらグラフィックオブジェクトの1つまたは複数を選択して、たとえば各選択されたグラフィックオブジェクトOBにいくらかの編集を実施することを望む、ある例示的なシナリオを考慮する。この実施例では、これらグラフィックオブジェクトOBが、入力表面104を使用して、コンピューティングデバイス100上でユーザによって手で描写されたことを想定する。代替的には、これら手で描写されたグラフィックオブジェクトOBが、コンピューティングデバイス100により、任意の適切な方式で取得、受領、または判定される場合がある。
【0089】
表示ステップS2(
図6)では、コンピューティングデバイス100は、ディスプレイデバイス102のディスプレイエリア200に、デジタルインクで複数のグラフィックオブジェクトOBを表示する。
図7に示すように、コンピューティングデバイス100は、たとえば、
-ガイドラインパターン204に応じて配置された少なくとも1つのテキストオブジェクトOBを包含する構造化テキストセクション(または構造化テキストブロック)202と、
-構造化テキストセクション202とは別個であり、少なくとも1つのテキストオブジェクトまたはテキストではないオブジェクトOBを包含する少なくとも1つのブロックセクションBLと、
を表示する(S2)場合がある。
【0090】
1つまたは複数のブロックセクションBLは、様々な性質である場合がある。これらブロックセクションBLは、
-少なくとも1つの描写オブジェクトOBを包含する描写ブロックセクションと、
-数学式を示す少なくとも1つの数学的オブジェクトOBを包含する数学的ブロックセクションと、
-テキストオブジェクト及びテキストではないオブジェクトOBを包含する線図ブロックと、
の少なくとも1つ(またはこれらの任意の組合せ)を含む場合がある。
【0091】
上述の描写オブジェクトは、写真または画像である(または含む)場合がある。
【0092】
より具体的には、
図7に示すように、この実施例では、ディスプレイデバイス102がディスプレイエリア200に
-ガイドラインパターン204に従って配置された2つのテキストオブジェクトOB1及びOB2を包含する構造化テキストセクション202と、
-1つまたは複数のテキストオブジェクト及び/またはテキストではないオブジェクトOBの各々を包含する、構造化テキストセクション202とは別個の、3つのブロックセクションBL1、BL2、及びBL3(集合的にBLと称される)と、
を表示する(S2)ことが予想される。
【0093】
セクション202、BL1、BL2、及びBL3の各々は、互いに別個である。
【0094】
当然、他の実施例も考えられる場合がある。具体的には、当業者に理解されるように、ブロックセクションBLの数及び性質が変化する場合がある。
【0095】
図7に示すように、構造化テキストセクションは、2つのテキストオブジェクトOB1とOB2とを包含しており、それぞれ、この実施例では手書きされたワード「hello」と「how」とに対応している。これらテキストオブジェクトOB1、OB2は、ガイドラインパターン204に従って配置されている。換言すると、テキストオブジェクトOB1、OB2は、ガイドラインパターン204によって規定された構造化フォーマットで構造化テキストセクション202に表示される。ガイドラインパターン204は、複数のガイドライン(またはベースライン)を含んでおり、このガイドラインに沿って、テキストオブジェクトOB1、OB2が配置される。ガイドラインパターン204は、位置、向き、及びサイズの制約を、構造化テキストセクション202に表示されるテキスト入力に課す。ガイドラインパターン204は、マージン及び/または所定のライン長さをも規定する場合がある。このライン長さは、構造化フォーマットにおける各テキストラインの最大長さを課す。
【0096】
本実施例では、ガイドラインパターン204のすべてのガイドラインは平行であり、隣接するガイドラインから一定のライン間距離だけ離れている。しかし、ガイドラインパターン204に基づいているこの構造化フォーマットは、実施態様の単なる実施例を構成するに過ぎないことを理解されたい。他のドガイドラインパターンが、当業者には予期され得る。
【0097】
図7にも示すように、ブロックセクションBL1は、数学の式(すなわち、「5+2=7」)を示す数学的オブジェクトOB5を含む数学的ブロックセクションである。ブロックセクションBL2は、テキストコンテンツ(すなわち、文字)及びテキストではないコンテンツ(すなわち、コンテナ及び矢印を形成する形状)を含む線図オブジェクトOB8を包含する線図ブロックセクションである。ブロックセクションBL3は、構造化フォーマットと対照してみると、フリーハンドライティングのフォーマットで構成された図、すなわち、追従すべきラインまたは従うべき入力サイズのあらゆる制約を伴わない図を包含する描写ブロックセクション(たとえばブランクエリア上)である。本実施例では、この図は、2つの描写オブジェクトOB10及びOB11を含んでいる。
【0098】
概略的なルールとして、ディスプレイエリア200に表示される手書き入力がグラフィックオブジェクトに規定される方法は、各用途のケースに応じて当業者によって適合される場合がある。この実施例では、構造化テキストセクション202内の各ワードが別個のグラフィックオブジェクトOBを構成しているが、他のレベルのグラフィックオブジェクトを規定することが可能である(たとえば、文字レベルまたはテキストラインレベルでのオブジェクトの規定)。同様に、数学的ブロックセクションBL1内に存在する数学的文字またはシンボルの各々は、別個のグラフィックオブジェクトOBとして規定される場合がある。同じことがブロックセクションBL2及びBL3に適用される。
【0099】
図7に示す本実施例では、構造化テキストセクション202が、テキスト入力をガイドするためのガイドラインとともにディスプレイエリア200のバックグラウンドを形成する。ブロックセクションBLは、このバックグラウンド上(すなわち、このバックグラウンドのトップの上かつこのバックグラウンドに沿う)に表示される。しかし、他の実施態様が可能である。
【0100】
図8に示すように、位置特定ステップS4(
図6)では、コンピューティングデバイス100は、ディスプレイエリア202に始点PT1を位置特定する。この始点(PT1)から、選択エリア(輪郭エンクロージャとも呼ばれる)212を規定するために入力表面104で実施されるユーザの選択ジェスチャGT1が開始される。換言すると、コンピューティングデバイス100は、選択エリア212を規定するために、入力表面104で、ユーザによって実施されるユーザの選択ジェスチャGT1の開始を検出し、このユーザの選択ジェスチャGT1が開始される始点(またはスタートポイント)PT1を位置特定する。
【0101】
本実施例では、ユーザの選択ジェスチャGT1は、選択パスに沿うディスプレイデバイス上のデジタルインクのストロークの生成を生じる、ユーザの身体の部位(または任意の入力ツール)の、入力表面104との相互作用である。このデジタルインクの表示により、ユーザがディスプレイエリアで選択パスを描写している間、ユーザを補助する視覚フィードバックを提供する。
【0102】
ユーザの選択ジェスチャGT1の開始は、こうして、ペンを下げる事象、すなわち、ユーザの身体(または任意の適切な入力ツール)と入力表面104との接触が検出されると検出される場合がある。
【0103】
より具体的には、コンピューティングデバイス100は、S4において、構造化テキストセクション202、ならびに3つのブロックセクションBL1、BL2、及びBL3(
図8)の中で、ディスプレイエリア200のどのセクションに始点PT1が位置しているかを判定する。迫っているユーザの選択が実施される方法は、ディスプレイエリア200内の始点PT1の位置に関連する。以下にさらに論じるように、1つまたは複数のグラフィックオブジェクトOBの選択は、ユーザの選択ジェスチャGT1の始点PT1の位置に応じて、第1のモードME1または第2のモードME2のいずれかに従って実施される場合がある。
【0104】
このため、判定ステップS6(
図6)では、コンピューティングデバイス100が、S4で取得された始点PT1の位置に基づき、モードME1とモードME2とのどちらが、ディスプレイエリア200内の少なくとも1つのグラフィックオブジェクトOBの選択を実施するために適用されているかを判定する。
【0105】
始点が構造化テキストセクション202に位置している(S4)場合、コンピューティングデバイス100は、第1のモードME1を選択する(S6)。しかし、始点がブロックセクションBLの1つに位置している(S4)場合、コンピューティングデバイス100は、第2のモードME1を選択する(S6)。これら2つのモードME1及びME2は、特定の実施形態において、以下により詳細に記載される。
【0106】
図8に示すように、入力表面104で実施されたユーザの選択ジェスチャGT1は、始点PT1から始まり、ディスプレイエリア200の少なくとも1つのグラフィックオブジェクトOBを選択する。実際には、ユーザは、始点PT1から始まる入力表面104上の接触ポイント(または相互作用のポイント)を移動して、ユーザの選択ジェスチャGT1を実施する。
【0107】
これらモードME1とモードME2との両方において、コンピューティングデバイス100は、ユーザの選択ジェスチャGT1に基づき、かつS6で選択されたモードME1及びME2に従って、選択パス210を判定する(S7、
図6)。この選択パス210は、ユーザの選択ジェスチャGT1に対応し、ディスプレイエリア200の選択エリア212を形成する。選択パス210の判定は、ユーザの選択ジェスチャGT1がユーザによって入力表面104で実施されている間に動的に行われ得る。
【0108】
このため、コンピューティングデバイス100は、ユーザの選択ジェスチャGT1によって規定される選択パス210の終点PT2の位置を経時的にS7で判定する。ユーザの選択ジェスチャGT1が進行中の間は、終点PT2がディスプレイエリア200内を移動する。コンピューティングデバイス100は、こうして、始点PT1から開始され、終点PT2の移動によって規定されるパスに対応する選択パス210を動的に判定することができる。
【0109】
図6の選択ステップS7は、コンピューティングデバイス100が第1のモードME1と第2のモードME2とのそれぞれで作動するとき、ステップS8とステップS9と、としてより具体的に参照される。
【0110】
第1のモードME1が適用される場合(始点が構造化テキストセクション202内に位置するケース)、コンピューティングデバイス100は、構造化テキストセクション202及びブロックセクションBLの任意のグラフィックオブジェクトOBを選択するように、選択パス210をディスプレイエリア200内で描写させることを可能にする(S8、
図6)。一方、始点がブロックセクションBLの内のターゲットブロックセクション内に位置することから、第2のモードME2が適用される場合、コンピューティングデバイス100は、前述のターゲットブロックセクションの外側のいずれのグラフィックオブジェクトOBの選択をも防止するために、ターゲットブロックセクション内に選択パス210を制限する(S10、
図6)。
【0111】
換言すると、第1のモードME1においては、選択パス210は、グラフィックオブジェクトOB1、OB2、OB5、OB8、OB10、及びOB11の任意のものを選択するように、構造化テキストセクション202及びブロックセクションBLのいずれかにわたって、ユーザによって自在に描写(S8)され得る。ユーザの選択ジェスチャGT1がディスプレイエリア200において入力表面104で実施されている間は、コンピューティングデバイス100によって選択パスに制約は課されていない。
【0112】
対照的に、第2のモードME2では、ユーザによって描かれた選択パス210は、コンピューティングデバイス100により、ステップS4で位置特定された始点PT1を包含する、1つのブロックセクション、いわゆるターゲットブロックセクションに限定されるか制限される(S10)。ユーザの選択ジェスチャGT1がターゲットブロックセクションBLの外に移動した場合であっても、コンピューティングデバイス100は、選択パス210をターゲットブロックセクション内に制限し、それにより、前述のターゲットブロックセクションの外側のグラフィックオブジェクトOBが選択され得ないようになっている。このため、第2のモードME2では、ターゲットブロックセクションBL内に存在する1つまたは複数のグラフィックオブジェクトOBの選択のみが行われ得る。
【0113】
図8から
図14に示す実施例では、ユーザの選択ジェスチャGT1の始点PT1が構造化テキストセクション202に位置していることが想定される。したがって、コンピューティングデバイス100は、1つまたは複数のグラフィックオブジェクトOBの選択を可能にするように、第1のモードME1を選択する(S6)。
【0114】
結果として、コンピューティングデバイス100は、第1のモードME1に従って作動し、それにより、構造化テキストセクション200及び3つのブロックセクションBLの任意のグラフィックオブジェクトOBを選択するように、選択パス210をディスプレイエリア200内で描写することを可能にする(S8)。このことは、ユーザの選択ジェスチャGT1が、ブロックセクションBLのいずれか1つの中で移動しているものとして検出された場合、コンピューティングデバイス100は、選択パス210が、前述のブロックセクションBL内の対応するパスに沿って描かれることを判定することを意味している。すでに示したように、第1のモードME1では、ディスプレイエリア202内の選択パス210に、境界または位置の制限は課されていない。
【0115】
本実施例では、コンピューティングデバイス100が第1のモードME1に従って作動するとき、入力表面104上で経時的にユーザによって加えられた接触ポイントのパスは、選択パス210と同一である(またはマッチする)。
【0116】
図8に示す実施例では、ユーザの選択ジェスチャGT1は、構造化テキストセクション202に位置する始点PT1からブロックセクションBL2に移動する。これに応じて、コンピューティングデバイス100は、終点PT2が、第1のモードME1に従って、ユーザの選択ジェスチャGT1に応じてブロックセクションBL2内に移動するにつれて終点PT2を規定する。
【0117】
図8に示すように、判定ステップS12(
図6)では、コンピューティングデバイス100は、S6で判定された選択パスによって形成される選択エリア212を判定する。本実施例では、この判定S12は、ユーザの選択ジェスチャGT1が実施されている間に動的に実施される。他の実施態様が可能であるが、選択エリア212は、ユーザの選択ジェスチャGT1が完了した際にのみ判定される。
【0118】
より具体的には、判定ステップS12において、コンピューティングデバイス100(すなわち、選択モジュールMD4)は、始点PT1を、選択パス210の終点PT2と接続し、それによって選択エリア212を形成する接続ライン214を判定する。以下の実施例では、接続ライン214は直線であるが、他の実施態様が可能である。コンピューティングデバイス100は、こうして、選択パス210及び接続ライン214によって規定される選択エリア212を動的に判定するが、ユーザの選択ジェスチャGT1は、依然として進行中である。
【0119】
図15に示す特定の実施例では、コンピューティングデバイス100は、選択パス210が依然としてユーザの選択ジェスチャGT1によって描かれている間に、現在の終点PT2を検出し(S30)、(S4で規定された)始点PT1と現在の終点PT2とを接続する接続ライン214を動的に規定し(S32)、選択パス210及び接続ライン214によって形成された選択エリア212を判定する(S34)。
【0120】
さらに、選択ステップ(S14、
図6)では、コンピューティングデバイス100は、S12で判定された選択エリア212内に少なくとも部分的に包含される各グラフィックオブジェクトOBを選択する。コンピューティングデバイス100は、こうして、ユーザの選択ジェスチャGT1が実施されている間に、どのグラフィックオブジェクトOBが少なくとも部分的に選択エリア212内に位置しているかを動的に識別することができる。ユーザの選択ジェスチャGT1は、こうして、選択エリア212で少なくとも部分的に囲まれた各グラフィックオブジェクトOBを選択することになる。
【0121】
図8に示す実施例では、コンピューティングデバイス100は、グラフィックオブジェクトOB8の一部分が選択エリア212内に位置していることを検出し(S14)、こうして、ユーザの選択ジェスチャGT1に応じて、選択の一部としてグラフィックオブジェクトOB8を識別する。
【0122】
コンピューティングデバイス100は、ユーザの選択ジェスチャGT1によって現在選択されている(すなわち、現在選択の一部である)各グラフィックオブジェクトOBに関する情報を含むデータ構造113を生成及び格納する(S14)場合もある。データ構造113は、たとえば、現在選択の一部である各グラフィックオブジェクトOBのそれぞれの識別子をリスト化する場合がある。データ構造は、ユーザの選択ジェスチャGT1が経時的に進行する(それにより、選択エリア214を変更している)間に動的にアップデートされ得る。新たに選択されたグラフィックオブジェクトOBの各々の識別子は、たとえば、行われている選択をアップデートするために、データ構造113内で経時的に追加され得る。
【0123】
特定の実施例では、現在選択の一部であるグラフィックオブジェクトOBは、前述のグラフィックオブジェクトOBをもはや包含していない選択パス210に基づいて選択エリア212が動的に判定される(S12)場合、選択されないようになる(すなわち、現在の選択から除外される)場合がある。このケースでは、選択されなくなる各グラフィックオブジェクトOBの識別子は、データ構造113から除外される。
【0124】
特定の実施例では、現在の選択エリア212内に(その相対的な割合が何であっても)少なくとも部分的に包含されている各グラフィックオブジェクトOBは、選択の一部として含まれる。
【0125】
特定の実施例では、選択は、所定の閾値を超えている、選択エリア212内の相対的な割合を表すグラフィックオブジェクトOBの各々が選択されるように、S14で実施される。たとえば、現在の選択エリア212の内側に位置する、少なくとも20%、または50%を有する各グラフィックオブジェクトは、選択の一部として含まれる。このケースでは、所定の閾値未満の、グラフィックオブジェクトOBの相対的に小さい部分のみが、選択エリア212内に位置し、このため、グラフィックオブジェクトは選択に含まれない。
【0126】
図8の特定の実施例に示すように、ディスプレイデバイス102は、選択パス210が描写されている間にユーザの選択ジェスチャGT1によって現在選択されている各グラフィックオブジェクトOBに関して視覚フィードバックFBを生成する(S16、
図6)場合もある。様々な形態であり得るこの視覚フィードバックは、ユーザの選択ジェスチャGT1が依然として実施されている間(たとえば、ペンを上げる事象の検出の前)に、現在の選択を識別またはハイライトする場合がある。たとえば、選択された各グラフィックオブジェクトOBは、(たとえば、色の変化を引き起こす、及び/または、選択された各オブジェクトを包含する別個の境界のボックスを表示することにより)外観を変化させる。視覚フィードバックFBを伴わない他の実施態様も可能である。特定の実施形態では、視覚フィードバックFBは、ユーザの選択ジェスチャGT1が依然として進行中である間は引き起こされないが、代わりに、ユーザの選択ジェスチャGT1が終了したことが検出された(S18)際にのみ引き起こされる。
【0127】
ユーザの選択ジェスチャGT1が進行中である限り、グラフィックオブジェクトの選択は、経時的に変化する場合がある。コンピューティングデバイス100は、こうして、ペンを上げる事象の検出(S18)がされない限り、ステップS6で選択されたモード(すなわち、この実施例では第1のモードME1)に従って、ステップS7からステップS14を経時的に反復することができる。本実施例では、ペンを上げる事象の検出は、ユーザが、そのユーザの入力表面104でのユーザの選択ジェスチャGT1を終了したことを意味している。しかし、ユーザの選択ジェスチャGT1の終了を検出する他の方法が可能である。たとえば、ユーザの選択ジェスチャGT1の終了は、選択パス210が選択パス210自体と交差する(すなわち、終点PT2が選択パス210と交わる)ことが検出されると、検出される場合がある。
【0128】
ステップS7からステップS14を経時的に繰り返すことにより、コンピューティングデバイス100は、現在の選択パス210に基づき、選択エリア212を動的にアップデートし(S12)、それにより、選択エリア212に基づき、グラフィックオブジェクトの選択もアップデートする(S14)。このため、データ構造113は、ユーザの選択ジェスチャGT1によって現在選択されている1つまたは複数のグラフィックオブジェクトOBの最新の選択を維持するようにアップデートされる場合がある。
【0129】
コンピューティングデバイス100は、ユーザの選択ジェスチャGT1が実施されている間に、視覚フィードバックFBを適合させる(S18)場合もある。
【0130】
図9から
図13に示すように、コンピューティングデバイス100は、ユーザの選択ジェスチャGT1が前進している間に、同じ方式で進行する場合がある。
【0131】
より具体的には、
図9に示すように、コンピューティングデバイス100は、たとえば、ユーザの選択ジェスチャGT1がブロックセクションBL3を超えて移動することを検出する場合がある。第1のモードME1に従って、コンピューティングデバイス100は、ブロックセクションBL3内の対応するパスに沿って選択パス210が描かれることを可能にする(S8)。新たな選択エリア212が動的に判定され(S12)、前述のものと同じ方式で選択がアップデートされる(S14)。
【0132】
本ケースでは、グラフィックオブジェクトOB10及びOB11のいずれも、現在の選択パス210によってここで形成されている選択エリア212に含まれないことが予想される。したがって、コンピューティングデバイス100は、選択を変化しないままにする(S14)。このことは、グラフィックオブジェクトOB8のみが現在の選択の一部であることを意味している。このため、視覚フィードバックFBも変化しないままである(S16)。
【0133】
図10に示すように、コンピューティングデバイス100は、この実施例では、ユーザの選択ジェスチャGT1がブロックセクションBL2を超えて移動することを検出する。第1のモードME1に従って、コンピューティングデバイス100は、ブロックセクションBL2内の対応するパスに沿って選択パスが描かれることを可能にする(S8)。新たな選択エリア212が動的に判定され(S12)、前述のものと同じ方式で選択がアップデートされる(S14)。
【0134】
本ケースでは、グラフィックオブジェクトOB5は、現在の選択パス210によってここで形成されている選択エリア212に含まれないことが予想される。したがって、コンピューティングデバイス100は、選択を変化しないままにする(S14)。このことは、グラフィックオブジェクトOB8のみが現在の選択の一部であることを意味している。このため、視覚フィードバックFBも変化しないままである(S16)。
【0135】
図11の実施例に示すように、ここでは、ユーザの選択ジェスチャGT1が構造化テキストセクション202内で前進することが予想される。第1のモードME1に従って、コンピューティングデバイス100は、構造化テキストセクション202内の対応するパスに沿って選択パスが描かれることを可能にする(S8)。新たな選択エリア212が動的に判定され(S12)、前述のものと同じ方式で選択がアップデートされる(S14)。
【0136】
本ケースでは、ここで始点PT1と終点PT2とを接続している接続ライン214がグラフィックオブジェクトOB2と交差するように、選択パス210の終点PT2が配置されることが予想される。結果として、ステップS12で判定された選択エリア212は、グラフィックオブジェクトOB2を部分的に包含し、このため、OB8に加えてグラフィックオブジェクトOB2の選択(S14)を生じる。換言すると、グラフィックオブジェクトOB2は、OB8とともに、現在の選択の一部として含まれる。したがって、現在の選択を表すデータ構造113は、グラフィックオブジェクトOB2の識別子を含むようにアップデートされる。視覚フィードバックFBも、OB8とともに、グラフィックオブジェクトOB2をハイライトするように適合される(S16)。
【0137】
図12の実施例に示すように、ユーザの選択ジェスチャGT1が構造化テキストセクション202内でさらに移動することが予想される。第1のモードME1に従って、コンピューティングデバイス100は、構造化テキストセクション202内の対応するパスに沿って選択パスが描かれることを依然として可能にする(S8)。新たな選択エリア212が動的に判定され(S12)、前述のものと同じ方式で選択がアップデートされる(S14)。
【0138】
本ケースでは、ここで始点PT1と終点PT2とを接続している接続ライン214がグラフィックオブジェクトOB1と交差するように、選択パス210の終点PT2が配置されることが予想される。結果として、ステップS12で判定された選択エリア212は、グラフィックオブジェクトOB1を部分的に包含し、このため、OB2及びOB8に加えてグラフィックオブジェクトOB1の選択(S14)をも生じる。換言すると、グラフィックオブジェクトOB1は、OB2及びOB8とともに、現在の選択の一部として含まれる。したがって、現在の選択を表すデータ構造113は、グラフィックオブジェクトOB1の識別子を含むようにアップデートされる。視覚フィードバックFBも、OB2及びOB8とともに、グラフィックオブジェクトOB1をハイライトするように適合される(S16)。
【0139】
図13に示すように、ユーザの選択ジェスチャGT1が、現在の選択に影響することなく、構造化テキストセクション202を進み、次いで、ペンを上げる事象(すなわち、ユーザが、入力表面104とのユーザの相互作用を終了する)が検出されると(S18、
図6)、終了されることが予想される。本実施例では、ユーザが、入力表面104からユーザの指または入力ツールを離した場合、コンピューティングデバイス100は、選択プロセスが完了したと推定する(S18)。
【0140】
ユーザの選択ジェスチャGT1が終了すると、このため、選択は、選択の一部としてステップS14で識別された各グラフィックオブジェクトOBで形成される。データ構造113は、選択されたグラフィックオブジェクトOBの各々のそれぞれの識別子に基づき、最終的な選択を識別するために使用され得る。編集(たとえば、コピー/ペースト、カット/ペースト、サイズ変更、移動、テキストリフロー)などの任意の適切な操作が、こうして、少なくとも1つのグラフィックオブジェクトOBの選択されたグループ上で実施される(S20)場合がある。具体的には、コンピューティングデバイス100は、ユーザの選択ジェスチャGT1に応じて選択されたグラフィックオブジェクトOBの各々を単一のブロックとして集合的に編集する(S20)場合がある。
【0141】
図14に示す特定の実施例では、ユーザの選択ジェスチャGT1が終了したものとして検出されると(S18)、コンピューティングデバイス100は、スタートカーソルCS1とエンドカーソルCS2とを、選択された各グラフィックオブジェクトOBによって集合的に形成された全体の選択の始まりと終わりとに表示する場合もある。前に示したように、各グラフィックオブジェクトOBのランクRKは、特定の順番に応じて規定され、メモリ108に格納される場合がある。コンピューティングデバイス100は、こうして、選択された各グラフィックオブジェクトOBのそれぞれのランクRKに基づき、選択のうちの最初と最後のグラフィックオブジェクトOBを判定する場合がある。現在、グラフィックオブジェクトOBが、OB1、OB2、OB5、OB8、OB10、及びOB11の順番に従ってランクが付されていることが予想される。スタートカーソルCS1はこのため、選択の第1のグラフィックオブジェクト(すなわち、OB1)に隣接して表示される場合があり、エンドカーソルCS2は、選択の最後のグラフィックオブジェクト(すなわち、OB8)に隣接して表示される場合がある。カーソルCS1及びCS2を表示することは、(たとえば編集の前に)全体の選択の始まりと終わりとをユーザが識別することを助け、また、必要である場合は、スタートカーソルCS1及び/またはエンドカーソルCS2を移動することにより、(グラフィックオブジェクトを追加または除去するように)全体の選択を適合させることを可能にもする場合がある。このため、スタートカーソル及びエンドカーソルは、ユーザがディスプレイエリア200内で選択及びドラグして、全体の選択を変化させることができるハンドルを伴って提供され得る。
【0142】
図14の特定の実施例に示すように、ユーザの選択ジェスチャGT1の終了が検出されると(S18)、ユーザの選択ジェスチャGT1に応じて選択されたグラフィックオブジェクトOBの各々の編集をユーザが実施することを可能にするように、ソフトキーボードも表示される場合がある。
【0143】
コンピューティングデバイス100が、テキストオブジェクトOBが実際に構造化テキストセクション202に存在するかに関わらず、第1のモードME1に従って同じ方式で作動する場合があることに留意されたい。変形形態では、ステップS7からステップS14が第1のモードME1で実施されるとき、テキストオブジェクトOBは、構造化テキストセクション202には表示されない。
【0144】
上述したように、選択モジュールMD4は、第1のモードME1または第2のモードME2のいずれかに従って、位置特定モジュールMD2によって位置特定ステップS4(
図6)において判定された始点の位置に関連して作動するように構成されている。特定の実施例を、
図8から
図14を参照して上述した。この実施例では、コンピューティングデバイス100は、第1のモードME1に従って作動し、それにより、選択パス210をディスプレイエリア200内で描写させて、構造化テキストセクション202及びブロックセクションBLの任意のグラフィックオブジェクトOBを選択する。第1のモードME1では、構造化テキストセクション202内及びブロックセクションBL内に位置し、前述の選択エリアに少なくとも部分的に包含されている任意のグラフィックオブジェクトOBは、こうして、ユーザの選択ジェスチャGT1によって選択され得る。
【0145】
ここで、別の実施例を、
図16から
図17を参照して記載する。この実施例では、コンピューティングデバイス100は、第2のモードME2に従って作動し、それにより、選択パス210を所与のブロックセクションBL、いわゆるターゲットブロックセクションBL内に制限する。このブロックセクションBLで、ユーザの選択ジェスチャGT1が開始される。前述のターゲットブロックセクションの外側の任意のグラフィックオブジェクトOBの選択は、こうして防止される。
【0146】
より具体的には、
図16に示すように、ステップS2、S4、及びS6が、
図6を参照してすでに前述したように実施される。現在、ユーザによって入力表面104で実施されるユーザの選択ジェスチャGT1の開始に対応する始点PT1が、ブロックセクションBL内、すなわち、この実施例ではブロックセクションBL2内に位置することが予想される。このブロックセクションBL2は、本発明の意味では、ターゲットブロックセクションを構成する。始点PT1がターゲットブロックセクションBL2内に位置していることが検出されると、コンピューティングデバイス100は、少なくとも1つのグラフィックオブジェクトOBの選択を実施するために、第2のモードME2を選択する(S6、
図6)。
【0147】
判定ステップS8(
図6)では、次いで、コンピューティングデバイス100は、ユーザの選択ジェスチャGT1に基づき、かつS6で選択されたモードME2に従って、選択パス210を判定する。この選択パス210は、すでに記載したように、ディスプレイエリア200内に選択エリア212を形成する。選択パス210の判定は、ユーザの選択ジェスチャGT1がユーザによって入力表面104で実施されている間に動的に行われ得る。
【0148】
第1のモードME1を参照して前述したように、第2のモードME2に従って作動するコンピューティングデバイス100は、ユーザの選択ジェスチャGT1によって規定される選択パス210の終点PT2の位置を経時的に判定する(S8)。ユーザの選択ジェスチャGT1が進行中の間は、終点PT2がディスプレイエリア200内を移動する。コンピューティングデバイス100は、こうして、始点PT1から開始され、終点PT2の移動によって規定されるパスに対応する選択パス210を動的に判定することができる。
【0149】
しかし、選択された第2のモードME2に従って、コンピューティングデバイス100は、前述のターゲットブロックセクションBL2の外側のいずれのグラフィックオブジェクトOBの選択をも防止するために、このケースではターゲットブロックセクションBL2内に選択パス210を制限する(S8、
図6)。
【0150】
換言すると、ユーザによって描かれた選択パス210は、コンピューティングデバイス100により、ステップS4で位置特定された始点PT1を包含する、ターゲットブロックセクションBL2に限定されるか制限される。ユーザの選択ジェスチャGT1がターゲットブロックセクションBL2の外に移動した場合であっても、コンピューティングデバイス100は、選択パス210をターゲットブロックセクションBL2内にブロックし、それにより、前述のターゲットブロックセクションの外側のグラフィックオブジェクトOBが選択され得ないようになっている。このため、第2のモードME2では、ターゲットブロックセクションBL2内に存在する1つまたは複数のグラフィックオブジェクトOB(すなわち、この実施例ではOB8)の選択のみが行われ得る。
【0151】
より具体的には、
図16に示すように、ユーザは、すでに記載したように、入力表面104と相互作用することにより、ユーザの選択ジェスチャGT1を実施する場合がある。この実施例では、このユーザの相互作用は、S4で検出された始点PT1から始まる、入力表面104上で前進する接触ポイント(または相互作用ポイント)PT3である。
図16に見ることができるように、コンピューティングデバイス100が第2のモードME2に従って作動するとき、入力表面104上で経時的にユーザによって加えられた接触ポイントのパスは、S10で判定された選択パス210とは必ずしも同一ではないが、選択パス210は、依然として、ユーザの選択ジェスチャGT1に基づいて判定される。
図16の実施例では、ユーザの選択ジェスチャGT1は、接触ポイントPT3によって示されるように、ターゲットブロックセクションBL2の外側の始点PT1から移動する。第2のモードME2に従って、コンピューティングデバイス100は、選択パス210がターゲットブロックセクションBL2内に制限されたままであるように、選択パス210を動的に判定する(S10)。選択パス210がターゲットブロックセクションBL2内に限定されているが、選択パス210は、依然としてユーザの選択ジェスチャGT1を経時的に(ある程度まで)反映する(しかし、ユーザの選択ジェスチャGT1と選択パス210とは同一ではない)。選択パス212は、ターゲットブロックセクションBL2の境界によってガイドされる。
【0152】
図16に見ることができるように、ユーザの選択ジェスチャGT1がターゲットブロックセクションBL2から構造化テキストセクション202に移動することが検出されると、コンピューティングデバイス100は、ターゲットブロックセクションBL2内にブロックされたままである程度まで、ユーザの選択ジェスチャGT1を大まかに反映する選択パス210を判定する。
【0153】
図16に示す本実施例では、選択パス210は、ターゲットブロックセクションBL2の境界に沿うユーザの選択ジェスチャGT1の投影として判定されるが、他の実施形態が可能である。接触ポイントPT3がターゲットブロックセクションBL2の外側で、かつターゲットブロックセクションBL2周りを移動する場合、終点PT2は、接触ポイントPT3に対応して、ターゲットブロックセクションBL2の境界に沿って移動する。
【0154】
コンピューティングデバイス100は、次いで、第1のモードME1で
図8から
図13を参照してすでに記載したように、ステップS12からステップS20を実施する。
【0155】
すでに記載したように、ユーザの選択ジェスチャGT1が進行中である限り、グラフィックオブジェクトの選択は、経時的に変化する場合がある。コンピューティングデバイス100は、こうして、ペンを上げる事象の検出(S18)がされない限り、ステップS6で選択された第2のモードME2に従って、ステップS7からステップS14を経時的に反復する場合がある。ステップS7からステップS14を繰り返すことにより、コンピューティングデバイス100は、現在の選択パス210に基づき、選択エリア212を動的にアップデートし(S12)、それにより、選択エリア212に基づき、グラフィックオブジェクトの選択もアップデートする(S14)。このため、データ構造113は、ユーザの選択ジェスチャGT1によって現在選択されている1つまたは複数のグラフィックオブジェクトOBの最新の選択を維持するようにアップデートされる場合がある。
【0156】
図17の実施例に示すように、ユーザの選択ジェスチャGT1が構造化テキストセクションBL2内を前進し続け、次いでターゲットブロックセクションBL2内へ、湾曲パスを戻るように漂うことが検出されると、コンピューティングデバイス100は、ターゲットブロックセクションBL2内に制限された対応する選択パス210を動的に描写し(S10)、選択パス210の終点PT2と始点PT1とを接続する接続ライン214を判定し(S12)、選択パス210及び接続ライン214によって形成される選択エリア212を判定し(S12)、選択エリア212内に部分的に包含されたグラフィックオブジェクトOB8を選択する(S14)。結果として、グラフィックオブジェクトOB8の選択を表す視覚フィードバックは、ディスプレイデバイス102上に提供される。
【0157】
上述の実施形態では、選択されたグラフィックオブジェクトOBの各々を識別するステップS14(
図6)が、第1のモードME1及び第2のモードME2で、ユーザの選択ジェスチャGT1が終了することをS18で検出する前に実施される。結果として、ユーザが入力表面104でユーザの選択ジェスチャGT1を実施している間、現在選択されているオブジェクトOBを動的に識別することができる(S14)。
【0158】
変形形態では、第2のモードME2が実施されるとき(また、場合によっては第1のモードME1でも)、識別ステップS14は、ユーザの選択ジェスチャGT1が終了した場合にのみ実施される。このことは、第2のモードME2で作動しているコンピューティングデバイス100が、ユーザの選択ジェスチャGT1が依然として進行中である間にどのグラフィックオブジェクトOBが選択されたかを識別しない(S14)ことを意味している。コンピューティングデバイス100がすでに記載したように識別ステップS14を実施するのは、ユーザの選択ジェスチャGT1の終了を検出した(S18)際である。この変形形態は、数学式、図などのグラフィックオブジェクトにおいて特に、経時的に繰り返し現在の選択を識別することによって被るリソースのコストを節約することを可能にする。
【0159】
さらに、
図16の実施例に示すように、コンピューティングデバイス100は、選択パス210が直線を形成する場合であっても(すなわち、選択パス210が、始点PT1と終点PT2とを接続する接続ライン214と同一であるときであっても)、選択パス210に基づき、選択エリア212を判定するように構成されている場合がある。
【0160】
図18及び
図19の実施例に示すように、選択パス210及び接続ライン214は、予め規定されたストローク幅W1(ゼロより大である)を有するデジタルインクの2つのそれぞれのストロークによってディスプレイエリア200上に表示される場合があり、選択エリア212は、選択パス210及び接続ライン214によって集合的に規定され、それにより、前述の選択エリア212が、選択パス210及び接続ライン214によって占められるエリアを含むようになっている。
【0161】
たとえば、
図18に示すように、選択パス210が、始点PT1から終点PT2まで、直線状のラインを実質的に形成するケースでは、コンピューティングデバイス100は、S12(
図6)において、選択エリア212が、選択パス210によって占められたエリアA1によって形成されていると判定する場合がある。換言すると、選択パス210は、選択パス210自体で、幅W1のデジタルインクストロークによって形成された、最小の選択エリア212を規定する。
【0162】
図19に示す実施例では、選択エリア212は、
-選択パス210のエリアA2と、
-接続ライン214のエリアA8と、
-選択パス210及び接続ライン214によって形成されたエリアと、
によって集合的に形成される。
【0163】
この実施例では、このため、S14(
図6)における選択は、(ラインの交差のメカニズムとは対照的に)エリアの交差に基づいている。各グラフィックオブジェクトOBによって占められるエリアも、各グラフィックオブジェクトOBが少なくとも部分的に選択エリア212に包含される場合を判定するために、14において考慮される。グラフィックオブジェクトOBのすべてまたは一部を形成する各ストロークは、たとえば、幅W1を有する。現在、このため、ストローク220とストローク222とが、エリアA6とエリアA10とをそれぞれ占めている。
【0164】
したがって、この実施例におけるストローク220は、ストローク220が選択エリア212内に位置していることから、選択の一部であるようにS14(
図6)で判定される。さらに、ストローク222も、ストローク222が選択エリア212の一部を形成するエリアA8に部分的に包含されていることから、選択の一部であるようにS14(
図6)で判定される。換言すると、ストローク222は、ストローク214のエリアA8とストローク222のエリアA10とによって一般的に共有されるエリアの交差A12の結果として選択される。
【0165】
特定の実施形態で前述したように、選択エリア212内に少なくとも部分的に位置する各グラフィックオブジェクトOBは、現在の選択の一部として、コンピューティングデバイス100によって選択される。特定の実施形態では、ブロックセクションBLが空である(すなわち、いずれのグラフィックオブジェクトOBをも包含していない)場合であっても、ブロックセクションの境界との選択エリア212の交差が検出されると、全体の、空のブロックセクションBLが依然として選択される。
【0166】
本発明は、コンピューティングデバイス上で、柔軟かつ効果的な方式で、手で描かれたグラフィックオブジェクトを選択及び編集することを可能にする。2つの異なる動作モードME1/ME2は、ユーザが編集などの任意の適切な目的のために操作することを望む場合がある任意のグラフィックオブジェクトの、容易かつ正確な選択をユーザがすることを可能にするように作動可能である。具体的には、第1のモードME1は、ユーザの選択のパートが実施されている間は選択パスに位置特定の制限が課されないことから、ディスプレイエリアに存在する任意のグラフィックオブジェクトOBの自在かつ容易な選択を可能にする。一方、第2のモードME2は、ユーザの選択ジェスチャが開始された特定のブロックセクション内における制限された選択を許容し、それにより、ユーザによって実施されたユーザの選択ジェスチャが正確ではない場合であっても、迅速な選択を可能にする。
【0167】
グラフィックオブジェクトの選択は、複雑であるか、覚えることが困難なジェスチャを必要とすることなく、実施される場合がある。ユーザは、グラフィックオブジェクトの選択を実施するための手順を容易に覚え得る。
【0168】
さらに、前述したように、コンピューティングデバイス100は、ディスプレイエリア200内に存在するグラフィックオブジェクトOBの各々にアサインされたそれぞれのランクRKを格納する場合があり、これらランクRKは、ランクの順番に応じた順番である(
図2)。特定の実施形態では、選択モジュールMD4は、
-選択エリア内の、S14(
図6)で現在選択されている各グラフィックオブジェクトOBのランクを判定することと、
-前述のランクの順番に応じて、2つの選択されたグラフィックオブジェクトOBのそれぞれのランクRKの間に含まれるランクRKを有する任意のまだ選択されていないグラフィックオブジェクトOBを識別することと、
-識別された、まだ選択されていないグラフィックオブジェクトOBの各々を選択に含めることと、
をするように構成されている。
【0169】
コンピューティングデバイス100は、たとえば、選択されたグラフィックオブジェクトOBの各々のそれぞれのランクRKに基づき、現在の選択のうちの最初と最後のグラフィックオブジェクトOBを判定する場合がある。グラフィックオブジェクトOBが、OB1、OB2、OB5、OB8、OB10、及びOB11の順番に従ってランクが付されていることを想定すると、グラフィックオブジェクトOB1、OB5、及びOB8が選択されたことをコンピューティングデバイス100が検出した場合、このため、所定の順番に従う最初のグラフィックオブジェクトと最後のグラフィックオブジェクトとがそれぞれOB1とOB8とであり、このため、OB2が少なくとも部分的に選択エリア212に含まれていないとしても、OB2を選択に含めることになることをコンピューティングデバイス100が推定する。ランクの順番における2つの選択されたグラフィックオブジェクト間に位置するランクを有する、任意のまだ選択されていないグラフィックオブジェクトを選択に追加することにより、ユーザの関心があると思われるすべてのグラフィックオブジェクトOBのユーザによる選択を促進する。
【0170】
特定の実施例では、各グラフィックオブジェクトOBは、ディスプレイエリア200内の頂部から底部へ、及び左から右への、特定の順番でランクが付される。
【0171】
いくつかの代替的実施態様では、ブロックに書き込まれた機能は、図に書かれた順番とは異なって生じる場合があることに留意されたい。たとえば、関連する機能に応じて、連続して示される2つのブロックは、実際は、実質的に同時に実行される場合があり、または、ブロックは、ときには逆の順番で実行される場合があり、または、ブロックは、交互の順番で実行される場合がある。
【0172】
本発明が、特定の実施形態において記載されてきたが、当業者の能力の中で、添付の特許請求の範囲の範囲に応じて、多くの変更形態及び実施形態を受け入れることができることが明らかである。具体的には、当業者は、添付の特許請求の範囲の範囲内にある、この文献に記載の様々な実施形態の任意及びすべての組合せ及び変形形態を予期する場合がある。