IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ マイスクリプトの特許一覧

特許7134169手書き図式のコネクタの管理用システムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-01
(45)【発行日】2022-09-09
(54)【発明の名称】手書き図式のコネクタの管理用システムおよび方法
(51)【国際特許分類】
   G06F 3/04883 20220101AFI20220902BHJP
   G06F 3/0484 20220101ALI20220902BHJP
   G06T 11/20 20060101ALI20220902BHJP
【FI】
G06F3/04883
G06F3/0484
G06T11/20
【請求項の数】 18
(21)【出願番号】P 2019514746
(86)(22)【出願日】2017-12-14
(65)【公表番号】
(43)【公表日】2020-02-13
(86)【国際出願番号】 EP2017082816
(87)【国際公開番号】W WO2018109084
(87)【国際公開日】2018-06-21
【審査請求日】2020-12-02
(31)【優先権主張番号】16290237.3
(32)【優先日】2016-12-15
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】15/465,946
(32)【優先日】2017-03-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515295429
【氏名又は名称】マイスクリプト
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ロビン メリナン
【審査官】木村 慎太郎
(56)【参考文献】
【文献】米国特許出願公開第2006/0061776(US,A1)
【文献】特表2015-521302(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/04883
G06F 3/0484
G06T 11/20
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイス上の図式要素の接続を管理するシステムであって、前記コンピューティングデバイスが、プロセッサと、前記プロセッサの制御の下に入力される手描き図式要素を検出して認識するための少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体とを含み、前記少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体が、
前記コンピューティングデバイスに関連付けられた表示装置上にインタラクティブなインクにより複数の入力された図式要素を表示させる手段と、
複数の図式要素を接続するコネクタとして少なくとも1つの図式要素を識別する手段と、
前記接続された図式要素の各々の幾何学的特性において定義された幾何学的構成を決定する手段であって、前記幾何学的構成は、前記接続された図式要素の形状および境界に独立であり、前記接続された図式要素の幾何学的特性に基づき、前記接続された図式要素の各々の前記幾何学的特性は、幾何学的な中心を少なくとも含む、手段と、
マッピングされた点を定義するために前記接続された図式要素に対する前記少なくとも1つの識別されたコネクタの接続点を前記幾何学的構成にマッピングする手段と、
前記幾何学的構成にマッピングされた接続点のうちの2点を結ぶ線分と、前記幾何学的構成にマッピングされたコネクタ上の点との距離の最大値を決定する手段と、
前記少なくとも1つの識別されたコネクタと1つまたは複数の前記接続された図式要素の1つまたは複数の前記幾何学的特性との前記インタラクティブなインクにより受信された1つまたは複数のインタラクションに基づいて前記幾何学的構成上の前記マッピングされた点の位置を調整する手段であって、前記幾何学的構成にマッピングされた前記コネクタ上の点は、前記最大値に基づいて調整される、手段と、
前記接続された図式要素上の前記調整されたマッピングされた点のマッピングに少なくとも従って調整された接続点として前記図式要素の再表示を引き起こす手段と
を備えたことを特徴とするシステム。
【請求項2】
前記少なくとも1つのコネクタは、前記コネクタの特性および前記図式要素間の位置関係に基づいて識別されることを特徴とする請求項1に記載のシステム。
【請求項3】
前記少なくとも1つの識別されたコネクタは非線形のコネクタであることを特徴とする請求項1または2に記載のシステム。
【請求項4】
前記非線形のコネクタは湾曲コネクタであることを特徴とする請求項3に記載のシステム。
【請求項5】
前記少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体が、前記図式要素を再表示させる場合に前記最大値を維持する手段をさらに備えたことを特徴とする請求項4に記載のシステム。
【請求項6】
前記インタラクティブなインクはデジタルインクであることを特徴とする請求項1、2、3、4、または5のいずれか一項に記載のシステム。
【請求項7】
プロセッサと、前記プロセッサの制御の下に入力された手描き図式要素を検出して認識するための少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体とを備えた、コンピューティングデバイス上の図式要素の接続を管理する方法であって、
前記コンピューティングデバイスに関連付けられた表示装置上にインタラクティブなインクにより複数の入力された図式要素を表示するステップと、
複数の図式要素を接続するコネクタとして少なくとも1つの図式要素を識別するステップと、
前記接続された図式要素の各々の幾何学的特性において定義された幾何学的構成を決定するステップであって、前記幾何学的構成は、前記接続された図式要素の形状および境界に独立であり、前記接続された図式要素の幾何学的特性に基づき、前記接続された図式要素の各々の前記幾何学的特性は、幾何学的な中心を少なくとも含む、ステップと、
マッピングされた点を定義するために前記接続された図式要素に対する前記少なくとも1つの識別されたコネクタの接続点を前記幾何学的構成にマッピングするステップと、
前記幾何学的構成にマッピングされた接続点のうちの2点を結ぶ線分と、前記幾何学的構成にマッピングされたコネクタ上の点との距離の最大値を決定するステップと、
前記少なくとも1つの識別されたコネクタと1つまたは複数の前記接続された図式要素の1つまたは複数の前記幾何学的特性との前記インタラクティブなインクにより受信された1つまたは複数のインタラクションに基づいて前記幾何学的構成上の前記マッピングされた点の位置を調整するステップであって、前記幾何学的構成にマッピングされた前記コネクタ上の点は、前記最大値に基づいて調整される、ステップと、
前記接続された図式要素上の前記調整されたマッピングされた点のマッピングに少なくとも従って前記調整された接続点として前記図式要素を再表示させるステップと
を備えることを特徴とする方法。
【請求項8】
前記コネクタの特性および前記図式要素間の位置関係に基づいて前記少なくとも1つのコネクタを識別するステップをさらに備えたことを特徴とする請求項7に記載の方法。
【請求項9】
前記少なくとも1つの識別されたコネクタは非線形のコネクタであることを特徴とする請求項7または8に記載の方法。
【請求項10】
前記非線形のコネクタは湾曲コネクタであることを特徴とする請求項9に記載の方法。
【請求項11】
前記図式要素を再表示させる場合に前記最大値を維持するステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項12】
前記インタラクティブなインクはデジタルインクであることを特徴とする請求項7、8、9、10、または11のいずれか一項に記載の方法。
【請求項13】
コンピューター読み取り可能なプログラムコードを有する非一時的なコンピューター読み取り可能な記録媒体であって、前記コンピューター読み取り可能なプログラムコードは、コンピューティングデバイス上で図式要素の接続を管理する方法を実装するように実行されるよう適用され、前記コンピューティングデバイスは、プロセッサと、前記プロセッサの制御の下に入力された手描き図式要素を検出して認識するための少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体とを備え、前記方法が、
前記コンピューティングデバイスに関連付けられた表示装置上にインタラクティブなインクにより複数の入力された図式要素を表示するステップと、
複数の図式要素を接続するコネクタとして少なくとも1つの図式要素を識別するステップと、
前記接続された図式要素の各々の幾何学的特性において定義された幾何学的構成を決定するステップであって、前記幾何学的構成は、前記接続された図式要素の形状および境界に独立であり、前記接続された図式要素の幾何学的特性に基づき、前記接続された図式要素の各々の前記幾何学的特性は、幾何学的な中心を少なくとも含む、ステップと、
マッピングされた点を定義するために前記接続された図式要素に対する前記少なくとも1つの識別されたコネクタの接続点を前記幾何学的構成にマッピングするステップと、
前記幾何学的構成にマッピングされた接続点のうちの2点を結ぶ線分と、前記幾何学的構成にマッピングされたコネクタ上の点との距離の最大値を決定するステップと、
前記少なくとも1つの識別されたコネクタと1つまたは複数の前記接続された図式要素の1つまたは複数の前記幾何学的特性との前記インタラクティブなインクにより受信された1つまたは複数のインタラクションに基づいて前記幾何学的構成上の前記マッピングされた点の位置を調整するステップであって、前記幾何学的構成にマッピングされた前記コネクタ上の点は、前記最大値に基づいて調整される、ステップと、
前記接続された図式要素上の前記調整されたマッピングされた点のマッピングに少なくとも従って前記調整された接続点として前記図式要素を再表示させるステップと
を備えることを特徴とする非一時的なコンピューター読み取り可能な記録媒体。
【請求項14】
前記コネクタの特性および前記図式要素間の位置関係に基づいて前記少なくとも1つのコネクタを識別するステップをさらに備えたことを特徴とする請求項13に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項15】
前記少なくとも1つの識別されたコネクタは非線形のコネクタであることを特徴とする請求項13または14に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項16】
前記非線形のコネクタは湾曲コネクタであることを特徴とする請求項15に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項17】
前記方法が前記図式要素を再表示させる場合に前記最大値を維持するステップをさらに備えたことを特徴とする請求項16に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項18】
前記インタラクティブなインクはデジタルインクであることを特徴とする請求項13、14、15、16、または17のいずれか一項に記載の非一時的なコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の参照]
本出願は、2017年3月22日に出願された米国特許出願第15/465,946号の優先権を主張するが、2016年12月15日に出願された欧州特許出願第16290237.3号の優先権を主張し、全体は参照により本明細書に組み込まれる。
【0002】
本開示は一般に、種々の形状および文字の手書きのユーザ入力を認識することができるコンピューティングデバイスインターフェイスの分野に関する。特に、本開示は、手書き入力の図式要素間のコネクタに対する表示をもたらす編集操作を処理するためのシステムおよび方法を提供する。
【背景技術】
【0003】
コンピューティングデバイスは、日常生活において、より遍在するようになり続ける。コンピューターデスクトップ、ラップトップコンピューター、タブレットコンピューター、電子書籍リーダー、携帯電話、スマートフォン、ウェアラブルコンピューター、GPS(全地球測位システム)ユニット、EDA(enterprise digital assistant)、PDA(携帯情報端末)、ゲームコンソールなどの形をとる。さらに、コンピューティングデバイスは、例えば、自動車、トラック、農機具、製造設備、建築環境制御(例えば、照明、HVAC)、ならびに家庭用および商業用機器などの、車両および機器に組み込まれている。
【0004】
コンピューティングデバイスは一般に、例えば、CPU(中央処理装置)、ある形態のメモリ、入出力デバイスなどの少なくとも1つの処理の要素により構成される。種々のコンピューティングデバイスおよび続いて使用は、様々なインターフェイスおよび入力デバイスを必要とする。入力装置の1つは、例えば、タッチスクリーンまたはタッチパッドなどのタッチセンシティブな表面であり、ここにおいてユーザ入力は、ユーザの指または例えば、ペンまたはスタイラスなどの器具とタッチセンシティブな表面との間の接触を通じて受信される。他の入力装置は、入力の表面上においてユーザによって行われたジェスチャーを感知する入力の表面である。さらなる入力装置は、接触と非接触面との相互作用か非接触と非接触面との相互作用かのいずれかの相対位置を検出する位置検出システムである。一般に、あらゆる入力の方法を、図表およびテキストの手書きまたは手描きの入力に使用することができて、入力が手書き認識システムまたは方法を使用して解釈される。
【0005】
コンピューティングデバイスにおける手書き認識の1つのアプリケーションは、コンピューティングデバイス上で手描きされる図式の作成においてであり、タイプセットバージョンに変換される。図式は、(パーツとしての)配置および関係を説明または示している図である。一般に、図式は、任意のまたは特定の意味を有する形状、および形状と関係があるテキストを含む。いくつかの図式の種類、例えば、フローチャート、組織図、概念図、スパイダー図、ブロック/アーキテクチャ図、マインドマップ、ブロック図、ベン図、およびピラミッドなどがある。可能な図式のいくつかのタイプセットおよび手書きの例の描写を、図1~6において例示する。
【0006】
図1Aおよび図1Bは、それぞれ、異なる種類(例えば、直線矢印、湾曲矢印)についての、図式ブロック12間の関係を接続または指定する、図式ブロックまたはコンテナ12およびコネクタ14を定義する、形状をさまざまに有するタイプセットおよび手書きの例示的な概念図10を示す。さらに、図1Bにおいて、コンテナ12はテキスト16を含む。一般に、概念図において、ブロック間の接続は、ブロックの中のテキストによって定義される概念的に関連するまたは従属する要素もしくはテーマを定義する。ブロック自体を、コンセプトマップの中に提示することはできないが、代わりにテキスト(例えば、関連する形状およびコンテナを持たないテキストブロック内に定義される)を、コネクタによって接続することができる。
【0007】
図2Aおよび図2Bは、それぞれ、図式ブロックまたはコンテナ12、異なる種類(例えば、直線、曲線)の、マインドマップのある特徴または状態に対する図式ブロック12および経路18間の関係を接続または指定する、コネクタ14を定義する形状をさまざまに有するタイプセットおよび手書きの例示的なマインドマップ20を示す。さらに、図2Bにおいて、コンテナ12および経路18は、関連するテキスト16を有する。一般に、マインドマップにおいて、ブロック間の接続は、ブロックの中のテキストによって定義される中心要素またはテーマからの可能性がある代替の状態を定義して、経路は、経路上のテキストによって定義される各々の代替の状態のついて重要な特徴を定義する。ブロック自体を、コンセプトマップの中に提示することはできないが、代わりにテキスト(例えば、関連する形状およびコンテナを持たないテキストブロックの中に定義される)を、コネクタおよび経路によって接続することができる。
【0008】
図3Aおよび図3Bは、それぞれ、異なる種類(例えば、長円形、長方形、ひし形)の、図式ブロックまたはコンテナ12、および異なる種類(例えば、直線矢印、鉤付き矢印、分岐線)の、図式ブロック12間の関係を接続または指定する、コネクタ14を定義する、形状をさまざまに有するタイプセットおよび手書きの例示的なフローチャートまたは図式30を示す。さらに、図3Bにおいて、コンテナ12はテキスト16を含み、同様にテキストはコネクタと関連付けることができる。一般に、フローチャートにおいて、ブロック間の接続は、ブロックの中のテキストによって定義される、手順において関連するまたは従属する要素もしくはステップを定義する。ブロック自体を、フローチャートの中に提示することができないが、代わりにテキスト(例えば、関連する形状およびコンテナを持たないテキストブロックの中に定義される)をコネクタによって接続することができる。
【0009】
図4Aおよび図4Bは、それぞれ、図式ブロックまたはコンテナ12、および異なるタイプ(例えば、直線、折り曲げ線、分岐線)の、図式ブロック12の間の関係を接続または指定する、コネクタ14を定義する形状をさまざまに有するタイプセットおよび手書きの例示的な組織図または図式40を示す。さらに、図4Bにおいて、コンテナ12は、関連するテキスト16を含む。一般に、組織図において、ブロック間の接続は、ブロックの中のテキストによって定義される組織またはグループのメンバーまたは機能の階層関係を定義する。ブロック自体を、組織図の中に提示することはできないが、代わりにテキスト(例えば、関連する形状およびコンテナを持たないテキストブロックの中に定義される)をコネクタによって接続することができる。
【0010】
図5Aおよび図5Bは、それぞれ、入れ子にされた関係(例えば、他のコンテナ12内のコンテナ12)を有する、図式ブロックまたはコンテナ12、および図式ブロック12の間の関係を接続または指定する、入れ子にされたブロック間を含む、コネクタ14を定義する形状をさまざまに有するタイプセットおよび手書きの例示的なブロック/アーキテクチャ図50を示す。さらに、図5Bにおいて、コンテナ12およびコネクタは関連するテキスト16を有する。一般に、アーキテクチャ図において、入れ子にされたブロックは、デバイスまたは処理コンポーネントの配置または所有を定義して、ブロック間の接続はブロックの中のテキストによって定義されるブロック間の機能的関係を定義する。
【0011】
図6Aおよび図6Bは、それぞれ、図式ブロック12間の関係を接続または指定する、図式ブロックまたはコンテナ12およびコネクタ14を定義する形状をさまざまに有するタイプセットおよび手書きの例のスパイダー図60を示す。さらに、図6Bにおいて、コンテナ12およびコネクタは、関連するテキスト16を有する。一般に、スパイダー図において、ブロック間の接続および/またはテキストは、テキストによって定義される中心要素またはテーマから従属する関係または状態を定義する。
【0012】
図1~6において例示された図式は、単なる例であり、および他の要素または各々の図式の種類に対して叙述されたのと異なる要素か、叙述された要素の異なる種類または形態自体かを、追加または代替として図式中に存在することができる。さらに、図式の種類の他の定義は、組み合わせも同様に、可能である。形状の基本的な構成要素(コンテナが有るまたは無い接続)および図式の中のテキストを組み合わせる無数の可能なバリエーションは、コンピューティングデバイスに対して手描きまたは手書きのコンテンツとして入力される要素の正確な認識に対する問題を引き起こす可能性がある。特に、図式は、例えば、議論されている概念、問題または解決策をとらえる講義または会議の間に、コンピューティングデバイスのユーザが図式を作成する教育およびビジネスの状況において使用される。通常、デバイスにおいてローカルか、デバイスの通信リンクを介してリモートかのいずれかに、タッチセンシティブな表面または相対位置の検出システムによって監視される表面の上への手描き入力を受け付けて解釈するコンピューティングデバイス上において、手書きの図式またはスケッチアプリケーションをユーザが起動することによって行われる。
【0013】
従来、手書きの図式作成アプリケーションは、上述した図式作成の複雑さを処理する能力に限界があり、典型的に、ユーザに、ユーザの本来の意図を反映しないふるまいを採用するか妥協を受け入れることを強いる。結果として、いくつかの従来の手書きの図式作成アプリケーションは、ユーザに、メニューをナビゲートして形状を選択させて描画して、形状に関連してテキストを挿入することを強制する。それだけで、ユーザは自然にまたは自由に形状またはコネクタを描画することはできない。
【0014】
いくつかの従来のアプリケーションは、ユーザに提供される合理的な創造的自由をもって、手書きされる形状および手描きされるテキストをよく認識する。しかしながら、描画された図式を変更する機能、例えば、追加する図式の要素を編集する、要素を削るまたは置き換える、図式を進化概念に対して適応する、図式の種類を変換するなどは、ある操作だけが利用可能であり、および特に、例えば接続されたコンテナなどの、認識された関係を保持しながら、図式要素の相対位置の操作に関して、図式のタイプセットバージョンにだけ利用可能であり、例えば、手書き入力、いわゆるデジタルインクには利用可能でないところに制限され、および/または上述のように、ジェスチャーが習得されること、または選択がメニューを介して行われることを必要とする。
【0015】
例えば、米国特許第8,014,607号は、ある編集操作をデジタルインクに直接行うことを可能にする推論モードプロトコルを記載する。しかしながら、記載された操作は非常に限定される。さらに、認識された関係を保持しつつ、デジタルインクの中の図式要素の相対位置を操作する能力に対して解決策を提供しない。米国特許第6,525,749号は、オブジェクト間のリンクが幾何学的に変換されて特徴的な形状を維持し、リンクの端点を移動させる、再位置決めの操作に関して、デジタルインクに対する相対操作を記載する。しかしながら、ユーザにとって期待されるまたは好ましいやり方において、変換を達成するやり方に関する開示はない。
【0016】
米国特許第7,394,935号もまた、位置変更操作およびサイズ変更に関するデジタルインク上の相対操作を記載する。しかしながら、操作において、接続点が維持される、と言っても単にデジタルインクが操作に従って拡大縮小されるように、およびこのこと自体において、ユーザが、デジタルインクを最初に描かれた寸法に戻すためにさらなるインタラクションを実行する、例えば、接続されているコンテナからコンテナを遠ざけることがxおよびyの寸法との両方にコネクタを伸長することを引き起こす、またはコネクタがリサイズか別の形(例えば、直線から折り曲げ線)に変更されるかのときに、コネクタのデジタルインクを近似するバックボーン(水平線および垂直線)を再計算することによりコネクタが「リフロー」することを必要とする。これは、デジタルインクの再生成を必要とし、関連する米国特許第7,324,691号に記載されるように高曲率点(カスプ)におけるセグメント化によりコネクタインクの正規化を通して行うことができる。したがって、結果として生じる操作されたデジタルインクは、最初に描かれたインクと全く異なることがあり、ユーザによる介入を必要とする。
【発明の概要】
【0017】
本明細書において以下に説明する本開示の例は、ポータブルのおよびポータブルでないコンピューティングデバイス上において手描きおよび手書きのコンテンツをキャプチャし、処理し、管理するためのシステム、方法およびソフトウェアを提供する。
【0018】
本開示のいくつかの実装において、コンピューティングデバイス上において図式要素の接続を管理するシステムを提供する。コンピューティングデバイスは、プロセッサと、プロセッサの制御の下に入力された手描き図式要素を検出し認識するための少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体とを含む。少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体は、コンピューティングデバイスに関連する表示装置上にインタラクティブなインクにより複数の入力図式要素を表示させ、少なくとも1つの図式要素を、複数の図式要素を接続するコネクタとして識別し、接続された図式要素の幾何学的特性に基づいて、接続された図式要素のそれぞれの幾何学的構成を決定し、マッピングされた点を定義するために、少なくとも1つの識別されたコネクタの接続された図式要素への接続の点を幾何学的構成要素にマッピングし、少なくとも1つの識別されたコネクタのインタラクティブなインクまたは1つまたは複数の接続された図式要素を用いて受信された1つまたは複数のインタラクションに基づいて、幾何学的構成上のマッピング点の位置を調整し、少なくとも接続された図式要素上に調整されたマッピングされた点のマッピングに従って、図式要素を調整された接続点として再表示させるように構成することができる。
【0019】
本システムのいくつかの実装において、少なくとも1つのコネクタは、コネクタの特性および図式要素間の位置関係に基づいて識別される。さらに、少なくとも1つの識別されたコネクタは、非線形コネクタおよび/または湾曲コネクタである。
【0020】
本システムのいくつかの実装において、少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体を、図式要素を再表示させるときに湾曲コネクタの曲率半径を維持するよう構成する。
【0021】
本システムのいくつかの実装において、インタラクティブなインクはデジタルインクである。
【0022】
本開示のいくつかの実装において、コンピューティングデバイス上に図式要素の接続を管理する方法を提供する。コンピューティングデバイスは、プロセッサと、プロセッサの制御の下に入力された手描き図式要素を検出し認識するための少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体とを含む。方法は、コンピューティングデバイスに関連する表示装置上にインタラクティブなインクにより複数の入力図式要素を表示するステップと、少なくとも1つの図式要素を、複数の図式要素を接続するコネクタとして識別するステップと、接続された図式要素の幾何学的特性に基づいて、接続された図式要素のそれぞれの幾何学的構成を決定するステップと、マッピングされた点を定義するために、少なくとも1つの識別されたコネクタの接続された図式要素への接続の点を幾何学的構成要素にマッピングするステップと、少なくとも1つの識別されたコネクタのインタラクティブなインクまたは接続された図式要素のうち1つまたは複数を用いて受信された1つまたは複数のインタラクションに基づいて、幾何学的構成上のマッピングされた点の位置を調整するステップと、少なくとも接続された図式要素上に調整されたマッピングされた点のマッピングに従って、図式要素を調整された接続点として再表示させるステップとを含み得る。
【0023】
本方法のいくつかの実装において、少なくとも1つのコネクタをコネクタの特性および図式要素間の位置関係に基づいて識別するステップを含む。さらに、少なくとも1つの識別されたコネクタは、非線形コネクタまたは湾曲コネクタであってもよい。
【0024】
本方法のいくつかの実装において、図式要素を再表示させるときに湾曲コネクタの曲率半径を維持するステップを含む。
【0025】
本方法のいくつかの実装において、インタラクティブなインクはデジタルインクである。
【0026】
いくつかの実装において、コンピューター読み取り可能なプログラムコードを有する非一時的なコンピューター読み取り可能な記録媒体を提供する。コンピューター読み取り可能なプログラムコードは、コンピューティングデバイス上において図式要素の接続を管理する方法を実装するように実行されるように適応され得る。コンピューティングデバイスは、プロセッサと、プロセッサの制御下で入力された手描き図式要素を検出し認識するための少なくとも1つの非一時的なコンピューター読み取り可能な記録媒体とを含み得る。方法は、コンピューティングデバイスに関連する表示装置上にインタラクティブなインクにより複数の入力図式要素を表示するステップと、少なくとも1つの図式要素を、複数の図式要素を接続するコネクタとして識別するステップと、接続された図式要素の幾何学的特性に基づいて、接続された図式要素の各々の幾何学的構成を決定するステップと、マッピングされた点を定義するために、少なくとも1つの識別されたコネクタの接続された図式要素への接続の点を幾何学的構成要素にマッピングするステップと、少なくとも1つの識別されたコネクタのインタラクティブなインクまたは1つまたは複数の接続された図式要素を用いて受信された1つまたは複数のインタラクションに基づいて、幾何学的構成上のマッピングされた点の位置を調整するステップと、少なくとも接続された図式要素上に調整されたマッピングされた点のマッピングに従って、図式要素を調整された接続点として再表示させるステップとを含む。
【0027】
いくつかの実装において、少なくとも1つのコネクタをコネクタの特性および図式要素間の位置関係に基づいて識別するステップを実装する。さらに、少なくとも1つの識別されたコネクタは、非線形コネクタおよび/または湾曲コネクタであってもよい。
【0028】
いくつかの実装において、方法は、図式要素を再表示させるときに湾曲コネクタの曲率半径を維持するステップを実装する。
【0029】
いくつかの実装において、インタラクティブなインクはデジタルインクである。
【0030】
本システムおよび方法は、図面と併せて、実施例の以下の詳細な説明からより完全に理解されるであろう。図面において、同様の参照番号は同様の要素を表す。
【図面の簡単な説明】
【0031】
図1A図1Aは、タイプセットおよび手書きの例示的概念図を示す図である。
図1B図1Bは、タイプセットおよび手書きの例示的概念図を示す図である。
図2A図2Aは、タイプセットおよび手書きの例示的マインドマップを示す図である。
図2B図2Bは、タイプセットおよび手書きの例示的マインドマップを示す図である。
図3A図3Aは、タイプセットおよび手書きの例示的フローチャートまたはフロー図を示す図である。
図3B図3Bは、タイプセットおよび手書きの例示的フローチャートまたはフロー図を示す図である。
図4A図4Aは、タイプセットおよび手書きの例示的組織図または図を示す図である。
図4B図4Bは、タイプセットおよび手書きの例示的組織図または図を示す図である。
図5A図5Aは、タイプセットおよび手書きの例示的フブロック/アーキテクチャ図を示す図である。
図5B図5Bは、タイプセットおよび手書きの例示的フブロック/アーキテクチャ図を示す図である。
図6A図6Aは、タイプセットおよび手書きの例示的スパイダー図を示す図である。
図6B図6Bは、タイプセットおよび手書きの例示的スパイダー図を示す図である。
図7図7は、本システムおよび方法の一実施例に従うコンピューティングデバイスのブロック図を示す。
図8図8は、本システムおよび方法の一実施例に従う手書き文字認識のためのシステムのブロック図を示す。
図9図9は、本システムおよび方法の一実施例に従う図8の手書き文字認識システムの詳細を示すブロック図を示す。
図10A図10Aは、デジタルインクにおいてレンダリングされた手書きの図の例を示す。
図10B図10Bは、本システムおよび方法の一実施例に従う関連コネクタに対する例示的な結果の効果を伴う図10Aの図のブロック要素上の移動操作を示す。
図11A図11Aは、本システムおよび方法の一実施例に従って定義される図10Aおよび10Bの図の接続関係の幾何学的特性を叙述するタイプセットインクでレンダリングされた図10Aおよび10Bの図を示す。
図11B図11Bは、本システムおよび方法の一実施例に従って定義される図10Aおよび10Bの図の接続関係の幾何学的特性を叙述するタイプセットインクでレンダリングされた図10Aおよび10Bの図を示す。
図12A図12Aは、デジタルインクによりレンダリングされた手書きの図の一実施例を示す。
図12B図12Bは、本システムおよび方法の一実施例に従う関連コネクタに対する例示的な結果の効果を伴う図12Aの図のブロック要素上での移動操作を示す。
図12C図12Cは、本システムおよび方法の別の実施例に従う関連コネクタに対する例示的な結果の効果を伴う図12Aの図のブロック要素上の移動操作を示す。
図13A図13Aは、本システムおよび方法の一実施例に従って定義される図12Aの図の接続関係の幾何学的特性を叙述するタイプセットインクによりレンダリングされた図12Aの図を示す。
図13B図13Bは、本システムおよび方法の一実施例に従って定義される図12Bの図の接続関係の幾何学的特性を叙述するタイプセットインクによりレンダリングされた図12Bの図を示す。
図13C図13Cは、本システムおよび方法の一実施例に従って定義される図12Cの図の接続関係の幾何学的特性を叙述するタイプセットインクによりレンダリングされた図12Cの図を示す。
図14A図14Aは、デジタルインクでレンダリングされた手書きの図の一実施例を示す。
図14B図14Bは、本システムおよび方法の一実施例に従う関連コネクタに対する例示的な結果の効果を伴う図14Aの図のブロック要素上での移動操作を示す。
図15A図15Aは、本システムおよび方法の一実施例に従って定義される図14Aの図の接続関係の幾何学的特性を叙述するタイプセットインクでレンダリングされた図14Aの図を示す。
図15B図15Bは、本システムおよび方法の一実施例に従って定義される図14Bの図の接続関係の幾何学的特性を叙述するタイプセットインクでレンダリングされた図14Bの図を示す。
【発明を実施するための形態】
【0032】
以下の詳細な説明において、関連する教示の完全な理解を提供するために、例として多数の具体的な詳細が記載されている。しかしながら、当業者に明らかであるはずだが、本教示は、そのような詳細なしに実施され得る。他の例では、本教示の態様を不必要にあいまいにすることを避けるために、よく知られている方法、手順、構成要素、および/または回路が詳細なしに比較的高度な説明がなされている。
【0033】
上、下、上方、下方、最低、最高、水平、垂直などの方向的特徴についての言及および議論は、認識される入力がなされる入力面に適用されるようなデカルト座標系に関してなされる。さらに、左および右などの用語は、図面を見るときの読者の座標系に関して使用される。さらに、本明細書における「テキスト」という用語の使用は、書かれたテキストにおいて使用される、あらゆる書記言語およびありふれた英数字でない表意文字、例えば、記号などにおけるすべての英数字からなる文字および文字列を包含すると理解される。さらにまた、本明細書における「非テキスト」という用語は、フリーフォームの手書きまたは手描きのコンテンツ、レンダリングされたテキストおよび画像データ、ならびに英数字でない表意文字および文字列、ならびには非テキストの文脈で使用される英数字からなる文字および文字列を包含すると理解される。さらに、図面に示される例は、左から右へ書かれた言語の文脈であり、したがって、位置に対するいかなる言及も、異なる方向のフォーマットを有する書記言語に適合させることができる。
【0034】
本明細書に記載される種々の技術は、一般に、コンテンツの忠実なタイプセットまたは美化されたバージョンへの変換を可能にしながら、コンテンツの入力スタイルを保持する方法で行われる、ポータブルのおよびポータブルでないコンピューティングデバイス上の手描きおよび手書きコンテンツの取り込み、処理および管理に関する。本明細書に記載のシステムおよび方法は、コンピューティングデバイスに接続された、またはコンピューティングデバイスのタッチセンシティブな画面などの入力面を介して、またはコンピューティングデバイスに接続された、デジタルペンまたはマウスなどの入力デバイスを介して、または位置検出システムによって監視される表面を介してコンピューティングデバイスに入力されるユーザの自然な書き方および描画スタイルの認識を利用し得る。種々の例が、いわゆるオンライン認識技術を使用した手書き入力の認識に関して説明されているが、デジタルインクでなく画像が認識されるオフライン認識などの認識用の他の形態の入力への適用が可能であることは理解されよう。本明細書において、手描きおよび手書きという用語は、互いに交換可能に使用されて、ユーザが自身の手を使用してデジタルまたはデジタル式に接続された記録媒体上に直接または例えばハンドヘルドスタイラスなどの入力ツールを介してデジタルコンテンツの作成を定義する。「手」という用語は、入力技術の簡潔な説明を提供するために本明細書において使用されるが、類似の入力に対して、例えば足、口、目など、ユーザの体の他の部分を使用することは、定義に含まれる。
【0035】
図7は、一実施例のコンピューティングデバイス100のブロック図を示す。コンピューティングデバイスは、コンピューターデスクトップ、ラップトップコンピューター、タブレットコンピューター、電子書籍リーダー、携帯電話、スマートフォン、ウェアラブルコンピューター、デジタル時計、インタラクティブホワイトボード、GPS(全地球測位システム)ユニット、EDA(業務用モバイル端末)、PDA(携帯情報端末)、ゲーム機などであってもよい。コンピューティングデバイス100は、少なくとも1つの処理要素、何らかの形態のメモリ、ならびにI/O(入力および/または出力)デバイスの構成要素を含む。構成要素は、コネクタ、ライン、バス、ケーブル、バッファー、電磁リンク、ネットワーク、モデム、トランスデューサー、IRポート、アンテナ、または当業者に知られている他の要素などの入力および出力を介して互いに通信する。
【0036】
コンピューティングデバイス100の例示的な実施例は、画像、テキスト、およびビデオなどのデータをコンピューティングデバイスから出力するための少なくとも1つのディスプレイ102を有する。ディスプレイ102は、LCD、プラズマ、LED、iOLED、CRT、または当業者に知られているようなタッチセンシティブかタッチセンシティブでないかのあらゆる他の適切な技術を使用し得る。ディスプレイ102の少なくとも一部は、少なくとも1つの入力インターフェイス104と同じ場所に配置される。入力インターフェイス104は、抵抗、表面弾性波、容量性、赤外線グリッド、赤外線アクリル投影、光学イメージング、分散信号技術、音響パルス認識、または当業者に公知である、ユーザ入力を受信するためのあらゆる他の適切な技術などの技術を用いる表面であってよい。入力インターフェイス104は、境界を明確に識別する永続的なまたはビデオ生成された境界によって境界を定められてもよい。オンボードディスプレイの代わりに、または追加して、コンピューティングデバイス100は、投影表示機能を有してもよく、または入力インターフェイスが仮想表面となるように投影ディスプレイと共に動作可能である。さらに、ディスプレイ自体は、コンピューティングデバイスとは別個であっても、接続されてもよい。
【0037】
コンピューティングデバイス100は、ローカルインターフェイスを介して通信可能に結合された1つまたは複数の追加のI/Oデバイス(または周辺機器)を含み得る。追加のI/Oデバイスは、キーボード、マウス、スキャナー、マイクロフォン、タッチパッド、バーコードリーダー、レーザーリーダー、無線周波数デバイスリーダー、または当業者に知られているあらゆる他の適切な技術などの入力デバイスを含み得る。さらに、I/Oデバイスは、プリンター、バーコードプリンター、または当業者に知られているあらゆる他の適切な技術などの出力デバイスを含み得る。さらに、I/Oデバイスは、変調器/復調器(他の装置、システム、またはネットワークにアクセスするためのモデム)、無線周波数(RF)または他のトランシーバ、電話インターフェイスなどの入力および出力の両方を伝送する通信デバイス、ブリッジ、ルーター、または当業者に知られているあらゆる他の適切な技術を含み得る。ローカルインターフェイスは、コントローラー、バッファー(キャッシュ)、ドライバ、リピーター、および受信機など、通信を可能にするための追加の要素を有してもよく、これらは単純化のために省略されているが当業者には知られている。さらに、ローカルインターフェイスは、他のコンピューター構成要素間の適切な通信を可能にするために、アドレス、制御、および/またはデータ接続を含み得る。
【0038】
また、コンピューティングデバイス100は、ソフトウェア、特にメモリ108に格納されたソフトウェアを実行するためのハードウェアデバイスであるプロセッサ106を含む。プロセッサは、あらゆるカスタムメイドまたは市販の汎用プロセッサ、CPU(中央処理装置)、(マイクロチップまたはチップセットの形の)半導体ベースのマイクロプロセッサを含む市販のマイクロプロセッサ、マイクロコントローラ、DSP(デジタル信号プロセッサ)、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、ステートマシン、または当業者に知られているソフトウェア命令を実行するように設計された、あらゆる組み合わせとすることができる。
【0039】
メモリ108は、揮発性メモリ素子(例えば、ランダムアクセスメモリ(例えば、DRAM、SRAM、またはSDRAMなどのRAM))および不揮発性メモリ素子(例えば、ROM、EPROM、フラッシュPROM、EEPROM、ハードドライブ、磁気テープまたは光テープ、メモリレジスタ、CD-ROM、WORM、DVD、RAID(レイド)、DASD(ダスディー)、または他の磁気、抵抗または相変化の不揮発性メモリなど)のいずれか1つまたは組み合わせを含むことができる。さらに、メモリ108は、電子式、磁気式、光学式、および/または他の種類の記憶媒体を組み込んでもよい。メモリ108は、種々の構成要素が互いに離れて配置されるがプロセッサ106によってもアクセスされ得る分散アーキテクチャを有することができる。さらに、メモリ108は、サーバまたはクラウドベースのシステムなどにおいてデバイスから離れてもよい。メモリ108は、プロセッサ106に結合されるので、プロセッサ106は、メモリ108から情報を読み取り、メモリ108に情報を書き込むことができる。代替として、メモリ108は、プロセッサ106と一体であってもよい。別の実施例において、プロセッサ106およびメモリ108は、両方とも単一のASICまたは他の集積回路の中に存在してもよい。
【0040】
メモリ108におけるソフトウェアは、オペレーティングシステム110、入力管理システム112、および入力認識システム114を含み、各々、1つまたは複数の別々のコンピュータープログラムを含むことができる。各々は、論理機能を実装するための実行可能命令の順序付きリストを持っている。オペレーティングシステム110は、入力管理システム112および入力認識システム114の実行を制御し、またはシステムの機能を組み込んでもよい。オペレーティングシステム110は、例えば、WEBOS、WINDOWS(登録商標)、MACおよびIPHONE(登録商標) OS、LINUX、ANDROID(登録商標)などのあらゆる独自のオペレーティングシステムか市販のまたは自由に入手可能なオペレーティングシステムかとすることができる。他のオペレーティングシステムもまた利用され得ることが理解される。代わりに、本システムおよび方法の入力管理システム112および入力認識システム114は、オペレーティングシステムを使用せずに提供されてもよい。
【0041】
入力管理システム112は、ユーザによる手描き形状および手書きテキスト入力(詳細には後述される)の検出、管理、および処理に関する1つまたは複数の処理要素を含む。また、ソフトウェアは、入力認識、異なる機能、または両方に関する1つまたは複数のアプリケーションを含み得る。他のアプリケーションのいくつかの例は、テキストエディター、電話ダイヤラー、連絡先ディレクトリ、インスタントメッセージング機能、CAD(コンピューター支援設計)プログラム、電子メールプログラム、ワードプロセッシングプログラム、ウェブブラウザ、およびカメラを含む。入力管理システム112およびアプリケーションは、製造時にコンピューティングデバイス100と共に提供されるプログラムを含み、製造後にコンピューティングデバイス100にアップロードまたはダウンロードされるプログラムをさらに含み得る。
【0042】
本システムおよび方法は、手書きテキスト、および手描き形状、例えば非テキストなど、を含む、デバイス100への手書き入力を認識するために、入力認識システム114を利用する。入力認識システム114およびあらゆる構成要素は、サポートおよびコンプライアンス機能を有しソースプログラム、実行可能プログラム(オブジェクトコード)、スクリプト、アプリケーション、または実行されるべき命令のセットを有するあらゆる他のエンティティとしてもよい。ソースプログラムの場合、プログラムは、オペレーティングシステム110と関連して適切に動作するように、メモリ108内に含まれても含まれなくてもよいコンパイラ、アセンブラ、インタプリタなどを介して翻訳される必要がある。
【0043】
さらにその上、サポートおよびコンプライアンス機能を有する入力認識システムを、(a)データおよび方法のクラスを有するオブジェクト指向プログラミング言語、(b)例えば、限定されないが、C、C++、Pascal、Basic、Fortran、Cobol、Perl、Java(登録商標)、Objective C、Swift、Python、C#、およびAdaなどの、ルーチン、サブルーチン、および/または関数を有するプロシージャープログラミング言語、または(c)例えば、限定されないが、Hope、Rex、Common Lisp、Scheme、Clojure、Racet、Arlan、OCaml、Haskell、Prool、およびF#などの関数プログラミング言語として書くことができる。
【0044】
代わりに、入力認識システム114は、例えば、サーバまたはクラウドベースのシステムなど、デバイスから遠く離れた入力認識システムと通信するための方法またはシステムであり得るが、通信リンクを介してコンピューティングデバイス100によって遠隔的にアクセス可能である。さらに、入力管理システム112および入力認識システム114は、一緒に動作してもよく、または単一のシステムとして組み合わされてもよい。
【0045】
入力インターフェイス104上の、または入力インターフェイス104を介して入力されたストロークは、デジタルインクとしてプロセッサ106によって処理される。ユーザは、入力面と共に使用するのに適した指またはペンもしくはスタイラスなどの何らかの器具を用いてストロークを入力することができる。また、ユーザは、入力面104の付近の動きを感知する技術が使用されている場合に入力インターフェイス104上においてジェスチャーをすることによって、またはコンピューティングデバイス100の周辺装置、例えば、マウスまたはジョイスティックなど、を用いて、または投影されたインターフェイス、例えば、ストロークおよびジェスチャーの信号を決定するための受動的な平面の表面における画像処理など、を用いて、ストロークを入力することができる。インタラクションの種類に関係なく、一般に、インタラクションは、プロセッサ106によって検出され、インタラクションを表す情報は入力管理システム112に伝達される。代わりに、または追加として、ストロークは、手書き入力から別のデバイスにレンダリングされメモリ108にロードされる、または例えば、コンピューティングデバイス100のカメラによるなど、取り込まれたコンテンツの画像または外部ソースから例えば、画像ファイル、ドキュメントファイルなど、としてメモリ108にロードされたコンテンツの画像から解釈される、デジタルインクのストロークであり得る。
【0046】
ストロークは、少なくともストローク開始位置、ストローク終了位置、およびストローク開始位置と終了位置とを結ぶ経路によって特徴付けられる。タイミング、圧力(デバイス100のディスプレイ102が情報を提供するように構成されている場合)、経路に沿った多数のサンプル点における角度などのさらなる情報もまた、ストロークのより深い詳細を提供するために取り込まれ得る。異なるユーザが自然に同じオブジェクト、例えば、文字、形状、記号など、をわずかに変化させて書くことができるので、入力認識システムは、各オブジェクトを正確なまたは意図されたオブジェクトとして認識されながら入力することができる様々な方法に対応する。
【0047】
図8は、ローカル(すなわち、デバイス100にロードされた)またはリモート(すなわち、デバイス100によって遠隔的にアクセス可能な)のいずれかの形態における入力認識システム114の一実施例の図式的な図である。入力認識システム114は、例えば、前処理116、認識118、および出力120のような段階を含む。前処理段階116は、認識段階118の間のより高い精度および処理時間の短縮を達成するためにデジタルインクを処理する。処理は、サイズの正規化および/または例えば、Bスプラインの近似など、入力を滑らかにする方法を適用することによって、ストロークの開始および終了位置を接続する経路の正規化を含むことができる。次に、前処理されたストロークは、形成されたオブジェクトを認識するためにストロークを処理する認識ステージ118に渡される。次に、認識されたオブジェクトは、手書き要素/文字および手描き形状のデジタルインクまたはタイプセットインクバージョンとしてメモリ108およびディスプレイ102に出力120される。
【0048】
認識段階118は、異なる処理要素またはエキスパートを含むことができる。図9は、認識段階118の図式的な詳細を示す、図8の実施例の図式的な図である。3つのエキスパート、セグメンテーションエキスパート122、認識エキスパート124、および言語エキスパート126が図示されて、動的プログラミングを介して共同して出力120を生成する。
【0049】
セグメンテーションエキスパート122は、例えば、単語、数式、または形状のグループなどの表現を形成するために、入力ストロークを個々の要素仮説、例えば英数字および数学演算子、テキスト文字、個々の形状、または部分表現に分割するための異なる方法を定義する。例えば、セグメンテーションエキスパート122は、元の入力の連続ストロークをグループ化することによって要素仮説を形成することができて、各ノードが少なくとも1つの要素仮説に対応し、要素間の隣接制約がノード接続によって処理されるセグメンテーショングラフを取得する。代わりに、セグメンテーションエキスパート122は、例えば、テキスト、図画、等式、および楽譜のような異なる入力の種類に対して別個のエキスパートを採用することができる。
【0050】
認識エキスパート124は、分類器128によって抽出された特徴の分類を提供して、セグメンテーショングラフの各ノードに対して確率または認識のスコアを有する要素候補のリストを出力する。多くの種類の分類器が存在して、例えば、サポートベクトルマシン、隠れマルコフモデル、または例えば多層パーセプトロン、深層、畳み込みまたは回帰ニューラルネットワークなどのニューラルネットワークなど、認識タスクに対処するために使用することができる。選択は、タスクに求められる複雑さ、正確さ、および速度に依存する。
【0051】
言語エキスパート126は、言語モデル(例えば、文法または意味論)を使用してセグメンテーショングラフの中の異なる経路に対して言語学的意味を生成する。エキスパート126は、言語情報130に従って他のエキスパートによって提案された候補を確かめる。言語情報130は、語彙、正規表現などを含むことができ、言語モデルを実行するために言語エキスパート126によって使用されるすべての静的データの記憶である。言語モデルは、与えられた言語に関する統計情報に頼ることができる。言語情報130は、認識およびユーザインタラクションの結果に従って、適応の有無にかかわらず、オフラインにより計算され、言語エキスパート126に提供される。言語エキスパート126は、最良の認識経路を見つけることを目的とする。一実施例において、言語エキスパート126は、言語情報130の内容を表現する例えば、FSA(final state automaton)などの言語モデルを探索することによって行う。語彙の制約に加えて、言語エキスパート126は、与えられた一連の要素が特定の言語に現れる頻度、またはセグメンテーショングラフの与えられたパスを解釈する言語的な可能性を評価するために特定のユーザにより使用される頻度に対して、統計的情報モデリングと共に言語モデルを使用することができる。
【0052】
本システムおよび方法によって提供される入力管理システム112は、例えば、学生、学者、およびワーキングプロフェッショナルなどのユーザが、手書きの図式を作成して、作成された図式の種類、例えば、フローチャート、組織図、概念図、スパイダー図、ブロック/アーキテクチャ図、マインドマップ、ブロック図、ベン図、およびピラミッドなど、と関係なく、入力認識システム114を使用して実質的に忠実に図式を認識させることができる。リストは、網羅的でなく、他の種類の、または種類のない図式が可能である。例えば、図1B、2B、3B、4B、5Bおよび6Bに例示される手描きの図式の異なる要素は、図式の種類に関係なく、あらゆる空間のおよび文脈の間の関係と一緒に個々に認識される。
【0053】
先に述べたように、図式の要素は、形状およびテキストの要素を含む。形状または描画の要素は、線形または非線形の構成において図式的なまたは幾何学的な構成を定義する要素であり、コンテナ、コネクタ、自由形式の図表などを含む。テキストの要素は、テキスト文字を含み、テキストブロックおよび形状の要素に対する、テキストブロックおよびラベルを含むテキストの要素である。テキストブロックおよびラベルの両方は、1つまたは複数の垂直線において提供される1つまたは複数の文字、単語、文または段落のテキストを含むことができる。テキストブロックを、コンテナ(内部のテキストブロック)に含むことができ、またはコンテナ(外部のテキストブロック)の外側に提供に提供することができ、または含なくてよい。外部のテキストブロックを、コンテナまたは他の図式の要素に関係付けなくてよいし、またはある他の図式の要素に直接関係付けることができる。
【0054】
さらに、本システムおよび方法によって提供される入力管理システム112は、ユーザが、技術によって減速されることなく紙の上のように自由に、形状およびテキストを手書きすることができて、一方、作成された図式の編集操作の取り込みを可能にするデジタルツールの能力から恩恵を受ける。特に、編集は、形状を、新しいアイデアのためのスペースの作成、接続または形状の種類の変更、および編集ジェスチャーの処理に対して、移動および操作することができるようサポートする。
【0055】
本出願人および/または譲受人の名における2015年10月19日の優先日を主張して出願され、全体の内容が参照により本明細書に組み込まれる米国特許出願第14/955,174号において、接続関係の幾何学的特性に関して、図式要素のブロック(例えば、形状、コンテナ、テキストブロック)を有するコネクタの接続点を移動することによってコネクタ上に実行される編集操作を処理するシステムおよび方法の説明が提供される。幾何学的特性は、図式ブロックの幾何学的な中心および関係において定義された接続経路を含む。
【0056】
特に、先行開示において、線は、コネクタのいずれかの端部から、コネクタの長さに沿って、接続する図式ブロックへと延長することが決定されて、接続経路は、延長線または投影線に関して定義される。コネクタが図式ブロックのそれぞれの接続された境界の中心にある場合、接続経路は、図式ブロックの幾何学的な中心を通る。しかしながら、コネクタがそれぞれの接続された境界の中心にない、またはそれぞれの接続された境界からオフセットされる場合、接続経路は、コネクタ投影線が各図式ブロックの幾何学的な中心を通って延長され直交するまたは垂直な線に交差する点の間に定義され、ただし、交点は、それぞれの幾何学的な中心から同様にオフセットされる。
【0057】
直交する線は、別のひとつと実質的に平行であり、平行性は、例えば、ユーザ選択およびドラッグまたはプッシュ、サイズ変更などの編集操作中に実質的に維持される。すなわち、図式ブロックの相対位置が編集操作によって変更される場合、直交する線は、平行性を実質的に維持するために、ブロックの新しい相対的なxおよびyの位置に対応して回転される。同様に、接続経路の交点は、編集操作中に、それぞれの図式ブロック内に1つまたは複数の点を保持するのに必要な結果的な相対シフトを伴ってまたは伴わずに、回転された直交する線上に維持される。このこと自体、接続経路は、直交する線と、接続経路上にレンダリングされるコネクタと一緒に回転する。したがって、図式ブロックの境界におけるコネクタの対応する接続点は、今回転されるコネクタに基づいて調整することができる。しかしながら、接続自体が接続のパラメータよりもむしろ尊重されるので、コネクタは、図式ブロックに賢明にも接続されたままであり、これによってユーザによる図式オブジェクトの完全な自由移動を可能にする。
【0058】
先行開示の他の実施形態において、複数コネクタを含む状況は、追加または異なる幾何学的特性、例えば、平行なコネクタに対して共通な接続経路を定義すること、およびコネクタが接続された各図式ブロックに接続する角度または図式ブロックの幾何学的な中心を結ぶ接続経路と直交する線との間の角度を使用して交差されたコネクタの接続点を調整することなど、を使用することによって処理される。
【0059】
本開示のシステムおよび方法において、さらなる接続関係の幾何学的特性は、編集操作中に、さらなる接続関係、例えば、1つまたは複数の接続ブロックが不規則な形状を有するまたは1つまたは複数の接続ブロックが1つまたは複数の非線形なコネクタ、例えば湾曲した又は弧状のコネクタに接続されているなど、を確認するために、定義および管理される。本システムおよび方法によってコネクタ上で実行される編集操作の処理について、図10~15に例示する例示的な図式に関して説明する。
【0060】
図10は、手描き図式1000において、関連付けられたデジタルインクコネクタに例示的な結果として生じる効果を伴うデジタルインクブロック上の移動操作を示す。図式1000は、参照により本明細書に組み込まれる米国特許出願第14/955,174号に示される例と同様であるが、しかしながら、図10の移動操作は本システムおよび方法の一実施例に従うことに注意されたい。
【0061】
図10Aにおいて、図式1000は、コネクタ1006によって接続されたブロック1002およびブロック1004を含む。手描き図式1000は、入力管理システムによってデジタルインク図式として例えば、コンピューティングデバイス100のディスプレイ102および/または入力インターフェイス104上に表示することができる。図10Bにおいて、ブロック1004は、入力管理システム112によって、調整されたコネクタ1006’として、コネクタの表示について結果として調整されて、ブロック1002に関して移動され、よって、図式1000の編集されたバージョン1000’を形成する。デジタルインクの要素の調整された表示は、例えば、本出願人および/または譲受人の名において2015年10月19日の優先日を主張して出願され、すべての内容が参照により本明細書において組み込まれる米国特許出願第14/955,155号に記載されるようなやり方においてなど、予め定義されたもしくはダイナミックなデジタルインクライブラリ、または元のデジタルインクの再レンダリングされたバージョンから調整されたデジタルインクの要素をレンダリングすることによって実行することができる。
【0062】
理解できるように、それぞれ、ブロック1002および1004の境界に対するコネクタ1006の接続点iおよびiiは、それぞれ、ブロック境界の角1002aおよび1004aについての調整されたコネクタ1006’の接続点iiiおよびivに調整される。コネクタの調整された表示は、ユーザによる図式1000に対する意図された編集に対して自然におよび礼儀正しく見える。図式要素のブロックの境界は、手描きまたはタイプセット変換された、非テキストの要素の境界、例えばコンテナ、形状などとして、または手書きまたはタイプセット変換された、テキストの要素、例えば空のテキストブロックなどの境界ボックスにおいて、定義することができる。テキストブロックのバウンディングボックスの決定は、当業者にはよく知られている。
【0063】
コネクタ1006の接続点が移動操作の間、うまく調整される方法を、図式1000のタイプセットの形において図10の移動操作を示す図11を参照して説明する。本明細書において、図式のタイプセットバージョンは、説明を明確にする目的のみに使用されて、また、以下に説明する技法は、デジタルインクバージョンに適用可能である。例えば、デジタルインク図式1000のタイプセットインクバージョンは、コンピューティングデバイス100のディスプレイ102および/または入力インターフェイス104に、例えば、入力認識システム114から入力される、手書き図式1000の認識された出力120を受け取ると入力管理システム112によって、表示することができる。処理において、入力管理システム112および/または入力認識システム114は、図式要素、例えば、図式ブロック、コネクタなどと、幾何学的特性および特徴とを、例えば、認識処理により認識および識別するよう構成することができる。
【0064】
図11Aにおいて、ブロック1002はタイプセットブロック1002として表示され、ブロック1004はタイプセットブロック1004bとして表示され、コネクタ1006はタイプセットコネクタ1006bとして表示されて、図11Bにおいて、調整されたコネクタ1006’はタイプセットコネクタ1006b’として表示される。図11Aは、接続点の調整に対する本システムおよび方法によって決定されて使用される図式要素の関係の幾何学的特性または特徴を示す。
【0065】
特徴は、ブロック1002および1004の幾何学的な中心Aと、コネクタ1006のいずれかの端部からそれぞれのブロック1002bおよび1004bへと投影してそれぞれの幾何学的な中心Aと交差するコネクタ1006の延長線(破線)1008と、各ブロックの幾何学的な中心について定義される楕円1010と、それぞれの延長線または投影線1008がそれぞれの楕円1010と交差する楕円1010上の点Bであって点Bと幾何学的な中心Aとの間の各投影線1008の部分が楕円1010の半径方向の線を形成するような点Bと、各ブロック1002および1004の線1012が別の1つと平行になるよう各ブロックの幾何学的な中心を通って延長される平行線(破線)1012と、それぞれの楕円1010上のそれぞれの点Bと交差するよう点Cからそれぞれの線1012に垂直に延長される法線(破線)1014とを含む。平行線1012は、接続点iと接続点iiとを接続する1次直線(すなわち、本実施例におけるコネクタ1006b)と直角をなす線として定義される。したがって、接続点の直線は、理解できるように、点Bと点Cとを接続する法線1014と一致する。
【0066】
幾何学的な中心、破線、楕円および交差する点に対して描画されたマークは、例示の目的のためだけに図面において提供されて、通常、入力管理システム112によってユーザに表示しないことに注意されたい。しかしながら、入力管理システム112のユーザインターフェイス(UI)は、例えば編集操作の間、参照のためにマーキングを表示する能力をユーザに提供することができる。
【0067】
図11Bにおいて、マーキングは、図10Bに例示される図式1000’の調整された表示に関して示される。理解できるように、調整されたコネクタ1006b’は、ブロック1002に関してブロック1004の移動により調整されるようレンダリングされる。調整において、平行線1012は、幾何学的な中心Aを通過する際には維持されるが、ブロック1002および1004の新しい相対的なxおよびyの位置に対応して回転されて、調整された平行線1012’を形成する。以下のように達成される。
【0068】
さらに、図11Aにおいて、2つの幾何学的な中心Aを接続する接続線(破線)1016を例示する。接続線1016と平行線1012との間の角度(図面において二重の角度として示される)は、入力管理システム112によって決定される。ブロック1004bがブロック1002bに関して動かされると、接続線1016は、図11Bに示されるように、調整された接続線1016’を定義するよう移動または回転される。入力管理システム112は、平行線を、調整された平行線1012’として同様に移動または回転させることによって、接続線と平行線との間の角度を維持する。すなわち、角度は、調整された接続線1016’と調整された平行線1012’との間に保持される。点Cは、回転を通して平行線1012上に保持されるが、しかしながら、また、調整された平行線1012’上の相対位置は、調整された点C’を定義するために移動することができる。点C’の調整された位置は、入力管理システム112によって以下のように決定される。
【0069】
さらに、図11Aにおいて、平行線1012上の点Eを例示する。入力管理システム112は、本実施例における点Eを、平行線1012をブロック1002bおよび1004b上に最大範囲において直交投影することによって、決定する(図面において、それぞれの点Eとブロック1002および1004の角とを接続する線によって示される)。1つまたは複数のブロック1002および1004が移動されると、入力管理システム112は、現時点で調整された平行線1012’をブロックの最大範囲に直交投影することによって点Eの調整された位置を決定する。
【0070】
調整された点C’を示すために、入力管理システム112は、それぞれ(予め調整された)平行線1012上の点Aと点Cとの間の(第1の)距離A-C、それぞれ(予め調整された)平行線1012上の点Aと点Eとの間の(第2の)距離A-E、およびそれぞれ調整された平行線1012’上の点Aおよび調整された点E’との間の(第3の)距離A-E’を決定して、予め調整された距離A-E’とA-Cとの比が調整された距離A-E’とA-C’との比に実質的に等しくなるよう調整された点C’を示す。代替えとして、距離A-C’が固定された比に設定される場合において、距離A-C’を、距離A-Cが距離A-E’の固定された比よりも大きくなければ距離A-Cに等しくなるよう維持することができる。
【0071】
次に、調整された点C’は、入力管理システム112によって使用されて、図11Bにおいて示すように、新しい(回転されたまたは置換された)点Dにおいて楕円1010に交差する調整された点C’からの調整された直交する線1014’を決定する。置換された点Dにおいて、それぞれ、幾何学的な中心Aから置換された点Dを通って、それぞれブロック1002bおよび1004bの境界上に投影する、再投影(放射)線1008’が決定される。それぞれの再投影線1008’がブロック境界に交差する点は、調整されたコネクタ1006’に対して調整された接続点iiiおよびivを定義する。
【0072】
したがって、本システムおよび方法において、調整されたコネクタ1006b’の調整された接続経路は、コネクタ自体よりもむしろ図式要素のブロックに関して定義された楕円に関して定義される。したがって、図10および図11の例の技法によって、コネクタの接続経路は、接続されたオブジェクトの境界上の予め調整された(第1の)接続点を予め調整されたオブジェクトの幾何学的な中心において定義された楕円にマッピングすること、および調整された(第2の)接続点を調整されたオブジェクの楕円から接続されたオブジェクの境界にマッピングすることに基づいて決定され、したがって、接続点の位置の調整は、幾何学的な中心に関して間接的に行われる。
【0073】
図式要素のブロックによって定義される楕円が本明細書において説明されるが、一方、図式要素のブロックの形状および寸法に関する他の幾何学的な構成は、接続された図式要素のブロックの幾何学的特性、例えば寸法などから識別されたコネクタの接続の点についてのマッピングのために、入力管理システム112によって定義および決定することができる。幾何学的な構成は、ブロック自体の形状または境界とは無関係に、コネクタ自体の特性とは無関係に、図式要素のブロックの接続関係を定義するのに役立つ。コネクタの特性は、形状および直線状がある。また、図10および図11の実施例は、線形コネクタに関するが、しかしながら、転換技法に対して使用される幾何学的特徴は、非線形コネクタにもまた適する。次に、非線形コネクタの実施例を、図12~15に関して説明する。
【0074】
図12は、手描き図式1200において、関連付けられたデジタルインクコネクタに例示的な結果としての効果があるデジタルインクブロック上の移動操作を示す。図12Aにおいて、図式1200は、湾曲または弧状のコネクタ1206によって接続されたブロック1202およびブロック1204を含む。図12Bにおいて、ブロック1204は、ブロック1202に関して移動されて、結果としてコネクタの調整された表示が調整されたコネクタ1206’として表示されて、よって、図式1200の編集されたバージョン1200’が形成される。理解できるように、ブロック1202および1204に対するコネクタ1206の接続点i、iiは、それぞれ、移動操作において調整されないが、理由としてブロック1204はブロック1202に関して1次元(すなわち、水平方向)のみに移動される。しかしながら、移動により、コネクタ1206の非線形の形状または曲線は、調整されたコネクタ1206’において変化している。
【0075】
さて、図式1200のタイプセットの形における図12Aおよび12Bの移動動作のそれぞれの状態を示す図13Aおよび13Bに関して説明する。本明細書において図式のタイプセットバージョンは、説明を明確にする目的でのみに使用されて、また、以下に説明される技法は、デジタルインクバージョンに適用可能である。
【0076】
図13Aにおいて、ブロック1202は、タイプセットブロック1202bとして表示されて、ブロック1204は、タイプセットブロック1204bとして表示されて、コネクタ1206は、タイプセットコネクタ1206bとして表示されて、図13Bにおいて、調整されたコネクタ1206’は、タイプセットコネクタ1206b’として表示される。図13Aは、接続点調整のための本システムおよび方法によって決定されて使用される図式要素の関係の幾何学的特性または特徴を示す。
【0077】
特徴は、ブロック1202および1204の幾何学的な中心Aと、コネクタ1206のいずれかの端部からそれぞれのブロック1202bおよび1204bへと投影して、それぞれの幾何学的な中心Aと交差する、コネクタ1206の延長線(破線)1208と、各ブロックの幾何学的な中心において定義される楕円1210と、楕円1210上の点Bであって、それぞれの延長線または投影線1208がそれぞれ楕円1210に交差して、点Bと幾何学的な中心Aとの間の各投影線1208の部分が楕円1210の半径方向の線を形成するような点Bと、各ブロック1202および1204の線1012が別の1つと平行になるよう各ブロックの幾何学的な中心を通って延長される平行線(破線)1212と、それぞれの楕円1210上のそれぞれの点Bと交差するよう点Cからそれぞれの線1212に垂直に延長される法線(破線)1214と、2つの幾何学的な中心Aを接続する接続線(破線)1216とを含む。平行線1212は、接続点iと接続点iiとを接続する1次直線(例えば、本実施例におけるブロック1202および1204の一直線に置かれた接続された(上部の)境界の間に定義される線1218)に対して直角をなす線として定義される。したがって、接続点の線1218は、点Bと点Cとを接続する垂直な線1214と一致する。
【0078】
幾何学的な中心、破線、楕円および交差する点に対して描画されたマークは、例示の目的のためだけに図面において提供されて、通常、入力管理システム112によってユーザに表示しないことに注意されたい。しかしながら、入力管理システム112のユーザインターフェイス(UI)は、例えば編集操作の間、参照のためにマーキングを表示する能力をユーザに提供することができる。
【0079】
図13Bにおいて、マーキングは、図12Bに例示される図式1200’の調整された表示に関して示される。理解できるように、調整されたコネクタ1206b’は、ブロック1202に関してブロック1204の移動により調整されるようレンダリングされる。調整において、平行線1212は、幾何学的な中心Aを通過する際には維持されるが、ブロック1202および1204の新しい相対的なxおよびyの位置に対応して回転されて、調整された平行線1212’を形成する。以下のように達成される。
【0080】
接続線1216と平行線1212との間の角度(図面において二重の角度として示される)は、入力管理システム112によって決定される。ブロック1204bがブロック1202bに関して動かされると、接続線1216は、図13Bに示されるように、調整された接続線1216’を定義するよう移動または回転される。入力管理システム112は、平行線を、調整された平行線1212’として同様に移動または回転させることによって、接続線と平行線との間の角度を維持する。すなわち、角度は、調整された接続線1216’と調整された平行線1212’との間に保持される。点Cは、回転を通して平行線1212上に保持されるが、しかしながら、調整された平行線1212’上の相対的な位置もまた調整された点C’を定義するために移動することができる。点C’の調整された位置は、入力管理システム112によって以下のように決定される。
【0081】
さらに、図13Aにおいて、平行線1212上の点Eを示す。入力管理システム112は、点Eを、楕円1210(図面において示される)をそれぞれの平行線1212上への直交投影の最大延長として決定する。1つまたは複数のブロック1202および1204が移動されると、入力管理システム112は、楕円1210の最大範囲を現時点において調整された平行線1212’へ直交投影することにより点Eの調整された位置を決定する。
【0082】
調整された点C’を示すために、入力管理システム112は、それぞれ(予め調整された)平行線1212上の点Aと点Cとの間の(第1の)距離A-C、それぞれ(予め調整された)平行線1212上の点Aと点Eとの間の(第2の)距離A-E、およびそれぞれ予め調整された平行線1212’上の点Aおよび調整された点E’との間の(第3の)距離A-E’を決定して、予め調整された距離A-EとA-Cとの比が調整された距離A-E’とA-C’との比に実質的に等しくなるよう調整された点C’を示す。
【0083】
次に、調整された点C’は、入力管理システム112によって使用されて、図13Bにおいて示すように、新しい(回転されたまたは置換された)点Dにおいて楕円1210と交差する調整された点C’からの調整された直交する線1214’を決定する。置換された点Dにおいて、それぞれの幾何学的な中心Aから置換された点Dを通ってブロック1202bおよび1204bのそれぞれの境界上に投影される、再投影線1208’を決定する。しかしながら、理解できるように、本実施例において、置換された点Dは、最初の点Cに楕円1210上の実質的に同じ位置にある。したがって、再投影線1208’は、ブロック境界と交差して、調整された接続を、調整されたコネクタ1206’に対する元の接続点iおよびiiとして定義する。
【0084】
しかしながら、接続点は、一次変換の例において同一を保持するが、一方、接続経路は、コネクタ1206の非線形な形状のために依然として変更される。特に、ブロック1202および1204の間の距離が移動操作によって大きくなると、弧状コネクタ1206の曲率半径もまた大きくなる。すなわち、図13Aに示すように、接続点の線1218からコネクタ1206の円弧までの最大距離として示される、コネクタ1206の曲率半径rは、ブロック1202および1204の依然として一直線上に置かれ接続された(上部の)境界の間に定義された調整された線1218’から、調整されたコネクタ1206’の円弧までの最大距離として図13Bに示される、調整されたコネクタ1206’の曲率半径r’にまで増加する。同様に、曲率半径は、もし分離の距離が増加しないで減少すると、減少するであろう。
【0085】
移動されたブロックの接続点は、接続関係に従う方法においてレンダリングされるが、一方、湾曲したコネクタの見かけ上の拡大(または縮小)は、特に編集された図式または図式部分が他のコンテンツの近くにある状況において、ユーザに動揺を与える可能性がある。したがって、接続関係のさらなる幾何学的特徴は、コネクタの調整された表示がユーザによる図式への意図された編集に対して自然におよび丁重に見えるよう非線形のコネクタを調整するために入力管理システム112によって決定することができる。調整の一実施例を、図12Cおよび13Cに示す。
【0086】
図12Cにおいて、ブロック1204は、ブロック1202に関して移動されて、調整されたコネクタ1206”としてコネクタの表示の結果としての調整を伴い、よって図式1200の編集されたバージョン1200”が形成される。理解できるように、ブロック1202および1204に対するコネクタ1206の接続点iおよびiiは、それぞれ図12Bおよび図13Bの実施例のように、移動操作において調整されない。しかしながら、先行の実施例とは異なり、コネクタ1206の非線形の形状または曲線は、調整されたコネクタ1206”では実質的に変化しない。
【0087】
このようにコネクタを調整するために、入力管理システム112は、図13Aに定義されるようにコネクタ1206の曲率半径rを決定して、変換によりこの曲率半径を維持する。こ調整されたコネクタ1206”が、ブロック1202および1204の依然として一直線上に置かれた接続された(上部の)境界の間に定義される調整された線1218”から調整されたコネクタ1206”の円弧までの最大距離として定義される曲率半径rを有する場合において、図13Cに示す。
【0088】
このようにして、非線形のコネクタの調整された表示は、ユーザによる図式への意図された編集に対して自然におよび丁重に見える。本システムおよび方法において、変換は、二次元編集操作、例えば水平方向と垂直方向との両方、またはxおよびy方向の両方にも適用可能である。二次元的な移動操作の一実施例を、図14および15において例示する。
【0089】
図14は、手描き図式1400において関連付けられたデジタルインクコネクタに結果として生じる効果を伴うデジタルインクブロック上の移動操作を示す。図114Aにおいて、図式1400は、湾曲または弧状のコネクタ1406によって接続されたブロック1402およびブロック1404を含む。図14Bにおいて、ブロック1404は、ブロック1402に関して移動されて、調整されたコネクタ1406’としてコネクタの調整された結果としての表示を伴い、よって図式1400の編集されたバージョン1400’が形成される。理解できるように、ブロック1402および1404へのコネクタ1406の接続点iおよびiiは、それぞれ、角1402aおよび1404aについて調整されたコネクタ1406’に対する接続点iiiおよびivにそれぞれ調整される。理解できるように、コネクタ1406の非線形な形状または曲線は、調整されたコネクタ1406’において維持される。したがって、コネクタの調整された表示は、ユーザによる図式400への意図された編集に対して自然におよび丁重に見える。
【0090】
図式1400のタイプセットの形において図14Aおよび14Bの移動操作のそれぞれの状態を示す図15Aおよび15Bに関して説明する。本明細書において図式のタイプセットバージョンは、説明を明確にする目的のみに使用されており、以下に説明する技法は、デジタルインクバージョンにもまた適用可能である。
【0091】
図15Aにおいて、ブロック1402は、タイプセットブロック1402として表示され、ブロック1404は、タイプセットブロック1404bとして表示され、コネクタ1406は、タイプセットコネクタ1406bとして表示されて、図15Bにおいて、調整されたコネクタ1406’は、タイプセットコネクタ1406b’として表示される。図15Aは、接続点の調整に対する本システムおよび方法によって決定されて使用される図式要素の関係の幾何学的特性または特徴を示す。
【0092】
特徴は、ブロック1402および1404の幾何学的な中心Aと、コネクタ1406のいずれかの端部からそれぞれのブロック1402bおよび1404b内に投影されて、それぞれの幾何学的な中心Aと交差するコネクタ1406の延長線(破線)1408と、各ブロックの幾何学的な中心について定義される楕円1410と、それぞれの延長線または投影線1408がそれぞれの楕円1410と交差する楕円1410上の点Bであって、点Bと幾何学的な中心Aとの間の各投影線1408の部分が楕円1410の半径方向の線を形成するような点Bと、各ブロック1402および1404の線1412が別の1つと平行になるよう各ブロックの幾何学的な中心を通って延長される平行線(破線)1412と、それぞれの楕円1410上のそれぞれの点Bと交差するよう点Cからそれぞれの線1412に垂直に延長される直交する線(破線)1414と、2つの幾何学的な中心Aを接続する続(破線)1416とを含む。平行線1412は、接続点iと接続点iiとを接続する直線(図示せず)に対して直角をなす線として定義される。したがって、接続点の線は、点Bと点Cとを接続する直交する線1414に一致する。
【0093】
幾何学的な中心、破線、楕円および交差の点に対して描画されたマークは、例示の目的のためのみに図面において提供されて、通常、入力管理システム112によってユーザに表示しないことに注意されたい。しかしながら、入力管理システム112のユーザインターフェイス(UI)は、例えば編集操作の間に、参照のためにマーキングを表示する能力をユーザに提供することができる。以下のように達成する。
【0094】
接続線1016と平行線1412との間の角度(図面において二重の角度として示される)は、入力管理システム112によって決定される。ブロック1404bがブロック1402bに関して動かされると、接続線1416は、図15Bに示すように、調整された接続線1416’を定義するよう移動または回転させる。入力管理システム112は、平行線を、調整された平行線1412’として同様に移動または回転させることによって、接続線と平行線との間の角度を維持する。すなわち、角度は、調整された接続線1416’と調整された平行線1412’との間に保持される。点Cは、回転を通して平行線1412上に保持されるが、しかしながら、調整された平行線1412’上の相対的な位置もまた調整された点C’を定義するために移動することができる。点C’の調整された位置は、入力管理システム112によって以下のように決定される。
【0095】
さらに、図15Aにおいて、平行線1412上の点Eを例示する。入力管理システム112は、点Eを、それぞれの平行線1412上への楕円1410(図面において示される)の直交投影についての最大延長として、決定する。1つまたは複数のブロック1402および1404が移動されると、入力管理システム112は、楕円1210の最大範囲を現時点において調整された平行線1412’へ直交投影することにより、点Eの調整された位置を決定する。
【0096】
調整された点C’を示すために、入力管理システム112は、それぞれの(予め調整された)平行線1412上の点Aと点Cとの間の(第1の)距離A-C、それぞれの(予め調整された)平行線1412上の点Aと点Eとの間の(第2の)距離A-E、およびそれぞれの予め調整された平行線1412’上の点Aおよび調整された点E’との間の(第3の)距離A-E’を決定して、予め調整された距離A-EとA-Cとの比が調整された距離A-E’とA-C’との比に実質的に等しくなるよう調整された点C’を示す。
【0097】
次に、調整された点C’は、入力管理システム112によって使用され、図13Bにおいて示すように、新しい(回転されたまたは置換された)点Dにおいて楕円1410と交差する調整された点C’から調整された直交する線1414’を決定する。置換された点Dにおいて、それぞれの幾何学的な中心Aから置換された点Dを通ってブロック1402bおよび1404bのそれぞれの境界上に投影する、再投影の半径方向の線1408’が決定される。それぞれの再投影線1408’がブロックの境界と交差する点は、調整されたコネクタ1406’の調整された接続点iiiおよびivを定義する。先行例のように、コネクタ1406の非線形な形状または曲線は、調整されたコネクタ1406’において実質的に変化しない。
【0098】
このようにしてコネクタを調整するために、入力管理システム112は、図15Aにおいて示すように、コネクタ1406の曲率半径rを、ブロック1402bおよび1404bの幾何学的な中心Aの接続線1416からコネクタ1406の円弧までの最大距離として決定して、図15Bに示すように、変換によりこの曲率半径を維持する。本実施例における曲率半径は、先行例におけるようにブロックの接続された境界の間に定義された線よりもむしろ、接続されたブロックの幾何学的な中心についての接続線に関して定義されることに注意されたい。しかしながら、接続された境界(すなわち、コネクタの接続点を有するブロックの境界)の線を、本実施例においておよび先行例に使用された接続線において使用することができることを理解する。
【0099】
本明細書に記載された本システムおよび方法の実施例において、入力管理システム112は、例えば入力認識システム114と共同して、コンピューティングデバイスのディスプレイ上にインタラクティブインクとしてレンダリングされた、デジタルインクにおける入力図式要素の表示を引き起こして、図式要素のブロックを別の1つに接続する図式要素におけるコネクタを識別する。接続された図式要素の幾何学的特性、例えば幾何学的な中心およびブロックの境界によって定義される説明された例示の楕円などに基づいて、接続された図式要素の各々の幾何学的構成を決定することによって、入力管理システム112は、接続された図式要素の境界に対するコネクタの接続点を幾何学的構成にマッピングして、よってマッピングされた点を定義する。
【0100】
次に、マッピングされた点の位置は、例えばコンピューティングデバイス100の入力インターフェイス104における、ユーザにより表示されたインタラクティブインクとのインタラクションなど、接続されたブロックまたはコネクタ自体に対する編集操作が入力管理システム112によって検知されると、入力管理システム112によって調整される。調整されたマッピングされた点は、調整されたマッピングされた点を接続された図式要素のブロックの境界上にマッピングすることによって、図式要素のブロックをコネクタの調整された接続点と共に再表示するために使用される。このようにして、図式要素のブロックの接続関係は、ブロック自体の形状または境界とは無関係に、コネクタ自体の特性とは無関係に定義されて、よって編集操作の間および後の表示された図式要素の実質的に忠実な編集が可能になる。
【0101】
以上、最良の形態および/または他の例であると考えられるものを説明したが、その中で種々の修正を行ってもよく、また本明細書で開示する主題を種々の形態および例で実施し得て、本明細書では一部しか説明していない他の多くの用途、組み合わせ、および環境に適用し得ることを理解されたい。当業者は理解するだろうが、開示された態様が主題の真の精神および範囲から逸脱することなく変更または修正し得る。したがって、本主題は、この説明における特定詳細、提示、および図示の例に限定されない。本明細書に開示されている有利な概念の真の範囲内に包含されるあらゆる修正および変形を保護することを意図している。
【0102】
動詞「なる」、「含む」、「備える」、または任意の他の変形、ならびにそれらの活用形の使用は、言及されたもの以外の要素またはステップの存在を排除するものではない。要素またはステップを説明するときの不定冠詞「a」または「an」の使用は、特に明記しない限り、そのような要素またはステップが複数存在することを排除するものではない。例えば、「プロセッサ」という用語は、特に明記しない限り、「1つまたは複数のプロセッサ」を意味すると見なし得る。
図1A
図1B
図2A
図2B
図3A
図3B
図4A
図4B
図5A
図5B
図6A
図6B
図7
図8
図9
図10A
図10B
図11A
図11B
図12A
図12B
図12C
図13A
図13B
図13C
図14A
図14B
図15A
図15B