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

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

▶ AVITA株式会社の特許一覧

特開2023-131825情報処理装置、制御プログラムおよび制御方法
<>
  • 特開-情報処理装置、制御プログラムおよび制御方法 図1
  • 特開-情報処理装置、制御プログラムおよび制御方法 図2
  • 特開-情報処理装置、制御プログラムおよび制御方法 図3
  • 特開-情報処理装置、制御プログラムおよび制御方法 図4
  • 特開-情報処理装置、制御プログラムおよび制御方法 図5
  • 特開-情報処理装置、制御プログラムおよび制御方法 図6
  • 特開-情報処理装置、制御プログラムおよび制御方法 図7
  • 特開-情報処理装置、制御プログラムおよび制御方法 図8
  • 特開-情報処理装置、制御プログラムおよび制御方法 図9
  • 特開-情報処理装置、制御プログラムおよび制御方法 図10
  • 特開-情報処理装置、制御プログラムおよび制御方法 図11
  • 特開-情報処理装置、制御プログラムおよび制御方法 図12
  • 特開-情報処理装置、制御プログラムおよび制御方法 図13
  • 特開-情報処理装置、制御プログラムおよび制御方法 図14
  • 特開-情報処理装置、制御プログラムおよび制御方法 図15
  • 特開-情報処理装置、制御プログラムおよび制御方法 図16
  • 特開-情報処理装置、制御プログラムおよび制御方法 図17
  • 特開-情報処理装置、制御プログラムおよび制御方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023131825
(43)【公開日】2023-09-22
(54)【発明の名称】情報処理装置、制御プログラムおよび制御方法
(51)【国際特許分類】
   H04N 7/15 20060101AFI20230914BHJP
   H04L 67/131 20220101ALI20230914BHJP
   H04N 7/14 20060101ALI20230914BHJP
   H04N 21/442 20110101ALI20230914BHJP
   G10L 15/10 20060101ALI20230914BHJP
   G06Q 30/0601 20230101ALI20230914BHJP
