JP7140773B2 - リアルタイム協働用のライブインク存在 - Google Patents

リアルタイム協働用のライブインク存在 Download PDF

Info

Publication number
JP7140773B2
JP7140773B2 JP2019548673A JP2019548673A JP7140773B2 JP 7140773 B2 JP7140773 B2 JP 7140773B2 JP 2019548673 A JP2019548673 A JP 2019548673A JP 2019548673 A JP2019548673 A JP 2019548673A JP 7140773 B2 JP7140773 B2 JP 7140773B2
Authority
JP
Japan
Prior art keywords
ink
existence
region
user
point
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.)
Active
Application number
JP2019548673A
Other languages
English (en)
Other versions
JP2020516983A (ja
JP2020516983A5 (ja
Inventor
ナターシャ ロドリゲス,メイビス
ユージーン タロン,ミッシェル
ミクテル,イアン
Original Assignee
マイクロソフト テクノロジー ライセンシング,エルエルシー
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 マイクロソフト テクノロジー ライセンシング,エルエルシー filed Critical マイクロソフト テクノロジー ライセンシング,エルエルシー
Publication of JP2020516983A publication Critical patent/JP2020516983A/ja
Publication of JP2020516983A5 publication Critical patent/JP2020516983A5/ja
Application granted granted Critical
Publication of JP7140773B2 publication Critical patent/JP7140773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/169Annotation, e.g. comment data or footnotes
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Processing Or Creating Images (AREA)
  • Geophysics And Detection Of Objects (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • Medicines Containing Plant Substances (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Display Devices Of Pinball Game Machines (AREA)

Description

背景
[0001] ノートブックアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、及びプレゼンテーションアプリケーションなどのコンテンツ生成アプリケーションは、コンテンツの生成及びキュレーションのための有用なツールである。これらの及びその他のコンテンツ生成アプリケーションは、ユーザーが、紙の上でペンを動かす方式によるペン又はスタイラス(並びに、しばしば、指又はその他のオブジェクト)の使用を通じた、コンテンツの入力及びアプリケーション(並びに、その内部において生成されたコンテンツ)とのやり取りを許容する「インキング(inking)」機能を益々包含するようになっている。
[0002] 複数のユーザーが、デジタルインク(「デジタルインキング環境」)を使用してアプリケーション内においてリアルタイム協働の実行を開始した際に、どのユーザーがどのコンテンツを生成したのかを識別することが困難になりうる。
簡潔な概要
[0003] インキング環境におけるリアルタイム協働の際のユーザーの識別について記述している。(インクストロークがキャンバスインターフェイスに入力される)インキング環境における協働対応型のコンテンツ生成アプリケーション用の視覚的な「インク存在」インジケータ機能が提供されている。
[0004] インク存在機能は、なんらかのコンテンツをインキングした人物及びユーザーが描画キャンバス上においてそのコンテンツをインキングした場所に関する情報と共に、「存在インジケータ」の形態において、視覚的インジケータを提供しているのみならず、存在インジケータを配置するべきキャンバスインターフェイス上の場所を判定することもできる。
[0005] 協働対応型のコンテンツ生成アプリケーションのインク存在機能は、インクポイントが描画される存在領域を定義する、且つ、到来したインクポイントが同一の存在領域の一部分であるのか又は異なる存在領域の一部分であるのかを判定する、存在マネージャコードを含む。存在マネージャコードは、それぞれの存在領域ごとに存在インジケータの場所を更に判定し、且つ、存在インジケータが、コンテンツ生成アプリケーションのグラフィカルユーザーインターフェイスを介してユーザーに対して表示されるように、場所情報をコンテンツ生成アプリケーションのレンダラに提供している。
[0006] 存在インジケータは、だれかが画面の場所においてインキンクしていることの通知を支援する存在アイコンであってよい。一実施形態においては、存在インジケータは、インクポイントを追跡しておらず、むしろ、存在インジケータは、インクポイントとは別個に運動している。存在インジケータの場所は、定義可能な存在領域に基づいたものであってよく、且つ、存在領域のサイズが、新しいインクポイントが特定の基準を充足するような方式で増大するのに伴って、存在マネージャは、その存在領域の存在インジケータの場所を調節することができる。
[0007] この「発明の概要」は、「発明を実施するための形態」において更に後述されている概念の一選択を概略的な形態において紹介するべく、提供されたものである。この「発明の概要」は、特許請求されている主題の主要な特徴又は不可欠な特徴を識別することを意図したものではなく、且つ、特許請求されている主題の範囲を限定するべく使用されることを意図したものでもない。
図面の簡単な説明
[0008]本発明の様々な実施形態が実行されうる例示用の動作環境を示す。 [0009]インク存在機能を有する協働対応型のコンテンツ生成アプリケーションを有する例示用のシステムを示す。 [0010]インク存在によって改善されたインキングを提供する例示用のプロセスフロー図を示す。 [0010]インク存在によって改善されたインキングを提供する例示用のプロセスフロー図を示す。 [0011]特定の例示用の実装による、インク存在機能によって実行される例示用のロジックを示す。 [0011]特定の例示用の実装による、インク存在機能によって実行される例示用のロジックを示す。 [0012]協働セッション用のインク存在機能の例示用のシナリオを示す。 [0012]協働セッション用のインク存在機能の例示用のシナリオを示す。 [0012]協働セッション用のインク存在機能の例示用のシナリオを示す。 [0013]協働グループのメンバが異なるフォームファクタのディスプレイを有している、インク存在機能の例示用のシナリオを示す。 [0014]本明細書において記述されている特定の実施形態において使用されうる演算装置のコンポーネントを示す。
詳細な説明
[0015] インキング環境におけるリアルタイム協働の際のユーザーの識別について説明する。(インクストロークがキャンバスインターフェイスに入力される)インキング環境における協働対応型のコンテンツ生成アプリケーション用の視覚的な「インク存在」インジケータ機能が提供されている。
[0016] 協働空間内における複数のユーザーの間の弁別は、困難なものになりうる。いくつかの協働型のインキング環境は、(例えば、Microsoft Wordにおける追跡-変更機能を使用して)協働型のワードプロセッシング環境において実行されているものと類似した方式により、異なるユーザーを表すべく、異なる色のインクを利用している。但し、これは、協働空間内において着色されたコンテンツを生成するための複数のユーザーの能力を制限しうる。更には、キャンバスインターフェイスは、事実上、キャンバス上の任意の場所においてフリーフォームインキングを許容していることから、その他のユーザーが、だれかの寄与によって監督される場合もあり、或いは、これを見逃す場合もある。インク存在機能は、なんらかのコンテンツをインキングした人物及びユーザーが描画キャンバス上においてそのコンテンツにインキングした場所に関する情報と共に、「存在インジケータ」の形態において、視覚的インジケータを提供しているのみならず、存在インジケータを配置するべきキャンバスインターフェイス上の場所を判定することもできる。
[0017] コンテンツ生成アプリケーションは、ユーザーが情報を寄与しうるソフトウェアアプリケーションである。本明細書において使用されているコンテンツ生成アプリケーションは、ユーザーがテキスト及び/又は画像に基づいたコンテンツをデジタル形態において生成しうる視覚的なコンテンツを対象としている。「コンテンツ生成アプリケーション」という用語は、いくつかのケースにおいては、「コンテンツオーサリングアプリケーション」、「プロダクティビティアプリケーション」、又は「コンテンツオーサリングツール」と同義であってよい。記述されているシステム及び技法は、コンテンツがオーサリングされているアプリケーション及びツールに合焦していることから、これらの用語の間において意図された弁別は、存在しておらず、且つ、これらの用語は、本明細書においては、相互交換可能に使用されうる。
[0018] 記述されているインク存在機能は、協働及び「インキング」又は「デジタルインク」をサポートしているコンテンツ生成アプリケーションについて適用可能であり、これは、スタイラス又はペン(或いは、場合によっては、タッチスクリーン又はパッド上のユーザーの指、或いは、恐らくは、マウス)が、その自然な形態における手書きをキャプチャするべく、使用される、ユーザー入力のモードを意味している。
[0019] インクストロークは、「マーキング」の座標及びプロパティを表す、デジタイザがキャプチャする、プロパティ及びポイントデータの組を意味している。これは、単一のペンの降下、上昇、又は移動シーケンスにおいてキャプチャされるデータの組であってよい。データの組は、限定を伴うことなしに、ストロークの開始点、ストロークの終了点、ストロークの圧力、(アジマスとも呼称されうる)ストロークにおける(例えば、ペンの)傾斜、ストロークの方向、ストロークの経路に沿った別個の座標の間におけるストロークの時点及びタイミング、並びに、「インク」の色などの、パラメータを含むことができる。
[0020] デジタイザは、一般に、アナログモーションを別個の座標値に変換するべく使用されうる、グリッド上の座標の組を提供している。デジタイザは、指、ペン、又はスタイラスの運動(例えば、ユーザーの手書き又はブラシストローク)をキャプチャしうる画面又は表面の下方又は上方に配置することができる。デジタイザの機能に応じて、ポイントの間のモーションの圧力、速度、及びモーションの方向などの情報を収集することができる。
[0021] デジタルインクによれば、ユーザーは、先程参照されたパラメータ(例えば、座標や圧力など)に関与する、インクストロークのデータ構造(並びに、言語)に起因して、現実世界におけるとちょうど同様に、インキングされた単語又はインキングされた描画の外観を容易に制御することができる。インクストロークの形態において留まることにより、インキングされた単語のみならず、インキングされた描画も、インクによって変更可能なフォーマットを有している。
[0022] 協働対応型のコンテンツ生成アプリケーションにおいては(並びに、場合によっては、非協働型のシナリオにおいても)、インクストロークは、プロパティ及びポイントデータを含む、セマンティックイベント及び関連するメタデータを使用することにより、定義することができる。セマンティックイベントは、開始、継続、終了、取消、削除、移動、集計、及びこれらに類似したものであってよい。
[0023] 図1は、本発明の様々な実施形態が実行されうる例示用の動作環境を示しており、且つ、図2は、インク存在機能を有する協働対応型のコンテンツ生成アプリケーションを有する例示用のシステムを示している。
[0024] 図1を参照すれば、例示用の動作環境100は、インク入力をレンダリングしうるレンダラ106を含む、デジタルインキング能力を有するコンテンツ生成アプリケーション104を稼働させている、ユーザーA用の演算装置102を含む。リアルタイム協働のためのライブインク存在をサポートするべく、存在マネージャ108が含まれている。協働サービス112を稼働させている協働サーバー110は、コンテンツ生成アプリケーション104用の協働機能をサポートすることが可能であり、且つ、複数のユーザー(例えば、演算装置114におけるユーザーB、演算装置116におけるユーザーC、及び演算装置118におけるユーザーC)の間の協働を促進することができる。協働サービス112は、協働セッションのユーザーの間における情報の同期化を許容している。
[0025] 演算装置102(のみならず、演算装置114、116、118、或いは、協働セッションに参加するべく使用されているその他の演算装置)は、図7との関係において記述されているものなどの、システム700として、実施することができる。例えば、演算装置は、それぞれ、限定を伴うことなしに、ラップトップコンピュータ、デスクトップコンピュータ、タブレット、パーソナルデジタルアシスタント、スマートフォン、スマートテレビ、ゲーミングコンソール、ウェアラブル装置、及びこれらに類似したものなどの、任意の演算装置であってよい。
[0026] 図2を参照すれば、ユーザーA200は、インクコンテンツ(「インク入力」202)をコンテンツ生成アプリケーション104に入力することができる。インク入力202は、インクストローク203として、デジタイザによって処理することが可能であり、且つ、レンダラ106により、(例えば、ユーザーのインクをレンダリングするオブジェクト106Aを使用することにより)グラフィカルユーザーインターフェイス204における表示のために、レンダリングすることができる。協働セッションにおいては、コンテンツ生成アプリケーション104は、協働に対応しており、且つ、グラフィカルユーザーインターフェイス204内において、表示されたインク207として、(例えば、オブジェクト106Aを使用することにより)レンダラ106によってレンダリング可能である、インクストローク203を送信し、且つ、インク情報(例えば、「collab ink」206A)をその他のユーザーから受け取るべく、ネットワーク205上において協働サービス112と通信している。インク情報は、少なくとも、インクストロークのインクポイントと、インクストロークを共有されたインキングキャンバスに入力しているユーザーのユーザー識別子と、を含むことができる。インクポイントは、位置及びその他のパラメータ(例えば、圧力や色)を通知するデータ構造を有することができる。又、記述されている実装のいくつかにおいては、インクポイントは、セマンティックイベントを含むこともできる。
[0027] 動作環境内のコンポーネント(演算システム、ストレージリソース、及びこれらに類似したもの)は、ネットワーク205上において、或いは、その上部における相互の通信状態において、動作することができる。ネットワーク205は、限定を伴うことなしに、セルラーネットワーク(例えば、無線電話)、ポイントツーポイントダイヤルアップ接続、衛星ネットワーク、インターネット、ローカルエリアネットワーク(LAN:Local Area Network)、ワイドエリアネットワーク(WAN:Wide Area Network)、Wi-Fiネットワーク、アドホックネットワーク、或いは、これらの組合せであってよい。このようなネットワークは、ハブ、ブリッジ、ルーター、スイッチ、サーバー、及びゲートウェイなどの、様々なタイプのネットワーク要素を接続するべく、広く使用されている。ネットワーク205は、インターネットなどのパブリックネットワーク及び/又はセキュアエンタープライズプライベートネットワークなどのプライベートネットワークを含む、1つ又は複数の接続されたネットワーク(例えば、マルチネットワーク環境)を含むことができる。ネットワーク205に対するアクセスは、当業者には理解されるように、1つ又は複数の有線又は無線アクセスネットワークを介して提供することができる。
[0028] 存在マネージャ108は、アプリケーション104によって受け取られたストローク(例えば、インクポイント、セマンティックイベント、パラメータ)を「聴取(listen)」し、且つ、存在インジケータ(例えば、存在アイコン)を配置するべき最良の場所を判定している。例えば、存在マネージャ108は、インク情報206Aから、セマンティックイベント(例えば、開始、計測、終了)用のユーザーid及びインク情報の入力206(ユーザーID、Collab Ink(セマンティックイベント、パラメータ))を評価することが可能であり、ユーザーidによって識別されたユーザーの存在領域を判定し、且つ、インク存在インジケータの場所を示唆している。この示唆された場所208は、存在アイコン209を表示するべく、レンダラ106に提供される。様々な実装においては、存在アイコン209は、ユーザーのプロフィール写真、イニシャル、名前、ランダムに選択されたバックグラウンドの色又は画像、或いは、ユーザーによって選択された色又は画像(或いは、これらの項目の任意の組合せ)を含むことができる。レンダラ106は、例えば、存在インジケータをレンダリングするオブジェクト106Bを使用することにより、存在インジケータをレンダリング及びアニメーション化している。
[0029] 存在アイコンは、だれかが画面の場所においてインキングしていることの通知を支援している。存在アイコンは、「ライブ」インク(207として表示されうる、リアルタイムで同時協働者から出現するインク)を追跡する必要はない。むしろ、存在インジケータの示唆された場所208は、レンダリングされているインキング207とは別個にレンダリングすることができる(例えば、対応する存在アイコン209と共に示唆された場所208を参照し、且つ、対応する表示されたインク207と共にcollab ink206を参照されたい)。存在アイコンは、インクの前に、インクと同時に、或いは、インクの開始の後に(あまり好ましくはない)、グラフィカルユーザーインターフェイス内において出現することができる。インク出現ロジックは、例えば、レンダラ106の別個のオブジェクト106A及び106Bを有することによるなどのように、存在出現ロジックとは別個である。インキングキャンバスは、(タイピング用の制限的なラインとは対照的に)任意の時点における任意の場所におけるインキングを許容しており、且つ、従って、存在アイコンが、反対側の端部から互いに交差しているが結合性を有する写真を形成している、生成されたストローク上にありうる、インクポイントを追跡した場合には、気を散らせるモーションを生成しうるであろう。インキングロジックと存在出現ロジックの分離は、存在アイコンがキャンバス上において過剰に飛び回ることの回避を支援しうる。
[0030] 存在マネージャ108及び/又はレンダラ106及び/又は協働サーバー112などのコンポーネントとの間における通信は、いくつかのケースにおいては、アプリケーションプログラミングインターフェイス(API:Application Programming Interface)を介して実行することができる。APIは、異なるプログラムコードコンポーネント又はハードウェアコンポーネント(以下においては、「API呼出コンポーネント」)が、API実装コンポーネントによって提供される1つ又は複数の機能、方法、手順、データ構造、クラス、及び/又はその他のサービスにアクセスし且つこれらを使用することを許容している、プログラムコードコンポーネント又はハードウェアコンポーネント(以下においては、「API実装コンポーネント」)によって実装されるインターフェイスである。APIは、API呼出コンポーネントとAPI実装コンポーネントの間において伝達される1つ又は複数のパラメータを定義することができる。APIは、一般に、2つ以上のアプリケーションが相互に通信することを可能にするためのプログラミング命令及び規格の組であり、且つ、インターネット上において実装される際には、一般に、ハイパーテキスト転送プロトコル(HTTP:HyperText Transfer Protocol)要求メッセージ及びREST(Representational State Transfer)又はSOAP(Simple Object Access Protocol)アーキテクチャによる応答メッセージ用の規定されたフォーマット又は構造の組として実装されている。協働サービスの場合には、通信は、双方向であり、且つ、従って、HTTP/2、WebSocket、及びその他の双方向プロトコルを使用することにより、実装することができる。
[0031] 図3A~図3Bは、インク存在によって改善されたインキングを提供する例示用のプロセスフローを示しており、図4A及び図4Bは、特定の例示用の実装によるインク存在機能によって実行される例示用のロジックを示しており、且つ、図5A~図5Cは、協働セッション用のインク存在機能の例示用のシナリオを示している。図示のシナリオにおいては、第1ユーザー502用のコンテンツ生成アプリケーション500は、共有されたキャンバス510を有する状態にある。図5Aにおいて示されているように、且つ、図3Aとの関係において記述されているように、いくつかのユーザーの参加は、任意選択により、一般的な存在インジケータ520を使用することにより、表すことができる。例えば、図3Aを参照すれば、プロセス300において、共有されたインキングキャンバス(例えば、共有されたキャンバス510)に参加している任意のユーザーのユーザー識別子は、第1ユーザーの演算装置におけるコンテンツ生成アプリケーション500用のインク存在機能により、受け取ることができる(302)。インク存在機能は、受け取られたユーザー識別子と関連するユーザー情報を取得することができる(304)。これは、例えば、ディレクトリサービスとの通信により、実現することができる。一般的な存在インジケータ520は、共有されたキャンバス510を観察しているユーザーに通知することが可能であり、且つ、必ずしも、共有されたキャンバス510上においてインキングしている、或いは、インキングすることになる、ユーザーに限定されるものではない。
[0032] 例えば、アイコンの形態における、一般的な存在インジケータ520は、サイドバー又はメニューにおいて、レンダリングすることができる(306)。ユーザー情報の少なくともいくつかは、共有されたインキングキャンバス510に参加しているそれぞれのユーザーごとに、表示することができる。一般的なアイコン520は、インク存在機能によって生成及び管理されるものとして記述されているが、一般的なアイコン520のプロセス300は、別個に処理することもできる。例えば、プロセス300は、協働対応型のコンテンツ生成アプリケーションの一部であってもよい。その他のケースにおいては、一般的なアイコン520(並びに、プロセス300)の包含は、インク存在機能の一部分ではあるものの、存在インジケータ208の場所を判定するものとまったく同一の機能によって実行されてはいない。
[0033] 図5B及び図3Bを参照すれば、図示のシナリオにおいては、協働参加者の一人が、そのユーザー装置(図示されていない)を介して、共有されたキャンバス510にコンテンツをインキングしている。コンテンツ生成アプリケーション500のインク存在機能は、少なくとも、インクストロークのインクポイントと、インクストロークを共有されたキャンバス410に入力しているユーザーのユーザー識別子と、を受け取ることが可能であり(310)、ユーザーの存在領域を判定することが可能であり(312)、且つ、判定に基づいて、レンダラに対してインク存在インジケータの場所を示唆することができる(314)。レンダラは、存在マネージャ(例えば、108)から情報を受け取っている。情報は、アイコンを配置するべき場所及びユーザーがだれなのかを含みうる。次いで、レンダラは、存在アイコン522が表示されるようにしている。これに加えて、存在マネージャ108は、存在アイコンの場所を更新するように、レンダラに通知しうるのみならず、以前のアイコンを除去するように、レンダラに通知することもできる。
[0034] 存在マネージャ108又は存在レンダラ(例えば、オブジェクト106B)は、受け取られたユーザー識別子と関連するユーザー情報を取得することができる。これは、例えば、ディレクトリサービスとの通信により、実現することができる。例えば、レンダラが、示唆された場所(例えば、図2の示唆された場所208)において存在アイコンを描画するように(存在マネージャによって)指示された際に、レンダラ(例えば、図2のオブジェクト206B)は、ユーザー情報が利用可能であるかどうかをチェックする。利用可能ではない場合には、レンダラは、ランダムに選択された適切なバックグラウンド色を有する一時的なアイコンを提供し、且つ、レンダラは、非同期的な方式により、ユーザー情報(名前やプロフィール画像など)を取得するべく試みる。情報が所得されたら、情報は、(同一のセッションにおける)任意の将来のユーザー情報要求のために、情報がレンダラによって迅速に取得されうるように、キャッシングすることができる。このキャッシュは、共有されたキャンバスセッションからユーザーがサインアウトした際に、クリアすることができる。又、いくつかのケースにおいては、この同一のプロセスを上述の一般的なアイコン520について実行することもできる。
[0035] それぞれの存在識別子は、その独自の一意の識別情報を有することができる。例えば、存在識別子アイコン自体は、その独自の識別情報のみならず、自身と関連付けられたユーザーIDを有することもできる。存在マネージャは、示唆された場所と共に、インジケータ識別子及びユーザーIDをレンダラに伝達することができる。この結果、同一ユーザー用の2つの異なる存在アイコンにより、同時に画面の右上隅において且つ画面の左下隅においてインキングしているユーザーを表すことができる。実際に、単一のユーザーは、単一のページ上において、複数の存在アイコンを有しうるであろう。
[0036] 存在領域は、特定のユーザーによって入力されたインクストロークのグループ(並びに、その他の近接したコンテンツ)を収容するディスプレイの一部分を意味している。存在領域は、コンテンツの近接性に基づいたものである。例えば、存在領域は、受け取られたインクポイントの境界ボックスに基づいたものであってよい。境界ボックスは、ストロークの境界を定めている矩形又はその他の指定された形状である。境界ボックスは、なにかの周りにおいて配置された最もぴったりとした正方形として見なすことができる(但し、いくつかの実装は、ある程度のエリアを追加することができる)。2つの異なるユーザーが同一のエリア内においてインキングしている場合には、それぞれのユーザーごとに、2つの存在領域が存在している。いくつかのケースにおいては、新しいインクポイントが、同一のユーザーに属する2つの異なる存在領域内において存在することになった場合には、存在マネージャは、例えば、それぞれの存在領域に追加された、最後のストローク(或いは、そのポイント)の場所又は時点に基づいて、最良の存在領域を選択することができる。実際に、近接して共にオーバーラップ又は存在しうる、ユーザー用の複数の存在領域が存在しうる。存在マネージャは、その存在領域内の最後のストロークからの距離に基づいて、インク分析の結果に基づいて、(その存在領域がストロークを消費した最後の存在領域であった)時間に基づいて、或いは、これらの組合せに基づいて、(インクポイントを割り当てるべく)存在領域の間において決定を下すことができる。
[0037] インクポイントの間の距離は、コンテンツが同一の存在領域内にあるかどうか(且つ、従って、アイコンが、示唆された場所において留まりうるかどうか)を存在マネージャが判定する1つの方法である。但し、処理帯域幅が、インクがリアルタイムでレンダリングされるのに所要される時間内においてインキングを分析することが可能となるように、十分に大きい際には、インクストロークのグループを判定するべく、インク分析を実行することができよう。例えば、インク分析は、インクストロークから、文字、単語、文、段落、及び/又は描画を識別するべく、使用することができる。インク分析は、ストロークのグループを判定するべく、インクストロークの特性(例えば、重量、方向、圧力、色、及びこれらに類似したもの)と、いくつかのケースにおいては、文脈と、を使用することができる。
[0038] 存在マネージャコード(例えば、存在マネージャ108)は、ユーザーの演算装置によって実行された際に、ユーザー識別子と関連するその他のインクストロークが、共有されたインキングキャンバス内にあるかどうかを判定することが可能であり、新しいインクストロークが、以前のインクストローク(並びに/或いは、判定された存在領域)から既定の距離内にあるかどうかを判定することが可能であり、且つ、最後のストロークが入力された以降の時間を判定することができる。単一のユーザーからのインクストロークが到来するのに伴って、(存在マネージャの)コードは、インクストローク/ポイントが、同一の「存在領域」の一部分として見なされるべく、互いに十分近接しているかどうかを判定することができる。協働対応型のコンテンツ生成アプリケーションによって受け取られたインクストロークは、少なくとも、開始イベントと、終了イベントと、を含む。同一のエリア/領域に到達する複数のポイントが存在している場合には、存在アイコンは、運動せず、その理由は、特定の実施形態においては、ユーザーが単語を書き込んでいる間に、アイコンは、1つのスポット内において出現することになるからである。存在マネージャは、ストロークが互いに非常に近接していると判定する(或いは、インク分析を使用する)ことが可能であり、且つ、必要とされるのは、1つの存在アイコンのみであり、その理由は、ストロークのクラスタが、近傍において存在しているからである。
[0039] 一実装においては、受け取られたインク情報(例えば、collab ink206A)は、新しいインクポイントが、x又はy方向において、既存の存在領域から、ほぼ特定の距離(例えば、1.5インチ)に位置している場合に、特定のユーザーについて同一の存在領域内にあるものと見なされる。ユーザーの既存の存在領域が存在していない場合には、存在領域は、ライブインクポイントの境界ボックスに基づいたものとなる。記述されている方式に基づいて、同一のユーザーが、(ユーザーの観点において)2つの「画面の異なるエリア」内においてインキングしている場合には、注意をその別個の領域に引き付けるべく、且つ、インキングしている人物について通知するべく、それぞれの存在領域ごとに、2つの存在アイコンが出現することになる。
[0040] 例えば、図4Aに示されているように、(図3Bの動作310などにおけるように)インク情報(例えば、図2のユーザーId及びCollab ink206)が受け取られた際に、存在マネージャ(例えば、108)は、任意のその他のインクストロークが、ユーザー識別子と関連付けられているかどうかを判定することができる(401)。そのユーザーによって予め受け取られたその他のインクストロークが存在していない場合には、存在マネージャは、存在アイコン用の示唆された場所をインクストロークの第1インクポイントから判定された距離内にあるものとして識別することができる(402)。そのユーザーによって受け取られたその他のインクストロークが存在している場合には、存在マネージャは、インクポイントが、存在アイコンを有するストロークの既定の距離内にあるかどうかを判定することができる(403)。既定の距離内においてインクポイントが存在している場合には、存在マネージャは、レンダラ用の存在アイコンの場所を更新する必要はない(404)。既定の距離内に、インクポイントが存在していない場合には、存在マネージャは、存在アイコン用の示唆された場所をインクストロークの第1インクポイントから判定された距離内にあるものとして識別することができる(405)。
[0041] 動作312及び314の別の例として、図4Bに示されているように、(例えば、動作310の後に)インクストロークが受け取られた際に、存在マネージャ(例えば、108)は、受け取られたユーザーIdと関連する任意の既存の存在領域が存在しているかどうかを判定することができる(410)。いくつかのケースにおいて、動作410は、存在インジケータ識別子が、特定のユーザー識別子について保存されているかどうかを識別することにより、実行することができる。いくつかのケースにおいては、動作410は、既定の時間量内において、受け取られると共に表示された特定のユーザー識別子と関連する任意のインクポイントが存在しているかどうかを識別することにより、実行することができる。いくつかのケースにおいては、これらのステップの組合せを実行することができる。
[0042] 既存の存在領域が存在していない場合には、存在マネージャは、新しい存在領域(412)を生成する。新しい存在領域(412)の生成は、受け取られたインクポイントの境界ボックスを識別することを含むことができる。境界ボックスは、新しい存在領域を定義することができる。示唆された場所を判定した後に、存在マネージャは、第1インクポイント(414)から特定の既定の距離において存在インジケータを配置するように、レンダラに連絡する。既存の存在領域が存在している場合には、存在マネージャは、新しいインクポイントが任意の既存の存在領域の一部分であるかどうかを判定する(416)。いくつかのケースにおいては、動作416は、インクポイントが、既存の存在領域内の1つ又は複数のインクポイントから、或いは、その既存の存在領域用のインク存在インジケータから、既定の距離内にあるかどうかを判定することを含んでいる。いくつかのケースにおいては、動作416は、インクポイントが以前のインクポイントと関係付けられているかどうかを判定するべく、インク分析を実行することを含んでおり、この場合に、インク分析は、文字、単語、文、段落、又は描画のうちの1つ又は複数を識別している。いくつかのケースにおいては、動作416は、これらのプロセスの組合せである。
[0043] 新しいインクが、任意の既存の存在領域の一部分ではないと判定された場合には、存在マネージャは、新しい存在領域を生成し(412)、且つ、示唆された場所を判定した後に、第1インクポイントから特定の既定の距離において存在インジケータを配置するように、レンダラに連絡する(414)。但し、新しいインクが既存の存在領域の一部分であると判定された場合には、存在マネージャは、インクが存在領域のインジケータから既定の距離内にあるかどうかを判定することができる(418)。存在マネージャが、インクが存在領域のインジケータから既定の距離内にはないと判定した場合には、存在マネージャは、存在インジケータの位置を更新し(420)、且つ、新しい示唆された場所をレンダラに伝達する。例えば、存在インジケータは、示唆された新しい場所と共に、対応するインジケータ識別子及びユーザーIDをレンダラに伝達することができる。インクが存在領域のインジケータから既定の距離内にあると存在マネージャが判定した場合には、存在インジケータの場所を変更するための更新は、実施されない(422)。
[0044] 図5Cを参照すれば、図示のシナリオにおいては、受け取られたインクストロークに基づいて、存在アイコン522が、第1場所523から第2場所524に移動している。図5Cの図に示されているように、書き込んでいる人物の更なる通知を含むことができる。例えば、一般的なユーザーの存在アイコン520Aは、適用された視覚的インジケータ(例えば、強調表示や色の変化など)を有していてもよく、或いは、共有されたキャンバス510を単に観察している参加者とは対照的に、能動的な参加者である人物の促進を支援するべく、マーカー526を存在アイコン520A上において表示することもできる。
[0045] 上述のように、存在マネージャ(例えば、108)は、示唆された場所をレンダラ(例えば、オブジェクト106B)に提供している。いくつかの実装においては、レンダラのレンダリングコードは、表示との関係においてアイコンサイズ又はその他のファクタを調整するべく、存在アイコンを運動させることが可能であり、或いは、その他の方法で調節することができる。
[0046] 一実装においては、存在インジケータの示唆された第1存在場所は、存在領域内の左上隅の第1ポイントである。存在インジケータの第1位置が第1ポイントであることから、後のポイントの場所は、存在アイコンの最良の位置に対して強い影響を有してはいない。いくつかのケースにおいては、特に、右から左へ書かれる言語が使用されていることをコンテキストが通知している際には、存在インジケータの第1存在場所は、存在領域の右上隅であってよい。
[0047] 存在領域が拡大を開始した場合に、存在インジケータの別の場所を選択することができる。特定の一例として、特定の存在領域の新しいインクポイントが、以前の示唆された場所から、600個のピクセルだけ、離れている場合には、新しいライブインクポイントに更に近接するように、存在インジケータを運動させることができる。当然のことながら、その他の場所、分解能、及びサイズも想定されることを理解されたい。
[0048] 又、存在マネージャは、状態が除去イベントを充足している際には、存在アイコン(或いは、その他の視覚的インジケータ)を除去するように、レンダラに連絡することができる。いくつかの実装においては、ライブインクストロークについて、終了イベント(例えば、「終了」のセマンティックイベント)が受け取られた際には、x秒にわたって、カウンタを開始することができる(ここで、xは、秒数である)。新しいポイントが、カウンタの終了前に、その存在領域内において出現しない場合には、存在マネージャは、状態が除去イベントを充足しており、且つ、存在インジケータを除去することを要する、と判定することができる。新しいライブインクポイントが存在マネージャによって受け取られた場合には、カウンタは取り消される。これは、そのエリア内においてライブインクユーザーがインキングを停止した後のx秒後に消失する存在インジケータの幻影を付与するためである。又、既定の時間量にわたって、ライブインクポイントが(終了イベントさえも)、存在領域内に到来しない場合には、存在アイコンは、自身を除去することができる(例えば、存在マネージャは、状態が除去イベントを充足していると判定することができる)。いくつかのケースにおいては、存在マネージャは、対応するインジケータ識別子によって識別された存在アイコンを除去するためのコマンドと共に、対応するインジケータ識別子及びユーザーIDをレンダラに伝達することにより、存在アイコンの除去を実現している。
[0049] 図6は、協働グループのメンバが、異なるフォームファクタのディスプレイを有している、インク存在機能の例示用のシナリオを示している。図6を参照すれば、第1ユーザー602Aは、1つのコンテンツ生成アプリケーション600Aを使用することにより、共有されたキャンバス上において協働中であってよく、且つ、第2ユーザー604Aは、相対的に大きな観察キャンバスを有する別のコンテンツ生成アプリケーション600Bを使用することにより、共有されたキャンバス上において協働中であってよい。第1ユーザー、第2ユーザー、及び第3ユーザーは、共有されたキャンバス内において描画しているものと示されている。第3ユーザーの存在アイコン606が、第1ユーザー602Aのコンテンツ生成アプリケーション600Aのビューポート及び第2ユーザー604のコンテンツ生成アプリケーション600Bのビューポート内において示されている。第2ユーザーは、第1ユーザー602Aがキャンバス上において書き込んで領域により、第1ユーザー602Aの存在アイコン602を観察することができる。但し、ビューポートのサイズの違いに起因して、第1ユーザーは、第2ユーザーの書込み(例えば、コンテンツ620)を観察することができない。コンテンツ生成アプリケーション600Aのレンダラは、第2ユーザー604Aの存在アイコン604を有するオフ画面インジケータ610により、オフ画面の場所を表すことができる。
[0050] オフ画面インジケータ610は、だれかがオフ画面において書き込んでいることを通知するべく、画面のエッジに到来することができる。いくつかのケースにおいて、存在アイコンは、登場することにより、だれかが、いま、インキングしている、と伝えることが可能であり、且つ、ユーザーが、それをクリックし、且つ、だれかがインキングしている場所に導かれる、ことを可能にする機能を有することができよう。存在マネージャは、書込みの場所に移動するための動作を促進するべく、場所情報を提供することができる。例えば、存在アイコンの選択の通知(例えば、タップ)の受け取りに応答して、ライブインクにナビゲートするための選択肢をユーザーに提供することができる。レンダラは、いくつかのケースにおいては、なにかが観察可能領域の外側において書き込まれていることを伝達するべく、観察可能領域内において、テキスト又はグラフィカル情報を提供することができる。このメッセージの場所は、観察可能領域の境界に、及び/又は、一般的なユーザー存在インジケータ(例えば、図5Aの520)の内部又は周辺に、位置することができる。
[0051] 図7は、本明細書において記述されている特定の実施形態において使用されうる演算装置のコンポーネントを示している。
[0052] 図7を参照すれば、システム700は、限定を伴うことなしに、パーソナルコンピュータ、リーダー、モバイル装置、パーソナルデジタルアシスタント、ウェアラブルコンピュータ、スマートフォン、タブレット、ラップトップコンピュータ(ノードブック又はネットブック)、ゲーミング装置又はコンソール、エンターテインメント装置、ハイブリッドコンピュータ、デスクトップコンピュータ、スマートテレビ、或いは、電子ホワイトボード又は大きなフォームファクタのタッチスクリーンなどの、演算装置を表すことができる。従って、特定の演算装置を実装するべく、システム700との関係において記述されている更に多くの又は更に少ない数の要素を内蔵することができる。
[0053] システム700は、ストレージシステム715上において保存されているソフトウェア710の命令に従ってデータを変換又は操作するべく、1つ又は複数のプロセッサの処理システム705を含む。
[0054] 処理システム705のプロセッサの例は、汎用中央処理ユニット、グラフィクス処理ユニット、用途固有のプロセッサ、及び論理装置のみならず、任意のその他のタイプの処理装置、組合せ、又はこれらの変形を含む。処理システム705は、ネットワーク接続コンポーネント、センサ、ビデオディスプレイコンポーネントなどの、1つ又は複数のその他のコンポーネントと共に、システムオンチップ(SoC:System-On-Chip)であってもよく、或いは、これに含まれていてもよい。
[0055] ソフトウェア710は、プログラム命令において実装されていてもよく、且つ、その他の機能に加えて、一般には、システム700により、或いは、特に、処理システム705により、実行された際に、本明細書において記述されているように動作するべく、システム700又は処理システム705の1つ又は複数のプロセッサを制御することができる。
[0056] ソフトウェア710は、オペレーティングシステム718と、本明細書において記述されているリアルタイム協働のためのインク存在機能を含むコンテンツ生成アプリケーション720などのアプリケーションプログラムと、を含むことができる。装置オペレーティングシステムは、一般に、演算装置内の様々なコンポーネントの機能を制御及び調整することにより、アプリケーションが、ネットワーキングインターフェイスのような、更に下位レベルのインターフェイスと接続するための、相対的に容易な方法を提供している。オペレーティングシステムは、演算装置上においてネイティブで、且つ、ネイティブ装置オペレーティングシステム(OS:Operating System)上において稼働するソフトウェア仮想化層上において、の両方において、実装されうることに留意されたい。仮想化されたOS層は、図7には、描かれていないが、OS、アプリケーションプログラム、及びAPIをそれぞれが収容する、オペレーティングシステム空間内の、更なる、ネストされたグループとして、見なすことができる。
[0057] ストレージシステム715は、処理システム705によって読取り可能である、且つ、コンテンツ生成アプリケーション720を含むソフトウェア710を保存する能力を有する、任意のコンピュータ可読ストレージ媒体を有することができる。
[0058] ストレージシステム715は、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータなどの、情報の保存のための任意の方法又は技術において実装された、揮発性及び不揮発性のメモリ、着脱自在且つ非着脱自在の媒体を含むことができる。ストレージシステム715のストレージ媒体の例は、ランダムアクセスメモリ、読み出し専用メモリ、磁気ディスク、光ディスク、CD、DVD、フラッシュメモリ、磁気カセット、磁気テープ、磁気ディスクストレージ、又はその他の磁気ストレージ装置、或いは、任意のその他の適切なストレージ媒体を含む。ストレージ媒体は、決して、一時的な伝播信号ではない。
[0059] ストレージシステム715は、単一のストレージ装置として実装することができるが、一緒に配置された、或いは、相互の関係において分散された、複数のストレージ装置又はサブシステムに跨って実装することもできる。ストレージシステム715は、処理システム705と通信する能力を有する、コントローラなどの、更なる要素を含むことができる。
[0060] システムは、ユーザーとシステム700の間の通信を可能にする入出力(I/O:Input/Output)装置及びコンポーネントを含みうるユーザーインターフェイスシステム730を更に含むことができる。ユーザーインターフェイスシステム730は、マウス、トラックパッド、キーボード、ユーザーからタッチジェスチャを受け取るためのタッチ装置、スタイラス又は画面と関連するデジタイザ、ユーザーによる非タッチジェスチャ及びその他のモーションを検出するためのモーション入力装置、発話を検出するためのマイクロフォン、並びに、ユーザー入力を受け取る能力を有するその他のタイプの入力装置及びその関連する処理要素などの、入力装置を含むことができる。
[0061] 又、ユーザーインターフェイスシステム730は、表示画面、スピーカ、触覚フィードバックのための触覚装置、並びに、その他のタイプの出力装置などの、出力装置を含むこともできる。特定のケースにおいては、入力及び出力装置は、画像の描画とタッチジェスチャ及びインキング入力のユーザーからの受け取りの両方を実行する、タッチスクリーンディスプレイなどの、単一の装置内において組み合わせることもできる。(ディスプレイと関連付けられてもよく、或いは、その一部を形成することもできる)タッチスクリーンは、タッチの存在及び場所を検出するように構成された入力装置である。タッチスクリーンは、抵抗性タッチスクリーン、容量性タッチスクリーン、弾性表面波タッチスクリーン、赤外線タッチスクリーン、光学結像タッチスクリーン、分散信号タッチスクリーン、音響パルス認識タッチスクリーンであってもよく、或いは、任意のその他のタッチスクリーン技術を利用することもできる。いくつかの実施形態においては、タッチスクリーンは、ユーザーが1回又は複数回のタッチを使用してディスプレイ上において提示されたオブジェクト又はその他の情報とやり取りすること可能にするべく、透明な層として、ディスプレイの上部に内蔵されている。
[0062] 多数の方法により、視覚的出力をディスプレイ(図示されてはいない)上において描くことにより、グラフィカルユーザーインターフェイス要素、テキスト、画像、ビデオ、通知、仮想ボタン、仮想キーボード、或いは、視覚的形態において描かれる能力を有する任意のその他のタイプの情報を提示することができる。
[0063] 又、ユーザーインターフェイス730は、様々なユーザー入力及び出力装置のサポート下において、OSによって実行される(例えば、グラフィクスチップ及び入力装置用の)ユーザーインターフェイスソフトウェア及び関連するソフトウェアを含むこともできる。関連するソフトウェアは、定義されたメカニズムを使用したアプリケーションプログラムへのユーザーインターフェイスハードウェアイベントの伝達においてOSを支援している。ユーザーインターフェイスソフトウェアを含むユーザーインターフェイスシステム730は、グラフィカルユーザーインターフェイス、ナチュラルユーザーインターフェイス、或いは、任意のその他のタイプのユーザーインターフェイスをサポートすることができる。例えば、本明細書において記述されているコンテンツ生成アプリケーション720用のインク存在を有するキャンバスインターフェイスを、ユーザーインターフェイスシステム730を通じて提示することができる。
[0064] ネットワークインターフェイス740は、1つ又は複数の通信ネットワーク(図示されてはいない)上におけるその他の演算システムとの間の通信を許容する通信接続及び装置を含むことができる。協働してシステム間通信を許容する接続及び装置の例は、ネットワークインターフェイスカード、アンテナ、電力増幅器、RF回路、トランシーバ、及びその他の通信回路を含むことができる。接続及び装置は、その他の演算システム又はシステムのネットワークとの間において通信を交換するべく、(金属、ガラス、空気、又は任意のその他の適切な通信媒体などの)通信媒体上において通信することができる。通信インターフェイスとの間における送信は、OSによって制御されており、この場合に、OSは、必要に応じて、通信イベントについてアプリケーションに通知する。
[0065] コンテンツ生成アプリケーション及び/又は存在マネージャ及び/又はレンダラとの関係において本明細書において記述されている特定の技法は、1つ又は複数のハードウェアプロセッサによって実行される、プログラムモジュールなどの、コンピュータ実行可能な命令の一般的な文脈において記述することができる。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、並びに、特定のタスクを実行する、或いは、特定の抽象的データタイプを実装する、データ構造を含む。
[0066] 或いは、この代わりに、又はこれに加えて、本明細書において記述されている機能、方法、及びプロセスは、少なくとも部分的に、1つ又は複数のハードウェアモジュール(或いは、ロジックコンポーネント)により、実装することができる。例えば、ハードウェアモジュールは、限定を伴うことなしに、用途固有の集積回路(ASIC:Application-Specific Integrated Circuit)チップ、フィールドプログラム可能なゲートアレイ(FPGA:Field Programmable Gate Array)、システムオンチップ(SoC:System-On-a-Chip)システム、複合プログラム可能論理装置(CPLD:Complex Programmable Logic Device)、並びに、現在既知の、或いは、将来開発される、その他のプログラム可能な論理装置を含むことができる。ハードウェアモジュールが起動された際に、ハードウェアモジュールは、ハードウェアモジュール内において含まれている機能、方法、及びプロセスを実行する。
[0067] 実施形態は、コンピュータプログラムプロダクト又はコンピュータ可読媒体などの、コンピュータプロセス、演算システム、或いは、製造物品として、実装することができる。本明細書において記述されている特定の方法及びプロセスは、1つ又は複数のストレージ媒体上において保存しうる、ソフトウェア、コード、及び/又はデータとして実施することができる。本発明の特定の実施形態は、その内部において、実行された際に、命令の組が、システムが上述の方法のうちの任意の1つ又は複数を実行するようにしうる、コンピュータシステムの形態における機械の使用を想定している。特定のコンピュータプログラムプロダクトは、コンピュータシステムによって読取り可能である(且つ、処理システムによって実行可能である)、且つ、コンピュータプロセスを実行するための命令のコンピュータプログラムをエンコードした、1つ又は複数のコンピュータ可読ストレージ媒体であってよい。本明細書において使用されている「ストレージ媒体」、「複数のコンピュータ可読ストレージ媒体」、又は「1つのコンピュータ可読ストレージ媒体」という用語は、決して、一時的な伝播信号から構成されてはいないことを理解されたい。
[0068] 以上においては、主題が、構造的特徴及び/又は行為に固有の言語において記述されているが、添付の請求項において定義されている主題は、そうではない旨が定義されていない限り、或いは、否定されていない限り、必ずしも、上述の特定の特徴又は行為に限定されるものではないことを理解されたい。むしろ、上述の特定の特徴及び行為は、請求項の実装の例として開示されており、且つ、その他の均等な特徴及び行為も請求項の範囲に含まれるものと解釈されたい。

Claims (17)

  1. 演算装置において、少なくとも、インクストロークのインクポイントと、前記インクストロークを共有されたインキングキャンバスに入力しているユーザーのユーザー識別子と、を受け取ることと、
    前記演算装置において、前記ユーザーについて、前記共有されたインキングキャンバス上の存在領域を判定することであって、前記存在領域は、前記ユーザーからのインクストロークのグループを含む前記共有されたインキングキャンバスの部分である、こと
    前記演算装置において、前記インクポイント及び前記存在領域に基づいて、インク存在インジケータの示唆された場所を判定することと、
    前記演算装置において、前記共有されたインキングキャンバスを表示しているグラフィカルユーザーインターフェイス内において、前記インク存在インジケータをレンダリングすることと、
    を有する方法であって、前記ユーザーについて、前記共有されたインキングキャンバス上の前記存在領域を判定することは、
    前記演算装置において、前記ユーザー識別子と関連する任意の既存の存在領域が存在しているかどうかを判定することと、
    既存の存在領域が存在しないと判定された場合に、新しい存在領域を生成することと、
    既存の存在領域が存在していると判定された場合に、演算装置において、前記インクポイントが前記既存の存在領域に関係付けられているかどうかを判定することと、
    前記インクポイントが前記既存の存在領域に関係付けられていると判定された場合に、前記存在領域を前記既存の存在領域として識別することと、
    前記インクポイントが前記既存の存在領域と関連付けられていないと判定された場合に、前記新しい存在領域を生成することと、
    を有する方法
  2. 状態が除去イベントを充足しているという判定に応答して、前記グラフィカルユーザーインターフェイスから前記インク存在インジケータを除去すること、
    を更に有する請求項1に記載の方法。
  3. 前記インクストロークの終了イベントの受け取りに応答して、カウンタを開始することを更に有し、前記状態は、新しいインクポイントが受け取られる前に、前記カウンタが既定の時点に到達した際に、前記除去イベントを充足している請求項2に記載の方法。
  4. 前記状態は、新しいインクポイントが、既定の時間量内において、前記存在領域について受け取られない際に、除去イベントを充足している請求項2に記載の方法。
  5. 任意の既存の存在領域が存在しているかどうかを判定することは、存在インジケータ識別子が特定のユーザー識別子について保存されているかどうかを識別することを含む、請求項に記載の方法。
  6. 任意の既存の存在領域が存在しているかどうかを判定することは、既定の時間量内において、受け取られると共に表示された特定のユーザー識別子と関連する任意のインクポイントが存在しているかどうかを識別することを含む、請求項に記載の方法。
  7. 前記新しい存在領域を生成することは、受け取られたインクポイントの境界ボックスを識別することを含む、請求項に記載の方法。
  8. 前記インクポイントが前記既存の存在領域に関係付けられているかどうかを判定することは、前記インクポイントが、既存の存在領域内の1つ又は複数のインクポイントから、或いは、その既存の存在領域用のインク存在インジケータから、既定の距離内にあるかどうかを判定することを含む、請求項に記載の方法。
  9. 前記インクポイントが前記既存の存在領域に関係付けられているかどうかを判定することは、前記インクポイントが以前のインクポイントと関係付けられているかどうかを判定するためにインク分析を実行することを含み、前記インク分析は、文字、単語、文、段落、又は描画のうちの1つ又は複数を識別する、請求項に記載の方法。
  10. 前記インク存在インジケータの前記示唆された場所の前記判定を実行することは、
    既存の存在領域が存在していないと判定された場合に、前記新しい存在領域の前記インクポイントから特定の既定の距離において前記存在インジケータを更に配置することと、
    前記インクポイントが前記既存の存在領域と関係付けられていると判定された場合に、前記インクポイントが、前記既存の存在領域の前記存在インジケータから既定の距離内にあるかどうかを判定することと、
    前記インクポイントが、前記既定の距離内にあると判定された場合に、前記インク存在インジケータの前記示唆された場所を更新しないことと、
    前記インクポイントが、前記既定の距離内にはないと判定された場合に、前記既存の存在領域の前記インクポイントから前記特定の既定の距離に位置するように、前記インク存在インジケータの前記示唆された場所を更新することと、
    前記インクポイントが前記既存の存在領域に関係付けられてはいないと判定された場合に、前記新しい存在領域の前記インクポイントから前記特定の既定の距離において前記存在インジケータを更に配置することと、
    を有する請求項に記載の方法。
  11. 前記インクポイント及び前記存在領域に基づいて前記インク存在インジケータの前記示唆された場所を判定することは、
    前記インク存在インジケータの前記示唆された場所を前記存在領域の第1の受け取られたインクポイントから特定の既定の距離における場所として提供することと、
    前記インクポイントが、前記インク存在インジケータ又は前記存在領域の前記第1の受け取られたインクポイントの既定の距離内にない際に、前記場所を更新することと、
    を有する請求項1に記載の方法。
  12. 前記インク存在インジケータは、存在アイコンを有し、前記存在アイコンは、ユーザーのプロフィール写真、イニシャル、名前、ランダムに選択されたバックグラウンド色又は画像、ユーザーによって選択された色又は画像、或いは、これらの組合せを有する請求項1に記載の方法。
  13. ディレクトリサービスから前記存在アイコンのユーザー情報を取得することを更に有する請求項12に記載の方法。
  14. コンテンツ生成アプリケーションのインク存在機能を保存したコンピュータ可読ストレージ媒体であって、演算装置によって実行されると、前記演算装置に、
    少なくとも、インクストロークのインクポイントと、前記インクストロークを共有されたインキングキャンバスに入力しているユーザーのユーザー識別子と、を受け取ることと、
    前記ユーザーについて、前記共有されたインキングキャンバス上の存在領域を判定することであって、前記存在領域は、前記ユーザーからのインクストロークのグループを含む前記共有されたインキングキャンバスの部分である、ことと、
    前記インクポイント及び前記存在領域に基づいて、インク存在インジケータの示唆された場所を判定することと、
    前記共有されたインキングキャンバスを表示しているグラフィカルユーザーインターフェイス内において、前記インク存在インジケータをレンダリングすることと、
    を実行させ、前記ユーザーについて、前記共有されたインキングキャンバス上の前記存在領域を判定することは、
    前記ユーザー識別子と関連する任意の既存の存在領域が存在しているかどうかを判定することと、
    既存の存在領域が存在しないと判定された場合に、新しい存在領域を生成することと、
    既存の存在領域が存在していると判定された場合に、前記インクポイントが前記既存の存在領域に関係付けられているかどうかを判定することと、
    前記インクポイントが前記既存の存在領域に関係付けられていると判定された場合に、前記存在領域を前記既存の存在領域として識別することと、
    前記インクポイントが前記既存の存在領域と関連付けられていないと判定された場合に、前記新しい存在領域を生成することと、
    を有する、コンピュータ可読ストレージ媒体
  15. 前記インク存在インジケータの前記示唆された場所の前記判定を実行することは、
    既存の存在領域が存在していないと判定された場合に、前記新しい存在領域の前記インクポイントから特定の既定の距離において前記存在インジケータを更に配置することと、
    前記インクポイントが前記既存の存在領域と関係付けられていると判定された場合に、前記インクポイントが、前記既存の存在領域の前記存在インジケータから既定の距離内にあるかどうかを判定することと、
    前記インクポイントが、前記既定の距離内にあると判定された場合に、前記インク存在インジケータの前記示唆された場所を更新しないことと、
    前記インクポイントが、前記既定の距離内にはないと判定された場合に、前記既存の存在領域の前記インクポイントから前記特定の既定の距離に位置するように、前記インク存在インジケータの前記示唆された場所を更新することと、
    前記インクポイントが前記既存の存在領域に関係付けられてはいないと判定された場合に、前記新しい存在領域の前記インクポイントから前記特定の既定の距離において前記存在インジケータを更に配置することと、
    を有する、請求項14に記載のコンピュータ可読ストレージ媒体。
  16. 1つ又は複数のハードウェアプロセッサと、
    1つ又は複数のストレージ媒体と、
    通信インターフェイスと、
    ディスプレイと、
    前記1つ又は複数のストレージ媒体のうちの少なくとも1つにおいて保存された協働対応型のコンテンツ生成アプリケーションと、
    を有するシステムであって、
    前記コンテンツ生成アプリケーションは、前記1つ又は複数のハードウェアプロセッサによって実行された際に、少なくとも、
    前記通信インターフェイスを介して、少なくとも、インクストロークのインクポイントと、前記インクストロークを共有されたインキングキャンバスに入力しているユーザーのユーザー識別子と、を受け取ることと、
    前記ユーザーについて、前記共有されたインキングキャンバス上の存在領域を判定することであって、前記存在領域は、前記ユーザーからのインクストロークのグループを含む前記共有されたインキングキャンバスの部分である、ことと、
    前記インクポイント及び前記存在領域に基づいて、インク存在インジケータの示唆された場所を判定することと、
    前記ディスプレイに対して、前記共有されたインキングキャンバスを表示しているグラフィカルユーザーインターフェイス内において前記インク存在インジケータをレンダリングすることと、
    を行うように前記1つ又は複数のハードウェアプロセッサを制御し、前記ユーザーについて、前記共有されたインキングキャンバス上の前記存在領域を判定することは、
    前記ユーザー識別子と関連する任意の既存の存在領域が存在しているかどうかを判定することと、
    既存の存在領域が存在しないと判定された場合に、新しい存在領域を生成することと、
    既存の存在領域が存在していると判定された場合に、前記インクポイントが前記既存の存在領域に関係付けられているかどうかを判定することと、
    前記インクポイントが前記既存の存在領域に関係付けられていると判定された場合に、前記存在領域を前記既存の存在領域として識別することと、
    前記インクポイントが前記既存の存在領域と関連付けられていないと判定された場合に、前記新しい存在領域を生成することと、
    を有する、システム。
  17. 前記インク存在インジケータの前記示唆された場所を判定するように前記1つ又は複数のハードウェアプロセッサを制御する前記協働対応型のコンテンツ生成アプリケーションは、少なくとも、
    前記インク存在インジケータの前記示唆された場所を前記存在領域の第1の受け取られたインクポイントから特定の既定の距離における場所として提供し、且つ、
    前記インクポイントが、前記インク存在インジケータ又は前記存在領域の前記第1の受け取られたインクポイントの既定の距離内にない際に、前記場所を更新する、
    ように、前記1つ又は複数のハードウェアプロセッサを制御する請求項16に記載のシステム。
JP2019548673A 2017-04-15 2018-04-05 リアルタイム協働用のライブインク存在 Active JP7140773B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762485936P 2017-04-15 2017-04-15
US62/485,936 2017-04-15
US15/639,490 US10469274B2 (en) 2017-04-15 2017-06-30 Live ink presence for real-time collaboration
US15/639,490 2017-06-30
PCT/US2018/026158 WO2018191092A1 (en) 2017-04-15 2018-04-05 Live ink presence for real-time collaboration

Publications (3)

Publication Number Publication Date
JP2020516983A JP2020516983A (ja) 2020-06-11
JP2020516983A5 JP2020516983A5 (ja) 2021-04-15
JP7140773B2 true JP7140773B2 (ja) 2022-09-21

Family

ID=63791035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019548673A Active JP7140773B2 (ja) 2017-04-15 2018-04-05 リアルタイム協働用のライブインク存在

Country Status (18)

Country Link
US (2) US10469274B2 (ja)
EP (1) EP3610386A1 (ja)
JP (1) JP7140773B2 (ja)
KR (1) KR102702653B1 (ja)
CN (1) CN110506264A (ja)
AU (1) AU2018251560B2 (ja)
BR (1) BR112019019153A2 (ja)
CA (1) CA3056683A1 (ja)
CL (1) CL2019002827A1 (ja)
CO (1) CO2019010950A2 (ja)
IL (1) IL269869B2 (ja)
MX (1) MX2019012313A (ja)
NZ (1) NZ756875A (ja)
PH (1) PH12019550192A1 (ja)
RU (1) RU2768526C2 (ja)
SG (1) SG11201909171WA (ja)
WO (1) WO2018191092A1 (ja)
ZA (1) ZA201905872B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10345957B2 (en) * 2017-06-21 2019-07-09 Microsoft Technology Licensing, Llc Proximity selector
US10867124B2 (en) * 2018-03-26 2020-12-15 Apple Inc. Manual annotations using clustering, anchoring, and transformation
EP3975532A4 (en) * 2019-05-20 2022-10-12 Wacom Co., Ltd. TRAIT DATA PROCESSING SYSTEM AND METHOD
JP2021026562A (ja) 2019-08-06 2021-02-22 シャープ株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
WO2023106606A1 (ko) * 2021-12-06 2023-06-15 삼성전자주식회사 전자 장치들 간의 공동 편집을 지원하는 클라우드 서버 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048217A (ja) 2005-08-12 2007-02-22 Ricoh Co Ltd 手書き情報入力装置
JP2010026701A (ja) 2008-07-17 2010-02-04 Hitachi Software Eng Co Ltd 相互情報共有システム
JP2010507836A (ja) 2006-10-24 2010-03-11 ポリビジョン コーポレーション 移動式プレゼンテーションシステムおよび移動式プレゼンテーションシステムにおいて使用する方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7503493B2 (en) * 1999-10-25 2009-03-17 Silverbrook Research Pty Ltd Method and system for digitizing freehand graphics with user-selected properties
US7298903B2 (en) 2001-06-28 2007-11-20 Microsoft Corporation Method and system for separating text and drawings in digital ink
US6661409B2 (en) * 2001-08-22 2003-12-09 Motorola, Inc. Automatically scrolling handwritten input user interface for personal digital assistants and the like
US7158675B2 (en) 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
US7567239B2 (en) * 2003-06-26 2009-07-28 Motorola, Inc. Method and system for message and note composition on small screen devices
GB2413678B (en) 2004-04-28 2008-04-23 Hewlett Packard Development Co Digital pen and paper
US20060031755A1 (en) * 2004-06-24 2006-02-09 Avaya Technology Corp. Sharing inking during multi-modal communication
US7412389B2 (en) 2005-03-02 2008-08-12 Yang George L Document animation system
US7913162B2 (en) 2005-12-20 2011-03-22 Pitney Bowes Inc. System and method for collaborative annotation using a digital pen
US7996776B2 (en) 2006-02-27 2011-08-09 Microsoft Corporation Shared telepointer
US7698660B2 (en) * 2006-11-13 2010-04-13 Microsoft Corporation Shared space for communicating information
US8702505B2 (en) 2007-03-30 2014-04-22 Uranus International Limited Method, apparatus, system, medium, and signals for supporting game piece movement in a multiple-party communication
US8438489B2 (en) 2008-01-24 2013-05-07 Paulo Barthelmess System and method for document markup
JP4385169B1 (ja) * 2008-11-25 2009-12-16 健治 吉田 手書き入出力システム、手書き入力シート、情報入力システム、情報入力補助シート
US9471192B2 (en) 2011-05-23 2016-10-18 Haworth, Inc. Region dynamics for digital whiteboard
EP2579588B1 (en) * 2011-10-04 2019-12-04 Ricoh Company, Ltd. Collaborative meeting systems that enable parallel multi-user input to mark up screens
US9479548B2 (en) * 2012-05-23 2016-10-25 Haworth, Inc. Collaboration system with whiteboard access to global collaboration data
JP2015533003A (ja) 2012-10-26 2015-11-16 ライブスクライブ インコーポレイテッド スマートペンシステムとの複数ユーザコラボレーション
US9519414B2 (en) * 2012-12-11 2016-12-13 Microsoft Technology Licensing Llc Smart whiteboard interactions
US20150116283A1 (en) 2013-10-24 2015-04-30 Livescribe Inc. Paper Strip Presentation Of Grouped Content
KR102255049B1 (ko) * 2013-11-19 2021-05-25 가부시키가이샤 와코무 잉크 데이터의 생성, 잉크 데이터의 렌더링, 잉크 데이터의 조작, 및 잉크 데이터의 전달을 위한 방법 및 시스템
US10275050B2 (en) * 2014-05-23 2019-04-30 Microsoft Technology Licensing, Llc Ink for a shared interactive space
CN105653510A (zh) * 2015-12-28 2016-06-08 智慧方舟科技有限公司 一种电子化作业的批改方法、装置和系统
US10229518B2 (en) * 2017-04-10 2019-03-12 Prysm, Inc. Drag to undo/redo a digital ink canvas using a visible history palette
US20180300302A1 (en) 2017-04-15 2018-10-18 Microsoft Technology Licensing, Llc Real-Time Collaboration Live Ink

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048217A (ja) 2005-08-12 2007-02-22 Ricoh Co Ltd 手書き情報入力装置
JP2010507836A (ja) 2006-10-24 2010-03-11 ポリビジョン コーポレーション 移動式プレゼンテーションシステムおよび移動式プレゼンテーションシステムにおいて使用する方法
JP2010026701A (ja) 2008-07-17 2010-02-04 Hitachi Software Eng Co Ltd 相互情報共有システム

Also Published As

Publication number Publication date
PH12019550192A1 (en) 2020-07-06
RU2768526C2 (ru) 2022-03-24
JP2020516983A (ja) 2020-06-11
WO2018191092A1 (en) 2018-10-18
AU2018251560B2 (en) 2022-04-07
CN110506264A (zh) 2019-11-26
KR20190138798A (ko) 2019-12-16
RU2019136513A3 (ja) 2021-09-17
US10469274B2 (en) 2019-11-05
IL269869B2 (en) 2023-09-01
CL2019002827A1 (es) 2020-03-06
NZ756875A (en) 2024-02-23
KR102702653B1 (ko) 2024-09-03
ZA201905872B (en) 2020-11-25
IL269869B1 (en) 2023-05-01
EP3610386A1 (en) 2020-02-19
US20180302232A1 (en) 2018-10-18
BR112019019153A2 (pt) 2020-04-14
AU2018251560A1 (en) 2019-09-26
RU2019136513A (ru) 2021-05-17
MX2019012313A (es) 2020-01-27
US20190372790A1 (en) 2019-12-05
CO2019010950A2 (es) 2019-10-21
US10855481B2 (en) 2020-12-01
IL269869A (ja) 2019-11-28
SG11201909171WA (en) 2019-10-30
CA3056683A1 (en) 2018-10-18

Similar Documents

Publication Publication Date Title
JP7140773B2 (ja) リアルタイム協働用のライブインク存在
US12106441B2 (en) Rendering 3D captions within real-world environments
CN111339032B (zh) 管理具有多页面的文件夹的设备、方法和图形用户界面
US10205873B2 (en) Electronic device and method for controlling a touch screen of the electronic device
US20170116967A1 (en) Cursor-driven interface for layer control
JP2017523515A (ja) アイコンサイズ変更
CN109725724B (zh) 有屏设备的手势控制方法和装置
WO2019105191A1 (zh) 多元素交互方法、装置、设备和存储介质
US10691880B2 (en) Ink in an electronic document
CN113268212A (zh) 投屏方法、装置、存储介质及电子设备
US9830056B1 (en) Indicating relationships between windows on a computing device
JP2017211494A (ja) 画像処理装置、画像処理システム、画像処理方法及びプログラム
CN112948049B (zh) 多内容并行显示的方法、装置、终端及存储介质
US10970476B2 (en) Augmenting digital ink strokes
JP6311425B2 (ja) 表示制御プログラム、表示制御装置及び表示制御方法
CN108885556B (zh) 控制数字输入
CN115373558A (zh) 投屏方法、装置、设备及存储介质
EP3612921A1 (en) Enhanced inking capabilities for content creation applications
US11269418B2 (en) Proximity selector
CN115700450A (zh) 白板应用的控制方法、装置及智能交互平板

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210304

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220413

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220908

R150 Certificate of patent or registration of utility model

Ref document number: 7140773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150