JP4598466B2 - インク入力内のリストを検出するシステムおよび方法 - Google Patents

インク入力内のリストを検出するシステムおよび方法 Download PDF

Info

Publication number
JP4598466B2
JP4598466B2 JP2004278408A JP2004278408A JP4598466B2 JP 4598466 B2 JP4598466 B2 JP 4598466B2 JP 2004278408 A JP2004278408 A JP 2004278408A JP 2004278408 A JP2004278408 A JP 2004278408A JP 4598466 B2 JP4598466 B2 JP 4598466B2
Authority
JP
Japan
Prior art keywords
list
black circle
rows
indent
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004278408A
Other languages
English (en)
Other versions
JP2005100416A (ja
Inventor
チェン トンジアン
リン チョウチェン
ワン チアン
ワン シエンファング
ウー チアン
ズー ユ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005100416A publication Critical patent/JP2005100416A/ja
Application granted granted Critical
Publication of JP4598466B2 publication Critical patent/JP4598466B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般にコンピュータシステムに関し、より詳細には、インク入力内のリストを検出する改良されたシステムおよび方法に関する。
リストを検出する能力は、ユーザがインク入力またはインクノートを使用してコンピュータに直接に書くか描くことができるようにするのに重要である。現在のハードウェアおよびソフトウェアは、手書きを表すインクを適度に取り込むことができる場合があるが、現在は、インク入力内のアイテムのリストなど、手書き構造の意味を同様に検出し、表すことができない。その結果、ユーザは、その代わりに、メニューベースのアプリケーションプログラムを使用して、リストなどのテキストの構造を作成する場合がある。ユーザが入力テキストをフォーマットする際に選択し、かつ/または使用するために、さまざまな構造を、そのようなアプリケーションプログラムによって提示することができる。たとえば、ワードプロセッシングアプリケーションプログラムに、黒丸(bullet)付きまたは番号付きのアイテムのリストとしてテキストをフォーマットするメニューオプションが含まれる場合がある。
手書きオブジェクトの認識に焦点を合わせた研究は、今日まで、重要な結果を生んでいない。たとえば、特定の順序で作られる特定の数のストロークから円または箱などの単純な幾何形状を認識できる増分認識アルゴリズム(incremental recognition algorithm)が、使用されてきた。しかし、そのような増分アルゴリズムは、特定の手書きオブジェクトを認識するために、ストロークの順序に頼り、かつ/または特定の個数のストロークを前提とする。そのような手法は、複数の理由から、堅牢になることができない。まず第1に、増分アルゴリズムのどれもが、ストロークのどの集合が、これらが特定の構造または形状を表すので、一緒に属するかを判断するというグループ化問題を解決しない。ある構造または形状に属するストロークを一緒にグループ化する能力がないので、増分アルゴリズムは、リストなどのマルチストローク構造に対処することができない。
必要なものは、所与の構造を形成するのに必要なストローク入力順序および/またはストローク数に敏感でないものとすることができる、手書き構造の意味を検出し、表現する形である。そのようなシステムおよび方法は、マルチストローク手書き構造を認識でき、手書き構造を表すストロークのどの集合が一緒に属するかを判断できなければならない。
簡単に言えば、本発明は、インク入力内のリストを検出するシステムおよび方法を提供する。このために、インク入力内の黒丸付きまたは番号付きのアイテムのリストなどのリストを検出できるディテクタ(detector)を提供する。ディテクタに、インク入力内のリストを形成できる行のグループを選択するリスト候補ディテクタ、リスト内の手書き行のインデントレベルを検出するリストインデントディテクタ、リストの手書き行内の黒丸を検出する黒丸ディテクタ、およびリストの構造を提供するリスト構造ディテクタを含めることができる。
本発明は、まずリスト候補識別を実行して、インク入力内のリストを形成する可能性がある行のグループを選択することによって、リストなどの手書き構造を検出し、その意味を表現することができる。インデントレベルクラスタ化を候補リストの行ごとに実行して、候補リストのインデントレベルをグループ化することもできる。その後、黒丸検出を実行して、グラフィカル黒丸または英数字黒丸など、インク入力内の手書き行に含まれる黒丸を識別することができる。最後に、リストアイテムの間の関係を含むリストの構造を判定でき、少なくとも2つの黒丸付きアイテムを含む有効なリストになるように、候補リストを確認することができる。
一実施形態で、類似する機能を有する黒丸候補から始まることができる同一インデントレベルの行の対である黒丸パートナを検出することによって、黒丸検出を実行することができる。行の対の黒丸候補の機能を使用して、その行の対が黒丸パートナである確度を判定することができる。黒丸候補の機能の確度が閾値を超える場合に、行の対を黒丸パートナと考えることができ、黒丸候補を有効な黒丸と考えることができる。そうでない場合に、黒丸候補の行が、黒丸パートナのサブセットを有するインデントレベルのメンバであり、インデントレベルセットの行数に対する黒丸パートナのセット内の行数の比が、閾値より高いと判定される場合に、候補黒丸を有効な黒丸と考えることができる。
有利なことに、このシステムおよび方法は、手書き構造を形成する可能性があるストローク入力順序およびストローク数に敏感でない。他の長所は、図面と共に解釈される時の下記の詳細な説明から明白になる。
例示的なオペレーティング環境
図1に、本発明を組み込むことができる適切なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の1例にすぎず、本発明の使用または機能性の範囲に関する制限を提案することを意図されたものではない。コンピューティング環境100を、例示的な動作環境100に示されたコンポーネントのいずれかまたはその組合せに関する依存性または要件を有するものと解釈してもならない。
本発明は、多数の他の汎用のまたは特殊目的のコンピューティングシステム環境またはコンピューティング構成と共に動作する。本発明と共に使用するのに適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および/またはコンピューティング構成の例に、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、タブレットデバイス、ヘッドレスサーバ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、および類似物が含まれるが、これに制限はされない。
本発明を、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の全般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明を、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラムモジュールを、メモリストレージデバイスを含むローカルおよび/またはリモートのコンピュータストレージメディアに配置することができる。
図1を参照すると、本発明を実施する例示的システムに、コンピュータ110の形の汎用コンピューティングデバイスが含まれる。コンピュータ110のコンポーネントに、処理ユニット120、システムメモリ130、およびシステムメモリを含むさまざまなシステムコンポーネントを処理ユニット120に結合するシステムバス121が含まれる。システムバス121は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む複数のタイプのバス構造のいずれかとすることができる。制限ではなく例として、そのようなアーキテクチャに、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとも称するPCI(Peripheral Component Interconnect)バスが含まれる。
コンピュータ110に、通常は、さまざまなコンピュータ可読メディアが含まれる。コンピュータ可読メディアは、コンピュータ110によってアクセスできるすべての使用可能メディアとすることができ、コンピュータ可読メディアには、揮発性メディアおよび不揮発性メディア、ならびに取外し可能メディアおよび取外し不能メディアの両方が含まれる。制限ではなく例として、コンピュータ可読メディアに、コンピュータストレージメディアと通信メディアが含まれる。コンピュータストレージメディアには、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報のストレージに関するあらゆる方法またはテクノロジで実施される、揮発性および不揮発性の、取外し可能および取り外し不能のメディアが含まれる。コンピュータストレージメディアには、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリテクノロジ、CD−ROM、ディジタル多用途ディスク(DVD)、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報を保管するのに使用でき、コンピュータ110によってアクセスできる他のメディアが含まれるが、これに制限はされない。通信メディアによって、通常は、搬送波または他のトランスポート機構などの変調されたデータ信号内でコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータが実施され、通信メディアには、すべての情報配信メディアが含まれる。用語「変調されたデータ信号」は、信号内で情報をエンコードする形でその1つまたは複数の特性を設定または変更された信号を意味する。制限ではなく例として、通信メディアに、有線ネットワークまたは直接配線接続などの有線メディアと、音響、RF、赤外線、および他の無線メディアなどの無線メディアが含まれる。上記のいずれかの組合せも、コンピュータ可読メディアの範囲に含まれなければならない。
システムメモリ130に、読取専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132など、揮発性メモリおよび/または不揮発性メモリの形のコンピュータ可読メディアが含まれる。起動中などにコンピュータ110内の要素の間での情報の転送を助ける基本ルーチンを含む基本入出力システム133(BIOS)が、通常はROM131に保管される。RAM132には、通常は、処理ユニット120から即座にアクセス可能および/または処理ユニット120によって現在操作されているデータおよび/またはプログラムモジュールが含まれる。制限ではなく例として、図1に、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
コンピュータ110に、他の取外し可能/取外し不能、揮発性/不揮発性コンピュータストレージメディアを含めることもできる。例としてのみ、図1に、取外し不能不揮発性磁気メディアから読み取るか、これに書き込むハードディスクドライブ141、取外し可能不揮発性磁気ディスク152から読み取るか、これに書き込む磁気ディスクドライブ151、CD ROMまたは他の光メディアなどの取外し可能不揮発性光ディスク156から読み取るかこれに書き込む光ディスクドライブ155を示す。例示的オペレーティング環境で使用することができる他の取外し可能/取外し不能、揮発性/不揮発性コンピュータストレージメディアに、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM、および類似物が含まれるが、これに制限はされない。ハードディスクドライブ141は、通常、インターフェース140などの取外し不能メモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、通常は、インターフェース150などの取外し可能メモリインターフェースによってシステムバス121に接続される。
上で説明し、図1に示したドライブおよびそれに関連するコンピュータストレージメディアは、コンピュータ110に、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。図1では、たとえば、ハードディスクドライブ141が、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を保管するものとして図示されている。これらのコンポーネントを、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同一または異なるもののいずれかとすることができることに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は、最低限でもこれらが異なるコピーであることを示すために、本明細書では別の符号を与えられている。ユーザは、タブレットまたは電子ディジタイザ164、マイクロホン163、キーボード162、および通常はマウス、トラックボール、またはタッチパッドと称するポインティングデバイス161などの入力デバイスを介してコンピュータ110にコマンドおよび情報を入力することができる。図1に示されていない他の入力デバイスに、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、あるいは、バイオメトリックセンサ、環境センサ、位置センサ、または他のタイプのセンサを含むデバイスを含む他のデバイスを含めることができる。上記および他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インターフェース160を介して処理ユニット120に接続されるが、パラレルポート、ゲームポート、またはUSB(universal serial bus)など、他のインターフェースおよびバス構造によって接続することができる。モニタ191または他のタイプのディスプレイデバイスも、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続することができる。モニタ191は、タッチスクリーンパネルまたは類似物と一体化することもできる。タブレットタイプのパーソナルコンピュータなど、モニタおよび/またはタッチスクリーンパネルを、コンピューティングデバイス110が組み込まれるハウジングに物理的に結合できることに留意されたい。さらに、コンピューティングデバイス110などのコンピュータに、スピーカ195およびプリンタ196など、出力周辺インターフェース193などを介して接続できる他の周辺出力デバイスを含めることもできる。
コンピュータ110は、リモートコンピュータ180など、1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、リモートコンピュータ180には、通常、コンピュータ110に関して上で説明した要素の多数またはすべてが含まれるが、図1にはメモリストレージデバイス181だけを示した。図1に示された論理接続に、ローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173が含まれるが、他のネットワークも含めることができる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれたものである。LANネットワーキング環境で使用される時に、コンピュータ110は、ネットワークインターフェースまたはネットワークアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用される時に、コンピュータ110に、通常、インターネットなどのWAN173を介する通信を確立する、モデム172または他の手段が含まれる。モデム172は、内蔵または外付けとすることができるが、ユーザ入力インターフェース160または他の適当な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示したプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに保管することができる。制限ではなく例として、図1に、メモリデバイス181に常駐するものとしてリモートアプリケーションプログラム185を示す。図示のネットワーク接続が、例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用できることを諒解されたい。
インク入力内のリストの検出
本発明は、一般に、インク入力内のリストを検出するシステムおよび方法を対象とする。ユーザは、手書き入力に関する制限なしに、自由にリストを描くことができる。リストは、多数のストロークを有することができ、ストロークの入力順序は、任意とすることができ、その結果、このシステムおよび方法は、入力としてどのインクでも受け入れることができる。本明細書で使用されるリストは、少なくとも2つの黒丸付きリストアイテムを伴う構造を意味し、リストアイテムには、少なくとも1つの行が含まれ、黒丸を含めることができる。
具体的には、このシステムおよび方法によって、候補リストとしてリストのグループを選択することができる。次に、リストの構造を判定するために、インデントレベルクラスタ化および黒丸検出を実行することができる。最後に、リストアイテムの間の関係を含む、リストの構造を判定することができる。理解されるように、本明細書に記載のさまざまなブロック図、流れ図、およびシナリオは、例にすぎず、本発明が適用される多数の他のシナリオがある。
図面の図2に移ると、入力インク内のリストの検出に関するシステムコンポーネントの例示的アーキテクチャを一般に表すブロック図が示されている。当業者は、この図に示されたブロック内で実施される機能性を、別々のコンポーネントとして実施でき、あるいはブロックの複数またはすべての機能性を、単一のコンポーネントで実施できることを理解するであろう。たとえば、リスト候補ディテクタ206の機能性を、インクパーサ202に含めることができる。あるいは、リスト構造ディテクタ212の機能性を、別々のコンポーネントとして実施することができる。
インクパーサ202は、ドローイングオブジェクトを伴うインクを含めて、すべてのインクを受け入れることができる。インクパーサ202に、動作可能に結合されるリストディテクタ204を含めることができる。一般に、インクパーサ202およびリストディテクタ204は、カーネルコンポーネント、アプリケーションプログラム、リンクされたライブラリ、オブジェクトなど、実行可能ソフトウェアコードのどのタイプにもすることができる。リストディテクタ204には、インク入力から候補リストを形成することができる行のグループを選択する動作可能に結合されたリスト候補ディテクタ206、リストの行内の黒丸を検出する動作可能に結合された黒丸ディテクタ208、リスト内の行のインデントレベルを検出する動作可能に結合されたリストインデントディテクタ210、およびリストアイテムの間の関係を含めて、リストの構造を提供する動作可能に結合されたリスト構造ディテクタ212を含めることができる。これらのコンポーネントのそれぞれを、カーネルコンポーネント、アプリケーションプログラム、リンクされたライブラリ、オブジェクト、または他のタイプの実行可能ソフトウェアコードなど、あらゆるタイプの実行可能ソフトウェアコードとすることもできる。
図3に、インク入力内のリストの検出およびリスト構造の生成のために行われるステップを一般に表す流れ図を示す。ステップ302で、リストなどの手書き構造を伴うインクを含めて、どのインクでも解析することができる。たとえば、一実施形態で、入力としてインクのページを受け入れ、解析することができる。この実施形態では、たとえば、インクパーサが、ページのインクの先見的知識(priori knowledge)を有しないものとすることができる。したがって、単語グループ化、ライティング/ドローイング分類(writing/drawing classification)、およびドローインググループ化などの基本的なアルゴリズムを実行することができる。単語グループ化を実行するために、ストロークを、単語、行、およびブロックの階層にグループ化することができる。それを行うために、単語グループ化プロセスに、ストロークの機能抽出を含めて、距離、幾何学的な不同性および線形性、ならびに他のストローク機能を取り込むことができる。単語グループ化プロセスに、時間的情報に従ってストロークをグループ化するために動的計画法を含めることもできる。単語グループ化プロセスに、空間的情報に従ってストロークをグループ化するためにクラスタ化を含めることもできる。グループ内で識別された単語、行、およびブロックは、必ずしも、実際の意味論的な単語、行、およびブロックに対応しない場合がある。実際、これらのグループに、リストなどの手書き構造のストロークが含まれる場合がある。
ライティング/ドローイング分類を実行するために、ライティングをドローイングから区別することができるさまざまな機能を識別することができる。たとえば、曲率、密度、および他の手書きモデル機能などの単一単語機能を使用して、ライティングをドローイングから区別することができる。一実施形態で、時間的コンテキスト機能および空間的コンテキスト機能などのコンテキスト機能を使用して、ライティングをドローイングから区別することができる。さまざまな機能のそれぞれを、ファジイ関数にマッピングすることができ、ライティングとドローイングの間の分類を、ファジイ関数の組合せに従って判定することができる。
単語グループ化およびライティング/ドローイング分類を実行した後に、ドローインググループ化を実行することによって、ドローイングストロークを良く編成することもできる。ドローインググループ化を実行するために、ドローイングストロークを、その間の空間的関係に従って独立のオブジェクトにグループ化することができる。効率的なグリッドベースの手法を使用して、インクストロークを適当なサイズのイメージグリッドにあてはめることができる。イメージグリッドにラベルを付けて、接続されたコンポーネントを見つけることができる。各接続されたコンポーネントが、ドローイングオブジェクトに対応することができる。次に、ヒューリスティックルールを適用して、ドローイングオブジェクトを調整することができる。
インクパーサによって生成されたライティング行およびドローイングストロークを使用して、ステップ304でリスト検出を実行して、手書きオブジェクトがリストであるかどうかを判定し、そうである場合に、リストの構造を提供することができる。リスト検出では、まず、リスト候補識別を実行して、候補リストを識別する。次に、リストの構造を判定するために、インデントレベルクラスタ化および黒丸検出を実行することもできる。最後に、リストの構造を判定することができる。ステップ306で、リスト構造を、出力として生成することができる。リスト構造は、リストの構造的関係を表す有向非周期グラフなどの階層構造とすることができる。
図4に、リストの検出を実行する際に使用されるインク入力内の手書きオブジェクトの構造的関係を一般に表す例示的な図を示す。ルート402は、インク入力のページなど、ライティングと、ドローイングオブジェクト404および406などの1つまたは複数のドローイングオブジェクトを含む可能性がある、インク入力を表すことができる。ライティングは、構造的に段落408によって表すことができ、段落408は、行410から作られるものとすることができ、行410は、ストローク414によって形成される単語412を有する。ドローイングオブジェクト404は、テキストなどの関連コンテンツを有する場合があり、このテキストは、ストローク414によって形成される単語412を有する行410からなるものとすることができる段落408によって構造的に表すことができる。インク入力402内で、リストなどの手書き構造を検出し、その構造を判定することができる。
図5に、リストの検出のために行われるステップの一実施形態を一般に表す流れ図を示す。ステップ502で、リスト候補識別を実行して、インク入力内のリストを形成することができる行のグループを選択することができる。ステップ504で、リスト候補の行ごとにインデントレベルクラスタ化を実行して、リスト候補のインデントレベルをグループ化することもできる。行のインデントは、本明細書では、行の左端からリストの左端までの距離として定義される。インデントを、レベルにグループ化することができ、同一レベルのインデントは、類似する。ステップ506で、黒丸検出を実行して、黒丸を識別することができる。黒丸は、1つまたは複数のストロークからなるものとすることができ、行を開始することができる。黒丸には、一般に2つのタイプすなわち、グラフィカル黒丸と英数字黒丸がある。グラフィカル黒丸には、ドット、ダッシュ、円、長方形などを含めることができる。グラフィカル黒丸の形状は、通常は類似する。英数字黒丸には、アルファベット文字、数字、またはアルファベット文字および/または数字の組合せを含めることができる。通常、英数字黒丸のシーケンスは、増分式である。同一のインデントレベルの黒丸は、通常は同一のタイプである。最後に、ステップ508で、リストアイテムの間の関係を含めて、リストの構造を判定することができる。その後、少なくとも2つの黒丸付きアイテムが含まれる場合に、候補リストが有効であることを確認することができる。
図6に、リスト候補識別のために行われるステップの実施形態を一般に表す流れ図を示す。ステップ602で、リストディテクタへのライティング行入力のそれぞれを、行候補としてセットすることができる。一実施形態で、リストディテクタは、一時的にそのような行の1つのグループだけを扱うことができる。ステップ604で、リスト候補としてセットされた行のグループに1つのリスト候補だけがあるかどうかを判定することができる。そうである場合には、リスト候補識別を終了することができる。そうでない場合には、ステップ606で、リスト候補の対を生成することができる。ステップ608で、リスト候補の対を、生成されたリスト候補の対から選択することができる。次に、ステップ610で、リスト候補の対をマージするかどうかを決定することができる。両方のリストの行の角度がほぼ同一であり、リストの隣接する行の間の垂直距離が小さい場合に、ステップ612で、リスト候補を新しいリスト候補にマージすることができ、その後、処理はステップ604に戻ることができる。そうでない場合には、ステップ614で、マージすることができるリスト候補の別の対があるかどうかを判定することができる。そうである場合には、処理はステップ608に戻って、リスト候補の対を選択することができる。そうでない場合には、リスト候補識別の処理を終了することができる。
図7に、リスト候補を一般に表す例示的な図を示す。3つのリスト候補すなわち、リスト1 702、リスト2 704、およびリスト3 706が示されている。リスト1 702をリスト2 704とマージすることはできない。というのは、この両方のリストの行の角度の差が大きすぎるからである。リスト2 704とリスト3 706は、一緒にマージすることができない。というのは、リスト2 704の最後の行と、リスト3 706の最初の行の間の垂直距離が大きすぎるからである。長方形708は、一実施形態でインクパーサによって実行される単語グループ化によって作られるブロックグループ化を表すものとすることができる。リスト候補に、たとえばリスト3 706の3つのブロックグループ化などのブロックグループ化を含めることができる。
図8に、インデントレベルクラスタ化を実行するために行われるステップの実施形態を一般に示す流れ図を示す。候補リストの行を、各行のインデントに基づいてインデントレベルグループにクラスタ化することができる。それを行うために、各行のインデントを計算し、次に、インデントを複数のインデントレベルグループにクラスタ化する。リストアイテムのインデントレベルは、その第1行のインデントレベルと等しいものとすることができる。
一実施形態で、使用されるインデントレベルクラスタ化方法を、パターン認識で周知のk−meanクラスタ化アルゴリズムとすることができる。c個のレベルを与えられて、mが、レベルΓの平均インデント、
Figure 0004598466
、yが、行のインデント、Nが、レベルΓの行数、Jが、すべてのレベルの二乗誤差の和である。クラスタ化の目標は、
Figure 0004598466
として定義されるJを最小にすることである。
ステップ802で、インデントの初期ステップサイズlに対して、平均インデントレベルをm=i×lとして初期化することができ、検査される行のカウンタに、検査される行数をセットすることができる。ユーザが異なるサイズのインクノートを書くことができるというシナリオをサポートするために、一実施形態で、正規化されたインデントを使用することができる。たとえば、インデントを、リスト候補の行の平均高さによって正規化することができ、これによって、インデントの初期ステップサイズlを、1.4×(行の平均高さ)とすることができる。
ステップ804で、次の行y∈Γを検索することができる。次に、ステップ806で、yのインデントから各レベルの平均インデントまでの距離を判定することができる。ステップ808で、y∈Γに最も近いインデントレベルΓを見つけることができる。ステップ810で、最も近いインデントレベルが現在のインデントレベルと等しい場合に、ステップ816で、検査する行のカウンタを減分し、その行に関するインデントクラスタ化は終了である。そうでない場合には、ステップ812で、行を、最も近いインデントレベルに移動することができる。ステップ814で、各インデントレベルの平均位置を再検査することができ、検査する行のカウンタに、検査される行の数をセットすることができる。ステップ820で、行のカウンタが0であるかどうかを判定することができる。そうでない場合には、この処理はステップ804に戻って、次の行y∈Γを得る。そうである場合には、このレベルのインデントに関して、処理が終了する。
図9に、インデントレベルクラスタ化の後の候補リストの例示的な図を示す。候補リスト902は、6つの行を有する。インデントレベルクラスタ化の終了時に、行1、3、および5が、インデントレベル1にあり、行2、4、および6が、インデントレベル2にある。楕円904によって、インデントレベル1の行の黒丸を囲み、楕円906によって、インデントレベル2の行の黒丸を囲んでいる。
黒丸検出は、インデントレベルクラスタ化の後に実行することができる。黒丸検出では、リストのアイテムに黒丸が含まれるかどうかを判定することができる。したがって、リストの各行の最初の単語を、黒丸検出処理の黒丸候補と考えることができる。経験的観察に基づいて、リストの2つの行が同一のインデントレベルを有し、黒丸から始まる場合に、この2つの行の黒丸は、通常は、グラフィカル黒丸または英数字黒丸など、同一の記号である。その結果、リスト内の同一のインデントレベルの2つの行は、この2つの行の黒丸候補が類似する機能を有する場合に、黒丸から始まる可能性が高い。したがって、黒丸パートナは、本明細書では、類似する機能を有する黒丸候補から始まる可能性があるリスト内の同一インデントレベルの2つの行と定義される。2つのそのような行の一方が、他方の黒丸パートナである。黒丸パートナが、隣接する行である場合もそうでない場合もあることに留意されたい。黒丸検出では、黒丸パートナの黒丸候補が、黒丸であると考えることができる。
図10に、黒丸検出を実行するために行われるステップの実施形態を一般に表す流れ図を示す。ステップ1002で、黒丸候補の行について、黒丸パートナ検出を実行することができる。ステップ1004で、同一のインデントレベルの黒丸候補の隣接する行を検査して、隣接する行が黒丸候補の行の黒丸パートナであるかどうかを判定することができる。そうである場合には、ステップ1010で、黒丸候補を黒丸と考えることができる。黒丸パートナが検出されなかった場合には、ステップ1006で、黒丸候補の行が、黒丸パートナのサブセットを有するインデントレベルセットのメンバであるかどうかを判定することができる。そうでない場合には、ステップ1012で示されているように、候補黒丸が黒丸でないと考えることができる。黒丸候補の行が、黒丸パートナのサブセットを有するインデントレベルセットのメンバであり、インデントレベルセット内の行の数(S(I))に対する黒丸パートナの組の行の数(B(I))の比が、ステップ1008で閾値より高いと判定される場合に、ステップ1010に示されているように、候補黒丸を黒丸と考えることができる。そうでない場合には、ステップ1012に示されているように、候補黒丸を黒丸でないと考えることができる。一実施形態で、この閾値を、経験的に0.66にセットすることができる。当業者は、他の閾値を使用できることを理解するであろう。
図11に、黒丸パートナ検出を実行するために行われるステップを示す。一実施形態で、黒丸パートナ検出によって、所与のインデントレベルの行のすべての対が黒丸パートナであるかどうかを検査することができる。有利なことに、行対による黒丸の検査によって、黒丸検出の処理の堅牢さを改善することができる。たとえば、黒丸候補として奇形の(malformed)黒丸に出会うと、同一リスト内の他の黒丸の検出の失敗をもたらさない可能性がある。
黒丸パートナ検出処理の解析速度を改善するために、行の最初の単語として現れる可能性がある一般的な単語から黒丸を検出するために、単純な機能を使用することができる。この機能には、黒丸候補を囲む境界ボックスの幅および高さを使用することを含めることができる。たとえば、グラフィックス黒丸および番号付き黒丸の境界ボックスのサイズは、通常は類似するが、行の最初の単語として現れる可能性がある一般的な単語の境界ボックスのサイズは、劇的に異なる可能性がある。さらに具体的に言うと、黒丸の境界ボックスは、しばしば、行の最初の単語として現れる可能性がある一般的な単語の境界ボックスほど幅広くはなく、それほど高くない。当業者は、黒丸候補と行の次の単語の間の距離など、他の単純な機能を使用できることを諒解するであろう。通常、黒丸から行の次の単語までの距離は、しばしば、行内の2つの一般的な単語の間の距離より大きい。
一実施形態で、黒丸を検出する5つの機能すなわち、Δh=|h(R)−h(R)|、Δw=|w(R)−w(R)|、w=max(w(R)、w(R))、Δs=min(s、s)/max(s、s)、およびd=min(d、d)を使用して、2つの行が黒丸パートナである確率を計算することができる。ステップ1102で、2つの黒丸候補aおよびbについて、それぞれaおよびbの境界ボックスである長方形Rおよび長方形Rを、aおよびbが現れるリストの角度位置で判定することができる。
ステップ1104で、境界ボックスの機能の差を判定することができる。たとえば、ステップ1106で、黒丸候補の境界ボックスの高さの差Δh=|h(R)−h(R)|を判定することができ、ここで、h(R)およびh(R)は、それぞれ長方形Rおよび長方形Rの高さである。あるいは、ステップ1108で、黒丸候補の境界ボックスの幅の差Δw=|w(R)−w(R)|を判定することができ、ここで、w(R)およびw(R)は、それぞれ長方形Rおよび長方形Rの幅である。あるいは、ステップ1110で、黒丸候補の境界ボックスの幅の最大値w=max(w(R)、w(R))を判定することができる。
ステップ1112で、黒丸候補のストローク長の差Δs=min(s、s)/max(s、s)を判定することができ、ここでsおよびsは、それぞれ黒丸候補aおよびbの総ストローク長である。ステップ1114で、行の次の単語までの距離d=min(d、d)を判定することができ、ここで、dおよびdは、各黒丸候補aおよびbとそのめいめいの行の次の単語の間の距離である。
次に、ステップ1116で、行の対が黒丸パートナである確度を、黒丸候補の機能を使用して判定することができる。一実施形態では、機能を組み合わせることができるファジイ関数を構築して、2つの行が黒丸パートナである確度を判定することができる。この関数は、次のように定義することができる。
Figure 0004598466
ここで、Δh、Δw、w、Δs、dは、5つの機能の閾値であり、α、β、γ、η、κは、決定境界のソフトさ(softness)を調整するのに使用することができる。この関数は、すべての機能が0から無限大に増える時に、単調に減少するものとすることができる。いずれかの機能がその閾値を超える場合に、この関数は、0.5未満になることができる。関数値は、すべての機能が0の時に1になり、すべての機能が無限大に近づく時に0に達することができる。決定境界は、一実施形態でf(Δh、Δw、w、Δs、d)=0.5として定義することができる。この場合に、
Figure 0004598466
である。ステップ1118で、ファジイ関数の確度が0.5の閾値より大きいかどうかを判定することができる。そうである場合に、ステップ1120で、この2つの行を黒丸パートナと考えることができる。そうでない場合には、ステップ1122で、この2つの行を黒丸パートナでないと考えることができる。
黒丸検出の後に、インデントレベルクラスタ化および黒丸検出の結果を使用して、リスト構造判定を実行することができる。たとえば、各行のインデントレベルを使用して、どの行がリストアイテムを形成するかを判定することができ、識別されたリストアイテムの間の関係を判定することもできる。リストの構造は、黒丸の存在によっても判定することができる。図12に、リスト構造判定を実行するために行われるステップの実施形態を一般に表す流れ図を示す。
ステップ1202で、どの行がリストアイテムを形成するかを判定することによって、リストアイテムを識別する。リストアイテム構成に複数のルールがある場合がある。たとえば、リストアイテムに、黒丸から始まる1行だけを含めることができる。リストアイテムが、黒丸から始まる行を有する場合に、その行は、リストアイテムの第1行にならなければならない。リストアイテムが、黒丸がある行を有する場合に、その行のインデントレベルは、そのリストアイテムの他の行のインデントレベル以下でなければならない。リストアイテムが、黒丸のある行を有しない場合には、そのリストアイテムの各行のインデントレベルは、同一でなければならない。また、リストアイテムの隣接する行の間の垂直距離は、非常に大きくなってはならない。
リストアイテムを識別したならば、ステップ1204で、リストアイテムの間の関係を判定することができる。リストアイテムの間の関係を判定する複数のルールがある場合がある。たとえば、リストアイテムは、任意の数のサブアイテムを有するか、一切有しないことができる。リストアイテムのインデントレベルは、そのサブアイテムのインデントレベル未満とすることができる。インデントレベルは、リストアイテムのサブレベルと同一とすることができる。リストアイテムは、1つの親アイテムだけを有するか、全く有しないことができる。
ステップ1206で、リストアイテムからリスト候補構造を作成することができる。リスト候補構造は、有向非周期グラフまたはツリーなど、ツリーの特定のレベルでリスト候補内の特定のインデントレベルのリストアイテムを含むことができる、階層構造とすることができる。最後に、ステップ1208で、リスト候補に少なくとも2つの黒丸がある場合に、リスト候補が有効なリストであると判定することができる。
図13に、候補リスト構造の一実施形態の例示的な図を示す。候補リスト構造1302に、行の左上角に番号を付けられた複数の行が含まれ、リストアイテムの複数の例が示されている。たとえば、行2は、リストアイテム1304を形成することができる。行4および5は、リストアイテム1306を形成することができる。というのは、行4だけが黒丸から始まり、行4が、候補リストアイテムの最初の行でもあるからである。さらに、行4および5のインデントレベルは、同一のインデントレベル2 1316である。行6および7は、それぞれ同一のインデントレベル、インデントレベル2 1316であるが、それぞれが別々のリストアイテム1308および1310を形成する。というのは、これらの行のそれぞれが、黒丸から始まり、リストアイテムには、黒丸から始まる行を1つだけ含めることができるからである。行8および9は、それぞれ同一のインデントレベル、インデントレベル3 1318であり、各行が、それぞれ個別に別々のリストアイテム1312および1314を形成する。というのは、これらの行のそれぞれが、黒丸から始まり、リストアイテムに、黒丸から始まる行を1つだけ含めることができるからである。
リストを検出し、その構造を判定したならば、手書きオブジェクトの構造的関係を理解することができる。図14は、ドローイングオブジェクトのリスト検出を実行した後の、インク入力内の手書きオブジェクトの構造的関係を一般に表す例示的な図である。ルート1402は、インク入力のページなど、リスト1404およびリスト1406などの1つまたは複数の構造を含むことができる、インク入力を表すものとすることができる。リストに、リストアイテム1408および1410などの1つまたは複数のリストアイテムを含めることができる。リストアイテムに、行1412および1414など、1つまたは複数の行と、黒丸1418など、1つまたは複数の黒丸を含めることができる。各行に、ストローク1420によって形成できる単語1416など、1つまたは複数の単語によって構造的に表すことができるテキストを含めることができる。各黒丸1418は、ストローク1420によって形成することができる。
すべてのリストが、説明されたシステムおよび方法によって検出された後に、インク入力内の手書きオブジェクトを、完全に検出し、その構造を認識することができる。本発明を使用することによって、ユーザは、手書き入力に関する制限なしで、リストを自由に描くことができる。リストは、複数のストロークを有することができ、ストロークの入力順序は、任意とすることができ、その結果、このシステムおよび方法は、すべてのインクを入力として受け入れることができる。リストアイテムの間の関係を含めて、リストの構造を認識することができる。
上述の詳細な説明からわかるように、本発明は、リストの検出のシステムおよび方法を提供する。有利なことに、このシステムおよび方法は、手書きリストを形成することができるストローク入力順序およびストローク数に敏感でない。さらに、提供されるシステムおよび方法は、柔軟であり、拡張可能である。理解されるように、本発明を使用して、リストの構造の認識を含めて、アイテムの黒丸付きまたは番号付きのリストなど、インク入力内のすべてのリストを検出することができる。したがって、この方法およびシステムによって、現在のコンピューティングに必要な、かなりの長所および利益がもたらされる。
本発明は、さまざまな修正形態および代替構成を許すが、そのある例証する実施形態を、図面に示し、上で詳細に説明した。しかし、本発明を、開示された特定の形態に制限することが意図されておらず、逆に、その意図が、本発明の趣旨および範囲に含まれるすべての修正形態、代替構成、および均等物を含むことであることを理解されたい。
本発明を組み込むことができるコンピュータシステムを一般に表すブロック図である。 本発明の一態様による、入力インク内のリストの検出に関するシステムコンポーネントの例示的アーキテクチャを一般に表すブロック図である。 本発明の一態様による、インク入力内のリストの検出およびリスト構造の生成のために行われるステップを一般に表す流れ図である。 本発明の一態様による、リストの検出を実行する際に使用されるインク入力内の手書きオブジェクトの構造的関係を一般に表す例示的な図である。 本発明の一態様による、リスト検出のために行われるステップの一実施形態を一般に表す流れ図である。 本発明の一態様による、リスト候補識別のために行われるステップの実施形態を一般に表す流れ図である。 本発明の一態様による、リスト候補を一般に表す例示的な図である。 本発明の一態様による、インデントレベルクラスタ化を実行するために行われるステップの実施形態を一般に示す流れ図である。 本発明の一態様による、識別レベルクラスタ化の後の候補リストを一般に表す例示的な図である。 本発明の一態様による、黒丸検出を実行するために行われるステップの実施形態を一般に表す流れ図である。 本発明の一態様による、黒丸パートナ検出を実行するために行われるステップの実施形態を一般に表す流れ図である。 本発明の一態様による、リスト構造判定を実行するために行われるステップの実施形態を一般に表す流れ図である。 本発明の一態様による、候補リスト構造の一実施形態を一般に表す例示的な図である。 本発明の一態様による、ドローイングオブジェクトのリスト検出を実行した後の、インク入力内の手書きオブジェクトの構造的関係を一般に表す例示的な図である。
符号の説明
202 インクパーサ
204 リストディテクタ
206 リスト候補ディテクタ
208 黒丸ディテクタ
210 リストインデントディテクタ
212 リスト構造ディテクタ

Claims (26)

  1. インク入力内のリストを検出するコンピュータシステムであって、
    前記インク入力を受け取るリストディテクタと、
    前記インク入力内のリストを形成することができる行のグループを選択する、前記リストディテクタに動作可能に結合されたリスト候補ディテクタと、
    前記インク入力内の手書き行のインデントを検出する、前記リストディテクタに動作可能に結合されたインデントディテクタと、
    前記インク入力内の手書き行内の黒丸を検出する、前記リストディテクタに動作可能に結合された黒丸ディテクタと、
    前記インク入力内のリストの構造を提供する、前記リストディテクタに動作可能に結合されたリスト構造ディテクタと
    を含み、
    前記リスト候補ディテクタは、2つのリスト候補を選択して2つの前記リスト候補をマージできるかどうかを判定して前記リスト候補を識別し、
    前記インデントディテクタは、識別された前記リスト候補の前記手書き行ごとにインデントレベルをグループ化するためのインデントレベルクラスタ化を実行し、
    前記黒丸ディテクタは、前記インデントレベルクラスタ化を実行した後、黒丸候補として、前記リスト内の前記手書き行の最初の単語を選択して、前記黒丸候補の前記手書き行について、前記手書き行と同一の前記インデントレベルの黒丸候補の隣接する手書き行を検査して、隣接する前記手書き行が前記黒丸候補の手書き行の黒丸パートナであるかどうかを判定する黒丸パートナ検出を実行して、前記黒丸パートナと判定された場合は、前記行の最初の単語を前記黒丸とし、
    前記リスト構造ディテクタは、前記インデントレベルクラスタ化の結果および前記黒丸を検出した結果を使用して、前記インク入力内の前記リストの構造の判定をし、前記リストの構造を作成する
    ことを特徴とするコンピュータシステム。
  2. 前記リストディテクタにインク入力を送る、前記リストディテクタに動作可能に結合されたインクパーサをさらに含むことを特徴とする請求項1に記載のコンピュータシステム。
  3. 前記黒丸が、英数字黒丸を含むことを特徴とする請求項1に記載のコンピュータシステム。
  4. 前記黒丸が、グラフィカル黒丸を含むことを特徴とする請求項1に記載のコンピュータシステム。
  5. インク入力内のリストを検出する方法であって、
    前記インク入力を受け取るステップと、
    前記インク入力内の前記リストに関するリスト検出を実行すること、および
    出力として前記リストの構造を生成すること、を含み、
    前記リスト検出を実行することは、
    前記インク入力内のリストを形成することができる行のグループを選択するために、リスト候補識別を実行すること、
    前記インク入力内の行のインデントを検出するためにインデント検出を実行すること、および
    前記インク入力内の前記行内の黒丸を識別するために黒丸検出を実行すること、
    を含み、
    前記リスト候補識別を実行することは、2つのリスト候補を選択して前記2つのリスト候補をマージできるかどうかを判定して前記リスト候補を識別することを含み、
    前記インデント検出を実行することは、識別した前記リスト候補の前記行ごとにインデントレベルをグループ化するためのインデントレベルクラスタ化を実行することを含み、
    前記黒丸検出を実行することは、
    黒丸候補として、前記リスト内の前記行の最初の単語を選択すること、および
    前記黒丸候補の前記行について、前記行と同一の前記インデントレベルの黒丸候補の隣接する行を検査して、隣接する前記行が前記黒丸候補の行の黒丸パートナであるかどうかを判定する黒丸パートナ検出を実行して、前記黒丸パートナと判定された場合は、前記行の最初の単語を黒丸とすること、を含み、
    前記リスト検出を実行することはさらに、前記インデントレベルクラスタ化および前記黒丸検出の結果を使用して、前記インク入力内の前記リストの構造の判定し、前記リストの構造を作成することを含む
    ことを特徴とする方法。
  6. 前記インク入力内でライティングをドローイングから区別するために前記インク入力を解析することをさらに含むことを特徴とする請求項に記載の方法。
  7. 前記リスト候補識別を実行することは、リスト候補として選択された行の前記グループ内のすべての行をセットすることを含むことを特徴とする請求項に記載の方法。
  8. 前記リスト候補識別を実行することは、リスト候補を形成するために選択された行の前記グループからの2つの行をマージすることを含むことを特徴とする請求項に記載の方法。
  9. 前記リスト候補識別を実行することは、新しいリスト候補を形成するために前記2つの行候補をマージすることを含むことを特徴とする請求項に記載の方法。
  10. 前記リスト候補識別を実行することは、前記新しいリスト候補を別のリスト候補とマージすることを含むことを特徴とする請求項に記載の方法。
  11. 前記インデントレベルクラスタ化は、k−meanクラスタ化であることを特徴とする請求項に記載の方法。
  12. 前記インデント検出を実行することは、行のインデントレベルから平均インデントレベルまでの距離を判定することを含むことを特徴とする請求項に記載の方法。
  13. 前記インデント検出を実行することは、インデントレベルの平均位置を再計算することを含むことを特徴とする請求項に記載の方法。
  14. 前記黒丸検出を実行することは、前記黒丸パートナでないと判定された場合に、前記行と同一の前記インデントレベルの行の組が黒丸パートナのサブセットを有するかどうかを判定することを含むことを特徴とする請求項に記載の方法。
  15. 同一の前記インデントレベルの組内の行数に対する黒丸パートナの前記サブセット内の行数の比が、閾値を超えるかどうかを判定し、前記閾値を超えた場合に、前記行の最初の単語が黒丸であると考えることをさらに含むことを特徴とする請求項14に記載の方法。
  16. 同一の前記インデントレベルの組内の行数に対する黒丸パートナの前記サブセット内の行数の比が、閾値を超えるかどうかを判定し、前記閾値を超えない場合に、前記行の最初の単語が黒丸でないと考えることをさらに含むことを特徴とする請求項14に記載の方法。
  17. 前記黒丸パートナ検出を実行することは、行の対の前記最初の単語の機能を判定することを含むことを特徴とする請求項に記載の方法。
  18. 前記行の対の前記最初の単語の機能を判定することは、行の前記対の前記最初の単語を囲む境界ボックスの高さおよび幅の差を判定することを含むことを特徴とする請求項17に記載の方法。
  19. 前記境界ボックスの前記幅の最大値を判定すること、
    行の前記対の前記最初の単語のストローク長の差を判定すること、および
    行の前記対の各最初の単語と次の単語との間の距離を判定すること
    をさらに含むことを特徴とする請求項18に記載の方法。
  20. 行の前記対の前記最初の単語の機能を使用して、行の前記対が黒丸パートナである確度を判定することを特徴とする請求項17に記載の方法。
  21. 前記確度が閾値を超えるかどうかを判定し、前記確度が閾値を超えた場合に、行の前記対が黒丸パートナであると考えることをさらに含むことを特徴とする請求項20に記載の方法。
  22. 前記インク入力内の前記リストの前記構造を判定することは、リストアイテムを識別することを含むことを特徴とする請求項に記載の方法。
  23. 前記インク入力内の前記リストの前記構造を判定することは、リストアイテム間の関係を判定することを含むことを特徴とする請求項に記載の方法。
  24. 前記インク入力内の前記リストの前記構造を判定することは、前記リストの前記構造から、前記リストが有効なリストであることを判定することを含むことを特徴とする請求項に記載の方法。
  25. 前記有効なリストは、少なくとも2つの黒丸を有するリストを含むことを特徴とする請求項24に記載の方法。
  26. 請求項に記載の方法を実行するコンピュータ実行可能命令を有するコンピュータ可読記録媒体。
JP2004278408A 2003-09-24 2004-09-24 インク入力内のリストを検出するシステムおよび方法 Expired - Fee Related JP4598466B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50579703P 2003-09-24 2003-09-24
US10/850,680 US7295708B2 (en) 2003-09-24 2004-05-20 System and method for detecting a list in ink input

Publications (2)

Publication Number Publication Date
JP2005100416A JP2005100416A (ja) 2005-04-14
JP4598466B2 true JP4598466B2 (ja) 2010-12-15

Family

ID=34198318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004278408A Expired - Fee Related JP4598466B2 (ja) 2003-09-24 2004-09-24 インク入力内のリストを検出するシステムおよび方法

Country Status (10)

Country Link
US (1) US7295708B2 (ja)
EP (1) EP1519280A3 (ja)
JP (1) JP4598466B2 (ja)
KR (1) KR101085605B1 (ja)
CN (1) CN100410965C (ja)
AU (1) AU2004208728B2 (ja)
BR (1) BRPI0403907A (ja)
CA (1) CA2482040C (ja)
MX (1) MXPA04009150A (ja)
RU (1) RU2370814C2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7352902B2 (en) * 2003-09-24 2008-04-01 Microsoft Corporation System and method for detecting a hand-drawn object in ink input
US7324691B2 (en) * 2003-09-24 2008-01-29 Microsoft Corporation System and method for shape recognition of hand-drawn objects
US7664325B2 (en) 2005-12-21 2010-02-16 Microsoft Corporation Framework for detecting a structured handwritten object
US7583841B2 (en) * 2005-12-21 2009-09-01 Microsoft Corporation Table detection in ink notes
US7836399B2 (en) * 2006-02-09 2010-11-16 Microsoft Corporation Detection of lists in vector graphics documents
US8600164B2 (en) 2008-03-28 2013-12-03 Smart Technologies Ulc Method and tool for recognizing a hand-drawn table
US8634645B2 (en) 2008-03-28 2014-01-21 Smart Technologies Ulc Method and tool for recognizing a hand-drawn table
US9135249B2 (en) * 2009-05-29 2015-09-15 Xerox Corporation Number sequences detection systems and methods
US20120290288A1 (en) * 2011-05-09 2012-11-15 Xerox Corporation Parsing of text using linguistic and non-linguistic list properties
WO2014005610A1 (en) 2012-07-06 2014-01-09 Microsoft Corporation Multi-level list detection engine
KR102147935B1 (ko) * 2013-08-29 2020-08-25 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
KR20150028627A (ko) * 2013-09-06 2015-03-16 삼성전자주식회사 사용자 필기를 텍스트 정보로 변환하는 방법 및 이를 수행하기 위한 전자 기기
KR20160062566A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 필기 문자를 보정하는 디바이스 및 방법
US10318613B2 (en) 2015-08-25 2019-06-11 Myscript System and method of digital note taking
US10387034B2 (en) * 2015-09-03 2019-08-20 Microsoft Technology Licensing, Llc Modifying captured stroke information into an actionable form
US10210383B2 (en) 2015-09-03 2019-02-19 Microsoft Technology Licensing, Llc Interacting with an assistant component based on captured stroke information
US10713304B2 (en) * 2016-01-26 2020-07-14 International Business Machines Corporation Entity arrangement by shape input
US9842251B2 (en) 2016-01-29 2017-12-12 Konica Minolta Laboratory U.S.A., Inc. Bulleted lists
US10310710B2 (en) * 2016-09-29 2019-06-04 Konica Minolta Laboratory U.S.A., Inc. Determination of indentation levels of a bulleted list
US10190991B2 (en) * 2016-11-03 2019-01-29 Applied Materials Israel Ltd. Method for adaptive sampling in examining an object and system thereof
CN111209765B (zh) * 2018-11-21 2023-05-30 Oppo(重庆)智能科技有限公司 识别物料条码的方法、装置及终端设备
CN112287654A (zh) * 2019-07-25 2021-01-29 珠海金山办公软件有限公司 一种文档元素对齐方法及装置
EP3862918B1 (en) * 2020-02-07 2023-11-01 MyScript Structural decomposition in handwriting

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995034047A1 (en) * 1994-06-03 1995-12-14 Aha Software Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038382A (en) 1989-10-13 1991-08-06 International Business Machines Corporation Multi-scale recognizer for hand drawn strokes
JPH052605A (ja) * 1990-10-29 1993-01-08 Ricoh Co Ltd 機械翻訳方式
JPH0628477A (ja) 1992-04-27 1994-02-04 Digital Equip Corp <Dec> パターン知覚デバイス
US5544265A (en) 1992-05-27 1996-08-06 Apple Computer, Inc. Shape recognizer for graphical computer systems
US5396566A (en) * 1993-03-04 1995-03-07 International Business Machines Corporation Estimation of baseline, line spacing and character height for handwriting recognition
US5517578A (en) * 1993-05-20 1996-05-14 Aha! Software Corporation Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
DE69428675T2 (de) 1993-12-30 2002-05-08 Xerox Corp Apparat und Verfahren zur Unterstützung einer impliziten Strukturation von Freiform-Listen, Übersichten, Texten, Tabellen und Diagrammen in einem auf Handzeichen basierenden Eingabesystem und Editiersystem
JP2618832B2 (ja) * 1994-06-16 1997-06-11 日本アイ・ビー・エム株式会社 文書の論理構造の解析方法及びシステム
US5864635A (en) 1996-06-14 1999-01-26 International Business Machines Corporation Distinguishing gestures from handwriting in a pen based computer by stroke analysis
US7139004B2 (en) * 2002-01-25 2006-11-21 Xerox Corporation Method and apparatus to convert bitmapped images for use in a structured text/graphics editor
US7136082B2 (en) 2002-01-25 2006-11-14 Xerox Corporation Method and apparatus to convert digital ink images for use in a structured text/graphics editor
US20040090439A1 (en) 2002-11-07 2004-05-13 Holger Dillner Recognition and interpretation of graphical and diagrammatic representations
US7352902B2 (en) 2003-09-24 2008-04-01 Microsoft Corporation System and method for detecting a hand-drawn object in ink input
US7324691B2 (en) 2003-09-24 2008-01-29 Microsoft Corporation System and method for shape recognition of hand-drawn objects

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995034047A1 (en) * 1994-06-03 1995-12-14 Aha Software Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings

Also Published As

Publication number Publication date
CN1607539A (zh) 2005-04-20
EP1519280A3 (en) 2008-01-02
CA2482040A1 (en) 2005-03-24
KR101085605B1 (ko) 2011-11-22
RU2004128380A (ru) 2006-03-10
US20050063591A1 (en) 2005-03-24
CA2482040C (en) 2012-02-21
RU2370814C2 (ru) 2009-10-20
US7295708B2 (en) 2007-11-13
KR20050030103A (ko) 2005-03-29
MXPA04009150A (es) 2005-10-26
CN100410965C (zh) 2008-08-13
AU2004208728B2 (en) 2010-07-08
BRPI0403907A (pt) 2005-05-24
EP1519280A2 (en) 2005-03-30
AU2004208728A1 (en) 2005-04-07
JP2005100416A (ja) 2005-04-14

Similar Documents

Publication Publication Date Title
JP4598466B2 (ja) インク入力内のリストを検出するシステムおよび方法
US11886799B2 (en) Determining functional and descriptive elements of application images for intelligent screen automation
KR101099149B1 (ko) 핸드 드로잉 객체의 형상 인식 시스템 및 방법
JP4723840B2 (ja) インク入力内のハンド・ドローされたオブジェクトを検出するシステムおよび方法
US7400771B2 (en) System and method for connected container recognition of a hand-drawn chart in ink input
JP2006146894A (ja) 階層リストおよびアウトラインを構文解析すること
US7440616B2 (en) System and method for recognition of a hand-drawn chart in ink input
JP2006260573A (ja) 単語または文字の境界ベースのスクラッチアウトジェスチャ認識
US20070133877A1 (en) Script recognition for ink notes
US20060062464A1 (en) System and method for curve recognition in a hand-drawn chart in ink input
US20060062465A1 (en) System and method for connectivity-based recognition of a hand-drawn chart in ink input

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100917

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100924

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees