(57)【要約】【課題】ネットワークを介して複数の操作者が仮想現実空間を共有できるとともに各操作者の分身のオブジェクトを仮想現実空間内で動かせるようにした仮想現実空間共有システムにおいて、複雑な操作を行うことなく、オブジェクトの表情を操作者の意思通りに自然に変化させられるようにする。【解決手段】各クライアント端末３，４は、各クライアント端末３，４の操作者３Ａ，４Ａの顔の表情を検出する。検出された表情のデータは、表情データ送信手段３ｂ，４ｂがサーバ側に送る。サーバ２側では、送信された表情のデータに基づいて、各クライアント端末３，４の画面３ｄ，４ｄ上の操作者に対応するオブジェクトの表情を変化させる指令を行う。これを受けた各クライアント端末３，４では、サーバからの指令に応じて各自の画面３ｄ，４ｄ上のオブジェクトの画像を変化させる。【選択図】図１
2007207278.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数の操作者が仮想現実空間を共有できるとともに各操作者の分身のオブジェクトを仮想現実空間内で動かせるようにした仮想現実空間共有システムにおいて、
前記仮想現実空間を提供するサーバと、
前記ネットワークを介して前記サーバから前記仮想現実空間の提供を受けるクライアントと、
前記クライアントの操作者の顔の表情を検出する表情検出手段と、
前記クライアントにおいて、前記検出された表情のデータを前記サーバ側に送る表情データ送信手段と、
前記サーバにおいて、前記送信された表情のデータに基づいて、各クライアントの画面上の前記操作者に対応するオブジェクトの表情を変化させる指令を行う表情変化指令手段と、
前記各クライアントにおいて、前記サーバからの指令に応じて各自の画面上の前記オブジェクトの画像を変化させる画像変化手段と
を有することを特徴とする仮想現実空間共有システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークを介して複数の操作者が仮想現実空間を共有する仮想現実空間共有システムに関し、特に各操作者の分身のオブジェクトを仮想現実空間内で動かすことのできる仮想現実空間共有システムに関する。
【背景技術】
【０００２】
従来、仮想現実空間を複数の操作者が共有し、その空間の中で各操作者の分身のオブジェクトを自由に動かして、操作者間でコミュニケーションを図ることのできる仮想現実空間共有システムがある（例えば特開平９−０８１７８２号公報）。このようなシステムでは、ある操作者が自身の分身のオブジェクトの表情や動きを変化させたい場合に、そのクライアント端末上で変化の指示を出す。そして、この指示を受け取ったサーバ側が、他のクライアント端末にそのオブジェクトの表情や動きの変化の指示を出し、これにより、他のクライアント端末が、それぞれの画面上で、対応するオブジェクトの表情や動きを変化させる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、このような従来の仮想現実空間共有システムでは、操作者が、クライアント端末上でマウスなどを使用して、希望する表情を選択し、指示するようになっていたため、操作が面倒であり、オブジェクトの表情の変化を自然に行うことができなかった。
【０００４】
本発明はこのような点に鑑みてなされたものであり、複雑な操作を行うことなく、オブジェクトの表情を操作者の意思通りに自然に変化させることのできる仮想現実空間共有システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明では上記課題を解決するために、ネットワークを介して複数の操作者が仮想現実空間を共有できるとともに各操作者の分身のオブジェクトを仮想現実空間内で動かせるようにした仮想現実空間共有システムにおいて、前記仮想現実空間を提供するサーバと、前記ネットワークを介して前記サーバから前記仮想現実空間の提供を受けるクライアントと、前記クライアントの操作者の顔の表情を検出する表情検出手段と、前記クライアントにおいて、前記検出された表情のデータを前記サーバ側に送る表情データ送信手段と、前記サーバにおいて、前記送信された表情のデータに基づいて、各クライアントの画面上の前記操作者に対応するオブジェクトの表情を変化させる指令を行う表情変化指令手段と、前記各クライアントにおいて、前記サーバからの指令に応じて各自の画面上の前記オブジェクトの画像を変化させる画像変化手段とを有することを特徴とする仮想現実空間共有システムが提供される。
【０００６】
このような仮想現実空間共有システムでは、まず、サーバによって、ネットワークを介して各クライアントに対して仮想現実空間が提供される。各クライアント側では、表情検出手段がクライアントの操作者の顔の表情を検出する。そして、この検出された表情のデータを表情データ送信手段がサーバ側に送る。
【０００７】
サーバでは、表情変化指令手段が、送信された表情のデータに基づいて、各クライアントの画面上の操作者に対応するオブジェクトの表情を変化させる指令を行う。これを受けた各クライアントでは、画像変化手段が、サーバからの指令に応じて各自の画面上のオブジェクトの画像を変化させる。
【発明の効果】
【０００８】
本発明では、各クライアントの操作者の顔の表情を検出し、検出された表情に応じて各クライアントの画面上のオブジェクトの画像を変化させるようにしたので、複雑な操作を行うことなく、オブジェクトの表情を操作者の意思通りに自然に変化させることができる。よって、より現実味のあるコミュニケーションが図れる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一形態を図面を参照して説明する。
図１は本形態の仮想現実空間共有システムの機能の概念を示すブロック図である。ネットワーク１には、サーバ端末２、多数のクライアント端末３，４などが接続されている。各クライアント端末３，４には、ＣＣＤカメラや表情検出回路からなる表情検出手段３ａ，４ａが設けられている。これら表情検出手段３ａ，４ａは、各クライアント端末３，４の操作者３Ａ，４Ａの顔の表情が、例えば、笑顔、怒り顔、泣き顔、驚きの顔のいずれであるかを検出する。表情検出手段３ａ，４ａによって検出された表情のデータは、表情データ送信手段３ｂ，４ｂがサーバ側に送る。ただし、この場合、操作者３Ａ，４Ａの顔の表情に変化があったときのみ表情のデータを送信することが好ましい。
【００１０】
サーバ端末２側では、表情変化指令手段２ａが、送信された表情のデータに基づいて、各クライアント端末３，４の画面３ｄ，４ｄ上の操作者に対応するオブジェクトの表情を変化させる指令を行う。これを受けた各クライアント端末３，４では、画像変化手段３ｃ，４ｃが、サーバからの指令に応じて各自の画面３ｄ，４ｄ上のオブジェクトの画像を変化させる。ただし、サーバ端末２に表情のデータを送ったクライアント端末においては、サーバ端末２からの指令を待たずに、自身の画面上の表示を変化させることが好ましい。
【００１１】
図２は本形態の仮想現実空間共有システムの構成例を示すブロック図である。ここでは、例えば２台のサーバ端末１２，１３がインターネットなどのネットワーク１１に接続されている。各サーバ端末１２，１３には、それぞれハードディスク装置などの記憶装置１４，１５が接続されている。記憶装置１４，１５には、仮想現実空間共有システムのプログラムが格納されており、ネットワーク１１を介してクライアント端末１６，１７，１８に仮想現実空間を提供できるようになっている。
【００１２】
仮想現実空間は、各クライアント端末１６，１７，１８の後述のモニタ上で画像表示される。この仮想現実空間では、各クライアント端末１６，１７，１８を操作する操作者の分身のオブジェクトが表示され、キーボードやマウスなどを操作することにより、空間内でその体の各部や顔の表情を自由に動かすことができる。また、操作者の分身のオブジェクト以外にも、背景の建物なども動かすことができる。
【００１３】
また、ネットワーク１１には、複数のサービス提供者端末１９，２０が接続されている。サービス提供者端末１９，２０は、ネットワーク１１を介して仮想現実空間の提供を受けるとともに、クライアント端末１６，１７，１８に対して所定のサービスを提供できるようになっている。
【００１４】
次に、各端末の具体的な構成について説明する。
図３はサーバ端末１２の具体的な構成を示すブロック図である。バス３０には、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、通信装置２４、インタフェース２５などが接続されている。ＣＰＵ２１は、ＲＯＭ２２に内蔵されたプログラムに従ってサーバ端末１２全体の動作を制御する。ＲＡＭ２３には、ＣＰＵ２１が各種の処理を実行する上で必要なデータ、プログラムなどが適宜格納されるようになっている。通信装置２４は、ネットワーク１１との間でデータの授受を行う。
【００１５】
インタフェース２５には、記憶装置１４、表示装置２６、マイク２７、スピーカ２８、入力装置２９が接続されている。記憶装置１４は、ハードディスク、光ディスク、光磁気ディスクなどであり、仮想現実空間の提供に必要なプログラムやデータが格納されている。表示装置２６は、ＣＲＴ、ＬＣＤなどからなり、サーバ端末１２が提供する仮想現実空間の画像などが表示される。
【００１６】
マイク２７からは、必要な音声信号が入力され、クライアント端末１６，１７，１８やサービス提供者端末１９，２０に供給される。一方、クライアント端末１６，１７，１８やサービス提供者端末１９，２０から供給された音声信号は、スピーカ２８から出力される。
【００１７】
入力装置２９には、マウス２９ａ、キーボード２９ｂが備えられている。これらマウス２９ａ、キーボード２９ｂによって、必要な指令が行われる。
なお、サーバ端末１３の構成は、サーバ端末１２とほぼ同じなのでここでは説明を省略する。
【００１８】
図４はクライアント端末１６の具体的な構成を示すブロック図である。バス４３には、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、通信装置３４、インタフェース３５などが接続されている。ＣＰＵ３１は、ＲＯＭ３２に内蔵されたプログラムに従ってクライアント端末１６全体の動作を制御する。また、ＲＯＭ３２には、後述する操作者の分身のオブジェクトの顔の画像データが格納されている。ＲＡＭ３３には、ＣＰＵ３１が各種の処理を実行する上で必要なデータ、プログラムなどが適宜格納されるようになっている。通信装置３４は、ネットワーク１１との間でデータの授受を行う。
【００１９】
インタフェース３５には、表示装置３６、マイク３７、スピーカ３８、記憶装置３９、入力装置４０が接続されている。表示装置３６は、ＣＲＴ、ＬＣＤなどからなり、ＣＧ（コンピュータ・グラフィック）の３次元画像や、通常のビデオカメラなどにより撮影された画像が表示される。マイク３７からは、必要な音声信号が入力され、ネットワーク１１を介してサーバ端末１２，１３に供給される。一方、サーバ端末１２，１３から供給された音声信号は、スピーカ３８から出力される。記憶装置３９は、ハードディスク、光ディスク、光磁気ディスクなどであり、仮想現実空間での各オブジェクトの移動操作などに必要なプログラムやデータが格納されている。
【００２０】
入力装置４０には、マウス４０ａ、キーボード４０ｂが備えられている。マウス４０ａは、所定の位置を指定するときなどに使用される。キーボード４０ｂは、所定の文字や記号などを入力するときに使用される。また、入力装置４０には、視点入力装置４０ｃ、移動入力装置４０ｄが設けられている。視点入力装置４０ｃは、クライアント端末１２の操作者の分身のオブジェクトの仮想現実空間内での視点を入力するときに使用される。これにより、オブジェクトの視点を上下左右に移動させたり、オブジェクトの視線の先の画像をズームすることができる。移動入力装置４０ｄは、オブジェクトを前後左右に移動させるときに使用される。
【００２１】
また、インタフェース３５には、ＣＣＤカメラ４１および表情検出回路４２が接続されている。ＣＣＤカメラ４１は、クライアント端末１６の操作者の顔を常時撮影している。この撮影された映像信号は、一定時間毎に表情検出回路４２に取り込まれる。表情検出回路４２は、この映像信号に基づいて、操作者の顔の表情を後述する手順により検出し、その結果をサーバ側に送る。
【００２２】
なお、クライアント端末１７，１８の構成は、クライアント端末１６とほぼ同じなのでここでは説明を省略する。
また、サービス提供者端末１９，２０については、ＣＣＤカメラ４１および表情検出回路４２以外はクライアント端末１６とほぼ同じ構成なので、ここでは説明を省略する。
【００２３】
次に、表情検出回路４２の具体的な構成について説明する。
図５は表情検出回路４２の具体的な構成を示すブロック図である。ローパスフィルタ（ＬＰＦ）４２１は、ＣＣＤカメラ４１から入力された映像信号の高域成分を除去する。人間の顔には毛穴、細かい皺などがあるため、ＣＣＤカメラ４１からの映像信号には、高域成分が大量に含まれている。このため、ローパスフィルタ４２１は、この高域成分を除去する。エッジ検出回路４２２は、ローパスフィルタ４２１から出力されたアナログ信号をディジタル信号に変換し、そのディジタル信号からエッジ検出を行い、さらに、エッジのみにされた映像データを出力する。
【００２４】
パターンマッチング回路４２３は、メモリ４２４に予め格納されている操作者の顔の基本データとして、無表情の顔のデータを読み出し、エッジ検出回路４２２からのデータと比較してパターンマッチングを行い、操作者の撮影された顔の位置と大きさを調整する。すなわち、操作者は、仮想現実空間を利用している間、顔の位置が上下左右、または前後に動いてしまい、基本データの顔の座標位置や大きさが異なってしまう。これでは、正確に現在の顔の表情を捉えることができなくなる。したがって、パターンマッチング回路４２３では、エッジ検出回路４２２からの１フレーム分のデータを基本データと比較し、撮影された操作者の顔が基本データに対して前後、左右、上下にどれだけ移動しているかを検出する。そして、その移動量に基づいて撮影された操作者の顔のデータを基本データと同じ条件に補正する。
【００２５】
ところで、メモリ４２４には、基本データとして、操作者の無表情の顔のデータが格納されているが、顔の表情を特徴づける特徴部分の位置データも格納されている。
【００２６】
図６はメモリ４２４に格納された操作者の顔の基本データの一例を示す図である。顔の基本データ５１は、メモリ４２４に格納されている。また、顔の表情を特徴づける特徴部分として、例えば、左眉左端（点Ｐ１）、左眉右端（点Ｐ２）、口角左（点Ｐ３）、口角右（点Ｐ４）、口中央上端（点Ｐ５）、右目尻（点Ｐ６）、左目尻（点Ｐ７）の各位置が格納されている。各点Ｐ１〜Ｐ７は、例えば、フレーム上のＸＹ座標で格納されている。
【００２７】
図５に戻り、動きベクトル検出回路４２５は、パターンマッチング回路４２３によって大きさや位置が調整された操作者の顔のデータと、メモリ４２４の基本データ５１とを比較し、操作者の顔のデータの図６で示した点Ｐ１〜Ｐ７に対応する点がどれだけ移動しているかを検出する。
【００２８】
図７はＣＣＤカメラ４１で撮像した操作者の顔のデータの一例を示す図である。ここでは、笑顔の状態の例を示す。操作者の顔のデータ５２は、動きベクトル検出回路４２５によって、左眉左端（点Ｐ１１）、左眉右端（点Ｐ１２）、口角左（点Ｐ１３）、口角右（点Ｐ１４）、口中央上端（点Ｐ１５）、右目尻（点Ｐ１６）、左目尻（点Ｐ１７）の各特徴部分が検出され、これらはそれぞれ基本データ５１上の対応する点Ｐ１〜Ｐ７と比較される。これらの比較により、動きベクトル検出回路４２５は、各点Ｐ１１〜Ｐ１７が基本データの対応する点Ｐ１〜Ｐ７からどれだけ動いたかを示す動きベクトルを検出する。これは、各点を含む近辺のいくつかのピクセルを含むブロックのブロックマッチングを行うことで達成される。
【００２９】
図５に戻り、表情判断回路４２６は、動きベクトル検出回路４２５によって求められた動きベクトルと、表情テーブル４２７の表情判断用データとを比較して、現在の操作者の顔の表情を判断する。
【００３０】
図８は顔の表情を判断するための表情テーブル４２７の表情判断用データの一例を示す図である。表情判断用データ５３は、図に示すように、判断すべき表情として「笑顔」、「怒り顔」、「泣き顔」、「驚きの顔」が用意され、それぞれに対して特徴部分の動きベクトルが適度な範囲で与えられている。表情判断回路４２６は、この表情判断用データ５３の各表情において、動きベクトル検出回路４２５によって求められた各特徴部分の動きベクトルと最もマッチしている表情が、現在の操作者の顔の表情と判断する。すなわち、図７のデータ５２であれば、「笑顔」と判断される。
【００３１】
こうして表情の判断を行った表情判断回路４２６は、今回判断された表情が前回の判断と異なる場合のみ、その表情を示す表情コードを図４で示したインタフェース２５に出力し、ＣＰＵ３１に送る。ＣＰＵ３１は、自身のクライアント端末の表情コードが出力されると、その表情コードに対応したオブジェクトの画像データをＲＯＭ３２から読み出し、表示装置３６に表示させる。この場合、オブジェクトの顔の表情の画像を各表情コードに応じてＲＯＭ３２に記憶しておき、表情コードが出力される毎に対応する表情の画像をＲＯＭ３２から読み出して、画面上のオブジェクトの顔の部分に貼り付け表示するようにしてもよいし、あるいは、表情コードに対応する顔および体全体の動作をＲＯＭ３２に記憶しておき、例えば「泣き顔」の場合には涙を拭く動作をさせるなど、表情コードに合わせてオブジェクトを動かすようにしてもよい。
【００３２】
このような画面の表示と同時に、ＣＰＵ３１は、表示コードを通信装置３４、ネットワーク１１を介してサーバ端末１２に送る。これを受けたサーバ端末１２は、ネットワーク１１を介して他のクライアント端末１７、１８に、表情コードとその表示コードを出力したクライアントのＩＤを送る。
【００３３】
表情コードを受け取ったクライアント端末１７、１８は、その表情コードとクライアント端末１６のＩＤに対応するオブジェクトをＲＯＭから読み出して各表示装置上で表示する。
【００３４】
図９は表情コードに関するクライアント端末側の処理手順を示すフローチャートである。〔Ｓ１〕自身の端末の表情検出回路４２から表情コードが出力されたか否かを判断し、出力されればステップＳ２に進み、されなければステップＳ４に進む。〔Ｓ２〕表示装置３６の画面上のオブジェクトの表情を、新たに出力された表情コードに対応する表情に切り換える。ただし、操作者自身のクライアント端末では、操作者の分身のオブジェクトは表示させず、操作者の視点からの仮想現実空間の景色のみを表示させるモードに設定されている場合には、当然、表情の切り換えは行われない。〔Ｓ３〕サーバ端末１２側に表情コードを出力する。〔Ｓ４〕サーバ端末１２から表情コードおよびクライアントＩＤが送られたかいなかを判断し、送られればステップＳ５に進み、送られなければ本フローチャートを終了する。〔Ｓ５〕サーバ端末１２から送られたＩＤに対応するクライアント端末の分身のオブジェクトの表情を、同時に送られた表情コードに対応する表情に切り換える。
【００３５】
図１０は表情コードに関するサーバ端末側の処理手順を示すフローチャートである。〔Ｓ１１〕クライアント端末側から表情コードが入力されたか否かを判断し、入力されればステップＳ１２に進み、入力されなければ本フローチャートを終了する。〔Ｓ１２〕入力された表情コードを他のクライアント端末に送信する。
【００３６】
このように、本形態では、各クライアント端末１６，１７，１８の操作者の顔の表情をＣＣＤカメラ４１などで撮影し、その表情の変化に応じて、仮想現実空間内の各操作者の分身のオブジェクトの顔の表情を変化させるようにしたので、複雑な操作を行うことなく、オブジェクトの表情を操作者の意思通りに自然に変化させることができる。よって、より現実味のあるコミュニケーションが図れる。
【００３７】
なお、本形態では、クライアント端末から表情コードが送られると、サーバ端末側では、他のクライアント端末に対して表情コードのみを送り、これを受けたクライアント端末側で送られた表情コードに対応する画像を自身のＲＯＭ３２から読み出して表示するようにしたが、全ての表示データをサーバ端末からクライアント端末に対して送信するようにしてもよい。
【図面の簡単な説明】
【００３８】
【図１】本形態の仮想現実空間共有システムの機能の概念を示すブロック図である。
【図２】本形態の仮想現実空間共有システムの構成例を示すブロック図である。
【図３】サーバ端末の具体的な構成を示すブロック図である。
【図４】クライアント端末の具体的な構成を示すブロック図である。
【図５】表情検出回路の具体的な構成を示すブロック図である。
【図６】メモリに格納された操作者の顔の基本データの一例を示す図である。
【図７】ＣＣＤカメラで撮像した操作者の顔のデータの一例を示す図である。
【図８】顔の表情を判断するための表情テーブルの表情判断用データの一例を示す図である。
【図９】表情コードに関するクライアント端末側の処理手順を示すフローチャートである。
【図１０】表情コードに関するサーバ端末側の処理手順を示すフローチャートである。
【符号の説明】
【００３９】
２２  カメラ，  ２３  メカキャプチャボタン，  ２８  LCD，  １３１  CPU，  １３６  表示制御部，  ２０１  レンズ部，  ２０２  CCD，  ２１０  カメラ制御部，  ２１１  レンズ部駆動回路，  ２２１  EVFエリア，  ２２７  ソフトキャプチャボタン，  ２６０  スポット測光用ポインタ，  ２６１  AF枠，  ３６１  AE領域
１  ネットワーク、  ２  サーバ端末、  ２ａ  表情変化指令手段、  ３  クライアント端末,  ３Ａ  操作者、  ３ａ  表情検出手段、  ３ｂ  表情データ送信手段、  ３ｃ  画像変化手段、  ３ｄ  モニタ、  １１  ネットワーク、  １２  ，  １３  サーバ端末、  １４  ，  １５  記憶装置、  １６  ，  １７  ，  １８  クライアント端末、  ３１  ＣＰＵ、  ３２  ＲＯＭ、  ４１  ＣＣＤカメラ、  ４２  表情検出回路。
【図１】
2007207278.tif 000003
【図２】
2007207278.tif 000004
【図３】
2007207278.tif 000005
【図４】
2007207278.tif 000006
【図５】
2007207278.tif 000007
【図６】
2007207278.tif 000008
【図７】
2007207278.tif 000009
【図８】
2007207278.tif 000010
【図９】
2007207278.tif 000011
【図１０】
2007207278.tif 000012