(57)【要約】図式要素の接続を管理するシステムおよび方法が提供される。本システムおよび方法は、表示装置上にインタラクティブなインクにより複数の入力される図式要素の表示を引き起こし、複数の図式要素を接続するコネクタとして少なくとも１つの図式要素を識別し、接続された図式要素の各々の幾何学的構成を決定し、マッピングされた点を定義するために、接続された図式要素に対する少なくとも１つの識別されたコネクタのへの接続点を幾何学的構成要素にマッピングし、インタラクティブなインクにより受信された１つまたは複数のインタラクションに基づいて幾何学的構成上のマッピングされた点の位置を調整し、接続された図式要素上への調整されたマッピングされた点のマッピングに少なくとも従って、調整された接続点として図式要素の再表示を引き起こすよう構成することができる。
2020504848.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス上の図式要素の接続を管理するシステムであって、前記コンピューティングデバイスが、プロセッサと、前記プロセッサの制御の下に入力される手描き図式要素を検出して認識するための少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体とを含み、前記少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体が、
前記コンピューティングデバイスに関連付けられた表示装置上にインタラクティブなインクにより複数の入力された図式要素を表示させる手段と、
複数の図式要素を接続するコネクタとして少なくとも１つの図式要素を識別する手段と、
前記接続された図式要素の幾何学的特性に基づいて前記接続された図式要素の各々の幾何学的構成を決定する手段と、
マッピングされた点を定義するために前記接続された図式要素に対する前記少なくとも１つの識別されたコネクタの接続点を前記幾何学的構成にマッピングする手段と、
前記少なくとも１つの識別されたコネクタの前記インタラクティブなインクにより受信された１つまたは複数のインタラクションまたは１つまたは複数の前記接続された図式要素に基づいて前記幾何学的構成上の前記マッピングされた点の位置を調整する手段と、
前記接続された図式要素上の前記調整されたマッピングされた点のマッピングに少なくとも従って前記調整された接続点として前記図式要素の再表示を引き起こす手段と
を備えたことを特徴とするシステム。
【請求項２】
前記少なくとも１つのコネクタは、前記コネクタの特性および前記図式要素間の位置関係に基づいて識別されることを特徴とする請求項１に記載のシステム。
【請求項３】
前記少なくとも１つの識別されたコネクタは非線形のコネクタであることを特徴とする請求項１または２に記載のシステム。
【請求項４】
前記非線形のコネクタは湾曲コネクタであることを特徴とする請求項３に記載のシステム。
【請求項５】
前記少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体が、前記図式要素を再表示させると前記湾曲コネクタの曲率半径を維持する手段をさらに備えたことを特徴とする請求項４に記載のシステム。
【請求項６】
前記インタラクティブなインクはデジタルインクであることを特徴とする請求項１ないし５のいずれか一項に記載のシステム。
【請求項７】
プロセッサと、前記プロセッサの制御の下に入力された手描き図式要素を検出して認識するための少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体とを備えた、コンピューティングデバイス上の図式要素の接続を管理する方法であって、
前記コンピューティングデバイスに関連付けられた表示装置上にインタラクティブなインクにより複数の入力された図式要素を表示するステップと、
複数の図式要素を接続するコネクタとして少なくとも１つの図式要素を識別するステップと、
前記接続された図式要素の幾何学的特性に基づいて前記接続された図式要素の各々の幾何学的構成を決定するステップと、
マッピングされた点を定義するために前記接続された図式要素に対する前記少なくとも１つの識別されたコネクタの接続点を前記幾何学的構成要素にマッピングするステップと、
前記少なくとも１つの識別されたコネクタの前記インタラクティブなインクにより受信された１つまたは複数のインタラクションまたは１つまたは複数の前記接続された図式要素に基づいて前記幾何学的構成上の前記マッピングされた点の位置を調整するステップと、
前記接続された図式要素上への前記調整されたマッピングされた点のマッピングに少なくとも従って前記図式要素を前記調整された接続点として再表示させるステップと
を備えることを特徴とする方法。
【請求項８】
前記コネクタの特性および前記図式要素間の位置関係に基づいて前記少なくとも１つのコネクタを識別するステップをさらに備えたことを特徴とする請求項７に記載の方法。
【請求項９】
前記少なくとも１つの識別されたコネクタは非線形のコネクタであることを特徴とする請求項７または８に記載の方法。
【請求項１０】
前記非線形のコネクタは湾曲コネクタであることを特徴とする請求項９に記載の方法。
【請求項１１】
前記図式要素を再表示させると前記湾曲コネクタの曲率半径を維持するステップをさらに備えたことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記インタラクティブなインクはデジタルインクであることを特徴とする請求項７ないし１１のいずれか一項に記載の方法。
【請求項１３】
コンピューター読み取り可能なプログラムコードを有する非一時的なコンピューター読み取り可能な記録媒体であって、前記コンピューター読み取り可能なプログラムコードは、コンピューティングデバイス上で図式要素の接続を管理する方法を実装するように実行されるよう適用され、前記コンピューティングデバイスは、プロセッサと、前記プロセッサの制御の下に入力された手描き図式要素を検出して認識するための少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体とを備え、前記方法が、
前記コンピューティングデバイスに関連付けられた表示装置上にインタラクティブなインクにより複数の入力された図式要素を表示するステップと、
複数の図式要素を接続するコネクタとして少なくとも１つの図式要素を識別するステップと、
前記接続された図式要素の幾何学的特性に基づいて前記接続された図式要素の各々の幾何学的構成を決定するステップと、
マッピングされた点を定義するために前記接続された図式要素に対する前記少なくとも１つの識別されたコネクタの接続点を前記幾何学的構成にマッピングするステップと、
前記少なくとも１つの識別されたコネクタの前記インタラクティブなインクにより受信された１つまたは複数のインタラクションまたは１つまたは複数の前記接続された図式要素に基づいて前記幾何学的構成上の前記マッピングされた点の位置を調整するステップと、
前記接続された図式要素上への前記調整されたマッピングされた点のマッピングに少なくとも従って前記調整された接続点として前記図式要素を再表示させるステップと
を備えることを特徴とする非一時的なコンピューター読み取り可能な記録媒体。
【請求項１４】
前記方法が前記コネクタの特性および前記図式要素間の位置関係に基づいて前記少なくとも１つのコネクタを識別するステップをさらに備えたことを特徴とする請求項１３に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１５】
前記少なくとも１つの識別されたコネクタは非線形のコネクタであることを特徴とする請求項１３または１４に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１６】
前記非線形のコネクタは湾曲コネクタであることを特徴とする請求項１５に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１７】
前記方法が前記図式要素を再表示させると前記湾曲コネクタの曲率半径を維持するステップをさらに備えたことを特徴とする請求項１６に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１８】
前記インタラクティブなインクはデジタルインクであることを特徴とする請求項１３から１７のいずれか一項に記載の非一時的なコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の参照］
本出願は、２０１７年３月２２日に出願された米国特許出願第１５／４６５，９４６号の優先権を主張するが、２０１６年１２月１５日に出願された欧州特許出願第１６２９０２３７．３号の優先権を主張し、全体は参照により本明細書に組み込まれる。
【０００２】
本開示は一般に、種々の形状および文字の手書きのユーザ入力を認識することができるコンピューティングデバイスインターフェイスの分野に関する。特に、本開示は、手書き入力の図式要素間のコネクタに対する表示をもたらす編集操作を処理するためのシステムおよび方法を提供する。
【背景技術】
【０００３】
コンピューティングデバイスは、日常生活において、より遍在するようになり続ける。コンピューターデスクトップ、ラップトップコンピューター、タブレットコンピューター、電子書籍リーダー、携帯電話、スマートフォン、ウェアラブルコンピューター、ＧＰＳ（全地球測位システム）ユニット、ＥＤＡ（ｅｎｔｅｒｐｒｉｓｅ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、ＰＤＡ（携帯情報端末）、ゲームコンソールなどの形をとる。さらに、コンピューティングデバイスは、例えば、自動車、トラック、農機具、製造設備、建築環境制御（例えば、照明、ＨＶＡＣ）、ならびに家庭用および商業用機器などの、車両および機器に組み込まれている。
【０００４】
コンピューティングデバイスは一般に、例えば、ＣＰＵ（中央処理装置）、ある形態のメモリ、入出力デバイスなどの少なくとも１つの処理の要素により構成される。種々のコンピューティングデバイスおよび続いて使用は、様々なインターフェイスおよび入力デバイスを必要とする。入力装置の１つは、例えば、タッチスクリーンまたはタッチパッドなどのタッチセンシティブな表面であり、ここにおいてユーザ入力は、ユーザの指または例えば、ペンまたはスタイラスなどの器具とタッチセンシティブな表面との間の接触を通じて受信される。他の入力装置は、入力の表面上においてユーザによって行われたジェスチャーを感知する入力の表面である。さらなる入力装置は、接触と非接触面との相互作用か非接触と非接触面との相互作用かのいずれかの相対位置を検出する位置検出システムである。一般に、あらゆる入力の方法を、図表およびテキストの手書きまたは手描きの入力に使用することができて、入力が手書き認識システムまたは方法を使用して解釈される。
【０００５】
コンピューティングデバイスにおける手書き認識の１つのアプリケーションは、コンピューティングデバイス上で手描きされる図式の作成においてであり、タイプセットバージョンに変換される。図式は、（パーツとしての）配置および関係を説明または示している図である。一般に、図式は、任意のまたは特定の意味を有する形状、および形状と関係があるテキストを含む。いくつかの図式の種類、例えば、フローチャート、組織図、概念図、スパイダー図、ブロック／アーキテクチャ図、マインドマップ、ブロック図、ベン図、およびピラミッドなどがある。可能な図式のいくつかのタイプセットおよび手書きの例の描写を、図１〜６において例示する。
【０００６】
図１Ａおよび図１Ｂは、それぞれ、異なる種類（例えば、直線矢印、湾曲矢印）についての、図式ブロック１２間の関係を接続または指定する、図式ブロックまたはコンテナ１２およびコネクタ１４を定義する、形状をさまざまに有するタイプセットおよび手書きの例示的な概念図１０を示す。さらに、図１Ｂにおいて、コンテナ１２はテキスト１６を含む。一般に、概念図において、ブロック間の接続は、ブロックの中のテキストによって定義される概念的に関連するまたは従属する要素もしくはテーマを定義する。ブロック自体を、コンセプトマップの中に提示することはできないが、代わりにテキスト（例えば、関連する形状およびコンテナを持たないテキストブロック内に定義される）を、コネクタによって接続することができる。
【０００７】
図２Ａおよび図２Ｂは、それぞれ、図式ブロックまたはコンテナ１２、異なる種類（例えば、直線、曲線）の、マインドマップのある特徴または状態に対する図式ブロック１２および経路１８間の関係を接続または指定する、コネクタ１４を定義する形状をさまざまに有するタイプセットおよび手書きの例示的なマインドマップ２０を示す。さらに、図２Ｂにおいて、コンテナ１２および経路１８は、関連するテキスト１６を有する。一般に、マインドマップにおいて、ブロック間の接続は、ブロックの中のテキストによって定義される中心要素またはテーマからの可能性がある代替の状態を定義して、経路は、経路上のテキストによって定義される各々の代替の状態のついて重要な特徴を定義する。ブロック自体を、コンセプトマップの中に提示することはできないが、代わりにテキスト（例えば、関連する形状およびコンテナを持たないテキストブロックの中に定義される）を、コネクタおよび経路によって接続することができる。
【０００８】
図３Ａおよび図３Ｂは、それぞれ、異なる種類（例えば、長円形、長方形、ひし形）の、図式ブロックまたはコンテナ１２、および異なる種類（例えば、直線矢印、鉤付き矢印、分岐線）の、図式ブロック１２間の関係を接続または指定する、コネクタ１４を定義する、形状をさまざまに有するタイプセットおよび手書きの例示的なフローチャートまたは図式３０を示す。さらに、図３Ｂにおいて、コンテナ１２はテキスト１６を含み、同様にテキストはコネクタと関連付けることができる。一般に、フローチャートにおいて、ブロック間の接続は、ブロックの中のテキストによって定義される、手順において関連するまたは従属する要素もしくはステップを定義する。ブロック自体を、フローチャートの中に提示することができないが、代わりにテキスト（例えば、関連する形状およびコンテナを持たないテキストブロックの中に定義される）をコネクタによって接続することができる。
【０００９】
図４Ａおよび図４Ｂは、それぞれ、図式ブロックまたはコンテナ１２、および異なるタイプ（例えば、直線、折り曲げ線、分岐線）の、図式ブロック１２の間の関係を接続または指定する、コネクタ１４を定義する形状をさまざまに有するタイプセットおよび手書きの例示的な組織図または図式４０を示す。さらに、図４Ｂにおいて、コンテナ１２は、関連するテキスト１６を含む。一般に、組織図において、ブロック間の接続は、ブロックの中のテキストによって定義される組織またはグループのメンバーまたは機能の階層関係を定義する。ブロック自体を、組織図の中に提示することはできないが、代わりにテキスト（例えば、関連する形状およびコンテナを持たないテキストブロックの中に定義される）をコネクタによって接続することができる。
【００１０】
図５Ａおよび図５Ｂは、それぞれ、入れ子にされた関係（例えば、他のコンテナ１２内のコンテナ１２）を有する、図式ブロックまたはコンテナ１２、および図式ブロック１２の間の関係を接続または指定する、入れ子にされたブロック間を含む、コネクタ１４を定義する形状をさまざまに有するタイプセットおよび手書きの例示的なブロック／アーキテクチャ図５０を示す。さらに、図５Ｂにおいて、コンテナ１２およびコネクタは関連するテキスト１６を有する。一般に、アーキテクチャ図において、入れ子にされたブロックは、デバイスまたは処理コンポーネントの配置または所有を定義して、ブロック間の接続はブロックの中のテキストによって定義されるブロック間の機能的関係を定義する。
【００１１】
図６Ａおよび図６Ｂは、それぞれ、図式ブロック１２間の関係を接続または指定する、図式ブロックまたはコンテナ１２およびコネクタ１４を定義する形状をさまざまに有するタイプセットおよび手書きの例のスパイダー図６０を示す。さらに、図６Ｂにおいて、コンテナ１２およびコネクタは、関連するテキスト１６を有する。一般に、スパイダー図において、ブロック間の接続および／またはテキストは、テキストによって定義される中心要素またはテーマから従属する関係または状態を定義する。
【００１２】
図１〜６において例示された図式は、単なる例であり、および他の要素または各々の図式の種類に対して叙述されたのと異なる要素か、叙述された要素の異なる種類または形態自体かを、追加または代替として図式中に存在することができる。さらに、図式の種類の他の定義は、組み合わせも同様に、可能である。形状の基本的な構成要素（コンテナが有るまたは無い接続）および図式の中のテキストを組み合わせる無数の可能なバリエーションは、コンピューティングデバイスに対して手描きまたは手書きのコンテンツとして入力される要素の正確な認識に対する問題を引き起こす可能性がある。特に、図式は、例えば、議論されている概念、問題または解決策をとらえる講義または会議の間に、コンピューティングデバイスのユーザが図式を作成する教育およびビジネスの状況において使用される。通常、デバイスにおいてローカルか、デバイスの通信リンクを介してリモートかのいずれかに、タッチセンシティブな表面または相対位置の検出システムによって監視される表面の上への手描き入力を受け付けて解釈するコンピューティングデバイス上において、手書きの図式またはスケッチアプリケーションをユーザが起動することによって行われる。
【００１３】
従来、手書きの図式作成アプリケーションは、上述した図式作成の複雑さを処理する能力に限界があり、典型的に、ユーザに、ユーザの本来の意図を反映しないふるまいを採用するか妥協を受け入れることを強いる。結果として、いくつかの従来の手書きの図式作成アプリケーションは、ユーザに、メニューをナビゲートして形状を選択させて描画して、形状に関連してテキストを挿入することを強制する。それだけで、ユーザは自然にまたは自由に形状またはコネクタを描画することはできない。
【００１４】
いくつかの従来のアプリケーションは、ユーザに提供される合理的な創造的自由をもって、手書きされる形状および手描きされるテキストをよく認識する。しかしながら、描画された図式を変更する機能、例えば、追加する図式の要素を編集する、要素を削るまたは置き換える、図式を進化概念に対して適応する、図式の種類を変換するなどは、ある操作だけが利用可能であり、および特に、例えば接続されたコンテナなどの、認識された関係を保持しながら、図式要素の相対位置の操作に関して、図式のタイプセットバージョンにだけ利用可能であり、例えば、手書き入力、いわゆるデジタルインクには利用可能でないところに制限され、および／または上述のように、ジェスチャーが習得されること、または選択がメニューを介して行われることを必要とする。
【００１５】
例えば、米国特許第８，０１４，６０７号は、ある編集操作をデジタルインクに直接行うことを可能にする推論モードプロトコルを記載する。しかしながら、記載された操作は非常に限定される。さらに、認識された関係を保持しつつ、デジタルインクの中の図式要素の相対位置を操作する能力に対して解決策を提供しない。米国特許第６，５２５，７４９号は、オブジェクト間のリンクが幾何学的に変換されて特徴的な形状を維持し、リンクの端点を移動させる、再位置決めの操作に関して、デジタルインクに対する相対操作を記載する。しかしながら、ユーザにとって期待されるまたは好ましいやり方において、変換を達成するやり方に関する開示はない。
【００１６】
米国特許第７，３９４，９３５号もまた、位置変更操作およびサイズ変更に関するデジタルインク上の相対操作を記載する。しかしながら、操作において、接続点が維持される、と言っても単にデジタルインクが操作に従って拡大縮小されるように、およびこのこと自体において、ユーザが、デジタルインクを最初に描かれた寸法に戻すためにさらなるインタラクションを実行する、例えば、接続されているコンテナからコンテナを遠ざけることがｘおよびｙの寸法との両方にコネクタを伸長することを引き起こす、またはコネクタがリサイズか別の形（例えば、直線から折り曲げ線）に変更されるかのときに、コネクタのデジタルインクを近似するバックボーン（水平線および垂直線）を再計算することによりコネクタが「リフロー」することを必要とする。これは、デジタルインクの再生成を必要とし、関連する米国特許第７，３２４，６９１号に記載されるように高曲率点（カスプ）におけるセグメント化によりコネクタインクの正規化を通して行うことができる。したがって、結果として生じる操作されたデジタルインクは、最初に描かれたインクと全く異なることがあり、ユーザによる介入を必要とする。
【発明の概要】
【００１７】
本明細書において以下に説明する本開示の例は、ポータブルのおよびポータブルでないコンピューティングデバイス上において手描きおよび手書きのコンテンツをキャプチャし、処理し、管理するためのシステム、方法およびソフトウェアを提供する。
【００１８】
本開示のいくつかの実装において、コンピューティングデバイス上において図式要素の接続を管理するシステムを提供する。コンピューティングデバイスは、プロセッサと、プロセッサの制御の下に入力された手描き図式要素を検出し認識するための少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体とを含む。少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体は、コンピューティングデバイスに関連する表示装置上にインタラクティブなインクにより複数の入力図式要素を表示させ、少なくとも１つの図式要素を、複数の図式要素を接続するコネクタとして識別し、接続された図式要素の幾何学的特性に基づいて、接続された図式要素のそれぞれの幾何学的構成を決定し、マッピングされた点を定義するために、少なくとも１つの識別されたコネクタの接続された図式要素への接続の点を幾何学的構成要素にマッピングし、少なくとも１つの識別されたコネクタのインタラクティブなインクまたは１つまたは複数の接続された図式要素を用いて受信された１つまたは複数のインタラクションに基づいて、幾何学的構成上のマッピング点の位置を調整し、少なくとも接続された図式要素上に調整されたマッピングされた点のマッピングに従って、図式要素を調整された接続点として再表示させるように構成することができる。
【００１９】
本システムのいくつかの実装において、少なくとも１つのコネクタは、コネクタの特性および図式要素間の位置関係に基づいて識別される。さらに、少なくとも１つの識別されたコネクタは、非線形コネクタおよび／または湾曲コネクタである。
【００２０】
本システムのいくつかの実装において、少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体を、図式要素を再表示させるときに湾曲コネクタの曲率半径を維持するよう構成する。
【００２１】
本システムのいくつかの実装において、インタラクティブなインクはデジタルインクである。
【００２２】
本開示のいくつかの実装において、コンピューティングデバイス上に図式要素の接続を管理する方法を提供する。コンピューティングデバイスは、プロセッサと、プロセッサの制御の下に入力された手描き図式要素を検出し認識するための少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体とを含む。方法は、コンピューティングデバイスに関連する表示装置上にインタラクティブなインクにより複数の入力図式要素を表示するステップと、少なくとも１つの図式要素を、複数の図式要素を接続するコネクタとして識別するステップと、接続された図式要素の幾何学的特性に基づいて、接続された図式要素のそれぞれの幾何学的構成を決定するステップと、マッピングされた点を定義するために、少なくとも１つの識別されたコネクタの接続された図式要素への接続の点を幾何学的構成要素にマッピングするステップと、少なくとも１つの識別されたコネクタのインタラクティブなインクまたは接続された図式要素のうち１つまたは複数を用いて受信された１つまたは複数のインタラクションに基づいて、幾何学的構成上のマッピングされた点の位置を調整するステップと、少なくとも接続された図式要素上に調整されたマッピングされた点のマッピングに従って、図式要素を調整された接続点として再表示させるステップとを含み得る。
【００２３】
本方法のいくつかの実装において、少なくとも１つのコネクタをコネクタの特性および図式要素間の位置関係に基づいて識別するステップを含む。さらに、少なくとも１つの識別されたコネクタは、非線形コネクタまたは湾曲コネクタであってもよい。
【００２４】
本方法のいくつかの実装において、図式要素を再表示させるときに湾曲コネクタの曲率半径を維持するステップを含む。
【００２５】
本方法のいくつかの実装において、インタラクティブなインクはデジタルインクである。
【００２６】
いくつかの実装において、コンピューター読み取り可能なプログラムコードを有する非一時的なコンピューター読み取り可能な記録媒体を提供する。コンピューター読み取り可能なプログラムコードは、コンピューティングデバイス上において図式要素の接続を管理する方法を実装するように実行されるように適応され得る。コンピューティングデバイスは、プロセッサと、プロセッサの制御下で入力された手描き図式要素を検出し認識するための少なくとも１つの非一時的なコンピューター読み取り可能な記録媒体とを含み得る。方法は、コンピューティングデバイスに関連する表示装置上にインタラクティブなインクにより複数の入力図式要素を表示するステップと、少なくとも１つの図式要素を、複数の図式要素を接続するコネクタとして識別するステップと、接続された図式要素の幾何学的特性に基づいて、接続された図式要素の各々の幾何学的構成を決定するステップと、マッピングされた点を定義するために、少なくとも１つの識別されたコネクタの接続された図式要素への接続の点を幾何学的構成要素にマッピングするステップと、少なくとも１つの識別されたコネクタのインタラクティブなインクまたは１つまたは複数の接続された図式要素を用いて受信された１つまたは複数のインタラクションに基づいて、幾何学的構成上のマッピングされた点の位置を調整するステップと、少なくとも接続された図式要素上に調整されたマッピングされた点のマッピングに従って、図式要素を調整された接続点として再表示させるステップとを含む。
【００２７】
いくつかの実装において、少なくとも１つのコネクタをコネクタの特性および図式要素間の位置関係に基づいて識別するステップを実装する。さらに、少なくとも１つの識別されたコネクタは、非線形コネクタおよび／または湾曲コネクタであってもよい。
【００２８】
いくつかの実装において、方法は、図式要素を再表示させるときに湾曲コネクタの曲率半径を維持するステップを実装する。
【００２９】
いくつかの実装において、インタラクティブなインクはデジタルインクである。
【００３０】
本システムおよび方法は、図面と併せて、実施例の以下の詳細な説明からより完全に理解されるであろう。図面において、同様の参照番号は同様の要素を表す。
【図面の簡単な説明】
【００３１】
【図１Ａ】図１Ａは、タイプセットおよび手書きの例示的概念図を示す図である。
【図１Ｂ】図１Ｂは、タイプセットおよび手書きの例示的概念図を示す図である。
【図２Ａ】図２Ａは、タイプセットおよび手書きの例示的マインドマップを示す図である。
【図２Ｂ】図２Ｂは、タイプセットおよび手書きの例示的マインドマップを示す図である。
【図３Ａ】図３Ａは、タイプセットおよび手書きの例示的フローチャートまたはフロー図を示す図である。
【図３Ｂ】図３Ｂは、タイプセットおよび手書きの例示的フローチャートまたはフロー図を示す図である。
【図４Ａ】図４Ａは、タイプセットおよび手書きの例示的組織図または図を示す図である。
【図４Ｂ】図４Ｂは、タイプセットおよび手書きの例示的組織図または図を示す図である。
【図５Ａ】図５Ａは、タイプセットおよび手書きの例示的フブロック／アーキテクチャ図を示す図である。
【図５Ｂ】図５Ｂは、タイプセットおよび手書きの例示的フブロック／アーキテクチャ図を示す図である。
【図６Ａ】図６Ａは、タイプセットおよび手書きの例示的スパイダー図を示す図である。
【図６Ｂ】図６Ｂは、タイプセットおよび手書きの例示的スパイダー図を示す図である。
【図７】図７は、本システムおよび方法の一実施例に従うコンピューティングデバイスのブロック図を示す。
【図８】図８は、本システムおよび方法の一実施例に従う手書き文字認識のためのシステムのブロック図を示す。
【図９】図９は、本システムおよび方法の一実施例に従う図８の手書き文字認識システムの詳細を示すブロック図を示す。
【図１０Ａ】図１０Ａは、デジタルインクにおいてレンダリングされた手書きの図の例を示す。
【図１０Ｂ】図１０Ｂは、本システムおよび方法の一実施例に従う関連コネクタに対する例示的な結果の効果を伴う図１０Ａの図のブロック要素上の移動操作を示す。
【図１１Ａ】図１１Ａは、本システムおよび方法の一実施例に従って定義される図１０Ａおよび１０Ｂの図の接続関係の幾何学的特性を叙述するタイプセットインクでレンダリングされた図１０Ａおよび１０Ｂの図を示す。
【図１１Ｂ】図１１Ｂは、本システムおよび方法の一実施例に従って定義される図１０Ａおよび１０Ｂの図の接続関係の幾何学的特性を叙述するタイプセットインクでレンダリングされた図１０Ａおよび１０Ｂの図を示す。
【図１２Ａ】図１２Ａは、デジタルインクによりレンダリングされた手書きの図の一実施例を示す。
【図１２Ｂ】図１２Ｂは、本システムおよび方法の一実施例に従う関連コネクタに対する例示的な結果の効果を伴う図１２Ａの図のブロック要素上での移動操作を示す。
【図１２Ｃ】図１２Ｃは、本システムおよび方法の別の実施例に従う関連コネクタに対する例示的な結果の効果を伴う図１２Ａの図のブロック要素上の移動操作を示す。
【図１３Ａ】図１３Ａは、本システムおよび方法の一実施例に従って定義される図１２Ａの図の接続関係の幾何学的特性を叙述するタイプセットインクによりレンダリングされた図１２Ａの図を示す。
【図１３Ｂ】図１３Ｂは、本システムおよび方法の一実施例に従って定義される図１２Ｂの図の接続関係の幾何学的特性を叙述するタイプセットインクによりレンダリングされた図１２Ｂの図を示す。
【図１３Ｃ】図１３Ｃは、本システムおよび方法の一実施例に従って定義される図１２Ｃの図の接続関係の幾何学的特性を叙述するタイプセットインクによりレンダリングされた図１２Ｃの図を示す。
【図１４Ａ】図１４Ａは、デジタルインクでレンダリングされた手書きの図の一実施例を示す。
【図１４Ｂ】図１４Ｂは、本システムおよび方法の一実施例に従う関連コネクタに対する例示的な結果の効果を伴う図１４Ａの図のブロック要素上での移動操作を示す。
【図１５Ａ】図１５Ａは、本システムおよび方法の一実施例に従って定義される図１４Ａの図の接続関係の幾何学的特性を叙述するタイプセットインクでレンダリングされた図１４Ａの図を示す。
【図１５Ｂ】図１５Ｂは、本システムおよび方法の一実施例に従って定義される図１４Ｂの図の接続関係の幾何学的特性を叙述するタイプセットインクでレンダリングされた図１４Ｂの図を示す。
【発明を実施するための形態】
【００３２】
以下の詳細な説明において、関連する教示の完全な理解を提供するために、例として多数の具体的な詳細が記載されている。しかしながら、当業者に明らかであるはずだが、本教示は、そのような詳細なしに実施され得る。他の例では、本教示の態様を不必要にあいまいにすることを避けるために、よく知られている方法、手順、構成要素、および／または回路が詳細なしに比較的高度な説明がなされている。
【００３３】
上、下、上方、下方、最低、最高、水平、垂直などの方向的特徴についての言及および議論は、認識される入力がなされる入力面に適用されるようなデカルト座標系に関してなされる。さらに、左および右などの用語は、図面を見るときの読者の座標系に関して使用される。さらに、本明細書における「テキスト」という用語の使用は、書かれたテキストにおいて使用される、あらゆる書記言語およびありふれた英数字でない表意文字、例えば、記号などにおけるすべての英数字からなる文字および文字列を包含すると理解される。さらにまた、本明細書における「非テキスト」という用語は、フリーフォームの手書きまたは手描きのコンテンツ、レンダリングされたテキストおよび画像データ、ならびに英数字でない表意文字および文字列、ならびには非テキストの文脈で使用される英数字からなる文字および文字列を包含すると理解される。さらに、図面に示される例は、左から右へ書かれた言語の文脈であり、したがって、位置に対するいかなる言及も、異なる方向のフォーマットを有する書記言語に適合させることができる。
【００３４】
本明細書に記載される種々の技術は、一般に、コンテンツの忠実なタイプセットまたは美化されたバージョンへの変換を可能にしながら、コンテンツの入力スタイルを保持する方法で行われる、ポータブルのおよびポータブルでないコンピューティングデバイス上の手描きおよび手書きコンテンツの取り込み、処理および管理に関する。本明細書に記載のシステムおよび方法は、コンピューティングデバイスに接続された、またはコンピューティングデバイスのタッチセンシティブな画面などの入力面を介して、またはコンピューティングデバイスに接続された、デジタルペンまたはマウスなどの入力デバイスを介して、または位置検出システムによって監視される表面を介してコンピューティングデバイスに入力されるユーザの自然な書き方および描画スタイルの認識を利用し得る。種々の例が、いわゆるオンライン認識技術を使用した手書き入力の認識に関して説明されているが、デジタルインクでなく画像が認識されるオフライン認識などの認識用の他の形態の入力への適用が可能であることは理解されよう。本明細書において、手描きおよび手書きという用語は、互いに交換可能に使用されて、ユーザが自身の手を使用してデジタルまたはデジタル式に接続された記録媒体上に直接または例えばハンドヘルドスタイラスなどの入力ツールを介してデジタルコンテンツの作成を定義する。「手」という用語は、入力技術の簡潔な説明を提供するために本明細書において使用されるが、類似の入力に対して、例えば足、口、目など、ユーザの体の他の部分を使用することは、定義に含まれる。
【００３５】
図７は、一実施例のコンピューティングデバイス１００のブロック図を示す。コンピューティングデバイスは、コンピューターデスクトップ、ラップトップコンピューター、タブレットコンピューター、電子書籍リーダー、携帯電話、スマートフォン、ウェアラブルコンピューター、デジタル時計、インタラクティブホワイトボード、ＧＰＳ（全地球測位システム）ユニット、ＥＤＡ（業務用モバイル端末）、ＰＤＡ（携帯情報端末）、ゲーム機などであってもよい。コンピューティングデバイス１００は、少なくとも１つの処理要素、何らかの形態のメモリ、ならびにＩ／Ｏ（入力および／または出力）デバイスの構成要素を含む。構成要素は、コネクタ、ライン、バス、ケーブル、バッファー、電磁リンク、ネットワーク、モデム、トランスデューサー、ＩＲポート、アンテナ、または当業者に知られている他の要素などの入力および出力を介して互いに通信する。
【００３６】
コンピューティングデバイス１００の例示的な実施例は、画像、テキスト、およびビデオなどのデータをコンピューティングデバイスから出力するための少なくとも１つのディスプレイ１０２を有する。ディスプレイ１０２は、ＬＣＤ、プラズマ、ＬＥＤ、ｉＯＬＥＤ、ＣＲＴ、または当業者に知られているようなタッチセンシティブかタッチセンシティブでないかのあらゆる他の適切な技術を使用し得る。ディスプレイ１０２の少なくとも一部は、少なくとも１つの入力インターフェイス１０４と同じ場所に配置される。入力インターフェイス１０４は、抵抗、表面弾性波、容量性、赤外線グリッド、赤外線アクリル投影、光学イメージング、分散信号技術、音響パルス認識、または当業者に公知である、ユーザ入力を受信するためのあらゆる他の適切な技術などの技術を用いる表面であってよい。入力インターフェイス１０４は、境界を明確に識別する永続的なまたはビデオ生成された境界によって境界を定められてもよい。オンボードディスプレイの代わりに、または追加して、コンピューティングデバイス１００は、投影表示機能を有してもよく、または入力インターフェイスが仮想表面となるように投影ディスプレイと共に動作可能である。さらに、ディスプレイ自体は、コンピューティングデバイスとは別個であっても、接続されてもよい。
【００３７】
コンピューティングデバイス１００は、ローカルインターフェイスを介して通信可能に結合された１つまたは複数の追加のＩ／Ｏデバイス（または周辺機器）を含み得る。追加のＩ／Ｏデバイスは、キーボード、マウス、スキャナー、マイクロフォン、タッチパッド、バーコードリーダー、レーザーリーダー、無線周波数デバイスリーダー、または当業者に知られているあらゆる他の適切な技術などの入力デバイスを含み得る。さらに、Ｉ／Ｏデバイスは、プリンター、バーコードプリンター、または当業者に知られているあらゆる他の適切な技術などの出力デバイスを含み得る。さらに、Ｉ／Ｏデバイスは、変調器／復調器（他の装置、システム、またはネットワークにアクセスするためのモデム）、無線周波数（ＲＦ）または他のトランシーバ、電話インターフェイスなどの入力および出力の両方を伝送する通信デバイス、ブリッジ、ルーター、または当業者に知られているあらゆる他の適切な技術を含み得る。ローカルインターフェイスは、コントローラー、バッファー（キャッシュ）、ドライバ、リピーター、および受信機など、通信を可能にするための追加の要素を有してもよく、これらは単純化のために省略されているが当業者には知られている。さらに、ローカルインターフェイスは、他のコンピューター構成要素間の適切な通信を可能にするために、アドレス、制御、および／またはデータ接続を含み得る。
【００３８】
また、コンピューティングデバイス１００は、ソフトウェア、特にメモリ１０８に格納されたソフトウェアを実行するためのハードウェアデバイスであるプロセッサ１０６を含む。プロセッサは、あらゆるカスタムメイドまたは市販の汎用プロセッサ、ＣＰＵ（中央処理装置）、（マイクロチップまたはチップセットの形の）半導体ベースのマイクロプロセッサを含む市販のマイクロプロセッサ、マイクロコントローラ、ＤＳＰ（デジタル信号プロセッサ）、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、ステートマシン、または当業者に知られているソフトウェア命令を実行するように設計された、あらゆる組み合わせとすることができる。
【００３９】
メモリ１０８は、揮発性メモリ素子（例えば、ランダムアクセスメモリ（例えば、ＤＲＡＭ、ＳＲＡＭ、またはＳＤＲＡＭなどのＲＡＭ））および不揮発性メモリ素子（例えば、ＲＯＭ、ＥＰＲＯＭ、フラッシュＰＲＯＭ、ＥＥＰＲＯＭ、ハードドライブ、磁気テープまたは光テープ、メモリレジスタ、ＣＤ−ＲＯＭ、ＷＯＲＭ、ＤＶＤ、ＲＡＩＤ（レイド）、ＤＡＳＤ（ダスディー）、または他の磁気、抵抗または相変化の不揮発性メモリなど）のいずれか１つまたは組み合わせを含むことができる。さらに、メモリ１０８は、電子式、磁気式、光学式、および／または他の種類の記憶媒体を組み込んでもよい。メモリ１０８は、種々の構成要素が互いに離れて配置されるがプロセッサ１０６によってもアクセスされ得る分散アーキテクチャを有することができる。さらに、メモリ１０８は、サーバまたはクラウドベースのシステムなどにおいてデバイスから離れてもよい。メモリ１０８は、プロセッサ１０６に結合されるので、プロセッサ１０６は、メモリ１０８から情報を読み取り、メモリ１０８に情報を書き込むことができる。代替として、メモリ１０８は、プロセッサ１０６と一体であってもよい。別の実施例において、プロセッサ１０６およびメモリ１０８は、両方とも単一のＡＳＩＣまたは他の集積回路の中に存在してもよい。
【００４０】
メモリ１０８におけるソフトウェアは、オペレーティングシステム１１０、入力管理システム１１２、および入力認識システム１１４を含み、各々、１つまたは複数の別々のコンピュータープログラムを含むことができる。各々は、論理機能を実装するための実行可能命令の順序付きリストを持っている。オペレーティングシステム１１０は、入力管理システム１１２および入力認識システム１１４の実行を制御し、またはシステムの機能を組み込んでもよい。オペレーティングシステム１１０は、例えば、ＷＥＢＯＳ、ＷＩＮＤＯＷＳ（登録商標）、ＭＡＣおよびＩＰＨＯＮＥ（登録商標）  ＯＳ、ＬＩＮＵＸ、ＡＮＤＲＯＩＤ（登録商標）などのあらゆる独自のオペレーティングシステムか市販のまたは自由に入手可能なオペレーティングシステムかとすることができる。他のオペレーティングシステムもまた利用され得ることが理解される。代わりに、本システムおよび方法の入力管理システム１１２および入力認識システム１１４は、オペレーティングシステムを使用せずに提供されてもよい。
【００４１】
入力管理システム１１２は、ユーザによる手描き形状および手書きテキスト入力（詳細には後述される）の検出、管理、および処理に関する１つまたは複数の処理要素を含む。また、ソフトウェアは、入力認識、異なる機能、または両方に関する１つまたは複数のアプリケーションを含み得る。他のアプリケーションのいくつかの例は、テキストエディター、電話ダイヤラー、連絡先ディレクトリ、インスタントメッセージング機能、ＣＡＤ（コンピューター支援設計）プログラム、電子メールプログラム、ワードプロセッシングプログラム、ウェブブラウザ、およびカメラを含む。入力管理システム１１２およびアプリケーションは、製造時にコンピューティングデバイス１００と共に提供されるプログラムを含み、製造後にコンピューティングデバイス１００にアップロードまたはダウンロードされるプログラムをさらに含み得る。
【００４２】
本システムおよび方法は、手書きテキスト、および手描き形状、例えば非テキストなど、を含む、デバイス１００への手書き入力を認識するために、入力認識システム１１４を利用する。入力認識システム１１４およびあらゆる構成要素は、サポートおよびコンプライアンス機能を有しソースプログラム、実行可能プログラム（オブジェクトコード）、スクリプト、アプリケーション、または実行されるべき命令のセットを有するあらゆる他のエンティティとしてもよい。ソースプログラムの場合、プログラムは、オペレーティングシステム１１０と関連して適切に動作するように、メモリ１０８内に含まれても含まれなくてもよいコンパイラ、アセンブラ、インタプリタなどを介して翻訳される必要がある。
【００４３】
さらにその上、サポートおよびコンプライアンス機能を有する入力認識システムを、（ａ）データおよび方法のクラスを有するオブジェクト指向プログラミング言語、（ｂ）例えば、限定されないが、Ｃ、Ｃ＋＋、Ｐａｓｃａｌ、Ｂａｓｉｃ、Ｆｏｒｔｒａｎ、Ｃｏｂｏｌ、Ｐｅｒｌ、Ｊａｖａ（登録商標）、Ｏｂｊｅｃｔｉｖｅ  Ｃ、Ｓｗｉｆｔ、Ｐｙｔｈｏｎ、Ｃ＃、およびＡｄａなどの、ルーチン、サブルーチン、および／または関数を有するプロシージャープログラミング言語、または（ｃ）例えば、限定されないが、Ｈｏｐｅ、Ｒｅｘ、Ｃｏｍｍｏｎ  Ｌｉｓｐ、Ｓｃｈｅｍｅ、Ｃｌｏｊｕｒｅ、Ｒａｃｅｔ、Ａｒｌａｎ、ＯＣａｍｌ、Ｈａｓｋｅｌｌ、Ｐｒｏｏｌ、およびＦ＃などの関数プログラミング言語として書くことができる。
【００４４】
代わりに、入力認識システム１１４は、例えば、サーバまたはクラウドベースのシステムなど、デバイスから遠く離れた入力認識システムと通信するための方法またはシステムであり得るが、通信リンクを介してコンピューティングデバイス１００によって遠隔的にアクセス可能である。さらに、入力管理システム１１２および入力認識システム１１４は、一緒に動作してもよく、または単一のシステムとして組み合わされてもよい。
【００４５】
入力インターフェイス１０４上の、または入力インターフェイス１０４を介して入力されたストロークは、デジタルインクとしてプロセッサ１０６によって処理される。ユーザは、入力面と共に使用するのに適した指またはペンもしくはスタイラスなどの何らかの器具を用いてストロークを入力することができる。また、ユーザは、入力面１０４の付近の動きを感知する技術が使用されている場合に入力インターフェイス１０４上においてジェスチャーをすることによって、またはコンピューティングデバイス１００の周辺装置、例えば、マウスまたはジョイスティックなど、を用いて、または投影されたインターフェイス、例えば、ストロークおよびジェスチャーの信号を決定するための受動的な平面の表面における画像処理など、を用いて、ストロークを入力することができる。インタラクションの種類に関係なく、一般に、インタラクションは、プロセッサ１０６によって検出され、インタラクションを表す情報は入力管理システム１１２に伝達される。代わりに、または追加として、ストロークは、手書き入力から別のデバイスにレンダリングされメモリ１０８にロードされる、または例えば、コンピューティングデバイス１００のカメラによるなど、取り込まれたコンテンツの画像または外部ソースから例えば、画像ファイル、ドキュメントファイルなど、としてメモリ１０８にロードされたコンテンツの画像から解釈される、デジタルインクのストロークであり得る。
【００４６】
ストロークは、少なくともストローク開始位置、ストローク終了位置、およびストローク開始位置と終了位置とを結ぶ経路によって特徴付けられる。タイミング、圧力（デバイス１００のディスプレイ１０２が情報を提供するように構成されている場合）、経路に沿った多数のサンプル点における角度などのさらなる情報もまた、ストロークのより深い詳細を提供するために取り込まれ得る。異なるユーザが自然に同じオブジェクト、例えば、文字、形状、記号など、をわずかに変化させて書くことができるので、入力認識システムは、各オブジェクトを正確なまたは意図されたオブジェクトとして認識されながら入力することができる様々な方法に対応する。
【００４７】
図８は、ローカル（すなわち、デバイス１００にロードされた）またはリモート（すなわち、デバイス１００によって遠隔的にアクセス可能な）のいずれかの形態における入力認識システム１１４の一実施例の図式的な図である。入力認識システム１１４は、例えば、前処理１１６、認識１１８、および出力１２０のような段階を含む。前処理段階１１６は、認識段階１１８の間のより高い精度および処理時間の短縮を達成するためにデジタルインクを処理する。処理は、サイズの正規化および／または例えば、Ｂスプラインの近似など、入力を滑らかにする方法を適用することによって、ストロークの開始および終了位置を接続する経路の正規化を含むことができる。次に、前処理されたストロークは、形成されたオブジェクトを認識するためにストロークを処理する認識ステージ１１８に渡される。次に、認識されたオブジェクトは、手書き要素／文字および手描き形状のデジタルインクまたはタイプセットインクバージョンとしてメモリ１０８およびディスプレイ１０２に出力１２０される。
【００４８】
認識段階１１８は、異なる処理要素またはエキスパートを含むことができる。図９は、認識段階１１８の図式的な詳細を示す、図８の実施例の図式的な図である。３つのエキスパート、セグメンテーションエキスパート１２２、認識エキスパート１２４、および言語エキスパート１２６が図示されて、動的プログラミングを介して共同して出力１２０を生成する。
【００４９】
セグメンテーションエキスパート１２２は、例えば、単語、数式、または形状のグループなどの表現を形成するために、入力ストロークを個々の要素仮説、例えば英数字および数学演算子、テキスト文字、個々の形状、または部分表現に分割するための異なる方法を定義する。例えば、セグメンテーションエキスパート１２２は、元の入力の連続ストロークをグループ化することによって要素仮説を形成することができて、各ノードが少なくとも１つの要素仮説に対応し、要素間の隣接制約がノード接続によって処理されるセグメンテーショングラフを取得する。代わりに、セグメンテーションエキスパート１２２は、例えば、テキスト、図画、等式、および楽譜のような異なる入力の種類に対して別個のエキスパートを採用することができる。
【００５０】
認識エキスパート１２４は、分類器１２８によって抽出された特徴の分類を提供して、セグメンテーショングラフの各ノードに対して確率または認識のスコアを有する要素候補のリストを出力する。多くの種類の分類器が存在して、例えば、サポートベクトルマシン、隠れマルコフモデル、または例えば多層パーセプトロン、深層、畳み込みまたは回帰ニューラルネットワークなどのニューラルネットワークなど、認識タスクに対処するために使用することができる。選択は、タスクに求められる複雑さ、正確さ、および速度に依存する。
【００５１】
言語エキスパート１２６は、言語モデル（例えば、文法または意味論）を使用してセグメンテーショングラフの中の異なる経路に対して言語学的意味を生成する。エキスパート１２６は、言語情報１３０に従って他のエキスパートによって提案された候補を確かめる。言語情報１３０は、語彙、正規表現などを含むことができ、言語モデルを実行するために言語エキスパート１２６によって使用されるすべての静的データの記憶である。言語モデルは、与えられた言語に関する統計情報に頼ることができる。言語情報１３０は、認識およびユーザインタラクションの結果に従って、適応の有無にかかわらず、オフラインにより計算され、言語エキスパート１２６に提供される。言語エキスパート１２６は、最良の認識経路を見つけることを目的とする。一実施例において、言語エキスパート１２６は、言語情報１３０の内容を表現する例えば、ＦＳＡ（ｆｉｎａｌ  ｓｔａｔｅ  ａｕｔｏｍａｔｏｎ）などの言語モデルを探索することによって行う。語彙の制約に加えて、言語エキスパート１２６は、与えられた一連の要素が特定の言語に現れる頻度、またはセグメンテーショングラフの与えられたパスを解釈する言語的な可能性を評価するために特定のユーザにより使用される頻度に対して、統計的情報モデリングと共に言語モデルを使用することができる。
【００５２】
本システムおよび方法によって提供される入力管理システム１１２は、例えば、学生、学者、およびワーキングプロフェッショナルなどのユーザが、手書きの図式を作成して、作成された図式の種類、例えば、フローチャート、組織図、概念図、スパイダー図、ブロック／アーキテクチャ図、マインドマップ、ブロック図、ベン図、およびピラミッドなど、と関係なく、入力認識システム１１４を使用して実質的に忠実に図式を認識させることができる。リストは、網羅的でなく、他の種類の、または種類のない図式が可能である。例えば、図１Ｂ、２Ｂ、３Ｂ、４Ｂ、５Ｂおよび６Ｂに例示される手描きの図式の異なる要素は、図式の種類に関係なく、あらゆる空間のおよび文脈の間の関係と一緒に個々に認識される。
【００５３】
先に述べたように、図式の要素は、形状およびテキストの要素を含む。形状または描画の要素は、線形または非線形の構成において図式的なまたは幾何学的な構成を定義する要素であり、コンテナ、コネクタ、自由形式の図表などを含む。テキストの要素は、テキスト文字を含み、テキストブロックおよび形状の要素に対する、テキストブロックおよびラベルを含むテキストの要素である。テキストブロックおよびラベルの両方は、１つまたは複数の垂直線において提供される１つまたは複数の文字、単語、文または段落のテキストを含むことができる。テキストブロックを、コンテナ（内部のテキストブロック）に含むことができ、またはコンテナ（外部のテキストブロック）の外側に提供に提供することができ、または含なくてよい。外部のテキストブロックを、コンテナまたは他の図式の要素に関係付けなくてよいし、またはある他の図式の要素に直接関係付けることができる。
【００５４】
さらに、本システムおよび方法によって提供される入力管理システム１１２は、ユーザが、技術によって減速されることなく紙の上のように自由に、形状およびテキストを手書きすることができて、一方、作成された図式の編集操作の取り込みを可能にするデジタルツールの能力から恩恵を受ける。特に、編集は、形状を、新しいアイデアのためのスペースの作成、接続または形状の種類の変更、および編集ジェスチャーの処理に対して、移動および操作することができるようサポートする。
【００５５】
本出願人および／または譲受人の名における２０１５年１０月１９日の優先日を主張して出願され、全体の内容が参照により本明細書に組み込まれる米国特許出願第１４／９５５，１７４号において、接続関係の幾何学的特性に関して、図式要素のブロック（例えば、形状、コンテナ、テキストブロック）を有するコネクタの接続点を移動することによってコネクタ上に実行される編集操作を処理するシステムおよび方法の説明が提供される。幾何学的特性は、図式ブロックの幾何学的な中心および関係において定義された接続経路を含む。
【００５６】
特に、先行開示において、線は、コネクタのいずれかの端部から、コネクタの長さに沿って、接続する図式ブロックへと延長することが決定されて、接続経路は、延長線または投影線に関して定義される。コネクタが図式ブロックのそれぞれの接続された境界の中心にある場合、接続経路は、図式ブロックの幾何学的な中心を通る。しかしながら、コネクタがそれぞれの接続された境界の中心にない、またはそれぞれの接続された境界からオフセットされる場合、接続経路は、コネクタ投影線が各図式ブロックの幾何学的な中心を通って延長され直交するまたは垂直な線に交差する点の間に定義され、ただし、交点は、それぞれの幾何学的な中心から同様にオフセットされる。
【００５７】
直交する線は、別のひとつと実質的に平行であり、平行性は、例えば、ユーザ選択およびドラッグまたはプッシュ、サイズ変更などの編集操作中に実質的に維持される。すなわち、図式ブロックの相対位置が編集操作によって変更される場合、直交する線は、平行性を実質的に維持するために、ブロックの新しい相対的なｘおよびｙの位置に対応して回転される。同様に、接続経路の交点は、編集操作中に、それぞれの図式ブロック内に１つまたは複数の点を保持するのに必要な結果的な相対シフトを伴ってまたは伴わずに、回転された直交する線上に維持される。このこと自体、接続経路は、直交する線と、接続経路上にレンダリングされるコネクタと一緒に回転する。したがって、図式ブロックの境界におけるコネクタの対応する接続点は、今回転されるコネクタに基づいて調整することができる。しかしながら、接続自体が接続のパラメータよりもむしろ尊重されるので、コネクタは、図式ブロックに賢明にも接続されたままであり、これによってユーザによる図式オブジェクトの完全な自由移動を可能にする。
【００５８】
先行開示の他の実施形態において、複数コネクタを含む状況は、追加または異なる幾何学的特性、例えば、平行なコネクタに対して共通な接続経路を定義すること、およびコネクタが接続された各図式ブロックに接続する角度または図式ブロックの幾何学的な中心を結ぶ接続経路と直交する線との間の角度を使用して交差されたコネクタの接続点を調整することなど、を使用することによって処理される。
【００５９】
本開示のシステムおよび方法において、さらなる接続関係の幾何学的特性は、編集操作中に、さらなる接続関係、例えば、１つまたは複数の接続ブロックが不規則な形状を有するまたは１つまたは複数の接続ブロックが１つまたは複数の非線形なコネクタ、例えば湾曲した又は弧状のコネクタに接続されているなど、を確認するために、定義および管理される。本システムおよび方法によってコネクタ上で実行される編集操作の処理について、図１０〜１５に例示する例示的な図式に関して説明する。
【００６０】
図１０は、手描き図式１０００において、関連付けられたデジタルインクコネクタに例示的な結果として生じる効果を伴うデジタルインクブロック上の移動操作を示す。図式１０００は、参照により本明細書に組み込まれる米国特許出願第１４／９５５，１７４号に示される例と同様であるが、しかしながら、図１０の移動操作は本システムおよび方法の一実施例に従うことに注意されたい。
【００６１】
図１０Ａにおいて、図式１０００は、コネクタ１００６によって接続されたブロック１００２およびブロック１００４を含む。手描き図式１０００は、入力管理システムによってデジタルインク図式として例えば、コンピューティングデバイス１００のディスプレイ１０２および／または入力インターフェイス１０４上に表示することができる。図１０Ｂにおいて、ブロック１００４は、入力管理システム１１２によって、調整されたコネクタ１００６’として、コネクタの表示について結果として調整されて、ブロック１００２に関して移動され、よって、図式１０００の編集されたバージョン１０００’を形成する。デジタルインクの要素の調整された表示は、例えば、本出願人および／または譲受人の名において２０１５年１０月１９日の優先日を主張して出願され、すべての内容が参照により本明細書において組み込まれる米国特許出願第１４／９５５，１５５号に記載されるようなやり方においてなど、予め定義されたもしくはダイナミックなデジタルインクライブラリ、または元のデジタルインクの再レンダリングされたバージョンから調整されたデジタルインクの要素をレンダリングすることによって実行することができる。
【００６２】
理解できるように、それぞれ、ブロック１００２および１００４の境界に対するコネクタ１００６の接続点ｉおよびｉｉは、それぞれ、ブロック境界の角１００２ａおよび１００４ａについての調整されたコネクタ１００６’の接続点ｉｉｉおよびｉｖに調整される。コネクタの調整された表示は、ユーザによる図式１０００に対する意図された編集に対して自然におよび礼儀正しく見える。図式要素のブロックの境界は、手描きまたはタイプセット変換された、非テキストの要素の境界、例えばコンテナ、形状などとして、または手書きまたはタイプセット変換された、テキストの要素、例えば空のテキストブロックなどの境界ボックスにおいて、定義することができる。テキストブロックのバウンディングボックスの決定は、当業者にはよく知られている。
【００６３】
コネクタ１００６の接続点が移動操作の間、うまく調整される方法を、図式１０００のタイプセットの形において図１０の移動操作を示す図１１を参照して説明する。本明細書において、図式のタイプセットバージョンは、説明を明確にする目的のみに使用されて、また、以下に説明する技法は、デジタルインクバージョンに適用可能である。例えば、デジタルインク図式１０００のタイプセットインクバージョンは、コンピューティングデバイス１００のディスプレイ１０２および／または入力インターフェイス１０４に、例えば、入力認識システム１１４から入力される、手書き図式１０００の認識された出力１２０を受け取ると入力管理システム１１２によって、表示することができる。処理において、入力管理システム１１２および／または入力認識システム１１４は、図式要素、例えば、図式ブロック、コネクタなどと、幾何学的特性および特徴とを、例えば、認識処理により認識および識別するよう構成することができる。
【００６４】
図１１Ａにおいて、ブロック１００２はタイプセットブロック１００２として表示され、ブロック１００４はタイプセットブロック１００４ｂとして表示され、コネクタ１００６はタイプセットコネクタ１００６ｂとして表示されて、図１１Ｂにおいて、調整されたコネクタ１００６’はタイプセットコネクタ１００６ｂ’として表示される。図１１Ａは、接続点の調整に対する本システムおよび方法によって決定されて使用される図式要素の関係の幾何学的特性または特徴を示す。
【００６５】
特徴は、ブロック１００２および１００４の幾何学的な中心Ａと、コネクタ１００６のいずれかの端部からそれぞれのブロック１００２ｂおよび１００４ｂへと投影してそれぞれの幾何学的な中心Ａと交差するコネクタ１００６の延長線（破線）１００８と、各ブロックの幾何学的な中心について定義される楕円１０１０と、それぞれの延長線または投影線１００８がそれぞれの楕円１０１０と交差する楕円１０１０上の点Ｂであって点Ｂと幾何学的な中心Ａとの間の各投影線１００８の部分が楕円１０１０の半径方向の線を形成するような点Ｂと、各ブロック１００２および１００４の線１０１２が別の１つと平行になるよう各ブロックの幾何学的な中心を通って延長される平行線（破線）１０１２と、それぞれの楕円１０１０上のそれぞれの点Ｂと交差するよう点Ｃからそれぞれの線１０１２に垂直に延長される法線（破線）１０１４とを含む。平行線１０１２は、接続点ｉと接続点ｉｉとを接続する１次直線（すなわち、本実施例におけるコネクタ１００６ｂ）と直角をなす線として定義される。したがって、接続点の直線は、理解できるように、点Ｂと点Ｃとを接続する法線１０１４と一致する。
【００６６】
幾何学的な中心、破線、楕円および交差する点に対して描画されたマークは、例示の目的のためだけに図面において提供されて、通常、入力管理システム１１２によってユーザに表示しないことに注意されたい。しかしながら、入力管理システム１１２のユーザインターフェイス（ＵＩ）は、例えば編集操作の間、参照のためにマーキングを表示する能力をユーザに提供することができる。
【００６７】
図１１Ｂにおいて、マーキングは、図１０Ｂに例示される図式１０００’の調整された表示に関して示される。理解できるように、調整されたコネクタ１００６ｂ’は、ブロック１００２に関してブロック１００４の移動により調整されるようレンダリングされる。調整において、平行線１０１２は、幾何学的な中心Ａを通過する際には維持されるが、ブロック１００２および１００４の新しい相対的なｘおよびｙの位置に対応して回転されて、調整された平行線１０１２’を形成する。以下のように達成される。
【００６８】
さらに、図１１Ａにおいて、２つの幾何学的な中心Ａを接続する接続線（破線）１０１６を例示する。接続線１０１６と平行線１０１２との間の角度（図面において二重の角度として示される）は、入力管理システム１１２によって決定される。ブロック１００４ｂがブロック１００２ｂに関して動かされると、接続線１０１６は、図１１Ｂに示されるように、調整された接続線１０１６’を定義するよう移動または回転される。入力管理システム１１２は、平行線を、調整された平行線１０１２’として同様に移動または回転させることによって、接続線と平行線との間の角度を維持する。すなわち、角度は、調整された接続線１０１６’と調整された平行線１０１２’との間に保持される。点Ｃは、回転を通して平行線１０１２上に保持されるが、しかしながら、また、調整された平行線１０１２’上の相対位置は、調整された点Ｃ’を定義するために移動することができる。点Ｃ’の調整された位置は、入力管理システム１１２によって以下のように決定される。
【００６９】
さらに、図１１Ａにおいて、平行線１０１２上の点Ｅを例示する。入力管理システム１１２は、本実施例における点Ｅを、平行線１０１２をブロック１００２ｂおよび１００４ｂ上に最大範囲において直交投影することによって、決定する（図面において、それぞれの点Ｅとブロック１００２および１００４の角とを接続する線によって示される）。１つまたは複数のブロック１００２および１００４が移動されると、入力管理システム１１２は、現時点で調整された平行線１０１２’をブロックの最大範囲に直交投影することによって点Ｅの調整された位置を決定する。
【００７０】
調整された点Ｃ’を示すために、入力管理システム１１２は、それぞれ（予め調整された）平行線１０１２上の点Ａと点Ｃとの間の（第１の）距離Ａ−Ｃ、それぞれ（予め調整された）平行線１０１２上の点Ａと点Ｅとの間の（第２の）距離Ａ−Ｅ、およびそれぞれ調整された平行線１０１２’上の点Ａおよび調整された点Ｅ’との間の（第３の）距離Ａ−Ｅ’を決定して、予め調整された距離Ａ−Ｅ’とＡ−Ｃとの比が調整された距離Ａ−Ｅ’とＡ−Ｃ’との比に実質的に等しくなるよう調整された点Ｃ’を示す。代替えとして、距離Ａ−Ｃ’が固定された比に設定される場合において、距離Ａ−Ｃ’を、距離Ａ−Ｃが距離Ａ−Ｅ’の固定された比よりも大きくなければ距離Ａ−Ｃに等しくなるよう維持することができる。
【００７１】
次に、調整された点Ｃ’は、入力管理システム１１２によって使用されて、図１１Ｂにおいて示すように、新しい（回転されたまたは置換された）点Ｄにおいて楕円１０１０に交差する調整された点Ｃ’からの調整された直交する線１０１４’を決定する。置換された点Ｄにおいて、それぞれ、幾何学的な中心Ａから置換された点Ｄを通って、それぞれブロック１００２ｂおよび１００４ｂの境界上に投影する、再投影（放射）線１００８’が決定される。それぞれの再投影線１００８’がブロック境界に交差する点は、調整されたコネクタ１００６’に対して調整された接続点ｉｉｉおよびｉｖを定義する。
【００７２】
したがって、本システムおよび方法において、調整されたコネクタ１００６ｂ’の調整された接続経路は、コネクタ自体よりもむしろ図式要素のブロックに関して定義された楕円に関して定義される。したがって、図１０および図１１の例の技法によって、コネクタの接続経路は、接続されたオブジェクトの境界上の予め調整された（第１の）接続点を予め調整されたオブジェクトの幾何学的な中心において定義された楕円にマッピングすること、および調整された（第２の）接続点を調整されたオブジェクの楕円から接続されたオブジェクの境界にマッピングすることに基づいて決定され、したがって、接続点の位置の調整は、幾何学的な中心に関して間接的に行われる。
【００７３】
図式要素のブロックによって定義される楕円が本明細書において説明されるが、一方、図式要素のブロックの形状および寸法に関する他の幾何学的な構成は、接続された図式要素のブロックの幾何学的特性、例えば寸法などから識別されたコネクタの接続の点についてのマッピングのために、入力管理システム１１２によって定義および決定することができる。幾何学的な構成は、ブロック自体の形状または境界とは無関係に、コネクタ自体の特性とは無関係に、図式要素のブロックの接続関係を定義するのに役立つ。コネクタの特性は、形状および直線状がある。また、図１０および図１１の実施例は、線形コネクタに関するが、しかしながら、転換技法に対して使用される幾何学的特徴は、非線形コネクタにもまた適する。次に、非線形コネクタの実施例を、図１２〜１５に関して説明する。
【００７４】
図１２は、手描き図式１２００において、関連付けられたデジタルインクコネクタに例示的な結果としての効果があるデジタルインクブロック上の移動操作を示す。図１２Ａにおいて、図式１２００は、湾曲または弧状のコネクタ１２０６によって接続されたブロック１２０２およびブロック１２０４を含む。図１２Ｂにおいて、ブロック１２０４は、ブロック１２０２に関して移動されて、結果としてコネクタの調整された表示が調整されたコネクタ１２０６’として表示されて、よって、図式１２００の編集されたバージョン１２００’が形成される。理解できるように、ブロック１２０２および１２０４に対するコネクタ１２０６の接続点ｉ、ｉｉは、それぞれ、移動操作において調整されないが、理由としてブロック１２０４はブロック１２０２に関して１次元（すなわち、水平方向）のみに移動される。しかしながら、移動により、コネクタ１２０６の非線形の形状または曲線は、調整されたコネクタ１２０６’において変化している。
【００７５】
さて、図式１２００のタイプセットの形における図１２Ａおよび１２Ｂの移動動作のそれぞれの状態を示す図１３Ａおよび１３Ｂに関して説明する。本明細書において図式のタイプセットバージョンは、説明を明確にする目的でのみに使用されて、また、以下に説明される技法は、デジタルインクバージョンに適用可能である。
【００７６】
図１３Ａにおいて、ブロック１２０２は、タイプセットブロック１２０２ｂとして表示されて、ブロック１２０４は、タイプセットブロック１２０４ｂとして表示されて、コネクタ１２０６は、タイプセットコネクタ１２０６ｂとして表示されて、図１３Ｂにおいて、調整されたコネクタ１２０６’は、タイプセットコネクタ１２０６ｂ’として表示される。図１３Ａは、接続点調整のための本システムおよび方法によって決定されて使用される図式要素の関係の幾何学的特性または特徴を示す。
【００７７】
特徴は、ブロック１２０２および１２０４の幾何学的な中心Ａと、コネクタ１２０６のいずれかの端部からそれぞれのブロック１２０２ｂおよび１２０４ｂへと投影して、それぞれの幾何学的な中心Ａと交差する、コネクタ１２０６の延長線（破線）１２０８と、各ブロックの幾何学的な中心において定義される楕円１２１０と、楕円１２１０上の点Ｂであって、それぞれの延長線または投影線１２０８がそれぞれ楕円１２１０に交差して、点Ｂと幾何学的な中心Ａとの間の各投影線１２０８の部分が楕円１２１０の半径方向の線を形成するような点Ｂと、各ブロック１２０２および１２０４の線１０１２が別の１つと平行になるよう各ブロックの幾何学的な中心を通って延長される平行線（破線）１２１２と、それぞれの楕円１２１０上のそれぞれの点Ｂと交差するよう点Ｃからそれぞれの線１２１２に垂直に延長される法線（破線）１２１４と、２つの幾何学的な中心Ａを接続する接続線（破線）１２１６とを含む。平行線１２１２は、接続点ｉと接続点ｉｉとを接続する１次直線（例えば、本実施例におけるブロック１２０２および１２０４の一直線に置かれた接続された（上部の）境界の間に定義される線１２１８）に対して直角をなす線として定義される。したがって、接続点の線１２１８は、点Ｂと点Ｃとを接続する垂直な線１２１４と一致する。
【００７８】
幾何学的な中心、破線、楕円および交差する点に対して描画されたマークは、例示の目的のためだけに図面において提供されて、通常、入力管理システム１１２によってユーザに表示しないことに注意されたい。しかしながら、入力管理システム１１２のユーザインターフェイス（ＵＩ）は、例えば編集操作の間、参照のためにマーキングを表示する能力をユーザに提供することができる。
【００７９】
図１３Ｂにおいて、マーキングは、図１２Ｂに例示される図式１２００’の調整された表示に関して示される。理解できるように、調整されたコネクタ１２０６ｂ’は、ブロック１２０２に関してブロック１２０４の移動により調整されるようレンダリングされる。調整において、平行線１２１２は、幾何学的な中心Ａを通過する際には維持されるが、ブロック１２０２および１２０４の新しい相対的なｘおよびｙの位置に対応して回転されて、調整された平行線１２１２’を形成する。以下のように達成される。
【００８０】
接続線１２１６と平行線１２１２との間の角度（図面において二重の角度として示される）は、入力管理システム１１２によって決定される。ブロック１２０４ｂがブロック１２０２ｂに関して動かされると、接続線１２１６は、図１３Ｂに示されるように、調整された接続線１２１６’を定義するよう移動または回転される。入力管理システム１１２は、平行線を、調整された平行線１２１２’として同様に移動または回転させることによって、接続線と平行線との間の角度を維持する。すなわち、角度は、調整された接続線１２１６’と調整された平行線１２１２’との間に保持される。点Ｃは、回転を通して平行線１２１２上に保持されるが、しかしながら、調整された平行線１２１２’上の相対的な位置もまた調整された点Ｃ’を定義するために移動することができる。点Ｃ’の調整された位置は、入力管理システム１１２によって以下のように決定される。
【００８１】
さらに、図１３Ａにおいて、平行線１２１２上の点Ｅを示す。入力管理システム１１２は、点Ｅを、楕円１２１０（図面において示される）をそれぞれの平行線１２１２上への直交投影の最大延長として決定する。１つまたは複数のブロック１２０２および１２０４が移動されると、入力管理システム１１２は、楕円１２１０の最大範囲を現時点において調整された平行線１２１２’へ直交投影することにより点Ｅの調整された位置を決定する。
【００８２】
調整された点Ｃ’を示すために、入力管理システム１１２は、それぞれ（予め調整された）平行線１２１２上の点Ａと点Ｃとの間の（第１の）距離Ａ−Ｃ、それぞれ（予め調整された）平行線１２１２上の点Ａと点Ｅとの間の（第２の）距離Ａ−Ｅ、およびそれぞれ予め調整された平行線１２１２’上の点Ａおよび調整された点Ｅ’との間の（第３の）距離Ａ−Ｅ’を決定して、予め調整された距離Ａ−ＥとＡ−Ｃとの比が調整された距離Ａ−Ｅ’とＡ−Ｃ’との比に実質的に等しくなるよう調整された点Ｃ’を示す。
【００８３】
次に、調整された点Ｃ’は、入力管理システム１１２によって使用されて、図１３Ｂにおいて示すように、新しい（回転されたまたは置換された）点Ｄにおいて楕円１２１０と交差する調整された点Ｃ’からの調整された直交する線１２１４’を決定する。置換された点Ｄにおいて、それぞれの幾何学的な中心Ａから置換された点Ｄを通ってブロック１２０２ｂおよび１２０４ｂのそれぞれの境界上に投影される、再投影線１２０８’を決定する。しかしながら、理解できるように、本実施例において、置換された点Ｄは、最初の点Ｃに楕円１２１０上の実質的に同じ位置にある。したがって、再投影線１２０８’は、ブロック境界と交差して、調整された接続を、調整されたコネクタ１２０６’に対する元の接続点ｉおよびｉｉとして定義する。
【００８４】
しかしながら、接続点は、一次変換の例において同一を保持するが、一方、接続経路は、コネクタ１２０６の非線形な形状のために依然として変更される。特に、ブロック１２０２および１２０４の間の距離が移動操作によって大きくなると、弧状コネクタ１２０６の曲率半径もまた大きくなる。すなわち、図１３Ａに示すように、接続点の線１２１８からコネクタ１２０６の円弧までの最大距離として示される、コネクタ１２０６の曲率半径ｒは、ブロック１２０２および１２０４の依然として一直線上に置かれ接続された（上部の）境界の間に定義された調整された線１２１８’から、調整されたコネクタ１２０６’の円弧までの最大距離として図１３Ｂに示される、調整されたコネクタ１２０６’の曲率半径ｒ’にまで増加する。同様に、曲率半径は、もし分離の距離が増加しないで減少すると、減少するであろう。
【００８５】
移動されたブロックの接続点は、接続関係に従う方法においてレンダリングされるが、一方、湾曲したコネクタの見かけ上の拡大（または縮小）は、特に編集された図式または図式部分が他のコンテンツの近くにある状況において、ユーザに動揺を与える可能性がある。したがって、接続関係のさらなる幾何学的特徴は、コネクタの調整された表示がユーザによる図式への意図された編集に対して自然におよび丁重に見えるよう非線形のコネクタを調整するために入力管理システム１１２によって決定することができる。調整の一実施例を、図１２Ｃおよび１３Ｃに示す。
【００８６】
図１２Ｃにおいて、ブロック１２０４は、ブロック１２０２に関して移動されて、調整されたコネクタ１２０６”としてコネクタの表示の結果としての調整を伴い、よって図式１２００の編集されたバージョン１２００”が形成される。理解できるように、ブロック１２０２および１２０４に対するコネクタ１２０６の接続点ｉおよびｉｉは、それぞれ図１２Ｂおよび図１３Ｂの実施例のように、移動操作において調整されない。しかしながら、先行の実施例とは異なり、コネクタ１２０６の非線形の形状または曲線は、調整されたコネクタ１２０６”では実質的に変化しない。
【００８７】
このようにコネクタを調整するために、入力管理システム１１２は、図１３Ａに定義されるようにコネクタ１２０６の曲率半径ｒを決定して、変換によりこの曲率半径を維持する。こ調整されたコネクタ１２０６”が、ブロック１２０２および１２０４の依然として一直線上に置かれた接続された（上部の）境界の間に定義される調整された線１２１８”から調整されたコネクタ１２０６”の円弧までの最大距離として定義される曲率半径ｒを有する場合において、図１３Ｃに示す。
【００８８】
このようにして、非線形のコネクタの調整された表示は、ユーザによる図式への意図された編集に対して自然におよび丁重に見える。本システムおよび方法において、変換は、二次元編集操作、例えば水平方向と垂直方向との両方、またはｘおよびｙ方向の両方にも適用可能である。二次元的な移動操作の一実施例を、図１４および１５において例示する。
【００８９】
図１４は、手描き図式１４００において関連付けられたデジタルインクコネクタに結果として生じる効果を伴うデジタルインクブロック上の移動操作を示す。図１１４Ａにおいて、図式１４００は、湾曲または弧状のコネクタ１４０６によって接続されたブロック１４０２およびブロック１４０４を含む。図１４Ｂにおいて、ブロック１４０４は、ブロック１４０２に関して移動されて、調整されたコネクタ１４０６’としてコネクタの調整された結果としての表示を伴い、よって図式１４００の編集されたバージョン１４００’が形成される。理解できるように、ブロック１４０２および１４０４へのコネクタ１４０６の接続点ｉおよびｉｉは、それぞれ、角１４０２ａおよび１４０４ａについて調整されたコネクタ１４０６’に対する接続点ｉｉｉおよびｉｖにそれぞれ調整される。理解できるように、コネクタ１４０６の非線形な形状または曲線は、調整されたコネクタ１４０６’において維持される。したがって、コネクタの調整された表示は、ユーザによる図式４００への意図された編集に対して自然におよび丁重に見える。
【００９０】
図式１４００のタイプセットの形において図１４Ａおよび１４Ｂの移動操作のそれぞれの状態を示す図１５Ａおよび１５Ｂに関して説明する。本明細書において図式のタイプセットバージョンは、説明を明確にする目的のみに使用されており、以下に説明する技法は、デジタルインクバージョンにもまた適用可能である。
【００９１】
図１５Ａにおいて、ブロック１４０２は、タイプセットブロック１４０２として表示され、ブロック１４０４は、タイプセットブロック１４０４ｂとして表示され、コネクタ１４０６は、タイプセットコネクタ１４０６ｂとして表示されて、図１５Ｂにおいて、調整されたコネクタ１４０６’は、タイプセットコネクタ１４０６ｂ’として表示される。図１５Ａは、接続点の調整に対する本システムおよび方法によって決定されて使用される図式要素の関係の幾何学的特性または特徴を示す。
【００９２】
特徴は、ブロック１４０２および１４０４の幾何学的な中心Ａと、コネクタ１４０６のいずれかの端部からそれぞれのブロック１４０２ｂおよび１４０４ｂ内に投影されて、それぞれの幾何学的な中心Ａと交差するコネクタ１４０６の延長線（破線）１４０８と、各ブロックの幾何学的な中心について定義される楕円１４１０と、それぞれの延長線または投影線１４０８がそれぞれの楕円１４１０と交差する楕円１４１０上の点Ｂであって、点Ｂと幾何学的な中心Ａとの間の各投影線１４０８の部分が楕円１４１０の半径方向の線を形成するような点Ｂと、各ブロック１４０２および１４０４の線１４１２が別の１つと平行になるよう各ブロックの幾何学的な中心を通って延長される平行線（破線）１４１２と、それぞれの楕円１４１０上のそれぞれの点Ｂと交差するよう点Ｃからそれぞれの線１４１２に垂直に延長される直交する線（破線）１４１４と、２つの幾何学的な中心Ａを接続する続（破線）１４１６とを含む。平行線１４１２は、接続点ｉと接続点ｉｉとを接続する直線（図示せず）に対して直角をなす線として定義される。したがって、接続点の線は、点Ｂと点Ｃとを接続する直交する線１４１４に一致する。
【００９３】
幾何学的な中心、破線、楕円および交差の点に対して描画されたマークは、例示の目的のためのみに図面において提供されて、通常、入力管理システム１１２によってユーザに表示しないことに注意されたい。しかしながら、入力管理システム１１２のユーザインターフェイス（ＵＩ）は、例えば編集操作の間に、参照のためにマーキングを表示する能力をユーザに提供することができる。以下のように達成する。
【００９４】
接続線１０１６と平行線１４１２との間の角度（図面において二重の角度として示される）は、入力管理システム１１２によって決定される。ブロック１４０４ｂがブロック１４０２ｂに関して動かされると、接続線１４１６は、図１５Ｂに示すように、調整された接続線１４１６’を定義するよう移動または回転させる。入力管理システム１１２は、平行線を、調整された平行線１４１２’として同様に移動または回転させることによって、接続線と平行線との間の角度を維持する。すなわち、角度は、調整された接続線１４１６’と調整された平行線１４１２’との間に保持される。点Ｃは、回転を通して平行線１４１２上に保持されるが、しかしながら、調整された平行線１４１２’上の相対的な位置もまた調整された点Ｃ’を定義するために移動することができる。点Ｃ’の調整された位置は、入力管理システム１１２によって以下のように決定される。
【００９５】
さらに、図１５Ａにおいて、平行線１４１２上の点Ｅを例示する。入力管理システム１１２は、点Ｅを、それぞれの平行線１４１２上への楕円１４１０（図面において示される）の直交投影についての最大延長として、決定する。１つまたは複数のブロック１４０２および１４０４が移動されると、入力管理システム１１２は、楕円１２１０の最大範囲を現時点において調整された平行線１４１２’へ直交投影することにより、点Ｅの調整された位置を決定する。
【００９６】
調整された点Ｃ’を示すために、入力管理システム１１２は、それぞれの（予め調整された）平行線１４１２上の点Ａと点Ｃとの間の（第１の）距離Ａ−Ｃ、それぞれの（予め調整された）平行線１４１２上の点Ａと点Ｅとの間の（第２の）距離Ａ−Ｅ、およびそれぞれの予め調整された平行線１４１２’上の点Ａおよび調整された点Ｅ’との間の（第３の）距離Ａ−Ｅ’を決定して、予め調整された距離Ａ−ＥとＡ−Ｃとの比が調整された距離Ａ−Ｅ’とＡ−Ｃ’との比に実質的に等しくなるよう調整された点Ｃ’を示す。
【００９７】
次に、調整された点Ｃ’は、入力管理システム１１２によって使用され、図１３Ｂにおいて示すように、新しい（回転されたまたは置換された）点Ｄにおいて楕円１４１０と交差する調整された点Ｃ’から調整された直交する線１４１４’を決定する。置換された点Ｄにおいて、それぞれの幾何学的な中心Ａから置換された点Ｄを通ってブロック１４０２ｂおよび１４０４ｂのそれぞれの境界上に投影する、再投影の半径方向の線１４０８’が決定される。それぞれの再投影線１４０８’がブロックの境界と交差する点は、調整されたコネクタ１４０６’の調整された接続点ｉｉｉおよびｉｖを定義する。先行例のように、コネクタ１４０６の非線形な形状または曲線は、調整されたコネクタ１４０６’において実質的に変化しない。
【００９８】
このようにしてコネクタを調整するために、入力管理システム１１２は、図１５Ａにおいて示すように、コネクタ１４０６の曲率半径ｒを、ブロック１４０２ｂおよび１４０４ｂの幾何学的な中心Ａの接続線１４１６からコネクタ１４０６の円弧までの最大距離として決定して、図１５Ｂに示すように、変換によりこの曲率半径を維持する。本実施例における曲率半径は、先行例におけるようにブロックの接続された境界の間に定義された線よりもむしろ、接続されたブロックの幾何学的な中心についての接続線に関して定義されることに注意されたい。しかしながら、接続された境界（すなわち、コネクタの接続点を有するブロックの境界）の線を、本実施例においておよび先行例に使用された接続線において使用することができることを理解する。
【００９９】
本明細書に記載された本システムおよび方法の実施例において、入力管理システム１１２は、例えば入力認識システム１１４と共同して、コンピューティングデバイスのディスプレイ上にインタラクティブインクとしてレンダリングされた、デジタルインクにおける入力図式要素の表示を引き起こして、図式要素のブロックを別の１つに接続する図式要素におけるコネクタを識別する。接続された図式要素の幾何学的特性、例えば幾何学的な中心およびブロックの境界によって定義される説明された例示の楕円などに基づいて、接続された図式要素の各々の幾何学的構成を決定することによって、入力管理システム１１２は、接続された図式要素の境界に対するコネクタの接続点を幾何学的構成にマッピングして、よってマッピングされた点を定義する。
【０１００】
次に、マッピングされた点の位置は、例えばコンピューティングデバイス１００の入力インターフェイス１０４における、ユーザにより表示されたインタラクティブインクとのインタラクションなど、接続されたブロックまたはコネクタ自体に対する編集操作が入力管理システム１１２によって検知されると、入力管理システム１１２によって調整される。調整されたマッピングされた点は、調整されたマッピングされた点を接続された図式要素のブロックの境界上にマッピングすることによって、図式要素のブロックをコネクタの調整された接続点と共に再表示するために使用される。このようにして、図式要素のブロックの接続関係は、ブロック自体の形状または境界とは無関係に、コネクタ自体の特性とは無関係に定義されて、よって編集操作の間および後の表示された図式要素の実質的に忠実な編集が可能になる。
【０１０１】
以上、最良の形態および／または他の例であると考えられるものを説明したが、その中で種々の修正を行ってもよく、また本明細書で開示する主題を種々の形態および例で実施し得て、本明細書では一部しか説明していない他の多くの用途、組み合わせ、および環境に適用し得ることを理解されたい。当業者は理解するだろうが、開示された態様が主題の真の精神および範囲から逸脱することなく変更または修正し得る。したがって、本主題は、この説明における特定詳細、提示、および図示の例に限定されない。本明細書に開示されている有利な概念の真の範囲内に包含されるあらゆる修正および変形を保護することを意図している。
【０１０２】
動詞「なる」、「含む」、「備える」、または任意の他の変形、ならびにそれらの活用形の使用は、言及されたもの以外の要素またはステップの存在を排除するものではない。要素またはステップを説明するときの不定冠詞「ａ」または「ａｎ」の使用は、特に明記しない限り、そのような要素またはステップが複数存在することを排除するものではない。例えば、「プロセッサ」という用語は、特に明記しない限り、「１つまたは複数のプロセッサ」を意味すると見なし得る。
【図１Ａ】
2020504848.tif 000003
【図１Ｂ】
2020504848.tif 000004
【図２Ａ】
2020504848.tif 000005
【図２Ｂ】
2020504848.tif 000006
【図３Ａ】
2020504848.tif 000007
【図３Ｂ】
2020504848.tif 000008
【図４Ａ】
2020504848.tif 000009
【図４Ｂ】
2020504848.tif 000010
【図５Ａ】
2020504848.tif 000011
【図５Ｂ】
2020504848.tif 000012
【図６Ａ】
2020504848.tif 000013
【図６Ｂ】
2020504848.tif 000014
【図７】
2020504848.tif 000015
【図８】
2020504848.tif 000016
【図９】
2020504848.tif 000017
【図１０Ａ】
2020504848.tif 000018
【図１０Ｂ】
2020504848.tif 000019
【図１１Ａ】
2020504848.tif 000020
【図１１Ｂ】
2020504848.tif 000021
【図１２Ａ】
2020504848.tif 000022
【図１２Ｂ】
2020504848.tif 000023
【図１２Ｃ】
2020504848.tif 000024
【図１３Ａ】
2020504848.tif 000025
【図１３Ｂ】
2020504848.tif 000026
【図１３Ｃ】
2020504848.tif 000027
【図１４Ａ】
2020504848.tif 000028
【図１４Ｂ】
2020504848.tif 000029
【図１５Ａ】
2020504848.tif 000030
【図１５Ｂ】
2020504848.tif 000031
【国際調査報告】
2020504848.tif 000032
2020504848.tif 000033