JP2019008623A - 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体 - Google Patents

情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体 Download PDF

Info

Publication number
JP2019008623A
JP2019008623A JP2017124802A JP2017124802A JP2019008623A JP 2019008623 A JP2019008623 A JP 2019008623A JP 2017124802 A JP2017124802 A JP 2017124802A JP 2017124802 A JP2017124802 A JP 2017124802A JP 2019008623 A JP2019008623 A JP 2019008623A
Authority
JP
Japan
Prior art keywords
virtual object
virtual
information
interference
orientation
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.)
Pending
Application number
JP2017124802A
Other languages
English (en)
Inventor
奈緒子 小形
Naoko Ogata
奈緒子 小形
靖己 田中
Yasuki Tanaka
靖己 田中
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017124802A priority Critical patent/JP2019008623A/ja
Priority to US16/015,067 priority patent/US10614590B2/en
Publication of JP2019008623A publication Critical patent/JP2019008623A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Processing Or Creating Images (AREA)
  • Manipulator (AREA)

Abstract

【課題】複数の仮想物体の中から事前設定なしに干渉判定に使用する仮想物体を選択して干渉判定を行うことができる情報処理装置を提供する。
【解決手段】情報処理装置は、仮想空間における複数の仮想物体の位置姿勢及び形状情報を保持する仮想データ保持部、この仮想物体を保持するユーザの手の位置姿勢及び形状情報を取得する手情報取得部を有する。また、複数の仮想物体の位置姿勢及び形状情報と、手の位置姿勢及び形状情報とに基づいて、保持された仮想物体を干渉仮想物体として設定し、保持されていない仮想物体を被干渉仮想物体として設定する干渉仮想物体設定部を有する。また、干渉仮想物体の位置姿勢及び形状情報と、被干渉仮想物体の位置姿勢及び形状情報とに基づいて、これらが干渉したか否かを判定する干渉判定部を有する。また、仮想データ保持部が保持する情報と干渉判定部の判定結果に基づいて仮想空間を生成する仮想空間生成部有する。
【選択図】図1

Description

