IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

<>
  • 特許-描画装置及びプログラム 図1
  • 特許-描画装置及びプログラム 図2
  • 特許-描画装置及びプログラム 図3
  • 特許-描画装置及びプログラム 図4
  • 特許-描画装置及びプログラム 図5
  • 特許-描画装置及びプログラム 図6
  • 特許-描画装置及びプログラム 図7
  • 特許-描画装置及びプログラム 図8
  • 特許-描画装置及びプログラム 図9
  • 特許-描画装置及びプログラム 図10
  • 特許-描画装置及びプログラム 図11
  • 特許-描画装置及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】描画装置及びプログラム
(51)【国際特許分類】
   G06T 13/40 20110101AFI20240910BHJP
   G06T 19/00 20110101ALI20240910BHJP
【FI】
G06T13/40
G06T19/00 A
【請求項の数】 8
(21)【出願番号】P 2021118976
(22)【出願日】2021-07-19
(65)【公開番号】P2023014813
(43)【公開日】2023-01-31
【審査請求日】2023-08-07
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】加藤 晴久
【審査官】渡部 幸和
(56)【参考文献】
【文献】国際公開第2018/225187(WO,A1)
【文献】特開2019-087229(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
アバタを描画される対象となるユーザより、アバタ描画のための制御パラメータを当該ユーザの様子を認識した認識情報として時系列で受信し、
前記受信済みとなっている認識情報のうち直近過去の認識情報の時刻と現在時刻との遅延量を推定する推定部と、
前記受信済みとなっている認識情報の履歴より、前記現在時刻に該当する認識情報を予測する予測部と、
前記予測された認識情報を用いて前記現在時刻におけるものとして前記ユーザのアバタを描画する描画部と、を備え
前記予測部では、予め用意されている複数種類の予測モデルの中から選択された予測モデルを用いて、前記現在時刻に該当する認識情報を予測し、
前記予測部では、予め用意されている複数の候補遅延量ごとの予測モデルの中から、前記遅延量に該当する候補遅延量の予測モデルを選択することを特徴とする描画装置。
【請求項2】
アバタを描画される対象となるユーザより、アバタ描画のための制御パラメータを当該ユーザの様子を認識した認識情報として時系列で受信し、
前記受信済みとなっている認識情報のうち直近過去の認識情報の時刻と現在時刻との遅延量を推定する推定部と、
前記受信済みとなっている認識情報の履歴より、前記現在時刻に該当する認識情報を予測する予測部と、
前記予測された認識情報を用いて前記現在時刻におけるものとして前記ユーザのアバタを描画する描画部と、を備え
前記予測部では、予め用意されている複数種類の予測モデルの中から選択された予測モデルを用いて、前記現在時刻に該当する認識情報を予測し、
前記予測部では、所定種類の予測モデルについて、複数の候補遅延量の各々について個別に予測するモデルと、複数の候補遅延量を一括で予測するモデルと、の中から選択することを特徴とする描画装置。
【請求項3】
前記所定種類の予測モデルは再帰型ニューラルネットワークモデルであることを特徴とする請求項に記載の描画装置。
【請求項4】
前記予測部では、前記受信済みとなっている認識情報の履歴に対して前記複数種類の予測モデルをそれぞれ適用して予測モデルごとの予測精度を評価し、当該予測精度が最良となる予測モデルを選択することを特徴とする請求項1ないし3のいずれかに記載の描画装置。
【請求項5】
アバタを描画される対象となるユーザより、アバタ描画のための制御パラメータを当該ユーザの様子を認識した認識情報として時系列で受信し、
前記受信済みとなっている認識情報のうち直近過去の認識情報の時刻と現在時刻との遅延量を推定する推定部と、
前記受信済みとなっている認識情報の履歴より、前記現在時刻に該当する認識情報を予測する予測部と、
前記予測された認識情報を用いて前記現在時刻におけるものとして前記ユーザのアバタを描画する描画部と、を備え
前記アバタを描画される対象となるユーザの側では、当該ユーザを撮像して得られた時系列上のフレーム画像を解析して前記認識情報が取得され、当該フレーム画像のタイムスタンプが対応する認識情報に紐づけられて前記受信され、
前記推定部では、前記タイムスタンプと現在時刻との差分として前記遅延量を推定し、
前記アバタを描画される対象となるユーザの側では、当該ユーザの発声の録音が前記タイムスタンプを紐づけて時系列で取得され、
当該録音を受信し、
前記推定部では、前記差分からさらに、前記録音が受信されるまでの伝送遅延を少なくとも含む遅延を減算することで、前記遅延量を推定することを特徴とする描画装置。
【請求項6】
前記認識情報は、前記ユーザの表情及び/又は身体のポーズを表すものとして取得されることを特徴とする請求項1ないしのいずれかに記載の描画装置。
【請求項7】
前記予測部では、予め用意されている複数種類の予測モデルの中から選択された予測モデルを用いて、前記現在時刻に該当する認識情報を予測し、
ある時刻において選択する予測モデルの種類が切り替わった際には、当該切り替わった以降の一定期間において、当該切り替わる前の第1種類予測モデルを用いた前記現在時刻に該当する認識情報と、当該切り替わった後の第2種類予測モデルを用いた前記現在時刻に該当する認識情報と、の重み付け和として、現在時刻に該当する認識情報を予測することを特徴とする請求項1ないしのいずれかに記載の描画装置。
【請求項8】
コンピュータを請求項1ないしのいずれかに記載の描画装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔コミュニケーション等に利用可能なアバタを描画する描画装置及びプログラムに関する。
【背景技術】
【0002】
ネットワークを介して遠隔コミュニケーション等を実現するために、利用者の動きを推定しアバタに適用するシステムにおいて、伝送遅延を抑制することができれば、円滑なコミュニケーションをとることができる。これに対処することに関連した従来技術の例として、特許文献1及び2に開示のものがあり、ここでは以下のような手法が公開されている。
【0003】
特許文献1では、ゲーム用途を想定したVR(仮想現実)において二人の利用者の未来の動きを推定し映像を早送り・遅延を制御することで互いに相手を見つめたときにアバタの視線が合うタイミングを一致させる手法を開示している。特許文献2では、配信動画にユーザがアバタで参加する用途において、データ量が大きな姿勢特徴量ではなく、小さなデータ量で視聴ユーザの姿勢に関する情報を特定することができる基準姿勢識別データを送信することで伝送遅延を抑制する手法を開示している。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2020-009295号公報
【文献】特許6731532号
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、以上のような従来技術では、伝送等に起因する遅延が存在することを前提に、遠隔コミュニケーション等を円滑に実現することに課題があった。
【0006】
特許文献1では、アバタの視線は一致するが、映像を早送りさせられた利用者は未だ相手のアバタを見ておらず、逆に映像を遅延させられた利用者は動作の反映を待たされるため、円滑なコミュニケーションをとれないという問題がある。また、送受信の遅延量はネットワークの状況により揺らぐため一致させるタイミングの予測が困難という問題がある。
【0007】
特許文献2では、伝送量を少なくすることで伝送遅延を抑制しようとしているが、姿勢の認識にかかる時間や伝送にかかる時間は不可避的に遅延し、遅延の影響それ自体を回避ないし抑制できるわけではないという問題がある。
【0008】
上記従来技術の課題に鑑み、本発明は、伝送等に起因する遅延の影響を効果的に抑制してアバタ描画を行うことのできる描画装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明は描画装置であって、アバタを描画される対象となるユーザより、アバタ描画のための制御パラメータを当該ユーザの様子を認識した認識情報として時系列で受信し、前記受信済みとなっている認識情報のうち直近過去の認識情報の時刻と現在時刻との遅延量を推定する推定部と、前記受信済みとなっている認識情報の履歴より、前記直近過去よりも前記遅延量の分だけ未来側に位置することで、現在時刻に該当する認識情報を予測する予測部と、前記予測された認識情報を用いて現在時刻におけるものとして前記ユーザのアバタを描画する描画部と、を備えることを第1の特徴とする。
【0010】
また、前記予測部では、予め用意されている複数種類の予測モデルの中から選択された予測モデルを用いて、前記現在時刻に該当する認識情報を予測し、且つ、前記受信済みとなっている認識情報の履歴に対して前記複数種類の予測モデルをそれぞれ適用して予測モデルごとの予測精度を評価し、当該予測精度が最良となる予測モデルを選択することを第2の特徴とする。また、コンピュータを前記描画装置として機能させるプログラムであることを特徴とする。
【発明の効果】
【0011】
前記第1の特徴によれば、遅延量を推定して、受信済みの認識情報の履歴からこの遅延量の幅だけ未来側に位置するものとして現在時刻の認識情報を予測し、この予測した認識情報によってアバタを描画するので、予測により遅延の影響を効果的に低減してアバタ描画を行うことができる。前記第2の特徴によれば、複数種類の予測モデルに対して予測精度を評価して予測精度が最良となるものを利用することで、高精度に予測を行うことが可能となる。
【図面の簡単な説明】
【0012】
図1】一実施形態に係る通信システムの構成図である。
図2】一実施形態に係る通信システムの動作のフローチャートである。
図3】一実施形態に係る通信システムにおける認識装置及び描画装置の機能ブロック図である。
図4】一実施形態に係る認識装置の動作のフローチャートである。
図5】一実施形態に係る描画装置の動作のフローチャートである。
図6】遅延量を推定する模式例を示す図である。
図7】予測部において、予測する遅延の値と予測に用いるモデル種別とによりあらかじめ複数の予測モデルを用意しておく模式例を示す図である。
図8】予測部において、複数種類の予測モデルの中から最適なものを選択するために、各予測モデルで実際に予測適用を行って予測精度を評価することの模式例を示す図である。
図9】予測部において、複数の遅延値の候補を少ない個数で効果的に用意するために、遅延値の分布から現実的に発生しうる値を設定する例として、遅延値の分布が正規分布となる場合の模式例を示す図である。
図10図7の変形例を示す図である。
図11】遅延の3つの候補値について、実績値時系列と、遅延候補値ごとに予測適用した予測時系列とのグラフを同時プロットした例である。
図12】一般的なコンピュータにおけるハードウェア構成を示す図である。
【発明を実施するための形態】
【0013】
図1は、一実施形態に係る通信システム100の構成図である。通信システム100は、第1ユーザU1が利用する第1端末としての認識装置10と、第2ユーザU2が利用する第2端末としての描画装置20と、を備える。認識装置10及び描画装置20はインターネット及び/又はLAN(ローカルエリアネットワーク)等として構成されるネットワークNWを介して相互に通信可能とされる。認識装置10及び描画装置20はいずれも、スマートフォン端末、タブレット端末、ラップトップコンピュータ端末等のモバイル端末やその他の任意構成のコンピュータ装置として構成することができる。
【0014】
図2は一実施形態に係る通信システム100の動作のフローチャートである。図1内にもイラストにより模式的に示されるように、通信システム100の全体的な動作としての図2の各ステップは次の通りである。
【0015】
認識装置10は撮像機能を提供するカメラとしての撮像部11を備え、ステップS1において第1ユーザU1を撮影してその表情等を認識し、ネットワークNWを介してリアルタイムでこの認識情報を描画措置20へと送信する。描画装置20は少なくとも表示機能を提供するディスプレイとしての提示部24を備え、ステップS2において認識装置10側から送信された認識情報を受信し、リアルタイムの現時刻までの認識情報の履歴(認識装置10から送信され受信済みとなっている履歴)と、この履歴で評価される予測適用の成績とを考慮して第1ユーザU1のアバタA1を現在時刻について予測して描画し、このアバタA1を提示部24に表示することで、第2ユーザU2に対してアバタ表示を提供する。
【0016】
ステップS3では現時刻iを次の時刻i+1に更新してステップS1へと戻り、同様のステップをリアルタイムの各時刻で繰り返す。すなわち、図2のステップによりリアルタイムの各時刻i=1,2,…について、ステップS1で第1ユーザU1の認識情報p(i)を取得し、ステップS2で第1ユーザのアバタA1(i)を描画して表示することを繰り返すことができる。こうして、第2ユーザU2はリアルタイムに描画されることでリアルタイムに動くアバタA1(i)を見ることにより、遠隔に存在する第1ユーザU1の様子(全身のポーズ及び/又は顔の表情等)をリアルタイムで把握して、アバタA1(i)を介して第1ユーザU1とリアルタイムに遠隔コミュニケーションを行うことが可能となる。
【0017】
ここで、ネットワークNWを介して認識装置10から送信される認識情報p(i)等は、通信による遅延を伴って描画装置20において受信される。(また、認識装置10及び描画装置20の各処理についても、その処理完了には短時間であったとしても一定時間を要し、処理遅延が発生する。)図2のフローは共通の時刻i=1,2,…で認識装置10及び描画装置20において処理タイミングを同期させて実行することができるが、現時刻iのステップS2でアバタA1(i)を描画する際に、通信等による遅延の存在によって描画装置20においては当該現時刻iの認識情報p(i)は受信できておらず、K個(K>0)前までの過去時刻i=1,2,…,i-K-1,i-Kでの認識情報p(1),p(2),…,p(i-K-1),p(i-K)しか受信を完了していない状態にある。(ここで時刻i=1は、図2の動作を通信システム100において開始した初期時刻とする。)従って、描画装置20においてはこのK個前の過去時刻までの認識情報の受信履歴から現時刻iの認識情報p(i)(現時刻iの第1ユーザU1の表情等の認識情報p(i))を予測し、この予測された認識情報p(i)に従ってアバタA1(i)を描画することにより、遅延の存在する前提のもとでアバタ描画を利用したリアルタイムのスムーズなコミュニケーションを実現することができる。この詳細に関しては後述する。(なお、描画装置20において予測された認識情報p(i)は、当該現在時刻iよりも後の時刻において描画装置20が受信する、認識装置10が実際に認識した実測値の認識情報p(i)とは通常、別のものとなる。p(i)等が実測値のものか予測値のものかは説明の文脈上明らかであるため、記号表記の簡素化から同じ「p(i)」等として表記するものとする。また、区別が必要な場合はp(i)[実測]及びp(i)[予測]等の表記で区別する。)
【0018】
なお、図2ではフローチャートとしての記載の便宜上、ステップS1の次にステップS2が配置されているが、ステップS1の完了を待ってからステップS2が実行されなくともよい。すなわち、リアルタイムの各時刻i=1,2,…において、認識装置10がステップS1を実行し、これと並行する形で描画装置20がステップS20を実行することができる。すなわち、ステップS3でタイミングが管理されるリアルタイムの各時刻i=1,2,…においてステップS1,S2は並列して実行されるものであってよい。
【0019】
また、図1及び図2の構成では、第1ユーザU1がそのアバタA1を描画される側であり、第2ユーザU2はこの描画されたアバタA1を視聴する側となっているが、役割を入れ替えた構成を追加することにより、第1ユーザU1及び第2ユーザU2の間において双方のアバタを介した双方向の遠隔コミュニケーションを行うことが可能である。(すなわち、第1ユーザU1の利用する第1端末としての認識装置10が第2ユーザU2のアバタA2(図1に不図示)を描画するための描画装置20に相当する機能を追加で備え、第2ユーザU2の利用する第2端末としての描画装置20が第2ユーザU2の表情等の様子を認識するための認識装置10に相当する機能を追加で備えることにより、双方向のコミュニケーションが可能となる。)また同様に、遠隔コミュニケーションの参加ユーザ数についても、第1ユーザU1及び第2ユーザU2の2人のみでなく、任意人数のユーザのアバタを同時に描画して遠隔コミュニケーションを行うことが可能である。
【0020】
ただし、以下では説明の明確化及び簡潔化のために、アバタを用いた遠隔コミュニケーションを行う際の人数及び役割が、図1及び図2に示されるもの(2人及び単方向)となる場合に限って説明するが、上記の通り同様にして任意人数で双方向にアバタを用いた遠隔コミュニケーションを行うことが可能である。
【0021】
図3は、一実施形態に係る通信システム100における認識装置10及び描画装置20の機能ブロック図である。認識装置10は、撮像部11及び認識部12と、オプション構成としての録音部13とを備える。描画装置20は、推定部21、予測部22、描画部23、提示部24及び記憶部25を備える。
【0022】
図4は、一実施形態に係る認識装置10の動作のフローチャートであり、図5は、一実施形態に係る描画装置20のフローチャートである。図4のステップS11~S13は、図2のステップS1に該当し、図5のステップS21~S24は、図2のステップS2に該当する。同様に、図4及び図5のステップS14及びS25は、図2のステップS3に該当し、共通のリアルタイムの各時刻i=1,2,…のタイミング管理をそれぞれ認識装置10及び描画装置20において行うものである。
【0023】
以下、図4及び図5の各ステップを説明しながら、図3の認識装置10及び描画装置20の各機能部の詳細に関して説明する。なお、認識装置10が図4のフローを開始し、且つ、描画装置20が図5のフローを開始するための前処理として、認識装置10及び描画装置20では既存手法であるNTP(ネットワークタイムプロトコル)等を用いて時刻同期を行っておく。認識装置10及び描画装置20では当該同期された時計(コンピュータのオペレーティングシステム等によって提供される計時機能)を用いてリアルタイムの各時刻における処理を行う。図2の説明と同様に図4及び図5の説明においても、この共通のリアルタイムの各時刻をi=1,2,…とし、フローが開始された最初の時点の時刻(初期時刻)をi=1とする。なお、実時間上では例えば30fps(フレーム毎秒)などの離散的な処理タイミングとして、例えば1/30秒間隔でこの整数指定される各時刻i=1,2,…が並んでいる。
【0024】
<ステップS11…撮像部11(及び録音部13)>
図4のフローが開始(初期時刻i=1)されると、あるいは、その後のリアルタイムの各時刻i(i≧2)において、ステップS11では、撮像部11が第1ユーザU1を撮像することで当該現在時刻iが紐づけられたフレーム画像F(i)を得て、この画像F(i)を認識部12へと出力してからステップS12へと進む。撮像部11はハードウェアとしてはカメラで構成され、第1ユーザU1を撮像することができる。
【0025】
追加的な実施形態として、ステップS1ではさらに、録音部13が第1ユーザU1の発言等による発声を録音し、当該時刻iにおける音声情報v(i)(離散的な処理タイミングである時刻iとこの後の時刻i+1(あるいは前の時刻i-1)との間の実時間期間における音声情報v(i))を取得してもよい。録音部13はハードウェアとしてはマイクで構成され、第1ユーザU1の存在する環境において録音を行うことで第1ユーザU1の発言等が含まれる音声情報を得ることができる。音声情報v(i)を得る際に、録音データから第1ユーザU1の発声以外の環境音等を雑音として除去する既存手法を適用してもよい。
【0026】
<ステップS12…認識部12>
ステップS12では、ステップS11で得た画像F(i)に撮像されている第1ユーザU1を認識部12が認識することにより、この第1ユーザU1をアバタA1として描画するために必要なアバタ制御パラメータとして認識情報p(i)を計算してからステップS13へと進む。当該変数としての表記より明らかなように、この認識情報p(i)は処理タイミングである現時刻i(画像F(i)の撮像時刻に相当)が紐づいたものとして取得される。
【0027】
認識部12で計算する認識情報p(i)は、描画装置20で描画するアバタで用いる所定モデルに応じた任意種類のものを用いることができるが、一般には複数のN個のパラメータの現時刻iにおける値を列挙したN次元ベクトルの形で以下のように計算することができる。pk(i)はk番目(1≦k≦N)のパラメータである。
p(i)=(p1(i),p2(i),…,pN(i))
【0028】
例えば、アバタに関して顔の表情を描画する場合、既存手法であるブレンドシェイプのパラメータとして認識情報p(i)を計算してよい。ブレンドシェイプではアバタ描画対象となるユーザの表情を複数のメッシュモデル(各メッシュモデルが何らかの表情状態を表す)の重み付けで表現するので、ベクトル要素pk(i)としてk番目(1≦k≦N)のメッシュモデルの重みを算出すればよい。また例えば、アバタに関して体のポーズを描画する場合、任意の所定の人体骨格関節モデルを用いて、ユーザの各関節の座標を表現するパラメータとして認識情報p(i)を計算してよい。この場合、ベクトル要素pk(i)としてk番目(1≦k≦N)の関節の座標(2次元画像座標(u,v)又は3次元座標(x,y,z))を算出すればよい。アバタとして顔の表情と全身のポーズとの両方を描画する場合は、これらブレンドシェイプの重みと関節座標との組み合わせを認識情報p(i)としてもよい。
【0029】
認識部12において画像F(i)からアバタ制御パラメータとして認識情報p(i)を具体的に算出する手法に関しても、アバタ制御パラメータの種類に応じた既存手法を用いればよい。例えば、事前学習された深層学習ネットワーク等を用いて画像F(i)から顔の特徴点を抽出し、この特徴点の分布をブレンドシェイプの重みに変換してもよいし、深層学習ネットワーク等により画像F(i)から(特徴点抽出を経ることなく)ただちにブレンドシェイプの重みが出力されるような手法を用いてもよい。関節座標についても事前学習された深層学習ネットワーク等を用いて画像F(i)から出力することができる。
【0030】
<ステップS13…送信処理>
ステップS13では、ステップS12で得た認識情報p(i)を認識装置10から描画装置20へと送信してから、ステップS14へと進む。ステップS11で録音部13による録音を行った場合は、ステップS13ではこの音声情報v(i)も認識装置10から描画装置20へと送信する。送信された認識情報p(i)は描画装置20の記憶部25において記憶され、参照して利用される。送信された音声情報v(i)は、描画装置20においてリアルタイムにアバタ描画する際にアバタ動作と同期して再生される発声データとして利用される。
【0031】
なお、認識情報p(i)と音声情報v(i)との両方を送信する場合、認識装置10において取得され次第、ただちに通信インタフェースを介して送信するようにすればよい。例えば現時刻iに対応する実時間の期間(離散的な処理タイミングである現時刻iと次の時刻i+1との間の期間)内において音声情報v(i)が先に取得され認識情報p(i)が後に取得された場合、音声情報v(i)が取得され次第、ただちに音声パケット化して送信した後、後で得られた認識情報p(i)についても所定様式のデータパケット化して送信すればよい。認識情報p(i)と音声情報v(i)については、処理タイミングである時刻iとは別途に、通信インタフェースによりパケット化して送信される際のタイムスタンプt(時刻i=1,2,…よりも細かい間隔で刻まれるタイムスタンプt(例えば100倍の細分間隔としてt=0.01,0.02,0.03,…等))も付与して、認識装置10から描画装置20へと送信するようにしてもよい。
【0032】
<ステップS14…時刻更新>
ステップS14では現時刻iを次の時刻i+1へと更新してからステップS11へと戻ることにより、以上のステップが次のリアルタイムの時刻i+1について同様に繰り返される。
【0033】
以上、一実施形態に係る認識装置10の処理内容として図4の各ステップを説明した。次いで、一実施形態に係る描画装置20の処理内容として図5の各ステップを説明する。
【0034】
<ステップS21…受信処理>
図5のフローが開始(初期時刻i=1)されると、あるいは、その後のリアルタイムの各時刻i(i≧2)において、ステップS21では、図4のステップS13で認識装置10から送信された認識情報p(j)(及び音声情報v(j))を描画装置20において受信してから、ステップS22へと進む。なお、図2を参照して通信システム100での全体動作に関して説明した通り、描画装置20において現時刻iで受信できるこの最新の認識情報p(j)等は、遅延等の存在によって現時刻iから見てK個分の過去の認識情報p(i-K)(K>0)となる。なお、遅延等の発生状況によっては、現時刻iにおいて1つ以上の時刻jの認識情報p(j)を受信する場合や、全く受信しない場合もありうる。
【0035】
なお、認識装置10における送信時と同様に、描画装置20における受信時においても、通信インタフェースにおいて受信した認識情報p(j)(及び音声情報v(j))に、当該パケットの受信時刻であるタイムスタンプt(離散的な処理タイミングi,jよりも一般に細かい)を紐づけるようにしてもよい。
【0036】
受信した認識情報p(j)は、ハードウェアとしては記憶媒体で構成される記憶部25において蓄積して記憶される。すなわち、記憶部25は現時刻iまでに継続して受信されている認識情報p(1),p(2),…,p(j)を履歴として記憶しており、この情報を後述する推定部21及び予測部22の処理のための参照に供する。なお、認識情報p(1),p(2),…,p(j)に関しては、伝送時のパケットロス等により、部分的に消失しているもの(あるいはその他のパケットよりも大きく遅延しており未受信のため現時刻iで存在しないもの)があってもよい。
【0037】
<ステップS22…推定部21>
ステップS22では、推定部21が記憶部25を参照して、遅延量を推定してこの遅延量を予測部22へと出力してからステップS23へと進む。
【0038】
この遅延量は、後述する描画部23及び提示部24において現時刻iのアバタA1(i)を描画して表示するために考慮する、現時刻iにおいて実際に得られている認識情報等の遅延であり、各実施形態で推定することができる。第1実施形態では、記憶部25に記憶されている最新の認識情報(直近過去の認識情報)が認識情報p(i-K)であれば、遅延量をK(時刻i=1,2,…として指定される離散的な処理タイミングのなす間隔のK回分)として推定してよい。
【0039】
第2実施形態では、送受信時のパケットのタイムスタンプを用いて、受信済みの最新の認識情報p(i-K)における送信時タイムスタンプt[送信]と受信時タイムスタンプt[受信]との差(認識情報のデータパケットの伝送時間に相当するもの)を遅延量としてもよい。
【0040】
第3実施形態では、図6に模式的に示されるように、伝送時間t2に加え認識部12の認識時間t1、予測部22の予測時間t3、描画部23及び提示部24の描画提示時間t4も推定し伝送時間t2と合わせて実時間(離散的な処理タイミングとは区別される実時間)での遅延量(=t1+t2+t3+t4)としてもよい。伝送時間t2については第1実施形態または第2実施形態の値を利用し、各機能部の処理時間(処理完了に要する時間)t1,t3,t4については、事前実験で予め求めておく固定値を用いてもよいし、直近の所定の過去期間内での実績値(平均値など)を記録しておいて利用してもよい。第1実施形態または第2実施形態による伝送時間t2についても、最新の1個のみの値を用いてもよいし、直近の所定の過去期間内での実績値(平均値など)を記録しておいて利用してもよい。
【0041】
第3実施形態の変形例としての第4実施形態では、認識装置10において録音部13による録音を行う前提で、認識情報p(j)に加えて音声情報v(j)も送受信し音声を同期させたアバタ描画を行う場合に、認識情報p(j)を取得するための認識処理等に係る時間だけ音声情報v(j)が早く受信できるとすると、認識情報の遅延量から音声情報の遅延量を差し引いたものを改めて認識情報の遅延量とすることができる。認識情報と音声情報との同期がとれるとともに遅延量が小さくなることから予測部22の精度が向上する効果が得られる。
【0042】
図6の例では括弧を付した下段側に第4実施形態の例が示され、第3実施形態の遅延量が「t1+t2+t3+t4」であるのに対し、第4実施形態では音声情報の遅延t5を減算した「t1+t2+t3+t4-t5」を遅延量として推定することができる。音声情報の遅延t5は、第2実施形態で認識情報の送信時タイムスタンプt[送信]と受信時タイムスタンプt[受信]との差を用いたのと全く同様に、音声情報v(j)のパケットにおける当該送受信時のタイムスタンプの時刻差t5として求めればよい。当該時刻差t5は、最新の1個のみの値を用いてもよいし、直近の所定の過去期間内での実績値(平均値など)を記録しておいて利用してもよい。
【0043】
第4実施形態では描画装置20でアバタ描画する際のリアルタイムの定義を、NTP等により管理される正確な実時間から、音声情報の伝送時間t5の分だけ過去側に寄せる(すなわち、音声情報が到達した時刻をアバタ描画用途のうえでのリアルタイムとみなす)ことにより予測時間幅をt5だけ減らすことで、アバタを用いたコミュニケーションの快適性を確保しつつ、遅延量を減らすことができる。(後述する予測部22での予測は、一般的に遅延(=予測を適用する時間幅)が少ないほど予測精度が高くなることが想定されるので、第4実施形態はこの効果を得ることができる。)同様に、音声情報の伝送時間t5に加え、この音声情報を実際に提示部24において再生するまでの所定処理(圧縮等されている音声情報を復号等して再生可能なパルス符号変調等による音声波形とする処理等)の所要時間t6(実績値あるいは事前調査値)も考慮して、「「t1+t2+t3+t4-t5-t6」を遅延量として推定してもよい。
【0044】
<ステップS23…予測部22>
ステップS23では、予測部22は過去の認識情報の推移(p(1),p(2),…,p(i-K))から現在の認識情報p(i)を予測し、当該予測された認識情報p(i)を描画部23へと出力してから、ステップS24へと進む。
【0045】
ここで、予測部22の処理の説明のために、用語を次のように定義する。現時刻iにおいて認識情報の推移が得られている直近の(最新の)過去時刻i-Kを、予測の基準となる「現在時刻t」とし、予測の対象となる現在時刻t+n(≒i)を、「現在時刻t」を基準として「未来時刻t+n」とする。
【0046】
ここで、現在時刻tから未来時刻t+nを定めるためのn(n>0)の値として、予測部22では推定部21が出力した遅延量を利用する。遅延量の第1実施形態では、「現在時刻t」は「直近の認識情報p(i-K)が存在する過去時刻i-K」に一致し、従って、n=Kとなる。遅延量の第2~第4実施形態においては、nの値は、Kの値(離散的な処理タイミングi=1,2,…の間隔のK回分の時間幅)に近い値となることが想定されるが、必ずしもKには一致しない値となる。
【0047】
予測部22では図7に表形式で模式的に示されるように、遅延の値nの候補a(ここでは実際の遅延値ではなく遅延値のIDとしてa=1,2,…とする)と、予測に用いるモデル種別b(モデルのIDとしてb=1,2,…とする)との区別によって指定される複数の予測モデルMab(a=1,2,…, b=1,2,…)を予め構築しておき、この複数の予測モデルMabの中から最適なモデルを選択して、選択された最適なモデルMabを用いることにより、現在時刻tから見て未来時刻t+nの予測情報を予測する。(なお、1つの場合として、予測に用いるモデル種別bが2つ以上の複数ではなく1つとなる実施形態も可能である。)
【0048】
図7の例は、遅延の値の候補a(遅延の値Taを定める候補a)として遅延の値の範囲によりa=1(遅延の値T1=0.5秒)、a=2(遅延の値T2=1秒)、a=3(遅延の値T3=2秒)の3通りを予め設定しておき、予測に用いるモデル種別bとしてb=1(線形補間)、b=2(CNN(畳み込みニューラルネットワーク))、b=3(RNN(再帰型ニューラルネットワーク))の3通りを予め設定しておくことで、合計3×3=9通りの予測モデルMabを予め用意しておく例となっている。なお、CNNやRNNを用いる場合は、予め学習データを用いてネットワークのパラメータを学習しておく。
【0049】
予測部22では、複数の予測モデルMabのうちいずれを用いるかに関して、遅延の値の候補aについては、推定部21から得た遅延量nが該当するもの(一致するものがない場合は最も近いもの)として決定すればよい。例えば図7の予測モデルMabの場合で遅延量nがn=1.2秒であった場合、a=2(遅延が1秒)として決定すればよい。
【0050】
予測部22ではまた、複数の予測モデルMabのうちいずれを用いるかに関して、モデル種別bについては、モデル種別bごとにL+1回分の一定期間Ta~L+Taの過去時刻t-L-Ta,t-L+1-Ta,t-L+2-Ta,…,t-TaにおいてTaだけ先の未来の認識情報を予測したそれぞれの値p(t-L),p(t-L+1),…,p(t-1),p(t)を実績値と比較した成績のスコアscore(b)を評価し、最もスコアscore(b)がよいものを採用すればよい。例えば、予測モデルMabにおける予測遅延幅をTa図7の例であればa=1,2,3でT1=0.5秒、T2=1秒、T3=2秒)とすると、遅延幅でのモデルbの予測誤差error(b)を例えばユークリッド距離の2乗和により以下のように計算できるので、所定の減少関数fを用いてscore(b)=f(error(b))としてこの予測誤差が小さいほどスコアが高くなるようにスコアscore(b)を計算することができる。
【0051】
【数1】
【0052】
なお、上記の和を計算する範囲k=Ta,…,L+Taは、現在時刻に最も近い範囲で且つ遅延幅Taの分の実測値(のうち予測の成績評価に利用できる実績値)が実際に受信できている範囲(前述のとおり、p(t)が受信できている実測値のうち最も現在時刻に近いため、この実測値により過去時刻t-Taにおいて未来時刻t-Ta+Taについて予測した値が評価できる)であり、当該範囲に該当して和を取るkの個数が規格化項としてのL+1である。なお、上記の和では遅延幅Taが、整数で与えられる図5等の離散的な処理タイミングi=1,2,…と同様の整数となるものとしている。各モデルMabの遅延幅Taはこの制約を満たすものとして定義しておいてもよいし、この制約を満たさない場合には、実時間としての遅延幅Taが離散的な処理タイミングi=1,2,…の何回分に該当するかの値を、床関数floor(Ta)で整数以下を切り捨てた値を用いるようにしてもよい。
【0053】
また、上記の和を計算する際の各予測値「p(t-k+Ta)[モデルbによる予測]」は、予測に利用可能な最新データが得られた時点としての時刻t-k(時刻t-kまでの認識情報が受信済みの際)においてTaだけ先の未来の値を予測した値を用いればよい。
【0054】
図8では予測精度を評価する模式例として、ある1つのモデルbで認識情報(多次元ベクトルのうちある1つの要素のみを例として縦軸方向に示し、横軸方向を時刻とする)を予測する際の、実績値のグラフ(現時刻t以前の部分)が実線で、予測値のグラフ(現時刻tよりも未来の部分)が破線で示されている。図8では遅延幅Taの3つの例としてn1,n2,n3が示されている。
【0055】
ここで、モデルMabを定める遅延幅Taについては、細かい間隔で多数に渡って網羅的に設けることが予測精度の観点からは望ましいが、一方で、候補aが多いと成績スコアscore(b)の評価等も増え、予測部22での計算量が増えてしまうことが想定される。
【0056】
そこで遅延の値の候補aとしては、図9に正規分布の場合を模式的に示すように、予め実験等により遅延の値の分布を求めておき、当該分布内から現実的に発生しうる遅延の値(又は範囲)を離散的に候補aとして設定してよい。図9の例では、遅延の値の候補aとして、正規分布の平均値n2と、この平均値n2から一定幅にあるn1及びn3と、の3つ(0<n1<n2<n3)を設定する例となっている。
【0057】
以上の実施形態では、ある予測モデルbにおいて、予測精度を確保する観点から、遅延の値の候補aごとに個別に学習等を行うことにより、遅延の値の候補aごとに異なるモデルMabを用意するものとした。別の実施形態として、予測モデルbが例えばRNN(再帰型ニューラルネットワーク)である場合に、複数の遅延の値の候補aにおける認識情報を全てまとめて予測する方法と個別に予測する方法を適応的に選択するようにしてもよい。選択は過去の予測誤差を利用することができる。例えば、過去の予測結果の誤差が小さいと判定された場合、認識情報はまとめて予測することで処理負荷を軽減し、過去の予測結果の誤差が大きいと判定された場合、認識情報は個別に予測することで予測精度を向上させる効果が得られる。
【0058】
図10は、この別の実施形態の例として、図7の例の変形例を示す図である。予測モデルb=3のRNNについて、a=1,2,3の個別の遅延幅における認識情報を個別に予測するモデルM13,M23,M33に加えて、これら3つの遅延幅における認識情報を全て包括して予測するモデルM03を予め用意しておく。(すなわち、このモデルM03は、a=1,2,3の3つの遅延幅だけ先の未来における3つの認識情報を一括で予測して出力するモデルである。)図10のような予測モデルの中からいずれを用いるかの決定は、評価した予測誤差に応じた所定規則で決定すればよい。例えば、ある遅延の値の候補a(遅延幅Ta)の場合に、線形補間モデルMa1と、CNNモデルMa2と、包括的なRNNモデルM03と、の予測誤差を評価し、包括的なRNNモデルM03が最も予測精度が高いものとして評価された場合にさらに、個別のRNNモデルMa3の予測誤差も評価して、最良の精度のモデルを用いるものとして決定してもよいし、最初から4つのモデルMa1,Ma2,Ma3,M03の誤差を全て評価して最良のモデルに決定してもよい。包括的なRNNモデルM03の評価については、図5のステップS25で示される離散的な処理タイミングi=1,2,…の毎回について評価するのではなく、a=1,2,3の3時刻を一括で評価するものであることから、これら3時刻がなす間隔ごとに断続的に評価するようにしてもよい。図10の例ではRNNについて複数時刻を一括予測するモデルを追加しているが、CNN等のその他の学習モデルについても同様に一括予測モデルを追加してもよい。
【0059】
<ステップS24…描画部23及び提示部24>
ステップS24では、上記の予測部22において現時刻iに関して予測した認識情報p(t+n)を用いて第1ユーザU1のアバタA1を描画部23が描画し、当該描画されたアバタA1を提示部24において表示してからステップS25へと進む。録音部13から音声情報v(i-K)が得られている場合には、提示部24ではアバタA1の表示と同期させてこの音声情報v(i-K)も再生する。
【0060】
描画部23における描画は、第1ユーザU1が予め設定しているアバタのモデルに認識情報p(t+n)の表情やポーズ等を反映させて描画すればよい。なお、アバタモデルは、内容として、第1ユーザU1自身を実写モデル化したものであってもよいし、その他の任意のキャラクタであってもよいし、画像平面上への描画態様として、2次元描画でも3次元描画(3次元モデルを2次元画像平面上に投影する描画)でもよい。3次元仮想空間内にアバタを描画する場合は、描画装置20を利用する第2ユーザが指定する仮想視点によってこの3次元仮想空間が定まるものとして画像平面上へと描画してもよい。当該描画には拡張現実や3次元コンピュータグラフィックスにおける既存手法を用いることができ、描画装置20の側で別途に撮影された背景画像等にアバタを重畳させる形で提示部24における表示等を行ってもよい。提示部24を構成するディスプレイが光学シースルー型ヘッドマウントディスプレイ等である場合は、現実世界の背景に対してアバタのみを描画して重畳表示するようにしてもよい。
【0061】
<ステップS25…時刻更新>
ステップS25では現時刻iを次の時刻i+1へと更新してからステップS21へと戻ることにより、以上のステップが次のリアルタイムの時刻i+1について同様に繰り返される。
【0062】
以上、本発明の実施形態によれば、認識装置10の側から送信される認識情報から遅延に応じて、未受信の現時刻での認識情報を予測し、現時刻での認識装置10の側の第1ユーザU1の実際の認識情報と近似させることで伝送遅延や処理遅延を効果的に隠蔽することに繋がり、円滑なコミュニケーションを実現できる。また、アバタの提示において、複数の予測手法の適応的な選択に基づいて相手の動きを予測し受信時刻のアバタを提示することで伝送遅延を抑制できる。
【0063】
図11は、遅延(すなわち予測時間)の3つの候補値n1=30ミリ秒、n2=100ミリ秒、n3=250ミリ秒に対して、認識情報のある1つのパラメータのサンプル時系列(実績値時系列)と、この実績値時系列にRNNによる予測を適用した予測値時系列とを同時プロットしたグラフの例EX1,EX2,EX3をそれぞれ示す図である。時間軸を共通として、実績値時系列は太線、予測値時系列は細線で示されており、これら両者はよく一致している様子を見て取ることができる。このように事前学習されたRNN等を用いて高精度な認識情報の予測が可能であることから、本発明の実施形態では高精度な予測により遅延を吸収して円滑なコミュニケーションを実現することができる。
【0064】
以下、種々の補足例、追加例、代替例等を説明する。
【0065】
(1) 本発明の実施形態によれば、臨場感ある遠隔コミュニケーションを実現可能である。これにより、遠隔地への実際の移動を必ずしも必須とせずに遠隔会議等を行うことが可能となり、ユーザ移動に必要となるエネルギー資源を節約することで二酸化炭素排出量を抑制できることから、国連が主導する持続可能な開発目標(SDGs)の目標13「気候変動とその影響に立ち向かうため、緊急対策を取る」に貢献することが可能となる。
【0066】
(2) 予測部22において予め用意しておく複数の予測モデルMabの遅延の値Kの候補aとしては、図7で例示したように離散的な時刻(例えば1秒後、2秒後、3秒後…など)における1つの予測値のみを得ることができるものであった。この離散的な遅延幅の予測値に関して、指定される遅延時間に最も近い離散的な時刻を1つのみ選ぶようにしてもよいし、前後の近い値で内挿補間するようにしてもよい。例えば指定される遅延時間が1.2秒の場合であれば、最も近い1秒後の離散的な予測値を用いるようにしてもよいし、最も近い2つの予測値として、1秒後の離散的な予測値と2秒後の離散的な予測値とを比率0.8:0.2で重み付け和した値を予測部22の出力として用いるようにしてもよい。
【0067】
(3) モデルMabの予測方式bが切り替わる際にもアバタが滑らかに自然に動作するような追加処理として、切り替わる前後での予測値に、切り替わる前後の予測モデルの予測値をクロスフェードさせた値を用いるようにしてもよい。例えば、時刻t=TA-1まではb=1の予測モデルの予測値が採用され、時刻t=TA以降ではこれが切り替わってb=2の予測モデルが最良と決定された場合に、以降のN+1回分の一定期間の各時刻t=TA,TA+1,…,TA+Nについて、切り替え前のb=1の予測モデルの値をp1(t)とし、切り替え後のb=2の予測モデルの値をp2(t)とすると、以下のクロスフェードさせた重み付け和の値を利用することで、b=1の予測モデルの値から新たなb=2の予測モデルの値へと徐々に切り替わるようにしてもよい。
{(t-TA+1)*p2(t)+(TA+N-t)*p1(t)}/(N+1)
【0068】
(4) 図12は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。通信システム100を構成する認識装置10及び描画装置20の各々は、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70で認識装置10及び描画装置20の各々を実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、カメラ78、マイク79及びスピーカ80と、これらの間でデータを授受するためのバスBSと、を備える。
【0069】
通信システム100の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。提示部24におけるアバタ表示機能はディスプレイ76において実現し、音声再生機能はスピーカ80において実現すればよい。録音部13における録音機能はマイク79において実現すればよい。撮像部11はカメラとして実現してよい。
【符号の説明】
【0070】
100…通信システム、10…認識装置、20…描画装置
11…撮像部、12…認識部、13…録音部、21…推定部、22…予測部、23…描画部、24…提示部、25…記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12