(57)【特許請求の範囲】
【請求項１】
画像データを入力する画像入力部と、
入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得部と、
前記解析データと比較データ記憶部が記憶する比較データとを比較した結果に基づいて、要素画像記憶部が記憶する複数の要素画像のうちから要素画像を選択する要素画像選択部と、
選択された要素画像に基づいて全体画像を作成する全体画像作成部と、
作成された前記全体画像をユーザに提供する全体画像提供部と、
提供された前記全体画像の内容を前記ユーザの指示に応じて編集する全体画像編集部と、
前記全体画像の内容が確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新部と
を備えることを特徴とする画像作成システム。
【請求項２】
前記比較データ記憶部は、
予め用意した複数の画像データを利用して作成された初期の比較データを予め記憶しており、
前記更新部は、
前記初期の比較データに対して新たな比較データを追加するように更新する
ことを特徴とする請求項１に記載の画像作成システム。
【請求項３】
前記要素画像記憶部は、
複数の要素種別のそれぞれに対応する複数の要素画像を記憶し、
前記要素画像選択部は、
前記複数の要素種別ごとに要素画像を選択する
ことを特徴とする請求項１または２に記載の画像作成システム。
【請求項４】
前記全体画像作成部は、
前記解析データと前記比較データとを比較した結果に基づいて、同一の要素種別に対応する要素画像のうちから複数の要素画像が選択された場合、選択された複数の要素画像のそれぞれに対応して複数の前記全体画像を作成し、
前記全体画像提供部は、
作成された前記複数の全体画像をユーザに提供する
ことを特徴とする請求項３に記載の画像作成システム。
【請求項５】
前記全体画像作成部は、
同一の要素種別に対応する要素画像のうちから複数の要素画像が選択された場合に、最も一致頻度が高い要素画像に対応する要素種別については、前記最も一致頻度が高い要素画像を共通に使用して前記複数の全体画像を作成する
ことを特徴とする請求項４に記載の画像作成システム。
【請求項６】
ネットワーク経由でユーザ端末装置と通信を行う通信部と、
画像データを入力する画像入力部と、
入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得部と、
前記解析データと比較データ記憶部が記憶する比較データとを比較した結果に基づいて、要素画像記憶部が記憶する複数の要素画像のうちから要素画像を選択する要素画像選択部と、
選択された要素画像に基づいて作成された全体画像の内容が前記ユーザ端末装置に対するユーザの指示に応じて確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新部と
を備えることを特徴とする画像作成アプリケーションサーバ。
【請求項７】
ネットワーク経由でユーザ端末装置と通信を行う通信部と、
画像データを入力する画像入力部と、
入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得部と、
前記解析データと比較データ記憶部が記憶する比較データとを比較した結果に基づいて、要素画像記憶部が記憶する複数の要素画像のうちから要素画像を選択する要素画像選択部と、
選択された要素画像に基づいて全体画像を作成する全体画像作成部と、
前記ユーザ端末装置に対して行われたユーザの指示に応じて、作成された前記全体画像の内容を編集する全体画像編集部と、
前記全体画像の内容が前記ユーザ端末装置に対するユーザの指示に応じて確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新部と
を備えることを特徴とする画像作成アプリケーションサーバ。
【請求項８】
画像データを入力する画像入力ステップと、
入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得ステップと、
前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、
選択された要素画像に基づいて全体画像を作成する全体画像作成ステップと、
作成された前記全体画像をユーザに提供する全体画像提供ステップと、
提供された前記全体画像の内容を前記ユーザの指示に応じて編集する全体画像編集ステップと、
前記全体画像の内容が確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップと
を備えることを特徴とする画像作成方法。
【請求項９】
ネットワーク経由でユーザ端末装置と通信を行う通信ステップと、
画像データを入力する画像入力ステップと、
入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得ステップと、
前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、
選択された要素画像に基づいて作成された全体画像の内容が前記ユーザ端末装置に対するユーザの指示に応じて確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップと
を備えることを特徴とする画像作成方法。
【請求項１０】
ネットワーク経由でユーザ端末装置と通信を行う通信ステップと、
画像データを入力する画像入力ステップと、
入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得ステップと、
前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、
選択された要素画像に基づいて全体画像を作成する全体画像作成ステップと、
前記ユーザ端末装置に対して行われたユーザの指示に応じて、作成された前記全体画像の内容を編集する全体画像編集ステップと、
前記ユーザ端末装置に対するユーザの指示に応じて前記全体画像の内容が確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップと
を備えることを特徴とする画像作成方法。
【請求項１１】
コンピュータに、
ネットワーク経由でユーザ端末装置と通信を行う通信ステップと、
画像データを入力する画像入力ステップと、
入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得ステップと、
前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、
選択された要素画像に基づいて作成された全体画像の内容が前記ユーザ端末装置に対するユーザの指示に応じて確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップと
を実行させるためのプログラム。
【請求項１２】
コンピュータに、
ネットワーク経由でユーザ端末装置と通信を行う通信ステップと、
画像データを入力する画像入力ステップと、
入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得ステップと、
前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、
選択された要素画像に基づいて全体画像を作成する全体画像作成ステップと、
前記ユーザ端末装置に対して行われたユーザの指示に応じて、作成された前記全体画像の内容を編集する全体画像編集ステップと、
前記ユーザ端末装置に対するユーザの指示に応じて前記全体画像の内容が確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像作成システム、画像作成アプリケーションサーバ、画像作成方法およびプログラムに関する。
【背景技術】
【０００２】
ＳＮＳ（ソーシャルネットワーキングサービス）などのネットワーク上でのコミュニケーションサービスにおいて、自己の分身のキャラクターであるアバターによりユーザを表現することが行われている。このアバターは、一般的に二次元モデルまたは三次元モデルの画像で表される。
【０００３】
このようなアバターの顔はユーザの似顔絵であると捉えることができる。この観点から、自分の似顔絵を簡単に作成してデジタル化するための技術として、以下のような顔画像認識システムが知られている。
つまり、この顔画像認識システムは、顔を撮像した顔画像と予めデータベース化されている顔パーツとのマッチングを行い、大きさ・位置・色・傾き等のデータをパーツに付加してコード化する。そして、顔画像認識システムは、コード化されたデータをもとに似顔絵を画面等に自動出力するとうものである。また、この顔画像認識システムは、表示された顔パーツをユーザ操作に応じて変形するように調整することが可能とされている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１６４４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように顔画像を元としてアバターを自動作成するにあたり、アバターが似顔絵であるとの観点のもとでは、アバター作成元の画像に対するアバターの類似度ができるだけ高いほうがアバターの質も向上することとなって好ましい。
【０００６】
しかし、特許文献１においては、アバター作成元の画像に対するアバターの類似度を向上させることについては特に配慮されていない。例えば、特許文献１の構成の場合、上記の類似度は顔パーツのデータベースの充実度に依存する。したがって、例えば特許文献１の構成において、データベースが格納する顔パーツの数が不十分であれば、類似度の低い傾向の顔パーツが継続して作成されてしまうことになる。
【０００７】
本発明は、上記のような事情に鑑みてなされたもので、アバター作成元の画像に対するアバターの類似度が向上されるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の一態様としての画像作成システムは、画像データを入力する画像入力部（２０１）と、入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得部（２０２）と、前記解析データと比較データ記憶部が記憶する比較データとを比較した結果に基づいて、要素画像記憶部が記憶する複数の要素画像のうちから要素画像を選択する要素画像選択部（２０４）と、選択された要素画像に基づいて全体画像を作成する全体画像作成部（３１２）と、作成された前記全体画像をユーザに提供する全体画像提供部（３１３）と、提供された前記全体画像の内容を前記ユーザの指示に応じて編集する全体画像編集部（３１４）と、前記全体画像の内容が確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新部（２０５）とを備える。
【０００９】
また、上記の本発明の一態様としての画像作成システムにおいて、前記比較データ記憶部は、予め用意した複数の画像データを利用して作成された初期の比較データを予め記憶しており、前記更新部は、前記初期の比較データに対して新たな比較データを追加するように更新してもよい。
【００１０】
また、上記の本発明の一態様としての画像作成システムにおいて、前記要素画像記憶部は、複数の要素種別のそれぞれに対応する複数の要素画像を記憶し、前記要素画像選択部は、前記複数の要素種別ごとに要素画像を選択してもよい。
【００１１】
また、上記の本発明の一態様としての画像作成システムにおいて、前記全体画像作成部は、前記解析データと前記比較データとを比較した結果に基づいて、同一の要素種別に対応する要素画像のうちから複数の要素画像が選択された場合、選択された複数の要素画像のそれぞれに対応して複数の前記全体画像を作成し、前記全体画像提供部は、作成された前記複数の全体画像をユーザに提供してもよい。
【００１２】
また、上記の本発明の一態様としての画像作成システムにおいて、前記全体画像作成部は、同一の要素種別に対応する要素画像のうちから複数の要素画像が選択された場合に、最も一致頻度が高い要素画像に対応する要素種別については、前記最も一致頻度が高い要素画像を共通に使用して前記複数の全体画像を作成してもよい。
【００１３】
また、本発明の一態様としての画像作成アプリケーションサーバは、ネットワーク経由でユーザ端末装置と通信を行う通信部と、画像データを入力する画像入力部と、入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得部と、前記解析データと比較データ記憶部が記憶する比較データとを比較した結果に基づいて、要素画像記憶部が記憶する複数の要素画像のうちから要素画像を選択する要素画像選択部と、選択された要素画像に基づいて作成された全体画像の内容が前記ユーザ端末装置に対するユーザの指示に応じて確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新部とを備える。
【００１４】
また、本発明の一態様としての画像作成アプリケーションサーバは、ネットワーク経由でユーザ端末装置と通信を行う通信部と、画像データを入力する画像入力部と、入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得部と、前記解析データと比較データ記憶部が記憶する比較データとを比較した結果に基づいて、要素画像記憶部が記憶する複数の要素画像のうちから要素画像を選択する要素画像選択部と、選択された要素画像に基づいて全体画像を作成する全体画像作成部と、前記ユーザ端末装置に対して行われたユーザの指示に応じて、作成された前記全体画像の内容を編集する全体画像編集部と、前記全体画像の内容が前記ユーザ端末装置に対するユーザの指示に応じて確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新部とを備える。
【００１５】
また、本発明の一態様としての画像作成方法は、画像データを入力する画像入力ステップと、入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得ステップと、前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、選択された要素画像に基づいて全体画像を作成する全体画像作成ステップと、作成された前記全体画像をユーザに提供する全体画像提供ステップと、提供された前記全体画像の内容を前記ユーザの指示に応じて編集する全体画像編集ステップと、前記全体画像の内容が確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップとを備える。
【００１６】
また、本発明の一態様としての画像作成方法は、ネットワーク経由でユーザ端末装置と通信を行う通信ステップと、画像データを入力する画像入力ステップと、前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、選択された要素画像に基づいて作成された全体画像の内容が前記ユーザ端末装置に対するユーザの指示に応じて確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップとを備える。
【００１７】
また、本発明の一態様としての画像作成方法は、ネットワーク経由でユーザ端末装置と通信を行う通信ステップと、画像データを入力する画像入力ステップと、入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得ステップと、前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、選択された要素画像に基づいて全体画像を作成する全体画像作成ステップと、
前記ユーザ端末装置に対して行われたユーザの指示に応じて、作成された前記全体画像の内容を編集する全体画像編集ステップと、前記ユーザ端末装置に対するユーザの指示に応じて前記全体画像の内容が確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップとを備える。
【００１８】
また、本発明の一態様としてのプログラムは、コンピュータに、ネットワーク経由でユーザ端末装置と通信を行う通信ステップと、画像データを入力する画像入力ステップと、前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、選択された要素画像に基づいて作成された全体画像の内容が前記ユーザ端末装置に対するユーザの指示に応じて確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップとを実行させるためのものである。
【００１９】
また、本発明の一態様としてのプログラムは、コンピュータに、ネットワーク経由でユーザ端末装置と通信を行う通信ステップと、画像データを入力する画像入力ステップと、入力された前記画像データを解析することにより、その解析結果を示す解析データを取得する解析データ取得ステップと、前記解析データと比較データ記憶部に記憶される比較データとを比較した結果に基づいて、複数の要素画像のうちから要素画像を選択する要素画像選択ステップと、選択された要素画像に基づいて全体画像を作成する全体画像作成ステップと、前記ユーザ端末装置に対して行われたユーザの指示に応じて、作成された前記全体画像の内容を編集する全体画像編集ステップと、前記ユーザ端末装置に対するユーザの指示に応じて前記全体画像の内容が確定されるのに応じて、確定されたときの前記全体画像の内容に基づいて前記比較データを更新する更新ステップとを実行させるためのものである。
【発明の効果】
【００２０】
以上説明したように、本発明によれば、アバター作成元の画像に対するアバターの類似度が向上するという効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態のアバター作成システムの構成例を示す図である。
【図２】本実施形態における特徴点データベース生成装置の構成例を示す図である。
【図３】本実施形態におけるパーツ画像テーブルの構成例を示す図である。
【図４】本実施形態における特徴点データ取得部による特徴点データの取得例を示す図である。
【図５】本実施形態におけるオブジェクト定義テーブル生成部が生成する代表点座標情報の一例を示す図である。
【図６】本実施形態におけるオブジェクト定義テーブル生成部が生成するオブジェクト定義テーブルのレコードの一例を示す図である。
【図７】本実施形態における特徴点の正規化座標を求めるための手順例を示す図である。
【図８】本実施形態における特徴点の正規化座標を求めるための手順例を示す図である。
【図９】特徴点ハッシュテーブル生成部が生成する正規化座標情報の一例を示す図である。
【図１０】特徴点ハッシュテーブル生成部が正規化座標情報をハッシュ値に変換するためのシフト演算処理の一例を示す図である。
【図１１】特徴点ハッシュテーブル生成部が生成する座標ハッシュ情報の一例を示す図である。
【図１２】特徴点ハッシュテーブル生成部が生成する特徴点ハッシュテーブルのレコードの一例を示す図である。
【図１３】本実施形態の特徴点データベース生成装置が生成する特徴点データベースの構造例を示す図である。
【図１４】本実施形態の特徴点データベース生成装置が実行する処理手順例を示す図である。
【図１５】本実施形態におけるアバター作成アプリケーションサーバとユーザ端末装置の構成例を示す図である。
【図１６】本実施形態におけるアバター作成アプリケーションサーバの特徴点データ取得部が生成する座標ハッシュ情報の一例を示す図である。
【図１７】本実施形態におけるアバター作成アプリケーションサーバが記憶する特徴点データベースの内容例を示す図である。
【図１８】本実施形態のパーツ画像選択部による座標ハッシュ情報の座標ハッシュと特徴点データベースの座標ハッシュとの比較結果の一例を示す図である。
【図１９】本実施形態のパーツ画像選択部によるパーツＩＤの集計結果を示す図である。
【図２０】本実施形態のパーツ画像選択部が生成するアバター情報の一例を示す図である。
【図２１】第１の実施形態におけるユーザ端末装置とアバター作成アプリケーションサーバが実行する処理手順例を示す図である。
【図２２】第２の実施形態においてユーザ端末装置のアバター画像作成部が実行する処理手順例を示す図である。
【図２３】第２の実施形態においてユーザ端末装置の表示制御部が実行する処理手順例を示す図である。
【図２４】第３の実施形態においてユーザ端末装置のアバター画像作成部が実行する処理手順例を示す図である。
【図２５】変形例におけるアバター作成アプリケーションサーバとユーザ端末装置の構成例を示す図である。
【発明を実施するための形態】
【００２２】
＜第１の実施形態＞
［アバター作成システムの構成例］
図１は、本実施形態のアバター作成システム（画像作成システム）の構成例を示している。
この図に示すアバター作成システムは、特徴点データベース生成装置１００と、アバター作成アプリケーションサーバ２００と、ユーザ端末装置３００と、アバター利用アプリケーションサーバ４００を備える。また、アバター作成アプリケーションサーバ２００と、ユーザ端末装置３００と、アバター利用アプリケーションサーバ４００は、ネットワーク５００と接続される。
【００２３】
特徴点データベース生成装置１００は、特徴点データベースを生成する装置である。特徴点データベースは、オブジェクトごとの特徴点にパーツ画像を対応付けた構造のデータベースである。オブジェクトとは、例えば複数の顔画像データごとに抽出された目、鼻、口、眉毛などの所定の部位に対応する。このオブジェクトに対応する所定の部位は、アバターを作成するにあたって必要とされている目、鼻、口、眉毛などのパーツ画像の種別（パーツ種別）に対応する。特徴点データベース生成装置１００が生成した特徴点データベースは、アバター作成アプリケーションサーバ２００が記憶する。
【００２４】
アバター作成アプリケーションサーバ（画像作成アプリケーションサーバ）２００は、アバター作成アプリケーションに関連した処理を実行するサーバである。
本実施形態においては、ユーザ端末装置３００において、ネイティブ型のアバター作成アプリケーションが動作する。例えば、このアバター作成アプリケーションに対するユーザの操作に応じて、ユーザ端末装置３００がアバター作成アプリケーションサーバ２００に対して操作情報を送信する。アバター作成アプリケーションサーバ２００は、この操作情報に応答した所定の処理を実行する。
【００２５】
そして、本実施形態のアバター作成アプリケーションは、ユーザ端末装置３００にて取得した顔画像データを利用して、この顔画像データが示す顔に類似したアバターを自動作成する。ここで、ユーザ端末装置３００が取得する顔画像データは、例えば、ユーザなどの顔を撮像することによって生成された撮像画像データである。また、例えば、ユーザなどの似顔絵を描いたイラストのようなものの画像データであってもよい。
【００２６】
ユーザ端末装置３００が取得した顔画像データは、ユーザ端末装置３００上で動作するアバター作成アプリケーションに対する操作によりアバター作成元の顔画像として指定されるのに応じて、アバター作成アプリケーションサーバ２００に対して送信される。
アバター作成アプリケーションサーバ２００は、ユーザ端末装置３００から受信した顔画像データが示す顔に類似したアバターを自動作成する。この際に、アバター作成アプリケーションサーバ２００は、受信した顔画像データと、自己が記憶する特徴点データベースとを照合することにより顔画像における部位ごとに類似したパーツ画像を特定し、これらの特定したパーツ画像によりアバターを作成する。
【００２７】
ユーザ端末装置３００は、ユーザが操作するネットワーク端末装置であり、具体的には、例えば携帯電話やスマートフォン、タブレット端末などである。
上記のように、ユーザ端末装置３００をアバター作成アプリケーションサーバ２００と接続することにより、ユーザ端末装置３００上でアバター作成アプリケーションが動作する。
また、ユーザ端末装置３００を、後述するアバター利用アプリケーションサーバ４００と接続することにより、ユーザ端末装置３００上でアバター作成アプリケーションが動作する。
【００２８】
アバター利用アプリケーションサーバ４００は、アバター利用アプリケーションをユーザ端末装置３００のユーザに提供するサーバである。アバター利用アプリケーションとは、アバター作成アプリケーションサーバにより作成されたアバターを利用するアプリケーションである。
アバター利用アプリケーションの一例は、仮想空間コミュニティーアプリケーションである。
【００２９】
ユーザ端末装置３００上で動作する仮想空間コミュニティーアプリケーションの画面においては、そのユーザ端末装置３００を操作するユーザ自身のアバターと、他のユーザのアバターが仮想空間において存在している。これらのアバターは、例えば対応のユーザが投稿したつぶやきなどを話しているように表現される。また、例えば仮想空間の画面を操作して他のアバターに触れて例えばなでてあげたりすると、そのアバターが喜ぶ様子なども表示されるようになっている。このように、仮想空間コミュニティーアプリケーションにおいては、アバターを利用して、他のユーザとコミュニケーションを図ることができる。
【００３０】
［特徴点データベース生成装置の構成例］
図２は、特徴点データベース生成装置１００の構成例を示している。本実施形態においては、特徴点データベースを生成するための作業者が、特徴点データベース生成装置１００にサンプル顔画像を入力する。そして、作業者は、予め用意された複数のパーツ画像のうちから、サンプル顔画像におけるオブジェクト（アバター作成のためのパーツ画像に対応する目、鼻、口、眉毛などの部位）の各々と最も類似しているものを目視により判断する。そして、作業者は、サンプル画像におけるオブジェクトと、このオブジェクトに最も類似していると判断したパーツ画像とを対応付ける操作を特徴点データベース生成装置１００に対して行う。この操作に応じて、特徴点データベース生成装置１００は、オブジェクトごとの特徴点に対応するパーツ画像を示す特徴点データベースを生成する。
【００３１】
図２に示す特徴点データベース生成装置１００は、サンプル顔画像データ入力部１０１、特徴点データ取得部１０２、表示制御部１０３、パーツＩＤ取得部１０４、特徴点データベース生成部１０５、記憶部１０６、特徴点データベース送信部１０７、操作部１０８および表示部１０９を備える。
【００３２】
サンプル顔画像データ入力部１０１は、特徴点データベースの生成のために予めサンプルとして用意された顔画像データであるサンプル顔画像データを外部から入力する。このサンプル顔画像データは、例えば、サンプル対象として集められた現実の人の顔を撮像することにより得られるものである。また、サンプル顔画像データ入力部１０１は、例えば所定のデータインターフェースまたはネットワークを経由してサンプル顔画像データを入力すればよい。
【００３３】
特徴点データ取得部１０２は、入力したサンプル顔画像データについて顔認識を含む解析処理を実行することにより、予め定義されたオブジェクト（目、鼻、口、眉毛などのアバター作成のためのパーツに対応する部位）を抽出する。そのうえで、特徴点データ取得部１０２は、抽出したオブジェクトごとの特徴点データを求める。なお、オブジェクトにおける特徴点は、オブジェクトの種別ごとに予め定義されている。また、特徴点データ取得部１０２は、例えば特徴点データとして、特徴点ごとの座標を求める。
【００３４】
表示制御部１０３は、特徴点データベース生成のためのユーザインターフェース画像として、サンプル顔画像データ入力部１０１が入力した顔画像の画像と、記憶部１０６に記憶されるパーツ画像テーブル６００が格納するパーツ画像のリストを表示部１０９に表示させる。
【００３５】
作業者は、表示部１０９に表示されるパーツ画像のリストのうちから、同じ表示部１０９に表示される顔画像が示す顔におけるオブジェクトに対応する部位ごとに最も類似するものを目視により判断する。そして、作業者は、パーツ画像のリストのうちからオブジェクトごとに最も類似すると判断したパーツ画像を選択するための操作を操作部１０８に対して行う。
【００３６】
パーツＩＤ取得部１０４は、選択されたパーツ画像に対応付けられているパーツＩＤを記憶部１０６に記憶されるパーツ画像テーブル６００から取得する。つまり、パーツＩＤ取得部１０４は、オブジェクトに最も類似しているものと判定されたパーツ画像を特定するパーツＩＤを取得する。
【００３７】
特徴点データベース生成部１０５は、特徴点データ取得部１０２により顔画像データから取得されたオブジェクトごとの特徴点と、パーツＩＤ取得部１０４により取得されたオブジェクトごとに対応付けられるパーツＩＤとに基づいて特徴点データベース７００を生成する。
【００３８】
また、特徴点データベース生成部１０５は、オブジェクト定義テーブル生成部１０５Ａと特徴点ハッシュテーブル生成部１０５Ｂを備える。
オブジェクト定義テーブル生成部１０５Ａは、特徴点データベース７００に含まれるオブジェクト定義テーブル７１０を生成する。
特徴点ハッシュテーブル生成部１０５Ｂは、特徴点データベース７００に含まれる特徴点ハッシュテーブル７２０を生成する。
【００３９】
記憶部１０６は、特徴点データベース生成装置１００としての動作を実現するのに必要なプログラムや各種の情報を記憶する。この図においては、記憶部１０６が記憶する情報のうち、パーツ画像テーブル６００と特徴点データベース７００が示されている。
【００４０】
パーツ画像テーブル６００は、アバター作成に使用するものとして予め用意されたアバターの目、鼻、口、眉毛などの所定の部位にそれぞれ対応する複数種類のパーツの画像（パーツ画像）をパーツＩＤに対応付けて格納したテーブルである。
【００４１】
特徴点データベース７００は、特徴点データベース生成部１０５により生成される情報であり、オブジェクトごとの特徴点にパーツ画像のパーツＩＤを対応付けた構造のデータベースである。
なお、記憶部１０６が対応するハードウェアの一例は、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどである。
【００４２】
特徴点データベース送信部１０７は、特徴点データベース生成部１０５により生成された特徴点データベース７００を、所定のデータインターフェースまたはネットワークを経由してアバター作成アプリケーションサーバ２００に送信する。この際、特徴点データベース送信部１０７は、記憶部１０６に記憶されている特徴点データベース７００を読み出して送信する。
このように送信された特徴点データベース７００は、アバター作成アプリケーションサーバ２００において記憶される。
【００４３】
操作部１０８は、特徴点データベース生成装置１００を操作するための操作デバイスや操作子などを一括して示したものである。操作部１０８に含まれる操作デバイスの一例は、例えばマウスやキーボードなどである。
表示部１０９は、表示制御部１０３の制御に応じて画像を表示する。
【００４４】
なお、特徴点データベース生成装置１００におけるサンプル顔画像データ入力部１０１、特徴点データ取得部１０２、表示制御部１０３、パーツＩＤ取得部１０４および特徴点データベース生成部１０５などの機能部は、コンピュータ装置におけるＣＰＵ（Central Processing Unit）にプログラムを実行させることにより実現できる。
【００４５】
［パーツテーブル画像の構造例］
ここで、図３を参照して、記憶部１０６に記憶されるパーツ画像テーブル６００の構造例について説明する。
図３に示すパーツ画像テーブル６００は、パーツ画像ごとにパーツＩＤとパーツ種別ＩＤを対応付けて形成される。
パーツ画像は、アバターを形成するための目、鼻、口、眉毛などにそれぞれ対応するパーツの画像である。なお、このパーツ画像として格納されるデータは、例えば画像データのファイル名など、その画像データの実体を参照する情報である。
パーツＩＤは、対応のパーツ画像を一意に識別するための識別子である。
パーツ種別ＩＤは、対応のパーツ画像が属するパーツ種別を一意に識別するための識別子である。パーツ種別とは、例えば目、鼻、口、眉毛などのパーツの各部位に対応する。
なお、図３において具体的に示されているパーツ画像のパーツ種別は目で共通である。
これに応じて、これらのパーツ画像に対応付けられているパーツ種別ＩＤは、いずれも目であることを示す「０」である。
【００４６】
また、図３においては、図示を簡略にすることの便宜上、目のみに対応する内容例が示されているが、パーツ画像テーブル６００は、例えば鼻、口、眉毛などの他のパーツ種別に対応するパーツ画像のレコードも含む。つまり、パーツ画像テーブル６００は、複数のパーツ種別のそれぞれに対応するパーツ画像を格納する。
なお、特徴点データベース７００の構造例については後述する。
【００４７】
［特徴点データベース生成例］
次に、上記構成の特徴点データベース生成装置１００が実行する特徴点データベース生成のための処理の具体例について説明する。
【００４８】
まず、特徴点データ取得部１０２は、サンプル顔画像データ入力部１０１が入力した顔画像データから、オブジェクト（顔の部位）ごとについての特徴点データを以下のように求める。
特徴点データ取得部１０２は、例えば入力したサンプル顔画像データに対してｘ方向とｙ方向の二次元による絶対座標系を対応させる。そして、特徴点データ取得部１０２は、サンプル顔画像データから求めたオブジェクトの特徴点ごとに、その絶対座標系における座標（絶対座標（ｘ、ｙ））を求める。
【００４９】
図４は、目としてのオブジェクトＯＢＪの場合の特徴点データの取得例を模式的に示している。
このようにオブジェクトＯＢＪが目である場合、特徴点データ取得部１０２は、例えば図示するように、顔画像データから認識した目の画像部分から、６つの特徴点ＥＲ１〜ＥＲ６のそれぞれの絶対座標系における絶対座標を求めることで、オブジェクトＯＢＪの特徴点データを取得する。
【００５０】
次に、特徴点データベース生成部１０５におけるオブジェクト定義テーブル生成部１０５Ａは、以下のようにオブジェクト定義テーブル７１０を生成する。
まず、オブジェクト定義テーブル生成部１０５Ａは、特徴点データ取得部１０２により取得された複数の特徴点の絶対座標のうちから部位ごとに予め設定されている２つの代表点の絶対座標を示す座標情報を生成する。
【００５１】
図４に示したオブジェクトＯＢＪは目である。目の部位に対応して予め設定されている代表点は、例えば目尻と目頭である。図４に示す特徴点ＥＲ１〜ＥＲ６のうちで、目尻と目頭に対応するものは特徴点ＥＲ１とＥＲ４である。したがって、図４における代表点は、特徴点ＥＲ１とＥＲ４である。以降の説明において、特徴点ＥＲ１とＥＲ４については、代表点ＥＲ１とＥＲ４ともいう場合がある。
【００５２】
そして、オブジェクト定義テーブル生成部１０５Ａは、代表点ＥＲ１〜ＥＲ６のうちから代表点ＥＲ１とＥＲ４の絶対座標（ｘ、ｙ）を代表点座標情報として取得する。
図５は、図４の代表点ＥＲ１とＥＲ４の各絶対座標を示す代表点座標情報８１０を示している。この図に示す代表点座標情報８１０は、代表点ＥＲ１の絶対座標が（３５６，４２１）で、代表点ＥＲ２の絶対座標が（５３，３８３）であることを示している。
【００５３】
また、これと並行して、作業者は、表示部１０９に表示される顔画像における図４の目に最も類似すると目視により判断したパーツ画像を指定する操作を行っている。これに応じて、パーツＩＤ取得部１０４は、図４の目としてのオブジェクトに対応付けられたパーツＩＤを取得している。
そこで、オブジェクト定義テーブル生成部１０５Ａは、代表点座標情報８１０とパーツＩＤ取得部１０４が取得したパーツＩＤとを利用して、図４の目としてのオブジェクトＯＢＪに対応するオブジェクト定義テーブル７１０のレコードを生成する。
【００５４】
図６は、図４のオブジェクトＯＢＪに対応するオブジェクト定義テーブル７１０のレコード７１１の内容例を示している。
この図に示すように、オブジェクト定義テーブル７１０のレコード７１１は、パーツ種別ＩＤとオブジェクトＩＤとパーツＩＤと代表点座標とを含む。
【００５５】
パーツ種別ＩＤは、対応のオブジェクトに対応するパーツ画像の種別を示す。
図４のオブジェクトは目であるので、このオブジェクトに対応するパーツ画像の種別も目である。したがって、図６におけるパーツ種別ＩＤには、パーツ画像の種別が目であることを示す値（例えば「０」）を格納する。このことからすれば、レコード７１１におけるパーツ種別ＩＤは、オブジェクトが対応する顔の部位についての目、鼻、口、眉毛などの種別を示しているといえる。
【００５６】
オブジェクトＩＤは、対応のオブジェクトを一意に識別する識別子である。このオブジェクトＩＤは、レコード７１１を生成する際に、オブジェクト定義テーブル生成部１０５Ａが生成したうえで付加する。
【００５７】
パーツＩＤは、オブジェクトに対応付けられたパーツ画像を示すパーツＩＤである。このパーツＩＤが、パーツＩＤ取得部１０４により取得されたものである。
代表点座標は、２つの代表点の座標を示すもので、この図の場合には、図５の代表点座標情報８１０の内容が反映されている。この場合、代表点座標（Ｘ０，Ｙ０）が代表点ＥＲ１の絶対座標（３５６，４２１）を示し、代表点座標（Ｘ１，Ｙ１）が代表点ＥＲ４の絶対座標（５３，３８３）を示している。
【００５８】
また、上記のオブジェクト定義テーブル生成部１０５Ａの処理と並行して、特徴点ハッシュテーブル生成部１０５Ｂは、特徴点データベース７００における特徴点ハッシュテーブル７２０を以下のように生成する。なお、以降の説明は、図４のオブジェクトＯＢＪに対応する特徴点ハッシュテーブル７２０のレコード７２１を生成する処理となる。
【００５９】
このために、まず、特徴点ハッシュテーブル生成部１０５Ｂは、特徴点データ取得部１０２が取得した特徴点ＥＲ１〜ＥＲ６の各絶対座標を正規化座標系における正規化座標（Ｘnz，Ｙnz）に変換する。
【００６０】
この正規化座標への変換にあたり、特徴点ハッシュテーブル生成部１０５Ｂは正規化座標系を用いる。
図７（ａ）は、特徴点ハッシュテーブル生成部１０５Ｂが用いる正規化座標系の例を示している。この正規化座標系は、Ｘ座標とＹ座標の二次元座標である。ここでは、正規化座標系のＸ座標をＸnzにより表し、Ｙ座標をＹnzにより表している。
そして、この正規化座標においては、代表点ＥＲ１とＥＲ４について予め正規化した基準座標ＲＥＦ１とＲＥＦ２が設定されている。図７（ａ）の例では、代表点ＥＲ１に対応する基準座標ＲＥＦ１が（８，５）で、代表点ＥＲ４に対応する基準座標ＲＥＦ２が（１，５）として設定されている。
【００６１】
そして、特徴点ハッシュテーブル生成部１０５Ｂは、例えば図７（ｂ）に示すように、特徴点ＥＲ１〜ＥＲ６の各絶対座標を、代表点ＥＲ４を基準座標ＲＥＦ２に一致させたうえで特徴点ＥＲ１〜ＥＲ６の各絶対座標を正規化座標系上に配置する。
【００６２】
次に、特徴点ハッシュテーブル生成部１０５Ｂは、図７（ｃ）において矢印Ａ、Ｂにより示すように、もう１つの代表点ＥＲ１を、代表点ＥＲ４が配置済みの基準座標ＲＥＦ２を基準として、拡大率の変更と回転を行うことにより基準座標ＲＥＦ１に移動させる。
そして、上記のように代表点ＥＲ１を基準座標ＲＥＦ１に移動させた際の拡大率と回転角度を、代表点ＥＲ１、ＥＲ４以外の残る特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６にも適用して移動させる。
【００６３】
この結果、図８（ａ）に示すように、特徴点ＥＲ１〜ＥＲ６の各絶対座標は、正規化座標に変換される。
ただし、図８（ａ）の段階では、代表点ＥＲ１、ＥＲ４以外の残る特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６の正規化座標系における各座標値は、小数点以下の値を含む。これは、整数値をとるべき正規化座標に対して誤差を有していることを意味する。
そこで、特徴点ハッシュテーブル生成部１０５Ｂは、図８（ｂ）に示すように、各特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６について、正規化座標系において近似する整数値の座標に移動させる。これにより、特徴点ＥＲ１〜ＥＲ６の各絶対座標が正規化座標に変換される。
【００６４】
次に、特徴点ハッシュテーブル生成部１０５Ｂは、図８（ｂ）に示すように求めた正規化座標のうち、代表点ＥＲ１、ＥＲ４以外の特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６の正規化座標をハッシュ値（以下、座標ハッシュともいう）に変換する。
このために、特徴点ハッシュテーブル生成部１０５Ｂは、例えば、図９に示すように、特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６の正規化座標を示す正規化座標情報８２０を生成する。
この図９の正規化座標情報８２０は、図８（ｂ）に示した正規化の結果により得られた特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６を示している。つまり、特徴点ＥＲ２の正規化座標は（７，６）を示し、特徴点ＥＲ３の正規化座標は（３，６）を示し、特徴点ＥＲ５の正規化座標は（３，４）を示し、特徴点ＥＲ６の正規化座標は（７，４）を示す。
【００６５】
そして、特徴点ハッシュテーブル生成部１０５Ｂは、図９に示される正規化座標情報８２０の特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６の正規化座標の各々について、図１０のシフト演算座標８２０Ａとして示すようにシフト演算を行う。この図１０の場合には、正規化座標における座標値Ｘnz、Ｙnzをそれぞれ１６ビットとしてシフト演算を行った場合を示している。
特徴点ハッシュテーブル生成部１０５Ｂは、図１０に示したシフト演算の結果から、例えば、図１１に示すように、例えば特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６ごとの座標ハッシュを配列した座標ハッシュ情報８３０を生成する。
この図１１に示す座標ハッシュ情報８３０は、左から右にかけて、順次、特徴点ＥＲ２、ＥＲ３、ＥＲ５、ＥＲ６の座標ハッシュが配列されている。
【００６６】
次に、特徴点ハッシュテーブル生成部１０５Ｂは、図４のオブジェクトＯＢＪを一意に識別するためのオブジェクトＩＤを生成する。
そのうえで、特徴点ハッシュテーブル生成部１０５Ｂは、図４のオブジェクトＯＢＪの種別に対応するパーツ種別ＩＤと、上記のように生成したオブジェクトＩＤと、図１１の座標ハッシュ情報８３０の内容とにより、図１２に示すレコード７２１を生成する。
この図１２に示すレコード７２１は、特徴点ハッシュテーブル７２０に含まれるべきものであり、図４に示したオブジェクトＯＢＪに対応する特徴点ＥＲ２、３、５、６の正規化座標のハッシュ値を示す。
【００６７】
図１３は、記憶部１０６に記憶される特徴点データベース７００の構造例を示している。この図に示すように、特徴点データベース７００は、オブジェクト定義テーブル７１０と特徴点ハッシュテーブル７２０を含む。
オブジェクト定義テーブル７１０は、例えばパーツ種別ＩＤが示すパーツ（オブジェクト）の種別ごとのテーブルから成る。そのうえで、パーツ種別ＩＤに対応するテーブルは、オブジェクトごとのオブジェクトＩＤとパーツＩＤと代表点座標とを対応付けた複数のレコードにより形成される。
また、特徴点ハッシュテーブル７２０も、パーツ種別ＩＤが示すパーツの種別（オブジェクトの種別）ごとのテーブルから成る。そのうえで、パーツ種別ＩＤに対応するテーブルは、オブジェクトごとにオブジェクトＩＤと座標ハッシュとを対応付けた複数のレコードにより形成される。
【００６８】
そして、オブジェクト定義テーブル生成部１０５Ａは、図１３のオブジェクト定義テーブル７１０において波線で示すように、パーツ種別ＩＤ＝０に対応するテーブルに対して自己が生成した図６のレコード７１１を新規レコードとして登録する。
【００６９】
また、特徴点ハッシュテーブル生成部１０５Ｂは、同じ図１３の特徴点ハッシュテーブル７２０において波線で示すように、同じパーツ種別ＩＤ＝０に対応するテーブルに対して自己が生成した図１２のレコード７２１を新規レコードとして登録する。
これにより、特徴点データベース７００において１つのオブジェクトＯＢＪに対応するレコードが新規登録される。
【００７０】
特徴点データベース生成装置１００は、オブジェクトＯＢＪに対応するレコードの特徴点データベース７００に対する新規登録を、１つのサンプル顔画像データから抽出された異なるパーツ種別ごとに対応するオブジェクトごとに実行する。また、このようなサンプル顔画像データにおける複数のパーツ種別に応じたレコードの新規登録を、サンプル顔画像データが取得されるごとに行う。
これにより、特徴点データベース７００は、入力されたサンプル顔画像データの総数ｓとパーツ種別数ｐに応じた数（ｓ×ｐ）のレコードを含んで形成される。
【００７１】
［特徴点データベース生成のための処理手順例］
次に、図１４のフローチャートを参照して、特徴点データベース生成装置１００が実行する処理手順例について説明する。
【００７２】
特徴点データベース生成装置１００において、サンプル顔画像データ入力部１０１は、１つのサンプル顔画像データを入力する（ステップＳ１０１）。
【００７３】
次に、特徴点データ取得部１０２は、先に図４にて説明したように、入力したサンプル顔画像データについて顔認識を行い、サンプル顔画像データから抽出したオブジェクトごとの特徴点データを取得する（ステップＳ１０２）。
【００７４】
また、表示制御部１０３は、入力されたサンプル顔画像データと、記憶部１０６に記憶されるパーツ画像テーブル６００が格納するパーツ画像とを所定の態様により表示部１０９に表示させる（ステップＳ１０３）。
【００７５】
作業者は、ステップＳ１０３により表示部１０９に表示された画像を見ることにより、サンプル顔画像データにおけるオブジェクトに対応する部位ごとに、最も類似しているパーツ画像を判断する。そして、このパーツ画像をオブジェクトに最も類似するものとして選択する操作を行う。
この操作に応じて、パーツＩＤ取得部１０４は、選択されたパーツ画像に対応付けられているパーツＩＤをパーツ画像テーブル６００から取得する（ステップＳ１０４）。
【００７６】
また、ステップＳ１０４によるパーツＩＤ取得の処理と並行するように、オブジェクト定義テーブル生成部１０５Ａは、代表点ＥＲ１とＥＲ４の絶対座標（ｘ、ｙ）を示す代表点座標情報８１０をオブジェクトごとに生成する（ステップＳ１０５）。
【００７７】
そして、オブジェクト定義テーブル生成部１０５Ａは、オブジェクトごとにオブジェクト定義テーブル７１０のレコード７１１を生成する（ステップＳ１０６）。
このために、オブジェクト定義テーブル生成部１０５Ａは、オブジェクトごとのオブジェクトＩＤを新規生成する。そして、オブジェクト定義テーブル生成部１０５Ａは、新規生成したオブジェクトＩＤと、ステップＳ１０４により取得したパーツＩＤと、ステップＳ１０５により生成した代表点座標情報８１０を利用してオブジェクトごとのレコード７１１を生成する。
【００７８】
次に、特徴点ハッシュテーブル生成部１０５Ｂは、図９〜図１２により説明したように、代表点以外の特徴点データを利用して特徴点ハッシュテーブル７２０のレコード７２１を生成する（ステップＳ１０７）。
【００７９】
そして、オブジェクト定義テーブル生成部１０５Ａと特徴点ハッシュテーブル生成部１０５Ｂは、それぞれ、図１３にて説明したように、ステップＳ１０６とＳ１０７により生成した各レコードを特徴点データベース７００に対して新規に登録する（ステップＳ１０８）。
つまり、オブジェクト定義テーブル生成部１０５Ａは、ステップＳ１０６により生成したオブジェクトごとのレコード７１１を、特徴点データベース７００におけるオブジェクト定義テーブル７１０に新規登録する。また、特徴点ハッシュテーブル生成部１０５Ｂは、ステップＳ１０７により生成したレコード７２１を、特徴点データベース７００における特徴点ハッシュテーブル７２０に新規登録する。
【００８０】
次に、特徴点データベース生成部１０５（オブジェクト定義テーブル生成部１０５Ａまたは特徴点ハッシュテーブル生成部１０５Ｂ）は、用意されたすべてのサンプル顔画像データに対応して特徴点データベース７００に新規登録する処理が終了したか否かについて判定する（ステップＳ１０９）。
【００８１】
ここで、未だすべてのサンプル顔画像データについての処理が終了していない場合（ステップＳ１０９−ＮＯ）、サンプル顔画像データ入力部１０１は、ステップＳ１０１に戻ることで、次のサンプル顔画像データを入力する。これにより、次のサンプル顔画像データに対応して特徴点データベース７００を生成する処理が開始される。
【００８２】
これに対して、すべてのサンプル顔画像データについての処理を終了した場合には（ステップＳ１０９−ＹＥＳ）、すべてのサンプル顔画像データごとのオブジェクトについてのレコードを含む特徴点データベース７００が形成されている。そこで、特徴点データベース送信部１０７は、記憶部１０６から特徴点データベース７００を読み出し、アバター作成アプリケーションサーバ２００に対して送信する（ステップＳ１１０）。
【００８３】
［アバター作成アプリケーションサーバの構成例］
次に、図１５を参照して、アバター作成アプリケーションサーバ２００の構成例について説明する。
この図に示すアバター作成アプリケーションサーバ２００は、顔画像データ入力部２０１、特徴点データ取得部２０２、記憶部２０３、パーツ画像選択部２０４、特徴点データベース更新部２０５および通信部２０６を備える。
【００８４】
顔画像データ入力部２０１（画像入力部）は、アバター作成元としての顔画像データ（画像データ）を入力する。このアバター作成元としての顔画像データは、アバター作成アプリケーションサーバ２００と接続してアバター作成アプリケーションが動作しているユーザ端末装置３００から送信され、通信部２０６にて受信される。顔画像データ入力部２０１は、このように通信部２０６により受信された顔画像データを入力する。
【００８５】
特徴点データ取得部２０２（解析データ取得部）は、入力された顔画像データを解析することにより、その解析結果を示す解析データを取得する。
つまり、特徴点データ取得部２０２は、入力した顔画像データを解析することにより、顔画像データから抽出したオブジェクトごとに特徴点データ（解析データ）を取得する。
なお、この特徴点データ取得部２０２は、例えば、図２の特徴点データ取得部１０２と同様の構成でよい。
【００８６】
そのうえで、本実施形態の特徴点データ取得部２０２は、特徴点データの抽出結果として、オブジェクトごとに、例えば図１６に示す構造の座標ハッシュ情報９１０を生成する。
座標ハッシュ情報９１０は、図１６に示すように、パーツ種別ＩＤごとに座標ハッシュ情報を対応付けた構造である。
図１６の座標ハッシュ情報９１０におけるパーツ種別ＩＤは、オブジェクトが対応する顔の部位（すなわち、パーツ画像の種別）を示している。
座標ハッシュは、対応のオブジェクトについて求められた代表点以外の特徴点ごとの座標のハッシュ値を示す。なお、これらの特徴点ごとの座標ハッシュの算出手法については、図９から図１１による説明と同様でよい。
【００８７】
記憶部（比較データ記憶部、要素画像記憶部）２０３は、アバター作成アプリケーションサーバ２００がその機能を実現するのに必要な各種の情報を記憶する。図においては、このような情報として、パーツ画像テーブル６００Ａと、特徴点データベース７００Ａが示される。
【００８８】
パーツ画像テーブル６００Ａは、アバター作成に使用するものとして予め用意されたアバターの目、鼻、口、眉毛などの所定の部位にそれぞれ対応する複数種類のパーツの画像（パーツ画像）をパーツＩＤに対応付けて格納したテーブルである。このパーツ画像テーブル６００Ａの内容は、例えば特徴点データベース生成装置１００が記憶するパーツ画像テーブル６００（図３）と同じ内容である。つまり、記憶部２０３は、複数のパーツ種別のそれぞれに対応するパーツ画像をパーツ画像テーブル６００Ａとして記憶する。
【００８９】
特徴点データベース７００Ａは、特徴点データベース生成装置１００から受信した特徴点データベース７００を記憶部２０３に記憶させたものである。
【００９０】
ここで、記憶部２０３は、特徴点データベース生成装置１００から受信した特徴点データベース７００を初期の特徴点データベース７００Ａとして、例えばアバター作成アプリケーションを提供する前の段階において予め記憶しておいてもよい。
この場合、初期段階の特徴点データベース７００Ａは、特徴点データベース７００と同じ内容である。これに応じて、初期段階における特徴点データベース７００Ａのオブジェクト定義テーブル７１０Ａおよび特徴点ハッシュテーブル７２０Ａは、オブジェクト定義テーブル７１０および特徴点ハッシュテーブル７２０とそれぞれ同じ内容を有する。
そして、特徴点データベース更新部２０５は、初期の特徴点データベース７００Ａに対して新たにレコード（比較データ）を追加するように更新する。
【００９１】
パーツ画像選択部（要素画像選択部）２０４は、特徴点データと特徴点データベース７００Ａ（比較データ）とを比較した結果に基づいて、パーツ画像テーブル６００Ａ（複数のパーツ画像）のうちからパーツ画像（要素画像）を選択する。
この際、パーツ画像選択部２０４は、複数のパーツ種別ごとにパーツ画像を選択する。これにより、パーツ画像選択部２０４は、例えば目、口、鼻などの部位ごとのパーツ画像を選択することができる。
【００９２】
具体的に、パーツ画像選択部２０４は、特徴点データとして、特徴点データ取得部２０２が生成した座標ハッシュ情報９１０（図１６）を入力する。そして、パーツ画像選択部２０４は、座標ハッシュ情報９１０における座標ハッシュと、特徴点データベース７００Ａの特徴点ハッシュテーブル７２０Ａにおける座標ハッシュとを特徴点ごとに比較する。
【００９３】
具体例として、図１６の座標ハッシュ情報９１０の座標ハッシュと、図１７に示す特徴点データベース７００Ａの特徴点ハッシュテーブル７２０Ａの座標ハッシュとを比較した場合について説明する。なお、図１７の特徴点データベース７００Ａにおいては、図示を簡単で分かりやすくすることの便宜上、オブジェクト定義テーブル７１０Ａと特徴点ハッシュテーブル７２０Ａのいずれについても、目のパーツ種別に対応するパーツ種別ＩＤ＝０に対応したテーブルのみを示している。
【００９４】
図１７の特徴点ハッシュテーブル７２０Ａにおいては、図１６の座標ハッシュ情報９１０と座標ハッシュが一致する特徴点に対応するセルを太枠により示している。パーツ画像選択部２０４は、比較結果として、図１７に示す太枠のセルに対応する特徴点の座標ハッシュが一致していることを認識する。
図１８は、上記の認識結果を模式的に示したものである。この図においては、オブジェクトＩＤ＝０〜２９までのオブジェクトごとに、比較結果により座標ハッシュが一致した特徴点の数（座標ハッシュ一致数）が示される。
【００９５】
この場合において、図１７の特徴点ハッシュテーブル７２０におけるオブジェクトは、図１６の座標ハッシュ情報９１０の座標ハッシュと一致する特徴点の数が多いものほど、図１６の座標ハッシュ情報９１０が対応するオブジェクトとの類似度が高い。
【００９６】
そこで、パーツ画像選択部２０４は、図１８の比較結果に基づいて、まず、今回の座標ハッシュ一致数の最大値ｍａｘを認識する。この場合、図１８を参照して分かるように、座標ハッシュ一致数の最大値ｍａｘ＝４である。これは、図１６の座標ハッシュ情報９１０の座標ハッシュとすべての特徴点の座標ハッシュが一致するオブジェクトが認識されたことを意味している。
【００９７】
次に、パーツ画像選択部２０４は、座標ハッシュ一致数が最大値ｍａｘ＝４のパーツＩＤを集計する集計処理を実行する。
このために、パーツ画像選択部２０４は、特徴点ハッシュテーブル７２０Ａにおいて座標ハッシュ一致数が最大値ｍａｘ＝４のオブジェクトＩＤを検索する。次に、パーツ画像選択部２０４は、検索したオブジェクトＩＤに対応付けられているパーツＩＤをオブジェクト定義テーブル７１０Ａから検索する。そして、パーツ画像選択部２０４は、パーツＩＤごとの検索数を集計する。
【００９８】
図１９は、図１８に示す比較結果と、図１７に示すオブジェクト定義テーブル７１０Ａの内容に応じた集計結果を示している。この図に示すように、パーツＩＤ＝０についての検索数は「１」であり、パーツＩＤ＝１についての検索数は「０」であり、パーツＩＤ＝２についての検索数は「２」であり、パーツＩＤ＝３についての検索数は「０」であり、パーツＩＤ＝４について検索数は「１」である。
【００９９】
これらのうちで、検索数が最多であるものはパーツＩＤ＝２である。これは、パーツ画像テーブル６００Ａに格納されるパーツ画像のうち、パーツＩＤ＝２のパーツ画像が、顔画像データから抽出したパーツ種別ＩＤ＝０に対応する部位のオブジェクトに最も類似していることを意味する。
そこで、パーツ画像選択部２０４は、パーツ種別ＩＤ＝０に対応するパーツ画像として、パーツＩＤ＝２のパーツ画像を選択する。
【０１００】
図示による説明は省略するが、パーツ画像選択部２０４は、上記と同様に比較を行った結果に基づいて、他のパーツ種別ＩＤに対応するオブジェクトごとにパーツ画像を選択する。
そして、パーツ画像選択部２０４は、すべてのパーツ種別ＩＤに対応するオブジェクトごとのパーツ画像の選択を終了すると、これまでのパーツ画像の選択結果を反映したアバター情報を生成する。アバター情報は、ユーザ端末装置３００においてアバターの画像を作成するのに利用する情報である。
【０１０１】
図２０は、パーツ画像選択部２０４が生成するアバター情報９２０の構造例を示している。この図に示すように、アバター情報９２０は、アバターを作成するのに必要とされるすべてのパーツ種別ごとのパーツ種別ＩＤごとに、パーツＩＤとパーツ画像データを対応付けた構造である。
このアバター情報９２０が格納するパーツ画像により作成されるアバターの画像の顔は、アバター作成元の顔画像データの顔に似たものとなる。
そして、パーツ画像選択部２０４は、上記のように生成したアバター情報９２０を、通信部２０６からユーザ端末装置３００に対して送信する。
【０１０２】
ユーザ端末装置３００上のアバター作成アプリケーションは、上記のようにアバター作成アプリケーションサーバ２００から受信したアバター情報９２０を利用してアバター画像を作成し、このアバター画像を表示する。
【０１０３】
このように表示されたアバター画像の顔は、例えば先に送信した顔画像データの顔と似ているものであるが、ユーザは、例えばアバター画像の顔をさらに顔画像データの顔に似せるためにアバターを編集するための操作を行うことができる。ここでのアバターを編集するための操作は、アバターの作成に用いるパーツ画像をパーツ画像リストの中から選択して変更するというものである。もちろん、ユーザは、受信されたアバター情報９２０により作成されたアバターの画像が気に入れば、特に、編集を行う必要はない。
【０１０４】
そして、ユーザ端末装置３００のユーザは、編集を行って納得のいくアバターの顔が得られたのであれば、アバター確定のための操作をアバター作成アプリケーション上で行う。なお、ユーザが受信されたアバター情報９２０により作成されたアバターの画像のままで気に入っていれば、ユーザは編集を行うことなく確定操作を行えばよい。
【０１０５】
上記の確定操作に応じて、ユーザ端末装置３００上のアバター作成アプリケーションは、アバター作成アプリケーションサーバ２００に対して、確定通知を送信する。ユーザ端末装置３００は、この確定通知に対して、確定操作が行われたときのアバターの内容を示す確定アバター情報を含めて送信する。
この確定通知に含められる確定アバター情報は、例えば図２０のアバター情報９２０からアバター画像を省略してパーツ種別ＩＤごとにパーツＩＤを対応付けた構造である。ただし、その内容については、編集による変更があった場合には、その変更された内容が反映される。
【０１０６】
アバター作成アプリケーションサーバ２００において、特徴点データベース更新部（更新部）２０５は、アバター画像（全体画像）の内容が確定されるのに応じて、確定されたときのアバター画像の内容に基づいて、記憶部２０３に記憶される特徴点データベース７００Ａを更新する。
【０１０７】
具体的に、特徴点データベース更新部（更新部）２０５は、特徴点データベース７００Ａの更新として、まず、以下のようにオブジェクト定義テーブル７１０Ａを更新する。
つまり、特徴点データベース更新部２０５は、アバター作成元の顔画像データから抽出したオブジェクトごとに、新規のオブジェクトＩＤを生成する。
次に、特徴点データベース更新部２０５は、新規に生成したオブジェクトＩＤに対応付けられたオブジェクト定義テーブル７１０Ａのレコード７１１を新規に生成する。
このために、特徴点データベース更新部２０５は、新規に生成したオブジェクトＩＤに受信した確定通知に含まれる確定アバター情報が示すパーツＩＤを対応付ける。さらに、特徴点データベース更新部２０５は、新規に生成したオブジェクトＩＤに対して、特徴点データ取得部１０２がアバター作成元の顔画像データから取得した代表点座標を対応付ける。特徴点データベース更新部２０５は、このように、新規に生成したオブジェクトＩＤに対応するレコード７１１を、パーツ種別ごとに生成する。
そして、特徴点データベース更新部２０５は、このように新規に生成したレコード７１１を、オブジェクト定義テーブル７１０Ａにおける対応のパーツ種別ＩＤごとのテーブルに対して新規に登録する。
【０１０８】
また、特徴点データベース更新部２０５は、特徴点ハッシュテーブル７２０Ａについても以下のように更新する
ここで、特徴点データ取得部２０２は、図１６に示す構造の座標ハッシュ情報９１０を、アバター作成に利用するすべてのパーツ種別ごとに生成している。このように生成した座標ハッシュ情報９１０は、特徴点データ取得部２０２が保持している。
そこで、特徴点データベース更新部２０５は、新規に生成したオブジェクトＩＤに対して、このオブジェクトＩＤが示すオブジェクトについて生成された座標ハッシュ情報９１０の座標ハッシュを対応付けることにより、特徴点ハッシュテーブル７２０Ａのレコード７２１を生成する。このレコード７２１についても、特徴点データ取得部２０２は、パーツ種別ごとに生成する。
そして、特徴点データベース更新部２０５は、このように新規に生成したレコード７２１を、特徴点ハッシュテーブル７２０Ａにおいて対応のパーツ種別ＩＤごとのテーブルに対して新規に登録する。
このようにして、特徴点データベース更新部２０５は、オブジェクト定義テーブル７１０と特徴点ハッシュテーブル７２０とを更新することにより特徴点データベース７００Ａを更新する。
【０１０９】
また、アバター作成アプリケーションサーバ２００において、通信部２０６は、ネットワーク５００経由で、ユーザ端末装置３００やアバター利用アプリケーションサーバ４００などと通信を実行する。
【０１１０】
［ユーザ端末装置の構成例］
次に、ユーザ端末装置３００の構成例について、再度、図１５を参照して説明する。
ユーザ端末装置３００は、制御部３０１、操作部３０２、表示部３０３および通信部３０４を備える。
【０１１１】
制御部３０１は、ユーザ端末装置３００上で動作するアバター作成アプリケーションに対応する処理を実行する。本実施形態において、アバター作成アプリケーションは、例えばネイティブ型のアプリケーションプログラムとして、ユーザ端末装置３００にインストールされている。
【０１１２】
制御部３０１は、顔画像データ送信部３１１、アバター画像作成部３１２、表示制御部３１３およびアバター編集部３１４を備える。これらの機能部は、例えば制御部３０１を構成するＣＰＵがアバター作成アプリケーションを実行することにより実現されるものである。
【０１１３】
顔画像データ送信部３１１は、アバター作成アプリケーションに対してアバター作成元の顔を含む顔画像データの送信を指示する操作が行われるのに応じて、顔画像データをアバター作成アプリケーションサーバ２００に送信する。
【０１１４】
なお、前述のように、顔画像データは、例えばユーザ端末装置３００が備える撮像部（ここでは図示せず）によりユーザ自身（または他者）の顔を撮像して得られた画像データなどとして取得することができる。また、ネットワークやデータインターフェースなどを経由して、または、ユーザ端末装置３００に装填されたリムーバブルメディアからの読み出しなどにより顔画像データを取得してもよい。また、このように取得した画像データについての顔画像データとしての指定も、ユーザ端末装置３００上のアバター作成アプリケーションに対する操作によって行うことができる。
【０１１５】
前述のように、ユーザは、ユーザ端末装置３００上で動作するアバター作成アプリケーションに対する操作に応じて、アバター作成アプリケーションサーバ２００により作成されたアバターを編集することができる。
【０１１６】
アバター画像作成部（全体画像作成部）３１２は、パーツ画像選択部２０４により選択されたパーツ画像に基づいてアバター画像を作成する。
つまり、アバター画像作成部３１２は、アバター作成アプリケーションサーバ２００のパーツ画像選択部２０４により生成されたアバター情報９２０に基づいてアバターの画像を生成する。アバター情報９２０には、パーツ画像選択部２０４が選択したパーツ画像が格納されている。アバター画像作成部３１２は、このアバター情報９２０に格納されているパーツ画像を利用してアバター画像を作成するものである。
【０１１７】
表示制御部（全体画像提供部）３１３は、アバター画像作成部３１２により作成されたアバター画像をユーザに提供する。具体的に、表示制御部３１３は、アバター画像を表示部３０３に表示させることによりアバター画像をユーザに提供する。
【０１１８】
表示部３０３に表示されるアバター画像を見て、例えばユーザがさらにアバターを作成元の顔画像データの顔に似せたいなどと思った場合には、アバターを変更するための編集操作をアバター作成アプリケーションに対して行うことができる。
この編集操作は、例えば前述のように、アバター作成アプリケーションの画面において表示されるパーツ画像のリストのうちから所望のパーツ画像を選択して、これまでにアバターに使用していたパーツ画像から変更するというものになる。
【０１１９】
アバター編集部（全体画像編集部）３１４は、上記のように行われるアバター編集操作に応じてアバターを編集する。つまり、アバター編集部３１４は、ユーザに提供されたアバター画像の内容をユーザの指示に応じて編集する。
具体的に、アバター編集部３１４は、アバター作成アプリケーションサーバ２００に対して、操作により選択されたパーツ画像のパーツＩＤを指定してパーツ画像を要求する。
この要求に応答してアバター作成アプリケーションサーバ２００は、指定されたパーツ画像をパーツ画像テーブル６００Ａから読み出してユーザ端末装置３００に送信する。アバター編集部３１４は、これまでに使用していたパーツ画像を受信したパーツ画像に変更する。アバター画像作成部３１２は、パーツ画像の変更が反映されたアバター画像を作成し、表示制御部３１３により、このアバター画像が表示される。このように、ユーザが行うアバター編集操作に応じてアバター画像の編集が行われる。
【０１２０】
また、ユーザは、前述のように、編集したアバター画像に納得した場合、あるいは、編集をしなくともアバター作成アプリケーションが自動作成したままのアバター画像に納得している場合には、そのアバターの内容を確定させるための確定操作を行う。
【０１２１】
この確定操作が行われるのに応じて、アバター編集部３１４は、例えば、確定操作が行われたときのアバターの内容を示す確定アバター情報を、編集内容が反映されたアバター情報を利用して生成する。そして、この確定アバター情報を含む確定通知をアバター作成アプリケーションサーバ２００に対して送信する。
アバター作成アプリケーションサーバ２００における特徴点データベース更新部２０５は、前述のように、確定通知の受信に応答して、確定アバター情報を利用して特徴点データベース７００Ａを更新する。
【０１２２】
このように、本実施形態のアバター作成システムでは、アバター作成アプリケーションサーバ２００が顔画像データと特徴点データベース７００Ａを利用してアバターを自動作成する。
そのうえで、自動作成されたアバターは、ユーザ端末装置３００上で編集することができる。ユーザ端末装置３００は、ユーザの確定操作に応じて、この編集結果（編集を行わない場合も含む）を確定通知としてアバター作成アプリケーションサーバ２００に送信する。
そして、アバター作成アプリケーションサーバ２００は、受信した編集結果に応じて、今回のアバターの作成元である顔画像データから抽出したオブジェクトについてのレコードを追加するように特徴点データベース７００Ａを更新する。
【０１２３】
また、ユーザ端末装置３００において、操作部３０２は、ユーザ端末装置３００上で動作するアバター作成アプリケーションを操作するのに必要な操作デバイスを一括して示している。例えばユーザ端末装置３００が携帯電話またはスマートフォンなどである場合、操作部３０２は、携帯電話やスマートフォンに備えられる各種のキーやタッチパネルなどとなる。
表示部３０３は、ユーザ端末装置３００において表示制御部３１３の制御に応じて画像を表示する。
【０１２４】
通信部３０４は，ネットワーク５００経由でアバター作成アプリケーションサーバ２００やアバター利用アプリケーションサーバ４００などと通信を実行する。
【０１２５】
このように、本実施形態においては、アバターを自動作成するごとに特徴点データベース７００Ａが更新される。このことは、アバターが自動作成されるごとに、特徴点データベース７００Ａにおいて、オブジェクトとこのオブジェクトに類似するパーツ画像との対応を示す情報が増加していくことを意味する。例えば人の顔はそれぞれが異なるものであるから、同じ部位（パーツ種別）であっても、顔画像データごとにおけるオブジェクトの特徴量は多様であるということがいえる。
本実施形態においては、アバターが自動作成される機会ごとに異なる顔画像データの内容に基づいて特徴点データベース７００Ａのレコードが追加されていく。このことは、上記のようなオブジェクトの多様性に対応して、特徴点データベース７００Ａにおけるオブジェクトに対応するパーツ画像の類似性についての精度が向上していくことに相当する。
そして、このように精度が向上していく特徴点データベース７００Ａがアバターの自動作成に利用されることで、作成元の顔画像データの顔に類似したアバターを自動作成する精度も向上していく。
【０１２６】
なお、本実施形態においては、ユーザによって実質的な編集が行われないアバターにも対応して特徴点データベース７００Ａの更新が行われる。
例えば、アバターの自動作成に際して、特徴点のすべてが一致していないオブジェクトに対応するパーツ画像が選択されたような場合であっても、ユーザがよく似ているとの印象を持ったために編集を行うことなく確定操作を行う場合のあることは考えられる。
このような場合、特徴点データベース７００Ａに新規登録されるレコードは、特徴点データベース７００Ａにおいて既に格納されているレコードの内容と重複せずに異なる可能性がある。そして、この際に特徴点データベース７００Ａに新規登録されるレコードは、ユーザの主観により類似していると判断された結果が反映されている。したがって、実質的な編集が行われないアバターにも対応して特徴点データベース７００Ａの更新が行われることも、特徴点データベース７００Ａの精度を向上させることに繋がるものである。
【０１２７】
ここで、特徴点データベース７００Ａの精度を向上させるためには、以下のような他の手法をとることもできる。
つまり、特徴点データベース生成装置１００により特徴点データベース７００を作成するにあたって、膨大な数のサンプル顔画像データを用意する。そして、これらのサンプル顔画像データを処理して特徴点データベース７００を生成するというものである。
しかし、前述のように、特徴点データベース生成装置１００により特徴点データベース７００を作成するにあたっては作業者が目視により類似性を判断する必要がある。このために、サンプル顔画像データの数が増加するほど作業者の負担も増加してしまう。
これに対して、本実施形態の場合には、ユーザがアバターアプリケーションを利用してアバターを作成するごとに特徴点データベース７００Ａの精度が向上されていくものであり、作業者の負担が増加することはない。
【０１２８】
［特徴点データベース更新のための処理手順例］
次に、図２１のフローチャートを参照して、特徴点データベース７００Ａを更新するためにユーザ端末装置３００とアバター作成アプリケーションサーバ２００が実行する処理手順例について説明する。
【０１２９】
ユーザ端末装置３００において、顔画像データ送信部３１１は、顔画像データの送信を指示する操作に応じて、通信部３０４からアバター作成アプリケーションサーバ２００に対して顔画像データを送信させる（ステップＳ２０１）。
【０１３０】
顔画像データの送信に応じて、アバター作成アプリケーションサーバ２００はアバターを自動作成してアバター情報９２０を送信する。このアバター情報が通信部３０４にて受信されるのに応じて、アバター画像作成部３１２は、受信されたアバター情報を利用してアバター画像を作成する（ステップＳ２０２）。
【０１３１】
表示制御部３１３は、ステップＳ２０２により作成されたアバター画像を表示部３０３に表示させる（ステップＳ２０３）。
【０１３２】
また、アバター編集部３１４は、ユーザが行うアバター編集操作に応じてアバター情報を変更するようにアバター編集処理を実行する（ステップＳ２０４）。
【０１３３】
ステップＳ２０４の処理は、例えばアバターの内容を確定させるための確定操作が行われるまで（ステップＳ２０５−ＮＯ）、繰り返し実行することができる。
【０１３４】
そして、確定操作が行われるのに応じて（ステップＳ２０５−ＹＥＳ）、アバター編集部は、確定アバター情報を含めた確定通知をアバター作成アプリケーションサーバ２００に対して送信する（ステップＳ２０６）。
【０１３５】
また、アバター作成アプリケーションサーバ２００においては、ステップＳ２０１によりユーザ端末装置３００から送信された顔画像データが通信部２０６にて受信される。これに応じて、顔画像データ入力部２０１は、受信された顔画像データを入力する（ステップＳ３０１）。
【０１３６】
次に、特徴点データ取得部２０２は、顔画像データに対する解析処理によってオブジェクトを抽出し、これらのオブジェクトごとの特徴点データを取得する（ステップＳ３０２）。そして、特徴点データ取得部２０２は、特徴点データの抽出結果として、図１６にて説明した座標ハッシュ情報９１０をオブジェクトごとに生成し、これらを保持する（ステップＳ３０３）。
【０１３７】
次に、パーツ画像選択部２０４は、特徴点データとしての座標ハッシュ情報９１０が示す座標ハッシュと、特徴点データベース７００Ａの特徴点ハッシュテーブル７２０Ａにおける座標ハッシュとを特徴点ごとに比較する。そして、この比較結果に基づいて、パーツ画像選択部２０４は、オブジェクトごとに類似するパーツ画像をパーツ画像テーブル６００Ａから選択する（ステップＳ３０４）。
【０１３８】
そのうえで、パーツ画像選択部２０４は、ステップＳ３０４によるパーツ画像の選択結果に基づいてアバター情報９２０を生成する（ステップＳ３０５）。このように生成されたアバター情報が、すなわち、自動作成されたアバターの内容を示すものである。
そして、パーツ画像選択部２０４は、ステップＳ３０５により生成したアバター情報を、ユーザ端末装置３００に対して送信する（ステップＳ３０６）。
【０１３９】
ステップＳ３０６によりアバター情報を送信した後、ユーザ端末装置３００からは、ステップＳ２０６により確定通知が送信される。この確定通知が通信部２０６にて受信されるのに応じて、特徴点データベース更新部２０５は、ステップＳ３０２に対応して抽出したオブジェクトごとのオブジェクト定義テーブル７１０Ａのレコード７１１と特徴点ハッシュテーブル７２０Ａのレコード７２１を新規に生成する（ステップＳ３０７）。
そして、特徴点データベース更新部２０５は、特徴点データベース７００Ａを更新する（ステップＳ３０８）。つまり、特徴点データベース更新部２０５は、ステップＳ３０７により生成したレコード７１１と７２１を、それぞれ、特徴点データベース７００Ａにおけるオブジェクト定義テーブル７１０Ａと特徴点ハッシュテーブル７２０Ａに新規登録する。
【０１４０】
＜第２の実施形態＞
［概要］
次に、第２の実施形態について説明する。なお、第２の実施形態における特徴点データベース生成装置１００、アバター作成アプリケーションサーバ２００およびユーザ端末装置３００の構成は、例えば図２と図１５と同様でよい。
【０１４１】
第１の実施形態において、１つの顔画像データを作成元として作成されるアバターは１つであった。これに対して、第２の実施形態は、１つの顔画像データを作成元として複数のアバターを作成してもよい場合に対応するものである。
【０１４２】
第２の実施形態において、パーツ画像選択部２０４は、以下のような場合に複数のアバターに対応する複数のアバター情報を生成する。
つまり、図１９に示したパーツＩＤの集計結果において、最多の検索数のパーツＩＤが複数存在するような場合に、パーツ画像選択部２０４は、これらの複数のパーツＩＤに対応するパーツ画像を選択する。このように、パーツ画像選択部２０４は、同じパーツ種別に対応するパーツ画像のうちから複数のパーツ画像を選択する。
そして、このように複数のパーツ画像を選択した場合、パーツ画像選択部２０４は、これらのパーツ画像のパーツＩＤをそれぞれ反映させた複数のアバター情報を生成する。そして、パーツ画像選択部２０４は、これらの複数のアバター情報をユーザ端末装置に対して送信する。
そして、ユーザ端末装置３００においては、複数のアバター情報が受信されるのに応じて、以下のように、アバター画像の作成と表示を行う。
【０１４３】
［第２の実施形態に対応する処理手順例］
図２２のフローチャートは、図２１のステップＳ２０２によるアバター画像作成のための処理として、上記のように複数のアバター情報が送信されてくる可能性のある第２の実施形態に対応する場合の処理手順例を示している。
【０１４４】
この場合、ユーザ端末装置３００のアバター画像作成部３１２は、受信されたアバター情報が複数であるか否かについて判定する（ステップＳ４０１）。
アバター情報が１つである場合（ステップＳ４０１−ＮＯ）、アバター画像作成部３１２は、この受信された１つのアバター情報に対応する１つのアバター画像を作成する（ステップＳ４０２）。
一方、アバター情報が複数である場合（ステップＳ４０１−ＹＥＳ）、アバター画像作成部３１２は、受信された複数のアバター情報のそれぞれに対応する複数のアバター画像を作成する（ステップＳ４０３）。
【０１４５】
また、図２３のフローチャートは、図２１のステップＳ２０３によるアバター画像表示のための処理として第２の実施形態に対応する場合の処理手順例を示している。
【０１４６】
この場合、ユーザ端末装置３００の表示制御部３１３は、ステップＳ２０２により作成されたアバター画像が複数であるか否かについて判定する（ステップＳ５０１）。
作成されたアバター画像が１つである場合（ステップＳ５０１−ＮＯ）、表示制御部３１３は、この１つのアバター画像を表示部３０３に表示させる（ステップＳ５０２）。
一方、アバター情報が複数である場合（ステップＳ５０１−ＹＥＳ）、表示制御部３１３は、作成された複数のアバター画像を表示部３０３に表示させる（ステップＳ５０３）。
【０１４７】
複数のアバター画像が表示された場合、ユーザは、アバター編集操作として、まず、複数のアバター画像のうちから１つのアバター画像を選択する。そして、必要があれば、この選択したアバター画像のパーツを変更する操作を行ったうえで確定操作を行う。したがって、アバター編集部３１４は、確定操作に応じて、１つのアバターについてのアバター確定情報を含む確定通知を送信すればよい。
【０１４８】
このように、第２の実施形態において、アバター作成アプリケーションサーバ２００は、同じパーツ種別における選択対象のパーツ画像の類似度が同等あるいは近い場合に、複数のアバター情報を生成する。そして、ユーザ端末装置３００は、複数のアバター情報を受信した場合、これら複数のアバター情報ごとのアバター画像を作成し、表示部３０３に表示させる。
これにより、第２の実施形態においては、顔画像データに似ているとされるアバター画像として複数の候補をユーザに提供できる。これにより、ユーザは、複数のアバター画像の候補のうちから、最も似ていると自分が判断したものを選択することができる。そして、この結果が特徴点データベース７００Ａの更新に反映される。これにより、特徴点データベース７００Ａには、例えばアバターの顔に対するユーザの好みの傾向など反映されることになる。つまり、ユーザの好みの傾向などに適合するように特徴点データベース７００Ａの精度向上を図ることができる。
【０１４９】
＜第３の実施形態＞
［概要］
次に、第３の実施形態について説明する。
先の第２の実施形態において、アバター画像作成部３１２は、アバター作成アプリケーションサーバ２００から複数のアバター情報が受信された場合、これら複数のアバター情報のそれぞれに基づいて複数のアバター画像を作成した。
しかし、例えば、複数のアバター情報において或るパーツ種別ＩＤにおけるパーツＩＤの一致頻度が高い場合、そのパーツ種別においては、その一致頻度が高いパーツＩＤのパーツ画像が他のパーツ画像よりも類似していると推定できる。
そこで、第３の実施異形態におけるアバター画像作成部３１２は、アバター情報ごとにアバター画像を作成するのではなく、一致頻度が高いパーツＩＤについては、複数のアバター情報に共通に適用する。そして、アバター画像作成部３１２は、このように一致頻度が高いパーツＩＤを共通化したアバター情報によりアバター画像を作成する。これにより、作成された複数のアバター画像は、いずれも作成元の顔画像データに対する類似度が高くなる。
つまり、パーツ画像選択部２０４が特徴点データと特徴点データベース７００Ａとを比較した結果に基づいて、同一のパーツ種別に対応するパーツ画像のうちから複数のパーツ画像が選択された場合、アバター画像作成部３１２は、選択された複数のパーツ画像のそれぞれに対応して複数のアバター画像を作成する。また、表示制御部３１３は、上記のように作成された複数のアバター画像を表示部３０３に表示させる。
【０１５０】
［第３の実施形態に対応する処理手順例］
図２４のフローチャートは、図２１のステップＳ２０２によるアバター画像作成のための処理として、第３の実施形態に対応する場合の処理手順例を示している。なお、この図において、図２２と同じステップについては、同一符号を付している。
【０１５１】
この場合、ユーザ端末装置３００のアバター画像作成部３１２は、受信されたアバター情報が複数であるか否かについて判定する（ステップＳ４０１）。
アバター情報が１つである場合（ステップＳ４０１−ＮＯ）、アバター画像作成部３１２は、この受信された１つのアバター情報に対応する１つのアバター画像を作成する（ステップＳ４０２）。
【０１５２】
一方、アバター情報が複数である場合（ステップＳ４０１−ＹＥＳ）、アバター画像作成部３１２は、受信された複数のアバター情報において、一致頻度が最も高いパーツＩＤに対応するパーツ種別ＩＤを判定する（ステップＳ４０３Ａ）。
次に、アバター画像作成部３１２は、複数のアバター情報においてステップＳ４０３Ａにより判定したパーツ種別ＩＤに対応するパーツＩＤについては、一致頻度がもっと高いパーツＩＤを共通に格納するように複数のアバター情報を再生成する（ステップＳ４０３Ｂ）。
そして、アバター画像作成部３１２は、上記のように再生成した複数のアバター情報ごとに対応して複数のアバター画像を作成する（ステップＳ４０３Ｃ）。
【０１５３】
また、第３の実施形態における表示制御部３１３の処理は、図２３と同様である。これにより、図２４の処理により作成された複数のアバター画像が表示部３０３に表示される。
【０１５４】
＜変形例＞
次に、本実施形態の変形例について説明する。
これまでの実施形態において、アバター作成アプリケーションはネイティブ型のアプリケーションプログラムとしてユーザ端末装置３００にインストールされている場合を例に挙げてきた。しかし、アバター作成アプリケーションを、ブラウザ型のアプリケーション（ウェブアプリケーションともいう）として構成することもできる。
そこで、本実施形態の変形例として、ブラウザ型のアバター作成アプリケーションに対応するアバター作成システムの構成を挙げる。
【０１５５】
図２５は、上記のようにブラウザ型のアバター作成アプリケーションを採用した変形例としてのアバター作成システムにおけるアバター作成アプリケーションサーバ２００Ａとユーザ端末装置３００Ａの構成例を示している。なお、この図において、図１５と同一部分には同一符号を付して説明を省略する。
【０１５６】
この図に示すユーザ端末装置３００Ａは、アバター作成に対応する機能としてウェブブラウザ部３１５を備える。
【０１５７】
アバター作成アプリケーションがブラウザ型の場合、アバター作成アプリケーションサーバ２００Ａは、ネットワーク５００経由で接続されているユーザ端末装置３００Ａに対して、アバター作成アプリケーションのファイルを送信する。このファイルは、例えばＸＭＬ（Extensible Markup Language）やＨＴＭＬ（HyperText Markup Language）などのマークアップ言語により記述されたものである。
ユーザ端末装置３００Ａのウェブブラウザ部３１５は、上記のように送信されるファイルを再生する。このようにファイルを再生することにより、ユーザ端末装置３００Ａの表示部３０３にアバター作成アプリケーションのアプリケーション画面を表示させる。なお、この変形例の場合、図１５における顔画像データ送信部３１１と表示制御部３１３の機能は、上記のようにアバター作成アプリケーションのファイルを再生するウェブブラウザ部３１５により実現される。
【０１５８】
そして、ユーザ端末装置３００Ａのユーザが上記のように表示されるアプリケーション画面に対して操作部３０２を用いて操作を行うことで、ウェブブラウザ部３１５は操作に応じたコマンドをアバター作成アプリケーションサーバ２００Ａに対して送信する。アバター作成アプリケーションサーバ２００Ａは、受信したコマンドに応答してアバター作成に関連する所定の処理を実行する。これにより、例えばこれまでに説明した実施形態と同様の動作が実現される。
【０１５９】
次に、この図に示すアバター作成アプリケーションサーバ２００Ａは、図１５に示したアバター作成アプリケーションサーバ２００の構成に対して、さらに、アバター画像作成部２１１とアバター編集部２１２を備える。
【０１６０】
アバター画像作成部２１１は、パーツ画像選択部２０４により選択されたパーツ画像に基づいてアバター画像を作成する。つまり、アバター画像作成部２１１は、アバター作成アプリケーションサーバ２００Ａにおいて、パーツ画像選択部２０４により生成されたアバター情報９２０に基づいてアバターの画像を生成する。そして、アバター画像作成部２１１は、作成したアバター画像を反映させたアバター作成アプリケーションのファイルを生成し、このファイルをユーザ端末装置３００Ａに送信する。ユーザ端末装置３００Ａのウェブブラウザ部３１５がこのファイルを再生することにより、作成されたアバターの画像が存在するアプリケーション画面が表示部３０３に表示される。
【０１６１】
また、アバター編集部２１２は、ユーザ端末装置３００Ａに対して行われたユーザの指示（アバター編集操作）に応じて、アバター画像作成部２１１により作成されたアバター画像を編集する。
ユーザ端末装置３００Ａのユーザは、上記のようにアバター画像が表示されたアプリケーション画面に対して、アバター編集のための操作を行うことができる。アバター編集のための操作が行われるのに応じて、ウェブブラウザ部３１５は、その操作に応じたコマンドをアバター作成アプリケーションサーバ２００Ａから出力に対して送信する。
【０１６２】
アバター編集部２１２は、上記のように送信されたコマンドに応じて、アバター編集を行う。このアバター編集の処理自体については、図１５のアバター編集部３１４と同様でよい。また、アバター画像作成部２１１は、アバター編集部２１２の編集結果に応じて変更されたアバター情報に基づいてアバター画像を変更する。そのうえで、アバター画像作成部２１１は、このように変更したアバター画像の内容を反映させたファイルを生成し、ユーザ端末装置３００Ａに送信する。
そして、ユーザが、アプリケーション画面に対してアバター確定のための操作を行うのに応じて、ウェブブラウザ部３１５は、アバター作成アプリケーションサーバ２００Ａに対して確定通知を送信する。この確定通知の受信に応答して、特徴点データベース更新部２０５は、図１５の場合と同様に、特徴点データベース７００Ａを更新するものである。
【０１６３】
なお、上記各実施形態における特徴点データベース７００、７００Ａの生成手法や、パーツ画像選択のための手法については、これまでに説明した以外の手法が採られてもよい。また、これに伴って、特徴点データベース７００、７００Ａの構造も変更されてよい。
【０１６４】
また、これまでの説明において、オブジェクトの特徴量は、その座標に基づく特徴点データとしているが、例えばオブジェクトの色などをさらに特徴量に含めてもよい。
【０１６５】
また、図２と図１５と図２５において示した各機能部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより特徴点データベース７００、７００Ａの生成、アバター作成および特徴点データベース７００、７００Ａの更新などを行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１６６】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【０１６７】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１６８】
１００  特徴点データベース生成装置
１０１  サンプル顔画像データ入力部
１０２  特徴点データ取得部
１０３  表示制御部
１０４  取得部
１０５  特徴点データベース生成部
１０５Ａ  オブジェクト定義テーブル生成部
１０５Ｂ  特徴点ハッシュテーブル生成部
１０６  記憶部
１０７  特徴点データベース送信部
１０８  操作部
１０９  表示部
２００  アバター作成アプリケーションサーバ
２０１  顔画像データ入力部
２０２  特徴点データ取得部
２０３  記憶部
２０４  パーツ画像選択部
２０５  特徴点データベース更新部
２０６  通信部
３００  ユーザ端末装置
３０１  制御部
３０２  操作部
３０３  表示部
３０４  通信部
３１１  顔画像データ送信部
３１２  アバター画像作成部
３１３  表示制御部
３１４  アバター編集部
４００  アバター利用アプリケーションサーバ
５００  ネットワーク
６００  パーツ画像テーブル
６００Ａ  パーツ画像テーブル
７００  特徴点データベース
７００Ａ  特徴点データベース
７１０  オブジェクト定義テーブル
７１０Ａ  オブジェクト定義テーブル
７１１  レコード
７２０  特徴点ハッシュテーブル
７２０Ａ  特徴点ハッシュテーブル
７２１  レコード
８１０  代表点座標情報
８２０  正規化座標情報
８２０Ａ  シフト演算座標
８３０  座標ハッシュ情報
９１０  座標ハッシュ情報
９２０  アバター情報
【図１】
0005420056.tif 000002
【図２】
0005420056.tif 000003
【図３】
0005420056.tif 000004
【図４】
0005420056.tif 000005
【図５】
0005420056.tif 000006
【図６】
0005420056.tif 000007
【図７】
0005420056.tif 000008
【図８】
0005420056.tif 000009
【図９】
0005420056.tif 000010
【図１０】
0005420056.tif 000011
【図１１】
0005420056.tif 000012
【図１２】
0005420056.tif 000013
【図１３】
0005420056.tif 000014
【図１４】
0005420056.tif 000015
【図１５】
0005420056.tif 000016
【図１６】
0005420056.tif 000017
【図１７】
0005420056.tif 000018
【図１８】
0005420056.tif 000019
【図１９】
0005420056.tif 000020
【図２０】
0005420056.tif 000021
【図２１】
0005420056.tif 000022
【図２２】
0005420056.tif 000023
【図２３】
0005420056.tif 000024
【図２４】
0005420056.tif 000025
【図２５】
0005420056.tif 000026