JP2024088982A - 情報処理装置、情報処理システム、制御プログラムおよび制御方法 - Google Patents

情報処理装置、情報処理システム、制御プログラムおよび制御方法 Download PDF

Info

Publication number
JP2024088982A
JP2024088982A JP2022204073A JP2022204073A JP2024088982A JP 2024088982 A JP2024088982 A JP 2024088982A JP 2022204073 A JP2022204073 A JP 2022204073A JP 2022204073 A JP2022204073 A JP 2022204073A JP 2024088982 A JP2024088982 A JP 2024088982A
Authority
JP
Japan
Prior art keywords
image
avatar
display device
operator
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
Application number
JP2022204073A
Other languages
English (en)
Inventor
昇吾 西口
崇志 三上
浩 石黒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JP2024088982A publication Critical patent/JP2024088982A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】対話相手のアバターまたはアバターの操作者と親密に関わる情報処理装置、情報処理システム、制御プログラム及び制御方法を提供する。
【解決手段】情報処理システムにおいて、ユーザ端末は、アバター画像102の操作者と対話する場合に、対話画面100を表示する。対話画面は、アバター画像102、窓部画像104及び枠画像106を含む。枠画像は、表示装置30の背後を背面カメラで撮影した背後の映像の前面に窓部画像を重ねることで生成される。また、アバター画像は、窓部画像の前面に表示される。通常の大きさでは、アバター画像は窓部画像の範囲に収まる。また、操作者の指示に従って、アバター画像は拡大され、表示装置の背後の場景と同じ色又は模様の枠画像の前面に重なって表示される。つまり、アバターが窓画像に表示されたシーンから飛び出し、ユーザはユーザと同じ空間にアバターが存在するような錯覚を起こす。
【選択図】図6

Description

この発明は、情報処理装置、情報処理システム、制御プログラムおよび制御方法に関し、特にたとえば、アバターの画像または対話相手の画像を表示してユーザと対話する、情報処理装置、情報処理システム、制御プログラムおよび情報処理方法に関する。
この種の情報処理装置の一例が特許文献1に開示される。この特許文献1に開示されるコミュニケーションシステムでは、テレイグジスタンスモードが設定された状態で、オペレータ端末は、オペレータの表情およびジェスチャを座標データに変換し、応答音声データと共に応対端末へ送信する。応対端末は、オペレータ端末から送られた座標データに基づいてアバターを生成することで、オペレータの表情およびジェスチャがアバターの表情および仕草に反映されたキャラクタ応対情報を生成し、ユーザに向けて表示する。
この種の情報処理装置の他の例が非特許文献1および非特許文献2に開示される。非特許文献1および非特許文献2に開示されるWeb会議システムまたはオンライン会議システムでは、複数の人間が自身の端末の表示装置に会議の他の参加者の映像を表示して、会話することができる。
特開2021-56940号
https://zoomgov.com/jp-jp/meetings.html https://www.microsoft.com/ja-jp/microsoft-teams/group-chat-software
上記の特許文献1では、応対端末において、表示部の画面は2次元であり、アバター画像が3次元CG画像データを用いて生成されたとしても、アバターは平面的に表示されるため、キャラクタ応対情報に基づくアバター画像が表示部に表示されたとしても、ユーザはアバターと同じ空間に居るように感じることはできず、アバターと親密に関わることが難しい。
また、非特許文献1および非特許文献2では、会議の参加者の映像を表示するが、特許文献1と同様に、各参加者が使用する端末のディスプレイの画面は2次元であり、他の参加者の映像は平面的に表示されるため、1対1で対話する場合であっても、参加者は他の参加者と同じ空間に居るように感じることはできず、他の参加者と親密に関わることが難しい。
それゆえに、この発明の主たる目的は、新規な、情報処理装置、情報処理システム、制御プログラムおよび制御方法を提供することである。
また、この発明の他の目的は、対話相手であるアバターまたはアバターの操作者と親密に関わることができる、情報処理装置、情報処理システム、制御プログラムおよび制御方法を提供することである。
第1の発明は、対話相手の端末と通信可能に接続される情報処理装置であって、表示装置、表示装置の背後を撮影するカメラ、カメラで撮影された表示装置の背後の映像を用いて枠画像を当該表示装置に表示する枠画像表示手段、アバターの画像または対話相手の画像を枠画像の前面に表示装置に表示する対話相手表示手段、およびアバターの画像または対話相手の画像を枠画像に重なる大きさに拡大する拡大手段を備える、情報処理装置である。
第2の発明は、第1の発明に従属し、対話相手の端末からの指示または通知を受信する受信手段、拡大手段は、受信手段によって拡大指示を受信したことに応じて、アバターの画像または対話相手の画像を枠画像に重なる大きさに拡大する。
第3の発明は、第2の発明に従属し、受信手段によって戻す指示を受信したことに応じて、アバターの画像または対話相手の画像を元の大きさに戻す復元手段をさらに備える。
第4の発明は、第2の発明に従属し、対話相手の端末にアバターの画像または対話相手の画像を拡大することを要求する拡大要求手段、拡大手段は、拡大要求手段によって要求されたことに応じて、受信手段によって承諾通知を受信した場合に、アバターの画像または対話相手の画像を拡大し、受信手段によって拒否通知を受信した場合に、アバターの画像または対話相手の画像を拡大しない。
第5の発明は、第3の発明に従属し、対話相手の端末にアバターの画像または対話相手の画像を元の大きさに戻すことを要求する復元要求手段、復元手段は、復元要求手段によって要求されたことに応じて、受信手段によって承諾通知を受信した場合に、アバターの画像または対話相手の画像を元の大きさに戻し、受信手段によって拒否通知を受信した場合に、アバターの画像または対話相手の画像を元に戻さない。
第6の発明は、対話相手の端末と通信可能に接続される情報処理装置を備える、情報処理システムであって、情報処理装置は、表示装置、表示装置の背後を撮影するカメラ、カメラで撮影された表示装置の背後の映像を用いて枠画像を当該表示装置に表示する枠画像表示手段、アバターの画像または対話相手の画像を枠画像の前面に表示装置に表示する対話相手表示手段、対話相手の端末からの拡大指示を受信する受信手段、および受信手段によって拡大指示を受信したことに応じて、アバターの画像または対話相手の画像を枠画像に重なる大きさに拡大する拡大手段を備え、対話相手の端末は、対話相手の操作を検出する操作検出手段、および操作検出手段によってアバターの画像を拡大する拡大指示を検出した場合に、拡大指示を情報処理装置に送信する送信手段を備える、情報処理システムである。
第7の発明は、表示装置、および表示装置の背後を撮影するカメラを備え、対話相手の端末と通信可能に接続される情報処理装置で実行される制御プログラムであって、情報処理装置のプロセッサに、カメラで撮影された表示装置の背後の映像を用いて枠画像を当該表示装置に表示する枠画像表示ステップ、アバターの画像または対話相手の画像を枠画像の前面に表示装置に表示する対話相手表示ステップ、およびアバターの画像または対話相手の画像を枠画像に重なる大きさに拡大する拡大ステップを実行させる、制御プログラムである。
第8の発明は、表示装置、および表示装置の背後を撮影するカメラを備え、対話相手の端末と通信可能に接続される情報処理装置の制御方法であって、カメラで撮影された表示装置の背後の映像を用いて枠画像を当該表示装置に表示するステップ、アバターの画像または対話相手の画像を枠画像の前面に表示装置に表示するステップ、およびアバターの画像または対話相手の画像を枠画像に重なる大きさに拡大するステップを含む、制御方法である。
この発明によれば、対話相手であるアバターまたはアバターの操作者と親密に関わることができる。
この発明の上述の目的、その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1はこの発明の一実施例の情報処理システムを示す図である。 図2は図1に示すユーザ端末の電気的な構成の一例を示すブロック図である。 図3は図1に示す操作者端末の電気的な構成の一例を示すブロック図である。 図4は図1に示すユーザ端末の表示装置に表示される対話画面の一例および表示装置が配置されている状態の一例を示す図である。 図5は図1に示すユーザ端末が配置されている状態を横から見た場合の一例を示す図である。 図6は図4に示す対話画面の他の例を示す図である。 図7は図1に示す操作者端末の表示装置に表示される操作者側画面の一例を示す図である。 図8は図2に示すユーザ端末のRAMのメモリマップの一例を示す図である。 図9は図3に示す操作者端末のRAMのメモリマップの一例を示す図である。 図10は図2に示すユーザ端末のCPUの制御処理の一例の一部を示すフロー図である。 図11は図2に示すユーザ端末のCPUの制御処理の一例の他の一部であって、図10に後続するフロー図である。 図12は図3に示す操作者端末のCPUの制御処理の一例の一部を示すフロー図である。 図13は図3に示す操作者端末のCPUの制御処理の一例の他の一部であって、図12に後続するフロー図である。 図14は第2実施例のユーザ端末の表示装置に表示される対話画面の一例および表示装置が配置されている状態の一例を示す図である。 図15は第2実施例の操作者端末の表示装置に表示される拡大諾否画面の一例を示す図である。 図16は図14に示す対話画面の他の例を示す図である。 図17は第2実施例の操作者端末の表示装置に表示される引っ込み諾否画面の一例を示す図である。 図18は第2実施例のユーザ端末のCPUの制御処理の一例の一部を示すフロー図である。 図19は第2実施例のユーザ端末のCPUの制御処理の一例の他の一部であって、図18に後続するフロー図である。 図20は第2実施例の操作者端末のCPUの制御処理の一例の一部を示すフロー図である。 図21は第2実施例の操作者端末のCPUの制御処理の一例の他の一部であって、図20に後続するフロー図である。 図22は第3実施例のユーザ端末のCPUの制御処理の一例の一部を示すフロー図である。 図23は第3実施例のユーザ端末のCPUの制御処理の一例の他の一部であって、図22に後続するフロー図である。 図24は第3実施例の操作者端末のCPUの制御処理の一例の一部を示すフロー図である。
<第1実施例>
図1を参照して、この第1実施例の情報処理システム10はユーザ端末12を含み、ユーザ端末12は、ネットワーク14を介して、操作者端末16に通信可能に接続される。
一例として、Web Real-Time Communication (WebRTC)の技術によって、ユーザ端末12と操作者端末16がP2P(Peer to Peer)通信を行い、Webブラウザを介して映像または/および音声をリアルタイムに送受信することができる。
図示は省略するが、WebRTCは、複数のサーバを組み合わせて利用することが可能である。具体的には、WebRTCを利用するための複数のサーバには、シグナリングサーバ、スタン(STUN)サーバ及びターン(TURN)サーバ等が含まれる。詳細な説明は省略するが、シグナリングサーバは、WebRTCによる通信相手に関する情報を取得するためのサーバである。また、スタンサーバおよびターンサーバは通信相手が異なるネットワークに存在している場合にいわゆるNAT(Network Address Translation)越えをするためのサーバである。
この第1実施例では、1台のユーザ端末12および1台の操作者端末16を示すが、実際には、複数のユーザ端末12および複数の操作者端末16がネットワーク14に接続されており、そのうちのビデオ通話またはWeb会議を行うことが設定された1台のユーザ端末12および1台の操作者端末16が通信可能に接続される。
ユーザ端末12はユーザによって使用され、操作者端末16は操作者によって使用される。この第1実施例では、操作者のアバターに対応するアバターの画像がユーザ端末12の表示装置30に表示され、アバターを通してユーザと操作者が対話する。操作者は、アバターを操作してユーザと対話する。つまり、ユーザは、操作者端末16の操作者によって提供されるアバターを用いた対話サービスを使用する者である。
ユーザ端末12は、情報処理装置であり、汎用のノート型PC、デスクトップ型PC、タブレット端末またはスマートフォンを用いることができる。
ネットワーク14は、インターネットを含むIP網(または、IPネットワーク)と、このIP網にアクセスするためのアクセス網(または、アクセスネットワーク)とから構成される。アクセス網としては、公衆電話網、携帯電話網、有線LAN、無線LAN、CATV(Cable Television)等を用いることができる。
操作者端末16は、ユーザ端末12とは異なる他の情報処理装置であり、一例として、汎用のノート型PCまたはデスクトップ型PCであるが、スマートフォンまたはタブレットPCなどの他の汎用の端末を用いることもできる。
図2は図1に示したユーザ端末12の電気的な構成の一例を示すブロック図である。図2に示すように、ユーザ端末12はCPU20を含み、CPU20は、内部バスを介して、RAM22、通信インタフェース(以下、「通信I/F」という)24および入出力インタフェース(以下、「入出力I/F」という)26に接続される。
CPU20は、ユーザ端末12の全体的な制御を司る。ただし、CPU20に代えて、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)を設けてもよい。
RAM22は、主記憶装置であり、CPU20のワーク領域またはバッファ領域として使用される。図示は省略するが、ユーザ端末12には、補助記憶装置として、HDDおよびROMが設けられる。ただし、HDDに代えて、または、HDDに加えて、SSD等の不揮発性メモリが使用されてもよい。
通信I/F24は、CPU20の制御の下、ネットワーク14を介して、操作者端末16などの外部のコンピュータとの間で、制御信号およびデータの送受信を行うための有線インタフェースである。ただし、通信I/F24としては、無線LANまたはBluetooth(登録商標)等の無線インタフェースを使用することもできる。
入出力I/F26には、入力装置28、表示装置30、マイク32、スピーカ34、前面カメラ36および背面カメラ38が接続されている。入力装置28は、キーボードおよびコンピュータマウスである。さらに、タッチパネルが設けられる場合もある。タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
表示装置30は、一例として、液晶表示装置である。マイク32は、汎用の収音マイクである。スピーカ34は、汎用のステレオスピーカである。前面カメラ36および背面カメラ38は、それぞれ、汎用のCCDカメラである。
また、入出力I/F26は、入力装置28から入力された操作データ(または、操作情報)をCPU20に出力するとともに、CPU20によって生成された画像データを表示装置30に出力して、画像データに対応する画面または画像を表示装置30に表示させる。ただし、外部のコンピュータ(たとえば、操作者端末16)から受信した画像データがCPU20によって出力される場合もある。
また、入出力I/F26は、マイク32で検出されたユーザの音声をデジタルの音声データ(以下、「ユーザ音声データ」という)に変換してCPU20に出力したり、CPU20によって出力される音声データをアナログの音声信号に変換してスピーカ34から出力させたり、前面カメラ36で撮影(検出)されたユーザを含む映像の映像データ(以下、「ユーザ映像データ」という)をCPU20に出力したり、背面カメラ38で撮影(検出)された表示装置30の背後の映像の映像データ(以下、「背後映像データ」という)をCPU20に出力したりする。
ただし、この第1実施例では、CPU20から出力される音声データは、操作者端末16から受信した操作者の音声データまたは操作者の音声をアバターの音声に変換した音声データである。以下、これらの音声データを操作者音声データと呼ぶことにする。
また、ユーザを含む映像は一例として動画像である。背後の映像は動画像または静止画像である。後述するように、この第1実施例では、背後の映像は、表示装置30に表示される枠画像106に用いられる。したがって、この枠画像106は、表示装置30の背後の場景と同じ色または同じ模様であり、背後の場景に溶け込む。据置型の表示装置30が使用される場合には、基本的に背後の場景が変化することはないため、背後の映像は静止画像にすることができる。可搬型(携帯型)の表示装置30(ユーザ端末12)が使用される場合には、背後の場景が変化することがあるため、背後の映像は動画像にした方がよいと考えられる。
なお、図2に示すユーザ端末12の電気的な構成は一例であり、限定される必要はない。
また、ユーザ端末12がスマートフォンである場合には、携帯電話通信網、または、携帯電話網および公衆電話網を介して、通話するための通話回路を備えるが、この第1実施例では、そのような通話は行わないため、図示は省略してある。
図3は図1に示した操作者端末16の電気的な構成を示すブロック図である。図3に示すように、操作者端末16はCPU50を含み、CPU50は、内部バスを介して、RAM52、通信I/F54および入出力I/F56に接続される。
CPU50は、操作者端末16の全体的な制御を司る。ただし、CPU50に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。
RAM52は、主記憶装置であり、CPU50のワーク領域またはバッファ領域として使用される。図示は省略するが、操作者端末16には、補助記憶装置として、HDDおよびROMが設けられる。ただし、HDDに代えて、または、HDDに加えて、SSD等の不揮発性メモリが使用されてもよい。
通信I/F54は、CPU50の制御の下、ネットワーク14を介して、操作者端末16などの外部のコンピュータとの間で、制御信号およびデータの送受信を行うための有線インタフェースである。ただし、通信I/F54としては、無線LANまたはBluetooth(登録商標)等の無線インタフェースを使用することもできる。
入出力I/F56には、入力装置58、表示装置60、マイク62、スピーカ64およびカメラ66が接続されている。入力装置58は、キーボードおよびコンピュータマウスである。さらに、タッチパネルが設けられる場合もある。タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
表示装置60は、一例として、液晶表示装置である。マイク62は、汎用の収音マイクである。スピーカ64は、汎用のステレオスピーカである。カメラ66は、汎用のCCDカメラである。
ただし、操作者端末16として、スマートフォンまたはタブレットPCが用いられる場合には、入力装置58は、タッチパネルおよびハードウェアのボタンである。
また、入出力I/F56は、入力装置58から入力された操作データ(または、操作情報)をCPU50に出力し、また、CPU50によって生成された画像データを表示装置60に出力して、画像データに対応する画面を表示装置60に表示させる。ただし、外部のコンピュータ(たとえば、ユーザ端末12)から受信した画像データがCPU50によって出力される場合もある。ユーザ端末12から受信した画像データは、ユーザ映像データである。
また、入出力I/F56は、マイク62で検出された操作者の音声をデジタルの音声データに変換してCPU50に出力したり、CPU50によって出力される音声データをアナログの音声信号に変換してスピーカ64から出力させたり、カメラ66で撮影(検出)された操作者の映像の映像データ(以下、「操作者映像データ」という)をCPU50に出力したりする。ただし、この第1実施例では、CPU50から出力される音声データは、ユーザ端末12から受信したユーザ音声データである。また、操作者の映像は動画像である。
なお、図3に示す操作者端末16の電気的な構成は一例であり、限定される必要はない。
また、操作者端末16がスマートフォンである場合には、携帯電話通信網、または、携帯電話網および公衆電話網を介して、通話するための通話回路を備えるが、この第1実施例では、そのような通話は行わないため、図示は省略してある。
以下、この第1実施例の情報処理システム10の動作について説明する。このような情報処理システム10では、ユーザ端末12のユーザと、操作者端末16の操作者が、このユーザ端末12およびこの操作者端末16を用いてビデオ通話またはWeb会議を行う。
図4はビデオ通話またはWeb会議(または、オンライン会議)を行う場合にユーザ端末12の表示装置30に表示される対話画面100の一例および表示装置30が配置されている状態を表示装置30の正面側から見た場合の一例を示す。また、図5はユーザ端末12(表示装置30)が配置されている状態を表示装置30の横方向から見た場合の一例を示す。ただし、図4および図5では、壁および机の一部を図示してある。
図4および図5に示すように、一例として、ユーザ端末12の表示装置30はユーザの部屋内に配置された机の上に配置され、表示装置30の背後にはこのユーザの部屋の壁が設けられる。一例として、壁には、縦縞模様の壁紙が貼り付けられているものとする。また、表示装置30の中央の上端部に、マイク32内蔵またはマイク32付きの前面カメラ36が配置される。背面カメラ38は、表示装置30の表示部の背面側の中心またはほぼ中心であり、表示部を支持する支持部の少し上方に配置される。図5ではユーザの一部を示すが、一例として、ユーザは、表示装置30に対面する位置に座って、この表示装置30に表示されたアバターまたはアバターの操作者と対話する。
なお、図4および図5では、ユーザ端末12の本体、入力装置28およびスピーカ34は省略するが、これらも表示装置30の近傍または周辺に配置される。ただし、ユーザ端末12の本体は、CPU20、RAM22、通信I/F24および入出力I/F26などを筐体に収納した装置のことである。
また、図5に示す前面カメラ36および背面カメラ38の配置位置は一例であり、限定される必要はない。前面カメラ36は、ユーザの顔を撮影できる位置であれば、他の位置でもよい。また、背面カメラ38は、表示装置30の背後の場景を撮影できる位置であれば、他の位置でもよい。
また、図4に示すように、対話画面100には、アバター画像102、窓部画像104および枠画像106が含まれる。枠画像106は、表示装置30の背後を背面カメラ38で撮影した映像(動画または静止画)の前面に、所定の大きさおよび形状の窓部画像104を、各々の中心を合わせて重ねることで表示される。一例として、表示装置30の背後の映像(以下、「背後映像」という)は表示装置30の横長の長方形の表示部(または、表示面)の全範囲に表示される。また、一例として、窓部画像104は、横長の長方形であり、表示装置30の表示面の大きさの3分の2の大きさである。この実施例では、窓部画像104を白色で示してあるが、実際には、仮想の部屋などのシーンが窓部画像104として表示される。
アバター画像102は、窓部画像104の前面に表示される。図4に示す対話画面100では、アバター画像102は、窓部画像104の範囲内に収まる大きさ(以下、「通常の大きさ」という)で表示される。図4に示すように、アバター画像102は、その頭部から腰部までが窓部画像104の範囲内に収まっている。後述するように、アバター画像102を所定の倍率で拡大した場合に、アバター画像102が窓部画像104からはみ出すように、通常の大きさは設定される。一例として、通常の大きさは、アバター画像102の縦の長さが窓部画像104の縦の長さの95%の長さになるように、設定される。したがって、アバターは、窓部画像104に表示された仮想の部屋などのシーンに存在するように見える。
この第1実施例では、表示装置30に表示されるアバターの動作および音声は、操作者端末16の操作者の動作および音声に基づいて制御される。動作は、身振り手振り、顔の向きおよび顔の表情を含む。操作者の動作は、操作者端末16のカメラ66で撮影された操作者の映像から検出される。操作者の音声は、マイク62で検出される。
操作者端末16では、操作者の動作に基づいてアバターの動作を制御するための動作データが生成され、操作者の音声に基づいてアバターの発話(音声の出力)を制御するための音声データが生成される。動作データは、アバターの身振り手振り、顔の向きおよび顔の表情を制御するための各部位の位置および向きの情報(データ)である。具体的には、動作データは、顔の各部位すなわち眉毛、眼(上瞼、下瞼)、鼻および口(上唇、下唇)の位置(座標データ)と、顔の向き、手、腕、肩、腰、膝および足首の位置(座標データ)と、手首および足首の向きについての情報である。ただし、アバターの腰から下を表示しない場合には、膝および足首の位置および向きについての情報は動作データに含めなくてもよい。また、音声データは、操作者の音声をアバターの音声に変換した音声のデータである。ただし、音声データは、操作者の音声のデータをそのまま用いることもできる。
なお、操作者の動作に基づいてアバターの動作を制御するための動作データは、一例として、MediaPipe Holisticのような画像処理ライブラリを用いて生成することができる。他の例では、背景技術の特開2021-56940号に開示された方法を用いることもできる。
ユーザ端末12では、動作データに従ってアバター画像102を変化させる。したがって、アバターは動作される。また、ユーザ端末12は、受信した操作者音声データをスピーカ34に出力する。つまり、ユーザ端末12は、操作者端末16からの指示に従って表示装置30に表示されるアバター画像102(アバター)を制御する。ただし、操作者端末16からの指示は、動作データのみ、または、動作データおよび操作者音声データである。
一方、ユーザを含む映像が前面カメラ36で撮影され、前面カメラ36で撮影された映像に対応する映像データすなわちユーザ映像データはユーザ端末12から操作者端末16に送信される。また、ユーザの音声はマイク32で検出され、マイク32で検出された音声に対応する音声データすなわちユーザ音声データはユーザ端末12から操作者端末16に送信される。ユーザ映像データは、操作者端末16の表示装置60に出力され、ユーザ音声データは、操作者端末16のスピーカ64から出力される。したがって、操作者はユーザの様子を見たり聞いたりしながら、アバターを制御することができる。
また、ユーザとアバター(または、操作者)が対話中に、ユーザまたはアバターの呼び掛け(または、依頼)により、アバターをユーザ側に飛び出させることができる。ユーザの呼び掛けに操作者が承諾し、または、操作者の呼び掛けにユーザが承諾すると、操作者はアバターを飛び出させることを指示する。つまり、操作者端末16からユーザ端末12にアバターを飛び出させることの指示(以下、「飛び出し指示」という)が送信される。
ユーザ端末12は、アバターの飛び出し指示を受信すると、アバター画像102を所定の倍率で拡大して表示する。図6は拡大されたアバター画像102を含む対話画面100の一例を示す。この第1実施例では、アバター画像102は、通常の大きさの1.5倍の大きさに拡大される。このように拡大する所定の倍率を1.5倍に設定するのは、窓部画像104の大きさを背後映像の大きさの3分の2にしているためであり、窓部画像104の範囲に収まる通常の大きさのアバター画像102を窓部画像104からはみ出す大きさにするためである。したがって、拡大する所定の倍率は、アバター画像102の大きさまたは/および窓部画像104の大きさに応じて適宜設定される。
図6からも分かるように、拡大されたアバター画像102は窓部画像104からはみ出し、枠画像106の前面に表示されている。このため、表示装置30の表示面は2次元であるが、アバター(アバター画像102)が窓部画像104に表示されたシーン(または、表示装置30)から飛び出し、ユーザはユーザの部屋すなわちユーザと同じ空間にアバターが存在するような錯覚を起こす。また、この第1実施例では、枠画像106は表示装置30の背後を撮影した映像を用いれ表示され、表示装置30の枠画像106の部分が壁と同じ色または同じ模様である。このため、対話画面100のうちの少なくとも枠画像106の部分が表示装置30の背後の場景に溶け込み、ユーザはアバターがユーザ自身と同じ空間に存在することをより強く感じることができる。したがって、アバターに対するユーザの親密度が高くされる。つまり、ユーザは対話相手であるアバターまたは操作者と親密に関わることができる。
図4および図6では、分かり易く示すために、縞模様の壁紙が壁に貼り付けられ、その縞模様と枠画像106の縞模様がぴったり合うようにこの枠画像106が表示される例を示してあるが、多少ずれていても壁紙と枠画像106は同じ模様であるため、ユーザはアバターがユーザ自身と同じ空間に存在するような錯覚を起こす。また、一般的には、壁の色は単色であることが多いため、アバターがユーザ自身と同じ空間に存在するような錯覚をユーザに起こさせ易いと考えられる。
なお、据置型の表示装置30を用いる場合には、壁と表示装置30の距離または/および背面カメラ38の画角を調整するなどして、壁紙と枠画像106の模様をぴったり合うように調整することができる。また、据置型の表示装置30が壁際に置かれる場合、背面カメラ38と壁との距離は大抵短くなるため、広角のカメラを使用して、撮影される映像の歪みが補正される。さらに、暗い場所での撮影になる場合には、背面カメラ38として高感度のカメラを用いたり、照明を当てたりすることも考えられる。
また、アバターが飛び出している状態で、ユーザとアバター(または、操作者)が対話中に、ユーザまたはアバターの呼び掛け(または、依頼)により、アバターをユーザ側から引っ込めさせることもできる。ユーザの呼び掛けに操作者が承諾し、または、操作者の呼び掛けにユーザが承諾すると、操作者はアバターを引っ込めさせることを指示する。つまり、操作者端末16からユーザ端末12にアバターを引っ込めさせることの指示(以下、「引っ込み指示」という)が送信される。
ユーザ端末12は、アバターの引っ込み指示を受信すると、アバター画像102を通常の大きさで表示する。したがって、図4に示したように、アバター画像102は、窓部画像104の範囲に収まる通常の大きさで表示される。
図7は操作者端末16の表示装置60に表示される操作者側画面200の一例を示す。図7に示すように、操作者側画面200は、画面の中央の少し上方に表示領域202を含む。また、操作者側画面200には、画面の右上部に、ボタン画像210が設けられ、画面の下端部に、ボタン画像212およびボタン画像214が横並びで設けられる。
表示領域202は、ユーザ映像データを出力する領域である。ボタン画像210は、ユーザとの対話を終了するためのアイコンである。ボタン画像212は、ユーザ端末12にアバターの飛び出し指示を送信するためのアイコンである。ボタン画像214は、ユーザ端末12にアバターの引っ込み指示を送信するためのアイコンである。
なお、ボタン画像212は、アバターが飛び出している場合には、オンできない状態にされてもよい。また、ボタン画像214は、アバターが飛び出していない場合には、オンできない状態にされてもよい。ボタン画像212、214をオンできない状態には、ボタン画像212、214を非表示することが含まれる。
図8はユーザ端末12に内蔵されるRAM22のメモリマップ300の一例を示す。図8に示すように、RAM22は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、この第1実施例のユーザ端末12で実行される制御プログラムが記憶されている。
ユーザ端末12で実行される制御プログラムは、メイン処理プログラム302a、操作検出プログラム302b、通信プログラム302c、画像生成プログラム302d、画像出力プログラム302e、撮影プログラム302f、アバター制御プログラム302g、音声検出プログラム302hおよび音声出力プログラム302iなどを含む。
メイン処理プログラム302aは、この第1実施例のユーザ端末12の制御処理のメインルーチンを実行するためのプログラムである。
操作検出プログラム302bは、ユーザの操作に従って入力装置28から入力される操作データ304aを検出し、データ記憶領域304に記憶するためのプログラムである。
通信プログラム302cは、外部の機器、この第1実施例では、操作者端末16と通信(データ等の送信および受信)するためのプログラムである。
画像生成プログラム302dは、表示装置30に表示するための画面(100など)の全部または一部に対応する画像データを、画像生成データ304bを用いて生成するためのプログラムである。
画像出力プログラム302eは、画像生成プログラム302dに従って生成した画像データを表示装置30に出力するためのプログラムである。したがって、画像データに対応する画面が表示装置30に表示される。
撮影プログラム302fは、前面カメラ36に撮影処理を実行させ、前面カメラ36から入力されるユーザ映像データ304cをデータ記憶領域304に記憶するためのプログラムである。また、撮影プログラム302fは、背面カメラ38に撮影処理を実行させ、背面カメラ38から入力される背後映像データ304dをデータ記憶領域304に記憶するためのプログラムである。
アバター制御プログラム302gは、動作データ304fまたは反応データ504gを用いて、アバターを動作させるためのプログラムである。
音声検出プログラム302hは、マイク32から入力されるユーザの音声を検出し、検出した音声に対応するユーザ音声データ304eをデータ記憶領域304に記憶するためのプログラムである。
音声出力プログラム302iは、操作者端末16から受信した操作者音声データ304gをスピーカ34に出力するためのプログラムである。したがって、操作者音声データ304gに対応する音声がスピーカ34から出る。
図示は省略するが、プログラム記憶領域302には、ユーザ端末12のオペレーティングシステム、ミドルウェアの他に、ブラウザ、本願の制御プログラム以外の他のアプリケーション・プログラムも記憶される。
また、データ記憶領域304には、操作データ304a、画像生成データ304b、ユーザ映像データ304c、背後映像データ304d、ユーザ音声データ304e、動作データ304fおよび操作者音声データ304gなどが記憶される。
操作データ304aは、操作検出プログラム302bに従って検出されたユーザの操作のデータである。操作データ304aは、CPU20の処理に使用されると、データ記憶領域304から消去される。
画像生成データ304bは、ユーザ端末12の表示装置30に表示される画面を生成するためのデータであり、アバター画像102を生成するためのデータを含む。
ユーザ映像データ304cは、前面カメラ36で撮影された映像のデータである。このユーザ映像データ304cは、基本的には、ユーザを含む映像のデータであるが、ユーザが席を離れるなどして前面カメラ36の撮影範囲外に出た場合には、映像にユーザが含まれない場合もある。ユーザ映像データ304cは、CPU20によって操作者端末16に送信されると、データ記憶領域304から消去される。
背後映像データ304dは、背面カメラ38で撮影された表示装置30の背後映像のデータである。背後映像データ304dは、CPU20の処理に使用されると、データ記憶領域304から消去される。
ユーザ音声データ304eは、マイク32で検出されたユーザの音声のデータである。ユーザ音声データ304eは、CPU20によって操作者端末16に送信されると、データ記憶領域304から消去される。
動作データ304fは、操作者端末16から受信した動作データである。動作データ304fは、CPU20の処理に使用されると、データ記憶領域304から消去される。操作者音声データ304gは、操作者端末16から受信した操作者音声データである。操作者音声データ304gは、CPU20によってスピーカ34に出力されると、データ記憶領域304から消去される。
また、データ記憶領域304には、飛び出しフラグ304hが設けられる。飛び出しフラグ304hは、アバターを飛び出させるかどうかを判断するためのフラグである。アバターを飛び出させる場合には、飛び出しフラグ304hはオンされ、アバターを飛び出させない場合および飛び出したアバターを引っ込めさせる場合には、飛び出しフラグ304hはオフされる。
図示は省略するが、データ記憶領域304には、制御処理を実行するために必要な他のデータが記憶されたり、制御処理を実行するために必要なタイマ(カウンタ)および他のフラグが設けられたりする。
図9は操作者端末16に内蔵されるRAM52のメモリマップ400の一例を示す。図9に示すように、RAM52は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、この第1実施例の操作者端末16で実行される制御プログラムが記憶されている。
操作者端末16で実行される制御プログラムは、メイン処理プログラム402a、操作検出プログラム402b、通信プログラム402c、画像生成プログラム402d、画像出力プログラム402e、撮影プログラム402f、動作データ生成プログラム402g、音声検出プログラム402hおよび音声出力プログラム402iなどを含む。
メイン処理プログラム402aは、この第1実施例の操作者端末16の制御処理のメインルーチンを実行するためのプログラムである。
操作検出プログラム402bは、操作者の操作に従って入力装置58から入力される操作データ404aを検出し、データ記憶領域404に記憶するためのプログラムである。
通信プログラム402cは、外部の機器、この第1実施例では、ユーザ端末12と通信するためのプログラムである。
画像生成プログラム402dは、表示装置60に表示するための画面に対応する画像データを、画像生成データ404bを用いて生成するためのプログラムである。ただし、図7に示したような操作者側画面200に対応する画像データを生成する場合には、ユーザ映像データ404fも用いられる。
画像出力プログラム402eは、画像生成プログラム402dに従って生成した画像データを表示装置60に出力するためのプログラムである。したがって、画像データに対応する画面が表示装置60に表示される。
撮影プログラム402fは、カメラ66に撮影処理を実行させ、カメラ66から入力される操作者映像データ404cをデータ記憶領域404に記憶するためのプログラムである。
動作データ生成プログラム402gは、操作者映像データ404cから操作者の動作を検出し、アバターの動作を制御するための動作データ404eを生成するためのプログラムである。
音声検出プログラム402hは、マイク62から入力される操作者の音声を検出し、検出した音声に対応する操作者音声データ404dをデータ記憶領域404に記憶するためのプログラムである。
音声出力プログラム402iは、ユーザ端末12から受信したユーザ音声データ404gをスピーカ64に出力するためのプログラムである。したがって、ユーザ音声データ404gに対応する音声がスピーカ64から出る。
図示は省略するが、プログラム記憶領域402には、操作者端末16のオペレーティングシステム、ミドルウェアの他に、ブラウザ、本願の制御プログラム以外の他のアプリケーション・プログラムも記憶される。
また、データ記憶領域404には、操作データ404a、画像生成データ404b、操作者映像データ404c、操作者音声データ404d、動作データ404e、ユーザ映像データ404fおよびユーザ音声データ404gなどが記憶される。
操作データ404aは、操作検出プログラム402bに従って検出された操作者の操作のデータである。この操作データ404aには、ユーザ端末12に送信される飛び出し指示および引っ込み指示も含まれる。操作データ404aは、CPU50の処理に使用されたり、CPU50によってユーザ端末12に送信されたりすると、データ記憶領域404から消去される。
画像生成データ404bは、操作者端末16の表示装置60に表示される画面を生成するために用いられるデータである。
操作者映像データ404cは、カメラ66で撮影された映像のデータである。この操作者映像データ404cは、基本的には、操作者を含む映像のデータであるが、操作者が席を離れるなどしてカメラ66の撮影範囲外に出た場合には、映像に操作者が含まれない場合もある。操作者映像データ404cは、CPU50の処理に使用されると、データ記憶領域404から消去される。
操作者音声データ404dは、マイク62で検出された操作者の音声のデータである。操作者音声データ404dは、CPU50によってユーザ端末12に送信されると、データ記憶領域404から消去される。
動作データ404eは、アバターの動作を制御するためのデータ、この第1実施例では、アバターの身振り手振り、顔の向きおよび顔の表情を制御するための各部位の位置および向きの情報(データ)である。具体的には、動作データ404eは、上述したように、顔の各部位すなわち眉毛、眼(上瞼、下瞼)、鼻および口(上唇、下唇)の位置と、顔の向きと、手、腕、肩、腰、膝および足首の位置と、手首および足首の向きについての情報である。動作データ404eは、CPU50の処理に使用されると、データ記憶領域404から消去される。
ユーザ映像データ404fは、ユーザ端末12から受信したユーザ映像データである。ユーザ映像データ404fは、CPU50の処理に使用されると、データ記憶領域404から消去される。ユーザ音声データ404gは、ユーザ端末12から受信したユーザ音声データである。ユーザ音声データ404gは、CPU50によってスピーカ64に出力されると、データ記憶領域404から消去される。
図示は省略するが、データ記憶領域404には、制御処理を実行するために必要な他のデータが記憶されたり、制御処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
図10および図11は、ユーザ端末12のCPU20の制御処理を示すフロー図である。図示は省略するが、CPU20は、制御処理と並行して、操作データの検出処理を実行して操作データを記憶する処理したり、前面カメラ36に撮影処理を実行させてユーザ映像データを記憶する処理を実行するとともに、背面カメラ38に撮影処理を実行させて背後映像データを記憶する処理を実行したり、音声の検出処理を実行してユーザ音声データを記憶する処理を実行したり、操作者端末16から送信されるデータ等を受信および記憶する処理を実行したりする。以下、図10および図11を参照しながらCPU20の制御処理について説明するが、重複する内容については簡単に説明することにする。
図10に示すように、ユーザ端末12のCPU20は、制御処理を開始すると、ステップS1で、操作者端末16と接続状態を確立し、ステップS3で、図4に示したような対話画面100を表示装置30に表示する。制御処理を開始した当初では、動作データを受信していないため、一例として、直立したアバター画像102が表示される。また、このとき、アバターはユーザに挨拶する動作(および発話)を行ってもよい。
次のステップS5では、制御処理の終了かどうかを判断する。ここでは、CPU20は、ユーザ端末12のユーザによって制御処理を終了する指示が入力されたかどうかを判断する。
ステップS5で“YES”であれば、つまり、制御処理の終了であれば、制御処理を終了する。一方、ステップS5で“NO”であれば、つまり、制御処理の終了でなければ、ステップS7で、操作者端末16からデータを受信したかどうかを判断する。ここでは、CPU20は、操作者映像データ、または、操作者映像データおよび操作者音声データを受信したかどうかを判断する。
ステップS7で“NO”であれば、つまり、操作者端末16からデータを受信していなければ、図11に示すステップS19に進む。一方、ステップS7で“YES”であれば、つまり、操作者端末16からデータを受信すれば、ステップS9で、飛び出しフラグ304hがオンであるかどうかを判断する。
ステップS9で“YES”であれば、つまり、飛び出しフラグ304hがオンであれば、図11に示すステップS19に進む。一方、ステップS9で“NO”であれば、つまり、飛び出しフラグ304hがオフであれば、ステップS11で、
操作者音声データ304gが有るかどうかを判断する。
ステップS11で“YES”であれば、つまり、操作者音声データ304gが有れば、ステップS13で、操作者音声データ304gをスピーカ34に出力し、ステップS15で、操作者音声データ304gの出力に合わせて、動作データに従う動作を行うアバターの画像データを通常の大きさで生成し、表示装置30に出力して、ステップS19に進む。したがって、アバター画像102が更新され、対話画面100に表示された通常の大きさのアバターは、身振り手振りを行なったり、顔の向きを変化させたりしながら、ユーザに向けて話し掛ける。このとき、アバター画像102は、スピーカ34から出力される音声にリップシンクされる。以下、音声データに合わせてアバターを動作させる場合について同じである。また、一例として、アバター画像102が更新されるときに、背後映像データも更新され、これによって、枠画像106も更新される。このことは、ステップS17、S23およびS25についても同じである。
一方、ステップS11で“NO”であれば、つまり、操作者音声データ304gが無ければ、ステップS17で、動作データに従う動作を行うアバターの画像データを通常の大きさで生成し、表示装置30に出力して、ステップS19に進む。したがって、アバター画像102が更新され、対話画面100に表示された通常の大きさのアバターは、身振り手振りを行なったり、顔の向きを変化させたりする。
図11に示すように、ステップS19では、操作者音声データ304gが有るかどうかを判断する。ステップS19で“YES”であれば、ステップS21で、操作者音声データ304gをスピーカ34に出力し、ステップS23で、操作者音声データ304gの出力に合わせて、動作データに従う動作を行うアバターの画像データを拡大した大きさで生成し、表示装置30に出力して、ステップS27に進む。したがって、アバター画像102が更新され、対話画面100に表示された拡大された大きさのアバターは、身振り手振りを行なったり、顔の向きを変化させたりしながら、ユーザに向けて話し掛ける。
一方、ステップS19で“NO”であれば、ステップS25で、動作データに従う動作を行うアバターの画像データを拡大した大きさで生成し、表示装置30に出力して、ステップS27に進む。したがって、アバター画像102が更新され、対話画面100に表示された拡大された大きさのアバターは、身振り手振りを行なったり、顔の向きを変化させたりする。
ステップS27では、音声の入力が有るかどうかを判断する。ステップS27で“YES”であれば、つまり、音声の入力が有れば、ステップS29で、ユーザ映像データ304cとユーザ音声データ304eを操作者端末16に送信して、ステップS33に進む。一方、ステップS27で“NO”であれば、つまり、音声の入力が無ければ、ステップS31で、ユーザ映像データ304cを操作者端末16に送信して、ステップS33に進む。
ステップS33では、操作者から飛び出し指示があるかどうかを判断する。ステップS33で“YES”であれば、つまり、操作者から飛び出し指示が有れば、ステップS35で、飛び出しフラグ304hをオンして、ステップS5に戻る。一方、ステップS33で“NO”であれば、つまり、操作者から飛び出し指示が無ければ、ステップS37で、操作者から引っ込み指示があるかどうかを判断する。
ステップS37で“YES”であれば、つまり、操作者から引っ込み指示が有れば、ステップS39で、飛び出しフラグ304hをオフして、ステップS5に戻る。一方、ステップS37で“NO”であれば、つまり、操作者から引っ込み指示が無ければ、ステップS5に戻る。
図12および図13は、操作者端末16のCPU50の制御処理を示すフロー図である。図示は省略するが、CPU50は、制御処理と並行して、操作データの検出処理を実行して操作データを記憶する処理したり、カメラ66に撮影処理を実行させて操作者映像データを記憶する処理を実行したり、音声の検出処理を実行して操作者音声データを記憶する処理を実行したり、ユーザ端末12から送信されるデータ等を受信および記憶する処理を実行したりする。以下、操作者端末16のCPU50の制御処理について説明するが、重複する内容については簡単に説明することにする。
図12に示すように、CPU50は、制御処理を開始すると、ステップS101で、ユーザ端末12との接続状態を確立し、ステップS103で、図7に示したような操作者側画面200を表示装置60に表示する。制御処理を開始した当初では、ユーザ映像データを受信していないため、表示領域202には、ユーザの映像は表示されない。
次のステップS105では、制御処理の終了かどうかを判断する。ここでは、CPU50は、操作者から制御処理の終了を指示されたかどうかを判断する。ステップS105で“YES”であれば、つまり、制御処理の終了であれば、制御処理を終了する。一方、ステップS105で“NO”であれば、つまり、制御処理の終了でなければ、ステップS107で、操作者映像データ404cから動作データ404eを生成し、ステップS109で、音声の入力が有るかどうかを判断する。
ステップS109で“NO”であれば、つまり、音声の入力が無ければ、ステップS111で、ステップS107で生成した動作データ404eをユーザ端末12に送信して、図13に示すステップS115に進む。一方、ステップS109で“YES”であれば、つまり、音声の入力が有れば、ステップS113で、ステップS107で生成した動作データ404eと操作者音声データ404dをユーザ端末12に送信して、ステップS115に進む。
図13に示すステップS115では、ユーザ端末12からデータを受信したかどうかを判断する。ここでは、CPU50は、ユーザ映像データ、または、ユーザ映像データおよびユーザ音声データを受信したかどうかを判断する。
ステップS115で“NO”であれば、つまり、ユーザ端末12からデータを受信していなければ、ステップS123に進む。一方、ステップS115で“YES”であれば、つまり、ユーザ端末12からデータを受信すれば、ステップS117で、ユーザ音声データ404gが有るかどうかを判断する。
ステップS117で“YES”であれば、つまり、ユーザ音声データ404gが有れば、ステップS119で、ユーザ映像データ404fおよびユーザ音声データ404gを出力して、ステップS123に進む。したがって、ユーザの映像が表示装置60に表示され、ユーザの音声がスピーカ64から出力される。
一方、ステップS117で“NO”であれば、つまり、ユーザ音声データ404gが無ければ、ステップS121で、ユーザ映像データ404fを出力して、ステップS123に進む。したがって、ユーザの映像が表示装置60に表示される。
ステップS123では、飛び出し指示の入力が有るかどうかを判断する。ここでは、CPU50は、ボタン画像212がオンされたかどうかを判断する。ステップS123で“YES”であれば、つまり、飛び出し指示の入力が有れば、ステップS125で、ユーザ端末12に飛び出し指示を送信して、ステップS105に戻る。
一方、ステップS123で“NO”であれば、つまり、飛び出し指示が無ければ、ステップS127で、引っ込み指示の入力が有るかどうかを判断する。ここでは、CPU50は、ボタン画像214がオンされたかどうかを判断する。
ステップS127で“YES”であれば、つまり、引っ込み指示の入力が有れば、ステップS129で、ユーザ端末12に引っ込み指示を送信して、ステップS105に戻る。一方、ステップS127で“NO”であれば、つまり、引っ込み指示が無ければ、ステップS105に戻る。
第1実施例によれば、枠画像は表示装置の背後を撮影した映像であり、少なくとも枠画像の部分が表示装置の背後の場景に溶け込むため、ユーザはアバターがユーザ自身と同じ空間に存在することをより強く感じることができる。したがって、アバターに対するユーザの親密度が高くされる。つまり、ユーザは対話相手であるアバターまたは操作者と親密に関わることができる。
なお、第1実施例では、操作者端末でアバターの動作データを生成し、動作データをユーザ端末に送信して、ユーザ端末でアバター画像を生成するようにしたが、操作者端末でアバター画像を生成して、アバター画像をユーザ端末に送信するようにしてもよい。
また、この第1実施例では、操作者を撮影した映像データから生成した動作データを用いてアバターの動作を制御するようにしたが、これに限定される必要はない。アバターに実行させる一連の動作に対応する動作データを予め用意しておき、操作者がボタン操作などで指示した一連の動作に対応する動作データをユーザ端末に送信して、アバターの動作を制御するようにしてもよい。一連の動作の例としては、お辞儀して元の姿勢(たとえば、直立の状態)に戻る動作、辺りを見渡すように顔の向きを左右に数回動かして元の姿勢に戻る動作、右手または/および左手を胴体の前で振ってから元の姿勢に戻る動作、右手または/および左手を挙げてから元の姿勢に戻る動作などである。
また、この第1実施例では、操作者の音声に基づいて、アバターに発話させるようにしたが、発話する内容の音声データを予め用意しておき、操作者がボタン操作などで指示した発話する内容に対応する音声データをユーザ端末に送信して、アバターの発話を制御するようにしてもよい。
ただし、アバターの一連の動作に対応する動作データとともに発話する内容の音声データを1つのボタンに設定しておき、動作データと音声データを一度にユーザ端末に送信するようにしてもよい。
さらに、この第1実施例では、操作者端末の表示装置にユーザ映像データを出力するようにしたが、操作者端末にもアバターを表示するようにしてもよい。かかる場合には、操作者端末の表示装置にも背面カメラを設けてその背後映像を撮影するとともに、ユーザ端末の前面カメラで撮影されたユーザ映像データから動作データを生成して操作者端末に送信し、操作者の表示装置に、対話画面と同妃に、枠画像、窓部画像およびアバター画像を表示するようにしてもよい。この場合、ユーザ端末の表示装置に表示された対話画面にも、飛び出し指示のボタン画像および引っ込み指示のボタン画像が設けられ、ユーザの操作によって、操作者端末側に飛び出し指示または引っ込み指示が送信され、これに応じて、操作者端末側のアバター画像が拡大されたり通常の大きさにされたりする。
さらにまた、この第1実施例では、操作者がボタン画像をオンすることにより、アバターを飛び出させたり、引っ込めさせたりしたが、ボタン操作に限定される必要はない。ユーザと操作者が対話している時間をカウントし、所定時間経過するごとに、アバターを飛び出させたり、引っ込めさせたりすることもできる。ただし、アバターを飛び出させている時間と、引っ込めさせている時間は異なる長さでもよい。また、操作者またはユーザが所定の言葉を発したことに応じて、アバターを飛び出させたり、引っ込めさせたりすることもできる。この場合、所定の言葉が操作者端末に予め登録され、操作者端末で、操作者およびユーザの音声が音声認識され、操作者またはユーザが所定の言葉を発したかどうかが判断される。たとえば、操作者が「そっちに行くね」と発話したり、ユーザが「こっちにおいで」と発話したりすると、アバターが飛び出す(つまり、拡大される)。また、たとえば、操作者が「部屋に戻るね」と発話したり、ユーザが「出て行って」と発話したりすると、アバターが引っ込む(つまり、元の大きさにされる)。これらは一例であり、他の条件で、アバターが飛び出したり、引っ込められたりしてもよい。ただし、ボタン操作に代えて、所定時間の経過、所定の言葉を発したことおよび他の条件のいずれか1つが採用されてもよいし、ボタン操作、所定時間の経過、所定の言葉を発したことおよび他の条件のうちのいずれか2つ以上が複合的に採用されてよい。たとえば、ボタン操作または所定時間の経過に応じて、アバターを飛び出させたり、引っ込めさせたりすることができる。
<第2実施例>
第2実施例の情報処理システム10は、ユーザの操作によってアバターの飛び出しおよび引っ込みを依頼し、これを操作者の操作によって諾否することで、アバターの飛び出しおよび引っ込みを制御するようにした以外は、第1実施例と同じであるため、異なる内容について説明し、重複する説明については省略することにする。
図14は第2実施例の対話画面100の一例および表示装置30が配置されている状態を表示装置30の正面側から見た場合の一例を示す。図14に示す対話画面100では、左下部にボタン画像110がさらに設けられる。ボタン画像110は枠画像106の前面に設けられる。ただし、第2実施例では、ボタン画像110の背景は無色透明にされる。したがって、ボタン画像110も表示装置30の背後の色または模様と同じである。このため、ボタン画像110は枠画像106に溶け込んでいる。
また、ボタン画像110は、アバターの飛び出し(すなわち、「アバター画像102の大きさを拡大すること」)を操作者に依頼または要求するためのアイコンである。ボタン画像110がオンされると、飛び出し要求がユーザ端末12から操作者端末16に送信される。
操作者端末16は、ユーザ端末12から飛び出し要求を受信すると、操作者側画面200としてアバターの拡大することを承諾するかどうかを指示するための画面(拡大諾否画面)が表示装置60に表示される。
拡大諾否画面の一例が図15に示される。拡大諾否画面では、ボタン画像212およびボタン画像214に代えて、ボタン画像222およびボタン画像224が設けられる。また、表示領域202と、ボタン画像222およびボタン画像224の間に、飛び出し要求があったことと、飛び出しを承諾するかどうかを通知するためのメッセージ220が表示される。
ボタン画像222は、アバターの飛び出しを承諾することをユーザに通知(以下、「飛び出し承諾通知」という)するためのアイコンである。ボタン画像222がオンされると、飛び出し承諾通知がユーザ端末12に送信される。また、ボタン画像224は、アバターの飛び出しを拒否することをユーザに通知(以下、「飛び出し拒否通知」という)するためのアイコンである。ボタン画像224がオンされると、飛び出し拒否通知がユーザ端末12に送信される。
ユーザ端末12は、飛び出し承諾通知を受信すると、アバターを飛び出させる。したがって、通常の大きさのアバターが拡大される。また、ユーザ端末12は、飛び出し拒否通知を受信すると、アバターを飛び出させない。したがって、通常の大きさのアバターがそのまま表示される。このとき、飛び出し要求を拒否されたことのメッセージが対話画面100に表示される。つまり、飛び出し拒否がユーザに報知される。ただし、アバターの大きさが変化しないことで、ユーザは飛び出し要求が拒否されたことを知ることができるため、操作者端末16から飛び出し拒否通知は送信されなくてもよい。この場合、飛び出し拒否がユーザに報知されることもない。
図16は第2実施例の拡大されたアバター画像102を含む対話画面100の一例を示す。図16に示す対話画面100では、ボタン画像110に代えて、ボタン画像112が設けられる。ボタン画像112は枠画像106の前面に設けられる。ただし、第2実施例では、ボタン画像112の背景は無色透明にされる。したがって、ボタン画像112も表示装置30の背後の色または模様と同じである。このため、ボタン画像112は枠画像106に溶け込んでいる。
また、ボタン画像112は、アバターの引っ込み(すなわち、アバター画像102の大きさを元の通常の大きさに戻すこと)を操作者に依頼または要求するためのアイコンである。ボタン画像112がオンされると、引っ込み要求がユーザ端末12から操作者端末16に送信される。
操作者端末16は、ユーザ端末12から引っ込み要求を受信すると、操作者側画面200としてアバターを引っ込めることを承諾するかどうかを指示するための画面(引っ込み諾否画面)が表示装置60に表示される。
引っ込み諾否画面の一例が図17に示される。引っ込み諾否画面では、拡大諾否画面におけるメッセージ220に代えて、表示領域202とボタン画像222およびボタン画像224の間に、引っ込みの要求があったことと、引っ込みを承諾するかどうかを通知するためのメッセージ230が表示される。
引っ込み諾否画面においては、ボタン画像222は、アバターの引っ込みを承諾することをユーザに通知(以下、「引っ込み承諾通知」という)するためのアイコンである。ボタン画像222がオンされると、引っ込み承諾通知がユーザ端末12に送信される。また、ボタン画像224は、アバターの引っ込みを拒否することをユーザに通知(以下、「引っ込み拒否通知」という)するためのアイコンである。ボタン画像224がオンされると、引っ込み拒否通知がユーザ端末12に送信される。
ユーザ端末12は、引っ込み承諾通知を受信すると、アバターを引っ込めさせる。したがって、拡大されたアバターが通常の大きさに戻される。また、ユーザ端末12は、引っ込み拒否通知を受信すると、アバターを引っ込めさせない。したがって、拡大されたアバターがそのまま表示される。このとき、引っ込み要求を拒否されたことのメッセージが対話画面100に表示される。つまり、引っ込み拒否がユーザに報知される。ただし、アバターの大きさが変化しないことで、ユーザは引っ込み要求が拒否されたことを知ることができるため、操作者端末16から引っ込み拒否通知は送信されなくてもよい。この場合、引っ込み拒否がユーザに報知されることもない。
図18および図19は第2実施例のユーザ端末12の制御処理の一部を示すフロー図である。第2実施例のユーザ端末12の制御処理では、第1実施例のユーザ端末12の制御処理のステップS33-S39に代えて、ステップS51-S73が実行される。
図18に示すように、CPU20は、ステップS29またはS31の処理を実行すると、ステップS51で、飛び出し要求が有るかどうかを判断する。ここでは、CPU20は、ボタン画像110がオンされたかどうかを判断する。
ステップS51で“YES”であれば、つまり、飛び出し要求が有れば、ステップS53で、飛び出し要求を操作者端末16に送信して、図19に示すステップS59に進む。
一方、ステップS51で“NO”であれば、つまり、飛び出し要求が無ければ、ステップS55で、引っ込み要求が有るかどうかを判断する。ここでは、CPU20は、ボタン画像120がオンされたかどうかを判断する。
ステップS55で“YES”であれば、つまり、引っ込み要求が有れば、ステップS57で、引っ込み要求を操作者端末16に送信して、ステップS59に進む。一方、ステップS55で“NO”であれば、つまり、引っ込み要求が無ければ、ステップS59に進む。
図19に示すように、ステップS59では、飛び出し承諾通知が有るかどうかを判断する。ステップS59で“YES”であれば、つまり、飛び出し承諾通知が有れば、ステップS61で、飛び出しフラグ304hをオンして、ステップS67に進む。
一方、ステップS59で“NO”であれば、つまり、飛び出し承諾通知が無ければ、ステップS63で、飛び出し拒否通知が有るかどうかを判断する。ステップS63で“YES”であれば、つまり、飛び出し拒否通知が有れば、ステップS65で、飛び出し拒否をユーザに報知して、ステップS67に進む。一方、ステップS63で“NO”であれば、つまり、飛び出し拒否通知が無ければ、ステップS67に進む。
ステップS67では、引っ込み承諾通知が有るかどうかを判断する。ステップS67で“YES”であれば、つまり、引っ込み承諾通知が有れば、ステップS69で、飛び出しフラグ304hをオフして、図10に示したように、ステップS5に戻る。
一方、ステップS67で“NO”であれば、つまり、引っ込み承諾通知が無ければ、ステップS71で、引っ込み拒否通知が有るかどうかを判断する。ステップS71で“YES”であれば、つまり、引っ込み拒否通知が有れば、ステップS73で、引っ込み拒否をユーザに報知して、ステップS5に戻る。一方、ステップS71で“NO”であれば、つまり、引っ込み拒否通知が無ければ、ステップS5に戻る。
図20および図21は第2実施例の操作者端末16のCPU50の制御処理の一部を示すフロー図である。第2実施例の操作者端末16のCPU50の制御処理では、第1実施例の操作者端末16の制御処理のステップS123-S129に代えて、ステップS151-S173が実行される。
図20に示すように、CPU50は、ステップS129またはS131の処理を実行すると、ステップS151で、飛び出し要求が有るかどうかを判断する。ここでは、CPU50は、ユーザ端末12からの飛び出し要求が有るかどうかを判断する。
ステップS151で“NO”であれば、つまり、飛び出し要求が無ければ、図21に示すステップS163に進む。一方、ステップS151で“YES”であれば、つまり、飛び出し要求が有れば、ステップS153で、図15に示したような飛び出し諾否画面を表示装置60に表示して、ステップS155に進む。
ステップS155では、飛び出しの承諾であるかどうかを判断する。ここでは、CPU50は、ボタン画像222がオンされたかどうかを判断する。ステップS155で“YES”であれば、つまり、飛び出しの承諾であれば、ステップS157で、ユーザ端末12に飛び出し承諾通知を送信して、図12に示したように、ステップS105に戻る。
一方、ステップS155で“NO”であれば、つまり、飛び出しの承諾でなければ、ステップS159で、飛び出しの拒否であるかどうかを判断する。ここでは、CPU50は、ボタン画像224がオンされたかどうかを判断する。ステップS159で“NO”であれば、つまり、飛び出しの拒否でなければ、ステップS155に戻る。
一方、ステップS159で“YES”であれば、つまり、飛び出しの拒否であれば、ステップS161で、ユーザ端末12に飛び出し拒否通知を送信して、ステップS105に戻る。
図21に示すように、ステップS163では、引っ込み要求が有るかどうかを判断する。ここでは、CPU50は、ユーザ端末12からの引っ込み要求が有るかどうかを判断する。
ステップS163で“NO”であれば、つまり、引っ込み要求が無ければ、図12に示したように、ステップS105に進む。一方、ステップS163で“YES”であれば、つまり、引っ込み要求が有れば、ステップS165で、図17に示したような引っ込み諾否画面を表示装置60に表示して、ステップS167に進む。
ステップS167では、引っ込みの承諾であるかどうかを判断する。ここでは、CPU50は、ボタン画像222がオンされたかどうかを判断する。ステップS167で“YES”であれば、つまり、引っ込みの承諾であれば、ステップS169で、ユーザ端末12に引っ込み承諾通知を送信して、ステップS105に戻る。
一方、ステップS167で“NO”であれば、つまり、引っ込みの承諾でなければ、ステップS171で、引っ込みの拒否であるかどうかを判断する。ここでは、CPU50は、ボタン画像224がオンされたかどうかを判断する。ステップS171で“NO”であれば、つまり、引っ込みの拒否でなければ、ステップS167に戻る。
一方、ステップS171で“YES”であれば、つまり、引っ込みの拒否であれば、ステップS173で、ユーザ端末12に引っ込み拒否通知を送信して、ステップS105に戻る。
第2実施例においても、第1実施例と同様に、ユーザは対話相手であるアバターまたは操作者と親密に関わることができる。
また、第2実施例によれば、ユーザの操作によって飛び出しおよび引っ込みを要求するので、ユーザの好みに応じてアバターを飛び出させたり元に戻したりすることを要求することができる。
さらに、第2実施例によれば、ユーザの操作によって飛び出しおよび引っ込みが要求されても、その諾否は操作者によって決定されるため、アバターの飛び出しおよび引っ込みは操作者によって制御することができる。
なお、第2実施例では、第1実施例で説明した操作者から飛び出し指示または引っ込み指示を送信することに代えて、ユーザから飛び出し要求または引っ込み要求を送信し、これに応じて、操作者から飛び出しの諾否または引っ込みの諾否を通知するようにしたが、これらの両方が実行されてもよい。かかる場合には、ユーザ端末12のCPU20は、図10および図11に示した制御処理に加えて、ステップS35およびS39の処理に後続して、ステップS51-S73の処理が実行される。また、操作者端末16のCPU50は、図12および図13に示した制御処理に加えて、ステップS125およびS129の処理に後続して、ステップS151-173の処理が実行される。
<第3実施例>
第3実施例の情報処理システム10は、アバター画像102に代えて、操作者の画像を表示するようにした以外は、第1実施例と同じであるため、異なる内容について説明し、重複する説明については省略することにする。
第3実施例では、アバター画像102に代えて、操作者の画像を表示するため、操作者端末16からユーザ端末12に操作者映像データが送信される。したがって、操作者端末16で、操作者映像データから動作データを生成する必要はない。
また、ユーザ端末12では、操作者映像データを受信すると、操作者の映像から人物(この実施例では、操作者)の画像を切り取り、切り取った人物(すなわち、操作者)の画像を通常の大きさまたは拡大した大きさで表示する。操作者の画像を通常の大きさで表示するか、拡大した大きさで表示するかは、アバター画像102を表示する場合と同様に、飛び出しフラグ304hに応じて決定される。また、第3実施例では、操作者映像から人物の画像を切り取った残りの画像が窓部画像104として表示される。ただし、第1実施例と同様に、仮想の部屋などのシーンが窓部画像104として表示されてもよい。
図22および図23は第3実施例のユーザ端末12の制御処理のフロー図である。図22および図23では、図10および図11に示した制御処理において、ステップS7とS9の間でステップS201が実行され、ステップS15に代えてステップS203が実行され、ステップS17に代えてステップS205が実行される。また、ステップS23に代えてステップS207が実行され、ステップS25に代えてステップS209が実行される。
具体的には、ステップS7で“YES”であれば、ステップS201で、操作者映像データから人物の画像データを切り出す(または、切り抜く)。また、ステップS11で“YES”であれば、ステップS13で、操作者音声データを出力し、ステップS203で、通常の大きさで人物の画像データを出力して、ステップS27に進む。一方、ステップS11で“NO”であれば、ステップS205で、通常の大きさで人物の画像データを出力して、ステップS27に進む。
また、図23に示すように、ステップS19で“YES”であれば、ステップS21で、操作者音声データを出力し、ステップS207で、拡大した大きさで人物の画像データを出力して、ステップS27に進む。一方、ステップS19で“NO”であれば、ステップS209で、拡大した大きさで人物の画像データを出力して、ステップS27に進む。
図24は第3実施例の操作者端末16のCPU50の制御処理の一部を示すフロー図である。第3実施例の操作者端末16のCPU50の制御処理では、第1実施例の操作者端末16の制御処理のステップS111に代えてステップS301が実行され、S113に代えてステップS303が実行される。
図24に示すように、ステップS109で“NO”であれば、ステップS301で、操作者映像データをユーザ端末12に送信して、図13に示したステップS115に進む。一方、ステップS109で“YES”であれば、ステップS303で、操作者映像データと操作者音声データ404dをユーザ端末12に送信して、ステップS115に進む。
第3実施例においても、第1実施例と同様に、ユーザは対話相手である操作者と親密に関わることができる。
なお、第3実施例における変更は、第2実施例にも適用することができる。また、第3実施例における変更は、操作者から飛び出し指示または引っ込み指示を送信する(第1実施例)ことに加えて、ユーザから飛び出し要求または引っ込み要求を送信し、これに応じて、操作者から飛び出しの諾否または引っ込みの諾否を通知する(第2実施例)ようにした例にも、適用することができる。
なお、上述の各実施例では、ユーザ端末と操作者端末がP2P通信するようにしたが、ネットワーク上に設けたサーバを介して通信するようにしてもよい。
また、上述の各実施例で示したフロー図の各ステップは同じ結果が得られる場合には、処理する順番を変更することが可能である。
さらに、上述の各実施例で挙げた各種の画面、具体的数値はいずれも単なる例示であり、必要に応じて適宜変更可能である。
10 …情報処理システム
12 …ユーザ端末
14 …ネットワーク
16 …操作者端末
20、50 …CPU
22、52 …RAM
24、54 …通信I/F
26、56 …入出力I/F
28、58 …入力装置
30、60 …表示装置
32、62 …マイク
34、64 …スピーカ
36、38、66 …カメラ

Claims (8)

  1. 対話相手の端末と通信可能に接続される情報処理装置であって、
    表示装置、
    前記表示装置の背後を撮影するカメラ、
    前記カメラで撮影された前記表示装置の背後の映像を用いて枠画像を当該表示装置に表示する枠画像表示手段、
    アバターの画像または対話相手の画像を前記枠画像の前面に前記表示装置に表示する対話相手表示手段、および
    前記アバターの画像または前記対話相手の画像を前記枠画像に重なる大きさに拡大する拡大手段を備える、情報処理装置。
  2. 前記対話相手の端末からの指示または通知を受信する受信手段、
    前記拡大手段は、前記受信手段によって拡大指示を受信したことに応じて、前記アバターの画像または前記対話相手の画像を前記枠画像に重なる大きさに拡大する、請求項1記載の情報処理装置。
  3. 前記受信手段によって戻す指示を受信したことに応じて、前記アバターの画像または前記対話相手の画像を元の大きさに戻す復元手段をさらに備える、請求項2記載の情報処理装置。
  4. 前記対話相手の端末に前記アバターの画像または前記対話相手の画像を拡大することを要求する拡大要求手段、
    前記拡大手段は、前記拡大要求手段によって要求されたことに応じて、前記受信手段によって承諾通知を受信した場合に、前記アバターの画像または前記対話相手の画像を拡大し、前記受信手段によって拒否通知を受信した場合に、前記アバターの画像または前記対話相手の画像を拡大しない、請求項2記載の情報処理装置。
  5. 前記対話相手の端末に前記アバターの画像または前記対話相手の画像を元の大きさに戻すことを要求する復元要求手段、
    前記復元手段は、前記復元要求手段によって要求されたことに応じて、前記受信手段によって承諾通知を受信した場合に、前記アバターの画像または前記対話相手の画像を元の大きさに戻し、前記受信手段によって拒否通知を受信した場合に、前記アバターの画像または前記対話相手の画像を元に戻さない、請求項3記載の情報処理装置。
  6. 対話相手の端末と通信可能に接続される情報処理装置を備える、情報処理システムであって、
    前記情報処理装置は、
    表示装置、
    前記表示装置の背後を撮影するカメラ、
    前記カメラで撮影された前記表示装置の背後の映像を用いて枠画像を当該表示装置に表示する枠画像表示手段、
    アバターの画像または対話相手の画像を前記枠画像の前面に前記表示装置に表示する対話相手表示手段、
    前記対話相手の端末からの拡大指示を受信する受信手段、および
    前記受信手段によって拡大指示を受信したことに応じて、前記アバターの画像または前記対話相手の画像を前記枠画像に重なる大きさに拡大する拡大手段を備え、
    前記対話相手の端末は、
    前記対話相手の操作を検出する操作検出手段、および
    前記操作検出手段によって前記アバターの画像を拡大する拡大指示を検出した場合に、前記拡大指示を前記情報処理装置に送信する送信手段を備える、情報処理システム。
  7. 表示装置、および前記表示装置の背後を撮影するカメラを備え、対話相手の端末と通信可能に接続される情報処理装置で実行される制御プログラムであって、
    前記情報処理装置のプロセッサに、
    前記カメラで撮影された前記表示装置の背後の映像を用いて枠画像を当該表示装置に表示する枠画像表示ステップ、
    アバターの画像または対話相手の画像を前記枠画像の前面に前記表示装置に表示する対話相手表示ステップ、および
    前記アバターの画像または前記対話相手の画像を前記枠画像に重なる大きさに拡大する拡大ステップを実行させる、制御プログラム。
  8. 表示装置、および前記表示装置の背後を撮影するカメラを備え、対話相手の端末と通信可能に接続される情報処理装置の制御方法であって、
    前記カメラで撮影された前記表示装置の背後の映像を用いて枠画像を当該表示装置に表示するステップ、
    アバターの画像または対話相手の画像を前記枠画像の前面に前記表示装置に表示するステップ、および
    前記アバターの画像または前記対話相手の画像を前記枠画像に重なる大きさに拡大するステップを含む、制御方法。
JP2022204073A 2022-12-21 情報処理装置、情報処理システム、制御プログラムおよび制御方法 Pending JP2024088982A (ja)

Publications (1)

Publication Number Publication Date
JP2024088982A true JP2024088982A (ja) 2024-07-03

Family

ID=

Similar Documents

Publication Publication Date Title
JP5559691B2 (ja) 音声及びビデオ通信のための機能向上したインタフェース
WO2015188614A1 (zh) 操作虚拟世界里的电脑和手机的方法、装置以及使用其的眼镜
CN110401810B (zh) 虚拟画面的处理方法、装置、系统、电子设备及存储介质
JP6684952B1 (ja) コンテンツ配信装置、コンテンツ配信プログラム、コンテンツ配信方法、コンテンツ表示装置、コンテンツ表示プログラムおよびコンテンツ表示方法
JP2014233035A (ja) 情報処理装置、表示制御方法及びプログラム
EP3702925B1 (en) Conference system
JP2016213674A (ja) 表示制御システム、表示制御装置、表示制御方法、及びプログラム
JPWO2019155735A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN110673811B (zh) 基于声音信息定位的全景画面展示方法、装置及存储介质
WO2018158852A1 (ja) 通話システム及びコミュニケーションシステム
JP3610423B2 (ja) 映像表示システムおよびその臨場感向上方法
JP2024088982A (ja) 情報処理装置、情報処理システム、制御プログラムおよび制御方法
JP7106097B2 (ja) テレプレゼンスシステム
JP2023099309A (ja) アバターを通じて映像の音声を手話に通訳する方法、コンピュータ装置、およびコンピュータプログラム
JP6700672B2 (ja) 遠隔コミュニケーションシステム、その制御方法、及びプログラム
JPH09107534A (ja) テレビ会議装置及びテレビ会議システム
JP2019117997A (ja) ウェブ会議システム、ウェブ会議システムの制御方法、およびプログラム
JP2024088981A (ja) 情報処理システムおよび情報処理方法
JP2024088983A (ja) 情報処理システムおよび情報処理方法
KR20210112016A (ko) 증강현실을 이용한 영상통화 서비스를 제공하는 장치 및 방법
JP2021086474A (ja) アバター制御システム
WO2023080105A1 (ja) オンライン端末およびプログラム
JP7515676B1 (ja) 制御システム、制御方法及びコンピュータープログラム
JP2023131825A (ja) 情報処理装置、制御プログラムおよび制御方法
JP2023131824A (ja) 情報処理装置、制御プログラムおよび制御方法