以下、図面を適宜参照し、本発明の様々な実施形態を説明する。複数の図面において同一の又は類似する構成要素には同じ参照符号が付される。
図1から図7を参照して、一実施形態による動画配信システムについて説明する。図1は、一実施形態による動画配信システム1を示すブロック図であり、図2は、動画配信システム1で配信される動画の制作が行われるスタジオの設備を模式的に示す模式図であり、図3~図7はそれぞれ、動画配信システム1において記憶される非言語フィードバック情報、言語フィードバック情報、評価情報、ギフト情報、及びアクター情報を説明するための図である。
動画配信システム1は、クライアント装置10a~10cと、外部デバイス11a~11cと、サーバ装置20と、スタジオユニット30と、ストレージ60と、を備える。クライアント装置10a~10cと、サーバ装置20と、ストレージ60と、は、ネットワーク50を介して相互に通信可能に接続されている。サーバ装置20は、後述するように、キャラクタのアニメーションを含む動画ストリームを配信するように構成される。この動画に含まれるキャラクタは、仮想空間内でモーション制御されてもよい。この動画ストリームには、受信側で再生同期を取るためのタイムコードが付されている。このタイムコードは、例えば、クロックのカウント値で示される。タイムコードは、同期を維持するために所定の時間間隔(例えば、100ms間隔)で動画ストリーム中に埋め込まれる。再生同期のために用いられるタイムコードは、MPEG2ではタイムスタンプと呼ばれる。本明細書では、サーバ装置20から配信される動画ストリームを単に動画と呼ぶことがある。
まず、クライアント装置10a~10cについて説明する。クライアント装置10a~10cは、サーバ装置20から配信される動画を受信し、受信した動画を再生することができるように構成される。クライアント装置10aのユーザである第1視聴ユーザ、クライアント装置10bのユーザである第2視聴ユーザ、及びクライアント装置10cのユーザである第3視聴ユーザは、配信された動画を、各クライアント装置により視聴することができる。動画配信システム1は、3台よりも少ない数のクライアント装置を備えていてもよく、3台よりも多い数のクライアント装置を備えていてもよい。本明細書においては、第1視聴ユーザ、第2視聴ユーザ、及び第3視聴ユーザを視聴ユーザと総称することがある。
クライアント装置10a~10cは、スマートフォンなどの情報処理装置である。クライアント装置10a~10cは、スマートフォン以外に、携帯電話機、タブレット端末、パーソナルコンピュータ、電子書籍リーダー、ウェアラブルコンピュータ、ゲーム用コンソール、ヘッドマウントディスプレイ及びこれら以外の動画を再生可能な各種情報処理装置であってもよい。クライアント装置10a~10cの各々は、コンピュータプロセッサ、メモリ、通信I/F、ディスプレイ、ジャイロセンサ等の各種センサを備えるセンサユニット、マイク等の集音装置、及び各種情報を記憶するストレージを備えていてもよい。
クライアント装置10a~10cのディスプレイは、表示パネルと、タッチパネルと、を有する。タッチパネルは、プレイヤのタッチ操作(接触操作)を検出することができるように構成されている。タッチパネルは、プレイヤのタップ、ダブルタップ、ドラッグ等の各種タッチ操作を検出することができる。タッチパネルは、静電容量式の近接センサを備え、プレイヤの非接触操作を検出可能に構成されてもよい。
クライアント装置10a~10cの各々は、一又は複数のセンサユニットを備えてもよい。このセンサユニットは、加速度センサ、ジャイロセンサ、および地磁気センサのうち少なくとも1つのセンサを含む。このセンサユニットは、クライアント装置10a~10cのユーザの眼球の動きを直接的に検出するアイトラッキングセンサを備えてもよい。アイトラッキングセンサは、例えば、虹彩内に近赤外光を入射しその反射光を検出する視線検出センサである。
クライアント装置10a~10cの各々は、視聴ユーザから視聴中の動画に対する様々なフィードバック情報の入力を受け付けることができる。視聴ユーザからのフィードバック情報には、言語フィードバック情報と、非言語フィードバック情報と、が含まれる。
言語フィードバック情報は、視聴ユーザからの言語によるフィードバック情報である。クライアント装置10a~10cは、視聴ユーザの言語入力により、言語フィードバック情報を取得することができる。言語入力は、例えば、テキスト入力又は発話入力である。テキスト入力は、クライアント装置10a~10cに備えられているキーボード、タッチスクリーン、又はこれら以外のテキストを入力可能な入力インタフェースが操作されることにより、クライアント装置10a~10cによって受け付けられる。発話入力は、音声として発せられた言語がクライアント装置10a~10cに備えられたマイクなどの集音装置を介して検出されることにより受け付けられる。クライアント装置10a~10cは、言語入力の内容に応じたテキスト情報を言語フィードバック情報として記憶することができる。例えば、視聴ユーザは、動画の視聴中にクライアント装置10a~10cを操作することにより、当該動画やアクターのパフォーマンスに関するコメントをテキスト入力する。このテキスト入力されたコメントは、テキスト情報としてクライアント装置10a~10cに記憶される。
言語入力により受け付けられた言語フィードバック情報は、当該言語入力がクライアント装置10a~10cによって受け付けられた時点における動画のタイムコードと対応付けてクライアント装置10a~10cに記憶されてもよい。例えば、WebRTC(Web Real-Time Communication)におけるReal-time Transport Protocol(RTP)拡張におけるabs-send-time(1535950231958_0参照)を利用することにより、クライアント装置10a~10cの各々において遅延時間を考慮した絶対時間を取得することで、言語入力により受け付けられた言語フィードバック情報を動画のタイムコードと対応付けて記憶することができる。
言語入力は、上記のように、テキスト入力又は発話入力のいずれかによってなされる。したがって、視聴ユーザがフィードバックを行うことを意図してから言語入力が完了するまでには相応の時間がかかる。これにより、視聴ユーザがフィードバックを行うことを意図した時刻と言語入力が受け付けられる時刻との間にはギャップが生じる。
非言語フィードバック情報は、視聴ユーザからの言語以外の入力によるフィードバック情報である。クライアント装置10a~10cは、加速度センサ、カメラ、生体情報センサ、又はこれら以外の検出装置により検出される視聴ユーザからの非言語入力によって、非言語フィードバック情報を取得することができる。非言語フィードバック情報には、例えば、加速度センサにより検出される加速度、カメラにより撮像される視聴ユーザの映像情報に基づいて判定される視聴ユーザが視聴を行っているか否かを示す視聴有無情報、生体情報センサにより検出される視聴ユーザの生体情報、及びこれら以外の視聴ユーザに関する非言語情報が含まれ得る。非言語フィードバック情報には、加速度センサ、カメラ、生体情報センサ、及びこれら以外の検出装置によって検出された非言語入力に基づいて推定される当該視聴ユーザの情動を示す情動情報が含まれてもよい。
非言語フィードバック情報として、加速度センサにより検出された加速度を用いてもよいし、この加速度から推定される視聴ユーザの情動を示す情動情報を用いてもよい。動画視聴中に視聴ユーザが保持しているデバイスの加速度の高周波成分に基づいて、当該視聴ユーザの情動を推定できることが報告されている。例えば、「WebSocketを用いたスマートフォン上でのエンタテイメントコンテンツ閲覧時のリアルタイム行動分析」(エンターテインメントコンピューティングシンポジウム(EC2013),2013年10月)では、視聴ユーザが保持しているスマートフォンに内蔵されている加速度センサにより検出された3軸の加速度の二乗和平方根を算出し、この算出された二乗和平方根が所定値(例えば、0.2[G]や0.1[G])以上であるときに当該視聴ユーザが笑っていると推定できることが説明されている。このように、加速度センサにより検出された加速度の高周波成分に基づいて、視聴ユーザが笑っているか否かを示す情動情報を生成することができる。
視聴ユーザが視聴を行っているか否かは、視聴ユーザの顔の向きに基づいて判定することができる。例えば、特開2013-109537号公報に記載されているように、カメラによって撮像された視聴ユーザの顔画像に基づいて視聴ユーザの顔方向を求め、この視聴ユーザの顔が動画の再生装置(例えば、クライアント装置10a~10c)の方向を向いているか否かによって、当該視聴ユーザが再生中の動画を視聴しているか否かを判定することができる。クライアント装置10a~10cは、この判定結果に応じて視聴有無情報を生成することができる。
カメラによって撮像された顔画像から、視聴ユーザの情動を推定することもできる。例えば、特開平3-252775号公報には、情動(喜び、怒り、哀しみ、楽しさ)と関連付けて記憶されている表情パターンの中から、カメラで撮影した視聴ユーザの顔画像と類似する画像を有する表情パターンを検索することにより、当該人物の情動を推定する技術が開示されている。クライアント装置10a~10cは、この推定に基づいて、視聴ユーザの情動を示す情動情報を生成することができる。
視聴ユーザの生体情報に基づいて当該ユーザの情動を表す情動情報を生成する技術は、「人間の感情を考慮したバイオメトリクス 情報学ワークショップ2004、平成16年9月」に記載されているように公知である。クライアント装置10a~10cは、この技術を利用して、視聴ユーザの情動を示す情動情報を生成することができる。
情動情報は、楽しさ、悲しみ、怒り、驚き、恐怖などの人間の情動を示す情報である。情動は、ユーザの意思による制御が難しいため、視聴ユーザの情動情報は、言語フィードバック情報よりも当該視聴ユーザの動画に対する自然な(無意識の又は不随意の)反応を示しやすいと考えられる。情動情報は、言語フィードバック情報及び非言語フィードバック情報のいずれの形式でも取得することが可能である。例えば、情報の一部、例えば「楽しさ」は、言語によって表現可能である。しかし、視聴ユーザは、多様な言語を使用し、また、多様な文化的背景を持っていることが想定されるので、情動情報を言語により表すと、視聴ユーザからの有意なフィードバックを得られないおそれがある。このため、情動情報については、言語フィードバック情報ではなく、非言語フィードバック情報として取得することが望ましい。
クライアント装置10a~10cは、内蔵のセンサによって非言語入力を検出してもよく、外部デバイス(例えば、後述する外部デバイス11a~11c)により検出された非言語入力を当該外部デバイスから取得してもよい。
非言語フィードバック情報は、所定のサンプリングレートごとに生成されてもよい。例えば、加速度、生体情報は所定のサンプリングレートごとに生成される。
生体情報センサにより検出される視聴ユーザの生体情報には、体温、呼吸数、脈拍、眼球運動、血中の酸素濃度、筋電(筋肉で発生する電位)及びこれら以外の生体に関して検出可能な情報が含まれ得る。生体情報センサは、これらの生体情報を検出することができる公知の任意のセンサである。
非言語入力により受け付けられた非言語フィードバック情報は、当該非言語入力がクライアント装置10a~10cによって受け付けられた時点における動画のタイムコードと対応付けてクライアント装置10a~10c記憶されてもよい。非言語入力は、センサなどの検出装置によって検出されるため、非言語入力の元になる生体反応(例えば、視聴ユーザの随意運動、不随意運動、生体情報の変動)が起きてから即時に非言語入力が検出され得る。つまり、非言語入力の元になる生体反応が起きた時刻と非言語入力が完了する時刻とは近接している。
クライアント装置10a~10cは、視聴ユーザの操作入力を受け付けることができる。操作入力は、クライアント装置10a~10cの特定の処理と対応付けられている。操作入力は、クライアント装置10a~10cの物理的な又は仮想的な操作要素に対する操作が行われることにより受け付けられる。より具体的には、操作入力は、クライアント装置10a~10cが備える物理ボタンを視聴ユーザが押下する操作又はクライアント装置10a~10cの表示画面に表示される操作アイコンをタップする操作により受け付けられ得る。操作入力は、視聴ユーザにより事前定義されたジェスチャが行われることにより入力されてもよい。ジェスチャによる入力は、例えば、視聴ユーザの特定の姿勢や動きがクライアント装置10a~10cの特定のアクションと事前に対応付けられている場合に、視聴ユーザが当該特定の姿勢を取ることまたは特定の動きを行うことによりクライアント装置10a~10cによって受け付けられる。
クライアント装置10a~10cは、操作入力を受け付けると、その受け付けた操作に対応する処理を行う。このクライアント装置10a~10cにより行われる処理には、様々な処理が含まれる。例えば、クライアント装置10a~10cは、受け付けた操作入力に応じて、動画の選択、再生開始、再生停止を行うことができる。前記の処理に加えて、クライアント装置10a~10cは、受け付けた操作入力に応じて、視聴中の動画においてギフトを購入するためのギフト購入処理、視聴中の動画のためにパフォーマンスを行っているアクターにギフトを提供するギフティング処理、視聴中の動画に対する評価を決定する評価処理、及びこれら以外の様々な処理を行うことができる。
ギフト購入処理に関連するギフト購入情報及びギフティング処理に関連するギフティング情報は、当該ギフト購入処理を行うためになされた操作入力がクライアント装置10a~10cによって受け付けられた時点における動画のタイムコードと対応付けてクライアント装置10a~10cに記憶されてもよい。ギフト購入情報は、例えば、ギフト購入処理により購入されたギフトの数量や購入額を示す情報である。ギフティング情報は、例えば、視聴ユーザがアクターに提供したギフトの数量やアクターに提供されたギフトの購入金額を示す情報である。本明細書においては、ギフト購入情報及びギフティング情報をギフト情報と総称することがある。
評価処理に関連する評価情報は、当該評価処理を行うためになされた操作入力がクライアント装置10a~10cによって受け付けられた時点における動画のタイムコードと対応付けてクライアント装置10a~10cに記憶されてもよい。評価情報は、視聴ユーザによって決定された視聴中の動画に対する評価を示す情報である。視聴ユーザは、例えば、動画の視聴中に当該動画を含む表示画面中に表示される評価ボタンをタップして選択することにより、当該動画に対する肯定的な評価(「好き」)又は否定的な評価(「嫌い」)を選択することができる。評価ボタンには、例えば、当該評価ボタンの選択により肯定的な評価が決定されることを視聴ユーザに知らしめるために、「Like」や「いいね」といった文字、ハートマークなどの記号、又は笑顔を示すグラフィックスが表示されていてもよい。評価情報は、例えば、視聴ユーザにより肯定的な評価又は否定的な評価がなされた回数を表す情報であってもよい。評価情報は、レーティング情報であってもよい。評価情報は、視聴中の動画に対する視聴ユーザの評価を感情と関連付けて示す情報であってもよい。例えば、動画を含む表示画面中に、視聴ユーザに感情を選択させるための感情選択ボタンを表示することができる。視聴ユーザは、この感情選択ボタンを選択することにより、当該動画に感動したこと、当該動画に共感できなかったこと、及びこれら以外の視聴ユーザの感情を選択することができる。例えば、感情選択ボタンには、動画に感動したという感情を選択するための拍手ボタン、動画に共感できなかったことを示すための疑問符ボタン、動画に驚いたことを示すための驚きボタン、及びこれら以外のボタンを含むことができる。感情選択ボタンの各々には、当該感情選択ボタンによって選択される感情を表現する記号又はグラフィックスの表示が含まれていてもよい。例えば、拍手ボタンには拍手している手を表すグラフィックスの表示が含まれていてもよく、疑問符ボタンにはクエスチョンマークの表示が含まれていてもよく、驚きボタンにはエクスクラメーションマークの表示が含まれていてもよい。
次に、外部デバイス11a~11cについて説明する。外部デバイス11a~11cは、上記の非言語フィードバック情報を取得できるように構成される。外部デバイス11a~11cは、加速度センサ、モーションセンサ、視聴ユーザを撮像して撮像データを生成するカメラ、生体情報を検出する生体情報センサ、及びこれら以外の視聴ユーザに関する非言語情報を検出することができる検出装置であってもよい。
外部デバイス11a~11cとして、例えば、Microsoft Corporationが提供するkinect(商標)、任天堂株式会社が提供するwii(商標)、Oculus VR, Inc.が提供するOculus Touch、HTC CORPORATIONが提供するHTC Viveのコントローラ、やまと興業株式会社がチアライトエアーという商品名で提供しているサイリウム、Apple Incが提供するApple Watch及びこれら以外の加速度センサを備えた様々なデバイスが用いられ得る。
外部デバイス11a~11cは、視聴ユーザの瞬きの長さ、瞬きの頻度、眼球運動、及びこれら以外の使用者の生体情報を取得可能なアイウェアであってもよい。この種のアイウェアとして、株式会社ジェイアイエヌによって提供されているJINS MEME(商標)が用いられ得る。
外部デバイス11a~11cは、クライアント装置10a~10cと通信可能に構成されてもよい。外部デバイス11a~11cとクライアント装置10a~10cとは、Bluetooth(商標)、無線LAN、又はこれら以外の無線リンクにより接続されてもよい。外部デバイス11a~11cは、取得した非言語フィードバック情報を対応するクライアント装置10a~10cに送信してもよい。外部デバイス11a~11cによって取得された非言語フィードバック情報も、クライアント装置10a~10cによって取得された非言語フィードバック情報と同様に、非言語入力が外部デバイス11a~11cによって受け付けられた時点における動画のタイムコードと対応付けて記憶されてもよい。
クライアント装置10a~10cは、言語フィードバック情報、非言語フィードバック情報、評価情報、及びギフト情報のうちの少なくとも一つの情報を、各情報が対応付けられているタイムコード及び視聴ユーザのユーザIDとともに、サーバ装置20に送信してもよい。例えば、これらの情報は、クライアント装置10aからサーバ装置20に送信される場合には、クライアント装置10aを使用している第1視聴ユーザのユーザIDと対応付けて送信される。外部デバイス11a~11cは、非言語フィードバック情報をタイムコードとともに対応するクライアント装置10a~10cに送信してもよいし、サーバ装置20に送信してもよい。
クライアント装置10a~10c及び外部デバイス11a~11cはいずれも、動画に対する視聴ユーザの非言語フィードバック情報をサーバ装置20に提供するユーザデバイスの例である。
次に、サーバ装置20について説明する。図示の実施形態において、サーバ装置20は、コンピュータプロセッサ21と、通信I/F22と、ストレージ23と、を備えている。
コンピュータプロセッサ21は、ストレージ23又はそれ以外のストレージからオペレーティングシステムや様々な機能を実現する様々なプログラムをメモリにロードし、ロードしたプログラムに含まれる命令を実行する演算装置である。コンピュータプロセッサ21は、例えば、CPU、MPU、DSP、GPU、これら以外の各種演算装置、又はこれらの組み合わせである。コンピュータプロセッサ21は、ASIC、PLD、FPGA、MCU等の集積回路により実現されてもよい。図1においては、コンピュータプロセッサ21が単一の構成要素として図示されているが、コンピュータプロセッサ21は複数の物理的に別体のコンピュータプロセッサの集合であってもよい。本明細書において、コンピュータプロセッサ21によって実行されるとして説明されるプログラム又は当該プログラムに含まれる命令は、単一のコンピュータプロセッサで実行されてもよいし、複数のコンピュータプロセッサにより分散して実行されてもよい。また、コンピュータプロセッサ21によって実行されるプログラム又は当該プログラムに含まれる命令は、複数の仮想コンピュータプロセッサにより実行されてもよい。
通信I/F22は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。サーバ装置20は、通信I/F22を介して、他の装置とデータを送受信することができる。
ストレージ23は、コンピュータプロセッサ21によりアクセスされる記憶装置である。ストレージ23は、例えば、磁気ディスク、光ディスク、半導体メモリ、又はデータを記憶可能な前記以外の各種記憶装置である。ストレージ23には、様々なプログラムが記憶され得る。ストレージ23に記憶され得るプログラム及び各種データの少なくとも一部は、サーバ装置20とは物理的に別体のストレージ(例えば、クライアント装置10a~10c及び外部デバイス11a~11cのいずれかに備えられるストレージ、及び/又は、ストレージ60)に格納されてもよい。
次に、スタジオユニット30について説明する。スタジオユニット30の構成要素の多くは、例えば、図2に示されているスタジオルームRに配されている。図示のように、スタジオルームRにおいては、アクターA1及びアクターA2がパフォーマンスを行っている。スタジオユニット30は、アクターA1及びアクターA2の動き及び表情を検出し、検出した情報をサーバ装置20に出力するように構成されている。
アクターA1及びアクターA2はいずれも、スタジオユニット30に備えられる後述のセンサ群によって動きや表情がキャプチャされる対象である。図示の実施形態において、アクターA1及びアクターA2は、パフォーマンスを行う人間である。アクターA1及びアクターA2は、人間以外に、動物またはこれ以外の運動する任意の物体(非生物)であってもよい。アクターA1及びアクターA2は、例えば、自律運動可能なロボットであってもよい。スタジオルームR内のアクターの数は、1であってもよいし、3以上であってもよい。
スタジオユニット30は、アクターA1に装着される6つのモーションセンサ31a~31fと、アクターA1の左手に把持されているコントローラ33aと、アクターA1の右手に把持されているコントローラ33bと、装着具37bを介してアクターA1の頭部に取り付けられるカメラ37aと、アクターA1の左腕に装着されている腕時計型のアクターデバイス91と、を有する。スタジオユニット30はまた、アクターA2に装着される6つのモーションセンサ32a~32fと、アクターA2の左手に把持されているコントローラ34aと、アクターA2の右手に把持されているコントローラ34bと、装着具38bを介してアクターA2の頭部に取り付けられるカメラ38aと、アクターA2の左腕に装着されている腕時計型のアクターデバイス92と、を有する。装着具37b及び装着具38bの各々には、音声データを取得するためのマイクが取り付けられてもよい。このマイクは、アクターA1及びアクターA2の発話を音声データとして取得することができる。マイクは、装着具37b及び装着具38bを介してアクターA1及びアクターA2に装着される装着型のマイクであってもよく、スタジオルームRの床、壁、又は天井に設置される設置型のものであってもよい。スタジオユニット30は、上記の構成要素に加えて、ベースステーション35aと、ベースステーション35bと、デジタルカメラ36aと、デジタルカメラ36bと、ディスプレイ39と、を有する。スタジオルームRとガラス窓を隔てた隣室には、サポーターコンピュータ40が設置されている。サーバ装置20は、サポーターコンピュータ40が設置されている部屋と同じ部屋に設置されてもよい。
モーションセンサ31a~31f及びモーションセンサ32a~32fは、ベースステーション35a及びベースステーション35bと協働して、自らの位置及び向きを検出する。一実施形態において、ベースステーション35a及びベースステーション35bは、多軸レーザーエミッターである。ベースステーション35aは、同期用の点滅光を発した後に、例えば鉛直軸の周りでレーザー光を走査する。ベースステーション35bは、例えば水平軸の周りでレーザー光を走査する。モーションセンサ31a~31f及びモーションセンサ32a~32fはそれぞれ、ベースステーション35a及びベースステーション35bからの点滅光及びレーザー光の入射を検知する光センサを複数備えてもよい。モーションセンサ31a~31f及びモーションセンサ32a~32fはそれぞれ、点滅光の入射タイミングとレーザー光の入射タイミングとの時間差、各光センサでの受光時間、各光センサが検知したレーザー光の入射角度、及び必要に応じてこれら以外の情報に基づいて、自らの位置及び向きを検出してもよい。モーションセンサ31a~31f及びモーションセンサ32a~32fは、例えば、HTC CORPORATIONから提供されているVive Trackerであってもよい。ベースステーション35a及びベースステーション35bは、例えば、HTC CORPORATIONから提供されているベースステーションであってもよい。
モーションセンサ31a~31f及びモーションセンサ32a~32fの各々において算出された各モーションセンサの位置及び向きを示す検出情報は、サーバ装置20に送信される。この検出情報は、モーションセンサ31a~31f及びモーションセンサ32a~32fの各々からサーバ装置20に無線送信されてもよい。ベースステーション35a及びベースステーション35bは、一定のインターバルで点滅光の発光及びレーザー光の走査を行うので、各モーションセンサの検出情報は、当該インターバルごとに更新される。
図示の実施形態において、アクターA1は、6つのモーションセンサ31a~31fを装着している。モーションセンサ31a,31b,31c,31d,31e,及び31fはそれぞれ、アクターA1の左手甲、右手甲、左足甲、右足甲、腰、及び頭頂に装着されている。モーションセンサ31a~31fは、装着具を介してアクターA1に装着されてもよい。アクターA2は、6つのモーションセンサ32a~32fを装着している。モーションセンサ32a~32fは、アクターA2に対してモーションセンサ31a~31fと同様の位置に装着され得る。図2に示されているモーションセンサ31a~31f及びモーションセンサ32a~32fは例示である。モーションセンサ31a~31fは、アクターA1の様々な部位に装着され得るし、モーションセンサ32a~32fは、アクターA2の様々な部位に装着され得る。アクターA1及びアクターA2に装着されるモーションセンサの数は5以下であってもよいし7以上であってもよい。このように、アクターA1及びアクターA2の体の各部に装着されたモーションセンサ31a~31f及びモーションセンサ32a~32fの位置及び向きを検出することにより、アクターA1及びアクターA2の体の動きを検出することができる。アクターA1及びアクターA2の体の動きは、光学モーションキャプチャシステムにより検出されてもよい。
コントローラ33a及びコントローラ33bは、アクターA1の操作に応じたコントロール信号をサーバ装置20に出力する。同様に、コントローラ34a及びコントローラ34bは、アクターA2の操作に応じたコントロール信号をサーバ装置20に出力する。
デジタルカメラ36a及びデジタルカメラ36bは、アクターA1及びアクターA2を撮像して撮像データを生成する。デジタルカメラ36aの位置、撮像方向、及び画角は、操作者の操作に応じて設定される。デジタルカメラ36aは、その位置、撮像方向、及び画角を示す撮像設定情報をサーバ装置20に送信する。同様に、デジタルカメラ36bの位置、撮像方向、及び画角は、操作者の操作に応じて設定される。デジタルカメラ36bは、その位置、撮像方向、及び画角を示す撮像設定情報をサーバ装置20に送信する。デジタルカメラ36a及びデジタルカメラ36bは、撮像した撮像データ(動画データ)をサーバ装置20に送信してもよいし送信しなくともよい。図示の実施形態において、デジタルカメラ36aは、アクターA1の左前方に設けられている。デジタルカメラ36bは、アクターA1及びアクターA2の前方であってアクターA1とアクターA2とのほぼ中間の位置に設けられている。
カメラ37aは、上記のように、アクターA1の頭部に取り付けられている。例えば、カメラ37aは、アクターA1の顔を撮像できるように配置されている。カメラ37aは、アクターA1の顔を連続的に撮像し、アクターA1の顔の撮像データを取得する。カメラ37aは、アクターA1の眼球の動きを検出するアイトラッキングセンサを備えてもよい。同様に、カメラ38aは、アクターA2の頭部に取り付けられている。カメラ38aは、アクターA2の顔を撮像できるように配置されており、アクターA2の顔を連続的に撮像し、アクターA2の顔の撮像データを取得する。カメラ38aは、アクターA2の眼球の動きを検出するアイトラッキングセンサを備えてもよい。これらのアイトラッキングセンサは、例えば、虹彩内に近赤外光を入射しその反射光を検出する視線検出センサである。カメラ37aは、アクターA1の顔の撮像データをサーバ装置20に送信し、カメラ38aは、アクターA1の顔の撮像データをサーバ装置20に送信する。カメラ37a及びカメラ38aは、人物の顔の奥行きを検出可能な3Dカメラであってもよい。カメラ37a及びカメラ38aは、例えば、Apple Incが提供するiPhone Xに備えられたLIDARデバイスであってもよい。iPhone Xは、例えば、アクターA1の頭部に装着されたヘッドギアに取り付けられる。カメラ37a及びカメラ38aは、アクターA1及びA2に装着されるのではなく、スタジオルームR内に設置されたカメラスタンドに設置される固定型のものであってもよい。
ディスプレイ39は、サポーターコンピュータ40から受信した情報を表示するように構成される。サポーターコンピュータ40からディスプレイ39に送信される情報は、例えば、テキスト情報、画像情報、及びこれら以外の各種情報を含み得る。ディスプレイ39は、アクターA1及びアクターA2によって視認可能な位置に配置される。
アクターデバイス91は、サーバ装置20からの駆動信号に応じて、アクターA1が知覚可能な音以外の刺激を発生させるように構成される。アクターデバイス91が音を発生させると、配信コンテンツに当該音が合成されてしまうおそれがあるため、アクターデバイス91は、音以外の刺激を発生させるように構成される。アクターデバイス91は、聴覚刺激(典型的には、音)以外の刺激、例えば、触覚刺激、視覚刺激、又はこれら以外の聴覚刺激とは異なるアクターA1によって知覚可能な刺激を発生させることができる。アクターデバイス91は、アクチュエータ91aを備えてもよい。アクチュエータ91aは、サーバ装置20からの駆動信号により作動するように構成される。アクチュエータ91aは、駆動信号が入力されると振動するように構成されてもよい。アクターデバイス91として、例えば、Apple Incから提供されているApple Watchが用いられ得る。アクターデバイス91は、腕時計型以外の様々な形状をとり得る。アクターA1は、互いに同じ種類の又は互いと異なる種類の複数のアクターデバイス91を装着することができる。アクターデバイス91は、サーバ装置20以外からの駆動信号に応じて作動するように構成されてもよい。複数のアクターデバイス91は、アクターA1を識別するアクターIDと対応付けられていてもよい。アクターデバイス91は、アクチュエータ91aを介して触覚刺激をアクターA1に伝達することができる。アクターデバイス91は、LED(Light Emitting Diode)や知覚ディスプレイデバイスであってもよい。LEDや知覚ディスプレイデバイスは、視覚刺激を発生することができる。知覚ディスプレイデバイスは、電極から流れる電流によって皮膚下の神経軸索を駆動する電気触覚ディスプレイであってもよい。アクターデバイス92は、サーバ装置20からの駆動信号に応じて、アクターA2が知覚可能な音以外の刺激を発生させるように構成される。アクターデバイス91に関する説明は、アクターデバイス92にも同様に当てはまる。
図示の実施形態において、サポーターコンピュータ40は、スタジオルームRの隣室に設置されている。サポーターコンピュータ40が設置されている部屋とスタジオルームRとはガラス窓によって隔てられているため、サポーターコンピュータ40のオペレータ(本明細書では「サポーター」ということがある。)は、アクターA1及びアクターA2を視認できる。図示の実施形態においては、サポーターコンピュータ40のオペレータとして、サポーターB1及びサポーターB2が在室している。
サポーターコンピュータ40は、サポーターB1及びサポーターB2の操作に応じて、スタジオユニット30の構成要素の設定を変更することができるように構成されてもよい。サポーターコンピュータ40は、例えば、ベースステーション35a及びベースステーション35bによる走査インターバルの設定、デジタルカメラ36a及びデジタルカメラ36bの撮像方向や画角の設定、及びこれら以外の各種機器の各種設定の変更を行うことができる。後述するアクティブカメラの切り替えは、サポーターB1及びサポーターB2によるサポーターコンピュータ40の操作に基づいて実行され得る。サポーターB1及びサポーターB2の少なくとも一方は、サポーターコンピュータ40にメッセージを入力し、当該入力されたメッセージをディスプレイ39に表示することができる。
図2に示されているスタジオユニット30の構成要素及び機能は例示である。本発明に適用可能なスタジオユニット30は、図示されていない様々な構成要素を備え得る。配信される動画を生成するための撮影は、より簡易な設備によって実行されてもよい。例えば、スマートフォンなどの情報処理端末によりアクターの顔の動きのデジタル表現であるフェイスモーションデータを生成し、当該フェイスモーションデータに基づいて、アクターの表情の動きに同期してその表情が動くがボディは動かないキャラクタオブジェクトのアニメーションを生成してもよい。このフェイスモーションデータは、アクターの頭部の姿勢のトラッキングデータ、当該アクターの顔の特徴点のデジタル表現であるフィーチャーポイント、及びその変形率を表現したブレンドフェイスデータを含むことができる。スマートフォンなどの情報処理端末は、フェイスモーションデータに基づいて、アクターの表情を誇張して示す画像を作成し、当該画像をキャラクタオブジェクトの顔に重畳表示してもよい。フェイスモーションデータに基づいてキャラクタオブジェクトのアニメーションを生成する場合、アクターの体の動きを検出するためのモーションセンサ31a,31b,31c,31d,31e,及び31f、ベースステーション35a,35b、及びデジタルカメラ36a,36bが不要となるため、より簡易な設備でキャラクタオブジェクトのアニメーションを生成することができる。モーションセンサ31a,31b,31c,31d,31e,及び31f、ベースステーション35a,35b、及びデジタルカメラ36a,36bが不要であれば、スタジオルームR以外の場所、例えばアクターの自宅でもキャラクタオブジェクトの生成を行うことができるので利便性が高まる。
スタジオユニット30は、プロジェクタを備えていてもよい。当該プロジェクタは、クライアント装置10aまたはそれ以外のクライアント装置に配信される動画をスクリーンSに投影することができる。
次に、ストレージ23に記憶される情報について説明する。図示の実施形態においては、ストレージ23には、モデルデータ23a、オブジェクトデータ23b、言語フィードバック情報23c1、非言語フィードバック情報23c2、評価情報23c3、ギフト情報23c4、アクター情報23c5、及び必要に応じて前記以外の情報が記憶される。
モデルデータ23aは、キャラクタのアニメーションを生成するためのモデルデータである。モデルデータ23aは、3次元のアニメーションを生成するための3次元モデルデータであってもよいし、2次元のモデルデータを生成するための2次元モデルデータであってもよい。モデルデータ23aは、例えば、キャラクタの骨格を示すリグデータ(「スケルトンデータ」と呼ばれることもある。)と、キャラクタの表面の形状や質感を示すスキンデータと、を含む。モデルデータ23aには、互いに異なる複数のモデルデータを含むことができる。この複数のモデルデータは、互いに異なるリグデータを有していてもよいし、同じリグデータを有していてもよい。この複数のモデルデータは、互いと異なるスキンデータを有していてもよいし、同じスキンデータを有していてもよい。図示の実施形態においては、アクターA1に対応するキャラクタオブジェクト及びアクターA2に対応するキャラクタオブジェクトを生成するために、モデルデータ23aは、互いに異なる少なくとも2種類のモデルデータを有する。このアクターA1に対応するキャラクタオブジェクト用のモデルデータとアクターA2に対応するキャラクタオブジェクト用のモデルデータとは、例えば、同じリグデータを有するが、異なるスキンデータを有していてもよい。
オブジェクトデータ23bは、動画を構成する仮想空間を構築するためのアセットデータを含む。オブジェクトデータ23bは、動画を構成する仮想空間の背景を描画するためのデータ、動画に表示される各種物体を描画するためのデータ、及びこれら以外の動画に表示される各種オブジェクトを描画するためのデータが含まれる。オブジェクトデータ23bには、仮想空間におけるオブジェクトの位置を示すオブジェクト位置情報を含んでもよい。
オブジェクトデータ23bには、上記以外にも、クライアント装置10a~10cの視聴ユーザからの表示要求に基づいて動画に表示されるギフトを表すギフトオブジェクトが含まれ得る。ギフトオブジェクトには、例えば、ぬいぐるみ、花束、アクセサリー(カチューシャ、ネックレス、イヤリングなど)、衣服(Tシャツなど)、コスチューム、紙吹雪、花火及びこれら以外の物体を模したオブジェクトである。ギフトオブジェクトの各々には、その種類に応じた表示時間が設定されていてもよい。
クライアント装置10a~10cからの言語フィードバック情報は、言語フィードバック情報23c1としてストレージ23に記憶される。図3に示されているように、言語フィードバック情報は、視聴ユーザによってテキスト入力又は発話入力されたコメントを表すテキストデータであり、このテキストデータが、当該入力を行った視聴ユーザのアカウント情報及び当該入力が行われた時点での動画のタイムコードと対応付けて記憶される。
クライアント装置10a~10c及び/又は外部デバイス11a~11cからの非言語フィードバック情報は、非言語フィードバック情報23c2としてストレージ23に記憶される。図4に示されているように、非言語フィードバック情報は、非言語入力を行った視聴ユーザのアカウント情報及び当該入力が行われた時点での動画のタイムコードと対応付けて記憶される。既述のように、非言語フィードバック情報には、加速度センサにより検出される視聴ユーザの加速度、生体情報センサにより検出される視聴ユーザの生体情報、カメラの撮像データから判定される視聴ユーザによる動画の視聴有無を示す視聴有無情報、及び視聴ユーザの情動を示す情動情報が含まれ得る。非言語フィードバック情報23c2として、視聴ユーザの加速度、生体情報センサにより検出される視聴ユーザの生体情報、視聴ユーザによる動画の視聴有無を示す視聴有無情報、及び視聴ユーザの情動を示す情動情報のうちの一つ以上の情報が記憶され得る。
クライアント装置10a~10cからの評価情報は、評価情報23c3としてストレージ23に記憶される。図5に示されているように、評価情報は、評価を決定した視聴ユーザのアカウント情報及び当該評価の入力が行われた時点での動画のタイムコードと対応付けて記憶される。評価情報23c3として、肯定的な評価がなされた回数(例えば、Like数)を示す情報、否定的な評価がなされた回数を表す情報(例えば、Dislike数)、レーティング情報、視聴ユーザの動画に対する感情をを表現するエモーション情報(例えば、拍手数、疑問符数)のうちの一つ以上の情報が記憶され得る。
クライアント装置10a~10cからのギフト情報は、ギフト情報23c4としてストレージ23に記憶される。図6に示されているように、ギフト情報は、ギフト購入処理またはギフィティグ処理を行った視聴ユーザのアカウント情報及び当該ギフト購入処理またはギフィティグ処理が行われた時点での動画のタイムコードと対応付けて記憶される。ギフト情報23c4として、購入されたギフトの種類、数量及び購入額を示すギフト購入情報及びアクターに提供されたギフトの種類、数量、及び購入金額を示すギフティング情報のうちの一つ以上の情報が記憶され得る。
アクター情報23c5は、アクターA1及びアクターA2の動きを示す情報である。一実施形態においては、アクターA1及びアクターA2のボディモーションデータ、アクターA1及びアクターA2のフェイスモーションデータ、及び、マイクにより取得されたアクターA1及びアクターA2の声量を含む音声データが、所定のサンプリングレートで取得され、この取得された加速度及び音声データが、動画のタイムコードと対応付け可能なタイムコードとともにアクター情報23c5として記憶される。後述するように、アクターA1及びアクターA2のフェイスモーションデータに基づいて、アクターA1及びアクターA2の表情の動きに同期して表情が動くキャラクタオブジェクトのアニメーションが生成される。キャラクタオブジェクトの顔の画像として、アクターのフェイスモーションデータに基づいて生成されるアニメーションの代わりに、予め準備された嵌め込み画像を用いることができる。嵌め込み画像は、アクターA1、アクターA2、サポーターB1、及びサポーターB2のうちのいずれかからの指示によりキャラクタオブジェクトの顔の画像として用いられる。アクター情報23c5には、この嵌め込み画像を用いた顔画像の生成が行われたか否かを示す顔入力データが含まれてもよい。
次に、コンピュータプロセッサ21により実現される機能についてより具体的に説明する。コンピュータプロセッサ21は、動画配信プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより、ボディモーションデータ生成部21a、フェイスモーションデータ生成部21b、アニメーション生成部21c、動画生成部21d、動画配信部21e、表示要求処理部21f、アクター情報管理部21g、受信情報管理部21h、及びタイムライン情報生成部21iとして機能する。コンピュータプロセッサ21により実現される機能の少なくとも一部は、動画配信システム1のコンピュータプロセッサ21以外のコンピュータプロセッサにより実現されてもよい。コンピュータプロセッサ21により実現される機能の少なくとも一部は、例えば、サポーターコンピュータ40に搭載されているコンピュータプロセッサにより実現されてもよい。
ボディモーションデータ生成部21aは、モーションセンサ31a~31fの各々の検出情報に基づいて、アクターA1の体の各部位の第1ボディモーションデータを生成し、また、モーションセンサ32a~32fの各々の検出情報に基づいて、アクターA2の体の各部位の位置及び向きのデジタル表現である第2ボディモーションデータを生成する。本明細書では、第1ボディモーションデータ及び第2ボディモーションデータを総称して単に「ボディモーションデータ」と呼ぶことがある。ボディモーションデータは、時間の経過に伴って随時生成される。例えば、ボディモーションデータは、所定のサンプリングレートごとに生成されてもよい。このように、ボディモーションデータは、アクターA1及びアクターA2の体の動きを時系列的にデジタルデータとして表現することができる。図示の実施形態においては、モーションセンサ31a~31f及びモーションセンサ32a~32fは、アクターA1及びアクターA2の各々の左右の手足、腰、及び頭部に装着されているため、モーションセンサ31a~31f及びモーションセンサ32a~32fの検出情報に基づいて、アクターA1及びアクターA2の概ね全身の位置及び向きを経時的にデジタル表現することが可能である。ボディモーションデータは、例えば、モデルデータ23aに含まれるリグデータを構成する骨(ボーン)の位置及び回転角度を規定することができる。
フェイスモーションデータ生成部21bは、カメラ37aの撮像データに基づいて、アクターA1の顔の動きのデジタル表現である第1フェイスモーションデータを生成し、また、カメラ38aの各々の撮像データに基づいて、アクターA2の顔の動きのデジタル表現である第2フェイスモーションデータを生成する。本明細書では、第1フェイスモーションデータ及び第2フェイスモーションデータを総称して単に「フェイスモーションデータ」と呼ぶことがある。フェイスモーションデータは、時間の経過に伴って随時生成される。例えば、フェイスモーションデータは、所定のサンプリングレートごとに生成されてもよい。このように、フェイスモーションデータは、アクターA2及びアクターA2の顔の動き(表情の変化)及びキャラクタオブジェクトの表情に反映される変形寄与率を時系列的にデジタル表現することができる。
アニメーション生成部21cは、ボディモーションデータ生成部21aによって生成されたボディモーションデータ及びフェイスモーションデータ生成部21bによって生成されたフェイスモーションデータを、モデルデータ23aに含まれる所定のモデルデータに適用することにより、仮想空間内で動き、また、表情が変化するキャラクタオブジェクトのアニメーションを生成するように構成される。具体的には、アニメーション生成部21cは、アクターA1に関する第1ボディモーションデータ及び第1フェイスモーションデータに基づいて、アクターA1の体及び表情の動きに同期して動くキャラクタオブジェクトのアニメーションを生成し、アクターA2に関する第2ボディモーションデータ及び第2フェイスモーションデータに基づいて、アクターA2の体及び表情の動きに同期して動くキャラクタオブジェクトのアニメーションを生成することができる。本明細書においては、アクターA1の動き及び表情に基づいて生成されたキャラクタオブジェクトを「第1キャラクタオブジェクト」といい、アクターA2の動き及び表情に基づいて生成されたキャラクタオブジェクトを「第2キャラクタオブジェクト」ということがある。キャラクタオブジェクトのアニメーションを生成する際には、オクルージョンやノイズを抑制するために、当該キャラクタオブジェクトのキネマティクスがインバースキネマティクス又はこれ以外のアルゴリズムで補完されてもよい。
フェイスモーションデータをモデルデータに適用してキャラクタオブジェクトの表情を変化させる処理は、プロセッサにとって処理負荷が高い。このため、キャラクタオブジェクトの表情がアクターの表情にタイムリーに追従できないことがある。アニメーション生成部21cは、予め準備されている嵌め込み画像を顔の画像として組み込んだキャラクタオブジェクトを生成し、この嵌め込み画像が顔画像として嵌め込まれたキャラクタオブジェクトを含む動画を配信することにより、キャラクタオブジェクトの表情がアクターの表情に追従できないことによる動画の品質の低下を防ぐことができる。
動画生成部21dは、オブジェクトデータ23bを用いて仮想空間を構築し、この仮想空間と、アクターA1に対応する第1キャラクタオブジェクトのアニメーションと、アクターA2に対応する第2キャラクタオブジェクトのアニメーションと、を含む動画を生成する。第1キャラクタオブジェクトは、デジタルカメラ36aにより撮像されるアクターA1の位置及び向きに合致するように仮想空間内に配置され、第2キャラクタオブジェクトは、デジタルカメラ36aにより撮像されるアクターA1の位置及び向きに合致するように仮想空間内に配置される。したがって、デジタルカメラ36aの撮像設定情報(カメラの位置、撮像方向、及び画角の少なくとも一つ)を変更することにより、仮想空間内における第1キャラクタオブジェクト及び第2キャラクタオブジェクトの位置及び向きを変化させることができる。
一態様において、動画生成部21dは、デジタルカメラ36aの撮像設定情報に基づいて仮想空間を構築する。例えば、動画生成部21dは、デジタルカメラ36aの撮像設定情報に基づいて仮想カメラの設定情報(注視位置、注視方向、及び画角)を定め、この仮想カメラの設定情報に基づいて仮想空間全体のうちの描画領域を定め、この仮想空間の描画領域を表示するための動画情報を生成する。
動画生成部21dは、デジタルカメラ36aの撮像設定情報に代えて、または、デジタルカメラ36aの撮像設定情報に加えて、デジタルカメラ36bの撮像設定情報に基づいて、仮想空間内における第1キャラクタオブジェクト及び第2キャラクタオブジェクトの位置及び向き、及び、仮想カメラの設定情報を定めるように構成されてもよい。動画生成部21dは、デジタルカメラ36a及びデジタルカメラ36bのうちから選択されたカメラ(本明細書において、「アクティブカメラ」と呼ぶことがある。)の撮像設定情報に基づいて仮想カメラの設定情報を定めるように構成されてもよい。
動画生成部21dは、生成した動画に、スタジオユニット30のマイクから取得したアクターA1及びアクターA2の音声を合成することができる。
以上のようにして、動画生成部21dは、アクターA1の体及び表情の動きに同期して動く第1キャラクタオブジェクトのアニメーション、並びに、アクターA2の体及び表情の動きに同期して動く第2キャラクタオブジェクトのアニメーションを生成し、このアニメーションにアクターA1及びアクターA2の音声が合成された配信用の動画を生成することができる。
動画配信部21eは、動画生成部21dにおいて生成された動画を所定のフレームレート(例えば、60fps)で符号化し、この符号化された動画を配信する。この符号化により作成された各フレームにはタイムコードが挿入される。この動画は、ネットワーク50を介してクライアント装置10a~クライアント装置10c及びこれら以外のクライアント装置に配信される。受信された動画は、クライアント装置10a~クライアント装置10cにおいて再生される。
この動画は、スタジオルームR内に設置されているクライアント装置(不図示)に配信され、このクライアント装置から短焦点プロジェクタを介してスクリーンSに投影されてもよい。また、この動画は、サポーターコンピュータ40に配信されてもよい。これにより、サポーターB1及びサポーターB2は、配信されている動画の視聴画面を確認することができる。
サーバ装置20からクライアント装置10aに配信され、このクライアント装置10aにおいて再生されている動画の表示例が図8に示されている。図示のように、サーバ装置20から配信された動画の表示画像70は、クライアント装置10aのディスプレイに表示される。このクライアント装置10aに表示されている表示画像70は、仮想空間内に、アクターA1に対応するキャラクタオブジェクト71Aと、アクターA2に対応するキャラクタオブジェクト71Bと、このフロア上に置かれたテーブルを示すテーブルオブジェクト72と、が含まれている。
キャラクタオブジェクト71Aは、アクターA1の第1ボディモーションデータ及び第1フェイスモーションデータをモデルデータ23aに含まれているアクターA1用のモデルデータに適用することにより生成される。キャラクタオブジェクト71Aは、第1ボディモーションデータ及び第1フェイスモーションデータに基づいてモーション制御される。キャラクタオブジェクト71Bは、アクターA2の第2ボディモーションデータ及び第2フェイスモーションデータを、モデルデータ23aに含まれているアクターA2用のモデルデータに適用することにより生成される。キャラクタオブジェクト71Bは、第2ボディモーションデータ及び第2フェイスモーションデータに基づいてモーション制御される。したがって、キャラクタオブジェクト71Aは、アクターA1の体及び表情の動きに同期して画面内で動くように制御され、キャラクタオブジェクト71Bは、アクターA2の体及び表情の動きに同期して画面内で動くように制御される。
一態様において、動画生成部21dは、視聴ユーザから特定のギフトオブジェクトの表示要求を受け付けると、当該表示要求に基づいて、表示が要求されたギフトオブジェクトを動画の表示画像70に表示させるための処理を行う。例えば、紙吹雪に対応するギフトオブジェクト及び熊のぬいぐるみを示す通常オブジェクトの表示要求がなされた場合には、動画生成部21dは、図9に示すように、当該表示要求に基づいて紙吹雪を示すオブジェクト73及び熊のぬいぐるみを示すオブジェクト74を表示画像70に表示させる。
上記のように、サーバ装置20からの配信動画は、サポーターコンピュータ40に配信されてもよい。サポーターコンピュータ40に配信された動画は、サポーターコンピュータ40において図4と同様に表示される。サポーターB1及びサポーターB2は、サポーターコンピュータ40において再生されている動画を見て、スタジオユニット30の構成要素の設定を変更することができる。一態様において、サポーターB1及びサポーターB2は、配信中の動画においてキャラクタオブジェクト71A及びキャラクタオブジェクト71Bのアングルを変更したい場合には、デジタルカメラ36aの撮像方向の変更を指示する指示信号をサポーターコンピュータ40からデジタルカメラ36aに送信することができる。デジタルカメラ36aは、当該指示信号に応じて、撮像方向を変更することができる。例えば、デジタルカメラ36aは、スタンドにその軸周りにアクチュエータを内蔵した回動機構を介して回動可能に取り付けられており、デジタルカメラ36aが撮像方向の変更を指示する指示信号を受信すると、当該指示信号に基づいて当該回動機構のアクチュエータが駆動され、当該指示信号に応じた角度だけデジタルカメラ36aが回動されてもよい。一態様において、サポーターB1及びサポーターB2は、画角の変更を指示する指示信号をサポーターコンピュータ40からデジタルカメラ36aに送信してもよい。一態様において、サポーターB1及びサポーターB2は、デジタルカメラ36aからの撮像設定情報に代えて、デジタルカメラ36bからの撮像設定情報を用いるための指示をサポーターコンピュータ40からデジタルカメラ36a及びデジタルカメラ36bに送信してもよい。
一態様において、サポーターB1及びサポーターB2は、サポーターコンピュータ40にて再生されている動画を見てアクターA1またはアクターA2に対する指示が必要と判断した場合には、その指示を示すメッセージをサポーターコンピュータ40に入力し、このメッセージをディスプレイ39に出力することができる。例えば、サポーターB1及びサポーターB2は、このディスプレイ39に表示されるメッセージを通じて、アクターA1またはアクターA2に対して立ち位置の変更を指示することができる。
表示要求処理部21fは、視聴ユーザのクライアント装置からギフトの表示要求を受け付け、当該表示要求に応じた処理を行う。各視聴ユーザは、自らのクライアント装置を操作することにより、ギフトの表示要求をサーバ装置20に送信することができる。例えば、第1視聴ユーザは、クライアント装置10aを操作することにより、ギフトの表示要求をサーバ装置20に送信することができる。ギフトの表示要求には、視聴ユーザのユーザIDと、表示を要求するギフトを特定する識別情報(オブジェクトID)が含まれてもよい。例えば、視聴ユーザから紙吹雪を模したギフトの表示要求がなされた場合には、表示要求処理部21fは、図9に示すように、当該表示要求に基づいて紙吹雪を示すオブジェクト73を表示画像70に表示させる。視聴ユーザから熊のぬいぐるみを模したギフトの表示要求がなされた場合には、表示要求処理部21fは、当該表示要求に基づいて表示が要求された熊のぬいぐるみを示すオブジェクト74を表示画像70に表示させる。
アクター情報管理部21gは、アクターA1及びアクターA2の動きを示すアクター情報を所定のサンプリングレートで取得し、取得したアクター情報をストレージ23に格納する。具体的には、アクター情報管理部21gは、モーションセンサ31a~31f及びモーションセンサ32a~32fの検出信号に基づいて、アクターA1及びアクターA2の所定の部位(例えば、頭部、腕、掌)の動きの加速度を算出し、算出した加速度にサンプリングレートに応じたタイムコードを付して、アクター情報23c5としてストレージ23に格納することができる。アクター情報管理部21gは、モーションセンサ31a~31f及びモーションセンサ32a~32fにより検出された3軸の加速度の二乗和平方根をアクター情報23c5としてストレージ23に記憶してもよい。アクター情報管理部21gは、スタジオRに備えられたマイクによって取得されたアクターA1及びアクターA2の音声データを取得し、取得した音声データをアクター情報23c5としてストレージ23に格納することができる。アクター情報23c5としては、音声データのうち声量を用いてもよい。アクター情報管理部21gは、アクターA1又はアクターA2のキャラクタオブジェクトの顔の画像として嵌め込み画像が用いられる場合には、嵌め込み画像を用いた顔画像の生成が行われたことを示す顔入力データをタイムコードと対応付けてストレージ23に格納することができる。
受信情報管理部21hは、クライアント装置10a~クライアント装置10cから取得された言語フィードバック情報、評価情報、及びギフト情報を、これらの情報がクライアント装置10a~クライアント装置10cにおいて取得されたときの動画のタイムコードと対応付けてストレージ23に格納する。言語フィードバック情報、評価情報、及びギフト情報はそれぞれ、言語フィードバック情報23c1、評価情報23c3、ギフト情報23c4としてストレージ23に格納される。また、受信情報管理部21hは、クライアント装置10a~クライアント装置10c及び外部デバイス11a~11cから取得された非言語フィードバック情報を動画のタイムコードと対応付けて非言語フィードバック情報23c2としてストレージ23に格納する。受信情報管理部21hは、クライアント装置10a~クライアント装置10c以外にもサーバ装置20から配信されている動画の視聴に用いられている多数のクライアント装置、及び、外部デバイス11a~11c以外の多数の外部デバイスから、言語フィードバック情報、非言語フィードバック情報、評価情報、及びギフト情報を受信し、この受信した情報に基づいて、言語フィードバック情報23c1、非言語フィードバック情報23c2、評価情報23c3、及びギフト情報23c4を随時更新する。
タイムライン情報作成部21iは、ストレージ23に格納されている非言語フィードバック情報23c2及びアクター情報23c5を時系列に表すタイムライン情報を作成する。タイムライン情報には、言語フィードバック情報23c1、評価情報23c3、及びギフト情報23c4の少なくとも一部が含まれてもよい。タイムライン情報は、非言語フィードバック情報23c2及びアクター情報23c5を時系列に表す情報である。タイムライン情報作成部21iは、作成したタイムライン情報をディスプレイに表示することができる。タイムライン情報は、ディスプレイ39、サポーターコンピュータ40が備えるディスプレイ、及びこれら以外のディスプレイにリアルタイムで表示され得る。作成されたタイムライン情報は、ストレージ23に記憶されてもよい。動画作成者は、動画やアクターのパフォーマンスに対する視聴ユーザの反応を分析する際に、ストレージ23からタイムライン情報を読み出して利用することができる。
図10に、タイムライン情報の表示例を示す。図示のように、一実施形態におけるタイムライン情報80は、アクター情報23c5に基づいて生成されたグラフ82~グラフ84、非言語フィードバック情報23c2に基づいて生成されたグラフ85、及びその他のグラフ86~88を含む。グラフ82~88は、アクター情報に付与されたタイムコードと、配信される動画ストリームに付与されたタイムコードとを、所定の基準時刻を基準として整合させることにより、アクター情報に付与されたタイムコードに従って作成されるグラフ82~84と動画ストリームに付与されたタイムコードに従って作成されるグラフ85~88とを同期させることができる。つまり、グラフ82~88は、統一されたタイムライン上に表示される。
グラフ82は、アクターA1の動きの加速度を時系列に示すグラフである。グラフ83は、アクターA1の声量を時系列に示すグラフである。グラフ84は、アクターA1のキャラクタについて嵌め込み画像を用いた顔画像の生成が行われたか否かを示す顔入力データを時系列に示すグラフである。グラフ84におけるパルス84a及びパルス84bは、パルス84a及びパルス84bが発生した時刻において嵌め込み画像を用いた顔画像の生成が行われたこと意味する。グラフ82~グラフ84はいずれも、ストレージ23に格納されているアクター情報23c5に基づいて作成され得る。タイムライン情報80は、アクターA2についてもグラフ82~グラフ84と同様のグラフを含んでも良い。
グラフ85は、動画視聴中における第1視聴ユーザの動きの加速度を時系列に示すグラフである。グラフ85は、ストレージ23に格納されている非言語フィードバック情報23c2に基づいて作成され得る。グラフ85は、単一の視聴ユーザ(例えば、クライアント装置10aを使用する第1視聴ユーザ)の加速度を表すグラフでもよいし、複数の視聴ユーザの加速度を加算して得られる加速度の和又は複数の視聴ユーザの加速度の平均値を表すグラフであってもよい。単一の視聴ユーザの個別の視聴状態の把握のためには、単一の視聴ユーザの加速度を示すグラフが用いられ、視聴ユーザの視聴状態の平均的傾向を把握するためには複数の視聴ユーザの加速度の和または平均値が用いられ得る。図示の例においては、グラフ85は、複数の視聴ユーザの加速度の単位時間あたりの平均値が示されている。
グラフ86は、視聴ユーザから投稿された単位時間(例えば1秒又は1分)あたりのコメント数を時系列に示すグラフである。グラフ86は、ストレージ23に格納されている言語フィードバック情報23c1に基づいて作成され得る。グラフ86は、単一の視聴ユーザから投稿された単位時間ごとのコメント数を表すグラフでもよいし、複数の視聴ユーザから投稿された単位時間ごとのコメント数の合計又は平均値を表すグラフであってもよい。グラフ86は、言語フィードバック情報23c1に基づいて所定時間間隔ごとに投稿されたコメント数を単位時間ごとにカウントし、このカウント値を縦軸にプロットすることで作成され得る。
グラフ87は、視聴ユーザから投稿された単位時間(例えば1秒又は1分)あたりの評価情報を時系列に示すグラフである。図示の例では、グラフ87は、評価情報23c3に基づいて所定時間間隔ごとに視聴ユーザから投稿された動画に対する肯定的な評価の数(Like数)をカウントし、このカウント値を縦軸にプロットすることで作成され得る。つまり、グラフ87の縦軸は、単位時間ごとに動画に対する肯定的な評価がなされた回数(Like数)を示す。グラフ87に代えて、または、グラフ87に加えて、視聴ユーザから投稿された動画に対する否定的な評価がなされた回数(Dislike数)、レーティング情報、及び視聴ユーザの動画に対する感情を表現するエモーション情報の少なくとも一つを時系列に示すグラフが表示されてもよい。グラフ87は、ストレージ23に格納されている評価情報23c3に基づいて作成され得る。グラフ87は、単一の視聴ユーザからの評価情報(例えばLike数)を表すグラフでもよいし、複数の視聴ユーザからの評価情報の合計又はその平均値を表すグラフであってもよい。
グラフ88は、視聴ユーザが購入したギフト又は視聴ユーザによってアクターに提供されたギフトに関するギフト情報を時系列に示すグラフである。図示の例では、グラフ88は、視聴ユーザからアクターA1に提供(ギフティング)された単位時間(例えば1秒又は1分)あたりのギフトの数量を示す。グラフ88は、視聴ユーザからアクターA1に提供されたギフトの数量の所定時間ごとの平均を示してもよい。グラフ88に代えて、または、グラフ88に加えて、視聴ユーザによってアクターA1に提供(ギフティング)されたギフトの購入額を示すグラフ、視聴ユーザによって購入された(又は購入が検討された)ギフトの数量や購入額(アクターに実際に提供されたか否かは問わない)を示すグラフ、及び視聴ユーザによってギフト購入のために取得されたポイントの数量を表すグラフの少なくとも一つが表示されてもよい。グラフ88は、ギフトの種類ごとに表示されてもよい。例えば、ギフトが3種類存在する場合には、グラフ88は、当該3種類のギフトの各々に対応するグラフの集合であってもよい。例えば、ギフトには、アクターA1のキャラクタオブジェクトの背後に表示される第1ギフト、アクターA1のキャラクタオブジェクトの前に表示される第2ギフト、アクターA1のキャラクタオブジェクトに装着される第3ギフトを含んでもよい。グラフ88がギフトの各種類に対応するグラフを含む場合には、ギフトの種類ごとに、ギフティング数、購入数量、及び購入金額を管理することができる。グラフ88は、ストレージ23に格納されているギフト情報23c4に基づいて作成され得る。グラフ88は、単一の視聴ユーザによって購入またはギフティングされたギフトの数量や購入額を示すグラフでもよいし、複数の視聴ユーザによって購入またはギフティングされたギフトの数量や購入額の合計値を表すグラフであってもよい。
以上のように、タイムライン情報80は、アクターの行動を示すアクター情報と視聴ユーザからの非言語フィードバック情報とを同期させて時系列に表すことができるので、動画制作者または動画配信者(例えば、アクターA1、アクターA2、サポーターB1、及びサポーターB2)は、タイムライン情報80に基づいて、アクターのパフォーマンスについての有用なフィードバックを得ることができる。特に、視聴ユーザの非言語フィードバックを表すグラフ85をアクターの動きを示すグラフ82~84と比較することにより、アクターのパフォーマンスに関する有用な情報が得られる。例えば、グラフ85には、表示されている配信期間中に3つのピーク85a,85b,85cを有する。この3つのピーク85a,85b,85cは、動画を視聴中に各ピークの発生時刻において視聴ユーザが笑ったと推定されることを示している。そして、図示の実施形態においては、グラフ84を参照することにより、ピーク85a及びピーク85bの少し前の時間に嵌め込み画像を用いた顔画像の生成が行われたことが分かるので、顔画像に嵌め込み画像が嵌め込まれたタイミングで笑った視聴ユーザが多いと推定することができる。
グラフ86にはピーク86aが発生しており、グラフ87にはピーク87aが発生している。これらのピーク86a及びピーク87aが発生した時刻の前におけるアクター情報を分析することにより、アクターのパフォーマンスについてさらに有用なフィードバックが得られる可能性がある。ただし、グラフ86及びグラフ87は、コメントのテキスト入力や評価情報の入力と言った視聴ユーザの意図的な行動を検出しているため、視聴ユーザが入力を意図した時刻よりもピーク86a及びピーク87aが発生している時刻が遅延していることを考慮することが必要である。
グラフ87からは、視聴ユーザがアクターのどのようなパフォーマンスに対して肯定的な評価を行ったのかを把握することができる。上記のように、グラフ87は、視聴ユーザの動画に対する感情を表現するエモーション情報を時系列に表すグラフであってもよい。つまり、グラフ87は、視聴者ユーザのエモーション情報の合計又はエモーション情報の単位時間当たりの平均の時間推移を示すグラフであってもよい。このように、エモーション情報の時間推移を示すグラフ87と、アクター情報に基づいて生成されたグラフ82~84と、を統一されたタイムライン上に表示することができる。よって、グラフ82~84及びグラフ87に基づいて、アクターのどのようなパフォーマンス、動き、又は演出表現が、視聴ユーザによるエモーション情報を通じたフィードバックを生じさせたのかを把握することができる。動画の制作者は、このようにして把握されるアクターのパフォーマンス、動き、又は演出表現と視聴ユーザのエモーション表現を通じたフィードバックとの関係に基づいて、動画制作時の演出の改善を行うことができる。また、上記のようにして把握されるアクターのパフォーマンス、動き、又は演出表現と視聴ユーザのエモーション表現を通じたフィードバックとの関係に基づいて、視聴ユーザへの動画のリコメンドを行うことができる。
グラフ87は、個別の視聴ユーザについて、当該視聴ユーザから提供されたエモーション情報を時系列で示すグラフであってもよい。この場合、個別の視聴ユーザからのエモーション情報の時間推移を示すグラフ87と、アクター情報に基づいて生成されたグラフ82~84と、を統一されたタイムライン上に表示することができる。これにより、個別の視聴ユーザから提供されたエモーション情報に基づいて、動画制作時の演出の改善や、当該視聴ユーザへの動画のリコメンドを行うことができる。
動画制作時の演出の改善の非限定的な例は以下のとおりである。例えば、あるエモーション(例えば、驚き)のフィードバックを増加させることを意図する場合、ある配信動画に関して統一されたタイムライン上に表示されたグラフ87及びグラフ82~84に基づいて、所定のエモーションの表出に寄与したアクターのパフォーマンス、動き、又は演出表現(以下、「アクター表現」と総称することがある。)を把握し、別の動画の作成時には、当該所定のエモーションの表出に寄与したアクター表現の回数や頻度を増やすことにより、当該別の動画において、当該所定のエモーションのフィードバックの増加を図ることができる。エモーションの増加に関する上記の手法と同様の手法によって、動画に対するLike数及びギフティング数の増加を図ることもできる。
タイムライン情報80に基づいて、動画配信システム1のスループットを評価するためにサーバ装置20のパフォーマンスを最適化するための有用なフィードバックが得られる。
タイムライン情報80に基づいて、表示要求処理部21fにおけるギフトの表示要求の処理、コメントのリクエスト処理、及び動画生成部21dにおける動画生成処理の負荷分析のために有用なフィードバックが得られる。
タイムライン情報80に基づいて、望ましい視聴ユーザの反応を再現するために有用なフィードバックが得られる。これにより、制作される動画コンテンツの品質向上を図ることができる。
次に、図11を参照して、一態様による動画配信処理について説明する。図11は、一実施形態における動画配信処理の流れを示すフロー図であり、動画配信処理においては、スタジオルームRにおいてアクターA1及びアクターA2がパフォーマンスを行っていることが想定されている。
まず、ステップS11では、アクターA1及びアクターA2の体の動きのデジタル表現であるボディモーションデータと、アクターA1及びアクターA2の顔の動き(表情)のデジタル表現であるフェイスモーションデータと、が生成される。ボディモーションデータの生成は、例えば、上記のボディモーションデータ生成部21aで行われ、フェイスモーションデータの生成は、例えば、上記のフェイスモーションデータ生成部21bで行われる。
次に、ステップS12において、アクターA1のボディモーションデータ及びフェイスモーションデータを、アクターA1用のモデルデータに適用することにより、アクターA1の体及び表情の動きに同期して動く第1キャラクタオブジェクトのアニメーションが生成される。同様に、アクターA2のボディモーションデータ及びフェイスモーションデータを、アクターA2用のモデルデータに適用することにより、アクターA2の体及び表情の動きに同期して動く第2キャラクタオブジェクトのアニメーションが生成される。このアニメーションの生成は、例えば、上記のアニメーション生成部21cで行われる。
次に、ステップS13において、アクターA1に対応する第1キャラクタオブジェクトのアニメーションと、アクターA2に対応する第2キャラクタオブジェクトのアニメーションと、を含む動画を生成する。この動画には、アクターA1及びアクターA2の音声が合成されてもよい。第1キャラクタオブジェクトのアニメーション及び第2キャラクタオブジェクトのアニメーションは、仮想空間内に配置されてもよい。この動画の生成は、例えば、上記の動画生成部21dで行われる。
次に、ステップS14に移行し、ステップS13にて生成された動画が配信される。この動画は、ネットワーク50を介してクライアント装置10a~クライアント装置10c及びこれら以外のクライアント装置に配信される。この動画は、サポーターコンピュータ40に配信され、また、スタジオルームR内のスクリーンSに投影されてもよい。動画は、所定の配信期間にわたって継続して配信される。動画の配信期間は、例えば、30秒間、1分間、5分間、10分、30分間、60分間、120分間、及びこれら以外の任意の時間に定め得る。
次に、ステップS15に移行し、ステップS14で配信された動画に対する視聴ユーザからのフィードバック情報を受信する。受信されたフィードバック情報は、配信された動画のタイムコードと対応付けてストレージ23に記憶される。ステップS15の処理は、例えば、上記の受信情報管理部21hによって行われる。
次に、ステップS16に進み、動画の配信を終了させるための終了条件が成就したか否かが判定される。終了条件は、例えば、配信の終了時刻に達したこと、サポーターコンピュータ40により配信を終了するための指示がなされたこと、またはこれら以外の条件である。終了条件が成就していなければステップS11~S15の処理が繰り返し実行され、アクターA1及びアクターA2の動きに同期したアニメーションを含む動画の配信が継続される。動画について終了条件が成就していると判定された場合には、当該動画の配信処理を終了する。
図11に示されているフローにおいて、各工程の順序を入れ替えることが可能である。例えば、フィードバック情報を受信する工程はステップS15として説明されているが、動画の配信期間中において、フィードバック情報は視聴ユーザからの入力に応じて随時受信される。また、ステップS11~ステップS16の各工程と並行して、クライアント装置10a~10cからサーバ装置20へ送信される情報に基づいて、評価情報及びギフト情報をストレージ23に記憶する処理が行われてもよい。評価情報及びギフト情報をストレージ23に記憶する処理は、上記の受信情報管理部21hによって行われてもよい。また、ステップS11~ステップS16の各工程と並行して、アクター情報をストレージ23に記憶する処理が行われてもよい。アクター情報をストレージ23に記憶する処理は、例えば、上記のアクター情報管理部21gによって行われてもよい。
続いて、図12を参照して、本発明の別の実施形態について説明する。図12は、本発明の別の実施形態において、コンピュータプロセッサ21で実現される追加的な機能を説明する模式図である。図12に示されている実施形態は、コンピュータプロセッサ21が、動画配信プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより、図1に示されている各機能に加えてダイジェスト動画作成部21j及びレコメンド部21kとしても機能する点で図1に示されている実施形態と異なる。よって、説明の簡潔性のために、以下では、図12の実施形態において追加的に実現されるダイジェスト動画作成部21j及びレコメンド部21kによって実現される機能について説明し、それ以外の機能については説明を省略する。
ダイジェスト動画作成部21jは、配信された動画に関する非言語フィードバック情報23c2及び必要に応じてこれ以外の情報に基づいて、当該動画のダイジェスト動画を作成する。ダイジェスト動画作成部21jは、例えば、非言語フィードバック情報23c2に基づいて視聴ユーザの反応が大きいと推測される高インパクト区間を特定し、この高インパクト区間を含むようにダイジェスト動画を作成することができる。非言語フィードバック情報として視聴ユーザの加速度が用いられる場合には、配信動画のうち視聴ユーザの加速度が所定値以上である区間を高インパクト区間として特定することができる。例えば、配信された動画全体のうち、視聴ユーザの加速度を示すグラフ85において加速度の値が閾値a1以上である区間D1、区間D2、区間D3に対応する動画がダイジェスト動画として特定される。特定されたダイジェスト動画は、視聴ユーザからの要求に応じて配信され得る。一実施形態において、クライアント装置10a~10cは、高インパクト区間のボディモーションデータ、フェイスモーションデータ、及び音声データの少なくとも一部を記憶することができる。クライアント装置10a~10cにおいては、記憶されているボディモーションデータ、フェイスモーションデータ、及び音声データを用いてダイジェスト動画をレンダリングすることにより、サーバ装置20からリアルタイムで配信されるボディモーションデータ、フェイスモーションデータ、及び音声データを用いてレンダリングを行う場合よりもレンダリング品質を向上させることができる。
サーバ装置は、アクターA1及びアクターA2の行動に基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画以外にも、複数の動画を配信することができる。この複数の動画の各々は、アクターA1及びアクターA2以外のアクターの動きに基づいて生成されるキャラクタオブジェクトのアニメーションを含むように生成される。サーバ装置20は、この複数の動画の各々について、各動画の作成のためにパフォーマンスを行ったアクターに関してアクター情報23c5と同様にアクター情報を取得し、この取得したアクター情報をストレージ23に記憶する。また、サーバ装置20は、当該複数の動画の各々を視聴した視聴ユーザから非言語フィードバック情報23c2情報と同様に非言語フィードバック情報を取得し、この取得した非言語フィードバック情報をストレージ23に記憶する。一実施形態において、レコメンド部21kは、複数の動画の各々についてストレージに記憶されているアクター情報23c5、非言語フィードバック情報23c2、及び必要に応じてこれら以外の情報に基づいて、ある動画を視聴した視聴ユーザに対して他の動画又は他の動画を作成するためにパフォーマンスを行ったアクターを推薦する。例えば、レコメンド部21kは、動画Aを視聴した視聴ユーザに対して、その動画Aに対する当該視聴ユーザの非言語フィードバック情報と類似する非言語フィードバック情報が記憶されている他の動画を抽出し、当該抽出された動画を当該視聴ユーザに対して推薦する。2つの動画の各々についての非言語フィードバック情報が互いに類似しているということは、その2つの動画に対して視聴ユーザが同様の非言語入力を行ったことを意味する。このため、当該2つの動画のうちの一方に関心を持って視聴したユーザは、その他方にも関心を持つ可能性が高いと考えられる。よって、動画Aを視聴した視聴ユーザに対して、その動画Aに対する当該視聴ユーザの非言語フィードバック情報と類似する非言語フィードバック情報が記憶されている他の動画を推薦することで、視聴ユーザが関心を持つと推定される動画を推薦することができる。他の実施形態において、レコメンド部21kは、動画Aを視聴した視聴ユーザに対して、当該動画Aの作成のためにパフォーマンスを行ったアクターに関するアクター情報と類似するアクター情報が記憶されている他の動画を抽出し、当該抽出された動画を当該視聴ユーザに対して推薦する。
一実施形態において、レコメンド部21kは、動画を複数のカテゴリーに分類することができる。動画の分類は、当該動画に対する視聴ユーザからのフィードバック情報に基づいて行われてもよい。例えば、動画に対して視聴ユーザから提供されたギフトの種類及び当該ギフトを提供したタイミングによって、当該動画の分類を定めることができる。具体的には、動画の終了1分前に花火を表示するためのギフトのギフティング数(又は購入数)が所定数(第1閾値)を超える動画はタイプAに分類され、動画の途中の任意の区間で花束を表示するためのギフトのギフティングが所定数(第2閾値)を超える動画はタイプBに分類される。レコメンド部21kは、タイプAの動画を視聴した視聴ユーザからのフィードバック情報に基づいて、当該視聴ユーザがタイプAの動画を好むか否かを判定し、この判定結果に応じて他の動画をレコメンドすることができる。レコメンド部21kは、例えば、視聴ユーザから肯定的な評価情報(Like)が提供されたとき、視聴ユーザからの非言語フィードバックに基づいて動画の途中で笑っていることが検出されたとき、またはこれら以外の条件を成就したときに、当該視聴ユーザがタイプAの動画を好むと判定することができる。このようなタイプAの動画を好むと判定された視聴ユーザに対しては、同じタイプAに属する動画がレコメンドされてもよい。これに対し、タイプAの動画を好まないと判定された視聴ユーザに対しては、タイプA以外のタイプに分類される動画がレコメンドされる。タイプAの動画を好まないと判定された視聴ユーザに対しては、タイプAの動画に対するネガティブな評価を設定し、リコメンドする動画を決定するためのリコメンドフィルタを生成するために当該ネガティブな評価を利用することができる。このようにして、多様なリコメンドフィルタを生成することができる。
続いて、本発明の別の実施形態について説明する。本発明の別の実施形態は、ライブ配信される動画に表示されているキャラクタと視聴ユーザとのインタラクションの向上に関する。
従来、特開2013-021466号公報に記載されているように、ライブ会場の映像を視聴する視聴ユーザの動作を検出し、この検出された動作に応じた表示を当該ライブ会場に設置されたディスプレイに表示するシステムが知られている。当該システムによれば、ライブ会場外の視聴ユーザの動作に基づいて生成された視聴ユーザの画像がライブ会場内のディスプレイに表示されることから、ライブ会場外にいる視聴ユーザに対してもライブに参加しているかのような体験を提供できるとされている。
配信動画に対するコメントの投稿を受け付け、この投稿されたコメントを投稿者のアバタとともに表示する技術も知られている。特開2012-120098号公報には、配信動画の表示領域の周囲にコメントを投稿した視聴ユーザのアバタや当該コメントを表示する動画配信システムが開示されている。
このように、従来の動画配信システムでは、視聴ユーザからのフィードバックに応じた演出は、アクターのキャラクタを表示するための表示領域とは別の表示領域に表示されている。つまり、従来の動画配信システムでは、視聴ユーザからのフィードバックに基づく演出は、アクターの行動に基づいて生成されるキャラクタオブジェクトのアニメーションやその周囲の当該キャラクタオブジェクトの表示領域を変更しないように行われている。
アクターの行動に基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画を視聴ユーザに配信する動画配信システムにおいては、視聴ユーザからのコメントを伝達されたアクターがそのコメントに応答するという演出も考えられる。しかしながら、コメント数が増加すると、アクターが多数のコメントの各々に応答することは困難である。このように、アクターの行動によって視聴ユーザとのインタラクションを活性化する試みには限界がある。
以上のように、従来は、視聴ユーザのフィードバックに基づく演出は、アクターのキャラクタオブジェクトに影響がないように行われている。また、アクターのキャラクタオブジェクトに変化が生じる場合であっても、その変化は、アクターの意識的な行動を介して生じている。上記のようにアクターの意識的な行動による視聴ユーザとのインタラクションの活性化には限界がある。
現実世界でのライブパフォーマンスにおいては、オーディエンスからのフィードバック(例えば、ライブコンサートでの拍手、声援、ブーイング)に応じてアクター(パフォーマー)に喜びなどの無意識的な反応が起こる。このようなアクターによる無意識的な反応は、アクターと視聴ユーザとのインタラクションの重要な要素と考えられる。従来の動画配信システムでは、アクターが意識的に行動を起こさない限り当該アクターのキャラクタオブジェクトの表示には変化が発生しないので、現実世界においてアクターに無意識的な反応が生じる可能性が高い場面であっても、キャラクタオブジェクトにはこのような無意識的な反応を反映するような表示は行われていない。
以下で図13を用いて説明する実施形態では、アクターが意識的な行動を取らなくとも、当該アクターの行動に基づいて生成されるキャラクタオブジェクトのアニメーションを変化させることができる動画配信システムが提供される。図12は、本発明の別の実施形態において、コンピュータプロセッサ21で実現される追加的な機能を説明する模式図である。図13に示されている実施形態は、コンピュータプロセッサ21が、動画配信プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより図1に示されている各機能に加えて外観変更部21lとしても機能する点で図1に示されている実施形態と異なる。よって、説明の簡潔性のために、以下では、図13の実施形態において追加的に実現される外観変更部21lによって実現される機能について説明し、それ以外の機能については説明を省略する。
図13の実施形態においても、サーバ装置20は、アクターの行動に基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画を配信し、その動画に対する視聴ユーザからのフィードバック情報を取得する。この視聴ユーザからのフィードバック情報には、既述のように、言語フィードバック情報と、非言語フィードバック情報と、が含まれる。
外観変更部21lは、動画を視聴する視聴ユーザからの当該動画に対するフィードバック情報に基づいて、当該動画に含まれるキャラクタオブジェクトの外観を変更する。フィードバック情報として視聴ユーザの加速度(非言語フィードバック情報)が用いられる場合には、外観変更部21lは、当該視聴ユーザの加速度の大きさに基づいてキャラクタオブジェクトの外観を変更することができる。例えば、外観変更部21lは、視聴ユーザの加速度に応じて、キャラクタオブジェクトの顔の赤みが強くなるように当該キャラクタオブジェクトの外観を変更することができる。これにより、非言語フィードバック情報に基づいて視聴ユーザから大きな反応があると推測される場合に、その視聴ユーザからの反応に応じてキャラクタオブジェクトの外観に自然な変更を生じさせることができる。キャラクタオブジェクトの外観に変更が加えられると、この外観に変更が生じたキャラクタオブジェクトを含む動画フレームが視聴ユーザに配信される。これにより、視聴ユーザは、キャラクタオブジェクトの外観の変化を認識することができる。視聴ユーザは、例えば、例えばキャラクタオブジェクトの顔の赤みが強まったことを見て、視聴ユーザの盛り上がりに反応してキャラクタオブジェクトに変化が起こったと認識することができる。外観変更部21lは、顔の赤みの変化以外にも様々な態様でキャラクタオブジェクトの外観を変化させることができる。
外観変更部21lは、非言語フィードバック情報以外の情報に基づいて、キャラクタオブジェクトの外観を変化させてもよい。例えば、外観変更部21lは、非言語フィードバック情報に代えて、または、非言語フィードバック情報に加えて、アクター情報に基づいてキャラクタオブジェクトの外観を変化させてもよい。具体的には、外観変更部21lは、アクター情報に基づいて、配信開始からのアクターの動きの累計が所定量以上となった場合に、当該アクターの動きに基づいて生成されるキャラクタオブジェクトの外観を変化させることができる。例えば、配信開始からのアクターの動きが所定量以上となった場合に、当該アクターの動きに基づいて生成されるキャラクタオブジェクトは、汗をかいているようにその外観が変更されてもよい。
このように、アクターの行動に基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画を配信し、当該動画を視聴する視聴ユーザからのフィードバックに基づいて、当該キャラクタオブジェクトの外観を変化させることにより、アクターの意識的な行動がなくても、視聴ユーザからのフィードバックに基づいてアクターのキャラクタオブジェクトの外観を変更することができる。これにより、アクターのキャラクタオブジェクトのアニメーションを含む動画において、アクターの負担を増やすことなく、アクターと視聴ユーザとのインタラクションを活性化することができる。
続いて、本発明の別の実施形態について説明する。本発明の別の実施形態は、視聴ユーザからのフィードバックのアクターへの伝達に関する。
既述のように、従来の動画配信システムでは、視聴ユーザからのテキスト形式のコメントを受け付け、その受け付けたコメントを配信中の動画に重畳して表示している。アクターの行動に基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画を配信する動画配信システムにおいては、アクターがテキスト形式で投稿されたコメントを読むことで視聴ユーザの反応を理解することができる。
しかしながら、視聴ユーザが投稿したコメントを動画に重畳して表示すると、元の動画が見づらくなり、視聴体験の劣化につながるおそれがある。また、ライブ配信の場合には、アクターがパフォーマンスを行いながら投稿されたコメントを読むことは困難な場合もある。そこで、コメント投稿以外の方法で視聴ユーザからのフィードバックをパフォーマンス中のアクターに伝える手法が望まれる。
以下で図14を用いて説明する実施形態では、視聴ユーザからのフィードバック情報に基づいてアクターA1に装着されているアクターデバイス91のアクチュエータ91a及び/又はアクターA2に装着されているアクターデバイス92のアクチュエータ92aを駆動することで、アクターA1及び/又はアクターA2に対して視聴ユーザからのフィードバックを伝達することができる動画配信システムが提供される。図14は、本発明の別の実施形態において、コンピュータプロセッサ21で実現される追加的な機能を説明する模式図である。図14に示されている実施形態は、コンピュータプロセッサ21が、動画配信プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより図1に示されている各機能に加えてアクターデバイス駆動部21mとしても機能する点で図1に示されている実施形態と異なる。よって、説明の簡潔性のために、以下では、図14の実施形態において追加的に実現されるアクターデバイス駆動部21mによって実現される機能について説明し、それ以外の機能については説明を省略する。
アクターデバイス駆動部21mは、動画を視聴する視聴ユーザからの当該動画に対するフィードバック情報に基づいて、アクターデバイス91のアクチュエータ91a及びアクターデバイス92のアクチュエータ92aの少なくとも一方を駆動する駆動信号を生成する。フィードバック情報として視聴ユーザの加速度(非言語フィードバック情報)が用いられる場合には、アクターデバイス駆動部21mは、当該視聴ユーザの加速度の大きさに基づいて駆動信号を生成することができる。例えば、アクターデバイス駆動部21mは、非言語フィードバック情報23c2を参照し、視聴ユーザの加速度が所定の値(例えば、閾値a1)以上となったときに、駆動信号を生成することができる。アクターデバイス駆動部21mは、駆動信号の電圧を視聴ユーザの加速度に応じて変化させることができる。これにより、アクチュエータ91a及びアクチュエータ92aは、駆動信号の電圧に応じて異なる振幅で振動することができる。
生成された駆動信号は、アクターデバイス91及び/又はアクターデバイス92に送信される。アクチュエータ91aは、アクターデバイス91において受信された駆動信号に基づいて駆動される。アクチュエータ92aは、アクターデバイス92において受信された駆動信号に基づいて駆動される。アクチュエータ91a,92aは、駆動信号に基づいて振動するように構成されてもよい。
上記の実施形態によれば、視聴ユーザからのフィードバック情報をアクターデバイス91のアクチュエータ91a及びアクターデバイス92のアクチュエータ92aを作動させることによりアクターA1及びアクターA2に伝達することができる。これにより、アクターA1及びアクターA2は、アクチュエータ91a及びアクチュエータ92aの作動によって視聴ユーザからのフィードバックを知覚することができる。アクチュエータ91a及びアクチュエータ92aは、例えば、駆動信号に基づいて振動するように構成される。この場合、アクチュエータ91a及びアクチュエータ92aの振動によって、アクターA1及びアクターA2に直感的にフィードバックを伝達することができる。
以上の実施形態によって奏される作用効果について説明する。上記の一実施形態においては、動画のためにパフォーマンスを行うアクター(例えば、アクターA1及びアクターA2)の行動を示すアクター情報、及び、ユーザデバイス(例えば、クライアント装置10a~10c及び外部デバイス11a~11c)により検出された視聴ユーザからの非言語フィードバックを示す非言語フィードバック情報を、配信された動画のタイムコードに対応付けて記憶している。ユーザデバイスにより検出された視聴ユーザからの非言語フィードバックは、視聴ユーザのテキスト入力による遅延が発生するテキスト形式の入力よりも、視聴ユーザが入力を意図した時刻と近い時刻に記録され得る。これにより、所定の時刻においてアクター情報と非言語フィードバック情報とを対比することにより、視聴ユーザの非言語フィードバックがアクターのどの行動に向けられたものかを正しく把握することができる。このように、上記実施形態によれば、アクターなどの動画制作者に対して有用なフィードバックが提供される。
上記の一実施形態において、非言語フィードバック情報には、前記視聴ユーザによって保持されるユーザデバイスの加速度が含まれるので、動画の視聴中に視聴ユーザがユーザデバイスを保持しているだけで、視聴ユーザの非言語フィードバックを示す非言語フィードバック情報が検出可能となる。
上記の一実施形態において、非言語フィードバック情報には、前記視聴ユーザの情動を示す情動情報が含まれる。情動は、ユーザの意思による制御が難しいため、視聴ユーザの情動情報は、言語フィードバック情報よりも当該視聴ユーザの動画に対する自然な(無意識の)反応が得られる。視聴ユーザからの意識的なフィードバックは、作為的なものとなり得る。例えば、意図的なフィードバックにおいては、動画やアクターに対して実際に感じている以上にポジティブな又はネガティブな反応が示されることがある。このように、意図的なフィードバックは、視聴ユーザの感じ方を正しく反映していないことがある。情動情報には、視聴ユーザのより無意識的なフィードバックが含まれるので、情動情報を得ることにより、動画制作者によってより有用なフィードバックが得られる。
上記の一実施形態において、視聴ユーザからの言語フィードバックを示す言語フィードバック情報も、動画のタイムコードに対応付けて記憶される。これにより、アクター情報と対応付けて視聴者ユーザからの意識的な言語フィードバック情報も記録することができる。これにより、アクターなどの動画制作者に対してより有用なフィードバックが提供される。
上記の一実施形態において、視聴ユーザによる評価を示す評価情報も、動画のタイムコードに対応付けて記憶される。これにより、アクター情報と対応付けて視聴ユーザからの評価フィードバックも記録することができるので、動画制作者は、アクターのどのような動作が視聴ユーザに高く評価されたかを把握することができる。
上記の一実施形態において、視聴ユーザから前記アクターへ提供されるギフトを示すギフト情報も、動画のタイムコードに対応付けて記憶される。これにより、視聴ユーザによるギフトの購入または視聴ユーザからのギフトの提供(ギフティング)に結びつくアクターの行動を把握することが可能となる。
上記の一実施形態において、タイムコードに基づいて、アクター情報及び非言語フィードバック情報を含むタイムライン情報80がディスプレイに表示される。これにより、アクターの行動に対する視聴ユーザからの非言語フィードバックの視覚的な理解が可能となる。
上記の一実施形態において、タイムライン情報80は、前記アクターによって視認可能な位置に配置されたディスプレイに表示される。これにより、アクターに対して、自らのパフォーマンスに対する視聴ユーザからのフィードバックをリアルタイムで視覚的に理解させることができる。
上記の一実施形態においては、アクター情報及び非言語フィードバック情報に基づいて、配信された動画のダイジェスト動画が作成される。これにより、視聴ユーザからの非言語フィードバックに基づいたダイジェスト動画を作成することができる。従来のダイジェスト動画は、動画全体のうち動画作成者の観点からハイライトすべきと考えられる部分が選択され、その選択されたシーンを含むようにダイジェスト動画が作成されていた。このようにして作成されるダイジェスト動画は、配信者や作成者の主観的な評価によってハイライトシーンが選択されているため、必ずしも視聴ユーザに望まれるシーンが含まれているとは限らない。上記実施形態によれば、動画作成者の主観ではなく視聴ユーザからのより無意識的な反応が反映される非言語フィードバック情報に基づいてダイジェスト動画が作成される。よって、視聴ユーザに望まれる又は視聴ユーザの注目を受けるシーンを含むダイジェスト動画の作成が可能となる。
上記の一実施形態においては、アクター情報及び非言語フィードバック情報に基づいて、配信された動画の視聴ユーザに、当該動画のキャラクタオブジェクトのアニメーションを作成するためにパフォーマンスを行ったアクター以外のアクターが推薦される。これにより、アクター情報及び非言語フィードバック情報に基づいて、視聴ユーザに対してアクターを推薦することが可能となる。
上記の一実施形態においては、アクターの行動に基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画を配信し、その動画を視聴する視聴ユーザからのフィードバック情報に基づいて、当該キャラクタオブジェクトの外観を変化させることができる。これにより、アクターの意識的な行動がなくても、視聴ユーザからのフィードバック情報に基づいてアクターのキャラクタオブジェクトの外観を変更することができる。よって、アクターのキャラクタオブジェクトのアニメーションを含む動画において、アクターの負担を増やすことなく、アクターと視聴ユーザとのインタラクションを活性化することができる。
上記の一実施形態においては、アクターの行動に基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画を配信し、当該動画を視聴する視聴ユーザからのフィードバック情報に基づいて、当該アクターが使用するアクターデバイスに備えられるアクチュエータを駆動するための駆動信号が生成される。これにより、視聴ユーザからのフィードバックをアクターに対して直感的に伝達することができる。
クライアント装置10a~10c、サーバ装置20、及びこれら以外の動画配信システム1に備えられる装置は、本明細書において明示的に説明されている機能以外の機能を実行することもできる。
本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。
以下に、本願の原出願の出願当初の特許請求の範囲に記載された発明を付記する。
[1]
一又は複数のコンピュータプロセッサを備え、
前記一又は複数のコンピュータプロセッサは、コンピュータ読み取り可能な命令を実行することにより、
アクターの行動を示すアクター情報に基づいてキャラクタオブジェクトのアニメーションを含む動画を生成し、
前記動画を配信し、
前記動画を視聴する視聴ユーザからのフィードバック情報に基づいて、前記キャラクタオブジェクトの外観を変化させる、
動画配信システム。
[2]
一又は複数のコンピュータプロセッサを備え、
前記一又は複数のコンピュータプロセッサは、コンピュータ読み取り可能な命令を実行することにより、
アクターの行動を示すアクター情報に基づいてキャラクタオブジェクトのアニメーションを含む動画を生成し、
前記動画を配信し、
前記動画を視聴する視聴ユーザからのフィードバック情報に基づいて、前記アクターが使用するアクターデバイスを駆動するための駆動信号を生成する、
動画配信システム。
[3]
前記アクターデバイスは、アクチュエータを備え、
前記アクチュエータは、前記駆動信号を受信したことに応じて振動するように構成されている、
[2]に記載の動画配信システム。
[4]
一又は複数のコンピュータプロセッサがコンピュータ読み取り可能な命令を実行することにより実行される動画配信方法であって、
アクターの行動を示すアクター情報に基づいてキャラクタオブジェクトのアニメーションを含む動画を生成する工程と、
前記動画を配信する工程と、
前記動画を視聴する視聴ユーザからのフィードバック情報に基づいて、前記キャラクタオブジェクトの外観を変化させる工程と、
を備える動画配信方法。
[5]
一又は複数のコンピュータプロセッサに実行されるプログラムであって、
前記一又は複数のコンピュータプロセッサに、
アクターの行動を示すアクター情報に基づいてキャラクタオブジェクトのアニメーションを含む動画を生成する工程と、
前記動画を配信する工程と、
前記動画を視聴する視聴ユーザからのフィードバック情報に基づいて、前記キャラクタオブジェクトの外観を変化させる工程と、
を実行させるプログラム。
[6]
一又は複数のコンピュータプロセッサがコンピュータ読み取り可能な命令を実行することにより実行される動画配信方法であって、
アクターの行動を示すアクター情報に基づいてキャラクタオブジェクトのアニメーションを含む動画を生成する工程と、
前記動画を配信する工程と、
前記動画を視聴する視聴ユーザからのフィードバック情報に基づいて、前記アクターが使用するアクターデバイスを駆動するための駆動信号を生成する工程と、
を備える動画配信方法。
[7]
一又は複数のコンピュータプロセッサに実行されるプログラムであって、
前記一又は複数のコンピュータプロセッサに、
アクターの行動を示すアクター情報に基づいてキャラクタオブジェクトのアニメーションを含む動画を生成する工程と、
前記動画を配信する工程と、
前記動画を視聴する視聴ユーザからのフィードバック情報に基づいて、前記アクターが使用するアクターデバイスを駆動するための駆動信号を生成する工程と、
を実行させるプログラム。