本発明の1つの態様は、複数のパーツの組み合わせにより表現される部分を含むキャラクタを表示させるキャラクタ表示用データを生成する装置である。この装置は、キャラクタ表示用データに基づく画像を表示デバイスのキャラクタ表示領域に表示するキャラクタ表示ユニットと、複数のパーツを含む複数の選択可能要素の少なくとも1つの複数のバリエーションの少なくとも一部を表示デバイスに、ユーザインターフェイスにより選択可能なようにスクロール表示し、所定の位置に表示された1つのバリエーションを選択中(選択状態)にする編集ユニットと、選択済みのバリエーションが反映された、編集されたキャラクタ表示用データをメモリなどに保存または出力するユニットとを有する。編集ユニットは、さらに、選択中(選択状態)のバリエーションが反映されたキャラクタ表示用データの画像をキャラクタ表示領域に表示し、表示に反映されたバリエーションを選択済みにする機能を含む。
この装置は、複数のバリエーションがスクロール表示され、所定の位置に表示された1つのバリエーションが選択中になる。このため、常にいずれかのバリエーションが選択中となる。それとともにスクロールすることにより選択中のバリエーションを簡単に変えることができる。常に1つのバリエーションが選択中になるので、その選択中のバリエーションが反映されたキャラクタ表示用データの画像(キャラクタ画像)を表示デバイスに表示でき、編集中のキャラクタが直観的(視覚的)に把握できる。
さらに、表示に反映されたバリエーションを選択済みにすることにより、選択済みにする操作をしても良いが、選択済みの操作をしなくても選択中のバリエーションが反映されたキャラクタ表示用データが生成される。例えば、次の選択可能要素について、バリエーションを選択中にした段階では、前の選択可能要素について選択中のバリエーションは選択済みになっている。このため、ユーザが次々と選択可能要素についてバリエーションを選択中にするだけで、それぞれの選択可能要素についてユーザの意図が反映されたキャラクタが表示される。
この装置を用いることにより、ユーザは、ユーザインターフェイスを操作することにより、表示デバイスに表示されるキャラクタを通じて(キャラクタの表示を変更あるいは編集することにより)、キャラクタの変化を直観的に把握できる。また、そのキャラクタの変化を楽しみながら、所望のキャラクタを表示するためのデータを、編集されたキャラクタ表示データとして生成できる。
さらに、この装置を用いることにより、ユーザは、数多くの選択可能要素のバリエーションを次々と選択中にしてキャラクタを変化させることができる。それにより、数多くの選択可能要素と、それらの選択可能要素の種々のバリエーションとにより構成されるキャラクタを表示するためのデータ(編集されたキャラクタ表示データ)を簡単に生成できる。
編集ユニットは、キャラクタ表示領域の外側の第1のスクロール領域に、複数の選択可能要素をそれぞれ示す複数の第1の画像(たとえば、インデックス画像)の少なくとも一部をスクロールするように表示する第1の表示選択ユニットと、キャラクタ表示領域の外側の第2のスクロール領域に、複数の選択可能要素のうち、第1のスクロール領域の所定の場所に表示された1つの選択可能要素の複数のバリエーションをそれぞれ示す複数の第2の画像(たとえば、パーツ画像)の少なくとも一部をスクロールするように表示し、複数のバリエーションの1つを選択中とする第2の表示選択ユニットとを含む。
この装置では、キャラクタが表示されるキャラクタ表示領域の外側に、そのキャラクタを変えるための選択可能要素およびバリエーションが、第1の画像と第2の画像により視覚的に分かりやすい状態で表示される。このため、選択中のバリエーションおよびスクロールすることにより次に選択中にできるバリエーションを直観的に把握できる。さらに、選択中の選択可能要素および次に選択中にできる選択可能要素も直観的に把握できる。
第1のスクロール領域は、キャラクタ表示領域の外側の第1の方向に沿って配置し、第2のスクロール領域は、キャラクタ表示領域の外側の第2の方向に沿って第1のスクロール領域と一部が交差するように配置する。さらに、第2の表示選択ユニットは、第1のスクロール領域と第2のスクロール領域とが交差する場所に表示された1つの選択可能要素の複数のバリエーションをスクロールするように表示する。たとえば、複数のバリエーションのうち、交差する場所に表示されたバリエーションを選択中にすることができる。
この装置では、スクロール方向を第1および第2の方向、例えば、上下左右に選択することにより、次々と選択可能要素のバリエーションを選択中にでき、キャラクタ表示領域に表示されるキャラクタを次々に変化させることができる。そして、キャラクタ表示用データを簡単に生成できる。
第1および第2のスクロール領域は指またはペンで操作できるものであってもよい。特に、第1の方向および第2の方向は、ユーザインターフェイスに含まれるキーによりカーソルが移動する方向と一致していることが望ましい。例えば、カーソルキー(ナビゲーションキー、スクロールキー)は、携帯電話などのハンディーな情報端末のユーザインターフェイスとして多用されており、カーソルキーでスクロールする方向を上下左右に選択できる。したがって、第1の方向および第2の方向が上下左右に一致している場合は、カーソルキーでスクロールする方向を上下左右に次々と選択するだけで、カーソルキーの中央の選択キー(実行キー)を押さなくても(押しても良いが)、キャラクタ表示領域に表示されるキャラクタを次々に変化でき、キャラクタ表示用データを生成できる。
第2の表示選択ユニットは、選択中のバリエーションに付随するプロパティ、たとえば色、柄などの複数のバリエーションを第2のスクロール領域に表示し、それらの1つを選択中にすることが可能である。さらに、編集ユニットは、バリエーションが選択中の選択可能要素の複数のバリエーションに共通のプロパティを表示し、選択可能とする第3の表示選択ユニットを含むことが望ましい。第3の表示選択ユニットにより、選択可能要素の色、左右上下の表示位置などの選択可能要素のプロパティをバリエーションとは別に表示選択できる。このため、第2の表示選択ユニットにより選択するアイテムを減らすことができるとともに、色、位置などのプロパティを保存した状態で(変えないで)、形などのバリエーションの異なるキャラクタを表示しながらキャラクタ表示用データを生成できる。
複数のパーツが、顔の一部を構成する複数の顔パーツを含む場合、第3の表示選択ユニットは、以下の4つの機能(機能ユニット)の少なくともいずれかを含むことが望ましい。
F1.大小を表示し、選択中の顔パーツの大小を可変にする機能(第1の機能)。
F2.上下の移動方向を表示し、選択中の顔パーツの上下位置を可変にする機能(第2の機能)。
F3.複数の顔パーツは目および眉毛を含み、目または眉毛のバリエーションが選択されると、間隔を狭く、および広くする移動方向を表示し、選択中の目または選択中の眉毛の間隔を可変にする機能(第3の機能)。
F4.目または眉毛のバリエーションが選択されると、回転する方向を表示し、選択中の両側の目の傾き、または選択中の両側の眉毛の傾きを同期して可変にする機能(第4の機能)。
キャラクタ表示用データは、キャラクタの顔に加えてボディの少なくとも一部を表示させるデータを含み、複数の選択可能要素は、キャラクタの性別により相違する体型要素を含むことが望ましい。これにより、顔だけではなく、ボディも含めたキャラクタを表示するためのキャラクタ表示用データを生成できる。
さらに、複数の選択可能要素は、顔および/またはボディの少なくとも一部により表現されるアクションを含むことが望ましい。これにより、動的なキャラクタを表示するためのキャラクタ表示用データを生成できる。
キャラクタ表示ユニットは、キャラクタ表示用データとは異なる画像データによる画像に、キャラクタ表示用データに基づく画像を重ねて表示する機能を含むことが望ましい。例えば、異なる画像データによる画像に含まれるキャラクタを参照しながら、キャラクタ表示用データを生成できる。異なる画像データの典型的なものは撮像されたデータ(写真)である。
異なる画像データから、初期表示用のキャラクタ表示用データを自動生成するユニットを、さらに有することが望ましい。異なる画像データによる画像に含まれたキャラクタに似せた、あるいはディフォルメしたキャラクタを表示するためのデータの作成が容易になる。
キャラクタ表示用データは3次元でキャラクタを表示させるデータを含むことが可能である。その場合、編集ユニットは、キャラクタ表示ユニットにキャラクタを前後に回転させた状態で表示する表示ユニットを含むことが望ましい。キャラクタ表示ユニットに、キャラクタを前後左右から見た状態を表示することができ、編集中のキャラクタの前後左右から見た状態を確認できる。
保存または出力するユニットは、編集されたキャラクタ表示用データから2次元画像表示用の画像データを生成する機能(機能ユニット)を含むことが望ましい。編集されたキャラクタ表示用データにより表示されるキャラクタを表示できる画像データであって、電子メールの作成表示ソフトなどの他のアプリケーションで使用できる画像データを生成できる。
保存または出力するユニットは、所望のアプリケーション用のデータに変換させるために編集されたキャラクタ表示用データをサーバー宛に出力する機能(機能ユニット)を含むことが望ましい。サーバー側に用意される豊富な資源を用いて様々なアプリケーションに適用できるデータあるいは情報に、編集されたキャラクタ表示データを変換できる。
本発明の異なる態様の1つは、画像を表示するための表示デバイスと、表示デバイスにより表示されたアイテムを選択するユーザインターフェイスとを含む装置により、複数のパーツの組み合わせにより表現される部分を含むキャラクタを表示するためのキャラクタ表示用データを生成する方法である。
この方法は、以下のステップを含む。
1.表示デバイスに、複数のパーツを含む複数の選択可能要素の少なくとも1つの複数のバリエーションの少なくとも一部を表示デバイスにスクロール表示すること。
2.所定の位置に表示された1つのバリエーションを選択中にすること。
3.選択中のバリエーションが反映されたキャラクタ表示用データの画像を表示デバイスのキャラクタ表示領域に表示すること。
4.表示に反映されたバリエーションを含む、編集されたキャラクタ表示用データを保存または出力すること。
この方法では、複数のバリエーションがスクロール表示され、所定の位置に表示された1つのバリエーションが選択中になり、そのバリエーションを含むキャラクタが表示されるとバリエーションが選択済みになる。したがって、ユーザが次の選択可能要素のバリエーションに興味が移ると、前の選択可能要素のバリエーションは選択済みとなり保存される。このため、この方法を用いることにより、ユーザは、表示デバイスに表示されるキャラクタの変化を直観的に把握し、そのキャラクタの変化を楽しみながら、所望のキャラクタを表示するためのデータを簡単に、そして短時間に生成できる。
スクロール表示すること(ステップ1)は、以下のステップを含む。
A1.キャラクタ表示領域の外側に、第1の方向に沿って配置された第1のスクロール領域に、複数の選択可能要素をそれぞれ示す複数の第1の画像の少なくとも一部をスクロールするように表示すること。
A2.キャラクタ表示領域の外側に、第2の方向に沿って、第1のスクロール領域と一部が交差するように配置された第2のスクロール領域に、複数の選択可能要素のうち、第1のスクロール領域と交差する場所に表示された1つの選択可能要素の複数のバリエーションをそれぞれ示す複数の第2の画像の少なくとも一部をスクロールするように表示すること。
ユーザインターフェイスに含まれるカーソルキーや、ジョグダイヤル、ジョイスティックなどといったスクロール方向を選択できる手段により、スクロール方向を第1および第2の方向、例えば、上下左右に選択するだけで、表示されるキャラクタを変化させることができる。さらに、カーソルキーなどでスクロール方向を上下左右に選択するだけで、キャラクタを表示するためのデータを簡単に生成できる。
さらに、この方法は、以下のステップを含むことが望ましい。
5.選択中のバリエーションに付随する複数のプロパティを第2のスクロール領域に表示し、それらの1つを選択中にすること。
また、この方法は、以下のステップを含むことも有効である。
6.バリエーションが選択中の選択可能要素の複数のバリエーションに共通のプロパティを表示デバイスのキャラクタ表示領域の外側に表示し、プロパティを選択可能とすること。
複数のバリエーションに共通する色、位置などのプロパティを選択するステップを、バリエーションの選択とは別に設けることにより、バリエーションの選択に要するユーザの負担を減らすことができる。複数のパーツが、顔の一部を構成する複数の顔パーツを含む場合は、プロパティの選択には以下を含めることができる。
B1.大小を表示し、選択中の顔パーツの大小を可変にすること。
B2.上下の移動方向を表示し、選択中の顔パーツの上下位置を可変にすること。
B3.複数の顔パーツは目および眉毛を含み、目または眉毛のバリエーションが選択されると、間隔を狭く、および広くする移動方向を表示し、選択中の目または選択中の眉毛の間隔を可変にすること。
B4.目または眉毛のバリエーションが選択されると、回転する方向を表示し、選択中の両側の目の傾き、または選択中の両側の眉毛の傾きを同期して可変にすること。
キャラクタ表示用データは、キャラクタの顔に加えてボディの少なくとも一部を表示するデータを含み、複数の選択可能要素は、顔および/またはボディの少なくとも一部により表現されるアクションを含むことが望ましい。スクロール表示により選択するバリエーションに、アクションを含めることができ、動的なキャラクタを表示するためのデータを生成できる。
キャラクタ表示領域に表示すること(ステップ3)は、キャラクタ表示用データとは異なる画像データによる画像に、キャラクタ表示用データに基づく画像を重ねて表示することが望ましい。典型的には撮像された画像データ(写真)に基づき、キャラクタ表示用データを生成できる。
キャラクタ表示用データが3次元でキャラクタを表示させるデータを含む場合は、キャラクタ表示領域に表示するステップは、キャラクタを前後に回転させた状態で表示することを含むことが望ましい。
さらに、保存または出力するステップは、所望のアプリケーション用のデータに変換させるために編集されたキャラクタ表示用データをサーバー宛に出力することを含むことが望ましい。
本発明のさらに異なる態様の1つは、画像を表示するための表示デバイスと、表示デバイスにより表示されたアイテムを選択するためのユーザインターフェイスとを含むコンピュータにより実行されるプログラムであって、コンピュータにより実行されることにより、コンピュータを、複数のパーツの組み合わせにより表現される部分を含むキャラクタを表示するためのキャラクタ表示用データを生成する装置として機能させることを含むプログラム(プログラム製品)である。
このプログラム(プログラム製品)により実装される装置は、表示デバイスにより表示されたアイテムを選択する機能を含むユーザインターフェイスと、キャラクタ表示用データに基づく画像を表示デバイスのキャラクタ表示領域に表示するキャラクタ表示ユニットと、複数のパーツを含む複数の選択可能要素の少なくとも1つの複数のバリエーションの少なくとも一部を表示デバイスにスクロール表示し、所定の位置に表示された1つのバリエーションを選択中にする編集ユニットであって、さらに、選択中のバリエーションが反映されたキャラクタ表示用データの画像をキャラクタ表示領域に表示し、表示に反映されたバリエーションを選択済みにする編集ユニットと、選択済みのバリエーションが反映された、編集されたキャラクタ表示用データをメモリなどに保存または出力するユニットとを含む。
このプログラム(プログラム製品)は、適当なメディア、例えば、CD−ROM、フラッシュメモリ、カードメモリなどに記録して提供できる。また、このプログラムはインターネットなどのコンピュータネットワーク、データ送受信網を通じて提供することができる。さらに、携帯電話、PDA、パーソナルコンピュータなどの個人的な情報処理装置あるいは情報端末にプレインストールして提供することも可能である。そして、このプログラムが実装された携帯電話、PDA、パーソナルコンピュータなどの情報端末をキャラクタ表示用データの生成装置として使用できる。また、このプログラムをサーバーに実装し、サーバーと、上記の情報端末とをインターネットなどのデータリンクにより接続することにより、このプログラムが実装されていなくても、情報端末をキャラクタ表示用データの生成装置として使用することができる。
以下では、図面を参照して、さらに詳しい説明をする。以下では、ハンディーな情報処理端末に、本発明のキャラクタ表示用データを生成する装置としての機能を実装した例を説明する。キャラクタの典型的なものは、アバターであり、以下では、アバター表示用のデータ(アバターデータ)を生成する装置(アバターメーカー、あるいはメーカ)について説明する。ハンディーな情報処理端末の典型的なものは携帯電話である。
図1に、アバターメーカー50の機能を含む端末、またはアバターメーカー50として動作する端末(携帯電話)1のハードウェアの概略構成を示している。この端末1は、撮像装置であるカメラ2と、カメラ2を制御して、撮像された画像データを取得するカメラインターフェイス3と、画像を含めたデータを表示するLCDなどのディスプレイ(表示デバイス)4とを含む。ディスプレイ4は、タッチパネル4aの機能を含み、指および/またはペンにより表示された内容を選択したり、表示内容を操作できる。
端末1は、さらに、ディスプレイ4を制御する表示インターフェイス5と、カーソルキー(スクロールキー、ナビゲーションキー)6、テンキー7などを介してデータおよび制御動作を受け入れるユーザインターフェイス8と、スピーカ9、マイク10などを介して音声データを入出力するための音声インターフェイス11とを備えている。ユーザインターフェイス8は、表示デバイス4により表示されたアイテムを、カーソルキー6の操作、あるいはタッチパネル4aにより入力された操作により選択する機能を含む。
さらに、端末1は、CPU12および画像処理用のIC13を含む制御ユニット14と、ストレージ15とを含む。ストレージ15の典型的なものはフラッシュメモリであり、HDD(ハードディスクデバイス)などの他のストレージデバイスであってもよい。さらに、端末1は、無線通信インターフェイス17を備えており、アンテナ16を介して無線(赤外線などのRF以外も含めて)で外部のデータリンクにアクセスあるいは接続可能である。データリングの典型的なものは、公衆電話網、インターネットなどを介し多数の情報端末が接続されたコンピュータネットワークである。
端末1においては、上述したいくつかのモジュールおよび/または機能(機能ユニット)が内部バス18などにより接続されている。ストレージ15には、実行することにより端末1をアバターメーカー50として機能させるプログラム(プログラム製品)71と、編集対象のキャラクタを表示する編集対象のキャラクタ表示用のデータ(アバター表示用のデータ、アバターデータ)35と、アバターメーカー50で表示されるパーツ画像などを含むライブラリ72などが格納されている。編集対象のアバターデータ35は、アバターメーカー50を提供する側がディフォルトで用意したものであってもよく、ユーザが編集対象としてストックしたアバターデータであってもよい。
これらのハードウェア構成は、携帯電話、PDAなどのポータブルな情報端末としては典型的なものであり、アバターメーカー50として機能するための必須の要件ではない。たとえば、音声インターフェイス11は、アバターメーカー50に、音声による端末動作の指示、たとえば、スクロール方向を音声により選択させるような機能を含ませることが可能である。そのような必要がなければ、音声インターフェイス11をはじめとする機能はアバターメーカー50としては不要である。
図2は、アバターメーカー50の機能を示すブロックダイアグラムである。このアバターメーカー50は、図3に示したような顔31とボディ32とを含めたアバター30の表示を編集あるいは変更することにより、編集前のキャラクタを表示するためのデータ(キャラクタ表示用データ、アバターデータ)35から、所望のアバターを表示するためのデータ(編集されたキャラクタ表示用データ、編集されたアバターデータ)75を生成する。この例では、アバターデータ35および75は、顔31を表示するためのデータに加えて、ボディ32を表示するためのデータを含む。
図4および図5に、アバターデータ35を生成する際に選択可能な要素(項目、パーツ名)36と、各要素36のバリエーション37の数、および要素毎に指定可能な色などのプロパティの有無とを纏めて示している。なお、これらの図の中で「○」はその要素のバリエーションあるいはプロパティが有効で選択肢があり、「×」はその要素のバリエーションあるいはプロパティが無効で選択肢がないことを示している。なお、これらの図に示した要素、バリエーションあるいはプロパティの数および選択肢の有無は一例にすぎず、要素、バリエーションおよび/またはプロパティを付加したり、削除したりすることが可能である。
プロパティは大きく分けて色の指定(第1のプロパティ)38と、色以外の指定、例えば、拡大縮小、位置などの指定(第2のプロパティ)39とを含む。バリエーション37とは別に、選択可能要素36のそれぞれにプロパティ38および39を選択可能とすることにより、各要素36のバリエーション37の数を大幅に削減できる。たとえば、色38をバリエーション37に含めると、バリエーション37として表示するパーツ画像の数が数倍に拡大し、スクロール表示でそれらを選択することは非現実的になる。要素毎に、バリエーション37とは別にプロパティ38および39を選択できるようにすることにより、バリエーション37を選択する操作の負荷を大幅に低減できる。また、各要素36においては、選択されたプロパティ38および39を、バリエーション37に対して共通に適応することにより、バリエーション37を選択するだけで、所望のプロパティ38および39を備えたアバター30を表示できる。
このアバターメーカー50は、14種類の選択可能な要素E1〜E14を含むアバターデータ35を、それにより表示されるアバター画像(アバター)30を編集または変更することにより、所望のアバターを表示させるアバターデータ(編集されたアバターデータ)75にすることができる。編集されたアバターデータ75は、編集後または編集済みのデータであっても、編集中のデータであってもよい。
要素E1は、性別であり、バリエーション37としては、男女の2パターンがパーツとして用意されている。男女を選択することにより、いずれかのパーツがボディ32として選択され、ボディ32の基本的な形状が変化する。さらに、このアバターメーカー50では、ボディ32の服装はTシャツがディフォルトであり、要素E1の第1のプロパティとしてTシャツの色を変えることができる。なお、本明細書において説明する選択可能な要素E1〜E14は例示である。たとえば、服装を選択可能な要素に含める(追加する)ことが可能であり、クローゼットを新たな要素として設定してもよい。このように、選択可能な要素36、バリエーション37、プロパティ38は以下で説明するものに限られない。
要素E2は、体型である。体型は、バリエーションはなく、第2のプロパティ39として拡大縮小が可能である。拡大縮小は、カーソルキー6により上下方向のサイズの変化と、左右方向のサイズの変化を指示できることを示す。体型を上下方向に拡大縮小することにより、顔31とボディ32とのバランスを変えることができる。体型を左右方向に拡大縮小することにより、ボディ32を太くしたり、細くしたりすることができる。
要素E3は、輪郭(顔31の輪郭)である。バリエーション37としては、8パターンのパーツが用意されており、第1のプロパティ38として肌の色を6種類に変更できる。第1のプロパティ38は、第2のプロパティ39も同様であるが、要素E3のプロパティとして保存され、8パターンのパーツのいずれを選択しても、直前に設定されたプロパティが共通に適用される。以下の各要素においても同様である。
要素E4は、髪型である。バリエーション37としては、72パターンのパーツが用意されており、第1のプロパティ38として色を8種類に変更できる。
要素E5は、眉毛である。バリエーション37としては、12パターンのパーツが用意されており、第1のプロパティ38として色を8種類に変更できる。さらに、第2のプロパティ39として、拡大縮小、回転、移動が用意されている。拡大縮小することは、眉毛(パーツとしての眉毛)のサイズ(表示面積)の拡大縮小と、両側の眉毛の間隔の拡大縮小とをそれぞれ指定することを含む。回転することは、両側の眉毛を同期して、対称な方向に回転することを含み、眉毛の傾きを任意に設定できる。移動することは、両側の眉毛の位置を顔31の中で、上下に移動することを含む。
要素E6は、目である。バリエーション37としては、48パターンのパーツが用意されており、第1のプロパティ38として色を6種類に変更できる。さらに、第2のプロパティ39として、拡大縮小、回転、移動が用意されている。拡大縮小することは、目(パーツとしての目)のサイズ(表示面積)の拡大縮小と、両側の目の間隔の拡大縮小とをそれぞれ指定することを含む。回転することは、両側の目を同期して、対称な方向に回転することを含み、目(まなじり)の傾きを任意に設定できる。移動することは、両側の目の位置を顔31の中で、上下に移動することを含む。
要素E7は、鼻である。バリエーション37としては、12パターンのパーツが用意されており、第1のプロパティ38として色を6種類に変更できる。ただし、色は輪郭E3の色と連動する。さらに、第2のプロパティ39として、拡大縮小、移動が用意されている。拡大縮小することは、鼻(パーツとしての鼻)のサイズを拡大縮小することを含む。移動することは、鼻の位置を顔31の中で、上下に移動することを含む。
要素E8は、口である。バリエーション37としては、24パターンのパーツが用意されており、第2のプロパティ39として、拡大縮小、移動が用意されている。拡大縮小することは、口(パーツとしての口)のサイズ(表示面積)を拡大縮小することを含む。移動することは、口の位置を顔31の中で、上下に移動することを含む。
要素E9は、口ひげである。バリエーション37としては、3パターンのパーツが用意されており、口ひげの有無も含めて4つのバリエーションを選択できる。第1のプロパティ38として色を8種類に変更できる。さらに、第2のプロパティ39として、拡大縮小、移動が用意されている。拡大縮小することは、口ひげ(パーツとしての口ひげ)のサイズ(表示面積)の拡大縮小と、幅のみ(長さ)の拡大縮小とをそれぞれ指定することを含む。移動することは、口ひげの位置(表示位置)を顔31の中で、上下に移動することを含む。
要素E10は、顎ひげである。バリエーション37としては、3パターンのパーツが用意されており、顎ひげの有無を含めて4つのバリエーションを選択できる。第1のプロパティ38として色を8種類に変更できる。さらに、第2のプロパティ39として、拡大縮小が用意されている。拡大縮小することは、顎ひげ(パーツとしての顎ひげ)のサイズ(表示面積)の拡大縮小と、幅のみ(長さ)の拡大縮小とをそれぞれ指定することを含む。
要素E11は、ほくろである。バリエーション37としては、1パターンのパーツが用意されており、ほくろの有無を含めて2つのバリエーションを選択できる。さらに、第2のプロパティ39として、拡大縮小、移動が用意されている。拡大縮小することは、ほくろ(パーツとしてのほくろ)のサイズ(表示面積)を拡大縮小することを含む。移動することは、ほくろの位置(表示位置)を顔31の中で、上下、左右に移動することを含み、顔31の中の所望の位置にほくろを動かすことができる。
要素E12は、メガネおよびサングラスである。バリエーション37としては、メガネの5パターン、サングラスの3パターンのパーツが用意されており、有無も含めて9つのバリエーションを選択できる。第1のプロパティ38として色(メガネフレームの色およびサングラスの色)を12種類に変更できる。さらに、第2のプロパティ39として、拡大縮小、移動が用意されている。拡大縮小することは、メガネ(パーツとしてのメガネ)のサイズ(表示面積)を拡大縮小することを含む。移動することは、メガネの位置(表示位置)を顔31の中で、上下に移動することを含む。
要素E13は、顔31の表情などである。バリエーション37としては、12パターンのパーツが用意されており、有無も含めて13のバリエーションを選択できる。第1のプロパティ38として色を6種類に変更できるが、輪郭E3と連動する。12パターンのパーツには、頬がくぼんだり、頬が膨らんだりしている様子を示す表現を含む。
要素E14は、アクションである。バリエーション37としては、7パターンの動きが用意されており、動きのあるアバター30を表示するアバターデータ35を生成できる。アクションのパターンの例は、女性のディフォルトの動き、男性のディフォルトの動き、ルンルンとした動き、別れ(バイバイ)を示す動き、ガッツポーズを示す動き、花束を差し出す動き、怒りを示す動きである。パターンを指定することにより、アバター30は、その動きのパターンを繰り返す。
図2に示すように、アバターメーカー50は、これらの選択可能な要素E1〜E14の組み合わせにより表現されるアバター(アバター画像)30をユーザの希望に沿って表示するためのアバターデータ75を生成する。アバターメーカー50は、アバターデータ(キャラクタ表示用データ)35に基づく画像をディスプレイ(表示デバイス)4のキャラクタ表示領域29に表示するキャラクタ表示ユニット51と、アバター30をマニュアルで編集するための編集ユニット(エディタ)52と、撮像されたデータ(写真)からアバターデータ35を自動生成する自動編集ユニット53と、編集されたアバターデータ35をストレージ15に保存したり、アバターデータ35からGIFなどの2次元画像データを生成するための保存・出力ユニット54とを備えている。
編集ユニット52は、複数のパーツを含む複数の選択可能要素E1〜E14の少なくとも1つの複数のバリエーション37の少なくとも一部を表示デバイス4にスクロール表示し、カーソルキー6を含むユーザインターフェイス8により選択可能にする。さらに、編集ユニット52は、スクロール表示された複数のバリエーション37のうち、所定の位置、例えば、スクロール表示の中央に表示された1つのバリエーションを選択中にする。さらに、選択中のバリエーション37が反映されたキャラクタ表示用データ35のアバター画像30をキャラクタ表示ユニット51によりキャラクタ表示領域29に表示し、表示に反映されたバリエーション37を選択済みにする。
具体的には、編集ユニット52は、複数の選択可能要素36をそれぞれ示す複数のインデックス画像(複数の第1の画像)をスクロールするように表示する第1の表示選択ユニット56と、複数のバリエーション37をそれぞれ示す複数のパーツ画像(複数の第2の画像)をスクロールするように表示する第2の表示選択ユニット57と、プロパティを表示して選択する第3の表示選択ユニット58とを含む。第1の表示選択ユニット56は、長方形のキャラクタ表示領域29の外側に、第1の方向(縦方向)に沿って配置された第1のスクロール領域21に、複数の選択可能要素36をそれぞれ示す複数のインデックス画像61をスクロール表示する。
第2の表示選択ユニット57は、キャラクタ表示領域29の外側に、第2の方向(横方向)に沿って配置された第2のスクロール領域22に、第1のスクロール領域21の所定の場所に表示された1つの選択可能要素の複数のバリエーションをそれぞれ示す複数のパーツ画像62をスクロールするように表示する。具体的には、第2のスクロール領域22は、第1のスクロール領域21と一部が交差するように配置されており、第2の表示選択ユニット57は、第1のスクロール領域21と第2のスクロール領域22とが交差する場所28に表示された1つの選択可能要素36の複数のバリエーション37をスクロールするように表示する。
第1のスクロール領域21のスクロール方向(縦方向)と、第2のスクロール領域22のスクロール方向(横方向)は、カーソルキー6によりスクロールする方向と一致している。したがって、カーソルキー6の上下キー6aおよび6cを操作することにより第1のスクロール領域21に表示されているインデックス画像61をスクロールでき、左右キー6bおよび6dを操作することにより第2のスクロール領域22に表示されているパーツ画像62をスクロールできる。
さらに、第2の表示選択ユニット57は、第2のスクロール領域22の中央27に表示されたバリエーションを選択中にし、選択中のバリエーション37が反映された、すなわち、選択中のバリエーション37のパーツを含むアバター30をキャラクタ表示領域29に表示する。そして、表示されているアバター30に反映されたバリエーション37のパーツを選択済みにした、編集されたアバターデータ(編集中のデータ)75を生成する。
編集中のアバターデータ75と、ストレージ(メモリ)15に保存されているアバターデータ35とは基本的に同じであり、端末1のOSによりサポートされるファイル管理システムにより管理されるか否か程度の相違しかない。編集が終了すると、編集されたアバターデータ75は、保存・出力ユニット54により、選択済みのバリエーションが反映されたキャラクタ表示用データとしてストレージ15に格納されたり、サーバーなどへ出力される。
ストレージ15に格納された編集されたアバターデータ75を、次の機会には、編集対象のアバターデータ35にすることが可能である。したがって、編集されたあるいは編集後のアバターデータ75と、編集前のアバターデータ35とは、それらのデータにより表示されるキャラクタは一般的に異なるが、キャラクタを表示するために含まれる情報の種類・構造は共通する。このため、本明細書において、キャラクタ表示用データとして共通する事項については、アバターデータ35を例に説明することがある。
第3の表示選択ユニット58は、バリエーション37を選択中の選択可能要素36の複数のバリエーションに共通のプロパティ38および39を表示デバイス4のキャラクタ表示領域29の外側に表示し、選択可能とする。この第3の表示選択ユニット58は、第1のスクロールエリア21の上に、カーソルキー6に対応した上下左右選択用のアイコン26を表示し、第2のスクロールエリア22の下にカラーを選択するためのアイコン25を表示する。
第3の表示選択ユニット58は第1の機能(機能ユニット)58aを含み、第1の機能58aは、顔の一部を構成する複数の顔パーツについて、アイコン26に大小を表示し、カーソルキー6を用いて選択中の顔パーツの大小(表示面積および/または表示幅)を可変にする。第3の表示選択ユニット58は第2の機能58bを含み、第2の機能58bは、アイコン26に上下の移動方向を表示し、カーソルキー6を用いて選択中の顔パーツの上下位置を可変にする。
第3の表示選択機能58は第3の機能58cを含み、第3の機能58cは、目または眉毛のバリエーションを選択しているときは、アイコン26に間隔を狭く、および広くする移動方向を表示し、カーソルキー6により、目または選択中の眉毛の間隔を可変にする。第3の表示選択機能58はさらに第4の機能58dを含み、第4の機能58dは、目または眉毛のバリエーションが選択されると、アイコン26に回転する方向を表示し、カーソルキー6により、選択中の両側の目の傾き、または選択中の両側の眉毛の傾きを同期して可変にする。
さらに、第3の表示選択ユニット58は、カラー選択アイコン25を表示し、バリエーションを選択中のパーツの色を設定する機能58eを含む。アイコン25には、選択可能な色(色の表示)がスクロール表示される。カーソルキー6によりスクロールすると、キャラクタ表示領域29に表示されているアバター30について選択中のバリエーション37のパーツの色が、アイコン25の中央25cに示された色に変わり、その色が、バリエーション37を選択中の要素36の第1のプロパティ38として保存される。
自動編集ユニット53は、アバターメーカー50の起動時に、「写真を参考にしたアバター作成」が選択される。自動編集ユニット53は、カメラインターフェイス3により取得された写真画像データ73または予めストレージ15に格納されていた写真画像データ73から、編集対象のアバターデータ35を自動生成する。キャラクタ表示ユニット51は、キャラクタ表示領域29に、写真データ73の画像に、アバターデータ35に基づくアバター(アバター画像)30を重ねて表示する機能を含む。したがって、ユーザは、写真を参照しながら、選択可能な要素E1〜E14のバリエーションとして用意されているパーツを選択してアバター画像30を編集し、その編集されたアバター画像30を表示するためのアバターデータ75を生成できる。
保存・出力ユニット54は、編集中あるいは編集済みのアバターデータ75をストレージ15にファイルシステムが管理可能な状態で出力して格納(保存)する機能を含む。さらに、ストレージに格納されたアバターデータ35または編集中のアバターデータ75をGIF、JPEGなどの他のアプリケーションに共通なフォーマットの画像データ79に変換して出力する機能を含む。例えば、保存・出力ユニット54は、アバターデータ75を電子メールのコンテンツとして含まれた状態で表示できる素材あるいは絵文字のデータに変換する機能を含む。また、保存・出力ユニット54は、ゲームなどの他のアプリケーションにおいてアバターとして表示できるデータに変換する機能を含む。さらに、保存・出力ユニット54は、アバターデータ75を、ゲーム、メールなどの所望のアプリケーション用のデータに変換させるために、編集されたアバターデータ75を、無線インターフェイス17を使って変換用のサーバー宛に出力する機能を含む。
図6は、アバターメーカー50における操作の概要を示すフローチャートである。所望のアバター30を表示するアバターデータ75は、このフローチャートに沿った方法により生成できる。アバターメーカー50を起動すると、ステップ81において、最初のメニューが表示され、「新規作成」および「保存データ編集」が選択可能になる。最初のメニューには、さらに、「保存データ出力」、「サーバー通信」などの別の選択肢を含めることが可能である。「保存データ出力」が選択されると、保存・出力ユニット54により、アバターデータ75を変換する機能を起動する。「サーバー通信」が選択されると、無線インターフェイス17を介して外部のサーバーなどに接続し、サーバーからアバターデータをダウンロードしたり、サーバーにアバターデータをアップロードしたりする機能が起動する。
「保存データ編集」が選択されると、ステップ82において、ストレージ15に格納されているアバターデータ35を選択する機能が起動され、選択されたアバターデータ35が編集対象のアバターデータ35となる。「新規作成」が選択されると、図7に示すようなメニューが表示され、「写真を使わずにアバターを作成」、「カメラで撮影した写真を参考にアバターを作成」および「データBOXの写真を参考にアバターを作成」が選択可能になる。ステップ83において、「写真を使わずにアバターを作成」を選択すると、ステップ84においてディフォルトのアバターデータが編集中のアバターデータ75として設定される。写真を使うケースについては後に説明する。
編集対象のアバターデータ35が設定されると、編集ユニット52が起動され、アバターデータ75の生成(編集)が始まる。したがって、以降では、編集された(編集中)のアバターデータ75が、それにより表示されるアバター30の編集あるいは変更により、どのように編集(変更)されていくかを示している。
ステップ85で、図8(a)に示すように、編集中のアバターデータ75により、表示デバイス4のキャラクタ表示領域29にアバター30が表示される。表示デバイス4のキャラクタ表示領域29の下方には、アバターメーカー50の操作手順を示すテロップを表示する領域41と、操作切替用のアイコンとが表示される領域42とが設けられている。領域42にはメニューアイコン43が表示されており、編集中にこのメニューアイコン43をクリックすると、メニューに含まれている処理を選択できる。たとえば、ステップ86において、メニューから保存・出力を選択して、保存・出力ユニット54を起動できる。
保存・出力のメニューにより、ステップ87において編集中のアバターデータ75を保存・出力する方法が選択できる。ステップ88において、選択された方法により編集中のアバターデータ75を編集済み(編集後)のアバターデータ75として保存または出力できる。たとえば、アバターデータ75をストレージ15に格納することにより、アバターデータ75の編集を終了できる。編集中のアバターデータ75を他のアプリケーションで使用できる画像データに変換して出力することも可能である。
キャラクタ表示領域29にアバター30が表示されると、ステップ91において、第1の表示選択ユニット56が、複数のインデックス画像61をスクロールするように表示する(図8(a)〜(c)参照)。第1の表示選択ユニット56は、長方形のキャラクタ表示領域29の右横側に縦方向に延びるように配置された第1のスクロール領域21に、複数の選択可能要素36をそれぞれ示す複数のインデックス画像61をスクロール表示する。
縦方向にスクロール表示される複数のインデックス画像61は、それぞれ、選択可能な要素36、本例では要素E1〜E14を視覚的に分かりやすいように示すためのアイコンあるいは画像である。例えば、性別E1のインデックス画像61は、髪型の異なる2つの顔のアイコンであり、体型E2のインデックス画像61は、体型の異なる2つのボディのアイコンであり、髪型E4のインデックス画像61は、髪だけが貼り付けられたアイコンであり、これらはライブラリ72に予め用意されている。カーソルキー6の上下方向のキー6aおよび6cを操作することにより、図8(a)〜(c)に示すように、インデックス画像61は、上から下、下から上に移動(スクロール)する。
ステップ92において、第1のスクロールエリア21の交差枠28に表示されたインデックス画像61により示される要素(選択可能要素)36が若干拡大表示され、カーソルキー6の中央の選択キー6eを操作しなくても、自動的に選択中(選択状態)となる。図8(a)では、複数の選択可能要素36のうちの性別E1が選択中になり、図8(c)では、体型E2が選択中になる。
ステップ93において、第2の表示選択ユニット57が、複数のパーツ画像62をスクロールするように表示する(図9(a)および(b)参照)。第2の表示選択ユニット57は、キャラクタ表示領域29の下側に、左右方向に沿って配置された第2のスクロール領域22に、第1のスクロール領域21で選択中の選択可能要素36の複数のバリエーション37をそれぞれ示す複数のパーツ画像62をスクロール表示する。図9(a)では、縦方向にスクロール表示されたインデックス画像61のうち、髪型E4を示すインデックス画像61が選択中になっている。このため、図9(b)に示すように、横方向に、髪型E4のバリエーション37を示すパーツ画像62がスクロール表示される。
バリエーションのパーツ画像62を示す第2のスクロール領域22は、選択可能要素(要素)36のインデックス画像61を示す第1のスクロール領域21と一部が交差するように配置されている。その交差する部分28に表示されたインデックス画像61の要素36が選択中になり、第2の表示選択ユニット57によりバリエーション37がスクロール表示される。カーソルキー6の上下方向のキー61aおよび61cを操作してインデックス画像61を上下にスクロールすると、交差する部分28に表示される選択中のインデックス画像61が変わる。このため、カーソルキー6の上下方向のキー61aおよび61cを操作するだけで、交差する部分28から横方向に延びるように表示されるパーツ画像62も自動的に変わり、バリエーション37を選択できるようになる。
第2のスクロール領域22に横方向にスクロール表示される複数のパーツ画像62は、選択可能な要素36にバリエーションとして用意されている複数のパターンをそれぞれ示すパーツ画像である。たとえば、髪型E4では、72パターンのパーツ画像62がライブラリ72に用意されている。この例では、それらのパーツ画像62のうち、4つパーツ画像62が第2のスクロール領域22に同時に並んで表示され、カーソルキー6の左右方向のキー6bおよび6dを操作することにより、パーツ画像62は、左から右、右から左に移動(スクロール)し、残りのパーツ画像62を全て表示できる。
ステップ94において、第2のスクロール領域22のほぼ中央の枠27に表示されたパーツ画像62が若干拡大表示され、選択中になる。したがって、カーソルキー6の中央の選択キー6eを操作しなくても、自動的に、そのパーツ画像62のパターン(バリエーションの1つ)が選択中(選択状態)となる。図9(b)では、複数のバリエーション37を示すパーツ画像62のうち、ウェーブがかかった髪型が選択中になる。
ステップ95において、第2のスクロール領域22の枠27に表示されたパーツ画像62が拡大表示されて選択中になるのと実質的に同時に、表示中のアバター30は選択中のバリエーションが反映されたものに変わる。すなわち、キャラクタ表示領域29に表示されているアバター30の髪型も、パーツ画像62と同じパターン、すなわち、ウェーブがかかった髪型に変わり、アバター30の表示を変更あるいは編集できる。そして、編集中のアバターデータ75においても、髪型E4については、選択中のパーツ画像62であって、表示されたアバター30に含まれるパーツ画像62のパターンが選択済みとなる。
このアバターメーカー50においては、カーソルキー6の上下キー6aおよび6cによりインデックス画像61をスクロールさせ、カーソルキー6の左右キー6bおよび6dによりパーツ画像62をスクロールさせることにより、選択キー6eを操作しなくても、複数の選択可能要素36の複数のバリエーション37の中から所望のものが組み合わされたアバター30を表示できる。さらに、アバター30の表示を変更あるいは編集することにより、編集されたアバター30を表示するためのアバターデータ75を生成できる。このため、アバターメーカー50のユーザは、カーソルキー6を操作し、画像61および62を上下、左右にスクロールさせるだけで、アバター30の表示が変化するのを楽しむことができる。それとともに、カーソルキー6の上下左右の操作で変わるアバター30の表示を直観的あるいは視覚的に把握し、ユーザが望むアバター30を表示するためのデータ75を極めて簡単に生成できる。
さらに、アバター30が表示されるキャラクタ表示領域29の外側に、アバター30を変えるための選択可能要素36およびバリエーション37が、インデックス画像61とパーツ画像62とにより視覚的に分かりやすい状態で表示される。このため、選択中のバリエーション37と、スクロールすることにより次に選択中にできるバリエーション37とをユーザは直観的に把握できる。選択中の選択可能要素36と、次に選択中にできる選択可能要素36も直観的に把握できる。さらに、第2のスクロール領域22には、選択可能なパーツ画像62が並び、パーツ画像62には選択可能なパーツが抜き出された状態で表示され、さらに、中央の選択エリア27には選択中のパーツが拡大して表示されている。したがって、バリエーションとして用意されたパターンの微細な相違も、並んで表示されたパーツ画像62を比較することにより容易に把握することができる。このため、ユーザは、自分のイメージ、感性、雰囲気に、より適したパーツを的確に選択でき、アバター30の表示を変更できる。
ステップ96において、第3の表示選択ユニット58は、第2の表示選択ユニット57でバリエーションが選択中になっている選択可能要素36のプロパティ38および39の編集の可能性を判断する。第3の表示選択ユニット58は、交差する領域28に表示されているインデックス画像61の要素36に変えることができるプロパティ38および39が含まれているかを判断する。選択可能なプロパティ38または39があれば、ステップ97において、プロパティを選択するための表示を行う。
図10(a)は、要素E6(目)のインデックス画像61が交差領域28で選択中になっており、目のバリエーションに含まれるパターンの1つのパーツ画像62が選択中になっている。この要素E6は、第1のプロパティ38として色が選択でき、第2のプロパティ39として、拡大縮小、回転および移動が選択できる。このため、第3の表示選択ユニット58は、まず、第2のスクロール領域22の下側に、色選択用のアイコン25を表示する。
ステップ98において、カーソルキー6の選択キー6eが操作されると、第2のスクロール領域22の選択領域27に表示されているパーツ画像62のバリエーション37が固定されて選択済みになる。それとともに、カーソルキー6の操作対象が色選択アイコン25に移動する。カーソルキー6の選択キー6eを操作せずに、上下キー6aおよび6cの操作を行えば、インデックス画像61がスクロールして、異なる選択可能要素36が選択中になる。カーソルキー6の選択キー6eを操作せずに、左右キー6bおよび6dの操作を行えば、パーツ画像62がスクロールして、異なるバリエーション37が選択中になる。
ステップ99において、カーソルキー6の操作対象が色選択アイコン25に移動すると、図10(a)に示すようにアイコン25にスクロール可能なことを示す矢印アイコンが重ねて表示され、アイコン25の中央の窓25cに位置する色が選択中になる。それとともに、ステップ100において、選択中のパーツの色が、選択中の色に変わったアバター30がキャラクタ表示領域29に表示され、アバター30の表示が変わる。図10(a)の場合、カーソルキー6の左右キー6bおよび6dで、色選択アイコン25をスクロールすることにより、目の色が変わったアバター30が表示される。それともに、アバター30の表示に反映された第1のプロパティ(色)38が選択済みになり、編集中のアバターデータ75に保存される。
ステップ99において、カーソルキー6の選択キー6eが操作されると、色の選択が終了し、他に選択可能なプロパティがあれば、上記と同様の表示と選択を繰り返すことにより、他のプロパティの選択を行う。この要素E6(目)においては、拡大縮小、回転および移動が可能である。このため、図10(a)および(b)に示すように、第1のスクロール領域21の上側のカーソルキーに対応したアイコン26に、上下移動および回転を示す矢印が表示される。これにより、カーソルキー6を操作することにより、選択中のパーツ(目)の上下移動および回転移動が可能になる。
カーソルキー6の操作は、キャラクタ表示領域29に表示されているアバター30のパーツ(目)の表示に反映される。カーソルキー6の上下キー6aおよび6cを動かすと、アバター30の顔31に表示された目が上下に移動する。カーソルキー6の左右キー6bおよび6dを動かすと、アバター30の顔31に表示された目が内側および外側に回転する。それともに、アバター30の表示に反映された、これらのプロパティ39が選択済みになり、編集中のアバターデータ75に保存される。
同時に、領域42に「操作切替」のアイコン44が表示される。ユーザインターフェイス8のメニュー選択キーを操作することにより、アイコン26の表示を図10(c)に示すように切り替えることができる。カーソルキーに対応したアイコン26に、サイズ(表示面積)拡大縮小を示す矢印と、選択中のパーツである両側の目の間隔を広げる、狭める矢印とが表示される。これにより、カーソルキー6を操作することにより、選択中のパーツ(目)の拡大縮小および間隔の調整が可能になる。
カーソルキー6の操作は、キャラクタ表示領域29に表示されているアバター30のパーツ(目)の表示に反映される。カーソルキー6の上下キー6aおよび6cを動かすと、アバター30の顔31に表示された目の大きさが変わる。カーソルキー6の左右キー6bおよび6dを動かすと、アバター30の顔31に表示された両目の間隔が変わる。それともに、アバター30の表示に反映された、これらのプロパティ39が選択済みになり、編集中のアバターデータ75に保存される。
図10(d)は、他の要素E2(体型)が選択中のときの、カーソルキー操作を示すアイコン26の表示を示している。要素E2(体型)は、バリエーションがなく、体型を示すインデックス画像61が交差領域28に表示された状態で保持されると(数10ms程度、スクロールされないと)、その要素E2(体型)が選択中になる。あるいは、カーソルキー6の選択キー6eを操作しても、その要素E2(体型)を選択中にできる。他の要素においても同様である。
要素E2(体型)では、バリエーションのパーツ画像62が表示される代わりに、アイコン26に図10(d)に示すように、体型が太る、やせる表示と、顔31およびボディ32との比率を変える表示とが示される。したがって、カーソルキー6の上下キー6aおよび6cを動かすと、表示されているアバター30のボディ32の太さが変わる。カーソルキー6の左右キー6bおよび6dを動かすと、表示されているアバター30の顔31とボディ32とのバランスが変わる。それともに、アバター30の表示に反映された、これらのプロパティ39が選択済みになり、編集中のアバターデータ75に保存される。
図11は、要素E14(アクション)のバリエーション37を選択している様子を示している。アクションを示すインデックス画像61が交差領域28に表示されると、アクションのバリエーションを示すパーツ画像62が第2のスクロール領域22に表示される。そして、選択領域27に表示されたパーツ画像62のアクションが選択中になり、キャラクタ表示領域29に表示されているアバター30は、選択中のアクションの動きを開始する。図11に示したアバター30は、怒りのアクションを行い、両手を上下に動かし、顔31を前後に動かす(前後に動かしているように見せる)。
このような動き(アクション)は、典型的には、アバターデータ35に、人体の骨に相当するボーンという棒状のリンク部材の連結を示すデータ(ボーンデータ)と、人体の皮膚に相当するスキンを示すデータ(スキンデータ)とを含めることにより実現できる。人体の動きはボーンデータにより提供できるので、アバター30をボーンデータに、人体の表面を示すスキンデータを被せた状態で表示することにより、種々のアクションを表示できる。要素E14のバリエーション37のパーツ画像62は、予めライブラリ72に用意されている幾つかのセットのボーンデータのいずれかを選択することを指示し、他の要素36のバリエーション37は予めライブラリ72に用意されているパターンの組み合わせによるスキンデータの生成を指示する。したがって、ボーンデータを予め用意することにより、様々な動きをアバター30に与えることが可能となる。また、サーバー通信などにより、アバターメーカー50により選択できるボーンデータのバリエーションを増やすことにより、様々な動きを行うアバター30を表示するためのデータ35を簡単に生成できる。
ステップ83において、図7に示した「カメラで撮影した写真を参考にアバターを作成」を選択すると、ステップ101において、ディスプレイ4に、図12に示すようなカメラを選択するメニューが表示される。このメニューでは、アウトカメラと、インカメラとの選択が可能となる。インカメラを用いることにより、ユーザは自らの顔の写真を参考にアバターを作成できる。アウトカメラを用いることにより、他人の顔の写真を参考にアバターを作成できる。
具体的には、図13に示すように、ステップ110で、カメラを用いて写真を撮って、ステップ111で、その画像を保存する。画像はたとえばマイピクチャーなどの汎用的なフォルダに保存される。次に、ステップ112で、画像保存状態を確認し、ステップ113で切り出しを行う。ステップ113では、図14に示すように写真に含まれる顔の輪郭を合わせる作業が行われる。この段階で、図6に示したように、ステップ102において、自動編集ユニット53が起動され、切り出された顔の画像が自動解析される。自動編集ユニット53により、各選択可能要素36の適当なバリエーション37およびプロパティ38および39が選択され、アバターデータ75が自動生成される。
ステップ103において、キャラクタ表示領域29に、解析元の写真34と、自動生成されたアバターデータ75によるアバター30とが重複して表示されるように設定される。図15(a)に示すように、写真34に、アバター30が重ねて表示されることにより、ユーザは、写真34と、それを参照して生成されたアバター30とを直観的に比較できる。また、ユーザは、写真34と、アバター30とを重ねた状態で比較しながら、上記に示した編集作業(編集操作)を行うことができる。
図15(b)に示すように、重複して表示することと、アバター30だけをキャラクタ表示領域29に表示することとを切り換えることも可能である。さらに、図示していないが、写真34をアバター30の上に半透過の状態で表示したり、写真34だけを表示することも可能であり、これらの表示をユーザは任意に切り換えることが可能である。
アバター30と写真34とを重複して表示するシステムは限定されないが、典型的には、キャラクタ表示領域29に、表示レイヤーを複数設定するシステムを採用できる。1つの表示レイヤーをアバター30の表示に割り当て、他の1つの表示レイヤーを写真34の表示に割り当てることが可能である。ユーザの操作により、これらの表示レイヤーの前後を入れ替えたり、表示レイヤーを半透過に設定したりすることにより、アバター30と、写真34とを単独で、あるいは単純に重ねて、さらに種々の状態で重ねて表示できる。
なお、アバターメーカー50において、スクロール領域21および22の配置、プロパティの選択を行うアイコン25および26の配置は上記に限定されるものではない。図16に示すように、アイコン25を第2のスクロール領域22の上に配置しても良い。さらに、図17に示すように、アイコン25を第1のスクロール領域21の近傍に配置しても良い。図17に示した配置は、携帯電話の長方形の表示デバイス4を横長に使用して表示するときに適している。したがって、携帯電話の表示デバイス4が縦長に用いられているか、横長に用いられているかを自動的に検出し、横長に用いられているときは図17に示した配置に自動的に変わり、縦長に用いられているときは図16に示した配置に自動的に変わるような機能を付加しても良い。
以上に説明したように、アバターメーカー50は、ディフォルトのアバターデータ、保存済みのアバターデータあるいは自動生成されたアバターデータによりアバター30を表示させ、そのアバター30を編集することにより所望のアバター30を表示させるアバターデータ75を生成するものである。したがって、アバター30を構成する各パーツあるいはアイテムが全くない状態から1つ1つを選択して追加していくタイプの生成装置でない。アバターメーカー50では、キャラクタ表示領域29に、各選択可能要素36のバリエーション37の1つが選択された状態のアバター30が常に表示される。このため、ユーザは、編集あるいは生成しているアバター30の全体を常に把握することが可能である。さらに、ユーザは、選択可能要素36のバリエーション37を選択するときは、直観的に、ユーザが望むアバター30に近づいているか否かを把握できる。
さらに、このアバターメーカー50は、選択可能要素と、そのバリエーションをスクロール表示し、所定の位置に表示されたバリエーションが選択中になる編集機能(編集方法)を採用している。このため、所定の位置、例えば、選択領域27に表示された1つのバリエーションが常に選択中になり、その選択中のバリエーション(パーツ画像)62を備えたアバター30を表示できる。また、パーツ画像62をスクロールすることにより選択中のバリエーションを簡単に変えることができる。このため、編集中のアバター30の変化を直観的(視覚的)に把握でき、その結果が編集中のアバターデータ75に保存される。
さらに、表示に反映されたアバター30のバリエーション(パーツ画像)62を自動的に選択済みにすることにより、カーソルキー6の選択キー6eで選択済みにする操作をしなくても、選択中のバリエーションが反映されたアバターデータ75が生成される。例えば、カーソルキー6の上下あるいは左右の方向キーを用いて、次の選択可能要素36について、バリエーション37を選択中にするだけで、前の選択可能要素36について選択中であったバリエーション37は選択済みとなり、編集中のアバターデータ75に保存される。このため、ユーザは、単に、次々と選択可能要素36についてバリエーション37を選択中にするだけで、ユーザの意図が反映されたアバター30を表示でき、そのアバター30を表示するためのアバターデータ75を生成できる。
また、インデックス画像61をスクロール表示する第1のスクロール領域21と、パーツ画像62をスクロール表示する第2のスクロール領域22とを直交するように配置している。この配置を採用することにより、カーソルキー6の上下キー6aおよび6cによりインデックス画像61をスクロールし、左右キー6bおよび6dによりパーツ画像62をスクロールすることを直観的に把握できる。したがって、ユーザはヘルプメニューなどをほとんど用いなくてもアバターメーカー50を操作できる。
第1のスクロール領域21と第2のスクロール領域22との配置を逆転しても良い。この場合は、左右キー6bおよび6dによりインデックス画像61をスクロールして異なる選択可能要素36を選択中にできる。また、カーソルキー6の上下キー6aおよび6cによりパーツ画像62をスクロールして異なるバリエーション37のパターンを選択中にできる。いずれの場合も、ユーザは、携帯電話などに多用されており、操作に慣れているカーソルキー6により、上下および左右のスクロール方向を選択するだけで、所望のパーツを選択し、アバター30を自由自在に編集することができる。
また、インデックス画像61およびパーツ画像62をスクロール表示する選択機能(選択方法)を採用することにより、表示可能な面積の小さい携帯電話などのポータブルの情報端末においても、数多くのバリエーションを大きな表示により、見やすく表示できる。さらに、インデックス画像61とパーツ画像62とはアバターのある部分の特徴を抜き出して示しているので、それらの画像により選択中およびその前後のバリエーションが視覚的に分かりやすい。このため、選択中のバリエーション37およびスクロールすることにより次に選択できるバリエーション37を容易に把握できる。さらに、選択中の選択可能要素36および次に選択中にできる選択可能要素36も容易に理解できる。このため、ユーザに、適切に選択できる機会を与えるような表示となっている。
また、これらのスクロール領域21および22を、キャラクタ表示領域29を囲むように配置することにより、狭い表示面積を効率良く利用でき、キャラクタ表示領域29の面積を確保でき、編集中のアバター30を大きく表示できる。
さらに、アバターメーカー50の編集ユニット52は、選択可能要素36を選択するための第1の表示選択ユニット56、バリエーション37を選択するための第2の表示選択ユニット57に加え、プロパティ38および39を選択するための第3の表示選択ユニット58を備えている。このため、第2の表示選択ユニット57で選択すべきバリエーション37のパターンに、色、位置などの、1つの選択可能要素36のバリエーション37に共通な内容を含めずに済む。したがって、第2の表示選択ユニット57がスクロール表示することにより選択するパターンを削減でき、選択に要するソフトウェアおよびユーザの負荷を低減できる。
さらに、このアバターメーカー50は、顔31を含むアバター30の生成に特化された機能を含んでいる。たとえば、複数の顔パーツのうち、目、眉毛は、間隔が広い狭いで表情が変わり、さらに、傾きを変えることによって表情が変わる。したがって、パーツの表示面積、表示位置を可変にするだけではなく、間隔、傾きを含めて選択あるいは調整することが可能であり、より多くの表情をもったアバター30を表示できる。また、そのような表情のアバター30を編集することにより、そのような表情のアバター30を表示するためのデータ75を生成できる。
さらに、このアバターメーカー50は、顔31に加えてボディ32の少なくとも一部を表示するデータを含むアバターデータ35および75を処理できる。さらに、アバターデータ35および75により、動き(アクション)のあるアバター30を表示できる。アバターデータ35および75は、アクションを表現するための多節のボーンデータと、ボーンデータの節点と関連づけられたスキンデータとを含み、それらを組み合わせることにより種々の動きをもち、様々な表情のアバター30を表示できる。また、アバターメーカー50により、アバター30が所望の動きをするように編集することにより、そのような動きをするアバター30を表示させるアバターデータ75を生成できる。アバターメーカー50は、幾つかのボーンデータのセットの中から所望の1つを選択することにより異なるアクションを行うアバター30を表示するデータ75を生成できる。
さらに、このアバターメーカー50は、キャラクタ表示領域29に、他の画像、典型的には写真画像34に、アバター30を重ねて表示することができる。このため、写真画像34を参照しながら、アバターデータ35(75)を編集することが可能であり、ユーザ自身の顔をディフォルメしたアバター30を表示するデータ35(75)を簡単に生成できる。
図18は、アバターメーカーの異なる例を示すブロックダイアグラムである。このアバターメーカー50aもアバター30の表示を編集あるいは変更することにより、編集前のキャラクタを表示するためのデータ(キャラクタ表示用データ、アバターデータ)35から、所望のアバターを表示するためのデータ(編集されたキャラクタ表示用データ、編集されたアバターデータ)75を生成する。したがって、上記のアバターメーカー50と共通する構成および機能については、共通の符号をつけて説明を省略する。
このアバターメーカー50aにおいては、タッチパネル4aが有効になっている。したがって、カーソル6に加え、あるいはカーソル6に代えて指4fによりアバターメーカー50aの各機能を操作できる。指4fに代えてタッチペンで操作してもよい。たとえば、第1の表示選択ユニット56は、第1のスクロール領域21が指4fにより上下にフリックされると、インデックス画像61を上下にスクロールする。第2の表示選択ユニット57は、第2のスクロール領域22が指4fで左右にフリックされると、パーツ画像62をスクロールする。
また、第3の表示選択ユニット58xは、カーソルキーに対応した上下左右選択用のアイコン26のボタンが指4fでタップされると、それぞれの機能を選択する。インデックス画像61やパーツ画像62がタップされると、第1の表示選択ユニット56は選択可能要素36を決定(選択済み)とし、第2の表示選択ユニット57はバリエーション37を決定(選択済み)とする。さらに、アバター30の部位が指4fでタップされると、第1の表示選択ユニット56は、その部位に対応するインデックス画像(選択可能要素)61を交差枠28にセットしてバリエーション37を選択できるようにする。
また、キャラクタ表示ユニット51は、キャラクタ表示領域29が指4fでピンチされるとディスプレイ4内のキャラクタ表示領域29のサイズを変えたり、キャラクタ表示領域29に表示されているアバター30の大きさを変えたりすることができる。アバター30がキャラクタ表示領域29に収まらないサイズになると、キャラクタ表示ユニット51は、キャラクタ表示領域29が指4fでフリックされるとアバター30をスクロール表示する。これらの指4fによるアバターメーカー50の操作は一例であり、これらに限定されない。
ディスプレイ4のキャラクタ表示領域(アバター表示枠)29の上部がキャプション枠41になっている。このキャプション枠41に、編集ユニット52のヘルプ機能59が、編集の各段階においてユーザが操作可能な項目を示唆するメッセージや、エラーメッセージを表示する。
このアバターメーカー50aにおいては、第1のスクロール領域21と第2のスクロー路領域22との交差部(交差枠)28が、選択中の選択可能要素のインデックス画像61を示すとともに、選択中のバリエーション37のパーツ画像62を示す選択枠27を兼ねている。このアバターメーカー50aは、第3の表示選択ユニット58xおよび58yを備えている。第3の表示選択ユニット58xは、カーソル表示26を用いてプロパティ39を表示選択させる。第3の表示選択ユニット58yは、第2のスクロール領域22を用いてプロパティ38を表示し、交差枠28に表示されたプロパティ38を選択する。この例では、第3の表示選択ユニット58yにパーツの色を選択する機能58eが含まれている。
第3の表示選択ユニット58xは、第1のスクロール領域21および第2のスクロール領域22の表示の代わりに、キャラクタ表示領域29の下側にカーソル表示26を表示してプロパティ39を選択可能とする。さらに、プロパティ39を選択するために複数のカーソル表示26xおよび26yを必要とする要素36、たとえば眉毛(E5)、目(E6)においては、複数のカーソル表示26xおよび26yを表示する。そして、一方のカーソル表示26xを拡大して表示し、そのカーソル表示26xによる選択を有効にする。このため、ユーザは、プロパティ39として選択可能な項目を、画面を切り替えなくても一目で理解できる。
さらに、このアバターメーカー50aは、顔31およびボディ32を3次元(3D)で表示させるアバターデータ35を編集し、所望の3Dアバターを表示するアバターデータ75を生成できる。このため、編集ユニット52は、アバター30を3次元で表示するユニット120を含む。また、キャラクタ表示領域29の左右および下側に、アバター30がキャラクタ表示領域29に表示される向きを制御するためのボタン124、125および126が表示される。
図19ないし図23に、アバターメーカー50aでアバター30が編集され、アバターデータ75が生成される様子を示している。アバターデータ75が生成される処理の流れは、図6のフローチャートに示した通りである。
図19に示すように、アバターメーカー50aにおいて編集が開始されると、ディスプレイ4のキャラクタ表示領域29の横の第1のスクロール領域21に、複数のインデックス画像61が上下にスクロールするように表示される。キャラクタ表示領域29の下側の交差枠28にインデックス画像61が拡大表示され、そのインデックス画像61が指4fあるいはカーソルキー6により選択されると要素36が選択中になる。また、所定の時間、交差枠28に表示されたインデックス画像61が変わらないと、交差枠28に表示されたインデックス画像61の選択可能要素36が選択中になる。
図20に示すように、交差枠28のインデックス画像61の選択可能要素36が選択中になると、ディスプレイ4のキャラクタ表示領域29の下の第2のスクロール領域22に、交差枠28から左に延びるように、複数のパーツ画像62が左右に表示される。複数のパーツ画像62は、指4fあるいはカーソル6で左右にスクロールするように表示される。スクロール表示されるパーツ画像62は、交差枠28により選択された選択可能要素36のバリエーション37を示す。第1のスクロール領域21との交差枠28にパーツ画像62が拡大表示され、交差枠28が選択枠27となる。交差枠28のパーツ画像62が指4fあるいはカーソルキー6により選択されるとバリエーション37が選択中になる。所定の時間、交差枠28に表示されたパーツ画像62が変わらないと、交差枠28に表示されたパーツ画像62のバリエーション37が選択中になる。それとともに、キャラクタ表示領域29に表示されているアバター30の該当するパーツが交差枠28に表示されたパーツに変わる。
図21に示すように、バリエーション37が選択中になると、第3の表示選択ユニット58yにより、第2のスクロール表示領域22に、選択中のバリエーション37の複数のプロパティ38がスクロール表示される。このアバターメーカー50aでは、第2のスクロール領域22に、パーツの選択可能な色(色の表示)63がスクロール表示される。それとともに、キャラクタ表示領域29に表示されているアバター30の該当するパーツの色が、交差枠28に示された色63に変わる。交差枠28の色が指4fあるいはカーソルキー6により選択されたり、所定の時間、交差枠28に表示された色63が変わらないと、交差枠28に表示された色63が選択中になる。また、選択されたパーツのバリエーション37とプロパティ(色)38が、編集中のアバターデータ75に保存される。
図22に示すように、選択中の要素36について、色の他に選択可能なプロパティ39があると、ディスプレイ4のキャラクタ表示領域29の下側に、カーソルキー対応のアイコン26xおよび26yが表示される。その際、第1のスクロール領域21および第2のスクロール領域22の表示はいったん消去され、アイコン26xおよび26yが代わって表示される。同時にディスプレイ4の下端の領域42に、操作切替アイコン44が表示される。それぞれのアイコン26xおよび26yの操作およびそれによりアバター30のパーツがどのように変動するかは、図10に基づき説明した通りである。操作切替アイコン44により、アイコン26xおよび26yのうち、有効なアイコンを選択でき、有効なアイコンは大きく表示される。
図23に示すように、キャラクタ表示領域29のアバター30を回転して表示できる。髪型(E4)のバリエーション37などのように、正面だけでは3次元で表示されたときの形状などが特定できないパーツにおいては、アバター30を回転して側面および背面を表示することが望ましい。キャラクタ表示領域29の左側のボタン124を指4fでタップするか、テンキー7の数字「4」をタップすることによりアバター30を右側に回転させることができ、左側面および背面を表示できる。キャラクタ表示領域29の右側のボタン126を指4fでタップするか、テンキー7の数字「6」をタップすることによりアバター30を左側に回転させることができ、右側面および背面を表示できる。キャラクタ表示領域29の下側のボタン125を指4fでタップするか、テンキー7の数字「5」をタップすることによりアバター30を正面に向くように表示できる。
3次元でアバター30を表示するためのアバターデータ35および75の一例は、人体の骨に相当するボーンという棒状のリンク部材の連結を示すデータ(ボーンデータ)と、人体の皮膚に相当する3次元のスキンを示すデータ(スキンデータ)とを含むものである。3次元の人体の動きもボーンデータにより提供できる。アバター30をボーンデータに、人体の表面を示す3次元のスキンデータを被せた状態で表示することにより3次元のアバター30を表示できる。さらに、3次元で種々のアクションを行うアバター30を表示できる。
なお、テンキー7のうち、上記の数字キーに加え、他のキーもアバターメーカー50aの操作に利用できる。クリアキーは、前の編集項目に戻るために使用できる。終了キーはアバターメーカー50aを終了するために使用できる。
図24ないし図26は、アバターメーカー50aで追加された選択可能要素36の例を示している。アバターメーカー50aで追加された選択可能要素36の1つは、アバター30の服装(以降ではクローゼットと呼ぶ)である。図24(a)〜(c)は、クローゼットに用意されているバリエーションの1つ(テーマ、項目)である「羊の執事」というテーマで用意されたバリエーション37の幾つかを示している。図24(a)はかぶり物、図24(b)はお面、図24(c)は着ぐるみの一例である。
クローゼットは、この他に、洋装、和装、ウェディングドレス、特定のテーマのお面、着ぐるみといったテーマ(項目)を含む。また、クローゼットは、アバター30のボディ32に関連するパーツを変更するだけにとどまらず、顔31に関連するパーツも含む。クローゼットに関連するそれぞれのテーマは、より小規模なテーマ(中項目および/または小項目)を含む。洋装は、たとえば、フォーマル、セミフォーマル、カジュアルなどの小項目を含み、それぞれの小項目が複数のバリエーション37を含む。
アバターメーカー50aでさらに追加された選択可能要素36の1つは、アバター30の背景33である。図25(a)〜(c)は、背景33のバリエーション37の幾つかの例を示している。図25(a)は背景33の色を設定した例を示し、図25(b)は背景33に素材を読み込んだ例を示し、図25(c)は背景33に写真を読み込んだ例を示している。
アバターメーカー50aでさらに追加された選択可能要素36の1つは、アバター30の顔31の化粧(メイク)である。図26(a)〜(c)は、メイクのバリエーション37の幾つかの例を示している。図26(a)はメイクなし、図26(b)は口紅メイク、図26(c)はチークメイクを示している。口紅メイクおよびチークメイクにおいては、アバター30の顔31のメイクの対象となる場所の色、柄などをプロパティ38として変更することができる。メイク(メイク設定)のバリエーション37には、この他に、ピアス、ネックレスなどが含まれる。
図27は、図6のステップ87において、保存・出力メニューで「サーバー通信」が選択された場合を示している。保存・出力メニューには「サーバー通信」というボタン表示の代わりに、アバター30を使用したい具体的なアプリケーションの名称をボタン表示してもよい。図18に示すように、アバターメーカー50aの保存・出力ユニット54は、メモリ(ストレージ)15にアバターデータ75を保存する機能54aと、アバターデータ75をJPEGなどの画像データに変換して出力する機能54cと、アバターデータ75をサーバーへアップロードする機能54bとを含む。
「サーバー通信」が選択されると、アップロードする機能54bが、編集されたアバターデータ75を、アバターメーカー50aが動く端末1の無線インターフェイス17、基地局131、インターネット132を介してエンコード用のサーバー135にアップロードする。エンコードサーバー135は、アプリケーションのキャラクタ181、メール添付素材(画像)182、メール添付素材(アニメーション)183、ゲームデータ(ゲーム用のキャラクタ)184、ユーザインターフェイス用のキャラクタ185などの用途(アプリケーション)の中からユーザが指定した用途で使用できるデータにアバターデータ75を変換する。たとえば、ユーザAが作ったアバター30aのアバターデータ75aと、ユーザBが作ったアバター30bのアバターデータ75bとがサーバー135にそれぞれアップロードされる。それにより、アバター30aおよび30bがキャラクタとして登場するゲームデータ138がユーザAなどの端末1に提供される。
端末1の側に、アバターデータ75を所望のアプリケーション用にエンコードする機能を付与してもよい。しかしながら、サーバー135でアバターデータ75をエンコードするサービスを提供することにより、サーバー135の資源を用い、端末1の限られた容量では実装できない数多くのアプリケーション用にアバターデータ75を変換できる。また、サーバー135を利用することにより、変換に要する処理時間を短縮でき、さらに、新しく登場したアプリケーションや、アップデートされたアプリケーションに対応したキャラクタにアバターデータ75を変換することも容易となる。
これらの機能を備えたアバターメーカー50、および/または、図6に示したアバターデータの製造方法は、プログラムまたはプログラム製品71として、適当なメディアに記録して提供できる。また、プログラム71はインターネットなどのコンピュータネットワーク、データ送受信網を通じて提供できる。さらに、上記では携帯電話の1つのアプリケーションとしてアバターメーカー50を実装した例を説明しているが、携帯電話に限らずPDAなどの他のポータブルな情報処理端末に実装することも可能である。上述したアバターメーカー50は、表示面積が小さく、上下左右を選択できるカーソルキー6あるいはそれに類似するユーザインターフェイスを備えた端末に適している。さらに、パーソナルコンピュータなどの個人的な情報処理装置あるいは情報端末にインストールして用いることも可能である。また、アバターメーカー50のプログラム71をサーバーに実装してウェブサーバーとして機能させ、HTMLなどの言語を介して携帯電話を単なる表示デバイス4およびユーザインターフェイス8の機能を提供する操作端末として使用するシステムを構築することも可能である。