(57)【要約】コンピューティングデバイス上でのデジタルノートテイキングのためのシステム、方法、およびコンピュータプログラム製品が提供される。各コンピューティングデバイスは、プロセッサと、このプロセッサの制御下で、手書きノートテイキング入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを備える。少なくとも１つの非一時的なコンピュータ可読媒体は、コンピューティングデバイスのディスプレイインターフェース上に、手書き入力のブロックのレイアウトおよびコンピューティングデバイスディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるように構成される。
2018533782.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス上でのデジタルノートテイキングのためのシステムであって、各コンピューティングデバイスは、プロセッサと、前記プロセッサの制御下で手書きノートテイキング入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを備え、前記少なくとも１つの非一時的なコンピュータ可読媒体は、
コンピューティングデバイスのディスプレイインターフェース上に、前記手書き入力のブロックのレイアウトおよび前記コンピューティングデバイスのディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させる
ように構成されるシステム。
【請求項２】
デジタルインクの各ブロックは、インタラクティブとなるように構成され、前記少なくとも１つの非一時的なコンピュータ可読媒体は、前記ブロックに対するインタラクションを受け取ることに応じて、前記レイアウト表示における変化を引き起こすように構成される請求項１に記載のシステム。
【請求項３】
前記コンピューティングデバイスのディスプレイインターフェースの前記構成は、第１の向きのコンピューティングデバイスにおける第１のアスペクトビューと、前記コンピューティングデバイスの第２の向きにおける第２のアスペクトビューとを含み、前記少なくとも１つの非一時的なコンピュータ可読媒体は、前記ディスプレイインターフェースのアスペクトビュー変化に応じて、前記レイアウト表示における変化を引き起こすように構成される請求項１または２に記載のシステム。
【請求項４】
前記第１のアスペクトビューは縦向きであり、前記第２のアスペクトビューは横向きである請求項３に記載のシステム。
【請求項５】
各コンピューティングデバイスのディスプレイインターフェースの前記構成は、前記ディスプレイインターフェースの水平寸法および垂直寸法によって定義され、前記少なくとも１つの非一時的なコンピュータ可読媒体は、コンピューティングデバイス上のディスプレイが、異なる水平寸法および／または垂直寸法のディスプレイインターフェースを有することに応じて、前記レイアウト表示における変化を引き起こすように構成される請求項１乃至４のいずれか一項に記載のシステム。
【請求項６】
コンピューティングデバイス上でのデジタルノートテイキングのための方法であって、各コンピューティングデバイスは、プロセッサと、前記プロセッサの制御下で手書きノートテイキング入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを備え、前記方法は、
前記少なくとも１つの非一時的なコンピュータ可読媒体により、コンピューティングデバイスのディスプレイインターフェース上に、前記手書き入力のブロックのレイアウトおよび前記コンピューティングデバイスのディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるステップ
を含む方法。
【請求項７】
デジタルインクの各ブロックは、インタラクティブとなるように構成され、前記方法は、前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記ブロックに対するインタラクションを受け取ることに応じて、前記レイアウト表示における変化を引き起こす請求項６に記載の方法。
【請求項８】
前記コンピューティングデバイスディスプレイインターフェースの前記構成は、第１の向きのコンピューティングデバイスにおける第１のアスペクトビューと、前記コンピューティングデバイスの第２の向きにおける第２のアスペクトビューとを含み、前記方法は、前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記ディスプレイインターフェースのアスペクトビュー変化に応じて、前記レイアウト表示における変化を引き起こす請求項６または７に記載の方法。
【請求項９】
前記第１のアスペクトビューは縦向きであり、前記第２のアスペクトビューは横向きである請求項８に記載の方法。
【請求項１０】
各コンピューティングデバイスのディスプレイインターフェースの前記構成は、前記ディスプレイインターフェースの水平寸法および垂直寸法によって定義され、前記方法は、前記少なくとも１つの非一時的なコンピュータ可読媒体により、コンピューティングデバイス上のディスプレイが、異なる水平寸法および／または垂直寸法のディスプレイインターフェースを有することに応じて、前記レイアウト表示における変化を引き起こす請求項６乃至９のいずれか一項に記載の方法。
【請求項１１】
コンピュータ可読プログラムコードがその中に具現化された、非一時的なコンピュータ可読媒体であって、前記コンピュータ可読プログラムコードは、コンピューティングデバイスに対する手書きノートテイキングの入力を認識するための方法を実装するために実行されるように適合され、前記コンピューティングデバイスは、プロセッサと、前記プロセッサの制御下で前記入力を認識するための少なくとも１つのシステム非一時的なコンピュータ可読媒体とを備え、前記方法は、
前記少なくとも１つのシステム非一時的なコンピュータ可読媒体により、コンピューティングデバイスのディスプレイインターフェース上に、前記手書き入力のブロックのレイアウトおよび前記コンピューティングデバイスのディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるステップ
を含む非一時的なコンピュータ可読媒体。
【請求項１２】
デジタルインクの各ブロックは、インタラクティブとなるように構成され、前記方法は、前記少なくとも１つのシステム非一時的なコンピュータ可読媒体により、前記ブロックに対するインタラクションを受け取ることに応じて、前記レイアウト表示における変化を引き起こす請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１３】
前記コンピューティングデバイスのディスプレイインターフェースの前記構成は、第１の向きのコンピューティングデバイスにおける第１のアスペクトビューと、前記コンピューティングデバイスの第２の向きにおける第２のアスペクトビューとを含み、前記方法は、前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記ディスプレイインターフェースのアスペクトビュー変化に応じて、前記レイアウト表示における変化を引き起こす請求項１１または１２記載の非一時的なコンピュータ可読媒体。
【請求項１４】
前記第１のアスペクトビューは縦向きであり、前記第２のアスペクトビューは横向きである請求項１３に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
各コンピューティングデバイスのディスプレイインターフェースの前記構成は、前記ディスプレイインターフェースの水平寸法および垂直寸法によって定義され、前記方法は、前記少なくとも１つのシステム非一時的なコンピュータ可読媒体により、コンピューティングデバイス上のディスプレイが、異なる水平寸法および／または垂直寸法のディスプレイインターフェースを有することに応じて、前記レイアウト表示における変化を引き起こす請求項１１乃至１４のいずれか一項に記載の非一時的なコンピュータ可読媒体。
【請求項１６】
コンピューティングデバイス上でのデジタルノートテイキングのためのシステムであって、各コンピューティングデバイスは、プロセッサと、前記プロセッサの制御下で手書きノートテイキング入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを備え、前記少なくとも１つの非一時的なコンピュータ可読媒体は、
コンピューティングデバイスのディスプレイインターフェース上に、手書き入力のためのガイド要素を表示させ、
前記ディスプレイインターフェース上に、前記手書き入力のブロックのレイアウトおよび前記コンピューティングデバイスのディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させる
ように構成され、
前記ガイド要素は、前記デジタルインクブロックコンテンツおよびレイアウト、ならびに前記認識された手書き入力から形成される活字化されたインクブロックコンテンツおよびレイアウトに基づいて表示されるシステム。
【請求項１７】
前記ガイド要素は、前記ディスプレイインターフェース上に表示される複数の実質的に平行な線を含む請求項１６に記載のシステム。
【請求項１８】
前記複数の実質的に平行な線の各々の間の表示される間隔は、前記活字化されたインクの表示サイズに基づく請求項１７に記載のシステム。
【請求項１９】
前記プロセッサの制御下で、前記認識された手書き入力と、前記手書き入力の認識されたコンテンツ要素の相対的なロケーションとに基づいて、前記手書き入力のリストコンテンツ要素を検出し、
リストレイアウトにおけるさらなるリストコンテンツ要素の手書き入力をガイドするための前記ガイド要素を表示させる
ように構成される請求項１６乃至１８のいずれか一項に記載のシステム。
【請求項２０】
前記プロセッサの制御下で、前記検出されたリストコンテンツ要素のレイアウトに従って、前記リストレイアウトを定義する
ように構成された請求項１９に記載のシステム。
【請求項２１】
前記プロセッサの制御下で、前記検出されたリストコンテンツ要素に基づいて、前記検出されたリストコンテンツ要素の階層構造を検出する
ように構成された請求項１９または２０に記載のシステム。
【請求項２２】
コンピューティングデバイス上でのデジタルノートテイキングのための方法であって、各コンピューティングデバイスは、プロセッサと、前記プロセッサの制御下で手書きノートテイキング入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを備え、前記方法は、
前記少なくとも１つの非一時的なコンピュータ可読媒体により、コンピューティングデバイスのディスプレイインターフェース上に、手書き入力のためのガイド要素を表示させるステップと、
前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記ディスプレイインターフェース上に、前記手書き入力のブロックのレイアウトおよび前記コンピューティングデバイスディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるステップと
を含み、
前記ガイド要素は、前記デジタルインクブロックコンテンツおよびレイアウト、ならびに前記認識された手書き入力から形成される活字化されたインクブロックコンテンツおよびレイアウトに基づいて表示される方法。
【請求項２３】
前記ガイド要素は、前記ディスプレイインターフェース上に表示される複数の実質的に平行な線を含む請求項２２に記載の方法。
【請求項２４】
前記複数の実質的に平行な線の各々の間の表示される間隔は、前記活字化されたインクの表示サイズに基づく請求項２３に記載の方法。
【請求項２５】
前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記認識された手書き入力と、前記手書き入力の認識されたコンテンツ要素の相対的なロケーションとに基づいて、前記手書き入力のリストコンテンツ要素を検出するステップと、
リストレイアウトにおけるさらなるリストコンテンツ要素の手書き入力をガイドするための前記ガイド要素を表示させるステップと
を含む請求項２２乃至２４のいずれか一項に記載の方法。
【請求項２６】
前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記検出されたリストコンテンツ要素のレイアウトに従って、前記リストレイアウトを定義するステップ
を含む請求項２５に記載の方法。
【請求項２７】
前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記検出されたリストコンテンツ要素に基づいて、前記検出されたリストコンテンツ要素の階層構造を検出するステップ
を含む請求項２５または２６に記載の方法。
【請求項２８】
コンピュータ可読プログラムコードがその中に具現化された、非一時的なコンピュータ可読媒体であって、前記コンピュータ可読プログラムコードは、コンピューティングデバイスに対する手書きノートテイキングの入力を認識するための方法を実装するために実行されるように適合され、前記コンピューティングデバイスは、プロセッサと、前記プロセッサの制御下で前記入力を認識するための少なくとも１つのシステム非一時的なコンピュータ可読媒体とを備え、前記方法は、
前記少なくとも１つの非一時的なコンピュータ可読媒体により、コンピューティングデバイスのディスプレイインターフェース上に、手書き入力のためのガイド要素を表示させるステップと、
前記少なくとも１つのシステム非一時的なコンピュータ可読媒体により、前記ディスプレイインターフェース上に、前記手書き入力のブロックのレイアウトおよび前記コンピューティングデバイスのディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるステップと
を含み、
前記ガイド要素は、前記デジタルインクブロックコンテンツおよびレイアウト、ならびに前記認識された手書き入力から形成される活字化されたインクブロックコンテンツおよびレイアウトに基づいて表示される非一時的なコンピュータ可読媒体。
【請求項２９】
前記ガイド要素は、前記ディスプレイインターフェース上に表示される複数の実質的に平行な線を含む請求項２８に記載の非一時的なコンピュータ可読媒体。
【請求項３０】
前記複数の実質的に平行な線の各々の間の表示される間隔は、前記活字化されたインクの表示サイズに基づく請求項２９に記載の非一時的なコンピュータ可読媒体。
【請求項３１】
前記方法は、
前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記認識された手書き入力と、前記手書き入力の認識されたコンテンツ要素の相対的なロケーションとに基づいて、前記手書き入力のリストコンテンツ要素を検出するステップと、
リストレイアウトにおけるさらなるリストコンテンツ要素の手書き入力をガイドするための前記ガイド要素を表示させるステップと
を含む請求項２８乃至３０のいずれか一項に記載の非一時的なコンピュータ可読媒体。
【請求項３２】
前記方法は、
前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記検出されたリストコンテンツ要素のレイアウトに従って、前記リストレイアウトを定義するステップ
を含む請求項３１に記載の非一時的なコンピュータ可読媒体。
【請求項３３】
前記方法は、
前記少なくとも１つの非一時的なコンピュータ可読媒体により、前記検出されたリストコンテンツ要素に基づいて、前記検出されたリストコンテンツ要素の階層構造を検出するステップ
を含む請求項３０または３１に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本説明は、一般に、コンピューティングデバイスインターフェースを使用する、デジタルノートテイキングシステムおよびデジタルノートテイキング方法の分野に関連する。本説明は、より具体的には、様々な文字、シンボルおよびオブジェクトのユーザ入力された手書きを認識することが可能なデジタルノートテイキングシステムおよびデジタルノートテイキング方法に関連する。
【背景技術】
【０００２】
関連出願の相互参照
本出願は、２０１５年８月２５日に出願された欧州出願第１５２９０２１９．３号、２０１５年１０月１９日に出願された米国出願第１４／８８６，１９５号、２０１６年３月３１日に出願された欧州出願第１６２９００５８．３号、および２０１５年１０月１９日に出願された米国出願第１４／８８６，１９５号の一部継続出願である、２０１６年７月２１日に出願された米国出願第１５／２１５，７１６号の優先権を主張し、これらの出願すべての全内容が、参照によって本明細書に組み込まれる。
【０００３】
コンピューティングデバイスは、日常生活にとって一層ユビキタスになり続けている。それらは、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、ハイブリッドコンピュータ（２イン１）、ｅブックリーダ、携帯電話、スマートフォン、ウェアラブルコンピュータ、全地球測位システム（ＧＰＳ）ユニット、エンタープライズデジタルアシスタント（ＥＤＡ）、携帯情報端末（ＰＤＡ）、ゲーム機等の形態を取る。さらに、コンピューティングデバイスは、車両および機器、例えば、自動車、トラック、農機具、製造機器、建物環境制御（例えば、照明、ＨＶＡＣ）、ならびに家庭用電気製品および商業用電気製品などに組み込まれている。
【０００４】
コンピューティングデバイスは、一般に、中央処理装置（ＣＰＵ）などの少なくとも１つの処理要素と、何らかの形態のメモリと、入力デバイスおよび出力デバイスとから成る。コンピューティングデバイスの多様性およびそれらの後続の使用は、多種多様なインターフェースおよび入力デバイスを必要とする。１つのそのような入力デバイスは、ユーザの指またはペンもしくはスタイラスなどの器具とタッチ感知面との間の接触を通じてユーザ入力が受け取られるタッチ感知面、例えば、タッチ画面またはタッチパッドなどである。別の入力デバイスは、入力面の上でユーザによって行われたジェスチャを感知する入力面である。さらなる入力デバイスは、非接触式の物理的表面または仮想表面との接触型インタラクションまたは非接触型インタラクションのいずれかの相対的な位置を検出する位置検出システムである。これらの方法のいずれの入力も、一般に、テキストを描くために、または入力するために使用され得る。ユーザの手書きは、手書き認識システムまたは手書き認識方法を使用して解釈される。
【０００５】
携帯用コンピューティングデバイス、例えば、スマートフォン、ファブレットおよびタブレットなどにおける手書き認識の１つの適用例は、ノートテイキングである。これは、例えば、講義中または会議中に、コンピューティングデバイスのユーザがノートをキャプチャする教育環境およびビジネス環境において、特に発生する。これは、通常は、コンピューティングデバイス上で手書きノートテイキングアプリケーションを起動するユーザによって行われ、手書きノートテイキングアプリケーションは、タッチ感知面上で入力された手書きノートを、このデバイスにおいて局所的に、またはこのデバイスの通信リンクを介してリモートで受け取り、解釈する。従来、そのような手書きノートテイキングアプリケーションは、記録されたノートからの完全な文書作成体験をユーザに提供するためのそれらの能力が限定されている。なぜならば、これらのアプリケーションの焦点は、主に、文書作成よりもむしろ認識精度にあったからである。つまり、利用可能なアプリケーションは、手書きの認識、および認識された手書きの活字化されたテキストへの変換を、様々なフィードバック機構と共にユーザに提供するが、それは、一般に、入力とのインタラクションの範囲である。
【０００６】
ユーザが、出力テキストとのさらなるインタラクション、例えば、内容を編集すること、ノートのレイアウトを操作すること、またはノートを文書へ変換することもしくは文書内にノートを追加することなどを望む場合、そのテキストは、一般に、別個の文書処理アプリケーションへインポートされる必要がある。これは、それ自体大きな問題ではないが、手書きノートの元のレイアウトおよび実際に入力された手書き自体、いわゆるデジタルインクは、典型的には、インポートプロセスにおいて廃棄されるので、ユーザは、記録されたノートにおける意図を確かめるために、元のノートを参照しなければならない。例えば、ユーザは、注釈もしくは装飾のいずれかによって、またはノートの内容自体のレイアウトを通じて、ノート内の一定の単語または節を強調している場合がある。
【０００７】
さらに、インポートが別個のアプリケーションへ実行されると、さらなるノートテイキングを通じて内容を追加し、または編集する能力が一般に失われ、ユーザは、事実上、新しいノートを始めなければならず、新しいノート自体が、その文書へインポートされなければならない。そのような煩わしい方法は、異なるセッションにわたる、例えば、複数の講義もしくは複数のビジネス会議にわたる、または共同作業および共有を通じた、文書内への包含のためにノートを継続し、または更新する能力を明らかに限定する。当然ながら、複数のユーザの有無に関わらず、ノートテイキングがそのような複数のセッションにわたって終了するまで、ユーザは、文書処理アプリケーションへのインポートを遅延させてもよい。しかしながら、今日、多くの人々が、相互接続された複数の携帯用コンピューティングデバイスを有しているので、これらの異なるコンピューティングデバイス上でこれらの複数のセッションを実行すること、またはこれらの異なるデバイス上のノートに少なくともアクセスすることが望ましい場合がある。
【０００８】
例えば、ユーザは、講義中または会議中に、自身のラップトップ上でノートを始め、その後、同僚または友人との会話中に、自身のタブレットを使用して、そのノートに追加し、その後に、更新されたノートを自身のスマートフォンを使用して共有したいと望むことがある。これらのデバイスの画面上の利用可能な入力および表示空間は、著しく変わり得る。さらに、いくつかのデバイスは、異なる向き、すなわち、縦向きおよび横向きでの表示を可能にする。そのため、１つのデバイスを１つの向きで使用したノートのユーザによるレイアウトは、このノートが、異なるデバイス上でまたは異なる向きで表示され、インタラクションされた場合、著しく変化させられることがある。したがって、これらの異なる表示シナリオにわたる特定のノートレイアウトでの継続的なノートテイキングは、現在のところ困難である。
【０００９】
ノートテイキングレイアウトに関する他の問題は、複数のデバイスおよび向きの複雑さを考慮すらせずに発生する。利用可能な手書きノートテイキングアプリケーションは、一般に、手書き入力を手動でまたは自動的に（例えば、オンザフライで）活字化するための能力をユーザに提供する。しかしながら、活字化されたテキストは、一般に、手書きのテキストよりも小さく、より均一であるので（後で詳細に説明される）、手書き入力のユーザによるレイアウト、例えば、段落内の文などは、活字化されたテキストへうまく変換されないことがあり、例えば、文があまりにも短くなり、その結果、段落が視覚的な意味を失い、段落に分けられたテキストというよりもリストのように見えてしまう。これは、レイアウトが保存されて見えるように、例えば、段落が保持されるように、活字化されたテキストを並べ替えることによって克服され得る。しかしながら、例えば、ユーザによる元の手書きレイアウトが段落ではなく、実際にリストであったということもあり、そのようなレイアウトの明示的な標識なしに、手書き認識プロセスがこれらの実例を検出することは困難である。
【００１０】
従来のプロセスは、ユーザが一定のシンボルまたは文字、例えば、リスト入力のための箇条書きを入力すること（例えば、特許文献１を参照）、またはそのようなレイアウトを示すために特定のジェスチャを使用すること、またはそのようなもののための入力方法を実装することを必要とし、これは、別の面では、ユーザの手書きフローを阻害する（例えば、リスト入力のためのガイドの表示を開示している特許文献２を参照）。しかしながら、ユーザは、自身の所望のレイアウトで手書きノートを入力することが、その入力を手書きノートテイキングアプリケーションが取り扱う様式を考慮する必要なしにできるべきである。これは、手書きノートテイキングアプリケーションを使用する場合、ユーザは、一般に、自然でないもしくは直観的でない特定の入力方法またはジェスチャを学習すること、またはメニュー等を通じて設定を行うことができず、またはこれらのことを望まないということに、本出願人が気づいたからである。
【００１１】
さらに、ノートテイキングは、一般に多くの形態を取り、ユーザは、テキスト文字のみを使用してノートを取るわけではない。例えば、ノートは、多くのタイプの内容、例えば、テキスト、図面、図、数学的方程式または化学反応式、および楽譜などを含むことがある。さらに、ユーザは、ノート内に他の媒体、例えば、画像およびオーディオまたはビデオ記録などを挿入したいと欲することがある。したがって、そのようなマルチコンテンツ入力およびマルチメディア入力は、これらの入力のユーザによるレイアウトを尊重しつつ、サポートされるべきである。
【００１２】
しかしながら、ユーザによるノートレイアウトは、手書きの内容の効果的な認識、およびその内容の知覚可能な活字化をも支援する様式で行われるべきである。従来のシステムには、紙と同様に、罫線の使用を通じて手書き入力をガイドすることによって、認識のための支援を提供するものがある。特許文献１、特許文献３、特許文献４および特許文献５は、そのような線が様々な形態で提供されるノートテイキングシステムを開示している。線の高さ、例えば、線と線との間の空間に関して、特許文献４は、手書き入力のサイズに基づいて線の高さを設定することを論じており、特許文献５は、線の高さをユーザ設定可能にすることを論じており、特許文献１は、手書きテキスト入力と図面入力との区別を可能にする様式で線の高さを設定することを論じている。しかしながら、そのような考慮は、手書きテキストの最終的な活字化を考えに入れておらず、したがって、線の設定間隔および分布は、活字化されたインクと無関係に行われることがあり、これは、手書きノートの内容およびレイアウトの知覚可能な活字化にとって好ましくない。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】米国特許第５，６１３，０１９号明細書
【特許文献２】米国特許第７，７５１，６２３号明細書
【特許文献３】米国特許第７，０９６，４３２号明細書
【特許文献４】米国特許第７，１６７，１６５号明細書
【特許文献５】米国特許第７，２６６，７６９号明細書
【特許文献６】米国特許出願公開第ＵＳ２００９／００７７０５３号明細書
【特許文献７】米国特許出願公開第ＵＳ２０１５／０２２８２５９号明細書
【特許文献８】米国特許出願公開第２０１６／０１５４９９８号明細書
【特許文献９】欧州出願第１５２９０１８３．１号明細書
【特許文献１０】米国特許出願第１４／８７０，７３５号明細書
【発明の概要】
【課題を解決するための手段】
【００１４】
本明細書において下記に説明される本発明の例は、コンピューティングデバイスへの手書き入力を用いるデジタルノートテイキングにおいて使用するためのシステムおよび方法を提供する。コンピューティングデバイスは、プロセッサと、このプロセッサの制御下で手書き入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを含み得る。
【００１５】
１つの例において、コンピューティングデバイス上でのデジタルノートテイキングのためのシステムが提供される。各コンピューティングデバイスは、プロセッサと、このプロセッサの制御下で手書きノートテイキング入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを備える。少なくとも１つの非一時的なコンピュータ可読媒体は、コンピューティングデバイスディスプレイインターフェース上に、手書き入力のブロックのレイアウトおよびコンピューティングデバイスのディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるように構成される。
【００１６】
別の例において、コンピュータ可読プログラムコードがその中に具現化された、非一時的なコンピュータ可読媒体が提供される。コンピュータ可読プログラムコードは、コンピューティングデバイスに対する手書きノートテイキングの入力を認識するための方法を実装するために実行されるように適合される。コンピューティングデバイスは、プロセッサと、このプロセッサの制御下で入力を認識するための少なくとも１つのシステム非一時的なコンピュータ可読媒体とを備える。本方法は、少なくとも１つのシステム非一時的なコンピュータ可読媒体により、コンピューティングデバイスのディスプレイインターフェース上に、手書き入力のブロックのレイアウトおよびコンピューティングデバイスディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるステップを含む。
【００１７】
別の例において、コンピューティングデバイス上でのデジタルノートテイキングのためのシステムが提供される。各コンピューティングデバイスは、プロセッサと、このプロセッサの制御下で手書きノートテイキング入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを備える。少なくとも１つの非一時的なコンピュータ可読媒体は、コンピューティングデバイスのディスプレイインターフェース上に、手書き入力のためのガイド要素を表示させ、ディスプレイインターフェース上に、手書き入力のブロックのレイアウトおよびコンピューティングデバイスディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるように構成されており、ガイド要素は、デジタルインクブロックコンテンツおよびレイアウト、ならびに認識された手書き入力から形成される活字化されたインクブロックコンテンツおよびレイアウトに基づいて表示される。
【００１８】
別の例において、コンピューティングデバイス上でのデジタルノートテイキングのための方法が提供される。各コンピューティングデバイスは、プロセッサと、このプロセッサの制御下で手書きノートテイキング入力を認識するための少なくとも１つの非一時的なコンピュータ可読媒体とを備える。本方法は、少なくとも１つの非一時的なコンピュータ可読媒体により、コンピューティングデバイスのディスプレイインターフェース上に、手書き入力のためのガイド要素を表示させるステップと、少なくとも１つの非一時的なコンピュータ可読媒体により、ディスプレイインターフェース上に、手書き入力のブロックのレイアウトおよびコンピューティングデバイスディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるステップとを含む。ガイド要素は、デジタルインクブロックコンテンツおよびレイアウト、ならびに認識された手書き入力から形成される活字化されたインクブロックコンテンツおよびレイアウトに基づいて表示される。
【００１９】
別の例において、コンピュータ可読プログラムコードがその中に具現化された、非一時的なコンピュータ可読媒体が提供される。コンピュータ可読プログラムコードは、コンピューティングデバイスに対する手書きノートテイキングの入力を認識するための方法を実装するために実行されるように適合される。コンピューティングデバイスは、プロセッサと、このプロセッサの制御下で入力を認識するための少なくとも１つのシステム非一時的なコンピュータ可読媒体とを備える。本方法は、少なくとも１つの非一時的なコンピュータ可読媒体により、コンピューティングデバイスのディスプレイインターフェース上に、手書き入力のためのガイド要素を表示させるステップと、少なくとも１つのシステム非一時的なコンピュータ可読媒体により、ディスプレイインターフェース上に、手書き入力のブロックのレイアウトおよびコンピューティングデバイスディスプレイインターフェースの構成に従って、ブロックレイアウトでデジタルインクを表示させるステップとを含む。ガイド要素は、デジタルインクブロックコンテンツおよびレイアウト、ならびに認識された手書き入力から形成される活字化されたインクブロックコンテンツおよびレイアウトに基づいて表示される。
【図面の簡単な説明】
【００２０】
本システムおよび本方法は、これらの例の下記の詳細な説明を、図面と共に考慮することから、より完全に理解されるであろう。図面において、同様の参照符号は、同様の要素を描く。図面において：
【図１】本システムおよび本方法の一例に係るコンピューティングデバイスのブロック図である。
【図２】本システムおよび本方法の一例に係る、手書き認識のためのシステムのブロック図である。
【図３】本システムおよび本方法の一例に係る、図２の手書き認識システムの詳細を例示するブロック図である。
【図４】コンピューティングデバイスの入力面の一部上のスクロールページの例示的な視覚的レンダリングの概略図である。
【図５Ａ】異なるスクロールされた位置において入力コンテンツを有するスクロールページの概略図である。
【図５Ｂ】異なるスクロールされた位置において入力コンテンツを有しないスクロールページの概略図である。
【図６Ａ】異なるスクロールされた位置において入力コンテンツを有するスクロールページの概略図である。
【図６Ｂ】異なるスクロールされた位置において入力コンテンツを有しないスクロールページの概略図である。
【図７Ａ】異なるスクロールされた位置において入力コンテンツを有するスクロールページの概略図である。
【図７Ｂ】異なるスクロールされた位置において入力コンテンツを有しないスクロールページの概略図である。
【図８】デバイス入力面上のスクロールページの例示的な視覚的レンダリングの概略図である。
【図９】デバイス入力面上のスクロールページの例示的な視覚的レンダリングの概略図である。
【図１０】スクロールページのアライメント要素の一例の概略図である。
【図１１】異なるデバイスの入力面サイズに関する、異なる列数のアライメント要素のグラフである。
【図１２Ａ】入力面サイズに関する列の適合のための規則の表である。
【図１２Ｂ】入力面サイズに関する列の適合のための規則の表である。
【図１３】スクロールページのアライメント要素の一例の概略図である。
【図１４】アライメント要素を有するデバイス入力面の一部上のスクロールページの例示的な視覚的レンダリングの概略図である。
【図１５】例示的な入力コンテンツオブジェクトブロックを有するスクロールページの一部の概略図である。
【図１６Ａ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１６Ｂ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１７Ａ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１７Ｂ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１８Ａ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１８Ｂ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１８Ｃ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１８Ｄ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１８Ｅ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１９Ａ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１９Ｂ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図１９Ｃ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図２０Ａ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図２０Ｂ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図２１Ａ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図２１Ｂ】オブジェクトブロックを有するスクロールページの一部、およびこのオブジェクトブロックに対する例示的な動作の概略図である。
【図２２Ａ】オブジェクトブロックを有するスクロールページの一部の第１のアライメントレンダリングの概略図である。
【図２２Ｂ】オブジェクトブロックを有するスクロールページの一部の第２のアライメントレンダリングの概略図である。
【図２３Ａ】オブジェクトブロックの連続的な入力を有するスクロールページの一部の第１のアライメントレンダリングの概略図である。
【図２３Ｂ】オブジェクトブロックの連続的な入力を有するスクロールページの一部の第１のアライメントレンダリングの概略図である。
【図２３Ｃ】オブジェクトブロックの連続的な入力を有するスクロールページの一部の第１のアライメントレンダリングの概略図である。
【図２３Ｄ】オブジェクトブロックの連続的な入力を有するスクロールページの一部の第１のアライメントレンダリングの概略図である。
【図２３Ｅ】オブジェクトブロックの連続的な入力を有するスクロールページの一部の第１のアライメントレンダリングの概略図である。
【図２３Ｆ】オブジェクトブロックの連続的な入力を有するスクロールページの一部の第１のアライメントレンダリングの概略図である。
【図２４】オブジェクトブロックを有する、図２３のスクロールページの一部の第２のアライメントレンダリングの概略図である。
【図２５】例示的なデジタルインク段落およびその活字化された均等物を示す図である。
【図２６】デジタルインクに対する活字化動作を示すデバイス入力面の一部上のスクロールページの例示的な視覚的レンダリングの概略図である。
【図２７】活字化動作のアニメーションを示す、図２６のスクロールページの概略図である。
【図２８Ａ】活字化されたインクの典型的なパラメータを示す図である。
【図２８Ｂ】図２８Ａの活字化されたインクのパラメータに関するアライメント要素の線パターン要素の間隔を示す図である。
【図２９Ａ】線パターン要素に関連する境界ボックスを用いてレンダリングされた例示的な活字化されたインクブロックを示す図である。
【図２９Ｂ】境界ボックス内の線パターン要素の例示的なマスキングされたレンダリングを示す図である。
【図３０Ａ】線パターン要素を用いた、例示的な活字化されたインクブロックの例示的なアライメントを示す図である。
【図３０Ｂ】境界ボックスを用いてレンダリングされた活字化されたインクブロックの別の例示的なアライメントを示す図である。
【図３０Ｃ】境界ボックスのレンダリングなしの、図３０Ｂの例示的なアライメントを示す図である。
【図３１Ａ】例示的な活字化されたインクブロックの境界ボックスに関する、線パターン要素の例示的なマスキングされたレンダリングを示す図である。
【図３１Ｂ】活字化されたインクブロックの境界ボックスなしの、図３１Ａのマスキングされた線パターン要素を示す図である。
【図３２Ａ】例示的な活字化されたインクブロックの境界ボックスに関する、線パターン要素の例示的なマスキングされたレンダリングを示す図である。
【図３２Ｂ】活字化されたインクブロックの境界ボックスなしの、図３２Ａのマスキングされた線パターン要素を示す図である。
【図３２Ｃ】活字化されたインクブロックの境界ボックスに関する、線パターン要素の別の例示的なマスキングされたレンダリングを示す図である。
【図３２Ｄ】活字化されたインクブロックの境界ボックスなしの、図３２Ｃのマスキングされた線パターン要素を示す図である。
【図３３Ａ】スクロールページに対する手書き入力からレンダリングされた例示的なデジタルインクブロックの境界ボックスに関する、線パターン要素の例示的なマスキングされたレンダリングを示す図である。
【図３３Ｂ】デジタルインクブロックの境界ボックスなしの、図３３Ａのマスキングされた線パターン要素を示す図である。
【図３４】スクロールページに対する手書き入力からレンダリングされた例示的なデジタルインクリストを示す図である。
【図３５】図３４のデジタルインクリストに関する、線パターン要素の例示的なマスキングされたレンダリングを示す図である。
【図３６】例示的な付加入力を有するデジタルインクリストに関する、線パターン要素の別の例示的なマスキングされたレンダリングを示す図である。
【図３７】さらなる例示的な付加入力を有するデジタルインクリストに関する、線パターン要素の別の例示的なマスキングされたレンダリングを示す図である。
【図３８】さらなる例示的な付加入力を有するデジタルインクリストに関する、線パターン要素の別の例示的なマスキングされたレンダリングを示す図である。
【図３９】図３８のデジタルインクリストの下方のスクロールページに対する手書き入力からレンダリングされた例示的なデジタルインクブロックを示す図である。
【図４０】例示的な付加入力を有する、図３５のデジタルインクリストに関する、線パターン要素の別の例示的なマスキングされたレンダリングを示す図である。
【発明を実施するための形態】
【００２１】
下記の詳細な説明において、関連する教示の完全な理解を提供するために、多くの特定の詳細が、例として述べられる。しかしながら、本教示がそのような詳細なしに実施され得ることは、当業者に明らかなはずである。他の実例において、周知の方法、手続き、構成要素、および／または回路類は、本教示の態様を不必要に曖昧にすることを回避するために、詳細なしで、比較的高いレベルにおいて説明されている。
【００２２】
方向の特徴、例えば、上、下、上方、下方、最も低い、最も高い、水平、垂直等などへの参照および考察は、認識対象の入力が行われる入力面に対して適用されるようなデカルト座標系に関して行われる。さらに、本説明における「テキスト」という用語の使用は、任意の書き言葉における、あらゆる英数字文字およびその文字列、ならびに書き込まれたテキストにおいて使用されている、ありふれた非英数字文字、例えば、シンボルを包含するものとして理解される。さらに、本説明における「非テキスト」という用語は、自由形式の手書きコンテンツならびにレンダリングされたテキストおよび画像データ、ならびに、非テキスト文脈において使用される、非英数字文字およびその文字列、ならびに英数字文字およびその文字列を包含するものとして理解される。
【００２３】
本明細書において説明される様々な技術は、一般に、携帯用コンピューティングデバイスおよび非携帯用コンピューティングデバイス上の手書きコンテンツを、そのコンテンツのパブリッシュ可能な文書への変換を可能にする様式で、キャプチャし、処理し、管理することに関する。本明細書において説明されるシステムおよび方法は、コンピューティングデバイスに接続された、もしくはコンピューティングデバイスの、タッチ感知面などの入力面を介して、またはコンピューティングデバイスに接続された、デジタルペンもしくはマウスなどの入力デバイスを介して、コンピューティングデバイスへ入力される、ユーザの自然な書き込みまたは描画スタイル入力の認識を利用し得る。いわゆるオンライン認識技法を使用した手書き入力の認識に関して、様々な例が説明されているが、認識のための他の形態の入力、例えば、デジタルインクよりもむしろ画像が認識されるオフライン認識などに対する適用が可能であることが理解される。手描きおよび手書きという用語は、デジタル媒体もしくはデジタル処理で接続された媒体上へ直接ユーザの手を使用して、またはハンドヘルドスタイラスなどの入力ツールを介して、ユーザによってデジタルコンテンツを作成することを定義するために、本明細書においては互換的に使用される。「手」という用語は、入力技法の簡潔な説明を提供するために本明細書において使用されるが、同様の入力のためのユーザの身体の他の部分、例えば、足、口および目などの使用も、この定義に含まれる。
【００２４】
図１は、例示的なコンピューティングデバイス１００のブロック図を示す。コンピューティングデバイスは、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、ハイブリッドコンピュータ（２イン１）、ｅブックリーダ、携帯電話、スマートフォン、ウェアラブルコンピュータ、デジタルウォッチ、インタラクティブホワイトボード、全地球測位システム（ＧＰＳ）ユニット、エンタープライズデジタルアシスタント（ＥＤＡ）、携帯情報端末（ＰＤＡ）、ゲーム機等であってもよい。コンピューティングデバイス１００は、少なくとも１つの処理要素、何らかの形態のメモリ、ならびに入力および／または出力（Ｉ／Ｏ）デバイスの構成要素を含む。構成要素は、入力および出力、例えば、コネクタ、回線、バス、ケーブル、バッファ、電磁リンク、ネットワーク、モデム、トランスデューサ、ＩＲポート、アンテナ、または当業者に知られている他のものを通じて互いに通信する。
【００２５】
コンピューティングデバイス１００の例示されている例は、コンピューティングデバイスからのデータ、例えば、画像、テキストおよびビデオなどを出力するための少なくとも１つのディスプレイ１０２を有する。ディスプレイ１０２は、ＬＣＤ、プラズマ、ＬＥＤ、ｉＯＬＥＤ、ＣＲＴ、または当業者に知られているようなタッチ感知式のもしくはタッチ感知式でない任意の他の適当な技術を使用してもよい。ディスプレイ１０２のうちの少なくとも一部は、少なくとも１つの入力面１０４と同じ場所に設置される。入力面１０４は、例えば、抵抗、表面弾性波、容量性、赤外線グリッド、赤外線アクリルプロジェクション、光学イメージング、分散信号技術、音響パルス認識、またはユーザ入力を受け取るための、当業者に知られているような任意の他の適当な技術などの技術を採用し得る。入力面１０４は、その境界を明確に識別する恒久的なまたはビデオ生成された境界線によって境界を示され得る。内蔵ディスプレイの代わりに、または内蔵ディスプレイに加えて、コンピューティングデバイス１００は、投影型ディスプレイ能力を有してもよい。
【００２６】
コンピューティングデバイス１００は、ローカルインターフェースを介して通信可能に結合される、１つまたは複数の付加的なＩ／Ｏデバイス（または周辺装置）を含んでもよい。付加的なＩ／Ｏデバイスは、入力デバイス、例えば、キーボード、マウス、スキャナ、マイクロフォン、タッチパッド、バーコードリーダ、レーザリーダ、無線周波数デバイスリーダ、または当業者に知られている任意の他の適当な技術などを含んでもよい。さらに、Ｉ／Ｏデバイスは、出力デバイス、例えば、プリンタ、バーコードプリンタ、または当業者に知られている任意の他の適当な技術などを含んでもよい。さらに、Ｉ／Ｏデバイスは、入力と出力との両方と通信する通信デバイス、例えば、変調器／復調器（別のデバイス、システム、もしくはネットワークにアクセスするためのモデム）、無線周波数（ＲＦ）送受信機もしくは他の送受信機、電話インターフェース、ブリッジ、ルータ、または当業者に知られている任意の他の適当な技術などを含んでもよい。ローカルインターフェースは、通信を可能にするための付加的な要素、例えば、コントローラ、バッファ（キャッシュ）、ドライバ、中継器、および受信器を有してもよく、これらは、単純さのために省略されているが、当業者に知られている。さらに、ローカルインターフェースは、その他のコンピュータ構成要素間の適当な通信を可能にするためのアドレス接続、制御接続、および／またはデータ接続を含んでもよい。
【００２７】
コンピューティングデバイス１００は、プロセッサ１０６も含み、プロセッサ１０６は、ソフトウェア、特に、メモリ１０８に記憶されたソフトウェアを実行するためのハードウェアデバイスである。プロセッサは、任意のカスタムメイドのまたは市販の汎用プロセッサ、中央処理装置（ＣＰＵ）、（マイクロチップもしくはチップセットの形態の）半導体ベースのマイクロプロセッサを含む市販のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは他のプログラマブルロジックデバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア構成要素、状態機械、または当業者に知られている、ソフトウェア命令を実行するために設計された、これらの任意の組み合わせとすることができる。
【００２８】
メモリ１０８は、揮発性メモリ要素（例えば、ランダムアクセスメモリ（ＲＡＭ、例えば、ＤＲＡＭ、ＳＲＡＭ、またはＳＤＲＡＭなど））および不揮発性メモリ要素（例えば、ＲＯＭ、ＥＰＲＯＭ、フラッシュＰＲＯＭ、ＥＥＰＲＯＭ、ハードドライブ、磁気テープもしくは光学テープ、メモリレジスタ、ＣＤ−ＲＯＭ、ＷＯＲＭ、ＤＶＤ、低価格ディスク冗長アレイ（ＲＡＩＤ：ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｅｘｐｅｎｓｉｖｅ  ｄｉｓｋｓ）、別の直接アクセス記憶デバイス（ＤＡＳＤ：ｄｉｒｅｃｔ  ａｃｃｅｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）、または任意の他の磁気、抵抗もしくは相変化不揮発性メモリ）のうちのいずれか１つ、またはこれらの組み合わせを含むことができる。さらに、メモリ１０８は、電子記憶媒体、磁気記憶媒体、光学記憶媒体、および／または他のタイプの記憶媒体を組み込んでもよい。メモリ１０８は、様々な構成要素が互いから離れて位置しているが、プロセッサ１０６によってアクセスされることもできる分散アーキテクチャを有することができる。さらに、メモリ１０８は、デバイスから離れていてもよく、例えば、コンピューティングデバイス１００によってリモートでアクセス可能な、サーバまたはクラウドベースのシステムなどにあってもよい。メモリ１０８は、プロセッサ１０６がメモリ１０８から情報を読み出すこと、およびメモリ１０８に情報を書き込むことができるように、プロセッサ１０６に結合される。代替案において、メモリ１０８は、プロセッサ１０６と一体であってもよい。別の例において、プロセッサ１０６およびメモリ１０８は、両方とも単一のＡＳＩＣまたは他の集積回路に存在してもよい。
【００２９】
メモリ１０８内のソフトウェアは、オペレーティングシステム１１０およびアプリケーション１１２を、コンピュータ可読プログラムコードがその中に具現化された非一時的なコンピュータ可読媒体の形態で含む。ソフトウェアは、任意で、各々が１つまたは複数の別個のコンピュータプログラムを含み得る手書き認識（ＨＷＲ：ｈａｎｄｗｒｉｔｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ）システム１１４をさらに含む。これらの各々は、論理機能を実装するための実行可能な命令の順序付けされたリストを有する。オペレーティングシステム１１０は、アプリケーション１１２（およびＨＷＲシステム１１４）の実行を制御する。オペレーティングシステム１１０は、任意のプロプライエタリオペレーティングシステム、または市販のもしくは自由に利用可能なオペレーティングシステム、例えば、ＷＥＢＯＳ、ＷＩＮＤＯＷＳ（登録商標）、ＭＡＣおよびＩＰＨＯＮＥ  ＯＳ（登録商標）、ＬＩＮＵＸ、ならびにＡＮＤＲＯＩＤであってもよい。他のオペレーティングシステムも利用され得ることが理解される。あるいは、本システムおよび本方法のアプリケーション１１２は、オペレーティングシステムを使用せずに提供されてもよい。
【００３０】
アプリケーション１１２は、ユーザ入力（後で詳細に論じられる）のレイアウトの検出、管理および処理に関連する、１つまたは複数の処理要素を含む。ソフトウェアは、手書き認識、異なる機能、または両方に関連する、１つまたは複数の他のアプリケーションも含んでもよい。他のアプリケーションのいくつかの例は、テキストエディタ、電話ダイヤル装置、連絡先ディレクトリ、インスタントメッセージング機能、コンピュータ支援設計（ＣＡＤ）プログラム、電子メールプログラム、ワードプロセシングプログラム、ウェブブラウザ、およびカメラを含む。アプリケーション１１２、および他のアプリケーションは、製造時にコンピューティングデバイス１００に提供されるプログラムを含み、製造後にコンピューティングデバイス１００へアップロードされた、またはダウンロードされたプログラムをさらに含んでもよい。
【００３１】
サポート能力およびコンプライアンス能力を有するＨＷＲシステム１１４は、ソースプログラム、実行可能なプログラム（オブジェクトコード）、スクリプト、アプリケーション、または実行対象の命令のセットを有する任意の他のエンティティであってもよい。ソースプログラムの場合、プログラムは、オペレーティングシステムに関連して適切に動作するように、コンパイラ、アセンブラ、インタープリタ等を介して変換される必要があり、これはメモリ内に含まれていても、または含まれていなくてもよい。さらに、サポート能力およびコンプライアンス能力を有する手書き認識システムは、（ａ）データのクラスおよび方法のクラスを有するオブジェクト指向プログラミング言語、（ｂ）ルーチン、サブルーチン、および／もしくは関数を有する手続きプログラミング言語、例えば、Ｃ、Ｃ＋＋、Ｐａｓｃａｌ、Ｂａｓｉｃ、Ｆｏｒｔｒａｎ、Ｃｏｂｏｌ、Ｐｅｒｌ、Ｊａｖａ、オブジェクティブＣ、Ｓｗｉｆｔ、およびＡｄａなど、ただし、これらに限定されない、または、（ｃ）機能プログラミング言語、例えば、Ｈｏｐｅ、Ｒｅｘ、Ｃｏｍｍｏｎ  Ｌｉｓｐ、Ｓｃｈｅｍｅ、Ｃｌｏｊｕｒｅ、Ｒａｃｋｅｔ、Ｅｒｌａｎｇ、ＯＣａｍｌ、Ｈａｓｋｅｌｌ、Ｐｒｏｌｏｇ、およびＦ＃、ただし、これらに限定されない、として書かれ得る。あるいは、ＨＷＲシステム１１４は、デバイス、例えば、サーバまたはクラウドベースのシステムなどから離れているが、コンピューティングデバイス１００の前述された通信Ｉ／Ｏデバイスを使用して、通信リンクを通じてコンピューティングデバイス１００によってリモートでアクセス可能な手書き認識システムとの通信のための方法またはシステムであってもよい。さらに、アプリケーション１１２およびＨＷＲシステム１１４は、一緒に動作しても、または単一のアプリケーションとして組み合わされてもよい。またさらに、アプリケーション１１２および／またはＨＷＲシステム１１４は、オペレーティングシステム１１０内に一体化されてもよい。
【００３２】
入力面１０４上で、または入力面１０４を介して、入力されたストロークは、プロセッサ１０６によってデジタルインクとして処理される。ユーザは、指を用いて、または入力面に対する使用に適したいくつかの器具、例えば、ペンまたはスタイラスなどを用いて、ストロークを入力し得る。ユーザは、入力面１０４の近くの動きを感知し、もしくは撮像する技術が使用されている場合、入力面１０４の上でジェスチャを行うことによって、または、コンピューティングデバイス１００の周辺デバイス、例えば、マウスもしくはジョイスティックなどを用いて、または投影されたインターフェース、例えば、ストローク信号およびジェスチャ信号を決定するための受動平面の画像処理を用いても、ストロークを入力し得る。ストロークは、少なくともストローク開始ロケーション、ストローク終了ロケーション、およびストローク開始ロケーションとストローク終了ロケーションとを接続するパスによって特徴づけられる。パスに沿った複数のサンプルポイントにおけるタイミング、圧力、角度などのさらなる情報も、ストロークのより深い詳細を提供するためにキャプチャされ得る。当然ながら、異なるユーザが、同じオブジェクト、例えば、文字、形状、シンボルをわずかなバリエーションを有して書くので、ＨＷＲシステムは、各オブジェクトが正確なまたは意図されたオブジェクトとして認識されつつ入力され得る多種多様な手法に適応する。
【００３３】
図２は、ＨＷＲシステム１１４の一例の、そのローカルの（すなわち、デバイス１００にロードされた）形態、またはリモートの（すなわち、デバイス１００によってリモートでアクセス可能な）形態の概略的な図である。ＨＷＲシステム１１４は、前処理１１６、認識１１８および出力１２０などの段階を含む。前処理段階１１６は、より高い精度を達成するためにデジタルインクを処理し、認識段階１１８の期間中の処理時間を低減する。この前処理は、サイズ正規化および／または入力を平滑にするための、Ｂスプライン近似などの方法を適用することによって、ストローク開始ロケーションとストローク終了ロケーションとを接続するパスの正規化を含み得る。次いで、前処理されたストロークは、認識段階１１８へ渡され、認識段階１１８は、そのストロークを処理して、そのストロークによって形成されたオブジェクトを認識する。次いで、認識されたオブジェクトは、概して、手書きの要素／文字の活字化されたバージョンとして、ディスプレイ１０２へ出力される１２０。
【００３４】
認識段階１１８は、異なる処理要素またはエキスパートを含んでもよい。図３は、認識段階１１８の概略的な詳細を示す、図２の例の概略的な図である。３つのエキスパート、すなわち、セグメント化エキスパート１２２、認識エキスパート１２４、および言語エキスパート１２６が例示されており、これらは、ダイナミックプログラミングを通じて協働して、出力１２０を生成する。
【００３５】
セグメント化エキスパート１２２は、表現、例えば、単語、数学的方程式、または形状のグループを形成するために、入力ストロークを個々の要素仮説へ、例えば、英数字文字および数学演算子、テキスト文字、個々の形状、またはサブ表現へセグメント化するための様々な手法を定義する。例えば、セグメント化エキスパート１２２は、元の入力の連続するストロークをグループ化することによって要素仮説を形成して、セグメント化グラフを取得してもよく、セグメント化グラフにおいて、各ノードは、少なくとも１つの要素仮説に対応しており、要素間の隣接性制約は、ノード接続によって取り扱われる。あるいは、セグメント化エキスパート１２２は、異なる入力タイプ、例えば、テキスト、図面、方程式、および楽譜などについて、別個のエキスパートを採用してもよい。
【００３６】
認識エキスパート１２４は、分類子１２８によって抽出された特徴の分類を提供し、セグメント化グラフの各ノードについての確率または認識スコアと共に要素候補のリストを出力する。この認識タスクに取り組むために使用され得る多くのタイプの分類子、例えば、サポートベクトルマシン、隠れマルコフモデル、またはニューラルネットワーク、例えば、多層パーセプトロンネットワーク、ディープネットワーク、畳み込みネットワークもしくは再帰型ニューラルネットワークが存在する。その選択は、タスクについての所望の複雑さ、精度、および速度に依存する。
【００３７】
言語エキスパート１２６は、言語モデル（例えば、文法または意味論）を使用して、セグメント化グラフ内の異なるパスについての言語的意味を生成する。エキスパート１２６は、他のエキスパートによって提案された候補を、言語情報１３０に従ってチェックする。言語情報１３０は、辞書、正規表現等を含むことができ、言語モデルを実行するために言語エキスパート１２６によって使用されるあらゆる静的データのための記憶装置である。言語モデルは、所与の言語に関する統計情報に依拠することができる。言語情報１３０は、認識の結果およびユーザインタラクションに応じた適合の有無に関わらず、オフラインで計算され、言語エキスパート１２６へ提供される。言語エキスパート１２６は、最良の認識パスを発見することを目的とする。一例において、言語エキスパート１２６は、これを、言語モデル、例えば、言語情報１３０の内容を表す最終状態オートマトン（ＦＳＡ：ｆｉｎａｌ  ｓｔａｔｅ  ａｕｔｏｍａｔｏｎ）などを探索することによって行う。辞書制約に加えて、言語エキスパート１２６は、セグメント化グラフの所与のパスの解釈の言語的尤度を評価するために、要素の所与のシーケンスが、特定された言語において、どのくらいの頻度で出現するか、またはどのくらいの頻度で特定のユーザによって使用されるかについての統計情報モデリングを有する言語モデルを使用してもよい。
【００３８】
本システムおよび本方法は、デバイス１００に対する手書き入力を認識するために、ＨＷＲシステム１１４を利用する。前述されたように、アプリケーション１１２は、認識されたユーザ入力のレイアウトを取り扱うためのアプリケーションを含む。そのようなアプリケーションは、異なる処理を取り扱うために別個の層を有するアーキテクチャにおいて提供され得る。これらの層のうちの１つまたは複数は、前述された通信チャネルを介してアクセス可能なデバイス１００から遠隔にあってもよい。層は、アプリケーションラッパー、プラットフォームラッパーおよび（プラットフォーム固有の）アプリケーションユーザインターフェースを含んでもよい。
【００３９】
本システムおよび本方法によって提供されるアプリケーション１１２は、ユーザ、例えば、学生、学者および実務専門家などが、講義中、会議中、およびブレーンストーミングセッション中に、ユーザが自身の携帯用または非携帯用コンピューティングデバイス上で共有可能なフォーマットされた文書に転換することができる、手書きノートを取ることを可能にする。このアプリケーションは、ユーザのコンピューティングデバイスを使用して適切に検索され、記憶され得る「クリーンな」ノートを取ることを可能にする。本システムおよび本方法は、自然な書き込みが入力されることをさらに可能にする。なぜならば、書き込みは、（罫）線上で行われ、段落および他のレイアウト要素は、向き（すなわち、縦向きまたは横向き）およびデバイス表示能力に応じて尊重されるからである。キャプチャされたノートのデバイス間での同期、およびノートの自動保存もサポートされる。オンデマンドでの、またはオンザフライでの、ＨＷＲシステムを介した手書きのノートの活字化もサポートされる。例えば、その全内容が参照によって本明細書に組み込まれる、本出願人に譲渡された特許文献６において説明されているシステムおよび方法などを用いて、認識された活字化されたテキストとデジタルインクとの両方を検索することも、オンザフライでのインデックス化を含めて、サポートされる。様々なフォーマット、例えば、テキスト、Ｌａｔｅｘ、ＨＴＭＬ、画像、ｐｄｆ等へのエキスポートオプションもサポートされる。これらの態様および他の態様が、ここで説明される。
【００４０】
アプリケーション１１２は、レイアウト定義および保持を可能にする構造化された内容を提供するように、文書および文書要素の定義および取り扱いのためのフレームワークを利用する。この文書モデルは、異なるタイプの文書要素を取り扱い、これらは、ＨＴＭＬ５リファレンスにより最も良く説明されており、例えば、Ｗ３Ｃ  ＨＴＭＬ５  ＤＯＭ  −  コンテンツの種類：ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｈｔｍｌ５／ｄｏｍ．ｈｔｍｌ＃ｋｉｎｄｓ−ｏｆ−ｃｏｎｔｅｎｔを参照されたい。アプリケーション１１２によって利用される文書モデルは、ＨＴＭＬ仕様を再現したものではなく、むしろＨＴＭＬ仕様から着想を得たものである。文書モデルの要素のサブセットは、フロー、セクション化、ヘディング、フレージング、埋め込みおよびインタラクティブである。
【００４１】
フローに関して、文書の本体およびアプリケーションにおいて使用されるほとんどの要素は、フローコンテンツとして分類される。コンテンツフローは、基本的には、ちょうどＨＴＭＬ  ＤＯＭのように機能し、メインテキストビューへと垂直にレンダリングされるノードの構造化されたツリーである。すべての入力は、デフォルトでコンテンツフローに入り、文書の上部から流れ、左から右へ書く言語については左詰めにされ、または右から左へ書く言語については右詰めにされる。セクション化コンテンツは、ヘディングおよびフッターの範囲を定義するコンテンツである。ヘディングコンテンツは、（セクション化コンテンツ要素を使用して明示的にマークアップされているか、またはヘディングコンテンツ自体によって示唆されるかに関わらず）セクションのヘッダーを定義する。フレージングコンテンツは、文書のテキストであり、そのテキストを段落内レベルでマークアップする要素でもある。フレージングコンテンツの連なりが、段落を形成する。埋め込みコンテンツは、別のリソースを文書内へインポートするコンテンツ、または文書内へ挿入される別のボキャブラリからのコンテンツである。インタラクティブコンテンツは、ユーザインタラクションのために特に意図されたコンテンツである。これらの文書要素、および他の要素は、コンテンツに関して文書モデルにおいて利用される。
【００４２】
アプリケーション１１２の文書モデルおよび特徴の最初の態様は、ユーザによる手書きノートおよび他のコンテンツの入力のための効果的で無限の垂直スクロールインターフェースの提供である。千年前には、コンテンツは、読むため／書くために広げられる巻物に書かれていた。古写本（書物の原型）は、大きな巻物がページへと切断され、それによって、巻物を始めから終わりまで広げる代わりに、コンテンツの任意の部分に対するランダムでより高速なアクセスを提供するというユーザ体験最適化に基づいて、発明された。これは、書かれたコンテンツの記録を完全かつ恒久的に変化させ、書物は、過去千年間にわたって唯一のコンテンツホルダーであった。しかしながら、書き込みが動的な画面インターフェース上で実行される現在のデジタル時代は、異なるパラダイムが採用される可能性を提供する。したがって、ノートテイキングアプリケーションおよび関連付けられたユーザインターフェースは、ページパラダイムを盲目的に模倣する必要はなく、むしろ、単にページめくることまたは（無限の）スクロールを上回る特徴または改良された特徴を提示する解決策が評価されるべきである。
【００４３】
従来の手書きノートテイキングアプリケーションは、実際の世界のページを真似て、分離され、かつ寸法が固定されたページに基づいている。この「カード」アプローチは、ユーザがスクリーン上で手書きを使用してコンテンツを作成することを直観的に受け入れるためには便利であるが、下記のような、すべてが無限の高さを有する他のデジタル文書コンテキストには馴染まない。
【００４４】
自由にスクロール可能であることを重視するウェブサイト
【００４５】
ページ番号が付けられ、自由にスクロール可能であるｅＰｕｂ
【００４６】
自由にスクロール可能なページと共にページ番号付けを使用するテキストエディタ。
【００４７】
既存のデジタルノートテイキングアプリケーションのユーザは、テキストの並べ替えおよび制御されないテキスト／オブジェクト位置と共に、編集時にテキストがどのように振る舞うかを理解するのに問題を有するということに本出願人は気づいた。そのようなアプリケーションの使用についての学習曲線を低下させるために、手書きは、ユーザが慣れ親しんだものにより近づけるべきである。つまり、同じモデル、振る舞いおよび無限のスクロール可能なページを有する、テキスト編集ソフトウェア／ウェブサービスにおいて、キーボードを用いて書くことである。いかなるデジタルデバイスユーザも、（読む際または書き込む際の）スクローリングに既に慣れている。スクローリングは、タッチデバイス上での自然で直観的なパターンでもある。手書きノートテイキング環境における迅速な解決策は、下記のように、ページがレイアウトされる手法をほんの少し変化させることであろう。
【００４８】
固定されたページサイズ（コンテンツを作成する場合に、デバイス画面またはビューポートによって定義される）
【００４９】
垂直に積み重ねられたページ
【００５０】
ページ番号を付けられたコンテンツを好むユーザのために、改ページを可能にすること
【００５１】
スクロールを好むユーザのために、自由な垂直のスクロールを可能にすること。
【００５２】
しかしながら、そのような解決策は、これまでに論じられたすべての問題に対処するわけではない。例えば、ユーザは、活字化する場合に、依然としてレイアウトの問題に直面するであろう。したがって、本システムおよび本方法のノートテイキングアプリケーションは、無限の高さの単一ページを特徴とした純粋な垂直のスクロールモデルを利用するので、活字化と１００％互換性のある解決策を提供する。このモデルは下記を可能にする。
【００５３】
ユーザが、デジタル文書と同じように、無限のページまたは「スクロールページ」上に書くこと。ただし、
【００５４】
ユーザは、固定されたページサイズによって限定されない。
【００５５】
スクロールページは、例えば、１つのフラグメントが約５００以上のセクションとなる状態で、フラグメントへとスライスされ得る。
【００５６】
大きなスクロールページのコンテンツをロードするための時間は約５０ミリ秒である。
【００５７】
ユーザは、デバイスインターフェースのタッチ感知面上で、またはタッチ感知面の上で、ジェスチャを使用して、例えば、２本の指を使用するなどして、スクロールすることができる
【００５８】
ユーザがページモード表示を選択すること。ただし、
【００５９】
無限のページは、セクションへと分けられる。
【００６０】
セクションを互いの上に重ねて表示すること、または垂直なページのしっかりとした視覚的なセパレータとして、セクション間にトップマージンおよびボトムマージンを表示することとの間で選択するために、視覚化オプションが提供される
【００６１】
デバイスのサイズ／向きとは無関係に、ノートが正確に表示される、応答型ディスプレイ
【００６２】
ユーザが、ナビゲーションを介して、既存のコンテンツおよびセクションを簡単に発見すること
【００６３】
既存のノートをスクロールページへ完璧に変換すること。
【００６４】
垂直のスクロールをデジタルノートテイキングに対して使用することは、すべてのテキストが、絶対的に配置されたブロックの代わりに、ちょうどＨＴＭＬページまたはワードプロセシング文書のように垂直に流れる状態で、コンテンツフローにおいて書き込みが実行されることを意味する。デフォルトで、垂直なコンテンツの順序は、モデル構造を定義し、あらゆるレイアウト変化は、下方のすべてのコンテンツに影響を与え、押し下げ、または引き上げる。したがって、ユーザによるレイアウトに対するこれらの変化は、考慮され、考えに入れられなければならない。しかしながら、ユーザには、依然として、ページのいかなる場所にも、すなわち、垂直にも水平にも書き込み、二次元のオブジェクトを作成し、物体をあちこちへ移動させ、オンザフライでレイアウトを作成するための能力が提供されるべきである。しかしながら、これらの能力は、「パーフェクトな」見た目の応答型の文書が作成されるように、バランスが保たれる必要がある。これは下記を意味する。
【００６５】
すべての入力が、コンテンツフローに入ること
【００６６】
マージンからオフセットして書き込むことは、コンテンツフローにアンカリングされるフローティングブロックを作成すること
【００６７】
文書モデルは、フローティングブロックの応答型レイアウトを取り扱うために、不可視のコンテナノードを作成することができる。
【００６８】
文書モデルは、レイアウト／モデル変化をリアルタイムで反映するために、コンテンツをノード／フラグメントから別のものへ規則的編集し、移動させる。
【００６９】
すべての段落／ブロックが、（並べ替えアクションおよび活字化／美化と共に）コンテンツ入力中に、（垂直および水平の）グリッドへ揃えられる。
【００７０】
本システムおよび本方法のこれらの特徴および他の特徴が、ここで詳細に説明される。図４は、例示的なコンピューティングデバイス１００の入力面１０４の一部上のスクロールページ４００の例示的な視覚的レンダリングの概略図を示す。スクロールページ４００は、あらゆるコンテンツ入力が実行される編集ビューにおいて示されている。他のビューは、文書構造の編集およびノートブックナビゲーションのために使用され得る。ユーザインターフェース（ＵＩ）制御（後で説明される）を提供することに加えて、編集ビューの主な目的は、デバイス１００のディスプレイ１０２から垂直にオーバーフローする全幅ページを提供することである。無限のスクロールページ４００は、柔軟な高さのページを具現化する。（特に、より小型のデバイス上での）ユーザ用の書き込み空間を最大化するために、空のスクロールページは、少なくとも編集ビュー全体の高さを占めるように定義される。
【００７１】
編集ビュー（および、必要に応じて、他のビュー）において、上部パディング４０２、左側マージン４０４および右側マージン４０６を含む、いくつかのページ要素が表示される。パディングおよびマージンは、ガイド要素としての線パターン背景４１０を有する入力領域４０８を画定する。線パターン４１０は、密度非依存ピクセル（ｄｐ：ｄｅｎｓｉｔｙ  ｉｎｄｅｐｅｎｄｅｎｔ  ｐｉｘｅｌ）である、バーティカルリズム高さユニットの倍数によって分離された、複数の実質的に平行な（水平な）線を有する。特定のデバイス１００に関わらず、水平線４１０間の垂直距離は、線パターンユニット（ＬＰＵ：ｌｉｎｅ  ｐａｔｔｅｒｎ  ｕｎｉｔ）によって定義され、バーティカルリズム高さユニットは、特定のデバイス上でのＬＰＵの段階的な測定基準を提供する。例えば、ＬＰＵは、任意のデバイスについて垂直のリズム高さユニットの一定の倍数である約１センチメートルに設定されてもよく、または、ユーザは、自身の書き込みスタイルに従って、バーティカルリズム高さユニットの異なる倍数に線パターンユニットをカスタマイズすることを可能にされてもよい。あるいは、バーティカルリズムは、活字化されたテキストサイズ（例えば、最小のテキストサイズ）に基づいてもよく、ＬＰＵは、この活字化されたテキストサイズの倍数として提供される。すべての線４１０は、目に見える状態とぼやけた状態とのちょうど間である、非常に明るくて薄い同じ色、例えば灰色で表示される。このように、線パターンは、ノートテイキング自体から注意をそらさずに手書き入力をガイドするように、顕著ではあるが、目立たない。線パターン背景４１０は、手書きのテキストコンテキストにおいて表示され、複数の目的を果たす。
【００７２】
手書き認識が最適化されるように、ユーザに、線パターン背景４１０上に書かせる
【００７３】
ユーザが規則的なバーティカルリズムでの書き込みを採用するのに役立ち、同じ書き込みサイズ、ならびに、よりよいブロック寸法および位置（後で説明される）をもたらす
【００７４】
期待されるコンテンツに関するヒントをユーザに与える。例えば、図面および方程式などの他のコンテキストのために専用の背景が表示され得る
【００７５】
ユーザが段落（後で説明される）を定義するために線スキップを制御することに役立つ。
【００７６】
上部パディング４０２は、任意の新しいページまたはセクションに表示され、線パターン背景を含まない。これは、ユーザが適切な垂直線間で、すなわち、インターフェース１０４の境界線に近づきすぎず、かつ、セクションタイトルおよびタグ付けなどの他の要素のための余地を残して書くことに役立つ。上部パディング４０２は、ＬＰＵの倍数によって定義され、例えば、図４の例において、上部パディングはＬＰＵの２倍である。
【００７７】
左側マージン４０４および右側マージン４０６は、垂直線により表示される。図４の例において、これらの線は、色および定義の点で線パターン４１０と同様であるが、これらの線は、所望の場合には、よりくっきりと表示されてもよい。垂直線マージンは、対応する左側および右側の「ページ」エッジからバーティカルリズムユニットの倍数で配置される。この倍数は、特定のデバイス１００に応じて変化し、異なるマージン幅計算を定義する。例示的な倍数が、表１において詳しく示されている。
【００７８】
【表１】
2018533782.tif 000003
【００７９】
あるいは、マージンの幅は、バーティカルリズムユニットによるよりも、むしろデバイス１００のインターフェース１０４の幅の割合に基づいて、定義されてもよい。このように、マージンの相対的なサイズは、デバイス１００および／またはディスプレイ１０２の向きと無関係に定義される。
【００８０】
マージン４０４、４０６は、手書きのテキストコンテキストにおいて表示され、複数の目的を果たす。
【００８１】
ユーザが、書き言葉の方向のための適切なアライメントで、かつ、インターフェース境界に近づきすぎずに書くことに役立つ
【００８２】
右側マージンおよび／または左側マージン内でのシングルポイントスクロールを確保する（後で説明される）。
【００８３】
コンテンツタグ付けのために左側マージンおよび／または右側マージンにおいて専用のゾーンを提示する
【００８４】
スクロールページ上でのコンテンツ入力のセクションを定義するためにジェスチャをスライスするための左側マージンおよび／または右側マージンにおいて専用のゾーンを提示する。
【００８５】
図４の例において、マージン４０４、４０６は、上部パディング４０２内には表示されておらず、第１の線パターン４１０の水平線から開始している。しかしながら、所望の場合には、マージンは上部パディング内へ伸びてもよい。さらに、線パターン４１０は、マージン要素においては、これらの領域に書き込むことを阻むために表示されない。しかしながら、注釈等のためにマージンに書き込むことを可能にすることが望ましい場合がある。あるいは、マージンは、ページ４００の水平の範囲とのホバーオーバーもしくは接触インタラクションでのみ表示され、または完全に省略され、それによって、例えば、画面／ＵＩエッジにあまり近づいて書かないようにする、ユーザの自然な手書き上の振る舞いに依拠してもよい。
【００８６】
図５Ａから図７Ｂは、デバイス１００のインターフェース１０４に関する、様々なスクロールされた位置における入力コンテンツを有する、および有しないスクロールページ４００の例示的な視覚的レンダリングの概略図を示す。本例において、空のスクロールページのデフォルト高さは、上部パディング４０２を補償し、かつユーザによってアプリケーション１１２のスクロール機能を発見可能にするように、インターフェース１０４の高さよりもわずかに大きい。空のページの高さは、編集ビューがインターフェース１０４の視認可能な領域１３２の下方へ伸びるように、編集ビューの高さに上部パディングの高さを加えることによって定義される。つまり、図５Ａに示されるように、空のスクロールページは、視認可能な領域１３２内にパディング４０２を有し、視認可能な領域の外側に伸長領域４１２を有する。図５Ｂにおいては、パディング４０２が、視認可能な領域１３２の外部となり、伸長領域が、いまや視認されるスクロールページ４００の一部となるように、空のスクロールページは、マルチポイントスクロールジェスチャＡ（後で説明される）を使用して、上方へスクロール済みである。この空のページ高さは、異なる画面サイズを有する他のデバイス上でスクロールページがレンダリングされる場合には、適合される。
【００８７】
コンテンツ入力が発生するときはいつでも、ページ高さは、それに応じて伸び、用紙サイズ制限を除去することによって、中断されない手法での書き込みを提示するようにスクロール可能なままである。つまり、図６Ａに示されるように、入力コンテンツＢの高さは、コンテンツ領域４１４を画定し、さらなる伸長領域４１６は、同じ寸法を有して、スクロールページ４００の底部において画定される。このように、どのようなコンテンツが入力されても、ユーザは、それをビューの外側へ押し上げて、（図６Ｂに示されるように）新しいセクションを作成する必要なしに、書き込み空間を「クリアする」ことができ、また、コンテンツを全く書き込まなくても、ユーザがスクロールページ４００のナビゲート可能な態様を理解するように、ページはスクロール可能である。
【００８８】
任意のコンテンツ入力は、ページ特性をリアルタイムで（または、できるだけ速やかに）更新し、ユーザがコンテンツをスクロールし、ビューの外側へ押し出すことを可能にする。ページ高さの拡大は、コンテンツ入力高さと等しい（最初の線の上部から始まり、最後の線の底部まで＝線の数＋１）。これは、タブレット上で、例えば以下を与える。
【００８９】
線１つ分のコンテンツ：（１＋１）×バーティカルリズムユニット＝２×４８＝９６ｄｐ
【００９０】
線２つ分のコンテンツ：（２＋１）×バーティカルリズムユニット＝３×４８＝１４４ｄｐ
【００９１】
線４つ分のコンテンツ：（４＋１）×バーティカルリズムユニット＝５×４８＝２４０ｄｐ
【００９２】
など．．．
【００９３】
コンテンツ入力は、最上部の位置からのオフセットを有して、ページ４００の任意の位置において発生することがあり、またはページ上の任意の位置への入力の後に移動されることもある。つまり、図７Ａに示されるように、上部パディング４０２からの入力コンテンツＢのオフセットＣの高さは、オフセット領域４１８を画定し、さらなる伸長領域４２０は、同じ寸法を有して、スクロールページ４００の底部において画定される。このように、どのようなコンテンツが入力されても、（図７Ｂに示されるように）ユーザはそれをビューの外側へ押し上げて、新しいセクションを作成する必要なしに、書き込み空間を「クリアする」ことができる。したがって、ページ高さの拡大は、コンテンツオフセットと一体化し、タブレット上で、例えば以下を与える。
【００９４】
線１つ分のオフセットを有する線１つ分のコンテンツ：（（１＋１）＋（１））×バーティカルリズムユニット＝３×４８＝１４４ｄｐ
【００９５】
線３つ分のオフセットを有する線２つ分のコンテンツ：（（２＋１）＋（３））×バーティカルリズムユニット＝６×４８＝２８８ｄｐ
【００９６】
線２つ分のオフセットを有する線４つ分のコンテンツ：（（４＋１）＋（２））×バーティカルリズムユニット＝７×４８＝３３６ｄｐ
【００９７】
など．．．
【００９８】
垂直のスクロールは、ユーザの指と（デバイスがパッシブスタイラスおよびアクティブスタイラスを定義する）スタイラスもしくはペンとを区別するコンピューティングデバイス１００の能力、または、スタイラスが手書きのために使用されているとデバイスに対して示し、もしくは通信するスタイラスの能力、またはユーザがそのような標識を提供する能力に依存して、別様に取り扱われ得る。デフォルトで、および区別しないデバイスにおいて、入力領域４０８内の任意のシングルポイントタッチまたはホバーイベントは、コンテンツ入力と見なされるべきである。したがって、ユーザが新しいコンテンツを入力せずにページ４００をスクロールするために、マルチポイントインタラクション、例えば、図８に示される、ほぼ同時にインターフェース１０４にタッチし、またはホバリングする２本の指を使用したマルチポイント垂直スクロールジェスチャＡなどは、入力領域上のいかなる場所でも使用され得る。
【００９９】
しかしながら、マルチポイントインタラクションを強制せずにスクロールを可能にするために、専用の領域がマージンのうちの１つまたは複数において画定されてもよく、例えば、図８において、右側マージン４０６は、スクロールゾーン４２２により画定される。このゾーンで始まり、（全体的にまたは部分的に）このゾーン内で発生する後続の移動を有するシングルポイントジェスチャＤ（図８において、インターフェース１０４にタッチし、またはインターフェース１０４の上でホバリングする、１本の指またはスタイラスジェスチャとして示されている）は、コンテンツ入力とは見なされないが、スクロールジェスチャと見なされる。スクロール領域の幅は、マージン幅によって定義されてもよく、またはマージン幅とは無関係であってもよい。例えば、マージンの応答型のサイズ変更（例えば、より大きなデバイスでは、より広くなる）があったとしても、スクロール領域が同じままであるように、スクロールゾーンは、ユーザの指およびスタイラス先端（約４８ｄｐ）のタッチ目標寸法によって画定されてもよい。
【０１００】
（任意の場所でのマルチポイントであれ、またはマージン領域内でのシングルポイントであれ）スクロールシーケンスが起動されると、ページが移動することを止めるまで、スクロールは、任意の場所でのシングルポイントジェスチャだけを使用して継続され得る。例えば、指とスタイラスとを区別することができるデバイスを使用し、もしくはスタイラスの使用をデバイスに対して示すスタイラスを使用し、またはユーザがこの標識を提供し、そのようにして、コンテンツ入力のためのアクティブスタイラスを定義する場合、マルチポイントインタラクションは必要ではなく、スクロールは、インターフェース面１０４上の任意の場所での１本の指の垂直スクロールジェスチャにより利用可能である。
【０１０１】
スクロールページ４００は、書き込み入力中に自動的にスクロールされない。これは、ユーザがページ位置を制御することを可能にする。しかしながら、ユーザが、選択されたコンテンツを視認可能な領域の上部エッジまたは底部エッジの近くにドラッグして、無限のページ上の任意の場所へドロップすることを可能にする場合には、自動的なスクロールが発生する。つまり、任意のタイプのコンテンツ（テキストまたはオブジェクト）を選択する場合に、ユーザは、ページの可視部分の上方または下方を含む、そのページ上の任意の場所へ、そのコンテンツを再配置したいと欲することがある。図９に示される例においては、コンテンツ４２４が（後で説明される手法で）選択され、次いで、（ドラッグの連続表示と共に）ドラッグされ、またはプッシュされて、選択中および／またはドラッグ／プッシュ中に一時的に定義された、視認可能な領域１３２の上部エッジまたは底部エッジの近くの自動スクロール領域４２６へ、選択されたコンテンツを移動させる。コンテンツが、スクロールエリア４２６内へドラッグされる／プッシュされると、スクロールページ４００は、ドラッグ位置に結び付けられたスクロール速度でスクロールされ、すなわち、ページ４００のエッジに近ければ近いほど、ページが速くスクロールされる。コンテンツがドロップされない限り、上部自動スクロール領域／底部自動スクロール領域の両方が、例えば、スクロールしすぎた場合に、ユーザが反対方向にスクロールすることを可能にするようにアクティブである。コンテンツがドロップされ、ドラッグ／プッシュシーケンスが終了した場合、上部自動スクロール領域／底部自動スクロール領域は、視認可能なページ全体上でコンテンツ入力が再度有効化されるように、無効化される。
【０１０２】
スクロールページは、ユーザがサイズ設定またはアライメントについて心配せずに任意の場所でオブジェクトブロック（テキスト、図面等のブロック）を作成することを可能にする、制約なしのキャンバスのいずれかとして提供され得る。しかしながら、構造化されたコンテンツを含む、専門的にフォーマットされた文書を提供するために、（入力時に、またはユーザインタラクションに沿って）すべてのコンテンツがアライメントされる／画定されるべきアライメントパターンが画定されてもよい。本システムおよび本方法の一例において、アライメントパターンは、デバイスサイズ／向きに応じて定義され、それ自体は表示されないが、コンテンツ要素のアライメントを定義するためにアプリケーション１１２によって使用される。ここで、例示的なアライメントパターン１０００の様々な要素が、図１０から図１４を参照しつつ説明される。
【０１０３】
アライメントパターン１０００は、デバイス１００のインターフェース１０４のエッジのあまり近くにコンテンツが入力されることを防止する、左側パディング領域および右側パディング領域１００２を有する。パディング領域１００２のサイズは、ルート要素フォントサイズ（レム）、例えば、＜ｈｔｍｌ＞要素のフォントサイズに関連するテキストサイズに基づく。ＣＳＳスタイリング（例えば、ｈｔｔｐｓ：／／ｄｅｖｅｌｏｐｅｒ．ｍｏｚｉｌｌａ．ｏｒｇ／ｅｎ／ｄｏｃｓ／Ｗｅｂ／ＣＳＳ／ｌｅｎｇｔｈを参照）と同様に、レムユニットは、ルート要素のデフォルトフォントサイズを表す（例えば、ウェブブラウザの場合、１レム＝１６ピクセル（ｐｘ））。レムユニットは、応答型バーティカルリズムユニット（ｄｐ）のためにモジュラースケール上に構築されたテキストサイズを有する応答型ユニットと見なされる。レムユニット原理は、ルート要素についてのデフォルトフォントサイズが変化させられる場合、この単一の変化を他のすべての特性が継承し、すべての要素がそれに応じて適合されるということである。しかしながら、ブラウザアプリケーションには、レムユニットをサポートしていないものもあり得るので、そのようなレイアウトは、「ｅｍ」ユニットを代わりに使用して達成されてもよい。ユニットサイズのこの定義は、他の言葉遣いおよび変数と同じ振る舞いを実装するモバイルデバイスオペレーティングシステム（ＯＳ）動的タイプに関連する（例えば、ｈｔｔｐｓ：／／ｄｅｖｅｌｏｐｅｒ．ａｐｐｌｅ．ｃｏｍ／ｌｉｂｒａｒｙ／ｉｏｓ／ｄｏｃｕｍｅｎｔａｔｉｏｎ／ＳｔｒｉｎｇｓＴｅｘｔＦｏｎｔｓ／Ｃｏｎｃｅｐｔｕａｌ／ＴｅｘｔＡｎｄＷｅｂｉＰｈｏｎｅＯＳ／ＣｕｓｔｏｍＴｅｘｔＰｒｏｃｅｓｓｉｎｇ／ＣｕｓｔｏｍＴｅｘｔＰｒｏｃｅｓｓｉｎｇ．ｈｔｍｌ＃／／ａｐｐｌｅ＿ｒｅｆ／ｄｏｃ／ｕｉｄ／ＴＰ４０００９５４２−ＣＨ４−ＳＷ６５を参照）。
【０１０４】
パディング領域１００２間の領域は、利用可能な水平の空間を入力領域４０８として画定する。アライメントパターン１０００は、可変数の列１００４を画定しており、可変数の列はすべて同じ幅であり、パディング１００２（破線により分割されて図示されている）間の利用可能な水平の空間全体を埋めるように柔軟に合わせる。したがって、入力領域４０８は、図１０に示されるように、列１００４へと等しく分割される。列は、ブレークポイントを最小のアプリケーション幅、例えば、アプリケーション１１２が、フルスクリーンで、または縮小された際にはちょうどウィンドウ幅で提供される場合、例えば、デスクトップ／ラップトップ、またはタブレット上の分割スクリーン上などの場合のスクリーン幅の値として単位ｄｐで定義する。
【０１０５】
列のサイズ設定は、列の数に依存し、そのため、列の幅は、利用可能な水平な空間全体、すなわち入力領域４０８の割合によって定義される（例えば、４つの列＝２５％）。列の数は、有意義なレイアウトが提供され得るように、各列内の最小のコンテンツ表示を提供するように提供される。図１１は、異なるデバイスの画面サイズに依存した、異なる列の数のグラフを示す。このグラフに従った、一定のデバイス例は、（フルスクリーンコンテキストにおいて）下記の通りである。
【０１０６】
ｉＰｈｏｎｅ（登録商標）６（縦向き）  ＝３７５ｄｐ  ＝２列
【０１０７】
Ｎｅｘｕｓ６（横向き）＝  ＝７３０ｄｐ  ＝６（または８）列
【０１０８】
ｉＰａｄ  Ａｉｒ（登録商標）（縦向き）  ＝７６８ｄｐ  ＝６（または８）列
【０１０９】
Ｓｕｒｆａｃｅ（登録商標）  Ｐｒｏ３（横向き）  ＝９６０ｄｐ  ＝８列
【０１１０】
ＨＰ（登録商標）  Ｃｈｒｏｍｅｂｏｏｋ  １４インチ（３５．５６ｃｍ）  ＝１３６６ｄｐ  ＝８列
【０１１１】
Ｄｅｌｌ（登録商標）  Ｉｎｓｐｉｒｏｎ（登録商標）２３インチ（５８．４２ｃｍ）  ＝１９２０ｄｐ  ＝１６列
【０１１２】
図１１に示されるデバイスおよび列の数は、応答型レイアウト表示を提供するために列を使用する概念の例示に過ぎない。任意の所与のデバイスに対して、より多くの列またはより少ない列が使用されるように、実際の値は異なってもよい。例えば、大きな画面のデバイス、例えば、大画面テレビ受像器、電子／インタラクティブホワイトボード、および大画面タッチモニタなどの場合、ユーザが、より大きな文字サイズを使用して手書きする傾向は、図１１に例示されているよりも少ない列の数を使用することによって適応されてもよく、小さい画面のデバイス、例えば、スマートフォンなどの場合、ユーザが、正確なスタイラスの使用に起因して、小さい文字サイズを使用して手書きする能力は、図１１に例示されているよりも多い数の列を使用することによって適応されてもよい。ウィンドウサイズを変化させる場合、またはデバイスを回転させる場合、アライメントパターンは、コンテンツが新しい列に適合し、アラインし／スナップしなければならない列を付加し、または取り出す（後で説明される）。様々な列の幅のブロックは、図１２Ａおよび図１２Ｂにおいて詳しく示されている規則を使用して適合される。
【０１１３】
アライメントパターン１０００は、オブジェクトブロックが互いにあまりに近くに配置されることを防止するように、各列１００４の垂直の境界のあたりで左側エッジおよび右側エッジの両方において画定されるガター空間１００６（図１３に示される）をさらに有する。アライメントパターンの他の要素のように、ガター１００６は、レムユニットに関して画定され、オブジェクトブロック１００８のレイアウトが実行される実際のガイドを画定する（図１４を参照）。あるいは、マージンと同様に、ガター幅は、バーティカルリズムユニットによるよりも、むしろデバイス１００のインターフェース１０４の幅の割合に基づいて定義されてもよい。このように、ガターの相対的なサイズは、デバイス１００および／またはディスプレイ１０２の向きとは無関係に定義される。これは、すべてのオブジェクトブロックが、ガターエッジ上にアラインされ／スナップされ、列のエッジ自体およびＵＩページマージン４０４、４０６は、最左端の列のガターおよび最右端の列のガター上に配置されないことを意味する（図１３および図１４を参照）。このように、レイアウト間隔はテキストサイズに依存するので、アライメントパターン要素はすべて、テキスト関連のユニットを使用して定義される。所望の場合には、ガターは省略されてもよく、代わりに、絶対的な列の境界が使用される。
【０１１４】
前述されたように、使用されるメトリックは、入力領域４０８の幅と応答型サイズ設定のためのレムユニットとの両方に基づいている。これらの異なるメトリックは、表２に示されるように関連する。
【０１１５】
【表２】
2018533782.tif 000004
【０１１６】
あるいは、応答型サイズ設定のために、すべてのメトリックが、アプリケーションＵＩ幅、例えば、マージン幅およびガター幅、ならびに入力領域４０８の幅、例えば、列の幅に基づく例においては、異なるメトリックは、例えば、表３に示されるように関連する。表３において、マージン幅およびガター幅についての割合値の各範囲の上限の割合値は、次に最も大きいマージン幅およびガター幅のより低い割合値の対応するｄｐ幅の値によって定義される。例えば、２４０ｄｐのＵＩアプリケーション幅の場合、マージン幅についての上限の割合値１２．５％は３０ｄｐに対応し、これは、４８０ｄｐのＵＩアプリケーション幅についてのマージン幅のより低い割合値６．２５％を提供するための、対応するｄｐ値である。
【０１１７】
【表３】
2018533782.tif 000005
【０１１８】
前述されたように、スナップツーパターン（ｓｎａｐ−ｔｏ−ｐａｔｔｅｒｎ）の振る舞いは、オブジェクトブロックアライメントのために使用される。垂直のスナップは、線パターン４１０を２つの手法で参照することを通じて、すなわち、すべてのオブジェクトブロックの高さがＬＰＵの整数倍となることを確実にすること、または各ブロックの少なくとも上部境界が線パターン背景４１０の次に利用可能な線とアラインされることを確実にすることによって、取り扱われる。前者のケースにおいて、ユーザインタラクションが何であれ（例えば、新規、編集済み、移動済み、サイズ変更済み）、すべてのオブジェクトブロックは常に、ＬＰＵで丸められ、垂直のＬＰＵに従って配置される（例えば、上部境界および底部境界は、線パターン背景４１０とアラインされる）。いずれの手法でも、スナップツーグリッド（ｓｎａｐ−ｔｏ−ｇｒｉｄ）機構のＬＰＵ部分が提供される。水平なスナップの場合、ユーザインタラクションが何であれ（例えば、新規、編集済み、移動済み、サイズ変更済み）、すべてのオブジェクトブロックの左側境界および右側境界は、いずれのケースでも列１００４（またはガター１００６）とアラインされたままである。これは、スナップツーグリッド機構のレイアウト部分を提供する。したがって、垂直なスナップ動作および水平なスナップ動作は、ＬＰＵ（垂直）およびレイアウト（水平）グリッドに対して垂直なアライメントおよび水平なアライメントを提供する。
【０１１９】
あるいは、流動的なインタラクションを提供し、ユーザがレイアウトを制御していることをユーザに感じさせるために、オブジェクトブロックの任意の移動／サイズ変更は、インタラクション中に、リアルタイムで更新され、現在のタッチまたはホバー位置とアラインされてもよい（すなわち、ＬＰＵおよびレイアウトグリッドによりアラインされ、またはスナップされない）。例えば、ブロックのサイズ変更（後で詳しく示される）中に、オブジェクトブロック境界は、たとえそれが列／線の真中にあるかもしれなくても、厳密なタッチまたはホバー位置により更新される。
【０１２０】
他の周囲の要素をリアルタイムで更新して、全体的な結果をプレビューすることに加えて、ユーザは、オブジェクトがＬＰＵおよびレイアウトグリッド上にスナップされると、どのようなレイアウトになるかを示す視覚的フィードバックを有するべきである。１つの考え得るフィードバックは、インタラクション中にインタラクションされたブロックの下に、暗くされた／有色のスナップトツーグリッド（ｓｎａｐｐｅｄ−ｔｏ−ｇｒｉｄ）オーバーレイを表示することであろう。ユーザが、オブジェクトブロックとインタラクションすることを停止すると、すべてのブロック境界は、迅速なアニメーションと共にＬＰＵおよびレイアウトグリッドに対してスナップされる。書き込む場合、ユーザにとっての自由な書き込み体験を保持するように、デバイスインターフェースに関して指またはスタイラスが存在する場所に、テキストが実質的に出現する。しかしながら、段落境界は、何があろうとＬＰＵおよびレイアウトグリッドとアラインされる（後でより詳細に論じられる）。例えば、段落の左側の境界は、最も近い左側のガター１００６とアラインされ、段落の右側の境界は、最も近い右側のガター１００６とアラインされる。さらに、ユーザによる適当な間隔の知覚を支援するために、少なくとも現在の入力列のガター内の線パターン背景の表示は、入力中には省略されてもよい。例えば、４つの列のグリッドの第２の列における入力中に、線パターン背景は、第２の列の左側のガターおよび右側のガターにおいて省略され／マスキングされ、第１の列の右側のガターおよび第３の列の左側の列において、さらに省略され／マスキングされ得る。段落内の特徴、例えば、インデント（例えば、左から右へ書かれる言語の場合、テキストは段落の左側の起点から水平にオフセットされる）などは、ＬＰＵおよびレイアウトグリッドサイズ設定と関連しない段落の各線について、列とアラインされ、または、例えばメモリ１０８において特性として記憶され得る。
【０１２１】
ここで、オブジェクトブロック作成および管理を含む一定の例示的な動作が、図１５から図２４を参照しつつ説明される。これらの図面に示される例は、左から右へ書かれる言語コンテキストにおけるものであり、したがって、位置への任意の参照は、異なる方向フォーマットを有する書き言葉に対して適合され得る。図１５から図２４の各々においては、スクロールページ４００の一部が、デバイスインターフェースの視認可能な領域において描かれたものとして概略的な形態で示されている。スクロールページ４００は、すべての図面（３つの列が描かれる図２２Ｂおよび図２４を除く）において、グリッド１５００の水平線１５０２、および、ページ４００を複数の列１００４に、例えば６つの列に分割する、グリッド１５００の垂直線１５０４によって定義されるアライメントパターン１０００として、線パターン背景４１０から構成された、ＬＰＵおよびレイアウトグリッド１５００と共に示される。スクロールページの上部パディングおよびマージン、ならびにアライメントパターンのパディング領域および列ガターは、説明のしやすさのために、図面（図２２を除く）において省略される。したがって、図２２を除き、説明されたレイアウト要素は、列ガターよりも、むしろグリッド１５００の垂直線１５０４にアラインされて示される。前述されたように、アライメントグリッド自体は、ユーザに対して表示されず、アプリケーション１１２用のオブジェクトブロックのレイアウトの管理のための不可視のガイドとして働く。しかしながら、線パターン背景４１０は、書き込むサイズおよび配置に関するガイダンスを提供するために、ユーザに対して表示されてもよい。
【０１２２】
本システムおよび本方法によって採用されるレイアウト管理は、オブジェクトブロックが定義される手法を取り扱い、一般に単純なジェスチャの使用を通じてユーザによって操作され得る。これは、限定された自動的な振る舞いが存在し、ユーザがコンテンツを望み通りに配置するためのある程度の柔軟性が提供されるように、ユーザがレイアウトを制御しているとユーザに感じさせる手法で行われる。デジタルノートテイキングアプリケーション１１２は、主に、ノートの手書きのキャプチャのためのものであるので、主なオブジェクトブロックは、サブ要素を改行およびライン（alinea）（すなわち、２つの改行間の段落のサブセット）とする、テキストの段落またはテキストブロックであると考慮され得る。段落の管理は、ユーザが複数の段落を作成し、段落を分け、段落を統合し、段落内のコンテンツを除去し、段落を移動させ、段落をサイズ変更するための能力を含む。作成されることが可能であり、特にテキストブロックに関して管理されることが必要な他のオブジェクトブロックは、コンテンツ、例えば、画像、図面および方程式などを含む。
【０１２３】
レイアウト管理は、所望のレイアウトにおいて異なるオブジェクトブロックを作成し、別個のオブジェクトブロックに対して動作を実行するための能力、例えば、下記のものを提供する。
【０１２４】
ブロック／段落の右側または左側へのブロック挿入またはドラッグ／プッシュアンドドロップ（ただし、余白がある場合）
【０１２５】
ブロック／段落の下または上へのブロック挿入またはドラッグ／プッシュアンドドロップ（ただし、余白がある場合）
【０１２６】
段落の内部への挿入（インライン）
【０１２７】
段落間への挿入。
【０１２８】
図１５において、第１の段落は、マージンにアラインされた段落１５０６として示されており、これは、グリッド１５００の左端または第１の垂直線１５０４にアラインされ、グリッド１５００の４本の水平線１５０２、または４つのＬＰＵにわたる。この段落は、水平な実線として描かれた手書きのテキストを含んでいる。第２の段落は、フローティングテキストブロック１５０８として示されており、これは、グリッド１５００の第２の垂直線１５０４にアラインされ、４つのＬＰＵにわたる。フローティングテキストブロック１５０８のスナップトツーグリッド範囲は、破線の境界１５０８ａによって示されており、破線の境界１５０８ａの内部では、明瞭さのためにグリッドパターンが抑制されている。本例のスクロールページ４００のコンテキストにおける、「マージンにアラインされた」および「フローティング」という概念は、ページのマージンにアラインされるブロック、例えば、文書エディタアプリケーションのページの左詰めまたは右詰めのテキストの段落と、マージンに関して（グリッドに対する制約を有して）自由に配置されるブロックとを区別するために提供される。図示されるように、段落１５０６、１５０８のテキスト自体は、ユーザによる制御が失われたという感覚をユーザが感じないように、グリッドに対してスナップされない。段落内のテキストの実際の入力位置は、テキストインデントを定義し、例えばメモリ１０８に記憶することによって提供され、テキストインデントは、コンテンツの開始と段落の左側の最も近い列との間の距離に対応する、段落の各線の特性である。
【０１２９】
グリッド１５００の第４の垂直線１５０４にアラインされ、５つのＬＰＵにわたる別のフローティングブロック１５１０が示されている。フローティングブロック１５１０は、テキストまたは図面、画像、図、方程式等を含んでもよい。アラインされたブロックとフローティングブロックとの両方は、スクロールページの一部またはセクションにアンカーされ、マージンにアラインされたブロックは、マージンに対してさらにアンカーされ、ページがスクロールされるにつれて、それと共に垂直に移動する。ブロックが移動された（すなわち、どこか他の場所にドロップされることが選択された）場合、このブロックは、このブロックが移動された、スクロールページの新しい部分またはセクションに関連付けられる（後で詳細に説明される）。例示されているブロックの境界は、アライメントパターンに関する入力要素の範囲を決定するために本システムおよび本方法によって使用されるものであり、そのため、典型的には、アプリケーション１１２によってユーザに対して表示されないことが留意される。しかしながら、編集動作中、例えば、ブロックの移動中等には、ユーザが要素をレイアウトの他の要素に関して適切に配置することを支援するために、境界が表示されてもよい。
【０１３０】
図１６Ａは、マージンにアラインされたブロックおよびフローティングブロックに存在するいくつかの段落を示す。具体的には、第１の段落１６００は、４つの列にわたって作成されており、続いて、第１の段落１６００に水平に隣接し、２つの列にわたる第２の段落１６０２、および段落１６００と段落１６０２との両方の垂直下方にあり、６つの列にわたる第３の段落１６０４が存在する。ブロックおよびアライメントグリッドの使用は、ブロックの相対的なレイアウトを保持しながら、ブロック内のコンテンツが編集されることを可能にする。例えば、図１６Ｂにおいて、ユーザは、アライメントグリッド１５００の次の水平線１５０２上で、第２の段落１６０２に対してさらなるテキストを追加しているが、スクロールページ４００の垂直なフローにおいて、段落１６０４が段落１６０２の下方に存在するので、より下方の段落１６０４は、結果として、段落１６０２と段落１６０４との間に２つのＬＰＵの間隔を保持するように、アライメントグリッド１５００の次の水平線１５０２まで下方へ移動される。実際には、相対的なレイアウトが保持されるように、下方のいかなるコンテンツも、同じ量だけ下方へシフトされる。なぜなら、ユーザは、それらのレイアウトを具体的には変化させていないからである。したがって、テキストブロックを拡大させるための十分な空間がない場合、ブロック内で上流に書かれたテキストは、下方のコンテンツを下側へ移動させる。この機構は、下方へ移動されたコンテンツがインターフェース１０４の視認可能な領域１３２の外へ移動されるように、図６Ａを参照して前述された、入力コンテンツの高さだけスクロールページ４００を拡大する機構と同じである。
【０１３１】
あるいは、十分な空間がある場合には、テキストブロックは、より下方のブロックの移動なしに拡大されるであろう。例えば、図１７Ａは、段落１６００、１６０２および１６０４を示すが、第３の段落１６０４が、第１の段落１６００のみの垂直下方に存在し、４つの列のみにわたる。そのため、図１７Ｂに示されるように、ユーザがアライメントグリッド１５００の次の水平線１５０２上で第２の段落１６０２に対してさらなるテキストを追加する場合、第２の段落１６０２を囲むテキストブロックは、より下方の段落１６０４に隣接して、自由に拡大することができる。
【０１３２】
上流にテキストを書き込み、そのテキストのための十分なレイアウト空間がない場合に、下方のコンテンツ全体の下方への移動を引き起こす動作は、下方に存在するコンテンツがどのようなものであっても、すなわち、テキストでも、または非テキストブロックでも適用可能である。例えば、図１８Ａにおいては、段落１８００が作成されており、オブジェクトブロック１８０２（テキストまたは非テキストのいずれか）が、段落１８００の垂直下方に作成され（またはドロップされ）ている。図１８Ｂにおいて、ユーザは、段落１８００に対して最後のテキスト線上で、アライメントグリッド１５００の次の水平線１５０２上へと続くさらなるテキストを追加している。しかしながら、ブロック１８０２は、スクロールページ４００の垂直なフローにおいて段落１８００の下方に存在するので、ブロック１８０２は、結果として、オブジェクト１８００とオブジェクト１８０２との間に３つのＬＰＵの間隔を保持するように、アライメントグリッド１５００の次の水平線１５０２まで下方へ移動される。
【０１３３】
図１６から図１８の例において、既存の段落に追加された（または、段落の作成中に追加された）テキストは、線パターン背景４１０の次の線上へのその段落のテキストの継続であり、この場合、それは次の線上に直接書かれるか、またはテキストの既存の最後の線に追加されて、次の線上へ継続される。いずれのケースにおいても、追加されたテキストは、既存の段落に属するものと見なされる。なぜなら、それは、垂直なフローにおいてすぐ次の線４１０に対して追加されるからである。追加されたテキストが実際に新しい段落の一部であると決定することは、特に、隣接する線のテキストのオフセット、および（既存の）段落の左側マージンまたはアラインされたエッジとのそれらの関係を参照して、ＨＷＲシステム１１４の認識段階１１８を使用して行われ得る。しかしながら、そのような認識の結果は、ユーザによって知られていない。つまり、何らかの特定の標識（例えば、段落のシンボルの表示、または既存のおよび／もしくは新しい段落ブロックの自動的なシフトなどであり、これらは、ノートテイキングプロセス上、あまりに煩わしく、したがって、ユーザの気が散ることがある）なしには、別個の段落の誤認識が、レイアウトの何らかの操作が発生する（例えば、異なるデバイス上または異なる向きでのノートの表示など）まで知られることがなく、その時までには、元の入力のコンテキストが忘れられてしまうことがある。
【０１３４】
したがって、垂直なフローにおける別個の段落（およびオブジェクトブロック）の入力に対して、ユーザによって簡単に理解され、適用される手法で、単純な制約が課される。この制約とは、水平に重複する、例えば、少なくとも１つの列１００４において重複するオブジェクトブロック間に、空線４１０が、例えば、２つのＬＰＵの間隔が、常に存在するべきであるということである。この規則は、スクロールページ４００の垂直なフローにおいてオブジェクトブロック間の相対的なレイアウトをきれいに維持する手法を提供し、これは、直接入力されたコンテンツ、およびドラッグアンドドロップされたコンテンツ、またはプッシュアンドドロップされたブロックに対して適用され得る。
【０１３５】
例えば、図１８Ａおよび図１８Ｂに関して説明された動作においては、垂直なコンテンツが段落１８００に対して追加された場合に、段落１８００とブロック１８０２との間の３つのＬＰＵ間隔が維持された。あるいは、段落１８００に対して追加のコンテンツを追加した後の間隔は、２つ以上のＬＰＵのままであるので、結果として、ブロック１８０２（および任意の他のより下側のオブジェクトブロック）は移動される必要がない。したがって、新しいコンテンツと既存のコンテンツとの間の間隔が、１つの線よりも大きい場合、垂直なストリームにおいて何も下方へ移動されず、新しいコンテンツが利用可能な空間を満たすことを許容する。これは、図１８Ｃの例において示されており、図１８Ｃにおいては、段落１８０６が、段落１８００の最終線４１０の２つの線４１０の分だけ下方に入力され（例えば、ブロック１８００の境界１８００ａの下辺は、テキスト線が２つのＬＰＵを分離するように、ブロック１８０４の境界１８０４ａの上辺から、ＬＰＵ１つ分離間されている）、新しい段落１８０４とブロック１８０２との間には空線４１０が残っているので、ブロック１８０２は移動されない（例えば、ブロック１８０４の境界１８０４ａの下辺は、ブロック１８０２がテキストブロックである場合に、テキスト線がＬＰＵ２つ分離間されるように、ブロック１８０２の境界１８０２ａの上辺から、ＬＰＵ１つ分離間される）。そのため、この規則は、テキストブロックのテキスト線は２つのＬＰＵによって離間されなければならない、とより正確に定義され、垂直に隣接するブロック境界は、ＬＰＵ１つ分離間され得ることを意味する。
【０１３６】
新しいコンテンツが既存のコンテンツに（これらの間に１つ未満の空線を残して）到達する場合は常に、下方のコンテンツ全体が線１つ分下方へ移動されて、空線１つ分の間隔が再導入される。同様に、新しいコンテンツがオブジェクトブロック間の空線に書かれるたびに、下方のコンテンツは、線１つ分下へ移動される。同様に、ブロックが上流で新しい線に追加されるたびに、下方のコンテンツは下へ移動され、ブロックの上方および下方には常に線が存在するべきである。この一例は、図１８Ｄに示されており、図１８Ｄにおいて、オブジェクトブロック１８０６は、段落１８００の下方の線４１０上にドロップされ、（これらの間にＬＰＵ１つ分の間隔が存在するように）、段落１８０４およびブロック１８０２はブロック１８０２とブロック１８０４との間の相対的なレイアウトを変化させずに、新しいブロック１８０６と段落１８０４との間にＬＰＵ１つ分の間隔が存在するように、結果として下へ移動される。この例は、図１８Ｅにおいてさらに拡大され、図１８Ｅにおいて、ブロック１８０２は、段落１８０４の上方へ移動され、段落１８０４の結果として生じる下方への移動を伴って、ブロック１８０６のＬＰＵ１つ分の間隔だけ下方にドロップされ、その結果、ブロック１８０２の境界１８０２ａの下辺とブロック１８０４の境界１８０４ａの上辺との間に、ＬＰＵ１つ分の間隔が残る。
【０１３７】
前述されたように、ブロックは、スクロールページ４００内のそれらの現在の位置から新しい位置へドラッグアンドドロップされること、もしくはプッシュアンドドロップされること、または、おそらくは、他のブロックの結果として生じる移動を伴って、およびユーザのためのガイド機構を用いて、サイズ変更されることができる。例えば、図１９Ａから図１９Ｃは、段落１９００および非テキストブロック１９０２（例えば、画像を含む）がレイアウトされ、非テキストブロック１９０２が移動される動作を示す。図１９Ａに示されるブロック１９０２の初期位置は、段落１９００に水平に隣接する。ブロック１９０２が、その初期位置から、図１９Ｂに示されるように水平に移動される場合、この移動中に、ブロック１９０２がドロップされ得る次の利用可能な水平位置を示すキャレット１９０４が表示され、例えば、図示される例において、ブロック１０９２は、段落１９００の上へ移動されており、したがって、次の利用可能なドロップ位置は、キャレット１９０４が表示されている左側マージン上にある。この提案された位置にブロック１９０２をドロップすることは、段落１９００がアライメントグリッド１５００の次の利用可能な列、例えば、第３の列１００４へスナップされる、結果として生じる水平な移動を引き起こすであろう。同様に、ブロック１９０２が、その初期位置から、図１９Ｃに示されるように垂直に移動される場合、この移動中に、ブロック１９０２がドロップされ得る次の利用可能な垂直位置を示すキャレット１９０４が表示され、例えば、図示される例において、ブロックは、段落１９００の下方へ移動されており、したがって、次の利用可能なドロップ位置は、段落１９００の下方の線４１０上である。同様の機構は、オブジェクトブロックをサイズ変更する場合に使用され得る。ユーザをこのようにガイドすることによって、他のオブジェクトに対する、またはアライメントグリッド自体に対するオブジェクトのアラインメントが、できる限り提供される。ブロックに加えて、段落内で選択されたテキストも、それ自体がドラッグアンドドロップ（もしくは、他の編集機構、例えば、プッシュ、コピー、カット、ペーストなど）によって別の段落の内部へ挿入されることができ、または、空いている空間へドロップされ、もしくはプッシュされる場合には、新しいテキストブロックが、そのテキストを用いて作成される。
【０１３８】
既存のコンテンツを移動させる場合、前述された動作は、レイアウトの対応する結果として生じる振る舞いと共に使用され得る。新しいテキストコンテンツ、例えば、新しい段落などを作成する場合、ユーザは、前述された、空線を間に挟む規則に従って、線パターン背景の次の利用可能な線に単に手書きする必要がある。新しい非テキストコンテンツ、例えば、図面または方程式などを作成する場合に、ユーザが、例えば、次の利用可能な線に非テキストコンテンツを単に入力し始めたとすれば、ＨＷＲシステム１１４は、手書き認識が新しいコンテンツに対して実行されないように、非テキストコンテンツの入力を検出することが必要とされる。あるいは、ユーザは、非テキストコンテンツが入力されるべきであることを示すための機構を提供され得る。従来、これは、メニュー選択を通じて、または特殊なスタイラス、例えば、描画用のペンに対する書き込み用のペンなどの使用を通じて行われてきた。本システムおよび本方法は、この標識を、ユーザに知られている既存のタッチインターフェースアクションを活用することによって単純化する。
【０１３９】
つまり、非テキストコンテンツを入力するために、ユーザは、空いている空間を単にダブルタップし、ダブルタップされると、アプリケーションは、画像、図面、図、方程式等をユーザが挿入することができるブロック領域またはキャンバスを自動的に作成する。このように、空いている空間上でのダブルタップは、テキストのみとは異なるコンテキストを有するブロックオブジェクトを作成することをユーザが望んでいるものとして解釈される。次いで、アプリケーション１１２は、手書きの場合に、実際のコンテンツ入力を決定し、認識するために、他の認識機構、例えば、すべてが本出願人に譲渡されている、特許文献７、２０１４年１２月２日に出願され、「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｒｅｃｏｇｎｉｚｉｎｇ  Ｇｅｏｍｅｔｒｉｃ  Ｓｈａｐｅｓ」と題された特許文献８、ならびに、「Ｓｙｓｔｅｍ  ｆｏｒ  Ｒｅｃｏｇｎｉｚｉｎｇ  Ｍｕｌｔｉｐｌｅ  Ｏｂｊｅｃｔ  Ｉｎｐｕｔ  ａｎｄ  Ｍｅｔｈｏｄ  ａｎｄ  Ｐｒｏｄｕｃｔ  ｆｏｒ  Ｓａｍｅ」と両方とも題された、２０１５年７月１０日に出願された特許文献９、および２０１５年９月３０日に出願された特許文献１０において説明されているシステムおよび方法などを使用することができ、これらの出願の全内容が、参照によって本明細書に組み込まれている。
【０１４０】
本明細書においてこれまでに説明されたブロック管理のように、非テキスト入力キャンバスの生成は、アライメントグリッド／パターンに従って実行される。つまり、インターフェース１０４の視認可能な領域１３２においてページ４００が空である場合、生成されたキャンバスは、視認可能な領域１３２内の利用可能な空間をすべて占有する。あるいは、キャンバスが、オブジェクトブロックの隣に水平に生成されることになっている場合、生成されるキャンバスは、対応するマージン／パディング領域に対して利用可能な幅を占有し、既存のオブジェクトブロックの高さにアラインする。さらに、生成されるべきキャンバスの上方にコンテンツが存在する場合、生成されるキャンバスは、既存のブロックの下方の利用可能な空間を占有し、既存のブロックとキャンバスとの間に空線（例えば、ＬＰＵ１つ分の間隔）が残され、その結果、それは上方のコンテンツに含まれない。またさらに、生成されるべきキャンバスの上方および下方にコンテンツが存在する場合、生成されるキャンバスは、スクロールページの利用可能な全幅と、既存のブロックに関してキャンバスの上方および下方に空線（例えば、上部および底部にＬＰＵ１つ分の間隔）を残して、既存のブロック間の利用可能な高さとを占有し、その結果、それは既存のコンテンツに含まれない。図２０および図２１は、これらの動作のうちの２つの例を示す。
【０１４１】
図２０Ａにおいて、段落２０００は、ブロック２０００の境界２０００ａがアライメントパターン１５００の第２の垂直線１５０２および第８の水平線１５０４にアラインされるように、２つの列１００４および８つの線４１０にわたる、マージンにアラインされたブロックとして示されている。段落２０００の右側に対するダブルタップジェスチャＥを受け取ることに応じて、図２０Ｂに示されるように、ブロック２００２が、アライメントパターン１５００の第２の垂直線１５０２から最後の垂直線１５０２まで、段落２０００と同じ垂直な範囲を有して（例えば、第８の水平線１５０４まで）作成される。その結果、ブロック２００２内での非テキスト入力が実行され得る。
【０１４２】
図２１Ａにおいて、段落２１００は、ブロック２０００の境界２１００ａがアライメントパターン１５００の第４の水平線１５０４にアラインされるように、６つの列１００４すべておよび４つの線４１０にわたる、全ページ幅の（２つのマージンにアラインされた）ブロックとして示されている。段落２１００の下方でダブルタップジェスチャＥを受け取ることに応じて、図２１Ｂにおいて示されるように、ブロック２１０２が、アライメントパターン１５００の第５の水平線１５０４からページ４００の垂直な範囲まで作成される。その結果、ブロック２１０２内での非テキスト入力が実行され得る。さらなる例において、生成されるべきキャンバスが、有意義なコンテンツ入力を提供するにはスクロールページ４００の入力領域４０８のエッジに近すぎる場合、スクロールページは自動的にスクロールされ得る。入力領域４０８の上部範囲および底部範囲に関しては、最小のキャンバス幅および高さ（例えば、例として、２つの列および２つのＬＰＵ）を設定することによって、図９に関連して前述されたものと同様の自動スクローリングが達成され得る。なぜなら、最小のキャンバスの一部が生成時に自動スクロール領域に重複するように、キャンバスが生成されることになっている場合、スクロールページは、自動的にスクロールされるからである。そのような最小のキャンバスサイズは、キャンバスがスクロールページのマージン範囲のあまりに近くに、または十分に離間されていないオブジェクト間に作成される場合、水平に（例えば、キャンバスの左側に）隣接するオブジェクト、または水平に（例えば、キャンバスの右側に）隣接するオブジェクトの下方のキャンバスの垂直なオーバーフローを保証する手法も提供する。
【０１４３】
続いて、ユーザは、生成されたキャンバスが意図された目的には小さすぎる、または大きすぎると決定することがある。そのため、続いて、作成された非テキストブロックのサイズ変更が、コンテンツ入力の前に、またはコンテンツ入力の後に、実行され得る。すべてのオブジェクトブロックのサイズ変更は、所与の条件の下で、およびレイアウトに対する一定の結果として生じるアクションを伴って可能である。例えば、サイズ変更されたオブジェクトは、アライメントグリッドに対してスナップし、サイズ変更されたコンテンツは、必要な場合には、画像を除いて、ノートにおいて常に完全に目に見える（例えば、トリミングされない）。画像のサイズ変更に関して、スクロールページ４００内にインポートされた画像またはスクロールページ４００内の非テキストブロックとしての画像は、レイアウトコンテナとしての役割を果たす境界ボックス内に埋め込まれる。その境界ボックス内での画像配置は、ユーザインタラクションなしで、下記のように取り扱われる。
【０１４４】
画像が境界ボックス領域全体（オーバーフローしている部分はトリミングされる）を常にカバーするように、画像は拡大／縮小される
【０１４５】
画像は、いかなる場合にも、その縦横比を維持する（例えば、引き伸ばしなし）
【０１４６】
画像は、その境界ボックス内の中心に配置される。
【０１４７】
画像の、および他のオブジェクトブロックのサイズ変更は、内側の画像自体ではなく、選択された画像の周りに表示され、境界ボックスに結び付けられたハンドル（図９を参照）を使用して実行される。ハンドルに対するアクセスは、ブロック境界の対応する表示と共に、ユーザにとって自然で十分によく理解される様式で、例えば、ユーザがサイズ変更／編集対象のコンテンツ上でシングルタップを単に実行することなどによって、本システムおよび本方法によって提供される。当業者によって理解されるように、いったん表示されると、ユーザは、ハンドルにタッチし、またはハンドル上でホバーし、選択されたハンドルをインターフェースを横切ってドラッグ／プッシュして、コーナーハンドルのドラッギング／プッシングが境界ボックスの拡大縮小を引き起こし（２つの辺を移動させ、したがって境界ボックス縦横比を維持する）、サイドハンドルのドラッギング／プッシングが境界ボックスの引き伸ばしを引き起こす（単一の辺を移動させ、したがって境界ボックス縦横比を変化させる）状態で、様々な振る舞いを提供する。境界ボックス縦横比を変化させることは、内側の画像縦横比に影響を及ぼさず、むしろ、画像は自動的に拡大縮小される／中心に配置される。
【０１４８】
他のタイプの非テキストブロックおよびテキストブロックは、同じ手法で明示的にサイズ変更され得る。しかしながら、段落がサイズ変更される場合、テキストコンテンツのフォントサイズは変化（すなわち、拡大縮小）させられず、段落の寸法のみが変化させられる（例外については、後の詳細な考察を参照）。レイアウトに関しては、前述された規則に従って、ブロックがより小さくされた場合には、下方のコンテンツは上方へ移動され、ブロックがより大きくされた場合には、下方のコンテンツは下方へ移動される。
【０１４９】
前述されたように、ブロック内のコンテンツのユーザ入力に起因して、ブロックの自動的なサイズ変更も発生する。例えば、ユーザがテキストブロックを書き込む（例えば、段落を追加する、または段落を継続する）場合、ユーザが書き込むにつれて、ラインおよびフォントサイズが維持された状態で（および、より下側のコンテンツの任意の結果として生ずる移動を伴って）、ブロックは自動的に伸びる。自動的なサイズ変更は、１つのデバイス上で作成されたノートの表示が、その後、異なるサイズの画面を有し、または、例えば、横向きから縦向きへのデバイス表示の向きにおける変化を有する異なるデバイス上で表示されることに起因して、発生することもある。前述されたように、ノートテイキングオブジェクトブロックのユーザにより作成されたレイアウトは、ブロック内のコンテンツ自体と同様に、そのような遷移中に本システムおよび本方法によって、できる限り尊重される。そのため、自動的なサイズ変更などの動作は、最小限に抑えられ、必要な場合、またはユーザの元の入力が悪影響を受けない場合にのみ、実行される。変換時に、ユーザがコンテンツのサイズ変更または拡大縮小を望む場合、ユーザは、そのような動作を手動で、例えば、上記に説明された手法で実行することができる。
【０１５０】
既述されたように、アプリケーション１１２が利用されるコンピューティングデバイス１００は、縦向きから横向きへの、およびこの逆へのデバイスの向きの変化に応じるインターフェース１０４を有し得る。したがって、デジタルノートテイキングアプリケーションのスクロールページのノートに含まれたコンテンツ要素のレイアウトおよび特性も、レイアウトに対する最小限の好ましくない影響という同じ原理に従いながら、応じなければならない。同じことは、異なる表示サイズを有するデバイス上の特定のスクロールページ、またはノートブックを表示することにも当てはまる。本システムおよび本方法のアライメントグリッド、および特にレイアウトパターンは、そのような遷移に対する応答性を提供する効果的な手法を提供する。ここで、例示的な遷移が、図２２Ａおよび図２２Ｂを参照しつつ説明される。
【０１５１】
図２２Ａは、レイアウトパターン１０００の６つの列１００４が有意義に提供され得るデバイスインターフェース１０４上のスクロールページ４００の例を示す。列１００４の列ガター１００６も示されている。第１のオブジェクトブロック２２００は、第１の列１００４にわたり、第２のオブジェクトブロック２２０２は、第２および第３の列１００４にわたり、第３のオブジェクトブロック２２０４は、第４の列１００４にわたり、ただし、前述されたように、ブロック２２００、２２０２および２２０４は、水平に隣接し、各ブロックの垂直な境界は、対応する列ガター１００６にアラインされる。
【０１５２】
図２２Ｂは、レイアウトパターン１０００の３つの列１００４のみが有意義に提供され得る、異なるデバイスインターフェース１０４または異なる向きのデバイスインターフェース１０４へ変換されたスクロールページ４００を示す。したがって、第１のオブジェクトブロック２２００および第２のオブジェクトブロック２２０２は、変換されたスクロールページ４００の３つの列１００４内に収まる一方で、図２２Ａのスクロールページ４００内の列１００４のうちの４つにわたる第３のオブジェクトブロック２２０４は適合しない。したがって、第３のブロック２２０４は、線パターン背景の次に利用可能な線４１０へ（例えば、それと最も近い上方のブロックとの間にＬＰＵ１つ分の間隔を残して）垂直に移動され、マージンにアラインされて、ここでは、対応する列ガター１００６にアラインされた第１の列１００４にわたる。任意の下方のコンテンツも、前述されたように、下方へ移動される。このように、元のレイアウトは、スクロールページ４００の異なるビューにおいてレイアウトコンテンツの有意義で十分なサイズの表示を提供しつつ、できる限り維持される。例えば、垂直に移動された、以前はフローティングしていたブロックのマージンアライメントは、そのブロックが以前は左側に隣接していた水平なブロックの直後に当初は来ていたことが明確になるように行われる。
【０１５３】
この応答型のレイアウトプロセスによって、本システムおよび本方法は、ノートが最初の向きで最初のデバイスによって作成され／表示され、次いで、同じ／異なる向きでより小さい／より大きいデバイス上で順次表示される状況においてレイアウトを維持することができ、ただし、元の（第１の）フォーマットでの表示は、ノートがそのフォーマットで再び表示される場合に維持される。これを達成するために、アライメントパターンに関するレイアウト内でのオブジェクトブロックの相対的な配置が知られている必要がある。アプリケーション１１２は、スクロールページビューを変換する場合に、相対的なブロック位置を決定し、スクロールページのセクションまたは分割を作成して、ブロック近接性の保持を管理することによって、これを取り扱う。垂直／水平方向において２つ以上の要素／ブロックの水平な／垂直なオーバーレイが存在する場合、分割が作成される。ユーザの直接的なアクションを通じて、またはデバイスインターフェースの視認可能な領域に合致したスクロールページの変換に起因して、分割の要素が分割内で移動される場合、分割の要素コンテンツは変化させられない。要素が分割から除去される場合、またはコンテンツに対する編集アクションが実行される場合、分割の要素コンテンツが変化させられる。
【０１５４】
図２３Ａから図２３Ｆは、本システムおよび本方法の例示的な分割スキームを例示する。レイアウトを分割するか否かを決定する際に、本システムおよび本方法は、まず、垂直方向において、垂直にずらされた各要素についての水平方向をチェックすることによって、互いに水平に重複する要素が存在するかどうかを決定し、重複が発見された場合は常に、検索の方向が、垂直から水平へ、垂直へ等に変化する。
【０１５５】
図２３Ａは、１つのオブジェクトブロック２３００がインターフェース１０４内に入力された状態のスクロールページ４００の例を示す。ブロックは、３つの列１００４および２つのＬＰＵ４１０にわたっている。レイアウト分割するか否かを決定する際に、本システムおよび本方法は、まず、複数の垂直な要素の存在を決定し、次いで、垂直方向において、垂直にずらされた各要素についての水平方向をチェックすることによって、水平に重複する要素が存在するかどうかを決定する。重複が発見された場合は常に、検索の方向が、垂直から水平へ、垂直へ等に変化する。したがって、図２３の例においては、下記が発生する。
【０１５６】
Ａ１．処理は、ブロック２３００（垂直方向における第１の要素である）において始まり、下方への垂直方向の（例えば、ブロック２３００の４つの列にわたる中での）検索により、垂直に重複するブロックは存在しないと決定される。したがって、分割は作成されない。
【０１５７】
Ａ２．処理は、ブロック２３００において継続し、左側および右側への水平方向の（例えば、ブロック２３００の２つのＬＰＵの広がり内での）検索により、水平に隣接するブロックは存在しないと決定される。したがって、分割は作成されない。
【０１５８】
Ａ３．どちらの方向にも、コンテンツのさらなるブロックは存在しないので、分割処理が終了する。
【０１５９】
図２３Ｂは、第１のブロック２３００の下方に第２のオブジェクトブロック２３０２が入力された状態のスクロールページ４００を示す。第２のブロック２３０２は、１つの列１００４および３つのＬＰＵ４１０にわたる。さらなるブロックが入力されたので、下記が発生する。
Ｂ１．ステップＡ１が繰り返されるが、今度は、ブロック２３０２がブロック２３００と垂直に重複すると決定される。したがって、ブロック２３００とブロック２３０２とを含む分割２３０４が作成される。
Ｂ２．分割２３０４の作成により、本例と同じ結果を得るステップＡ２を繰り返すことによって、ブロック２３００において任意のサブ分割が作成されるべきかどうかが決定される。
Ｂ３．処理は、ブロック２３０２（垂直方向における次の要素である）において継続し、下方への垂直方向の（例えば、ブロック２３０２の単一の列の広がり内での）検索により、垂直に重複するブロックは存在しないと決定される。したがって、分割２３０４が維持される（例えば、別のブロックを含めるために分割を伸ばす必要はない）。
Ｂ４．分割２３０８の確認により、ブロック２３０２において継続して、サブ分割が処理によって作成されるべきかどうかが決定され、左側および右側への水平方向の（例えば、ブロック２３０２の３つのＬＰＵの広がり内での）検索により、水平に隣接するブロックは存在しないと決定される。したがって、サブ分割は作成されない。
Ｂ５．どちらの方向にも、コンテンツのさらなるブロックは存在しないので、分割処理が終了する。
【０１６０】
図２３Ｃは、第３のオブジェクトブロック２３０６が第２のブロック２３０２に水平に隣接して入力された状態のスクロールページ４００を示す。第３のブロック２３０６は、３つの列１００４および３つのＬＰＵ４１０にわたる。さらなるブロックが入力されたので、下記が発生する。
Ｃ１．ステップＢ１からＢ３が繰り返され、分割２３０４が結果として維持される。
Ｃ２．ステップＢ４が繰り返されるが、今度は、ブロック２３０６が右側に水平に隣接すると決定される。したがって、分割２３０４は、３つのブロック２３００、２３０２および２３０６をすべて含むように更新され、ブロック２３０２とブロック２３０６とを含むサブ分割２３０８が作成される。
Ｃ３．サブ分割２３０８の作成により、ブロック２３０６（サブ分割２３０８内の水平方向における次の要素である）において継続して処理することによって、サブ分割２３０８内に任意のさらなる要素が存在するかどうかが決定され、左側および右側への水平方向の（例えば、ブロック２３０６の３つのＬＰＵの広がり内での）検索により、ブロック２３０２のみが左側に水平に隣接していると決定され、これは既に知られている。したがって、サブ分割２３０８が維持される（例えば、別のブロックを含めるために分割を伸ばす必要はない）。
Ｃ４．サブ分割２３０８の作成および確認により、ブロック２３０６において継続して処理することによって、サブ分割２３０８内でさらなるサブ分割が作成されるべきかどうかが決定され、サブ分割２３０８内での下方への垂直方向の（例えば、ブロック２３０６の３つの列の広がり内での）検索により、サブ分割２３０８内に垂直に隣接するブロックは存在しないと決定される。したがって、サブ分割は作成されない。
Ｃ５．どちらの方向にも、コンテンツのさらなるブロックは存在しないので、分割処理が終了する。
【０１６１】
図２３Ｄは、第４のオブジェクトブロック２３１０が既存のブロックの下方に入力された状態のスクロールページ４００を示す。さらなるブロック２３１０は、３つの列１００４および２つのＬＰＵ４１０にわたる。さらなるブロックが入力されたので、下記が発生する。
Ｄ１．ステップＢ１およびＢ２が繰り返され、分割２３０４が結果として維持される。
Ｄ２．ステップＢ３が繰り返されるが、今度は、ブロック２３１０がブロック２３０２と垂直に重複すると決定される。したがって、分割２３０４は、ブロック２３００、２３０２、２３０６および２３１０を含むように更新される。
Ｄ３．ステップＣ２からＣ４が繰り返され、更新された分割２３０４およびサブ分割２３０８が結果として維持される。
Ｄ４．どちらの方向にも、コンテンツのさらなるブロックは存在しないので、分割処理が終了する。
【０１６２】
図２３Ｅは、第３のオブジェクトブロック２３０６が依然として３つの列１００４にわたるが、ここでは３つではなく、１つのＬＰＵ４１０にわたるようにサイズ変更された状態のスクロールページ４００を示す。レイアウトに対する編集動作が発生したので、分割処理が実行されるが、ブロックの相対的なレイアウトは変化させられていないので、既存の分割はそのまま維持される結果となる。
【０１６３】
図２３Ｆは、第５のオブジェクトブロック２３１２が（サイズ変更された）第３のオブジェクトブロック２３０６の下方に入力された状態のスクロールページ４００を示す。さらなるブロック２３１２は、１つの列１００４および１つのＬＰＵ４１０にわたる。さらなるブロックが入力されたので、下記が発生する。
Ｆ１．ステップＤ１およびＤ２が繰り返され、分割２３０４が結果として維持される。
Ｆ２．ステップＣ２およびＣ３が繰り返され、分割２３０４およびサブ分割２３０８が結果として維持される。
Ｆ３．ステップＣ４が繰り返されるが、今度は、ブロック２３１２がブロック２３０６と垂直に重複すると決定される。したがって、ブロック２３０６とブロック２３１２とを含むさらなるサブ分割２３１４が作成される。
Ｆ４．サブ分割２３１４の作成により、ブロック２３１２（サブ分割２３１４内の垂直方向における次の要素である）において継続して処理することによって、サブ分割２３１４内にさらなる要素が存在するかどうかが決定され、サブ分割２３１４内での下方への垂直方向の（例えば、ブロック２３１２の３つの列の広がり内での）検索により、サブ分割２３１４内に垂直に隣接するブロックは存在しないと決定される。したがって、サブ分割２３１４が維持される（例えば、別のブロックを含めるために分割を伸ばす必要はない）。
Ｆ５．サブ分割２３１４の作成および確認により、ブロック２３０２において継続して処理することによって、サブ分割２３１４内でさらなるサブ分割が作成されるべきかどうかが決定され、左側および右側への水平方向の（例えば、ブロック２３１２の単一のＬＰＵの広がり内での）検索により、ブロック２３０２のみが左側に水平に隣接していると決定され、これは既に知られている。したがって、サブ分割は作成されない。
Ｆ６．どちらの方向にも、コンテンツのさらなるブロックは存在しないので、分割処理が終了する。
【０１６４】
したがって、図２３の例示的なレイアウトは、３つの分割またはセクションへ分割される。第１の分割またはルート分割がすべてのコンテンツブロックを含み、第２の分割が３つのブロックを含み、第３の分割が２つのブロックを含む状態である。図２３の例においては、入力がアプリケーション１１２に対して行われるにつれて、分割は、徐々に作成され、更新され、処理される。したがって、これらの分割は、それらが作成され、更新されるにつれて、例えばアプリケーション１１２によって、メモリ１０８に記憶され、その結果、ブロックの順序は、ユーザインタラクションまたは表示／向きの変化を通じた、分割内または分割間の個々のブロックの移動を通じて、維持される（後で特定の例に関連して説明される）。分割処理は、ブロックの既に作成済みのレイアウトにも適用可能である（例えば、既存のノートがアプリケーション１１２にロードされる場合）。ルート分割および第１のレベルのサブ分割（例えば、サブ分割２３０４）は、その中に含まれているブロックを囲むものとして図２３に示されているが、これらのより高いレベルの分割は基本的にはスクロールページ４００の幅をセクションに分割することが理解される。
【０１６５】
図２４は、図２３のスクロールページ４００が異なるデバイスインターフェース１０４および／または異なる向きのデバイスインターフェース１０４へ変換されたものを示す。変換に応じて、アプリケーション１１２は、レイアウトパターン１０００の３つの列１００４を有するスクロールページ４００をレンダリング済みである。したがって、ルート分割２３０４のブロック２３００および２３１０が、変換されたスクロールページ４００の３つの列１００４内に収まる一方で、図２３のスクロールページ４００内の列１００４のうちの４つにわたるサブ分割２３０８の結合されたブロック２３０２、２３０６および２３１２は、適合しない。しかしながら、図２２Ａに描かれた状況とは異なり、ブロック２３０６および２３１２はサブ分割２３１４内にさらに含まれているので、その結果、サブ分割２３１４は全体として、線パターン背景の次の利用可能な線４１０へ垂直に移動され、コンテンツブロック２３１２は、最左端のブロック（すなわち、ブロック２３０６）と共に、（例えば、サブ分割２３１４の上側および下側のブロックと、最も近い上方および下方のブロックとの間にＬＰＵ１つ分の間隔を残して）移動されて、マージンにアラインされる結果となる。このように、スクロールページ４００の異なるビュー内でレイアウトコンテンツの有意義で十分なサイズの表示を提供しつつ、元のレイアウトは、要素の主な垂直なフローと、スクロールページの幅を横切る要素の水平な順序との両方において、できる限り維持される。垂直な順序および水平な順序が維持されるので、元のデバイスの向きまたはサイズが復元される場合、図２４の表示は、図２３Ｆの表示（例えば、その元の入力に対するレイアウト）へ適切に変換される。
【０１６６】
図２３の例においては、分割内に、それらの分割に対して追加されるコンテンツのための十分な水平の空間（例えば、列）が存在していた。他方で、追加されたコンテンツまたはオブジェクトが、１つの分割内のスクロールページ４１０の利用可能な幅内に収まらない場合、その分割のすべてのオブジェクトは、追加されたオブジェクトが分割内のどこに入力され、またはドロップされたかに依存して、（前述されたように）自動的にサイズ変更され、右側および下方のオブジェクトは、結果として下方へ移動される。デジタルインク段落またはテキストブロックのサイズ変更は、線パターン背景のより多くの線またはより少ない線へのデジタルインクの並べ替えも含む。この並べ替えは、段落の意味およびインテグリティが維持されるように取り扱われる。したがって、デジタルインクの特定の段落（および活字化されたテキスト−後述を参照）は、別の段落へと別様に並べ替えられてもよく、いかなる場合にも、段落の最小幅は、段落内のテキストの最小のワード幅（ハイフネーションの有無に関わらず）によって規定される。
【０１６７】
自動的なサイズ変更は、レイアウト内のブロックまたは段落の位置、ならびにスクロールページの幅内でのその垂直な占有の割合が尊重されるように、向きまたはフォーマットの変化も伴って実行されてもよい。例えば、一定の相対的な垂直位置を有し、視認可能な領域幅の一定の割合、例えば７５％を占有する段落内の手書きのテキストについて、デバイスの向きまたはサイズを変化させる場合、より多くの単語が段落内に収まることができるようにテキストを並べ替えることによって、同じ相対的な位置および割合が適用され、または段落の高さが変化させられ、またはテキスト文字のサイズがそれに応じて調整される。テキストサイズは、デジタルインクの活字化に特に関連する。
【０１６８】
入力されたデジタルインクを活字化されたテキストへ変換する様式は、レイアウトにも同様に影響を及ぼす。これは、紙面または画面上に手書きされた文字が、典型的には、活字化されたテキストよりもはるかに大きく、活字化されたテキストは、一般に、標準ＯＳ設定（例えば、１６ｐｘのフォントサイズおよび２４ｐｘの線高さ）を使用してレンダリングされ、一般に、可変のサイズおよびアライメントを有する（ただし、線パターン背景は、これらの変化の範囲を低減することを支援する）からである。したがって、デジタルインクの段落が活字化された場合、結果として生じる活字化されたテキスト段落は、はるかに小さくなる。活字化の前および後の段落の相対的なサイズの例は、図２５に示されており、図２５において、６つの線４１０（例えば、６つのＬＰＵ）の広がりを有するデジタルインク２５００の単純な複数線の段落は、活字化された場合に、線３つ分の（例えば、もはやＬＰＵを基準としない）活字化されたテキストのみから成る複数の線の段落２５０２へと縮まる。これは、書き込みが完了した後に、１つずつまたは全部まとめて活字化される垂直にレイアウトされた段落にとっては、それほど問題ではない。なぜなら、段落の相対的なレイアウトは同じままであるからである。しかしながら、水平にレイアウトされた段落および活字化された段落に隣接する非テキストブロックにとっては、周囲のオブジェクトブロックの自動的な移動が実行される場合に、レイアウトにおいて大きな変化が発生することがある。
【０１６９】
あるいは、例えば、活字化された段落のブロック（境界）をサイズ変更しないことなどによって、隣接するブロックがそのまま残され得る。しかしながら、ブロック境界は、例えば移動中および編集中にのみ表示されるため、ユーザはブロックの存在に気づいていないので、結果として生じた活字化された段落のサイズは、周囲の要素に関して奇妙に見えることがあり、ユーザにそれらのブロックを活字化された段落の近くへ移動させようと試行させ、これは、活字化された段落を囲む拡大されたブロックのサイズに起因して、許容されないことがある。
【０１７０】
コンテンツが正確に入力されるために、手書きが、活字化されたものよりも大きい空間（例えば、より大きい線高さ）を必要とすることは明らかであり、認識処理を支援するために、線パターン背景が一般に必要である。したがって、デジタルインクの線高さが、活字化されたインクの線高さよりも大きいので、本システム方法は、活字化された段落から線パターン背景の表示を除去し、それによって、コンテンツをはるかに鮮明で読みやすくし、共有され得る準備ができた状態にしている。この例は図２６に示されており、図２６において、線パターン背景４１０が表示されたデジタルインク段落２６００は、活字化された段落を含むテキストブロック２６０２内の抑制された線パターン背景の表示と共に、活字化された段落２６０２へ変換される。
【０１７１】
手書きから活字への遷移は、コンテンツ入力からユーザの注意をそらすことを防止するように迅速である必要がある。したがって、本システムおよび本方法においては、段落を手動で活字化するための、単純で、自然で、かつ十分に理解されるメカニズムが提供され、変換のアニメーションは、透明度（０％から１００％）と拡大縮小（０％から１００％）との単純な混合と共に使用される。一例において、ユーザが段落を活字化することを望む場合、ユーザは、単に段落をダブルタップし、結果として生じるアニメーションにおいて、変換の起点は、（活字化されている）最も小さい状態の絶対的な中心にアラインされる。そのような変換アニメーションの例は図２７に示されており、図２７においては、デジタルインク段落２６００から活字化された段落２６０２への変換が示されている。ユーザが、その他の要素に関する活字化された段落のサイズに不満である場合、ユーザは、例えば、前述されたように、コンテンツのシングルタップを実行して、そのコンテンツを選択することを通じて、段落ブロックをサイズ変更することができる。さらに、変換の反転は、活字化されたコンテンツのダブルタップを再実行することによって提供され得る。あるいは、変換をコミットする前に、ユーザは、例えば、デジタルインク段落の長押し、またはホバーオーバーなどの、他の自然で十分に理解される動作を実行することによって、（図２７に示されるように）デジタルインク段落を一時的に置換し、またはオーバーレイする、アニメーションおよび結果として生じる活字化された段落を見ることができてもよい。
【０１７２】
段落が活字化されると、ユーザは、活字化されたコンテンツに対して手書きによってコンテンツを変化させることまたは追加することを望む場合がある。本システムおよび本方法は、このことを、良好な品質および共有可能なデジタルノートを生み出すための前述された規則を厳守する様式でサポートする。これは、活字化された段落がより大きなフォーマットで表示されることを必要とすることによって行われる。このより大きなフォーマットにおいて、線パターン背景は、活字化されたテキストが線パターン背景の線上に存在するようにフォントサイズが拡大された状態で、活字化された段落ブロックにおいて表示される。このように、ＨＷＲシステム１１４によってサポートされる任意の手書きのテキストまたは編集ジェスチャ、例えば、取り消し、削除、上書き、挿入等は、ＬＰＵに関して行われ、それによって、適切な認識をサポートする。より大きな活字化されたサイズへの一時的変換は、例えば、単純で十分に理解される動作、例えば、シングルポイントジェスチャ、またはピンチアウトなどのマルチポイントジェスチャなどをユーザが実行することによって達成され得る。この状況において、新しい手書きのテキストは、このフォーマットのままであり、例えば、追加されたデジタルインクが同じサイズに活字化されるのと同時に、拡大された活字化されたテキストが通常のサイズ設定に戻る変換をユーザが（例えば、前述された様式で）実行するまで、段落は活字とデジタルインクとの混合である。このように、ＨＷＲシステム１１４がすべての段落コンテンツの再認識を実行することは不要であり、レイアウトは維持される。
【０１７３】
活字化に加えて、単純で十分に理解されるジェスチャが、ノート内の新しいコンテンツとインタラクションし、編集し、作成するためにユーザによって実行され得る。例えば、図２０および図２１を参照して説明されたような非テキストキャンバスを挿入する場合、例えば、挿入されたキャンバス領域のダブルタップをユーザが実行することによって、そのキャンバスのフルスクリーンモードに入ってもよい。さらに、デジタルインクまたは活字化された段落内で、特定のテキスト、例えば、単語、句、文とのインタラクションは、例えば、（前述されたような）選択に対する変化のための結果として生じる選択ハンドルの有無に関わらず、選択対象のテキストの長押しまたはホバーオーバーをユーザが実行することによって行われてもよい。さらに、定義されたオブジェクトブロックの外部の入力領域４０８の空間において、ＨＷＲシステム１１４によってサポートされる編集ジェスチャ、例えば、取り消し、削除、挿入等などは、（下方の任意のオブジェクトブロックの結果として生じる下方への移動と共に）既存の要素の周りの空間を追加し、または抑制するために、その要素自体の移動またはサイズ変更なしにユーザによって実行され得る。
【０１７４】
前記で論じられたように、ガイド要素としての線パターン背景の提供は、ユーザが手書きを入力する際に明確に定義された手法で導くことを支援する。これは、本システムおよび本方法による入力の認識および解釈、ならびに本システムおよび本方法による、デジタルインクの応答型ディスプレイ（美化されていないもの、および美化されたもの）ならびに手書きの「純粋な」インクを表す活字化されたインクの提供を支援する。また、論じられたように、ユーザが編集を通じて自身の入力のコンテンツとさらにインタラクションするための能力も、線パターン背景に関してデジタルインクおよび活字化されたインクを表示することを通じて支援される。
【０１７５】
前述されたように、バーティカルリズムは、ＬＰＵが活字化されたテキストサイズの倍数として提供される状態で、この活字化されたテキストサイズに基づいてもよい。このように、それら自体のレムベースの原理によって規定される、あらゆる活字化されたコンテンツおよび非テキストブロックは、入力のために表示される線パターン背景と垂直にアラインされたままとなる。さらに、垂直反応型のリズムを提供するために、他の活字設定は、この値に関連して行われ、その結果、この１つの値の（ジェスチャ、メニュー等を通じた）変化は、ノートのコンテンツのレイアウト全体をそれに応じて変化させる。
【０１７６】
典型的には、フォント化された文字または活字化された文字（例えば、デジタルオブジェクト）のデジタル表示のためのデフォルトフォントサイズは、読みやすさとデバイス表示特性とに基づいて設定される。図２８Ａは、「Ｅｘａｍｐｌｅ」という、例示的なテキスト単語２８００についての活字化されたインクの典型的なパラメータを示す。テキスト２８００は、テキスト文字、例えば文字「ｌ」のアセンダによって定義された上部範囲（破線２８０２として例示されている）と、テキスト文字、例えば文字「ｐ」のディセンダによって定義された下部範囲（破線２８０４として例示されている）とを有する。これらの範囲は、アセンダおよびディセンダなしに、テキスト文字の名目上の高さを定義する、上部の名目上の範囲および下部の名目上の範囲（それぞれ破線２８０６ａおよび２８０６ｂとして例示されている）からそれぞれ離間されている。上部範囲線２８０２は、上部の名目上の範囲線２８０６ａから距離ｄ１だけ離間されている。下部の範囲線２８０４は、下部の名目上の範囲線２８０６ｂから距離ｄ２だけ離間されている。名目上の範囲、すなわち、上部の名目上の範囲線２８０６ａと下部の名目上の範囲線２８０６ｂとの間の距離は、距離ｄ３である。したがって、フォントサイズまたはテキスト高さ、すなわちＤは、ｄ１＋ｄ３＋ｄ２として定義される。
【０１７７】
前述されたように、インターネットブラウザは、通常は、１６ｄｐ（例えば、１レム＝１６ｐｘ）に設定されたデフォルトフォントサイズを有する。このフォントサイズ内では、テキストは、４ｄｐのアセンダ高さ（ｄ１）、８ｄｐの名目高さ（ｄ３）、および４ｄｐのディセンダ高さ（ｄ２）を有し、バランスの取れたフォント化を提供する。ただし、他のデフォルトフォントサイズ、例えば、１８ｄｐおよび１５ｄｐなど、または、これらよりも小さい値、もしくは、これらよりも大きい値なども取り得る。バーティカルリズム（ｄｐ）／ｒｅｍユニットに基づいたそのようなフォントサイズは、一般に、デジタルデバイス１００のオペレーティングシステム１１０によって提供される。そのため、異なるデバイスは、例えば、使用される画面解像度と任意のソフトスケーリング（デバイス対ピクセル比）とに依存して、ミリメートル単位で異なるレンダリングメトリックを有する。表４は、１６ｄｐ／１レムのデフォルトフォントサイズにおける、いくつかの例示的なデバイスレンダリングメトリックを示す。
【０１７８】
【表４】
2018533782.tif 000006
【０１７９】
ただし、本システムおよび本方法において、活字化されたテキストサイズは、手書きの文字のための十分かつ知覚可能な空間を提供しつつ、活字化されたインクの知覚可能な表示を提供するように設定される。したがって、活字化されたテキストサイズの上部範囲および下部範囲の上方および下方に十分な空間が提供されて、手書きの知覚可能な入力を可能にする。この付加的な空間は、線パターン背景４１０のパラメータを定義する。図２８Ｂは、線パターン４１０の水平線を形成するためのこの付加的な間隔を示しており、テキスト２８００の上方の線４１０が、上部の範囲線２８０２から距離ｄ４だけ離間され、テキスト２８００の下方の線４１０が、下部の範囲線２８０４から距離ｄ５だけ離間された状態である。ｄ４およびｄ５の値は、例えば、紙面に対して使用される典型的な線間隔に基づいて設定されてもよい。
【０１８０】
紙面の場合、異なるスタイルの手書きに関して、多くの線間隔標準が世界中で使用されている。例えば、表５は、ラテン語ベースの原稿のためのＡ４ノート用紙のいくつかの標準を要約したものである。
【０１８１】
【表５】
2018533782.tif 000007
【０１８２】
表４から分かるように、用紙ベースの水平線間隔にはいくらかのバリエーションが存在するが、これらの線間隔標準は、手書きについて許容可能と考えられものに関するガイドを提供する。しかしながら、画面上での活字規則は、印刷とは異なる。例えば、用紙の場合、空間は、（前述されたような）画面上とは異なり、その固有の制約に起因して問題となるが、画面上でのスクロールは、所望の場合にはテキストが狭い間隔にされ得る用紙とは異なり、読みやすくするために「空気を含ませた（aired）」テキストまたは離間されたテキストを必要とする。デフォルトの活字テキストは、そのフォントサイズの１．４倍から１．６倍までの間の線高さにおいて最も良く読み取られる。したがって、本システムおよび本方法の手書き入力のためのＬＰＵは、デフォルトの活字化されたテキストサイズの約１．４から約１．６倍、例えば、約１．４×１レムから約１．６×１レムに設定される。ＬＰＵ線高さ係数を簡単に乗算され得る整数に設定することは、ぼやけたレンダリングにつながる非整数のサイズ設定を回避する。
【０１８３】
表６は、ＬＰＵがフォントサイズの１．５倍に設定される場合、例えば、線高さ係数１．５が使用される場合の、表３の「製品」についての値を示す。図２８Ｂの例において、これは、４ｄｐの上部パディング（ｄ４）および４ｄｐの下部パディング（ｄ５）を有する、８ｄｐの線パディングを提供する。なぜなら、１．５×１６ｄｐ（デフォルトの活字化されたテキストサイズ；１レム）＝２４ｄｐであるからである。このデフォルト線高さは、１．５レムの高さの倍数のみを使用して、バーティカルリズムユニット、およびあらゆるオブジェクトがアラインされるグリッドパターンを定義する。
【０１８４】
【表６】
2018533782.tif 000008
【０１８５】
表５から分かるように、これは、表４の用紙基準の範囲にある線間隔を提供する。したがって、本システムおよび本方法において、ＬＰＵの結果として生じる物理的な高さは、デバイス画面解像度とソフトスケーリング係数とに依存する。なぜなら、活字化関連のメトリックが、線パターンに対して使用されるからである。つまり、手書きは、「実世界の」固定されたメトリック、例えばミリメートルを用いたサイズ設定よりも、むしろ手書き線パターンのための活字化されたフォントサイズを単位として使用すること、または従来行われているように、手書き自体に基づいたサイズ設定を適合させることによって、活字化されたフォントサイズとリンクされ、一体化される。
【０１８６】
本システムおよび本方法においては、ＬＰＵの値を設定する場合に、前述されたレイアウト特徴、例えば、段落に分けること、およびアライメントグリッドに関するオブジェクトブロック配置などを尊重する際に、ユーザのガイダンスに対してもさらなる考慮が与えられる。特に、手書き入力中に、線パターン背景は、ユーザが入力領域４０８において知覚可能に手書きをすることができる場所をユーザにガイドするために、一定の領域においてマスキングされてもよい。例えば、ページ４００上の任意の活字化されたテキストブロックについて、任意のさらなる手書き入力が、段落間に空白な線を残すなどのレイアウト要件を尊重しつつ行われるように、線パターン４１０は、それらのブロックの境界ボックス内でマスキングされてもよい。
【０１８７】
図２９Ａは、線パターン４１０が全くマスキングされていない境界ボックス２９０２を有する、活字化されたテキストブロック２９００を示す。図から分かるように、ユーザは、テキストブロック２９００に対応する段落に関して、どの場所にも手書きが入力され得ると考えるかもしれず、これは、その入力があまりにも近くに書かれた場合に、テキストブロック２９００の段落に対して望ましくない形で追加されることを引き起こすことがある。図２９Ｂは、境界ボックス２９０２内でマスキングされている線パターン４１０を示す。これは、アプリケーション１１２による活字化された段落の処理についてのある程度の理解をユーザに提供する。「マスキングする」という用語は、現在表示されている線パターン背景がさらなる手書き入力のためのガイド要素として働くように、線パターン背景のレンダリングされた表示が、「マスキングされた」と言われるスクロールページ４００の表示ロケーションにおいて、本システムおよび本方法によって行われないことを意味するものと理解される。
【０１８８】
これは、出力コンテンツのリアルタイムプレビューをユーザに提示し、線パターンがそのコンテンツの読みやすさに干渉することを防止する。しかしながら、そのようなマスキングを提供する際には、マスキングの範囲が考慮される必要がある。これは、例えば、線パターンがテキストブロックの境界ボックス内でのみマスキングされる場合、図２９Ｂに示されるように、ブロックを囲むマスキングされていない線を残す一方で、ユーザは、可視線上に書き込んでもよいのか、または書き込んではならないのかに関して混乱する可能性があるからである。つまり、図２９Ｂにおいて、テキストブロック２９００の真上の線４１０および真下の線４１０は、目に見えたままであっても、いかなる書き込みもホストすべきではないということである（なぜなら、それらは段落にあまりにも近いからである）。これを防止するために、オブジェクトブロック境界ボックスの外側の線も、一定の範囲でマスキングされるべきである。このように、ユーザは、線がある場所であればどこにでも、ユーザが書き込んでよいということを知る。本システムおよび本方法において、このマスキングの範囲は、線パターン背景のパラメータに関して構成され、したがって、下記のような、デフォルトの活字化されたテキストサイズとなる。
【０１８９】
前述されたように、オブジェクトブロック間の間隔は、コンテンツ自体ではなくブロックの境界ボックスをアライメントパターン１０００とアラインすることによって取り扱われる。例えば、活字化されたテキストコンテンツ自体を線パターン４１０とアラインすることは、図３０Ａに示されるレンダリングされた表示をもたらし、図３０Ａにおいて、デフォルトの活字化されたテキストサイズの線１つ分の文を定義する活字化されたテキストブロック３０００は、線パターン４１０上にアラインされている。このレンダリングは好ましくない。境界ボックスをアライメントパターンとアラインすることは、各境界ボックスを定義する内側パディングを提供することによって行われる。
【０１９０】
図３０Ｂは、テキストサイズの全範囲（すなわち、図２８Ａにおいて示されたようなもの）の上方および下方の（垂直な）約０．７５レム（例えば、約０．５ＬＰＵ）の内側パディングと、列１００４（およびガター１００６）に関してテキストの範囲の左側および右側に約１．５レム（例えば、約１．０ＬＰＵ）の（水平な）内側パディングとによって定義された境界ボックス３００２を有するテキストブロック３０００を示す。このように、テキストブロック境界ボックスは、それらの左上角部、例えば座標（０，０）に沿ってアライメントパターンとアラインされ、図３０Ｃに示されるレンダリングをもたらす。つまり、活字化されたテキストは、境界ボックスの上部および底部の約０．７５レム以内、およびアライメントパターンに関して境界ボックスの左側および右側の約１．５レム以内にレンダリングされない。このように、隣り合ったテキストブロックの水平な崩壊（decays）などに起因する、垂直アライメントおよび間隔の問題が回避される。境界ボックスのパディング量は、所望の活字化フォーマット、および並べ替えなどのアクションに依存して、これらの値よりも大きい値または小さい値に設定されてもよいことが理解される。
【０１９１】
線パターンは、テキストブロック境界ボックスの内部でマスキングされ、それによって、内側パディングを通じていくらかの間隔を一体化するので、この内側マスキングは、外側マスキングの提供によって補完されてもよい。前述されたように、ＬＰＵは、手書き入力のための理想的な利用可能な高さを定義する。したがって、活字化されたテキストの任意の表示された線は、上方および下方に少なくともＬＰＵ１つ分の空いた空間を有するべきである。したがって、外側マスキングは、ブロックの真上および真下の線４１０をマスキングし、または曖昧にするために、ＬＰＵに基づくことができる。例えば、図３１Ａは、上述されたような内側パディングまたは内側マスキングと、各辺の周りに約１．５レム（例えば、およそＬＰＵ１つ分）の境界ボックス３１０２からの空間を定義する外側マスキング領域３１０４とを有する、境界ボックス３１０２を用いて段落を定義する活字化されたテキストブロック３１００を示す。組み合わされた内側マスキング領域３１０２および外側マスキング領域３１０４のこの線パターンマスクは、図３１Ｂに示されるブロック３１００のレンダリングされた表示をもたらす。
【０１９２】
境界ボックスは、アライメントパターン１０００のガター１００６とアラインされるので、内側マスキングは、列１００４のガター間空間に関連するのに対して、外側マスキングは、ガター１００６自体の幅に関連する。したがって、ガター幅は、１．５レム（例えば、ＬＰＵ１つ分）に設定され、それによって、グローバルな視覚的バランスに適合し、活字化された段落に関する十分な空間を提供する規則的な外側マスキングを作成してもよい。つまり、水平に隣接する（または重複する）ブロックは、前述された仕様に沿って、２つのガター１００６（例えば、３レムまたはＬＰＵ２つ分）の幅によって分離され、垂直に隣接する（または重複する）ブロックは、空行４１０（例えば、ＬＰＵ２つ分）によって分離される。当然ながら、ＬＰＵの設定値が異なる場合には、外側マスキングの値が同様に異なることが理解される。
【０１９３】
オブジェクトブロックは、ＬＰＵに従ってサイズ設定され得る一方で、テキストブロック高さは、ＬＰＵの整数倍でないことがあり得る、ブロック内のテキストコンテンツによって定義される。つまり、ＬＰＵベースの外側マスキングは、奇数行のテキストを有する段落に対してうまく作用する。例えば、段落３１００が７行のテキストを有する図３１Ｂに示されるように、テキストの最終行は、次に表示される線４１０のＬＰＵ２つ分以上、上方にある。しかしながら、偶数行のテキストを有する段落は、ＬＰＵの非整数倍の高さを有するブロックを定義し、したがって、線パターンの２行のちょうど間で終了する。このケースにおいて、１．５レムの外側マスキングが追加される場合、テキストブロックは、書き込むには現在の段落にあまりに近い、次に利用可能な線４１０とアラインする。
【０１９４】
例えば、図３２Ａは、２行のテキストを有する段落を定義する活字化されたテキストブロック３２００を示す。ブロック３２００は、内側マスキング領域３２０２と外側マスキング領域３２０４とを有しており、両方とも前述されたように定義されている。この線パターンマスクの効果は、図３２Ｂに示されており、図３２Ｂにおいて、段落３２００の真下の線４１０は、円Ｆによって示された領域において目に見えたままである。図から分かるように、段落３２００内のテキストの最終行は、この線４１０からＬＰＵ１つ未満である。
【０１９５】
この状況を防止するために、追加のパディング量が、外側マスキングに対して、したがって、マスク自体に対して追加される。ＬＰＵ１つ分の外側マスキングに対して追加の１ｄｐを付加することは、偶数行の活字化されたテキスト段落（および、したがって、あらゆる活字化されたテキストブロック）の真下の線も同様にマスキングされることを保証するのに十分であり、次に利用可能な線をＬＰＵ１つ分さらに下方に出現させる。これは図３２Ｃおよび図３２Ｄに示されており、図３２Ｃおよび図３２Ｄにおいて、外側マスキング領域３２０４’は、ブロック３２００について、ブロック３２００の下側に１．５レム＋１ｄｐのパディング量を有して定義されており、それによって、円Ｇによって示された領域においてブロック３２００の真下の線４１０のマスキングをもたらす。追加の外側パディングについて、より大きな値を取り得ることが理解される。
【０１９６】
上述されたマスキングは、デジタルインクもしくは活字化されたインク、またはこれらの組み合わせを含むかどうかに関わらず、任意のテキストブロックに対して適用し得る。しかしながら、手書き入力のためのガイドを最適化するために、手書きのテキストブロックのためのマスキングは、別様に管理されてもよい。これは、活字化された段落の近くでの手書きを阻むことが望ましいことがあり得る活字化されたテキストブロックとは異なり、手書きのテキストブロックまたはデジタルインクテキストブロックの場合には、ユーザは、手書きの段落に対するコンテンツの入力を継続することが可能にされるべきであるからである。したがって、デジタルインクブロック内ならびにデジタルインクテキストブロックの真上および真下の線パターン４１０は、目に見えるべきであり、つまり、マスキングされないべきである。しかしながら、水平の範囲におけるブロック間隔、例えば、列状のブロックまたは段落の間隔を尊重するために、アライメントパターン１０００のガター１００６に関する外側マスキングは、活字化されたテキストブロックのためのそれと同様の様式で使用される。
【０１９７】
例えば、図３３Ａは、スクロールページ４００の入力領域４０８に対して入力された手書きの段落入力からレンダリングされた、デジタルインクブロック３３００を示す。活字化されたインクブロックのように、デジタルインクブロック３３００は、本システムおよび本方法によって、境界ボックス３３０２を用いて定義されて、アライメントパターン１０００とアラインする。特に、例示されているように、境界ボックス３３０２は、ブロック３３００が位置する列１００４のガター１００６とアラインされる。これらの隣接するガター１００６は、ブロック３３００の外側マスキング領域３３０４の水平部分として定義される。外側マスキング領域３３０４の垂直部分は、例示されている例において、１レムとして定義されているが、活字化されたインクブロックのように、０．７５レムの値が使用されてもよく、または、より大きい値もしくはより小さい値が使用されてもよい。
【０１９８】
デジタルインクブロック３３００の下方および上方のより小さい値の外側マスキングは、段落の真上および真下の線４１０が曖昧にされず、それによって、それらの線上でさらなる手書き入力が行われ得ることをユーザに示すことを意味する。これは、ユーザに比較的自由な入力を提供する一方で、前述された段落分け要件に関しては、問題を引き起こすことがあり得る。したがって、隣接するガター１００６を有する外側マスキングは、この段落分け要件を示すために、少なくとも段落の下方で列間外側マスキングを越えて伸ばされてもよい。例えば、図３３Ａに示されるように、ガター間外側マスキングは、ブロック３３００の下方で１．５レム＋１ｄｐ（例えば、ＬＰＵ１つ分＋１ｄｐ）伸びており、ただし、１ｄｐの追加の外側マスキング量は、段落３３００の下方の線４１０のマスキングを、偶数行の活字化されたインク段落について上記で論じられた様式と同様の様式で保証するためのものである。
【０１９９】
この間隔は、段落３３００に関する垂直なフローにおいて、さらなる手書き入力のためのガイドをユーザに対して提供するのに十分であり得るが、依然として、ユーザには、ブロック３３００のそれ（それら）に隣接する列１００４のガター１００６においてさらなる手書きを入力する傾向があることがある。なぜなら、線４１０は、依然としてその領域に表示されるからである。したがって、図３３Ａにさらに示されるように、デジタルインクブロック３３００の外側マスキング領域３３０４の水平部分は、追加の外側パディング領域３３０６内へ伸ばされて、隣接する列１００４の隣接するガター１００６を組み込む。したがって、外側マスキングの水平部分は、１．５レム＋１．５レム＝３レム（または、ＬＰＵ２つ分）の値を有する。外側マスキングの水平部分３３０４および３３０６は、図３３Ｂに示されるガターマスキングを提供する、パディングされた水平外側マスキング領域３３０８を形成する。図から分かるように、線パターン４１０は、段落３３００の手書きコンテンツの後ろ、ならびに真上および真下で目に見えているが、隣接するガター内では目に見えず、ユーザに対して、さらなる手書き入力が許容され得る場所の明確な標識を、その入力が既存の段落に対して追加されることなしに提供する。
【０２００】
アライメントパターンに関して、（デジタルインクまたは活字化されたインク）ブロックの線パターンマスキング領域またはゾーンを定義することによって、隣接するコンテンツブロックの表示を知覚可能にレンダリングすることが可能である。つまり、水平な外側マスキングは、アライメントパターン１０００のガター１００６によって、およびそのガター内で定義されるので、水平に隣接するブロックの外側マスキングは共有される（すなわち、重複する）ことができ、それにより、追加の不要な間隔がそれらの間に提供されず、例えば、デジタルインクブロックは、水平に隣接するデジタルインクブロックから６レム、または水平に隣接する活字化されたインクブロックから４．５レムだけ分離されないが、どちらのケースでも３レムだけ分離される。さらに、垂直な外側マスキングは、アライメントパターン１０００の線パターン４１０によって定義されるので、垂直に隣接するブロックの外側マスキングも共有される（すなわち、重複する）ことができ、それにより、追加の不要な間隔がそれらの間に提供されず、例えば、活字化されたインクブロックは、垂直に隣接する活字化されたインクブロックまたはデジタルインクブロックから３レム＋２ｄｐだけ分離されないが、どちらのケースでも３レムだけ分離される。
【０２０１】
図３３の例に関して、ブロック３３００の真下の線４１０上にさらなる手書きを入力すると、本システムおよび本方法による境界ボックス３３０２は、そのさらなる入力コンテンツを組み込むように伸ばされ、それにより、外側マスキング領域３３０４は、垂直なフローにおいて、すぐ次の線４１０の内側ガターマスキングを含む。
【０２０２】
線パターン背景の前述されたマスキングまたは選択的な非表示は、ＨＷＲシステム１１４によって実行される認識、およびアプリケーション１１２によるコンテンツレイアウトの応答型の取り扱いをより一般的に助けるために、手書きの好ましい入力をガイドするために使用される。手書き線パターンマスキングも、本システムおよび本方法によって使用されて、コンテンツレイアウト構造自体の検出および認識を助ける。本システムおよび本方法の一例において、線パターンマスキングは、特に、箇条書きにされたリストおよび番号を付されたリストにおいて、手書きのリストの入力および検出を助けるために使用される。この例が、ここで、図３４から図４０に関して説明される。
【０２０３】
デジタル活字化において、テキストのリストは、典型的には、階層的な様式で構築される。つまり、リスト項目および階層においてそれらに依存するリスト項目は、通常は、初期マージン（例えば、左から右へ書かれる言語の場合には左側マージンである）からのインデントおよび／または階層内の各項目のレベルを示すために使用されるシンボルを用いて、連続する線上で分離される。
【０２０４】
図３４は、スクロールページ４００の入力領域４０８に対して入力された手書き入力からレンダリングされた、デジタルインクリスト３４００の例を示す。リスト３４００は、テキストのヘッダーまたは基礎（第１のレベルの）リスト項目３４０２を第１の線４１０上に有し、依存的な（第２のレベルの）リスト項目３４０４を後続の線４１０上に有する。第２のレベルの項目３４０４は、ダッシュであるシンボル３４０６を含み、その後に「Ｉｔｅｍ  １」という句であるテキスト３４０８が続く。この手書きのリストは、デジタルの活字化されたリストまたはタイプされたリストの一般的な外観を有しており、ただし、第１の項目３４０２は、左側マージン（または、少なくとも、リスト３４００が位置するブロックの左側に隣接する列境界）と実質的にアラインされ、第２の項目３４０４は、そのテキスト３４０８が第１の項目３４０２に関して右にインデントされ、第１の項目３４０２と実質的にアラインされるシンボル３４０６により指定された状態で、後続の線４１０上に配置される。
【０２０５】
ユーザは、リスト構造を使用して、コンテンツ３４００を入力しているので、手書きのコンテンツが活字化されたオブジェクトまたはデジタルオブジェクトへ変換される場合には、この構造が尊重されるべきである。したがって、アプリケーション１１２および／またはＨＷＲシステム１１４は、リスト構造を検出するように構成される。これは、例えば、入力３４００の認識されたコンテンツの相対的な形状を分析することによって、少なくとも部分的に行われ得る。例えば、最も単純な形態において、アプリケーション１１２、またはＨＷＲシステム１１４は、第１の項目３４０２および第２の項目３４０４の認識されたコンテンツの相対的なロケーションを検出するように構成され、認識されたダッシュ３４０６が左側マージンまたは隣接する列境界に関して線４１０の初めにあり、認識されたテキスト３４０８が続いているので、第２の項目３４０４がリスト項目であると決定する言語モデルを実装する。
【０２０６】
同様に、アプリケーション１１２、またはＨＷＲシステム１１４は、第１の項目３４０２および第２の項目３４０４のリスト階層を決定してもよい。なぜなら、第２のリスト項目３４０４には、真上の線４１０上において、ダッシュなどのシンボルを含まない、第１の項目３４０２の左揃えにされた認識されたテキストが先行しており、第２のリスト項目３４０４の相対的に検出されたインデントされたテキストコンテンツ３４０８が続いているからである。左側マージンまたは列境界に関するテキストコンテンツ３４０８の検出されたインデントは、隣接する項目との関連なしでも考慮され得る。さらに、第１の項目３４０２は、そのコンテンツの終わりに、コロンである文法上のマーク３４１０を含んでおり、これは、本システムおよび本方法によって、リスト階層を決定するためにさらに使用されてもよい。
【０２０７】
リスト項目およびリスト階層の決定は、前述されたような、手書き自体の認識のためにＨＷＲシステム１１４によって使用されたものと同様の確率的なアプローチを使用することによって達成され得る。つまり、入力要素は、その要素の認識されたコンテンツに基づいて確率スコアを割り当てられ、このスコアは、要素の検出された相対的なロケーションに基づいて変更されて、要素と関連する認識されたコンテンツとがリストの一部である尤度を示す。例えば、テキストの行の始まりにあるものとして検出される、リストにおいて典型的に使用される認識された要素またはシンボル、例えば、箇条書き、星、ダッシュ、ハイフン、矢印、チルダ、ハッシュ、または付随するマーク（例えば、括弧、円等）の有無に関わらず、数字および文字などの文字、リストにおいて典型的に使用される認識された要素またはシンボル、例えば、テキストの行の終わりにあるものとして検出されるコロン、セミコロン、コンマ、および隣接する線上のテキストに関してインデントされている認識されたテキストのリスト包含のための確率スコアは、リスト項目包含およびリスト階層検出の尤度を向上させるように割り当てられる。ただし、さらに、他の方法も取り得ることが理解される。さらに、言語モデルは、例えば、ＨＷＲシステム１１４自体の言語モデル、または専用の言語モデルであってもよい。
【０２０８】
認識と形状とのそのような組み合わせを使用することは、手書きのリスト項目の秩序だった入力についてリストを検出するのに効果的である。しかしながら、ミスアライメント、悪筆で書き込まれたまたは良好に認識されないリストシンボル等などの、理想的でない入力は、リストおよびそれらの階層の偽陽性の検出および偽陰性の検出につながる。したがって、本システムおよび本方法は、前述されたような線パターンマスキングを使用して、リスト検出を最適化する。図３４において見られるように、第２のリスト項目３４０４のダッシュ３４０６は、その下側にレンダリングされた線４１０を有する。したがって、第２のリスト項目３４０４の下方の線４１０上へのさらなるリスト項目の入力は、活字化時のリストの適切な検出を保証するために、ユーザがリストの以前の項目に関してそれらの項目のシンボルおよびテキストコンテンツをきれいにまたは適切に書き込み、アラインすることを必要とし、その成功または失敗は、活字化変換が実行されるまで分からない。この適切なアライメントに関するガイドは、認識され、検出されたリストコンテンツに関する一定のロケーションにおいて線パターンをマスキングすることを通じて提供され得る。
【０２０９】
例えば、図３５は、図３４のデジタルインクリスト３４００を示すが、図３４とは異なり、検出された第２のリスト項目３４０４の認識されたダッシュ３４０６の下の線４１０の部分は、部分的なマスキング領域３５００としてマスキングされており、一方で、検出された第２のリスト項目３４０４の認識されたテキスト部３４０８の下の線４１０は、表示されたままである。つまり、線４１０は、左端の範囲（例えば、左側マージンまたは列境界）から、検出されたリスト項目の認識されたテキストコンテンツの始まりまで表示されない。さらに、部分的なマスキング領域３５００は、第２のリスト項目３４０４の部分的にマスキングされた線４１０後の下方の後続の線４１０上で繰り返され、その結果、両方の線４１０の部分的なマスキングの終了は、破線Ｈによって示されるようにアラインされる。さらに、次の後続の線４１０はマスキングされない。このように、部分的な線マスキングは、本システムおよび本方法によって潜在的なリスト入力が検出されたことを示すので、ユーザには、手書き入力中に認識フィードバックが提供され、適切な認識のための、さらなるリスト項目およびそれらの要素の適切な配置のガイドが提供される（下記に詳細に論じられる）。
【０２１０】
マスキングされた領域３５００は、（例えば、各線４１０がマスキングされるように）各々が垂直方向において少なくともＬＰＵ１つ分にわたる別個の領域またはゾーンとして提供されてもよく、または（例えば、両方の線４１０がマスキングされるように）垂直方向において少なくともＬＰＵ２つ分にわたる単一の（結合された）領域またはゾーンとして提供されてもよい。マスキングされた領域またはゾーン３５００の水平な範囲は、先行する検出されたリスト項目および／または左側マージンもしくは列境界に関する、認識されたリストシンボルおよび／または検出されたインデントの後の、テキストコンテンツの始まりとアラインするように提供される。あるいは、または付加的に、マスキングされたゾーン３５００は、後続のリストテキストの配置にユーザをガイドするために、リストシンボルが検出されるとすぐに、例えば、ＬＰＵ２つ分から４つ分など、ＬＰＵに基づいて、所定の（かつ、例えば、ＵＩメニュー等を介して設定可能な）値だけ、水平方向へわたるように表示される。この設定された水平な広がりは、後続のリスト項目テキストの入力時に、それとアラインするように調整されてもよい。
【０２１１】
線パターン背景の部分的なマスキングは、ユーザによって望まれる場合には、さらなるリスト要素入力のための異なるゾーンを効果的に提供する。つまり、部分的にマスキングされた線４１０のマスキングされた部分３５００は、リストシンボル入力ゾーンを提供し、部分的にマスキングされた線４１０のマスキングされていない部分は、リストコンテンツ入力ゾーンを提供する。例えば、図３６は、第２のリスト項目３４０４の直後の線４１０上に付加入力３４１０を有する、図３５に表示されたようなリスト３４００を示す。入力３４１０は、それぞれの線４１０のマスキングされたゾーンにおいてシンボル３４０６を含み、それぞれの線４１０のマスキングされていないゾーン３５００において、「Ｉｔｅｍ  ２」という句であるテキスト３４１２を含む。したがって、入力３４１０は、本システムおよび本方法によって、リストシンボルゾーンにおける認識されたダッシュ３４０６および／またはコンテンツ入力ゾーンにおける認識されたテキスト３４１２の検出に少なくとも起因して、依存的な（第２のレベルの）リスト項目として検出される。結果として、部分的にマスキングされた領域３５００は、新しいリスト項目３４１０を含む線４１０の下の後続の線４１０まで伸ばされる。
【０２１２】
アプリケーション１１２は、一定のリスト作成上の振る舞いをユーザが厳守することを求めるように構成されてもよい。例えば、新しい（次の）線上の新しいコンテンツに関して、適当なシンボル（例えば、例示されている例のダッシュなど）が入力される場合にのみ、新しい依存的なリスト項目が検出され／認識されてもよい。あるいは、または付加的に、シンボル入力ゾーンにおける先行するシンボルの入力の有無に関わらず、コンテンツ入力ゾーンにおけるコンテンツの継続的な入力が、新しい依存的なリスト項目の検出のために可能にされてもよい。この後者のケースにおいて、本システムおよび本方法は、新しい認識された入力が検出されたコンテンツ入力ゾーンに先行するシンボル入力ゾーンにおいて、デジタルインクでレンダリングされたリストシンボルを表示してもよい。例えば、図３５に示される例示的なリスト３４００について、リスト項目３４１０のダッシュ３４０６は、例えば、リスト項目３４０４のダッシュ３４０６のコピーとして、またはデジタルデバイス１００のユーザもしくはオペレーティングシステム１１０のデジタルインクフォントにおいて、レンダリングされてもよい。そのような自動的に表示されるリストシンボルは、強調が低減された状態で、例えば、透明にして、または灰色などでレンダリングされて、前述されたものと同様の様式（例えば、シングルタップ）で、自動的に表示されたシンボルとのジェスチャインタラクションなどを通じて、シンボルが含まれるべきか否かをユーザが示すことを可能にし得る。このように、付加的な認識フィードバックがユーザに対して提供される。
【０２１３】
あるいは、または付加的に、最初の依存的な（第２のレベルの）リスト項目が、コンテンツの相対的なインデントだけに基づいて検出される場合、つまり、先行するシンボルが存在しない場合、本システムおよび本方法は、（全体的な）リストシンボルの自動的な表示の有無に関わらず、マスキングされたゾーンおよびマスキングされていないゾーンを表示するように構成されてもよい。そのため、本システムおよび本方法は、同様に配置された、および／または同様の特性を有する連続する線上の要素の手書き入力から、リストおよび新しい階層的なリスト項目を検出する。他方では、ユーザによるリストシンボルの入力または非入力は、付加的なリスト項目についての異なる階層的な意味の特徴である場合があり、したがって、先行するシンボルの有無に関わらず、連続する線上のコンテンツ入力の混合は、本システムおよび本方法によって尊重され得る。
【０２１４】
例えば、図３７は、リスト項目３４１０の直後の線４１０上に付加入力３４１４を有する、図３６に表示されたようなリスト３４００を示す。入力３４１４は、それぞれの線４１０のマスキングされていないゾーンにおいて、「Ｓｔｉｌｌ  ｉｔｅｍ  ２」という句であるテキストのみを含む。このケースにおいて、本システムおよび本方法は、テキスト３４１４を、新しい個々のリスト項目としてではなく、リスト項目３４１０の延長であると見なす。したがって、自動的なリストシンボルレンダリングが他の方法で実行される場合、そのようなリストシンボルは、テキスト３４１４に追加されない。テキスト３４１４は、第２のレベルのリスト項目３４１０の一部として検出されるので、図３７に示されるように、部分的にマスキングされた領域３５００はテキスト３４１４を含んでいる線４１０の下の後続の線４１０まで拡大される。図３７の例において、連続する入力は、次の線上の次のエントリとして行われ、認識されかつ検出された入力に応じて、本システムおよび本方法による線パターン背景の表示によって提供されるガイドに基づいて、先行する入力とアラインされる。アライメントのためのそのようなガイドも、（例えば、連続する線４１０にまたがる文内の）先行する線のコンテンツの続きとして行われる連続する入力のために実行され、それによって、連続する線にわたるリストコンテンツのデジタルインクテキスト「ラッピング」を提供する。
【０２１５】
上記の例を継続すると、図３８は、テキスト３４１４の直後の線４１０上に付加入力３４１６を有するリスト３４００を示す。入力３４１６は、それぞれの線４１０のマスキングされたゾーン３５００においてシンボル３４０６を含み、それぞれの線４１０のマスキングされていないゾーンにおいて、「Ｉｔｅｍ  ３」という句であるテキスト３４１８を含む。したがって、入力３４１６は、本システムおよび本方法によって、リストシンボルゾーンにおける認識されたダッシュ３４０６および／またはコンテンツ入力ゾーンにおける認識されたテキスト３４１８の検出に少なくとも起因して、依存的な（第２のレベルの）リスト項目として検出される。結果として、部分的にマスキングされた領域３５００は、新しいリスト項目３４１６を含む線４１０の下の後続の線４１０まで伸ばされる。したがって、検出されたリスト構造および階層は、ユーザの混合された入力に関わらず、本システムおよび本方法によって保存され、適切なリスト入力のためのガイドが、鮮明に維持される。
【０２１６】
上記で説明したように、線パターン背景の部分的なマスキングを通じた、リストシンボルまたはインデントゾーンおよびリストコンテンツゾーンの表示は、リスト要素のユーザ入力のための視覚的なガイドを提供する。しかしながら、これはまた、リストの完成のためのガイドを提供し、リストの完成の検出を支援し得る。つまり、例示された例において、リスト項目入力を含む最終行４１０に連続する部分的にマスキングされた線４１０に続く線４１０は、マスキングされていないので、ユーザは、そのマスキングされていない線４１０上に手書きによって新しい非リスト入力を行うようにガイドされる。このように、本システムおよび本方法は、段落間の空行４１０要件が観察されるので、この新しい入力を新しい段落として検出する。しかしながら、代替的な例において、リストは、本システムおよび本方法によって、段落とは異なる、または段落の一体の部分であり得る、テキストブロックのクラスとして取り扱われてもよい。つまり、最後のリスト項目の真下の線上の継続的な入力は、新しい段落または新しいリストの始まりとして、またはリストを含む同じ段落の一部として取り扱われてもよい。
【０２１７】
これらのケースのいずれにおいても、リスト項目入力の最終行に連続する線上での手書きの入力は、非リストコンテンツまたは新しいリストのリストコンテンツとして検出される。これは、リストシンボルまたはインデントゾーン内の認識されたテキストの入力を、そのような非リストコンテンツまたは新しいリストコンテンツとして取り扱うことによって、達成される。例えば、図３９は、リスト項目３４１６の直後の線４１０上に付加入力３９００を有する、図３８に表示されたようなリスト３４００を示す。入力３９００は、（図３８に示されたように）それぞれの線４１０のマスキングされたゾーン３５００において、「Ｌｉｓｔ  ｉｓ  ｏｖｅｒ」という句であるテキストを含む。このケースにおいて、本システムおよび本方法は、マスキングされたゾーン３５００における入力としての認識されたテキスト３９００がリストシンボルとして認識されないので、その結果、それは新しい段落３９００のテキストであると見なす。テキスト３９００は、リスト３４００の一部でないものとして検出されるので、図３９に示されるように、それぞれの線４１０上の部分的にマスキングされた領域３５００は、テキスト３９００全体の下に表示されるように、省略される（つまり、線４１０は完全にレンダリングされる）。
【０２１８】
この例において、リストシンボルゾーンまたはインデントゾーン内での期待されるリストシンボル以外のコンテンツの入力の検出は、本システムおよび本方法によって、（後続の入力が、その検出において第１のレベルのリスト項目という結果にならない限り）非リストコンテンツとして取り扱われる。同様に、コンテンツ入力ゾーンの（少なくとも）始まりにおける期待されたテキスト以外のコンテンツの入力の検出は、本システムおよび本方法によって、新しい階層的なリスト入力として取り扱われてもよい。例えば。図４０は、図３５に表示されたようなリスト３４００を、第２のリスト項目３４０４の直後の線４１０上の付加入力３４１０’と共に示す。入力３４１０’は、図３６の入力３４１０のシンボル３４０６およびテキスト３４１２を含むが、図３６とは異なり、シンボル３４０６とテキスト３４１２との両方が、（図３６に示されるような）それぞれの線４１０のマスキングされていないゾーンまたはコンテンツ入力ゾーンにおいて入力されている。前述と同様に、認識されたシンボル３４０６と認識されたテキスト３４１２とが相対的に同じ場所に設定されていることに起因して、本システムおよび本方法は、入力３４１０’を依存的なリスト項目として検出する。しかしながら、先行する入力３４０４に対する入力３４１０’の相対的なロケーション（例えば、インデント）および／または左側マージンもしくは列境界は、リスト項目３４１０’を、検出されたリスト３４００の階層内の依存的な（第３のレベルの）リスト項目として検出することをもたらす。
【０２１９】
この決定に基づいて、検出された第３のリスト項目３４１０’の認識されたダッシュ３４０６の下の線４１０の部分は、部分的なマスキング領域４０００としてマスキングされ、一方で、検出された第２のリスト項目３４０４の認識されたテキスト部分３４１２の下の線４１０は、表示されたままとなる。つまり、線４１０は、左端の範囲（例えば、左側マージンまたは列境界）から、検出されたリスト項目の認識されたテキストコンテンツの始まりまで表示されない。さらに、部分的なマスキング領域４０００は、第３のリスト項目３４１０の部分的にマスキングされた線４１０後の線４１０の下方の後続の線４１０で繰り返され、その結果、両方の線４１０の部分的なマスキングの終了が、破線Ｉで示されるようにアラインされる。以降の線４１０は、第２のリスト項目３４０４の階層的なリスト構造を保存するために、部分的なマスキング領域３５００としてマスキングされる。
【０２２０】
本システムおよび本方法は、ユーザ、例えば、学生、学者および実務専門家などが、例えば、講義中、会議中、およびブレーンストーミングセッション中などに、自身のコンピューティングデバイス上で、ワードプロセシングされた文書と同様の、有意義かつ共有可能なフォーマットで手書きのノートを取ることを可能にするアプリケーションを提供する。本システムおよび本方法は、自然な書き込みが入力されることをさらに可能にする。なぜなら、書き込みは、（罫）線上で行われ、認識された書き込みコンテンツの検出されたレイアウトに関する、それらの線の適応的な表示によってガイドされ、段落および他のレイアウト要素は、向き（すなわち、縦向きまたは横向き）およびデバイス表示能力に応答して尊重されるからである。
【０２２１】
ノートにおいて作成された、手書きのもしくは活字化されたテキスト、または非テキストコンテンツとのさらなるインタラクション、例えば、そのコンテンツを編集すること、ノートのレイアウトを操作すること、またはノートを文書へ変換すること、もしくは文書にノートを追加することなどは、ノートを別個の文書処理アプリケーションへインポートする必要なしに、アプリケーション自体の内部で直接実行され得る。そのため、手書きのノートの元のレイアウトは、実際に入力された手書き自体、すなわち、デジタルインクと同様に維持される。したがって、アノテーション、装飾物、特別なレイアウト、等は撮影されたノートの容易な理解のために維持される。
【０２２２】
前述の内容は、ベストモードおよび／または他の例と見なされるものを説明してきたが、その中で様々な変更が行われてもよいこと、ならびに本明細書において開示されている主題が様々な形態および例において実装されてもよいこと、ならびに、それらが多くの他の適用例、組み合わせ、および環境において適用されてもよく、これらのうちの一部のみが本明細書において説明されてきたことが理解される。当業者は、主題の真の趣旨および範囲から逸脱せずに、開示された態様が変形されまたは修正されてもよいことを認識するであろう。したがって、主題は、本説明における特定の詳細、展示、および例示された例に限定されない。それは、本明細書において開示された有利な概念の真の範囲以内に収まる、ありとあらゆる変更およびバリエーションを保護することが意図される。
【図１】
2018533782.tif 000009
【図２】
2018533782.tif 000010
【図３】
2018533782.tif 000011
【図４】
2018533782.tif 000012
【図５Ａ】
2018533782.tif 000013
【図５Ｂ】
2018533782.tif 000014
【図６Ａ】
2018533782.tif 000015
【図６Ｂ】
2018533782.tif 000016
【図７Ａ】
2018533782.tif 000017
【図７Ｂ】
2018533782.tif 000018
【図８】
2018533782.tif 000019
【図９】
2018533782.tif 000020
【図１０】
2018533782.tif 000021
【図１１】
2018533782.tif 000022
【図１２Ａ】
2018533782.tif 000023
【図１２Ｂ】
2018533782.tif 000024
【図１３】
2018533782.tif 000025
【図１４】
2018533782.tif 000026
【図１５】
2018533782.tif 000027
【図１６Ａ】
2018533782.tif 000028
【図１６Ｂ】
2018533782.tif 000029
【図１７Ａ】
2018533782.tif 000030
【図１７Ｂ】
2018533782.tif 000031
【図１８Ａ】
2018533782.tif 000032
【図１８Ｂ】
2018533782.tif 000033
【図１８Ｃ】
2018533782.tif 000034
【図１８Ｄ】
2018533782.tif 000035
【図１８Ｅ】
2018533782.tif 000036
【図１９Ａ】
2018533782.tif 000037
【図１９Ｂ】
2018533782.tif 000038
【図１９Ｃ】
2018533782.tif 000039
【図２０Ａ】
2018533782.tif 000040
【図２０Ｂ】
2018533782.tif 000041
【図２１Ａ】
2018533782.tif 000042
【図２１Ｂ】
2018533782.tif 000043
【図２２Ａ】
2018533782.tif 000044
【図２２Ｂ】
2018533782.tif 000045
【図２３Ａ】
2018533782.tif 000046
【図２３Ｂ】
2018533782.tif 000047
【図２３Ｃ】
2018533782.tif 000048
【図２３Ｄ】
2018533782.tif 000049
【図２３Ｅ】
2018533782.tif 000050
【図２３Ｆ】
2018533782.tif 000051
【図２４】
2018533782.tif 000052
【図２５】
2018533782.tif 000053
【図２６】
2018533782.tif 000054
【図２７】
2018533782.tif 000055
【図２８Ａ】
2018533782.tif 000056
【図２８Ｂ】
2018533782.tif 000057
【図２９Ａ】
2018533782.tif 000058
【図２９Ｂ】
2018533782.tif 000059
【図３０Ａ】
2018533782.tif 000060
【図３０Ｂ】
2018533782.tif 000061
【図３０Ｃ】
2018533782.tif 000062
【図３１Ａ】
2018533782.tif 000063
【図３１Ｂ】
2018533782.tif 000064
【図３２Ａ】
2018533782.tif 000065
【図３２Ｂ】
2018533782.tif 000066
【図３２Ｃ】
2018533782.tif 000067
【図３２Ｄ】
2018533782.tif 000068
【図３３Ａ】
2018533782.tif 000069
【図３３Ｂ】
2018533782.tif 000070
【図３４】
2018533782.tif 000071
【図３５】
2018533782.tif 000072
【図３６】
2018533782.tif 000073
【図３７】
2018533782.tif 000074
【図３８】
2018533782.tif 000075
【図３９】
2018533782.tif 000076
【図４０】
2018533782.tif 000077
【国際調査報告】
2018533782.tif 000078
2018533782.tif 000079