(57)【要約】【課題】補正後ＭＣデータをリアルタイム生成する。【解決手段】本発明の一態様によれば、データ補正装置は、取得部と、補正部とを含む。取得部は、第１の単位時間に関連付けられる第１の位置データセットを取得し、第１の位置データセットの取得後に第１の単位時間よりも後の第２の単位時間に関連付けられる第２の位置データセットを取得する。補正部は、第１の位置データセット、第１の単位時間に関連付けられる第１の補正後位置データセット、および第２の位置データセットのうち少なくとも１つを含む参照位置データセットに基づいて、第２の単位時間に関連付けられる第２の補正後位置データセットをリアルタイム生成する。【選択図】      図１
2020102272.tif 000002
【特許請求の範囲】
【請求項１】
第１の単位時間に関連付けられる第１の位置データセットを取得し、前記第１の位置データセットの取得後に前記第１の単位時間よりも後の第２の単位時間に関連付けられる第２の位置データセットを取得する取得部と、
前記第１の位置データセット、前記第１の単位時間に関連付けられる第１の補正後位置データセット、および前記第２の位置データセットのうち少なくとも１つを含む参照位置データセットに基づいて、前記第２の単位時間に関連付けられる第２の補正後位置データセットをリアルタイム生成する補正部と
を具備する、データ補正装置。
【請求項２】
前記補正部は、前記第１の位置データセットおよび前記第１の補正後位置データセットのうち少なくとも一方を含む前記参照位置データセットに基づいて、前記第２の補正後位置データセットを予測生成する、請求項１に記載のデータ補正装置。
【請求項３】
前記補正部は、前記第１の補正後位置データセットおよび前記第２の補正後位置データセットに基づく内挿を行い、前記第１の単位時間と前記第２の単位時間との間にある第３の単位時間に関連付けられる第３の補正後位置データセットを補間生成する、請求項２に記載のデータ補正装置。
【請求項４】
前記取得部は、前記第１の位置データセットの取得後かつ前記第２の位置データセットの取得前に、前記第３の単位時間に関連付けられる第３の位置データセットを取得し、
前記補正部は、（ａ）前記第３の位置データセットが取得される時よりも前に、前記第１の位置データセットおよび前記第１の補正後位置データセットのうち少なくとも一方を含む前記参照位置データセットに基づいて、前記第２の補正後位置データセットを予測生成し、（ｂ）前記第３の位置データセットが取得される時またはそれよりも前に、前記第１の補正後位置データセットおよび前記第２の補正後位置データセットに基づく内挿を行い、前記第３の補正後位置データセットを補間生成する、
請求項３に記載のデータ補正装置。
【請求項５】
前記第１の単位時間から前記第２の単位時間までの単位時間数は、前記補正部によって予測生成された補正後位置データセットの精度に基づいて動的に制御される、請求項３または請求項４に記載のデータ補正装置。
【請求項６】
前記補正部は、前記第２の位置データセットが取得される時またはそれよりも前に、前記第１の位置データセットおよび前記第１の補正後位置データセットのうち少なくとも一方を含む前記参照位置データセットに基づいて、前記第２の補正後位置データセットを予測生成する、請求項２に記載のデータ補正装置。
【請求項７】
前記補正部は、学習モデルによって、前記参照位置データセットに基づいて前記第２の補正後位置データセットを生成する、請求項１乃至請求項６のいずれか１項に記載のデータ補正装置。
【請求項８】
前記学習モデルは、同一の時系列に含まれる自然数Ｎ＋１個の位置データセットのうち時間的に最も新しい１個の位置データセットに基づく目標ベクトルと、残りのＮ個の位置データセットに基づく入力ベクトルとを含む学習データを用いて実行された機械学習の学習結果が設定されている、請求項７に記載のデータ補正装置。
【請求項９】
前記目標ベクトルは、前記最も新しい１個の位置データセットに基づくクリーンな位置データセットであり、
前記入力ベクトルは、前記残りのＮ個の位置データセットの少なくとも１つに基づく非クリーンな位置データセットを含むＮ個以上の位置データセットを結合して得られるベクトルである、
請求項８に記載のデータ補正装置。
【請求項１０】
コンピュータを
第１の単位時間に関連付けられる第１の位置データセットを取得し、前記第１の位置データセットの取得後に前記第１の単位時間よりも後の第２の単位時間に関連付けられる第２の位置データセットを取得する手段、
前記第１の位置データセット、前記第１の単位時間に関連付けられる第１の補正後位置データセット、および前記第２の位置データセットのうち少なくとも１つを含む参照位置データセットに基づいて、前記第２の単位時間に関連付けられる第２の補正後位置データセットをリアルタイム生成する手段
として機能させるデータ補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの補正に関する。
【背景技術】
【０００２】
近年、例えばＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）を装着した演者の身体の動きから生成したモーションキャプチャ（ＭＣ：Ｍｏｔｉｏｎ  Ｃａｐｔｕｒｅ）データを利用して、演者に追随して動くアバターのアニメーションを生成し、観客の端末へインターネットで生配信することが知られている。このＭＣデータは、例えば、演者の身体に取り付けられたマーカーを複数のカメラにより撮影することで得られた複数の画像からマーカーの３次元位置を検出することで生成されたり（光学式）、演者が装着するＨＭＤなどに搭載されたジャイロセンサおよび／または加速度センサなどの慣性センサの計測値に基づいて、それぞれのセンサの位置姿勢を算出することで生成されたりする（慣性センサ式）。ＭＣデータは、ノイズ（例えば、高周波ノイズ、ジッター、など）、遮蔽などによる欠測、および／または検出されたマーカーの位置とそのマーカーの識別ラベルとの対応付けの不一致（ラベリングミス）、などのエラーを伴い得る。
【０００３】
かかる生のＭＣデータの持つエラーを放置したままアバターのアニメーションを生成すると、アバターの姿勢や動きが、演者の実際の姿勢や動きから乖離したり、不自然なものとなったりするおそれがある。従来、かかるエラーは、人間により手作業で補正されてきた。しかしながら、手作業によるエラーの補正は、煩雑かつ高コストである。
【０００４】
非特許文献１には、「事前に四足歩行モーションキャプチャデータ（歩容、ジャンプや座る等）を処理しアクションラベルを追加し」、「入力として前フレームの姿勢、前後12フレームの軌道や動作ラベルを与え、出力として現在のフレーム推定された姿勢を算出」すること、「これら入出力のデータセットを使用してエンドツーエンドで訓練し、実行時は前フレームとユーザが入力する制御信号を使用してリアルタイムにキャラクタのアニメーションを生成」すること、そしてこれにより「四足歩行キャラクターをインタラクティブにコントロールし、滑かな動きを生成」できることが記載されている。
【０００５】
非特許文献２には、生の光学ＭＣデータに含まれるエラーを補正する技法が開示されている。具体的には、非特許文献２では、入力姿勢（ボーンデータ）に基づいて算出された後に模擬的なエラーを付加されたマーカー位置データから、この入力姿勢に近い姿勢を生成するように学習されたニューラルネットワークが開示されている。
【０００６】
さらに、特許文献１には、センサ１６２からのセンサ情報に基づきスケルトン情報を取得し（［００８３］）、腕がプレーヤの胴体に隠れる（［０１０３］）といった骨格認識不正が発生すると判断（予測、推測）される場合には（［０１０８］）、補正処理として基準モーションとのモーションブレンド（［０１０９］）あるいはモーション差し替え（［０１１８］）を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−１３８９１５号公報
【非特許文献】
【０００８】
【非特許文献１】Ｈｅ  Ｚｈａｎｇ，  Ｓｅｂａｓｔｉａｎ  Ｓｔａｒｋｅ，  Ｔａｋｕ  Ｋｏｍｕｒａ，  Ｊｕｎ  Ｓａｉｔｏ．  ２０１８．  “Ｍｏｄｅ−ａｄａｐｔｉｖｅ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ  ｆｏｒ  ｑｕａｄｒｕｐｅｄ  ｍｏｔｉｏｎ  ｃｏｎｔｒｏｌ”．  ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｇｒａｐｈｉｃｓ  （ＴＯＧ）．  Ｖｏｌｕｍｅ  ３７，  Ｉｓｓｕｅ  ４，  Ａｕｇｕｓｔ  ２０１８．  Ａｒｔｉｃｌｅ  Ｎｏ．  １４５．  ｈｔｔｐｓ：／／ｄｌ．ａｃｍ．ｏｒｇ／ｃｉｔａｔｉｏｎ．ｃｆｍ？ｉｄ＝３１９７５１７．３２０１３６６
【非特許文献２】Ｄａｎｉｅｌ  Ｈｏｌｄｅｎ，  “Ｒｏｂｕｓｔ  ｓｏｌｖｉｎｇ  ｏｆ  ｏｐｔｉｃａｌ  ｍｏｔｉｏｎ  ｃａｐｔｕｒｅ  ｄａｔａ  ｂｙ  ｄｅｎｏｉｓｉｎｇ”，  ［ｏｎｌｉｎｅ］  ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｇｒａｐｈｉｃｓ  （ＴＯＧ）．  Ｖｏｌｕｍｅ  ３７，  Ｉｓｓｕｅ  ４，  Ａｕｇｕｓｔ  ２０１８．  Ａｒｔｉｃｌｅ  Ｎｏ．  １６５．  平成３０年９月３０日検索，＜ＵＲＬ：ｈｔｔｐｓ：／／ｄｌ．ａｃｍ．ｏｒｇ／ｃｉｔａｔｉｏｎ．ｃｆｍ？ｉｄ＝３１９７５１７．３２０１３０２＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献１に記載された技法は、前フレームの（姿勢）データとユーザの制御信号と基づいて現フレームの（姿勢）データを生成するものであって、モーションキャプチャによって生成されるＭＣデータの補正に適用することはできない。
【００１０】
非特許文献２に記載の技法は、学習済みのニューラルネットワークにより、ノイズを伴うマーカー位置データからこのノイズが補正されたボーンデータを生成する。すなわち、この技法では、マーカー位置データそのものの補正結果を直接的に得ることはできない。
【００１１】
特許文献１に記載された技法によれば、骨格認識不正が発生すると判断（予測、推測）される場合に、補正処理されたスケルトン情報を得ることはできるが光学ＭＣデータそのものの補正結果を得ることはできない。また、特許文献１における補正処理は、入力スケルトン情報とは無関係の、いわば既定のスケルトン情報である基準モーションによる差し替え、または入力スケルトン情報をこの基準モーションに近づけること、を意味している。この補正処理は、スケルトン情報に基づいて生成されるキャラクタ画像を不自然に見えにくくすることはできるかもしれないが、真のスケルトン情報と基準モーションとの差異が大きい場合には、この補正処理によって誤差はかえって大きくなりかねない。故に、特許文献１に記載された技法は、突発的な骨格認識不正などの特殊な状況で一定の効果はあるかもしれないが、ＭＣデータが含み得るノイズ、欠測、ラベリングミスなどのエラーを継続的に補正するのには適さない。
【００１２】
本発明は、補正後ＭＣデータをリアルタイム生成することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一態様によれば、データ補正装置は、取得部と、補正部とを含む。取得部は、第１の単位時間に関連付けられる第１の位置データセットを取得し、第１の位置データセットの取得後に第１の単位時間よりも後の第２の単位時間に関連付けられる第２の位置データセットを取得する。補正部は、第１の位置データセット、第１の単位時間に関連付けられる第１の補正後位置データセット、および第２の位置データセットのうち少なくとも１つを含む参照位置データセットに基づいて、第２の単位時間に関連付けられる第２の補正後位置データセットをリアルタイム生成する。
【発明の効果】
【００１４】
本発明によれば、補正後ＭＣデータをリアルタイム生成することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係るデータ補正装置を例示するブロック図。
【図２】図１のデータ補正装置を適用可能なコンテンツ共有システムを例示するブロック図。
【図３】図２のクライアントによって生成されるＭＣデータの説明図。
【図４】図１のデータ補正部によって行われる補正の一例の説明図。
【図５】図１のデータ補正部によって行われる補正の一例の説明図。
【図６】図１のデータ補正部によって行われる補正の一例の説明図。
【図７】図１のデータ補正部によって行われる補正の一例の説明図。
【図８】図１のデータ補正部によって行われる補間の説明図。
【図９】図１のデータ補正部を例示するブロック図。
【図１０】図１のデータ補正部の動作を例示するフローチャート。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。例えば、複数の同一または類似の要素が存在する場合に、各要素を区別せずに説明するために共通の符号を用いることがあるし、各要素を区別して説明するために当該共通の符号に加えて枝番号を用いることもある。
【００１７】
（実施形態）  
実施形態に係るデータ補正装置は、例えば動体の複数の部位（光学ＭＣデータの場合には、動体の複数の部位に取り付けられたマーカー）の３次元位置データを有するＭＣデータを補正する。なお、このデータ補正装置は、ＭＣデータに限らず複数の位置データを含む位置データセットを補正可能であるが、以降の説明では便宜的にＭＣデータを補正することを前提とする。また、このデータ補正装置は、２次元などの３次元以外の位置データを要素とする位置データセットにも適用可能である。
【００１８】
ＭＣデータは、例えば、ＭＣスタジオにおいて本格的に生成されてもよいし（第１の例）、例えばコンテンツ共有システムによって共有されることになるコンテンツ、例えば動画、またはＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）、ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）、ＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）などの仮想的コンテンツの演者（配信者）の自宅などで簡易に生成されてもよい（第２の例）。
【００１９】
第１の例では、演者はマーカー付きの全身タイツなどを装着することで、その身体の複数の部位の動きをマーカーを介して補足できるようにする。そして、スタジオ内に設置された複数のカメラが、異なるアングルから演者を撮影する。クライアント（例えば、スタジオ内に設置されたコンピュータ、または複数の画像データを収集可能にネットワーク、例えばインターネットに接続された遠隔コンピュータ）が、複数の画像からマーカーの３次元位置を検出することにより、ＭＣデータを生成する。
【００２０】
第２の例では、演者は、例えば慣性センサなどのセンサを内蔵したＨＭＤを頭部に装着し、および／またはセンサを内蔵したコントローラ（操作スティックとも呼ぶ）を把持する。そして、クライアントは、これらのセンサの計測結果であるセンシングデータを収集し、これらのセンシングデータに基づいて、演者の身体の複数の部位、例えば頭部および／または手の動きを計算することで、ＭＣデータを生成する。第２の例において、クライアントは、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォンであってもよいし、または複数のセンシングデータを収集可能にネットワーク、例えばインターネットに接続された遠隔コンピュータであってもよい。
【００２１】
ＭＣデータに基づいてアバター画像を生成（レンダリング）することで、演者の挙動に併せて身体を動かすアバターが登場する動画または仮想的コンテンツを作成することが可能となる。この場合に、ＭＣデータは、動画または仮想的コンテンツの１フレーム毎に生成され得る。かかる動画または仮想的コンテンツの共有を可能とするコンテンツ共有システムが図２に例示される。
【００２２】
図２のシステムは、クライアント２００と、サーバ３００と、観客端末４００−１，４００−２，・・・とを含む。
【００２３】
クライアント２００は、例えば演者の居るＭＣスタジオ、家庭内などにあるコンピュータであってもよいし、演者から得られた画像データ、センシングデータなどをネットワーク、例えばインターネット経由で収集する遠隔コンピュータであってもよい。クライアント２００は、演者から得られた画像データ、センシングデータなどに基づいて、生のＭＣデータを生成する。ＭＣデータは、図３に例示されるように、演者の身体の複数の部位に取り付けられたマーカー（白丸）それぞれの３次元位置データを含み得る。クライアント２００は、生のＭＣデータを補正してからサーバ３００へ送信してもよいし、生のＭＣデータをそのままサーバ３００へ送信してもよい。クライアント２００が生のＭＣデータを補正する場合には、実施形態に係るデータ補正装置はクライアント２００に含まれることになる。なお、クライアント２００および配信者端末が異なる場合には、生のＭＣデータまたは補正済みＭＣデータは、配信者端末経由でサーバ３００へ送信されてもよい。
【００２４】
サーバ３００は、ネットワーク、例えばインターネットに接続されたコンピュータである。サーバ３００は、クライアント２００からネットワーク経由でＭＣデータを受信する。このＭＣデータは、生のＭＣデータであるかもしれないし、補正済みＭＣデータであるかもしれない。サーバ３００は、受信した生のＭＣデータを補正し得る。この場合に、実施形態に係るデータ補正装置はサーバ３００に含まれることになる。サーバ３００は、クライアント２００から受信した補正済みＭＣデータ、または自ら生成した補正済みＭＣデータを観客端末４００（および配信者端末）へ配信する。
【００２５】
なお、サーバ３００は、補正済みＭＣデータそのものではなく、当該データに基づいてアバター画像、またはこれを含む動画もしくは仮想的コンテンツを生成し、これを観客端末４００（および配信者端末）へ配信してもよい。或いは、クライアント２００または配信者端末が、補正済みＭＣデータに基づいて、アバター画像、またはこれを含む動画もしくは仮想的コンテンツを生成し、これをサーバ３００へ送信してもよい。すなわち、アバター画像は、サーバ３００によって生成されてもよいし、観客端末４００（および配信者端末）によって生成されてもよい。ここでは、１つのサーバ３００がＭＣデータの補正、補正済みＭＣデータに基づくアバター画像、および／またはこれを含む動画または仮想的コンテンツの生成、ならびにアバター画像、動画または仮想的コンテンツの配信を行うこととしているが、これらは別個のサーバによって分担されてもよい。
【００２６】
アバター画像をサーバ３００によって生成すれば、観客端末４００（および配信者端末）がアバター画像を生成するための十分なマシンパワーを有していなかったとしても、観客（および配信者）が同一の動画または仮想的コンテンツを楽しむことができるという利点がある。他方、アバター画像を観客端末４００（およびクライアント２００または配信者端末）によって生成すれば、画像データに比べてサイズの小さなＭＣデータが伝送されるので通信量を抑制することができる、サーバ３００の処理負荷を軽減できる、さらに観客（および配信者）が個別に好みの外観（キャラクター、ファッション、など）のアバターを設定可能とすることで観客（および配信者）が挙動は同じだがアバターの外観は異なる動画または仮想的コンテンツを楽しむことができる、などの利点がある。
【００２７】
なお、配信者端末は補正済みＭＣデータまたはこれに基づくアバター画像の宛先から除外されてもよい。また、配信者端末およびクライアント２００は互いに別の装置であってもよいし、両者が同一の装置であってもよい。ここで、配信者端末は、例えば、ＰＣ、モバイル端末（例えば、タブレット、ファブレット、スマートフォン、ラップトップ、ウェアラブルデバイス、ポータブルゲーム機、など）、据え置き型ゲーム機、などのネットワーク、例えばインターネット接続可能な電子デバイスであってよく、配信者がＨＭＤにより動画または仮想的コンテンツを体験する場合には配信者端末はこのＨＭＤの制御装置として機能し得る。
【００２８】
観客端末４００は、図２のシステムによって共有されるコンテンツの受け手である観客にこのコンテンツを体験させる。観客端末４００は、配信者端末と同様にネットワーク、例えばインターネット接続可能な電子デバイスであってよい。観客端末４００は、観客がＨＭＤにより動画または仮想的コンテンツを体験する場合には観客端末４００はこのＨＭＤの制御装置として機能し得る。観客端末４００は、サーバ３００からネットワーク経由で、補正済みＭＣデータ、またはこれに基づくアバター画像、またはこれを含む動画もしくは仮想的コンテンツを受信する。観客端末４００は、受信したＭＣデータに基づいてアバター画像を含む動画または仮想的コンテンツを生成、出力したり、受信したアバター画像に基づいて当該アバター画像を含む動画または仮想的コンテンツを生成、出力したり、受信した動画または仮想的コンテンツを出力したりする。動画または仮想的コンテンツは、観客端末４００に内蔵、外付けまたは無線接続された表示デバイス、例えば液晶ディスプレイ、有機ＥＬ（ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、ＨＭＤなどによって出力（表示）され得る。
【００２９】
なお、図２のシステムでは、Ｃ／Ｓ（Ｃｌｉｅｎｔ  ／  Ｓｅｒｖｅｒ）型のネットワーク経由でＭＣデータなどが伝送されているが、かかるデータはＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）型のネットワーク経由で、すなわちクライアント２００に相当するＭＣデータ生成装置から観客端末４００へ直接伝送されてもよい。Ｐ２Ｐ型のネットワークの例では、ＭＣデータ生成装置が生のＭＣデータを観客端末４００へ送信し、観客端末４００が生のＭＣデータを補正することもあり得る。この場合に、実施形態に係るデータ補正装置は、観客端末４００に含まれることになる。すなわち、実施形態に係るデータ補正装置は、クライアント２００、サーバ３００、または観客端末４００のいずれに含まれることもあり得る。
【００３０】
次に、実施形態に係るデータ補正装置を説明する。このデータ補正装置は、データ補正を含む処理を行うプロセッサを含む。ここで、プロセッサは、典型的にはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および／またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であるが、マイコン、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、またはその他の汎用または専用のプロセッサなどであってもよい。
【００３１】
また、データ補正装置は、かかる処理を実現するためにプロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータ、例えば、生のＭＣデータなどの補正前ＭＣデータ、および補正後ＭＣデータ、などを一時的に格納し得るメモリを含んでいる。メモリは、かかるプログラム／データが展開されるワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含み得る。
【００３２】
なお、データ補正装置１００は、全てのデータをオンメモリの状態で扱ってもよいし、一部のデータが補助記憶装置に退避されていてもよい。補助記憶装置は、例えば、データ補正装置１００に内蔵または外付けされたＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリなどであってもよいし、データ補正装置１００からアクセス可能なデータベースサーバであってもよい。
【００３３】
図１は、実施形態に係るデータ補正装置１００を例示する。データ補正装置１００は、データ取得部１０１と、補正前データ記憶部１０２と、補正後データ記憶部１０３と、データ補正部１１０とを含む。
【００３４】
データ取得部１０１は、補正前ＭＣデータを取得する。ここで、補正前ＭＣデータは、クライアント２００によって生成された生のＭＣデータであってもよいし、この生のＭＣデータに対して何らかの加工（補正を含み得る）を施して得られたＭＣデータであってもよい。データ取得部１０１は、単位時間毎、例えば取得したＭＣデータに基づくアバター画像を含む動画または仮想的コンテンツの１フレーム毎に、補正前ＭＣデータを取得し得る。データ取得部１０１は、取得したＭＣデータを補正前データ記憶部１０２に書き込む。データ取得部１０１は、例えば前述のプロセッサに相当し得る。
【００３５】
このＭＣデータは、典型的には人間（演者）の複数の部位の３次元位置データに相当するが、人間に限らず動物などの他の生体、または機械などの他の動体の複数の部位の３次元位置データにも相当し得る。ここで、部位とは、ＭＣデータの計測点を意味しており、例えばマーカーの装着点であり得る。
【００３６】
データ補正装置１００がクライアント２００に含まれる場合には、補正前ＭＣデータは当該クライアント２００において作成され、データ補正装置１００に渡され得る。他方、データ補正装置１００がサーバ３００または観客端末４００に含まれる場合には、補正前ＭＣデータは当該サーバ３００または観客端末４００によってクライアント２００からネットワーク経由で受信され、データ補正装置１００に渡され得る。
【００３７】
補正前データ記憶部１０２は、補正前ＭＣデータをその識別データ、例えばフレームＩＤ、に関連付けて保存する。補正前データ記憶部１０２は、データ取得部１０１により補正前ＭＣデータを書き込まれ、データ補正部１１０により補正前ＭＣデータを後述される参照ＭＣデータの少なくとも一部として読み出され得る。補正前データ記憶部１０２は、例えば前述のメモリおよび／または補助記憶装置に相当し得る。
【００３８】
補正後データ記憶部１０３は、補正後ＭＣデータをその識別データ、例えばフレームＩＤ、に関連付けて保存する。補正後データ記憶部１０３は、データ補正部１１０により補正後ＭＣデータを書き込まれ、同じくデータ補正部１１０により補正後ＭＣデータを参照ＭＣデータの少なくとも一部として読み出され得る。補正後データ記憶部１０３は、例えば前述のメモリおよび／または補助記憶装置に相当し得る。
【００３９】
データ補正部１１０は、対象の識別データ、例えばフレームＩＤに関連付けられる補正後ＭＣデータをリアルタイム生成するために、補正前データ記憶部１０２および／または補正後データ記憶部１０３から適切な補正前ＭＣデータおよび／または補正後ＭＣデータを参照ＭＣデータとして読み出す。そして、データ補正部１１０は、この参照ＭＣデータに基づいて、上記対象の識別データに関連付けられる補正後ＭＣデータを生成する。データ補正部１１０は、この補正後ＭＣデータを出力するとともに、補正後データ記憶部１０３に書き込む。データ補正部１１０は、例えば前述のプロセッサに相当し得る。
【００４０】
ここで、データ補正装置１００がクライアント２００またはサーバ３００に含まれる場合には、補正後ＭＣデータは当該クライアント２００またはサーバ３００それぞれに渡され、サーバ３００（もしくは観客端末４００）または観客端末４００へそれぞれネットワーク経由で送信され得る。他方、データ補正装置１００が観客端末４００に含まれる場合には、補正後ＭＣデータは当該観客端末４００に渡され、例えばアバター画像の生成に利用され得る。
【００４１】
ここで、参照ＭＣデータは、対象となる識別データに関連付けられる補正前ＭＣデータ、対象となる識別データよりも過去の識別データに関連付けられる補正前ＭＣデータ、および対象となる識別データよりも過去の識別データに関連付けられる補正後ＭＣデータのうちの一部または全部を含み得る。
【００４２】
一例として図４に示されるように、データ補正部１１０は、対象となる識別データ（Ｎ）に関連付けられる補正前ＭＣデータ（ｒＮ）に基づいて、当該識別データ（Ｎ）に関連付けられる補正後ＭＣデータ（ＣＮ）を生成してもよい。この事例によれば、補正前ＭＣデータ（ｒＮ）の取得（或いは、補正前ＭＣデータ（ｒＮ）の補正前データ記憶部１０２への書き込み）から補正後ＭＣデータ（ＣＮ）が生成、出力されるまでに、データ補正部１１０における処理時間に依存する遅延が生じることになる。仮に、この遅延を１．５単位時間（フレーム）とすると、データ補正部１１０は、対象となる識別データ（Ｎ）よりも２単位時間以上過去の識別データに関連付けられる補正後ＭＣデータ（ＣＮ−２，ＣＮ−３，・・・の一部または全部）を参照ＭＣデータに含めることができる。なお、遅延が１単位時間以下であれば、図６に例示されるように、対象となる識別データ（Ｎ）よりも１単位時間過去の識別データに関連付けられる補正後ＭＣデータ（ＣＮ−１）も参照ＭＣデータに含められ得る。また、データ補正部１１０は、対象となる識別データ（Ｎ）よりも過去の識別データに関連付けられる補正前ＭＣデータ（ｒＮ−１，ｒＮ−２，・・・の一部または全部）を参照ＭＣデータに含めてもよい。
【００４３】
別の例として図５に示されるように、データ補正部１１０は、対象となる識別データ（Ｎ）よりも過去の識別データに関連付けられる補正前ＭＣデータ（ｒＮ−１，ｒＮ−２，・・・の一部または全部）に基づいて、当該識別データ（Ｎ）に関連付けられる補正後ＭＣデータ（ＣＮ）を生成してもよい。この事例によれば、参照ＭＣデータの選択次第で、対象となる識別データ（Ｎ）に関連付けられる補正前ＭＣデータ（ｒＮ）の取得を待たずとも補正後ＭＣデータ（ＣＮ）の（予測）生成を開始することができる。すなわち、補正前ＭＣデータ（ｒＮ）の取得から補正後ＭＣデータ（ＣＮ）が生成されるまでに生じる遅延を、データ補正部１１０における処理時間よりも短く、必要であれば零または負とすることが可能となる。遅延が負であることは、補正前ＭＣデータ（ｒＮ）が取得される前に補正後ＭＣデータ（ＣＮ）が生成されることを意味する。仮に、このデータ補正部１１０における処理時間を１．５単位時間（フレーム）とすると、データ補正部１１０は、対象となる識別データ（Ｎ）よりも１単位時間過去の識別データに関連付けられる補正前ＭＣデータ（ｒＮ−１）を参照ＭＣデータに含めたとしても、上記遅延は０．５単位時間に抑えられる。また、データ補正部１１０は、対象となる識別データ（Ｎ）よりも２単位時間以上過去の識別データに関連付けられる補正後ＭＣデータ（ＣＮ−２，ＣＮ−３，・・・の一部または全部）を参照ＭＣデータに含めてもよいし、処理時間が１単位時間以下であれば、対象となる識別データ（Ｎ）よりも１単位時間過去の識別データに関連付けられる補正後ＭＣデータ（ＣＮ−１）を参照ＭＣデータに含めてもよい。
【００４４】
さらなる別の例として図７に示されるように、データ補正部１１０は、対象となる識別データ（Ｎ）よりも過去の識別データに関連付けられる補正後ＭＣデータ（ＣＮ−１，ＣＮ−２，・・・の一部または全部）に基づいて、当該識別データ（Ｎ）に関連付けられる補正後ＭＣデータ（ＣＮ）を生成してもよい。この事例によれば、参照ＭＣデータの選択次第で、対象となる識別データ（Ｎ）に関連付けられる補正前ＭＣデータ（ｒＮ）の取得を待たずとも補正後ＭＣデータ（ＣＮ）の（予測）生成を開始することができる。すなわち、補正前ＭＣデータ（ｒＮ）の取得から補正後ＭＣデータ（ＣＮ）が生成されるまでに生じる遅延を、データ補正部１１０における処理時間よりも短く、必要であれば零または負とすることが可能となる。仮に、このデータ補正部１１０における処理時間を１単位時間（フレーム）以下とすると、データ補正部１１０は、対象となる識別データ（Ｎ）よりも１単位時間過去の識別データに関連付けられる補正後ＭＣデータ（ＣＮ−１）を参照ＭＣデータに含めたとしても、上記遅延は０または負に抑えられる。なお、処理時間が１単位時間を超える場合にも、データ補正部１１０は、対象となる識別データ（Ｎ）よりも２単位時間以上過去の識別データに関連付けられる補正後ＭＣデータ（ＣＮ−２，ＣＮ−３，・・・の一部または全部）を含む参照ＭＣデータを用いることで、上記遅延は０または負に抑えることが可能である。
【００４５】
このように、データ補正部１１０は、対象となる識別データに関連付けられる補正後ＭＣデータをリアルタイムに生成することができる。故に、例えば演者の動きに対するアバターの追従性を高め、アバターの動きの遅れが演者に与える違和感を軽減することができる。特に、ＭＣデータの補正、アバター画像のレンダリング、アバター画像を含む動画／仮想的コンテンツの生成、表示、ならびにデータ（補正後ＭＣデータ、アバター画像、または動画／仮想的コンテンツ）の配信、などに必要な時間分を遡って、データ補正部１１０が補正後ＭＣデータの生成を開始すれば、演者の動きと同時にアバターが動くようにすることも可能である。
【００４６】
データ補正部１１０は、例えば、機械学習済みの学習モデル（例えば、ニューラルネットワーク）によって、参照ＭＣデータに基づいて、対象となる識別データに関連付けられる補正後ＭＣデータをリアルタイムに生成してもよい。この学習モデルは、１つまたは複数のＭＣデータを結合して得られる入力ベクトルを受けて、１つの補正済みＭＣデータに相当する出力ベクトルを生成する。
【００４７】
かかる学習モデルには、同一の時系列、例えば同一の動体について時間的に連続して取得されるＭ（＞Ｎ、Ｍ，Ｎは自然数）個の生のＭＣデータ群またはこれらの補正後ＭＣデータ群、に含まれるＮ＋１個のＭＣデータのうち時間的に最も新しい１個のＭＣデータに基づく目標ベクトル（または教師データ）と、残りのＮ個のＭＣデータに基づく入力ベクトル（または入力データ）とを含む学習データを用いて実行された機械学習の学習結果、例えばニューラルネットワーク重み、が設定され得る。なお、これらＮ＋１組のＭＣデータは時間的に連続している必要はないし、時間的に最も近いＭＣデータ同士の時間差は一定である必要はない。すなわち、あるＭＣデータとその次に新しいＭＣデータとからなるＭＣデータのペアの時間差が２単位時間以上であってもよいし、その時間差はＭＣデータのペア毎に異なっていてもよい。ここで、目標ベクトルはクリーンなＭＣデータに相当し、入力ベクトルは少なくとも１個の非クリーンな（すなわち、エラーを含み得る）ＭＣデータを含むＮ個以上のＭＣデータを結合して得られるベクトルに相当する。
【００４８】
クリーンなＭＣデータは、生のＭＣデータを手作業で補正することで用意されてもよいし、人工的にエラーを伴わないＭＣデータを生成することで用意されてもよいし、かかる補正済みのＭＣデータまたは人工的に生成されたＭＣデータに変換、例えば、平行移動、回転、拡大／縮小、せん断写像などを適用することで用意されてもよい。他方、非クリーンなＭＣデータは、生のＭＣデータであってもよいし、上記クリーンなＭＣデータの少なくとも１つの要素に（人工的に）エラーを付加することで用意されてもよいし、かかる生のＭＣデータまたはエラー付加されたＭＣデータに変換を適用することで用意されてもよい。
【００４９】
例えば図４のように、対象となる識別データ（Ｎ）に関連付けられる補正前ＭＣデータ（ｒＮ）と、オプションとしてその１単位時間前の識別データ（Ｎ−１）に関連付けられる補正前ＭＣデータ（ｒＮ−１）と、オプションとしてそのさらに１単位時間前の識別データ（Ｎ−２）に関連付けられる補正後ＭＣデータ（ＣＮ−２）とに基づいて、対象となる識別データに関連付けられる補正後ＭＣデータ（ＣＮ）を生成すると仮定する。この場合には、例えば、同一の時系列に含まれる３個のクリーンなＭＣデータを用意し、最も新しいＭＣデータを目標ベクトルとし、この最も新しいＭＣデータおよび２番目に新しいＭＣデータそれぞれに基づく２つの非クリーンなＭＣデータと最も古いＭＣデータとを結合して得られるベクトルを入力ベクトルとしてもよい。或いは、同一の時系列に含まれる３個の非クリーンなＭＣデータを用意し、最も新しいＭＣデータに基づくクリーンなＭＣデータを目標ベクトルとし、この最も新しいＭＣデータと、２番目に新しいＭＣデータと、最も古いＭＣデータに基づくクリーンなＭＣデータとを結合して得られるベクトルを入力ベクトルとしてもよい。
【００５０】
例えば図５のように、対象となる識別データ（Ｎ）の１単位時間前の識別データ（Ｎ−１）に関連付けられる補正前ＭＣデータ（ｒＮ−１）と、オプションとしてそのさらに１単位時間前の識別データ（Ｎ−２）に関連付けられる補正後ＭＣデータ（ＣＮ−２）とに基づいて、対象となる識別データに関連付けられる補正後ＭＣデータ（ＣＮ）を生成すると仮定する。この場合には、例えば、同一の時系列に含まれる３個のクリーンなＭＣデータを用意し、最も新しいＭＣデータを目標ベクトルとし、２番目に新しいＭＣデータに基づく非クリーンなＭＣデータと最も古いＭＣデータとを結合して得られるベクトルを入力ベクトルとしてもよい。或いは、同一の時系列に含まれる３個の非クリーンなＭＣデータを用意し、最も新しいＭＣデータに基づくクリーンなＭＣデータを目標ベクトルとし、２番目に新しいＭＣデータと、最も古いＭＣデータに基づくクリーンなＭＣデータとを結合して得られるベクトルを入力ベクトルとしてもよい。
【００５１】
例えば図６のように、対象となる識別データ（Ｎ）に関連付けられる補正前ＭＣデータ（ｒＮ）と、オプションとしてその１単位時間前および２単位時間前の識別データ（Ｎ−１およびＮ−２）に関連付けられる補正後ＭＣデータ（ＣＮ−１およびＣＮ−２）とに基づいて、対象となる識別データに関連付けられる補正後ＭＣデータ（ＣＮ）を生成すると仮定する。この場合には、例えば、同一の時系列に含まれる３個のクリーンなＭＣデータを用意し、最も新しいＭＣデータを目標ベクトルとし、最も新しいＭＣデータに基づく非クリーンなＭＣデータと、２番目に新しいＭＣデータと、最も古いＭＣデータとを結合して得られるベクトルを入力ベクトルとしてもよい。或いは、同一の時系列に含まれる３個の非クリーンなＭＣデータを用意し、最も新しいＭＣデータに基づくクリーンなＭＣデータを目標ベクトルとし、最も新しいＭＣデータと、２番目に新しいＭＣデータおよび最も古いＭＣデータそれぞれに基づく２個のクリーンなＭＣデータとを結合して得られるベクトルを入力ベクトルとしてもよい。
【００５２】
例えば図７のように、対象となる識別データ（Ｎ）の１単位時間前の識別データに関連付けられるＭＣデータ（ＣＮ−１）と、オプションとしてそのさらに１単位時間前の識別データ（Ｎ−２）に関連付けられる補正後ＭＣデータ（ＣＮ−２）とに基づいて、対象となる識別データに関連付けられる補正後ＭＣデータ（ＣＮ）を生成すると仮定する。この場合には、例えば、同一の時系列に含まれる３個のクリーンなＭＣデータを用意し、最も新しいＭＣデータを目標ベクトルとし、２番目に新しいＭＣデータと最も古いＭＣデータとを結合して得られるベクトルを入力ベクトルとしてもよい。或いは、同一の時系列に含まれる３個の非クリーンなＭＣデータを用意し、最も新しいＭＣデータに基づくクリーンなＭＣデータを目標ベクトルとし、２番目に新しいＭＣデータおよび最も古いＭＣデータそれぞれに基づく２個のクリーンなＭＣデータを結合して得られるベクトルを入力ベクトルとしてもよい。
【００５３】
なお、データ補正部１１０の使用可能なリソース（例えば、プロセッサ能力）にとってＭＣデータの補正は負荷の大きな処理となる可能性がある。また、並列処理を利用しない場合には、各単位時間（例えば、フレーム）に関連付けられるＭＣデータに対するデータ補正部１１０の処理時間を１単位時間以内に抑える必要がある。そこで、負荷の削減および／またはデータ補正部１１０の処理時間への要求を緩和する観点から、ＭＣデータに対する前述の補正を限られた単位時間（以降、単にキーフレームと称する）についてのみ行ってもよい。なお、本段落にいう「補正」は、対象となる識別データに関連付けられる補正前ＭＣデータを含む参照ＭＣデータに基づいて当該識別データに関連付けられる補正後ＭＣデータを生成すること、および／または対象となる識別データに関連付けられる補正前ＭＣデータを含まない参照ＭＣデータに基づいて当該識別データに関連付けられる補正後ＭＣデータを予測生成することを含む狭義の補正を意味するが、広義の補正には後述する補間生成も含まれ得る。また特に断りのない限り、本明細書の他の段落にいう「補正」は広義の補正を意味する。
【００５４】
キーフレームは、周期的に、例えばＴフレーム（Ｔは２以上の自然数）おきに、定められてもよいし、ランダムに選択されたフレームであってもよい。さらに、キーフレームを周期的に定める場合に、その周期（フレーム数）は固定である必要はなくデータ補正部１１０によって（予測）生成された補正後ＭＣデータの精度に基づいて動的に制御されてよい。例えば、データ補正部１１０によって予測生成された、あるキーフレームに関連付けられる補正後ＭＣデータと、当該キーフレームに関連付けられる補正前ＭＣデータおよび／または当該補正前ＭＣデータに基づいて別途生成された補正後ＭＣデータとの誤差を事後的に評価し、この誤差の大小に応じて周期を短くしたり長くしたりするようにしてもよい。例えば、大きな誤差が検出された場合には短い周期が設定され、小さな誤差が検出された場合には長い周期が設定され得る。
【００５５】
このようにキーフレームを定めた場合には、隣接する２つのキーフレーム間に１個または複数個の非キーフレームが存在する。データ補正部１１０は、隣接する２つのキーフレームに関連付けられる補正後ＭＣデータに基づく内挿を行い、かかる非キーフレームに関連付けられる補正後ＭＣデータを補間生成し得る。ここで、内挿として、任意の補間手法、例えば、線形補間、または躍度の最小化などの変分法に基づく補間、などが利用可能である。なお、各非キーフレームの補間生成に用いられるキーフレームの数は２つに限られない。例えば、三次曲線に基づく補間、変分法に基づく補間、などにおいては、各非キーフレームの補間生成に３以上のキーフレームが用いられ得る。
【００５６】
データ補正部１１０は、図８に例示されるように、あるキーフレーム（Ｎ）に関連付けられる補正後ＭＣデータ（ＣＮ）を、例えばその直前のキーフレーム（Ｎ−Ｔ）に関連付けられる補正後ＭＣデータ（ＣＮ−Ｔ）を含む参照ＭＣデータに基づいて予測生成する。なお、この参照ＭＣデータには、オプションとして、上記直前のキーフレームよりも過去のフレームに関連付けられる補正後ＭＣデータ、および／または補正後ＭＣデータ（ＣＮ）の（予測）生成の開始時点で取得済みである補正前ＭＣデータが含まれ得る。それから、データ補正部１１０は、これら隣接する２つのキーフレーム（ＮおよびＮ−Ｔ）の間にあるＴ−１個の非キーフレーム（Ｎ−Ｔ＋１，・・・，Ｎ−１）に関連付けられる補正後ＭＣデータ（ＣＮ−Ｔ＋１，・・・，ＣＮ−１）を、これら２つのキーフレームに関連付けられる補正後ＭＣデータ（ＣＮ−ＴおよびＣＮ）に基づいて補間生成する。
【００５７】
前述の遅延を零または負とするために、上記キーフレーム（Ｎ）に関連付けられる補正後ＭＣデータ（ＣＮ）は、図８にも示されているように、上記Ｔ−１個の非キーフレーム（Ｎ−Ｔ＋１，・・・，Ｎ−１）のうちの最初のフレーム（Ｎ−Ｔ＋１）に関連付けられる補正前ＭＣデータ（ｒＮ−Ｔ＋１）が取得されるときよりも前に生成され得る。加えて、上記Ｔ−１個の非キーフレーム（Ｎ−Ｔ＋１，・・・，Ｎ−１）に関連付けられる補正後ＭＣデータ（ＣＮ−Ｔ＋１，・・・，ＣＮ−１）の各々は、図８にも示されているように、当該非キーフレームに関連付けられる補正前ＭＣデータが取得される時またはそれよりも前に補間生成され得る。
【００５８】
データ補正部１１０は、前述の予測生成および補間生成を行う場合に図９に例示されるように構成され得る。図９のデータ補正部１１０は、補正制御部１１１と、参照データ取得部１１２と、データ予測部１１３と、データ補間部１１４と、補正後データ出力部１１５とを含む。
【００５９】
補正制御部１１１は、参照データ取得部１１２に対して参照ＭＣデータの取得を指示したり、データ予測部１１３またはデータ補間部１１４に補正済みＭＣデータの生成を指示したり、補正後データ出力部１１５に補正済みＭＣデータの出力を指示したりする。具体的には、補正制御部１１１は、キーフレームに関連付けられる補正済みＭＣデータを予測生成する場合には、参照データ取得部１１２に必要な参照ＭＣデータ（補正前ＭＣデータおよび／または補正後ＭＣデータ）の取得を指示し、取得された参照ＭＣデータに基づく補正後ＭＣデータの予測生成をデータ予測部１１３に指示し、生成された補正後ＭＣデータの出力を補正後データ出力部１１５に指示する。他方、補正制御部１１１は、非キーフレームに関連付けられる補正済みＭＣデータを補間生成する場合には、参照データ取得部１１２に必要な参照ＭＣデータ（キーフレームに関連付けられる補正後ＭＣデータ）の取得を指示し、取得された参照ＭＣデータに基づく補正後ＭＣデータの補間生成をデータ予測部１１３に指示し、生成された補正後ＭＣデータの出力を補正後データ出力部１１５に指示する。
【００６０】
参照データ取得部１１２は、補正制御部１１１からの指示に従って、補正前データ記憶部１０２および／または補正後データ記憶部１０３から補正前ＭＣデータおよび／または補正後ＭＣデータを読み出し、読み出したＭＣデータを参照ＭＣデータとして補正制御部１１１に返す。
【００６１】
データ予測部１１３は、補正制御部１１１からの指示に従って、対象となるキーフレームに関連付けられる補正後ＭＣデータを参照ＭＣデータに基づいて予測生成し、生成した補正後ＭＣデータを補正制御部１１１に返す。
【００６２】
データ補間部１１４は、補正制御部１１１からの指示に従って、対象となる非キーフレームに関連付けられる補正後ＭＣデータを参照ＭＣデータに基づいて補間生成し、生成した補正後ＭＣデータを補正制御部１１１に返す。
【００６３】
補正後データ出力部１１５は、補正制御部１１１からの指示に従って、データ予測部１１３またはデータ補間部１１４によって生成された補正後ＭＣデータを出力するとともに、補正後データ記憶部１０３に書き込む。
【００６４】
以下、図１０を用いて、データ補正部１１０の動作を説明する。図１０の処理が開始すると、処理はステップＳ５０１へ進む。なお、図１０の処理と並列的に、データ取得部１０１は、例えば単位時間毎に補正前ＭＣデータを取得して補正前データ記憶部１０２に書き込み得る。この補正前ＭＣデータは、参照ＭＣデータの一部として使用され得る。また、図１０の動作例ではデータ補正部１１０は狭義の補正および補間生成を併用することを前提としているが、データ補正部１１０は全て単位時間について狭義の補正を行うことも可能である。
【００６５】
ステップＳ５０１において、データ補正部１１０は、対象となるキーフレームを選択する。具体的には、データ補正部１１０は、未選択のキーフレームのうち最も直近の１つを選択し得る。例えば、データ補正部１１０は、直前のステップＳ５０１の実行時に選択したキーフレームのＴフレーム後のキーフレームを選択する。
【００６６】
データ補正部１１０は、ステップＳ５０１において選択したキーフレームに関連付けられる補正後ＭＣデータを参照ＭＣデータに基づいて生成する（ステップＳ５０２）。それから、データ補正部１１０は、ステップＳ５０１において選択したキーフレームとその１つ前のキーフレームとの間にある１個以上の非キーフレームに関連付けられる補正後ＭＣデータを、当該２つのキーフレームに関連付けられる補正後ＭＣデータに基づいて補間生成する（ステップＳ５０３）。
【００６７】
ステップＳ５０３に続くステップＳ５０４では、全ての単位時間に関連付けられる補正後ＭＣデータが生成されたか否かが判定される。全ての単位時間に関連付けられる補正後ＭＣデータが生成されたならば、例えば、補正後ＭＣデータに基づくアバター画像を含む動画／仮想的コンテンツにおける全フレームに関連付けられる補正後ＭＣデータが生成されたならば、図１０の処理は終了する。他方、全ての単位時間に関連付けられる補正後ＭＣデータが生成されていないならば、次のキーフレームを選択するために処理はステップＳ５０１に戻る。
【００６８】
以上説明したように、実施形態に係るデータ補正装置は、対象となる単位時間（例えばフレーム）に関連付けられる補正後ＭＣデータを、当該単位時間に関連付けられる補正前ＭＣデータ、および／またはそれよりも過去の単位時間に関連付けられる補正前および／または補正後ＭＣデータを含む参照ＭＣデータに基づいてリアルタイム生成する。故に、このデータ補正装置によれば、例えば演者の動きに対するアバターの追従性を高め、アバターの動きの遅れが演者に与える違和感を軽減することができる。
【００６９】
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
【００７０】
上述の実施形態では、いくつかの機能部を説明したが、これらは各機能部の実装の一例に過ぎない。例えば、１つの装置に実装されると説明された複数の機能部が複数の別々の装置に亘って実装されることもあり得るし、逆に複数の別々の装置に亘って実装されると説明された機能部が１つの装置に実装されることもあり得る。
【００７１】
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
【００７２】
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【符号の説明】
【００７３】
１００・・・データ補正装置
１０１・・・データ取得部
１０２・・・補正前データ記憶部
１０３・・・補正後データ記憶部
１１０・・・データ補正部
１１１・・・補正制御部
１１２・・・参照データ取得部
１１３・・・データ予測部
１１４・・・データ補間部
１１５・・・補正後データ出力部
２００・・・クライアント
３００・・・サーバ
４００・・・観客端末
【図１】
2020102272.tif 000003
【図２】
2020102272.tif 000004
【図３】
2020102272.tif 000005
【図４】
2020102272.tif 000006
【図５】
2020102272.tif 000007
【図６】
2020102272.tif 000008
【図７】
2020102272.tif 000009
【図８】
2020102272.tif 000010
【図９】
2020102272.tif 000011
【図１０】
2020102272.tif 000012