(57)【要約】  リアルタイムの仮想反射、およびシステム内の仮想オブジェクトとビデオの相互作用についての技術が提供されている。一実施形態によると、ユーザの画像がビデオカメラで取り込まれ、表示装置に反転して出力され、ユーザの動作に鏡像フィードバックをもたらす。カメラインタフェースを通して、このシステムはユーザのジェスチャを読み取り、ユーザの動作に合わせて仮想オブジェクトをリアルタイムで操作する。幾つかの実施形態では、記載された技術によって、ユーザは衣服やアクセサリの試着をシミュレートする。【選択図】図１
2014509758.tif 000002
【特許請求の範囲】
【請求項１】
仮想オブジェクトとビデオの相互作用のためのコンピュータ実装方法において、当該方法が：
コンピュータによって、動作しているユーザのフレームストリームを画像データ取込装置から受信するステップと；
受信した前記フレームストリームに基づいて表示装置で処理するためにフレームストリームをビデオ信号として出力するステップと；
受信するステップおよび出力するステップと同時に、
仮想オブジェクトをフレームストリームに適用するリクエストを受信するステップと；
前記仮想オブジェクトを前記フレームストリームの１以上のフレームに適用するために前記リクエストを処理するステップと；
前記１以上のフレームに適用された前記仮想オブジェクトで変更されたフレームストリームを出力するステップと、を含むことを特徴とする方法。
【請求項２】
請求項１に記載のコンピュータ実装方法において、前記処理するステップがさらに：
前記フレームストリームの各フレームについて、
現在の出力フレーム内のユーザの画像特徴点を決定するステップと；
前記仮想オブジェクト用に記憶媒体に記録された１以上の画像を識別するステップと；
前記現在の出力フレームに適用する前記仮想オブジェクトの第１の画像を決定するステップと；
前記仮想オブジェクトを前記現在の出力フレームに適用する位置を決定するステップと；
前記仮想オブジェクトの第１の画像を前記現在の出力フレームに適用するステップと、を含むことを特徴とする方法。
【請求項３】
請求項２に記載のコンピュータ実装方法がさらに、前記画像特徴点に基づいて、第１のフレーム内のユーザの回転角の１以上を決定するステップを含んでおり；
前記第１の画像を決定するステップは、特定の回転角に基づいていることを特徴とする方法。
【請求項４】
請求項２に記載のコンピュータ実装方法において、前記位置を決定するステップがさらに、前記画像特徴点に基づいて前記仮想オブジェクトの画像を前記現在の出力フレームに適用するための位置的数値を決定するステップを含むことを特徴とする方法。
【請求項５】
請求項１に記載のコンピュータ実装方法において、１以上のフレームに適用される前記仮想オブジェクトが、ユーザ特徴に持続的に結合されることを特徴とする方法。
【請求項６】
請求項５に記載のコンピュータ実装方法において、前記ユーザ特徴が、ユーザの体の一部を含むことを特徴とする方法。
【請求項７】
請求項５に記載のコンピュータ実装方法において、前記ユーザ特徴が、コンピュータビジョン技術を利用して、ビデオのストリームから決定されることを特徴とする方法。
【請求項８】
請求項１に記載のコンピュータ実装方法において、出力フレームストリームの各フレームが、受信したフレームの反転画像であることを特徴とする方法。
【請求項９】
請求項８に記載のコンピュータ実装方法において、前記出力フレームストリームの反転したフレームがそれぞれ、前記受信するステップと前記出力するステップの間の経過時間が最小限で出力されることを特徴とする方法。
【請求項１０】
請求項１に記載のコンピュータ実装方法において、前記出力フレームストリームが、動作しているユーザの仮想反射を含むことを特徴とする方法。
【請求項１１】
仮想オブジェクトとビデオの相互作用のためのシステムにおいて、当該システムが：
１以上のプロセッサと；
命令の１以上のシーケンスを搬送するコンピュータ読取可能な記録媒体とを具えており、
前記命令の１以上のシーケンスが前記１以上のプロセッサによって実行された場合に仮想オブジェクトとビデオの相互作用のための方法を実施し、当該方法は：
コンピュータによって、動作しているユーザのフレームストリームを画像データ取込装置から受信するステップと；
受信した前記フレームストリームに基づいて表示装置で処理するためにフレームストリームをビデオ信号として出力するステップと；
受信するステップおよび出力するステップと同時に、
仮想オブジェクトをフレームストリームに適用するリクエストを受信するステップと；
前記仮想オブジェクトを前記フレームストリームの１以上のフレームに適用するために前記リクエストを処理するステップと；
前記１以上のフレームに適用された前記仮想オブジェクトで変更されたフレームストリームを出力するステップと、を含むことを特徴とするシステム。
【請求項１２】
請求項１１に記載のシステムにおいて、前記処理するステップがさらに：
前記フレームストリームの各フレームについて、
現在の出力フレーム内のユーザの画像特徴点を決定するステップと；
前記仮想オブジェクト用に記憶媒体に記録された１以上の画像を識別するステップと；
前記現在の出力フレームに適用する前記仮想オブジェクトの第１の画像を決定するステップと；
前記仮想オブジェクトを前記現在の出力フレームに適用する位置を決定するステップと；
前記仮想オブジェクトの第１の画像を前記現在の出力フレームに適用するステップと、を含むことを特徴とするシステム。
【請求項１３】
請求項１２に記載のシステムがさらに、前記画像特徴点に基づいて、第１のフレーム内のユーザの回転角の１以上を決定するステップを含んでおり；
前記第１の画像を決定するステップは、特定の回転角に基づいていることを特徴とするシステム。
【請求項１４】
請求項１２に記載のシステムにおいて、前記位置を決定するステップがさらに、前記画像特徴点に基づいて前記仮想オブジェクトの画像を前記現在の出力フレームに適用するための位置的数値を決定するステップを含むことを特徴とするシステム。
【請求項１５】
請求項１１に記載のシステムにおいて、１以上のフレームに適用される前記仮想オブジェクトが、ユーザ特徴に持続的に結合されることを特徴とするシステム。
【請求項１６】
請求項１５に記載のシステムにおいて、前前記ユーザ特徴が、ユーザの体の一部を含むことを特徴とするシステム。
【請求項１７】
請求項１５に記載のシステムにおいて、前記ユーザ特徴が、コンピュータビジョン技術を利用して、ビデオのストリームから決定されることを特徴とするシステム。
【請求項１８】
請求項１１に記載のシステムにおいて、出力フレームストリームの各フレームが、受信したフレームの反転画像であることを特徴とするシステム。
【請求項１９】
請求項１８に記載のシステムにおいて、前記出力フレームストリームの反転したフレームがそれぞれ、前記受信するステップと前記出力するステップの間の経過時間が最小限で出力されることを特徴とするシステム。
【請求項２０】
請求項１１に記載のシステムにおいて、前記出力フレームストリームが、動作しているユーザの仮想反射を含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１１年２月２８日出願の仮出願第６１／４４７，６９８号、および２０１１年３月３１日出願の仮出願第６１／４７０，４８１号の権利を主張するものである。
【背景技術】
【０００２】
本発明は概して、取り込んだ画像データの操作に関するものである。
【発明の概要】
【０００３】
試着システムは一般に、ユーザの一部の写真を撮影し、この画像を他の画像と融合して、模擬的に新たな画像を生成することによって、ユーザが特定の環境に居る、あるいは特定の外観を有することをシミュレートできるようにする。ある手法によると、ユーザの顔写真を入力としてシステムに受信し、ユーザの顔を他の画像と融合して、ユーザ画像が他の環境に居る、異なる衣服を着ている、または他の特徴を有していることをシミュレートする画像を生成する。例えば、入力として受信したユーザの写真を利用して、帽子を被っている、異なる髪の色を有している、および特定の衣服を着ているユーザの画像を生成するように、ユーザはシステムを指定することができる。
【０００４】
この節に記載された手法は追求されうる手法であるが、必ずしも既に着想または追求されている手法であるとは限らない。したがって、特に指示がない限り、この節に記載の何れの手法も、本節に包含されたことによって単なる先行技術とみなすべきではない。
【図面の簡単な説明】
【０００５】
本発明の実施形態が、限定ではなく例として添付の図面に図示されており、図中の同一符号は同等の要素を示している。
【図１】図１は、本発明の一実施形態により、ハンドバッグを仮想的に着用しているユーザのリアルタイムの仮想反射を生成すべくシステムと対話しているユーザを示す図である。
【図２】図２は、本発明の一実施形態によるリアルタイムの仮想反射システムとのユーザの相互作用の一例を示す図である。
【図３】図３は、本発明の一実施形態による仮想オブジェクトとビデオの相互作用のためのコンピュータ実施プロセスを示すフロー図である。
【図４】図４は、本発明の一実施形態によるユーザ相互作用を用いる、アイコンが重なった出力フレームの一例を示す図である。
【図５】図５は、同時に取り込んだフレームストリームに基づいて出力フレームストリームに仮想オブジェクトを適用するプロセスを示すフロー図であり、本発明の一実施形態により、画像データ取込装置はビデオフレームと深さクラウドデータを取り込む。
【図６】図６は、本発明の一実施形態による３軸の仮想オブジェクトの画像を示す図である。
【図７】図７は、本発明の幾つかの実施形態により、１つの出力ストリームに適用された１つの仮想オブジェクトと別の出力ストリームに適用された別の仮想オブジェクトの間を並べて比較するシステムを示している。
【図８】図８は、本発明の一実施形態により、深さクラウドデータを使用することなく、同時に取り込んだフレームストリームに基づいて出力フレームストリームに仮想オブジェクトを適用するプロセスを示すフロー図である。
【図９】図９は、本発明の一実施形態によりジェスチャに基づいて機能を実行するフロー図である。
【図１０】図１０は、本発明の一実施形態によりフレームストリーム内のユーザ特徴を変更するシステムを示している。
【図１１】図１１は、本発明の一実施形態による仮想クローゼットを示す図である。
【図１２】図１２は、本発明の幾つかの実施例を実行するコンピュータシステムの一例を示す図である。
【発明を実施するための形態】
【０００６】
以下の記載には、本発明の実施形態の完全な理解をもたらすべく、説明のために多くの具体的な詳細が論述されている。しかしながら、本発明の実施形態は、これらの具体的な詳細がなくとも実施できることは明らかである。他の例では、本発明の実施形態を不必要に曖昧にするのを避けるため、既知の構造および装置がブロック図の形態で図示されている。
【０００７】
仮想オブジェクトと相互作用するユーザを示す、リアルタイムのユーザの仮想反射を作り出す技術が提供されている。
【０００８】
図１は、リアルタイムの仮想反射システム１００の一実施形態を示しており、ユーザ１０１が画像データ取込装置１１０および表示装置１２０の前面に立っている。この実施形態によると、画像データ取込装置１１０は一連のユーザ画像を連続的に取り込み、表示装置１２０上に表示されるリアルタイムのビデオ画像として処理すべく、データをコンピュータシステムに送信する。コンピュータ処理システムは、どの仮想オブジェクトをユーザのビデオ画像と共に表示するかを示すユーザ１０１からの選択入力を受信する。この実施形態では、ユーザ１０１は仮想ハンドバッグ１３０を選択し、ユーザ１０１の仮想反射１４０で着用している。
【０００９】
図１に示すように、ユーザ１０１は、その右腕にハンドバッグを持っているかのように、空間内で体を動かしている。この画像データ取込装置１１０は、ユーザ１０１の動作をリアルタイムで取り込み、コンピュータ処理システムが取り込んだデータとハンドバッグのビデオ表示１３０とを結合する。この実施形態では、表示装置１２０がユーザ１０１の動作と共にリアルタイムで移動する仮想ハンドバッグ１３０を示すように、仮想ハンドバッグ１３０が仮想反射１４０に持続的に結合されている。したがって、仮想反射１４０は、ハンドバッグの反射がユーザによってリアルタイムで着用されているかのように見える。
【００１０】
本発明の一実施形態による画像データ取込装置１１０は、一場面から深さデータを取り込むことができるデプスカメラシステムを含む。他の実施形態では、画像データ取込装置１１０は、深さ情報を生成するのに利用できる立体画像データを取得するために、異なる角度で場面を取り込む２以上の物理的に分離したレンズを有する３Ｄカメラを含む。本発明の一実施形態では、米国特許出願第１１／８９９，５４２号、および第１２／５２２，１７１号に記載されたもののような画像データ取込装置およびコンピュータ処理システムを利用して必要な画像データを取り込んで処理し、表示装置１２０上に仮想反射１４０を表示する。他の実施形態では、画像データ取込装置１１０は、画像データを取り込むために少なくとも１つのレンズと連関する唯一の穴を有するカメラを含みうる。
【００１１】
この実施形態では、表示装置１２０は、テレビ受信機、モニタ、高精細度テレビ受信機、ビデオ投影機から画像を投影するスクリーン、またはユーザに画像データを提供できるような装置といった音響映像装置の一部であってもよい。
【００１２】
図２は、本発明の一実施形態によるリアルタイムの仮想反射システム１００とのユーザの相互作用の一例を示している。この図は、時間内の３つの時点からの、表示装置１２０に示すビデオ画像の一連の３つの静止キャプチャとして、リアルタイム仮想反射システム１００とのユーザの相互作用の一例を示している。２１０時点では、画像データ取込装置１１０は片腕を伸ばした姿勢を取っているユーザの場面を取り込み、表示装置１２０に仮想のユーザ反射オブジェクト２１１を表示している。
【００１３】
この実施形態によると、コンピュータシステムは画像データ取込装置１１０から画像データを受信し、画像データから解析されたユーザの腕を伸展するジェスチャを読み取る。２１０時点での画像データに反応して、コンピュータシステムは、２２０時点に示すように、表示装置１２０に表示される背景画像２２１とハンドバッグの選択２２２を起動させる。次に、画像データ取込装置１１０は、掴むジェスチャをしているユーザの手の場面を取り込み、背景画像２２１とハンドバッグの選択２２２と共に仮想のユーザ反射オブジェクト２２３を表示する。このコンピュータシステムは画像データを受信し、掴むジェスチャに基づいて、ハンドバッグの画像オブジェクト２２４を選択して仮想のユーザ反射オブジェクト２２３と結合させる。
【００１４】
ハンドバッグの画像オブジェクト２２４を選択した後、２３０時点に示すように、ハンドバッグの画像オブジェクト２２４が仮想のユーザ反射オブジェクト２２３に持続的に結合され、これにより、ハンドバッグの画像オブジェクト２２４を持っているように見える仮想のユーザ反射オブジェクト２２３の視覚的効果を維持しながら、ユーザが移動することが可能となる。
【００１５】
本書に記載の実施形態は、選択されて仮想反射に結合された仮想オブジェクトとしてハンドバッグのオブジェクトを示しているが、本発明の他の実施形態では、他のアパレル用品および非アパレル用品を含む他の仮想オブジェクトを同様に利用することができる。他の実施形態では、選択されるアパレル用品は、シャツ、手袋、靴下、靴、ズボン、スカート、またはドレスのように、ユーザの仮想身体の輪郭に一致することができる。更に他の実施形態では、これらの用品は、限定ではないが、眼鏡、サングラス、カラーコンタクト、ネックレス、スカーフ、飾りボタン、フープイヤリング、ぶら下がったイヤリングおよびボディリング、時計、指輪、ヘアアクセサリ、髪型などの他のオブジェクトを含む。非アパレル用品は、動物、雪、幻想的なオブジェクト、運動器具、および写真撮影、アニメーション、または他のグラフィック作成技術による画像として作ることができる任意のオブジェクトを含む。
【００１６】
図３は、本発明の少なくとも一実施形態による仮想オブジェクトとビデオの相互作用のためのコンピュータ実施プロセスを示すフロー図である。ステップ３０１では、画像データ取込装置からフレームストリームを受信する。ステップ３０１と同時に発生するステップ３０３では、フレームストリームが表示装置１２０などの表示装置用の信号として出力される。一実施形態では、フレームストリームは反転して出力される。この実施形態では、フレームを受信する時とフレームが反転して出力される時の間に最小限の時間的ずれがある。したがって、ステップ３０３では、ビデオストリームに取り込まれたユーザは、出力ビデオストリームにおいて彼または彼女の画像の鏡像フィードバックで表される。他の実施形態では、出力ストリームは反転せず、本来または他の向きとなる。鏡または他の光学デバイスを使用することで、出力ストリームを反転させることなく鏡像フィードバックを実現することもできる。他の実施形態では、出力ストリームは入力ストリームと同じ向きとなり、鏡像フィードバックは提供されない。更に他の実施形態では、フレームストリームを受信して、出力フレームストリームとして後に出力するために記録する。このような実施形態では、システムは、ビデオを取り込んだ時間の後、フレームストリームを適用するために、ビデオに描写されたユーザとは異なるユーザを含む任意のユーザのリクエストを受信する。
【００１７】
ステップ３０５では、仮想オブジェクトをフレームストリームに適用するリクエストを受信する。一実施形態では、このリクエストは、図２に関して上述した腕を伸展し掴むジェスチャといった、システムによって識別されるユーザによるジェスチャまたはコマンドによって引き起こされる。一実施形態では、本発明の実施例における一出力フレーム４０１を示す図４に図示されているように、出力ビデオストリームがアイコン４０３−４０９と重なっており、配置された画像データ取込装置に取り込まれ、アイコンの選択としてシステムに読み取られる１以上の仮想的な叩くジェスチャ４１１をアイコンと同一のフレーム位置ですることにより、ユーザ４０２はアイコン４０３−４０９と相互作用する。図４に示す実施形態では、ネックレスを出力フレームストリームにおけるユーザの反転画像に適用するために、システムはユーザ４０２からのリクエストを受信している。
【００１８】
他の実施形態では、リクエストは、意図的なユーザのコマンドによって引き起こされるのではなく、フレームストリーム内のユーザ画像を検出するシステムによって引き起こされる。一実施例では、このシステムは、取り込まれ受信されたフレームストリームのフレーム内へと移動するユーザ画像を検出する。１以上のフレームにユーザの画像が存在すると、ステップ３０５においてリクエストを引き起こす。他の自動リクエストの要因は、限定ではないが、歩いていてビデオ表示装置上のユーザの出力画像を見るために立ち止まったユーザを検出すること、画像データ取込装置に向かって大部分が前を向いた姿勢といった特定の姿勢で、フレームを通って移動するユーザの画像を検出すること、あるいはフレームストリーム内の画像から分析した他の特徴を検出することを含む。幾つかの実施形態では、コンピュータビジョン技術を用いてこのような画像分析を実施する。
【００１９】
ステップ３０７では、このシステムは、仮想オブジェクトをフレームストリームに適用するためのリクエストを処理する。リクエストの処理は、仮想オブジェクトを出力画像フレームに適用するのに適した位置を決定するステップを含む。本発明の幾つかの実施形態によりリクエストを処理する技術は、図５および８に関して以下で更に詳しく示している。
【００２０】
ステップ３０９では、このシステムは、適用された仮想オブジェクトと共に反転したフレームストリームを出力する。幾つかの実施形態では、仮想オブジェクトが画像内の特定のユーザ特徴、例えばユーザの右腕に持続的に結合され、これにより、この表示装置がユーザの動作と共にリアルタイムで移動する仮想オブジェクトを示すように見える。したがって、出力フレームストリームを見たとき、リアルタイムでユーザに着用されている仮想オブジェクトの反射であるかのように見える。他の実施形態では、ジェスチャが他のユーザ特徴に結合するという変化を示すまで、仮想オブジェクトが持続的に結合される。例えば、幾つかの実施形態では、仮想オブジェクトが右腕に結合されている間にシステムが仮想オブジェクト上の左手によるジェスチャを検出し、仮想オブジェクトが左腕と左手に結合するよう変更される。このような実施形態では、ユーザは、腕から腕へ、あるいは体の一部から体の一部へと仮想オブジェクトを移すことができる。
【００２１】
本書に記載のフロー図のステップは連続した一連のステップとして図示されているが、図１、２および４について図示し記載するような仮想オブジェクトとのビデオの相互作用のプロセスを実施するために、幾つかのステップは同時であってもよく、ステップの順番は異なっていてもよく、ステップ間で経過する実質的な時間差があってもよく、特定のステップを省略してもよく、図示されていないステップを加えてもよいことを理解されたい。
【００２２】
図５は、同時に取り込んだフレームストリームに基づいて出力フレームストリームに仮想オブジェクトを適用する処理を示すフロー図であり、本発明の一実施形態により、画像データ取込装置がビデオフレームと深さクラウド（depth cloud）データを取り込む。ステップ５０１では、このシステムは画像データ取込装置からビデオフレームのストリームを受信する。ステップ５０３では、このシステムは、画像データ取込装置からビデオフレームの深さクラウドデータを受信する。
【００２３】
ステップ５０５では、ビデオフレームのストリームにおける１つのビデオフレームのユーザに係る画像特徴点または顔面の点といった画像特徴点を、深さクラウドデータを用いて決定する。ステップ５０７では、画像特徴点に基づいて、ユーザの１以上の回転角を決定する。幾つかの実施形態では、識別した各ユーザ特徴についてロール、ピッチ、およびヨーを決定する。例えば、ユーザの頭部、腕、胴体、下肢、手、または足についてロール、ピッチおよびヨーを決定し、ユーザ特徴についての回転角を決定する。
【００２４】
ステップ５０９では、システムによって仮想オブジェクト用に記録された画像の１以上を識別する。ステップ５１１では、仮想オブジェクト用に記録された画像の中から、ユーザの回転角の１つに基づいてシステムがビデオフレームに適用する画像を決定する。一実施形態では、仮想オブジェクトの複数の画像はそれぞれ、異なるヨー、ロールおよびピッチでの仮想オブジェクトを示している。例えば、図６に示すように、第１のフレームにおいてユーザの頭部が右に回転したときに第１の回転における仮想ヘッドバンドの画像６０１を使用し、第２のフレームにおいてユーザの頭部が前方を向いたときに第２の回転における画像６０３を使用し、第３のフレームにおいてユーザの頭部が左に回転したときに第３の回転における画像６０５を使用する。幾つかの実施形態によると、１つの仮想オブジェクトについて１つの画像のみが記録されている。このような実施形態については、ユーザの回転角に関わらず、同一の画像が識別して適用される。
【００２５】
ステップ５１３では、特定回転した画像をフレームに適用するために、画像特徴点に基づいて位置的数値を決定する。ステップ５１５では、特定回転した画像をフレームに適用するために、深さクラウドデータに基づいて画像サイズ数値を決定する。例えば、深さが長い画像特徴点よりも深さが短い画像特徴点に対して、大きい画像サイズ数値を決定する。
【００２６】
ステップ５１７では、所望の位置での画像サイズ数値に基づいて、特定回転した画像を変更する。幾つかの実施形態では、特定の仮想オブジェクトが特定のユーザ特徴に関連付けられ、仮想オブジェクトを適用するためにユーザ特徴の位置的数値を決定する。図６を参照すると、仮想ヘッドバンドが特定の相対位置でユーザの頭部に関連付けられている。図６に示す実施形態では、実行ステップ５１７の一例において、ユーザ頭部の画像サイズ数値に基づいて、特定回転したヘッドバンドの画像が変更されている。幾つかの実施形態では、特定回転した画像は、異なる位置の異なる画像サイズ数値に対応するように歪められるか変形され、仮想オブジェクトをユーザの曲線に適合して一致させることが可能となる。
【００２７】
ステップ５１９では、位置的数値に基づいて、特定回転し変更された画像をフレームに適用する。幾つかの実施形態では、所望の位置は、ユーザから受信したジェスチャに基づくものである。例えば、図１に示す実施形態を参照すると、システムは仮想ハンドバッグ１３０に左手を置くジェスチャを検出する。このジェスチャは、次のフレームの仮想オブジェクトを、左肩の代わりに手について決定された位置的数値に適用させる。
【００２８】
リアルタイムでの比較
図７は、本発明の幾つかの実施形態により、１つの出力ストリームに適用された１つの仮想オブジェクトと別の出力ストリームに適用された別の仮想オブジェクトの間を並べて比較するシステムを示している。例えば、このシステムは、並べて比較するコマンドを受信する。このシステムは、出力フレームストリームを２以上のストリームに複写する。幾つかの実施形態では、ユーザの仮想反射が分割画面の両側に表れ、ユーザの動作をリアルタイムで反射するように、出力ストリームが配置される。図７は、２つの出力ストリームに複写されたユーザ７０１を示している。片側は短い種類のネックレス７０３と共にユーザを示している。片側は長い種類のネックレス７０５と共にユーザを示している。
【００２９】
図８は、本発明の一実施形態により、深さデータを使用することなく、同時に取り込まれたフレームストリームに基づいて出力フレームストリームに仮想オブジェクトを適用するプロセスを示すフロー図である。ステップ８０１では、画像データ取込装置からビデオフレームのストリームを受信する。ステップ８０３では、コンピュータビジョン技術を利用して、システムがビデオフレーム内の画像を分析する。ステップ８０５では、その分析に基づいて、ビデオストリームからのフレームについてユーザの画像特徴点を決定する。
【００３０】
ステップ８０７では、ユーザの回転角の１以上を決定する。幾つかの実施形態では、識別されたユーザ特徴それぞれについて、ロール、ピッチ、およびヨーを決定する。例えば、ユーザの頭部、腕、胴体、下肢、手、または足のロール、ピッチおよびヨーを決定し、ユーザ特徴に対する回転角を決定する。
【００３１】
ステップ８０９では、仮想オブジェクト用に記録された１以上の画像を識別する。ステップ８１１では、仮想オブジェクト用に記録された画像の中から、システムが特定回転した仮想オブジェクトの画像を決定し、ユーザの回転角の１つに基づいてビデオフレームに適用する。一実施形態では、仮想オブジェクトの複数の画像それぞれが、異なるヨー、ロールおよびピッチでの仮想オブジェクトを表している。
【００３２】
ステップ８１３では、画像特徴点に基づいて特定回転した仮想オブジェクトの画像を適用するために位置的数値を決定する。ステップ８１５では、画像特徴点およびビデオフレームに基づいて、仮想オブジェクトをビデフレームに適用するための画像サイズ数値を決定する。ステップ８１７では、画像サイズ数値に基づいて、仮想オブジェクトの画像を変更する。ステップ８１９では、位置的数値に基づいて、変更した仮想オブジェクトの画像をビデオフレームに適用する。図５を参照に記載したような幾つかの実施形態に係る更なる技術や変更は、適用できる場合には図８のプロセスに利用することもできる。
【００３３】
ジェスチャ
幾つかの実施形態では、ユーザのジェスチャがシステムに検出され、特定の機能の実行に対応するコマンドとしてシステムに読み取られる。ジェスチャに基づいて機能を実行するための本発明の一実施形態によるフロー図が図９に示されている。ステップ９０１では、このシステムはユーザによるジェスチャを検出する。ステップ９０３では、このシステムは、どの機能がジェスチャと関連付けられるかを決定する。ステップ９０５では、このシステムは、ジェスチャに基づいて機能を実行する。本発明の幾つかの実施形態では、フレームからフレームまで相互に関連した画像特徴点の転移に基づいてユーザ特徴の動作を特定することにより、ジェスチャを検出する。例えば、図４に関して前述したようなアイコンを叩くジェスチャは、アイコンの選択コマンドと関連付けられる。アイコンを叩くジェスチャを特定して、出力フレームストリームのユーザの反転画像にネックレスを適用する。
【００３４】
他の例では、殆どのフレームにわたる動作としてビデオストリームに取り込まれた手を振る動作が、出力ストリームから全ての重なり合った仮想オブジェクトを除去するクリア機能と関連付けられる。幾つかの実施形態では、仮想オブジェクトを触るジェスチャは、仮想オブジェクトの利用可能な種類の中で、あるいは仮想オブジェクトの２つの種類の間で前後にシステムを切り換える。さらに、仮想オブジェクトのサイズや形状をジェスチャによって変更したり操作することができる。例えば、ネックレスを掴むジェスチャは、ネックレスを長くする機能に対応するコマンドである。
【００３５】
環境シミュレーション
本発明の幾つかの実施形態では、仮想オブジェクトをユーザ画像に適用することに加えて、システムは、フレームストリームの各フレーム内のユーザの周囲にある背景を隠し、別の背景と交換してユーザが異なる環境や場所に居るように見せることができる。この背景はシステムに記録された静的場面または移動する背景であってもよく、あるいは背景の保存場所からシステムによってユーザのために取り出されてもよい。幾つかの実施形態では、背景がユーザに着用されている１以上の仮想オブジェクトを補完するように選択される。さらに、各フレームに最前面の要素を仮想的に加えて、ユーザ周囲の天気または他のオブジェクトをシミュレートすることもできる。例として、ユーザの周りに落下する雪または葉を含む。図１−８に記載の技術を利用して、ユーザはこれらの仮想要素と相互作用することができる。例えば、仮想の雪や仮想の葉を出力フレームストリームに適用して、実在するようにユーザの頭部や肩に積もるオブジェクトを示す。この技術の更に詳細は、同時係属出願第１２／７１４，５１８号に記載されており、本書に全て説明されたものとして参照により援用される。他の実施形態では、例えば、“白雪姫”からの童話の一場面が出力フレームストリームに適用される。背景オブジェクトまたは移動する場面は動物を含んでおり、これをユーザ特徴に適用して、例えばユーザの手の上に止まった鳥を表すことができる。
【００３６】
色の変化
図１０は、本発明の一実施形態によりフレームストリーム内のユーザ特徴を変化させるシステムを図示しており、少なくとも図３、５および８に関して上述されたような仮想オブジェクトを適用する技術を用いて、ユーザの動作をリアルタイムで取り込んで出力しながら変化の比較を示している。一実施形態によると、このシステムは、画像特徴点およびコンピュータビジョン技術に基づいてユーザ特徴を検出する。システムはユーザからのコマンドを受信し、ユーザ特徴の色を変化させる。図１０に示すように、システムは４色の髪色を適用しており、４色の髪色それぞれを並べた比較を示している。色を変更することができる他の特徴は、唇の色および目の色といった顔の特徴を含む。
【００３７】
形状の変化
一実施形態によると、システムは、画像特徴点およびコンピュータビジョン技術に基づいてユーザ特徴を検出する。このシステムはリクエストを受信して、ユーザ特徴の形状を変化させる。幾つかの実施形態では、リアルタイムでの出力フレームストリーム内の１以上のユーザ特徴の変化は、限定ではないが、身体の一部のサイズを加える、または取り除くこと、顔面の特徴を変化させること、身長を変えることを含む。一実施形態では、一旦変化が整うと、その変化は持続し、図３、５および８に記載されたような仮想オブジェクトを適用する技術を変化したユーザ特徴と共に使用することができる。
【００３８】
衣類の物理的現象
ユーザが仮想オブジェクトを適用したとき、ソフトウェアがアニメーション動作を適用画像に加えて、適用された製品の現実感を高めることができる。このソフトウェアは、動く変化を適用して衣類や布地の動きをシミュレートし、ユーザの動作に基づいて適切に反応させることができる。“風で”動く髪型のような動作を利用して適用された販売促進製品を強調し、ユーザの注意をその製品に集中させることもできる。
【００３９】
仮想クローゼット
図１１に示すように、本発明の幾つかの実施形態によると、仮想クローゼット（より具体的には、個人専用の双方向仮想クローゼット）がユーザにシステムで利用可能な仮想オブジェクトを仮想クローゼットに収集させて保存させる。仮想オブジェクトは中央リモートサーバに記録されており、システムを用いてユーザアカウントでログインした時にいつでも、ユーザによりアクセス可能となる。これらの仮想オブジェクトは、ユーザが現実世界で所有しているアイテム、仮想的にデジタル形態のみで所有しているアイテム、あるいは所有していないが後日所有したいアイテムに対応している。これらのアイテムは、システムの使用中にアイテムを保存する、システムで後に使用するために他からの干渉（例えば、小売店のウェブサイトから追加）によりアイテムを保存する、あるいは市場機会として小売店、マーケティング担当者、または製造者からの推奨として保存することにより、仮想クローゼットに追加することができる。仮想クローゼットに保存された仮想アイテムをユーザの友人や家族の間でシェアし、批評する、あるいは彼ら自身が試着することもできる。仮想クローゼットは仮想商品で装飾することができ、試着または再表示するためにプレミアムポジションに与えられたユーザの好みでユーザがデザインすることもできる。
【００４０】
ソーシャルシェアリング
本発明の一実施形態によると、複数のユーザが、コンピュータネットワークによって接続された他の表示装置上で表示装置１２０を見ることができる。例えば、他の表示装置は、撮影中のユーザ位置から離れた場所にある１以上のウェブブラウザ画面を含む。
【００４１】
一実施形態によると、このような２つのシステムを通信可能に接続して、２つの異なる仮想ユーザ反射のシミュレーションセッションに同時にいる二人のユーザがシステムを介して互いに対話することが可能となる。
【００４２】
本発明の一実施形態によると、仮想ユーザ反射のシミュレーションセッション中いつでも、背景表示２２１がユーザによって選択され、ユーザによりあるいは自動的に変更することができる。
【００４３】
本発明の一実施形態によると、選択するためにユーザに提供される衣類オブジェクトのセットは、ユーザの以前の選択に基づいて、リアルタイムベースで第三販売者によって提供される。他の実施形態では、仮想ユーザ反射のシミュレーションセッションを見ている複数の補助ユーザが、撮影中のユーザに他のオブジェクトを提供することができる。
【００４４】
ハードウェアの概観
図１２は、本発明の実施形態を実行することができるコンピュータシステム１２００を示すブロック図である。コンピュータシステム１２００は、情報を通信するためのバス１２０２または他の通信機器と、情報を処理するためにバス１２０２に接続されたプロセッサ１２０４とを有する。コンピュータシステム１２００はさらに、情報やプロセッサ１２０４に実行される命令を記録するためにバス１２０２に接続された、ランダムアクセスメモリ（ＲＡＭ）または他の動的記憶装置といったメインメモリ１２０６を有している。メインメモリ１２０６は、プロセッサ１２０４に実行される命令を実行している間に、一時的な変数または他の中間情報を記録するために利用することもできる。コンピュータシステム１２００はさらに、プロセッサ１２０４の静的情報および命令を記録するためにバス１２０２に接続された、読取専用メモリ（ＲＯＭ）１２０８または他の静的記憶装置を有している。磁気ディスクまたは光学ディスクといった記憶装置１２１０が、情報や命令を記憶するために提供され、バス１２０２に接続されている。
【００４５】
コンピュータシステム１２００は、コンピュータのユーザに情報を表示するために、バス１２０２を介して陰極線管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）といった表示装置１２１２に接続することができる。英数字キーや他のキーを含む入力装置１２１４が、情報やコマンドの選択をプロセッサ１２０４に通信するためにバス１２０２に接続されている。他の種類のユーザ入力装置は、方向情報やコマンドの選択をプロセッサ１２０４に通信し、表示装置１２１２上のカーソル動作を制御するためのマウス、トラックボール、またはカーソル方向キーといったカーソル制御部１２１６である。この入力装置は一般に、２軸、すなわち第１の軸（例えば、ｘ）と第２の軸（例えば、ｙ）に二自由度を有しており、これによって装置を一平面の位置に指定することが可能となる。他の種類の入力装置は、ビデオカメラ、デプスカメラ、または３Ｄカメラを含む。他の種類の入力装置は、ＭｉｃｒｏｓｏｆｔのＸＢＯＸ  Ｋｉｎｅｃｔといったジェスチャベースの入力装置を含む。
【００４６】
本発明は、本書に記載された技術を実行するためのコンピュータシステム１２００の使用に関するものである。本発明の一実施形態によると、これらの技術は、メインメモリ１２０６に入れられた１以上の命令の１以上のシーケンスを実行するプロセッサ１２０４に応答して、コンピュータシステム１２００によって実行される。このような命令は、記憶装置１２１０といった他の機械読み取り可能な媒体からメインメモリ１２０６に読み取ることができる。メインメモリ１２０６に入れられた命令のシーケンスを実行すると、プロセッサ１２０４は本書に記載の処理ステップを実施する。代替的な実施形態では、ハードワイヤード回路を本発明を実施するソフトウェア命令の代わりに、あるいはそれと組み合わせ使用することができる。したがって、本発明の実施形態はハードウェア回路とソフトウェアの特定の組み合わせに限定はされない。更なる実施形態では、複数のコンピュータシステム１２００は、実施形態を実施するために、分散システムにおいて動作可能に接続されている。
【００４７】
本書に使用される用語“機械読み取り可能な媒体”は、機械を特定の様式で動作させるデータを提供するステップに関わる任意の媒体を指している。コンピュータシステム１２００を利用して実行する実施形態では、例えば、実行する命令をプロセッサ１２０４に提供するのに様々な機械読み取り可能な媒体が関わっている。このような媒体は、限定ではないが、記憶媒体および伝送媒体を含む多くの形態を取りうる。記憶媒体は、不揮発性媒体および揮発性媒体の双方を含む。不揮発性媒体は、例えば、記憶装置１２１０のような光学ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ１２０６のような動的メモリを含む。伝送媒体は、バス１２０２を具えるワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。伝送媒体は、電波通信および赤外線データ通信の際に発生するような音波または光波の形態を取ることもできる。このような媒体は全て、媒体によって運ばれる命令が当該命令をマシンに読み込む物理的機構によって検出されることが明確でなくてはならない。
【００４８】
共通型の機械読み取り可能な媒体は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープか他の磁気媒体、ＣＤ−ＲＯＭか他の光学媒体、パンチカード、紙テープかホールパターンを有する他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他のメモリチップかカートリッジ、後述するような搬送波、あるいはコンピュータが読取可能な他の媒体を含む。
【００４９】
様々な形態の機械読み取り可能な媒体が、実行する１以上の命令の１以上のシーケンスをプロセッサ１２０４に搬送することに関わっていてもよい。例えば、これらの命令は、リモートコンピュータの磁気ディスクで最初に処理することができる。リモートコンピュータは命令を動的メモリに読み込み、モデムを使用して電話線によって命令を送信することができる。コンピュータシステム１２００の近くのモデムは電話線のデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換することができる。赤外線検出機は赤外線信号に運ばれたデータを受信することができ、適切な回路はバス１２０２上にデータを配置することができる。バス１２０２はデータをメインメモリ１２０６に搬送し、プロセッサ１２０４がそこから命令を取り出して実行する。メインメモリ１２０６が受信した命令は、プロセッサ１２０４による実行前または実行後のいずれかで記憶装置１２１０に任意に記録することができる。
【００５０】
コンピュータシステム１２００はバス１２０２に接続された通信インタフェース１２１８も有している。通信インタフェース１２１８は、ローカルネットワーク１２２２に接続されたネットワークリンク１２２０と接続して双方向データ通信を提供する。例えば、通信インタフェース１２１８は、サービス総合デジタル網（ＩＳＤＮ）カードまたは他のインターネット接続装置、あるいは対応する種類の電話線にデータ通信接続を提供するモデムであってもよい。他の例として、通信インタフェース１２１８は、互換性のあるＬＡＮとのデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カードであってもよい。無線ネットワークリンクも実行することができる。このような実行では、通信インタフェース１２１８が様々な種類の情報を表すデジタルデータのストリームを搬送する電気信号、電磁信号、または光信号を送信したり受信する。
【００５１】
ネットワークリンク１２２０は一般に、１以上のネットワークを通じて他のデータ装置にデータ通信を提供する。例えば、ネットワークリンク１２２０は、ローカルネットワーク１２２２を介して、ホストコンピュータ１２２４またはインターネットサービスプロバイダ（ＩＳＰ）１２２６によって操作されるデータ機器への接続を提供することができる。ＩＳＰ１２２６は同様に、今ではインターネット１２２８と称される世界的なパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク１２２２およびインターネット１２２８の双方とも、デジタルデータのストリームを搬送する電気信号、電磁信号または光信号を使用する。コンピュータシステム１２００へと且つそこからデジタルデータを搬送する様々なネットワークを通る信号およびネットワークリンク１２２０上の通信インタフェース１２１８を通る信号は、例示的に情報を伝達する搬送波の形態をしている。
【００５２】
コンピュータシステム１２００は、ネットワーク、ネットワークリンク１２２０および通信インタフェース１２１８を介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ１２３０は、インターネット１２２８、ＩＳＰ１２２６、ローカルネットワーク１２２２および通信インタフェース１２１８を介して、アプリケーションプログラムのリクエストコードを送信することができる。
【００５３】
受信されたコードは、受信したときにプロセッサ１２０４によって実行される、および／または後で実行するために記憶装置１２１０か他の不揮発性記憶装置に記録されうる。このようにして、コンピュータシステム１２００は、搬送波の形態でアプリケーションコードを取得することができる。
【００５４】
上記明細書において、本発明の実施形態が、実施毎に異なりうる多くの具体的な詳細を参照して記載されている。したがって、本発明が何であって、出願人によって何が発明に意図されているかの唯一かつ排他的な指標は、本願から生じた一連の請求項であって、このような請求項が発表する具体的な形態は、後の補正を含むものである。このような請求項に含まれる用語について本書に記載された定義は、請求項において使用されるこのような用語の意味に影響を与えるものである。したがって、請求項に明らかに記載されていない限定、要素、性質、特徴、利点または特質は、決してこのような請求項の範囲を限定するものではない。したがって、明細書および図面は、限定的意味というよりも例示的な意味とみなされる。
【図１】
2014509758.tif 000003
【図２】
2014509758.tif 000004
【図３】
2014509758.tif 000005
【図４】
2014509758.tif 000006
【図５】
2014509758.tif 000007
【図６】
2014509758.tif 000008
【図７】
2014509758.tif 000009
【図８】
2014509758.tif 000010
【図９】
2014509758.tif 000011
【図１０】
2014509758.tif 000012
【図１１】
2014509758.tif 000013
【図１２】
2014509758.tif 000014
【国際調査報告】
2014509758.tif 000015