(57)【特許請求の範囲】
【請求項１】
第１音声信号を生成する第１マイクと、
第１音声信号を増幅した第１正相信号と、第１音声信号を反転増幅した第１逆相信号とを出力する第１増幅器と、
前記第１マイクとは異なる位置に配置され、第２音声信号を生成する第２マイクと、
第２音声信号を増幅した第２正相信号と、第２音声信号を反転増幅した第２逆相信号とを出力する第２増幅器と、
第１正相信号を第１係数倍した信号と、第２逆相信号を第２係数倍した信号とを加算する第１加算器と、
第２正相信号を第１係数倍した信号と、第１逆相信号を第２係数倍した信号とを加算する第２加算器と、
を備えることを特徴とする位相差増幅装置。
【請求項２】
第１加算器の出力信号を第３係数倍して出力する第３増幅器と、
第２加算器の出力信号を第３係数倍して出力する第４増幅器と、
を備えることを特徴とする請求項１に記載の位相差増幅装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの動きに応じてロボットを動かし、ロボットが生成した視聴データを利用する技術に関する。
【背景技術】
【０００２】
ヘッドマウントディスプレイ（ＨＭＤ）が様々な分野で利用されている。ＨＭＤにヘッドトラッキング機能をもたせ、ユーザの頭部の姿勢と連動して表示画面を更新することで、映像世界への没入感を高められる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−９５０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、遠隔地に配置したロボットを自分の分身として利用するテレイグジスタンスと呼ばれる技術が登場している。遠隔地にいるロボットが周囲の画像データや音声データをユーザに送信し、ユーザ側で再生することで、ユーザは、ロボットの場所にいるような臨場感をもって、周囲の人達とコミュニケーションをとることが可能となる。
【０００５】
本発明者はテレイグジステンスとＨＭＤの連携による可能性に注目し、テレイグレジスタンスシステムの利便性および有用性を高める技術を開発するに至った。
【０００６】
本発明はこうした課題に鑑みてなされたものであり、その目的は、遠隔操作するロボットの構造や、ロボットが取得した視聴データを加工する技術、またロボットが取得した視聴データを有用に活用するための技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の位相差増幅装置は、第１音声信号を生成する第１マイクと、第１音声信号を増幅した第１正相信号と、第１音声信号を反転増幅した第１逆相信号とを出力する第１増幅器と、第１マイクとは異なる位置に配置され、第２音声信号を生成する第２マイクと、第２音声信号を増幅した第２正相信号と、第２音声信号を反転増幅した第２逆相信号とを出力する第２増幅器と、第１正相信号を第１係数倍した信号と、第２逆相信号を第２係数倍した信号とを加算する第１加算器と、第２正相信号を第１係数倍した信号と、第１逆相信号を第２係数倍した信号とを加算する第２加算器と、を備える。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、遠隔操作するロボットの構造や、ロボットが取得した視聴データを加工する技術、またロボットが取得した視聴データを有用に活用するための技術を提供できる。
【図面の簡単な説明】
【００１０】
【図１】実施例における情報処理システムの構成例を示す図である。
【図２】ロボットの利用場面の例を示す図である。
【図３】ＨＭＤの外観形状の例を示す図である。
【図４】ＨＭＤの機能ブロックを示す図である。
【図５】ロボットの外観構成を示す図である。
【図６】挿通部材の構成を示す図である。
【図７】ロボットの断面を示す図である。
【図８】ロボットにおける筐体の姿勢の例を示す図である。
【図９】ロボットにおける筐体の姿勢の例を示す図である。
【図１０】ロボットの機能ブロックを示す図である。
【図１１】音声処理部が備える位相差増幅装置の回路構成を示す図である。
【図１２】信号波形の位相差を説明するための図である。
【図１３】入力信号波形の位相差を増幅する原理を説明するための図である。
【図１４】応用技術を実現するためのロボットの機能ブロックを示す図である。
【図１５】処理装置の機能ブロックを示す図である。
【図１６】全天球パノラマ画像を説明するための図である。
【図１７】画像記録部に記録されている撮影画像データを説明するための図である。
【図１８】画像生成部が生成するフレーム画像と、画像データとの関係を示す図である。
【発明を実施するための形態】
【００１１】
図１は、実施例における情報処理システム１の構成例を示す。情報処理システム１は、ロボット１０と、ユーザＡが頭部に装着するヘッドマウントディスプレイ装置（ＨＭＤ）１００とを備える。ＨＭＤ１００は、両眼用の表示パネル１０２と、両耳用のイヤホン１０４と、マイク１０６とを備える。ここでは音声出力手段としてイヤホン１０４を採用しているが、耳に当てる形状のヘッドホンを採用してもよい。ＨＭＤ１００はアクセスポイント（ＡＰ）２を介して、ネットワーク４に接続される。ＡＰ２は無線アクセスポイントおよびルータの機能を有し、ＨＭＤ１００は、ＡＰ２と既知の無線通信プロトコルで接続するが、ケーブルで接続してもよい。
【００１２】
ロボット１０は、アクチュエータ装置１２と、アクチュエータ装置１２により姿勢を変更可能に駆動される筐体２０とを備える。筐体２０には、右カメラ１４ａ、左カメラ１４ｂ、右マイク１６ａ、左マイク１６ｂおよびスピーカ１８が搭載される。以下、右カメラ１４ａおよび左カメラ１４ｂを特に区別しない場合には「カメラ１４」と呼び、右マイク１６ａおよび左マイク１６ｂを特に区別しない場合には「マイク１６」と呼ぶ。実施例においてカメラ１４およびマイク１６は、アクチュエータ装置１２により駆動される筐体２０に設けられるが、スピーカ１８は、たとえばアクチュエータ装置１２の半球状のハウジング３６に設けられてもよい。ロボット１０はアクセスポイント（ＡＰ）３を介して、ネットワーク４に接続される。ロボット１０は、ＡＰ３と既知の無線通信プロトコルで接続するが、ケーブルで接続してもよい。
【００１３】
情報処理システム１において、ＨＭＤ１００とロボット１０はネットワーク４を介して通信可能に接続し、ロボット１０は、ユーザＡのいわば分身として動作する。ユーザＡが装着しているＨＭＤ１００の動きはロボット１０に伝達され、アクチュエータ装置１２が、ＨＭＤ１００の動きに連動して筐体２０を動かす。たとえばユーザＡが首を前後に振ると、アクチュエータ装置１２が筐体２０を前後に振るように動かし、ユーザＡが首を左右に振ると、アクチュエータ装置１２が筐体２０を左右に振るように動かす。これによりロボット１０の周囲にいる人は、ユーザＡがその場にいるかのような感覚をもって、ユーザＡとコミュニケーションをとることができる。
【００１４】
右カメラ１４ａおよび左カメラ１４ｂは、筐体２０の前面にて横方向に所定の間隔を空けて配置される。右カメラ１４ａおよび左カメラ１４ｂはステレオカメラを構成し、右カメラ１４ａは右目用画像を所定の周期で撮影し、左カメラ１４ｂは左目用画像を所定の周期で撮影する。撮影された右目用画像および左目用画像は、リアルタイムでユーザＡのＨＭＤ１００に送信される。ＨＭＤ１００は、受信した右目用画像を右目用表示パネルに表示し、受信した左目用画像を左目用表示パネルに表示する。これによりユーザＡは、ロボット１０の筐体２０が向いている方向の映像をリアルタイムで見ることができる。
【００１５】
右マイク１６ａおよび左マイク１６ｂは、筐体２０において横方向に所定の間隔を空けて配置される。右マイク１６ａおよび左マイク１６ｂはステレオマイクを構成し、横方向に所定の間隔を空けて配置されることで、音源の位置に応じて音声が到達する時間が異なるようにされる。音声の到達時間の差は、右マイク１６ａおよび左マイク１６ｂが生成する音声信号の位相差として表れる。なお右マイク１６ａおよび左マイク１６ｂの音声信号の位相差を大きくするために、右マイク１６ａおよび左マイク１６ｂは可能な限り離して、具体的には筐体２０の両側面に配置されることが好ましい。
【００１６】
右マイク１６ａおよび左マイク１６ｂで生成された音声信号は、後述するように加工されて、右耳用音声データおよび左耳用音声データとしてリアルタイムでユーザＡのＨＭＤ１００に送信される。ＨＭＤ１００は、受信した右耳用音声データを右耳用のイヤホン１０４から出力し、受信した左耳用音声データを左耳用のイヤホン１０４から出力する。これによりユーザＡは、ロボット１０の周囲の音声をリアルタイムで聞くことができる。
【００１７】
人間が左右方向の音源の位置を音波の両耳への到達時間の差によって知覚することは知られているが、実際には到達時間の差だけでなく、音波を集める耳介の形状、音波を中耳に伝える外耳道の形状等にも依存して音源の位置を知覚している。また人間の正面に対して右側または左側に音源がある場合、距離の近い側の耳介と比べると、距離の遠い側の耳介に音波が到達するためには経路中に顔が位置するため、音波の到達時間差は音源からの距離差以上に大きくなる。
【００１８】
一方で筐体２０の前面は平坦な形状を有し、またマイク１６は耳介や外耳道に相当する形状を有していないため、音声到達時間差は、実質的に音源と両マイクとの距離差に対応することになる。実施例では、筐体２０の両側面に右マイク１６ａおよび左マイク１６ｂを配置して両者を最大限離れた位置に設けているが、右マイク１６ａで生成した音声信号と左マイク１６ｂで生成した音声信号を増幅して右耳用イヤホンと左耳用イヤホンから出力しても、音源の左右方向の位置をよく知覚できないことが本発明者の実験により明らかになった。
【００１９】
つまり人間が普段聞き慣れている音と比べると、右マイク１６ａおよび左マイク１６ｂが生成する音声信号の位相差は、左右方向を知覚するには小さいことが実験により判明した。そこでロボット１０は、右マイク１６ａおよび左マイク１６ｂの音声信号の位相差を増幅して、より人間の両耳で聞こえる音に近づけた音声データをＨＭＤ１００に提供する仕組みを備えている。この仕組みについては後述する。
【００２０】
ＨＭＤ１００において、マイク１０６は、ユーザＡが発した音声信号を生成する。ユーザＡによる音声データは、リアルタイムでロボット１０に送信され、ロボット１０は、受信した音声データをスピーカ１８から出力する。これによりロボット１０の周辺にいる人は、ユーザＡが発した音声をリアルタイムで聞くことができる。
【００２１】
このように情報処理システム１では、ロボット１０がユーザＡにより遠隔操作されてユーザＡの顔の動きや音声を再現し、またユーザＡがＨＭＤ１００を通じて、ロボット周辺の画像や音声を視聴でき、ユーザＡとロボット１０周辺の人とが、リアルタイムでコミュニケーションをとることができる。このような情報処理システム１は、様々な環境において有用に利用される。
【００２２】
図２は、ロボット１０の利用場面の例を示す。この例では、部屋で会議をしており、ユーザＡの分身であるロボット１０が、テーブル上に配置されている。この例でロボット１０は正面の４人の方向を向いており、カメラ１４は、正面の４人を画角内で撮影している。ロボット１０は、カメラ１４の撮影画像をリアルタイムでユーザＡのＨＭＤ１００に送信する。ユーザＡはＨＭＤ１００の表示パネル１０２を通じて部屋の状況を見ながら会議に参加し、発言するとユーザＡの音声がロボット１０にリアルタイムで送信され、ロボット１０は、スピーカ１８からユーザＡの音声を出力する。
【００２３】
また上記したように、ロボット１０は、左右のマイク１６で生成した音声信号の位相差を増幅した音声データを、リアルタイムでＨＭＤ１００に送信する。これによりユーザＡは、部屋内で声を出した人が、筐体２０が向いている方向に対して右側に位置するのか、または左側に位置するのか、または正面に位置するのかを知覚できる。ユーザＡは、自分の右側の人が発言したと感じると、首を右に回して右側を向く。このときロボット１０の筐体２０もユーザＡの首の動きに連動して右側に向くため、カメラ１４は、右側に座っている参加者を撮影することになる。
【００２４】
このようにユーザＡは、分身であるロボット１０がユーザＡの動きに連動することで、遠隔地にいながら、あたかも部屋にいるような感覚で会議に参加できる。また実際に部屋にいる参加者も、ユーザＡの声や、また筐体２０の動きから、ユーザＡと違和感なくコミュニケーションをとることができる。なお図２に示す利用場面は一例であり、他の利用場面においてもユーザＡは遠隔地にいながら、ロボット１０から視聴データを得ることができる。
【００２５】
図３は、ＨＭＤ１００の外観形状の例を示す。この例においてＨＭＤ１００は、出力機構部１１０および装着機構部１１２から構成される。装着機構部１１２は、ユーザが被ることにより頭部を一周してＨＭＤ１００を頭部に固定する装着バンド１０８を含む。装着バンド１０８はユーザの頭囲に合わせて長さの調節が可能な素材または構造とする。
【００２６】
出力機構部１１０は、ＨＭＤ１００をユーザが装着した状態において左右の目を覆う形状の筐体１１４を含み、内部には目に正対する位置に表示パネル１０２を備える。表示パネル１０２は液晶パネルや有機ＥＬパネルなどであってよい。筐体１１４内部には、表示パネル１０２とユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。
【００２７】
ＨＭＤ１００はさらに、装着時にユーザの耳に差し込まれるイヤホン１０４を備える。なおイヤホン１０４は、音声出力手段の一例であり、ＨＭＤ１００はヘッドホンを備えてもよい。このときＨＭＤ１００とヘッドホンとは、一体に構成されてもよいが、別体であってもよい。
【００２８】
ＨＭＤ１００は、姿勢センサが検出したセンサ情報、およびマイク１０６からの音声信号を符号化した音声データをロボット１０に送信し、またロボット１０で生成された画像データおよび音声データを受信して、表示パネル１０２およびイヤホン１０４から出力する。
【００２９】
なお図３に示すＨＭＤ１００は、両目を完全に覆う没入型（非透過型）のディスプレイ装置を示すが、透過型のディスプレイ装置であってもよい。また形状としては、図示されるような帽子型であってもよいが、眼鏡型であってもよい。
【００３０】
図４は、ＨＭＤ１００の機能ブロックを示す。制御部１２０は、画像信号、音声信号、センサ情報などの各種信号およびデータや、命令を処理して出力するメインプロセッサである。記憶部１２２は、制御部１２０が処理するデータや命令などを一時的に記憶する。姿勢センサ１２４は、ＨＭＤ１００の回転角度や傾きなどの姿勢情報を所定の周期で検出する。姿勢センサ１２４は、少なくとも３軸の加速度センサおよび３軸のジャイロセンサを含む。マイク１０６は、ユーザの声を電気信号に変換して音声信号を生成する。
【００３１】
通信制御部１２６は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、ロボット１０との間で信号やデータを送受信する。通信制御部１２６は、制御部１２０から、姿勢センサ１２４で検出された姿勢情報、およびマイク１０６からの音声信号を符号化した音声データを受け取り、ロボット１０に送信する。また通信制御部１２６は、ロボット１０から、画像データおよび音声データを受け取り、制御部１２０に供給する。制御部１２０は、画像データおよび音声データをロボット１０から受け取ると、画像データを表示パネル１０２に供給して表示させ、また音声データをイヤホン１０４に供給して音声出力させる。
【００３２】
図５は、ロボット１０の外観構成を示す。筐体２０は、カメラ１４、マイク１６およびスピーカ１８を収容する。カメラ１４およびスピーカ１８は筐体前面に設けられ、マイク１６は筐体側面に設けられる。筐体２０は保護カバー１９を有し、ロボット１０を使用しない状態では、保護カバー１９が筐体前面を覆う閉位置に配置されて、カメラ１４およびスピーカ１８を保護する。図５に示す状態は、保護カバー１９が閉位置から略１８０度回転した開位置に配置され、カメラ１４が露出して、周囲を撮影可能となっている。保護カバー１９は開位置で固定されるストッパ機構を有することが好ましい。
【００３３】
筐体２０はアクチュエータ装置１２によって姿勢を変更可能に支持されている。アクチュエータ装置１２は、脚部４０と、脚部４０の上部に支持される半球状のハウジング３６と、筐体２０を駆動するための駆動機構５０とを備える。駆動機構５０は、長尺方向に第１貫通長孔３２ａを形成された第１円弧状アーム３２と、長尺方向に第２貫通長孔３４ａを形成された第２円弧状アーム３４と、第１円弧状アーム３２と第２円弧状アーム３４とを交差させた状態で、第１円弧状アーム３２と第２円弧状アーム３４とを回動可能に支持する台座３０とを備える。台座３０の上側は、カバー３８により覆われており、カバー３８で覆われた空間には、第１円弧状アーム３２および第２円弧状アーム３４をそれぞれ回転させるモータが配置されている。なお台座３０は、ハウジング３６に対して回動可能に支持されており、ハウジング３６内には、台座３０を回転させるモータが配置されている。
【００３４】
第１円弧状アーム３２および第２円弧状アーム３４は半円状に形成され、同じ回転中心を有するように両端部が台座３０に支持される。半円状の第１円弧状アーム３２の径は、半円状の第２円弧状アーム３４の径よりも僅かに大きく、第１円弧状アーム３２は、第２円弧状アーム３４の外周側に配置される。第１円弧状アーム３２と第２円弧状アーム３４は、台座３０において直交するように配置されてよい。実施例では、第１円弧状アーム３２が台座３０に支持された両端部を結ぶラインと、第２円弧状アーム３４が台座３０に支持された両端部を結ぶラインとが直交する。挿通部材４２は、第１貫通長孔３２ａおよび第２貫通長孔３４ａに挿通されて、第１貫通長孔３２ａおよび第２貫通長孔３４ａの交差位置に配置される。挿通部材４２は、第１円弧状アーム３２および第２円弧状アーム３４の回転により、第１貫通長孔３２ａ内および第２貫通長孔３４ａ内を摺動する。
【００３５】
図６は、挿通部材４２の構成を示す。挿通部材４２は、第１貫通長孔３２ａおよび第２貫通長孔３４ａの挿通状態を維持するように、第１貫通長孔３２ａよりも幅広の第１規制部４２ａと、第２貫通長孔３４ａよりも幅広の第２規制部４２ｂとを備える。第１規制部４２ａは第１貫通長孔３２ａよりも上側に配置され、第２規制部４２ｂは第２貫通長孔３４ａよりも下側に配置されて、挿通部材４２が第１貫通長孔３２ａおよび第２貫通長孔３４ａから脱落することを防止する。挿通部材４２を第１貫通長孔３２ａおよび第２貫通長孔３４ａに取り付ける際は、第１規制部４２ａまたは第２規制部４２ｂのいずれか一方が軸部４２ｃとは別体に形成され、軸部４２ｃを第１貫通長孔３２ａおよび第２貫通長孔３４ａに挿入した状態で、軸部４２ｃの端部に固定する構造をとってもよい。
【００３６】
軸部４２ｃは、第１貫通長孔３２ａおよび第２貫通長孔３４ａに挿入される部分であり、第１貫通長孔３２ａおよび第２貫通長孔３４ａの交差箇所に常時位置する。軸部４２ｃは、第１貫通長孔３２ａ内および第２貫通長孔３４ａ内において回転を規制される。実施例では軸部４２ｃが、第１貫通長孔３２ａおよび第２貫通長孔３４ａの幅よりも僅かに狭い幅をもつ矩形断面を有し、第１貫通長孔３２ａ内および第２貫通長孔３４ａ内で回転を規制されるが、それ以外の手段により軸部４２ｃの回転が規制されてよい。たとえば第２円弧状アーム３４の内周面にレールが設けられ、第２規制部４２ｂにレール溝が設けられて、レールとレール溝とが嵌合することで軸部４２ｃの回転が規制されてもよい。第１規制部４２ａには筐体２０が取り付けられ、軸部４２ｃの回転が規制されることで、筐体２０を所望の姿勢に維持することが可能となる。
【００３７】
なお軸部４２ｃは、第１貫通長孔３２ａおよび第２貫通長孔３４ａの幅よりも狭い幅を有することで、第１貫通長孔３２ａ内および第２貫通長孔３４ａ内を摺動可能とする。これにより挿通部材４２は、第１円弧状アーム３２および第２円弧状アーム３４の回転により、第１貫通長孔３２ａに沿って移動でき、また第２貫通長孔３４ａに沿って移動できる。
【００３８】
図７は、ロボット１０の断面を示す。図７（ａ）は、第１円弧状アーム３２と第２円弧状アーム３４とが台座３０に対して９０度起立した状態で第２円弧状アーム３４に沿って切断した断面を示し、図７（ｂ）は、第１円弧状アーム３２と第２円弧状アーム３４とが台座３０に対して９０度起立した状態で第１円弧状アーム３２に沿って切断した断面を示す。
【００３９】
第１モータ５２は、第１円弧状アーム３２を回転させるために設けられ、第２モータ５４は、第２円弧状アーム３４を回転させるために設けられる。第１モータ５２および第２モータ５４は、台座３０上に配置されて、台座３０が回転すると、第１モータ５２および第２モータ５４も台座３０とともに回転する。第３モータ５６は、台座３０を回転させるために設けられ、ハウジング３６内に配置される。第１モータ５２、第２モータ５４および第３モータ５６は、図示しない電源装置から電力を供給されて回転する。
【００４０】
第１モータ５２が第１円弧状アーム３２を回転し、第２モータ５４が第２円弧状アーム３４を回転し、第３モータ５６が台座３０を回転することで、アクチュエータ装置１２は、挿通部材４２に取り付けられた筐体２０の向きおよび姿勢を変化させられる。
【００４１】
図８および図９は、ロボット１０における筐体２０の姿勢の例を示す図である。
図８（ａ）および（ｂ）は、筐体２０を左右方向に傾けた例を示す。図９（ａ）および（ｂ）は、筐体２０を前後方向に傾けた例を示す。このようにロボット１０の駆動機構５０は、筐体２０に任意の姿勢をとらせることが可能となる。筐体２０の姿勢は、第１モータ５２および第２モータ５４の駆動量を調整することで制御され、また筐体２０の向きは、第３モータ５６の駆動量を調整することで制御される。
【００４２】
図１０は、ロボット１０の機能ブロックを示す。ロボット１０は、外部からの入力を受け付けて処理する入力系統２２と、外部への出力を処理する出力系統２４とを備える。入力系統２２は、受信部６０、センサ情報取得部６２、動き検出部６４、視線方向決定部６６、アクチュエータ制御部６８、音声データ取得部７０および音声処理部７２を備える。また出力系統２４は、画像処理部８０、音声処理部８２および送信部９０を備える。
【００４３】
図１０において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４４】
上記したようにＨＭＤ１００は、姿勢センサ１２４が検出したセンサ情報およびマイク１０６が生成した音声信号を符号化した音声データをロボット１０に送信し、受信部６０は、センサ情報および音声データを受信する。音声データ取得部７０は、受信した音声データを取得し、音声処理部７２が音声処理を実施して、スピーカ１８から出力する。これによりロボット１０は、ユーザＡの音声をリアルタイムで再生し、ロボット１０の周囲の人が、ユーザＡの声を聞くことができる。
【００４５】
センサ情報取得部６２は、ＨＭＤ１００の姿勢センサ１２４が検出した姿勢情報を取得する。動き検出部６４は、ユーザＡの頭部に装着されたＨＭＤ１００の姿勢を検出する。視線方向決定部６６は、動き検出部６４により検出されたＨＭＤ１００の姿勢に応じて筐体２０のカメラ１４の視線方向を定める。
【００４６】
動き検出部６４は、ＨＭＤ１００を装着したユーザの頭部の姿勢を検出するヘッドトラッキング処理を行う。ヘッドトラッキング処理は、ユーザの頭部の姿勢に、ＨＭＤ１００の表示パネル１０２に表示する視野を連動させるために行われ、実施例のヘッドトラッキング処理では、ＨＭＤ１００の水平基準方向に対する回転角度と、水平面に対する傾き角度とが検出される。水平基準方向は、たとえばＨＭＤ１００の電源がオンされたときに向いている方向として設定されてよい。
【００４７】
視線方向決定部６６は、動き検出部６４により検出されたＨＭＤ１００の姿勢に応じて、視線方向を定める。この視線方向は、ユーザＡの視線方向であり、ひいては分身であるロボット１０のカメラ１４の視線方向（光軸方向）である。
【００４８】
カメラ１４の視線方向（光軸方向）をユーザＡの視線方向に連動させるために、ロボット１０の基準姿勢を事前に設定しておく必要がある。図５には、第１円弧状アーム３２と第２円弧状アーム３４とが台座３０に対して９０度起立した状態を示しているが、この状態を水平方向として設定し、またロボット１０の電源がオンされたときに筐体２０の前面が向いている方向を、水平基準方向として設定してよい。なおロボット１０は、ＨＭＤ１００と同様に姿勢センサを有して、水平方向を自律的に設定できるようにしてもよい。
【００４９】
ＨＭＤ１００およびロボット１０の基準姿勢を設定した状態で、視線方向決定部６６は、動き検出部６４により検出された回転角度および傾き角度を、そのままカメラ１４の視線方向（光軸方向）として決定してよい。動き検出部６４が、ＨＭＤ１００の回転角度および傾き角度を検出すると、視線方向決定部６６は、ＨＭＤ１００の視線方向を３次元座標のベクトル（ｘ，ｙ，ｚ）として決定し、このときロボット１０のカメラ１４の視線方向を同じ（ｘ，ｙ，ｚ）と決定してもよく、また何らかの補正を加えた（ｘ’，ｙ’，ｚ’）として決定してもよい。
【００５０】
アクチュエータ制御部６８は、視線方向決定部６６で決定された視線方向となるようにカメラ１４の向きを制御する。具体的にアクチュエータ制御部６８は、第１モータ５２、第２モータ５４、第３モータ５６に供給する電力を調整して、ＨＭＤ１００の動きに、筐体２０の動きを追従させる。アクチュエータ制御部６８によるモータ駆動制御は、リアルタイムに実施され、したがって筐体２０の向きは、ユーザＡの視線の向きと同じように動かされる。
【００５１】
実施例のアクチュエータ装置１２によれば、筐体２０は、第１円弧状アーム３２および第２円弧状アーム３４の回転中心を基準として駆動されるが、この動きは人の首と同じ動きを示す。アクチュエータ装置１２は、２本の半円アームを交差させた簡易な構造でユーザＡの首の動きを再現する。
【００５２】
人は首の動きによって意思を伝達する。たとえば日本では首を縦に振ると肯定を、横に振ると否定を表現するが、アクチュエータ装置１２は、ユーザＡの首の動きと同じように筐体２０を動かすため、ロボット１０の周囲の人は、筐体２０の動きによってもユーザＡの意思を感じ取ることができる。そのためユーザＡの首の動きを簡易な構造で再現できることは、テレイグジステンス技術において非常に有用である。
【００５３】
次に出力系統２４について説明する。
出力系統２４において、右カメラ１４ａおよび左カメラ１４ｂは、アクチュエータ装置１２により制御された方向に向けられて、それぞれの画角内を撮影する。右カメラ１４ａおよび左カメラ１４ｂは、たとえば大人の平均的な両目の間隔となるように離れて配置されてよい。右カメラ１４ａが撮影した右目用画像データおよび左カメラ１４ｂが撮影した左目用画像データは、送信部９０からＨＭＤ１００に送信されて、それぞれ表示パネル１０２の右半分および左半分に表示される。これらの画像は、右目および左目から見た視差画像を形成し、表示パネル１０２を２分割してなる領域にそれぞれ表示させることで、画像を立体視させることができる。なおユーザＡは光学レンズを通して表示パネル１０２を見るために、画像処理部８０は、予めレンズによる光学歪みを補正した画像データを生成して、ＨＭＤ１００に供給してもよい。
【００５４】
右カメラ１４ａおよび左カメラ１４ｂは、所定の周期（たとえば１／６０秒）で撮影を行い、送信部９０は遅延なく画像データをＨＭＤ１００に送信する。これによりユーザＡはロボット１０の周囲の状況をリアルタイムで見ることができ、また顔の向きを変えることで、見たい方向を見ることができる。
【００５５】
右マイク１６ａおよび左マイク１６ｂは、ロボット１０の周囲の音を電気信号に変換して音声信号を生成する。以下、右マイク１６ａが生成する音声信号を「第１音声信号」と呼び、左マイク１６ｂが生成する音声信号を「第２音声信号」と呼ぶ。上記したように、右マイク１６ａおよび左マイク１６ｂは、筐体２０において横方向に離れて配置されているため、右マイク１６ａが生成する第１音声信号と左マイク１６ｂが生成する第２音声信号には、位相差が生じる。
【００５６】
本発明者は、第１音声信号および第２音声信号を、そのままの位相差で符号化してＨＭＤ１００に提供した場合に、ユーザが、音源の方向を認識できない、つまり音声が右側から聞こえてくるのか、または左側から聞こえてくるのかを判別しにくいという知見を実験により得た。実験では筐体２０の横方向の幅を大人の人間の顔幅程度（１６ｃｍ）に設定しているが、人間の耳における音波伝達構造をマイク１６では再現できないために、第１音声信号および第２音声信号の位相差のみでは、人間が音源の方向を知覚するには足りないという結論が得られた。
【００５７】
これを解決する手段として、筐体２０の横方向の幅を大きくして、第１音声信号と第２音声信号の位相差を大きくすることが考えられるが、その場合は筐体２０の重量が重くなり、アクチュエータ装置１２で使用するモータの出力を高める必要が生じる。また筐体２０の横方向の幅を大きくすると、右マイク１６ａと左マイク１６ｂの間隔が、人間の両耳の間隔よりも広くなるため、実際に人が音を聞く感覚とは異なる音声信号が取得されることになる。
【００５８】
そこで本発明者は、第１音声信号と第２音声信号の位相差を増幅することで、この問題を解決することを考え出した。音声処理部８２は、以下に説明するように、右マイク１６ａが生成する第１音声信号および左マイク１６ｂが生成する第２音声信号の位相差を増幅する機能を有する。なおロボット１０は、リアルタイムでマイク音声をＨＭＤ１００に伝達する必要があるため、音声処理部８２は、位相差増幅機能を、ハードウェア回路によって実現する。
【００５９】
図１１は、音声処理部８２が備える位相差増幅装置８２ａの回路構成を示す。位相差増幅装置８２ａは、右マイク１６ａが生成した第１音声信号ｖＲと左マイク１６ｂが生成した第２音声信号ｖＬの位相差を増幅して出力するアナログ回路装置である。
【００６０】
第１増幅器８４ａは、右マイク１６ａから第１音声信号ｖＲを入力されると、第１音声信号ｖＲを増幅した第１正相信号ＶＲ＋と、第１音声信号ｖＲを反転増幅した第１逆相信号ＶＲ−とを出力する。第１増幅器８４ａは、入力信号の正相成分を増幅して出力するオペアンプと、入力信号の逆相成分を増幅して出力するオペアンプとから構成されてもよいが、正相成分および逆相成分を出力する２つの出力端子を有するオペアンプから構成されてもよい。
【００６１】
また第２増幅器８４ｂは、左マイク１６ｂから第２音声信号ｖＬを入力されると、第２音声信号ｖＬを増幅した第２正相信号ＶＬ＋と、第２音声信号ｖＬを反転増幅した第２逆相信号ＶＬ−とを出力する。第２増幅器８４ｂも、第１増幅器８４ａと同様に、それぞれ正相成分および逆相成分を出力する２つのオペアンプから構成されてもよく、また正相成分および逆相成分の双方を出力する１つのオペアンプから構成されてもよい。
【００６２】
第１加算器８６ａは、第１正相信号ＶＲ＋を第１係数倍（α倍）した信号と、第２逆相信号ＶＬ−を第２係数倍（β倍）した信号とを加算した出力信号ＶｒＯＵＴを出力する。ここでα、βは、０より大きく、１以下の値を示す。なおαとβは異なるように設定され、この例ではα＞βである。出力信号ＶｒＯＵＴは、以下の式で表現される。
ＶｒＯＵＴ＝α×ＶＲ＋＋β×ＶＬ−
【００６３】
第１加算器８６ａは、第１正相信号ＶＲ＋をα倍に分圧する分圧回路の出力と、第２逆相信号ＶＬ−をβ倍に分圧する分圧回路の出力とを加算する加算回路であってもよいが、第１正相信号ＶＲ＋をα倍した電圧信号と第２逆相信号ＶＬ−をβ倍した電圧信号とを加算するオペアンプであってもよい。
【００６４】
第２加算器８６ｂは、第２正相信号ＶＬ＋を第１係数倍（α倍）した信号と、第１逆相信号ＶＲ−を第２係数倍（β倍）した信号とを加算した出力信号ＶｌＯＵＴを出力する。出力信号ＶｌＯＵＴは、以下の式で表現される。
ＶｌＯＵＴ＝α×ＶＬ＋＋β×ＶＲ−
【００６５】
第２加算器８６ｂは、第２正相信号ＶＬ＋をα倍に分圧する分圧回路の出力と、第１逆相信号ＶＲ−をβ倍に分圧する分圧回路の出力とを加算する加算回路であってもよいが、第２正相信号ＶＬ＋をα倍した電圧信号と第１逆相信号ＶＲ−をβ倍した電圧信号とを加算するオペアンプであってもよい。
【００６６】
第３増幅器８８ａは、第１加算器８６ａの出力信号ＶｒＯＵＴを第３係数倍（γ倍）してＶＲＯＵＴを出力し、第４増幅器８８ｂは、第２加算器８６ｂの出力信号ＶｌＯＵＴを第３係数倍（γ倍）してＶＬＯＵＴを出力する。音声処理部８２において、位相差増幅装置８２ａからの出力信号ＶＲＯＵＴ、ＶＬＯＵＴは、それぞれ音声符号化されて、右耳用音声データおよび左耳用音声データとして送信部９０からＨＭＤ１００に送信される。
【００６７】
図１２は、信号波形の位相差を説明するための図である。図１２（ａ）は、右マイク１６ａが生成する第１音声信号ｖＲと左マイク１６ｂが生成する第２音声信号ｖＬの波形の関係を示す。ここでは説明の便宜上、第１音声信号ｖＲと第２音声信号ｖＬとをそれぞれ同倍に増幅した第１正相信号ＶＲ＋と第２正相信号ＶＬ＋との関係を示している。この入力波形では、ロボット１０の筐体２０から見て音源が右側に配置されており、第１正相信号ＶＲ＋の位相の方が、第２正相信号ＶＬ＋よりも僅かに進んでおり、また振幅は第１正相信号ＶＲ＋の方が高い。
【００６８】
図１２（ｂ）は、第１加算器８６ａの出力信号ＶｒＯＵＴと第２加算器８６ｂの出力信号ＶｌＯＵＴの波形の関係を示す。図１２（ａ）に示す入力波形の位相差と比較すると、図１２（ｂ）に示す加算器の出力波形の位相差が広がっている（増幅している）ことが分かる。
【００６９】
図１３は、入力信号波形の位相差を増幅する原理を説明するための図である。図１３（ａ）は、第１正相信号ＶＲ＋および第１逆相信号ＶＲ−と、第２正相信号ＶＬ＋および第２逆相信号ＶＬ−を２次元座標系で表現している。第１正相信号ＶＲ＋と第２正相信号ＶＬ＋の位相差はθである。
【００７０】
図１３（ｂ）は、第１加算器８６ａの出力信号ＶｒＯＵＴと第２加算器８６ｂの出力信号ＶｌＯＵＴを示す。上記したように、ＶｒＯＵＴ、ＶｌＯＵＴは、
ＶｒＯＵＴ＝α×ＶＲ＋＋β×ＶＬ−
ＶｌＯＵＴ＝α×ＶＬ＋＋β×ＶＲ−
と表現される。図１３（ｂ）では、α＝１．０、β＝０．６を設定する。
【００７１】
図１３（ｂ）に示すように、ＶｒＯＵＴとＶｌＯＵＴの位相差はθ’となり、図１３（ａ）に示す位相差θよりも大きくなっている。このように位相差増幅装置８２ａは、入力された２つの音声信号の位相差を増幅する。
【００７２】
本発明者によるシミュレーションの結果、入力信号の位相差が１５度のとき、出力信号の位相差は４倍の６０度となり、入力信号の位相差が３０度のとき、出力信号の位相差は３倍の９０度となり、入力信号の位相差が４５度のとき、出力信号の位相差は約２．７倍の１２０度となることが分かった。
【００７３】
このシミュレーション結果によると、位相差が小さいほど増幅率が大きくなっている。実際の筐体２０では、入力信号の位相差は５度〜２０度程度であり、位相差増幅装置８２ａは、この範囲における増幅率を大きくできることで、出力信号の位相差を、ユーザが音源の方向を聞き分けられる程度に広げられる。位相差増幅装置８２ａからの出力信号ＶＲＯＵＴ、ＶＬＯＵＴは、それぞれ音声符号化されて、右耳用音声データおよび左耳用音声データとして送信部９０からＨＭＤ１００に送信される。
【００７４】
ＨＭＤ１００において、右耳用音声データは、右耳用のイヤホン１０４から音声として出力され、左耳用音声データは、左耳用のイヤホン１０４から音声として出力される。ユーザＡは、位相差を増幅された音声を両耳から聞くことで、音源の方向を認識する。ユーザＡは、右側から声が聞こえてきたと感じれば、顔を右側に向ける。このときユーザＡの顔の動きに連動してロボット１０の筐体２０が右側を向くため（図２参照）、ロボット１０のカメラ１４は、右側の環境を撮影して、撮影画像データをリアルタイムでＨＭＤ１００に送信する。これによりユーザＡは、発声した人の顔を見ながら話すことができ、従来にない優れたユーザインタフェースを実現できる。
【００７５】
なお上記した例では、α＝１．０、β＝０．６と設定したが、α、βの値は、実験により適切に設定されることが好ましい。図５に示すように、右マイク１６ａおよび左マイク１６ｂは、筐体２０の側面を窪ませた位置であって、前面からみて奥側の位置に設けている。マイク１６における音波の伝達構造は、筐体側面の形状に依存するため、α、βの比は、実験により最適に求められることが好ましい。
【００７６】
なお図５において、マイク１６は、後板１７の横方向の内側に配置されている。これは後板１７に、前方からの音波と後方からの音波の周波数特性を異ならせ、後方からの高域成分を低減させる役割をもたせるためである。つまり後板１７は、マイク１６に対して人の耳介のような機能をもち、後方からの音波が後板１７を回り込んでマイク１６に到達するようにしている。なお前方からの音波と後方からの音波の周波数特性を異ならせるために、後板１７は、さらに上下方向および横方向に広げられて形成されてもよい。マイク１６の後方に後板１７のような音波遮蔽体を形成することで、ユーザＡは、音源の前後方向の位置を聞き分けることも可能となる。
【００７７】
このように情報処理システム１では、ユーザＡが、自分の分身であるロボット１０を用いて、リアルタイムでロボット１０の周囲にいる人達と自由にコミュニケーションをとることができる。以下では、情報処理システム１の利用可能性をさらに高める技術について提案する。
【００７８】
従来より、カメラの傾きを変えながら撮影した画像をスティッチ（縫い合わせ）して全天球パノラマ画像を生成する技術が知られている。最近では、専用のパンチルトカメラも販売されており、個人でも全天球パノラマ画像を撮影できるようになっている。
【００７９】
情報処理システム１において、ロボット１０は、ユーザＡの頭部の動きに応じた視線方向にカメラ１４を向けて、周囲を撮影する。ユーザＡが様々な方向を向くことで、カメラ１４が様々な方向を撮影する。この撮影画像に、視線方向を表現する３次元ベクトルを付加して記録しておくことで、仮想的な全天球パノラマ画像を生成することが可能となる。
【００８０】
図１４は、ロボット１０の機能ブロックの変形例を示す。この機能ブロックは、図１０に示す機能ブロックを前提としており、その中で視線方向決定部６６から画像処理部８０に対して、決定した視線方向が供給されることを示している。
【００８１】
ユーザＡによるロボット１０の使用中、送信部９０は、両眼用の画像データおよび両耳用の音声データ（以下、まとめて「視聴データ」と呼ぶこともある）を、ネットワーク４経由でユーザＡのＨＭＤ１００に送信している。このとき送信部９０は、同じ視聴データをネットワーク４経由でルータ５を介して処理装置２００にも送信し、処理装置２００はユーザＡの視聴データを記録する。
【００８２】
処理装置２００は、ユーザＡの視聴データを記録しつつ、ユーザＡの画像データをもとに全天球パノラマ画像をリアルタイム生成し、ユーザＡとは異なるユーザＢの視線方向に応じた画像をユーザＢのＨＭＤ１００ａに提供する機能をもつ。なおＨＭＤ１００ａは、これまで説明したＨＭＤ１００と同じ構成を備える。処理装置２００は、たとえば単一のサーバにより構成されてもよいが、クラウドサービスを提供するサーバ群により構成されてもよい。
【００８３】
処理装置２００が全天球パノラマ画像を生成できるようにするために、画像処理部８０は、フレーム画像データのそれぞれに、視線方向決定部６６から供給される視線方向を示すベクトル情報と、撮影開始点からの経過時間を示す撮影時間情報とを付加する。ベクトル情報は、ロボット１０のカメラ１４の視線方向を示す。撮影時間情報は、撮影開始点からの時間を表現するものであればよく、たとえば撮影された順番を示すフレーム番号であってもよい。
【００８４】
この技術では、ユーザＡによるロボット１０の使用中に、ユーザＢがＨＭＤ１００ａを装着し、ロボット１０から供給されるユーザＡの視聴データをもとに生成される画像データおよび音声データを、ＨＭＤ１００ａに提供する。ユーザＡの視聴データをそのまま再生するだけであれば、処理装置２００は、受信した視聴データをそのままユーザＢのＨＭＤ１００ａにストリーミング配信するだけでよいが、この技術では、処理装置２００が、ユーザＡの画像データをもとに構成される全天球パノラマ画像から、ユーザＢの視線方向にもとづいた画像を再構成して、ユーザＢのＨＭＤ１００ａに提供できるようにする。なお音声データは、ユーザＢのＨＭＤ１００ａにストリーミング配信される。
【００８５】
図１５は、処理装置２００の機能ブロックを示す。処理装置２００は、受信部２０２、センサ情報取得部２０４、動き検出部２０６、視線方向決定部２０８、画像決定部２１０、音声決定部２１２、視聴データ提供部２１４、送信部２１６および記録部２１８を備える。記録部２１８は画像記録部２２０および音声記録部２２２を含む。受信部２０２が、ロボット１０から送信された視聴データを受信すると、画像記録部２２０は、受信した画像データを順次記録し、音声記録部２２２は、受信した音声データを順次記録する。なお画像データは、フレーム画像ごとに、撮影時のベクトル情報および撮影時間情報を付加されている。
【００８６】
ユーザＢは、ＨＭＤ１００ａを通じて、処理装置２００に、ユーザＡの視聴データの再生指示を送信する。処理装置２００は、再生指示を受け付けると、視聴データの再生処理を開始する。音声決定部２１２はユーザＢに提供する音声データを決定し、音声記録部２２２に記録された音声データを、音声記録部２２２からただちに読み出し視聴データ提供部２１４に提供する。つまり音声決定部２１２は、ロボット１０から提供される音声データを、ＨＭＤ１００ａにストリーミング配信する。したがってユーザＢは、ユーザＡが聞いている音声と同じ音声をＨＭＤ１００ａのイヤホン１０４から聞くことができる。
【００８７】
処理装置２００による再生処理中、受信部２０２は、ユーザＢが装着したＨＭＤ１００ａから送信されるセンサ情報を受信し、センサ情報取得部２０４は、受信したセンサ情報を取得する。このセンサ情報は、姿勢センサ１２４がＨＭＤ１００ａの姿勢を検出した姿勢情報である。動き検出部２０６は、ユーザＢの頭部に装着されたＨＭＤ１００ａの姿勢を検出する。視線方向決定部２０８は、動き検出部２０６により検出されたＨＭＤ１００ａの姿勢に応じて、全天球パノラマ画像における仮想カメラの視線方向を定める。画像決定部２１０はユーザＢに提供する画像データを決定し、画像記録部２２０に記録された複数の画像データを用いて、決定された視線方向に向けた仮想カメラにより撮影される画像を合成して画像データを生成する。
【００８８】
視聴データ提供部２１４は、画像決定部２１０で決定された画像データと、音声決定部２１２で決定された音声データとを合わせた視聴データを、送信部２１６からユーザＢのＨＭＤ１００ａに提供する。
【００８９】
図１５において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００９０】
処理装置２００は、全方位のパノラマ画像を生成する。したがってユーザＢが首を左または右に回して水平方向の視線を左または右に回転させることで、左方向または右方向のパノラマ画像がＨＭＤ１００ａの表示パネル１０２に表示され、またユーザＢが首を上または下に傾けて、垂直方向に視線を傾けることで、上方向または下方向のパノラマ画像がＨＭＤ１００ａの表示パネル１０２に表示されるようになる。
【００９１】
図１６は、処理装置２００が生成する全天球パノラマ画像を説明するための図である。この技術では、ユーザＢが球体の中心に位置し、視線の方向を変更することで、見える画像が変更される仮想環境を実現する。画像決定部２１０は、画像記録部２２０に記録されている画像データをスティッチ（縫い合わせ）して、全天球パノラマ画像を生成する。
【００９２】
実施例では、説明を単純にするためにロボット１０がカメラ１４をズームせず、一定の拡大率で画像データを取得する。そのため画像決定部２１０は、画像データに付加されたベクトル情報にもとづいて、画像データを全天球の内周面に張り合わせることで、全天球パノラマ画像を構成する。なお複数の画像データが重複する箇所については、最新の画像データで上書きし、これによりリアルタイムの状況に近い全天球パノラマ画像を構成できるようになる。
【００９３】
なお実際の画像決定部２１０の画像生成処理は、処理負荷を軽減するために、常に全天球パノラマ画像を再構成するのではなく、ユーザＢが位置する中心点９から撮影されるフレーム画像７を動的に生成する処理となる。このとき画像決定部２１０は、仮想カメラ８の撮影範囲（画角）を、実際のロボット１０のカメラ１４の撮影範囲（画角）に対応するように設定することが好ましい。これによりユーザＡの視線方向とユーザＢの視線方向とが一致しているタイミングでは、ユーザＢは、ユーザＡと同じ画像を見られるようになる。
【００９４】
このように画像決定部２１０は、画像データにメタデータとして設定されているベクトル情報を用いて、イメージスティッチング処理を実施し、ユーザＢの視線方向から定まる撮影範囲のフレーム画像７を生成する。動き検出部２０６は、ユーザＢのヘッドトラッキング処理を行うことで、ユーザＢの頭部（実際にはＨＭＤ１００ａ）の回転角度および傾きを検出する。ここでＨＭＤ１００ａの回転角度は、水平面の基準方向に対する回転角度であり、基準方向は、たとえばＨＭＤ１００ａの電源がオンされたときに向いている方向として設定されてよい。またＨＭＤ１００ａの傾きは、水平面に対する傾斜角度である。ヘッドトラッキング処理として既知の技術が利用されてよく、動き検出部２０６は、ＨＭＤ１００ａの姿勢センサが検出したセンサ情報から、ＨＭＤ１００ａの回転角度および傾きを検出する。
【００９５】
視線方向決定部２０８は、検出したＨＭＤ１００ａの回転角度および傾きにしたがって、仮想球体における仮想カメラ８の姿勢を定める。仮想カメラ８は、仮想球体の中心点９から仮想球体の内周面を撮影するように配置されており、視線方向決定部２０８は、仮想カメラ８の光軸の向きを、ロボット１０のカメラ１４の光軸方向と一致するように決定してもよい。
【００９６】
ロボット１０において、視線方向決定部６６は、ユーザＡのＨＭＤ１００の視線方向を３次元座標のベクトル（ｘ，ｙ，ｚ）として決定すると、ロボット１０のカメラ１４の視線方向を同じ（ｘ，ｙ，ｚ）と決定してもよいことを説明した。処理装置２００においても、視線方向決定部２０８は、ユーザＢのＨＭＤ１００ａの視線方向を３次元座標のベクトル（ｘ，ｙ，ｚ）として決定すると、仮想カメラ８の視線方向を同じ（ｘ，ｙ，ｚ）と決定してもよい。また視線方向決定部６６において、ＨＭＤ１００の視線方向を所定の変換式で補正してカメラ１４の視線方向を求める場合には、視線方向決定部２０８においても、ＨＭＤ１００ａの視線方向を同じ変換式で補正して仮想カメラ８の視線方向を求めてもよい。このように、それぞれの３次元座標系を取り扱うことで、ユーザＡの視線方向とユーザＢの視線方向とが一致しているタイミングでは、ユーザＢは、ユーザＡと同じ画像を見られるようになる。
【００９７】
画像決定部２１０は、仮想カメラ８のフレーム画像７を生成すると、光学レンズ用の光学歪み補正を施し、視聴データ提供部２１４に画像データを供給する。なお図１６においては１つの仮想カメラ８が示されているが、実際には左目用と右目用の２つの仮想カメラ８が配置されて、それぞれの画像データが、ロボット１０から提供される左目用画像データおよび右目用画像データにもとづいて生成される。
【００９８】
図１７は、画像記録部２２０に記録されている撮影画像データを説明するための図である。ここでは説明の便宜上、片目用の複数の画像データを示し、またユーザＢの視線方向に対して適切なアフィン変換を施した状態の画像データを２次元平面上に配置している。なおユーザＢの視線方向については後述する。
【００９９】
画像決定部２１０は、各撮影画像の重複する部分をつなぎ合わせて、全天球パノラマ画像を生成する機能をもつ。撮影画像をつなぎ合わせる技術については、たとえば同一出願人による特許第５８６５３８８号にも記載されているように既知の技術を利用してよい。以下では、画像記録部２２０に記録された複数の撮影画像データのうち、いずれの撮影画像データを用いるかを選択する手法について説明する。
【０１００】
図１７に、５つの画像データＩ１〜Ｉ５を示す。各画像データに含まれる（ｘ，ｙ，ｚ）は、撮影時のカメラ１４の視線方向（ベクトル情報）を表現し、“ｔ”は、撮影時間情報を表現する。ここで画像データＩ１は、ベクトル情報（ｘ１，ｙ１，ｚ１）および撮影時間情報ｔ１を付加情報として有する。同様に画像データＩ２は、ベクトル情報（ｘ２，ｙ２，ｚ２）および撮影時間情報ｔ２を付加情報として有し、画像データＩ３は、ベクトル情報（ｘ３，ｙ３，ｚ３）および撮影時間情報ｔ３を付加情報として有し、画像データＩ４は、ベクトル情報（ｘ４，ｙ４，ｚ４）および撮影時間情報ｔ４を付加情報として有し、画像データＩ５は、ベクトル情報（ｘ５，ｙ５，ｚ５）および撮影時間情報ｔ５を付加情報として有する。
【０１０１】
なお付加情報である撮影時間情報ｔ１〜ｔ５は、撮影開始点（時間０）からの経過時間を表現し、ｔ１＜ｔ２＜ｔ３＜ｔ４＜ｔ５の関係にある。したがって画像データＩ１〜Ｉ５の中では、画像データＩ１が最初に撮影され、画像データＩ５が最後に撮影されている。画像決定部２１０は、撮影時間情報と、視線方向決定部２０８が決定した仮想カメラ８の視線方向にもとづいて、合成画像を生成するための画像データを選択する。
【０１０２】
具体的に画像決定部２１０は、視線方向決定部２０８が決定した仮想カメラ８の視線方向、つまりＨＭＤ１００ａを装着したユーザＢが向いている方向から、全天球パノラマ画像から切り取る撮影範囲（仮想カメラ８の画角）を定め、撮影範囲内に含まれる画像を含む画像データを、画像データに付加されたベクトル情報にもとづいて抽出する。
【０１０３】
図１８は、画像決定部２１０が生成するべきフレーム画像７と、画像データとの関係を示す図である。図１７および図１８において、各画像データＩ１〜Ｉ５は、各ベクトル情報にもとづいて、仮想カメラ８の視線方向（Ｘ，Ｙ，Ｚ）に直交する２次元平面上に写像されており、各画像データＩ１〜Ｉ５の位置は、２次元平面において４つの頂点座標で定義される。画像決定部２１０は、仮想カメラ８の視線方向（Ｘ，Ｙ，Ｚ）により、全天球パノラマ画像における仮想カメラ８の画角の位置（撮影範囲）を定め、視線方向に直交する２次元平面のフレーム画像７の４つの頂点座標を定める。画像決定部２１０は、画像記録部２２０に記録された画像データのうち、フレーム画像７に含まれる画像データを抽出する。図示されるように画像データＩ１〜Ｉ５は、フレーム画像７に含まれる画像を含んでいるため、仮想カメラ８の撮影範囲内に含まれる画像データとして抽出される。
【０１０４】
画像決定部２１０は、複数の画像データが重複する領域については、遅い撮影時間情報をもつ画像データを優先して用いて合成画像を生成する。図１８に示す例では、フレーム画像７に、撮影時間の早い画像データから順に、つまり画像データＩ１から順に書き込み、新しい画像データで順次上書きしていくようにフレーム画像７を合成する。
【０１０５】
このように画像決定部２１０は、複数の画像データのうち重複する領域については、より現在時刻に近い撮影時間情報をもつ画像データを用いて、合成画像を生成するようにする。たとえば撮影範囲内に含まれる画像で、画像データＩ４と画像データＩ５に重複する部分が存在した場合には、より遅い撮影時間をもつ画像データＩ５を重複部分に埋め込む。これにより、現在時刻に近い画像データを用いて合成画像を生成できるようになり、ユーザＢに対して、現在時刻に近い合成画像を提供できるようになる。
【０１０６】
この画像再生アプリケーションでは、ユーザＢが向く方向によっては、画像データが不足して、フレーム画像７の生成が困難な場合がある。特にロボット１０が撮影を開始した直後は、画像データ数がそもそも少ないため、画像決定部２１０が、ユーザＢの視線方向に応じたフレーム画像７を生成できないことも生じる。実際には起こりえないが、撮影期間中、ユーザＡがＨＭＤ１００を全く動かさなかった場合には、画像記録部２２０に記録されている画像データのベクトル情報は全て同じとなるため、たとえばユーザＢが、ユーザＡと真逆の方向を向くと、当該視線方向の仮想カメラ８の撮影範囲内に含まれる画像データは存在しない。
【０１０７】
そのような場合、画像決定部２１０は、受信したユーザＡの画像データに、ユーザＢの視線方向の画像を生成できない旨のメッセージを重畳した画像データを生成して、視聴データ提供部２１４からＨＭＤ１００ａに提供してもよい。たとえばユーザＢの視線方向の画像を所定割合（たとえば３０％）以上合成できない場合に、画像決定部２１０は合成画像の生成を行わず、上記メッセージとともに、ユーザＡが見た画像データを視聴データ提供部２１４に供給してもよい。
【０１０８】
また画像決定部２１０は、複数の画像データからフレーム画像７を合成するため、生成されたフレーム画像７は、つぎはぎ画像となり、視認性が悪くなる場合もある。そのため、たとえば撮影範囲内の所定割合（たとえば５０％）の画像を１つの画像データから形成できない場合には、上記したように、画像決定部２１０は、ユーザＢの視線方向の画像を生成できない旨のメッセージを、ユーザＡの画像データに重畳した画像データを生成してもよい。
【０１０９】
上記した例では、画像決定部２１０が、遅い撮影時間情報をもつ画像データを優先して用いて合成画像を生成することを説明したが、より早い撮影時間情報をもつ画像データを用いることでフレーム画像７の所定割合以上を構成できる場合には、より早い撮影時間情報をもつ画像データを用いてもよい。
【０１１０】
また時間が経過すると、ロボット１０の撮影している環境に変化が生じるため、過去の画像データを用いた合成画像をユーザＢに提供することが好ましくないことも考えられる。そのため画像決定部２１０は、所定時間以上前の画像データについては、合成画像に含めないように、画像抽出処理を行ってもよい。
【０１１１】
以上は、ユーザＢが、ユーザＡの視聴データをリアルタイムで利用する例を示した。以下は、その応用技術について説明する。応用技術では、処理装置２００が、ユーザＡの視聴データのリアルタイム再生を目的とするのではなく、二次利用を目的として視聴データを記録する。
【０１１２】
視聴データの二次利用のために、ロボット１０において画像処理部８０は、フレーム画像データのそれぞれに、撮影時間情報とベクトル情報を付加し、また音声処理部８２は、音声データに、録音開始点からの経過時間を示す録音時間情報を付加する。なおカメラ１４による撮影（録画）およびマイク１６による録音は同じタイミングで開始されるため、撮影開始点および録音開始点は同じタイミングを示す。撮影時間情報および録音時間情報は、ロボット１０におけるクロック生成部で生成された時刻情報であってよい。画像データおよび音声データに付加情報を付加する形式は何であってもよく、処理装置２００が、再生用の視聴データを生成する際に参照できる形式であればよい。
【０１１３】
この応用技術では、ユーザＡがロボット１０の使用を終了した後、別のユーザＢ（ユーザＡであってもよい）がＨＭＤ１００ａを装着して、処理装置２００に記録されたユーザＡの視聴データをもとに生成される画像データおよび音声データを、ＨＭＤ１００ａに提供する。このとき実施例で説明したように、処理装置２００は、ユーザＡの視聴データをもとに全天球パノラマ画像を構成し、全天球パノラマ画像からユーザＢの視線方向にもとづいた画像を再構成して、ユーザＢのＨＭＤ１００ａに提供できるようにする。この利用環境では、ロボット１０は使用しない。
【０１１４】
図１５を参照して、画像記録部２２０は、ロボット１０から送信された画像データを記録しており、音声記録部２２２は、ロボット１０から送信された音声データを記録している。この応用技術においては、画像記録部２２０および音声記録部２２２は、ロボット１０からユーザＡに対して送信された視聴データの全てが記録済みの状態にある。なお画像データは、撮影時間情報と、撮影時のベクトル情報とを付加されており、音声データは、録音時間情報を付加されている。
【０１１５】
ユーザＢは、ＨＭＤ１００ａを通じて、処理装置２００に、ユーザＡの視聴データの再生指示を送信する。処理装置２００は、再生指示を受け付けると、視聴データの再生処理を開始する。なお記録部２１８が１時間分の視聴データを記録している場合、ユーザＢは、１時間の範囲内で、任意の時間から再生を開始できるようにしてもよい。この場合、受信部２０２は、ユーザＢから時間指定を受け付け、画像決定部２１０および音声決定部２１２に供給する。
【０１１６】
音声決定部２１２は、再生開始点からの経過時間を示す再生時間情報に対応する録音時間情報をもつ音声データを、音声記録部２２２から読み出し、視聴データ提供部２１４に提供する。再生開始点は、視聴データの再生開始点を意味し、したがって撮影開始点および録音開始点と同じタイミングを示す。音声決定部２１２は再生時間情報に録音時間情報が一致する音声データを音声記録部２２２から読み出し、視聴データ提供部２１４に提供する。
【０１１７】
処理装置２００による再生処理中、受信部２０２は、ユーザＢが装着したＨＭＤ１００ａから送信されるセンサ情報を受信し、センサ情報取得部２０４は、受信したセンサ情報を取得する。このセンサ情報は、姿勢センサ１２４がＨＭＤ１００ａの姿勢を検出した姿勢情報である。動き検出部２０６は、ユーザＢの頭部に装着されたＨＭＤ１００ａの姿勢を検出する。視線方向決定部２０８は、動き検出部２０６により検出されたＨＭＤ１００ａの姿勢に応じて、仮想カメラの視線方向を定める。画像決定部２１０は、画像記録部２２０に記録された複数の画像データを用いて、決定された視線方向に向けた仮想カメラにより撮影される画像を合成する。視聴データ提供部２１４は、画像決定部２１０で合成された画像データと、音声決定部２１２で読み出された音声データとを合わせた視聴データを、送信部２１６からＨＭＤ１００ａに提供する。
【０１１８】
画像決定部２１０は、ユーザＢによる視聴データの再生時間以前にユーザＡが見た画像をスティッチ（縫い合わせ）して、ユーザＢが位置する中心点９から撮影されるフレーム画像７を動的に生成する。
【０１１９】
ユーザＢによる視聴データの再生時間以前にユーザＡが見た画像について説明する。画像記録部２２０に、撮影開始点から１時間分の画像データが記録されている場合、ユーザＢによる再生開始点からの再生時間は、１時間以内のどこかのタイミングで特定される。たとえば再生時間が再生開始から１５分のタイミングである場合、１５分以内の撮影時間情報が付加された画像、つまり撮影開始点から１５分が経過するまでに撮影された画像が、再生時間以前にユーザＡが見た画像となる。つまり再生開始から１５分の時点を再生しているのであれば、画像決定部２１０は、撮影開始から１５分以内の撮影時間情報が付加された画像データを用いてフレーム画像７を生成し、再生開始から４５分の時点を再生しているのであれば、画像決定部２１０は、撮影開始から４５分以内の撮影時間情報が付加された画像データを用いてフレーム画像７を生成する。
【０１２０】
図１８を参照して、画像決定部２１０は、再生時間情報以前の撮影時間情報を付加された画像データを抽出するようにし、再生時間情報よりも後の撮影時間情報を付加された画像データを抽出しないようにする。たとえば、フレーム画像７を再生する時間情報が時間ｔ３より後であって、時間ｔ４より前であれば、画像決定部２１０は、画像データＩ１〜Ｉ３を抽出し、画像データＩ４、Ｉ５は抽出しない。このように、再生時間情報以前の撮影時間情報を付加された画像データを用いて合成画像を生成することで、画像決定部２１０は、再生時間よりも後に撮影された画像をユーザＢに見せないようにする。
【０１２１】
視聴データ提供部２１４は、再生時間に対応する録音時間情報をもつ音声データをＨＭＤ１００ａに送信しているため、ユーザＢは、再生時間に同期した音声を聞いている。そのため再生時間以前の状況については概ね承知しており、提供される画像データが再生時間以前の画像データから合成されたものであれば、どのような状況が表示されているかを把握できる。しかしながら提供される画像データが、再生時間より後の画像データから合成されていれば、ユーザＢは承知していない画像を見せられることになり、ユーザＢを混乱させることが予想される。そこで画像決定部２１０は、再生時間よりも後に撮影された画像をユーザＢに見せないようにする。
【０１２２】
なお画像決定部２１０は、複数の画像データのうち重複する部分については、再生時間情報に近い撮影時間情報をもつ画像データを用いて、合成画像を生成するようにする。たとえば撮影範囲内に含まれる画像で、画像データＩ１と画像データＩ２に重複する部分が存在した場合には、より後に撮影された画像データＩ２を重複部分に埋め込む。これにより、再生時間情報に近い画像データを用いて合成画像を生成できるようになり、ユーザＢには、再生時間の直近の画像データから合成した画像を提供できるようになる。
【０１２３】
以上、本発明を実施例をもとに説明した。実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１２４】
実施例では、画像決定部２１０が、イメージスティッチング処理を実施し、ユーザＢの視線方向から定まる撮影範囲のフレーム画像７を生成することを説明した。変形例では、イメージスティッチング処理を実施することなく、画像決定部２１０が、仮想カメラ８の視線方向と、画像記録部２２０に記録された画像データに付加されたベクトル情報とにもとづいて、ユーザＢに提供する画像データを決定する。
【０１２５】
この変形例で画像決定部２１０は、仮想カメラ８の視線方向に対応するベクトル情報を付加された画像データを、ユーザＢに提供する画像データとして決定する。仮想カメラ８の視線方向に対応するベクトル情報とは、仮想カメラ８の視線方向と一致するベクトル情報、および仮想カメラ８の視線方向と実質的に一致するとみなせるベクトル情報を含む。具体的には、仮想カメラ８の視線方向とベクトル情報とが所定の角度以内（たとえば１０度）にある場合に、画像決定部２１０は、仮想カメラ８の視線方向とベクトル情報とが実質的に一致することを判定してもよい。
【０１２６】
ユーザＡの視聴データを同期再生する場合、画像決定部２１０は、仮想カメラ８の視線方向に対応するベクトル情報を付加された画像データのうち、最も遅い撮影時間情報をもつ画像データを、ユーザＢに提供する画像データとして決定する。これによりユーザＢに対して、現在時刻に近い画像を提供できるようになる。
【０１２７】
仮想カメラ８の視線方向に対応するベクトル情報を付加された画像データが画像記録部２２０に記録されていない場合、画像決定部２１０は、高さ方向（ｚ軸方向）の成分を除いた（ｘ、ｙ）成分が実質的に一致するとみなせるベクトル情報を付加された画像データを、ユーザＢに提供する画像データとして決定してもよい。一致するとみなせるベクトル情報とは、（ｘ、ｙ）成分が所定角度以内（たとえば７度）の範囲にあるベクトル情報である。（ｘ、ｙ）成分のみの近似をみることで、画像決定部２１０は、仮想カメラ８の視線方向に対応するベクトル情報を付加された画像データを見つけやすくし、これによりユーザＢに画像データを提供できない事態を回避できるようになる。
【０１２８】
ユーザＡの視聴データを二次利用する場合、画像決定部２１０は、ユーザＢによる視聴データの再生時間以前にユーザＡが見た画像から、ユーザＢに提供する画像データを決定する。つまり画像決定部２１０は、再生時間情報以前の撮影時間情報を付加された画像データの中から、仮想カメラ８の視線方向に対応するベクトル情報を付加された画像データを決定する。このとき、該当する画像データが複数存在すれば、画像決定部２１０は、再生時間情報に近い撮影時間情報をもつ画像データを選択することが好ましい。
【０１２９】
なおユーザＡが横方向に首を回したときの画像データが画像記録部２２０に記録されているケースを検討する。ユーザＢがユーザＡから少し遅れて、ユーザＡと逆方向に首を回すと、ＨＭＤ１００ａに、ユーザＡが見た画像が逆再生されることが生じうる。この場合、画像データの時系列が逆転することになり、ユーザＢに違和感を生じさせる可能性がある。そのためユーザＢが連続的に視線方向を変化させる際に、ユーザＡの画像データを逆再生させることになる場合には、画像決定部２１０は、画像データを固定して、提供する画像データを変化させないようにしてもよい。
【０１３０】
情報処理システム１の有用性を高めるために、ロボット１０は、触覚センサや振動センサなど、外部からの入力を受け付ける入力センサをさらに備えてもよい。図１０に示す機能ブロックにおいて、入力センサは、出力系統２４に設けられ、入力センサのセンサ情報は、送信部９０からＨＭＤ１００に送信される。ＨＭＤ１００は、センサ情報を出力する出力手段を備え、センサ情報を振動などに変換してユーザＡに伝達してもよい。
【０１３１】
また情報処理システム１では、ロボット１０が、ユーザＡの首の動きに筐体２０を連動させることを説明したが、さらにユーザＡの表情などの状態を伝達する手段を有してもよい。たとえばＨＭＤ１００は、装着したユーザＡの目や眉の動きを検出するセンサや、声の調子を解析する手段などを備える。目や眉の動きは、ユーザの表情を表現するものであり、また声の調子は、ユーザの心理状態を表現する。目や眉の動きおよび／または声の調子に関する情報は、ＨＭＤ１００からロボット１０に送信され、ロボット１０は、筐体２０に設けた表情ユニットを駆動して、ユーザＡの表情、心理状態などを再現してもよい。表情ユニットは、筐体２０の前面においてカメラ１４の上部に形成した駆動部（たとえば眉の形状を模したもの）であってよく、ＨＭＤ１００から送信された情報をもとに、駆動部が駆動される。また表情ユニットは、ユーザＡの表情や心理状態を色で表現するディスプレイであってよく、表示色を変化させることで、ユーザＡの表情や心理状態を表現してもよい。
【符号の説明】
【０１３２】
１・・・情報処理システム、１０・・・ロボット、１２・・・アクチュエータ装置、１４ａ・・・右カメラ、１４ｂ・・・左カメラ、１６ａ・・・右マイク、１６ｂ・・・左マイク、２０・・・筐体、２２・・・入力系統、２４・・・出力系統、３０・・・台座、３２・・・第１円弧状アーム、３２ａ・・・第１貫通長孔、３４・・・第２円弧状アーム、３４ａ・・・第２貫通長孔、３６・・・ハウジング、３８・・・カバー、４０・・・脚部、４２・・・挿通部材、４２ａ・・・第１規制部、４２ｂ・・・第２規制部、４２ｃ・・・軸部、５０・・・駆動機構、５２・・・第１モータ、５４・・・第２モータ、５６・・・第３モータ、６０・・・受信部、６２・・・センサ情報取得部、６４・・・動き検出部、６６・・・視線方向決定部、６８・・・アクチュエータ制御部、７０・・・音声データ取得部、７２・・・音声処理部、８０・・・画像処理部、８２・・・音声処理部、８２ａ・・・位相差増幅装置、８４ａ・・・第１増幅器、８４ｂ・・・第２増幅器、８６ａ・・・第１加算器、８６ｂ・・・第２加算器、８８ａ・・・第３増幅器、８８ｂ・・・第４増幅器、９０・・・送信部、９２・・・画像記録装置、１００・・・ＨＭＤ、１０２・・・表示パネル、１０４・・・イヤホン、１０６・・・マイク、１０８・・・装着バンド、１１０・・・出力機構部、１１２・・・装着機構部、１１４・・・筐体、１２０・・・制御部、１２２・・・記憶部、１２４・・・姿勢センサ、１２６・・・通信制御部、２００・・・処理装置、２０２・・・受信部、２０４・・・センサ情報取得部、２０６・・・動き検出部、２０８・・・視線方向決定部、２１０・・・画像決定部、２１２・・・音声決定部、２１４・・・視聴データ提供部、２１６・・・送信部、２１８・・・記録部、２２０・・・画像記録部、２２２・・・音声記録部。
【図１】
0006518620.tif 000002
【図２】
0006518620.tif 000003
【図３】
0006518620.tif 000004
【図４】
0006518620.tif 000005
【図５】
0006518620.tif 000006
【図６】
0006518620.tif 000007
【図７】
0006518620.tif 000008
【図８】
0006518620.tif 000009
【図９】
0006518620.tif 000010
【図１０】
0006518620.tif 000011
【図１１】
0006518620.tif 000012
【図１２】
0006518620.tif 000013
【図１３】
0006518620.tif 000014
【図１４】
0006518620.tif 000015
【図１５】
0006518620.tif 000016
【図１６】
0006518620.tif 000017
【図１７】
0006518620.tif 000018
【図１８】
0006518620.tif 000019