(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-06
(45)【発行日】2023-11-14
(54)【発明の名称】配信ユーザの動きに基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画をライブ配信する動画配信システム、動画配信方法及び動画配信プログラム
(51)【国際特許分類】
H04N 21/266 20110101AFI20231107BHJP
H04N 21/258 20110101ALI20231107BHJP
G06T 13/40 20110101ALI20231107BHJP
【FI】
H04N21/266
H04N21/258
G06T13/40
(21)【出願番号】P 2021141247
(22)【出願日】2021-08-31
(62)【分割の表示】P 2019157010の分割
【原出願日】2019-08-29
【審査請求日】2022-08-05
【新規性喪失の例外の表示】特許法第30条第2項適用 https://www.wantedly.com/companies/wrightflyer/post_articles/161552 ウォンテッドリー株式会社が、平成31年3月25日にホームページ「WANTEDLY」において、出願に係る発明について公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 https://www.wantedly.com/companies/wrightflyer/post_articles/165811 ウォンテッドリー株式会社が、平成31年4月22日にホームページ「WANTEDLY」において、出願に係る発明について説明されているインタビュー記事を公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 https://www.wantedly.com/companies/wrightflyer/post_articles/183061 ウォンテッドリー株式会社が、令和1年8月22日にホームページ「WANTEDLY」において、出願に係る発明について説明されているインタビュー記事を公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 https://www.youtube.com/watch?v=Wzom_Khk-8s 株式会社Wright Flyer Live Entertainmentが、平成31年3月25日にYouTubeチャンネル「REALITY Studio」の動画「〔REALITY FESTIVAL 2>DIVE〕開催!」において、出願に係る発明について公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 https://reality-festival.wrightflyer.net/dive/ 株式会社Wright Flyer Live Entertainmentが、平成31年4月8日にVTuber専用ライブ配信プラットフォーム「REALITY」において、出願に係る発明について公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 https://apps.apple.com/jp/app/reality-vtuber%E5%B0%82%E7%94%A8%E3%83%A9%E3%82%A4%E3%83%96%E3%82%A2%E3%83%97%E3%83%AA/id1404176564 https://play.google.com/store/apps/details?id=net.wrightflyer.le.reality&hl=ja 株式会社Wright Flyer Live Entertainmentが、平成31年3月1日に出願に係る発明を用いたVTuber専用ライブ配信アプリ「REALITY」の新しいバージョンを公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 https://apps.apple.com/jp/app/reality-vtuber%E5%B0%82%E7%94%A8%E3%83%A9%E3%82%A4%E3%83%96%E3%82%A2%E3%83%97%E3%83%AA/id1404176564 https://play.google.com/store/apps/details?id=net.wrightflyer.le.reality&hl=ja 株式会社Wright Flyer Live Entertainmentが、令和1年7月1日に出願に係る発明を用いたVTuber専用ライブ配信アプリ「REALITY」の新しいバージョンを公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 株式会社Wright Flyer Live Entertainmentが、令和1年7月2日に行われたWFLE VTuber Hackers Meetup Vol.02にて、出願に係る発明について公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 https://reality-festival.wrightflyer.net/3/ 株式会社Wright Flyer Live Entertainmentが、令和1年8月12日にVTuber専用ライブ配信プラットフォーム「REALITY」において、出願に係る発明について公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 https://prtimes.jp/main/html/rd/p/000000124.000021973.html 株式会社PR TIMESが、令和1年7月22日に「PR TIMES」において、出願に係る発明について公開。
(73)【特許権者】
【識別番号】504437801
【氏名又は名称】グリー株式会社
(74)【代理人】
【識別番号】100126572
【氏名又は名称】村越 智史
(72)【発明者】
【氏名】栗田 健悟
【審査官】醍醐 一貴
(56)【参考文献】
【文献】特許第6550522(JP,B1)
【文献】特開2017-204112(JP,A)
【文献】特許第6543403(JP,B1)
【文献】特開2010-029397(JP,A)
【文献】庄司亮一,Instagram、ライブ配信視聴者をゲスト招待して一緒に配信可能に, [online],2017年10月25日,[令和5年7月12日検索], インターネット<URL:av.watch.impress.co.jp/docs/news/1087944.html>
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
G06T 1/00
G06T 11/60-13/80
G06T 19/00-19/20
(57)【特許請求の範囲】
【請求項1】
配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を配信する動画配信システムであって、
一又は複数のコンピュータプロセッサを備え、
前記一又は複数のコンピュータプロセッサは、コンピュータ読み取り可能な命令を実行することにより、
複数のユーザから前記動画
に自らのキャラクタオブジェクトを表示させるための参加要求を受け付け
たことに応じて、前記複数のユーザの中から複数の参加ユーザを選定し、
前記複数の参加ユーザの中から一又は複数のゲストユーザを選定し、
前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信し、
前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクト及び前記第1キャラクタオブジェクトを含む共演動画を生成する、
動画配信システム。
【請求項2】
前記動画を配信するサーバを備え、
前記第1キャラクタオブジェクト及び前記ゲストキャラクタオブジェクトは、前記動画内に3D表示情報に基づいて立体的に表示され、
前記一又は複数のゲストユーザは、前記複数の参加ユーザのうち前記3D表示情報を前記サーバにロードしたロード実行済み参加ユーザの中から選定される、
請求項1に記載の動画配信システム。
【請求項3】
前記ゲストキャラクタオブジェクトは、前記ゲストユーザに対応付けられている一又は複数のパーツ情報に基づいて構築され、
前記一又は複数のコンピュータプロセッサは、前記ゲストユーザの選定に関する通知を受信した前記一又は複数のゲストユーザのうちの一のゲストユーザのクライアント装置に、前記一のゲストユーザの前記ゲストキャラクタオブジェクトを構築するためのパーツ情報の購入を促すウィンドウを表示させる、
請求項1又は2に記載の動画配信システム。
【請求項4】
前記ゲストキャラクタオブジェクトは、前記ゲストユーザに対応付けられている一又は複数のパーツ情報に基づいて構築され、
前記一又は複数のコンピュータプロセッサは、前記ゲストユーザの選定に関する通知を受信した前記一又は複数のゲストユーザのうちの一のゲストユーザのクライアント装置からのパーツ取得要求に基づいて、前記一のゲストユーザに取得させるパーツ情報を所定のアルゴリズムに基づいて選択する、
請求項1から3のいずれか1項に記載の動画配信システム。
【請求項5】
前記参加要求は、前記動画が配信される前の受付期間に受け付けられる、
請求項1から4のいずれか1項に記載の動画配信システム。
【請求項6】
前記一又は複数のゲストユーザは、前記複数の参加ユーザのうち共演要求を行った共演要求参加ユーザの中から選定される、
請求項1から5のいずれか1項に記載の動画配信システム。
【請求項7】
前記複数の参加ユーザのうちの一の参加ユーザからの前記共演要求には前記一の参加ユーザからのメッセージが含まれる、
請求項6に記載の動画配信システム。
【請求項8】
前記複数の参加ユーザのうちの一の参加ユーザからの前記共演要求には前記一の参加ユーザからのモーションデータが含まれ、
前記一又は複数のコンピュータプロセッサは、前記一の参加ユーザに対応する第2キャラクタオブジェクトに前記動画内において前記モーションデータに対応する動作を行わせる、
請求項6又は7に記載の動画配信システム。
【請求項9】
前記共演要求に基づく前記一又は複数のゲストユーザの選定は、前記配信ユーザの選択に応じて行われる、
請求項6から8のいずれか1項に記載の動画配信システム。
【請求項10】
前記共演動画は、前記複数の参加ユーザのうち前記一又は複数のゲストユーザとして選定されていないキャラクタオブジェクトを含まない、請求項1から9のいずれか1項に記載の動画配信システム。
【請求項11】
前記一又は複数のゲストユーザは、第1ゲストユーザ及び第2ゲストユーザを含み、
前記共演動画は、前記第1ゲストユーザの前記ゲストキャラクタオブジェクト及び前記第1キャラクタオブジェクトを含む第1共演動画、及び、前記第2ゲストユーザの前記ゲストキャラクタオブジェクト及び前記第1キャラクタオブジェクトを含む第2共演動画を含み、
前記第2共演動画は、前記第1共演動画における前記第1ゲストユーザと前記配信ユーザとの共演が終了した後に配信される、
請求項1から10のいずれか1項に記載の動画配信システム。
【請求項12】
前記複数の参加ユーザの各々のクライアント装置において前記配信ユーザとの共演を申請する共演要求を行うための機能をアクティベートさせるためのコマンドを、前記複数のユーザのうち前記複数の参加ユーザのクライアント装置にのみ送信する、
請求項1から11のいずれか1項に記載の動画配信システム。
【請求項13】
一又は複数のコンピュータプロセッサがコンピュータ読み取り可能な命令を実行することにより実行される、配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を配信する動画配信方法であって、
複数のユーザから前記動画
に自らのキャラクタオブジェクトを表示させるための参加要求を受け付け
たことに応じて、前記複数のユーザの中から複数の参加ユーザを選定する工程と、
前記複数の参加ユーザの中から一又は複数のゲストユーザを選定する工程と、
前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信する工程と、
前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクト及び前記第1キャラクタオブジェクトを含む共演動画を生成する工程と、
を備える動画配信方法。
【請求項14】
配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を配信するための動画配信プログラムであって、一又は複数のコンピュータプロセッサに、
複数のユーザから前記動画
に自らのキャラクタオブジェクトを表示させるための参加要求を受け付け
たことに応じて、前記複数のユーザの中から複数の参加ユーザを選定する工程と、
前記複数の参加ユーザの中から一又は複数のゲストユーザを選定する工程と、
前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信する工程と、
前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクト及び前記第1キャラクタオブジェクトを含む共演動画を生成する工程と、
を実行させる動画配信プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書における開示は、配信ユーザの動きに基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画をライブ配信する動画配信システム、動画配信方法及び動画配信プログラムに関する。
【背景技術】
【0002】
従来から、配信ユーザの動きに基づいてキャラクタオブジェクトのアニメーションを生成し、かかるキャラクタオブジェクトのアニメーションを含む動画をライブ配信する動画配信システムが知られている。このような動画配信システムは、例えば、特開2015-184689号公報(特許文献1)及び「長谷川 雄介,ヴァーチャルアイドル新時代の幕開け PROJECT Maria,CG WORLD,日本,株式会社ボーンデジタル,2017年11月10日,第231巻,pp.74-79」(非特許文献1)に開示されている。
【0003】
配信ユーザの動きに基づいて生成されたキャラクタオブジェクトを含む動画を配信する動画配信サービスが提供されている。このようなサービスとして、株式会社ドワンゴが提供する「バーチャルキャスト」が知られている。バーチャルキャストでは、ある配信ユーザが配信している動画に当該動画を視聴している視聴ユーザからの共演リクエストに応じて当該視聴ユーザのキャラクタオブジェクトが当該動画に含められる。これにより、配信ユーザと視聴ユーザとが各々のキャラクタオブジェクトを介して動画内で仮想的に共演する(非特許文献2参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】長谷川 雄介,ヴァーチャルアイドル新時代の幕開け PROJECT MariA,CG WORLD,日本,株式会社ボーンデジタル,2017年11月10日,第231巻,pp.74-79
【文献】株式会社ドワンゴ、 [バーチャルキャスト]凸について″、[online]、[平成31年5月21日検索]、インターネット〈URL:https://qa.nicovideo.jp/faq/show/10740?category_id=718&site_domain=default
【発明の概要】
【発明が解決しようとする課題】
【0005】
配信動画を視聴する視聴ユーザの数が多くなると視聴ユーザから配信ユーザに対して大量の共演要求が送られる可能性がある。配信動画のクオリティを保つために、どのような視聴ユーザが共演相手であるかは、配信ユーザにとって重大な関心事である。大量の共演要求がなされると、配信ユーザにとっては大量の共演要求の中から共演相手としてふさわしい視聴ユーザを選択することが難しくなる。
【0006】
視聴ユーザからの共演要求に基づいて当該視聴ユーザの共演可否を決定し、その決定された共演可否を示す通知を視聴ユーザに対して送信する場合には、当該通知を生成して送信するための処理負荷及び通信トラフィックが増大するという問題がある。上記の問題は、視聴ユーザの数が増加するほど深刻化することになる。人気のある配信ユーザは、数万人以上の視聴ユーザを得ると考えられるので、上記の問題を解決又は緩和するための技術的な対応が求められる。
【0007】
本開示の目的は、上述した従来技術の問題の少なくとも一部を解決又は緩和する技術的な改善を提供することである。本開示のより具体的な目的の一つは、視聴ユーザからの共演要求によって必要となる処理に関する処理負荷を低減することができる動画配信システム、動画配信方法及び動画配信プログラムを提供することである。
【課題を解決するための手段】
【0008】
本発明の一態様は、一又は複数のコンピュータプロセッサを備え、動画配信システムに関する。前記一又は複数のコンピュータプロセッサは、コンピュータ読み取り可能な命令を実行することにより、配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を複数の視聴ユーザの各々のクライアント装置に配信し、前記複数の視聴ユーザから前記動画への参加要求を受け付けたことに応じて、前記複数の視聴ユーザの中から複数の参加ユーザを選定し、前記複数の参加ユーザの各々に対応する複数の第2キャラクタオブジェクトを前記動画内に含め、前記複数の参加ユーザの少なくとも一部から前記配信ユーザとの共演を申請する共演要求を受け付け、前記共演要求を行った参加ユーザの中から一又は複数のゲストユーザを選定し、前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信し、前記第2キャラクタオブジェクトのうち前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクトを前記動画内に含める。
【0009】
一態様において、前記一又は複数のコンピュータプロセッサは、前記複数の参加ユーザの各々のクライアント装置において前記共演要求を行うための機能をアクティベートさせるためのコマンドを前記複数の参加ユーザの各々のクライアント装置に送信する。
【0010】
一態様において、前記複数の参加ユーザのうちの一の参加ユーザからの前記共演要求には前記一の参加ユーザからのメッセージが含まれる。
【0011】
一態様において、前記複数の参加ユーザのうちの一の参加ユーザからの前記共演要求には前記一の参加ユーザからのモーションデータが含まれる。前記一又は複数のコンピュータプロセッサは、前記一の参加ユーザに対応する前記第2キャラクタオブジェクトに前記動画内において前記モーションデータに対応する動作を行わせる。
【0012】
一態様において、前記参加要求に基づく前記複数の参加ユーザの選定は、所定のアルゴリズムに基づいて行われる。
【0013】
一態様において、前記共演要求に基づく前記一又は複数のゲストユーザの選定は、前記配信ユーザの選択に応じて行われる。
【0014】
前記一又は複数のコンピュータプロセッサは、前記複数の参加ユーザ以外の前記複数の視聴ユーザに対しては、前記複数の参加ユーザの選定に関する通知を送信しない。
【0015】
本発明の一態様は、一又は複数のコンピュータプロセッサがコンピュータ読み取り可能な命令を実行することにより実行される動画配信方法に関する。動画配信方法は、配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を複数の視聴ユーザの各々のクライアント装置に配信する工程と、前記複数の視聴ユーザから前記動画への参加要求を受け付けたことに応じて、前記複数の視聴ユーザの中から複数の参加ユーザを選定する工程と、前記複数の参加ユーザの各々に対応する複数の第2キャラクタオブジェクトを前記動画内に含める工程と、前記複数の参加ユーザの少なくとも一部から前記配信ユーザとの共演を申請する共演要求を受け付け、前記共演要求を行った参加ユーザの中から一又は複数のゲストユーザを選定する工程と、前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信する工程と、前記第2キャラクタオブジェクトのうち前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクトを前記動画内に含める工程と、を備える。
【0016】
本発明の一態様は、動画配信プログラムに関する。この動画配信プログラムは、一又は複数のコンピュータプロセッサに、配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を複数の視聴ユーザの各々のクライアント装置に配信する工程と、前記複数の視聴ユーザから前記動画への参加要求を受け付けたことに応じて、前記複数の視聴ユーザの中から複数の参加ユーザを選定する工程と、前記複数の参加ユーザの各々に対応する複数の第2キャラクタオブジェクトを前記動画内に含める工程と、前記複数の参加ユーザの少なくとも一部から前記配信ユーザとの共演を申請する共演要求を受け付け、前記共演要求を行った参加ユーザの中から一又は複数のゲストユーザを選定する工程と、前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信する工程と、前記第2キャラクタオブジェクトのうち前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクトを前記動画内に含める工程と、を実行させる。
【発明の効果】
【0017】
本発明の実施形態によれば、視聴ユーザからの共演要求によって必要となる処理に関する処理負荷を低減することができる。
【図面の簡単な説明】
【0018】
【
図1】本発明の一実施形態による動画配信システムの概略を示すブロック図である。
【
図2】
図1の動画配信システムをより詳細に示すブロック図である。
【
図3】
図1の動画配信システムで配信される動画を制作するスタジオの設備を模式的に示す模式図である。
【
図4】
図1の動画配信システムにおいて記憶されるユーザデータを説明する図である。
【
図5】
図1の動画配信システムにおいて記憶されるアバタデータを説明する図である。
【
図6】共演要求に含まれる情報を説明するための図である。
【
図7a】一実施形態においてクライアント装置10aに表示される動画の例を示す図である。
【
図7b】一実施形態においてクライアント装置10aに表示される動画の例を示す図である。
【
図7c】一実施形態においてクライアント装置10aに表示される動画の例を示す図である。
【
図7d】一実施形態においてクライアント装置10aに表示される動画の例を示す図である。
【
図7e】一実施形態においてクライアント装置10aに表示される共演動画の例を示す図である。
【
図8】一実施形態における動画配信処理の流れを示すフロー図である。
【
図9】一実施形態における参加要求処理する流れを示すフロー図である。
【
図10】一実施形態における共演処理の流れを示すフロー図である。
【発明を実施するための形態】
【0019】
以下、図面を適宜参照し、本発明の様々な実施形態を説明する。複数の図面において同一の又は類似する構成要素には同じ参照符号が付される。
【0020】
図1を参照して、本発明の一実施形態による動画配信システムの概略について説明する。
図1は、本発明の一実施形態による動画配信システム1の概略を示すブロック図である。図示のように、動画配信システム1は、クライアント装置10と、サーバ装置20と、を備える。図示を簡略化するために
図1にはクライアント装置10が1つだけ図示されているが、動画配信システム1は、複数のクライアント装置10を備えることができる。サーバ装置20は、動画を配信するように構成される。クライアント装置10は、サーバ装置20から配信された動画を再生するように構成される。視聴ユーザは、クライアント装置10を用いて、サーバ装置20から配信された動画を視聴することができる。サーバ装置20は、後述するように、配信ユーザのキャラクタオブジェクトのアニメーションを含む動画を配信するように構成されてもよい。
【0021】
視聴ユーザは、配信された動画をクライアント装置10により視聴している間に、当該動画に自らのキャラクタオブジェクトを表示させるための参加要求をサーバ装置20に送信することができる。サーバ装置20は、当該参加要求に基づいて当該視聴ユーザのキャラクタオブジェクトを動画に表示するか否かを決定する。サーバ装置20は、この決定に応じて、当該視聴ユーザのキャラクタオブジェクトを含むように動画を生成し、その視聴ユーザのキャラクタオブジェクトを含む動画を配信することができる。このようにして、視聴ユーザは、自らのキャラクタオブジェクトを介してサーバ装置20から配信される動画に参加することができる。複数の視聴ユーザのうち配信中の動画に自らのキャラクタオブジェクトが表示されている視聴ユーザ、すなわち、自らのキャラクタオブジェクトを介して動画に参加している視聴ユーザを参加ユーザと呼ぶことがある。動画への参加を許可される参加ユーザの数には上限が設けられてもよい。サーバ装置20は、参加要求を行った複数の視聴ユーザの中から上限数以下の参加ユーザを選定することができる。
【0022】
参加ユーザは、クライアント装置10を用いて、配信ユーザとの共演を申し込むための共演要求をサーバ装置20に送信することができる。サーバ装置20は、共演要求を受け取ると、当該共演要求を送信した参加ユーザと配信ユーザとの共演を許可するか否かを決定する。サーバ装置20は、当該参加ユーザと当該配信ユーザとの共演を許可する決定がなされた場合、配信ユーザのキャラクタオブジェクトと参加ユーザのキャラクタオブジェクトとを含む共演動画を生成し、この共演動画を配信することができる。このようにして、動画配信システム1においては、配信ユーザと視聴ユーザとが各々のキャラクタオブジェクトを介して動画内で仮想的に共演することができる。配信ユーザと視聴ユーザとが各々のキャラクタオブジェクトを介して動画内で仮想的に共演している場合、その動画を共演動画と呼ぶことがある。また、共演動画において配信ユーザと共演している視聴ユーザをゲストユーザと呼ぶことがある。ゲストユーザは、一人でもよいし複数人でもよい。複数のゲストユーザが決定された場合には、配信ユーザは、その複数のゲストユーザと順次共演することができる。
【0023】
一実施形態において、動画配信システム1は、動画を視聴する視聴ユーザのうち、当該動画への参加要求が認められた参加ユーザのみから共演要求を受け付けるように構成される。例えば、参加要求が認められた参加ユーザのクライアント装置10において共演要求を行うための機能がアクティベートされる。これにより、視聴ユーザのうち参加ユーザのみから共演要求を受け付けることができる。視聴ユーザの数が多くなっても、クライアント装置10から受け付ける共演要求の数を抑制することができる。
【0024】
サーバ装置20は、視聴ユーザからの参加要求に基づいて当該視聴ユーザの参加可否を決定した後、参加要求を行った視聴ユーザ全員に対して当該動画への参加が許可されたか否かを示す通知を送信しないように構成されてもよい。配信される動画に参加が許可された視聴ユーザのキャラクタオブジェクトが含まれているので、視聴ユーザは、動画への参加が許可されたか否かを示す通知を受信しなくとも、視聴する動画に自らのキャラクタオブジェクトが含まれているか否かに基づいて自らの参加要求が許可されたか否かを知ることができる。このように、一実施形態においては、動画への視聴ユーザの参加が認められたか否かを示す情報は当該動画に含められているので、当該動画以外には、参加要求を行った視聴ユーザ全員に対して当該動画への視聴ユーザの参加が認められたか否かを示す通知は送信されない。これにより、動画配信システム1においては、参加要求を行った視聴ユーザ全員に対して、動画への視聴ユーザの参加が認められたか否かを示す通知を動画の配信と別に送信する必要がなくなる。視聴ユーザのうち動画への参加が認められた参加ユーザのクライアント装置10に対しては、参加が認められたことを示す通知が送信されてもよい。参加ユーザのクライアント装置10は、この参加が認められたことを示す通知を受け取ったことに応じて、当該参加ユーザが共演要求を行うための機能をアクティベートしてもよい。
【0025】
サーバ装置20は、参加ユーザからの共演要求に基づいて当該参加ユーザと配信ユーザとの共演の可否を決定した後、共演が許可された参加ユーザ(ゲストユーザ)に対して共演が許可されたことを通知する許可通知を送信するように構成されてもよい。ゲストユーザは、許可通知を受け取ることにより配信ユーザのキャラクタオブジェクトと動画において共演できることを知ることができる。ゲストユーザは、この共演が許可されたことを示す通知を受けた後に、共演に向けた準備を行うことができる。共演に向けた準備には、例えば、動画に表示される自らのキャラクタオブジェクト(例えば、アバタ)の描写をリッチにするための追加的なコンテンツ(例えば、アタバのパーツ)の購入を含んでもよい。サーバ装置20は、共演要求を行った参加ユーザのうち共演が許可されなかった参加ユーザに対して共演が許可されなかったことを通知する不許可通知を送信するように構成されてもよい。
【0026】
動画配信システム1によれば、配信される動画以外には、参加要求を行った視聴ユーザ全員に対して当該参加要求が許可されたか否かを示す通知が送信されない。これにより、サーバ装置20における処理負荷が軽減され、また、通信トラフィックの増大を抑制することができる。他方、一実施形態においては、共演要求に基づいて共演が許可されたことを示す許可通知がゲストユーザに通知されるので、ゲストユーザは配信ユーザとの共演に向けた準備を行うことができる。ゲストユーザは、視聴ユーザ全体のうち参加要求が認められ、且つ、共演要求が認められたユーザであるから、その数は参加要求を行う視聴ユーザ全体の数と比べて少ないので、この許可通知の生成及び送信のために必要となる処理負荷は、視聴ユーザ全体に通知を送信する場合と比較して少ない。
【0027】
図2から
図6を参照して、一実施形態による動画配信システムについて説明する。
図2は、一実施形態による動画配信システム1を示すブロック図であり、
図3は、動画配信システム1で配信される動画の制作が行われるスタジオの設備を模式的に示す模式図であり、
図4及び
図5は、動画配信システム1において記憶される情報を説明するための図であり、
図6は、共演要求に含まれる情報を説明するための図である。
【0028】
図2に示されているように、動画配信システム1は、
図1に示したクライアント装置10及びサーバ装置20に加え、スタジオユニット30と、ストレージ25と、を備えることができる。
図2に示した実施形態では、クライアント装置10として、3台のクライアント装置10a~10cが示されている。クライアント装置10a~10cと、サーバ装置20と、ストレージ25とは、ネットワーク15を介して相互に通信可能に接続されている。
【0029】
動画は、サーバ装置20からクライアント装置10a~10cの各々に配信され得る。クライアント装置10aのユーザである第1視聴ユーザ、クライアント装置10bのユーザである第2視聴ユーザ、及びクライアント装置10cのユーザである第3視聴ユーザは、配信された動画を各クライアント装置により視聴することができる。動画配信システム1は、3台よりも少ない数のクライアント装置を備えていてもよく、3台よりも多い数のクライアント装置を備えていてもよい。クライアント装置10a~10c及びこれら以外のクライアント装置を利用してサーバ装置20から配信された動画を視聴するユーザを視聴ユーザと総称する。サーバ装置20から配信された動画を視聴するために、クライアント装置10a~クライアント装置10cに、当該動画を視聴するための機能を実現する命令セットを有するアプリケーションソフトウェアをダウンロード及びインストールしてもよい。このようなサーバ装置20から配信された動画を視聴する機能を有するアプリケーションソフトウェアを「視聴アプリケーションソフトウェア」又は「視聴アプリ」と呼ぶことがある。サーバ装置20から配信される動画の視聴は、視聴アプリの機能を実行することにより行われてもよい。一実施形態においては、サーバ装置20から配信される動画の視聴は、クライアント装置10a~クライアント装置10cのうち視聴アプリがインストールされたクライアント装置によって行われ、視聴アプリがインストールされていないクライアント装置からは実行できなくてもよい。サーバ装置20から配信される動画を視聴する視聴ユーザは、自らのキャラクタオブジェクトを当該動画に表示させることができる。言い換えると、視聴ユーザは、自らのキャラクタオブジェクトを介して、配信されている動画に参加することができる。このキャラクタオブジェクトの一例はアバタである。視聴ユーザは、配信されている動画に自らのアバタを表示させ、そのアバタを介して、動画の配信ユーザ(又は配信されている動画内のキャラクタ)や他の視聴ユーザと交流することができる。
【0030】
クライアント装置10a~10cは、スマートフォンなどの情報処理装置である。クライアント装置10a~10cは、スマートフォン以外に、携帯電話機、タブレット端末、パーソナルコンピュータ、電子書籍リーダー、ウェアラブルコンピュータ、ゲーム用コンソール、及びこれら以外の動画を再生可能な各種情報処理装置であってもよい。クライアント装置10a~10cの各々は、コンピュータプロセッサ、メモリ、通信I/F、ディスプレイ、ジャイロセンサ等の各種センサを備えるセンサユニット、マイク等の集音装置、及び各種情報を記憶するストレージを備えていてもよい。
【0031】
クライアント装置10a~10cのディスプレイは、表示パネルと、タッチパネルと、を有する。タッチパネルは、プレイヤのタッチ操作(接触操作)を検出することができるように構成されている。タッチパネルは、プレイヤのタップ、ダブルタップ、ドラッグ等の各種タッチ操作を検出することができる。タッチパネルは、静電容量式の近接センサを備え、プレイヤの非接触操作を検出可能に構成されてもよい。
【0032】
視聴ユーザは、クライアント装置10a~10cのタッチパネルを介して、配信された動画に関するメッセージ又はそれ以外のメッセージを入力することができる。このメッセージは、例えば、テキスト形式のメッセージ、静止画形式のメッセージ、動画形式のメッセージ、音声のメッセージ及びこれら以外の任意の形式の電子的なメッセージであってもよい。クライアント装置10a~10cの各々は、視聴ユーザによって入力されたメッセージをサーバ装置20に投稿(送信)するように構成され得る。
【0033】
図示の実施形態において、サーバ装置20は、コンピュータプロセッサ21と、通信I/F22と、ストレージ23と、を備えている。
【0034】
コンピュータプロセッサ21は、ストレージ23又はそれ以外のストレージからオペレーティングシステムや様々な機能を実現する様々なプログラムをメモリにロードし、ロードしたプログラムに含まれる命令を実行する演算装置である。コンピュータプロセッサ21は、例えば、CPU、MPU、DSP、GPU、これら以外の各種演算装置、又はこれらの組み合わせである。コンピュータプロセッサ21は、ASIC、PLD、FPGA、MCU等の集積回路により実現されてもよい。
図2においては、コンピュータプロセッサ21が単一の構成要素として図示されているが、コンピュータプロセッサ21は複数の物理的に別体のコンピュータプロセッサの集合であってもよい。本明細書において、コンピュータプロセッサ21によって実行されるとして説明されるプログラム又は当該プログラムに含まれる命令は、単一のコンピュータプロセッサで実行されてもよいし、複数のコンピュータプロセッサにより分散して実行されてもよい。また、コンピュータプロセッサ21によって実行されるプログラム又は当該プログラムに含まれる命令は、複数の仮想コンピュータプロセッサにより実行されてもよい。コンピュータプロセッサ21により実現される機能は後述する。
【0035】
通信I/F22は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。サーバ装置20は、通信I/F22を介して、他の装置とデータを送受信することができる。
【0036】
ストレージ23は、コンピュータプロセッサ21によりアクセスされる記憶装置である。ストレージ23は、例えば、磁気ディスク、光ディスク、半導体メモリ、又はデータを記憶可能な前記以外の各種記憶装置である。ストレージ23には、様々なプログラムが記憶され得る。ストレージ23に記憶され得るプログラム及び各種データの少なくとも一部は、サーバ装置20とは物理的に別体のストレージ(例えば、ストレージ25)に格納されてもよい。ストレージ23に格納されるデータの詳細については後述する。
【0037】
スタジオユニット30の構成要素の多くは、例えば、
図3に示されているスタジオルームRに配置されている。図示のように、スタジオルームRにおいては、アクターA1がパフォーマンスを行っている。スタジオユニット30は、アクターA1の動き及び表情を検出し、検出した情報をサーバ装置20に出力するように構成されている。
【0038】
アクターA1は、スタジオユニット30に備えられる後述のセンサ群によって動きや表情がキャプチャされる対象である。図示の実施形態において、アクターA1は、トーク、パフォーマンス、及びこれら以外の動画として配信される番組を進行するための行動を行う人間である。アクターA1は、人間以外に、動物またはこれ以外の運動する任意の物体(非生物)であってもよい。アクターA1は、例えば、自立運動可能なロボットであってもよい。スタジオルームR内のアクターの数は、1であってもよいし、3以上であってもよい。
【0039】
スタジオユニット30は、アクターA1に装着される6つのモーションセンサ31a~31fと、アクターA1の左手に把持されているコントローラ33aと、アクターA1の右手に把持されているコントローラ33bと、装着具37bを介してアクターA1の頭部に取り付けられるカメラ37aと、アクターA1の左腕に装着されている腕時計型のアクターデバイス91と、を有する。装着具37bには、音声データを取得するためのマイクが取り付けられてもよい。このマイクは、アクターA1の発話を音声データとして取得することができる。マイクは、装着具37bを介してアクターA1に装着される装着型のマイクであってもよく、スタジオルームRの床、壁、又は天井に設置される設置型のものであってもよい。スタジオユニット30は、上記の構成要素に加えて、ベースステーション35aと、ベースステーション35bと、デジタルカメラ36aと、ディスプレイ39と、を有する。スタジオルームRとガラス窓を隔てた隣室には、サポーターコンピュータ40が設置されている。サーバ装置20は、サポーターコンピュータ40が設置されている部屋と同じ部屋に設置されてもよい。
【0040】
モーションセンサ31a~31fは、ベースステーション35a及びベースステーション35bと協働して、自らの位置及び向きを検出する。一実施形態において、ベースステーション35a及びベースステーション35bは、多軸レーザーエミッターである。ベースステーション35aは、同期用の点滅光を発した後に、例えば鉛直軸の周りでレーザー光を走査する。ベースステーション35bは、例えば水平軸の周りでレーザー光を走査する。モーションセンサ31a~31fはそれぞれ、ベースステーション35a及びベースステーション35bからの点滅光及びレーザー光の入射を検知する光センサを複数備えてもよい。モーションセンサ31a~31fはそれぞれ、点滅光の入射タイミングとレーザー光の入射タイミングとの時間差、各光センサでの受光時間、各光センサが検知したレーザー光の入射角度、及び必要に応じてこれら以外の情報に基づいて、自らの位置及び向きを検出してもよい。モーションセンサ31a~31fは、例えば、HTC CORPORATIONから提供されているVive Trackerであってもよい。ベースステーション35a及びベースステーション35bは、例えば、HTC CORPORATIONから提供されているベースステーションであってもよい。
【0041】
モーションセンサ31a~31fの各々において算出された各モーションセンサの位置及び向きを示す検出情報は、サーバ装置20に送信される。この検出情報は、モーションセンサ31a~31fの各々からサーバ装置20に無線送信されてもよい。ベースステーション35a及びベースステーション35bは、一定のインターバルで点滅光の発光及びレーザー光の走査を行うので、各モーションセンサの検出情報は、当該インターバルごとに更新される。なお、ベースステーションは、3つ以上の複数であってもよい。ベースステーションの位置は適宜変更してもよい。例えば、
図3に示されているトラッキングセンサの検出対象の空間の上方の隅部に配されているベースステーションに加えて若しくは替えて、上方位置及び床面に近い下方位置に対をなすように配置されたベースステーションが設けられてもよい。例えば、ベースステーションは4つであってもよい。
【0042】
図示の実施形態において、アクターA1は、6つのモーションセンサ31a~31fを装着している。モーションセンサ31a,31b,31c,31d,31e,及び31fはそれぞれ、アクターA1の左手甲、右手甲、左足甲、右足甲、腰、及び頭頂に装着されている。モーションセンサ31a~31fは、装着具を介してアクターA1に装着されてもよい。
図2に示されているモーションセンサ31a~31fは例示である。モーションセンサ31a~31fは、アクターA1の様々な部位に装着され得る。アクターA1に装着されるモーションセンサの数は5以下であってもよいし7以上であってもよい。このように、アクターA1の体の各部に装着されたモーションセンサ31a~31fの位置及び向きを検出することにより、アクターA1の体の動きを検出することができる。アクターA1の体の動きは、光学モーションキャプチャシステムにより検出されてもよい。
【0043】
一実施形態においては、アクターA1に装着される複数のモーションセンサの各々に多数の赤外LEDを搭載し、この赤外LEDからの光を、スタジオルームRの床や壁に設けられた赤外線カメラで検知することで、当該モーションセンサの各々の位置及び向きを検出してもよい。赤外LEDに代えて可視光LEDを使用し、この可視光LEDからの光を可視光カメラで検出することで、当該モーションセンサの各々の位置及び向きを検出してもよい。このように、アクターに装着される複数のモーションセンサの各々に発光部(例えば、赤外LEDや可視光LED)を設け、この発光部からの光をスタジオルームR内に設けられた受光部(例えば、赤外線カメラや可視光カメラ)で検出することで、当該モーションセンサの各々の位置及び向きを検出してもよい。
【0044】
一実施形態においては、モーションセンサ31a~31fに代えて、複数の反射マーカーを用いることができる。反射マーカーは、アクターA1の各々に粘着テープなどにより貼付される。このように反射マーカーが貼付されたアクターA1を撮影して撮影データを生成し、この撮影データを画像処理することにより、反射マーカーの位置及び向きを検出することができる。一実施形態において、アクターA1に体の動きの検出は、慣性センサが内蔵されたスーツを用いて行われてもよい。アクターA1に着用された慣性センサ内蔵スーツの慣性センサから出力されるセンサ信号を解析することにより、アクターA1の動きを検出することができる。慣性センサが内蔵されたスーツとして、Xsens.com社が開発するMVNと呼ばれるモーションキャプチャシステムに対応した慣性センサ内蔵スーツを用いることができる。
【0045】
コントローラ33a及びコントローラ33bは、アクターA1の操作に応じたコントロール信号をサーバ装置20に出力する。
【0046】
デジタルカメラ36aは、アクターA1を撮像して撮像データを生成する。デジタルカメラ36aの位置、撮像方向、及び画角は、操作者の操作に応じて設定される。デジタルカメラ36aは、その位置、撮像方向、及び画角を示す撮像設定情報をサーバ装置20に送信する。同様に、デジタルカメラ36bの位置、撮像方向、及び画角は、操作者の操作に応じて設定される。図示の実施形態において、デジタルカメラ36aは、アクターA1の左前方に設けられている。
【0047】
カメラ37aは、上記のように、アクターA1の頭部に取り付けられている。例えば、カメラ37aは、アクターA1の顔を撮像できるように配置されている。カメラ37aは、アクターA1の顔を連続的に撮像し、アクターA1の顔の撮像データを取得する。カメラ37aは、アクターA1の顔の撮像データをサーバ装置20に送信する。カメラ37aは、人物の顔の奥行きを検出可能な3Dカメラであってもよい。カメラ37aは、例えば、Apple Incが提供するiPhone Xに備えられたLIDARデバイスであってもよい。iPhone Xは、例えば、アクターA1の頭部に装着されたヘッドギアに取り付けられる。カメラ37aは、アクターA1に装着されるのではなく、スタジオルームR内に設置されたカメラスタンドに設置される固定型のものであってもよい。
【0048】
ディスプレイ39は、サポーターコンピュータ40から受信した情報を表示するように構成される。サポーターコンピュータ40からディスプレイ39に送信される情報は、例えば、テキスト情報、画像情報、及びこれら以外の各種情報を含み得る。ディスプレイ39は、アクターA1によって視認可能な位置に配置される。
【0049】
アクターデバイス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や知覚ディスプレイデバイスは、視覚刺激を発生することができる。知覚ディスプレイデバイスは、電極から流れる電流によって皮膚下の神経軸索を駆動する電気触覚ディスプレイであってもよい。
【0050】
図示の実施形態において、サポーターコンピュータ40は、スタジオルームRの隣室に設置されている。サポーターコンピュータ40が設置されている部屋とスタジオルームRとはガラス窓によって隔てられているため、サポーターコンピュータ40のオペレータ(本明細書では「サポーター」ということがある。)は、アクターA1を視認できる。図示の実施形態においては、サポーターコンピュータ40のオペレータとして、サポーターB1及びサポーターB2が在室している。
【0051】
サポーターコンピュータ40は、サポーターB1及びサポーターB2の操作に応じて、スタジオユニット30の構成要素の設定を変更することができるように構成されてもよい。サポーターコンピュータ40は、例えば、ベースステーション35a及びベースステーション35bによる走査インターバルの設定、デジタルカメラ36a及びトラッキングセンサ36bの位置または向きの設定、及びこれら以外の各種機器の各種設定の変更を行うことができる。後述するアクティブセンサの切り替えは、サポーターB1及びサポーターB2によるサポーターコンピュータ40の操作に基づいて実行され得る。サポーターB1及びサポーターB2の少なくとも一方は、サポーターコンピュータ40にメッセージを入力し、当該入力されたメッセージをディスプレイ39に表示することができる。
【0052】
図3に示されているスタジオユニット30の構成要素及び機能は例示である。本発明に適用可能なスタジオユニット30は、図示されていない様々な構成要素を備え得る。スタジオユニット30は、プロジェクタを備えていてもよい。当該プロジェクタは、クライアント装置10aまたはそれ以外のクライアント装置に配信される動画をスクリーンSに投影することができる。
【0053】
他方、配信される動画を生成するための撮影は、より簡易な設備によって実行されてもよい。例えば、スマートフォンなどの情報処理端末によりアクターの顔の動きのデジタル表現であるフェイスモーションデータを生成し、当該フェイスモーションデータに基づいて、アクターの表情の動きに同期してその表情が動くがボディは動かないキャラクタオブジェクトのアニメーションを生成してもよい。このようなフェイスモーションデータの生成は、クライアント装置10a~クライアント装置10cにより行われてもよい。フェイスモーションデータの生成を行うために、クライアント装置10a~クライアント装置10cに、フェイスモーションデータを生成するための機能を実現する命令セットを有するアプリケーションソフトウェアをダウンロード及びインストールしてもよい。このようなフェイスモーションデータの生成を行う機能を有するアプリケーションソフトウェアを「配信アプリケーションソフトウェア」又は「配信アプリ」と呼ぶことがある。配信アプリと既述の視聴アプリとは別個のアプリケーションソフトウェアであってもよいし、単一のアプリケーションソフトウェアが配信アプリの機能及び記述の視聴アプリの機能を両方とも備えてもよい。このフェイスモーションデータは、アクターの頭部の姿勢のトラッキングデータ、当該アクターの顔の特徴点のデジタル表現であるフィーチャーポイント、及びその変形率を表現したブレンドフェイスデータを含むことができる。スマートフォンなどの情報処理端末は、フェイスモーションデータに基づいて、アクターの表情を誇張して示す画像を作成し、当該画像をキャラクタオブジェクトの顔に重畳表示してもよい。フェイスモーションデータに基づいてキャラクタオブジェクトのアニメーションを生成する場合、アクターの体の動きを検出するためのモーションセンサ31a,31b,31c,31d,31e,及び31f、ベースステーション35a,35b、及びデジタルカメラ36aが不要となるため、より簡易な設備でキャラクタオブジェクトのアニメーションを生成することができる。モーションセンサ31a,31b,31c,31d,31e,及び31f、ベースステーション35a,35b、及びデジタルカメラ36aが不要であれば、スタジオルームR以外の場所、例えばアクターの自宅でもキャラクタオブジェクトの生成を行うことができるので利便性が高まる。
【0054】
次に、一態様において、ストレージ23に記憶される情報について説明する。図示の実施形態においては、ストレージ23には、モデルデータ23a、オブジェクトデータ23b、ユーザデータ23c、アバタデータ23d、及び前記以外の配信動画の生成及び配信に必要な様々な情報が記憶される。
【0055】
モデルデータ23aは、キャラクタのアニメーションを生成するためのモデルデータである。モデルデータ23aは、3次元のアニメーションを生成するための3次元モデルデータであってもよいし、2次元のモデルデータを生成するための2次元モデルデータであってもよい。モデルデータ23aは、例えば、キャラクタの骨格を示すリグデータ(「スケルトンデータ」と呼ばれることもある。)と、キャラクタの表面の形状や質感を示す表面データと、を含む。モデルデータ23aには、互いに異なる複数のモデルデータを含むことができる。この複数のモデルデータは、互いに異なるリグデータを有していてもよいし、同じリグデータを有していてもよい。この複数のモデルデータは、互いと異なる表面データを有していてもよいし、同じ表面データを有していてもよい。
【0056】
オブジェクトデータ23bは、動画を構成する仮想空間を構築するためのアセットデータを含む。オブジェクトデータ23bは、動画を構成する仮想空間の背景を描画するためのデータ、動画に表示される各種物体を描画するためのデータ、及びこれら以外の動画に表示される各種オブジェクトを描画するためのデータが含まれる。オブジェクトデータ23bには、仮想空間におけるオブジェクトの位置を示すオブジェクト位置情報を含んでもよい。
【0057】
オブジェクトデータ23bには、上記以外にも、クライアント装置10a~10cの視聴ユーザからの表示要求に基づいて動画に表示されるギフトオブジェクトが含まれ得る。ギフトオブジェクトには、エフェクトオブジェクトと、通常オブジェクトと、装飾オブジェクトと、が含まれ得る。視聴ユーザは、所望のギフトオブジェクトを購入することができる。
【0058】
エフェクトオブジェクトは、配信動画の視聴画面全体の印象に影響を与えるオブジェクトであり、例えば紙吹雪を模したオブジェクトである。紙吹雪を模したオブジェクトは、視聴画面全体に表示されてもよく、これにより表示の前後における視聴画面全体の印象を変えることができる。エフェクトオブジェクトは、キャラクタオブジェクトと重複するように表示されることもあるが、キャラクタオブジェクトの特定の部位と関連付けられた表示はなされない点で装飾オブジェクトと異なっている。
【0059】
通常オブジェクトは、視聴ユーザからアクター(例えば、アクターA1)又は動画内のキャラクタへのデジタル的なギフトとなるオブジェクトであり、例えばぬいぐるみや花束を模したオブジェクトである。一態様において、通常オブジェクトは、キャラクタオブジェクトと接しないように動画の画面に表示される。一態様において、通常オブジェクトは、キャラクタオブジェクトと重複しないように動画の画面に表示される。通常オブジェクトは、仮想空間においてキャラクタオブジェクト以外のオブジェクトと重複するように表示されてもよい。通常オブジェクトは、キャラクタオブジェクトと重複するように表示されることもあるが、キャラクタオブジェクトの特定の部位と関連付けられた表示はなされない点で装飾オブジェクトと異なっている。一態様において、通常オブジェクトをキャラクタオブジェクトと重複して表示させる場合には、当該通常オブジェクトは、当該キャラクタオブジェクトの顔を含む頭部以外の部分と重複し、当該キャラクタオブジェクトの頭部とは重複しないように表示される。
【0060】
装飾オブジェクトは、キャラクタオブジェクトの特定の部位と関連付けて画面に表示されるオブジェクトである。一態様において、キャラクタオブジェクトの特定の部位と関連付けて画面に表示される装飾オブジェクトは、当該キャラクタオブジェクトの当該特定の部位に接するように画面に表示される。一態様において、キャラクタオブジェクトの特定の部位と関連付けて画面に表示される装飾オブジェクトは、当該キャラクタオブジェクトの当該特定の部位の一部又は全部を覆うように画面に表示される。
【0061】
装飾オブジェクトは、例えば、キャラクタオブジェクトに装着されるアクセサリ(カチューシャ、ネックレス、イヤリングなど)、衣服(Tシャツなど)、コスチューム、及びこれら以外のキャラクラオブジェクトが装着可能なオブジェクトである。装飾オブジェクトに対応するオブジェクトデータ23bには、当該装飾オブジェクトがキャラクタオブジェクトのどの部位に関連付けられるかを示す装着位置情報が含まれてもよい。ある装飾オブジェクトの装着位置情報は、当該装飾オブジェクトがキャラクタオブジェクトのどの部位に装着されるかを示すことができる。例えば、装飾オブジェクトがカチューシャである場合には、当該装飾オブジェクトの装着位置情報は、当該装飾オブジェクトがキャラクタオブジェクトの「頭部」に装着されることを示してもよい。装飾オブジェクトがTシャツである場合には、当該装飾オブジェクトの装着位置情報は、当該装飾オブジェクトがキャラクタオブジェクトの「胴部」に装着されることを示してもよい。
【0062】
ギフトオブジェクトの各々には、その種類に応じた表示時間が設定されていてもよい。一態様において、装飾オブジェクトの表示時間は、エフェクトオブジェクトの表示時間及び通常オブジェクトの表示時間よりも長く設定されていてもよい。例えば、装飾オブジェクトの表示時間は60秒間に設定され、エフェクトオブジェクトの表示時間は5秒間に設定され、通常オブジェクトの表示時間は10秒間に設定されてもよい。
【0063】
オブジェクトデータ23bには、動画配信システム1のユーザが保有しているギフトオブジェクトを示すリストが含まれてもよい。保有リストにおいては、ユーザのアカウント情報と対応づけて、当該視聴ユーザが保有するギフトオブジェクトを特定するオブジェクトIDが記憶されてもよい。ユーザのアカウント情報は、例えば、ユーザを識別するユーザIDである。このユーザには、例えば、クライアント装置10a~クライアント装置10cの第1視聴ユーザ~第3視聴ユーザが含まれてもよい。
【0064】
図4に示すように、ユーザデータ23cは、動画配信システム1の各ユーザ(例えば、視聴ユーザ)のアカウント情報と、各ユーザが利用するアバタに関するアバタ情報と、を含むことができる。言い換えると、ストレージ23には、動画配信システム1の各ユーザのアカウント情報と対応付けて、各ユーザが利用するアバタに関するアバタ情報、及びこれら以外のユーザに関する情報が記憶され得る。あるユーザのアカウント情報は、例えば、当該ユーザを識別するユーザIDである。ユーザのユーザIDは、当該ユーザがクライアント装置10a~クライアント装置10cを利用してサーバ装置20から提供される動画サービスへの利用登録を行うときに発行されてもよい。視聴アプリを利用してサーバ装置20のサービスを利用する場合と配信アプリを利用してサーバ装置20のサービスを利用する場合とで共通のユーザIDが用いられてもよいし、視聴アプリを利用してサーバ装置20のサービスを利用する場合と配信アプリを利用してサーバ装置20のサービスを利用する場合とで別個のユーザIDが用いられてもよい。視聴アプリを利用してサーバ装置20のサービスを利用する場合と配信アプリを利用してサーバ装置20のサービスを利用する場合とで別個のユーザIDが用いられる場合には、同一のユーザの視聴アプリを利用するためのユーザID(視聴用ユーザID)と配信アプリを利用するためのユーザID(配信用ユーザID)とは互いに対応付けられて記憶されてもよい。視聴アプリを利用して受けることができるサーバ装置20のサービスは、例えば、サーバ装置20から配信される動画の視聴サービスである。配信アプリを利用して受けることができるサーバ装置20のサービスは、例えば、自らのキャラクタオブジェクトを含む動画の配信を行うサービスである。
【0065】
あるユーザのアバタ情報は、例えば、当該ユーザが動画配信システム1内で利用するアバタを識別するアバタIDである。アバタIDは、ユーザがアバタの登録を行うことにより当該ユーザに割り当てられる。アバタの登録は、アバタを構成する頭部、ヘアスタイル、服、アクセサリ、及びこれら以外のパーツをユーザが選択することにより行われる。アバタの登録は、配信アプリがインストールされたクライアント装置10a~10cによって行われてもよい。つまり、アバタの登録は、配信アプリの機能を実行することにより行われてもよい。一実施形態においては、アバタの登録は、クライアント装置10a~クライアント装置10cのうち配信アプリがインストールされたクライアント装置によって行われ、配信アプリがインストールされていないクライアント装置からは実行できなくてもよい。アバタの登録は、配信アプリケーションとは別のアバタを作成、編集、及び/又は登録する機能を有するアプリケーションソフトウェア(以下、「アバタ作成アプリ」と呼ぶことがある。)によって行われてもよい。配信アプリ及び/又はアバタ作成アプリによってアバタの登録を行う場合にも、
図3を参照して説明したように、当該アバタを識別するアバタIDを割り当て、当該アバタIDをユーザのユーザIDと対応付けてユーザ情報として管理してもよい。ユーザは、アバタを登録した後に、当該アバタを変更することができる。例えば、アバタの登録後に、当該アバタのパーツの一部又は全部を変更することができる。例えば、登録後であっても、アバタのヘアスタイル、所持アイテム、及びこれら以外のアバタを構成するパーツを変更することができる。
【0066】
一態様において、あるユーザのユーザIDと対応付けて、当該ユーザの視聴履歴を示す視聴履歴データ、当該ユーザに対する他のユーザからの評価を示す評価データ、及びこれら以外のサーバ装置20から配信される動画に関連するデータが含まれてもよい。
【0067】
図5に示すように、アバタデータ23dは、動画配信システム1でユーザによって利用されるアバタのアタバ識別情報と、当該アバタを動画内に表示するためのアバタ表示情報と、を含むことができる。言い換えると、ストレージ23には、アバタのアタバ識別情報と対応付けて、当該アバタを表示するためのアバタ表示情報が記憶され得る。アタバ識別情報は、例えば、アバタを識別するアバタIDである。アバタは、例えば、人間や動物を模した画像として動画内に表示される。アバタ表示情報は、アバタを動画内に表示するために用いられる情報である。アバタ情報には、例えば、頭部、ヘアスタイル、顔のパーツ(目、鼻、口など)、胴部、服、アクセサリ、アイテム、及びこれら以外のアバタを構成するパーツの画像を示すパーツ情報が含まれる。ユーザは、好みのパーツ画像を選択することで自らのアバタを登録することができる。アバタ表示情報には、動画にアバタを2D表示するための2D表示情報と、動画にアバタを3D表示するための3D表示情報とが含まれてもよい。3D表示情報には、アバタを動画内で立体的に表示するためのパーツの画像を示すパーツ情報、アバタの3次元での動きを表現するためのリグデータ、及びこれら以外のアバタを立体的に表示するために用いられている公知の情報を含む。
【0068】
次に、コンピュータプロセッサ21により実現される機能についてより具体的に説明する。コンピュータプロセッサ21は、配信プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより、動画生成部21a、動画配信部21b、参加要求処理部21c、アバタ表示部21d、アバタ制御部21e、及び共演要求処理部21fとして機能する。コンピュータプロセッサ21により実現される機能の少なくとも一部は、動画配信システム1のコンピュータプロセッサ21以外のコンピュータプロセッサにより実現されてもよい。コンピュータプロセッサ21により実現される機能の少なくとも一部は、例えば、サポーターコンピュータ40に搭載されているコンピュータプロセッサ又はそれ以外の不図示のコンピュータプロセッサにより実現されてもよい。
【0069】
動画生成部21aは、仮想空間を構築し、仮想カメラの設定情報に基づいて定められる仮想空間の描画領域を描画するための動画情報(3次元動画データ)を生成する。仮想カメラの設定情報は、例えば、仮想空間内での仮想カメラの位置、注視位置、注視方向、及び画角を含んでもよい。動画情報は、オブジェクトデータ23b及び必要に応じてそれ以外のデータに基づいて生成され得る。動画生成部21aは、この3次元動画データをレンダリングして複数の動画フレームを生成する。この動画フレームは、所定のフレームレートで生成される。動画生成部21aにより構築される仮想空間は、例えば、その中心位置の周りを覆う全天球形状の3次元空間として定義される。仮想空間における位置は、当該仮想空間内に設定される三次元のグローバル座標系における座標値で指定され得る。
【0070】
動画生成部21aにおいて生成される動画情報には、仮想空間の描画領域におけるアクターA1のキャラクタオブジェクトに関する情報が含まれてもよい。動画情報は、アクターA1の動きをリアルタイムに反映するように生成されてもよい。アクターA1のキャラクタオブジェクトに関する情報には、アクターA1の体の各部位のボディモーションデータ及びアクターA1の顔の動きのデジタル表現であるフェイスモーションデータを含んでもよい。ボディモーションデータは、例えば、モーションセンサ31a~31fの各々の検出情報に基づいて生成される。ボディモーションデータは、時間の経過に伴って随時生成される。ボディモーションデータは、所定のサンプリング時間間隔ごとに生成されてもよい。このように、ボディモーションデータは、アクターA1の体の動きを時系列的にデジタルデータとして表現することができる。図示の実施形態においては、モーションセンサ31a~31fは、アクターA1の各々の左右の手足、腰、及び頭部に装着されているため、モーションセンサ31a~31fの検出情報に基づいて、アクターA1の概ね全身の位置及び向きを経時的にデジタル表現することが可能である。ボディモーションデータは、例えば、モデルデータ23aに含まれるリグデータを構成する骨(ボーン)の位置及び回転角度を規定することができる。フェイスモーションデータは、例えば、カメラ37aの撮像データに基づいて生成される。フェイスモーションデータは、時間の経過に伴って随時生成される。例えば、フェイスモーションデータは、所定のサンプリング時間間隔ごとに生成されてもよい。このように、フェイスモーションデータは、アクターA1の顔の動き(表情の変化)を時系列的にデジタル表現することができる。ボディモーションデータ及びフェイスモーションデータをモデルデータ23aに含まれる所定のモデルデータに適用することにより、仮想空間内で動き、また、表情が変化するキャラクタオブジェクトのアニメーションが生成されてもよい。このようにして、動画情報には、アクターA1に関するボディモーションデータ及びフェイスモーションデータに基づいて、アクターA1の体及び表情の動きに同期して動くキャラクタオブジェクトのアニメーションを表す情報が含められ得る。動画生成部21aは、以上のようにして得られる動画情報に基づいて、アクターA1の体及び表情の動きに同期して動くキャラクタオブジェクトのアニメーションを表す動画フレームのシーケンスを生成することができる。動画生成部21aは、生成した動画に、スタジオユニット30のマイクから取得したアクターA1の音声を合成してもよい。
【0071】
動画生成部21aは、動画の配信前に、当該動画に参加する可能性のあるアバタについて、当該アバタの表示に必要なアバタ表示情報をロードすることができる。動画生成部21aは、アバタ表示情報のうち、ロードに時間がかかりまたロードのための処理負荷が大きい3D表示情報をロードすることができる。このロードされたアバタ表示情報は、ユーザからの参加要求に基づいてアバタを動画に表示させる場合に参照され得る。アタバを動画中に表示させる場合におけるロードされたアバタ表示情報の利用に関しては後述する。
【0072】
動画配信部21bは、動画生成部21aにおいて生成された動画フレームのシーケンスを配信する。動画フレームは、動画配信部21bによってMPEG-4等の所定の符号化方式で圧縮符号化されてもよく、この圧縮符号化された動画フレームが配信されてもよい。本明細書では、動画の配信というときには、上記のようにして生成された動画フレームのシーケンスの配信を意味してもよい。
【0073】
配信された動画は、ネットワーク15を介してクライアント装置10a~クライアント装置10cにより受信され、クライアント装置10a~クライアント装置10cにおいて再生される。この動画は、スタジオルームR内に設置されているクライアント装置(不図示)に配信され、このクライアント装置から短焦点プロジェクタを介してスクリーンSに投影されてもよい。また、この動画は、サポーターコンピュータ40に配信されてもよい。これにより、サポーターB1及びサポーターB2は、配信されている動画の視聴画面を確認することができる。
【0074】
動画配信部21bから配信される動画の生成及び/又は配信に関与しているユーザを配信ユーザと呼ぶことがある。上記の例では、サーバ装置20から配信される動画は、アクターA1のボディモーションデータ及びフェイスモーションデータに基づいて生成されるキャラクタオブジェクトを含んでおり、必要に応じてサポーターB1及びサポーターB2の協力を得て配信されている。このため、アクターA1だけでなく、アクターA1、サポーターB1、及びサポーターB2を集合的に「配信ユーザ」としてもよい。
【0075】
動画生成部21aによって生成され動画配信部21bによって配信される動画の表示例を
図7a及び
図7bに示す。
図7a及び
図7bは、動画配信部21bによって配信され、クライアント装置10a~10cにて再生される動画の表示例を示している。以下、
図7a及び
図7bの画像は、第1視聴ユーザが利用するクライアント装置10aに表示されていると想定して説明を行う。
図7aに示されている画像は、クライアント装置10aにおいて視聴アプリを実行してサーバ装置20から配信された動画を再生することにより、クライアント装置10aのディスプレイに表示されてもよい。
【0076】
図示のように、画像60aは、キャラクタオブジェクト51と、キャラクタオブジェクト51が立つフロアオブジェクト54aと、ステージの後端を画定するスクリーンオブジェクト54bと、を含んでいる。また、画像60aは、視聴ユーザからのコメントやシステム通知が表示される表示オブジェクト65を含む。キャラクタオブジェクト51は、アクターA1の体及び表情の動きに同期して動画内で動くように描写される。一実施形態においては、キャラクタオブジェクト51、フロアオブジェクト54a、及びスクリーンオブジェクト54bは、動画フレームに含まれているオブジェクトであり、表示オブジェクト65は動画フレームには含まれていないオブジェクトであってもよい。表示オブジェクト65は、クライアント装置10で実行される視聴アプリの機能により、サーバ装置20から送信された動画フレームに含まれるデータに基づかずに生成されたオブジェクトであってもよい。
【0077】
画像60aには、仮想空間50内に配置された各オブジェクトに加え、ユーザの操作を受け付けるための操作ボタンが表示されてもよい。
図7aに示されている例では、画像60aに、ギフティングを行うためのギフトボタン61と、評価を提供するための評価ボタン62と、アバタを参加させるための参加要求ボタン63と、が含まれている。画像60aには、これら以外の操作ボタンが表示されてもよい。これらの操作ボタンは、クライアント装置10で実行される視聴アプリの機能により、サーバ装置20から送信された動画フレームに含まれるデータに基づかずに生成されたオブジェクトであってもよい。
【0078】
ギフトボタン61は、画像60aが表示されているクライアント装置10aへの操作によって選択可能に画像60aに表示されている。ギフトボタン61は、例えば、クライアント装置10aのタッチパネルのうちギフトボタン61が表示されている領域へのタップ操作により選択され得る。一実施形態において、ギフトボタン61が選択されると、画像60aに、視聴中の動画を配信している配信者に贈る(ギフティングする)ギフトを選択するためのウィンドウが表示される。クライアント装置10aのユーザは、当該ウィンドウに表示されているギフトの中からギフティング対象とするギフトを購入・選択することができる。他の実施形態においては、ギフトボタン61が選択されたことに応じて、画像60aに、購入済みのギフトの一覧及び/又は選択可能なギフトの一覧を含むウィンドウが表示される。この場合、動画を視聴しているユーザは、当該ウィンドウに表示されているギフトの中からギフティング対象とするギフトを選択することができる。一実施形態においては、クライアント装置10におけるギフトボタン61の選択に応じて、ギフティング要求がサーバ装置60に送信されてもよい。このギフティング要求には、ギフティングするギフトに対応するギフトオブジェクトを特定するギフト識別情報(ギフトID)が含まれてもよい。このように、動画を視聴している視聴ユーザは、ギフトボタン61の選択により、当該動画を配信している配信ユーザに対して所望のギフトを贈ることができる。
【0079】
サーバ装置20は、ユーザのクライアント装置10aからギフティング要求を受け付け、当該要求に応じた処理を行う。上記のとおり、動画を視聴しているユーザは、自らのクライアント装置を操作することにより、ギフティング要求をサーバ装置20に送信することができる。一態様において、サーバ装置20は、ギフティング要求を受け付けると、当該ギフティング要求に基づいて、ギフト対象のギフトオブジェクトを特定し、特定されたギフトオブジェクトに応じた表示処理を行う。上述のように、ギフトオブジェクトには、エフェクトオブジェクトと、通常オブジェクトと、装飾オブジェクトと、が含まれ得る。ギフティング要求によって特定されるギフトオブジェクトがエフェクトオブジェクトの場合には、サーバ装置20は、当該エフェクトオブジェクトを動画フレームに含めるための処理を行う。例えば、紙吹雪に対応するエフェクトオブジェクトについてギフティング要求がなされた場合には、サーバ装置20は、当該ギフティング要求に基づいて紙吹雪を示すエフェクトオブジェクトを動画フレームに含める。これにより、画像60aにおいて紙吹雪が描写される。一態様において、サーバ装置20は、特定の通常オブジェクトについてのギフティング要求を受け付けると、当該ギフティング要求によって特定される通常オブジェクトを動画フレームに含めるための処理を行う。例えば、熊のぬいぐるみを示す通常オブジェクトについてギフティング要求がなされた場合には、サーバ装置20は、当該熊のぬいぐるみを示す通常オブジェクトを動画フレームに含める。これにより、画像60aにおいて熊のぬいぐるみが描写される。
【0080】
一態様において、サーバ装置20は、視聴ユーザから特定の装飾オブジェクトについてのギフティング要求を受け付けると、当該ギフティング要求によって特定される装飾オブジェクトを候補リストに追加する。この候補リストは、例えば、サポーターコンピュータ40のディスプレイに表示される。サポーターB1及びサポーターB2は、サポーターコンピュータ40のディスプレイに表示された候補リストの中から、動画に表示する装飾オブジェクトを選択することができる。サーバ装置20は、選択された装飾オブジェクトを動画フレームに含める。これにより、画像60aにおいて当該装飾オブジェクトが描写される。選択された装飾オブジェクトは、キャラクタオブジェクト51の特定の部位と関連付けて画像60aに表示される。例えば、装飾オブジェクトがカチューシャを示すオブジェクトである場合、当該装飾オブジェクトは、キャラクタオブジェクト51の頭部に装着されてもよい。装飾オブジェクトは、キャラクタオブジェクトの当該特定部位の動きに付随して動くように、画像60aに表示されてもよい。例えば、カチューシャを装着したキャラクタオブジェクト51の頭部が動くと、あたかもカチューシャがキャラクタオブジェクト51の頭部に装着されているかのごとく、カチューシャを示す選択装飾オブジェクトもキャラクタオブジェクト51の頭部に付随して動く。
【0081】
評価ボタン62は、クライアント装置10aを使用するユーザによって選択可能に画像60aに表示されている。評価ボタン62は、例えば、クライアント装置10aのタッチパネルのうち評価ボタン62が表示されている領域へのタップ操作により選択され得る。動画を視聴中のユーザによって評価ボタン62が選択されると、当該動画を配信する配信ユーザ(例えば、アクターA1)への肯定的な評価又は配信されている動画への肯定的な評価がなされたことを示す評価更新情報がサーバ装置60に送信されてもよい。評価ボタン62の選択により、当該動画への否定的な評価がなされたことを示す評価情報がサーバ装置60に送信されてもよい。
【0082】
参加要求ボタン63は、クライアント装置10aを使用する視聴ユーザによって選択可能に画像60aに表示されている。参加要求ボタン63は、例えば、クライアント装置10aのタッチパネルのうち参加要求ボタン63が表示されている領域へのタップ操作により選択され得る。動画を視聴中の視聴ユーザによって参加要求ボタン63が選択されると、当該視聴ユーザのアバタを当該動画に参加させることを要求する参加要求がサーバ装置20に送信される。参加要求ボタン63の選択により参加要求を送信したユーザを「参加要求ユーザ」と呼ぶことがある。参加要求ユーザからの参加要求には、当該参加要求ユーザのユーザIDと、当該参加要求ユーザのアバタのアバタIDと、が含まれてもよい。自らのアバタを登録していない視聴ユーザによって参加要求ボタン63が選択された場合には、クライアント装置10aにアバタの登録を促す画面が表示されてもよい。この場合、視聴ユーザは、当該画面のガイダンスに従ってアバタを登録することができる。参加要求ボタン63は、全ての視聴ユーザのクライアント装置10において表示されてもよい。
【0083】
参加要求処理部21cは、参加要求ユーザのクライアント装置10aから視聴中の動画への参加要求を受け付け、当該参加要求に基づいて当該参加要求ユーザのアバタの表示可否について判定を行う。参加要求がなされた動画について参加できるアバタの上限数が設定されることがある。この場合、参加要求処理部21cは、当該上限数以下となるように、参加要求に基づいて参加可否を決定することができる。参加要求処理部21cは、例えば、動画が配信される前の受付期間に参加要求を受け付け、この参加要求を行った複数の参加要求ユーザの中から上限数以下のユーザについて当該動画への参加を許可することができる。つまり、参加要求処理部21cは、参加要求を行った複数の視聴ユーザ(参加要求ユーザ)の中から上限数以下の複数の参加ユーザを選定することができる。参加要求処理部21cは、参加要求ユーザの数が上限数を上回る場合には、所定のアルゴリズムに従って複数の参加要求ユーザの中から参加が許可される上限数以下のユーザを選択してもよい。参加要求処理部21cは、例えば、先着順で、又は、ランダムに参加が許可されるユーザを選択することができる。参加要求処理部21cは、ユーザデータ23cとして記憶されている視聴履歴データ、評価データ、及びこれら以外のデータに基づいて参加要求ユーザの参加可否を決定してもよい。例えば、視聴履歴データに基づいて、視聴時間が長い参加要求ユーザほど参加が許可されやすくなるようにしてもよい。視聴履歴データに基づいて、視聴回数が多い参加要求ユーザほど参加が許可されやすくなるようにしてもよい。本明細書においては、参加要求処理部21cによって動画への参加が許可された視聴ユーザを「参加ユーザ」と呼ぶことがある。
【0084】
一実施形態において、参加要求処理部21cは、視聴ユーザからの参加要求に基づいて当該視聴ユーザの参加可否を決定した後、参加要求を行った視聴ユーザ全員に対して当該動画への参加が許可されたか否かを示す通知を送信しないように構成されてもよい。参加要求処理部21cは、動画への参加が許可された参加ユーザのクライアント装置10に対して、後述する共演機能をアクティベートするためのコマンドを送信してもよい。一実施形態において、参加要求処理部21cは、視聴ユーザからの参加要求に基づいて当該視聴ユーザの参加可否を決定した後、当該動画への参加が許可された参加ユーザのクライアント装置10に対して上記のコマンドを送信する一方、当該動画への参加が許可された参加ユーザのクライアント装置10に対しては動画への参加可否についての決定を示す通知及び上記のコマンドのいずれも送信しないように構成される。
【0085】
アバタ表示部21dは、参加要求ユーザの動画への参加が許可された場合、参加が許可された参加ユーザのアバタを当該動画に含めるための処理を行う。アバタ表示部21dは、例えば、第1視聴ユーザのアバタを動画に含める場合には、ユーザデータ23cを参照して当該第1視聴ユーザのユーザIDに関連付けられているアバタIDを特定し、次に、アバタデータ23dを参照して当該アバタIDに関連付けられているパーツ情報を特定する。アバタ表示部21dは、特定されたパーツ情報に基づいて第1視聴ユーザのアバタを表すアバタオブジェクトを構築する。また、アバタ表示部21dは、仮想空間における当該アバタオブジェクトの表示位置を決定する。動画生成部21aは、アバタ表示部21dにより構築されたアバタオブジェクトが仮想空間内の決定された位置に配置されるように動画情報を生成し、この動画情報に基づいて動画フレームを生成する。このようにして生成された参加ユーザのアバタオブジェクトを含む動画フレームが動画配信部21bによってクライアント装置10に送信される。
【0086】
クライアント装置10は、参加ユーザのアバタオブジェクトを含む動画フレームを再生することができる。
図7bに、参加ユーザのアバタオブジェクトを含む動画の表示例を示す。
図7bに示されているように、画像60bは、参加ユーザのアバタオブジェクトであるアバタ56a~56c及びアバタ57a~57gを含んでいる。以下の説明においては、画像60bに含まれている複数のアバタオブジェクトのうち、アバタ56aが第1視聴ユーザのアバタ(アバタオブジェクト)であると想定する。
図7bに示されている画像60bの描画のために用いられている仮想カメラは、
図7aの画像の描画に用いられた仮想カメラよりもキャラクタオブジェクト51から離れた位置においてキャラクタオブジェクト51の方向を向くように配置されている。このため、画像60bにおいては、画像60aよりも、キャラクタオブジェクト51を含む仮想空間のより広い範囲が描画されている。
【0087】
図7bに示されているように、画像60bに重畳させてエモーションボタン68が表示されてもよい。エモーションボタン68は、視聴ユーザが動画視聴時の感情を表現するためのボタンである。エモーションボタン68は、サーバ装置20から配信された動画フレームに、重畳して表示されてもよい。つまり、エモーションボタン68は、仮想空間に配置されたオブジェクトではなくともよい。視聴ユーザは、このエモーションボタン68を選択することにより、当該動画に感動したこと、当該動画に共感できなかったこと、及びこれら以外の視聴ユーザの感情を選択することができる。エモーションボタン68には、動画に感動したという感情を選択するための拍手ボタン、動画に共感できなかったことを示すための疑問符ボタン、動画に驚いたことを示すための驚きボタン、及びこれら以外のボタンを含むことができる。エモーションボタン68の各々には、当該エモーションボタン68によって選択される感情を表現する記号又はグラフィックスの表示が含まれていてもよい。例えば、拍手ボタンには拍手している手を表すグラフィックスの表示が含まれていてもよく、疑問符ボタンにはクエスチョンマークの表示が含まれていてもよく、驚きボタンにはエクスクラメーションマークの表示が含まれていてもよい。エモーションボタン68は、例えば、クライアント装置10aのタッチパネルのうちエモーションボタン68が表示されている領域へのタップ操作により選択され得る。動画を視聴中の第1視聴ユーザによってエモーションボタン68が選択されると、エモーション表示要求がサーバ装置20に送信される。エモーション表示要求には、エモーションボタン68のうち第1視聴ユーザが選択したボタンの種類(拍手ボタン、疑問符ボタン、及び驚きボタンなど)を示すエモーション識別情報が含まれていてもよい。エモーションボタン68を選択することにより、エモーションボタン68に対応付けられた複数のボタン(拍手ボタン、驚きボタンなど)をポップアップ表示させてもよい。エモーションボタン68に対応付けられた複数のボタンがポップアップ表示される場合、ユーザは、ポップアップ表示された複数のボタンの中から自らの感情にマッチしたボタンを選択することができる。エモーションボタン68は、ユーザのアバタが動画に参加している場合に表示され、当該ユーザのアバタが動画に参加していない場合には表示されなくともよい。
【0088】
アバタ制御部21eは、第1視聴ユーザからのエモーション表示要求を受け付け、当該エモーション表示要求に基づいて、第1視聴ユーザのアバタの仮想空間内での動きを制御してもよい。例えば、第1視聴ユーザがエモーションボタンの一種である拍手ボタンを選択したことによりエモーション表示要求が送信された場合には、アバタ制御部21eは、当該エモーション表示要求に基づいて、第1視聴ユーザのアバタ56aに対して拍手を行う動作を行わせることができる。このエモーション表示要求に基づいてアバタ56aに拍手を行わせる制御が行われるときに、当該アバタ56aが描画領域に含まれている場合には、アバタ56aが拍手しているアニメーションが動画内で表現されてもよい。逆に、アバタ56aが描画領域に含まれていない場合には、アバタ56aが拍手している音を動画において表現する一方で拍手するアニメーションは表示されなくともよい。一実施形態においては、エモーションボタン68は、ユーザのアバタが動画内に表示されている場合にのみ、当該ユーザが視聴中の動画に表示されてもよい。例えば、第1視聴ユーザのクライアント装置10aに
図7aに示されている画像60aが表示されている場合には、当該第1視聴ユーザのアバタ56aは画像60a内に表示されていないため、この画像60bにはエモーションボタン68が含まれなくともよい。これとは逆に、第1視聴ユーザのクライアント装置10aに
図7bに示されている画像60bが含まれている場合には、当該第1視聴ユーザのアバタ56aが画像60b内に含まれているため、この画像60bにエモーションボタン68が含まれてもよい。
【0089】
このように、ユーザからのエモーション表示要求に基づいて、当該ユーザのアバタが動画内で拍手などの動きを行う。エモーション表示要求は、アバタの動作を指示する動作指示の一種である。他の実施形態においては、エモーションボタン以外に、アバタの動作を指示する動作指示ボタンが画像に含まれてもよい。動作指示ボタンは、アバタの動作を指示するためのボタンである。動作指示ボタンは、例えば、ジャンプするという動作、手を振るという動作、サイリウムを振るという動作、及びこれら以外の動作を指示するために用いられ得る。動作指示ボタンが選択されると、動作指示要求がサーバ装置20に送信される。サーバ装置20では、アバタに対して動作指示要求に基づいた動作を行わせることができる。
【0090】
次に、視聴ユーザと配信ユーザとを動画内で各々の仮想キャラクタを介して共演させる共演機能について説明する。
図7bに示されているように、第1視聴ユーザの動画への参加が許可された場合には、当該第1視聴ユーザが使用するクライアント装置10に共演申請ボタン64が表示される。共演申請ボタン64は、視聴ユーザのアバタをキャラクタオブジェクト51と共に表示すること、つまり、視聴ユーザと配信ユーザとが当該視聴ユーザのアバタ及び当該配信ユーザのキャラクタオブジェクト51を介して共演することを要求するためのボタンである。共演申請ボタン64は、クライアント装置10aを使用する第1視聴ユーザによって選択可能に画像60bに重畳表示されている。共演申請ボタン64は、例えば、クライアント装置10aのタッチパネルのうち共演申請ボタン64が表示されている領域へのタップ操作により選択され得る。動画を視聴中の第1視聴ユーザによって共演申請ボタン64が選択されると、当該第1視聴ユーザのアバタ56aをキャラクタオブジェクト51と共演させるための共演要求がサーバ装置20に送信される。当該第1視聴ユーザのクライアント装置10aは、共演要求をサーバ装置20へ送信したことに応じて、
図7cに示されているように、共演要求が行われたことを示すメッセージ66aを表示してもよい。
【0091】
一実施形態において、クライアント装置10は、参加要求処理部21cから共演機能をアクティベートするためのコマンドを受信したことに応じて共演申請ボタン64を表示してもよい。このコマンドは、上述のように、動画への参加が許可された参加ユーザのクライアント装置10に対してサーバ装置20から送信される。クライアント装置10は、参加要求処理部21cから共演機能をアクティベートするためのコマンドを受信するまでは共演申請ボタン64を表示しなくともよい。共演申請ボタン64は、参加要求処理部21cから共演機能をアクティベートするためのコマンドを受信するまではユーザから選択不可能な状態で表示され、当該コマンドを受信したことに応じてユーザから選択可能とされてもよい。
【0092】
サーバ装置20において共演要求が受け付けられると、共演要求処理部21fは、当該共演要求を行った視聴ユーザ(参加ユーザ)と配信ユーザとの共演を許可するか否かを決定する。共演要求処理部21fは、共演要求を行った視聴ユーザに関する様々な情報に基づいて所定のアルゴリズムを用いて共演可否を決定することができる。共演要求処理部21fは、例えば、ユーザデータ23cを参照することにより共演要求を行った視聴ユーザに対する他のユーザからの評価が所定の基準より高いか否かを判定し、当該視聴ユーザに対する評価が当該基準よりも高い場合に当該視聴ユーザからの共演要求を許可することができる。逆に、視聴ユーザに対する他のユーザからの評価が所定の基準よりも低い場合には、当該視聴ユーザからの共演要求を拒否することができる。共演要求が許可された視聴ユーザ(参加ユーザ)を「ゲストユーザ」と呼ぶことがある。
【0093】
共演要求処理部21fは、視聴ユーザから共演要求を受け付けたことに応じて、当該視聴ユーザからの共演申請を許可するか否かを配信ユーザに問い合わせ、その回答に応じて共演の可否を決定してもよい。共演要求処理部21fは、第1視聴ユーザから共演要求を受け付けると、第1視聴ユーザを含む表示要求ユーザリストを生成し、当該表示要求ユーザリストを配信ユーザに提示してもよい。ある動画についての表示要求ユーザリストは、共演要求を行ったユーザ(又は当該ユーザのアバタ)を特定する情報(例えば、ユーザID、ユーザ名、ニックネーム、アバタID、又はこれら以外の情報)をリスト形式で示してもよい。表示要求ユーザリストには、共演要求を送信したユーザの全てを含まなくともよい。例えば、表示要求ユーザリストには、共演要求を送信したユーザのうち、当該ユーザのアバタの3D表示情報が既にロードされているユーザのみを含んでもよい。このような表示要求ユーザリストには、共演要求を送信したユーザのうち、当該ユーザのアバタの3D表示情報がロードされていないユーザを特定する情報を含まない。3D表示情報がロードされていないアバタの3D表示を行うためには3D表示情報をランタイムロードする必要があるため、サーバ装置20の処理リソースを多く消費する。共演要求に3D表示情報がロード済のアバタを使用するユーザのみが含まれるようにすることで、ランタイムロードを回避することができる。
【0094】
共演要求処理部21fは、表示要求ユーザリストをサポーターコンピュータ40に送信することができる。サポーターB1及びサポーターB2は、サポーターコンピュータ40のディスプレイに表示された表示要求ユーザリストからキャラクタオブジェクトと共に表示することを認めるアバタのユーザを選択することができる。表示要求ユーザリストは、スタジオルームRのディスプレイ39に表示されてもよい。アクターA1は、コントローラ33aまたはコントローラ33bを操作することにより、表示要求ユーザリストから、キャラクタオブジェクト51と共に表示するアバタのユーザを選択してもよい。
【0095】
一実施形態においては、表示要求ユーザリストからあるユーザが選択されたことに応じて当該ユーザを表示要求ユーザリストから削除してもよい。他の実施形態においては、あるユーザのアバタの共演表示が終了したことに応じて、当該ユーザを表示要求ユーザリストから削除してもよい。これにより、一度共演表示されたアバタを繰り返し共演表示することを防止できる。
【0096】
一実施形態においては、あるユーザが共演表示されている間、サポーターまたは配信ユーザが表示要求リストから共演表示するユーザを選択する指示をしたとしても、その選択されたユーザのアバタの共演表示が即座に行われなくともよい。また、共演表示が行われるまでは、その選択されたユーザが表示要求リストから削除もされなくてもよい。
【0097】
共演要求処理部21fは、複数の参加ユーザから共演要求を受け付けた場合、当該複数の参加ユーザから所定の上限数以下の複数のゲストユーザを選定してもよい。
【0098】
一実施形態において、共演要求処理部21fは、参加ユーザからの共演要求に基づいて当該参加ユーザと配信ユーザとの共演が許可された場合に、当該参加ユーザ(つまり、ゲストユーザ)のクライアント装置10に対して共演が許可されたことを通知する許可通知を送信してもよい。当該許可通知を受信したクライアント装置10は、
図7dに示されているように、当該許可通知に基づいて共演が許可されたことを示すメッセージ66bをディスプレイに表示してもよい。この許可通知に基づいて表示されるメッセージ66bによって、ゲストユーザは、自らのアバタが共演動画に含められて配信されることを知ることができる。クライアント装置10は、メッセージ66b以外にも、アイコンの表示、音声通知、振動による通知、及びこれら以外の方法で許可通知を受信したことをゲストユーザに知らせることができる。
【0099】
ゲストユーザのクライアント装置10は、サーバ装置20から許可通知を受信すると、当該ゲストユーザに対してアバタのパーツの購入を促すことができる。例えば、クライアント装置10は、サーバ装置20から許可通知を受信したことに応じて、アバタのパーツを購入する。
【0100】
ゲストユーザのクライアント装置10においてサーバ装置20から許可通知が受信されると、クライアント装置10は、アバタのパーツの購入を促す表示を行うことができる。例えば、クライアント装置10は、サーバ装置20から許可通知を受信したことに応じて、そのディスプレイに、アバタ本体またはそのパーツを購入するためのウィンドウを表示することができる。ゲストユーザは、当該ウィンドウに表示されているアバタ又はそのパーツの中から購入対象を選択し、実際に購入することができる。アバタ又はそのパーツを購入するためのウィンドウは、サーバ装置20から許可通知を受信したクライアント装置10においてのみ表示されてもよいし、それ以外のクライアント装置10でも表示されてもよい。許可通知を受信したクライアント装置10は、当該許可通知を購入する前と異なる種類のアバタ又はそのパーツを購入することができるウィンドウを表示してもよい。許可通知を受信したクライアント装置10は、例えば、共演動画に適したアバタやパーツを購入するためのウィンドウを表示することができる。
【0101】
一実施形態において、ゲストユーザのクライアント装置10においてサーバ装置20から許可通知が受信されると、クライアント装置10は、いわゆるガチャ機能を当該ゲストユーザに利用可能としてもよい。ゲストユーザは、このガチャ機能を利用することにより、サーバ装置20に対してアバタ又はそのパーツの取得要求を送信し、サーバ装置において当該取得要求に基づいて所定のアルゴリズムで当該ゲストユーザに与えるアバタ又はそのパーツが選択される。この選択されたアバタ又はそのパーツが取得要求を行ったゲストユーザに対して与えられる。このように、ゲストユーザは、ガチャ機能を利用することにより、新たなアバタ又はそのパーツを取得することができる。アバタ又はそのパーツを取得するためのガチャ機能は、サーバ装置20から許可通知を受信したクライアント装置10においてのみ利用可能とされてもよいし、それ以外のクライアント装置10でも利用可能であってもよい。許可通知を受信したクライアント装置10は、ガチャ機能により当該許可通知を購入する前と異なる種類のアバタ又はそのパーツを取得できてもよい。
【0102】
このように、ゲストユーザは、新たなアバタ又はそのパーツを購入したりガチャ機能によって取得することにより、共演の開始前に、共演動画に表示される自らのアバタをアップデイトすることができる。
【0103】
一実施形態において、共演要求処理部21fは、参加ユーザからの共演要求に基づいて当該参加ユーザと配信ユーザとの共演が許可された場合に、当該参加ユーザ(すなわち、ゲストユーザ)と配信ユーザとが仮想的に共演する共演動画を生成する。例えば、共演要求処理部21fは、当該ゲストユーザのアバタをキャラクタオブジェクト51と共に動画中に表示させる。共演要求処理部21fは、アバタ制御部21eと同様の処理により、ゲストユーザのアバタを構築し、このゲストユーザのアバタを仮想空間に配置することができる。一実施形態において、共演要求が許可されたゲストユーザのアバタと配信ユーザのキャラクタオブジェクト51とを含む共演動画においては、当該ゲストユーザ以外のアバタ以外の視聴ユーザのアバタは表示されない。この場合、共演要求処理部21fは、複数の視聴ユーザのアバタのうちゲストユーザのアバタのみを仮想空間内に配置する。本明細書においては、共演要求が許可されたゲストユーザのアバタを配信ユーザのキャラクタオブジェクト51とともに表示することを「共演表示」と呼び、共演要求が許可された視聴ユーザのアバタ及び配信ユーザのキャラクタオブジェクト51を含む動画を「共演動画」と呼ぶことがある。
【0104】
共演動画の表示例が
図7eに示されている。
図7eに示されている画像60eには、共演要求を行った第1視聴ユーザのアバタ56aとキャラクタオブジェクト51とが含まれている。
図7eに示されている画像60eにおいては、キャラクタオブジェクト51の横に第1視聴ユーザのアバタ56aが表示されている。画像60dには、共演表示が実施されたことを告知するためのメッセージ66cが表示されてもよい。
【0105】
第1視聴ユーザからの共演要求に基づいて当該第1視聴ユーザのアバタ56aがキャラクタオブジェクト51とともに表示される場合には、アバタ56aは3D表示されてもよい。既述のように、アバタ56aは、共演要求を行う前の画像(例えば、画像60b)では2D表示されてもよい。共演要求を行う前に2D表示されていたアバタ56aの表示態様を共演表示において3D表示に変更してもよい。共演表示においてはアバタ56aが3D表示されるため、共演要求を受信した時点よりも前にアバタ56aについての3D表示情報がロードされている場合にのみ、第1視聴ユーザのクライアント装置10aに表示される画像60bにおいて共演申請ボタン64が表示されるようにしてもよい。
【0106】
一実施形態において、3D表示情報がロードされているアバタを使用するユーザ用の画像において共演申請ボタン64を表示させ、3D表示情報がロードされていないアバタを使用するユーザ用の画像においては共演申請ボタン64を表示しないことにより、3D表示情報のランタイムロードが発生しないようにしてサーバ装置20の処理負荷を軽減することができる。一実施形態においては、ランタイムロードに必要な処理負荷の発生を避けるために、ユーザからアバタの共演表示を受け付けた場合に、当該アバタの3D表示情報がロード済か否かを判定し、ロード済である場合にのみ当該アバタの3D表示を行うようにしてもよい。この場合、3D表示情報がロードされているアバタを使用するユーザ用の画像において共演申請ボタン64を表示させる一方で3D表示情報がロードされていないアバタを使用するユーザ用の画像においては共演申請ボタン64を表示しないことにより、無駄な共演要求の送信及び当該共演要求に基づく処理の発生を防ぐことができる。
【0107】
アバタを動画に共演表示する場合に、当該アバタの共演表示に関連した演出効果を表示してもよい。例えば、共演表示されるアバタを強調するように、当該アバタにスポットライトが当たっているような演出を行うことができる。共演表示されているアバタの共演表示を終了させる場合にも同様のまたは別の演出効果を表示することができる。
【0108】
共演要求処理部21fは、第1視聴ユーザのアバタ56aをキャラクタオブジェクト51と共に動画に表示されてからの経過時間を計測してもよい。共演要求処理部21fは、当該経過時間を画像60dに表示してもよい。一実施形態においては、共演要求に基づいてキャラクタオブジェクト51とユーザのアバタとがともに表示される時間(あるアバタについて共演表示がなされる時間)の上限が設定されていてもよい。共演要求処理部21fは、当該上限となる時間を画像60dに表示してもよい。共演要求処理部21fは、当該上限となる時間と、第1視聴ユーザのアバタ56aをキャラクタオブジェクト51と共に動画に表示してからの経過時間とに基づいて、アバタ56aを表示可能な残り時間を計算し、当該残り時間を画像60dに表示してもよい。第1視聴ユーザのアバタ56aをキャラクタオブジェクト51と共に動画に表示されてからの経過時間、アバタ56aに設定された表示時間の上限、アバタ56aを表示可能な残り時間は、第1視聴ユーザのクライアント装置10aに表示されている画像60dのみに含められてもよく、第1視聴ユーザ及びその他のユーザのクライアント装置に表示されている画像60dに含められてもよい。共演表示が行われる時間の上限を設定することにより、より多くの視聴ユーザに配信ユーザと共演する機会を提供することができる。また、実行中の共演表示の残り時間を表示することにより、視聴ユーザに対して次のアバタが共演表示されるまでの時間を知らせることができる。
【0109】
共演要求処理部21fは、動画の配信ユーザ又はそれ以外のオペレータからの指示に基づいて、当該動画に参加しているアバタを当該動画から排除することができる。排除されたアバタは、当該動画の画面に表示されなくなる。同様に、共演要求処理部21fは、動画の配信ユーザ又はそれ以外のオペレータからの指示に基づいて、共演表示されているアバタを当該共演表示から排除することができる。排除されたアバタは、当該共演表示の画面に表示されなくなる。配信ユーザは、例えば、動画内で望ましくないコメントを行ったアバタ、動画内で望ましくない行動をとったアバタ、それ以外の動画に参加させておくことが望ましくないアバタを当該動画から及び/又は共演表示の画面から排除することができる。
【0110】
一実施形態において、アバタ制御部21eは、ゲストユーザのアバタの動きを、当該ユーザからの指示に基づいて制御することができる。例えば、アバタ制御部21eは、共演表示されているアバタのユーザからのエモーション表示要求を受け付け、当該エモーション表示要求に基づいて、当該アバタの行動を制御することができる。アバタ制御部21eは、共演動画の配信中に当該共演動画で配信ユーザと共演しているゲストユーザのクライアント装置10から送信されたフェイスモーションデータやボディモーションデータを用いてアバタの動きを制御するようにしてもよい。アバタ制御部21eは、共演動画の配信中に当該共演動画で配信ユーザと共演しているゲストユーザのクライアント装置10から送信された音声データを用いてアバタに発声させてもよい。
【0111】
共演要求には、
図6に示されるように、共演要求を行う参加ユーザを識別するユーザIDに対応付けて、メッセージデータ及びモーションデータの少なくとも一方が含まれていてもよい。アバタ制御部21eは、共演要求に含まれているメッセージデータに基づいて、ゲストユーザのアバタに動画内で当該メッセージデータに対応するメッセージを発声させてもよい。このメッセージとしては、例えば、「こんにちは」といった挨拶が考えられる。メッセージデータに基づいてテキストメッセージを生成し、当該共演要求を行った参加ユーザのアバタと対応付けて当該テキストメッセージを表示させてもよい。メッセージデータは、複数のメッセージに対応するデータであってもよい。
【0112】
モーションデータは、フェイスモーションデータ及びボディモーションデータの少なくとも一方を含むことができる。共演要求に含まれるモーションデータは、クライアント装置10が備えるセンサユニットによって取得されてもよいし、クライアント装置10とは別のセンシング装置により取得されてもよい。アバタ制御部21eは、共演要求に含まれているモーションデータに基づいてゲストユーザのアバタの動きを制御してもよい。モーションデータは、例えば、アバタが右手を振って挨拶するというアバタの動きを表すデータである。モーションデータは、アバタの一連の動きのセットを表すデータであってもよい。アバタの一連の動きのセットは、例えば、アバタが手を振るという動きと、その後に当該アバタがお辞儀をするという動きとのセットである。
【0113】
一実施形態において、配信ユーザとの共演要求を送信したが共演が拒否された参加ユーザに対しては、当該参加ユーザのアバタと当該配信ユーザのキャラクタオブジェクト51とを含む画像(2ショット画像)を与えてもよい。共演要求処理部21fは、例えば、第1視聴ユーザからの共演要求が拒否された場合には、仮に共演要求が許可された場合に生成される動画フレームと同じ動画フレームを生成し、この動画フレームを表す動画ファイルを共演が拒否された第1視聴ユーザのクライアント装置10に送信してもよい。この動画フレームは、共演要求が拒否された第1視聴ユーザのクライアント装置10にのみ送信され、他の視聴ユーザのクライアント装置10には配信されない。この動画フレームは、例えば、
図7eに示されている画像60eに相当する(ただし、メッセージ66cや操作ボタン61、62、68は含まれない。これにより、配信ユーザとの共演が拒否された参加ユーザに対しても、配信ユーザとのつながりを感じるためのコンテンツを提供することができる。この配信ユーザのキャラクタオブジェクト51との2ショット画像は、動画への参加要求を行ったものの当該参加要求が拒否された視聴ユーザに対して送信してもよい
。
【0114】
続いて、
図8を参照して、一態様による動画配信処理について説明する。
図8は、一実施形態における動画配信処理の流れを示すフロー図である。動画配信処理においては、スタジオルームRにアクターA1が在室していることが想定されている。
【0115】
まず、ステップS11では、アクターA1の体の動きのデジタル表現であるボディモーションデータと、アクターA1の顔の動き(表情)のデジタル表現であるフェイスモーションデータと、が生成される。ボディモーションデータ及びフェイスモーションデータは、例えば、アクターA1に装着されているモーションセンサ31a~31fの検出情報、デジタルカメラ36aが撮像した撮像情報、及び必要に応じてこれら以外のスタジオルームRに設定された各種機器が検出する情報に基づいて生成される。
【0116】
次に、ステップS12において、アクターA1のボディモーションデータ及びフェイスモーションデータを、アクターA1用のモデルデータに適用することにより、アクターA1の体及び表情の動きに同期して動くキャラクタオブジェクトのアニメーションが生成される。
【0117】
次に、ステップS13において、仮想空間の画像と、アクターA1に対応するキャラクタオブジェクトのアニメーションと、を含む3次元動画データが生成される。この動画情報には、アクターA1の音声が含まれてもよい。また、この3次元動画データがレンダリングされて動画が生成される。この動画は、動画フレームのシーケンスであってもよい。この動画の生成は、例えば、上記の動画生成部21aで行われる。
【0118】
次に、ステップS14に移行し、ステップS13にて生成された動画が配信される。この動画は、ネットワーク15を介してクライアント装置10a~クライアント装置10c及びこれら以外のクライアント装置に配信される。この動画は、サポーターコンピュータ40に配信され、また、スタジオルームR内のスクリーンSに投影されてもよい。動画は、所定の配信期間にわたって継続して配信される。動画の配信期間は、例えば、30秒間、1分間、5分間、10分、30分間、60分間、120分間、及びこれら以外の任意の時間に定め得る。
【0119】
次に、ステップS15に進み、動画の配信を終了させるための終了条件が成就したか否かが判定される。終了条件は、例えば、配信の終了時刻に達したこと、サポーターコンピュータ40により配信を終了するための指示がなされたこと、またはこれら以外の条件である。終了条件が成就していなければステップS11~S14の処理が繰り返し実行され、アクターA1の動きに同期したアニメーションを含む動画の配信が継続される。動画について終了条件が成就していると判定された場合には、当該動画の配信処理を終了する。
【0120】
続いて、
図9を参照して、一態様による参加要求処理について説明する。
図9は、一実施形態における参加要求処理の流れを示すフロー図である。
図9の参加要求処理においては、サーバ装置20から配信された動画をクライアント装置10aによって視聴している第1視聴ユーザから当該動画への参加を求める参加要求されたことが想定されている。参加要求処理は、
図8に示されている動画の配信処理と並行して行われてもよい。
【0121】
まず、ステップS16において、第1視聴ユーザのクライアント装置10から視聴中の動画への参加を要求する参加要求が受け付けられる。参加要求は、第1視聴ユーザによってクライアント装置10aに表示されている参加要求ボタン63が選択されたことに応じて、クライアント装置10aからサーバ装置20に送信される。
【0122】
次に、ステップS16において、第1視聴ユーザからの参加要求が許可されるか否かが判定される。この判定は、例えば、上記の参加要求処理部21cにより行われる。
【0123】
参加要求が許可されると参加要求処理はステップS18に進む。ステップS18では、第1視聴ユーザのアバタ56aが仮想空間50の所定の位置に配置される。これにより、仮想カメラの描画領域にアバタ56aが配置された位置が含まれる場合には、第1視聴ユーザのアバタ56aが配信される動画に含められる。アバタ56aを動画へ含めるための処理は、例えば、上記のアバタ表示部21dにより行われる。
【0124】
参加要求が許可されない(拒否される)と、第1視聴ユーザのアバタ56aの表示を行わずに参加要求処理を終了する。
【0125】
第1視聴ユーザが参加要求を行った場合を例に参加要求処理を説明したが、サーバ装置20は、動画の配信中に複数の視聴ユーザから参加要求を随時受け付けることができる。よって、サーバ装置20は、複数の参加要求の各々に関して上記の参加要求処理を実行することができる。このようにして、サーバ装置20は、動画への参加要求を行った複数の視聴ユーザの中から複数の参加ユーザを選定することができる。
【0126】
次に、
図10を参照して、一実施形態における共演動画の配信処理について説明する。
図10は、一実施形態において共演動画を配信する処理の流れを示すフロー図である。
図10を参照して説明される共演動画の配信処理においては、配信ユーザのキャラクタオブジェクトを含む動画を視聴している視聴ユーザから当該配信ユーザに対して共演要求がなされることが想定されている。共演動画の配信処理は、
図8に示されている動画の配信処理及び
図9に示されている参加要求処理と並行して行われてもよい。
【0127】
まず、ステップS21において、配信ユーザのキャラクタオブジェクトを含む動画の配信中に、当該動画への参加が許可されている視聴ユーザ(参加ユーザ)から共演要求がなされたか否かが判定される。共演要求は、例えば第1視聴ユーザからなされる。第1視聴ユーザによって共演要求がなされた場合には、処理はステップS22に進む。
【0128】
ステップS22では、共演を申請した第1視聴ユーザからの共演要求に基づいて、当該第1視聴ユーザと配信ユーザとの共演を許可するか否かが判定される。共演要求を許可するか否かの判定は、例えば、共演要求処理部21fにより行われる。第1視聴ユーザと配信ユーザとの共演が許可された場合には、処理はステップS23に進む。
【0129】
ステップS23では、配信ユーザとの共演が許可された第1視聴ユーザのクライアント装置10に対して、共演が許可されたことを通知する許可通知が送信される。許可通知の送信は、例えば、共演要求処理部21fにより行われる。第1視聴ユーザのクライアント装置10は、当該許可通知に基づいて共演が許可されたことを示すメッセージ66bをディスプレイに表示してもよい。この許可通知に基づいて表示されるメッセージ66bによって、第1視聴ユーザは、自らのアバタが共演動画に含められることを知ることができ、アバタの更新などの共演のための準備を行うことができる。
【0130】
続いて、ステップS24では、配信ユーザのキャラクタオブジェクトと第1視聴ユーザのアバタとを含む共演動画が生成される。ステップS24における共演動画の生成は、例えば、上記の共演要求処理部21fで行われる。
【0131】
次に、処理は、ステップS25に移行する。ステップS25では、ステップS24にて生成された共演動画が配信される。この共演動画は、ネットワーク50を介してクライアント装置10及びこれら以外のクライアント装置並びに配信ユーザ装置に配信される。共演動画には、例えば、
図7eに示されているように、第1視聴ユーザのキャラクタオブジェクト56a及び配信ユーザのキャラクタオブジェクト51が含まれる。
【0132】
次に、処理は、ステップS26に移行する。ステップS26では、共演終了条件が満たされたか否かが判定される。例えば、共演動画の配信開始から所定時間以上が経過した場合に共演終了条件が満たされたと判定される。共演終了条件が満たされた場合には、処理はステップS27に進む。
【0133】
ステップS27では、共演動画の配信を終了させるための処理が行われる。例えば、共演動画から、仮想空間からゲストユーザである第1視聴ユーザのキャラクタオブジェクト51を除外することで、第1視聴ユーザと配信ユーザとの共演を終了させる。共演が終了した後に配信される動画には、第1視聴ユーザのキャラクタオブジェクト51が含まれない。複数のゲストユーザが選定されている場合には、第1視聴ユーザと配信ユーザとの共演が終了した後に、当該第1視聴ユーザ以外のゲストユーザと配信ユーザとの共演が開始されてもよい。全てのゲストユーザとの共演が終了した場合でも、動画は継続して配信されてもよい。上記の共演終了条件の判定及び共演の終了処理は、例えば、共演終了処理部61fにより行われる。
【0134】
以上の実施形態によって奏される作用効果について説明する。上記の一実施形態における動画配信システム1によれば、配信されている動画を視聴している視聴ユーザの全てから共演要求を受け付けるのではなく、当該動画への参加を要求して当該動画への参加要求が認められた参加ユーザのみから共演要求を受け付けるように構成される。例えば、動画への参加が許可された視聴ユーザ(すなわち、参加ユーザ)のクライアント装置10において共演要求を行うための機能をアクティベートし、当該動画への参加が許可されていない視聴ユーザのクライアント装置10においては共演要求を行うための機能をアクティベートしないことにより、参加ユーザのみから共演要求を受け付けることができる。これにより、視聴ユーザの数が多くなっても、クライアント装置10から受け付ける共演要求の数を抑制することができる。
【0135】
上記の一実施形態においては、動画を視聴する複数の視聴ユーザ全体のうち当該動画への参加が許可された参加ユーザ以外の視聴ユーザに対しては、サーバ装置20から当該参加ユーザの選定に関する通知が送信されない。一実施形態においては、動画を視聴する複数の視聴ユーザ全体のうち当該動画への参加が許可された参加ユーザのクライアント装置10に対してのみ当該参加ユーザの選定に関する通知が送信される。これにより、サーバ装置220において、参加を許可するか否かの判定を行った結果に関する通知を生成し送信する処理負荷が軽減され、また、通信トラフィックを低減することができる。
【0136】
上記の一実施形態においては、動画への参加を要求して拒否されたユーザに対しては、その拒否された旨の通知がなされない。この場合、参加要求を行った視聴ユーザは、配信される動画に自らのキャラクタオブジェクト(アバタ)が含まれているか否かを確認することにより、自らの参加要求が許可されたか否かを知ることができる。つまり、配信された動画に自らのアバタが含まれていれば参加が許可されたことが分かり、配信された動画に自らのアバタが含まれていなければ参加が許可されなかったことがわかる。このように、上記の一実施形態においては、サーバ装置20から参加ユーザのアバタを含む動画を配信することにより、当該動画以外の通知を追加的に送信しなくても、参加要求が拒否された視聴ユーザも含む全ての視聴ユーザに対して参加要求が許可されたか否かを知らしめることができる。つまり、上記の一実施形態においては、動画以外の通知を送信することなく、参加要求が拒否された視聴ユーザに対しても参加要求が許可されたか否かを知らせることができる。また、参加ユーザのアバタを含む動画を通じて参加要求が許可されたか否かを知らせることにより、参加要求を行った視聴ユーザの注意や関心を配信されている動画に引きつけることができる。人気がある配信ユーザの動画については、視聴ユーザの数が膨大となる可能性がある。この場合には、視聴ユーザ全員に対して参加ユーザの選定に関する通知を行わないことによるサーバ装置20の処理負荷の軽減効果が大きくなる。
【0137】
上記の一実施形態においては、サーバ装置20から参加ユーザのクライアント装置10に対して、当該クライアント装置10において当該参加ユーザが共演要求を行うための機能をアクティベートするためのコマンドが送信される。これにより、視聴ユーザ全体のうち参加ユーザのクライアント装置10において共演要求を行うことが可能となり、参加が許可されなかった視聴ユーザのクライアント装置10においては共演要求を行うことができない。よって、共演要求を行うことができるユーザの数が視聴ユーザ全体よりも少なくなるので、サーバ装置20において共演要求を処理するための処理負荷を低減することができる。共演要求に基づく共演可否の決定が配信ユーザによる選定に委ねられる場合には、配信ユーザによる決定の手間を軽減することができる。
【0138】
上記の一実施形態において、共演要求は、当該共演要求を行う参加ユーザからのメッセージを示すメッセージデータを含んでもよい。共演要求は、当該共演要求を行う参加ユーザのアバタの動きを指定するモーションデータを含んでもよい。共演要求にメッセージデータやモーションデータを含めることにより、共演動画の配信中にゲストユーザが特段の操作を行わなくとも、メッセージデータやモーションデータの形式で共演開始前に提供されたデータに基づいて、当該ゲストユーザの動きや音声を制御することができる。
【0139】
本発明の実施形態は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で様々な変更が可能である。例えば、配信される動画は、スタジオルームR以外で撮影及び生成されてもよい。例えば、配信される動画を生成するための撮影は、アクターやサポーターの自宅で行われてもよい。クライアント装置10aは、アバタ56aとキャラクタオブジェクト51とがともに表示されている画像(例えば、画像60e)を他の通信装置に送信する機能を有していてもよい。例えば、第1視聴ユーザは、クライアント装置10aの機能を利用してアバタ56aとキャラクタオブジェクト51とがともに表示されている画像を、サーバ装置20が提供する動画サービス内のソーシャルネットワーキングサービス又はサーバ装置20が提供する動画サービスとは異なるソーシャルネットワーキングサービスにおいて配信することができる。
【0140】
上記のとおり、コンピュータプロセッサ21により実現される機能の少なくとも一部は、動画配信システム1のコンピュータプロセッサ21以外のコンピュータプロセッサにより実現されてもよい。コンピュータプロセッサ21により実現される機能の少なくとも一部は、例えば、クライアント装置10a~10cのいずれかに備えられるコンピュータプロセッサにより実現されてもよい。例えば、動画生成部21a、動画配信部21b、参加要求処理部21c、アバタ表示部21d、アバタ制御部21e、及び共演要求処理部21fの機能の一部又は全部は、クライアント装置10a~10cにおいて実行されてもよい。具体的には、クライアント装置10a~10cのいずれかにおいて生成された動画がサーバ装置20に送信され、サーバ装置20からクライアント装置10a~10cに配信されてもよい。
【0141】
配信ユーザのキャラクタオブジェクト51を含む動画をクライアント装置10aで視聴している視聴ユーザから当該キャラクタオブジェクト51(又はその配信ユーザ)との共演申請がなされる場合には、共演申請を行った視聴ユーザのアバタ56aのアニメーションは、サーバ装置20又はクライアント装置10aのいずれで生成されてもよい。また、キャラクタオブジェクト51をと視聴ユーザのアバタ56aとを含む共演動画の生成は、サーバ装置20又はクライアント装置10aのいずれで行われてもよい。共演動画は、サーバ装置20、クライアント装置10a、及びこれら以外の装置により分担して生成されてもよい。配信ユーザのキャラクタオブジェクト51と視聴ユーザのアバタ56aとを含む共演動画がクライアント装置10aにおいて生成される場合には、サーバ装置20又はスタジオユニット30からクライアント装置10aに対して配信ユーザのモーションデータ及び音声データがクライアント装置10aに送信されてもよい。クライアント装置10aでは、受信した配信ユーザのモーションデータを当該配信ユーザ用のモデルデータに適用することでキャラクタオブジェクト51のアニメーションが生成される。この配信ユーザのモデルデータは、サーバ装置20又はスタジオユニット30からクライアント装置10aへ送信されてもよい。クライアント装置10aによって生成される共演動画にギフトオブジェクトが含められる場合には、サーバ装置20又はギフティングを行った視聴ユーザのクライアント装置から当該ギフトオブジェクトを表示するためのデータが当該クライアント装置10aへ送信されてもよい。このように、共演動画は、動画配信システム1に含まれる任意の装置で生成され得る。キャラクタオブジェクトのアニメーションは、
図1に明示的に示されていない装置で生成されてもよい。キャラクタオブジェクト51とアバタ56aを含む共演動画を生成する装置には、当該キャラクタオブジェクト51に対応する配信ユーザ及びアバタ56aに対応する視聴ユーザのモーションデータ及び音声データが送信される。
【0142】
本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。
【符号の説明】
【0143】
以下に、本願の原出願の出願当初の特許請求の範囲に記載された発明を付記する。
[1]
一又は複数のコンピュータプロセッサを備え、
前記一又は複数のコンピュータプロセッサは、コンピュータ読み取り可能な命令を実行することにより、
配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を複数の視聴ユーザの各々のクライアント装置に配信し、
前記複数の視聴ユーザから前記動画への参加要求を受け付けたことに応じて、前記複数の視聴ユーザの中から複数の参加ユーザを選定し、
前記複数の参加ユーザの各々に対応する複数の第2キャラクタオブジェクトを前記動画内に含め、
前記複数の参加ユーザの少なくとも一部から前記配信ユーザとの共演を申請する共演要求を受け付け、前記共演要求を行った参加ユーザの中から一又は複数のゲストユーザを選定し、
前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信し、
前記第2キャラクタオブジェクトのうち前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクト及び前記第1キャラクタオブジェクトを含む共演動画を生成し、
前記共演動画は、前記複数の参加ユーザのうち前記一又は複数のゲストユーザとして選定されていないキャラクタオブジェクトを含まない、
動画配信システム。
[2]
前記一又は複数のコンピュータプロセッサは、前記複数の参加ユーザの各々のクライアント装置において前記共演要求を行うための機能をアクティベートさせるためのコマンドを前記複数の参加ユーザの各々のクライアント装置に送信する、
[1]に記載の動画配信システム。
[3]
前記複数の参加ユーザのうちの一の参加ユーザからの前記共演要求には前記一の参加ユーザからのメッセージが含まれる、
[1]又は[2]に記載の動画配信システム。
[4]
前記複数の参加ユーザのうちの一の参加ユーザからの前記共演要求には前記一の参加ユーザからのモーションデータが含まれ、
前記一又は複数のコンピュータプロセッサは、前記一の参加ユーザに対応する前記第2キャラクタオブジェクトに前記動画内において前記モーションデータに対応する動作を行わせる、
[1]から[3]のいずれか1項に記載の動画配信システム。
[5]
前記参加要求に基づく前記複数の参加ユーザの選定は、所定のアルゴリズムに基づいて行われる、
[1]から[4]のいずれか1項に記載の動画配信システム。
[6]
前記共演要求に基づく前記一又は複数のゲストユーザの選定は、前記配信ユーザの選択に応じて行われる、
[1]から[5]のいずれか1項に記載の動画配信システム。
[7]
前記一又は複数のコンピュータプロセッサは、前記複数の参加ユーザ以外の前記複数の視聴ユーザに対しては、前記複数の参加ユーザの選定に関する通知を送信しない、
[1]から[6]のいずれか1項に記載の動画配信システム。
[8]
一又は複数のコンピュータプロセッサがコンピュータ読み取り可能な命令を実行することにより実行される動画配信方法であって、
配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を複数の視聴ユーザの各々のクライアント装置に配信する工程と、
前記複数の視聴ユーザから前記動画への参加要求を受け付けたことに応じて、前記複数の視聴ユーザの中から複数の参加ユーザを選定する工程と、
前記複数の参加ユーザの各々に対応する複数の第2キャラクタオブジェクトを前記動画内に含める工程と、
前記複数の参加ユーザの少なくとも一部から前記配信ユーザとの共演を申請する共演要求を受け付け、前記共演要求を行った参加ユーザの中から一又は複数のゲストユーザを選定する工程と、
前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信する工程と、
前記第2キャラクタオブジェクトのうち前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクト及び前記第1キャラクタオブジェクトを含む共演動画を生成する工程と、
を備え、
前記共演動画は、前記複数の参加ユーザのうち前記一又は複数のゲストユーザとして選定されていないキャラクタオブジェクトを含まない、
動画配信方法。
[9]
一又は複数のコンピュータプロセッサに、
配信ユーザの動きに基づいて生成される第1キャラクタオブジェクトを含む動画を複数の視聴ユーザの各々のクライアント装置に配信する工程と、
前記複数の視聴ユーザから前記動画への参加要求を受け付けたことに応じて、前記複数の視聴ユーザの中から複数の参加ユーザを選定する工程と、
前記複数の参加ユーザの各々に対応する複数の第2キャラクタオブジェクトを前記動画内に含める工程と、
前記複数の参加ユーザの少なくとも一部から前記配信ユーザとの共演を申請する共演要求を受け付け、前記共演要求を行った参加ユーザの中から一又は複数のゲストユーザを選定する工程と、
前記一又は複数のゲストユーザの選定に関する通知を前記一又は複数のゲストユーザの各々に送信する工程と、
前記第2キャラクタオブジェクトのうち前記一又は複数のゲストユーザの少なくとも一部に対応するゲストキャラクタオブジェクト及び前記第1キャラクタオブジェクトを含む共演動画を生成する工程と、
を実行させ、
前記共演動画は、前記複数の参加ユーザのうち前記一又は複数のゲストユーザとして選定されていないキャラクタオブジェクトを含まない、
動画配信プログラム。
【0144】
1 動画配信システム
10 クライアント装置
20 サーバ装置