(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-14
(45)【発行日】2024-06-24
(54)【発明の名称】入力システム及び入力方法
(51)【国際特許分類】
G06F 3/01 20060101AFI20240617BHJP
G06F 3/038 20130101ALI20240617BHJP
G06F 3/04883 20220101ALI20240617BHJP
G06T 19/00 20110101ALI20240617BHJP
【FI】
G06F3/01 510
G06F3/038 310A
G06F3/04883
G06T19/00 300B
(21)【出願番号】P 2020141485
(22)【出願日】2020-08-25
【審査請求日】2023-08-22
(73)【特許権者】
【識別番号】000139403
【氏名又は名称】株式会社ワコム
(74)【代理人】
【識別番号】100176072
【氏名又は名称】小林 功
(74)【代理人】
【識別番号】100169225
【氏名又は名称】山野 明
(72)【発明者】
【氏名】渡辺 直樹
(72)【発明者】
【氏名】加藤 龍憲
【審査官】槙 俊秋
(56)【参考文献】
【文献】米国特許出願公開第2016/0371886(US,A1)
【文献】特表2018-505472(JP,A)
【文献】米国特許出願公開第2018/0101986(US,A1)
【文献】特開2013-125487(JP,A)
【文献】国際公開第2019/044003(WO,A1)
【文献】松井 健人;間 博人;市川 燿;村上 広記;三木光範,“HMDを用いた拡張現実における手書き支援システム Support System for Handwriting by Augmented Reality using HMD”,マルチメディア, 分散, 協調とモバイル(DICOMO2015)シンポジウム論文集;情報処理学会シンポジウムシリーズ = IPSJ Symposium series; vol.2015, no.1,日本,一般社団法人情報処理学会,2015年07月01日,第2015巻,p.1242-1249
【文献】篠木 慎司;新妻 実保子,“高密度化を目指した階層的空間メモリの構築”(2A1-P02 Hierarchical Spatial Memory for Densification),The Proceedingsof JSME annual Conference on Robotics and Mechatronics(Robomec):日本機械学会 ロボティクス・メカトロニクス講演会(ロボメック)講演論文集(日本機械学会ロボティクス・メカトロニクス講演会予稿集),2015巻(2015),セッションID 2A1-P02,日本,日本機械学会,ロボティクス・メカトロニクス部門,2015年05月16日,2015巻(2015),セッションID 2A1-P02,p.2A1-P02(1)-p.2A1-P02(4)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01- 3/04895
G06T 1/00-19/20
(57)【特許請求の範囲】
【請求項1】
指示デバイスと、
前記指示デバイスと相互に通信可能であり、かつ前記指示デバイスの指示位置を検出する検出デバイスと、
前記検出デバイスとは別体に設けられ、かつ空間を表示する表示ユニットと、
前記空間内のユーザの視線位置を検出する位置検出部と、
プロセッサと、を備え、
前記指示デバイスは、自装置の状態又は状態の時間変化を示す第1状態量を計測可能であり、
前記検出デバイスは、自装置の状態又は状態の時間変化を示す第2状態量を計測可能であり、
前記指示デバイスは、第2通信により、前記第2状態量を含む第2データを前記検出デバイスから受信するとともに、第1通信により、前記第1状態量及び前記第2状態量を集約した第1データを前記プロセッサに送信し、
前記プロセッサは、
前記指示デバイスによる所定の操作を受け付けた時点にて前記位置検出部により検出された前記視線位置に基づいて、前記指示デバイスの基準位置を含む指示対象領域を前記空間の中から設定し、
前記空間上に重ねて前記指示デバイスの指示位置を前記指示対象領域内に表示するように前記表示ユニットを制御する、入力システム。
【請求項2】
前記指示対象領域は、前記空間内にある物体毎又は物体面毎に設定可能である、
請求項1に記載の入力システム。
【請求項3】
前記プロセッサは、前回の視線位置と今回の視線位置とが同一の物体上又は物体面上にある場合、前回に設定された場合と同一の前記基準位置及び前記指示対象領域を設定する、
請求項2に記載の入力システム。
【請求項4】
前記プロセッサは、前回の視線位置と今回の視線位置とが異なる物体上又は物体面上にある場合、前回に設定された場合とは異なる前記基準位置及び前記指示対象領域を設定する、
請求項2に記載の入力システム。
【請求項5】
前記空間は、仮想現実空間であり、
前記プロセッサは、前記指示対象領域が設定された場合、前記指示対象領域が正面になる視点に切り替えて前記仮想現実空間を表示させる、
請求項1~4のいずれか1項に記載の入力システム。
【請求項6】
前記指示デバイス又は前記検出デバイスは、前記所定の操作を受け付けた時点から、前記指示デバイスの移動量を逐次的に出力し、
前記プロセッサは、所定の変換規則に従って前記指示デバイスの移動量を変換し、変換後の移動量を前記基準位置の座標値に逐次加算することで、前記空間上の前記指示位置を算出する、
請求項1~5のいずれか1項に記載の入力システム。
【請求項7】
前記集約は、前記第1状態量から前記第2状態量を差し引いて相対状態量を算出すること、又は、前記第1状態量及び前記第2状態量を連結することである、
請求項
1に記載の入力システム。
【請求項8】
前記第2通信は、前記プロセッサとの間で行われない、前記第1通信と異なる手段を用いた通信である、
請求項
1に記載の入力システム。
【請求項9】
前記第2通信は、リレー通信である、
請求項
8に記載の入力システム。
【請求項10】
前記第2通信の実行頻度は、前記第1通信の実行頻度よりも低い、
請求項
1に記載の入力システム。
【請求項11】
指示デバイスと
、
前記指示デバイスと相互に通信可能であり、かつ前記指示デバイスの指示位置を検出する検出デバイスと、
前記検出デバイスとは別体に設けられ、かつ空間を表示する表示ユニットと、
前記空間内のユーザの視線位置を検出する位置検出部と、
プロセッサと、
を含んで構成される入力システムを用いた入力方法であって、
前記指示デバイスが、自装置の状態又は状態の時間変化を示す第1状態量を計測するステップと、
前記検出デバイスが、自装置の状態又は状態の時間変化を示す第2状態量を計測するステップと、
前記指示デバイスが、第2通信により、前記第2状態量を含む第2データを前記検出デバイスから受信するとともに、第1通信により、前記第1状態量及び前記第2状態量を集約した第1データを前記プロセッサに送信するステップと、
前記プロセッサが、
前記指示デバイスによる所定の操作を受け付けた時点にて前記位置検出部により検出された前記視線位置に基づいて、前記指示デバイスの基準位置を含む指示対象領域を前記空間の中から設定するステップと、
前記空間上に重ねて前記指示デバイスの指示位置を前記指示対象領域内に表示するように前記表示ユニットを制御するステップと、
を実行する入力方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力システム及び入力方法に関する。
【背景技術】
【0002】
従来から、スタイラスを含む指示デバイスの筆記操作を通じて、ストロークの集合体を記述するインクデータを入力可能なデジタルインクシステムが知られている。例えば、ユーザによる筆記操作に追従して、この筆記箇所とは異なる別の箇所に筆記コンテンツを表示する場合が想定される。
【0003】
特許文献1には、3次元空間上に2次元の仮想平面を設定した後、この仮想平面上に筆記したストロークを、ユーザが装着可能な表示装置に即時に表示する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、様々な物体が存在する仮想空間を表示することで、ユーザは、あたかもその空間内に筆記を残すような疑似体験を得ることができる。しかしながら、特許文献1で開示される技術では、仮想平面が設定された後にそのまま固定されるので、場合によっては、ユーザの意図とは異なる箇所に筆記コンテンツが表示され、ユーザによる入力操作性を損なうという問題がある。
【0006】
本発明は上記した問題に鑑みてなされたものであり、その目的は、指示デバイスの指示位置を検出する検出デバイスと、空間を表示する表示ユニットとが別体で設けられる装置構成において、ユーザによる入力操作性を向上可能な入力システム及び入力方法を提供することにある。
【課題を解決するための手段】
【0007】
第一の本発明における入力システムは、指示デバイスと、前記指示デバイスの指示位置を検出する検出デバイスと、前記検出デバイスとは別体に設けられ、かつ空間を表示する表示ユニットと、前記空間内のユーザの視線位置を検出する位置検出部と、プロセッサと、を備え、前記プロセッサは、前記指示デバイスによる所定の操作を受け付けた時点にて前記位置検出部により検出された前記視線位置に基づいて、前記指示デバイスの基準位置を含む指示対象領域を前記空間の中から設定し、前記空間上に重ねて前記指示デバイスの指示位置を前記指示対象領域内に表示するように前記表示ユニットを制御する。
【0008】
第二の本発明における入力方法は、指示デバイスと、前記指示デバイスの指示位置を検出する検出デバイスと、前記検出デバイスとは別体に設けられ、かつ空間を表示する表示ユニットと、前記空間内のユーザの視線位置を検出する位置検出部と、を含んで構成される入力システムを用いた方法であって、1又は複数のプロセッサが、前記指示デバイスによる所定の操作を受け付けた時点にて前記位置検出部により検出された前記視線位置に基づいて、前記指示デバイスの基準位置を含む指示対象領域を前記空間の中から設定するステップと、前記空間上に重ねて前記指示デバイスの指示位置を前記指示対象領域内に表示するように前記表示ユニットを制御するステップと、を実行する。
【発明の効果】
【0009】
本発明によれば、指示デバイスの指示位置を検出する検出デバイスと、空間を表示する表示ユニットとが別体で設けられる装置構成において、ユーザによる入力操作性がより高まる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態における入力システムの全体構成図である。
【
図2】
図1に示す入力システムの入力動作に関するフローチャートである。
【
図3】ウェアラブルデバイスに表示される仮想空間の一例を示す図である。
【
図4】領域定義テーブルが有するデータ構造の一例を示す図である。
【
図5】ペンダウン操作の前後にわたる3D画像の遷移を示す図である。
【
図6】ペン座標系と仮想座標系の間の対応関係を示す図である。
【
図7】ペンアップ操作の前後にわたる3D画像の遷移を示す図である。
【
図8】ペン座標系と検出座標系の間の対応関係を示す図である。
【
図9】タブレットの状態量を考慮した補正動作に関する模式図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素及びステップに対して可能な限り同一の符号を付するとともに、重複する説明を省略する場合がある。
【0012】
[入力システム10の構成]
図1は、本発明の一実施形態における入力システム10の全体構成図である。この入力システム10は、指示デバイスを用いた筆記操作を通じて、ストロークの集合体を記述するインクデータを入力可能な「デジタルインクシステム」である。具体的には、入力システム10は、表示デバイスの一態様であるウェアラブルデバイス20と、指示デバイスの一態様であるスタイラス30と、検出デバイスの一態様であるタブレット40と、を含んで構成される。
【0013】
ウェアラブルデバイス20は、ユーザUが装着可能な可搬型表示装置である。具体的には、ウェアラブルデバイス20は、筐体21と、表示パネル22(「表示ユニット」に相当)と、視線センサ23(「位置検出部」に相当)と、プロセッサ24(「プロセッサ」に相当)と、通信モジュール25と、を含んで構成される。
【0014】
筐体21は、各々の電子部品を保持するフレームと、該フレームをユーザUの頭部に固定する固定部材と、を備える。表示パネル22は、画像又は映像を表示可能であり、例えば、液晶パネル、有機EL(Electro-Luminescence)パネル、電子ペーパーなどであってもよい。視線センサ23は、例えば赤外線センサからなり、ユーザUの視線に相関する物理量(例えば、目の動き)を検出する。
【0015】
プロセッサ24は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)を含む処理演算装置によって構成される。プロセッサ24は、図示しないメモリに格納されたプログラムを読み出して実行することで、画像の表示制御、該表示制御に必要な様々な演算、データの送受信制御などを行う。
【0016】
通信モジュール25は、外部装置に対して電気信号を送受信するための通信インターフェースである。これにより、ウェアラブルデバイス20は、スタイラス30又はタブレット40との間で様々なデータのやり取りが可能である。
【0017】
スタイラス30は、タブレット40との間で一方向又は双方向に通信可能に構成される電子ペンである。電子ペンの方式は、電磁誘導方式(EMR)又はアクティブ静電結合方式(AES)のうちのいずれであってもよい。例えば、AES方式の場合には、スタイラス30は、筆圧センサ31と、慣性計測ユニット(Inertial Measurement Unit;以下、第1IMU32)と、マイクロコントロールユニット(Micro Control Unit;以下、MCU33)と、通信チップ34と、を含んで構成される。
【0018】
筆圧センサ31は、例えば、ペン先への押圧により発生する静電容量の変化を捉える、可変容量コンデンサを用いた圧力センサである。この筆圧センサ31により、筆圧のみならず、スタイラス30のペンダウン又はペンアップを含むペンイベントを検出することができる。
【0019】
第1IMU32は、例えば、3軸のジャイロセンサと3方向の加速度センサを組み合わせてなる計測ユニットである。これにより、第1IMU32は、後述するペン座標系60(
図6及び
図8参照)上での自装置の状態又は状態の時間変化を示す状態量を測定可能に構成される。この状態量には、位置・姿勢の特定に用いられる様々な物理量、例えば、位置、速度、加速度、ジャーク、角度、角速度などが含まれる。
【0020】
MCU33は、スタイラス30の動作を制御可能なプロセッサを含む制御ユニットである。例えば、MCU33は、スタイラス30による指示位置の計算に関する様々な演算の他に、当該演算の結果を含むデータの送受信制御などを行う。
【0021】
通信チップ34は、BlueTooth(登録商標)を含む様々な無線通信規格に従って、外部装置との間で無線通信を行うための集積回路である。これにより、スタイラス30は、通信チップ34を介して、ウェアラブルデバイス20又はタブレット40との間で様々なデータのやり取りが可能である。
【0022】
タブレット40は、スタイラス30の指示位置を検出可能な装置であり、表示機能の有無を問わない。また、タブレット40に代わって、スマートフォン、パーソナルコンピュータを含む様々な検出デバイスが用いられてもよい。ユーザUは、スタイラス30を片手で把持し、タブレット40のタッチ面41にペン先を押し当てながら移動させることで、ウェアラブルデバイス20の表示面に絵や文字を書き込むことができる。
【0023】
このタブレット40は、センサ電極42と、タッチIC(Integrated Circuit)43と、CPU44と、通信チップ45と、第2IMU46と、を含んで構成される。第2IMU46は、必要に応じて省略されてもよい。
【0024】
センサ電極42は、導体の接近又は接触により生じた静電容量の変化を検出可能な電極の集合体である。静電容量の検出方式は、相互容量方式又は自己容量方式のいずれであってもよい。例えば、相互容量方式の場合、このセンサ電極42は、検出座標系80(
図8参照)のXd軸の位置を検出するための複数のXライン電極と、Yd軸の位置を検出するための複数のYライン電極と、を備える。
【0025】
タッチIC43は、センサ電極42の駆動制御を行う集積回路である。タッチIC43は、CPU44から供給された制御信号に基づいてセンサ電極42を駆動する。これにより、タッチIC43は、スタイラス30の状態を検出する「ペン検出機能」や、ユーザUの指などによるタッチを検出する「タッチ検出機能」を実行する。
【0026】
CPU44は、図示しないメモリに格納されたプログラムを読み出して実行することで、例えば、インクデータの生成、データの送受信制御を含む様々な機能を実行可能である。なお、CPU44に代えて、MPU、GPUを含む様々な処理演算装置が用いられてもよい。
【0027】
通信チップ45は、通信チップ34と同様に、BlueTooth(登録商標)を含む様々な通信規格に従って、外部装置との間で無線通信を行うための集積回路である。これにより、タブレット40は、通信チップ45を介して、ウェアラブルデバイス20又はスタイラス30との間で様々なデータのやり取りが可能である。
【0028】
第2IMU46は、第1IMU32と同様に、例えば、3軸のジャイロセンサと3方向の加速度センサを組み合わせてなる計測ユニットである。これにより、第2IMU46は、後述する検出座標系80(
図8参照)上での自装置の位置・姿勢に関する状態量を測定可能に構成される。
【0029】
[入力システム10の動作]
本実施形態における入力システム10は、以上のように構成される。続いて、入力システム10による入力動作について、
図2のフローチャート及び
図3~
図7を参照しながら説明する。
【0030】
<基本動作>
図2のステップS1において、入力システム10は、ユーザUが視認可能な態様で仮想空間50を表示する。具体的には、ウェアラブルデバイス20のプロセッサ24が表示パネル22に対して表示制御を行うことで、仮想空間50を示す画像又は映像が表示される。
【0031】
図3は、ウェアラブルデバイス20に表示される仮想空間50の一例を示す図である。この仮想空間50は、架空の室内を3次元的に示している。この室内には、天井・床・壁・クローゼットなどの建造物、ベッド・テーブル・椅子などの家具を含む様々な物体が設けられる。
【0032】
図2のステップS2において、入力システム10は、スタイラス30によるペンダウン操作を受け付けたか否かを確認する。具体的には、スタイラス30のMCU33は、筆圧センサ31の検出信号に基づいて、筆圧状態が「OFF」から「ON」に変化したか否かを判定する。ペンダウン操作が検出されなかった場合(ステップS2:NO)、当該操作を検出するまでの間、ステップS1に留まる。一方、ペンダウン操作が検出された場合(ステップS2:YES)、次のステップS3に進む。なお、ウェアラブルデバイス20は、スタイラス30による検出結果を直接的に取得してもよいし、タブレット40を経由して間接的に取得してもよい。
【0033】
ステップS3において、入力システム10は、ステップS2にて検出されたペンダウン操作時にユーザUが視認している物体(以下、視認物体)を特定する。まず、ウェアラブルデバイス20のプロセッサ24は、視線センサ23の検出信号に基づいてユーザUの視線位置52を検出した後、この視線の先にある仮想空間50内の物体を特定する。視認物体を特定する際に、例えば、プロセッサ24は、
図4に示す領域定義テーブルを参照してもよい。
【0034】
図4は、
図3の仮想空間50に関する領域定義テーブルが有するデータ構造の一例を示す図である。この領域定義テーブルは、[1]仮想空間50内にある物体の識別情報である「物体ID」と、[2]物体が占有する「占有範囲」と、[3]物体面がなす座標系の「基底ベクトル」と、[4]座標系の原点を示す「基準座標」との間の対応関係を示すテーブル形式のデータである。
【0035】
まず、プロセッサ24は、視線センサ23の検出信号に基づいてユーザUの視線位置52を検出し、仮想空間50上の視線ベクトルを算出する。そして、プロセッサ24は、
図4に示す領域定義テーブルを参照し、当該視線ベクトルが各々の物体に対応付けられた占有範囲に交差するか否かを判定する。該当する物体がある場合、その物体が「視認物体」であると特定される。なお、
図4の例では、物体毎にIDが割り当てられているが、複数の面を有する物体に関して物体の面毎にIDが割り当てられてもよい。
【0036】
図2のステップS4において、入力システム10(より詳しくは、プロセッサ24)は、ステップS3にて特定された視認物体が、前回に特定された視認物体と同一であるか否かを判定する。同一の視認物体である場合(ステップS4:YES)にはステップS5に進む一方、異なる視認物体である場合(ステップS4:NO)にはステップS6に進む。
【0037】
ステップS5に進んだ場合、入力システム10(より詳しくは、プロセッサ24)は、ステップS3にて特定された視認物体、つまり、今回の視線に応じた指示対象領域74(
図6)を設定する。具体的には、プロセッサ24は、
図4の領域定義テーブルを参照し、仮想座標系70(
図6)のうち平面状の指示対象領域74を設定する。例えば、視認物体がID=OB0001である場合、プロセッサ24は、座標値が(Xv1,Yv1,Zv1)である基準位置72(
図6)を指示対象領域74の「中心点」、2つの基底ベクトル(Ex1↑,Ey1↑)を指示対象領域74の「平面ベクトル」、残り1つの基底ベクトルEz1↑を指示対象領域74の「法線ベクトル」としてそれぞれ設定する。
【0038】
ステップS6に進んだ場合、入力システム10(より詳しくは、プロセッサ24)は、前回のフローチャート実行時のステップS5又はS6、つまり、前回の場合と同一の指示対象領域74を設定する。これと併せて、プロセッサ24は、指示対象領域74が正面になるように視点を切り替えた仮想空間50を表示させる。
【0039】
図5は、ペンダウン操作の前後にわたる3D画像50a,50bの遷移を示す図である。より詳しくは、上側の図はペンダウン操作前の3D画像50aを、下側の図はペンダウン操作後の3D画像50bをそれぞれ示している。例えば、ユーザUの視線位置52にクローゼットのドアにある状態でペンダウン操作が行われると、3D画像50aが3D画像50bに遷移される。この3D画像50bは、クローゼットのドア(つまり、指示対象領域74)が正面になるように視点を切り替えた2次元画像に相当する。
【0040】
図2のステップS7において、入力システム10は、ユーザUによるペンムーブ操作に追従して、仮想空間50上の描画処理を行う。まず、スタイラス30は、ペンダウン操作時における自装置の位置をペン座標系60の原点Opに設定した後、第1IMU32により測定された状態量を逐次的に取得する。そして、ウェアラブルデバイス20は、この状態量を含むデータをスタイラス30から直接的に取得する。あるいは、ウェアラブルデバイス20は、スタイラス30からタブレット40を経由して、当該データを間接的に取得してもよい。
【0041】
そして、プロセッサ24は、所定の変換規則に従ってスタイラス30の状態量を変換し、変換後の状態量を逐次加算することで、仮想空間50上の指示位置を算出する。以下、移動量の時系列を用いて仮想座標系70上の指示位置を算出する例について、
図6を参照しながら説明する。
【0042】
図6上側のペン座標系60は、Xp軸、Yp軸、Zp軸からなる3次元直交座標系であり、スタイラス30によって独自に定義される。例えば、スタイラス30のペンダウン位置62が原点Opである場合、m↑(t)は、t番目の時点におけるペン座標系60上でのスタイラス30の移動量(3次元ベクトル)を示している。
【0043】
一方、
図6下側の仮想座標系70は、Xv軸、Yv軸、Zv軸からなる3次元直交座標系であり、ウェアラブルデバイス20によって独自に定義される。ここで、破線で示す四角形状の領域は、基準位置72を基準として設定された指示対象領域74に相当する。t番目の時点における仮想座標系70上での指示位置がPv(t)とすると、Pv(t)は、Pv(t)=Pv(t-1)+A・m↑(t)に従って逐次算出される。
【0044】
ここで、Aは、ペン座標系60から仮想座標系70に変換するためのアフィン行列(3行×3列)に相当する。このアフィン行列Aは、ペン座標系60及び仮想座標系70が既知であれば一意に定められる。例えば、アフィン行列Aは、物体又は物体面に対応付けて予め記憶されてもよいし、指示対象領域74が設定される度に計算されてもよい。
【0045】
そして、プロセッサ24は、現在表示されている仮想空間50に対して、算出した指示位置にマークを重ねて表示するように表示パネル22を制御する。この動作を逐次実行することで、仮想空間50上に、ドットなどのマークの軌跡(すなわち、ストローク)が重ねて表示される。
【0046】
図2のステップS8において、入力システム10は、ペンアップ操作を検出したか否かを確認する。具体的には、スタイラス30のMCU33は、筆圧センサ31の検出信号に基づいて、筆圧状態が「ON」から「OFF」に変化したか否かを判定する。ペンアップ操作が検出されなかった場合(ステップS8:NO)、当該操作を検出するまでの間、ステップS7,S8を順次繰り返す。一方、ペンアップ操作が検出された場合(ステップS8:YES)、次のステップS9に進む。
【0047】
ステップS9において、入力システム10(より詳しくは、プロセッサ24)は、ステップS5,S6の実行時から設定されていた指示対象領域74を解除する。これと併せて、プロセッサ24は、視点を元に戻した仮想空間50を表示させる。
【0048】
図7は、ペンアップ操作の前後にわたる3D画像50c,50dの遷移を示す図である。より詳しくは、上側の図はペンアップ操作前の3D画像50cを、下側の図はペンアップ操作後の3D画像50dをそれぞれ示している。例えば、1回のストロークが終了した状態でペンアップ操作が行われると、3D画像50cが3D画像50dに遷移される。この3D画像50dは、
図5の3D画像50a上に、1本のストロークが筆記された画像に相当する。
【0049】
その後、ステップS1に戻って、以下、ステップS1~S9のいずれかを順次実行する。このように、入力システム10の動作を継続することで、ユーザUは、あたかも仮想空間50内に筆記を残すような疑似体験を得ることができる。
【0050】
<基本動作による効果>
以上のように、この実施形態における入力システム10は、スタイラス30と、スタイラス30の指示位置を検出するタブレット40と、タブレット40とは別体に設けられ、かつ空間(ここでは、仮想空間50)を表示する表示パネル22と、仮想空間50内のユーザUの視線位置52を検出する視線センサ23と、1又は複数のプロセッサ(ここでは、プロセッサ24)と、を含んで構成される。そして、プロセッサ24は、スタイラス30による所定の操作を受け付けた時点にて視線センサ23により検出された視線位置52に基づいて、スタイラス30の基準位置72を含む指示対象領域74を仮想空間50の中から設定し(
図2のステップS5,S6)、仮想空間50上に重ねてスタイラス30の指示位置を指示対象領域74内に表示するように表示パネル22を制御する(
図2のステップS7)。
【0051】
このように、検出された視線位置52に基づいて、スタイラス30の基準位置72を含む指示対象領域74を仮想空間50の中から設定するので、現時点におけるユーザUの視線の先、すなわち筆記を行おうとするユーザUの意図により近い箇所に指示位置を表示可能となる。これにより、スタイラス30の指示位置を検出するタブレット40と、仮想空間50を表示する表示パネル22とが別体で設けられる装置構成において、ユーザUによる入力操作性がより高まる。
【0052】
特に、上記した特定の操作が、スタイラス30のペン先をタッチ面41に押し当てる「ペンダウン操作」である場合、通常の筆記操作を行う感覚で特別な操作を行う必要がないので、ユーザUにとって使い勝手がさらに向上する。
【0053】
また、指示対象領域74は、仮想空間50内にある物体毎又は物体面毎に設定可能であってもよい。これにより、ユーザUは、あたかも仮想空間50内にある物体を選択して筆記を残すような感覚を獲得することができ、その分だけ疑似体験の現実感が増す。
【0054】
また、プロセッサ24は、前回の視線位置52と今回の視線位置52とが同一の物体上又は物体面上にある場合、前回に設定された場合と同一の基準位置72及び指示対象領域74を設定してもよい。これにより、同一の物体又は物体面上に筆記を続けようとするユーザUの意図を反映させやすくなる。
【0055】
これとは逆に、プロセッサ24は、前回の視線位置52と今回の視線位置52とが異なる物体上又は物体面上にある場合、前回に設定された場合とは異なる基準位置72及び指示対象領域74を設定してもよい。これにより、関心対象である物体又は物体面が変更された旨のユーザUの意図を反映させやすくなる。
【0056】
また、プロセッサ24は、指示対象領域74が設定された場合、指示対象領域74が正面になる視点に切り替えて仮想空間50を表示させてもよい。これにより、ユーザUが筆記操作を行いやすくなる。
【0057】
また、スタイラス30又はタブレット40は、所定の操作を受け付けた時点から、スタイラス30の移動量を逐次的に出力し、プロセッサ24は、所定の変換規則に従ってスタイラス30の移動量を変換し、変換後の移動量を基準位置72の座標値に逐次加算することで、仮想空間50上の指示位置を算出してもよい。プロセッサ24が仮想空間50上の指示位置を算出する構成にすることで、スタイラス30による演算処理の負荷が軽減される。
【0058】
[スタイラス30の状態補正]
<基本動作における問題点>
上記した基本動作では、タブレット40が移動することなく水平状態に配置されることを想定している。ところが、タブレット40の位置・姿勢が時間とともに変化する場合、仮想空間50上に正しく筆記されない場合がある。
【0059】
図8は、ペン座標系60と検出座標系80の間の対応関係を示す図である。図面上側のペン座標系60は、Xp軸、Yp軸、Zp軸からなる3次元直交座標系であり、スタイラス30によって独自に定義される。一方、図面下側の検出座標系80は、Xd軸、Yd軸、Zd軸からなる3次元直交座標系であり、タブレット40によって独自に定義される。ここで、破線で示す四角形状の領域は、タッチ面41がなす領域に相当する。
【0060】
タブレット40が理想状態(例えば、水平状態)に配置される場合、Xp-Yp平面は、Xd-Yd平面に対して平行である。つまり、ユーザUが筆記(ペンムーブ操作)を行っている間、スタイラス30は水平方向に沿って移動する。ところが、タブレット40が水平面に傾斜して配置される場合、ユーザUが筆記を行っている間、スタイラス30は傾斜したタッチ面41(Xd-Yd平面)に沿って移動する。すなわち、理想の配置状態との乖離が生じ、ウェアラブルデバイス20が実行するアフィン変換処理が実際の挙動と適合しなくなってしまう。そこで、タブレット40の状態量を用いてスタイラス30の状態量を補正することで、上記した問題を解決することができる。
【0061】
<補正動作の説明>
図9は、タブレット40の状態を考慮した補正動作に関する模式図である。ウェアラブルデバイス20、スタイラス30及びタブレット40のうち、主要の構成のみを表記している。以下、スタイラス30が第1IMU32を用いて計測した自装置の状態量を「第1状態量」といい、タブレット40が第2IMU46を用いて計測した自装置の状態量を「第2状態量」という。
【0062】
スタイラス30のMCU33は、第1IMU32により第1周期T1で計測された第1状態量を逐次取得する。そして、MCU33は、この第1状態量と、直近に取得された第2状態量を集約した後、筆圧センサ31による筆圧の検出結果及び集約済みの状態量を含むデータ(以下、「第1データ」という)をウェアラブルデバイス20に送信する制御を行う。ここで、「集約」とは、第1状態量から第2状態量を差し引いた相対状態量を得ること、あるいは第1状態量及び第2状態量を連結することを意味する。以下、スタイラス30とウェアラブルデバイス20の間の通信を「第1通信」という。
【0063】
一方、スタイラス30のMCU33は、第2状態量を含むデータ(以下、「第2データ」という)をタブレット40から受信する制御を行う。この第2状態量は、タブレット40の第2MCU46により第2周期T2で逐次計測される。以下、スタイラス30とタブレット40の間の通信を「第2通信」という。第2状態量の送受信に際し、例えば、BlueTooth(登録商標)などの通信規格に従って実装されるリレー通信機能を用いられる。
【0064】
ところで、筆記する側のスタイラス30は、ユーザUによって頻繁に動かされるため、状態の時間変化が相対的に大きくなる。これに対して、筆記される側のタブレット40は、ユーザUによって殆ど動かされないため、状態の時間変化が相対的に小さくなる。つまり、第2状態量の更新頻度を低くしたとしても、補正の効果が十分に得られると考えられる。そこで、第2通信の実行頻度を第1通信の実行頻度よりも相対的に低くすることで、その分だけ通信回数を削減可能となり、その結果、消費電力を節約することができる。
【0065】
具体的には、第1通信及び第2通信が同期的に行われる場合、単位時間あたりの通信回数をN:1(Nは、2以上の整数)に設定してもよい。あるいは、第1通信及び第2通信が非同期的に行われる場合、T1<T2の関係を満たすように、第1,第2通信の実行周期であるT1,T2をそれぞれ設定してもよい。
【0066】
ウェアラブルデバイス20のプロセッサ24は、補正された状態量を用いて、仮想空間50上の指示位置を算出する。プロセッサ24は、相対状態量を含む第1データを取得した場合、この相対状態量をそのまま用いて指示位置を計算する。一方、プロセッサ24は、第1状態量及び第2状態量のペアを含む第1データを取得した場合、第1状態量から第2状態量を差し引いた相対状態量を用いて指示位置を計算する。
【0067】
以上のように、この実施形態における入力システム10は、スタイラス30と、スタイラス30の指示位置を検出するタブレット40と、1又は複数のプロセッサ24と、を含んで構成される。スタイラス30及びタブレット40は、相互に通信可能であり、スタイラス30は、自装置の状態又は状態の時間変化を示す第1状態量を計測可能であり、タブレット40は、自装置の状態又は状態の時間変化を示す第2移動量を計測可能である。そして、スタイラス30は、第2通信により、第2状態量を含む第2データをタブレット40から受信するとともに、第1通信により、第1状態量及び第2状態量を集約した第1データをプロセッサ24に送信する。
【0068】
また、集約は、第1状態量から第2状態量を差し引いて相対状態量を算出すること又は第1状態量及び第2状態量を連結することであってもよい。また、第2通信は、プロセッサ24との間で行われない、第1通信と異なる手段を用いた通信(例えば、リレー通信)であってもよい。また、第2通信の実行頻度は、第1通信の実行頻度よりも低くされてもよい。
【0069】
[変形例]
なお、本発明は上記の具体例に限定されるものではない。すなわち、上記の具体例に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。また、前述した実施形態及び後述する変形例が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。
【0070】
上記した実施形態では、ウェアラブルデバイス20が仮想現実(VR)技術を用いた仮想現実空間を表示する例を挙げて説明したが、これに代えて、拡張現実(AR)技術や複合現実(MR)技術を用いた空間が表示されてもよい。例えば、AR技術の場合、実空間にある物体に関する各種情報を取得した後、
図4に示す領域定義テーブルを予め作成しておけばよい。
【0071】
上記した実施形態では、ペンダウン操作を契機としてプロセッサ24が指示対象領域74を設定しているが、これ以外の操作、例えばスタイラス30が有するサイドスイッチの操作を契機としてもよい。また、上記した実施形態では、ペンダウン操作/ペンアップ操作を契機としてプロセッサ24が仮想空間50の視点を切り替える表示制御を行っているが、これに代えて、視点を切り替えない表示制御を行ってもよい。
【符号の説明】
【0072】
10…入力システム、20…ウェアラブルデバイス、22…表示パネル(表示ユニット)、23…視線センサ(位置検出部)、24…プロセッサ、30…スタイラス(指示デバイス)、40…タブレット(検出デバイス)、50…仮想空間(空間)、52…視線位置、72…基準位置、74…指示対象領域