(57)【特許請求の範囲】
【請求項１】
人の振る舞いを仮想空間で表現するアバタに含まれる部位の情報を決定する際に、前記人の体の複数箇所を測定することで得られたデータを取得する収集手段と、
前記アバタの部位に、信頼度が低いと判断される部位が含まれるか否かを判定する判定手段と、
前記判定手段により、前記信頼度が低いと判断される部位が含まれると判定された場合に、前記人の印象を示す情報を記憶する記憶部を参照し、該信頼度が低いと判断される部位の情報を決定するための前記人の印象を示す情報を選定する選定手段と、
前記信頼度が低いと判断される部位の情報を、選定された前記人の印象を示す情報に基づいて決定し、前記信頼度が低いと判断されなかった部位の情報を、前記収集手段が取得したデータに基づいて決定して、前記アバタの画像を生成する生成手段と
を有することを特徴とする画像生成システム。
【請求項２】
前記生成手段は、選定された前記人の印象を示す情報に基づいて、前記信頼度が低いと判断される部位の位置または角度を決定して、前記アバタの画像を生成することを特徴とする請求項１に記載の画像生成システム。
【請求項３】
前記アバタの部位の情報が変化した場合に、前記アバタの部位の動きの種類を判定する第１の判定手段を更に有し、
前記選定手段は、判定された前記アバタの部位の動きの種類に基づいて、前記人の印象を示す情報を選定することを特徴とする請求項１に記載の画像生成システム。
【請求項４】
前記アバタの部位の情報が変化した場合に、前記アバタの部位の他のアバタに対する動きの種類を判定する第２の判定手段を更に有し、
前記選定手段は、判定された前記アバタの部位の他のアバタに対する動きの傾向に基づいて、前記人の印象を示す情報を選定することを特徴とする請求項１に記載の画像生成システム。
【請求項５】
人の振る舞いを仮想空間で表現するアバタの部位に、信頼度が低いと判断される部位が含まれるか否かを判定し、
前記信頼度が低いと判断される部位が含まれると判定した場合に、前記人の印象を示す情報を記憶する記憶部を参照し、該信頼度が低いと判断される部位の情報を決定するための前記人の印象を示す情報を選定し、
選定された前記人の印象を示す情報に基づいて、前記信頼度が低いと判断される部位の情報を決定して、前記アバタの画像を生成する、
処理をコンピュータに実行させるための画像生成プログラム。
【請求項６】
コンピュータが、
人の振る舞いを仮想空間で表現するアバタの部位に、信頼度が低いと判断される部位が含まれるか否かを判定し、
前記信頼度が低いと判断される部位が含まれると判定した場合に、前記人の印象を示す情報を記憶する記憶部を参照し、該信頼度が低いと判断される部位の情報を決定するための前記人の印象を示す情報を選定し、
選定された前記人の印象を示す情報に基づいて、前記信頼度が低いと判断される部位の情報を決定して、前記アバタの画像を生成する、
処理を実行する画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、画像生成プログラム及び画像生成方法に関する。
【背景技術】
【０００２】
実空間において複数の人間同士がコミュニケーションを行う場合、ある人の振る舞いに対して、他の人（例えば、コミュニケーションの相手の人）がどのような反応をしたかを認識し解析することは、お互いの人間関係を推測する上で重要である。
【０００３】
例えば、ある人の振る舞いに対する他の人の反応が、回避傾向なのか、接近傾向なのかを解析することで、当該他の人との人間関係（例えば、親密性等）が崩れかかっていないかを把握することができる。
【０００４】
一方で、互いに離間した場所にいる複数の人間同士がコミュニケーションを行う仮想空間においては、実空間における人の振る舞いをアバタの画像を介して表現することになる。このような場合、お互いの人間関係を仮想空間を介して的確に把握するためには、実空間における人間関係の推測と同様の推測が仮想空間においてもできるようにすることが望ましい。このため、実空間における人の「振る舞い」に関する情報を、仮想空間における「アバタの動き」に含めて表現することが望まれる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１４−５２２０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、実空間における人の振る舞いに関する情報を仮想空間におけるアバタの動きに含めて表現できない場合もある、例えば、実空間における人の振る舞いをセンシングする深度センサが、人の体の一部の部位をセンシングできない場合等が挙げられる。具体的には、深度センサから見て人の手首から先が机の下に隠れてしまっているような場合等が挙げられる。このような場合、深度センサの深度データに基づいて実空間における人の振る舞いを仮想空間において表現するシステムでは、アバタ全体の画像を表現するために、隠れている部位についての位置や角度を推測して出力する。
【０００７】
例えば、隠れている部位が繋がっているはずの他の部位（手首から先が隠れている場合にあっては、手首と連結する肘や肩）の位置に基づいて、隠れている部位の位置や角度を推測して出力する。
【０００８】
ところが、このような推測方法は、他の部位の位置がわずかに変化しただけでも、推測結果に影響を与える。このため、実空間における人のわずかな姿勢の変化（肘や肩の位置のわずかな変化）が生じただけで、推測された手首の位置や角度が、不自然な程度に頻繁に動いているように出力されることもある。この結果、実空間における人は、太ももの上においた手首をほとんど動かしていないにも関わらず、仮想空間におけるアバタは、頻繁に手首を裏返したり、上下させたりしているように表現されることになる。
【０００９】
つまり、上記推測方法によれば、実空間における人は落ち着いて相手の話を聞いている状態であるにも関わらず、仮想空間におけるアバタはイライラと落ち着かない状態であるように表現されてしまうことになる。
【００１０】
このように、実空間における人の振る舞いと、アバタの画像を介して表現されるアバタの動きとの間で、他人に与える印象が変わるほどの乖離が生じると、仮想空間を介して互いの人間関係を把握することは困難になる。
【００１１】
一つの側面では、アバタを介して他人に与える印象と、アバタの元となっている人の実際の振る舞いにより他人に与える印象とのずれを抑止することを目的としている。
【課題を解決するための手段】
【００１２】
一態様によれば、画像生成システムは、人の振る舞いを仮想空間で表現するアバタに含まれる部位の情報を決定する際に、前記人の体の複数箇所を測定することで得られたデータを取得する収集手段と、前記アバタの部位に、信頼度が低いと判断される部位が含まれるか否かを判定する判定手段と、前記判定手段により、前記信頼度が低いと判断される部位が含まれると判定された場合に、前記人の印象を示す情報を記憶する記憶部を参照し、該信頼度が低いと判断される部位の情報を決定するための前記人の印象を示す情報を選定する選定手段と、前記信頼度が低いと判断される部位の情報を、選定された前記人の印象を示す情報に基づいて決定し、前記信頼度が低いと判断されなかった部位の情報を、前記収集手段が取得したデータに基づいて決定して、前記アバタの画像を生成する生成手段とを有することを特徴とする。
【発明の効果】
【００１３】
アバタを介して他人に与える印象と、アバタの元となっている人の実際の振る舞いにより他人に与える印象とのずれを抑止することができる。
【図面の簡単な説明】
【００１４】
【図１】画像生成システムの全体構成の一例を示す図である。
【図２】誤りやすさ閾値領域マップを説明するための図である。
【図３】実空間における人の振る舞いと仮想空間におけるアバタの動きとの関係を示す図である。
【図４】モデル候補の選定方法を説明するための図である。
【図５】サーバ装置のハードウェア構成の一例を示す図である。
【図６】クライアント装置のハードウェア構成の一例を示す図である。
【図７】クライアント装置の機能構成の一例を示す図である。
【図８】クライアント装置により実行されるセンサデータ送信処理のフローチャートである。
【図９】クライアント装置により実行される仮想空間再生処理のフローチャートである。
【図１０】サーバ装置の機能構成の一例を示す第１の図である。
【図１１】頭部姿勢データテーブルの一例を示す図である。
【図１２】深度データファイルテーブルの一例を示す図である。
【図１３】筋電位データテーブルの一例を示す図である。
【図１４】アバタの動きの一例を示す図である。
【図１５】アバタの動きの種類を判定するための定義情報を示した図である。
【図１６】動きの種類判定ログテーブルの一例を示す図である。
【図１７】モデル候補の一例を示す図である。
【図１８】モデル候補選定処理の第１のフローチャートである。
【図１９】アバタの各部位の誤りやすさ判定処理及びモデル候補読み出し処理のフローチャートである。
【図２０】アバタ部位変位ログテーブルの一例を示す図である。
【図２１】サーバ装置の機能構成の一例を示す第２の図である。
【図２２】他のアバタに対する動きの種類を判定するための定義情報を示した図である。
【図２３】他のアバタに対する動きの種類と傾向との関係を定義した定義情報の一例を示す図である。
【図２４】他のアバタに対する動きの種類判定ログテーブルの一例を示す図である。
【図２５】モデル候補選定処理の第２のフローチャートである。
【図２６】モデル候補読み出し処理の第２のフローチャートである。
【図２７】サーバ装置の機能構成の一例を示す第３の図である。
【図２８】想定範囲情報の一例を示す図である。
【図２９】モデル候補読み出し処理の第３のフローチャートである。
【図３０】サーバ装置の機能構成の一例を示す第４の図である。
【図３１】動きの種類判定ログ（時系列）テーブルの一例を示す図である。
【図３２】モデル候補選定処理の第３のフローチャートである。
【図３３】動きの種類判定ログ（時系列）テーブル更新処理のフローチャートである。
【図３４】サーバ装置の機能構成の一例を示す第５の図である。
【図３５】アバタの各部位間の連結状態を示した図である。
【図３６】アバタ部位変位データの各部位の位置をグルーピングした様子を示す図である。
【図３７】モデル候補選定処理の第４のフローチャートである。
【図３８】モデル候補一次絞り込み処理の第１のフローチャートである。
【図３９】モデル候補二次絞り込み処理の第１のフローチャートである。
【図４０】サーバ装置の機能構成の一例を示す第６の図である。
【図４１】コスト評価部により算出されるコストを説明するための図である。
【図４２】モデル候補二次絞り込み処理の第２のフローチャートである。
【図４３】サーバ装置の機能構成の一例を示す第７の図である。
【図４４】モデル候補二次絞り込み処理の第３のフローチャートである。
【図４５】サーバ装置の機能構成の一例を示す第８の図である。
【図４６】モデル候補二次絞り込み処理の第４のフローチャートである。
【図４７】他のアバタに対する動きの種類と傾向と優先度との関係を定義した定義情報の一例を示す図である。
【図４８】モデル候補読み出し処理の第４のフローチャートである。
【図４９】他のアバタに対する動きの種類と傾向と傾向が変わる可能性のある組み合わせとの関係を定義した定義情報の一例を示す図である。
【図５０】モデル候補読み出し処理の第５のフローチャートである。
【発明を実施するための形態】
【００１５】
はじめに、各実施形態における画像生成システムを説明する際に用いる用語の定義について簡単に説明する。以下の各実施形態において説明する画像生成システムは、互いに離間した場所にいる複数の人間同士がコミュニケーションを行うための仮想空間を提供するシステムである。
【００１６】
当該画像生成システムは、コミュニケーションを行うための仮想空間を提供するために、実空間における「人の振る舞い」を、仮想空間における「アバタの動き」に変換する処理を行う。「アバタの動き」は、各タイムフレームにおける「アバタの画像」を連続的に表示することで表現される。ここでいう「人の振る舞い」は、ジェスチャとして知られる手を挙げる、首を傾ける等の定型化された振る舞いも含むが、必ずしも、人からジェスチャとして認識されるものでなくてもよい。
【００１７】
また、「アバタの画像」は、アバタの各部位の「部位情報」に基づいて生成される。アバタの各部位の「部位情報」は、実空間において人の振る舞いをセンシングすることで得たセンサデータを、仮想空間におけるアバタの各部位の状態（位置、角度等）を示す情報に変換することで得られる。なお、「部位情報」は、部位の種類を示す情報と、部位の状態を示す値（部位値）とを含む。
【００１８】
つまり、仮想空間における「アバタの動き」は、時刻の経過に伴う「アバタの画像」の変化（アバタの各部位の部位値の変化）として表現される。なお、以下の実施形態では、アバタの各部位がどのように動いたのかによってアバタの動きをラベル付けした情報（実空間において人がどのような振る舞いを行ったのかについてラベル付けした情報）を、「アバタの動きの種類」と称する。
【００１９】
また、実空間においては、同じ振る舞いであっても、他の人との関係によっては反対の意味を持つ（異なる社会的振る舞い（Social Behavior）であると判断される）場合がある。つまり、ここでいう社会的振る舞いとは、振る舞いの中でも他の人の社会的な存在に対して行われる振る舞いを指している。
【００２０】
例えば、人の振る舞いが、前進する振る舞いであったとした時に、前進した先に他の人がいる場合には、当該人の振る舞いは、他の人に近づくという社会的振る舞い（接近傾向を示す社会的振る舞い）ということができる。反対に、他の人が近くにいる状態で、前進する振る舞いを行った結果、当該他の人から遠ざかる場合には、当該人の振る舞いは、他の人から遠ざかる社会的振る舞い（回避傾向を示す社会的振る舞い）ということができる。同様に、例えば、人の振る舞いが、顔の向きを右方向に向ける振る舞いであったとした時に、右側に他の人がいる場合には、当該人の振る舞いは、他の人に顔を向ける社会的振る舞い（接近傾向を示す社会的振る舞い）ということができる。反対に、当該人の左側に他の人がいる状態で、顔の向きを右方向に向ける振る舞いを行った場合、当該人の振る舞いは、他の人から顔をそむける社会的振る舞い（回避傾向を示す社会的振る舞い）ということができる。
【００２１】
したがって、仮想空間における「アバタの動き」も、他のアバタとの関係によっては反対の意味を持つことになる。以下の実施形態では、「他のアバタに対する動き」が、実空間における人のどのような社会的振る舞いに相当するかを判定することを、「他のアバタに対する動きの種類」を判定する、と称する。
【００２２】
続いて、各実施形態における画像生成システムの処理の概要について説明する。以下の各実施形態における画像生成システムは、アバタの動きを介して他人に与える印象と、アバタの元となっている人の実際の振る舞いにより他人に与える印象とのずれが大きくなるような状況が発生した場合に、モデル候補に基づいてアバタの画像を生成する。つまり、その時点で取得されたセンサデータに基づいてアバタの画像を生成するのではなく、予め定められたモデル候補に基づいてアバタの画像を生成する。
【００２３】
なお、モデルとは、アバタの画像を生成するのに必要な部位情報の集合であり、アバタの全ての部位の部位情報の集合である。ただし、手のみのモデル、足のみのモデル、頭のみのモデル等、アバタの一部の部位の部位情報の集合であってもよい。なお、以下の各実施形態では、１体のモデルについて着目している場合には、"モデル"と表現する一方、多数のモデルについて着目している場合には、"モデル候補"と表現するものとする。
【００２４】
各実施形態における画像生成システムでは、モデル候補に基づいてアバタの画像を生成するにあたり、アバタの動きを介して他人に与える印象と、アバタの元となる人の実際の振る舞いにより他人に与える印象とのずれを抑止するように、モデル候補の選定を行う。そして、選定したモデル候補の中から決定した一のモデルに基づいてアバタを生成する。つまり、選定したモデル候補は、人の振る舞いの印象が反映されたアバタの画像を生成するための情報ということができる。以下の各実施形態では、アバタの生成に際して当該選定したモデル候補を用いることで、アバタを介して他人に与える印象と、アバタの元となっている人の実際の振る舞いにより他人に与える印象とのずれを抑止している。
【００２５】
以下、添付の図面を参照しながら、画像生成システムにおいてモデル候補を選定するまでの処理について様々なバリエーションを説明する。
【００２６】
なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００２７】
［第１の実施形態］
＜画像生成システムの全体構成＞
はじめに、画像生成システムについて説明する。図１は、画像生成システムの全体構成の一例を示す図である。図１に示すように、画像生成システム１００は、サーバ装置１１０と、クライアント装置１２０、１３０とを有する。サーバ装置１１０と、クライアント装置１２０、１３０とは、インターネットやＬＡＮ（Local Area Network）等に代表されるネットワーク１６０を介して接続されている。
【００２８】
ユーザ１４０（ユーザ名＝"Ａ"）、ユーザ１５０（ユーザ名＝"Ｂ"）は、互いに離間した場所にいて、画像生成システム１００を利用する。これにより、ユーザ１４０とユーザ１５０とは同じ仮想空間において互いにコミュニケーションを行うことができる。
【００２９】
サーバ装置１１０には、画像生成プログラムの一例である仮想空間用情報提供プログラムがインストールされている。サーバ装置１１０は、当該プログラムを実行することで、第１の仮想空間用情報提供部１１１及び第２の仮想空間用情報提供部１１２として機能する。第１の仮想空間用情報提供部１１１は、ユーザ１４０とユーザ１５０とが互いにコミュニケーションを行うための仮想空間を提供する。
【００３０】
具体的には、第１の仮想空間用情報提供部１１１は、ユーザ１４０とユーザ１５０の実空間における「振る舞い（Behavior）」をセンサでセンシングしたセンサデータをクライアント装置から受信する。なお、本実施形態において、「振る舞い（Behavior）」をセンシングすることで得られるセンサデータには、体の姿勢を変える振る舞いや、顔の向きや表情を変える振る舞い、発話等をセンシングすることで得られるセンサデータが含まれるものする。ただし、センサデータはこれに限定されず、上記した振る舞い以外のユーザの挙動をセンシングすることで得られるセンサデータや、ユーザの視線をセンシングすることで得られるセンサデータ等が含まれていてもよい。
【００３１】
また、第１の仮想空間用情報提供部１１１は、受信したセンサデータをセンサデータ格納部１１４に格納する。
【００３２】
また、第１の仮想空間用情報提供部１１１は、受信したセンサデータに基づいて、仮想空間におけるアバタ（実空間における人の振る舞いを仮想空間で表現するアバタ）の各部位の部位情報を算出し、仮想空間におけるアバタの画像を生成する。
【００３３】
更に、第１の仮想空間用情報提供部１１１は、生成したアバタの画像を含む仮想空間の画像を、受信したセンサデータに含まれる音声データとともに仮想空間用情報として他のクライアント装置に提供する。
【００３４】
更に、第１の仮想空間用情報提供部１１１は、表示されたアバタの画像に含まれるアバタの各部位の部位情報を、アバタ部位変位データ（詳細は後述）としてログ格納部１１６のアバタ部位変位ログテーブルに格納する。表示されたアバタの画像には、クライアント装置に提供されクライアント装置上で表示されたアバタの画像と、クライアント装置上でセンサデータに基づいて生成され表示されたアバタの画像とが含まれる。なお、このようにしてログ格納部１１６に格納されたアバタ部位変位データは、以降、モデル候補として用いられる。
【００３５】
なお、第１の仮想空間用情報提供部１１１は、コンテンツ格納部１１３に格納された背景の画像の中から選択した画像を用いて、仮想空間の画像を生成する。また、第１の仮想空間用情報提供部１１１は、コンテンツ格納部１１３に格納された複数種類のアバタの中から選択した、ユーザ１４０、１５０それぞれに対応するアバタを用いてアバタの画像を生成し、生成したアバタの画像を用いて仮想空間の画像を生成する。
【００３６】
このように、第１の仮想空間用情報提供部１１１により提供される仮想空間用情報には、少なくとも以下のものが含まれる。
・仮想空間の画像に配置されたオブジェクト。
・仮想空間の画像に配置されたオブジェクトの属性（オブジェクトを構成する部位の部位情報、オブジェクトに割り当てられた音声データ等）。
【００３７】
なお、背景の画像とは、仮想空間の画像に配置されたオブジェクトのうち、属性に変化のないもの（背景として配置されるオブジェクト等）をいう。また、アバタの画像とは、仮想空間の画像に配置されたオブジェクトのうち、骨格（ボーン）や表皮・服相当（メッシュ）の基本的な構造の情報を有し、別途オブジェクトの属性（ボーンやメッシュの位置、角度、表示色、表示模様等）が変化するものをいう。
【００３８】
第２の仮想空間用情報提供部１１２は、センサデータ格納部１１４に格納されたセンサデータに基づいて、アバタにおける監視対象の部位の部位値を算出する。また、第２の仮想空間用情報提供部１１２は、監視対象の部位の部位値が所定量以上変化したか（監視対象の部位が所定量以上動いたか）を判定する。第２の仮想空間用情報提供部１１２は、監視対象の部位の部位値が所定量以上変化したと判定した場合に、アバタの動きの種類を判定し、判定した動きの種類をログ格納部１１６の「動きの種類判定ログテーブル」に格納する。
【００３９】
また、第２の仮想空間用情報提供部１１２は、実空間における人の振る舞いと、アバタの画像を介して表現されるアバタの動きとで、他人に与える印象にずれが生じるような状況が発生したか否か（「印象ずれ発生状況」か否か）を判定する。第２の仮想空間用情報提供部１１２は、例えば、仮想空間におけるアバタの部位の位置に対応する実空間の位置が、センサによる測定において、信頼度の高いセンサデータをセンシングできない位置の域（「誤りやすさ閾値領域」と称す）に含まれるか否かを判定する。第２の仮想空間用情報提供部１１２は、判定の結果、誤りやすさ閾値領域に含まれると判定した場合に、印象ずれ発生状況であると判断する。印象ずれ発生状況であると判断した場合、第２の仮想空間用情報提供部１１２は、過去に生成したアバタの各部位の部位情報であるアバタ部位変位データを「モデル候補」として複数読み出す。更に、第２の仮想空間用情報提供部１１２は、読み出した複数のモデル候補について選定を行い、選定したモデル候補を第１の仮想空間用情報提供部１１１に通知する。
【００４０】
なお、第２の仮想空間用情報提供部１１２は、アバタを介して他人に与える印象と、アバタの元となっている人の実際の振る舞いにより他人に与える印象とが大きくずれることがないようにモデル候補の選定を行う。
【００４１】
クライアント装置１２０には、情報処理プログラムがインストールされている。クライアント装置１２０は、当該プログラムを実行することで、情報処理部１２１として機能する。
【００４２】
また、クライアント装置１２０には、深度センサ１２２が接続されている。深度センサ１２２は、ユーザ１４０の前方に配置され、ユーザ１４０の三次元の位置を計測することで、ユーザ１４０の実空間における振る舞い（体の姿勢を変える振る舞いや、四肢を動かす振る舞い等）に応じて変化するデータである深度データを出力する。
【００４３】
更に、クライアント装置１２０は、ユーザ１４０に装着されたウェアラブル型の表示装置またはセンサとの間で、無線通信を行う。第１の実施形態においてウェアラブル型の表示装置には、ＨＭＤ（Head-Mounted Display）１２３が含まれ、ユーザ１４０に対して仮想空間の画像を表示する。また、第１の実施形態においてウェアラブル型のセンサには、頭部姿勢センサ１２４、音声センサ１２５、筋電位センサ１２６が含まれる。
【００４４】
頭部姿勢センサ１２４は、ユーザ１４０の実空間における振る舞いに含まれる"顔の向き"に応じたデータである頭部姿勢データを出力する。音声センサ１２５は、ユーザ１４０の実空間における振る舞いに含まれる"発話"に応じたデータである音声データを出力する。筋電位センサ１２６は、ユーザ１４０の実空間における振る舞いに含まれる"表情の変化"に応じたデータである筋電位データを出力する。
【００４５】
ＨＭＤ１２３、頭部姿勢センサ１２４、音声センサ１２５、筋電位センサ１２６は、ユーザ１４０の頭部に装着される。なお、頭部姿勢センサ１２４、音声センサ１２５、筋電位センサ１２６は、ＨＭＤ１２３に内蔵されていてもよい。また、ウェアラブル型のセンサには、上記した振る舞い以外のユーザ１４０の挙動に応じたデータを出力するセンサが含まれていてもよい。また、ウェアラブル型のセンサには、ユーザ１４０の視線に応じたデータを出力するセンサが含まれていてもよい。
【００４６】
クライアント装置１２０は、深度データ、頭部姿勢データ、音声データ、筋電位データ等のセンサデータを取得し、サーバ装置１１０に送信する。また、クライアント装置１２０は、サーバ装置１１０より送信された仮想空間用情報を受信し、受信した仮想空間用情報と、取得したセンサデータとに基づいて、ユーザ１４０から見た場合の仮想空間の画像（以下、"視野画像"と称す）を生成する。更に、クライアント装置１２０は、生成した視野画像と、仮想空間用情報に含まれる音声データとをＨＭＤ１２３に送信する。これにより、ユーザ１４０は、仮想空間の画像を視認することができるとともに、実空間において他のユーザ１５０が発した音声を仮想空間を介して視聴することができる。
【００４７】
なお、クライアント装置１３０が有する機能、クライアント装置１３０に接続される表示装置及びセンサ等は、クライアント装置１２０と同様であるため、ここでは説明を省略する。
【００４８】
＜実空間内における位置と仮想空間内における位置との関係＞
次に、実空間内における位置と仮想空間内における位置との関係について説明する。実空間における位置を示す座標と、仮想空間における位置を示す座標とは、互いに異なる座標系により管理されており、予め定められた座標変換関数を用いて相互に変換される。
【００４９】
仮想空間におけるアバタの画像の各部位の位置と、実空間における位置とを対応付けるために、画像生成システム１００では、例えば、仮想空間におけるアバタの画像の代表的な１点（腰の位置等）と、実空間におけるユーザの代表的な１点とを対応付けておく。
【００５０】
これにより、対応付けた１点からの相対距離に基づいて、アバタの各部位が、実空間におけるどの位置に対応するのかを求めることができる。
【００５１】
＜誤りやすさ閾値領域マップの説明＞
次に、第２の仮想空間用情報提供部１１２が印象ずれ発生状況か否かを判断する際に用いる、誤りやすさ閾値領域を示すマップについて説明する。誤りやすさ閾値領域は、センサが設置されているそれぞれの環境ごと、及び、センサの種類ごとに予め規定されている。ここでは、説明の簡略化のため、ユーザ１４０を測定対象として設置された深度センサ１２２の誤りやすさ閾値領域を示すマップについて説明する。そこで、まず、深度センサ１２２により取得されるデータについて簡単に説明する。
【００５２】
深度センサにより取得されるデータには一般に複数種類（深度画像データ、カラー画像データ、赤外線画像データ等）あり、いずれのデータが取得されるかは、深度センサの種類によって異なる。いずれの種類のデータが取得されるかによって、二次元のｘｙ平面における各ピクセルの情報が異なってくる。深度画像データの場合、各ピクセルの情報は、深度センサからの距離値となる。また、カラー画像データの場合、各ピクセルの情報は、ＲＧＢ値となり、赤外線画像データの場合、各ピクセルの情報は、グレースケール値となる。
【００５３】
なお、深度センサにより取得されるデータはこれに限定されず、二次元のｘｙ平面における各ピクセルの情報を処理することで取得される、二次元ｘｙ平面のどのピクセル位置にユーザ１４０が存在するかを示す情報であってもよい。あるいは、どのピクセル位置にユーザ１４０の顔部が存在するかを示す情報であってもよい。ただし、第１の実施形態における深度データには、深度画像データとカラー画像データとが少なくとも含まれるものとして説明する。
【００５４】
図２は、深度センサの誤りやすさ閾値領域を示すマップを説明するための図である。図２（ａ）において、実空間２００には、ユーザ１４０を撮影する深度センサ１２２が配置されており（図２（ａ）において不図示）、紙面手前から紙面奥側に向かって撮影を行っているものとする。
【００５５】
このため、深度センサ１２２の設置位置から見て奥行き方向（ｚ軸方向）における矢印２１１で示す範囲は、深度センサ１２２による測定において信頼度の高いデータをセンシングできない領域となる。つまり、矢印２１１で示す範囲に含まれる二次元ｘｙ平面は、二次元ｘｙ平面内の全領域において誤りやすさが閾値を超えることになる。このため、当該二次元ｘｙ平面の場合、全領域が誤りやすさ閾値領域となる。
【００５６】
また、深度センサ１２２の設置位置から見て奥行き方向（ｚ軸方向）における矢印２１２で示す範囲は、深度センサ１２２による測定において信頼度の高いデータをセンシングできな領域となる。つまり、矢印２１２で示す範囲に含まれる二次元ｘｙ平面も、二次元ｘｙ平面内の全領域が、誤りやすさ閾値領域となる。
【００５７】
一方、深度センサ１２２の設置位置から見て奥行き方向（ｚ軸方向）におけるＤ０〜Ｄ２の範囲は、深度センサ１２２の撮影範囲の一部を遮蔽する机２０１により、机２０１の反対側の領域の一部が遮蔽される範囲である。つまり、ｚ軸方向における各位置Ｄ０、Ｄ１、Ｄ２における二次元ｘｙ平面の場合、一部の領域が誤りやすさ閾値領域となる。
【００５８】
図２（ｂ）は、奥行き方向（ｚ軸方向）の位置（Ｄ１）における誤りやすさ閾値領域マップの一例を示している。また、図２（ｃ）は、奥行き方向（ｚ軸方向）の位置（Ｄ２）における誤りやすさ閾値領域マップの一例を示している。誤りやすさ閾値領域マップ２２１、２２２において、ハッチングされた領域は、奥行き方向の位置Ｄ１及び位置Ｄ２それぞれの二次元ｘｙ平面において、誤りやすさが閾値を超えている誤りやすさ閾値領域を示している。
【００５９】
第２の仮想空間用情報提供部１１２は、仮想空間におけるアバタの画像の各部位の位置に対応する実空間２００での位置が、誤りやすさ閾値領域マップにおいてハッチングされた誤りやすさ閾値領域に含まれているか否かを判定する。そして、第２の仮想空間用情報提供部１１２は、含まれていると判定した場合に、印象ずれ発生状況であると判断する。
【００６０】
なお、ここでは、深度センサ１２２の誤りやすさ閾値領域を示すマップについて説明したが、例えば、筋電位センサ１２６や頭部姿勢センサ１２４の誤りやすさ閾値領域を示すマップについても同様である。
【００６１】
また、誤りやすさ閾値領域マップは、センサデータにあわせて更新するようにしてもよい。誤りやすさ閾値領域マップの更新とは、誤りやすさが閾値を超える領域を、状況にあわせて変えることをいう。
【００６２】
例えば、筋電位センサ１２６によりセンシングされる筋電位データの場合には、ユーザ１４０の性質等に応じて、誤りやすさが閾値を超える範囲を変えるようにしてもよい。また、頭部姿勢センサ１２４により取得される頭部姿勢データの場合には、ユーザ１４０の頭部の可動範囲を元に誤りやすさが閾値を超える範囲を変えるようにしてもよい。
【００６３】
＜実空間における人の振る舞いと仮想空間におけるアバタの動きとの関係＞
次に、実空間における人（ユーザ１４０、１５０）の振る舞いと、仮想空間におけるアバタの動きとの関係について説明する。図３は、実空間における人の振る舞いと仮想空間におけるアバタの動きとの関係を示す図である。
【００６４】
図３に示すように、ユーザ１４０が装着するＨＭＤ１２３には、ユーザ１５０のアバタ３５０が仮想空間３００において振る舞う視野画像３０１が表示される。図３の例では、実空間においてユーザ１５０が直立の状態を維持しているため、仮想空間３００においてもアバタ３５０は直立の状態を維持することとなる。なお、ユーザ１４０のＨＭＤ１２３に表示された視野画像には、ユーザ１４０自身のアバタの一部（手等）が表示されていないが、ユーザ１４０自身のアバタの一部（手等）が表示されてもよい。
【００６５】
一方、ユーザ１５０が装着するＨＭＤ１３３には、ユーザ１４０のアバタ３４０が仮想空間３００において振る舞う視野画像３０２が表示される。図３に示すように、実空間においてユーザ１４０は椅子に着座した状態を維持しているため、仮想空間３００においてもアバタ３４０は着座した状態を維持することとなる。なお、ユーザ１５０のＨＭＤ１３３に表示された視野画像には、ユーザ１５０自身のアバタの一部（手等）が表示されていないが、ユーザ１５０自身のアバタの一部（手等）が表示されてもよい。
【００６６】
ここで、視野画像３０２におけるアバタ３４０は、ユーザ１４０の振る舞いをセンシングすることで得たセンサデータに基づいて、第１の仮想空間用情報提供部１１１が各部位の部位情報を算出したものである。視野画像３０２のアバタ３４０の場合、ユーザ１４０の姿勢がわずかに変化したり、肘や肩の位置がわずかに変化するだけで、肘から先が不自然な程度に頻繁に動いたり、肘から先が実際とは異なる位置に表示されたりする。このため、ユーザ１４０は実際には落ち着いて着座している状態にあるにもかかわらず、視野画像３０２におけるアバタ３４０は、例えばイライラと落ち着かない状態で着座しているように表現される。
【００６７】
これに対して、視野画像３０３のアバタ３４０は、ユーザ１４０の振る舞いをセンシングすることで得たセンサデータに基づいて、第２の仮想空間用情報提供部１１２が、モデル候補を決定して各部位の部位情報を算出したものである。第２の仮想空間用情報提供部１１２の場合、実空間におけるユーザ１４０の振る舞いと、アバタ３４０の動きとで、他人に与える印象が大きくずれることがないようにモデル候補の選択を行い、アバタ３４０の画像を生成している。このため、視野画像３０３におけるアバタ３４０は、実空間におけるユーザ１４０の振る舞いと同様に、落ち着いて着座している状態が表現されることになる。
【００６８】
＜モデル候補の選定方法＞
次に、印象ずれ発生状況になった場合に、実空間におけるユーザ１４０の振る舞いと、アバタ３４０の動きとで、他人に与える印象が変わることがないようにモデル候補を選定する選定方法について説明する。図４は、モデル候補の選定方法を説明するための図である。
【００６９】
図４に示すように、第２の仮想空間用情報提供部１１２は、センサデータ（深度データ、頭部姿勢データ、筋電位データ）を取得すると、アバタの監視対象の部位の部位情報を算出する。また、第２の仮想空間用情報提供部１１２は、監視対象の部位の部位情報に基づいて、監視対象の部位が所定量以上動いたかを判定する。更に、第２の仮想空間用情報提供部１１２は、監視対象の部位が所定量以上動いたと判定した場合に、動きの種類を判定し、「動きの種類判定ログテーブル」を更新する。
【００７０】
また、第２の仮想空間用情報提供部１１２は、動きの種類判定ログテーブルを更新すると、印象ずれ発生状況になっていないかを判定し、印象ずれ発生状況になっていると判定した場合に、図４の点線４００で示す処理を実行する。
【００７１】
図４の点線４００に示すように、第２の仮想空間用情報提供部１１２は、深度センサ１２２から取得したカラー画像データに基づいて、実空間における印象評価値を算出する。印象評価値とは、人の印象を評価した値である。人の状態を数値として表現する場合に一般に用いられる方法の一つとしてＶＡＤと呼ばれる３つの軸で表現する表現方法がある。ＶＡＤの各軸は、感情価（Valence）、覚醒（Arousal）、支配（Dominance）である。ただし、第１の実施形態では、感情価（Valence）と覚醒(Arousal)の２軸のみ（感情価（Valence）のプラス側を"positive"、マイナス側を"negative"、覚醒（Arousal）のプラス側を"active"、マイナス側を"passive"とする２軸平面）を用いて表現するものとする。
【００７２】
印象評価値の算出方法は任意であり、例えば、頭部姿勢データの変化量に基づいて、Arousal値／Valence値を算出してもよい。具体的には、変化量が多く前傾に近いほどArousal値／Valence値が高く、変化量が小さく後傾に近いほどArousal値／Valence値が低くなるＡＰＩ（Application Programming Interface）を用いて算出してもよい。
【００７３】
あるいは、深度データに含まれるカラー画像データを用いてArousal値／Valence値を算出してもよい。具体的には、活発で明るい印象を与える表情ほどArousal値／Valence値が高く、物静かで暗い印象を与える表情ほどArousal値／Valence値が低くなるＡＰＩを用いて算出してもよい。
【００７４】
また、第２の仮想空間用情報提供部１１２は、ログ格納部１１６に既に格納されているアバタ部位変位データのうち、今回判定した動きの種類に応じたアバタ部位変位データを、モデル候補として読み出す。なお、ログ格納部１１６に既に格納されているアバタ部位変位データとは、サーバ装置１１０の第１の仮想空間用情報提供部１１１が、過去に、センサデータに基づいて生成したアバタの各部位の部位情報である。
【００７５】
第２の仮想空間用情報提供部１１２は、読み出したモデル候補それぞれについて、仮想空間における印象評価値を算出する。
【００７６】
第２の仮想空間用情報提供部１１２は、実空間における印象評価値と、仮想空間における印象評価値とを比較する。また、第２の仮想空間用情報提供部１１２は、実空間における印象評価値に近い仮想空間における印象評価値が算出されたモデル候補を、アバタの画像の生成に用いるモデル候補として選定する。なお、サーバ装置１１０では、最終的に１のモデルを決定してアバタの画像を生成する。
【００７７】
このように、画像生成システム１００では、実空間における人の振る舞いを反映させたアバタの画像を生成するにあたり、印象ずれ発生状況にある場合には、第２の仮想空間用情報提供部１１２が、印象評価値に基づいてモデル候補を選定する。この結果、画像生成システム１００によれば、印象ずれ発生状況であっても、アバタの動きを介して他人に与える印象と、アバタの元になっている人の振る舞いにより他人に与える印象とのずれを抑止することができる。
【００７８】
＜サーバ装置のハードウェア構成＞
次に、サーバ装置１１０のハードウェア構成について説明する。図５は、サーバ装置のハードウェア構成の一例を示す図である。図５に示すように、サーバ装置１１０は、ＣＰＵ５０１、ＲＯＭ（Read Only Memory）５０２、ＲＡＭ（Random Access Memory）５０３を備える。また、サーバ装置１１０は、補助記憶部５０４、通信部５０５、表示部５０６、操作部５０７、ドライブ部５０８を備える。なお、サーバ装置１１０の各部は、バス５０９を介して相互に接続されている。
【００７９】
ＣＰＵ５０１は、補助記憶部５０４にインストールされた各種プログラム（例えば、仮想空間用情報提供プログラム）を実行するコンピュータである。ＲＯＭ５０２は、不揮発性メモリである。ＲＯＭ５０２は、補助記憶部５０４に格納された各種プログラムをＣＰＵ５０１が実行するために必要な各種プログラム、データ等を格納する主記憶部として機能する。具体的には、ＲＯＭ５０２はＢＩＯＳ（Basic Input/Output System）やＥＦＩ（Extensible Firmware Interface）等のブートプログラム等を格納する。
【００８０】
ＲＡＭ５０３は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）等の揮発性メモリであり、主記憶部として機能する。ＲＡＭ５０３は、補助記憶部５０４に格納された各種プログラムがＣＰＵ５０１によって実行される際に展開される、作業領域を提供する。
【００８１】
補助記憶部５０４は、サーバ装置１１０にインストールされた各種プログラムや、各種プログラムを実行する際に用いる情報（仮想空間の画像の生成に用いる画像（背景の画像、アバタの画像）、定義情報等）を格納する。また、補助記憶部５０４は、各種プログラムを実行することで取得される情報（センサデータ、各種ログテーブル等）を格納する。
【００８２】
通信部５０５は、サーバ装置１１０に接続するクライアント装置１２０、１３０と通信するためのデバイスである。表示部５０６は、サーバ装置１１０の処理結果や処理状態を表示する。操作部５０７は、サーバ装置１１０に対して各種指示を入力する際に用いられる。
【００８３】
ドライブ部５０８は記録媒体５１０をセットするためのデバイスである。ここでいう記録媒体５１０には、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体５１０には、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等も含まれる。
【００８４】
なお、補助記憶部５０４に格納される各種プログラムは、例えば、配布された記録媒体５１０がドライブ部５０８にセットされ、記録媒体５１０に記録された各種プログラムがドライブ部５０８により読み出されることで格納されるものとする。あるいは、通信部５０５を介してネットワーク１６０より受信することで格納されてもよい。
【００８５】
＜クライアント装置のハードウェア構成＞
次に、クライアント装置１２０、１３０のハードウェア構成について説明する。図６は、クライアント装置のハードウェア構成の一例を示す図である。図６に示すように、クライアント装置１２０、１３０は、ＣＰＵ６０１、ＲＯＭ（Read Only Memory）６０２、ＲＡＭ（Random Access Memory）６０３を備える。また、クライアント装置１２０、１３０は、補助記憶部６０４、通信部６０５、操作部６０６、表示部６０７、音声データ転送部６０８、音声データ取得部６０９を備える。更に、クライアント装置１２０、１３０は、頭部姿勢データ取得部６１０、深度データ取得部６１１、筋電位データ取得部６１２を備える。なお、これらの各部は、バス６１３を介して相互に接続されている。
【００８６】
ＣＰＵ６０１は、補助記憶部６０４にインストールされた各種プログラム（例えば、情報処理プログラム）を実行するコンピュータである。ＲＯＭ６０２は、不揮発性メモリである。ＲＯＭ６０２は、補助記憶部６０４に格納された各種プログラムをＣＰＵ６０１が実行するために必要な各種プログラム、データ等を格納する主記憶部として機能する。具体的には、ＲＯＭ６０２はＢＩＯＳ（Basic Input/Output System）やＥＦＩ（Extensible Firmware Interface）等のブートプログラム等を格納する。
【００８７】
ＲＡＭ６０３は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）等の揮発性メモリであり、主記憶部として機能する。ＲＡＭ６０３は、補助記憶部６０４に格納された各種プログラムがＣＰＵ６０１によって実行される際に展開される、作業領域を提供する。
【００８８】
補助記憶部６０４は、インストールされた各種プログラムや、各種プログラムを実行する際に用いる情報を格納する。
【００８９】
通信部６０５は、クライアント装置１２０、１３０が接続するサーバ装置１１０と通信するためのデバイスである。操作部６０６は、クライアント装置１２０、１３０に対して各種指示を入力する際に用いられる。表示部６０７は、クライアント装置１２０、１３０の処理結果や処理状態を表示する。
【００９０】
音声データ転送部６０８は、サーバ装置１１０より送信される仮想空間用情報に含まれる音声データを抽出し、ＨＭＤ１２３（またはＨＭＤ１３３）に送信する。これにより、ＨＭＤ１２３（またはＨＭＤ１３３）が有するスピーカにおいて、音声データが出力される。
【００９１】
音声データ取得部６０９は、音声センサ１２５（または音声センサ１３５）より送信された音声データを取得する。頭部姿勢データ取得部６１０は、頭部姿勢センサ１２４（または頭部姿勢センサ１３４）より送信された頭部姿勢データを取得する。深度データ取得部６１１は、深度センサ１２２（または深度センサ１３２）より送信された深度データを取得する。筋電位データ取得部６１２は、筋電位センサ１２６（または筋電位センサ１３６）より送信された筋電位データを取得する。
【００９２】
なお、取得された音声データ、頭部姿勢データ、深度データ、筋電位データ等のセンサデータは、通信部６０５によりサーバ装置１１０に送信される。
【００９３】
＜クライアント装置の機能構成＞
次に、クライアント装置１２０、１３０の情報処理部１２１、１３１の機能構成について説明する。図７は、クライアント装置の機能構成の一例を示す図である。図７に示すように、クライアント装置１２０、１３０の情報処理部１２１、１３１は、仮想空間用情報取得部７０１、センサデータ取得部７０２、センサデータ送信部７０３、視野画像生成部７０４、視野画像表示制御部７０５、音声出力制御部７０６を有する。
【００９４】
仮想空間用情報取得部７０１は、サーバ装置１１０より送信される仮想空間用情報を取得し、視野画像生成部７０４及び音声出力制御部７０６に通知する。
【００９５】
センサデータ取得部７０２は、頭部姿勢データ取得部６１０において取得された頭部姿勢データを、時刻情報と対応付けて取得する。また、センサデータ取得部７０２は、深度データ取得部６１１において取得された深度データを、時刻情報と対応付けて取得する。更に、センサデータ取得部７０２は、筋電位データ取得部６１２において取得された筋電位データ、音声データ取得部６０９において取得された音声データを、それぞれの時刻情報と対応付けて取得する。
【００９６】
センサデータ取得部７０２は、取得した頭部姿勢データと深度データとを、視野画像生成部７０４に通知する。また、取得した頭部姿勢データと深度データと筋電位データと音声データとを、それぞれ時刻情報と対応付けて、センサデータとして、センサデータ送信部７０３に通知する。
【００９７】
センサデータ送信部７０３は、センサデータ取得部７０２より通知されたセンサデータをサーバ装置１１０に送信する。センサデータ送信部７０３は、センサデータが取得されたユーザのユーザ名や、センサデータを取得したクライアント装置を識別するための識別子（クライアント装置ＩＤ）等をセンサデータと対応付けて、サーバ装置１１０に送信する。
【００９８】
視野画像生成部７０４は、センサデータ取得部７０２より通知された頭部姿勢データ及び深度データに基づいて、仮想空間用情報に含まれる仮想空間の画像に対する、ユーザ１４０（またはユーザ１５０）の視野画像を生成する。
【００９９】
視野画像表示制御部７０５は、視野画像生成部７０４により生成された視野画像を、ＨＭＤ１２３（またはＨＭＤ１３３）に表示するよう制御する。
【０１００】
音声出力制御部７０６は、仮想空間用情報に含まれる音声データを抽出し、ＨＭＤ１２３（またはＨＭＤ１３３）が有するスピーカにおいて出力されるよう制御する。
【０１０１】
＜クライアント装置により実行されるセンサデータ送信処理＞
次に、クライアント装置１２０により実行されるセンサデータ送信処理の流れについて説明する。図８は、クライアント装置により実行されるセンサデータ送信処理のフローチャートである。
【０１０２】
ステップＳ８０１において、センサデータ取得部７０２は、頭部姿勢データ取得部６１０により取得された頭部姿勢データを取得し、時刻情報と対応付けてセンサデータ送信部７０３に通知する。
【０１０３】
ステップＳ８０２において、センサデータ取得部７０２は、深度データ取得部６１１により取得された深度データを取得し、時刻情報と対応付けてセンサデータ送信部７０３に通知する。
【０１０４】
ステップＳ８０３において、センサデータ取得部７０２は、筋電位データ取得部６１２により取得された筋電位データを取得し、時刻情報と対応付けてセンサデータ送信部７０３に通知する。
【０１０５】
ステップＳ８０４において、センサデータ取得部７０２は、音声データ取得部６０９により取得された音声データを取得し、時刻情報と対応付けてセンサデータ送信部７０３に通知する。なお、ステップＳ８０１からＳ８０４における各処理の順序については、これらに限定されるものではなく、他の順序で行っても、あるいは、並行して行っても、別々のタイミングで開始・終了してもよい。
【０１０６】
ステップＳ８０５において、センサデータ送信部７０３は、センサデータ取得部７０２より通知されたセンサデータを、ユーザ名、クライアント装置ＩＤ等と対応付けて、センサデータとしてサーバ装置１１０に送信する。
【０１０７】
ステップＳ８０６において、センサデータ取得部７０２は、センサデータ送信処理を終了するか否かを判定する。センサデータ送信処理を終了しないと判定した場合には（ステップＳ８０６においてＮｏ）、ステップＳ８０１に戻り、センサデータ送信処理を継続する。一方、終了すると判定した場合には（ステップＳ８０６においてＹｅｓ）、センサデータ送信処理を終了する。
【０１０８】
＜クライアント装置により実行される仮想空間再生処理＞
次に、クライアント装置により実行される仮想空間再生処理の流れについて説明する。クライアント装置１２０、１３０により実行される仮想空間再生処理はいずれも同様の処理であるため、ここでは、クライアント装置１２０により実行される仮想空間再生処理について説明する。図９は、クライアント装置により実行される仮想空間再生処理のフローチャートである。
【０１０９】
ステップＳ９０１において、仮想空間用情報取得部７０１は、サーバ装置１１０より送信される仮想空間用情報を新たに取得したか否かを判定する。ステップＳ９０１において、仮想空間用情報を新たに取得していないと判定した場合には、ステップＳ９０４に進む。一方、ステップＳ９０１において、仮想空間用情報を新たに取得したと判定した場合には、ステップＳ９０２に進む。
【０１１０】
ステップＳ９０２において、仮想空間用情報取得部７０１は、新たに取得した仮想空間用情報を用いて、現在保持している仮想空間用情報を更新する。
【０１１１】
ステップＳ９０３において、音声出力制御部７０６は、更新された仮想空間用情報に含まれる音声データを取得し、音声データ転送部６０８を介してＨＭＤ１２３に出力する。
【０１１２】
ステップＳ９０４において、センサデータ取得部７０２は、頭部姿勢データ取得部６１０において取得された頭部姿勢データ及び深度データ取得部６１１において取得された深度データを取得する。
【０１１３】
ステップＳ９０５において、視野画像生成部７０４は、ステップＳ９０４において取得された頭部姿勢データ及び深度データに基づいて、更新された仮想空間用情報に含まれる仮想空間の画像に対するユーザ１４０の視野画像を生成する。
【０１１４】
ステップＳ９０６において、視野画像表示制御部７０５は、ステップＳ９０５において生成された視野画像を、ＨＭＤ１２３に表示するよう制御する。
【０１１５】
ステップＳ９０７において、仮想空間用情報取得部７０１は、仮想空間再生処理の終了指示の有無を判定する。ステップＳ９０７において、仮想空間再生処理の終了指示がないと判定した場合には（ステップＳ９０７においてＮｏ）、ステップＳ９０１に戻る。一方、ステップＳ９０７において、仮想空間再生処理の終了指示が入力されたと判定した場合には（ステップＳ９０７においてＹｅｓ）、仮想空間再生処理を終了する。
【０１１６】
＜サーバ装置の機能構成＞
次に、サーバ装置１１０の機能構成（第１の仮想空間用情報提供部１１１、第２の仮想空間用情報提供部１１２）について説明する。図１０は、サーバ装置の機能構成の一例を示す第１の図である。
【０１１７】
図１０に示すように、サーバ装置１１０の第１の仮想空間用情報提供部１１１は、センサデータ収集部１００１、仮想空間用情報生成部１００２、仮想空間用情報送信部１００３を有する。
【０１１８】
センサデータ収集部１００１は、クライアント装置１２０、１３０それぞれより送信されるセンサデータを収集し、センサデータ格納部１１４に格納する。
【０１１９】
仮想空間用情報生成部１００２は、センサデータ収集部１００１により収集されたセンサデータに基づいてアバタの各部位の部位情報を算出し、アバタの画像を生成する。また、仮想空間用情報生成部１００２は、生成したアバタの画像を含む仮想空間用情報を生成する。なお、仮想空間用情報生成部１００２は、アバタの画像の生成において算出した、アバタの各部位の部位情報であるアバタ部位変位データを、モデル候補として、ログ格納部１１６に格納する。
【０１２０】
仮想空間用情報送信部１００３は、仮想空間用情報生成部１００２により生成された仮想空間用情報を、仮想空間用情報の更新に用いたセンサデータを送信した送信元のクライアント装置以外のクライアント装置に送信する。仮想空間用情報送信部１００３は、クライアント装置１２０により送信されたセンサデータに基づいてアバタの画像が生成されて仮想空間用情報が更新された場合には、更新された仮想空間用情報をクライアント装置１３０に送信する。また、仮想空間用情報送信部１００３は、クライアント装置１３０により送信されたセンサデータに基づいてアバタの画像が生成されて仮想空間用情報が更新された場合には、更新された仮想空間用情報をクライアント装置１２０に送信する。
【０１２１】
また、図１０に示すように、サーバ装置１１０の第２の仮想空間用情報提供部１１２は、センサデータ読み出し部１０１１、動き（変化）判定部１０１２、誤りやすさ判定部１０１３を有する。更に、第２の仮想空間用情報提供部１１２は、モデル候補読み出し部１０１４、印象評価値（実空間）算出部１０１５、印象評価値（仮想空間）算出部１０１６、モデル候補選定部１０１７を有する。
【０１２２】
センサデータ読み出し部１０１１は、センサデータ格納部１１４に所定量のセンサデータが蓄積された場合に、当該所定量のセンサデータを読み出す。あるいは、センサデータ読み出し部１０１１は、所定時間ごとに、センサデータ格納部１１４に蓄積された所定時間分のセンサデータを読み出す。
【０１２３】
動き（変化）判定部１０１２は、センサデータ読み出し部１０１１により読み出されたセンサデータに基づいて、仮想空間におけるアバタの監視対象の部位の部位情報を算出する。また、動き（変化）判定部１０１２は、監視対象の部位の部位情報に含まれる部位値が所定量以上変化したか否かを判定し、所定量以上変化したと判定した場合には、監視対象の部位の動きの種類を判定する。更に、動き（変化）判定部１０１２は、判定した動きの種類をログ格納部１１６の「動きの種類判定ログテーブル」に格納する。
【０１２４】
誤りやすさ判定部１０１３は、動き（変化）判定部１０１２により動きの種類が判定された場合に、誤りやすさ閾値領域マップを参照し、印象ずれ発生状況であるか否かを判断する。例えば、誤りやすさ判定部１０１３は、動き（変化）判定部１０１２により算出されたアバタの各部位の部位情報により、仮想空間におけるアバタの各部位の位置を特定する。また、誤りやすさ判定部１０１３は、特定した位置に対応する実空間の位置が、誤りやすさ閾値領域マップにおける誤りやすさ閾値領域に含まれるか否かを判定する。誤りやすさ判定部１０１３は、含まれると判定した場合には、印象ずれ発生状況であると判断し、含まれないと判定した場合には、印象ずれ発生状況ではないと判断する。なお、誤りやすさ判定部１０１３は、印象ずれ発生状況であると判断した場合、モデル候補読み出し部１０１４に、印象ずれ発生状況であることを通知する。
【０１２５】
モデル候補読み出し部１０１４は、誤りやすさ判定部１０１３より、印象ずれ発生状況である旨の通知を受けると、ログ格納部１１６にモデル候補として格納されているアバタ部位変位データを読み出す。なお、モデル候補読み出し処理の詳細は、図２６を用いて後述する。
【０１２６】
印象評価値（実空間）算出部１０１５は、センサデータ読み出し部１０１１により読み出されたセンサデータを、印象評価値を算出するためのＡＰＩに入力することで、印象評価値を算出し、モデル候補選定部１０１７に通知する。
【０１２７】
なお、印象評価値を算出するためのＡＰＩに入力するセンサデータは、センサデータ読み出し部１０１１により読み出されたセンサデータのうち、動きの種類の判定に用いられたセンサデータが取得された時間帯に取得されたセンサデータを用いる。動きの種類の判定に用いられたセンサデータが取得された時間帯とは、動きの種類の判定に用いられたセンサデータが取得された時刻及び当該データ取得時刻に近接する時刻を含む時間帯をいう。また、動きの種類の判定に用いられたセンサデータが取得された時間帯に取得されたセンサデータとは、当該時間帯に取得された全てのセンサデータであってもよい。あるいは、当該時間帯に取得されたセンサデータのうち、動きの種類の判定に用いられたセンサデータであってもよい。
【０１２８】
印象評価値（仮想空間）算出部１０１６は、モデル候補読み出し部１０１４によりモデル候補として読み出されたアバタ部位変位データを印象評価値を算出するためのＡＰＩに入力することで印象評価値を算出し、モデル候補選定部１０１７に通知する。
【０１２９】
モデル候補選定部１０１７は、印象評価値（実空間）算出部１０１５より通知された印象評価値と、印象評価値（仮想空間）算出部１０１６より通知された印象評価値とを比較する。モデル候補選定部１０１７は、印象評価値（実空間）算出部１０１５より通知された印象評価値に近い印象評価値が算出されたモデル候補を選定する。更に、モデル候補選定部１０１７は、選定したモデル候補を仮想空間用情報生成部１００２に通知する。
【０１３０】
なお、仮想空間用情報生成部１００２は、モデル候補選定部１０１７より、モデル候補が通知された場合には、通知されたモデル候補を用いてアバタの画像を生成する。このとき、仮想空間用情報生成部１００２は、選定されたモデル候補の中から１のモデル候補を決定してアバタの画像を生成する。１のモデル候補は、ランダムに決定しても、モデル候補生成時に各モデルに割り当てられた優先順位の高い順に決定しても、表示しようとするアバタの直前に表示されたアバタの画像との動きの差分が最も小さいものを決定してもよい。
【０１３１】
なお、上記説明では、仮想空間用情報生成部１００２が、更新されたアバタの画像と動きが更新されないアバタの画像とを含む仮想空間用情報を生成し、仮想空間用情報送信部１００３が、当該仮想空間用情報をクライアント装置１２０に送信するものとした。しかしながら、仮想空間用情報送信部１００３が仮想空間用情報を一旦送信した後は、更新情報（更新されたアバタの画像や、仮想空間内のオブジェクトの属性情報（ボーンやメッシュの位置、角度、表示色や表示模様等））のみを送信するようにしてもよい。この場合、クライアント装置１２０では、更新情報に基づいて仮想空間におけるアバタの画像を更新する。
【０１３２】
また、クライアント装置上の仮想空間再生処理においては、視野画像生成（ステップＳ９０５）においてクライアント装置上でセンサデータに基づいてアバタの画像が更新された後にモデル候補の選定が行われる場合もある。
【０１３３】
つまり、クライアント装置上でアバタの画像の更新に用いられたセンサデータと同じセンサデータがサーバ装置上で処理されてモデル候補が選定され、仮想空間用情報としてサーバ装置よりアバタの画像が送信される場合もある。
【０１３４】
例えば、クライアント装置とサーバ装置との間の通信の遅延等の問題により、当該クライアント装置上のセンサデータに基づくアバタの画像の生成処理と、サーバ装置上のアバタの画像の生成処理との間で齟齬が生じる場合がある。このような場合、アバタの画像の２つの生成処理を異なるアバタの部位に反映させる等の形態があってもよい。
【０１３５】
例えば、クライアント装置上でセンサデータに基づいて生成されたアバタの画像は、アバタの影のように表現されたアバタの部位に反映させ、サーバ装置上で生成されたアバタの画像は、アバタの本体として表現されたアバタの部位に反映させてもよい。
【０１３６】
また、取得したセンサデータがサーバ装置上で処理された結果、アバタの画像が生成されなかった場合にのみ、クライアント装置上でアバタの画像を生成するようにしてもよい。これにより、同一のセンサデータに基づいて、クライアント装置上でアバタの画像の生成が２回行われることを回避することができる。
【０１３７】
＜センサデータの説明＞
次に、センサデータ格納部１１４に格納されるセンサデータのうち、音声データを除くセンサデータ（頭部姿勢データ、深度データ、筋電位データ）について、図１１〜図１３を用いて説明する。なお、以降の説明において、音声データについての説明は省略し、センサデータには、頭部姿勢データ、深度データ、筋電位データが含まれるものとして説明する。
【０１３８】
また、以下の説明における（位置、角度）のうち、位置は、仮想空間において一意に決まるものであり、角度は、仮想空間におけるＸＹＺ軸に対する回転を指すものとする。
【０１３９】
（頭部姿勢データテーブルの説明）
図１１は、頭部姿勢データテーブルの一例を示す図である。図１１に示すように、頭部姿勢データテーブル１１００は、情報の項目として、"記録時刻"と、"データ取得時刻"と、"ユーザ名"と、"クライアント装置ＩＤ"と、"頭部姿勢データ（位置、角度）"とを含む。
【０１４０】
"記録時刻"には、頭部姿勢データが、センサデータ格納部１１４に格納された時刻が記録される。"データ取得時刻"には、頭部姿勢データが、センサデータ取得部７０２により取得された時刻が記録される。
【０１４１】
"ユーザ名"には、頭部姿勢センサを使用するユーザのユーザ名が記録される。センサデータ送信部７０３は、センサデータとして頭部姿勢データを送信する際に、あわせて頭部姿勢センサを使用するユーザのユーザ名を送信する。
【０１４２】
"クライアント装置ＩＤ"には、頭部姿勢データを含むセンサデータを送信したクライアント装置を識別するための識別子が記録される。センサデータ送信部７０３は、センサデータをサーバ装置１１０に送信する際に、クライアント装置を識別するための識別子を、センサデータと対応付けて送信する。なお、センサデータ送信部７０３は、クライアント装置を識別するための識別子に加え、頭部姿勢センサを識別するための識別子を送信するようにしてもよい。この場合、"クライアント装置ＩＤ"には、クライアント装置を識別するための識別子に加え、頭部姿勢センサを識別するための識別子が合わせて記録されることになる。
【０１４３】
"頭部姿勢データ（位置、角度）"には、頭部姿勢データである、位置データと角度データとが記録される。具体的には、頭部姿勢データを、仮想空間上のベクトルの位置、各ＸＹＺ軸に対する角度として算出したものが時系列に記録される。
【０１４４】
図１１の例は、"２０１５年７月２７日１１時００分００秒０００"に、ユーザ名＝"Ａ"であるユーザ１４０の頭部姿勢データとして、センサデータ取得部７０２が（（位置），（角度））＝"（（０，１８，−１８）、（０，０，０））"を取得したことを示している。また、当該頭部姿勢データが、クライアント装置ＩＤ＝"ｃ１"のクライアント装置１２０より送信され、"２０１５年７月２７日１１時００分０１秒０３０"にセンサデータ収集部１００１によりセンサデータ格納部１１４に格納されたことを示している。
【０１４５】
（深度データファイルテーブルの説明）
図１２は、深度データファイルテーブルの一例を示す図である。図１２に示すように、深度データファイルテーブル１２００は、情報の項目として、"記録時刻"と、"データ取得開始時刻"と、"データ取得終了時刻"とを含む。更に、情報の項目として、"ユーザ名"と、"クライアント装置ＩＤ"と、"深度データファイルＵＲＩ（Uniform Resource Identifier）"とを含む。
【０１４６】
"記録時刻"には、深度データファイルが、センサデータ格納部１１４に格納された時刻が記録される。"データ取得開始時刻"には、所定時間内に深度センサから取得されたデータのうち、はじめのデータが取得された時刻（例えば、所定時間の開始時刻）が記録される。"データ取得終了時刻"には、所定時間内に深度センサから取得されたデータのうち、最後のデータが取得された時刻（例えば、所定時間の終了時刻）が記録される。また、深度センサから取得されたこれらのデータは、深度センサデータファイルとして記録される。深度データファイルの内部は、深度センサの種類によって異なり、一例として、深度画像データ、カラー画像データ、赤外線画像データ等、二次元ｘｙ平面の各ピクセルの情報が異なるデータが挙げられる。各ピクセルの情報とは、深度画像データであれば深度センサからの距離値、カラー画像データであればＲＧＢ値、赤外線画像であればグレースケール値となる。また、他の例として、深度画像データ、カラー画像データ、赤外線画像データ等の画像データを処理し、画像内のどのピクセル位置にユーザが存在するか、顔パーツが存在するか等の情報を収めたデータが挙げられる。なお、第１の実施形態では、深度データファイルに、深度画像データとカラー画像データとが少なくとも含まれていることを前提として説明するが、これに限定されるものではない。
【０１４７】
"ユーザ名"には、深度センサ１２２を使用するユーザのユーザ名が記録される。センサデータ送信部７０３は、センサデータとして深度データファイルを送信する際に、あわせて深度センサ１２２を使用するユーザのユーザ名を送信する。
【０１４８】
"クライアント装置ＩＤ"には、深度データファイルを含むセンサデータを送信したクライアント装置を識別するための識別子が記録される。センサデータ送信部７０３は、センサデータをサーバ装置１１０に送信する際に、クライアント装置を識別するための識別子を、センサデータと対応付けて送信する。なお、センサデータ送信部７０３は、クライアント装置を識別するための識別子に加え、深度センサを識別するための識別子を送信するようにしてもよい。この場合、"クライアント装置ＩＤ"には、クライアント装置を識別するための識別子に加え、深度センサを識別するための識別子が合わせて記録されることになる。
【０１４９】
"深度データファイルＵＲＩ"には、深度データファイルの格納先のフォルダの参照アドレスとファイル名とが規定のフォーマットで記録される。このうち、図１２では、ファイル名のみを示した。
【０１５０】
図１２の例は、深度データファイルとして、ファイル名＝"００１．ｘｅｆ"の深度データファイルがセンサデータ格納部１１４に格納されたことを示している。また、深度データファイル（００１．ｘｅｆ）は、"２０１５年７月２７日１１時００分００秒０００"から"２０１５年７月２７日１１時００分０１秒０００"までの間のデータが含まれていることを示している。また、深度データファイル（００１、ｘｅｆ）は、ユーザ名＝"Ａ"であるユーザ１４０が利用するクライアント装置（クライアント装置ＩＤ＝"ｃ１"）に接続された深度センサ（ｓ１）において取得されたデータであることを示している。更に、深度データファイル（００１．ｘｅｆ）は、クライアント装置ＩＤ＝"ｃ１"のクライアント装置１２０により送信され、"２０１５年７月２７日１１時００分０１秒０３０"にセンサデータ格納部１１４に格納されたことを示している。
【０１５１】
（筋電位データテーブルの説明）
図１３は、筋電位データテーブルの一例を示す図である。図１３に示すように、筋電位データテーブル１３００は、情報の項目として、"記録時刻"と、"データ取得時刻"と、"ユーザ名"と、"クライアント装置ＩＤ"と、"筋電位データ（ＥＭＧ（μＶ））"とを含む。
【０１５２】
"記録時刻"には、筋電位データがセンサデータ格納部１１４に格納された時刻が記録される。"データ取得時刻"には、筋電位データが、センサデータ取得部７０２により取得された時刻が記録される。
【０１５３】
"ユーザ名"には、筋電位センサを使用するユーザのユーザ名が記録される。センサデータ送信部７０３は、筋電位データを送信する際に、あわせて筋電位センサを使用するユーザのユーザ名を送信する。
【０１５４】
"クライアント装置ＩＤ"には、筋電位データを含むセンサデータを送信したクライアント装置を識別するための識別子が記録される。センサデータ送信部７０３は、センサデータをサーバ装置１１０に送信する際に、クライアント装置を識別するための識別子を、センサデータと対応付けて送信する。"筋電位データ（ＥＭＧ（μＶ））"には、筋電位データの値が記録される。なお、センサデータ送信部７０３は、クライアント装置を識別するための識別子に加え、筋電位センサを識別するための識別子を送信するようにしてもよい。この場合、"クライアント装置ＩＤ"には、クライアント装置を識別するための識別子に加え、筋電位センサを識別するための識別子が合わせて記録されることになる。更に、１のユーザに対して複数種類の筋電位センサを装着する場合にあっては、筋電位センサの種類を識別するための識別子も合わせて記録されることになる。
【０１５５】
図１３の例は、"２０１５年７月２７日１１時００分０１秒０００"に、ユーザ名＝"Ａ"であるユーザ１４０の筋電位データが"ｚｙｇｏｍａｔｉｃｕｓ（ｃｈｅｅｋ）"によって特定される種類の筋電位センサによりセンシングされたことを示している。また、センシングされた筋電位データがＥＭＧ（μＶ）＝"３３．９"であることを示している。更に、クライアント装置ＩＤ＝"ｃ１"のクライアント装置１２０より送信され、"２０１５年７月２７日１１時００分０１秒０３５"にセンサデータ格納部１１４に格納されたことを示している。
【０１５６】
＜アバタの動きの説明＞
次に、動き（変化）判定部１０１２にて監視対象となるアバタの部位の動きについて説明する。動き（変化）判定部１０１２は、センサデータに基づいて算出されるアバタの所定の部位の部位値を監視し、アバタの所定の部位の部位値が所定量以上変化したか否かを判定する。
【０１５７】
動き（変化）判定部１０１２にて監視対象となるアバタの所定の部位の動きには、アバタの体全体の動きと、アバタの体の一部の動きと、アバタの体の一部（顔）において表情が変化する動きとが含まれる。
【０１５８】
アバタの体全体の動きには、例えば、アバタが前方または後方、左方または右方に移動する動きや、アバタが体全体の向きを変える動き等が含まれる。アバタが前方または後方、左方または右方に移動する動きは、例えば、アバタの中心位置に配置されている骨格の位置の変化として表すことができる。また、アバタが進行方向を変える時のように位置を動かずに体全体の向きを右や左へ変える動きは、床面に対して垂直方向に延びる軸の軸周りの角度の変化として表すことができる。
【０１５９】
アバタの体の一部の動きには、例えば、アバタの上半身が前傾または後傾する動きや、アバタが左右を見回すように上半身の向きを変える動き、上半身全体で左右に揺れる動き等が含まれる。また、アバタの体の一部の動きには、例えば、アバタが顔の向きを上向きまたは下向きにする動きや、アバタが顔の向きを左方向または右方向に変える動き等が含まれる。
【０１６０】
このうち、アバタの上半身が前傾または後傾する動きや、アバタが左右を見回すように上半身の向きを変える動き、上半身全体で左右に揺れる動きは、例えば、アバタの腰の位置を原点とする３軸方向の軸周りの角度の変化（"Bone_Chest"の変化）で表される。同様に、アバタが顔の向きを上向きまたは下向きにする動きや、アバタが顔の向きを左方向または右方向に変える動きは、例えば、アバタの頭の位置に配置された骨格の位置を原点とする３軸方向の軸周りの角度の変化（"Bone_Head"の変化）で表される。
【０１６１】
更に、アバタの体の一部（顔）において表情が変化する動きには、例えば、アバタが視線を上方向または下方向、左方向または右方向に向ける動きや、アバタの口角が上がるまたは下がる動き、ユーザの眉毛の角度が変わる動き等が含まれる。これらの動きは、例えば、アバタの顔面中の複数の点群の位置及び当該位置に囲まれた平面（例えば唇の皮膚相当）の状態変化に紐づいたスコアとして表される。具体的には、"Shape_Mouse"の所定の状態から他の状態への遷移に紐づけた"IsSmile"というスコアで表される。
【０１６２】
なお、アバタの動きについての上記の表現方法は一例であり、他の表現方法により表わされてもよい。図１４は、アバタの動きの表現方法の一例を示す図であり、アバタの上半身が前傾または後傾する動き、アバタが左右を見回すように上半身の向きを変える動き、及び上半身全体で左側面や右側面に揺れる動きを表している。より具体的には、これらの動きをアバタの腰の位置を原点とする３軸方向の軸周りの角度の変化（"Bone_Chest"の変化）として表している。
【０１６３】
なお、図１４では、仮想空間で一意である座標系のＸ軸、Ｙ軸、Ｚ軸が、それぞれアバタの左右方向、上下方向、前後方向と対応しており、アバタの腰の位置に配置された骨格を回転の中心としている。
【０１６４】
このうち、画像１４０１は、ｘ軸上で＋α度回転した場合に、アバタがどのような姿勢となるのかを表しており、画像１４０２は、ｘ軸上で−α度回転した場合に、アバタがどのような姿勢となるのかを表している。
【０１６５】
また、画像１４１１は、ｙ軸上で＋α度回転した場合に、アバタがどのような姿勢となるのかを表しており、画像１４１２は、ｙ軸上で−α度回転した場合に、アバタがどのような姿勢となるのかを表している。
【０１６６】
更に、画像１４２１は、ｚ軸上で＋α度回転した場合に、アバタがどのような姿勢となるのかを表しており、画像１４２２は、ｚ軸上で−α度回転した場合に、アバタがどのような姿勢となるのかを表している。
【０１６７】
＜アバタの動きの種類を判定するための定義情報＞
次に、アバタの動きの種類を判定するための定義情報について説明する。図１５は、定義情報格納部に格納された定義情報のうち、アバタの動きの種類を判定するための定義情報を示した図である。
【０１６８】
図１５に示すように、定義情報（振る舞い用）１５００には、動きの種類の判定に用いる"センサデータ"と、当該センサデータを取得するためのセンサの識別子（"センサＩＤ"）とが定義されている。更に、定義情報（振る舞い用）１５００には、アバタの各部位のうち、"監視対象"の部位と、監視対象の部位が所定量以上動いたか否かを判定するための"閾値"とが定義されている。更に、定義情報（振る舞い用）１５００には、監視対象の部位が所定量以上動いたと判定された場合に特定される、"動きの種類"が定義されている。
【０１６９】
例えば、動き（変化）判定部１０１２は、アバタの腰の位置を原点とする３軸方向の軸周りの角度の変化（"Bone_Chest"の変化）を監視する。動き（変化）判定部１０１２は、センサＩＤ＝"ｓ２"の深度センサにより取得された深度データに基づいて当該監視を行い、"Bone_Chest"がＸ軸周りに＋５度以上回転したことを検出すると、前傾変化があったと判定する。
【０１７０】
また、動き（変化）判定部１０１２は、アバタの頭の位置に配置された骨格の位置を原点とする３軸方向の軸周りの角度の変化（"Bone_Head"の変化）を監視する。動き（変化）判定部１０１２は、センサＩＤ＝"ｓ１"の頭部姿勢センサにより取得された頭部姿勢データに基づいて当該監視を行い、"Bone_Head"がいずれかの軸周りに＋５度以上回転したことを検出すると、顔向き変化があったと判定する。
【０１７１】
更に、動き（変化）判定部１０１２は、アバタの口角を含む口の周囲の点群の変化（"Shape_Mouse"の変化）を監視する。"Shape_Mouse"の変化は口表情変化の度合いを示すパラメータ（IsSmile）と紐付けられている。なお、IsSmileの値は、"IsSmile"＝０が、口を閉じた状態での点群の位置を示し、"IsSmile"＝１が、口を大きく開いた状態での点群の位置を示すように割り当てられているものとする。
【０１７２】
動き（変化）判定部１０１２は、センサＩＤ＝"ｓ３"の筋電位センサにより取得された筋電位データに基づいて"IsSmile"の監視を行い、"IsSmile"が０．５より大きくなったことを検出すると、口表情変化があったと判定する。
【０１７３】
＜動きの種類判定ログテーブルの説明＞
次に、動きの種類判定ログテーブルについて説明する。ユーザの振る舞いに応じて、アバタの監視対象の部位の部位値が所定量以上変化し、動き（変化）判定部１０１２により動きの種類が判定されると、ログ格納部１１６の動きの種類判定ログテーブルには、判定された動きの種類等が格納される。
【０１７４】
図１６は、動きの種類判定ログテーブルの一例を示す図である。図１６に示すように、動きの種類判定ログテーブル１６００には、情報の項目として、"記録時刻"、"変化発生時刻"、"ユーザ名"、"クライアント装置ＩＤ"、"変化前及び変化後の部位情報"が含まれる。
【０１７５】
"記録時刻"には、ログ格納部１１６に新たなデータ行が追加され、動きの種類が格納された時刻が記録される。"変化発生時刻"には、動きの種類の判定に用いられたセンサデータが取得された時刻が記録される。
【０１７６】
"ユーザ名"には、アバタの元となるユーザのユーザ名が記録される。"クライアント装置ＩＤ"には、動きの種類の判定に用いられたセンサデータを送信したクライアント装置を識別するための識別子が記録される。
【０１７７】
"変化前及び変化後の部位情報"には、動きの種類が判定された際の、変化前の部位情報と変化後の部位情報とが記録される。
【０１７８】
図１６の例（データ行１６０１）は、"２０１５年７月２７日１１時０２分００秒０００"に、ログ格納部１１６の動きの種類判定ログテーブル１６００に当該データ行１６０１が追加されたことを示している。また、図１６の例（データ行１６０１）は、ユーザ名＝"Ａ"であるユーザ１４０の振る舞いに応じて発生した口表情変化であることを示している。また、図１６の例（データ行１６０１）は、"２０１５年７月２７日１１時００分０１秒０００"に取得されたセンサデータに基づいて、口表情変化があったと判定されたことを示している。また、図１６の例（データ行１６０１）は、当該センサデータが、クライアント装置ＩＤ＝"ｃ１"のクライアント装置１２０により送信されたセンサデータであることを示している。また、図１６の例（データ行１６０１）は、アバタの部位情報である"Shape_Mouse"と紐付けられたパラメータ"IsSmile"が、"０．５"から"０．８"に変化したことを示している。
【０１７９】
＜モデル候補の説明＞
次に、仮想空間用情報生成部１００２によりログ格納部１１６に格納される、モデル候補について説明する。図１７は、モデル候補の一例を示す図である。
【０１８０】
図１７に示すように、モデル候補は、アバタの各部位の部位情報を含む。図１７のモデル候補１７００は、部位の種類を特定するための情報として、"<Head><Bone>"が含まれ、部位値として、位置＝（０，１８，−１０）、角度＝（０，１，０）が含まれたデータ部位変位データであることを示している。
【０１８１】
＜サーバ装置の第２の仮想空間用情報提供部が実行するモデル候補選定処理＞
次に、サーバ装置１１０の第２の仮想空間用情報提供部１１２が実行する、モデル候補選定処理の流れについて説明する。図１８は、モデル候補選定処理のフローチャートである。
【０１８２】
ステップＳ１８０１において、センサデータ読み出し部１０１１は、センサデータ格納部１１４に所定量以上のセンサデータが蓄積されたか否かを判定する。ステップＳ１８０１において、所定量以上のセンサデータが蓄積されていないと判定した場合には（ステップＳ１８０１においてＮｏ）、所定量以上のセンサデータが蓄積されるまで待機する。
【０１８３】
一方、ステップＳ１８０１において、所定量以上のセンサデータが蓄積されたと判定した場合には（ステップＳ１８０１においてＹｅｓ）、ステップＳ１８０２に進む。ステップＳ１８０２において、センサデータ読み出し部１０１１は、所定量のセンサデータを読み出し、動き（変化）判定部１０１２は、読み出されたセンサデータに基づいて仮想空間におけるアバタの各部位（監視対象の各部位）の部位情報を生成する。
【０１８４】
ステップＳ１８０３において、動き（変化）判定部１０１２は、定義情報（振る舞い用）１５００に規定された各"閾値"と各部位情報とを対比することで、アバタの監視対象の部位の部位値が所定量以上変化したか否かを判定する。ステップＳ１８０３において、所定量以上変化していないと判定した場合には（ステップＳ１８０３においてＮｏ）、ステップＳ１８０１に戻る。一方、ステップＳ１８０３において、所定量以上変化したと判定した場合には（ステップＳ１８０３においてＹｅｓ）、ステップＳ１８０４に進む。
【０１８５】
ステップＳ１８０４において、動き（変化）判定部１０１２は、動きの種類判定ログテーブル１６００に新たなデータ行を追加し、判定した動きの種類等を格納する。
【０１８６】
ステップＳ１８０５において、誤りやすさ判定部１０１３は、誤りやすさ閾値領域マップを参照し、「アバタの各部位の誤りやすさ判定処理」を行い、印象ずれ発生状況であるか否かを判断する。なお、アバタの各部位の誤りやすさ判定処理の詳細は、図１９（ａ）を用いて後述する。
【０１８７】
ステップＳ１８０５における判定処理の結果、印象ずれ発生状況でないと判断した場合には、ステップＳ１８０６からステップＳ１８１１に進む。一方、印象ずれ発生状況であると判断した場合には、ステップＳ１８０６からステップＳ１８０７に進む。
【０１８８】
ステップＳ１８０７において、モデル候補読み出し部１０１４は、ログ格納部１１６に格納されたアバタ部位変位データの中から、ステップＳ１８０３において判定した動きの種類に応じたアバタ部位変位データを読み出す処理（「モデル候補読み出し処理」）を行う。なお、モデル候補読み出し処理の詳細は、図１９（ｂ）を用いて後述する。
【０１８９】
ステップＳ１８０８において、印象評価値（仮想空間）算出部１０１６は、ステップＳ１８０７において読み出されたモデル候補それぞれについて、仮想空間における印象評価値を算出する。
【０１９０】
ステップＳ１８０９において、印象評価値（実空間）算出部１０１５は、ステップＳ１８０２において読み出されたセンサデータに基づいて、実空間における印象評価値を算出する。
【０１９１】
ステップＳ１８１０において、モデル候補選定部１０１７は、ステップＳ１８０８において算出された仮想空間におけるモデル候補の印象評価値それぞれと、ステップＳ１８０９において算出された実空間におけるユーザの印象評価値とを比較する。モデル候補選定部１０１７は、比較の結果、実空間におけるユーザの印象評価値に近い仮想空間におけるモデル候補の印象評価値を抽出する。更に、モデル候補選定部１０１７は、当該印象評価値に対応するモデル候補を、アバタの画像の生成に用いるモデルの候補に選定し、仮想空間用情報生成部１００２に通知する。
【０１９２】
ステップＳ１８１１において、センサデータ読み出し部１０１１は、モデル候補選定処理を終了するか否かを判定する。ステップＳ１８１１において、終了しないと判定した場合には（ステップＳ１８１１においてＮｏ）、ステップＳ１８０１に戻り、モデル候補選定処理を継続する。一方、終了すると判定した場合には（ステップＳ１８１１においてＹｅｓ）、モデル候補選定処理を終了する。
【０１９３】
＜アバタの各部位の誤りやすさ判定処理の流れ＞
次に、アバタの各部位の誤りやすさ判定処理（図１８のステップＳ１８０５）の詳細について説明する。図１９（ａ）は、アバタの各部位の誤りやすさ判定処理のフローチャートである。
【０１９４】
ステップＳ１９０１において、誤りやすさ判定部１０１３は、図１８のステップＳ１８０３において、動きの種類を判定するのに用いたセンサデータの現状の状況に合わせて、誤りやすさ閾値領域マップを更新する。
【０１９５】
ステップＳ１９０２において、誤りやすさ判定部１０１３は、仮想空間におけるアバタの各部位の位置に対応する実空間の位置が、更新された誤りやすさ閾値領域マップの誤りやすさ閾値領域に含まれるか否かを判定する。誤りやすさ閾値領域に含まれる場合、誤りやすさ判定部１０１３は、印象ずれ発生状況であると判断する。一方、誤りやすさ閾値領域に含まれない場合、誤りやすさ判定部１０１３は、印象ずれ発生状況でないと判断する。なお、誤りやすさ判定部１０１３は、アバタの各部位の位置のうち、一部の部位の位置に対応する実空間の位置が、誤りやすさ閾値領域に含まれると判定した場合に、印象ずれ発生状況であると判断する。ただし、判断方法はこれに限定されず、総合的に誤りやすさが閾値を超えるか否かを判定することで、印象ずれ発生状況であるか否かを判断するようにしてもよい。
【０１９６】
なお、アバタの所定の部位の位置に対応する実空間の位置が、誤りやすさ閾値領域に含まれる場合、アバタの当該部位を、以下では「誤りやすさ閾値を超える部位」と称する。
【０１９７】
＜モデル候補読み出し処理の流れ＞
次に、モデル候補読み出し処理（図１８のステップＳ１８０７）の詳細について説明する。図１９（ｂ）は、モデル候補読み出し処理のフローチャートである。
【０１９８】
ステップＳ１９１１において、モデル候補読み出し部１０１４は、動きの種類判定ログテーブル１６００を参照し、ステップＳ１８０４において追加したデータ行に記録された"動きの種類"と同じ"動きの種類"が記録された他のデータ行を検索する。
【０１９９】
ステップＳ１９１２において、モデル候補読み出し部１０１４は、ステップＳ１９１１において検索されたデータ行それぞれに記録された"変化発生時刻"を抽出する。
【０２００】
ステップＳ１９１３において、モデル候補読み出し部１０１４は、アバタ部位変位ログテーブル２０００を参照し、ステップＳ１９１２において抽出された"変化発生時刻"と同じ時刻が"データ取得時刻"に記録されているデータ行を検索する。
【０２０１】
ステップＳ１９１４において、モデル候補読み出し部１０１４は、アバタ部位変位ログテーブル２０００を参照し、ステップＳ１０１３において検索されたデータ行に含まれるアバタ部位変位データを、モデル候補として読み出す。これにより、モデル候補読み出し部１０１４では、動きの種類に応じたモデル候補を読み出すことができる。
【０２０２】
＜アバタ部位変位ログテーブルの説明＞
次に、アバタ部位変位データが格納されたアバタ部位変位ログテーブルについて説明する。図２０は、アバタ部位変位ログテーブルの一例を示す図である。
【０２０３】
図２０に示すように、アバタ部位変位ログテーブル２０００は、情報の項目として、"記録時刻"、"データ取得時刻"、"ユーザ名"、"クライアント装置ＩＤ"、"アバタ部位変位タイプ"、"アバタ部位変位データ"が含まれる。
【０２０４】
"記録時刻"には、アバタの画像が生成され、アバタの画像の生成に用いられたアバタの各部位の部位情報が、アバタ部位変位データとしてログ格納部１１６のアバタ部位変位ログテーブル２０００に格納された時刻が記録される。
【０２０５】
"データ取得時刻"には、アバタ部位変位データに含まれる部位情報の生成に用いられたセンサデータが取得された時刻が記録される。
【０２０６】
"ユーザ名"には、アバタの元となるユーザのユーザ名が記録される。"クライアント装置ＩＤ"には、アバタの元となるユーザが利用するクライアント装置を識別するための識別子が記録される。
【０２０７】
"アバタ部位変位タイプ"には、アバタの画像の各部位の部位情報の種類が記録される。アバタ部位変位タイプ＝"particle"とは、部位情報の種類が、アバタの表面構造や内部構造を無数の点群の集合によって表現したデータであることを示している。また、アバタ部位変位タイプ＝"bone"とは、部位情報の種類が、アバタの決められた骨格構成で表現したデータであることを示している。更に、アバタ部位変位タイプ＝"mesh"とは、部位情報の種類が、アバタの表層の皮膚や衣服等を複数の点や面の集合として表現したデータであることを示している。
【０２０８】
なお、アバタ部位変位タイプ＝"particle"または"mesh"の場合、アバタの各部位の部位情報は行列（仮想空間内におけるｘｙｚ座標の値）で示される。また、アバタ部位変位タイプ＝"bone"の場合、アバタの各部位の部位情報は、各骨格の位置と角度とによって示される。
【０２０９】
"アバタ部位変位データ"には、生成されたアバタの画像の各部位の部位情報が記録される。"アバタ部位変位データ"に記録された部位情報は、モデル候補として用いられる。
【０２１０】
なお、上記説明では、アバタの画像を生成する場合の処理について説明したが、アバタの音声やアバタの触覚（アバタが他のアバタから触られたときに提示する感触）を生成する場合についても、同様である。つまり、アバタ部位変位ログテーブル２０００の"アバタ部位変位タイプ"に、"utterance（発話）"や"touch（感触）"が格納され、"アバタ部位変位データ"として、音声データや触覚データが格納されても同様の処理を実行することができる。
【０２１１】
以上の説明から明らかなように、第１の実施形態における画像生成システム１００は、印象ずれ発生状況であると判断した場合に、複数のモデル候補の中から決定したモデルを用いてアバタの画像を生成する。このとき、画像生成システム１００は、アバタの動きの種類に基づいて読み出したモデル候補の中から、実空間における人の振る舞いに基づいて算出される実空間の印象評価値に近い印象評価値を有するモデル候補を選定する。
【０２１２】
これにより、第１の実施形態によれば、アバタの動きを介して他人に与える印象が、実空間における人の振る舞いにより他人に与える印象からずれることがないように、モデルを決定することが可能となる。つまり、アバタの動きを介して他人に与える印象と、アバタの元となっている人の実際の振る舞いにより他人に与える印象とのずれを抑止することができる。
【０２１３】
［第２の実施形態］
上記第１の実施形態では、動きの種類判定ログテーブル１６００に新たにデータ行が追加された場合に、追加されたデータ行に含まれる動きの種類と同じ動きの種類を有する過去のデータ行を検索した。これにより、上記第１の実施形態では、アバタの動きの種類に応じたアバタ部位変位データを、モデル候補として読み出した。
【０２１４】
これに対して、第２の実施形態では、動きの種類判定ログテーブル１６００に新たにデータ行が追加された場合に、センサデータに基づいて、「他のアバタに対する動きの種類」を判定する。そして、判定した他のアバタに対する動きの種類に対応する"傾向"を判定し、判定した"傾向"に応じたアバタ部位変位データをモデル候補として読み出す。これにより、第２の実施形態によれば、他のアバタに対する動きの傾向（実空間でいうところの社会的振る舞いの傾向に相当する）に応じたアバタ部位変位データを、モデル候補として読み出すことができる。以下、第２の実施形態について、第１の実施形態との相違点を中心に説明する。
【０２１５】
＜サーバ装置の機能構成＞
はじめに、第２の実施形態におけるサーバ装置１１０の機能構成について説明する。図２１は、サーバ装置の機能構成の一例を示す第２の図である。
【０２１６】
図２１に示す機能構成のうち、図１０に示した機能構成との相違点は、動き（傾向）判定部２１０１である。また、モデル候補読み出し部２１０２の機能が、図１０のモデル候補読み出し部１０１４の機能とは異なっている点である。更に、定義情報格納部１１５が、「他のアバタに対する動きの種類についての定義情報」及び「他のアバタに対する動きの種類と傾向との関係を定義した定義情報」を格納している点である。
【０２１７】
動き（傾向）判定部２１０１は、動きの種類判定ログテーブル１６００に新たなデータ行が追加された場合、センサデータ読み出し部１０１１により読み出されたセンサデータに基づいて、他のアバタに対する動きの種類を判定する。具体的には、動き（傾向）判定部２１０１は、定義情報格納部１１５に格納された、他のアバタに対する動きの種類を判定するためのＡＰＩを読み出す。そして、動き（傾向）判定部２１０１は、読み出したＡＰＩにセンサデータを入力することで、他のアバタに対する動きの種類を判定する。なお、センサデータ読み出し部１０１１により読み出されたセンサデータのうち、ＡＰＩに入力されるセンサデータの時間範囲を規定する開始時刻を、以下では、"判定時刻（開始）"と称し、終了時刻を、"判定時刻（終了）"と称する。
【０２１８】
また、動き（傾向）判定部２１０１は、判定した他のアバタに対する動きの種類を、ログ格納部１１６の「他のアバタに対する動きの種類判定ログテーブル」に新たにデータ行を追加して格納する。
【０２１９】
モデル候補読み出し部２１０２は、他のアバタに対する動きの傾向を判定する。定義情報格納部１１５には、「他のアバタに対する動きの種類と傾向との関係を定義した定義情報」が格納されており、モデル候補読み出し部２１０２は、定義情報格納部１１５を参照することで、他のアバタに対する動きの傾向を判定する。
【０２２０】
モデル候補読み出し部２１０２は、ログ格納部１１６にモデル候補として格納されているアバタ部位変位データの中から、判定した傾向に応じたアバタ部位変位データを読み出す。
【０２２１】
例えば、動き（傾向）判定部２１０１により判定された、他のアバタに対する動きの傾向が、"接近傾向"であったとする。この場合、モデル候補読み出し部２１０２は、ログ格納部１１６にモデル候補として格納されているアバタ部位変位データの中から、"接近傾向"に応じたアバタ部位変位データを、モデル候補として読み出す。
【０２２２】
＜他のアバタに対する動きの種類を判定するための定義情報＞
次に、定義情報格納部１１５に格納され、動き（傾向）判定部２１０１が、他のアバタに対する動きの種類を判定する際に用いる定義情報について説明する。図２１は、他のアバタに対する動きの種類を判定するための定義情報を示した図である。
【０２２３】
図２２（ａ）に示すように、定義情報（ＡＰＩ）２２０１には、他のアバタに対する動きの種類を判定する際に用いるＡＰＩが"動きの種類"ごとに定義されている。動き（変化）判定部１０１２により動きの種類が判定されると、動き（傾向）判定部２１０１は、対応するＡＰＩを実行する。図２２（ａ）の例では、動きの種類＝"前傾変化"の場合、姿勢解析ＡＰＩが実行され、他のアバタに対する動きの種類が判定される。
【０２２４】
また、図２２（ｂ）に示すように、定義情報（社会的振る舞い用）２２０２には、"ＡＰＩ"とそれぞれのＡＰＩに入力される"センサデータ"と、センサデータを入力したことで判定される"他のアバタに対する動きの種類"とが定義されている。更に、定義情報（社会的振る舞い用）２２０２には、それぞれのセンサデータを出力するセンサの"センサＩＤ"が定義されている。
【０２２５】
例えば、姿勢解析ＡＰＩに対しては、センサＩＤ＝"ｓ２"の深度センサ１３２から送信された深度データが入力される。これにより、動き（傾向）判定部２１０１は、他のアバタに対する動きが、他のアバタに対して近づく動き（"body-close-to"）であるのか否かを判定する。また、姿勢解析ＡＰＩを用いて、動き（傾向）判定部２１０１は、他のアバタに対する動きが、他のアバタから遠ざかる動き（"body-far-to"）であるのか否かを判定する。
【０２２６】
更に、顔向き解析ＡＰＩに対しては、センサＩＤ＝"ｓ１"の頭部姿勢センサ１２４から送信された頭部姿勢データが入力される。これにより、動き（傾向）判定部２１０１は、他のアバタに対する動きが、他のアバタに対して顔を向ける動き（"face-close-to"）であるのか否かを判定する。
【０２２７】
なお、図２２（ｂ）の例では、他のアバタに対する動きの種類を１種類判定するのに、１種類のセンサデータを用いる場合について示したが、他のアバタに対する動きの種類を１種類判定するのに、複数種類のセンサデータを用いるようにしてもよい。
【０２２８】
＜他のアバタに対する動きの種類と傾向との関係を定義した定義情報＞
次に、定義情報格納部１１５に格納され、他のアバタに対する動きの種類と傾向との関係を定義した定義情報について説明する。図２３は、他のアバタに対する動きの種類と傾向との関係を定義した定義情報の一例を示す図である。
【０２２９】
図２３に示すように、定義情報２３００は情報の項目として、"他のアバタに対する動きの種類"、"接近傾向／回避傾向"を含む。"他のアバタに対する動きの種類"には、動き（傾向）判定部２１０１により判定されうる他のアバタに対する動きの種類が格納される。"接近傾向／回避傾向"には、他のアバタに対する動きの種類ごとに、接近傾向または回避傾向のいずれかが格納される。
【０２３０】
＜他のアバタに対する動きの種類判定ログテーブル＞
次に、動き（傾向）判定部２１０１により判定された他のアバタに対する動きの種類が格納される、ログ格納部１１６の「他のアバタに対する動きの種類判定ログテーブル」について説明する。図２４は、他のアバタに対する動きの種類判定ログテーブルの一例を示す図である。図２４に示すように、他のアバタに対する動きの種類判定ログテーブル２４００には、情報の項目として、"ログＩＤ"、"記録時刻"、"判定時刻（開始）"、"判定時刻（終了）"が含まれる。更に、情報の項目として、"ユーザ名"、"クライアント装置ＩＤ"、"他のアバタに対する動きの種類"、"他のアバタのユーザ名"、"開始時及び終了時の部位情報"が含まれる。
【０２３１】
"ログＩＤ"には、他のアバタに対する動きの種類判定ログテーブル２４００の各データ行を識別するための識別子が記録される。
【０２３２】
"記録時刻"には、ログ格納部１１６の他のアバタに対する動きの種類判定ログテーブル２４００に新たにデータ行が追加された際の時刻が記録される。"判定時刻（開始）"には、他のアバタに対する動きの種類の判定に用いられる所定の時間範囲のセンサデータ（ＡＰＩに入力されるセンサデータ）のうち、開始の時刻が記録される。"判定時刻（終了）"には、他のアバタに対する動きの種類の判定に用いられる所定の時間範囲のセンサデータ（ＡＰＩに入力されるセンサデータ）のうち、終了の時刻が記録される。
【０２３３】
"ユーザ名"には、アバタの元となるユーザのユーザ名が記録される。"クライアント装置ＩＤ"には、他のアバタに対する動きの種類の判定に用いられたセンサデータを送信したクライアント装置を識別するための識別子が記録される。
【０２３４】
"他のアバタに対する動きの種類"には、動きの種類に応じたＡＰＩにセンサデータを入力することで判定された他のアバタに対する動きの種類が記録される。"他のアバタのユーザ名"には、他のアバタの元となるユーザのユーザ名が記録される。
【０２３５】
"開始時及び終了時の部位情報"には、"判定時刻（開始）"時の部位情報と、"判定時刻（終了）"時の部位情報とが記録される。これにより、他のアバタに対する動きの種類判定ログテーブル２４００を参照すれば、他のアバタに対する動きの種類が判定された際のアバタの動きの内容を把握することができる。
【０２３６】
図２４のデータ行２４０１の例は、"２０１５年７月２７日１１時０２分０３秒０２０"に、ログ格納部１１６の他のアバタに対する動きの種類判定ログテーブル２４００に新たにデータ行が追加され、ログＩＤ＝"１００"が付与されたことを示している。また、データ行２４０１の例は、ユーザ名＝"Ａ"であるユーザ１４０のアバタの他のアバタ（ユーザ名＝"Ｂ"）に対する動きの種類が判定されたこと、判定に用いられたセンサデータがクライアント装置ＩＤ＝"ｃ１"から送信されたことを示している。
【０２３７】
また、データ行２４０１の例は、他のアバタに対する動きの種類の判定に用いられたセンサデータが"２０１５年７月２７日１１時００分０４秒０００"から"２０１５年７月２７日１１時０１分０５秒０００"までの時間帯に取得されたことを示している。また、データ行２４０１の例は、他のアバタに対する動きの種類の判定のトリガとなった部位情報（部位値が変化した部位情報）が、"Bone_Chest"であったことを示している。また、データ行２４０１の例は、上記時間帯において、アバタの腰の骨が、位置＝（０，８，−１０）を変えずに、Ｘ軸に対して、４度の傾きから１２度の傾きになるまで動いたことを示している。更に、データ行２４０１の例は、他のアバタに対する動きの種類が"body-close-to"と判定されたことを示している。
【０２３８】
＜サーバ装置の第２の仮想空間用情報提供部が実行するモデル候補選定処理＞
次に、サーバ装置１１０の第２の仮想空間用情報提供部１１２が実行する、モデル候補選定処理の流れについて説明する。図２５は、モデル候補選定処理のフローチャートである。なお、図１８を用いて説明したフローチャートと同じ工程については同じ符号を付し、ここでは説明を省略する。図１８との相違点は、ステップＳ２５０１、Ｓ２５０２である。
【０２３９】
ステップＳ２５０１において、動き（傾向）判定部２１０１は、動きの種類判定ログテーブル１６００に新たに追加されたデータ行に含まれる動きの種類を識別し、識別した動きの種類に対応するＡＰＩを判定する。また、動き（傾向）判定部２１０１は、判定したＡＰＩに対して、定義情報（社会的振る舞い用）２２０２において定義されたセンサデータを入力し、他のアバタに対する動きの種類の判定を行う。ＡＰＩに入力されるセンサデータの時間範囲は、例えば、動きの種類判定ログテーブル１６００に新たに追加されたデータ行に含まれるデータ取得時刻から、一定時間を遡った定量の時間範囲であってもよい。あるいは、ＡＰＩに入力されるセンサデータの時間範囲のうち、判定時刻（開始）は、当該アバタの直前の動きに基づいて動きの種類判定ログテーブル１６００に記録されたデータ行に含まれる"データ取得時刻"であってもよい。あるいは、ＡＰＩに入力されるセンサデータの時間範囲のうち、判定時刻（開始）は、当該アバタの直前の動きに基づいて、他のアバタに対する動きの種類判定ログテーブル２４００に記録されたデータ行に含まれる"判定時刻（終了）"であってもよい。動き（傾向）判定部２１０１は、判定した他のアバタに対する動きの種類等を含むデータ行を、ログ格納部１１６の他のアバタに対する動きの種類判定ログテーブル２４００に追加する。
【０２４０】
ステップＳ２５０２において、モデル候補読み出し部２１０２は、他のアバタに対する動きの傾向に基づいてモデル候補の読み出し処理を行う（モデル候補の読み出し処理の詳細は後述する）。
【０２４１】
＜モデル候補の読み出し処理＞
図２６は、モデル候補の読み出し処理のフローチャートである。ステップＳ２６０１において、モデル候補読み出し部２１０２は、他のアバタに対する動きの種類判定ログテーブル２４００を参照し、図２５のステップＳ２５０１において追加したデータ行に記録された、"他のアバタに対する動きの種類"を識別する。
【０２４２】
ステップＳ２６０２において、モデル候補読み出し部２１０２は、定義情報２３００を参照し、ステップＳ２６０１において識別した"他のアバタに対する動きの種類"に対応する"傾向"を判定する。
【０２４３】
ステップＳ２６０３において、モデル候補読み出し部２１０２は、定義情報２３００を参照し、ステップＳ２６０２において判定した"傾向"と同じ傾向を有する"他のアバタに対する動きの種類"を抽出する。
【０２４４】
ステップＳ２６０４において、モデル候補読み出し部２１０２は、他のアバタに対する動きの種類判定ログテーブル２４００を参照し、ステップＳ２６０３において抽出した"他のアバタに対する動きの種類"と同じ種類が記録されているデータ行を検索する。
【０２４５】
ステップＳ２６０５において、モデル候補読み出し部２１０２は、他のアバタに対する動きの種類判定ログテーブル２４００を参照し、ステップＳ２６０４において検索されたデータ行それぞれの"判定時刻（開始）"と"判定時刻（終了）"を抽出する。
【０２４６】
ステップＳ２６０６において、モデル候補読み出し部２１０２は、ステップＳ２６０５において抽出された時刻に基づいて、ステップＳ２６０４において検索されたデータ行それぞれの時間帯を識別する。
【０２４７】
ステップＳ２６０７において、モデル候補読み出し部２１０２は、アバタ部位変位ログテーブル２０００を参照し、"データ取得時刻"に記録された時刻が、ステップＳ２６０６において識別したそれぞれの時間帯に含まれるデータ行を検索する。
【０２４８】
ステップＳ２６０８において、モデル候補読み出し部２１０２は、アバタ部位変位ログテーブル２０００を参照し、ステップＳ２６０７において検索されたデータ行に含まれるアバタ部位変位データを、モデル候補として読み出す。
【０２４９】
このように、第２の実施形態における画像生成システム１００は、他のアバタに対する動きの傾向に応じたモデル候補を読み出す。
【０２５０】
これにより、第２の実施形態によれば、上記第１の実施形態において読み出されたモデル候補とは異なるモデル候補（動きの種類ではなく他のアバタに対する動きの傾向が同じモデル候補）の中から、印象評価値の近いモデル候補を選定することが可能となる。
【０２５１】
［第３の実施形態］
上記第１及び第２の実施形態では、動きの種類または他のアバタに対する動きの種類に基づいて、読み出すモデル候補を絞り込む場合について説明した。これに対して、第３の実施形態では、動きの種類または他のアバタに対する動きの傾向に基づいて読み出したモデル候補に対して、更に、モデル候補により特定される部位情報そのものに基づいて、モデル候補の絞り込みを行う。動きの種類または他のアバタに対する動きの傾向に基づいて読み出したモデル候補の中には、ユーザがあまり行わない振る舞いに対応するモデル候補が含まれている場合があるからである。そこで、第３の実施形態では、このような振る舞いに対応するモデル候補を排除し、モデル候補の更なる絞り込みを行う。なお、第３の実施形態では、動きの種類に基づいて読み出したモデル候補のうち、ユーザがあまり行わない振る舞いに対応するモデル候補を排除する処理について説明するが、他のアバタに対する動きの傾向に基づいて読み出したモデル候補の場合も同様である。以下、第３の実施形態について、第１の実施形態との相違点を中心に説明する。
【０２５２】
＜サーバ装置の機能構成＞
はじめに、第３の実施形態におけるサーバ装置１１０の機能構成について説明する。図２７は、サーバ装置の機能構成の一例を示す第３の図である。図１０に示す機能構成との相違点は、想定範囲算出部２７０１を有する点、及び、モデル候補読み出し部２７０２の機能が、モデル候補読み出し部１０１４の機能とは異なっている点である。
【０２５３】
想定範囲算出部２７０１は、ログ格納部１１６のアバタ部位変位ログテーブル２０００に基づいて、アバタの各部位の部位値として想定される想定範囲（発生頻度の高い値を含む範囲）を算出する。想定範囲算出部２７０１は、アバタ部位変位ログテーブル２０００の各データ行のうち、アバタ部位変位タイプとして"bone"や"mesh"が格納されているデータ行を対象として、想定範囲値の算出を行う。なお、想定範囲算出部２７０１は、一定時間間隔で想定範囲値の算出を行うものとする。ただし、想定範囲値の算出タイミングはこれに限定されず、想定範囲算出部２７０１は、アバタ部位変位ログテーブル２０００に一定量以上のデータ行が格納された場合に、想定範囲値を算出するようにしてもよい。
【０２５４】
モデル候補読み出し部２７０２は、アバタ部位変位ログテーブル２０００に格納されているアバタ部位変位データのうち、動きの種類判定ログテーブル１６００に新たに格納されたデータ行に含まれる"動きの種類"に応じたアバタ部位変位データを読み出す。また、モデル候補読み出し部２７０２は、読み出したアバタ部位変位データのうち、想定範囲算出部２７０１より算出された想定範囲値内の部位値を含むアバタ部位変位データを抽出する。
【０２５５】
更に、モデル候補読み出し部２７０２は、抽出したアバタ部位変位データを、モデル候補として印象評価値（仮想空間）算出部１０１６に通知する。
【０２５６】
＜想定範囲情報の説明＞
次に、想定範囲算出部２７０１により算出された想定範囲値を記録した想定範囲情報について説明する。図２８は、想定範囲情報の一例を示す図である。図２８に示すように、想定範囲情報２８００は、情報の項目として、"記録時刻"、"アバタ部位範囲想定範囲判定時刻（開始）"、"アバタ部位変位想定範囲判定時刻（終了）"、"ユーザ名"、"クライアント装置ＩＤ"、"対象部位"、"想定範囲値"を含む。
【０２５７】
"記録時刻"には、想定範囲算出部２７０１により想定範囲値が算出され、ログ格納部１１６に格納された時刻が記録される。
【０２５８】
"アバタ部位変位想定範囲判定時刻（開始）"には、想定範囲算出部２７０１による想定範囲値の算出対象となったアバタ部位変位データ群のうち、アバタ部位変位ログテーブル２０００への記録時刻が最も古い時刻が記録される。"アバタ部位変位想定範囲判定時刻（終了）"には、想定範囲算出部２７０１による想定範囲値の算出対象となったアバタ部位変位データ群のうち、アバタ部位変位ログテーブル２０００への記録時刻が最も新しい時刻が記録される。
【０２５９】
"ユーザ名"には、想定範囲値の算出に用いられたアバタ部位変位データに対応付けられたユーザ名が記録される。"クライアント装置"には、"ユーザ名"に記録されたユーザが利用したクライアント装置のクライアント装置ＩＤが記録される。
【０２６０】
"対象部位"には、想定範囲値が算出されたアバタの部位が格納される。"想定範囲値"には、想定範囲算出部２７０１により算出されたそれぞれの対象部位についての想定範囲値が記録される。
【０２６１】
＜モデル候補読み出し処理＞
次に、モデル候補読み出し処理（図１８のステップＳ１８０７）の詳細（第３の実施形態の場合の処理の詳細）について説明する。図２９は、モデル候補読み出し処理のフローチャートである。
【０２６２】
ステップＳ２９０１において、想定範囲算出部２７０１は、ログ格納部１１６に格納されているアバタ部位変位ログテーブル２０００に基づいて、アバタの各部位について部位値として想定される想定範囲値を算出する。
【０２６３】
ステップＳ１９０１からステップＳ１９１４までの各工程の処理は、図１９（ｂ）を用いて説明済みであるため、ここでは説明を省略する。
【０２６４】
ステップＳ２９０２において、モデル候補読み出し部２７０２は、ステップＳ１９１４において読み出したアバタ部位変位データのうち、ステップＳ２９０１において算出した想定範囲値内のアバタ部位変位データを抽出する。
【０２６５】
これにより、モデル候補選定処理（図１８）のステップＳ１８０８において、印象評価値（仮想空間）算出部１０１６は、想定範囲値内のアバタ部位変位データをモデル候補として、仮想空間における印象評価値を算出することができる。
【０２６６】
このように、第３の実施形態における画像生成システム１００は、動きの種類または他のアバタに対する動きの傾向に基づいてモデル候補として読み出したアバタ部位変位データのうち、想定範囲値内の部位値を有するアバタ部位変位データを抽出する。
【０２６７】
これにより、第３の実施形態によれば、上記第１または第２の実施形態と比較して、より絞り込まれたモデル候補の中から、印象評価値の近いモデル候補を選定することが可能となる。
【０２６８】
［第４の実施形態］
上記第１乃至第３の実施形態において、動き（変化）判定部１０１２は、動きの種類を判定するごとに、動きの種類判定ログテーブル１６００に新たにデータ行を追加して、アバタの各部位が所定量以上動いたことを管理するようにした。これに対して、第４の実施形態における動き（変化）判定部１０１２は、動きの種類判定ログテーブル１６００に新たにデータ行を追加する一方で、他のデータ行とまとめることができるか否かを判定する。そして、他のデータ行とまとめることができると判定した場合には、他のデータ行とまとめて「動きの種類判定ログ（時系列）テーブル」にて管理する。動きの種類の判定に用いられたセンサデータが取得された"データ取得時刻"が十分に近い場合には、連動した動きと判断できるからである。
【０２６９】
なお、第４の実施形態によれば、時系列のアバタ部位変位データをモデル候補として読み出して、仮想空間における印象評価値を算出し、選定した時系列のアバタ部位変位データを仮想空間用情報生成部１００２に通知することができる。以下、第４の実施形態について、上記第１の実施形態との相違点を中心に詳細を説明する。
【０２７０】
＜サーバ装置の機能構成＞
はじめに、第４の実施形態におけるサーバ装置１１０の機能構成について説明する。図３０は、サーバ装置の機能構成の一例を示す第４の図である。図１０に示す機能構成との相違点は、動き（時系列変化）判定部３００１を有する点、及び、ログ格納部１１６に「動きの種類判定ログ（時系列）テーブル」が格納されている点である。
【０２７１】
動き（時系列変化）判定部３００１は、動き（変化）判定部１０１２によりログ格納部１１６の動きの種類判定ログテーブル１６００に新たに追加されたデータ行を取得し、ログ格納部１１６の「動きの種類判定ログ（時系列）テーブル」に追加する。なお、動きの種類判定ログ（時系列）テーブルの詳細は、図３１を用いて後述する。
【０２７２】
動き（時系列変化）判定部３００１は、「動きの種類判定ログ（時系列）テーブル」に新たにデータ行を追加するにあたり、動きの種類判定ログ（時系列）テーブルの他のデータ行とまとめることができるか否かを判定する。動き（時系列変化）判定部３００１は、まとめることができると判定した場合に、取得したデータ行を他のデータ行とまとめて動きの種類判定ログ（時系列）テーブルに格納する。
【０２７３】
＜動きの種類判定ログ（時系列）テーブルの説明＞
次に、動きの種類判定ログ（時系列）テーブルについて説明する。図３１は、動きの種類判定ログ（時系列）テーブルの一例を示す図である。図１６に示した動きの種類判定ログテーブル１６００との違いは、図３１の場合、情報の項目として、"変化発生時刻"に代えて、"変化発生時刻（最初）"と"変化発生時刻（最後）"とが含まれている点である。
【０２７４】
動き（時系列変化）判定部３００１は、動きの種類が判定されることで動きの種類判定ログテーブル１６００に追加されたデータ行を、動きの種類判定ログ（時系列）テーブル３１００に追加するにあたり、他のデータ行とまとめる処理を行う。このため、動きの種類判定ログ（時系列）テーブル３１００の各データ行には、動きの種類判定ログテーブル１６００におけるデータ行、複数行分が含まれることになる。
【０２７５】
"変化発生時刻（開始）"には、動きの種類判定ログテーブル１６００におけるデータ行、複数行分のうち、最初に追加されたデータ行が有する"変化発生時刻"が記録される。また、"変化発生時刻（終了）"には、動きの種類判定ログテーブル１６００におけるデータ行、複数行分のうち、最後に追加されたデータ行が有する"変化発生時刻"が記録される。
【０２７６】
＜サーバ装置の第２の仮想空間用情報提供部が実行するモデル候補選定処理＞
次に、サーバ装置１１０の第２の仮想空間用情報提供部１１２が実行する、モデル候補選定処理の流れについて説明する。図３２は、モデル候補選定処理のフローチャートである。なお、図１８を用いて説明したフローチャートと同じ工程については同じ符号を付し、ここでは説明を省略する。図１８との相違点は、ステップＳ３２０１である。
【０２７７】
ステップＳ３２０１において、動き（時系列変化）判定部３００１は、ステップＳ１８０４において動きの種類判定ログテーブル１６００に新たに追加されたデータ行を取得し、動きの種類判定ログ（時系列）テーブル３１００を更新する。動きの種類判定ログ（時系列）テーブル３１００の更新処理の詳細は、図３３を用いて後述する。
【０２７８】
なお、ステップＳ３２０１において、動きの種類判定ログ（時系列）テーブル３１００が更新された場合、ステップＳ１８０５において、誤りやすさ判定部１０１３は、アバタの各部位の部位情報として時系列の部位情報に基づいて判定を行う。
【０２７９】
具体的には、誤りやすさ判定部１０１３は、動きの種類判定ログ（時系列）テーブル３１００に新たに格納されたデータ行に含まれる、変化発生時刻（最初）と変化発生時刻（最後）とを識別する。更に、誤りやすさ判定部１０１３は、識別した変化発生時刻（最初）と変化発生時刻（最後）との間の１タイムフレームごとに、アバタの画像の各部位が誤りやすさ閾値を超える部位であるか否かを判定する。なお、判定方法はこれに限定されず、例えば、変化発生時刻（最初）と変化発生時刻（最後）との間の全てのタイムフレームのデータを総合して各部位が誤りやすさ閾値を超える部位であるか否かを判定するようにしてもよい。つまり、誤りやすさ閾値を超える部位があるか否かの判定は、１タイムフレームごとに行ってもよいし、総合的に判定してもよい。
【０２８０】
また、ステップＳ３２０１において、動きの種類判定ログ（時系列）テーブル３１００が更新された場合、ステップＳ１８０７において、モデル候補読み出し部１０１４は、モデル候補の読み出しにおいて、動きの種類判定ログ（時系列）テーブル３１００を用いる。このときモデル候補読み出し部１０１４は、動きの種類判定ログ（時系列）テーブル３１００の変化発生時刻（最初）と変化発生時刻（最後）とにより識別される時間帯に基づいて、時系列のアバタ部位変位データをモデル候補として読み出す。
【０２８１】
更に、印象評価値（仮想空間）算出部１０１６では、ステップＳ１８０９において時系列のアバタ部位変位データについて印象評価値を算出する（例えば、時系列のアバタ部位変位データそれぞれについて算出した印象評価値の平均値を算出する）。
【０２８２】
＜動きの種類判定ログ（時系列）テーブル更新処理＞
次に、動きの種類判定ログ（時系列）テーブル更新処理（ステップＳ３２０１）の詳細について説明する。図３３は、動きの種類判定ログ（時系列）テーブル更新処理のフローチャートである。
【０２８３】
ステップＳ３３０１において、動き（時系列変化）判定部３００１は、動きの種類判定ログテーブル１６００に新たに追加されたデータ行を読み出す。
【０２８４】
ステップＳ３３０２において、動き（時系列変化）判定部３００１は、ステップＳ３３０１において読み出したデータ行の"変化発生時刻"に記録された時刻を識別する。
【０２８５】
ステップＳ３３０３において、動き（時系列変化）判定部３００１は、動きの種類判定ログ（時系列）テーブル３１００を参照し、ステップＳ３３０２において識別した時刻に十分近い時刻が"変化発生時刻（終了）"に記録されたデータ行を検索する。
【０２８６】
ステップＳ３３０４において、動き（時系列変化）判定部３００１は、ステップＳ３３０３における検索の結果、他のデータ行を検索できたか否かを判定する。ステップＳ３３０４において、他のデータ行を検索できたと判定した場合には（ステップＳ３３０４においてＹｅｓ）、ステップＳ３３０５に進む。
【０２８７】
ステップＳ３３０５において、動き（時系列変化）判定部３００１は、検索されたデータ行と、読み出したデータ行とを連結する。これにより、動きの種類判定ログ（時系列）テーブルが更新される。
【０２８８】
一方、ステップＳ３３０４において、他のデータ行を検索できなかったと判定した場合には（ステップＳ３３０４においてＮｏ）、ステップＳ３３０６に進む。ステップＳ３３０６において、動き（時系列変化）判定部３００１は、ステップＳ３３０１において読み出したデータ行を、動きの種類判定ログ（時系列）テーブル３１００に新たなデータ行として追加する。これにより、動きの種類判定ログ（時系列）テーブル３１００が更新される。
【０２８９】
このように、第４の実施形態における画像生成システム１００は、十分に近い時間内にアバタの部位の部位値が所定量以上変化した場合に、それぞれの変化が発生したことで動きの種類判定ログテーブル１６００に追加されたデータ行を１つにまとめる。そして、第４の実施形態における画像生成システム１００では、１つにまとめたデータ行を、動きの種類判定ログ（時系列）テーブル３１００として管理する。これにより、モデル候補読み出し部１０１４は、動きの種類判定ログ（時系列）テーブル３１００の各データ行により特定される時間帯の時系列のアバタ部位変位データを、モデル候補として読み出すことが可能になる。
【０２９０】
この結果、第４の実施形態によれば、アバタが連続的に行う動きにより他人に与える印象と、実空間における人が連続的に行う振る舞いにより他人に与える印象とのずれを抑止するように、モデル候補を選定することが可能となる。つまり、連続的に動くアバタを介して他人に与える印象と、アバタの元となっている人が実際にとっている連続的な振る舞いにより他人に与える印象とのずれを抑止することができる。
【０２９１】
［第５の実施形態］
上記第１及び第２の実施形態では、動きの種類または他のアバタに対する動きの傾向に基づいてモデル候補を読み出す場合について説明した。これに対して、第５の実施形態では、動きの種類または他のアバタに対する動きの傾向に基づいて読み出したモデル候補の部位値について、更に、動き（変化）判定部１０１２により算出されたアバタの各部位の部位値との類似度を算出する。そして、算出した類似度に基づいて、モデル候補の絞り込みを行う。また、第５の実施形態では、更に、モデル候補の階層構成を用いて誤りやすさ閾値を超える部位に連結する部位を特定し、特定した部位の部位値に基づいて、モデル候補の絞り込みを行う。以下、第５の実施形態について、第１の実施形態との相違点を中心に説明する。
【０２９２】
＜サーバ装置の機能構成＞
はじめに、第５の実施形態におけるサーバ装置１１０の機能構成について説明する。図３４は、サーバ装置の機能構成の一例を示す第５の図である。図１０に示す機能構成との相違点は、類似度算出部３４０１、連結部位判定部３４０２、を有する点である。
【０２９３】
類似度算出部３４０１は、誤りやすさ判定部１０１３により、誤りやすさ閾値を超える部位ではないと判定されたアバタの部位を特定する。また、類似度算出部３４０１は、誤りやすさ閾値を超える部位ではないと判定されたアバタの部位それぞれの部位値について、読み出されたモデル候補それぞれの同部位の部位値との類似度を算出する。更に、類似度算出部３４０１は、算出した類似度が所定の閾値以上となるモデル候補を、連結部位判定部３４０２に通知する。
【０２９４】
連結部位判定部３４０２は、類似度算出部３４０１より通知された複数のモデル候補を識別する。また、連結部位判定部３４０２は、複数のモデル候補の各部位のうち、誤りやすさ閾値を超える部位に連結する部位について、それぞれの部位値（例えば、位置）を抽出し、部位ごとにグルーピングする。これにより、複数のモデル候補の部位のうち、誤りやすさ閾値を超える部位に連結する部位のそれぞれの部位値を、複数のグループにグルーピングすることができる。
【０２９５】
連結部位判定部３４０２は、更に、動き（変化）判定部１０１２により算出されたアバタの各部位の部位値が、複数のグループのいずれに分類されるかを判定する。
【０２９６】
また、連結部位判定部３４０２は、動き（変化）判定部１０１２により算出されたアバタの各部位の部位値が分類されたグループにグルーピングされているモデル候補を抽出する。更に、連結部位判定部３４０２は、抽出したモデル候補を印象評価値（仮想空間）算出部１０１６に通知する。
【０２９７】
なお、連結部位判定部３４０２は、アバタの各部位間の連結状態を示す情報を参照することで、連結する部位を認識する。図３５は、アバタの各部位間の連結状態を示す情報の一例を示す図である。
【０２９８】
図３５に示すように、アバタの各部位間の連結状態は複数の階層により表すことができ、図３５において、上の部位は上の階層に、下の部位は下の階層に配置して示している。上の階層に配置された部位と下の階層に配置された部位とが直線で接続されている場合、各部位は、用語の上下方向に連結されていることを示している。また、同じ階層に配置された部位が直線で接続されている場合、各部位は、用語の左右方向に連結されていることを示している。なお、足の指及び手の指の連結状態については、左足の指の連結状態のみを記載し、右足の指の連結状態、左手の指及び右手の指の連結状態については省略している。
【０２９９】
また、図３６は、モデル候補の各部位の部位値をグルーピングした様子を示す図である。具体的には、連結部位判定部３４０２に通知されたモデル候補の各部位のうち、誤りやすさ閾値を超える部位に連結する部位の部位値（ここでは位置）を、複数のグループにグルーピングした様子を示す図である。図３６の例では、連結部位判定部３４０２が、誤りやすさ閾値を超える部位（左側の肘）から下（左下腕以下の階層の部位が相当）に連結する部位として、"首"、"左肩"、"左上腕"を抽出し、通知されたモデル候補の各部位の位置を、白丸でプロットしている。
【０３００】
なお、図３６の例では、連結部位判定部３４０２は、通知されたモデル候補の部位＝首の部位値（位置）を１つのグループ（グループ３６０１）にグルーピングしている。また図３６の例では、通知されたモデル候補の部位＝左肩の部位値（位置）を、２つのグループ（グループ３６１１、３６１２）にグルーピングしている。更に、図３６の例では、通知されたモデル候補の部位＝左上腕の部位値（位置）を、４つにグループ（グループ３６２１〜３６２４）にグルーピングしている。動き（変化）判定部１０１２により算出された表示前のアバタの各階層のデータは、太い点線で示されるグループ（首は３６０１、左肩は３６１１、左上腕は３６２２）に類似していると分類された。これらの太い点線で示されるグループ（首は３６０１、左肩は３６１１、左上腕は３６２２）全てに属するモデルによって示される左下腕の座標値も図中の白丸として示した。全ての座標値を次の処理のモデル候補として採用してもよいし、図中に示したように、ここで得られた左下腕のデータもグルーピングし、グループ中のデータの中央値として黒い丸で示した座標を求めるような実装の形態があってもよい。
【０３０１】
＜サーバ装置の第２の仮想空間用情報提供部が実行するモデル候補選定処理＞
次に、サーバ装置１１０の第２の仮想空間用情報提供部１１２が実行する、モデル候補選定処理の流れについて説明する。図３７は、モデル候補選定処理のフローチャートである。なお、図１８を用いて説明したフローチャートと同じ工程については同じ符号を付し、ここでは説明を省略する。図１８との相違点は、ステップＳ３７０１〜Ｓ３７０２である。
【０３０２】
ステップＳ３７０１において、類似度算出部３４０１は、ステップＳ１８０７において読み出された複数のモデル候補を、部位値の類似度に基づいて絞り込む、モデル候補一次絞り込み処理を行う。
【０３０３】
ステップＳ３７０２において、連結部位判定部３４０２は、ステップＳ３７０１において絞り込まれたモデル候補を、誤りやすさ閾値を超える部位に連結する部位の部位値に基づいて絞り込む、モデル候補二次絞りこみ処理を行う。
【０３０４】
なお、モデル候補一次絞りこみ処理（ステップＳ３７０１）とモデル候補二次絞り込み処理（ステップＳ３７０２）の詳細は、図３８及び図３９を用いて以下に説明する。
【０３０５】
＜モデル候補一次絞り込み処理＞
図３８は、モデル候補一次絞りこみ処理のフローチャートである。ステップＳ３８０１において、類似度算出部３４０１は、動き（変化）判定部１０１２により算出されたアバタの各部位のうち、誤りやすさ閾値を超える部位ではないと判定されたアバタの各部位を処理対象として識別し、当該処理対象の部位の部位値を抽出する。また、類似度算出部３４０１は、ステップＳ１８０７において読み出されたモデル候補それぞれについて、処理対象となった各部位についての部位値を抽出する。更に、類似度算出部３４０１は、アバタの処理対象の部位の部位値と、モデル候補の同部位の部位値との類似度を算出する。なお、部位値の類似度は、例えば外部ＡＰＩの呼び出しによって算出してもよい。あるいは、処理対象の各部位ごとに部位値を比較し、部位値の差異を正規化することで類似度スコアを求め、処理対象の部位全体の類似度スコアを求める等のような計算を行ってもよい。あるいは、処理対象の部位のうち、いくつかの部位をグルーピング（隣り合う２つの部位や、連動する３つの部位を事前に取り決める等）して、それらの類似度スコアを求めるような計算を行ってもよい。
【０３０６】
ステップＳ３８０２において、類似度算出部３４０１は、算出した類似度が所定の閾値以上であるか否かを判定する。ステップＳ３８０２において、所定の閾値未満であると判定した場合には（ステップＳ３８０２においてＮｏ）、ステップＳ３８０４に進む。この場合、当該モデル候補は、連結部位判定部３４０２に通知されない。
【０３０７】
一方、ステップＳ３８０２において、所定の閾値以上であると判定した場合には（ステップＳ３８０２においてＹｅｓ）、ステップＳ３８０３に進む。ステップＳ３８０３において、類似度算出部３４０１は、当該モデル候補を連結部位判定部３４０２に通知する。
【０３０８】
ステップＳ３８０４において、類似度算出部３４０１は、図３７のステップＳ１８０７において読み出された全てのモデル候補について、類似度を算出したか否かを判定する。ステップＳ３８０４において、類似度を算出していないモデル候補があると判定した場合には（ステップＳ３８０４においてＮｏ）、ステップＳ３８０１に戻り、モデル候補一次絞り込み処理を継続する。
【０３０９】
一方、ステップＳ３８０４において、類似度を算出していないモデル候補がないと判定した場合には（ステップＳ３８０４においてＹｅｓ）、モデル候補一次絞り込み処理を終了する。
【０３１０】
＜モデル候補二次絞り込み処理＞
図３９は、モデル候補二次絞り込み処理のフローチャートである。ステップＳ３９０１において、連結部位判定部３４０２は、誤りやすさを超える部位であると判定されたアバタの部位と連結している部位を識別する。例えば、誤りやすさ閾値を超える部位が左下腕であった場合、連結している部位として、左上腕、左肩、首を識別する。
【０３１１】
ステップＳ３９０２において、連結部位判定部３４０２は、類似度算出部３４０１より通知されたモデル候補について、連結している部位と識別された部位の部位値を、階層毎にグルーピングする。
【０３１２】
例えば、類似度算出部３４０１より通知されたモデル候補が１００個ある場合、階層ごとに部位＝首の部位値が１００個、部位＝左肩の部位値が１００個、部位＝左上腕の部位値が１００個ある。各階層１００個ずつの部位値間の類似度によって、階層ごとに部位値をグルーピングする。グルーピングの方法は、グループ内の部位値の平均を用いてもよいし、１つのグループと判定する部位値の数を定めてもよい。図３６の例では、各階層は、部位＝首の場合１つ、部位＝左肩の場合２つ、部位＝左上腕の場合４つにグルーピングされている。
【０３１３】
ステップＳ３９０３において、連結部位判定部３４０２は、センサデータに基づいて算出されたアバタの各部位の部位値が、各階層でどのグループに分類されるかを判定する。なお、図３６の例では、アバタの各部位の部位値は、太い点線で示されるグループに類似していると判定され、当該グループに分類されたことを示している。
【０３１４】
ステップＳ３９０４において、連結部位判定部３４０２は、分類されると判定されたグループに属するモデル候補を、印象評価値（仮想空間）算出部１０１６に通知する。上述したとおり、図３６の例では、アバタの各部位の部位値が分類されると判定されたグループは、部位＝首ではグループ３６０１、部位＝左肩ではグループ３６１１、部位＝左上腕ではグループ３６２２である。したがって、当該グループに属するモデル候補が、印象評価値（仮想空間）算出部１０１６に通知される。なお、図３６の例は、類似度算出部３４０１より通知されたモデル候補の各部位の部位値のうち、誤りやすさ閾値を超える部位である左下腕の部位値も同時に図示している。ここで示した首がグループ３６０１、左肩がグループ３６１１、左上腕がグループ３６２２にそれぞれ属し、左下腕が図中の白丸で示した部位値であるモデル候補の全てを次の処理で採用するようにしてもよい。もしくは、図３６中に示したように、左下腕の部位値もグルーピングし、各グループの部位値の中央値として、黒丸で示した位置を求めるようにしてもよい。そして、モデル候補には、首がグループ３６０１、左肩がグループ３６１１、左上腕がグループ３６２２に属し、左腕下が図中の黒丸で示した部位値となるモデルを用いる実装の形態があってもよい。
【０３１５】
以上のとおり、第５の実施形態における画像生成システム１００は、読み出した複数のモデル候補から、アバタの各部位の部位値に対する類似度が高いモデル候補を抽出する。
【０３１６】
また、第５の実施形態において、画像生成システム１００は、抽出したモデル候補について、誤りやすさ閾値を超える部位に連結する部位の部位値をグルーピングする。また、第５の実施形態において、画像生成システム１００は、グルーピングした各グループのうち、アバタの各部位の部位値が類似するグループに属するモデル候補を更に抽出する。
【０３１７】
これにより、第５の実施形態によれば、第１または第２の実施形態と比較して、より絞り込まれたモデル候補の中から印象評価値の近いモデル候補を選定することが可能となる。
【０３１８】
なお、例示した１００個の部位値の左下腕と連結している部位の部位値をグルーピングするにあたり、例えば"bone"の部位値のように位置と角度等１つの部位が複数の部位値を含む場合には、個々の部位値について、グルーピングを行う形態があってもよい。図３６の例は、当該１００個の部位値として、位置を用いてグルーピングを行った場合を示したものである。
【０３１９】
［第６の実施形態］
上記第５の実施形態では、モデル候補の絞り込み処理として、誤りやすさ閾値を超える部位以外の部位についての類似度を用いた一次絞り込み処理と、誤りやすさ閾値を超える部位に連結する部位についての類似度を用いた二次絞り込み処理を行った。
【０３２０】
これに対して、第６の実施形態では、モデル候補の姿勢に応じたコストを用いる二次絞り込み処理を行う。モデル候補の姿勢に応じたコストとは、実空間における人の振る舞いのしにくさを示したパラメータである。具体的には、実空間において人があまり意識せずに振る舞うことで生じる姿勢と、実空間において人が意識的に振る舞わなければ生じない姿勢とが区別されるように数値化したものである。第６の実施形態では、コストの低い（つまり、振る舞いがしやすい）モデル候補を抽出することで二次絞り込み処理を行う。以下、第６の実施形態について、第５の実施形態との相違点を中心に説明する。
【０３２１】
＜サーバ装置の機能構成＞
はじめに、第６の実施形態におけるサーバ装置１１０の機能構成について説明する。図４０は、サーバ装置の機能構成の一例を示す第６の図である。図３４に示す機能構成との相違点は、コスト評価部４００１を有する点である。
【０３２２】
コスト評価部４００１は、類似度算出部３４０１より通知された複数のモデル候補によりそれぞれ特定されるアバタの姿勢について、コストを算出する。また、コスト評価部４００１は、算出したコストが所定の閾値以下となるモデル候補を、モデル候補として抽出する。
【０３２３】
＜コスト評価部により算出されるコスト＞
図４１は、コスト評価部により算出されるコストを説明するための図である。コスト評価部４００１は、予めアバタの各部位に重さを割り当てる。ここでは、アバタの頭部に、重さ＝４ｋｇを割り当て、アバタの胸部に、重さ＝８ｋｇを割り当てたとする。
【０３２４】
図４１（ａ）に示すように、背筋と頭部とをまっすぐに伸ばした姿勢の場合、上半身（頭部及び胸部）の重さは、下半身に支えられている状態となり、上半身は最もコストが小さい状態である。具体的には、上半身の重さｍ＝４ｋｇ＋８ｋｇ＝１２ｋｇであるが、上半身のコストは、コストＣ＝ｍ×ｃｏｓθ＝１２×ｃｏｓ９０°＝０となる。
【０３２５】
一方、図４１（ｂ）、（ｃ）に示すように、腰を折り曲げて上半身を傾けた姿勢の場合、上半身の重さは、上半身自体が支える必要があり、上半身のコストは大きくなる。例えば、床面に対する上半身の傾きがθであった場合、上半身の上端である頭部にかかるコストは、コストＣ＝１／２×ｍ×ｃｏｓθ×ｃｏｓθとなる。
【０３２６】
なお、上半身のコストは、上半身が何かによって支えられた状態にあるのか否かによっても変わってくる。図４１（ｄ）は、上半身が椅子の背もたれ等に支えられている状態を示している。この場合、支えられている位置より下側の重さは、椅子の背もたれ等により相殺されているものと考えることができ、コストの算出には入れない。つまり、図４１（ｄ）の場合、コストの算出に用いるのは、頭部の重さ（ｍ＝４ｋｇ）のみである。
【０３２７】
同様に、図４１（ｅ）は、肘を机の上につくことで、上半身が支えられている状態を示している。この場合も、支えられている位置より下側の重さは、肘を机につけることで相殺されているものと考えることができるため、コストの算出には入れない。つまり、図４１（ｅ）の場合、コストの算出に用いるのは、頭部の重さ（ｍ＝４ｋｇ）のみである。
【０３２８】
更に、図４１（ｆ）は、肘を机の上につくことで、頭部が支えられている状態を示している。この場合、支えられている位置が頭部であるため、頭部より下側の重さはコストの算出に入れない。つまり、図４１（ｆ）の場合、コストＣはゼロとなる。
【０３２９】
＜モデル候補二次絞り込み処理＞
次に、第６の実施形態におけるモデル候補二次絞り込み処理について説明する。図４２は、モデル候補二次絞り込み処理の第２のフローチャートである。ステップＳ４２０１において、コスト評価部４００１は、類似度算出部３４０１より通知されたモデル候補により特定される姿勢について解析し、アバタが何かによって支えられた状態にあるのか否かを各部位の角度を用いて判定する。例えば、胸部より下の部位が椅子の背もたれに支えられている角度か、腕の上腕や下腕の角度が胸部や頭部を支えている角度かで簡易に判定をする。他の形態として、センサデータ入力中のカラー画像データ等を用いて判定を行ってもよい。
【０３３０】
ステップＳ４２０１における判定の結果、支えられた状態にないと判定した場合には（ステップＳ４２０２においてＮｏ）、ステップＳ４２０２からステップＳ４２０４に進む。ステップＳ４２０４において、コスト評価部４００１は、アバタの各部位に割り当てた重さを合算することで合計値ｗを算出する。
【０３３１】
一方、ステップＳ４２０１における判定の結果、支えられた状態にあると判定した場合には（ステップＳ４２０２においてＹｅｓ）、ステップＳ４２０２からステップＳ４２０３に進む。ステップＳ４２０３において、コスト評価部４００１は、アバタの各部位に割り当てられた重さのうち、支えられている位置よりも上側の各部位に割り当てられた重さを合算することで合計値ｗを算出する。
【０３３２】
ステップＳ４２０５において、コスト評価部４００１は、合計値ｗに基づいて、処理対象のモデル候補についてのコストを算出する。この重さの数値をそのままコストとして用いてもよいし、θが０の時を最大値として正規化した数値を用いてよい。
【０３３３】
ステップＳ４２０６において、コスト評価部４００１は、類似度算出部３４０１より通知された全てのモデル候補について、コストを算出したか否かを判定する。
【０３３４】
ステップＳ４２０６において、コストを算出していないモデル候補があると判定した場合には（ステップＳ４２０６においてＮｏ）、ステップＳ４２０１に戻り、次のモデル候補についてコストを算出する。一方、ステップＳ４２０６において、全てのモデル候補についてコストを算出したと判定した場合には（ステップＳ４２０６においてＹｅｓ）、ステップＳ４２０７に進む。
【０３３５】
ステップＳ４２０７において、コスト評価部４００１は、算出したコストが所定の閾値以下のモデル候補を抽出し、印象評価値（仮想空間）算出部１０１６に通知したうえで、モデル候補二次絞り込み処理を終了する。
【０３３６】
このように、第６の実施形態における画像生成システム１００は、モデル候補により特定される姿勢から算出されるコストに基づいてモデル候補の二次絞り込み処理を行う。これにより、実空間において人が意識的に振る舞いをしなければ生じない姿勢を含むモデル候補よりも、実空間において人が意識せずに振る舞うことで生じる姿勢を含むモデル候補を優先的にモデル候補として抽出することができる。
【０３３７】
［第７の実施形態］
上記第６の実施形態では、モデル候補により特定される姿勢から算出されるコストに基づいて、モデル候補の二次絞り込み処理を行った。これに対して、第７の実施形態では、モデル候補により特定される姿勢から算出されるコストに、所定の重み付けを行うことで、重み付きコストを算出し、算出した重み付きコストに基づいて、モデル候補の二次絞り込み処理を行う。以下、第７の実施形態について、第６の実施形態との相違点を中心に説明する。
【０３３８】
＜サーバ装置の機能構成＞
はじめに、第７の実施形態におけるサーバ装置１１０の機能構成について説明する。図４３は、サーバ装置の機能構成の一例を示す第７の図である。図４０に示す機能構成との相違点は、重み算出部４３０１を有する点である。
【０３３９】
重み算出部４３０１は、類似度算出部３４０１より通知された複数のモデル候補によりそれぞれ特定されるアバタの姿勢を、複数種類のグループに分類し、それぞれのグループに属するモデル候補を識別する。
【０３４０】
また、重み算出部４３０１は、各グループに分類されたモデル候補の数をカウントすることで、各グループの頻度値（重み係数）を算出する。重み算出部４３０１は、コスト評価部４００１において算出したそれぞれのモデル候補のコストに、それぞれのモデル候補が属するグループの頻度値（重み係数）をかけあわせることで、重み付きコストを算出する。
【０３４１】
更に、重み算出部４３０１は、算出した重み付きコストが所定の閾値以下のモデル候補を抽出し、印象評価値（仮想空間）算出部１０１６に通知する。
【０３４２】
＜モデル候補二次絞り込み処理＞
次に、第７の実施形態におけるモデル候補二次絞り込み処理について説明する。図４４は、モデル候補二次絞り込み処理の第３のフローチャートである。ステップＳ４４０１において、重み算出部４３０１は、類似度算出部３４０１より通知されたモデル候補により特定される姿勢について解析し、複数種類のグループに分類し、それぞれのグループに属するモデル候補を識別する。
【０３４３】
ステップＳ４４０２において、重み算出部４３０１は、ステップＳ４４０１において分類したそれぞれのグループに属するモデル候補の数をカウントする。ステップＳ４４０３において、重み算出部４３０１は、カウントしたモデル候補の数に基づいて、それぞれのグループの頻度値（重み係数）を算出し、ステップＳ４２０１に進む。
【０３４４】
ステップＳ４２０１からステップＳ４２０６までの処理は、図４２のステップＳ４２０１からステップＳ４２０６の処理と同じであるため、ここでは説明を省略する。
【０３４５】
ステップＳ４４０４において、重み算出部４３０１は、ステップＳ４２０６において算出されたそれぞれのモデル候補の正規化されたコストに、それぞれのモデル候補が属するグループの頻度値（重み係数）をかけ合わせることで、重み付きコストを算出する。
【０３４６】
ステップＳ４４０５において、重み算出部４３０１は、類似度算出部３４０１より通知された全てのモデル候補について、重み付きコストを算出したか否かを判定する。
【０３４７】
ステップＳ４４０５において、重み付きコストを算出していないモデル候補があると判定した場合には（ステップＳ４４０５においてＮｏ）、ステップＳ４３０１に戻り、次のモデル候補について重み付きコストを算出する。一方、ステップＳ４４０５において、全てのモデル候補について重み付きコストを算出したと判定した場合には（ステップＳ４４０５においてＹｅｓ）、ステップＳ４４０６に進む。
【０３４８】
ステップＳ４４０６において、重み算出部４３０１は、算出した重み付きコストが所定の閾値以下のモデル候補を抽出し、印象評価値（仮想空間）算出部１０１６に通知したうえで、モデル候補二次絞り込み処理を終了する。
【０３４９】
このように、第７の実施形態における画像生成システム１００は、モデル候補により特定される姿勢から算出されるコストに、それぞれの姿勢が発生する頻度に応じた重み係数をかけ合わせることで重み付けコストを算出する。また、第７の実施形態における画像生成システム１００は、算出した重み付けコストに基づいてモデル候補の二次絞り込み処理を行う。これにより、実空間において人が意識せずに振る舞うことで生じる姿勢を含むモデル候補が優先的に抽出されるため、実際に当該環境でよく行われている振る舞いに類似するモデル候補を選定することが可能となる。
【０３５０】
［第８の実施形態］
上記第５の実施形態では、誤りやすさ閾値を超える部位に連結する部位の部位値に基づいて、モデル候補を抽出した。しかしながら、このような抽出方法の場合、モデル候補の数が少ない結果となることも考えられる。そこで、第８の実施形態では、誤りやすさ閾値を超える部位に連結する部位の部位値に基づいて抽出したモデル候補の数が少ない場合に、連結部位に連動する可能性が高い連動部位の部位値に基づいてモデル候補を抽出する。以下、第８の実施形態について、第５の実施形態との相違点を中心に説明する。
【０３５１】
＜サーバ装置の機能構成＞
はじめに、第８の実施形態におけるサーバ装置１１０の機能構成について説明する。図４５は、サーバ装置の機能構成の一例を示す第８の図である。図３４に示す機能構成との相違点は、連動部位確認処理部４５０１を有する点である。
【０３５２】
連動部位確認処理部４５０１は、連結部位判定部３４０２によるモデル候補二次絞り込み処理（図３９）により抽出されたモデル候補の数が所定数以下か否かを判定する。また、連動部位確認処理部４５０１は、モデル候補二次絞り込み処理（図３９）により抽出されたモデル候補の数が所定数以下であると判定した場合に、類似度算出部３４０１より通知されたモデル候補より、他のモデル候補を抽出する。
【０３５３】
具体的には、連動部位確認処理部４５０１は、誤りやすさ閾値を超える部位に連結する部位と連動する可能性の高い連動部位を特定し、特定した連動部位の部位値に基づいて、類似度算出部３４０１より通知されたモデル候補の中からモデル候補を抽出する。これにより、印象評価値（仮想空間）算出部１０１６では、連結部位判定部３４０２により抽出されたモデル候補と、連動部位確認処理部４５０１により抽出されたモデル候補とについて、印象評価値を算出することができる。
【０３５４】
＜モデル候補二次絞り込み処理＞
次に、第８の実施形態におけるモデル候補二次絞り込み処理について説明する。図４６は、モデル候補二次絞り込み処理の第４のフローチャートである。ステップＳ３９０１〜Ｓ３９０４における処理は、図３９のステップＳ３９０１〜Ｓ３９０４における処理と同じである。
【０３５５】
ステップＳ４６０１において、連動部位確認処理部４５０１は、ステップＳ３９０４において抽出したモデル候補の数が、所定の閾値以下であるか否かを判定する。
【０３５６】
ステップＳ４６０１において、所定の閾値以下でないと判定した場合には（ステップＳ４６０１においてＮｏ）、モデル候補の数が少なくないと判定し、モデル候補二次絞り込み処理を終了する。
【０３５７】
一方、ステップＳ４６０１において、所定の閾値以下であると判定した場合には（ステップＳ４６０１においてＹｅｓ）、ステップＳ４６０２に進む。ステップＳ４６０２において、連動部位確認処理部４５０１は、誤りやすさ閾値を超える部位と連結する各部位（連結部位）に対して連動する可能性が高い部位のスコアを読み出す。なお、各部位と連動する可能性の高い部位のスコアは予め定められているものとする。
【０３５８】
ステップＳ４６０３において、連動部位確認処理部４５０１は、ステップＳ４５０２において読み出したスコアに基づいて、連結部位と連動する可能性の高い連動部位を特定する。
【０３５９】
ステップＳ４６０４において、連動部位確認処理部４５０１は、類似度算出部３４０１より通知されたモデル候補の中から、ステップＳ４５０３において特定した連動部位の部位値に基づいて、モデル候補を抽出する。
【０３６０】
これにより、印象評価値（仮想空間）算出部１０１６は、ステップＳ３９０４において抽出されたモデル候補と、ステップＳ４６０４において抽出されたモデル候補とについて、印象評価値（仮想空間）を算出することができる。
【０３６１】
具体例を挙げて更に詳細に説明する。第５の実施形態で部位ごとの部位値のグルーピングの対象が、連結部位であったのに対し、第８の実施形態では、連結部位と合わせて連結部位と連動する部位も含めれる。連結部位が左上腕、左肩、首元であり、それぞれの部位と連動する可能性が高い上位５部位がシステムデータにより以下のように定められていたとする（部位の横の数字が、連動する可能性の順位に応じたスコア）。
・（左上腕：左下腕５、左肩４、右肩３、右下腕２、左手首１）
・（左肩：左上腕５、左下腕４、首元３、左手首２、右肩１）
・（首元：首５、頭部４、左肩３、右肩２、胸部１）
連動部位確認処理部４５０１は、スコアを算出する。（例えば合算値や平均値等）。下記は連結部位（左上腕、左肩、首元の３つの部位）のスコアを部位ごとに合算した場合を示している。
・（左上腕、左肩、首元：[左下腕９]、[左肩７]、右肩６、[左上腕５]、首５、頭部４、[首元３]、[左手首３]、右下腕２、胸部１）
連動部位確認処理部４５０１は、算出したスコアに基づいて連動部位を特定する。更に、連動部位確認処理部４５０１は、類似度算出部３４０１より通知されたモデル候補の各部位のうち、連動部位として特定した部位（右肩、首、頭部、右下腕、胸部）それぞれの部位値を抽出し、部位ごとにグルーピングする。更に、連動部位確認処理部４５０１は、アバタの同部位の部位値が類似するグループに属するモデル候補を抽出する。
【０３６２】
つまり、上記第５の実施形態では、連結部位（左上腕、左肩、首元）の部位値に基づいて、モデル候補を抽出したが、第８の実施形態では、左上腕、左肩、首の連動部位の部位値に基づいてモデル候補を抽出する。
【０３６３】
なお、連動部位として特定した全ての部位について、アバタの同部位の部位値が類似するモデル候補を抽出してもよいし、連動部位として特定した部位のうちの一部の部位の部位値が、アバタの当該部位の部位値と類似するモデル候補を抽出してもよい。
【０３６４】
このように、第８の実施形態において画像生成システム１００は、連結部位の部位値に基づいて抽出したモデル候補の数が少なかった場合に、連結部位に連動する可能性の高い連動部位の部位値に基づいてモデル候補を抽出する。
【０３６５】
これにより、第８の実施形態によれば、左腕の微妙な変化だけでは部位ごとの部位値のグルーピングによるモデル候補の分類がうまくいかないような場合であっても、左腕側と連動した右腕側の部位値のばらつきによってモデル候補の分類ができる。また、第８の実施形態によれば、動き（変化）判定部１０１２により算出された表示前のアバタと真に類似しているモデル候補を抽出することが可能となる。この結果、例えば、両腕を同様のフォームで動かしている場合と片腕を動かさずに片腕のみを動かしている場合とを類別すること等が容易になり、その後に各モデル候補に対して行う印象評価値の処理等も印象にバラつきが生まれる。これにより、連結部位近辺では部位が類似しているが、トータルでは印象の異なるモデルを誤ってモデル候補として選定する可能性を低減させることができる。
【０３６６】
［第９の実施形態］
上記第２の実施形態では、他のアバタに対する動きの傾向に基づいてモデル候補を読み出した。これに対して、第９の実施形態では、他のアバタに対する動きの傾向に優先度を設定しておき、他のアバタに対する動きの傾向と優先度とに基づいてモデル候補を読み出す。以下、第９の実施形態について、第２の実施形態との相違点を中心に説明する。
【０３６７】
＜他のアバタに対する動きの種類と傾向と優先度との関係を定義した定義情報＞
はじめに、他のアバタに対する動きの傾向の優先度について説明する。図４７は、他のアバタに対する動きの種類と傾向と優先度との関係を定義した定義情報の一例を示す図である。
【０３６８】
図４７に示すように、定義情報４７００は情報の項目として、"他のアバタに対する動きの種類"、"接近傾向／回避傾向"に加え、"優先度"を含む。"優先度"には、他のアバタに対する動きの種類の優先度が格納されている。
【０３６９】
＜モデル候補読み出し処理＞
次に、モデル候補読み出し処理（図２５のステップＳ２５０２）について説明する。図４８は、モデル候補読み出し処理の第４のフローチャートである。なお、図２６を用いて詳細に説明したフローチャートと同じ工程については同じ符号を付し、ここでは説明を省略する。図２６との相違点は、ステップＳ４８０１、Ｓ４８０２である。
【０３７０】
ステップＳ４８０１において、モデル候補読み出し部２１０２は、定義情報４７００を参照し、ステップＳ２６０１において識別した"他のアバタに対する動きの種類"に対応する"他のアバタに対する動きの傾向"を判定する。
【０３７１】
ステップＳ４８０２において、モデル候補読み出し部２１０２は、定義情報４７００を参照し、ステップＳ４８０１において判定した"傾向"と同じ傾向であって、同じ優先度を有する"他のアバタに対する動きの種類"を抽出する。なお、同じ優先度がない場合には、例えばプラスマイナス１以内の優先度を有する"他のアバタに対する動きの種類"を抽出する、というように優先度の近いものを抽出するようにしてもよい。
【０３７２】
このように、第９の実施形態における画像生成システム１００は、他のアバタに対する動きの傾向と優先度とに基づいて、モデル候補の読み出しを行う。
【０３７３】
これにより、第９の実施形態によれば、ユーザの振る舞いとアバタの動きとで、コミュニケーションの相手に与える印象を、接近傾向／回避傾向を同じにすることができるだけでなく、その社会的振る舞いの優先度も類似したものを表示することが可能となる。
【０３７４】
［第１０の実施形態］
上記第２の実施形態では、アバタの複数の部位それぞれにおいて、部位値が同じタイミングで変化した場合でも、それぞれの変化について、他のアバタに対する動きの種類を判定した。また、上記第２の実施形態では、それぞれの変化について判定した他のアバタに対する動きの種類に対応する傾向に基づいて、それぞれモデル候補の読み出しを行った。
【０３７５】
しかしながら、実空間における社会的振る舞いの傾向（接近傾向／回避傾向）は、他の社会的振る舞いと同時に行われたり、連続して行われたりすることによって変わる可能性がある。したがって、仮想空間においても、他のアバタに対する動きの傾向は、異なる種類の動き（他のアバタに対する動き）が複数組み合わさることで変わる可能性がある。
【０３７６】
そこで、第１０の実施形態では、異なる種類の動き（他のアバタに対する動き）が複数組み合わさることで傾向が変わる可能性がある場合、他のアバタに対する動きの傾向に基づくモデル候補の読み出しは行わない。
【０３７７】
＜他のアバタに対する動きの種類と傾向と傾向が変わる可能性のある組み合わせとの関係を定義した定義情報＞
図４９は、他のアバタに対する動きの種類と傾向と傾向が変わる可能性のある組み合わせとの関係を定義した定義情報の一例を示す図である。
【０３７８】
図４９に示すように、定義情報４９００は情報の項目として、"他のアバタに対する動きの種類"、"接近傾向／回避傾向"に加え、"傾向が変わる可能性のある組み合わせ"が格納されている。"傾向が変わる可能性のある組み合わせ"には、"他のアバタに対する動きの種類"に格納された動きと組み合わさることで、傾向が変わる可能性のある動きの種類（他のアバタに対する動きの種類）が格納される。
【０３７９】
＜モデル候補読み出し処理＞
次に、モデル候補読み出し処理（図２５のステップＳ２５０２）の詳細について説明する。図５０は、モデル候補読み出し処理の第５のフローチャートである。なお、図２６を用いて詳細に説明したフローチャートと同じ工程については同じ符号を付し、ここでは説明を省略する。図２６との相違点は、ステップＳ５００１、Ｓ５００２である。
【０３８０】
ステップＳ５００１において、動き（傾向）判定部２１０１は、定義情報４９００を参照することで、他のアバタに対する動きの傾向が変わる可能性があるか否かを判定する。具体的には、動き（傾向）判定部２１０１は、他のアバタに対する動きの種類判定ログテーブル２４００を参照し、ステップＳ２５０１において追加されたデータ行より、"判定時刻（開始）"と"判定時刻（終了）"に記録された時刻を抽出する。また、動き（傾向）判定部２１０１は、他のアバタに対する動きの種類判定ログテーブル２４００を参照する。そして、動き（傾向）判定部２１０１は、抽出した時刻により識別される時間帯（"判定時刻（開始）"と"判定時刻（終了）"の間の時間帯）と重複する時間帯の"判定時刻（開始）"と"判定時刻（終了）"を有するデータ行を検索する。また、動き（傾向）判定部２１０１は、検索されたデータ行の"他のアバタに対する動きの種類"と、ステップＳ２５０１において追加されたデータ行の"他のアバタに対する動きの種類"との組み合わせを対比する。更に、動き（傾向）判定部２１０１は、定義情報４９００を参照し、当該組み合わせが他のアバタに対する動きの傾向が変わる可能性があるか否かを判定する。
【０３８１】
ステップＳ５００１において、傾向が変わる可能性ないと判定した場合には（ステップＳ５００１においてＮｏ）、ステップＳ１８０５に進む。
【０３８２】
一方、ステップＳ５００１において、傾向が変わる可能性があると判定した場合には（ステップＳ５００１においてＹｅｓ）、ステップＳ５００２に進む。
【０３８３】
ステップＳ５００２において、モデル候補読み出し部２１０２は、検索されたデータ行に基づいて既に読み出されているモデル候補を削除する。
【０３８４】
このように、第１０の実施形態における画像生成システム１００は、異なる種類の動き（他のアバタに対する動き）が複数組み合わさることで、他のアバタに対する動きの傾向が変わる可能性がある場合には、モデル候補の読み出しは行わない。また、既に読み出されたモデル候補については削除する。モデル候補の読み出し以降の処理を行わないことで、仮想空間用情報の更新は行われないため、他のユーザに対して、他のアバタに対する動きの傾向が変わる可能性がある動きは、提示されない。
【０３８５】
これにより、第１０の実施形態によれば、上記第２の実施形態と比較して、意味合いが変わってしまいそうな社会的振る舞いを他のユーザへ提示することを避けることが可能となる。
【０３８６】
［その他の実施形態］
上記各実施形態では、仮想空間用情報生成部１００２によりアバタの画像が生成されるごとに、ログ格納部１１６のアバタ部位変位ログテーブル２０００を更新し、以降のモデル候補の読み出し対象とした。しかしながら、ログ格納部１１６のアバタ部位変位ログテーブル２０００に格納したアバタ部位変位データのうち、所定の条件を満たさないアバタ部位変位データは、ログ格納部１１６から削除するようにしてもよい。
【０３８７】
また、上記各実施形態は、任意に組み合わせることで新たな実施形態としてもよい。例えば、第５乃至第８の各実施形態は、第９または第１０の実施形態と組み合わせてもよい。
【０３８８】
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
人の振る舞いを仮想空間で表現するアバタに含まれる部位の情報を決定する際に、前記人の体の複数箇所を測定することで得られたデータを取得する収集手段と、
前記アバタの部位に、信頼度が低いと判断される部位が含まれるか否かを判定する判定手段と、
前記判定手段により、前記信頼度が低いと判断される部位が含まれると判定された場合に、前記人の印象を示す情報を記憶する記憶部を参照し、該信頼度が低いと判断される部位の情報を決定するための前記人の印象を示す情報を選定する選定手段と、
前記信頼度が低いと判断される部位の情報を、選定された前記人の印象を示す情報に基づいて決定し、前記信頼度が低いと判断されなかった部位の情報を、前記収集手段が取得したデータに基づいて決定して、前記アバタの画像を生成する生成手段と
を有することを特徴とする画像生成システム。
（付記２）
前記生成手段は、選定された前記人の印象を示す情報に基づいて、前記信頼度が低いと判断される部位の位置または角度を決定して、前記アバタの画像を生成することを特徴とする付記１に記載の画像生成システム。
（付記３）
前記アバタの部位の情報が変化した場合に、前記アバタの部位の動きの種類を判定する第１の判定手段を更に有し、
前記選定手段は、判定された前記アバタの部位の動きの種類に基づいて、前記人の印象を示す情報を選定することを特徴とする付記１に記載の画像生成システム。
（付記４）
前記アバタの部位の情報が変化した場合に、前記アバタの部位の他のアバタに対する動きの種類を判定する第２の判定手段を更に有し、
前記選定手段は、判定された前記アバタの部位の他のアバタに対する動きの傾向に基づいて、前記人の印象を示す情報を選定することを特徴とする付記１に記載の画像生成システム。
（付記５）
人の振る舞いを仮想空間で表現するアバタの部位に、信頼度が低いと判断される部位が含まれるか否かを判定し、
前記信頼度が低いと判断される部位が含まれると判定した場合に、前記人の印象を示す情報を記憶する記憶部を参照し、該信頼度が低いと判断される部位の情報を決定するための前記人の印象を示す情報を選定し、
選定された前記人の印象を示す情報に基づいて前記部位の情報を決定して、前記アバタの画像を生成する、
処理をコンピュータに実行させるための画像生成プログラム。
（付記６）
コンピュータが、
人の振る舞いを仮想空間で表現するアバタの部位に、信頼度が低いと判断される部位が含まれるか否かを判定し、
前記信頼度が低いと判断される部位が含まれると判定した場合に、前記人の印象を示す情報を記憶する記憶部を参照し、該信頼度が低いと判断される部位の情報を決定するための前記人の印象を示す情報を選定し、
選定された前記人の印象を示す情報に基づいて前記部位の情報を決定して、前記アバタの画像を生成する、
処理を実行する画像生成方法。
【０３８９】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０３９０】
１００                  ：画像生成システム
１１０                  ：サーバ装置
１１１                  ：第１の仮想空間用情報提供部
１１２                  ：第２の仮想空間用情報提供部
１２０、１３０          ：クライアント装置
１２１、１３１          ：情報処理部
１２２、１３２          ：深度センサ
１２３、１３３          ：ＨＭＤ
１２４、１３４          ：頭部姿勢センサ
１２５、１３５          ：音声センサ
１２６、１３６          ：筋電位センサ
２００                  ：実空間
２２１、２２２          ：誤りやすさ閾値領域マップ
３００                  ：仮想空間
３０１、３０２          ：視野画像
３４０〜３５０          ：アバタ
１００１                ：センサデータ収集部
１００２                ：仮想空間用情報生成部
１００３                ：仮想空間用情報送信部
１０１１                ：センサデータ読み出し部
１０１２                ：動き（変化）判定部
１０１３                ：誤りやすさ判定部
１０１４                ：モデル候補読み出し部
１０１５                ：印象評価値（実空間）算出部
１０１６                ：印象評価値（仮想空間）算出部
１０１７                ：モデル候補選定部
１６００                ：動きの種類判定ログテーブル
１７００                ：アバタ部位変位データ（モデル候補）
２０００                ：アバタ部位変位ログテーブル
２１０１                ：動き（傾向）判定部
２１０２                ：モデル候補読み出し部
２４００                ：他のアバタに対する動きの種類判定ログテーブル
２７０１                ：想定範囲算出部
２７０２                ：モデル候補読み出し部
２８００                ：想定範囲情報
３００１                ：動き（時系列変化）判定部
３１００                ：動きの種類判定ログ（時系列）テーブル
３４０１                ：類似度算出部
３４０２                ：連結部位判定部
４００１                ：コスト評価部
４３０１                ：重み算出部
【図１】
0006569452.tif 000002
【図２】
0006569452.tif 000003
【図３】
0006569452.tif 000004
【図４】
0006569452.tif 000005
【図５】
0006569452.tif 000006
【図６】
0006569452.tif 000007
【図７】
0006569452.tif 000008
【図８】
0006569452.tif 000009
【図９】
0006569452.tif 000010
【図１０】
0006569452.tif 000011
【図１１】
0006569452.tif 000012
【図１２】
0006569452.tif 000013
【図１３】
0006569452.tif 000014
【図１４】
0006569452.tif 000015
【図１５】
0006569452.tif 000016
【図１６】
0006569452.tif 000017
【図１７】
0006569452.tif 000018
【図１８】
0006569452.tif 000019
【図１９】
0006569452.tif 000020
【図２０】
0006569452.tif 000021
【図２１】
0006569452.tif 000022
【図２２】
0006569452.tif 000023
【図２３】
0006569452.tif 000024
【図２４】
0006569452.tif 000025
【図２５】
0006569452.tif 000026
【図２６】
0006569452.tif 000027
【図２７】
0006569452.tif 000028
【図２８】
0006569452.tif 000029
【図２９】
0006569452.tif 000030
【図３０】
0006569452.tif 000031
【図３１】
0006569452.tif 000032
【図３２】
0006569452.tif 000033
【図３３】
0006569452.tif 000034
【図３４】
0006569452.tif 000035
【図３５】
0006569452.tif 000036
【図３６】
0006569452.tif 000037
【図３７】
0006569452.tif 000038
【図３８】
0006569452.tif 000039
【図３９】
0006569452.tif 000040
【図４０】
0006569452.tif 000041
【図４１】
0006569452.tif 000042
【図４２】
0006569452.tif 000043
【図４３】
0006569452.tif 000044
【図４４】
0006569452.tif 000045
【図４５】
0006569452.tif 000046
【図４６】
0006569452.tif 000047
【図４７】
0006569452.tif 000048
【図４８】
0006569452.tif 000049
【図４９】
0006569452.tif 000050
【図５０】
0006569452.tif 000051