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

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

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

特許7105695デジタルインク対話性のためのシステムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-14
(45)【発行日】2022-07-25
(54)【発明の名称】デジタルインク対話性のためのシステムおよび方法
(51)【国際特許分類】
   G06V 30/19 20220101AFI20220715BHJP
   G06V 30/12 20220101ALI20220715BHJP
   G06F 3/04883 20220101ALI20220715BHJP
【FI】
G06V30/19 G
G06V30/12 J
G06F3/04883
【請求項の数】 18
(21)【出願番号】P 2018535865
(86)(22)【出願日】2017-01-09
(65)【公表番号】
(43)【公表日】2019-04-18
(86)【国際出願番号】 EP2017000020
(87)【国際公開番号】W WO2017118609
(87)【国際公開日】2017-07-13
【審査請求日】2020-01-09
(31)【優先権主張番号】16290002.1
(32)【優先日】2016-01-07
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】15/083,195
(32)【優先日】2016-03-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515295429
【氏名又は名称】マイスクリプト
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジャン-ニコラス ギアヴァーシュ
(72)【発明者】
【氏名】ステファヌ ギイタン
(72)【発明者】
【氏名】ギルダス ルマリエ
(72)【発明者】
【氏名】アラン シャテネール
【審査官】新井 則和
(56)【参考文献】
【文献】特開2003-178257(JP,A)
【文献】特開2014-219900(JP,A)
【文献】特開平04-336688(JP,A)
【文献】特開2005-166060(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00-30/424
G06F 3/04883
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスに対話型インクを供給するためのシステムであって、前記コンピューティングデバイスは、プロセッサ、メモリ、および前記プロセッサの制御の下に手書き入力を認識するための少なくとも1つの非一時的なコンピューター読み取り可能な媒体を備え、前記プロセッサは、
前記コンピューティングデバイスのディスプレイインターフェース上に、第1の手書き入力に従って第1のデジタルインクを表示させ、
前記第1のデジタルインクのデジタルインク要素に参照を割り当て、前記第1の デジタルインクの前記デジタルインク要素は、ストロークであり、前記ストロークの各々は、ストローク開始位置、ストローク終了位置、および前記ストローク開始位置と前記ストローク終了位置とを結ぶパスによって特性化され、前記参照は、i)時間的順序および/または空間的順序において前記ストロークをインデックス付けすることによる前記第1のデジタルインクの前記デジタルインク要素に対する第1のインデクセーションと、ii)いくつかのストロークセグメントに前記第1のインデクセーションによってインデックス付けされた各ストロークをセグメント化することおよび各ストロークセグメントをインデックス付けすることによる前記第1のデジタルインクの前記デジタルインク要素に対する第2のインデクセーションとをもたらし、
認識された要素に前記ストロークをセグメント化することによって前記第1のデジタルインクを認識した後、インクオブジェクトを供給するために、前記第1のデジタルインクの前記デジタルインク要素の対応する前記参照の上に、前記第1の手書き入力の対応する認識された要素に複数の少なくとも空間的な参照をマップし、前記認識された要素は、キャラクタおよびワードであり
前記コンピューティングデバイスの前記メモリに、前記複数のセグメンテーションの各々と、対応するマップされた前記認識された要素の各々とに基づいて順序付けられる前記インクオブジェクトを決定し記憶する
ように構成されることを特徴とするシステム。
【請求項2】
前記デジタルインク要素は、前記第1のデジタルインクに関するストロークのうちの少なくとも一部であることを特徴とする請求項1に記載のシステム。
【請求項3】
前記認識された要素は、前記第1の手書き入力に関するストロークのうちの少なくとも一部を含むことを特徴とする請求項1に記載のシステム。
【請求項4】
前記認識された要素は、前記第1の手書き入力の認識候補であることを特徴とする請求項3に記載のシステム。
【請求項5】
前記プロセッサは、
前記インクオブジェクトを参照することによって第2の手書き入力のコンテンツを決定し、
前記ディスプレイインターフェース上に、前記第2の手書き入力の前記決定されたコンテンツに従って第2のデジタルインクを表示させる
ようにさらに構成されることを特徴とする請求項1に記載のシステム。
【請求項6】
前記第2のデジタルインクは、前記第1のデジタルインクのうちの少なくとも一部の編集されたバージョンであることを特徴とする請求項5に記載のシステム。
【請求項7】
コンピューティングデバイスに対話型インクを供給するための方法であって、前記コンピューティングデバイスは、プロセッサ、メモリ、および前記プロセッサの制御の下に手書き入力を認識するための少なくとも1つの非一時的なコンピューター読み取り可能な媒体を備え、
前記コンピューティングデバイスのディスプレイインターフェース上に、第1の手書き入力に従って第1のデジタルインクを表示するステップと、
前記第1のデジタルインクのデジタルインク要素に参照を割り当てるステップであって、前記第1のデジタルインクの前記デジタルインク要素は、ストロークであり、前記ストロークの各々は、ストローク開始位置、ストローク終了位置、および前記ストローク開始位置と前記ストローク終了位置とを結ぶパスによって特性化され、前記参照は、i)時間的順序および/または空間的順序において前記ストロークをインデックス付けすることによる前記第1のデジタルインクの前記デジタルインク要素に対する第1のインデクセーションと、ii)いくつかのストロークセグメントに前記第1のインデクセーションによってインデックス付けされた各ストロークをセグメント化することおよび各ストロークセグメントをインデックス付けすることによる前記第1のデジタルインクの前記デジタルインク要素に対する第2のインデクセーションとをもたらす、ステップと、
認識された要素に前記ストロークをセグメント化することによって前記第1のデジタルインクを認識した後、インクオブジェクトを供給するために、前記第1のデジタルインクの前記デジタルインク要素の対応する前記参照の上に、前記第1の手書き入力の対応する認識された要素に複数の少なくとも空間的な参照をマップするステップであって、前記認識された要素は、キャラクタおよびワードである、ステップ と、
前記コンピューティングデバイスの前記メモリに、前記複数のセグメンテーションの各々と、対応するマップされた前記認識された要素の各々とに基づいて順序付けられる前記インクオブジェクトを決定し記憶するステップと
を備えることを特徴とする方法。
【請求項8】
前記デジタルインク要素は、前記第1のデジタルインクに関するストロークのうちの少なくとも一部であることを特徴とする請求項7に記載の方法。
【請求項9】
前記認識された要素は、前記第1の手書き入力に関するストロークのうちの少なくとも一部を含むことを特徴とする請求項7に記載の方法。
【請求項10】
前記認識された要素は、前記第1の手書き入力の認識候補であることを特徴とする請求項9に記載の方法。
【請求項11】
前記インクオブジェクトを参照することによって第2の手書き入力のコンテンツを決定するステップと、
前記ディスプレイインターフェース上に、前記第2の手書き入力の前記決定されたコンテンツに従って第2のデジタルインクを表示させるステップと
をさらに備えることを特徴とする請求項7に記載の方法。
【請求項12】
前記第2のデジタルインクは、前記第1のデジタルインクのうちの少なくとも一部の編集されたバージョンであることを特徴とする請求項11に記載の方法。
【請求項13】
具現されたコンピューター読み取り可能なプログラムコードを有する非一時的なコンピューター読み取り可能な媒体であって、前記コンピューター読み取り可能なプログラムコードは、コンピューティングデバイスに対話型インクを供給するための方法を実装するために実行されるように適合され、前記コンピューティングデバイスは、プロセッサ、メモリ、および前記プロセッサの制御の下に手書き入力を認識するための少なくとも1つの非一時的なコンピューター読み取り可能な媒体を備え、前記方法は、
前記コンピューティングデバイスのディスプレイインターフェース上に、第1の手書き入力に従って第1のデジタルインクを表示するステップと、
前記第1のデジタルインクのデジタルインク要素に参照を割り当てるステップであって、前記第1のデジタルインクの前記デジタルインク要素は、ストロークであり、前記ストロークの各々は、ストローク開始位置、ストローク終了位置、および前記ストローク開始位置と前記ストローク終了位置とを結ぶパスによって特性化され、前記参照は、i)時間的順序および/または空間的順序において前記ストロークをインデックス付けすることによる前記第1のデジタルインクの前記デジタルインク要素に対する第1のインデクセーションと、ii)いくつかのストロークセグメントに前記第1のインデクセーションによってインデックス付けされた各ストロークをセグメント化することおよび各ストロークセグメントをインデックス付けすることによる前記第1のデジタルインクの前記デジタルインク要素に対する第2のインデクセーションとをもたらす、ステップと、
認識された要素に前記ストロークをセグメント化することによって前記第1のデジタルインクを認識した後、インクオブジェクトを供給するために、前記第1のデジタルインクの前記デジタルインク要素の対応する前記参照の上に、前記第1の手書き入力の対応する認識された要素に複数の少なくとも空間的な参照をマップするステップであって、前記認識された要素は、キャラクタおよびワードである、ステップ と、
前記コンピューティングデバイスの前記メモリに、前記複数のセグメンテーションの各々と、対応するマップされた前記認識された要素の各々とに基づいて順序付けられる前記インクオブジェクトを決定し記憶するステップと
を備えることを特徴とする非一時的なコンピューター読み取り可能な媒体。
【請求項14】
前記デジタルインク要素は、前記第1のデジタルインクに関するストロークのうちの少なくとも一部であることを特徴とする請求項13に記載の非一時的なコンピューター読み取り可能な媒体。
【請求項15】
前記認識された要素は、前記第1の手書き入力に関するストロークのうちの少なくとも一部を含むことを特徴とする請求項13に記載の非一時的なコンピューター読み取り可能な媒体。
【請求項16】
前記認識された要素は、前記第1の手書き入力の認識候補であることを特徴とする請求項15に記載の非一時的なコンピューター読み取り可能な媒体。
【請求項17】
前記方法は、
前記インクオブジェクトを参照することによって第2の手書き入力のコンテンツを決定するステップと、
前記ディスプレイインターフェース上に、前記第2の手書き入力の前記決定されたコンテンツに従って第2のデジタルインクを表示させるステップと
をさらに備えることを特徴とする請求項13に記載の非一時的なコンピューター読み取り可能な媒体。
【請求項18】
前記第2のデジタルインクは、前記第1のデジタルインクのうちの少なくとも一部の編集されたバージョンであることを特徴とする請求項17に記載の非一時的なコンピューター読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本記述は、一般にコンピューティングデバイスを用いたインク管理システムおよび方法の分野に関する。本記述は、より具体的にはインクの対話性をもたらすために、コンピューティングデバイスインターフェースに手書きされたインクを管理することに関する。
【背景技術】
【0002】
関連出願の相互参照
本出願は、参照によりその内容全体が本明細書に組み込まれている、2016年1月7日に出願した欧州特許出願公開第16290002.1号の優先権を主張するものである。
【0003】
コンピューティングデバイスは日常生活に、より普遍的になり続けている。それらは、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、ハイブリッドコンピュータ(2-in-1)、電子ブックリーダ、携帯電話、スマートフォン、ウェアラブルコンピュータ(スマートウオッチ、スマートグラス/ヘッドセットを含む)、全地球測位システム(GPS)ユニット、エンタープライズデジタルアシスタント(EDA)、携帯情報端末(PDA)、ゲーム機などの形をとる。さらにコンピューティングデバイスは、自動車、トラック、農機具、製造装置、建物環境制御(例えば照明、HVAC)、ならびに家庭用および商用電気製品などの、車両および機器に組み込まれつつある。
【0004】
コンピューティングデバイスは一般に、中央処理装置(CPU)などの少なくとも1つの処理要素、何らかの形のメモリ、ならびに入力および出力デバイスからなる。多様なコンピューティングデバイスおよびそれに続くそれらの使用は、多様なインターフェースおよび入力デバイスを必要とする。1つのこのような入力デバイスは、タッチスクリーンまたはタッチパッドなどのタッチセンシティブ面であり、ユーザ入力はユーザの指、またはペンもしくはスタイラスなどの道具と、タッチセンシティブ面との間の接触を通して受け取られる。他の入力デバイスは、入力面の上でユーザによってなされるジェスチャを感知する入力面である。他の入力デバイスはタッチまたは、非タッチ物理もしくは仮想面との非タッチ対話の相対位置を検出する位置検出システムである。これらの入力の方法のいずれも、一般に描画またはテキストの入力のために用いられることができる。ユーザの手書きは、手書き文字認識システムまたは方法を用いて解釈される。
【0005】
ノートをとること、文書注釈、数式入力および計算、音楽記号入力、スケッチおよび描画などにおいて、スマートフォン、ファブレットおよびタブレットなどのポータブルコンピューティングデバイスで、手書き文字認識の多くのアプリケーションがある。手書きはまた、特にデスクトップコンピュータのためのタッチスクリーンモニタおよび対話型ホワイトボードの増大する利用可能性と共に、非ポータブルコンピューティングデバイスにも入力されることができる。これらのタイプの入力は通常ユーザが、デバイス内でローカルにまたはデバイスの通信リンクを通じてリモートに、タッチセンシティブ面上の手書きの入力を受け入れおよび解釈し、この入力をいわゆる「デジタルインク」として表示または他のやり方でレンダリングする、コンピューティングデバイス上の手書き入力アプリケーションを起動することによって行われる。従来このような手書き入力アプリケーションは、これらのアプリケーションは文書作成ではなく主として認識精度に焦点が当てられてきたので、ユーザにテキストおよび非テキスト(例えば描画、式)からの全部の文書作成エクスペリエンスをもたらすそれらの能力において限定される。すなわち利用可能なアプリケーションは、手書きの認識、およびユーザへの様々なフィードバック機構を用いた、フォント化されたまたは「タイプセットされたインク」としてレンダリングされた、認識された手書きからデジタルコンテンツへの変換をもたらすが、これは一般に入力に対して利用可能な対話の範囲である。
【0006】
ユーザが、コンテンツを編集する、コンテンツのレイアウトを操作する、または文書内でのノートまたは他の注釈の変換もしくは追加など、出力されたテキストとさらなる対話を望む場合、認識された手書きコンテンツは、一般に別の文書処理アプリケーションにインポートされるまたは他のやり方で統合される必要がある。これは例えば認識された手書きから、適切なフォーマットの適切なタイプセットされたインクへのタイプセッティングを通して自動的に、または手書きの冗長なタイピング入力を通して手動で行われることができる。後者の手動プロセスは本質的に非生産的であり、具体的には手書き文字認識の知覚される精度が低い、またはもとの手書きのレイアウトを保つためのアプリケーションの能力が信頼できないときに行われる。前者の自動プロセス自体は大きな問題を提起することはないが、もとの手書きのレイアウトおよび実際の入力された手書き自体、デジタルインクは通常、インポートプロセスにおいて廃棄されるので、ユーザはもとの意図を確かめるために、戻ってもとの手書きを参照しなければならない。例えばユーザは、注釈または装飾によってまたはコンテンツ自体のレイアウトを通して、いくつかのワードまた部分を強調している場合がある。
【0007】
いくつかの利用可能なデジタル手書きアプリケーションは、デジタルインクを編集する能力をもたらす。しかしこれは一般に、何らかの種類の制御を引き起こすための、例えばメニューを起動するまたはプロセスを実行するための特定のジェスチャの入力を通してなされる。本出願人は、手書きアプリケーションを用いるときユーザは一般に、自然または直感的ではない特定のジェスチャを学ぶこと、またはメニューなどを通して編集選択を行うことが、できないまたは望まないことを見出した。さらにデジタルインク編集をもたらすための特定の学んだ方法に対する必要条件は、すべてのユーザがデジタルインク対話のための必要な挙動を学ばなければならないので、このようなアプリケーションおよびより一般にデジタル手書きの有用性を制限する。
【0008】
従って例えば複数の当事者、具体的には企業組織内の異なる領域または専門分野からの当事者によって文書が作成され、編集され、修正され、レビューされるなどの共有または協働的使用において、異なる「チーム」メンバの、手書きを用いたデジタル文書と対話する能力は様々であり、その結果可能な生産性は限定される。例えば組織階層における上級管理職のメンバはデジタル手書きに対する経験が限られている場合があり、従って手書きを用いた文書と対話できない場合がある。同様な問題は、ハードウェアツール例えばキーボードおよびマウス、および/またはソフトウェアツール例えばユーザインターフェース(UI)ツールおよびメニューなどの、文書処理アプリケーションと共に通常用いられる非手書きツールに対しても生じる。
【0009】
さらにデジタル手書きを用いて作成されたコンテンツに対する編集または他の対話のために、特定のUIおよび/またはハードウェアツールを用いる必要性は、ユーザの創造的な流れに対して混乱を引き起こす場合がある。従ってコンテンツとの対話のやり方は、使用しやすく、直感的で、コンテンツの入力自体に混乱を起こさないものとするべきである。
【先行技術文献】
【特許文献】
【0010】
【文献】米国特許出願公開第2017/0060819号明細書
【文献】米国特許出願公開第2017/0060406号明細書
【文献】米国特許出願公開第2017/0161866号明細書
【文献】米国特許出願公開第2017/0153806号明細書
【発明の概要】
【課題を解決するための手段】
【0011】
本明細書において以下で述べられる本発明の例は、コンピューティングデバイス上に対話型インクをもたらすためのシステムおよび方法をもたらす。
【0012】
一例においてコンピューティングデバイスはプロセッサ、およびプロセッサの制御下で手書き入力を認識するための少なくとも1つの非一時的コンピュータ可読媒体を含むことができる。非一時的コンピュータ可読媒体は、コンピューティングデバイスのディスプレイインターフェース上に、第1の手書き入力に従って第1のデジタルインクを表示させ、第1のデジタルインクのインク要素に参照を割り当て、参照を、対応する第1の手書き入力の認識された要素にマップし、コンピューティングデバイスのメモリに、参照およびマップされた認識された要素を含んだインクオブジェクトを決定し記憶するように構成されることができる。
【0013】
インク要素は、第1のデジタルインクのストローク少なくとも一部とすることができ、認識された要素は、第1の手書き入力のストロークの少なくとも一部を含むことができる。さらに認識された要素は、第1の手書き入力の認識候補とすることができる。
【0014】
少なくとも1つの非一時的コンピュータ可読媒体は、インクオブジェクトを参照することによって第2の手書き入力のコンテンツを決定し、ディスプレイインターフェース上に、第2の手書き入力の決定されたコンテンツに従って第2のデジタルインクを表示させるようにさらに構成されることができる。第2のデジタルインクは、第1のデジタルインクの少なくとも一部の編集されたバージョンとすることができる。
【0015】
他の例において本発明は、コンピューティングデバイス上に対話型インクをもたらす方法を含む。各コンピューティングデバイスはプロセッサ、およびプロセッサの制御下で手書き入力を認識するための少なくとも1つの非一時的コンピュータ可読媒体を備えることができる。方法は、コンピューティングデバイスのディスプレイインターフェース上に、第1の手書き入力に従って第1のデジタルインクを表示するステップと、第1のデジタルインクのインク要素に参照を割り当てるステップと、参照を、対応する第1の手書き入力の認識された要素にマップするステップと、コンピューティングデバイスのメモリに、参照およびマップされた認識された要素を含んだインクオブジェクトを決定し記憶するステップとを含む。
【0016】
インク要素は、第1のデジタルインクのストローク少なくとも一部とすることができ、認識された要素は、第1の手書き入力のストロークの少なくとも一部を含むことができる。さらに認識された要素は、第1の手書き入力の認識候補とすることができる。
【0017】
方法は、インクオブジェクトを参照することによって第2の手書き入力のコンテンツを決定するステップと、ディスプレイインターフェース上に、第2の手書き入力の決定されたコンテンツに従って第2のデジタルインクを表示させるステップとをさらに含むことができる。第2のデジタルインクは、第1のデジタルインクの少なくとも一部の編集されたバージョンとすることができる。
【0018】
他の例において本発明は、その中に具体化されたコンピュータ可読プログラムコードを有する非一時的コンピュータ可読媒体を含む。コンピュータ可読プログラムコードは、コンピューティングデバイスに対話型インクをもたらす方法を実施するために実行されるように適合されることができる。コンピューティングデバイスはプロセッサ、およびプロセッサの制御下で手書き入力を認識するための少なくとも1つのシステム非一時的コンピュータ可読媒体を備えることができる。方法は、コンピューティングデバイスのディスプレイインターフェース上に、第1の手書き入力に従って第1のデジタルインクを表示するステップと、第1のデジタルインクのインク要素に参照を割り当てるステップと、参照を、対応する第1の手書き入力の認識された要素にマップするステップと、コンピューティングデバイスのメモリに、参照およびマップされた認識された要素を含んだインクオブジェクトを決定し記憶するステップとを含むことができる。
【0019】
インク要素は、第1のデジタルインクのストロークの少なくとも一部とすることができ、認識された要素は、第1の手書き入力のストロークの少なくとも一部を含むことができる。さらに認識された要素は、第1の手書き入力の認識候補とすることができる。
【0020】
方法は、インクオブジェクトを参照することによって第2の手書き入力のコンテンツを決定するステップと、ディスプレイインターフェース上に、第2の手書き入力の決定されたコンテンツに従って第2のデジタルインクを表示させるステップとをさらに含むことができる。第2のデジタルインクは、第1のデジタルインクの少なくとも一部の編集されたバージョンとすることができる。
【図面の簡単な説明】
【0021】
本システムおよび方法は、その例の以下の詳細な説明を図面と併せ読めば十分に理解されるであろう。図面において類似の参照番号は、類似の要素を示す。
図1】本システムおよび方法の例によるコンピューティングデバイスのブロック図である。
図2】本システムおよび方法の例による手書き文字認識のためのシステムのブロック図である。
図3】本システムおよび方法の例による図2の手書き文字認識システムの詳細を示すブロック図である。
図4】コンピューティングデバイスの入力面の一部分上のインク入力エリアの、例示の視覚的レンダリングの概略図である。
図5】デジタルインクとしてレンダリングされた、入力エリアに入力された例示の手書きのコンテンツを示す図である。
図6図5の手書きのコンテンツをタイプセットした結果を示す図である。
図7】手書きのストロークの例示のグループが強調表示された、図5のコンテンツを示す図である。
図8】部分的手書きのストロークの例示のグループが強調表示された、図5のコンテンツを示す図である。
図9】部分的手書きのストロークの例示のグループが強調表示された、図5のコンテンツを示す図である。
図10】デジタルインクとしてレンダリングされた、入力エリアに入力された例示の手書きのコンテンツを示す図である。
図11A】例示の参照セグメンテーションの表示を有する、図10の手書きの入力を示す図である。
図11B】手書きの入力のデジタルインクから分離された参照セグメンテーションを示す図である。
図12A】例示の認識の表示を有する、図10の手書きの入力を示す図である。
図12B】いくつかの例示の認識のセグメンテーションを有する、図10の手書きの入力を示す図である。
図13A】例示の入力編集ジェスチャを有する、図10のデジタルインクを示す図である。
図13B図13Aの編集ジェスチャに基づくデジタルインクの例示の調整を示す図である。
図13C】調整された例示のセグメンテーションの表示を有する、例示の調整された認識と共に、調整されたデジタルインクを示す図である。
図14A】例示の入力編集ジェスチャを有する、図10のデジタルインクを示す図である。
図14B図14Aの編集ジェスチャに基づく、例示のデジタルインクの調整を示す図である。
図14C】新たなデジタルインクとしてレンダリングされた、入力エリアに入力された新たな例示の手書きのコンテンツを有する、調整されたデジタルインクを示す図である。
図14D】調整された例示のセグメンテーションの表示を有する、例示の調整された認識と共に、調整されたおよび新たなデジタルインクを示す図である。
図15A】選択されたように強調表示された例示のコンテンツ部分を有する、図5のデジタルインクを示す図である。
図15B】選択されたように強調表示された例示のコンテンツ部分を有する、図6のタイプセットされたインクを示す図である。
【発明を実施するための形態】
【0022】
以下の詳しい説明において、関連のある教示の十分な理解をもたらすために、例として数多くの特定の詳細が記載される。しかし当業者には、本教示はこのような詳細なしに実施されることができることが明らかであろう。他の場合において本教示の態様が不必要に不明瞭になるのを避けるために、よく知られている方法、手順、構成要素、および/または回路は、詳細なしに比較的高いレベルで記述される。
【0023】
本記述において「テキスト」という用語の使用は、任意の書き言葉におけるすべての英数字およびその文字列、および一般的な非英数字、例えば書かれたテキスト内で用いられる記号を包含するものと理解される。さらに本記述における「非テキスト」という用語は、自由形式の手書きまたは手描きのコンテンツおよびレンダリングされたテキストおよび画像データ、ならびに非テキストの関連において用いられる非英数字およびその文字列、および英数字およびその文字列を包含するものと理解される。さらにこれらの図面に示される例は、左から右への書き言葉の関連におけるものであり、従って位置への任意の参照は、異なる方向性フォーマットを有する書き言葉に適応されることができる。
【0024】
本明細書で述べられる様々な技術は一般に、コンテンツの入力されたスタイルを保持し、同時にそのコンテンツの忠実なタイプセットまたは美化されたバージョンへの変換を可能にするやり方での、ポータブルおよび非ポータブルコンピューティングデバイス上の手描きおよび手書きのコンテンツの捕捉、処理、および管理に関する。本明細書で述べられるシステムおよび方法は、コンピューティングデバイスに接続されたまたはそれのタッチセンシティブスクリーンなどの入力面を通じて、またはコンピューティングデバイスに接続されたデジタルペンまたはマウスなどの入力デバイスを通じて、または位置検出システムによってモニタされる物理または仮想面を通じて、コンピューティングデバイスに入力されたユーザの自然な書き込みおよび描画スタイルの認識を利用することができる。様々な例が、いわゆるオンライン認識技法を用いた手書き入力の認識に関連して述べられるが、デジタルインクではなく画像が認識されるオフライン認識などの認識のための、他の入力の形への応用が可能であることが理解される。手描きおよび手書きという用語は、デジタルまたはデジタル的に接続された媒体上への直接の、またはハンドヘルドスタイラスなどの入力ツールを通じた、彼等の手の使用を通したユーザによるデジタルコンテンツの作成を定義するために、本明細書では同義的に用いられる。本明細書では「手」という用語は入力技法の簡潔な記述をもたらすために用いられるが、足、口、または目など、同様な入力のためのユーザの身体の他の部分の使用はこの定義に含まれる。
【0025】
図1は、例示のコンピューティングデバイス100のブロック図を示す。コンピューティングデバイスは、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、ハイブリッドコンピュータ(2-in-1)、電子ブックリーダ、携帯電話、スマートフォン、ウェアラブルコンピュータ、デジタル腕時計、対話型ホワイトボード、全地球測位システム(GPS)ユニット、エンタープライズデジタルアシスタント(EDA)、携帯情報端末(PDA)、ゲーム機などとすることができる。コンピューティングデバイス100は、少なくとも1つの処理要素、何らかの形のメモリ、ならびに入力および/または出力(I/O)デバイスの構成要素を含む。構成要素は、コネクタ、ライン、バス、ケーブル、バッファ、電磁気的リンク、ネットワーク、モデム、トランスデューサ、IRポート、アンテナ、またはその他当業者に知られているものなどの、入力および出力を通して互いに通信する。
【0026】
示されるコンピューティングデバイス100の例は、画像、テキスト、およびビデオなど、コンピューティングデバイスからデータを出力するための少なくとも1つのディスプレイ102を有する。ディスプレイ102は、LCD、プラズマ、LED、iOLED、CRT、または当業者に知られているようなタッチセンシティブのまたはそうでない任意の他の適切な技術を用いることができる。ディスプレイ102の少なくともいくつかは、少なくとも1つの入力面104と同じ場所に配置される。入力面104は、抵抗性、表面弾性波、容量性、赤外線グリッド、赤外線アクリル投影、光学イメージング、分散信号技術、音響パルス認識、または当業者に知られているようなユーザ入力を受け取るための任意の他の適切な技術などの技術を使用することができる。入力面104は、その境界を明瞭に識別する永続的なまたはビデオによって生成される縁取りによって、境界付けられることができる。オンボードディスプレイの代わりにまたはそれに加えて、コンピューティングデバイス100は投影型ディスプレイ能力を有することができる。
【0027】
コンピューティングデバイス100は、ローカルインターフェースを通じて通信可能に結合された、1つまたは複数の追加のI/Oデバイス(または周辺装置)を含むことができる。追加のI/Oデバイスは、キーボード、マウス、スキャナ、マイクロフォン、タッチパッド、バーコードリーダ、レーザリーダ、無線周波数デバイスリーダ、または当業者に知られている任意の他の適切な技術などの入力デバイスを含むことができる。さらにI/Oデバイスは、プリンタ、バーコードプリンタ、または当業者に知られている任意の他の適切な技術などの出力デバイスを含むことができる。さらにI/Oデバイスは、変調器/復調器(他のデバイス、システム、またはネットワークにアクセスするためのモデム)、無線周波数(RF)または他のトランシーバ、電話インターフェース、ブリッジ、ルータ、または当業者に知られている任意の他の適切な技術などの、入力および出力の両方を通信する通信デバイスを含むことができる。ローカルインターフェースは、簡単にするために省かれたが当業者には知られているコントローラ、バッファ(キャッシュ)、ドライバ、リピータ、および受信器などの、通信を可能にするための追加の要素を有することができる。さらにローカルインターフェースは、他のコンピュータ構成要素の間の適切な通信を可能にするためのアドレス、制御、および/またはデータ接続を含むことができる。
【0028】
コンピューティングデバイス100はまたプロセッサ106を含み、これはソフトウェア、具体的にはメモリ108に記憶されたソフトウェアを実行するためのハードウェアデバイスである。プロセッサは、任意の特注のまたは市販の汎用プロセッサ、中央処理装置(CPU)、半導体ベースのマイクロプロセッサ(マイクロチップ、またはチップセットの形での)を含む市販のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェア構成要素、状態機械、または当業者に知られている、ソフトウェア命令を実行するために設計されたそれらの任意の組み合わせとすることができる。
【0029】
メモリ108は、揮発性メモリ要素(例えばランダムアクセスメモリ(DRAM、SRAM、またはSDRAMなどのRAM))、および不揮発性メモリ要素(例えばROM、EPROM、フラッシュPROM、EEPROM、ハードドライブ、磁気または光テープ、メモリレジスタ、CD-ROM、WORM、DVD、安価なディスクの冗長アレイ(RAID)、他の直接アクセス記憶装置(DASD)、または任意の他の磁気、抵抗性、または相変化不揮発性メモリ)のいずれかまたは組み合わせを含むことができる。さらにメモリ108は、電子、磁気、光、および/または他のタイプの記憶媒体を組み込むことができる。メモリ108は、様々な構成要素が互いにリモートに位置するが、またプロセッサ106によってアクセスされることができる分散型アーキテクチャを有することができる。さらにメモリ108は、コンピューティングデバイス100によってリモートにアクセス可能なサーバまたはクラウドベースシステムなど、デバイスからリモートにあるものとすることができる。メモリ108はプロセッサ106に結合され、それによりプロセッサ106はメモリ108から情報を読み出し、それに情報を書き込むことができる。代替としてメモリ108は、プロセッサ106と一体とすることができる。他の例においてプロセッサ106およびメモリ108は共に、単一のASICまたは他の集積回路内に位置することができる。
【0030】
メモリ108内のソフトウェアは、オペレーティングシステム110およびインク管理システム112を含む。インク管理システム112は、1つまたは複数の個別のコンピュータプログラムをそれぞれが含むことができる手書き文字認識(HWR)システム114を任意選択でさらに含むことができる。これらのそれぞれは、論理機能を実施するための実行可能命令の順序付けられたリスティングを有する。オペレーティングシステム110は、インクマネージャ112(およびHWRシステム114)の実行を制御する。オペレーティングシステム110は、WEBOS、WINDOWS(登録商標)、MACおよびIPHONE OS(登録商標)、LINUX、およびANDROIDなどの、任意の独自開発のオペレーティングシステムまたは市販のもしくは自由に利用可能なオペレーティングシステムとすることができる。他のオペレーティングシステムも利用されることができることが理解される。あるいは本システムおよび方法のインク管理システム112は、オペレーティングシステムを使用せずにもたらされることができる。
【0031】
インクマネージャ112は、ユーザ入力の検出、管理、および処置に関連する1つまたは複数の処理要素を含む(後に詳しく論じられる)。ソフトウェアはまた、手書き文字認識、異なる機能、または両方に関連する1つまたは複数の他のアプリケーションを含むことができる。他のアプリケーションのいくつかの例は、テキストエディタ、電話ダイヤラ、連絡先ディレクトリ、インスタントメッセージ機能、コンピュータ支援設計(CAD)プログラム、電子メールプログラム、ワードプロセシングプログラム、ウェブブラウザ、およびカメラを含む。インクマネージャ112および他のアプリケーションは、製造時にコンピューティングデバイス100にもたらされたプログラムを含み、および製造後にコンピューティングデバイス100にアップロードまたはダウンロードされたプログラムをさらに含むことができる。
【0032】
HWRシステム114は、サポートおよびコンプライアンス能力を有し、ソースプログラム、実行可能プログラム(オブジェクトコード)、スクリプト、アプリケーション、または行われることになる命令のセットを有する任意の他のエンティティとすることができる。ソースプログラムのとき、プログラムはオペレーティングシステムと一緒に適切に動作するように、メモリ内に含まれても含まれなくてもよいコンパイラ、アセンブラ、インタープリタなどを通じて変換される必要がある。さらに、サポートおよびコンプライアンス能力を有する手書き文字認識システムは、(a)データおよびメソッドのクラスを有するオブジェクト志向プログラミング言語、(b)ルーチン、サブルーチン、および/または関数を有する手続きプログラミング言語、例えば非限定的にC、C++、Pascal、Basic、Fortran、Cobol、Perl、Java、Objective C、Swift、およびAda、または(c)関数型プログラミング言語、例えば非限定的にHope、Rex、Common Lisp、Scheme、Clojure、Racket、Erlang、OCaml、Haskell、Prolog、およびF#として書かれることができる。
【0033】
あるいはHWRシステム114は、サーバまたはクラウドベースシステムなどデバイスからはリモートにあるが、コンピューティングデバイス100によって、上述のコンピューティングデバイス100の通信I/Oデバイスを用いて通信リンクを通してリモートにアクセス可能である、手書き文字認識システムと通信するための方法またはシステムとすることができる。図1ではHWRシステム114は、インクマネージャ112に組み込まれているように示されるが、HWRシステム114はインクマネージャ112とは別個であり、それとはコンピューティングデバイス100内でまたはリモートに接続されることが可能である。さらにインクマネージャ112および/またはHWRシステム114は、オペレーティングシステム110内に統合されることができる。
【0034】
入力面104上にまたはそれを通じて入力されたストロークは、デジタルインクとしてプロセッサ106によって処理される。ユーザは指、または入力面と共に用いるのに適したペンまたはスタイラスなどの何らかの道具を用いて、ストロークを入力することができる。ユーザはまた、入力面104の近くでの動きを感知または撮像する技術が用いられている場合は入力面104の上でジェスチャを行うことによって、またはマウスもしくはジョイスティックなどのコンピューティングデバイス100の周辺デバイスを用いて、または投影インターフェース、例えばストロークまたはジェスチャ信号を決定するための受動平面の画像処理を用いて、ストロークを入力することができる。ストロークは、少なくともストローク開始位置、ストローク終了位置、およびストローク開始および終了位置を結ぶパスによって特性化される。ストロークのより深い詳細をもたらすために、パスに沿ったいくつかのサンプルポイントでのタイミング、圧力、角度などの他の情報も捕捉されることができる。異なるユーザが同じオブジェクト、例えば文字、形状、記号を、若干のばらつきを有して自然に書くことができるので、HWRシステムは、各オブジェクトが入力される一方で、正しいまたは意図されたオブジェクトとして認識される、多様な方法に対応する。
【0035】
図2は、そのローカル(すなわちデバイス100にロードされる)またはリモート(すなわちデバイス100によってリモートにアクセス可能である)の形での、HWRシステム114の概略図である。HWRシステム114は、前処理116、認識118、および出力120などの段階を含む。前処理段階116はデジタルインクを処理してより高い精度を達成し、認識段階118の間の処理時間を低減する。この前処理は、サイズ正規化、および/または入力を平滑化するためのBスプライン近似などの方法を適用することによって、ストローク開始および終了位置を結ぶパスを正規化することを含むことができる。前処理されたストロークは次いで、ストロークを処理してそれによって形成されるオブジェクトを認識する認識段階118に渡される。認識されたオブジェクトは次いで、一般に手書きの要素/キャラクタのタイプセットされたバージョンとして、ディスプレイ102に120で出力される。
【0036】
認識段階118は、種々の処理要素またはエキスパートを含むことができる。図3は、認識段階118の概略的詳細を示す、図2の例の概略図である。3つのエキスパート、セグメンテーションエキスパート122、認識エキスパート124、および言語エキスパート126が示され、これらは出力120を生成するように動的計画法を通して協働する。
【0037】
セグメンテーションエキスパート122は、表現、例えばワード、数式、または形状のグループを形成するように、入力ストロークを個々の要素仮説、例えば英数字および数学演算子、テキストキャラクタ、個々の形状、または部分表現にセグメント化するための種々の方法を定義する。例えばセグメンテーションエキスパート122は、もとの入力の連続したストロークをグループ化することによって要素仮説を形成して、セグメンテーショングラフを取得することができ、各ノードは少なくとも1つの要素仮説に対応し、要素間の隣接制約条件はノード接続によって取り扱われる。あるいはセグメンテーションエキスパート122は、テキスト、描画、式、および記譜法などの異なる入力タイプに対して個別のエキスパートを使用することができる。
【0038】
認識エキスパート124は、分類器128によって抽出された特徴の分類をもたらし、セグメンテーショングラフの各ノードに対する確率または認識スコアと共に、要素候補のリストを出力する。この認識タスクに対処するために用いられ得る多くのタイプの分類器、例えばサポートベクターマシン、隠れマルコフモデル、または多層パーセプトロン、ディープ、畳み込みまたはリカレントニューラルネットワークなどのニューラルネットワークが存在する。選択は、タスクに対して望まれる複雑さ、精度、および速度に依存する。
【0039】
言語エキスパート126は、言語モデル(例えば文法または意味論)を用いてセグメンテーショングラフにおける異なるパスに対する言語的意味を生成する。エキスパート126は、言語情報130に従って他のエキスパートによって提案された候補をチェックする。言語情報130は、辞書、正規表現などを含むことができ、言語モデルを実行するために言語エキスパート126によって用いられるすべての静的データのためのストレージである。言語モデルは、所与の言語についての統計情報に依存することができる。言語情報130は、認識およびユーザ対話の結果に従った適応を用いてまたは用いずにオフラインで計算され、言語エキスパート126にもたらされる。言語エキスパート126は、最良の認識パスを見出すことを目指す。一例において言語エキスパート126はこれを、言語情報130の内容を表す有限状態オートマトン(FSA)などの言語モデルを探索することによって行う。辞書制約条件に加えて言語エキスパート126は、どれだけ頻繁に要素の所与のシーケンスが指定された言語において現れるか、または特定のユーザによって用いられるかについての統計情報モデル化による言語モデルを用いて、セグメンテーショングラフの所与のパスの解釈の言語的確からしさを評価することができる。
【0040】
本システムおよび方法は、デバイス100への手書きの入力を認識するために、HWRシステム114を利用することができる。インク管理システム112は、認識されたユーザ入力のレイアウトを取り扱うためのアプリケーションを含む。このようなアプリケーションは、異なる処理を取り扱うための個別のレイヤを有するアーキテクチャにおいてもたらされることができる。これらのレイヤの1つまたは複数は、前に述べられた通信チャネルを通じてアクセス可能な、デバイス100に対してリモートとすることができる。レイヤは、アプリケーションラッパー、プラットフォームラッパー、および(プラットフォーム固有の)アプリケーションユーザインターフェースを含むことができる。
【0041】
本システムおよび方法のインク管理システム112は、ユーザが自然な書き込みを用いてコンテンツを入力すること、ならびにコンテンツと対話して、ジェスチャなど自然で直感的な動作を用いて彼等のポータブルまたは非ポータブルコンピューティングデバイス上に、共有可能なフォーマットでデジタル文書を生成することを可能にする。いずれの書くことができる人も、手書きを用いてコンテンツを作成および編集することを熟知している。いずれのデジタルデバイスユーザも、スクリーン上でジェスチャを行ってコンテンツを書き込むまたは編集することにすでに慣れている。ジェスチャは、タッチまたはホバーデバイス上の自然で直感的なパターンである。次に本システムおよび方法のこれらおよび他の特徴が詳しく述べられる。
【0042】
図4は、例示のコンピューティングデバイス100の入力面104の一部分上の、インク入力または捕捉エリア400の例示の視覚的レンダリングの概略図を示す。入力エリア400は、ユーザがサイズ設定またはアラインメントについて気にせずに任意の場所にオブジェクトブロック(テキスト、描画のブロックなど)を作成することを可能にする、制約のないキャンバスとしてもたらされる。しかし図から分かるようにラインパターン背景410の形でのアラインメント構造が、ユーザ入力ならびにデジタルおよびタイプセットされたインクオブジェクトのアラインメントのガイダンスのためにもたらされることができる。いずれの場合もユーザはラインパターンに密接にアラインメントしない手書きを入力する場合があり、またはラインパターンを無視し、斜めにもしくはばらばらになど制約されないやり方で書くことを望む場合があるので、手書き入力の認識はHWRシステム114によって、ラインパターンにかまわずに行われる。例示のアラインメントパターンは、参照によりその内容全体が本明細書に組み込まれている本出願人および譲受人の名において出願された「System and Method of Digital Note Taking」という名称の特許文献1で述べられている。
【0043】
入力エリア400上への手書きのコンテンツの入力は、例えばデバイス100の画面技術に応じてタッチ、力、および/または近接を通して、入力面104に対するジェスチャの使用を通して行われる。ジェスチャ検出は、スタイラスまたはペン(デバイスはそれによって受動または能動スタイラスを定義する)からユーザの指を区別するコンピューティングデバイス100の能力、またはそれが手書きのために用いられていることをデバイスに示すまたは通信するスタイラスの能力、またはこのようなインジケーションをもたらすユーザの能力に応じて異なって取り扱われることができる。デフォルトで、および区別をしないデバイスにおいて、入力エリア400内のいずれの単一ポイントタッチまたはホバーイベントも、コンテンツ入力またはコンテンツ対話と見なされることになる。HWRシステム114を通した本システムおよび方法はまた、タイプセットされたインクへのデジタルインクのタイプセッティングまたはフォント化を通して、手書きの入力をデジタル化または変換するための機構をもたらす。この機能は特に、少なくとも通信および共有のための最終に近い文書の作成、例えばデジタルインクにおいて編集されおよびフォーマットされた手書きのノートから、キーボード(および関連付けられたジェスチャデバイス)のみを用いて生成され得るタイプセットされた文書への変換を可能にするためにもたらされる。
【0044】
手書きの入力はインク管理システム112によって検出され、入力が受け取られるのに従って表面104(または他のディスプレイ)上にデジタルインクとしてレンダリングされ、および並行してHWRシステム114によって認識され、いわゆる「オンザフライ」またはインクリメンタル手書き文字認識をもたらす。インクリメンタル認識は一般に、それらが受け取られるのに従って認識器に対してストロークを構造解析(前処理)し、入力が続いていても認識器がストロークのグループを処理して認識結果を出力することによって行われ、結果は実質的に直ちにデジタルインクまたは表示された認識候補のタイプセッティングの形でもたらされ、または後の使用のために単に例えばデバイス100のメモリ108を用いてインク管理システム112によって記憶されることができる。発音区別符号など、空間的なやり方で前の入力ストロークに関連する他のストロークが入力されるとすぐに、再認識が生じることができる。あるいは、または追加として手書き文字認識は、インクリメンタルではなくバッチ処理として行われることができる。このような例においてデジタルインクおよびタイプセットされたインクの表示は、指定された時点で、例えばシステムおよび/またはユーザに指定された時点で入力時に生じることができ、または例えば同じもしくは異なるデバイス上への入力の後の時点で生じることができる。
【0045】
図5は一般にラインパターン410のライン上に、入力エリア400への手書きのコンテンツとして入力され、および例えばデバイスのインターフェース面上にデジタルインクとしてレンダリングされた、1つ(または2つ)の複数行段落500を示す。図6は段落500を、タイプセットされた段落600にタイプセッティングした結果を示す。
【0046】
本システムおよび方法のインク管理システム112は、オペレーティングシステム110および構成要素およびそのアプリケーションによって通常使用される、タイプされたインクなどのデジタルコンテンツの管理と同様なやり方で、手書きの入力およびそのデジタルインク表示を管理する。すなわちコンテンツ600が手書きではなくキーボードを用いてタイプすることによってコンピューティングデバイス100に入力された場合、例えばメモリ108内のアプリケーションとして、オペレーションシステム110の一部として、またはインク管理システム112の一部として本システムおよび方法においてもたらされる、コンピューティングデバイス100のキーボードまたはタイピングデコーダは、デジタルコンテンツ内の段落600自体、段落に含まれたセンテンス、センテンスに含まれたワードおよび記号(例えばピリオド、コンマなどの文法マーク)、およびワードに含まれたキャラクタまたは文字である、コンテンツの各要素を解釈しおよびエンコードするようになる。コンテンツ600がデジタルまたは非デジタル(例えば紙インク)の手書きからの光学式文字認識(OCR)などの他の手段を通じた入力である場合も、同様な管理が適用される。このデジタルコンテンツはよく理解されているやり方でコンピューティングデバイス100によって取り扱われ、各デジタルキャラクタはデジタルオブジェクトとして扱われる。このようにして入力、またはデジタルコンテンツとの対話のためにカーソル配置を編集することなどの機能が、各デジタルオブジェクトに対してなされることができる。
【0047】
しかしキーボード上のキーストロークが「デジタルオブジェクト」(例えばこのテキストにおいて示されるタイプされた文字「a」はデジタルオブジェクトである)に直接解釈されるタイプされた入力に対するデコード処理とは異なり、手書き入力に対する認識プロセスは一般に、インターフェース面上またはそれへの手描きのストロークの解釈に対して確率的手法をとることによって、キャラクタに対する最も可能性の高い候補を見出す。このような確率を用いた従来のデジタル手書きシステムおよび方法は一般に、認識されたコンテンツとして最も高い確率のキャラクタおよびワード候補をもたらし、その結果、タイプセッティングの後すぐに認識されたコンテンツはデジタルコンテンツに変換され、その時点で認識されたコンテンツ従って認識結果は廃棄される。認識エラーは、次いで上述の従来のデジタルコンテンツ管理技法を用いたデジタルコンテンツとの対話を通して訂正されることができる。タイプセット変換によって存続されるこのようなエラーの数は、候補リストの表示、言語モデルに基づく自動訂正などの入力時の一定のフィードバック機構、または参照によりその内容全体が本明細書に組み込まれている本出願人および譲受人の名において出願された「System and Method of Guiding Handwriting Input」という名称の特許文献2で述べられているような実質的にリアルタイムの認識結果表示の使用などを通して最小化されることができる。
【0048】
デジタルコンテンツ管理は、デジタルオブジェクトのメタデータへの参照を通して、デジタルオブジェクトのみを考慮に入れる。このメタデータはデジタルコンテンツのオブジェクトタイプ、フォント、スタイリング、相対位置、埋め込みデータまたはハイパーリンクなどについての情報をもたらすが、各キャラクタが属するワード、キャラクタのコンテキスト、オブジェクト候補などの他の情報はもたらさない。従って後のデジタルオブジェクトとの対話は、近接のデジタルオブジェクトとは無関係になされる。しかし手書き文字認識プロセスは各認識オブジェクト、例えば各認識されたキャラクタに関する大量の情報をもたらし、これは後のコンテンツとの対話をガイドおよび拡大するために用いられることができる。本システムおよび方法はこの認識情報を活用して、以下で述べられるようにコンテンツ作成、編集、共有、および協働のための創造性、使用可能性、および生産性を強化する、手書きおよびデジタルコンテンツとの対話のレベルをもたらす。
【0049】
本システムおよび方法は、「未処理」または入力インク(例えば手書きのストローク)を、デジタルインク(例えば表示されたインク)に参照付けるまたは結び付ける。この結び付けにより、例えばコンテンツを編集するために、デジタルインクとのユーザ対話が、基礎をなす認識に対して行われるように、HWRシステム114によって認識される実際の入力と、表示される入力との間の関係がシステムによって知られる。この認識されたインクとデジタルインクとの融合は、「インクオブジェクト」を形成する。各インクオブジェクトは、デジタルオブジェクトのものと同様な情報だけでなく、認識処理に関連する他の情報も含んだメタデータを有する。次に図5、および7から12を参照して、例示の参照システムおよび方法が述べられる。
【0050】
図5において段落500は、手書きのテキストの段落の基礎をなす未処理インク入力のデジタルインク表示である。未処理インクは、時間的および空間的順序で書かれたいくつかのインクストロークを含む。図5の例における左から右へおよび上から下への言語の関連において、最初のストロークは段落500の始まりにおけるストローク501(デジタルインクキャラクタ「W」として表される)であり、最後のストロークは、段落500の終わりにおけるストローク502(デジタルインクキャラクタ「.」として表される)である。インク入力が受け取られるのに従って本システムおよび方法は、例えば各要素およびその特徴に参照を割り当てることによって、時間順での、各検出された後続のストローク開始(または「ペンダウン」)と終了(または「ペンアップ」)位置との間のインクによって特性化されるストロークなど、入力の各要素に順次にインデックス付けする。
【0051】
例えば段落500に対して、ストローク501はストローク[0](ゼロ)としてインデックス付けされることができ、ストローク502はストローク[244]としてインデックス付けされることができる。時間順でのインデクセーションは、発音区別符号、後で追加されたストロークなどの位置的に順序がずれたストロークは、近接ストロークと比べて後のインデックス付けを有することを意味し、例えばストローク503(ドット「・」のないデジタルインクキャラクタ「i」として表される)はストローク[1](one)としてインデックス付けされることができ、例えばストローク504(ドット「・」として表される)はストローク505および506の後に書かれているのでストローク[4]としてインデックス付けされることができる。あるいは、または追加としてストロークは、時間順ではなく空間的順序を考慮に入れて再インデックス付けされることができる。さらにインデックス付けは、OCR入力などのバルク入力に対して、一方または両方のやり方で生じることができる。
【0052】
このストロークインデックスは、キャラクタおよびワード境界などの入力の特徴を定義するために用いられることができる入力の粗いインデクセーションをもたらす。例えば、単一または複数ポイントジェスチャ(例えばタップ、長押し、またはダブルタップ)などのデジタルインク上のジェスチャを用いて例えばストロークインデックス[0]として表されるデジタルインクキャラクタ501とのユーザ対話は、デジタルオブジェクトとの対話と同様な、キャラクタを選択することおよび/またはキャラクタ境界に入力カーソルをもたらすことを引き起こすことができる。しかしデジタルオブジェクトとは異なり、ストロークインデックスによりこの対話はまた、基礎をなす認識結果「キャラクタ[0]」を参照し、これは後により詳しく論じられるような機能をもたらす。しかしここで手短に言えばストロークインデックス、例えばインデックス[0]へのインデックス付けは、ストロークが変形され、例えば部分的に消去され、消去され、「もとに戻す」アクションを通して省略され、フォント化またはタイプセットされた場合でも安定のままであり、およびこの変形のための任意の新たなストロークには新たなストロークインデックスが割り当てられまたは割り振られ、これらは依然として以前のストロークインデックス例えばインデックス[0]を内部的に参照し、それによって認識結果への結び付けを保持する。さらに図7において、段落500(説明のために図7の表示では強調表示されている)のストロークのグループ700(デジタルインクワード「handwriting」として表される)は、例えばストロークインデックス[172,183]として表されるストローク[172]からストローク[183]までのストロークインデックスを含む。単一または複数ポイントジェスチャ(例えばタップ、長押し、またはダブルタップ)などのデジタルインク上のジェスチャを用いたデジタルインクワード700とのユーザ対話は、ワード700内またはその近くの任意の場所で、デジタルオブジェクトとの対話と同様に、ワード全体を選択することおよび/またはワード境界にカーソルをもたらすことを引き起こすことができる。しかしデジタルオブジェクトとは異なりストロークインデックスにより、この対話はまた、基礎をなす認識結果、「ワード[172,183]」にも関連し、これは後により詳しく論じられるような機能をもたらす。
【0053】
前に論じられたように認識プロセスにおいてストロークは、可能性の高いキャラクタ候補を決定するためにセグメント化される。本システムおよび方法によって、入力のインデクセーションを精密化するために、同様の(または同じもしくは実際の)セグメンテーション手法がとられる。このセグメンテーションは、各インデックス付けされたストロークをいくつかのストロークセグメントにセグメント化し、および各ストロークセグメントの間のポイントにおいて各ストロークセグメントをインデックス付けすることが関わる。例えば、ストローク501は、例えばストロークおよびポイント(「参照」)インデックス[0:0,0:50]として表される例えばポイント0(ゼロ)からポイント50までの一連の50個のストロークセグメントによってインデックス付けされることができる。各ポイントの位置は、規則的なやり方でストロークをセグメント化することによって設定されることができ、例えば各ストロークセグメントは、ストローク特性に従って、またはデバイスサンプリングおよびシステムによって適用される任意の可能なプリサンプリングに従って、同じ長さ(デジタルインク表示に対する画素の数など)を有する。
【0054】
後者の場合において、ペンダウン、ペン移動、方向変更、ペンアップなどの各入力イベントの未処理の入力サンプル(例えばメモリ108に記憶された、コンピューティングまたは捕捉デバイスによって与えられる)は、入力ストロークにおける新たなポイントまたはサンプルとして、インク管理システム112によって用いられる。さらに未処理の入力サンプルの代わりに、平滑化ユニットがインク管理システム112によって用いられることができ、そこで未処理の入力サンプルは処理され、異なる数および位置のサンプルとして出力される。この場合適用されるインデックス付けに対して重要なのは、セグメンテーションレジームまたはセグメント長さ自体ではなく、最適化されたインデックス付けをもたらすセグメント化されたデジタルインクの「滑らかさ」である。しかしこのような入力の平滑化は、署名認証に対してなど、デジタルインクの生体認証処理を無効にする場合があることが留意される。さらに表示のための平滑化は、認識のために適した平滑化とは異なる場合がある。従って平滑化は、入力における平滑化ではなく、およびデバイス100自体のいずれかの処理ではなく、異なる段階でインク管理システム112自体によって行われることができる。
【0055】
いずれの場合においてもストロークセグメントの数は、各インデックスにおけるポイントの数を設定する。上記で論じられたようにデジタルインク上のジェスチャを用いたデジタルインクキャラクタ501とのユーザ対話は、キャラクタを選択することおよび/またはキャラクタ境界にデジタルカーソルをもたらすことを引き起こすことができ、その結果カーソルは参照またはストローク:ポイントインデックス[0:50]にもたらされる。従ってカーソル位置はi:jによって定義され、「i」はストロークインデックス、および「j」はポイントインデックスである。ポイントインデックスにより、この対話はまた基礎をなす認識結果、「キャラクタ[0:0,0:50]」にも関連し、これは後により詳しく論じられるような機能をもたらす。
【0056】
ポイントインデックスは、ストローク内のキャラクタ境界など、入力の他の特徴を定義するために用いられることができる入力の細かなインデクセーションをもたらす。図から分かるように未処理(およびデジタル)インクの各ストロークは、2つ以上のテキストキャラクタに属する場合があり(例えばストローク507は、デジタルインクキャラクタ「h」および「e」として表される)、または1つのキャラクタの一部である場合がある(例えばストローク503および504は組み合わされてキャラクタ「i」となる)。同様なストローク属性はまた、形状などの非テキストオブジェクトでも生じることができる。上記で論じられたように、認識システムのセグメンテーションプロセスは、各ストロークを、セグメンテーショングラフによって表される多くのセグメンテーションの可能性にセグメント化する。このプロセスによって、例えばストローク507のキャラクタ「h」および「e」は正しく認識される。本システムおよび方法の細かなインデクセーションは、同様なセグメンテーション結果をもたらす。例えばストローク507はストローク[9]として、および例えば参照インデックス[9:0,9:60]として表される例えばポイント0(ゼロ)からポイント60までの一連の60個のストロークセグメントを有してインデックス付けされることができる。キャラクタ「h」と「e」との間のキャラクタ境界は例えばポイント30とすることができ、その結果キャラクタ「h」は参照インデックス[9:0,9:30]を有し、キャラクタ「e」は参照インデックス[9:30,9:60]を有する。あるいは隣接するキャラクタはインデックス付けを共有できず、その結果例えばインデックス[9:30]は共有されない。従ってキャラクタ境界でのまたはその近くでのデジタルインク上のジェスチャを用いたデジタルインクキャラクタ507とのユーザ対話は、キャラクタ境界にデジタルカーソルをもたらすことを引き起こすことができ、その結果カーソルは参照インデックス[9:30]にもたらされる。ストロークおよびポイントインデックスにより、この対話はまた基礎をなす認識結果、「キャラクタ[9:0,9:60]」にも関連し、これは後により詳しく論じられるような機能をもたらす。
【0057】
ポイントインデックスの細かなインデクセーションは、部分的ストロークなど、入力の他の特徴を定義するために用いられることができる。例えば図8において、段落500のストロークのグループ800(デジタルインクワード「application」として表される)は、ストローク801(デジタルインクキャラクタ「a」として表される)、ストローク802(それぞれバー「-」およびドット「・」のないデジタルインクキャラクタ「t」および「i」として表される)、およびストローク803(バー「-」として表される)を有する。ストローク801はストローク[158]としてインデックス付けされることができ、例えばポイント0(ゼロ)から50までを有する。ストローク802はストローク[159]としてインデックス付けされることができ、例えばポイント0(ゼロ)から40までを有する。ストローク803はストローク[161]としてインデックス付けされることができ、例えばポイント0(ゼロ)から14までを有する(例えば後続するデジタルインクキャラクタ「o」および「n」として表されるストロークは、ストローク802の前に入力され、従ってストローク[160]をもたらす)。デジタルインクのストロークの部分における単一または複数ポイントジェスチャ(例えばタップ、長押し、またはダブルタップ)などの、デジタルインク上のジェスチャを用いたデジタルインクワード800とのユーザ対話は、ストロークのそれらの部分のみの選択を引き起こすことができる。例えば図8においてストローク801および802の部分との対話(説明のために図8の表示では強調表示されている)は、例えば参照インデックス[158:44,159:20]を含み、ストローク803のすべては参照インデックス[161:0,161:14]を含む。ストロークおよびポイントインデックスにより、この選択はまた部分的キャラクタの、基礎をなす認識結果にも関連し、これは後により詳しく論じられるような機能をもたらす。
【0058】
さらに図9において、段落500のストロークのグループ900(デジタルインクワード「layout and formatting」として表される)は、ストローク901(ワード「layout」内のデジタルインクキャラクタ「y」として表される)、ストローク902(ワード「formatting」内のデジタルインクキャラクタ「f」として表される)、およびストローク903(ワード「formatting」内のデジタルインクキャラクタ「n」および「g」として表される)を有する。ストローク901はストローク[215]としてインデックス付けされることができ、例えばポイント0(ゼロ)から60までを有する。ストローク902はストローク[233]としてインデックス付けされることができ、例えばポイント0(ゼロ)から60までを有する。ストローク903はストローク[243]としてインデックス付けされることができ、例えばポイント0(ゼロ)から54までを有する。デジタルインクのストロークの部分での単一または複数ポイントジェスチャ(例えば押しおよびスワイプ)などの、デジタルインク上のジェスチャを用いたデジタルインク900とのユーザ対話は、ストロークのそれらの部分のみの選択を引き起こすことができる。例えば図9の対話(説明のために図9の表示では強調表示されている)は、例えばストローク901の部分(「y」のディセンダ)に対しては参照インデックス[215:36,215:48]を含み、ストローク902の部分(「f」のアンダーライトまたはディセンダ)に対しては参照インデックス[233:35,233:54]を含み、およびストローク903の部分(「g」のディセンダ)に対しては参照インデックス[243:37,243:54]を含む。ストロークおよびポイントインデックスによりこの選択はまた、部分的キャラクタの、基礎をなす認識結果にも関連し、これは後により詳しく論じられるような機能をもたらす。
【0059】
さらに、このようなユーザ対話のための向上された精度は、ポイントインデックスのポイントの間をさらにセグメント化することによってもたらされることができる。例えばポイントインデックスの小数部をもたらすために、連続したポイントの各ペアの間に、規則的なまたはストロークにより定義されたサブポイントが定義されることができる。小数の精度は、例えば各ストロークセグメントの約1/50から約1/300とすることができる。しかしより低いまたは高い精度がもたらされることができる。例えば図9において1/200のサブポイントがもたらされ、その結果として表示される対話は、例えばストローク901の部分に対しては参照インデックス[215:36.665,215:48.265]を含み、ストローク902の部分に対しては参照インデックス[233:35.585,233:54.71]を含み、およびストローク903の部分に対しては参照インデックス[243:37.495,243:54]を含む。ストロークおよび小数点インデックスによりこの選択はまた、より高い精度を有する部分的キャラクタの、基礎をなす認識結果にも関連し、これは後により詳しく論じられるような機能をもたらす。
【0060】
本システムおよび方法によって使用される上述の参照インデックス付けシステムは、表示されたデジタルインクと、未処理インクからの認識結果との間の参照をもたらす。この参照は、インク管理システム112によって決定された後、例えば後にデジタルインクとのユーザ対話を検出するとすぐに使用するために、例えばコンピューティングデバイス100のメモリ108に記憶されることができる。上述のように参照インデックスは、インクオブジェクトとして未処理、認識された、およびデジタルインクによって表されるデジタルコンテンツを有するメタデータとして含まれる。従ってインクオブジェクトは可搬であり、その結果デジタルコンテンツは異なるアプリケーションおよびオペレーティングシステムの間でエクスポートされ、インポートされ、または他の形で移転または変換されることができる。すなわち他のデジタルコンテンツと同じように、参照メタデータはインクオブジェクトコンテンツ自体と共に維持される。参照インデックスはデジタルインクと共に留まるので、未処理インク自体、例えばもとの手書きの入力が保たれる必要はなく、それによって、インクオブジェクト対話を解釈するとき、未処理インクのデータベースがアドレスされる必要がないので、記憶されることになるデータの量を低減し、インク管理システム112の可搬性を向上させる。しかし未処理インク自体が保持されない場合でも、参照システムの全部の能力は保持される。次にこれについておよび上記で論じられた特徴が詳しく述べられる。
【0061】
図10は、一般にラインパターン410のライン上に、入力エリア400への手書きのコンテンツとして入力され、例えばデバイスのインターフェース面上にデジタルインクとしてレンダリングされた、いくつかのワードを含んだフレーズ1000を示す。未処理(およびデジタル)インク1000は、フレーズ「cleaning the keyboard」を形成するテキストキャラクタを表すいくつかのストローク1001から1009を含む。前に論じられたように、インク管理システム112はストロークをセグメント化して入力の参照インデックス、および従ってデジタルインクを決定する。図11Aはインク管理システム112および/またはHWRシステム114によって決定された、フレーズ「cleaning the keyboard」の例示の参照セグメンテーション1100の表示を有する手書きの入力1000を示す。参照セグメンテーション1100は、デジタルインク1000の各参照インデックス付けされた部分の、一般のデジタルインク限界または範囲を指定する一連のボックスrmとして示される。図11Bは、破線によって示されたストロークインデックスポイントを有する、デジタルインク1000から分離されたこれらのボックスrmを示す。
【0062】
ストロークインデックスは、例えばストローク1001をストローク[0](ゼロ)、ストローク1002をストローク[1]、ストローク1003をストローク[2]、ストローク1004をストローク[3]、ストローク1005をストローク[4]、ストローク1006をストローク[5]、ストローク1007をストローク[6]、ストローク1008をストローク[7]、およびストローク1009をストローク[8]とすることができる。例えばストローク1001は長く、従って例えば300ポイントを有するようにセグメント化されることができ、その結果参照インデックスr1は[0:0,0:35]に対応し、参照インデックスr2は[0:35,0:90]に対応し、参照インデックスr3は[0:90,0:125]に対応し、参照インデックスr4は[0:125,0:170]に対応し、参照インデックスr5は[0:170,0:210]に対応し、参照インデックスr6は[0:210,0:225]に対応し、参照インデックスr8は[0:225,0:265]に対応し、および参照インデックスr9は[0:265,0:300]に対応する。上述のようにサブポイントも参照することによって、さらなる精度がもたらされることができる。同様な参照インデックスが、他のストローク1002から1009に対して決定される。
【0063】
前に論じられたように認識プロセスにおいて、ストローク1001から1009は可能性の高いキャラクタ候補を決定するためにセグメント化され、これはフレーズ1000のワードの認識に繋がる。インク管理システム112は、参照セグメンテーション1102を利用し、これはHWRシステム114によって生成されるセグメンテーションとは独立とすることができ、または参照セグメンテーション1102はHWRシステム114によって生成されるものとすることができる(または少なくとも同様なプロセスを用いて生成される)。いずれの場合も入力のストロークの参照セグメンテーション/デジタルインクは、例えば以下のように基礎をなす認識結果へのマップをもたらす。図12Aは、フレーズ「cleaning the keyboard」の例示の認識1200を有する手書きの入力1000を示す。例示の認識はそれ自体、示されるように表示されないことが留意される。図から分かるように認識1200は、一連の認識されたキャラクタCnを生成するように、入力1000のストローク1001から1009のセグメンテーション1202を含む(破線で示される)。認識されたキャラクタCnは、「c」C1、「l」C2、「e」C3、「a」C4、「n」C5、ドット「・」を含んだ「i」C6、「n」C7、「g」C8、バー「-」を含んだ「t」C9、「h」C10、「e」C11、「k」C12、「e」C13、「y」C14、「b」C15、「o」C16、「a」C17、「r」C18、および「d」C19を含む。認識処理において「n」C5は、HWRシステム114の言語モデルに基づいて同様なまたは異なる確率を有して、「cleaning」の代わりにワード候補「clearing」をもたらすように「r」としても認識されることができることが留意される。他の代替のキャラクタ認識も可能である。さらに候補の番号付け順序は説明のためのみであり、これが行われた場合にHWRシステム114が認識されたキャラクタを識別するやり方を必ずしも反映していない。さらに、図面における認識されたキャラクタを指定するためのボックスの使用は、説明のためのみである。
【0064】
図から分かるように認識セグメンテーション1202は、一般に参照セグメンテーション1102に対応する。従ってインク管理システム112は、参照インデックスrmを候補キャラクタCnにマップする。例えばストローク1001は、いくつかのキャラクタすなわちキャラクタC1からC8を含み、その結果キャラクタC1は参照インデックスr1に対応し、キャラクタC2は参照インデックスr2に対応し、キャラクタC3は参照インデックスr3に対応し、キャラクタC4は参照インデックスr4に対応し、キャラクタC5は参照インデックスr5に対応し、キャラクタC6は組み合わされた参照インデックスr6およびr7に対応し(例えば全体のキャラクタ「i」)、キャラクタC7は参照インデックスr8に対応、キャラクタC8は参照インデックスr9に対応する。候補キャラクタと参照インデックスとの同様なマッピングが、他のストローク1002から1009に対して決定される。従ってデジタルインク1000の、基礎をなす認識1202は、例えば「cleaning」に対応するワード[0:0,1:10]、「the」に対応するワード[2:0,3:10]、「keyboard」に対応するワード[4:0,8:40]として、参照インデックス付けを通じて決定されることができる。キャラクタおよびワードなどの認識された要素と、対応するデジタルインク要素との間の参照または結び付けは、インクオブジェクトをもたらし、第1のインクオブジェクトは参照インデックス[0:0,1:10]に対応し、第2のインクオブジェクトは参照インデックス[2:0,3:10]に対応し、および第3のインクオブジェクトは参照インデックス[4:0,8:40]に対応する。
【0065】
このようにしてインク管理システム112は、デジタルインクストロークを、手書き文字認識プロセスによってもたらされる基礎をなす認識結果に結び付けるまたはマップする。このマッピングは、デジタルインクがレンダリングされるやり方に関わらずもたらされる。すなわち未処理インク入力の表示されたバージョンであるデジタルインクは、置き換えまたはいわゆる「美化」を通して、もとの手書きと比べて異なるサイズ、スタイル、フォントなどを用いてレンダリングされることができる。これは手書きがディスプレイ自体とは異なるエリアに、制限されたエリアに、またはラインパターンなどのレイアウト要素にかまわずに比較的自由なやり方で、入力された場合に特に当てはまり、その場合デジタルインクは入力未処理インクとは比較的無関係にレンダリングされる。このような置き換えられたまたは美化されたデジタルインクを、認識されたインクにマップすることは、例えば参照によりその内容全体が本明細書に組み込まれている本出願人および譲受人の名において出願された「System and Method for Beautifying Digital Ink」という名称の特許文献3で述べられているように、置き換えまたは美化特性が知られている限りは可能である。
【0066】
デジタルインクとの対話(例えば前に述べられたようなやり方での)は、この結び付けを通して、基礎をなす認識されたインクとの対話に委ねられるので、デジタルから認識されたインクへのマップは、デジタルインクとの、従ってインクオブジェクトとのユーザ対話性をサポートし、従って既存のコンテンツへの変更、新たなコンテンツの入力などのデジタルインクの編集は、既存のおよび新たな認識結果に頼ることによって、インク管理システム112によって管理される。これは次に詳しく述べられる。
【0067】
HWRシステム114によってとられる手書き文字認識に対する確率的手法において、テキスト入力に対するキャラクタ候補、形状入力に対する形状候補、音楽入力に対する記譜法候補などの多くの潜在的なオブジェクト候補は、セグメンテーショングラフを通じてテストされ、最も可能性の高い候補が返されて認識結果をもたらす。しかしHWRシステム114は、認識結果を出力するとすぐには、(すべての)他の候補を廃棄せず、または例えば少なくとも5、10個などの最も確からしい候補などの、最上位候補は廃棄しない。これは少なくとも部分的に、認識結果は、その時点でHWRシステム114によって使用される様々なエキスパートおよびモデルに基づいて最も確からしいのであるが、正しくない場合があり、従ってユーザには、例えば上記の参照により組み込まれている特許文献2で述べられているように、認識結果を訂正するために、対話型UIメニューなどを通じて選択のための他の候補がもたらされることができる。これらのキャラクタ候補のそれぞれは、図12Aの例に示されるのと同様なやり方で、デジタルインクにマップする。すなわち候補は未処理インクの、従ってまたデジタルインクのいくつかのセグメンテーションに対応する。図12Bは、フレーズ1000の例示の認識1200のいくつかのセグメンテーション1204、1206、および1208の表示を有する手書きの入力1000を示す。
【0068】
ストローク1001から1009のセグメンテーション1204はセグメンテーション1202と同様であるが、このセグメンテーションにおいてストローク1006は、ストローク1006と1007の間の見掛けのスペースをスペースとして扱うようにセグメント化され、その結果セグメンテーション1202内の「y」に対応するキャラクタ候補C14は存在せず、代わりに候補認識「cleaning the ken board」(または前に論じられたように「clearing the ken board」)に対する「n」に対応するキャラクタ候補C14’が結果として生じる。認識処理において「n」C14’はまた、HWRシステム114の言語モデルに基づいて同様なまたは異なる確率を有する「ken」の代わりに、「y」と認識されてワード候補「key」をもたらすことができることが留意される。
【0069】
ストローク1001から1009のセグメンテーション1206は、セグメンテーション1102と同様であるが、このセグメンテーションにおいてストローク1001は、セグメンテーション1202内ではそれぞれ「c」、「l」、「e」、および「a」に対応するキャラクタ候補C1、C2、C3、およびC4は存在せず、代わりに結果として候補認識「during the keyboard」に対してそれぞれ「d」および「u」に対応するキャラクタ候補C1’およびC3’を生じるようにセグメント化される。
【0070】
ストローク1001から1009のセグメンテーション1208は、候補認識「during the ken board」(または上述のように「during the key board」)を生じるように、セグメンテーション1204および1206の組み合わせである。これらの異なるセグメンテーションは、最も確からしい認識候補、例えば最も高い確率スコアのものに対応することができる。4つの最も確からしい認識候補が示されたが、本システムおよび方法によってより多数または少数がもたらされることができることが理解される。さらに候補1202から1208は例示のみであり、候補の確からしさの順序を意味しない。候補認識からデジタルインクへのこのマッピングが対話性をサポートするやり方の例が、次に述べられる。
【0071】
図13Aは、例えば示される表示された位置において、ユーザが下から上に彼等の指またはスタイラス先端をスワイプすることによる、単一ストロークでの下から上への縦の線としての入力として、インク管理システム112および/またはHWRシステム114によって検出された編集ジェスチャ1300を有するデジタルインク1000を示す。すなわち下から上にストロークが次第に太くなることによって示されるように、時間順においてストローク開始位置はストローク終了位置の下にある。示される編集ストロークの特性は例であり、走り書きなどの他の特性、他の編集コマンドの形(後に詳しく述べられる)が可能である。例えばデジタルオブジェクトの場合のように、インクオブジェクトの編集はまたキーボード、UIボタンまたはメニュー、カーソルまたは編集可能コンテンツとしてインクの選択との組み合わせなど、他のアクションおよびツールを通して達成されることができる。編集ストローク1300は、ストローク1006と1007の間の通過として検出され、従ってインク管理システム112は編集ストローク1300の相対位置を、デジタルインク1000からだけでなく、基礎をなす認識されたインク1200の候補認識例えば1202から1208のそれぞれからも知る。編集ジェスチャ1300のこの相対位置、およびその下から上への書き込み方向特性を考慮することは、結果として編集ジェスチャ1300は、検出された位置において、具体的には認識候補1202および1208に関して、スペースを削除するようにユーザによって意図されたとの決定を生じることができる(以下で詳しく述べられる)。この決定によってインク管理システム112は、デジタルインク1000が、図13Bに示されるように編集されたデジタルインク1000’として再レンダリングされるようにし、ストローク1006および1007は一緒に連結される。デジタルインクのこの編集には、以下で述べられるようにインクオブジェクトによって表されるデジタルコンテンツの任意の適切な他の認識が伴う。
【0072】
編集ストローク1300の決定または解釈において、インク管理システム112は、編集ストローク位置の近傍におけるストロークに参照付けされた認識候補を参照する。この近傍の範囲はプリセットおよび/またはユーザ設定可能(例えばUIメニューを通じて)とすることができ、一般にユーザエクスペリエンスに影響を与える場合がある処理負担およびタイミングを考慮に入れるべきである。例えばストローク1006と1007の間の編集ストローク1300の位置は、代替キャラクタ候補C14’とキャラクタ候補C15との間の認識候補1204および1208において識別されたスペース候補と実質的に一致する。従ってインク管理システム112は、編集ジェスチャ1300はスペース削除ジェスチャであると決定する、またはHWRシステム114に決定させる(例えば適切な確率重み付けをもたらすことを通して)。この決定は少なくとも部分的に、例えば参照によりその内容全体が本明細書に組み込まれている本出願人および譲受人の名において出願された「System and Method for Note Taking with Gestures」という名称の特許文献4で述べられているジェスチャ検出および認識を用いて行われることができる。
【0073】
同様な削除アクションが、テキストキャラクタ、ワード、センテンス、段落その他、および非テキスト要素などの、コンテンツ自体に対してとられることができる。さらに細かな参照インデックス付け(具体的にはストロークサブポイントを用いた高精度インデックス付け)により、キャラクタなどの部分的削除が可能であり、なぜならデジタルインクのそれらの部分のみが省かれるようになり、認識はそれに従ってインクオブジェクトを修正するように調整されるからである。例えば図9の段落500のストローク901、902、および903内のキャラクタのディセンダを選択したジェスチャは、これらの要素構成要素に対する削除ジェスチャとすることができ、その結果これらの部分の参照インデックスに対応するデジタルインク部分のみが省かれる。あるいは、または追加として、実際には完全削除が意図された部分的削除(例えばユーザによってなされた走り書きまたは取り消し線ジェスチャは部分的に選択しただけである、またはワードの終わりの1つまたは複数のキャラクタ、またはセンテンスの終わりの1つまたは複数のワードを見逃す)は、部分的キャラクタ参照インデックスは完全キャラクタ参照インデックスに属し、キャラクタ参照インデックスはワード参照インデックスに属し、ワード参照インデックスはセンテンス参照インデックスに属するなどとなり、結果としてより大きな参照インデックスのデジタルインクは削除されるので、完全削除を出力するようにインク管理システム112によって適切に取り扱われることができる。
【0074】
インク管理システム112は、例えばUI選択などを通して削除がもとに戻されることができるように、デジタルインクをデバイス100のメモリ108に記憶することによって永久的に、または一定の時間もしくは後続の操作の数の間、いずれの削除された参照インデックスインクのデジタルインクを保持するように構成されることができる。あるいは、または追加として、削除された参照インデックスのみが、基礎をなす認識結果(例えば部分的または全体のインクオブジェクト)と共に、インクオブジェクト内のメタデータとしておよび/またはメモリ108に保持されることができ、結果としてもとに戻すアクションをするとすぐに、ユーザの手書きをサンプリングすることによって生成される個人用ユーザフォントなど、認識結果および適切な手書きのようなフォントに基づいて、復元されたデジタルインクが生成されることができる。従って本システムおよび方法のインクオブジェクトは、同様な編集機能を用いてデジタルオブジェクトと同様に管理されるが、またインクオブジェクトとの対話が、基礎をなす手書き文字認識によって拡大されるので強化された機能をもたらし、デジタルオブジェクトを用いて行われることができない、部分的コンテンツ要素との対話を可能にする。
【0075】
図13の例に戻ると、スペース削除決定は認識候補における変化を引き起こす。例えばインク管理システム112によって適切な確率重み付けをもたらすことを通して、認識候補1202および1206はインクオブジェクトから省かれるまたは最も確からしい認識候補リストから格下げされることができ、認識候補1204および1208は修正され、インク管理システム112によって適切な確率重み付けをもたらすことを通して、最も確からしい認識候補リスト内で格上げまたは昇格されることができる。図13Cは、編集されたフレーズ1000’の修正されたセグメンテーション1204’および1208’の表示を有する、例示の修正されたまたは編集された認識1200’を示す。修正されたセグメンテーション1204’および1208’において、認識処理はさらに「n」候補を省くまたは格下げして、キャラクタ候補C14’を「y」として認識されるようにすることができ、なぜなら連結されたストローク1006および1007はこのときワード「keyboard」を形成することが確からしいからであり、これは言語モデルに基づいてHWRシステム114がより確からしいと決定することができる。この増加された確からしさはまた編集ジェスチャ1300、ならびにもとのおよび編集されたフレーズ1000および1000’全体の決定において、インク管理システム112によって用いられることができる。
【0076】
前に述べられたように、編集ストローク対する近接したストロークの範囲またはアクションは、必要なさらなる認識処理の効率を考慮に入れる。しかし許容される範囲は、入力/デジタルインクのすでにまたは既存の認識された要素は再認識される必要がないことにより効率はインクオブジェクトによって強化されるので、比較的寛大となる。すなわち上述のように新たな入力のみが認識され、以前の認識結果はそれに対してなされる参照に従って保持され、修正され、または省かれる。しかしいくつかの場合において以前の認識結果は、新たな入力の認識の助けとならない、または新たな入力と一緒に再認識を必要とする場合があり、その結果新たな入力の認識に対する必要性に限定されるが、再認識が生じる場合があることが理解される。
【0077】
図13の例の新たな「入力」は、コンテンツ自体ではなく、コンテンツに対する編集または制御アクションを表した。本システムおよび方法はまた、例えば以下のように新たなコンテンツ入力にも適用可能である。図14Aは、例えば表示された位置内でユーザが彼等の指またはスタイラス先端を上から下にスワイプすることによる単一ストロークでの上から下への縦の線としての入力としてインク管理システム112および/またはHWRシステム114によって検出された、編集ジェスチャ1400を有するデジタルインク1000を示す。すなわち上から下にストロークが次第に太くなることによって示されるように、時間順においてストローク開始位置はストローク終了位置の上にある。示される編集ストロークの特性は例であり、くさび形などの他の特性、他の編集コマンドの形が可能である(後に詳しく述べられる)。編集ストローク1400は、ストローク1001(および1002)と1003(および1004)との間の通過として検出され、従ってインク管理システム112には、デジタルインク1000に対してだけでなく、基礎をなす認識されたインクの候補認識例えば1202から1208のそれぞれに対する、編集ストローク1400の相対位置が分かる。
【0078】
編集ジェスチャ1400のこの相対位置、およびその上から下への書き込み方向の考慮は結果として、編集ジェスチャ1400は検出された位置において、デジタルインク1000を切断または分割するようにユーザによって意図されたものとの決定を生じる。この決定によってインク管理システム112は、デジタルインク1000が、図14Bに示されるように編集されたデジタルインク1000”として再レンダリングされるようにし、ストローク1001(および1002)と1003(および1004)には、それらの間にスペースがもたらされる。このスペースのサイズはプリセットおよび/またはユーザ設定可能(例えばUIメニューを通じて)とすることができ、一般にそのスペースにおいてもたらされることになる後の入力を許容するようにサイズ設定される。しかし通常の(テキストテンプレートなどに基づいて)サイズ設定された単一のスペースがもたらされることもできる。デジタルインクのこの編集には、インクオブジェクトによって表されるデジタルコンテンツの任意のさらなる認識が伴う。編集ストローク1400の決定または解釈においてインク管理システム112は、図13の例でのように、編集ストローク位置の近傍におけるストロークに参照付けられた認識候補を参照する。例えばストローク1001(および1002)と1003(および1004)との間の編集ストローク1400の位置は、(最も確からしい)認識候補1202から1208のすべてにおいて識別されるスペースと実質的に一致する。従ってインク管理システム112は、編集ジェスチャ1400はスペース追加ジェスチャであると決定するまたはHWRシステム114に決定させる(例えば適切な確率重み付けをもたらすことを通して)。例えばこの決定は少なくとも部分的に、例えば上記の参照により組み込まれている特許文献4で述べられているジェスチャ検出および認識を用いて行われることができる。
【0079】
コンテンツ挿入はまた、既存のコンテンツを上書きすることによってなされ得る。このようなアクションはインク管理システム112によって、例えば上書きされたコンテンツの削除および新たな入力の挿入として、または既存のコンテンツへの新たな入力の追加(バー「-」の追加によって「l」を「t」に変えるなど)として解釈されることができる。上記で論じられたようにこれは、キャラクタなどの部分的上書き/削除、およびデジタルインクおよび/または参照インデックスの保持を通したもとに戻すアクションもたらすことを含む。
【0080】
インク管理システム112は、入力された編集ストロークをデジタルインクとして、例えば図13Aおよび14Aに示されるように形状、または認識された編集動作が行われるまで何らかの他の適切なレンダリングを用いて、表示するように構成されることができ、またはこのような表示なしに単に編集動作を行うことができる。検出された編集ジェスチャの表示は、ジェスチャ自体の認識およびその相対位置に関してユーザに認識フィードバックをもたらすために用いられることができる。別のやり方として最終的な編集動作例えば図13Bおよび14Bに示される変更された表示が、このようなフィードバックのために用いられることができる。
【0081】
図14Cは、ストローク1001(および1002)と1003(および1004)との間のスペース内にあるものとして、インク管理システム112および/またはHWRシステム114によって検出された新たな入力1402と共に、編集されたデジタルインク1000”を示し、それによって「cleaning of the keyboard」の編集されたフレーズ1000”を形成する。未処理(およびデジタル)インク1402は、ワード「of」を形成するテキストキャラクタを表すストロークを含む。前に論じられたようにインク管理システム112はストロークをセグメント化して、入力の参照インデックス、および従ってデジタルインクを決定するために用いられる参照セグメンテーションを生成する。例えば新たなストローク1402のストロークインデックスはストローク[9]とすることができ、すなわちストローク[8]であるストローク1009から順次に続き、および例えば60ポイントを有するようにセグメント化され、その結果例えば参照インデックスr22は[9:0,9:30]に対応し、参照インデックスr23は[9:30,9:60]に対応する。上述のようにサブポイントも参照することによってさらなる精度がもたらされることができる。このようにして以前にインデックス付けされたコンテンツの参照インデックスは乱されず、新たな入力は既存のコンテンツと組み合わせて参照される。
【0082】
非コンテンツ入力の場合のように編集ジェスチャ1400と同じように、前に述べられたように新たなストローク位置の近傍のストロークに参照付けられた認識候補に対する新たな入力1402の相対位置の考察は、結果として新たな入力は、検出された位置でのデジタルインク1000’に対する新たなコンテンツとして、具体的には認識候補1202および1204に対して、ユーザによって意図されたとの決定を生じることができる(以下で詳しく述べられる)。この決定を用いてインク管理システム112は、編集されたデジタルインク1000’のさらなる再レンダリングを引き起こしてコンテンツ挿入のための追加のスペースをもたらし、次いで例えば新たなコンテンツが入力された後にこのスペースを縮小することができる。あるいはユーザには、これを可能にするためにさらなるスペースを挿入することが要求されることができる。デジタルインクのこの編集は、インクオブジェクトによって表されるデジタルコンテンツの任意の適切なさらなる認識を伴うことができ、例えばインク管理システム112によって、ストローク1402は新たなコンテンツであることを決定しまたはHWRシステム114に決定させ(例えば適切な確率重み付けをもたらすことを通して)、その結果、入力のタイプはすでに決定されまたは前処理されているので新たなコンテンツの認識処理はより速く実行されることができる。従って認識プロセスにおいて新たなストローク1402はセグメント化されて、可能性の高いキャラクタ候補を決定し、これは新たな入力1402のワード「of」の認識に繋がり、この認識は既存の認識候補を参照して行われるが、それが必要であると決定されない限り(例えばキャラクタがワードに追加されるなど)それらの候補に混乱を生じない。
【0083】
この例においてこの認識は、認識候補における変化を引き起こす。例えば図14Dは、編集されたフレーズ1000”の修正されたセグメンテーション1202’および1204”の表示を有する例示の修正されたまたは編集された認識1200”を示す。修正されたセグメンテーション1202’および1204”のそれぞれにおいて、ストローク1402はセグメント化されて、一連の認識されたキャラクタCnの追加の認識されたキャラクタを生じる。すなわちストローク1001から1009のセグメンテーションは変わらない。追加の認識されたキャラクタCnは、「o」C20および「f」C21を含む。前の例でのように修正された認識セグメンテーション1202’および1204”のそれぞれは、一般に参照セグメンテーションに対応し、その結果インク管理システム112は拡大された参照インデックスrmを、拡大された候補キャラクタCnにマップする。すなわち新たなキャラクタC20は参照インデックスr21に対応し、新たなキャラクタC21は参照インデックスr22に対応し、既存の候補キャラクタ、および他のストローク1002から1009に対する参照インデックスのマッピングは維持される。従ってデジタルインク1000の、基礎をなす認識1202’および1204”は、例えば「cleaning」に対応するワード[0:0,1:10]、「of」に対応するワード[9:0,9:60]、「the」に対応するワード[2:0,3:10]、および「keyboard」に対応するワード[4:0,8:40]として、参照インデックス付けを通じて決定されることができ、第4のインクオブジェクトは参照インデックス[9:0,9:60]に対応する。
【0084】
この例において認識候補1206および1208は、インク管理システム112によって適切な確率重み付けをもたらすことを通して、インクオブジェクトから省かれ、または最も確からしい認識候補リストから格下げされ、認識候補1202および1204は修正され、インク管理システム112によって適切な確率重み付けをもたらすことを通して最も確からしい認識候補リストにおいて格上げまたは昇格されることができる。これはなぜなら認識候補1206および1208の両方においてストローク1001および1002は、候補認識「during」に対応し、言語モデルに基づいてHWRシステム114は、例えばフレーズ「during of the keyboard」または「during of the ken board」の確からしさは、もとの入力1000の認識から比較的に低減されると決定するからである。一方、それぞれ「cleaning of the keyboard」および「cleaning of the ken board」の修正された認識候補1202’および1204”の相対的確からしさは、もとの認識候補1202および1204とおおよそ同じく最も確からしい。
【0085】
従ってインク管理システム112は対話を管理して、デジタルインクキャラクタ、ワードなどのそれぞれに対応するインクオブジェクトを調整することによってデジタルインクを編集し、これはデジタルインクの再レンダリング、およびそれに対応する基礎をなす認識候補の修正または調整を通して対話される。従ってインクオブジェクトは作られた任意のエディションを用いて更新され、その結果デジタルインクコンテンツから、タイプセットされたまたはフォント化されたコンテンツへの変換の後すぐに(例えば文書の最終化の後すぐに)、更新されたインクオブジェクトに基づいてタイプセッティングが行われ、それにより最新のおよび適用可能な認識結果が変換において用いられる。
【0086】
さらに上述のデジタルインクおよび/または削除および挿入アクションの参照インデックスでのように、デジタルインクに戻すための、もとに戻すアクションが同様にとられるように、インクオブジェクトはタイプセッティングが行われた後にインク管理システム112によって保持されることができる。インクオブジェクトはデジタルオブジェクトへの変換の後すぐに、例えばインクオブジェクトをデバイス100のメモリ108に記憶することによって永久的に、または一定の時間もしくは後続の操作の数の間、保持されることができる。あるいはタイプセッティングを通したインクオブジェクトの保持は、単にデジタルインクをタイプセットされたインクとして再レンダリングすることによって行われることができ、その結果デジタルオブジェクトに変換されるのではなく、デジタルコンテンツはインクオブジェクトによって特性化されたままとなる。このようにして、タイプセットされたインクとの対話は、デジタルインクとの対話と同様のやり方でインク管理システム112によって扱われる。すなわち同様な機能がもたらされるように、関連する基礎をなす認識結果に参照がなされる。これは混合されたコンテンツ、例えば手書き修正、またはタイプセットされたコンテンツへの注釈を入力する能力をもたらすことにおいて特に有用であり、手書きの入力は、既存のインクオブジェクトへの参照を用いて解釈されて、手書きの、タイプセットされたコンテンツへのシームレスな統合をもたらす。タイプされたコンテンツが手書きのデジタルインクに追加されることによって、逆も可能である。この場合デコードされたキーストロークは、インク管理システム112によって認識候補として扱われることができ、それにより、タイプされたコンテンツはインクオブジェクトとして公式化される。同様の可能性が、手書きまたはデジタル入力ツールを用いて入力された混合の非テキストコンテンツに当てはまる。
【0087】
前に述べられたようにインクオブジェクトを編集するために、手書きの編集ジェスチャ以外に、編集コマンドも用いられることができる。これらの編集コマンドは、UIメニュー、キーボード(例えばバックスペース)、およびマウス(例えば選択)を通じてもたらされるものなどの従来の編集コマンドを含む。すなわち前に論じられたように参照インデックス付けは、デジタルインクに対する入力カーソルの実質的に正確な配置を可能にし、およびまたテキストキャラクタなどのコンテンツ要素の範囲の正確な知識をもたらす。従ってレンダリングされるインクがデジタルインクであるかそれともタイプセットされたインクであるかに関わらず、カーソルはキャラクタ境界などの要素境界に位置決めされることができ、従って従来の編集コマンドが、デジタルオブジェクトと同様に用いられることができる。例えば図15Aは、段落の一部分1500が選択された図5のデジタルインク段落500を示し、図15Bは、段落の一部分1502が選択された図6の対応するタイプセットされたインク段落600を示す。両方の図において選択は同じコンテンツのものであり、文書処理アプリケーションにおいて通常もたらされるように強調表示された選択領域として示される。選択領域1500および1502は、それぞれのデジタルおよびタイプセットされたインクキャラクタのキャラクタ境界において、すなわちカーソル位置を用いてレンダリングされる。従って両方の場合において、選択されたコンテンツの参照インデックスに対応するインクオブジェクトは、任意の後の対話に対して選択される。
【0088】
デジタルコンテンツの作成のためのコンピューティングデバイス上の手書きの使用は、これらのデバイスがサイズ、ページ数などの紙の物理的制限をもたないので有利である。しかし手書きを用いてデジタルコンテンツを作成することは、現在はデジタルインクが伝統的に管理される方法のために、タイピングのように容易または効果的ではない。従来、デジタルコンテンツはタイプされたテキストオブジェクト、または形状および式などのデジタル的に描かれた非テキストオブジェクトから作られる。現在のデジタルインク管理は、手書きのオブジェクトを画素またはストロークとして捕捉し、これはデジタルコンテンツモデルに適合しない。これは作成者がキーボードを用いてタイプすることによって、または非テキストコンテンツの作成および編集のための複雑なツールを用いて、コンテンツを再入力しなければならないことに繋がる。
【0089】
手書き文字認識技術は、この再入力パラダイムを回避することができる。しかし手書きは一般に、様々なサイズおよび方向のテキストを有して構造化されておらず、非テキストと組み合わされているので、従来行われるように一度に全部のコンテンツに対して認識を行うことは、この技術の最良の使用をもたらさない。これは作成者が、出版可能なデジタルコンテンツを作成するために認識後の多くの編集を行わなければならないことに繋がり、手書き文字認識がもたらし得る生産性増加を著しく制限する。
【0090】
本システムおよび方法は、インク管理システムを通して、デジタルインクの生産性を飛躍的に改善する。インク管理システムは、テキストおよび非テキストに対して、デジタルインクと「オンザフライ」認識との組み合わせを通して、タイプされたデジタルコンテンツとして容易に管理可能な対話型インクをもたらす。このデジタルインクと認識結果との組み合わせは、デジタルインクを、タイプされたオブジェクトのように対話型であるインクオブジェクトに変換し、バックスペースおよびエンターなどのキーボード、ならびに選択およびドラッグアンドドロップのようなマウスのものに近い、直感的なジェスチャによって操作されることができる。デジタルインクとの対話は、技術に精通していないユーザに対しても直感的なユーザエクスペリエンスをもたらす。
【0091】
上記は最良の形態と考えられるものおよび/または他の例を述べたが、それらに様々な変更がなされることができ、本明細書で開示される本主題は様々な形および例において実施されることができ、およびそれらは数多くの他の応用例、組み合わせ、および環境において応用されることができ、本明細書ではそのいくつかのみが述べられていることが理解される。当業者は、開示された態様は本主題の真の精神および範囲から逸脱せずに変形または修正されることができることを認識するであろう。従って本主題は、この記述における特定の詳細、提示、および示された例に限定されない。本明細書で開示される有利な概念の真の範囲に包含されるあらゆる修正および変更を保護することが意図される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12A
図12B
図13A
図13B
図13C
図14A
図14B
図14C
図14D
図15A
図15B