本発明は、仮想物体同士の干渉判定技術に関する。
近年、設計・製造分野においてプロトタイプを用いた評価の期間短縮、費用削減が求められている。CAD(コンピュータ支援設計)システムで作成した設計(形状・デザイン)データを用いて、組み立てやすさやメンテナンス性の仮想評価をするための複合現実感(MR:Mixed Reality)システムが導入されている。
代表的な評価項目として、工具を目的の部品以外に干渉させずに作業できるか否か、工具と部品との間に適切な隙間が確保できているか否かを現実の部品が存在しなくても仮想部品のみで評価するというものがある。
このような評価を行うための複合現実感システムでは、体験者(ユーザ)自らが仮想物体(例えば工具)を動かして別の仮想物体(部品)に干渉させたかどうかを提示する機能が求められる。また、ユーザが動かしている工具と部品との隙間が適切に確保できているかどうかを提示する機能が求められる。(例えば、特許文献1、2、3参照)
特開2008−59375号公報 特開2003−337962号公報 特開2006−302035号公報
例えば、特許文献1等に開示される方法では、操作対象物体としての仮想物体をユーザが手で保持する指示具に重畳し、それと仮想空間中に固定配置される仮想物体との干渉判定を行う。しかしながら、この方法では、複数の仮想物体の中から指示具と操作対象物体にする仮想物体を事前に設定し、重畳する必要がある、という課題が残る。また、指示具の形状と仮想物体の形状とに大きな差異があると重畳しても没入感を妨げる、といった問題がある。
本発明は、上記課題に鑑みてなされたものであり、複数の仮想物体の中から事前設定なしに干渉判定に使用する仮想物体を選択して干渉判定を行うことができる情報処理装置を提供することを、主たる目的とする。
本発明に係る情報処理装置は、仮想空間における複数の仮想物体の位置姿勢および形状情報を保持するデータ保持手段と、前記仮想空間において前記仮想物体を保持する被保持物体の位置姿勢および形状情報を取得する取得手段と、前記複数の前記仮想物体の位置姿勢および形状情報と、前記被保持物体の位置姿勢および形状情報とに基づいて、当該被保持物体によって保持されている仮想物体を干渉仮想物体として設定し、保持されていない仮想物体を被干渉仮想物体として設定する設定手段と、前記干渉仮想物体の位置姿勢および形状情報と、前記被干渉仮想物体の位置姿勢および形状情報とに基づいて、前記干渉仮想物体と前記被干渉仮想物体が干渉したか否かを判定する判定手段と、前記データ保持手段が保持する情報と前記判定手段の判定結果に基づいて前記仮想空間を生成する生成手段と、を有することを特徴とする。
本発明によれば、複数の仮想物体の中から事前設定なしに干渉判定に使用する仮想物体を選択して干渉判定を行うことが可能になる。
第1実施形態に係るシステムの機能構成の一例を示すブロック図。 情報処理装置のハードウェア構成の一例を示す図。 情報処理装置がセンサを介して取得した世界座標系を説明するための図。 情報処理装置が行う処理手順の一例を示すフローチャート。 (a)〜(d)は、情報処理装置がマージンを設定する一連の処理を説明するための図。 第2実施形態に係るシステムの機能構成の一例を示すブロック図。 情報処理装置が行う処理手順の一例を示すフローチャート。 情報処理装置がマージンを設定する一連の処理を説明するための図。 第3実施形態に係るシステムの機能構成の一例を示すブロック図。 情報処理装置が行う処理手順の一例を示すフローチャート。 (a)〜(d)は、情報処理装置がマージンを設定する一連の処理を説明するための図。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1実施形態]
図1は、本実施形態に係るシステムの機能構成の一例を示すブロック図である。
本実施形態に係るシステムSは、情報処理装置1000、ユーザの頭部へ装着可能に構成された表示装置の一例であるHMD(Head Mounted Display)1100、画像表示装置1200、センサ1300を含んで構成される。
情報処理装置1000は、手情報取得部1010、仮想空間生成部1020、撮像画像取得部1030、位置姿勢計測部1040、複合現実画像生成部1050を含んで構成される。HMD1100は、画像撮像部1110、画像表示部1120を含んで構成される。
なお、情報処理装置1000とHMD1100は相互にデータ通信が可能に接続される。また、情報処理装置1000とHMD1100との間の接続は、有線、無線の何れであっても構わない。
図2は、情報処理装置1000のハードウェア構成の一例を示す図である。
情報処理装置1000は、CPU(Central Processing Unit)2010、ROM(Read Only Memory)2020、RAM(Random Access Memory)2030、入力I/F(インタフェース)2040、出力I/F2050を有する。
CPU2010は、バス2000を介して接続する各デバイスを統括的に制御する。CPU2010は、読み出し専用メモリ(ROM2020)に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る各種プログラム、デバイスドライバ等はROM2020に記憶される。なお、これら各種プログラム等はランダムアクセスメモリ(RAM)2030に一時記憶される。また、各種プログラム等はCPU2010によって適宜実行され、情報処理装置1000の各機能部を動作させる。
入力I/F2040は、外部の装置(例えば、表示装置や操作装置など)から情報処理装置1000で処理可能な形式で入力信号として入力する。
出力I/F2050は、外部の装置(表示装置)へ表示装置が処理可能な形式で出力信号として出力する。
以下、情報処理装置1000等の機能構成について図1、2、3を用いて説明する。
[情報処理装置1000の機能構成]
図3は、情報処理装置1000がセンサ1300を介して取得した世界座標系を説明するための図である。なお、図3に示すように、世界座標系は現実空間の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系とする。
情報処理装置1000の手情報取得部1010は、センサ1300を介して計測された世界座標系における指を含むユーザの手3000の位置、姿勢を表す情報(位置姿勢情報)を取得する。手情報取得部1010は、また、手3000の形状を表す3次元ポリゴンモデルを形状情報として取得する。取得されたユーザの手3000の位置姿勢および形状情報は、干渉仮想物体設定部1022に入力される。このように、手情報取得部1010は、仮想空間において仮想物体を保持する被保持物体(ユーザの手3000)の位置姿勢および形状情報を取得する手情報取得手段として機能する。
仮想データ保持部1021は、仮想空間を構成する仮想物体に係るデータ(位置姿勢情報、形状情報)、仮想空間中に照射する光源に係るデータなどの仮想空間に係る情報を保持する。仮想空間に係る情報は、干渉仮想物体設定部1022および干渉判定部1024に入力される。
干渉仮想物体設定部1022は、手情報取得部1010を介して取得された手3000の位置姿勢および形状情報と、仮想データ保持部1021が取得した仮想物体の位置姿勢および形状情報とに基づいて手3000が保持する仮想物体を特定する。干渉仮想物体設定部1022は、また、保持されている仮想物体を干渉仮想物体、保持されていない仮想物体を被干渉仮想物体に設定する。
情報処理装置1000は、干渉仮想物体設定部1022において手3000で保持されていると特定された仮想物体の位置姿勢を手3000の位置姿勢に追従するよう変更する。
なお、手3000で仮想物体が保持されているか否かを特定する手法は、所定の保持条件を満たしているか否かを判定する手法など既知のものを用いることができる。
本実施形態の説明においては、手3000の指先、関節および手のひらに、球状の仮想物体を配置し、仮想空間中の仮想物体と手に配置された球状の仮想物体とが干渉しているか否かを判定することとする。また、干渉している球の位置関係が条件を満たしている場合、仮想物体を保持していると特定する既知の手法を用いて説明するが、本発明はこれに限定されない。
情報処理装置1000は、設定された仮想物体情報をマージン設定部1023および干渉判定部1024に入力する。情報処理装置1000は、また、干渉仮想物体の位置姿勢を手の位置姿勢に追従するよう変更するため、干渉仮想物体情報と手の位置姿勢情報を仮想データ保持部1021に入力する。
マージン設定部1023は、干渉仮想物体設定部1022を介して設定された干渉仮想物体を膨張させて、干渉仮想物体と被干渉仮想物体との間に適切な隙間量を確保できているか否かを確認するための領域(マージン)を設定する。そして、マージン設定部1023は、マージンを仮想空間に生成する。
なお、マージンは、干渉仮想物体と被干渉仮想物体の干渉を事前に警告するために使用されても良い。設定された領域情報を干渉判定部1024に入力する。
干渉判定部1024は、例えば、不図示の仮想物体干渉判定部とマージン干渉判定部を含んで構成される。仮想物体干渉判定部では、干渉仮想物体設定部1022を介して設定された干渉仮想物体と被干渉仮想物体が干渉しているか否かを判定する。また、マージン干渉判定部では、マージン設定部1023を介して設定されたマージンと被干渉仮想物体とが干渉しているか否かを判定する。干渉判定部1024は、それぞれの干渉判定結果を干渉通知部1025に入力する。
干渉通知部1025は、例えば、不図示の仮想物体干渉通知部とマージン干渉通知部を含んで構成される。仮想物体干渉通知部では、干渉判定部1024の仮想物体干渉判定部により干渉仮想物体と被干渉仮想物体とが干渉していると判定された際に、干渉位置を取得して干渉通知フラグをONにする。また、マージン干渉通知部では、干渉判定部1024のマージン干渉判定部によりマージンと被干渉仮想物体とが干渉していると判定された際に、干渉位置を取得して干渉通知フラグをONにする。
仮想空間生成部1020は、仮想データ保持部1021、干渉仮想物体設定部1022、マージン設定部1023、干渉判定部1024、干渉通知部1025を含んで構成される。
仮想空間生成部1020は、各部で取得された仮想物体の位置情報やマージン情報、干渉判定の通知フラグなどに基づいて仮想空間を生成する。生成された仮想空間の情報(仮想空間情報)は、複合現実画像生成部1050に入力される。
撮像画像取得部1030は、画像撮像部1110を介して撮像された現実空間の画像(現実空間画像)を取得して位置姿勢計測部1040、複合現実画像生成部1050に入力する。
位置姿勢計測部1040は、撮像画像取得部1030を介して取得された現実空間画像を用いて画像処理を行い、画像中の点や線などの特徴的な情報(特徴情報)を抽出することで計測対象(例えば、ユーザ)の位置姿勢を計測する。位置姿勢計測部1040は、計測結果である位置姿勢情報を複合現実画像生成部1050に入力する。
なお、本実施形態では画像処理による位置姿勢計測を説明するが、赤外光を用いて対象物の位置姿勢を計測するように構成しても良いし、超音波を用いて位置姿勢を計測しても良いし、磁気センサを位置姿勢を計測しても良い。更に、奥行きセンサを用いて対象物の位置姿勢を計測するように構成しても良いし、機械的に位置姿勢を計測しても良い。
複合現実画像生成部1050は、仮想空間生成部1020を介して生成された仮想空間と、位置姿勢計測部1040の計測結果とに基づいて仮想空間画像を生成する。複合現実画像生成部1050は、また、仮想空間画像を撮像画像取得部1030で取得された現実空間画像に重畳し、複合現実空間の画像(複合現実画像)を生成する。複合現実画像生成部1050は、この生成した複合現実画像をHMD1100の画像表示部1120に対して出力する(表示制御)。
なお、画像表示部1120と画像表示装置1200に同時に表示するように構成しても良い。HMDに限ったことではなく表示できる装置であれば良く、タブレット・スマートフォン等の表示端末であっても良い。また、所定の位置から見える仮想空間を生成する技術については既知の技術を用いることができるため、これについての詳細な説明は省略する。
また、これまで説明した各機能部は、CPU2010がROM2020に格納されたプログラムをRAM2030に展開し、後述する各フローチャートに従った処理を実行することで実現することができる。例えば、CPU2010を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すれば良い。
[HMD1100の機能構成]
HMD1100は、右目用と左目用の液晶画面(表示画面)などを含んで構成される表示装置の一例である。表示画面は、HMD1100を頭部に装着したユーザの右目、左目の眼前に位置するようにそれぞれが取り付けられている。また、左右の画面にはそれぞれ視差のついた画像がステレオ表示される。
画像撮像部1110は、HMD1100を頭部に装着したユーザが見ている現実の空間を撮像し、撮像画像を現実空間画像として情報処理装置1000に入力する。画像表示部1120は、情報処理装置1000が生成した複合現実画像を表示画面に表示する。
本実施形態に係るHMD1100は、撮像装置により撮像された画像に基づいて生成された複合現実画像を表示装置に表示するビデオシースルー型のHMDであるとして説明を進める。その他にも、例えば現実空間を透過して観察することが可能な表示媒体に仮想空間画像を重畳して表示する光学シースルー型のHMDを用いても良い。
[センサ1300の機能構成]
センサ1300は、指を含めた手3000の位置姿勢を計測する。センサ1300は、また、計測結果に基づいて手3000の形状を模した3次元ポリゴンモデルをリアルタイムに出力することができる。センサ1300は、位置姿勢計測結果およびポリゴンモデルの形状情報を情報処理装置1000に入力する。
なお、センサ1300は、例えばリープモーション社が提供するLeap Motion(登録商標)を用いることができる。Leap Motionは、指を含めた手の位置姿勢を計測し、また、内蔵されているステレオカメラから手の領域を検出し、手の形状を模した3次元ポリゴンモデルを出力できるものである。
また、例えばマイクロソフト社のKinect等の奥行きセンサを用い、手と指の位置姿勢を推定することができる。更に、奥行きセンサで得られた手の形状の奥行き画像に基づいて、初期位置から繰り返し計算し、コストを最適化することによって手と指の姿勢を推定した3次元ポリゴンモデルを生成する手法を用いても良い。画像処理により手の領域を抽出し、ステレオマッチングやSLAM(Simultaneous Localization and Mapping)により深度を推定することで位置情報を計測する手法を用いても良い。
図4は、情報処理装置1000が行う処理手順の一例を示すフローチャートである。
図4に示す各処理は、具体的には、情報処理装置1000が複合現実空間画像を生成し、HMD1100または画像表示装置1200に対して出力する処理を示している。
なお、図4に示す各処理は、主としてCPU2010により実行される。
図5は、情報処理装置1000がマージンを設定する一連の処理を説明するための図である。具体的には、情報処理装置1000は、複数個の仮想物体(仮想物体5000、仮想物体5100)が存在する仮想空間(図5(a)参照)において、ユーザの手で保持された仮想物体を干渉判定に使用する仮想物体に決定してマージンを設定する。
以下、図4、図5を用いて処理の詳細を説明する。
CPU2010は、画像撮像部1110を介して現実空間画像を取得し、取得した画像に基づいて計測対象の位置姿勢を計測して位置姿勢情報を取得する(S4000)。
CPU2010は、手情報取得部1010を介して、センサ1300により計測された手5200の世界座標系における位置姿勢を取得する(S4100)。
CPU2010は、図5(b)に示すように、手5200の形状情報に基づいて手の指先、関節および手のひらなどに球状仮想物体を配置する。
CPU2010は、干渉仮想物体設定部1022を介して、手5200と仮想物体5000および仮想物体5100の干渉の有無を判定する(S4200)。具体的には、仮想物体の位置姿勢および形状情報と、球状仮想物体の位置姿勢および形状情報とに基づいて干渉の有無を判定する。
干渉判定は、例えば以下の手順で実現する。まず、それぞれの仮想物体から三角形ポリゴンを一つずつ取り出し、その三角形ポリゴン同士が交差しているか否かを判定する。これを全ての三角形ポリゴンの組み合わせに対して行い、一つでも交差している場合は干渉していると判定する。ただし、本発明における干渉判定の実現方法はこれに限定されない。
CPU2010は、複数の仮想物体のうち、いずれかの仮想物体と球状仮想物体が干渉していると判定した場合(S4200:Yes)、ステップS4210の処理に移行する。また、そうでない場合(S4200:No)、ステップS4500の処理に移行する。
CPU2010は、干渉仮想物体設定部1022を介して、仮想物体と干渉している球状仮想物体の位置情報を取得する(S4210)。
CPU2010は、干渉仮想物体設定部1022を介して、球状仮想物体の干渉位置が所定の保持条件を満たしているか否かを判定する(S4300)。条件を満たしている場合(S4300:Yes)、ステップS4310の処理に移行する。また、そうでない場合(S4300:No)、ステップS4500の処理に移行する。
CPU2010は、仮想データ保持部1021を介して、図5(c)に示すように保持条件を満たしている仮想物体5000がユーザの手5200の位置姿勢に追従するよう位置姿勢を変更する(S4310)。
CPU2010は、干渉仮想物体設定部1022を介して、保持条件を満たしている仮想物体5000を干渉仮想物体に、保持条件を満たしていない仮想物体5100を被干渉仮想物体に設定する(S4320)。
なお、本実施形態では保持した仮想物体のみを干渉仮想物体に設定する手法を説明するが、本発明はこれに限定されない。例えば、入力I/F2040を介して、干渉仮想物体設定部1022が干渉仮想物体に設定した仮想物体に対して追加する仮想物体を選択し、追加した仮想物体を含めて干渉仮想物体に設定しても良い。あるいは仮想物体を保持している手を含めて干渉仮想物体に設定しても良い。
CPU2010は、マージン設定部1023を介して、干渉仮想物体設定部1022が設定した干渉仮想物体5000に対してマージン5010を設定する(S4330)。CPU2010は、マージン5010を仮想物体として仮想空間に生成する。
マージン5010は、図5(d)に示すように、干渉仮想物体5000と被干渉仮想物体5100との間に適切な隙間量を確保していることを確認できるように干渉表面から指定の隙間量Xを有するように設定する。
なお、マージンの設定方法は、干渉仮想物体と指定の隙間量を直径とする球とのMinkowski和を用いる手法等がある。また、隙間量Xの指定方法は、例えばユーザが操作するマウスやキーボード等を使った入力により指定するように構成しても良いし、ジェスチャ入力により指定しても良いし、ユーザの声による入力により指定しても良い。また、干渉仮想物体の種類に基づいて隙間量Xを決定することができるデータベースなどを介して指定するように構成しても良いし、干渉仮想物体のサイズに基づいて指定しても良い。
また、仮想物体のサイズは、バウンディングボックスの三辺(幅、高さ、奥行き)を用いて算出するように構成しても良いし、バウンディングスフィアの直径により算出するようにしても良い。
本実施形態では、干渉仮想物体に常にマージンを設定する手法を説明するが、本発明はこれに限定されない。例えば、入力I/F2040を介して、ユーザが干渉仮想物体にマージンを設定するか、設定しないか選択し、選択情報をマージン設定部1023に入力することでマージンを設定するか、設定しないか選択できても良い。
また、本実施形態では、マージンを常に仮想空間に生成し、ユーザに見えるように提示する手法を説明が、本発明はこれに限定されない。すなわち、入力I/F2040を介して、ユーザがマージン5010を表示するか、表示しないか選択する。そして、その選択情報を仮想空間生成部1020に入力することでマージンを可視仮想物体として生成するか、生成しないかを選択できるように構成しても良い。
CPU2010は、干渉判定部1024を介して、干渉仮想物体5000、被干渉仮想物体5100、マージン5010の位置姿勢および形状情報に基づいて、干渉仮想物体と被干渉仮想物体またはマージンと被干渉仮想物体の干渉の有無を判定する(S4400)。
干渉仮想物体と被干渉仮想物体またはマージンと被干渉仮想物体のいずれかが干渉していると判定した場合(S4400:Yes)、CPU2010は、干渉通知部1025を介して干渉通知のフラグをONにする(S4410)。また、そうでない場合(S4400:No)、ステップS4500の処理に移行する。
CPU2010は、仮想空間生成部1020を介して、仮想空間を生成する(S4500)。具体的には、仮想データ保持部1021が保持する仮想空間に係るデータと、マージン設定部1023が設定したマージンの形状、干渉通知部1025の干渉通知フラグに基づいて仮想空間を生成する。
なお、干渉通知フラグがONの場合には、干渉位置がユーザに分かるように例えば色を用いて視覚的に干渉していることが通知される。また、本実施形態では、視覚的な干渉通知法方法を用いた場合を例に挙げているが、本発明はこれに限定されない。すなわち、例えば音や振動によって聴覚的、触覚的に干渉を通知するように構成しても良いし、夫々を組み合わせても良い。また、干渉仮想物体と被干渉仮想物体の干渉通知とマージンと被干渉仮想物体の干渉通知は異なる通知方法であってもよい。CPU2010は、その後、干渉通知フラグをOFFにする。
CPU2010は、複合現実画像生成部1050を介して、仮想空間生成部1020が生成した仮想空間と位置姿勢計測部1040が取得した位置姿勢情報に基づいて仮想空間画像を生成する(S4600)。CPU2010は、撮像画像取得部1030が取得した現実空間画像に仮想空間画像を重畳して複合現実画像を生成する。生成した複合現実画像は、HMD1100の画像表示部1120または画像表示装置1200に対して出力される。
CPU2010は、ユーザによって本処理の終了指示が入力されたか、あるいは本処理を終了する条件が満たされたか否かを判定する(S4700)。CPU2010は、本処理の終了指示が入力された、あるいは本処理を終了する条件が満たされたと判定した場合(S4700:Yes)、処理を終了する。また、そうでない場合(S4700:No)、ステップS4000の処理に戻る。
このように本実施形態に係る情報処理装置1000では、複数の仮想物体のうち、ユーザが保持した仮想物体を干渉判定に使用する仮想物体として設定することができる。これにより、事前に設定等をすることなく干渉判定に使用する仮想物体を選択することが可能になる。
[第2実施形態]
第1の実施形態では、干渉仮想物体の位置に依らず、指定の隙間量を有するマージンを設定する場合を例に挙げて説明した。本実施形態では、干渉仮想物体が視錐台内に存在するか否かに応じて設定するマージンを変更することができる情報処理装置について説明する。
なお、第1実施形態において既に説明した機能構成は、同一の符号を付すとともにその説明を省略する。
図6は、本実施形態に係るシステムの機能構成の一例を示すブロック図である。
本実施形態に係るシステムと図1に示すシステムSとの差異は、HMD1100がHMD情報出力部6010を有している点、情報処理装置1000が視錐台情報取得部6020、干渉仮想物***置判定部6030を有する点である。
HMD情報出力部6010は、HMD1100の画角情報を取得する。取得した画角情報は、情報処理装置1000の視錐台情報取得部6020に入力される。
視錐台情報取得部6020は、HMD情報出力部6010から入力された画角情報に加え、仮想空間を描画するNear面、Far面をそれぞれ取得して、取得した情報に基づいて視錐台を構築する。視錐台情報取得部6020は、構築した視錐台に係る情報(視錐台情報)を干渉仮想物***置判定部6030に入力する。
なお、所定の視錐台を構築するための技術については既知の技術であるため詳細な説明は省略する。
干渉仮想物***置判定部6030は、視錐台情報取得部6020から取得した視錐台情報に基づいて、干渉仮想物体設定部1022により干渉仮想物体に設定された仮想物***置が視錐台内に存在するか、あるいは視錐台外に存在するかを判定する。判定結果は、マージン設定部1023に入力される。
マージン設定部1023は、干渉仮想物***置判定部6030の判定結果に基づいて、視錐台内に存在する干渉仮想物体には視錐台内用のマージンを設定し、視錐台外に存在する干渉仮想物体には視錐台外用のマージンを設定してユーザに表示する。設定されたマージン情報は、干渉判定部1024に入力される。
図7は、本実施形態に係る情報処理装置1000が行う処理手順の一例を示すフローチャートである。
図7に示す各処理は、具体的には、情報処理装置1000が視錐台情報取得部6020を介して取得した視錐台情報に基づいて、干渉仮想物体の位置によって異なるマージンを設定する処理を示している。
なお、図7に示す各処理は、主としてCPU2010により実行される。また、図4に示す各処理と同じ処理には同一の符号を付しており、その説明は省略する。
図8は、本実施形態に係る情報処理装置1000がマージンを設定する一連の処理を説明するための図である。
具体的には、情報処理装置1000は、ユーザの手(手8000、8100)で保持された干渉仮想物体8010、8110と被干渉仮想物体8200が存在する仮想空間において、干渉仮想物体の位置姿勢とHMD視野画像8300に基づいてマージンを設定する。
以下、図7、図8を用いて処理の詳細を説明する。
CPU2010は、視錐台情報取得部6020を介して、HMD視野画像8300を決定するために必要な視錐台情報を取得する。
CPU2010は、干渉仮想物***置判定部6030を介して、干渉仮想物体の位置姿勢および視錐台情報から干渉仮想物体が視錐台内に存在するか視錐台外に存在するか判定する(S7100)。視錐台内に存在する場合(S7100:Yes)、ステップS7110の処理に移行する。視錐台外に存在する場合(S7100:No)、ステップS7120の処理に移行する。
CPU2010は、マージン設定部1023を介して、干渉仮想物体8010に対して視錐台内用のマージン8020を設定する(S7110)。なお、視錐台内用のマージンの設定はステップS4330の処理(図4参照)と同様の処理であることからその詳細は省略する。
CPU2010は、マージン設定部1023を介して、干渉仮想物体8110に対して視錐台外用のマージン8120を設定する(S7120)。
例えば、視錐台外に存在する干渉仮想物体8110は、被干渉仮想物体8200と誤干渉する可能性が高くなる。そのため、干渉仮想物体8110と被干渉仮想物体8200との干渉警告領域であるマージン8120は広く取る必要があることから、指定の隙間量Xより相対的に広い隙間量Yを有するマージン8120を設定する。
また、視錐台外に存在する干渉仮想物体8110は詳細な作業ができなくなるため、計算量軽減のためにも設定するマージン8120は詳細なものである必要がない。そのため、視錐台内に設定するマージン8020よりも相対的にポリゴン数を削減したマージンを設定する。
このように本実施形態に係る情報処理装置1000では、干渉仮想物体が視錐台内に存在するか否かの判定結果に応じて、設定するマージンを変更することができる。
[第3実施形態]
第1、第2実施形態では、一人のユーザが複合現実空間を体験している場合を例に挙げて説明した。本実施形態では、複数のユーザが同時に複合現実空間を体験している場合を例に挙げて説明をする。
なお、第1、第2実施形態において説明した機能構成は、同一の符号を付すとともにその説明を省略する。
図9は、本実施形態に係るシステムの機能構成の一例を示すブロック図である。
図1に示すシステムSとの差異は、情報処理装置1000が通信部9000、仮想空間情報送信部9110、仮想空間情報受信部9120を有する点である。
通信部9000は、ネットワークに接続され、同一仮想空間を共有する他の情報処理装置との接続を行う。通信部9000は、仮想空間情報送信部9110から送られた仮想空間情報を他情報処理装置の仮想空間情報受信部9120に向けて送信する。
仮想空間情報送信部9110は、仮想空間生成部1020により生成された仮想空間情報、すなわち仮想物体の位置姿勢変更情報を取得して通信部9000に入力する。
仮想空間情報受信部9120は、通信部9000を介して受け付けた仮想空間情報を取得して仮想空間生成部1020に入力する。
仮想空間生成部1020は、各部で取得された仮想物体の位置姿勢情報やマージン情報、干渉判定の通知情報に対して、仮想空間情報受信部9120により入力された仮想空間情報を反映させて仮想空間を生成する。生成された仮想空間の情報(仮想空間情報)は、複合現実画像生成部1050に入力される。
図10は、本実施形態に係る情報処理装置1000が行う処理手順の一例を示すフローチャートである。
図10に示す各処理は、具体的には、情報処理装置1000が仮想空間情報受信部9120を介して取得した他の情報処理装置の仮想空間情報に基づいて複合現実画像を生成する処理を示している。
なお、図10に示す各処理は、主としてCPU2010により実行される。また、図4に示す各処理と同じ処理には同一の符号を付しており、その説明は省略する。
図11は、情報処理装置1000がマージンを設定する一連の処理を説明するための図である。
図11(a)は、ユーザA、ユーザBが体験する仮想物体11100、11200、11300が存在する仮想空間の初期状態を表した図である。
図11(b)は、ユーザAの手11110で保持された干渉仮想物体11100およびユーザBの手11210で保持された干渉仮想物体11200および被干渉仮想物体11300が存在する仮想空間を表した図である。干渉仮想物体11200は、被干渉仮想物体11300と干渉しているものとする。
図11(c)は、ユーザAの体験する仮想空間を、図11(d)は、ユーザBの体験する仮想空間を表した図である。
以下、図10、図11を用いて処理の詳細を説明する。
CPU2010は、仮想空間情報送信部9110を介して、仮想物体の位置姿勢変更情報の送信、受信を行う(S10100)。
具体的には、図11(a)に示す状態から図11(b)に示す状態に変更された仮想空間において、ユーザAによる仮想物体の位置姿勢変更情報、すなわち仮想物体11100の位置姿勢変更情報が通信部9000を介してユーザBに向けて送信する。
また、ユーザBによる仮想物体の位置姿勢変更情報、すなわち仮想物体11200の位置姿勢変更情報が通信部9000を介してユーザAに向けて送信される。このようにして送信された仮想物体の位置姿勢変更情報は、仮想空間情報受信部9120によりそれぞれのユーザが取得することになる。
CPU2010は、仮想空間生成部1020を可しいて、仮想データ保持部1021が保持する仮想空間に係るデータ、マージン設定部1023により設定されたマージン情報、干渉通知部1025の通知に基づいて仮想空間を生成する(S10200)。
この場合、例えばユーザAの仮想空間は、図11(a)に示す状態から図11(c)に示すような状態になり、ユーザAの保持する干渉仮想物体11100の位置姿勢が変更されてマージン11120が設定されることになる。
一方、ユーザBの仮想空間は、図11(a)に示す状態から図11(d)に示すような状態になり、ユーザBの保持する干渉仮想物体11200の位置姿勢が変更されてマージン11220が設定されることになる。
また、図11(d)に示すように、干渉仮想物体11200が被干渉仮想物体11300に干渉している。そのため、干渉通知部1025の干渉通知フラグに基づいて、干渉位置がユーザに分かるように例えば色を用いて視覚的に干渉していることが通知される。
また、CPU2010は、仮想空間情報取得部6120により入力された仮想物体の位置姿勢変更情報に基づき仮想空間を生成する。この場合、ユーザAの仮想空間は、図11(a)に示す状態から図11(c)に示すような状態になり、ユーザBの保持する干渉仮想物体11200の位置姿勢が変更されることになる。
一方、ユーザBの仮想空間は、図11(a)に示す状態から図11(d)に示すような状態になり、ユーザAの保持する干渉仮想物体11100の位置姿勢が変更されることになる。
このように本実施形態に係る情報処理装置1000では、複数のユーザが同時に複合現実空間を体験している場合、相互に仮想物体の位置姿勢を共有することができる。また、仮想空間における干渉に係る情報(マージン情報および干渉位置の通知)は共有しないことで、効率的に複合現実空間を体験することが可能になる。
なお、本実施形態では、仮想物体の位置姿勢変更情報のみを送受信することで干渉に係る仮想空間情報(マージン情報および干渉位置の通知)を共有しない手法を説明したが、本発明はこれに限定されない。
例えば、仮想空間情報送信部9110、仮想空間情報受信部9120において仮想物体の位置姿勢変更情報に加え、マージン情報および干渉通知情報を送受信して仮想空間生成部9130に反映させる。このようにして干渉に係る仮想空間情報を共有する手法を用いた構成としても良い。
また、本実施形態では、複数のユーザが同一の仮想空間情報を共有する手法を説明したが、本発明はこれに限定されない。
例えば、仮想空間情報送信部9110を介して、仮想空間情報にユーザ情報を付加して送信し、仮想空間情報受信部9120を介して、ユーザ情報に基づいて選択的に仮想空間情報を取得するように構成する。そして、仮想空間生成部9130が行う仮想空間の生成に反映させるようにする。このように、ユーザ情報に基づき選択的に仮想空間情報を共有する手法を用いた構成としても良い。
例えば、同一拠点において複合現実空間を体験しているユーザとは仮想空間の位置姿勢と干渉を共有するが、遠隔拠点において体験しているユーザとは、仮想物体の位置姿勢のみを共有するように構成しても良い。あるいは、入力I/F2040を用いて選択したユーザとは仮想空間の位置姿勢と干渉を共有するが、選択していないユーザとは、仮想物体の位置姿勢のみを共有する情報処理装置として構成しても良い。
上記各実施形態の説明では、本発明を撮像画像に仮想空間画像を合成した画像を表示させるMR(MixedReality)システムに適用した場合を例に挙げて説明したが、本発明はこれに限られない。
例えば、本発明は、仮想空間画像のみを表示させるVR(VirtualReality)システムに適用することができる。その場合には、上記各実施形態において、複合現実画像生成部1050は、仮想空間画像そのままを画像表示部1120および画像表示装置1200に表示させるように構成すれば良い。
具体的には、撮像画像取得部1030で取得された現実空間画像に対して仮想空間画像を重畳しない。そして、そのようなVRシステムに本発明を適用する場合には、撮像画像取得部1030は無くても良い。
本発明は、上述の実施形態の1以上の機能を実現するコンピュータプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上記説明した実施形態は、本発明をより具体的に説明するためのものであり、本発明の範囲が、これらの例に限定されるものではない。

