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

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

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

<>
  • 特許-画像生成システムおよび画像生成方法 図1
  • 特許-画像生成システムおよび画像生成方法 図2
  • 特許-画像生成システムおよび画像生成方法 図3
  • 特許-画像生成システムおよび画像生成方法 図4
  • 特許-画像生成システムおよび画像生成方法 図5
  • 特許-画像生成システムおよび画像生成方法 図6
  • 特許-画像生成システムおよび画像生成方法 図7
  • 特許-画像生成システムおよび画像生成方法 図8
  • 特許-画像生成システムおよび画像生成方法 図9
  • 特許-画像生成システムおよび画像生成方法 図10
  • 特許-画像生成システムおよび画像生成方法 図11
  • 特許-画像生成システムおよび画像生成方法 図12
  • 特許-画像生成システムおよび画像生成方法 図13
  • 特許-画像生成システムおよび画像生成方法 図14
  • 特許-画像生成システムおよび画像生成方法 図15
  • 特許-画像生成システムおよび画像生成方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】画像生成システムおよび画像生成方法
(51)【国際特許分類】
   G06T 13/20 20110101AFI20240725BHJP
   G06T 15/06 20110101ALI20240725BHJP
   G06T 13/40 20110101ALI20240725BHJP
【FI】
G06T13/20 500
G06T15/06
G06T13/40
【請求項の数】 16
(21)【出願番号】P 2023506639
(86)(22)【出願日】2021-03-18
(86)【国際出願番号】 JP2021011191
(87)【国際公開番号】W WO2022195818
(87)【国際公開日】2022-09-22
【審査請求日】2023-09-11
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【弁理士】
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【弁理士】
【氏名又は名称】三木 友由
(74)【代理人】
【識別番号】100134256
【弁理士】
【氏名又は名称】青木 武司
(72)【発明者】
【氏名】唐澤 雄気
(72)【発明者】
【氏名】鈴置 雅一
(72)【発明者】
【氏名】清水 圭介
【審査官】鈴木 明
(56)【参考文献】
【文献】特開2020-091909(JP,A)
【文献】特開2009-116856(JP,A)
【文献】中国特許出願公開第106485774(CN,A)
【文献】特開2014-146340(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/20
G06T 15/06
G06T 13/40
(57)【特許請求の範囲】
【請求項1】
発話者の音声に基づき推定された、当該発話者の顔の状態に係る情報を順次取得する状態情報取得部と、
オブジェクトモデルのプリミティブを定義する葉ノードを含む木構造の構造データにおける前記葉ノードを、前記状態に係る情報に応じて更新することにより、前記状態を反映させたオブジェクトモデルを生成し、前記構造データを用いたレイトレーシングにより前記オブジェクトモデルの像を描画した表示画像を生成する描画部と、
を備えたことを特徴とする画像生成システム。
【請求項2】
前記状態情報取得部は、あらかじめ準備された複数の代表顔の合成により、推定された顔の状態を実現するときの、当該代表顔に対する重み係数のデータを前記顔の状態に係る情報として取得し、
前記描画部は、標準状態のオブジェクトモデルにおけるプリミティブの頂点座標を、各代表顔の対応する頂点の座標と前記重み係数に基づき変位させることにより、前記状態を反映させたオブジェクトモデルを生成することを特徴とする請求項1に記載の画像生成システム。
【請求項3】
前記描画部は、前記重み係数を調整することにより、特定の種類の表情成分を強調したオブジェクトモデルを生成することを特徴とする請求項2に記載の画像生成システム。
【請求項4】
前記描画部は、発話者により指定された感情に分類された代表顔の重み係数を増加させることにより、対応する表情成分を強調することを特徴とする請求項3に記載の画像生成システム。
【請求項5】
前記描画部は、発話者の音声または撮影画像に基づき推定された感情に分類された代表顔の重み係数を増加させることにより、対応する表情成分を強調することを特徴とする請求項3または4に記載の画像生成システム。
【請求項6】
音声を入力データとして発話者の顔の状態に係る情報を導出する機械学習のモデルを用い、前記状態に係る情報を推定する音声由来情報生成部をさらに備えたことを特徴とする請求項1から5のいずれかに記載の画像生成システム。
【請求項7】
前記状態情報取得部は、撮影画像に基づき推定された前記発話者の状態に係る情報をさらに取得し、
前記描画部は、当該撮影画像に基づき推定された状態を、前記オブジェクトモデルに反映させることを特徴とする請求項1から6のいずれかに記載の画像生成システム。
【請求項8】
前記状態情報取得部は、瞼の開き具合および瞳孔の向きを表す情報を取得し、
前記描画部は、当該情報をオブジェクトモデルの目に反映させることを特徴とする請求項7に記載の画像生成システム。
【請求項9】
前記描画部は、瞼の開閉に応じて、オブジェクトモデルの目の領域におけるテクスチャを、眼球および肌のデータ間で切り替えることを特徴とする請求項8に記載の画像生成システム。
【請求項10】
撮影画像を入力データとして発話者の状態に係る情報を導出する機械学習のモデルを用い、前記状態に係る情報を推定する画像由来情報生成部をさらに備えたことを特徴とする請求項7から9のいずれかに記載の画像生成システム。
【請求項11】
前記描画部は、表示対象の空間を分割してなるバウンディングボックスを階層化した前記構造データを生成する構造データ生成部と、
前記構造データを用いた交差判定によりレイトレーシングを行うレイトレーシング部と、を含み、
前記描画部は、前記状態に係る情報の変化に応じ、前記木構造は維持したまま、ノードが保持するデータを更新することを特徴とする請求項1から10のいずれかに記載の画像生成システム。
【請求項12】
前記描画部は、前記構造データを格納する構造データ記憶部をさらに備え、
前記レイトレーシング部は、前記構造データ生成部が前記構造データを更新するタイミングに関わらず、前記構造データ記憶部に格納されているの最新の前記構造データを用いてレイトレーシングを行うことを特徴とする請求項11に記載の画像生成システム。
【請求項13】
前記描画部は、
画像平面を分割してなる部分画像の描画を、ネットワークを介して接続した描画サーバに依頼するタスク依頼部と、
前記描画サーバから送信された部分画像を接続して表示画像を生成する接続部と、
を備えたことを特徴とする請求項1から12のいずれかに記載の画像生成システム。
【請求項14】
前記描画部が生成した表示画像を、前記音声と同期させて出力する表示部をさらに備えたことを特徴とする請求項1から13のいずれかに記載の画像生成システム。
【請求項15】
発話者の音声に基づき推定された、当該発話者の顔の状態に係る情報を順次取得するステップと、
オブジェクトモデルのプリミティブを定義する葉ノードを含む木構造の構造データにおける前記葉ノードを、前記状態に係る情報に応じて更新することにより、前記状態を反映させたオブジェクトモデルを生成し、前記構造データを用いたレイトレーシングにより前記オブジェクトモデルの像を描画した表示画像を生成するステップと、
を含むことを特徴とする画像生成方法。
【請求項16】
発話者の音声に基づき推定された、当該発話者の顔の状態に係る情報を順次取得する機能と、
オブジェクトモデルのプリミティブを定義する葉ノードを含む木構造の構造データにおける前記葉ノードを、前記状態に係る情報に応じて更新することにより、前記状態を反映させたオブジェクトモデルを生成し、前記構造データを用いたレイトレーシングにより前記オブジェクトモデルの像を描画した表示画像を生成する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、実世界の状況を画像世界に反映させる画像生成システムおよび画像生成方法に関する。
【背景技術】
【0002】
従来、実世界での人の動きを記録するモーションキャプチャにより、コンピュータグラフィクスで描画されるオブジェクトをよりリアルに動作させる技術が知られている。また、そのようなオブジェクトの動きを音声と同期させることにより、当該オブジェクトが実際に話したり歌ったりしているように見せるコンテンツも知られている。このように、表示上の仮想世界を実世界と融合させる技術は、エンターテインメントや商品プロモーションなど様々な分野に応用されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
記録済みの人の動きや既存の台詞に合わせてオブジェクトを動作させたり、そのようなオブジェクトの動きに合うような音声を後から収録したりする場合、時間的制約の低さからコンテンツを高い精度で作り込むことが比較的容易である。一方、リアルタイムでの発話と同期させ、あたかもオブジェクトが話しているかのように表現するには、発話からの遅延を最小限にする必要があり、画質や精度の問題から応用範囲が限られていた。
【0004】
本発明はこうした課題に鑑みてなされたものであり、その目的は、発話に合わせて精度よく動作するオブジェクトを高精細に表現する技術を提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明のある態様は画像生成システムに関する。この画像生成システムは、発話者の音声に基づき推定された、当該発話者の顔の状態に係る情報を順次取得する状態情報取得部と、当該状態を反映させたオブジェクトモデルを生成し、その像をレイトレーシングにより描画した表示画像を生成する描画部と、を備えたことを特徴とする。
【0006】
本発明の別の態様は画像生成方法に関する。この画像生成方法は、発話者の音声に基づき推定された、当該発話者の顔の状態に係る情報を順次取得するステップと、当該状態を反映させたオブジェクトモデルを生成し、その像をレイトレーシングにより描画した表示画像を生成するステップと、を含むことを特徴とする。
【0007】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によれば、発話に合わせて精度よく動作するオブジェクトを高精細に表現できる。
【図面の簡単な説明】
【0009】
図1】本実施の形態を適用できる画像生成システムの構成例を示す図である。
図2】本実施の形態における画像生成部の内部回路構成を示す図である。
図3】本実施の形態における状態推定部および画像生成部の機能ブロックの構成を示す図である。
図4】本実施の形態における音声由来情報の一例として代表顔の重み係数を説明するための図である。
図5】本実施の形態における画像由来情報の一例として瞳孔の向きと瞼の開き具合を説明するための図である。
図6】本実施の形態における描画部の機能ブロックの構成をより詳細に示す図である。
図7】本実施の形態において構造データ生成部が構造データを生成する処理手順を示すフローチャートである。
図8】本実施の形態においてレイトレーシング部がレイトレーシングを実施する処理手順を示すフローチャートである。
図9】本実施の形態において構造データ生成部が図7のS14において生成する構造データの構成を例示する図である。
図10】本実施の形態において「AABB」の内部ノードが保持するデータの構造を例示する図である。
図11】本実施の形態において「プリミティブ」を定義する葉ノードが保持するデータの構造を例示する図である。
図12】本実施の形態における元の木構造と、それを平坦化した際のデータ構造を例示する図である。
図13】本実施の形態において構造データ生成部が内部ノードのデータを更新する処理手順を示すフローチャートである。
図14図13のS24において実施される、葉ノードのデータ更新処理の手順を示すフローチャートである。
図15】本実施の形態に適用できる、描画処理の分散システムを示す図である。
図16】本実施の形態の応用例を示す図である。
【発明を実施するための形態】
【0010】
図1は本実施の形態を適用できる画像生成システムの構成例を示している。画像生成システム8は、ユーザの発話の様子をコンピュータグラフィクスで表現する。以後、そのようにしてコンピュータグラフィクスで表されるオブジェクトを「ユーザキャラクタ」と呼ぶ。なおユーザキャラクタの外観は特に限定されない。例えばユーザ自身に酷似させてもよいし、全く別の人や動物などであってもよい。
【0011】
また本実施の形態は、ユーザのリアルタイムでの発話をユーザキャラクタが話しているように見せることを基本とするが、あらかじめ記録された音声に合わせてユーザキャラクタが話す画像を生成することもできる。画像生成システム8は、ユーザの音声や撮影画像を入力データとして、顔などの状態を推定する状態推定部12、および、推定結果に従いユーザキャラクタを含む表示画像を生成する画像生成部10を備える。
【0012】
状態推定部12は例えば、ユーザが話している音声のデータを取得し、顔全体の状態や、口、目など各種部位の状態を所定のレートで推定する。以後、音声から推定できる状態情報を「音声由来情報」と呼ぶ。状態推定部12はまた、ユーザが話している様子を撮影した動画像のデータを取得し、頭、顔、その他身体の部位の位置や姿勢、顔面の各種部位の状態などを所定のレートで推定してもよい。以後、撮影画像から推定できる状態情報を「画像由来情報」と呼ぶ。なお音声と撮影画像の双方を入力データとする場合、それらの同期はとれているものとする。
【0013】
上記の推定を精度よく実現するため、状態推定部12は、ディープニューラルネットワーク(DNN: Deep Neural Network)による学習モデル記憶部13を備えてよい。すなわちディープラーニングで実用化されている音声認識および画像認識の技術を利用し、実際の音声や撮影画像から上記のようなパラメータを推定してよい。図示するように状態推定部12は、別途設けられた学習システム16が学習した結果を学習モデル記憶部13に格納し利用してもよい。
【0014】
ここで学習システム16は、多様かつ大量の音声や撮影画像を入力データとして、人の表情や身体の動きを学習する学習部18と、その結果として、音声や撮影画像からそれらのパラメータを導出するためのモデルデータを蓄積していくデータベース20とを備える。学習システム16には、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、全結合型など周知のディープラーニングの技術を適用できるため、詳細な説明は省略する。また学習システム16が実行する処理はディープラーニングに限らずその他の機械学習であってもよい。
【0015】
画像生成部10は、状態推定部12が推定した結果を用いてユーザキャラクタを含む画像を所定のレートで生成する。すなわち状態推定部12に入力された音声を、ユーザキャラクタが話しているような動画像を生成する。状態推定部12が、複数のユーザの音声などを入力データとしてそれぞれの状態を推定することにより、画像生成部10は、それらに対応する複数のユーザキャラクタを含む画像を生成してもよい。
【0016】
画像生成部10が生成した画像は、表示部14によって表示される。表示部14は、液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなど一般的な表示装置でよく、例えば話し相手のユーザなど、ユーザキャラクタの様子を見ている別のユーザの端末に含まれていてもよい。このとき当該ユーザ端末は、状態推定部12が取得した音声のデータを並列して取得し、当該音声を、表示部14による動画表示と同期させて出力する音声出力部を備えてよい。
【0017】
画像生成システム8と表示部14は、インターネットなどのネットワークを介して通信を確立した個別の装置であってもよいし、一体的な装置であってもよい。例えば画像生成システム8は、話し相手のユーザなどの端末に備えられていてもよいし、当該端末と通信が可能なサーバなどに備えられていてもよい。後者の場合、画像生成システム8は、複数の表示部14に共通の画像を送信してもよい。また画像生成システム8自体も、全てが一体的な装置であってもよいし、ネットワークを介して接続された複数の装置で構成されていてもよい。
【0018】
さらに状態推定部12および画像生成部10の少なくともどちらかは、その一部が異なる装置に備えられていてもよい。例えば状態推定部12や画像生成部10の少なくとも一部は、クラウドコンピューティングで実現されてもよい。状態推定部12に入力される音声や撮影画像のデータは、発話しているユーザの端末からネットワークを介して送信されてもよい。一方、画像生成システム8の少なくともいずれかの機能は、当該ユーザの端末に含まれていてもよい。
【0019】
このように画像生成システム8の各機能は様々な切り分けが可能であり、データの流れが同じであれば、介在する装置やそれを接続するネットワークの構成は限定されない。例えば状態推定部12や画像生成部10を個別の装置とした場合、それぞれ状態推定装置、画像生成装置と読み替えることができる。また画像生成システム8は表示部14や、ユーザキャラクタの画像と同期させて音声を出力する機構を含んでもよい。
【0020】
図2は画像生成部10の内部回路構成を示している。画像生成部10は、CPU(Central Processing Unit)22、GPU(Graphics Processing Unit)24、メインメモリ26を含む。これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、表示部14へデータを出力する出力部36、図示しない入力装置などからデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
【0021】
CPU22は、記憶部34に記憶されているオペレーティングシステムを実行することにより画像生成部10の全体を制御する。CPU22はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU22からの描画命令に従って描画処理を行う。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。なお状態推定部12も同様の回路構成で実現できる。
【0022】
図3は、状態推定部12および画像生成部10の機能ブロックの構成を示している。なお図では、発話者であるユーザのユーザ端末50および、前述の表示部14との関係も例示している。同図において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、図2で示したCPU22、GPU24、メインメモリ26、その他のLSIで構成することができ、ソフトウェア的には、メインメモリ26にロードされた、通信機能、画像処理機能、各種演算機能などを実現するプログラムによって実現される。
【0023】
したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。状態推定部12は、音声に基づき音声由来情報を生成する音声由来情報生成部52、および、撮影画像に基づき画像由来情報を生成する画像由来情報生成部54を備える。
【0024】
音声由来情報生成部52は、入力された音声に基づき、表情や顔の部位の形状などの状態を推定する。単純な例として、発話に含まれる音(オン)の母音によって、口の形状や顔の筋肉の動きを推定できる。さらに声の大きさや高さから、口の開き具合や、感情に基づく表情を推定できる。これらの推定処理は、入力された音声信号のスペクトログラムなどに基づき、学習モデル記憶部13に格納され学習モデルのデータを利用して実行する。
【0025】
音声由来情報生成部52は、推定される顔や部位の各種状態を所定のフォーマットで表した音声由来情報を所定のレートで生成し、画像生成部10に送信する。音声由来情報のフォーマットは限定されないが、例えば、あらかじめ準備した複数の代表顔に対する重み係数を利用する。すなわち、重み係数を変化させて代表顔を合成することにより多様な表情を作り出せることを利用し、推定した表情を当該重み係数で表現する。この場合、学習モデル記憶部13には、入力された音声から重み係数を導出するためのモデルデータを格納しておく。
【0026】
画像由来情報生成部54は、入力された撮影画像に基づき、頭部や顔の部位の状態を推定する。例えば画像由来情報生成部54は、ディープラーニングに基づく画像解析や画像認識により、顔の向き、頭部の位置や姿勢、瞳孔の向き、瞼の開き具合などを推定する。ただし画像由来情報生成部54が推定する状態情報の種類や数は特に限定されない。画像由来情報生成部54は、推定される各種状態を所定のフォーマットで表した画像由来情報を所定のレートで生成し、画像生成部10に送信する。
【0027】
なお同図において状態推定部12は、ユーザの音声および撮影画像を、当該ユーザが使用しているユーザ端末50から受信することを表している。ただしそれらのデータの送信元はユーザ端末50に限らず、状態推定部12に直接接続したマイクロフォンや撮像装置であってもよいし、音声データや撮影画像のデータを格納している記憶装置などでもよい。
【0028】
また、音声由来情報および画像由来情報を相補完的に利用することで、ユーザキャラクタの精度を向上させることができるが、求められる精度や処理能力によっては、音声由来情報および画像由来情報のどちらか一方のみを利用してもよい。この場合、状態推定部12は音声および撮影画像のどちらか一方を入力データとし、対応する由来情報取得部を機能させればよい。
【0029】
画像生成部10は、状態推定部12から音声由来情報および画像由来情報の少なくともいずれかを取得する状態情報取得部56、ユーザキャラクタを含む画像を描画する描画部60、いずれかのユーザによる操作の内容を取得する入力情報取得部62、および、描画に用いるモデルデータを格納するモデルデータ記憶部64を備える。状態情報取得部56は、状態推定部12の音声由来情報生成部52、画像由来情報生成部54から送信された、音声由来情報および画像由来情報の少なくともいずれかを所定のレートで取得する。
【0030】
描画部60は、表示対象のオブジェクトモデルのデータをモデルデータ記憶部64から読み出し、ユーザキャラクタを含む表示画像を所定のレートで生成する。ここでオブジェクトモデルのデータとは例えば、ユーザキャラクタなど表示対象のオブジェクトのメッシュデータ、テクスチャデータ、法線マップ、材質のデータなどである。
【0031】
描画部60は、表示対象の3次元空間に、音声由来情報や画像由来情報に対応する状態のユーザキャラクタのオブジェクトを生成、配置し、レイトレーシングにより像を描画する。一実施形態として、描画部60はまず、音声由来情報が表す重み係数に従い代表顔に重みをつけて合成し、状態推定部12が音声に基づき推定した状態の顔や頭部を生成する。ただしこの段階では顔を画像として描画する代わりに、プリミティブの頂点の3次元位置座標を取得する。
【0032】
このためモデルデータ記憶部64には、状態推定部12が用いた各代表顔のプリミティブの頂点座標と、ユーザキャラクタの標準状態におけるプリミティブの頂点座標とを格納しておく。ここで標準状態とは、真顔で正面を向いている状態など基準となる状態である。標準状態の頂点座標を基点とし、重み係数を各代表顔の頂点に適用することにより各頂点を変位させた結果が、推定された顔の頂点座標となる。そして描画部60は、当該頂点座標を有するメッシュに対し、テクスチャ、法線マップ、材質に基づく反射係数などを適用し、レイトレーシングによりユーザキャラクタを描画する。
【0033】
ここで法線マップ(Normal Map)はオブジェクト表面の法線ベクトルの分布であり、法線の向きに応じて光の反射を計算し濃淡をつけるために利用する。法線マップにより、プリミティブの粒度が粗くとも細かい凹凸を表現できる。また描画部60は、材質のデータに基づき、サブサーフェス・スキャタリング(Subsurface Scattering)を踏まえた皮膚の質感を表現してもよい。
【0034】
また描画部60は、音声では推定が難しい、頭部の位置や姿勢、顔の向き、瞼の開き具合、瞳孔の向きなどを、画像由来情報に基づき特定し、ユーザキャラクタのオブジェクトに反映させる。このとき描画部60は、目が閉じている場合は瞼(肌)のテクスチャ、開いている場合は眼球のテクスチャ、といったように、適用するテクスチャを状態の変化に応じて切り替えてよい。画像由来情報を用いて制御する部位は頭部や目に限らず、眉、肩、手、胴体、服などのいずれでもよい。また描画部60は、画像由来情報としてユーザの感情を取得し、それに基づきユーザキャラクタの表情を調整してもよい。
【0035】
描画部60はまた、モデルデータ記憶部64に格納された、背景、光源、他に表示すべきオブジェクトなどのデータを用いて、ユーザキャラクタの周囲の画像を描画したり、ユーザキャラクタ自体の描画に反映させたりしてよい。ユーザキャラクタ、背景、光源などは、それぞれ複数種類のデータを準備しておき、ユーザ自身が選択できるようにしてもよい。ユーザキャラクタはユーザ自身がモデルデータを生成し、ユーザの識別情報に対応づけてモデルデータ記憶部64に格納しておいてもよい。
【0036】
入力情報取得部62は、ユーザ端末50などから、表示内容を制御するユーザ操作を受け付ける。例えば入力情報取得部62は、ユーザキャラクタ、背景、光源などの選択、表示の画角を決定づける仮想カメラの位置や姿勢の操作などをユーザ端末50などから受け付ける。描画部60は、このようなユーザ操作の内容を入力情報取得部62から取得し、オブジェクトの描画に反映させる。
【0037】
入力情報取得部62はさらに、ユーザキャラクタの状態を変化させるユーザ操作をユーザ端末50などから受け付けてもよい。例えばユーザが、ユーザ端末50に表示されている「笑い」を表すアイコンを指示したら、対応するユーザキャラクタの表情に、笑いの成分を追加する。この処理は例えば描画部60が、代表顔のうち笑い顔に分類される顔に対する重み係数を相対的に増加させることにより実現できる。同様の操作は、泣き顔、怒り顔、困り顔などの様々な表情の種類や、喜怒哀楽などの様々な感情の種類に適用できる。
【0038】
このためモデルデータ記憶部64に格納する各代表顔のデータには、それが表す表情や感情の種類を対応づけておく。これによりユーザはユーザキャラクタの表情として、所望の表情または感情を、実際の自分の顔より強調して表すことができる。同様の処理による特定の表情や感情の強調は、撮影画像や音声から推定されるユーザの感情に基づき、描画部60が自動で行ってもよい。
【0039】
これまで述べたユーザ操作は、発話者のユーザ端末50から取得するのに限らず、ユーザキャラクタを見ている会話相手など、他のユーザの端末から受け付けてもよい。またユーザ操作を受け付けるタイミングは特に限定されず、入力情報取得部62がユーザ操作を取得する都度、描画部60はその内容を描画処理に反映させてよい。そのようにして生成された画像は、上述のとおり表示部14に順次送信され、表示される。
【0040】
ここで表示部14は、会話相手のユーザなどの端末において実行されている、テレビ会議などのアプリケーション上で機能していてもよい。この場合、発話者の音声はユーザ端末50から直接受信してもよい。表示部14を備えるユーザ端末には、音声と画像を同期させる、図示しない同期出力部を設けることにより、発話者の代わりにユーザキャラクタが話している様子を見せることができる。当然、表示部14を見ているユーザの音声やユーザキャラクタの画像を、同様の仕組みによりユーザ端末50に送信することで、双方向のコミュニケーションが可能となる。
【0041】
図4は、音声由来情報の一例として代表顔の重み係数を説明するための図である。代表顔70a、70b、70c、70d、・・・は顔、あるいはそれを含む頭部の、所定数のバリエーションであり、目、口、眉、頬など顔の可動部位の代表的な状態の組み合わせで構成される。上述のとおり最も単純な例では、ア、イ、ウ、エ、オ、の母音の口の形で5通りの代表顔を生成できる。そのような音(オン)によるバリエーションのほか、笑い顔、怒り顔、泣き顔など、各種感情やその度合いに依存した顔を準備する。
【0042】
代表顔に与える重み係数を制御し、当該重みの割合で基本顔を合成することにより、任意の表情を作り出すことができる。ここで「合成」とは、モーフィングなど周知の演算手法により中間顔を作り出す処理である。図では代表顔70a、70b、70c、70d、・・・に重み係数k1、k2、k3、k4、・・・を与え、その割合で合成することで、ターゲットとする顔72を作り出す様子を示している。つまり代表顔をN個準備する場合、重み係数はN個の要素を持つ数列{k1,k2,k3,k4,・・・,kN}となる。
【0043】
重み係数を音声由来情報とする場合、図1で示した学習システム16では、音声を入力データとして、正しい顔72が導出される重み係数を学習する。状態推定部12は、当該学習結果を利用し、運用時に入力された音声データを基に重み係数を導出する。なお上述のとおり状態推定部12は重み係数を取得すればよく、それを用いて顔72を生成する必要はない。例えば各代表顔に4バイトの動小数点数で重み係数を与えた場合、重み係数の数列全体で合計4Nバイトの情報となる。
【0044】
図5は、画像由来情報の一例として瞳孔の向きと瞼の開き具合を説明するための図である。図の横軸は瞳孔の向きの変化、縦軸は瞼の開き具合の変化であり、それらの変化における代表的な目の様子を矩形内に表している。目80aは、瞼が全開で瞳孔が正面を向いた状態である。これを基準とすると、目80bは瞳孔が右を向いた状態、目80cは瞳孔が左を向いた状態である。また目80dは瞼が半分開いた状態、目80eは瞼が閉じた状態である。
【0045】
画像由来情報として、例えば瞳孔の向きは、水平方向、垂直方向の2次元における瞳孔中心の位置座標を、各要素4バイトの浮動小数点数などで表す。「瞼の開き具合」は例えば、閉じているときを0%、全開にしているときを100%としたときの割合を、左右の目それぞれについて4バイトの浮動小数点数などで表す。描画部60はこれらの情報に基づき、目の輪郭の位置や眼球のテクスチャを調整する。また瞼が閉じているときは、目の領域のテクスチャを肌のデータに切り替える。
【0046】
図1に示した学習システム16では、撮影画像を入力データとして特徴点抽出などの画像解析を行い、瞳孔の向きや瞼の開き具合が正しく導出されるモデルを学習する。状態推定部12は当該学習結果を利用し、運用時に入力された撮影画像のデータを基に、眼球の向きや瞼の開き具合を導出する。なお頭部の位置や姿勢についても同様である。頭部の位置は、例えば重心の3次元位置座標を、各要素4バイト、合計12バイトの浮動小数点数などで表す。頭部の姿勢は、ヨー、ピッチ、ロールの3軸周りの回転角を、各要素4バイト、合計12バイトの浮動小数点数などで表す。
【0047】
図6は、描画部60の機能ブロックの構成をより詳細に示している。本実施の形態において描画部60は、レイトレーシングにより表示画像を生成する。レイトレーシングは、視点から表示画像平面の各画素を通る光線(レイ)を発生させ、オブジェクト表面での到達点における色、材質、法線や、光源の位置、性質などに基づく演算により、画素値を決定する周知の手法である。
【0048】
描画部60は、ユーザキャラクタを含む表示対象の空間の構造を表すデータを生成する構造データ生成部90、生成された構造データを格納する構造データ記憶部92、および、構造データを用いてレイトレーシングにより画像を描画するレイトレーシング部94を備える。構造データ生成部90は、表示対象の空間に、ユーザキャラクタを含む表示対象のオブジェクトを配置し、当該配置を表す空間構造を所定のフォーマットで生成する。
【0049】
例えば構造データ生成部90は、バウンディングボリューム階層(BVH:Bounding Volume Hierarchy)で表示空間を表す。BVHは、オブジェクトの形状を規定する三角形などのプリミティブを内包するバウンディングボックスを木構造により階層化したデータであり、プリミティブへのレイの交差判定を効率化するのに用いられる。バウンディングボックスとして、3次元空間の軸と平行に空間を区切るAABB(Axis-Aligned Bounding Box)を用いることで処理の負荷をより軽減できる。
【0050】
BVHは、1つ以上の3角形に外接するAABBからなる葉ノード、2つ以上のAABBに外接するAABBからなる内部ノード、さらにそれらに外接する内部ノード、といったようにAABBを階層化し、最終的に表示空間全体からなるAABBをルートノードとする木構造を有する。描画時は、レイが交差するAABBを上層から辿ることにより、到達点のプリミティブを効率的に導出する。構造データ生成部90は、少なくとも音声由来情報からユーザキャラクタを表すプリミティブの頂点を求め、BVHを生成する。
【0051】
テレビ会議などユーザキャラクタが大きく移動したり変形したりすることが考えにくい態様では、発話の途中でBVHの木構造そのものが変化する可能性が低い。そこで構造データ生成部90は、一旦生成したBVHにおいて、木構造自体は維持したまま、ノードが保持する情報のみを必要に応じて更新することにより高速処理を実現する。構造データ記憶部92は、構造データ生成部90が生成したBVHなどの構造データを格納する。格納されたデータのうち一部は、ユーザキャラクタなどオブジェクトの動きに応じて、構造データ生成部90により随時更新される。
【0052】
レイトレーシング部94は構造データ記憶部92に格納されている構造データを用いて、レイトレーシングにより表示画像を生成する。構造データ生成部90による構造データの生成処理と、レイトレーシング部94による描画処理は非同期で行うことが望ましい。すなわちレイトレーシング部94は、構造データ生成部90が構造データを更新するタイミングに関わらず、構造データ記憶部92に格納されている最新のデータを用いて画像を描画する。これにより、構造データの生成処理が描画処理を阻害しないようにできる。
【0053】
図7は、構造データ生成部90が構造データを生成する処理手順を示すフローチャートである。この処理は、画像生成部10の状態情報取得部56が、状態推定部12から音声由来情報を取得したことを契機に開始される。構造データ生成部90は当該音声由来情報を取得し(S10)、それに基づき、ユーザキャラクタを構成するプリミティブの頂点データを生成する(S12)。
【0054】
例えば構造データ生成部90は、ユーザキャラクタの標準状態を表すモデルデータをモデルデータ記憶部64から読み出す。モデルデータには、標準状態におけるプリミティブの頂点群の3次元座標が設定されている。そして構造データ生成部90は、S10で得られた音声由来情報に基づき各頂点を変位させることにより、音声に対応する頂点群の3次元座標を算出する。なお頂点の変位は、状態推定部12から送信される音声由来情報のみによらず、画像由来情報、ユーザ操作の内容、音声に係るその他の情報などを加味して決定してよい。
【0055】
次に構造データ生成部90は、生成した頂点データを用いて、BVHなど空間の構造データを生成し(S14)、構造データ記憶部92に格納する(S16)。ユーザが停止操作を行うなど処理を停止させる必要がない間は(S18のN)、S10からS16の処理を繰り返す。この際、構造データ生成部90は上述のとおり、一旦生成した構造データのうち必要な部分のみを更新する。BVHの場合、木構造はそのままとし、AABBやプリミティブ自体のデータを必要に応じて変化させればよい。処理を停止させる必要が生じたら、構造データ生成部90は処理を停止する(S18のY)。
【0056】
図8は、レイトレーシング部94がレイトレーシングを実施する処理手順を示すフローチャートである。この処理は、構造データ記憶部92に最初の構造データが格納されたことを契機に開始される。まずレイトレーシング部94は、モデルデータ記憶部84から、環境光など画像の描画に必要なパラメータを読み出し、設定する(S20)。またレイトレーシング部94は、ユーザキャラクタの周囲に存在するその他のオブジェクトの構造データも、モデルデータ記憶部84から読み出し、設定する(S22)。
【0057】
なお「その他のオブジェクト」には、ユーザキャラクタのうち動きを表さない部分や背景などを含めてよい。そしてレイトレーシング部94はBVHなど、ユーザキャラクタの最新の構造データを構造データ記憶部92から読み出して設定する(S24)。そしてレイトレーシング部94は構造データを用い、表示画像平面の画素ごとに発生させたレイの交差判定を行うことにより、画素値を算出し画像を生成する(S26)。
【0058】
レイトレーシングの具体的な演算には、一般的に行われているモデルを適用できる。ユーザが停止操作を行うなど処理を停止させる必要がない間は(S28のN)、S20からS26の処理を繰り返す。処理を停止させる必要が生じたら、レイトレーシング部94は処理を停止する(S28のY)。
【0059】
図7のS12において、構造データ生成部90が頂点データを生成する際の疑似コードを以下に示す。
【0060】
【数1】
【0061】
上記処理は音声由来情報として、N個の代表顔に対する重み係数を取得した場合を例示している。この場合、モデルデータ記憶部64には、N個の代表顔それぞれについて、頂点群の3次元位置座標を格納しておく。そして、各代表顔のj番目の頂点の位置座標と、標準状態の顔における、対応する頂点の位置座標との差分を、各代表顔に与えられている重み係数で重みづけして足し合わせる。
【0062】
当該重みづけ和は、ターゲットとする顔の頂点の、標準状態からの変位ベクトルを表す。したがって標準状態の各頂点に当該変位ベクトルを加算することで、表したい顔の頂点座標の絶対値を導出できる。なお上記ループ処理は、ユーザキャラクタのうち動きを与える顔やその部位全体に対しまとめて行ってもよいし、顔全体、上の歯、下の歯、舌など、所定の部位単位で行ってもよい。
【0063】
図9は、構造データ生成部90が図7のS14において生成する構造データの構成を例示している。この例で構造データは、上層のノードが下層の2つのノードへのインデックスを持つ二分木のBVHとしている。図において「AABB」は、内部に下層のAABBを含むAABBの内部ノードであり、「プリミティブ」は、内部にプリミティブのみを含むAABBの葉ノードである。
【0064】
図10は、「AABB」の内部ノードが保持するデータの構造を例示している。図において、「aabb0」、「aabb1」は下層の2つのAABBの情報を表す。このうち「min.x」、「min.y」、「min.z」は、各ボックスが及ぶ範囲のうち表示対象の空間のx軸、y軸、z軸方向の最小値、「max.x」、「max.y」、「max.z」はx軸、y軸、z軸方向の最大値である。
【0065】
また「leftIndex」、「rightIndex」はそれぞれ、下層ノードのうち左側のノード、右側のノードへのインデックスである。当該インデックスは、0以上であれば下層の内部ノードへのインデックスを表し、0未満であれば下層の葉ノード、すなわちプリミティブを定義するノードへのインデックスを表す。なお、あるノードの下層にある2つのAABBは、範囲の重複を許容する。
【0066】
図11は、「プリミティブ」を定義する葉ノードが保持するデータの構造を例示している。葉ノードはプリミティブである三角形の集合体を1つのノードとし、それぞれ、三角形の個数と、交差判定のために座標変換してなる各三角形の頂点座標を保持する。座標変換により交差判定を効率化する手法は、例えばSven Woop, Carsten Benthin, Ingo Wald、"Watertight Ray/Triangle Intersection"、Journal of Computer Graphics Tecniques、2013年、Vol. 2, No. 1, 2013, p. 65-82に開示される。
【0067】
図において「numTriangles」は三角形の個数である。「index of primitive Info」は、三角形ごとの材質や、UV座標が格納されている頂点バッファなどのインデックスである。2段目以下の「primitive_data」は、1行で1つの頂点データ、3行で1つ分の三角形(例えば三角形A、三角形B)の頂点データを、それぞれ4バイトの浮動小数点数で表す。本来、頂点データは三角形ごとに、3頂点×3次元=9個の数値で表される。一方、図示する例は、そのような頂点データを、4×3行=12個の値に変換して保持することにより上記Woopの手法を実現し、交差判定の効率化と判定抜けの軽減を図っている。ただし頂点データの形式をこれに限定する主旨ではない。
【0068】
構造データ生成部90は、BVHのデータを既存の手段で生成してよい。例えばMartin Stich, Heiko Friedrich, Andreas Dietrich、"Spatial Splits in Bounding Volume Hierarchies"、Proceedings of the Conference on High Performance Graphics 2009、2009年8月、p. 7-13に開示される手法を用いることができる。
【0069】
また構造データ生成部90は、生成した木構造のデータを、データ上で平坦化、すなわち一連のデータ配列にして構造データ記憶部92に格納することにより、GPUによるアクセスを効率化する。図12は、元の木構造と、それを平坦化した際のデータ構造を例示している。図の左側は図9と同じ木構造100を示している。ここで各ノードの左上には、内部ノードおよび葉ノードのそれぞれで一意に与えたインデックスを付している。プリミティブを定義する葉ノードのインデックスには下線を施している。
【0070】
構造データ生成部90はこのような木構造を平坦化し、図の右側に示すように、各内部ノード(「AABB」と表記)が保持するデータ列102と、各葉ノード(「プリミティブ」と表記)が保持するデータ列104を生成する。データ列102は、各内部ノードが保持する、図10に示した4行のデータを、記憶領域においてインデックスに対応するアドレスに順に格納したものである。データ列104も同様に、各葉ノードが保持する、図11に示したデータを、記憶領域においてインデックスに対応するアドレスに順に格納したものである。
【0071】
図示するデータ列102によれば、0番のルートノードの下層に、当該AABBに内包される1番と3番の内部ノードがある。また1番の内部ノードの下層に、当該AABBに内包される2番の内部ノードと、0番の葉ノードがある。2番の内部ノードの下層に、当該AABBに内包される1番と2番の葉ノードがある。このような連鎖を順次辿ってアドレスアクセスすることにより、交差するプリミティブのノードに効率的に到達する。
【0072】
レイトレーシング部94は、まずデータ列102を参照して上層から交差判定を行い、葉ノードに到達したらデータ列104を参照し、到達する三角形を特定する。レイトレーシング部94をGPU24で実装する場合、これらの処理を細かい粒度で並列に行え、高速描画を実現できる。この場合、構造データ記憶部92にはCPUメモリとGPUメモリを含め、構造データ生成部90は、生成した木構造のデータをCPUメモリ上で平坦化したうえ、GPUメモリにコピーする。
【0073】
一例として2万個の頂点からなるユーザキャラクタの空間を表すBVHを構築する場合、各頂点の更新に0.02msec、木構造の生成に1100msec、頂点座標の変換やデータの平坦化に20~30msec、CPUメモリからGPUメモリへのデータコピーに1.7msec程度の時間を要することもあり得る。この場合、音声由来情報が送信される都度、上記の処理を行うと、BVHの構築までに1130msec程度の遅延が生じることになる。一方、上述のとおり木構造を生成し直すことなく、各ノードが保持する情報のみを更新するようにすれば、上記のような例でも所要時間は8msec程度となり格段に高速化できる。
【0074】
この場合、構造データ生成部90は、図9に示した木構造を更新せず、図10に示したデータのうち、下層のノードへのインデックス「leftIndex」、「rightIndex」も更新しない。また図11に示したデータのうち、ノードに含まれる三角形の数「numTriangles」や、三角形の頂点データなどへのインデックス「index of primitive Info」も更新しない。結果として構造データ生成部90は、GPUメモリに格納されたデータ列102およびデータ列104のうち、図12において破線で囲まれたデータのみを必要に応じて書き換えればよい。
【0075】
図13は、構造データ生成部90が内部ノードのデータを更新する処理手順を示すフローチャートである。構造データ生成部90はまず、ルートノードのAABBのデータ、すなわち図10の構造を有するデータを読み出す(S20)。そして下層のノードへのインデックス「leftIndex」、「rightIndex」を参照し、下層が内部ノードか葉ノードかを確認する(S22)。上述のインデックス設定規則によれば、インデックスが負の値であれば葉ノードである。
【0076】
葉ノードであれば(S22のY)、図14に示す葉ノードのデータ更新処理を実施する(S24)。内部ノードであれば(S22のN)、下層の内部ノードについてデータ更新処理を実施する(S26)。S26の処理の手順は、図示しているフローチャートに他ならない。すなわち下層に内部ノードがある限り、図示するフローチャートが、入れ子状態で下層のノードに対し繰り返される。S24、S26のいずれの処理によっても、下層のノードのAABBが必要に応じて更新される。
【0077】
構造データ生成部90は、下層の2つのノードについて、S24および/またはS26の処理を実施する(S28のN)。2つのノードについて処理が完了したら(S28のY)、構造データ生成部90は、それらの下層のAABBを包含するようなAABBを求め、GPUメモリのデータを更新して処理を終了する(S30)。上述のとおりこの処理は、S26において全ての内部ノードに対し行われる。
【0078】
図14は、図13のS24において実施される、葉ノードのデータ更新処理の手順を示すフローチャートである。まず構造データ生成部90は、対象ノードに含まれる三角形のうち1つの三角形のデータを読み出す(S40)。このデータは、図11に示した「三角形A」などのデータである。そして構造データ生成部90は、そのうちの1頂点について、新たな頂点座標を取得する(S42)。すなわち音声由来情報などに基づく重み係数を用い、上述のとおり対応する頂点の3次元座標を算出する。
【0079】
そして頂点の変位に応じて、GPUメモリにおけるAABBのデータを更新する(S44)。三角形の3つの頂点について、S42、S44の処理を繰り返す(S46のN)。3頂点について最新の座標が得られたら(S46のY)、構造データ生成部90は、GPUメモリにおける対象の三角形のデータを更新する(S48)。S40からS48の処理を、ノードに含まれる全ての三角形について繰り返す(S50のN)。全ての三角形について処理が完了したら終了する(S50のY)。この時点で、当該ノードのAABBは、更新された三角形が全て包含されるように更新されている。
【0080】
図15は、本実施の形態に適用できる、描画処理の分散システムを示している。図における描画部60は、図3の描画部60に対応し、画像生成部10の一部を構成する。また描画部60は図6に示す構造データ生成部90、構造データ記憶部92、レイトレーシング部94の少なくとも一部を備えてよいが、図示を省略している。一方、この態様における描画部60は、ネットワークを介して画像生成部10と接続した描画サーバ120a、120b、120c、120d、・・・に描画処理の少なくとも一部を委託する。
【0081】
描画部60は、タスク依頼部110、部分画像取得部112、および接続部114を備える。タスク依頼部110は、画像平面を分割し、それぞれを描画サーバ120a、120b、120c、120dに割り当てて描画のタスクを依頼する。例えば表示画像を2行2列に分割し、各部分画像を描画するタスクを4つの描画サーバ120a、120b、120c、120dに依頼する。この際、タスク依頼部110は、各領域を描画するのに必要な、頂点座標、テクスチャ、材質、光源情報などのデータをセットで送信する。
【0082】
各描画サーバ120a、120b、120c、120dは、それらのデータセットを用い、委託された部分画像の描画を、それぞれ独立に実行する。部分画像取得部112は、各描画サーバ120a、120b、120c、120dから、描画結果である部分画像のデータを取得する。接続部114は部分画像を接続して表示画像を生成し、表示部14に出力する。
【0083】
このようなシステムで、リソースが潤沢な複数の装置を利用し描画処理を並行して行うことにより、より低遅延での表示が可能になる。この場合も描画部60に含まれる構造データ生成部90が、上述したBVHのような構造データを同様に生成し、各描画サーバ120a、120b、120c、120dに順次送信すればよい。
【0084】
図16は、本実施の形態の応用例を示している。図はテレビ会議システムを想定している。発話者であるユーザ130の音声や顔の様子は、ユーザ端末132が備えるマイクロフォンと撮像装置により継続して取得される。そして、それらから得られる音声由来情報および画像由来情報に基づき描画されたユーザキャラクタの画像が、相手のユーザ端末134の表示部14に表示される。
【0085】
発話者のユーザ端末132にも当然、相手のユーザキャラクタの画像を表示してよい。ユーザ端末132、134がそれぞれ画像生成システム8を備えているとすると、ユーザ端末132からユーザ端末134へ、少なくとも音声データを送信すれば、ユーザ端末134においてユーザキャラクタを描画できる。描画結果を音声と同期させて出力することで、ユーザキャラクタが話しているように見せることができる。さらに送信元のユーザ端末132内部で、画像由来情報を生成しユーザ端末134へ送信すれば、ユーザ端末134において表示されるユーザキャラクタの精度を上げることができる。
【0086】
いずれの場合も撮影画像のデータを送信せずにリアルな表現が可能となり、伝送データのサイズを格段に軽減できる。結果として、伝送帯域が潤沢でない環境においても支障なく会話を続けられる可能性が高くなる。また同図では、ユーザ端末132の画面に、自分のユーザキャラクタの表情を調整するためのユーザインターフェース136を表示している。この例では、笑い、悲しみ、怒りを表すアイコンを表し、いずれかの成分を増幅させる操作を受け付ける。
【0087】
例えば笑いを表すアイコンを、カーソルなどで指示することにより、相手のユーザ端末134に表示されているユーザキャラクタに、実際より強く笑顔の成分が表れるようにする。この場合、描画部60は、音声由来情報から得られる重み係数のうち、笑顔に分類されている代表顔の重み係数を相対的に増加させる調整を行う。相手のユーザ端末134に画像生成部10を設ける場合、笑いのアイコンが指示された旨の情報をユーザ端末132から送信することにより、ユーザ端末134で当該調整処理を実現できる。
【0088】
図では3種類の感情を調整可能としたが、感情の数や種類は限定されない。また操作内容はアイコンが指示されたか否かの2択に限定されず、強調の度合いを調整できるようにしてもよい。例えばユーザ端末132に、度合いを調整するためのスライドバーを感情ごとに表示してもよい。なお描画部60は、ユーザ操作とは独立して、音声や画像から推測される感情に基づき重み係数を調整し、ユーザキャラクタにおける表情の強調を行ってよい。
【0089】
またユーザ端末132は、表情の調整のほか、上述のとおり仮想カメラの位置や姿勢の調整、ユーザキャラクタ自体の選択や作成、背景、光源、他のオブジェクトの選択などを受け付けるようにしてもよい。表示部14には、テレビ会議に参加している複数のメンバーのユーザキャラクタを表示してよい。この場合も、各メンバーのユーザ端末から送信が必要なデータは音声データで充足するため、人数が増えても伝送データサイズの増大を抑えることができる。
【0090】
本実施の形態はテレビ会議のほか、電子ゲーム、映画、ニュースなどの配信コンテンツ、テレビジョン放送などにも応用できる。3次元グラフィクスの映像コンテンツに応用する場合、声優の音声データと画像由来情報のみで、登場キャラクタの顔の動きを声に合わせることができる。また同じキャラクタであっても、異なる言語に合わせて口を動かすことができる。さらに音声に伴う豊かな感情表現を実現できる。
【0091】
また従来のモーションキャプチャと組み合わせることにより、キャラクタ全身のショットにおいても精細な顔の動きを表現し、音声と同期したよりリアルな映像を提示できる。さらに、バーチャルなアナウンサーや歌手などへの応用も容易になる。
【0092】
以上述べた本実施の形態によれば、音声や撮影画像を解析して発話者の状態を推定し、それを反映させたオブジェクトモデルをレイトレーシングにより即時に描画する。例えば機械学習モデルにより、音声データから代表顔の重み係数を即時に導出する。また表示対象の空間構造をBVHなどにより表すとともに、状態変化に対してはノードの情報のみを更新する。さらに当該更新処理と描画処理を非同期で行う。これらのことにより、音声入力に対し即時の描画が可能となり、音声に合わせて話すオブジェクトを低遅延でよりリアルに表現できる。
【0093】
テレビ会議に応用した場合、相手の端末に撮影画像を送信する必要がなくなることから、通信状況によらず円滑に会議を進行できる可能性が高くなる。また声に合わせて口や表情などの緻密な動きを表現できるため、高品質かつ違和感のない映像コンテンツを容易に作製できる。さらに代表顔の重み係数をベースにオブジェクトの表情を制御することにより、感情表現を実際より豊かにすることが容易になり、コミュニケーションを活性化できる。
【0094】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【産業上の利用可能性】
【0095】
以上のように本発明は、画像生成装置、画像生成サーバ、ユーザ端末、ゲーム装置、パーソナルコンピュータなど各種情報処理装置や、それらのいずれかを含む画像生成システムなどに利用可能である。
【符号の説明】
【0096】
8 画像生成システム、 10 画像生成部、 12 状態推定部、 13 学習モデル記憶部、 14 表示部、 16 学習システム、 22 CPU、 24 GPU、 26 メインメモリ、 32 通信部、 34 記憶部、 36 出力部、 50 ユーザ端末、 52 音声由来情報生成部、 54 画像由来情報生成部、 56 状態情報取得部、 60 描画部、 62 入力情報取得部、 64 モデルデータ記憶部、 90 構造データ生成部、 92 構造データ記憶部、 94 レイトレーシング部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16