JP2013182625A - 文書情報に基づく手書き情報と文書の関連付け - Google Patents

文書情報に基づく手書き情報と文書の関連付け Download PDF

Info

Publication number
JP2013182625A
JP2013182625A JP2013041210A JP2013041210A JP2013182625A JP 2013182625 A JP2013182625 A JP 2013182625A JP 2013041210 A JP2013041210 A JP 2013041210A JP 2013041210 A JP2013041210 A JP 2013041210A JP 2013182625 A JP2013182625 A JP 2013182625A
Authority
JP
Japan
Prior art keywords
image patch
information
handwritten information
image
document information
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.)
Granted
Application number
JP2013041210A
Other languages
English (en)
Other versions
JP6089793B2 (ja
Inventor
Vallas John
バラス ジョン
Jonathan J Hull
ジェー ハル ジョナサン
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2013182625A publication Critical patent/JP2013182625A/ja
Application granted granted Critical
Publication of JP6089793B2 publication Critical patent/JP6089793B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • G06V30/1456Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields based on user interactions
    • 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

Abstract

【課題】手書き情報を文書情報と関連付けさせるための方法及び装置を提供する。
【解決手段】かかる方法は、第一文書情報が表示されている間に、前記第一文書情報の上のスクリーンに書かれた一つ以上の手書き情報をキャプチャするキャプチャステップと、キャプチャされた前記手書き情報のキャプチャされた一つ以上の画像データを、前記手書き情報の下の表示されている前記第一文書情報の画像パッチとそれぞれ関連付けさせる関連付けステップと、第二文書情報が前記スクリーンに表示されていると確定する確定ステップと、前記第二文書情報の一つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報データと関連付けられたかどうかを判断する判断ステップと、前記判断ステップの結果に基づいて、前にキャプチャされた一つ以上の手書き情報又はその一部を前記第二文書情報の画像パッチの上に描画する描画ステップと、を含む。
【選択図】図1

Description

本発明の実施例は、文書(ドキュメント(document)とも称される)画像処理の分野に関し、より具体的に、本発明の実施例は、手書き情報(ストローク(stroke)とも称される)を文書情報の一部と関連付けさせ、これにより、文書情報が移動、スクロール又は変換される時に、手書き情報がこの手書き情報に関連付けられた文書情報のコンテンツとともに残る処理に関する。
対話型ホワイトボード(Interactive Whiteboard:IWB)を用いて情報をマークアップする方法が多数ある。このようなボードは、ユーザが手書き情報を書くことができる正常なホワイトボードのような白いバックグランドを提供することができる。また、パソコン(PC)のディスプレーがそのバックグランドに表示されてもよく、ユーザは、表示されているディスプレー画像に対して手書き情報を書くことができる。
例えば、SMART Technologies社のドライバー及びSMART Board(R)のような技術を用いることにより、ユーザは、ワード文書情報、ウェブページ、パワーポイントプレゼーション、ビデオ、又はPCディスプレーなどの任意のバックグランドを表示させることができる。ユーザがSMART Board(R)のペン皿からペンを手に入れる時に、SMART Board(R)ドライバーは、現在のスクリーンをキャプチャ(capture)してフリーズ(freeze)させる。ユーザにより書かれた全ての手書き情報は、フリーズされたスクリーンにオーバーレイされる。また、PCがSMART Notebook(TM)ソフトウェアに接続されれば、ビデオが再生されていても、ユーザが手書き情報を書いている間には、スクリーンがフリーズされる。ユーザによりユーザインタフェースを介して書くのを終えたことを示すと、手書き情報を含むスクリーンがキャプチャされて、スクリーン画像として保存され、そして、スクリーンがアンフリーズされる。
Microsoft Word文書とともに作業を行う時に、ユーザは、手書き情報を用いて文書全体におけるいくつかの部分をマークアップできることを望む。文書をスクロールし、一部をマークアップし、スクリーンをキャプチャし、それから、またのスクロールのためにスクリーンをアンフリーズすることが不便である。何らかの方法で手書き情報を文書に入れることができるのならば、マークアップする作業がより便利になる。
PC、Mac及びLinux(登録商標)プラットフォームに使用可能なアプリケーションが数十万(又は、恐らく数百万)あり、また、手書き情報を入力するための技術も多数あるので、手書き情報入力技術と全てのプログラムとを統合することが複雑な問題である。
必要なのは、文書を表示するためのアプリケーションを変更する必要がなく、手書き情報キャプチャシステムに表示される文書と関連付けられうる手書き情報をキャプチャする方法である。また必要なのは、コンピュータスクリーンにアップデート又はフリーズをストップさせる必要がなく、そのスクリーンをマークアップする方法である。
本発明の目的は、手書き情報を文書情報と関連付けさせる方法及び装置を提供することにある。
一実施例では、かかる方法は、第一文書情報が表示されている間に、前記第一文書情報の上のスクリーンに書かれた一つ以上の手書き情報をキャプチャするキャプチャステップと、キャプチャされた前記手書き情報のキャプチャされた一つ以上の画像データを、前記手書き情報の下の表示されている前記第一文書情報の画像パッチとそれぞれ関連付けさせる関連付けステップと、第二文書情報が前記スクリーンに表示されていると確定する確定ステップと、前記第二文書情報の一つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報データと関連付けられたかどうかを判断する判断ステップと、前記判断ステップの結果に基づいて、前にキャプチャされた一つ以上の手書き情報又はその一部を前記第二文書情報の画像パッチの上に描画する描画ステップと、を含む。
手書き情報を文書情報の一部と関連付けさせるためのシステムの一実施例のブロック図である。 手書き情報データの処理を示すフローチャートである。 文書情報の一部の上の表示面に手書き情報を再び書くかを判断するためのプロセスを示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報処理の例を示す図である。 手書き情報を文書情報と関連付けさせるためのプロセスの一実施例のフローチャートである。 コンピュータシステムのブロック図である。
以下、添付した図面を参照しながら、本発明の好適な実施形態を詳細に説明する。
本発明の実施例では、ユーザが、スクリーン(例えば、PCスクリーン、ホワイトボードなど)に書く、また、そのスクリーンをフリーズする必要がなく文書情報に注釈を付けることができる。即ち、本発明の実施例では、文書に注釈を付ける時に、スクリーンをフリーズする必要がない。これは、スクリーンに書かれた手書き情報をその下の文書の画像パッチ(patch)と関連付けさせることにより実現される。ここで開示の技術を用いることにより、ユーザは、プレゼンテーション又はテキストドキュメントの一部(スクリーン)に手書き情報を書き、文書の異なる部分又はページにスクロールすることができる。スクリーンに書かれた手書き情報は、この手書き情報が最初に(originally)書かれた文書の部分と関連付けられる。異なるページに移動する時に、スクリーン上の手書き情報は完全に無くなるが、文書が少しだけスクロールされる時に、マーク(手書き情報)は、このマークが最初に書かれた文書の部分に移動される。文書のページがユーザにより異なるページにスクロールされ且つマークがなくなる場合、元のページに戻る時に、マークは、その正確な位置(即ち、マークが最初に書かれた元のページにある位置)に再び現れ得る。
一実施例では、システムが文書情報に基づいて、手書き情報を文書と関連付けさせる。このようなシステムは、次のような処理を行う。まず、システムは、ライブのスクリーンをキャプチャする。ライブのスクリーンは、アナログ又はデジタルビデオケーブル、或いは、VNCのようなアプリケーションによる遠隔共有スクリーンからのものであってもよい。システムは、このようなスクリーンに入力された手書き情報を受け取ることができる。手書き情報は、スクリーンに表示されている文書に注釈を付けるために、ユーザによりスクリーンに入力されるものであってもよい。一実施例では、手書き情報は、例えば、ペンによるハイライトのような手書き情報であってもよい。手書き情報をキャプチャした後に、システムは、各手書き情報と、対応する手書き情報の位置にある画像パッチとのペアを作る。これは、一実施例では、Ricoh Visual Search(RVS)により実行される。即ち、一実施例では、Ricoh Visual Search(RVS)は、文書のことを知る必要がなく、文書が表示されている時に、その中の部分を識別し、また、文書が表示されている間に、文書の上に書かれた手書き情報を文書と関連付けさせるために用いられる。RVSは、よく知られているものである。RVSの詳細については、米国特許第7,702,673号明細書及び米国特許第8,086,038号明細書を参照することができる。
また、手書き情報を有する文書の画像パッチ(部分)がスクリーンから消える場合、システムは、スクリーンからその手書き情報を削除する。また、手書き情報を有する画像パッチが変換される場合、手書き情報も変換されてスクリーンに表示される。例えば、手書き情報を有する画像パッチがスクリーンの異なる部分に移動される時に、手書き情報も、この画像パッチのスクリーン上の新しい位置に移動され、且つ、この画像パッチ内の同じ位置に位置する。
同様に、手書き情報を有する画像パッチが回転され又は拡縮(拡大又は縮小)される場合、システムは、手書き情報をも同様に回転又は拡縮させて、この画像パッチ上に表示させる。よって、文書情報内のコンテンツが拡縮又は移動された後でも、対応する手書き情報は、同様な方式で拡縮又は移動され得る。これにより、手書き情報は、スクリーンに書かれた時と同様に、対応する画像パッチに対しての同じ位置に表示され得る。即ち、手書き情報は、この手書き情報の元の位置とマッチするように再配置又は拡縮される。
また、オリジナル文書は、画像パッチから再構成され得る。即ち、画像パッチは、ガイドとして使用されてもよく、また、オリジナル文書は、追加手書き情報を有する、キャプチャされた画像に基づいて再構成され得る。
このシステムの実施例は、次のような1つ以上の利点を有する。1つの利点は、手書き情報がオペレーティングシステムにおける全てのアプリケーションと統合できることにある。これに加えて、スクリーン画像は、依然としてライブのものであり、また、制御され得る。即ち、現れる画像は、フリーズされることがなく、また、自由に操作(例えば、移動、スクロールなど)され得る。さらに、キャプチャされた画像及び手書き情報は、文書を再構成するために用いられ得る。最後に、ここで開示の技術は、他の画像、例えば、スクリーンに表示されるPCディスプレー上の画像又はカメラからの画像とともに働くことができる。
以下、本発明のより詳しい説明を提供するために、いくつかの詳細を記載する。なお、当業者が理解すべきは、本発明がこれらの特定の詳細がなくても実施され得ることである。また、他の例では、本発明を曖昧にすることを避けるために、よく知られている構造及び装置をブロック図の形で概略的に示す。
次に記載の詳細の一部は、コンピュータメモリ内のデータビットの処理アルゴリズム又は符号表示(symbolic representation)により示される。これらのアルゴリズム又は符号表示は、当業者によく用いられているものである。ここで、アルゴリズムとは、望ましい結果へ導くつじつまの合う一連のステップを指す。これらのステップは、物理量の物理的処置を要するものである。通常、これらの物理量は、電気又は磁気信号などを保存、転送、合成、又は比較するなどのことを可能にするものであるが、これに限定されない。また、これらの信号は、時々、便宜のために、主に、共通使用のために、ビット(bit)、値、要素、シンボル、キャラクター、ターム(term)、又は、数字などと称される。
なお、これら又は類似する用語は、適切な物理量に関連付けられ、また、単にこれら物理量に付けられる便利な符号であってもよい。また、特別な説明がない限り、次に記載の「処理」、「計算」、「確定」、又は、「表示」などとは、コンピュータシステム、又は、コンピュータシステムのレジスタ及びメモリ内の物理量として示されるデータを処理又は変換する他の類似する電子計算デバイスのプロセス及び動作などを指す。
また、本発明は、ここで開示の処理を実行するための装置にも関する。このような装置は、要求される目的のために特別に構成されてもよく、又は、中に保存されているコンピュータプログラムにより選択的に起動又は再構成され得る汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、コンピュータシステムのバスに接続されるマシン(コンピュータ)読み取り可能な記録媒体、例えば、フロッピー(登録商標)ディスク、光ディスク、CD-ROM、光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気又は光カード、又は、使用可能な他の任意のタイプの記録媒体に記録されてもよい。
また、ここで開示のアルゴリズム及び符号表示は、特定のコンピュータ又は他の装置と本質的に関連しない。言い換えると、様々な汎用システムは、ここで開示のプログラムを使用することができ、又は、要求される方法のステップを実行するために様々な特定の装置を構成し得ることも明らかである。以下、このようなシステム及び装置の具体例について詳細に説明する。さらに、本発明は、特定のプログラミング言語に限定されない。即ち、様々なプログラミング言語は、ここで開示の本発明の教えを実現すために用いられ得る。
また、マシン読み取り可能な記録媒体は、マシン(例えば、コンピュータ)可読の情報を保存又は転送するための任意のメカニズムを含む。例えば、マシン読み取り可能な記録媒体は、ROM、RAM、磁気ディスク、光ディスク、フラッシュメモリなどを含んでもよい。
以下、本発明の実施例について詳しく説明する。
上述のように、本発明のシステムの一実施例では、手書き情報が同じスクリーンに追加されて文書情報を覆うことができる。これらの手書き情報は、スクリーンに書かれ、また、これらの手書き情報に関連するいくつかの点及び線分を有する。線分は、長さ、色、透明度などを有する。手書き情報がスクリーンに追加される時に、システムは、この手書き情報の周りに表示されている文書情報の所定サイズの領域を取得する。例えば、システムは、手書き情報の最大及び最小のx及びyの値を求め、手書き情報の境界ボックス(境界枠)を生成し、そして、生成された境界ボックスをその所定サイズの領域としてもよい。領域は、ここで、画像パッチと称され、区別できるのに十分大きなサイズを有する必要がある。言い換えると、領域のサイズは、画像パッチが今後他の画像パッチと比較される時に識別できるように選択される。領域を区別できなければ、例えば、領域が区別用マークを有しない白いバックグランドであれば、このような領域は、文書情報の他の画像パッチと区別できる程度の十分な情報が含まれるまでに拡大される。一実施例では、システムは、それから、画像パッチ又は一実施例において画像パッチから求められた特徴のセット(集合)、及び、点の値のセットをデータベースに保存する。点の値は、画像パッチに対しての手書き情報の位置を示す。例えば、一連のx−y座標は、手書き情報の異なる部分を示し、また、各x−y座標は、画像パッチの特定の点(例えば、左下角の点など)と関連するように設定される。このような材料は、データベースに保存される。
システムは、保存された画像パッチ及び手書き情報を用いて、スクリーンに現れる画像ページを識別し、そして、識別された画像ページに前に手書き情報が現れたかどうかを判断する。例えば、文書情報がスクロールされてスクリーンに新しい画像パッチが現れ、且つ、スクリーンに表示されている画像パッチとマッチするものがデータベースに存在しなければ、システムは、スクリーンから手書き情報を削除する。
文書情報の次のスクロールにより、関連付けられた手書き情報を有する画像パッチがスクリーンに再び現れれば、システムは、この手書き情報をスクリーンに返す。具体的には、システムは、この手書き情報を、スクリーンにおいて画像パッチのある点(例えば、左下角の点)に対しての同じ位置に返す。このようにして、手書き情報は、その属する画像パッチに対してのオリジナル位置とマッチするように再配置される。なお、画像パッチがそれに関連付けられた手書き情報を有するかどうかの判断は、画像パッチとデータベースにある画像パッチとのマッチ処理により行われる。
図1は、手書き情報を文書情報の一部と関連付けさせるためのシステム100のブロック図である。システム100は、表示面102、コントローラ106、及びキャプチャシステム108を含む複数のコンポーネントを有してもよい。なお、図1に示すシステム100のコンポーネントは、説明のためだけのものであり、本発明の実施例の範囲を限定するものではない。他の実施例は、図1に示すコンポーネントより多い又は少ないものを有してもよい。
表示面102(例えば、タブレットコンピュータ、タッチスクリーンコンピュータ、対話型ホワイトボード、Apple iPad、テレストレータ(telestrator)システムなど)は、システム100のユーザに入力及び出力インタフェースを提供する。入力インタフェースとされる時に、表示面102は、ユーザが手書き情報を入力することを可能にし、入力された手書き情報は、それから、デジタル情報(手書き情報のデジタル表現とも称される)に変換される。出力インタフェースとされる時に、表示面102には、再び書かれた手書き情報又は文書情報の出力のようなデジタル情報がコントローラ106により表示され、これにより、情報は、システム100の一人以上のユーザにより見られる。システム100の一人以上のユーザは、1つ以上の書く用器具を用いて、手書き情報を書く(ライティング(writing)する)又は描く(ドローイング(drawing)する)ことにより、システム100に入力を提供することができる。例えば、図1に示すように、ユーザは、書く用器具を用いて、表示面102に手書き情報を書くことができる。なお、「手書き情報」、「ライティング」、「ドローイング」、又は「ライティング情報」という用語は、ここに用いられるように、書く用器具を用いて提供され得る1つ以上の線分、ハイライト、キャラクター、レター、シンポル、ワード、センテンス、テーブル、ドローイング、スケッチ、フィガー、又は任意の他のタイプの入力を含んでもよいことを意味する。一例として、ライティング又はドローイングは、任意の言語又はフォーマットで表現される手書きのレター、数字、又はシンポルを含んでもよい。
書く用器具によるユーザの手書き情報のライティングは、キャプチャシステム108によりキャプチャされてコントローラ106に送信され、コントローラ106は、手書き情報に対応するデジタル情報を確定する。確定されたデジタル情報は、それから、表示のために、表示面102に送信されてもよい。一実施例では、コントローラ106は、手書き情報(デジタル情報)を表示面102への投影のためにプロジェクタに送信してもよい。
システム100のユーザは、異なる書く用器具を用いて、書く又は入力を提供することができる。一実施例では、書く用器具は、表示面102に可視のマークを残さない物理的なオブジェクトであってもよい。例えば、ユーザは、手の指を書く用器具として用いて、表示面102に書くことができる。手の指は、表示面102に可視のマークを残さなくても、手の指の移動は、キャプチャされてデジタル情報に変換され、それから、表示面102に表示され得る。他の実施例として、ユーザは、ポインター又はスタイラスを書く用器具として用いて、表示面102に書くことができ、スタイラスは、表示面102に可視の物理的なマークを残さなくてもよい。ユーザによる手書き情報はキャプチャされ、キャプチャされた手書き情報に対応するデジタル情報は確定され、そして、このデジタル情報は表示面102に表示される。
一実施例では、表示面102は、抵抗性タッチシステムのような能動的な表示面であり、この抵抗性タッチシステムは、抵抗の変化を測定して、スクリーンに押されているオブジェクトの位置を識別することができる。能動的な表示面の他の例は、赤外線LEDに囲まれるガラスボードを含み、この赤外線LEDは、FTIR(frustrated total internal reflection「漏れ全反射」)を用いることにより、カメラに、表示面又は米国Apple社のiPadTM又はiPhoneTMに搭載されているような容量性タッチスクリーンにおける手の指やペンの位置をキャプチャさせることができる。
キャプチャシステム108は、ユーザが書く用器具を用いて入力した手書き情報(ライティング)をキャプチャするように構成される。キャプチャシステム108によりキャプチャされる手書き情報は、更なる処理のために、コントローラ106に送信され得る。キャプチャシステム108は、書く用器具によるライティングのキャプチャを可能にする1つ以上のコンポーネントを有してもよい。一実施例では、キャプチャシステム108は、ユーザが書く用器具を用いて書く時に、書く用器具の運動又は動きをキャプチャすることができる1つ以上のセンサを含んでもよい。このような運動又は動きは、異なる技術によりキャプチャされ得る。1つの技術によれば、2次元面(又は3次元面)において書く用器具の運動又は動きを取得することができる運動センサ、例えば、eBeamシステムにおけるTOF(time-of-flight)センサが、表示面102の近くに設けられる。キャプチャされた運動情報は、コントローラ106に運ばれ、それから、コントローラ106は、この運動情報を処理し、ユーザによる手書き情報(ライティング)を確定し、そして、確定した手書き情報に対応するデジタル情報を確定する。
他の実施例では、キャプチャシステム108は、表示面102に組み込まれて、表示面102を感圧にするための1つ以上の圧力センサを含んでもよい。このような圧力マッピングマルチタッチ表示面は、米国TekScan社のフレキシブル電子回路のようなものにより挟まれる感圧抵抗材料から製造されてもよい。このような実施例では、表示面102は、ユーザが表示面102をタッチすることによる手書き情報をキャプチャし得るマルチタッチの感圧表示面を提供することができる。圧力センサにより取得される情報は、更なる処理のために、コントローラ106に送信されてもよい。
また、他の実施例では、表示面102は、米国Apple社のiPadTM又はiPhoneTMに搭載されているような容量結合型入力インタフェースであってもよい。このような実施例では、表示面102は、マルチタッチの入力体験、ズーム及びパンなどを可能にすることができる。このような実施例では、ユーザは、手の指又は伝導性のあるスタイラスを用いて、表示面102に手書き情報を書くことができ、また、書かれた手書き情報は、更なる処理又は分析のために、コントローラ106に送信されてもよい。
コントローラ106は、システム100により提供されるあらゆる機能を制御する及び可能にする処理を実行するためのセントラルコンポーネントの役割を果たす。コントローラ106は、システム100の1つ以上のコンポーネントと動作可能なように接続され、また、これらのコンポーネントにより実行される機能を制御及び/又は調整するように構成される。例えば、コントローラ106は、キャプチャシステム108及び/又は表示面102と動作可能なように接続され、また、キャプチャシステム108により取得される情報を受信するように構成される。また、コントローラ106は、受信した情報を処理し、受信した情報に対応するデジタル情報を確定するように構成されてもよい。確定された情報は、さらに、表示面102に送信され得る。一実施例では、確定されたデジタル情報は、プロジェクタに送信され、これにより、表示面102に投影され得る。
代表的なコントローラ106は、プロセッサベースの計算デバイスである。コントローラ106の一例は、図6に示されて後述される。他の実施例では、コントローラ106は、プロセッサ、プログラミング可能なロジックデバイスなどであってもよい。コントローラ106は、1つ以上のプログラム(コード、命令)を実行することができ、このようなプログラムは、コントローラ106のプロセッサにより実行される時に、コントローラ106により実行される処理を可能にする。
一実施例では、コントローラ106は、表示面102に表示されている文書情報又はその中の一部をキャプチャすることができる。一実施例では、キャプチャされた文書情報は、コントローラ106又はコントローラ106の制御によりキャプチャされたデジタル又はアナログビデオ画像からの画像である。他の実施例では、表示面に表示されている文書情報は、コントローラ106に実行されているアプリケーションからのものである。このような場合、コントローラ106は、アプリケーションの出力を、表示のために表示面102に送信する。一実施例では、画像は、VNC又はMicrosoft Remote Desktopソフトウェアのようなリモートスクリーン共有ソフトウェアによりリモートコンピュータからキャプチャされ、そして、コントローラ106により表示面102に表示される。
一実施例では、コントローラ106は、書く用器具による手書き情報の入力情報に対応するデジタル情報を確定するように構成される。一実施例では、この処理の一部として、コントローラ106は、キャプチャシステム108から受信された情報に基づいて、手書き情報を確定し、それから、この手書き情報に対応するデジタル情報を確定するように構成される。一実施例では、手書き情報は、書く用器具の起動(即ち、書くために用いられた)時から終了時までの間に、書く用器具により生成されたデータに対応してもよい。例えば、一実施例では、手書き情報は、書く用器具が表示面102に接触した時点からその接触が中断又はブロークン(broken)された時点までの間に、書く用器具により生成されたデータに対応してもよい。手書き情報は、ユーザが書く用器具を用いて入力した情報を表現するための最も基本的なユニットであると見なされてもよい。コントローラ106は、さらに、このような手書き情報に対応するデジタル情報を確定することができる。
他の一実施例では、キャプチャシステム108そのものは、手書き情報を確定し、また、確定した情報をコントローラ106に送ることができる。コントローラ106は、さらに、キャプチャシステム108から受信した情報から直接デジタル情報を確定することができる。
コントローラ106により確定されたデジタル情報は、不揮発性のストレージ122にローカルに保存されてもよい。一実施例では、コントローラ106により受信されたキャプチャシステム108からの情報又はその一部は、メモリ122にローカルに保存されてもよい。
よって、コントローラ106は、キャプチャシステム108により取得された原センサデータ(raw sensor data)を受信し、そして、原センサデータに基づいて手書き情報を確定することができ、又は、キャプチャシステム108からの手書き情報を受信することができる。コントローラ106は、さらに、この手書き情報に対応するデジタル情報を確定することができる。いくつかの実施例では、デジタル情報が原センサデータから直接確定されてもよい。コントローラ106は、さらに、確定されたデジタル情報を、表示のために表示面102に送信してもよい。この表示は、プロジェクタ又は他のメカニズムにより直接実現され得る。一実施例では、コントローラ106から表示面102へ送信されたデジタル情報は、画像データと、その中に組み込まれた手書き情報との組み合わせである。
コントローラ106は、コントローラ106により提供される機能を提供する1つ以上のモジュールを含んでもよい。これらのモジュールは、ハードウェア、ソフトウェア、又はそれらの組み合わせにより実現されてもよい。例えば、一実施例では、モジュールは、ソフトウェア(プログラム、コード、命令)に実現されてもよく、このソフトウェアは、コントローラ106のプロセッサにより実行される時に、コントローラにより提供される機能を提供する。一実施例では、図1に示すように、コントローラ106は、1つ以上のモジュールを含み、これらのモジュールは、キャプチャされた手書き情報データを、その下の表示されている文書情報の画像パッチと関連付けさせること;スクリーンに表示されている文書情報が変更(例えば、移動、スクロール、拡縮、部分的にブロック)されていると判断し、新しい文書情報を生成すること;新しく表示される文書情報の1つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報データと関連付けられたかどうかを判断すること;及び、この判断(即ち、新しく表示される文書情報の1つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報データと関連付けられたかとの判断)の結果に基づいて、前にキャプチャされた一つ以上の手書き情報又はその一部を、新しく表示される文書情報の画像パッチに書くことを行うために用いられる。
一実施例では、コントローラ106は、手書き情報データを確定し、この手書き情報データと、この手書き情報データの下にある画像パッチを特定するための情報と、をメモリ(例えば、データベース)に保存する。一実施例では、画像パッチを特定するための情報は、画像パッチそのものである。よって、この場合、手書き情報データと、この手書き情報データの下にあり且つこの手書き情報データに関連付けられた画像パッチとは保存される。他の実施例では、画像パッチを特定するための情報は、特徴点のセット(集合)である。なお、一実施例では、データベースに保存される時に、画像パッチ又はそれに関連する特徴点は、手書き情報データを含まず、言い換えると、手書き情報データ及びそれに関連付けられた情報は、別々に保存される。データベースは、現在に表示されている画像パッチが、以前に手書き情報があると判定された画像パッチとマッチするかどうかを判断しようとする時に、コントローラ106がクエリー(query)を行うことが可能になるために用いられる。
一実施例では、コントローラ106は、表示される文書情報を複数の画像パッチに分割するように構成されることもある。これは、文書情報が変更(例えば、移動、スクロール、拡縮など)された時に用いられてもよい。コントローラ106は、それから、分割された複数の画像パッチを用いて、手書き情報データをこの手書き情報データの下にある画像パッチと関連付けさせるかどうかを判断する。例えば、手書き情報が表示面102に書かれた時に、コントローラ106は、この手書き情報を囲む画像パッチを確定し、そして、手書き情報データを含むこの画像パッチにインデックス(index)を付ける。
一実施例では、コントローラ106は、現在に表示されている文書情報の画像パッチと、キャプチャされた手書き情報データとともに保存された画像パッチ(保存画像パッチとも称される)との比較を行い、現在に表示されている文書情報の一つ以上の画像パッチ又はその一部と、キャプチャされた手書き情報データとともに保存された画像パッチとがマッチ(一致)するか又は部分的にマッチするかを判断する。マッチすると判断すれば、コントローラ106は、以前にキャプチャされた手書き情報データの少なくとも一部を、現在に表示されている一つの画像パッチと少なくとも部分的にマッチする画像パッチ毎に表示させる。以前にキャプチャされた手書き情報データの一部は、手書き情報全体を含んでもよく、ここで、保存された画像の一部とマッチする、現在に表示されている画像パッチの一部は、手書き情報全体を含む。以前にキャプチャされた手書き情報データの一部は、手書き情報の一部のみを含んでもよく、ここで、現在に表示されている画像パッチとマッチする、保存された画像パッチの一部は、保存された画像パッチの手書き情報の一部のみを含む。よって、コントローラ106は、手書き情報をある範囲に表示させ、このある範囲は、現在に表示されている文書情報の現在に表示されている画像パッチ又はその一部とマッチする保存画像パッチの一部が、キャプチャされた手書き情報データの一部を含む範囲である。マッチしないと判断すれば、コントローラ106は、第二文書情報(現在に表示されている文書情報)の画像パッチの上のスクリーンに現れる全ての手書き情報を削除する。
一実施例では、コントローラ106は、現在に表示されている文書情報の画像パッチ又はその一部が、キャプチャされた手書き情報データとともに現在に保存されている画像パッチと少なくとも部分的にマッチし、且つ、保存された画像パッチのマッチした部分が、手書き情報データを有すると判断すれば、コントローラ106は、現在に表示されている文書情報の画像パッチ又はその一部が、マッチした手書き情報データを有する保存画像パッチと比較して変換されているかどうかをも判断する。このような変換は、画像パッチの移動、画像パッチの拡縮、回転、スキュー、ワーピング(warping)、又は透視変換(perspective transformation)を含んでもよい。そうであれば、コントローラ106は、現在に表示されている画像パッチの上のスクリーンに、キャプチャされた手書き情報データを書く前に、同じ変換をキャプチャされた手書き情報データに適用する。
図4Aは、文書情報に書かれた手書き情報401−403を示す。文書情報が上へ少しだけスクロールされた後に、システムは、コントローラ106の制御により、図4Bに示すように、表示面102に手書き情報401−430を、それらの文書におけるテキストに対してのオリジナル位置とマッチするように再配置する。図4Cは、システムが手書き情報401を、文書情報におけるテキストに対しての手書き情報401のオリジナル位置とマッチするように再配置及び拡大する時の一例を示す。
図2は、手書き情報データを処理するためのプロセスを記述するフローチャートである。このプロセスは、処理ロジックにより実行され、処理ロジックは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム又は専用マシンに実行されるようなもの)、又は、それらの組み合わせを含んでもよい。一実施例では、このプロセスは、コントローラ106により実行される。
図2を参照するに、プロセスは、ステップ201から始まり、ここで、処理ロジックは、手書き情報が書かれたかを検出する。そうでなければ、プロセスは、依然としてステップ201にとどまり、手書き情報が書かれたかを再検出する。手書き情報が書かれた場合、プロセスは、ステップ202に移行し、ここで、コントローラ106は、手書き情報を囲む画像パッチにインデックスを付ける。なお、この操作により、画像パッチは識別できるようになる。手書き情報を囲む画像パッチにインデックスを付けた後に、処理ロジックは、手書き情報に対応する手書き情報データを画像パッチと関連付けさせる(ステップ203)。この関連付けは、画像パッチにおける手書き情報の位置を特定するための情報を含む。それから、手書き情報データ及び位置情報は、画像パッチとともに、ストレージロケーション(例えば、ストレージ122、データベースなど)に保存される。
図2に記述のように、手書き情報が書かれた度に、手書き情報を囲む画像パッチにはインデックスが付けられ、また、手書き情報データは画像パッチと関連付けられる。一実施例では、画像パッチ全体と、手書き情報を表す手書き情報データとは、メモリ(例えば、データベース)に保存される。図4Dは、手書き情報401、及び、ボックス408にある手書き情報401の下の画像パッチ406を示す。コントローラ106は、手書き情報上のいくつかの位置を識別し、それらを(x,y)値として表す。これらの値は、画像パッチにおける特定の位置に対するものである。図4Eは、手書き情報を表すために用いられる一連の(x,y)値による位置を有する画像パッチ406にある手書き情報401を示す。図4Eを参照するに、手書き情報は、(x,y)値が(55,69)である位置から、(x,y)値が(65,168)である位置までであり、値(55,69)及び(65,168)は、全て、画像パッチの左下角の点、即ち、(x,y)値が(0,0)である点に対するものである。手書き情報に沿う全てのx−y値は、画像パッチとともに保存される。図4F及び4Gに示すのは、文書情報の一部に書かれたハイライトの手書き情報(図4E)、及び、このハイライトの手書き情報に関連する(x,y)値を示す他の例である。
図3は、文書情報の一部の上の表示面に手書き情報を再び書くかを判断するためのプロセスを示す。このプロセスは、処理ロジックにより実行され、処理ロジックは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム又は専用マシンに実行されるようなもの)、又は、それらの組み合わせを含んでもよい。一実施例では、このプロセスは、コントローラ106により実行される。
図3を参照するに、プロセスは、システムにおける処理ロジックにより、スクリーンが変更されたか(例えば、文書情報がスクロール、移動、拡縮、又は変換されたか)を判断することから始まる(ステップ301)。一実施例では、この判断は、時点1及び時点2に表示されるピクセルを直接比較することにより実施され得る。スクリーンが変更されなければ、プロセスは、依然としてステップ301にとどまり、スクリーンが変更されたかを続けて判断する。スクリーンが変更されれば、プロセスは、ステップ302に移行し、ここで、処理ロジックは、スクリーンを複数の領域(例えば、画像パッチ)に分割する。図4Hは、一例として、スクリーンが80個の画像パッチに分割されるのを示す。
スクリーン画像を画像パッチに分割した後に、処理ロジックは、画像パッチが、以前に、保存された手書き情報データがあると判定された画像パッチとマッチするかどうかをテストする。そのために、処理ロジックは、データベースにおける、手書き情報データを有する画像パッチとのマッチをテストする必要のある他の領域があるかどうかを判断する(ステップ303)。なければ、プロセスは、ステップ301に戻し、上述の処理を繰り返して行う。
一方、マッチをテストする必要のある他の領域があれば、プロセスは、ステップ304に移行し、ここで、システムにおける処理ロジックは、領域(画像パッチ)と、データベースにおける、関連付けられた手書き情報データを有する画像パッチとのマッチがあるかどうかを判断する。即ち、システムは、それから、画像パッチでデータベースに対してクエリーを行い、現在に表示されている画像パッチと、既にデータベースに保存された、手書き情報データを有する画像パッチとのマッチがあるかどうかの判断を行なう。なお、一実施例では、現在にスクリーンに表示されているいくつかの画像パッチが無視される。その理由は、無視された画像パッチが、データベースに保存された画像パッチと正しくマッチできる程度の情報を有しないことにある。他の実施例では、文書情報が変更される時に、動きベクトルを探すことにより、クエリーを加速することができる。言い換えると、ユーザが文書情報をスクロールし、表示されている文書情報の一部を変更すれば、そのスクロール操作に関連する動きベクトルを識別することができ、これにより、現在にスクリーンに表示されている、データベースに保存された画像パッチとマッチする可能性が高い画像パッチのサブセットの選択を助けることができる。オンラインで使用可能なOpenCVのようなオープンソースのコンピュータビジョン向けライブラリにおける動きベクトルアルゴリズムは、このために使用され得る。
データベースにマッチするものが見つからなかった場合、プロセスは、ステップ303に戻り、その次の処理をし続ける。領域のコンテンツ(画像パッチ)と、データベースに保存された画像パッチとのマッチがあった場合、処理ロジックは、保存された画像パッチの手書き情報データの一部が、保存された画像パッチとマッチする領域とマッチする、保存された画像パッチの一部にあるかを判断する(ステップ305)。言い換えると、処理ロジックは、テストされている画像パッチと、保存された画像パッチとの重複の部分に手書き情報データがあるかを判断する。これは、システムが、手書き情報を何の範囲に書くべきか、また、現在に表示されている画像パッチに対しての何処に書くべきかを判断することを可能にする。
その後、システムは、スクリーンに手書き情報を書き(ステップ306)、そして、ステップ303に戻り、データベースにおける画像パッチとのマッチをチェックする必要のある、現在に表示されている文書情報の他の領域があるかどうかを判断する。
一例として、図4Iは、手書き情報データを有する、保存された画像パッチと少なくとも部分的にマッチする可能性がある画像パッチ(領域)410−412を示す。図4Jに示すように、画像パッチ411は、保存された画像パッチ420の一部のみと重なり、また、重なった部分は、手書き情報データを含まない。この場合、コントローラ106は、現在に表示されている画像パッチに手書き情報を書かない。一方、図4Kに示すように、画像パッチ412は、保存された画像パッチの一部と重なり、また、重なった部分は、手書き情報データを含む。この場合、コントローラ106は、手書き情報データを、この手書き情報データにマッチする、現在に表示されている画像パッチに追加する。また、図4Lに示すように、画像パッチ411は、手書き情報を含む、保存された画像パッチの一部と完全に重なる。この場合、手書き情報は、スクリーンの現在に表示されている画像パッチにおけるコンテンツに対してのオリジナル位置に書かれる。
一実施例では、画像パッチの比較は、RVCについて上述したような特徴点を用いて行われる。このような場合、手書き情報は、画像パッチそのものでなく、画像パッチ内の特徴点と関連付けられる。よって、画像パッチをデータベースに保存する必要がなく、特徴点だけを保存すればよい。例えば、手書き情報が表示面に追加されれば、コントローラは、この手書き情報を囲む境界ボックスを生成し、そして、この境界ボックス内の画像(手書き情報を有しない)をキャプチャする。この情報を用いて、コントローラは、画像からボックス内の特徴点を計算し、そして、特徴点の形状(geometry)を含む特徴点情報をデータベースに保存する。それから、コントローラは、手書き情報を、その画像でなく、特徴点の集合と関連付けさせる。コントローラが画像パッチの比較を行う時に、コントローラは、変更されたスクリーンからの画像パッチを調べ、この画像パッチに関連する特徴点を計算し、それから、データベースに対してクエリーを行う。マッチする特徴点があれば、コントローラは、それらの特徴点に関連付けられた手書き情報を取得し、そして、手書き情報をスクリーンの正確な位置に表示させる。
一実施例では、文書情報の、特徴点又は特徴点のサブセットに対しての手書き情報の相対的な位置が保存される。これは、手書き情報が文書情報のコンテンツの近くに位置しない(例えば、手書き情報が文書情報の全ての特徴点から離れた位置にある)場合に有用である。使用可能な相対位置データを持つことにより、コントローラは、現在に表示されている文書情報がそれらの特徴点を含むと判定した場合、手書き情報をスクリーンの何処に書くべきかを確定することができる。
なお、特徴点は、スクリーンが変更されたかどうかを判断する時にも使用され得る。スクリーンを画像パッチへの分割の代わりに、コントローラは、変更された画像のエリアを計算し、変更された画像の一部の特徴ベクトル又は特徴点のみを計算し、そして、これらの特徴点がデータベースに保存されたかを確かめる。
また、一実施例では、コントローラは、第一時点t1にスクリーン全体に特徴点を生成し、第二時点t2に特徴点を計算し、それから、両者を比較することにより、スクリーンが変わったかを判断することができる。両者が異なった場合、コントローラは、スクリーンが変わって新しい文書情報又はその一部を含んでいることを把握できる。
図5は、手書き情報を文書情報に関連付けさせるプロセスの一実施例のフローチャートである。このプロセスは、処理ロジックにより実行され、処理ロジックは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム又は専用マシンに実行されるようなもの)、又は、それらの組み合わせを含んでもよい。
図5を参照するに、プロセスは、処理ロジックが、第一文書情報が表示されている間に、第一文書情報の上のスクリーンに書かれた手書き情報をキャプチャすることから始まる(ステップ501)。次に、処理ロジックは、キャプチャされた手書き情報のキャプチャされた手書き情報データを、その下の表示されている文書情報の画像パッチと関連付けさせる(ステップ502)。
少なくとも一つの手書き情報のキャプチャ及びキャプチャされた手書き情報データの関連付けに応えて、処理ロジックは、各手書き情報について、この手書き情報を囲む文書情報の画像パッチにインデックスを付け、そして、この手書き情報の手書き情報データを、この画像パッチ又はこの画像パッチにおける特徴と関連付けさせる(ステップ503)。
処理ロジックは、キャプチャされた各手書き情報のデータと、関連付けられたその下の画像パッチを示す情報(例えば、画像パッチそのもの、或いは、画像パッチにおける又は付近の特徴)とを保存する(ステップ504)。
次に、処理ロジックは、第二文書情報がスクリーンに表示されていると判定する(ステップ505)。第二文書情報は、第一文書情報からの画像データを含んでもよい。これは、文書を新しいページの量よりも小さい量でスクロールする場合に現れる。第二文書情報は、第一文書情報の修正バージョンであってもよい。例えば、第二文書情報は、第一文書情報の全体又は一部の翻訳、拡縮、又は回転バージョンであってもよい。
オプションで、処理ロジックは、新しい文書情報を複数の画像パッチに分割し(ステップ506)、第二文書情報の一つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報データと関連付けられたかを判断する(第二文書情報の画像パッチと、キャプチャされた手書き情報データとともに保存された画像パッチとの比較により、第二文書情報の一つ以上の画像パッチ又はその一部が、キャプチャされた手書き情報データとともに現在に保存されている画像パッチと少なくとも部分的にマッチするかを判断する)(ステップ507)。
一実施例では、処理ロジックは、スクリーンを複数の画像パッチに分割せずに、スクリーンの一部が変わったと判定することができる。この実施例では、処理ロジックは、スクリーンの変わった部分における特徴点又は特徴ベクトルを計算し、どの特徴が手書き情報データと既に関連付けられているかを特定することができる。
次に、処理ロジックは、第二文書情報の一つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報と関連付けられているかを判断することにより得られた結果に基づいて、前にキャプチャされた一つ以上の手書き情報又はその一部を第二文書情報の画像パッチの上に描画する(ステップ508)。
一実施例では、処理ロジックは、次のように、前にキャプチャされた一つ以上の手書き情報を書く。
画像パッチの比較により、マッチがあると判定した場合、前にキャプチャされた手書き情報データの少なくとも一部は、現在に表示されている一つの画像パッチと少なくとも部分的にマッチする、保存された画像パッチ毎に、スクリーンのある範囲に表示される。このある範囲は、第二文書情報の画像パッチ又はその一部とマッチする、保存された各画像パッチの一部が、キャプチャされた手書き情報データの一部を含む範囲である。
画像パッチの比較により、前にキャプチャされた手書き情報データと関連付けられた画像パッチの一部のみが第二文書情報の画像パッチの一部とマッチすると判定した場合、第二文書情報の一つの画像パッチの一部とマッチする、手書き情報データを有する画像パッチの一部が、キャプチャされた手書き情報データを含むかを判断する。そうであれば、第二文書情報の画像パッチとマッチする画像パッチに現れる、キャプチャされた手書き情報データは、書かれる。
画像パッチの比較により、前にキャプチャされた手書き情報データと関連付けられた画像パッチの一部のみが第二文書情報の画像パッチの一部とマッチすると判定した場合、第二文書情報の一つの画像パッチの一部とマッチする、手書き情報データを有する画像パッチの一部が、キャプチャされた手書き情報データを含むかどうか、及び、第二文書情報の前記一つの画像パッチが変換(例えば、再配置、拡縮など)されたかどうかを判断する。そうであれば、第二文書情報の画像パッチとマッチする画像パッチの一部に現れる、キャプチャされた手書き情報データは、第二文書情報の画像パッチと同様な方式で変換され、そして、変換された手書き情報データは、画像パッチの上のスクリーンに書かれる。
画像パッチの比較により、マッチがないと判定した場合、第二文書情報の画像パッチの上のスクリーンに現れる全ての手書き情報は削除される。
いくつかの代替手段がある。例えば、ここで開示の、手書き情報を文書情報と関連付けさせる技術は、カメラとともに用いられてもよく、このカメラは、その下にある文書の画像をキャプチャし、また、キャプチャした画像をホワイトボードのような表示面に表示するように設置される。よって、ホワイトボードに書かれたテキストは、カメラによりキャプチャされた文書に関連付けられ得る。使用者がカメラの下に設置されている文書を操作又は変更する時に、手書き情報は、上述のように、移動、変更、消失、又は変換され得る。
以下、コンピュータシステムの一例を説明する。
図6は、本発明の一実施例を実施するために用いられ得るコンピュータシステム600のブロック図である。一実施例では、コンピュータシステム600は、図1に示されており且つ上述されているコントローラ106を実現するために用いられ得る。図6に示すように、コンピュータシステム600は、バスサブシステム604を介して、いくつかの周辺サブシステムと通信するプロセッサ602を含む。これらの周辺サブシステムは、メモリサブシステム608及びファイルストレージサブシステム610を含むストレージサブシステム606と、ユーザインタフェース612と、ユーザインタフェース出力デバイス614と、ネットワークインタフェースサブシステム616とを含む。
バスサブシステム604は、コンピュータシステム600の各コンポーネント及びサブシステムが目的通りに互いに通信できるようにするためのメカニズムを提供する。バスサブシステム604は、シングルバスとして概略的に示されるが、バスサブシステムの他の実施例は、複数のバスを用いることもできる。
ネットワークインタフェースサブシステム616は、他のコンピュータシステム、ネットワーク、及びストレージにインタフェースを提供する。ネットワークインタフェースサブシステム616は、コンピュータシステム600からデータを受信し、また、データを他のシステムに送信するためのインタフェースの役割を果たす。例えば、IWB(対話型ホワイトボード)システムのネットワークインタフェースサブシステム616は、コントローラがインタネットのような通信ネットワークを介して、遠隔に設置される他のIWBシステムと通信できるようにすることができる。
ユーザインタフェース入力デバイス612は、キーボード;マウス、トラックボール、タッチパッド、又はグラフィックスタブレットのようなポインティングデバイス;スキャナー;バーコードスキャナー;表示器に含まれるタッチスクリーン;音声識別システム及びマイクロフォンのような音声入力デバイス;及び、他のタイプの入力デバイスを含んでもよい。一般的には、「入力デバイス」という用語の使用は、コンピュータシステム600に情報を入力するための全ての使用可能なタイプのデバイス及びメカニズムを含むことを意味する。
ユーザインタフェース出力デバイス614は、表示サブシステム、プリンター、ファックスマシン、又は、音声出力デバイスのような非視覚的表示器などを含んでもよい。表示サブシステムは、陰極線管(CRT)、液晶表示器(LCD)のような平面パネルデバイス、又は、プロジェクションデバイスであってもよい。一般的には、「出力デバイス」という用語の使用は、コンピュータ600から情報を出力するための全ての使用可能なタイプのデバイス及びメカニズムを含むことを意味する。
ストレージサブシステム606は、上述の各実施例における機能を提供する基本的なプログラム及びデータ構造を記録するためのコンピュータ読み取り可能な記録媒体を提供する。プロセッサにより実行される時に本発明の機能を提供するソフトウェア(プログラム、コードモジュール、命令)は、ストレージサブシステム606に記憶されてもよい。これらのソフトウェア又は命令は、プロセッサ602により実行され得る。ストレージサブシステム606は、本発明に従って使用されるデータを保存するためのリポジトリ(repository)をも提供することができる。ストレージサブシステム606は、メモリサブシステム608及びファイル/ディスクストーレジサブシステム610を含んでもよい。
メモリサブシステム608は、プログラム実行中に命令及びデータを保存するためのメインRAM(random access memory)618と、固定命令が保存されるROM(read only memory)620とを含んでもよい。ファイルストレージサブシステム610は、プログラム及びデータファイルのための持続性(不揮発性)ストレージを提供し、また、ハードディスクドライブ、フロッピーディスクドライブに加えて、関連する取り外し可能な媒体、CD−ROMドライブ、光学式ドライブ、取り外し可能な媒体カートリッジ、及び他のソトレージ媒体を含んでもよい。
コンピュータシステム600は、パソコン、フォン、ポータブルコンピュータ、ワークステーション、ネットワークコンピュータ、又は他のデータ処理システムを含む様々なタイプのものであってもよい。コンピュータ及びネットワークが常に変化するので、図6に示すコンピュータシステム600は、コンピュータシステムの好適な実施例を説明するための特定の一例だけである。図6に示すシステムにおけるコンポーネントより多い又は少ないものを有する他の構成も使用され得る。
さらに、本発明は、上述の各実施例における機能を実現するプログラム(データ構造を含む)を記録しているコンピュータ読み取り可能な記録媒体を含む製品(例えば、装置)に関する。
本発明の具体的な実施例を説明したが、各種の変更、代替又は同等のものを本発明の範囲内に含めることもできる。また、上述の教えは、起動又は再起動可能なプロセッサを含む任意のシステムに応用されてもよい。例えば、上述の実施例は、一定のシステムを例として用いることにより説明されたが、これは、本発明を限定するためのものではない。上述及び請求の範囲に開示の教えは、スクリーン上の手書き情報をキャプチャし、キャプチャした手書き情報をその下の文書情報の画像パッチと関連付けさせ、それから、新しい文書情報にその画像パッチが見つかるかどうかを基づいて、その手書き情報を再び書く又は削除することを可能にする他のコンピュータシステムにより実施されてもよい。
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の技術範囲に属する。

