(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-15
(45)【発行日】2024-03-26
(54)【発明の名称】モバイルデバイスを使用した共有ディスプレイの注釈システム
(51)【国際特許分類】
G06F 3/0346 20130101AFI20240318BHJP
G06F 3/0481 20220101ALI20240318BHJP
G06F 3/038 20130101ALI20240318BHJP
H04N 21/435 20110101ALI20240318BHJP
H04N 21/436 20110101ALI20240318BHJP
【FI】
G06F3/0346 425
G06F3/0481
G06F3/038 310
H04N21/435
H04N21/436
(21)【出願番号】P 2020567133
(86)(22)【出願日】2019-06-01
(86)【国際出願番号】 US2019035095
(87)【国際公開番号】W WO2019232502
(87)【国際公開日】2019-12-05
【審査請求日】2022-05-30
(32)【優先日】2018-06-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515233498
【氏名又は名称】マーシブ テクノロジーズ,インコーポレイティド
(74)【代理人】
【識別番号】100118500
【氏名又は名称】廣澤 哲也
(74)【代理人】
【氏名又は名称】渡邉 勇
(74)【代理人】
【識別番号】100174089
【氏名又は名称】郷戸 学
(74)【代理人】
【識別番号】100186749
【氏名又は名称】金沢 充博
(72)【発明者】
【氏名】ジェインズ、クリストファー オー.
(72)【発明者】
【氏名】バルグレイ、ロバート
(72)【発明者】
【氏名】トリバー、マイケル
(72)【発明者】
【氏名】シュレイダー、ジョシュア
(72)【発明者】
【氏名】ヤーケス、コリーン
(72)【発明者】
【氏名】バーニー、マーカス ウィリアム ロバート
(72)【発明者】
【氏名】ケラー、ヴィンセント
(72)【発明者】
【氏名】フェラーリ、ヴィンセント
(72)【発明者】
【氏名】バロン、ブランドン
【審査官】塩屋 雅弘
(56)【参考文献】
【文献】特開2014-103451(JP,A)
【文献】特開2014-086997(JP,A)
【文献】特開2013-050846(JP,A)
【文献】国際公開第2016/157783(WO,A1)
【文献】国際公開第2015/104884(WO,A1)
【文献】特開平07-121698(JP,A)
【文献】特開平10-108154(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0346
G06F 3/0481
G06F 3/038
H04N 21/435
H04N 21/436
(57)【特許請求の範囲】
【請求項1】
共有ディスプレイに注釈を付与するためのシステムであって、
前記共有ディスプレイと連結され、プロセッサ、およびホスト注釈
ソフトウェアを格納するメモリを含むホストデバイスを備え、
前記ホスト注釈
ソフトウェアは、前記プロセッサによって実行されたときに、
ホストIDを前記共有ディスプレイ上に表示するために該共有ディスプレイに送信し、
表示
するコンテンツを前記共有ディスプレイ上に表示するために該共有ディスプレイに送信し、
モバイルデバイスから受信した登録入力がホストIDと一致するとの決定に応じて、前記ホストデバイスを前記モバイルデバイスに無線で接続し、
前記モバイルデバイスとのユーザのやり取りを介して生成された開始指示の受信に応答して、前記モバイルデバイスから受信したクライアント注釈出力に基づいて、表示されたコンテンツの注釈を配置するように動作し、前記クライアント注釈出力は前記モバイルデバイスの位置センサからのセンサデータに基づいており、
前記表示されたコンテンツの注釈の配置は、所定の変更子に基づいて前記クライアント注釈出力を変更することを含み、前記所定の変更子は、前記クライアント注釈出力に基づいた複数の制御ジョイントに対する多項式曲線またはスプライン曲線の適合である、システム。
【請求項2】
前記位置センサは、前記モバイルデバイスのジャイロスコープおよび加速度計である、請求項1に記載のシステム。
【請求項3】
前記ホスト注釈ソフトウェアは、前記モバイルデバイスから共有コンテンツを受信するようにさらに構成され、前記注釈は、前記共有コンテンツ上の注釈である、請求項1に記載のシステム。
【請求項4】
前記表示されたコンテンツの注釈の前記配置は、事前設定された注釈の初期開始点において前記共有ディスプレイ上で前記注釈を開始することを含む、請求項1に記載のシステム。
【請求項5】
前記注釈の前記配置は、前記センサデータがセンサしきい値を超えたことを前記クライアント注釈出力が反映しているときに、前記注釈を前記初期開始点にリセットすることを含む、請求項4に記載のシステム。
【請求項6】
前記注釈の初期開始点は、前記共有ディスプレイの中心である、請求項4に記載のシステム。
【請求項7】
前記表示されたコンテンツの注釈は、前記表示されたコンテンツに重ね合わせられる注釈コンテンツ、および前記モバイルデバイスのユーザを表すクライアントIDを含む、請求項1に記載のシステム。
【請求項8】
前記表示されたコンテンツの注釈の前記配置は、前記クライアント注釈出力が前記表示されたコンテンツの注釈を画面外に移動することを指示するときに、前記共有ディスプレイの端に前記注釈を表示することを含む、請求項1に記載のシステム。
【請求項9】
前記表示されたコンテンツの注釈の前記配置は、前記クライアント注釈出力がアニメーション指示を含むときに、前記表示されたコンテンツの注釈をアニメーション化することを含む、請求項1に記載のシステム。
【請求項10】
前記クライアント注釈出力に基づく前記複数の制御ジョイントが所定の適合しきい値内で形状に適合するときは、前記所定の変更子は、前記複数の制御ジョイントに対する形状適合であり、または前記クライアント注釈出力に基づく前記複数の制御ジョイントが前記所定の適合しきい値内で前記形状に適合しないときは、前記所定の変更子は、前記複数の制御ジョイントに対するパラメータ化された曲線またはスプラインの適合である、請求項1に記載のシステム。
【請求項11】
前記表示されたコンテンツの注釈の前記配置は、事前設定された注釈タイマーに基づいて前記共有ディスプレイから前記表示された注釈を削除することを含む、請求項1に記載のシステム。
【請求項12】
前記事前設定された注釈タイマーは、前記共有ディスプレイ上の前記表示されたコンテンツの注釈
を前記共有ディスプレイ上に保持する期間の最大長を規定する時計式タイマーである、請求項11に記載のシステム。
【請求項13】
前記注釈タイマーは、前記クライアント注釈出力に含まれる
前記モバイルデバイスの並進
情報によって定まる、前記表示されたコンテンツの注釈の速度に基づいている、請求項11に記載のシステム。
【請求項14】
前記ホスト注釈
ソフトウェアは、前記表示されたコンテンツ上の過去の注釈を示す注釈履歴を保存するようにさらに動作する、請求項1に記載のシステム。
【請求項15】
前記ホスト注釈
ソフトウェアは、前記注釈履歴を外部デバイスに送信するようにさらに動作する、請求項14に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2018年6月2日に出願された米国特許出願第15/996,455号に対する優先権の利益を主張し、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
従来の注釈システムおよびホワイトボードシステムは、プレゼンテーションするユーザが部屋の正面に立ち、ディスプレイを直接操作して、ディスプレイ自体にマークアップおよび描画する、単一のユーザによってプレゼンテーションを行う場合のために設計されてきた。他の注釈システムでは、ユーザは、タッチディスプレイ上でデジタルペンまたはユーザの指を使用して、現れているコンテンツの上にデジタルディスプレイの表面に触れることで描画することができる。ユーザのタッチポイントは、対応する描画イベントが発生するディスプレイ上のポイントを直接示す。例えば、ユーザがポイント(x,y)1に触れ、指をポイント(x,y)2にドラッグすると、注釈システムはディスプレイ上のこれら2つのピクセル位置の間に線を引くことができる。この手法は、ディスプレイを同時に操作している複数のユーザをサポートするように拡張されている。
【0003】
このモデルの代替案は、ユーザが自身のデバイス上で、疑似ディスプレイの操作を可能にすることによって導入されてきた。ユーザはその場に留まってローカルディスプレイに描画し、それらの注釈を部屋のディスプレイに移動させてグループで見ることができる。
【発明の概要】
【0004】
以下の概要は、本明細書に開示される実施形態のいくつかの態様を提供することを意図している。態様の一実施形態での特徴、ならびにこの概要の他の態様、ならびに開示されているがこの概要の所与の態様に記載されていない特徴は、当業者によって理解されるように、任意の方法で組み合わせることができる。そのため、以下の概要は範囲を限定するものではないが、例として列挙されている。
【0005】
第1の態様では、共有ディスプレイに注釈を付与するためのシステムは、プロセッサ、位置センサ、およびクライアント注釈命令を有するモバイルデバイスを備えている。このクライアント注釈命令は、前記プロセッサによって実行されると、共有ディスプレイに接続されたホストデバイスに前記モバイルデバイスを登録し、ユーザの前記モバイルデバイスとのやり取りによって生成された開始指示に応答して、前記モバイルデバイスの前記位置センサからキャプチャされたセンサデータを使用して、共有ディスプレイに表示されたコンテンツの注釈を配置するように動作する。
【0006】
第1の態様の一実施形態では、前記位置センサは、前記モバイルデバイスのジャイロスコープおよび加速度計を含む。
【0007】
第1の態様の一実施形態では、前記クライアント注釈ソフトウェアは、共有コンテンツを前記モバイルデバイスから前記ホストデバイスに送信するようにさらに構成され、前記注釈は、前記共有コンテンツ上の注釈である。
【0008】
第1の態様の一実施形態では、前記モバイルデバイスの前記ホストデバイスへの前記登録は、登録入力を受信するために、前記モバイルデバイスの入力デバイスを介してユーザとやり取りすること、前記登録入力を前記ホストデバイスに送信すること、および前記登録入力がホストIDと一致する場合、前記ホストデバイスと前記モバイルデバイス間の接続を確立することを含む。
【0009】
第1の態様の一実施形態では、前記ホストIDが共有ディスプレイに表示される。
【0010】
第1の態様の一実施形態では、前記表示されたコンテンツの注釈の配置は、複数の時間測定点における前記センサデータを監視すること、および共有ディスプレイ上の注釈の意図された動作を定義する一連の(x,y)画面座標を生成することを含む。
【0011】
第1の態様の一実施形態では、前記表示されたコンテンツの注釈の配置は、複数の時間測定点における前記センサデータを監視すること、前記センサデータに基づいてチルト、ヨー、ロール情報を生成すること、および前記チルト、ヨー、ロール情報をクライアント注釈出力として前記ホストデバイスに送信することを含む。
【0012】
第1の態様の一実施形態では、前記監視センサデータは、前記複数の時間測定点のうちの少なくとも2つの間で並進情報を生成し、前記並進情報を前記クライアント注釈出力として出力することをさらに含む。
【0013】
第1の態様の一実施形態では、前記クライアント注釈命令は、クライアント入力データを受信するようにさらに動作し、前記クライアント入力データに基づいて前記クライアント注釈出力を出力する。
【0014】
第1の態様の一実施形態では、前記クライアント入力データは、前記ホストデバイスと連結された共有ディスプレイに表示される注釈の色、サイズ、形状、およびテキストのうちの1つまたは複数を含む。
【0015】
第1の態様の一実施形態では、前記クライアント入力データは、前記共有ディスプレイ上の注釈をアニメーション化することを指示する、前記モバイルデバイスで受信されたアニメーション指示を含む。
【0016】
第1の態様の一実施形態では、前記開始指示は、前記ユーザによって前記入力デバイス上のボタンを押すことを含む。
【0017】
第1の態様の一実施形態では、前記開始指示は、加速度計データを介して検出された、前記ユーザによるモバイルデバイスピックアップ動作の検出を含む。
【0018】
第1の態様の一実施形態では、前記クライアント注釈命令は、停止指示を受信し、前記開始指示に応答した前記注釈の前記配置を終了するようにさらに動作する。
【0019】
第1の態様の一実施形態では、前記停止指示は、前記ユーザによって前記入力デバイス上のボタンを押すことを含む。
【0020】
第1の態様の一実施形態では、前記停止指示は、前記加速度計データを介した前記ユーザによる電話を置く動作の検出を含む。
【0021】
第1の態様の一実施形態では、前記注釈の前記配置は、複数の時間測定点における前記センサデータを監視すること、前記センサデータに基づいて、意図された注釈の複数の制御ジョイントを識別すること、パラメータ化された関数を前記複数の制御ジョイントに適合させて、パラメータ化された曲線を決定すること、および前記パラメータ化された曲線をクライアント注釈出力としてホストデバイスに送信することを含む。
【0022】
第1の態様の一実施形態では、前記パラメータ化された曲線は、多項式曲線またはスプライン曲線である。
【0023】
第1の態様の一実施形態では、前記注釈の前記配置は、パラメータ化された関数の前記適合中に、前記複数の制御ジョイントまたは前記パラメータ化された曲線に形状を適合させること、および前記形状が予め定められた適合しきい値内に収まる場合、前記パラメータ化された曲線の代わりに前記形状を前記ホストデバイスに送信することをさらに含む。
【0024】
第1の態様の一実施形態では、前記クライアント注釈命令は、前記センサデータがセンサしきい値を超えたときに、前記共有ディスプレイ上の前記注釈をリセットすることを指示するクライアント注釈出力を生成する。
【0025】
第2の態様では、共有ディスプレイに注釈を付与するためのシステムは、前記共有ディスプレイと連結され、プロセッサ、およびホスト注釈命令を格納するメモリを含むホストデバイスを備え、前記ホスト注釈命令は、前記プロセッサによって実行されたときに、ホストIDを前記共有ディスプレイ上に表示するために該共有ディスプレイに送信し、表示されたコンテンツを前記共有ディスプレイ上に表示するために該共有ディスプレイに送信し、前記クライアントデバイスから受信した登録入力がホストIDと一致するとの決定に応じて、前記ホストデバイスをモバイルデバイスに無線で接続し、前記モバイルデバイスとのユーザのやり取りを介して生成された開始指示の受信に応答して、前記モバイルデバイスから受信したクライアント注釈出力に基づいて、表示されたコンテンツの注釈を配置するように動作し、前記クライアント注釈出力は前記モバイルデバイスの位置センサからのセンサデータに基づいている。
【0026】
第2の態様の一実施形態では、前記位置センサは、前記モバイルデバイスのジャイロスコープおよび加速度計を含む。
【0027】
第2の態様の一実施形態では、前記ホスト注釈ソフトウェアは、前記モバイルデバイスから共有コンテンツを受信するようにさらに構成され、前記注釈は、前記共有コンテンツ上の注釈である。
【0028】
第2の態様の一実施形態では、前記表示されたコンテンツの注釈の前記配置は、事前設定された注釈の初期開始点において前記共有ディスプレイ上で前記注釈を開始することを含む。
【0029】
第2の態様の一実施形態では、前記注釈の前記配置は、前記センサデータが前記センサしきい値を超えたことを前記クライアント注釈出力が反映しているときに、前記注釈を前記初期開始点にリセットすることを含む。
【0030】
第2の態様の一実施形態では、前記注釈の初期開始点は、前記共有ディスプレイの中心である。
【0031】
第2の態様の一実施形態では、前記表示されたコンテンツの注釈は、前記表示されたコンテンツに重ね合わされる注釈コンテンツ、および前記モバイルデバイスのユーザを表すクライアントIDを含む。
【0032】
第2の態様の一実施形態では、前記表示されたコンテンツの注釈の前記配置は、前記クライアント注釈出力が前記表示されたコンテンツの注釈を画面外に移動することを指示するときに、前記共有ディスプレイの端に前記注釈を表示することを含む。
【0033】
第2の態様の一実施形態では、前記表示されたコンテンツの注釈の前記配置は、前記クライアント注釈出力がアニメーション化指示を含む場合、前記表示されたコンテンツの注釈をアニメーション化することを含む。
【0034】
第2の態様の一実施形態では、前記表示されたコンテンツの注釈の前記配置は、所定の変更子に基づいて前記クライアント注釈データを変更することを含む。
【0035】
第2の態様の一実施形態では、前記所定の変更子は、前記クライアント注釈出力に基づいた複数の制御ジョイントに対するパラメータ化された曲線の適合である。
【0036】
第2の態様の一実施形態では、前記パラメータ化された曲線は、多項式曲線またはスプライン曲線である。
【0037】
第2の態様の一実施形態では、前記クライアント注釈出力に基づく複数の制御ジョイントが所定の適合しきい値内で形状に適合するときは、前記所定の変更子は、前記制御ジョイントに対する形状適合であり、または前記クライアント注釈出力に基づく前記制御ジョイントが前記所定の適合しきい値内で前記形状に適合しないときは、前記所定の変更子は、前記複数の制御ジョイントに対するパラメータ化された曲線またはスプラインの適合である。
【0038】
第2の態様の一実施形態では、前記表示されたコンテンツの注釈の前記配置は、事前設定された注釈タイマーに基づいて、前記共有ディスプレイから前記表示された注釈を削除することを含む。
【0039】
第2の態様の一実施形態では、前記事前設定された注釈タイマーは、時計式タイマーである。
【0040】
第2の態様の一実施形態では、前記注釈タイマーは、前記共有ディスプレイ上の前記表示されたコンテンツの注釈の最大長を規定する。
【0041】
第2の態様の一実施形態では、前記注釈タイマーは、前記クライアント注釈データに含まれる並進によって定まる、前記表示されたコンテンツの注釈の速度に基づいている。
【0042】
第2の態様の一実施形態では、前記ホスト注釈命令は、前記表示されたコンテンツ上の過去の注釈を示す注釈履歴を保存するようにさらに動作する。
【0043】
第2の態様の一実施形態では、前記ホスト注釈命令は、前記注釈履歴を外部デバイスに送信するようにさらに動作する。
【0044】
第3の態様では、ホストデバイスと連結された共有ディスプレイに注釈を付与するための方法は、モバイルデバイスを前記ホストデバイスに登録する工程と、ユーザの前記モバイルデバイスとのやり取りを介して生成された開始指示に応答して、前記モバイルデバイスと前記ホストデバイス間で送信されたクライアント注釈出力に基づいて、前記共有ディスプレイ上に表示されたコンテンツの注釈を配置する工程を含み、前記クライアント注釈出力は、位置センサを介して前記モバイルデバイスでキャプチャされ、前記ホストデバイスに送信されたセンサデータを含む。
【0045】
第3の態様の一実施形態では、前記位置センサは、ジャイロスコープおよび加速度計である。
【0046】
第3の態様の一実施形態では、前記方法は、前記モバイルデバイスと前記ホストデバイスとの間で共有コンテンツを送信する工程をさらに含み、前記注釈の配置は、前記共有コンテンツ上に前記注釈を配置することを含む。
【0047】
第3の態様の一実施形態では、前記モバイルデバイスを前記ホストデバイスに登録する前記工程は、前記モバイルデバイスで登録入力を受信する工程と、前記登録入力を前記ホストデバイスに送信する工程と、前記登録入力を、前記ホストデバイスに保存されたホストIDと比較する工程と、前記登録入力が前記ホストIDと一致するときに、前記ホストデバイスと前記モバイルデバイスを無線で接続する工程を含む。
【0048】
第3の態様の一実施形態では、前記クライアント注釈出力は、前記位置センサに基づいて生成されたチルトデータ、ヨーデータ、およびロールデータを含む。
【0049】
第3の態様の一実施形態では、前記クライアント注釈出力は、前記センサデータの時系列測定点のそれぞれによって定められた2つ以上の制御ジョイント間の並進データを含む。
【0050】
第3の態様の一実施形態では、前記クライアント注釈出力は、クライアント入力データを含む。
【0051】
第3の態様の一実施形態では、前記クライアント入力データは、前記ホストデバイスと連結された共有ディスプレイに表示される注釈の色、サイズ、形状、およびテキストを含む。
【0052】
第3の態様の一実施形態では、前記クライアント入力データは、前記共有ディスプレイ上の前記注釈をアニメーション化することを指示する、前記モバイルデバイスで受信されたアニメーション化指示を含む。
【0053】
第3の態様の一実施形態では、前記注釈の配置は、所定の変更子に従って前記クライアント注釈出力を変更することをさらに含む。
【0054】
第3の態様の一実施形態では、前記クライアント注釈出力に基づく複数の制御ジョイントが所定の適合しきい値内で形状に適合するときは、前記所定の変更子は、前記制御ジョイントに対する形状適合であり、または前記クライアント注釈出力に基づく前記制御ジョイントが前記所定の適合しきい値内で前記形状に適合しないときは、前記所定の変更子は、前記複数の制御ジョイントに対するパラメータ化された曲線またはスプラインの適合である。
【0055】
第3の態様の一実施形態では、前記所定の変更子は、前記クライアント注釈出力に基づいた複数の制御ジョイントに対するパラメータ化された曲線の適合である。
【0056】
第3の態様の一実施形態では、前記所定の変更子は、前記モバイルデバイスで適用されている。
【0057】
第3の態様の一実施形態では、前記所定の変更子は、前記ホストデバイスで適用されている。
【0058】
第3の態様の一実施形態では、前記配置は、前記モバイルデバイスで受信された停止指示に応答して終了する。
【0059】
第3の態様の一実施形態では、前記配置は、データキャプチャ停止遅延が経過していない場合、停止指示の後に前記センサデータをキャプチャし続けることを含む。
【0060】
第3の態様の一実施形態では、前記配置は、前記クライアント注釈出力が前記注釈を前記共有ディスプレイから外れるように移動することを指示している場合、前記共有ディスプレイの端に前記注釈を配置することを含む。
【0061】
第3の態様の一実施形態では、前記表示されたコンテンツの注釈の前記配置は、事前設定された注釈タイマーに基づいて、前記共有ディスプレイから前記表示された注釈を削除することを含む。
【0062】
第3の態様の一実施形態では、前記事前設定された注釈タイマーは、時計式タイマーである。
【0063】
第3の態様の一実施形態では、前記注釈タイマーは、前記共有ディスプレイ上の前記注釈の最大長を規定する。
【0064】
第3の態様の一実施形態では、前記注釈タイマーは、前記クライアント注釈出力に含まれる並進によって定まる前記注釈の速度に基づいている。
【0065】
第3の態様の一実施形態では、前記方法は、前記共有ディスプレイ上の過去の注釈を示す注釈履歴を保存することをさらに含む。
【0066】
第3の態様の一実施形態では、前記方法は、前記注釈履歴を前記ホストデバイスの外部のデバイスに送信することをさらに含む。
【図面の簡単な説明】
【0067】
本開示の前述および他の特徴および利点は、添付の図面に示されているように、実施形態のより具体的な説明から明らかであり、同一の参照文字は、異なる図全体にわたって同じ部分を指している。図面は必ずしも原寸に比例しておらず、代わりに本開示の原理を説明することに重点が置かれている。
【0068】
【
図1】
図1は、実施形態における共有ディスプレイに注釈を付与するための例示的なシステムを示す。
【0069】
【0070】
【0071】
【
図4】
図4は、実施形態における、12個の時間測定点のそれぞれにおける複数の制御ジョイントを示す。
【0072】
【
図5】
図5は、実施形態における、所定の変更子の適用後の例示的なクライアント注釈出力を示す。
【0073】
【
図6】
図6は、複数の制御ジョイントに対する形状(楕円形)適合の形式で出力されるクライアント注釈の一例を示す。
【0074】
【
図7A】
図7Aは、開始指示を示す画面上の仮想ボタンを「上にスワイプ」する様子を示す。
【
図7B】
図7Bは、開始指示を示す画面上の仮想ボタンを「上にスワイプ」する様子を示す。
【0075】
【
図8】
図8は、実施形態における、モバイルデバイスを使用して共有ディスプレイに注釈を付与するための方法を説明するフローチャートである。
【0076】
【
図9】
図9は、実施形態において、モバイルデバイスをホストデバイスに登録するための方法の一例を示す。
【0077】
【
図10】
図10は、一実施形態では、表示されたコンテンツの注釈を共有ディスプレイ上に配置するための方法の一例を示す。
【発明を実施するための形態】
【0078】
従来の注釈付与の手法の重大な欠点は、コンテンツに注釈を付与したり、新しいマークアップを作成したり、描画したりするために、ユーザがディスプレイに手の届く範囲にいる必要があることである。この制限は、プレゼンテーション指向の環境では、プレゼンテーションを行うユーザが既に部屋の先頭に位置している場合においては、些細なことのように思われるかもしれない。しかしながら、共同作業を行う場面では、頻繁に、即興的に、かつオンデマンドでのやり取りが必要になることがあり、この制限は、効率的な共同作業を大幅に妨げることとなる。まだディスプレイの手の届かないところにいるユーザは、ディスプレイに近づくための手間、時間、およびエネルギーがさらに加わることによってやり取りを躊躇してしまう。さらに、この方法では、特定のユーザがディスプレイを操作するために「ステージに立つ」必要があるときに、グループの共同作業の性質を変える可能性がある。
【0079】
さらに、ユーザが自身のデバイス上で疑似ディスプレイとやり取りすることを可能にする手法もまた、重大な欠点がある。まず、ユーザのデバイスは通常、部屋のディスプレイよりもはるかに小さいため、マークを付加することが可能な対応領域を、直接やり取りするモデルと同様に忠実に編集することはできない。例えば、画素の解像度がユーザのデバイスの5倍であるディスプレイについて検討する。ユーザがディスプレイ上の小さな特徴(サイズS)を丸で囲みたい場合に、対応する丸をユーザのデバイス上で5分の1小さく描くことは難しいことがある。さらに、ユーザが自身のデバイスの仮想表示面に注釈を付与してディスプレイに送信することを余儀なくされると、上述した自然で直感的な、直接やり取りするモデルの利点のいくつかが失われる。例えば、各ユーザが自身のデバイスの作業領域を単純に拡張して注釈を表示できる場合、誰が注釈を付与しているかを共同編集者が知ることは困難である。
【0080】
本明細書に記載のシステムおよび方法は、モバイルデバイスを使用してディスプレイとやり取りする、1人または複数のユーザをサポートするデジタル注釈の新しい手法を導入することによって、上記の欠点を解決する。これらのシステムおよび方法は、少なくともいくつかの実施形態では、ユーザが共有ディスプレイを使用して作業しており、リアルタイムでディスプレイにマークアップおよび注釈を付与する必要がある環境をサポートする。
【0081】
例えば、ユーザのグループは、ラップトップコンピュータから共有ディスプレイでプレゼンテーションを見るために集まることができる。プレゼンテーションの途中で、1人または複数のユーザが、聞き手に向けて強調するためにプレゼンテーションの一部を丸で囲みたい場合がある。同時に、聞き手のメンバーは、スライドの領域を指して強調表示し、自身が混乱する可能性のあるプレゼンテーションの領域を強調表示したい場合がある。本明細書に記載の実施形態は、聞き手のメンバーがラップトップコンピュータと直接やり取りすることを必要とせず、聞き手のメンバー(「ユーザ」とも呼ばれる)のデバイスに第2の仮想表示面を導入しない新しい手法を開示する。代わりに、ユーザはデバイスを共有ディスプレイに向け、ジェスチャーやその他の開始動作を通じて、ディスプレイに注釈を付与することができる。この方法によれば、ユーザが部屋のどこからでもオンデマンドでやり取りでき、多数のユーザに対応できるため、より共同作業に適しており、参加者は、ユーザがグループの前でジェスチャーをしているため、誰が注釈を付与しているかを確認することができる。
【0082】
さらに、現在のシステムは、部屋のディスプレイの周りに配置された赤外線センサに関して追跡される赤外線エミッタを備えたデバイスなどの特殊なハードウェアを必要としない。代わりに、本明細書に記載のシステムと方法は、社会におけるモバイルデバイスのユビキタスな性質を利用している。本明細書に記載のシステムおよび方法は、特定のユーザによって既に所有されているデバイス(つまり彼らのモバイルデバイス)を利用しており、このデバイスは、最初に共有ディスプレイに接続してデバイス自体を識別させなければならない。このようにして、任意の数のデバイスは同時に注釈を付与することができ、注釈のマーキングをさまざまなユーザに簡単に関連付けることができる。これはまた、追加のハードウェアが必要ないことも意味する。
【0083】
図1は、実施形態における、共有ディスプレイ102に注釈を付与するための例示的なシステム100を示す。
図2は、
図1に示すモバイルデバイス104の詳細を示す。
図3は、
図1に示すホストデバイス106の詳細を示す。
図1乃至
図3は、以下の説明を最もよく表している。
【0084】
共有ディスプレイ102は、ホストデバイス106と有線通信または無線通信している。共有ディスプレイ102は、コンテンツ108を表示する。コンテンツ108は、ホストデバイス106によって、または、例えば接続されたコンピュータ(ラップトップコンピュータ、デスクトップコンピュータなど)などの共有ディスプレイと連結された他のデバイスによって供給され得る。ユーザ110は、モバイルデバイス104を介して、以下で説明するプロセスによって、自身のモバイルデバイス104をホストデバイス106に登録し、その後、モバイルデバイス104の自由な動作に基づいて注釈112を配置することができる。実施形態では、注釈112は仮想ドットであり、この仮想ドットはモバイルデバイス104が共有ディスプレイ102に関してレーザーポインタとして機能するものである。他の注釈は、本明細書の範囲から逸脱することなく使用することができる。
【0085】
図1に示される実施形態では、第1のユーザ110(1)は、自身のモバイルデバイス104(1)を使用して、共有ディスプレイ102上に注釈112(1)を配置する。第2のユーザ110(2)は、自身のモバイルデバイス104(2)を使用して、共有ディスプレイ102上に注釈112(2)を配置する。注釈112(1)および112(2)は、それぞれのユーザ110のモバイルデバイス104の動作によって定まる任意の形状を有してもよい。任意の数のモバイルデバイス104は、ホストデバイス106に連結されてもよい。
【0086】
図2に示されるように、モバイルデバイス104は、プロセッサ202、通信インターフェース204、入力デバイス206、ディスプレイ208、センサグループ210、およびメモリ212を含む。モバイルデバイス104は、スマートフォン、タブレット、ラップトップコンピュータなどのうちの任意の1つまたは複数であってもよい。実施形態では、モバイルデバイス104は、「マルチユーザ制御および共有ディスプレイへのメディアストリーミングのためのシステムおよび方法」と題された米国特許出願公開第2014/0240445A1号に記載された1つまたは複数のクライアントデバイスとしてもよく、その全体が参照により本明細書に組み込まれる。
【0087】
プロセッサ202は、コンピュータ読み取り可能命令を実行することができるマイクロプロセッサまたは任意の他のデバイスであってもよい。例えば、多くのスマートフォンは中央処理装置としてARMプロセッサを使用している。
【0088】
通信インターフェース204は、例えば、セルラー(2G、3G、4G、5G、LTE、Bluetooth(登録商標)、Bluetooth Low Energy(登録商標)、Wi-Fi(登録商標)など)などの無線通信プロトコルを実装するハードウェア(例えば、無線データチップセットなど)および関連するファームウェアであり得る。
【0089】
入力デバイス206は、モバイルデバイス104への入力を受信するためにユーザ110とやり取りするように構成された、またはそのようなやり取りが可能な任意のデバイスである。実施形態では、入力デバイス206はディスプレイ208の一部であり、例えば、ディスプレイ208はタッチスクリーンなどである。
【0090】
センサグループ210は、モバイルデバイス104の向きおよび他の位置情報を決定するように構成された位置センサを含み得る。例えば、センサグループ210は、加速度計210、ジャイロスコープ216、および磁力計218のうちの1つまたは複数を含んでいてもよい。加速度計210は、モバイルデバイス104の方向の変化を測定する。ジャイロスコープ216は、モバイルデバイス自体の回転を測定する。磁力計218は、モバイルデバイス104の周りの磁場(例えば、地球の磁場)を測定し、ユーザ110がモバイルデバイス104を移動させる際に、加速度計214およびジャイロスコープ216からのデータを較正し、真の向きおよび並進情報を決定するために使用され得る。
【0091】
メモリ212は、揮発性メモリと不揮発性メモリの一方または両方を含み得る。メモリ212は、プロセッサ202によって実行されると、本明細書に記載のモバイルデバイス104の機能を実行するように動作する一時的および/または非一時的なコンピュータ読み取り可能命令として、クライアント注釈ソフトウェア220を保存することができる。クライアント注釈ソフトウェア220は、例えば、ユーザ110が共有ディスプレイ102上で注釈の付与を開始できるように、ディスプレイ208に表示されるモバイルデバイスで実行されるアプリケーションであり得る。例えば、クライアント注釈ソフトウェア220は、Mersive Technologies, Inc.製のSolstice Clientアプリケーションであってもよい。したがって、クライアント注釈ソフトウェア220は、ユーザ110をモバイルデバイス104の所有者および/または操作者として識別するユーザID222を含み得る。
【0092】
ここで、
図3を参照して、ホストデバイス106は、共有ディスプレイ102に統合され得るか、またはそれから分離され、共有ディスプレイ102に有線または無線で接続され得る。ホストデバイス106は、例えば、Mersive Technologies, Inc.製のSolstice Podであってもよい。ホストデバイス106は、プロセッサ302、通信インターフェース304、およびメモリ306を含み得る。プロセッサ302は、コンピュータ読み取り可能命令を実行することができるマイクロプロセッサまたは任意の他のデバイスであってもよい。
【0093】
通信インターフェース204は、例えば、セルラー(2G、3G、4G、5G、LTE、Bluetooth、Bluetooth Low Energy、Wi-Fiなど)などの無線通信プロトコルを実装するハードウェア(無線データチップセットなど)および関連するファームウェアであり得る。通信インターフェース204はまた、ホストデバイス106を共有ディスプレイ102に連結するための、例えば、USB、HDMI(登録商標)ケーブル、ライトニングケーブルなどのような有線コンポーネントを含んでいてもよい。
【0094】
メモリ306は、揮発性メモリおよび不揮発性メモリの一方または両方を含み得る。メモリ306は、プロセッサ302によって実行されると、本明細書に記載のホストデバイス106の機能を実行するように動作する、一時的および/または非一時的なコンピュータ読み取り可能命令としてホスト注釈ソフトウェア308を保存することができる。実施形態では、ホスト注釈ソフトウェア308は、共有ディスプレイ102に表示される表示コンテンツ108を含んでもよい。実施形態では、表示されるコンテンツ108は、「マルチユーザ制御および共有ディスプレイへのメディアストリーミングのためのシステムおよび方法」と題された米国特許出願公開第2014/0240445A1号に記載されているような、クライアントデバイスからの1つまたは複数のメディアストリームであってもよく、その全体が参照により本明細書に組み込まれる。したがって、モバイルデバイス104は、モバイルデバイス104とホストデバイス106との間のメディアストリームとしてモバイルデバイス104自体に保存したコンテンツ258を共有し、次に、モバイルデバイス104自体のコンテンツに注釈を付与することなく、共有ディスプレイ102上のそのコンテンツに仮想的に注釈を付与することができる。さらに、実施形態では、複数のモバイルデバイス104がコンテンツを共有することができ、したがって、任意のモバイルデバイス104は、注釈を付与するモバイルデバイスがコンテンツを共有するかどうかによらず、他の任意のモバイルデバイス104から共有コンテンツ上に注釈を付けることができる。
ホストデバイスへのモバイルデバイスの登録:
【0095】
ホスト注釈ソフトウェア308は、ホストID310を含み得る。ホストID310は、IPアドレス、またはホストデバイス106を識別するための他の一意のコードであり得る。ホストID310は、共有ディスプレイ102上に表示されてもよいし、他の方法でユーザ110に通知されてもよい。ユーザ110は、モバイルデバイス104の入力デバイス206とのやり取りを介して、登録入力224を入力することができる。次に、登録入力224は、モバイルデバイス104の通信インターフェース204およびホストデバイス106の通信インターフェース304を介してホストデバイス106に送信されてもよい。次に、ホスト注釈ソフトウェア308は、ホストID310と受信された登録入力224とを比較し、ホストID310が受信された登録入力224と一致する場合、モバイルデバイス104は、ホストデバイス106に登録される。そのような登録の下で、モバイルデバイス104は、ホストとのやり取りを介して、共有ディスプレイ102上にそのそれぞれの注釈(例えば、注釈112)を配置するか、もしくは制御することができる。モバイルデバイス104をホストデバイス106に登録する他の方法は、モバイルデバイス104がホストデバイス106と同じ部屋にあると決定された場合の自動登録など、本明細書の範囲から逸脱することなく実施できることを理解されたい。
【0096】
いくつかの実施形態では、モバイルデバイス104の登録は、ホストデバイス106に保存された1つまたは複数の管理設定312によって排除されるか、もしくは制御されてもよい。管理設定312は、例えば、すべてまたは特定のモバイルデバイス104のホストデバイス106への登録をブロックしてもよい。追加的に、または代替的に、管理設定312は、モバイルデバイス104のホストデバイス106への登録を許可し得るが、モバイルデバイス104が共有ディスプレイ102に注釈を付与することをブロックしてもよい。管理設定312は、ホストデバイス106への登録を許可されるモバイルデバイス104の最大数を定めることができる。管理設定312は、管理者デバイス(図示せず)を介してホストデバイス106に送信することができる。管理者デバイスは、実施形態では、モバイルデバイス104のうちの1つであってもよい。
【0097】
ホストデバイス106に登録する各モバイルデバイス104について、上述した登録が繰り返されるか、もしくは実施されてもよいことを理解されたい。
モバイルデバイスを使用した注釈付与:
【0098】
ホストデバイス106に登録されると、モバイルデバイス104は、共有ディスプレイ102に注釈112を配置することができる。注釈は、それぞれ、開始指示226および停止指示228に基づいて開始および停止され得る。ユーザ112がモバイルデバイス104を共有ディスプレイ102上の仮想ペンとして使用している場合は、開始指示226は「ペンアップ」イベントを表すことができ、停止指示228は「ペンダウン」イベントを表すことができる。
【0099】
開始指示226は、実施形態では、入力デバイス206上の実際のボタンまたは仮想ボタンの押圧、または他の動作であり得る。例えば、
図7Aおよび
図7Bは、開始指示226を示す画面上の仮想ボタン702を「上にスワイプ」する様子を示す。仮想ボタン702は、共有ディスプレイとの他のやり取り704を含むアプリケーション(Solstice clientアプリケーションなど)に表示され得る。例えば、モバイルデバイス104の画面をミラーリングし、モバイルデバイス104からメディアを共有し、画像を撮影するなどであるが、これらに限定されない。実施形態では、開始指示226は、ユーザ110がモバイルデバイス102上の仮想ボタンまたは実際のボタンを押している場合にのみセンサデータ230がキャプチャされる「長押し」指示であってもよい。実施形態では、開始指示226は、画面下向きの状態から画面上向きの状態にする動作(例えば、モバイルデバイスをピックアップする動作)によってモバイルデバイス104を反転させるなど、モバイルデバイス104を用いてユーザ110によって実行される特定のジェスチャーの決定であり得る。ジェスチャーは、メモリ212に保存されたセンサデータ230に基づいて検出され、センサデータ230は、加速度計214、ジャイロスコープ216、および磁力計218の1つまたは複数によって生成される。他のジェスチャーは、本明細書の範囲から逸脱することなく実施されてもよい。
【0100】
停止指示228は、実施形態では、入力デバイス206上の実際のボタンまたは仮想ボタンの押圧、または実際のボタンまたは仮想ボタンの解放であってもよい(例えば、開始指示226が上述した長押し指示である場合)。
図7Aおよび
図7Bによって示された動作の逆は、停止指示228を示してもよい。実施形態では、停止指示228は、画面上向きの状態から画面下向きの状態にする動作によってモバイルデバイス104を反転させるなど、モバイルデバイス104を用いてユーザ110によって実行される特定のジェスチャーの決定であり得る。ジェスチャーは、メモリ212に保存されたセンサデータ230に基づいて検出され、センサデータ230は、加速度計214、ジャイロスコープ216、および磁力計218の1つまたは複数によって生成される。他のジェスチャーは、本明細書の範囲から逸脱することなく実施されてもよい。
【0101】
実施形態では、クライアント注釈ソフトウェア220は、データキャプチャ停止遅延227をさらに含んでもよい。データキャプチャ停止遅延227は、停止指示228の前に受信された複数の開始指示226が互いに干渉するのを防ぐタイマーであり得る。例えば、ユーザ110が短期間に2つの開始指示226を提示した場合、共有ディスプレイ102上の注釈112の配置は、再マッピングされないか、もしくは共有ディスプレイ102上の初期開始点(例えば、後述する初期開始点322)で再開される。データキャプチャ停止遅延227はまた、クライアント注釈ソフトウェア220が停止指示228を受信した後、クライアント注釈ソフトウェア220がセンサデータ230をキャプチャし続けることを要求し得る。例えば、ユーザ110が開始指示226を開始した後にモバイルデバイス104を左に動かし、その後に停止指示228を開始した後もモバイルデバイス104を左に動かし続け、さらに、データキャプチャ停止遅延227の期間が経過する前に別の開始指示226を開始した場合は、注釈112は停止指示228の左側に開始される。これは、注釈112を初期開始点(例えば、後述する初期開始点322)にリセットするのとは対照的である。しかしながら、データキャプチャ停止遅延227の期間が経過した場合、注釈は初期開始点から再開される。いくつかの実施形態では、データキャプチャ停止遅延227は、後述するホスト注釈ソフトウェア308に実装できることを理解されたい。
【0102】
開始指示226を受信すると、クライアント注釈ソフトウェア220は、センサグループ210内のセンサからデータをキャプチャし、そのデータをセンサデータ230として保存するように動作する。このデータ収集は繰り返されて、センサデータ230の複数の時間測定点を形成してもよい。これら時間測定点内の所与の時間ごとに、モバイルデバイス104のチルト232(γ,t)、ヨー234(α,t)、およびロール236(β,t)のうちの1つまたは複数が計算される。いくつかの実施形態では、並進238はまた、加速度計214のデータ、および2つ以上の時間測定点間のチルト232、ヨー234、およびロール236の計算に基づいて計算され得る。次に、チルト232、ヨー234、ロール236、および並進238のデータのうちの1つまたは複数がパッケージ化され、クライアント注釈出力240としてホストデバイス106に送信される。実施形態では、クライアント注釈出力240は、チルト232、ヨー234、ロール236、および並進238のデータに加えて、またはそれらに代えて、センサデータ230に基づく共有ディスプレイ102上の注釈112の意図された動きを表す一連の(x,y)画面座標を含む。磁力計218および/またはそこから収集されたセンサデータを含まない実施形態では、モバイルデバイス104の動きは複数の時間測定点のそれぞれで追跡され、開始指示226が生成されたときにこの追跡が開始されるため、センサデータ230は磁場データに基づいて較正される必要はない。したがって、センサデータ230は、最初の時間測定点に基づいて計算されるため、磁力計208からの磁場データは必要とされない。
【0103】
実施形態では、センサデータ230は、センサしきい値239によって制限されてもよい。センサしきい値239は、許容されるセンサデータの最大変化を設定するように動作する。例えば、モバイルデバイス106が(センサしきい値239によって定義される)最大値を超えてヨー、ロール、またはチルトされた場合、クライアント注釈ソフトウェア240は、注釈を初期開始点(例えば、後述する初期開始点322)にリセットすることを指示するクライアント注釈出力240を生成することができる。
【0104】
実施形態では、クライアント注釈出力240は、ホストデバイス106に送信される前にクライアント注釈ソフトウェア220によって前処理されて、複数の制御ジョイント242を決定する。これらの制御ジョイント242は、複数の時間測定点内の所与の各時間における意図された注釈を表す一連の点である。例えば、制御ジョイント242は、複数の時間測定点内のある時間から次の時間への並進238を表すことができる。
図4は、実施形態における、12個の時間測定点のそれぞれにおける複数の制御ジョイント402を示している。
図4に示すように、各制御ジョイント402間の線404の長さは、各境界制御ジョイント402間の並進によって定まる。さらに、線404のベクトルの向きは、1つの制御ジョイント402から次の制御ジョイント402までのチルト、ヨー、およびロールの1つまたは複数によって決定される。
注釈情報の変更
【0105】
実施形態では、クライアント注釈出力240は、ホストデバイス106に送信される前に、クライアント注釈ソフトウェア220によって前処理されて、所定の変更子244を複数の制御ジョイント242に適用する。所定の変更子244は、例えば、パラメータ化された曲線を複数の制御ジョイント242に適合させて、制御ジョイント242によって示される線内のノイズおよびジッタを平滑化するか、または削除することを含む。パラメータ化された曲線は、多項式曲線またはスプライン曲線であってもよい。
図5は、所定の変更子244の適用後の例示的なクライアント注釈出力240を示している。
【0106】
実施形態では、クライアント注釈出力240は、ホストデバイス106に送信される前に、クライアント注釈ソフトウェア220によって前処理されて、形状を複数の制御ジョイント242、またはパラメータ化された曲線またはスプラインのいずれかに適合させる。例えば、制御ジョイント242は、異なるパラメトリック関数のそれぞれに対するフィッティング残差を導出するために、最小二乗法などのフィッティング技術を使用して複数のパラメトリック関数に適合されるが、これに限定されない。適合が十分である場合、最適なフィッティング曲線は、クライアント注釈出力240として(単独で、または制御ジョイント242とともに)送信され、そうでない場合、スプラインは、制御ジョイント242に適合され得る。ユーザ110がモバイルデバイス104を使用してディスプレイに楕円を「描画する」例を考えてみると、当然ながら、生の制御点242にはジッタがあり、ユーザ110は、近似された楕円のみを描画することができる。制御ジョイント242は、それぞれの線(その任意のパラメトリック関数を含む)、円、楕円、長方形などに繰り返し適合している。楕円は適合誤差が小さい可能性があり、それゆえ、ユーザの意図は実際に楕円を描くことであったと理解されているため、それが制御出力240として表示されるものである。
図6は、複数の制御ジョイント402に適合する形状602(楕円形)の形式の例示的なクライアント注釈出力240を示している。1つまたは複数の制御ジョイントの外れ値(例えば、制御ジョイント402(12))は、形状適合プロセスから除外される。
【0107】
実施形態では、ホストデバイス106に送信される前に、クライアント注釈出力240は、クライアント入力データ246のうちの1つまたは複数を含むか、または変更するように前処理される。クライアント入力データ246は、入力デバイス206を介したユーザ110からの入力を含む。クライアント入力データ246は、色248、サイズ250、形状252、テキスト254、およびアニメーション指示256のうちの1つまたは複数を含み得る。形状252がユーザ110によって選択される場合など、クライアント入力データ246が含まれる場合、上述の所定の変更子244を必要としない場合がある。例えば、ユーザ110は、円の形状を選択することができ、その円は、共有ディスプレイデバイス102上に注釈として表示される。
【0108】
アニメーション指示256は、実際のボタンまたは仮想ボタンの押圧(例えば、開始指示226と同じボタンのダブルタップ)であってもよいし、またはジェスチャー(例えば、モバイルデバイス104を空間内で前方へ押し出す)であってもよい。アニメーション指示256は、共有ディスプレイ102上の注釈112をアニメーション化させる(例えば、水の滴下、または揺れる動き、円運動などの他の注釈を介して)。このアニメーションは、注釈の現在の位置とその下にあるコンテンツに聞き手の注意を引き付ける。
【0109】
実施形態では、クライアント注釈出力240は、生のセンサデータ230(および他のクライアント入力データ246)のみを含み、次に、ホストデバイス106は、所定の変更子を実行してもよい。さらに、任意の数の制御ジョイント242が、所与の時間にホストデバイス106に送信され得ることを理解されたい。したがって、モバイルデバイス104は、現在の注釈出力240および任意の追加の制御ジョイント242(および変更されたデータ、または生データ230)を含む、注釈の更新を定期的に送信する。
【0110】
ホストデバイス106は、クライアント注釈出力240の受信を検証する注釈確認応答314をモバイルデバイス104に送信することができる。モバイルデバイス104は、注釈が共有ディスプレイ102に表示されていることをユーザが知るように、ディスプレイ208を介して注釈確認応答314をユーザ104に表示してもよい。
【0111】
モバイルデバイスは、停止指示228を識別するまで、クライアント注釈出力240を連続的または定期的に生成することができる。したがって、共有ディスプレイ102上の注釈112は、モバイルデバイス104からのデータに基づいてリアルタイムで生成される。
【0112】
したがって、クライアント注釈ソフトウェア220は、連続注釈モードで動作されてもよい。この連続注釈モードでは、開始指示226は、肯定的な停止指示228が受信される(例えば、仮想ボタンまたはアクティブボタンを押すか、肯定的なジェスチャーを実行するなど)まで、注釈が常にアクティブになる(例えば、「オンにする」)ように制御する。クライアント注釈ソフトウェア220はまた、間欠注釈モードで実行されてもよい。この間欠注釈モードでは、停止指示228は、開始指示226を開始するのと同じモバイルデバイス104上のボタンを単に離すだけである。例えば、ボタン702が押され(またはモバイルデバイス104のディスプレイ上で上に移動し)、ボタン702が解放されるまで(またディスプレイ上で下に移動されるまで)、そのモバイルデバイス104に関連する注釈112が表示される。
ホストデバイスの注釈処理:
【0113】
クライアント注釈出力240を受信すると、ホスト注釈ソフトウェア308は、共有ディスプレイ102を制御して、その上に注釈316を表示することができる。注釈316は、注釈コンテンツ318と、モバイルデバイス104またはそのユーザ110を識別する、関連付けられたユーザID222を含んでもよい。関連付けられたユーザID222は、テキストによる識別(例えば、ユーザ110の名前)、カラーコード、または様式(例えば、破線の特定のパターンなど)であってもよい。
【0114】
実施形態では、注釈318は、1つまたは複数の注釈設定320に従って表示されてもよい。注釈設定320は、注釈の開始点を表す注釈初期開始点322を含んでもよい。例えば、開始点322は、共有ディスプレイ102の中心でもよい。開始点322はまた、共有ディスプレイ102の隅、またはそれに関連する任意の他の点(共有ディスプレイ102の画面内または画面外を含む)でもよい。
【0115】
さらに、センサデータ230の上述した処理は、いずれもモバイルデバイス104、またはホストデバイス106で実行され得る。例えば、クライアント注釈出力240が生のセンサデータ230、変更されていない制御ジョイント242、および/またはクライアント入力データ246のいずれかを含む実施形態では、注釈設定320は、共有ディスプレイ102上に注釈316として表示する前に、上述したのと同様の方法で、クライアント注釈出力240が所定の変更子244に従って前処理されるように、所定の変更子244を含んでもよい。
一時的な注釈:
【0116】
実施形態では、注釈316は、本質的に一時的なものであってもよい。したがって、注釈設定320は、注釈316が共有ディスプレイ102上に存在する時間を規定する注釈タイマー324を含む。実施形態では、注釈タイマー324は、共有ディスプレイ102が共有コンテンツ108を表示している限りにおいて無限であってもよい所定の期間、共有ディスプレイ102上に注釈316を保持する時計式タイマーである。実施形態では、注釈タイマー324は、共有ディスプレイ上の注釈316の長さに基づいている。例えば、注釈316は、共有ディスプレイ102上で所定の長さだけ消滅または「トレイル」することができる。実施形態では、注釈316の長さは、上述した並進情報238によって定まる注釈316の速度に基づいてもよい。
【0117】
さらに、実施形態では、注釈316は、生の注釈データ(例えば、制御ジョイント242の直接表示など)から、変更された注釈データ(例えば、所定の変更子244の適用後の変更された注釈データの表示)への遷移を含んでもよい。例えば、共有ディスプレイ102上の注釈316は、制御ジョイント242から変更された注釈に徐々に変化することができる。これにより、聞き手は、注釈が平滑化されていること、および/または曲線/形状に適合していることを視覚的に理解できる。
【0118】
実施形態では、ホストデバイス106は、共有ディスプレイ102の制約に基づいて意図された注釈を変更するようにさらに動作してもよい。例えば、注釈112が共有ディスプレイ102の端に到達する場合、注釈は画面から外れる代わりに、共有ディスプレイ102の端のみに表示されてもよい。後続のクライアント注釈出力240が注釈112を端から離れるように戻すことを指示するとすぐに、注釈は端から離れるように表示される。実施形態では、後続の注釈出力240は、受信された他のすべてのクライアント注釈出力240に比例しなければならない。例えば、注釈112が共有ディスプレイ112の端に到達し、注釈出力240が端より10%離れて移動する場合、後続のクライアント注釈出力240は、注釈112が共有ディスプレイ102上を移動する前に、10%に比例して端に向かって戻って移動しなければならない。あるいは、後続の注釈出力240は、「画面内」に戻るために、注釈112が表示される端と反対の方向に移動する必要があるだけである。例えば、クライアント注釈出力240が注釈112を上端で画面外に出るまで制御したために注釈112が上端で表示される場合、ユーザ110がモバイルデバイス104を下方に移動することを後続の注釈240が指示するとすぐに、注釈112は上端から離れて配置される。
注釈の保存:
【0119】
ホスト注釈ソフトウェア308は、注釈履歴326をさらに保持することができる。注釈履歴326は、すべてのユーザ110からのすべての注釈316を含むようにすべてを網羅することができる。注釈履歴326は、共有コンテンツ108のプレゼンテーション後、あるユーザ110が後日、自身(または他のユーザ110)の注釈316にアクセスできるように、ユーザ110によって分割されてもよい。注釈履歴326は、Word文書のページ、PowerPointのページ、プレゼンテーションの議事録など、表示されたコンテンツ108の自然な区切りによって分割されてもよい。次に、注釈履歴326は、クラウドサーバなどのホストデバイス106からリモートデバイスに送信されてもよく、その結果、ユーザ110は、後日クライアント注釈ソフトウェア220を介して注釈316にアクセスすることができる。
【0120】
図8は、実施形態における、モバイルデバイスを使用して共有ディスプレイに注釈を付与するための方法800のフローチャートである。方法800は、例えば、
図1乃至
図7Bを参照して上述したシステム100を使用して実行される。
【0121】
ブロック802において、方法800は、モバイルデバイスをホストデバイスに登録する。ブロック802の一例では、モバイルデバイス104は、ホストデバイス106に登録され、したがって、無線でともに接続される。
【0122】
ブロック804において、方法800は、モバイルデバイスの少なくともジャイロスコープおよび加速度計のデータを使用して、表示されたコンテンツの注釈を共有ディスプレイ上に配置する。ブロック804の一例では、注釈316は、モバイルデバイス104によって生成されたセンサデータ230に基づいて共有ディスプレイ102上に配置される。
【0123】
ブロック806において、方法800は、共有ディスプレイから注釈を削除する。方法800の一例では、ホストデバイス106は、注釈タイマー324に従ってクライアント注釈316を削除する。したがって、ブロック806の一例では、クライアント注釈316は、時計式注釈タイマーである注釈タイマー324に基づいて所定の時間経過後に削除される。したがって、ブロック806の一例では、クライアント注釈316は、共有ディスプレイ102に表示される注釈316の所定の長さの後に削除される。したがって、ブロック806の一例では、クライアント注釈316は、並進情報238によって決定される、共有ディスプレイ102上の注釈316の速度に基づいて徐々に消滅する。
【0124】
ブロック808において、方法800は、注釈を保存する。ブロック808の一例では、ホストデバイス106は、注釈316を注釈履歴326としてメモリ306に保存する。ブロック808の例では、注釈履歴326は、共有コンテンツ108のプレゼンテーション後、あるユーザ110が後日、自身(または他のユーザの110)の注釈316にアクセスできるように、ユーザ110によって分割されてもよい。ブロック808の例では、注釈履歴326は、Word文書内のページ、PowerPointのページ、プレゼンテーションの議事録など、表示されたコンテンツ108の自然な区切りによって分割されてもよい。
【0125】
ブロック810において、方法800は、保存された注釈を外部デバイスに送信する。ブロック810の一例では、注釈履歴326は、モバイルデバイス104に直接送信される。ブロック810の一例では、注釈履歴326は、クラウドストレージなどの外部デバイスに送信され、外部デバイスは、モバイルデバイス104から注釈履歴へのアクセスを可能にする。
【0126】
図9は、実施形態において、モバイルデバイスをホストデバイスに登録するための例示的な方法900を示している。方法900は、方法800のブロック802の例である。
【0127】
ブロック902において、方法900は、モバイルデバイスで登録入力を受信する。ブロック902の一例では、ユーザ110は、入力デバイス206を使用して登録入力224を入力する。ブロック902の一例では、登録入力224は、モバイルデバイス104のホストデバイス106への近接度に基づいて自動的に生成される。
【0128】
ブロック904において、方法900は、登録入力をホストデバイスに送信する。ブロック904の一例では、登録入力224は、モバイルデバイス104からホストデバイス106に送信される。
【0129】
ブロック906において、登録入力は、ホストIDと比較される。ブロック906の一例では、登録入力226は、ホスト注釈ソフトウェア308によってホストID310と比較される。
【0130】
ブロック908において、登録入力がブロック906におけるホストIDと一致するとき、モバイルデバイスとホストデバイスは無線で接続される。ブロック908の一例では、モバイルデバイス104は、ホストデバイス106に無線で接続される。
【0131】
図10は、一実施形態において、表示されたコンテンツの注釈を共有ディスプレイ上に配置するための例示的な方法1000を示している。方法1000は、方法800のブロック804の一例である。
【0132】
ブロック1002において、方法1000は、モバイルデバイスで開始指示を受信する。ブロック1002の一例では、モバイルデバイス104は、開始指示226を受信する。開始指示226は、入力デバイス206上の実際のボタンまたは仮想ボタンの押圧、または
図7Aおよび
図7Bに示される「上にスワイプ」するなどの他の動作であってもよい。開始指示226は、画面下向きの状態から画面上向きの状態にして電話を反転させるなど、モバイルデバイス104を用いてユーザ110によって実行される特定のジェスチャーの決定であってもよい。
【0133】
ブロック1004において、方法1000は、複数の時間測定点でモバイルデバイスからセンサデータをキャプチャする。ブロック1004の一例では、センサデータ230は、複数の時間測定点のそれぞれにおいて、センサグループ210内のそれぞれのセンサからキャプチャされる。
【0134】
ブロック1006において、クライアント注釈出力は、センサデータに基づいて、モバイルデバイスからホストデバイスに送信される。ブロック1006の一例では、クライアント注釈出力240は、モバイルデバイス104からホストデバイス106に送信される。ブロック1006は、1つまたは複数のサブブロックを含んでもよい。サブブロック1026において、方法1000は、チルトデータを生成する。サブブロック1026の一例では、チルトデータ232が生成され、クライアント注釈出力240に含まれる。サブブロック1028では、方法1000は、ヨーデータを生成する。サブブロック1028の一例では、ヨーデータ324が生成され、クライアント注釈出力240に含まれる。サブブロック1030では、方法1000は、ロールデータを生成する。サブブロック1030の一例では、ロールデータ236が生成され、クライアント注釈出力240に含まれる。サブブロック1032では、方法1000は、各時間測定点の2つの間の並進データを生成する。サブブロック1032の一例では、並進データ238が生成され、クライアント注釈出力240に含まれる。サブブロック1034では、方法1000は、クライアント入力データを含む。サブブロック1034の一例では、クライアント入力データ246は、クライアント注釈出力240に含まれる。
【0135】
ブロック1008において、クライアント注釈出力は、所定の変更子に基づいて変更される。ブロック1008の一例では、クライアント注釈ソフトウェア220は、ブロック1006においてクライアント注釈出力240をホストデバイス106に送信する前に、所定の変更子244を適用する。ブロック1008の一例では、ホスト注釈ソフトウェア308は、ブロック1006においてモバイルデバイス104からクライアント注釈出力240を受信した後に、所定の変更子244を適用する。ブロック1008の例では、クライアント注釈ソフトウェア220またはホスト注釈ソフトウェア308のいずれかが複数の制御ジョイント242を識別し、そこに所定の変更子244を適用する。所定の変更子244は、例えば、パラメータ化された曲線を複数の制御ジョイント242に適合させて、制御ジョイント242によって示される線内のノイズおよびジッタを平滑化するか、または削除することを含んでもよい。パラメータ化された曲線は、多項式曲線またはスプライン曲線であってもよい。
【0136】
ブロック1010において、表示されたコンテンツの注釈は、上述したステップ1002~1008に基づいて、共有ディスプレイ上に表示された共有コンテンツ上に表示される。ブロック1010の一例では、ホストデバイス106は、共有コンテンツ108上に重ね合わせられた共有ディスプレイ102上に表示するために注釈316を送信する。
【0137】
次に、方法1000は、1つまたは複数の決定ステップを開始して、注釈の継続的な表示を決定する。例えば、ブロック1012は決定である。ブロック1012において、方法1000は、共有ディスプレイに表示された注釈がモバイルデバイスによって画面外に配置されているかどうかを決定する。はいの場合、方法1000はブロック1014に進み、そうでない場合、方法はブロック1020に進む。ブロック1014において、方法は、モバイルデバイスが注釈を外に配置した共有ディスプレイの端に注釈を表示する。動作の一例では、ホストデバイス106は、注釈112を共有ディスプレイ102の端に配置することを指示する注釈316を生成する。方法1000が、注釈を端から離れて配置することを指示するさらなるクライアント注釈出力を受信するまで(例えば、ブロック1006において)、注釈112は端に留まってもよい。
【0138】
ブロック1016は、ブロック1012およびブロック1020のいずれかと同時に、前に、または後に起こり得る別の決定である。ブロック1016において、方法は、アニメーション指示がモバイルデバイスから受信されるかどうかを決定する。はいの場合、方法1000はブロック1018に進み、そうでない場合、方法1000はブロック1020に進む。ブロック1016の動作の一例では、クライアント注釈出力240は、アニメーション指示256を含む。ブロック1018では、方法1000は、共有ディスプレイ上の注釈をアニメーション化する。ブロック1018の一例では、注釈112は、共有ディスプレイ102上で点滅する、揺れる、円を描く、透かしを表示する、または他のアニメーションにアニメーション化される。
【0139】
ブロック1020は決定である。ブロック1020において、方法1000は、停止指示が受信されたかどうかを決定する。いいえの場合、方法1000はステップ1004を繰り返し、そうでない場合、方法1000はブロック1022に進む。ブロック1020の一例では、モバイルデバイス104は停止指示228を受信する。開始指示228は、入力デバイス206上の実際のボタンまたは仮想ボタンの押圧、または「下にスワイプ」するなどの他の動作であってもよい。停止指示228は、画面上向きの状態から画面下向きの状態にして電話を反転させるなど、モバイルデバイス104を用いてユーザ110によって実行される特定のジェスチャーの決定であってもよい。
【0140】
ブロック1022は決定である。ブロック1022において、方法1000は、キャプチャ停止遅延タイマーが経過したかどうかを決定する。そうである場合、方法は、ブロック1002を繰り返すことができるブロック1024で終了する。そうでない場合、方法1000は、ブロック1004を繰り返し、キャプチャ停止遅延タイマーが経過する前に別の開始指示が受信されると、注釈の表示を開始する。ブロック1022の一例では、キャプチャ停止遅延227の時間が経過したかどうかが決定される。
【0141】
本明細書の範囲から逸脱することなく、上述した方法およびシステムに変更を加えることができる。したがって、上記の説明に含まれる、または添付の図面に示される事項は、限定的な意味ではなく、例示として解釈されるべきであることに留意されたい。以下の特許請求の範囲は、本明細書に記載のすべての一般的および特定の特徴、ならびに言語の問題としてそれらの間にあると言われる可能性がある本方法およびシステムの範囲のすべての記載を網羅することを意図している。