JP2007521523A - インクの収集およびレンダリング - Google Patents

インクの収集およびレンダリング Download PDF

Info

Publication number
JP2007521523A
JP2007521523A JP2004569436A JP2004569436A JP2007521523A JP 2007521523 A JP2007521523 A JP 2007521523A JP 2004569436 A JP2004569436 A JP 2004569436A JP 2004569436 A JP2004569436 A JP 2004569436A JP 2007521523 A JP2007521523 A JP 2007521523A
Authority
JP
Japan
Prior art keywords
ink
objects
rendering
computer
event
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.)
Pending
Application number
JP2004569436A
Other languages
English (en)
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 JP2007521523A publication Critical patent/JP2007521523A/ja
Pending 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
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/10Character recognition
    • G06V30/32Digital ink

Abstract

インクをキャプチャしてレンダリングするシステムおよび処理が説明される。インクキャンバスオブジェクトが、ゼロ、1つ、または複数のオブジェクトまたは要素を含むことができ、オブジェクトまたは要素のZ‐オーダを指定することができる。インクキャンバスオブジェクトは、様々なオブジェクトまたは要素を収容することができ、したがって、それ自体ではインク機能をもつことができないとしても、オブジェクトまたは要素にインク機能を提供することができる。

Description

本発明の態様は、情報のキャプチャリング(capturing)およびレンダリング(rendering)に関する。より詳細には、本発明の態様は、電子インク(electronic ink)のキャプチャリングおよびレンダリングに関する。
人々はしばしば、情報のテキスト表現よりもグラフィック表現に頼る。人々は、画像に等価であり得るテキストブロックよりも、むしろ画像に目を向けるものである。たとえば、家の所有者は、台所や浴室を改築するとき、雑誌から画像を切り抜いて、何が望まれているかを正確に建設業者に見せる場合がある。同じ資料をテキストによって記述したものはしばしば、不十分である。家の所有者が使い得る道具の複雑さは、1丁のはさみと同程度に過ぎない。
しかし、計算機の世界では、同じ内容を取り込み伝えようとする試みは扱いにくい。一般的なコンピュータシステムは、画像の多い内容を取り込み伝えるためのわかりやすいインターフェースを提供していない。そうではなく、こうしたコンピュータシステムは、テキストを取り込んで(capturing)レンダリングするために最適化される。たとえば、一般的なコンピュータシステム、特に、マイクロソフトのWINDOWS(登録商標)など、グラフィカルユーザインターフェース(GUI)システムを使用するコンピュータシステムは、1つまたは複数の別個の入力装置、たとえばテキストを入力するキーボード、およびユーザインターフェースを駆動する1つまたは複数のボタンを有するマウスなどの指示装置からユーザ入力を受け付けるために最適化される。
一部の計算機システムは、システムに情報を入力するためのスタイラス(stylus)の使用を可能にすることによって、ユーザが利用可能な入力および対話システムを拡張している。スタイラスは、キーボード(データ入力用)ならびにマウス(制御用)の代わりになることができる。一部の計算機システムは、手書きの電子情報(handwritten electronic information)または電子インク(electronic ink)を受け取り、ただちに電子インクをテキストに変換しようと試みる。他のシステムは、電子インクが手書きの形(handwritten form)で残ることを可能にする。
スタイラス(stylus)があるにもかかわらず、電子インクを一般的なグラフィカルユーザインターフェースと組み合わせる様々な手法は、サードパーティのアプリケーションの開発者にとっては扱いにくいものとなり得る。
したがって、当該分野において、サードパーティの開発者にとって使いやすい、インクをキャプチャしてレンダリングする改良型のシステムが必要である。
本発明の態様は、上述した問題点の1つまたは複数に対処し、そうすることによって、サードパーティの開発者が使うための、より優れた内容のキャプチャリングおよびレンダリングを提供する。いくつかの実施形態では、インクのキャプチャリングおよびレンダリング要素(ink capturing and rendering element)は、インターフェースにおける各要素が、深さ(depth)(またはZ‐オーダ)で指定される構造(structure)の一部であるオブジェクトとして明らかにすることができる。いくつかの場合では、オブジェクトは、インターフェースにおける様々な要素を、それぞれ指定されたZ‐オーダ(specified z-order)でレンダリングし、次いで、最上位層(on the top-most layer)にインクをレンダリング(render ink)することができる。他の場合では、インク(ink)および他の要素(other elements)は、混ぜられる(intermingled)ことができる。
こうしたおよび他の態様は、図面および関連する説明に関連して扱われる。
本発明は、添付の図面において例示のために示されるが、そうした図面に限定されるのではない。各図面において、同じ参照番号は、同様の要素を表している。
本発明の実施形態は、改良されたインクのキャプチャリングおよびレンダリングシステムに関する。
本文書は、読者を援助するために、いくつかのセクションに分けられる。こうしたセクションは、インクの特性(characteristic of ink)と、用語(term)と、汎用計算機環境と、オブジェクトの順序づけ(ordering of objects)と、オブジェクトのコンストラクタ(constructor)、プロパティ(property)、メソッド(method)、イベント(event)と、関係(relationship)と、クリッピング(clipping)とを含む。
インクの特性(characteristic of ink)
インクペンを使うユーザには知られているように、物理インク(physical ink)(インク容器を有するペンを使って、紙の上に置かれる種類のもの)は、線分によって連結された一連の座標よりも、多くの情報を伝えることができる。たとえば、物理インクは、ペン圧(インクの濃さによって)、ペンの角度(直線部分または曲線部分の形、およびディスクリートポイント周りのインクの動き(behavior)によって)、ならびにペン先の速度(真直度、線幅、および直線または曲線の途中での線幅の変化によって)を反映することができる。こうした追加プロパティ(additional property)のおかげで、感情、個性、強調などが、点の間の一定した線幅よりも即座に伝えられることができる。
電子インク(またはインク)は、ユーザがスタイラスベースの入力デバイス(stylus-based input device)を使うときにキャプチャされる電子情報(electronic information)のキャプチャおよび表示(capture and display)に関する。電子インクは、一連のストロークに関連し、各ストロークは、一連の点からなる。点は、デカルト座標(X、Y)、極座標(r、T)、および当該分野において公知である他の技術など様々な公知の技術を用いて表されることができる。電子インクは、圧力、角度、速度、色、スタイラスのサイズ、およびインクの不透明度など、実際のインクのプロパティの表現を含むことができる。電子インクは、中でも、ページの上にインクが置かれた順序(ほとんどの西洋言語では、左から右へ、次いで下へというラスタパターン)、タイムスタンプ(インクがいつ置かれたか示す)、インクを使って書いた人の指示、および発生元の装置(インクによる書込みが行われたマシンの識別、またはインクを置くのに使われたペンの識別の少なくとも一方)など、他のプロパティをさらに含むことができる。
用語(terms)
インク(ink):プロパティを有する一連または1組のストローク。一連のストロークは、ストロークを順序づけられた形で含むことができる。ストロークの連続は、キャプチャが行われた時間によって、またはストロークがページの上に現れる場所によって順序づけられることもでき、インクの作者によって協調した状況で順序づけられることもできる。他の順序も可能である。1組のストロークは、ストロークの連続または順序づけられていないストローク、あるいはそのどの組合せも含むことができる。さらに、いくつかのプロパティは、ストローク中の各ストロークまたは点に対して一義的でよい(たとえば、圧力、速度、角度など)。こうしたプロパティは、インクレベルではなく、ストロークレベルまたは点のレベルで格納されることができる。
インクオブジェクト(ink object):プロパティを伴って、または伴わずにインクを格納するデータ構造。
ストローク(stroke):一連または1組の取り込まれた点。たとえば、レンダリングされると、点の連続は、線とつながれることができる。あるいは、ストロークは、点、および次の点への方向のベクトルとして表されることができる。要するに、点の基底表現および/または点をつなぐものに関わらず、ストロークは、インクに関連する点または区分のどの表現も包含することを意図されている。
点(point):空間内の位置を確定する情報。たとえば、点は、キャプチャリング空間(capturing space)(たとえばデジタイザ上の点)、仮想インク空間(取り込まれたインクが配置される、空間内の座標)、および/または表示空間(表示装置の点またはピクセル)に相対して確定されることができる。
要素(element):ツリー中に配置されるオブジェクトであって、ツリー中での配置(placement)が順序(order)として働く。
汎用計算機環境(general-purpose computing environment)
図1は、本発明の様々な態様を実施するのに用いることができる、例示的な従来の汎用デジタル計算機環境の概略図を示す。図1において、コンピュータ100は、処理ユニット110、システムメモリ120、およびシステムバス130を含む。このシステムバスは、システムメモリを含む様々なシステム構成要素を処理ユニット110に結合する。システムバス130は、様々なバスアーキテクチャのどれをも使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどいくつかのタイプのバス構造のいずれでもよい。システムメモリ120は、読出し専用メモリ(ROM)140およびランダムアクセスメモリ(RAM)150を含む。
基本入出力システム160(BIOS)は、たとえば起動中にコンピュータ100内部の要素間の情報の転送を助ける基本ルーチンを含み、ROM140に格納される。コンピュータ100は、ハードディスク(図示せず)からの読出しまたはそこへの書込みを行うハードディスクドライブ170、取外し可能磁気ディスク190からの読出しまたはそこへの書込みを行う磁気ディスクドライブ180、および、たとえばCD ROMまたは他の光学媒体などの取外し可能光ディスク192からの読出しまたはそこへの書込みを行う光ディスクドライブ191も含む。ハードディスクドライブ170、磁気ディスクドライブ180、および光ディスクドライブ191は、それぞれハードディスクドライブインターフェース192、磁気ディスクドライブインターフェース193、および光ディスクドライブインターフェース194によって、システムバス130に接続される。ドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ可読命令の不揮発性記憶装置、データ構造、プログラムモジュール、および他のデータを、パーソナルコンピュータ100に提供する。この例の動作環境では、コンピュータによるアクセスが可能なデータを格納することができる他のタイプのコンピュータ可読媒体、たとえば磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)なども使われることができることが、当業者には理解されよう。
オペレーティングシステム195、1つまたは複数のアプリケーションプログラム196、他のプログラムモジュール197、およびプログラムデータ198など、いくつかのプログラムモジュールが、ハードディスクドライブ170、磁気ディスク190、光ディスク192、ROM140、またはRAM150に格納されることができる。ユーザは、キーボード101および指示装置102などの入力デバイスを介して、コマンドおよび情報をコンピュータ100に入力することができる。他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、スキャナなどがあり得る。こうしたおよび他の入力デバイスはしばしば、システムバスに結合されるシリアルポートインターフェース106を介して処理ユニット110に接続されるが、他のインターフェース、たとえば並列ポート、ゲームポートまたはユニバーサルシリアルバス(USB)によって接続されることもできる。[現時点で、USBが非常に有名なので、図1にUSBを特徴づけたいと思うかもしれない。]さらに、こうした装置は、適切なインターフェース(図示せず)を介してシステムバス130に直接結合されることができる。モニタ107または他のタイプの表示装置も、ビデオアダプタ108などのインターフェースを介してシステムバス130に接続される。モニタに加えて、パーソナルコンピュータは通常、他の周辺出力装置(図示せず)、たとえばスピーカおよびプリンタを含む。一実施形態では、ペンデジタイザ165およびそれに伴うペンまたはスタイラス166が、フリーハンド入力をデジタル方式で取り込むために提供される。ペンデジタイザ165とシリアルポートインターフェース106の間の直接接続が示されているが、実際には、ペンデジタイザ165は、直接、あるいは並列ポートまたは他のインターフェースを介して処理ユニット110に結合されることができ、無線方式を含むどの技術によっても、システムバス130に結合されることができる。また、ペン166は、それに関連づけられたカメラ、およびカメラによって取り込まれた画像情報を、バス130と相互作用するインターフェースに無線方式で伝送する送受信機を有することができる。さらに、ペンは、カメラに加えて、またはその代わりに、加速度計、磁力計、およびジャイロスコープなど、電子インクのストロークを決定する他の検知システムを有することができる。
さらに、デジタイザ165はモニタ107とは別に示されているが、デジタイザ165の使用可能な入力区域は、モニタ107の表示領域と同一の広がりをもつことができる。さらに、デジタイザ165は、モニタ107に統合されることもでき、モニタ107の表面にある、あるいはモニタに付加される別個の装置として存在することもできる。
コンピュータ100は、リモートコンピュータ109など、1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続された環境において動作することができる。リモートコンピュータ109は、サーバ、ルータ、ネットワークPC、ピア装置、または他の共通ネットワークノードでよく、通常、コンピュータ100に関連して上述した要素の多くまたはすべてを含むが、メモリ記憶装置111のみが図1に示されている。図1に示される論理接続は、ローカルエリアネットワーク(LAN)112およびワイドエリアネットワーク(WAN)113を含む。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
LANネットワーク環境において使われる場合、コンピュータ100は、ネットワークインターフェースまたはアダプタ114を介してローカルネットワーク112に接続される。WANネットワーク環境において使われる場合、パーソナルコンピュータ100は通常、モデム115、または、たとえばインターネットなどのワイドエリアネットワーク113を介した通信を確立する他の手段を含むことができる。モデム115は、内部にあっても外部にあってもよく、シリアルポートインターフェース106を介してシステムバス130に接続される。ネットワーク接続された環境では、パーソナルコンピュータ100に関連して図示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納されることができる。さらに、システムは、有線性能および/または無線性能を含むことができる。たとえば、ネットワークインターフェース114は、ブルートゥース、SWLan、および/またはIEEE802.11クラスの連結性能を含むことができる。こうしたプロトコルと共に、またはこうしたプロトコルの代わりに、他の無線通信プロトコルが使われることができることを理解されたい。
図示したネットワーク接続は例示であり、コンピュータの間の通信リンクを確立する他の技術が使われることができることが理解されよう。様々な公知のプロトコル、たとえばTCP/IP、イーサネット(登録商標)、FTP、HTTPなど、いずれの存在も想定され、システムは、クライアントサーバ構成において動作して、ユーザがウェブベースのサーバからウェブページを検索することを可能にする。様々な従来のウェブブラウザのどれもが、ウェブページ上でデータを表示し操作するのに使われることができる。
図2は、本発明の様々な態様に従って使用されることができる、例示的なタブレットPC201を示す。図1のシステムにおける特徴、サブシステム、および機能のいずれか、またはすべては、図2のコンピュータに含まれることができる。タブレットPC201は、複数のウィンドウ203が表示される大型表示面202、たとえば、デジタルフラットパネルディスプレイ、好ましくは、液晶ディスプレイ(LCD)スクリーンを含む。スタイラス204を使って、ユーザは、デジタル表示面202上で選択を行い、強調表示を行い、かつ/または書くことができる。適切なデジタル表示面202の例は、電磁的ペンデジタイザ、たとえばMutohやWacomのペンデジタイザを含む。他のタイプのペンデジタイザ、たとえば光学デジタイザも使われることができる。タブレットPC201は、データを操作し、テキストを入力し、図面を作成し、かつ/または従来のコンピュータアプリケーションタスク、たとえば表計算、ワードプロセッサプログラムなどを実行するために、スタイラス204を用いて行われた手の動きを解釈する。
スタイラス204は、その選択性能を増大させるために、1つまたは複数のボタンあるいは他の特徴を備えることができる。一実施形態では、スタイラス204は、一方の端部は書く部分を構成し、他方の端部は「イレーザ(eraser)」端部を構成する「鉛筆(pencil)」または「ペン(pen)」として実施することができ、ディスプレイを横切って動かされると、そのディスプレイの部分が消去されるべきであることを示す。他のタイプの入力デバイス、たとえばマウス、トラックボールなども使われることができる。さらに、ユーザ自身の指が、スタイラス204になることができ、接触式または接近式ディスプレイ上に表示された画像の部分を選択しまたは指示するために使われることができる。したがって、本明細書で使用する「ユーザ入力デバイス(user input device)」という用語は、広範な定義を有するように意図され、スタイラス204など公知の入力デバイスに関する多くの変形形態を包含する。領域205は、ユーザが、スタイラス204が表示面202のどの部分に接触したか判定することを可能にするフィードバック領域または接触領域を示す。
様々な実施形態において、システムは、アプリケーションがインクを取り込み、操作し、格納するのに使うことができる1組のCOM(構成要素オブジェクトモデル)サービスとして、インクプラットフォームを提供する。あるサービスは、アプリケーションが、本明細書で開示されるインク表現を用いて、インクを読み出し、書き込むことを可能にする。インクプラットフォームは、拡張マークアップ言語(XML)のような言語などのマークアップ言語も含むことができる。さらに、システムは、別の実装形態としてDCOMを使うことができる。マイクロソフトコーポレーションのWin32プログラミングモデルおよび.Netプログラミングモデルを含む、さらに別の実装形態も使われることができる。
オブジェクトの順序づけ(ordering objects)
図3Aおよび図3Bは、インターフェース中のアイテムを順序づけする様々な技術を示す。図3Aにおいて、ウィンドウ301は、アイテム302および303を含む。ここで、アイテム302がフォーカスを有しており、アイテム303の前面にある。図3Bにおいて、内容はツリーで配列される。ここで、ルートノード(「ルート(root)」と呼ばれる)304は、ツリー中の他のすべてのノードが基づいているノードである。子ノード(child node)305および306は、ルートノード304からのツリー中に配置される。こうしたノードの互いに相対的な位置が、どのように、すなわち互いの上または下にノードがレンダリングされるか確定する。図3Bの左側にある軸307は、この例のツリー中の様々なノードの「Z‐オーダ(z-order)」を示す。
図4は、Z‐オーダの(すなわち深さ順の)順序づけ構造を有するシステムにおいて、インクがどのようにしてレンダリングされることができるかの一例を示す。ここで、ウィンドウ401は、内容(content)を示している。この内容は、位置(position)403にレンダリングされる内容(content)402、および位置405にレンダリングされる内容404を含む。以前の内容402および404がレンダリングされると、インク406は、最上位の内容(ここでは404)の上の位置407にレンダリングされることができる。インク406は、最上位の内容404に常に関連づけられてもよく、必ずしも関連づけられなくてもよい。たとえば、ユーザは、インク情報を内容406として受け付けるフォーム404を扱っている場合がある。ここで、フォーム404は、そこにインク406が置かれる前にレンダリングされることができる。
代替的な手法では、インクは、他の要素の下にあってもよい。たとえば、インクがレンダリングされ、次いで要素が上にレンダリングされることができる。インクのレンダリングは、要素のレンダリングと混ぜられることができる。
オブジェクトのコンストラクタ、プロパティ、メソッド、およびイベント(constructors, properties, methods, and events of objects)
内容の階層化順序(layering order)を制御するために、オブジェクトが、このタスクを処理するのに使われる。簡単にするために、本開示は、インクに関連するこのタスクを処理することができるオブジェクトを、(画家がどのようにして物理的なキャンバスに、塗料を層にして加えるかに機能的に類似しているという点で)「インクキャンバス(ink canvas)」オブジェクトと呼ぶ。一例では、インクキャンバスは要素でよい。別の例では、インクキャンバスはオブジェクトでよい(すべての要素がオブジェクトであるが、すべてのオブジェクトが要素であるわけではない)。簡単にするために、インクキャンバスは、本明細書ではオブジェクトと呼ばれる。インクキャンバスオブジェクトは、様々なコンストラクタ、プロパティ、メソッドおよびイベントを有して図5〜図7に示される。様々なコンストラクタ、プロパティ、メソッドおよびイベントは、例示の目的でのみ示されることを理解されたい。本発明から逸脱することなく、一部、全部、または追加のコンストラクタ、プロパティ、メソッドおよびイベントが、インクキャンバスオブジェクトの他の例において様々な形で現れることができる。インクキャンバスオブジェクトは、ゼロ以上の要素またはオブジェクトを収容することができる。インクキャンバスオブジェクトは、収容される要素またはオブジェクトのためにインクをレンダリングすることができ、あるいはそうした要素またはオブジェクトは、それ自体のためにインクをレンダリングすることができる。
以下の図面およびその説明では、メソッド、プロパティ、イベントおよびコンストラクタの様々な例を示す。いくつかの例では、様々なアイテムは、外部アクセスから隠されることができるが、異なる機構によるアクセスは可能であることを理解されたい。たとえば、インクオブジェクト、選択されたインクストローク、インクストリーム、またはバイトからなるアレイを返すメソッドが使われることができる。このメソッドは、この情報を含むことができるプロパティにアクセスする代わりに使われることができる。プロパティにアクセスしまたはプロパティを設定し、イベントに応答(respond)しまたはイベントを発する(throw)、などのメソッドが使われることができる。プロパティは、メソッドおよび/またはイベントの状態を記述することができる。イベントは、プロパティが設定されるとき、またはメソッドが実行されたときを示すことができる。他の例がこれに続くが、ここでは列挙されない。
インクキャンバスオブジェクトには、様々な態様があってもよく、なくてもよい。第1に、インクキャンバスオブジェクトは、要素(element)および/またはオブジェクト(object)を収容(host)することができる。要素およびオブジェクトは、インクキャンバスオブジェクトによってレンダリングされることもでき、それ自体をレンダリングすることもできる。インクキャンバスオブジェクトは、ツリーベースの組織構造(tree-based organizational structure)に収容(host)されることができる。インクキャンバスオブジェクトは、マークアップ言語(たとえば、HTML、XML、および/またはXAMLなど)で作成されることができる。インクキャンバスオブジェクトは、認識機能(recognition functionality)(たとえば手書き認識、形状認識、図面認識、注釈認識など)を含むことができる。インクキャンバスオブジェクトは、拡張編集機能を含むことができる。最後に、インクキャンバスオブジェクトは、インクキャンバスオブジェクトと相互作用するアプリケーションを開発者が書くことを可能にする様々なアプリケーションプログラミングインターフェースを含むことができる。こうした態様の1つまたは複数は、インクキャンバスオブジェクトに存在することができる。
図5は、インクキャンバスオブジェクトに関連づけられるコンストラクタおよびプロパティを示す。インクキャンバスオブジェクトは、501で示される。2つのコンストラクタは、502および503で示される。コンストラクタ502は、デフォルトの収集(default collection)およびレンダリング性能(rendering capability)が有効(enabled)にされたパブリックコンストラクタ(public constructor)である。コンストラクタ503は、指定された親へのリンクを有する、インクキャンバスオブジェクト501の新規インスタンス(new instance)を作成(create)する。
図5は、プロパティ504〜518も示している。
・Custom Edit Behaviorプロパティ504は、カスタム編集ビヘイビアの設定を可能にする。
・Default Drawing Attributesプロパティ505は、新規に収集されたストロークの線描属性を確定する。
・Editing Modeプロパティ506は、現在の編集モードを設定する。
・Eraser Sizeプロパティ507は、消去モードが有効にされたときのイレーザのサイズを設定する。
・Eraser Shapeプロパティ528は、消去モードが有効にされたときのイレーザの形状(円、楕円、四角形、三角形など)を設定する。
・Inkプロパティ508は、インクキャンバスオブジェクトに含まれるインクの利用を可能にする。
・Clip Inkプロパティ509は、インクがインクキャンバスの表示領域のサイズにクリップされるときを決定する。
・Editing Mode Invertedプロパティ510は、ユーザのペンが反転されるとき、どの編集モード(または他の言語もしくは状態)がアクティブになるか示す。追加のペンが使われることができることに留意されたい。したがって、追加プロパティ510は、他のモードが他のペン先に関連づけられるように定義するために使われることができる。
・Stylus Invertedプロパティ511は、スタイラスが現在反転されているか示す。
・Move Enabledプロパティ512は、作成されたインクを動かす能力を有効にし、無効にする。
・Resize Enabledプロパティ513は、作成されたインクをリサイズする能力を有効にし、無効にする。
・Rotate Enabledプロパティ514は、作成されたインクを循環させる能力を有効にし、無効にする。
・Access Selected Elementsプロパティ515は、現在のインクキャンバス501の子である、現在選択されている要素の利用を可能にする。
・Access Selected Strokesプロパティ516は、現在のインクキャンバス501に関連づけられる、現在選択されているストロークの利用を可能にする。
・Use Custom Cursorプロパティ517は、開発者がカスタムマウスカーソルを使っていること、および現在のカーソルが維持されるべきであることを示す。
・User Is Editingプロパティ518は、インクキャンバス501が、現在インクを収集していることを示す。
・Selection Groupsプロパティ527は、グループまたはパーサを意識した選択および操作のために、どのストロークまたはインクオブジェクトがグループ化されるか示す。
上記のプロパティに加えて、インクキャンバスオブジェクト501は、1つまたは複数のインク認識プロパティをさらに含んでも、含まなくてもよい。
・Recognized Inkプロパティ519は、インクが認識されていることを示す。この認識は、現在選択されているまたは以前選択されたストロークまたはストローク群に関連づけられても、関連づけられなくてもよい。
・Detected Wordプロパティ520は、ストロークまたはインクオブジェクトのどの組が単語として検出されたか示す。
・Detected Imageプロパティ521は、ストロークまたはインクオブジェクトのどの組が画像として検出されたか示す。
・Detected Lineプロパティ522は、ストロークまたはインクオブジェクトのどの組が線として検出されたか示す。
・Detected Paragraphプロパティ523は、ストロークまたはインクオブジェクトのどの組がパラグラフとして検出されたか示す。
・Detected Shapeプロパティ524は、ストロークまたはインクオブジェクトのどの組が形状(および/または形状のタイプ)として検出されたか示す。
・Detected Annotationプロパティ525は、ストロークまたはインクオブジェクトのどの組が注釈として検出されたか示す。
・Converted Textプロパティ526は、インクから認識されたテキストを含む。あるいは、このプロパティは、1つまたは複数のインクストロークまたはオブジェクトのレンダリングに対して、変換されたテキストがインクの可視的な形の代わりに使われるべきであることを示すことができる。
上記のプロパティは、例示の目的でのみ列挙されることを理解されたい。インクキャンバスオブジェクトと共に、他のプロパティが、上記のプロパティに加えてまたはその代わりに使われることができる。
図6は、インクキャンバスオブジェクト601に関連づけられる様々なメソッドを示す。
・Get Default Drawing Attributes Overrideメソッド602は、特定のスタイラス用の、デフォルトのオーバーライド設定を入手する。たとえば、ユーザは、編集用に1つのスタイラス、および消去用に1つのスタイラスをもつことができる。このメソッドは、ユーザが特定のスタイラス用のデフォルトビヘイビア(default behavior)を制御することを可能にする。
・On Editing Mode, Inverted Changeメソッド603は、反転モードが変化したというイベントを発する(throw)。
・On Editing Mode, Inverted Changingメソッド604は、反転モードが変化中であるというイベントを発する。
・On Stylus Is Inverted Changeメソッド605は、スタイラスが、反転編集モードを変化させるのに使われるときイベントを発する。
・On Custom Edit Behavior Changedメソッド606は、カスタム編集ビヘイビアが変化したことを示すイベントを発する。
・On Custom Edit Behavior Changingメソッド607は、カスタム編集ビヘイビアが変化中であることを示すイベントを発する。
・On Editing Mode Changedメソッド608は、編集モードが変化したことを示すイベントを発する。
・On Editing Mode Changingメソッド609は、編集モードが変化中であることを示すイベントを発する。
・On Ink Canvas Adorner Enteredメソッド610は、インク用の画像装飾物(ユーザがインクを選択するとき、示されても示されなくてもよい、グラフィックによるプレースホルダー(placeholder))が入力されるとき、イベントを発する。
・On Ink Canvas Adorner Exitedメソッド611は、インク用の画像装飾物が終了されるとき、イベントを発する。
・On Ink Erasedメソッド612は、インクが消去されるとき、イベントを発する。
・On Ink Erasingメソッド613は、インクが消去される処理中であるとき、イベントを発する。
・On Stroke Collectedメソッド614は、ストロークが収集されるとき、イベントを発する。
・On Selection Rotatingメソッド615は、選択(selection)が循環される処理中であるとき、イベントを発する。
・On Selection Rotatedメソッド616は、選択が循環されたとき、イベントを発する。
・On Selection Resizingメソッド617は、選択がリサイズされる処理中であるとき、イベントを発する。
・On Selection Resizedメソッド618は、選択がリサイズされるとき、イベントを発する。
・On Selection Movingメソッド619は、選択がムーブ(move)される処理中であるとき、イベントを発する。
・On Selection Movedメソッド620は、選択がムーブされたとき、イベントを発する。
・On Selection Changingメソッド621は、選択が変更される処理中であるとき、イベントを発する。
・On Selection Changedメソッド622は、選択が変更されたとき、イベントを発する。
・Set Default Drawing Attributes Overrideメソッド623は、取り込まれたストロークに関連づけられたデフォルトの線描属性をオーバーライドする。
上記のメソッドに加えて、インクキャンバスオブジェクト601は、1つまたは複数のインク認識メソッドをさらに含んでも、含まなくてもよい。
・On Ink Recognitionメソッド624は、インクが認識されたとき、1つまたは複数のイベントを発する。
上記のメソッドは、例示の目的でのみ列挙されることを理解されたい。インクキャンバスオブジェクトと共に、他のメソッドが、上記のメソッドに加えてまたはその代わりに使われることができる。
図7は、インクキャンバスオブジェクト701に関連づけられることができる様々なイベントを示す。
・Custom Edit Behavior Changedイベント702は、カスタム編集ビヘイビアが変化したときに起こる。
・Custom Edit Behavior Changingイベント703は、カスタム編集ビヘイビアがまもなく変化するときに起こる。
・Editing Mode Changedイベント704は、編集モードが変化したときに起こる。
・Editing Mode Changingイベント705は、編集モードがまもなく変化するときに起こる。
・Ink Canvas Adorner Enteredイベント706は、インクアドーナ(ink adorner)が入力(enter)されたときに起こる。
・Ink Canvas Adorner Exitedイベント707は、インクアドーナが終了(exit)されたときに起こる。
・Ink Erasedイベント708は、インクが消去されたときに起こる。
・Ink Erasingイベント709は、インクがまもなく消去されるときに起こる。
・Editing Mode Inverted Changedイベント710は、反転されたペンに関連する編集モードが変化したときに起こる。
・Editing Mode Inverted Changingイベント711は、反転されたペンに関連する編集モードがまもなく変化するときに起こる。
・Stylus Is Inverted, Changingイベント712は、ユーザがスタイラスを反転させているときに起こる。
・Stylus Is Inverted, Changedイベント713は、ユーザがスタイラスを反転させたときに起こる。
・Selection Changedイベント714は、選択が変化したときに起こる。
・Selection Changingイベント715は、選択がまもなく変化するときに起こる。
・Selection Movedイベント716は、選択がムーブしたときに起こる。
・Selection Movingイベント717は、選択がまもなくムーブされるときに起こる。
・Selection Resizedイベント718は、選択がリサイズしたときに起こる。
・Selection Resizingイベント719は、選択がまもなくリサイズされるときに起こる。
・Selection Rotatedイベント720は、選択が循環したときに起こる。
・Selection Rotatingイベント721は、選択がまもなく循環されるときに起こる。
・Stroke Collectedイベント722は、ストロークが収集(collect)されたときに起こる。
上記のイベントに加えて、インクキャンバスオブジェクト701は、インク認識イベントをさらに含んでも、含まなくてもよい。
・Ink Recognizedイベント723は、インクが認識されたときに起こる。
・Detected Wordイベント724は、単語(a word)が検出されたときに起こる。
・Detected Imageイベント725は、インクで書かれた画像が検出されたときに起こる。
・Detected Lineイベント726は、インクで書かれた線が検出されたときに起こる。
・Detected Paragraphイベント727は、インクで書かれたパラグラフが検出されたときに起こる。
・Detected Shapeイベント728は、インクで書かれた形状が検出されたときに起こる。
・Detected Annotationイベント729は、インク注釈が検出されたときに起こる。
・Converted Ink to Textイベント730は、インクがテキストに変換されたときに起こる。
上記のイベントは、例示の目的でのみ列挙されることを理解されたい。インクキャンバスオブジェクトと共に、他のイベントが、上記のイベントに加えて、またはその代わりに使われることができる。
関係(relationships)
図8は、インクキャンバスオブジェクト、インクエディタ、および様々なビヘイビアの間の様々な例示的関係を示す。インクキャンバスオブジェクト801は、1つまたは複数のサブエレメント(sub element)803を含む。インクキャンバスオブジェクト801は、インクエディタ802に付加され、入力イベント(フォーカス変化、キーボード入力、スタイラス入力など)を処理する。インクエディタ802は、中でも、構成要素化された編集ビヘイビア804(インクビヘイビアおよびインクに特有ではないビヘイビアを含むが、それに限定されないビヘイビア)の活動化を調整する。インク特有のビヘイビアは、インク編集ビヘイビア805に収集される。インク編集ビヘイビア805は、基本の活動化/非活動化(base activation/deactivation)発見法(ペンを上げると非活動化し、編集モードプロパティがインクキャンバスオブジェクト上で変化すると非活動化する、など)を提供する。インク編集ビヘイビア805は、インク収集ビヘイビア806、選択ビヘイビア807(投げ縄選択(lasso selection)を含む)、および追加のビヘイビア808を含む。インク特有でないビヘイビアは、ラバーバンド(rubberband)ビヘイビア809、ムーブビヘイビア810、リサイズビヘイビア811、および追加のビヘイビア812を含む。
インクエディタ802は、インクエディタ802からビヘイビア806〜812それぞれへの矢印によって示されるように、様々なビヘイビア806〜812を管理する。様々なビヘイビア806〜812は、関連する機能によってグループ化されることができる。たとえば、サブエレメント803中の内容の部分集合の作成または選択は、投げ縄選択ビヘイビア807およびラバーバンド選択ビヘイビア809を含むがそれに限定されない様々な選択ビヘイビアによって実施されることができる。サブエレメント803中の選択された内容は、様々なビヘイビアによっても、たとえば、(中でも)ムーブビヘイビア810およびリサイズビヘイビア811によっても同様に修正および/または操作されることができる。
インクキャンバスオブジェクト801に戻ると、これは、ユーザが書込みを行うことができる領域を有するための子をもたずに使われることができる。また、インクキャンバスオブジェクト801は、他のどの要素またはオブジェクトあるいは制御においても使われることができる。というのは、インクキャンバスオブジェクト801は、他のどのタイプの要素も収容することができるからである。このことは、開発者が、どの注釈可能なものも容易に作ること、またはインクで書くためのどのバックグラウンドも有することを可能にする。本発明の態様によると、インクは、様々なレベルでレンダリングされる(要素と混ぜられ、要素の上になり、または要素の下になる)ことができることを理解されたい。
インクキャンバスオブジェクトを使用するためのコードの一例は、以下のようになり得る。
Figure 2007521523
InkCanvasは、他のどのタイプの要素も収容することができるので、インクで書くための能力は、他のすべてのタイプのパネルに対して有効にされなくてよい。以下は、インクキャンバスとフローパネル(インクが表示される所)の間の関連づけを可能にするコードの断片の別の例である。
Figure 2007521523
Figure 2007521523
以下は、要素自体に関連づけられているインクオブジェクトを示す。このオブジェクトは、動的なプロパティとして、または便宜上、.NETプロパティとして利用可能である。
Figure 2007521523
以下は、インクキャンバスオブジェクトを使用するインクを含むXAMLの例である。
Figure 2007521523
インクキャンバスオブジェクトの様々な点は、以下の1つまたは複数を含むことができる。
・どの要素も、XAMLにおけるインクキャンバスの子になることができる。子は、絶対的に位置づけされることができる。
・どの動的なイベントも、XML属性を設定することによって付加されたコードを有することができる。
・どの動的なプロパティも、XML属性を設定することによって初期化されることができる。
・インクは、動的なプロパティを有しても有さなくてもよく、「インク」と呼ばれるXML属性中に、base64 ISF(インクの格納形式)としてシリアル化されることができる。
・タグ本文は、最上位の認識結果列である。
クリッピング(clipping)
図9A、図9B、および図9Cは、インクキャンバスオブジェクトの視覚的な属性を示す。インクキャンバスに表示されたインクは、クリップされても、されなくてもよい。一例では、インクキャンバスオブジェクトは、どの内容のクリッピングも、またはインク内容のみのクリッピングを防止するために、自動的にリサイズされることができる。あるいは、インクキャンバスは、あるサイズに設定されることができ、内容クリップまたはインク内容クリップのみをもつことができる。クリッピングは、クリッププロパティまたはクリッププロパティの組合せ(たとえば、一般的な内容クリップおよびインク特有のクリッププロパティ)によって、指定されることができる。図9Aにおいて、インク901の全内容は、領域(region)902に示される。図9Bにおいて、インク全体が示される。インクの第1の部分903が、領域904に示される。インクの残りの部分905は、領域904の端からはみ出している。この場合、インククリッピングはオフである。図9Cにおいて、インク906は、領域907にクリップされる。この場合、クリッピングはオンである。
以上、本発明の例示的な実施形態を説明してきた。添付の特許請求の範囲およびその精神に含まれる多数の他の実施形態、修正形態および変形形態は、本開示を検討することによって当業者が考えつくであろう。
本発明による1つまたは複数の態様をサポートする汎用コンピュータを示す図である。 本発明の一実施形態による、スタイラスベースの入力システム用のディスプレイを示す図である。 本発明の一実施形態による、インターフェースの様々な例を示す図である。 本発明の一実施形態において、どのようにして順序づけが制御されるかを示す図である。 本発明の一実施形態によって領域に加えられるインクを示す図である。 本発明の一実施形態による、オブジェクトのコンストラクタおよびプロパティを示す図である。 本発明の一実施形態による、オブジェクトのメソッドを示す図である。 本発明の一実施形態による、オブジェクトのイベントを示す図である。 本発明の一実施形態によるオブジェクトと様々なビヘイビアとの関係を示す図である。 本発明の一実施形態によって領域にクリップされるインクの様々な度合を示す図である。 本発明の一実施形態によって領域にクリップされるインクの様々な度合を示す図である。 本発明の一実施形態によって領域にクリップされるインクの様々な度合を示す図である。