Claims (22)

  1. 方法であって、
    第一文書情報が表示されている間に、前記第一文書情報の上のスクリーンに書かれた一つ以上の手書き情報をキャプチャするキャプチャステップと、
    キャプチャされた前記手書き情報のキャプチャされた一つ以上の画像データを、前記手書き情報の下の表示されている前記第一文書情報の画像パッチとそれぞれ関連付けさせる関連付けステップと、
    第二文書情報が前記スクリーンに表示されていると確定する確定ステップと、
    前記第二文書情報の一つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報データと関連付けられたかどうかを判断する判断ステップと、
    前記判断ステップの結果に基づいて、前にキャプチャされた一つ以上の手書き情報又はその一部を前記第二文書情報の画像パッチの上に描画する描画ステップと、を含む、方法。
  2. 前記判断ステップは、
    前記第二文書情報の画像パッチと、キャプチャされた手書き情報データとともに保存された画像パッチとを比較して、前記第二文書情報の一つ以上の画像パッチ又はその一部が、キャプチャされた手書き情報データとともに現在に保存されている画像パッチと少なくとも部分的にマッチするかどうかを判断するステップを含む、請求項1に記載の方法。
  3. 画像パッチの比較により、マッチがあると判断すれば、現在に表示されている一つの画像パッチと少なくとも部分的にマッチする各保存された画像パッチに対して、前にキャプチャされた手書き情報データの少なくとも一部を、前記スクリーンにおいて、前記第二文書情報の画像パッチ又はその一部とマッチする前記各保存された画像パッチの一部がキャプチャされた手書き情報データの一部を含む範囲に表示し、
    画像パッチの比較により、マッチがないと判断すれば、前記第二文書情報の画像パッチの上の前記スクリーンに現れる全ての手書き情報を削除する、請求項2に記載の方法。
  4. 画像パッチの比較により、前にキャプチャされた手書き情報データと関連付けられた画像パッチの一部のみが前記第二文書情報の画像パッチの一部とマッチすると判断すれば、前記第二文書情報の一つの画像パッチの一部とマッチする、前に関連付けられた手書き情報データがあると判定された画像パッチの一部がキャプチャされた手書き情報データを含むかどうかを判断し、
    そうであれば、前記第二文書情報の画像パッチとマッチする前記画像パッチの一部に現れる、キャプチャされた手書き情報データを描画する、請求項2に記載の方法。
  5. 画像パッチの比較により、前にキャプチャされた手書き情報データと関連付けられた画像パッチの一部のみが前記第二文書情報の画像パッチの一部とマッチすると判断すれば、前記第二文書情報の一つの画像パッチの一部とマッチする、前に関連付けられた手書き情報データがあると判断された画像パッチの一部がキャプチャされた手書き情報データを含むかどうか、及び、前記第二文書情報の前記一つの画像パッチが変換されているかどうかを判断し、
    そうであれば、前記第二文書情報の前記一つの画像パッチとマッチする前記画像パッチの一部に現れる、キャプチャされた手書き情報データを、前記第二文書情報の前記一つの画像パッチと同様に変換し、変換された手書き情報データを前記スクリーンにおいて前記一つの画像パッチの上に描画する、請求項2に記載の方法。
  6. キャプチャされた手書き情報データを変換することは、前記キャプチャされた手書き情報データの少なくとも一部に対して、再配置、拡大/縮小、3×3行列の乗算によりサポートされる一般的な変換、回転、翻訳、ワーピング、又は、透視変換を行うことを含む、請求項5に記載の方法。
  7. 前記第二文書情報を複数の画像パッチに分割するステップを更に含む、請求項1に記載の方法。
  8. 前記一つ以上の手書き情報をキャプチャすることに応えて、前記手書き情報の周りの前記第一文書情報の画像パッチにインデックスを付け、前記手書き情報の手書き情報データを、前記インデックスが付けられた画像パッチと関連付けさせるステップを更に含む、請求項1に記載の方法。
  9. キャプチャされた各手書き情報の手書き情報データ及びそれに関連付けられた前記画像パッチを表す情報を保存するステップを更に含む、請求項1に記載の方法。
  10. 前記画像パッチを表す情報は、前記画像パッチ自体、又は、前記画像パッチに含まれる情報と関連する特徴を含む、請求項9に記載の方法。
  11. 文書情報を表示するシステムであって、
    メモリと、
    メモリに接続されるコントローラと、を含み、
    前記コントローラは、
    第一文書情報の上のスクリーンに書かれた、キャプチャされた一つ以上の手書き情報のキャプチャされた一つ以上の画像データを、前記手書き情報の下の表示されている前記第一文書情報の画像パッチとそれぞれ関連付けさせる関連付けステップと、
    第二文書情報が前記スクリーンに表示されていると確定する確定ステップと、
    前記第二文書情報の一つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報データと関連付けられたかどうかを判断する判断ステップと、
    前記判断ステップの結果に基づいて、前にキャプチャされた一つ以上の手書き情報又はその一部を前記第二文書情報の画像パッチの上に描画する描画ステップと、を行う、システム。
  12. 前記コントローラは、
    前記第二文書情報の画像パッチの特徴と、キャプチャされた手書き情報データとともに保存された画像パッチとを比較して、前記第二文書情報の一つ以上の画像パッチ又はその一部が、キャプチャされた手書き情報データとともに現在に保存されている画像パッチと少なくとも部分的にマッチするかどうかを判断することにより、前記判断ステップを行う、請求項11に記載のシステム。
  13. 前記コントローラは、
    画像パッチの比較により、マッチがあると判断すれば、現在に表示されている一つの画像パッチと少なくとも部分的にマッチする各保存された画像パッチに対して、前にキャプチャされた手書き情報データの少なくとも一部を、前記スクリーンにおいて、前記第二文書情報の画像パッチ又はその一部とマッチする前記各保存された画像パッチの一部がキャプチャされた手書き情報データの一部を含む範囲に表示し、
    画像パッチの比較により、マッチがないと判断すれば、前記第二文書情報の画像パッチの上の前記スクリーンに現れる全ての手書き情報を削除することを行う、請求項12に記載のシステム。
  14. 前記コントローラは、
    画像パッチの比較により、前にキャプチャされた手書き情報データと関連付けられた画像パッチの一部のみが前記第二文書情報の画像パッチの一部とマッチすると判断すれば、前記第二文書情報の一つの画像パッチの一部とマッチする、前に関連付けられた手書き情報データがあると判定された画像パッチの一部がキャプチャされた手書き情報データを含むかどうかを判断し、
    そうであれば、前記第二文書情報の画像パッチとマッチする前記画像パッチの一部に現れる、キャプチャされた手書き情報データを描画することを行う、請求項12に記載のシステム。
  15. 前記コントローラは、さらに、
    画像パッチの比較により、前にキャプチャされた手書き情報データと関連付けられた画像パッチの一部のみが前記第二文書情報の画像パッチの一部とマッチすると判断すれば、前記第二文書情報の一つの画像パッチの一部とマッチする、前に関連付けられた手書き情報データがあると判断された画像パッチの一部がキャプチャされた手書き情報データを含むかどうか、及び、前記第二文書情報の前記一つの画像パッチが変換されているかどうかを判断し、
    そうであれば、前記第二文書情報の前記一つの画像パッチとマッチする前記画像パッチの一部に現れる、キャプチャされた手書き情報データを、前記第二文書情報の前記一つの画像パッチと同様に変換し、変換された手書き情報データを前記スクリーンにおいて前記一つの画像パッチの上に描画することを行う、請求項12に記載のシステム。
  16. 前記キャプチャされた画像データに対して再配置、拡大/縮小、回転、翻訳、ワーピング、透視変換、又は、3×3行列の乗算を用いる変換を行った場合、前記第二文書情報の前記一つの画像パッチが変換されている、請求項15に記載のシステム。
  17. 前記コントローラは、
    キャプチャされた各手書き情報の手書き情報データと、それに関連付けられた前記画像パッチ、又は、前記画像パッチにおける情報と関連する特徴とを保存することを行う、請求項11に記載のシステム。
  18. 一つ以上のコンピュータ読み取り可能な記録媒体を含む製品であって、
    前記記録媒体はプログラムを記録しており、前記プログラムはシステムにより実行される時に、該システムに、
    第一文書情報が表示されている間に、前記第一文書情報の上のスクリーンに書かれた一つ以上の手書き情報をキャプチャするキャプチャステップと、
    キャプチャされた前記手書き情報のキャプチャされた一つ以上の画像データを、前記手書き情報の下の表示されている前記第一文書情報の画像パッチとそれぞれ関連付けさせる関連付けステップと、
    第二文書情報が前記スクリーンに表示されていると確定する確定ステップと、
    前記第二文書情報の一つ以上の画像パッチ又はその一部が前にキャプチャされた手書き情報データと関連付けられたかどうかを判断する判断ステップと、
    前記判断ステップの結果に基づいて、前にキャプチャされた一つ以上の手書き情報又はその一部を前記第二文書情報の画像パッチの上に描画する描画ステップと、を含む方法を実行させる、製品。
  19. 前記判断ステップは、
    前記第二文書情報の画像パッチと、キャプチャされた手書き情報データとともに保存された画像パッチとを比較して、前記第二文書情報の一つ以上の画像パッチ又はその一部が、キャプチャされた手書き情報データとともに現在に保存されている画像パッチと少なくとも部分的にマッチするかどうかを判断するステップを含む、請求項18に記載の製品。
  20. 前記方法は、さらに、
    画像パッチの比較により、マッチがあると判断すれば、現在に表示されている一つの画像パッチと少なくとも部分的にマッチする各保存された画像パッチに対して、前にキャプチャされた手書き情報データの少なくとも一部を、前記スクリーンにおいて、前記第二文書情報の画像パッチ又はその一部とマッチする前記各保存された画像パッチの一部がキャプチャされた手書き情報データの一部を含む範囲に表示し、
    画像パッチの比較により、マッチがないと判断すれば、前記第二文書情報の画像パッチの上の前記スクリーンに現れる全ての手書き情報を削除することを含む、請求項19に記載の製品。
  21. 前記方法は、さらに、
    画像パッチの比較により、前にキャプチャされた手書き情報データと関連付けられた画像パッチの一部のみが前記第二文書情報の画像パッチの一部とマッチすると判断すれば、前記第二文書情報の一つの画像パッチの一部とマッチする、前に関連付けられた手書き情報データがあると判定された画像パッチの一部がキャプチャされた手書き情報データを含むかどうかを判断し、
    そうであれば、前記第二文書情報の画像パッチとマッチする前記画像パッチの一部に現れる、キャプチャされた手書き情報データを描画することを含む、請求項19に記載の製品。
  22. 前記方法は、さらに、
    画像パッチの比較により、前にキャプチャされた手書き情報データと関連付けられた画像パッチの一部のみが前記第二文書情報の画像パッチの一部とマッチすると判断すれば、前記第二文書情報の一つの画像パッチの一部とマッチする、前に関連付けられた手書き情報データがあると判断された画像パッチの一部がキャプチャされた手書き情報データを含むかどうか、及び、前記第二文書情報の前記一つの画像パッチが変換されているかどうかを判断し、
    そうであれば、前記第二文書情報の前記一つの画像パッチとマッチする前記画像パッチの一部に現れる、キャプチャされた手書き情報データを、前記第二文書情報の前記一つの画像パッチと同様に変換し、変換された手書き情報データを前記スクリーンにおいて前記一つの画像パッチの上に描画することを含む、請求項19に記載の製品。
