IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コックス スペース カンパニー リミテッドの特許一覧 ▶ キム,ホヨンの特許一覧

特許7455277モーション信号とマウス信号を使用してホスト装置を制御するための電子装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-14
(45)【発行日】2024-03-25
(54)【発明の名称】モーション信号とマウス信号を使用してホスト装置を制御するための電子装置
(51)【国際特許分類】
   G06F 3/01 20060101AFI20240315BHJP
   G06F 3/0346 20130101ALI20240315BHJP
【FI】
G06F3/01 510
G06F3/01 514
G06F3/01 570
G06F3/0346 424
【請求項の数】 9
(21)【出願番号】P 2023510353
(86)(22)【出願日】2021-05-28
(65)【公表番号】
(43)【公表日】2023-09-05
(86)【国際出願番号】 KR2021006642
(87)【国際公開番号】W WO2022035027
(87)【国際公開日】2022-02-17
【審査請求日】2023-02-28
(31)【優先権主張番号】10-2020-0100795
(32)【優先日】2020-08-11
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】523048284
【氏名又は名称】コックス スペース カンパニー リミテッド
(73)【特許権者】
【識別番号】523047601
【氏名又は名称】キム,ホヨン
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】キム,ホヨン
【審査官】遠藤 孝徳
(56)【参考文献】
【文献】特表2018-505500(JP,A)
【文献】国際公開第2018/043722(WO,A1)
【文献】中国特許出願公開第107678542(CN,A)
【文献】特開2002-110284(JP,A)
【文献】特開2001-117686(JP,A)
【文献】特表2017-528786(JP,A)
【文献】特表2012-508416(JP,A)
【文献】国際公開第2014/046204(WO,A1)
【文献】特開2015-15000(JP,A)
【文献】特開2017-134820(JP,A)
【文献】特許第6545569(JP,B2)
【文献】韓国公開特許第10-2019-0040768(KR,A)
【文献】韓国公開特許第10-2018-0044613(KR,A)
【文献】韓国公開特許第10-2018-0112308(KR,A)
【文献】韓国公開特許第10-2015-0118377(KR,A)
【文献】韓国公開特許第10-2014-0125574(KR,A)
【文献】韓国登録特許第10-1870542(KR,B1)
【文献】特開2017-168060(JP,A)
【文献】特許第6545258(JP,B2)
【文献】特開2012-68922(JP,A)
【文献】特表2019-536189(JP,A)
【文献】特表2016-504697(JP,A)
【文献】特許第6524111(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/033 - 3/039
(57)【特許請求の範囲】
【請求項1】
ホスト装置とペアリングされて前記ホスト装置のコンテンツを制御するための電子装置であって、
第1タッチ領域と、第2タッチ領域と、第3タッチ領域とに区分される表面を含むタッチセンシングモジュールと、
加速度センサと、ジャイロセンサと、地磁気センサとに基づいて前記電子装置の3次元空間上の第1動き情報を獲得するための動きセンシングモジュールと、
前記第1動き情報を演算することで第2動き情報を獲得し、ジェスチャモードの下で、前記第2動き情報に基づいて前記電子装置の動きに対応するモーションを決定し、前記決定されたモーションを示すモーション信号を前記ホスト装置に出力し、マウスモードの下で、前記タッチセンシングモジュールから獲得されるタッチ情報及び前記第2動き情報のうち少なくとも一つに基づいてマウスの動作を決定し、前記マウスの動作を示すマウス信号を前記ホスト装置に出力するための制御信号出力部と、
前記タッチセンシングモジュールと、前記動きセンシングモジュールと、前記制御信号出力部とを埋め込むための筐体と、
前記筐体を収納し、蓋を閉めるか前記蓋を開けて前記筐体を取り出すためのクレードル装置と、を含み、
前記第1動き情報は、前記加速度センサによって獲得される加速度データと前記ジャイロセンサによって獲得される角速度データのうち少なくとも一つを含み、
前記動きセンシングモジュールは、前記第1動き情報を内部バスを介して前記制御信号出力部に伝達し、
前記第2動き情報は、角度データ、距離データ、速度データ、及び方向データのうち少なくとも一つを含み、
前記マウス信号は、マウスのクリック、マウスのスクロール、マウスのムーブ、またはマウスのドラッグを含み、
前記タッチセンシングモジュールによって感知されるタッチ動作によって前記マウスモードと前記ジェスチャモードとの間の切り替えが行われ、
前記クレードル装置の下側には重心おもりが位置し、
前記クレードル装置に前記筐体が収納されて前記蓋が閉まったら前記タッチ動作のための前記第1タッチ領域と、前記第2タッチ領域と、前記第3タッチ領域とが露出され、ユーザが前記クレードル装置を手で握って動くか前記露出された前記第1タッチ領域、前記第2タッチ領域、または前記第3タッチ領域をタッチすることで前記モーション信号または前記マウス信号が出力され、
前記ユーザが前記クレードル装置から分離された前記筐体を指に着用したまま前記筐体を動かすか、前記第1タッチ領域、前記第2タッチ領域、または前記第3タッチ領域をタッチすることで前記モーション信号または前記マウス信号が出力され、
前記制御信号出力部は、前記マウスモードの下で、前記マウスのムーブが、前記第2動き情報から決定され、前記タッチセンシングモジュールによって感知されるタッチ動作が、前記第1タッチ領域のみのタッチであるか、または前記第1タッチ領域と前記第2タッチ領域の同時タッチである場合、前記マウスの動作を前記マウスのクリックと決定し、前記タッチセンシングモジュールによって感知されるタッチ動作が、前記第1タッチ領域、前記第2タッチ領域、及び前記第3タッチ領域の順次のタッチである場合、前記マウスの動作を前記マウスのスクロールと決定する、電子装置。
【請求項2】
前記距離データは、x軸方向、y軸方向、及びz軸方向それぞれに対する距離データを含み、
前記速度データは、x軸方向、y軸方向、及びz軸方向それぞれに対する速度データを含み、
前記方向データは、x軸方向への増減可否、y軸方向への増減可否、及びz軸方向への増減可否に対する情報を含み、
前記制御信号出力部は、前記タッチセンシングモジュールを基準時間より長い間前記筐体を動かしたら前記マウスの動作を前記マウスのドラッグと決定する、請求項1に記載の電子装置。
【請求項3】
前記制御信号出力部は、前記ジェスチャモードの下、前記ホスト装置を制御するための予め定義されたモーションのうち前記第2動き情報に対応するモーションを決定するように構成されるが、
前記予め定義されたモーションは前記ホスト装置で実行される文書のページをめくるためのムーブを含み、
前記予め定義されたモーションはユーザ定義モーションを含むが、
前記ユーザ定義モーションは、前記電子装置を手で握るか着用したユーザが特定の動きを繰り返してとり、前記ユーザが前記特定の動きを前記ユーザ定義モーションと対応することで定義される、請求項1に記載の電子装置。
【請求項4】
前記制御信号出力部は、前記電子装置のユーザが第1ユーザであれば前記第1ユーザの第2動き情報を第1決定モデルに入力して対応するモーションを決定し、前記電子装置のユーザが第2ユーザであれば前記第2ユーザの第2動き情報を第2決定モデルに入力して対応するモーションを決定するが、
前記第1決定モデルは、前記第1ユーザの前記第2動き情報と特定モーションをそれぞれ入力と出力として繰り返し適用した機械学習技法に基づいて生成されたものであり、
前記第2決定モデルは、前記第2ユーザの前記第2動き情報と特定モーションをそれぞれ入力と出力として繰り返し適用した機械学習技法に基づいて生成されたものである、請求項3に記載の電子装置。
【請求項5】
前記動きセンシングモジュールは、前記加速度センサと、前記ジャイロセンサと、前記地磁気センサそれぞれから獲得されるデータをフィルタに基づいて補償及び融合することで最適化された前記第1動き情報を獲得するためのセンサ融合部を更に含む、請求項1に記載の電子装置。
【請求項6】
前記制御信号出力部は、
前記第1動き情報を演算することで前記第2動き情報を獲得し、前記第2動き情報に基づいて前記電子装置の動きと対応する前記モーションまたはマウスの動作を決定するためのプロセッサと、
無線通信インタフェースに基づいて前記モーション信号または前記マウス信号を前記ホスト装置に伝達するための通信部と、を含む、請求項1に記載の電子装置。
【請求項7】
前記プロセッサは、前記第2動き情報を基準時間ごとに獲得するが、前記基準時間は30ms以下である、請求項6に記載の電子装置。
【請求項8】
前記プロセッサは、前記加速度データから重力加速度成分を除去した線形加速度データに積分演算を行うことで前記速度データと前記距離データを獲得する、請求項6に記載の電子装置。
【請求項9】
前記プロセッサは、
前記角速度データに積分演算を行うことで前記角度データを獲得し、
現在の距離データと以前の距離データとの比較に基づいて前記方向データを獲得する、請求項6に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホスト装置を制御するための電子装置に関し、より詳しくは、タッチ操作や3次元空間上の動きに基づいてホスト装置の多様なコンテンツを容易で直感的に制御するための電子装置に関する。
【背景技術】
【0002】
最近、拡張現実(Augmented Reality、AR)、仮想現実(Virtual Reality、VR)、複合現実(Mixed Reality、MR)のような仮想現実に基づくコンテンツ市場が発展しつつある。また、仮想現実の大衆化につれ仮想コンテンツを生成し制御するインタフェースに対する関心が高まっている。仮想コンテンツは仮想の3次元空間に再生されて扱われる仮想のオブジェクトであって、現在までのインタフェース装置は消費者のニーズを完全に充足することができず、汎用インタフェースとしても適合ではなかった。
【0003】
従来のVRコントローラの場合、器具が大きくて重くて高価なだけでなく、多様な機能に対する学習が必要であった。また、VRコントローラは特定のHMD(Head Mounted Display)に専用に使用されるため、一般の汎用マウスのようにいつどこでも使用することができないという問題点があった。
【発明の概要】
【発明が解決しようとする課題】
【0004】
3次元空間上でのモーショントラッキング(Motion Tracking)とタッチセンシングによって、汎用マウスの動作とコンテンツを制御する動作をいずれも行うことができる電子装置が提供される。
【0005】
本実施例がなそうとする技術的課題は、上述した技術的課題に限らず、以下の実施例から他の技術的課題が類推される。
【課題を解決するための手段】
【0006】
3次元空間上でのモーショントラッキングとタッチセンシングによって、汎用マウスの動作とコンテンツを制御する動作をいずれも行うことができる電子装置が提供される。
【0007】
ホスト装置とペアリングされて前記ホスト装置のコンテンツを制御するための電子装置は、タッチセンシングモジュールと、加速度センサと、ジャイロセンサと、地磁気センサとに基づいて前記電子装置の第1動き情報を獲得するための動きセンシングモジュールと、前記第1動き情報を演算することで第2動き情報を獲得し、ジェスチャモードの下、前記第2動き情報に基づいて前記電子装置の動きに対応するモーションを決定し、前記決定されたモーションを示すモーション信号を前記ホスト装置に出力し、マウスモードの下、前記タッチセンシングモジュールから獲得されるタッチ情報及び前記第2動き情報のうち少なくとも一つに基づいてマウスの動作を決定し、前記マウスの動作を示すマウス信号を出力するための制御信号出力部と、を含むが、前記第1動き情報は、前記加速度センサによって獲得される加速度データと前記ジャイロセンサによって獲得される角速度データのうち少なくとも一つを含み、前記動きセンシングモジュールは、前記第1動き情報を内部バスによって前記制御信号出力部に伝達し、前記第2動き情報は、角度データと、距離データと、速度データと、方向データとのうち少なくとも一つを含み、前記マウス信号は、マウスのクリック、マウスのスクロール、マウスのムーブ、またはマウスのドラッグを含み、前記タッチセンシングモジュールによって感知されるタッチ動作によって前記マウスモードと前記ジェスチャモードとの間の切り替えが行われる。
前記距離データは、x軸方向、y軸方向、及びz軸方向それぞれに対する距離データを含み、前記速度データは、x軸方向、y軸方向、及びz軸方向それぞれに対する速度データを含み、前記方向データは、x軸方向への増減可否、y軸方向への増減可否、及びz軸方向への増減可否に関する情報を含む。
前記制御信号出力部は、前記ジェスチャモードの下、前記ホスト装置を制御するための予め定義されたモーションのうち前記第2動き情報に対応するモーションを決定するように構成されるが、前記予め定義されたモーションはムーブ及びロテーションを含む。
【0008】
前記予め定義されたモーションはユーザ定義モーションを更に含むが、前記ユーザ定義モーションは、前記電子装置を手で握るか着用したユーザが繰り返し特定の動きをとり、前記ユーザが前記特定の動きを前記ユーザ定義モーションと対応することで定義される。
【0009】
前記制御信号出力部は、前記電子装置のユーザが第1ユーザであれば前記第1ユーザの第2動き情報を第1決定モデルに入力して対応するモーションを決定し、前記電子装置のユーザが第2ユーザであれば前記第2ユーザの第2動き情報を第2決定モデルに入力して対応するモーションを決定するが、前記第1決定モデルは、前記第1ユーザの前記第2動き情報と特定モーションをそれぞれ入力と出力として繰り返し適用した機械学習技法に基づいて生成されたものであり、前記第2決定モデルは、前記第2ユーザの前記第2動き情報と特定モーションをそれぞれ入力と出力として繰り返し適用した機械学習技法に基づいて生成されたものである。
【0010】
前記動きセンシングモジュールは、前記加速度センサと、前記ジャイロセンサと、前記地磁気センサそれぞれから獲得されるデータをフィルタまたはアルゴリズムに基づいて補償及び融合することで最適化された前記第1動き情報を獲得するためのセンサ融合部を更に含む。
【0011】
前記制御信号出力部は、前記第1動き情報を演算することで前記第2動き情報を獲得し、前記第2動き情報に基づいて前記電子装置の動きと対応する前記モーションまたはマウスの動作を決定するためのプロセッサと、無線通信インタフェースに基づいて前記モーション信号または前記マウス信号を前記ホスト装置に伝達するための通信部と、を含む。
【0012】
前記プロセッサは、前記第2動き情報を基準時間ごとに獲得するが、前記基準時間は30ms以下である。
【0013】
前記プロセッサは、前記加速度データから重力加速度成分を除去した線形加速度データに積分演算を行うことで前記速度データと前記距離データを獲得する。
【0014】
前記プロセッサは、前記角速度データに積分演算を行うことで前記角度データを獲得し、現在の距離データと以前の距離データとの比較に基づいて前記方向データを獲得する。
【0015】
前記制御信号出力部は、前記マウスモードの下、前記電子装置のユーザがキーボードを使用している際とマウスを使用している際とを区分し、前記ユーザがキーボードを使用していると判断されれば前記マウス信号を出力しない。
【0016】
前記タッチセンシングモジュール、前記動きセンシングモジュール、及び前記制御信号出力部のうち少なくとも一つの動作のために必要な電源を供給するバッテリを更に含む。
【0017】
前記タッチセンシングモジュール、前記動きセンシングモジュール、及び前記制御信号出力部を埋め込むための筐体を更に含むが、前記筐体をユーザの指に着用または固定するための連結部を更に含む。
【0018】
前記筐体と前記連結部を収納するためのクレードル装置を更に含むが、前記クレードル装置によって前記バッテリが充電され、前記クレードル装置の下側には重心おもりが位置し、前記クレードル装置に前記筐体と前記連結部が収納されたら、前記筐体のうち一面が露出される。
【0019】
前記タッチセンシングモジュールは、第1タッチ領域と、第2タッチ領域と、第3タッチ領域とを含み、前記制御信号出力部は、前記マウスモードの下、前記タッチセンシングモジュールによって感知されるタッチ動作が前記第1タッチ領域のみのタッチであるか、前記第1タッチ領域と前記第2タッチ領域の同時タッチであれば、前記マウスの動作を前記マウスのクリックと決定し、前記タッチセンシングモジュールによって感知されるタッチ動作が前記第1タッチ領域、前記第2タッチ領域、及び第3タッチ領域の順次タッチであれば、前記マウスの動作を前記マウスのスクロールと決定する。
【発明の効果】
【0020】
着用が容易で、直感的で、操作方法に対する学習が不必要な電子装置が提供される。
【0021】
前記電子装置は形態が簡便なため、いつどこでもスマートフォン、テレビ、タブレットPC、ホログラム、HMD上の多様なコンテンツを容易で精密にコントロールすることができる。
【図面の簡単な説明】
【0022】
図1a】一実施例によって、ホスト装置を制御するための電子装置(閉まった状態)を示す図である。
図1b】一実施例によって、ホスト装置を制御するための電子装置(開いた状態)を示す図である。
図2a】一実施例によって、電子装置内のリング状装置を示す図である。
図2b】一実施例によって、電子装置を使用してコンテンツを制御することを示す図である。
図3】一実施例によって、電子装置を含むシステムを示す図である。
図4a】一実施例によって、マウスモードの下、電子装置で行われるマウスの動作を示す図である。
図4b】一実施例によって、電子装置の正面部分が3つのタッチ領域に区分されることを示す図である。
図4c】一実施例によって、3つの領域を利用して認識されるマウスの動作を示す図である。
図5】一実施例によって、ユーザの動き情報に対応するモーションを決定するための決定モデルを示す図である。
図6】一実施例によって、電子装置を活用したジョイスティックを示す図である。
図7】一実施例によって、ジェスチャモードの下、電子装置でホスト装置を制御するためのモーションを示す図である。
図8】一実施例によって、電子装置が埋め込まれたさいころを示す図である。
図9】一実施例によって、電子装置が連結された杖を示す図である。
図10】一実施例によって、電子装置を使用してコンテンツを制御する方法を示すフローチャートである。
図11】一実施例によって、距離データを確保するための方法を示すフローチャートである。
図12】一実施例によって、電子装置がオブジェクトの動きをマウスモード下におけるマウスのムーブ、またはジェスチャモード下におけるムーブモーションと決定し、動いた距離データを獲得するための方法を示すフローチャートである。
図13】一実施例によって、ホスト装置がムーブモーションに基づいてコンテンツをズームインするかズームアウトする動作を示すフローチャートである。
図14】一実施例によって、電子装置がオブジェクトの動きをタップモーションと決定するための方法を示すフローチャートである。
図15】一実施例によって、電子装置がオブジェクトの動きを握るモーションと決定するための方法を示すフローチャートである。
図16】一実施例によって、電子装置がオブジェクトの動きをスクロールモーションと決定するための方法を示すフローチャートである。
図17】一実施例によって電子装置がオブジェクトの動きをスワイプモーションと決定するための方法を示すフローチャートである。
図18】一実施例によって、電子装置がオブジェクトの動きをロテーションモーションと決定するための方法を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、当業者が本発明を容易に実施し得るように、添付した図面を参照していくつかの実施例が明確にかつ詳細に説明される。
【0024】
また、明細書で使用される「部」または「モジュール」という用語は、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)のようなハードウェア構成要素または回路を意味する。
【0025】
以下、「コンテンツ」は、ゲーム、音楽、映画、画像、アニメーション、キャラクタ、アイテム、物体のようなメディア自体またはメディア上で再生されるオブジェクトを含むが、これに限らない。「コンテンツ」はホスト装置で駆動される運営体制またはソフトウェアを含む。ソフトウェアは、ワードプロセッサ、パワーポイントのような文書プログラムと、専門的な作業を行うための画像処理プログラムと、CADプログラムと、ゲームとを含む。「コンテンツ」はAR/VR/MRのような仮想現実で生成される仮想コンテンツを含む。「コンテンツ」は、2次元の画面に再生されるオブジェクトまたはホログラムのような3次元空間上に表現される3次元立体オブジェクトを含む。「コンテンツ」はホスト装置によって生成、実行、または再生される。「コンテンツ」が3次元空間上で表現される仮想コンテンツ(例えば、ホログラム)であれば、ホスト装置と「コンテンツ」の物理的位置は異なり得る。
【0026】
以下、「モーション(motion)」はコンテンツを制御するためにユーザがとる有意味な動き(movement)であって、ユーザの動きからキャプチャ、抽出、認識、分析、または決定される。
【0027】
以下、「制御信号」はモーション自体またはモーションのタイプに関する情報を含む信号であって、電子装置は「制御信号」を発生し、ホスト装置は電子装置から受信される「制御信号」に基づいてコンテンツを動作するか制御する。例えば、「制御信号」はビット列の形態であり、モーションそれぞれはそれぞれ異なるビット列に表現される。
【0028】
図1aは、一実施例によってホスト装置を制御するための電子装置(閉まった状態)を示す図である。図1bは、一実施例によってホスト装置を制御するための電子装置(開いた状態)を示す図である。
【0029】
ユーザは電子装置1000を手で握るか手に持った状態でタッチや手の動きによってホスト装置をコントロールする。ホスト装置は多様な種類の電子装置を含む。例えば、ホスト装置は、ゲーム機、スマートフォン、タブレットPC(Personal Computer)、テレビ、デスクトップPC、ノートブックPC、モバイル医療機器、カメラ、またはウェアラブル装置(例えば、電子眼鏡、電子衣服、電子ブレスレット、電子ネックレス、電子アクセサリ、電子タトゥー、またはスマートウォッチ)のうちいずれか一つであるが、これに限らない。例えば、ホスト装置は仮想コンテンツを表示するためのHMDと、仮想現実ゲームまたは仮想現実コンテンツを実行するか再生するためのゲーム機と(例えば、コンソール機器)を含む。ホスト装置はプレゼンテーション資料を表示するためのコンピュータを含む。
図1aと図1bを共に参照すると、電子装置1000は、ユーザの指に着用可能なリング状装置1200と、リング状装置1200を収納するためのクレードル(Cradle)装置1400とを含む。ユーザはリング状装置1200をクレードル装置1400に収納し蓋を閉める。
【0030】
リング状装置1200がクレードル装置1400に収納されてクレードル装置1400の蓋が閉まっている状態で、リング状装置1200の正面部分(ヘッド部分、後述するメインモジュール1240の正面(または一面))がクレードル装置1400の正面に露出され、ユーザはクレードル装置1400を手で握ったまま動くことでモーション信号を発生するか、露出されたリング状装置1200の正面部分をタッチすることでタッチ動作を行う。一実施例によって、リング状装置1200の正面部分にタッチセンシングモジュールが位置する。
【0031】
ユーザはクレードル装置1400の蓋を開けてリング状装置1200を取り出す。ユーザはリング状装置1200を指に着用したままタッチ動作やモーションによってホスト装置を制御する。クレードル装置1400は人が手で握りやすい形態に製作され、クレードル装置1400の下側には重心おもいりが位置してクレードル装置1400の重心が低く設計される。クレードル装置1400はリング状装置1200を充電するための充電端子と電源装置を含む。
【0032】
リング状装置1200は、ユーザの動き情報を獲得するためのモーションセンサと、ユーザのタッチ情報を獲得するためのタッチセンサとを含む。リング状装置1200は獲得された動き情報とタッチ情報に基づいて制御信号を生成し、生成された制御信号をホスト装置に出力する。ホスト装置はリング状装置1200から受信される制御信号に基づいてコンテンツを制御する。
【0033】
図2aは一実施例によるリング状装置を示す図であり、図2bは一実施例によってユーザがリング状装置を着用したままコンテンツを制御することを示す図である。
図2aと図2bを共に参照すると、リング状装置1200は人体または物体取り付けられるか、連結乃至着用可能な小型のウェアラブル装置である。リング状装置1200は着用が楽で、ユーザは別途に学習しなくても直感的にリング状装置1200の機能を動作することができる。また、リング状装置1200は動き情報とタッチ情報を利用して汎用マウスのように汎用装置として使用することができる。
リング状装置1200は、ユーザの指2300に着用されるようにするための連結部1200と、センサを利用して動き情報とタッチ情報を獲得するためのメインモジュール1240を含む。連結部1220はシリコン、メタルなどの素材からなる。メインモジュール1240はユーザのタッチ情報と動き情報を獲得し、獲得した情報に対応する制御信号を出力する。メインモジュール1240は、後述する電子装置3000の構成要素及び構成要素が埋め込まれた筐体を意味する。一実施例によって、メインモジュール1240は連結部1220と分離されるが、ユーザはメインモジュール1240のみを多様な種類のオブジェクト(杖、さいころ、ペンなど)に挿入、取り付け、またな埋め込み、多様な種類のオブジェクトを使用してホスト装置を制御する。
【0034】
メインモジュール1240はタッチ情報と動き情報(例えば、メインモジュール1240の動きに対する角速度、加速度、速度、距離、角度、方向、位置(3次元空間座標)情報)を獲得し、それを加工及び処理することでコンテンツ2500を制御するための制御信号を出力する。
【0035】
図2bにはリング状装置1200がユーザの指2300に着用されると示したが、リング状装置1200は他の形態のオブジェクトと連結されるか取り付けられてもよい。
【0036】
例えば、メインモジュール1240はさいころに埋め込まれて、さいころの動きに基づいてコンテンツ2500が制御されてもよい。または、メインモジュール1240は杖に取り付けられて、杖の動きに基づいてコンテンツ2500が制御されてもよい。または、メインモジュール1240はペンに埋め込まれて、スマートフォン上のコンテンツ2500がペンの動きに基づいて制御されてもよい。以下、オブジェクトは人の身体部位(例えば、指)、人が着用できるが持ち上げられるもの、または後述する電子装置3000自体を意味する。
【0037】
また、図2bにはコンテンツ2500が3次元空間上のホログラムオブジェクトとして示されたが、コンテンツ2500はホスト装置で再生されるいかなる形態のコンテンツやソフトウェア(マイクロソフト社のMS office、ゲームなど)なども含む。
【0038】
図3は、一実施例によって電子装置を含むシステムを示す図である。図3を参照すると、システム1000は電子装置3000とホスト装置(または、ターゲット装置)を含む。電子装置3000はホスト装置と無線通信方式によって連結される。例えば、電子装置3000はホスト装置とブルートゥース(登録商標)方式によってペアリング(pairing)される。電子装置3000は、図1aのリング状装置1200が収納されたクレードル装置1400、クレードル装置1400から分離されたリング状装置1200、または図2aのリング状装置1200のメインモジュール1240を意味する。
【0039】
ユーザは電子装置3000を使用してホスト装置の多様なコンテンツを制御する。一実施例によって、ユーザは電子装置3000自体または電子装置3000と連結されたオブジェクトの動き及び/または電子装置3000に入力されるユーザのタッチ動作に基づいてホスト装置のコンテンツを制御する。例えば、ユーザは電子装置3000を自らの指に着用して指を動かすか、指で電子装置3000をタッチすることでホスト装置の多様なコンテンツを制御する。
【0040】
図3を参照すると、電子装置3000は、動きセンシングモジュール3200と、タッチセンシングモジュール3300と、通信チャネル3400と、制御信号出力部3600とを含む。
【0041】
電子装置3000はマウスモード(Mouse Mode)またはジェスチャモード(Gesture Mode)で動作する。マウスモードの下では電子装置3000は汎用マウスのように動作し、ジェスチャモードの下では電子装置3000はモーション認識装置として動作する。
【0042】
マウスモードの下、電子装置3000はタッチセンシングモジュール3300によって感知されるタッチ動作及び動きセンシングモジュール3200によって感知される動き情報のうち少なくとも一つに基づいてマウスの動作を決定し、マウスの動作を示すマウス信号を出力する。
【0043】
例えば、マウスのクリック(Click)は電子装置3000の一面を一回タッチすることで行われ、マウスのダブルクリック(Double Click)は電子装置3000の一面を基準時間内に2回タッチすることで行われ、マウスのムーブ(Move)は電子装置3000の動き情報(例えば、後述する第2動き情報)から決定され、マウスのスクロール(Scroll Up/Down)はタッチの連続的な変化(例えば、スクロールアップは電子装置3000の一面を指で左から右になでる動き、スクロールダウンは電子装置3000の一面を指で右から左になでる動き)、マウスのドラッグ(Drag)はタッチ時間(例えば、ロングタッチ)と電子装置3000の動き情報によって決定される。一実施例によって、タッチ時間が200ms以内であればショートタッチと決定され、タッチ時間が500ms以上であればロングタッチと決定される。タッチが行われる電子装置3000の一面はタッチセンシングモジュール3300として図2aを参照して説明した正面部分である。
【0044】
ジェスチャモードの下、電子装置3000はセンサを利用して電子装置3000の動き情報を獲得し、獲得された動き情報に基づいて電子装置3000の動きに対応するモーションを決定する。電子装置3000は決定されたモーションを示すモーション信号をホスト装置に出力する。一実施例によって、動き情報は、オブジェクトの動きに対する特徴(例えば、角速度、角速度、速度、距離、角度、方向、及び位置のうち少なくとも一つ)を含む。
【0045】
以下、電子装置3000の構成要素の動作と機能について説明する。
【0046】
図3を参照すると、タッチセンシングモジュール3300はユーザのタッチを感知する。例えば、ユーザがリング状装置1200を人差し指に着用した状態でユーザが親指でリング状装置1200の正面部分をタッチすれば、タッチセンシングモジュール3300はタッチ動作を感知する。タッチセンシングモジュール3300によって感知されたタッチ動作は通信チャネル3400を介して制御信号出力部3600に伝達される。
【0047】
タッチセンシングモジュール3300によって感知されるタッチ動作は上述したマウスモードの下でのマウスの動作を決定するために使用される。または、タッチセンシングモジュール3300によって感知されるタッチ動作は、ジェスチャモードの下でオブジェクトの動きに対応するモーションを決定するために使用される。または、タッチセンシングモジュール3300によって感知されるタッチ動作は、マウスモードとジェスチャモードとの間の切り替えのために使用される。
【0048】
マウスモードとジェスチャモードとの間の切り替えはタッチ動作によって行われる。例えば、タッチセンシングモジュール3300によってユーザのショートタッチ、ショートタッチ、ロングタッチが連続的に感知されたら、ジェスチャモードからマウスモードに、またはマウスモードからジェスチャモードに切り替えられる。または、タッチセンシングモジュール3300によってリング状装置1200の正面部分のうち中間部分を基準時間以上タッチしたら、ジェスチャモードからマウスモードに、またはマウスモードからジェスチャモードに切り替えられる。
【0049】
動きセンシングモジュール3200は電子装置3000の第1動き情報を獲得する。第1動き情報はマウスモードとジェスチャモードのいずれでも使用される。第1動き情報は、加速度センサによって獲得される加速度データと、ジャイロセンサによって獲得される角速度データのうち少なくとも一つを含む。
【0050】
動きセンシングモジュール3200は、加速度センサ(Accelerometer)3220と、ジャイロセンサ(Gyroscope)3240と、地磁気センサ(Magnetometer)3260と、センサ融合部3280とを含む。一実施例によるジャイロセンサ3240は角速度を測定するためのセンサである。一実施例による加速度センサ3220は加速度を測定し、振動、衝撃などの動的力を測定するためのセンサである。一実施例による地磁気センサ3260は地球の磁気を測定し、その大きさを検出するためのセンサである。
【0051】
ジャイロセンサ3240で測定される値には温度の影響で誤差が発生し、誤差が積分過程で累積されて最終値がドリフト(drift)される現象が起こる恐れがある。よって、温度センサも共に使用してジャイロセンサ3240の誤差を補償する必要がある。
【0052】
停止状態の長い時間の観点からすると、加速度センサ3220によって計算された傾いた角度は正しい値を示すが、ジャイロセンサ3240は時間が経つほど累積ドリフトのため間違った値を示す可能性がある。それに対し、動いている短い時間の観点では、ジャイロセンサ3240は正しい角速度を示すが、加速度センサ3220は傾いた角度とは異なる計算値が導出される可能性がある。また、サブジェクトが停止した状態で直進方向に動いたら勾配を測定することができない。
【0053】
よって、加速度センサ3220とジャイロセンサ3240をいずれも使用してそれぞれの短所を補完及び補償するために、カルマンフィルタのようなフィルタまたは補償及び融合アルゴリズムが適用される。但し、このような補償及び融合動作にもかかわらず、ジャイロセンサ3240と加速度センサ3220のみを使用すれば3次元空間での座標を演算する際に誤差率が上がるため、VR機器のようなホスト装置を制御するためのインタフェースとして使用するのに不適切である。また、加速度センサ3220とジャイロセンサ3240のみを使用すれば、絶対方位角ではなく相対方位角を使用するため、動いているサブジェクトの絶対位置を把握することが難しい。
【0054】
よって、動きセンシングモジュール3200は地磁気センサ3260を更に含むことによって、地磁気センサ3260によって測定される絶対方位角の変化を加速度センサ3220とジャイロセンサ3240で測定されたデータと共に演算することで、誤差率の低いデータを生成することができる。動きセンシングモジュール3200は地磁気センサ3260を含むことでジャイロセンサ3240で発生する累積ドリフトをより完璧に保障することができ、ジャイロセンサ3240は地磁気センサ3260の磁気変化によって発生する瞬間的に磁場がおかしくなる現象(急に起こる磁場の大きな変化)を解決するため、互いの短所を補完及び補償する役割をする。
【0055】
一実施例によって、動きセンシングモジュール3200は3次元空間上での位置データを正確に獲得する9軸センサを含む。9軸センサは加速度3軸、ジャイロ2軸、地磁気3軸、温度1軸からなるセンサであって、3次元空間上で3次元位置と3軸方向の回転程度をいずれも獲得するセンサである。
【0056】
図3を参照すると、動きセンシングモジュール3200はセンサ3220、3240、3260の出力を補償及び融合して最適化された位置データを生成するセンサ融合(Sensor Fusion)動作を行うためのセンサ融合部3280を含む。センサ融合部3280は、加速度センサ3220、ジャイロセンサ3240、及び地磁気センサ3260でそれぞれ獲得されるデータを雑音(Noise)除去、補償、及び融合しデータを最適化することで第1動き情報を生成する。センサ3220、3240、3260によって獲得されるロー(row)データをそのまま利用したら正確な位置データを獲得することができないため、フィルタによって正確な位置を推定(Position Estimation)することで最適化された位置データが生成される。例えば、センサ融合動作はカルマンフィルタ(Kalman Filter)のようなフィルタまたはデータ補償及び融合アルゴリズムに基づいて行われる。
【0057】
動きセンシングモジュール3200によって獲得された第1動き情報は通信チャネル3400を介して制御信号出力部3600に伝達される。一実施例によって、通信チャネル3400は第1動き情報をプロセッサ3620に伝達するための電子装置3000内の内部バス(Internal Bus)である。動きセンシングモジュール3200と制御信号出力部3600は通信チャネル3400のバスフォーマットに基づいて互いにデータを交換する。例えば、バスフォーマットはUSB(Universal Serial Bus)、SPI(Serial Peripheral Interface)、及びI2C(Inter-Integrated Circuit)などのような多様なインタフェース規約のうち一つ以上を含む。
【0058】
制御信号出力部3600はホスト装置を制御するための制御信号を出力する。制御信号はモーション信号とマウス信号を含む。制御信号出力部3600は第1動き情報を演算することで第2動き情報を獲得する。制御信号出力部3600はジェスチャモードの下、第2動き情報に基づいて電子装置3000の動きに対応するモーションを決定し、決定されたモーションを示すモーション信号を出力する。制御信号出力部3600はマウスモードの下、タッチセンシングモジュール3300から獲得されるタッチ情報及び第2動き情報のうち少なくとも一つに基づいてマウスの動作を決定し、マウスの動作を示すマウス信号を出力する。制御信号はホスト装置のコンテンツを制御するための制御するためのインタラプト(Interrupt)信号である。例えば、制御信号は特定マウスまたは特定モーション信号を示すビット列を含む。
【0059】
制御信号出力部3600は、通信チャネル3400を介して受信される第1動き情報を演算することで第2動き情報を生成する。第2動き情報は、電子装置3000の角度データ、距離データ、速度データ、及び方向データのうち少なくとも一つを含む。電子装置3000の第2動き情報はマウスモードとジェスチャモードのいずれでも活用される。例えば、マウスモードの下、第2動き情報は電子装置3000のマウスのムーブ(Move)動作を決定するために活用される。ジェスチャモードの下、第2動き情報は電子装置3000から出力される多様なモーション信号を決定するために活用される。
【0060】
一実施例によって、制御信号出力部3600はプロセッサ3620と通信部3640とを含む。
【0061】
プロセッサ3620は動きセンシングモジュール3200から通信チャネル3400を介して受信される第1動き情報を演算することで第2動き情報を生成する。第2動き情報は、動きに対する角度データ、距離データ、速度データ、及び方向データのうち少なくとも一つを含む。プロセッサ3620は基準時間(例えば、5ms)ごとに第1動き情報に対する演算を行うことで第2動き情報を獲得する。基準時間は30ms以下であるが、これに限らない。
【0062】
角度データはx軸方向、y軸方向、及びz軸方向それぞれに対する角度データを含む。一実施例によって、プロセッサ3620は角速度データに積分演算を行うことで角度データを獲得する。
【0063】
速度データはx軸方向、y軸方向、及びz軸方向それぞれに対する速度データを含む。距離データはx軸方向、y軸方向、及びz軸方向それぞれに対する距離データを含む。一実施例によって、プロセッサ3620は加速度データに積分演算を行うことで速度データと距離データを獲得する。プロセッサ3620は加速度データから重力加速度成分を除去して線形加速度データを獲得する。プロセッサ3620は線形加速度データに積分演算を行うことで速度データを獲得し、速度データに更に積分演算を行うことで距離データを獲得する。
【0064】
方向データはオブジェクトの瞬間移動方向に関し、x軸方向への増減可否、y軸方向への増減可否、及びz軸方向への増減可否を含む。一実施例によって、プロセッサ3620は現在の距離データと以前の距離データの比較に基づいて方向データを含む。例えば、現在の距離データのx軸方向値が+50、y軸方向値が+10、z軸方向値が-5で、以前の距離データのx軸方向値が+60、y軸方向値が+15、z軸方向値が-10であれば、プロセッサ3620は現在の動き方向をx軸方向に増加、y軸方向に増加、z軸方向に減少と決定する。
【0065】
マウスモードの下、プロセッサ3620はタッチセンシングモジュール3300から獲得されるタッチ情報と第2動き情報に基づいて対応するマウスの動作を決定する。図4aは、一実施例によってマウスモードの下で電子装置3000で行われるマウスの動作を示す図である。マウスの動作は、マウスのクリック、ズームイン/アウト(または、スクロールアップ/ダウン)、マウスのムーブ、マウスのドラッグを含む。マウスのクリックはシングルクリック(One Click)、ダブルクリック(Double Click)、ロングクリック(Long Click)を含む。マウスのムーブはホスト装置のマウスのポインタを動かう。
図4bを参照すると、マウスモードの下におけるマウスの動作を認識するために、電子装置3000のタッチセンシングモジュール3300の表面(図2aのメインモジュール1240の正面)は左側に位置するタッチ領域R1と、中間に位置するタッチ領域R2と、右側に位置するタッチ領域R3とに区分される。タッチセンシングモジュール3300がタッチ領域R1、タッチ領域R2、及びタッチ領域R3のうち少なくとも一つのタッチ動作を感知することでマウス信号が決定される。
【0066】
図4cを参照すると、ユーザがタッチ領域R1のみをタッチするかタッチ領域R1とタッチ領域R2を同時にタッチしたら、該当動作はマウスの左クリック(Mouse Left Click)と決定される。ユーザがタッチ領域R3のみをタッチするかタッチ領域R3とタッチ領域R2を同時にタッチしたら、該当動作はマウスの右クリック(Mouse Right Click)と決定される。ユーザがタッチ領域R2のみをタッチするか、タッチ領域R2、タッチ領域R1、及びとタッチ領域R3を同時にタッチしたら、該当動作はマウスモードとジェスチャモードとの間の切り替え(Mode Change)と決定される。ユーザがタッチ領域R1、タッチ領域R2、及びタッチ領域R3を順次に及び連続してタッチしたら、該当動作はマウスのスクロールアップ(Mouse Scroll Up)と決定される。ユーザがタッチ領域R3、タッチ領域R2、及びタッチ領域R1を順次に及び連続してタッチしたら、該当動作はマウスのスクロールダウン(Mouse Scroll Down)と決定される。
【0067】
プロセッサ3620は、マウスモードの下、ユーザがキーボードを使用している際とマウスを使用している際とを区分し、前記ユーザがキーボードを使用していると判断されればマウス信号を出力しない。
【0068】
ジェスチャモードの下、プロセッサ3620は第2動き情報に基づいて電子装置3000の動きに対応するモーションを決定する。例えば、プロセッサ3620は第2動き情報に基づいて、予め定義されたモーションのうち電子装置3000の動きに対応する一つのモーションを決定する。プロセッサ3620は決定されたモーションを示すモーション信号を生成し、それを通信部3640を介してホスト装置に伝達する。プロセッサ3620は、もし電子装置3000とホスト装置との間の距離が基準距離より大きいか、電子装置3000の動きが予め定義されたモーションのうちいずれにも当たらないか、無意味な動きと判断されれば、例外処理する。
【0069】
予め定義されたモーションは、ムーブ(Move)、タップ(Tap)、握る(Grasp)、スクロール(Scroll)、スワイプ(Swipe)、ジェスチャ(Gesture)、ロテーション(Rotation)などを含む。ムーブモーションは電子装置3000を任意の方向に移動する動作であって、仮想のコンテンツを移動するかページをめくる動作などをのために使用される。例えば、ムーブモーションは3軸(x、y、z軸)方向への動きを含む。タップモーションは何かを叩く動作であって、仮想のコンテンツを選択するかクリックするために使用される。ユーザがタップモーションを基準時間内に2回連続とることで、仮想のオブジェクトをダブルクリックする。タップモーションはマウスモードの下におけるクリック動作とは別の動作である。握るモーションは離れている2つのオブジェクトが互いに突き当たる動作であって、仮想のコンテンツを握るために使用される。ジェスチャはテキスト、記号、または模様(例えば、「?」または「X」)を表現するための動きを意味する。
【0070】
予め定義されたモーションはユーザ定義モーションによって追加される。ユーザ定義モーションとは、電子装置3000の製造会社ではないユーザによって定義されるモーションであって、ユーザは自らが入力する特定の動きをユーザ定義モーションとして追加する。例えば、ユーザは電子装置3000を手で握るか着用した状態で特定の動きを繰り返してとり、それを特定の機能またはモーションとマッチングする。電子装置3000にユーザが繰り返してとった動き情報、及び動き情報に当たる機能またはモーションが対応して保存される。例えば、電子装置3000を指に着用したユーザは何かを刺すような刺す動作を10回繰り返してとり、それを刺すモーションと指定して保存する。次に、ユーザが電子装置3000を着用して刺す動作をとれば、プロセッサ3620は刺すモーションを示すモーション信号を通信部3640を介してホスト装置に伝達する。
【0071】
電子装置3000の動き情報は機械学習に基づいて特定のモーションまたは予め定義されたモーションとマッチングされる。つまり、特定の動き情報を機械学習によって学習された決定モデルに入力したら、決定モデルは入力された特定の動き情報に対応するモーション信号を出力する。
【0072】
一実施例によって、電子装置3000はユーザ別に独立した決定モデルを使用する。ユーザが同じ動きをとっても生成される動き情報がユーザごとに異なるためである。例えば、腕を回して円を描く動作が電子装置3000から出力される特定モーション信号またはホスト装置における特定機能と対応するとすれば、ユーザごとに前記動作をとりながら生成される動き情報はいずれも同じではなく、ユーザごとに特有のパターンを有する可能性があるためである。または、ユーザごとに左ムーブ動作をとりながら生成される動き情報はいずれも同じではなく、ユーザごとに特有のパターン有する可能性がある。
【0073】
図5を参照すると、第1決定モデルDEC#1、第2決定モデルDEC#2、第3決定モデルDEC#3は、それぞれ第1ユーザの動き情報、第2ユーザの動き情報、第3ユーザの動き情報から対応するモーション信号を出力するために使用される。制御信号出力部3600またはプロセッサ3620は、電子装置3000を現在使用中のユーザが第1ユーザであれば、獲得された第1ユーザの動き情報(例えば、上述した第2動き情報)を第1決定モデルDEC#1に入力し、対応するモーション信号を決定する。制御信号出力部3600またはプロセッサ3620は、現在電子装置3000を使用中のユーザが第3ユーザであれば、獲得された第3ユーザの動き情報(例えば、上述した第2動き情報)を第3決定モデルDEC#3に入力し、対応するモーションを決定する。
【0074】
モーション信号を決定するための決定モデルは機械学習に基づいて生成される。例えば、第1決定モデルDEC#1は、第1ユーザの動き情報(例えば、上述した第2動き情報)と特定のモーションをそれぞれ入力と出力として繰り返し適用する機械学習を行うことで生成される。第1決定モデルDEC#1は、第1ユーザが腕を回して円を描く動作から生成される第1ユーザの第2動き情報を10回以上入力され、入力された動き情報が特定のモーション信号と対応するように学習される。例えば、第2決定モデルDEC#2は、第2ユーザの動き情報(例えば、上述した第2動き情報)と特定のモーションをそれぞれ入力と出力として繰り返し適用する機械学習を行うことで生成される。第2決定モデルDEC#2は、第2ユーザが腕を回して円を描く動作から生成される第2ユーザの第2動き情報を10回以上入力され、入力された動き情報が特定のモーション信号と対応するように学習される。
【0075】
機械学習技法は、SVM(Support Vector Machine)、ランダムフォレスト(Random forest)、サポートベクトルマシン(Support Vector Machine:SVM)、ナイーブベイズ(Naive Bayes)、適応型ブースティング(Adaptive Boosting:AdaBoost)、ランダムフォレスト(Random Forest)、勾配ブースティング(Gradient Boosting)、K-平均クラスタリング(K-means clustering)、人工神経網(Artificial Neural Network)などを含む。
【0076】
モーション信号を決定するために使用される機械学習基盤の決定モデルは、電子装置3000内のメモリ(図示せず)に保存されるかホスト装置に保存される。また、決定モデルを生成するための学習は電子装置3000で行われるかホスト装置で行われる。一実施例によって、決定モデルを生成するための学習はホスト装置で行われ、生成された決定モデルは電子装置3000内のメモリ(図示せず)に保存される。または、決定モデルに対する学習が電子装置3000で行われ、電子装置3000のメモリ(図示せず)に決定モデルが保存されてもよい。
【0077】
図6は、一実施例によって電子装置1000がジョイスティックのように使用されることを示す図である。図6を参照すると、電子装置1000は台の上に乗せられてジョイスティックのように動作する。電子装置1000が台の上で回転することでマウスのムーブ動作が行われ、マウスのポインタを制御する。ユーザは電子装置1000のメインモジュール1240の正面部分をタッチすることで各種マウスの動作を行う。マウスの動作は図4a乃至図4cを参照して上述したようである。
【0078】
図7は、一実施例によって、ジェスチャモードの下、電子装置3000でホスト装置を制御するための左側ムーブ(Left Move)モーション、右側ムーブ(Right Move)モーション、上側ムーブ(Up Move)モーション、下側ムーブ(Down Move)モーション、ロテーション(Clockwise Rotation、Counter Clockwise Rotation)モーション、フォワード/バック方向ムーブ(Forward/Back Move)モーションを示す。左側ムーブモーションと右側ムーブモーションはx軸+/-方向の動きから決定される。上側ムーブモーションと下側ムーブモーションはz軸+/-方向の動きから決定される。フォワードムーブモーションとバックムーブモーションはy軸+/-方向の動きから決定される。一実施例によって、ユーザがリング状装置1200を指に着用した状態でジェスチャモードを使用するが、これに限らない。
【0079】
このような実施例において、ユーザは電子装置3000を着用したまま3次元空間で左側ムーブまたは右側ムーブモーションをとることで、ホスト装置で実行中のワード文書のページをめくることができる。ジェスチャモードの下、電子装置3000がホスト装置を制御するためのモーションは上述した実施例に限らない。例えば、電子装置3000が支援するモーションはタップ、握る、スクロール、スワイプなどを更に含んでもよい。また、ジェスチャモードの下でのモーション(ユーザ定義モーションを含む)は上述した機械学習基盤の決定モデルによってユーザによって追加され使用される。
【0080】
更に図3を参照すると、プロセッサ3620はモーション信号またはマウス信号を示す制御信号を生成する。例えば、プロセッサ3620はユーザの動きが左側ムーブモーションと決定されたら、左側ムーブモーションを示す第1ビット列を制御信号として生成する。プロセッサ3620はユーザの動きが時計回りのロテーションモーションと決定されたら、時計回りのロテーションモーションを示す第2ビット列を制御信号として生成する。または、電子装置2000とホスト装置と約束された規約を使用すれば、モーションそれぞれに割り当てられた番号を制御信号として生成してもよい。プロセッサ3620はユーザの動きがマウスモードの下でのマウスのムーブと決定されたら、マウスのムーブを示す第3ビット列を制御信号として生成する。
【0081】
プロセッサ3620は一つのプロセッサコア(Single Core)を含むか、複数のプロセッサコア(Multi-Core)を含む。例えば、プロセッサ3620はデュアルコア(Dual-Core)、クアッドコア(Quad-Core)、ヘキサコア(Hexa-Core)などのマルチコアを含んでもよい。また、プロセッサ3620は内部または外部に位置するキャッシュメモリ(Cache Memory)を更に含む。
【0082】
通信部3640は、制御信号を無線通信インタフェースを介してホスト装置に伝達する。通信部3640は、Wi-fi(Wireless Fidelity)のような近距離無線通信網(Wireless Local Area Network;WLAN)、ブルートゥース(Bluetooth)のような無線個人通信網(Wireless Personal Area Network;WPAN)、無線USB(Wireless Universal Serial Bus)、Zigbee、NFC(Near Field Communication)、RFID(Radio-frequency identification)、または3G(3rd Generation)、4G(4th Generation)、LTE(Long Term Evolution)など移動通信網(mobile cellular network)にアクセス可能なモデム通信インタフェースなどを含む。ブルートゥースインタフェースはBLE(Bluetooth Low Energy)を支援する。
【0083】
電子装置3000は、電子装置3000で行われる動作に必要なメモリ(図示せず)を含む。例えば、電子装置3000はセンサ融合部3280におけるセンサ融合動作を行うために必要なメモリ(図示せず)を含む。また、電子装置3000は、予め定義されたモーション及び/またはユーザ定義モーションを保存するために使用されるか、プロセッサ3620で行われる動作に必要なメモリ(図示せず)を含む。メモリ(図示せず)は、ユーザの動きに対応するモーション信号を決定するために機械学習に基づいて生成された決定モデルを保存する。メモリ(図示せず)は、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory;DRAM)、スタティックランダムアクセスメモリ(Static Random Access Memory;SRAM)などのような揮発性メモリ装置、フラッシュメモリ装置(flash memory device)、ソリッドステートドライブ(Solid State Drive;SSD)などのような非揮発性メモリ装置を含む。
【0084】
電子装置3000は、電子装置3000で行われる動作に必要な電源を供給するためのバッテリ(図示せず)を含む。バッテリ(図示せず)はリチウムイオンバッテリまたはリチウムポリマーバッテリを含むが、これに限らない。例えば、バッテリ(図示せず)は制御信号出力部3600に含まれ、バッテリ(図示せず)から出力される電源のうち一部が動きセンシングモジュール3200にバイパスされる。
【0085】
電子装置3000はバッテリ(図示せず)を充電するための充電端子を含む。電子装置3000はUSBタイプの充電端子を含む。充電端子を介して流入される電流はバッテリを充電するために使用される。一実施例によって、図1a及び図1bのリング状装置1200に充電端子が存在してもよく、クレードル装置1400に充電端子が存在してもよい。例えば、メインモジュール1240に充電端子が存在し、リング状装置1200がクレードル装置1400に収納されることでメインモジュール1240に対する充電が行われる。クレードル装置1400にはメインモジュール1240を充電するための電源装置が搭載される。
【0086】
図8は、一実施例によって電子装置が埋め込まれたさいころを示す図である。さいころは図2乃至図3を参照して上述した電子装置3000を埋め込んだものであって、ユーザはさいころを利用してARボードゲームなどを楽しむことができる。
【0087】
さいころは、加速度センサと、ジャイロセンサと、地磁気センサとに基づいてさいころの第1動き情報を獲得するためのセンシングモジュールと、さいころの第1動き情報を演算することで第2動き情報を生成し、第2動き情報に基づいてさいころの動きに対応する制御信号をホスト装置に出力するための制御信号出力部と、センシングモジュール及び制御信号出力部のうち少なくとも一つの動作のために必要な電源を供給するバッテリとを含む。
【0088】
一実施例によって、制御信号出力部は、第1動き情報を演算することで第2動き情報を獲得し、第2動き情報のうち少なくとも一つに基づいてさいころの動きと対応する制御信号を生成するためのプロセッサと、ブルートゥース通信に基づいて制御信号をホスト装置に伝達するための通信部とを含む。制御信号出力部は、加速度データと、角速度データと、速度データと、距離データと、方向データとのうち少なくとも一つに基づいてさいころが示す数字を決定し、数字情報を含む制御信号を出力する。さいころから出力される制御信号は、さいころの動きによるロテーションモーション及び/またはロテーションモーションによって決定されるさいころの数字情報(または、数字変化情報)を含む。さいころの数字変化はホスト装置によって3次元空間上に表現される。
【0089】
さいころは電子装置3000を埋め込むための中空を含む。さいころはセンシングモジュール、制御信号出力部、及びバッテリを埋め込むための中空を更に含むことで、電子装置3000を埋め込むことができる。
【0090】
さいころはバッテリを充電するための充電端子を更に含む。例えば、さいころの表面に充電電流を受信するための充電端子が位置する。よって、さいころに埋め込まれた電子装置3000を充電するために電子装置3000をさいころから取り出すことなく、さいころに充電ケーブルを連結するだけで電子装置3000を受電することができる。
【0091】
図9は、一実施例によって電子装置が連結された杖を示す図である。
【0092】
杖は図3を参照して上述した電子装置3000を連結したものであって、ユーザは杖を利用してフェンシングゲーム、斬り合いゲームなど、杖を活用した多様なゲームを楽しむことができる。他の実施例によって、図3を参照して上述した電子装置3000が杖に埋め込まれてもよい。
【0093】
または、電子装置3000はジョイスティックのようなコンテンツコントローラに埋め込まれてもよい。
【0094】
以下、図10乃至図18を参照して、電子装置を使用してコンテンツを制御する方法を説明する。図10乃至図18を参照して説明する方法は、図3の電子装置3000及びホスト装置のうち少なくとも一つで行われる。よって、以下で省略された内容であっても、図3の電子装置3000またはホスト装置について述べられた内容な図10乃至図18にも適用される。また、図10乃至図18の方法に関する内容も図3の電子装置3000またはホスト装置に適用される。
【0095】
図10は、一実施例によって電子装置を使用してコンテンツを制御する方法を示すフローチャートである。
【0096】
ステップS220において、電子装置はセンシングモジュールに基づいてオブジェクトの第1動き情報を獲得する。オブジェクトは電子装置自体を意味する。センシングモジュールは加速度センサと、ジャイロセンサと、地磁気センサとを含む。第1動き情報は、オブジェクトの動きに対する加速度データと角速度データとを含む。例えば、第1動き情報は、加速度センサによって獲得される加速度データと、ジャイロセンサによって獲得される角速度データがセンサ融合部によって最適化されたデータである。
【0097】
ステップS400において、電子装置はステップS200で獲得された第1動き情報を演算することで第2動き情報を生成する。第2動き情報は、角度データ、速度データ、距離データ、及び方向データのうち少なくとも一つを含む。電子装置はオブジェクトが動いている間、第2動き情報をリアルタイムで計算し獲得する。例えば、電子装置は基準時間(例えば、5ms)ごとに第1動き情報に対する演算を行うことで第2動き情報を獲得する。基準時間は30ms以下であるが、これに限らない。電子装置は人差し指の第2関節に着用されることで、人差し指の第1関節と第2関節との間の関節を軸にして、人差し指の第2関節が動いた角度と速度を決定する。また、電子装置は人差し指の第3関節に着用されることで、人差し指の第1関節と第2関節との間の関節を軸にして、人差し指の第3関節が動いた角度と速度を決定する。
【0098】
ステップS500において、電子装置は現在のモードがマウスモードであるのかジェスチャモードであるのかを判断する。電子装置は、現在モードがマウスモードであれば(Yes)、ステップS520でタッチ情報を獲得し、ステップS540で第2動き情報とタッチ情報のうち少なくとも一つに基づいてマウス信号を決定する。
【0099】
電子装置は、現在モードがジェスチャモードであれば(No)、ステップS600において、電子装置は獲得された第2動き情報に基づいて、オブジェクトの動きに対応するモーション信号を決定する。一実施例によって、電子装置はオブジェクトの動きに対応するモーション信号を決定する。一実施例によって、電子装置は人差し指が動いた速度、角度、距離などに基づいてモーションを決定する。モーションは、ムーブ(x、y、z軸方向を含む)、タップ、握る、スクロール、スワイプ、ジェスチャ、及びロテーションモーションなどを含むが、これに限らない。モーションはユーザによって定義されるユーザ定義モーションを含む。電子装置は、オブジェクトの動きが製造会社によって予め定義されたモーションやユーザによって追加されたユーザ定義モーションのうちいずれにも当たらないか、無意味な動きと判断されれば、モーション信号を生成せずに例外処理する。
【0100】
ステップS800において、電子装置は、決定されたモーション信号またはマウス信号を示す制御信号を無線通信インタフェースを介してホスト装置に伝達する。制御信号は、ホスト装置を制御するためのインタラプト信号である。一実施例によって、電子装置は、オブジェクトの位置がコンテンツが再生される位置から基準距離内にあるのかを判断し、判断の結果、基準距離内にある際にのみ制御信号をホスト装置に伝達する。ユーザがコンテンツから遠く離れていれば、ユーザの動きがコンテンツを制御するための動きであるとみなすことが難しいためである。
【0101】
ステップS900において、ホスト装置は受信された制御信号に基づいてコンテンツを制御する。例えば、ホスト装置は、受信された制御信号がムーブモーションであれば、ゲーム上の野球ボールをオブジェクトの動きに比例する方向、速度、距離で動かす。ホスト装置は、受信された制御信号がタップモーションであればゲーム上のアイテムを選択する。ホスト装置は、受信された制御信号がロテーションモーションであればゲーム上の円板を回転させる。ホスト装置は、受信された制御信号がムーブモーションであれば、オブジェクトとコンテンツとの間の距離によってコンテンツをズームインまたはズームアウトする。ホスト装置は、受信された制御信号が左側ムーブモーションであれば、実行中のワード文書またはプレゼンテーション文書のページを前にめくる。ホスト装置は、受信された制御信号が右側ムーブモーションであれば、実行中のワード文書またはプレゼンテーション文書のページを後ろにめくる。ホスト装置は、受信された制御信号がマウスのムーブであればマウスのポインタを動かす。ホスト装置は、受信された制御信号がマウスのクリックであれば、現在のマウスのポジションでクリック動作を行う。ホスト装置は、受信された制御信号がマウスのスクロールアップであれば、マウスのスクロールアップに対応する動作を行う。
【0102】
図11は、一実施例によって電子装置がオブジェクトの動きに対する距離データを獲得するための方法を示すフローチャートである。
【0103】
ステップS420において、電子装置は、加速度データから重力加速度成分を除去して線形加速度データを生成する。加速度データから重力加速度による影響を除去することで、オブジェクトの動きに対する加速度データが獲得される。
【0104】
ステップS440において、電子装置は、線形加速度データに積分演算を行って速度データを獲得する。
【0105】
ステップS460において、電子装置は、速度データに積分演算を行って距離データを獲得する。
【0106】
図12は、一実施例によってオブジェクトの動きをマウスモード下におけるマウスのムーブ、またはジェスチャモード下におけるムーブモーションと決定し、動いた距離データを獲得するための方法を示すフローチャートである。図12は、図10のステップS540またはS600の下位ステップを示す。
【0107】
ステップS612において、電子装置は、オブジェクトの初期動きに対する角度と速度を決定する。電子装置は、オブジェクトの動きが始まった後、初期動き(例えば、動きが始まってから基準時間以内)に対する角度データと速度データを獲得する。
【0108】
ステップS164において、電子装置は、ステップS612で獲得された角度データと速度データが基準条件を満足するのかを判断する。例えば、速度が基準値以上で角度の変化幅が20度以内であれば、電子装置はオブジェクトの動きを直進方向の動きと決定する。電子装置は、角度データと速度データが基準条件を満足しなければ(No)、オブジェクトの動きが他のモーションに当たるのかを判断するか、いかなるモーションにも当たらないと判断されれば例外処理するS618。
【0109】
電子装置は、角度データと速度データが基準条件を満足すれば(Yes)、動きをムーブモーションまたはマウスのムーブと決定し、オブジェクトの動きに対する距離データを獲得するS616。例えば、電子装置は、動こうとする方向に電子装置が予め設定された速度以上で動く時点を動きに対する開始点と決定する。オブジェクトの動きに対する距離データは図11を参照して上述した方法で決定される。
一実施例によって、電子装置は、距離データ以外に位置データ(例えば、オブジェクトの3次元空間座標)と方向データを更に獲得する。
【0110】
電子装置は、任意の時点におけるオブジェクトの位置または任意の空間上の位置を基準点にする際、オブジェクトが動いた距離データに基づいて現在のオブジェクトの位置データを獲得する。電子装置は、オブジェクトの動き単位ごとに動いた距離を決定し、決定された距離データをメモリに保存する。電子装置は、メモリから動きに対する距離データを読み込み、読み込んだデータを合算して現在のオブジェクトの位置データを決定する。
【0111】
例えば、電子装置は、任意の以前の時点におけるオブジェクトの位置データが(0、0、0)で、ムーブモーションが3回連続して発生したならば、第1ムーブモーションの第1距離データが(10、-20、30)、第2ムーブモーションの第2距離データが(-10、-30、-10)、及び第3ムーブモーションの第3距離データが(20、100、100)であれば、現在のオブジェクトの位置データを(20、50、120)と決定する。例えば、第1ムーブモーションが一回発生し、オブジェクトが人が位置を移動することで単純移動され、更に他のムーブモーションがもう一回発生したならば、第1ムーブモーションの第1距離データが(5、30、20)、単純移動に対する第2距離データが(500、500、0)、第2ムーブモーションの第2距離データが(10、30、30)であれば、現在のオブジェクトの位置データを(515、560、50)と決定する。
【0112】
電子装置は、現在の距離データと以前の距離データの比較に基づいてオブジェクトが動いている方向データを獲得する。以前の距離データとは、直前に獲得された距離データを意味する。例えば、5msごとに距離データが演算されるのであれば、時点tの距離データと時点t-5msで獲得された距離データに基づいてx軸方向への増減可否、y軸方向への増減可否、及びz軸方向への増減可否を決定する。例えば、現在の距離データのx軸方向値が+50、y軸方向値が+10、z軸方向値が-5で、以前の距離データのx軸方向値が+60、y軸方向値が+15、z軸方向値が-10であれば、電子装置3000は現在の動き方向をx軸方向に増加、y軸方向に増加、z軸方向に減少と決定する。
【0113】
図13は、一実施例によって、ホスト装置がムーブモーションに基づいてコンテンツをズームインするかズームアウトする動作を示すフローチャートである。図14のフローチャートは、図10のステップS900の下位ステップを示す。
ステップS920において、ホスト装置は電子装置から受信された制御信号がムーブモーションであるのかを判断する。ムーブモーションは、図7を参照して上述したフォワード方向またはバック方向のムーブモーションである。受信された制御信号がムーブ信号ではなければ(No)、ホスト装置は受信された制御信号に対応する他の動作を行うS930。
【0114】
受信された制御信号がムーブ信号であれば(Yes)、ステップS940において、コンテンツとオブジェクトとの間の距離が近くなるのか否かを判断する。ホスト装置のディスプレイ上にコンテンツが再生されていればコンテンツの位置はホスト装置自体の位置と同じであり、コンテンツがホスト装置によって再生される仮想現実コンテンツであればコンテンツの位置はホスト装置の位置と同じでなはい。
【0115】
ホスト装置は、オブジェクトの動き距離から決定されるオブジェクトの位置とコンテンツの位置との間の距離が近づいていると判断されれば(Yes)、コンテンツをズームインするS950。ホスト装置は、オブジェクトの位置とホスト装置との間の距離が遠くなっていると判断されれば(No)、コンテンツをズームアウトするS960。但し、図14のフローチャートはホスト装置がムーブモーションに基づいてズームイン/ズームアウト動作を行うための一実施例に過ぎず、ズームイン/ズームアウト動作は他のムーブモーションで定義されてもよい。例えば、コンテンツがオブジェクトの間の距離が近ければズームアウトを行い、距離が遠くなるほどズームインを行ってもよい。または、オブジェクトが右側(または、左側)に移動したらズームインを行い、オブジェクトが左側(または、右側)に移動したらズームアウトを行ってもよい。または、電子装置でコンテンツとオブジェクトとの間の距離を判断し、判断結果によって制御信号をムーブ信号ではなくズームイン/ズームアウト信号としてホスト装置に出力してもよい。このような場合、コンテンツとオブジェクトとの間の距離の判断、及びズームイン/ズームアウト信号の伝達動作は、それぞれ図10のステップS600とステップS800で行われる。
【0116】
以下、図14乃至図18は、一実施例によって電子装置がジェスチャモードの下、オブジェクトの動き情報からホスト装置を制御するための特定のモーション信号を決定するための方法を示すフローチャートである。
【0117】
図14は、一実施例によって電子装置がオブジェクトの動きをタップ(または、クリック)モーションと決定するための方法を示すフローチャートである。図14のフローチャートは、図10のステップS600の下位ステップを示す。
【0118】
ステップS624において、電子装置は、動きに対する角度データと速度データが基準条件を満足するのか否かを判断する。電子装置は、角度が第1基準範囲内に属し、速度が第2基準範囲内に属するのかを判断する。
【0119】
角度と速度が基準条件を満足すると判断されれば(Yes)、ステップS626において、電子装置はオブジェクトの動きをタップモーションと決定する。そうでなければ(No)、ステップS628において、電子装置はオブジェクトの動きが他のモーションに当たるのかを判断するか、いかなるモーションにも当たらないと判断されれば例外処理する。
【0120】
図15は、一実施例によって電子装置がオブジェクトの動きを握るモーションと決定するための方法を示すフローチャートである。図16のフローチャートは、図10のステップS600の下位ステップを示す。
【0121】
ステップS634において、電子装置は、角度と速度が基準条件を満足するのか否かと、動きに残響(Reverberation)があるのか否かを判断する。例えば、電子装置は、角度が第1基準範囲内に属し、速度が第2基準範囲以内であるのかを判断する。それと共に、電子装置はオブジェクトの動きに対する残響可否を判断する。残響とは、ユーザが動きを終了したにもかかわらず、オブジェクトの特性または動きの慣性によってユーザの意図とは関係なく発生するオブジェクト(例えば、指)の動き(または、震え)を意味する。例えば、残響は加速度センサの慣性による残りの信号を意味する。握るモーションの場合、タップモーションとは異なって、オブジェクト(例えば、人差し指)が他のオブジェクト(例えば、親指)と接触または結合することで動きが終了して残響が発生しないため、残響の有無がタップモーションと握るモーションを区別するための基準になる。
【0122】
角度と速度が基準条件を満足し、残響がないと判断されれば(Yes)、ステップS636において、電子装置はオブジェクトの動きを握るモーションと決定する。そうでなければ(No)、ステップS638において、電子装置はオブジェクトの動きが他のモーションに当たるのかを判断するか、いかなるモーションにも当たらないと判断されれば例外処理する。
【0123】
図16は、一実施例によって電子装置がオブジェクトの動きをスクロールモーションと決定するための方法を示すフローチャートである。図16のフローチャートは、図10のステップS600の下位ステップを示す。
【0124】
ステップS644において、電子装置は、角度、速度、及び距離が基準条件を満足するのか否かを判断する。例えば、電子装置は、角度が第1基準範囲内に属し、速度が第2基準範囲内に属し、距離が第3基準範囲内に属するのかを判断する。例えば、電子装置は、x、y、z軸のうちいずれか一つの方向に対する角速度が基準値以上で、x、y、z軸のうち少なくとも一つの方向に対する角度が基準範囲以内であるのかを判断する。それと共に、電子装置は、距離(例えば、人差し指の第2関節または第3関節が動いた距離)が臨界値より大きいのか否かを判断する。スクロールモーションはタップモーションに比べ指の動きが大きいことを考慮し、距離がタップモーションとスクロールモーションを区別するための基準になる。
【0125】
角度、速度、及び距離が基準条件を満足すると判断されれば(Yes)、ステップS646において、電子装置はオブジェクトの動きをタスクロールモーションと決定する。そうでなければ(No)、ステップS648において、電子装置はオブジェクトの動きが他のモーションに当たるのかを判断するか、いかなるモーションにも当たらないと判断されれば例外処理する。
【0126】
図17は、一実施例によって電子装置がオブジェクトの動きをスワイプモーションと決定するための方法を示すフローチャートである。図17のフローチャートは、図10のステップS600の下位ステップを示す。
【0127】
ステップS654において、電子装置は速度及び距離が基準条件を満足するのか否かを判断する。例えば、電子装置は、速度が第1基準範囲内に属し、距離が第2基準範囲内に属するのかを判断する。スワイプモーションはムーブモーションに比べ動きが大きいことを考慮し、速度と距離がいずれも臨界値より大きいのか否かがスワイプモーションとムーブモーションを区別するための基準になる。
【0128】
モーションに対する角度及び距離が基準条件を満足すれば(Yes)、ステップS656において、電子装置はオブジェクトの動きをスワイプモーションと決定する。そうでなければ(No)、ステップS658において、電子装置はオブジェクトの動きが他のモーションに当たるのかを判断するか、いかなるモーションにも当たらないと判断されれば例外処理する。
【0129】
図18は、一実施例によって電子装置がオブジェクトの動きをロテーションモーションと決定するための方法を示すフローチャートである。図19のフローチャートは、図10のステップS600の下位ステップを示す。
【0130】
ステップS664において、電子装置は角度が基準条件を満足するのか否かを判断する。例えば、電子装置は、x軸、y軸、z軸方向それぞれに対して動いた角度が基準条件をいずれも満足すれば(Yes)、ステップS666において、電子装置はオブジェクトの動きをロテーションモーションと決定する。そうでなければ(No)、ステップS668において、電子装置はオブジェクトの動きが他のモーションに当たるのかを判断するか、いかなるモーションにも当たらないと判断されれば例外処理する。
【0131】
一方、上述したコンテンツ制御方法は、コンピュータで判読可能な記録媒体にコンピュータで判読可能なコードとして具現することができる。コンピュータで判読可能な記録媒体は、コンピュータシステムによって判読可能なデータが保存される全ての種類の記録装置を含む。コンピュータで判読可能な記録媒体の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ保存装置などがある。また、コンピュータで判読可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散され、分散方式でプロセッサが判読可能なコードが保存され実行される。
【0132】
前記説明は本発明を具現するための例示的な構成及び動作を提供するように意図される。本発明の技術思想は上述した実施例のみならず、前記実施例を単純に変更するか修正して得られる具現も含む。また、本発明の技術思想は、上述した実施例を今後容易に変更するか修正して達成される具現も含む。
図1a
図1b
図2a
図2b
図3
図4a
図4b
図4c
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18