JP2023180598A - コミュニケーション支援システム、およびコミュニケーション支援方法 - Google Patents
コミュニケーション支援システム、およびコミュニケーション支援方法 Download PDFInfo
- Publication number
- JP2023180598A JP2023180598A JP2022094027A JP2022094027A JP2023180598A JP 2023180598 A JP2023180598 A JP 2023180598A JP 2022094027 A JP2022094027 A JP 2022094027A JP 2022094027 A JP2022094027 A JP 2022094027A JP 2023180598 A JP2023180598 A JP 2023180598A
- Authority
- JP
- Japan
- Prior art keywords
- user
- face
- document
- face symbol
- symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 82
- 238000004891 communication Methods 0.000 title claims description 48
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000003384 imaging method Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims description 37
- 230000001815 facial effect Effects 0.000 claims description 32
- 230000008921 facial expression Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008451 emotion Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000007639 printing Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004424 eye movement Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001179 pupillary effect Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 208000025721 COVID-19 Diseases 0.000 description 1
- 208000001528 Coronaviridae Infections Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 210000004087 cornea Anatomy 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
- Position Input By Displaying (AREA)
Abstract
【課題】限られたディスプレイ空間上で、ドキュメントコンテンツと顔情報を効果的に表示する。【解決手段】ユーザのそれぞれが操作する情報端末は、表示装置を有し、プロセッサは、各ユーザの情報端末の間で共有するドキュメントを再生して表示装置に出力するドキュメント描画処理を行い、撮像装置から得られたユーザを撮像した顔画像からユーザの特徴点を算出し、算出したユーザの特徴点に基づいてユーザの顔シンボルを生成して表示装置に出力する第1の顔シンボル描画処理と、顔画像からユーザの視線方向を検出し、ユーザが表示装置における視線の向きを推定する第2の顔シンボル描画処理と、所定のエネルギーマップにより算出したドキュメントの重要度と、推定されたユーザの視線の向きとに基づいて、生成されたユーザの顔シンボルの表示装置上における配置位置を決定するレイアウト配置処理と、を行う。【選択図】 図7
Description
本発明は、コミュニケーションを支援する技術に関する。
新型コロナウイルス感染症(COVID-19)対策として、対面でのコミュニケーションが制限される問題を解消するため、各個人・各企業間において、デジタル技術を活用した遠隔会議や遠隔協創活動が拡大している。そうした背景で、遠隔会議や遠隔協創活動は、実環境での活動に比べて相手方のリアルな反応がわかりにくいという理由により、コミュニケーションが円滑に進まない場面が多くなるという問題がある。そのため、多人数が関与する遠隔コミュニケーションにおいては、状況に応じた参加者の反応のフィードバックを適切に行い、遠隔でのコミュニケーションを支援する効果が重要である。
遠隔でのコミュニケーションを支援する技術として、例えば、特許文献1、2が知られている。特許文献1には、複数の顔映像が提示される遠隔コミュニケーションシステムにおいて、誰に向かって話しているかわからない問題に対して、注目しているユーザを強調表示する手法が示されている。また特許文献2では、視線情報から注視対象のユーザを判別し、3D的に頭部モデルをその対象に向けることで誰に対するメッセージかを明示化する方法が示されている。
上記特許文献の構成では、顔画像が格子状に配置され、参加者の顔画像の上に視線が一定時間滞留した場合に、同参加者を見ているものと判断してアイコンタクトを表現する方法が示されている。しかし、カメラを用いた視線計測装置の識別制度は高くないため、ディスプレイが小さい場合や参加人数が多い場合には隣接したユーザへのアイコンタクトを誤認識する可能性がある。また、顔画像と共に共有ドキュメントが提示される場合、お互いにディスプレイ上の面積を奪い合う画面構成となる。
本発明は、限られたディスプレイ空間上で、ドキュメントと顔情報とを画面上に効果的に表示することができる技術を提供することを目的とする。
本発明にかかるコミュニケーション支援システムは、プロセッサとメモリとを有したコンピュータにより構成される情報端末により、ユーザ同士のコミュニケーションを支援するコミュニケーション支援システムであって、前記ユーザのそれぞれが操作する前記情報端末は、表示装置を有し、前記プロセッサは、各ユーザの前記情報端末の間で共有するドキュメントを再生して前記表示装置に出力するドキュメント描画処理を行い、撮像装置から得られた前記ユーザを撮像した顔画像から前記ユーザの特徴点を算出し、算出した前記ユーザの特徴点に基づいて前記ユーザの顔シンボルを生成して前記表示装置に出力する第1の顔シンボル描画処理と、前記顔画像から前記ユーザの視線方向を検出し、前記ユーザが前記表示装置における視線の向きを推定する第2の顔シンボル描画処理と、所定のエネルギーマップにより算出した前記ドキュメントの重要度と、推定された前記ユーザの視線の向きとに基づいて、生成された前記ユーザの顔シンボルの前記表示装置上における配置位置を決定するレイアウト配置処理と、を行うことを特徴とするコミュニケーション支援システムとして構成される。
本発明によれば、限られたディスプレイ空間上で、ドキュメントコンテンツと顔情報を効果的に表示することができる。
以下、実施例を、図面を用いて説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
すなわち、以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
以下の説明では、「データベース」、「テーブル」、「リスト」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いた場合、これらについてはお互いに置換が可能である。
同一あるいは同様な機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部や演算装置であれば良く、特定の処理を行う専用回路(例えばFPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit))を含んでいてもよい。
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
また、本システムに記憶され、あるいは処理に用いられる様々なデータは、CPUがメモリまたは記憶装置から読み出して利用することにより実現可能である。また、各機能部(例えば、ネットワーク制御プログラム2031、ドキュメント描画プログラム2032、顔シンボル描画プログラム2033、レイアウト配置プログラム2034)は、CPUが記憶装置に記憶されている所定のプログラムをメモリにロードして実行することにより実現可能である。
上述した所定のプログラムは、記憶媒体から、あるいはネットワークから、記憶装置に記憶(ダウンロード)され、それから、メモリ上にロードされて、CPUにより実行されるようにしてもよい。また、記憶媒体から、あるいは通信装置を介してネットワークから、メモリ上に直接ロードされ、CPUにより実行されるようにしてもよい。
以下では、本システムの機能が、ある1つのサーバにより行われる場合を例示するが、これらの機能の全部または一部が、クラウドのような1または複数のコンピュータに分散して設けられ、ネットワークを介して互いに通信することにより同様の機能を実現してもよい。本システムを構成する各部が行う具体的な処理については、フローチャートを用いて後述する。
(実施例1)
図1は、本実施形態に係る、コミュニケーション支援システム1000の構成の一例を示す図である。
サーバ1は、一般通信網のネット回線を介して発表ユーザ3の情報端末2と、視聴ユーザ6の情報端末7と接続され、これらのユーザ同士の遠隔コミュニケーションの内容を分析している。情報端末としては、PC(Personal Computer)や、スマートフォンやタブレット端末をはじめとする携帯端末を用いてよい。これらの情報端末は、ハードウェアとしては一般的な構成を有し、例えば、ディスプレイ、入力機器、カメラ、マイクといった各種の入出力機器を備えている。
図1は、本実施形態に係る、コミュニケーション支援システム1000の構成の一例を示す図である。
サーバ1は、一般通信網のネット回線を介して発表ユーザ3の情報端末2と、視聴ユーザ6の情報端末7と接続され、これらのユーザ同士の遠隔コミュニケーションの内容を分析している。情報端末としては、PC(Personal Computer)や、スマートフォンやタブレット端末をはじめとする携帯端末を用いてよい。これらの情報端末は、ハードウェアとしては一般的な構成を有し、例えば、ディスプレイ、入力機器、カメラ、マイクといった各種の入出力機器を備えている。
発表ユーザ3は、情報端末2を通じて、視聴ユーザ6に対して、発表対象となるドキュメント等のコンテンツの内容を発表している。各視聴ユーザ6は、発表ユーザ3の発表を、情報端末2や、情報端末7を介して視聴している。視聴ユーザ6は、第1のグループ4と第2のグループ5とに分かれている。このグループ分けは、例えば、企業ごとのグループ、組織内の部署ごとのグループ、年齢別のグループ等、遠隔コミュニケーションに参加するユーザの集団の関係性の近さなどによって自由に設定される。以下では、ユーザが上記コンテンツの内容を視聴する場合について説明するが、聴講等の同義の用語についても同様に適用してよい。
図2は、図1で使用されるサーバや情報端末の構成の一例を示す図である。一例として、視聴ユーザ6が保持する情報端末7が備える本体と入出力インタフェースを示す。サーバ1や発表ユーザ3が保持する情報端末2についても同様の構成を備えていてもよい。この情報端末は、ネットワークNに接続されたサーバ1にアクセスし、入出力インタフェースとして、上述したコンテンツの内容や後述する各種処理の実行結果を表示するディスプレイ、キーボードやタッチパネル等の入力機器、視聴ユーザ6の視線を計測する撮像装置である視線計測カメラ等、から構成される。
上記サーバや情報端末は、CPU201、プログラムデータが読み出されて記憶される主メモリ202、プログラムデータを記憶するメモリカードなどの外部記憶(装置)203を有して構成されている。CPU201には、コミュニケーション支援システム1000を構成する各種機器に接続するネットワーク制御プログラム2031、文書ドキュメントや動画映像などのコンテンツを再生するドキュメント描画プログラム2032、カメラ画像から顔の表情情報を取得し、参加者の顔シンボルを表示する顔シンボル描画プログラム2033、顔シンボルの配置位置を決定するレイアウト配置プログラム2034、が備えられている。この詳細は後述する。これらのプログラムは、サーバ1に記憶され、実行されてもよいし、あるいは、各情報端末がサーバ1の役割を持つマスタとして機能させることで、1つの情報端末をサーバ1と同様に機能させてもよい。
また、上述した情報端末は、USB(Universal Serial Bus)などの外部バス204で一般通信網と接続されている、ディスプレイ291、カメラ292、マイク293、入出力機器294(キーボードやマウス、タッチパネルなど)を使用して、音声映像を視聴もしくは発信している。
(画面構成)
図3は、情報端末に表示される画面の一例である。画面には、ドキュメントレイアと顔シンボルレイアが含まれる。具体的には、各情報端末の間で共有する文書を表示するためのレイヤであるドキュメントレイア301の上に、各情報端末を操作するユーザの顔シンボルを表示するレイヤである顔シンボルレイア302が重ね合わせて描画される。図3では、例えば、「Document xxx」を表示するドキュメントレイヤ301の層に重なるように、顔シンボルレイア302の層にuser1~user5までの顔シンボル11~15が、それぞれ表示されていることがわかる。これにより、顔シンボルの不透明度を調整しつつ、ドキュメントの上に描画することができる。ドキュメント描画プログラム2032が、ドキュメントレイア301の映像や画像を生成して画面上に表示し、顔シンボル描画プログラム2033が、顔シンボルレイア302の映像や画像を生成して画面上に表示する。本実施例では、上記画面を見ている視聴ユーザあるいは発表ユーザをユーザ0、ネットワークを経由した同等の画面からアクセスしているN名のユーザである視聴ユーザおよび発表ユーザをそれぞれユーザ1~ユーザNと呼称することがある。
図3は、情報端末に表示される画面の一例である。画面には、ドキュメントレイアと顔シンボルレイアが含まれる。具体的には、各情報端末の間で共有する文書を表示するためのレイヤであるドキュメントレイア301の上に、各情報端末を操作するユーザの顔シンボルを表示するレイヤである顔シンボルレイア302が重ね合わせて描画される。図3では、例えば、「Document xxx」を表示するドキュメントレイヤ301の層に重なるように、顔シンボルレイア302の層にuser1~user5までの顔シンボル11~15が、それぞれ表示されていることがわかる。これにより、顔シンボルの不透明度を調整しつつ、ドキュメントの上に描画することができる。ドキュメント描画プログラム2032が、ドキュメントレイア301の映像や画像を生成して画面上に表示し、顔シンボル描画プログラム2033が、顔シンボルレイア302の映像や画像を生成して画面上に表示する。本実施例では、上記画面を見ている視聴ユーザあるいは発表ユーザをユーザ0、ネットワークを経由した同等の画面からアクセスしているN名のユーザである視聴ユーザおよび発表ユーザをそれぞれユーザ1~ユーザNと呼称することがある。
ドキュメント描画プログラム2032で作成された映像や画像には、共有ドキュメント10が表示される。共有ドキュメント10は、発表ユーザの情報端末に記憶され、各視聴ユーザとの間で共有状態にあるドキュメントである。ドキュメント描画プログラム2032は、上記共有状態にあるドキュメントに対して、特定のユーザにより書き込みが行われると、当該書き込まれた内容が、各ユーザが操作する情報端末が表示する画面の映像や画像に反映する。また、ドキュメント描画プログラム2032は、特定のユーザが個人的に一部を視聴したい場合には、共有ドキュメント10に対してズーム拡大処理を行うことができ、このような表示注視領域を変えるのみの場合には、他ユーザの画面に対しては変化を与えないものとする。これらのドキュメント共有手法は広く知られたソフトウェア手法で実現される。
顔シンボル描画プログラム2033は、参加者であるユーザ1~Nのリアクションを観察するために用いられる。顔シンボル描画プログラム2033は、視聴ユーザの顔シンボル11~15として、カメラ292で撮影した顔の実映像または実画像、表情再現モデル(実在の人物の表情の動きを基に表情を再現する三次元CGモデル)のいずれかを表示する。情報端末6の顔シンボル描画プログラム2033は、備え付けられたカメラ292でユーザの顔映像を撮影し、その顔画像の解析結果を用いて、視線抽出や、特徴的な表情やジェスチャの取得を行う。これらの情報の使い方は後述する。
図4は、顔シンボル描画プログラム2033が行うユーザの顔画像を解析して特徴点を抽出する例である。また、図5A、5Bは、図4において抽出されたユーザの顔の特徴点(図5A)や解析のための判定値(図5B)を示したデータの例である。なお、図5Aは「表情情報」として送信対象となる特徴点データの例であり、図5Bは、「感情分類データ」として送信対象となるデータの例である。
サーバ1の顔シンボル描画プログラム2033が、カメラ撮影画像22を読み取ってユーザの表情を分析することで、当該ユーザの表情に対応するユーザの感情を判断し、コミュニケーションに関する指標を算出することができる。顔シンボル描画プログラム2033は、算出した当該指標を基に、表情再現モデルまたは表情再現アイコンを生成する。分析方法は、特徴点抽出画像23に示すように、表情の特徴となるポイント(特徴点)を設定されている数だけx座標とy座標で数値化して抽出し、データテーブルを作成する。これにより、図5Aに示すように、特徴点抽出画像23における特徴点ごとの座標値が抽出される。図5Aでは、例えば、抽出された特徴点1の座標は、(0.12,0.45)であることを示している。
そして、各特徴点の座標値を顔の特定部位にそれぞれ対応付けたモデル画像を生成することにより、表情再現モデル24が完成する。こうして完成した表情再現モデル24からユーザの表情を判別することで、ユーザの感情を判断することができる。このとき、ユーザの感情に応じて表情再現モデル24に変化を加えることで、ユーザの感情をより一層分かりやすく表現した表情再現モデル24を生成してもよい。なお、図5Aでは4つの特徴点だけで表記されているが、実際には30以上の特徴点によって判断される。
また、顔シンボル描画プログラム2033は、機械学習判別機を利用して特徴点抽出画像23からコミュニケーションに関する指標を算出し、その算出結果に基づいて、表情アイコン25を決定できる。これは図5Bに示すように、笑顔や頷き具合などの表情項目ごとに、コミュニケーションに関する指標としての判定値を算出することにより、表情アイコン25が決まる。図5Bでは、例えば、特徴点抽出画像23に含まれる口角の上方への変化が0.5ポイントであり、所定のしきい値以上(例えば、0.3以上)となっているため、顔の表情は笑顔になっていると判定できる。さらに、ユーザの顔の向きや視線方向が所定の閾値以上変化した場合には、当該変化に応じて、表情アイコン25の表示を変化させる。機械学習判別機には、例えばSVM(Support vector machine)や、NN(Neural Network)などがあるが、従来から知られている様々な技術を用いてよい。顔シンボル描画プログラム2033は、上記の感情分類データに基づき、CGの顔モデルの表情を変化させるなどの処理を行う。
上記のようにして作成された表情アイコン25が顔シンボルとなる。顔シンボルは、ユーザ同士のコミュニケーションに関する指標に基づいて、各ユーザの表情を再現した画像である。これらはサーバ1から各ユーザの端末へと送信され、例えば、図3に示した画面において、顔シンボル11~15の映像や画像として表示されることで、各ユーザに対して視認可能な態様で出力が行われる。なお、図4は、表情の分析による出力のみ記載しているが、同様に音声からの入力を基にして笑い声の認識、声の声量などで、音を機械学習の分類機などにかけて感情パラメータを生成することでフィードバックする機構を備えることもできる。
(視線抽出)
図6は、カメラ撮影画像22を用いて瞳孔計測による視線を抽出した例を示す図である。情報端末のカメラをユーザの前に設置し、顔シンボル描画プログラム2033が、ユーザAの眼球運動を計測することでユーザAの視線データを取得することができる。画像上の顔の位置と、特徴量から推定された顔の向き、目の画像内の黒目の位置に基づいて、ユーザがディスプレイの上のどの位置に視線を向けているかを推定する。例えば、図6では、顔シンボル描画プログラム2033が、角膜601の検出を行うとともに、目頭特徴点602および目尻特徴点603を検出することで黒目の位置を総合的に判断し、ユーザの視線方向を推定している。
図6は、カメラ撮影画像22を用いて瞳孔計測による視線を抽出した例を示す図である。情報端末のカメラをユーザの前に設置し、顔シンボル描画プログラム2033が、ユーザAの眼球運動を計測することでユーザAの視線データを取得することができる。画像上の顔の位置と、特徴量から推定された顔の向き、目の画像内の黒目の位置に基づいて、ユーザがディスプレイの上のどの位置に視線を向けているかを推定する。例えば、図6では、顔シンボル描画プログラム2033が、角膜601の検出を行うとともに、目頭特徴点602および目尻特徴点603を検出することで黒目の位置を総合的に判断し、ユーザの視線方向を推定している。
視線を推定する装置としては眼鏡型の装置を使用してもよい。眼鏡型装置の場合には、眼鏡に仕掛けられたカメラにより顔方向を推定と、眼球運動の計測を行い、同様の推定処理を行う。
(工程全体の流れ)
図7を用いて、本実施例の主要な特徴は、顔シンボルの配置位置を動的に調整する制御と、当該制御により得られた顔画像や顔シンボルの認識精度の向上にある。全体の表示の流れを示す。
図7を用いて、本実施例の主要な特徴は、顔シンボルの配置位置を動的に調整する制御と、当該制御により得られた顔画像や顔シンボルの認識精度の向上にある。全体の表示の流れを示す。
工程70では、CPU201は、入出力機器294から入力情報を受け付ける。当該入力情報は、マウスやタッチパッドを用いるなどの一般的な入力機器から入力される情報であり、ドキュメントのページ変更指示やドキュメントの拡大縮小表示指示などが含まれる。
工程71では、ネットワーク制御プログラム2031が、他端末からの情報の受信を行う。受信する情報の例を図8Aに示す。各項目の詳細は後述する。
工程72では、ドキュメント描画プログラム2032が、工程71で受信した情報にドキュメントの表示情報が含まれている場合、ドキュメントレイア301で示したドキュメントレイア部分に、ドキュメントの再描画を行う。例えば、発表ユーザ3が操作する情報端末において、ドキュメントの表示情報として、ドキュメントを120%に拡大する旨の情報が入力された場合、視聴ユーザの情報端末のドキュメント描画プログラム2032は、当該拡大する旨の情報に基づいて、自端末に現在表示しているドキュメントを120%に拡大して画面上に表示させる。
工程73では、顔シンボル描画プログラム2033が、発表ユーザ3や視聴ユーザ6のそれぞれについて、顔認識に関する処理を行う。
工程74では、顔シンボル描画プログラム2033が、顔シンボルレイア302で示した顔シンボルレイア部分に、各ユーザの顔シンボルとして、user1~user5までの顔シンボル11~15を描画する。情報端末の動作中は工程70~74が繰り返される。
図8Aは工程71において各ユーザの端末の間でやりとりされる情報の例である。
当該情報端末の視聴ユーザであるユーザ0が操作する情報端末には、ユーザ1~ユーザ5が操作する情報端末から、視聴しているドキュメント等のコンテンツの表示状態に関する情報や視聴しているユーザの視聴状態に関する情報を含む、視聴構成情報が送信される。具体的には、図8Aに示すように、上記視聴構成情報には、以下の各項目のデータが含まれる。図8Aは、ユーザ1~5までの各ユーザ(ここでは代表してユーザ1、ユーザ2)について例示している。
当該情報端末の視聴ユーザであるユーザ0が操作する情報端末には、ユーザ1~ユーザ5が操作する情報端末から、視聴しているドキュメント等のコンテンツの表示状態に関する情報や視聴しているユーザの視聴状態に関する情報を含む、視聴構成情報が送信される。具体的には、図8Aに示すように、上記視聴構成情報には、以下の各項目のデータが含まれる。図8Aは、ユーザ1~5までの各ユーザ(ここでは代表してユーザ1、ユーザ2)について例示している。
図8Aに示すように、視聴構成情報800には、ドキュメントID801、ドキュメント表示部分802、拡大表示領域W_n803、ドキュメント視線位置v_n804、顔向き805、表情分類806、顔シンボルnの顕著度807、アイコンタクト相手808が含まれる。上記表示状態に関する情報は、例えば、ドキュメント表示部分802、拡大表示領域W_n803であり、上記視聴状態に関する情報は、例えば、ドキュメント視線位置v_n804、顔向き805、表情分類806、顔シンボルnの顕著度807、アイコンタクト相手808である。
ドキュメントID801は、各ユーザで共有されている文書を識別するための情報である。具体的には後述するが、本システムでは、同一の文書を開いているユーザ間のみで顔シンボルの表示が行われる。したがって、別の文書を開いているユーザがいる場合、当該別の文書を開いているユーザ同士で、顔シンボルのやり取りが行われる。ドキュメントID801は、ドキュメント描画プログラム2032により設定される。
ドキュメント表示部分802は、同文書の開いているページ番号が格納されている。ドキュメント表示部分802は、ドキュメント描画プログラム2032により設定される。
拡大表示領域W_n803には、画面のうちどの領域を拡大して視聴しているかが格納されている。拡大表示領域W_n803は、ドキュメント描画プログラム2032により設定される。
図8Bに、拡大表示領域W_nの例を示す。画面に表示されているドキュメント等のコンテンツのページの左上を座標(0.0,0.0)、右下を座標(1.0,1.0)とする。ユーザが操作する情報端末が、携帯端末など画面が小さい表示機器である場合、ページの一部を拡大して、ドキュメント等のコンテンツをみている場合がある。図8Bでは、情報端末が携帯端末である場合において、ドキュメント描画プログラム2032は、ユーザから、入力機器から入力される拡大(あるいは縮小)操作の操作量に応じて、拡大前(あるいは縮小前)における当該携帯端末の画面上の左上座標(0.2,0.2)-右下座標(0.8,0.8)の領域を、上記操作量に応じた所定の倍率に拡大している。この場合には、ドキュメント描画プログラム2032は、上記左上の座標および上記右下の座標を、ドキュメントID801に対応付けて送信することによって、該当ユーザがどの領域に興味を持って注視しているかを判別することができる。
ドキュメント視線位置v_n804には、ユーザがドキュメントのどの位置を視聴しているかの推定情報が格納される。この座標系は拡大表示領域W_n803同様に、画面に表示されているドキュメント等のコンテンツのページの左上を座標(0.0,0.0)、右下を座標(1.0,1.0)とする。ドキュメント視線位置v_n804は、顔シンボル描画プログラム2033により設定される。
顔向き805には、ユーザの顔の向きに関する情報が格納される。顔シンボル描画プログラム2033は、カメラ292の映像や画像から、ユーザの顔が画面に対してどちらの方向を見ているかを取得して、その回転角度を送信し、のちに述べる顔シンボルの3D表示に用いる。顔向き805は、顔シンボル描画プログラム2033により設定される。
表情分類806には、図4の手法で取得したユーザnの表情の分類情報を入れる。この分類は、のちに述べる顔シンボルの3D表示に用いる。表情分類806は、顔シンボル描画プログラム2033により設定される。
顔シンボルnの顕著度807には、ユーザnの顔シンボルをどのくらい目立つように表示するべきかを示唆する数字が記載される。この値を顕著度と呼ぶ。顕著度は0.0~1.0の値をとるものとする。顔シンボルnの顕著度807には、ユーザnから得られる顕著度の情報が保存される。この値は、例えば、顔シンボル描画プログラム2033が、特徴点抽出画像23に基づいて判定した表情が笑顔であると判定した場合、+0.3、頷いた表情であると判定した場合、+0.4など、ユーザnの挙動にコミュニケーションとしての情報が多く含まれる場合に増加させるものとする。顔シンボルnの顕著度807は、顔シンボル描画プログラム2033により設定される。
アイコンタクト相手808はユーザnが特定の相手ユーザmとアイコンタクトを交わしている場合に、コンタクト相手のユーザIDが記載される。この判別方法は各ユーザごとに行われる。ユーザ0のアイコンタクト判断成立は工程910で行われるため、具体的な計算方法は当該処理の説明時に行う。アイコンタクト相手808は、顔シンボル描画プログラム2033により設定される(顔シンボルの配置アルゴリズム)。
本実施例では、ドキュメントレイア301に表示されているドキュメントに重畳表示される顔シンボルレイア302に表示される顔シンボルを、ドキュメントの周辺(例えば、ドキュメントが表示された画面の上または横に配置し、ユーザの協調動作に合わせて、当該協調動作に関わったすべてのユーザについての顔シンボルが動的に動くことを特徴としている。協調動作とは、例えば、複数の視聴ユーザが表示されているドキュメントのコンテンツについて、オンライン会議を行う様々なアプリケーションを介して議論を行っている場合、当該議論が、参加者による協調動作となる。
図9に、これらの各ユーザについての顔シンボルの配置方法の工程の流れを示す。
工程901では、レイアウト配置プログラム2034は、画面に表示されているドキュメント等のコンテンツの表示内容に基づいたエネルギーマップを計算する。
(ドキュメントのエネルギー関数)
図10Aは、エネルギーマップの例を示す図である。ここでは、画面上に表示されたドキュメント等のコンテンツの表示内容の重要度を計算し、一定の閾値以上の重要度であると計算された範囲を避けるように、顔シンボルを配置する例について説明する。本手法では、高いエネルギー領域から低いエネルギー領域に物体が移動する物理シミュレーション手法を模して、顔シンボルの動的な移動モデルを制御する。そのため、以下このような重要度を割り振られたものをエネルギーマップと呼ぶ。
図10Aは、エネルギーマップの例を示す図である。ここでは、画面上に表示されたドキュメント等のコンテンツの表示内容の重要度を計算し、一定の閾値以上の重要度であると計算された範囲を避けるように、顔シンボルを配置する例について説明する。本手法では、高いエネルギー領域から低いエネルギー領域に物体が移動する物理シミュレーション手法を模して、顔シンボルの動的な移動モデルを制御する。そのため、以下このような重要度を割り振られたものをエネルギーマップと呼ぶ。
図10Aでは、元ドキュメント1001における色の濃い黒色部分R1、R2およびその周辺領域R3が、高エネルギー領域であると計算され、顔シンボルの配置を避けるべき領域、図の色の薄い白色部分R4ほかの部分はエネルギーが低く配置に適した領域を示す。レイアウト配置プログラム2034は、ドキュメントレイア301に表示されているドキュメントのある領域の画像と、顔シンボルレイア302に表示する顔シンボルの画像とを重畳させたときに、重畳させた範囲の非透明ピクセル領域に割り当てられたエネルギーマップの値の総和が小さくなるように、顔シンボルの画像の位置を移動させていく。このようなエネルギーマップの作製には、いくつかの基準で作ったマップを合成することで得られる。
本実施例では、レイアウト配置プログラム2034は、元ドキュメント1001から、エッジ情報と色を用いた一般に顕著度マップS(p)と呼ばれる手法で得られたマップ1002と、当該非透明ピクセル領域に含まれるコンテンツとしてあらわされている各テキストの文字情報や画像認識によって得られたコンテンツの部分に関連付けられた重要要素検出マップD(p)と呼ばれる手法で得られたマップ1003と、別途コンテンツ作成者(例えば、発表ユーザ3)が手動にて意図的に定義した、コンテンツの表示内容についての重要度の設定値を定めたユーザ指定マップM(p)であるマップ1004を、それぞれ計算する。そして、レイアウト配置プログラム2034は、元ドキュメント1001から計算したこれらのマップ1002~1004に対して、重み値による重みづけを行い、エネルギーの値に当該重み値を加算した値を、ドキュメント画像から得られる重要度として設定する。当該重要度を算出するための計算式を、(数1)として示す。但し、pは画像内の位置を示し、S(p),D(p),M(p)はpに対応するそれぞれのエネルギー値を返す関数である。またC_xと記載されている変数は適切に選ばれた定数であるものとする。このエネルギーを適用すると、各顔シンボルは、この重要度マップで定義されたコンテンツの重要部分となるべく重複しない位置に配置される。特に、ドキュメント上の空白位置や、ドキュメントの枠外などの位置に優先的に配置されるようになる。
(数1)
E_1(p) = C_11・S(p) + C_12・D(p)+C_13・M(p) …(1)
(数1)
E_1(p) = C_11・S(p) + C_12・D(p)+C_13・M(p) …(1)
以下、それぞれのマップの作成方法の一例を説明する。(顕著度マップ S(p))
マップS(p)は、例えば、以下の非特許文献(Zhai, Yun; Shah, Mubarak (2006-10-23). Visual Attention Detection in Video Sequences Using Spatiotemporal Cues. Proceedings of the 14th ACM International Conference on Multimedia. MM ’06. New York, NY, USA: ACM. pp. 815-824.)に記載の技術を用いて作成することができる。顕著度マップは、画像のエッジ、色彩度などをフィルタリング処理し、人間の目がどこに向かいやすいかの蓋然性モデルを推定する手法である。各ピクセルごとにエネルギーが割り振られ、目を引きやすい領域にはエネルギーを高く設定する。例えば一般文書であれば、文字の周辺などはエッジが多く存在するためエネルギーの高い領域となり、空白の領域はエッジが存在しないためエネルギーが低く設定される。この計算には、人間の目を引きそうな要素、例えば顔の映像や特定のオブジェクトが認識された場合には、当該顔の映像や特定のオブジェクトの画素よりも高いエネルギーを割り当てるなどの様々な亜種が提案されている。
マップS(p)は、例えば、以下の非特許文献(Zhai, Yun; Shah, Mubarak (2006-10-23). Visual Attention Detection in Video Sequences Using Spatiotemporal Cues. Proceedings of the 14th ACM International Conference on Multimedia. MM ’06. New York, NY, USA: ACM. pp. 815-824.)に記載の技術を用いて作成することができる。顕著度マップは、画像のエッジ、色彩度などをフィルタリング処理し、人間の目がどこに向かいやすいかの蓋然性モデルを推定する手法である。各ピクセルごとにエネルギーが割り振られ、目を引きやすい領域にはエネルギーを高く設定する。例えば一般文書であれば、文字の周辺などはエッジが多く存在するためエネルギーの高い領域となり、空白の領域はエッジが存在しないためエネルギーが低く設定される。この計算には、人間の目を引きそうな要素、例えば顔の映像や特定のオブジェクトが認識された場合には、当該顔の映像や特定のオブジェクトの画素よりも高いエネルギーを割り当てるなどの様々な亜種が提案されている。
(重要要素検出マップ D(p))
マップD(p)の作り方の方法として、レイアウト配置プログラム2034は、ドキュメント等のコンテンツに記載された単語が、あらかじめ本システムのデータベース等の記憶装置に登録された重要単語の重みづけデータベースに登録されているか否かを判定する。レイアウト配置プログラム2034は、ドキュメント等のコンテンツに記載された単語が、当該データベースに登録されていると判定した場合には、当該重要単語に対応付けて記憶されている重み値をデータとして与えることができる。このような手法以外にも、広く知られる機械学習などの処理を用いて、文書の単語重要度を判別する手法を用いてもよい。
マップD(p)の作り方の方法として、レイアウト配置プログラム2034は、ドキュメント等のコンテンツに記載された単語が、あらかじめ本システムのデータベース等の記憶装置に登録された重要単語の重みづけデータベースに登録されているか否かを判定する。レイアウト配置プログラム2034は、ドキュメント等のコンテンツに記載された単語が、当該データベースに登録されていると判定した場合には、当該重要単語に対応付けて記憶されている重み値をデータとして与えることができる。このような手法以外にも、広く知られる機械学習などの処理を用いて、文書の単語重要度を判別する手法を用いてもよい。
(ユーザ指定マップ M (p))
ユーザ指定マップM (p)は、任意の領域の画素に対して重み値による重みづけを行って得られるものである。レイアウト配置プログラム2034は、別途作成して入力されたビットマップを割り当てたり、色としてエネルギーを設定する別の編集画面を用意したりすることで、画素に応じた重み値を任意に設定することができる。
ユーザ指定マップM (p)は、任意の領域の画素に対して重み値による重みづけを行って得られるものである。レイアウト配置プログラム2034は、別途作成して入力されたビットマップを割り当てたり、色としてエネルギーを設定する別の編集画面を用意したりすることで、画素に応じた重み値を任意に設定することができる。
(視聴ユーザの視線情報に基づくエネルギーの追加)
工程902では、レイアウト配置プログラム2034は、ドキュメント等のコンテンツが表示された画面を視聴しているユーザ0が、当該画面上のどの位置を見ているかを、図6を用いて説明した手法に基づいて計測する。
工程902では、レイアウト配置プログラム2034は、ドキュメント等のコンテンツが表示された画面を視聴しているユーザ0が、当該画面上のどの位置を見ているかを、図6を用いて説明した手法に基づいて計測する。
工程903では、レイアウト配置プログラム2034は、工程902で計測した視聴ユーザ0の視線情報から、エネルギーマップを計算する。具体的には、レイアウト配置プログラム2034は、図6において説明したように、カメラ292で撮像した映像や画像から視聴者であるユーザ0について推定した視線方向の画面上の位置をp_0として設定する。レイアウト配置プログラム2034は、画面上の任意の位置pに対して、位置p_0を中心とした半径dピクセルの空間にエネルギーを配置する。このエネルギーを適用すると、レイアウト配置プログラム2034は、顔シンボルAを、視線がd以内に近づくと視線を避けるように移動させる。
図10Bに、このときの例を示す。図10Bは、エネルギーマップと顔シンボルの移動との関係を説明するための図である。視線の中心となる位置p_0の周辺に半径dピクセルの円としてエネルギーが配置され、円の中心は高いエネルギー、円の周辺になるにつれ低いエネルギーとなる。図10Bでは、避けるべき範囲(視線の周辺の高エネルギー領域)として領域R5が設定されていることを示している。レイアウト配置プログラム2034は、このようなエネルギーを配置することで、視線が向けられた位置から顔シンボルは避けるように移動させる。つまり、レイアウト配置プログラム2034は、顔シンボルの位置が、視線の中心となる位置から半径dとする所定範囲に入ってきた場合、あるいは当該半径dよりも内側であって、エネルギーが所定の閾値以上である範囲に入ってきた場合、これらの範囲を避けて、所定の閾値よりもエネルギーが低い位置に移動させる。
上記領域R5におけるエネルギーは、例えば、以下の式であらわすことができる。
(数2)
E_2(p)= C_2 max(0, d-|p_0-p|) …(2)
このエネルギー項E_2(p)は、ユーザがドキュメントを見ているときに、顔シンボルが該当部分に重複してドキュメントが読みにくくなるのを防ぐために設定されたもので、顔シンボルが視線を回避するように動くものである。上記の関数はこの目的に沿うように設定されていれば別の関数を用いることもできる。
(数2)
E_2(p)= C_2 max(0, d-|p_0-p|) …(2)
このエネルギー項E_2(p)は、ユーザがドキュメントを見ているときに、顔シンボルが該当部分に重複してドキュメントが読みにくくなるのを防ぐために設定されたもので、顔シンボルが視線を回避するように動くものである。上記の関数はこの目的に沿うように設定されていれば別の関数を用いることもできる。
工程904~工程908は、ネットワークに接続している対話先のユーザ(すなわち視聴ユーザ以外のユーザ)、n=1…N-1に対して行われる繰り返しループ処理である。各ループでの対象をユーザn、顔シンボルnと呼称する。各ユーザの顔シンボルは、画面上の点p_nに配置されているものとする。
工程904では、レイアウト配置プログラム2034は、工程908で行われた顔シンボルの移動と、工程902で行われた視聴ユーザ0の視線計測の結果を合わせて、ユーザ0が、ドキュメントではなくユーザnの顔シンボルnを視聴しているかどうかの判断処理を行う。この工程の詳細については後述する。
ユーザnの顔シンボルの位置p_nは工程901と工程903で設定されたユーザ0の視聴行動と、工程905~工程907で設定されたユーザnの情報に基づくエネルギー関数をもとにして工程908で更新する。
まず、工程905において、レイアウト配置プログラム2034は、ユーザnが視聴しているエリアをエネルギー項に加え、工程906で他の顔シンボルとの位置関係を計算してエネルギー項に加える。また、レイアウト配置プログラム2034は、工程907において、工程904~工程906までに計算したエネルギー項の値と、工程901で計算したコンテンツのエネルギー項の値との合計を算出する。さらに、工程908において、レイアウト配置プログラム2034は、算出した結果を用いて、ユーザnの顔シンボルを、前フレームの顔シンボルの位置p_n(t-1)の近傍で、エネルギーの低い領域p_n(t)に移動させる。それぞれの工程でのエネルギー作成の詳細について、以下順に述べる。
(ユーザnの視聴エリアに基づくエネルギー計算)
工程905では、レイアウト配置プログラム2034は、参加しているユーザnの視線情報からエネルギーマップを計算する。
工程905では、レイアウト配置プログラム2034は、参加しているユーザnの視線情報からエネルギーマップを計算する。
図10Cは、視聴ユーザが視聴するドキュメント等のコンテンツが表示された画面の視聴エリアから得られる重要度マップの一例を示す図である。当該重要度マップは、レイアウト配置プログラム2034が、顔シンボルnに関連付けられたユーザnについて、過去T秒間に見た視線位置の情報を合計してマップにしたものである。図10Cでは、ドキュメント等のコンテンツの非表示領域R6(図中の黒領域)に、ユーザnが図8Bで説明したように拡大(あるいは縮小)操作を行って表示した領域である拡大領域R7(図中の濃いグレー領域)が表示されている。レイアウト配置プログラム2034は、過去T秒間(この例では、現在、0.5秒前、1.0秒前)の各時点における視線位置から得られるユーザnの視聴エリアに基づくエネルギーマップを生成し、これらを重ね合わせたエネルギーマップを生成する。図10Cでは、レイアウト配置プログラム2034は、ユーザnの現在の視線位置1021、ユーザnの0.5秒前の視線位置1022、ユーザnの1.0秒前の視線位置1023を、図10Bを用いて説明したような顔シンボルが避けるべき範囲として表示している。
より具体的には、レイアウト配置プログラム2034は、視線の周辺の高エネルギー領域を避けるべき範囲として算出する場合、視点位置に相当する領域を中心にしたガウス分布を適用して吸引型のエネルギーを与える。レイアウト配置プログラム2034は、ユーザnのドキュメント視線位置v_nを、図8Aに示した視聴構成情報から読み込んで、以下のように計算を行う。
(数3)
E_3(p) = C_3 ・-Σ_t|v_n(t)-p| …(3)
ただしこれらのエネルギー項はユーザnの顔シンボルのみに適用される。このようなエネルギー項を適用すると、ユーザnの顔シンボルは、このマップが高い位置、すなわちユーザnが視聴しているコンテンツ領域になるべく近い位置に吸引される。
(数3)
E_3(p) = C_3 ・-Σ_t|v_n(t)-p| …(3)
ただしこれらのエネルギー項はユーザnの顔シンボルのみに適用される。このようなエネルギー項を適用すると、ユーザnの顔シンボルは、このマップが高い位置、すなわちユーザnが視聴しているコンテンツ領域になるべく近い位置に吸引される。
またユーザnがドキュメントの一部の部分を拡大した領域R7を表示している場合には、当該領域R7に吸引型のエネルギー(負の値)を与える。当該エネルギーは、例えば、以下の算式で求めることができる。
(数4)
E_3’(p) = C_3’・w (if p in W) …(4) else 0
但し、pは画像上の点、Wは図8Aに示した視聴構成情報の拡大表示領域W_n803として格納されている、ユーザnが視聴している画像内の領域を意味する。
(数4)
E_3’(p) = C_3’・w (if p in W) …(4) else 0
但し、pは画像上の点、Wは図8Aに示した視聴構成情報の拡大表示領域W_n803として格納されている、ユーザnが視聴している画像内の領域を意味する。
(顔シンボル同士の反発エネルギーの計算)
工程906では、レイアウト配置プログラム2034は、表示されている顔シンボルが相互になるべく離れるように移動の調整を行う。顔シンボルp_n(t-1)に対して、他の顔シンボルp_m(t-1) m≠nがあるとき、p_m(t-1)を中心としたガウス分布を設定し、p_mに反発するようにエネルギーマップを設定する。この例を図10Dに示す。図10Dでは、レイアウト配置プログラム2034が、視線位置pm1に基づく顔シンボルm1の位置P1、視線位置pm2に基づく顔シンボルm2の位置P2、視線位置pm3に基づく顔シンボルm3の位置P3のそれぞれを、互いに所定の間隔を隔てて離れた位置に配置する。当該離れた位置は、それぞれの顔シンボル同士のエネルギーの値が一定程度近い値となるように定められる。これにより、顔シンボル同士を反発させるエネルギーマップを作成することができる。
工程906では、レイアウト配置プログラム2034は、表示されている顔シンボルが相互になるべく離れるように移動の調整を行う。顔シンボルp_n(t-1)に対して、他の顔シンボルp_m(t-1) m≠nがあるとき、p_m(t-1)を中心としたガウス分布を設定し、p_mに反発するようにエネルギーマップを設定する。この例を図10Dに示す。図10Dでは、レイアウト配置プログラム2034が、視線位置pm1に基づく顔シンボルm1の位置P1、視線位置pm2に基づく顔シンボルm2の位置P2、視線位置pm3に基づく顔シンボルm3の位置P3のそれぞれを、互いに所定の間隔を隔てて離れた位置に配置する。当該離れた位置は、それぞれの顔シンボル同士のエネルギーの値が一定程度近い値となるように定められる。これにより、顔シンボル同士を反発させるエネルギーマップを作成することができる。
工程907では、レイアウト配置プログラム2034は、工程901、工程905、工程906のエネルギーの総和をとりE(p)を作成する。レイアウト配置プログラム2034は、作成したエネルギーE(p)の勾配Δp_n(t)を計算し、工程908において、p_n(t-1)からエネルギーの低い領域p_n(t)に移動させる。
時刻t時点におけるp_n(t)は、例えば、次の数式により算出することができる。
(数5)
p_n(t) = p_n(t-1)+ Δp_n(t) …(5)
時刻t時点におけるp_n(t)は、例えば、次の数式により算出することができる。
(数5)
p_n(t) = p_n(t-1)+ Δp_n(t) …(5)
工程909では、レイアウト配置プログラム2034は、共有ドキュメント10を共有しているすべてのユーザについて工程901~工程908の処理を行ったか否かを判定し、すべてのユーザについて工程901~工程908の処理を行ったと判定した場合には工程910以降の処理を行う(工程909;Yes)。一方、レイアウト配置プログラム2034は、すべてのユーザ(n人のユーザ)について工程901~工程908の処理を行っていないと判定した場合には、工程909Aにおいて、残りのユーザ(n=n+1人目)をカウントし、当該カウントしたユーザについて、工程901~工程908の処理を繰り返す(工程909;No)。
レイアウト配置プログラム2034は、工程910において、すべてのユーザについて、工程901~工程908までの各処理で算出した結果に基づいて、画面上の顔シンボルやユーザの視線位置などの情報を更新する。さらに、工程911において、レイアウト配置プログラム2034は、ネットワーク制御プログラム2031に、更新した上記情報を他のユーザが操作する情報端末に送信させる。そして、レイアウト配置プログラム2034は、時間を計時する図示しないカウンタを次の値t+1に更新し(工程911A)、工程901に戻って以降の処理を繰り返す。
(顔シンボルの追跡による視聴の確認)
レイアウト配置プログラム2034は、各ユーザの顔シンボルを、工程905~909で生成された様々なエネルギーマップの影響を受けてエネルギー順位の低い位置に動的に移動させる。レイアウト配置プログラム2034は、前フレーム(例えば、0.5秒前)の処理で移動した顔シンボルに対して、視聴しているユーザ0がユーザNの顔シンボルnを見ているかどうか(アイコンタクト)の判断を行う。ここで、アイコンタクトを取るとは、顔シンボルの実体であるユーザ0が画面上に表示された顔シンボルnに視線を送ることである。この視線が顔シンボルの位置に位置しているかどうかの判断処理は、レイアウト配置プログラム2034が、顔シンボルごとに工程904でチェックする。
レイアウト配置プログラム2034は、各ユーザの顔シンボルを、工程905~909で生成された様々なエネルギーマップの影響を受けてエネルギー順位の低い位置に動的に移動させる。レイアウト配置プログラム2034は、前フレーム(例えば、0.5秒前)の処理で移動した顔シンボルに対して、視聴しているユーザ0がユーザNの顔シンボルnを見ているかどうか(アイコンタクト)の判断を行う。ここで、アイコンタクトを取るとは、顔シンボルの実体であるユーザ0が画面上に表示された顔シンボルnに視線を送ることである。この視線が顔シンボルの位置に位置しているかどうかの判断処理は、レイアウト配置プログラム2034が、顔シンボルごとに工程904でチェックする。
しかしながら、視線方向の計測には大きな誤差が伴うことが多いため、ユーザ0の視線情報だけでは、ユーザnの顔シンボルを確認しているか、またはその顔シンボルが存在する周辺のコンテンツを読んでいるか、または別の顔シンボルを確認しているのか、十分判断できない場合がある。本実施例では、このようなアイコンタクトの精度を向上させ不確定性を解決するために、一連の確認動作を行うことを特徴の一つとする。
図11Aに、工程904における処理の詳細を示す。以下その手順を記載する。図11Aは、顔シンボルを追跡することにより、ユーザがドキュメント等のコンテンツを視聴しているのか、あるいは顔シンボルに視線を送っているのかを確認するための確認処理の処理手順を示すフローチャートである。以下では、顔シンボルごとに、図11Bに示すような視線追従の計測に用いるデータが定義される。レイアウト配置プログラム2034は、視聴ユーザ0が顔シンボルnを見ているかどうかを、当該データを参照することで、ユーザの視聴状態をモードとして管理する。
工程904では、レイアウト配置プログラム2034は、各ユーザの顔シンボルが次モードに推移するかどうかの判断を行う。モードの推移は以下の手順で判別する。手順は三段階からなり、(1)ユーザ0の視線推定位置から一定の距離内に所定の時間のあいだ顔シンボルがあるか(近傍段階、工程9010、9010A)、(2)顔シンボルnが逃げるように動く方向にユーザ0の視線が追いかけるように動くか(追跡段階、工程9011、9011A)、(3)特定の顔シンボルを見ていると判断して顔シンボルの情報を強調して表示し、ユーザnとアイコンタクトの情報を送り、またユーザnの視聴状態についての補足情報を提示する(顕現性向上段階、工程9012)、の三段階に応じて計算処理を行う。これらの処理は、複数回のループをまたがって行われる処理である。そのため、上記データに顔シンボルのモードを管理する変数を持たせ、レイアウト配置プログラム2034は、一定の基準を満たした場合、上記近傍段階を示す状態モード1(近傍モード)、上記追跡段階を示す状態モード2(追跡モード)、上記顕現性向上段階を示す状態モード3(注視モード)と、ユーザnの視聴状態を切り替えていく。これらの変数を、以下では状態モード変数と呼ぶ。
図11Bに示すように、視線追従の計測に用いるデータ1100は、ユーザを識別するためのユーザ番号ごとに、顕著度1101、顔シンボル配置位置座標p_n(t)1102、前フレームでの位置座標p_n(t-1)1103、近傍モード1104および当該モードの持続期間1105、追跡モード1105および当該モードの持続期間1106、注視モード1107および当該モードの持続期間1108が、対応付けて記憶されている。
各モードの持続時間は、レイアウト配置プログラム2034が、それぞれのモードが持続している時間を、図示しないカウンタを用いてカウントし、一定の時間のあいだモード状態が維持されていたら次のモードに切り替わるようにする。以下、各モードの判断と切り替え手順の詳細を述べる。
(状態モード1:近傍段階)
レイアウト配置プログラム2034は、図10Bを用いて説明したように、視聴ユーザ0について推定した視線方向の画面上の位置p_0が、顔シンボルnから一定距離以内d_vに向いている場合、当該ユーザ0が顔シンボルnを見ている可能性があるすると判断する。この場合、レイアウト配置プログラム2034は、上記データの近傍モード1104に、変数として「1」(True)を設定する。これとは逆に、レイアウト配置プログラム2034は、上記位置p_0が、顔シンボルnから一定距離d_v以上に離れた場合には、上記変数の値を「0」(False)にリセットする。また、レイアウト配置プログラム2034は、上記変数の値「1」の状態が何フレームの間継続して維持されているかをカウントし、上記持続期間1105に記録する。
レイアウト配置プログラム2034は、図10Bを用いて説明したように、視聴ユーザ0について推定した視線方向の画面上の位置p_0が、顔シンボルnから一定距離以内d_vに向いている場合、当該ユーザ0が顔シンボルnを見ている可能性があるすると判断する。この場合、レイアウト配置プログラム2034は、上記データの近傍モード1104に、変数として「1」(True)を設定する。これとは逆に、レイアウト配置プログラム2034は、上記位置p_0が、顔シンボルnから一定距離d_v以上に離れた場合には、上記変数の値を「0」(False)にリセットする。また、レイアウト配置プログラム2034は、上記変数の値「1」の状態が何フレームの間継続して維持されているかをカウントし、上記持続期間1105に記録する。
(状態モード2;追跡段階)
レイアウト配置プログラム2034は、上記状態モード1において説明したように、ユーザ0の視線が顔シンボルnに向いた場合、(数2)で示したエネルギー項E_2(p)の影響で、顔シンボルnは、ユーザ0の視線を避けるように移動する。レイアウト配置プログラム2034は、当該顔シンボルnの時刻t-1から時刻tまでの間における相対移動方向fv(t)=(fp(t)-fp(t-1))/|fp(t)-fp(t-1)|と、上記視聴ユーザ0について推定した視線方向の画面上の位置p_0の時刻t-1から時刻tまでの間における相対移動方向v(t)=(p(t)-p(t-1))/|p(t)-p(t-1)|とを比較する。ただし、fp(t)は、時刻tにおける顔シンボルの表示位置、p(t)は時刻tにおける上記視線方向の画面上の位置である。
レイアウト配置プログラム2034は、上記状態モード1において説明したように、ユーザ0の視線が顔シンボルnに向いた場合、(数2)で示したエネルギー項E_2(p)の影響で、顔シンボルnは、ユーザ0の視線を避けるように移動する。レイアウト配置プログラム2034は、当該顔シンボルnの時刻t-1から時刻tまでの間における相対移動方向fv(t)=(fp(t)-fp(t-1))/|fp(t)-fp(t-1)|と、上記視聴ユーザ0について推定した視線方向の画面上の位置p_0の時刻t-1から時刻tまでの間における相対移動方向v(t)=(p(t)-p(t-1))/|p(t)-p(t-1)|とを比較する。ただし、fp(t)は、時刻tにおける顔シンボルの表示位置、p(t)は時刻tにおける上記視線方向の画面上の位置である。
ユーザが顔シンボルを見ている場合には顔シンボルの移動方向に合わせた眼球運動が発生するため、この二つの相対移動方向が一定程度以上の近しい関係になる。この関係を利用して、レイアウト配置プログラム2034は、上記状態モード1の変数の値が「1」であり、相対移動方向fv(t)と相対移動方向v(t)との角度の差が所定の角度「θ」以下であった場合には、ユーザ0の視線は顔シンボルnを追従していると判断し、上記状態モード2の変数の値に「1」(True)を設定する。この処理により、ユーザ0は、単に顔シンボル付近のコンテンツを見ていたのか、顔シンボル自体を見ようとしているのかを判別することができる。
また、レイアウト配置プログラム2034は、上記状態モード2の変数の値として「1」の設定が継続されている期間は、当該状態モード2の持続期間1107をインクリメントする。例えば、レイアウト配置プログラム2034は、上記状態モード2の変数の値「1」の設定が何フレームの間継続して維持されているかをカウントし、上記持続期間1107に記録する。また、レイアウト配置プログラム2034は、上記状態モード1の変数と同様、状態モード変数2の状態が解除された場合には、上記変数の値を「0」(False)にリセットする。レイアウト配置プログラム2034は、上記状態モード2の変数の値に「1」(True)が設定され、当該設定された期間が一定時間以上であった場合には、一定時間の追従が行われたと判断し、上記状態モード3の変数の値に「1」(True)を設定する。
(状態モード3:顔シンボルの顕現性向上)
レイアウト配置プログラム2034は、上記状態モード3の変数の値に「1」(True)が設定されている場合、(数2)で示したエネルギー項E_2(p)の定数C_2をゼロに設定し、顔シンボルnがユーザ0の視線を避ける移動を停止して、顔シンボルnの顕現性を向上させる。レイアウト配置プログラム2034は、顔シンボルnの顕著度807に示されたユーザnの表情から得られた顔シンボルnの顕現性に、ユーザ0の視線集中に基づくボーナス値を加えた値を、顔シンボルnの顕著度1101として設定し、この数値に合わせて顔シンボルnの表示方法を変更する。顔シンボルnの顕現性を向上させる具体例としては、当該顔シンボルを大きく表示する、当該顔シンボルの透明度を下げる(つまり、はっきり見えるようにする)などの処理がある。
レイアウト配置プログラム2034は、上記状態モード3の変数の値に「1」(True)が設定されている場合、(数2)で示したエネルギー項E_2(p)の定数C_2をゼロに設定し、顔シンボルnがユーザ0の視線を避ける移動を停止して、顔シンボルnの顕現性を向上させる。レイアウト配置プログラム2034は、顔シンボルnの顕著度807に示されたユーザnの表情から得られた顔シンボルnの顕現性に、ユーザ0の視線集中に基づくボーナス値を加えた値を、顔シンボルnの顕著度1101として設定し、この数値に合わせて顔シンボルnの表示方法を変更する。顔シンボルnの顕現性を向上させる具体例としては、当該顔シンボルを大きく表示する、当該顔シンボルの透明度を下げる(つまり、はっきり見えるようにする)などの処理がある。
また、レイアウト配置プログラム2034は、上記状態モードの変数の値に「1」(True)が設定されている場合、視線位置p(t)と顔シンボルfp(t)との距離|fp(t)-p(t)|を計算する。レイアウト配置プログラム2034は、この値が所定の値d_3以下である場合には、顔シンボルfp(t)の視聴を続けていると判断し、当該状態モード3の持続期間1109をインクリメントする。
(顔シンボルの注視継続による情報の提示)
顔シンボル描画プログラム2033は、上記状態モード3の持続期間1109が一定の値以上になった場合、ユーザ0は意識的に顔シンボルnを確認しているものと判断し、顔シンボルnの実体であるユーザnに対するアイコンタクトが成立した旨の情報の送信と、ユーザnが見ている情報を共有するために、当該情報に関連する情報の提示を行う。この提示の例として、顔シンボル描画プログラム2033は、ユーザnが見ている文書領域(例えば、図8Aに示した拡大表示領域W_n803)に相当する領域の色を、他の領域と比べて一定以上彩度を高めた領域として表示する。あるいは、顔シンボル描画プログラム2033は、ユーザnが表示していない領域の色を暗く設定するなどの処理を行う。
顔シンボル描画プログラム2033は、上記状態モード3の持続期間1109が一定の値以上になった場合、ユーザ0は意識的に顔シンボルnを確認しているものと判断し、顔シンボルnの実体であるユーザnに対するアイコンタクトが成立した旨の情報の送信と、ユーザnが見ている情報を共有するために、当該情報に関連する情報の提示を行う。この提示の例として、顔シンボル描画プログラム2033は、ユーザnが見ている文書領域(例えば、図8Aに示した拡大表示領域W_n803)に相当する領域の色を、他の領域と比べて一定以上彩度を高めた領域として表示する。あるいは、顔シンボル描画プログラム2033は、ユーザnが表示していない領域の色を暗く設定するなどの処理を行う。
図8Aに示したアイコンタクト相手808は、アイコンタクトが成立した場合に設定されるデータ項目である。顔シンボル描画プログラム2033は、この項目にユーザ0が設定されている場合、あるユーザnがユーザ0の顔シンボルを見てアイコンタクトを取っていることを知らせるために、顔シンボルの表示変更を行う。図12A、12Bに、表示変更される顔シンボルの一例を示す。
図12Aは、3Dモデルで顔シンボルを表現している例を示している。この場合には、顔シンボル描画プログラム2033は、3Dアニメーションで視線の動きや顔の向きを自由に変えることができる。顔シンボルに3Dモデルを用いている場合には、顔シンボルの向きをディスプレイ正面に向けて、ユーザ0の方を向いているかのように表現する。図12A左では、ユーザnが、自身が操作する情報端末の画面に表示されているドキュメント等のコンテンツのある位置に視線を送っている。そのため、顔シンボル描画プログラム2033は、図4で説明したように、ユーザnの顔シンボルもその視線に合わせて上記位置の方向を向いた顔シンボル1201として表示している。その後、上述したように、ユーザnとユーザ0との間でアイコンタクトが成立すると、顔シンボル描画プログラム2033は、図12A右に示すように、画面の正面を向くユーザ0の顔シンボル1202に変化させ、ユーザ0が操作する情報端末の画面上に表示する。
また一方、顔シンボルにビデオ画像などが用いられている場合には、顔の映像を自由に加工することができない。この場合には図12Bのように、カメラ292で撮影した画像をテクスチャとして平面上に貼り付け、この平面を正面に向けることで、視聴者の方を向いているかのように表現することができる。図12B左では、図12A左の場合と同様、ユーザnが、上記ドキュメント等のコンテンツのある位置に視線を送っている。そのため、顔シンボル描画プログラム2033は、ユーザnの顔シンボルとして上記カメラ292で撮影した画像もその視線に合わせて上記位置の方向を向いた顔シンボル1203として表示している。その後、上述したように、ユーザnとユーザ0との間でアイコンタクトが成立すると、顔シンボル描画プログラム2033は、図12B右に示すように、画面の正面を向くように変化させた上記カメラ292で撮影した画像1204を、ユーザ0が操作する情報端末の画面上に表示する。
このほか、もっと単純に、ユーザ0の方を見ている場合には顔シンボルの枠の色を彩度の高いものに変える、顔シンボルの周辺に注目を促すようなアイコンを表示する、音声や効果音を発生する、テキストを表示するなどの様々な手法をとることもできる。また、この時ユーザnが視聴しているコンテンツの内容をユーザ0に知らせるために、コンテンツの当該部(視線が滞留している位置や、拡大しているエリア)の色を変えるなどの処理を行い、ユーザnの視聴内容を共有するようにすることもできる。
(第三者の視聴)
これまでは、情報端末を操作するユーザと、ドキュメント等のコンテンツを共有しているユーザの顔シンボルとの間でアイコンタクトが成立した場合について説明した。しかし、他のユーザ同士がアイコンタクトをとっている場合も同様に考えることができる。具体的には、顔シンボル描画プログラム2033は、ユーザnが別のユーザmの顔シンボルとアイコンタクトをとっている場合、第三者であるユーザoの情報端末の画面上において、ユーザnの顔シンボルnを顔シンボルmが表示されている位置に向けるようにすることができる。顔シンボルの位置は、図11Bに示した顔シンボル配置位置座標p_n(t)1102、前フレームでの位置座標p_n(t-1)1103などから特定すればよい。具体的には、工程901と工程903で設定されたユーザ0の視聴行動と、工程905~工程907で設定されたユーザnの情報に基づくエネルギー関数をもとにして工程908で更新された顔シンボルの位置p_nを現在の顔シンボルの位置とし、当該顔シンボルの位置の方向に、アイコンタクトしている顔シンボルを向ければよい。
これまでは、情報端末を操作するユーザと、ドキュメント等のコンテンツを共有しているユーザの顔シンボルとの間でアイコンタクトが成立した場合について説明した。しかし、他のユーザ同士がアイコンタクトをとっている場合も同様に考えることができる。具体的には、顔シンボル描画プログラム2033は、ユーザnが別のユーザmの顔シンボルとアイコンタクトをとっている場合、第三者であるユーザoの情報端末の画面上において、ユーザnの顔シンボルnを顔シンボルmが表示されている位置に向けるようにすることができる。顔シンボルの位置は、図11Bに示した顔シンボル配置位置座標p_n(t)1102、前フレームでの位置座標p_n(t-1)1103などから特定すればよい。具体的には、工程901と工程903で設定されたユーザ0の視聴行動と、工程905~工程907で設定されたユーザnの情報に基づくエネルギー関数をもとにして工程908で更新された顔シンボルの位置p_nを現在の顔シンボルの位置とし、当該顔シンボルの位置の方向に、アイコンタクトしている顔シンボルを向ければよい。
また、ユーザnがどのユーザの顔シンボルともアイコンタクトをとっていない場合には、顔シンボル描画プログラム2033は、話者である発表ユーザ3の顔シンボルか、ユーザnが操作する情報端末の画面に表示されているドキュメントの中心位置、または当該ドキュメントのうちユーザnが注視している位置に向けておくこともできる(表情に合わせた顕現性の変更)。
図8Aを用いて既に説明したように、カメラ292により撮像されたユーザnの顔の映像に基づいて定められた表情分類806に合わせて3Dモデルの表情を変える、または背景色を変える、テキストや漫符表現によって、3Dモデルの印象を変えることもできる。この際、顔シンボル描画プログラム2033は、ユーザnの表情やリアクションが基準より大きい場合には、顔シンボルnの顕著度1101の値に、ユーザnの表情やリアクションの変化の大きさに応じた値を加算することで、顔シンボルnの顕著度1101を向上させて、各ユーザの画面上で、より顕著に表示させることを指示することもできる。その場合、顔シンボル描画プログラム2033は、上記顕著度1101には、ドキュメント等のコンテンツを画面上に表示しているユーザ0についての顕著度1101に、当該コンテンツを共有しているユーザnの表情やリアクションに基づいて設定された表情分類806に応じた値を加算(または類似した処理)した結果を用いる。これにより、より表情が大きく、かつまたユーザnによって認知されているユーザの顔シンボルが、分かりやすく表示されるようになる。
(実施例2)
図13A、13Bに、他の実施例を示す。図13A、13Bでは、顔シンボルの表示位置を変更する場合の例を示している。この例では、ユーザの顔シンボルがドキュメントに重複することがより一層生じないように、顔シンボルをドキュメントの周囲の枠のエリアのみに配置されるように設定する。このような設定は、エネルギー関数をドキュメント枠の1次元上で設定することで対応できる。図13Bに、このような制御を行う場合のエネルギーマップの例を示す。ドキュメント上に高いエネルギー領域を置き、ドキュメントの外側に沿って低エネルギー領域を配置することで、顔シンボルはこの低いエネルギー領域に沿ってしか動かないようになる。図13Bでは、図10A等を用いて説明した方法を用いて、画面上に表示される元ドキュメント1001の大きさの範囲よりも一定程度狭い領域(例えば、ドキュメントの印字領域の外側の非印字領域として定められた範囲を除いた領域)の外周領域1301の内側の範囲R8を所定値よりも高いエネルギー領域とし、当該領域R8の外側の領域を上記所定値よりも低いエネルギー領域として設定する。これにより、顔シンボルが上記領域R8の外側の範囲で移動することとなる。
図13A、13Bに、他の実施例を示す。図13A、13Bでは、顔シンボルの表示位置を変更する場合の例を示している。この例では、ユーザの顔シンボルがドキュメントに重複することがより一層生じないように、顔シンボルをドキュメントの周囲の枠のエリアのみに配置されるように設定する。このような設定は、エネルギー関数をドキュメント枠の1次元上で設定することで対応できる。図13Bに、このような制御を行う場合のエネルギーマップの例を示す。ドキュメント上に高いエネルギー領域を置き、ドキュメントの外側に沿って低エネルギー領域を配置することで、顔シンボルはこの低いエネルギー領域に沿ってしか動かないようになる。図13Bでは、図10A等を用いて説明した方法を用いて、画面上に表示される元ドキュメント1001の大きさの範囲よりも一定程度狭い領域(例えば、ドキュメントの印字領域の外側の非印字領域として定められた範囲を除いた領域)の外周領域1301の内側の範囲R8を所定値よりも高いエネルギー領域とし、当該領域R8の外側の領域を上記所定値よりも低いエネルギー領域として設定する。これにより、顔シンボルが上記領域R8の外側の範囲で移動することとなる。
実施例1の手法と同様に、ユーザnの顔シンボルは、ユーザnがドキュメントのどの位置を視聴しているかを反映するとともに、互いに距離をとるように配置される。また、図13Aの右側で示されるように、レイアウト配置プログラム2034は、ユーザ2の顔シンボル1301に視線が一定期間集中した場合には、画面右上に位置する顔シンボル1301を、上記領域R8の外側の範囲であって、所定の位置(この図の例では右側中央の位置)に移動させて顔シンボル1301’として表示する。工程904に相当する処理によって視線が追従したことを確認することで、ユーザ2とアイコンタクトが成立したか否かについては、実施例1と同様の手法を用いればよい。
(マウスポインタ)
また、図13Aにおいて、発表者であるユーザ(ユーザ5)が、当該ユーザが操作する情報端末の入出力機器294であるマウスカーソルなどのポインティングデバイスによるマウスポインタにより、画面上のある位置1302を指定することもできる。この場合の顔シンボルの制御について、図13A、14を用いて説明する。図14Aに示すように、ユーザ5が、自身が操作する情報端末の入出力機器294を操作して、画面上にマウスポインタを位置1302に移動させた場合を考える。この場合、レイアウト配置プログラム2034は、当該位置1302にあるマウスポインタの外側の所定範囲に、当該ユーザ5の顔シンボル1303を表示させる。顔シンボル1303を表示する位置は、レイアウト配置プログラム2034が、図11Bに示した顔シンボル配置位置座標p_n(t)1102、前フレームでの位置座標p_n(t-1)1103などから特定した位置が、マウスポインタの位置1302から上記所定範囲内となるような任意の位置に配置して表示させればよい。
また、図13Aにおいて、発表者であるユーザ(ユーザ5)が、当該ユーザが操作する情報端末の入出力機器294であるマウスカーソルなどのポインティングデバイスによるマウスポインタにより、画面上のある位置1302を指定することもできる。この場合の顔シンボルの制御について、図13A、14を用いて説明する。図14Aに示すように、ユーザ5が、自身が操作する情報端末の入出力機器294を操作して、画面上にマウスポインタを位置1302に移動させた場合を考える。この場合、レイアウト配置プログラム2034は、当該位置1302にあるマウスポインタの外側の所定範囲に、当該ユーザ5の顔シンボル1303を表示させる。顔シンボル1303を表示する位置は、レイアウト配置プログラム2034が、図11Bに示した顔シンボル配置位置座標p_n(t)1102、前フレームでの位置座標p_n(t-1)1103などから特定した位置が、マウスポインタの位置1302から上記所定範囲内となるような任意の位置に配置して表示させればよい。
この場合でも、マウスカーソルに対応付けて顔シンボルが表示されるが、当該顔シンボルと、その下層に表示されているドキュメント等のコンテンツの一部分とが重なって表示されるため、発表者であるユーザ5は、自身が発表している上記コンテンツの内容を視認できなくなってしまう。そこで、図14Aに示すように、レイアウト配置プログラム2034は、マウスポインタの位置1302の周辺でエネルギーが一定の閾値に満たない(すなわち重要度の低い)位置1304に、当該ユーザ5の顔シンボルを移動させてもよい。例えば、レイアウト配置プログラム2034は、顔シンボルを、顔シンボル1303の位置から位置1304に移動させる。この場合、図14Aに示すように、マウスポインタの位置1302から顔シンボルの位置1304まで矢印や吹き出し線を描き、マウスポインタが示す位置を参照できるように可視化する。
レイアウト配置プログラム2034は、この方法以外にも、マウスポインタが示す位置と顔シンボルの位置とを視認可能な様々な態様で対応付けて、画面上に表示してよい。この配置位置の決定には、実施例1で説明した工程907で作成したエネルギーマップを使用する。具体的には、レイアウト配置プログラム2034は、工程901、工程905、工程906のエネルギーの総和E(p)と、当該エネルギーE(p)の勾配Δp_n(t)とを計算し、工程908において、マウスポインタが示す位置に対応付けて表示している顔シンボル1303の位置を、p_n(t-1)からエネルギーの低い領域p_n(t)である上記位置1304に移動させる。
この際、移動後の上記位置1304がマウスポインタの位置1302から一定以上離れすぎることが無いように、図14Bに示すようなエネルギー項を追加する。このエネルギー項は、マウスポインタの位置1302の周辺半径d_A1ではエネルギーの値を0とし、そこから一定距離離れるごとに距離に比例したエネルギー値がかかるものとする。図14Bでは、例えば、レイアウト配置プログラム2034は、上記位置1302としてマウスポインタの中心位置1401が表示され、当該中心位置から距離d_A1を隔てた範囲では、中心位置1401からの距離に応じて一定程度の割合で上記エネルギーの値を増加させる。そして、レイアウト配置プログラム2034は、上記中心位置から距離d_A1よりも距離が遠くなる位置では、さらに一定程度高いエネルギーの値とする(図14Bの黒領域)。このようなエネルギーの値の設定により、マウスポインタの周辺へ顔シンボルを移動させる制御を行った場合でも、当該マウスポインタとの距離が離れすぎることがなくなり、ユーザによるマウスポインタおよび顔シンボルの視認性を両立させることができる。
上述のように、マウスポインタの位置に対応する位置に顔シンボルを表示させる場合において、レイアウト配置プログラム2034は、顔シンボル1303の位置を、p_n(t-1)からエネルギーの低い領域p_n(t)である上記位置1304に移動させる。このときに、レイアウト配置プログラム2034は、カメラ292の映像や画像から推定されたユーザの視線方向が、顔シンボルの移動前の位置から移動後の位置に移動したか否かを判定し、顔シンボルの移動前の位置から移動後の位置に移動したと判定した場合、ユーザは顔シンボルを見ているものと判断して、実施例1の手順に従い顔シンボル5の顕現性を向上させる。
(実施例3)
図15は、上述した各実施例を、3Dメタバースと連携させて動作させたシステムとして構成した場合の形態を示したものである。仮想空間1500は、各ユーザ0~5を示す顔シンボルを含むアバターが、3次元の仮想空間内のいずれかの位置に3Dモデルとして配置されたものである。仮想空間1500に対する3Dアバターの実装については、従来から知られている様々な技術を用いてよい。
図15は、上述した各実施例を、3Dメタバースと連携させて動作させたシステムとして構成した場合の形態を示したものである。仮想空間1500は、各ユーザ0~5を示す顔シンボルを含むアバターが、3次元の仮想空間内のいずれかの位置に3Dモデルとして配置されたものである。仮想空間1500に対する3Dアバターの実装については、従来から知られている様々な技術を用いてよい。
仮想空間1500内には、各ユーザで共有するドキュメントを大きく表示した仮想ディスプレイ1501が表示されている。また、各ユーザは、ディスプレイ1501が見にくいと判断し、その旨の情報を各ユーザが操作する情報端末(例えば、スマートフォン)から入力したには、ドキュメント描画プログラム2032は、仮想ディスプレイ1501に表示されているドキュメントと同様の内容を表示した画面を、仮想空間1501内の個人用の仮想ディスプレイ1502に表示することもできる。この例では、user4が個人用仮想ディスプレイ1502を見ている様子を示している。ユーザ0~5は、この仮想空間内で会議や議論などを行うことができる。
(2Dから3Dへの反映)
画面1510は、実施例1の手法を用いて仮想空間1500で行われる会議に参加するユーザ0の画面である。当該画面1501は、上述した仮想ディスプレイ1501や個人用の仮想ディスプレイ1502に表示されたドキュメントを表示する画面である。画面1510は、各ユーザが操作する情報端末のディスプレイ291に表示される。
画面1510は、実施例1の手法を用いて仮想空間1500で行われる会議に参加するユーザ0の画面である。当該画面1501は、上述した仮想ディスプレイ1501や個人用の仮想ディスプレイ1502に表示されたドキュメントを表示する画面である。画面1510は、各ユーザが操作する情報端末のディスプレイ291に表示される。
実施例1の手法を通して、顔シンボル描画プログラム2033が、ユーザ0がどのユーザの顔シンボルに視線を送っているかを判断すると、当該判断されたユーザの顔シンボルとのアイコンタクトの内容を、仮想空間1500のディスプレイ1501に反映する。例えば、顔シンボル描画プログラム2033は、仮想空間1500内に表示されているユーザ0のアバター1503の向きを、見ているユーザmのアバターが表示されている方向に向ける。また、ユーザが、どのユーザのアバターともアイコンタクトを行っておらず、ドキュメントを視聴している場合には、顔シンボル描画プログラム2033は、アバター1503の向きを、仮想ディスプレイ1501に向けて表示させる。
(3Dから2Dへの反映)
また同様に、仮想空間1500内で、どのアバターがどのアバターを見ているかを検出する手段がある場合には、画面1510に表示されている顔シンボルの向きにも、仮想空間1500におけるアバターの向きの変化を反映する。例えば、顔シンボル描画プログラム2033は、user3のアバターが仮想空間1500内でuser2のアバターを見ている場合には、画面1510に表示されているuser3の顔シンボル3をuser2の顔シンボル2の方向に向けて表示させる。また、上述した仮想ディスプレイ1501を見ているユーザ1や個人用の仮想ディスプレイ1502に表示された顔シンボルを見ているユーザ4については、顔シンボル描画プログラム2033は、それぞれ実施例1の手法を用いて、画面1510に表示されているコンテンツのなかで、着目している位置を見るように顔シンボルの向きを反映させる。
また同様に、仮想空間1500内で、どのアバターがどのアバターを見ているかを検出する手段がある場合には、画面1510に表示されている顔シンボルの向きにも、仮想空間1500におけるアバターの向きの変化を反映する。例えば、顔シンボル描画プログラム2033は、user3のアバターが仮想空間1500内でuser2のアバターを見ている場合には、画面1510に表示されているuser3の顔シンボル3をuser2の顔シンボル2の方向に向けて表示させる。また、上述した仮想ディスプレイ1501を見ているユーザ1や個人用の仮想ディスプレイ1502に表示された顔シンボルを見ているユーザ4については、顔シンボル描画プログラム2033は、それぞれ実施例1の手法を用いて、画面1510に表示されているコンテンツのなかで、着目している位置を見るように顔シンボルの向きを反映させる。
以上、各実施例について説明したが、実施例1に示したコミュニケーション支援システムでは、図7、図9のS905、S908、図10A-10C等を用いて説明したように、プロセッサとメモリとを有したコンピュータにより構成される情報端末2(あるいはサーバ1等)により、ユーザ同士のコミュニケーションを支援するコミュニケーション支援システム1000において、上記ユーザのそれぞれが操作する上記情報端末は、表示装置(ディスプレイ291)を有し、上記プロセッサは、各ユーザの上記情報端末の間で共有するドキュメントを再生して上記表示装置に出力するドキュメント描画処理(ドキュメント描画プログラム2032)を行い、撮像装置(カメラ292)から得られた上記ユーザを撮像した顔画像から上記ユーザの特徴点を算出し、算出した上記ユーザの特徴点に基づいて上記ユーザの顔シンボル(表情アイコン25)を生成して上記表示装置に出力する第1の顔シンボル描画処理(顔シンボル描画プログラム2033)と、上記顔画像から上記ユーザの視線方向を検出し、上記ユーザが上記表示装置における視線の向きを推定する第2の顔シンボル描画処理(顔シンボル描画プログラム2033)と、所定のエネルギーマップにより算出した上記ドキュメントの重要度と、推定された上記ユーザの視線の向きとに基づいて、生成された上記ユーザの顔シンボルの上記表示装置上における配置位置を決定するレイアウト配置処理(レイアウト配置プログラム2034)と、を行う。これにより、画面に表示されるドキュメント等の文書と顔画像シンボルの表示を伴う遠隔コミュニケーションにおいて、限られたディスプレイ空間上で、ドキュメントと顔情報とを画面上に効果的に表示することができ、共有ドキュメントの表示と顔情報の提示を省スペースで効率よく実現できる。
また、図9のS901、S908、図10A-10C等を用いて説明したように、上記プロセッサは、上記レイアウト配置処理において、上記所定のエネルギーマップが所定の条件(例えば、エネルギーマップの値が一定の閾値以上であること)を満たさない上記ドキュメント上の範囲を、上記重要度が低い範囲と判断し、当該重要度が低い範囲に上記ユーザの顔シンボルを配置する。これにより、ドキュメント上の重要な範囲を避けるように顔シンボルを配置することができる。
また、図9のS906、図10D等を用いて説明したように、上記プロセッサは、上記レイアウト配置処理において、上記表示装置に表示されるそれぞれのユーザの顔シンボルが、所定の分布(例えば、ガウス分布)に基づいて互いに一定間隔を隔てて配置されるように、上記エネルギーマップを設定する。これにより、表示されている顔シンボルが相互になるべく離れるような位置への配置が可能となる。
また、図9のS904、図11A、11B等を用いて説明したように、上記プロセッサは、上記レイアウト配置処理において、上記ユーザの視線の向きが、上記表示装置に表示されている上記顔シンボルを追跡しているか否かを判定することにより、上記ユーザが上記ドキュメントを視聴しているのか、上記顔シンボルに視線を送っているのかを確認する。これにより、顔シンボルに対するアイコンタクトの精度を向上させることができる。
また、実施例2、図13A、13B等を用いて説明したように、上記プロセッサは、上記レイアウト配置処理において、上記ドキュメントの周辺を当該ドキュメントよりも低いエネルギー領域とした上記所定のエネルギーマップを生成し、生成した上記所定のエネルギーマップの上記低いエネルギー領域(例えば、ドキュメントの印字領域の外側の非印字領域)で上記顔シンボルを移動させる。これにより、ドキュメント上に顔シンボルを表示する場合でも、当該ドキュメントの視認性を高めることができる。
本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化したり、上記実施の形態に開示されている複数の構成要素を適宜組み合わせて実施することができる。
1…サーバ
2…情報端末(PC)
3…発表ユーザ
4…第1のグループ
5…第2のグループ
6a~6c…視聴ユーザ
7…情報端末(パッド)
11…ユーザ1の顔シンボル
15…ユーザ5(発表ユーザ)の顔シンボル
22…カメラ撮影画像
23…特徴点抽出画像
24…表情再現モデル
25…表情再現アイコン
1101 …元ドキュメント
1102 …顕著度マップ
1103 …重要要素検出マップ
1104 …ユーザ指定マップ
1500 …3Dメタバース空間
1501 …メタバース内の共有仮想ディスプレイ
1502 …メタバース内の個人用仮想ディスプレイ
1503 …ユーザ0の3Dアバター
2…情報端末(PC)
3…発表ユーザ
4…第1のグループ
5…第2のグループ
6a~6c…視聴ユーザ
7…情報端末(パッド)
11…ユーザ1の顔シンボル
15…ユーザ5(発表ユーザ)の顔シンボル
22…カメラ撮影画像
23…特徴点抽出画像
24…表情再現モデル
25…表情再現アイコン
1101 …元ドキュメント
1102 …顕著度マップ
1103 …重要要素検出マップ
1104 …ユーザ指定マップ
1500 …3Dメタバース空間
1501 …メタバース内の共有仮想ディスプレイ
1502 …メタバース内の個人用仮想ディスプレイ
1503 …ユーザ0の3Dアバター
Claims (10)
- プロセッサとメモリとを有したコンピュータにより構成される情報端末により、ユーザ同士のコミュニケーションを支援するコミュニケーション支援システムであって、
前記ユーザのそれぞれが操作する前記情報端末は、
表示装置を有し、
前記プロセッサは、
各ユーザの前記情報端末の間で共有するドキュメントを再生して前記表示装置に出力するドキュメント描画処理を行い、
撮像装置から得られた前記ユーザを撮像した顔画像から前記ユーザの特徴点を算出し、算出した前記ユーザの特徴点に基づいて前記ユーザの顔シンボルを生成して前記表示装置に出力する第1の顔シンボル描画処理と、
前記顔画像から前記ユーザの視線方向を検出し、前記ユーザが前記表示装置における視線の向きを推定する第2の顔シンボル描画処理と、
所定のエネルギーマップにより算出した前記ドキュメントの重要度と、推定された前記ユーザの視線の向きとに基づいて、生成された前記ユーザの顔シンボルの前記表示装置上における配置位置を決定するレイアウト配置処理と、
を行うことを特徴とするコミュニケーション支援システム。 - 前記プロセッサは、
前記レイアウト配置処理において、前記所定のエネルギーマップが所定の条件を満たさない前記ドキュメント上の範囲を、前記重要度が低い範囲と判断し、当該重要度が低い範囲に前記ユーザの顔シンボルを配置する、
ことを特徴とする請求項1に記載のコミュニケーション支援システム。 - 前記プロセッサは、
前記レイアウト配置処理において、前記表示装置に表示されるそれぞれのユーザの顔シンボルが、所定の分布に基づいて互いに一定間隔を隔てて配置されるように、前記エネルギーマップを設定する、
ことを特徴とする請求項1に記載のコミュニケーション支援システム。 - 前記プロセッサは、
前記レイアウト配置処理において、前記ユーザの視線の向きが、前記表示装置に表示されている前記顔シンボルを追跡しているか否かを判定することにより、前記ユーザが前記ドキュメントを視聴しているのか、前記顔シンボルに視線を送っているのかを確認する、
ことを特徴とする請求項1に記載のコミュニケーション支援システム。 - 前記プロセッサは、
前記レイアウト配置処理において、前記ドキュメントの周辺を当該ドキュメントよりも低いエネルギー領域とした前記所定のエネルギーマップを生成し、生成した前記所定のエネルギーマップの前記低いエネルギー領域で前記顔シンボルを移動させる、
ことを特徴とする請求項1に記載のコミュニケーション支援システム。 - プロセッサとメモリとを有したコンピュータにより構成される情報端末により、ユーザ同士のコミュニケーションを支援するコミュニケーション支援システムで行われるコミュニケーション支援方法であって、
前記ユーザのそれぞれが操作する前記情報端末は、
各ユーザの前記情報端末の間で共有するドキュメントを再生して表示装置に出力し、
撮像装置から得られた前記ユーザを撮像した顔画像から前記ユーザの特徴点を算出し、算出した前記ユーザの特徴点に基づいて前記ユーザの顔シンボルを生成して前記表示装置に出力し、
前記顔画像から前記ユーザの視線方向を検出し、前記ユーザが前記表示装置における視線の向きを推定し、
所定のエネルギーマップにより算出した前記ドキュメントの重要度と、推定された前記ユーザの視線の向きとに基づいて、生成された前記ユーザの顔シンボルの前記表示装置上における配置位置を決定する、
ことを特徴とするコミュニケーション支援方法。 - 前記配置位置の決定において、前記所定のエネルギーマップが所定の条件を満たさない前記ドキュメント上の範囲を、前記重要度が低い範囲と判断し、当該重要度が低い範囲に前記ユーザの顔シンボルを配置する、
ことを特徴とする請求項6に記載のコミュニケーション支援方法。 - 前記配置位置の決定において、前記表示装置に表示されるそれぞれのユーザの顔シンボルが、所定の分布に基づいて互いに一定間隔を隔てて配置されるように、前記エネルギーマップを設定する、
ことを特徴とする請求項6に記載のコミュニケーション支援方法。 - 前記配置位置の決定において、前記ユーザの視線の向きが、前記表示装置に表示されている前記顔シンボルを追跡しているか否かを判定することにより、前記ユーザが前記ドキュメントを視聴しているのか、前記顔シンボルに視線を送っているのかを確認する、
ことを特徴とする請求項6に記載のコミュニケーション支援方法。 - 前記配置位置の決定において、前記ドキュメントの周辺を当該ドキュメントよりも低いエネルギー領域とした前記所定のエネルギーマップを生成し、生成した前記所定のエネルギーマップの前記低いエネルギー領域で前記顔シンボルを移動させる、
ことを特徴とする請求項6に記載のコミュニケーション支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022094027A JP2023180598A (ja) | 2022-06-09 | 2022-06-09 | コミュニケーション支援システム、およびコミュニケーション支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022094027A JP2023180598A (ja) | 2022-06-09 | 2022-06-09 | コミュニケーション支援システム、およびコミュニケーション支援方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023180598A true JP2023180598A (ja) | 2023-12-21 |
Family
ID=89307297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022094027A Pending JP2023180598A (ja) | 2022-06-09 | 2022-06-09 | コミュニケーション支援システム、およびコミュニケーション支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023180598A (ja) |
-
2022
- 2022-06-09 JP JP2022094027A patent/JP2023180598A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11882189B2 (en) | Color-sensitive virtual markings of objects | |
EP3370208B1 (en) | Virtual reality-based apparatus and method to generate a three dimensional (3d) human face model using image and depth data | |
JP7110502B2 (ja) | 深度を利用した映像背景減算法 | |
EP3769509B1 (en) | Multi-endpoint mixed-reality meetings | |
US11450051B2 (en) | Personalized avatar real-time motion capture | |
US11615592B2 (en) | Side-by-side character animation from realtime 3D body motion capture | |
US11748931B2 (en) | Body animation sharing and remixing | |
WO2019173108A1 (en) | Electronic messaging utilizing animatable 3d models | |
WO2021213067A1 (zh) | 物品显示方法、装置、设备及存储介质 | |
US11763481B2 (en) | Mirror-based augmented reality experience | |
US20190045270A1 (en) | Intelligent Chatting on Digital Communication Network | |
Koh et al. | Developing a hand gesture recognition system for mapping symbolic hand gestures to analogous emojis in computer-mediated communication | |
Peters et al. | Fundamentals of agent perception and attention modelling | |
JP2023180598A (ja) | コミュニケーション支援システム、およびコミュニケーション支援方法 | |
CN114758037A (zh) | 影像生成方法、装置、终端设备及存储介质 |