JP2004178036A - Device for presenting virtual space accompanied by remote person's picture - Google Patents
Device for presenting virtual space accompanied by remote person's picture Download PDFInfo
- Publication number
- JP2004178036A JP2004178036A JP2002340275A JP2002340275A JP2004178036A JP 2004178036 A JP2004178036 A JP 2004178036A JP 2002340275 A JP2002340275 A JP 2002340275A JP 2002340275 A JP2002340275 A JP 2002340275A JP 2004178036 A JP2004178036 A JP 2004178036A
- Authority
- JP
- Japan
- Prior art keywords
- image
- information
- virtual space
- data
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
動画をリアルタイムに転送することにより、コミュニケーションや協調作業を行う撮影・表示装置に関する。
【0002】
【従来の技術】
利用者の画像を撮影してリアルタイムに転送し、その映像を視聴することにより、遠隔地においてもその場に居合わせているようなコミュニケーションを図る装置が実用に供されている。その最も典型的なものは、テレビ会議システムと呼ばれており、遠隔地における送信者の姿をカメラで撮影し、受信側の表示システムに、音声と共にリアルタイムで送信するものである。画像を伴うことにより、電話をはじめとする音声のみで行われる通信システムよりも、より自然で情報量の多いコミュニケーションを図ることが出来る。
【0003】
また、この画像の人物が写っている部分を背景が写っている部分から分離して、現実の背景映像の代わりに、計算機上で構築した仮想空間の映像と人物映像とを合成することによって、遠隔映像の転送システムに、より一層の付加価値を与えるための研究が各地で行われている。これらの研究はビデオアバタと呼ばれ、多くの実施例が存在する。
【0004】
しかし、利用者を撮影するカメラが一台である場合には、一方の方向の映像しか得ることが出来ないため、視点位置や利用者の立ち位置が変化した場合に対応するような映像の変化を得ることが出来ない。このため、利用者(送信側)の映像が常に受信システム上で正面を向いた映像になるなどの場合が現状においては多々ある。たとえば特許文献1では、このような問題を考慮したビデオアバタの改良例に関するものである。顔部分の映像を複数方向から撮影し、これらを3次元情報に変換したもの、あるいは全方向からの映像を全て送信し、体を表現する3次元形状モデルと合成することによって仮想空間内の任意の位置からの映像を得ることが出来るようにする。また、映像の転送は情報量が多く、通信ネットワークを圧迫するため、顔部分の映像に絞ることで映像転送量を削減するものである。しかし、顔などの比較的単純で一定である構造については三次元情報の再現も容易であるが、手を含めた上半身などの、複雑な形状の三次元情報を撮影される画像の情報のみから再現することは難しい。また利用者の映像を三次元化されたモデルに映像を貼り付けることで得られる簡易三次元形状のモデルは、計算精度の問題から形状が単純なものとなり、現実の形状と比較すると間違った三次元かがなされた形状部分が出来てしまうことも多いため、不自然な印象を与えることがある。
【0005】
【特許文献1】
特許出願平10−257702号公報
【0006】
【発明が解決しようとする課題】
映像受信者と映像送信者が仮想空間内でどのような位置関係に存在するかによって、仮想空間の表示装置が必要とする画像の情報が異なる。例えば、仮想空間内で、受信者と送信者が離れた距離にいる場合には、送信者の全身の映像が小さく表示される。逆に受信者と送信者が非常に近い距離にいる場合には、送信者の上半身、特に顔部分のみが大きく表示される。また、受信者が送信者の正面に対してどのような角度に存在するかに応じて、見える映像が異なるならば自然な印象を与えることが出来る。例えば、受信者が送信者の横側にいる場合、受信者からみた送信者の映像は側面の映像のみとなるべきである。しかし、双方の位置関係が明確に把握できない状態でこれらの映像を再現しようとする場合、これらの映像情報はある固定された角度からのものとなり、また画像の品質も常に一定のものが送られることになる。
【0007】
また、映像を転送するための回線の転送容量には限りがあるため、多くの要望を同時に満たした映像を転送することは困難なものとなる。例えば、滑らかな動きと大きな映像イメージを共に満たす動画を送ることは難しい。滑らかな動きを達成するためには、映像イメージは小さいものとなり、映像イメージを大きくするとフレームレートの少ない映像となってしまう。また、各方向から見た映像の全てを転送すると、回線の転送容量を大幅に圧迫することになる。
【0008】
【課題を発明するための手段】
本発明では、受信および表示システムは、仮想空間内での送信者と受信者の位置関係を元に必要な映像の条件を判定する。この情報は撮影システムに転送され、撮影システムは複数のカメラによって撮影されたうちから選択された角度の映像を間引き処理やトリミング処理などの手法によって、時間的、空間的に適度なサイズの画像に改変し、表示システムに転送する。このことによって、必要とされる映像を少ない転送容量で送信することができる。
【0009】
【発明の実施の形態】
図1は、当発明の一実施例を図示したものである。本発明は、大きくわけて撮影システム101、表示システム102と、その間を接続する通信ネットワーク設備103によって構築される。
【0010】
図2は撮影システム101の詳細構成例である。複数台のカメラ機器201〜205が、送信利用者200の周囲を取り巻くように設置されている。また、利用者200の周囲にはクロマキー処理用に同一色の背景布207が設置されている。また、送信利用者200が操作する入力機器209と送信利用者200の下半身部分も、映像情報として取得を行われることがないように同一の色の布209によって包まれているものとする。これらのカメラの映像情報は、情報処理装置210に転送される。各カメラ201〜205にはそれぞれ固有のID番号が振られており、情報処理装置210ではこのID番号をもとに取り込む映像を選択することが出来る。情報処理装置は、これらのカメラの映像を受信する機能と、ネットワーク103の情報を送受信する機能、またそれらの情報を計算処理するための機能を有する。
【0011】
図3は情報処理装置210の構成例を表したブロック図を挙げる。CPU(中央演算処理装置)301は、主記憶装置302に記録されているプログラムに従い各種の処理を実行する。主記憶装置302と外部記憶装置304には制御処理を実行するにあたって必要となるプログラムやデータが記憶される。外部記憶装置304にはハードディスクドライブやその他の既存の大容量メディアが使用されるものとする。入出力インタフェース部303では、カメラ装置201〜205とネットワークへの入出力データをやり取りするために必要なデータの転送機構507に接続されている。出力機器305は、現在の処理状況を送信利用者に伝えるための出力機器である。また、入力機器209は、送信利用者がいくつかの命令を伝えることの出来る入力機器である。本実施例において入力機器209は足によって操作することの出来る入力機器であるものとする。
【0012】
図4は表示システム部分の構成例である。映像表示装置401が、受信利用者400の前に置かれる。この装置には、情報処理装置402が出力する映像が表示される。受信利用者400は入力機器403を介して、情報処理装置402に命令を与えることが出来る。この情報処理装置402は、3次元形状データや2次元映像データ、2次元動画像データを用いて各種映像を作成する機能と、ネットワークの情報を送受信する機能、またそれらの情報のための計算処理を行うための機能を有する。
【0013】
図5は情報処理装置402の構成例を表したブロック図を挙げる。CPU(中央演算処理装置)501は、主記憶装置502に記録されているプログラムに従い各種の処理を実行する。主記憶装置502と外部記憶装置504には制御処理を実行するにあたって必要となるプログラムやデータが記憶される。外部記憶装置504にはハードディスクドライブやその他の既存の大容量メディアが使用されるものとする。入出力インタフェース部503では、ネットワーク103への入出力データをやり取りするために必要なデータの転送機器507や、映像表示装置401に映像を出力するための処理能力を備えているものとする。
【0014】
図6は情報処理装置402並びに情報処理装置210の内部データによって構成される仮想空間情報の模式図を挙げる。
【0015】
背景となる仮想空間601は、表示システムの保持する背景オブジェクト602、603の3次元形状データなどよって構成されている。この仮想空間内に、送信利用者200、受信利用者400の行動を表すキャラクタ610、620が配置されるものとする。
【0016】
受信利用者のキャラクタが存在する仮想空間内の位置621と、そのキャラクタが向いている方向622が定義され、受信利用者の操作に従って制御される。
【0017】
また、この仮想空間の中に送信利用者を模したキャラクタ603も構成され、背景空間601の中に配置される。この送信利用者のキャラクタが存在する仮想空間内の位置611と、そのキャラクタが向いている方向612も、送信利用者の操作に従って制御される。
【0018】
この送信利用者のキャラクタ610を構成する方法を表したものが図7である。
【0019】
キャラクタの足部分703は3次元形状データによって構成される。この形状データはアニメーション情報を保有し、スクリプトデータを受け取って形状を変形することが出来る。図8はアクションをあらわすアニメーションデータの構成例である。801に記載された数値は動作パターンをあらわすIDデータである。スクリプトデータでは、このIDデータが転送されるものとする。スクリプトデータを実行するためには、保有している一連のアニメーションデータの中から、スクリプトのID番号と、データ801のアニメーションが一致するものを検索する。アニメーションデータのロードは、ポリゴンモデルの各関節データの呼び出しとして行われる。アニメーションデータ800内の802には基本フレームの数が記載される。また803にはフレームどうしの時間間隔データが記載される。804〜には、各関節の回転情報データが記載される。アニメーション開始時刻から表示時刻までの時間を算出し、関節の回転情報データをよみだしてポリゴンを変形させることでアニメーション動作を行う。
【0020】
キャラクタの上半身部分702は、ポリゴン上に動画のあるフレーム情報を表示することで示される。この動画は送信者200の映像を撮影した動画像の一部分712からクロマキー色部分を取り除いたものによって得られる。この送信者の下半身部分はカバー208によって囲まれているため、上記画像には取り込まれない。動画が表示されるポリゴンは送信キャラクタの仮想空間上の位置から、受信者の仮想空間上の位置に常に表面を向けるように回転する。このように向きを変化させることで映像の正面を利用者に提示するためのポリゴンを、以下ではビルボードと呼称する。
【0021】
キャラクタの顔部分701は、上半身部分と同様にビルボードによって構成される。このビルボードに表示される動画は送信者200の映像を撮影した動画像の一部分711からクロマキー部分を取り除いたものによって得られる。このビルボードに描かれる際の画像解像度は、キャラクタの顔部分701とキャラクタの上半身部分702とで異なり、通常、顔部分の映像701の方が画素の密度が高い。
【0022】
以下、610のような利用者の行動を反映する仮想空間内のキャラクタをアバタと呼称する。
表示システム210の内部データとして構築された仮想空間600において、位置611(S_p)に送信者のアバタが存在している。また、この送信者のアバタ610が向いている方向612をS_dとする。また仮想空間600内の別の位置621 (O_p)に受信者400の仮想的な視点位置が存在している。仮想空間内で受信者の向いている方向622がO_dであるものとする。これらの値はベクトル値で表現されるものとする。
【0023】
汎用ネットワーク103は、表示システムが互いに転送するデータを伝達する機能を有するものとする。また、各システムが、ある特定の信号をネットワークに入力することによって、現在のネットワークで転送に利用できる転送容量の情報を得ることが出来る機能を有するものとする。
【0024】
本実施例において表示システムから撮影システムに転送されるデータ構造体を図9に挙げる。また、撮影システムから表示システムに転送されるデータ構造体を図10に挙げる。これらの構造体の内部データの意味に関しては、以下に述べる処理作業の解説に伴って説明を加える。
【0025】
以下では、上記の各装置が動作する処理の流れを順序だてて解説する。図11と図12は一連の動作順序をブロック図として表現したものである。
【0026】
図11は、撮影システムから転送するデータの設定情報を定める処理を記述したものである。また、図12は、撮影システムから、表示システムにデータを転送する処理を記述したものである。どちらの処理も、情報処理装置210, 402がCPU301, 501内に保有しているタイマーの機能を利用して、規定された時間毎に呼び出され、実行される処理である。
【0027】
図11の一連の処理を、以下では、情報取得スレッドと呼ぶ。この処理はあらかじめプログラム内で定められた設定値に従い、秒1回から数回程度の頻度で行われる。この情報取得スレッドは、情報処理402に置かれたプログラムと情報処理装置210にその作業内容が記載されており、情報処理402のタイマーの機能によって作業が開始される。
【0028】
図12の一連の処理を、以下では、画像転送スレッドと呼ぶ。この処理は秒数回から数十回の割合で呼び出される処理であり、呼び出される頻度は情報取得スレッドによって設定される。この画像転送スレッドは、情報処理210に置かれたプログラムと情報処理装置402にその作業内容が記載されており、情報処理210のタイマーの機能によって作業が開始される。
【0029】
まず、図11に従って情報取得スレッドの一連の動作を記述する。
表示利用者400のアバタ620位置に対する撮影利用者200のアバタ610の相対位置を位置ベクトル611(S_p) から位置ベクトル621(O_p)を引くことにより求める(工程1101)。
この向きと受信者のアバタ620の向いている方向622との角度差を下式(数1)に基づいて計算する(工程1102)。
【0030】
【数1】
cosθ=(S_p−O_p)・O_d/(|S_p−O_p||O_d|)
アバタ610が表示環境の範囲内にいるかを判定するために、この値を映像表示機器402の画角W_hと比較する(工程1103)。
cosθ<=cos(W_h)ならば、工程1104に進む。
もしcosθ<cosW_hならば、表示範囲外であるため、データ転送の必要が無い。この場合、データ構造体の距離情報に0を書きこみ(工程1106)、工程1107に進む。
工程1104では、送信者のアバタが受信者に向けている向きφを計算する。上方向ベクトルの周りに(O_p−S_p)を−S_dだけ回転させたベクトルをO_p1とする。このベクトルは、送信者のアバタから見たときの受信者の相対位置を表現するものとなる。O_p1を曲座標表現に変換したものをrφとする。φは原点から見たO_p1の向きを表現する単位長のベクトルであり、rは原点からO_p1までの距離(すなわちO_pからS_pまでの距離)をあらわす値である。
【0031】
データ構造体1000の送信情報1001にrを書き込み、また1002にφを書き込み、工程に進む。(工程1105)
表示システムは撮影システム101に向けてデータ構造体1000を送信する。(工程1107)
撮影システムは表示システムからのデータ構造体1000を受け取る。(工程1108)データ構造体の角度情報1002を読み取り、該当する角度に最も近い位置にあるカメラを選択する(工程1109)。このカメラIDと角度の関係は後述の図14に記載されている。
工程1110では、データ構造体の距離情報1001から必要な解像度を算出する。必要な解像度は撮影システム側に定義されたテーブルを参照することで得られる。このテーブルの構成例を表現したものが図13のテーブル1300である。
【0032】
このテーブルでは、顔画像の転送に必要な各種のデータが、距離値に関連付けられて定義されている。
【0033】
テーブルに記載された距離情報(列1301)を順に読み出していき、データ構造体1000のデータ1001から読みこまれた距離の値に最も近いものが見つかった場合、その距離値に関連付けられた情報を顔画像用の解像度情報として読み取る。このデータは列1302,1303に記述された二つの整数値D1,D2から構成されており、画像の解像度を変化させるためのデータとして後述の工程で用いられる。また、1フレームあたりに必要な顔画像のデータサイズを列1304から読み取る。これらの各値を主記憶上に記録し、工程1111に進む。
【0034】
また、同様のテーブルが上半身の解像度情報を取得するために別途用意されており、これらの各データも同様に読み取る。
【0035】
工程1111では、ここまでの工程で得られた解像度情報から、送信のフレームレートを算出する。ネットワーク103に命令を送信し、現在の回線で利用可能な一秒あたりのデータ量を受信する。一秒あたりの転送可能データ量を、顔画像用映像の転送データ転送容量と、上半身画像用の転送データ転送容量とに振り分ける。この比率値には、システム固定値として与えられた合計して1となる正の小数値が用いられる。また送信者200が入力機器305で数値を入力することによって、この比率を変動させることが出来る。
【0036】
顔画像のデータ転送容量を、工程1110フレームに必要なデータサイズで割ったものを顔画像のフレームレートとする。ただし、送信機構処理可能なフレームレートを超えている場合、その上限値を顔画像のフレームレートとする。また、距離情報1001に0が記載されていた場合には、顔画像のフレームレートには0が設定される。
【0037】
同様に、上半身画像のデータ転送容量を1フレームの上半身画像に必要なデータサイズで割ったものを上半身画像のフレームレートとする。ただし、送信機構処理可能なフレームレートを超えている場合、その上限値を上半身画像のフレームレートとし、距離情報1001に0が記載されていた場合には、上半身画像のフレームレートには0が設定される。
顔画像のフレームレート、上半身画像のフレームレートから画像転送スレッドの呼び出し間隔をミリ秒単位で求める。この値ごとに情報処理装置210のタイマー機能が画像転送スレッドを呼び出すように設定する(工程1112)。
【0038】
以上の工程により、送信システムからデータを転送するための設定情報が定められる。
以上のデータ受信処理のあと、次のデータ1000が表示システム102からやってくるまでの間、撮影システム101はこれらの設定された値を用いて画像転送スレッドの処理を繰り返す。
【0039】
続いて、画像転送スレッドの動作を記述する。
【0040】
画像転送スレッドは、工程1112で設定された情報処理装置210のタイマー機能によって起動される。以下、顔画像転送のスレッドが起動した場合を対象にして一連の動作を記述する。
【0041】
工程1201では、入力機器209を用いて送信者がインプットする入力情報を情報処理装置210に取り込む。この情報はアバタキャラクタの移動や足部分を動かすスクリプト命令として用いられる。工程1202では、工程1201で取り込んだ情報を転送用のデータ構造体900のスクリプト記述領域902に書き込む。またキャラクタの移動情報を903に書き込む。
工程1203〜1204では、送信利用者の画像(顔画像)を作成する。
【0042】
情報処理装置210にはプログラムの一部として、図14に示すように、画像を取り込む領域を定義したテーブル1400が定義されている。このテーブルの情報は、カメラのID番号C_ID(列1401)、回転角度R(列1406)と4つの数値w0,w1,h0,h1(列1402〜1405)によって構成されている。
工程1109で選択されたカメラのIDを、列1401から検索する。この値に結び付けられた領域の情報をテーブル1400の列1402〜1405から読み出す(工程1203)。
工程1204では、カメラ番号C_IDに相当するカメラの画像を読み取る。この画像は電子データとして情報処理装置210へと転送される。
【0043】
工程1204で撮影された画像のうち(w0,h0)−(w1,h1)の範囲の映像が、転送映像として送信される領域である。この範囲は図7の撮影領域範囲711または712に相当する。図15の1501は、この(w0,h0)−(w1,h1)でしめされる範囲の画像を表現したものである。この画像1501は画素1510によって構成されている。画素1510は、赤値1511、緑値1512、青値1513を示す3組の数と、透明度を示す数1514によって構成されている。この領域の映像の解像度を、距離情報1001から算出された解像度に落として、映像を転送用データ構造体に書き込む。このために、h0ライン番目の水平ラインについて、w0からw1までの画像を図15に示されるように画素を、工程1110で設定されたD1,D2の情報を用いて間引きしながら、データ構造体の画像領域に書き込む(工程1205)。ただし、図15の画像1501のうち、黒で塗りつぶされた領域であり転送されない。転送される領域はそれ以外の領域であり、間引き後の映像は、画像1502で示される映像になる。また、この転送のさい、赤値1511、緑値1512、青値1513の組み合わせによって示される色情報が、クロマキー色の色情報と一致していた場合には、透明度の情報1514には透明をあらわす値を書き込む。それ以外の時には不透明を表す値を書き込む。
【0044】
工程1206では、データ構造体900のデータ領域901に画像のIDを書き込む。このIDは身体部分、顔、上半身のいずれかを現す固定値(ID_FACE, ID_UPPER)のうちどちらかである。また、データ領域904に画像1502の横幅、データ領域905に画像1502の縦幅の値を書き込む。
【0045】
以上の工程1201〜1206で作成された転送用データ構造体900の情報を送信する(工程1207)。
【0046】
表示システムは、転送用データ構造体900を受け取る(工程1208)。
【0047】
工程1209では、キャラクタ移動データ903に基づいて、アバタの仮想空間内の位置データを移動させる。また、移動に伴うアニメーション処理をロードする。
【0048】
工程1210では、アバタの下半身を構成する3次元形状モデル703に、行動情報領域のスクリプト902に関連付けられたアニメーション処理を行わせる。
【0049】
既になんらかのアニメーション処理がロードされている場合や、移動のための歩行アニメーションがロードされている場合、これらのアニメーションのブレンド処理を行う。ただしアニメーションの設定とブレンド処理に関しては既存の手法を用いるものとする((工程1211)。
【0050】
工程1212では画像データを読み込む。ヘッダ領域のデータ901を確認し、ID_UPPERであった場合には、上半身画像、ID_FACEであった場合には、顔画像が送られてきたものと判断し、画像領域906の画像データを、ポリゴン101、またはポリゴン102のテクスチャ領域上にコピーする。
【0051】
この処理によりテクスチャ更新がされなかったポリゴンに関しては、前回と同じテクスチャを用いてレンダリングが行われる。
【0052】
工程1213では、利用者400からの入力情報読み取りを行う。
【0053】
表示システム401は、受信利用者400が入力機器403に入力した情報をインタフェース503を通して取得し、その入力情報を反映して、仮想空間内での受信者の視点位置621および角度622を変更する。
【0054】
工程1214では、画面の表示を行う。背景映像とアバタモデルに対してレンダリング処理を行い、映像を作成し、映像表示装置401に表示する。また、このレンダリング処理の際には、画像データに記載された透明度の情報を用いてレンダリングを行うことで、人物の背景情報が正しく表示される。
【0055】
以上で、画像転送スレッドの一連の動作が終了する。
【0056】
呼び出された画像転送スレッドが上半身画像用のスレッドであった場合には、テーブル1300と、テーブル1400には上半身画像用のものが使用され、また工程1212ではポリゴン102のテクスチャ領域に画像が転送される。それ以外の点に関しては、上記で解説を行った顔画像の転送手段と同一の工程が行われる。
【0057】
また前述の実施例において、3次元形状モデルを利用して表示したアバタの足部分103の代わりに、あらかじめ撮影ずみの映像の動画像で置き換えた場合の実施例を解説する。
このときのアバタキャラクタの構成は図16の1600のようになる。顔部分1601、上半身部分1602、下半身部分1603はそれぞれビルボードによって作成されている。
【0058】
静止、歩行、走行、着席などの各アクションにおける下半身部分の映像を複数の方向から撮影した動画が、あらかじめ記憶装置504に保存されている。この映像において足が写っている部分は各画像で同じ大きさに見える様にスタビライズ処理が行われ、背景の切り抜き処理が行われている。また、各動画の開始部分と終了部分の映像に対してはモーフィングと呼ばれる画像処理が行われている。この動画処理により、各動画を連続して再生した際に、つながった映像として表示されるようになっている。
【0059】
また、図17に示されるテーブル1700が保存され、これらの動画ファイル1620と、アクション内容、撮影した角度とを対応させるための情報が定義されている。キャラクタの足部分1603はビルボードデータによって構成されている。
前述の実施例において、工程1209〜1211で行われた3次元モデルのアニメーション処理の変わりに、以下の処理が行われる。
【0060】
まず、構造体900に登録されているデータ902に記述されている値を読み取る。この値をアクション値として保存する。
【0061】
また、工程1104で定められた角度の値を参照する。
【0062】
テーブル1700を検索し、列1701に書き込まれたアクションIDデータが現在のアクション値902と同一なものの内で、参照する角度と列1702の角度情報が最も近いデータのファイル名を、列1703から読み出す。
【0063】
ビルボード1603にはローカルデータとして保存された動画像1610〜1613のなかから、選択された映像が表示される。
【0064】
各情報が変化して新たに別の動画が選択されるまでの期間、この動画映像が繰り返し表示される。
【0065】
また前述の各実施例において、撮影システムと表示システムを互いに組み合わせることにより、双方向で映像を送りあうシステムを構成することが出来る。
【0066】
【発明の効果】
本発明によれば、仮想空間上の位置に合わせて角度や解像度を変化させるアバタキャラクタを視聴することが出来る。
【0067】
また、第一の実施例においてはポリゴンを、第二の実施例においてはローカル情報として蓄えられた動画映像を、アバタキャラクタの表示の一部に用いることにより、画像の転送に伴って発生するネットワーク負荷の量を削減することが出来る。
【0068】
また、フレームレートや解像度の操作により、このシステムが動作する際にネットワークに与える負荷の量を制御することが出来る。
【図面の簡単な説明】
【図1】本発明の第一の実施例におけるシステム全体の構成
【図2】送信システム構成
【図3】送信システム用情報処理装置構成
【図4】受信システム構成
【図5】送信システム用情報処理装置構成
【図6】仮想空間構成模式図
【図7】アバタ構成模式図
【図8】アニメーションデータの構成例
【図9】画像転送スレッドでの通信用データ構造体模式図
【図10】情報取得スレッドでの通信用データ構造体模式図
【図11】情報取得スレッドの動作内容
【図12】画像転送スレッドの動作内容
【図13】アバタ間の距離情報と、解像度の間引き情報、データサイズの関係をしめすテーブル
【図14】各カメラと、そのトリミング領域、角度の情報を示すデータ
【図15】撮影画像から転送用画像を作成する模式図
【図16】実施例2におけるアバタ構成模式図
【図17】各アクションと表示角度から動画ファイル名を検索するテーブルの模式図
【符号の説明】
101 撮影システム、102 表示システム、103 ネットワーク、200 画像送信側利用者、201 カメラ、202 カメラ、203 カメラ、204 カメラ、205 カメラ、207 背景用クロマキー布、208 下半身部分隠蔽用クロマキー布、209 画像送信利用者用入力装置、210 送信システム用情報処理装置、301 中央演算ユニット(CPU)、302 主記憶装置、303 入出力インタフェース装置、304 外部記憶装置、305 画像送信利用者用出力装置、307 ネットワークインタフェース装置、400 画像受信利用者、401 映像表示装置、402 受信システム用情報処理装置、403 画像受信利用者用入力装置、501 中央演算ユニット(CPU)、502 主記憶装置
503 入出力インタフェース装置、504 外部記憶装置、505 画像受信利用者用出力装置、507 ネットワークインタフェース装置、601 仮想空間、602 背景オブジェクト、603 背景オブジェクト、610 送信利用者アバタ、611 送信利用者アバタ位置、612 送信利用者アバタ向き、620 受信利用者アバタ、621 受信利用者アバタ位置、622 受信利用者アバタ向き、701 顔表示用ビルボード、702 上半身表示用ビルボード、703 下半身表示用ポリゴンデータ
711 顔画像撮影領域、712 上半身撮影領域、800 アニメーションデータ、801 動作パターンID、802 基本フレームの個数、803 基本フレーム間の時間間隔データ、804 関節の回転情報データ、900 データ構造体、901 画像種類のID番号、902 アバタのアニメーション動作を記述するスクリプト情報の記述領域、903 アバタの移動情報を記述する領域、904 転送画像の横長さ情報、905 転送画像の縦長さ情報、906 転送される画像データの領域
1000 データ構造体、1001 アバタの距離情報、1002 アバタの角度情報、1101 アバタ間の相対位置の算定、1102 相対角度の算定、1103 表示位置の視界内にアバタが入っているかの判定、1104 送信者をあらわすアバタの向けている向きと距離の計算、1105 データ構造体1000への書き込み、1106 アバタが視界内に入っていない場合の処理、1107 データ構造体の送信、1108 データ構造体の受信、1109
必要な角度を写しているカメラの選択
1110 距離情報から解像度を算出、1111 フレームレートを算出、1112 画像転送スレッドをタイマーに設定、1201 入力機器からの入力情報の取得、1202 アバタ操作命令のデータ構造体900への書き込み、1203 撮影用カメラの選択、1204 カメラによる画像の撮影、1205 トリミング処理と間引き処理によって撮影画像から必要部分を抽出する処理、1206 画像データのデータ構造体900への書き込み、1207 データ構造体900の送信、1208 データ構造体900の受信、1209 アバタキャラクタの位置更新と歩行用アニメーションの読み込み、1210 アニメーション情報の読み込み、1211 アニメーションのブレンディング、1212 データ構造体900からの画像の読み込み、1213 入力装置403からの入力情報の読み込みと処理、1214 レンダリング処理と映像の表示、1301 この列には、距離情報の数値が記載される、1302 この列には値D1の数値が記載される、1303 この列には値D1の数値が記載される、1302 この列には間引き後のデータサイズ値が記載される、1401 この列には、カメラのIDが記載される、1402 この列には、トリミングの左端が記載される、1403 この列には、トリミングの右端が記載される、1404 この列には、トリミングの上端が記載される、1405 この列には、トリミングの下端が記載される、1406 この列には、カメラが撮影する利用者の角度が記載される、1501 間引き処理前の画像(トリミングされた撮影画像)
1502 間引き処理後の画像(転送用画像)、1510 画像を構成する画素の構成、1511 画素の赤情報、1511 画素の緑情報、1511 画素の青情報、1511 画素の透明度をあらわす情報
1601 顔表示用ビルボード、1602 上半身表示用ビルボード、1603 下半身表示用ビルボード、1611 顔画像撮影領域、1612 上半身撮影領域、1620 各アクションに対応した下半身の動画映像、1701 アクションID、1702 角度情報、1703 動画像ファイルのファイル名[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a photographing / display device that performs communication and cooperative work by transferring a moving image in real time.
[0002]
[Prior art]
2. Description of the Related Art A device that captures an image of a user, transfers the image in real time, and views the image, thereby realizing communication as if the user is present at a remote place has been put to practical use. The most typical one is called a video conferencing system, which captures the image of a sender in a remote place with a camera and transmits the image together with voice to a display system on the receiving side in real time. With the accompanying image, communication with more information and a larger amount of information can be achieved than in a communication system using only voice such as a telephone.
[0003]
Also, by separating the part of the image where the person is shown from the part where the background is shown, instead of the actual background image, the image of the virtual space constructed on the computer and the person image are synthesized, Research has been conducted in various places to add further added value to a remote video transfer system. These studies are called video avatars and there are many examples.
[0004]
However, if only one camera is used to capture the user, only one direction of video can be obtained. Cannot be obtained. For this reason, there are many cases where the image of the user (transmitting side) always becomes a front-facing image on the receiving system. For example,
[0005]
[Patent Document 1]
Patent application No. 10-257702
[0006]
[Problems to be solved by the invention]
The image information required by the display device in the virtual space differs depending on the positional relationship between the video receiver and the video sender in the virtual space. For example, when the receiver and the sender are at a distance from each other in the virtual space, a small image of the whole body of the sender is displayed. Conversely, if the receiver and the sender are very close, only the upper body of the sender, especially the face, is displayed large. In addition, a natural impression can be given if the viewed image is different depending on the angle of the receiver with respect to the front of the sender. For example, if the recipient is on the side of the sender, the sender's view from the recipient should be only the side view. However, when trying to reproduce these images in a state where the positional relationship between the two cannot be clearly grasped, these image information comes from a fixed angle, and the image quality is always constant. Will be.
[0007]
Further, since the transfer capacity of the line for transferring the video is limited, it is difficult to transfer the video that simultaneously satisfies many demands. For example, it is difficult to send a moving image that satisfies both smooth motion and a large video image. In order to achieve smooth movement, the video image is small, and if the video image is large, the video image has a low frame rate. In addition, transferring all of the images viewed from each direction greatly reduces the transfer capacity of the line.
[0008]
Means for Inventing the Object
In the present invention, the receiving and displaying system determines necessary video conditions based on the positional relationship between the sender and the receiver in the virtual space. This information is transferred to the image capturing system, which converts the image at the selected angle from among the images captured by the multiple cameras into an image of an appropriate size in terms of time and space by means of thinning and trimming. Modify and transfer to display system. As a result, required video can be transmitted with a small transfer capacity.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 illustrates an embodiment of the present invention. The present invention is broadly constructed by an
[0010]
FIG. 2 is a detailed configuration example of the
[0011]
FIG. 3 is a block diagram illustrating a configuration example of the
[0012]
FIG. 4 is a configuration example of a display system part. The
[0013]
FIG. 5 is a block diagram illustrating a configuration example of the
[0014]
FIG. 6 shows a schematic diagram of virtual space information constituted by the
[0015]
A
[0016]
A
[0017]
Further, a
[0018]
FIG. 7 shows a method of forming the
[0019]
The
[0020]
The
[0021]
The
[0022]
Hereinafter, a character in the virtual space that reflects the action of the user such as 610 is referred to as an avatar.
In the virtual space 600 constructed as the internal data of the
[0023]
The general-
[0024]
FIG. 9 shows a data structure transferred from the display system to the photographing system in this embodiment. FIG. 10 shows a data structure transferred from the imaging system to the display system. The meaning of the internal data of these structures will be described along with the explanation of the processing operations described below.
[0025]
In the following, the flow of processing in which the above devices operate will be described in order. FIGS. 11 and 12 are block diagrams showing a series of operation order.
[0026]
FIG. 11 describes processing for determining setting information of data to be transferred from the imaging system. FIG. 12 describes processing for transferring data from the imaging system to the display system. In both processes, the
[0027]
The series of processes in FIG. 11 is hereinafter referred to as an information acquisition thread. This process is performed at a frequency of once to several times per second according to a set value predetermined in the program. The information acquisition thread has a program placed in the
[0028]
The series of processes in FIG. 12 is hereinafter referred to as an image transfer thread. This process is called at a rate of several seconds to several tens of times, and the frequency of the call is set by the information acquisition thread. The image transfer thread has a program placed in the
[0029]
First, a series of operations of the information acquisition thread will be described with reference to FIG.
The relative position of the
The angle difference between this direction and the
[0030]
(Equation 1)
cos θ = (S_p−O_p) · O_d / (| S_p−O_p || O_d |)
This value is compared with the angle of view W_h of the
If cos θ <= cos (W_h), the process proceeds to step 1104.
If cos θ <cosW_h, there is no need to transfer data because it is outside the display range. In this case, 0 is written in the distance information of the data structure (step 1106), and the process proceeds to step 1107.
In
[0031]
Write r in the
The display system transmits the
The imaging system receives the
In
[0032]
In this table, various data necessary for transferring a face image are defined in association with distance values.
[0033]
The distance information (column 1301) described in the table is read in order, and when the distance closest to the value of the distance read from the
[0034]
Further, a similar table is separately prepared for obtaining resolution information of the upper body, and these data are read in the same manner.
[0035]
In
[0036]
A value obtained by dividing the data transfer capacity of the face image by the data size required for the
[0037]
Similarly, the frame rate of the upper body image is obtained by dividing the data transfer capacity of the upper body image by the data size required for the upper body image of one frame. However, if the frame rate exceeds the frame rate that can be processed by the transmission mechanism, the upper limit is set to the frame rate of the upper body image, and if 0 is described in the
From the frame rate of the face image and the frame rate of the upper body image, the calling interval of the image transfer thread is obtained in milliseconds. The timer function of the
[0038]
Through the above steps, setting information for transferring data from the transmission system is determined.
After the above data reception processing, until the
[0039]
Next, the operation of the image transfer thread will be described.
[0040]
The image transfer thread is activated by the timer function of the
[0041]
In
In
[0042]
As shown in FIG. 14, a table 1400 defining an area for capturing an image is defined in the
The ID of the camera selected in
In
[0043]
The image in the range of (w0, h0)-(w1, h1) among the images captured in
[0044]
In
[0045]
The information of the
[0046]
The display system receives the transfer data structure 900 (operation 1208).
[0047]
In
[0048]
In
[0049]
If some animation processing has already been loaded, or if a walking animation for movement has been loaded, blending processing of these animations is performed. However, an existing method is used for the setting of the animation and the blending process ((Step 1211)).
[0050]
In
[0051]
For the polygons whose texture has not been updated by this processing, rendering is performed using the same texture as the previous time.
[0052]
In
[0053]
The
[0054]
In
[0055]
Thus, a series of operations of the image transfer thread ends.
[0056]
If the called image transfer thread is a thread for the upper body image, the table 1300 and the table 1400 are used for the upper body image, and the image is transferred to the texture area of the
[0057]
In the above-described embodiment, an embodiment will be described in which a
The configuration of the avatar character at this time is as shown in 1600 in FIG. The
[0058]
Moving images obtained by capturing images of the lower body in each action such as stationary, walking, running, and sitting are stored in the
[0059]
Also, a table 1700 shown in FIG. 17 is stored, and information for associating the moving
In the above-described embodiment, the following processing is performed instead of the animation processing of the three-dimensional model performed in
[0060]
First, a value described in the
[0061]
Further, the value of the angle determined in
[0062]
The table 1700 is searched to read out from the
[0063]
On the
[0064]
The moving image is repeatedly displayed until each information changes and another moving image is selected.
[0065]
In each of the above-described embodiments, a system that transmits images in both directions can be configured by combining the photographing system and the display system with each other.
[0066]
【The invention's effect】
According to the present invention, an avatar character whose angle and resolution are changed according to the position in the virtual space can be viewed.
[0067]
In addition, by using a polygon in the first embodiment and a moving image stored as local information in the second embodiment as a part of the display of the avatar character, a network generated with the transfer of the image is used. The amount of load can be reduced.
[0068]
Further, by controlling the frame rate and the resolution, the amount of load applied to the network when the system operates can be controlled.
[Brief description of the drawings]
FIG. 1 is a configuration of an entire system according to a first embodiment of the present invention.
FIG. 2 is a transmission system configuration.
FIG. 3 is a configuration of an information processing apparatus for a transmission system.
FIG. 4 is a configuration of a receiving system.
FIG. 5 is a configuration of an information processing apparatus for a transmission system.
FIG. 6 is a schematic diagram of a virtual space configuration.
FIG. 7 is a schematic diagram of an avatar configuration.
FIG. 8 is a configuration example of animation data.
FIG. 9 is a schematic diagram of a data structure for communication in an image transfer thread.
FIG. 10 is a schematic diagram of a communication data structure in an information acquisition thread.
FIG. 11 shows the operation of an information acquisition thread.
FIG. 12 shows the operation of an image transfer thread.
FIG. 13 is a table showing a relationship between avatar distance information, resolution thinning information, and data size.
FIG. 14 shows data indicating information on each camera and its trimming area and angle.
FIG. 15 is a schematic diagram for creating a transfer image from a captured image;
FIG. 16 is a schematic diagram of an avatar configuration according to a second embodiment.
FIG. 17 is a schematic diagram of a table for searching a moving image file name from each action and a display angle.
[Explanation of symbols]
101 photographing system, 102 display system, 103 network, 200 image transmission side user, 201 camera, 202 camera, 203 camera, 204 camera, 205 camera, 207 background chroma key cloth, 208 lower body part concealment chroma key cloth, 209 image transmission User input device, 210 Transmission system information processing device, 301 Central processing unit (CPU), 302 Main storage device, 303 Input / output interface device, 304 External storage device, 305 Image transmission user output device, 307 Network interface Device, 400 image receiving user, 401 image display device, 402 information processing device for receiving system, 403 image receiving user input device, 501 central processing unit (CPU), 502 main storage device
503 input / output interface device, 504 external storage device, 505 image receiving user output device, 507 network interface device, 601 virtual space, 602 background object, 603 background object, 610 transmission user avatar, 611 transmission user avatar position, 612 Sending user avatar direction, 620 Receiving user avatar, 621 Receiving user avatar position, 622 Receiving user avatar direction, 701 Face display billboard, 702 Upper body display billboard, 703 Lower body display polygon data
711 face image shooting area, 712 upper body shooting area, 800 animation data, 801 operation pattern ID, 802 number of basic frames, 803 time interval data between basic frames, 804 joint rotation information data, 900 data structure, 901
1000 data structure, 1001 avatar distance information, 1002 avatar angle information, 1101 calculation of relative position between avatars, 1102 calculation of relative angle, 1103 determination of whether avatar is within view of display position, 1104 sender Calculate the orientation and distance of the avatar pointing to 1105 Write to
Select the camera that shows the required angle
1110 Calculate resolution from distance information, 1111 calculate frame rate, 1112 set image transfer thread to timer, 1201 acquire input information from input device, 1202 write avatar operation instruction to
1502 Image after thinning process (transfer image), 1510 Configuration of pixels constituting image, 1511 pixel red information, 1511 pixel green information, 1511 pixel blue information, 1511 pixel transparency information
1601 face display billboard, 1602 upper body display billboard, 1603 lower body display billboard, 1611 face image shooting area, 1612 upper body shooting area, 1620 lower body moving image corresponding to each action, 1701 action ID, 1702 angle information , 1703 File name of moving image file
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002340275A JP2004178036A (en) | 2002-11-25 | 2002-11-25 | Device for presenting virtual space accompanied by remote person's picture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002340275A JP2004178036A (en) | 2002-11-25 | 2002-11-25 | Device for presenting virtual space accompanied by remote person's picture |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004178036A true JP2004178036A (en) | 2004-06-24 |
Family
ID=32702942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002340275A Pending JP2004178036A (en) | 2002-11-25 | 2002-11-25 | Device for presenting virtual space accompanied by remote person's picture |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004178036A (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133609A (en) * | 2005-11-09 | 2007-05-31 | Oki Electric Ind Co Ltd | Video generating device and video generating method |
JP2008217143A (en) * | 2007-02-28 | 2008-09-18 | Copcom Co Ltd | Program, image synthesizing device and virtual society construction device |
EP2355500A1 (en) * | 2009-12-15 | 2011-08-10 | Alcatel Lucent | Method and system for conducting a video conference with a consistent viewing angle |
WO2012157516A1 (en) * | 2011-05-17 | 2012-11-22 | シャープ株式会社 | Video presentation system, video presentation method, program, and recording medium |
JP2013117956A (en) * | 2012-11-28 | 2013-06-13 | Konami Digital Entertainment Co Ltd | Server device and program |
EP2385701A3 (en) * | 2010-05-04 | 2013-10-30 | UTW Technologies Corporation | Virtual conversation method |
JP2014056308A (en) * | 2012-09-11 | 2014-03-27 | Nippon Telegr & Teleph Corp <Ntt> | Video communication system, and video communication method |
JP2015141441A (en) * | 2014-01-27 | 2015-08-03 | 日本放送協会 | Sign language cg composition device and program for the same |
WO2022091811A1 (en) * | 2020-10-29 | 2022-05-05 | ソニーグループ株式会社 | Image processing device, image processing method, and image processing system |
JP7142392B1 (en) | 2021-06-09 | 2022-09-27 | クラスター株式会社 | Avatar output device, terminal device, avatar output method, and program |
US11694389B2 (en) | 2021-06-09 | 2023-07-04 | Cluster, Inc | Avatar output device, terminal device, avatar output method, and program |
-
2002
- 2002-11-25 JP JP2002340275A patent/JP2004178036A/en active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4548313B2 (en) * | 2005-11-09 | 2010-09-22 | 沖電気工業株式会社 | Video creation device and video creation method |
JP2007133609A (en) * | 2005-11-09 | 2007-05-31 | Oki Electric Ind Co Ltd | Video generating device and video generating method |
JP2008217143A (en) * | 2007-02-28 | 2008-09-18 | Copcom Co Ltd | Program, image synthesizing device and virtual society construction device |
EP2355500A1 (en) * | 2009-12-15 | 2011-08-10 | Alcatel Lucent | Method and system for conducting a video conference with a consistent viewing angle |
EP2385701A3 (en) * | 2010-05-04 | 2013-10-30 | UTW Technologies Corporation | Virtual conversation method |
WO2012157516A1 (en) * | 2011-05-17 | 2012-11-22 | シャープ株式会社 | Video presentation system, video presentation method, program, and recording medium |
JP2012242930A (en) * | 2011-05-17 | 2012-12-10 | Sharp Corp | Video presentation system, video presentation method, program and recording medium |
JP2014056308A (en) * | 2012-09-11 | 2014-03-27 | Nippon Telegr & Teleph Corp <Ntt> | Video communication system, and video communication method |
JP2013117956A (en) * | 2012-11-28 | 2013-06-13 | Konami Digital Entertainment Co Ltd | Server device and program |
JP2015141441A (en) * | 2014-01-27 | 2015-08-03 | 日本放送協会 | Sign language cg composition device and program for the same |
WO2022091811A1 (en) * | 2020-10-29 | 2022-05-05 | ソニーグループ株式会社 | Image processing device, image processing method, and image processing system |
JP7142392B1 (en) | 2021-06-09 | 2022-09-27 | クラスター株式会社 | Avatar output device, terminal device, avatar output method, and program |
JP2022188729A (en) * | 2021-06-09 | 2022-12-21 | クラスター株式会社 | Avatar output device, terminal device, avatar output method and program |
US11694389B2 (en) | 2021-06-09 | 2023-07-04 | Cluster, Inc | Avatar output device, terminal device, avatar output method, and program |
US12067670B2 (en) | 2021-06-09 | 2024-08-20 | Cluster, Inc. | Avatar output device, terminal device, avatar output method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3847753B2 (en) | Image processing apparatus, image processing method, recording medium, computer program, semiconductor device | |
WO2018188499A1 (en) | Image processing method and device, video processing method and device, virtual reality device and storage medium | |
US11941748B2 (en) | Lightweight view dependent rendering system for mobile devices | |
CN108616731A (en) | 360 degree of VR panoramic images images of one kind and video Real-time Generation | |
KR20130016318A (en) | A method of real-time cropping of a real entity recorded in a video sequence | |
JP2002342789A (en) | Picture processor for generating three-dimensional character picture and picture processing method and recording medium with picture processing program recorded | |
TW200844901A (en) | Banana codec | |
EP2777023A1 (en) | Rendering system, rendering server, control method thereof, program, and recording medium | |
CN109478344A (en) | Method and apparatus for composograph | |
WO2022002181A1 (en) | Free viewpoint video reconstruction method and playing processing method, and device and storage medium | |
CN105389090B (en) | Method and device, mobile terminal and the computer terminal of game interaction interface display | |
JP7353782B2 (en) | Information processing device, information processing method, and program | |
JP2004178036A (en) | Device for presenting virtual space accompanied by remote person's picture | |
JP2003125361A (en) | Information processing device, information processing method, information processing program, and information processing system | |
JPH10240908A (en) | Video composing method | |
JP4689548B2 (en) | Image processing apparatus, image processing method, recording medium, computer program, semiconductor device | |
EP1890262A1 (en) | Virtual 3D models for display | |
CN110471528A (en) | A kind of costume changing method, device, system and the storage medium of virtual spectators | |
KR20230153468A (en) | Method, device, and program for streaming 3D objects | |
CN116485983A (en) | Texture generation method of virtual object, electronic device and storage medium | |
KR100370869B1 (en) | The method of a three dimensional virtual operating simulation | |
JP4637161B2 (en) | Image processing apparatus, image processing method, and program | |
JP4142427B2 (en) | Image synthesizer | |
CN117596373B (en) | Method for information display based on dynamic digital human image and electronic equipment | |
CN116681818B (en) | New view angle reconstruction method, training method and device of new view angle reconstruction network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040909 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061226 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070417 |