Claims (18)

  1. 仮想空間における複数の仮想物体の位置姿勢および形状情報を保持するデータ保持手段と、
    前記仮想空間において前記仮想物体を保持する被保持物体の位置姿勢および形状情報を取得する取得手段と、
    前記複数の前記仮想物体の位置姿勢および形状情報と、前記被保持物体の位置姿勢および形状情報とに基づいて、当該被保持物体によって保持されている仮想物体を干渉仮想物体として設定し、保持されていない仮想物体を被干渉仮想物体として設定する設定手段と、
    前記干渉仮想物体の位置姿勢および形状情報と、前記被干渉仮想物体の位置姿勢および形状情報とに基づいて、前記干渉仮想物体と前記被干渉仮想物体が干渉したか否かを判定する判定手段と、
    前記データ保持手段が保持する情報と前記判定手段の判定結果に基づいて前記仮想空間を生成する生成手段と、を有することを特徴とする、
    情報処理装置。
  2. 現実の空間を撮像した撮像画像を取得する画像撮像手段と、
    前記撮像画像と前記生成手段が生成した仮想空間に基づいて仮想空間画像を生成する画像生成手段と、
    前記撮像画像と前記仮想空間画像が重畳された画像を表示画面に表示する表示手段と、を有することを特徴とする、
    請求項1に記載の情報処理装置。
  3. 前記被保持物体は、前記仮想空間において前記仮想物体を保持するユーザの手であることを特徴とする、
    請求項1又は2に記載の情報処理装置。
  4. 前記判定手段が干渉したと判定した場合に当該干渉を通知する通知手段を有することを特徴とする、
    請求項1、2又は3に記載の情報処理装置。
  5. 前記干渉仮想物体に対して、被干渉仮想物体との間に所定の隙間量を確保できているか否かを確認するため領域を設定するマージン設定手段を有し、
    前記判定手段は、前記設定した領域と被干渉仮想物体が干渉したか否かを判定することを特徴とする、
    請求項1乃至4いずれか一項に記載の情報処理装置。
  6. 前記マージン設定手段は、前記仮想物体を保持している被保持物体を含めて前記干渉仮想物体とし、これに対して被干渉仮想物体との間に前記所定の隙間量を確保できているか否かを確認するため領域を設定することを特徴とする、
    請求項5に記載の情報処理装置。
  7. 前記生成手段は、前記マージン設定手段が設定した領域を仮想物体として前記仮想空間を生成することを特徴とする、
    請求項5又は6に記載の情報処理装置。
  8. 前記表示手段における視錐台を取得する取得手段を有し、
    前記判定手段は、前記干渉仮想物体が前記視錐台内に存在するか否かを判定し、
    前記マージン設定手段は、前記判定手段の判定結果に応じて前記領域を設定することを特徴とする、
    請求項5、6又は7に記載の情報処理装置。
  9. 前記情報処理装置において生成された前記仮想空間を当該装置とは異なる他の情報処理装置に向けて送信する送信手段と、
    前記他の情報処理装置において生成された仮想空間を仮想空間情報として取得する受信手段と、有し、
    前記生成手段は、前記仮想空間を生成する際に前記取得した仮想空間情報を反映させて当該仮想空間を生成することを特徴とする、
    請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記取得した仮想空間情報のうち、いずれの仮想空間情報を反映させるか選択する選択手段を有することを特徴とする、
    請求項9に記載の情報処理装置。
  11. 前記取得手段は、前記撮像画像から抽出される特徴情報に基づいて前記被保持物体の位置姿勢および形状情報を取得することを特徴とする。
    請求項2及至10のいずれか1項に記載の情報処理装置。
  12. 前記表示手段は、光学シースルー型の表示装置であることを特徴とする、
    請求項1及至11のいずれか1項に記載の情報処理装置。
  13. 前記表示手段は、ビデオシースルー型の表示装置であることを特徴とする、
    請求項1及至11のいずれか1項に記載の情報処理装置。
  14. 前記表示手段は、ユーザの頭部へ装着可能に構成された表示装置であることを特徴とする、
    請求項1及至13のいずれか1項に記載の情報処理装置。
  15. 情報処理装置の制御方法であって、
    仮想空間における複数の仮想物体の位置姿勢および形状情報を保持する工程と、
    前記仮想空間において前記仮想物体を保持する被保持物体の位置姿勢および形状情報を取得する工程と、
    前記複数の前記仮想物体の位置姿勢および形状情報と、前記被保持物体の位置姿勢および形状情報とに基づいて、当該被保持物体によって保持されている仮想物体を干渉仮想物体として設定し、保持されていない仮想物体を被干渉仮想物体として設定する工程と、
    前記干渉仮想物体の位置姿勢および形状情報と、前記被干渉仮想物体の位置姿勢および形状情報とに基づいて、前記干渉仮想物体と前記被干渉仮想物体が干渉したか否かを判定する工程と、
    前記複数の仮想物体の位置姿勢および形状情報と前記判定の結果に基づいて前記仮想空間を生成する工程と、を有することを特徴とする、
    情報処理装置の制御方法。
  16. 仮想空間における複数の仮想物体の位置姿勢および形状情報を保持するデータ保持手段と、
    前記仮想空間において前記仮想物体を保持する被保持物体の位置姿勢および形状情報を取得する取得手段と、
    前記複数の前記仮想物体の位置姿勢および形状情報と、前記被保持物体の位置姿勢および形状情報とに基づいて、当該被保持物体によって保持されている仮想物体を干渉仮想物体として設定し、保持されていない仮想物体を被干渉仮想物体として設定する設定手段と、
    前記干渉仮想物体の位置姿勢および形状情報と、前記被干渉仮想物体の位置姿勢および形状情報とに基づいて、前記干渉仮想物体と前記被干渉仮想物体が干渉したか否かを判定する判定手段と、
    前記データ保持手段が保持する情報と前記判定手段の判定結果に基づいて前記仮想空間を生成する生成手段と、を有することを特徴とする、
    情報処理装置。
  17. コンピュータを情報処理装置として動作させるためのコンピュータプログラムであって、
    前記コンピュータを、
    仮想空間における複数の仮想物体の位置姿勢および形状情報を保持するデータ保持手段、
    前記仮想空間において前記仮想物体を保持する被保持物体の位置姿勢および形状情報を取得する取得手段、
    前記複数の前記仮想物体の位置姿勢および形状情報と、前記被保持物体の位置姿勢および形状情報とに基づいて、当該被保持物体によって保持されている仮想物体を干渉仮想物体として設定し、保持されていない仮想物体を被干渉仮想物体として設定する設定手段、
    前記干渉仮想物体の位置姿勢および形状情報と、前記被干渉仮想物体の位置姿勢および形状情報とに基づいて、前記干渉仮想物体と前記被干渉仮想物体が干渉したか否かを判定する判定手段、
    前記データ保持手段が保持する情報と前記判定手段の判定結果に基づいて前記仮想空間を生成する生成手段、として機能させることを特徴とする、
    コンピュータプログラム。
  18. 請求項17に記載のコンピュータプログラムをコンピュータが読み取り可能に記憶した記憶媒体。