Claims (41)

  1. インクを受け取る1つのオブジェクトと、
    前記1つのオブジェクトによって参照される1つまたは複数のオブジェクトとを備え、
    前記1つのオブジェクトは前記1つまたは複数のオブジェクトの表示を制御し、
    前記複数のオブジェクトの少なくとも1つは、単独ではインクが有効化されないが、前記1つのオブジェクトによって含まれるときにはインクが有効化されることを特徴とするコンピュータシステム。
  2. 前記1つのオブジェクトはインクキャンバスオブジェクトであることを特徴とする請求項1に記載のシステム。
  3. 前記1つのオブジェクトは、前記1つまたは複数のオブジェクトをレンダリングし、最後にレンダリングされたオブジェクトの上にどのインクもレンダリングすることを特徴とする請求項1に記載のシステム。
  4. 前記1つのオブジェクトは、インクおよび1つまたは複数のオブジェクトの階層化を混ぜることを特徴とする請求項1に記載のシステム。
  5. 前記1つのオブジェクトは、インクをレンダリングし、次いで、前記レンダリングされたインクの上に1つまたは複数のオブジェクトをレンダリングすることを特徴とする請求項1に記載のシステム。
  6. 前記1つのオブジェクトは、1つまたは複数のビヘイビアを含むことを特徴とする請求項1に記載のシステム。
  7. 前記1つのオブジェクトは、少なくとも1つのメソッドを含むことを特徴とする請求項1に記載のシステム。
  8. 前記1つのオブジェクトは、少なくとも1つのプロパティを含むことを特徴とする請求項1に記載のシステム。
  9. 前記1つのオブジェクトは、少なくとも1つのイベントを含むことを特徴とする請求項1に記載のシステム。
  10. インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容するステップと、
    前記1つまたは複数のオブジェクトをレンダリングするステップと、
    前記1つまたは複数のオブジェクトの上にインクをレンダリングするステップと、
    を含むことを特徴とするプロセス。
  11. 前記1つのオブジェクトのプロパティを修正するステップをさらに含むことを特徴とする請求項10に記載のプロセス。
  12. 前記1つのオブジェクトによってイベントを発するステップをさらに含むことを特徴とする請求項10に記載のプロセス。
  13. 前記1つのオブジェクトに関連づけられたメソッドを実施するステップをさらに含むことを特徴とする請求項10に記載のプロセス。
  14. コンピュータ実行可能プログラムが格納されたコンピュータ可読媒体であって、前記プログラムは、
    インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容するステップと、
    前記1つまたは複数のオブジェクトをレンダリングするステップと、
    前記1つまたは複数のオブジェクトの上にインクをレンダリングするステップと、
    を含むことを特徴とするコンピュータ可読媒体。
  15. 前記プログラムは、
    前記1つのオブジェクトのプロパティを修正するステップをさらに含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
  16. 前記プログラムは、
    前記1つのオブジェクトによってイベントを発するステップをさらに含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
  17. 前記プログラムは、
    前記1つのオブジェクトに関連づけられたメソッドを実施するステップをさらに含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
  18. インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容する手段と、
    前記1つまたは複数のオブジェクトをレンダリングする手段と、
    前記1つまたは複数のオブジェクトの上にインクをレンダリングする手段と、
    を具備したことを特徴とするシステム。
  19. 前記1つのオブジェクトのプロパティを修正する手段をさらに備えることを特徴とする請求項18に記載のシステム。
  20. 前記1つのオブジェクトによってイベントを発する手段をさらに備えることを特徴とする請求項18に記載のシステム。
  21. 前記1つのオブジェクトに関連づけられたメソッドを実施する手段をさらに備えることを特徴とする請求項18に記載のシステム。
  22. インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容するステップと、
    前記1つまたは複数のオブジェクトが、それ自体をレンダリングするステップと、
    前記1つまたは複数のオブジェクトの上にインクをレンダリングするステップと、
    を含むことを特徴とするプロセス。
  23. 前記1つのオブジェクトのプロパティを修正するステップをさらに含むことを特徴とする請求項22に記載のプロセス。
  24. 前記1つのオブジェクトによってイベントを発するステップをさらに含むことを特徴とする請求項22に記載のプロセス。
  25. 前記1つのオブジェクトに関連づけられたメソッドを実施するステップをさらに含むことを特徴とする請求項22に記載のプロセス。
  26. コンピュータ実行可能プログラムが格納されたコンピュータ可読媒体であって、前記プログラムは、
    インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容するステップと、
    前記1つまたは複数のオブジェクトが、それ自体をレンダリングするステップと、
    前記1つまたは複数のオブジェクトの上にインクをレンダリングするステップと、
    を含むことを特徴とするコンピュータ可読媒体。
  27. 前記プログラムは、
    前記1つのオブジェクトのプロパティを修正するステップをさらに含むことを特徴とする請求項26に記載のコンピュータ可読媒体。
  28. 前記プログラムは、
    前記1つのオブジェクトによってイベントを発するステップをさらに含むことを特徴とする請求項26に記載のコンピュータ可読媒体。
  29. 前記プログラムは、
    前記1つのオブジェクトに関連づけられたメソッドを実施するステップをさらに含むことを特徴とする請求項26に記載のコンピュータ可読媒体。
  30. インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容する手段と、
    前記1つまたは複数のオブジェクトが、それ自体をレンダリングする手段と、
    前記1つまたは複数のオブジェクトの上にインクをレンダリングする手段と、
    を具備したことを特徴とするシステム。
  31. 前記1つのオブジェクトのプロパティを修正する手段をさらに備えることを特徴とする請求項30に記載のシステム。
  32. 前記1つのオブジェクトによってイベントを発する手段をさらに備えることを特徴とする請求項18に記載のシステム。
  33. 前記1つのオブジェクトに関連づけられたメソッドを実施する手段をさらに備えることを特徴とする請求項18に記載のシステム。
  34. インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容するステップと、
    インクをレンダリングするステップと、
    1つまたは複数のオブジェクトが、前記インクの前記レンダリングと混ぜられるように、それ自体をレンダリングするステップと、
    を含むことを特徴とするプロセス。
  35. コンピュータ実行可能プログラムが格納されたコンピュータ可読媒体であって、前記プログラムは、
    インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容するステップと、
    インクをレンダリングするステップと、
    1つまたは複数のオブジェクトが、前記インクの前記レンダリングと混ぜられるように、それ自体をレンダリングするステップと、
    を含むことを特徴とするコンピュータ可読媒体。
  36. インク機能を提供する1つのオブジェクトに、1つまたは複数のオブジェクトを収容する手段と、
    インクをレンダリングする手段と、
    1つまたは複数のオブジェクトが、前記インクの前記レンダリングと混ぜられるように、それ自体をレンダリングする手段と、
    を具備したことを特徴とするシステム。
  37. インクを受け取るオブジェクトであって、ツリーベースの組織構造に収容されることができるオブジェクトを具備したことを特徴とするコンピュータシステム。
  38. インクを受け取るオブジェクトであって、マークアップ言語で書かれることができるオブジェクトを具備したことを特徴とするコンピュータシステム。
  39. インクを受け取る1つのオブジェクトと、
    前記1つのオブジェクトによって参照される1つまたは複数のオブジェクトとを備え、
    前記1つのオブジェクトは、インク認識機能を含むことを特徴とするコンピュータシステム。
  40. インクを受け取る1つのオブジェクトと、
    前記1つのオブジェクトによって参照される1つまたは複数のオブジェクトとを備え、
    前記1つのオブジェクトは、拡張可能な編集機能を含むことを特徴とするコンピュータシステム。
  41. インクを受け取る1つのオブジェクトと、
    前記1つのオブジェクトによって参照される1つまたは複数のオブジェクトとを備え、
    前記1つのオブジェクトは、アプリケーションプログラミングインターフェースを用いて、アプリケーションによりアクセスされることを特徴とするコンピュータシステム。
