【文献】
田中 里奈,低信頼度の姿勢情報の置換による3DCGアバタの動作生成,情報処理学会 研究報告 グラフィクスとCAD(CG) 2014−CG−155,日本,情報処理学会,2014年06月21日,Vol.2014-CG-155 No.7,P.1-2
(58)【調査した分野】(Int.Cl.,DB名)
仮想世界上のユーザに相当するアバタの視点によるアバタ視点画像を、前記ユーザに提示する第1の提示画像として生成し、前記ユーザの動きを検出した検出結果に基づく前記ユーザの実姿勢と、前記アバタの姿勢との姿勢差が生じる場合、前記アバタ視点画像と異なる第2の提示画像を生成する画像生成部
を備え、
前記姿勢は、頭部位置と、方位角および仰角で表される視線方向とで定義され、
前記第2の提示画像は、前記アバタの姿勢の方位角または仰角の少なくとも一方を前記ユーザの実姿勢の値とした姿勢に対応する画像である
画像処理装置。
前記画像生成部は、前記ユーザの実姿勢と前記アバタの姿勢との姿勢差が第1の閾値以上である場合が所定回数または所定時間継続して発生したとき、前記アバタ視点画像と異なる第2の提示画像を生成する
請求項1に記載の画像処理装置。
前記画像生成部は、さらに、前記ユーザの実姿勢と前記アバタの姿勢との姿勢差が第2の閾値以内である場合、前記アバタ視点画像に徐々に近づくように、前記第2の提示画像を生成する
請求項1に記載の画像処理装置。
仮想世界上のユーザに相当するアバタの視点によるアバタ視点画像を、前記ユーザに提示する第1の提示画像として生成し、前記ユーザの動きを検出した検出結果に基づく前記ユーザの実姿勢と、前記アバタの姿勢との姿勢差が生じる場合、前記アバタ視点画像と異なる第2の提示画像を生成する画像生成部と、
前記第1の提示画像および前記第2の提示画像を表示する表示部と
を備え、
前記姿勢は、頭部位置と、方位角および仰角で表される視線方向とで定義され、
前記第2の提示画像は、前記アバタの姿勢の方位角または仰角の少なくとも一方を前記ユーザの実姿勢の値とした姿勢に対応する画像である
画像システム。
【発明を実施するための形態】
【0018】
以下、本技術を実施するための形態(以下、実施の形態という)について説明する。
【0019】
<画像システムの構成例>
図1は、本技術を適用した画像システムの一実施の形態の構成例を示している。
【0020】
図1の画像システム1は、ヘッドマウントディスプレイ11(以下、HMD11と記述する。)、画像処理装置12、および、コントローラ13により構成される。
【0021】
HMD11は、画像処理装置12で生成された、仮想世界上の画像を表示し、ユーザに提示する。画像処理装置12は、HMD11に表示させる画像を生成し、HMD11に供給する。コントローラ13は、複数の操作ボタン(不図示)を備え、ユーザの操作を受け付けて、ユーザの操作に応じた所定の指示を画像処理装置12に供給する。
【0022】
HMD11と画像処理装置12との間、画像処理装置12とコントローラ13との間は、例えばHDMI(登録商標)(High Definition Multimedia Interface)やMHL(Mobile High−definition Link)などの有線ケーブル、あるいは、Wi−Fi(Wireless Fidelity)、wirelessHDやMiracastのような無線通信により接続される。
【0023】
本実施の形態では、例えば、画像処理装置12は、
図2に示されるような画像を表示させる。
図2の画像は、HMD11を装着しているユーザをプレーヤとした1人称視点のボクシングゲーム(コンテンツ)の画像である。HMD11に表示される画像は、2D画像でもよし、ユーザの右眼に見せるための右眼用画像と、ユーザの左眼に見せるための左眼用画像を表示して、立体的に視認させる3D画像でもよい。
【0024】
以上のように構成される画像システム1において、画像処理装置12は、ユーザがHMD11に表示された画像を視認して仮想世界を体験している状態において、「VR酔い」等の不快感を軽減させるように画像を生成して、HMD11に表示させる。
【0025】
なお、HMD11、画像処理装置12、及び、コントローラ13は、必要に応じて合体されて、画像システム1が、1つまたは2つの装置で構成されてもよい。
【0026】
<画像システムの詳細構成例>
図3は、画像システム1の詳細構成例を示すブロック図である。
【0027】
HMD11は、センサ41と表示部42を備える。
【0028】
センサ41は、例えば、ジャイロ・センサ、加速度センサ、地磁気センサなどの1以上のセンサ素子の組み合わせで構成され、ユーザの頭部の位置及び方向を検出する。本実施の形態では、センサ41は、3軸ジャイロ・センサ、3軸加速度センサ、3軸地磁気センサの合計9軸を検出可能なセンサであるとする。センサ41は、検出した結果を画像処理装置12に供給する。
【0029】
表示部42は、例えば有機EL(Electro−Luminescence)素子や液晶ディスプレイなどで構成され、画像処理装置12から供給される画像信号に基づいて所定の画像を表示する。
【0030】
なお、HMD11には、音声出力を行うスピーカや、ユーザの音声を取得するマイクロホンなどがあってもよい。
【0031】
コントローラ13は、複数の操作ボタンを含む操作部81を備え、ユーザの操作を受け付けて、ユーザの操作に応じた所定の指示を画像処理装置12に供給する。
【0032】
画像処理装置12は、記憶部61と画像生成部62を少なくとも有し、画像生成部62は、アバタ動作制御部71、ユーザ姿勢検出部72、姿勢差算出部73、及び、提示画像生成部74により構成される。
【0033】
記憶部61は、例えば、ハードディスクや不揮発性のメモリなどで構成され、画像処理装置12の動作を制御するプログラムや、HMD11に画像を表示するためのコンテンツ(プログラム)などを記憶する。
【0034】
アバタ動作制御部71は、表示部42に表示される仮想世界上の画像(コンテンツ画像)においてユーザに相当するアバタの動作(姿勢)を制御する。アバタの動作(姿勢)の制御には、ユーザ姿勢検出部72によって検出される、ユーザの実際の姿勢(ユーザの実姿勢)も考慮される。アバタの動作は、例えば、表示部42に表示された仮想世界のコンテンツ画像において、ユーザが選択した動作や、ユーザが行ったアクション等によって変化する。
【0035】
アバタ動作制御部71は、例えば、
図2に示したボクシングゲームの対戦相手のように、表示部42に表示される画像にプレーヤ本人以外のアバタが登場する場合には、他人のアバタの動作(姿勢)も制御する。以下では、ユーザ本人のアバタと、他人のアバタを区別するため、他人のアバタを意味する場合は、他人アバタと称することとして、単にアバタと称する場合には、ユーザ本人のアバタを意味するものとする。
【0036】
ユーザ姿勢検出部72は、センサ41から供給される、ユーザの頭部の位置及び方向の検出結果に基づいて、ユーザの実姿勢を検出する。
【0037】
姿勢差算出部73は、アバタ動作制御部71によって決定されたアバタの姿勢と、ユーザ姿勢検出部72によって検出されたユーザの実姿勢との姿勢差を算出する。
【0038】
提示画像生成部74は、記憶部61から取得されたコンテンツの画像であって、ユーザに提示する提示画像を生成し、表示部42に供給する。提示画像は、アバタ動作制御部71によって決定されたユーザ本人のアバタと他人アバタの動作、ユーザ姿勢検出部72によって決定されたユーザの実姿勢、及び、姿勢差算出部73によって決定されたアバタの姿勢とユーザの実姿勢の姿勢差とに基づいて生成される。提示画像生成部74は、通常の場面では、ユーザの実姿勢にアバタの姿勢を合わせ、アバタの視点による画像がユーザに提示されるように提示画像(第1の提示画像)を生成するが、所定の条件下においては、「VR酔い」等のユーザの不快感を軽減させるため、アバタ視点の画像とは異なる画像を提示画像(第2の提示画像)として生成し、表示部42に表示させる。
【0039】
<提示画像の説明>
図4及び
図5を参照して、提示画像生成部74によって生成される提示画像についてさらに説明する。
【0040】
初めに、
図4を参照して、表示部42に表示されるコンテンツ内の仮想世界と、仮想世界上のアバタの姿勢を表現する座標系について説明する。
【0041】
図4のAに示されるように、表示部42に表示されるコンテンツ内の仮想世界をX軸、Y軸、及び、Z軸からなる3次元空間とすると、アバタの姿勢は、3次元位置(x,y,z)と2次元の方向(θ,φ)とからなる5つのパラメータ(x,y,z,θ,φ)で表現することができる。
【0042】
ここで、3次元位置(x,y,z)は、仮想世界上のアバタの頭部の位置に対応し、2次元の方向(θ,φ)は、仮想世界上のアバタの視線方向(頭部が向く方向)に対応する。方向θは、
図4のBに示されるように、XZ平面上の所定の基準軸(
図4のBの例ではZ軸)に対して視線方向がなす角であり、いわゆる方位角である。方向φは、
図4のCに示されるように、XZ平面に対して視線方向がなすY軸方向の角であり、いわゆる仰角である。したがって、本明細書における姿勢には、仮想世界上の頭部位置だけでなく、視線方向も含まれる。
【0043】
表示部42に表示されるコンテンツの仮想世界において、ユーザ姿勢pos
u、アバタ姿勢pos
a、及び、提示画像姿勢pos
vの3つの姿勢を以下のように定義する。
ユーザ姿勢pos
u=(x
u,y
u,z
u,θ
u,φ
u)
アバタ姿勢pos
a=(x
a,y
a,z
a,θ
a,φ
a)
提示画像姿勢pos
v=(x
v,y
v,z
v,θ
v,φ
v)
【0044】
ユーザ姿勢pos
uとは、センサ41から供給される検出結果によって決定されるユーザの実姿勢を仮想世界上に投影したものである。アバタ姿勢pos
aとは、アバタの姿勢を仮想世界上の座標で表現したものである。提示画像姿勢pos
vは、表示部42に表示される提示画像に対応する仮想の姿勢である。
【0045】
図5を参照して、ユーザ姿勢pos
u、アバタ姿勢pos
a、及び、提示画像姿勢pos
vの3つの姿勢について具体的に説明する。
【0046】
図2に示したボクシングゲームのコンテンツの例で説明する。
【0047】
例えば、通常の場面では、ユーザ姿勢検出部72によって検出されるユーザの実姿勢に応じてアバタの姿勢が制御されるので、アバタ姿勢pos
aとユーザ姿勢pos
uは同一となる。つまり、アバタ姿勢pos
a=ユーザ姿勢pos
uである。また、表示部42に表示される提示画像は、アバタの視点からの仮想世界の画像となるので、提示画像姿勢pos
v=アバタ姿勢pos
aである。
【0048】
したがって、「VR酔い」を軽減する特別な処理を行わない通常の場面では、
提示画像姿勢pos
v=アバタ姿勢pos
a=ユーザ姿勢pos
u
となる。
【0049】
次に、例として、対戦相手のパンチによって、アバタがダウンした(地面に倒れた)場面を想定する。
【0050】
実際のユーザは地面に倒れておらず、
図5の姿勢101のように立った姿勢であるとすると、ユーザ姿勢検出部72によって算出されるユーザ姿勢pos
u=(x
u,y
u,z
u,θ
u,φ
u)は姿勢101となる。
【0051】
一方、アバタ動作制御部71によって制御されるアバタ姿勢pos
a=(x
a,y
a,z
a,θ
a,φ
a)は、
図5に示される、地面に倒れた姿勢102となる。
【0052】
通常の場面では、上述したように、アバタの視点からの仮想世界の画像を提示画像とするが、アバタの急激な移動に合わせて提示画像を大きく変化させると、ユーザが「VR酔い」をおこすおそれがある。
【0053】
そこで、提示画像生成部74は、アバタ姿勢pos
a(
図5の姿勢102)に対応する画像ではなく、例えば、ユーザの実姿勢(
図5の姿勢101)に近い姿勢103に対応する画像111を提示画像として生成し、表示部42に表示させる。提示画像としての画像111は、アバタ姿勢pos
aに対応する画像よりも視界変化が緩やかな画像である。提示画像となる画像111に対応する姿勢103が、提示画像姿勢pos
v=(x
v,y
v,z
v,θ
v,φ
v)である。
【0054】
図5の例では、VR酔いを軽減する処理が施された場面では、提示画像姿勢pos
vは、アバタ姿勢pos
aとユーザ姿勢pos
uのいずれの姿勢とも異なるが、提示画像は、少なくとも通常場面の提示画像であるアバタ視点画像とは異なる画像であればよい。例えば、提示画像は、ユーザの実姿勢に対応する画像でもよい。
【0055】
<提示画像生成処理>
次に、
図6のフローチャートを参照して、画像処理装置12による提示画像生成処理について説明する。この処理は、例えば、HMD11の表示部42に所定のコンテンツ画像を表示させる操作が行われたとき開始される。
【0056】
初めに、ステップS1において、アバタ動作制御部71は、表示部42に表示される仮想世界におけるアバタの動作(アバタ姿勢pos
a)を決定する。また、仮想世界上にプレーヤ本人以外の他人アバタが登場する場合には、他人アバタの動作(姿勢)も決定する。ステップS1以降、アバタの動作の決定は、コンテンツの内容に従って常時実行される。
【0057】
ステップS2において、ユーザ姿勢検出部72は、センサ41から供給された、ユーザの頭部の位置及び方向を示すセンサ検出結果に基づいて、ユーザの実姿勢pos
uを検出する。センサ検出結果に基づくユーザの実姿勢pos
uの検出も、これ以降常時実行される。検出されたユーザの実姿勢pos
uはアバタ動作制御部71に供給され、アバタの動作(姿勢)が、ユーザの動作に合わせられる。
【0058】
ステップS3において、提示画像生成部74は、アバタの視点からの画像であるアバタ視点画像を提示画像として生成し、HMD11の表示部42に供給して表示させる。ここでの提示画像姿勢pos
vは、アバタ姿勢pos
a及びユーザ姿勢pos
uと等しくなる(提示画像姿勢pos
v=アバタ姿勢pos
a=ユーザ姿勢pos
u)。
【0059】
ステップS4において、姿勢差算出部73は、アバタ動作制御部71によって決定されたアバタ姿勢pos
aと、ユーザ姿勢検出部72によって検出されたユーザの実姿勢pos
uとの姿勢差を算出して、提示画像生成部74に供給する。
【0060】
ステップS5において、提示画像生成部74は、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が、予め決定された第1の範囲以上であるかを判定する。
【0061】
ここで、ステップS5における第1の範囲として、例えば、方位角θの閾値thres
θおよび、仰角φの閾値thres
φを設定し、以下の式(1)または式(2)のどちらかの条件を満たしたとき、提示画像生成部74は、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第1の範囲以上であると判定することができる。式(1)及び式(2)の|d|は、dの絶対値を表す。
|θ
a−θ
u|>thres
θ ・・・(1)
|φ
a−φ
u|>thres
φ ・・・(2)
【0062】
式(1)のthres
θは、方位角θの閾値であり、式(2)のthres
φは、仰角φの閾値である。閾値thres
θ及び閾値thres
φとしては、任意の値を設定することができるが、例えば、30度に設定することができる。この30度という数値は、平均的な人間は正面からずれた方向にある物体を見るときに30度以内であれば眼球のみを運動させることで視線方向を移動させるが、それ以上のずれた方向にある物体を見るときには自然と頭部の運動を行うという数値である。
【0063】
また、酔いを防止するための厳しい判定条件とする場合には、閾値thres
θ及び閾値thres
φは、1度に設定することができる。これは、ものの細部を注視するときに利用する中心窩と呼ばれる網膜中心部領域の範囲が、平均的な人間では約1度と言われることによる。閾値thres
θ及び閾値thres
φは、設定画面等を用いてユーザ所望の値に変更することができる。これらの閾値を変更することにより、酔い防止の程度を制御することができる。
【0064】
上述した判定条件は、主に頭部の向きを動かされたことを判定する条件となるが、アバタが身体全体を大きく移動させられるケースも加味する場合には、式(1)及び式(2)の条件に加えて、次の式(3)の条件を加えることができる。すなわち、式(1)乃至式(3)のいずれかの条件を満たしたとき、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第1の範囲以上であると判定する。
Δx
au>thres
x ・・・(3)
【0065】
式(3)におけるΔx
auは、ユーザの実姿勢pos
uの頭部位置(x
u,y
u,z
u)と、アバタ姿勢pos
aの頭部位置(x
a,y
a,z
a)との差分を表し、Δx
auとしては、式(4)の2次元ノルムや式(5)の1次元ノルムを採用することができる。thres
xは、Δx
auの閾値を表す。
【数1】
【0066】
その他のステップS5における判定条件としては、アバタの頭部位置の移動速度や視線方向の角速度を用いてもよい。具体的には、アバタの視線方向(θ
a,φ
a)の角速度をΔθ、Δφとし、アバタの頭部位置(x
a,y
a,z
a)の時間変化量(移動速度)をv
aとして、式(6)乃至式(8)のいずれかの条件を満たしたとき、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第1の範囲以上であると判定してもよい。
|Δθ
a−Δθ
a|>thres
Δθ ・・・(6)
|Δφ
a−Δφ
a|>thres
Δφ ・・・(7)
v
a>thres
v ・・・(8)
【0067】
さらに、ステップS5では、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第1の範囲以上であると判定される現象が1回発生しただけでなく、所定回数以上発生したとき、または、所定時間継続して発生したときに、姿勢差が第1の範囲以上であると判定するようにしてもよい。
【0068】
ステップS5で、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第1の範囲以上ではないと判定された場合、処理はステップS3に戻り、上述したステップS3乃至S5の処理が繰り返される。これにより、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第1の範囲より小さい場合には、アバタの視点からのアバタ視点画像が提示画像として表示され、提示画像姿勢pos
v=アバタ姿勢pos
aとなる。
【0069】
一方、ステップS5で、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第1の範囲以上であると判定された場合、処理はステップS6に進み、提示画像生成部74は、提示画像として「VR酔い」等の不快感を軽減させるための軽減処理画像を生成し、表示部42に供給して表示させる。
【0070】
提示画像生成部74は、軽減処理画像として、例えば、ユーザ姿勢pos
uに対応する画像を生成して表示させる。この場合、提示画像姿勢pos
vは、ユーザ姿勢pos
uとなる。
pos
v=(x
v,y
v,z
v,θ
v,φ
v)=(x
u,y
u,z
u,θ
u,φ
u)
【0071】
あるいはまた、提示画像生成部74は、軽減処理画像として、例えば、提示画像姿勢pos
vの頭部位置についてはアバタ姿勢pos
aの頭部位置とし、提示画像姿勢pos
vの視線方向についてはユーザ姿勢pos
uの視線方向とした画像を生成して表示させる。つまり、提示画像姿勢pos
vは、次のようになる。
pos
v=(x
v,y
v,z
v,θ
v,φ
v)=(x
a,y
a,z
a,θ
u,φ
u)
【0072】
あるいはまた、提示画像生成部74は、軽減処理画像として、例えば、提示画像姿勢pos
vの頭部位置と方位角θについてはアバタ姿勢pos
aの頭部位置と方位角θとし、提示画像姿勢pos
vの仰角φについてはユーザ姿勢pos
uの仰角φとした画像を生成して表示させる。つまり、提示画像姿勢pos
vは、次のようになる。
pos
v=(x
v,y
v,z
v,θ
v,φ
v)=(x
a,y
a,z
a,θ
a,φ
u)
これは、ユーザは、上下方向に意図せず視野を変更されるとより酔いやすいため、この方向にのみ、ユーザの視線方向を採用することを意味する。
【0073】
反対に、軽減処理画像として、例えば、提示画像姿勢pos
vの頭部位置と仰角φについてはアバタ姿勢pos
aの頭部位置と仰角φとし、提示画像姿勢pos
vの方位角θについてはユーザ姿勢pos
uの方位角θとした画像を生成して表示させてもよい。つまり、提示画像姿勢pos
vは、次のようになる。
pos
v=(x
v,y
v,z
v,θ
v,φ
v)=(x
a,y
a,z
a,θ
u,φ
a)
これは、方位角θにのみ、ユーザの視線方向を採用することを意味する。
【0074】
次に、ステップS7において、提示画像生成部74は、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が、予め決定された第2の範囲以内となったかを判定する。
【0075】
ステップS7で、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差がまだ第2の範囲以内となっていない、即ち、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第2の範囲より大きいと判定された場合、処理はステップS6に戻り、上述した処理が繰り返される。即ち、提示画像として軽減処理画像が継続して生成され、表示部42に表示される。
【0076】
一方、ステップS7で、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が第2の範囲以内となったと判定された場合、処理はステップS8に進み、提示画像生成部74は、軽減処理画像を、アバタ視点画像(アバタ姿勢pos
aに対応する画像)に徐々に近づくように生成し、表示部42に表示させる。ステップS8の処理後には、提示画像姿勢pos
v=アバタ姿勢pos
a=ユーザ姿勢pos
uとなる。
【0077】
このステップS8の処理である、提示画像(軽減処理画像)をアバタ視点画像に連続的に近づける提示画像姿勢pos
vの制御には、例えば、単純な線形運動や、ベジエなどの曲線運動、身体モデルに基づく幾何拘束が許す駆動範囲内の運動などによる計算を用いることができる。
【0078】
ステップS8の後、処理はステップS3に戻され、上述したステップS3乃至S8が、再び実行される。第1の範囲と第2の範囲の値は、同じ値としてもよいし、異なる値としてもよい。
【0079】
以上の処理が提示画像生成処理として実行される。
【0080】
以上のように、画像システム1による提示画像生成処理では、提示画像生成部74が、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が所定の閾値(第1の範囲)より小さい場合、アバタの視点によるアバタ視点画像(アバタ姿勢pos
aに対応する画像)を第1の提示画像として生成し、アバタ姿勢pos
aとユーザの実姿勢pos
uとの姿勢差が所定の閾値(第1の範囲)以上であり、アバタ姿勢pos
aとユーザの実姿勢pos
uとで一定以上の姿勢差が生じている場合、アバタ視点画像と異なる軽減処理画像を第2の提示画像として生成し、表示部42に表示させる。これにより、「VR酔い」等のユーザの不快感を軽減することができる。
【0081】
なお、上述したステップS6における軽減処理画像の生成では、仮想世界上のコンテンツ画像を用いて軽減処理画像を生成し、表示したが、例えば、画面全体が黒一色の黒画像(ブラックアウト画面)や、「酔い」を防止するために画面を変更中であることを説明する注意喚起画面など、表示中のコンテンツ画像と異なる画像を表示してもよい。
【0082】
この場合、ステップS8で実行される、アバタ視点画像に連続的に近づける処理では、例えば、黒画像とアバタ視点画像をアルファブレンディングするアルファブレンド処理等を用いて、アバタ視点画像に戻すことができる。
【0083】
アバタ視点画像をI
a、黒画像をI
bとすると、ステップS8における軽減処理画像I
uは、ブレンド率α(0≦α≦1)を用いて以下の式(9)で表される。
I
u=αI
a+(1−α)I
b ・・・(9)
【0084】
式(9)のブレンド率αを時間経過とともに0から1に連続的に変化させることで、黒画像から、元のアバタ視点画像に徐々に戻るように制御することができる。
【0085】
<仮想世界を複数ユーザで共有するコンテンツの例>
上述した例は、1人のユーザが仮想世界を体験する例であったが、複数のユーザで同一の仮想世界を共有して体験する場合もある。
【0086】
例えば、
図7に示されるように、一方のユーザ121AのHMD11に表示される仮想世界上(提示画像)には、他方のユーザ121Bのアバタ131Bが表示され、他方のユーザ121BのHMD11に表示される仮想世界上(提示画像)には、一方のユーザ121Aのアバタ131Aが表示されている場面があるとする。
【0087】
ユーザ121Aのアバタ131Aは、ユーザ121Aのセンサ検出結果に基づいて、仮想世界上を動作する。ユーザ121Bのアバタ131Bは、ユーザ121Bのセンサ検出結果に基づいて、仮想世界上を動作する。
【0088】
したがって、基本的には、アバタ131(131A、131B)は、ユーザ121(121A、121B)の動作と同じ動きをするが、コンテンツの設計として、ユーザ121の動作と一致しない動作を行わせることがある。
【0089】
例えば、ユーザ121Aのアバタ131Aに、ユーザ121Aがあいさつのお辞儀をさせる場面を考える。
【0090】
実際のユーザ121Aがお辞儀の動作をしてもよいが、ユーザ121Bには実際のユーザ121Aの姿は見えないので、ユーザ121Bが仮想世界上で見ているアバタ131Aにお辞儀動作をさせればよい。そこで、ユーザ121Aは、コントローラ13の操作や音声入力等により、アバタ131Aにお辞儀をさせる動作指示を行う。
【0091】
このような場面においては、上述したような、ユーザ姿勢pos
uとアバタ姿勢pos
aが異なる状況が発生するので、
図6で説明した提示画像生成処理が同様に適用できる。
【0092】
即ち、ユーザ121Aが操作ボタン等によりお辞儀動作を指示すると、ユーザ121Bが装着しているHMD11の表示部42に、ユーザ121Aのアバタ131Aがお辞儀動作を行う提示画像が表示される。ユーザ121Aのアバタ131Aがお辞儀動作を行うと、ユーザ121Aのアバタ姿勢pos
aと実姿勢pos
uとの姿勢差が第1の範囲以上となるので、
図6のステップS6の処理として、提示画像生成部74は、軽減処理画像を生成して、ユーザ121Aが装着しているHMD11の表示部42に表示させる。換言すれば、お辞儀動作を行うアバタ131Aの視点によるアバタ視点画像をユーザ121Aが装着しているHMD11の表示部42に表示すると、視界変化が大きく、「酔い」が発生するので、軽減処理画像に切り換えられる。
【0093】
そして、お辞儀動作が終了し、ユーザ121Aのアバタ姿勢pos
aと実姿勢pos
uとの姿勢差が第2の範囲以内となると、
図6のステップS8の処理として、提示画像のアバタ131Aのアバタ姿勢pos
aが、ユーザ121Aの実姿勢pos
uに徐々に近づくように制御される。
【0094】
ユーザ121が自分のアバタ131にどのような動作を行わせるかが選択可能な動作コマンドとなっている場合、動作コマンドごとに、軽減処理画像を提示するか否かが予め決定されており、指示された動作コマンドに応じて、予め用意された提示画像を表示させてもよい。これにより、ユーザの動きを検出した検出結果に基づくユーザの実姿勢pos
uと、アバタ姿勢pos
aとの姿勢差が生じる場合の動作コマンドに対して、アバタの視点画像と異なる画像を表示することにより、VR酔いを抑制することができる。
【0095】
<コンピュータの構成例>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0096】
図8は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0097】
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
【0098】
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、及びドライブ210が接続されている。
【0099】
入力部206は、キーボード、マウス、マイクロホンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体211を駆動する。
【0100】
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
【0101】
コンピュータでは、プログラムは、リムーバブル記録媒体211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
【0102】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0103】
フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
【0104】
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0105】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0106】
上述した実施の形態において、ユーザに提示する提示画像を表示する表示装置として、ヘッドマウントディスプレイ(HMD)の例を説明したが、画像システム1の表示装置としては、ヘッドアップディスプレイ(HUD)でもよいし、ドーム型(半球状)のディスプレイなどでもよい。ユーザの視野を覆うように映像を表示する表示装置であればよい。
【0107】
例えば、上述した実施の形態の一部を適宜組み合わせた形態を採用することができる。
【0108】
本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0109】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0110】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0111】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
【0112】
なお、本技術は以下のような構成も取ることができる。
(1)
仮想世界上のユーザに相当するアバタの視点によるアバタ視点画像を、前記ユーザに提示する第1の提示画像として生成し、前記ユーザの動きを検出した検出結果に基づく前記ユーザの実姿勢と、前記アバタの姿勢との姿勢差が生じる場合、前記アバタ視点画像と異なる第2の提示画像を生成する画像生成部
を備える画像処理装置。
(2)
前記姿勢は、頭部位置と視線方向とで定義され、
前記画像生成部は、前記ユーザの実姿勢と前記アバタの姿勢の方位角または仰角の差が第1の閾値以上である場合、前記アバタ視点画像と異なる第2の提示画像を生成する
前記(1)に記載の画像処理装置。
(3)
前記姿勢は、頭部位置と視線方向とで定義され、
前記画像生成部は、前記ユーザの実姿勢と前記アバタの姿勢の方位角若しくは仰角の差が第1の閾値以上であるか、または、前記ユーザの実姿勢と前記アバタの姿勢の頭部位置の差分が第1の閾値以上である場合、前記アバタ視点画像と異なる第2の提示画像を生成する
前記(1)に記載の画像処理装置。
(4)
前記第2の提示画像は、前記ユーザの姿勢に対応する画像である
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(5)
前記第2の提示画像は、前記アバタの姿勢の頭部位置と前記ユーザの姿勢の視線方向に対応する画像である
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(6)
前記第2の提示画像は、前記アバタの姿勢の頭部位置及び方位角と前記ユーザの姿勢の仰角に対応する画像である
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(7)
前記第2の提示画像は、前記アバタの姿勢の頭部位置及び仰角と前記ユーザの姿勢の方位角に対応する画像である
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(8)
前記画像生成部は、前記ユーザの実姿勢と前記アバタの姿勢との姿勢差が第1の閾値以上である場合が所定回数または所定時間継続して発生したとき、前記アバタ視点画像と異なる第2の提示画像を生成する
前記(1)乃至(7)のいずれかに記載の画像処理装置。
(9)
前記画像生成部は、さらに、前記ユーザの実姿勢と前記アバタの姿勢との姿勢差が第2の閾値以内である場合、前記アバタ視点画像に徐々に近づくように、前記第2の提示画像を生成する
前記(1)乃至(8)のいずれかに記載の画像処理装置。
(10)
前記ユーザに相当するアバタの動作を指示する操作部をさらに備え、
前記画像生成部は、前記操作部による指示を受けて前記アバタが動作することによって、前記ユーザの実姿勢と前記アバタの姿勢との姿勢差が生じる場合、前記アバタ視点画像と異なる第2の提示画像を生成する
前記(1)乃至(9)のいずれかに記載の画像処理装置。
(11)
画像処理装置が、
仮想世界上のユーザに相当するアバタの視点によるアバタ視点画像を、前記ユーザに提示する第1の提示画像として生成し、前記ユーザの動きを検出した検出結果に基づく前記ユーザの実姿勢と、前記アバタの姿勢との姿勢差が生じる場合、前記アバタ視点画像と異なる第2の提示画像を生成する
ステップを含む画像処理方法。
(12)
仮想世界上のユーザに相当するアバタの視点によるアバタ視点画像を、前記ユーザに提示する第1の提示画像として生成し、前記ユーザの動きを検出した検出結果に基づく前記ユーザの実姿勢と、前記アバタの姿勢との姿勢差が生じる場合、前記アバタ視点画像と異なる第2の提示画像を生成する画像生成部と、
前記第1の提示画像および前記第2の提示画像を表示する表示部と
を備える画像システム。