(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024101297
(43)【公開日】2024-07-29
(54)【発明の名称】プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
A63F 13/79 20140101AFI20240722BHJP
A63F 13/58 20140101ALI20240722BHJP
A63F 13/798 20140101ALI20240722BHJP
A63F 13/65 20140101ALI20240722BHJP
G10L 25/51 20130101ALI20240722BHJP
A63F 13/814 20140101ALI20240722BHJP
A63F 13/424 20140101ALI20240722BHJP
【FI】
A63F13/79
A63F13/58
A63F13/798
A63F13/65
G10L25/51
A63F13/814
A63F13/424
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023005198
(22)【出願日】2023-01-17
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】523019734
【氏名又は名称】株式会社NFT JAPAN
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】川本 学
(72)【発明者】
【氏名】笹嶋 邦則
(57)【要約】
【課題】仮想的なアイドルのアイドルNFTを、当該アイドルを割り当てたユーザに付与することが可能なプログラム等を提供すること。
【解決手段】一つの側面に係るプログラムは、学習モデルにより生成されたアイドルをユーザに割り当て、前記アイドルの属性をブロックチェーンシステム2に記憶し、前記アイドルのアイドルNFTを前記ブロックチェーンシステム2上で前記ユーザに付与する処理をコンピュータ1に実行させる。これにより、仮想的なアイドルのアイドルNFTを、当該アイドルを割り当てたユーザに付与することが可能となる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
学習モデルにより生成されたアイドルをユーザに割り当て、
前記アイドルの属性をブロックチェーンシステムに記憶し、
前記アイドルのアイドルNFT(非代替性トークン;Non-Fungible Token)を前記ブロックチェーンシステム上で前記ユーザに付与する
処理をコンピュータに実行させるプログラム。
【請求項2】
前記ユーザの音声の入力を受け付け、
受け付けた音声に基づき、前記学習モデルにより生成されたアイドルを前記ユーザに割り当てる
請求項1に記載のプログラム。
【請求項3】
前記ユーザの音声に基づくパラメータを特定し、
特定したパラメータを、割り当てた前記アイドルの属性の一つとして記憶部に記憶する
請求項2に記載のプログラム。
【請求項4】
前記アイドルのライブを含むミッションのクリアにより前記属性を更新する
請求項1または2に記載のプログラム。
【請求項5】
前記属性は、前記アイドルの体力及び歌唱可能な楽曲を含み、
前記体力が所定範囲内である場合に、所定場所での該アイドルの歌唱を行い、
歌唱に伴い所定条件が成立した場合に、前記アイドルのレベルをアップする
請求項1または2に記載のプログラム。
【請求項6】
前記ユーザに割り当てたアイドルと、前記ユーザとは異なる第2ユーザに割り当てたアイドルからなるアイドル群とを含むアイドルユニットを結成する
請求項1または2に記載のプログラム。
【請求項7】
前記アイドルユニットに、歌唱可能な楽曲を含む属性が付与されており、
前記アイドルユニットの全員の体力が所定範囲内である場合に、所定場所での前記アイドルユニットの歌唱を行い、
歌唱に伴い所定条件が成立した場合に、前記アイドルユニットのレベルをアップする
請求項6に記載のプログラム。
【請求項8】
所定場所でのアイドルユニット同士のライブ対戦を実行し、
前記ライブ対戦における各アイドルユニットの総合スコアに基づき、前記ライブ対戦で勝利したアイドルユニットを決定する
請求項6に記載のプログラム。
【請求項9】
前記アイドルユニットのフォーメーション及び属性、並びに、前記アイドルユニットに含まれる各アイドルの属性に基づき、前記アイドルユニットの総合レベルを判定するための前記総合スコアを変動させる
請求項8に記載のプログラム。
【請求項10】
前記属性は、前記アイドルの出身地を含み、
前記アイドルユニットに含まれる各アイドルの出身地と、前記ライブ対戦を開催するライブ会場の客の出身地とに基づき、前記アイドルユニットの総合レベルを判定するための前記総合スコアを変動させる
請求項9に記載のプログラム。
【請求項11】
学習モデルにより生成されたアイドルをユーザに割り当て、
前記アイドルの属性をブロックチェーンシステムに記憶し、
前記アイドルのアイドルNFTを前記ブロックチェーンシステム上で前記ユーザに付与する
情報処理方法。
【請求項12】
制御部を備える情報処理装置であって、
前記制御部は、
学習モデルにより生成されたアイドルをユーザに割り当て、
前記アイドルの属性をブロックチェーンシステムに記憶し、
前記アイドルのアイドルNFTを前記ブロックチェーンシステム上で前記ユーザに付与する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
近年、仮想的なアイドルに関する技術の開発が盛んに進められている。特許文献1には、顔素材ライブラリからターゲットオブジェクトの特徴情報にマッチングすることにより確定されたターゲット仮想顔と、動作ビデオライブラリから特徴情報にマッチングすることにより確定されたターゲット動作ビデオとにおける顔画像を融合し、ターゲットオブジェクトに対応する仮想的なアイドルを生成する仮想アイドルの生成方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る発明は、生成された仮想的なアイドルのアイドルNFT(非代替性トークン;Non-Fungible Token)を、当該アイドルを割り当てたユーザに付与することができないという問題がある。
【0005】
一つの側面では、仮想的なアイドルのアイドルNFTを、当該アイドルを割り当てたユーザに付与することが可能なプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの側面に係るプログラムは、学習モデルにより生成されたアイドルをユーザに割り当て、前記アイドルの属性をブロックチェーンシステムに記憶し、前記アイドルのアイドルNFTを前記ブロックチェーンシステム上で前記ユーザに付与する処理をコンピュータに実行させる。
【発明の効果】
【0007】
一つの側面では、仮想的なアイドルのアイドルNFTを、当該アイドルを割り当てたユーザに付与することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】アイドルNFTシステムの概要を示す説明図である。
【
図3】ユーザDB及びアイドルDBのレコードレイアウトの一例を示す説明図である。
【
図4】割当DB及びアイドルNFTDBのレコードレイアウトの一例を示す説明図である。
【
図5】ブロックチェーンのノードの構成例を示すブロック図である。
【
図6】ユーザ端末の構成例を示すブロック図である。
【
図7】アイドルNFTをユーザに付与する処理を説明する説明図である。
【
図8】ユーザにアイドルを割り当てる画面の一例を示す説明図である。
【
図9】アイドルデータを記憶する際の処理手順を示すフローチャートである。
【
図10】ユーザにアイドルを割り当てる際の処理手順を示すフローチャートである。
【
図11】ユーザにアイドルNFTを付与する際の処理手順を示すフローチャートである。
【
図12】実施形態2におけるサーバの構成例を示すブロック図である。
【
図13】ミッションDBのレコードレイアウトの一例を示す説明図である。
【
図14】ミッションを行う画面の一例を示す説明図である。
【
図15】アイドルの属性を更新する際の処理手順を示すフローチャートである。
【
図16】アイドルの属性を更新する際の処理手順を示すフローチャートである。
【
図17】実施形態3におけるサーバの構成例を示すブロック図である。
【
図18】アイドルユニットDBのレコードレイアウトの一例を示す説明図である。
【
図19】実施形態3におけるアイドルDB及び割当DBのレコードレイアウトの一例を示す説明図である。
【
図20】アイドルユニットの属性を更新する際の処理手順を示すフローチャートである。
【
図21】アイドルユニットの属性を更新する際の処理手順を示すフローチャートである。
【
図22】実施形態4におけるサーバの構成例を示すブロック図である。
【
図23】対戦DB及びスコアマスタDBのレコードレイアウトの一例を示す説明図である。
【
図24】ライブ対戦を実行する画面の一例を示す説明図である。
【
図25】優勝アイドルユニットを決定する際の処理手順を示すフローチャートである。
【
図26】総合スコアを変動させる処理のサブルーチンの処理手順を示すフローチャートである。
【
図27】出身地に基づく総合スコアを変動させる処理のサブルーチンの処理手順を示すフローチャートである。
【
図28】実施形態5におけるミッションDBのレコードレイアウトの一例を示す説明図である。
【発明を実施するための形態】
【0009】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
【0010】
(実施形態1)
実施形態1は、学習モデルにより生成された仮想的なアイドル(以下、アイドルと読み替える)をユーザに割り当て、当該アイドルのアイドルNFTをブロックチェーンシステム上でユーザに付与する形態に関する。
【0011】
NFTは、鑑定書または所有証明書付きのデジタルデータであり、仮想通貨と同様にデータ管理にブロックチェーン技術が用いられ、改ざん・偽造ができない仕組みである。学習モデルにより生成されたアイドルをユーザに割り当て、当該アイドルに対応するアイドルNFTをブロックチェーンシステム上で当該ユーザに発行することができる。
【0012】
図1は、アイドルNFTシステムの概要を示す説明図である。本実施形態のシステムは、情報処理装置1、ブロックチェーンシステム2及び情報処理端末3を含み、各装置はインターネット等のネットワークNを介して情報の送受信を行う。
【0013】
情報処理装置1は、種々の情報に対する処理、記憶及び送受信を行う情報処理装置である。情報処理装置1は、例えばサーバ装置、パーソナルコンピュータまたは汎用のタブレットPC(パソコン)等である。本実施形態において情報処理装置1はサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。
【0014】
ブロックチェーンシステム2は、分散型台帳技術又は分散型ネットワークである。ブロックチェーンシステム2は、コンセンサス処理を実行する複数のノード21により構成される。ノード21の各々は、当該コンセンサス処理の実行を通じて、ブロックチェーンデータのコピーを保持する。ブロックチェーンシステム2は、ブロックと呼ばれるデータの単位を一定時間ごとに生成し、鎖のように連結していくことによりデータを保管する。
【0015】
ブロックチェーンシステム2は、ピアツーピア(Peer to Peer)ネットワークと分散型タイムスタンプサーバの使用により自律的に管理される。鎖状に保存しているため、ブロック内のデータを一度記憶した場合、該データを遡及的に変更することが難しい。なお、ブロックチェーンシステム2は、パブリック型、プライベート型、コンソーシアム型のいずれであっても良い。データの単位はブロックではなく個々のトランザクションであっても良い。また、データの保存は鎖状以外にも有向非巡回グラフ等の保存形式であっても良い。以下では簡潔のため、ブロックチェーンシステム2をブロックチェーン2と読み替える。
【0016】
情報処理端末3は、ユーザの音声の入力受付、及び当該ユーザに割り当てたアイドルの表示等を行う端末装置である。情報処理端末3は、例えばスマートフォン、携帯電話、アップルウォッチ(Apple Watch:登録商標)等のウェアラブルデバイス、タブレット、またはパーソナルコンピュータ端末等の情報処理機器である。以下では簡潔のため、情報処理端末3をユーザ端末3と読み替える。
【0017】
本実施形態に係るサーバ1は、ユーザの音声の入力を受け付ける。サーバ1は、受け付けた音声に基づき、学習モデルにより生成されたアイドルを当該ユーザに割り当てる。サーバ1は、当該アイドルの属性をブロックチェーン2に記憶する。サーバ1は、当該アイドルのアイドルNFTをブロックチェーン2上で当該ユーザに付与する。
【0018】
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、記憶部12、通信部13、読取部14及び大容量記憶部15を含む。各構成はバスBで接続されている。
【0019】
制御部11は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、または量子プロセッサ等の演算処理装置を含む。制御部11は、記憶部12に記憶された制御プログラム1P(プログラム製品)を読み出して実行することにより、サーバ1に係る種々の情報処理または制御処理等を行う。
【0020】
また、制御プログラム1Pには、例えばイーサリアムのGeth(Go-Ethereum)等のスマートコントラクトの生成・実行、仮想通貨の送金、アカウントの作成、またはマイニング等の処理を実行するプログラムが含まれる。制御部11は、ハッシュ値算出部11a及び電子署名作成部11bを含む。ハッシュ値算出部11aは、暗号学的ハッシュ関数を用いて各種情報のハッシュ値を算出する処理を行う。電子署名作成部11bは、偽造又は改ざんを防止するため、公開鍵暗号方式に基づくデジタル認証用の署名を生成する。
【0021】
なお、制御プログラム1Pは、単一のコンピュータ上で、または1つのサイトにおいて配置されるか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。なお、
図2では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
【0022】
記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、ブロックチェーン2のノード21またはユーザ端末3等との間で情報の送受信を行う。
【0023】
読取部14は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部14を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部15に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部15に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。
【0024】
大容量記憶部15は、例えばHDD(Hard disk drive:ハードディスク)、またはSSD(Solid State Drive:ソリッドステートドライブ)等の記録媒体を備える。大容量記憶部15は、ユーザDB(database)151、アイドルDB152、割当DB153及びアイドルNFTDB154を含む。
【0025】
ユーザDB151は、ユーザに関する情報を記憶している。アイドルDB152は、学習モデルにより生成されたアイドルに関する情報を記憶している。割当DB153は、アイドルをユーザに割り当てた情報を記憶している。アイドルNFTDB154は、アイドルのアイドルNFTに関する情報を記憶している。
【0026】
なお、本実施形態において記憶部12及び大容量記憶部15は一体の記憶装置として構成されていても良い。また、大容量記憶部15は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部15はサーバ1に接続された外部記憶装置であっても良い。
【0027】
サーバ1は、種々の情報処理及び制御処理等をコンピュータ単体で実行しても良いし、複数のコンピュータで分散して実行しても良い。また、サーバ1は、1台のサーバ内に設けられた複数の仮想マシンによって実現されても良いし、クラウドサーバを用いて実現されても良い。
【0028】
図3は、ユーザDB151及びアイドルDB152のレコードレイアウトの一例を示す説明図である。
ユーザDB151は、ユーザID列及び音声データ列を含む。ユーザID列は、各ユーザを識別するために、一意に特定されるユーザのIDを記憶している。音声データは、ユーザの音声データを記憶している。
【0029】
アイドルDB152は、学習モデルにより生成された各アイドルのデータを記憶している。なお、学習モデルに関しては後述する。アイドルDB152は、アイドルID列、名前列、アイドルデータ列、属性列及び音声パラメータ基準値列を含む。アイドルID列は、各アイドルを識別するために、一意に特定されるアイドルのIDを記憶している。名前列は、アイドルの名前を記憶している。アイドルデータ列は、学習モデルにより生成されたアイドルデータ(例えば、アイドルの画像データ)を記憶している。
【0030】
属性列は、上述した学習モデルにより生成された各アイドルに付与された属性を記憶している。属性は、体力、楽曲、ダンス及び美しさ等を含む。なお、アイドルへの属性付与処理に関しては後述する。
【0031】
属性列は、体力列、楽曲列、ダンス列及び美しさ列を含む。体力列は、アイドルの体力を示す体力値を記憶している。体力値は、例えば、1~12の数値で、数値が大きい程体力が強いことを示すように予め定められている。なお、体力値の段階数は、12に限られない。楽曲列は、アイドルが歌唱可能な楽曲、または歌唱動画等を記憶している。
【0032】
ダンス列は、アイドルが踊り可能なダンスを記憶している。美しさ列は、アイドルの美しさを示すレベルを記憶している。美しさは、例えば、1~10の数値で、数値が大きい程美しさの評価が高いことを示すように予め定められている。なお、アイドルの属性は、上述した体力、楽曲、ダンス及び美しさに限るものではない。例えば属性は、後述するアイドルの出身地等を含んでも良い。
【0033】
音声パラメータ基準値列は、音声に基づくパラメータの基準値(範囲等)を記憶している。なお、パラメータに関しては後述する。
【0034】
図4は、割当DB153及びアイドルNFTDB154のレコードレイアウトの一例を示す説明図である。
【0035】
割当DB153は、割当ID列、ユーザID列、アイドルID列、レベル列及び属性列を含む。割当ID列は、ユーザにアイドルを割り当てた割当データを識別するために、一意に特定される割当データのIDを記憶している。ユーザID列は、ユーザを特定するユーザIDを記憶している。アイドルID列は、アイドルを特定するアイドルIDを記憶している。
【0036】
レベル列は、アイドルのレベルを記憶している。例えば、アイドルの体力、歌唱可能な楽曲、踊り可能なダンスまたは美しさ等の属性に応じて、複数のレベルを設けても良い。例えば、レベル1~5で、レベルが高いほどアイドルの評価または能力が高いことを示すように予め定められている。
【0037】
属性列は、体力列、楽曲列、ダンス列、美しさ列及び音声パラメータ列を含む。体力列、楽曲列、ダンス列及び美しさ列は、
図3と同様であるため、説明を省略する。音声パラメータ列は、ユーザの音声に基づいて特定されたパラメータを記憶している。
【0038】
アイドルNFTDB154は、アイドルNFTに関する情報を記憶している。例えば、ブロックチェーン2上で、Ethereumの一つのスマートコントラクト規格であるERC721を利用し、鑑定書等のようにその「真正性」または「価値」を証明することができるアイドルNFTを発行しても良い。ERC721が利用された場合、アイドルNFTは、トークン(Token)ID、ユーザのウォレットアドレス(所有者アドレス)及びトークンURI(Uniform Resource Identifier)等で構成される。
【0039】
アイドルNFTの発行時に、当該アイドルNFTのトークンID、ウォレットアドレス及びトークンURI等はブロックチェーン2上で記憶される。トークンURIは、アイドルNFTに対するメタデータの場所を示す属性である。メタデータの場所は、例えばメタデータ(画像または動画等)のURL(Uniform Resource Locator)等である。なお、メタデータそのものは、例えばJSON(JavaScript Object Notation)形式で外部のデータベース装置に記憶されても良い。
【0040】
なお、アイドルNFTの発行に関しては、ERC721に限定されず、例えば、ERC1155またはERC4907等を利用しても良い。
【0041】
アイドルNFTDB154は、ユーザID列、アイドルID列及びアイドルNFT列を含む。ユーザID列は、ユーザを特定するユーザIDを記憶している。アイドルID列は、アイドルを特定するアイドルIDを記憶している。
【0042】
アイドルNFT列は、トークンID列、ウォレットアドレス列及びトークンURI列を含む。トークンID列は、アイドルNFTのトークンIDを記憶している。ウォレットアドレス列は、アイドルNFTを保有するユーザのウォレットアドレス(オーナーID;保有者ID)を記憶している。トークンURI列は、アイドルNFTのトークンURIを記憶している。
【0043】
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
【0044】
図5は、ブロックチェーン2のノード21の構成例を示すブロック図である。ブロックチェーン2のノード21は、制御部211、記憶部212、通信部213、受付部214、出力部215、ブロック生成部216、ブロック検証部217及びブロック共有部218を含む。各構成はバスBで接続されている。
【0045】
制御部211は、他ノード21(端末)の制御部211と自律分散的に協調して、最新のブロックチェーン(台帳:ブロックチェーンデータのコピー)を記憶部212に保持する。記憶部212には、分散型のネットワークへブロードキャストされたトランザクションが含まれたブロックチェーン(台帳)、及びブロック内の情報の検証処理に必要となる情報等が記憶される。
【0046】
通信部213は、通信に関する処理を行うための通信モジュールである。受付部214は、外部ノード21から、ブロックチェーン2が管理するブロックチェーン2である分散型のネットワークに記録する情報を受け付ける。出力部215は、外部ノード21からの要求に応じて、自身が保持するブロックチェーン2の情報を出力する。
【0047】
ブロック生成部216は、受付部214が受け付けた情報を基に、ブロックチェーン2に追加するブロックを生成する。ブロック生成部216は、前ブロックに基づく情報と受付部214が受け付けた情報とを含むブロックを生成する。また、ブロック生成部216は、自身が生成したブロックまたは後述するブロック共有部218を介して他のノード21が生成したブロックに対して、所定のコンセンサス処理として、例えば、ノンスを探索する処理または署名を付与する処理を行った上で、自身が管理するブロックチェーン2にブロックを追加する。なお、ブロック生成部216が生成したブロックに対して、複数のノード21が所定のコンセンサス処理を行って得られたものが、最終的にブロックチェーン2に追加されるブロックとなる。
【0048】
ブロック検証部217は、自身が保持するブロックチェーン2にブロックを追加する際に、該ブロック内の情報の検証を行う。通常、追加対象とされるブロックは、自ノード21を含むノード21群において最も早く規則が満たされたブロックであるが、悪意のあるノード21が含まれていた場合等を考慮して、実際に規則が満たされているか等を検証しても良い。
【0049】
ブロック共有部218は、ブロックチェーン2に属するノード21間で情報交換を行う。ブロック共有部218は、より具体的には、受付部214が受け付けた情報、ブロック生成部216が生成したブロック、及び他のノード21から受け付けたブロック等を、適宜他のノード21に送信する。これにより、可能な限り全てのノード21でこれらの情報および最新のブロックチェーン2を共有する。
【0050】
なお、
図5の構成はあくまで一例であって、ブロックチェーンのノード21は、改ざんが困難なブロックチェーン2を複数のノードが共有して管理するための所定のコンセンサス処理を実行可能であり、外部ノードからの要求に応じて分散型のネットワークへの情報追加、及び分散型のネットワークに記録された情報の参照が可能なノードであれば、具体的な構成は問わない。
【0051】
なお、サーバ1は、ブロックチェーン2のノード21であっても良い。
【0052】
図6は、ユーザ端末3の構成例を示すブロック図である。ユーザ端末3は、制御部31、記憶部32、通信部33、入力部34、表示部35、マイク36及びスピーカ37を含む。各構成はバスBで接続されている。
【0053】
制御部31はCPUまたはMPU等の演算処理装置を含み、記憶部32に記憶された制御プログラム3P(プログラム製品)を読み出して実行することにより、ユーザ端末3に係る種々の情報処理、または制御処理等を行う。また、制御部31は、ハッシュ値算出部31a及び電子署名作成部31bを含む。ハッシュ値算出部31aは、暗号学的ハッシュ関数を用いて、ウォレットアドレス等を算出する処理を行う。電子署名作成部31bは、偽造又は改ざんを防止するため、公開鍵暗号方式に基づくデジタル認証用の署名を生成する。
【0054】
また制御プログラム3Pには、例えばイーサリアムのGeth等のスマートコントラクトの生成・実行、仮想通貨の送金、アカウントの作成、またはマイニング等の処理を実行するプログラムが含まれる。なお、
図6では制御部31を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
【0055】
記憶部32はRAM、ROM等のメモリ素子を含み、制御部31が処理を実行するために必要な制御プログラム3P又はデータ等を記憶している。また、記憶部32は、制御部31が演算処理を実行するために必要なデータ等を一時的に記憶する。
【0056】
通信部33は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、サーバ1等と情報の送受信を行う。入力部34は、キーボード、マウスまたは表示部35と一体化したタッチパネルでも良い。表示部35は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部31の指示に従い各種情報を表示する。
【0057】
マイク36は、音を電気信号に変換する装置である。スピーカ37は、電気信号を音に変換する装置である。なお、マイク36及びスピーカ37は、Bluetooth(登録商標)のような短距離無線通信方式によりユーザ端末3に接続されたヘッドセットであっても良い。
【0058】
図7は、アイドルNFTをユーザに付与する処理を説明する説明図である。ユーザ端末3は、ユーザの音声の入力を受け付ける。ユーザ端末3は、ユーザIDに対応付けて、受け付けたユーザの音声データをサーバ1に送信する。サーバ1は、ユーザ端末3から送信されたユーザID及び音声データを受信する。サーバ1は、ユーザID対応付けて、受信した音声データをユーザDB151に記憶する。
【0059】
サーバ1は、受信した音色データから音声のパラメータ(特徴量)を特定する。音声のパラメータは、音声のピッチ、話速(発話速度またはテンポ)及び抑揚(イントネーション)のうち少なくとも1つであっても良い。発話内容は、例えば、予め設定した定形文をユーザに発話させた音声データ(定型音声データ)を取得しても良く、または、自由にユーザに発話させた音声データ(自由音声データ)を取得しても良い。定型文は、例えば「アイドル、こんにちは!」等であっても良い。なお、音声のパラメータが取得できるものであれば、発話内容または発話の長さは、特に制限されない。なお、定型音声データ及び自由音声データの両方は取得されても良い。
【0060】
ピッチは、音声の高低を示す音高である。ピッチ周波数の取得処理に関しては、例えばサーバ1は、音声データ(音声信号)を周波数スペクトルに変換し、変換した周波数スペクトルを周波数軸上でずらしながら自己相関波形を求める。サーバ1は、求めた自己相関波形における複数の極値の出現順番と複数の極値の出現位置を示すずらし周波数量である出現周波数との分布を回帰分析し、回帰直線の傾きに基づいてピッチ周波数を求める。
【0061】
話速は、例えば所定時間内に話者が発した単語数により表される。話速は、感情(例えば、怒り)の表現度合いによって変化される。サーバ1は、例えば音声信号のスペクトル変化量の時間的な変化パターンにより、話速に基づくパラメータを音声データから抽出する。なお、上述した話速の抽出手法のほかに、音声認識に基づいて話速を抽出する公知手法等が利用されても良い。
【0062】
抑揚は、音声データの各単位内の強度変化パターンを表す。音声データの単位は、例えば、音声に含まれる文章を構成する単語または節である。サーバ1は、音声データの強さの変化に基づいて、当該音声データの抑揚を抽出する。例えばサーバ1は、音声データを複数の単位に分割し、各単位内における強さの変化、または、単位間における強さの変化を、当該音声データの抑揚として抽出する。
【0063】
なお、ピッチ、話速または抑揚のほかには、音声のパラメータは、周波数スペクトル、音声強度またはフォルマント周波等を含んでも良い。
【0064】
音声のパラメータは、例えば、周波数解析処理等を用いて特定される。例えば、サーバ1は、ユーザの音声データに対して所定区間(数十ms)毎に周波数分析を行い、音声の周波数成分情報である音響スペクトルを求める。サーバ1は、求めた音響スペクトルに基づいて、ユーザの音声のパラメータの解析処理を行う。なお、サーバ1は、音声データを入力した場合に、音声のパラメータを出力する学習済みの学習モデルを用いて、音声のパラメータを特定しても良い。
【0065】
サーバ1は、特定した音声のパラメータと、アイドルDB152に記憶された各アイドルの音声のパラメータの基準値とを比較することにより、割当対象となるアイドルを特定する。例えば、サーバ1は、特定した音声のパラメータが、記憶された各アイドルの音声のパラメータの基準値の範囲内であるか否かを判定する。サーバ1は、特定した音声のパラメータが基準値の範囲内である場合、該当するアイドルを特定する。
【0066】
なお、サーバ1は、複数のアイドルを特定した場合、特定した複数のアイドルからランダムに1つのアイドルを抽出しても良い。または、サーバ1は、特定した複数のアイドルの属性に基づき該当するアイドルを抽出しても良い。例えば、サーバ1は、複数のアイドルのうち、体力値の一番高いアイドル、または、美しさの値の一番高いアイドルを抽出する。
【0067】
なお、本実施形態では、ユーザの音声データに基づくアイドルの特定処理を説明したが、これに限るものではない。例えば、サーバ1は、ユーザの指紋画像、顔画像または手のひらの静脈画像等の生体データを利用し、アイドルの特定処理を行っても良い。または、サーバ1は、ユーザのモーション(ダンスまたは体操等の動作)データを利用して、アイドルの特定処理を行っても良い。
【0068】
以下では、ユーザの顔画像によるアイドルの特定処理の例を説明するが、他の種類のデータ(指紋画像、手のひらの静脈画像またはモーションデータ等)にも同様に適用することができる。
【0069】
例えば、ユーザの顔画像に基づき構築された、ユーザのタイプを分類可能な学習済みの第1分類モデルを利用しても良い。ユーザのタイプは、例えば、可愛いタイプ、かっこいいタイプ、または美人タイプ等を含む。第1分類モデルは、ユーザの顔画像を入力とし、当該ユーザのタイプを分類した分類結果を出力とするニューラルネットワークを構築済みの分類器である。例えば、DNN(Deep Neural Network(s))、CNN(Convolution Neural Network)、RCNN(Regions with Convolutional Neural Network)またはYOLO(You Only Look Once)、SVM(Support Vector Machine)、ベイジアンネットワーク、トランスフォーマー(Transformer)ネットワーク、または回帰木等の任意の物体検出アルゴリズムを利用し、大量のユーザの顔画像内における顔領域の特徴量を学習するディープラーニングを行うことで第1分類モデルを生成することができる。
【0070】
サーバ1は、ユーザの顔画像を取得した場合、取得した顔画像を第1分類モデルに入力して、当該ユーザのタイプを分類した分類結果を出力する。サーバ1は、第1分類モデルから出力された分類結果に基づき、当該ユーザに割り当てるアイドルを特定する。
【0071】
具体的には、学習モデルにより生成されたアイドルに対し、予め複数のアイドルのタイプが設けられる。アイドルのタイプは、例えばユーザのタイプと同様に、可愛いタイプ、かっこいいタイプ、または美人タイプ等を含む。サーバ1は、第1分類モデルから出力されたユーザのタイプとアイドルのタイプとを比較する。サーバ1は、ユーザのタイプと一致する複数のアイドルを抽出し、抽出した複数のアイドルから、例えばランダムに1つのアイドルを選定する。サーバ1は、選定したアイドルを、ユーザに割り当てるアイドルとして特定する。
【0072】
なお、上述した処理に限るものではない。例えば、ユーザの顔画像に基づき構築された、ユーザのタイプ及び年齢層を分類可能な学習済みの第2分類モデルを利用しても良い。年齢層は、例えば、12歳以下、13歳以上19歳以下、20歳以上29歳以下、30歳以上49歳以下、50歳以上のように区分けされて良い。第2分類モデルは、ユーザの顔画像を入力とし、当該ユーザのタイプ及び年齢層を分類した分類結果を出力とするニューラルネットワークを構築済みの分類器である。
【0073】
サーバ1は、ユーザの顔画像を取得した場合、取得した顔画像を第2分類モデルに入力して、当該ユーザのタイプ及び年齢層を分類した分類結果を出力する。サーバ1は、第2分類モデルから出力されたユーザのタイプ及び年齢層と、予め設けられたアイドルのタイプ及び年齢層とを比較する。サーバ1は、ユーザのタイプ及び年齢層と一致する複数のアイドルを抽出し、抽出した複数のアイドルから、例えばランダムに1つのアイドルを選定する。サーバ1は、選定したアイドルを、ユーザに割り当てるアイドルとして特定する。
【0074】
なお、ユーザのタイプ及び年齢層の他に、例えば、性別等を更に加えてアイドルの特定処理を行っても良い。
【0075】
なお、上述した分類処理に関しては、ユーザの音声にも同様に適用することができる。例えば、ユーザの音声データに基づき構築された、ユーザのタイプを分類可能な学習済みの第3分類モデルを利用しても良い。第3分類モデルは、ユーザの音声データを入力とし、当該ユーザのタイプを分類した分類結果を出力とするニューラルネットワークを構築済みの分類器である。例えば、DNN等を利用し、大量のユーザの音声データの特徴量(パラメータ)を学習するディープラーニングを行うことで第3分類モデルを生成することができる。
【0076】
サーバ1は、ユーザの音声データを取得した場合、取得した音声データを第3分類モデルに入力して、当該ユーザのタイプを分類した分類結果を出力する。サーバ1は、第3分類モデルから出力されたユーザのタイプと、予め設けられたアイドルのタイプとを比較する。サーバ1は、ユーザのタイプと一致する複数のアイドルを抽出し、抽出した複数のアイドルから、例えばランダムに1つのアイドルを選定する。サーバ1は、選定したアイドルを、ユーザに割り当てるアイドルとして特定する。
【0077】
なお、上述した分類に基づくアイドルの特定処理に限るものではない。例えば、ユーザの顔画像内における顔領域の特徴量と、学習モデルにより生成されたアイドルの顔領域の特徴量とに基づいて、アイドルの特定処理を行っても良い。顔領域の特徴量は、顔の属性(髪型、輪郭、肌の状態、目元、または化粧の有無等)の特徴量を数値化したものである。例えば、サーバ1は、ユーザの顔画像内における顔領域の特徴量と、各アイドルの顔領域の特徴量との類似度を算出する。サーバ1は、類似度の最も高いアイドルを、ユーザに割り当てるアイドルとして特定する。
【0078】
なお、上述したアイドルの特定処理に限るものではない。例えば、ユーザの音声、生体データ(指紋画像、顔画像または手のひらの静脈画像等)、及びモーションデータのいずれかを含む組み合わせデータを利用して、アイドルの特定処理を行っても良い。
【0079】
サーバ1は、特定したアイドルのアイドルIDに基づき、当該アイドルのアイドルデータ及び属性(体力、楽曲、ダンスまたは美しさ等)をアイドルDB152から取得する。サーバ1は、特定したアイドルをユーザに割り当て、割当データを割当DB153に記憶する。
【0080】
具体的には、サーバ1は、割当データを特定するための割当IDを割り振る。サーバ1は、割り振った割当IDに対応付けて、ユーザID、アイドルID、レベルの初期値(例えば、レベル1)、アイドルDB152から取得されたアイドルの属性(体力、楽曲、ダンスまたは美しさ等)、及びユーザの音声に基づくパラメータ(音声のピッチ、話速または抑揚等)を一つのレコードとして割当DB153に記憶する。
【0081】
サーバ1は、ユーザに割り当てたアイドルに関する情報をユーザ端末3に送信する。アイドルに関する情報は、アイドルID、属性及びアイドルデータを含む。ユーザ端末3は、サーバ1から送信されたアイドルに関する情報を受信して画面に表示する。
【0082】
サーバ1は、ユーザID及びアイドルIDに対応付けて、当該アイドルの属性をブロックチェーン2のいずれかのノード21に送信する。ブロックチェーン2のノード21は、サーバ1から送信されたユーザID、アイドルID及びアイドルの属性を受信して記憶(記録)する。
【0083】
ブロックチェーン2のノード21は、当該アイドルのアイドルNFTをユーザに付与(発行)する。例えば、ブロックチェーン2がEthereumである場合、サーバ1は、Ethereumの一つのスマートコントラクト規格であるERC721を利用してアイドルNFTを発行する。ERC721規格を用いれば、ブロックチェーン2上の全てのアイドルNFTを開示しているが、改ざんすることはできないため、保有者(所有者)または帰属情報等を付けることが可能となる。発行されたアイドルNFTのトークンID、ユーザのウォレットアドレス(保有者アドレス)及びトークンURI等がブロックチェーン2上で記憶される。
【0084】
なお、アイドルNFTを管理者に発行した場合、管理者は保有する当該アイドルNFTをユーザ(発行対象者)に譲渡する。この場合、ブロックチェーン2は、アイドルNFTのトークンID及びトークンURI(メタデータの場所)を引き継ぐようにする。ブロックチェーン2は、アイドルNFTのウォレットアドレスを、管理者のウォレットアドレスからユーザのウォレットアドレスに変更する。ブロックチェーン2は、譲渡後のアイドルNFTのトークンID(変更なし)、変更後のウォレットアドレス、及びトークンURI(変更なし)等を記憶する。
【0085】
また、アイドルNFTの保有者は、アイドルNFTの売買または移転を介して、暗号資産と同様にアイドルNFTを自由に取引できる。
【0086】
ブロックチェーン2のノード21は、ユーザに付与したアイドルNFTに関する情報をサーバ1に送信する。アイドルNFTに関する情報は、例えば、アイドルNFTのトークンID、ユーザのウォレットアドレスまたはトークンURI等を含む。サーバ1は、ブロックチェーン2のノード21から送信されたアイドルNFTに関する情報を受信する。
【0087】
サーバ1は、受信したアイドルNFTに関する情報をアイドルNFTDB154に記憶する。具体的には、サーバ1は、ユーザID及びアイドルIDに対応付けて、ブロックチェーン2上で発行されたアイドルNFT(トークンID、ユーザのウォレットアドレスまたはトークンURI等)を一つのレコードとしてアイドルNFTDB154に記憶する。
【0088】
図8は、ユーザにアイドルを割り当てる画面の一例を示す説明図である。
図8Aは、ユーザの音声の入力受付画面の一例を示す説明図である。当該画面は、受付ボタン(呼ぶボタン)12a及び発話テキスト表示欄12bを含む。受付ボタン12aは、ユーザへのアイドルの割当指示を受け付けるボタンである。発話テキスト表示欄12bは、ユーザの発話を示すテキスト(発話テキスト)を表示する表示欄である。
【0089】
ユーザ端末3は、ユーザによる受付ボタン12aのタッチ(クリック)操作を受け付けた場合、マイク36を介して、ユーザの音声の入力を受け付ける。ユーザ端末3は、受け付けた音声に対して音声認識処理を行って、発話テキストの変換処理を行う。例えば、ユーザ端末3は、発話内容を示す発話テキストを生成する音声認識エンジン等を利用し、受け付けた音声を発話テキストに変換しても良い。なお、発話テキストの変換処理は、サーバ1側で行われても良い。
【0090】
ユーザ端末3は、変換した発話テキストを発話テキスト表示欄12bに表示する。図示のように、ユーザの発話テキストは「こんにちは!アイドル」である。ユーザ端末3は、ユーザIDに対応付けて、受け付けたユーザの音声データをサーバ1に送信する。
【0091】
図8Bは、割り当てられたアイドルの表示画面の一例を示す説明図である。当該画面は、名前表示欄12c、属性表示欄12d及びアイドル表示欄12eを含む。名前表示欄12cは、アイドルの名前を表示する表示欄である。属性表示欄12dは、アイドルの属性を表示する表示欄である。アイドル表示欄12eは、アイドルデータを表示する表示欄である。なお、アイドル表示欄12eには、アイドルの画像またはサムネイル画像等が表示されても良い。
【0092】
サーバ1は、ユーザ端末3から送信された音声データから、例えば、周波数解析処理等を用いて当該音声のパラメータを特定する。音声のパラメータは、音声のピッチ、話速または抑揚等を含む。サーバ1は、特定した音声のパラメータと、アイドルDB152に記憶された各アイドルの音声のパラメータの基準値とを比較することにより、割当対象となるアイドルを特定する。
【0093】
サーバ1は、特定したアイドルのアイドルIDに基づき、当該アイドルの名前、アイドルデータ及び属性(体力、楽曲、ダンスまたは美しさ等)をアイドルDB152から取得する。サーバ1は、取得したアイドルID、アイドルの名前、アイドルデータ及び属性をユーザ端末3に送信する。
【0094】
ユーザ端末3は、サーバ1から送信されたアイドルID、アイドルの名前、アイドルデータ及び属性を受信する。ユーザ端末3は、受信したアイドルの名前を名前表示欄12cに表示し、受信した属性を属性表示欄12dに表示し、受信したアイドルデータをアイドル表示欄12eに表示する。
【0095】
図9は、アイドルデータを記憶する際の処理手順を示すフローチャートである。サーバ1の制御部11は、アイドルを生成するための学習モデルを取得する(ステップS21)。
【0096】
学習モデルとしては、例えば、テキスト(情景等)の説明文から画像を出力するAI(Artificial Intelligence)サービス(例えば、Midjourney)が提供する学習済みの学習モデル等を用いることができる。なお、学習モデルは、例えば、DNN、CNN、RCNN、Fast RCNN、Faster RCNN、SSD、YOLO、SVM、ベイジアンネットワーク、トランスフォーマーネットワーク、または回帰木等を利用して構築されても良い。なお、アイドルを生成するための学習モデルは、サーバ1または外部の情報処理装置により構築されても良い。
【0097】
例えば、制御部11は、Midjourneyが提供する学習済みの学習モデルを通信部13により外部の情報処理装置から取得しても良い。または、制御部11は通信部13を介して、当該学習モデルが記憶された外部の情報処理装置に直接アクセスしても良い。
【0098】
制御部11は、取得した学習モデルを利用してアイドルを生成する(ステップS22)。例えば制御部11は、学習モデルがMidjourneyである場合、テキストの説明文(例えば、白い肌に金髪の少女)を学習モデルに入力して、当該テキストの説明文に対応するアイドルの画像を出力する。
【0099】
制御部11は、生成したアイドルに対し、名前の設定を受け付ける(ステップS23)。例えば制御部11は、ゲームアプリケーションの設計者等の端末を通じて、当該設計者による名前の入力を受け付けても良い。または、制御部11は、予め用意された複数の名前からランダムに1つの名前を抽出しても良い。
【0100】
制御部11は、生成したアイドルに対し、属性(体力、楽曲、ダンスまたは美しさ等)の設定を受け付ける(ステップS24)。属性の受付処理は特に限定されるものではない。例えば、制御部11は、ゲームアプリケーションの設計者等の端末を通じて、当該設計者による属性の設定を受け付ける。例えば、設定された属性が「体力:6、楽曲:music2及びmusic3、ダンス:ダンスA、美しさ:2」であっても良い。または、制御部11は、予め用意された複数の体力値、美しさの値、楽曲またはダンスからランダムに選定し、当該アイドルの属性として用いても良い。
【0101】
制御部11は、生成したアイドルに対し、アイドルをユーザに割り当てる際に用いられる音声のパラメータの基準値の設定を受け付ける(ステップS25)。例えば、制御部11は、予め用意された複数の音声のパラメータの基準値から、1つの音声のパラメータの基準値をランダムに抽出しても良い。または、制御部11は、ゲームアプリケーションの設計者等の端末を通じて、当該設計者による音声のパラメータの基準値の入力を受け付けても良い。
【0102】
制御部11は、アイドルデータを大容量記憶部15のアイドルDB152に記憶し(ステップS26)、処理を終了する。具体的には、制御部11は、生成したアイドルに対してアイドルIDを割り振る。制御部11は、割り振ったアイドルIDに対応付けて、アイドルの名前、アイドルデータ(例えば、アイドルの画像データ)、属性(体力、楽曲、ダンス及び美しさ等)及び音声のパラメータの基準値を一つのレコードとしてアイドルDB152に記憶する。
【0103】
図10は、ユーザにアイドルを割り当てる際の処理手順を示すフローチャートである。ユーザ端末3の制御部31は、ユーザの音声の入力をマイク36により受け付ける(ステップS301)。制御部31は、ユーザID、及び受け付けたユーザの音声データを通信部33によりサーバ1に送信する(ステップS302)。サーバ1の制御部11は、ユーザ端末3から送信されたユーザID及び音声データを通信部13により受信する(ステップS101)。
【0104】
制御部11は、ユーザID対応付けて、受信した音声データを大容量記憶部15のユーザDB151に記憶する(ステップS102)。制御部11は、例えば、周波数解析処理等を用いて、音色データから音声のパラメータ(音声のピッチ、話速または抑揚等)を特定する(ステップS103)。制御部11は、大容量記憶部15のアイドルDB152に記憶された各アイドルの音声のパラメータの基準値を取得する(ステップS104)。
【0105】
制御部11は、特定した音声のパラメータと、取得した各アイドルの音声のパラメータの基準値とを比較することにより、割当対象となるアイドルを特定する(ステップS105)。例えば、制御部11は、特定した音声のパラメータが、記憶された各アイドルの音声のパラメータの基準値の範囲内であるか否かを判定する。制御部11は、特定した音声のパラメータが基準値の範囲内である場合、該当するアイドルを特定する。
【0106】
制御部11は、特定したアイドルのアイドルIDに基づき、当該アイドルのアイドルデータ及び属性(体力、楽曲、ダンスまたは美しさ等)を大容量記憶部15のアイドルDB152から取得する(ステップS106)。制御部11は、特定したアイドルをユーザに割り当てた割当データを大容量記憶部15の割当DB153に記憶する(ステップS107)。
【0107】
具体的には、制御部11は、割当データを特定するための割当IDを割り振る。制御部11は、割り振った割当IDに対応付けて、ユーザID、アイドルID、レベルの初期値(例えば、レベル1)、アイドルの属性(体力、楽曲、ダンスまたは美しさ等)、及びステップS103の処理で特定されたユーザの音声のパラメータを一つのレコードとして割当DB153に記憶する。
【0108】
制御部11は、ユーザに割り当てたアイドルのアイドルID、アイドルデータ及び属性を通信部13によりユーザ端末3に送信する(ステップS108)。ユーザ端末3の制御部31は、サーバ1から送信されたアイドルID、アイドルデータ及び属性を通信部33により受信する(ステップS303)。制御部31は、受信したアイドルID、アイドルデータ及び属性を表示部35により表示し(ステップS304)、処理を終了する。
【0109】
図11は、ユーザにアイドルNFTを付与する際の処理手順を示すフローチャートである。サーバ1の制御部11は、ユーザID及びアイドルIDに基づき、ユーザに割り当てたアイドルの属性を大容量記憶部15の割当DB153を取得する(ステップS111)。取得された属性は、アイドルの体力、楽曲、ダンス、美しさ及びユーザの音声に基づくパラメータを含む。
【0110】
制御部11は、アイドルの属性の記憶処理のトランザクションを作成する(ステップS112)。トランザクションは、ブロックチェーン2における取引記録であり、ブロックチェーン2の参加者間での各種の情報及び価値の移転を記憶している。作成されたトランザクションは、ユーザID、ユーザに割り当てたアイドルのアイドルID及び属性等を含む。制御部11は、作成したトランザクションを通信部13によりブロックチェーン2のいずれかのノード21に送信する(ステップS113)。
【0111】
ブロックチェーン2のノード21の制御部211は、サーバ1から送信されたトランザクションを通信部213により受信する(ステップS211)。制御部211は、受信したトランザクションに含まれるユーザID、アイドルID及び属性を記憶部212に記憶する(ステップS212)。
【0112】
具体的には、トランザクションを受信したノード21の制御部211は、ブロック生成部216を介して、受信したトランザクションに含まれるユーザID、アイドルID及び属性と、自身が管理しているブロックチェーン2の情報とを基に作成した前ブロック管理情報とを少なくとも含むブロックを生成する。そして、ブロックチェーン2のノード21各々の制御部211は、所定のコンセンサス処理をブロック生成部216により実行する。
【0113】
ブロックチェーン2は、ブロックとよばれる所定のデータ構造を有するデータ群を時系列に並べたものであり、取引内容を記した台帳としての役割を有する。各ブロックは、取引内容等の当該ブロックに記録したいデータの他に、一つ以上前のブロック(以下、前ブロックという)の情報と、改ざんの有無を検知するための情報(ノンスまたは署名等)とを含む。ノンスは、あるデータ領域に対して、その領域内のデータを一方向性関数により処理したときに得られる値が予め決められた規則を満たすように設定される、当該データ領域内の値である。
【0114】
ブロックチェーン2には、2台以上のノード21が参加する所定のコンセンサスアルゴリズムに従った処理を経て新たなブロックが追加される。例えば、コンセンサスアルゴリズムの一つであるPoWでは、前ブロックの情報とノンスとを含む各ブロック(データ群)に対して、「ブロックのHash値が閾値以下であること」といった規則が予め決められており、ブロックを追加する際に、そのような規則を満たすようなノンスを複数のノードが同時並列的に探索する処理がブロック検証部217により行われる。なお、PoW以外にもBFT(Byzantine fault tolerance)等のコンセンサスアルゴリズムがある。
【0115】
ブロックチェーン2のノード21各々の制御部211は、所定のコンセンサス処理を実行した後に、ブロック共有部218を介して、ブロック生成部216が生成したブロックを記憶部212に記憶(追加)する。
【0116】
ノード21の制御部211は、当該ブロックチェーン2上でアイドルNFTを発行する(ステップS213)。例えば、ブロックチェーン2がEthereumである場合、制御部11は、Ethereumの一つのスマートコントラクト規格であるERC721を利用してアイドルNFTを発行しても良い。ノード21の制御部211は、発行したアイドルNFTのトークンID、ユーザのウォレットアドレス及びトークンURIを記憶部212に記憶する(ステップS214)。
【0117】
ノード21の制御部211は、発行したアイドルNFTを通信部213によりサーバ1に送信する(ステップS215)。サーバ1の制御部11は、ブロックチェーン2のノード21から送信されたアイドルNFTを通信部13により受信する(ステップS114)。制御部11は、受信したアイドルNFTを大容量記憶部15のアイドルNFTDB154に記憶し(ステップS115)、処理を終了する。
【0118】
具体的には、制御部11は、ユーザID及びアイドルIDに対応付けて、ブロックチェーン2上で発行されたアイドルNFTのトークンID、ユーザのウォレットアドレス及びトークンURIを一つのレコードとしてアイドルNFTDB154に記憶する。
【0119】
本実施形態によると、ユーザの音声に基づき、学習モデルにより生成されたアイドルを当該ユーザに割り当てることが可能となる。
【0120】
本実施形態によると、ユーザに割り当てたアイドルの属性をブロックチェーン2に記憶することが可能となる。
【0121】
本実施形態によると、ユーザに割り当てたアイドルのアイドルNFTをブロックチェーン2上で当該ユーザに付与することが可能となる。
【0122】
(実施形態2)
実施形態2は、ミッションのクリアによりアイドルの属性を更新する形態に関する。なお、実施形態1と重複する内容については説明を省略する。
【0123】
図12は、実施形態2におけるサーバ1の構成例を示すブロック図である。なお、
図2と重複する内容については同一の符号を付して説明を省略する。大容量記憶部15には、ミッションDB155が含まれる。ミッションDB155は、アイドルのレベルをアップするためのミッション(タスク)に関する情報を記憶している。
【0124】
図13は、ミッションDB155のレコードレイアウトの一例を示す説明図である。ミッションDB155は、ミッションID列、種類列、内容列、会場列及びクリア条件列を含む。ミッションID列は、各ミッションを識別するために、一意に特定されるミッションのIDを記憶している。ミッションは、ゲームアプリケーション内の課題である。本実施形態では、ミッションのクリアに伴い、アイドルのレベルをアップすることができる。
【0125】
種類列は、ミッションの種類を記憶している。ミッションの種類は、例えば、ライブまたはダンス競技等を含む。内容列は、ミッションの内容及び開催日時等を記憶している。会場列は、ミッション(例えば、ライブ)を開催する会場を記憶している。クリア条件列は、ミッションをクリアする条件を記憶している。クリア条件は、各ミッションの内容に応じて適宜設定することが可能である。例えば、ミッションの種類がライブである場合、当該ミッションのクリア条件は「所定のファン数(例えば、100人)に達成すること」等であっても良い。
【0126】
図14は、ミッションを行う画面の一例を示す説明図である。なお、本実施形態では、ミッションの種類がライブである例を説明するが、他の種類のミッションにも同様に適用することができる。以下では、仮想的な駅の前に開催する「駅前ライブ」の例を説明する。ユーザに割り当てたアイドルは「駅前ライブ」に参加することができる。
【0127】
「駅前ライブ」となるミッションは、アイドルの体力値が所定範囲(例えば、1~12)内である場合、所定場所での当該アイドルの歌唱を行う。所定場所は、「駅前ライブ」を開催する仮想的な場所(例えば、東京駅または大阪駅)である。アイドルの歌唱をさせる毎に、当該アイドルの体力値は消費される。
【0128】
歌唱の時間または楽曲の難易度等に基づいて、アイドルの消費体力値を設けることができる。例えば、アイドルが楽曲を歌唱させた場合、一定時間の経過(例えば、20秒)毎に、当該アイドルにおける所定の体力値(例えば、1)を消費しても良い。または、難易度の低い楽曲より、アイドルが難易度の高い楽曲を歌唱させた場合、一定時間の経過毎に、当該アイドルにおける所定の体力値(例えば、1)より多くの体力値(例えば、2)を消費しても良い。
【0129】
歌唱に伴いミッションのクリア条件が成立した場合、歌唱を行ったアイドルのレベルをアップさせる。例えば、アイドルの歌唱に伴い、当該アイドルのファン数が所定のファン数(例えば、100人)以上である場合、当該アイドルのレベルをアップさせる。なお、ファン数の加算アルゴリズムは、例えば、「駅前ライブ」の開催場所、開催日時、歌唱を行うアイドルのレベルまたは属性等に応じて設けられても良い。
【0130】
例えば、開催場所が1日の利用者数の多い仮想的な駅(例えば、新宿駅)である場合、アイドルの歌唱に伴い多くのファン数を設けても良い。例えば、新宿駅における最初のファン数が50人であり、一定の歌唱時間の経過(例えば、10秒)毎に、アイドルのファン数に、利用者の少ない仮想的な駅より所定のファン数(例えば、10人)の倍数(例えば、2倍)を加算しても良い。
【0131】
または、開催日時が利用者の多い時間帯(例えば、20:00~22:00)内である場合、アイドルの歌唱に伴い多くのファン数を設けても良い。例えば、「20:00~22:00」である時間帯において、一定の歌唱時間の経過(例えば、10秒)毎に、アイドルのファン数に、利用者の少ない時間帯(例えば、10:00~12:00)より所定のファン数(例えば、10人)の倍数(例えば、3倍)を加算しても良い。
【0132】
または、アイドルのレベルが高いほど、ファン数が多くなるように設けても良い。例えば、レベルに応じる増加ファン数が、「レベル1:3人、レベル2:5人、レベル3:8人…」であっても良い。例えば、サーバ1は、最初のファン数が50人であり、一定の歌唱時間の経過毎に、アイドルのファン数に当該アイドルのレベルに対応する増加ファン数を加算しても良い。
【0133】
または、アイドルの属性(体力、楽曲、ダンス及び美しさ等)に応じてファン数を加算することができる。例えば、体力値、楽曲の数、ダンスの数または美しさの値に応じて、複数のファン数の加算レベルを設けても良い。例えば、「加算レベル1:3人、加算レベル2:5人、加算レベル3:8人…」であっても良い。サーバ1は、一定の歌唱時間の経過毎に、アイドルのファン数に、当該アイドルの属性に応じた加算レベルに対応するファン数を加算する。
【0134】
更にまた、開催場所、開催日時、アイドルのレベル及び属性等の組み合わせに基づいて、ファン数の加算アルゴリズムを設けても良い。
【0135】
更にまた、サーバ1は、アイドルに複数の楽曲を歌唱させた場合、1つの楽曲の再生が終了した後に、アイドルのファン数に、所定のファン数(例えば、50人)を加算しても良い。
【0136】
「駅前ライブ」となるミッションをクリアした場合、アイドルの体力、楽曲、ダンスまたは美しさを含む当該アイドルの属性を更新する。例えば、アイドルの体力値を所定の増加量(例えば、1)に応じて増加しても良い。または、アイドルが歌唱可能な楽曲を増加させても良く、または、アイドルが踊り可能なダンスを増加させても良い。更にまた、アイドルの美しさを向上させても良い。なお、レベルアップに伴う属性の更新内容は、ゲームアプリケーション内で任意に設けられても良い。
【0137】
図14Aは、ライブにおける歌唱画面の一例を示す説明図である。
図14Bは、ミッションのクリア画面の一例を示す説明図である。
図14Cは、レベルアップ画面の一例を示す説明図である。
【0138】
当該画面は、開催場所表示欄13a、ファン表示欄13b、アイドルデータ表示欄13c、メッセージ表示欄13d及び体力値表示欄13eを含む。開催場所表示欄13aは、ライブの仮想的な開催場所(例えば、新宿駅または東京駅)を表示する表示欄である。ファン表示欄13bは、ミッションをクリアするためにファン数、またはファン数の達成状況を表示する表示欄である。
【0139】
アイドルデータ表示欄13cは、アイドルのデータを表示する表示欄である。メッセージ表示欄13dは、アイドルの名前及びメッセージ等を表示する表示欄である。体力値表示欄13eは、アイドルの体力値を表示する表示欄である。
【0140】
ユーザ端末3は、サーバ1のミッションDB155から、ミッションの種類がライブであるライブ一覧を取得する。ライブ一覧は、各ライブのミッションID、内容、会場及びクリア条件等を含む。ユーザ端末3は、例えば、歌唱設定の受付画面(図示なし)を通じて、取得したライブ一覧から、ユーザによるライブの開催日時、仮想的な開催場所(例えば、新宿駅)、歌唱の楽曲及びダンス等の設定情報を受け付ける。歌唱の楽曲は、ユーザまたはシステム等により、アイドルが歌唱可能な楽曲から選択されても良い。ユーザ端末3は、受け付けた開催場所を開催場所表示欄13aに表示する。
【0141】
ユーザ端末3は、ユーザID及びユーザに割り当てたアイドルのアイドルIDに基づいて、ブロックチェーン2のノード21から、当該アイドルの属性(体力値及び楽曲)を取得する。なお、ユーザ端末3は、割当IDに基づいてアイドルの属性をサーバ1の割当DB153から取得しても良い。
【0142】
ユーザ端末3は、アイドルIDに基づいて、当該アイドルの名前及びアイドルのデータをサーバ1のアイドルDB152から取得する。ユーザ端末3は、メッセージ(例えば、「今日のライブも全力です!」)を取得する。なお、メッセージは、予めユーザ端末3の記憶部32に記憶されても良い。ユーザ端末3は、割当IDに基づいて、当該アイドルのレベルをサーバ1の割当DB153から取得する。
【0143】
ユーザ端末3は、取得したアイドルのデータをアイドルデータ表示欄13cに表示する。ユーザ端末3は、取得したアイドルの名前及びメッセージをメッセージ表示欄13dに表示する。ユーザ端末3は、取得したアイドルの属性に含まれる体力値を体力値表示欄13eに表示する。
【0144】
ユーザ端末3は、受け付けた歌唱の設定情報(開催日時、開催場所及び歌唱の楽曲等)をサーバ1に送信する。サーバ1は、ユーザ端末3から送信された設定情報を受信する。サーバ1は、設定情報に含まれるライブの開催日時になると、アイドルの体力値が所定範囲(例えば、1~12)内であるか否かを判定する。
【0145】
サーバ1は、アイドルの体力値が所定範囲内である場合、受信した設定情報に含まれる楽曲をユーザ端末3に配信する。ユーザ端末3は、配信された楽曲の再生を開始する。なお、アイドルが所定の曲数(例えば、3)の楽曲を歌唱させることができる。サーバ1から所定の曲数の楽曲をユーザ端末3に配信した場合、ユーザ端末3は、配信された複数の楽曲を順次に再生する。
【0146】
ユーザ端末3は、所定の時間間隔(例えば、10秒)毎に、ファン数及び消費体力値をサーバ1から取得する。ユーザ端末3は、取得したファン数をファン表示欄13bに表示し、消費体力値に基づく最新の体力値を体力値表示欄13eに表示する。
【0147】
ユーザ端末3は、楽曲の再生が終了していない、且つ、体力値が所定範囲内である場合、楽曲の再生を続ける。ユーザ端末3は、アイドルの体力値が所定範囲外である場合、楽曲の再生が終了するか、または、当該アイドルの体力の回復処理を行う。体力の回復処理は、例えば、楽曲の再生を一時停止し、所定の時間間隔(例えば、10秒)毎に、所定の体力値(例えば、1)を加算しても良い。なお、ゲームアプリケーション内に設定されている体力回復用のアイテム(例えば、魔法の飲み物)またはイベント等により、アイドルの体力を回復することができる。
【0148】
サーバ1は、ユーザ端末3側での楽曲の再生が終了したと検知した場合、ライブのファン数と、所定のファン数(例えば、100人)とを比較する。サーバ1は、ライブのファン数が所定のファン数を達成した場合、アイドルのレベルをアップする。サーバ1は、アイドルのレベル及び属性を割当DB153に更新する。具体的には、サーバ1は、割当IDに対応付けて、レベルアップ後のレベル、更新後の体力値、楽曲、ダンスまたは美しさを割当DB153に更新する。
【0149】
サーバ1は、更新後のアイドルの属性をブロックチェーン2のノード21に記憶する。具体的には、サーバ1は、アイドルの属性の更新処理のトランザクションを作成する。作成されたトランザクションは、ユーザID、ユーザに割り当てたアイドルのアイドルID及び更新後の属性等を含む。
【0150】
サーバ1は、作成したトランザクションをブロックチェーン2のいずれかのノード21に送信する。ブロックチェーン2のノード21は、サーバ1から送信されたトランザクションを受信する。ノード21は、受信したトランザクションに含まれるユーザID、アイドルID及び更新後の属性を記憶する。
【0151】
サーバ1は、ミッションのクリア画面(
図14B)及びレベルアップ画面(
図14C)をユーザ端末3に送信する。ユーザ端末3は、サーバ1から送信されたミッションのクリア画面及びレベルアップ画面を受信して順次に表示する。例えば、ユーザ端末3は、ミッションのクリア画面を表示した後に、所定の時間間隔(例えば、5秒)を経過した場合、レベルアップ画面を表示しても良い。
【0152】
図示のように、ミッションのクリア画面には、「目標ファン数到達! 新宿駅クリア」となったメッセージ、及び目標ファン数到達を示す画像が表示される。レベルアップ画面には、レベルをアップした旨を含むメッセージ、アイドルのデータ、アイドルの名前及びレベルアップに伴い更新された属性(楽曲等)が表示される。
【0153】
図15及び
図16は、アイドルの属性を更新する際の処理手順を示すフローチャートである。サーバ1の制御部11は、ミッションの種類がライブであるライブ一覧を大容量記憶部15のミッションDB155から取得する(ステップS121)。ライブ一覧は、各ライブのミッションID、内容、会場及びクリア条件等を含む。制御部11は、ユーザID及びアイドルIDに基づいて、ブロックチェーン2のノード21から、当該アイドルの属性(体力値及び楽曲)を通信部13により取得する(ステップS122)。
【0154】
制御部11は、取得したライブ一覧及びアイドルの属性を通信部13によりユーザ端末3に送信する(ステップS123)。ユーザ端末3の制御部31は、サーバ1から送信されたライブ一覧及びアイドルの属性を通信部33により受信する(ステップS321)。制御部31は、受信したライブ一覧及びアイドルの属性を表示部35により表示する(ステップS322)。
【0155】
制御部31は、入力部34を介して、ライブ一覧からユーザによる歌唱の設定情報を受け付ける(ステップS323)。設定情報は、ライブの仮想的な開催場所(例えば、新宿駅)、ライブの開催日時及び歌唱の楽曲等を含む。制御部31は、受け付けた歌唱の設定情報を通信部33によりサーバ1に送信する(ステップS324)。
【0156】
サーバ1の制御部11は、ユーザ端末3から送信された歌唱の設定情報を通信部13により受信する(ステップS124)。制御部11は、受信した歌唱の設定情報に応じて、ライブの開催日時になるか否かを判定する(ステップS125)。制御部11は、ライブの開催日時になっていない場合(ステップS125でNO)、待機する。制御部11は、ライブの開催日時になる場合(ステップS125でYES)、アイドルの体力値が所定範囲(例えば、1~12)内であるか否かを判定する(ステップS126)。
【0157】
制御部11は、アイドルの体力値が所定範囲外である場合(ステップS126でNO)、歌唱不可の旨を含むメッセージを通信部13によりユーザ端末3に送信する(ステップS127)。ユーザ端末3の制御部31は、サーバ1から送信されたメッセージを通信部33により受信する(ステップS325)。制御部31は、受信したメッセージを表示部35により表示し(ステップS326)、処理を終了する。
【0158】
制御部11は、アイドルの体力値が所定範囲内である場合(ステップS126でYES)、楽曲の配信を開始する(ステップS128)。例えば、制御部11は、大容量記憶部15のアイドルDB152、または外部の楽曲配信サーバから該当する楽曲を取得する。制御部11は、取得した楽曲を通信部13によりユーザ端末3に送信(配信)する。
【0159】
制御部11は、楽曲が終了したか否かを判定する(ステップS129)。制御部11は、楽曲が終了していない場合(ステップS129でNO)、アイドルの体力値が所定範囲内であるか否かを判定する(ステップS130)。制御部11は、体力値が所定範囲外である場合(ステップS130でNO)、後述するステップS131の処理に遷移する。制御部11は、体力値が所定範囲内である場合(ステップS130でYES)、ステップS129の処理に戻る。
【0160】
制御部11は、楽曲の再生が終了した場合(ステップS129でYES)、楽曲の配信を終了する(ステップS131)。制御部11は、ライブのファン数と、所定のファン数(例えば、100人)とを比較することにより、ライブのファン数が所定のファン数を達成したか否かを判定する(ステップS132)。制御部11は、ライブのファン数が所定のファン数を達成していない場合(ステップS132でNO)、処理を終了する。
【0161】
制御部11は、ライブのファン数が所定のファン数を達成した場合(ステップS132でYES)、アイドルのレベルをアップする(ステップS133)。例えば、制御部11は、現在のレベル2からレベル3にアップする。制御部11は、アイドルの属性を更新する(ステップS134)。例えば、制御部11は、アイドルの体力値、及び、当該アイドルが歌唱可能な楽曲の増加処理を行っても良い。
【0162】
制御部11は、割当IDに対応付けて、レベルアップ後のレベル、更新後の属性(体力値及び楽曲等)を大容量記憶部15の割当DB153に更新する(ステップS135)。制御部11は、ユーザID、ユーザに割り当てたアイドルのアイドルID及び更新後の属性等を含むアイドルの属性の更新処理のトランザクションを作成する(ステップS136)。
【0163】
制御部11は、作成したトランザクションを通信部13によりブロックチェーン2のいずれかのノード21に送信する(ステップS137)。ブロックチェーン2のノード21の制御部211は、サーバ1から送信されたトランザクションを通信部213により受信する(ステップS231)。ノード21の制御部211は、受信したトランザクションに含まれるユーザID、アイドルID及び更新後の属性を記憶部212に記憶する(ステップS232)。
【0164】
本実施形態によると、ミッションのクリアによりアイドルの属性を更新することが可能となる。
【0165】
本実施形態によると、アイドルの歌唱に伴い所定の条件が成立した場合、当該アイドルのレベルをアップすることが可能となる。
【0166】
(実施形態3)
実施形態3は、ユーザに割り当てたアイドルと、当該ユーザとは異なる第2ユーザに割り当てたアイドルからなるアイドル群とを含むアイドルユニットを結成する形態に関する。なお、実施形態1~2と重複する内容については説明を省略する。
【0167】
図17は、実施形態3におけるサーバ1の構成例を示すブロック図である。なお、
図12と重複する内容については同一の符号を付して説明を省略する。大容量記憶部15には、アイドルユニットDB156が含まれる。アイドルユニットDB156は、アイドルユニットに関する情報を記憶している。
【0168】
図18は、アイドルユニットDB156のレコードレイアウトの一例を示す説明図である。アイドルユニットDB156は、ユニットID列、ユニット名列、アイドルID列、レベル列、ユニット属性列及びフォーメーション列を含む。
【0169】
ユニットID列は、各アイドルユニットを識別するために、一意に特定されるアイドルユニットのIDを記憶している。ユニット名列は、ユニットの名称を記憶している。アイドルID列は、アイドルを特定するアイドルIDを記憶している。レベル列は、アイドルユニットのレベルを記憶している。
【0170】
ユニット属性列は、楽曲列及びダンス列を含む。楽曲列は、アイドルユニットが歌唱可能な楽曲、または歌唱動画等を記憶している。なお、アイドルユニットが歌唱可能な楽曲は、アイドルユニットのレベルに応じて設けられても良い。例えば、「レベル1:music1、music2及びmusic3、レベル2:music4、music5及びmusic6…」であっても良い。ダンス列は、アイドルユニットが踊り可能なダンスを記憶している。なお、アイドルユニットの属性は、楽曲及びダンスに限らず、例えば、年齢層等を含んでも良い。
【0171】
フォーメーション列は、歌唱またはダンスを行う際に、アイドルユニットのフォーメーションを記憶している。フォーメーションは、例えば、横1列のパターン、横2列のパターン、縦1列パターン、縦2列パターン、1-2-4(横1列:1人 横2列:2人 横3列:4人)パターン、1-5(横1列:1人 横2列:5人)パターン、または2-3(横1列:2人 横2列:3人)パターン等を含む。
【0172】
図19は、実施形態3におけるアイドルDB152及び割当DB153のレコードレイアウトの一例を示す説明図である。なお、
図3及び
図4と重複する内容については説明を省略する。アイドルDB152及び割当DB153の属性列は、出身地列を含む。出身地列は、アイドルの出身地を記憶している。
【0173】
ユーザに割り当てたアイドルと、当該ユーザとは異なる第2ユーザに割り当てたアイドルからなるアイドル群とを含むアイドルユニットを結成することができる。例えば、各アイドルの出身地に基づき、地元密着のアイドルユニットを結成させる。具体的には、ユーザA氏にアイドル1を割り当て、ユーザB氏にアイドル2を割り当て、ユーザC氏にアイドル3を割り当てる。サーバ1は、同一の出身地(例えば、埼玉)であるアイドル1、アイドル2及びアイドル3をアイドルDB152から抽出する。サーバ1は、抽出したアイドル1、アイドル2及びアイドル3を含むアイドルユニットを結成させる。
【0174】
または、アイドルを割り当てたユーザの応募により、アイドルユニットを結成することができる。具体的には、サーバ1は、アイドルのレベルまたは属性(体力、楽曲、ダンス、美しさ及び出身地等)を含むアイドルユニットの募集情報を各ユーザ端末3に送信する。各ユーザ端末3は、サーバ1から送信された募集情報に応じて、ユーザによる応募要求を受け付ける。各ユーザ端末3は、受け付けた応募要求をサーバ1に送信する。応募要求には、ユーザID、アイドルID、アイドルのレベルまたは属性等が含まれる。サーバ1は、各ユーザ端末3から送信された応募要求を受信する。サーバ1は、受信した応募要求に応じて、例えば、応募者となるアイドルのレベルまたは属性と、募集情報に含まれるレベルまたは属性との一致性の高いアイドルを応募の先着順で複数抽出する。
【0175】
なお、異なる出身地である複数のアイドルを含むアイドルユニットを結成することもできる。なお、アイドルユニットに含まれるアイドルの数は特に限定されるものではない。
【0176】
アイドルユニットを1つのグループとして、ライブ等のミッションを行うことができる。ミッションは、例えば、アイドルユニットに対し、ライブが仮想的な駅の前に開催する「駅前ライブ」である。「駅前ライブ」となるミッションは、アイドルユニットの全員の体力値が所定範囲(例えば、1~各アイドルの体力値の最大値の合計値)内である場合、所定の仮想的な場所(例えば、東京駅または大阪駅)でのアイドルユニットの歌唱を行う。アイドルユニットの歌唱をさせる毎に、当該アイドルユニットに含まれる各アイドルの体力値は消費される。
【0177】
なお、各アイドルユニットの属性、歌唱の時間または楽曲の難易度等に基づいて、異なる消費体力値を設けても良い。例えば、アイドルユニットが楽曲を歌唱させた場合、一定時間の経過(例えば、20秒)毎に、当該アイドユニットに含まれる各アイドルにおける所定の体力値(例えば、1)を消費しても良い。または、難易度の低い楽曲より、アイドルユニットが難易度の高い楽曲を歌唱させた場合、一定時間の経過毎に、当該アイドユニットに含まれる各アイドルにおける所定の体力値(例えば、1)より多くの体力値(例えば、2)を消費しても良い。
【0178】
歌唱に伴いミッションのクリア条件が成立した場合、歌唱を行ったアイドルユニットのレベルをアップさせる。例えば、アイドルユニットの歌唱に伴い、当該アイドルユニットのファン数が所定のファン数(例えば、1000人)以上である場合、当該アイドルユニットのレベルをアップさせる。なお、ファン数は、例えば、「駅前ライブ」の開催場所、開催日時、または、歌唱を行うアイドルユニットのレベル等に応じて設けられても良い。
【0179】
「駅前ライブ」となるミッションをクリアした場合、アイドルユニットのレベルをアップさせ、当該アイドルユニットの属性(楽曲またはダンス等)を更新させる。
【0180】
図20及び
図21は、アイドルユニットの属性を更新する際の処理手順を示すフローチャートである。なお、
図15及び
図16と重複する内容については同一の符号を付して説明を省略する。サーバ1の制御部11は、ステップS121の処理を実行した後に、アイドルユニットのユニットIDに基づき、当該アイドルユニットの属性(楽曲またはダンス等)を大容量記憶部15のアイドルユニットDB156から取得する(ステップS141)。
【0181】
制御部11は、ステップS123~S124の処理を実行する。制御部11は、アイドルユニットの全員の体力値を算出する(ステップS142)。全員の体力値は、アイドルユニットに含まれる各アイドルの体力値の合計値である。制御部11は、ステップS125~S131の処理を実行する。
【0182】
制御部11は、各アイドルユニットのファン数を取得する(ステップS143)。制御部11は、複数のアイドルユニットのうち、1つのアイドルユニットのファン数を取得する(ステップS144)。制御部11は、取得したアイドルユニットのファン数が所定のファン数を達成したか否かを判定する(ステップS145)。制御部11は、アイドルユニットのファン数が所定のファン数を達成していない場合(ステップS145でNO)、処理を終了する。
【0183】
制御部11は、アイドルユニットのファン数が所定のファン数を達成した場合(ステップS145でYES)、アイドルユニットのレベルをアップする(ステップS146)。制御部11は、アイドルユニットの属性を更新する(ステップS147)。例えば、制御部11は、アイドルユニットが歌唱可能な楽曲の増加処理を行っても良い。制御部11は、アイドルユニットのユニットIDに基づき、更新後の属性を大容量記憶部15のアイドルユニットDB156に記憶する。
【0184】
制御部11は、複数のアイドルユニットのうち、当該アイドルユニットが最後のアイドルユニットであるか否かを判定する(ステップS148)。制御部11は、当該アイドルユニットが最後のアイドルユニットである場合(ステップS148でYES)、処理を終了する。制御部11は、当該アイドルユニットが最後のアイドルユニットでない場合(ステップS148でNO)、ステップS144の処理に戻る。
【0185】
本実施形態によると、ユーザに割り当てたアイドルと、当該ユーザとは異なる第2ユーザに割り当てたアイドルからなるアイドル群とを含むアイドルユニットを結成することが可能となる。
【0186】
本実施形態によると、ミッションのクリアによりアイドルユニットの属性を更新することが可能となる。
【0187】
本実施形態によると、アイドルユニットの歌唱に伴い所定の条件が成立した場合、当該アイドルユニットのレベルをアップすることが可能となる。
【0188】
(実施形態4)
実施形態4は、アイドルユニット同士のライブ対戦を実行する形態に関する。なお、実施形態1~3と重複する内容については説明を省略する。所定の仮想的な場所(例えば、新宿駅または大阪駅)でのアイドルユニット同士のライブ対戦を実行することができる。ライブ対戦における各アイドルユニットの総合スコアに基づき、ライブ対戦で優勝したアイドルユニットを決定することができる。
【0189】
図22は、実施形態4におけるサーバ1の構成例を示すブロック図である。なお、
図17と重複する内容については同一の符号を付して説明を省略する。大容量記憶部15には、対戦DB157及びスコアマスタDB158が含まれる。対戦DB157は、アイドルユニット同士のライブ対戦に関する情報を記憶している。スコアマスタDB158は、属性等の項目に対応するスコアを記憶している。
【0190】
図23は、対戦DB157及びスコアマスタDB158のレコードレイアウトの一例を示す説明図である。
対戦DB157は、対戦ID列、対戦日時列、対戦場所列、ユニットID列及び総合スコア列を含む。対戦ID列は、アイドルユニット同士のライブ対戦を実行した対戦データを識別するために、一意に特定される対戦データのIDを記憶している。
【0191】
対戦日時列は、アイドルユニット同士のライブ対戦を実行した日時情報を記憶している。対戦場所列は、アイドルユニット同士のライブ対戦を実行した場所を記憶している。ユニットID列は、対戦を実行した複数のアイドルユニットIDを記憶している。総合スコア列は、各アイドルユニットの総合レベルを判定するための総合スコアを記憶している。
【0192】
スコアマスタDB158は、種類列、項目列及びスコア列を含む。種類列は、項目の種類(アイドルユニット及びアイドル)を記憶している。項目は、アイドルユニットのフォーメーション及び属性、並びに、アイドルユニットに含まれる各アイドルの属性を含む。項目列は、項目の名称を記憶している。スコア列は、各項目に対応するスコアを記憶している。
【0193】
図24は、ライブ対戦を実行する画面の一例を示す説明図である。
図24Aは、ライブ対戦の受付画面の一例を示す説明図である。当該画面では、第1アイドルユニット表示欄14a、及び第2アイドルユニット表示欄14bを含む。第1アイドルユニット表示欄14aは、第1アイドルユニットのデータ及びユニットの名称を表示する表示欄である。第2アイドルユニット表示欄14bは、第2アイドルユニットのデータ及びユニットの名称を表示する表示欄である。
【0194】
サーバ1は、ライブ対戦の対戦IDに基づき、ライブ対戦に参加する複数のアイドルユニットのユニットIDを対戦DB157から取得する。サーバ1は、取得した各ユニットIDに基づき、各アイドルユニットの名称、及び各アイドルユニットに含まれる複数のアイドルのアイドルIDをアイドルユニットDB156から取得する。サーバ1は、取得した各アイドルIDに基づき、各アイドルのデータをアイドルDB152から取得する。
【0195】
サーバ1は、各アイドルユニットに含まれる複数のアイドルのデータに基づいて、各アイドルユニットのデータを作成する。サーバ1は、作成した各アイドルユニットのデータ及びユニットの名称をユーザ端末3に送信する。ユーザ端末3は、サーバ1から送信された各アイドルユニットのデータ及びユニットの名称を受信する。ユーザ端末3は、受信した各アイドルユニットのデータ及びユニットの名称を画面に表示する。
【0196】
図示のように、ユーザ端末3は、第1アイドルユニット表示欄14aに、「ユニットA」であるアイドルユニットのデータ及び名称を表示する。ユーザ端末3は、第2アイドルユニット表示欄14bに、「ユニットB」であるアイドルユニットのデータ及び名称を表示する。なお、
図24Aでは、ライブ対戦にユニットA及びユニットBを参加した例を説明したが、これに限るものではない。ライブ対戦に参加するアイドルユニットの数は特に限定されるものではない。
【0197】
サーバ1は、ライブ対戦の対戦IDに基づき、対戦日時及び対戦場所を対戦DB157から取得する。サーバ1は、対戦日時になると、アイドルユニットの全員の体力値を算出する。全員の体力値は、アイドルユニットに含まれる各アイドルの体力値の合計値である。サーバ1は、算出した全員の体力値が所定範囲(例えば、1~各アイドルの体力値の最大値の合計値)内であるか否かを判定する。
【0198】
サーバ1は、算出した全員の体力値が所定範囲内である場合、アイドルユニットが歌唱可能な楽曲をアイドルユニットDB156から取得する。なお、楽曲は、ユーザ端末3側でユーザにより選択されても良い。サーバ1は、取得した楽曲をユーザ端末3に送信(配信)する。ユーザ端末3は、サーバ1から送信された楽曲の再生を開始する。
【0199】
ユーザ端末3は、楽曲の再生が終了していない、且つ、全員の体力値が所定範囲内である場合、楽曲の再生を続ける。サーバ1は、所定の時間間隔(例えば、10秒)毎に、各アイドルユニットに含まれる各アイドルの消費体力値を取得する。サーバ1は、取得した各アイドルの消費体力値に基づき、各アイドルユニットの全員の体力値を再算出する。
【0200】
サーバ1は、再算出した全員の体力値が所定範囲内である場合、楽曲の配信を続ける。または、サーバ1は、全員の体力値が所定範囲外である場合、楽曲の配信を終了するか、または、ゲームアプリケーション内に設けられている体力回復用のアイテムまたはイベント等によりアイドルユニットの体力を回復させる。サーバ1は、各アイドルユニットの総合スコアに基づき、ライブ対戦で優勝したアイドルユニットを決定する。なお、総合スコアに基づく決定処理に関しては後述する。サーバ1は、ライブ対戦の結果画面(
図24B)をユーザ端末3に送信する。
【0201】
図24Bは、ライブ対戦の結果画面の一例を示す説明図である。当該画面では、第1アイドルユニット結果表示欄14c及び第2アイドルユニット結果表示欄14dを含む。第1アイドルユニット結果表示欄14cは、第1アイドルユニットのライブ対戦の結果を表示する表示欄である。第2アイドルユニット結果表示欄14dは、第2アイドルユニットのライブ対戦の結果を表示する表示欄である。
【0202】
ユーザ端末3は、サーバ1から送信されたライブ対戦の結果画面を表示する。図示のように、ユニットAは優勝したアイドルユニットである。ユニットAのライブ対戦の結果は第1アイドルユニット結果表示欄14cに表示され、ユニットBのライブ対戦の結果は第2アイドルユニット結果表示欄14dに表示される。
【0203】
図25は、優勝アイドルユニットを決定する際の処理手順を示すフローチャートである。サーバ1の制御部11は、ライブ対戦の対戦IDに基づき、ライブ対戦に参加する複数のアイドルユニットのユニットIDを大容量記憶部15の対戦DB157から取得する(ステップS151)。制御部11は、ライブ対戦の対戦IDに基づき、対戦日時及び対戦場所等を含む対戦情報を大容量記憶部15の対戦DB157から取得する(ステップS152)。
【0204】
制御部11は、対戦情報に含まれる対戦日時になるか否かを判定する(ステップS153)。制御部11は、対戦日時になっていない場合(ステップS153でNO)、待機する。制御部11は、対戦日時になる場合(ステップS153でYES)、アイドルユニット同士のライブ対戦を実行する(ステップS154)。例えば、制御部11は、ライブ対戦に参加した各アイドルユニットの全員の体力値を算出する。制御部11は、算出した各アイドルユニットの全員の体力値が所定範囲内である場合、ライブの仮想的な対戦場所(例えば、新宿駅)で各アイドルユニットを順次に歌唱させる。
【0205】
制御部11は、各アイドルユニットの総合スコアの初期値を設定する(ステップS155)。例えば制御部11は、各アイドルユニットにおける所定の総合スコアの初期値(例えば、0点または1点)を設定しても良い。
【0206】
制御部11は、総合スコアを変動させる処理のサブルーチンを実行する(ステップS156)。なお、総合スコアの変動処理のサブルーチンに関しては後述する。制御部11は、各アイドルユニットの総合スコアに基づき、例えば、総合スコアの一番高いアイドルユニットを優勝したアイドルユニットとして決定する(ステップS157)。
【0207】
制御部11は、ライブ対戦の結果を大容量記憶部15の対戦DB157に記憶する(ステップS158)。具体的には、制御部11は、ライブ対戦の対戦IDに基づき、各アイドルユニットの総合スコアを対戦DB157に記憶する。制御部11は、ライブ対戦の結果を通信部13によりユーザ端末3に送信する(ステップS159)。
【0208】
ユーザ端末3の制御部31は、サーバ1から送信されたライブ対戦の結果を通信部33により受信する(ステップS351)。制御部31は、受信したライブ対戦の結果を表示部35により表示し(ステップS352)、処理を終了する。
【0209】
図26は、総合スコアを変動させる処理のサブルーチンの処理手順を示すフローチャートである。サーバ1の制御部11は、ライブ対戦の対戦IDに基づき、ライブ対戦に参加する複数のアイドルユニットのユニットIDを大容量記憶部15の対戦DB157から取得する(ステップS01)。制御部11は、取得した各アイドルユニットのユニットIDに基づき、各アイドルユニットのフォーメーション及び属性(楽曲またはダンス等)を大容量記憶部15のアイドルユニットDB156から取得する(ステップS02)。
【0210】
制御部11は、各アイドルユニットに含まれる各アイドルの属性(体力、楽曲、ダンスまたは美しさ等)を取得する(ステップS03)。具体的には、制御部11は、各アイドルユニットのユニットIDに基づき、各アイドルユニットに含まれる複数のアイドルのアイドルIDを大容量記憶部15のアイドルユニットDB156から取得する。制御部11は、取得した各アイドルのアイドルIDに基づき、各アイドルの属性を大容量記憶部15の割当DB153から取得する。なお、制御部11は、各アイドルの属性をブロックチェーン2のノード21から取得しても良い。
【0211】
制御部11は、取得した各アイドルユニットのフォーメーション及び属性、並びに、各アイドルの属性に対応するスコアを大容量記憶部15のスコアマスタDB158から取得する(ステップS04)。制御部11は、取得したスコアに基づき、総合スコアを算出する(ステップS05)。制御部11は、総合スコアの変動処理のサブルーチンを終了してリターンする。
【0212】
例えば、制御部11は、アイドルユニットのフォーメーションに対応するスコアを、当該アイドルユニットのフォーメーションスコアとして取得する。制御部11は、アイドルユニットの属性(例えば、楽曲及びダンス)に対応するスコアに基づき、当該アイドルユニットの属性スコア(例えば、楽曲スコア+ダンススコア)を算出する。
【0213】
制御部11は、アイドルユニットに含まれる各アイドルの属性(例えば、体力、楽曲、ダンス及び美しさ)に対応するスコアに基づき、各アイドルのスコア(例えば、体力スコア+楽曲スコア+ダンススコア+美しさスコア)を算出する。制御部11は、各アイドルのスコアの合計を個人スコアとして算出する。制御部11は、算出したフォーメーションスコアと、アイドルユニットの属性スコアと、個人スコアとの合計を、当該アイドルユニットの総合スコアとして算出する。
【0214】
なお、上述した総合スコアの算出処理に限るものではない。例えば、アイドルユニットのフォーメーション及び属性、並びに、当該アイドルユニットに含まれる各アイドルの属性に対し、比重係数を設けても良い。
【0215】
比重係数は、計算要素(フォーメーション及び属性等)の重要度または影響力等により設定された係数である。影響力が大きいほど、比重係数が大きくなる。例えば、属性において、「楽曲」の影響力が「ダンス」より大きい場合、「楽曲」に対し大きい比重係数(例えば、0.2)が設定され、「ダンス」に対し小さい比重係数(例えば、0.1)が設定されても良い。なお、比重係数は、予め記憶部12または大容量記憶部15に記憶されても良い。
【0216】
制御部11は、ステップS04の処理で取得された各項目に対応するスコアと、各項目の比重係数とに基づいて、各項目の比重係数付きスコア(スコア×比重係数)を算出する。制御部11は、算出した各項目の比重係数付きスコアの合計を、総合スコアとして算出しても良い。
【0217】
また、アイドルユニットに含まれる各アイドルの出身地と、ライブを開催するライブ会場(開催場所)の客の出身地とに基づき、アイドルユニットの総合スコアを変動させることができる。
【0218】
図27は、出身地に基づく総合スコアを変動させる処理のサブルーチンの処理手順を示すフローチャートである。なお、
図26と重複する内容については同一の符号を付して説明を省略する。ステップS03の処理で取得された各アイドルの属性には、アイドルの出身地が含まれる。
【0219】
サーバ1の制御部11は、ステップS05の処理を実行した後に、ライブを開催するライブ会場の客の出身地を取得する(ステップS11)。なお、客の出身地は、仮想的なライブ会場(例えば、新宿駅)に応じて、ゲームアプリケーション内で予め設けられても良い。例えば、ライブ会場が新宿駅である場合、客の出身地は「東京都:60%、北海道:20%、福岡県10%…」等であっても良い。
【0220】
制御部11は、アイドルの出身地と、一番多いの客の出身地とが一致するか否かを判定する(ステップS12)。制御部11は、アイドルの出身地と、一番多いの客の出身地とが一致する場合(ステップS12でYES)、総合スコアに所定のスコアを加算する(ステップS13)。所定のスコアは、例えば、固定値(例えば、5)、または総合スコアの割合(例えば、5%)等であっても良い。制御部11は、出身地に基づく総合スコアの変動処理のサブルーチンを終了してリターンする。
【0221】
制御部11は、アイドルの出身地と、一番多いの客の出身地とが一致していない場合(ステップS12でNO)、総合スコアから所定のスコアを減算する(ステップS14)。制御部11は、出身地に基づく総合スコアの変動処理のサブルーチンを終了してリターンする。
【0222】
なお、上述した出身地に基づく総合スコアの変動処理は一例であり、出身地に基づく総合スコアの加算または減算のアルゴリズムは限定されない。
【0223】
本実施形態によると、各アイドルユニットの総合スコアに基づき、当該ライブ対戦で勝利したアイドルユニットを決定することが可能となる。
【0224】
本実施形態によると、アイドルユニットのフォーメーション及び属性、並びに、当該アイドルユニットに含まれる各アイドルの属性に基づき、当該アイドルユニットの総合スコアを変動させることが可能となる。
【0225】
本実施形態によると、アイドルユニットに含まれる各アイドルの出身地と、当該ライブを開催するライブ会場の客の出身地とに基づき、当該アイドルユニットの総合スコアを変動させることが可能となる。
【0226】
(実施形態5)
実施形態5は、アイドルのレベル、またはアイドルユニットのレベルに応じたライブ会場でミッションを行う形態に関する。なお、実施形態1~4と重複する内容については説明を省略する。
【0227】
図28は、実施形態5におけるミッションDB155のレコードレイアウトの一例を示す説明図である。なお、
図13と重複する内容については説明を省略する。ミッションDB155は、会場ランク列、アイドルレベル列及びアイドルユニットレベル列を含む。
【0228】
会場ランク列は、ライブを開催する仮想的なライブ会場のランクを記憶している。ライブ会場は、複数のランクを用いて段階的に表わされる。例えば、ランク1~5まで5段階のランクを設けても良い。それぞれのランクには、複数の会場が含まれる。図示のように、ランク4には東京駅及び大阪駅が含まれる。
【0229】
アイドルレベル列は、ライブ会場に対応するアイドルのレベルを記憶している。アイドルユニットレベル列は、ライブ会場に対応するアイドルユニットのレベルを記憶している。
【0230】
以下では、アイドルのレベルに基づきライブ会場を取得する処理を説明するが、アイドルユニットにも同様に適用することができる。
【0231】
サーバ1は、ライブであるミッションの種類、及びアイドルのレベルに基づき、ミッションID、内容、ライブ会場及びクリア条件等を含むライブ一覧をミッションDB155から取得する。サーバ1は、ユーザID及びアイドルIDに基づいて、ブロックチェーン2のノード21から、当該アイドルの属性(体力値及び楽曲等)を取得する。サーバ1は、取得したライブ一覧及びアイドルの属性をユーザ端末3に送信する。
【0232】
ユーザ端末3、サーバ1から送信されたライブ一覧及びアイドルの属性を受信する。ユーザ端末3は、受信したライブ一覧及びアイドルの属性を表示する。ユーザ端末3は、ライブ一覧からユーザによる歌唱の設定情報を受け付ける。設定情報は、仮想的なライブ会場(例えば、東京駅)、開催日時及び歌唱の楽曲等を含む。ユーザ端末3は、受け付けた歌唱の設定情報をサーバ1に送信する。
【0233】
サーバ1は、ユーザ端末3から送信された歌唱の設定情報に応じて、ライブの開催日時になると、アイドルの体力値が所定範囲内であるか否かを判定する。サーバ1は、アイドルの体力値が所定範囲内である場合、設定情報に含まれるライブ会場で当該アイドルの歌唱を行う。
【0234】
このように、アイドルのレベルまたはアイドルユニットのレベルが高いほど、ライブ会場のランクが高くなる。レベルアップに伴い、上位ランクのライブ会場で所定のミッション(例えば、ライブ)を行うことができる。
【0235】
本実施形態によると、アイドルのレベル、またはアイドルユニットのレベルに応じたライブ会場でミッションを行うことにより、アイドルまたはアイドルユニットを精進させてレベルアップを目指すことが可能となる。
【0236】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0237】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載しても良い。
【符号の説明】
【0238】
1 情報処理装置(サーバ)
11 制御部
11a ハッシュ値算出部
11b 電子署名作成部
12 記憶部
13 通信部
14 読取部
15 大容量記憶部
151 ユーザDB
152 アイドルDB
153 割当DB
154 アイドルNFTDB
155 ミッションDB
156 アイドルユニットDB
157 対戦DB
158 スコアマスタDB
1a 可搬型記憶媒体
1b 半導体メモリ
1P 制御プログラム
2 ブロックチェーンシステム(ブロックチェーン)
21 ノード
211 制御部
212 記憶部
213 通信部
214 受付部
215 出力部
216 ブロック生成部
217 ブロック検証部
218 ブロック共有部
3 情報処理端末(ユーザ端末)
31 制御部
31a ハッシュ値算出部
31b 電子署名作成部
32 記憶部
33 通信部
34 入力部
35 表示部
36 マイク
37 スピーカ
3P 制御プログラム