以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
[システムの概要]
実施形態に係るコンテンツ制御システムは、ユーザに向けて配信されるコンテンツを制御するコンピュータシステムである。コンテンツとは、コンピュータまたはコンピュータシステムによって提供され、人が認識可能な情報のことをいう。コンテンツを示す電子データのことをコンテンツデータという。コンテンツの表現形式は限定されず、例えば、コンテンツは画像(例えば、写真、映像など)、文書、音声、音楽、またはこれらの中の任意の2以上の要素の組合せによって表現されてもよい。コンテンツは様々な態様の情報伝達またはコミュニケーションのために用いることができ、例えば、ニュース、教育、医療、ゲーム、チャット、商取引、講演、セミナー、研修などの様々な場面または目的で利用され得る。コンテンツの制御とは、ユーザにコンテンツを提供するために実行される処理のことをいう。コンテンツの制御は、コンテンツデータの生成、編集、記憶、および配信の少なくとも一つを含んでもよいし、これら以外の処理を含んでもよい。
本実施形態ではコンテンツは少なくとも画像を用いて表現される。コンテンツを示す画像を「コンテンツ画像」という。コンテンツ画像とは、人が視覚を通して何らかの情報を認識することができる像のことをいう。コンテンツ画像は動画像(映像)でもよいし静止画でもよい。コンテンツ画像を示す電子データをコンテンツ画像データという。
コンテンツ制御システムはコンテンツ画像データを視聴者に提供することで、配信者から視聴者への情報伝達を支援する。配信者とは視聴者に情報を伝えようとする人であり、すなわち、コンテンツの発信者である。視聴者とはその情報を得ようとする人であり、すなわち、コンテンツの利用者である。一例では、配信者は視聴者にとって遠隔地に位置する。配信者は自らコンテンツを配信することができ、例えば、配信者はその配信のために、自身を含む領域を撮影する。コンテンツ制御システムは、配信者が映った画像のデータ(画像データ)を取得し、その画像データを解析することで配信者の動作を特定し、その動作を表現するアバターを含むコンテンツ画像データを生成する。本開示では、配信者の動作を特定するために解析される画像(すなわち、配信者が映った画像)のことを「原画像」といい、この原画像を示す電子データを原画像データという。原画像はコンテンツを生成するための素材であるといえる。
一例では、アバターは配信者に代わってコンテンツ画像内に映されてもよく、この場合には、コンテンツ画像を見る視聴者は配信者ではなくアバターを視認する。別の例では、アバターは配信者と共にコンテンツ画像内に映されてもよい。視聴者はコンテンツ画像を見ることで、拡張現実(Augumented Reality(AR))、仮想現実(Virtual Reality(VR))、または複合現実(Mixed Reality(MR))を体験することができる。本実施形態では、コンテンツ制御システムは視聴者の要求に応じて、または自動的に、コンテンツの表示モードを切り替えることができる。表示モードとは、コンテンツを表示する方法または形式のことをいう。
コンテンツ制御システムは画像データを解析することで配信者の動作を特定するので、配信者はボディストラップ、グローブなどのような、モーションキャプチャのための装置を装着する必要がない。
アバターとは、コンピュータによって表現されるユーザの分身である。アバターは、現実世界には実際に存在せずコンピュータシステム上でのみ表現される物体である仮想オブジェクトの一種である。アバターは、撮影された人そのものではなく(すなわち、原画像で示されるユーザそのものではなく)、原画像とは独立した画像素材を用いて、2次元または3次元のコンピュータグラフィック(CG)によって表現される。アバターの表現方法は限定されない。例えば、アバターはアニメーション素材を用いて表現されてもよいし、実写画像に基づいて本物に近いように表現されてもよい。アバターはコンテンツ制御システムのユーザ(例えば、教師または生徒)によって自由に選択されてもよい。
一例では、コンテンツ画像はアバターが存在する仮想空間を表現する。仮想空間とは、コンピュータ上に表示される画像によって表現される仮想の2次元または3次元の空間のことをいう。見方を変えると、コンテンツ画像は、仮想空間内に設定された仮想カメラから見える風景を示す画像であるといえる。仮想カメラは、コンテンツ画像を見るユーザの視線に対応するように仮想空間内に設定される。
一例では、コンテンツ制御システムはコンテンツを視聴者に向けて配信してもよい。配信とは、通信ネットワークまたは放送ネットワークを経由して情報をユーザに向けて送信する処理のことをいう。本開示では、配信は放送を含み得る概念である。本開示では、コンテンツを配信する機能を備えるコンテンツ制御システムをコンテンツ配信システムともいう。
コンテンツ制御システムによるコンテンツの生成および配信の手法は限定されない。例えば、コンテンツ制御システムはライブコンテンツを制御してもよい。この場合には、コンテンツ制御システムは配信者端末から提供されるリアルタイムの映像を処理することでコンテンツデータを生成し、そのコンテンツデータを視聴者端末に向けてリアルタイムに送信する。これはインターネット生放送の一態様であるといえる。あるいは、コンテンツ制御システムは、過去に撮影された映像を処理することでコンテンツデータを生成してもよい。このコンテンツデータは視聴者端末に向けて送信されてもよいし、データベースなどの記憶装置にいったん格納されてもよい。コンテンツ制御システムは、リアルタイム配信後の所与の期間においてコンテンツを視聴することが可能なタイムシフトのために用いられてもよい。あるいは、コンテンツ制御システムは、任意のタイミングでコンテンツを視聴することが可能なオンデマンド配信のために用いられてもよい。上述したように、コンテンツ画像は静止画でもよいので、コンテンツ制御システム(コンテンツ配信システム)は静止画のコンテンツをリアルタイムにまたは後で配信するために用いられてもよい。
本開示において、データまたは情報を或るコンピュータ“に向けて送信する”との表現は、該コンピュータに最終的にデータまたは情報を届けるための送信を意味する。この表現は、その送信において別のコンピュータまたは通信装置がデータまたは情報を中継する場合も含む意味であることに留意されたい。
上述したようにコンテンツの目的および利用場面は限定されない。本実施形態では、コンテンツの例として教育用コンテンツを示し、コンテンツ制御システムが教育用コンテンツデータを制御するものとする。教育用コンテンツとは、教師が生徒に向けて授業を行うために用いられるコンテンツである。教師とは学業、技芸などを教える人のことをいい、生徒とはその教えを受ける人のことをいう。教師は配信者の一例であり、生徒は視聴者の一例である。教師は教員免許を持つ人であってもよいし、教員免許を持たない人でもよい。授業とは、教師が生徒に学業、技芸などを教えることをいう。教師および生徒のそれぞれについて年齢および所属は限定されず、したがって、教育用コンテンツの目的および利用場面も限定されない。例えば、教育用コンテンツは、保育園、幼稚園、小学校、中学校、高等学校、大学、大学院、専門学校、予備校、オンライン学校などの各種の学校で用いられてよいし、学校以外の場所または場面で用いられてもよい。これに関連して、教育用コンテンツは、幼児教育、義務教育、高等教育、生涯学習などの様々な目的で用いられ得る。
[システムの構成]
図1は、実施形態に係るコンテンツ配信システム(コンテンツ制御システム)1の適用の一例を示す図である。本実施形態では、コンテンツ配信システム1はサーバ10を備える。サーバ10は、コンテンツ画像データを生成および配信するコンピュータである。サーバ10は通信ネットワークNを介して少なくとも一つの生徒端末20と接続する。図1は2台の生徒端末20を示すが、生徒端末20の台数は何ら限定されない。さらに、サーバ10は通信ネットワークNを介して、教師端末30、原画像データベース40、およびコンテンツデータベース50のうちの少なくとも一つと接続してもよい。通信ネットワークNの構成は限定されない。例えば、通信ネットワークNはインターネットを含んで構成されてもよいし、イントラネットを含んで構成されてもよい。
生徒端末20は生徒によって用いられるコンピュータであり、視聴者端末(視聴者によって用いられるコンピュータ)の一例である。生徒端末20は、コンテンツ配信システム1にアクセスしてコンテンツデータを受信および表示する機能を有する。生徒端末20は映像を撮影および送信する機能を有してもよい。生徒端末20の種類および構成は限定されない。例えば、生徒端末20は高機能携帯電話機(スマートフォン)、タブレット端末、ウェアラブル端末(例えば、ヘッドマウントディスプレイ(HMD)、スマートグラスなど)、ラップトップ型パーソナルコンピュータ、携帯電話機などの携帯端末でもよい。あるいは、生徒端末20はデスクトップ型パーソナルコンピュータなどの据置型端末でもよい。あるいは、生徒端末20は、部屋に設置された大型スクリーンを備える教室システムであってもよい。
教師端末30は教師によって用いられるコンピュータであり、配信者端末(配信者によって用いられるコンピュータ)の一例である。一例では、教師端末30は生徒端末20にとって遠隔地に位置する。教師端末30は、映像を撮影する機能と、コンテンツ配信システム1にアクセスしてその映像を示す電子データ(映像データ)を送信する機能とを有する。教師端末30は映像またはコンテンツを受信および表示する機能を有してもよい。教師端末30の種類および構成は限定されない。例えば、教師端末30は映像を撮影、収録、および送信する機能を有する撮影システムであってもよい。あるいは、教師端末30は高機能携帯電話機(スマートフォン)、タブレット端末、ウェアラブル端末(例えば、ヘッドマウントディスプレイ(HMD)、スマートグラスなど)、ラップトップ型パーソナルコンピュータ、携帯電話機などの携帯端末でもよい。あるいは、教師端末30はデスクトップ型パーソナルコンピュータなどの据置型端末でもよい。
教室の管理者または生徒は生徒端末20を操作してコンテンツ配信システム1にログインし、これにより生徒は教育用コンテンツを視聴することができる。教師は教師端末30を操作してコンテンツ配信システム1にログインし、これにより自分の授業を生徒に提供することが可能になる。本実施形態では、コンテンツ配信システム1のユーザが既にログインしていることを前提とする。
原画像データベース40は原画像データを記憶する装置である。原画像データは映像または静止画を示す。原画像データは、サーバ10、教師端末30、または別のコンピュータなどの任意のコンピュータによって原画像データベース40に格納される。原画像データベース40は過去に撮影された原画像を記憶するライブラリであるといえる。
コンテンツデータベース50は教育用コンテンツデータを記憶する装置である。教育用コンテンツデータは映像または静止画を示す。コンテンツデータベース50は教育用コンテンツのライブラリであるといえる。
原画像データベース40およびコンテンツデータベース50のそれぞれの設置場所は限定されない。例えば、原画像データベース40またはコンテンツデータベース50は、コンテンツ配信システム1とは別のコンピュータシステム内に設けられてもよいし、コンテンツ配信システム1の構成要素であってもよい。一つのデータベースが原画像データベース40およびコンテンツデータベース50の双方として機能してもよい。
図2はコンテンツ配信システム1に関連するハードウェア構成の一例を示す図である。図2は、サーバ10として機能するサーバコンピュータ100と、生徒端末20または教師端末30として機能する端末コンピュータ200とを示す。
一例として、サーバコンピュータ100はハードウェア構成要素として、プロセッサ101、主記憶部102、補助記憶部103、および通信部104を備える。
プロセッサ101は、オペレーティングシステムおよびアプリケーションプログラムを実行する演算装置である。プロセッサの例としてCPU(Central Processing Unit)およびGPU(Graphics Processing Unit)が挙げられるが、プロセッサ101の種類はこれらに限定されない。例えば、プロセッサ101はセンサおよび専用回路の組合せでもよい。専用回路はFPGA(Field−Programmable Gate Array)のようなプログラム可能な回路でもよいし、他の種類の回路でもよい。
主記憶部102は、サーバ10を実現するためのプログラム、プロセッサ101から出力された演算結果などを記憶する装置である。主記憶部102は例えばROM(Read Only Memory)およびRAM(Random Access Memory)のうちの少なくとも一つにより構成される。
補助記憶部103は、一般に主記憶部102よりも大量のデータを記憶することが可能な装置である。補助記憶部103は例えばハードディスク、フラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部103は、サーバコンピュータ100をサーバ10として機能させるためのサーバプログラムP1と各種のデータとを記憶する。例えば、補助記憶部103はアバターなどの仮想オブジェクトと仮想空間とのうちの少なくとも一つに関するデータを記憶してもよい。本実施形態では、コンテンツ制御プログラムはサーバプログラムP1として実装される。
通信部104は、通信ネットワークNを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部104は例えばネットワークカードまたは無線通信モジュールにより構成される。
サーバ10の各機能要素は、プロセッサ101または主記憶部102の上にサーバプログラムP1を読み込ませてプロセッサ101にそのプログラムを実行させることで実現される。サーバプログラムP1は、サーバ10の各機能要素を実現するためのコードを含む。プロセッサ101はサーバプログラムP1に従って通信部104を動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを実行する。このような処理によりサーバ10の各機能要素が実現される。
サーバ10は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで、論理的に一つのサーバ10が構成される。
一例として、端末コンピュータ200はハードウェア構成要素として、プロセッサ201、主記憶部202、補助記憶部203、および通信部204、入力インタフェース205、出力インタフェース206、および撮像部207を備える。
プロセッサ201は、オペレーティングシステムおよびアプリケーションプログラムを実行する演算装置である。プロセッサ201は例えばCPUまたはGPUであり得るが、プロセッサ201の種類はこれらに限定されない。
主記憶部202は、生徒端末20または教師端末30を実現させるためのプログラム、プロセッサ201から出力された演算結果などを記憶する装置である。主記憶部202は例えばROMおよびRAMのうちの少なくとも一つにより構成される。
補助記憶部203は、一般に主記憶部202よりも大量のデータを記憶することが可能な装置である。補助記憶部203は例えばハードディスク、フラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部203は、端末コンピュータ200を生徒端末20または教師端末30として機能させるためのクライアントプログラムP2と各種のデータとを記憶する。例えば、補助記憶部203はアバターなどの仮想オブジェクトと仮想空間とのうちの少なくとも一つに関するデータを記憶してもよい。
通信部204は、通信ネットワークNを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部204は例えばネットワークカードまたは無線通信モジュールにより構成される。
入力インタフェース205は、ユーザの操作または動作に基づいてデータを受け付ける装置である。例えば、入力インタフェース205は、キーボード、操作ボタン、ポインティングデバイス、マイクロフォン、センサ、およびカメラのうちの少なくとも一つによって構成される。キーボードおよび操作ボタンはタッチパネル上に表示されてもよい。入力インタフェース205の種類が限定されないことに対応して、入力されるデータは限定されない。例えば、入力インタフェース205はキーボード、操作ボタン、またはポインティングデバイスによって入力または選択されたデータを受け付けてもよい。あるいは、入力インタフェース205は、マイクロフォンにより入力された音声データを受け付けてもよい。あるいは、入力インタフェース205はカメラによって撮影された画像データ(例えば、映像データまたは静止画データ)を受け付けてもよい。
出力インタフェース206は、端末コンピュータ200で処理されたデータを出力する装置である。例えば、出力インタフェース206はモニタ、タッチパネル、HMDおよびスピーカのうちの少なくとも一つによって構成される。モニタ、タッチパネル、HMDなどの表示装置は、処理されたデータを画面上に表示する。スピーカは、処理された音声データで示される音声を出力する。
撮像部207は、現実世界を写した画像を撮影する装置であり、具体的にはカメラである。撮像部207は動画像(映像)を撮影してもよいし静止画(写真)を撮影してもよい。動画像を撮影する場合には、撮像部207は映像信号を所与のフレームレートに基づいて処理することで、時系列に並ぶ一連のフレーム画像を動画像として取得する。撮像部207は入力インタフェース205としても機能し得る。
生徒端末20または教師端末30の各機能要素は、プロセッサ201または主記憶部202の上にクライアントプログラムP2を読み込ませてそのプログラムを実行させることで実現される。クライアントプログラムP2は、生徒端末20または教師端末30の各機能要素を実現するためのコードを含む。プロセッサ201はクライアントプログラムP2に従って通信部204、入力インタフェース205、出力インタフェース206、または撮像部207を動作させ、主記憶部202または補助記憶部203におけるデータの読み出しおよび書き込みを行う。この処理により生徒端末20または教師端末30の各機能要素が実現される。
サーバプログラムP1およびクライアントプログラムP2の少なくとも一つは、CD−ROM、DVD−ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、これらのプログラムの少なくとも一つは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。これらのプログラムは別々に提供されてもよいし、一緒に提供されてもよい。
図3は教師端末30の利用場面の一例を示す図である。この例では、教師端末30はプロセッサ201、主記憶部202、補助記憶部203、通信部204などを収容するコンピュータ本体210と、入力インタフェース205として機能する撮像部207およびマイクロフォン211と、出力インタフェース206として機能するモニタ212とを備える。教師90は必要に応じてボード(例えば、ホワイトボード、黒板、電子ホワイトボード、電子黒板など)91上に文字、図形などを書くかまたは表示させながら授業を行う。撮像部207はその授業の場面を撮影することで原画像を得る。教師90の音声(発話)はマイクロフォン211によって記録される。教師端末30は撮影された映像にその音声が関連付けられた映像データを取得することができる。教師90はモニタ212上に映された画像(例えば、後述の補助画像)を見ながら授業を行ってもよい。
図4はコンテンツ配信システム1に関連する機能構成の一例を示す図である。サーバ10は機能要素としてコンテンツ管理部11、画像取得部12、モーション特定部13、コンテンツ生成部14、出力部15、および補助画像生成部16を備える。コンテンツ管理部11は教育用コンテンツの生成および出力を管理する機能要素であり、画像取得部12、モーション特定部13、コンテンツ生成部14、および出力部15を含んで構成される。画像取得部12は原画像データを取得する機能要素である。モーション特定部13はその原画像データから教師の動作を特定する機能要素である。コンテンツ生成部14は、教師に対応するアバターを含む教育用コンテンツデータを生成する機能要素である。出力部15は、その教育用コンテンツデータを出力する機能要素である。補助画像生成部16は、生徒の様子を示す補助画像の電子データである補助画像データを生成してその補助画像データを教師端末30上に向けて送信する機能要素である。補助画像は動画像(映像)でもよいし静止画でもよい。補助画像によって教師は授業中の生徒の様子を視認することができる。
生徒端末20は機能要素として要求部21、受信部22、表示制御部23、および送信部24を備える。要求部21は、教育用コンテンツの表示モードの切り替えをサーバ10に要求する機能要素である。受信部22は教育用コンテンツデータを受信する機能要素である。表示制御部23はその教育用コンテンツデータを処理して教育用コンテンツを表示装置上に表示する機能要素である。送信部24は撮像部207によって生成された画像データをサーバ10に向けて送信する機能要素である。
教師端末30は機能要素として送信部31、受信部32、および表示制御部33を備える。送信部31は撮像部207によって生成された画像データをサーバ10に向けて送信する機能要素である。受信部32は補助画像データを受信する機能要素である。表示制御部33はその補助画像データを処理して補助画像を表示装置上に表示する機能要素である。
[システムの動作]
コンテンツ配信システム1の動作(より具体的にはサーバ10の動作)を説明するとともに、本実施形態に係るコンテンツ制御方法(またはコンテンツ配信方法)について説明する。以下では画像処理に関して特に説明し、音声データの処理に関しては詳細な説明を省略する。
図5は、教育用コンテンツの表示モードの選択の一例を処理フローS1として示すフローチャートである。ステップS11では、コンテンツ管理部11が次の表示モード(すなわち、切替後の表示モード)を特定する。表示モードの切替方法は限定されず、これに関連して、コンテンツ管理部11は次の表示モードを任意の手法で特定してよい。例えば、表示モードは生徒端末20での操作に応答して切り替えられてもよい。この場合には、生徒は教育用コンテンツの表示モードを切り替えるための操作を生徒端末20上で行う。生徒端末20では要求部21がその操作に応答して切替要求をサーバ10に向けて送信する。切替要求は、表示モードの切替を要求するデータ信号であり、次の表示モードを示す。コンテンツ管理部11はその切替要求を受信して次の表示モードを特定する。あるいは、表示モードはユーザからの要求を受け付けることなく自動的に切り替えられてもよい。例えば、コンテンツ管理部11は、教育用コンテンツを制御するために予め設定されたシナリオを参照することで次の表示モードを特定してもよい。
ステップS12に示すように、次の表示モードが何かによって後続の処理が変わる。表示モードの個数および具体的な形式は限定されず、任意の方針で設定されてよい。本実施形態では一例として、コンテンツ配信システム1が実写モード、複合モード、および仮想モードという3種類の表示モードを提供可能であるとする。実写モードは、実写画像である原画像をそのまま表示する表現形式であり、したがって、この場合には教育用コンテンツはアバターを含まない。複合モードは、教師およびアバターの双方が視認可能である画像を表示する表現形式であり、この場合にはアバターが教師とは異なる位置に表示される。「教師およびアバターの双方が視認可能である」とは、教育用コンテンツを見た人が、教師およびアバターの双方の姿を視覚的に明確に認識することができることをいう。仮想モードは、教師は視認不可だがアバターは視認可能である画像を表示する表現形式である。「教師は視認不可だがアバターは視認可能である」とは、教育用コンテンツを見た人が、教師の姿を視覚的に明確にまたは全く認識することはできないが、アバターの姿は視覚的に明確に認識できることをいう。
実写モードが指定された場合には処理はステップS13に進む。ステップS13では、コンテンツ管理部11が原画像データをそのまま教育用コンテンツデータとして出力する。具体的には、画像取得部12が原画像データを取得し、出力部15がその原画像データを教育用コンテンツデータとして出力する。原画像データの取得方法は限定されない。例えば、画像取得部12は教師端末30から送られてきた画像データを原画像データとして受信してもよい。あるいは、画像取得部12は生徒端末20からの要求信号に応答して、その要求信号に対応する画像(例えば、生徒が希望する授業の映像の少なくとも一部)を原画像データベース40から原画像データとして読み出してもよい。教育用コンテンツデータの出力方法も限定されない。例えば、出力部15は教育用コンテンツデータを、1以上の生徒端末20に向けて送信してもよいし、コンテンツデータベース50に格納してもよい。あるいは、出力部15は教育用コンテンツデータを、生徒端末20に向けて送信するとともにコンテンツデータベース50に格納してもよい。
複合モードが指定された場合には処理はステップS14に進む。ステップS14では、コンテンツ管理部11が、教師およびアバターの双方が視認可能である教育用コンテンツデータを出力する。
仮想モードが指定された場合には処理はステップS15に進む。ステップS15では、コンテンツ管理部11が、教師は視認不可だがアバターは視認可能である教育用コンテンツデータを出力する。
図6を参照しながらステップS14,S15の詳細を説明する。図6は、複合モードおよび仮想モードでの教育コンテンツデータの出力の一例を示すフローチャートである。複合モードと仮想モードとの相違点はアバターの配置方法であり、双方の処理で共通する部分が多いので、図6を参照しながら複合モードおよび仮想モードの双方について説明する。
ステップS101では、画像取得部12が原画像データを取得する。ステップS13と同様に、原画像データの取得方法は限定されない。したがって、画像取得部12は原画像データを、教師端末30から受信してもよいし、原画像データベース40から読み出してもよい。
ステップS102では、モーション特定部13がその原画像データに基づいて教師の動作を特定する。人の動作とは、人の姿勢、表情、または身体の動きのことをいい、口の動きを伴う発声も含み得る。一例では、モーション特定部13は教師が表示されている領域を原画像から特定し、該領域における教師の2次元の動き(例えば、姿勢、表情)を特定し、その動きに対応する複数のジョイントの位置を特定し、それぞれのジョイントの深度を推定する。姿勢を規定するジョイントは教師の身体の部位に対応する。例えば、モーション特定部13は、関節と顔の主要な部位(眉毛、目、顎など)とにジョイントを設定してもよいし、これらとは別の箇所にジョイントを設定してもよい。
モーション特定部13は隣り合うジョイントの位置関係と、身体運動の合理性および整合性に基づいて予め定められたルール(動作ルール)とに基づいて、カメラのレンズ中心に対するそれぞれのボーン(隣り合うジョイントを結ぶ仮想線)の向きおよび角度を推定する。モーション特定部13はこの推定によって教師の3次元の動作を特定することができる。身体運動の合理性および整合性とは、人間の可能な動きのことをいう。例えば、その合理性および整合性は、肘および膝は或る一方向には曲がるがその逆方向には曲がらないという制約、首に対する頭の動きの範囲、肩に対する上腕の動きの範囲、指の可動範囲などを含み得る。教師の動作を特定する手法は上記のものに限定されず、モーション特定部13は他の手法によって教師の動作を特定してもよい。
ステップS103で示すように、モーション特定部13は原画像データに基づいて、教師(配信者)の動作に関連する現実オブジェクト(これを「関連現実オブジェクト」という)の状態を特定してもよい。現実オブジェクトとは、人が知覚可能なもののことをいい、例えば、物、人、音声などの様々なオブジェクトを含み得る。例えば、現実オブジェクトとは、原画像により映された物体、または、原画像に関連付けられた音声であり得る。教師も現実オブジェクトの一例であるといえる。現実オブジェクトの状態とは、人の知覚によって把握可能な現実オブジェクトの様子のことをいい、その状態は例えば、現実オブジェクトの形状、位置、動き(動作)、音、および声のうちの少なくとも一つを含んでもよい。ステップS103は省略されてもよい。関連現実オブジェクトとは、配信者の動作に関連して変化し、動作し、出現し、または消える現実オブジェクトのことをいう。ただし、本開示では関連現実オブジェクトは配信者(教師)を含まないものとする。関連現実オブジェクトの種類は限定されない。教師に対応する関連現実オブジェクトの例として、教師が手に取ったり机に置いたりする教科書と、教師による記述(例えば、教師がボード上に書いたりまたは消したりする文字、文字列、記号、または絵)と、教師の発話とのうちの少なくとも一つが挙げられる。モーション特定部13は一または複数の関連現実オブジェクトを任意の画像解析手法によって特定してよい。
ステップS104では、モーション特定部13がローデータを生成する。ローデータとは、特定された教師(配信者)の動作を少なくとも示す電子データのことをいい、ステップS103が実行された場合には一または複数の関連現実オブジェクトの状態をさらに示す。本実施形態では、教師(配信者)の動作を示すデータを特にモーションデータともいう。ローデータはモーションデータを含む。ローデータおよびモーションデータのいずれについてもデータ構造は限定されず、任意に設計されてよい。例えば、モーション特定部13は、教師の3次元の動き(例えば、姿勢、表情)を示す複数のジョイントおよび複数のボーンに関する情報と教師の識別子(ID)とをモーションデータに含めてもよい。ジョイントおよびボーンに関する情報の例として、個々のジョイントの3次元座標、隣り合うジョイントの組合せ(すなわちボーン)とが挙げられるが、この情報の構成はこれに限定されず、任意に設計されてよい。モーション特定部13は教師の発話および記述の少なくとも一方をテキストに変換してそのテキストをローデータまたはモーションデータに含めてもよい。関連現実オブジェクトを示す情報の構成も限定されず、例えばモーション特定部13はそれぞれの関連現実オブジェクトについて、識別子(ID)と状態(例えば形状、位置、文字列など)を示す情報とをローデータに含めてもよい。
ステップS105では、コンテンツ生成部14が、教師に対応するアバターのモデルデータを取得する。モデルデータの取得方法は限定されない。例えば、コンテンツ生成部14は予め設定されたアバター、あるいはコンテンツ配信システム1のユーザ(例えば教師または生徒)によって指定されたアバターのモデルデータを補助記憶部103から読み出してもよい。
モデルデータとは、仮想オブジェクトの仕様を規定するために用いられる電子データのことをいう。仮想オブジェクトの仕様とは、仮想オブジェクトを制御するための取り決めまたは方法のことをいう。例えば、仕様は仮想オブジェクトの構成(例えば形状および寸法)、動作、および音声のうちの少なくとも一つを含む。アバターのモデルデータのデータ構造は限定されず、任意に設計されてよい。例えば、モデルデータはアバターを構成する複数のジョイントおよび複数のボーンに関する情報と、アバターの外観デザインを示すグラフィックデータと、アバターの属性と、アバターの識別子(ID)とを含んでもよい。ジョイントおよびボーンに関する情報の例として、個々のジョイントの3次元座標と、隣り合うジョイントの組合せ(すなわちボーン)とが挙げられるが、この情報の構成はこれに限定されず、任意に設計されてよい。アバターの属性とは、アバターを特徴付けるために設定される任意の情報であり、例えば公称寸法、声質、または性格を含み得る。
ステップS106で示すように、コンテンツ生成部14は一または複数の関連現実オブジェクトのそれぞれに対応する仮想オブジェクト(これを「関連仮想オブジェクト」という)のモデルデータを取得してもよい。ステップS103が実行されない場合にはステップS106も省略される。関連仮想オブジェクトは任意の物体を表現してよい。例えば、関連仮想オブジェクトは、現実世界には存在しない物体(例えば、架空のキャラクタ)を表現してもよいし、現実世界に存在する自然物または人工物などを模したものを表現してもよい。あるいは、関連仮想オブジェクトは関連現実オブジェクトに視覚効果を与えるための表現であってもよい。例えば、関連オブジェクトは、教師が用いる教科書に対応する本またはキャラクタでもよいし、教師がボード上に書いた文字列を装飾するためのグラフィック表現でもよいし、教師の発話のテキストに関するグラフィック表現でもよい。関連仮想オブジェクトのモデルデータのデータ構造は限定されず、意図する表現に応じて任意に設計されてよい。例えば、関連仮想オブジェクトがキャラクタであれば、そのモデルデータはアバターのものと同様のデータ構造を有してもよい。あるいは、関連仮想オブジェクトのモデルデータは、外観デザインを示すグラフィックデータのみを含んでもよい。
ステップS107では、コンテンツ生成部14が、アバターを含む教育用コンテンツデータを生成する。ステップS103,S106が実行された場合には、コンテンツ生成部14はアバターに加えて一または複数の関連仮想オブジェクトをさらに含む教育用コンテンツデータを生成し得る。
一例では、コンテンツ生成部14は原画像データに基づいて仮想空間を設定する。仮想空間の設定は、仮想空間内での仮想カメラの位置を特定する処理と、原画像に映っている1以上の現実オブジェクトのそれぞれの位置および寸法を特定する処理とを含み得る。コンテンツ生成部14は仮想カメラの光軸方向における各現実オブジェクトの位置、または現実オブジェクト間の位置関係を算出し、この計算結果に基づいて仮想空間を設定してもよい。あるいは、コンテンツ生成部14は原画像を機械学習などの手法により解析することで仮想空間を設定してもよい。一例では、原画像で示される場面は2次元のスクリーンのように仮想空間内に設定されてもよい。
仮想空間を設定した後に、コンテンツ生成部14は表示モードに応じてアバターおよび教師に関する制御を実行する。コンテンツ生成部14はその仮想空間内にアバターを配置し、一または複数の関連仮想オブジェクトが存在する場合にはそれぞれの関連仮想オブジェクトをさらに配置する。「(アバター、関連仮想オブジェクトなどの)オブジェクトを配置する」とは、オブジェクトを決められた位置に置くことをいい、オブジェクトの位置の変更を含む概念である。
次の表示モードが複合モードである場合には、コンテンツ生成部14はアバターおよび教師の双方が視認可能である教育用コンテンツデータを生成する。具体的には、コンテンツ生成部14はアバターを教師とは異なる位置に配置することで、アバターおよび教師の双方を視認可能にする。「アバターを教師とは異なる位置に配置する」とは、教育コンテンツが表示された際にそのコンテンツ画像においてアバターおよび教師の双方が視認可能になるように配置することをいう。コンテンツ生成部14はコンテンツ画像上でアバターが教師と重ならないようにアバターを配置してもよい。あるいは、コンテンツ生成部14は、コンテンツ画像上でアバターが教師の一部と重なるが生徒が教師を視認できるようにアバターを配置してもよい。
一例では、コンテンツ生成部14は仮想カメラからアバターおよび教師の双方を写すことができるように、仮想空間においてアバターを教師とは異なる位置に配置してもよい。
別の例では、コンテンツ生成部14はアバターが映るウィンドウ(アバターウィンドウまたは第1ウィンドウ)と教師が映るウィンドウ(教師ウィンドウまたは第2ウィンドウ)とを含む画面を生成することで、アバターを教師とは異なる位置に配置してもよい。例えば、コンテンツ生成部14は、アバターを含む仮想空間を示すアバターウィンドウと、教師が映った実世界を示す教師ウィンドウとに画面を分割してもよい。
コンテンツ生成部14はアバターウィンドウを、実写画像領域と仮想オブジェクトとの組合せによって表現してもよいし、実写画像領域を用いることなく仮想オブジェクトおよび仮想背景によって表現してもよい。コンテンツ生成部14は原画像をそのまま教師ウィンドウとして設定してもよい。コンテンツ生成部14はアバターウィンドウの面積が教師ウィンドウの面積よりも大きくなるように双方のウィンドウを設定してもよい。あるいは、コンテンツ生成部14は、原画像(教師ウィンドウ)を仮想空間内に背景の一部として配置することで、アバターを教師とは異なる位置に配置してもよい。この場合には、原画像(教師ウィンドウ)が仮想空間内の一オブジェクトとして配置されるので、アバターと、教師が映った原画像(教師ウィンドウ)との位置関係を3次元的に規定することができる。例えば、コンテンツ生成部14は仮想空間において原画像(教師ウィンドウ)をアバターよりも奥に位置させてもよい。コンテンツ生成部14は教師ウィンドウの面積がアバターウィンドウの面積よりも大きくなるように双方のウィンドウを設定してもよい。
コンテンツ生成部14は画面分割のために任意の技術を用いてよく、例えば、ピクチャ・イン・ピクチャ(Picture−in−Picture(PinP))によって画面分割を実行してもよい。
アバターウィンドウおよび教師ウィンドウを用いる場合には、コンテンツ生成部14はアバターまたはウィンドウの表示に関する視覚効果を教育用コンテンツデータに含めてもよい。例えば、コンテンツ生成部14はアバターウィンドウが教師ウィンドウから飛び出てくるような視覚効果を教育用コンテンツデータに含めてもよい。あるいは、コンテンツ生成部14はアバターが教師ウィンドウ、または教師の身体から飛び出てくるような視覚効果を教育用コンテンツデータに含めてもよい。
コンテンツ生成部14は、教師とは異なる位置に配置したアバターの各ジョイントの位置をローデータ(より具体的にはモーションデータ)に基づいて設定することで、教師に対応するアバターの仕様を決定する。「教師に対応するアバターの仕様」とは、アバターの仕様が教師の動作に従うかまたはほぼ従うことをいう。決定されるアバターの仕様の決定はアバターの動作を含んでもよく、この場合には、動作のミラーリングが実現される。教師の動作と合わせるようにアバターの各ジョイントの位置を設定することで、アバターの個々のボーンの向きおよび角度が教師の姿勢を反映する。コンテンツ生成部14はアバターの寸法が教師の大きさと同じかまたはほぼ同じになるようにアバターの各ジョイントの位置を調整してもよい。アバターの寸法を教師の大きさと同じにすることで、アバターが教師の分身であることを視覚的にさらに強調することができる。コンテンツ生成部14はアバターの寸法を教師と異ならせてもよい。
次の表示モードが仮想モードである場合には、コンテンツ生成部14は、アバターは視認可能であるが教師は視認不可である教育用コンテンツデータを生成する。一例では、コンテンツ生成部14はアバターを教師に重畳するように配置してもよい。この配置処理は、教育用コンテンツが表示装置上に表示された際に教師がアバターによって隠れるようにアバターを配置することをいう。より具体的に言い換えると、「アバターを教師に重畳するように配置する」とは、アバターを、原画像で示される場面内の教師に重畳するように配置することをいう。「教師がアバターによって隠れる」とは、教師の身体がアバターによって完全に隠れる場合だけでなく、教師の身体の一部は隠れないがほとんどがアバターによって隠れる場合も含む概念を意味することに留意されたい。例えば、教師とアバターとの間の体格差などの要因によって、教育用コンテンツ上で教師の身体がアバターからはみ出るように映ることがあり得るが、アバターを教師に重畳させる処理はこのような場合も含み得る。いずれにしても、アバターを教師に重畳させることで、生徒はコンテンツ画像上で教師を視認できなくなる。
コンテンツ生成部14は、2次元画像においてアバターが教師に代わって表示されるように、仮想空間内にアバターを配置する。コンテンツ生成部14はローデータ(より具体的にはモーションデータ)に基づいて、アバターの各ジョイントの位置を教師の対応する部位(例えば関節)に合わせることで、教師に対応するアバターの仕様を決定する。アバターのジョイントの位置を教師の関節に合わせることによって、アバターの個々のボーンの向きおよび角度が教師の姿勢を反映し、アバターの寸法が教師の大きさと同じかまたはほぼ同じになるように調整される。
仮想モードにおいて、コンテンツ生成部14はアバターを教師とは異なる位置に配置し、複合モードと同様にアバターの動作および寸法を設定した上で、不鮮明化処理によって画像上の教師を視認不可にしてもよい。不鮮明化処理とは、オブジェクト(この例では教師)の存在は認識できるが該オブジェクトの姿は視覚的に明確に認識できないように、オブジェクトの個々の部位の輪郭を不明確にする処理のことをいう。不鮮明化処理の例としてモザイク処理、ぼかし処理、およびフォグ処理が挙げられるが、他の技術が用いられてもよい。あるいは、コンテンツ生成部14は、画像上から教師を消去し、その教師の部分(すなわち、教師によって隠れていた部分)の背景を復元することによって教師を視認不可にしてもよい。この処理はレタッチ(retouch)ともいわれる。
複合モードおよび仮想モードのいずれにおいても、コンテンツ生成部14は一または複数の関連仮想オブジェクトをさらに配置し得る。それぞれの関連仮想オブジェクトの配置方法は限定されない。例えば、コンテンツ生成部14は関連仮想オブジェクトを、対応する現実オブジェクトに重畳するように配置してもよい。あるいは、コンテンツ生成部14は関連仮想オブジェクトを、対応する現実オブジェクトに重畳させることなく、またはほとんど重畳させることなく、配置してもよい。いずれにしても、コンテンツ生成部14はローデータに基づいて個々の関連仮想オブジェクトの仕様を決定する。例えば、コンテンツ生成部14は関連仮想オブジェクトの位置、寸法、(および、もしあれば動作)を設定する。
複合モードおよび仮想モードのいずれにおいても、コンテンツ生成部14は、仮想空間にアバター(および関連仮想オブジェクト)が配置された仮想空間を示す教育用コンテンツデータを生成する。教育用コンテンツデータは、原画像データに対応する音声データを含んでもよい。教育用コンテンツデータの生成方法およびデータ構造は限定されない。例えば、コンテンツ生成部14は、仮想空間と個々のオブジェクトの位置、寸法、および動作(姿勢)とを示す仮想空間データを含む教育用コンテンツデータを生成してもよい。あるいは、コンテンツ生成部14は、設定された仮想空間に基づくレンダリングを実行することで教育用コンテンツデータを生成してもよい。この場合には、教育用コンテンツデータは、アバター(および関連仮想オブジェクト)を含むコンテンツ画像そのものを示す。一例では、コンテンツ生成部14は、原画像から得られる実写画像領域と、仮想オブジェクト(アバター、および、もしあれば関連仮想オブジェクト)とを組み合わせることで教育用コンテンツデータを生成する。この教育用コンテンツデータは、原画像で示される現実世界と仮想オブジェクト(アバター、および、もしあれば関連仮想オブジェクト)との合成画像を表現する。
ステップS108では、出力部15が教育用コンテンツデータを出力する。ステップS13と同様に、教育用コンテンツデータの出力方法は限定されない。したがって、出力部15は教育用コンテンツデータを、1以上の生徒端末20に向けて送信してもよいし、コンテンツデータベース50に格納し、これらの送信および格納の双方を実行してもよい。
出力部15が教育用コンテンツデータを生徒端末20に向けて送信した場合には、生徒端末20では、受信部22がその教育用コンテンツデータを受信し、表示制御部23がその教育用コンテンツデータを処理して、教育用コンテンツを表示装置上に表示する。サーバ10でレンダリングが実行されていない場合には、表示制御部23は教育用コンテンツデータに基づくレンダリングを実行することでコンテンツ画像を表示する。教育用コンテンツデータがコンテンツ画像そのものを示す場合には、表示制御部23はそのコンテンツ画像をそのまま表示する。生徒端末20は、コンテンツ画像の表示に合わせて音声をスピーカから出力する。
教育用コンテンツがライブコンテンツである場合、または原画像データベース40内の映像コンテンツが処理される場合には、ステップS14またはS15は繰り返し実行される。ステップS14またはS15は各フレーム画像に対して実行されてもよいし、一連の複数個のフレーム画像に対して実行されてもよい。当然ながら時間経過に伴って教師は動き、教育用コンテンツ内のアバターはそれに対応して動く。また、場合によっては、教師の動きに関連して関連仮想オブジェクトが表示される。
図7は複合モードおよび仮想モードにおいてアバターの仕様を決める一例を示す図である。モーション特定部13は原画像に基づいて、教師90の動き(例えば、姿勢、表情)に対応する複数のジョイント501および複数のボーン502を推定することで、教師90の3次元の動作を特定する(ステップS12)。そして、モーション特定部13は特定された動作を示すローデータ(モーションデータ)を生成する(ステップS14)。ここで、図7の中央はジョイント501およびボーン502の理解を助けるための便宜的な描画であり、コンテンツ配信システム1においてこの描画が必須であることを意図するものではないことに留意されたい。コンテンツ生成部14はそのローデータ(モーションデータ)とアバターのモデルデータとに基づいて、教師90と同じ動作を行うアバター92を設定する(ステップS17)。
図8〜図11を参照しながら教育用コンテンツの例を説明する。いずれの例でも、原画像401が、ボード91の前に教師90が立っている場面を示すものとする。
図8は実写モードでの教育用コンテンツの一例を示す図である。実写モードではコンテンツ配信システム1は原画像データをそのまま教育用コンテンツデータとして出力するので、原画像401がそのまま教育用コンテンツ402として提供される。
図9は複合モードでの教育用コンテンツの一例を示す図である。この例では、コンテンツ配信システム1はアバターウィンドウ404と教師ウィンドウ405とによってアバター92および教師90の双方を視認可能にした教育用コンテンツ403を提供する。アバターウィンドウ404の面積は教師ウィンドウ405の面積よりも大きく、教師ウィンドウ405はアバターウィンドウ404の縁部(図9の例では右上)に表示されている。コンテンツ配信システム1(コンテンツ生成部14)は、アバターウィンドウ404とは異なる画面領域として教師ウィンドウ405を設定してもよい。あるいは、コンテンツ配信システム1(コンテンツ生成部14)は、原画像401をアバターの背景の一要素として仮想空間内に配置し、その仮想空間を写した画像をアバターウィンドウ404として設定してもよい。この場合には、仮想空間内に配置された原画像401が教師ウィンドウ405として表示される。
図10は複合モードでの教育用コンテンツの別の例を示す図である。この例では、コンテンツ配信システム1は原画像401に基づく仮想空間内の別々の位置にアバター92および教師90を配置し、この仮想空間を写した教育用コンテンツ406を提供する。
図11は仮想モードでの教育用コンテンツの一例を示す図である。この例では、コンテンツ配信システム1は教師90に重畳するようにアバター92を配置することで、教師90は視認不可だがアバター92は視認可能である教育用コンテンツ408を提供する。
図9〜図11に示す教育用コンテンツ403,406,408のいずれにおいてもアバター92の仕様は教師90に対応するので、生徒は、教師90と同じ動作を行うアバター92を見ることができる。
図9〜図11の例において、モーション特定部13は、教師90によってボード91上に書かれた手書きの単語「This」を関連現実オブジェクトとして特定し(ステップS13)、この単語を含むモーションデータを生成してもよい(ステップS14)。モーション特定部13は手書きされた単語「This」をテキストデータ(文字列データ)としてモーションデータに含めてもよいし、手書きされた個々の文字の特徴点を抽出してその特徴点の座標の集合を単語「This」のモーションデータとして設定してもよい。コンテンツ生成部14はこのようなモーションデータに基づいて、手書きの単語「This」に対応する関連仮想オブジェクトを含む教育用コンテンツデータを生成する(ステップS17)。生徒端末20がその教育用コンテンツデータを表示することで、生徒は新たなまたは追加の視覚効果を伴う単語「This」(例えば、装飾された手書き文字「This」、手書きからCGに置き換えられた「This」など)を見ることができる。
上述したようにコンテンツの生成および配信の手法は限定されない。図12はコンテンツ配信システム1による教育用コンテンツの提供の様々な例を示すシーケンス図である。図12の例(a)は、教育用コンテンツをリアルタイムに配信する場合、すなわちライブ配信またはインターネット生放送の場合におけるコンテンツ配信を処理フローS2として示す。処理フローS2では、教師端末30が、教師が授業を行う場面を撮像部207によって撮影し(ステップS21)、送信部31がその撮影によって得られた映像データ(原画像データ)をサーバ10に向けて送信する(ステップS22)。サーバ10はその映像データに対して処理フローS1を実行し、教育用コンテンツデータを生徒端末20に向けて送信する(ステップS23)。生徒端末20はその教育用コンテンツデータを受信および表示する(ステップS24)。
図12の例(a)では、教師端末30が授業を撮影している間において処理フローS2が繰り返し実行される(言い換えると、映像データを構成する個々のフレーム画像について処理フローS2が実行される)。生徒は、仮想モードでは、あたかも教師に代わってアバターが教えているような授業をリアルタイムに視聴でき、複合モードでは、教師およびアバターが一緒に教えているような授業をリアルタイムに視聴できる。アバターの動作は原画像を解析することで決定されるので、教師はモーションキャプチャ用の装置を身に付けることなく、普段の服装のままで授業を行えばよい。
図12の例(b)は、過去に撮影された映像を処理して教育用コンテンツを配信する場合を処理フローS3として示す。処理フローS3では、サーバ10は過去に撮影された授業を示す映像データ(原画像データ)を原画像データベース40から読み出し(ステップS31)、その映像データに対して処理フローS1を実行し、教育用コンテンツデータを生徒端末20に向けて送信する(ステップS32)。生徒端末20はその教育用コンテンツデータを受信および表示する(ステップS33)。サーバ10が教育用コンテンツデータを生徒端末20に向けて送信するタイミングは限定されない。例えば、サーバ10は、映像データを構成するすべてのフレーム画像について処理フローS1を実行した後に、教育用コンテンツデータを送信してもよい。あるいは、サーバ10は、それぞれのフレーム画像について処理フローS1を実行する度に、該フレーム画像に対応する教育用コンテンツデータを送信してもよい。
図12の例(c)は、過去に撮影された映像を処理して教育用コンテンツを保存する場合を処理フローS4として示す。処理フローS4では、サーバ10は過去に撮影された授業を示す映像データ(原画像データ)を原画像データベース40から読み出し(ステップS41)、その映像データに対して処理フローS1を実行し、教育用コンテンツデータをコンテンツデータベース50に格納する(ステップS42)。例えば、サーバ10は、映像データを構成するすべてのフレーム画像について処理フローS1を実行した後に、教育用コンテンツデータを格納してもよい。生徒端末20はそのコンテンツデータベース50に任意のタイミングでアクセスして教育用コンテンツを受信および表示することができる(ステップS43,S44)。
生徒端末20への教育用コンテンツの提供方法は限定されない。例えば、教育用コンテンツはサーバ10を経由して生徒端末20に提供されてもよいし、サーバ10とは異なるコンピュータまたはコンピュータシステムを経由して提供されてもよい。サーバ10が教育用コンテンツを提供する場合には、生徒端末20は生徒の操作に応答して、教育用コンテンツを取得するためのデータ信号であるコンテンツ要求をサーバ10に向けて送信する。サーバ10はそのコンテンツ要求を受信し、該要求で示される教育用コンテンツデータをコンテンツデータベース50から読み出し、その教育用コンテンツデータを生徒端末20に向けて送信する。教育用コンテンツデータの送信方法は限定されず、例えばストリーミング配信でもよいしダウンロードでもよい。
図12の例(b),(c)はいずれも、過去に撮影されまたは利用された映像コンテンツの利用または再利用であるといえる。教師が授業を教える場面を映した教育用の映像コンテンツは世の中に多く存在する。コンテンツ配信システム1を用いることでその膨大な映像コンテンツを、アバターを用いたさらに魅力的な映像コンテンツに変換することが可能になる。
コンテンツの生成および配信の手法は図12の例に限定されず、さらに別の処理フローが採用されてもよい。いずれにしても、コンテンツ配信システム1は、ライブ配信(インターネット生放送)、タイムシフト配信、オンデマンド配信などの様々な配信手法に適用することができる。
図13は、教師端末30上に表示される補助画像410の例を示す図である。図3の例ではこの補助画像410はモニタ212上に表示される。補助画像410は3人の生徒(視聴者)を示す。補助画像410の構成は限定されない。例えば、補助画像410は個々の生徒端末20で撮影された生徒の映像または写真の集合によって構成されてもよい。図13では、補助画像410は、3台の生徒端末20に対応する3人の生徒の画像411,412,413の集合である。あるいは、補助画像410は、個々の生徒の映像または写真を合成することで得られる一つの映像または画像であってもよい。あるいは、補助画像410は一つの部屋内にいる複数の生徒を写す一つの映像または写真であってもよい。個々の生徒は実写画像で表現されてもよいし、生徒と同じように動くアバターで表現されてもよいし、生徒の動きと連動しない静止画によって表現されてもよい。
補助画像の生成方法は限定されない。サーバ10の補助画像生成部16は、1以上の生徒端末20から送信されてきた生徒画像データに基づいて補助画像データを生成してもよい。生徒画像データとは、生徒を写した画像の電子データのことをいう。補助画像生成部16は各生徒端末20からの生徒画像データをそのまま補助画像に埋め込むことで補助画像データを生成してもよいし、該生徒画像データをそのまま補助画像データとして設定してもよい。あるいは、補助画像生成部16は生徒端末20から生徒画像データを取得することなく補助画像データを生成してもよい。補助画像生成部16は生成した補助画像データを教師端末30に向けて送信する。補助画像生成部16は、生徒端末20で録音された音声を示す音声データを該生徒端末20から受信してその音声データを補助画像データに関連付けてもよい。教師端末30では受信部32がその補助画像データを受信し、表示制御部33がその補助画像データを処理して補助画像を表示する。補助画像は生徒の現在の状況を映すライブ映像であってもよく、この場合には、補助画像生成部16は補助映像の個々のフレーム画像を生成および送信し、教師端末30がその個々のフレーム画像を順番に表示する。教師端末30はサーバ10から受信した音声データを処理して生徒の音声を出力してもよい。
[効果]
以上説明したように、本開示の一側面に係るコンテンツ制御システムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサのうちの少なくとも一つは、教師が授業を行う場面を写した原画像データを取得する。少なくとも一つのプロセッサのうちの少なくとも一つは、原画像データに基づいて、教師の動作を示すモーションデータを生成する。少なくとも一つのプロセッサのうちの少なくとも一つが、モーションデータに基づいて、教師に対応するアバターの仕様を決定する。少なくとも一つのプロセッサのうちの少なくとも一つは、決定された仕様に基づくアバターを教師とは異なる位置に配置することで、授業を受ける生徒のための教育用コンテンツデータを生成する。少なくとも一つのプロセッサのうちの少なくとも一つは、生成された教育用コンテンツデータを出力する。
本開示の一側面に係るコンテンツ制御方法は、教師が授業を行う場面を写した原画像データを取得するステップと、原画像データに基づいて、教師の動作を示すモーションデータを生成するステップと、モーションデータに基づいて、教師に対応するアバターの仕様を決定するステップと、決定された仕様に基づくアバターを教師とは異なる位置に配置することで、授業を受ける生徒のための教育用コンテンツデータを生成するステップと、生成された教育用コンテンツデータを出力するステップとを含む。
本開示の一側面に係るコンテンツ制御プログラムは、教師が授業を行う場面を写した原画像データを取得するステップと、原画像データに基づいて、教師の動作を示すモーションデータを生成するステップと、モーションデータに基づいて、教師に対応するアバターの仕様を決定するステップと、決定された仕様に基づくアバターを教師とは異なる位置に配置することで、授業を受ける生徒のための教育用コンテンツデータを生成するステップと、生成された教育用コンテンツデータを出力するステップとをコンピュータに実行させる。
このような側面においては、対応し合う教師およびアバターを表現する教育用コンテンツデータが生成される。特許文献1に記載されていない構成を有するこの教育用コンテンツデータを用いることで該コンテンツの視覚効果の向上が期待でき、その結果、生徒の興味をこのコンテンツに惹きつけることが可能になる。言い換えると、教育用コンテンツの興趣性を高めることができる。
単純に教師をアバターに置き換えるのではなく、教師およびアバターの双方が映った教育用コンテンツを提供することで、コンテンツの視覚効果を高めることができる。その結果、生徒が教育用コンテンツに親しみを持ったり面白さを感じたりすることが期待でき、ひいては、授業を受ける生徒のモチベーションを維持または向上につながり得る。一方、教師などの配信者の立場からすると、モーションキャプチャ用の装置を身に着ける必要が無いので、その特別な装置の購入または利用に必要な費用を掛けることなく、普段と同様に授業を行うことができる。
さらに、教師をアバターに置き換えることを想定していなかった過去の画像からも教育用コンテンツデータを生成できるので、過去の膨大な実写画像を、アバターを用いた教育用コンテンツに変換して、そのライブラリを利用または再利用することが可能になる。
他の側面に係るコンテンツ制御システムでは、少なくとも一つのプロセッサのうちの少なくとも一つが、生成された教育用コンテンツデータを生徒の生徒端末に向けて送信することで、該生徒端末上に該教育用コンテンツデータを表示させてもよい。この処理によって、アバターを含む教育用コンテンツデータを生徒に見せることができる。
他の側面に係るコンテンツ制御システムでは、教師に対応するアバターの動作が、教師と同じ動作であってもよい。アバターに教師と同じ動作を取らせることで、教育用コンテンツの視覚効果を高めることができる。
他の側面に係るコンテンツ制御システムでは、少なくとも一つのプロセッサのうちの少なくとも一つが、アバターが映る第1ウィンドウと、教師が映る第2ウィンドウとを含む画面を生成することで、アバターを教師とは異なる位置に配置してもよい。画面分割のような手法を採用することで、教育用コンテンツの視覚効果を高めることができる。
他の側面に係るコンテンツ制御システムでは、少なくとも一つのプロセッサのうちの少なくとも一つが、第1ウィンドウの面積を第2ウィンドウの面積よりも大きくし、第1ウィンドウの縁部に第2ウィンドウを配置してもよい。アバターが映る第1ウィンドウがメインウィンドウであり、教師が映る第2ウィンドウがサブウィンドウであるように教育用コンテンツデータを構成することで、教育用コンテンツの視覚効果を高めることができる。
他の側面に係るコンテンツ制御システムでは、少なくとも一つのプロセッサのうちの少なくとも一つが、仮想空間において第2ウィンドウをアバターよりも奥に位置させてもよい。このようにアバターと第2ウィンドウとの位置関係を3次元的に規定することで、第2ウィンドウをアバターの背景の一部として表示させることができる。このような視覚効果によって、教育用コンテンツの視覚効果を高めることができる。
他の側面に係るコンテンツ制御システムでは、教育用コンテンツデータで示される教育用コンテンツが、教師およびアバターの双方が視認可能である複合モードと、教師は視認不可だがアバターは視認可能である仮想モードとの間で切替可能であってもよい。少なくとも一つのプロセッサのうちの少なくとも一つは、複合モードにおいて、決定された仕様に基づくアバターを教師とは異なる位置に配置してもよい。このような2種類の表示モードを提供することで教育用コンテンツの視覚効果を高めることができる。
他の側面に係るコンテンツ制御システムでは、少なくとも一つのプロセッサのうちの少なくとも一つが、仮想モードにおいて、決定された仕様に基づくアバターを教師に重畳するように配置することで教師を視認不可にしてもよい。この場合には、あたかも教師がアバターに置き換わったかのような視覚効果を生み出すことができる。
他の側面に係るコンテンツ制御システムでは、少なくとも一つのプロセッサのうちの少なくとも一つが、仮想モードにおいて、決定された仕様に基づくアバターを教師とは異なる位置に配置し、画像データで示される教師に対して不鮮明化処理を実行することで、教師を視認不可にしてもよい。この場合には、この場合には、教師の存在をコンテンツ上に残しつつアバターを表示するという視覚効果を生み出すことができる。
[変形例]
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
上記実施形態ではコンテンツ配信システム1がサーバ10を用いて構成されたが、コンテンツ制御システムは、サーバ10を用いないユーザ端末間の直接配信に適用されてもよい。この場合には、サーバ10の各機能要素はいずれかのユーザ端末に実装されてもよく、例えば、配信者端末および視聴者端末のいずれか一方に実装されてもよい。あるいは、サーバ10の個々の機能要素は複数のユーザ端末に分かれて実装されてもよく、例えば配信者端末および視聴者端末に分かれて実装されてもよい。これに関連して、コンテンツ制御プログラムはクライアントプログラムとして実現されてもよい。コンテンツ制御システムはサーバを用いて構成されてもよいし、サーバを用いることなく構成されてもよい。
上記実施形態ではコンテンツ制御システムが仮想空間を設定し、その仮想空間内にアバター、(および、もしあれば関連仮想オブジェクト)を配置することで教育用コンテンツデータを生成する。しかし、仮想空間の利用は必須ではない。例えば、コンテンツ制御システムは2次元画像上に2次元表現のアバターを配置することでコンテンツデータ(例えば教育用コンテンツデータ)を生成してもよい。
上記実施形態ではコンテンツ制御システムが実写モード、複合モード、および仮想モードという3種類の表示モードを提供するが、コンテンツの表示モードは限定されない。例えば、コンテンツ制御システムは実写モードを提供することなく複合モードおよび仮想モードを提供してもよい。あるいは、コンテンツ制御モードは複合モードのみを提供してもよい。コンテンツ制御システムは、画面分割を用いる第1複合モード(図9に示すような複合モード)と、画面分割を用いない第2複合モード(図10に示すような複合モード)という2種類の複合モードの間で教育用コンテンツを切り替えてもよい。
上述したように、コンテンツ制御システムは、教育用コンテンツ以外の任意の種類のコンテンツを制御してもよい。例えば、コンテンツ制御システムはユーザ間の任意の情報伝達またはコミュニケーションを支援するための任意のコンテンツを制御してもよい。
本開示において、「少なくとも一つのプロセッサが、第1の処理を実行し、第2の処理を実行し、…第nの処理を実行する。」との表現、またはこれに対応する表現は、第1の処理から第nの処理までのn個の処理の実行主体(すなわちプロセッサ)が途中で変わる場合を含む概念である。すなわち、この表現は、n個の処理のすべてが同じプロセッサで実行される場合と、n個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念である。
少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。