JP2013041210A 2012-03-02 2013-03-01 文書情報に基づく手書き情報と文書の関連付け Expired - Fee Related JP6089793B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/411,367 2012-03-02
US13/411,367 US9013454B2 (en) 2012-03-02 2012-03-02 Associating strokes with documents based on the document image

Publications (2)

Publication Number Publication Date
JP2013182625A true JP2013182625A (ja) 2013-09-12
JP6089793B2 JP6089793B2 (ja) 2017-03-08

Family

ID=47900500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013041210A Expired - Fee Related JP6089793B2 (ja) 2012-03-02 2013-03-01 文書情報に基づく手書き情報と文書の関連付け

Country Status (4)

Country Link
US (1) US9013454B2 (ja)
EP (1) EP2634686A3 (ja)
JP (1) JP6089793B2 (ja)
CN (1) CN103294766B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015165398A (ja) * 2014-02-28 2015-09-17 株式会社リコー コンテンツとストロークとの関連付けの提示のための方法、コンピュータプログラム及びシステム
JP2015165397A (ja) * 2014-02-28 2015-09-17 株式会社リコー コンテンツとストロークとの関連付けのための装置、方法及びコンピュータプログラム
JP2015165399A (ja) * 2014-02-28 2015-09-17 株式会社リコー コンテンツとストロークとの関連付けのサマリの生成のためのシステム、方法及びコンピュータプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290907A1 (en) * 2012-07-19 2012-11-15 Jigsaw Informatics, Inc. Method and system for associating synchronized media by creating a datapod
US20120284426A1 (en) * 2012-07-19 2012-11-08 Jigsaw Informatics, Inc. Method and system for playing a datapod that consists of synchronized, associated media and data
CN105468206B (zh) * 2014-09-04 2022-04-22 华为技术有限公司 交互演示方法和设备
EP3079052A4 (en) * 2014-12-18 2017-08-16 Wacom Co., Ltd. Digital ink generating device, digital ink generating method, and digital ink reproduction device
JP6728993B2 (ja) * 2016-05-31 2020-07-22 富士ゼロックス株式会社 筆記システム、情報処理装置、プログラム
US10387747B2 (en) * 2017-06-26 2019-08-20 Huddly As Intelligent whiteboard collaboratio systems and methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094679A (ja) * 2002-08-30 2004-03-25 Ricoh Co Ltd 表示制御装置、タッチパネル付きディスプレイ装置、タッチパネル付きディスプレイ装置の制御方法および制御プログラム
JP2011259243A (ja) * 2010-06-09 2011-12-22 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687876B1 (en) * 1998-12-30 2004-02-03 Fuji Xerox Co., Ltd. Method and system for maintaining freeform ink annotations on changing views
US7266772B2 (en) 2000-05-31 2007-09-04 Seiko Epson Corporation Projector connected to a network, a display system, and a method for displaying images and/or image data via a projector connected to a network
US7260278B2 (en) 2003-11-18 2007-08-21 Microsoft Corp. System and method for real-time whiteboard capture and processing
US8201079B2 (en) * 2004-01-15 2012-06-12 International Business Machines Corporation Maintaining annotations for distributed and versioned files
US7962846B2 (en) * 2004-02-13 2011-06-14 Microsoft Corporation Organization of annotated clipping views
US8086038B2 (en) 2007-07-11 2011-12-27 Ricoh Co., Ltd. Invisible junction features for patch recognition
US7702673B2 (en) 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US7865815B2 (en) * 2004-12-28 2011-01-04 International Business Machines Corporation Integration and presentation of current and historic versions of document and annotations thereon
US8805929B2 (en) 2005-06-20 2014-08-12 Ricoh Company, Ltd. Event-driven annotation techniques
US7526129B2 (en) * 2005-06-23 2009-04-28 Microsoft Corporation Lifting ink annotations from paper
CN1933391A (zh) * 2005-09-16 2007-03-21 北京书生国际信息技术有限公司 一种隐形编码嵌入和检测的方法
US7547048B2 (en) * 2005-12-09 2009-06-16 Itt Manufacturing Enterprises, Inc. Fluid quick connector with integral pivotal retainer
US7880719B2 (en) 2006-03-23 2011-02-01 International Business Machines Corporation Recognition and capture of whiteboard markups in relation to a projected image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094679A (ja) * 2002-08-30 2004-03-25 Ricoh Co Ltd 表示制御装置、タッチパネル付きディスプレイ装置、タッチパネル付きディスプレイ装置の制御方法および制御プログラム
JP2011259243A (ja) * 2010-06-09 2011-12-22 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015165398A (ja) * 2014-02-28 2015-09-17 株式会社リコー コンテンツとストロークとの関連付けの提示のための方法、コンピュータプログラム及びシステム
JP2015165397A (ja) * 2014-02-28 2015-09-17 株式会社リコー コンテンツとストロークとの関連付けのための装置、方法及びコンピュータプログラム
JP2015165399A (ja) * 2014-02-28 2015-09-17 株式会社リコー コンテンツとストロークとの関連付けのサマリの生成のためのシステム、方法及びコンピュータプログラム
US10372318B2 (en) 2014-02-28 2019-08-06 Ricoh Co., Ltd. Associating strokes with content
US10691878B2 (en) 2014-02-28 2020-06-23 Ricoh Co., Ltd. Presenting associations of strokes with content