JP2004569436A 2003-08-21 2003-08-21 インクの収集およびレンダリング Pending JP2007521523A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2003/026203 WO2005031594A1 (en) 2003-08-21 2003-08-21 Ink collection and rendering
US10/644,896 US7483017B2 (en) 2003-08-21 2003-08-21 Ink collection and rendering

Publications (1)

Publication Number Publication Date
JP2007521523A true JP2007521523A (ja) 2007-08-02

Family

ID=42813269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004569436A Pending JP2007521523A (ja) 2003-08-21 2003-08-21 インクの収集およびレンダリング

Country Status (9)

Country Link
US (1) US7483017B2 (ja)
EP (1) EP1678625A4 (ja)
JP (1) JP2007521523A (ja)
CN (1) CN100481062C (ja)
AU (2) AU2003273239B8 (ja)
BR (1) BR0306576A (ja)
CA (1) CA2466952A1 (ja)
MX (1) MXPA04005721A (ja)
WO (1) WO2005031594A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397949B2 (en) * 2000-06-21 2008-07-08 Microsoft Corporation Serial storage of ink and its properties
US7262785B2 (en) * 2003-08-21 2007-08-28 Microsoft Corporation Ink editing architecture
US7427984B2 (en) * 2003-10-26 2008-09-23 Microsoft Corporation Point erasing
US7486282B2 (en) * 2006-01-27 2009-02-03 Microsoft Corporation Size variant pressure eraser
JP5640681B2 (ja) 2010-11-11 2014-12-17 ソニー株式会社 情報処理装置、立体視表示方法及びプログラム
US9519414B2 (en) * 2012-12-11 2016-12-13 Microsoft Technology Licensing Llc Smart whiteboard interactions
US10776570B2 (en) * 2015-02-10 2020-09-15 Microsoft Technology Licensing, Llc Supporting digital ink in markup language documents
US10210383B2 (en) 2015-09-03 2019-02-19 Microsoft Technology Licensing, Llc Interacting with an assistant component based on captured stroke information
US10387034B2 (en) 2015-09-03 2019-08-20 Microsoft Technology Licensing, Llc Modifying captured stroke information into an actionable form
US10691880B2 (en) * 2016-03-29 2020-06-23 Microsoft Technology Licensing, Llc Ink in an electronic document
US10970476B2 (en) * 2017-05-17 2021-04-06 Microsoft Technology Licensing, Llc Augmenting digital ink strokes
US10761719B2 (en) * 2017-11-09 2020-09-01 Microsoft Technology Licensing, Llc User interface code generation based on free-hand input
CN111090351B (zh) * 2018-10-24 2023-08-18 义隆电子股份有限公司 触控系统、其输入装置、及其信号传送方法
CN113535056B (zh) * 2021-06-17 2023-12-05 深圳软牛科技有限公司 基于InkCanvas的选框调整方法和相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272876A (ja) * 1997-11-25 1999-10-08 Fuji Xerox Co Ltd 複数のグラフィック・オブジェクトの動的グループ化方法及びシステム
JP2000200128A (ja) * 1998-12-31 2000-07-18 Fuji Xerox Co Ltd ウィジェット注釈付け方法、ウィジェットのディスプレイ方法、ウィジェット注釈付けシステム、及びレンダリングシステム
JP2000200266A (ja) * 1998-12-30 2000-07-18 Fuji Xerox Co Ltd 論理的関係の指示維持方法及びシステム
JP2002082937A (ja) * 2000-06-21 2002-03-22 Microsoft Corp インクの分類、係留、および変換

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633436A (en) * 1983-12-16 1986-12-30 International Business Machines Corp. Real-time rub-out erase for an electronic handwriting facility
US5347620A (en) * 1991-09-05 1994-09-13 Zimmer Mark A System and method for digital rendering of images and printed articulation
US6535897B1 (en) * 1993-05-20 2003-03-18 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting printing and drawings
US5534893A (en) * 1993-12-15 1996-07-09 Apple Computer, Inc. Method and apparatus for using stylus-tablet input in a computer system
US5831615A (en) * 1994-09-30 1998-11-03 Intel Corporation Method and apparatus for redrawing transparent windows
US6724372B1 (en) * 1995-10-16 2004-04-20 Nec Corporation Ink trails on a wireless remote interface tablet and wireless remote ink field object
US5982399A (en) * 1996-06-21 1999-11-09 Autodesk, Inc. Immediate mode drawing interface for the construction of graphics software
US5892399A (en) * 1996-07-29 1999-04-06 Texas Instruments Incorporated Current boost circuit for reducing crossover distortion in an operational amplifier
US6445384B1 (en) * 1996-10-01 2002-09-03 Greensteel, Inc. Electronic whiteboard system eraser
US6111565A (en) * 1998-05-14 2000-08-29 Virtual Ink Corp. Stylus for use with transcription system
US6326957B1 (en) * 1999-01-29 2001-12-04 International Business Machines Corporation System and method for displaying page information in a personal digital notepad
US7190491B2 (en) * 1999-05-25 2007-03-13 Silverbrook Research Pty Ltd Interactive publication printer and binder
US6822639B1 (en) * 1999-05-25 2004-11-23 Silverbrook Research Pty Ltd System for data transfer
US7707082B1 (en) * 1999-05-25 2010-04-27 Silverbrook Research Pty Ltd Method and system for bill management
US6707473B2 (en) * 2001-08-01 2004-03-16 Microsoft Corporation Dynamic rendering of ink strokes with transparency
US6909430B2 (en) * 2001-08-01 2005-06-21 Microsoft Corporation Rendering ink strokes of variable width and angle
US7436535B2 (en) * 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US7486282B2 (en) * 2006-01-27 2009-02-03 Microsoft Corporation Size variant pressure eraser

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272876A (ja) * 1997-11-25 1999-10-08 Fuji Xerox Co Ltd 複数のグラフィック・オブジェクトの動的グループ化方法及びシステム
JP2000200266A (ja) * 1998-12-30 2000-07-18 Fuji Xerox Co Ltd 論理的関係の指示維持方法及びシステム
JP2000200128A (ja) * 1998-12-31 2000-07-18 Fuji Xerox Co Ltd ウィジェット注釈付け方法、ウィジェットのディスプレイ方法、ウィジェット注釈付けシステム、及びレンダリングシステム
JP2002082937A (ja) * 2000-06-21 2002-03-22 Microsoft Corp インクの分類、係留、および変換

