以下、図面を適宜参照し、本発明の様々な実施形態を説明する。複数の図面において同一の又は類似する構成要素には同じ参照符号が付される。
図1及び図2を参照して、一実施形態による動画配信システムについて説明する。図1は、一実施形態による動画配信システム1を示すブロック図であり、図2は、動画配信システム1で動画を配信するユーザUa,Ub及び当該ユーザUa,Ubが使用している配信ユーザ装置20a,20bを模式的に示す模式図である。配信ユーザ装置20aは、動画配信システム1において、ユーザUaの動きに基づいて生成されるキャラクタオブジェクトを含む動画を配信するための機能を有し、配信ユーザ装置20bは、動画配信システム1において、ユーザUbの動きに基づいて生成されるキャラクタオブジェクトを含む動画を配信するための機能を有する。詳しくは後述するように、動画配信システム1は、二人以上の配信ユーザのキャラクタオブジェクトを含む動画を生成し、当該動画を配信することができる。言い換えると、動画配信システム1においては、二人以上の配信ユーザが動画内で各々のキャラクタオブジェクトを介して仮想的に共演することができる。このように、二人以上の配信ユーザが各々のキャラクタオブジェクトを介して動画内で仮想的に共演している場合、その動画を共演動画と呼ぶ。
ユーザUa及びユーザUbはいずれも、動きに基づいて生成されるキャラクタオブジェクトを含む動画を配信する配信ユーザであるとともに、他の配信ユーザの動画を視聴する視聴ユーザでもある。このため、配信ユーザ装置20a,20bは、動画配信システム1において配信される動画を視聴する機能を有していてもよい。
ユーザUa及びユーザUbは、他の視聴ユーザに対して、自らの動画へ招待するためのインビテーションを送信することができる。例えば、ユーザUbの動きに基づいて生成されるキャラクタオブジェクトを含む動画が配信されているときに、ユーザUbからユーザUaに対して、ユーザUbの動画へ招待するインビテーションを送信することができる。ユーザUaは、このインビテーションに基づいてユーザUbとの共演を申請する共演申請を行うことができる。この共演申請が許可されると、ユーザUbのキャラクタオブジェクトとユーザUaのキャラクタオブジェクトとを含む共演動画が生成され、当該共演動画が配信される。ユーザUbが配信している動画にユーザUbからのインビテーションによりユーザUaが参加し、ユーザUbとユーザUaとが共演する場合、インビテーションを送ったユーザUbを「ホストユーザ」と呼び、このインビテーションに応えてユーザUbと共演したユーザUaを「ゲストユーザ」と呼ぶことがある。ホストユーザ及びゲストユーザの概念は相対的なものである。例えば、上記の例とは逆に、ユーザUaがユーザUbに対して送ったインビテーションに基づいてユーザUbがユーザUaの動画において共演する場合には、ユーザUaがホストユーザとなりユーザUbがゲストユーザとなる。本明細書においては、説明の便宜のために、ユーザUbからユーザUaに対してインビテーションが送信されることを想定する。つまり、ユーザUbがホストユーザでありユーザUaがゲストユーザであることを想定する。ただし、本明細書におけるユーザUaに関する説明は、可能な限りゲストユーザ一般に関する説明に拡張され得る。同様に、本明細書におけるユーザUbに関する説明は、可能な限りホストユーザ一般に関する説明に拡張され得る。例えば、本明細書において配信ユーザUaに関して説明している場合であってもその説明はゲストユーザ一般に関する説明と理解され得るし、配信ユーザUbに関する説明はホストユーザ一般に関する説明と理解され得る。
動画配信システム1は、多数のユーザによって利用されることが想定している。動画配信システム1のユーザには、動画を配信する配信ユーザと、配信されている動画を視聴する視聴ユーザと、が含まれる。動画配信システム1のユーザは、動画配信システム1の利用態様によって配信ユーザと視聴ユーザとに分けられるが、両者を兼ねることもある。すなわち、動画配信システム1を利用して動画を配信する配信ユーザは、動画配信システム1を利用して他の配信ユーザが配信した動画を視聴することができるので、配信ユーザであり且つ視聴ユーザであり得る。
動画配信システム1は多数のユーザによって使用されるため、上記の例においては配信ユーザUbが適切な共演相手を探すことは容易ではない。つまり、動画配信システム1の多数の配信ユーザのうちどの配信ユーザにインビテーションを送付するか決定する際に候補となる配信ユーザが多すぎるためインビテーションの送付先を決定することは容易ではない。そこで、本発明の一実施形態による動画配信システム1は、配信ユーザUbによる共演相手の選定をサポートする機能を備える。以下では、まず動画配信システム1のアーキテクチャ及び動画配信システム1を構成する装置の概要を説明し、その後に各装置の機能を説明する。この各装置の機能の説明において、共演相手の選定に関する機能が説明される。
動画配信システム1は、視聴ユーザ装置10と、配信ユーザ装置20a,20bと、サーバ装置60と、ストレージ70と、を備える。視聴ユーザ装置10と、配信ユーザ装置20a,20bと、サーバ装置60と、ストレージ70とは、ネットワーク50を介して相互に通信可能に接続されている。サーバ装置60は、後述するように、配信ユーザUa及び配信ユーザUbのキャラクタオブジェクトのアニメーションを含む動画を配信するように構成される。サーバ装置60は、キャラクタオブジェクトのアニメーションを含む動画以外の動画を配信できるように構成されてもよい。サーバ装置60は、動画配信サービス以外にも、ユーザ同士が交流するためのソーシャルネットワーキングサービスまたは当該サービス用のプラットフォーム機能を提供してもよい。
動画配信システム1において、動画は、サーバ装置60から視聴ユーザ装置10及び配信ユーザ装置20a,20bに配信される。配信された動画は、視聴ユーザ装置10のディスプレイに表示される。視聴ユーザ装置10のユーザである視聴ユーザは、配信された動画を視聴ユーザ装置10により視聴することができる。配信ユーザUa,Ubは、配信された動画を視聴することにより、配信中の動画を確認しながらパフォーマンスを行うことができる。また、配信ユーザUa,Ubは、他のユーザのキャラクタオブジェクトを含む動画を配信ユーザ装置20a,20bにより視聴することができる。説明を簡潔するために図1には視聴ユーザ装置10が1台だけ示されているが、動画配信システム1は、複数の視聴ユーザ装置を備えていてもよい。また、図1には配信ユーザ装置が2台だけ示されているが、動画配信システム1は、3台以上の配信ユーザ装置を備えていてもよい。上記のとおり、配信ユーザUa,Ubは、視聴ユーザでもある。よって、自らの動画を配信していない場合には、他の配信ユーザが配信する動画を配信ユーザ装置20a,20bにより視聴することができる。
図示の実施形態において、配信ユーザ装置20aは、コンピュータプロセッサ21aと、通信I/F22aと、ディスプレイ23aと、カメラ24aと、マイク25aと、を備えている。同様に、配信ユーザ装置20bは、コンピュータプロセッサ21bと、通信I/F22bと、ディスプレイ23bと、カメラ24bと、マイク25bと、を備えている。配信ユーザ装置20aと配信ユーザ装置20bとは同様の構成及び機能を有しているため、両者を特に区別する必要がない場合には、両者をまとめて配信ユーザ装置20と呼ぶことがあり、その構成要素もコンピュータプロセッサ21などと呼ぶことがある。
コンピュータプロセッサ21は、ストレージからオペレーティングシステムや様々な機能を実現する様々なプログラムをメモリにロードし、ロードしたプログラムに含まれる命令を実行する演算装置である。コンピュータプロセッサ21は、例えば、CPU、MPU、DSP、GPU、これら以外の各種演算装置、又はこれらの組み合わせである。コンピュータプロセッサ21は、ASIC、PLD、FPGA、MCU等の集積回路により実現されてもよい。図1においては、コンピュータプロセッサ21が単一の構成要素として図示されているが、コンピュータプロセッサ21は複数の物理的に別体のコンピュータプロセッサの集合であってもよい。
通信I/F22は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。配信ユーザ装置20は、通信I/F22を介して、他の装置とデータを送受信することができる。
ディスプレイ23は、表示パネルと、タッチパネルと、を有する。タッチパネルは、プレイヤのタッチ操作(接触操作)を検出することができるように構成されている。タッチパネルは、プレイヤのタップ、ダブルタップ、ドラッグ等の各種タッチ操作を検出することができる。タッチパネルは、静電容量式の近接センサを備え、プレイヤの非接触操作を検出可能に構成されてもよい。
カメラ24は、配信ユーザUa,Ubの顔を連続的に撮像し、配信ユーザUa,Ubの顔の撮像データを取得する。カメラ24により撮像された配信ユーザUa,Ubの顔の撮像データは、通信I/F22を介してサーバ装置60に送信される。カメラ24は、人物の顔の奥行きを検出可能な3Dカメラであってもよい。カメラ24は、配信ユーザUa,Ubの顔以外の部位、例えば、手、脚、手の指、又はこれら以外の部位を撮像して撮像データを取得しても良い。
マイク25は、入力された音声を音声データに変換するように構成された集音装置である。マイク25は、配信ユーザUa,Ubの音声入力を取得することができるように構成され。マイク25により取得された配信ユーザUa,Ubの音声入力は音声データに変換され、この音声データが通信I/F22を介してサーバ装置60に送信される。
視聴ユーザ装置10は、配信ユーザ装置20と同様の構成要素を備えてもよい。例えば、視聴ユーザ装置10は、コンピュータプロセッサ、通信I/F、ディスプレイ、及びカメラを備えてもよい。視聴ユーザ装置10は、所定のアプリケーションソフトウェアをダウンロード及びインストールすることにより、配信ユーザ装置20と同様の機能を奏してもよい。
視聴ユーザ装置10及び配信ユーザ装置20は、スマートフォンなどの情報処理装置である。視聴ユーザ装置10及び配信ユーザ装置20は、スマートフォン以外に、携帯電話機、タブレット端末、パーソナルコンピュータ、電子書籍リーダー、ウェアラブルコンピュータ、ゲーム用コンソール、及びこれら以外の動画を再生可能な各種情報処理装置であってもよい。視聴ユーザ装置10及び配信ユーザ装置20の各々は、上記の構成要素以外に、ジャイロセンサ等の各種センサを備えるセンサユニット、及び各種情報を記憶するストレージを備えてもよい。
次に、サーバ装置60について説明する。図示の実施形態において、サーバ装置60は、コンピュータプロセッサ61と、通信I/F62と、ストレージ63と、を備えている。
コンピュータプロセッサ61は、ストレージ63又はその他のストレージからオペレーティングシステムや様々な機能を実現する様々なプログラムをメモリにロードし、ロードしたプログラムに含まれる命令を実行する演算装置である。コンピュータプロセッサ61は、例えば、CPU、MPU、DSP、GPU、これら以外の各種演算装置、又はこれらの組み合わせである。コンピュータプロセッサ61は、ASIC、PLD、FPGA、MCU等の集積回路により実現されてもよい。図1においては、コンピュータプロセッサ61が単一の構成要素として図示されているが、コンピュータプロセッサ61は複数の物理的に別体のコンピュータプロセッサの集合であってもよい。
通信I/F62は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。サーバ装置60は、通信I/F62を介して、他の装置とデータを送受信することができる。
ストレージ63は、コンピュータプロセッサ61によりアクセスされる記憶装置である。ストレージ63は、例えば、磁気ディスク、光ディスク、半導体メモリ、又はデータを記憶可能な前記以外の各種記憶装置である。ストレージ63には、様々なプログラムが記憶され得る。ストレージ63に記憶され得るプログラム及び各種データの少なくとも一部は、サーバ装置60とは物理的に別体のストレージ(例えば、ストレージ70)に格納されてもよい。
本明細書において、コンピュータプロセッサ21又はコンピュータプロセッサ61によって実行されるとして説明されるプログラム又は当該プログラムに含まれる命令はそれぞれ、単一のコンピュータプロセッサで実行されてもよいし、複数のコンピュータプロセッサにより分散して実行されてもよい。また、コンピュータプロセッサ21又はコンピュータプロセッサ61によって実行されるプログラム又は当該プログラムに含まれる命令はそれぞれ、複数の仮想コンピュータプロセッサにより実行されてもよい。
次に、ストレージ63に記憶されるデータについて説明する。図示の実施形態においては、ストレージ63には、モデルデータ63a、オブジェクトデータ63b、ユーザ情報63c、共演動画情報63d、及び前記以外の配信動画の生成及び配信に必要な様々なデータが記憶される。
モデルデータ63aは、キャラクタのアニメーションを生成するためのモデルデータである。モデルデータ63aは、3次元のアニメーションを生成するための3次元モデルデータであってもよいし、2次元のモデルデータを生成するための2次元モデルデータであってもよい。モデルデータ63aは、例えば、キャラクタの顔及び顔以外の部分の骨格を示すリグデータ(「スケルトンデータ」と呼ばれることもある。)と、キャラクタの表面の形状や質感を示す表面データと、を含む。表面データは、スキンデータと呼ばれることもある。モデルデータ63aには、互いに異なる複数のモデルデータを含むことができる。この複数のモデルデータは、互いに異なるリグデータを有していてもよいし、同じリグデータを有していてもよい。この複数のモデルデータは、互いと異なる表面データを有していてもよいし、同じ表面データを有していてもよい。
オブジェクトデータ63bは、動画を構成する仮想空間を構築するためのアセットデータを含む。オブジェクトデータ63bは、動画を構成する仮想空間の背景を描画するためのデータ、動画に表示される各種物体を描画するためのデータ、及びこれら以外の動画に表示される各種オブジェクトを描画するためのデータが含まれる。オブジェクトデータ63bには、仮想空間におけるオブジェクトの位置を示すオブジェクト位置情報を含んでもよい。
ユーザ情報63cの例が図3に示されている。図示のように、ユーザ情報63cとして、動画配信システム1を利用するユーザのアカウント情報と対応付けて、当該ユーザに関する様々なデータが記憶される。あるユーザのユーザ情報63cには、当該ユーザに対する評価を示すユーザ評価情報、当該ユーザが配信した動画した動画に対する評価示す動画評価情報、当該ユーザが配信した又は配信中の動画の視聴者数を示す視聴者数情報、当該ユーザが配信した又は配信中の動画の視聴ユーザに関する視聴ユーザ情報、当該ユーザが他のユーザと共演を行った回数を示す共演回数情報、当該ユーザのプロフィールを示す属性情報、及び当該ユーザと他のユーザとの関係を示すソーシャル情報が含まれてもよい。ユーザ情報63cには、上記以外の情報が含まれてもよい。
ユーザのアカウント情報は、例えば、当該ユーザを識別するユーザ識別情報(ユーザID)である。ユーザIDは、ユーザが最初に動画配信システム1にサービスの利用登録をするときに、当該ユーザに対して割り当てられる。
ユーザのアカウント情報に対応付けられているユーザ評価情報は、当該ユーザに対する他のユーザからの評価を示す情報である。ユーザ評価情報は、例えば、自然数で表されるユーザ評価ポイントである。動画配信システム1のユーザは、自らのキャラクタオブジェクトを含む動画をサーバ装置60を介して配信することができる。あるユーザのユーザ評価ポイントは、当該ユーザが配信した動画に対する視聴ユーザからのフィードバックに基づいて更新されてもよい。例えば、視聴ユーザからのフィードバックには、視聴画面に表示される「いいね」ボタンの選択、否定的な評価を表す「ブー」ボタンの選択、視聴画面に表示されるアイテムのギフトのギフティング(ギフトを贈ること)、視聴画面からのコメントの送信、及びこれら以外の様々なフィードバックが含まれる。「いいね」ボタンは、視聴者が視聴動画や視聴動画を配信している配信ユーザに対して好感を持ったときに選択されることが想定されている。「いいね」ボタンは、視聴画面において、「いいね」や「Like」という好感を示す文字を含むアイコンとして示されてもよい。「ブー」ボタンは、視聴者が視聴動画や視聴動画を配信している配信ユーザに対して反感などのネガティブな印象を持ったときに選択されることが想定されている。「ブー」ボタンは、視聴画面において、「よくないね」や「dislike」という反感を示す文字を含むアイコンとして示されてもよい。本明細書では、好感を示すためのボタン及びアイコンをそれぞれ「好感ボタン」及び「好感アイコン」と呼び、反感を示すためのボタン及びアイコンをそれぞれ「反感ボタン」及び「反感アイコン」と呼ぶことがある。評価ポイントには、好感ボタンの選択数、反感ボタンの選択数、ギフトのギフティング数(もしくはギフティング金額)、コメント数、又はこれら以外の視聴ユーザからのフィードバックに関連するパラメータが含まれ得る。例えば、視聴ユーザから肯定的なフィードバック又は否定的なフィードバックがなされた場合に、ユーザ評価ポイントを増加させてもよい。ユーザ評価ポイントは、視聴ユーザからの肯定的なフィードバックの数又は量をポイント数として評価するものであってもよいし、視聴ユーザからの否定的なフィードバックの数又は量をポイント数として評価するものであってもよい。さらに肯定的なフィードバックと否定的なフィードバックのそれぞれの数により、ユーザ評価ポイントが増減するようになっていてもよい。より具体的には、肯定的なフィードバックがなされた場合にユーザ評価ポイントを増加させ、否定的なフィードバックがなされた場合に減らす、もしくはその逆であってもよい。あるユーザのユーザ評価ポイントは、当該ユーザが配信した動画に対するフィードバック以外の契機で更新されてもよい。たとえば、あるユーザが他のユーザとサーバ装置60が提供するソーシャルネットワーキングサービスを利用して交流する際に、当該ソーシャルネットワーキングサービスを利用した活動に基づいてユーザ評価ポイントが更新されてもよい。
ユーザのアカウント情報に対応付けられている動画評価情報は、当該ユーザが配信した動画に対する他のユーザからの評価を示す情報である。動画評価情報は、例えば、自然数で表される動画評価ポイントである。あるユーザの動画評価ポイントは、当該ユーザが配信した動画に対する視聴ユーザからのフィードバックに基づいて更新されてもよい。あるユーザが配信した動画に対して、当該動画を視聴した視聴ユーザから肯定的なフィードバックがなされた場合又は否定的なフィードバックがなされた場合に、当該ユーザの動画評価ポイントを増加させてもよい。あるユーザが配信した動画に対してフィードバックがなされた場合には、ユーザ評価ポイント及び動画評価ポイントを両方とも更新してもよい。
ユーザのアカウント情報に対応付けられている視聴者数情報は、当該ユーザが配信した動画を視聴した又は視聴している視聴ユーザの数を示す。あるユーザの視聴者数情報は、当該ユーザが配信した動画を視聴した視聴ユーザの累計数であってもよい。例えば、あるユーザがこれまで動画を10回配信した場合、視聴者数情報は、その10回の配信の各々における視聴ユーザ数の合計であってもよい。動画を配信している途中で新たに視聴ユーザが視聴を開始したり、視聴していたユーザが途中で視聴をやめたりすることがある。このため、ある動画の視聴ユーザの数は、当該動画の視聴開始からいつの時点で測定するかによって異なり得る。一定時間間隔で視聴ユーザの数のログをとり、このログに基づいて視聴ユーザの平均を求め、この求められた平均を当該動画の視聴ユーザの数としてもよい。例えば、10分間の動画に関しては、1分間隔で合計10回視聴者数を記録し、この記録された10個の視聴者数の平均を当該動画の視聴ユーザの数としてもよい。別の実施形態においては、動画の配信終了時に当該動画を視聴していた視聴ユーザの数を視聴ユーザの数としてもよい。動画の視聴者数情報は、当該動画の視聴ユーザの数と相関のある上記外の情報であってもよい。
ユーザのアカウント情報に対応付けられている視聴ユーザ情報は、当該ユーザが配信した動画を視聴した又は視聴している視聴ユーザに関する情報である。あるユーザの視聴ユーザ情報には、当該ユーザが配信した動画を視聴した又は視聴している視聴ユーザのユーザIDを含んでも良い。また、あるユーザの視聴ユーザ情報には、当該ユーザが配信した動画を視聴した又は視聴している視聴ユーザの数を示す視聴者数情報を含んでも良い。あるユーザの視聴者数情報は、当該ユーザが動画配信システム1を利用して配信した動画を視聴した視聴ユーザの累計数であってもよい。例えば、あるユーザがこれまで動画を10回配信した場合、視聴者数情報は、その10回の配信の各々における視聴ユーザ数の合計であってもよい。動画を配信している途中で新たに視聴ユーザが視聴を開始したり、視聴していたユーザが途中で視聴をやめたりすることがある。このため、ある動画の視聴ユーザの数は、当該動画の視聴開始からいつの時点で測定するかによって異なり得る。一定時間間隔で視聴ユーザの数のログをとり、このログに基づいて視聴ユーザの平均を求め、この求められた平均を当該動画の視聴ユーザの数としてもよい。例えば、10分間の動画に関しては、1分間隔で合計10回視聴者数を記録し、この記録された10個の視聴者数の平均を当該動画の視聴ユーザの数としてもよい。別の実施形態においては、動画の配信終了時に当該動画を視聴していた視聴ユーザの数を視聴ユーザの数としてもよい。動画の視聴者数情報は、当該動画の視聴ユーザの数と相関のある上記外の情報であってもよい。
ユーザのアカウント情報に対応付けられている共演回数情報は、当該ユーザが他の配信ユーザと共演を行った共演回数を示す。共演回数情報は、ゲストユーザとして他の配信ユーザと共演した回数及びホストユーザとして他の配信ユーザと共演した回数の合計であってもよい。共演回数は、ホストユーザとして他の配信ユーザと共演した回数であってもよい。共演回数は、ゲストトユーザとして他の配信ユーザと共演した回数であってもよい。
ユーザのアカウント情報に対応付けられている属性情報は、当該ユーザのプロフィールを示す。あるユーザの属性情報には、当該ユーザのニックネーム、性別、年齢、居住地、出身校、所属、及びこれら以外の当該ユーザの属性を示す情報が含まれ得る。
ユーザのアカウント情報に対応付けられているソーシャル情報は、当該ユーザと他のユーザとの関係を示す情報である。あるユーザのソーシャル情報には、例えば、当該ユーザが友人として登録しているユーザを特定するフレンド情報及びこれら以外の当該ユーザと他のユーザとの関係を示す情報が含まれる。サーバ装置60がSNS(ソーシャル・ネットワーク・サービス)機能を提供する場合には、あるユーザのフレンド情報は、サーバ装置60によって提供されるSNSにおいて当該ユーザの友人として登録されている他のユーザのユーザIDであってもよい。あるユーザのフレンド情報は、サーバ装置60以外によって提供されるSNSにおいて当該ユーザの友人として登録されている他のユーザのユーザIDであってもよい。
上記のとおり、ユーザ情報63cには、ユーザによる動画配信システム1の利用履歴に関する情報が含まれている。本明細書においては、ユーザ情報63cのうち動画配信システム1の利用履歴に関する情報を「ログ情報」と呼ぶ。図3に示されている例では、ユーザ情報63cのうち視聴ユーザ情報及び共演回数情報がログ情報に含まれる。視聴ユーザ情報及び共演回数情報以外にもユーザによる動画配信システム1の利用履歴に関する情報はログ情報に含まれ得る。
共演動画情報の例が図4に示されている。図示のように、共演動画情報63dとして、共演動画を識別する共演動画識別情報と対応付けて、当該共演動画に関する様々なデータが記憶される。ある共演動画の共演動画情報63dには、当該共演動画におけるホストユーザに対する評価を示すホストユーザ評価情報、当該共演動画におけるゲストユーザに対する評価を示すゲストユーザ評価情報、及び当該共演動画の共演開始からの経過時間を示す共演時間情報が含まれてもよい。
ホストユーザ評価情報は、共演動画におけるホストユーザに対する評価を示す。あるホストユーザのホストユーザ評価情報は、例えば、自然数で表されるホストユーザ評価ポイントである。
ゲストユーザ評価情報は、ゲストユーザに対する評価を示す。あるゲストユーザのゲストユーザ評価情報は、例えば、自然数で表されるゲストユーザ評価ポイントである。
共演時間情報は、ゲストユーザとホストユーザとの共演が始まってからの経過時間を示す。
次に、コンピュータプロセッサ21a,21bにより実現される機能についてより具体的に説明する。コンピュータプロセッサ21aは、配信プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより、フェイスモーションデータ生成部21a1、インビテーション提示部21a2、及び共演申請部21a3として機能する。同様に、コンピュータプロセッサ21bは、配信プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより、フェイスモーションデータ生成部21b1及びインビテーション要求部21b2として機能する。コンピュータプロセッサ21a,21bにより実現される機能の少なくとも一部は、動画配信システム1のコンピュータプロセッサ21a,21b以外のコンピュータプロセッサにより実現されてもよい。コンピュータプロセッサ21a,21bにより実現される機能の少なくとも一部は、例えば、サーバ装置60に搭載されているコンピュータプロセッサ61により実現されてもよい。
フェイスモーションデータ生成部21a1は、カメラ24aの撮像データに基づいて、配信ユーザUaの顔の動きのデジタル表現であるフェイスモーションデータを生成する。同様に、フェイスモーションデータ生成部21b1は、カメラ24bの撮像データに基づいて、配信ユーザUbの顔の動きのデジタル表現であるフェイスモーションデータを生成する。フェイスモーションデータは、時間の経過に伴って随時生成される。フェイスモーションデータは、所定のサンプリング時間間隔ごとに生成されてもよい。このように、フェイスモーションデータ生成部21a1にて生成されるフェイスモーションデータは、配信ユーザUaの顔の動き(表情の変化)を時系列的にデジタル表現することができ、フェイスモーションデータ生成部21b1にて生成されるフェイスモーションデータは、配信ユーザUbの顔の動き(表情の変化)を時系列的にデジタル表現することができる。フェイスモーションデータ生成部21a1,21b1にて生成されたフェイスモーションデータは、通信I/F22a,22bを介してサーバ装置60に送信される。
配信ユーザ装置20においては、フェイスモーションデータ生成部21a1にて生成されるフェイスモーションデータに加えて、配信ユーザUa,Ubの体の顔以外の各部位の位置及び向きのデジタル表現であるボディモーションデータを生成してもよい。配信ユーザ装置20は、フェイスモーションデータに加えて、ボディモーションデータをサーバ装置60に送信してもよい。ボディモーションデータを生成するために、配信ユーザUa,Ubは、モーションセンサを装着してもよい。配信ユーザ装置20は、配信ユーザUa,Ubに装着されたモーションセンサの検出情報に基づいて、ボディモーションデータを生成することができるように構成されてもよい。ボディモーションデータは、所定のサンプリング時間間隔ごとに生成されてもよい。このように、ボディモーションデータは、配信ユーザUa,Ubの体の動きを時系列的にデジタルデータとして表現する。配信ユーザUa,Ubに装着されたモーションセンサの検出情報に基づくボディモーションデータの生成は、例えば、撮影スタジオで行われてもよい。撮影スタジオには、ベースステーションと、トラッキングセンサと、ディスプレイと、が備えられてもよい。ベースステーションは、多軸レーザーエミッターであってもよい。配信ユーザUa,Ubに装着されるモーションセンサは、例えば、HTC CORPORATIONから提供されているVive Trackerであってもよい。撮影スタジオに備えられるベースステーションは、例えば、HTC CORPORATIONから提供されているベースステーションであってもよい。また、撮影スタジオと別室には、サポーターコンピュータが設置されていてもよい。撮影スタジオのディスプレイは、サポートコンピュータから受信した情報を表示するように構成されてもよい。サーバ装置60は、サポーターコンピュータが設置されている部屋と同じ部屋に設置されてもよい。サポーターコンピュータが設置されている部屋と撮影スタジオとはガラス窓によって隔てられていてもよい。この場合、サポーターコンピュータのオペレータ(本明細書では「サポーター」ということがある。)は、配信ユーザUa,Ubを視認できる。サポーターコンピュータは、サポーターの操作に応じて、撮影スタジオに備えられた各種装置の設定を変更することができるように構成されてもよい。サポーターコンピュータは、例えば、ベースステーションによる走査インターバルの設定、トラッキングセンサの設定、及びこれら以外の各種機器の各種設定の変更を行うことができる。サポーターは、サポーターコンピュータにメッセージを入力し、当該入力されたメッセージを撮影スタジオのディスプレイに表示することができる。
配信ユーザ装置20bにおいて、インビテーション要求部21b2は、配信ユーザUbの操作に応じてサーバ装置60に対してインビテーションの送信を要求する。後述するように、サーバ装置60は、配信ユーザ装置20bからインビテーションの送信要求を受け取ると、動画配信システム1のユーザの中からインビテーションの送付先となる招待ユーザを選定する。インビテーションは、サーバ装置60から当該招待ユーザの配信ユーザ装置に送信される。招待ユーザの選定方法については後述するが、配信ユーザ装置20aを使用する配信ユーザUaは、招待ユーザに含まれていると想定する。サーバ装置60は、配信ユーザUbからのインビテーションに関連付けて、当該インビテーションの送信を要求した配信ユーザUbに関するホストユーザ情報を送信しても良い。インビテーションは、配信されている動画に含められてもよく、配信されている動画とは別に送信されてもよい。
配信ユーザ装置20aにおいて、インビテーション提示部21a2は、他の配信ユーザからのインビテーションをサーバ装置60から受信したときに、当該インビテーションを配信ユーザUaに対して提示する。インビテーションは、例えば、ユーザUbが配信中の動画に対してユーザUaを招待するインビテーションである。インビテーション提示部21a2は、インビテーションとともに当該インビテーションの送信を要求した配信ユーザに関するホストユーザ情報を提示してもよい。インビテーション提示部21a2は、インビテーションの内容及び当該インビテーションを送信した配信ユーザに関するホストユーザ情報をディスプレイ23aに表示しても良い。
共演申請部21a3は、配信ユーザUaの配信ユーザ装置20aに対する操作に基づいて、当該他の配信ユーザとの共演を申請する共演申請をサーバ装置60に送信する。後述するように、配信ユーザ装置20aは、インビテーションを受け取ったことに応じて共演申請を行うための操作ボタンを表示しても良く、インビテーションを受け取ったか否かによらず共演申請を行うための操作ボタンを表示しても良い。
本明細書では、配信ユーザ装置20bを利用する配信ユーザUbからインビテーションの送信要求がなされ、サーバ装置60によって配信ユーザUbからのインビテーションが配信ユーザ装置20aを利用する配信ユーザUaに送信されることを想定しているため、インビテーション要求部21b2は、配信ユーザ装置20bのコンピュータプロセッサ21bで実行される機能として説明されている。配信ユーザUaがインビテーションを送信することも想定されるため、配信ユーザ装置20aがインビテーション要求部21b2と同様の機能を実行してもよい。同様に、配信ユーザUbがインビテーションを受信することも想定されるため、配信ユーザ装置20bがインビテーション提示部21a2及び共演申請部21a3と同様の機能を実行してもよい。
配信ユーザ装置20は、配信プログラム及び/又はそれ以外のプログラムをコンピュータプロセッサで実行することにより、フェイスモーションデータ生成部21a1以外の機能を実現してもよい。例えば、配信ユーザ装置20は、動画視聴用の視聴プログラムを実行することにより受信した動画を再生する機能を実現してもよい。配信プログラムと視聴プログラムとは、一つのアプリケーションソフトウェアにパッケージングされていてもよいし、別個のアプリケーションソフトウェアとして提供されてもよい。
視聴ユーザ装置10は、配信ユーザ装置20と同様の機能を提供するように構成されてもよい。例えば、視聴ユーザ装置10は、動画視聴用の視聴プログラムを実行することにより受信した動画を再生する機能を実現してもよく、配信プログラムを実行することによりフェイスモーションデータ生成部21a1の機能と同様の機能を実現してもよい。
次に、コンピュータプロセッサ61により実現される機能についてより具体的に説明する。コンピュータプロセッサ61は、配信プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより、アニメーション生成部61a、動画生成部61b、動画配信部61c、招待ユーザ選定部61d、インビテーション処理部61e、共演申請処理部61f、及び共演終了処理部61gとして機能する。
アニメーション生成部61aは、配信ユーザ装置20aのフェイスモーションデータ生成部21a又は配信ユーザ装置20bのフェイスモーションデータ生成部21b1によって生成されたフェイスモーションデータを、モデルデータ63aに含まれる所定のモデルデータに適用することにより、キャラクタオブジェクトのアニメーションを生成するように構成される。アニメーション生成部61aは、キャラクタオブジェクトの表情が当該フェイスモーションデータに基づいて変化するように、当該キャラクタオブジェクトのアニメーションを生成することができる。具体的には、アニメーション生成部61aは、配信ユーザUaに関するフェイスモーションデータに基づいて、配信ユーザUaの表情の動きに同期して動くキャラクタオブジェクトのアニメーションを生成することができる。同様に、アニメーション生成部61aは、配信ユーザUbに関するフェイスモーションデータに基づいて、配信ユーザUbの表情の動きに同期して動くキャラクタオブジェクトのアニメーションを生成することができる。
配信ユーザ装置20から配信ユーザUa,Ubに関するボディモーションデータが提供される場合には、アニメーション生成部61aは、配信ユーザUa,Ubに関するボディモーションデータ及びフェイスモーションデータに基づいて、配信ユーザUa,Ubの体及び表情の動きに同期して動くキャラクタオブジェクトのアニメーションを生成することができる。
動画生成部61bは、配信ユーザUaの動画を配信する場合には、オブジェクトデータ63bを用いて背景を示す背景画像を生成し、この背景画像と、配信ユーザUaに対応するキャラクタオブジェクトのアニメーションと、を含む動画を生成することができる。動画生成部61bは、生成した動画に、配信ユーザ装置20aから受信した音声データに基づいて生成される配信ユーザUaの音声を合成することができる。同様に、動画生成部61bは、配信ユーザUbの動画を配信する場合には、オブジェクトデータ63bを用いて背景を示す背景画像を生成し、この背景画像と、配信ユーザUbに対応するキャラクタオブジェクトのアニメーションと、を含む動画を生成することができる。動画生成部61bは、生成した動画に、配信ユーザ装置20bから受信した音声データに基づいて生成される配信ユーザUbの音声を合成することができる。動画生成部61bによって生成される動画において、配信ユーザUa,Ubに対応するキャラクタオブジェクトは、背景画像に重畳して表示される。以上のようにして、動画生成部61bは、配信ユーザUa又は配信ユーザUbの表情の動きに同期して動くキャラクタオブジェクトのアニメーションを生成し、このアニメーションに配信ユーザUa又は配信ユーザUbの音声が合成された配信用の動画を生成することができる。
動画配信部61cは、動画生成部61bにおいて生成された動画を配信する。この動画は、ネットワーク50を介して視聴ユーザ装置10及びこれら以外の視聴ユーザ装置に配信される。生成された動画は、配信ユーザ装置20a,20bにも配信される。受信された動画は、視聴ユーザ装置10及び配信ユーザ装置20a,20bにおいて再生される。動画配信部61cは、配信ユーザごとに、動画の配信時間及び配信回数の少なくとも一方をモニターしてもよい。動画配信部61cは、モニター結果に基づいて、ユーザ情報の配信時間及び配信回数を更新してもよい。
動画配信部61cから配信された動画の表示例を図5及び図6a~図6bに示す。これらの図では、配信ユーザUbが配信ユーザ装置20bを用いて、自らのキャラクタオブジェクトを含む動画を配信し、当該動画が視聴ユーザ装置10及び配信ユーザ装置20a,20bにおいて再生されていると想定している。図6aにおいては、配信ユーザUaは、動画配信を行っておらず、別の配信ユーザである配信ユーザUbによって配信されている動画を視聴していると想定している。このため、図5及び図6a~図6bに関する説明においては、配信ユーザUaのことも視聴ユーザと呼ぶことがある。図5は、視聴ユーザ装置10において再生されている動画の表示例を示し、図6aは、配信ユーザ装置20aにおいて再生されている動画の表示例を示し、図6bは、配信ユーザ装置20bにおいて再生されている動画の表示例を示す。
図5に示されているように、視聴ユーザ装置10のディスプレイには、サーバ装置60から配信された動画を含む画像30が表示される。この視聴ユーザ装置10に表示されている画像30には、アニメーション生成部61aにより生成された配信ユーザUbのキャラクタオブジェクト31と、ギフトボタン32と、評価ボタン33と、コメントボタン34と、コメント表示領域35と、が含まれている。
図6aに示されているように、配信ユーザ装置20aのディスプレイ23aには、サーバ装置60から配信された動画を含む画像40aが表示される。この画像40aには、画像30と同様に、配信ユーザUbのキャラクタオブジェクト31と、ギフトボタン32と、評価ボタン33と、コメントボタン34と、コメント表示領域35と、が含まれている。これに加えて、画像40aには、共演申請ボタン36が含まれてもよい。共演申請ボタン36は、配信ユーザUbが配信している動画において配信ユーザUbとの共演を申請するための共演申請を送信するための操作ボタンである。配信ユーザUaは、配信ユーザ装置20aにおいて共演申請ボタン36を選択することにより配信ユーザUbとの共演を申請するための共演申請を配信ユーザ装置20aからサーバ装置60に送信することができる。配信ユーザ装置20aは、例えば、視聴プログラムを含むアプリケーションソフトウェアを実行することにより、配信された動画の画像40aを表示することができる。
図5に示されているように、視聴ユーザ装置10に表示される画像30には共演申請ボタン36が含まれなくともよい。例えば、視聴ユーザ装置10に配信プログラムを含むアプリケーションソフトウェアがダウンロードもしくはインストールされていない場合、及び、視聴ユーザ装置10において配信プログラムを含むアプリケーションソフトウェアが起動されていない場合に、共演申請ボタン36が含まれないように画像30が生成される。他の実施形態では、視聴ユーザ装置10の画像30にも共演申請ボタン36を表示してもよい。例えば、視聴ユーザ装置10に配信プログラムを含むアプリケーションソフトウェアがダウンロードもしくはインストールされている場合、または、視聴ユーザ装置10において配信プログラムを含むアプリケーションソフトウェアが起動されている場合に、共演申請ボタン36が含まれるように画像30が生成される。
キャラクタオブジェクト31は、上記のように、配信ユーザUbのフェイスモーションデータをモデルデータ63aに含まれているモデルデータに適用することにより生成されているため、配信ユーザUbの表情の動きに同期してその表情が変化する。配信ユーザ装置20からボディモーションデータが提供される場合には、キャラクタオブジェクト31は、その顔以外の部位も、配信ユーザUbの体の動きに同期して変化するように制御され得る。
ギフトボタン32は、視聴ユーザ装置10への操作によって選択可能に画像30に重畳表示されている。ギフトボタン32は、例えば、視聴ユーザ装置10のタッチパネルのうちギフトボタン32が表示されている領域へのタップ操作により選択され得る。一実施形態において、ギフトボタン32が選択されると、視聴中の動画を配信している配信ユーザ(ここでは、配信ユーザUbである。)にギフティングするギフトを選択するためのウィンドウが画像30に重畳表示される。当該視聴ユーザは、当該ウィンドウに表示されているギフトの中からギフティング対象とするギフトを購入することができる。他の実施形態においては、ギフトボタン32が選択されたことに応じて、購入済みのギフトの一覧を含むウィンドウが画像30に重畳表示される。この場合、当該視聴ユーザは、当該ウィンドウに表示されているギフトの中からギフティング対象とするギフトを選択することができる。視聴ユーザ装置10においてギフトボタン32が選択されると、ギフティング情報がサーバ装置60に送信されてもよい。このギフティング情報には、ギフティングするギフトを特定するギフト識別情報(ギフトID)が含まれてもよい。このように、動画を視聴している視聴ユーザは、ギフトボタン32の選択により、当該動画を配信している配信ユーザに対して所望のギフトを提供(ギフティング)することができる。
評価ボタン33は、視聴ユーザ装置10を使用する視聴ユーザによって選択可能に画像30に重畳表示されている。評価ボタン33は、例えば、視聴ユーザ装置10のタッチパネルのうち評価ボタン33が表示されている領域へのタップ操作により選択され得る。動画を視聴中の視聴ユーザによって評価ボタン33が選択されると、当該動画を配信する配信ユーザ(図示の例においては、配信ユーザUb)への肯定的な評価又は配信されている動画への肯定的な評価がなされたことを示す評価更新情報がサーバ装置60に送信されてもよい。サーバ装置60では、視聴ユーザからの評価更新情報に基づいて、ユーザ情報を更新することができる。例えば、視聴ユーザからの評価更新情報に基づいて、ユーザ情報に含まれるユーザ評価情報及び動画評価情報のうちの少なくとも一方が更新されてもよい。例えば、図5に示されている画像30に含まれる評価ボタン33が視聴ユーザによって選択された場合、視聴ユーザ装置10に表示されている動画を配信している配信ユーザUbのユーザ評価情報及び動画評価情報の少なくとも一方が更新されてもよい。評価ボタン33の選択により、当該動画への否定的な評価がなされたことを示す評価情報がサーバ装置60に送信されてもよい。動画への肯定的な評価を示す評価情報をポジティブ評価情報と呼び、動画への否定的な評価がなされたことを示す評価情報をネガティブ評価情報と呼んでもよい。サーバ装置60は、ポジティブ評価情報を受信した場合、ユーザ評価情報及び動画評価情報の少なくとも一方を増加させてもよい。サーバ装置60は、ネガティブ評価情報を受信した場合、ユーザ評価情報及び動画評価情報の少なくとも一方を減少させてもよい。
コメントボタン34は、ユーザによって選択可能に画像30に重畳表示される。コメントボタン34が例えばタップ操作により選択されると、コメントを入力するためのコメント入力ウィンドウが画像30に重畳表示される。視聴ユーザは、視聴ユーザ装置10又は配信ユーザ装置20aの入力機構を介してコメントを入力することができる。入力されたコメントは、視聴ユーザ装置10及び配信ユーザ装置20aからサーバ装置60に送信される。サーバ装置60は、視聴ユーザ装置10、配信ユーザ装置20a、及びこれら以外のユーザ装置からのコメントを受け付け、当該コメントを画像30内のコメント表示領域35に表示する。コメント表示領域35には、各ユーザから投稿されたコメントが、例えば時系列に表示される。コメント表示領域35は、画像30の一部の領域を占める。コメント表示領域35に表示可能なコメント数には上限がある。図示の例では、コメント表示領域35には3つまでコメントが表示され得る。コメント表示領域35に設定されている上限を超えたコメントの投稿がなされた場合には、投稿時間が古いコメントから順にコメント表示領域35から削除される。このため、受け付けるコメントの頻度が高くなるほどコメント領域35における各コメントの表示時間は短くなる。一実施形態においては、画像30にスクロールバーを設置し、このスクロールバーを操作してコメントをスクロールすることにより、コメント表示領域35から削除されたコメントが閲覧可能とされる。
図6bに示されているように、配信ユーザ装置20bのディスプレイには、サーバ装置60から配信された画像40bが表示される。この配信ユーザ装置20bに表示される画像40bには、配信ユーザUbに対応するキャラクタオブジェクト31と、視聴ユーザから受け取ったギフトを動画中に表示するための表示指示ボタン42a~42cと、コメント表示領域35と、が含まれている。配信ユーザ装置20bに表示される画像40bには、画像30及び画像40aと同じ背景画像、キャラクタオブジェクト画像、及びコメントが含まれている。他方、画像40bは、ギフトボタン32、評価ボタン33、コメントボタン34、及び共演申請ボタン36を含んでおらず、表示指示ボタン42a~42cを含んでいる点で画像30及び画像40aと異なっている。表示指示ボタン42a~42cは、例えば、視聴ユーザからギフトを受け取ったことに応じて画像40に表示される。図示の実施形態においては、画像40に3つの表示指示ボタン42a~42cが表示されている。表示指示ボタン42a~42cの各々は、配信ユーザによって選択可能に画像40に表示される。表示指示ボタン42a~42cのいずれかが例えばタップ操作により選択されると、この選択された表示指示ボタンに対応するギフトを表示するための操作が行われる。このように、表示指示ボタン42a~42cは、ギフトを配信中の動画に表示させる指示を行うための表示指示オブジェクトである。
招待ユーザ選定部61dは、配信ユーザUbのために、動画配信システム1の全ユーザのうちの共演候補ユーザの中から、配信ユーザUbの動画に招待する招待ユーザを選定する。招待ユーザは、配信ユーザUbと共演するためのインビテーションの送付先となる。
共演候補ユーザは、動画配信システム1のユーザの全部であってもよいし一部であってもよい。動画配信システム1のユーザは、動画配信システム1のユーザアカウントを持っている。動画配信システム1のユーザは、視聴ユーザ装置10を利用して動画の配信及び視聴の少なくとも一方を行う。動画配信システム1のユーザの一部は、動画の視聴のみを行うことができる。動画配信システム1のユーザが利用する視聴ユーザ装置10に動画配信のためのモーションデータを取得するための機能(例えば、フェイスモーションデータ生成部21a1、21b1に相当する機能)が備えられていない場合、当該ユーザは、動画配信システム1において動画の視聴のみを行うことができる。動画配信システム1のユーザが利用する視聴ユーザ装置10に動画配信のための機能を有している場合、当該ユーザは、動画配信システム1において動画の視聴及び配信を両方とも行うことができる。共演候補ユーザは、例えば、動画配信システム1の全ユーザのうち動画の配信を行うことができるユーザとすることができる。つまり、動画配信システム1の全ユーザのうち、視聴のみを行うことができるユーザは、共演候補ユーザから除外されてもよい。動画配信のための機能を備えていない視聴ユーザ装置10は、動画配信に必要な機能を実現するためのプログラムをインストールすることにより動画配信のための機能を備えることができる。したがって、視聴のみを行うことができるユーザを共演候補ユーザに加えても良い。視聴のみを行うユーザがインビテーションを受けた場合には、動画配信を行うための機能をインストールした上で共演申請を行うことができる。
共演候補ユーザは、動画配信システム1の全ユーザの中から所定のスクリーニング基準に従って選択されてもよい。上述のように、動画配信を行うことができるユーザか否かをスクリーニング基準としてもよい。これ以外に、動画配信システム1におけるアクティブさをスクリーニング基準としてもよい。動画配信システム1のユーザがアクティブか否かは、動画の視聴回数、動画の視聴頻度、動画の視聴時間、動画の配信回数、動画の配信頻度、動画の配信時間、動画配信システム1へのログイン回数、動画配信システム1へのログイン頻度、動画配信システム1内でのメッセージの送信数、及びこれら以外の様々な指標で評価され得る。招待ユーザ選定部61dは、動画配信システム1の全ユーザの中から、動画配信システム1においてアクティブに活動しているユーザを選定し、当該ユーザを共演候補ユーザとすることができる。共演候補ユーザを選択するためのスクリーニング基準として、本明細書で具体的に説明された基準以外の様々な基準を適用し得る。
招待ユーザ選定部61dは、共演候補ユーザの中から一又は複数の招待ユーザを選定する。招待ユーザ選定部61dは、ユーザ情報63cの一部又は全部を利用して招待ユーザを選定することができる。一実施形態において、招待ユーザ選定部61dは、ユーザ情報63cのうち配信ユーザUbのログ情報及び共演候補ユーザの各々のログ情報に基づいて共演候補ユーザの中から一又は複数の招待ユーザを選定する。
本発明の一実施形態において、招待ユーザ選定部61dは、配信ユーザUbからのインビテーションの送付先となる招待ユーザを選定するために視聴ユーザ情報を用いることができる。具体的には、招待ユーザ選定部61dは、配信ユーザUbの視聴ユーザ情報に含まれるユーザIDと共演候補ユーザの各々の視聴ユーザ情報に含まれるユーザIDとを比較することで、配信ユーザUbと共演候補ユーザの各々との間での視聴ユーザの重複度を求め、この重複度に基づいて招待ユーザを選定する。例えば、配信ユーザUbと共演候補ユーザの一人である共演候補ユーザAとの間での視聴ユーザの重複度は、ユーザ情報63cにおいて配信ユーザUbのユーザIDに対応付けて視聴ユーザ情報として記憶されている視聴ユーザのユーザIDと、ユーザ情報63cにおいて共演候補ユーザAのユーザIDに対応付けて視聴ユーザ情報として記憶されている視聴ユーザのユーザIDとの重複度によって表される。より具体的には、ユーザ情報63cにおいて配信ユーザUbのユーザIDと対応付けて1000人分の視聴ユーザのユーザIDが記憶されており、このうち400人分の視聴ユーザのユーザIDが共演候補ユーザAのユーザIDと対応付けて視聴ユーザ情報として記憶されている場合、重複度は40%(100×(400/1000)=40%)である。他の例を挙げる。ユーザ情報63cにおいて配信ユーザUbのユーザIDと対応付けて1000人分の視聴ユーザのユーザIDが記憶されており、このうち50人分の視聴ユーザのユーザIDが共演候補ユーザBのユーザIDと対応付けて視聴ユーザ情報として記憶されている場合、重複度は5%(100×(50/1000)=5%)である。配信ユーザUbと他の共演候補ユーザとの間の視聴ユーザの重複度も同様にして求められる。招待ユーザ選定部61dは、全ての共演候補ユーザについて配信ユーザUbとの間での視聴ユーザの重複度を求める。
本発明の一実施形態において、招待ユーザ選定部61dは、上記のように配信ユーザUbと共演候補ユーザの各々との間で視聴ユーザの重複度を求め、共演候補ユーザのうち配信ユーザUbとの間での視聴ユーザの重複度が所定の閾値よりも小さいユーザを招待ユーザとして決定することができる。本明細書では、この視聴ユーザの重複度に関する閾値を「第1閾値」と呼ぶことがある。第1閾値は、例えば、10%とされる。第1閾値は、適宜変更することができる。第1閾値が10%の場合、配信ユーザUbと共演候補ユーザAとの間での視聴ユーザの重複度は40%であるから共演候補ユーザAは招待ユーザとしては選定されず、配信ユーザUbと共演候補ユーザBとの間での視聴ユーザの重複度は5%であるから共演候補ユーザBは招待ユーザとして選定される。他の共演候補ユーザについても、同様に、各共演候補ユーザと配信ユーザUbとの間での視聴ユーザの重複度を第1閾値と比較することにより、各共演候補ユーザが招待ユーザとして選定されるか否かが判定される。配信ユーザUbとの間で視聴ユーザの重複度が第1閾値よりも小さい共演候補ユーザと配信ユーザUbとが共演することになれば、視聴ユーザの重複度が小さいユーザ同士が共演することになる。
招待ユーザ選定部61dは、視聴ユーザの重複度に代えて又は視聴ユーザの重複度に加えて、配信ユーザUbと共演候補ユーザの各々との間での視聴ユーザの重複数に基づいて招待ユーザを選定しても良い。招待ユーザ選定部61dは、配信ユーザUbの視聴ユーザ情報に含まれるユーザIDと共演候補ユーザの各々の視聴ユーザ情報に含まれるユーザIDとを比較することで、配信ユーザUbと共演候補ユーザの各々との間での視聴ユーザの重複数を求め、この重複数に基づいて招待ユーザを選定する。招待ユーザ選定部61dは、上記のように配信ユーザUbと共演候補ユーザの各々との間で視聴ユーザの重複数を求め、共演候補ユーザのうち配信ユーザUbとの間での視聴ユーザの重複数が所定の閾値よりも小さいユーザを招待ユーザとして決定することができる。本明細書では、この視聴ユーザの重複数に関する閾値を「第2閾値」と呼ぶことがある。第2の閾値は、例えば、100人とすることができる。第2閾値は、適宜変更することができる。招待ユーザ選定部61dは、配信ユーザUbとの間での視聴ユーザの重複度及び重複数の少なくとも一方が所定の閾値よりも小さいユーザを招待ユーザとして決定することができる。
このようにして共演候補ユーザのうち配信ユーザUbとの間での視聴ユーザの重複度又は重複数が所定の閾値よりも小さいユーザが招待ユーザとして選定される。これにより、配信ユーザUb及び招待ユーザとして選定された配信ユーザにとっては(上記の例では、配信ユーザUb及び共演候補ユーザBにとっては)、共演するまではリーチできていなかった視聴ユーザ層へリーチすることができるようになる。例えば、上記の例において、配信ユーザUbと共演候補ユーザBとが共演する場合、配信ユーザUbが配信する動画に共演候補ユーザBが出演することになるので、共演候補ユーザBは、配信ユーザUbの動画を視聴する視聴ユーザにリーチする機会を得ることができる。配信ユーザUbにとっては、自らの動画に共演候補ユーザBが出演することで、共演候補ユーザBの動画をよく視聴する視聴ユーザが共演候補ユーザBと配信ユーザUbとが共演している配信ユーザUbの動画を視聴することが期待される。共演候補ユーザBの動画を視聴したことがある視聴ユーザに配信ユーザUbと共演候補ユーザBとが共演する共演動画の視聴を促すために、共演候補ユーザBの動画を視聴したことがある視聴ユーザに共演候補ユーザBが他の配信ユーザ(ここでは、配信ユーザUb)の動画に出演することを告知する通知を送信しても良い。このように、配信ユーザUbと視聴ユーザの重複度及び重複数の少なくとも一方が低いユーザを招待ユーザとして選定することにより、配信ユーザUb及び招待される共演候補ユーザ(招待ユーザ)の双方にとってこれまでリーチできなかった視聴者層にリーチできるという利点がある。
本発明の別の実施形態において、招待ユーザ選定部61dは、共演候補ユーザのうち配信ユーザUbとの間での視聴ユーザの重複度が所定の閾値よりも大きいユーザを招待ユーザとして決定することができる。配信ユーザUbとの間で視聴ユーザの重複度が第1閾値よりも大きい共演候補ユーザと共演することになれば、視聴ユーザの重複度が大きいユーザ同士が共演することになる。このように、配信ユーザUbと視聴ユーザの重複度及び重複数の少なくとも一方が高いユーザを招待ユーザとして選定することにより、配信ユーザUb及び招待される共演候補ユーザ(招待ユーザ)の双方にとって、視聴者層の共通性が高い相手と共演できるという利点がある。配信ユーザUbとの間で視聴ユーザの重複度又は重複数が低い共演候補ユーザは、配信ユーザUbの動画を視聴している視聴ユーザに好感を持たれない可能性がある。配信ユーザUbと視聴ユーザの重複度及び重複数の少なくとも一方が高いユーザを招待ユーザとして選定することにより、配信ユーザUbは、自らの視聴ユーザに受け入れられやすい相手と共演することができる。
本発明の別の実施形態において、招待ユーザ選定部61dは、共演候補ユーザのうち配信ユーザUbとの間での視聴ユーザの重複度が所定の範囲内にあるユーザを招待ユーザとして決定することができる。つまり、招待ユーザ選定部61dは、共演候補ユーザのうち配信ユーザUbとの間での視聴ユーザの重複度が下限閾値と上限閾値との間にあるユーザを招待ユーザとして決定することができる。下限閾値と上限閾値を適切に設定することにより、視聴ユーザが適度に重複しているユーザばかりを招待ユーザとして決定したり、視聴者層の重複が非常に小さい相手とばかり共演することを回避できる。
本発明の別の実施形態において、招待ユーザ選定部61dは、配信ユーザUbからのインビテーションの送付先となる招待ユーザを選定するために共演回数情報を用いることができる。具体的には、招待ユーザ選定部61dは、配信ユーザUbの共演回数と共演候補ユーザの各々の共演回数との差を求め、この共演回数の差に基づいて招待ユーザを選定する。例えば、配信ユーザUbの共演回数と共演候補ユーザの一人である共演候補ユーザAの共演回数との差は、ユーザ情報63cにおいて配信ユーザUbのユーザIDに対応付けて共演回数情報として記憶されている共演回数と、ユーザ情報63cにおいて共演候補ユーザAのユーザIDに対応付けて共演回数情報として記憶されている共演回数との差である。
本発明の一実施形態において、招待ユーザ選定部61dは、上記のように配信ユーザUbと共演候補ユーザの各々との間で共演回数の差を求め、共演候補ユーザのうち配信ユーザUbとの間で共演回数の差が所定の閾値よりも大きいユーザを招待ユーザとして決定することができる。本明細書では、この共演回数に関する閾値を「第3閾値」と呼ぶことがある。第3閾値は、例えば、10回とされる。第3閾値は、適宜変更することができる。第3閾値が10回の場合、配信ユーザUbの共演回数との差が10回よりも大きい共演候補ユーザが招待ユーザとして選定される。配信ユーザUbとの間で共演回数の差が大きい共演候補ユーザと配信ユーザUbとが共演することになれば、共演回数の差が大きいユーザ同士が共演することになる。
このようにして共演候補ユーザのうち配信ユーザUbと共演回数の差が大きいユーザが招待ユーザとして選定される。配信ユーザUbの共演回数が招待ユーザの共演回数よりも多い場合には、招待ユーザは、動画での共演に習熟したユーザからインビテーションを受けることになるので、インビテーションに応じて共演申請を行い易くなる。これとは逆に、招待ユーザの共演回数が配信ユーザUbの共演回数よりも多い場合には、配信ユーザUbは、動画での共演に習熟したユーザと共演することができる。
本発明の別の実施形態において、招待ユーザ選定部61dは、配信ユーザUbからのインビテーションの送付先となる招待ユーザを選定するために属性情報を用いることができる。具体的には、招待ユーザ選定部61dは、配信ユーザUbの属性情報と共演候補ユーザの各々の属性情報とを比較し、この比較結果に基づいて招待ユーザを選定することができる。例えば、属性情報として登録されている情報の少なくとも一部が共通する共演候補ユーザを招待ユーザとして選定することができる。このように、属性情報に基づいて招待ユーザを選定することにより、配信ユーザUbと共通性の高いプロフィールを有する共演候補ユーザを招待ユーザとして選定することができる。これにより、プロフィールの面で共通性の高いユーザ同士を動画で共演させることができる。プロフィールの面で共通性の高いユーザ同士が共演することにより、動画において共演者同士の会話がスムースに進展することが期待できる。これとは逆に、配信ユーザUbと共通性の低いプロフィールを有する共演候補ユーザを招待ユーザとして選定することもできる。これにより、プロフィールの面で共通性の低いユーザ同士を動画で共演させることができる。プロフィールの面で共通性の低いユーザ同士が共演することにより、共演者同士で意外性や緊張感のあるやりとりがなされることが期待できる。
本発明の別の実施形態において、招待ユーザ選定部61dは、配信ユーザUbからのインビテーションの送付先となる招待ユーザを選定するためにソーシャル情報を用いることができる。具体的には、招待ユーザ選定部61dは、配信ユーザUbのソーシャル情報と共演候補ユーザの各々のソーシャル情報とを比較し、この比較結果に基づいて招待ユーザを選定することができる。例えば、招待ユーザ選定部61dは、ソーシャル情報のうちのフレンド情報により、配信ユーザUbと共通の友人を有する共演候補ユーザを招待ユーザとして選定することができる。招待ユーザ選定部61dは、配信ユーザUbと所定数以上(例えば10人以上)の共通の友人を有する共演候補ユーザを招待ユーザとして選定することができる。これとは逆に、招待ユーザ選定部61dは、配信ユーザUbと共通の友人を有していない共演候補ユーザを招待ユーザとして選定することができる。招待ユーザ選定部61dは、配信ユーザUbとの共通の友人の数が所定数(例えば3人)以下である共演候補ユーザを招待ユーザとして選定することができる。
以上のように、招待ユーザ選定部61dは、視聴ユーザ情報、共演回数情報、属性情報、及びソーシャル情報のうちの少なくとも一つを用いて、配信ユーザUbからのインビテーションの送付先となる招待ユーザを選定することができる。招待ユーザ選定部61dは、視聴ユーザ情報、共演回数情報、属性情報、及びソーシャル情報を適宜組み合わせて招待ユーザを選定することができる。例えば、招待ユーザ選定部61dは、視聴ユーザ情報及び共演回数情報をともに用いて、視聴ユーザの重複度が第1閾値よりも小さく、且つ、共演回数の差が第3閾値よりも大きい共演候補ユーザを招待ユーザとして選定することができる。
招待ユーザ選定部61dは、配信ユーザUbが動画の配信を開始した時点で招待ユーザの選定を行っても良いし、配信ユーザ装置20bのインビテーション処理要求部21b2からインビテーション要求を受け取ったことに応じて招待ユーザの選定を行っても良い。
インビテーション処理部61eは、インビテーション要求部21b2からのインビテーション要求に基づいて、招待ユーザ選定部61dによって選定された招待ユーザに対して、動画配信システム1に含まれる一又は複数の配信ユーザ装置にインビテーションを送信する。このインビテーションは、上記のとおり、配信ユーザUbが配信している動画に他の配信ユーザを招待するための通知である。図7を参照して配信ユーザ装置20bから送信されるインビテーション要求についてさらに説明する。図7は、配信ユーザ装置20bに表示されるインビテーション要求を設定するためのウィンドウを説明する図である。配信ユーザ装置20bには、動画の配信開始前又は動画の配信開始後に、設定ウィンドウ41が表示される。設定ウィンドウ41は、ユーザの操作に応じて表示されても良いし、ユーザの操作がなくとも動画配信開始前又は動画の配信開始後の所定のタイミングで表示されてもよい。
図示の実施形態において、設定ウィンドウ41は、スイッチ41aと、ステッパー41bと、パスワード設定領域41cと、を含む。スイッチ41aは、インビテーションの送信要否を切り替えるスイッチである。スイッチ41aは、ユーザの操作に応じて、オンまたはオフに切り替えられる。スイッチ41aがオンされたときに、インビテーション要求をサーバ装置60に送信するように設定が切り替えられる。スイッチ41aがオフされたときには、インビテーション要求はサーバ装置60に送信されない。例えば、スイッチ41aがオンされた後にウィンドウ41が閉じられたことを契機にインビテーション要求がサーバ装置60に送信される。
ステッパー41bは、ユーザの操作に応じて入力される数値を増減させるための操作部である。図示の実施形態においては、ステッパー41bにより、配信予定の動画又は配信中の動画において共演できる共演人数を増減することができる。図7の例では、共演できる人数として10人が設定されている。ステッパー41bにおいて「-」が選択されると設定されている人数が10人から例えば9人に減少し、ステッパー41bにおいて「+」が選択されると設定されている人数が10人から例えば11人に増加する。一実施形態において、共演人数は、配信する動画において同時に共演するユーザの上限数を意味してもよい。この実施形態においては、共演人数が10人に設定されていれば、10人のユーザがそのキャラクタを通じて動画内で同時に共演することができる。別の実施形態においては、同時に共演できる人数は、設定される共演人数の上限数より少数の人数(例えば、2人)に設定される。この場合、共演人数の上限数は、配信時間内に共演できるユーザ数の上限を意味する。例えば、動画において同時に共演できる人数が2人に設定されており共演人数の上限として10人が設定されている場合には、10人のゲストユーザに出演順番が設定され、この出演順番に従ってゲストユーザが一人ずつホストユーザと共演する。招待ユーザ選定部61dは、設定された共演人数の上限に応じて、選定する招待ユーザの数を増減させてもよい。より具体的には、招待ユーザ選定部61dは、設定された共演人数の上限に応じて、第1閾値、第2閾値、第3閾値、及びこれら以外の選定される招待ユーザの数に影響を与えるパラメータを調整しても良い。
パスワード設定領域41cには、共演を希望するゲストユーザに提供される共演パスワードが設定される。この共演パスワードは、例えば4デジットの数字列である。配信ユーザUbは、配信システム1を利用している配信ユーザのうち特定の配信ユーザに対してのみ共演パスワードを通知することにより、当該特定の配信ユーザとのみ共演を行うことができる。言い換えると、配信ユーザUbは、共演パスワードを通知していない配信ユーザとの共演を回避することができる。特定の配信ユーザのみに対して共演パスワードを通知する場合には、配信ユーザUbは、通知対象となる配信ユーザのユーザIDを入力することにより当該特定の配信ユーザを指定することができる。共演パスワードを通知する特定の配信ユーザの指定方法には特に制限はない。共演申請時にパスワード入力を要求しない場合には、パスワード設定領域41cは省略される。
インビテーション要求部21b2は、設定ウィンドウ41及び必要に応じてそれ以外の入力インタフェースを通じて定められた設定に基づいて、インビテーション要求を生成し、当該インビテーション要求をサーバ装置60に送信する。インビテーション要求には、配信ユーザUbのユーザIDも含まれる。インビテーション要求には、共演人数、共演パスワード、及びこれら以外のインビテーションを行うために必要な情報が含まれ得る。
インビテーション処理部61eは、インビテーション要求部21b2からのインビテーション要求に基づいてインビテーションを生成し、生成されたインビテーションを招待ユーザ選定部61dにより選定された招待ユーザの配信ユーザ装置に対して送信する。インビテーション要求に共演パスワードが含まれている場合には、インビテーション処理部61eは、招待ユーザに対して当該共演パスワードを通知してもよい。
インビテーション処理部61eは、配信ユーザUbからのインビテーション要求を受け付けると、ストレージ63に格納されているユーザ情報63cを参照して、配信ユーザUbのホストユーザ情報を生成する。一実施形態において、インビテーション要求を行った配信ユーザ(配信ユーザUb)のホストユーザ情報は、ユーザ情報63cにおいて当該配信ユーザ(配信ユーザUb)のユーザアカウント情報に対応付けて格納されているユーザ評価情報、動画評価情報、及び視聴者数情報のうちの少なくとも一部であるか、これらの情報に基づいて生成される。言い換えると、インビテーション要求を行った配信ユーザのホストユーザ情報は、当該配信ユーザのユーザアカウント情報に対応付けて格納されているユーザ評価情報、動画評価情報、及び視聴者数情報のうちの少なくとも一つであってもよいし、これらの情報に基づいて生成されたスコアであってもよい。ホストユーザ情報は、インビテーションを受けた配信ユーザが配信ユーザUbとの共演を申請するか否かを決定するために参照可能な指標であることが望ましく、例えば配信ユーザUbのホストユーザとしてのプロファイルを表す指標であることが望ましい。
インビテーション処理部61eは、配信ユーザUbのホストユーザ情報を、配信ユーザUbとの共演へ招待するためのインビテーションに関連付けて、配信ユーザUa及びそれ以外の配信ユーザに送信することができる。これにより、配信ユーザUbからのインビテーションを受け取る配信ユーザは、配信ユーザUbのホストユーザ情報へアクセスすることができる。言い換えると、配信ユーザUbのホストユーザ情報は、配信ユーザUbからのインビテーションを受け取った配信ユーザに提示できるように、当該インビテーションと関連付けられている。一実施形態において、ホストユーザ情報は、インビテーションの一部として配信ユーザに送信される。ホストユーザ情報は、インビテーションとともに配信ユーザに送信されてもよい。他の実施形態において、ホストユーザ情報は、サーバ装置60において記憶され、インビテーションにはこのサーバ装置60に記憶されているホストユーザ情報へのリンクが含められても良い。
次に、図8を参照して、招待ユーザの配信ユーザ装置における処理について説明する。本明細書では、招待ユーザ選定部61dによって配信ユーザUaが招待ユーザとして選定されたと想定する。図8は、配信ユーザUbからのインビテーションを受け取った配信ユーザUaの配信ユーザ装置20aにおけるインビテーションの表示例を示す。配信ユーザ装置20aのインビテーション提示部21a2は、配信ユーザUbからのインビテーションを受け取ると、図示のように配信ユーザ装置20aのディスプレイ23aにウィンドウ37を表示する。ウィンドウ37には、インビテーションを受けたことを示す「Ubから招待されました。」という文字列が含まれる。これにより、配信ユーザUaは、配信ユーザUbからのインビテーションを受信したことを知ることができる。ウィンドウ37は、当該文字列以外に、ディスプレイ領域37a、共演申請ボタン37b、及び共演辞退ボタン37cを含むことができる。
インビテーション提示部21a2は、ディスプレイ領域37aに配信ユーザUbのホストユーザ情報を表示する。上記のように、一実施形態におけるホストユーザ情報は、配信ユーザUbのホストユーザとしてのプロファイルを表す指標である。ホストユーザ情報は、例えば視聴者数情報であってもよい。配信ユーザUbが配信している動画の視聴ユーザ数が多い場合には、配信ユーザUaは、配信ユーザUbと共演することによって多くの視聴ユーザを獲得できる可能性がある。ホストユーザ情報は、ユーザ評価情報であってもよい。配信ユーザUbのユーザ評価情報が高いことは、配信ユーザUbが他のユーザから高い評判を獲得していることを意味する。よって、配信ユーザUaは、配信ユーザUbのユーザ評価情報が高い場合には、配信ユーザUbと共演することで自らも高い評価を得ることができる可能性がある。ホストユーザ情報は、動画評価情報であってもよい。配信ユーザUbの動画評価情報が高いことは、配信ユーザUbが配信した動画が高い評判を獲得していることを意味する。よって、配信ユーザUaは、配信ユーザUbの動画評価情報が高い場合には、配信ユーザUbの動画へ出演することにより自らも高い評価を得ることができる可能性がある。
ホストユーザ情報は、視聴者数情報、ユーザ評価情報、及び動画評価情報の一部又は全部に基づいて所定のアルゴリズムにより算出したスコアであってもよい。例えば、配信ユーザの多くは、より多くの視聴ユーザの獲得を目指すと考えられるので、視聴者数情報は、ユーザ情報に含まれる他の情報よりもゲストユーザにとって重要視される可能性がある。そこで、視聴者数情報、ユーザ評価情報、及び動画評価情報について、視聴者数情報により多くの重み付けを行った加重平均を算出し、この加重平均で表されるスコアをホストユーザ情報として用いることができる。ホストユーザ情報を示すスコアの算出方法は、本明細書で明示的に説明されるものには限定されない。
以上のように、配信ユーザUbの視聴者数情報、ユーザ評価情報、及び動画評価情報並びにこれらの情報に基づいて算出されたスコアは、配信ユーザUbのホストユーザとしてのプロファイル又は共演相手としての魅力を表す指標となり得る。このようなホストユーザ情報をディスプレイ領域37aに表示することにより、インビテーションを送った配信ユーザUbと共演するか否かを決定する際に参照できる情報を招待ユーザである配信ユーザUaに伝えることができる。配信ユーザUaは、ホストユーザ情報に基づいて、配信ユーザUbとの共演を行うか否かを決定することができる。
ウィンドウ37に含まれる共演申請ボタン37bは、配信ユーザUbが配信している動画において配信ユーザUbとの共演を申請するための共演申請を送信するための操作ボタンである。共演申請は、共演申請ボタン37bを選択することによりサーバ装置60に送信され、この送信された共演申請がサーバ装置60にて受け付けられる。サーバ装置60は、配信ユーザUaからの共演申請だけでなく、様々な配信ユーザからの共演申請を受け付けることができる。ウィンドウ37の表示後の所定時間内に共演申請ボタン37b又は共演辞退ボタン37cのいずれも選択されない場合には、ウィンドウ37を画面から消去してもよい。既述のとおり、配信ユーザ装置20aに表示される動画40aには共演申請ボタン36が表示されてもよい。よって、ウィンドウ37は共演申請ボタン37bを含まなくとも良い。ウィンドウ37に共演申請ボタン37bが含まれない場合には、配信ユーザUaは、配信ユーザUbとの共演を申請するときに共演申請ボタン36を選択することができる。
図示の実施形態において、共演申請ボタン36は、ウィンドウ37の表示前から表示されている。この場合、インビテーションを受信する前であっても配信ユーザUaは、共演申請ボタン36を選択することにより、配信ユーザUbとの共演を申請することができる。このように、インビテーションを受けていない配信ユーザからの共演申請を受け付ける場合には、過大な数の共演申請が行われる可能性がある。特に、配信ユーザUbが人気にある配信ユーザである場合には、非常に多くの共演申請がなされる可能性がある。そこで、本発明の他の実施形態において、共演申請ボタン36は、インビテーションを受けた後に、当該インビテーションを受信した配信ユーザの配信ユーザ装置においてのみ表示されてもよい。インビテーションを受けた場合には、ウィンドウ37に共演申請ボタン37bが表示されるが、そのウィンドウ37が画像から消えた後に、共演申請ボタン36が画像40aに表示されてもよい。これにより、インビテーションを受けた招待ユーザからのみ共演申請を受け付けることができる。
本発明の一実施形態においては、共演申請ボタン36はインビテーションを受け取ったか否かにかかわらず画像40aに表示されてもよい。この場合、共演申請ボタン36が選択されたときに共演パスワードの入力を要求し、共演パスワードが認証された場合にのみ共演要求がサーバ装置60に送信されるようにしてもよい。配信ユーザUbは、共演申請を認めるユーザに対してのみ当該共演パスワードを通知しておくことにより、共演申請数をコントロールすることができる。共演パスワードの通知は、動画配信システム1内で利用されるメッセージング機能、動画配信システム1とは別のメッセージング機能(例えば、LINE株式会社が提供するLINE)、及びこれら以外のチャネルでユーザに対して通知され得る。このように、共演パスワードは、配信ユーザUbからのインビテーションと関連付けずに、関連ユーザUbが配信している動画を視聴しているユーザ又はそれ以外のユーザに送信され得る。
共演申請処理部61fは、あるユーザ(例えば、配信ユーザUa)からの共演申請を受け付けた場合に、当該ユーザの共演申請を許可するか否かを判定する。共演申請処理部61fは、共演申請を行った配信ユーザUaのユーザ情報の少なくとも一部に基づいて、配信ユーザUaと配信ユーザUbとの共演を許可するか否かを判定してもよい。例えば、共演申請を行った配信ユーザUaのユーザ評価ポイントが所定の閾値よりも大きい場合に配信ユーザUaの配信ユーザUbとの共演が許可され、当該閾値以下の場合には配信ユーザUaの配信ユーザUbとの共演は拒否されてもよい。この判定基準には、特に制限はない。招待ユーザ選定部61dは、配信ユーザUbの共演相手として望ましいユーザを招待ユーザとして選定するように構成されているが、仮に共演相手として望ましくないユーザが招待ユーザとして選定された場合であっても、共演申請処理部61fによって共演可否を判定することにより、望ましくない共演相手との共演を回避することができる。
共演申請処理部61fは、配信ユーザUaからの共演申請が許可された場合に、当該共演申請に基づいて配信ユーザUaと配信ユーザUbとが共演する共演動画を生成する。共演動画の生成のために、共演申請処理部61fは、配信ユーザUaから、当該配信ユーザUaのフェイスモーションデータ及び音声データを取得する。配信ユーザUaのフェイスモーションデータは、共演申請とともに配信ユーザ装置20aからサーバ装置60に送信されてもよいし、共演申請が許可された後にサーバ装置60からの要求に応じて配信ユーザ装置20aからサーバ装置60に送信されてもよい。配信ユーザUaの体の動きもアニメーションとして表現される場合には、配信ユーザUaのフェイスモーションデータとともにボディモーションデータがサーバ装置60に提供されてもよい。共演申請処理部61fは、配信ユーザUaからフェイスモーションデータが取得できない場合には、配信ユーザUaから音声データのみを取得してもよい。例えば、配信ユーザUaが使用する配信ユーザ装置20aがフェイスモーションデータ生成部21a1の機能またはこれ以外の動画配信のための機能を備えていない場合、当該機能がディスエーブルされている場合、及びこれら以外の場合には、共演申請処理部61fは、配信ユーザUaからフェイスモーションデータ(及びボディモーションデータ)を取得せず音声データを取得してもよい。
一実施形態において、共演申請処理部61fは、配信ユーザUaのフェイスモーションデータに基づいて、配信ユーザUbのキャラクタオブジェクト31を含む配信中の動画に、配信ユーザUaのキャラクタオブジェクトのアニメーションを追加することで、共演動画を生成する。配信ユーザUaのキャラクタオブジェクトのアニメーションは、アニメーション生成部61aにおいて、配信ユーザUaのフェイスモーションデータに基づいて生成されてもよい。配信ユーザUaのキャラクタオブジェクトのアニメーションは、配信ユーザUaのフェイスモーションデータをモデルデータ63aに含まれている配信ユーザUa用のモデルデータに適用することにより生成されてもよい。例えば、共演申請処理部61fは、配信ユーザUaのキャラクタオブジェクトのアニメーションを含むレイヤーを生成し、このレイヤーを配信ユーザUbのキャラクタオブジェクト31を含む動画に重畳することで、配信ユーザUaのキャラクタオブジェクト及び配信ユーザUbのキャラクタオブジェクト31を含む共演動画を生成することができる。配信ユーザUaのキャラクタオブジェクト及び配信ユーザUbのキャラクタオブジェクト31を含む共演動画を生成することで、配信ユーザUaと配信ユーザUbとは互いに離れた地点から動画配信システム1を利用している場合であっても、当該共演動画内で仮想的に共演することができる。共演申請処理部61fは、配信ユーザUaからフェイスモーションデータ(及びボディモーションデータ)を取得せず音声データを取得した場合には、配信ユーザUbのキャラクタオブジェクト31を含む動画に、配信ユーザUaから取得した音声データに基づいて生成される音声を重畳することで、配信ユーザUbのキャラクタオブジェクト31と配信ユーザUaの音声とを含む共演動画を生成することができる。共演申請処理部61fは、モデルデータ63aとして配信ユーザUa用のモデルデータが設定されていない場合にも、配信ユーザUbのキャラクタオブジェクト31を含む動画に、配信ユーザUaから取得した音声データに基づいて生成される音声を重畳することで、配信ユーザUbのキャラクタオブジェクト31と配信ユーザUaの音声とを含む共演動画を生成することができる。このように、配信ユーザUaは、自らの音声により配信ユーザUbと共演することができる。
共演申請処理部61fは、配信ユーザUaからフェイスモーションデータを取得できない場合に配信ユーザUaの音声と配信ユーザUbのキャラクタオブジェクト31を含む共演動画を配信し、その後配信ユーザUaからフェイスモーションデータを取得したタイミングで、配信ユーザUaのフェイスモーションデータに基づいて配信ユーザUaのキャラクタオブジェクトを生成することで、配信ユーザUaのキャラクタオブジェクト及び配信ユーザUbのキャラクタオブジェクト31を含む共演動画を生成することができる。このように、共演申請処理部61fは、配信ユーザUaの音声と配信ユーザUbのキャラクタオブジェクト31を含む共演動画を、配信ユーザUaのキャラクタオブジェクト及び配信ユーザUbのキャラクタオブジェクト31を含む共演動画に切り替えることができる。これとは逆に、共演申請処理部61fは、配信ユーザUaのキャラクタオブジェクト及び配信ユーザUbのキャラクタオブジェクト31を含む共演動画を、配信ユーザUaの音声と配信ユーザUbのキャラクタオブジェクト31を含む共演動画に切り替えることができる。このように、音声による共演が行われている共演動画(「音声共演動画」と呼ぶことがある。)とキャラクタオブジェクトによる共演が行われている共演動画(「キャラクタ共演動画」と呼ぶことがある。)とは、交互に切り替え可能とされてもよい。
生成された共演動画は、動画配信部61cにより配信される。共演動画は、配信ユーザ装置20aで作成されてもよい。共演動画が配信ユーザ装置20aで生成される場合には、当該共演動画が配信ユーザ装置20aからサーバ装置60に送信され、サーバ装置60の動画配信部61cにより配信される。
動画配信部61cから配信された共演動画の表示例を図9及び図10a~図10bに示す。これらの図では、配信ユーザUaから配信ユーザUbに対するが共演申請が許可されたため、配信ユーザUaのキャラクタオブジェクト131及び配信ユーザUbのキャラクタオブジェクト31を含む共演動画が配信されていることを想定している。
図9に示されているように、視聴ユーザ装置10のディスプレイには、サーバ装置60から配信された共演動画の画像230が表示される。この視聴ユーザ装置10に表示されている共演動画の画像230には、配信ユーザUbのキャラクタオブジェクト31に加えて、配信ユーザUaのキャラクタオブジェクト131が含まれている。配信ユーザUaのキャラクタオブジェクト131は、上記のように、アニメーション生成部61a又は共演申請処理部61fにおいて生成される。共演動画の画像230は、図5に示されている元の配信画像と同様に、ギフトボタン32と、評価ボタン33と、コメントボタン34と、コメント表示領域35と、を含んでいる。共演動画の画像230は、これらに加えて、ゲスト評価ボタン133a,133bを含んでもよい。ゲスト評価ボタン133aは、ゲストユーザ(図示の例では、配信ユーザUaがゲストユーザである。)への肯定的な評価を示すポジティブ評価情報をサーバ装置60へ送信するためのボタンであり、ゲスト評価ボタン133bは、ゲストユーザへの否定的な評価を示すネガティブ評価情報をサーバ装置60へ送信するためのボタンである。動画を視聴中の視聴ユーザによってゲスト評価ボタン133aが選択されると当該ゲストユーザへの肯定的な評価がなされたことを示すゲスト評価情報がサーバ装置60に送信され、ゲスト評価ボタン133bが選択されると当該ゲストユーザへの肯定的な評価がなされたことを示すゲスト評価情報がサーバ装置60に送信されてもよい。図示は省略されているが、ホストユーザへの評価を行うための一又は複数のホスト評価ボタンが共演動画とともに表示されてもよい。動画を視聴中の視聴ユーザによってホスト評価ボタンが選択されると当該ホストユーザ(配信ユーザUb)への肯定的な評価又は否定的な評価がなされたことを示すホスト評価情報がサーバ装置60に送信されてもよい。
共演動画の画像230は、図示のとおり、横長の画像である。共演申請処理部61f又は動画配信部61cは、共演動画を横長の動画として配信してもよい。これにより、視聴ユーザ装置10には、共演動画の画像230が横長の画像として表示される。一実施形態においては、元の動画(画像)が図5に示されているように縦長だとしても、共演動画は横長に変換されて配信される。共演動画は、二人の配信ユーザのキャラクタオブジェクトを含むため、横長の画像とすることにより、二人分のキャラクタオブジェクトを重複なく表示しやすくなる。例えば、共演動画においては、視聴ユーザの視点で向かって左半分を元の配信ユーザ(ホストユーザ)のキャラクタオブジェクトに割り当てられる領域とし、右半分を共演申請を行った配信ユーザ(ゲストユーザ)のキャラクタオブジェクトに割り当てられる領域としてもよい。各配信ユーザへの領域の割り当ては、キャラクタオブジェクト同士が重複しないように任意に定められてもよい。
図10aに示されているように、配信ユーザUaの配信ユーザ装置20aには、サーバ装置60から配信された共演動画の画像330が表示される。この配信ユーザ装置20aに表示される共演動画の画像330には、視聴ユーザ装置10に表示される共演動画の画像230と同じ背景画像、キャラクタオブジェクト画像、及びコメントが含まれている。他方、共演動画の画像330は、ギフトボタン32、評価ボタン33、コメントボタン34、及び共演申請ボタン36を含んでおらず、表示指示ボタン42a~42cを含んでいる点で画像230と異なっている。
図10bに示されているように、配信ユーザ装置20bのディスプレイには、サーバ装置60から配信された共演動画の画像430が表示される。配信ユーザ装置20bに表示される共演動画の画像430には、共演相手の配信ユーザUaの配信ユーザ装置20aに表示されている画像330と同じ背景画像、キャラクタオブジェクト31,131、コメント35、及び表示指示ボタン42a~42cが含まれている。他方、画像430には、共演を終了させるための共演終了ボタン45が表示されている。一実施形態においては、共演終了ボタン45は、共演申請を受けた配信ユーザUbの配信ユーザ装置20bにおける共演動画の画像430だけでなく、共演申請を行った配信ユーザUaの配信ユーザ装置20bにおける共演動画の画像330に表示されてもよい。共演終了ボタン45が選択されると、共演動画において配信ユーザUaとの共演を終了するための処理が行われる。例えば、配信ユーザ装置20bにおいて共演終了ボタン45が選択されたことに応じて、配信ユーザ装置20bからサーバ装置60に対して共演終了指示が送信される。配信ユーザUbは、共演動画を再生している間に、ゲストユーザである配信ユーザUaを共演禁止ユーザとして設定することができる。例えば、共演動画内で配信ユーザUaが望ましくない行動や言動を行ったときに、配信ユーザUaを共演禁止ユーザとして設定することができる。配信ユーザUaの共演禁止ユーザとしての設定は、配信ユーザUaのユーザ情報の出演禁止情報に配信ユーザUbのユーザIDを記録することにより行われてもよい。サーバ装置60は、例えば、配信ユーザ装置20bから共演終了指示を受け付けると、配信ユーザUbのユーザ情報において配信ユーザUaを共演禁止ユーザとして自動的に登録することができる。配信ユーザUbは、共演動画の再生時以外に、配信ユーザUaを出演禁止ユーザとして設定してもよい。例えば、動画配信システム1が提供するメッセージングサービスにおいて配信ユーザUaによる望ましくないメッセージの投稿を確認したことに応じて、配信ユーザUaを出演禁止ユーザとして設定してもよい。上記の例とは逆に、配信ユーザUbが望ましくない行動や言動を行ったときに、配信ユーザ装置20aにおいて共演終了ボタン45が選択されたことに応じてホストユーザを共演禁止ユーザとして設定してもよい。
ホストユーザである配信ユーザUbの配信ユーザ装置20bにおける共演動画の画像430には、ゲストユーザに警告を与えるための警告ボタン(不図示)が表示されてもよい。この警告ボタンは、ゲストユーザである配信ユーザUaの配信ユーザ装置20aにおける共演動画の画像330に表示されてもよい。警告ボタンは、共演終了ボタン45とは異なり、ただちに共演を終了させる程度には至らないが、ゲストユーザがホストユーザにとって望ましくない行動をとった場合又はホストユーザがゲストユーザによって望ましくない行動をとった場合に選択されることが想定される。ホストユーザの配信ユーザ装置(例えば、配信ユーザUbの配信ユーザ装置20b)において警告ボタンが選択された場合には、配信ユーザ装置20bからサーバ装置60に対して警告指示が送信される。ホストユーザの配信ユーザ装置において警告ボタンが選択されると、ゲストユーザの配信ユーザ装置(例えば、配信ユーザUaの配信ユーザ装置20a)に表示される共演動画の画像330においてホストユーザから警告がなされたことを示す警告情報が表示されてもよい。警告情報は、視聴ユーザ装置10における画像230に表示されてもよい。警告情報を含む共演動画は、サーバ装置60において生成されてもよい。警告情報を視聴ユーザの画像230に表示することにより、視聴ユーザに対してゲストユーザの望ましくない行動に対してホストユーザが対応していることを示すことができる。サーバ装置60は、あるホストユーザからあるゲストユーザに対して警告指示がなされた回数をカウントし、警告指示の回数が所定回数(例えば、3回)になったときに当該ホストユーザと当該ゲストユーザとの共演を終了するための処理を行ってもよい。この所定回数以上の警告指示に基づいて共演を終了させるための処理は、上述した共演終了指示に基づいて共演を終了させるための処理と同じ処理であってもよい。
共演申請処理部61fは、作成した共演動画を識別する動画IDを発行してもよい。この動画IDと対応付けて、当該共演動画に関する共演動画情報をストレージ63に記憶することができる。既述のように、配信されている共演動画の動画IDと対応付けて、当該共演動画の共演時間情報を更新してもよい。共演時間情報は、動画配信部61cにおいて共演動画の配信時間をモニターし、このモニター結果に基づいて更新されてもよい。
共演動画情報のうちゲストユーザ評価情報は、視聴ユーザ装置10からのゲストユーザである配信ユーザUaへの肯定的な評価示すポジティブ評価情報及び当該配信ユーザUaへの否定的な評価を示すネガティブ評価情報に基づいて更新されてもよい。例えば、サーバ装置60は、視聴ユーザ装置10から配信ユーザUaへの肯定的な評価示すポジティブ評価情報を受信した場合にはゲストユーザ評価ポイントを増加させてもよく、配信ユーザUaへの否定的な評価示すネガティブ評価情報を受信した場合にはゲストユーザ評価ポイントを減少させてもよい。視聴ユーザが共演動画の視聴を途中で止めた場合には、当該視聴ユーザが当該共演動画に満足していない可能性がある。よって、視聴ユーザが共演動画の視聴を途中で止めた場合に、ゲストユーザへのネガティブな評価があったものとして、当該ゲストユーザのゲストユーザ評価ポイントを減少させてもよい。ポジティブ評価情報及びネガティブ評価情報の少なくとも一方は、時間の経過とともに減少するように更新されてもよい。例えば、配信ユーザUaがある時刻において100ポイントのポジティブ評価情報を有していても、時間の経過に伴って当該ポジティブ評価情報はゼロに近づくように更新されてもよい。あるユーザについてのネガティブ評価情報が所定の値を超えると、当該ユーザについては他のユーザとの共演を禁止してもよい。例えば、ネガティブ評価情報が所定値を超えたユーザの配信ユーザ装置に表示される画像においては、共演申請ボタン36を表示させない処理がなされてもよい。
共演終了処理部61gは、ゲストユーザである配信ユーザUaとホストユーザである配信ユーザUbとの共演を終了させるための共演終了条件が満たされるとゲストユーザである配信ユーザUaとホストユーザである配信ユーザUbとの共演を終了するための処理を行う。一実施形態において、共演終了処理部61gは、ホストユーザである配信ユーザUbの配信ユーザ装置20bから共演終了指示を受け付けると、共演終了条件が満たされたと判定し、共演動画の配信を終了するための処理を行う。例えば、共演終了処理部61gは、共演終了指示が受け付けられると、配信ユーザUaのキャラクタオブジェクト131のアニメーションの生成を中止し、配信ユーザUaのキャラクタオブジェクト131を含まず配信ユーザUbのキャラクタオブジェクト31を含む動画を生成する。言い換えると、配信する動画からゲストユーザである配信ユーザUaのキャラクタオブジェクト131を排除する。ゲストユーザである配信ユーザUaのキャラクタオブジェクト131が排除されることにより、配信ユーザUaと配信ユーザUbとの共演は終了する。共演が終了した後は、キャラクタオブジェクト131を含まずにキャラクタオブジェクト31を含む動画の配信が継続されてもよい。この共演終了後に配信される動画は、図5に示されているように、縦長の動画として生成されてもよい。つまり、共演が終了したことに応じて、動画の向きが変更されてもよい。一実施形態においては、共演が終了したことに応じて、動画の向きが横向きから縦向きに変更されてもよい。他の実施形態においては、共演が終了したことに応じて、ホストユーザである配信ユーザUbによる動画の配信を終了してもよい。一実施形態において、配信ユーザUbとの共演が終了したときに他のユーザからの共演申請を既に受信している場合、共演申請処理部61fは、当該共演申請に基づいて当該他のユーザの共演可否を判定してもよい。
一実施形態において、共演終了処理部61gは、ゲストユーザである配信ユーザUaのキャラクタオブジェクト131がノンアクティブ状態にあるか否かを判定し、ノンアクティブ状態にあると判定された場合に、共演終了条件が満たされたと判定する。一実施形態において、配信ユーザUaのキャラクタオブジェクト131がノンアクティブ状態にあるか否かは、配信ユーザUaの配信ユーザ装置20aから受け取るフェイスモーションデータ、ボディモーションデータ、及び音声データのうちの少なくとも一つに基づいて判定される。フェイスモーションデータ、ボディモーションデータ、及び音声データはいずれも配信ユーザの動きを示すデータであるため、本明細書では、これらを総称して「モーションデータ」と呼ぶことがある。配信ユーザUaのキャラクタオブジェクト131がノンアクティブ状態にあるか否かは、モーションデータに基づいて、すなわちフェイスモーションデータ、ボディモーションデータ、及び音声データのうちの少なくとも一つに基づいて判定される。例えば、配信ユーザUaの配信ユーザ装置20aからフェイスモーションデータの入力が一定期間ない場合には、共演動画において配信ユーザUaのキャラクタオブジェクト131の表情が当該一定期間動かなくなるため、キャラクタオブジェクト131がノンアクティブ状態にあると判定されてもよい。配信ユーザUaの配信ユーザ装置20aからボディモーションデータの入力が一定期間ない場合には、共演動画において配信ユーザUaのキャラクタオブジェクト131の体の動きが当該一定期間動なくなるため、キャラクタオブジェクト131がノンアクティブ状態にあると判定されてもよい。配信ユーザUaの配信ユーザ装置20aから音声データの入力が一定期間ない場合には、共演動画において配信ユーザUaのキャラクタオブジェクト131が当該一定期間無言となるため、キャラクタオブジェクト131がノンアクティブ状態にあると判定されてもよい。
一実施形態において、共演終了処理部61gは、配信されている共演動画の共演動画情報に応じて、ゲストユーザである配信ユーザUaのキャラクタオブジェクト131を動画から排除することで共演を終了させる。例えば、共演終了処理部61gは、ゲストユーザ評価情報がゲストユーザ評価ポイントである場合には、ゲストユーザ評価ポイントが所定の閾値よりも小さくなった場合に配信ユーザUaのキャラクタオブジェクト131を動画から排除することで当該配信ユーザUaとの共演を終了させることができる。視聴ユーザからゲストユーザである配信ユーザUaに対するネガティブ評価情報を受けるほどゲストユーザ評価ポイントは小さくなる。よって、ゲストユーザ評価ポイントに基づいて配信ユーザUaとの共演を終了するか否かを判定することにより、視聴ユーザからの評価が低いユーザと長期間共演することを回避できる。
次に、図11を参照して、一態様による動画配信処理について説明する。図11は、一実施形態における動画配信処理の流れを示すフロー図である。図11を参照して説明される動画配信処理においては、配信ユーザUbの動画がサーバ装置60から配信されることが想定されている。つまり、配信ユーザ装置20bを用いて取得された配信ユーザUbのフェイスモーションデータに基づいて生成された動画がサーバ装置60から配信されることが想定されている。
まず、ステップS11では、配信ユーザUbの顔の動き(表情)のデジタル表現であるフェイスモーションデータが生成される。フェイスモーションデータの生成は、例えば、配信ユーザ装置20bのフェイスモーションデータ生成部121bで行われる。配信ユーザ装置20bにおいては、配信ユーザUa,Ubからの音声入力に基づいて音声データが生成されてもよい。生成されたフェイスモーションデータ及び音声データは、サーバ装置60に送信される。
次に、ステップS12において、配信ユーザ装置20bからのフェイスモーションデータが配信ユーザUb用のモデルデータに適用されることにより、配信ユーザUbの表情の動きに同期して動くキャラクタオブジェクト31のアニメーションが生成される。このアニメーションの生成は、例えば、上記のアニメーション生成部61aで行われる。
次に、ステップS13において、配信ユーザUbのキャラクタオブジェクト31のアニメーションを含む動画が生成される。この動画には、配信ユーザUbの音声が合成されてもよい。キャラクタオブジェクト31のアニメーションは、背景画像に重畳して表示される。この動画の生成は、例えば、上記の動画生成部61bで行われる。
次に、ステップS14に移行し、ステップS13にて生成された動画が配信される。この動画は、ネットワーク50を介して視聴ユーザ装置10及びこれら以外の視聴ユーザ装置並びに配信ユーザ装置に配信される。配信された動画が視聴ユーザ装置10において再生される場合には、例えば、図5に示すような動画の画像が視聴ユーザ装置10に表示される。動画は、所定の配信期間にわたって継続して配信される。動画の配信期間は、例えば、30秒間、1分間、5分間、10分、30分間、60分間、120分間、及びこれら以外の任意の時間に定め得る。この動画の配信は、例えば、上記の動画配信部61cで行われる。
次に、ステップS15に進み、動画の配信を終了させるための終了条件が成就したか否かが判定される。終了条件は、例えば、配信の終了時刻に達したこと、配信ユーザUbが配信ユーザ装置20bにおいて配信を終了するための操作を行ったこと、またはこれら以外の条件である。終了条件が成就していなければステップS11~S14の処理が繰り返し実行され、配信ユーザUbの動きに同期したアニメーションを含む動画、又は、配信ユーザUaとの共演が継続している場合には共演動画の配信が継続される。動画について終了条件が成就していると判定された場合には、当該動画の配信処理を終了する。
次に、図12を参照して、一実施形態において招待ユーザにインビテーションを提示する処理について説明する。図12は、一実施形態において動画を配信している配信ユーザから他の配信ユーザに対して当該動画での共演への招待を行う処理の流れを示すフロー図である。図12を参照して説明される共演動画の配信処理においては、配信ユーザUbのキャラクタオブジェクトを含む動画を視聴している配信ユーザUaに対して配信ユーザUbから共演への招待が行われることが想定されている。共演への招待処理は、図11に示されている動画の配信処理と並行して行われてもよいし、図11に示されている動画の配信処理の開始前に行われても良い。
まず、ステップS21において、配信ユーザUbのキャラクタオブジェクトを含む動画の配信開始前又は配信中に、インビテーション要求がサーバ装置60に対して送信される。インビテーション要求は、配信ユーザUbの操作に応じて、配信ユーザ装置20bからサーバ装置60に対して送信される。インビテーション要求の送信処理は、例えば、インビテーション要求部21b2により行われる。
次に、ステップS22において、一又は複数の招待ユーザの選定が行われる。招待ユーザは、配信ユーザUbのログ情報及び共演候補ユーザの各々のログ情報に基づいて共演候補ユーザの中か選定される。招待ユーザの選定は、視聴ユーザ情報、共演回数情報、属性情報、及びソーシャル情報のうちの少なくとも一つを用いて行われても良い。招待ユーザの選定は、例えば、上記の招待ユーザ選定部61dにより行われる。招待ユーザの選定を行うステップS22は、ステップS21よりも前に行われても良い。
次に、ステップS23において、配信ユーザUaの配信ユーザ装置20aを含む一又は複数の配信ユーザ装置に対して配信ユーザUbの動画における共演へ招待するインビテーションが送信される。また、このインビテーションに関連付けて、配信ユーザUbのホストユーザ情報が送信される。配信ユーザUbのホストユーザ情報は、配信ユーザUbからのインビテーション要求に基づいて生成される。上記のとおり、ホストユーザ情報は、ストレージ63に格納されているユーザ情報63c及び共演動画情報63dの少なくとも一方を参照して生成される。ホストユーザ情報の生成処理は、例えば、上記のインビテーション処理部61eにより行われる。インビテーション及びホストユーザ情報の送信処理は、例えば、上記のインビテーション処理部61eにより行われる。
次に、ステップS24において、配信ユーザUaの配信ユーザ装置20aにおいてインビテーションが受信される。配信ユーザ装置20aにおいては、配信ユーザUbからインビテーションを受けたことを示す「Ubから招待されました。」という文字列、及び、配信ユーザUbのホストユーザ情報が表示される。上記のとおり、ホストユーザ情報は、ユーザ情報63cに基づいて生成される情報であり、好ましくは配信ユーザUbの共演相手としての魅力を表す指標である。ホストユーザ情報の表示は、例えば、上記のインビテーション提示部21a2により行われる。配信ユーザUaは、配信ユーザ装置20aに表示された配信ユーザUbのホストユーザ情報に基づいて共演申請を行うか否かを決定することができる。配信ユーザUaは、配信ユーザ装置20aにホストユーザ情報とともに表示される共演申請ボタン37bを選択することにより共演申請を行うことができる。
共演申請が行われた場合には、続いて共演動画の配信処理が行われる。図13を参照して、一実施形態における共演動画の配信処理について説明する。図13は、一実施形態において共演動画を配信する処理の流れを示すフロー図である。図13を参照して説明される共演動画の配信処理においては、配信ユーザUbのキャラクタオブジェクトを含む動画を視聴している配信ユーザUaから配信ユーザUbに対して共演申請がなされたことが想定されている。共演動画の配信処理は、図11に示されている動画の配信処理と並行して行われる。
まず、ステップS31において、配信ユーザUbのキャラクタオブジェクトを含む動画の配信中に、配信ユーザUb以外のユーザから共演申請がなされたか否かが判定される。共演申請は、例えば、配信ユーザUaからなされる。配信ユーザUaは、上記のように、インビテーションを受け取った後に配信ユーザ装置20aに表示される共演申請ボタン37bを選択することにより共演申請を行うことができる。共演申請は、共演申請ボタン36の選択により行われても良い。配信ユーザUaによって共演申請がなされた場合には、処理はステップS32に進む。共演申請は、配信ユーザUa以外の一又は複数の配信ユーザからもなされ得る。
ステップS32では、共演申請を行ったユーザの中から配信ユーザUbの動画において共演させるゲストユーザが選定される。選定されるゲストユーザは、単数であってもよいし複数であってもよい。共演人数に上限が設定されている場合には、この上限人数に達するまでゲストユーザが選定される。
ステップS32において、配信ユーザUaがゲストユーザとして選定された場合には、処理はステップS33に進む。ステップS33では、配信ユーザUaのフェイスモーションデータに基づいて、配信ユーザUaのキャラクタオブジェクト131のアニメーションが生成される。そして、配信中の動画(配信ユーザUbのキャラクタオブジェクト31を含む動画)に、配信ユーザUaのキャラクタオブジェクト131のアニメーションを追加することで、共演動画を生成する。ステップS33における処理は、例えば、上記の共演申請処理部61fで行われる。
次に、処理は、ステップS34に移行する。ステップS34では、ステップS33にて生成された共演動画が配信される。この共演動画は、ネットワーク50を介して視聴ユーザ装置10及びこれら以外の視聴ユーザ装置並びに配信ユーザ装置に配信される。共演動画には、例えば、図9及び図10a~図10bに示されているように、配信ユーザUaのキャラクタオブジェクト131のアニメーション及び配信ユーザUbのキャラクタオブジェクト31のアニメーションが含まれる。
次に、処理は、ステップS35に移行する。ステップS35では、共演終了条件が満たされたか否かが判定される。例えば、ゲストユーザである配信ユーザUaのキャラクタオブジェクト131がノンアクティブ状態にある場合、ゲストユーザ評価ポイントが所定の閾値以下になった場合、ホストユーザである配信ユーザUbから共演終了指示を受け付けた場合、ゲストユーザである配信ユーザUaから共演終了指示を受け付けた場合、共演動画の配信開始から所定時間以上が経過した場合、又はこれら以外の共演を終了させるための条件が満たされた場合に、共演終了条件が満たされたと判定される。共演終了条件が満たされた場合には、処理はステップS36に進む。
ステップS36では、共演動画の配信を終了させるための処理が行われる。例えば、共演動画から、ゲストユーザである配信ユーザUaのキャラクタオブジェクト131が排除されることで、配信ユーザUaと配信ユーザUbとの共演を終了させる。共演が終了した場合でも、動画は継続して配信されてもよい。共演が終了した後に配信される動画には、配信ユーザUaのキャラクタオブジェクト131が含まれない。上記の共演終了条件の判定及び共演の終了処理は、例えば、共演終了処理部61gにより行われる。
続いて、上記の実施形態が奏する作用効果の例について説明する。上記の一実施形態によれば、ホストユーザとなる配信ユーザUbと共演相手の候補となる一又は複数の招待ユーザを選定し、この選定された招待ユーザに対して配信ユーザUbと共演を行うためのインビテーションを送付するので、ホストユーザから能動的に共演のための処理を開始することができる。招待ユーザは、配信ユーザUbのログ情報と共演候補ユーザのログ情報とに基づいて選定される。よって、招待ユーザの選定を動画配信システム1の利用履歴に基づいて行うことができる。これにより、動画配信システム1の利用履歴の側面から共演相手として適切なユーザを共演に招待することができる。
上記の一実施形態によれば、配信ユーザUbの視聴ユーザ情報と共演候補ユーザの視聴ユーザ情報とに基づいて招待ユーザが選定されるので、各ユーザの視聴ユーザ層の違いを考慮して招待ユーザが選定される。
上記の一実施形態によれば、配信ユーザUbとの関係で視聴ユーザの重複度及び重複数の少なくとも一方が小さな共演候補ユーザが招待ユーザとして選定される。これにより、互いに異なる視聴ユーザを持つユーザ同士の共演を促進することができる。配信ユーザUbにとっては、共演前までリーチできなかった視聴ユーザ層にリーチできる機会が得られる。
上記の一実施形態によれば、配信ユーザUbの共演回数情報と共演候補ユーザの共演回数情報とに基づいて招待ユーザが選定されるので、各ユーザの共演回数の違いを考慮して招待ユーザが選定される。一実施形態においては、配信ユーザUbとの関係で共演回数の差が大きな共演候補ユーザが招待ユーザとして選定される。配信ユーザUbの共演回数が招待ユーザの共演回数よりも多い場合には、招待された招待ユーザにとっては共演動画の配信に習熟したホストユーザからインビテーションを受けることになる。これにより、招待ユーザが共演機能の利用に習熟していなくとも、インビテーションに応じて共演申請を行い易くなる。これにより、動画配信システム1における共演機能の利用が促進される。配信ユーザUbの共演回数が招待ユーザの共演回数よりも少ない場合には、配信ユーザUbは、共演動画の配信に習熟した招待ユーザに対してインビテーションを送付できることになる。これにより、動画配信システム1における共演機能の利用が促進される。
上記の一実施形態によれば、配信ユーザUbと共演候補ユーザのプロフィールの共通性又は相違性を考慮して、共演相手として適切な招待ユーザを選定することができる。例えば、配信ユーザUbと共通のプロフィール項目が多い共演候補ユーザを招待ユーザとして選定することができる。
上記の一実施形態によれば、配信ユーザUbと共演候補ユーザのソーシャル情報の共通性又は相違性を考慮して、共演相手として適切な招待ユーザを選定することができる。例えば、配信ユーザUbと共通の友人が多い共演候補ユーザを招待ユーザとして選定することができる。
上記の一実施形態による動画配信システム1においては、配信ユーザUa,Ubは、スマートフォンなどのカメラを備えた配信ユーザ装置20により自らの表情に応じて動くキャラクタオブジェクトを含む動画を配信することができる。このように、動画配信システム1においては、配信ユーザUa,Ubが動画を配信するための設備が簡略化されているので、配信ユーザUa,Ubが参加しやすいプラットフォームが実現されている。
本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。
コンピュータプロセッサ61により実現される機能の少なくとも一部は、動画配信システム1のコンピュータプロセッサ61以外のコンピュータプロセッサにより実現されてもよい。コンピュータプロセッサ61により実現される機能の少なくとも一部は、例えば、配信ユーザ装置20のコンピュータプロセッサ21により実現されてもよく、視聴ユーザ装置10のコンピュータプロセッサにより実現されてもよい。具体的には、アニメーション生成部61a及び動画生成部61bの機能の一部又は全部は、配信ユーザ装置20において実行されてもよい。例えば、配信ユーザ装置20において生成された動画がサーバ装置60に送信され、サーバ装置60から視聴ユーザ装置10に配信されてもよい。
配信ユーザUbのキャラクタオブジェクト31を含む動画を視聴している配信ユーザUaから配信ユーザUbとの共演申請がなされる場合には、共演申請を行った配信ユーザUaのキャラクタオブジェクト131のアニメーションは、サーバ装置60、配信ユーザUaの配信ユーザ装置20a、配信ユーザUbの配信ユーザ装置20b、又は視聴ユーザ装置10のいずれで生成されてもよい。また、生成された配信ユーザUaのキャラクタオブジェクト131と配信ユーザUbの配信動画とキャラクタオブジェクト31とを含む共演動画の生成は、サーバ装置60、配信ユーザUaの配信ユーザ装置20a、配信ユーザUbの配信ユーザ装置20b、又は視聴ユーザ装置10のいずれで行われてもよい。共演動画は、サーバ装置60、配信ユーザ装置20a、配信ユーザ装置20b、視聴ユーザ装置10、及びこれら以外の装置により分担して生成されてもよい。一つの例において、配信ユーザUaのキャラクタオブジェクト131のアニメーションが配信ユーザUbの配信ユーザ装置20bで生成される場合には、配信ユーザUaの配信ユーザ装置20aから配信ユーザUbの配信ユーザ装置20bに対して、配信ユーザUaのフェイスモーションデータ及び音声データが送信される。共演動画にギフトオブジェクトが含められる場合には、配信ユーザ装置20bに対して配信ユーザ装置20a又はサーバ装置60から当該ギフトオブジェクトを表示するためのデータが送信されてもよい。配信ユーザ装置20bでは、配信ユーザ装置20aから受信した配信ユーザUaのフェイスモーションデータ及び音声データを配信ユーザUa用のモデルデータに適用することでキャラクタオブジェクト131のアニメーションが生成される。この配信ユーザUa用のモデルデータは、サーバ装置60から配信ユーザ装置20aへ送信されてもよい。他の例において、配信ユーザUaのキャラクタオブジェクト131のアニメーションが視聴ユーザ装置10で生成される場合には、配信ユーザUaの配信ユーザ装置20aから視聴ユーザ装置10に対して配信ユーザUaのフェイスモーションデータ及び音声データが送信され、配信ユーザUbの配信ユーザ装置20bから視聴ユーザ装置10に対して配信ユーザUbのフェイスモーションデータ及び音声データが送信される。視聴ユーザ装置10では、配信ユーザ装置20aから受信した配信ユーザUaのフェイスモーションデータ及び音声データを配信ユーザUa用のモデルデータに適用することでキャラクタオブジェクト131のアニメーションが生成され、配信ユーザ装置20bから受信した配信ユーザUbのフェイスモーションデータ及び音声データを配信ユーザUb用のモデルデータに適用することでキャラクタオブジェクト31のアニメーションが生成されてもよい。この配信ユーザUa用のモデルデータ及び配信ユーザUb用のモデルデータは、サーバ装置60から視聴ユーザ装置10へ送信されてもよい。共演動画にギフトオブジェクトが含められる場合には、視聴ユーザ装置10に対して配信ユーザ装置20a、配信ユーザ装置20b又はサーバ装置60から当該ギフトオブジェクトを表示するためのデータが送信されてもよい。このように、配信ユーザのキャラクタオブジェクトのアニメーション及び/又はキャラクタオブジェクトのアニメーションを含む共演動画は、動画配信システム1に含まれる任意の装置で生成され得る。キャラクタオブジェクトのアニメーションは、図1に明示的に示されていない装置で生成されてもよい。キャラクタオブジェクトのアニメーションを生成する装置には、配信ユーザUaの配信ユーザ装置20aから配信ユーザUaのフェイスモーションデータ及び音声データが送信され、配信ユーザUbの配信ユーザ装置20bから配信ユーザUbのフェイスモーションデータ及び音声データが送信される。フェイスモーションに加えてボディモーションが送信されてもよい。
共演動画は、三人以上の配信ユーザのキャラクタオブジェクトを含んでもよい。つまり、三人以上の配信ユーザが、各々のキャラクタオブジェクトを利用して動画内で仮想的に共演してもよい。共演できる配信ユーザの数には上限が設定されていてもよい。共演できる配信ユーザの数が上限に達すると、配信ユーザが視聴している動画の画像(例えば、画像40a)に共演申請ボタン36を表示させない処理、又は、配信ユーザが視聴している動画の画像において共演申請ボタン36を選択不能とする処理(ディスエーブル処理)がなされてもよい。
以下に、本願の原出願の出願当初の特許請求の範囲に記載された発明を付記する。
[1]
動画を配信する動画配信システムであって、
一又は複数のコンピュータプロセッサと、
前記動画配信システムの複数のユーザの各々について前記動画配信システムの利用履歴に関するログ情報を記憶するストレージと、
を備え、
前記一又は複数のコンピュータプロセッサは、コンピュータ読み取り可能な命令を実行することにより、
前記複数のユーザのうちの第1ユーザ及び前記第1ユーザ以外のユーザである複数の共演候補ユーザの各々の前記ログ情報に基づいて、前記複数の共演候補ユーザの中から一又は複数の招待ユーザを選定し、
前記一又は複数の招待ユーザに対してインビテーションを送付し、
前記一又は複数の招待ユーザのうちの第2ユーザから前記第1ユーザとの共演を申請する共演申請を受け付けたことに応じて前記第1ユーザと前記第2ユーザとが共演する共演動画を生成し、
前記共演動画を配信する、
動画配信システム。
[2]
前記複数のユーザの各々の前記ログ情報は、前記複数のユーザの各々の動画を視聴した視聴ユーザに関する視聴ユーザ情報を含む、
[1]に記載の動画配信システム。
[3]
前記視聴ユーザ情報に基づいて前記第1ユーザと前記複数の共演候補ユーザの各々との間での前記視聴ユーザの重複度を求め、
前記重複度に基づいて前記一又は複数の招待ユーザを選定する、
[2]に記載の動画配信システム。
[4]
前記複数の共演候補ユーザのうち前記重複度が第1閾値よりも小さいユーザを前記一又は複数の招待ユーザとして選定する、
[3]に記載の動画配信システム。
[5]
前記視聴ユーザ情報に基づいて、前記第1ユーザと前記複数の共演候補ユーザの各々との間での前記視聴ユーザの重複数を算出し、
前記重複数に基づいて前記一又は複数の招待ユーザを選定する、
[2]に記載の動画配信システム。
[6]
前記複数の共演候補ユーザのうち前記重複数が第2閾値よりも小さいユーザを前記一又は複数の招待ユーザとして選定する、
[5]に記載の動画配信システム。
[7]
前記複数のユーザの各々の前記ログ情報は、他のユーザとの共演回数を示す共演回数情報を含む、
[1]から[6]のいずれか1項に記載の動画配信システム。
[8]
前記共演回数情報に基づいて、前記第1ユーザと前記複数の共演候補ユーザの各々との間での共演回数の差を求め、
前記共演回数の差に基づいて前記一又は複数の招待ユーザを選定する、
[7]に記載の動画配信システム。
[9]
前記複数の共演候補ユーザのうち前記共演回数の差が第3閾値よりも大きいユーザを前記一又は複数の招待ユーザとして選定する、
[8]に記載の動画配信システム。
[10]
前記複数の共演候補ユーザのうち前記共演回数が前記第1ユーザよりも小さいユーザを前記一又は複数の招待ユーザとして選定する、
[8]又は[9]に記載の動画配信システム。
[11]
前記複数の共演候補ユーザのうち前記共演回数が前記第1ユーザよりも大きいユーザを前記一又は複数の招待ユーザとして選定する、
[8]又は[9]に記載の動画配信システム。
[12]
前記ストレージは、前記複数のユーザの各々の属性情報を記憶し、
前記一又は複数の招待ユーザは、前記第1ユーザ及び前記複数の共演候補ユーザの各々の前記属性情報にさらに基づいて前記複数の共演候補ユーザの中から選定される、
[1]から[11]のいずれか1項に記載の動画配信システム。
[13]
前記ストレージは、前記複数のユーザの各々の他のユーザとの関係を示すソーシャル情報を記憶し、
前記一又は複数の招待ユーザは、前記第1ユーザ及び前記複数の共演候補ユーザの各々の前記ソーシャル情報にさらに基づいて前記複数の共演候補ユーザの中から選定される、
[1]から[12]のいずれか1項に記載の動画配信システム。
[14]
一又は複数のコンピュータプロセッサがコンピュータ読み取り可能な命令を実行することにより実行される動画配信方法であって、
動画配信システムの複数のユーザの各々について前記動画配信システムの利用履歴に関するログ情報を記憶する工程と、
前記複数のユーザのうちの第1ユーザ及び前記第1ユーザ以外のユーザである複数の共演候補ユーザの各々の前記ログ情報に基づいて、前記複数の共演候補ユーザの中から一又は複数の招待ユーザを選定する工程と、
前記一又は複数の招待ユーザに対してインビテーションを送付する工程と、
前記一又は複数の招待ユーザのうちの第2ユーザから前記第1ユーザとの共演を申請する共演申請を受け付けたことに応じて前記第1ユーザと前記第2ユーザとが共演する共演動画を生成する工程と、
前記共演動画を配信する工程と、
を備える動画配信方法。
[15]
一又は複数のコンピュータプロセッサに、
動画配信システムの複数のユーザの各々について前記動画配信システムの利用履歴に関するログ情報を記憶する工程と、
前記複数のユーザのうちの第1ユーザ及び前記第1ユーザ以外のユーザである複数の共演候補ユーザの各々の前記ログ情報に基づいて、前記複数の共演候補ユーザの中から一又は複数の招待ユーザを選定する工程と、
前記一又は複数の招待ユーザに対してインビテーションを送付する工程と、
前記一又は複数の招待ユーザのうちの第2ユーザから前記第1ユーザとの共演を申請する共演申請を受け付けたことに応じて前記第1ユーザと前記第2ユーザとが共演する共演動画を生成する工程と、
前記共演動画を配信する工程と、
を実行させる動画配信プログラム。