JP7262973B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

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

Info

Publication number
JP7262973B2
JP7262973B2 JP2018205859A JP2018205859A JP7262973B2 JP 7262973 B2 JP7262973 B2 JP 7262973B2 JP 2018205859 A JP2018205859 A JP 2018205859A JP 2018205859 A JP2018205859 A JP 2018205859A JP 7262973 B2 JP7262973 B2 JP 7262973B2
Authority
JP
Japan
Prior art keywords
image
information processing
orientation
time
display
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
JP2018205859A
Other languages
English (en)
Other versions
JP2020071718A (ja
JP2020071718A5 (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.)
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 JP2018205859A priority Critical patent/JP7262973B2/ja
Priority to US16/666,150 priority patent/US11275434B2/en
Publication of JP2020071718A publication Critical patent/JP2020071718A/ja
Publication of JP2020071718A5 publication Critical patent/JP2020071718A5/ja
Application granted granted Critical
Publication of JP7262973B2 publication Critical patent/JP7262973B2/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/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/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
    • G06F3/012Head tracking input arrangements
    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • 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
    • 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
    • G06V40/11Hand-related biometrics; Hand pose recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/15Processing image signals for colour aspects of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0085Motion estimation from stereoscopic image signals

Description

本発明は、仮想現実感や複合現実感のシステムに関する。
設計・製造分野における試作工程の期間短縮、費用削減を目的として、仮想現実感(VR:Virtual Reality)や複合現実感(MR:Mixed Reality)システムが利用されている。これらのシステムではCAD(コンピュータ支援設計)システムで作成した設計(形状・デザイン)データを用いて、現実物を試作することなく、組み立てやすさやメンテナンス性を評価できる。これらのシステムではヘッドマウントディスプレイ(HMD:HEAD Mounted Display)が用いられる。HMDは頭部に直接装着することで視野全体を覆い、体験者の位置・姿勢に応じた視点からみた仮想現実感を体験できる映像を表示する。体験者が動くことによってHMDの位置や姿勢が変化した場合、HMDに表示する映像を生成する処理に時間がかかるため、HMDには体験者が動く前の映像が表示される。この際、体験者が想定する映像とは異なる映像が表示されることに起因して映像に対する違和感(体感的遅延による違和感)が生じる。そこで、特許文献1では、体感的遅延緩和を目的として、遅延時間の姿勢変化量に対応した量だけ、表示画像を画面内シフトする。
特開2004-109994号公報
特許文献1では、動体が現実空間に存在する場合でも動体がどちらの方向に動くか推定せずに、位置姿勢が急激に動く前の画像をシフトさせるだけである。そのため、HMDの位置姿勢の変化に伴って、動体が表示されるべき位置が移動する方向とは逆方向に、動体が表示されることがある。つまり、特許文献1に開示される方法は現実空間中の動体の動きを考慮していないため、動体を含む映像の遅延を緩和することができなかった。本発明は上記課題に鑑みてなされたものであり、シーン中に動体が存在する場合でもHMD装着者のHMDの急激な位置姿勢の変化が起きた時に、動体が表示されるべき位置に表示されないという違和感を低減することを目的とする。
上記課題を解決する本発明にかかる情報処理装置は、現実空間を撮像した第1画像を取得する撮像手段と、前記第1画像を用いて生成された第2画像を表示する表示手段とを備える画像表示装置に、前記第2画像を供給する情報処理装置であって、前記画像表示装置の位置または姿勢を計測した結果を取得する取得手段と、前記第1画像に含まれる特定の物体の前記撮像から表示までの処理における少なくとも一部の処理時間の経過後の位置を推定した結果に基づいて、前記第1画像中の前記推定結果に基づく位置に前記物体を描写した画像と前記第1画像とを合成した前記第2画像を生成する画像生成手段と、前記取得手段で取得した前記計測結果から、前記処理時間における、前記画像表示装置の位置または姿勢の変化量を求めて、前記表示手段に供給する前記第2画像を表示する位置を前記変化量に基づいてシフトする制御手段を有することを特徴とする。
本発明によれば、シーン中に動体が存在する場合でもHMD装着者のHMDの急激な位置姿勢の変化が起きた時に、動体が表示されるべき位置に表示されないという違和感を低減することができる。
仮想現実空間で発生しうる遅延した画像の表示例を示す図。 情報処理装置が生成する画像の表示例を示す図。 情報処理装置のハードウェア構成例を示すブロック図。 情報処理システムの機能構成例を示すブロック図。 情報処理装置が実行する処理を示すフローチャート。 動体モデル取得部1400が実行する処理を説明するフローチャート。 動体モデル推定部1460が実行する処理を説明するフローチャート。 遅延取得部1450が実行する処理を説明するフローチャート。 ポリゴン情報と重心位置の例を示す図。 予測移動ベクトルの算出方法の例を示す図。 ボーン推定結果の変化の例を示す図。 関節角度の変化と予測した関節角度の例を示す図。 撮像画像に写った動体に対する画像処理の例を示す図。 情報処理システムの機能構成例を示すブロック図。 情報処理装置が実行する処理を示すフローチャート。
(第1の実施形態)
以下、添付図面を参照して、本発明を適用した好適な実施形態に従って詳細に説明する。
ヘッドマウントディスプレイ(以下、HMD)は、両目用のディスプレイおよび両耳用のヘッドホンを内蔵する。ユーザはHMDを頭部に装着することにより、ディスプレイに表示される静止画や動画などを鑑賞し、ヘッドホンから出力される音声や音楽などを聴くことができる。本実施形態では特に複合現実システム(MRシステム)に用いられるHMDの例を説明する。このとき、HMDはHMD内の撮像部から取り込んだ現実空間の画像と仮想空間の画像とを合成し、複合現実感を体験できる映像としてHMD内の表示部に出力する。また、HMDに内蔵または外付けされたジャイロセンサーや加速度センサーなどによりHMDを装着したユーザの頭部の位置情報と頭部の回転角や傾きなどの姿勢情報を計測することができる。なお、姿勢情報とは、ジャイロセンサー等の姿勢センサーによってHMDの相対的な動きを計測した結果である。以下で記載する画像または映像は、情報処理装置で生成された画像の例である。生成された画像の一部またはすべてが、HMDを装着したユーザに提示される。本実施形態では、動体110を観察し、予測した位置に配置することで遅延を軽減する方法について説明する。本実施形態では、動体をステレオカメラによって観測し、得られた3次元の形状情報から3次元モデルを生成する例を説明する。なお、3次元モデルを使って説明を行うが、3次元モデルを使わずに、撮像画像から抽出される2次元の動体領域を予測した位置に表示する画像を生成してもよい。
まず現実空間において特定の物体(例えば動いている物体あるいは動く可能性がある物体)を含む映像の遅延が仮想現実空間で発生する例を図1で説明する。図1の(A)は、所定の時刻tにおける現実空間上におけるHMDと特定の物体(動体110)と静止物体120の位置関係を示している。ここで、特定の物体とは、動く可能性がある物体の代表としてHMD装着者の手であるとする。図1の(A)の状態から次の時刻t+Δtにおける位置関係を図1の(B)に示す。時間Δtは、情報処理装置がHMDに表示する画像を生成する所要時間であるとする(例えば100msec.)。図1(B)では、Δt秒間にHMDがΔΘだけ右に回転し、動体は静止物体120に対し、Δhだけ右側に移動している状態を示している。図1の(C)と(D)は、HMDの視点から見た時刻tおよび時刻t+Δtにおける遅延のない理想的な画像を示している。図1(E)は、仮想空間描画処理で遅延が発生している画像1020を示している。なお、物体130はCGモデルを現実空間に合わせて描写したCGである。画像1020は、時刻tにおける画像1000を画像処理した結果であるが、HMDの動きとは無関係に画像処理にかかった時間だけ遅延して表示されることになる。ここで、遅延のない図1(D)における動体の理想的な表示位置に対し、図1(E)は、矢印150の長さだけ水平方向にずれた位置に動体が描写される。この矢印の大きさに比例してHMD装着者は仮想空間の映像に体感的な違和感を生じさせうる。なお、図1(D)(E)(F)を貫く点線は、画像1000が見えていた視界を示しており、HMDの動きに従ってΔXだけずれて表示されることを示している。一方で、図1(F)は時刻tで生成した映像を、HMDの移動量ΔΘを加味した大きさΔXだけ画像の水平方向にシフトしたときの画像を示している。シフト量ΔXについては、まず、撮像時刻に近い時刻の姿勢と最新の姿勢との変化量を求める。さらに、この変化を、合成画像上における垂直方向と水平方向の画像シフト量に変換する。画像1030の黒で示した領域は、画像をシフトしたために撮像できていない領域が黒く表示される様子を示す。図1(F)の静止物体120の位置は、図1(D)の静止物体120の位置と比べてHMDの画面上で同じ位置に表示される。しかし、動体に関しては、矢印160の長さ分、実時間(時刻t+Δt)における動体の位置(図1(D)における動体の理想的な表示位置)とのズレが生じるため、そのぶん動体が遅延していると感じる。これは、Δt秒間で動いた動体の移動距離Δhを無視して、時刻tで得た撮像画像1000をΔXだけシフトしたために生じる。なお、図1(E)の画像をシフトする処理を含まない場合の動体の位置と、図1(D)の理想的な表示位置との差異である矢印150よりも、矢印160の方が長い。そのため、HMD装着者により一層の違和感を与える可能性がある。HMDが右回転し、装着者の手が右に平行移動するケースは一例である。すなわち、HMDの位置または姿勢の変化を考慮して画像を表示しても、特定の物体の動きが予測できず、また処理時間を更に要するために、HMD装着者にとって違和感のある映像を表示してしまう可能性がある。さらに、複合現実感を提供するためのビデオシースルー型のHMDでは、前述した表示映像の生成の前に、HMD搭載カメラで現実空間を撮像して露光する時間、画像情報を伝送する時間が加算される。すなわち、画像生成にかかる処理時間がさらに長くなり、HMDや動体の姿勢の変化による違和感がさらに増す可能性がある。
図2は、本実施形態の情報処理装置が実施する処理の概要を説明する模式図である。図2(A)および図2(B)は、図1(C)と図1(D)と同じ画像を示している。すなわち、図2の(A)の状態から次の時刻t+Δtにおける位置関係を図2の(B)に示す。時間Δtは、情報処理装置がHMDに表示する画像を生成する所要時間であるとする(例えば200msec.)。図2(B)では、Δt秒間にHMDがΔΘだけ右に回転し、動体は静止物体120に対し、Δhだけ右側に移動している状態を示している。図2(C)の画像2020は、図2(A)の画像2000における動体110を3次元モデル化した模式図である。図2(D)の画像2030は、3次元モデル化した動体111をHMDの動きに従って予測された3次元位置に描写し、背景となる画像2000と合成した画像である。画像2030は、画像2000を背景にしているため、静止物体120や部屋の奥の様子は画像2000から変化していない。画像2030において、動体111は、処理時間とHMDの動きに従って予測された位置に描写される。
図2(E)は、図2(D)の画像2030を特許文献1の手法で画像シフトしたときの画像2040を示している。図2(E)では、遅延のない理想的な図2(B)の画像2010に対して、静止物体120の位置と動体111の予測位置が画像上で近いことがわかる。このように、動体110も予測した画像を生成することにより、体験者に違和感の少ない映像を提示することができる。なお、動体110は所定の画像処理を実施しない限り画像2000の位置に写ることになる。
図3は、本実施形態の情報処理装置を実現するためのハードウェアを示す模式図である。CPU901は、RAM907やROM202に格納されているコンピュータプログラムやデータを使ってコンピュータ全体の制御を行う。また、CPUはそれと共に以下の各実施形態で情報処理装置が行うものとして説明する各処理を実行する。RAM907は、外部記憶装置906や記憶媒体ドライブ905からロードされたコンピュータプログラムやデータを一時的に記憶する。またRAM907は、外部から受信したデータを一時的に記憶するためのエリアを有する。更に、RAM907は、CPU901が各処理を実行する際に用いるワークエリアも有する。即ち、RAM907は、各種エリアを適宜提供することができる。また、ROM902には、コンピュータの設定データやブートプログラムなどが格納されている。キーボード909、マウス908は、操作入力装置の一例としてのものであり、コンピュータのユーザが操作することで、各種の指示をCPU901に対して入力することができる。表示部1950は、CRTや液晶画面などにより構成されており、CPU901による処理結果を画像や文字などで表示することができる。例えば、表示部1950には、撮像装置410によって撮像された現実空間の画像と仮想画像とを合成した合成画像を表示することができる。外部記憶装置906は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置906には、OS(オペレーティングシステム)や、情報処理装置が行う各処理をCPU901に実行させるためのプログラムやデータが格納されている。外部記憶装置906に保存されているコンピュータプログラムやデータは、CPU901による制御に従って適宜RAM907にロードされる。CPU901はこのロードされたプログラムやデータを用いて処理を実行することで、情報処理装置が行う各処理を実行することになる。記憶媒体ドライブ905は、CD-ROMやDVD-ROMなどの記憶媒体に記録されたプログラムやデータを読み出したり、係る記憶媒体にコンピュータプログラムやデータを書込んだりする。尚、外部記憶装置906に保存されているものとして説明したプログラムやデータの一部若しくは全部をこの記憶媒体に記録しておいても良い。記憶媒体ドライブ905が記憶媒体から読み出したコンピュータプログラムやデータは、外部記憶装置906やRAM907に対して出力される。I/F903は、撮像装置410を接続するためのアナログビデオポートあるいはIEEE1394等のデジタル入出力ポートにより構成される。I/F903を介して受信したデータは、RAM907や外部記憶装置906に入力される。バス910は、上述の各構成部をバス信号によって繋げるものである。
図4は、本実施形態における情報処理システム400の機能構成例を示すブロック図である。以下、各機能ブロックについて説明する。情報処理システム400は、HMD200と、HMD200に表示する画像を生成する情報処理装置100とを有する。HMD200は、撮像部1100と、表示部1950とを有する。HMD200と情報処理装置100の間の通信はUSBやIEEE1394、LANが選択可能であり、特定の通信方式に限定されるものではない。なお、HMD200に情報処理装置100が含まれる構成でもよい。
撮像部1100は、少なくとも撮像光学系と撮像センサーから構成され、現実空間を撮像する。本実施形態では、HMDの内部に搭載され、静止物体120と動体110を撮影するステレオカメラである。撮像部1100は1秒間に60回撮像を行い、1回の撮像が終了すると撮像光学補正部1200に撮像画像を送信する。撮像部1100は、画像と同時に撮像時刻も画像に対応付けて情報処理装置100に送信する。
表示部1950は、少なくとも表示パネルと表示光学系から構成され、表示画像補正部1900で補正された画像を提示する。
撮像画像補正部1200は、撮像部1100によって撮像された画像に対し、レンズ歪み補正処理を行う。補正処理により、レンズを通して撮像された画像の歪みを補正し、CG画像との整合性を高める。撮像画像補正部1200は、さらに補正した画像を合成画像生成部1800に、撮像時刻を遅延取得部1450に送信する。
姿勢取得部1300は、ジャイロセンサーや加速度計から構成され、HMDの姿勢情報を計測した結果を取得する。姿勢情報とは、ジャイロセンサー等の姿勢センサーによってHMDの相対的な動きを計測した結果である。ここで取得する姿勢情報は、特定の物体の位置を予測するのに用いる。姿勢取得部1300は、100Hz以上で姿勢データが取得でき、遅延が少ない姿勢センサーを使用することが好ましい。姿勢取得部1300は、計測した姿勢情報を遅延取得部1450と合成画像生成部1800に送信する。姿勢取得部1300は、現在計測できている最新の姿勢の計測時刻を遅延取得部1450に送信する。また、姿勢取得部1300は、現在計測できている最新の姿勢情報を合成画像生成部1800に送信する。また、姿勢取得部1300は、姿勢計測時刻と姿勢計測値を対応付けて保持しており、姿勢計測時刻を入力されると、対応する姿勢計測値を返す処理を行うものとする。
遅延取得部1450は、撮像画像補正部1200から撮像時刻、姿勢取得部1300から現在計測できている最新の姿勢情報の計測時刻(第1の時刻)を受け、撮像時刻と姿勢取得部の計測時刻(第2の時刻)との差分である遅延時間を取得する。この遅延時間は、動体モデル推定部1460に提示され、CG画像生成処理と合成処理の完了時刻に適した動体モデルの予測に使用される。遅延取得部1450は、CG画像生成部1700に入力する動体モデルを予測するために、CG画像生成が完了したあとで表示位置制御部1850が取得する最新の姿勢計測する時刻を予測する必要がある。しかし、動体モデル推定部1460によって予測する時点では、CG画像生成部1700が画像をレンダリングする処理に何msec時間を要し、どの時刻の姿勢計測値で背景画像を生成するのかは未知である。本実施形態では、予測するべき姿勢計測時刻を例えば、過去5フレーム蓄積した遅延時間の平均値とする。遅延時間の平均値を用いることにより、過去フレームの情報から現フレームの遅延時間を推定することができる。現フレームの遅延時間は、画像合成が終了したタイミングを合成画像生成部1800から通知を受けて、算出する。すなわち、現フレームで使用した撮像画像の撮像時刻と、合成画像を生成するために用いた姿勢取得部1300の姿勢計測時刻の差分を保存し、最新の5フレームにおける遅延時間の平均値を保持する。この遅延時間は、次のフレームの予測に使用する。
位置姿勢推定部1500は、CG画像を現実空間と対応させて重畳する為に用いるHMDの位置及び姿勢を推定する。位置姿勢情報とは、現実空間におけるHMDの絶対的な3次元の位置及び姿勢を示す。位置姿勢情報は、CG画像を現実空間と対応させて重畳する為に用いられる。位置及び姿勢を推定する手段は、現実空間におけるHMDの絶対位置と姿勢が観測可能な方法を用いる。例えば、計測対象に複数のマーカーを付けて、天井などに設置された複数のカメラからマーカーの情報を統合することで位置姿勢を計測する光学センサーなどを用いればよい。また、Simultaneous Localization And Mapping (SLAM)を用いた位置及び姿勢の推定手法が利用可能である。SLAMは、撮像画像に映った角点のような自然物の特徴を毎フレーム追跡することで現実空間における撮像装置の3次元位置姿勢情報を推定する技術である。光学センサー以外にも、HMDの撮像部1100の撮像画像に写るマーカーや画像特徴などを用いてHMDの位置姿勢を計測してもよい。ここで計測した位置及び姿勢を用いて、所定のCGモデルを所定の位置及び姿勢に描写したCG画像を生成する。なお、複合現実感の映像を作る場合に必要な構成である。
動体モデル取得部1400は、撮像画像に映る動体110の3次元形状を計測した結果に基づいて動体モデル(ポリゴン)を取得する。本実施形態では、動体110として図10に示す通り、HMD装着者の手を例示している。なお、本発明は、動体110をHMD装着者の手に限定するものではなく、別のHMD装着者の手や、モーションを計測するコントローラーなど空間を動く物体であれば適用可能である。検出した動体110の計測結果は、動体モデル推定部1460に送信する。本実施形態では、HMD装着者の手を計測する方法として、HMD搭載のステレオカメラから肌色領域の輪郭線をステレオマッチングして形状を推定する方法を用いる。
動体モデル推定部1460は、遅延取得部1450が過去の情報から算出した遅延時間を取得して、CG画像生成後の合成画像と合致した時刻の動体モデルの位置と形状を予測する。予測で求めた位置と形状は、CG画像生成部1700に送信し、モデルデータと共にレンダリングする。動体モデルの予測の方法は後述する。
モデルデータ記憶部1750は、現実空間あるいは仮想空間に表示させるCG画像を生成するための3次元のCGモデルのデータを格納する記憶部である。モデルデータ記憶部1750は、RAMや外部記憶装置などにより構成されている。
CG画像生成部1700は、モデルデータ記憶部1750から得たCG画像を生成するに必要な3次元CGモデルのデータ、位置姿勢推定部1500で得たHMDの位置姿勢、動体モデルの位置と形状に基づいてCG画像を生成する。生成したCG画像は、合成画像生成部1800に出力する。図2(D)において動体110は予測された位置に動体モデルが描写されることによって表現されている。一方で、図2(D)における、物体130はCGモデルデータに基づいて描写されたCGである。物体130は現実空間にある物体120の上に表示されるように、位置姿勢取得部1500から取得した空間における位置姿勢情報に基づいて位置合わせされている。
合成画像生成部1800は、撮像画像(第1画像)に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、撮像画像中の推定結果に基づく位置に特定の物体を描写したCG画像と撮像画像とを合成した合成画像(第2画像)を生成する。特定の物体は、ここでてはHMD装着者の手であるとする。また、合成画像生成部1800は、生成した画像は、表示画像補正部1900に送信する。合成画像生成部1800は、CG画像生成部1700からCG画像を受けて、撮像画像補正部1200から受信した撮像画像と合成する。
表示位置制御部1850は、S535で生成した合成画像を、撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、およびS540で計測した姿勢の変化(例えば図1(b)のΔΘ)に基づいてシフトする。合成後の画像は、CG画像を生成する前の画像であるため、そのまま体験者に提示すると遅延を体感させてしまう。この体感遅延を軽減するために、合成画像生成部1800は、画像合成が終了する時刻に近いタイミングでHMDの姿勢を計測し、撮像画像とCG画像を合成した画像を姿勢情報に基づいて画像シフトする。
表示画像補正部1900は、合成画像生成部1800で生成された合成画像を、HMDの表示光学系のレンズ歪みに合わせて画像を補正し、表示部1950に送信する。
図5は、本実施形態の情報処理装置が実行する処理の詳細を示すフローチャートである。以下、フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。以下、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。ただし、情報処理装置は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。
図5を用いて本実施形態の処理の概要を説明する。S500では、情報処理装置100が初期化を行う。S503では、撮像部1100が、現実空間において特定の物体を撮像した撮像画像(第1画像)の撮像が終了したかどうかを判定する。図2において、撮像画像(第1画像)は画像2000を指す。撮像画像が利用できるようになった場合は、S505に移行する。まだ撮像が終了していない場合は、再度S503に処理を戻して撮像完了を待つ。
S505では、撮像画像補正部1200が、現実空間を撮像した撮像画像(第1の画像)と撮像時刻を取得する。図2の画像2000が撮像画像に対応する。S510では、位置姿勢推定部1500が、撮像画像に基づいて、HMDの空間における絶対位置を合わせる為の位置姿勢情報を推定する。S515では、動体モデル取得部1400が、撮像画像から動体110の3次元形状を計測した結果を取得し、動体の3次元的な位置または形状を示す動体モデル(ポリゴン)を取得する。図2における画像2020は、画像2000から動体110を抽出した結果である動体モデル111を含む。S520では、動体モデル推定部1460が、遅延取得部1450から撮像した時刻(第1の時刻)を取得する。S525では、動体モデル推定部1460が、動体モデル取得部1500から動体110の位置と3次元形状を示す動体モデル111を取得し、所定の時間後における動体110の位置と3次元形状との少なくとも一方を推定する。所定の時間とは、撮像した時刻(第1の時刻)からHMDの位置または姿勢を計測する時刻(第2の時刻)の差分である。S530は、CG画像生成部1700が、所定の位置に事前に読み込んだ静止物体120のCGモデルデータと、動体モデル推定部1460で予測された動体モデルとをHMDの位置姿勢情報に基づいて描写したCG画像を生成する。ここでは、S510で取得されたHMDの位置姿勢情報に基づいて現実空間との位置が整合するように動体モデルを描写する。S535は、合成画像生成部1800が、第1画像に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、第1画像中の推定結果に基づく位置に、物体に相当する画像を重畳した第2画像を生成する。図2(D)では、動体モデル推定部1460で予測された位置に動体モデル111を画像2000(第1画像)に描写した画像2030を示している。すなわち、撮像画像(第1の画像)を背景に、CG画像が前景になるように合成した合成画像(第2の画像)を生成する。S540は、合成画像生成部1800が、姿勢取得部1300で計測した最新のHMDの姿勢情報を取得する。S545では、表示位置制御部1850が、撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および画像表示装置の位置または姿勢の変化量に基づいて、表示部に供給する合成画像(第2画像)を表示する位置をシフトする。図2(E)の画像2040は、画像2030をΔXだけシフトさせた様子を示す。S550では、表示画像補正部1900が、S545で生成した合成画像を表示光学系に適した画像に変換する。S565は、撮像画像補正部1200が、ユーザからの終了指示があるかどうかを判定し、終了指示がある場合は、処理を終了する。終了指示がない場合は、S503に処理を移す。
以下、図5を用いて本実施形態の処理の詳細を説明する。
S500では、情報処理装置401が初期化する。具体的には、CG画像生成部1700が、モデルデータ記憶部1750から3次元のCGモデルを示すデータを読み込む。ここで読み込まれた3次元CGモデルデータは、S530の3次元のCGモデルを所定の位置にCG画像を描写する時に利用される。
S503では、撮像部1100が、撮像画像の生成が終了したかどうかを判定する。撮像画像が利用できるようになった場合は、S505に移行する。まだ撮像が終了していない場合は、再度S503に処理を戻して撮像完了を待つ。
S505では、撮像画像補正部1200が、撮像画像と撮像時刻を取得する。ここでは撮像時刻をtと仮定する。また、撮像部はステレオカメラであって、得られる画像はステレオ画像であるとする。
S510では、位置姿勢情報取得部1500が、HMDの位置と姿勢のうち少なくとも姿勢情報を光学センサーから取得する。なお姿勢情報は、光学センサーに限らず、ジャイロセンサー、加速度センサー、角加速度センサーなどを適宜組み合わせた情報を取得してもよい。3軸地磁気センサー、3軸加速度センサーおよび3軸ジャイロ(角速度)センサーの少なくとも1つ以上を組み合わせたモーションセンサーを用いて、ユーザの頭部の3次元的な動きを検出してもよい。
S515では、動体モデル取得部1400が、撮像画像から動体110の領域を抽出し、動体110の形状を推定する。処理の詳細は後述する。
S520では、動体モデル推定部1460が、遅延取得部1450から遅延時間を取得する。
S525では、動体モデル推定部1460が、動体モデル取得部1500から動体110の位置と3次元形状を取得し、S520で取得した遅延時間に応じて、動体110の位置と3次元形状を推定する。処理の詳細は後述する。
S530は、CG画像生成部1700が、事前に読み込んだ仮想現実の物体130のCGモデルデータと、動体モデル推定部1460で予測された動体モデルのポリゴン情報とをHMDの位置姿勢情報に基づいて描画する。ここでは、S510で取得されたHMDの位置姿勢情報に基づいて現実空間との位置が整合するように動体モデルを描写する。また、CG画像生成部1700はモデルデータに基づいて現実空間の所定の位置に対応させて物体130を描写する。
S535は、合成画像生成部1800が、撮像画像とCG画像を合成する。撮像画像を背景に、CG画像が前景になるように合成する。
S540は、合成画像生成部1800が、姿勢取得部1300で計測した最新のHMDの姿勢情報を取得する。
S545では、表示位置制御部442が、撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および画像表示装置の位置または姿勢の変化量に基づいて、表示部に供給する合成画像(第2画像)を表示する位置をシフトする。すなわち、特許文献1に記載の方法と同じく、合成画像生成部1800が、撮像時刻に近い時刻の姿勢計測値を姿勢取得部1300から取得し、最新の姿勢計測値との姿勢の差を求める。さらに、この姿勢の差を、合成画像上における垂直方向と水平方向の画像シフト量に変換し、そのシフト量に応じて合成画像を画像シフトすればよい。
S550では、表示画像補正部1900が、S545で生成した合成画像を表示光学系に適した画像に変換する。本実施形態では、あらかじめ計測していた表示光学系に用いるレンズの歪みを打ち消すように、合成画像に逆の歪みを加えればよい。
S555では、表示位置制御部1850は、撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および画像表示装置の位置または姿勢の変化量に基づいて、表示部に供給する合成画像(第2画像)を表示する位置をシフトする。この制御を受けて、表示部1950がS550で生成した画像を表示パネルに映し、表示光学系を通じてHMD装着者に映像を提示する。
S560では、合成画像生成部1800が、次のフレームに利用する遅延時間を算出するため、遅延取得部1450に現フレームの遅延を含めた遅延時間の算出を要請する。遅延時間の算出の処理の詳細は後述する。
S565は、撮像画像補正部1200が、ユーザからの終了指示があるかどうかを判定し、終了指示がある場合は、処理を終了する。終了指示がない場合は、S503に処理を移す。
図6は、本実施形態における動体モデル取得部1400のS515の処理の詳細を示すフローチャートである。ここで撮像した画像から動体の領域を抽出し、動体の輪郭線をステレオマッチングすることによって動体モデルを取得する。
S600は、動体モデル取得部1400が、ステレオの撮像画像から肌色領域を抽出する。本実施形態では、あらかじめ肌色を撮像した時の肌色の領域のすべての色情報を記録しておき、テーブルに保持しておく。このとき色情報は、RGBの3原色の表現であってもよいし、YCbCrの輝度と色味情報で表現してもよい。次に、動体モデル取得部1400は、抽出した肌色領域から輪郭線を決定する。
S610は、動体モデル取得部1400が、抽出した動体110の輪郭線をステレオ画像でステレオマッチングし、動体110の3次元の輪郭線を生成する。3次元の輪郭線の生成は、ステレオ画像のうち1つの画像上の輪郭線上のサンプリング点に対応するエピポーラ線を、他方のステレオ画像に投影し、エピポーラ線と輪郭線が交わる点を対応点とする。この輪郭線上のサンプリング点を複数決定し、輪郭線上に複数の対応点を求める。輪郭線上にある複数の対応点を三角測量によって奥行を算出する。
S620は、動体モデル取得部1400が、S610で得られた複数の対応点に基づいて動体110の形状を表すポリゴン(動体モデル)を取得する。本実施形態では、複数の対応点のうち、点間の距離が近く、画像上の高さ(Y座標値)が近い対応点を3点選択して繋ぐことでポリゴン化すればよい。ただし、S600で抽出した肌色領域の外に生成されたポリゴンは破棄する。この処理によって、撮像画像から動体110である手を抽出して3次元空間のポリゴン情報を生成することができる。図11に輪郭線上の対応点からポリゴンを生成したときの模式図を示す。
図7は、本実施形態における動体モデル推定部1460のS525の処理の詳細を示すフローチャートである。
S710は、動体モデル推定部1460が、動体モデル取得部1400で得られたポリゴン情報から動体110のポリゴンの重心位置を取得する。重心位置は、ポリゴン頂点の3次元位置を平均すれば算出できる。図10にポリゴン情報からポリゴンの重心位置を求めたときの位置の模式図を示す。図10では、作図上2次元で示しているが、データでは3次元の点で定義される。ポリゴンの重心位置は、次フレーム以降でも利用するためにメモリ上に撮像時刻に対応付けて保持しておく。なお、本発明は、ポリゴンの重心位置を求めることに限定されるものではなく、動体110の予測をするための代表的な位置を決定できる方法であれば適用可能である。
S720は、動体モデル推定部1460が、過去1フレーム前のポリゴン重心位置をメモリから読み出し、現在のポリゴン重心位置から過去1フレーム前のポリゴン重心位置を引くことで、空間の移動ベクトル1720を取得する。図11の模式図では、現在のポリゴン重心1700と過去1フレーム前のポリゴン重心位置1710の位置関係を例示している。さらに、現在のフレームの撮像時刻と過去1フレームの撮像時刻の差からフレーム間の経過時間Tを算出し、移動ベクトル1700を経過時間Tで除算することにより、単位時間における速度ベクトルE(不図示)を求める。
S730は、動体モデル推定部1460が、S700で取得した遅延時間を速度ベクトルEに乗算することにより、動体110のポリゴン全体の頂点を移動するための予測移動ベクトル1730を取得する。
S740は、動体モデル推定部1460が、動体モデル取得部1400で得られたポリゴンの3次元頂点のすべてに対し、予測移動ベクトルを加算することによって動体の位置を推定する。この予測移動ベクトルの加算により、予測後の動体110の形状を生成することができる。
図8は、本実施形態における遅延取得部1450のS560の処理の詳細を示すフローチャートである。S800は、遅延取得部1450が、現在フレームの撮像時刻を取得する。
S810は、遅延取得部1450が、動体モデルの予測に利用した姿勢の計測時刻を姿勢取得部1300から取得する。
S820は、遅延取得部1450が、メモリから過去5フレーム分の遅延時間を取得し、現フレームの遅延時間も合わせて平均の遅延時間を算出する。
S830は、遅延取得部1450が、S820で算出した平均遅延時間をメモリに保存し、次のフレームの動体モデル推定部1460において動体110を予測するときに利用する。
以上の説明により、シーン中に動体が存在する場合でもHMD装着者のHMDの急激な位置姿勢の変化が起きた時に、動体が表示されるべき位置に表示されないという違和感を低減することができる。
なお、本実施形態では、所定時間後に動体がある予測位置に動体モデルを描写したCG画像と撮影画像とを合成した画像をシフトさせて表示する方法を示した。他の方法として、遅延時間に基づいてシフトさせた撮影画像と所定時間後に動体がある予測位置に動体モデルを描写したCG画像とを合成する。この場合、図5のフローチャートにおいて、S530とS535との間で、合成画像生成部1800が撮像画像(第1画像)を遅延時間に基づいてシフトさせる変換を行う。シフト処理された撮像画像と予測位置に描写されたCG画像とを合成した合成画像を、表示制御部1850は、表示位置を変更せずにそのまま表示するよう制御する。
(変形例1)
第1の実施形態では、動体モデル推定部1460が、動体モデル取得部1400で検出した手の3次元頂点を、予測移動ベクトルを加算し、平行移動させることで予測形状を生成した。
しかし、本発明は、上記のような平行移動で位置のみを予測することに限定されるものではなく、指の角度も予測してもよい。本変形例では、指の角度まで予測することにより、予測される手の形状の予測精度を高める方法を例示する。
本変形例を実現するために、第1の実施形態の構成を以下のように変更する。
動体モデル取得部1400では、HMD搭載のステレオカメラから、輪郭線の3次元形状をステレオマッチングによって求めた後、手の3次元形状に適合する手の指のボーン推定を行う。
手の指を含めたボーン推定には、例えば、Chen Qianの手法を用いればよい。すなわち、S620で求めた手のポリゴン情報から視点に対する奥行画像を生成し、奥行画像に適合する複数の球体を設定する。次に、球体の位置と過去のフレームにおける手のボーン形状を参照して、現フレームの各指のボーンを推定する。ボーンを推定した結果の模式図を図11の(a)に示す。図11(a)は、1つの関節に2つのボーンが接続されていることを示している。
推定した手の指のボーンから五指の関節における角度を求める。図11(a)に1つの関節における2つのボーンがなす角度を示している。なお、関節の部位は例えば、図11(a)に示すように、親指で2か所(点1810)、人差し指から小指までは各3か所を対象とすればよい。関節の角度は、例えば、2つのボーンのベクトルの内積を計算し、内積値をアークコサイン関数に入力することで算出すればよい。このとき2つのボーンのベクトルの長さはそれぞれ1とする。例えば、親指のベクトルは1830で示される。
次に、本変形例に係る動体モデル推定部1460では、予測移動ベクトルを算出して平行移動する処理に加えて、ボーン推定結果から求めた関節角度を前フレームで推定された関節角度との差分から、CG画像生成後の合成画像と合致した指の角度を予測する。例えば、現在のフレームにおける関節角度と前フレームの関節角度の差分角度を計算し、同じ回転方向に等角速度運動している前提において、予測した関節角度を求めればよい。図12(a)が前フレームにおける関節角度、図12(b)が現フレームの関節角度とすると、予測する関節角度は、図12(c)に示すような角度になる。
さらに、動体モデル推定部1460では、予測した指の角度を用いて、ポリゴン頂点を移動する。ポリゴン頂点の移動は、移動前のポリゴン頂点が移動前のボーン上で一番近い点Kを求め、移動後のボーンにおいて点Kの移動ベクトルを移動前のポリゴン頂点に加えればよい。
本変形例に係る処理の変更点について以下に示す。
S620のポリゴン化処理において、動体モデル取得部1400が、ポリゴンを生成する処理のあとに、公知の手法を用いてボーン推定を行えばよい。
S730の移動ベクトルの算出において、動体モデル推定部1460が、重心位置の移動を算出したあとに、前述した関節角度の予測処理を行い、予測した角度からボーンの姿勢を更新して、さらにポリゴン位置を更新すればよい。
以上のように、本変形例では、位置のみの予測だけではなく、関節角度も予測することによって、動体の可変部位についても、より精度の高い予測が適用可能であることを示した。
(変形例2)
第1の実施形態では、動体110の予測形状を生成し、予測した撮像画像と合成して提示したが、撮像画像に映る動体110の画像はそのまま提示される。図13の(A)のように、予測された動体の3次元モデル111と動体110の2つがHMD装着者に提示されるため、動体110を認識するHMD装着者が混乱する可能性がある。
本変形例では、動体110を予測した3次元形状111をHMD装着者により認識しやすくするために、撮像画像に映りこむ動体110に画像処理を行い、目立たなくする処理について説明する。
本変形例を実現するための構成及び処理は、以下を変更すればよい。
合成画像生成部1800が、S545において、S600で抽出した撮像画像の輪郭線から動体の領域を決定し、動体の領域に対して所定の画像処理を行う。
例えば、画像処理の例を図13に示す。図13(B)は、動体の領域に含まれる画素をガウシアンフィルタなどにより暈す処理を行った場合の表示画像である。図13(C)は、動体の領域に隣接する代表色を決定し領域内を塗りつぶす処理を行った場合の表示画像である。その他、領域内の画素の色をグレースケールに変換する処理などを用いればよい。すなわち、撮像画像(第1の画像)における肌色領域を所定の色(白や黒)に補完する。または、動体領域に対して透過処理を施しても良い。もちろん、複数の画像処理を組み合わせても適用可能である。
以上のように、本変形例を適用することで、HMD装着者が動体110の画像を認識しにくくなることで、動体の予測形状である3次元モデル111に集中させることでHMD装着者が感じる体感的違和感を軽減できる。
(第2の実施形態)
第1の実施形態では、複合現実感を提示するHMDを用いて説明した。しかし、本発明は、仮想現実感を提示するHMDに対しても適用可能である。仮想現実感を提示するHMDは、複合現実感を提示するHMDと比べて、撮像装置を備えず、すべての映像をCG映像で表現する点が異なる。なお、仮想現実システムの場合、図1及び図2の黒塗り領域にも仮想現実の画像を表示できる。
第1の実施形態では、自分の手の位置を認識するために、カメラ画像から手を抽出した上で、動体である手の現在位置を予測して提示することを例示した。しかし、本発明は、カメラ画像から抽出した手を予測することに限定されるものではない。例えば、3次元空間の位置姿勢が計測されているゲームコトントローラーなどを動体として扱い、ゲームコントローラーの現在の位置を予測して提示してもよい。
本実施形態では、仮想現実感を提示するHMDで体感的遅延緩和を実施する場合に、ゲームコントローラーを動体とした場合の、動体が表示されるべき位置に表示されないという違和感を低減する方法について説明する。
本実施形態における、情報処理システム401の機能構成例を示すブロック図を図14に示す。本実施形態を実現するために、第1の実施形態の構成を以下のように変更する。以下で説明を省略している箇所については、第1の実施形態と同じであるものとする。
HMD200には、HMDの位置と姿勢を計測するための計測部1970を追加する。計測部1970は位置姿勢センサーと姿勢センサーから構成される。
また、ゲームコトントローラー600を構成に加える。本実施形態では、ゲームコトントローラー600を体験者が手に持ち、仮想空間における自分の手の位置を動体CGモデルとして表示する。ゲームコントローラー600の位置姿勢に表示される動体CGモデルは、ゲームコントローラー600を持っている手の形状に似せたCGモデルであることが好ましい。ゲームコントローラー600には、ゲームコントローラー600自体の位置姿勢を計測するセンサーと、仮想空間内に配置されている操作対象物のCGモデルを操作するための操作ボタンから構成されている。
仮想空間システムでは、仮想空間のCG画像を生成する。ある時刻tで生成が開始され、時刻tの直前に計測されたHMDの位置姿勢情報に基づいて仮想現実空間のCG画像を第1CG画像と呼ぶ。この時刻tから、第1CG画像に基づいた画像の表示が行われる時刻との間(遅延時間)に、HMDとゲームコントローラー600に姿勢の変化があった場合、第1CG画像をそのまま表示すると体感的違和感が生じる場合がある。遅延時間に応じて動体の位置を予測してレンダリングした画像を第2CG画像と呼ぶ。また、第3CG画像は、CG画像を生成する間にゲームコントローラー600がどれくらい動くかを予測して、ゲームコントローラーに対応した動体モデルを描写したCG画像であるとする。
CG画像生成部2700は、位置姿勢取得部2300から得られたHMDの位置姿勢情報に基づいて、モデルデータ記憶部1750に格納されているCGモデルをレンダリングした第1CG画像(第3画像)を生成する。さらに、動体モデル推定部1460で推定された予測位置に動体のCGモデルを、第1CG画像にレンダリングした第2CG画像(第4画像)を生成する。もしくは、動体モデルを予測された位置や形状でレンダリングした第3CG画像と、第1CG画像(第3画像)とを合成した合成画像(第4画像)を生成してもよい。ただし、動体のCGモデルについては、動体モデル推定部1460で推定された位置や形状を入力し、3次元空間に反映させてからレンダリングする。このとき動体のCGモデルは、レンダリング後に実行される表示位置制御部1850の画像シフト処理で補正されることを考慮して、姿勢計測時刻に即した3次元位置や形状で描画される。すなわち、動体以外のCGモデルは、位置姿勢計測時刻をベースにレンダリングされ、動体のCGモデルは姿勢計測時刻をベースにレンダリングされることになる。
姿勢取得部1300は、HMD200の計測部1970の姿勢センサーから、CG画像生成部2700によって生成された第2CG画像を表示する直前に計測された、現在のHMD200の姿勢情報を取得する。姿勢情報には、HMD200の姿勢と姿勢計測時刻を含む。姿勢計測時刻は、遅延取得部1450と表示位置制御部1850に姿勢情報を出力する。なお、計測部1970の姿勢センサーは他の位置姿勢センサーよりも高速(例えば180Hz)なセンサーを用いて、姿勢情報を取得できる。
位置姿勢取得部2300は、HMD200の計測部1970の位置姿勢センサーから、CG画像生成部2700で第1CG画像(第3画像)を生成する直前に計測された、HMD200の位置姿勢情報を取得する。取得したHMD200の位置姿勢情報は、CG画像生成部2700に出力する。また、位置姿勢取得部2300は、ゲームコントローラー600の位置姿勢センサーから、CG画像生成部2700で第1CG画像(第3画像)を生成する直前に計測された、ゲームコントローラー600の位置姿勢情報を取得する。ゲームコントローラー600(動体)の位置姿勢情報は、動体の位置予測に利用される。ここで計測される位置姿勢情報は、仮想現実空間の座標系で表現される。
遅延取得部1450は、姿勢取得部1300から最新の姿勢計測時刻と、位置姿勢取得部2300から最新の位置姿勢計測時刻とから、動体の予測に必要な遅延時間を算出する。本実施形態では、遅延時間は、第1CG画像の生成を開始した直前に位置姿勢取得部2300が計測した位置姿勢計測時刻(第3時刻)と、第2CG画像を表示する直前に姿勢取得部1300が計測した時刻(第4時刻)との差である。第1の実施形態との違いは、遅延時間の算出に撮像時刻ではなく、位置姿勢計測時刻を用いる点である。CG画像生成部2700で動体以外のCGモデルを描画する場合は、HMD200の位置姿勢を使用してレンダリングするため、生成される映像は、位置姿勢計測時刻時点の映像となる。そのため、画像シフト補正で参照する姿勢計測時刻と位置姿勢計測時刻の差分が補正するべき遅延時間となる。遅延取得部1450は、CG画像生成部2700に入力する動体モデルを予測するために、姿勢計測時刻を予測する必要がある。しかし、動体モデル推定部1460によって予測する時点では、どの時刻の姿勢計測値でCG画像を生成するのかは未知である。本実施形態では、遅延時間を姿勢計測時刻と位置姿勢計測時刻の遅延時間を過去5フレーム蓄積した値の平均値を用いればよい。遅延時間の平均値を用いることにより、過去フレームの情報から現フレームの遅延時間を推定することができる。
動体モデル推定部1460は、遅延取得部1450が過去の情報から算出した遅延時間を取得して、姿勢計測時刻の動体モデルの位置と形状を予測する。予測で求めた位置と形状は、CG画像生成部2700に送信し、動体のCGモデルを他のモデルデータと共にレンダリングする。
表示位置制御部1850は、遅延時間(位置姿勢計測時刻と姿勢計測時刻の差分)と姿勢の変化量(位置姿勢計測時刻における姿勢値と現在の姿勢値の変化量)に基づいて、表示部に供給する第2CG画像(第4画像)を表示する位置をシフトする。
図15は、本実施形態の情報処理装置が実行する処理の詳細を示すフローチャートである。
本実施形態を実現するために、第1の実施形態の処理を以下のように変更する。以下で説明を省略している箇所については、第1の実施形態と同じであるものとする。
S1503は、CG画像生成部2700がHMD200に画像を出力する間隔を想定してCG画像の生成を開始するか否かを決定する。例えば、一般的な表示ディスプレイの表示間隔は60Hzであるため、1秒間に60回のタイミングでCG画像の生成の開始を指示する。
S1515からS1525では、動体モデル推定部1460がゲームコントローラー600の位置姿勢と、遅延取得部1450の遅延時刻から、姿勢計測時刻における動体モデルの位置と形状を予測する。
S1550では、表示位置制御部1850が、遅延時間と姿勢変化量に基づいて合成画像を表示する位置をシフトして表示部1950に表示制御する。
S1560では、表示位置制御部1850が、CG画像をシフトしたときの姿勢計測時刻と位置姿勢計測時刻との差分である遅延時間を記録して保持する。
以上の説明により、仮想現実感を提示するHMDに対しても本発明を適用することで、動体が表示されるべき位置に表示されないという違和感を低減することができることを示した。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
400 情報処理システム
100 情報処理装置
200 ヘッドマウントディスプレイ

Claims (11)

  1. 現実空間を撮像した第1画像を取得する撮像手段と、前記第1画像を用いて生成された第2画像を表示する表示手段とを備える画像表示装置に、前記第2画像を供給する情報処理装置であって、
    前記画像表示装置の位置または姿勢を計測した結果を取得する取得手段と、
    前記第1画像に含まれる特定の物体の前記撮像から表示までの処理における少なくとも一部の処理時間の経過後の位置を推定した結果に基づいて、前記第1画像中の前記推定結果に基づく位置に前記物体を描写した画像と前記第1画像とを合成した前記第2画像を生成する画像生成手段と、
    前記取得手段で取得した前記計測結果から、前記処理時間における、前記画像表示装置の位置または姿勢の変化量を求めて、前記表示手段に供給する前記第2画像を表示する位置を前記変化量に基づいてシフトする制御手段を有することを特徴とする情報処理装置。
  2. 前記処理時間は、撮像装置によって撮像を行う第1の時刻と、前記画像表示装置の位置または姿勢を計測する第2の時刻との差分であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記画像生成手段は、前記第1画像から前記物体を抽出した領域を、前記推定結果に基づく位置に描写した画像を生成することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記物体は手であって、
    前記画像生成手段は、前記第1画像における肌色領域から抽出された前記手を前記推定結果に基づく位置に描写した画像を生成することを特徴とする請求項3に記載の情報処理装置。
  5. 前記第1画像は、ステレオ画像であって、
    前記画像生成手段は、前記第1画像から抽出された前記物体の3次元の形状に基づいて、前記推定結果に基づく位置に前記物体を描写した画像を生成することを特徴とする請求項4に記載の情報処理装置。
  6. 前記第1画像はステレオ画像であって、
    前記画像生成手段は、前記第1画像から前記物体の3次元の形状を取得し、前記推定結果に基づく位置に前記物体を3次元で描写した画像を生成することを特徴とする請求項4に記載の情報処理装置。
  7. 前記撮像手段によって撮像された過去の画像に基づいて前記物体の動きを推定する推定手段をさらに有し、
    前記画像生成手段は、前記推定手段の推定結果を用いて前記物体を前記処理時間の経過後における前記物体の位置に描写した画像を生成することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  8. 前記物体は手であって、
    前記推定手段は、さらに前記手の指の関節角度を推定し、
    前記画像生成手段は、前記推定手段の推定結果に基づいて前記手の指を変化させた画像を生成することを特徴とする請求項に記載の情報処理装置。
  9. 前記画像表示装置は、ヘッドマウントディスプレイであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  10. コンピュータを、請求項1乃至のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  11. 現実空間を撮像した第1画像を取得する撮像手段と、前記第1画像を用いて生成された第2画像を表示する表示手段とを備える画像表示装置に、前記第2画像を供給する情報処理方法であって、
    前記画像表示装置の位置または姿勢を計測した結果を取得する取得工程と、
    前記第1画像に含まれる特定の物体の前記撮像から表示までの処理における少なくとも一部の処理時間の経過後の位置を推定した結果に基づいて、前記第1画像中の前記推定結果に基づく位置に前記物体を描写した画像と前記第1画像とを合成した前記第2画像を生成する画像生成工程と、
    前記取得工程で取得した前記計測結果から、前記処理時間における、前記画像表示装置の位置または姿勢の変化量を求めて、前記表示手段に供給する前記第2画像を表示する位置を前記変化量に基づいてシフトする制御工程と、を有することを特徴とする情報処理方法。
JP2018205859A 2018-10-31 2018-10-31 情報処理装置、情報処理方法及びプログラム Active JP7262973B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018205859A JP7262973B2 (ja) 2018-10-31 2018-10-31 情報処理装置、情報処理方法及びプログラム
US16/666,150 US11275434B2 (en) 2018-10-31 2019-10-28 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018205859A JP7262973B2 (ja) 2018-10-31 2018-10-31 情報処理装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2020071718A JP2020071718A (ja) 2020-05-07
JP2020071718A5 JP2020071718A5 (ja) 2021-12-09
JP7262973B2 true JP7262973B2 (ja) 2023-04-24

Family

ID=70326899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018205859A Active JP7262973B2 (ja) 2018-10-31 2018-10-31 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US11275434B2 (ja)
JP (1) JP7262973B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019117994A (ja) * 2017-12-27 2019-07-18 ソニー株式会社 情報処理装置、情報処理方法および情報処理システム
WO2024034336A1 (ja) * 2022-08-09 2024-02-15 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014141479A1 (ja) 2013-03-15 2014-09-18 株式会社日立製作所 遠隔操作システム
JP2015231106A (ja) 2014-06-04 2015-12-21 三菱電機株式会社 ヘッドマウントディスプレイ装置及びヘッドマウントディスプレイシステム
JP6342038B1 (ja) 2017-05-26 2018-06-13 株式会社コロプラ 仮想空間を提供するためのプログラム、当該プログラムを実行するための情報処理装置、および仮想空間を提供するための方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004109994A (ja) 2002-08-30 2004-04-08 Olympus Corp 頭部装着型画像表示システム装置及びその画像処理方法
JP4933406B2 (ja) * 2007-11-15 2012-05-16 キヤノン株式会社 画像処理装置、画像処理方法
JP5047090B2 (ja) * 2008-07-31 2012-10-10 キヤノン株式会社 システム
JP5414380B2 (ja) * 2009-06-23 2014-02-12 キヤノン株式会社 画像処理方法及び画像処理装置
JP5499762B2 (ja) * 2010-02-24 2014-05-21 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び画像処理システム
US9754415B2 (en) * 2014-03-27 2017-09-05 Microsoft Technology Licensing, Llc Display relative motion compensation
US10310675B2 (en) * 2014-08-25 2019-06-04 Canon Kabushiki Kaisha User interface apparatus and control method
KR102232517B1 (ko) * 2014-09-15 2021-03-26 삼성전자주식회사 이미지 촬영 방법 및 이미지 촬영 장치
JP2016082462A (ja) * 2014-10-20 2016-05-16 セイコーエプソン株式会社 頭部装着型表示装置およびその制御方法、並びにコンピュータープログラム
JP6723720B2 (ja) * 2015-10-20 2020-07-15 キヤノン株式会社 表示システム、情報処理方法及びプログラム
JP7013128B2 (ja) 2017-01-27 2022-01-31 キヤノン株式会社 画像表示装置、画像表示方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014141479A1 (ja) 2013-03-15 2014-09-18 株式会社日立製作所 遠隔操作システム
JP2015231106A (ja) 2014-06-04 2015-12-21 三菱電機株式会社 ヘッドマウントディスプレイ装置及びヘッドマウントディスプレイシステム
JP6342038B1 (ja) 2017-05-26 2018-06-13 株式会社コロプラ 仮想空間を提供するためのプログラム、当該プログラムを実行するための情報処理装置、および仮想空間を提供するための方法

Also Published As

Publication number Publication date
US11275434B2 (en) 2022-03-15
JP2020071718A (ja) 2020-05-07
US20200133388A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
US11796309B2 (en) Information processing apparatus, information processing method, and recording medium
RU2638776C1 (ru) Устройство генерирования изображения и способ
KR102136241B1 (ko) 표정 검출 성능을 갖는 머리-장착형 디스플레이
JP6860488B2 (ja) 複合現実システム
JP2019506015A (ja) ピクセル速度を用いた電子ディスプレイ安定化
CN110413105A (zh) 虚拟环境内的虚拟对象的有形可视化
JP7317024B2 (ja) 画像生成装置および画像生成方法
TWI701941B (zh) 圖像處理方法及裝置、電子設備及儲存介質
WO2017213070A1 (ja) 情報処理装置および方法、並びに記録媒体
JP2023501079A (ja) 共有人工現実環境における同じ場所での姿勢推定
JP7262973B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5731462B2 (ja) 映像コミュニケーションシステム及び映像コミュニケーション方法
KR20230072757A (ko) 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법
JP6775669B2 (ja) 情報処理装置
JP2018063567A (ja) 画像処理装置、画像処理方法およびプログラム
JP5759439B2 (ja) 映像コミュニケーションシステム及び映像コミュニケーション方法
JP2023093170A (ja) 携帯端末装置、および、そのプログラム
WO2018173205A1 (ja) 情報処理システム、その制御方法、及びプログラム
JP7175715B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7020115B2 (ja) Vr空間における自撮り装置、方法、およびプログラム
WO2020036114A1 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2023120217A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP7465133B2 (ja) 情報処理装置、情報処理方法
JP7044846B2 (ja) 情報処理装置
JP6890524B2 (ja) 姿勢制御システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221109

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: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230412

R151 Written notification of patent or utility model registration

Ref document number: 7262973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151