(57)【要約】【課題】被写体の３次元のモデル画像データを効率的に形成することができる画像処理装置、画像処理方法、及び半導体集積回路を提供する。【解決手段】画像処理装置５は、被写体ＴＰを撮像する撮像装置１、２の出力から入力画像データを得る部分１２と、画像上の互いに対応する点を探索し、対応点位置情報を求める部分１３と、被写体ＴＰの３次元のモデル画像データを形成する部分１０とを有する。画像処理装置５は、更に、モデル画像データと処理パラメータに基づいて、３次元の表示画像データを形成する部分１１と、処理パラメータの値を改善する部分１４と、モデル画像データと改善された処理パラメータに基づいて、３次元の表示画像データを形成する部分１１と、を有する。【選択図】図３
2006235730.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）からなる。このＤＲＡＭ内の所定のデータ幅を有する各メモリ領域が、夫々ローカルメモリＬＭ０〜ＬＭ３１に相当する。
【００６９】
ＧＰＵは、図６（ａ）を参照して説明したように、画像上の注目点Ａの数が、被写体ＴＰの動作を追跡するフェーズでは数千点程度、被写体ＴＰの３Ｄモデル画像データを作成するフェーズでは、その１０倍程度の膨大な数であっても、高速な処理を行えるような性能を有するように設定される。具体的には、対応点探索処理は、被写体ＴＰの３Ｄモデル画像データを作成するフェーズでは２０００ｍｓｅｃ以内で行うことができ、また、被写体ＴＰの動作を追跡するフェーズでは１５ｍｓｅｃ以内で行うことができることが望ましい。このため、例えば、ＧＰＵの演算性能は１ＧＨｚ、１６ＲＧＢピクセルパイプで、ＤＲＡＭの容量は８ＭＢに設定される。また、ＣＰＵ２０とＧＰＵ５０とを接続するプロセッサバスＢＵＳは、高速処理を行うため、例えば、４ＧＢ／ｓｅｃ以上、８ＧＢ程度の帯域を持つように設定される。
【００７０】
このように、画像処理装置５を構成することにより、３Ｄモデル作成部１０における被写体ＴＰの３Ｄモデル画像データの作成を、被写体ＴＰの動作の追跡を開始する前に、速やかに行うことができる。これにより、特定の使用者（被写体ＴＰ）の３Ｄモデル画像データを予め準備する必要がなくなり、任意の使用者が画像処理装置５を使用することが可能になる。また、画像処理装置５により、入力画像の動きや表情を高精度で示す処理パラメータをリアルタイムで高速に算出できる。これにより、３Ｄ画像をリアルタイムで高速に表示装置３に表示することが可能になる。
【００７１】
特に、３Ｄモデル描画部１１及び対応点検索部１３（更に、必要に応じて処理パラメータ改善部１４）を実現するＧＰＵの処理部とＤＲＡＭとを単一の半導体基板上に集積することにより、データ転送時間が遅延が解消され、処理が高速化できるため、リアルタイム処理が可能になる。
【００７２】
画像処理装置５はネットワークに接続されているため、遠隔地に使用者の姿勢や表情などを効率よく送信できる。また、遠隔地の使用者とテレビ電話のように対面することが可能である。また、仮想空間でのジェスチャや表情を使ったコミュニケーションが可能になる。更に、アバタを使用した場合、匿名性も保持することができる。
【００７３】
このように、上述の実施形態によれば、被写体ＴＰ、例えば人物の画像が入力され、この入力画像を分析、修飾、表示する過程において、前述したような被写体ＴＰの３Ｄモデル画像データを形成することができる。また、３Ｄモデル画像データと入力画像データとのマッチングを行うアルゴリズムを使用することにより、顔の表情の変化や動きなどを精度良く抽出することができる。前記アルゴリズムを実行する装置を半導体基板上に集積化すれば、アルゴリズムをより効率よく実行することが可能である。
【００７４】
また、半導体装置に一部機能を集積化することで、汎用プロセッサでは難しい、リアルタイムでの処理が行える。これにより、画像処理後の出力画像を鏡のようにインタラクティブに使用できる。更に、テレビ電話などで相手先に表示される画像を修飾したり、制限したりといった、リアルタイム処理が必要な用途に使用できるようになる。
【００７５】
なお、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施形態に係る画像処理装置を含む仮想鏡システムを示すブロック図である。
【図２】図１に示す仮想鏡システムの応用例を示す概略図である。
【図３】図１に示す画像処理装置の詳細を示すブロック図である。
【図４】被写体の３Ｄモデル画像データを作成するフェーズにおける画像処理装置の動作を示すフローチャートである。
【図５】被写体ＴＰの動作を追跡（トラッキング）するフェーズにおける画像処理装置の動作を示すフローチャートである。
【図６】（ａ）は３Ｄモデル描画部によって形成された表示画像データに基づく画像を示し、（ｂ）は画像入力部に取り込まれた入力画像データに基づく画像を示す図である。
【図７】画像処理装置のハードウエア構成を示すブロック図である。
【図８】像処理装置のＧＰＵを示すブロック図である。
【符号の説明】
【００７７】
１、２…カメラ、３…表示装置、４…ネットワーク、５…画像処理装置、１０…３Ｄモデル作成部、１１…３Ｄモデル描画部、１２…画像入力部、１３…対応点探索部、１４…処理パラメータ改善部、１５…画像出力部、１６…ネットワーク接続部、２０…ＣＰＵ、３０…Ｉ／Ｏプロセッサ、４０…メインメモリ、５０…ＧＰＵ、５０ｓｕｂ…半導体基板、５６−０〜５６−３１…信号処理部、５８…リアライズメモリ（ＤＲＡＭ）。
【図１】
2006235730.tif 000003
【図２】
2006235730.tif 000004
【図３】
2006235730.tif 000005
【図４】
2006235730.tif 000006
【図５】
2006235730.tif 000007
【図６】
2006235730.tif 000008
【図７】
2006235730.tif 000009
【図８】
2006235730.tif 000010