JP2017124802A 2017-06-27 2017-06-27 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体 Pending JP2019008623A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017124802A JP2019008623A (ja) 2017-06-27 2017-06-27 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
US16/015,067 US10614590B2 (en) 2017-06-27 2018-06-21 Apparatus for determination of interference between virtual objects, control method of the apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017124802A JP2019008623A (ja) 2017-06-27 2017-06-27 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体

Publications (1)

Publication Number Publication Date
JP2019008623A true JP2019008623A (ja) 2019-01-17

Family

ID=64693416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017124802A Pending JP2019008623A (ja) 2017-06-27 2017-06-27 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体

Country Status (2)

Country Link
US (1) US10614590B2 (ja)
JP (1) JP2019008623A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019157344A1 (en) 2018-02-12 2019-08-15 Avodah Labs, Inc. Real-time gesture recognition method and apparatus
US10289903B1 (en) * 2018-02-12 2019-05-14 Avodah Labs, Inc. Visual sign language translation training device and method
US10304208B1 (en) 2018-02-12 2019-05-28 Avodah Labs, Inc. Automated gesture identification using neural networks
US10489639B2 (en) 2018-02-12 2019-11-26 Avodah Labs, Inc. Automated sign language translation and communication using multiple input and output modalities
US10346198B1 (en) 2018-02-12 2019-07-09 Avodah Labs, Inc. Data processing architecture for improved data flow
US10664988B2 (en) 2018-06-28 2020-05-26 Intel Corporation Methods and apparatus to avoid collisions in shared physical spaces using universal mapping of virtual environments
USD912139S1 (en) 2019-01-28 2021-03-02 Avodah, Inc. Integrated dual display sensor
JPWO2021176861A1 (ja) * 2020-03-05 2021-09-10

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916550A (ja) * 1995-06-29 1997-01-17 Hitachi Ltd 組立工程設計支援方法及びその装置
JP2004105671A (ja) * 2002-09-16 2004-04-08 Genki Kk 空間位置共有システム、データ共有システム、ネットワークゲームシステム及びネットワークゲーム用クライアント
JP2007004713A (ja) * 2005-06-27 2007-01-11 Canon Inc 画像処理方法、画像処理装置
JP2013030125A (ja) * 2011-07-29 2013-02-07 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲームシステム
JP2015114905A (ja) * 2013-12-12 2015-06-22 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP6139720B1 (ja) * 2016-02-10 2017-05-31 株式会社ダイテック 設計支援プログラム、及び、設計支援装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4085691B2 (ja) 2002-05-17 2008-05-14 セイコーエプソン株式会社 画像処理装置
JP4756899B2 (ja) 2005-04-21 2011-08-24 キヤノン株式会社 情報処理装置、情報処理方法
JP4986543B2 (ja) * 2006-08-31 2012-07-25 キヤノン株式会社 情報処理方法、情報処理装置
JP4989383B2 (ja) * 2007-09-10 2012-08-01 キヤノン株式会社 情報処理装置、情報処理方法
KR102105637B1 (ko) * 2015-08-04 2020-06-26 구글 엘엘씨 가상 현실에서 오브젝트와 손의 상황 감지형 충돌을 통한 입력

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916550A (ja) * 1995-06-29 1997-01-17 Hitachi Ltd 組立工程設計支援方法及びその装置
JP2004105671A (ja) * 2002-09-16 2004-04-08 Genki Kk 空間位置共有システム、データ共有システム、ネットワークゲームシステム及びネットワークゲーム用クライアント
JP2007004713A (ja) * 2005-06-27 2007-01-11 Canon Inc 画像処理方法、画像処理装置
JP2013030125A (ja) * 2011-07-29 2013-02-07 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲームシステム
JP2015114905A (ja) * 2013-12-12 2015-06-22 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP6139720B1 (ja) * 2016-02-10 2017-05-31 株式会社ダイテック 設計支援プログラム、及び、設計支援装置

