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

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

▶ 富士ゼロックス株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】情報処理装置、及びプログラム
(51)【国際特許分類】
   G06F 3/04842 20220101AFI20240903BHJP
   G06F 3/01 20060101ALI20240903BHJP
   G06F 3/04815 20220101ALI20240903BHJP
   G06T 19/00 20110101ALI20240903BHJP
   G09G 5/00 20060101ALI20240903BHJP
   G09G 5/38 20060101ALI20240903BHJP
   G09G 5/37 20060101ALI20240903BHJP
   G09G 5/377 20060101ALI20240903BHJP
   G09G 5/373 20060101ALI20240903BHJP
   G06F 3/0346 20130101ALN20240903BHJP
【FI】
G06F3/04842
G06F3/01 510
G06F3/04815
G06T19/00 A
G09G5/00 550C
G09G5/38 100
G09G5/37 600
G09G5/377 100
G09G5/373
G09G5/373 200
G06F3/0346 423
【請求項の数】 10
(21)【出願番号】P 2020131929
(22)【出願日】2020-08-03
(65)【公開番号】P2022028491
(43)【公開日】2022-02-16
【審査請求日】2023-07-20
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】菰田 敏行
(72)【発明者】
【氏名】大橋 淳
【審査官】井上 香緒梨
(56)【参考文献】
【文献】国際公開第2016/031358(WO,A1)
【文献】特開2018-045459(JP,A)
【文献】米国特許出願公開第2019/0244416(US,A1)
【文献】特開2018-005517(JP,A)
【文献】特開平07-013690(JP,A)
【文献】国際公開第2003/046732(WO,A1)
【文献】特開2013-093705(JP,A)
【文献】特開2002-063215(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/01
G06F3/048-3/04895
G09G5/00-5/42
(57)【特許請求の範囲】
【請求項1】
プロセッサを有し、前記プロセッサは、
ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させ、
前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させ、
前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更し、
前記第2オブジェクトの数が決められた閾値以上である場合に、該数が該閾値未満であるときと異なる規則に従って、該第2オブジェクトを表示させ
情報処理装置。
【請求項2】
前記プロセッサは、
前記第2オブジェクトの数が前記閾値未満である場合に該第2オブジェクトを互いに重ならないように配置し、前記第2オブジェクトの数が前記閾値以上である場合に該第2オブジェクトを重ねて配置して、表示する
請求項に記載の情報処理装置。
【請求項3】
プロセッサを有し、前記プロセッサは、
ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させ、
前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させ、
前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更し、
前記第2オブジェクトの大きさを、該第2オブジェクトの数に応じて変化させて表示させる
報処理装置。
【請求項4】
前記プロセッサは、
前記第2オブジェクトの数が多いほど、該第2オブジェクトのそれぞれを小さく表示させる
請求項に記載の情報処理装置。
【請求項5】
プロセッサを有し、前記プロセッサは、
ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させ、
前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させ、
前記第1オブジェクトの内容を変更する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更す
報処理装置。
【請求項6】
プロセッサを有し、前記プロセッサは、
ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させ、
前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させ、
前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更し、
実行中の第1処理よりも優先される第2処理を実行する指示があった場合に、前記仮想空間における前記第2座標系に対応する位置への、前記第2オブジェクトの表示を保留し、
前記第2処理が完了した場合に、保留した前記第2オブジェクトの前記表示を再開する
報処理装置。
【請求項7】
プロセッサを有するコンピュータに、
ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、
前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、
前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更するステップと、
前記第2オブジェクトの数が決められた閾値以上である場合に、該数が該閾値未満であるときと異なる規則に従って、該第2オブジェクトを表示させるステップと、
を実行させるプログラム。
【請求項8】
プロセッサを有するコンピュータに、
ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、
前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、
前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更するステップと、
前記第2オブジェクトの大きさを、該第2オブジェクトの数に応じて変化させて表示させるステップと、
を実行させるプログラム。
【請求項9】
プロセッサを有するコンピュータに、
ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、
前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、
前記第1オブジェクトの内容を変更する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更するステップと、
を実行させるプログラム。
【請求項10】
プロセッサを有するコンピュータに、
ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、
前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、
前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更するステップと、
実行中の第1処理よりも優先される第2処理を実行する指示があった場合に、前記仮想空間における前記第2座標系に対応する位置への、前記第2オブジェクトの表示を保留するステップと、
前記第2処理が完了した場合に、保留した前記第2オブジェクトの前記表示を再開するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及びプログラムに関する。
【背景技術】
【0002】
例えば、特許文献1は、HMD(ヘッドマウントディスプレイ)の表示画面に、ジェスチャー入力の操作内容に対応づけられた被選択体を視界の所定位置に固定して表示する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-231445号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、仮想空間で文書等のオブジェクトを取り扱う際に、ユーザの操作に応じて、ユーザが必要とするオブジェクトを、ユーザの動作によって変化するユーザの視界に表示させること、を目的とする。
【課題を解決するための手段】
【0005】
本発明の請求項1に係る情報処理装置は、プロセッサを有し、前記プロセッサは、ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させ、前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させ、前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更し、前記第2オブジェクトの数が決められた閾値以上である場合に、該数が該閾値未満であるときと異なる規則に従って、該第2オブジェクトを表示させる情報処理装置である。
【0009】
本発明の請求項に係る情報処理装置は、請求項に記載の態様において、前記プロセッサは、前記第2オブジェクトの数が前記閾値未満である場合に該第2オブジェクトを互いに重ならないように配置し、前記第2オブジェクトの数が前記閾値以上である場合に該第2オブジェクトを重ねて配置して、表示する情報処理装置である。
【0010】
本発明の請求項に係る情報処理装置は、プロセッサを有し、前記プロセッサは、ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させ、前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させ、前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更し、前記第2オブジェクトの大きさを、該第2オブジェクトの数に応じて変化させて表示させる情報処理装置である。
【0011】
本発明の請求項に係る情報処理装置は、請求項に記載の態様において、前記プロセッサは、前記第2オブジェクトの数が多いほど、該第2オブジェクトのそれぞれを小さく表示させる情報処理装置である。
【0012】
本発明の請求項に係る情報処理装置は、プロセッサを有し、前記プロセッサは、ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させ、前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させ、前記第1オブジェクトの内容を変更する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更する情報処理装置である。
【0015】
本発明の請求項に係る情報処理装置は、プロセッサを有し、前記プロセッサは、ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させ、前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させ、前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更し、実行中の第1処理よりも優先される第2処理を実行する指示があった場合に、前記仮想空間における前記第2座標系に対応する位置への、前記第2オブジェクトの表示を保留し、前記第2処理が完了した場合に、保留した前記第2オブジェクトの前記表示を再開する情報処理装置である。
【0016】
本発明の請求項に係るプログラムは、プロセッサを有するコンピュータに、ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更するステップと、前記第2オブジェクトの数が決められた閾値以上である場合に、該数が該閾値未満であるときと異なる規則に従って、該第2オブジェクトを表示させるステップと、を実行させるプログラムである。
本発明の請求項8に係るプログラムは、プロセッサを有するコンピュータに、ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更するステップと、前記第2オブジェクトの大きさを、該第2オブジェクトの数に応じて変化させて表示させるステップと、を実行させるプログラムである。
本発明の請求項9に係るプログラムは、プロセッサを有するコンピュータに、ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、前記第1オブジェクトの内容を変更する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更するステップと、を実行させるプログラムである。
本発明の請求項10に係るプログラムは、プロセッサを有するコンピュータに、ユーザが認識する仮想空間において、第1オブジェクトを、前記ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、前記仮想空間において、第2オブジェクトを、前記ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、前記第1オブジェクトに対する前記ユーザの操作に応じて、該第1オブジェクトを前記第2オブジェクトに変更するステップと、実行中の第1処理よりも優先される第2処理を実行する指示があった場合に、前記仮想空間における前記第2座標系に対応する位置への、前記第2オブジェクトの表示を保留するステップと、前記第2処理が完了した場合に、保留した前記第2オブジェクトの前記表示を再開するステップと、を実行させるプログラムである。
【発明の効果】
【0017】
請求項1、に係る発明によれば、ユーザは、仮想空間で文書等のオブジェクトを取り扱う際に、必要とするオブジェクトを、必要としない他のオブジェクトと区別して認識し、視界から見失うことがない。また、これらの発明によれば、第2オブジェクトの表示の態様は、その数が閾値以上になったときに、閾値未満のときと異なる規則に従う。
請求項2に係る発明によれば、ユーザは、第2オブジェクトの数が閾値以上になったとき、重ねて配置された第2オブジェクトを認識する。
請求項3、8に係る発明によれば、ユーザは、数に応じた大きさで表示される第2オブジェクトを認識する。
請求項に係る発明によれば、第2オブジェクトは、その数が多いほど小さく表示される。
請求項5、9に係る発明によれば、ユーザは、第1オブジェクトの内容を変更する操作により、その第1オブジェクトを第2オブジェクトに変更させる。
請求項6、10に係る発明によれば、第2オブジェクトは、第2条件を満たしたとき仮想空間における第2座標系に対応する位置への表示が保留され、第3条件を満たしたとき、保留した表示が再開される。また、これらの発明によれば、第2オブジェクトは、実行中の第1処理よりも優先される第2処理を実行する指示があった場合に仮想空間における第2座標系に対応する位置への表示が保留され、その第2処理が完了した場合に保留した表示が再開される。
【図面の簡単な説明】
【0018】
図1】情報処理システム9の全体構成の例を示す図。
図2】情報処理装置1の構成の例を示す図。
図3】ユーザDB121の例を示す図。
図4】オブジェクトDB122の例を示す図。
図5】属性DB123の例を示す図。
図6】端末2の構成の例を示す図。
図7】位置情報の例を示す図。
図8】位置情報221に記憶されるオフセット、及び回転角を説明するための図。
図9】視線履歴222の例を示す図。
図10】第2座標系とユーザの視野Vとの関係を説明するための図。
図11】追従DB223の例を示す図。
図12】記憶されたオブジェクトの位置と描画位置との関係を説明するための図。
図13】指示DB224の例を示す図。
図14】設定DB225の例を示す図。
図15】端末2の機能的構成の例を示す図。
図16】端末の動作の流れの例を示すフロー図。
図17】ユーザが見る仮想空間の例を示す図。
図18】追従変更を確認するダイヤログの例を示す図。
図19】仮想空間において編集されるオブジェクトの例を示す図。
図20】追従変更の終了を確認するダイヤログの例を示す図。
図21】第2オブジェクトの表示に態様が変更される様子を示す図。
図22】ユーザが頭の向きを変えたときに見える仮想空間を示す図。
図23】数に応じて大きさが決まる第2オブジェクトの例を示す図。
図24】数が閾値以上となったことで表示の規則が変化した第2オブジェクトの例を示す図。
図25】割込みがあったときに表示されるダイヤログの例を示す図。
図26】割込みが終了したときに表示されるダイヤログの例を示す図。
【発明を実施するための形態】
【0019】
<実施形態>
<情報処理システムの構成>
図1は、情報処理システム9の全体構成の例を示す図である。図1に示す情報処理システム9は、文書等のオブジェクトを取り扱う仮想的な三次元空間をユーザに提供するシステムである。情報処理システム9は、図1に示す通り、情報処理装置1、端末2、及び通信回線3を有する。以下、図において上述した三次元空間を説明する場合、右手系座標空間が用いられる。
【0020】
図1に示す情報処理装置1は、文書等のオブジェクトを閲覧・加工等するための仮想的な三次元空間を、ユーザPに提供するサーバ装置である。情報処理装置1は、例えばコンピュータである。
【0021】
図1に示す端末2は、ユーザPが頭に装着して情報処理装置1に記憶されたオブジェクトを閲覧する端末装置である。この端末2は、例えば、頭部装着型のいわゆるVR(仮想現実:Virtual Reality)ゴーグル等といった表示端末である。
【0022】
通信回線3は、情報処理装置1、及び端末2を通信可能に接続する回線である。通信回線3は、例えばLAN(Local Area Network)のほか、WAN(Wide Area Network)であってもよいし、インターネットであってもよいし、これらの組合せであってもよい。また、通信回線3は、公衆交換通信網(PSTN:Public Switched Telephone Networks)やサービス統合デジタル網(ISDN:Integrated Services Digital Network)等を含むものでもよい。
【0023】
なお、情報処理システム9における情報処理装置1、端末2、及び通信回線3の、それぞれの数は図1に示したものに限られない。例えば、情報処理装置1は、複数台の装置が機能を分担するクラスタシステムにより構成されてもよい。また、情報処理システム9は、複数の端末2を有してもよい。情報処理装置1は、複数の端末2のそれぞれを所持するユーザごとに、そのユーザが所有するオブジェクトを記憶し、ユーザ間でそれらを共有するための権限を設定してもよい。
【0024】
<情報処理装置の構成>
図2は、情報処理装置1の構成の例を示す図である。図2に示す情報処理装置1は、プロセッサ11、メモリ12、及びインタフェース13を有する。これらの構成は、例えばバスで、互いに通信可能に接続されている。
【0025】
プロセッサ11は、メモリ12に記憶されているプログラムを読出して実行することにより情報処理装置1の各部を制御する。プロセッサ11は、例えばCPU(Central Processing Unit)である。
【0026】
インタフェース13は、有線又は無線により通信回線3を介して、情報処理装置1を端末2に通信可能に接続する通信回路である。
【0027】
メモリ12は、プロセッサ11に読み込まれるオペレーティングシステム、各種のプログラム、データ等を記憶する記憶手段である。メモリ12は、RAM(Random Access Memory)やROM(Read Only Memory)を有する。なお、メモリ12は、ソリッドステートドライブ、ハードディスクドライブ等を有してもよい。また、メモリ12は、ユーザDB121、オブジェクトDB122、及び属性DB123を記憶する。
【0028】
図3は、ユーザDB121の例を示す図である。図3に示すユーザDB121は、情報処理システム9のユーザの認証に用いられる認証情報と、そのユーザの属性を示す属性情報、を記憶するデータベースである。
【0029】
図3に示すユーザDB121において、認証情報は、ユーザIDとパスワードとの組である。ユーザIDは、情報処理システム9のユーザをそれぞれ識別する識別情報である。パスワードは、対応するユーザIDで識別されるユーザのみが知っている文字列等である。図3に示すユーザDB121において、属性情報は、グループIDと、職務情報と、を含む。グループIDは、対応するユーザIDで識別されるユーザが所属する部署やプロジェクト等のグループを識別する識別情報である。グループIDの欄には、複数のグループIDが記述されてもよい。職務情報は、対応するユーザIDで識別されるユーザの職務の範囲や権限等について記述した情報である。
【0030】
図4は、オブジェクトDB122の例を示す図である。オブジェクトDB122は、上述した仮想的な三次元空間に表示されるオブジェクトのそれぞれを記憶するデータベースである。図4に示すオブジェクトDB122は、オブジェクトID、種別、名称、及びデータの各項目を、オブジェクトごとに記憶する。オブジェクトIDは、オブジェクトを識別する識別情報である。種別は、オブジェクトの種別であり、例えば、文書、写真、集計表等の文字列で表される。名称は、オブジェクトに付された名称であり、例えば、「A社契約書」といった、ユーザがそのオブジェクトの内容を大まかに判断するための文字列で表される。データは、オブジェクトの内容そのものである。
【0031】
図5は、属性DB123の例を示す図である。属性DB123は、上述したオブジェクトの属性を記憶するデータベースである。図5に示す属性DB123は、オブジェクトID、所有者ID、権限情報、外観データ、位置情報、及び追従情報の各項目を、オブジェクトごとに記憶する。
【0032】
オブジェクトIDは、オブジェクトを識別する識別情報であり、図4のオブジェクトDB122に含まれるオブジェクトIDと共通の情報である。所有者IDは、オブジェクトの所有者であるユーザの識別情報である。権限情報は、オブジェクトの閲覧、変更、実行等の各種の処理を実行する権限について記述した情報である。権限情報は、例えば、所有者IDで識別されるユーザの属性情報を用いて規定される。
【0033】
外観データは、仮想的な三次元空間において、オブジェクトが表示される形状や模様等を示すデータである。この外観データは、例えば、オブジェクトの種別に応じて予め決められている、いわゆるアイコン画像のデータであってもよい。また、この外観データは、オブジェクトの内容を縮小して表示する、いわゆるサムネイル画像のデータであってもよい。
【0034】
位置情報は、オブジェクトが上述した仮想的な三次元空間において、第1座標系に対応する位置に表示されるときに、その位置を第1座標系で表した情報である。ここで、第1座標系とは、ユーザが所在する実空間における慣性系座標に対応する座標である。第1座標系は、ユーザの環境に依存した座標であるため、例えば、図1に示すユーザPが頭に装着する端末2の姿勢や位置等に影響されない。つまり、第1座標系は、ユーザの頭の動きに依存しない座標系である。以下、第1座標系は、図において、互いに原点O1で直交するX軸、Y軸、Z軸を有するXYZ右手系座標空間として表現される。
【0035】
追従情報は、オブジェクトの表示される位置が、第2座標系に追従するか否かを示す情報である。ここで、第2座標系とは、ユーザが頭に装着した端末2の位置、及び姿勢に準じた座標系である。つまり、第2座標系は、ユーザの頭の動きに依存する座標系である。以下、第2座標系は、図において、互いに原点O2で直交するx軸、y軸、z軸を有するxyz右手系座標空間として表現される。
【0036】
第2座標系は、例えば、図1に示す端末2を装着したユーザPの、いわゆる頭部中心座標系である。この場合、第2座標系は、例えば、両目の眼球の中心を結ぶ線分の中点を原点O2とし、ユーザの顔が向いている正面の方向を、y軸方向とする。なお、この第2座標系は、例えば、x軸をユーザPの頭を中心とした水平方向に、z軸を垂直方向に、それぞれ定める。
【0037】
属性DB123において、追従情報の欄に「無し」と記載されたオブジェクトは、第2座標系に追従せず、第1座標系に追従する。この第1座標系に追従するオブジェクトは、以下の説明において「第1オブジェクト」と記載される。第1オブジェクトは、端末2によって、第1座標系に対応する位置に表示される。
【0038】
また、この追従情報の欄に「有り」と記載されたオブジェクトは、第1座標系に追従せず、第2座標系に追従する。この第2座標系に追従するオブジェクトは、以下の説明において「第2オブジェクト」と記載される。第2オブジェクトは、端末2によって、第2座標系に対応する位置に表示される。
【0039】
情報処理システム9において、情報処理装置1は、例えば、属性DB123のうち、いずれかのオブジェクトの属性を示す追従情報の欄を「無し」から「有り」に書き換えることにより、対応する第1オブジェクトを第2オブジェクトに変更する。また、この追従情報の欄を「有り」から「無し」に書き換えることにより、情報処理装置1は、対応する第2オブジェクトを第1オブジェクトに変更する。
【0040】
なお、追従情報の欄に「有り」と記載された第2オブジェクトは、第2座標系に対応する位置に表示されるため、属性DB123の、第1座標系における位置を示す「位置情報」を参照する必要がない。情報処理装置1は、第2オブジェクトに対応する、属性DB123の位置情報の欄を削除し、または、未定義を意味する「-」を記入してもよい。
【0041】
<端末の構成>
図6は、端末2の構成の例を示す図である。図6に示す端末2は、プロセッサ21、メモリ22、インタフェース23、操作部24、表示部25、及び計測部26を有する。これらの構成は、例えばバスで、互いに通信可能に接続されている。
【0042】
プロセッサ21は、メモリ22に記憶されているプログラムを読出して実行することにより端末2の各部を制御する。プロセッサ21は、例えばCPUである。
【0043】
インタフェース23は、有線又は無線により通信回線3を介して、端末2と情報処理装置1とを通信可能に接続する通信回路である。
【0044】
操作部24は、各種の指示をするための操作ボタンを備えており、操作を受付けてその操作内容に応じた信号をプロセッサ21に送る。また、操作部24は、視線センサ241、操作子センサ242、及びマイクロホン243を有する。
【0045】
視線センサ241は、端末2を装着したユーザの視線を検知するセンサである。視線センサ241は、いわゆるアイトラッカーであり、例えば、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサや、CCD(Charge Coupled Device)イメージセンサ等の撮像素子を有し、端末2を装着したユーザの眼球を撮像して、ユーザの視線が指す方向を検知・計測する。視線センサ241は、眼球に接触するセンサを有してもよい。
【0046】
操作子センサ242は、端末2を装着したユーザの手、指等を操作子として検知するセンサである。操作子センサ242は、例えば、撮像素子によりユーザの手や指先等を撮像して、得られた画像を解析することによりその位置を計測する。なお、操作子センサ242は、ユーザの手や指等に装着するセンサを有してもよい。また、操作部24は、ユーザが用いる操作子として、ユーザが所持する指示棒、コントローラ等のデバイスを有してもよい。この場合、操作子センサ242は、例えばこのデバイスに設けられ、このデバイスの位置や姿勢を検知すればよい。
【0047】
マイクロホン243は、端末2を装着したユーザの声を収集する収音機器である。マイクロホン243が収集したユーザの声は、プロセッサ21により音声認識され、端末2に対する操作として解釈される。なお、端末2は音声認識による操作を行わなくてもよく、この場合、マイクロホン243を有しなくてもよい。
【0048】
計測部26は、端末2の第1座標系における位置及び姿勢を計測するデバイスであり、例えば、加速度センサ、角速度センサ等を有する。
【0049】
表示部25は、端末2を頭に装着したユーザの視野を覆うように配置された液晶ディスプレイ等の表示画面を有する。表示部25は、プロセッサ21の制御の下、この表示画面に画像を表示する。なお、表示部25は、ユーザの網膜に直接、レーザ光を投影して画像を表示する、いわゆる網膜投影ディスプレイを有してもよい。
【0050】
メモリ22は、プロセッサ21に読み込まれるオペレーティングシステム、各種のプログラム、データ等を記憶する記憶手段である。メモリ22は、RAMやROMを有する。なお、メモリ22は、ソリッドステートドライブ、ハードディスクドライブ等を有してもよい。
【0051】
また、メモリ22は、位置情報221、視線履歴222、追従DB223、指示DB224、及び設定DB225を記憶する。
【0052】
位置情報221は、計測部26が計測した端末2の位置及び姿勢を記憶する。図7は、位置情報の例を示す図である。図7に示す位置情報221は、X0、Y0、Z0の3つの数値で構成されるオフセットの欄と、θx、θy、θzの3つの数値で構成される回転角の欄と、を有する。
【0053】
図8は、位置情報221に記憶されるオフセット、及び回転角を説明するための図である。上述したオフセットは、端末2の基準となる、第2座標系の原点の位置を、第1座標系で表現した数値の組である。また、上述した回転角は、第1座標系におけるX軸、Y軸、Z軸に対する、第2座標系のx軸、y軸、z軸のそれぞれの傾きを表現した数値の組である。端末2の第1座標系における位置及び姿勢は、これらのオフセット、及び回転角により、特定される。
【0054】
図6に示す視線履歴222は、上述した操作部24の視線センサ241で計測される視線の履歴である。図9は、視線履歴222の例を示す図である。図9に示す視線履歴222は、時刻、x、及びzの各項目を対応付けて記憶する。視線センサ241は、例えば、0.1秒や1秒等、予め定められた周期でユーザの視線を計測し、計測したその結果をプロセッサ21に供給する。プロセッサ21は、視線センサ241がユーザの視線を計測した時刻とともに、その視線を示す情報を視線履歴222に記憶する。視線履歴222における時刻の欄は、視線センサ241がユーザの視線を計測した時刻を記憶する欄である。また、視線履歴222におけるx及びzの欄は、ユーザの視野を示すxz平面上の座標である。
【0055】
図10は、第2座標系とユーザの視野Vとの関係を説明するための図である。ユーザの頭の動きに依存する第2座標系は、図10に示す通り、原点O2で交差するx軸、y軸、z軸で示されるxyz右手系座標で表現される。ここで+y方向は、ユーザの正面の方向であり、原点O2よりも+y方向に決められた距離だけ進んだ位置に存在する、x軸及びz軸に平行な平面で、ユーザの視野Vが定められる。この平面である視野Vと、視線の方向が交差する点は、プロセッサ21により、ユーザの注視する点として特定される。これにより、例えば、図10に示す視野V上の点V1から点V2に視線が移動した場合、点V1及び点V2の、それぞれのx座標、z座標は、それらが計測された時刻とともに視線履歴222に記憶される。
【0056】
図6に示す追従DB223は、第2オブジェクトの表示態様を示すパラメータを、第2オブジェクトごとに記憶するデータベースである。図11は、追従DB223の例を示す図である。図11に示す追従DB223は、オブジェクトID、倍率、位置、順序、及び表示属性の各項目を対応付けて記憶する。
【0057】
オブジェクトIDは、情報処理装置1の属性DB123において第2座標系への追従が「有り」と記憶されたオブジェクト、すなわち、第2オブジェクトの識別情報である。倍率は、対応する第2オブジェクトが上述した視野Vにおいて表示される大きさの、基準に対する倍率を示す情報である。位置は、第2オブジェクトの第2座標系における位置を示す情報である。順序は、追従DB223が記憶する第2オブジェクトが重ねて配置される場合の、それぞれのユーザから見た順序を示す情報である。表示属性は、例えば、対応する第2オブジェクトの周囲に配置する枠の色や各種の修飾等を示す情報である。
【0058】
図12は、記憶されたオブジェクトの位置と描画位置との関係を説明するための図である。ここで描画位置とは、オブジェクトが端末2において表示部25の表示画面に表示される位置である。
【0059】
第1オブジェクトの位置は、情報処理装置1の属性DB123に記憶された位置であり、第1座標系における座標として表される。また、第2オブジェクトの位置は、端末2の追従DB223に記憶された位置であり、第2座標系における座標として表される。
【0060】
図12(a)に示す通り、端末2のプロセッサ21は、第1オブジェクトの位置を位置情報221に基づいて第2座標系における位置に座標変換し、さらに、透視投影変換して、視野Vにおける描画位置に変換する。これにより、第1オブジェクトはユーザが認識する仮想空間において第1座標系に対応する位置に表示される。つまり、このプロセッサ21は、ユーザが認識する仮想空間において、第1オブジェクトを、ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるプロセッサの例である。
【0061】
また、プロセッサ21は、第2オブジェクトの位置を、透視投影変換して視野Vにおける描画位置に変換する。これにより、第2オブジェクトは仮想空間において第2座標系に対応する位置に表示される。つまり、このプロセッサ21は、仮想空間において、第2オブジェクトを、ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるプロセッサの例である。
【0062】
第1オブジェクトを第2オブジェクトに変更する場合、プロセッサ21は、第1オブジェクトの位置を、位置情報221に基づいて座標変換し、得られた第2座標系における位置を、変更後の第2オブジェクトの位置として追従DB223に記憶する。
【0063】
また、第2オブジェクトを第1オブジェクトに変更する場合、プロセッサ21は、図12(b)に示す通り、第2オブジェクトの位置を、位置情報221に基づいて逆変換して、第1座標系における位置を算出し、この位置を情報処理装置1に送る。情報処理装置1のプロセッサ11は、送られたこの位置の情報を、変更後の第1オブジェクトの位置の情報として、属性DB123に記憶する。
【0064】
図6に示す指示DB224は、端末2の操作部24が受付けた操作のそれぞれに対して、満たしたか否かが判断される条件である操作条件と、その操作条件を満たしたときにその操作が示す指示の内容とを、対応付けて記憶するデータベースである。
【0065】
図13は、指示DB224の例を示す図である。図13に示す指示DB224において、操作条件の欄は、例えば、視線センサ241が計測した視線の動きが満たす条件、操作子センサ242が計測した操作子の軌跡が満たす条件、及び、マイクロホン243で収集した音声を音声認識した文字列が満たす条件等を記憶する。また、指示の欄は、例えば、対応する操作条件を満たした操作を受付けたときに、その操作によって特定されるオブジェクトを選択して端末2の動きに追従させる、追従を解除する、編集する等の指示の内容を記憶する。
【0066】
例えば、端末2を装着したユーザが、仮想空間内に表示された第1オブジェクトを3秒以上見ると、端末2の操作部24は、視線センサ241によりこの視線を検知する。そして、プロセッサ21は、検知された視線の情報と指示DB224とに基づいて、この視線による操作を、第1オブジェクトを第2オブジェクトに変更して、端末2の動きに追従させる操作であると判断する。また、ユーザがいずれかの第2オブジェクトから1分以上にわたって視線を外すと、追従が解除され、その第2オブジェクトは第1オブジェクトに戻る。
【0067】
図14は、設定DB225の例を示す図である。設定DB225は、端末2の動作に関する設定を記憶するデータベースである。図14に示す設定DB225において、項目の欄は、設定の対象である項目が記憶される。また、設定値の欄は、対応する項目に設定した値が記憶される。
【0068】
例えば、図14に示す設定DB225は、項目「モード」を記憶する。この項目は、第1オブジェクトに対する編集の開始を契機として、その第1オブジェクトを第2オブジェクトに変更するか否かを示す「モード」を示す項目である。図14に示す設定DB225の場合、項目「モード」に「手動」が設定されているため、編集の開始だけでは第1オブジェクトから第2オブジェクトへの変更は行われず、手動による操作で別途、変更の指示を出されたときに行われる。
【0069】
また、例えば項目「割込」は、処理の割込みを許可するか否かを示す項目である。ここで処理の割込みとは、実行中の処理(第1処理という)よりも優先される処理(第2処理という)を実行する指示があった場合に、第1処理を中断して第2処理を実行し、第2処理が終了次第、第1処理を再開することである。図14に示す設定DB225の場合、項目「割込」に「可」が設定されているため、処理の割込みは許可される。
【0070】
<端末の機能的構成>
図15は、端末2の機能的構成の例を示す図である。端末2のプロセッサ21は、メモリ22に記憶されたプログラムを実行することにより、第1取得部211、第2取得部212、第3取得部213、変換部214、解釈部215、表示制御部216、及び変更部217、として機能する。
【0071】
第1取得部211は、計測部26が計測した端末2の位置及び姿勢の情報を取得する。そして第1取得部211は、それらの情報に基づいて位置情報221にオフセット及び回転角を書き込む。
【0072】
第2取得部212は、操作部24の視線センサ241が検知した視線の情報を取得し、それらの情報を時刻とともに視線履歴222に記憶する。
【0073】
第3取得部213は、インタフェース23、及び図1に示す通信回線3を介して情報処理装置1から第1オブジェクトの位置及びデータを取得する。
【0074】
変換部214は、第3取得部213が取得した第1オブジェクトの位置を位置情報221に基づいて描画位置に変換する。また、変換部214は、追従DB223から第2オブジェクトの位置を読出し、この位置を透視投影変換して描画位置に変換する。
【0075】
解釈部215は、第2取得部212が取得したユーザの視線の履歴をメモリ22の視線履歴222から読出す。また、解釈部215は、操作部24の操作子センサ242、及びマイクロホン243からユーザの操作子、及び発話による操作の情報を取得する。そして、解釈部215は、メモリ22の設定DB225及び指示DB224を読出して、これらに基づいて、視線の履歴、操作子の動作、及び発話による操作を解釈する。
【0076】
表示制御部216は、変換部214によって描画位置に変換された第1オブジェクト及び第2オブジェクトを、解釈部215によって解釈された操作の内容に応じて表示部25に表示させる。
【0077】
変更部217は、解釈部215によって解釈された操作の内容に応じてオブジェクトの変更の指示を、インタフェース23経由で情報処理装置1へ伝える。この指示を受取った情報処理装置1は、メモリ12の属性DB123における追従情報の欄を、その指示に沿って書き換える。これにより、第1オブジェクトから第2オブジェクトへ、及び、第2オブジェクトから第1オブジェクトへの変更が行われる。
【0078】
<端末の動作>
図16は、端末の動作の流れの例を示すフロー図である。端末2の操作部24の図示しない電源ボタンの押下により端末2が起動すると、この端末2のプロセッサ21は、端末2を装着しているユーザのユーザID及びパスワードの入力を受付ける。この入力は、例えば、操作子センサ242が検知する操作子の動きにより受付けられてもよい。そして、プロセッサ21は、入力されたユーザID及びパスワードの組を、インタフェース23、通信回線3を介して情報処理装置1に送り、認証を要求する(ステップS101)。情報処理装置1は、メモリ12のユーザDB121を参照して要求された認証を行い、その結果を端末2に返信する。
【0079】
なお、端末2は、操作子の動きによってパスワード等の認証情報の入力を受付けるのではなく、他の方法でユーザの認証情報の入力を受付けてもよい。例えば、端末2は、ユーザの眼球を撮像して得られた画像からユーザの虹彩情報を抽出し、このユーザの認証情報として情報処理装置1に送ってもよい。この場合、情報処理装置1は、ユーザDB121に虹彩情報を記憶していればよい。
【0080】
プロセッサ21は、情報処理装置1から認証の結果を受信し、認証が成功したか否かを判断する(ステップS102)。認証が成功しなかった、と判断する場合(ステップS102;NO)、プロセッサ21は、処理をステップS101に戻して、認証の要求を繰り返す。
【0081】
一方、認証が成功した、と判断する場合(ステップS102;YES)、プロセッサ21は、情報処理装置1から、端末2のユーザに閲覧が許可されたオブジェクトのデータを取得する(ステップS103)。
【0082】
プロセッサ21は、計測部26により端末2の位置を計測する(ステップS104)。また、プロセッサ21は、ユーザの視線を視線センサ241により、ユーザの手・指等の操作子の動きを操作子センサ242により、それぞれ検知する(ステップS105)。また、プロセッサ21は、マイクロホン243によりユーザの発話を収集する(ステップS106)。
【0083】
そして、プロセッサ21は、視線、操作子、及び発話による操作のそれぞれを指示DB224に基づいて解釈し(ステップS107)、第1オブジェクトを第2オブジェクトに変更する指示があるか否かを判断する(ステップS108)。
【0084】
この第1オブジェクトを第2オブジェクトに変更することは、頭の動きに依存しない第1座標系に固定された位置に表示される第1オブジェクトを、頭の動きに依存する第2座標系に対応する位置に表示される第2オブジェクトに変更することである。つまり、この変更は、第1オブジェクトを頭に追従した位置に表示される第2オブジェクトに変更することであるため、以下、「追従変更」ともいう。
【0085】
上述した追従変更の指示がある、と判断する場合(ステップS108;YES)、プロセッサ21は、上述した操作により特定される第1オブジェクトを第2オブジェクトに変更する(ステップS109)。一方、追従変更の指示がない、と判断する場合(ステップS108;NO)、プロセッサ21は、ステップS109を行わずに処理を次のステップS110に進める。つまり、このプロセッサ21は、第1オブジェクトに対するユーザの操作に応じて、この第1オブジェクトを第2オブジェクトに変更するプロセッサの例である。
【0086】
図17は、ユーザが見る仮想空間の例を示す図である。図17に示す仮想空間は、端末2を頭に装着したユーザが表示部25により視認する仮想的な三次元空間である。図17に示す通り、この仮想空間では仮想的な作業机の上にオブジェクトJ21、J22、J23が載っているように表示されている。また、図17に示す右側の壁にはオブジェクトJ24が架けられている。これらのオブジェクトは、情報処理装置1のメモリ12に記憶された属性DB123の外観データを用いてそれぞれ仮想空間に表示される。
【0087】
また、図17に示す視点P1は、上述した仮想空間においてユーザの視線が注がれる点である。操作点P2は、図17の仮想空間において、ユーザの手・指等の操作子が存在する場所に相当する点である。
【0088】
例えば、ユーザが、オブジェクトJ21を3秒以上にわたって見ると、プロセッサ21はこれを、第1オブジェクトであるオブジェクトJ21を第2オブジェクトに追従変更する指示と解釈する。そして、設定DB225に例えば、解釈した操作をダイヤログによって確認する旨が設定されている場合、プロセッサ21は、表示部25により追従変更を確認するダイヤログを表示させる。
【0089】
図18は、追従変更を確認するダイヤログの例を示す図である。このダイヤログに含まれるダイヤログウインドウW1には、「このオブジェクトを顔の向きに追従させます」というメッセージM1が表示される。また、このメッセージM1の下には、「OK」という文字列が書かれたボタンB11と、「キャンセル」という文字列が書かれたボタンB12とが表示される。
【0090】
例えば、ユーザが図18に示すボタンB11に操作点P2が重なるように手・指等の操作子を移動させ、タップ動作等の予め決められたジェスチャーをすると、ユーザが3秒以上にわたって見たオブジェクトJ21は、第1オブジェクトから第2オブジェクトに変更される。すなわち、この場合、プロセッサ21は、情報処理装置1にこの追従変更の指示を出す。この指示を受信した情報処理装置1のプロセッサ11は、属性DB123において、オブジェクトJ21の追従情報の欄を「有り」に書き換える。また、プロセッサ21は、オブジェクトJ21のデータを追従DB223に追加する。
【0091】
なお、上述した例で、追従変更を指示する操作はユーザの視線を用いて行われたものであり、「オブジェクトJ21を3秒以上にわたって見る」というものであった。これは、ユーザの視線の方向と、オブジェクトJ21の表示される位置とが、「3秒以上にわたって重なる」という決められた関係(第1関係という)にある、という条件を満たす操作である。つまり、上述した例における追従変更を指示する操作は、ユーザの視線を用いた操作の例である。そして、この例におけるプロセッサ21は、視線の方向と、第1オブジェクトの表示される位置とが、決められた第1関係にある場合に、この第1オブジェクトを第2オブジェクトに変更するプロセッサの例である。
【0092】
図19は、仮想空間において編集されるオブジェクトの例を示す図である。図18に示す仮想空間に対してユーザがオブジェクトJ21を視線による操作で選択し、編集を開始すると、図19に示す通り、端末2のプロセッサ21は、オブジェクトJ21を編集可能な態様で表示する。
【0093】
ここでオブジェクトJ21は、「A社契約書」という名称の文書であり、図19に示す通り、その文面がユーザの視野に入るように表示される。このとき、オブジェクトJ21は、第1オブジェクトから第2オブジェクトに変更されているので、ユーザの頭の動きに依存する第2座標系に対応する位置に表示される。したがって、ユーザが頭を動かすと、頭に装着されている端末2もそれに伴って動き、第2座標系が変化するから、第2座標系の原点O2と第2オブジェクトとの相対的な位置の関係は維持される。つまり、第2オブジェクトに変更されたオブジェクトJ21は、ユーザの頭の動きに追従するため、ユーザはオブジェクトJ21を視野Vから見失しなうことがない。
【0094】
図16に示す通り、プロセッサ21は、解釈した操作に基づいて、上述した追従変更を終了する指示があるか否かを判断する(ステップS110)。追従変更を終了する指示は、第1オブジェクトから第2オブジェクトに変更する「追従変更」を指示したオブジェクトを、さらに第1オブジェクトに再度、変更する指示である。
【0095】
追従変更を終了する指示がある、と判断する場合(ステップS110;YES)、プロセッサ21は、上述した操作により特定される第2オブジェクトを第1オブジェクトに変更する(ステップS111)。一方、追従変更を終了する指示がない、と判断する場合(ステップS110;NO)、プロセッサ21は、ステップS111を行わずに処理を次のステップS112に進める。
【0096】
例えば、ユーザが、編集しているオブジェクトJ21から1分以上にわたって視線を外すと、プロセッサ21はこれを、第2オブジェクトに変更済みであるオブジェクトJ21を第1オブジェクトに戻す指示(つまり、追従変更を終了する指示)と解釈する。そして、設定DB225に例えば、解釈した操作をダイヤログによって確認する旨が設定されている場合、プロセッサ21は、表示部25により追従変更の終了を確認するダイヤログを表示させる。
【0097】
図20は、追従変更の終了を確認するダイヤログの例を示す図である。このダイヤログに含まれるダイヤログウインドウW2には、「このオブジェクトを顔の向きに追従させることを終了します」というメッセージM2が表示される。また、このメッセージM2の下には、「OK」という文字列が書かれたボタンB21と、「キャンセル」という文字列が書かれたボタンB22とが表示される。
【0098】
例えば、ユーザが図20に示すボタンB21に操作点P2が重なるように手・指等の操作子を移動させ、タップ動作等の予め決められたジェスチャーをすると、ユーザにより編集され、1分以上にわたって視線が外れていたオブジェクトJ21は、第2オブジェクトから第1オブジェクトに変更される。すなわち、この場合、プロセッサ21は、情報処理装置1にこの追従変更の終了の指示を出す。この指示を受信した情報処理装置1のプロセッサ11は、属性DB123において、オブジェクトJ21の追従情報の欄を「無し」に書き換える。また、プロセッサ21は、オブジェクトJ21のデータを追従DB223から削除する。
【0099】
なお、上述した例において、編集しているオブジェクトJ21からユーザが1分以上にわたって視線を外すという条件(第1条件という)を満たしたとき、オブジェクトJ21は、第2オブジェクトから第1オブジェクトに変更された。つまり、上述した例におけるこのプロセッサ21は、決められた第1条件を満たしたとき、第2オブジェクトを第1オブジェクトに変更するプロセッサの例である。
【0100】
プロセッサ21は、追従変更の指示、及び追従変更の終了の指示の有無を確認し、これらに応じてオブジェクトを変更した後、これらのオブジェクトを仮想空間に表示する(ステップS112)。プロセッサ21は、終了の条件が満たされているか否かを判断し(ステップS113)、満たされていない、と判断する場合(ステップS113;NO)、処理をステップS104に戻す。一方、終了の条件が満たされている、と判断する場合(ステップS113;YES)、プロセッサ21は、処理を終了する。
【0101】
上述した動作により、情報処理システム9の端末2は、ユーザの操作に応じて、ユーザの頭の動きに依存しない第1座標系に対応する位置に表示される第1オブジェクトを、その頭の動きに依存する第2座標系に対応する位置に表示される第2オブジェクトに変更する。これにより、ユーザは、必要とする第1オブジェクトを第2オブジェクトに変更させる操作をすることにより、変更された第2オブジェクトが自身の頭の動きに追従して表示されるので、これを見失うことがない。また、ユーザは、必要としないオブジェクトを第1オブジェクトのままにしておくことで、必要とする第2オブジェクトと、それら第1オブジェクトを区別して認識する。
【0102】
<変形例>
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の変形例は、互いに組合されてもよい。
【0103】
<1>
上述した実施形態において、端末2は、CPUで構成されるプロセッサ21を有していたが、端末2を制御する制御手段は他の構成であってもよい。例えば、端末2は、CPU以外にも各種のプロセッサ等を有してもよい。
【0104】
ここでプロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えば上述したCPU等)や、専用のプロセッサ(例えばGPU: Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA: Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0105】
<2>
上述した実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。例えば、情報処理システム9は、1つの情報処理装置1を有していたが、通信可能に接続された複数の情報処理装置1を有し、これらにより機能を分担するクラスタシステムを実現してもよい。
【0106】
また、プロセッサの各動作の順序は、上述した実施形態において記載した順序のみに限定されるものではなく、適宜変更されてもよい。
【0107】
<3>
上述した実施形態において、端末2は、情報処理装置1の機能を有してもよい。この場合、端末2は、情報処理装置1のメモリ12に記憶されたデータベース等を記憶してもよい。この場合、端末2は他の端末2と通信回線3を経由して接続されなくてもよく、端末2がメモリ22により記憶するオブジェクトは、他の端末2のユーザと共有されなくてもよい。
【0108】
<4>
上述した実施形態において、端末2のプロセッサ21は、第1オブジェクトを第2オブジェクトに追従変更させる指示、及び第2オブジェクトを第1オブジェクトに戻して追従変更を終了する指示を受付けていたが、第2オブジェクトの表示の態様を変更する指示を受付けてもよい。
【0109】
図21は、第2オブジェクトの表示に態様が変更される様子を示す図である。例えば、ユーザは、追従変更を指示し、編集を開始したオブジェクトJ21に対して、その表示の倍率を変更する指示をする。この指示は、例えば、ユーザがオブジェクトJ21の右下隅に操作点P2を移動させて決められたジェスチャーを行い、さらに、その操作点P2を移動させることにより行われる。プロセッサ21は、この操作を解釈して、移動後の操作点P2にオブジェクトJ21の右下隅が重なるように、オブジェクトJ21の表示の倍率を変更すればよい。
【0110】
また、ユーザは、複数の操作点P2を操作できる場合、それらの操作点を互いに近づけたり、遠ざけたりする、いわゆるピンチイン、ピンチアウト等の操作を行って、第2オブジェクトの表示の倍率を変更する指示を出してもよい。また、端末2は、第2オブジェクトの表示の倍率の変更以外にも、第2オブジェクトの表示の態様を変更する操作を受付けてもよい。この場合、端末2は、例えば、第2オブジェクトの色や枠等の修飾を変更する指示を受付ける。
【0111】
また、第2オブジェクトの表示の態様を変更する操作は、視線を用いて行われてもよい。例えば、ユーザが決められた時間以上にわたって第2オブジェクトの四隅のいずれかに視線を注ぎ、その後に、その視線を移動させることで、第2オブジェクトの表示の倍率が変更されてもよい。この場合、ユーザが行う操作は、第2オブジェクトに対するユーザの視線の方向と、第2オブジェクトの表示される位置とが決められた関係(第2関係という)にある、という条件を満たす操作であるとよい。つまり、このプロセッサ21は、第2オブジェクトに対するユーザの視線の方向と、第2オブジェクトの表示される位置とが、決められた第2関係にある場合に、この第2オブジェクトの表示の態様を変更するプロセッサの例である。
【0112】
なお、表示の態様が変更された後も、上述した第2オブジェクトは、第2オブジェクトのままである。そのため、図21に示す倍率が変更されたオブジェクトJ21は、ユーザが頭を動かしても、ユーザの視野に収まり続ける。
【0113】
図22は、ユーザが頭の向きを変えたときに見える仮想空間を示す図である。図21に示す仮想空間を見ているときに、ユーザが自身の頭の向きを左にずらすと、オブジェクトJ22、J23、J24等、第1オブジェクトは、ユーザの頭の動きに依存しない第1座標系に対応する位置に表示されているため、ユーザの視野の中心である原点O2とこれらとの相対的位置は変化する。そのため、これらのいずれかは、ユーザの視野の外に移動し、ユーザに視認されなくなることがある。
【0114】
一方、第2オブジェクトに変更されたオブジェクトJ21は、ユーザの頭の動きに依存する第2座標系に対応する位置に表示されている。そのため、ユーザの視野の中心である原点O2とオブジェクトJ21との相対的位置は変化せず、ユーザは、オブジェクトJ21を見失うことがない。
【0115】
<5>
上述した実施形態において、ユーザにより第1オブジェクトから第2オブジェクトに変更されたのは、オブジェクトJ21のみであったが、端末2は、複数のオブジェクトを追従変更してもよい。また、複数のオブジェクトを追従変更させる場合、端末2は、第2オブジェクトの数に応じて、それらを表示する大きさを変化させてもよい。
【0116】
図23は、数に応じて大きさが決まる第2オブジェクトの例を示す図である。ユーザがオブジェクトJ21に加えて、オブジェクトJ22も追従変更させる指示を出すと、端末2のプロセッサ21は、これらの高さH2を、視野の高さH1と、これらの数(すなわち、「2」)とに基づいて決定する。
【0117】
すなわち、プロセッサ21は、視野の高さH1を第1オブジェクトから第2オブジェクトへ変更されたオブジェクトJ21、及びオブジェクトJ22の数である2で割ることで、これらオブジェクトのそれぞれの高さH2を決めればよい。この場合、プロセッサ21は、第2オブジェクトの大きさを、第2オブジェクトの数に応じて変化させて表示させるプロセッサの例である。これにより、第2オブジェクトが縦方向に並べられても、それぞれの高さH2の合計は、視野の高さH1を超えないため、複数の第2オブジェクトが互いに重なり合うことがない。
【0118】
なお、上述した例では、決められた高さH1を第2オブジェクトの数で割った値を、それぞれの第2オブジェクトの高さH2と決めているから、第2オブジェクトの数が多くなるほど、第2オブジェクトは小さく表示される。つまり、この場合、プロセッサ21は、第2オブジェクトの数が多いほど、第2オブジェクトのそれぞれを小さく表示させるプロセッサの例である。
【0119】
また、上述した例でプロセッサ21は、第2オブジェクトの数が多いほど、第2オブジェクトのそれぞれを小さく表示させていたが、第2オブジェクトの内容を、ユーザが把握しやすくするために、逆に、第2オブジェクトの数が多いほど、第2オブジェクトのそれぞれを大きく表示させるようにしてもよい。
【0120】
<6>
上述した変形例において、端末2のプロセッサ21は、複数の第2オブジェクトを、互いに重ならないように並べていたが、他の態様で並べてもよい。例えば、プロセッサ21は、複数の第2オブジェクトを、決められた順序で重ねて並べられてもよい。また、プロセッサ21は、第2オブジェクトを並べて表示する態様を、第2オブジェクトの数に応じて変化させてもよい。
【0121】
図24は、数が閾値以上となったことで表示の規則が変化した第2オブジェクトの例を示す図である。ユーザがオブジェクトJ21、J22に加えて、オブジェクトJ23も追従変更させる指示を出すと、第2オブジェクトの数は3になる。予め設定された閾値が3である場合、第2オブジェクトの数は閾値以上となっているため、端末2のプロセッサ21は、図23に示す、互いに重ならないように第2オブジェクトを並べる規則ではなく、決められた順序で第2オブジェクトを重ねる規則を採用して、これらを表示する。この場合、このプロセッサ21は、第2オブジェクトの数が決められた閾値以上である場合に、この数が閾値未満であるときと異なる規則に従って、第2オブジェクトを表示させるプロセッサの例である。
【0122】
また、このプロセッサ21は、第2オブジェクトの数が閾値未満である場合に第2オブジェクトを互いに重ならないように配置し、第2オブジェクトの数が閾値以上である場合に第2オブジェクトを重ねて配置して、表示するプロセッサの例である。
【0123】
なお、第2オブジェクトの数が閾値以上である場合は、第2オブジェクトを重ねて配置する例を挙げたが、それに限る必要はない。例えば、プロセッサ21は、第2オブジェクトの数が閾値以上である場合に、第2オブジェクトの大きさを小さくして並べて表示し、第2オブジェクトの数が閾値未満である場合に、第2オブジェクトの大きさを変化させないで並べて表示してもよい。
【0124】
<7>
上述した実施形態において、ユーザは、第1オブジェクトを3秒以上にわたって見ることにより、その第1オブジェクトを第2オブジェクトに変更する追従変更の指示を出していたが、他の操作によりこの指示を出してもよい。例えば、ユーザは、第1オブジェクトを編集する操作、つまり、その内容を変更する操作をすることで、第1オブジェクトを第2オブジェクトに変更する指示を出してもよい。この場合、上述した追従変更を指示する操作は、第1オブジェクトの内容を変更する操作である。
【0125】
<8>
端末2のプロセッサ21は、実行中の第1処理よりも優先される第2処理を実行する旨の指示があった場合に、第1処理を中断して第2処理を実行する割込み処理を行ってもよい。この場合、プロセッサ21は、第2処理を実行している間、第2オブジェクトの表示を保留してもよい。
【0126】
図25は、割込みがあったときに表示されるダイヤログの例を示す図である。例えば、オブジェクトを編集する第1処理よりも、アラームの告知やメール等の通知が優先される第2処理として定められている場合、端末2のプロセッサ21は、メール等の受信を契機として割込みを行う。
【0127】
このときプロセッサ21は、図25に示すダイヤログを表示部25に表示させる。このダイヤログに含まれるダイヤログウインドウW3には、「このオブジェクトを顔の向きに追従させることを保留します」というメッセージM3が表示される。また、このメッセージM3の下には、「OK」という文字列が書かれたボタンB31と、「キャンセル」という文字列が書かれたボタンB32とが表示される。
【0128】
例えば、ユーザが図25に示すボタンB31に操作点P2が重なるように手・指等の操作子を移動させ、タップ動作等の予め決められたジェスチャーをすると、ユーザによって追従変更されたオブジェクトJ21は、表示が保留される。つまり、このオブジェクトJ21は、第2座標系に対応する位置に表示されなくなるため、ユーザの視野に収まらない位置に移動することも生じる。
【0129】
一方、メール等の通知等、第2処理が完了すると、端末2のプロセッサ21は、割込みが終了したことに伴って、第2オブジェクトの表示を再開する旨をユーザに伝えるためダイヤログを表示部25に表示させる。
【0130】
図26は、割込みが終了したときに表示されるダイヤログの例を示す図である。このダイヤログに含まれるダイヤログウインドウW4には、「このオブジェクトを顔の向きに追従させることを再開します」というメッセージM4が表示される。また、このメッセージM4の下には、「OK」という文字列が書かれたボタンB41と、「キャンセル」という文字列が書かれたボタンB42とが表示される。
【0131】
例えば、ユーザが図26に示すボタンB41に操作点P2が重なるように手・指等の操作子を移動させ、タップ動作等の予め決められたジェスチャーをすると、ユーザによって追従変更されたオブジェクトJ21は、表示が再開される。つまり、このオブジェクトJ21は、第2座標系に対応する位置に表示されるため、ユーザの視野に収まり、ユーザが見失うことがなくなる。
【0132】
この場合、このプロセッサ21は、実行中の第1処理よりも優先される第2処理を実行する指示があった場合に、第2オブジェクトの表示を保留し、第2処理が完了した場合に、保留した第2オブジェクトの表示を再開するプロセッサの例である。
【0133】
なお、端末2が第2オブジェクトの表示を保留するのは、割込み処理が行われるときに限らない。例えば、端末2は、上述した仮想空間に保留ボタンを設けてもよい。この場合、端末2は、ユーザがこの保留ボタンに操作点が重なるように手・指等の操作子を移動させた場合に、第2オブジェクトの表示を保留してもよい。したがって予め決められた条件(第2条件という)を満たしたとき、プロセッサ21は、第2オブジェクトの表示を保留すればよい。
【0134】
また、端末2が第2オブジェクトの表示を再開するのは、割込み処理が完了するときに限らない。例えば、端末2は、上述した仮想空間に再開ボタンを設けてもよい。この場合、端末2は、ユーザがこの再開ボタンに操作点が重なるように手・指等の操作子を移動させた場合に、第2オブジェクトの表示を再開してもよい。したがって、予め決められた条件(第3条件という)を満たしたとき、プロセッサ21は、第2オブジェクトの表示を再開すればよい。
【0135】
つまり、上述したプロセッサ21は、決められた第2条件を満たしたとき、仮想空間における第2座標系に対応する位置への、第2オブジェクトの表示を保留し、決められた第3条件を満たしたとき、保留した第2オブジェクトの表示を再開するプロセッサの例である。
【0136】
<9>
上述した実施形態において、情報処理装置1のプロセッサ11によって実行されるプログラムは、プロセッサを有するコンピュータに、ユーザが認識する仮想空間において、第1オブジェクトを、ユーザの頭の動きに依存しない第1座標系に対応する位置に表示させるステップと、仮想空間において、第2オブジェクトを、ユーザの頭の動きに依存する第2座標系に対応する位置に表示させるステップと、第1オブジェクトに対するユーザの操作に応じて、第1オブジェクトを第2オブジェクトに変更するステップと、を実行させるプログラムの例である。
【0137】
このプログラムは、磁気テープ及び磁気ディスク等の磁気記録媒体、光ディスク等の光記録媒体、光磁気記録媒体、半導体メモリ等の、コンピュータ装置が読取り可能な記録媒体に記憶された状態で提供し得る。また、このプログラムは、インターネット等の通信回線経由でダウンロードされてもよい。
【符号の説明】
【0138】
1…情報処理装置、11…プロセッサ、12…メモリ、121…ユーザDB、122…オブジェクトDB、123…属性DB、13…インタフェース、2…端末、21…プロセッサ、211…第1取得部、212…第2取得部、213…第3取得部、214…変換部、215…解釈部、216…表示制御部、217…変更部、22…メモリ、221…位置情報、222…視線履歴、223…追従DB、224…指示DB、225…設定DB、23…インタフェース、24…操作部、241…視線センサ、242…操作子センサ、243…マイクロホン、25…表示部、26…計測部、3…通信回線、9…情報処理システム、B11、B12、B21、B22、B31、B32、B41、B42…ボタン、J21、J22、J23、J24…オブジェクト、M1、M2、M3、M4…メッセージ、O1、O2…原点、P1…視点、P2…操作点。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26