IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

7853366情報処理システム、情報処理装置、配信方法、および、配信プログラム
<>
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図1
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図2
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図3
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図4
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図5
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図6
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図7
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図8
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図9
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図10
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図11
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図12
  • -情報処理システム、情報処理装置、配信方法、および、配信プログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2026-04-20
(45)【発行日】2026-04-28
(54)【発明の名称】情報処理システム、情報処理装置、配信方法、および、配信プログラム
(51)【国際特許分類】
   G09G 5/377 20060101AFI20260421BHJP
   A63F 13/86 20140101ALI20260421BHJP
   G09G 5/00 20060101ALI20260421BHJP
   G09G 5/37 20060101ALI20260421BHJP
   H04N 21/431 20110101ALI20260421BHJP
   H04N 7/18 20060101ALI20260421BHJP
   H04L 67/131 20220101ALI20260421BHJP
【FI】
G09G5/377 100
A63F13/86
G09G5/00 550C
G09G5/00 555D
G09G5/37 320
G09G5/00 555A
G09G5/37 200
G09G5/377 110
H04N21/431
H04N7/18 U
H04L67/131
【請求項の数】 11
(21)【出願番号】P 2024108751
(22)【出願日】2024-07-05
(65)【公開番号】P2025162493
(43)【公開日】2025-10-27
【審査請求日】2025-10-15
【早期審査対象出願】
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】藤田 晃史
【審査官】佐藤 嘉純
(56)【参考文献】
【文献】特開2023-156112(JP,A)
【文献】特開2017-033256(JP,A)
【文献】米国特許出願公開第2022/0014819(US,A1)
【文献】特開2018-156210(JP,A)
【文献】特開2017-098921(JP,A)
【文献】特開2017-204767(JP,A)
【文献】特表2014-505425(JP,A)
【文献】特開2018-093412(JP,A)
【文献】特表2019-517212(JP,A)
【文献】米国特許出願公開第2016/0014392(US,A1)
【文献】中国特許出願公開第114845158(CN,A)
【文献】特開2010-212996(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 5/377
A63F 13/86
G09G 5/00
G09G 5/37
H04N 21/431
H04N 7/18
H04L 67/131
(57)【特許請求の範囲】
【請求項1】
情報処理システムであって、
信端末および受信端末備え
前記配信端末は、前記配信端末で実行中のゲームの画像データを含む第1データと、前記配信端末が取得するカメラで撮像された撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第2データとをそれぞれ配信
前記受信端末は、前記配信端末から前記第1データおよび前記第2データを受信し、前記領域データに基づいて、前記撮像画像データのうちの前記人物の領域が前記配信端末で実行中のゲームの画像に重畳して表示される配信表示画像を生成する、情報処理システム。
【請求項2】
前記第2データにおいて、前記撮像画像データは第1圧縮方法によりデータ圧縮され、前記領域データは第1圧縮方法とは異なる第2圧縮方法によりデータ圧縮される、請求項1に記載の情報処理システム。
【請求項3】
前記第2圧縮方法は、前記第1圧縮方法に比較して、データの損失が少ない、請求項2に記載の情報処理システム。
【請求項4】
前記第1圧縮方法は、非可逆圧縮であり、
前記第2圧縮方法は、可逆圧縮である、請求項2に記載の情報処理システム。
【請求項5】
前記第2データは、H.264規格に従うストリームデータであり、
前記第2データは、前記撮像画像データを含む画像ストリームデータと、前記領域データを含む非画像ストリームデータとを含む、請求項1に記載の情報処理システム。
【請求項6】
前記画像ストリームデータの各々は、画像データが含まれることを示す制御情報と、1フレーム分の前記撮像画像データとを含むNALユニットであり、
前記非画像ストリームデータの各々は、非画像データが含まれることを示す制御情報と、1フレーム分の前記領域データとを含むNALユニットである、請求項5に記載の情報処理システム。
【請求項7】
前記受信端末は、前記第1データに含まれる前記領域データに基づいて、前記第1データに含まれる前記撮像画像データのうち前記人物の領域以外の領域を、重畳先の前記実行中のゲームの画像が優先して表示されるように設定する、請求項1~6のいずれか1項に記載の情報処理システム。
【請求項8】
前記領域データは、前記撮像画像データに含まれる人物の輪郭に基づいて生成される、請求項1~6のいずれか1項に記載の情報処理システム。
【請求項9】
1または複数の配信端末とネットワーク接続された情報処理装置であって、
前記配信端末は、前記配信端末で実行中のゲームの画像データを含む第1データと、前記配信端末が取得するカメラで撮像された撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第2データとをそれぞれ配信し、
前記情報処理装置は、
前記配信端末から前記第1データおよび前記第2データを受信する受信部と、
前記領域データに基づいて、前記撮像画像データのうちの前記人物の領域が前記配信端末で実行中のゲームの画像に重畳して表示される配信表示画像を生成する生成部とを備える、情報処理装置。
【請求項10】
配信端末が、前記配信端末で実行中のゲームの画像データを含む第1データと、前記配信端末が取得するカメラで撮像された撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第2データとをそれぞれ配信するステップと、
受信端末が、前記配信端末から前記第1データおよび前記第2データを受信するステップと、
前記受信端末が、前記第1データおよび前記第2データを受信し、前記領域データに基づいて、前記撮像画像データのうちの前記人物の領域が前記配信端末で実行中のゲームの画像に重畳して表示される配信表示画像を生成するステップとを備える、配信方法。
【請求項11】
配信プログラムであって、ネットワーク接続されたコンピュータに、
前記コンピュータで実行中のゲームの画像データを含む第1データと、前記コンピュータが取得するカメラで撮像された撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第2データとをそれぞれ配信するステップと、
他のコンピュータから、前記他のコンピュータで実行中のゲームの画像データを含む第3データと、前記他のコンピュータが取得するカメラで撮像された撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第4データとをそれぞれ受信し、前記第3データに含まれる領域データに基づいて、前記第4データに含まれる撮像画像データのうちの前記人物の領域が前記他のコンピュータで実行中のゲームの画像に重畳して表示される配信表示画像を生成するステップとを実行させる、配信プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、情報処理装置、配信方法、および、配信プログラムに関する。
【背景技術】
【0002】
カメラを備えたゲームシステムが公知である(例えば、特開2016-126042号公報(特許文献1))。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-126042号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、カメラから取得される人物の画像を配信先においてフレキシブルに利用できる仕組みを提供する。
【課題を解決するための手段】
【0005】
(構成1)ある実施の形態に従う情報処理システムは、実行中のゲームの画像データを含む第1データと、カメラから取得される撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第2データとを配信する配信端末と、配信端末から受信される第1データおよび第2データに基づいて、配信端末から第1データおよび第2データを受信し、領域データに基づいて、撮像画像データのうちの人物の領域が配信端末で実行中のゲームの画像に重畳して表示される配信表示画像を生成する受信端末とを含む。
【0006】
構成1によれば、例えば、受信端末において、配信端末で実行中のゲームの画像に、配信端末のカメラが撮像した画像のうちの人物の画像を重畳して表示することで、受信端末を利用するユーザは、画像を配信しているゲームのプレイヤを容易に認識できる。画像データを含む第1データ、ならびに、撮像画像データおよび領域データを含む第2データがそれぞれ独立して配信されるので、受信端末においては、画像データに基づくゲームの画像の生成処理、ならびに、撮像画像データおよび領域データに基づく人物の画像の生成処理などの取扱いを簡素化できる。
【0007】
(構成2)構成1において、第2データにおいて、撮像画像データは第1圧縮方法によりデータ圧縮され、領域データは第1圧縮方法とは異なる第2圧縮方法によりデータ圧縮されてもよい。構成2によれば、撮像画像データおよび領域データのそれぞれに適した圧縮方法が採用されることで、違和感のない人物の画像を生成できる。
【0008】
(構成3)構成1または2において、第2圧縮方法は、第1圧縮方法に比較して、データの損失が少なくてもよい。領域データは、データの損失による品質の影響が相対的に大きいが、撮像画像データは、データの損失による品質の影響が相対的に小さい。そのため、構成3によれば、生成される人物の画像の品質を維持しつつ、第2データのデータ量を効率的に低減できる。
【0009】
(構成4)構成2または3において、第1圧縮方法は、非可逆圧縮であってもよい。第2圧縮方法は、可逆圧縮であってもよい。領域データは、撮像画像データに比較してデータ量が少ない。領域データの圧縮方式として可逆圧縮を採用することで、人物の領域の誤差などによる違和感を生じさせることを抑制できる。
【0010】
(構成5)構成1~4のいずれかにおいて、第2データは、H.264規格に従うストリームデータであってもよい。第2データは、撮像画像データを含む画像ストリームデータと、領域データを含む非画像ストリームデータとを含んでもよい。構成5によれば、画像データを含む画像ストリームデータおよび領域データを含む非画像ストリームデータが同一のストリームデータに含まれるので、画像データと領域データとの間の時間的なズレを低減できる。
【0011】
(構成6)構成5において、画像ストリームデータの各々は、画像データが含まれることを示す制御情報と、1フレーム分の撮像画像データとを含むNALユニットであってもよい。非画像ストリームデータの各々は、非画像データが含まれることを示す制御情報と、1フレーム分の領域データとを含むNALユニットであってもよい。構成6によれば、H.264規格に定められたNALユニットの構造を用いて、同じストリームデータを用いて、画像データおよび領域データを配信できる。
【0012】
(構成7)構成1~6のいずれかにおいて、受信端末は、第データに含まれる領域データに基づいて、第1データに含まれる撮像画像データのうち人物の領域以外の領域を、重畳先の実行中のゲームの画像が優先して表示されるように設定してもよい。構成7によれば、領域データに基づいて優先して表示される画像を決定することで、人物の画像を生成できるので、受信端末における画像の生成処理を簡素化できる。
【0013】
(構成8)構成1~7のいずれかにおいて、領域データは、撮像画像データに含まれる人物の輪郭に基づいて生成されてもよい。構成8によれば、撮像画像データに含まれる人物だけをゲームの画像に重畳できる。
【0014】
(構成9)ある実施の形態に従えば、1または複数の配信端末とネットワーク接続された情報処理装置が提供される。配信端末は、配信端末で実行中のゲームの画像データを含む第1データと、カメラから取得される撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第2データとを配信する。情報処理装置は、配信端末から第1データおよび第2データを受信する受信部と、領域データに基づいて、撮像画像データのうちの人物の領域が配信端末で実行中のゲームの画像に重畳して表示される配信表示画像を生成する生成部とを含む。
【0015】
(構成10)ある実施の形態に従う配信方法は、配信端末が、配信端末で実行中のゲームの画像データを含む第1データと、カメラから取得される撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第2データとを配信するステップと、受信端末が、配信端末から第1データおよび第2データを受信するステップと、受信端末が、第1データおよび第2データを受信し、領域データに基づいて、撮像画像データのうちの人物の領域が配信端末で実行中のゲームの画像に重畳して表示される配信表示画像を生成するステップとを含む。
【0016】
(構成11)ある実施の形態に従う配信プログラムは、ネットワーク接続されたコンピュータに、コンピュータで実行中のゲームの画像データを含む第1データと、カメラから取得される撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第2データとを配信するステップと、他のコンピュータから、他のコンピュータで実行中のゲームの画像データを含む第3データと、カメラから取得される撮像画像データおよび当該撮像画像データに含まれる人物の領域を示す領域データを含む第4データとを受信し、第3データに含まれる領域データに基づいて、第4データに含まれる撮像画像データのうちの人物の領域が他のコンピュータで実行中のゲームの画像に重畳して表示される配信表示画像を生成するステップとを実行させる。
【図面の簡単な説明】
【0017】
図1】本実施の形態に従うゲームシステムの構成例を示す模式図である。
図2】本実施の形態に従うゲーム装置のハードウェア構成例を示す模式図である。
図3】本実施の形態に従う配信サーバのハードウェア構成例を示す模式図である。
図4】本実施の形態に従うゲーム装置のディスプレイに表示されるスクリーン画像の一例を示す模式図である。
図5】本実施の形態に従うゲーム装置のディスプレイに表示されるカメラ画像の表示モードの一例を示す模式図である。
図6】本実施の形態に従うゲームシステムにおける配信データのデータ構造の一例を示す模式図である。
図7】本実施の形態に従うゲームシステムにおけるマスクデータの一例を説明するための図である。
図8】本実施の形態に従うゲームシステムにおける受信データのデータ構造の一例を示す模式図である。
図9】本実施の形態に従うゲームシステムの配信端末におけるソフトウェア構成例を示す模式図である。
図10】本実施の形態に従うゲームシステムの配信端末における処理手順を示すフローチャートである。
図11】本実施の形態に従うゲームシステムの受信端末におけるソフトウェア構成例を示す模式図である。
図12】本実施の形態に従うゲームシステムの受信端末における処理手順を示すフローチャートである。
図13】本実施の形態に従うゲームシステムの受信端末における処理手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0019】
[A.システム構成例]
まず、本実施の形態に従う情報処理システムの構成例について説明する。以下では、本開示に従う情報処理システムの一例として、ゲームシステムの構成例について説明する。
【0020】
図1は、本実施の形態に従うゲームシステム1の構成例を示す模式図である。ゲームシステム1は、1または複数のゲーム装置100を含む。ゲーム装置100は、情報処理装置の一例である。図1には、4つのゲーム装置100を含むゲームシステム1の構成例を示す。以下の説明において、複数のゲーム装置100の各々を特定する必要がある場合には、枝番号を付して区別する(例えば、図1に示す、ゲーム装置100-1,100-2,100-3,100-4)。
【0021】
ゲーム装置100の各々は、自装置において実行されるゲームプログラムなどが生成する画像データを他のゲーム装置100に配信できる。また、ゲーム装置100の各々は、他のゲーム装置100から配信される画像データを受信できるとともに、受信する画像データに基づく画像を自装置のディスプレイ120に表示できる。
【0022】
本明細書において、「配信」という用語は、少なくとも1つのゲーム装置100(情報処理装置の一例)がデータを他の1または複数のゲーム装置100に送信する処理を含む。あるゲーム装置100が他のゲーム装置100にデータを配信する方式は、1または複数の中継主体(例えば、配信サーバ200)を介してデータを送信する方式、および、受信端末にデータを直接送信する方式(例えば、P2P方式など)を含む。配信されるデータは、画像データに加えて、さまざまなデータを含んでもよい。
【0023】
配信に関係する処理は、少なくとも1つのゲーム装置100が他の少なくとも1つのゲーム装置100からデータを受信する処理を含む。
【0024】
以下では、説明の便宜上、他のゲーム装置100に画像データを配信するゲーム装置100を「配信端末」とも称し、他のゲーム装置100から画像データを受信するゲーム装置100を「受信端末」とも称す。1つのゲーム装置100が配信端末および受信端末の両方に該当することもある。また、ゲームシステム1は、配信システムと称することもできる。
【0025】
本明細書において、「画像データ」という用語は、動画像データ、および、1または複数の静止画データを含む。
【0026】
図1に示す構成例においては、ゲーム装置100-1は、自装置が生成する画像データを含む配信データ10-1を、1または複数の他のゲーム装置100に配信するとともに、1または複数の他のゲーム装置100が配信する受信データ20を受信する。ゲーム装置100は、受信データ20に基づいて再生される画像を含む画像をディスプレイ120に表示する。ゲーム装置100-2~100-4は、ゲーム装置100-1と同様の処理を実行する。
【0027】
図1において、ゲーム装置100-1~100-4のディスプレイ120にそれぞれ表示される画像中の数字「1」~「4」は、ゲーム装置100-1~100-4において実行中のゲームプログラムが生成するそれぞれの画像を意味する。なお、後述の通り、例えばゲーム装置100―1のディスプレイ120に表示される画像のうち、上方の「1」が表す画像と下方の「1」が表す画像とは、全く同じである必要はなく、画質が異なっていたり、異なる画像が重畳されていたりしてもよい。
【0028】
1または複数のゲーム装置100のうち少なくとも一部は、カメラ118を利用可能である。図1に示す構成例において、ゲーム装置100-1~100-4の各々は、カメラ118を利用可能である。ゲーム装置100が配信する配信データ10は、カメラ118から取得される撮像画像データを含んでもよい。
【0029】
ゲームシステム1は、配信サーバ200および管理サーバ300をさらに含む。1または複数のゲーム装置100、配信サーバ200、および、管理サーバ300は、ネットワーク4に接続されている。
【0030】
配信サーバ200は、ゲーム装置100が配信するデータを中継する。より具体的には、配信サーバ200は、1または複数のゲーム装置100から配信データ10を受信するとともに、受信する1または複数の配信データ10を含む、1または複数の受信データ20を1または複数のゲーム装置100に送信する。
【0031】
管理サーバ300は、1または複数のゲーム装置100が配信を行うために必要な管理を担当する。例えば、管理サーバ300は、ある配信に参加する1または複数のゲーム装置100を決定してもよい。管理サーバ300は、配信に参加可能なユーザアカウントを決定してもよいし、配信に参加可能なゲーム装置100の識別番号を決定してもよい。前者においては、決定されるユーザアカウントに関連付けられたユーザが配信に参加できる。後者においては、決定される識別番号をもつゲーム装置100が配信に参加できる。
【0032】
配信サーバ200および管理サーバ300は、単一の物理サーバに実装されてもよい。ゲームシステム1は、複数の配信サーバ200を含んでもよいし、複数の管理サーバ300を含んでもよい。配信サーバ200および管理サーバ300は、機能が分かれていなくてもよい。配信サーバ200および管理サーバ300は、仮想サーバであってもよい。
【0033】
以下の説明においては、ある配信に参加する1または複数のゲーム装置100(またはユーザ)の全体を「配信グループ」と称す。配信グループは、いずれかのゲーム装置100からの要求に応じて動的に生成されてもよいし、予め生成されてもよい。ある配信グループに属するゲーム装置100の各々は、他のゲーム装置100から画像を受信できる(すなわち、受信端末であり得る)。また、当該配信グループに属するゲーム装置100のうち少なくとも一部は、他のゲーム装置100に画像データを配信できる(すなわち、配信端末であり得る)。
【0034】
同一の配信グループに属するゲーム装置100の数には、上限(以下「参加上限数」とも称す。)が定められてもよい。参加上限数は、例えば、12台であってもよい。同一の配信グループにおいて、他のゲーム装置100に画像データを配信できるゲーム装置100(配信端末)の数にも上限(以下「配信上限数」とも称す。)が定められてもよい。配信上限数は、例えば、4台であってもよい。
【0035】
[B.ハードウェア構成例]
次に、本実施の形態に従うゲームシステム1に含まれる各装置のハードウェア構成例について説明する。
【0036】
(b1:ゲーム装置100)
図2は、本実施の形態に従うゲーム装置100のハードウェア構成例を示す模式図である。ゲーム装置100は、一種のコンピュータである。図2を参照して、ゲーム装置100は、例えば、1または複数のプロセッサ102と、1または複数のメモリ104と、通信部106と、カメラインターフェイス108と、ストレージ110と、入力部116と、ディスプレイ120と、マイク122と、スピーカ124とを含む。
【0037】
プロセッサ102は、ゲーム装置100における処理を実行するための処理主体である。プロセッサ102は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などを含む。プロセッサ102は、ストレージ110に格納されているプログラムをメモリ104に展開して実行する。
【0038】
メモリ104は、プロセッサ102がアクセス可能な揮発性記憶媒体であり、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などを含む。
【0039】
ストレージ110は、プロセッサ102がアクセス可能な不揮発性記憶媒体であり、例えば、フラッシュメモリやハードディスクなどを含む。ストレージ110は、例えば、カートリッジや光ディスクなどのゲーム装置100に着脱可能な記憶媒体を含んでもよい。
【0040】
ストレージ110は、例えば、システムプログラム112と、配信プログラム114と、ゲームプログラム180とを格納する。
【0041】
システムプログラム112は、ゲーム装置100のハードウェア制御やプログラム実行環境の提供などのためのコンピュータ読取可能命令を含む。
【0042】
配信プログラム114は、配信のための通信処理やカメラ118での撮像に必要な処理などのためのコンピュータ読取可能命令を含む。
【0043】
ゲームプログラム180は、アプリケーションプログラムの一例であり、ゲームを実行するためのコンピュータ読取可能命令を含む。
【0044】
本明細書において、「プロセッサ」という用語は、少なくとも、CPUやGPUなどのコンピュータ読取可能命令に従って処理を実行する処理回路と、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤード回路とを包含する。
【0045】
本明細書において、「メモリ」という用語は、少なくとも、メモリ104およびストレージ110を包含する。
【0046】
ゲーム装置100において、プロセッサやメモリなどの機能が集約されたSoC(System on Chip)が採用されてもよい。この場合において、プロセッサおよびメモリは、同一のSoC(集積回路)に存在する。そのため、本明細書において、「プロセッサ」および「メモリ」という用語は、互いに独立した構成、および、互いに一体化した構成を包含する。
【0047】
通信部106は、ネットワーク4を介して、他のゲーム装置100、配信サーバ200、管理サーバ300などとデータを送受信する。通信部106は、有線でネットワーク4と接続されてもよいし、無線でネットワーク4と接続されてもよい。
【0048】
カメラインターフェイス108は、カメラ118とデータを送受信する。カメラインターフェイス108は、有線でカメラ118と接続されてもよいし、無線でカメラ118と接続されてもよい。
【0049】
通信部106およびカメラインターフェイス108において、有線接続としては、例えば、USB(Universal Serial Bus)接続やパラレル接続などが用いられてもよい。無線接続としては、例えば、Bluetooth(登録商標)、ZigBee(登録商標)、無線LAN(IEEE 802.11規格)などが用いられてもよい。
【0050】
入力部116は、ユーザ操作を受け付ける。入力部116は、例えば、キーボード、マウス、ゲームコントローラ、ボタン、十字キーなどを含む。入力部116は、ユーザ操作を受け付ける装置(例えば、ゲームコントローラ)とのインターフェイスであってもよい。すなわち、ユーザ操作を受け付ける装置は、ゲーム装置100の外部に存在してもよい。
【0051】
ディスプレイ120は、プロセッサ102による処理によって生成される画像または映像を表示する。ディスプレイ120は、例えば、LCD(Liquid Crystal Display)や有機ELディスプレイなどを含む。なお、ディスプレイ120は、ゲーム装置100の外部に存在してもよい。この場合には、ゲーム装置100は、ディスプレイ120とのインターフェイス回路を含んでもよい。
【0052】
マイク122は、ゲーム装置100の筐体などに配置されており、音声を収集して音声信号を生成する。スピーカ124は、ゲーム装置100の筐体などに配置されており、音声信号から音声を生成する。マイク122およびスピーカ124のうち少なくとも一方は、ゲーム装置100の外部に存在してもよい。
【0053】
カメラ118は、ゲーム装置100からの指令に従って、または、所定条件に従って、被写体を撮像したカメラデータ(動画像データまたは静止画データ)を生成する。
【0054】
カメラ118は、例えば、CCD(Charge-Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの撮像素子を含む。撮像素子の前段には、レンズが配置されてもよい。
【0055】
カメラ118は、例えば、ビデオ通話用のカメラであってもよい。カメラ118は、特定のデバイスにのみ接続可能な専用カメラであってもよいし、任意のデバイスに接続可能な汎用カメラであってもよい。
【0056】
カメラ118は、有線または無線によりゲーム装置100に接続可能であってもよいし、ゲーム装置100に組み込まれてもよい。ゲーム装置100には、複数のカメラ118が接続可能であってもよい。
【0057】
情報処理装置の一例として、ゲーム装置100を例示したが、情報処理装置は、例えば、パーソナルコンピュータ、テレビ、スマートフォン、タブレットなどであってもよい。
【0058】
(b2:配信サーバ200)
図3は、本実施の形態に従う配信サーバ200のハードウェア構成例を示す模式図である。図3を参照して、配信サーバ200は、例えば、1または複数のプロセッサ202と、1または複数のメモリ204と、1または複数の通信部206と、ストレージ210と、入力部216とを含む。
【0059】
プロセッサ202は、配信サーバ200における処理を実行するための処理主体である。プロセッサ202は、例えば、CPUやGPUなどを含む。プロセッサ202は、ストレージ210に格納されているプログラムをメモリ204に展開して実行する。
【0060】
メモリ204は、プロセッサ202がアクセス可能な揮発性記憶媒体であり、例えば、DRAMやSRAMなどを含む。
【0061】
ストレージ210は、プロセッサ202がアクセス可能な不揮発性記憶媒体であり、例えば、ハードディスクやフラッシュメモリなどを含む。ストレージ210は、例えば、システムプログラム212および配信プログラム214などを格納する。
【0062】
システムプログラム212は、配信サーバ200のハードウェア制御やプログラム実行環境の提供などのためのコンピュータ読取可能命令を含む。
【0063】
配信プログラム214は、後述するような配信に必要な中継処理などを実行するためのコンピュータ読取可能命令を含む。
【0064】
通信部206は、ネットワーク4を介して、ゲーム装置100や管理サーバ300などとデータを送受信する。通信部206は、有線でネットワーク4と接続されてもよいし、無線でネットワーク4と接続されてもよい。
【0065】
入力部216は、ユーザ操作を受け付ける。入力部216は、例えば、キーボードやマウスなどを含む。
【0066】
(b3:管理サーバ300)
管理サーバ300のハードウェア構成例は、図3に示す配信サーバ200のハードウェア構成例と同様であるので、詳細な説明は繰り返さない。
【0067】
管理サーバ300のストレージに格納される配信プログラムは、後述するような配信の管理に必要な処理を実行するためのコンピュータ読取可能命令を含んでもよい。
【0068】
[C.スクリーン画像例]
次に、本実施の形態に従うゲームシステム1の配信におけるスクリーン画像例について説明する。
【0069】
図4は、本実施の形態に従うゲーム装置100-1のディスプレイ120に表示されるスクリーン画像126の一例を示す模式図である。図4には、図1に示す配信グループに属するゲーム装置100-1のスクリーン画像126の一例を示す。ゲーム装置100-1は、少なくとも受信端末として動作する。
【0070】
図4を参照して、スクリーン画像126は、主画像130と、配信表示画像140-1~140-4(以下「配信表示画像140」と総称することもある。)とを含む。
【0071】
配信表示画像140-2~140-4の各々は、配信グループに属する配信端末が配信する画像データに基づいて出力される。本実施の形態においては、ゲーム装置100-1自身が配信端末である。そのため、1つの配信表示画像140-1は、自装置において生成される画像データに基づいて出力される。他のゲーム装置100-2~100-4の各々は、ゲーム装置100-1が配信する配信データ10に基づいて、配信表示画像140-1と同じ配信表示画像140を表示する。なお、配信表示画像140の表示位置は、各ゲーム装置100によって異なってもよい。ゲーム装置100-1が配信端末ではない場合には、配信表示画像140-1~140-4のすべてが他の配信端末が配信する画像データに基づいて出力される。
【0072】
配信表示画像140-1~140-4の各々は、ゲーム画像142と、配信端末のユーザのユーザアイコン144と、配信端末のユーザのユーザ名146と、カメラ画像148とを含む。なお、ユーザアイコン144およびユーザ名146の少なくとも一方は、表示されなくてもよい。また、ゲーム画像142およびカメラ画像148の少なくとも一方は、表示されない場合があってもよい。また、これらの画像に加えて、または代えて、別の画像が表示されてもよい。
【0073】
ゲーム画像142は、配信端末において実行中のゲームプログラム180により生成されるゲーム画像データに基づいて出力される。配信端末のユーザは、ゲーム画像データを配信するか否かを設定できてもよい。ゲーム画像142は、実行中のゲームプログラムが生成する画像に限定されず、配信端末で生成される任意の画像であってもよい。例えば、ゲーム画像142は、配信端末のディスプレイ120に表示されるメニュー画面を示す画像であってもよいし、配信端末の配信プログラム114が生成する画像であってもよい。
【0074】
ユーザアイコン144は、配信端末のユーザによって、予め設定または生成されてもよい。ユーザ名146は、配信端末のユーザの情報(例えば、ユーザアカウント名)に基づいて表示される。ユーザアイコン144として表示すべき画像、および、ユーザ名146として表示すべきテキストは、ゲーム装置100が受信してもよいし、管理サーバ300から提供される、配信グループに参加しているユーザアカウントの属性情報など(図11に示すグループ情報170に含まれる)に基づいてゲーム装置100が生成してもよい。
【0075】
カメラ画像148は、配信端末に接続されたカメラ118での撮像により生成される撮像画像データに基づく。配信端末のユーザは、撮像画像データを配信するか否かを設定できてもよい。例えば、配信端末のユーザが撮像画像データの配信を許可していない場合には、カメラ画像148として、所定のデフォルト画像(例えば、黒画像)が表示されてもよい。配信端末における撮像画像データの配信の許可は、配信端末を使用中のユーザによって設定されてもよいし、他のユーザ(例えば、保護者)によって設定されてもよいし、配信端末や実行中のアプリケーションによって設定されてもよい。なお、配信端末にカメラ118が接続されていない場合には、カメラ画像148が表示される領域には何も表示されず、背景であるゲーム画像142が表示されてもよい。カメラ画像148を表示するための処理などについては、後述する。
【0076】
主画像130は、ゲーム画像132を含む。ゲーム画像132は、ゲーム装置100-1(自装置)において実行されるゲームプログラム180により生成されるゲーム画像データ(後述の出力画像データ128)に基づいて出力されてもよい。この場合、ゲーム装置100-1のユーザは、配信端末における(他のプレイヤの)ゲーム状況(ゲーム画像142)を見ながら、自身もゲームを楽しむことができる。また、ゲーム画像132は、自装置以外の配信端末から受信するゲーム画像データに基づいて出力されてもよい。
【0077】
配信表示画像140に含まれるゲーム画像142に比較して、主画像130に含まれるゲーム画像132の解像度(または、画素数)またはフレームレートは、高くてもよい。
【0078】
[D.カメラ画像148]
次に、配信表示画像140におけるカメラ画像148について説明する。
【0079】
図5は、本実施の形態に従うゲーム装置100のディスプレイ120に表示されるカメラ画像148の表示モードの一例を示す模式図である。なお、図5において、カメラ画像148の表示態様が明確化するように、ゲーム画像142を示す領域をハッチングで示している。なお、本実施の形態においては、カメラ画像148の表示モードは配信端末側で設定されるが、受信端末側で設定できてもよい。
【0080】
図5(A)~図5(D)に示すように、配信表示画像140において、カメラ画像148は、配信端末で実行中のゲームの画像(ゲーム画像142)に重畳して表示される。
【0081】
図5(A)には、輪郭切抜きモード表示148Aの一例を示す。輪郭切抜きモード表示148Aは、配信端末で撮像される画像のうち人物の部分を含む。このように、配信端末で撮像される画像のうちの人物の領域が、配信端末で実行中のゲーム画像142に重畳して表示される。重畳される人物の領域は、領域データに基づく。ゲーム画像142に重畳されたカメラ画像のうち、人物の領域以外の領域にはゲーム画像142が表示されることによって、人物の領域が切り抜かれてゲーム画像142に重畳されたように見える。
【0082】
輪郭切抜きモード表示148Aによれば、ゲームの画像とユーザの画像とが別々に表示される場合に比較して、受信端末のユーザは、ゲームの画像を配信している人物(例えばプレイヤ)を容易に認識できる。また、配信端末のユーザは、部屋の様子などを隠すことができる。また、重畳表示を採用することで、ディスプレイ面積を有効活用できる。また、ゲーム画像142がカメラ画像148によって隠れてしまう範囲を少なくした配信表示画像140を生成できる。なお、図5(A)に示す例では人物の胸から上の領域が表示されているが、例えば、撮像される画像に含まれる人物の全身の領域が表示されてもよい。
【0083】
図5(B)には、顔モード表示148Bの一例を示す。顔モード表示148Bは、配信端末で撮像される画像のうち、人物の顔を包含する所定形状の画像を含む。受信端末のユーザは、ゲーム中のプレイヤの表情などを確認しやすい。所定形状は限定されず、例えば、円、楕円、多角形のいずれであってもよい。このように、配信端末で撮像される画像のうちの人物の顔を包含する所定形状の領域が配信端末で実行中のゲーム画像142に重畳して表示される。顔モード表示148Bにおいて、受信端末は、配信端末から配信される撮像画像データのうちの所定形状の領域を切り抜く。そのため、配信端末は、切り抜かれる所定形状に対応する位置に人物の顔が存在するように、撮像画像データを生成して配信する。
【0084】
図5(C)には、無加工モード表示148Cの一例を示す。無加工モード表示148Cは、配信端末のカメラ118により撮像される画像をそのまま含む。そのため、無加工モード表示148C(カメラ画像148)は、被写体として、ユーザに加えて、当該ユーザの背景に存在する物を含み得る。
【0085】
図5(D)には、背景ぼかしモード表示148Dの一例を示す。背景ぼかしモード表示148D(カメラ画像148)は、配信端末のカメラ118により撮像される画像のうち、人物以外の部分をぼかした画像を含む。
【0086】
[E.配信データ10および受信データ20]
次に、本実施の形態に従うゲームシステム1の配信における配信データ10および受信データ20について説明する。
【0087】
図6は、本実施の形態に従うゲームシステム1における配信データ10のデータ構造の一例を示す模式図である。
【0088】
図6を参照して、配信データ10は、例えば、ストリーミングに適したデータ形式であってもよい。配信データ10は、例えば、第1ストリームデータ11と、第2ストリームデータ13とを含む。
【0089】
第1ストリームデータ11は、配信表示画像140のゲーム画像142の生成に必要な画像データを含む。第2ストリームデータ13は、配信表示画像140のカメラ画像148の出力に必要な画像データを含む。
【0090】
第1ストリームデータ11は、例えば、制御情報111と、ゲーム画像データ113とを含む。制御情報111は、例えば、ストリームデータの開始を示すビット列と、ストリームデータに含まれるデータの種類を示す識別情報と、データサイズを示す情報とを含む。ゲーム画像データ113は、配信端末で実行中のゲームの画像データを含む。
【0091】
ゲーム画像データ113は、キーフレーム(フレーム間圧縮が行われていないフレーム)および差分フレーム(デルタフレーム)のいずれかを含んでもよい。
【0092】
第2ストリームデータ13は、マスクストリームデータ15と、画像ストリームデータ14とを含んでもよい。マスクストリームデータ15は、輪郭切抜きモード表示148A(図5(A)参照)を行うために必要なマスクデータを含む。画像ストリームデータ14は、カメラ画像148の出力に必要な画像データを含む。
【0093】
マスクストリームデータ15は、例えば、制御情報151と、マスクデータ153とを含む。制御情報151は、第1ストリームデータ11の制御情報111と同様であってもよい。
【0094】
マスクデータ153は、撮像画像データ143のうち、配信表示画像140のカメラ画像148として表示すべき領域を特定する領域データである。マスクデータ153は、撮像画像データ143に含まれる人物の領域を示す。
【0095】
画像ストリームデータ14は、例えば、制御情報141と、撮像画像データ143とを含む。制御情報141は、第1ストリームデータ11の制御情報111と同様であってもよい。
【0096】
撮像画像データ143は、配信端末のカメラ118から取得される画像データである。より具体的には、撮像画像データ143は、配信端末のカメラ118での撮像により生成されるカメラデータに基づいて生成される。カメラ118が出力するカメラデータがそのまま撮像画像データ143として使用されてもよいし、カメラ118が出力するカメラデータが画像処理されて撮像画像データ143として使用されてもよい。画像処理は、例えば、カメラデータの一部領域の抽出、画像サイズ調整(縮小/拡大)、画質調整(明るさ、コントラスト、色調など)などを含む。
【0097】
図7は、本実施の形態に従うゲームシステム1におけるマスクデータ153の一例を視覚的に説明するための図である。
【0098】
図7(A)には、カメラ118が出力するカメラデータの一部を抽出した部分画像を撮像画像データ143とする例を示す。図7(B)には、カメラ118が出力するカメラデータの全体画像を撮像画像データ143とする例を示す。なお、図7(B)の例では、人物の上半身が最終的に表示されるように生成されたマスクデータ153が示されているが、マスクデータ153は、例えば人物の全身が最終的に表示されるように生成されてもよい。図7に示す例では、いずれの撮像画像データ143も、被写体として、背景に存在する物を含む。
【0099】
マスクデータ153は、撮像画像データ143に対応付けて生成される。例えば、マスクデータ153は、撮像画像データ143に含まれる人物の輪郭に基づいて生成されてもよい。このとき、マスクデータ153が示す人物の領域は、人物の輪郭に沿う線に囲まれる領域とも言える。
【0100】
人物の輪郭に沿う線は、人物の輪郭に対して多少外側に位置してもよいし、人物の輪郭に厳密に沿ったものでなくてもよい。例えば、マスクデータ153が示す人物の領域は、人物の輪郭から所定距離だけ外側の領域を含むものであってもよい。そのため、マスクデータ153が示す人物の領域は、カメラデータに含まれる人物の背景を含んでもよい。
【0101】
人物の輪郭を特定する処理には、任意の画像処理アルゴリズムを用いることができる。マスクデータ153が示す人物の領域は、人物の輪郭に基づいて生成されるだけではなく、任意の方法で決定されてもよい。
【0102】
図7に示す例では、マスクデータ153は、撮像画像データ143において人物が存在する領域と、それ以外の領域とを特定するための情報を含む。例えば、マスクデータ153は、画素ごとに、人物の領域であるか否かを示す2値(例えば、「0」と「1」)が設定されたデータである。マスクデータ153は、図7に示す例のように2色の画像データであってもよい。
【0103】
受信端末は、第2ストリームデータ13に含まれる、マスクデータ153と撮像画像データ143とを用いて、輪郭切抜きモード表示148Aのようなカメラ画像148が表示される配信画像を出力する。受信端末は、撮像画像データ143のうち人物が存在する領域は有効に表示されないように処理してもよい。例えば、人物が存在しない領域は、透明化されてもよい。また、受信端末は、撮像画像データ143のうち人物が存在する領域を切り抜いた画像データを生成してもよい。
【0104】
図5(A)に示す輪郭切抜きモード表示148Aによれば、マスクデータ153によって人物の領域が特定されるので、人物の領域をゲーム画像142に重畳した表示を実現できる。
【0105】
マスクデータ153の各画素には、2値の画素値が設定される例を示したが、多値を設定できるようにしてもよい。例えば、人物が存在しない領域に対して、表示を無効化すべきことを示す「0」、または、ぼかすべきことを示す「2」を設定してもよい。
【0106】
また、人物が存在する領域を「1」に割り当てる例を説明したが、人物が存在する領域と、それ以外の領域とが区別できれば、どのような値の割当てを採用してもよい。
【0107】
第2ストリームデータ13は、撮像画像データ143に対応する表示モードを示す情報を含んでもよい。第2ストリームデータ13が表示モードを示す情報を含むことで、受信端末における配信表示画像140の生成処理を簡素化または高速化できる。一例として、第2ストリームデータ13は、人物の輪郭を切り抜いて表示するモードであることを示す情報を含んでもよい。
【0108】
第2ストリームデータ13において、マスクデータ153のデータ圧縮方法と、撮像画像データ143のデータ圧縮方法とは、異なるものであってもよい。例えば、マスクデータ153は、2値の画像データであるので、PNG(Portable Network Graphics)形式などの可逆圧縮の画像フォーマットで出力されてもよい。また、マスクデータ153は、例えば、可逆圧縮の一例であるランレングス圧縮法やハフマン圧縮などを用いてデータ圧縮がなされてもよい。これに対して、撮像画像データ143は、非可逆圧縮の一例であるフレーム間差分法を用いてデータ圧縮がなされてもよい。この場合、撮像画像データ143は、キーフレーム(フレーム間圧縮が行われていないフレーム)および差分フレームのいずれかを含む。いずれの場合においても、マスクデータ153のデータ圧縮方法は、撮像画像データ143のデータ圧縮方法に比較して、データの損失が少なくなる。
【0109】
配信表示画像140におけるカメラ画像148の表示モードは、配信端末のユーザによって選択されてもよい。顔モード、無加工モード、および背景ぼかしモードのいずれかが選択される場合には、マスクデータ153のすべての画素値が「1」であってもよい。あるいは、マスクデータ153は実質的に不要となるので、第2ストリームデータ13にマスクデータ153(または、マスクストリームデータ15自体)を含めないようにしてもよい。
【0110】
第1ストリームデータ11および第2ストリームデータ13は、任意の動画圧縮規格に従って生成されてもよい。例えば、第1ストリームデータ11および第2ストリームデータ13は、H.264(MPEG-4 AVC)規格に従って生成されてもよい。すなわち、第1ストリームデータ11および第2ストリームデータ13のうち少なくとも一部は、H.264規格に従うストリームデータであってもよい。
【0111】
H.264規格に従って生成される場合において、第2ストリームデータ13に含まれる、マスクストリームデータ15および画像ストリームデータ14の各々は、NAL(Network Abstraction Layer)ユニットに相当する。すなわち、第2ストリームデータ13は、NALユニットで区切られた、マスクストリームデータ15および画像ストリームデータ14を含む。
【0112】
例えば、マスクストリームデータ15は、領域データの一例であるマスクデータ153を含む、非VCL-NALユニットに相当する。マスクストリームデータ15の制御情報151は、非VCL-NALユニットであることを示す情報を含んでもよい。このように、マスクストリームデータ15は、マスクストリームデータ15に非画像データが含まれることを示す制御情報151と、1フレーム分のマスクデータ153とを含むNALユニットである。
【0113】
画像ストリームデータ14は、撮像画像データ143を含む、VCL(Video Coding Layer)-NALユニットに相当する。画像ストリームデータ14の制御情報141は、VCL-NALユニットであることを示す情報、および、キーフレームまたは差分フレームを示す情報を含んでもよい。このように、画像ストリームデータ14は、画像ストリームデータ14に画像データが含まれることを示す制御情報141と、1フレーム分の撮像画像データ143とを含むNALユニットである。
【0114】
例えば、画像ストリームデータ14を処理する際には、直前に受信したマスクストリームデータ15が用いられる。第2ストリームデータ13において、マスクストリームデータ15と、画像ストリームデータ14との配置順序は、いずれであってもよい。また、第2ストリームデータ13において、画像ストリームデータ14とマスクストリームデータ15とは、厳密に交互に配置されなくてもよい。
【0115】
第1ストリームデータ11および第2ストリームデータ13のフレームレートは、互いに異なってもよい。例えば、第1ストリームデータ11および第2ストリームデータ13のフレームレートは、通信情報、配信端末の処理負荷、配信グループに属するゲーム装置100の数、配信サーバ200の負荷などに応じて、動的に変化させてもよい。
【0116】
図8は、本実施の形態に従うゲームシステム1における受信データ20のデータ構造の一例を示す模式図である。
【0117】
図8を参照して、受信データ20は、例えば、1または複数の配信端末の各々から配信される配信データ10(第1ストリームデータ11および第2ストリームデータ13)を含む。
【0118】
第1ストリームデータ11および第2ストリームデータ13のフレームレートは、配信端末ごとに異なってもよい。
【0119】
配信サーバ200が1または複数の配信端末の各々から配信される配信データ10を中継する場合には、配信サーバ200が配信データ10の一部または全部を加工した後に、受信端末に転送してもよい。
【0120】
[F.配信のための処理例]
次に、ゲーム装置100における配信のための処理例について説明する。
【0121】
(f1:配信端末)
図9は、本実施の形態に従うゲームシステム1の配信端末におけるソフトウェア構成例を示す模式図である。図9には、ゲーム装置100が配信端末として動作する場合に着目したソフトウェア構成例が示されており、説明の便宜上、その他の処理モジュールは図示されていない。
【0122】
図9を参照して、配信端末として動作するゲーム装置100は、カメラデータ取得部150と、カメラ画像処理部152と、データ配信部154と、ゲームプログラム実行部156と、ゲーム画像処理部158とを含む。
【0123】
例えば、カメラデータ取得部150、カメラ画像処理部152、データ配信部154、および、ゲーム画像処理部158は、ゲーム装置100のプロセッサ102が、システムプログラム112を実行している環境において、配信プログラム114を実行することで実現される。ゲームプログラム実行部156は、ゲーム装置100のプロセッサ102が、システムプログラム112を実行している環境において、ゲームプログラム180を実行することで実現される。
【0124】
カメラデータ取得部150は、カメラ118が出力するカメラデータ119を取得する。カメラデータ取得部150は、撮像画像データの配信が許可されている場合に限って、カメラデータ119を取得してもよい。
【0125】
カメラ画像処理部152は、カメラデータ119に基づいて、撮像画像データ143を生成する。カメラ画像処理部152は、必要に応じて、マスクデータ153を生成する。以下に例示するように、カメラ画像処理部152は、表示モードに応じて、撮像画像データ143およびマスクデータ153の生成処理を異ならせる。
【0126】
カメラ画像処理部152は、輪郭切抜きモードが選択されると、カメラデータ119の被写体として含まれる人物の位置および輪郭を特定する。カメラ画像処理部152は、カメラデータ119に基づいて撮像画像データ143を生成する。撮像画像データ143は、カメラデータ119と同じであってもよいし、人物が含まれる領域の位置およびサイズに基づいてカメラデータ119の画像サイズを調整した画像データであってもよい。
【0127】
カメラ画像処理部152は、顔モードが選択されると、カメラデータ119の被写体として含まれる人物の顔の位置を特定する。カメラ画像処理部152は、特定した位置を基準とする領域(例えば、矩形)を抽出し、抽出した領域の画像サイズを調整して、撮像画像データ143を生成する。顔モードが選択されると、受信端末は、受信する撮像画像データ143から、位置および大きさが予め設定された所定形状を切り抜くため、カメラ画像処理部152は、受信端末において切り抜かれる所定形状の領域内に人物の顔が存在するように、カメラデータ119から抽出する領域を決定する。
【0128】
カメラ画像処理部152は、無加工モードが選択されると、カメラデータ119をそのまま撮像画像データ143として出力する。
【0129】
カメラ画像処理部152は、背景ぼかしモードが選択されると、カメラデータ119の被写体として含まれる人物の輪郭を特定する。カメラ画像処理部152は、カメラデータ119のうち、特定した人物の輪郭以外の領域をぼかして、撮像画像データ143を生成する。
【0130】
カメラ画像処理部152は、輪郭切抜きモードまたは顔モードが選択された場合に、人物または人物の顔を特定できない場合には、所定のデフォルト画像データ(例えば、黒画像データ)を撮像画像データ143として出力してもよい。
【0131】
カメラ画像処理部152は、顔モード、無加工モード、および背景ぼかしモードのいずれかが選択されると、すべての画素値が「1」であるマスクデータ153を生成してもよいし、マスクデータ153を生成しなくてもよい。
【0132】
ゲームプログラム実行部156は、ゲームプログラム180に含まれるコンピュータ読取可能命令に従って、ユーザ操作に応じてゲームを進行する。ゲームプログラム実行部156は、実行中のゲームの画像データとして、出力画像データ128を出力する。出力画像データ128は、ユーザがゲーム装置100においてゲームをプレイする際に表示される解像度(または、画素数)およびフレームレートを有している。
【0133】
ゲーム画像処理部158は、出力画像データ128からゲーム画像データ113を生成する。ゲーム画像処理部158は、例えば、出力画像データ128をダウンサンプリングやダウンコンバートすることで、ゲーム画像データ113を生成する。
【0134】
データ配信部154は、ゲーム画像データ113に基づいて、第1ストリームデータ11を生成および配信する。
【0135】
データ配信部154は、撮像画像データ143およびマスクデータ153に基づいて、第2ストリームデータ13を生成および配信する。
【0136】
図10は、本実施の形態に従うゲームシステム1の配信端末における処理手順を示すフローチャートである。図10に示す各ステップは、例えば、ゲーム装置100のプロセッサ102がシステムプログラム112および配信プログラム114を実行することで実現される。なお、ゲーム装置100のプロセッサ102は、ゲームプログラム180も実行しているとする。
【0137】
ゲーム装置100は、配信グループに参加するための処理を予め実行して、ある配信グループに属するとともに、当該配信グループにおいて配信端末として動作しているとする。
【0138】
図10を参照して、ゲーム装置100は、実行中のゲームプログラム180が出力する出力画像データ128を取得する(ステップS100)。ゲーム装置100は、出力画像データ128からゲーム画像データ113を生成する(ステップS102)。
【0139】
ゲーム装置100は、ゲーム画像データ113に基づいて、第1ストリームデータ11を生成し(ステップS104)、生成した第1ストリームデータ11を配信する(ステップS106)。
【0140】
ゲーム装置100は、撮像画像データの配信が許可されているか否かを判断する(ステップS108)。
【0141】
撮像画像データの配信が許可されていなければ(ステップS108においてNO)、ゲーム装置100は、予め定められた画像データ(例えば、すべての画素値が「0」である黒画像データ)を撮像画像データ143として出力し(ステップS110)、すべての画素値が「0」であるマスクデータ153を生成する(ステップS112)。
【0142】
撮像画像データの配信が許可されていれば(ステップS108においてYES)、ゲーム装置100は、ユーザが設定している表示モードを取得する(ステップS114)。ゲーム装置100は、カメラ118からカメラデータ119を取得し(ステップS116)、表示モードに従って、カメラデータ119を画像処理して、撮像画像データ143およびマスクデータ153を生成する(ステップS118)。ステップS118の処理は、図9に示すカメラ画像処理部152について説明した処理と同様である。
【0143】
ゲーム装置100は、マスクデータ153および撮像画像データ143に基づいて、第2ストリームデータ13を生成し(ステップS120)、生成した第2ストリームデータ13を配信する(ステップS122)。
【0144】
ゲーム装置100は、配信端末として動作する状態が維持されているか否かを判断する(ステップS124)。配信端末として動作する状態が維持されていれば(ステップS124においてYES)、ステップS100以下の処理が繰り返される。配信端末として動作する状態が維持されていなければ(ステップS124においてNO)、処理は終了する。
【0145】
なお、ステップS118において、マスクデータ153が生成されなくてもよい。また、ステップS120において、第2ストリームデータ13の生成にマスクデータ153が用いられない場合があってもよい。また、ステップS112の処理は省略されてもよい。
【0146】
(f2:受信端末)
図11は、本実施の形態に従うゲームシステム1の受信端末におけるソフトウェア構成例を示す模式図である。図11には、ゲーム装置100が受信端末として動作する場合に着目したソフトウェア構成例が示されており、説明の便宜上、その他の処理モジュールは図示されていない。
【0147】
図11を参照して、受信端末として動作するゲーム装置100は、カメラデータ取得部150と、カメラ画像処理部152と、ゲームプログラム実行部156と、ゲーム画像処理部158と、データ受信部160と、カメラ画像生成部162と、配信表示画像生成部164と、スクリーン画像生成部166とを含む。
【0148】
例えば、カメラデータ取得部150、カメラ画像処理部152、ゲーム画像処理部158、データ受信部160、カメラ画像生成部162、配信表示画像生成部164、および、スクリーン画像生成部166は、ゲーム装置100のプロセッサ102が、システムプログラム112を実行している環境において、配信プログラム114を実行することで実現される。ゲームプログラム実行部156は、ゲーム装置100のプロセッサ102が、システムプログラム112を実行している環境において、ゲームプログラム180を実行することで実現される。
【0149】
カメラデータ取得部150、カメラ画像処理部152、ゲームプログラム実行部156、および、ゲーム画像処理部158は、受信端末が配信端末でもある場合に有効化される。これらの処理は、図9に示す配信端末における処理と同様であるので、詳細な説明は繰り返さない。ただし、カメラ画像処理部152は、撮像画像データ143およびマスクデータ153を生成するのではなく、自装置についての配信表示画像140のカメラ画像148を表示するために用いられるカメラ画像データ173を生成する。カメラ画像データ173は、例えば、人物の領域以外には重畳先の画像(例えばゲーム画像)が優先して表示される画像データである。配信端末は、カメラ画像データ173を生成する際に利用したデータに基づいてマスクデータ153を生成してもよい。
【0150】
ゲームプログラム実行部156は、実行中のゲームの画像データとして、出力画像データ128を出力する。
【0151】
データ受信部160は、1または複数の配信端末の各々から、第1ストリームデータ11および第2ストリームデータ13を受信する。
【0152】
カメラ画像生成部162は、第2ストリームデータ13に含まれる撮像画像データ143およびマスクデータ153に基づいて、カメラ画像データ171を生成する。カメラ画像データ171は、例えば、人物の領域以外には重畳先の画像(例えばゲーム画像)が優先して表示される画像データである。
【0153】
カメラ画像生成部162は、マスクデータ153に基づいて、撮像画像データ143のうち人物の領域以外をマスキングする。マスキングの処理は、第2ストリームデータ13に含まれるマスクデータ153に基づいて、第2ストリームデータ13に含まれる撮像画像データ143のうち人物の領域以外の領域を、重畳先のゲーム画像データ113(実行中のゲームの画像)が優先して表示されるように設定することを含む。
【0154】
より具体的には、カメラ画像生成部162は、撮像画像データ143を構成する画素のうち、人物の領域以外の領域(例えば、マスクデータ153において「0」が設定される画素)に対応する画素の画素値を透明であることを示す値に変更してもよい。あるいは、カメラ画像生成部162は、マスクデータ153の各画素が示す値(「0」または「1」)に応じて、対応する画素の画素値として、ゲーム画像データ113および撮像画像データ143のうちいずれの画素を採用するのかを決定してもよい。
【0155】
配信表示画像生成部164は、第1ストリームデータ11に含まれるゲーム画像データ113と、カメラ画像データ171とに基づいて、配信表示画像データ175を生成する。より具体的には、配信表示画像生成部164は、ゲーム画像データ113にカメラ画像データ171を重畳する。配信表示画像生成部164は、管理サーバ300などから受信するグループ情報170に基づいて、ユーザアイコン144およびユーザ名146(図4参照)を表現するための画像データを生成してもよい。
【0156】
配信表示画像生成部164は、配信端末ごとに、配信表示画像データ175を生成する。
【0157】
スクリーン画像生成部166は、出力画像データ128と、配信端末ごとの配信表示画像データ175とに基づいて、スクリーン画像126をディスプレイ120に表示する。出力画像データ128は、スクリーン画像126の主画像130として表示されてもよい。
【0158】
このように、受信端末として動作するゲーム装置100は、配信端末から受信される第1ストリームデータ11および第2ストリームデータ13に基づいて、配信端末で実行中のゲームの画像と撮像画像とを含む配信表示画像140を生成する。
【0159】
上述したように、ゲームシステム1において、配信端末は、実行中のゲームの画像データであるゲーム画像データ113と、カメラ118から取得される撮像画像データ143とをそれぞれ独立して配信する。受信端末は、それぞれのデータを独立して受信し、配信端末で実行中のゲームの画像に、配信端末のユーザの画像を重畳して表示する。2種類の画像を独立して送信することで、配信端末のカメラ118から取得される人物の画像を受信端末においてフレキシブルに利用できる。
【0160】
なお、配信端末が、撮像される画像をゲームの画像に重畳した上で配信する方法も想定され得る。この方法では、例えば、何らかの理由によって送信端末が撮像される画像を取得できない場合や、配信者が撮像される画像を配信したくない場合などにおいて、ゲームの画像も含めた画像データ自体を受信端末で受信できない、および、撮像される画像の部分が不自然に切り抜かれたゲームの画像が表示されてしまう、などのおそれがある。本実施の形態に従うゲームシステム1は、上述したような事態の発生を抑制する。
【0161】
図12および図13は、本実施の形態に従うゲームシステム1の受信端末における処理手順を示すフローチャートである。図12および図13に示す各ステップは、例えば、ゲーム装置100のプロセッサ102がシステムプログラム112および配信プログラム114を実行することで実現される。なお、ゲーム装置100のプロセッサ102は、ゲームプログラム180も実行しているとする。
【0162】
ゲーム装置100は、配信グループに参加するための処理を予め実行して、ある配信グループに属することで、当該配信グループにおいて受信端末として動作しているとする。
【0163】
図12および図13を参照して、ゲーム装置100は、実行中のゲームプログラム180が出力する出力画像データ128に基づいて、ディスプレイ120に表示される主画像130を更新する(ステップS200)。
【0164】
ゲーム装置100は、自装置が配信端末であるか否かを判断する(ステップS202)。自装置が配信端末でなければ(ステップS202においてNO)、ステップS204~S216の処理はスキップされる。
【0165】
自装置が配信端末であれば(ステップS202においてYES)、ゲーム装置100は、出力画像データ128からゲーム画像データ113を生成する(ステップS204)。
【0166】
ゲーム装置100は、撮像画像データの配信が許可されているか否かを判断する(ステップS206)。
【0167】
撮像画像データの配信が許可されていなければ(ステップS206においてNO)、ゲーム装置100は、予め定められた画像データ(例えば、デフォルトアイコン)をカメラ画像データ173として出力する(ステップS208)。
【0168】
撮像画像データの配信が許可されていれば(ステップS206においてYES)、ゲーム装置100は、ユーザが設定している表示モードを取得する(ステップS210)。ゲーム装置100は、カメラ118からカメラデータ119を取得し(ステップS212)、表示モードに従って、カメラデータ119を画像処理して、カメラ画像データ173を生成する(ステップS214)。ステップS214の処理は、図9に示すカメラ画像処理部152について説明した処理と同様である。ただし、ステップS214において、マスクデータを生成する必要はない。
【0169】
ゲーム装置100は、ゲーム画像データ113およびカメラ画像データ173に基づいて、ディスプレイ120に表示される、自装置についての配信表示画像140を更新する(ステップS216)。
【0170】
ゲーム装置100は、配信端末のうち1つに着目し(ステップS218)、着目する配信端末から配信された第1ストリームデータ11および第2ストリームデータ13を受信する(ステップS220)。なお、第1ストリームデータ11の受信、および、第2ストリームデータ13の受信は、互いに独立して実行されてもよい。
【0171】
ゲーム装置100は、着目する配信端末からの第1ストリームデータ11に含まれるゲーム画像データ113を取得する(ステップS222)。ゲーム装置100は、着目する配信端末からの第2ストリームデータ13に含まれる撮像画像データ143およびマスクデータ153を取得する(ステップS224)。なお、第2ストリームデータ13にマスクデータ153が含まれない場合もある。ゲーム装置100は、撮像画像データ143およびマスクデータ153に基づいて、カメラ画像データ171を生成する(ステップS226)。
【0172】
ゲーム装置100は、ゲーム画像データ113およびカメラ画像データ171に基づいて、ディスプレイ120に表示される、注目する配信端末についての配信表示画像140を更新する(ステップS228)。
【0173】
ゲーム装置100は、すべての配信端末について、配信表示画像140を更新する処理が完了したか否かを判断する(ステップS230)。配信表示画像140を更新する処理が完了していない配信端末が存在していれば(ステップS230においてNO)、ステップS218以下の処理が繰り返される。
【0174】
すべての配信端末について、配信表示画像140を更新する処理が完了していれば(ステップS230においてYES)、ゲーム装置100は、配信グループへの係属が継続しているか否かを判断する(ステップS232)。配信グループへの係属が継続していれば(ステップS232においてYES)、ステップS200以下の処理が繰り返される。配信グループへの係属が終了していれば(ステップS232においてNO)、処理は終了する。
【0175】
[G.変形例]
上述において、輪郭切抜きモードが選択された場合に、マスクデータ153が利用される処理例を説明した。輪郭切抜きモードに加えて、または代えて、他のモードにおいてもマスクデータ153を利用して人物の領域がゲーム画像に重畳されてもよい。例えば、顔モードにおいてマスクデータ153が利用されてもよい。顔モードにおいては、所定形状の領域が切り抜かれるので、当該切り抜かれる領域を示すマスクデータ153が配信される。この変形例においては、マスクデータ153は、人物の領域を示す情報であってもよいし、配信される撮像画像データのうちの切り抜く領域を示す情報であってもよい。
【0176】
上述の図11図13において、配信端末および受信端末の両方に該当するゲーム装置100においては、自装置のカメラ118が出力するカメラデータ、および、自装置において実行されるゲームプログラム180により生成されるゲーム画像データ113に基づいて、自装置の配信表示画像140が生成される。このような処理に代えて、自装置が配信する第1ストリームデータ11および第2ストリームデータ13を自装置が受信し、この受信したデータに基づいて、自装置の配信表示画像140が生成されてもよい。
【0177】
上述において、配信端末から配信される撮像画像データ143を配信端末から配信されるゲーム画像データ113(配信表示画像140)に重畳する処理例を説明したが、撮像画像データ143は、どのように使用されてもよい。例えば、撮像画像データ143およびマスクデータ153に基づいて生成されるカメラ画像は、受信端末において実行されるゲームプログラム180が出力する任意の画像に重畳されてもよいし、主画像130に重畳されてもよい。さらに、カメラ画像は、受信端末において出力される任意の画像(例えば、背景の静止画像など)に重畳されてもよい。
【0178】
上述において、配信端末において、撮像画像データの配信が許可されていない場合には、第2ストリームデータ13は、撮像画像データ143に代えて、所定のデフォルト画像を含む例を説明した。このとき、すべての画素値が「0」であるマスクデータ153も同時に配信されるのであれば、受信端末においては、第2ストリームデータ13が撮像画像データ143を含んでいるか否かにかかわらず、カメラ画像148は表示されない。そこで、カメラデータから生成される撮像画像データ143を配信端末から常に配信する一方で、マスクデータ153の画素値を適宜変更することで、受信端末におけるカメラ画像148の表示の有無などを制御してもよい。
【0179】
本実施の形態に従うゲームシステム1において、配信端末は、自装置の画像だけではなく、ユーザが発話する音声を配信してもよい。音声は、画像と併せて配信されてもよいし、別のストリームデータで配信されてもよい。
【0180】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0181】
1 ゲームシステム、4 ネットワーク、10 配信データ、11 第1ストリームデータ、13 第2ストリームデータ、14 画像ストリームデータ、15 マスクストリームデータ、20 受信データ、100 ゲーム装置、102,202 プロセッサ、104,204 メモリ、106,206 通信部、108 カメラインターフェイス、110,210 ストレージ、111,141,151 制御情報、112,212 システムプログラム、113 ゲーム画像データ、114,214 配信プログラム、116,216 入力部、118 カメラ、119 カメラデータ、120 ディスプレイ、122 マイク、124 スピーカ、126 スクリーン画像、128 出力画像データ、130 主画像、132,142 ゲーム画像、140 配信表示画像、143 撮像画像データ、144 ユーザアイコン、146 ユーザ名、148 カメラ画像、148A 輪郭切抜きモード表示、148B 顔モード表示、148C 無加工モード表示、148D 背景ぼかしモード表示、150 カメラデータ取得部、152 カメラ画像処理部、153 マスクデータ、154 データ配信部、156 ゲームプログラム実行部、158 ゲーム画像処理部、160 データ受信部、162 カメラ画像生成部、164 配信表示画像生成部、166 スクリーン画像生成部、170 グループ情報、171,173 カメラ画像データ、175 配信表示画像データ、180 ゲームプログラム、200 配信サーバ、300 管理サーバ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13