(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】端末及びプログラム
(51)【国際特許分類】
G06T 13/40 20110101AFI20240514BHJP
G06F 3/0346 20130101ALI20240514BHJP
G06F 3/01 20060101ALI20240514BHJP
G06F 3/04815 20220101ALI20240514BHJP
G06F 3/038 20130101ALI20240514BHJP
【FI】
G06T13/40
G06F3/0346 421
G06F3/01 570
G06F3/04815
G06F3/038 310A
(21)【出願番号】P 2021027135
(22)【出願日】2021-02-24
【審査請求日】2023-03-07
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】加藤 晴久
【審査官】渡部 幸和
(56)【参考文献】
【文献】米国特許出願公開第2010/0156781(US,A1)
【文献】特開2010-206307(JP,A)
【文献】特開2020-064426(JP,A)
【文献】米国特許第10244208(US,B1)
【文献】特開2014-110558(JP,A)
【文献】吉田 直人,外1名,ユーザ視点位置に応じた描画エージェントを用いた実空間内注視コミュニケーションの検証 Investigation of Spatial Gaze-communication Using Virtual Agent Based on Motion Parallax in Real Space,電子情報通信学会論文誌D VolumeJ99-D No.9 [online] ,日本,電子情報通信学会,2016年,第J99-D巻,p.915-925
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/00 - 19/20
G06F 3/01 - 3/04895
H04N 7/10
H04N 7/14 - 7/173
H04N 7/20 - 7/56
H04N 21/00 - 21/858
(57)【特許請求の範囲】
【請求項1】
自分側ユーザの頭部の位置を取得する認識部と、
相手側ユーザのアバタの注視方向が、前記自分側ユーザの頭部の位置を向くように、前記相手側ユーザのアバタを仮想空間内に描画する描画部と、
前記描画されたアバタを表示する提示部と、を備え
る端末であって、
前記端末の位置姿勢を測位する測位部をさらに備え、
前記認識部は、前記測位された端末の位置姿勢を基準とした相対的な位置として、前記自分側ユーザの頭部の位置を取得することを特徴とする端末。
【請求項2】
前記描画部で描画を行うための仮想空間は、前記測位された端末の位置姿勢に配置される仮想カメラを基準とすることを特徴とする請求項
1に記載の端末。
【請求項3】
自分側ユーザの頭部の位置を取得する認識部と、
相手側ユーザのアバタの注視方向が、前記自分側ユーザの頭部の位置を向くように、前記相手側ユーザのアバタを仮想空間内に描画する描画部と、
前記描画されたアバタを表示する提示部と、を備え
る端末であって、
前記描画部は、相手側ユーザより取得される当該相手側ユーザの各時刻での移動を反映させて移動させながら、前記相手側ユーザのアバタを仮想空間内に描画することを特徴とする端末。
【請求項4】
前記描画部は、描画を開始する初期時刻においては、前記相手側ユーザのアバタを仮想空間内の所定位置に描画することを特徴とする請求項
3に記載の端末。
【請求項5】
前記描画部は、前記相手側ユーザから取得される相手側ユーザの様子を反映して、前記アバタを描画することを特徴とする請求項1
ないし4のいずれかに記載の端末。
【請求項6】
前記描画される相手側ユーザの様子は、相手側ユーザの表情及び/又はポーズを含むことを特徴とする請求項
5に記載の端末。
【請求項7】
前記描画部は、自分側ユーザ及び/又は相手側ユーザの発話の有無に応じて、相手側ユーザのアバタの注視方向が自分側ユーザの頭部の位置を向く状態または向かない状態に切り替えて描画することを特徴とする請求項1ないし
6のいずれかに記載の端末。
【請求項8】
コンピュータを請求項1ないし
7のいずれかに記載の端末として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔コミュニケーション等に利用可能なアバタの描画を行う端末及びプログラムに関する。
【背景技術】
【0002】
遠隔でのコミュニケーションにおいて、視線を補正する遠隔会議システムが幾つか開示されている。
【0003】
特許文献1および非特許文献1は、事前にカメラ目線の画像を参照画像として保存しておき、利用時には利用者の目領域を切り抜き参照画像の目領域を合成する。特許文献2は、深度センサとカメラ画像を用いて利用者の顔のポリゴンを生成し視線が正面を向くようポリゴン全体を回転させる。特許文献3は、利用者の視線を検出し視線が正面を向く補正量を算出した上で深層学習のGAN(Generative Adversarial Network、敵対的生成ネットワーク)で利用者の視線が正面を向く画像を生成する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017―130046
【文献】特開2015―191537
【文献】特開2019―201360
【非特許文献】
【0005】
【文献】井上他、“テレビ会議話者間の視線一致知覚範囲を考慮した目領域画像合成型視線補正法,” PRMU-2015-119, 2016
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、以上のような従来技術には次の課題があった。
【0007】
特許文献1および非特許文献1は、参照画像を合成するため利用者とカメラとの位置関係を変更できないという課題がある。例えば、利用者がカメラの正面から移動した場合やカメラが傾いた場合、視線は一致しない。特許文献2は、ポリゴンを逐次生成する処理負荷が大きいという課題がある。特許文献3は、ポリゴンを生成しないことから特許文献2の課題の一部を解決する。しかし、深層学習で画像を生成する処理負荷が大きいという課題がある。
【0008】
また、特許文献2、3の手法はいずれも視線の方向を正確に検出することが困難であるという課題がある。仮に正確に検出できたとしてもサッカードなどの眼球運動があるため視線方向は安定しないという課題が残る。更に、特許文献2、3はいずれも通信相手がディスプレイの正面にいることが前提とされているため、通信相手がディスプレイの正面にいない場合、視線は一致しないという課題がある。
【0009】
上記従来技術の課題に鑑み、本発明は、アバタの注視方向を適切に制御して描画する端末及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明は端末であって、自分側ユーザの頭部の位置を取得する認識部と、相手側ユーザのアバタの注視方向が、前記自分側ユーザの頭部の位置を向くように、前記相手側ユーザのアバタを仮想空間内に描画する描画部と、前記描画されたアバタを表示する提示部と、を備えることを特徴とする。また、コンピュータを前記端末として機能させるプログラムであることを特徴とする。
【発明の効果】
【0011】
本発明によれば、相手側ユーザのアバタの注視方向を自分側ユーザの頭部の位置を向くようにして描画することで、当該アバタが自分側ユーザを注目しているものとして、アバタの注視方向を適切に制御して描画することができる。
【図面の簡単な説明】
【0012】
【
図1】一実施形態に係る通信システムの構成図である。
【
図2】一実施形態に係る第1端末及び第2端末の共通の構成を端末として示す機能ブロック図である。
【
図3】取得されるユーザ座標に紐づくユーザの顔の向きの例を示す図である。
【
図4】認識部で取得する相対座標Pu(t)と測位部で取得する端末座標Pv(t)とを模式的に説明するための図である。
【
図5】端末におけるハードウェア配置の例を模式的に示す図である。
【
図6】一実施形態に係る通信システムにおける各端末の機能ブロック図である。
【
図7】
図6の構成によって実現する遠隔コミュニケーションの模式例を示す図である。
【
図8】
図6の構成の通信システムの一実施形態に係る動作のフローチャートを示す図である。
【
図9】
図8のフローチャートの各ステップを、
図6の通信システム内での各部の情報の授受の観点からシーケンス図(下方向に時間進行を表す)として示すものである。
【
図10】第2描画部による第2描画情報G2(t)の描画の詳細を説明するための模式図である。
【
図11】一般的なコンピュータにおけるハードウェア構成を示す図である。
【発明を実施するための形態】
【0013】
図1は、一実施形態に係る通信システムの構成図である。通信システム100は、第1ユーザU1が利用する第1端末61と、第2ユーザU2が利用する第2端末62と、サーバ70とを備える。これら第1端末61、第2端末62及びサーバ70はインターネット等のネットワークNWを介して相互に通信可能とされ、第1ユーザU1と第2ユーザU2とは、それぞれ第1端末61及び第2端末62を利用してリアルタイムに描画される相手側のアバタを見ることで遠隔コミュニケーションを行うことができる。相手側のアバタを描画するために必要な情報は、サーバ70で中継して第1端末61及び第2端末62の間で送受信することができる。
【0014】
図2は、一実施形態に係る第1端末61及び第2端末62の共通の構成を端末6として示す機能ブロック図であり、端末6は記憶部1、認識部2、測位部3、描画部4及び提示部5を備える。
【0015】
記憶部1は、遠隔コミュニケーションを行う相手側ユーザのアバタ情報を格納し、このアバタ情報を描画部4へ出力する。アバタは描画されることによって視線を識別できるように頭部形状を含むものであればよく、胸像であってもよいし全身形状であってもよい。アバタは任意の人物モデルとして用意しておくことができ、相手側ユーザの顔等の実際の画像を用いて作成される実写アバタであってもよい。また、アバタはボーン(骨格)が設定され各部位のアニメーションを再生できるようなデータとして用意しておくことで、描画部4においてリアルタイムでのボーン座標やカメラ位置姿勢を反映して描画することができる。ブレンドシェイプによって滑らかな表情等を制御できるようにしてもよい。さらに、アバタは3次元モデルに限らず、パーツ分けした2次元イラスト等で構成することもできる。
【0016】
相手側のアバタは遠隔コミュニケーションの各回ごとに相手側の端末から受信して記憶部1に格納し、当該遠隔コミュニケーションにおいて描画部4で描画する対象として利用するようにしてもよい。
【0017】
認識部2は、ユーザ(遠隔コミュニケーションを行う相手側ではなく自分側)の座標・向きを認識し、認識結果としてのリアルタイムでの各時刻t(t=0,1,2,…)での相対座標としてのユーザ座標Pu(t)を描画部4へと出力する。このユーザ座標は、端末1の位置姿勢を基準とした相対座標であり、ユーザの頭部の位置姿勢を1点で表現するものであってもよいし、ユーザの骨格(頭部を少なくとも含む)の3次元座標の集合として与えられるものであってもよい。
【0018】
このユーザ座標Pu(t)の情報は、相手側ユーザから得られたものにおいて相手側ユーザのリアルタイムでの様子(顔の表情及び/又は体のポーズ等として現れる様子)をアバタに反映する際に、自分側ユーザから得られたものにおいて自分側ユーザの顔の位置を把握するものとして、後述する描画部4において利用される情報となる。
【0019】
認識部2を実現するハードウェアとしては、端末6がスマートフォン等の携帯端末で実現される場合に、携帯端末に標準装備されるカメラを利用できる。ユーザの身体などに装着したパッシブあるいはアクティブマーカーを併用することで認識精度を向上させても良い。認識には以下の非特許文献2のポーズ推定手法等の任意の既存手法を利用できる。
【0020】
非特許文献2:Adrian Bulat et al., “Toward fast and accurate human pose estimation via soft-gated skip connections,” ArXiv, 2002.11098v1, 2020.
【0021】
認識部2では上記のような任意の既存手法でユーザ座標Pu(t)を取得するが、このユーザ座標Pu(t)に含まれる位置(並進成分)の情報と姿勢(回転成分)の情報のうち、姿勢に関しては、認識したユーザの顔の向きを紐づけたものとして、このユーザ座標Pu(t)を取得する。
【0022】
図3は、取得されるユーザ座標Pu(t)に紐づくユーザの顔の向きの例を示す図である。この例では半球形状として模式的に示されるユーザの顔F(正面側の半分)について、正面方向をz軸(z=z(t))、左右水平方向をx軸(x=x(t))、上下鉛直方向をy軸(y=y(t))として、ユーザの顔Fの向き(姿勢)と各時刻tにおいて連動して移動するような3次元xyz直交座標系としてユーザ座標Pu(t)を取得することで、ユーザ座標Pu(t)の姿勢をユーザの顔Fの向きと紐づけて取得することができる。なお、ユーザ座標Pu(t)における位置も、
図3では例えばこのxyz直交座標系の原点O(t)の位置として取得することで、顔Fにおける所定位置(例えば視点に相当する位置)として予め定義しておくことができる。
【0023】
また、
図3のようなユーザ座標Pu(t)に紐づく顔の位置及び向きの情報は、認識部2において顔の複数の特徴点(例えば、目、鼻、口などにおいて定まる特徴点)の3次元空間座標を認識して取得し、これら複数の特徴点と顔の3次元骨格モデルとをフィッティングして定まる顔の3次元的な位置及び向きの情報として取得するものであってもよい。この顔の複数の特徴点は、描画するアバタに反映することでアバタの表情をユーザの表情と連動させるものであってもよい。
【0024】
なお、認識部2の別の一実施形態では、ユーザ座標Pu(t)を
図3に示すような位置(並進成分)及び姿勢(回転成分)の両方を含むものとしてではなく、1点または複数の点の位置のみを含むものとして取得することも可能である。(この際、複数の点(例えば顔の特徴点)の位置に対して上記フィッティング等を適用することで結果的に顔の向き(姿勢)が導出できる構成とすることも可能である。)
【0025】
測位部3は、端末1の座標・向きを測位し、測位結果としてのリアルタイムでの各時刻t(t=0,1,2,…)での端末座標Pv(t)を描画部4へ出力する。測位部3を実現するハードウェアとしては、端末1がスマートフォン等の携帯端末で実現される場合、携帯端末に標準装備されるGPS(全地球測位システム)、コンパス、ジャイロ、カメラによる既知座標の画像マッチングや無線局による三角測量等を利用できる。また、任意の組み合わせを用いることもできる。カメラによる測位は撮像画像の運動視差やステレオ視によるSLAM(自己位置推定及び環境地図作成の同時処理)等の既存手法を利用できる。あるいは、環境に配置した1台以上のカメラで構成し端末1に装着したパッシブあるいはアクティブマーカーを併用することで認識精度を向上させてもよい。
【0026】
図4は、以上の認識部2で取得する相対座標としてのユーザ座標Pu(t)と測位部3で取得する端末座標Pv(t)とを模式的に説明するための図であり、ユーザU(アバタではないユーザU自身)がスマートフォン等の携帯端末で構成される端末6を手に持っている状況を例として示している。図示されるように、端末座標Pv(t)は端末6の位置姿勢を表す座標として、ユーザUが存在する環境E(例えば部屋など)において固定的に定義される世界座標系W(xyz3次元直交座標系など)において与えられるものとして得ることができる。また、矢印Aで模式的に示されるように、相対座標Pu(t)はユーザUの頭部(顔)の位置姿勢の情報を少なくとも含むものとして、端末6を基準として定義される座標系(すなわち、端末座標Pv(t)の座標系)において与えられるものとして得ることができる。
【0027】
図5は、端末6におけるハードウェア配置の例を模式的に示す図であり、端末6がスマートフォン等の携帯端末であって略直方体状の筐体を有するものとして構成される場合に端末6を側面側から見た状態を示している。この例では端末6は、ディスプレイDと、このディスプレイDと同じ面に配置されるインカメラCinと、このディスプレイDとは反対側の面に配置されるアウトカメラCoutと、を備える。
【0028】
インカメラCinの撮像範囲は画角範囲Rinとして示され、ユーザUが端末6の正面側のディスプレイDを見ている際に、画角範囲Rin内にユーザUの顔を撮像することが可能である。一方、アウトカメラCoutの撮像範囲は画角範囲Routとして、インカメラCinの画角範囲Rinの反対側(端末6の裏面側)に位置している。
【0029】
認識部2を実現するハードウェアとして、ディスプレイDを正面から見るユーザUの顔を撮像可能な位置にあるインカメラCinを用い、測位部3を画像計測の手法で実現する場合にそのハードウェアとしてアウトカメラCoutを用いるようにしてもよい。また、認識部2及び/又は測位部3を実現するハードウェアをインカメラCinとしてもよい。また、認識部2及び/又は測位部3を実現するハードウェアを、端末6に対して撮像画像を送信可能に配置されている外部カメラCext(例えば、ユーザUが存在する部屋に設置されている監視カメラ等)としてもよい。
【0030】
また、後述する提示部5を実現するハードウェアとしては、端末6のディスプレイDを用いることができ、ユーザUはこのディスプレイD上にリアルタイムで描画される相手側のアバタを見てその様子を確認しながら、アバタを介して遠隔に存在する相手とコミュニケーションを行うことができる。
【0031】
描画部4は、(自)端末6の認識部2及び測位部3からそれぞれ得た自身のユーザ座標Pu(t)及び端末座標Pv(t)から自ユーザの顔の位置を仮想空間内に定め、この仮想空間内にコミュニケーション相手側のアバタを自ユーザの顔の位置を注視するようにして描画し、描画結果としてのリアルタイムの各時刻t(t=0,1,2,…)での描画情報G(t)を提示部5へと出力する。ここで、相手側のアバタを描画するための相手側のアバタの位置等に関しては、相手側の端末6の認識部2及び測位部3からそれぞれ得た相手側のユーザ座標Pu(t)及び端末座標Pv(t)を利用して定め、且つ、相手側のアバタの視線が自ユーザの顔の方を向くように制御して描画する。ここで、相手側のアバタのモデル情報(描画元データ)は前述したように記憶部1に格納されている情報を利用する。描画部4の処理の詳細についてはさらに後述する。
【0032】
提示部5は
図5を参照して説明したようにハードウェアとしてはディスプレイで構成され、描画部4から得た描画情報G(t)を表示することで、端末6のユーザに相手側のアバタを介したコミュニケーションを可能とさせる。
【0033】
以下、情報システム100の端末6の処理の詳細(特に描画部4の処理の詳細)に関してさらに説明する。
図6は、一実施形態に係る通信システム100における各端末6の機能ブロック図である。
【0034】
図7は、
図6の構成によって実現する遠隔コミュニケーションの模式例を示す図である。
図7に示されるように、第1端末61が第1アバタA1を描画される対象のコミュニケーション相手としての第1ユーザU1(相手側ユーザ)の利用する端末であり、第2端末62が当該描画される第1アバタA1を表示して当該第1アバタA1に対してコミュニケーションを行う第2ユーザU2(自分側ユーザ)の利用する端末である場合の機能構成が
図6である。ここで、相手側である第1ユーザU1は第1環境E1に存在し、自分側である第2ユーザU2は第1環境E1とは遠隔の別位置の第2環境E2に存在しており、第1ユーザU1について描画される第1アバタA1を介して第2ユーザU2は第1ユーザU1に対して遠隔コミュニケーションを行うことが可能となる。
【0035】
なお、
図6の構成は、アバタを介した遠隔コミュニケーションを双方向で行う場合における単方向の構成のみを抽出した構成である。第1ユーザU1と第2ユーザU2の役割を入れ替えた構成を
図6の構成に追加することによって双方向の遠隔コミュニケーションを行うことが可能となるが、説明の明確化の観点から以下では
図6,7に示される単方向コミュニケーションを行う場合の処理の詳細について説明する。
【0036】
図6に示されるように、第1端末61は第1認識部21及び第1測位部31を備え、これらはそれぞれ、対応する符号及び名称を付して対応関係を明示している通り、
図2の端末6が備える認識部2及び測位部3と同一である。また同様に、第2端末62は第2記憶部12、第2認識部22、第2測位部32、第2描画部42及び第2提示部52を備え、これらはそれぞれ、対応する符号及び名称を付して対応関係を明示している通り、
図2の端末6が備える記憶部1、認識部2、測位部3、描画部4及び提示部5と同一である。換言すれば、
図2の端末6のうち、第1アバタA1を描画される第1ユーザU1の立場での構成を示すのが
図6の第1端末61であり、この第1アバタA1を見て遠隔コミュニケーションを行う第2ユーザU2の立場での構成を示すのが
図6の第2端末62である。この関係を前提として、以下では
図2の端末6に関して既に説明済みの事項についての説明は簡略化し、アバタ描画の詳細に関して特に説明する。
【0037】
図8は、
図6の構成の通信システム100の一実施形態に係る動作のフローチャートを示す図であり、
図9は、
図8のフローチャートの各ステップを、
図6の通信システム100内での各部の情報の授受の観点からシーケンス図(下方向に時間進行を表す)として示すものである。すなわち、
図8と
図9とで共通に現れるステップS1~S4と、ステップS2,S3及びS4で構成される各時刻t(t=0,1,2,…)で共通に繰り返されるループ処理L(t)とは、
図8及び
図9において共通のものである。以下、
図8の各ステップを説明する。
【0038】
図8のフローは各時刻t=0,1,2,…においてループ処理L(t)が繰り返し実行されるものであり、説明の便宜上、当該フローを開始した初期時刻をt=0とし、ループ処理L(t)が繰り返されている任意の各現在時刻をtとする。当該フローが開始されると、ステップS1では初期時刻t=0での初期処理として、第2端末62において第2描画部42が第2記憶部12から相手側の第1ユーザU1の第1アバタA1のモデル情報を読み込んだうえで、ステップS2へと進む。
図2に関して説明したように、アバタのモデル情報の読み込みは、第1端末61の側から(
図6では不図示の第1記憶部11から)、あるいは、
図1に示すサーバ70等から読み込む等してもよい。
【0039】
ステップS2では、相手側である第1端末61において、第1認識部21が第1ユーザ座標Pu1(t)を取得し、第1測位部31が第1端末座標Pv1(t)を取得し、これら現在時刻tの第1ユーザ座標Pu1(t)及び第1端末座標Pv1(t)を自分側である第2端末62の第2描画部42へと送信してから、ステップS3へと進む。
【0040】
ステップS3では、自分側である第2端末62において、第2認識部22が第2ユーザ座標Pu2(t)を取得し、第2測位部32が第2端末座標Pv2(t)を取得し、これら現時刻tの第2ユーザ座標Pu2(t)及び第2端末座標Pv2(t)を自身の第2描画部42へと出力してから、ステップS4へと進む。
【0041】
なお、ステップS2,S3はフローチャート記載(及び
図9のシーケンス記載)の便宜上、この順番としているが、同時並行であっても逆であってもよく、各時刻tにおいてステップS4の前にステップS2,S3が完了していればよい。
【0042】
ステップS4では、自分側ユーザとしての第2ユーザU2の第2端末61の第2描画部42が、相手側ユーザである第1ユーザU1の第1アバタA1を現時刻tにおいて描画したものを第2描画情報G2(t)として第2提示部52へと出力し、現時刻tにおいて第2提示部52がこのアバタ描画結果としての第2描画情報G2(t)を第2ユーザU2に対して表示してから、ステップS5へと進む。このステップS4における第2描画部42の描画の詳細は、
図10を参照して後述する。
【0043】
ステップS5では現時刻tを次の現時刻t+1へと更新してからステップS2へと戻る。なお、
図8に示されている(
図9では示されない)このステップS5は、通信システム100においてループ処理L(t)を各時刻tにおいて繰り返すことを示すための時間進行を表す便宜上のステップであり、通信システム100の第1端末61及び第2端末62等においては共通の時計に従う各時刻tでリアルタイムに処理を行うためのタイミング管理処理として実現することができる。
【0044】
図10は、ステップS4での第2描画部42による第2描画情報G2(t)の描画の詳細を説明するための模式図である。
図10では、
図7で模式的に説明したのと共通の例を前提としている。すなわち、アバタを描画される相手側の第1ユーザU1が第1環境E1に存在し、このアバタを見る自分側の第2ユーザU2が第2環境E2に存在することを
図10でも前提としている。
【0045】
図10にて第1環境E1に示すように、第1ユーザU1の第1端末61では、(
図4の説明と同様にして)初期時刻t=0で第1端末座標P1v(0)及びこれに対する相対座標としての第1ユーザ座標P1u(0)によって絶対座標(第1環境E1内の所定の世界座標)での第1ユーザ座標P1u(0)が定まり、同様に、任意の各時刻tにおいても第1端末座標P1v(t)及び(相対座標及び絶対座標としての)第1ユーザ座標P1u(t)が定まる。
【0046】
すなわち、絶対座標としての第1ユーザ座標P1u(t)は、
図10内に示すように、第1ユーザU1の第1環境E1内での初期時刻t=0からの移動MV(t)(位置に関する並進成分及び向きに関する回転成分の両方による移動MV(t))を反映したものとして各時刻tにおいて取得されるものとなる。
【0047】
図10にて第2ユーザU2の存在する第2環境E2に位置する第2描画部42では、この移動MV(t)を反映して各時刻tで移動するものとして、仮想空間V2内に第1ユーザU1の第1アバタA1(t)を描画する。具体的には、以下の第1~3規則で描画することができる。
【0048】
(第1規則) 初期時刻t=0においては仮想空間V2内に予め定義される所定の初期位置姿勢P(0)にあるものとして第1アバタA1(0)を描画する。
【0049】
(第2規則) 初期時刻t=0以降の任意の各時刻t(t=0も含む)では、この初期位置姿勢P(0)に対して移動MV(t)を反映して(並進成分及び回転成分に関して)変位させた位置姿勢P(t)にあるものとして描画する。
【0050】
(第3規則) 初期時刻t=0以降の任意の各時刻t(t=0も含む)では、上記求めた位置姿勢P(t)の位置にアバタ(アバタの顔)が存在し、アバタの視線方向D(t)が、位置姿勢P(t)の位置から第2ユーザU2の顔の位置P2u(t)(端末位置P2v(t)を基準として算出される絶対座標としての位置P2u(t))を向くように、描画する。
【0051】
すなわち、仮に規則3を省略して規則1,2のみを用いて位置姿勢P(t)の位置にアバタの顔が存在し、位置姿勢P(t)の向きにアバタの視線が向いているものとして描画した場合を考えると、
図3でz=z(t)軸の方向にユーザの顔Fが向くものとして説明したように、描画される相手側アバタはユーザの顔Fの位置姿勢をリアルタイムで反映して仮想空間内に描画されるが、この相手側アバタの視線の向きが自分側ユーザの方を向くように振舞うことは全く保証されない。
【0052】
一方、本実施形態においては、規則3を適用することで、視線方向D(t)をいわば強制的に課すことにより、相手側アバタの視線方向が任意の時刻tにおいて常に、自分側ユーザの顔(頭部位置)の方に向くようにして、仮想空間V2内に描画することが可能となる。すなわち、位置姿勢P(t)における位置情報はアバタの顔を描画する位置として利用するが、姿勢情報に関しては位置姿勢P(t)における姿勢の方向ではなく、視線方向D(t)でいわば上書きしたものを、アバタの顔の視線方向として用いて描画することにより、アバタの視線が常に自分側に向くようにすることが可能となる。なお、視線方向D(t)を課されるのは相手側ユーザのアバタであり、自分側ユーザの視線方向は自由に動きうることとなる。例えば
図10の状況では自分側ユーザU2と相手側ユーザのアバタA1(t)とが顔の正面で互いに向き合っているが、この状況から変化して自分側ユーザU2がディスプレイとは逆の向きを見たとすると、相手側ユーザのアバタA1(t)は視線方向D(t)を課されることにより自分側ユーザの頭部位置として後頭部を眺め続けることとなる。
【0053】
なお、相手側ユーザのアバタの位置姿勢P(t)は後述する式(1)で計算できるが、相手側ユーザのユーザ座標P1u(t)に関して、位置情報のみとして取得されており、顔の向きに相当する姿勢情報が含まれないものとして取得されている場合には、そもそも相手側ユーザ(及びこれと連動する相手側ユーザのアバタ)の顔の向きの情報(上記の上書きの対象となる情報)が存在しないため、この顔の向きを上記の視線方向D(t)として与えて、相手側ユーザのアバタを描画すればよい。
【0054】
なお、第3規則で位置姿勢P(t)を上書きするのは視線方向D(t)のみであり、第2ユーザU2について顔の特徴点や全身のボーン座標を第2ユーザ座標P2u(t)として取得している場合、顔の特徴点における相対的な分布に応じて描画される表情や、ボーン座標によって描画される体(頭部を除く)のポーズは、上書きすることなくそのまま描画すればよい。(後述するように例えばポーズに関しては、視線方向D(t)に応じて補正を加えて描画してもよい。)
【0055】
以下、第2描画部42によるアバタの描画に関連して種々の補足的説明を行う。
【0056】
<1> 相対座標としてのユーザ座標Pu(t)を、端末座標Pv(t)を基準とした絶対座標としてのユーザ座標へと変換するためには、これらを合成すればよい。座標を同次座標系で表現するものとすると、以下のように積を取ることで変換することができる。(第1ユーザU1及び第2ユーザU2のユーザ座標P1u(t),P2u(t)に関して共通に、以下で合成することができる。)
Pu(t)[絶対]=Pu(t)[相対]*Pv(t)
【0057】
<2> 初期位置姿勢P(0)に移動MV(t)を反映した位置姿勢P(t)を得るためには、座標を同次座標系で表現するものとして、
図10中にも示されるように以下の式(1)で計算することができる。すなわち、移動MV(t)は、上記の絶対座標の初期時刻t=0からの変分として得ることができ、初期位置姿勢P(0)に加算することで仮想空間V2内での位置姿勢P(t)を得ることができる。なお、初期位置姿勢P(0)を第1規則において与えた際に、仮想空間V2内においてアバタの位置のみでなくその姿勢(向き)の初期値も定まっている。
P(t)=P1u(t)*P1v(t)-P1u(0)*P1v(0)+P(0)
=MV(t)+P(0) …(1)
【0058】
<3> 仮想空間V2は、第2測位部32をハードウェアとして構成するカメラ(例えば
図5のインカメラCin)の位置姿勢である、絶対座標としての第2端末座標P2v(t)に仮想カメラが配置されているものとして、第2提示部52をハードウェアとして構成するディスプレイ(例えば
図5のディスプレイD)に描画すればよい。このため、
図5に示したようなインカメラCinとディスプレイDとの空間的な位置関係の情報を既知情報として利用すればよい。また、仮想空間V2は、第2ユーザU2が存在する現実空間としての環境E2に対する拡張現実表示を実現するように、例えば仮想空間V2の地面と環境E2の地面が一致するように描画してよい。当該描画には既存の3次元コンピュータグラフィックスや拡張現実表示の手法を用いればよく、例えば環境E2の地面の情報は、第2測位部32の測位をSLAMによって実現することで第2端末座標P2v(t)に紐づけて取得することができる。(なお、当該描画が成立するように、第1規則における初期位置姿勢P(0)を与えるようにすればよい。)この場合、環境E2内にあたかも相手側ユーザU1の第1アバタA1(t)が実在しており、相手側ユーザU1の移動に応じてそのアバタA1(t)も地面上を例えば歩いて移動するようにさせて、仮想空間V2を描画することができる。
【0059】
<4> 視線方向D(t)は、
図10にも示されるように、仮想空間V2内において、アバタの顔の位置P(t)を視点として、自ユーザの顔の位置P2u(t)(相対座標として仮想空間V2内に定義される位置)を終点とするベクトルの向きとして求めることができる。
【0060】
<5> 視線方向D(t)を向くアバタの描画には、以下の非特許文献3等の任意の既存手法を用いてよい。第2ユーザ座標P2u(t)に目の座標が含まれている場合は当該座標を注視点に設定することが望ましい。この場合、第1ユーザU1の第1アバタA1が第2ユーザU2を注視する効果が得られる。また、各ユーザU1,U2、第1端末61、第2端末62の全て若しくは一部の組み合わせが時刻tに伴って移動しても常に視線を合わせられる効果が得られる。さらに、位置関係によって視線だけでなく顔や体幹を含め注視に適した体勢を描画することで臨場感を高める効果が得られる。
【0061】
非特許文献3:Andreas Aristidou et al., “FABRIK: A fast, iterative solver for the Inverse Kinematics problem,” Graphical Model, Vol. 73, No. 5, pp. 243-260, 2011
【0062】
<6> 視線方向D(t)(すなわち注視方向)を描画するアバタに反映する際は、所定規則により、アバタの顔の向き及び/又は目の位置(白目(結膜)領域内での黒目(角膜)の位置)として反映すればよい。例えば、アバタの目の位置は常に正面(中心位置)に固定しておき、アバタの顔の向きのみを変化させることで視線方向D(t)を反映させてもよいし、逆に、アバタの顔の向きは提示部5(第2提示部52)を構成するディスプレイDに対して常に正面に固定しておき、目の位置のみを変化させることで視線方向D(t)を反映させてもよいし、これら両者を所定規則で組み合わせるようにしてもよい。例えば、ユーザ座標Pu(t)で顔の向き(
図3のz(t)の方向)の情報も含めて取得しておき、アバタの顔の向きは当該ユーザ座標P2u(t)における顔の向きに一致させ、アバタの目の位置を視線方向D(t)で与えるようにしてもよい。
【0063】
<7> アバタに関して、頭部以外もモデルが定義されている場合、頭部以外の部分の向きも視線方向D(t)に整合させて描画するようにしてもよい。例えば、ユーザ座標Pu(t)として全身のボーン座標が取得されている場合で、この座標から得られる胴体(胸部)の正面の向きBD(t)が視線方向D(t)と閾値以上乖離してしまう場合、(例えば、視線方向D(t)と胴体方向BD(t)とが180°逆に向いてしまう場合、)ユーザ座標Pu(t)をそのまま用いて頭部以外の部分を描画し、視線方向D(t)で顔の向きを定めて描画することによってアバタを描画すると、アバタの描画結果が人物の関節可動域を逸脱したものとなり不自然となることがありうる。従って、胴体方向BD(t)が視線方向D(t)と閾値以上乖離する場合には、胴体方向BD(t)を視線方向D(t)に一致させる、または近づけるように補正して、アバタを描画するようにしてもよいし、このような閾値判定を行うことなく胴体方向BD(t)も常に視線方向D(t)と一致するように胴体方向BD(t)を補正してアバタを描画する(すなわち、アバタが常に自ユーザに対して正対しているように描画する)ようにしてもよい。あるいは、胴体方向BD(t)が視線方向D(t)と閾値以上乖離する場合には、視線方向D(t)による上書きを行ってアバタを描画する処理を解除して、人物の関節可動域を逸脱しない自然な状態(且つ、自ユーザを注視していない状態)として、アバタに対応するユーザ本人の動きをそのまま反映してアバタ描画を行うようにしてもよい。
【0064】
以上、本発明の実施形態によれば、端末座標とユーザ座標とを通信システム100内において共有し、相手側ユーザ座標に配置したアバタに自分側ユーザ座標を注視させて自分側ユーザの端末座標から描画・提示することで、視線が一致するアバタ通信を実現することができる。
【0065】
以下、種々の補足・追加・代替的な事項について説明する。
【0066】
(1) 本発明の実施形態によれば、アバタを介して遠隔コミュニケーションをより自然に行うことにより、1箇所の実地にユーザ同士が集まって対面での実コミュニケーションを行わずに済ませることも可能となり、ユーザ移動に必要となるエネルギー資源を節約することで二酸化炭素排出量を抑制できることから、国連が主導する持続可能な開発目標(SDGs)の目標13「気候変動とその影響に立ち向かうため、緊急対策を取る」に貢献することが可能となる。
【0067】
(2) 以上の実施形態では、全ての時刻t(t=0,1,2,…)において第1ユーザU1の第1アバタA1(t)が第2ユーザU2の顔の方を注視し続けているものとして、第2描画部42が描画を行うこととなる。この描画態様は、第2ユーザU2にとって緊張が感じられるものであったり、不自然に思えるものであったりすることもありうるため、変形例として、ランダムなタイミングで一定期間に渡って、あるいは、所定条件が成立した場合に、視線方向D(t)を第2ユーザU2の顔を直視しない所定方向(例えば、直視の方向から一定角度ずれた方向)に変更したうえでアバタ描画を行うようにしてもよい。
【0068】
このようにアバタによる直視状態を解除するための所定条件として例えば、認識部2(ハードウェアとしてマイクを備えるものとする)において追加処理としてユーザの発話を録音するようにし、発話の有無に応じてアバタの直視状態を設定または解除するようにしてもよい。
【0069】
例えば、第1ユーザU1の第1アバタA1のアバタ直視状態を設定するのは、第2端末62の第2ユーザU2が発話している状態にある場合とするように、第2認識部22で発話状態を認識してその結果を第2描画部42へと出力するようにしてもよい。また、第1ユーザU1の第1アバタA1のアバタ直視状態を解除するのは、第1端末61の第1ユーザU1が発話している状態にある場合とするように、第1認識部21で発話状態を認識してその結果を第2描画部42へと出力するようにしてもよい。これらの条件の逆を設定してもよいし、これらの条件の組み合わせを設定してもよい。組み合わせで注視状態を設定する場合は例えば、ANDで組み合わせるか、ORで組み合わせるか等の論理式を設定しておけばよい。
【0070】
なお、第2ユーザU2の発話状態に応じて第1ユーザU1のアバタの注視の態様を切り替える場合は、第1ユーザU1の側からの各種の情報を受信することなく第2描画部42において直ちに描画態様を切り替えることも可能であるため、ネットワーク遅延等を抑制することも可能となる。(
図8や
図9の説明ではネットワーク遅延は無視できる程度に十分に小さいものとしてリアルタイムでの各時刻tで通信システム100内で同期して処理が行われる前提としていたが、この前提が成立せず一定の遅延が存在する場合にも対処することが可能となる。)
【0071】
(3) 第1アバタA1が描画される対象である第1ユーザU1が例えば、部屋の机の前に座った状態で、机に固定されている第1端末61からカメラ撮像等される状態で遠隔コミュニケーションが継続されることが事前に既知である場合、第1測位部21でのリアルタイムでの測位は省略し、初期時刻t=0で実際に測位して得た第1端末座標P1v(0)又は予め与えておくことで実際の測位を必要としない第1端末座標P1v(0)を以降の任意の時刻tでの固定値(P1v(t)=P1v(0))として利用するようにしてもよい。
【0072】
(4) 第1認識部31による第1ユーザ座標P1u(t)の情報を部分的に省略し、第1ユーザの全体的な位置姿勢は固定されている前提で、表情や発話状態に対応する顔の特徴点の相対的な位置情報のみとして第1ユーザ座標P1u(t)を取得し、第1ユーザU1について描画される第1アバタA1の位置姿勢を固定値(第2ユーザに対して正対する状態の固定値)として注視のみを実行させてもよい。この場合、第1アバタA1は仮想空間V2内において第2ユーザU2に対して常に正対することで第2ユーザU2を常に注視した状態となり、表情や発話状態に関して、第1ユーザU1の状態をリアルタイムで反映したものとして描画される。
【0073】
(5)
図11は、一般的なコンピュータ装置80におけるハードウェア構成の例を示す図である。通信システム100におけるそれぞれの端末6(第1端末61及び第2端末62)やサーバ70は、このような構成を有する1台以上のコンピュータ装置80として実現可能である。なお、2台以上のコンピュータ装置80で端末6やサーバ70のそれぞれを実現する場合、ネットワークNW経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置80は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、カメラ79及びLiDARセンサやGPS等の画像撮像以外を用いたセンシングや計測を行う1種類以上のセンサ78と、これらの間でデータを授受するためのバスBSと、を備える。
【0074】
端末6の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。提示部5はディスプレイ76として実現することで、拡張現実表示を出力してよく、
図5で説明したようなスマートフォン等のディスプレイを用いてもよいし、光学シースルー型またはビデオシースルー型によるヘッドマウントディスプレイを用いてもよい。撮像画像に対する処理で認識部2や測位部3を実現する場合、この撮像画像を取得するハードウェアをカメラ79(
図5で説明したように複数のカメラで構成されてもよい)として実現してよい。
【符号の説明】
【0075】
6…端末、1…記憶部、2…認識部、3…測位部、4…描画部、5…提示部