Also Published As

Publication number Publication date
US7483017B2 (en) 2009-01-27
CA2466952A1 (en) 2005-02-21
AU2003273239B8 (en) 2010-07-22
US20050052433A1 (en) 2005-03-10
BR0306576A (pt) 2006-10-03
AU2003273239B2 (en) 2010-06-10
MXPA04005721A (es) 2005-06-03
CN1656473A (zh) 2005-08-17
AU2010219367B2 (en) 2011-08-18
CN100481062C (zh) 2009-04-22
EP1678625A1 (en) 2006-07-12
AU2003273239A1 (en) 2005-04-14
EP1678625A4 (en) 2007-10-17
WO2005031594A1 (en) 2005-04-07
AU2010219367A1 (en) 2010-09-30

Similar Documents

Publication Publication Date Title
AU2010219367B2 (en) Ink collection and rendering
US7499047B2 (en) Ink editing architecture
US8166388B2 (en) Overlaying electronic ink
US7299424B2 (en) Lasso select
US8132125B2 (en) Freeform encounter selection tool
US7886236B2 (en) Dynamic feedback for gestures
JP4694606B2 (ja) ジェスチャ判定方法
US6965384B2 (en) In-situ digital inking for applications
US20040257346A1 (en) Content selection and handling
US20050015731A1 (en) Handling data across different portions or regions of a desktop
JP2010020795A (ja) インクとのインターフェース
EP1363185A2 (en) Method and apparatus for hollow selection feedback
JP6971671B2 (ja) 画像表示装置、画像表示システム及びプログラム
KR100952562B1 (ko) 스타일러스-기반 입력 시스템 및 그를 위한 컴퓨터-구현 프로세스
RU2365979C2 (ru) Ввод и воспроизведение электронных чернил

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100225

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100226

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100325

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100416