JP7283388B2 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP7283388B2
JP7283388B2 JP2019549905A JP2019549905A JP7283388B2 JP 7283388 B2 JP7283388 B2 JP 7283388B2 JP 2019549905 A JP2019549905 A JP 2019549905A JP 2019549905 A JP2019549905 A JP 2019549905A JP 7283388 B2 JP7283388 B2 JP 7283388B2
Authority
JP
Japan
Prior art keywords
virtual object
hand
posture
real
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019549905A
Other languages
English (en)
Other versions
JPWO2019087564A1 (ja
Inventor
諒介 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2019087564A1 publication Critical patent/JPWO2019087564A1/ja
Application granted granted Critical
Publication of JP7283388B2 publication Critical patent/JP7283388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Architecture (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Description

本開示は、情報処理装置、情報処理方法、およびプログラムに関する。
従来、VR(Virtual Reality)やAR(Augmented Reality)に関する技術が各種開発されている。VRでは、コンピュータによって生成された例えば3次元の仮想空間の映像をユーザは没入感高く視聴することができる。また、ARでは、実空間におけるユーザの位置と関連付けて各種の情報(例えば仮想オブジェクトなど)をユーザに対して提示することができる。
例えば、下記特許文献1には、実空間においてユーザが行っている行動に基づいて仮想オブジェクトの出現や消滅を制御する技術が記載されている。
国際公開第2014/171200号
しかしながら、特許文献1に記載の技術では、仮想オブジェクトの実空間内における位置情報と特定の実オブジェクトの位置情報との関係に適応的に当該仮想オブジェクトの姿勢を変更することは考慮されていなかった。
そこで、本開示では、仮想オブジェクトの実空間内における位置情報と実オブジェクトの位置情報との関係に適応的に当該仮想オブジェクトの姿勢を変更することが可能な、新規かつ改良された情報処理装置、情報処理方法、およびプログラムを提案する。
本開示によれば、表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部と、を備える、情報処理装置が提供される。
また、本開示によれば、表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得することと、前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢をプロセッサが変更することと、を含む、情報処理方法が提供される。
また、本開示によれば、コンピュータを、表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部、として機能させるためのプログラムが提供される。
以上説明したように本開示によれば、仮想オブジェクトの実空間内における位置情報と実オブジェクトの位置情報との関係に適応的に当該仮想オブジェクトの姿勢を変更することができる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本開示の各実施形態に共通する情報処理システムの構成例を示した説明図である。 表示部124における仮想オブジェクトの表示例を示した図である。 第1の実施形態の課題を説明するための説明図である。 第1の実施形態の課題を説明するための説明図である。 第1の実施形態の課題を説明するための説明図である。 第1の実施形態の課題を説明するための説明図である。 第1の実施形態に係る情報処理装置10‐1の構成例を示した機能ブロック図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の決定例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の決定例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の決定例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の決定例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の決定例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の決定例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る姿勢変更対象の一以上の関節の姿勢の変更例を示した図である。 第1の実施形態に係る処理の流れの一部を示したフローチャートである。 第1の実施形態に係る処理の流れの一部を示したフローチャートである。 第2の実施形態に係る情報処理装置10‐2の構成例を示した機能ブロック図である。 第2の実施形態に係る仮想オブジェクトの姿勢の変更例を示した図である。 第2の実施形態に係る仮想オブジェクトの姿勢の変更例を示した図である。 第2の実施形態に係る仮想オブジェクトの姿勢の変更例を示した図である。 第2の実施形態に係る仮想オブジェクトの姿勢の変更例を示した図である。 第2の実施形態に係る処理の流れの一部を示したフローチャートである。 第2の実施形態に係る処理の流れの一部を示したフローチャートである。 各実施形態に共通する情報処理装置10のハードウェア構成例を示した説明図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。例えば、実質的に同一の機能構成を有する複数の構成要素を、必要に応じて仮想オブジェクト30aおよび仮想オブジェクト30bのように区別する。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。例えば、仮想オブジェクト30aおよび仮想オブジェクト30bを特に区別する必要が無い場合には、単に仮想オブジェクト30と称する。
また、以下に示す項目順序に従って当該「発明を実施するための形態」を説明する。
1.情報処理システムの構成
2.第1の実施形態
3.第2の実施形態
4.ハードウェア構成
5.変形例
なお、以下では、本開示の第1の実施形態に係る情報処理装置10‐1、および、本開示の第2の実施形態に係る情報処理装置10‐2を総称して、情報処理装置10と称する場合がある。
<<1.情報処理システムの構成>>
まず、本開示の各実施形態に共通する情報処理システムの構成例について、図1を参照して説明する。図1に示すように、各実施形態に係る情報処理システムは、情報処理装置10、サーバ20、および、通信網22を有する。
<1-1.情報処理装置10>
情報処理装置10は、仮想オブジェクトを含むコンテンツの表示を制御する装置である。例えば、情報処理装置10は、当該コンテンツを、後述する表示部124に表示させる。当該コンテンツは、例えば、ARコンテンツ、または、VRコンテンツなどである。
情報処理装置10は、図1に示したように、表示部124を含む頭部装着型のデバイスであり得る。例えば、情報処理装置10は、ARグラス、ビデオシースルー型のHMD(Head Mounted Display)、または、遮蔽型のHMDであってもよい。
図2は、表示部124におけるARコンテンツ4の表示例を示した図である。図2に示したように、情報処理装置10は、情報処理装置10を装着しているユーザの周囲の実オブジェクト(例えばユーザの手2など)を目視可能としつつ、仮想オブジェクト30を表示部124に表示させることが可能である。さらに、情報処理装置10は、仮想オブジェクト30の表示位置に対応する実空間内における位置情報と、実空間内の個々の実オブジェクトの位置情報とに基づいて、当該仮想オブジェクトと個々の実オブジェクトとの接触判定を行うことも可能である。これにより、仮想オブジェクト30に対してユーザが左右の手2を接触させることにより、例えば、仮想オブジェクト30の位置や姿勢を動かすことも実現可能である。
<1-2.サーバ20>
サーバ20は、各種のコンテンツ(ARコンテンツやVRコンテンツなど)を管理する装置である。また、サーバ20は、通信網22を介して他の装置と通信を行うことが可能である。例えば、サーバ20は、情報処理装置10からコンテンツの取得要求を受信し、そして、当該取得要求に対応するコンテンツを情報処理装置10へ送信する。
<1-3.通信網22>
通信網22は、通信網22に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、通信網22は、電話回線網、インターネット、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、通信網22は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
以上、各実施形態に共通する情報処理システムの構成について説明した。後述するように、各実施形態に係る情報処理装置10は、表示部124により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、当該実空間内の第2の実オブジェクトの位置情報を取得し、そして、仮想オブジェクトの位置情報と、第1の実オブジェクトの位置情報と、第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、当該仮想オブジェクトの姿勢を変更することが可能である。ここで、仮想オブジェクトの実空間内における位置情報は、表示部124における仮想オブジェクトの表示位置に対応する実空間内における位置情報と同一であってもよい。
<<2.第1の実施形態>>
まず、第1の実施形態について説明する。第1の実施形態では、ユーザが左右の手の動作により仮想オブジェクトの姿勢を変形する場面を想定する。また、第1の実施形態では、仮想オブジェクトは、複数の固定部と、隣接する二つの固定部ごとに当該二つの固定部を回転可能に連結する可動部とを有するデータとして構成されることを想定する。例えば、当該固定部は剛体であり、かつ、当該可動部は関節であり得る。一例として、仮想オブジェクトは、剛体-関節モデルを用いて構成される。さらに、当該仮想オブジェクトは、これらの剛体の各々、および、これらの関節の各々の接続関係を示すツリー構造を用いて構成されてもよい。なお、第1の実施形態において、ユーザの左手および右手のうちのいずれか一方は、本開示に係る第1の実オブジェクトの一例である。また、ユーザの左手および右手のうちのいずれか他方は、本開示に係る第2の実オブジェクトの一例である。
<2-1.背景>
次に、第1の実施形態を創作するに至った背景について説明する。例えば図2に示したように、ユーザが左右の手の動作により仮想オブジェクトの姿勢を変形しようとする場面では、(例えばユーザが実オブジェクトの姿勢を手で変形する場合とは異なり)操作を行っている際にユーザの手の動きが物理的に拘束されない。このため、例えば、ユーザの手が、自分の意図する位置からずれてしまう等の理由により、仮想オブジェクトの姿勢がユーザの意図とは異なる姿勢に変形されてしまい得る。
ここで、図3A~図3Dを参照して、上記の内容についてさらに詳細に説明する。図3A~図3Dは、仮想オブジェクト30の姿勢をユーザが手で変更する例を示した図である。図3Aに示したように、ユーザは、まず、仮想オブジェクト30に含まれる剛体300aを右手2bで掴み、かつ、剛体300bを左手2aで掴んだとする。この時点において、ユーザは、仮想オブジェクト30の姿勢(より詳細には剛体300aの姿勢)を例えば図3Cに示したような姿勢に変更させることを希望したとする。そして、図3Bに示したように、ユーザは、右手2bの姿勢を剛体300aを掴んでいる姿勢のまま維持しつつ、図3Bに示した実線の矢印に沿って右手2bを動かしたとする。
しかしながら、前述したように、操作時にユーザの手の動きが拘束されないので、例えば、図3Cに示したように、ユーザの意図する剛体300aの位置と、実際の右手2bの位置とがズレる場合がある。このような場合、公知の技術では、例えば図3Dに示したように、剛体300aの位置を、実際の右手2bの位置に追従させ得る。その結果、剛体300aの位置および姿勢がユーザの意図とは異なって変更してしまうので、仮想オブジェクト30の姿勢が、ユーザの意図とは異なる姿勢に変形され得る。
後述するように、第1の実施形態によれば、ユーザが左右の手の動作により仮想オブジェクトの姿勢を変形する場面において、ユーザの意図通りに仮想オブジェクトの姿勢を変形することができる。
<2-2.構成>
次に、第1の実施形態に係る構成について説明する。図4は、第1の実施形態に係る情報処理装置10‐1の構成例を示した機能ブロック図である。図4に示すように、情報処理装置10‐1は、制御部100、通信部120、センサ部122、表示部124、および、記憶部126を有する。
{2-2-1.センサ部122}
センサ部122は、例えば、カメラ(イメージセンサ)、デプスセンサ(例えばtime of flight方式のセンサ、structured light方式のセンサ、または、ステレオカメラなど)、マイクロフォン、加速度センサ、ジャイロスコープ、地磁気センサ、および/または、GPS(Global Positioning System)受信機などを含み得る。
例えば、センサ部122に含まれるカメラは、情報処理装置10‐1の前方の映像を撮像する。また、センサ部122に含まれるデプスセンサは、情報処理装置10‐1の前方に位置する個々の実オブジェクトまでの距離をセンシングする。
{2-2-2.制御部100}
制御部100は、例えば、後述するCPU(Central Processing Unit)150やGPU(Graphics Processing Unit)などの処理回路を含んで構成され得る。制御部100は、情報処理装置10の動作を統括的に制御する。また、図4に示すように、制御部100は、認識部102、情報取得部104、および、表示制御部106を有する。
{2-2-3.認識部102}
認識部102は、センサ部122によるセンシング結果に基づいて、各種の認識処理を行う。例えば、認識部102は、センサ部122により撮影された画像に対して画像認識を行う。さらに、認識部102は、実空間内に存在する個々の実オブジェクトに関して、オブジェクトの種類(例えばユーザの手など)、位置、および、姿勢などを当該画像認識の結果に基づいて認識する。
{2-2-4.情報取得部104}
情報取得部104は、表示部124により表示されている仮想オブジェクトの実空間内における位置情報、ユーザの左手の位置情報、および、ユーザの右手の位置情報を受信又は読出し処理などを行うことにより取得する。例えば、情報取得部104は、認識部102による認識結果と、センサ部122によりセンシングされたデプス情報とに基づいて、実空間におけるユーザの左手の位置情報、および、ユーザの右手の位置情報を特定することにより、当該左手の位置情報および当該右手の位置情報を取得する。また、情報取得部104は、表示部124における仮想オブジェクトの現在の表示位置に対応する実空間内における位置情報を特定(または取得)し、そして、特定(または取得)した位置情報を当該仮想オブジェクトの実空間内における位置情報として取得する。
{2-2-5.表示制御部106}
表示制御部106は、表示部124に対する仮想オブジェクトの表示を制御する。例えば、表示制御部106は、情報取得部104により取得された、仮想オブジェクトの位置情報と、ユーザの左手の位置情報と、ユーザの右手の位置情報との関係性に対応する、姿勢の変更ルールに基づいて、当該仮想オブジェクトの姿勢を変更する。また、表示制御部106は、仮想オブジェクトの姿勢を変更する度に、当該変更後の仮想オブジェクトを表示部124に表示させる。
例えば、表示制御部106は、ユーザの右手および左手の両方が当該仮想オブジェクトに接触したと判定された後の右手または左手の位置の変化に応じて、当該仮想オブジェクトの姿勢を変更する。一例として、表示制御部106は、まず、当該仮想オブジェクトに対して右手が接触したと判定された際の当該仮想オブジェクトにおける右手の接触位置と、当該仮想オブジェクトに対して左手が接触したと判定された際の当該仮想オブジェクトにおける左手の接触位置との関係性に基づいて、当該仮想オブジェクトのうち姿勢変更対象の一以上の関節を決定する。そして、表示制御部106は、当該姿勢変更対象の一以上の関節の決定後におけるユーザの右手または左手の位置の変化に応じて、当該姿勢変更対象の一以上の関節の姿勢を変更することにより、当該仮想オブジェクトの姿勢を変更する。
さらに詳細には、当該姿勢変更対象の一以上の関節を決定することと同時に、表示制御部106は、仮想オブジェクトに含まれるいずれかの剛体の姿勢を固定してもよい。そして、表示制御部106は、姿勢が固定された剛体と、当該姿勢変更対象の一以上の関節の決定後におけるユーザの右手または左手の位置の変化とに応じて、当該姿勢変更対象の一以上の関節の姿勢を変更することにより、当該仮想オブジェクトの姿勢を変更してもよい。なお、姿勢が固定された剛体に関しては、当該仮想オブジェクトの姿勢の変更後に、姿勢の固定状態が解除され得る。
また、姿勢が固定される剛体は、以下のように決定され得る。例えば、表示制御部106は、ユーザが先に掴んだ剛体(後述する図5Aに示した例では剛体300c)のみの姿勢を固定してもよいし、または、ユーザが後に掴んだ剛体(後述する図5Bに示した例では剛体300a)のみの姿勢を固定してもよい。あるいは、表示制御部106は、ユーザが先に掴んだ剛体とユーザが後に掴んだ剛体とのうち、ルートの剛体(例えば、当該仮想オブジェクトの腰部の剛体など)により近い方の剛体のみの姿勢を固定してもよい。
(2-2-5-1.姿勢変更対象の関節の決定例)
ここで、図5A~図7Bを参照して、上記の「姿勢変更対象の一以上の関節」の決定例について詳細に説明する。
‐決定例1
例えば、表示制御部106は、仮想オブジェクトに含まれる複数の剛体のうち、一方の手で掴んだ剛体から、もう一方の手で掴んだ剛体までの範囲内に位置する全ての関節を当該姿勢変更対象の一以上の関節として決定し得る。一例として、図5Aに示したように、仮想オブジェクト30に含まれる複数の剛体300のうち、ユーザは、まず、剛体300cを左手2aで掴んだとする。その後、図5Bに示したように、ユーザは、別の剛体300aを右手2bで掴んだとする。この場合、表示制御部106は、剛体300cから剛体300aまでの範囲内に位置する全ての関節302(図5Bに示した例では、関節302aおよび関節302b)を当該姿勢変更対象の一以上の関節として決定してもよい。
‐決定例2
または、表示制御部106は、一方の手で掴んだ第1の剛体と、もう一方の手で掴んだ第2の剛体とをつなぐ経路上の一以上の剛体の中に所定の剛体が存在するか否かに基づいて、当該姿勢変更対象の一以上の関節を決定してもよい。例えば、当該経路上の一以上の剛体の中に当該所定の剛体が存在する場合には、表示制御部106は、第1の剛体および第2の剛体のうち当該所定の剛体からより遠い方の剛体から当該所定の剛体までの範囲内に位置する全ての関節を当該姿勢変更対象の一以上の関節として決定する。また、当該経路上の一以上の剛体の中に当該所定の剛体が存在しない場合には、表示制御部106は、第1の剛体から第2の剛体までの範囲内に位置する全ての関節を当該姿勢変更対象の一以上の関節として決定する。ここで、当該所定の剛体は、例えば、ルートの剛体(当該仮想オブジェクトの腰部の剛体など)である。
ここで、図6Aおよび図6Bを参照して、上記の機能についてさらに詳細に説明する。図6Aおよび図6Bに示した例では、剛体300cがルートの剛体であることを想定する。例えば、図6Aに示したように、仮想オブジェクト30に含まれる複数の剛体300のうち、ユーザは、まず、剛体300dを左手2aで掴んだとする。その後、図6Bに示したように、ユーザは、別の剛体300aを右手2bで掴んだとする。この場合、剛体300dと剛体300aとをつなぐ経路上にルートの剛体300cが存在する。そして、剛体300dと剛体300aとのうち剛体300cからより遠いのは、剛体300aである。そこで、表示制御部106は、剛体300aからルートの剛体300cまでの範囲内に位置する全ての関節302(図6Bに示した例では、関節302aおよび関節302b)を当該姿勢変更対象の一以上の関節として決定してもよい。
‐決定例3
または、表示制御部106は、姿勢が固定される剛体としてユーザにより指定された第1の剛体から、当該指定の後にユーザが掴んだ第2の剛体までの範囲内に位置する全ての関節を当該姿勢変更対象の一以上の関節として決定してもよい。ここで、当該第1の剛体の指定方法は、例えば、任意の指(人差し指など)の指先で該当の剛体を所定の時間以上継続して触ることであってもよいし、または、該当の剛体を指でつまむ動作をすることであってもよい。
一例として、図7Aに示したように、仮想オブジェクト30に含まれる複数の剛体300のうち、ユーザは、まず、姿勢が固定される剛体として剛体300cを指定するために、剛体300cに指を接触させたとする。これにより、剛体300cの姿勢は固定され得る。その後、図7Bに示したように、ユーザは、別の剛体300aを片手2で掴んだとする。この場合、表示制御部106は、剛体300cから剛体300aまでの範囲内に位置する全ての関節302(図7Bに示した例では、関節302aおよび関節302b)を当該姿勢変更対象の一以上の関節として決定してもよい。
(2-2-5-2.姿勢変更対象の関節の姿勢の変更例)
次に、図8A~図10Dを参照して、上記の「姿勢変更対象の一以上の関節の姿勢の変更」に関する具体例について説明する。
例えば、表示制御部106は、当該姿勢変更対象の一以上の関節の決定後における右手または左手の位置の変化に応じて、当該姿勢変更対象の一以上の関節の各々の回転角度を変更することにより、当該仮想オブジェクトの姿勢を変更し得る。
一例として、図5Bに示した時点の後に、図8Aに示したように、左手2aの位置および姿勢が維持されつつ、右手2bの位置が図8Aの左上方向へ移動されたとする。この場合、図8Aに示したように、表示制御部106は、当該姿勢変更対象の全ての関節302(つまり、関節302aおよび関節302b)の各々の回転角度を、右手2bの位置の変化に応じて変更することにより、仮想オブジェクト30の姿勢を変更してもよい。これにより、剛体300cの位置および姿勢が固定されつつ、剛体300a(および剛体300b)の位置および姿勢が右手2bの位置の変化に応じて適切に変更され得る。
また、図5Bに示した時点の後に、図8Bに示したように、右手2bの位置および姿勢が維持されつつ、左手2aの位置が図8Bの右下方向へ移動されたとする。この場合、図8Bに示したように、表示制御部106は、当該姿勢変更対象の全ての関節302(つまり、関節302aおよび関節302b)の各々の回転角度を、左手2aの位置の変化に応じて変更することにより、仮想オブジェクト30の姿勢を変更してもよい。これにより、剛体300aの位置および姿勢が固定されつつ、剛体300c(および剛体300b)の位置および姿勢が左手2aの位置の変化に応じて適切に変更され得る。なお、剛体300cに連結している他の関節や他の剛体は、剛体300cの位置および姿勢の変化に対して固定して動き得る(つまり、付随して動き得る)。
以下、上記の姿勢の変更例についてさらに詳細に説明する。例えば、表示制御部106は、当該姿勢変更対象の全ての関節の数が一つだけであるか否かに基づいて、当該姿勢変更対象の一以上の関節の各々の回転角度を変更することが可能である。
‐変更例1
一例として、当該姿勢変更対象の全ての関節の数が一つだけであり、かつ、当該姿勢変更対象の全ての関節の決定後にユーザの右手もしくは左手が動かされた場合には、表示制御部106は、移動された手が直前に接触していた剛体が、移動後の当該手の位置を向くように該当の関節の回転角度を変更してもよい。
ここで、図9A~図9Cを参照して、この変更例の内容について詳細に説明する。図9A~図9Cに示した例では、関節302aだけが、姿勢変更対象の関節302として決定されたものとする。姿勢変更対象の関節302aの決定時において、図9Aに示したように、関節302aに隣接する一方の剛体300aをユーザは右手2bで掴んでおり、かつ、関節302aに隣接するもう一方の剛体300bを左手2aで掴んでいるとする。その後、図9Bに示した矢印のように、右手2bの位置をユーザが動かしたとする。この場合、図9Cに示したように、表示制御部106は、(右手2bが掴んでいた)剛体300aが、移動後の右手2bの位置を向くように、関節302aの回転角度を変更してもよい。
‐変更例2
また、当該姿勢変更対象の全ての関節の数が複数であり、かつ、当該姿勢変更対象の全ての関節の決定後にユーザの右手もしくは左手が動かされた場合には、表示制御部106は、移動された手が直前に接触していた剛体が、移動後の当該手の位置を向くように、当該姿勢変更対象の全ての関節の各々の回転角度を変更してもよい。
ここで、図10A~図10Dを参照して、この変更例の内容について詳細に説明する。図10A~図10Dに示した例では、関節302aおよび関節302bが、姿勢変更対象の関節302として決定されたものとする。姿勢変更対象の全ての関節302の決定時において、図10Aに示したように、姿勢変更対象の全ての関節302のうちの一端の関節302aに隣接する外側の剛体300aをユーザが右手2bで掴んでおり、かつ、関節302bに隣接する外側の剛体300cを左手2aで掴んでいるとする。その後、図10Bに示したように、右手2bの位置をユーザが動かしたとする。この場合、図10Bに示したように、まず、表示制御部106は、剛体300aに対応する仮想の剛体350が、右手2bの動きと相対関係を保ちながら移動したと判定し得る。そして、表示制御部106は、図10Cに示した第1の変更処理と、図10Dに示した第2の変更処理との両方が収束するまで、当該第1の変更処理および当該第2の変更処理を繰り返すことにより、当該姿勢変更対象の全ての関節302の各々の回転角度を変更し得る。なお、仮想の剛体350は、剛体300aと同一のサイズの仮想の剛体であり得る。
例えば、当該第1の変更処理では、図10Cに示したように、表示制御部106は、仮想の剛体350のうちの仮想オブジェクト30から遠い方の端部3500を(仮想の剛体350に対応する)剛体300aが向くように、仮想の剛体350の位置に最も近い関節302aの回転角度を少しずつ変更してもよい。また、当該第2の変更処理では、図10Dに示したように、表示制御部106は、仮想の剛体350のうちの仮想オブジェクト30に近い方の端部3502の位置を目標として、公知の逆運動学(Inverse Kinematics)のアルゴリズムに基づいて、姿勢変更対象の全ての関節302のうち関節302a以外の関節302(図10Dに示した例では関節302b)の各々の回転角度を少しずつ変更してもよい。これにより、当該第1の変更処理および当該第2の変更処理の両方が収束した際には、右手2bで掴んでいた剛体300aの姿勢が仮想の剛体350の姿勢にできるだけ近づき、かつ、剛体300aから剛体300cまでの範囲内に位置する、全ての剛体300の各々が滑らかに接続していくように、仮想オブジェクト30の姿勢が変更され得る。
(2-2-5-3.変形例)
変形例として、表示部124に表示されている仮想オブジェクトに対してユーザの左手および右手の各々が接触したと判定された場合には、表示制御部106は、接触中であることを示す画像(例えば特定のエフェクトなど)を当該接触位置と関連付けてさらに表示部124に表示させてもよい。
別の変形例として、利用中のコンテンツがVRコンテンツである場合などには、表示制御部106は、ユーザの左手に対応する仮想の左手の画像、および、ユーザの右手に対応する仮想の右手の画像をさらに表示部124に表示させてもよい。
別の変形例として、表示部124に仮想オブジェクトが表示されている際に、表示制御部106は、当該仮想オブジェクトに含まれる個々の剛体の画像および個々の関節の画像を例えば当該仮想オブジェクトに重畳させた状態で、さらに表示部124に表示させてもよい。
{2-2-6.通信部120}
通信部120は、例えば、後述する通信装置166を含んで構成され得る。通信部120は、制御部100の制御に従って、例えば通信網22を介して他の装置との間で各種の情報を送受信する。
{2-2-7.表示部124}
表示部124は、例えば、後述する出力装置162を含んで構成され得る。例えば、表示部124は、透過型の表示装置(例えばプロジェクタなど)を含んで構成されてもよい。この場合、表示部124は、情報処理装置10‐1に含まれる右目用レンズおよび左目用レンズの各々(または、ゴーグル型レンズ)の少なくとも一部の領域を投影面として、表示制御部106の制御に従って映像を投影し得る。
または、表示部124は、非透過型の表示装置(例えばLCD(Liquid Crystal Display)、または、OLED(Organic Light Emitting Diode)など)を含んで構成されてもよい。この場合、表示部124は、センサ部122(カメラ)により撮影されている、情報処理装置10‐1の前方の映像を、表示制御部106の制御に従って逐次表示してもよい。
{2-2-8.記憶部126}
記憶部126は、例えば、後述するストレージ装置164を含んで構成され得る。記憶部126は、各種のデータや、各種のソフトウェアを記憶する。
<2-3.処理の流れ>
以上、第1の実施形態の構成について説明した。次に、第1の実施形態に係る処理の流れの一例について、図11および図12を参照して説明する。
図11に示したように、まず、情報処理装置10‐1のセンサ部122は、情報処理装置10‐1の前方の映像およびデプス情報を取得する。続いて、認識部102は、撮影された映像に対して画像認識を行う。そして、情報取得部104は、撮影された映像に対する画像認識の結果や、センシングされたデプス情報に基づいて、実空間におけるユーザの左手の位置情報、および、ユーザの右手の位置情報を取得する(S101)。
続いて、表示制御部106は、表示部124に表示されている仮想オブジェクトに含まれる複数の剛体のうちのいずれかをユーザの一方の手が掴んでいるか否かを、S101で取得された位置情報に基づいて判定する(S103)。いずれの剛体もユーザの両方の手が掴んでいないと判定された場合には(S103:No)、制御部100は、再びS101~S103の処理を繰り返す。
一方、いずれかの剛体をユーザの一方の手が掴んでいると判定された場合には(S103:Yes)、次に、表示制御部106は、ユーザのもう一方の手が別の剛体を掴んでいるか否かを、S101で取得された位置情報に基づいて判定する(S105)。もう一方の手がいずれの剛体も掴んでいないと判定された場合には(S105:No)、制御部100は、再びS101~S105の処理を繰り返す。
一方、もう一方の手がいずれかの剛体を掴んでいると判定された場合には(S105:Yes)、次に、表示制御部106は、ユーザが一方の手で掴んだ剛体と、ユーザがもう一方の手で掴んだ剛体との位置関係に基づいて、当該仮想オブジェクトのうち姿勢変更対象の一以上の関節を決定する(S107)。
続いて、表示制御部106は、S107の後におけるユーザの左手および右手のセンシング結果に基づいて、左右のいずれかの手が移動するまで待機する(S109)。
ここで、図12を参照して、S109において、左右のいずれかの手が移動したと判定された場合(S109:Yes)の処理の流れについて説明する。図12に示したように、まず、表示制御部106は、S107で決定された姿勢変更対象の全ての関節の数が一つだけであるか否かを判定する(S121)。
当該姿勢変更対象の全ての関節の数が一つだけである場合には(S121:Yes)、表示制御部106は、S109において、移動したと判定された手の位置の変化に応じて、該当の関節の回転角度を変更する(S123)。その後、表示制御部106は、後述するS131の処理を行う。
一方、当該姿勢変更対象の全ての関節の数が複数である場合には(S121:No)、表示制御部106は、まず、S109において、移動したと判定された手が掴んでいた剛体に対応する仮想の剛体を、現在の当該手の位置を基準として形成する。そして、表示制御部106は、当該手の位置に最も近い関節の回転角度を、当該仮想の剛体の遠い方の端の位置に基づいて変更する(S125)。同時に、表示制御部106は、当該仮想の剛体の近い方の端の位置を目標とした公知の逆運動学のアルゴリズムに基づいて、当該姿勢変更対象の全ての関節のうちの他の関節の各々の回転角度を変更する(S127)。
その後、表示制御部106は、S125における対象の関節の回転角度の変更処理と、S127における対象の関節の各々の回転角度の変更処理との両方が収束したか否かを判定する(S129)。2つの変更処理のうちの少なくともいずれかが収束していない場合には(S129:No)、表示制御部106は、再びS125~S129の処理を繰り返す。
一方、2つの変更処理の両方が収束した場合には(S129:Yes)、表示制御部106は、仮想オブジェクトの表示を更新する(S131)。これにより、姿勢の変更後の仮想オブジェクトが表示部124に表示されるようになる。
その後、制御部100は、仮想オブジェクトの表示の終了がユーザに指示されたか否かを判定する(S133)。仮想オブジェクトの表示の終了が指示された場合には(S133:Yes)、当該処理は終了する。一方、仮想オブジェクトの表示の終了が指示されていない場合には(S133:No)、情報処理装置10‐1は、再びS101以降の処理を繰り返す。
<2-4.効果>
{2-4-1.効果1}
以上説明したように、第1の実施形態に係る情報処理装置10‐1は、表示部124により表示されている仮想オブジェクトに対して、表示部124を利用するユーザの右手および左手が接触したと判定された後の当該ユーザの右手または左手の位置の変化に応じて、当該仮想オブジェクトの姿勢を変更する。このため、ユーザが左右の手の動作により仮想オブジェクトの姿勢を変形する場面において、ユーザの意図通りに仮想オブジェクトの姿勢を変形することができる。
例えば、実オブジェクトを模倣して生成された仮想オブジェクトに対して、当該実オブジェクトの動かし方に関する過去の経験に基づいてユーザが手を動かすことにより、当該仮想オブジェクトに含まれる関節の姿勢をユーザは意図通りに変形することができる。さらに、ユーザは、専用の操作方法を学ぶ必要がない。
また、情報処理装置10‐1は、物理シミュレーションを使用しないので、ユーザの手と仮想オブジェクトとの間で力のつり合いが正確に保たれる必要がない。従って、手の動きがある程度大雑把であっても、ユーザは、仮想オブジェクトの姿勢を意図通りに変形することができる。
{2-4-2.効果2}
さらに、第1の実施形態によれば、物理シミュレーションを使用しないので、計算コストを低く抑えることができる。
<<3.第2の実施形態>>
以上、第1の実施形態について説明した。ところで、ARコンテンツにおいて、ユーザが、仮想オブジェクトを実空間内の所望の場所に移動可能であることも望まれる。このような場合、ユーザの手間が少なく、かつ、配置場所に応じて仮想オブジェクトの姿勢や形状が適切に変更されて配置されることが望ましい。
次に、第2の実施形態について説明する。後述するように、第2の実施形態によれば、ユーザが仮想オブジェクトを実オブジェクト上に配置する場面において、当該仮想オブジェクトの姿勢を実オブジェクトに応じて適切に変更することができる。
第2の実施形態では、主として、仮想オブジェクトの位置情報を変更し、そして、実空間内のある実オブジェクト上に当該仮想オブジェクトを配置するように、ユーザが片手で指示する場面を想定し得る。ここで、仮想オブジェクトの位置情報の変更を指示する手は、本開示に係る第1のオブジェクトの一例である。また、仮想オブジェクトが配置される実オブジェクト(以下、配置先の実オブジェクトと称する)は、本開示に係る第2のオブジェクトの一例である。例えば、当該配置先の実オブジェクトは、ユーザとは異なる任意の実オブジェクトであってもよいし、または、仮想オブジェクトの位置情報の変更を指示する手とは別の手であってもよい。
<3-1.構成>
まず、第2の実施形態に係る構成について説明する。図13は、第2の実施形態に係る情報処理装置10‐2の構成例を示した機能ブロック図である。図13に示すように、情報処理装置10‐2は、図4に示した情報処理装置10‐1と比較して、ポーズ選択部108をさらに有する。以下では、第1の実施形態と異なる機能を有する構成要素についてのみ説明を行うこととし、同様の内容については説明を省略する。
{3-1-1.ポーズ選択部108}
ポーズ選択部108は、配置先の実オブジェクトに接触していないと判定されていた仮想オブジェクトが当該配置先の実オブジェクト上に配置されるように移動された際に、当該配置先の実オブジェクト内の、当該仮想オブジェクトが接触したと判定された接触位置を含む領域(以下、配置領域と称する場合がある)の形状に応じて、当該配置領域への配置時の当該仮想オブジェクトの姿勢を決定する。例えば、この場合、ポーズ選択部108は、当該配置領域の形状、当該仮想オブジェクトの種類、および、当該配置領域における当該仮想オブジェクトの接触位置からの、当該仮想オブジェクトの移動を指示する手の高さに応じて、当該配置領域への配置時の当該仮想オブジェクトの姿勢を決定する。一例として、当該配置領域の形状が平面であり、かつ、当該仮想オブジェクトが人型のオブジェクトである場合には、ポーズ選択部108は、当該接触位置からの、当該仮想オブジェクトの移動を指示する手の高さに応じて、当該領域上に当該仮想オブジェクトが立つ姿勢または当該領域上に当該仮想オブジェクトが座る姿勢になるように、当該仮想オブジェクトの姿勢を変更してもよい。
例えば、ポーズ選択部108は、後述するポーズデータDB128において、これらの情報(つまり、配置領域の形状、仮想オブジェクトの種類、および、配置領域における仮想オブジェクトの接触位置からの、当該仮想オブジェクトの移動を指示する手の高さなど)に関連付けられている姿勢を、当該配置領域への配置時の当該仮想オブジェクトの姿勢として決定し得る。
(3-1-1-1.ポーズデータDB128)
ポーズデータDB128は、仮想オブジェクトごとに、配置領域の形状と、当該仮想オブジェクトが当該配置領域に配置された際の当該仮想オブジェクトの姿勢(ポーズデータ)とが関連付けられているデータベースである。例えば、ポーズデータDB128では、仮想オブジェクトの種類、配置領域の形状、および、配置領域からの当該仮想オブジェクトの高さの指示情報の組み合わせと、当該配置領域への配置時の当該仮想オブジェクトのポーズデータとが関連付けられている。
‐具体例
ここで、図14~図17を参照して、上記の仮想オブジェクトの姿勢の変更例について具体的に説明する。なお、図14~図17では、仮想オブジェクトが人型のオブジェクトである例を示している。
例えば、図14に示したように、水平な平面の領域400上に仮想オブジェクト30が配置されるように仮想オブジェクト30が移動された場合には、ポーズ選択部108は、仮想オブジェクト30が領域400上に立つ姿勢を、配置時の姿勢として決定する。
また、図15に示したように、エッジ部分420に仮想オブジェクト30が配置されるように仮想オブジェクト30が移動された場合には、ポーズ選択部108は、仮想オブジェクト30がエッジ部分420上に座る姿勢を、配置時の姿勢として決定する。
また、図16に示したように、L字の形状の領域440に仮想オブジェクト30が配置されるように仮想オブジェクト30が移動された場合には、ポーズ選択部108は、仮想オブジェクト30がL字の領域440にもたれ掛るような姿勢を、配置時の姿勢として決定する。
また、図17に示したように、水平な平面の領域400の上方へ仮想オブジェクト30が移動され、かつ、(仮想オブジェクトの身長よりも低い位置まで)領域400に対して仮想オブジェクトを押し付けるような手の動きが認識された場合には、ポーズ選択部108は、平面の領域400において仮想オブジェクト30が足を曲げて座る姿勢を、配置時の姿勢として決定する。
‐変形例
変形例として、仮想オブジェクト30が横にされた状態で平面の領域400上に配置されるように仮想オブジェクト30が移動された場合には、ポーズ選択部108は、仮想オブジェクト30が領域400上で寝る姿勢を、配置時の姿勢として決定してもよい。
また、仮想オブジェクト30が段差部分に配置されるように仮想オブジェクト30が移動された場合には、ポーズ選択部108は、仮想オブジェクト30が当該段差部分に足をかけて立つ姿勢を、配置時の姿勢として決定してもよい。
なお、図14~図17では、仮想オブジェクトの形状が人型である例について説明したが、かかる例に限定されない。仮想オブジェクトの形状は、他の生物(他の動物や植物など)や人工物(ロボットや車など)の形状であってもよい。
{3-1-2.表示制御部106}
第2の実施形態に係る表示制御部106は、仮想オブジェクトが配置先の実オブジェクト上に配置されるように移動された際に、当該仮想オブジェクトの姿勢を、ポーズ選択部108により選択された姿勢に変更する。例えば、図14に示したように、ユーザが片手2で仮想オブジェクト30を掴んだ状態で、実オブジェクト40の平面領域400上に仮想オブジェクト30を配置するように移動したとする。この場合、表示制御部106は、図14に示したように、(ポーズ選択部108により選択された)平面領域400上に立つ姿勢になるように、仮想オブジェクト30の姿勢を変更する。
さらに、表示制御部106は、仮想オブジェクトの姿勢を変更する度に、変更後の仮想オブジェクトを表示部124に表示させ得る。
<3-2.処理の流れ>
以上、第2の実施形態の構成について説明した。次に、第2の実施形態に係る処理の流れの一例について、図18および図19を参照して説明する。ここでは、仮想オブジェクトが表示部124に表示されている場面を想定する。
図18に示したように、まず、情報処理装置10‐2の制御部100は、表示部124に表示されている仮想オブジェクトに対するユーザの移動指示が取得されたか否かを判定する。例えば、制御部100は、センサ部122により撮影された映像に対する画像認識の結果などに基づいて、当該仮想オブジェクトを片手で掴んだ状態で当該仮想オブジェクトを移動させる動きが認識されたか否かを判定する。または、制御部100は、所定のデバイス(マウスなど)の操作に基づいた、仮想オブジェクトを移動させるための指示情報が受信されたか否かを判定する(S201)。当該移動指示が取得されていない場合には(S201:No)、再びS201の処理が繰り返される。
一方、当該移動指示が取得された場合には(S201:Yes)、表示制御部106は、該当の仮想オブジェクトの位置および姿勢を当該移動指示に基づいて変更する(S203)。そして、表示制御部106は、変更後の仮想オブジェクトを表示部124に表示させる(S205)。
続いて、認識部102は、センサ部122によるセンシング結果に基づいて実空間を(新たに)認識する(S207)。
その後、表示制御部106は、実空間内のいずれかの実オブジェクト上に当該仮想オブジェクトが配置されるように指示(移動)されたか否かを判定する(S209)。当該仮想オブジェクトがいずれの実オブジェクト上にも配置されることが指示されていない場合には(S209:No)、再びS201~S209の処理が繰り返される。
一方、当該仮想オブジェクトがいずれかの実オブジェクト上に配置されるように移動された場合には(S209:Yes)、ポーズ選択部108は、当該配置先の実オブジェクト内の配置領域の形状と、当該仮想オブジェクトの種類とに関連付けられているポーズデータをポーズデータDB128から取得する。そして、ポーズ選択部108は、取得したポーズデータを、当該配置領域への配置時の当該仮想オブジェクトの姿勢として決定する(S211)。
ここで、図19を参照して、S211より後の処理の流れについて説明する。図19に示したように、S211の後、表示制御部106は、S211で決定された姿勢になるように当該仮想オブジェクトの姿勢を変更する(S221)。
続いて、表示制御部106は、変更後の当該仮想オブジェクトの姿勢を、S207における実空間の認識結果に基づいて微調整する。例えば、表示制御部106は、変更後の当該仮想オブジェクトの姿勢を、当該配置領域の傾きの認識結果に応じて調整する(S223)。
その後、表示制御部106は、変更後の仮想オブジェクトを表示部124に表示させる(S225)。
<3-3.効果>
以上説明したように、第2の実施形態に係る情報処理装置10‐2は、仮想オブジェクトが、配置先の実オブジェクトに接触していると判定されるまでユーザの手の動作に基づいて移動された際に、当該配置先の実オブジェクト内の配置領域の形状と当該仮想オブジェクトの種類とに応じた姿勢になるように当該仮想オブジェクトの姿勢を変更する。このため、ユーザが仮想オブジェクトを実オブジェクト上に配置する場面において、当該仮想オブジェクトの姿勢を配置先の実オブジェクトに応じて適切に変更することができる。
例えば、仮想オブジェクトが人型であり、かつ、配置領域が平面を含む場合には、情報処理装置10‐2は、当該配置領域上に仮想オブジェクトが立つ姿勢になるように変更する。また、配置領域がエッジ部分を含む場合には、情報処理装置10‐2は、当該仮想オブジェクトが当該エッジ部分上に座る姿勢になるように変更する。このように、第2の実施形態によれば、仮想オブジェクトの状態を配置先の実オブジェクトに応じてハイコンテキストに変更することができる。
<3-4.変形例>
{3-4-1.変形例1}
なお、第2の実施形態は前述した例に限定されない。変形例として、仮想オブジェクトが配置先の実オブジェクト上に配置される際に、表示制御部106は、当該仮想オブジェクトの姿勢を変更するだけでなく、当該仮想オブジェクトの外観やサイズを当該配置先の実オブジェクトに応じてさらに変更してもよい。または、表示制御部106は、別の仮想オブジェクトを例えば当該配置先の実オブジェクト上にさらに表示させてもよい。または、表示制御部106は、当該配置先の実オブジェクトに応じて、当該仮想オブジェクトが動くアニメーションを表示部124にさらに表示させてもよい。
例えば、円筒状の実オブジェクトの上に仮想オブジェクトが配置される際には、表示制御部106は、例えばライブステージの仮想オブジェクトを表示部124に追加表示させ、当該仮想オブジェクトの服装をライブ衣装に変更し、当該仮想オブジェクトのサイズを当該実オブジェクトの天面のサイズに適したサイズに変更し、そして、(服装・サイズが変更された)当該仮想オブジェクトが当該実オブジェクト上で踊るアニメーションを表示させてもよい。
{3-4-2.変形例2}
別の変形例として、仮想オブジェクトが配置先の実オブジェクト上に配置される際に、表示制御部106は、変更後の当該仮想オブジェクトの姿勢の複数の候補を表示部124に表示させ、かつ、当該複数の候補のうちのいずれかを例えば指差しや視線ジェスチャーなどによりユーザに選択させてもよい。この場合、表示制御部106は、ユーザに選択された候補に対応する姿勢に、当該仮想オブジェクトの姿勢を変更し得る。
または、仮想オブジェクトが配置先の実オブジェクト上に配置される際に、表示制御部106は、当該複数の姿勢の候補のうちのいずれかに当該仮想オブジェクトの姿勢を変更して表示部124に表示させ、その後、当該複数の候補のうちの他の候補に対応する姿勢に当該仮想オブジェクトの姿勢をユーザが変更可能としてもよい。例えば、仮想オブジェクトが配置先の実オブジェクト上に配置された後で、ユーザが所定の音声コマンド(例えば“Next”など)を発したことが検出される度に、表示制御部106は、当該複数の姿勢の候補のうちの別の候補に対応する姿勢に、当該仮想オブジェクトの姿勢を順々に変更してもよい。
{3-4-3.変形例3}
別の変形例として、仮想オブジェクトが配置先の実オブジェクト上に配置される際または配置後に、表示制御部106は、さらにユーザの状態の認識結果に基づいて当該仮想オブジェクトの姿勢を変更してもよい。例えば、仮想オブジェクトが配置先の実オブジェクト上に配置された直後に、認識部102は、センサ部122または環境内の所定のセンサによるセンシング結果に基づいて、ユーザの顔の向きを認識し得る。この場合、表示制御部106は、認識されたユーザの方向を当該仮想オブジェクトの全身が向くように当該仮想オブジェクトの姿勢を変更してもよい。または、当該仮想オブジェクトが人型のオブジェクトである場合などには、表示制御部106は、(当該仮想オブジェクトの胴体の姿勢は変えずに)当該仮想オブジェクトの顔だけが当該ユーザの方向を向くように当該仮想オブジェクトの姿勢を変更してもよい。
または、情報処理装置10‐2は、ユーザの精神状態(例えば笑っている、怒っているなど)を公知の技術を用いて認識し、そして、認識された精神状態に応じて当該仮想オブジェクトの姿勢を変更してもよい。
<<4.ハードウェア構成>>
次に、各実施形態に係る情報処理装置10のハードウェア構成について、図20を参照して説明する。図20に示すように、情報処理装置10は、CPU150、ROM(Read Only Memory)152、RAM(Random Access Memory)154、バス156、インターフェース158、入力装置160、出力装置162、ストレージ装置164、および、通信装置166を備える。
CPU150は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。また、CPU150は、情報処理装置10において制御部100の機能を実現する。なお、CPU150は、マイクロプロセッサなどのプロセッサにより構成される。
ROM152は、CPU150が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。
RAM154は、例えば、CPU150により実行されるプログラムや、使用中のデータなどを一時的に記憶する。
バス156は、CPUバスなどから構成される。このバス156は、CPU150、ROM152、および、RAM154を相互に接続する。
インターフェース158は、入力装置160、出力装置162、ストレージ装置164、および、通信装置166を、バス156と接続する。
入力装置160は、例えばタッチパネル、ボタン、スイッチ、レバー、または、マイクロフォンなどユーザが情報を入力するための入力手段、および、ユーザによる入力に基づいて入力信号を生成し、CPU150に出力する入力制御回路などから構成される。
出力装置162は、例えばLCDやOLEDなどのディスプレイ、または、プロジェクタなどの表示装置を含む。また、出力装置162は、スピーカなどの音声出力装置を含んでもよい。
ストレージ装置164は、記憶部126として機能する、データ格納用の装置である。ストレージ装置164は、例えば、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置、または記憶媒体に記録されたデータを削除する削除装置などを含む。
通信装置166は、例えば通信網22などに接続するための通信デバイス(例えばネットワークカードなど)等で構成された通信インターフェースである。また、通信装置166は、無線LAN対応通信装置、LTE(Long Term Evolution)対応通信装置、または有線による通信を行うワイヤー通信装置であってもよい。この通信装置166は、通信部120として機能する。
<<5.変形例>>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
<5-1.変形例1>
前述した各実施形態では、情報処理装置10が表示部124を含む例について説明したが、かかる例に限定されない。例えば、情報処理装置10と表示部124とは別個の装置として構成され、かつ、情報処理装置10と表示部124とは例えば無線通信により通信可能なように構成されてもよい。この場合、情報処理装置10は、例えば、汎用PC(Personal Computer)、タブレット型端末、ゲーム機、スマートフォンなどの携帯電話、携帯型音楽プレーヤ、スピーカ、車載装置(カーナビゲーション装置など)、または、ロボット(例えばヒューマノイド型ロボットなど)などであってもよい。または、情報処理装置10は、サーバ20と一体的に構成されてもよい。
また、図1では、情報処理装置10が一台だけ図示されているが、かかる例に限定されず、複数台のコンピュータが協同して動作することにより、各実施形態に係る情報処理装置10の機能が実現されてもよい。
<5-2.変形例2>
また、前述した各実施形態の処理の流れにおける各ステップは、必ずしも記載された順序に沿って処理されなくてもよい。例えば、各ステップは、適宜順序が変更されて処理されてもよい。また、各ステップは、時系列的に処理される代わりに、一部並列的に又は個別的に処理されてもよい。また、記載されたステップのうちの一部が省略されたり、または、別のステップがさらに追加されてもよい。
また、前述した各実施形態によれば、CPU150、ROM152、およびRAM154などのハードウェアを、各実施形態に係る情報処理装置10の各構成と同等の機能を発揮させるためのコンピュータプログラムも提供可能である。また、当該コンピュータプログラムが記録された記憶媒体も提供される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、
前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部と、
を備える、情報処理装置。
(2)
前記第1の実オブジェクトは、前記ユーザの第1の手であり、
前記第2の実オブジェクトは、前記ユーザの第2の手であり、
前記表示制御部は、前記第1の手および前記第2の手が前記仮想オブジェクトに接触したと判定された後の前記第1の手または前記第2の手の位置の変化に応じて、前記仮想オブジェクトの姿勢を変更する、前記(1)に記載の情報処理装置。
(3)
前記仮想オブジェクトは、複数の固定部と、隣接する二つの前記固定部ごとに当該二つの固定部を回転可能に連結する可動部と、を有し、
前記表示制御部は、前記仮想オブジェクトに対して前記第1の手が接触したと判定された際の前記仮想オブジェクトにおける前記第1の手の第1の接触位置と、前記仮想オブジェクトに対して前記第2の手が接触したと判定された際の前記仮想オブジェクトにおける前記第2の手の第2の接触位置との関係性に基づいて、前記仮想オブジェクトのうち姿勢変更対象の一以上の可動部を決定し、かつ、
前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて、前記姿勢変更対象の一以上の可動部の姿勢を変更することにより、前記仮想オブジェクトの姿勢を変更する、前記(2)に記載の情報処理装置。
(4)
前記表示制御部は、前記第1の接触位置に対応する第1の固定部と、前記第2の接触位置に対応する第2の固定部との位置関係に基づいて前記姿勢変更対象の一以上の可動部を決定し、
前記姿勢変更対象の一以上の可動部と、前記姿勢変更対象の一以上の可動部の各々に連結している複数の固定部とは、ひとつながりで連結されている、前記(3)に記載の情報処理装置。
(5)
前記表示制御部は、さらに、前記第1の固定部と前記第2の固定部とをつなぐ経路上の一以上の固定部の中に所定の固定部が存在するか否かに基づいて、前記姿勢変更対象の一以上の可動部を決定する、前記(4)に記載の情報処理装置。
(6)
前記第1の固定部と前記第2の固定部とをつなぐ経路上の一以上の固定部の中に前記所定の固定部が存在する場合には、前記表示制御部は、前記第1の固定部および前記第2の固定部のうち前記所定の固定部からより遠い方の固定部から前記所定の固定部までの範囲内に位置する一以上の可動部を前記姿勢変更対象の一以上の可動部として決定し、
前記第1の固定部と前記第2の固定部とをつなぐ経路上の一以上の固定部の中に前記所定の固定部が存在しない場合には、前記表示制御部は、前記第1の固定部から前記第2の固定部までの範囲内に位置する一以上の可動部を前記姿勢変更対象の一以上の可動部として決定する、前記(5)に記載の情報処理装置。
(7)
前記表示制御部は、前記姿勢変更対象の一以上の可動部のうちの第1の端の可動部に連結する第3の固定部の姿勢を固定し、かつ、
前記姿勢変更対象の一以上の可動部の各々の回転角度を、前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて変更することにより、前記仮想オブジェクトの姿勢を変更する、前記(4)~(6)のいずれか一項に記載の情報処理装置。
(8)
前記表示制御部は、さらに、前記姿勢変更対象の一以上の可動部のうち、前記第1の端の反対側の第2の端の可動部に連結する第4の固定部の位置および姿勢を、前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて変更することにより、前記仮想オブジェクトの姿勢を変更する、前記(7)に記載の情報処理装置。
(9)
前記第3の固定部および前記第4の固定部のうちのいずれかは、前記第1の固定部および前記第2の固定部のうちのいずれかと同一である、前記(8)に記載の情報処理装置。
(10)
前記第1の固定部は、前記仮想オブジェクトに含まれる前記複数の固定部のうち、前記第1の手が最初に掴んだと判定された一つの固定部であり、
前記第2の固定部は、前記仮想オブジェクトに含まれる前記複数の固定部のうち、前記第2の手が最初に掴んだと判定された一つの固定部である、前記(9)に記載の情報処理装置。
(11)
前記第1の実オブジェクトは、前記仮想オブジェクトの位置情報の変更を指示している前記ユーザの第1の手であり、
前記第2の実オブジェクトは、前記仮想オブジェクトの位置情報の変更を指示していない前記ユーザの第2の手、または、前記ユーザとは異なる実オブジェクトであり、
前記第2の実オブジェクトに対して前記仮想オブジェクトが接触するように移動された際に、前記表示制御部は、前記第2の実オブジェクト内の、前記仮想オブジェクトが接触したと判定された第3の接触位置を含む領域の形状に応じて、前記仮想オブジェクトの姿勢を変更する、前記(2)に記載の情報処理装置。
(12)
前記表示制御部は、さらに前記仮想オブジェクトの種類に応じて、前記仮想オブジェクトの姿勢を変更する、前記(11)に記載の情報処理装置。
(13)
前記仮想オブジェクトは、前記第1の手の位置の変化に応じて移動され、
前記仮想オブジェクトの位置情報の変更の指示は、前記第2の実オブジェクトに非接触であると判定されていた前記仮想オブジェクトが前記第2の実オブジェクトに接触したと判定されるまで前記仮想オブジェクトを移動させることを含む、前記(12)に記載の情報処理装置。
(14)
前記表示制御部は、前記仮想オブジェクトが前記第2の実オブジェクトに接触したと判定されるまで前記仮想オブジェクトが移動された際の、前記第3の接触位置からの前記第1の手の位置の高さにさらに応じて、前記仮想オブジェクトの姿勢を変更する、前記(13)に記載の情報処理装置。
(15)
前記第3の接触位置を含む領域の形状が平面である場合には、前記表示制御部は、前記仮想オブジェクトの種類と、前記第3の接触位置からの前記第1の手の高さとに応じて、当該領域上に前記仮想オブジェクトが立つ姿勢または当該領域上に前記仮想オブジェクトが座る姿勢になるように前記仮想オブジェクトの姿勢を変更する、前記(14)に記載の情報処理装置。
(16)
前記第3の接触位置を含む領域の形状がエッジを含む場合には、前記表示制御部は、当該領域上に前記仮想オブジェクトが座る姿勢になるように前記仮想オブジェクトの姿勢を変更する、前記(13)~(15)のいずれか一項に記載の情報処理装置。
(17)
前記表示制御部は、前記仮想オブジェクトの姿勢を変更する度に、当該変更後の前記仮想オブジェクトを前記表示部に表示させる、前記(9)または(10)に記載の情報処理装置。
(18)
前記実空間のセンシング結果に基づいて、前記第1の手および前記第2の手を認識する認識部と、
前記表示部と、をさらに備え、
前記情報処理装置は、頭部装着型の装置である、前記(17)に記載の情報処理装置。
(19)
表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得することと、
前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢をプロセッサが変更することと、
を含む、情報処理方法。
(20)
コンピュータを、
表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、
前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部、
として機能させるためのプログラム。
10‐1、10‐2 情報処理装置
20 サーバ
22 通信網
30 仮想オブジェクト
100 制御部
102 認識部
104 情報取得部
106 表示制御部
108 ポーズ選択部
120 通信部
122 センサ部
124 表示部
126 記憶部
128 ポーズデータDB

Claims (15)

  1. 表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、
    前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部と、
    を備え、
    前記第1の実オブジェクトは、前記ユーザの第1の手であり、
    前記第2の実オブジェクトは、前記ユーザの第2の手であり、
    前記表示制御部は、前記第1の手および前記第2の手が前記仮想オブジェクトに接触したと判定された後の前記第1の手または前記第2の手の位置の変化に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記仮想オブジェクトは、複数の固定部と、隣接する二つの前記固定部ごとに当該二つの固定部を回転可能に連結する可動部と、を有し、
    前記表示制御部は、前記仮想オブジェクトに対して前記第1の手が接触したと判定された際の前記仮想オブジェクトにおける前記第1の手の第1の接触位置と、前記仮想オブジェクトに対して前記第2の手が接触したと判定された際の前記仮想オブジェクトにおける前記第2の手の第2の接触位置との関係性に基づいて、前記仮想オブジェクトのうち姿勢変更対象の一以上の可動部を決定し、かつ、
    前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて、前記姿勢変更対象の一以上の可動部の姿勢を変更することにより、前記仮想オブジェクトの姿勢を変更する、
    情報処理装置。
  2. 前記表示制御部は、前記第1の接触位置に対応する第1の固定部と、前記第2の接触位置に対応する第2の固定部との位置関係に基づいて前記姿勢変更対象の一以上の可動部を決定し、
    前記姿勢変更対象の一以上の可動部と、前記姿勢変更対象の一以上の可動部の各々に連結している複数の固定部とは、ひとつながりで連結されている、
    請求項に記載の情報処理装置。
  3. 前記表示制御部は、さらに、前記第1の固定部と前記第2の固定部とをつなぐ経路上の一以上の固定部の中に所定の固定部が存在するか否かに基づいて、前記姿勢変更対象の一以上の可動部を決定する、
    請求項に記載の情報処理装置。
  4. 前記第1の固定部と前記第2の固定部とをつなぐ経路上の一以上の固定部の中に前記所定の固定部が存在する場合には、前記表示制御部は、前記第1の固定部および前記第2の固定部のうち前記所定の固定部からより遠い方の固定部から前記所定の固定部までの範囲内に位置する一以上の可動部を前記姿勢変更対象の一以上の可動部として決定し、
    前記第1の固定部と前記第2の固定部とをつなぐ経路上の一以上の固定部の中に前記所定の固定部が存在しない場合には、前記表示制御部は、前記第1の固定部から前記第2の固定部までの範囲内に位置する一以上の可動部を前記姿勢変更対象の一以上の可動部として決定する、
    請求項に記載の情報処理装置。
  5. 前記表示制御部は、前記姿勢変更対象の一以上の可動部のうちの第1の端の可動部に連結する第3の固定部の姿勢を固定し、かつ、
    前記姿勢変更対象の一以上の可動部の各々の回転角度を、前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて変更することにより、前記仮想オブジェクトの姿勢を変更する、
    請求項に記載の情報処理装置。
  6. 前記表示制御部は、さらに、前記姿勢変更対象の一以上の可動部のうち、前記第1の端の反対側の第2の端の可動部に連結する第4の固定部の位置および姿勢を、前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて変更することにより、前記仮想オブジェクトの姿勢を変更する、
    請求項に記載の情報処理装置。
  7. 前記第3の固定部および前記第4の固定部のうちのいずれかは、前記第1の固定部および前記第2の固定部のうちのいずれかと同一である、
    請求項に記載の情報処理装置。
  8. 前記第1の固定部は、前記仮想オブジェクトに含まれる前記複数の固定部のうち、前記第1の手が最初に掴んだと判定された一つの固定部であり、
    前記第2の固定部は、前記仮想オブジェクトに含まれる前記複数の固定部のうち、前記第2の手が最初に掴んだと判定された一つの固定部である、
    請求項に記載の情報処理装置。
  9. 表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、
    前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部と、
    を備え、
    前記第1の実オブジェクトは、前記ユーザの第1の手であり、
    前記第2の実オブジェクトは、前記ユーザの第2の手であり、
    前記表示制御部は、前記第1の手および前記第2の手が前記仮想オブジェクトに接触したと判定された後の前記第1の手または前記第2の手の位置の変化に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記第1の実オブジェクトは、前記仮想オブジェクトの位置情報の変更を指示している前記ユーザの第1の手であり、
    前記第2の実オブジェクトは、前記仮想オブジェクトの位置情報の変更を指示していない前記ユーザの第2の手、または、前記ユーザとは異なる実オブジェクトであり、
    前記第2の実オブジェクトに対して前記仮想オブジェクトが接触するように移動された際に、前記表示制御部は、前記第2の実オブジェクト内の、前記仮想オブジェクトが接触したと判定された第3の接触位置を含む領域の形状に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記表示制御部は、さらに前記仮想オブジェクトの種類に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記仮想オブジェクトは、前記第1の手の位置の変化に応じて移動され、
    前記仮想オブジェクトの位置情報の変更の指示は、前記第2の実オブジェクトに非接触であると判定されていた前記仮想オブジェクトが前記第2の実オブジェクトに接触したと判定されるまで前記仮想オブジェクトを移動させることを含み、
    前記表示制御部は、前記仮想オブジェクトが前記第2の実オブジェクトに接触したと判定されるまで前記仮想オブジェクトが移動された際の、前記第3の接触位置からの前記第1の手の位置の高さにさらに応じて、前記仮想オブジェクトの姿勢を変更する、
    情報処理装置。
  10. 前記第3の接触位置を含む領域の形状が平面である場合には、前記表示制御部は、前記仮想オブジェクトの種類と、前記第3の接触位置からの前記第1の手の高さとに応じて、当該領域上に前記仮想オブジェクトが立つ姿勢または当該領域上に前記仮想オブジェクトが座る姿勢になるように前記仮想オブジェクトの姿勢を変更する、
    請求項に記載の情報処理装置。
  11. 表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、
    前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部と、
    を備え、
    前記第1の実オブジェクトは、前記ユーザの第1の手であり、
    前記第2の実オブジェクトは、前記ユーザの第2の手であり、
    前記表示制御部は、前記第1の手および前記第2の手が前記仮想オブジェクトに接触したと判定された後の前記第1の手または前記第2の手の位置の変化に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記第1の実オブジェクトは、前記仮想オブジェクトの位置情報の変更を指示している前記ユーザの第1の手であり、
    前記第2の実オブジェクトは、前記仮想オブジェクトの位置情報の変更を指示していない前記ユーザの第2の手、または、前記ユーザとは異なる実オブジェクトであり、
    前記第2の実オブジェクトに対して前記仮想オブジェクトが接触するように移動された際に、前記表示制御部は、前記第2の実オブジェクト内の、前記仮想オブジェクトが接触したと判定された第3の接触位置を含む領域の形状に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記表示制御部は、さらに前記仮想オブジェクトの種類に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記仮想オブジェクトは、前記第1の手の位置の変化に応じて移動され、
    前記仮想オブジェクトの位置情報の変更の指示は、前記第2の実オブジェクトに非接触であると判定されていた前記仮想オブジェクトが前記第2の実オブジェクトに接触したと判定されるまで前記仮想オブジェクトを移動させることを含み、
    前記第3の接触位置を含む領域の形状がエッジを含む場合には、前記表示制御部は、当該領域上に前記仮想オブジェクトが座る姿勢になるように前記仮想オブジェクトの姿勢を変更する、
    情報処理装置。
  12. 表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、
    前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部と、
    を備え、
    前記第1の実オブジェクトは、前記ユーザの第1の手であり、
    前記第2の実オブジェクトは、前記ユーザの第2の手であり、
    前記表示制御部は、前記第1の手および前記第2の手が前記仮想オブジェクトに接触したと判定された後の前記第1の手または前記第2の手の位置の変化に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記仮想オブジェクトは、複数の固定部と、隣接する二つの前記固定部ごとに当該二つの固定部を回転可能に連結する可動部と、を有し、
    前記表示制御部は、前記仮想オブジェクトに対して前記第1の手が接触したと判定された際の前記仮想オブジェクトにおける前記第1の手の第1の接触位置と、前記仮想オブジェクトに対して前記第2の手が接触したと判定された際の前記仮想オブジェクトにおける前記第2の手の第2の接触位置との関係性に基づいて、前記仮想オブジェクトのうち姿勢変更対象の一以上の可動部を決定し、かつ、
    前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて、前記姿勢変更対象の一以上の可動部の姿勢を変更することにより、前記仮想オブジェクトの姿勢を変更し、
    前記表示制御部は、前記第1の接触位置に対応する第1の固定部と、前記第2の接触位置に対応する第2の固定部との位置関係に基づいて前記姿勢変更対象の一以上の可動部を決定し、
    前記姿勢変更対象の一以上の可動部と、前記姿勢変更対象の一以上の可動部の各々に連結している複数の固定部とは、ひとつながりで連結されており、
    前記表示制御部は、前記姿勢変更対象の一以上の可動部のうちの第1の端の可動部に連結する第3の固定部の姿勢を固定し、かつ、
    前記姿勢変更対象の一以上の可動部の各々の回転角度を、前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて変更することにより、前記仮想オブジェクトの姿勢を変更し、
    前記表示制御部は、さらに、前記姿勢変更対象の一以上の可動部のうち、前記第1の端の反対側の第2の端の可動部に連結する第4の固定部の位置および姿勢を、前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて変更することにより、前記仮想オブジェクトの姿勢を変更し、
    前記第3の固定部および前記第4の固定部のうちのいずれかは、前記第1の固定部および前記第2の固定部のうちのいずれかと同一であり、
    前記表示制御部は、前記仮想オブジェクトの姿勢を変更する度に、当該変更後の前記仮想オブジェクトを前記表示部に表示させる、
    情報処理装置。
  13. 前記実空間のセンシング結果に基づいて、前記第1の手および前記第2の手を認識する認識部と、
    前記表示部と、をさらに備え、
    前記情報処理装置は、頭部装着型の装置である、
    請求項12に記載の情報処理装置。
  14. 表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得することと、
    前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢をプロセッサが変更することと、
    を含み、
    前記第1の実オブジェクトは、前記ユーザの第1の手であり、
    前記第2の実オブジェクトは、前記ユーザの第2の手であり、
    前記第1の手および前記第2の手が前記仮想オブジェクトに接触したと判定された後の前記第1の手または前記第2の手の位置の変化に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記仮想オブジェクトは、複数の固定部と、隣接する二つの前記固定部ごとに当該二つの固定部を回転可能に連結する可動部と、を有し、
    前記仮想オブジェクトに対して前記第1の手が接触したと判定された際の前記仮想オブジェクトにおける前記第1の手の第1の接触位置と、前記仮想オブジェクトに対して前記第2の手が接触したと判定された際の前記仮想オブジェクトにおける前記第2の手の第2の接触位置との関係性に基づいて、前記仮想オブジェクトのうち姿勢変更対象の一以上の可動部を決定し、かつ、
    前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて、前記姿勢変更対象の一以上の可動部の姿勢を変更することにより、前記仮想オブジェクトの姿勢を変更する、
    情報処理方法。
  15. コンピュータを、
    表示部により表示されている仮想オブジェクトの実空間内における位置情報、ユーザに関連する第1の実オブジェクトの位置情報、および、前記実空間内の第2の実オブジェクトの位置情報を取得する情報取得部と、
    前記仮想オブジェクトの位置情報と、前記第1の実オブジェクトの位置情報と、前記第2の実オブジェクトの位置情報との関係性に対応する、姿勢の変更ルールに基づいて、前記仮想オブジェクトの姿勢を変更する表示制御部、
    として機能させるためのプログラムであって、
    前記第1の実オブジェクトは、前記ユーザの第1の手であり、
    前記第2の実オブジェクトは、前記ユーザの第2の手であり、
    前記表示制御部は、前記第1の手および前記第2の手が前記仮想オブジェクトに接触したと判定された後の前記第1の手または前記第2の手の位置の変化に応じて、前記仮想オブジェクトの姿勢を変更し、
    前記仮想オブジェクトは、複数の固定部と、隣接する二つの前記固定部ごとに当該二つの固定部を回転可能に連結する可動部と、を有し、
    前記表示制御部は、前記仮想オブジェクトに対して前記第1の手が接触したと判定された際の前記仮想オブジェクトにおける前記第1の手の第1の接触位置と、前記仮想オブジェクトに対して前記第2の手が接触したと判定された際の前記仮想オブジェクトにおける前記第2の手の第2の接触位置との関係性に基づいて、前記仮想オブジェクトのうち姿勢変更対象の一以上の可動部を決定し、かつ、
    前記姿勢変更対象の一以上の可動部の決定後における前記第1の手または前記第2の手の位置の変化に応じて、前記姿勢変更対象の一以上の可動部の姿勢を変更することにより、前記仮想オブジェクトの姿勢を変更する、
    プログラム
JP2019549905A 2017-11-01 2018-09-05 情報処理装置、情報処理方法、およびプログラム Active JP7283388B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017211645 2017-11-01
JP2017211645 2017-11-01
PCT/JP2018/032795 WO2019087564A1 (ja) 2017-11-01 2018-09-05 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2019087564A1 JPWO2019087564A1 (ja) 2020-11-26
JP7283388B2 true JP7283388B2 (ja) 2023-05-30

Family

ID=66331658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019549905A Active JP7283388B2 (ja) 2017-11-01 2018-09-05 情報処理装置、情報処理方法、およびプログラム

Country Status (4)

Country Link
US (1) US11049325B2 (ja)
JP (1) JP7283388B2 (ja)
CN (1) CN111263956A (ja)
WO (1) WO2019087564A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020113094A (ja) * 2019-01-15 2020-07-27 株式会社シーエスレポーターズ 拡張現実空間に配置される3dオブジェクトを生成する方法
US11943519B2 (en) * 2019-07-01 2024-03-26 Sony Interactive Entertainment Inc. Information processing device, information processing method, and program
KR20210069491A (ko) * 2019-12-03 2021-06-11 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2021166717A1 (ja) * 2020-02-17 2021-08-26 ソニーグループ株式会社 表示制御装置、表示制御方法及び記録媒体
US11617953B2 (en) * 2020-10-09 2023-04-04 Contact Control Interfaces, Llc. Virtual object interaction scripts
JP7126583B1 (ja) 2021-03-31 2022-08-26 株式会社コーエーテクモゲームス ゲームプログラム、記録媒体、ゲーム処理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002112286A (ja) 2000-09-27 2002-04-12 Mixed Reality Systems Laboratory Inc 複合現実感提示装置及びその方法並びに記憶媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843396B (zh) * 2010-03-05 2019-01-01 索尼电脑娱乐美国公司 在共享的稳定虚拟空间上维持多视图的方法
US9383895B1 (en) * 2012-05-05 2016-07-05 F. Vinayak Methods and systems for interactively producing shapes in three-dimensional space
US9529513B2 (en) * 2013-08-05 2016-12-27 Microsoft Technology Licensing, Llc Two-hand interaction with natural user interface
JP6609988B2 (ja) * 2015-05-18 2019-11-27 セイコーエプソン株式会社 画像処理装置、画像処理装置の制御方法、および、コンピュータープログラム
US9696795B2 (en) * 2015-02-13 2017-07-04 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments
US10776618B2 (en) * 2015-11-19 2020-09-15 Lg Electronics Inc. Mobile terminal and control method therefor
US10643390B2 (en) * 2016-03-30 2020-05-05 Seiko Epson Corporation Head mounted display, method for controlling head mounted display, and computer program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002112286A (ja) 2000-09-27 2002-04-12 Mixed Reality Systems Laboratory Inc 複合現実感提示装置及びその方法並びに記憶媒体

Also Published As

Publication number Publication date
WO2019087564A1 (ja) 2019-05-09
CN111263956A (zh) 2020-06-09
JPWO2019087564A1 (ja) 2020-11-26
US20200372716A1 (en) 2020-11-26
US11049325B2 (en) 2021-06-29

Similar Documents

Publication Publication Date Title
JP7283388B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7486276B2 (ja) 眼追跡較正技術
US11935205B2 (en) Mission driven virtual character for user interaction
US10198855B2 (en) Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods
US10540941B2 (en) Eclipse cursor for mixed reality displays
US10943382B2 (en) Virtual reality
CN106873767B (zh) 一种虚拟现实应用的运行控制方法和装置
JP6646620B2 (ja) 広範囲同時遠隔ディジタル提示世界
JP2022549853A (ja) 共有空間内の個々の視認
WO2014204330A1 (en) Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
CN111158469A (zh) 视角切换方法、装置、终端设备及存储介质
JP2022510843A (ja) アバタ移動のためのマルチモードの手の場所および配向
US11574416B2 (en) Generating body pose information
WO2018004776A1 (en) Virtual manipulator rendering
JP6554139B2 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
KR101962464B1 (ko) 손동작 매크로 기능을 이용하여 다중 메뉴 및 기능 제어를 위한 제스처 인식 장치
Mentzelopoulos et al. Hardware interfaces for VR applications: evaluation on prototypes
US11430170B1 (en) Controlling joints using learned torques
JP2018190397A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230501

R151 Written notification of patent or utility model registration

Ref document number: 7283388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151