(57)【要約】【課題】洋服のゆれやふくらみやしわなどが、ユーザの動きに対してリアルな仮想試着体験を提供する。【解決手段】情報取得装置１１または１２は、試着対象となる洋服を着用したモデルや、それらの洋服の仮想試着を行おうとするユーザの、画像情報、関節の座標位置を示す情報を取得する。表示画像制御装置１３は、モデルの骨格情報とモデルの画像情報を対応付けて、対応情報として記憶とともに、ユーザの骨格情報と対応情報とのマッチング処理を行い、仮想試着状態に対応する表示画像を生成する。表示装置１４は、仮想試着状態に対応する画像を表示する。【選択図】図１
2013190974.tif 000002
【特許請求の範囲】
【請求項１】
第１の人物を含む第１の画像情報と、上記第１の人物の骨格情報である第１の骨格情報とを対応付けて記憶する記憶手段と、
第２の人物を含む第２の画像情報と、上記第２の人物の骨格情報である第２の骨格情報とを取得し、前記記憶手段に記憶されている前記第１の骨格情報のうち、上記第２の骨格情報に類似した上記第１の骨格情報を検出する検出手段と
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記第１の画像情報を解析することにより前記第１の骨格情報を取得する第１の取得手段
をさらに備えることを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
赤外線を対象物に対して照射発光する赤外線照射発光手段と、
前記赤外線照射発光手段により照射発光された赤外線を撮像する奥行き測定用赤外線カメラと、
前記前記奥行き測定用赤外線カメラにより撮像された情報に基づいて、前記第１の骨格情報を取得する第２の取得手段
をさらに備えることを特徴とする情報処理装置。
【請求項４】
請求項１〜３のいずれかに記載の情報処理装置において、
前記記憶手段は、前記第１の画像情報の取得時間を示す情報を、前記第１の画像情報および前記第１の骨格情報とに、さらに対応付けて記憶する
ことを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置において、
前記検出手段は、前記記憶手段に記憶されている前記第１の画像情報の取得時間を示す情報に基づいて、前記記憶手段に上記第１の画像情報および前記第１の骨格情報と対応付けられて記憶されている前記第１の骨格情報のうち、前記第２の骨格情報に類似した上記第１の骨格情報を検出する
ことを特徴とする情報処理装置。
【請求項６】
請求項１に記載の情報処理装置において、
前記検出手段により検出された前記第１の画像情報を画像処理する画像処理手段と、
前記画像処理手段により画像処理されて生成された情報の表示を制御する表示制御手段と
をさらに備えることを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置において、
前記画像処理手段は、前記検出手段により検出された前記第１の画像情報に含まれる前記第１の人物の背景を他の背景に合成する
ことを特徴とする情報処理装置。
【請求項８】
請求項６に記載の情報処理装置において、
前記画像処理手段は、前記検出手段により検出された前記第１の画像情報に含まれる前記第１の人物の顔の部分の画像を、前記第２の人物の顔の画像を入れ替えて合成する
ことを特徴とする情報処理装置。
【請求項９】
請求項６に記載の情報処理装置において、
前記画像処理手段は、前記検出手段により検出された前記第１の画像情報に含まれる前記第１の人物の画像を、前記第２の人物の体形に合わせて拡大または縮小させる
ことを特徴とする情報処理装置。
【請求項１０】
請求項６に記載の情報処理装置において、
前記第１の人物および前記第２の人物をそれぞれ撮像する撮像手段をさらに備え、
前記第１の画像情報および前記第２の画像情報は、前記撮像手段により撮像されて得られるものであり、
前記画像処理手段は、前記検出手段により検出された上記第１の画像情報に含まれる上記第１の人物の画像を、上記第１の人物と上記撮像手段との位置関係と、上記第２の人物と上記撮像手段との位置関係とに基づいて、平行移動、もしくは、拡大または縮小させる
ことを特徴とする情報処理装置。
【請求項１１】
請求項１に記載の情報処理装置において、
前記第１の記憶手段は、前記第１の人物を含む前記第１の画像情報を、上半身と下半身とに分けて記憶するとともに、上記第１の人物の骨格情報である第１の骨格情報を、上半身と下半身とのそれぞれの第１の画像情報に対応付けて記憶し、
前記検出手段は、前記第２の人物を含む前記第２の画像情報と、上記第２の人物の骨格情報である第２の骨格情報とを、上半身と下半身それぞれ個別に取得するとともに、前記記憶手段に記憶されている上半身と下半身それぞれの前記第１の骨格情報のうち、上半身と下半身それぞれの上記第２の骨格情報に類似した上記第１の骨格情報を検出する
ことを特徴とする情報処理装置。
【請求項１２】
第１の人物を含む第１の画像情報と、上記第１の人物の骨格情報である第１の骨格情報とを対応付けて記憶する記憶ステップと、
第２の人物を含む第２の画像情報と、上記第２の人物の骨格情報である第２の骨格情報とを取得する取得ステップと、
前記記憶ステップの処理により記憶されている前記第１の骨格情報のうち、前記取得ステップの処理により取得された前記第２の骨格情報に類似した上記第１の骨格情報を検出する検出ステップと
を含むことを特徴とする情報処理方法。
【請求項１３】
第１の人物を含む第１の画像情報と、上記第１の人物の骨格情報である第１の骨格情報とを対応付けて記憶する記憶ステップと、
第２の人物を含む第２の画像情報と、上記第２の人物の骨格情報である第２の骨格情報とを取得する取得ステップと、
前記記憶ステップの処理により記憶されている前記第１の骨格情報のうち、前記取得ステップの処理により取得された前記第２の骨格情報に類似した上記第１の骨格情報を検出する検出ステップと
を含むことを特徴とする処理をコンピュータに実行させるプログラム。
を含む処理を行わせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
服が購入される際、カタログを参考にするか、実店舗で試着することにより、それぞれの好みに応じた服が選択されて、購入される。ここで、実店舗で試着することにより購入する服を選択しようとした場合、購買者と服との多数の組み合わせを確認するには時間がかかってしまう。一方、購入する服をカタログで選択しようとした場合、カタログでは購入者自身が服を着たイメージがわきづらいことが多いと思われる。
【０００３】
これらを解決するために、例えば、試着者の画像から取得した試着者の体型（身長、体重、輪郭等）を用いて衣服を変形して、試着者が実際に衣服を着たときの様子に近い画像を生成することができる技術がある（例えば、特許文献１など）。
【０００４】
また、例えば、画像上の動き情報から過去の姿勢と現在の姿勢との変化を算出し、過去の姿勢に変化を加算して現在の姿勢を推定することができる技術がある（例えば、非特許文献１など）。
【０００５】
また、例えば、あらかじめ衣服のＣＧデータを生成し、カメラで撮影された購入者の動画像に、衣服のＣＧデータを合成して表示させ、購入者がカメラの前で動けば、購入者が衣服を着用した(すなわち、試着した)状態で同じ動きをする画像を見ることができる技術がある（例えば、特許文献２、特許文献３など）。
【０００６】
また、例えば、あらかじめ衣服のＣＧデータを生成し、カメラで撮影された購入者の静止画像をＣＧ化し、これに、衣服のＣＧデータを合成して表示させることができる技術がある（例えば、非特許文献２など）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３３１４７０４号公報
【特許文献２】特許４４７３７５４号公報
【特許文献３】特開２００５−２５６２３２公報
【非特許文献】
【０００８】
【非特許文献１】星野准一、斉藤啓史：ビデオ映像とCGの合成によるヴァーチャルファッションの実現、情報処理学会誌、Vol. 42、No. 5、2001
【非特許文献２】渡辺弥寿夫、美濃 導彦、坂口 嘉之：自分に合った衣服をオーダーする : 仮想服飾オーダーメイドシステム、電子情報通信学会誌 82(4),404-411, 1999
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、例えば、特許文献１などに記載の技術では、試着者の体型情報を取得して体型はある程度シミュレートしているが、試着者の動き（姿勢）を衣服に反映させることはできない。そのため、実際の試着のように衣服を着用して動いて、様々な姿勢のときの様子を再現することはできない。
【００１０】
また、非特許文献１などに記載の技術では、画像から、変化、すなわち、人の動きを順次加算しているため、変化の推定誤差が蓄積する。そのため、非特許文献１などに記載の技術では、長時間の追跡を行うと推定に失敗する。
【００１１】
また、非特許文献２、特許文献２、または、特許文献３などに記載の技術では、あらかじめＣＧデータが生成されている衣服しか着用の仮想体験はできず、ＣＧデータの生成および合成には膨大な演算量が必要であることから、これらの技術を用いて仮想的な試着体験を行うためには、大変な時間や労力がかかるうえ、服のねじれや動きに伴って発生するしわ等のリアリティが出せないといった不具合が発生してしまう恐れがある。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、より少ない演算量で、動きに伴って発生する服の動き、ふくらみ、しわ、ねじれなどをリアルに表現可能なようにすることができるようにするものである。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明の一側面においては、第１の人物を含む第１の画像情報と、第１の人物の骨格情報である第１の骨格情報とを対応付けて記憶し、第２の人物を含む第２の画像情報と、第２の人物の骨格情報である第２の骨格情報とを取得し、記憶手段に記憶されている第１の骨格情報のうち、第２の骨格情報に類似した第１の骨格情報を検出する。
【００１４】
また、本発明の他の側面では、第１の画像情報を解析することにより第１の骨格情報が取得される。
【００１５】
また、本発明の他の側面では、赤外線が対象物に対して照射発光され、赤外線が撮像され、撮像された情報に基づいて、第１の骨格情報が取得される。
【００１６】
また、本発明の他の側面では、第１の画像情報の取得時間を示す情報が、第１の画像情報および第１の骨格情報とにさらに対応付けられて記憶される。
【００１７】
また、本発明の他の側面では、記憶されている第１の画像情報の取得時間を示す情報に基づいて、第１の画像情報および第１の骨格情報と対応付けられて記憶されている第１の骨格情報のうち、第２の骨格情報に類似した第１の骨格情報が検出される。
【００１８】
また、本発明の他の側面では、検出された第１の画像情報が画像処理されて、その表示が制御される。
【００１９】
また、本発明の他の側面では、検出された第１の画像情報に含まれる第１の人物の背景に他の背景が合成される。
【００２０】
また、本発明の他の側面では、検出された第１の画像情報に含まれる第１の人物の顔の部分の画像が、第２の人物の顔の画像に入れ替えられて合成される。
【００２１】
また、本発明の他の側面では、検出された第１の画像情報に含まれる第１の人物の画像が、第２の人物の体形に合わせて拡大または縮小される。
【００２２】
また、本発明の他の側面では、第１の人物および第２の人物がそれぞれ撮像され、第１の画像情報および第２の画像情報は、撮像されて得られるものとされ、検出された第１の画像情報に含まれる第１の人物の画像は、第１の人物と撮像手段との位置関係と、第２の人物と撮像手段との位置関係と基づいて、平行移動、拡大、または、縮小される。
【００２３】
また、本発明の他の側面では、第１の人物を含む第１の画像情報が、上半身と下半身とに分けて記憶されるとともに、第１の人物の骨格情報である第１の骨格情報も、上半身と下半身とのそれぞれの第１の画像情報に対応付けられて記憶され、第２の人物を含む第２の画像情報と、第２の人物の骨格情報である第２の骨格情報とが、上半身と下半身それぞれ個別に取得されるとともに、上半身と下半身それぞれの第１の骨格情報のうち、上半身と下半身それぞれの第２の骨格情報に類似した第１の骨格情報が検出される。
【図面の簡単な説明】
【００２４】
【図１】仮想試着画像表示システムについて説明するための図である。
【図２】情報取得装置について説明するための図である。
【図３】関節位置情報について説明するための図である。
【図４】情報取得装置について説明するための図である。
【図５】表示画像制御装置について説明するための図である。
【図６】マッチング処理について説明するための図である。
【図７】マッチング処理について説明するための図である。
【図８】画像処理について説明するための図である。
【図９】画像処理について説明するための図である。
【図１０】画像処理について説明するための図である。
【図１１】登録処理１について説明するためのフローチャートである。
【図１２】参照処理１について説明するためのフローチャートである。
【図１３】参照処理１について説明するためのフローチャートである。
【図１４】仮想試着画像生成・表示装置について説明するための図である。
【図１５】対応情報の生成および記憶と、マッチング処理の機能を一箇所に集約する場合について説明するための図である。
【図１６】対応情報生成装置について説明するための図である。
【図１７】マッチング処理装置について説明するための図である。
【図１８】表示画像および通信制御部について説明するための図である。
【図１９】対応情報の生成および記憶と、マッチング処理の機能を一箇所に集約する場合について説明するためのフローチャートである。
【図２０】対応情報の生成および記憶と、マッチング処理の機能を一箇所に集約する場合について説明するためのフローチャートである。
【図２１】仮想試着合成画像生成システムについて説明するための図である。
【図２２】合成画像生成装置について説明するための図である。
【図２３】第２の対応情報生成処理について説明するためのフローチャートである。
【図２４】画像合成処理について説明するためのフローチャートである。
【図２５】画像合成処理について説明するためのフローチャートである。
【図２６】上半身と下半身とをそれぞれ個別にマッチング処理する場合の情報取得装置について説明するための図である。
【図２７】上半身と下半身とをそれぞれ個別にマッチング処理する場合の表示画像処理装置について説明するための図である。
【図２８】登録処理２について説明するためのフローチャートである。
【図２９】参照処理２について説明するためのフローチャートである。
【図３０】参照処理２について説明するためのフローチャートである。
【図３１】動画像を合成する場合の情報取得装置について説明するための図である。
【図３２】動画像を合成する場合の情報取得装置について説明するための図である。
【図３３】動画像を合成する場合の表示画像制御装置について説明するための図である。
【図３４】登録処理３について説明するためのフローチャートである。
【図３５】参照処理３について説明するためのフローチャートである。
【図３６】参照処理３について説明するためのフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の一実施の形態の仮想試着画像表示システム１について、図１〜図１３を参照しながら説明する。
【００２６】
図１は、仮想試着画像表示システム１の概要を示す図である。仮想試着画像表示システム１は、情報取得装置１１または１２、表示画像制御装置１３、および、表示装置１４を含んで構成される。
【００２７】
情報取得装置１１または１２は、試着対象となる洋服を着用したモデルや、それらの洋服を仮想的に着用、すなわち、仮想試着を行おうとするユーザの、画像情報および関節の座標位置を示す情報を取得し、表示画像制御装置１３に供給するものである。情報取得装置１１の詳細については図２、情報取得装置１２の詳細については図４を用いて後述する。
【００２８】
表示画像制御装置１３は、情報取得装置１１または１２から取得されたモデルの関節の座標位置を示す情報、または、モデルの関節の座標位置を示す情報から演算されるモデルの関節の角度情報を含むモデルの骨格情報とモデルの画像情報とを対応付けて、対応情報として記憶する。さらに、表示画像制御装置１３は、情報取得装置１１または１２から取得されたユーザの関節の座標位置を示す情報、または、ユーザの関節の座標位置を示す情報から演算されるユーザの関節の角度情報と、すでに記憶されている対応情報とのマッチング処理を行い、その結果に基づいて、仮想試着状態に対応する表示画像を生成し、表示装置１４への表示を制御する。
【００２９】
表示画像制御装置１３の詳細については、図５を用いて後述する。
【００３０】
表示装置１４は、表示画像制御装置１３の制御に基づいて、仮想試着状態に対応する画像を表示する。
【００３１】
次に、図２を参照して、情報取得装置１１について説明する。
【００３２】
情報取得装置１１は、画像入力部２１、フレーム処理部２２、赤外線照射発光部２３、赤外線カメラ２４、および、関節座標情報生成部２５で構成されている。
【００３３】
画像入力部２１は、例えば、カメラやビデオカメラによって構成され、試着対象となる洋服を着用したモデルや、仮想試着を行おうとするユーザの動画像または静止画像を取得し、表示画像制御装置１３に出力する。また、画像入力部２１は、取得された画像が動画像である場合、取得された動画像をフレーム処理部２２に供給する。また、画像入力部２１が取得するモデルやユーザの画像は、全身のみではなく、例えば、上半身のみであるなど、その体のうちの一部分のみであってもかまわないことは言うまでもない。
【００３４】
また、画像入力部２１を用いて撮像処理をする場合、例えば、青や緑色のクロマキーカーテンを用いて対象となる人物を撮像することにより、予め、人物と背景を分離しやすい画像データを容易に作成することができるようにしても良い。
【００３５】
フレーム処理部２２は、画像入力部２１から供給された動画像から、所定のフレームレート(例えば、３０枚／秒)の静止画像を取得し、表示画像制御装置１３に出力する。
【００３６】
赤外線照射発光部２３は、近赤外光パターンを広範囲にレーザー照射する。
【００３７】
赤外線カメラ２４は、レーザー照射された近赤外光パターンを撮影することにより、撮影対象（ここでは、モデルまたはユーザ）の、奥行き、すなわち、カメラからの距離や、撮影対象の動きなどを計算する、３Ｄ奥行きカメラである。
【００３８】
なお、赤外線照射発行部２３と赤外線カメラ２４を用いた場合、撮像対象の奥行きに関する情報を取得することができるので、この情報を、後述する表示画像制御装置１３の画像処理部４９が実行する画像処理時に用いることにより、モデルやユーザと、それらの背景部分とを容易に分離することが可能となる。
【００３９】
関節座標情報生成部２５は、画像入力部２１から得られる画像情報、および、赤外線カメラ２４から得られた情報に基づいて、撮影対象の関節座標を生成し、表示画像制御装置１３に出力する。
【００４０】
画像入力部２１、赤外線照射発光部２３、赤外線カメラ２４、および、関節座標情報生成部２５は、例えば、マイクロソフト製のゲーム機「Xbox360」向けの入力デバイスである「Kinect」などを用いて構成しても良い。Kinectとは、人の体の動きや音声を認識して、それをゲームのコントローラとして利用できる、いわゆる、「家庭用で気軽に使えるモーション・キャプチャ機器」といえるものである。
【００４１】
画像入力部２１、赤外線照射発光部２３、赤外線カメラ２４、および、関節座標情報生成部２５を、Kinectを用いて構成した場合、Kinectの公式プログラミングガイドによると、図３に示される計２０点の骨格情報を取得することができる。
【００４２】
次に、図４を参照して、情報取得装置１２について説明する。
【００４３】
情報取得装置１２は、画像入力部２１、フレーム処理部２２、関節位置推定処理部３１、および、関節座標情報生成部３２で構成されている。
【００４４】
画像入力部２１およびフレーム処理部２２については、図２を用いて説明した場合と同様の機能を有するものであるので、その説明は省略する。
【００４５】
関節位置推定処理部３１は、画像入力部２１およびフレーム処理部２２から得られる画像情報を用いて、撮影対象の関節位置を推定し、関節座標情報生成部に供給する。
【００４６】
関節座標情報生成部３２は、関節位置推定処理部３１から供給された、撮影対象の関節位置の推定結果に基づいて、関節座標情報を生成し、表示画像制御装置１３に出力する。
【００４７】
なお、図４を用いて説明した情報取得装置１２により生成された、撮影画像を用いて推定した関節位置の推定結果に基づく関節座標情報は、図２を用いて説明した情報取得装置１１により生成された関節座標情報より誤差が大きい可能性があり、また、処理の速度も、情報取得装置１１の方が情報取得装置１２より高速である。しかしながら、多くのセンサーを必要としない情報取得装置１２のほうが、情報取得装置１１よりも、ハードウェア的には部品点数等が少なくて済み、安価である可能性が高い。
【００４８】
したがって、例えば、演算速度を気にしないでよい、試着対象となる洋服を着用したモデルの撮影（例えば、図１１を用いて後述する登録処理１など）においては、情報取得装置１１を用い、演算速度が重要な、仮想試着を行おうとするユーザの撮影（例えば、図１２および図１３を用いて後述する参照処理１など）においては、情報取得装置１２を用いるようにしてもよいことは言うまでもない。
【００４９】
以下、試着対象となる洋服を着用したモデルの撮影と、その対応情報の生成および記憶に関する処理を登録処理と称し、仮想試着を行おうとするユーザの撮影と、対応情報のマッチング処理およびマッチング処理結果を含む表示画面の生成、表示に関する処理を参照処理と称する。
【００５０】
次に、図５を用いて、表示画像制御装置１３について説明する。
【００５１】
表示画像制御装置１３は、画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、タイマー４５、一時記憶部４６、対応情報記憶部４７、マッチング処理部４８、画像処理部４９、および、表示制御部５０により構成されている。
【００５２】
画像データ取得部４１は、情報取得装置１１または１２から出力される静止画像を取得するとともに、必要に応じて、情報取得装置１１または１２から出力される動画像を取得し、登録処理においては対応情報記憶部４７に供給するとともに、参照処理においては、一時記憶部４６に供給する。
【００５３】
関節座標情報取得部４２は、情報取得装置１１または１２から出力される関節座標情報を取得し、関節角度情報算出部４３に供給する。
【００５４】
関節角度情報算出部４３は、関節座標情報取得部４２から供給された関節座標情報を用いて、モデル、または、ユーザの、所定の関節の角度を算出し、骨格情報を生成して、登録処理においては対応情報記憶部４７に供給するとともに、参照処理においては一時記憶部４６に供給する。関節角度情報算出部４３は、例えば、数式１に示されるような方法で、関節座標情報から、関節の角度を算出することが可能である。
【００５５】
数式１
【数１】
2013190974.tif 000003
【００５６】
この場合、後述するマッチング処理部４８におけるマッチング処理は、骨格情報に基づいて、すなわち、関節の角度の一致に基づいて実行される。
【００５７】
ここで、関節角度情報算出部４３が算出可能なすべての関節の角度を算出したほうが、後述するマッチング処理部４８が実行する処理におけるマッチング精度が高くなることは言うまでもない。しかしながら、算出可能なすべての関節の角度を算出してしまうと、計算量が増えてしまう。そこで、関節角度情報算出部４３が角度を算出する関節の数は、その全部であっても一部であっても良く、その関節の位置は、実験的経験的に、設計者または使用者が選択決定可能なようにしても良い。
【００５８】
また、関節角度情報算出部４３は、関節座標情報取得部４２から供給された関節座標情報を、関節の角度の算出結果とともに、骨格情報として、登録処理においては対応情報記憶部４７に供給するとともに、参照処理においては、一時記憶部４６に供給するものとしても良い。この場合、後述するマッチング処理部４８におけるマッチング処理は、関節の角度の一致、または、関節座標の一致に基づいて実行される。
【００５９】
さらに、関節角度情報算出部４３は、関節の角度の算出を実行すること無しに、関節座標情報取得部４２から供給された関節座標情報のみを、骨格情報として、登録処理においては対応情報記憶部４７に供給するとともに、参照処理においては、一時記憶部４６に供給するものとしても良い。この場合、後述するマッチング処理部４８におけるマッチング処理は、関節座標の一致に基づいて実行される。
【００６０】
入力部４４は、例えば、キーボード、タッチパネル、ボタン、スイッチ等の入力デバイスによって構成されている。そして、入力部４４は、登録処理において、モデルが着用している洋服の種類を示す情報の入力を受け、対応情報記憶部４７に供給する。また、入力部４４は、参照処理においては、ユーザが仮想試着したい洋服の種類を示す情報の入力を受け、マッチング処理部４８に供給する。
【００６１】
タイマー４５は、必要に応じて、現在時刻情報を、対応情報記憶部４７およびマッチング処理部４８に供給する。
【００６２】
一時記憶部４６は、参照処理において、画像データ取得部４１から供給されたユーザの画像データ、および、関節角度情報算出部４３から供給されたユーザの骨格情報を、現在マッチング処理が実行されているフレームと、そのフレームより所定数前のフレームを含む所定のフレーム数だけ一時記憶し、マッチング処理部４８の要求に基づいて、これを供給する。すなわち、一時記憶部４６には、ＦＩＦＯ（first in first out）メモリを用いることができる。
【００６３】
対応情報記憶部４７は、登録処理において、画像データ取得部４１から供給されたモデルの画像データ、関節角度情報算出部４３から供給されたモデルの骨格情報、および、入力部４４から供給されたモデルが着用している洋服の種類を示す情報を、それぞれ対応付けて記憶し、マッチング処理部４８の要求に基づいて、これを供給する。
【００６４】
対応情報記憶部４７は、画像データと骨格情報が対応付けられていれば、どのような形態で対応情報としても良い。対応情報記憶部４７は、例えば、画像データ取得部４１から供給された画像データ１フレームに対して、それぞれ、対応する骨格情報および洋服の種類を示す情報を対応付けて、１ファイルの対応情報として記憶しても良いし、画像データ取得部４１から供給された画像データ１フレームに対して骨格情報を対応付けて１ファイルの対応情報とし、洋服の種類を示す情報ごとに、フォルダ分類して記憶しても良い。
【００６５】
マッチング処理部４８は、登録処理において、一時記憶部４６にユーザの骨格情報を要求する。そして、マッチング処理部４８は、入力部４４から供給されたユーザが仮想試着したい洋服の種類を示す情報を参照し、対応情報記憶部４７に記憶されている対応情報のうち、入力部４４から供給されたユーザが仮想試着したい洋服の種類に合致する対応情報に含まれて記憶されている骨格情報を読み出して、マッチング処理を実行する。
【００６６】
骨格情報が関節座標情報であるとき、マッチング処理部４８は、マッチング処理において一定の誤差を許可しても良い。すなわち、マッチング処理部４８は、例えば、複数の関節座標情報のそれぞれが、全て、三次元座標上において所定の誤差範囲である場合、それらの骨格情報がマッチングしていると判断しても良いし、複数の関節座標情報の誤差の合計値が所定の誤差範囲である場合、それらの骨格情報がマッチングしていると判断しても良い。
【００６７】
骨格情報が関節角度情報であるとき、また、マッチング処理部４８は、マッチング処理において一定の誤差を許可しても良い。すなわち、マッチング処理部４８は、例えば、複数の関節角度情報のそれぞれが、全て、所定の誤差範囲である場合、それらの骨格情報がマッチングしていると判断しても良いし、複数の関節角度情報の誤差の合計値が所定の誤差範囲である場合、それらの骨格情報がマッチングしていると判断しても良い。
【００６８】
さらに、マッチング処理部４８は、複数の対応情報がマッチングしている場合、一時記憶部４６に記憶されている、現在マッチング処理を実行しているフレームより時間的に前のフレームの骨格情報を用いてマッチング処理を実行し、後者のマッチング処理においてマッチングした骨格情報に対応する対応情報に含まれている画像の撮像時刻に対してより近い（さらに、時間方向も合致すると好適である）対応情報を、前者のマッチング処理における最良のマッチング結果とすることができる。
【００６９】
例えば、図６の上部、時刻情報ｔ１から時刻情報ｔ１０として示されるモデル画像が対応情報として対応情報記憶部４７に記憶されている場合について考察する。マッチング処理部４８は、一時記憶部４６から、図６の下部、時刻情報ｒｔ０に示されるユーザの画像の骨格情報の供給を受けたとき、図６の上部、時刻情報ｔ４と時刻情報ｔ８として示される対応情報をマッチング結果として得ることができる。時刻情報ｔ４に対応するのは、片手を振り上げている途中に対応し、時刻情報ｔ８に対応するのは、片手を振り下げている途中に対応する。これらそれぞれの衣服の動きは異なるものとなるのはもちろんである。
【００７０】
そのような場合、マッチング処理部４８は、一時記憶部４６から、図６の下部、時刻情報ｒｔ−１に示されるユーザの画像の骨格情報の供給を受け、図６の上部、時刻情報ｔ１から時刻情報ｔ１０として示される対応情報の骨格情報とのマッチング処理を実行し、時刻情報ｔ７として示される対応情報をマッチング結果として得る。そして、マッチング処理部４８は、時刻情報ｔ４と時刻情報ｔ８として示される対応情報のうち、時刻情報ｔ７に近い時刻情報ｔ８の対応情報を最良のマッチング結果として得ることができる。
【００７１】
さらに、マッチング処理部４８は、骨格情報として関節角度情報が用いられている場合、所定箇所の複数の関節角度情報に基づいてマッチング処理を実行可能なようにすると好適である。
【００７２】
例えば、撮影範囲が上半身のみであって、その場合にモデルまたはユーザが腕をどちらの方向に上げているか下げているかは、図３を用いて説明した検出可能な関節のうち、ELBOW_RIGHTとSHOULDER_SENTERとELBOW_LEFTとにおいて、SHOULDER_SENTERを中心とした角度を算出することによって、容易に検出される。しかしながら、これらの情報だけでは、図７に示されるように、上体が右に傾いたり左に傾いたりしていることは検出不能である。
【００７３】
そこで、マッチング処理部４８は、図３を用いて説明した検出可能な関節のうち、例えば、SHOULDER_SENTERとSPINEとにより構成される線分と、所定位置の水平面および垂直面とがなす角度を算出し、骨格情報のみならず、これも用いてマッチング処理をするものとすると好適である。
【００７４】
マッチング処理部４８は、このようにして得られたマッチング結果に対応するユーザ画像およびモデル画像を画像処理部４９に供給する。
【００７５】
画像処理部４９は、マッチング処理部４８から供給された、ユーザ画像およびモデル画像を画像処理し、処理済の表示用画像データを生成して、表示制御部５０に供給する。
【００７６】
画像処理部４９は、例えば、図８に示されるように、ユーザの画像を一方に表示するとともに、他方に、そのユーザの動きにマッチングしたモデル画像を表示するようにしても良い。このようにすることにより、ユーザは、自分自身の動きと同様に動くモデルの画像を参照することができ、その動きによってできる洋服のねじれやしわ、ふくらみやゆれなどを、確認することができる。
【００７７】
また、画像処理部４９は、ユーザの動きにマッチしたモデルの画像の背景を自由に変化させることができるようにしても良い。画像処理部４９は、例えば、インテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリであるOpenCVなどを用いて、背景差分を得、背景を濃淡画像に変換し、二値化を実行し、ノイズを除去し、背景と人物との画像を合成することにより、図９左側に示される背景合成前の画像に対して、図９右側に示される背景合成後の画像を生成する。
【００７８】
このとき、上述したように、あらかじめ、青や緑色のクロマキーカーテンを用いて、ユーザまたはモデルの撮像を行うようにしておいたり、赤外線照射発行部２３と赤外線カメラ２４を用いて撮像対象の奥行き情報を予め取得するようにすることにより、容易に人物と背景を分離することができるようにしてもよいことは言うまでもない。
【００７９】
さらに画像処理部４９は、背景として、静止画像のみならず、動画像を合成することができるものとしても良い。
【００８０】
このようにすることにより、ユーザは、背景を、例えば、街中、オフィス、レストランなどにすることにより、いろいろなシチュエーションにおいてその洋服を着用した場合のイメージを、容易に得ることか可能となる。
【００８１】
また、画像処理部４９は、ユーザの動きにマッチしたモデルの顔の画像を、ユーザの顔の画像に置き換えて合成することができるようにしても良い。画像処理部４９は、例えば、上述したOpenCVを利用することなどにより、オブジェクト検出ができるものとする。そして、画像処理部４９は、マッチング処理部４８から供給されたユーザ画像から顔の部分を検出して抽出するとともに、モデル画像の顔の部分も検出する。そして、画像処理部４９は、図１０に示されるように、モデル画像の顔の部分に抽出されたユーザの顔の部分の画像を合成する。
【００８２】
このとき、画像処理部４９は、１枚のユーザの顔画像を、マッチング結果としてマッチング処理部４８から供給されたモデル画像のそれぞれのフレームに合成することができるものとしても良いが、マッチング処理部４８から供給されたそれぞれのフレームのユーザ画像から顔の部分を検出して抽出し、１フレームごとに画像合成を行うようにすると、仮想試着対象の服を着た体の動きと顔の向きや視線の向きが不自然でなくなり、好適である。
【００８３】
このようにすることにより、画像処理部４９は、図１０の右側に示されるように、ユーザ自身が仮想試着を希望する服を着て動いているかのような画像を生成することが可能となる。
【００８４】
また、画像処理部４９は、例えば、マッチング処理部４８から供給されたユーザの画像に基づいて、モデルの画像を縦横に自在に伸縮させ、ユーザとモデルの体形を擬似的に似せることができるものとしても良い。これによって、仮想試着する洋服をユーザ自身が着た場合を、さらにリアルに表現することが可能となり、例えば、上述したように、モデルの顔の部分にユーザの顔を合成するようにした場合、あたかもユーザ自身がその洋服を試着して動いているようにユーザに感じさせることができるようになる。
【００８５】
さらに、ユーザとモデルとの体形が異なる場合のみならず、例えば、登録されたモデルの立ち位置と、参照するユーザの立ち位置とが、画像入力部２１に対して異なる場合、画像処理部４９は、マッチング処理部４８から供給されたユーザの画像に基づいて、モデルの画像を縦横に自在に伸縮させたり、平行移動させることができるものとしても良い。
【００８６】
登録されたモデルの立ち位置と参照するユーザの立ち位置とが、画像入力部２１に対して異なるか否かは、例えば、撮像された画像を解析することによっても判断可能であり、また、赤外線照射発行部２３と赤外線カメラ２４を用いて検出可能な関節位置のうち、例えば、図３を用いて説明した「SPINE」など、予め定められたいずれかの関節（手足よりも胴体部分の関節のほうがより良いであろうことは言うまでもない）位置を比較することによっても判断可能である。
【００８７】
例えば、登録されたモデルの立ち位置と、参照するユーザの立ち位置とが、上下左右斜め方向にずれていた場合、画像処理部４９は、対応する方向へ、モデルの画像を平行移動させる。また、例えば、登録されたモデルの立ち位置と、参照するユーザの立ち位置とが、奥行き方向（前後）にずれていた場合、画像処理部４９は、撮像時のそれぞれの被写体とカメラとの距離感が同じ程度になるように、モデルの画像を拡大または縮小させる。
【００８８】
表示制御部５０は、画像処理部４９により生成された表示画像データの、表示装置１４への表示を制御する。
【００８９】
なお、表示画像制御部において、上述したように、画像処理部４９が、各種画像処理を行う機能を多く有することができた場合、仮想試着画像表示システムを、仮想試着以外の他の方法で利用し、ユーザにさまざまなアプリケーションを提供することが可能となる。
【００９０】
例えば、モデルが、マントを装着したヒーローや、ひらひらとしたレースやフリルがたくさん付いたドレスなどを着用したお姫様などのキャラクターに扮し、仮想試着画像表示システムの表示画像制御装置１３が、登録処理において、その対応情報を対応情報記憶部４７に記憶しておいた場合、仮想試着画像表示システムの表示画像制御装置１３は、参照処理において取得されるユーザの画像と、そのユーザの動きに合致したキャラクターの画像を合成することが可能となる。これにより、ヒーローやお姫様などのキャラクターが、ユーザと同様の動きを行うようなアプリケーションや、ユーザ自身がヒーローやお姫様などのキャラクターになりきった画像を見て楽しむことができるアプリケーションを、ユーザに提供することが可能となる。
【００９１】
例えば、画像処理部４９が、マッチング処理部４８から供給されたユーザの画像に基づいて、モデルの画像を縦横に自在に伸縮させ、ユーザとモデルの体形を擬似的に似せることができる場合、仮想試着画像表示システムは、いろいろな体形の子供に対して、自分と同じぐらいの大きさのキャラクターが、自分のまねをして動くアプリケーションを提供することができる。
【００９２】
そのアプリケーションにおいては、ユーザの動きに応じて、同時に表示されるヒーローのマントやお姫様のドレスの動きを、非常に自然に表現することが可能となる。
【００９３】
また、画像処理部４９が、マッチング処理部４８から供給されたユーザの画像に基づいて、モデルの画像を縦横に自在に伸縮させ、ユーザとモデルの体形を擬似的に似せることができるのみならず、さらに、顔画像の合成処理を行うことができる場合、仮想試着画像表示システムは、ユーザの動きと同一の動きをする、ユーザの体形でユーザの顔が合成されたキャラクターを表示するアプリケーションを提供することができる。
【００９４】
そのアプリケーションでは、ユーザは、キャラクターになりきったような仮想体験を得ることができる。例えば、ユーザがヒーローになりきって変身ポーズを行ったり、パンチやキックを繰り出したとき、仮想試着画像表示システムによって表示される画像においては、ヒーロー（すなわちユーザ）が着用しているマントやマフラーなどが動きに応じて非常に自然に動く。また、例えば、ユーザが、お姫様になりきって、鏡の前にいるような気分でくるりと回転した場合、仮想試着画像表示システムによって表示される画像においては、お姫様（すなわちユーザ）が着用しているドレスのすそや、飾りのリボンなどが動きに応じて非常に自然に動く。したがって、ユーザは、表示される画像に不自然な感じを覚えることなく、キャラクターになりきってさまざまな動作を行う仮想体験を得ることができる。
【００９５】
また、画像処理部４９が、さらに背景画像の合成を行うことが可能な場合、仮想試着画像表示システムは、ユーザがなりきるキャラクターの世界観においてありがちなシチュエーションの背景が合成され、ユーザと同様に動作するキャラクターの動画像をユーザに提示することができる。
【００９６】
ユーザがキャラクターとしてヒーローを選択した場合、画像処理部４９は、例えば、背景として、敵が攻撃を仕掛けてくる動画像を、ユーザの動きにあわせて動くキャラクターの画像の背景として合成する。ユーザは、その画像を参照して、襲ってくる敵に対してパンチやキックを繰り出して、敵を倒すヒーローになりきることができる。
【００９７】
そして、このようなアプリケーションと、既存の動き検出機能を有するデバイスを組み合わせることなどにより、仮想試着画像表示システムを利用したアクションゲームを提供することが可能となる。
【００９８】
ユーザがキャラクターとしてお姫様を選択した場合、画像処理部４９は、例えば、背景として、お城で舞踏会が行われている状況に対応する背景と、ユーザの動きにあわせて動く王子様の画像とを合成する。ユーザは、その画像を参照して、王子様と華麗にダンスをするお姫様になりきることができる。
【００９９】
そして、このようなアプリケーションと、既存の動き検出機能を有するデバイスを組み合わせることなどにより、仮想試着画像表示システムを利用したダンスゲームを提供することが可能となる。
【０１００】
さらに、例えば、仮想試着画像表示システム１の機能を応用し、対応情報において、モデルの画像と対応付けて記憶される情報を、モデルの動きを示す骨格情報以外の情報とすることにより、仮想試着画像表示システムを、仮想試着以外の他の方法で利用し、ユーザにさまざまなアプリケーションを提供することが可能となる。
【０１０１】
例えば、他のアプリケーションで利用可能な仮想試着画像表示システムにおいては、登録処理時に、情報取得装置１１または１２が、モデルの頭部の画像と、目・鼻・口・あご・耳などの顔の部位の座標情報を、既存の技術を利用することなどにより取得し、表示画像制御装置１３が、モデルの頭部画像情報と、それらの目・鼻・口・あご・耳などの顔の部位の座標情報を対応付けて対応情報として対応情報記憶部４７に記憶することができるようにするとともに、参照処理時に、対応情報記憶部４７に記憶されている対応情報と、ユーザの目・鼻・口・あご・耳などの顔の部位の座標情報とのマッチング処理を行うことができるようにしても良い。
【０１０２】
登録処理時、モデルは、頭を各方向に振ったり、体ごと一回転したり、髪を片手や両手でさまざまに掻き上げるなどのしぐさを行う。情報取得装置１１または１２は、既存の技術を利用することなどにより、モデルの頭部の画像と、目・鼻・口・あご・耳などの顔の部位の座標情報を取得し、表示画像制御装置１３は、モデルの頭部の画像情報と、それらの目・鼻・口・あご・耳などの顔の部位の座標情報を対応付けて、入力部４４から入力される髪型の種類を示す情報とともに、対応情報として対応情報記憶部４７に記憶する。
【０１０３】
参照処理時、ユーザは、試してみたい髪形の種類を示す情報を入力部４４から入力し、自分が試してみたいように、頭部を動かしたり、髪を掻き上げるしぐさなどを行う。仮想試着画像表示システムの表示画像制御装置１３は、参照処理において取得されるユーザの目・鼻・口・あご・耳などの顔の部位の座標情報と、そのユーザが希望する髪形に対応する対応情報に含まれる目・鼻・口・あご・耳などの顔の部位の座標情報とのマッチング処理を実行し、マッチング結果に基づいて、表示画像を生成し、表示装置１４への表示を制御する。ユーザは、表示装置１４に表示される画像を参照することにより、なりたい髪型が自分に似合うか、動きによってどのように変化するかを仮想的に体験することができる。
【０１０４】
次に、図１１のフローチャートを参照して、仮想試着画像表示システム１が、よりリアルな仮想試着の実現をユーザに提供する場合における登録処理の一例である登録処理１について説明する。
【０１０５】
ステップＳ１において、情報取得装置１１または情報取得装置１２の画像入力部２１は、静止画、または、動画の撮影を開始し、撮影により得られた画像データを表示画像制御装置１３に供給する。表示画像制御装置１３の画像データ取得部４１は、供給された画像データを対応情報記憶部４７に供給する。
【０１０６】
また、登録処理において、画像入力部２１を用いてモデルを撮像する場合、例えば、青や緑色のクロマキーカーテンを用いてモデルを撮像することにより、人物と背景を分離しやすい画像データを容易に作成することができるので好適である。
【０１０７】
ステップＳ２において、情報取得装置１１または情報取得装置１２の画像入力部２１は、撮像されているのは動画であるか否かを判断する。ステップＳ２において撮像されているのは動画ではないと判断された場合、処理は、ステップＳ４に進む。
【０１０８】
ステップＳ２において撮像されているのは動画であると判断された場合、ステップＳ３において、画像入力部２１は、フレーム処理部２２に撮像された動画像を供給する。フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、表示画像制御装置１３に供給する。表示画像制御装置１３の画像データ取得部４１は、供給された画像データを対応情報記憶部４７に供給する。
【０１０９】
情報取得装置１１が適用されており、ステップＳ２において撮像されているのは動画ではないと判断された場合、または、ステップＳ３の処理の終了後、ステップＳ４において、関節座標情報生成部２５は、赤外線カメラ２４から供給された情報に基づいて、モデルを検出する。また、情報取得装置１２が適用されており、ステップＳ２において撮像されているのは動画ではないと判断された場合、または、ステップ３の処理の終了後、ステップＳ４において、関節位置推定処理部３１は、画像入力部２１から供給される画像データに基づいて、モデルを検出する。
【０１１０】
情報取得装置１１が適用されている場合、ステップＳ５において、関節座標情報生成部２５は、検出されたモデルの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報に基づいて、関節の座標情報を算出して、表示画像制御装置１３に供給する。また、情報取得装置１２が適用されている場合、ステップＳ５において、関節位置推定処理部３１は、検出されたモデルの関節位置を、画像処理により推定し、関節座標情報生成部３２に供給する。関節座標情報生成部３２は、関節位置情報に基づいて、関節の座標情報を算出して、表示画像制御装置１３に供給する。表示画像制御装置１３の関節座標情報取得部４２は、供給された関節座標情報を、関節角度情報算出部４３に供給する。
【０１１１】
ステップＳ６において、関節角度情報算出部４３は、関節座標情報取得部４２から供給された関節座標情報に基づいて、所定の関節の角度を算出し、関節座標情報取得部４２から供給された関節座標情報と算出された関節の角度情報とを、骨格情報として、対応情報記憶部４７に供給する。
【０１１２】
なお、情報取得装置１１が適用されている場合、赤外線照射発行部２３と赤外線カメラ２４が用いられて撮像対象の奥行きに関する情報を取得することができるので、この情報を、撮像された画像とともに対応情報記憶部４７に供給して記憶させておくことにより、表示画像制御装置１３の画像処理部４９が実行する後述する画像処理において、モデルとその背景部分とを容易に分離することが可能となり、好適である。
【０１１３】
ステップＳ７において、対応情報記憶部４７は、関節の座標情報・算出された角度などの骨格情報と、その骨格情報を得た基となる画像情報と、さらに、必要に応じて、タイマー４５を参照することにより得られるその画像情報の取得時刻情報とを、関連付けて、対応情報として記憶する。
【０１１４】
ステップＳ８において、対応情報記憶部４７は、画像の撮影が終了したか否かを判断する。ステップＳ８において、画像の撮影が終了していないと判断された場合、処理は、ステップＳ２に戻り、それ以降の処理が繰り返される。
【０１１５】
ステップＳ８において、画像の撮影が終了したと判断された場合、ステップＳ９において、対応情報記憶部４７は、入力部４４から供給される洋服の種類を判別するためのタグを、対応情報に関連付けて記憶し、処理が終了される。
【０１１６】
このような処理により、表示画像制御部の対応情報記憶部４７に、対応情報が記憶される。
【０１１７】
次に、図１２および図１３のフローチャートを参照して、仮想試着画像表示システムが、よりリアルな仮想試着の実現をユーザに提供する場合における参照処理の一例である参照処理１について説明する。
【０１１８】
ステップＳ２１において、入力部４４は、仮想試着を実施する洋服の種類を示す情報の入力を受け、マッチング処理部４８に供給する。マッチング処理部４８は、対応情報記憶部４７に記憶されている対応情報のうち、入力された洋服の種類を示す情報に対応する対応情報をマッチング処理に用いる。
【０１１９】
ステップＳ２２において、情報取得装置１１または情報取得装置１２の画像入力部２１は、静止画、または、動画の撮影を開始し、撮影により得られた画像データを表示画像制御装置１３に供給する。表示画像制御装置１３の画像データ取得部４１は、供給された画像データを一時記憶部４６に供給する。
【０１２０】
ステップＳ２３において、情報取得装置１１または情報取得装置１２の画像入力部２１は、撮像されているのは動画であるか否かを判断する。ステップＳ２３において撮像されているのは動画ではないと判断された場合、処理は、ステップＳ２５に進む。
【０１２１】
ステップＳ２３において撮像されているのは動画であると判断された場合、ステップＳ２４において、画像入力部２１は、フレーム処理部２２に撮像された動画像を供給する。フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、表示画像制御装置１３に供給する。表示画像制御装置１３の画像データ取得部４１は、供給された画像データを一時記憶部４６に供給する。
【０１２２】
情報取得装置１１が適用されており、ステップＳ２３において撮像されているのは動画ではないと判断された場合、または、ステップ２４の処理の終了後、ステップＳ２５において、関節座標情報生成部２５は、赤外線カメラ２４から供給された情報に基づいて、ユーザを検出する。また、情報取得装置１２が適用されており、ステップＳ２３において撮像されているのは動画ではないと判断された場合、または、ステップ２４の処理の終了後、ステップＳ２５において、関節位置推定処理部３１は、画像入力部２１から供給される画像データに基づいて、ユーザを検出する。
【０１２３】
情報取得装置１１が適用されている場合、ステップＳ２６において、関節座標情報生成部２５は、検出されたユーザの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報に基づいて、関節の座標情報を算出して、表示画像制御装置１３に供給する。また、情報取得装置１２が適用されている場合、ステップＳ２６において、関節位置推定処理部３１は、検出されたユーザの関節位置を、画像処理により推定し、関節座標情報生成部３２に供給する。関節座標情報生成部３２は、関節位置情報に基づいて、関節の座標情報を算出して、表示画像制御装置１３に供給する。表示画像制御装置１３の関節座標情報取得部４２は、供給された関節座標情報を、関節角度情報算出部４３に供給する。
【０１２４】
ステップＳ２７において、関節角度情報算出部４３は、関節座標情報取得部４２から供給された関節座標情報に基づいて、所定の関節の角度を算出し、関節座標情報取得部４２から供給された関節座標情報と算出された関節の角度情報とを、骨格情報として、一時記憶部４６に供給する。
【０１２５】
ステップＳ２８において、一時記憶部４６は、関節角度情報算出部４３から供給された、関節の座標情報および算出された角度などの骨格情報と、画像情報取得部から供給された、その骨格情報を得た基となる画像情報とを、関連付けて一時記憶する。
【０１２６】
ステップＳ２９において、マッチング処理部４８は、一時記憶された骨格情報と、仮想試着を実施する洋服の種類を示す情報に対応するタグに関連付けられた対応情報に含まれて対応情報記憶部４７に記憶されている骨格情報との第１のマッチング処理を実行する。
【０１２７】
ステップＳ３０において、マッチング処理部４８は、ステップＳ２９で実行された第1のマッチング処理において、一時記憶部４６に一時記憶された骨格情報に合致する、対応情報に含まれて対応情報記憶部４７に記憶されている骨格情報が存在したか否かを判断する。ステップＳ３０において、骨格情報が存在しないと判断された場合、処理は、ステップＳ２５に戻り、それ以降の処理が繰り返される。
【０１２８】
ステップＳ３０において、骨格情報が存在したと判断された場合、ステップＳ３１において、マッチング処理部４８は、ステップＳ２９で実行された第１のマッチング処理の結果、合致する骨格情報が複数存在したか否かを判断する。
【０１２９】
ステップＳ３１において、第１のマッチング処理の結果、合致する骨格情報が複数存在していないと判断された場合、ステップＳ３２において、マッチング処理部４８は、対応情報記憶部４７に記憶されている対応情報のうち、第１のマッチング処理において合致した骨格情報に対応する画像を読み出して、画像処理部４９に供給し、処理は、ステップＳ３８に進む。
【０１３０】
ステップＳ３１において、第１のマッチング処理の結果、合致する骨格情報が複数存在したと判断された場合、ステップＳ３３において、マッチング処理部４８は、一時記憶部４６に記憶されている情報のうち、ユーザの現フレーム（すなわち、ステップＳ２９の第1のマッチング処理に用いられた画像フレーム）の一つ前のフレームの骨格情報を読み出す。
【０１３１】
ステップＳ３４において、マッチング処理部４８は、ステップＳ３３の処理により読み出したフレームの骨格情報と、対応情報に含まれて対応情報記憶部４７に記憶されている骨格情報との第２のマッチング処理を実行する。
【０１３２】
ステップＳ３５において、マッチング処理部４８は、第２のマッチング処理において、合致する骨格情報が存在したか否かを判断する。
【０１３３】
ステップＳ３５において、合致する骨格情報が存在しないと判断された場合、ステップＳ３６において、マッチング処理部４８は、一時記憶部４６に記憶されている情報のうち、さらに１つ前のフレームの骨格情報を読み出して、処理は、ステップＳ３４に戻り、それ以降の処理が繰り返される。
【０１３４】
ステップＳ３５において、合致する骨格情報が存在したと判断された場合、ステップＳ３７において、マッチング処理部４８は、例えば、図６を用いて説明したように、複数存在した第１のマッチング処理において合致した骨格情報に対応する画像のうち、第２のマッチング処理において合致した骨格情報に対応する時刻に対してより近い（さらに、時間方向も合致すると好適である）画像を選択して、対応情報記憶部４７から読み出して、画像処理部４９に供給する。
【０１３５】
ステップＳ３８において、画像処理部４９は、例えば、図８、図９、および、図１０を用いて説明したように、必要な画像処理を実行し、生成した表示画像を表示制御部５０に供給する。
【０１３６】
ステップＳ３９において、表示制御部５０は、画像処理部４９から供給された、ステップＳ３８で画像処理部４９により生成された画像の、表示装置１４への表示を制御する。
【０１３７】
ステップＳ４０において、マッチング処理部４８は、画像の撮影が終了したか否かを判断する。
【０１３８】
ステップＳ４０において、画像の撮影が終了していないと判断された場合、処理は、ステップＳ２３に戻り、それ以降の処理が繰り返される。ステップＳ４０において、画像の撮影が終了したと判断された場合、処理が終了される。
【０１３９】
このような処理により、仮想試着画像表示システム１は、ユーザに対して、所望の洋服を試着し、自分の動きにあわせて試着している洋服も動いたり、広がったり、しわがよっているような仮想体験を提供することができる。
【０１４０】
なお、仮想試着画像表示システム１は、複数の装置により構成されるものとして説明していたが、例えば、図１４に示されるように、１つの仮想試着画像作成・表示装置６１を用いて、同様の処理を実行可能なようにしても良い。
【０１４１】
図１４の仮想試着画像生成・表示装置６１は、図１の情報取得装置１１または１２と同様の機能を有する情報取得部７１と、図１の表示画像制御装置１３と同様の機能を有する表示画像制御部７２と、図１の表示装置１４と同様の機能を有する表示部７３により構成されている。
【０１４２】
また、登録処理を行うことが可能な装置、参照処理における一部の処理を行うことが可能な装置、および、対応情報記憶部４７に対応する記憶装置であって、対応情報を記憶可能なデータサーバなどを一箇所に集約し、複数の場所に配置された装置と情報を授受することにより、多くのユーザに、仮想的な試着体験を提供することが可能なシステムを構築することができる。
【０１４３】
例えば、図１５に示されるように、このシステムでは、対応情報生成装置８１、データサーバ８２、および、マッチング処理装置８４が１箇所に集約され、マッチング処理装置８４は、複数の仮想試着画像生成・表示装置８３−１，８３−２，８３−２と、例えば、インターネットなどの広域ネットワークや、専用の独立ネットワークなどで接続され、それぞれ情報が授受可能なようになされている。
【０１４４】
仮想試着画像生成・表示装置８３は、図１４における場合と同様の情報取得部７１および表示部７３と、図１８を用いて後述する、表示画像および通信制御部９１によって構成されている。
【０１４５】
図１６を参照して、図１５の対応情報生成装置８１について説明する。
【０１４６】
図１６において、画像入力部２１およびフレーム処理部２２は、図２または図４を用いて説明した場合と同様の機能を有するものであるので、その説明を省略する。また、図１６において、赤外線照射発光部２３、赤外線カメラ２４、および、関節座標情報生成部２５は、図４を用いて説明した場合と同様の機能を有するものであるので、その説明を省略する。また、入力部４４および関節角度情報算出部４３は、図５を用いて説明した場合と同様の機能を有するものであるので、その説明を省略する。
【０１４７】
対応情報生成部１０１は、画像入力部２１およびフレーム処理部２２から供給された画像データ、関節角度情報算出部４３から供給されたモデルの骨格情報、および、入力部４４から供給されたモデルが着用している洋服の種類を示す情報を、それぞれ対応付けて対応情報を生成し、データサーバ８２に供給して、記憶させる。
【０１４８】
次に、図１７を参照して、マッチング処理装置８４について説明する。
【０１４９】
マッチング処理装置８４は、ユーザ情報取得制御部１１１、対応情報取得制御部１１２、マッチング処理部４８、タイマー４５、および、マッチング対応情報出力制御部１１３によって構成されている。
【０１５０】
ここで、マッチング処理部４８、および、タイマー４５は図５を用いて説明した場合と同様の構成を有するものであるので、その説明は省略する。
【０１５１】
ユーザ情報取得制御部１１１は、いずれかの仮想試着画像生成・表示装置８３からネットワークを介して送信されるユーザに関する情報の取得を制御し、マッチング処理部４８に供給する。
【０１５２】
対応情報取得制御部１１２は、マッチング処理部４８の要求に基づいて、データサーバ８２に記憶されている対応情報の取得およびマッチング処理部４８への供給を制御する。
【０１５３】
マッチング対応情報出力制御部１１３は、マッチング処理の結果得られる画像情報および対応する骨格情報の、対応する仮想試着画像生成・８３へのネットワークを介した出力を制御する。
【０１５４】
次に、図１８を参照して、仮想試着画像生成・表示装置８３の表示画像および通信制御部９１の構成について説明する。
【０１５５】
表示画像および通信制御部９１は、画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、一時記憶部４６、画像処理部４９、表示制御部５０、および、データ通信制御部で構成されている。
【０１５６】
ここで、画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、一時記憶部４６、画像処理部４９、および、表示制御部５０は、それぞれ、図５を用いて説明した場合と同様の機能を有するものであるので、その説明は省略する。
【０１５７】
データ通信制御部は、参照処理において、一時記憶部４６にユーザの骨格情報を要求する。そして、データ通信制御部は、入力部４４から供給されたユーザが仮想試着したい洋服の種類を示す情報と、一時記憶部４６から供給されたユーザの骨格情報とを、ネットワークを介して、マッチング処理装置８４に供給する。
【０１５８】
そして、データ通信制御部は、ネットワークを介してマッチング処理装置８４から供給される、マッチング処理により得られたモデルの画像データおよび骨格情報を取得し、一時記憶部４６から読み出したユーザの画像情報および骨格情報とともに、画像処理部４９に供給し、画像処理を実行させるとともに、表示制御部５０に表示部への表示を制御させる。
【０１５９】
次に、図１９および図２０のフローチャートを参照して、図１５を用いて説明した、多くのユーザに仮想的な試着体験を提供することが可能なシステムが実行する処理について説明する。
【０１６０】
ステップＳ５１において、対応情報生成装置８１の画像入力部２１は、静止画、または、動画の撮影を開始し、撮影により得られた画像データを対応情報せ生成部に供給する。
【０１６１】
ステップＳ５２において、画像入力部２１は、撮像されているのは動画であるか否かを判断する。ステップＳ５２において撮像されているのは動画ではないと判断された場合、処理は、ステップＳ５４に進む。
【０１６２】
ステップＳ５２において撮像されているのは動画であると判断された場合、ステップＳ５３において、画像入力部２１は、フレーム処理部２２に撮像された動画像を供給する。フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、対応情報生成部１０１に供給する。
【０１６３】
ステップＳ５２において撮像されているのは動画ではないと判断された場合、または、ステップ５３の処理の終了後、ステップＳ５４において、関節座標情報生成部２５は、赤外線カメラ２４から供給された情報に基づいて、モデルを検出する。
【０１６４】
ステップＳ５５において、関節座標情報生成部２５は、検出されたモデルの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報に基づいて、関節の座標情報を算出して、関節角度情報算出部４３に供給する。
【０１６５】
ステップＳ５６において、関節角度情報算出部４３は、関節座標情報生成部２５から供給された関節座標情報に基づいて、所定の関節の角度を算出し、関節座標情報生成部２５から供給された関節座標情報と算出された関節の角度情報とを、骨格情報として、対応情報生成部１０１に供給する。
【０１６６】
ステップＳ５７において、対応情報生成部１０１は、関節の座標情報・算出された角度などの骨格情報と、その骨格情報を得た基となる画像情報とを、関連付けて、対応情報とし、データサーバ８２に供給する。
【０１６７】
ステップＳ５８において、対応情報生成部１０１は、画像の撮影が終了したか否かを判断する。ステップＳ５８において、画像の撮影が終了していないと判断された場合、処理は、ステップＳ５２に戻り、それ以降の処理が繰り返される。
【０１６８】
ステップＳ５８において、画像の撮影が終了したと判断された場合、ステップＳ５９において、対応情報生成部１０１は、入力部４４から供給される洋服の種類を判別するためのタグを、対応情報に関連付けてデータサーバ８２に記憶させる。
【０１６９】
ステップＳ６０において、データサーバ８２は、対応情報生成装置８１の対応情報生成部１０１から供給された対応情報と洋服の種類を判別するためのタグとを記憶する。
【０１７０】
ステップＳ６１において、仮想試着画像生成・表示装置８３の表示画像および通信制御部９１の入力部４４は、仮想試着を実施する洋服の種類を示す情報の入力を受ける。
【０１７１】
ステップＳ６２において、画像取得部の画像入力部２１は、静止画、または、動画の撮影を開始し、撮影により得られた画像データを表示画像および通信制御部９１に供給する。表示画像および通信制御部９１の画像データ取得部４１は、供給された画像データを一時記憶部４６に供給する。
【０１７２】
ステップＳ６３において、画像入力部２１は、撮像されているのは動画であるか否かを判断する。ステップＳ６３において撮像されているのは動画ではないと判断された場合、処理は、ステップＳ６５に進む。
【０１７３】
ステップＳ６３において撮像されているのは動画であると判断された場合、ステップＳ６４において、画像入力部２１は、フレーム処理部２２に撮像された動画像を供給する。フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、表示画像および通信制御部９１に供給する。表示画像および通信制御部９１の画像データ取得部４１は、供給された画像データを一時記憶部４６に供給する。
【０１７４】
ステップＳ６３において撮像されているのは動画ではないと判断された場合、または、ステップ６４の処理の終了後、ステップＳ６５において、関節座標情報生成部２５は、赤外線カメラ２４から供給された情報に基づいて、ユーザを検出する。
【０１７５】
ステップＳ６６において、関節座標情報生成部２５は、検出されたユーザの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報に基づいて、関節の座標情報を算出して、表示画像および通信制御部９１に供給する。表示画像および通信制御部９１の関節座標情報取得部４２は、供給された関節座標情報を、関節角度情報算出部４３に供給する。
【０１７６】
ステップＳ６７において、関節角度情報算出部４３は、関節座標情報取得部４２から供給された関節座標情報に基づいて、所定の関節の角度を算出し、関節座標情報取得部４２から供給された関節座標情報と算出された関節の角度情報とを、骨格情報として、一時記憶部４６に供給する。
【０１７７】
ステップＳ６８において、一時記憶部４６は、関節角度情報算出部４３から供給された、関節の座標情報および算出された角度などの骨格情報と、画像データ取得部４１から供給された、その骨格情報を得た基となる画像情報とを、一時記憶する。一時記憶部４６は、必要に応じて、その画像情報の取得時刻の情報を、さらに関連付けて一時記憶するようにしても良い。
【０１７８】
ステップＳ６９において、データ通信制御部は、一時記憶部４６に一時記憶された骨格情報と、入力部４４により入力された仮想試着を実施する洋服の種類を示す情報とを、ネットワークを介して、マッチング処理装置８４へ送信する。
【０１７９】
ステップＳ７０において、マッチング処理装置８４のユーザ情報取得制御部１１１は、仮想試着画像生成・表示装置８３から送信された骨格情報と仮想試着を実施する洋服の種類を示す情報とを、ネットワークを介して受信し、マッチング処理部４８に供給する。また、ユーザ情報取得制御部１１１は、仮想試着を実施する洋服の種類を示す情報を、対応情報取得制御部１１２に供給する。
【０１８０】
ステップＳ７１において、マッチング処理部４８は、仮想試着画像生成・表示装置８３から受信した情報から、1フレーム目に対応するユーザの骨格情報を読み出す。
【０１８１】
ステップＳ７２において、対応情報取得制御部１１２は、仮想試着を実施する洋服の種類を示す情報に対応するタグに関連付けられた対応情報を、データサーバ８２から読み出して、マッチング処理部４８に供給する。マッチング処理部４８は、読み出された骨格情報と、データサーバ８２に記憶されていた対応情報に含まれて記憶されている骨格情報とのマッチング処理を実行する。
【０１８２】
ステップＳ７３において、マッチング処理部４８は、ステップＳ７２で実行されたマッチング処理において、仮想試着画像生成・表示装置８３から受信した骨格情報に合致する骨格情報が存在したか否かを判断する。
【０１８３】
ステップＳ７３において、合致する骨格情報が存在したと判断された場合、ステップＳ７４において、マッチング処理部４８は、マッチング処理において合致した骨格情報に対応する画像データを、マッチング対応情報出力制御部１１３に供給する。マッチング対応情報出力制御部１１３は、供給された画像データを、ネットワークを介して、仮想試着画像生成・表示装置８３に送信する。
【０１８４】
ステップＳ７３において、合致する骨格情報が存在しなかったと判断された場合、または、ステップＳ７４の処理の終了後、ステップＳ７５において、マッチング処理部４８は、ユーザ情報取得制御部１１１が仮想試着画像生成・表示装置８３から受信した情報から、次のフレームに対応する骨格情報を読み出して、処理は、ステップＳ７２に戻り、それ以降の処理が繰り返される。
【０１８５】
ステップＳ７６において、仮想試着画像生成・表示装置８３の表示画像および通信制御部９１のデータ通信制御部は、ネットワークを介して、マッチング処理装置８４から、マッチング処理の結果得られた画像データを受信して、画像処理部４９に供給する。
【０１８６】
ステップＳ７７において、画像処理部４９は、例えば、図８、図９、および、図１０を用いて説明したように、必要な画像処理を実行し、生成した表示画像を表示制御部５０に供給する。
【０１８７】
ステップＳ７８において、表示制御部５０は、画像処理部４９から供給された、ステップＳ７７８で画像処理部４９により生成された画像の、表示装置１４への表示を制御する。マッチング処理装置８４から受信された全ての画像データに対して、ステップＳ７６，７７および７８の処理が実行されて、処理は終了される。
【０１８８】
このような処理により、一箇所に集約されて記憶された対応情報とマッチング処理装置８４に対して、いろいろな場所に設置された仮想試着画像生成・表示装置８３がアクセスして、多くのユーザに仮想的な試着体験を提供することができる。
【０１８９】
また、このようなシステムを実現することにより、例えば、マッチング処理装置８４へのアクセス回数などに応じて課金処理などを行い、ビジネスモデルとして応用することも可能となる。
【０１９０】
さらに、上述したような技術を応用して、例えば、多くの時間をとることができなかったり、拘束時間が永くなればなるほどコストがかかるような、そして、宣伝効果の高い、著名なモデルや女優等を、長時間拘束すること無しに、このような著名なモデルや女優等が、さまざまな服を着て自由に動く動画像を表示することが可能な、いわゆる仮想電子カタログを生成することが可能となる。
【０１９１】
このような仮想電子カタログの作成を実現するためには、例えば、宣伝したい洋服を着用した洋服販売店の店員等の映像を取得し、骨格情報を得て、対応情報を生成して記憶させるとともに、さらに、著名なモデルや女優等に、１種類の洋服を着てさまざまな動作を行ってもらい、その映像を取得し、骨格情報を得て第２の対応情報を生成して記憶させ、それらを用いてマッチング処理を実行させる必要がある。
【０１９２】
図２１を参照して、このような仮想電子カタログの作成を実現するための仮想試着合成画像生成システム１５１について説明する。
【０１９３】
仮想試着合成画像生成システム１５１は、図１における場合と同様の情報取得装置１１または１２と、図２２を用いて後述する合成画像生成装置１６１と、外部記録装置または各種記録媒体のドライブ１６２で構成されている。
【０１９４】
情報取得装置１１または１２は、図１における場合と同様の機能を有するものであるので、その詳細な説明については後述する。
【０１９５】
外部記録装置または各種記録媒体のドライブ１６２は、例えば、ハードディスクやＵＳＢメモリなどの外部記録装置や、ＣＤ（compact disk）、ＤＶＤ（Digital Versatile Disc）、または、ブルーレイディスクなどの記録媒体に情報を記録可能なドライブなどで構成されており、合成画像生成装置１６１において生成された合成画像を記録するか、もしくは記録を制御するものである。
【０１９６】
次に、図２２を参照して、合成画像生成装置１６１について説明する。
【０１９７】
合成画像生成装置１６１は、画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、タイマー４５、対応情報記憶部４７、マッチング処理部４８、画像処理部４９、第２の対応情報記憶部１７１、および、記録制御部１７２により構成されている。
【０１９８】
合成画像生成装置１６１の画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、タイマー４５、対応情報記憶部４７、マッチング処理部４８、および画像処理部４９のそれぞれの機能は、図５を用いて説明した場合と同様であるので、その詳細な説明は省略する。なお、ここで、対応情報記憶部４７が記憶する対応情報は、店員などが広告したい洋服を着用した場合における画像情報、対応する骨格情報、および、入力部４４から供給された店員などが着用している洋服の種類を示す情報である。
【０１９９】
第２の対応情報記憶部１７１は、画像データ取得部４１から供給されたモデルや女優などの画像データ、および、関節角度情報算出部４３から供給されたモデルや女優などの骨格情報を、それぞれ対応付けて記憶し、マッチング処理部４８の要求に基づいて、これを供給する。
【０２００】
マッチング処理部４８は、第２の対応情報記憶部１７１に記憶されたモデルや女優などの骨格情報と合致する、対応情報記憶部４７に記憶されている対応情報を、マッチング処理により選択して読み出し、これらの骨格情報に対応する画像データを画像処理部４９に供給する。画像処理部４９は、広告したい洋服を着用した店員等の顔画像に、対応するモデルや女優などの顔画像を合成し、モデルや女優などが、広告したい洋服を着用して動いているかのような画像を生成し、記録制御部１７２に供給する。
【０２０１】
記録制御部１７２は、画像処理部４９により生成された表示画像、すなわち、著名なモデルや女優などが、広告したい洋服を着用して動いているように見える合成画像の供給を受け、外部記録装置または記録媒体のドライブへの記録を制御する。
【０２０２】
仮想試着合成画像生成システム１５１は、図１１を用いて説明した場合と同様の対応情報生成処理を行い、対応情報を生成する。さらに、仮想試着合成画像生成システム１５１は、図２３のフローチャートに示される第２の対応情報生成処理を実行する。
【０２０３】
図２３のフローチャートを参照して、第２の対応情報生成処理について説明する。
【０２０４】
ステップＳ１０１において、情報取得装置１１または情報取得装置１２の画像入力部２１は、著名なモデルや女優等（以下、使用モデルと称する）の、静止画、または、動画の撮影を開始し、撮影により得られた画像データを合成画像生成装置１６１に供給する。合成画像生成装置１６１の画像データ取得部４１は、供給された画像データを第２の対応情報記憶部１７１に供給する。
【０２０５】
ステップＳ１０２において、情報取得装置１１または情報取得装置１２の画像入力部２１は、撮像されているのは動画であるか否かを判断する。ステップＳ１０２において撮像されているのは動画ではないと判断された場合、処理は、ステップＳ１０４に進む。
【０２０６】
ステップＳ１０２において撮像されているのは動画であると判断された場合、ステップＳ１０３において、画像入力部２１は、フレーム処理部２２に撮像された動画像を供給する。フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、合成画像生成装置１６１に供給する。合成画像生成装置１６１の画像データ取得部４１は、供給された画像データを第２の対応情報記憶部１７１に供給する。
【０２０７】
情報取得装置１１が適用されており、ステップＳ１０２において撮像されているのは動画ではないと判断された場合、または、ステップＳ１０３の処理の終了後、ステップＳ１０４において、関節座標情報生成部２５は、赤外線カメラ２４から供給された情報に基づいて、使用モデルを検出する。また、情報取得装置１２が適用されており、ステップＳ１０２において撮像されているのは動画ではないと判断された場合、または、ステップＳ１０３の処理の終了後、ステップＳ１０４において、関節位置推定処理部３１は、画像入力部２１から供給される画像データに基づいて、使用モデルを検出する。
【０２０８】
情報取得装置１１が適用されている場合、ステップＳ１０５において、関節座標情報生成部２５は、検出されたモデルの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報に基づいて、関節の座標情報を算出して、合成画像生成装置１６１に供給する。また、情報取得装置１２が適用されている場合、ステップＳ１０５において、関節位置推定処理部３１は、検出されたモデルの関節位置を、画像処理により推定し、関節座標情報生成部３２に供給する。関節座標情報生成部３２は、関節位置情報に基づいて、関節の座標情報を算出して、合成画像生成装置１６１に供給する。合成画像生成装置１６１の関節座標情報取得部４２は、供給された関節座標情報を、関節角度情報算出部４３に供給する。
【０２０９】
ステップＳ１０６において、関節角度情報算出部４３は、関節座標情報取得部４２から供給された関節座標情報に基づいて、所定の関節の角度を算出し、関節座標情報取得部４２から供給された関節座標情報と算出された関節の角度情報とを、骨格情報として、第２の対応情報記憶部１７１に供給する。
【０２１０】
ステップＳ１０７において、第２の対応情報記憶部１７１は、使用モデルの関節の座標情報・算出された角度などの骨格情報と、その骨格情報を得た基となる使用モデルの画像情報とを、関連付けて、第２の対応情報として記憶し、処理が終了される。
【０２１１】
このような処理により、第２の対応情報記憶部１７１に、使用モデルの関節の座標情報・算出された角度などの骨格情報と、その骨格情報を得た基となる使用モデルの画像情報とが、関連付けられて、第２の対応情報として記憶される。
【０２１２】
次に、図２４のフローチャートを参照して、仮想試着合成画像生成システム１５１の合成画像生成装置１６１において実行される画像合成処理について説明する。
【０２１３】
ステップＳ１２１において、入力部４４は、仮想試着を実施する洋服の種類を示す情報の入力を受け、マッチング処理部４８に供給する。マッチング処理部４８は、対応情報記憶部４７に記憶されている対応情報のうち、入力された洋服の種類を示す情報に対応する対応情報をマッチング処理に用いる。
【０２１４】
ステップＳ１２２において、マッチング処理部４８は、第２の対応情報として記憶された骨格情報と、仮想試着を実施する洋服の種類を示す情報に対応するタグに関連付けられた対応情報に含まれて対応情報記憶部４７に記憶されている骨格情報との第３のマッチング処理を実行する。
【０２１５】
ステップＳ１２３において、マッチング処理部４８は、ステップＳ１２２で実行された第３のマッチング処理において、第２の対応情報記憶部１７１に記憶された骨格情報に合致する、対応情報に含まれて対応情報記憶部４７に記憶されている骨格情報が存在したか否かを判断する。ステップＳ１２３において、骨格情報が存在しないと判断された場合、処理は、ステップＳ１２２に戻り、それ以降の処理が繰り返される。
【０２１６】
ステップＳ１２３において、骨格情報が存在したと判断された場合、ステップＳ１２４において、マッチング処理部４８は、ステップＳ１２２で実行された第３のマッチング処理の結果、合致する骨格情報が複数存在したか否かを判断する。
【０２１７】
ステップＳ１２４において、第３のマッチング処理の結果、合致する骨格情報が複数存在していないと判断された場合、ステップＳ１２５において、マッチング処理部４８は、対応情報記憶部４７に記憶されている対応情報のうち、第３のマッチング処理において合致した骨格情報に対応する画像を読み出して、画像処理部４９に供給し、処理は、ステップＳ１３１に進む。
【０２１８】
ステップＳ１２４において、第３のマッチング処理の結果、合致する骨格情報が複数存在したと判断された場合、ステップＳ１２６において、マッチング処理部４８は、第２の対応情報記憶部１７１に記憶されている第２の対応情報のうち、処理中フレーム（すなわち、ステップＳ１２２の第３のマッチング処理に用いられた画像フレーム）の一つ前のフレームの骨格情報を読み出す。
【０２１９】
ステップＳ１２７において、マッチング処理部４８は、ステップＳ１２６の処理により読み出したフレームの骨格情報と、対応情報に含まれて対応情報記憶部４７に記憶されている骨格情報との第４のマッチング処理を実行する。
【０２２０】
ステップＳ１２８において、マッチング処理部４８は、第４のマッチング処理において、合致する骨格情報が存在したか否かを判断する。
【０２２１】
ステップＳ１２８において、合致する骨格情報が存在しないと判断された場合、ステップＳ１２９において、マッチング処理部４８は、第２の対応情報記憶部１７１に記憶されている第２の対応情報のうち、さらに１つ前のフレームの骨格情報を読み出して、処理は、ステップＳ１２７に戻り、それ以降の処理が繰り返される。
【０２２２】
ステップＳ１２８において、合致する骨格情報が存在したと判断された場合、ステップＳ１３０において、マッチング処理部４８は、例えば、図６を用いて説明したように、複数存在した第３のマッチング処理において合致した骨格情報に対応する画像のうち、第４のマッチング処理において合致した骨格情報に対応する時刻に対してより近い（さらに、時間方向も合致すると好適である）画像を選択して、対応情報記憶部４７から読み出して、画像処理部４９に供給する。
【０２２３】
ステップＳ１３１において、画像処理部４９は、例えば、図８、図９、および、図１０を用いて説明したように、必要な画像処理を実行し、生成した表示画像を記録制御部１７２に供給する。
【０２２４】
ステップＳ３９において、記録制御部１７２は、画像処理部４９から供給された、ステップＳ１３０で画像処理部４９により生成された画像の、外部記録装置または記録媒体のドライブへの記録を制御し、処理が終了される。
【０２２５】
このような処理により、外部記録装置または記録媒体に記録された合成画像を用いて、著名なモデルや女優などが、実際に数多くの洋服を着て動いているかのように不自然無く感じられる動画像を含む電子カタログやウェブコマーシャルなどを作成することができる。また、例えば、このような処理により生成される動画像の使用に対して課金を行うことなどにより、ビジネスモデルとして応用することも可能となる。
【０２２６】
例えば、身体の全部または略全部、すなわち、下半身部分の少なくとも一部を含んで対応情報を生成し、マッチング処理を行った場合、上半身の骨格情報が合致しても下半身の骨格情報が合致しなかった場合や、逆に、下半身の骨格情報が合致しても上半身の骨格情報が合致しなかった場合、その骨格情報はマッチングしないものとされる。また、対応情報を生成するとき、モデルの上半身に着用される洋服とモデルの下半身に着用される洋服との組み合わせのそれぞれ全ての組み合わせにおいて対応情報を生成する必要がある。
【０２２７】
これに対して、上半身と下半身をそれぞれ別にマッチング処理させることができると、マッチング精度が上がる。また、上半身と下半身をそれぞれ別にマッチング処理させることができると、モデルの上半身に着用される洋服１種類に対して1回、下半身に着用される洋服１種類に対して1回だけ、組み合わせの最小パターンのみで対応情報を生成すればよくなる。
【０２２８】
次に、図２６，２７，２８、および、図２９を参照して、上述したような技術を応用することにより、上半身と下半身をそれぞれ別にマッチング処理させることができる仮想試着画像表示システムについて説明する。
【０２２９】
上半身と下半身をそれぞれ別にマッチング処理させることができる仮想試着画像表示システムは、図１を用いて説明した仮想試着画像表示システムの情報取得装置１１または１２に代わって、図２６を用いて説明する情報取得装置２０１を含み、表示画像制御装置１３に代わって、図２７を用いて後述する表示画像制御装置２２１を含み、また、図１を用いて説明した場合と同様の機能を有する表示装置１４を含んで構成される。
【０２３０】
なお、ここでは、複数の装置によって構成されるシステムによって、登録処理および参照処理が行われるものとして説明するが、同様の機能を１つの装置を用いて実現するものとしても良いことは言うまでもなく、また、登録処理および対応情報の記憶を一箇所に集約するものとしてさらに応用してもよいことは言うまでもない。
【０２３１】
図２６を参照して、上半身と下半身をそれぞれ別にマッチング処理させることができる情報取得装置２０１について説明する。
【０２３２】
情報取得装置２０１は、画像入力部２１、フレーム処理部２２、赤外線カメラ２４、赤外線照射発光部２３、上下半身分割部２１１、および、関節座標情報生成部２１２によって構成されている。ここで、画像入力部２１、フレーム処理部２２、赤外線カメラ２４、および、赤外線照射発光部２３については、図２を用いて説明した場合と同様の機能を有するものであるので、その説明は省略する。
【０２３３】
上下半身分割部２１１は、画像入力部２１およびフレーム処理部２２から画像データの供給を受け、これを解析し、上半身部分と下半身部分とに分割し、表示画像制御装置２２１に供給するとともに、関節座標情報生成部２１２に供給する。
【０２３４】
関節座標情報生成部２１２は、上下半身分割部２１１から得られる上下半身が分割された画像情報、および、赤外線カメラ２４から得られた情報に基づいて、撮影対象の関節座標を、上半身と下半身とに区別して生成し、表示画像制御装置２２１に出力する。
【０２３５】
次に、図２７を参照して、上半身と下半身をそれぞれ別にマッチング処理させることができる表示画像制御装置２２１について説明する。
【０２３６】
表示画像制御装置２２１は、画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、タイマー４５、一時記憶部４６、半身ごとの対応情報記憶部２３１、マッチング処理部２３２、画像処理部２３３、および、表示制御部５０により構成されている。ここで、画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、タイマー４５、一時記憶部４６、および、表示制御部５０においては、図５を用いて説明した場合と同様の機能を有するものであるので、その説明は省略する。
【０２３７】
半身ごとの対応情報記憶部２３１は、登録処理において、画像データ取得部４１から供給された半身ごとの画像データ、関節角度情報算出部４３から供給された半身ごとのモデルの骨格情報、および、入力部４４から供給されたモデルが着用している洋服の種類を示す情報を、それぞれ半身ごとに対応付けて記憶し、マッチング処理部２３２の要求に基づいて、これを供給する。
【０２３８】
マッチング処理部２３２は、登録処理において、一時記憶部４６にユーザの骨格情報を要求する。画像データ取得部４１から一時記憶部４６に供給されるのは、半身ごとの画像データであり、角度情報算出部から供給される骨格情報も、半身ごとである。すなわち、一時記憶部４６には、ユーザの半身ごとの画像データと骨格情報が一時記憶され、マッチング処理部２３２に供給するようになされている。そして、マッチング処理部２３２は、入力部４４から供給されたユーザが仮想試着したい洋服の種類を示す情報を参照し、半身ごとの対応情報記憶部２３１に記憶されている、半身ごとの対応情報のうち、入力部４４から供給されたユーザが仮想試着したい洋服の種類に合致する、半身ごとの対応情報に含まれて記憶されている骨格情報を読み出して、マッチング処理を実行する。
【０２３９】
マッチング処理部２３２が実行するマッチング処理においては、誤差の許可や、複数マッチングされた場合の処理などについては、図５を用いて説明したマッチング処理部４８と同様の処理が実行されるので、その説明は省略する。
【０２４０】
マッチング処理部２３２は、このようにして得られたマッチング結果に対応する、半身ごとのユーザ画像および半身ごとのモデル画像を、画像処理部２３３に供給する。
【０２４１】
画像処理部２３３は、マッチング処理部２３２から供給された、半身ごとのユーザ画像および半身ごとのモデル画像を、例えば、関節座標情報を参照するなどして、上半身と下半身とが不自然でなく連続するように合成し、図５の画像処理部４９と同様なさまざまな画像処理を施して、処理済の表示用画像データを生成して、表示制御部５０に供給する。
【０２４２】
なお、上述した仮想電子カタログの作成を実現するための仮想試着合成画像生成システム１５１においても、半身ごとに、第１の対応情報および第２の対応情報を生成、記憶し、マッチング処理を実行するようにしてもよいことは言うまでもない。
【０２４３】
次に、図２７のフローチャートを参照して、半身ごとに別々に対応情報を生成し記憶する場合の、登録処理２について説明する。
【０２４４】
ステップＳ１５１において、情報取得装置２０１の画像入力部２１は、静止画、または、動画の撮影を開始し、撮影により得られた画像データを上下半身分割部２１１に供給する。
【０２４５】
ステップＳ１５２において、情報取得装置２０１の画像入力部２１は、撮像されているのは動画であるか否かを判断する。ステップＳ１５２において撮像されているのは動画ではないと判断された場合、処理は、ステップＳ１５４に進む。
【０２４６】
ステップＳ１５２において撮像されているのは動画であると判断された場合、ステップＳ１５３において、画像入力部２１は、フレーム処理部２２に撮像された動画像を供給する。フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、上下半身分割部２１１に供給する。
【０２４７】
ステップＳ１５２において撮像されているのは動画ではないと判断された場合、または、ステップＳ３の処理の終了後、ステップＳ１５４において、関節座標情報生成部２１２は、赤外線カメラ２４から供給された情報に基づいて、モデルを検出する。
【０２４８】
ステップＳ１５５において、上下半身分割部２１１は、供給された画像データに画像処理を施して、モデルの上半身と下半身とを検出し、供給された画像データの上半身と下半身とを分割して、関節座標情報生成部２１２、および、表示画像制御装置２２１に供給する。表示画像制御装置２２１の画像データ取得部４１は、供給された上半身と下半身とに分割された画像データを、半身ごとの対応情報記憶部２３１に供給する。
【０２４９】
ステップＳ１５６において、関節座標情報生成部２１２は、検出されたモデルの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報、および、上下半身が分割された画像データに基づいて、上半身下半身それぞれの関節の座標情報を算出して、表示画像制御装置２２１に供給する。表示画像制御装置２２１の関節座標情報取得部４２は、供給された上半身下半身それぞれの関節座標情報を、関節角度情報算出部４３に供給する。
【０２５０】
ステップＳ１５７において、関節角度情報算出部４３は、関節座標情報取得部４２から供給された上半身下半身それぞれの関節座標情報に基づいて、上半身下半身それぞれの所定の関節の角度を算出し、関節座標情報取得部４２から供給された関節座標情報と算出された関節の角度情報とを、上半身下半身それぞれの骨格情報として、半身ごとの対応情報記憶部２３１に供給する。
【０２５１】
ステップＳ１５８において、半身ごとの対応情報記憶部２３１は、上半身下半身それぞれの関節の座標情報・算出された角度などの骨格情報と、その骨格情報を得た基となる上半身下半身それぞれの画像情報と、さらに、必要に応じて、タイマー４５を参照することにより得られるその画像情報の取得時刻情報とを、関連付けて、対応情報として記憶する。
【０２５２】
ステップＳ１５９において、半身ごとの対応情報記憶部２３１は、画像の撮影が終了したか否かを判断する。ステップＳ１５９において、画像の撮影が終了していないと判断された場合、処理は、ステップＳ１５２に戻り、それ以降の処理が繰り返される。
【０２５３】
ステップＳ１５９において、画像の撮影が終了したと判断された場合、ステップＳ１６０において、半身ごとの対応情報記憶部２３１は、入力部４４から供給される洋服の種類を判別するためのタグを、半身ごとの対応情報に関連付けて記憶し、処理が終了される。
【０２５４】
このような処理により、表示画像制御装置２２１の半身ごとの対応情報記憶部２３１に、半身ごとの対応情報が記憶される。
【０２５５】
次に、図２９および図３０のフローチャートを参照して、仮想試着画像表示システムが、よりリアルな仮想試着の実現をユーザに提供する場合における参照処理の一例である参照処理２について説明する。
【０２５６】
ステップＳ１７１において、入力部４４は、仮想試着を実施する洋服の種類を示す情報の入力を受け、マッチング処理部２３２に供給する。マッチング処理部２３２は、半身ごとの対応情報記憶部２３１に記憶されている半身ごとの対応情報のうち、入力された洋服の種類を示す情報に対応する半身ごとの対応情報をマッチング処理に用いる。
【０２５７】
ステップＳ１７２において、情報取得装置２０１の画像入力部２１は、静止画、または、動画の撮影を開始する。
【０２５８】
ステップＳ１７３において、情報取得装置２０１の画像入力部２１は、撮像されているのは動画であるか否かを判断する。ステップＳ１７３において撮像されているのは動画ではないと判断された場合、処理は、ステップＳ１７５に進む。
【０２５９】
ステップＳ１７３において撮像されているのは動画であると判断された場合、ステップＳ１７４において、画像入力部２１は、フレーム処理部２２に撮像された動画像を供給する。フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、上下半身分割部２１１に供給する。
【０２６０】
ステップＳ１７３において撮像されているのは動画ではないと判断された場合、または、ステップ１７４の処理の終了後、ステップＳ１７５において、関節座標情報生成部２１２は、赤外線カメラ２４から供給された情報に基づいて、ユーザを検出する。
【０２６１】
ステップＳ１７６において、上下半身分割部２１１は、供給された画像データに画像処理を施して、ユーザの上半身と下半身とを検出し、供給された画像データの上半身と下半身とを分割して、関節座標情報生成部２１２、および、表示画像制御装置２２１に供給する。表示画像制御装置２２１の画像データ取得部４１は、供給された上半身と下半身とに分割された画像データを、一時記憶部４６に供給する。
【０２６２】
ステップＳ１７７において、関節座標情報生成部２１２は、検出されたユーザの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報、および、上下半身が分割された画像データに基づいて、上半身下半身それぞれの関節の座標情報を算出して、表示画像制御装置２２１に供給する。表示画像制御装置２２１の関節座標情報取得部４２は、供給された上半身下半身それぞれの関節座標情報を、関節角度情報算出部４３に供給する。
【０２６３】
ステップＳ１７８において、関節角度情報算出部４３は、関節座標情報取得部４２から供給された上半身下半身それぞれの関節座標情報に基づいて、上半身下半身それぞれの所定の関節の角度を算出し、関節座標情報取得部４２から供給された関節座標情報と算出された関節の角度情報とを、上半身下半身それぞれの骨格情報として、一時記憶部４６に供給する。
【０２６４】
ステップＳ１７９において、一時記憶部４６は、関節角度情報算出部４３から供給された、関節の座標情報および算出された角度などの、上半身下半身それぞれの骨格情報と、画像情報取得部から供給された、その骨格情報を得た基となる上半身下半身それぞれの画像情報とを、関連付けて一時記憶する。
【０２６５】
ステップＳ１８０において、マッチング処理部２３２は、一時記憶された半身ごとの骨格情報と、仮想試着を実施する洋服の種類を示す情報に対応するタグに関連付けられた対応情報に含まれて半身ごとの対応情報記憶部２３１に記憶されている半身ごとの骨格情報との第５のマッチング処理を実行する。
【０２６６】
ステップＳ１８１において、マッチング処理部２３２は、ステップＳ１８０で実行された第５のマッチング処理において、一時記憶部４６に一時記憶された半身ごとの骨格情報に合致する、半身ごとの対応情報に含まれて半身ごとの対応情報記憶部２３１に記憶されている半身ごとの骨格情報が存在したか否かを判断する。ステップＳ１８１において、骨格情報が存在しないと判断された場合、処理は、ステップＳ１７５に戻り、それ以降の処理が繰り返される。
【０２６７】
ステップＳ１８１において、骨格情報が存在したと判断された場合、ステップＳ１８２において、マッチング処理部２３２は、ステップＳ１８０で実行された第５のマッチング処理の結果、合致する半身ごとの骨格情報が複数存在したか否かを判断する。
【０２６８】
ステップＳ１８２において、第５のマッチング処理の結果、合致する骨格情報が複数存在していないと判断された場合、ステップＳ１８３において、マッチング処理部２３２は、半身ごとの対応情報記憶部２３１に記憶されている半身ごとの対応情報のうち、第５のマッチング処理において合致した半身ごとの骨格情報に対応する半身ごとの画像を読み出して、画像処理部２３３に供給し、処理は、ステップＳ１８９に進む。
【０２６９】
ステップＳ１８２において、第５のマッチング処理の結果、合致する骨格情報が複数存在したと判断された場合、ステップＳ１８４において、マッチング処理部２３２は、一時記憶部４６に記憶されている情報のうち、ユーザの現フレーム（すなわち、第５のマッチング処理に用いられた画像フレーム）の一つ前のフレームの半身ごとの骨格情報を読み出す。
【０２７０】
ステップＳ１８５において、マッチング処理部２３２は、ステップＳ１８４の処理により読み出したフレームの半身ごとの骨格情報と、半身ごとの対応情報に含まれて半身ごとの対応情報記憶部２３１に記憶されている半身ごとの骨格情報との第６のマッチング処理を実行する。
【０２７１】
ステップＳ１８６において、マッチング処理部２３２は、第６のマッチング処理において、合致する半身ごとの骨格情報が存在したか否かを判断する。
【０２７２】
ステップＳ１８６において、合致する骨格情報が存在しないと判断された場合、ステップＳ１８７において、マッチング処理部２３２は、一時記憶部４６に記憶されている情報のうち、さらに１つ前のフレームの半身ごとの骨格情報を読み出して、処理は、ステップＳ１８５に戻り、それ以降の処理が繰り返される。
【０２７３】
ステップＳ１８６において、合致する骨格情報が存在したと判断された場合、ステップＳ１８８において、マッチング処理部２３２は、例えば、図６を用いて説明したように、複数存在した第５のマッチング処理において合致した半身ごとの骨格情報に対応する半身ごとの画像のうち、第６のマッチング処理において合致した半身ごとの骨格情報に対応する時刻に対してより近い（さらに、時間方向も合致すると好適である）半身ごとの画像を選択して、半身ごとの対応情報記憶部２３１から読み出して、画像処理部２３３に供給する。
【０２７４】
ステップＳ１８９において、画像処理部２３３は、供給された半身ごとの画像データを上下半身で合成するとともに、例えば、図８、図９、および、図１０を用いて説明したように、必要な画像処理を実行し、生成した表示画像を表示制御部５０に供給する。
【０２７５】
なお、画像処理部２３３は、マッチング処理部２３２から、所定のフレームにおいて、上下半身のいずれかしか供給を受けなかった場合、そのフレームより前のフレームで、かつ、最も近い時刻にマッチングした他方の半身画像との合成を行うようにしても良い。
【０２７６】
ステップＳ１９０において、表示制御部５０は、画像処理部２３３から供給された、ステップＳ３８で画像処理部２３３により生成された画像の、表示装置１４への表示を制御する。
【０２７７】
ステップＳ１９１において、マッチング処理部２３２は、画像の撮影が終了したか否かを判断する。
【０２７８】
ステップＳ１９１において、画像の撮影が終了していないと判断された場合、処理は、ステップＳ１７３に戻り、それ以降の処理が繰り返される。ステップＳ１９１において、画像の撮影が終了したと判断された場合、処理が終了される。
【０２７９】
このような処理により、仮想試着画像表示システムは、上下半身のそれぞれにおいてマッチング処理を行うことができるので、マッチングの精度が上がるとともに、ユーザに対して、所望の洋服を試着し、自分の動きにあわせて試着している洋服も動いたり、広がったり、しわがよっているような仮想体験を提供するために、モデルに上下それぞれ異なる洋服の全ての組み合わせにおいて登録処理を行うことなく、容易に全ての組み合わせにおける仮想試着体験を提供することができる。
【０２８０】
以上説明した技術においては、フレーム画像の一枚ごとにマッチング処理を実行するものとして説明したが、上述した場合と同様に、衣服のふくらみやねじれやしわなどがユーザの動きに対して自然なものであり、かつ、上述した場合よりも、さらに滑らかな動きをする仮想試着画像をユーザに提供するために、例えば、所定のフレーム数単位で対応情報を生成し、その所定のフレーム数単位でマッチング処理を実行し、所定のフレーム数に対応する動画像を合成することができるようにしても良い。
【０２８１】
次に、図３１，３２，３３，３４、３５、および、３６を参照して、さらに滑らかな動きをする仮想試着画像をユーザに提供することができる仮想試着画像表示システムについて説明する。
【０２８２】
さらに滑らかな動きをする仮想試着画像をユーザに提供することができる仮想試着画像表示システムは、図１を用いて説明した仮想試着画像表示システムの情報取得装置１１または１２に代わって、図３１、または、図３２を用いて説明する情報取得装置１９１または１９２を含み、表示画像制御装置１３に代わって、図３３を用いて後述する表示画像制御装置２１１を含み、また、図１を用いて説明した場合と同様の機能を有する表示装置１４を含んで構成される。
【０２８３】
なお、ここでは、複数の装置によって構成されるシステムによって、登録処理および参照処理が行われるものとして説明するが、同様の機能を１つの装置を用いて実現するものとしても良いこと、登録処理および対応情報の記憶を一箇所に集約するものとしてさらに応用してもよいこと、さらに、上下半身を分割してそれぞれにおいて処理を実行してもよいことは言うまでもない。
【０２８４】
図３１を参照して、情報取得装置１９１について説明する。
【０２８５】
情報取得装置１９１は、動画像入力部２０１、フレーム処理部２２、赤外線カメラ２４、赤外線照射発光部２３、上下半身分割部２１１、および、関節座標情報生成部２５によって構成されている。ここで、フレーム処理部２２、赤外線カメラ２４、赤外線照射発光部２３、および関節座標情報生成部２５については、図２を用いて説明した場合と同様の機能を有するものであるので、その説明は省略する。
【０２８６】
動画像入力部２０１は、例えば、ビデオカメラなどによって構成され、試着対象となる洋服を着用したモデルや、仮想試着を行おうとするユーザの動画像を取得し、所定のフレーム数に対応する動画像を、表示画像制御装置２１１、フレーム処理部２２、関節情報生成部に供給する。また、動画像入力部２０１が取得するモデルやユーザの動画像は、全身のみではなく、例えば、上半身のみであるなど、その体のうちの一部分のみであってもかまわないことは言うまでもない。
【０２８７】
次に、図３２を参照して、情報取得装置１９２について説明する。
【０２８８】
情報取得装置１９２は、動画像入力部２０１、フレーム処理部２２、関節位置推定処理部３１、および、関節座標情報生成部３２で構成されている。
【０２８９】
動画像入力部２０１については、図３１を用いて説明した場合と同様の機能を有するものであり、フレーム処理部２２、関節位置推定処理部３１、および、関節座標情報生成部３２については、図４を用いて説明した場合と同様の機能を有するものであるので、その説明は省略する。
【０２９０】
次に、図３３を用いて、表示画像制御装置２１１について説明する。
【０２９１】
表示画像制御装置２１１は、画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、タイマー４５、ユーザの複数フレームセット一時記憶部２２１、複数フレームセット対応情報記憶部２２２、動画像マッチング処理部２２３、動画像処理部２２４、および、表示制御部２２５により構成されている。
【０２９２】
なお、画像データ取得部４１、関節座標情報取得部４２、関節角度情報算出部４３、入力部４４、および、タイマー４５については、図５を用いて説明した場合と同様の機能を有するものであるので、その詳細な説明は省略する。
【０２９３】
ユーザの複数フレームセット一時記憶部２２１は、参照処理において、画像データ取得部４１から供給された動画像における所定フレーム数に対応する動画像データと、関節角度情報算出部４３から供給された、動画像に対応する複数フレーム分のユーザの骨格情報とを、ユーザの複数フレームセットとして、現在マッチング処理が実行されている複数フレームセットと、そのフレームセットより所定数前のフレームセットを含む所定のフレームセット数だけ一時記憶し、動画像マッチング処理部２２３の要求に基づいて、これを供給する。
【０２９４】
複数フレームセット対応情報記憶部２２２は、登録処理において、画像データ取得部４１から供給された動画像における所定フレーム数に対応する動画像データ、関節角度情報算出部４３から供給された供給された、動画像に対応する複数フレーム分のモデルの骨格情報、および、入力部４４から供給されたモデルが着用している洋服の種類を示す情報を、それぞれ対応付けて、複数フレームセット対応情報として記憶し、動画像マッチング処理部２２３の要求に基づいて、これを供給する。
【０２９５】
なお、ユーザの複数フレームセット一時記憶部２２１および複数フレームセット対応情報記憶部２２２において記憶される複数フレーム分の情報は、例えば、時刻ｔ１〜ｔ５までの情報に続いて、時刻ｔ６〜ｔ１０、時刻ｔ１１〜ｔ１５・・・というように、フレームが重ならないようにしても良いし、例えば、時刻ｔ１〜ｔ５までの情報に続いて、時刻ｔ４〜ｔ８、時刻ｔ７〜ｔ１１・・・というように、少なくとも１つのフレームがかさなるようにしてもよい。
【０２９６】
動画像マッチング処理部２２３は、登録処理において、ユーザの複数フレームセット一時記憶部２２１に、ユーザの複数フレーム分の骨格情報を要求する。そして、動画像マッチング処理部２２３は、入力部４４から供給されたユーザが仮想試着したい洋服の種類を示す情報を参照し、複数フレームセット対応情報記憶部２２２に記憶されている複数フレームセット対応情報のうち、入力部４４から供給されたユーザが仮想試着したい洋服の種類に合致する複数フレームセット対応情報に含まれて記憶されている複数フレーム分の骨格情報を読み出して、マッチング処理を実行する。
【０２９７】
動画像マッチング処理部２２３が実行するマッチング処理においては、誤差の許可や、複数マッチングされた場合の処理などについては、図５を用いて説明したマッチング処理部４８と同様の処理が実行されるので、その説明は省略する。
【０２９８】
動画像処理部２２４は、動画像マッチング処理部２２３から供給された、複数フレームに対応するユーザの動画像およびモデルの動画像を画像処理し、図５の画像処理部４９と同様なさまざまな画像処理を施して、処理済の表示用動画像データを生成して、表示制御部２５５に供給する。
【０２９９】
表示制御部２２５は、動画像処理部２２４により生成された表示用動画像データの、表示装置１４への表示を制御する。
【０３００】
なお、図３１、図３２、および、図３３を用いて説明した場合においても、複数フレームセット対応情報を生成して記憶し、マッチング処理を行う機能を１箇所に集約して設けるようにしても良いし、さらに、複数フレームセット対応情報を生成して記憶し、マッチング処理を行う機能を、上半身と下半身のそれぞれにおいて可能なようにしてもよいことは言うまでもない。
【０３０１】
さらに、図２１を参照して説明した仮想電子カタログの作成を実現するための仮想試着合成画像生成システム１５１においても、図３１、図３２、および、図３３を用いて説明した場合のように、複数フレーム分をまとめてマッチング処理をし、動画像を合成処理するようにしてもよいことは言うまでもない。
【０３０２】
次に、図３４のフローチャートを参照して、動画像を合成する場合の登録処理３について説明する。
【０３０３】
ステップＳ２１１において、情報取得装置１９１または情報取得装置１９２の動画像入力部２０１は、動画の撮影を開始し、撮影により得られた動画像データを表示画像制御装置２１１に供給するとともに、フレーム処理部２２に供給する。表示画像制御装置２１１の画像データ取得部４１は、供給された動画像データを複数フレームセット対応情報記憶部２２２に供給する。
【０３０４】
ステップＳ２１２において、複数フレームセット対応情報記憶部２２２は、所定のフレーム数に対応する動画像とその取得時刻情報とを記憶する。
【０３０５】
ステップＳ２１３において、フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、表示画像制御装置２１１に供給する
【０３０６】
情報取得装置１９１が適用されている場合、ステップＳ２１４において、関節座標情報生成部２５は、赤外線カメラ２４から供給された情報に基づいて、モデルを検出する。また、情報取得装置１９２が適用されている場合、ステップＳ２１４において、関節位置推定処理部３１は、動画像入力部２０１から供給される画像データに基づいて、モデルを検出する。
【０３０７】
情報取得装置１９１が適用されている場合、ステップＳ２１５において、関節座標情報生成部２５は、検出されたモデルの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報に基づいて、関節の座標情報を算出して、表示画像制御装置２１１に供給する。また、情報取得装置１９２が適用されている場合、ステップＳ２１５において、関節位置推定処理部３１は、検出されたモデルの関節位置を、画像処理により推定し、関節座標情報生成部３２に供給する。関節座標情報生成部３２は、関節位置情報に基づいて、関節の座標情報を算出して、表示画像制御装置２１１に供給する。表示画像制御装置２１１の関節座標情報取得部４２は、供給された関節座標情報を、関節角度情報算出部４３に供給する。
【０３０８】
ステップＳ２１６において、関節角度情報算出部４３は、関節座標情報取得部４２から供給された関節座標情報に基づいて、所定の関節の角度を算出し、関節座標情報取得部４２から供給された関節座標情報と算出された関節の角度情報とを、所定の複数フレーム分まとめて骨格情報として、複数フレームセット対応情報記憶部２２２に供給する。
【０３０９】
ステップＳ２１７において、複数フレームセット対応情報記憶部２２２は、関節角度情報算出部４３から供給される情報に基づいて、所定の複数フレーム分の関節の角度算出処理が終了したか否かを判断する。ステップＳ２１７において、所定の複数フレーム分の関節の角度算出処理が終了していないと判断された場合、処理は、ステップＳ２１４に戻り、それ以降の処理が繰り返される。
【０３１０】
ステップＳ２１７において、所定の複数フレーム分の関節の角度算出処理が終了したと判断された場合、ステップＳ２１８において、複数フレームセット対応情報記憶部２２２は、所定の複数フレーム分の関節の座標情報・算出された関節の角度などの複数フレーム分の骨格情報と、その骨格情報を得た基となる複数フレームに対応する動画像情報と、さらに、必要に応じて、タイマー４５を参照することにより得られるその動画像情報の取得時刻情報とを、関連付けて、複数フレームセット対応情報として記憶する。
【０３１１】
ステップＳ２１９において、複数フレームセット対応情報記憶部２２２は、画像の撮影が終了したか否かを判断する。ステップ２１９において、画像の撮影が終了していないと判断された場合、処理は、ステップＳ２１２に戻り、それ以降の処理が繰り返される。
【０３１２】
ステップＳ２１９において、画像の撮影が終了したと判断された場合、ステップＳ２２０において、複数フレームセット対応情報記憶部２２２は、入力部４４から供給される洋服の種類を判別するためのタグを、複数フレームセット対応情報に関連付けて記憶し、処理が終了される。
【０３１３】
このような処理により、表示画像制御部の複数フレームセット対応情報記憶部２２２に、動画像を構成する複数フレームごとにマッチング処理を行うための複数フレームセット対応情報が記憶される。
【０３１４】
次に、図３５および図３６のフローチャートを参照して、仮想試着画像表示システムが、よりリアルな仮想試着の実現をユーザに提供する場合における参照処理の一例である参照処理３について説明する。
【０３１５】
ステップＳ２４１において、情報取得装置１９１または情報取得装置１９２の動画像入力部２０１は、動画の撮影を開始し、撮影により得られた動画像データを表示画像制御装置２１１に供給するとともに、フレーム処理部２２に供給する。表示画像制御装置２１１の画像データ取得部４１は、供給された動画像データをユーザの複数フレームセット一時記憶部２２１に供給する。
【０３１６】
ステップＳ２４２において、ユーザの複数フレームセット一時記憶部２２１は、所定のフレーム数に対応する動画像とその取得時刻情報とを記憶する。
【０３１７】
ステップＳ２４３において、フレーム処理部２２は、供給された動画像から所定のフレーム数で静止画像を生成し、表示画像制御装置２１１に供給する
【０３１８】
情報取得装置１９１が適用されている場合、ステップＳ２４４において、関節座標情報生成部２５は、赤外線カメラ２４から供給された情報に基づいて、ユーザを検出する。また、情報取得装置１９２が適用されている場合、ステップＳ２４４において、関節位置推定処理部３１は、動画像入力部２０１から供給される画像データに基づいて、ユーザを検出する。
【０３１９】
情報取得装置１９１が適用されている場合、ステップＳ２４５において、関節座標情報生成部２５は、検出されたユーザの関節位置を、例えば、図３を用いて説明したように推定し、関節位置情報に基づいて、関節の座標情報を算出して、表示画像制御装置２１１に供給する。また、情報取得装置１９２が適用されている場合、ステップＳ２４５において、関節位置推定処理部３１は、検出されたユーザの関節位置を、画像処理により推定し、関節座標情報生成部３２に供給する。関節座標情報生成部３２は、関節位置情報に基づいて、関節の座標情報を算出して、表示画像制御装置２１１に供給する。表示画像制御装置２１１の関節座標情報取得部４２は、供給された関節座標情報を、関節角度情報算出部４３に供給する。
【０３２０】
ステップＳ２４６において、関節角度情報算出部４３は、関節座標情報取得部４２から供給された関節座標情報に基づいて、ユーザの所定の関節の角度を算出し、関節座標情報取得部４２から供給された関節座標情報と算出された関節の角度情報とを、所定の複数フレーム分まとめて骨格情報として、ユーザの複数フレームセット一時記憶部２２１に供給する。
【０３２１】
ステップＳ２４７において、ユーザの複数フレームセット一時記憶部２２１は、関節角度情報算出部４３から供給される情報に基づいて、所定の複数フレーム分の関節の角度算出処理が終了したか否かを判断する。ステップＳ２４７において、所定の複数フレーム分の関節の角度算出処理が終了していないと判断された場合、処理は、ステップＳ２４４に戻り、それ以降の処理が繰り返される。
【０３２２】
ステップＳ２４８において、所定の複数フレーム分の関節の角度算出処理が終了したと判断された場合、ステップＳ２１８において、ユーザの複数フレームセット一時記憶部２２１は、所定の複数フレーム分の関節の座標情報・算出された関節の角度などの複数フレーム分の骨格情報と、その骨格情報を得た基となる複数フレームに対応する動画像情報と、さらに、必要に応じて、タイマー４５を参照することにより得られるその動画像情報の取得時刻情報とを、関連付けて、ユーザの複数フレームセット情報として一時記憶する。
【０３２３】
ステップＳ２４９において、動画像マッチング処理部２２３は、一時記憶された複数フレーム分の骨格情報と、仮想試着を実施する洋服の種類を示す情報に対応するタグに関連付けられた複数フレームセット対応情報に含まれて複数フレームセット対応情報記憶部２２２に記憶されている骨格情報との第７のマッチング処理を実行する。
【０３２４】
ステップＳ２５０において、動画像マッチング処理部２２３は、ステップＳ２４９で実行された第７のマッチング処理において、ユーザの複数フレームセット一時記憶部２２１に一時記憶された複数フレーム分の骨格情報に合致する、複数フレームセット対応情報に含まれて複数フレームセット対応情報記憶部２２２に記憶されている骨格情報が存在したか否かを判断する。ステップＳ２５０において、骨格情報が存在しないと判断された場合、処理は、ステップＳ２４２に戻り、それ以降の処理が繰り返される。
【０３２５】
ステップＳ２５０において、骨格情報が存在したと判断された場合、ステップＳ２５１において、動画像マッチング処理部２２３は、ステップＳ２５０で実行された第７のマッチング処理の結果、合致する複数フレーム分の骨格情報が複数存在したか否かを判断する。
【０３２６】
ステップＳ２５１において、第７のマッチング処理の結果、合致する骨格情報が複数存在していないと判断された場合、ステップＳ２５２において、動画像マッチング処理部２２３は、複数フレームセット対応情報記憶部２２２に記憶されている複数フレームセット対応情報のうち、第７のマッチング処理において合致した複数フレームの骨格情報に対応する動画像を読み出して、動画像処理部２２４に供給し、処理は、ステップＳ２５８に進む。
【０３２７】
ステップＳ２５１において、第７のマッチング処理の結果、合致する骨格情報が複数存在したと判断された場合、ステップＳ２５３において、動画像マッチング処理部２２３は、ユーザの複数フレームセット一時記憶部２２１に記憶されている情報のうち、ユーザの現フレームセット（すなわち、第７のマッチング処理に用いられたフレームセット）の一つ前のフレームセットの骨格情報を読み出す。
【０３２８】
ステップＳ２５４において、動画像マッチング処理部２２３は、ステップＳ２５３の処理により読み出した複数フレームセットの骨格情報と、複数フレームセット対応情報に含まれて複数フレームセット対応情報記憶部２２２に記憶されている複数フレーム分の骨格情報との第８のマッチング処理を実行する。
【０３２９】
ステップＳ２５５において、動画像マッチング処理部２２３は、第８のマッチング処理において、合致する骨格情報が存在したか否かを判断する。
【０３３０】
ステップＳ２５５において、合致する骨格情報が存在しないと判断された場合、ステップＳ２５６において、動画像マッチング処理部２２３は、ユーザの複数フレームセット一時記憶部２２１に記憶されている情報のうち、さらに１つ前のユーザの複数フレームセットの骨格情報を読み出して、処理は、ステップＳ２５４に戻り、それ以降の処理が繰り返される。
【０３３１】
ステップＳ２５５において、合致する骨格情報が存在したと判断された場合、ステップＳ２５７において、動画像マッチング処理部２２３は、例えば、図６を用いて説明した場合を応用して、複数存在した第７のマッチング処理において合致した複数フレーム分の骨格情報に対応する動画像のうち、第８のマッチング処理において合致した複数フレーム分の骨格情報に対応する時刻に対してより近い（さらに、時間方向も合致すると好適である）複数フレームセット対応情報に含まれている動画像を選択して、複数フレームセット対応情報記憶部２２２から読み出して、動画像処理部２２４に供給する。
【０３３２】
ステップＳ２５８において、動画像処理部２２４は、必要な画像処理を実行し、生成した表示用の動画像を表示制御部２２５に供給する。
【０３３３】
ステップＳ２５９において、表示制御部２２５は、動画像処理部２２４から供給された動画像の、表示装置１４への表示を制御する。
【０３３４】
ステップＳ２６０において、動画像マッチング処理部２２３は、動画像の撮影が終了したか否かを判断する。
【０３３５】
ステップＳ２６０において、動画像の撮影が終了していないと判断された場合、処理は、ステップＳ２４２に戻り、それ以降の処理が繰り返される。ステップＳ２６０において、動画像の撮影が終了したと判断された場合、処理が終了される。
【０３３６】
このような処理により、仮想試着画像表示システムは、ユーザに対して、所望の洋服を試着し、自分の動きにあわせて試着している洋服も動いたり、広がったり、しわがよっているような仮想体験を、さらに滑らかな動きを持たせて提供することができる。
【０３３７】
なお、動画像を合成することができる仮想試着画像表示システムは、複数の装置により構成されるものとして説明していたが、例えば、１つの仮想試着画像作成・表示装置を用いて、同様の処理を実行可能なようにしても良いことは言うまでもない。
【０３３８】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０３３９】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３４０】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０３４１】
１…仮想試着画像表示システム  、１１または１２…情報取得装置  、１３…表示画像制御装置  、２５または３２…関節座標情報生成部  、４３…関節角度情報算出部  、４６…一時記憶部  、４７…対応情報記憶部  、４８…マッチング処理部  、４９…画像処理部  、８１…対応情報生成装置  、８２…データサーバ  、８３…マッチング処理装置  、２１１…上下半身分割部  、２３１…半身ごとの対応情報記憶部  、２２１…ユーザの複数フレームセット記憶部  、２２２…複数フレームセット対応情報記憶部
【図２】
2013190974.tif 000004
【図４】
2013190974.tif 000005
【図５】
2013190974.tif 000006
【図６】
2013190974.tif 000007
【図７】
2013190974.tif 000008
【図８】
2013190974.tif 000009
【図９】
2013190974.tif 000010
【図１０】
2013190974.tif 000011
【図１１】
2013190974.tif 000012
【図１２】
2013190974.tif 000013
【図１３】
2013190974.tif 000014
【図１６】
2013190974.tif 000015
【図１７】
2013190974.tif 000016
【図１８】
2013190974.tif 000017
【図１９】
2013190974.tif 000018
【図２０】
2013190974.tif 000019
【図２１】
2013190974.tif 000020
【図２２】
2013190974.tif 000021
【図２３】
2013190974.tif 000022
【図２４】
2013190974.tif 000023
【図２５】
2013190974.tif 000024
【図２６】
2013190974.tif 000025
【図２７】
2013190974.tif 000026
【図２８】
2013190974.tif 000027
【図２９】
2013190974.tif 000028
【図３０】
2013190974.tif 000029
【図３１】
2013190974.tif 000030
【図３２】
2013190974.tif 000031
【図３３】
2013190974.tif 000032
【図３４】
2013190974.tif 000033
【図３５】
2013190974.tif 000034
【図３６】
2013190974.tif 000035
【図１】
2013190974.tif 000036
【図３】
2013190974.tif 000037
【図１４】
2013190974.tif 000038
【図１５】
2013190974.tif 000039