【FI】
H04N7/15 170
H04L67/131
H04N7/14 110
H04N21/442
G10L15/10 500N
G10L15/10 500Z
G06Q30/06 340
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022036796
(22)【出願日】2022-03-10
(71)【出願人】
【識別番号】521413866
【氏名又は名称】AVITA株式会社
(74)【代理人】
【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人
(74)【代理人】
【識別番号】100168217
【弁理士】
【氏名又は名称】大村 和史
(72)【発明者】
【氏名】三上 崇志
(72)【発明者】
【氏名】石黒 浩
(72)【発明者】
【氏名】西口 昇吾
【テーマコード(参考)】
5C164
5L049
【Fターム(参考)】
5C164FA09
5C164UB41P
5C164UB90S
5C164VA04S
5C164VA06P
5C164VA07P
5C164VA35P
5C164YA12
5L049BB66
(57)【要約】      (修正有)
【課題】対話画面を通して利用者との対話状況を知ることができ、対話の相手である利用者と対話し易くすることができる情報処理装置、制御プログラム及び制御方法を提供する。
【解決手段】利用者側端末が、ネットワークを介して、操作者側端末及びサーバに通信可能に接続される情報処理システムにおいて、操作者側端末は、CPUを含む。操作者は、表示装置に表示された対話画面200を見て、通信可能に接続された利用者側端末を使用する利用者のアバターの画像210と対話する。仮想空間には、利用者及び操作者のそれぞれに対応するアバター画像210、212が配置され、利用者と操作者の対話状況に応じて仮想カメラの位置及び向きが制御され、一人称視点、斜め後方から見た三人称視点或いは真横から見た三人称視点の対話画面が表示される。
【選択図】図5
【特許請求の範囲】
【請求項1】
操作者が対話する利用者の音声である利用者音声を利用者側端末から受信する音声受信手段、
前記操作者の顔画像である操作者顔画像を撮影する撮影手段、
少なくとも、前記音声受信手段によって受信された利用者音声および前記撮影手段によって撮影された操作者顔画像を用いて、前記操作者と前記利用者の対話状況を判断する対話状況判断手段、
前記操作者に対応するアバターである操作者アバターと前記利用者に対応するアバターである利用者アバターを仮想空間に配置するアバター配置手段、および
前記仮想空間を撮影する仮想カメラの位置および向きを前記対話状況判断手段によって判断された対話状況に応じて設定する仮想カメラ制御手段を備える、情報処理装置。
【請求項2】
前記仮想カメラ制御手段は、前記対話状況に応じて、前記仮想カメラの位置および向きを、前記操作者アバターから前記利用者アバターを見た一人称視点、前記操作者アバターの斜め後方から前記操作者アバターと前記利用者アバターの間の第1所定位置を見た後方の三人称視点、または、前記操作者アバターと前記利用者アバターの横から前記操作者アバターと前記利用者の間の第2所定位置を見た側方の三人称視点のいずれかに設定する、請求項1記載の情報処理装置。
【請求項3】
前記対話状況は、前記操作者が前記利用者だけを意識している第1の状況、前記操作者が前記利用者のみならず、前記操作者自身のリアクションを確認したい第2の状況、および、前記操作者と前記操作者が対等に話し合っている第3の状況のいずれかである、請求項1または2記載の情報処理装置。
【請求項4】
前記第1の状況は、前記操作者が前記利用者音声を単に傾聴している第4の状況を含み、
前記操作者顔画像に基づいて前記操作者の表情を認識する操作者表情認識手段をさらに備え、
前記対話状況判断手段は、前記音声受信手段によって前記利用者音声を受信している場合に、前記操作者表情認識手段によって認識された前記操作者の表情に基づいて前記第4の状況を判断し、
前記仮想カメラ制御手段は、前記対話状況判断手段によって前記第4の状況が判断された場合に、前記仮想カメラを前記一人称視点に設定する、請求項3記載の情報処理装置。
【請求項5】
前記第2の状況は、前記操作者が前記利用者音声を納得しながら傾聴している第5の状況を含み、
前記操作者顔画像に基づいて前記操作者の頭部の動きを検出する操作者頭部の動き検出手段をさらに備え、
前記対話状況判断手段は、前記音声受信手段によって前記利用者音声を受信している場合に、前記操作者頭部の動き検出手段によって検出された前記操作者の頭部の動きに基づいて前記第5の状況を判断し、
前記仮想カメラ制御手段は、前記対話状況判断手段によって前記第5の状況が判断された場合に、前記仮想カメラを前記後方の三人称視点に設定する、請求項3記載の情報処理装置。
【請求項6】
前記第2の状況は、前記操作者が強い感情の前記利用者音声を傾聴している第6の状況を含み、
前記操作者顔画像に基づいて前記操作者の頭部の動きを検出する操作者頭部の動き検出手段をさらに備え、
前記対話状況判断手段は、前記音声受信手段によって前記利用者音声を受信している場合に、前記利用者感情認識手段によって検出された前記利用者の感情に基づいて前記第6の状況を判断し、
前記仮想カメラ制御手段は、前記対話状況判断手段によって前記第6の状況が判断された場合に、前記仮想カメラを前記後方の三人称視点に設定する、請求項3記載の情報処理装置。
【請求項7】
前記第2の状況は、前記操作者が前記利用者に謝っている第7の状況を含み、
前記操作者顔画像に基づいて前記操作者の表情を認識する操作者表情認識手段、および
前記操作者の音声である操作者音声を検出する音声検出手段をさらに備え、
前記対話状況判断手段は、前記操作者表情認識手段によって認識された前記操作者の表情と前記音声検出手段によって検出された前記操作者音声に基づいて第7の状況を判断し、
前記仮想カメラ制御手段は、前記対話状況判断手段によって前記第7の状況が判断された場合に、前記仮想カメラを前記後方の三人称視点に設定する、請求項3記載の情報処理装置。
【請求項8】
前記第3の状況は、前記操作者または前記利用者が挨拶している第8の状況を含み、
前記操作者の音声である操作者音声を検出する音声検出手段をさらに備え、
前記対話状況判断手段は、前記音声受信手段によって受信された利用者音声と前記音声検出手段によって検出された前記操作者音声に基づいて前記第8の状況を判断し、
前記仮想カメラ制御手段は、前記対話状況判断手段によって前記第8の状況が判断された場合に、前記仮想カメラを前記側方の三人称視点に設定する、請求項3記載の情報処理装置。
【請求項9】
前記第3の状況は、前記操作者と前記利用者が言い合っている第9の状況を含み、
前記操作者の音声である操作者音声を検出する音声検出手段をさらに備え、
前記対話状況判断手段は、前記音声受信手段によって受信された利用者音声と前記音声検出手段によって検出された前記操作者音声に基づいて前記第9の状況を判断し、
前記仮想カメラ制御手段は、前記対話状況判断手段によって前記第9の状況が判断された場合に、前記仮想カメラを前記側方の三人称視点に設定する、請求項3記載の情報処理装置。
【請求項10】
前記第3の状況は、前記操作者と前記利用者が共感している第10の状況を含み、
前記操作者顔画像に基づいて前記操作者の表情を認識する操作者表情認識手段、
前記利用者の顔画像である利用者顔画像を前記利用者側端末から受信する顔画像受信手段、および
前記顔画像受信手段によって受信された利用者顔画像に基づいて前記利用者の表情を認識する利用者表情認識手段をさらに備え、
前記対話状況判断手段は、少なくとも、前記操作者表情認識手段によって認識された前記操作者の表情と前記利用者表情認識手段によって認識された前記利用者の表情に基づいて前記第10の状況を判断し、
前記仮想カメラ制御手段は、前記対話状況判断手段によって前記第10の状況が判断された場合に、前記仮想カメラを前記側方の三人称視点に設定する、請求項3記載の情報処理装置。
【請求項11】
前記第3の状況は、前記操作者と前記利用者が共感している第10の状況を含み、
前記操作者顔画像に基づいて前記操作者の表情を認識する操作者表情認識手段、および
前記利用者側端末から前記利用者の表情を受信する表情受信手段をさらに備え、
前記対話状況判断手段は、少なくとも、前記操作者表情認識手段によって認識された前記操作者の表情と前記表情受信手段によって受信された前記利用者の表情に基づいて前記第10の状況を判断し、
前記仮想カメラ制御手段は、前記対話状況判断手段によって前記第10の状況が判断された場合に、前記仮想カメラを前記側方の三人称視点に設定する、請求項3記載の情報処理装置。
【請求項12】
情報処理装置で実行される制御プログラムであって、
前記情報処理装置のプロセッサに、
操作者が対話する利用者の音声である利用者音声を利用者側端末から受信する音声受信ステップ、
前記操作者の顔画像である操作者顔画像を撮影する撮影ステップ、
少なくとも、前記音声受信ステップにおいて受信した利用者音声および前記撮影ステップにおいて撮影した操作者顔画像を用いて、前記操作者と前記利用者の対話状況を判断する対話状況判断ステップ、
前記操作者に対応するアバターである操作者アバターと前記利用者に対応するアバターである利用者アバターを仮想空間に配置するアバター配置ステップ、および
前記仮想空間を撮影する仮想カメラの位置および向きを前記対話状況判断ステップにおいて判断した対話状況に応じて設定する仮想カメラ制御ステップを実行させる、制御プログラム。
【請求項13】
情報処理装置の制御方法であって、
(a)操作者が対話する利用者の音声である利用者音声を利用者側端末から受信するステップ、
(b)前記操作者の顔画像である操作者顔画像を撮影するステップ、
(c)少なくとも、前記ステップ(a)において受信した利用者音声および前記ステップ(b)において撮影した操作者顔画像を用いて、前記操作者と前記利用者の対話状況を判断するステップ、
(d)前記操作者に対応するアバターである操作者アバターと前記利用者に対応するアバターである利用者アバターを仮想空間に配置するステップ、および
(e)前記仮想空間を撮影する仮想カメラの位置および向きを前記ステップ(c)において判断した対話状況に応じて設定するステップを含む、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置、制御プログラムおよび制御方法に関し、特にたとえば、通信可能に接続される端末の利用者と音声で対話する操作者が使用する、情報処理装置、制御プログラムおよび制御方法に関する。
【背景技術】
【0002】
この種の従来の情報処理装置の一例が特許文献1に開示されている。特許文献1に開示される情報処理システムでは、ユーザが商品に関することや、ショッピングサイトの利用方法に関することについて相談したい場合、ユーザは呼出ボタンを押下することで、オペレータを呼び出して相談することが可能である。ユーザ端末とオペレータ端末が接続されると、オペレータ端末には、ユーザ端末に表示されたウェブサイトが現在の表示態様で表示される。また、ユーザ端末には、ウェブサイトに、オペレータの画像またはこれに同期したアバター画像が表示される。したがって、オペレータは、ユーザに対して身振り手振りを用いながら接客する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第6937534号
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1では、ショッピングサイト画面以外のウェブサイト画面や、他の個人情報など、ユーザが意図しない画面がオペレータ端末に映り込むことがない。つまり、オペレータ端末には、ユーザの画像またはこれに同期したアバター画像が表示されることが無く、オペレータはユーザまたはこれに同期したアバターの顔を見ることができないため、対話し難い。このため、ユーザの画像をオペレータ端末に表示することが考えられるが、ユーザのプライバシーを侵害する虞がある。また、ユーザの画像に同期したアバター画像を表示することも考えられるが、オペレータがより対話し易くするためには改善の余地がある。
【0005】
それゆえに、この発明の主たる目的は、新規な、情報処理装置、制御プログラムおよび制御方法を提供することである。
【0006】
また、この発明の他の目的は、相手と対話し易くすることができる、情報処理装置、制御プログラムおよび制御方法を提供することである。
【課題を解決するための手段】
【0007】
第1の発明は、操作者が対話する利用者の音声である利用者音声を利用者側端末から受信する音声受信手段、操作者の顔画像である操作者顔画像を撮影する撮影手段、少なくとも、音声受信手段によって受信された利用者音声および撮影手段によって撮影された操作者顔画像を用いて、操作者と利用者の対話状況を判断する対話状況判断手段、操作者に対応するアバターである操作者アバターと利用者に対応するアバターである利用者アバターを仮想空間に配置するアバター配置手段、および仮想空間を撮影する仮想カメラの位置および向きを対話状況判断手段によって判断された対話状況に応じて設定する仮想カメラ制御手段を備える、情報処理装置である。
【0008】
第2の発明は、第1の発明に従属し、仮想カメラ制御手段は、対話状況に応じて、仮想カメラの位置および向きを、操作者アバターから利用者アバターを見た一人称視点、操作者アバターの斜め後方から操作者アバターと利用者アバターの間の第1所定位置を見た後方の三人称視点、または、操作者アバターと利用者アバターの横から操作者アバターと利用者の間の第2所定位置を見た側方の三人称視点のいずれかに設定する。
【0009】
第3の発明は、第1または第2の発明に従属し、対話状況は、操作者が利用者だけを意識している第1の状況、操作者が利用者のみならず、操作者自身のリアクションを確認したい第2の状況、および、操作者と操作者が対等に話し合っている第3の状況のいずれかである。
【0010】
第4の発明は、第3の発明に従属し、第1の状況は、操作者が利用者音声を単に傾聴している第4の状況を含み、操作者顔画像に基づいて操作者の表情を認識する操作者表情認識手段をさらに備え、対話状況判断手段は、音声受信手段によって利用者音声を受信している場合に、操作者表情認識手段によって認識された操作者の表情に基づいて第4の状況を判断し、仮想カメラ制御手段は、対話状況判断手段によって第4の状況が判断された場合に、仮想カメラを一人称視点に設定する。
【0011】
第5の発明は、第3の発明に従属し、第2の状況は、操作者が利用者音声を納得しながら傾聴している第5の状況を含み、操作者顔画像に基づいて操作者の頭部の動きを検出する操作者頭部の動き検出手段をさらに備え、対話状況判断手段は、音声受信手段によって利用者音声を受信している場合に、操作者頭部の動き検出手段によって検出された操作者の頭部の動きに基づいて第5の状況を判断し、仮想カメラ制御手段は、対話状況判断手段によって第5の状況が判断された場合に、仮想カメラを後方の三人称視点に設定する。
【0012】
第6の発明は、第3の発明に従属し、第2の状況は、操作者が強い感情の利用者音声を傾聴している第6の状況を含み、操作者顔画像に基づいて操作者の頭部の動きを検出する操作者頭部の動き検出手段をさらに備え、対話状況判断手段は、音声受信手段によって利用者音声を受信している場合に、利用者感情認識手段によって検出された利用者の感情に基づいて第6の状況を判断し、仮想カメラ制御手段は、対話状況判断手段によって第6の状況が判断された場合に、仮想カメラを後方の三人称視点に設定する。
【0013】
第7の発明は、第3の発明に従属し、第2の状況は、操作者が利用者に謝っている第7の状況を含み、操作者顔画像に基づいて操作者の表情を認識する操作者表情認識手段、および操作者の音声である操作者音声を検出する音声検出手段をさらに備え、対話状況判断手段は、操作者表情認識手段によって認識された操作者の表情と音声検出手段によって検出された操作者音声に基づいて第7の状況を判断し、仮想カメラ制御手段は、対話状況判断手段によって第7の状況が判断された場合に、仮想カメラを後方の三人称視点に設定する。
【0014】
第8の発明は、第3の発明に従属し、第3の状況は、操作者または利用者が挨拶している第8の状況を含み、操作者の音声である操作者音声を検出する音声検出手段をさらに備え、対話状況判断手段は、音声受信手段によって受信された利用者音声と音声検出手段によって検出された操作者音声に基づいて第8の対話状況を判断し、仮想カメラ制御手段は、対話状況判断手段によって第8の状況が判断された場合に、仮想カメラを側方の三人称視点に設定する。
【0015】
第9の発明は、第3の発明に従属し、第3の状況は、操作者と利用者が言い合っている第9の状況を含み、操作者の音声である操作者音声を検出する音声検出手段をさらに備え、対話状況判断手段は、音声受信手段によって受信された利用者音声と音声検出手段によって検出された操作者音声に基づいて第9の状況を判断し、仮想カメラ制御手段は、対話状況判断手段によって第9の状況が判断された場合に、仮想カメラを側方の三人称視点に設定する。
【0016】
第10の発明は、第3の発明に従属し、第3の状況は、操作者と利用者が共感している第10の状況を含み、操作者顔画像に基づいて操作者の表情を認識する操作者表情認識手段、利用者の顔画像である利用者顔画像を利用者側端末から受信する顔画像受信手段、および顔画像受信手段によって受信された利用者顔画像に基づいて利用者の表情を認識する利用者表情認識手段をさらに備え、対話状況判断手段は、少なくとも、操作者表情認識手段によって認識された操作者の表情と利用者表情認識手段によって認識された利用者の表情に基づいて第10の状況を判断し、仮想カメラ制御手段は、対話状況判断手段によって第10の対話状況が判断された場合に、仮想カメラを側方の三人称視点に設定する。
【0017】
第11の発明は、第3の発明に従属し、第3の状況は、操作者と利用者が共感している第10の状況を含み、操作者顔画像に基づいて操作者の表情を認識する操作者表情認識手段、および利用者側端末から利用者の表情を受信する表情受信手段をさらに備え、対話状況判断手段は、少なくとも、操作者表情認識手段によって認識された操作者の表情と表情受信手段によって受信された利用者の表情に基づいて第10の状況を判断し、仮想カメラ制御手段は、対話状況判断手段によって第10の状況が判断された場合に、仮想カメラを側方の三人称視点に設定する。
【0018】
第12の発明は、情報処理装置で実行される制御プログラムであって、情報処理装置のプロセッサに、操作者が対話する利用者の音声である利用者音声を利用者側端末から受信する音声受信ステップ、操作者の顔画像である操作者顔画像を撮影する撮影ステップ、少なくとも、音声受信ステップにおいて受信した利用者音声および撮影ステップにおいて撮影した操作者顔画像を用いて、操作者と利用者の対話状況を判断する対話状況判断ステップ、操作者に対応するアバターである操作者アバターと利用者に対応するアバターである利用者アバターを仮想空間に配置するアバター配置ステップ、および仮想空間を撮影する仮想カメラの位置および向きを対話状況判断ステップにおいて判断した対話状況に応じて設定する仮想カメラ制御ステップを実行させる、制御プログラムである。
【0019】
第13の発明は、情報処理装置の制御方法であって、 (a)操作者が対話する利用者の音声である利用者音声を利用者側端末から受信するステップ、(b)操作者の顔画像である操作者顔画像を撮影するステップ、(c)少なくとも、ステップ(a)において受信した利用者音声およびステップ(b)において撮影した操作者顔画像を用いて、操作者と利用者の対話状況を判断するステップ、(d)操作者に対応するアバターである操作者アバターと利用者に対応するアバターである利用者アバターを仮想空間に配置するステップ、および(e)仮想空間を撮影する仮想カメラの位置および向きをステップ(c)において判断した対話状況に応じて設定するステップを含む、制御方法である。
【発明の効果】
【0020】
この発明によれば、利用者のような相手と対話し易くすることができる。
【0021】
この発明の上述の目的、その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0022】
図1図1はこの発明の一実施例の情報処理システムを示す図である。
図2図2図1に示す利用者側端末の電気的な構成を示すブロック図である。
図3図3図1に示す操作者側端末の電気的な構成を示すブロック図である。
図4図4は利用者側端末の表示装置に表示される画面の一例を示す図である。
図5図5(A)は操作者側端末の表示装置に表示される対話画面の一例を示す図であり、図5(B)は操作者側端末の表示装置に表示される対話画面の他の例を示す図であり、図5(C)は操作者側端末の表示装置に表示される対話画面のその他の例を示す図である。
図6図6(A)は仮想カメラの位置および向きの第1設定値を説明するための図であり、図6(B)は仮想カメラの位置および向きの第2設定値を説明するための図であり、図6(C)は仮想カメラの位置および向きの第3設定値を説明するための図である。
図7図7(A)は度合の異なるアバターの怒りの表情の一例を示す図であり、図7(B)は度合の異なるアバターの嫌悪の表情の一例を示す図である。
図8図8は操作者側端末のRAMのメモリマップの一例を示す図である。
図9図9図8に示すデータ記憶領域の具体的な内容の一例を示す図である。
図10図10図3に示す操作者側端末のCPUの仮想カメラ制御処理の一例の第1の一部を示すフロー図である。
図11図11図3に示す操作者側端末のCPUの仮想カメラ制御処理の一例の第2の一部であって、図10に後続するフロー図である。
図12図12図3に示す操作者側端末のCPUの仮想カメラ制御処理の一例の第3の一部であって、図11に後続するフロー図である。
図13図13図3に示す操作者側端末のCPUの状態検出処理の一例を示すフロー図である。
図14図14図3に示す操作者側端末のCPUの出力処理の一例を示すフロー図である。
図15図15図3に示す操作者側端末のCPUの送受信処理の一例を示すフロー図である。
図16図16図2に示す利用者側端末のCPUの送受信処理の一例を示すフロー図である。
図17図17は第2実施例の操作者側端末のCPUの制御処理の一部を示すフロー図である。
図18図18は第2実施例の利用者側端末のCPUの送受信処理を示すフロー図である。
【発明を実施するための形態】
【0023】
<第1実施例>
図1を参照して、この第1実施例の情報処理システム10は利用者側端末12を含み、利用者側端末12は、ネットワーク14を介して、操作者側端末16およびサーバ18に通信可能に接続される。
【0024】
なお、この第1実施例では、1台の利用者側端末12および1台の操作者側端末16を示すが、実際には、複数台の利用者側端末12および複数台の操作者側端末16が設けられ、後述するように、1台の利用者側端末12と、この1台の利用者側端末12からの要求に応じてサーバ18によって選択された1台の操作者側端末16の間でチャットまたはトークの処理が行われる。
【0025】
利用者側端末12は、サーバ18によって提供される所定のサービスを利用する利用者によって使用され、操作者側端末16は、利用者に応対する操作者によって使用される。
【0026】
利用者側端末12は、情報処理装置であり、一例として、汎用のスマートフォンであり、ブラウザ機能を備えている。他の例では、利用者側端末12として、タブレットPC、ノート型PCまたはデスクトップ型PCなどの他の汎用の端末を用いることもできる。
【0027】
ネットワーク14は、インターネットを含むIP網(または、IPネットワーク)と、このIP網にアクセスするためのアクセス網(または、アクセスネットワーク)とから構成される。アクセス網としては、公衆電話網、携帯電話網、有線LAN、無線LAN、CATV(Cable Television)等を用いることができる。
【0028】
操作者側端末16は、利用者側端末12とは異なる他の情報処理装置であり、一例として、汎用のノート型PCまたはデスクトップ型PCであるが、他の例では、スマートフォンまたはタブレットPCなどの他の汎用の端末を用いることもできる。
【0029】
サーバ18は、利用者側端末12および操作者側端末16とは異なるその他の情報処理装置であり、汎用のサーバを用いることができる。したがって、サーバ18は、CPU18aおよび記憶部(HDD、ROMおよびRAMを含む)18bを備えるとともに、通信インタフェースおよび入出力インタフェースなどのコンポーネントを備える。第1実施例では、サーバ18は、所定のサービスを提供するサイトを運営する。
【0030】
図2図1に示した利用者側端末12の電気的な構成を示すブロック図である。図2に示すように、利用者側端末12はCPU20を含み、CPU20は、内部バスを介して、記憶部22、通信インタフェース(以下、「通信I/F」という)24および入出力インタフェース(以下、「入出力I/F」という)26に接続される。
【0031】
CPU20は、利用者側端末12の全体的な制御を司る。ただし、CPU20に代えて、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)を設けてもよい。記憶部22は、HDD、ROMおよびRAMを含む。ただし、HDDに代えて、または、HDD、ROMおよびRAMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0032】
通信I/F24は、CPU20の制御の下、ネットワーク14を介して、操作者側端末16およびサーバ18などの外部のコンピュータとの間で、制御信号およびデータの送受信を行うために有線インタフェースを有する。ただし、通信I/F24としては、無線LANまたはBluetooth(登録商標)等の無線インタフェースを使用することもできる。
【0033】
入出力I/F26には、入力装置28および表示装置30、マイク32およびスピーカ34が接続されている。入力装置28は、タッチパネルおよびハードウェアのボタンである。タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。後述する操作者側端末16についても同様である。
【0034】
ただし、利用者側端末12として、ノート型PCまたはデスクトップ型PCが用いられる場合には、入力装置28として、キーボードおよびコンピュータマウスが使用される。
【0035】
また、表示装置30は、LCDまたは有機EL表示装置である。上記のタッチパネルは、表示装置30の表示面上に設けられてもよいし、タッチパネルが表示装置30と一体的に形成されたタッチパネルディスプレイが設けられてもよい。このことは、後述する操作者側端末16についても同様である。
【0036】
入出力I/F26は、入力装置28から入力された操作データ(または、操作情報)をCPU20に出力するとともに、CPU20によって生成された画像データを表示装置30に出力して、画像データに対応する画面または画像を表示装置30に表示させる。ただし、外部のコンピュータ(たとえば、操作者側端末16またはサーバ18)から受信した画像データがCPU20によって出力される場合もある。
【0037】
また、入出力I/F26は、マイク32で検出された利用者の音声をデジタルの音声データに変換してCPU20に出力するとともに、CPU20によって出力される音声データをアナログの音声信号に変換してスピーカ34から出力させる。ただし、第1実施例では、CPU20から出力される音声データは、操作者側端末16から受信した音声データである。
【0038】
また、利用者側端末12は、センサインタフェース(センサI/F)36およびカメラ38を備えている。CPU20は、バスおよびセンサI/F36を介してカメラ38に接続される。カメラ38は、CCDまたはCMOSのような撮像素子を用いたカメラである。
【0039】
なお、図2に示す利用者側端末12の電気的な構成は一例であり、限定される必要はない。
【0040】
また、利用者側端末12がスマートフォンである場合には、携帯電話通信網、または、携帯電話網および公衆電話網を介して、通話するための通話回路を備えるが、第1実施例では、そのような通話は行わないため、図示は省略してある。このことは、後述する操作者側端末16がスマートフォンである場合についても同じである。
【0041】
図3図1に示した操作者側端末16の電気的な構成を示すブロック図である。図3に示すように、操作者側端末16はCPU50を含み、CPU50は、内部バスを介して、記憶部52、通信I/F54および入出力I/F56に接続される。
【0042】
CPU50は、操作者側端末16の全体的な制御を司る。ただし、CPU50に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。記憶部52は、HDD、ROMおよびRAMを含む。ただし、HDDに代えて、または、HDD、ROMおよびRAMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0043】
通信I/F54は、CPU50の制御の下、ネットワーク14を介して、利用者側端末12およびサーバ18などの外部のコンピュータとの間で、制御信号およびデータの送受信を行うために有線インタフェースを有する。ただし、通信I/F54としては、無線LANまたはBluetooth(登録商標)等の無線インタフェースを使用することもできる。
【0044】
入出力I/F56には、入力装置58および表示装置60、マイク62およびスピーカ64が接続されている。マイク62およびスピーカ64は、操作者が利用者との間で音声通話するために使用するマイク付きのヘッドセットを構成する。
【0045】
また、入力装置58としては、キーボードおよびコンピュータマウスが用いられる。ただし、操作者側端末16として、スマートフォンまたはタブレットPCが用いられる場合には、入力装置58として、タッチパネルおよびハードウェアのボタンが設けられる。また、表示装置60は、LCDまたは有機EL表示装置である。
【0046】
入出力I/F56は、入力装置58から入力された操作データ(または、操作情報)をCPU50に出力するとともに、CPU50によって生成された画像データを表示装置60に出力して、画像データに対応する画面を表示装置60に表示させる。
【0047】
また、入出力I/F56は、マイク62で検出された操作者の音声をデジタルの音声データに変換してCPU50に出力するとともに、CPU50によって出力される音声データをアナログの音声信号に変換してスピーカ64から出力させる。ただし、第1実施例では、CPU50から出力される音声データは、利用者側端末12から受信した音声データである。
【0048】
また、操作者側端末16は、センサI/F66およびカメラ68を備えている。CPU50は、バスおよびセンサI/F66を介してカメラ68に接続される。カメラ68は、CCDまたはCMOSのような撮像素子を用いたカメラである。
【0049】
このような情報処理システム10では、利用者が利用者側端末12を使用して、サーバ18が提供する所定のサービスのウェブ画面100を見て、ショッピング等を行う。ウェブ画面100の前面には、操作者(オペレータ)とチャットまたはトークでコミュニケーションするためのボタン110およびボタン112が表示される。
【0050】
ただし、ウェブ画面100は、ウェブブラウザを起動し、所定のURLを入力することにより、表示装置30に表示される。ウェブ画面100は、所定のサービスのウェブサイト(または、ウェブページ)の画面である。図4では、或るオンラインショッピングのウェブ画面100の例が示される。一例として、所定のサービスは、オンラインショッピングであるが、チャットまたはトークで、利用者の問い合わせに対して応対(応答)することができる、任意のオンラインサービスである。
【0051】
また、ボタン110およびボタン112は、所定の条件を満たした場合に表示されるようにしてもよい。所定の条件は、利用者がボタン110およびボタン112の表示を指示したこと、利用者の操作が長時間(たとえば、30秒から数分)以上無いこと、表示装置30に表示中のウェブ画面100において同じ位置または似たような場所(近くの位置)を繰り返し指示または継続して指示していること、所定のサービスにおいて複数回(たとえば、3回)同じウェブ画面100に戻ってくることである。
【0052】
利用者がボタン110をオンすると、利用者にチャットサービスが提供され、利用者とサーバ18によって選択された操作者の間でチャットが行われる。つまり、利用者側端末12と操作者側端末16の間でテキストによるメッセージの送受信が行われる。チャットサービスは既に周知であり、また、本願発明の本質的な内容ではないため、説明を省略する。一例として、特開2020-86677号に開示されたチャットサービスを用いることができる。ただし、操作者が応対することに代えて、チャットボットが応対することもできる。
【0053】
また、利用者がボタン112をオンすると、利用者はオンラインショッピングのサイトの利用方法および商品に関する問い合わせを、サーバ18によって選択された操作者に対して音声で行うことができる。
【0054】
この場合、操作者に対応するアバター(以下、「操作者のアバター」という)の画像が利用者側端末12の表示装置30に表示される。一例として、操作者のアバターの画像は、人間を模したキャラクタの顔を含む一部または全身の画像であり、ウェブ画面100の前面に表示される。また、操作者のアバターの画像は、操作者の音声の出力に合せて動作される。アバターは、口を動かしたり、瞬きしたり、顔の表情を変えたりする。ただし、アバターの画像が、人間を模したキャラクタの上半身または全身の画像である場合には、アバターは、さらに、身振り手振りする。
【0055】
なお、利用者側端末12において、操作者のアバターの画像の表示およびその制御は本願発明の本質的な内容ではなく、公知技術を採用することができるため、説明を省略する。
【0056】
ただし、操作者のアバターの画像を表示することに代えて、操作者の画像を表示するようにしてもよい。
【0057】
上述したような情報処理システム10においては、操作者は、利用者の映像を見ながら利用者と対話するか、利用者の映像を見ずに利用者と対話することが一般的である。
【0058】
前者の場合には、操作者は、利用者の映像を見ることができ、しかも、利用者の表情を認識することができるため、利用者と対話し易い。しかし、利用者の映像を表示するため、利用者のプライバシーを侵害する虞がある。また、初心者の操作者は、利用者の表情が怒っているように見えるまたは不機嫌そうに見えることで緊張してしまい、適切な応対が困難になる場合もある。
【0059】
また、後者の場合には、利用者のプライバシーを守ることができ、また、初心者の操作者が利用者の表情を見て緊張することは無いと考えられるが、操作者は利用者の映像を見ることができないため、対話し難いという問題がある。
【0060】
したがって、第1実施例では、利用者のプライバシーを守りつつ、初心者の操作者であっても利用者と対話し易くするために、利用者と操作者の対話状況に応じて視点(つまり、仮想カメラ)を適宜切り替えて、利用者に対応するアバター(以下、「利用者のアバター」という)と操作者のアバターが対話する様子の画像を操作者側端末16の表示装置60に表示し、各々のアバターの表情(第1実施例では、顔の表情)、各々のアバターの視線および各々アバターの動作を制御するようにしてある。
【0061】
図5(A)は、操作者側端末16の表示装置60に表示される、対話画面200の一例を示し、図5(B)は、操作者側端末16の表示装置60に表示される、対話画面200の他の例を示し、図5(C)は、操作者側端末16の表示装置60に表示される、対話画面200のその他の例を示す。
【0062】
図5(A)に示す対話画面200は、操作者のアバターの視点で利用者のアバターを見た場合の画像である。つまり、一人称視点の対話画面200である。したがって、図5(A)に示す一人称視点の対話画面200では、画面の中央に、利用者のアバターの画像210が表示される。利用者アバターの画像210は、人間を模したキャラクタの顔を含む一部の画像である。より具体的には、アバターの画像210は、人間の頭部(顔を含む)を含む上半身の画像である。
【0063】
図示は省略するが、後述するように、アバターの表情を制御する場合には、身振り手振りも制御される。なお、アバターに身振り手振りを行わせるためのデータ(後述する、画像生成データ304dに含まれる)は予め用意されている。
【0064】
なお、利用者側端末12の表示装置30に表示されたウェブ画面100と同じウェブ画面100を表示装置60に表示し、このウェブ画面100の前面に、または、ウェブ画面100と並べて、対話画面200が表示されるようにすることもできる。
【0065】
この場合、利用者側端末12の表示装置30に表示されているウェブサイトのURLと、ウィンドウサイズと、カーソルの位置座標を含む表示情報が、利用者側端末12においてボタン112がオンされたときにサーバ18に送信され、さらに、応対する操作者すなわち操作者側端末16が選択されたときに、サーバ18からこの操作者側端末16に送信される。ただし、表示情報は、通信が開始されてからトークが開始されるまでの間に、利用者側端末12から操作者側端末16に直接送信されてもよい。
【0066】
利用者のアバターの画像210は、利用者が予め選択したアバターまたは操作者が予め選択したアバターについての画像である。利用者が予め選択したアバターについての画像が利用者のアバターの画像210として表示される場合には、アバターの種類が、利用者側端末12からサーバ18を介して、または、利用者側端末12から直接、操作者側端末16に通知される。
【0067】
また、図5(B)に示す対話画面200は、操作者のアバターの右斜め後方の視点で、利用者のアバターおよび当該操作者のアバターを見た場合の画像である。つまり、後方の三人称視点の対話画面200である。したがって、図5(B)に示す後方の三人称視点の対話画面200では、画面の右側に、利用者のアバターの画像210が表示され、画面の左側に、操作者のアバターの画像212が表示される。利用者のアバターの画像210と操作者のアバターの画像212は、対面するように表示される。したがって、図5(B)に示す対話画面200では、利用者のアバターの前面が表示され、操作者のアバターの背面が表示される。
【0068】
操作者に対応するアバターの画像212もまた、人間を模したキャラクタの顔を含む一部の画像である。より具体的には、アバターの画像212は、人間の頭部(顔を含む)を含む上半身の画像である。また、操作者のアバターの画像212は、操作者が予め選択したアバターについての画像である。これらのことは、図5(C)に示す対話画面200についても同じである。
【0069】
また、図5(C)に示す対話画面200は、利用者のアバターと操作者のアバターの側方(この第1実施例では、真横)の視点で、当該利用者のアバターおよび当該操作者のアバターを見た場合の画像である。つまり、真横の三人称視点の対話画面200である。したがって、図5(C)に示す真横の三人称視点の対話画面200では、画面の右側に、利用者のアバターの画像210が表示され、画面の左側に、操作者のアバターの画像212が表示される。図5(C)においても、利用者のアバターの画像210と操作者のアバターの画像212は、対面するように表示される。したがって、図5(C)に示す対話画面200では、利用者のアバターの左側面が表示され、操作者のアバターの右側面が表示される。
【0070】
図6(A)は図5(A)に示す一人称視点の対話画面200を表示する場合の仮想カメラの位置および向きの設定値(以下、「第1設定値」という)を説明するための図である。図6(B)は図5(B)に示す後方の三人称視点の対話画面200を表示する場合の仮想カメラの位置および向きの設定値(以下、「第2設定値」という)を説明するための図である。図6(C)は図5(C)に示す真横の三人称視点の対話画面200を表示する場合の仮想カメラの位置および向きの設定値(以下、「第3設定値」という)を説明するための図である。ただし、図6(A)-図6(C)は3次元の仮想空間を真上から見た状態を示す。
【0071】
3次元の仮想空間において、利用者のアバターと操作者のアバターは所定位置に互いに対面して配置され、図6(A)-図6(C)に示すように、利用者のアバターの首の中心位置と操作者のアバターの首の中心位置の間の距離は距離d1に設定される。
【0072】
なお、この第1実施例では、各アバターの大きさ(伸長)は同じまたはほぼ同じに設定される。
【0073】
一人称視点では、仮想カメラは操作者のアバターの頭部の中心位置に配置される。つまり、仮想カメラは、図6(A)に示す操作者のアバターの首の中心位置の上方に配置される。また、仮想カメラの注視点は、利用者のアバターの首の中心位置に設定される。ただし、仮想カメラの注視点は、仮想カメラの撮影方向を示す点である。
【0074】
後方の三人称視点では、仮想カメラは操作者のアバターの頭部の中心位置の右斜め後方に配置される。図6(B)に示すように、3次元の仮想空間の上方から見た場合に、操作者のアバターの首の中心位置から後方に距離d2隔てるとともに、操作者のアバターの首の中心位置から右方に距離d3隔てた位置に配置される。また、仮想カメラの注視点は、利用者のアバターの首の中心位置と操作者のアバターの首の中心位置を結ぶ線分の中間位置に設定される。距離d3は、利用者のアバターの首の中心位置と操作者のアバターの首の中心位置を結ぶ線分に対する撮影方向の角度θが所定角度(たとえば、45度)になるように設定される。
【0075】
真横の三人称視点では、仮想カメラは操作者のアバターの頭部の中心位置の右斜め前方(利用者のアバターの左斜め前方)に配置される。図6(C)に示すように、3次元の仮想空間の上方から見た場合に、仮想カメラは、利用者のアバターの首の中心位置と操作者のアバターの首の中心位置の中間位置から右方に距離d4隔てた位置に配置される。また、仮想カメラの注視点は、利用者のアバターの首の中心位置と操作者のアバターの首の中心位置を結ぶ線分の中間位置に設定される。距離d4は、利用者のアバターの上半身と操作者のアバターの上半身が収まる大きさに設定される。
【0076】
なお、三人称視点の場合には、仮想カメラの注視点は、利用者のアバターの首の中心位置と操作者のアバターの首の中心位置を結ぶ線分の中間位置に設定されるが、その中間位置から利用者のアバター側または操作者のアバター側にずらしてもよい。
【0077】
利用者と操作者が対話中では、上記のような対話画面200が表示装置60に表示され、利用者の顔の表情、視線および頭部の動きは、利用者のアバターの画像210で表現され、操作者の顔の表情、視線および頭部の動きは、操作者のアバターの画像212で表現される。
【0078】
利用者および操作者の表情(第1実施例では、喜び、恐れ、悲しみ、嫌悪および怒りの各表情)は、それぞれ、対話中における利用者および操作者の顔画像に基づいて認識することができる。
【0079】
顔画像を用いて、利用者および操作者のような人間の表情を認識する方法はすでに公知であるため、その方法の説明については省略する。一例として、「小林 宏、原 文雄:ニューラルネットワークによる人の基本表情認識、計測自動制御学会論文集 Vol.29, No.1, 112/118(1993)」、「小谷中陽介、本間経康、酒井正夫、阿部健一:ニューラルネットワークを用いた顔表情認識、東北大医保健学科紀要 13(1):23~32, 2004」および「西銘 大喜、遠藤 聡志、當間 愛晃、山田 孝治、赤嶺 有平:畳み込みニューラルネットワークを用いた表情表現の獲得と顔特徴量の分析、人工知能学会論文誌 32巻5号FZ(2017年)」などに開示された公知技術を用いることができる。
【0080】
また、他の公知技術では、顔画像から抽出した特徴点に基づいて人間の表情を認識する手法として、特開2020-163660号公報に開示された技術を用いることもできる。
【0081】
ただし、人間の顔画像に基づいて表情を認識するために必要な回路コンポーネントおよびデータは適宜操作者側端末16に設けられる。また、顔画像に基づいて表情を認識する装置(以下、「認識装置」という)をクラウド上に設けて、認識装置に顔画像を送信し、表情の認識結果を推定装置から受け取るようにしてもよい。
【0082】
また、度合の異なる複数の表情(たとえば、喜び、恐れ、悲しみ、嫌悪および怒り)をニューラルネットワークに学習させておくことにより、表情の認識のみならず、表情の度合も認識(または、推定)することができる。また、表情を認識したときのニューラルネットワークの出力の差に基づいて、表情の度合を認識することもできる。たとえば、無表情の顔画像についての出力と、認識された表情についての出力の差に基づいて表情の度合が認識される。一例として、表情の度合は、0-100%の間で認識される。
【0083】
また、特開2020-163660号公報の方法を用いて人間の表情を認識する場合には、顔画像から抽出された特徴点の差(距離)に基づいて、表情の度合を認識(または、推定)することもできる。たとえば、無表情の顔画像から抽出された各特徴点に対する、表情の認識に使用した利用者の顔画像から抽出された各特徴点についての距離を算出し、算出した距離に基づいて表情の度合が決定される。距離は、各特徴点について算出されるため、表情の度合は、たとえば、算出された複数の距離についての平均値、最大値または分散に基づいて決定される。
【0084】
図7(A)は、利用者のアバターの怒りの表情についての度合の違いを説明するための図であり、図7(B)は、利用者のアバターの嫌悪の表情についての度合の違いを説明するための図である。
【0085】
怒りの表情および嫌悪の表情は、それぞれ、その度合(または、大きさ)を最小(0%)から最大(100%)まで複数の段階(たとえば、20段階)で設定可能である。アバターの顔の表情は、各表情および各表情の度合について、眉毛(位置、形状)、眉間のしわ(寄り具合)、眼(黒目の大きさ、目尻の上げ下げ具合)、瞼(開き具合)、ほうれい線(寄り具合)、および口(位置、形状および開き具合)の各部位についてのパラメータ(以下、「表情パラメータ」という)で決定される。
【0086】
上述したように、利用者および操作者のような人間の表情の度合を0-100%の間で認識し、アバターの表情を0-100%の度合で表現するため、この第1実施例では、表情パラメータは、人間の表情の度合に合わせて決定される。したがって、顔画像から認識された人間の表情と同じ表情を同じ度合で表現された利用者のアバターの画像210はその利用者と同様の表情となり、操作者のアバターの画像212はその操作者と同様の表情になる。
【0087】
図7(A)および図7(B)に示す例では、左端(すなわち、無表情)から右端に向かうに従って表情の度合が大きくされ、左端に近づくに従って表情の度合が小さくされる。図7(A)および図7(B)では、各表情について、表現の度合が中くらい(普通)である場合と、表現の度合が最大である場合についてのアバターの画像210を示してある。
【0088】
ただし、上記の無表情のアバターの画像210が、怒りの表情および嫌悪の表情の各々について表情の度合が最低である場合のアバターの画像210である。
【0089】
また、図示は省略するが、上述したように、各感情の度合は複数の段階に設定されているため、各段階の表情を有するアバターの画像210を表示することが可能である。
【0090】
さらに、各表情は20段階で設定可能であるため、後述する抑制度合および誇張度合の設定パラメータは、5%刻みで設定可能である。
【0091】
なお、無表情のアバターでは、しわが無く、顔が左右対称に設定される。このようにデザインすることで、性別が判断し難くなり、男性または女性に偏った好みを持つ利用者にも受け入れられるアバターになる。また、しわが無く、左右対称に設定された特徴の無い顔にすることで、少しのしわを作るだけで、笑顔またはしかめ面のような表情を簡単に表現することができ、その表情の強さも簡単に制御することができる。
【0092】
また、図示は省略するが、喜びの表情、恐れの表情および悲しみの表情の各々をアバターの画像210で表現する場合も、怒りの表情および嫌悪の表情の各々をアバターの画像210で表現する場合と同様である。
【0093】
さらに、図示は省略するが、操作者のアバターも、利用者のアバターと同様に、喜び、恐れ、悲しみ、嫌悪および怒りの各表情を、最小(0%)から最大(100%)まで複数の段階で表現する。
【0094】
また、利用者と操作者が対話中の利用者および操作者の各々の視線および頭部の動きは、利用者および操作者の顔画像に基づいてそれぞれ検出される。顔画像から視線を検出する方法は既に周知であるため、その説明は省略することにする。
【0095】
利用者および操作者の頭部の動きは次のように検出(推定)される。利用者の顔の向きが、カメラ38に正対する利用者の顔画像の向きを基準として、現在の顔の向きが現在の顔画像に基づいて算出され、現在の顔の向きに基づいて利用者の頭部の動きが検出(または、推定)される。ただし、顔の向きは、顔画像から抽出した複数の顔の特徴点の動きで検出することができる。説明は省略するが、操作者の顔の向きを算出し、頭部の動きを検出する場合も同様である。
【0096】
上述したように、利用者の視線および頭部の動きは、利用者のアバターの視線および頭部の動きに反映され、操作者の視線および頭部の動きは、操作者のアバターの視線および頭部の動きに反映される。このことは、利用者および操作者が発話している場合も同様である。
【0097】
さらに、利用者が発話している場合には、利用者の音声の出力に合わせて利用者のアバターの口唇部が動かされ、操作者が発話している場合には、操作者の音声の出力に合わせて操作者のアバターの口唇部が動かされる。また、利用者が発話している場合には、利用者の表情に応じて、利用者のアバターに身振り手振りを行わせる。同様に、操作者が発話している場合には、操作者の表情に応じて、操作者のアバターに身振り手振りを行わせる。以下、利用者または操作者のアバターが、利用者または操作者の音声の出力に合わせて口唇部を動かし、利用者または操作者の表情に応じて身振り手振りを行うことを発話動作と呼ぶことがある。
【0098】
上述したように、この第1実施例では、対話状況に応じて、仮想カメラの位置および向きが第1設定値、第2設定値または第3設定値に設定される。ただし、利用者と操作者が対話を開始した当初では、操作者が予め設定した第1設定値、第2設定値または第3設定値(以下、「初期設定値」ということがある)で仮想カメラの位置および向きが設定される。また、操作者は、利用者との対話中に、仮想カメラの位置および向きを第1設定値、第2設定値または第3設定値に自由に変更することもできる。操作者が仮想カメラの位置および向きを変更した場合には、対話終了まで、変更後の仮想カメラの位置および向きに固定するようにしてもよい。
【0099】
この第1実施例では、対話状況は、操作者が対話の相手である利用者だけを意識している状況、操作者が対話の相手である利用者のみならず、操作者自身のリアクションを確認したい状況、および、操作者と、この操作者の対話の相手である利用者が対等に話し合っている状況である。
【0100】
より具体的には、操作者が対話の相手である利用者だけを意識している状況は、操作者が無表情で単に利用者の話を聞いている状況である。また、操作者が対話の相手である利用者のみならず、操作者自身のリアクションを確認したい状況は、利用者の話を操作者が頷きながら聞いている状況、利用者が怒って強い口調で話している状況、および、操作者が利用者に対して謝っている状況のいずれかである。さらに、操作者と、この操作者の対話の相手である利用者が対等に話し合っている状況は、対話の最初に操作者または利用者が挨拶した状況、操作者と利用者が互いに言い合っている状況、および、操作者と利用者が互いに頷いて、一緒に笑っている状況のいずれかである。
【0101】
ただし、これらは単なる例示であり、仮想カメラの位置および向きを第1設定値、第2設定値および第3設定値に設定できれば良いため、第1設定値、第2設定値および第3設定値の各々に応じた対話状況が少なくとも1つ設定されていればよい。
【0102】
上記の各対話状況が発生しているかどうかは、利用者および操作者の動作などを解析することで判断される。操作者が無表情で単に利用者の話を聞いている状況は、利用者が発話しており、このとき、操作者は、無表情であり、視線を動かさず、頭部が動いていない(顔が正面を向いている)場合に判断される。
【0103】
利用者が発話していることは、利用者側端末12から受信したデータに音声データが含まれていることで知ることができる。以下、利用者が発話していることを判断する場合について同じである。また、上述したように、操作者の表情は、操作者側端末16で撮影された撮影画像データに基づいて判断され、操作者の視線および頭部の動きは、操作者側端末16で撮影された撮影画像データに基づいて検出される。
【0104】
なお、この第1実施例では、操作者が無表情で単に利用者の話を聞いている状況が判断される場合の条件として、視線を動かしていないことを含めているが、視線については条件から外してもよい。
【0105】
第1実施例では、対話状況として、操作者が無表情で単に利用者の話を聞いている状況が判断された場合には、つまり、操作者が利用者の話を単に傾聴している状況が判断された場合には、仮想カメラの位置および向きは第1設定値に設定される。このように、操作者が対話の相手である利用者だけを意識している場合には、一人称視点の対話画面200が表示される。
【0106】
利用者の話を操作者が頷きながら聞いている状況は、利用者が発話しており、このとき、操作者の頭部が少し前に傾いたり、元に戻ったり(つまり、操作者の顔が少し下を向いたり、正面を向いたり)することを数回行っている場合に判断される。以下、操作者および利用者が頷いていることを判断する場合について同様である。
【0107】
第1実施例では、対話状況として、利用者の話を操作者が頷きながら聞いている状況が判断された場合には、つまり、操作者が利用者の話を納得しながら傾聴している状況が判断された場合には、仮想カメラの位置および向きは第2設定値に設定される。
【0108】
利用者が怒って強い口調で話している状況は、利用者が発話しており、その口調が怒って強い場合に判断される。口調を解析して、人間(ここでは、利用者)の感情を分析する手法としては、一般的な手法を用いることができる。つまり、テキスト情報または韻律情報に基づいて発話した人間の感情が分析される。
【0109】
なお、テキスト情報に基づいて発話した人間の感情を分析(センチメント分析)する方法としては、公知の文献「国内企業の決算説明会の感情分析」(https://corporate.quick.co.jp/wp-content/uploads/JAFEE2021.pdf)に開示された手法を用いることができる。ただし、テキスト情報に基づいて発話した人間の感情を分析する場合には、発話した内容を音声認識し、テキスト変換する必要がある。音声認識およびテキスト変換については既に周知であるため、説明は省略する。以下、同様である。
【0110】
また、韻律情報に基づいて発話した人間の感情を分析する方法としては、特開2006-071936に開示された技術または音声解析AI電話「MiiTel」の技術を用いることができる(https://it.impress.co.jp/articles/-/22697)。
【0111】
ただし、強い口調かどうかは、公知の文献「K. Maehama, J. Even, C.T. Ishi, T. Kanda (2021). Enabling Robots to Distinguish Between Aggressive and Joking Attitudes. IEEE Robotics and Automation Letters 6(4): 8037-8044, Oct. 2021.」および「C.T. Ishi and T. Kanda (2019). “Prosodic and voice quality analyses of offensive speech,” Proc. of International Congress of Phonetic Sciences (ICPhS 2019), Melbourne, Australia, 2174-2178, Aug. 2019.」に開示された技術を用いて判断することができる。
【0112】
なお、この第1実施例では、利用者が怒っているのみならず、強い口調で話していることも判断しているが、口調に関係無く、利用者が怒って話している状況を判断するようにしてもよい。
【0113】
また、この第1実施例では、テキスト情報または韻律情報に基づいて発話した人間の感情を分析するのは、怒っているように見える顔の人間も存在するため、顔画像に基づいて感情を認識しただけでは、怒っているかどうかを正しく判断できない場合があるからである。
【0114】
第1実施例では、対話状況として、利用者が怒って強い口調で話している状況が判断された場合には、つまり、操作者が利用者の強い感情的な話を傾聴している状況が判断された場合には、仮想カメラの位置および向きは第2設定値に設定される。
【0115】
また、第1実施例では、対話状況として、利用者が怒って強い口調で話している状況が判断された場合には、利用者のアバターの表情が抑制される。つまり、利用者が怒っているため、怒りの表情の度合が抑制される。抑制される度合(以下、「抑制度合」という)は、予め操作者によって設定され、設定パラメータとして記憶されている。したがって、操作者は、怒りの表情が抑制された利用者のアバターの画像210を見て対話する。このため、操作者は、利用者が怒っていることを視認することができ、しかも、その表情を抑えた利用者のアバターを視認することで、怒りの表情を抑制しない場合よりも、利用者と対話し易いと考えられる。
【0116】
ただし、これは一例であり、怒りの表情の度合を抑制することに代えて、または、怒りの表情の度合を抑制することに加えて、利用者のアバターの画像210を一回り小さく表示するようにしてもよい。たとえば、通常の利用者のアバターの画像210の大きさを1とした場合に、0.8倍の大きさで利用者のアバターの画像210が描画される。利用者のアバターの画像210を一回り小さく表示した場合には、利用者のアバターの画像210から受ける威圧感を低減することができ、したがって、操作者は利用者と対話し易いと考えられる。
【0117】
なお、操作者のアバターの画像210に対して利用者のアバターの画像210が小さく表示されればよいため、利用者のアバターの画像210を一回り小さく表示することに代えて、または、利用者のアバターの画像210を一回り小さく表示することに加えて、操作者のアバターの画像210を一回り大きくしてもよい。
【0118】
操作者が利用者に対して謝っている状況は、操作者が発話しており、その発話内容が謝罪を表す言葉である場合に判断される。操作者が発話していることは、操作者側端末16のマイク62で音声を検出していることで知ることができる。以下、操作者が発話していることを判断する場合について同じである。また、謝罪を表す言葉としては、「申し訳ありません」、「すみません」、「失礼しました」、「ごめんなさい」などである。ただし、発話内容が音声認識され、テキスト変換された文字列から謝罪を表す言葉が検出される。謝罪を表す言葉を検出することに加えて、韻律情報を深層学習で判断することにより、人間(ここでは、操作者)が申し訳なさそうに話しているかどうかを認識し、謝っている状況であることを正確に判断するようにしてもよい。
【0119】
第1実施例では、対話状況として、操作者が利用者に対して謝っている状況が判断された場合には、つまり、操作者が利用者の強い感情的な話を傾聴している状況が判断された場合には、仮想カメラの位置および向きは第2設定値に設定される。
【0120】
また、第1実施例では、対話状況として、操作者が利用者に対して謝っている状況が判断された場合には、利用者のアバターの表情が誇張される。つまり、操作者が謝罪し易くされる。誇張される度合(以下、「誇張度合」という)は、予め操作者によって設定され、設定パラメータとして記憶される。したがって、操作者は、表情が誇張された利用者のアバターの画像210を見て対話する。このため、操作者は、たとえば、利用者が不機嫌であることまたは悲しんでいることを視認することができ、しかも、その表情を誇張した利用者のアバターを視認することで、表情を誇張しない場合よりも、利用者に対して謝り易い、すなわち、利用者と対話し易いと考えられる。
【0121】
ただし、これは一例であり、利用者のアバターの表情の度合を誇張することに代えて、または、利用者のアバターの表情の度合を誇張することに加えて、利用者のアバターの画像210を一回り大きく表示するようにしてもよい。たとえば、通常の利用者のアバターの画像210の大きさを1とした場合に、1.2倍の大きさで利用者のアバターの画像210が描画される。利用者のアバターの画像210を一回り小さく表示した場合には、操作者が謝罪する側であることを容易に知ることができ、したがって、操作者は利用者に謝り易い、つまり、利用者と対話し易いと考えられる。
【0122】
なお、操作者のアバターの画像210に対して利用者のアバターの画像210が大きく表示されればよいため、利用者のアバターの画像210を一回り大きく表示することに代えて、または、利用者のアバターの画像210を一回り大きく表示することに加えて、操作者のアバターの画像210を一回り小さくしてもよい。
【0123】
このように、操作者が、対話の相手である利用者だけでなく、自身のリアクションを確認したい場合には、斜め後方の三人称視点の対話画面200が表示される。
【0124】
対話の最初に操作者または利用者が挨拶した状況は、利用者と操作者が対話を開始した当初(たとえば、開始してから数秒~数十秒の期間)において、利用者および操作者の少なくとも一方が発話し、発話内容に挨拶を示す言葉が含まれているかどうかを判断する。挨拶を示す言葉は、「おはようございます」、「こんにちは」、「こんばんは」、「はじめまして」、「よろしくお願いします」などである。ただし、利用者または/および操作者の発話内容は、音声認識してテキスト変換される。
【0125】
第1実施例では、対話状況として、対話の最初に操作者または利用者が挨拶した状況が判断された場合には、仮想カメラの位置および向きは第3設定値に設定される。
【0126】
操作者と利用者が互いに言い合っている状況は、操作者および利用者の両方が発話し、操作者の発話と利用者の発話が被っている(つまり、操作者と利用者が同時に話す)時間が多く、利用者および操作者の双方の口調が強く、利用者および操作者の双方の発話内容に怒りを示す言葉が含まれている場合に判断される。
【0127】
ただし、操作者の発話と利用者の発話が被っている時間が多いこと、利用者および操作者の双方の口調が強いこと、利用者および操作者の双方の発話内容に怒りを示す言葉が含まれていることは、いずれか1つまたは2つが該当すれば良いことにすることもできる。
【0128】
操作者の音声を検出している状態で、利用者の音声データを受信した場合に、操作者の発話と利用者の発話が被っていると判断し、被っている状態が継続する時間がカウントされる。カウントされた時間が所定時間(たとえば、数秒程度)を超えた場合に、操作者の発話と利用者の発話が被っている時間が多いと判断する。
【0129】
利用者および操作者の双方の口調が強いことは、利用者の口調および操作者の口調を上述した文献に記載の手法で検出し、双方の口調が強い場合に判断される。
【0130】
また、利用者および操作者の双方の発話内容に怒りを示す言葉が含まれていることは、利用者の発話内容および操作者の発話内容の両方に怒りの言葉が含まれている場合に判断される。ただし、怒りの言葉は、「腹が立つ」、「怒っている」などである。ただし、利用者および操作者の発話内容は、音声認識してテキスト変換される。
【0131】
第1実施例では、対話状況として、操作者と利用者が互いに言い合っている状況が判断された場合には、つまり、操作者と利用者が感情的に口論している状況が判断された場合には、仮想カメラの位置および向きは第3設定値に設定される。
【0132】
操作者と利用者が互いに頷いて、一緒に笑っている状況は、操作者および利用者がそれぞれ頷いており、双方の表情が喜びである場合に判断される。
【0133】
なお、この第1実施例では、操作者と利用者が一緒に笑っているのみならず、互いに頷いていることも判断するが、操作者と利用者が互いに頷いていることに関係無く、一緒に笑っている状況を判断するようにしてもよい。
【0134】
第1実施例では、対話状況として、操作者と利用者が互いに頷いて、一緒に笑っている状況が判断された場合には、つまり、操作者と利用者が共感している状況が判断された場合には、仮想カメラの位置および向きは第3設定値に設定される。
【0135】
このように、操作者と、この操作者の対話の相手である利用者が対等に話し合っている場合には、真横の三人称視点の対話画面200が表示される。
【0136】
なお、上述したように、この第1実施例では、具体的な対話状況に応じて、仮想カメラの位置および向きを第1設定値、第2設定値および第3設定値のいずれかに設定するが、対話状況の内容および仮想カメラの位置および向きは例示であり、限定されるべきでない。対話画面200から対話状況を認識可能であれば、対話状況の内容および仮想カメラの位置および向きの設定値は適宜変更可能である。
【0137】
図8は操作者側端末16に内蔵される記憶部(ここでは、RAM)52のメモリマップ300の一例を示す。RAMは、CPU50のワーク領域およびバッファ領域として使用される。図8に示すように、RAMは、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、この第1実施例の操作者側端末16で実行される全体的な処理についての制御プログラムが記憶されている。
【0138】
制御プログラムは、操作検出プログラム302a、撮影プログラム302b、音検出プログラム302c、音声認識プログラム302d、通信プログラム302e、画像生成プログラム302f、画像出力プログラム302g、アバター制御プログラム302h、表情認識プログラム302i、視線および頭部の動き検出プログラム302j、音出力プログラム302k、対話状況判断プログラム302mおよび仮想カメラ制御プログラム302nなどを含む。
【0139】
操作検出プログラム302aは、操作者の操作に従って入力装置58から入力される操作データ304aを検出し、データ記憶領域304に記憶するためのプログラムである。撮影プログラム302bは、カメラ68で画像を撮影し、撮影画像データを送信データ304bとしてデータ記憶領域304に記憶するとともに、撮影画像データ304mをデータ記憶領域304に記憶するとともに、送信データ304bとしてデータ記憶領域304に記憶するためのプログラムである。
【0140】
音検出プログラム302cは、マイク62から入力される音声を検出し、対応する音声データを送信データ304bとしてデータ記憶領域304に記憶するとともに、音声データ304qをデータ記憶領域304に記憶するためのプログラムである。音声認識プログラム302dは、音検出プログラム302cに従って検出した音声を音声認識するためのプログラムである。音声認識のために必要な辞書データについては図示を省略するが、操作者側端末16の記憶部(ここでは、HDDまたはROM)52に記憶される。
【0141】
通信プログラム302eは、外部の機器、この第1実施例では、利用者側端末12およびサーバ18と有線または無線で通信(データの送信および受信)するためのプログラムである。
【0142】
画像生成プログラム302fは、表示装置60に表示するための各種の画面の全部または一部に対応する画像(利用者のアバターの画像210および操作者のアバターの画像212を含む)の画像データを、画像生成データ304dを用いて生成するためのプログラムである。画像出力プログラム302gは、画像生成プログラム302fに従って生成した画像データを表示装置60に出力するためのプログラムである。
【0143】
アバター制御プログラム302hは、利用者のアバターおよび操作者のアバターを制御するためのプログラムである。この第1実施例では、CPU50は、アバター制御プログラム302hに従って、各アバターの表情を変化させたり、各アバターを動作(発話動作および頭部の動作)させたり、各アバターの視線を移動させたりする。
【0144】
表情認識プログラム302iは、利用者および操作者の表情を認識するためのプログラムである。上述したように、利用者側端末12から受信した撮影画像データに基づいて利用者の表情およびその度合が認識される。また、操作者側端末16のカメラ68で撮影された撮影画像データ304mに基づいて操作者の表情およびその度合が認識される。
【0145】
視線および頭部の動き検出プログラム302jは、利用者側端末12から受信した撮影画像データに基づいて利用者の視線および頭部の動き(顔の向き)を検出したり、操作者側端末16のカメラ68で撮影された撮影画像データ304mに基づいて操作者の視線および頭部の動き(顔の向き)を検出したりするためのするためのプログラムである。音出力プログラム302kは、利用者側端末12から受信した利用者の音声データをスピーカ64に出力するためのプログラムである。
【0146】
このように、表情認識プログラム302iによって利用者および操作者の表情およびその度合が認識され、視線および頭部の動き検出プログラム302jによって利用者および操作者の視線および頭部の動きが検出される。つまり、対話中における利用者および操作者の各々の状態が検出される。
【0147】
対話状況判断プログラム302mは、上述したように、利用者と操作者の対話状況を判断するためのプログラムである。
【0148】
仮想カメラ制御プログラム302nは、対話状況判断プログラム302mによって判断された対話状況に応じて仮想カメラの位置および向きを制御するためのプログラムである。
【0149】
図示は省略するが、プログラム記憶領域302には、操作者側端末16のオペレーティングシステムなどのミドルウェア、ブラウザ機能を実行するためのプログラムおよび各種のアプリケーションプログラムなどの他のプログラムも記憶される。
【0150】
図9図8に示したRAMのデータ記憶領域304の具体的な内容の一例を示す図である。図9に示すように、データ記憶領域304には、操作データ304a、送信データ304b、受信データ304c、画像生成データ304d、表情パラメータデータ304e、設定パラメータデータ304f、アバター位置データ304g、視点位置データ304h、注視点位置データ304i、利用者表情データ304j、利用者視線および頭部の動きデータ304k、撮影画像データ304m、操作者表情データ304n、操作者視線および頭部の動きデータ304pおよび音声データ304qなどが記憶される。
【0151】
操作データ304aは、操作検出プログラム302aに従って検出された操作データである。送信データ304bは、利用者側端末12に送信するデータであり、チャットにおける操作者の応答内容についてのテキストデータおよびトークにおける操作者の応答内容についての音声データである。
【0152】
受信データ304cは、利用者側端末12から送信され、受信したデータであり、チャットにおける利用者の質問内容についてのテキストデータ、トークにおける利用者の質問内容についての音声データおよび利用者側端末12のカメラ38で撮影された撮影画像データである。また、受信データ304cは、サーバ18から送信される利用者側端末12の接続情報データを含む。
【0153】
画像生成データ304dは、操作者側端末16の表示装置60に表示される各種の画面を生成するためのデータであり、利用者のアバターの画像210および操作者のアバターの画像212を生成するためのデータを含む。利用者のアバターの画像210および操作者のアバターの画像212を生成するためのデータは、各アバターの静止した状態の画像データ、頭部(または、首)の動きについてのデータおよび身振り手振りについてのデータを含む。頭部の動きは、発話時の頭部の動きおよび頷く時の頭部の動きである。ただし、複数種類のアバターが設けられるため、アバターの静止した状態の画像データはアバター毎に記憶され、選択されたアバターの画像データが使用される。
【0154】
表情パラメータデータ304eは、喜びの表情、恐れの表情、悲しみの表情、嫌悪の表情および怒りの表情の各々について、表情の度合を最小から最大まで複数の段階で変化させるための各部位の表情パラメータについてのデータである。ただし、複数のアバターが設けられるため、表情パラメータについてのデータはアバター毎に記憶され、選択されたアバターについての表情パラメータが使用される。設定パラメータデータ304fは、仮想カメラの初期設定値、抑制度合および誇張度合の各設定パラメータについてのデータである。
【0155】
アバター位置データ304gは、3次元の仮想空間に配置される利用者のアバターおよび操作者のアバターの位置の座標データである。視点位置データ304hは、3次元の仮想空間に配置される仮想カメラの位置(すなわち、視点)の座標データである。注視点位置データ304iは、3次元の仮想空間に配置される仮想カメラの注視点の位置の座標データすなわち仮想カメラの向きを決定するためのデータである。
【0156】
利用者表情データ304jは、利用者側端末12から受信した撮影画像データから認識した利用者の表情およびその度合を示すデータである。利用者視線および頭部の動きデータ304kは、利用者側端末12から受信した撮影画像データから算出した利用者の視線および頭部の動き(顔の向き)を示すデータである。
【0157】
撮影画像データ304mは、カメラ68で撮影した画像データである。操作者表情データ304nは、撮影画像データ304mから認識した操作者の表情およびその度合を示すデータである。操作者視線および頭部の動きデータ304pは、撮影画像データ304mから算出した操作者の視線および頭部の動き(顔の向き)を示すデータである。
【0158】
音声データ304qは、音検出プログラム302cに従って検出された操作者の音声についてのデータであり、操作者の音声を認識するために用いられる。
【0159】
図示は省略するが、データ記憶領域304には、制御処理を実行するために必要な他のデータが記憶されたり、タイマ(カウンタ)およびフラグが設けられたりする。
【0160】
また、図示は省略するが、利用者側端末12は操作者側端末16との間でチャットまたはトークを行うため、利用者側端末12の記憶部(ここでは、RAM)22には、操作者側端末16のRAMに記憶されるプログラムおよびデータのうち、チャットまたはトークに必要なプログラムおよびデータと同様のプログラムおよびデータが記憶される。
【0161】
具体的には、利用者側端末12のRAMのプログラム記憶領域には、操作検出プログラム、撮影プログラム、音検出プログラム、通信プログラム、画像生成プログラム、画像出力プログラムおよび音出力プログラムなどが記憶される。
【0162】
操作検出プログラムは、利用者の操作に従って入力装置28から入力される操作データを検出し、記憶部22のデータ記憶領域に記憶するためのプログラムである。撮影プログラムは、カメラ38で画像を撮影し、撮影した画像についての撮影画像データを送信データとしてデータ記憶領域に記憶するためのプログラムである。音検出プログラムは、マイク32から入力される音声を検出し、検出した音声についての音声データを送信データとしてデータ記憶領域に記憶するためのプログラムである。
【0163】
通信プログラムは、外部の機器、この第1実施例では、操作者側端末16およびサーバ18と有線または無線で通信するためのプログラムである。画像生成プログラムは、表示装置30に表示するための各種の画面に対応する画像データを、画像生成データを用いて生成するためのプログラムである。画像出力プログラムは、画像生成プログラムに従って生成した画像データを表示装置30に出力するためのプログラムである。音出力プログラムは、受信した操作者の音声データを出力するためのプログラムである。
【0164】
また、記憶部22のデータ記憶領域には、操作データ、送信データ、受信データおよび画像生成データなどが記憶される。
【0165】
操作データは、操作検出プログラムに従って検出された操作データである。送信データは、操作者側端末16およびサーバ18に送信するデータである。操作者側端末16に送信するデータは、チャットにおける利用者の質問内容についてのテキストデータ、トークにける利用者の質問内容についての音声データおよびカメラ38で撮影した撮影画像データである。サーバ18に送信するデータは、オンラインショッピングに関するブラウザ上の操作データ(ボタン110および112についての操作データを含む)である。
【0166】
受信データは、操作者側端末16またはサーバ18から送信され、受信したデータである。操作者側端末16から受信したデータは、チャットにおける操作者の応答内容についてのテキストデータおよびトークにおける操作者の応答内容についての音声データである。ただし、操作者側端末16で撮影された撮影画像データを受信する場合もある。また、サーバ18から受信したデータは、ブラウザに表示するデータおよびサーバ18によって選択された操作者側端末16の接続情報データである。
【0167】
画像生成データは、利用者側端末12の表示装置30に表示される各種の画面を生成するためのデータである。
【0168】
なお、記憶部52には、利用者側端末12のオペレーティングシステムなどのミドルウェア、ブラウザ機能を実行するためのプログラムに加え、利用者とチャットまたはトークを実行するために必要な他のプログラムおよびデータも記憶される。
【0169】
図10図12は操作者側端末16のCPU50の仮想カメラ制御処理を示すフロー図である。図13は操作者側端末16のCPU50の状態検出処理を示すフロー図である。図14は操作者側端末16のCPU50の出力処理を示すフロー図である。図15は操作者側端末16のCPU50の送受信処理を示すフロー図である。図16は利用者側端末12のCPU20の送受信処理を示すフロー図である。
【0170】
図示は省略するが、CPU50は、仮想カメラ制御処理、状態検出処理、出力処理および送受信処理を並行して実行するとともに、操作者の操作を検出する処理、操作者の画像を撮影する処理および操作者の音声を検出する処理もそれぞれ並行して実行する。
【0171】
図10に示すように、操作者側端末16のCPU50は、仮想カメラ制御処理を開始すると、ステップS1で、仮想カメラの位置および向きを初期設定値に設定する。上述したように、初期設定値は、第1設定値、第2設置値または第3設定値であり、操作者によって予め設定され、設定パラメータデータ304fに含まれる。また、CPU50は、制御処理を開始したときに、予め設定された第1設定値、第2設置値または第3設定値に応じた視点位置データ304hおよび注視点位置データ304iを設定する。
【0172】
次のステップS3では、仮想カメラの設定変更の指示が有るかどうかを判断する。ステップS3で“NO”であれば、つまり、仮想カメラの設定変更の指示が無ければ、ステップS9に進む。一方、ステップS3で“YES”であれば、つまり、仮想カメラの設定変更の指示が有れば、ステップS5で、指示に応じて仮想カメラの設定を変更する。ここでは、CPU50は、指示された第1設定値、第2設置値または第3設定値に応じて、視点位置データ304hおよび注視点位置データ304iを更新する。以下、仮想カメラの位置および向きを設定(変更)する場合について同様である。
【0173】
続いて、ステップS7では、操作者と利用者の対話状況を判断する。具体的には、CPU50は、操作者が無表情で単に利用者の話を聞いているか、利用者の話を操作者が頷きながら聞いているか、利用者が怒って強い口調で話しているか、操作者が利用者に対して謝っているか、対話の最初に操作者または利用者が挨拶したか、操作者と利用者が互いに言い合っているか、操作者と利用者が互いに頷いて、一緒に笑っているかを、それぞれ、判断する。
【0174】
図11に示すように、次のステップS9では、操作者が無表情で単に利用者の話を聞いているかどうかを判断する。つまり、CPU50は、ステップS7の判断結果が、操作者が無表情で単に利用者の話を聞いているかどうかを判断する。以下、ステップS13、S17、S23、S29、S31およびS33も同様用である。
【0175】
ステップS9で“YES”であれば、操作者が無表情で単に利用者の話を聞いている場合には、ステップS11で、仮想カメラの位置および向きを第1設定値に設定して、図12に示すステップS37に進む。
【0176】
一方、ステップS11で“NO”であれば、つまり、操作者が無表情で単に利用者の話を聞いていない場合には、ステップS13で、利用者の話を操作者が頷きながら聞いているかどうかを判断する。
【0177】
ステップS13で“YES”であれば、つまり、利用者の話を操作者が頷きながら聞いている場合には、ステップS15で、仮想カメラの位置および向きを第2設定値に設定して、ステップS37に進む。
【0178】
一方、ステップS13で“NO”であれば、つまり、利用者の話を操作者が頷きながら聞いていない場合には、ステップS17で、利用者が怒って強い口調で話しているかどうかを判断する。
【0179】
ステップS17で“YES”であれば、つまり、利用者が怒って強い口調で話している場合には、ステップS19で、仮想カメラの位置および向きを第2設定値に設定し、ステップS21で、利用者のアバターの表情を抑制することを決定し、ステップS37に進む。
【0180】
一方、ステップS17で“NO”であれば、つまり、利用者が怒って強い口調で話していない場合には、ステップS23で、操作者が利用者に対して謝っているかどうかを判断する。
【0181】
ステップS23で“YES”であれば、つまり、操作者が利用者に対して謝っている場合には、ステップS25で、仮想カメラの位置および向きを第2設定値に設定し、ステップS27で、利用者のアバターの表情を誇張することを決定し、ステップS37に進む。
【0182】
一方、ステップS23で“NO”であれば、つまり、操作者が利用者に対して謝っていない場合には、図12に示すステップS29で、対話の最初に操作者または利用者が挨拶したかどうかを判断する。
【0183】
ステップS29で“YES”であれば、つまり、対話の最初に操作者または利用者が挨拶した場合には、ステップS35に進む。一方、ステップS29で“NO”であれば、つまり、対話の最初に操作者および利用者が挨拶していない場合には、ステップS31で、操作者と利用者が互いに言い合っているかどうかを判断する。
【0184】
ステップS31で“YES”であれば、つまり、操作者と利用者が互いに言い合っている場合には、ステップS35に進む。一方、ステップS31で“NO”であれば、つまり、操作者と利用者が互いに言い合っていない場合には、ステップS33で、操作者と利用者が互いに頷いて、一緒に笑っているかどうかを判断する。
【0185】
ステップS33で“YES”であれば、つまり、操作者と利用者が互いに頷いて、一緒に笑っている場合には、ステップS35で、仮想カメラの位置および向きを第3設定値に設定して、ステップS37に進む。一方、ステップS33で“NO”であれば、つまり、操作者と利用者が互いに頷いて、一緒に笑っていない場合には、ステップS37に進む。
【0186】
ステップS37では、終了かどうかを判断する。ここでは、CPU50は、操作者が対話を終了することを指示したり、利用者が対話を終了したりしたかどうかを判断する。
【0187】
ステップS37で“NO”であれば、つまり、終了でなければ、図10に示したステップS3に戻る。一方、ステップS67で“YES”であれば、つまり、終了であれば、仮想カメラ制御処理を終了する。
【0188】
図13に示すように、CPU50は、状態検出処理を開始すると、ステップS51で、撮影画像を取得する。ここでは、CPU50は、カメラ68で撮影された撮影画像データ304mを取得する。次のステップS53では、操作者の表情を認識する。ここでは、CPU50は、ステップS51で取得した撮影画像データ304mに含まれる操作者の顔画像から表情およびその度合を認識し、対応する操作者表情データ304nをデータ記憶領域304に記憶(更新)する。
【0189】
次のステップS55では、操作者の視線および頭部の動きを検出する。ここでは、CPU50は、ステップS51で取得した撮影画像データ304mに含まれる操作者の顔画像から視線および頭部の動き(すなわち、顔の向き)を検出し、対応する操作者の視線および頭部の動きデータ304pをデータ記憶領域304に記憶(更新)する。
【0190】
ただし、取得した撮影画像データ304mに操作者の顔画像が含まれていない場合には、操作者の表情は認識されず、操作者の視線および頭の向きも検出されない。
【0191】
続いて、ステップS57では、利用者の表情を認識する。ここでは、CPU50は、受信データ304cに含まれる撮影画像データを取得し、取得した撮影画像データに含まれる利用者の顔画像から表情およびその度合を認識し、対応する利用者表情データ304jをデータ記憶領域304に記憶(更新)する。
【0192】
次のステップS59では、利用者の視線および頭の向きを検出する。ここでは、CPU50は、ステップ57で取得した撮影画像データに含まれる利用者の顔画像から視線および頭の向きを検出し、対応する操作者の視線および頭部の動きデータ304kをデータ記憶領域304に記憶(更新)する。
【0193】
ただし、取得した撮影画像データに利用者の顔画像が含まれていない場合には、利用者の表情は認識されず、利用者の視線および頭の向きも検出されない。
【0194】
そして、ステップS61では、終了かどうかを判断する。ここでは、CPU50は、操作者が対話を終了することを指示したり、利用者が対話を終了したりしたかどうかを判断する。
【0195】
ステップS61で“NO”であれば、つまり、終了でなければ、ステップS51に戻る。一方、ステップS61で“YES”であれば、つまり、終了であれば、状態検出処理を終了する。
【0196】
図14に示すように、CPU50は、出力処理を開始すると、ステップS81で、アバターと仮想カメラを配置する。つまり、CPU50は、3次元の仮想空間を構築し、利用者のアバターおよび操作者のアバターを、この仮想空間においてアバター位置データ304gが示す所定位置に配置する。また、CPU50は、仮想カメラを視点位置データ304hが示す位置に配置し、仮想カメラの向きを注視点位置データ304iが示す位置を撮影する方向に設定する。
【0197】
続くステップS83で、操作者の表情、視線および頭部の動きを操作者のアバターに反映し、ステップS85で、操作者が発話しているかどうかを判断する。ここでは、CPU50は、マイク62で音声を検出しているかどうかを判断する。
【0198】
ステップS85で“YES”であれば、つまり、操作者が発話している場合には、ステップS87で、操作者のアバターを発話動作させて、ステップS89に進む。一方、ステップS85で“NO”であれば、つまり、操作者が発話していない場合には、ステップS89に進む。
【0199】
ステップS89では、利用者の表情、視線および頭部の動きを利用者のアバターに反映し、ステップS91で、利用者が発話しているかどうかを判断する。ここでは、CPU50は、受信データに利用者の音声データが含まれるかどうかを判断する。
【0200】
ステップS91で“YES”であれば、つまり、利用者が発話している場合には、ステップS93で、利用者のアバターを発話動作させて、ステップS95に進む。一方、ステップS91で“NO”であれば、つまり、利用者が発話していない場合には、ステップS95に進む。
【0201】
なお、説明の便宜上、ステップS83-S87の処理と、ステップS89-S93の処理は順番に実行されるように記載してあるが、実際には、同時またはほぼ同時に実行される。
【0202】
ステップS95では、画像生成および出力する。ここでは、CPU50は、仮想空間に配置された利用者のアバター、または、操作者のアバターおよび利用者のアバターを仮想カメラで撮影した(つまり、視点から見た)画像に対応する画像データを生成し、生成した画像データを表示装置60に出力する。したがって、図5(A)-図5(C)に示すような対話画面200が表示装置60に表示される。
【0203】
ただし、仮想カメラ制御処理において、ステップS21の処理が実行されている場合には、ステップS89およびS93では、反映する利用者の表情は抑制され、また、ステップS27の処理が実行されている場合には、ステップS89およびS93では、反映する利用者の表情は誇張される。抑制度合および誇張度合は、設定パラメータデータ304fを参照して決定される。
【0204】
なお、出力処理が開始された当初では、利用者のアバターと操作者のアバターは予め設定された表情(たとえば、喜びの表情)およびその度合(たとえば、25%)で表現される。つまり、利用者のアバターと操作者のアバターは微笑む。
【0205】
次のステップS97では、利用者の音声を出力する。つまり、CPU50は、受信した利用者の音声データをスピーカ64に出力する。ただし、CPU50は、利用者の音声データを受信していない場合には、ステップS97の処理はスキップされる。
【0206】
なお、説明の便宜上、ステップS95の処理とステップ97の処理は順番に実行されるように記載してあるが、実際には、同時またはほぼ同時に実行され、利用者の音声の出力に合わせて利用者のアバターの口唇部が動かされる。
【0207】
そして、ステップS99では、終了かどうかを判断する。ここでは、CPU50は、操作者が対話を終了することを指示したり、利用者が対話を終了したりしたかどうかを判断する。
【0208】
ステップS99で“NO”であれば、つまり、終了でなければ、ステップS83に戻る。一方、ステップS99で“YES”であれば、つまり、終了であれば、出力処理を終了する。
【0209】
図15に示すように、CPU50は、送受信処理を開始すると、ステップS121で、利用者側端末12と通信を開始する。続くステップS123では、操作者の音声を検出したかどうかを判断する。ステップS123で“NO”であれば、つまり、操作者の音声を検出していなければ、ステップS127に進む。
【0210】
一方、ステップS123で“YES”であれば、つまり、操作者の音声を検出していれば、ステップS125で、操作者の音声を利用者側端末12に送信して、ステップS127に進む。
【0211】
ステップS127では、利用者側端末12からデータを受信したかどうかを判断する。ステップS127で“NO”であれば、つまり、利用者側端末12からデータを受信していない場合には、ステップS131に進む。
【0212】
一方、ステップS127で“YES”であれば、つまり、利用者側端末12からデータを受信している場合には、ステップS129で、受信したデータを記憶して、ステップS131に進む。
【0213】
ステップS131では、終了かどうかを判断する。ここでは、CPU50は、操作者が送受信処理を終了することを指示したり、利用者が対話を終了したりしたかどうかを判断する。
【0214】
ステップS131で“NO”であれば、つまり、終了でなければ、ステップS123に戻る。一方、ステップS131で“YES”であれば、つまり、終了であれば、利用者側端末12との送受信処理を終了する。
【0215】
図16に示すように、利用者側端末12のCPU20は送受信処理を開始すると、ステップS141で、操作者側端末16との通信を開始する。次のステップS143では、利用者の音声を検出したかどうかを判断する。
【0216】
ステップS143で“NO”であれば、つまり、利用者の音声を検出していなければ、ステップS147に進む。一方、ステップS143で“YES”であれば、つまり、利用者の音声を検出していれば、ステップS145で、検出した音声を操作者側端末16に送信して、ステップS147に進む。
【0217】
ステップS147では、撮影画像を取得する。次のステップS149では、撮影画像を操作者側端末16に送信する。続いて、ステップS151で、操作者の音声を受信したかどうかを判断する。
【0218】
ステップS151で“NO”であれば、つまり、操作者の音声を受信していなければ、ステップS155に進む。一方、ステップS151で“YES”であれば、つまり、操作者の音声を受信していれば、ステップS153で、操作者の音声を出力して、ステップS155に進む。
【0219】
ステップS155では、終了かどうかを判断する。ここでは、CPU20は、利用者が送受信処理を終了することを指示したり、操作者が対話を終了したりしたかどうかを判断する。
【0220】
ステップS155で“NO”であれば、つまり、終了でなければ、ステップS143に戻る。一方、ステップS155で“YES”であれば、つまり、終了であれば、操作者側端末16との送受信処理を終了する。
【0221】
第1実施例によれば、利用者のアバターおよび操作者のアバターを仮想空間に配置し、利用者と操作者の対話状況に応じて、仮想カメラの位置および向きを設定して、利用者のアバターおよび操作者のアバターを表示するので、画像を通して、対話状況を認識しながら対話することができる。つまり、操作者は対話の相手である利用者と対話し易い。このため、利用者に応対し易くすることができる。
【0222】
また、第1実施例によれば、利用者が怒って強い口調で話している場合には、利用者のアバターの表情を抑制し、操作者が利用者に対して謝っている場合には、利用者のアバターの表情を誇張することで、利用者が怒っている表情を緩和したり、操作者が利用者に謝っている様子を表現したりするので、操作者は利用者と対話し易い。
【0223】
なお、第1実施例では、対話状況として7つの状況を判断し、それぞれに応じて仮想カメラの位置および向きを設定するようにしたが、これらすべての処理が実行される必要はない。いずれか1つまたは2つ以上の状況を判断し、それぞれに応じて仮想カメラの位置および向きを設定するようにした場合にも、操作者は利用者と対話し易い。各状況を判断するかどうかを操作者が設定し、判断しない状況については、図10図12に示した仮想カメラ制御処理においてスキップされる。
【0224】
一例として、操作者が無表情で単に利用者の話を聞いているかどうかを判断しない場合には、ステップS7の処理が実行されると、ステップS9の処理がスキップされ、ステップS13の処理に移行される。したがって、ステップS11の処理が実行されることはない。
【0225】
説明は省略するが、他の状況を判断しない場合も同様である。また、2つ以上の状況を判断しない場合には、該当する状況の各々についての判断処理がスキップされる。
【0226】
なお、第1実施例では、利用者および操作者の表情を顔画像から認識するようにしたが、これに限定される必要はない。利用者および操作者の表情は、利用者および操作者の音声からそれぞれ認識することもできる。音声から人間の表情を推定する手法としては、公知技術を用いることができる。たとえば、特開2021-12285号および「森 大毅:音声から感情・態度の理解、電子情報通信学会誌 Vol. 101, No. 9, 2018」などに開示された技術を用いることができる。
【0227】
<第2実施例>
第2実施例では、利用者側端末12で、利用者の表情を認識するとともに、利用者の視線を検出し、認識した利用者の表情および検出した利用者の視線を操作者側端末16に送信するようにした以外は、第1実施例と同じであるため、異なる内容について説明し、重複した説明についての説明は省略する。
【0228】
したがって、第2実施例では、表情認識プログラム302iおよび視線および頭部の動き検出プログラム302jは、利用者側端末12にも記憶される。
【0229】
具体的には、図17に示すように、操作者側端末16のCPU50の状態検出処理の一部が変更され、図18に示すように、利用者側端末12のCPU20の送受信処理の一部が変更される。
【0230】
第2実施例では、CPU50の状態検出処理から、ステップS57の利用者の表情を認識する処理と、ステップS59の利用者の視線および頭部の動きの検出処理が削除される。
【0231】
また、第2実施例では、CPU20の送受信処理から、ステップS149の撮影画像を操作者側端末16に送信する処理が削除され、ステップS147とステップS151の間に、利用者の表情を認識するステップS201の処理、利用者の視線および頭部の動きを検出するステップS203の処理および利用者の表情、視線および頭部の動きを操作者側端末16に送信するステップS205の処理がその順番で追加される。
【0232】
第2実施例においても、第1実施例と同様に、対話の相手である利用者と対話し易く、利用者に応対し易くすることができる。
【0233】
なお、上述の各実施例では、利用者側端末および操作者側端末がネットワークを介して通信するようにしたが、利用者側端末および操作者側端末はネットワークおよびサーバを介して通信するようにしてもよい。この場合、サーバは、利用者側端末から操作者側端末に送信した画像データを受信した場合に、受信した画像データに基づいて、利用者の表情を認識するとともに、利用者の視線および頭部の動きを検出して、受信した画像データに代えて、利用者の表情、利用者の視線および利用者の頭部の動きについてのデータを操作者側端末に送信するようにしてもよい。
【0234】
また、上述の各実施例では、ショッピングサイトの利用者とこの利用者に応対する操作者が対話する場合について説明したが、これに限定される必要はない。2人または3人以上の参加者がビデオ通話またはウェブ会議する場合に、対話する相手または会議に参加する他の参加者の各々に対応するアバターの画像を、各参加者が使用する端末の表示装置に表示し、各アバターを上述の実施例で示した方法で個別に制御するようにしてもよい。
【0235】
さらに、上述の各実施例で示したフロー図の各ステップは同じ結果が得られる場合には、処理する順番を変更することが可能である。
【0236】
さらにまた、上述の各実施例で挙げた各種の画面、具体的数値はいずれも単なる例示であり、必要に応じて適宜変更可能である。
【符号の説明】
【0237】
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 …スピーカ
36、66 …センサI/F
38、68 …カメラ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18