(57)【要約】【課題】被写体に対して仮想衣服を装着した態様の３次元の表示画像データを形成する処理を含む画像処理装置、画像処理方法、及び半導体集積回路を提供する。【解決手段】画像処理装置５は、被写体ＴＰを撮像する撮像装置１の出力から入力画像データを得る部分１２と、画像上の互いに対応する点を探索し、対応点位置情報を求める部分１３と、ボディ画像データと処理パラメータとに基づいて、３次元の表示画像データを形成する部分１１と、処理パラメータの値を改善する部分１４とを有する。画像処理装置５は、更に、３次元の表示画像データと、選択された仮想衣服に対応する衣服画像データ及び衣服処理パラメータとに基づいて、被写体ＴＰのボディに選択された仮想衣服を載せた３次元の表示画像データを形成する部分１８を有する。【選択図】図３
2007102478.tif 000002
【特許請求の範囲】
【請求項１】
被写体のボディの３次元モデルを表現するためのボディ画像データを記憶または形成する部分と、
前記被写体のボディの３次元モデルに載せる複数の異なる仮想衣服の３次元モデルを表現するための衣服画像データと、前記仮想衣服の動作に伴う変化を表現するための衣服処理パラメータとを記憶する部分と、
前記被写体を撮像する撮像装置の出力から入力画像データを得る部分と、
前記ボディ画像データと、第１の処理パラメータとに基づいて、３次元の第１の表示画像データを形成する部分と、
前記第１の表示画像データと前記入力画像データとの間で、画像上の互いに対応する点を探索し、対応点位置情報を求める部分と、
前記対応点位置情報を使用して、前記第１の処理パラメータの値を改善し、第２の処理パラメータを求める部分と、
前記ボディ画像データと、前記第２の処理パラメータとに基づいて、３次元の第２の表示画像データを形成する部分と、
前記第２の表示画像データと、選択された仮想衣服に対応して前記衣服画像データ及び衣服処理パラメータから検索されたデータ及びパラメータとに基づいて、前記被写体のボディに前記選択された仮想衣服を載せた３次元の第３の表示画像データを形成する部分と、
を具備することを特徴とする画像処理装置。
【請求項２】
前記衣服処理パラメータは、前記仮想衣服の素材に依存した、前記仮想衣服の表面の形状、色相、彩度、明度を具備することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記撮像装置は広角レンズを通して前記被写体を撮像するように構成され、前記入力画像データを得る部分は、前記広角レンズを通して得られた像の歪みを補正するように前記入力画像データを補正する部分を更に具備することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
被写体のボディの３次元モデルを表現するためのボディ画像データを記憶または形成する工程と、
前記被写体のボディの３次元モデルに載せる複数の異なる仮想衣服の３次元モデルを表現するための衣服画像データと、前記仮想衣服の動作に伴う変化を表現するための衣服処理パラメータとを記憶する工程と、
前記被写体を撮像する撮像装置の出力から入力画像データを得る工程と、
前記ボディ画像データと、第１の処理パラメータとに基づいて、３次元の第１の表示画像データを形成する工程と、
前記第１の表示画像データと前記入力画像データとの間で、画像上の互いに対応する点を探索し、対応点位置情報を求める工程と、
前記対応点位置情報を使用して、前記第１の処理パラメータの値を改善し、第２の処理パラメータを求める工程と、
前記ボディ画像データと、前記第２の処理パラメータとに基づいて、３次元の第２の表示画像データを形成する工程と、
前記第２の表示画像データと、選択された仮想衣服に対応して前記衣服画像データ及び衣服処理パラメータから検索されたデータ及びパラメータとに基づいて、前記被写体のボディに前記選択された仮想衣服を載せた３次元の第３の表示画像データを形成する工程と、
を具備することを特徴とする画像処理方法。
【請求項５】
プロセッサ上で実行するためのプログラム指令を含む半導体集積回路であって、
前記プログラム指令は、前記プロセッサによって実行される時、
被写体のボディの３次元モデルを表現するためのボディ画像データを記憶または形成する部分と、前記被写体のボディの３次元モデルに載せる複数の異なる仮想衣服の３次元モデルを表現するための衣服画像データと、前記仮想衣服の動作に伴う変化を表現するための衣服処理パラメータとを記憶する部分と、を具備する画像処理装置に、
前記被写体を撮像する撮像装置の出力から入力画像データを得る工程と、
前記ボディ画像データと、第１の処理パラメータとに基づいて、３次元の第１の表示画像データを形成する工程と、
前記第１の表示画像データと前記入力画像データとの間で、画像上の互いに対応する点を探索し、対応点位置情報を求める工程と、
前記対応点位置情報を使用して、前記第１の処理パラメータの値を改善し、第２の処理パラメータを求める工程と、
前記ボディ画像データと、前記第２の処理パラメータとに基づいて、３次元の第２の表示画像データを形成する工程と、
前記第２の表示画像データと、選択された仮想衣服に対応して前記衣服画像データ及び衣服処理パラメータから検索されたデータ及びパラメータとに基づいて、前記被写体のボディに前記選択された仮想衣服を載せた３次元の第３の表示画像データを形成する工程と、
を実行させることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体に対して仮想衣服を装着した態様の３次元の表示画像データを形成する処理を含む画像処理装置、画像処理方法、及び半導体集積回路に関する。本発明は、例えば、撮像された人物に対して仮想衣服を装着した態様の３次元の表示画像データを形成し、表示装置に表示する、或いはネットワークを通じて送信するために利用することができる。
【背景技術】
【０００２】
入力された人物の画像に装飾或いは変形などの画像処理を施し、表示装置などに出力する画像処理装置が従来から使用されている。例えば、顔画像に対して髪型の変更、メガネの装着、或いは化粧の修飾などを行い、その使用状態を、静止画にてシミュレーションするための装置やソフトウェアは、現在広く利用されている。
【０００３】
かかる画像処理装置として、例えば、顔画像中の特徴点の抽出を行い、これらに対して予め決められた画像を重ねることにより、装飾画像を表示するものが提案されている（特許文献１参照）。しかし、特許文献１の画像処理装置による画像は、実画像のシミュレーションとしては満足できるものではない。即ち、仮想画像の生成の基となる顔画像中の特徴点や特徴領域の検出が正確でないため、表情の変化や動き等に十分に対応できるものではなく、リアルタイムで入力画像に対して装飾或いは変形などを施し出力することは困難である。
【０００４】
また、別の画像処理装置として、予め設定された被写体の３次元のモデル画像に対して、被写体の動作を追跡（トラッキング）した結果を反映させるものが提案されている（特許文献２参照）。特許文献２の画像処理装置は、特に人物の顔画像に対して、髪型を変更する或いは化粧を行うなどの装飾を施すことを想定している。
【特許文献１】特開２０００−３２２５８８号公報
【特許文献２】特開２００４−２１３４８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、被写体に対して仮想衣服を装着した態様の３次元の表示画像データを形成するための画像処理装置、画像処理方法、及び半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の視点は、画像処理装置であって、
被写体のボディの３次元モデルを表現するためのボディ画像データを記憶または形成する部分と、
前記被写体のボディの３次元モデルに載せる複数の異なる仮想衣服の３次元モデルを表現するための衣服画像データと、前記仮想衣服の動作に伴う変化を表現するための衣服処理パラメータとを記憶する部分と、
前記被写体を撮像する撮像装置の出力から入力画像データを得る部分と、
前記ボディ画像データと、第１の処理パラメータとに基づいて、３次元の第１の表示画像データを形成する部分と、
前記第１の表示画像データと前記入力画像データとの間で、画像上の互いに対応する点を探索し、対応点位置情報を求める部分と、
前記対応点位置情報を使用して、前記第１の処理パラメータの値を改善し、第２の処理パラメータを求める部分と、
前記ボディ画像データと、前記第２の処理パラメータとに基づいて、３次元の第２の表示画像データを形成する部分と、
前記第２の表示画像データと、選択された仮想衣服に対応して前記衣服画像データ及び衣服処理パラメータから検索されたデータ及びパラメータとに基づいて、前記被写体のボディに前記選択された仮想衣服を載せた３次元の第３の表示画像データを形成する部分と、
を具備することを特徴とする。
【０００７】
本発明の第２の視点は、画像処理方法であって、
被写体のボディの３次元モデルを表現するためのボディ画像データを記憶または形成する工程と、
前記被写体のボディの３次元モデルに載せる複数の異なる仮想衣服の３次元モデルを表現するための衣服画像データと、前記仮想衣服の動作に伴う変化を表現するための衣服処理パラメータとを記憶する工程と、
前記被写体を撮像する撮像装置の出力から入力画像データを得る工程と、
前記ボディ画像データと、第１の処理パラメータとに基づいて、３次元の第１の表示画像データを形成する工程と、
前記第１の表示画像データと前記入力画像データとの間で、画像上の互いに対応する点を探索し、対応点位置情報を求める工程と、
前記対応点位置情報を使用して、前記第１の処理パラメータの値を改善し、第２の処理パラメータを求める工程と、
前記ボディ画像データと、前記第２の処理パラメータとに基づいて、３次元の第２の表示画像データを形成する工程と、
前記第２の表示画像データと、選択された仮想衣服に対応して前記衣服画像データ及び衣服処理パラメータから検索されたデータ及びパラメータとに基づいて、前記被写体のボディに前記選択された仮想衣服を載せた３次元の第３の表示画像データを形成する工程と、
を具備することを特徴とする。
【０００８】
本発明の第３の視点は、プロセッサ上で実行するためのプログラム指令を含む半導体集積回路であって、
前記プログラム指令は、前記プロセッサによって実行される時、
被写体のボディの３次元モデルを表現するためのボディ画像データを記憶または形成する部分と、前記被写体のボディの３次元モデルに載せる複数の異なる仮想衣服の３次元モデルを表現するための衣服画像データと、前記仮想衣服の動作に伴う変化を表現するための衣服処理パラメータとを記憶する部分と、を具備する画像処理装置に、
前記被写体を撮像する撮像装置の出力から入力画像データを得る工程と、
前記ボディ画像データと、第１の処理パラメータとに基づいて、３次元の第１の表示画像データを形成する工程と、
前記第１の表示画像データと前記入力画像データとの間で、画像上の互いに対応する点を探索し、対応点位置情報を求める工程と、
前記対応点位置情報を使用して、前記第１の処理パラメータの値を改善し、第２の処理パラメータを求める工程と、
前記ボディ画像データと、前記第２の処理パラメータとに基づいて、３次元の第２の表示画像データを形成する工程と、
前記第２の表示画像データと、選択された仮想衣服に対応して前記衣服画像データ及び衣服処理パラメータから検索されたデータ及びパラメータとに基づいて、前記被写体のボディに前記選択された仮想衣服を載せた３次元の第３の表示画像データを形成する工程と、
を実行させることを特徴とする。
【０００９】
更に、本発明に係る実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施の形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【発明の効果】
【００１０】
本発明によれば、被写体に対して仮想衣服を装着した態様の３次元の表示画像データを形成することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１２】
＜実施形態＞
図１は、本発明の実施形態に係る画像処理装置を含む仮想鏡システムを示すブロック図である。図１に示すように、このシステムは、第１及び第２のカメラ（撮像装置）１、２と、表示装置３と、これらに接続された画像処理装置５とを含む。
【００１３】
この仮想鏡システムにおいては、概略的に次のような処理が行われる。即ち、第１及び第２のカメラ１、２から取り込まれた被写体ＴＰの２つの画像データに基づいて、画像処理装置５において被写体ＴＰの３次元の（３Ｄ）モデル画像データが形成される。また、このようにして形成されたモデル画像データと、第１のカメラ１から取り込まれた被写体ＴＰの動作を追跡（トラッキング）する画像データとに基づいて、画像処理装置５において３次元の（３Ｄ）表示画像データが形成され、これに従って、表示装置３のスクリーン上に３Ｄ画像が表示される。この際、表示画像には、要求に応じて、被写体ＴＰへ仮想衣服を装着する或いは仮想化粧を施すなどの画像処理が行われる。
【００１４】
即ち、本実施形態において、第１のカメラ１は、被写体ＴＰの３Ｄモデル画像データを形成するため、及び被写体ＴＰの動作を追跡するために使用される。第２のカメラ２は、被写体ＴＰの３Ｄモデル画像データを形成するために使用される。例えば、第１のカメラ１は高精細のビデオカメラからなり、第２のカメラは高精細のスチルカメラからなる。なお、第２のカメラも高精細のビデオカメラからとしてもよい。また、より精度の高い画像を得るため、第１及び／または第２のカメラ１、２を増設してもよい。
【００１５】
画像処理装置５は、第１及び第２のカメラ１、２から取り込んだ被写体ＴＰの画像データや、これに画像処理を施した後の画像データを符号化してネットワーク４を通して送信することができる。また、画像処理装置５は、ネットワーク４を通して受信する符号化されたデータを複合化し、表示装置３に出力することができる。
【００１６】
従って、ネットワーク４を通して接続された２台の仮想鏡システムを使用し、一方の側の画像を、他方の側の表示装置（図示せず）上に表示するような構成とすることにより、仮想鏡システムは、テレビ電話のように使用することも可能である。テレビ電話として使用する際に、例えば人の表情を動物の表情へ移植する処理を行えば、相手先には使用者（被写体ＴＰ）ではなく、動物の表情を表示できる。このため、使用者がだれなのかわからないが、表情の変化や動きは読みとれるという、匿名性が高く、且つ臨場感のある通話を行うことができる。
【００１７】
図２は、図１に示す仮想鏡システムの応用例を示す概略図である。このシステムの表示装置３は、投射器３ａと、投射器３ａから投射される画像を被写体（例えば、人物）ＴＰ側の前面に表示する透過型のホログラムスクリーン３ｂとから構成される。第１及び第２のカメラ１、２は、ホログラムスクリーン３ｂを挟んで被写体ＴＰの反対側に配置される。ホログラムスクリーン３ｂは、所謂マジックミラー（one-way mirror）型のもので、従って、第１及び第２のカメラ１、２によりスクリーン３ｂを通して被写体ＴＰを撮像することが可能となる。
【００１８】
図３は、図１に示す画像処理装置の詳細を示すブロック図である。図３に示すように、画像処理装置５は、直列に接続された３Ｄモデル作成部１０、３Ｄモデル描画部１１、対応点探索部１３、処理パラメータ（動き・モデルパラメータ）改善部１４、レンダリング部１８を有する。また、画像処理装置５は、第１及び第２のカメラ１、２の出力に接続された画像入力部１２を有する。画像入力部１２の出力は、対応点探索部１３の第２の入力に接続される。処理パラメータ改善部１４の出力は、３Ｄモデル作成部１０の出力と組み合わされ、３Ｄモデル描画部１１に入力される。３Ｄモデル描画部１１の出力は、レンダリング部１８に入力される。３Ｄモデル作成部１０と対応点探索部１３とは、入出力が相互に接続される。
【００１９】
更に、画像処理装置５は、画像出力部１５及びネットワーク接続部１６を有する。画像出力部１５は、レンダリング部１８の出力に接続された入力と、表示装置３に接続された出力とを有する。ネットワーク接続部１６は、レンダリング部１８の出力に接続された入力と、画像出力部１５の入力に接続された出力とを有する。ネットワーク接続部１６には、外部に設けられたネットワーク４が接続される。
【００２０】
上述の処理部１０、１１、１３、１４、１８で使用する必要なデータを記憶するため及びこれらの部分で形成したデータを記憶するため、メモリ１７が配設される。メモリ１７には、ボディ画像データファイル１７ａ及び処理パラメータファイル１７ｂが形成される。ボディ画像データファイル１７ａには、複数の異なる被写体のボディの３次元の（３Ｄ）標準モデルを表現するためのボディ画像データが記憶される。処理パラメータファイル１７ｂには、被写体のボディの画像における動きや姿勢、表情等を表現するための処理パラメータが記憶される。
【００２１】
メモリ１７にはまた、衣服画像データファイル１７ｃ及び化粧画像データファイル１７ｅが形成される。衣服画像データファイル１７ｃには、被写体のボディの３次元モデルに載せる複数の異なる仮想衣服の３次元モデルを表現するための衣服画像データが記憶される。化粧画像データファイル１７ｅには、被写体のボディの３次元モデルに載せる複数の異なる仮想化粧を表現するための化粧画像データが記憶される。
【００２２】
メモリ１７には、更に衣服処理パラメータファイル１７ｄが形成される。衣服処理パラメータファイル１７ｄには、仮想衣服の動作に伴う変化を表現するための衣服処理パラメータが記憶される。衣服処理パラメータは、仮想衣服の素材及び構造に依存した、仮想衣服の表面の形状、色相、彩度、明度を含む。例えば、仮想衣服の各部表面の形状は、仮想衣服の素材及び構造によって与えられる衣服の硬さや伸縮性に依存して、被写体の動作に伴って異なる態様で変化する。また、仮想衣服の各部表面の色相、彩度、明度も、仮想衣服の素材が有する色や光沢に依存して、被写体の動作に伴って異なる態様で変化する。衣服処理パラメータは、このような仮想衣服の動作に伴う変化を表現するためのパラメータである。
【００２３】
図３に示すように、画像入力部１２は、被写体ＴＰの３Ｄモデル画像データを作成する際、第１及び第２のカメラ１、２の出力から、夫々第１及び第２の入力画像データを低フレームレート（静止画像データを含む）で取り込む。画像入力部１２は、また、被写体ＴＰの動作を追跡（トラッキング）する際、第３の入力画像データを高フレームレートで取り込む。なお、第１及び第２のカメラ１、２は、広角レンズを通して被写体ＴＰを撮像するように構成されるため、この広角レンズを通して得られた像には幾分の歪みが生じる。このため、画像入力部１２には、この歪みを補正するように第１乃至第３の入力画像データを補正する歪み補正部１２Ｍが配設される。
【００２４】
対応点探索部１３は、被写体ＴＰの３Ｄモデル画像データを作成する際、上記第１及び第２の入力画像データ間で、対応点の探索を行う。この対応点探索の際、予め準備され且つボディ画像データファイル１７ａに記憶された３次元の（３Ｄ）標準モデル画像データ（ボディ画像データ）が参照される。対応点探索部１３は、また、被写体ＴＰの動作を追跡する際、３Ｄモデル描画部１１で形成された３Ｄ表示画像データと、上記第３の入力画像データとの間で、対応点の探索を行う（対応点探索の詳細については後述する）。
【００２５】
３Ｄモデル作成部１０は、被写体ＴＰの３Ｄモデル画像データと、第１の処理パラメータ（動き・モデルパラメータの初期解）と、を形成する。この際、対応点探索部１３で形成された対応点位置情報が使用される。この際、３Ｄモデル作成部１０は、２つの画像データの一方の画像上に配置された複数の点と、これらに対応する他方の画像上における複数の点との間の夫々の距離から推定される夫々の点の奥行きをもとに３Ｄモデル画像を形成する。
【００２６】
３Ｄモデル描画部１１は、被写体ＴＰの３Ｄモデル画像データ（ボディ画像データ）と、その処理パラメータ（動き・モデルパラメータ）とに基づいて、３Ｄ表示画像データを形成（仮想的な描画）する。処理パラメータは、画像における動きや姿勢、表情等を表現するためのパラメータである。処理パラメータ改善部１４は、被写体ＴＰの動作を追跡する際、対応点の探索により求めた情報に基づいて、処理パラメータを改善する。改善された処理パラメータは３Ｄモデル描画部１１にフィードバックされ、３Ｄ表示画像データを形成するために使用される。処理パラメータ改善の詳細についても後述する。
【００２７】
レンダリング部１８は、３Ｄモデル描画部１１で形成された３Ｄ表示画像データに対して、被写体ＴＰのボディに仮想衣服や仮装化粧を載せるための処理を、使用者の選択に応じて行う。レンダリング部１８で設定された条件は、３Ｄモデル描画部１１で形成された３Ｄ表示画像データと組み合わされ、レンダリング済みの３Ｄ表示画像データが形成される。画像出力部１５は、レンダリング部１８で形成された３Ｄ表示画像データを受信し、これを表示装置３に出力することにより表示装置３上に描画する。
【００２８】
レンダリング部１８は、形状シミュレータ１８ａ及び色シミュレータ１８ｂを有する。形状シミュレータ１８ａは、３Ｄモデル描画部１１で形成された３Ｄ表示画像データによって表される被写体ＴＰの姿勢に適合するように、選択された仮想衣服の姿勢及び表面の形状を設定する。また、色シミュレータ１８ｂは、仮想衣服の姿勢及び表面の形状に適合するように、選択された仮想衣服の表面の色相、彩度、明度を設定する。更に、色シミュレータ１８ｂは、被写体ＴＰの姿勢に適合するように、選択された仮想化粧の位置や色を設定する。これらの設定処理において、選択された仮想衣服や仮想化粧に対応して、衣服画像データファイル１７ｃ、衣服処理パラメータファイル１７ｄ、及び化粧画像データファイル１７ｅ内が検索され、必要なデータが抽出される。
【００２９】
ネットワーク接続部１６は、レンダリング部１８からレンダリング済みの３Ｄ表示画像データを受信し、これを他の画像処理装置にネットワーク４を介して出力する。また、ネットワーク接続部１６は、他の画像処理装置からネットワーク４を介して情報を受信し、画像出力部１５に送信する。更に、ネットワーク接続部１６は、ネットワーク４を介して情報を取り込み、これをメモリ１７に記憶する（或いは、上述の処理部１０、１１、１３、１４、１８に直接送信する）。ネットワーク４を介して取り込まれる情報には、３Ｄ標準モデルデータ（ボディ画像データ）、標準モデルデータの処理パラメータ、衣服画像データ、衣服処理パラメータ、化粧画像データを含むことができる。
【００３０】
次に、図３に示す画像処理装置５の動作の詳細について説明する。画像処理装置５は、被写体ＴＰの３Ｄモデル画像データを作成するフェーズと、被写体ＴＰの動作を追跡（トラッキング）するフェーズとで、異なった動作を行う。このため、以下では、動作のフローを、この２つのフェーズに分けて説明する。
【００３１】
先ず、画像処理装置５は、被写体ＴＰの３Ｄモデル画像データ（ボディ画像データ）を作成するフェーズを実行する。このため、第１及び第２のカメラ１、２の出力から画像入力部１２に、夫々第１及び第２の入力画像データが低フレームレートで取り込まれる。対応点探索部１３は、第１及び第２の入力画像データ間で、画像上の互いに対応する点を探索（対応点探索の詳細については後述する）して第１の対応点位置情報を求め、これを３Ｄモデル作成部１０に転送する。３Ｄモデル作成部１０は、第１の対応点位置情報を使用し、被写体ＴＰのボディの３次元モデルを表現するためのボディ画像データと第１の処理パラメータ（動き・モデルパラメータ）とを形成する。この際、各１組のフレームデータ（夫々第１及び第２の入力画像データに対応する）に対して、上述の処理が繰り返され、ボディ画像データ及び第１の処理パラメータの精度が高められる。
【００３２】
ボディ画像データを形成する際、予め（第１及び第２の入力画像データを得る前に）準備された３Ｄ標準モデル画像データ（メモリ１７に記憶される）が参照される。ここで、標準モデル画像データとは、例えば、人物の全身、上半身、動物の種類など、被写体ＴＰが属する種や対象部分の平均的な外観に基づいて形成される。なお、３Ｄ標準モデル画像データは、基本的には、探索効率を高めるためのものであるから、必須のものではない。また、第１の処理パラメータは、予め準備した標準モデルの処理パラメータを使用することにより、３Ｄモデル作成部１０で形成することを省略することができる。更に、以下のフェーズで使用する被写体ＴＰのボディ画像データとして、３Ｄ標準モデル画像データをそのまま使用するか、予めメモリ１７に記憶した被写体ＴＰのボディ画像データを使用することもできる。この場合、３Ｄモデル作成部１０は不要となり、従ってボディ画像データを作成するフェーズは実行されないこととなる。
【００３３】
次に、画像処理装置５は、被写体ＴＰの動作を追跡（トラッキング）するフェーズを実行する。図４は、被写体ＴＰの動作を追跡（トラッキング）するフェーズにおける画像処理装置の動作を示すフローチャートである。このフェーズを実行するため、第１のカメラ１の出力から画像入力部１２に、第３の入力画像データＡ１１が高フレームレートで取り込まれる（ステップＳ１１）。この際、第１のカメラ１の広角レンズを通して得られた像の歪みを補正するように、歪み補正部１２Ｍによって第３の入力画像データＡ１１が補正される。
【００３４】
一方、３Ｄモデル描画部１１は、３Ｄモデル作成部１０から転送された被写体ＴＰのボディ画像データＡ５及び第１の処理パラメータ（動き・モデルパラメータの初期解）Ａ６に基づいて、３次元の第１の表示画像データＡ１２を形成（仮想的な描画）する（ステップＳ１２）。第１の表示画像データＡ１２及び第３の入力画像データＡ１１は対応点探索部１３に転送される。
【００３５】
対応点探索部１３は、第１の表示画像データＡ１２と第３の入力画像データＡ１１との間で、画像上の互いに対応する点を探索し、第２の対応点位置情報Ａ１３を求める（ステップＳ１３）。第２の対応点位置情報Ａ１３は処理パラメータ改善部１４に転送される。処理パラメータ改善部１４は、第２の対応点位置情報Ａ１３を使用して、第１の処理パラメータＡ６の値を改善し、第２の処理パラメータ（動き・モデルパラメータの２次解）Ａ１４を求める（ステップＳ１４）。
【００３６】
第２の処理パラメータＡ１４は、再び、３Ｄモデル描画部１１にフィードバックされる。３Ｄモデル描画部１１は、モデル画像データＡ５と第２の処理パラメータＡ１４に基づいて、３次元の第２の表示画像データを形成する。そして、第２の表示画像データを使用して、前述と同様に、対応点の探索及び処理パラメータの改善が行われ、更に精度の高い処理パラメータが求められる。
【００３７】
このように、１つのフレームデータに対して、３Ｄ表示画像データの形成から、対応点の探索、処理パラメータの算出までの処理が複数回（例えば２、３回）繰り返し実行され、高い精度の処理パラメータが算出される。算出された処理パラメータは、３Ｄモデル描画部１１にフィードバックされ、３Ｄモデル描画部１１により出力すべき３Ｄ表示画像データＡ１２Ｘが形成される。こうして形成された表示画像データＡ１２Ｘは、レンダリング部１８に入力される。
【００３８】
レンダリング部１８では、先ず、形状シミュレータ１８ａが、表示画像データＡ１２Ｘによって表される被写体ＴＰの姿勢に適合するように、選択された仮想衣服の姿勢及び表面の形状を設定する（ステップＳ１５）。この際、選択された仮想衣服に対応してメモリ１７のファイル１７ｃ、１７ｄから検索された衣服画像データＡ７及び衣服処理パラメータＡ８が参照される。形状シミュレータ１８ａで設定された条件は、表示画像データＡ１２Ｘと組み合わされ、形状シミュレーション済みの仮想衣服を含む３Ｄ表示画像データＡ１５が形成される。
【００３９】
次に、色シミュレータ１８ｂが、仮想衣服の姿勢及び表面の形状に適合するように、選択された仮想衣服の表面の色相、彩度、明度を設定する（ステップＳ１６）。更に、色シミュレータ１８ｂは、被写体ＴＰの姿勢に適合するように、選択された仮想化粧の位置や色を設定する（ステップＳ１６）。この際、選択された仮想衣服及び仮想化粧に対応してメモリ１７のファイル１７ｃ、１７ｄ、１７ｅから検索された衣服画像データＡ７、衣服処理パラメータＡ８、及び化粧画像データＡ９が参照される。色シミュレータ１８ｂで設定された条件は、表示画像データＡ１５と組み合わされ、形状及び色のシミュレーション済みの仮想衣服と仮想化粧とを含む３Ｄ表示画像データＡ１６が形成される。表示画像データＡ１６は、画像出力部１５に出力され、これにより、表示装置３上に所望の画像が描画される。
【００４０】
以上の説明は、第１のカメラ１から得られた第３の入力画像データＡ１１の１つのフレームデータに対する処理となる。即ち、被写体ＴＰの動作を追跡するフェーズのための最初のフレームデータが対応点探索部１３に取り込まれると、上述の３Ｄ表示画像データの形成（ステップＳ１２）から、処理パラメータの改善（ステップＳ１４）までの処理が繰り返し（例えば２、３回）実行される。この繰返しにより得られた処理パラメータを使用して被写体ＴＰのボディの表示画像データが形成される。そして、このボディの表示画像データにレンダリング部１８の設定が組み合わされて表示画データが形成され、表示装置３上に３Ｄ画像が表示される。
【００４１】
更に、被写体ＴＰの動作を追跡するフェーズのための次のフレームデータが対応点探索部１３に取り込まれると、同様に、上述の３Ｄ表示画像データの形成（ステップＳ１２）から、処理パラメータの改善（ステップＳ１４）までの処理が繰り返し（例えば２、３回）実行される。この繰返しにより得られた新たな処理パラメータを使用してボディの新たな３Ｄ表示画像データが形成される。そして、このボディの表示画像データにレンダリング部１８の設定が組み合わされて表示画データが形成され、表示装置３上に３Ｄ画像が表示される。
【００４２】
なお、上述の被写体ＴＰの３Ｄモデル画像データを作成するフェーズと、被写体ＴＰの動作を追跡するフェーズとは、混合した状態で実施可能となる。換言すれば、最初の３Ｄモデル画像データ（ボディ画像データ）を形成した後も、被写体ＴＰの動作を追跡する間に、３Ｄモデル画像データが蓄積或いは更新可能となる。これにより、最初の段階では捕らえることができなかった被写体ＴＰの部分のデータを３Ｄモデル画像データに含めることができる。
【００４３】
次に、対応点探索部１３及び処理パラメータ改善部１４の動作の詳細を説明する。
【００４４】
対応点の探索とは、２つの画像データの一方に基づく第１の画像上に複数の点を配置し、これら複数の点の各々に対して、２つの画像データの他方に基づく第２の画像上において対応する点を探索する操作である。対応点探索は、被写体ＴＰの３Ｄモデル画像データを作成するフェーズと、被写体ＴＰの動作を追跡するフェーズとの両者で利用される。両フェーズで行われる対応点探索の原理は同じであるので、以下では、被写体ＴＰの動作を追跡するフェーズにおける対応点探索を例に挙げて説明する。
【００４５】
図５（ａ）及び図５（ｂ）は、対応点探索部１３における対応点位置情報を求める様子を示す図である。図５（ａ）は３Ｄモデル描画部１１によって形成された表示画像データに基づく画像を示し、図５（ｂ）は画像入力部１２に取り込まれた入力画像データに基づく画像を示す。この例では、図５（ａ）に示す画像上の目の部分に配置された注目点Ａが、図５（ｂ）に示す画像上のどの位置に対応するかを探索する。そして、図５（ｂ）に示す画像上において注目点Ａに対応する対応点Ｂの位置情報を求める。
【００４６】
具体的には、対応点探索部１３は、表示画像データ及び入力画像データに基づく２つの画像間で、以下のような処理により対応点の探索を行い、対応点の位置情報を求める。その後、処理パラメータ改善部１４は、最小二乗法などを使用して、表示画像データ上と入力画像上とにおける対応点間の距離が最小となるように、処理パラメータを改善する。
【００４７】
図５（ａ）に示すように、３Ｄモデル描画部１１によって得られた第１の画像上の注目点Ａの位置を（ｘｉ、ｙｉ）とする。ここで、ｉ＝１、２、…、Ｎである。Ｎは注目点Ａの数であり、第１の画像上に所定の間隔で配置される。注目点Ａの数は、被写体ＴＰの動作を追跡するフェーズでは数十から数千点程度であり、被写体ＴＰの３Ｄモデル画像データを作成するフェーズでは、その１０倍程度である。対応点探索部１３は、注目点Ａ（ｘｉ、ｙｉ）が存在する周辺画像部分Ｃと似た対応画像部分Ｄが入力画像データに基づく第２の画像上でどこに存在するか探索する。更に、周辺画像部分Ｃ内における注目点Ａの位置関係から、図５（ｂ）に示すように、探索した対応画像部分Ｄ内における対応点Ｂ（ｕｉ、ｖｉ）の位置情報を算出する。
【００４８】
一方、処理パラメータの改善は、被写体ＴＰの動作を追跡するフェーズにおいて、対応点探索に続いて行われる。ここで、処理パラメータ改善部１４は、ｉ＝１、２、…、Ｎの全ての点において、注目点Ａと対応点Ｂとの距離が最小となるように、処理パラメータを改善する。
【００４９】
例えば、注目点Ａ（ｘｉ、ｙｉ）と対応点Ｂ（ｕｉ、ｖｉ）との距離の二乗和をＲとすると、次の式（１）が得られる。
【００５０】
Ｒ＝Σ｜（ｘｉ、ｙｉ）−（ｕｉ、ｖｉ）｜２  …（１）
ｘｉ、ｙｉは処理パラメータＰの関数であるため、ＲもＰの関数でＲ（Ｐ）と表現できる。従って、Ｒが最小になるようなＰを求めることにより、動きや姿勢、表情を表現する処理パラメータを改善することができる。
【００５１】
また、例えば、関数Ｒ（Ｐ）として、二乗和以外の以下のような式（２）を使用することもできる。
【００５２】
Ｒ＝Σλｉ｜（ｘｉ、ｙｉ）−（ｕｉ、ｖｉ）｜２  …（２）
ここで、λｉは点ごとに定められた定数である。
【００５３】
即ち、処理パラメータ改善部１４は、対応点位置情報をもとに、表示画像データに基づいて再度、画像を描画したときの対応点Ｂと注目点Ａとの距離が短くなるように、処理パラメータの初期解の改善を行う。これにより、処理パラメータ改善部１４は、処理パラメータの２次解を算出する。
【００５４】
一方、３Ｄモデル作成部１０は、対応点探索部１３から転送された対応点位置情報を使用し、２つの入力画像データの一方の画像上に配置された複数の点と、これらに対応する他方の画像上における複数の点との間の夫々の距離から、夫々の点の奥行きを推定することで、被写体ＴＰの形状を推定する。なお、標準モデルデータが与えられている場合には、
３Ｄモデル作成部１０は、推定されたＴＰの形状により近い標準モデルデータを選択する。このような推定を繰り返し行うことで、３Ｄモデルの精度を高める。
【００５５】
次に、画像処理装置のハードウエア構成について説明する。画像処理装置５は、ＣＰＵ（Central Processing Unit）とＧＰＵとの組み合わせとして構成される。ＧＰＵは、単一半導体基板上に形成されたチップとして構成される。例えば、上述の３Ｄモデル描画部１１と対応点探索部（第１及び第２の対応点位置情報を求める部分）１３とレンダリング部１８とがＧＰＵに属し、その他の部分がＣＰＵに属する。或いは、更に処理パラメータ改善部１４もＧＰＵに属することができる。
【００５６】
図６は、画像処理装置のハードウエア構成を示すブロック図である。図７は、像処理装置のＧＰＵを示すブロック図である。図６に示すように、画像処理装置５は、ＣＰＵ２０、Ｉ／Ｏプロセッサ３０、メインメモリ４０、及びＧＰＵ５０を有する。ＣＰＵ２０とＧＰＵ５０とは、プロセッサバスＢＵＳによって、相互に通信可能に接続される。
【００５７】
ＣＰＵ２０は、メインプロセッサ２１、Ｉ／Ｏ部２２〜２４、及び複数の信号処理部（ＤＳＰ：Digital Signal Processor）２５を有する。これらの回路ブロックは、ローカルネットワークＬＮ１によって相互に通信可能に接続される。メインプロセッサ２１は、ＣＰＵ２０内の各回路ブロックの動作を制御する。Ｉ／Ｏ部２２は、Ｉ／Ｏプロセッサ３０を介してＣＰＵ２０外部とデータの授受を行う。Ｉ／Ｏ部２３は、メインメモリ４０との間でデータの授受を行う。Ｉ／Ｏ部２４は、プロセッサバスＢＵＳを介してＧＰＵ５０との間でデータの授受を行う。信号処理部２５は、メインメモリ４０や外部から読み込んだデータに基づいて信号処理を行う。
【００５８】
Ｉ／Ｏプロセッサ３０は、ＣＰＵ２０と、例えば汎用バス、ＨＤＤやＤＶＤ（Digital Versatile Disc）ドライブ等の周辺機器並びにネットワークとを接続する。メインメモリ４０は、ＣＰＵ２０が動作するために必要なプログラムを保持する。このプログラムは、例えば図示せぬＨＤＤ等から読み出されて、メインメモリ４０に格納される。
【００５９】
ＧＰＵ５０は、単一半導体基板５０ｓｕｂ上に形成された、コントローラ５１、Ｉ／Ｏ部５２、５３、及び演算処理部５４を有する。コントローラ５１は、ＣＰＵ２０との間の通信や、演算処理部５４の制御を行う。Ｉ／Ｏ部５２は、プロセッサバスＢＵＳを介したＣＰＵ２０との間の入出力を行う。Ｉ／Ｏ部５３は、ＰＣＩ等の各種汎用バス、ビデオ及びオーディオ、更に外部メモリ等との入出力を行う。演算処理部５４は、画像処理演算を行う。
【００６０】
演算処理部５４は、ラスタライザ（rasterizer）５５、及び複数の信号処理部５６−０〜５６−３１を有する。なお、図６では信号処理部５６の数を３２個にしているが、これは一例に過ぎず、８個、１６個、６４個等でも良く、その数は限定されるものではない。
【００６１】
図７に示すように、演算処理部５４は、ラスタライザ５５と、３２個の信号処理部５６−０〜５６−３１を有する。ラスタライザ５５は、入力された図形情報に従って、ピクセル（pixel）を生成する。ピクセルとは、所定の図形を描画する際に取り扱われる最小単位の領域のことであり、ピクセルの集合によって図形が描画される。生成されるピクセルは、図形の形状（図形の占める位置）によって決まる。即ち、ある位置を描画する際にはその位置に対応したピクセルが生成され、また別の位置を描画する際には、対応する別のピクセルが生成される。信号処理部５６−０〜５６−３１は夫々、ピクセル処理部ＰＰＵ０〜ＰＰＵ３１、及びピクセル処理部毎に設けられたローカルメモリＬＭ０〜ＬＭ３１を含む。
【００６２】
ピクセル処理部ＰＰＵ０〜ＰＰＵ３１は夫々、１６個のリアライズパイプ（或いはＲＧＢピクセルパイプ）ＲＰ（realize pipe）を有する。１６個のリアライズパイプＲＰが１個のＲＰクラスタＲＰＣ（realize pipe cluster）を形成する。ＲＰクラスタＲＰＣの夫々は、ＳＩＭＤ（Single Instruction Multiple Data）動作を行って、１６個のピクセルを同時に処理する。図形の夫々の位置に対応するピクセルは各ピクセル処理部ＰＰＵ０〜ＰＰＵ３１に割り当てられており、図形の占める位置に応じて、対応するピクセル処理部ＰＰＵ０〜ＰＰＵ３１がピクセルを処理する。
【００６３】
ローカルメモリＬＭ０〜ＬＭ３１は夫々、ピクセル処理部ＰＰＵ０〜ＰＰＵ３１によって生成されたピクセルデータを記憶する。ローカルメモリＬＭ０〜ＬＭ３１は、全体としてリアライズメモリ（realize memory）５８を形成する。リアライズメモリ５８は、ＧＰＵのチップ内に含まれた、即ち、ＧＰＵの他の構成部分と共通の単一半導体基板５０ｓｕｂ上に形成されたＤＲＡＭ（Dynamic Random Access Memory）からなる。このＤＲＡＭ内の所定のデータ幅を有する各メモリ領域が、夫々ローカルメモリＬＭ０〜ＬＭ３１に相当する。
【００６４】
ＧＰＵは、図５（ａ）を参照して説明したように、画像上の注目点Ａの数が、被写体ＴＰの動作を追跡するフェーズでは数千点程度、被写体ＴＰの３Ｄモデル画像データを作成するフェーズでは、その１０倍程度の膨大な数であっても、高速な処理を行えるような性能を有するように設定される。具体的には、対応点探索処理は、被写体ＴＰの３Ｄモデル画像データを作成するフェーズでは２０００ｍｓｅｃ以内で行うことができ、また、被写体ＴＰの動作を追跡するフェーズでは１５ｍｓｅｃ以内で行うことができることが望ましい。このため、例えば、ＧＰＵの演算性能は１ＧＨｚ、１６ＲＧＢピクセルパイプで、ＤＲＡＭの容量は８ＭＢに設定される。また、ＣＰＵ２０とＧＰＵ５０とを接続するプロセッサバスＢＵＳは、高速処理を行うため、例えば、４ＧＢ／ｓｅｃ以上、８ＧＢ程度の帯域を持つように設定される。
【００６５】
このように、画像処理装置５を構成することにより、３Ｄモデル作成部１０における被写体ＴＰの３Ｄモデル画像データの作成を、被写体ＴＰの動作の追跡を開始する前に、速やかに行うことができる。これにより、特定の使用者（被写体ＴＰ）の３Ｄモデル画像データを予め準備する必要がなくなり、任意の使用者が画像処理装置５を使用することが可能になる。また、画像処理装置５により、入力画像の動きや表情を高精度で示す処理パラメータをリアルタイムで高速に算出できる。これにより、３Ｄ画像をリアルタイムで高速に表示装置３に表示することが可能になる。
【００６６】
特に、３Ｄモデル描画部１１、対応点検索部１３、及びレンダリング部１８（更に、必要に応じて処理パラメータ改善部１４）を実現するＧＰＵの処理部とＤＲＡＭとを単一の半導体基板上に集積することにより、データ転送時間の遅延が解消され、処理が高速化できるため、リアルタイム処理が可能になる。
【００６７】
画像処理装置５はネットワークに接続されているため、遠隔地に使用者の姿勢や表情などを効率よく送信できる。また、遠隔地の使用者とテレビ電話のように対面することが可能である。また、仮想空間でのジェスチャや表情を使ったコミュニケーションが可能になる。更に、アバタを使用した場合、匿名性も保持することができる。
【００６８】
このように、上述の実施形態によれば、被写体ＴＰ、例えば人物の画像が入力され、この入力画像を分析、修飾、表示する過程において、前述したような被写体ＴＰの３Ｄモデル画像データを形成することができる。また、３Ｄモデル画像データと入力画像データとのマッチングを行うアルゴリズムを使用することにより、例えば人の姿勢の変化を精度良く抽出することができる。前記アルゴリズムを実行する装置を半導体基板上に集積化すれば、アルゴリズムをより効率よく実行することが可能である。
【００６９】
また、半導体装置に一部機能を集積化することで、汎用プロセッサでは難しい、リアルタイムでの処理が行える。これにより、画像処理後の出力画像を鏡のようにインタラクティブに使用できる。更に、テレビ電話などで相手先に表示される画像を修飾したり、制限したりといった、リアルタイム処理が必要な用途に使用できるようになる。
【００７０】
なお、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施形態に係る画像処理装置を含む仮想鏡システムを示すブロック図である。
【図２】図１に示す仮想鏡システムの応用例を示す概略図である。
【図３】図１に示す画像処理装置の詳細を示すブロック図である。
【図４】被写体ＴＰの動作を追跡（トラッキング）するフェーズにおける画像処理装置の動作を示すフローチャートである。
【図５】（ａ）は３Ｄモデル描画部によって形成された表示画像データに基づく画像を示し、（ｂ）は画像入力部に取り込まれた入力画像データに基づく画像を示す図である。
【図６】画像処理装置のハードウエア構成を示すブロック図である。
【図７】像処理装置のＧＰＵを示すブロック図である。
【符号の説明】
【００７２】
１、２…カメラ、３…表示装置、４…ネットワーク、５…画像処理装置、１０…３Ｄモデル作成部、１１…３Ｄモデル描画部、１２…画像入力部、１３…対応点探索部、１４…処理パラメータ改善部、１５…画像出力部、１６…ネットワーク接続部、１７…メモリ、１８…レンダリング部、１８ａ…形状シミュレータ、１８ｂ…色シミュレータ、２０…ＣＰＵ、３０…Ｉ／Ｏプロセッサ、４０…メインメモリ、５０…ＧＰＵ、５０ｓｕｂ…半導体基板、５６−０〜５６−３１…信号処理部、５８…リアライズメモリ（ＤＲＡＭ）。
【図１】
2007102478.tif 000003
【図２】
2007102478.tif 000004
【図３】
2007102478.tif 000005
【図４】
2007102478.tif 000006
【図５】
2007102478.tif 000007
【図６】
2007102478.tif 000008
【図７】
2007102478.tif 000009