Also Published As

Publication number Publication date
US20180374236A1 (en) 2018-12-27
US10614590B2 (en) 2020-04-07

Similar Documents

Publication Publication Date Title
JP2019008623A (ja) 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
JP5936155B2 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
JP5871345B2 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
JP5843340B2 (ja) 3次元環境共有システム及び3次元環境共有方法
JP5824537B2 (ja) 情報処理装置および情報処理方法
JP5472056B2 (ja) 表示システム、表示処理装置、表示方法、および表示プログラム
JP5709440B2 (ja) 情報処理装置、情報処理方法
JP6619871B2 (ja) 媒介現実コンテンツの共有
JP7005224B2 (ja) 情報処理装置、システム、画像処理方法、コンピュータプログラム、及び記憶媒体
JP2015125641A (ja) 情報処理装置、その制御方法、及びプログラム
CN106980378B (zh) 虚拟显示方法和***
JP6409861B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2016122392A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2022058753A (ja) 情報処理装置、情報処理方法及びプログラム
JP2021135776A (ja) 情報処理装置、情報処理方法、およびプログラム
JP6295296B2 (ja) 複合システム及びターゲットマーカ
JP6726016B2 (ja) 情報処理装置、情報処理方法
JP2010205031A (ja) 入力位置特定方法、入力位置特定システムおよび入力位置特定用プログラム
JP4689344B2 (ja) 情報処理方法、情報処理装置
JP2006085375A (ja) 画像処理方法、画像処理装置
JP2019045997A (ja) 情報処理装置及びその方法、プログラム
JP2005251118A (ja) 画像処理方法、画像処理装置
JP2016058043A (ja) 情報処理装置、情報処理方法、プログラム
JP2021131490A (ja) 情報処理装置、情報処理方法、プログラム
JP2015121892A (ja) 画像処理装置、画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210520

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211012