Also Published As

Publication number Publication date
US20130229332A1 (en) 2013-09-05
US9013454B2 (en) 2015-04-21
EP2634686A3 (en) 2015-05-20
EP2634686A2 (en) 2013-09-04
CN103294766B (zh) 2017-04-12
CN103294766A (zh) 2013-09-11
JP6089793B2 (ja) 2017-03-08

Similar Documents

Publication Publication Date Title
JP6089793B2 (ja) 文書情報に基づく手書き情報と文書の関連付け
RU2702270C2 (ru) Обнаружение выбора рукописного фрагмента
CN105493023B (zh) 对表面上的内容的操纵
US9086798B2 (en) Associating information on a whiteboard with a user
US20110216015A1 (en) Apparatus and method for directing operation of a software application via a touch-sensitive surface divided into regions associated with respective functions
US9025878B2 (en) Electronic apparatus and handwritten document processing method
JP2013246633A (ja) 電子機器、手書き文書作成方法、及び手書き文書作成プログラム
US10691878B2 (en) Presenting associations of strokes with content
US20150212586A1 (en) Chinese character entry via a pinyin input method
US20180046351A1 (en) Controlling display object on display screen
US20160140387A1 (en) Electronic apparatus and method
US20150169134A1 (en) Methods circuits apparatuses systems and associated computer executable code for providing projection based human machine interfaces
US20150347000A1 (en) Electronic device and handwriting-data processing method
TWI442305B (zh) 多點控制的操作方法及其控制系統
JP6100013B2 (ja) 電子機器および手書き文書処理方法
US9183276B2 (en) Electronic device and method for searching handwritten document
CN107943381A (zh) 热区调整方法和装置、客户端
US20150098653A1 (en) Method, electronic device and storage medium
US9304618B2 (en) Creating a summary of content and stroke association
JP6467988B2 (ja) コンテンツとストロークとの関連付けのための装置、方法及びコンピュータプログラム
US20140147047A1 (en) Electronic device and method for processing handwritten document
US20140152589A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
US20150138077A1 (en) Display system and display controll device
JP5330576B1 (ja) 情報処理装置および筆跡検索方法
CN112698739B (zh) 一种控制方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161226

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: 20170110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170123

R151 Written notification of patent or utility model registration

Ref document number: 6089793

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees