IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ AVITA株式会社の特許一覧 ▶ 国立大学法人大阪大学の特許一覧

特開2023-72111情報処理装置、制御プログラム、制御方法および情報処理システム
<>
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図1
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図2
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図3
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図4
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図5
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図6
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図7
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図8
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図9
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図10
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図11
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図12
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図13
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図14
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図15
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図16
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図17
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図18
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図19
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図20
  • 特開-情報処理装置、制御プログラム、制御方法および情報処理システム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023072111
(43)【公開日】2023-05-24
(54)【発明の名称】情報処理装置、制御プログラム、制御方法および情報処理システム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20230517BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2021184439
(22)【出願日】2021-11-12
(71)【出願人】
【識別番号】521413866
【氏名又は名称】AVITA株式会社
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人
(74)【代理人】
【識別番号】100168217
【弁理士】
【氏名又は名称】大村 和史
(72)【発明者】
【氏名】石黒 浩
(72)【発明者】
【氏名】西口 昇吾
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】
【課題】 存在感を増したアバターを表示することができる。
【解決手段】 利用者側端末(12)は、CPU(20)を含み、利用者側端末の利用者と操作者側端末(16)の操作者がリアルタイムに音声で話し、利用者からの問い合わせに対して操作者が応答すると、利用者側端末のCPUは、操作者の音声の音声データを受信する。受信した音声データには、操作者の音声の音量データが付加されており、利用者側端末のCPUは、音量データに基づいてアバターの画像120を拡大または縮小するための比率を算出する。利用者側端末のCPUは、算出した比率で通常時よりも拡大または縮小されたアバターの画像を表示し、受信した音声データを出力する。アバターの画像を拡大すると、アバターの画像が表示枠152からはみ出す場合もある。
【選択図】 図7
【特許請求の範囲】
【請求項1】
操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信手段、
前記受信手段によって受信された前記音声を出力する音出力手段、
前記受信手段によって受信された所定の情報に基づいて前記操作者に対応するアバターの画像を、前記受信手段によって受信された前記音声を出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出手段、および
前記音出力手段によって前記音声を出力するときに、前記比率算出手段によって算出された比率で描画した前記アバターの画像をディスプレイに表示する画像表示手段を備える、情報処理装置。
【請求項2】
前記画像表示手段は、前記通常時に前記アバターの画像が収まる枠画像をさらに表示し、前記枠画像の前面に前記アバターの画像を表示する、請求項1記載の情報処理装置。
【請求項3】
前記所定の情報は、前記操作者が発話した音声の音量であり、
前記比率算出手段は、前記音量に基づいて前記比率を算出する、請求項1または2記載の情報処理装置。
【請求項4】
前記所定の情報は、前記操作者が発話したときの当該操作者の首の動きであり、
前記比率算出手段は、前記操作者の首の動きに基づいて前記比率を算出する、請求項1または2記載の情報処理装置。
【請求項5】
操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率を操作者側端末から受信する受信手段、
前記受信手段によって受信された前記音声を出力する音出力手段、および
前記音出力手段によって前記音声を出力するときに、前記受信手段よって受信された比率で描画したアバターの画像をディスプレイに表示する画像表示手段を備え、
前記比率は、前記操作者に対応する前記アバターの画像を、前記受信手段によって受信された前記音声を出力していない通常時の大きさに対して拡大または縮小する比率である、情報処理装置。
【請求項6】
操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率で描画したアバターの画像を受信する受信手段、
前記受信手段によって受信された前記音声を出力する音出力手段、および
前記音出力手段によって前記音声を出力するときに、前記受信手段よって受信された前記アバターの画像をディスプレイに表示する画像表示手段を備え、
前記比率は、前記操作者に対応する前記アバターの画像を、前記受信手段によって受信された前記音声を出力していない通常時の大きさに対して拡大または縮小する比率である、情報処理装置。
【請求項7】
操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信手段、
前記受信手段によって受信された前記音声を前記操作者と対話する利用者が使用する利用者側端末に出力する音出力手段、
前記受信手段によって受信された所定の情報に基づいて前記操作者に対応するアバターの画像を、前記受信手段によって受信された前記音声を前記操作者と対話する利用者が使用する利用者側端末に出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出手段、および
前記音出力手段によって前記音声を出力するときに、前記比率算出手段によって算出された比率で描画した前記アバターの画像を前記利用者側端末に出力する画像出力手段を備える、情報処理装置。
【請求項8】
操作者が入力したテキストまたは発話した音声を受信する受信手段、
前記受信手段によって受信された前記テキストまたは前記音声を出力する出力手段、および
前記操作者に対応するアバターの画像をディスプレイに表示する画像表示手段を備え、
前記画像表示手段は、前記受信手段によって受信された前記テキストまたは前記音声を出力していない通常時に枠画像に収まる態様で前記アバターの画像を前記ディスプレイに表示し、前記出力手段によって前記テキストまたは前記音声を出力するときに前記枠画像からはみ出す態様で前記アバターの画像を前記ディスプレイに表示する、情報処理装置。
【請求項9】
情報処理装置で実行される制御プログラムであって、
前記情報処理装置のプロセッサに、
操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信ステップ、
前記受信ステップにおいて受信した前記音声を出力する音出力ステップ、
前記受信ステップにおいて受信した所定の情報に基づいて前記操作者に対応するアバターの画像を、前記受信ステップにおいて受信した前記音声を出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出ステップ、および
前記音出力ステップにおいて前記音声を出力するときに、前記比率算出ステップにおいて算出した比率で描画した前記アバターの画像をディスプレイに表示する画像表示ステップを実行させる、制御プログラム。
【請求項10】
情報処理装置で実行される制御プログラムであって、
前記情報処理装置のプロセッサに、
操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率を操作者側端末から受信する受信ステップ、
前記受信ステップにおいて受信した前記音声を出力する音出力ステップ、および
前記音出力ステップにおいて前記音声を出力するときに、前記受信ステップにおいて受信した比率で描画したアバターの画像をディスプレイに表示する画像表示ステップを実行させ、
前記比率は、前記操作者に対応する前記アバターの画像を、前記受信ステップにおいて受信した前記音声を出力していない通常時の大きさに対して拡大または縮小する比率である、制御プログラム。
【請求項11】
情報処理装置で実行される制御プログラムであって、
前記情報処理装置のプロセッサに、
操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率で描画したアバターの画像を受信する受信ステップ、
前記受信ステップにおいて受信した前記音声を出力する音出力ステップ、および
前記音出力ステップにおいて前記音声を出力するときに、前記受信ステップにおいて受信した前記アバターの画像をディスプレイに表示する画像表示ステップを実行させ、
前記比率は、前記操作者に対応する前記アバターの画像を、前記受信ステップにおいて受信した前記音声を出力していない通常時の大きさに対して拡大または縮小する比率である、制御プログラム。
【請求項12】
情報処理装置で実行される制御プログラムであって、
前記情報処理装置のプロセッサに、
操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信ステップ、
前記受信ステップにおいて受信した前記音声を前記操作者と対話する利用者が使用する利用者側端末に出力する音出力ステップ、
前記受信ステップにおいて受信した所定の情報に基づいて前記操作者に対応するアバターの画像を、前記受信ステップにおいて受信した前記音声を前記操作者と対話する利用者が使用する利用者側端末に出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出ステップ、および
前記音出力ステップにおいて前記音声を出力するときに、前記比率算出ステップにおいて算出した比率で描画した前記アバターの画像を前記利用者側端末に出力する画像出力ステップを実行させる、制御プログラム。
【請求項13】
情報処理装置で実行される制御プログラムであって、
前記情報処理装置のプロセッサに、
操作者が入力したテキストまたは発話した音声を受信する受信ステップ、
前記受信ステップにおいて受信した前記テキストまたは前記音声を出力する出力ステップ、および
前記操作者に対応するアバターの画像をディスプレイに表示する画像表示ステップを実行させ、
前記画像表示ステップは、前記受信ステップにおいて受信した前記テキストまたは前記音声を出力していない通常時に枠画像に収まる態様で前記アバターの画像を前記ディスプレイに表示し、前記出力ステップにおいて前記テキストまたは前記音声を出力するときに前記枠画像からはみ出す態様で前記アバターの画像を前記ディスプレイに表示する、制御プログラム。
【請求項14】
ディスプレイを備える情報処理装置の制御方法であって、
(a)操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信するステップ、
(b)前記ステップ(a)において受信した前記音声を出力するステップ、
(c)前記ステップ(a)において受信した所定の情報に基づいて前記操作者に対応するアバターの画像を、前記ステップ(a)において受信した前記音声を出力していない通常時の大きさに対して拡大または縮小する比率を算出するステップ、および
(d)前記ステップ(b)において前記音声を出力するときに、前記ステップ(c)において算出した比率で描画した前記アバターの画像を前記ディスプレイに表示するステップを含む、制御方法。
【請求項15】
ディスプレイを備える情報処理装置の制御方法であって、
(a)操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率を操作者側端末から受信するステップ、
(b)前記ステップ(a)において受信した前記音声を出力するステップ、および
(c)前記ステップ(b)において前記音声を出力するときに、前記ステップ(a)において受信した比率で描画したアバターの画像を前記ディスプレイに表示するステップを含み、
前記比率は、前記操作者に対応する前記アバターの画像を、前記ステップ(b)において前記音声を出力していない通常時の大きさに対して拡大または縮小する比率である、制御プログラム。
【請求項16】
ディスプレイを備える情報処理装置の制御方法であって、
(a)操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率で描画したアバターの画像を受信するステップ、
(b)前記ステップ(a)において受信した前記音声を出力するステップ、および
(c)前記ステップ(b)において前記音声を出力するときに、前記ステップ(a)において受信した前記アバターの画像をディスプレイに表示するステップを含み、
前記比率は、前記操作者に対応する前記アバターの画像を、前記ステップ(b)において前記音声を出力していない通常時の大きさに対して拡大または縮小する比率である、制御方法。
【請求項17】
情報処理装置の制御方法であって、
(a)操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信するステップ、
(b)前記ステップ(a)において受信した前記音声を前記操作者と対話する利用者が使用する利用者側端末に出力するステップ、
(c)前記ステップ(a)において受信した所定の情報に基づいて前記操作者に対応するアバターの画像を、前記ステップ(a)において受信した前記音声を前記操作者と対話する利用者が使用する利用者側端末に出力していない通常時の大きさに対して拡大または縮小する比率を算出するステップ、および
(d)前記ステップ(b)において前記音声を出力するときに、前記ステップ(c)において算出した比率で描画した前記アバターの画像を前記利用者側端末に出力するステップを含む、制御方法。
【請求項18】
情報処理装置の制御方法であって、
(a)操作者が入力したテキストまたは発話した音声を受信するステップ、
(b)前記ステップ(a)において受信した前記テキストまたは前記音声を出力するステップ、および
(c)前記操作者に対応するアバターの画像をディスプレイに表示するステップを含み、
前記ステップ(c)は、前記ステップ(a)において受信した前記テキストまたは前記音声を出力していない通常時に枠画像に収まる態様で前記アバターの画像を前記ディスプレイに表示し、前記ステップ(b)において前記テキストまたは前記音声を出力するときに前記枠画像からはみ出す態様で前記アバターの画像を前記ディスプレイに表示する、制御方法。
【請求項19】
サーバと、前記サーバと通信可能に接続された利用者側端末および操作者側端末を備える情報処理システムであって、
操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信手段、
前記受信手段によって受信された前記音声を出力する音出力手段、
前記所定の情報に基づいて前記操作者に対応するアバターの画像を、前記受信手段によって受信された前記音声を出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出手段、および
前記音出力手段によって前記音声を出力するときに、前記比率算出手段によって算出された比率で描画した前記アバターの画像を前記利用者側端末のディスプレイに表示する画像表示手段を備える、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置、制御プログラム、制御方法および情報処理システムに関し、特にたとえば、利用者と操作者がチャットまたはトークでコミュニケーションを行う、情報処理装置、制御プログラム、制御方法および情報処理システムに関する。
【背景技術】
【0002】
この種の従来の情報処理装置の一例が特許文献1に開示されている。特許文献1に開示されるコミュニケーションシステムでは、テレイグジスタンスモードが設定された状態で、オペレータ端末は、オペレータの表情およびジェスチャを座標データに変換し、応答音声データと共に応対端末へ送信する。応対端末は、オペレータ端末から送られた座標データに基づいてアバターを生成することで、オペレータの表情およびジェスチャがアバターの表情および仕草に反映されたキャラクタ応対情報を生成し、ユーザに向けて表示する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-56940号
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1では、オペレータ端末において、キャラクタ応対情報に基づくアバター画像が表示部に表示されるが、表示部の画面は2次元であるため、アバター画像が3次元CG画像データを用いて生成されたとしても、アバターは平面的に表示され、アバターの存在感を示すためには、改善の余地がある。
【0005】
それゆえに、この発明の主たる目的は、新規な、情報処理装置、制御プログラム、制御方法および情報処理システムを提供することである。
【0006】
また、この発明の他の目的は、存在感を増したアバターを表示できる、情報処理装置、制御プログラム、制御方法および情報処理システムを提供することである。
【課題を解決するための手段】
【0007】
第1の発明は、操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信手段、受信手段によって受信された音声を出力する音出力手段、受信手段によって受信された所定の情報に基づいて操作者に対応するアバターの画像を、受信手段によって受信された音声を出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出手段、および音出力手段によって音声を出力するときに、比率算出手段によって算出された比率で描画したアバターの画像をディスプレイに表示する画像表示手段を備える、情報処理装置である。
【0008】
第2の発明は、第1の発明に従属し、画像表示手段は、通常時にアバターの画像が収まる枠画像をさらに表示し、枠画像の前面にアバターの画像を表示する。
【0009】
第3の発明は、第1または第2の発明に従属し、所定の情報は、操作者が発話した音声の音量であり、比率算出手段は、音量に基づいて比率を算出する。
【0010】
第4の発明は、第1または第2の発明に従属し、所定の情報は、操作者が発話したときの当該操作者の首の動きであり、比率算出手段は、操作者の首の動きに基づいて比率を算出する。
【0011】
第5の発明は、操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率を操作者側端末から受信する受信手段、受信手段によって受信された音声を出力する音出力手段、および音出力手段によって音声を出力するときに、受信手段よって受信された比率で描画したアバターの画像をディスプレイに表示する画像表示手段を備え、比率は、操作者に対応するアバターの画像を、受信手段によって受信された音声を出力していない通常時の大きさに対して拡大または縮小する比率である、情報処理装置である。
【0012】
第6の発明は、操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率で描画したアバターの画像を受信する受信手段、受信手段によって受信された音声を出力する音出力手段、および音出力手段によって音声を出力するときに、受信手段よって受信されたアバターの画像をディスプレイに表示する画像表示手段を備え、比率は、操作者に対応するアバターの画像を、受信手段によって受信された音声を出力していない通常時の大きさに対して拡大または縮小する比率である、情報処理装置である。
【0013】
第7の発明は、操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信手段、受信手段によって受信された音声を操作者と対話する利用者が使用する利用者側端末に出力する音出力手段、受信手段によって受信された所定の情報に基づいて操作者に対応するアバターの画像を、受信手段によって受信された音声を操作者と対話する利用者が使用する利用者側端末に出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出手段、および音出力手段によって音声を出力するときに、比率算出手段によって算出された比率で描画したアバターの画像を利用者側端末に出力する画像出力手段を備える、情報処理装置である。
【0014】
第8の発明は、操作者が入力したテキストまたは発話した音声を受信する受信手段、受信手段によって受信されたテキストまたは音声を出力する出力手段、および操作者に対応するアバターの画像をディスプレイに表示する画像表示手段を備え、画像表示手段は、受信手段によって受信されたテキストまたは音声を出力していない通常時に枠画像に収まる態様でアバターの画像をディスプレイに表示し、出力手段によってテキストまたは音声を出力するときに枠画像からはみ出す態様でアバターの画像をディスプレイに表示する、情報処理装置である。
【0015】
第9の発明は、情報処理装置で実行される制御プログラムであって、情報処理装置のプロセッサに、操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信ステップ、受信ステップにおいて受信した音声を出力する音出力ステップ、受信ステップにおいて受信した所定の情報に基づいて操作者に対応するアバターの画像を、受信ステップにおいて受信した音声を出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出ステップ、および音出力ステップにおいて音声を出力するときに、比率算出ステップにおいて算出した比率で描画したアバターの画像をディスプレイに表示する画像表示ステップを実行させる、制御プログラムである。
【0016】
第10の発明は、情報処理装置で実行される制御プログラムであって、情報処理装置のプロセッサに、操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率を操作者側端末から受信する受信ステップ、受信ステップにおいて受信した音声を出力する音出力ステップ、および音出力ステップにおいて音声を出力するときに、受信ステップにおいて受信した比率で描画したアバターの画像をディスプレイに表示する画像表示ステップを実行させ、比率は、操作者に対応するアバターの画像を、受信ステップにおいて受信した音声を出力していない通常時の大きさに対して拡大または縮小する比率である、制御プログラムである。
【0017】
第11の発明は、情報処理装置で実行される制御プログラムであって、情報処理装置のプロセッサに、操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率で描画したアバターの画像を受信する受信ステップ、受信ステップにおいて受信した音声を出力する音出力ステップ、および音出力ステップにおいて音声を出力するときに、受信ステップにおいて受信したアバターの画像をディスプレイに表示する画像表示ステップを実行させ、比率は、操作者に対応するアバターの画像を、受信ステップにおいて受信した音声を出力していない通常時の大きさに対して拡大または縮小する比率である、制御プログラムである。
【0018】
第12の発明は、情報処理装置で実行される制御プログラムであって、情報処理装置のプロセッサに、操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信ステップ、受信ステップにおいて受信した音声を操作者と対話する利用者が使用する利用者側端末に出力する音出力ステップ、受信ステップにおいて受信した所定の情報に基づいて操作者に対応するアバターの画像を、受信ステップにおいて受信した音声を操作者と対話する利用者が使用する利用者側端末に出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出ステップ、および音出力ステップにおいて音声を出力するときに、比率算出ステップにおいて算出した比率で描画したアバターの画像を利用者側端末に出力する画像出力ステップを実行させる、制御プログラムである。
【0019】
第13の発明は、情報処理装置で実行される制御プログラムであって、情報処理装置のプロセッサに、操作者が入力したテキストまたは発話した音声を受信する受信ステップ、受信ステップにおいて受信したテキストまたは音声を出力する出力ステップ、および操作者に対応するアバターの画像をディスプレイに表示する画像表示ステップを実行させ、画像表示ステップは、受信ステップにおいて受信したテキストまたは音声を出力していない通常時に枠画像に収まる態様でアバターの画像をディスプレイに表示し、出力ステップにおいてテキストまたは音声を出力するときに枠画像からはみ出す態様でアバターの画像をディスプレイに表示する、制御プログラムである。
【0020】
第14の発明は、ディスプレイを備える情報処理装置の制御方法であって、(a)操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信するステップ、(b)ステップ(a)において受信した音声を出力するステップ、(c)ステップ(a)において受信した所定の情報に基づいて操作者に対応するアバターの画像を、ステップ(a)において受信した音声を出力していない通常時の大きさに対して拡大または縮小する比率を算出するステップ、および(d)ステップ(b)において音声を出力するときに、ステップ(c)において算出した比率で描画したアバターの画像をディスプレイに表示するステップを含む、制御方法である。
【0021】
第15の発明は、ディスプレイを備える情報処理装置の制御方法であって、(a)操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率を操作者側端末から受信するステップ、(b)ステップ(a)において受信した音声を出力するステップ、および(c)ステップ(b)において音声を出力するときに、ステップ(a)において受信した比率で描画したアバターの画像をディスプレイに表示するステップを含み、比率は、操作者に対応するアバターの画像を、ステップ(b)において音声を出力していない通常時の大きさに対して拡大または縮小する比率である、制御プログラムである。
【0022】
第16の発明は、ディスプレイを備える情報処理装置の制御方法であって、(a)操作者が発話した音声と、当該操作者が発話したときの所定の情報に基づいて算出した比率で描画したアバターの画像を受信するステップ、(b)ステップ(a)において受信した音声を出力するステップ、および(c)ステップ(b)において音声を出力するときに、ステップ(a)において受信したアバターの画像をディスプレイに表示するステップを含み、比率は、操作者に対応するアバターの画像を、ステップ(b)において音声を出力していない通常時の大きさに対して拡大または縮小する比率である、制御方法である。
【0023】
第17の発明は、情報処理装置の制御方法であって、(a)操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信するステップ、(b)ステップ(a)において受信した音声を操作者と対話する利用者が使用する利用者側端末に出力するステップ、(c)ステップ(a)において受信した所定の情報に基づいて操作者に対応するアバターの画像を、ステップ(a)において受信した音声を操作者と対話する利用者が使用する利用者側端末に出力していない通常時の大きさに対して拡大または縮小する比率を算出するステップ、および(d)ステップ(b)において音声を出力するときに、ステップ(c)において算出した比率で描画したアバターの画像を利用者側端末に出力するステップを含む、制御方法ある。
【0024】
第18の発明は、情報処理装置の制御方法であって、(a)操作者が入力したテキストまたは発話した音声を受信するステップ、(b)ステップ(a)において受信したテキストまたは音声を出力するステップ、および(c)操作者に対応するアバターの画像をディスプレイに表示するステップを含み、ステップ(c)は、ステップ(a)において受信したテキストまたは音声を出力していない通常時に枠画像に収まる態様でアバターの画像をディスプレイに表示し、ステップ(b)においてテキストまたは音声を出力するときに枠画像からはみ出す態様でアバターの画像をディスプレイに表示する、制御方法である。
【0025】
第19の発明は、サーバと、サーバと通信可能に接続された利用者側端末および操作者側端末を備える情報処理システムであって、操作者が発話した音声と、当該操作者が発話したときの所定の情報を操作者側端末から受信する受信手段、受信手段によって受信された音声を出力する音出力手段、所定の情報に基づいて操作者に対応するアバターの画像を、受信手段によって受信された音声を出力していない通常時の大きさに対して拡大または縮小する比率を算出する比率算出手段、および音出力手段によって音声を出力するときに、比率算出手段によって算出された比率で描画したアバターの画像を利用者側端末のディスプレイに表示する画像表示手段を備える、情報処理システムである。
【発明の効果】
【0026】
この発明によれば、存在感を増したアバターを表示することができる。
【0027】
この発明の上述の目的、その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0028】
図1図1はこの発明の一実施例の情報処理システムを示す図である。
図2図2図1に示す利用者側端末の電気的な構成を示すブロック図である。
図3図3図1に示す操作者側端末の電気的な構成を示すブロック図である。
図4図4は利用者側端末の表示装置に表示される画面の一例を示す図である。
図5図5は利用者側端末の表示装置に表示される画面の他の例を示す図である。
図6図6は利用者側端末の表示装置に表示される画面のその他の例を示す図である。
図7図7(A)は通常時のアバターの画像を表示したトーク画面の一例を示す図であり、図7(B)は拡大したアバターの画像を表示したトーク画面の一例を示す図であり、図7(C)は縮小したアバターの画像を表示したトーク画面の一例を示す図である。
図8図8図2に示す利用者側端末のRAMのメモリマップの一例を示す図である。
図9図9図2に示す利用者側端末のCPUの制御処理の一例の第1の一部を示すフロー図である。
図10図10図2に示す利用者側端末のCPUの制御処理の一例の第2の一部であって、図9に後続するフロー図である。
図11図11図2に示す利用者側端末のCPUの制御処理の一例の第3の一部であって、図9に後続するフロー図である。
図12図12図2に示す利用者側端末のCPUの比率算出処理を示すフロー図である。
図13図13は第2実施例の操作者側端末の電気的な構成を示すブロック図である。
図14図14(A)は操作者が頷く場合の基準面の移動距離を説明するための図であり、図14(B)は操作者が首を振る場合の基準面の移動距離を説明するための図である。
図15図15は第2実施例における利用者側端末のCPUの比率算出処理を示すフロー図である。
図16図16は第3実施例における利用者側端末のCPUの制御処理の一部を示すフロー図である。
図17図17は第3実施例における操作者側端末のCPUのアバターの画像生成処理の一例をフロー図である。
図18図18は第4実施例におけるサーバのCPUの制御処理の一例の第1の一部を示すフロー図である。
図19図19は第4実施例におけるサーバのCPUの制御処理の一例の第2の一部であって、図18に後続するフロー図である。
図20図20は第4実施例におけるサーバのCPUの制御処理の一例の第3の一部であって、図18に後続するフロー図である。
図21図21は枠画像からはみ出す態様のアバターの画像の例を示す図である。
【発明を実施するための形態】
【0029】
<第1実施例>
図1を参照して、この第1実施例の情報処理システム10は利用者側端末12を含み、利用者側端末12は、ネットワーク14を介して、操作者側端末16およびサーバ18に通信可能に接続される。
【0030】
利用者側端末12は、サーバ18によって提供される所定のサービスを利用する利用者によって使用され、操作者側端末16は、利用者に応対する操作者によって使用される。
【0031】
利用者側端末12は、情報処理装置であり、一例として、スマートフォンであり、ブラウザ機能を備えている。他の実施例では、利用者側端末12として、タブレットPC、ノート型PCまたはデスクトップ型PCなどの汎用の端末を用いることもできる。
【0032】
ネットワーク14は、インターネットを含むIP網(または、IPネットワーク)と、このIP網にアクセスするためのアクセス網(または、アクセスネットワーク)とから構成される。アクセス網としては、公衆電話網、携帯電話網、有線LAN、無線LAN、CATV(Cable Television)等を用いることができる。
【0033】
操作者側端末16は、利用者側端末12とは異なる他の情報処理装置であり、一例として、ノート型PCまたはデスクトップ型PCであるが、他の実施例では、スマートフォンまたはタブレットPCなどの汎用の端末を用いることもできる。
【0034】
サーバ18は、利用者側端末12および操作者側端末16とは異なるその他の情報処理装置であり、汎用のサーバを用いることができる。したがって、サーバ18は、CPU18aおよび記憶部(HDD、ROMおよびRAMを含む)18bを備えるとともに、通信インタフェースおよび入出力インタフェースなどのコンポーネントを備える。第1実施例では、サーバ18は、所定のサービスを提供するサイトを運営するために設けられる。
【0035】
図2図1に示した利用者側端末12の電気的な構成を示すブロック図である。図2に示すように、利用者側端末12はCPU20を含み、CPU20は、内部バスを介して、記憶部22、通信インタフェース(以下、「通信I/F」という)24および入出力インタフェース(以下、「入出力I/F」という)26に接続される。
【0036】
CPU20は、利用者側端末12の全体的な制御を司る。ただし、CPU20に代えて、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)を設けてもよい。記憶部22は、HDD、ROMおよびRAMを含む。ただし、HDDに代えて、または、HDD、ROMおよびRAMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0037】
通信I/F24は、CPU20の制御の下、ネットワーク14を介して、操作者側端末16およびサーバ18などの外部のコンピュータとの間で、制御信号およびデータの送受信を行うために有線インタフェースを有する。ただし、通信I/F24としては、無線LANまたはBluetooth(登録商標)等の無線インタフェースを使用することもできる。
【0038】
入出力I/F26には、入力装置28、表示装置30、マイク32およびスピーカ34が接続されている。入力装置28は、タッチパネルおよびハードウェアのボタンである。タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。後述する操作者側端末16についても同様である。
【0039】
ただし、利用者側端末12として、ノート型PCまたはデスクトップ型PCが用いられる場合には、入力装置28として、キーボードおよびコンピュータマウスが使用される。
【0040】
また、表示装置30は、LCDまたは有機ELディスプレイである。上記のタッチパネルは、表示装置30の表示面上に設けられてもよいし、タッチパネルが表示装置30と一体的に形成されたタッチディスプレイが設けられてもよい。このことは、後述する操作者側端末16についても同様である。
【0041】
入出力I/F26は、マイク32で検出された利用者の音声をデジタルの音声データに変換してCPU20に出力するとともに、CPU20によって出力される音声データをアナログの音声信号に変換してスピーカ34から出力させる。ただし、CPU20から出力される音声データは、操作者側端末16から受信した音声データである。また、入出力I/F26は、入力装置28から入力された操作データ(または、操作情報)をCPU20に出力するとともに、CPU20によって生成された画像データを表示装置30に出力して、画像データに対応する画面または画像を表示装置30に表示させる。ただし、外部のコンピュータ(たとえば、操作者側端末16またはサーバ18)から受信した画像データがCPU20によって出力される場合もある。
【0042】
なお、図2に示す利用者側端末12の電気的な構成は一例であり、限定される必要はない。他の実施例では、利用者側端末12はカメラを備えていてもよい。
【0043】
また、利用者側端末12がスマートフォンである場合には、携帯電話通信網、または、携帯電話網および公衆電話網を介して、通話するための通話回路を備えるが、第1実施例では、そのような通話は行わないため、図示は省略してある。このことは、後述する操作者側端末16がスマートフォンである場合についても同じである。
【0044】
図3図1に示した操作者側端末16の電気的な構成を示すブロック図である。図3に示すように、操作者側端末16はCPU50を含み、CPU50は、内部バスを介して、記憶部52、通信I/F54および入出力I/F56に接続される。
【0045】
CPU50は、操作者側端末16の全体的な制御を司る。ただし、CPU50に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。記憶部52は、HDD、ROMおよびRAMを含む。ただし、HDDに代えて、または、HDD、ROMおよびRAMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0046】
通信I/F54は、CPU50の制御の下、ネットワーク14を介して、利用者側端末12およびサーバ18などの外部のコンピュータとの間で、制御信号およびデータの送受信を行うために有線インタフェースを有する。ただし、通信I/F54としては、無線LANまたはBluetooth(登録商標)等の無線インタフェースを使用することもできる。
【0047】
入出力I/F56には、入力装置58および表示装置60、マイク62およびスピーカ64が接続されている。マイク62およびスピーカ64は、操作者が利用者との間で音声通話するために使用するマイク付きのヘッドセットを構成する。
【0048】
また、入力装置58としては、キーボードおよびコンピュータマウスが用いられる。ただし、操作者側端末16として、スマートフォンまたはタブレットPCが用いられる場合には、入力装置58として、タッチパネルおよびハードウェアのボタンが設けられる。また、表示装置60は、LCDまたは有機ELディスプレイである。
【0049】
入出力I/F56は、マイク62で検出された操作者の音声をデジタルの音声データに変換してCPU50に出力するとともに、CPU50によって出力される音声データをアナログの音声信号に変換してスピーカ64から出力させる。ただし、第1実施例では、CPU50から出力される音声データは、利用者側端末12から受信した音声データである。また、入出力I/F56は、入力装置58から入力された操作データ(または、操作情報)をCPU50に出力するとともに、CPU50によって生成された画像データを表示装置60に出力して、画像データに対応する画像を表示装置60に表示させる。
【0050】
なお、図3に示す操作者側端末16の電気的な構成は一例であり、限定される必要はない。他の実施例では、操作者側端末16はカメラを備えていてもよい。
【0051】
このような情報処理システム10では、利用者が利用者側端末12を使用して、サーバ18が提供する所定のサービスのウェブ画面100を見ている場合に、所定の条件を満たすと、操作者(オペレータ)とチャットまたはトークでコミュニケーションできる、アプリケーション(以下、単に「アプリ」という)が起動される。
【0052】
一例として、所定のサービスは、オンラインショッピングであるが、チャットまたはトークで、利用者の問い合わせに対して対応(応答)することができる、任意のオンラインサービスである。
【0053】
図4は、ウェブ画面100の前面に、アプリの選択画面110が表示された場合の一例を示す。ただし、ウェブ画面100は、ウェブブラウザを起動し、所定のURLを入力することにより、表示装置30に表示される。ウェブ画面100は、所定のサービスのウェブサイト(または、ウェブページ)の画面である。図4では、或るオンラインショッピングのウェブ画面100の例が示される。また、選択画面110は、アプリが起動されたときなどに表示される初期画面である。
【0054】
上述したように、アプリは、所定の条件を満たす場合に、起動される。この第1実施例では、所定の条件は、所定のサービスのウェブ画面(第1実施例では、ウェブ画面100)を表示した状態において、利用者がアプリの起動(または、実行)を指示したこと、利用者の操作が第1所定時間(この第1実施例では、30秒)以上無いこと、当該ウェブ画面において同じ位置または似たような場所(近くの位置)を指示していること、所定のサービスにおいて複数回(たとえば、3回)同じウェブ画面に戻ってくることである。
【0055】
なお、図4では、ウェブ画面100が、利用者側端末12がスマートフォンである場合の表示装置60に表示された例を示してある。また、ウェブ画面100は一例であり、オンラインショッピング以外の他のサービスについての画面が表示される場合もある。
【0056】
選択画面110には、画面の上部に、表示枠112が設けられ、表示枠112の下方に、ボタン114、ボタン116およびボタン118が縦に並んで設けられる。
【0057】
表示枠112はアバターの画像120を表示するための枠画像である。この第1実施例では、アバターの画像120はチャットまたはトークの相手(対話の相手)である操作者の分身となるキャラクタであり、予め設定されている。したがって、アバターの画像120は、人間を模したキャラクタであり、この第1実施例では、頭部および首についての画像である。
【0058】
ただし、アバターの画像120は、動物またはロボットを模したキャラクタ、アニメキャラクタ、ゲームキャラクタなどの画像でもよい。また、アバターの画像120は、キャラクタの上半身または全身についての画像でもよい。
【0059】
また、この第1実施例では、アバターの画像120は、チャットまたはトークする場合に、操作者のチャットにおける応答内容の表示またはトークにおける応答内容(または、発話内容)の音声の出力に合せて発話するまたは発話動作を行う。この第1実施例では、アバターの画像120は頭部および首が表示されるため、発話動作では、アバターの画像120の口唇部がチャットにおける応答内容のテキストの表示またはトークにおける応答内容の音声の出力に合わせて動かされる。したがって、アバターが実際にしゃべっているように表現される。
【0060】
アバターの画像120は、応答内容の音声を出力していない状態、すなわち、アバターが発話していないまたは発話動作を行っていない状態(以下、「通常時」という)において、表示枠112に収まる大きさで表示(または、描画)される。
【0061】
また、選択画面110においては、アバターは、自然の動作(以下、「無意識動作」という)を行う。無意識動作の代表的な例としては、瞬きや呼吸が該当する。また、このような生理的な動作のみならず、癖による動作も無意識動作に含まれる。たとえば、癖による動作としては、髪の毛を触る動作、顔を触る動作および爪を噛む動作などが該当する。ただし、選択画面110が表示されると、アバターの画像120は、最初に、静止した状態で表示され、続いて、利用者に対して挨拶する(たとえば、お辞儀する)ように表示される。
【0062】
したがって、選択画面110においては、静止した状態のアバターの画像120が表示された後に、無意識動作または挨拶の動作を行うアバターの画像120が表示される。本願発明の本質的な内容ではないため、詳細な説明は省略するが、一例として、静止した状態のアバターの画像120の表示は、予め記憶され静止した状態の画像データを出力(または、再生)することにより行われる。また、無意識動作および挨拶するときの動作を行うアバターの画像120の表示については、予め記憶された動画(アニメーション)データを再生することにより行われる。
【0063】
ボタン114は、利用者が操作者とチャットするためのボタンである。チャットとは、テキストのやり取りによってリアルタイムに話をすることを意味し、この第1実施例では、利用者および操作者の操作によって、利用者側端末12と操作者側端末16の間で、テキストデータが送受信される。
【0064】
ボタン116は、利用者が操作者とトークするためのボタンである。トークとは、音声のやり取りによってリアルタイムに話をすることを意味し、この第1実施例では、利用者および操作者の発話によって、利用者側端末12と操作者側端末16の間で、音声データが送受信される。
【0065】
ボタン118は、アプリを終了するためのボタンである。ボタン118がオンされると、アプリが終了され、選択画面110が非表示される。
【0066】
図5はウェブ画面100の前面にチャット画面130が表示された状態の一例を示す。選択画面110においてボタン114がオンされると、図5に示すようなチャット画面130が表示される。
【0067】
チャット画面130には、画面の上部に、表示枠132が設けられ、表示枠132内にアバターの画像120が表示される。また、表示枠132の下方には、表示枠134および表示枠136が縦に並んで設けられ、表示枠136の下方に、ボタン138が設けられる。
【0068】
表示枠134は、操作者の応答内容を表示するための枠画像である。操作者の応答内容は、利用者の問い合わせ(または、質問)に対して応答(または、回答)する具体的な内容であるが、利用者に対する挨拶および利用者に対する問いかけなども含まれる。つまり、操作者側端末16から送信されたテキストデータが表示枠134に表示される。詳細な説明は省略するが、チャットの場合には、操作者側端末16から送信されたテキストデータは、操作者が入力装置58を用いてキー入力した内容についてのデータである。
【0069】
表示枠136は、利用者の問い合わせ(質問)内容を表示するための枠画像である。チャットの場合には、利用者の質問内容は、利用者側端末12の入力装置28を用いて入力される。図5では省略するが、スマートフォンやタブレットPCでは、チャット画面130とは別にソフトウェアキーボードが表示され、ソフトウェアキーボードを用いて文字(テキスト)をタッチ入力したり、文字の入力が完了したこと(質問内容の送信)の指示をタッチ入力したりすることができる。質問内容の送信が指示されると、質問内容のテキストデータが操作者側端末16に送信される。したがって、操作者側端末16の表示装置60に質問内容のテキストが表示される。図示は省略するが、チャットにおいては、操作者側端末16の表示装置60に、応答内容と質問内容を表示可能なチャット画面が表示される。
【0070】
ボタン138は、チャットを終了するためのボタンである。ボタン138がオンされると、チャットを終了し、チャット画面130が非表示され、選択画面110がウェブ画面100の前面に表示される。
【0071】
図6はウェブ画面100の前面にトーク画面150が表示された状態の一例を示す。選択画面110においてボタン116がオンされると、図6に示すようなトーク画面150が表示される。
【0072】
トーク画面150には、画面の上部に、表示枠152が設けられ、表示枠152内にアバターの画像120が表示される。また、トーク画面150には、表示枠152の下方であり、画面の下部に、ボタン154が設けられる。
【0073】
詳細な説明は省略するが、トークの場合には、操作者側端末16から送信される音声データは、操作者がマイク62を通して入力した音声についてのデータである。操作者側端末16から送信された音声データは、利用者側端末12で受信され、スピーカ34から出力される。
【0074】
また、トークの場合には、利用者側端末12から送信される音声データは、利用者がマイク32を通して入力した音声についてのデータである。また、利用者側端末12から送信された音声データは、操作者側端末16で受信され、スピーカ64から出力される。
【0075】
ボタン154は、トークを終了するためのボタンである。ボタン154がオンされると、トークを終了し、トーク画面150が非表示され、選択画面110がウェブ画面100の前面に表示される。
【0076】
上記のように、操作者の音声に対応する音声データは、利用者側端末12のスピーカ64から出力されるが、このとき、アバターは発話動作を行う。この第1実施例では、アバターの画像120は、スピーカ64から出力される音声にリップシンクされる。したがって、アバターの画像120が喋っているように表現される。
【0077】
また、操作者側端末16では、操作者がマイク62を通して音声を入力したときに、その音声の音量を検出し、検出した音量についてのデータ(以下、「音量データ」)を、音声データに付加して、利用者側端末12に送信する。
【0078】
ただし、音量データは、マイク62で検出された音声の音量の第2所定時間(この第1実施例では、1/10秒程度)分の平均値についてのデータであり、第2所定時間毎に算出される。ただし、平均値は一例であり、第2所定時間における音量の最大値でもよい。
【0079】
利用者側端末12は、操作者側端末16から受信した音声データに付加された音量データに基づいてアバターの画像120の大きさを決定するための比率pを算出する。ただし、比率pは、通常時におけるアバターの画像120の大きさを1(100%)とした場合の変化後の大きさの割合である。この第1実施例では、比率pは操作者の音声の音量が所定値よりも大きい場合に数1に従って算出される。また、第1実施例では、操作者の音声の音量が所定値よりも大きい場合において、音量が大きくなるにつれてアバターの画像120の大きさが大きくされる。ただし、音量が小さく、比率pが1よりも小さい場合には、アバターの画像120の大きさが通常時よりも小さくされる。
【0080】
ただし、mは操作者の音声の音量であり、Mは予め設定した音量の最大値であり、Pは音量が最大値である場合の比率(たとえば、1.4)である。また、比率pの最小値は0.8に設定され、この最小値よりも小さい値になる場合の音量が所定値以下である。なお、比率pの初期値は1であり、比率pが算出されない場合には、初期値のままである。
【0081】
[数1]
p=P(m/M)
図7(A)は通常時におけるアバターの画像120を表示したトーク画面150の一例を示し、図7(B)は比率p=1.4で通常時から拡大したアバターの画像120を表示したトーク画面150の一例を示し、図7(C)は比率p=0.8で通常時から縮小したアバターの画像120を表示したトーク画面150の一例を示す。
【0082】
詳細な説明は省略するが、トーク画面150(選択画面110およびチャット画面130も同様)では、アバターの画像120とアバターの画像120以外の画像(画面の表示枠、画面の背景、画面内の表示枠およびボタンの画像)は別のレイヤーで描画され、アバターの画像120が描画されたレイヤーが、アバターの画像120以外の画像が描画されたレイヤーの前面に配置される。
【0083】
また、仮想空間において、通常時における、仮想カメラ(視点)の位置およびアバターの位置は予め決定されており、アバターの画像120を拡大または縮小する場合には、比率pに応じて、仮想カメラの位置または/およびアバターの位置が移動され、仮想カメラとアバターの距離が変更される。
【0084】
ただし、他の実施例では、アバターの画像120を拡大または縮小する場合には、描画するアバターの画像120の大きさを拡大または縮小してもよいし、仮想カメラの画角を拡大または縮小してもよい。
【0085】
図7(A)に示すように、通常時では、アバターの画像120は、上述したように、表示枠152に収まる所定の大きさで表示される。通常時では、アバターの頭部と首が表示される。
【0086】
図7(B)に示すように、アバターの画像120が拡大して表示されると、アバターの画像120は表示枠152からはみ出すことがある。したがって、2次元の画面に表示されたアバターの画像120が3次元の現実空間に飛び出そうとしているように見える。
【0087】
図7(C)に示すように、アバターの画像120が縮小して表示されると、アバターの画像120は利用者から離れる(または、遠ざかる)ように見える。
【0088】
図示は省略するが、比率pは0.8以上1.4以下の間で算出されるため、アバターの画像120は、表示枠152からはみ出さないで、表示枠152内で拡大される場合もある。
【0089】
このように、アバターの画像120が発話動作を行う場合には、音量に応じて算出した比率pに応じてアバターの画像120を拡大または縮小するので、奥行き感を表現することができ、2次元の画面に表示されているにも関わらず、立体感が得られる。つまり、存在感を増したアバターの画像120を表示することができる。
【0090】
また、拡大したアバターの画像120が表示枠152(枠画像)からはみ出すように表示される場合には、3次元の現実空間に飛び出そうとしているように見える。この場合にも、存在感を増したアバターの画像120を表示することができる。
【0091】
図8は利用者側端末12に内蔵される記憶部(ここでは、RAM)22のメモリマップ300の一例を示す。RAMは、CPU20のワーク領域およびバッファ領域として使用される。図8に示すように、記憶部22は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、この実施例の制御プログラムが記憶されている。
【0092】
制御プログラムは、起動判断プログラム302a、メイン処理プログラム302b、操作検出プログラム302c、通信プログラム302d、画像生成プログラム302e、画像出力プログラム302f、アバター制御プログラム302g、比率算出プログラム302h、音検出プログラム302iおよび音出力プログラム302jなどを含む。上述した第1実施例のアプリは、メイン処理プログラム302b、操作検出プログラム302c、通信プログラム302d、画像生成プログラム302e、画像出力プログラム302f、アバター制御プログラム302g、比率算出プログラム302h、音検出プログラム302iおよび音出力プログラム302jを含む。
【0093】
ただし、アプリは、利用者側端末12が端末本体の機能として備える、操作検出プログラム、通信プログラム、画像生成プログラム、画像出力プログラム、音検出プログラムおよび音出力プログラムを利用することもできる。
【0094】
起動判断プログラム302aは、この第1実施例のアプリを起動するかどうかを判断するためのプログラムである。メイン処理プログラム302bは、この第1実施例のアプリのメインルーチンの処理(全体的な処理)を実行するためのプログラムである。
【0095】
操作検出プログラム302cは、利用者の操作に従って入力装置28から入力される操作データ304aを検出し、データ記憶領域304に記憶するためのプログラムである。
【0096】
通信プログラム302dは、外部の機器、この第1実施例では、所定のサービスを提供するサイトを運営するためのサーバおよび操作者側端末16と有線または無線で通信(データの送信および受信)するためのプログラムである。
【0097】
画像生成プログラム302eは、表示装置30に表示するための各種の画面の全部または一部に対応する画像データを、画像生成データ304dを用いて生成するためのプログラムである。
【0098】
画像出力プログラム302fは、画像生成プログラム302eに従って生成した画像データを表示装置30に出力するためのプログラムである。
【0099】
アバター制御プログラム302gは、アバターを動作させるためのプログラムである。この第1実施例では、CPU20は、アバター制御プログラム302gに従って、アバターに発話動作をさせたり、アバターに無意識動作をさせたり、アバターに挨拶の動作(挨拶の音声出力を含む)をさせたりする。
【0100】
比率算出プログラム302hは、操作者の音声の音量に基づいて比率pを算出するためのプログラムである。また、第1実施例では、比率算出プログラム302hは、操作者の音声の音量が所定値よりも大きいかどうかを判断し、音量が所定値よりも大きい場合に、比率pを算出することを決定するためのプログラムでもある。
【0101】
音検出プログラム302iは、マイク32から入力される操作者の音声を検出するためのプログラムである。
【0102】
音出力プログラム302jは、受信した操作者の音声データを出力するためのプログラムである。
【0103】
図示は省略するが、プログラム記憶領域302には、利用者側端末12のオペレーティングシステムなどのミドルウェア、ブラウザ機能を実行するためのプログラム、本願のアプリ以外の他のアプリケーション・プログラムも記憶される。
【0104】
また、データ記憶領域304には、操作データ304a、送信データ304b、受信データ304c、画像生成データ304dおよび比率データ304eなどが記憶される。
【0105】
操作データ304aは、操作検出プログラム302cに従って検出された操作データである。送信データ304bは、操作者側端末16に送信するデータであり、チャットにおける利用者の質問内容についてのテキストデータおよびトークにおける利用者の質問内容についての音声データである。受信データ304cは、操作者側端末16から送信され、受信したデータであり、チャットにおける操作者の応答内容についてのテキストデータおよびトークにおける操作者の応答内容についての音声データである。
【0106】
画像生成データ304dは、利用者側端末12の表示装置30に表示される各種の画面を生成するためのデータであり、アバターの画像120を生成するためのデータを含む。また、アバターの画像120を生成するためのデータは、アバターの画像120の静止した状態の画像データ、無意識動作および挨拶の動作についてのアニメーションデータを含む。比率データ304eは、比率pについてのデータである。比率pの初期値は1であり、比率算出プログラム302hに従って算出された比率pで更新される。また、操作者の音声を出力していないとき、すなわち、アバターが発話または発話動作を行っていないとき、比率pはリセットされ、初期値に戻される。
【0107】
図示は省略するが、データ記憶領域304には、制御処理を実行するために必要な他のデータが記憶されたり、タイマ(カウンタ)およびフラグが設けられたりする。
【0108】
また、図示は省略するが、操作者側端末16は利用者側端末12との間でチャットまたはトークを行うため、操作者側端末16の記憶部(ここでは、RAM)52には、利用者側端末12の記憶部22に記憶されるプログラムおよびデータと同様のプログラムおよびデータが記憶される。
【0109】
具体的には、操作者側端末16の記憶部52のプログラム記憶領域には、メイン処理プログラム、操作検出プログラム、通信プログラム、画像生成プログラム、画像出力プログラム、音検出プログラム、音量検出プログラムおよび音出力プログラムなどが記憶される。
【0110】
メイン処理プログラムは、チャットまたはトークでコミュニケーションを行う操作者側端末16のアプリケーションのメインルーチンの処理(全体的な処理)を実行するためのプログラムである。
【0111】
操作検出プログラムは、操作者の操作に従って入力装置58から入力される操作データを検出し、記憶部52のデータ記憶領域に記憶するためのプログラムである。
【0112】
通信プログラムは、外部の機器、この第1実施例では、利用者側端末12およびサーバ18と有線または無線で通信するためのプログラムである。
【0113】
画像生成プログラムは、表示装置60に表示するための各種の画面に対応する画像データを、画像生成データを用いて生成するためのプログラムである。
【0114】
画像出力プログラムは、画像生成プログラムに従って生成した画像データを表示装置60に出力するためのプログラムである。
【0115】
ただし、操作者側端末16では、チャットまたはトークを選択したり、アバターの画像を表示したりする必要はない。このため、選択画面110のような画面は表示されず、チャット画面130およびトーク画面150のような画面では、利用者のアバターの画像は表示されない。ただし、利用者のアバターの画像が表示されるようにしてもよい。
【0116】
音検出プログラムは、マイク62から入力される操作者の音声を検出するためのプログラムである。
【0117】
音量検出プログラムは、音量検出プログラムに従って検出された音声の音量を検出するためのプログラムである。上述したように、音量は、マイク62で検出された音声の音量の第2所定時間(この第1実施例では、1/10秒程度)分の平均値であり、第2所定時間毎に算出される。
【0118】
音出力プログラムは、受信した利用者の音声データを出力するためのプログラムである。
【0119】
また、記憶部52のデータ記憶領域には、送信データ、受信データ、画像生成データ、音声データおよび音量データなどが記憶される。
【0120】
操作データは、操作検出プログラムに従って検出された操作データである。送信データは、利用者側端末12に送信するデータであり、チャットにおける操作者の応答についてのテキストデータおよびトークにおける操作者の応答についての音声データである。第1実施例では、音声データに音量データが付加される。受信データは、利用者側端末12から送信され、受信したデータであり、チャットにおける利用者の質問についてのテキストデータおよびトークにおける利用者の質問についての音声データである。
【0121】
画像生成データは、操作者側端末16の表示装置60に表示される各種の画面を生成するためのデータである。音声データは、音検出プログラムに従って検出された操作者の音声に対応するデータである。音量データは、音量検出プログラムに従って検出された音量に対応するデータである。
【0122】
なお、記憶部52には、利用者とチャットまたはトークを実行するために必要な他のプログラムおよびデータも記憶される。
【0123】
図9図11は、利用者側端末12のCPU20の制御処理を示すフロー図である。図示は省略するが、CPU20は、制御処理と並行して、操作データの検出処理を実行するとともに、操作者側端末16からのデータを受信する処理を実行する。
【0124】
図9に示すように、利用者側端末12のCPU20は、制御処理を開始すると、ステップS1で、アプリの起動条件を満たすかどうかを判断する。上述したように、CPU20は、所定のサービスのウェブ画面(第1実施例では、ウェブ画面100)を表示した状態において、利用者がアプリの起動(または、実行)を指示した場合、利用者の操作が第1所定時間(たとえば、30秒)以上無い場合、当該ウェブ画面において同じ位置または似たような場所(近くの位置)を指示している場合、所定のサービスにおいて複数回(たとえば、3回)同じウェブ画面に戻ってくる場合に、アプリの起動条件を満たすと判断する。
【0125】
ステップS1で“NO”であれば、つまり、アプリの起動条件を満たしていない場合には、ステップS1に戻る。一方、ステップS1で“YES”であれば、つまり、アプリの起動条件を満たしていれば、ステップS3で、アプリを起動する。なお、制御処理において、ステップS3以降がアプリのメインルーチンの処理である。
【0126】
続くステップS5では、図4に示したような選択画面110をウェブ画面100の前面に表示する。ステップS5では、CPU20は、選択画面110についての画像データを生成し、生成した画像データを表示装置30に出力する。以下、画面を表示する場合について同様である。
【0127】
上述したように、アプリを起動した当初では、すなわち、アプリを起動して最初に選択画面110を表示するときに、CPU20は、静止した状態のアバターの画像120を表示した後に、アニメーションデータを再生し、アバターに挨拶の動作を行わせる。
【0128】
次のステップS7では、アバターの画像120に待機動作を実行させる。上述したように、CPU20は、無意識動作を行わせる。ただし、CPU20は、選択画面110において利用者の操作が無い場合において、数秒または数十秒毎にアバターに無意識動作を実行させる。
【0129】
続いて、ステップS9で、ボタン操作が有るかどうかを判断する。ここでは、CPU20は、操作データ304aを参照して、選択画面110のボタン114またはボタン116がオンされたかどうかを判断する。なお、図示は省略するが、ボタン118がオンされた場合には、選択画面110を閉じて(非表示して)、アプリを終了する。
【0130】
ステップS9で“NO”であれば、つまり、ボタン操作が無ければ、ステップS7に戻る。一方、ステップS9で“YES”であれば、つまり、ボタン操作が有れば、ステップS11で、チャットかどうかを判断する。ここでは、CPU20は、ボタン114のオンであるかを判断する。
【0131】
ステップS11で“NO”であれば、つまり、ボタン116のオンであれば、図11に示すステップS31に進む。一方、ステップS11で“YES”であれば、つまり、ボタン114のオンであれば、図10に示すステップS13で、図5に示したようなチャット画面130をウェブ画面100の前面に表示する。
【0132】
なお、利用者側端末12にハードウェアのキーボードが接続されていない場合には、ソフトウェアキーボードも表示される。また、チャット画面130が表示されるときに、選択画面110が非表示される。
【0133】
次のステップS15では、質問内容の入力かどうかを判断する。ここでは、CPU20は、質問内容(テキスト)のキー入力があるかどうかを判断する。ステップS15で“YES”であれば、つまり、質問内容の入力であれば、ステップS17で、入力した質問内容を表示枠136に表示して、ステップS15に戻る。一方、ステップS15で“NO”であれば、つまり、質問内容の入力でなければ、ステップS19で、質問内容の送信かどうかを判断する。ここでは、CPU20は、質問内容が確定されたかどうかを判断する。
【0134】
ステップS19で“YES”であれば、つまり、質問内容の送信であれば、ステップS21で、質問内容のテキストデータを操作者側端末16に送信して、ステップS23に進む。一方、ステップS19で“NO”であれば、つまり、質問内容の送信でなければ、ステップS23に進む。
【0135】
ステップS23では、応答内容のテキストデータを受信したかどうかを判断する。ステップS23で“NO”であれば、つまり、応答内容のテキストデータを受信していなければ、ステップS27に進む。一方、ステップS23で“YES”であれば、つまり、応答内容のテキストデータを受信すれば、ステップS25で、応答内容の表示に合せてアバターを発話させて、ステップS27に進む。ステップS25では、CPU20は、応答内容を表示枠134に一文字ずつテキストで表示し、その表示に合せてアバターが喋るように口唇部を変化させて発話動作を行うアバターの画像120を表示枠132に表示する。なお、応答内容をすべて表示枠134に表示すると、質問内容を入力可能とするために、表示枠136の文字列がすべて消去(つまり、非表示)される。
【0136】
ステップS27では、チャットの終了かどうかを判断する。ここでは、CPU20は、ボタン138がオンされたり、操作者側端末16からチャットの終了が指示されたりしたかどうかを判断する。
【0137】
ステップS27で“NO”であれば、つまり、チャットの終了でなければ、ステップS15に戻る。一方、ステップS27で“YES”であれば、つまり、チャットの終了であれば、ステップS29で、チャット画面130を閉じて、図9に示したステップS5に戻る。
【0138】
また、上述したように、ステップS11で“NO”であれば、図11に示すステップS31で、図6に示したようなトーク画面150をウェブ画面100の前面に表示する。なお、トーク画面150が表示されるときに、選択画面110が非表示される。また、トーク画面150が表示されるときに、すなわち、トークが開始されるときに、比率pが初期値(p=1)に設定される。
【0139】
続くステップS33では、音声の入力かどうかを判断する。ここでは、CPU20は、マイク32で音声を検出したかどうかを判断する。ステップS33で“NO”であれば、つまり、音声の入力でなければ、ステップS37に進む。一方、ステップS33で“YES”であれば、つまり、音声の入力であれば、ステップS35で、入力された音声に対応する音声データ(すなわち、質問内容の音声データ)を操作者側端末16に送信して、ステップS37に進む。
【0140】
ステップS37では、応答内容の音声データを受信したかどうかを判断する。ステップS37で“YES”であれば、つまり、応答内容の音声データを受信すれば、ステップS39で、後述する比率算出処理(図12参照)を実行して、ステップS41で、応答内容の音声データを出力し、ステップS43で、比率pに応じた大きさで、応答内容の音声データに合せて発話動作を行うアバターの画像120の画像データを生成し、出力して、ステップS33に戻る。したがって、スピーカ34から操作者の音声が出力されるとともに、トーク画面150において、比率pに応じた大きさで、喋っているように表現されるアバターの画像120が表示される。
【0141】
また、ステップS37で“NO”であれば、つまり、応答内容の音声データを受信していなければ、ステップS45で、比率pをリセットし、つまり、比率データ304eが示す比率pを初期値(1)に設定し、ステップS47で、通常の大きさでアバターを表示して、ステップS49に進む。つまり、操作者の音声を出力しない場合には、アバターの画像120の大きさが通常時の大きさに戻される。
【0142】
ステップS49では、トークの終了かどうかを判断する。ここでは、CPU20は、ボタン154がオンされたり、操作者側端末16からトークの終了が指示されたりしたかどうかを判断する。
【0143】
ステップS49で“NO”であれば、つまり、トーク終了でなければ、ステップS33に戻る。一方、ステップS49で“YES”であれば、つまり、トーク終了であれば、ステップS51で、トーク画面150を閉じて、ステップS5に戻る。
【0144】
図12は、図11に示したステップS39の比率算出処理を示すフロー図である。図12に示すように、CPU20は、比率算出処理を開始すると、ステップS71で、音量が所定値よりも大きいかどうかを判断する。ここでは、CPU20は、受信した音声データに付加された音量データが示す音量が所定値を超えているかどうかを判断する。
【0145】
ステップS71で“NO”であれば、つまり、音量が所定値以下であれば、比率算出処理を終了して、図9図11に示した制御処理にリターンする。一方、ステップS71で“YES”であれば、つまり、音量が所定値よりも大きければ、ステップS73で、数1に従って比率pを算出する。
【0146】
続いて、ステップS75で、算出した比率pを記憶し、つまり、算出した比率pで比率データ304eを更新し、比率算出処理を終了して、制御処理にリターンする。
【0147】
第1実施例によれば、アバターの画像を通常時よりも拡大または縮小して表示することで、奥行き感を表現することができ、2次元の画面に表示されているにも関わらず、立体感が得られる。つまり、存在感を増したアバターを表示することができる。
【0148】
また、第1実施例によれば、拡大したアバターの画像が枠画像からはみ出すように表示される場合には、3次元の現実空間に飛び出そうとしているように見える。つまり、存在感を増したアバターを表示することができる。
【0149】
上記の第1実施例では、利用者側端末12で比率pを算出するようにしたが、これに限定される必要はない。操作者側端末16で比率pを算出し、比率pのデータを音声データに付加して利用者側端末12に送信するようにしてもよい。この場合、操作者側端末16では、CPU50は、操作者の音声を検出したときに、図12に示した比率算出処理を実行し、音声データに比率Pのデータを付加して利用者側端末12に送信する。一方、利用者側端末12では、比率pを算出する必要がないため、ステップS39の処理が省略され、ステップS43では、受信した音声データに付加された比率pのデータが示す比率pに応じた大きさで、応答内容の音声データに合せて発話動作を行うアバターの画像120の画像データを生成し、出力する。
【0150】
なお、第1実施例では、操作者の音声データの音量に基づいてアバターを拡大または縮小するようにしたが、これに限定される必要はない。他の実施例では、操作者が発話するときの目の開き具合に基づいてアバターを拡大または縮小するようにしてもよい。ただし、操作者の目の開き具合は、操作者の顔画像を撮影し、撮影した顔画像から抽出した複数の特徴点のうち、操作者の目の上瞼と下瞼についての特徴点の距離を算出することにより、検出することができる。たとえば、操作者が発話していないときの目の開き具合と、操作者が発話しているときの目の開き具合との差に基づいて比率pが算出される。
【0151】
また、第1実施例では、操作者の音声の音量が所定値よりも大きい場合において、音量が大きくなるにつれてアバターの画像120の大きさが大きくされるようにしたが、音量が大きくなるにつれてアバターの画像120の大きさが小さくされるようにしてもよい。この場合、音量が小さく、比率pが1よりも小さい場合に、アバターの画像120の大きさが通常時よりも大きくされる。
【0152】
さらに、第1実施例では、チャットおよびトークにおいては、利用者側端末12と操作者側端末16がネットワーク14を介して通信するようにしたが、サーバ18を介して通信するようにしてもよい。かかる場合には、サーバ18が操作者の音声データに付加された音量データが示す音量に基づいて比率pを算出し、サーバ18は、音声データに算出た比率pのデータを付加して、利用者側端末12に送信するようにしてもよい。
【0153】
<第2実施例>
第2実施例は、トークにおいて、操作者の音声の音量に基づいて比率pを算出することに変えて、操作者が発話するときの操作者の首の動きに基づいて比率pを算出するようにした以外は、第1実施例と同じであるため、重複した説明は省略する。
【0154】
図13は第2実施例の操作者側端末16の電気的な構成を示すブロック図である。図13に示すように、第2実施例の操作者側端末16は、センサインタフェース(センサI/F)66および慣性センサ68をさらに備えている。
【0155】
センサI/F66には、慣性センサ68が接続されている。この第2実施例では、慣性センサ68として、角速度センサが用いられる。慣性センサ68は、マイク62およびスピーカ64で構成するヘッドセットに設けられ、操作者の首の縦方向および横方向の動き(この第2実施例では、頷き動作および首振り動作)を検出する。したがって、操作者の首の縦方向の動きを検出するための軸周りと、操作者の首の横方向の動きを検出するための軸周りの角速度を検出可能な角速度センサが用いられる。一例として、操作者の首の縦方向の動きを検出するための軸は、操作者の両耳を通る直線に平行な軸である。また、一例として、操作者の首の横方向の動きを検出するための軸は、操作者の頭頂部を通り延長方向に延びる軸である。
【0156】
ただし、慣性センサ68としては、3軸の加速度センサを用いるようにしてもよい。この場合、操作者の顔の正面方向、頭部の横方向および頭部の縦方向のそれぞれに延びる軸の加速度が検出される。
【0157】
第2実施例では、トークにおいては、操作者の音声に対応する音声データに、操作者が発話するときに、慣性センサ68で検出された角速度のデータ(後述する「首の動きデータ」)が付加され、利用者側端末12に送信される。
【0158】
ただし、首の動きデータは、慣性センサ68で検出された第3所定時間(この第2実施例では、1/10秒程度)分の複数の角速度の平均値についてのデータであり、第3所定時間毎に算出される。ただし、平均値は一例であり、第3所定時間における音量の最大値でもよい。また、第3所定時間は第2所定時間と同じでなくてもよい。
【0159】
利用者側端末12は操作者側端末16から音声データを受信すると、受信した音声データに付加された慣性データに応じてアバターの画像120を拡大または縮小する。
【0160】
この第2実施例では、操作者の首の縦方向の動きに基づいてアバターの画像120が拡大され、操作者の首の横方向の動きに基づいてアバターの画像120の大きさが縮小される。ただし、これは一例であり、操作者の首の縦方向の動きに基づいてアバターの画像120の大きさが縮小され、操作者の首の横方向の動きに基づいてアバターの画像120の大きさが拡大されてもよい。
【0161】
図14(A)は操作者が頷く場合(つまり、顔を下に向けるように操作者の首が動いた場合)の比率pの算出方法を説明するための図であり、図14(B)は操作者が首を振る場合(つまり、顔を右に向けるように操作者の首が動いた場合)の比率pの算出方法を説明するための図である。
【0162】
この第2実施例では、操作者の首の動きについてのデータ(以下、「首の動きデータ」という)を用いて、仮想空間においてアバターの首を動かし、それによって得られる数値(パラメータ)に基づいて比率pが算出される。図14(A)および図14(B)では、アバターの頭部および首の画像を示してあるが、実際には、計算のみが実行され、比率pを算出するためにアバターの画像120が描画される必要はない。
【0163】
したがって、計算においては、アバターの頭部のモデルは、球または楕円球で設定され、球または楕円球において、アバターの目の位置に相当する位置に、アバターの眼球に相当する大きさの球体が設定される。首については、頷く場合の回転軸Xと首を振る場合の回転軸Yのみが設定される。
【0164】
図14(A)および図14(B)では、左側に記載したアバターの頭部および首の画像は、首を動かしていない状態、すなわち、アバターが仮想カメラに対して正対した状態を示す。ただし、図14(A)では、アバターを横から見た図であり、図14(B)では、アバターを上から見た図である。図示は省略するが、図14(A)および図14(B)では、仮想カメラは、アバターの正面方向であり、所定距離だけ隔てた位置に配置される。また、仮想カメラおよびアバターの上下方向の位置は、仮想カメラの視線がアバターの頭部の中心を通るように設定される。
【0165】
図14(A)に示すように、操作者が頷く場合には、回転軸Xを中心に、アバターの頭部および眼球が前方に(仮想カメラ側に)回転される。アバターの眼球のうち、仮想カメラ側に最も突出した部分(点)を含み、仮想カメラの視線と直交する面を基準面とし、首の動きの前後における基準面の移動距離dを用いて比率pを算出する。図14(A)に示すように、操作者が頷く場合には、基準面は移動距離dだけ仮想カメラ側に近づく。
【0166】
また、図14(B)に示すように、操作者が首を振る場合には、回転軸Yを中心に、アバターの頭部および眼球が右向き(図示しないが、左向きでもよい)に回転される。アバターの両目の眼球のうち、仮想カメラ側に最も突出した部分(点)を結ぶ直線の中点を含み、仮想カメラの視線と直交する面を基準面とし、首の動きの前後における移動距離dを用いて比率pを算出する。図14(B)に示すように、操作者が首を振る場合には、基準面は移動距離dだけ仮想カメラから遠ざかる。
【0167】
ただし、移動距離dは、仮想カメラに対する基準面の移動量の絶対値である。
【0168】
第2実施例では、操作者が頷く場合には、数2に従って比率pが算出され、操作者が首を振る場合には、数3に従って比率pが算出される。ただし、数2および数3において、Dは基準面の最大移動距離であり、Pは最大移動距離の場合の比率(拡大率:1.4)であり、Qは最大距離の場合の比率(縮小率:0.8)る。ただし、最大移動距離Dは、頷く場合には、操作者の顔が水平になるまで頷いたときの移動距離dであり、首を振る場合には、操作者の顔が真横になるまで首を振ったときの移動距離dである。ただし、操作者が頷く場合には、アバターの画像120を拡大する(すなわち、p>1である)ため、数2では、移動距離dはD/Pよりも大きい。また、操作者が首を振る場合には、アバターの画像120を縮小する(すなわち、p<1である)ため、数3では、移動距離dはDQよりも大きい。
【0169】
[数2]
p=P(d/D)
ただし、D/P<d≦Dである。
【0170】
[数3]
p=Q(D/d)
ただし、DQ<d≦Dである。
【0171】
このように、第2実施例では、音量データに代えて、操作者の音声データに操作者の首の動きデータが付加される点と、第1実施例で示した比率算出処理の一部が第1実施例とは異なる。ただし、首の動きデータには、頷きか首振りかを識別する情報も含まれている。
【0172】
したがって、第2実施例では、操作者側端末16の記憶部52のプログラム記憶領域では、音量検出プログラムに代えて首の動きを検出するための動き検出プログラムが記憶される。また、第2実施例では、操作者側端末16の記憶部52のデータ記憶領域では、音量データに代えて首の動きデータが記憶される。
【0173】
動き検出プログラムは、音検出プログラムに従って利用者の音声を検出しているときに、慣性センサ68で検出された角速度に対応する角速度データを記憶部52のデータ記憶部に記憶するためのプログラムである。また、首の動きデータは、動き検出プログラムに従って検出された操作者の首の動きについてのデータである。
【0174】
図15に示すように、第2実施例の比率算出処理では、ステップS71の処理に代えて、ステップS71aの処理が実行される。CPU20は、ステップS71aで、操作者の首の動きを示すパラメータ(この第2実施例では、移動距離d)が所定の範囲内であるかどうかを判断する。つまり、操作者が頷く場合には、移動距離dが数2に記載した範囲内であるかどうかを判断する。また、操作者が首を振る場合には、移動距離dが数3に記載した範囲内であるかどうかを判断する。
【0175】
ステップS71aで“NO”であれば、つまり、操作者の首の動きを示すパラメータが所定の範囲内でなければ、比率算出処理を終了して、制御処理にリターンする。一方、ステップS71aで“YES”であれば、つまり、操作者の首の動きを示すパラメータが所定の範囲内であれば、ステップS73で、比率pを算出する。ただし、操作者が頷く場合には、CPU20は、数2に従って比率p(第2実施例では、拡大率)を算出する。また、操作者が首を振る場合には、CPU20は、数3に従って比率p(第2実施例では、縮小率)を算出する。
【0176】
続いて、ステップS75で、算出した比率pを記憶し、つまり、算出した比率pで比率データ304eを更新し、比率算出処理を終了して、制御処理にリターンする。
【0177】
第2実施例においても、アバターの画像を通常時よりも拡大または縮小して表示することで、奥行き感を表現することができ、2次元の画面に表示されているにも関わらず、立体感が得られる。つまり、存在感を増したアバターを表示することができる。
【0178】
また、第2実施例においても、拡大したアバターの画像が枠画像からはみ出すように表示される場合には、3次元の現実空間に飛び出そうとしているように見える。つまり、存在感を増したアバターを表示することができる。
【0179】
なお、第2実施例では、3次元の仮想空間において、アバターの頭部モデルを設定し、操作者の首の動きに基づいてアバターの首を動かし、それによって得られる数値(パラメータ)に基づいて比率pを算出するようにしたが、これに限定される必要はない。他の例では、2次元の仮想空間において、アバターの頭部モデルを円または楕円で設定し、頷く場合と首を横に振る場合に分けて、2次元で計算してもよい。つまり、図14(A)および図14(B)に示したように、それぞれに分けて計算される。この場合、基準面に代えて基準線が設定され、移動距離dが算出される。
【0180】
また、第2実施例では、操作者の首の動きを頷く場合と振る場合とに分けて比率pを算出するようにしてあるが、他の実施例では、単に、操作者の首の動きで、つまり、各軸周りの角速度の大きさ(最大値または平均値)で、比率pを算出するようにしてもよい。
【0181】
また、第2実施例では、チャットおよびトークにおいては、利用者側端末12と操作者側端末16がネットワーク14を介して通信するようにしたが、サーバ18を介して通信するようにしてもよい。かかる場合には、サーバ18が操作者の音声データに付加された首の動きデータが示す操作者の首の動きに基づいて比率pを算出し、サーバ18は、音声データに算出た比率pのデータを付加して、利用者側端末12に送信するようにしてもよい。
【0182】
さらに、第2実施例では、慣性センサで操作者の首の動きを検出するようにしたが、これに限定される必要はない。他の例では、操作者の顔の向きに基づいて首の動きを検出するようにしてもよい。かかる場合には、慣性センサに代えて、イメージセンサ(CCDカメラすなわちWebカメラ)が操作者の顔を撮影可能な位置に設けられる。一例として、表示装置60の上部にCCDカメラが設けられ、CCDカメラ(または、表示装置60)に正対する操作者の顔画像の向きを基準として、現在の顔の向きが現在の顔画像に基づいて算出され、現在の顔の向きに基づいて操作者の首の動きが推定される。ただし、顔の向きは、顔画像から抽出した複数の顔の特徴点の動きで検出することができる。
【0183】
<第3実施例>
第3実施例では、操作者側端末16でアバターの画像120に対応する画像データを生成するようにした以外は第1実施例と同じであるため、重複した説明は省略する。
【0184】
簡単に説明すると、第3実施例は、少なくともトークにおいて、操作者側端末16で、アバターの画像120に対応する画像データを生成し、生成した画像データを利用者側端末12に送信し、利用者側端末12は受信した画像データを用いてアバターの画像120をトーク画面150に表示する。
【0185】
第3実施例では、トークにおいて、操作者が発話すると、操作者側端末16は、操作者が発話した音声およびその音量を検出し、操作者の音声の音量が所定値よりも大きい場合に数1に従って比率pを算出する。上述したように、操作者の音声の音量が所定値以下である場合には、比率pは算出されず、初期値(p=1)のままである。
【0186】
続いて、操作者側端末16は、比率pに応じた大きさで、操作者の応答内容の音声に合せて発話動作を行うアバターの画像120の画像データを生成する。
【0187】
なお、アバターの画像120の画像データを生成する方法は、第1実施例で説明した方法と同じである。
【0188】
操作者側端末16は、検出した音声の音声データと生成した画像データを利用者側端末12に送信する。利用者側端末12は、音声データおよび画像データを受信し、音声データの出力に合せて、画像データを用いてトーク画面150のアバターの画像120を表示する。つまり、利用者側端末12では、スピーカ34から操作者の音声が出力されるとともに、トーク画面150において、比率pに応じた大きさで、喋っているように表現されるアバターの画像120が表示される。
【0189】
したがって、第3実施例では、操作者側端末16の記憶部(RAM)52に、図8に示したアバター制御プログラム302gおよび比率算出プログラム302hと同じプログラムがさらに記憶される。このため、第3実施例では、利用者側端末12において、比率算出プログラム302hおよび比率データ304eが削除される。また、操作者側端末16の記憶部52のデータ記憶領域には、図8に示した比率データ304eと同じデータがさらに記憶される。
【0190】
また、第3実施例の操作者側端末16では、トークにおいて、利用者側端末12から送信された音声データを受信して、出力したり、操作者の音声データおよび音量データを検出して、音声データを利用者側端末12に送信したりする処理に加えて、アバターの画像120の画像データを生成する処理(以下、「アバターの画像生成処理」という)が実行される。
【0191】
具体的には、操作者側端末16は、操作者が発話した音声の音量に基づいて比率pを算出し、算出した比率pに応じた大きさで、応答内容の音声データに合せて発話動作を行うアバターの画像120の画像データを生成する。
【0192】
操作者側端末は、検出した音声データと生成した画像データを、利用者側端末12に送信する。また、第3実施例では、操作者側端末16がアバターの画像120の画像データを生成するため、音量データは音声データに付加されない。
【0193】
以下、具体的な処理について説明する。図16は、第3実施例における利用者側端末12のCPU20の制御処理の一部を示すフロー図である。図17は、第3実施例における操作者側端末16のCPU50のアバターの画像生成処理を示すフロー図である。以下、CPU20の制御処理について説明するとともに、CPU50のアバターの画像生成処理について説明するが、既に説明した処理については説明を省略する。
【0194】
図16に示すように、利用者側端末12のCPU20は、ステップS33で“NO”である場合に、または、ステップS35の処理を実行した場合に、ステップS91で、応答内容の音声データおよび画像データを受信したかどうかを判断する。
【0195】
ステップS91で“NO”であれば、つまり、応答内容の音声データおよび画像データを受信していない場合には、ステップS47に進む。一方、ステップS91で“YES”であれば、つまり、応答内容の音声データおよび画像データを受信した場合には、ステップS93で、応答内容の音声データの出力に合せて画像データを出力して、ステップS33に戻る。したがって、操作者の音声が利用者側端末12で出力されるとともに、出力された音声に合せて、比率pに応じた大きさのアバターが喋る動作を行う画像が表示される。
【0196】
次に、図17を参照して、操作者側端末16のCPU50のアバターの画像生成処理について説明するが、既に説明した処理内容についての説明は省略する。なお、アバターの画像生成処理は、操作者の音声がマイク62で検出された場合に実行される。
【0197】
図17に示すように、CPU50は、アバターの画像生成処理を開始すると、ステップS111で、音量が所定値よりも大きいかどうかを判断する。ステップS111で“NO”であれば、つまり、音量が所定値以下であれば、ステップS115に進む。一方、ステップS111で“YES”であれば、つまり、音量が所定値よりも大きければ、ステップS113で、数1に従って比率pを算出して、ステップS115に進む。
【0198】
ステップS115では、比率pに応じた大きさで、応答内容の音声データに合せて発話動作を行うアバターの画像120の画像データを生成して、アバターの画像生成処理を終了する。
【0199】
このように生成された画像データが、応答内容の音声データとともに、利用者側端末12に送信される。
【0200】
第3実施例においても、アバターの画像を通常時よりも拡大または縮小して表示することで、奥行き感を表現することができ、2次元の画面に表示されているにも関わらず、立体感が得られる。つまり、存在感を増したアバターを表示することができる。
【0201】
また、第3実施例においても、拡大したアバターの画像が枠画像からはみ出すように表示される場合には、3次元の現実空間に飛び出そうとしているように見える。つまり、存在感を増したアバターを表示することができる。
【0202】
なお、第3実施例では、操作者の音声の音量に基づいてアバターの画像120を拡大または縮小するようにしたが、これに限定される必要はない。操作者の目の開き具合に基づいてアバターの画像120を拡大または縮小するようにしてもよい。
【0203】
また、第3実施例では、第2実施例で示したように、操作者の首の動きに基づいてアバターの画像120を拡大または縮小するようにしてもよい。この場合、図17に示したアバターの画像生成処理において、操作者が発話するときの音声データのみならず、操作者の首の動きデータが検出される。また、図17に示したステップS111の処理に代えて、操作者の首の動きを示すパラメータ(第3実施例では、移動距離d)が所定の範囲内であるかどうかを判断する処理が実行される。つまり、操作者が頷く場合には、移動距離dが数2に記載した範囲内であるかどうかを判断する。また、操作者が首を振る場合には、移動距離dが数3に記載した範囲内であるかどうかを判断する。操作者の首の動きを示すパラメータが所定の範囲内でなければ、ステップS115に進み、操作者の首の動きを示すパラメータが所定の範囲内であれば、ステップS113で、数2または数3に従って比率pを算出して、ステップS115に進む。
【0204】
<第4実施例>
第4実施例では、サーバ18側で制御処理を実行するようにした以外は、第1実施例と同じであるため、重複した説明は省略する。
【0205】
上述したように、第4実施例では、サーバ18が制御処理を実行するため、制御処理に関しては、利用者側端末12は入出力装置として機能する。したがって、利用者側端末12は、制御処理において、利用者の操作または入力に応じた操作データおよび利用者の音声に応じた音声データをサーバ18に送信し、サーバ18が送信した画像データ、テキストデータおよび音声データを出力する。
【0206】
第4実施例の情報処理システム10では、第1実施例で説明したアプリはサーバ18に記憶されており、サーバ18で実行される。
【0207】
したがって、第4実施例では、サーバ18の記憶部(RAM)18bのプログラム記憶領域には、図8に示した起動判断プログラム302a、メイン処理プログラム302b、通信プログラム302d、画像生成プログラム302e、画像出力プログラム302f、アバター制御プログラム302g、比率算出プログラム302hおよび音出力プログラム302jと同じプログラムが記憶される。ただし、第4実施例では、画像出力プログラム302fは、画像生成プログラム302eに従って生成した画像データを利用者側端末12に出力(または、送信)する。また、音出力プログラム302jは、受信した操作者の応答内容の音声データを利用者側端末12に出力(または、送信)する。
【0208】
また、サーバ18の記憶部(RAM)18bのデータ記憶領域には、送信データ、受信データ、画像生成データおよび比率データが記憶される。送信データは、利用者側端末12に送信するデータであり、ウェブ画面100、選択画面110、チャット画面130、トーク画面150の画像データ、アバターの画像120の画像データ、チャットにおける利用者の質問内容についてのテキストデータ、チャットにおける操作者の応答内容についてのテキストデータおよびトークにおける利用者の質問内容についての音声データおよび操作者の応答内容についての音声データである。受信データは、操作者側端末16から送信され、受信したデータであり、チャットにおける操作者の応答内容についてのテキストデータおよびトークにおける操作者の応答内容についての音声データ(第4実施例では、音量データが付加された音声データ)である。
【0209】
画像生成データは、利用者側端末12の表示装置30に表示される各種の画面を生成するためのデータであり、アバターの画像120を生成するためのデータを含む。また、アバターの画像120を生成するためのデータは、アバターの画像120についての静止した状態の画像データ、無意識動作および挨拶の動作についてのアニメーションデータを含む。比率データは、比率pについてのデータである。
【0210】
また、第4実施例では、サーバ18が制御処理を実行するため、利用者側端末12では、起動判断プログラム302a、アバター制御プログラム302gおよび比率算出プログラム302hを省略することができる。同様に、利用者側端末12には、比率データ304eは記憶されない。
【0211】
具体的には、サーバ18のCPU18aが図18図20に示す制御処理を実行する。以下、図18図20を用いてサーバ18のCPU18aが実行する制御処理について説明するが、既に説明した内容と重複する内容については簡単に説明することにする。
【0212】
図18に示すように、サーバ18のCPU18aは、制御処理を開始すると、ステップS201で、アプリの起動条件を満たすかどうかを判断する。ステップS201で“NO”であれば、ステップS201に戻る。一方、ステップS201で“YES”であれば、ステップS203で、アプリを起動する。
【0213】
続くステップS205では、図4に示したような選択画面110を利用者側端末12に表示する。つまり、CPU18aは、図4に示したような選択画面110の画像データを生成して利用者側端末12に出力(または、送信)する。したがって、利用者側端末12の表示装置30において、選択画面110がウェブ画面100の前面に表示される。以下、利用者側端末12に画面が表示される場合について同様である。
【0214】
ただし、アプリを起動した当初では、CPU18aは、静止した状態のアバターの画像120を表示枠112に表示する選択画面110の画像データを生成して利用者側端末12に送信し、次いで、アバターに挨拶の動作を行わせるためのアニメーションデータを利用者側端末12に出力する。
【0215】
次のステップS207では、アバターの画像120に待機動作を実行させる。ここでは、CPU18aは、アバターに無意識動作を行わせるためのアニメーションデータを利用者側端末12に送信する。ただし、CPU18aは、選択画面110において利用者の操作が無い場合において、数秒または数十秒毎にアバターに無意識動作を行わせるためのアニメーションデータを送信する。
【0216】
続いて、ステップS209で、ボタン操作が有るかどうかを判断する。ここでは、CPU18aは、選択画面110のボタン114またはボタン116がオンされたことを示す操作データを利用者側端末12から受信したかどうかを判断する。なお、図示は省略するが、ボタン118がオンされたことを示す操作データを受信した場合には、選択画面110を閉じる(非表示する)ことを利用者側端末12に指示して、アプリを終了する。
【0217】
ステップS209で“NO”であれば、ステップS207に戻る。一方、ステップS209で“YES”であれば、ステップS211で、チャットかどうかを判断する。ここでは、CPU18aは、操作データがボタン114のオンを示すかどうかを判断する。
【0218】
ステップS211で“NO”であれば、つまり、ボタン116のオンであれば、図20に示すステップS231に進む。一方、ステップS211で“YES”であれば、つまり、ボタン114のオンであれば、図19に示すステップS213で、図5に示したようなチャット画面130を利用者側端末12に表示する。つまり、CPU18aは、図5に示したようなチャット画面130の画像データを生成して利用者側端末12に送信する。
【0219】
したがって、利用者側端末12の表示装置30では、選択画面110が非表示され、ウェブ画面100の前面にチャット画面130が表示される。
【0220】
次のステップS215では、質問内容の入力かどうかを判断する。ここでは、CPU18aは、質問内容(テキスト)のキー入力を示す操作データを利用者側端末12から受信したかどうかを判断する。
【0221】
ステップS215で“YES”であれば、ステップS217で、操作データが示すキー入力に対応する文字または文字列を表示枠136にテキストで表示する画像データを生成して利用者側端末12に送信して、ステップS215に戻る。
【0222】
したがって、利用者側端末12では、チャット画面130の表示枠136に、利用者が入力した質問内容についての文字または文字列が順次表示される。
【0223】
一方、ステップS215で“NO”であれば、ステップS219で、質問内容の送信かどうかを判断する。ここでは、CPU18aは、質問内容が確定したこと(または、質問内容を送信すること)を示す操作データを利用者側端末12から受信したかどうかを判断する。
【0224】
ステップS219で“YES”であれば、ステップS221で、質問内容のテキストデータを操作者側端末16に送信して、ステップS223に進む。ただし、質問内容のテキストデータは、今回の質問において、利用者が入力した文字または文字列を時系列に並べたデータである。一方、ステップS219で“NO”であれば、ステップS223に進む。
【0225】
ステップS223では、応答内容のテキストデータを操作者側端末16から受信したかどうかを判断する。ステップS223で“NO”であれば、ステップS227に進む。一方、ステップS223で“YES”であれば、ステップS225で、応答内容の表示に合せてアバターを発話させて、ステップS227に進む。ステップS225では、CPU18aは、応答内容を表示枠134に一文字ずつテキストで表示する画像データを生成して利用者側端末12に送信するとともに、その表示に合せて喋るように口唇部を変化させて発話動作を行うアバターの画像120の画像データを生成して利用者側端末12に送信する。
【0226】
したがって、利用者側端末12では、チャット画面130の表示枠134に応答内容が一文字ずつ表示されるとともに、その応答内容の表示に合せて発話動作を行うアバターの画像120が表示枠132に表示される。
【0227】
ステップS227では、チャットの終了かどうかを判断する。ここでは、CPU18aは、ボタン138のオンを示す操作データを受信したり、操作者側端末16からチャットの終了を指示する操作データを受信したりしたかどうかを判断する。
【0228】
ステップS227で“NO”であれば、ステップS215に戻る。一方、ステップS227で“YES”であれば、ステップS229で、チャット画面130を閉じることを利用者側端末12に指示して、図18に示したステップS205に戻る。
【0229】
また、上述したように、ステップS211で“NO”であれば、図20に示すステップS231で、図6に示したようなトーク画面150を利用者側端末12に表示する。つまり、CPU18aは、図6に示したようなトーク画面150の画像データを生成して利用者側端末12に送信する。
【0230】
したがって、利用者側端末12の表示装置30では、選択画面110が非表示され、ウェブ画面100の前面にトーク画面150が表示される。
【0231】
続くステップS233では、利用者の質問内容の音声データを利用者側端末12から受信したかどうかを判断する。ステップS233で“NO”であれば、つまり、質問内容の音声データを受信していなければ、ステップS237に進む。一方、ステップS233で“YES”であれば、つまり、質問内容の音声データを受信すれば、ステップS235で、質問内容の音声データを操作者側端末16に送信して、ステップS237に進む。
【0232】
つまり、サーバ18は受信した質問内容の音声データを操作者側端末16に送信する。したがって、操作者側端末16では、スピーカ64から利用者の音声が出力される。一方、操作者側端末16は、操作者の応答内容の音声データに音量データを付加して、サーバ18に送信する。
【0233】
ステップS237では、操作者の応答内容の音声データを受信したかどうかを判断する。ステップS237で“YES”であれば、つまり、操作者の応答内容の音声データを受信すれば、ステップS239で、図12に示した比率算出処理を実行して、ステップS241で、比率pに応じた大きさで、応答内容の音声データに合せて発話動作を行うアバターの画像120の画像データを生成する。
【0234】
ただし、ステップS241で生成されるアバターの画像120の画像データは、第3実施例(ステップS115)と同様であり、比率pに応じた大きさで、操作者の音声にリップシンクして発話動作を行うアバターの画像120についての画像データである。
【0235】
次のステップS243では、受信した応答内容の音声データとステップS241で生成した画像データを利用者側端末12に送信して、ステップS233に戻る。したがって、利用者側端末12では、応答内容の音声がスピーカ34から出力されるとともに、トーク画面150において、比率pに応じた大きさで、応答内容の音声にリップシンクして発話動作を行うアバターの画像120が表示枠152に表示される。
【0236】
また、ステップS237で“NO”であれば、ステップS245で、比率pをリセットして、ステップS247で、通常の大きさでアバターの画像120の画像データを利用者側端末12に送信して、ステップS249に進む。したがって、利用者側端末12では、操作者の音声の出力が終了すると、アバターの画像120の大きさが通常時の大きさに戻される。
【0237】
ステップS249では、トークの終了かどうかを判断する。ここでは、CPU18aは、利用者側端末12からボタン154のオンを示す操作データを受信したり、操作者側端末16からトークの終了を指示する操作データを受信したりしたかどうかを判断する。
【0238】
ステップS249で“NO”であれば、ステップS233に戻る。一方、ステップS249で“YES”であれば、ステップS251で、トーク画面150を閉じることを利用者側端末12に指示して、ステップS205に戻る。
【0239】
第4実施例においても、アバターの画像を通常時よりも拡大または縮小して表示することで、奥行き感を表現することができ、2次元の画面に表示されているにも関わらず、立体感が得られる。つまり、存在感を増したアバターを表示することができる。
【0240】
また、第4実施例においても、拡大したアバターの画像が枠画像からはみ出すように表示される場合には、3次元の現実空間に飛び出そうとしているように見える。つまり、存在感を増したアバターを表示することができる。
【0241】
なお、第4実施例では、トークにおける利用者の質問内容の音声は、利用者側端末12からサーバ18を介して操作者側端末16に送信されるが、第1実施例と同様に、利用者側端末12から操作者側端末16に送信されるようにしてもよい。
【0242】
また、第4実施例では、第2実施例で示したように、操作者の首の動きに基づいてアバターの画像120を拡大または縮小するようにしてもよい。この場合、操作者側端末16は、首の動きデータを付加した音声データをサーバ18に送信する。そして、ステップS45で、図15に示した第2実施例の比率算出処理を実行する。
【0243】
上述の各実施例で示したように、情報処理システム10においては、比率pを、利用者側端末12、操作者側端末16またはサーバ18のいずれかで算出することができる。また、情報処理システム10においては、アバターの画像120を、利用者側端末12、操作者側端末16またはサーバ18のいずれかで生成することができる。
【0244】
また、上述の各実施例では、比率pに応じた大きさのアバターの画像120を表示するとともに、応答内容の音声に合わせて発話動作を行うアバターの画像120を表示するようにしたが、発話動作を行わずに、比率pに応じた大きさでアバターの画像120を表示するだけでも、アバターの存在感を増すことができる。
【0245】
さらに、上述の各実施例では、比率pに応じた大きさのアバターの画像120を表示するようにしたが、比率pを算出せずに、操作者の音声を出力するときに、アバターの画像120を表示枠152からはみ出す大きさに拡大するようにしてもよい。たとえば、アバターの画像120が通常時の1.4倍の大きさにされる。ただし、これは一例であり、表示枠152からはみ出す大きさにされればよい。具体的には、第1実施例および第2実施例では、図11に示すステップS39およびS45が削除され、ステップS43で、CPU20は、1.4倍に拡大した大きさで、応答内容の音声データに合せて発話動作を行うアバー他の画像データを生成および出力する。また、第3実施例では、図17に示すステップS111およびS113が削除され、ステップS115で、CPU50は、1.4倍に拡大した大きさで、応答内容の音声データに合せて発話動作を行うアバー他の画像データを生成する。さらに、第4実施例では、図20に示すステップS239およびS245が削除され、ステップS241において、CPU18aは、1.4倍に拡大した大きさで、応答内容の音声データに合せて発話動作を行うアバターの画像120の画像データを生成する。
【0246】
このように、比率pを算出しない場合には、操作者側端末16は、操作者の音声の音声データのみを利用者側端末12またはサーバ18に送信し、音量データまたは首の動きデータを送信する必要はなく、音量データまたは首の動きデータを検出する必要もない。
【0247】
また、比率pを算出しない場合には、操作者の音声を検出したときの音声の音量または操作者の首の動きは関係無いため、チャットにおいて、操作者の応答内容のテキストを表示するときに、アバターの画像120を表示枠152からはみ出す大きさに拡大するようにしてもよい。このようにしても、存在感を増したアバターを表示することができる。具体的には、第1実施例、第2実施例および第3実施例において、図10に示すステップS25において、CPU20は、応答内容を表示枠134に一文字ずつテキストで表示し、1.4倍に拡大した大きさで、その表示に合せてアバターが喋るように口唇部を変化させて発話動作を行うアバターの画像120を表示枠132に表示する。ただし、この場合の「通常時」は、応答内容のテキストを表示していない状態を含む。
【0248】
さらに、比率pを算出しない場合には、アバターの画像120の大きさを拡大することに代えて、アバターの画像120を変化(または、変形)させることで、アバターの画像120を表示枠132または表示枠152からはみ出して表示することもできる。一例として、図21に示すように、アバターの手と頭部の一部を、枠画像(表示枠152)からはみ出したアバターの画像120を表示することができる。このようにしても、アバターが3次元の現実空間に飛び出そうとしているように見える。つまり、存在感を増したアバターを表示することができる。
【0249】
ただし、比率pを算出する場合であり、かつ、比率pが1よりも大きい場合には、比率pの大きさに比例して、表示枠152からはみ出す度合が大きくなるように、アバターの画像120を変化させるようにしてもよい。
【0250】
以上のように、アバターの画像120を拡大または縮小したり、アバターの画像120を変化(または、変形)させたりして、アバターの態様を変化させることで、存在感を増したアバターを表示することができる。
【0251】
また、比率pを算出せずに、アバターの画像120を拡大したり変化させたりして、アバターの態様を変化させる場合にも、上述したように、発話動作を行わずに、存在感を増したアバターを表示することができる。
【0252】
なお、上述の各実施例では、チャットでは、操作者との間でテキストをやり取りするようにしたが、利用者側端末は、ネットワーク(クラウド)上のチャットサービスサーバにアクセスし、チャットボットとメッセージをやり取りするようにしてもよい。
【0253】
また、上述の各実施例では、トーク画面において、アバターの画像は、アバターの頭部および首についての画像であり、操作者の音声を出力する場合に、その音量または操作者の首の動きに応じて、アバターの頭部および首の画像を拡大または縮小するようにしたが、アバターの上半身または全身の画像を表示する場合には、アバターの上半身または全身の画像を拡大または縮小するようにしてもよい。この場合には、アバターの発話動作には、上半身または全身を用いた身振り手振りも含まれる。
【0254】
さらに、上述の各実施例では、操作者側端末から送信される音声データに含まれる音量データまたは首の動きデータのように、操作者が発話したときの所定の情報に基づいて、利用者側端末で比率を算出するようにしたが、比率は操作者側端末で算出してもよい。かかる場合には、操作者側端末は、音声データに、算出した比率データを付加して、利用者側端末に送信する。利用者側端末では、受信した音声データに付加された比率データ示す比率でアバターの画像を表示(描画)する。このように、操作者側端末から送信する音声データに比率データを付加する場合には、この比率データが所定の情報である。
【0255】
さらにまた、上述の各実施例では、操作者の音声を利用者側端末のスピーカからそのまま出力するようにしたが、操作者の音声を変換した音声を出力するようにしてもよい。
【0256】
また、上述の各実施例では、チャットまたはトークを実行可能なアプリについて説明したが、これに限定される必要はない。トーク(つまり、音声のやり取り)のみを実行可能なアプリでもよい。また、他の例では、ウェブ会議またはビデオ通話を行う場合にも適用でき、ウェブ会議またはビデオ通話においてアバターの画像を表示する場合に、対応する人間が発話する音声の音量または発話するときの当該人間の首の動きに応じた比率pで拡大または縮小される。つまり、本願発明は、或る人間が発話する音声を当該或る人間と対話する他の人間が使用する端末で出力するとともに、当該或る人間に対応するアバターの画像を当該他の人間が使用する端末に表示する場合に適用可能である。
【0257】
さらに、上述の各実施例では、起動条件を満たす場合に、アプリを起動するようにしたが、ウェブ画面が表示されるときに、アプリを起動するようにしてもよい。
【0258】
なお、上述の各実施例で示したフロー図の各ステップは同じ結果が得られる場合には、処理する順番を変更することが可能である。
【0259】
また、上述の各実施例で挙げた各種の画面、角度などの具体的数値はいずれも単なる例示であり、必要に応じて適宜変更可能である。たとえば、トークの場合には、トーク画面を表示することに代えて、アバターの画像および表示枠(枠が像)のみを表示することも可能である。
【符号の説明】
【0260】
10 …情報処理システム
12 …利用者側端末
14 …ネットワーク
16 …操作者側端末
18 …サーバ
18a、20、50 …CPU
18b、22、52 …記憶部
24、54 …通信I/F
26、56 …入出力I/F
28、58 …入力装置
30、60 …表示装置
32、62 …マイク
34、64 …スピーカ
66 …センサI/F
68 …慣性センサ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21