以下、各図面に示される同一または同等の構成要素、部材、処理、信号には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。
実施の形態に係るライブ配信システムでは、ユーザは求める配信者のイメージを表す検索条件を入力する。サーバは、検索条件にマッチするプロフィール画像やライブ配信中の画像を有する配信者を検索結果としてユーザに提示する。この際、画像に付されたタグに基づくテキスト-画像検索を行う代わりに、本実施の形態ではまず画像生成用の機械学習モデルを用いて検索条件に対応する画像を生成する。ユーザは生成された画像が自分の思っているものに合致するかあるいは近いかを確認する。生成された画像をユーザが承諾すると、サーバは生成された画像を検索キーとする画像-画像検索をプロフィール画像やライブ配信中の画像に対して行う。サーバは、マッチングスコアの高いプロフィール画像を有する配信者を検索結果としてユーザに提示する。これにより、検索対象の画像にタグ付けを行わなくても画像に基づく配信者検索が可能となるので、タグ付けの手間を削減できる。特にライブ配信プラットフォームではプロフィール画像の更新頻度は高いので、更新の都度配信者や管理者がタグ付けをしなくてもよくなることにより配信者・管理者の負担を軽減できる。また、ユーザは機械学習モデルにより生成された画像を確認して修正や選択を行えるので、マッチングの精度が向上する。
図1は、本開示の実施の形態に係るライブ配信システム1の構成を示す模式図である。ライブ配信システム1は、配信者(ライバー、ストリーマ(Streamer)ともいう)LVと視聴者(オーディエンスともいう)AU(AU1、AU2、…)とがリアルタイムでやりとりできる双方向型のライブ配信サービスを提供する。図1に示すように、ライブ配信システム1は、サーバ10と、配信者側のユーザ端末20と、視聴者側のユーザ端末30(30a、30b、…)と、を備える。ライブ配信を配信している配信者、ライブ配信を視聴している視聴者の他に、ライブ配信プラットフォームにログインしたが配信も視聴もしていないユーザもいる。このようなユーザをアクティブユーザという。配信者、視聴者およびアクティブユーザをユーザと総称することがある。サーバ10は、ネットワークNWに接続された一または複数の情報処理装置によって構成されてもよい。ユーザ端末20、30は例えばスマートフォンやタブレット型端末やラップトップPCやレコーダや携帯型ゲーム機やウェアラブル装置などの携帯端末であってもよいし、デスクトップPCなどの据え置き型の装置であってもよい。サーバ10、ユーザ端末20およびユーザ端末30は、有線または無線の各種ネットワークNWにより互いに通信可能に接続される。
ライブ配信システム1には、配信者LVと、視聴者AUと、サーバ10を管理する管理者(不図示)と、が関与する。配信者LVは、自分の歌や、トーク、パフォーマンス、占い、ゲーム実況などのコンテンツを自身のユーザ端末20で録音・録画してそのままサーバ10にアップロードすることで、リアルタイムにコンテンツを発信する者である。管理者は、サーバ10においてコンテンツのライブ配信のためのプラットフォームを提供し、また、配信者LVと視聴者AUとのリアルタイムのやりとりを仲介または管理する。視聴者AUは、ユーザ端末30でプラットフォームにアクセスして所望のコンテンツを選択し、視聴する。このコンテンツのライブ配信中に視聴者AUがユーザ端末30を介してコメントをしたり応援したり占いを依頼したりするための操作を行い、当該コンテンツを提供する配信者LVがそのようなコメントや応援や依頼に反応し、当該反応が映像および/または音声で視聴者AUに伝わることで、双方向のコミュニケーションが成立する。
本明細書において「ライブ配信」は、配信者LVのユーザ端末20で録音・録画されたコンテンツが実質的にリアルタイムで視聴者AUのユーザ端末30で再生され視聴可能となる状態を実現するデータの伝送態様を意味するものであってもよく、またはそのような伝送態様により実現される配信そのものを意味してもよい。ライブ配信は、HTTP Live StreamingやCommon Media Application FormatやWeb Real-Time CommunicationsやReal-Time Messaging ProtocolやMPEG DASHなどの既存のライブ配信技術を用いて実現されてもよい。ライブ配信は、配信者LVがコンテンツを録音・録画しているときに、視聴者AUが所定の遅延をもって当該コンテンツを視聴可能な伝送態様を含む。遅延の大きさについて、少なくとも、配信者LVと視聴者AUとのやりとりが成立する程度の大きさの遅延は許される。ただし、ライブ配信は、コンテンツを録音・録画したデータ全体をいったんサーバに保存し、その後の任意のタイミングでユーザからの求めに応じて当該データをサーバからユーザに提供するいわゆるオンデマンド型の配信とは区別される。
本明細書において「動画データ」は、ユーザ端末20、30の撮像機能により生成される画像データ(ビデオデータともいう)と、ユーザ端末20、30の音声入力機能により生成される音声データ(オーディオデータともいう)と、を含むデータである。動画データは、ユーザ端末20、30で再生されることで、ユーザによるコンテンツの視聴を可能とする。本実施の形態では、動画データが配信者のユーザ端末で生成されてから視聴者のユーザ端末で再生されるまでの間に、圧縮や伸張や符号化や復号やトランスコーディングなどの、データの形式やサイズや仕様を変更する処理が行われることが想定されている。このような処理の前後で動画データが表す内容(例えば、動画像や音声)は実質的に変わらないので、本実施の形態ではそのような処理が行われた後の動画データはそのような処理が行われる前の動画データと同じであるとして説明する。すなわち、動画データが配信者のユーザ端末で生成されてからサーバ10を経由して視聴者のユーザ端末で再生される場合、配信者のユーザ端末で生成された動画データと、サーバ10を通過する動画データと、視聴者のユーザ端末で受信されて再生される動画データと、は全て同じ動画データである。
図1の例では、配信者LVがトークをライブ配信している。配信者LVのユーザ端末20はトークを行っている配信者LVの像および音声を録画・録音することで動画データを生成し、ネットワークNWを介してサーバ10に送信する。併せてユーザ端末20は、録画された配信者LVの動画像VDをユーザ端末20のディスプレイに表示させることで、配信者LVによる配信内容の確認を可能とする。
配信者LVのライブ配信の視聴をプラットフォームに要求した視聴者AU1、AU2のユーザ端末30a、30bはそれぞれ、ネットワークNWを介してライブ配信に係る動画データを受信し、受信した動画データを再生することでディスプレイに動画像VD1、VD2を表示させると共にスピーカーから音声を出力する。各ユーザ端末30a、30bで表示される動画像VD1、VD2は配信者LVのユーザ端末20が撮像した動画像VDと実質的に同一であり、各ユーザ端末30a、30bで出力される音声も配信者LVのユーザ端末20が録音した音声と実質的に同一である。
配信者LVのユーザ端末20における録音・録画と、視聴者AU1、AU2のユーザ端末30a、30bにおける動画データの再生と、は実質的に同時に行われる。配信者LVのトークの内容についてひとりの視聴者AU1がコメントをユーザ端末30aに入力すると、サーバ10は当該コメントをリアルタイムで配信者LVのユーザ端末20に表示させると共に各視聴者AU1、AU2のユーザ端末30a、30bにも表示させる。当該コメントを読んだ配信者LVがその内容に被せたトークを展開すると、そのトークの動画像と音声が各視聴者AU1、AU2のユーザ端末30a、30bで出力され、これにより配信者LVと視聴者AU1との会話が成立したと認識される。このように、ライブ配信システム1では、一方通行でない双方向のコミュニケーションを可能とするライブ配信が実現される。
図2は、図1のユーザ端末20の機能および構成を示すブロック図である。ユーザ端末30はユーザ端末20と同様の機能および構成を有する。図2および以後のブロック図に示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
配信者LVおよび視聴者AUは、ダウンロードサイトからネットワークNWを介して、本実施の形態に係るライブ配信アプリケーションプログラム(以下、ライブ配信アプリという)をユーザ端末20、30にダウンロードし、インストールする。あるいはまた、ライブ配信アプリはユーザ端末20、30にプリインストールされていてもよい。ライブ配信アプリがユーザ端末20、30により実行されることにより、ユーザ端末20、30はネットワークNWを介してサーバ10と通信し、各種機能を実現する。以下、ユーザ端末20、30(のCPUなどのプロセッサ)がライブ配信アプリを実行することにより実現する機能をユーザ端末20、30の機能として説明する。それらの機能は実際はライブ配信アプリがユーザ端末20、30に実現させる機能である。なお、他の実施の形態では、これらの機能は、サーバ10からユーザ端末20、30のウェブブラウザにネットワークNWを介して送信され、そのウェブブラウザによって実行される、HTML(HyperText Markup Language)などのプログラミング言語により記述されたコンピュータプログラムにより実現されてもよい。
ユーザ端末20は、ユーザの像および音声を記録した動画データを生成してサーバ10に提供する配信部100と、サーバ10から動画データを取得して再生する視聴部200と、アクティブユーザによる要求を処理する配信外処理部400と、を備える。ユーザは、配信を行う場合は配信部100を、視聴を行う場合は視聴部200を、視たいライブ配信や配信者を探したり配信者のプロフィールを視たりアーカイブを視たりする場合は配信外処理部400を、それぞれ起動する。配信部100がアクティブとなっているユーザ端末は配信者側、つまり動画データの生成側のユーザ端末であり、視聴部200がアクティブとなっているユーザ端末は視聴者側、つまり動画データの再生側のユーザ端末であり、配信外処理部400がアクティブとなっているユーザ端末はアクティブユーザのユーザ端末である。
配信部100は、撮像制御部102と、音声制御部104と、動画送信部106と、配信側UI制御部108と、配信側通信部110と、を含む。撮像制御部102は図2では不図示のカメラと接続され、カメラによる撮像を制御する。撮像制御部102はカメラから画像データを取得する。音声制御部104は図2では不図示のマイクロフォンと接続され、マイクロフォンによる音声入力を制御する。音声制御部104は、マイクロフォンから音声データを取得する。動画送信部106は、撮像制御部102により取得された画像データおよび音声制御部104により取得された音声データを含む動画データを、ネットワークNWを介してサーバ10に送信する。動画送信部106による動画データの送信はリアルタイムで行われる。すなわち、撮像制御部102および音声制御部104による動画データの生成と、生成された動画データの動画送信部106による送信と、は実質的に同時に行われる。
配信側UI制御部108は、配信者向けのUIを制御する。配信側UI制御部108は、図2では不図示のディスプレイと接続され、動画送信部106による送信対象となっている動画データを再生することにより動画像をディスプレイに表示させる。配信側UI制御部108は、図2では不図示のタッチパネルやキーボードやディスプレイなどの入力手段と接続され、それら入力手段を介して配信者による入力を取得する。配信側UI制御部108は、動画像に所定のフレーム画像を重畳させる。フレーム画像は、配信者から入力を受け付けるための様々なユーザインタフェースオブジェクト(以下、単にオブジェクトという)と、視聴者により入力されたコメントと、サーバ10から取得した情報と、を含む。配信側UI制御部108は例えば配信者によるオブジェクトに対するタップ入力を受け付ける。
配信側通信部110は、ライブ配信中のサーバ10との間の通信を制御する。配信側通信部110は、配信側UI制御部108が取得した配信者による入力の内容を、サーバ10にネットワークNWを介して送信する。配信側通信部110は、ライブ配信に関連付けられた各種の情報をサーバ10からネットワークNWを介して受信する。
視聴部200は、視聴側UI制御部202と、視聴側通信部204と、を含む。視聴側通信部204は、ライブ配信中のサーバ10との間の通信を制御する。視聴側通信部204は、ネットワークNWを介してサーバ10から、配信者と視聴者とが参加するライブ配信に係る動画データを受信する。
視聴側UI制御部202は、視聴者向けのUIを制御する。視聴側UI制御部202は、図2では不図示のディスプレイおよびスピーカと接続され、受信された動画データを再生することにより動画像をディスプレイに表示させると共に音声をスピーカから出力させる。ディスプレイに画像が出力されると共にスピーカから音声が出力されることを、合わせて「動画データが再生」されていると言うことができる。視聴側UI制御部202は、図2では不図示のタッチパネルやキーボードやディスプレイなどの入力手段と接続され、それら入力手段を介して視聴者による入力を取得する。視聴側UI制御部202は、サーバ10から取得された動画データの画像に所定のフレーム画像を重畳させる。フレーム画像は、視聴者から入力を受け付けるための様々なオブジェクトと、視聴者により入力されたコメントと、サーバ10から取得した情報と、を含む。視聴側通信部204は、視聴側UI制御部202が取得した視聴者による入力の内容を、ネットワークNWを介してサーバ10に送信する。
配信外処理部400は、配信外UI制御部402と、配信外通信部404と、を含む。配信外UI制御部402は、アクティブユーザ向けのUIを制御する。例えば、配信外UI制御部402は、現在参加可能なライブ配信のリストを表示してアクティブユーザによるライブ配信の選択を受け付けるライブ配信選択画面を生成し、ディスプレイに表示させる。配信外UI制御部402は、任意のユーザのプロフィール画面を生成し、ディスプレイに表示させる。配信外UI制御部402は、検索キーワードや検索属性などのライブ配信や配信者を検索するための検索条件の入力を受け付ける検索条件受付画面を生成し、ディスプレイに表示させる。配信外UI制御部402は、検索条件受付画面を介して入力された検索条件を機械学習モデルに入力することで生成された少なくともひとつの生成画像を含む生成画像表示画面を生成し、ディスプレイに表示させる。配信外UI制御部402は、生成画像表示画面においてアクティブユーザから、少なくともひとつの生成画像に対する選択を受け付ける。配信外UI制御部402は、生成画像表示画面におけるアクティブユーザによる選択の結果に対応する画像検索の結果を含む画像検索結果表示画面を生成し、ディスプレイに表示させる。配信外UI制御部402は、過去のライブ配信を録音・録画することにより生成されたアーカイブを再生する。
配信外通信部404は、ライブ配信外のサーバ10との間の通信を制御する。配信外通信部404は、ネットワークNWを介してサーバ10から、ライブ配信選択画面を生成するための情報や、生成画像およびその選択結果や、配信者・ライブ配信の検索結果や、プロフィール画面を生成するための情報や、アーカイブのデータを受信する。配信外通信部404は、アクティブユーザによる入力の内容を、ネットワークNWを介してサーバ10に送信する。
図3は、図1のサーバ10の機能および構成を示すブロック図である。サーバ10は、配信情報提供部302と、中継部304と、ギフト処理部308と、支払い処理部310と、ストリームDB314と、ユーザDB318と、ギフトDB320と、配信者検索部322と、を備える。
図4は、図3のストリームDB314の一例を示すデータ構造図である。ストリームDB314は現在行われているライブ配信の情報および過去に行われたライブ配信(アーカイブ)の情報を保持する。特にストリームDB314は、ライブ配信中に当該ライブ配信のそれまでの動画から生成された画像を保持する。ストリームDB314は、ライブ配信システム1が提供するライブ配信プラットフォームにおいてライブ配信を特定するストリームIDと、当該ライブ配信の配信者を特定するユーザIDである配信者IDと、当該ライブ配信の視聴者を特定するユーザIDである視聴者IDと、当該ライブ配信の現在までの動画から抽出された画像である抽出画像と、を対応付けて保持する。
本実施の形態に係るライブ配信システム1が提供するライブ配信プラットフォームでは、ユーザがライブ配信を行う場合そのユーザは配信者となり、また同じユーザが他のユーザが配信するライブ配信を視聴する場合は視聴者となる。したがって、配信者・視聴者の別は固定的なものではなく、あるとき配信者IDとして登録されていたユーザIDが別のタイミングでは視聴者IDとして登録されることもある。
抽出画像は、現在行われているライブ配信を代表するかまたはよく表す画像であり、当該ライブ配信が始まってから現在までの動画から生成または抽出される。例えば、サーバ10はライブ配信が始まってから現在までの動画から、配信者が映っている画像を特定して抽出し、抽出された画像を当該ライブ配信に対応付けてストリームDB314に登録してもよい。あるいはまた、サーバ10は、ライブ配信の盛り上がりの度合いを監視し、度合いが所定のしきい値を超えたときの画像を取得してもよい。ライブ配信の動画からの画像の抽出は、例えば特許文献1に記載される技術を用いて実現されてもよい。
図5は、図3のユーザDB318の一例を示すデータ構造図である。ユーザDB318は、ユーザに関する情報を保持する。特にユーザDB318は、ライブ配信プラットフォームで配信される動画の配信者に関連する画像を保持する。ユーザDB318は、ユーザを特定するユーザIDと、当該ユーザが有しているポイントと、当該ユーザに付与された報酬と、当該ユーザの属性と、当該ユーザのプロフィール画面に表示される画像であるプロフィール画像と、当該ユーザのアバター画像と、を対応付けて保持する。ユーザの属性は、当該ユーザの年齢の範囲と、当該ユーザの性別と、当該ユーザの髪の色と、当該ユーザがライブ配信アプリを使用している地域を示すリージョンと、当該ユーザがバーチャル配信者であるかリアル配信者であるかの別を示す情報(以下、Vリアルフラグという)と、を含む。バーチャル配信者は、配信者自身の姿ではなく二次元的または三次元的に描画されたキャラクターまたはオブジェクトの姿で配信する配信者を指す(例えば、非特許文献1を参照)。プロフィール画像は、ユーザが所望の画像をライブ配信プラットフォームにアップロードすることにより登録される。アバター画像はライブ配信アプリによって生成されてもよいし、ユーザが所望の画像を用いて生成するものであってもよい。
ポイントは、ライブ配信プラットフォーム内で流通する電子的価値である。ユーザはクレジットカードや他の決済手段によりポイントを購入する。報酬はライブ配信プラットフォーム内で定義される電子的価値であり、配信者がライブ配信プラットフォームの管理者から受け取る金銭の額を決めるための指標である。ライブ配信プラットフォームでは、ライブ配信内やライブ配信外で視聴者が配信者にギフトを贈ると、視聴者のポイントが消費され、併せて配信者の報酬が相応分だけ増加する。
図6は、図3のギフトDB320の一例を示すデータ構造図である。ギフトDB320は、ライブ配信において視聴者が使用可能なギフトに関する情報を保持する。ギフトは、以下の特徴を有する電子データである。
・ポイントや金銭を対価として購入可能、または無料で付与可能。
・視聴者が配信者に贈ることができるもの。配信者にギフトを贈ることを、ギフトを使用する、またはギフトを投げるともいう。
・ギフトの購入と使用とがセットで同時に発生するタイプのものもあれば、購入した後、視聴者が任意のタイミングで使用可能なタイプのものもある。
・視聴者が配信者にギフトを贈ると、その配信者に相応の報酬が付与される。
・ギフトが使用された場合、ギフトに関連付けられた効果が生じることがある。例えば、ギフトに対応するエフェクトがライブ配信ルーム画面に表れる。
ギフトDB320は、ギフトを特定するギフトIDと、当該ギフトを配信者に贈った場合に当該配信者に付与される報酬である付与報酬と、当該ギフトを使用する際に支払うべき対価である対価ポイントと、を対応付けて保持する。視聴者は、ライブ配信の視聴中に、所望のギフトの対価ポイントを支払うことで配信者に当該ギフトを贈ることができる。この対価ポイントの支払いは適宜の電子的決済手段により行われてもよく、例えば対価ポイントを視聴者が管理者に支払うことで行われてもよい。あるいはまた、銀行振込やクレジットカードによる支払いが用いられてもよい。付与報酬と対価ポイントとの関係は管理者が任意に設定可能である。例えば、付与報酬=対価ポイントに設定してもよい。または付与報酬に1.2などの所定の係数を乗じて得られるポイントを対価ポイントに設定してもよいし、付与報酬に所定の手数料ポイントを加算して得られるポイントを対価ポイントに設定してもよい。
図3に戻り、配信者検索部322は、アクティブユーザのユーザ端末から配信者の検索要求を受けると、配信者の検索を実行し、検索の結果を当該ユーザ端末に返す。配信者検索部322は、検索要求受付部330と、生成画像取得部332と、画像生成モデル338と、調整部340と、画像検索部334と、提供部336と、を含む。
検索要求受付部330は、ライブ配信プラットフォームのアクティブユーザのユーザ端末からネットワークNWを介して、検索要求を受け付ける。検索要求は、要求元のアクティブユーザのユーザIDと、当該アクティブユーザが入力した検索対象のキーワード(テキスト形式で入力される。以下、検索キーワードという)と、当該アクティブユーザが指定した配信者の属性と、を含む。検索キーワードおよび属性は、検索要求元のアクティブユーザが探したい配信者の特徴を反映する。ここで指定される属性は、図5を参照して説明したユーザDB318に保持される属性と同様である。
画像生成モデル338は、検索キーワードおよび属性を入力とし、それらに対応する画像を出力とする、画像生成用の機械学習モデルである。画像生成モデル338は、非特許文献2に記載されるような公知の画像生成AI技術により実現されてもよい。画像生成モデル338は、入力された検索キーワードに対応しかつ入力された属性に合致する異なる複数の画像(以下、生成画像という)を生成する。
生成画像取得部332は、検索要求受付部330が受け付けた検索要求に含まれる検索キーワードおよび属性を画像生成モデル338の入力とすることで、当該検索キーワードおよび属性に対応して画像生成モデル338が生成した複数の生成画像を取得する。
調整部340は、生成画像取得部332により取得された複数の生成画像を調整することで、後段の画像検索部334で実行される画像-画像検索で検索キーとして用いられる画像を特定または生成する。調整部340は、検索要求元のアクティブユーザに複数の生成画像を提示し、そのなかから少なくともひとつの生成画像を選ばせる。一つの生成画像が選択された場合はその生成画像が検索キーとなる。複数の生成画像が選択された場合、選択された生成画像のそれぞれを検索キーとする画像-画像検索の結果を選択された生成画像に亘って合成することでひとつの検索結果を得てもよいし、選択された複数の生成画像を合成することで新たなひとつの画像を生成し、それを検索キーとしてもよい。
調整部340は、検索条件の変更を受け付けてもよい。この場合、変更された検索条件にて新たに生成画像が生成され、アクティブユーザに提示される。調整部340は、絞り込み条件を受け付けてもよい。この場合、生成画像取得部332により取得された複数の生成画像のうち絞り込み条件に合致するものが抽出され、アクティブユーザに提示される。
調整部340は、検索要求元のアクティブユーザによる、複数の生成画像のうちの少なくともひとつの生成画像の選択を受け付ける。具体的には、調整部340は、生成画像取得部332により取得された複数の生成画像を含む選択要求を生成し、ネットワークNWを介して検索要求元のユーザ端末に送信する。ユーザ端末は、受信した選択要求に基づいて生成画像表示画面を生成し、ディスプレイに表示させる。ユーザ端末は、アクティブユーザによる、生成画像表示画面に表示された複数の生成画像のうちの少なくともひとつの生成画像の選択を受け付ける。ユーザ端末は、選択された少なくとも一つの生成画像を特定する情報を含む選択応答を生成し、ネットワークNWを介して調整部340に送信する。調整部340は、受信した選択応答に基づき、アクティブユーザによる複数の生成画像のうちの少なくともひとつの生成画像の選択を受け付ける。
画像検索部334は、選択された少なくともひとつの生成画像に基づきストリームDB314およびユーザDB318に対して画像検索を実行する。ひとつの生成画像が選択された場合、画像検索部334は当該生成画像を検索キーとしてストリームDB314の抽出画像およびユーザDB318のプロフィール画像およびアバター画像に対して画像-画像検索を実行する。画像検索部334における画像-画像検索の結果は、マッチングスコアの高い抽出画像/プロフィール画像/アバター画像と、それに対応する配信者IDと、当該配信者IDで特定される配信者が行っているライブ配信を特定するストリームIDと、の組を含む。画像検索部334における画像-画像検索は例えば特許文献2に記載される検索技術を用いて実現されてもよい。
複数の生成画像が選択された場合、画像検索部334は各生成画像を検索キーとして画像-画像検索を実行する。画像検索部334は、得られた検索結果を選択された複数の生成画像に亘って合成することで最終的な検索結果を生成する。検索結果の合成は追加や平均や重み付けなど公知の技術により実現されてもよい。
提供部336は、画像検索部334により実行された画像検索の結果を、検索要求元のユーザ端末にネットワークNWを介して提供する。
検索要求元のユーザ端末の配信外UI制御部402は、受信した画像検索の結果に基づいて画像検索結果表示画面を生成し、ユーザ端末のディスプレイに表示させる。配信外UI制御部402は、画像検索結果表示画面におけるアクティブユーザによるライブ配信の選択を受け付けると、選択されたライブ配信のストリームIDを含む配信要求を生成し、ネットワークNWを介してサーバ10に送信する。配信情報提供部302は、受信した配信要求に含まれるストリームIDにより特定されるライブ配信の、要求元のユーザ端末への提供を開始する。配信情報提供部302は、当該ストリームIDの視聴者IDに要求元のユーザ端末のアクティブユーザのユーザIDが含まれるようにストリームDB314を更新する。これにより、アクティブユーザは選択されたライブ配信の視聴者となる。
中継部304は、配信情報提供部302によって開始されたライブ配信において、配信者のユーザ端末20から視聴者のユーザ端末30への動画データの伝送を中継する。中継部304は、ライブ配信中すなわち動画データの再生中における視聴者によるユーザ入力を示す信号を視聴側通信部204から受信する。ユーザ入力を示す信号は、ユーザ端末30のディスプレイに表示されたオブジェクトの指定を示すオブジェクト指定信号であってもよく、当該オブジェクト指定信号は、視聴者の視聴者IDと、視聴者が視聴しているライブ配信を行っている配信者の配信者IDと、オブジェクトを特定するオブジェクトIDと、を含む。オブジェクトがギフトアイコンである場合、オブジェクトIDはギフトIDとなる。その場合のオブジェクト指定信号は、視聴者による配信者に対するギフトの使用を示すギフト使用信号となる。同様に、中継部304は、動画データの再生中における配信者によるユーザ入力を示す信号、例えばオブジェクト指定信号をユーザ端末20の配信部100の配信側通信部110から受信する。
ギフト処理部308は、ギフト使用信号に含まれるギフトIDで特定されるギフトの付与報酬に応じて配信者の報酬を増加させるようにユーザDB318を更新する。ギフト処理部308は、ギフトDB320を参照し、受信したギフト使用信号に含まれるギフトIDに対応する付与報酬を特定する。ギフト処理部308は、ギフト使用信号に含まれる配信者IDに対応する報酬に、特定された付与報酬を加えるようユーザDB318を更新する。
支払い処理部310は、ギフト使用信号の受信に応じて、視聴者によるギフトの対価の支払いを処理する。支払い処理部310は、ギフトDB320を参照し、ギフト使用信号に含まれるギフトIDで特定されるギフトの対価ポイントを特定する。支払い処理部310は、ギフト使用信号に含まれる視聴者IDで特定される視聴者のポイントから特定された対価ポイントを差し引くようユーザDB318を更新する。
以上の構成によるライブ配信システム1の動作を説明する。
図7は、サーバ10における配信者検索に係る一連の処理の流れを示すフローチャートである。サーバ10は、ネットワークNWを介してユーザ端末から検索要求を受け付ける(S202)。サーバ10は、受け付けた検索要求に含まれる検索キーワードおよび希望属性を画像生成モデル338に入力する(S204)。サーバ10は、画像生成モデル338が生成した生成画像を含む選択要求を、ネットワークNWを介して要求元のユーザ端末に送信する(S206)。サーバ10は、ユーザにより選択された生成画像の情報を含む選択応答を、要求元のユーザ端末から受信する(S208)。サーバ10は、選択された生成画像を検索キーとして、ユーザDB318に保持される画像およびストリームDB314に保持される画像に対して画像検索を実行する(S210)。サーバ10は、検索の結果得られた配信者の情報および当該配信者が行っているライブ配信およびアーカイブの情報を、要求元のユーザ端末に送信する(S212)。
図8は、アクティブユーザのユーザ端末のディスプレイに表示される検索条件受付画面600の代表画面図である。検索条件受付画面600はアクティブユーザによる検索条件の入力を受け付ける。検索条件受付画面600は、アクティブユーザによる検索キーワードの入力をテキスト自由入力形式で受け付けるキーワード入力領域602と、アクティブユーザによる属性の指定をプルダウン形式で受け付ける属性指定領域604と、検索ボタン606と、を有する。
アクティブユーザは、所望の検索キーワードをキーワード入力領域602に入力し、所望の属性を属性指定領域604で選択し、検索ボタン606を押す。ユーザ端末の配信外通信部404は、検索ボタン606の押下を検出すると、キーワード入力領域602に入力された検索キーワードと、属性指定領域604で選択された属性と、アクティブユーザのユーザIDと、を含む検索要求を生成し、ネットワークNWを介してサーバ10に送信する。
図9は、アクティブユーザのユーザ端末のディスプレイに表示される生成画像表示画面608の代表画面図である。生成画像表示画面608は、図8の検索条件受付画面600を介して入力された検索条件(検索キーワードおよび属性)を画像生成モデル338に入力することで生成された複数の生成画像を含む。生成画像表示画面608は、検索要求に応じてサーバ10から受信した選択要求に含まれる複数の生成画像612を表示する生成画像表示領域610と、検索条件追加ボタン614と、画像検索実行ボタン616と、を有する。
アクティブユーザが検索条件追加ボタン614をタップすると、配信外UI制御部402は、検索条件を追加または更新して生成画像の生成をやり直すためのインタフェースを提供する。ユーザ端末は当該インタフェースを介して生成画像に対する更新要求を受け付ける。または、配信外UI制御部402は、検索条件を追加して検索結果を絞り込むためのインタフェースを提供する。
アクティブユーザは、生成画像表示領域610に表示される複数の生成画像のなかから、自分の欲している配信者のイメージにより近い生成画像を選択または指定し、画像検索実行ボタン616を押す。配信外UI制御部402は、画像検索実行ボタン616の押下を検出すると、生成画像表示画面610において、複数の生成画像からの少なくともひとつの生成画像の選択または指定を受け付ける。配信外通信部404は、生成画像表示領域610で選択または指定されている生成画像を特定する情報を含む選択応答を生成し、ネットワークNWを介してサーバ10に送信する。
図10は、アクティブユーザのユーザ端末のディスプレイに表示される画像検索結果表示画面618の代表画面図である。画像検索結果表示画面618は、図9の生成画像表示画面608における生成画像の選択の結果に対応する画像検索の結果を含む。配信外通信部404は、図9の生成画像表示画面608を介して送信された選択応答に対応する画像検索の結果をサーバ10から受信する。配信外UI制御部402は、受信した画像検索の結果に基づいて画像検索結果表示画面618を生成し、ディスプレイに表示させる。画像検索結果表示画面618は、画像検索の結果に含まれる配信者ID620と、当該配信者IDで特定される配信者のプロフィール画像622と、当該配信者IDで特定される配信者が現在行なっているライブ配信を表すサムネイル624と、当該配信者の過去のライブ配信のアーカイブを表すサムネイル626と、を含む。
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解される。
本実施の形態に係るライブ配信システム1によると、テキストからの画像の生成を利用することで、画像にタグ付けをしなくても配信者のテキスト-画像検索が可能となる。これにより、ユーザや管理者の負担を軽減できる。また、ライブ配信の抽出画像など頻繁に画像の更新が生じる場合でも検索の精度を維持または向上することができる。
また、本実施の形態に係るライブ配信システム1では、検索条件から生成される異なる複数の生成画像がユーザに候補として提示される。ユーザは、候補のなかから求めるものにより近い生成画像を指定できる。これにより、配信者検索の確度を高めることができる。例えば、文化の違いによるテキストの意味の違いを吸収することができる。例えば、「かわいい」というテキストの意味するところは我が国と外国とでは異なる。我が国における「かわいい」の意味が反映された生成画像と、外国における「かわいい」の意味が反映された生成画像と、をユーザに提示することで、そのような意味のずれによる検索結果のずれを抑制または防止することができる。
従来の画像のタグに基づく検索では、検索キーワードとタグとの合致がない場合は検索結果無しとなることが多い。これに対して、本実施の形態に係るライブ配信システム1では、検索条件から機械学習モデルが生成画像を生成し、当該生成画像を検索キーとした画像検索が行われる。したがって、どのような検索条件に対しても何らかの検索結果を返すことができる。これにより、検索結果が無いことによるユーザ満足度の低下を抑えることができる。
また、本実施の形態に係るライブ配信システム1では、生成画像とその選択結果とをデータとして取得し活用することができる。例えば、流行の顔を分析する際にそのようなデータを利用することができる。
図11を参照して、本実施の形態に係る情報処理装置のハードウェア構成について説明する。図11は、本実施の形態に係る情報処理装置のハードウェア構成例を示すブロック図である。図示された情報処理装置900は、例えば、本実施の形態におけるサーバ10およびユーザ端末20、30のそれぞれを実現しうる。
情報処理装置900は、CPU901、ROM(Read Only Memory)902、およびRAM(Random Access Memory)903を含む。また、情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インタフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート925、通信装置929を含んでもよい。さらに、情報処理装置900は、カメラなどの撮像装置(不図示)を含む。また、情報処理装置900は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM902、RAM903、ストレージ装置919、またはリムーバブル記録媒体923に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。例えば、CPU901は、本実施の形態におけるサーバ10およびユーザ端末20、30のそれぞれに含まれる各機能部の動作全般を制御する。ROM902は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM902、およびRAM903は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置であってもよいし、マイクロフォンなどの音センサ、加速度センサ、傾きセンサ、赤外線センサ、深度センサ、温度センサ、湿度センサなど物理量を電気信号に変換する装置であってもよい。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器927であってもよい。入力装置915は、ユーザが入力した情報または感知した物理量に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD、PDP、OELDなどのディスプレイ、スピーカおよびヘッドホンなどの音響出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音響などの音として出力したりする。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体923のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体923に記録されている情報を読み出して、RAM903に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体923に記録を書き込む。
接続ポート925は、機器を情報処理装置900に直接接続するためのポートである。接続ポート925は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート925は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート925に外部接続機器927を接続することで、情報処理装置900と外部接続機器927との間で各種のデータが交換されうる。
通信装置929は、例えば、ネットワークNWに接続するための通信デバイスなどで構成された通信インタフェースである。通信装置929は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置929は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置929は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置929に接続される通信ネットワークNWは、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。なお、通信装置929は、通信部としての機能を実現する。
カメラなどの撮像装置(不図示)は、例えばCCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。当該撮像装置は、静止画を撮像するものであってもよいし、または動画を撮像するものであってもよい。
以上、実施の形態に係るライブ配信システム1の構成と動作について説明した。この実施の形態は例示であり、各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解される。
実施の形態ではライブ配信プラットフォームを例として説明したが、これに限られず、VOD(Video On Demand)などの他の動画配信プラットフォームにも本実施の形態に係る技術的思想を適用可能である。
実施の形態では、配信者を検索する場合を説明したが、これに限られない。例えば、ライブ配信やアーカイブを検索する場合にも本実施の形態に係る技術的思想を適用可能である。
実施の形態では、複数の生成画像をユーザに提示して選択させる場合を説明したが、これに限られない。例えば、ひとつの生成画像をユーザに提示して、それを採用するかまたは検索条件を変更するかを問い合わせてもよい。あるいはまた、生成画像を生成した後、ユーザに問い合わせることなく当該生成画像を検索キーとして画像検索を行ってもよい。
実施の形態では、ユーザが検索条件として指定した属性を画像生成モデル338の入力とする場合を説明したが、これに限られない。例えば、画像生成モデル338の入力とすることに代えてまたは加えて、ユーザが検索条件として指定した属性をユーザDB318で配信者を予め絞り込むために用いてもよい。例えば、検索条件としてバーチャル配信者が指定された場合、サーバは、ユーザDB318に保持される画像のうち配信者のVリアルフラグがバーチャルに設定されている配信者の画像を予め抽出して画像検索の母集団としてもよい。
実施の形態では、検索要求が検索キーワードと属性とを含む場合を説明したが、これに限られず、検索要求は検索キーワードまたは属性のいずれか一方を含んでもよい。あるいはまた、検索要求は、画像や音声や要求元のユーザのプロフィール情報や閲覧履歴を含んでもよい。
実施の形態では、アクティブユーザのユーザ端末が検索要求を生成する場合を説明したが、これに限られず、例えばユーザに配信者をリコメンドする場合にも本実施の形態に係る技術的思想を適用することができる。この場合、検索要求はユーザのプロフィール情報や閲覧履歴を含んでもよい。閲覧履歴は、ユーザが過去に閲覧したライブ配信の配信者のプロフィール画像を含んでもよい。この場合、このようなプロフィール画像を入力として画像生成モデルにより生成される生成画像は、ユーザが好みそうな画像となる。
実施の形態におけるギフトの対価ポイントから付与報酬への換算率は一例であって、これらは例えばライブ配信システムの管理者により適宜設定されてもよい。
実施の形態に係る技術的思想をライブコマースに適用してもよい。例えば、ユーザが入力したテキストからユーザが欲しい商品の画像を生成し、生成された画像をキーとしてライブコマースで扱われている商品の画像を検索したり、ライブコマースのライブ配信動画から抽出された画像を検索してもよい。例えば、ユーザが「緑 服」と入力するとシステムは緑色の服の生成画像を複数生成してユーザに提示する。そのなかからユーザが自分のテイストに合った生成画像を選択すると、システムは選択された生成画像に含まれる緑色の服を検索キーとする画像検索を実行する。その結果、検索キーの服と色や形が似ている服の商品画像が検索結果として得られるか、または、検索キーの服と同様の服を着ている配信者のライブコマース配信が検索結果として得られる。
本明細書において説明された処理手順、特にフロー図、フローチャートを用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本開示の趣旨を逸脱しない限り本開示の範囲に含まれる。
サーバ10により実現される機能の少なくとも一部は、サーバ10以外の装置、例えばユーザ端末20、30により実現されてもよい。ユーザ端末20、30により実現される機能の少なくとも一部は、ユーザ端末20、30以外の装置、例えば、サーバ10により実現されてもよい。例えば、視聴者のユーザ端末で行われる動画データの画像への所定のフレーム画像の重畳は、サーバ10で行われてもよいし、配信者のユーザ端末で行われてもよい。