JP7264941B2 - プログラム、情報処理装置及び情報処理方法 - Google Patents

プログラム、情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP7264941B2
JP7264941B2 JP2021100774A JP2021100774A JP7264941B2 JP 7264941 B2 JP7264941 B2 JP 7264941B2 JP 2021100774 A JP2021100774 A JP 2021100774A JP 2021100774 A JP2021100774 A JP 2021100774A JP 7264941 B2 JP7264941 B2 JP 7264941B2
Authority
JP
Japan
Prior art keywords
avatar
moving image
data
camera
distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021100774A
Other languages
English (en)
Other versions
JP2023000136A (ja
Inventor
暁彦 白井
琢磨 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GREE Inc
Original Assignee
GREE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GREE Inc filed Critical GREE Inc
Priority to JP2021100774A priority Critical patent/JP7264941B2/ja
Priority to US17/839,498 priority patent/US20220405996A1/en
Publication of JP2023000136A publication Critical patent/JP2023000136A/ja
Priority to JP2023064806A priority patent/JP2023095862A/ja
Application granted granted Critical
Publication of JP7264941B2 publication Critical patent/JP7264941B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Description

本発明は、プログラム、情報処理装置及び情報処理方法に関する。
従来から、ユーザの動きに基づいてアバターのアニメーションを生成し、アバターのアニメーションを含む動画を配信する動画配信システムが知られている(例えば、特許文献1参照)。
特開2021-007199号公報
上記の動画配信システムの殆どは配信者がスマートフォン等の多機能電話端末を用いて動画を配信するものである。多機能電話端末を用いた動画の配信においてもユーザのアバターを通じた表現が可能であるが、より没入感が得られるヘッドマウントディスプレイを用いることによって、アバターの表情を含めた表現方法の幅をさらに広げることができれば、ユーザの満足度をさらに高めることが可能となる。このため、動画を配信する配信ユーザの数及び動画の配信回数に加え、動画を視聴するユーザの数及び視聴回数の増大が期待される。
上記課題を解決するプログラムは、1乃至複数のコンピュータを、非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線が向けられる対象が異なる複数のモードのうち一つのモードを取得するモード取得部と、指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラによって撮影した動画データを作成する動画作成部と、作成した前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信部と、して機能させる。
上記課題を解決する情報処理装置は、非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち一つのモードを取得するモード取得部と、指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラによって撮影した動画データを作成する動画作成ステップと、作成した前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信部と、を備える。
上記課題を解決する動画配信方法は、1乃至複数のコンピュータを、非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち一つのモードを取得するモード取得ステップと、指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラによって撮影した動画データを作成する動画作成ステップと、作成した前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信ステップと、を実行する。
上記課題を解決するプログラムは、1乃至複数のコンピュータを、非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、指定された一つのモードに応じた視線データと、前記配信ユーザの動きを示すトラッキングデータとをサーバから受信する視線データ受信部と、前記トラッキングデータ及び前記視線データを用いて、前記アバターが配置された仮想空間を仮想カメラからみた動画データを作成し、前記動画データを視聴ユーザが視認するディスプレイに出力する表示制御部として機能させる。
上記課題を解決する情報処理方法は、1乃至複数のコンピュータが、非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、指定された一つのモードに応じた視線データと、前記配信ユーザの動きを示すトラッキングデータとをサーバから受信する視線データ受信ステップと、前記トラッキングデータ及び前記視線データを用いて、前記アバターが配置された仮想空間を仮想カメラから見た動画を作成し、前記動画データを視聴ユーザが視認するディスプレイに出力する表示制御ステップと、を実行する。
上記課題を解決するプログラムは、非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得部と、指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラから見た動画を表示するための動画データを作成する作成部と、エンコードした前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信部と、して機能させる。
上記課題を解決する情報処理装置は、1乃至複数のコンピュータを、非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得部と、指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラから見た動画を表示するための動画データを作成する作成部と、エンコードした前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信部と、を備える。
上記課題を解決する情報処理方法は、1乃至複数のコンピュータが、非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得ステップと、指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラから見た動画を表示するための動画データを作成する作成ステップと、エンコードした前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信ステップと、を実行する。
本発明によれば、ユーザの満足度をさらに高めることが可能な動画を配信することができる。
情報処理装置及びサーバを含むシステムの一実施形態を示す模式図。 同実施形態のユーザ管理データのデータ構造の一例を示す図。 同実施形態のユーザ装置の模式図。 同実施形態の仮想空間の座標系と、アバター及び仮想カメラの位置関係を説明する図。 同実施形態のアバターの瞳の移動方向を説明する図。 同実施形態の動画配信時の配信ユーザの状態及び視聴ユーザによって視聴される画面の例を説明する模式図。 同実施形態の複数のアバターが共演するコラボレーション配信での仮想カメラの位置を説明する図。 同実施形態の仮想カメラの視野角を説明する図。 同実施形態の配信ユーザが動画配信中に確認するプレビュー画面を表示することを説明する図。 同実施形態の第1モードについて説明する図。 同実施形態の第1モードでの配信時に視聴ユーザ装置に表示される画面の図。 同実施形態の第2モードについて説明する図。 同実施形態の第2モードでの配信時に視聴ユーザ装置に表示される画面の図。 同実施形態の第3モードについて説明する図。 同実施形態の視聴ユーザ装置に表示される配信リスト画面の一例を示す図。 同実施形態のギフトオブジェクトを含む視聴画面の一例を示す図。 同実施形態のメッセージを含む視聴画面の一例を示す図。 同実施形態の動画配信手順を示すシーケンスチャート。
以下、図面を参照して動画配信システムである管理システムの一実施形態について説明する。
<管理システム>
図1に示すように、管理システム10は、サーバ11、及びユーザ装置12を備える。管理システム10は、サーバ11及び複数のユーザ装置12の間で、クラウドサーバ群を含むネットワーク14を介してデータを相互に送受信することにより、一方のユーザが配信した動画を他方のユーザが用いるユーザ装置12に表示するシステムである。
<動画配信方法>
動画の配信方式として、第1配信方式、第2配信方式、及び第3配信方式のいずれかを用いることができる。ユーザ装置12は、視聴モード及び配信モードの両方のモードで動作可能である。ユーザが、ユーザ装置12を用いて動画を配信する場合には当該ユーザを「配信ユーザ」といい、ユーザ装置12を用いて動画を視聴する場合には当該ユーザを「視聴ユーザ」という。つまり、ユーザは、配信ユーザにも視聴ユーザにもなり得る。
第1配信方式は、配信ユーザのユーザ装置12が動画データを生成し、生成した動画データをエンコードして視聴ユーザのユーザ装置12に送信する映像配信方式である。第2配信方式は、配信ユーザのユーザ装置12及び視聴ユーザのユーザ装置12が動画の生成に必要なデータを受信して動画を作成するクライアントレンダリング方式である。第3配信方式は、サーバ11が配信ユーザのユーザ装置12から動画の生成に必要なデータを収集して動画データを生成し視聴ユーザのユーザ装置12に配信するサーバ映像配信方式である。又は、これらの方式のうち複数を用いるハイブリッド方式を用いてもよい。本実施形態では、第2配信方式であるクライアントレンダリング方式でユーザ装置12に動画を表示させる方法について説明する。
<ユーザ装置>
ユーザ装置12について説明する。本実施形態では、ユーザ装置12として、ユーザの頭部に装着可能なヘッドマウントディスプレイを含むシステム又は装置の他、ヘッドマウントディスプレイを含まないシステム又は装置が存在し得る。ヘッドマウントディスプレイを含むユーザ装置12を、それ以外のシステム又は装置と区別する場合には、ユーザ装置120として説明し、区別しない場合には単にユーザ装置12として説明する。
ユーザ装置12に含まれるヘッドマウントディスプレイは、ユーザが視認するディスプレイを備えるものであり、両眼を覆うハウジングを備える非透過型の装置や、仮想空間画像だけでなく現実世界の実像を視認可能な透過型の装置である。非透過型のヘッドマウントディスプレイは、1乃至複数のディスプレイに、左眼に視認させるための画像と右眼に視認させるための画像とをそれぞれ表示してもよいし、1つの画像をディスプレイに表示してもよい。非透過型のヘッドマウントディスプレイは、仮想現実(VR:Virtual Reality)の画像を表示する。透過型のヘッドマウントディスプレイは、例えば両眼式又は単眼式の眼鏡型のものであり、ディスプレイがハーフミラー又は透明材料から形成される。透過型のヘッドマウントディスプレイは、拡張現実(AR:Augmented Reality)の画像を表示する。また、ヘッドマウントディスプレイは、スマートフォン等の多機能電話端末を所定のハウジングに着脱可能に固定するものであってもよい。
ユーザ装置120は、制御部20、ストレージ22(記憶媒体)、通信インターフェース(I/F)23を備える。制御部20は、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、NPU(Neural network Processing Unit)等の1乃至複数の演算回路を備える。また、制御部20は、演算回路が読み出し及び書き込みが可能な主記憶装置(記録媒体)であるメモリを備える。メモリは、半導体メモリ等から構成される。制御部20は、ストレージ22又は外部ストレージからオペレーティングシステムやその他のプログラムをメモリに読み込み、メモリから取り出した命令を実行する。通信I/F23は、ネットワーク14を介して、サーバ11やその他の外部装置との間でデータを送受信する。ネットワーク14は、ローカルエリアネットワーク、インターネット等、各種のネットワークを含む。本実施形態においては、制御部20が、モード取得部、動画作成部、及び動画データ送信部として機能する。
ストレージ22は、補助記憶装置(記録媒体)であり、例えば、磁気ディスク、光ディスク、半導体メモリ等の記憶媒体である。ストレージ22は、複数のストレージを組み合わせて用いることもできる。ストレージ22には、動画プログラム220、アバターを描画するためのアバターデータ221、オブジェクトデータ222、及びユーザ管理データ223が格納されている。
本実施形態では、動画プログラム220は、動画を配信及び動画を視聴するためのプログラムである。動画プログラム220は、ユーザがモードを指定する操作に基づき、配信モード及び視聴モードのいずれかのモードを実行する。制御部20は、動画プログラム220を実行することにより、サーバ11から各種のデータを適宜取得する。本実施形態では主に動画プログラム220の動画配信機能について説明するが、動画プログラム220は、配信モードに加え、動画を視聴する視聴モードを備えている。
アバターデータ221は、人物を模したモデル又は人物以外のキャラクターであるアバターを描画するための3次元モデルデータである。ユーザ装置12は、アバターデータ221を更新するデータを、動画プログラム220を起動した場合等、サーバ11から所定のタイミングで取得する。アバターデータは、アバター本体を描画するためのデータ、アバター本体に付随するテクスチャデータ等を含んでいる。アバター本体を描画するためのデータには、ポリゴンデータ、アバターの動作を表現するための行列を含む骨格データ(ボーン)や、モデルの変形を含むブレンドシェイプ等が含まれる。ブレンドシェイプは、頂点数などの構造を同一とし形が異なる複数のモデルをブレンドして新しい形を作り出す手法である。ボーンには、アバターの腰、脊椎、首、頭部、腕及び手、脚部等の体躯のボーンの他、瞳のボーンが含まれる。
また、アバターデータ221は、複数体のアバター本体を描画するためのデータを含んでいてもよい。この場合、ユーザは自身に対応するアバターを選択することができる。テクスチャデータには、アバターに対して適用可能な複数のパーツデータが含まれている。例えば「まぶた」、「瞳」、「眉」、「耳」、「服」等のカテゴリ毎に複数のパーツデータが準備されている。ユーザは、パーツデータを選択し、アバター本体に適用して、自身のアバターを作成する。ユーザによって選択されたパーツデータは、ストレージ22に記録される。
オブジェクトデータ222は、アバター以外のオブジェクトに関する情報である。アバター以外のオブジェクトには、アバターの特定の部位と関連付けて表示画面に表示される装着オブジェクトが含まれる。装着オブジェクトは、例えば、装着オブジェクトに装着されるアクセサリー、衣服、及びこれら以外のアバターに装着可能なオブジェクトである。アバター以外のオブジェクトであって、装着オブジェクト以外のものとしては、仮想空間の所定位置に配置されるオブジェクトや、背景、花火等のアニメーションがある。
ユーザ管理データ223は、ユーザに関するデータを含む。なお、ユーザ管理データ223は、ユーザの識別情報(ユーザID)に関連付けて、ユーザが所有するコイン、ポイント、配信状況等を含んでいてもよい。また、ユーザ管理データ223は、ユーザと友達関係にある他のユーザの識別情報、他のユーザとの友好度等を含んでいても良い。ユーザ同士が互いについて承認を行うと、友達関係としてユーザ管理データ223に記憶される。
また、ユーザ装置120は、センサユニット24、スピーカ25、マイク26、ディスプレイ28を備える。
センサユニット24は、ユーザの動きを検出するトラッキングを行うものである。センサユニット24は、ヘッドマウントディスプレイに備えられるもの、又はヘッドマウントディスプレイ以外に備えられるものである。ヘッドマウントディスプレイ以外に備えられるものとしては、ユーザの腕、脚等の各部位や、バッドやラケット等の道具に装着されるものがある。この種のセンサユニット24としては、例えばVive Tracker(登録商標)が挙げられる。ヘッドマウントディスプレイに設けられるセンサユニット24はそれらの端末の方向及び位置の少なくとも一方を検出するものであって、3DoF(Degrees of Freedom)や6DoFのセンサユニットである。センサユニット24は、例えば慣性計測装置(IMU:Inertial Measurement Unit)である。慣性計測装置は、現実世界の三次元座標であるX軸、Y軸、及びZ軸を中心とした回転角度、角速度、加速度等の少なくとも一つを検出する。慣性計測装置としては、ジャイロセンサ、加速度センサ等が挙げられる。さらにセンサユニット24は、GPS等の絶対位置を検出するセンサを備えていてもよい。
さらにヘッドマウントディスプレイがアウトサイドイン方式でトラッキングを行うものである場合、センサユニット24は、トラッキング空間内であってユーザの身体以外に設置された外部センサを含んでいてもよい。ヘッドマウントディスプレイに設けられたセンサ及び外部センサは、ヘッドマウントディスプレイの方向及び位置を協働して検出する。外部センサとしては、例えばVive BaseStation(登録商標)を用いることができる。
ヘッドマウントディスプレイがインサイドアウト方式でトラッキングを行うものである場合、センサユニット24は、トラッキング空間の3次元情報を計測可能な3Dセンサ等を有していてもよい。この種の3Dセンサは、ステレオ方式又はToF方式でトラッキング空間の位置情報を検出する。3Dセンサは、上記のToFセンサや公知の他のセンサの検出結果に基づきユーザが存在する現実空間の物体を認識し、認識した物体を空間地図にマッピングする空間マッピング機能を有する。
また、センサユニット24は、ユーザの表情の変化を示すフェイスモーションを検出する1乃至複数のセンサを備えていてもよい。フェイスモーションは、瞬きや口の開閉等の動きを含む。センサユニット24は、公知の物を使用することができる。センサユニット24の一例は、ユーザに向かって照射された光がユーザの顔等に反射して返ってくるまでの飛行時間(Time of Flight)を測定検出するToFセンサ、ユーザの顔を撮影するカメラ及びカメラが撮影したデータを画像処理する画像処理部を含むものである。また、センサユニット24は、可視光線を撮像するRGBカメラと、近赤外線を撮像する近赤外線カメラとを含んでいてもよい。このカメラは、具体的には、ドットプロジェクタによってユーザの顔等に数万の不可視のドット(点)を投影する。そして、ドットパターンの反射光を検出し、分析して顔の深度マップを形成し、顔等の赤外線画像をキャプチャすることで、正確な顔データをキャプチャする。センサユニット24の演算処理部は、深度マップと赤外線画像に基づいて各種の情報を生成し、その情報を登録済みの参照データと比較して、顔の各ポイントの深度(各ポイントと近赤外線カメラとの間の距離)や深度以外の位置のずれを算出する。
また、センサユニット24は、ユーザの顔だけでなく、手をトラッキングする(ハンドトラッキング)機能を有していてもよい。ハンドトラッキング機能は、ユーザの指の外郭線や、関節等をトラッキングする。又は、センサユニット24は、ユーザが手に装着したグローブに内蔵されたセンサを含んでいてもよい。また、センサユニット24は、ユーザの瞳孔や虹彩の位置を検出するアイトラッキング機能を備えていてもよい。
このようにセンサユニット24は公知のものを利用することができ、その種類や数は限定されず、センサユニット24が設けられる位置もその種類に応じた位置となる。以下、ユーザのボディモーションやフェイスモーションの検出データを区別しないで説明する場合には単に「トラッキングデータ」という。
スピーカ25は、音声データを音声に変換して出力する。マイク26は、ユーザが発話した音声を入力し、音声データに変換する。
ディスプレイ28は、ヘッドマウントディスプレイに設けられるものである。ディスプレイ28は、制御部20の出力指示に応じて、各種画像を出力する。
コントローラ27は、制御部20への命令を入力するものである。コントローラ27は、操作ボタンや操作トリガー等を備えるものであってもよい。また、コントローラ27は、位置や方向を検出可能なセンサを備えていてもよい。なお、ハンドトラッキングや視線検出等によって入力操作を行うことができる場合にはコントローラを省略してもよい。
制御部20は、ストレージ22に記憶された動画プログラム220を実行することにより、アプリケーション管理部201及び画像処理部202として機能する。アプリケーション管理部201は、動画プログラムの主な制御を実行する。アプリケーション管理部201は、コントローラ27を通じて入力されたユーザの命令又はサーバ11からの要求等を取得し、それらの要求の内容に応じて画像処理部202へ要求を出力する。また、アプリケーション管理部201は、画像処理部202からの要求や各種データをサーバ11へ送信したり、センサユニット24から取得したトラッキングデータを画像処理部202に出力したりする。また、アプリケーション管理部201は、サーバ11から受信した各種データをストレージ22に記録する。また、アプリケーション管理部201は、動画を生成するための動画作成用データを、サーバ11を介して他のユーザ装置12に送信する。なお、動画作成用データは動画表示用データに対応する。
画像処理部202は、センサユニット24から取得したトラッキングデータを用いて、ユーザの頭部の向きに応じた仮想空間画像を生成し、生成した仮想空間画像をディスプレイ28に出力する。また、仮想空間画像に自身に対応するアバターだけでなく他のユーザに対応するアバターを表示する場合、画像処理部202は、サーバ11を介して他のユーザ装置12から動画作成用データを取得する。そして、画像処理部202は、自身に対応するアバターデータ221に、センサユニット24から取得したトラッキングデータを適用してアニメーションを作成する。また、サーバ11を介して他の配信ユーザに対応するアバターデータ221に動画作成用データを適用して、他の配信ユーザに対応するアバターのアニメーションを作成する。また、画像処理部202は、アバター、アバター以外のオブジェクトを含めてレンダリングを行う。ここでいうレンダリングは、仮想カメラの位置の取得、透視投影、隠面消去(ラスタ化)等が含まれる描画処理をいう。レンダリングは、これらのうち少なくとも一つの処理であってもよいし、シェーディング、テクスチャマッピング等の処理を含んでいてもよい。
画像処理部202は、配信モードにおいて、動画作成用データを生成して、サーバ11に送信する。また、視聴モードにおいて、サーバ11から取得した動画作成用データを取得して、動画作成用データに基づいて動画を作成し、ディスプレイ28に出力する。
<サーバ>
次にサーバ11について説明する。サーバ11は、動画を配信するためのサービスを提供するサービス提供者等が用いるものである。サーバ11は、制御部30と、通信I/F34と、ストレージ35とを備えている。制御部30は、上述したユーザ装置12の制御部20と同様な構成であるため説明を省略する。また、通信I/F34及びストレージ35は、ユーザ装置12の通信I/F23及びストレージ22と同様な構成であるため説明を省略する。サーバ11は1つの装置から構成されていてもよく、複数の装置から構成されていてもよい。つまり、サーバ11の機能は、複数のサーバからなるサーバ群によって実現されるものであってもよい。また、複数の拠点にそれぞれ設けられた同等の機能を有するサーバが同期をとることによりサーバ11を構成してもよい。
ストレージ35には、配信プログラム353が格納されている。制御部30は、配信プログラム353を実行することにより、配信管理部301及び購入管理部302として機能する。
配信管理部301は、ユーザ装置12との間で動画の配信及び動画の視聴に関する各種の情報を送受信するサーバ機能を有する。配信管理部301は、ユーザ装置12から受信した各種データをストレージ35に記憶するとともに、ユーザ装置12から受信した購入要求等に基づき、購入管理部302に要求を出力する。
さらに、配信管理部301は、ユーザ装置12から要求されたデータをストレージ35等から取得してユーザ装置12に送信する。
配信管理部301は、視聴ユーザが用いるユーザ装置12からの要求に応じて、配信中の動画のリストを送信する。配信管理部301は、リストの中から選択された動画の識別情報を、配信ユーザが用いるユーザ装置12から受信する。また、配信管理部301は、選択された動画を配信するユーザが用いるユーザ装置12から動画を表示するための動画作成用データを取得しユーザ装置12に送信する。
また、配信管理部301は、配信中の動画に対して視聴ユーザから投稿された投稿メッセージ等を受信する。さらに配信管理部301は、受信した投稿メッセージを、ユーザ装置12に送信する。投稿メッセージには、メッセージの内容の他、投稿メッセージを送信した視聴ユーザの識別情報(ユーザのアカウント名等)、投稿日時等が含まれる。また、動画に表示されるメッセージには、視聴ユーザから送信されたものだけでなく、サーバ11が自動的に付与する通知メッセージも含まれる。
配信管理部301は、視聴ユーザのユーザ装置12から、視聴中の動画へのギフトの出力要求を受信する。本実施形態において出力要求が行われるギフトは、視聴ユーザから、動画を配信する配信ユーザに提供されるオブジェクト、動画を好評価する評価等を含む。ギフトは、対価を支払わずに出力要求を行うことのできるものであってもよく、対価を払うことによって出力要求を行うものであってもよい。又は、ギフトは、出力要求に応じて表示がなされた場合に対価を支払うものであってもよい。配信管理部301は、ギフトの出力要求を配信ユーザのユーザ装置12に送信する。このとき、ギフトオブジェクトの表示に必要なデータを配信ユーザのユーザ装置12に送信するようにしてもよい。サーバ11は、ギフトの出力要求を受け付けたとき等の所定のタイミングで、「ユーザBさんが花火を贈りました」等の通知メッセージを配信ユーザのユーザ装置12及び視聴ユーザのユーザ装置12に送信する。
購入管理部302は、ユーザの操作にしたがって、オブジェクト等の購入処理を行う。購入処理には、動画プログラム内で利用可能なコイン、ポイント、チケット等の対価(媒体)を支払う処理が含まれる。また、購入処理には、交換、売却、譲渡の処理を含めてもよい。また、購入管理部302は、対価が支払われることにより、複数のオブジェクトの中から所定数のオブジェクトが選択される抽選(ガチャ)を実行するようにしてもよい。購入管理部302は、購入されたオブジェクトを、ユーザに関連付けてユーザ装置12及びサーバ11の少なくとも一方に記録する。配信モード(又は配信を開始する前のクローゼットモード)においてユーザがオブジェクトを購入したとき、購入管理部302は、購入したオブジェクトの識別情報を購入したユーザに関連付けてストレージ35に記憶してもよい。また、視聴モードにおいてユーザがオブジェクトを購入すると、購入管理部302は、購入したオブジェクトの識別情報を、ギフトとして、動画を配信する配信ユーザに関連付けてストレージ35に記憶してもよい。購入可能なオブジェクトの売上は、例えば配信ユーザ又は動画の配信サービス提供者に分配される。また、ゲーム動画に対するギフトが購入された場合には、その売り上げは、配信ユーザ、動画の配信サービス提供者、及びゲームの提供者の少なくとも一者に提供される。
次に、サーバ11のストレージ35に格納された各種のデータについて説明する。ストレージ35には、配信プログラム353のほか、ユーザ管理データ350、アバターデータ351、オブジェクトデータ352が格納されている。
図2に示すように、ユーザ管理データ350は、動画プログラムを用いるユーザに関する情報である。ユーザ管理データ350は、ユーザの識別情報(ユーザID)、動画の配信履歴を示す配信履歴、視聴履歴を示す視聴履歴、コイン等の購入媒体、ポイント等を含んでいてもよい。ユーザ管理データ350は、ユーザ装置12のユーザ管理データ223のマスターデータであり、ユーザ管理データ223と同じ内容であってもよく、さらに他のデータを含んでいてもよい。
アバターデータ351は、アバターをユーザ装置12で描画するためのマスターとなるデータであって、ユーザ装置12の要求に応じて、ユーザ装置12に送信される。
オブジェクトデータ352は、ユーザ装置12でギフトオブジェクトの描画を行うためのマスターとなるデータであって、ユーザ装置12の要求に応じて、ユーザ装置12に送信される。オブジェクトデータ352には、ポリゴンデータ等のギフトを描画するためのデータの他、ギフトオブジェクトの属性情報が含まれる。ギフトオブジェクトの属性情報には、ギフトオブジェクトの種類、ギフトオブジェクトが表示される位置等が含まれる。
<他のユーザ装置>
図3を参照して、ヘッドマウントディスプレイを含まないユーザ装置121について説明する。以下、ヘッドマウントディスプレイを含まないユーザ装置12を区別して説明する場合にはユーザ装置121として説明し、区別しない場合には単にユーザ装置12として説明する。ユーザ装置121は、スマートフォン(多機能電話端末)、タブレット端末、パーソナルコンピュータ、いわゆる据え置き型のコンソールゲーム機、又はこれらの装置以外の動画を再生可能な情報処理装置である。
ユーザ装置121は、制御部40、ストレージ42(記憶媒体)、通信インターフェース(I/F)43を備える。これらのハードウェア構成は、ユーザ装置120の制御部20、ストレージ22、通信I/F23と同様な構成であるため説明を省略する。ストレージ42には、動画プログラム420が格納されている。制御部40は、動画プログラム420を実行することにより、アプリケーション管理部401、表示制御部402として機能する。アプリケーション管理部401は、サーバ11との間で、動画を視聴するために必要なデータを送受信する。
表示制御部402は、クライアントレンダリング方式において、サーバ11から受信した動画作成用データを用いてアニメーションを生成する。表示制御部402は、サーバ11を介して他のユーザ装置12から動画作成用データを取得する。そして、アバターデータ221に動画作成用データを適用してアニメーションを作成する。また、表示制御部402は、アバター、アバター以外のオブジェクトを含めてレンダリングを行い、アニメーションを含む動画データを作成してディスプレイ48に出力する。
また、ユーザ装置121は、センサユニット24を備える。ユーザ装置121が配信モードであるとき、表示制御部402は、センサユニット24から各種データを取得し、ユーザの動作に応じてアバターオブジェクトのアニメーションを生成するための動画作成用データをサーバ11に送信する。
動画プログラム420は、制御部40に、配信機能及び視聴機能を実現させるものである。動画プログラム420は、ユーザがモードを指定する操作に基づき、配信モード及び視聴モードのいずれかのモードを実行する。ユーザ管理データ421は、視聴ユーザに関するデータを含む。なお、ユーザ管理データ421は、ユーザの識別情報(ユーザID)、コイン等の購入媒体、ポイント等を含んでいてもよい。
なお、ユーザ装置120にインストールされる動画プログラム220と、ユーザ装置121にインストールされる動画プログラム420とは、同じプログラムであってもよく、異なるプログラムであってもよい。動画プログラム220,420が同じプログラムである場合、当該プログラムは、インストールされた装置によって、一部の機能を実現したり制限する。
ユーザ装置121は、スピーカ45、マイク46、操作部47、ディスプレイ48及びセンサユニット49を備える。スピーカ45及びマイク46は、ユーザ装置120と同様の構成である。操作部47は、ディスプレイ48に併設されたタッチパネルや、キーボード、マウス等である。ディスプレイ48は、制御部40等と一体に設けられていても良いし、別体として設けられていてもよい。また、スピーカ45は、サーバ11から受信した音声データを出力する。
センサユニット49は、1乃至複数のセンサからなるユニットであり、少なくとも一部がユーザ装置120のセンサユニット24と同じものであってもよい。センサユニット49は、ユーザの表情の変化を示すフェイスモーション、及びセンサユニット24に対するユーザの身体の相対位置の変化を示すボディモーションを検出する1乃至複数のセンサである。また、センサユニット49は、可視光線を撮像するRGBカメラと、近赤外線を撮像する近赤外線カメラとを含んでいてもよい。RGBカメラや近赤外線カメラは、例えば「iphoneX(登録商標)」のトゥルーデプス(True Depth)、又は「iPad Pro(登録商標)」の「LIDER」や、スマートフォンに搭載されるその他のToFセンサを用いることが可能である。このカメラは、具体的には、ドットプロジェクタによってユーザの顔等に数万の不可視のドット(点)を投影する。そして、ドットパターンの反射光を検出し、分析して顔の深度マップを形成し、顔等の赤外線画像をキャプチャすることで、正確な顔データをキャプチャする。センサユニット24の演算処理部は、深度マップと赤外線画像に基づいて各種の情報を生成し、その情報を登録済みの参照データと比較して、顔の各ポイントの深度(各ポイントと近赤外線カメラとの間の距離)や深度以外の位置のずれを算出する。
<配信動画の作成>
(アバター及びカメラ)
図4及び図5を参照して、アバター100が配置される仮想空間内で座標系について説明する。図4に示すように、仮想空間にはワールド座標系105が設定されている。ワールド座標系105は、仮想空間全体における位置を定義するための座標系である。例えばアバター100等のオブジェクトの位置は、ワールド座標系105上で特定することが可能である。仮想空間の特定のオブジェクトには、ローカル座標系106が設定されている。ローカル座標系106は、オブジェクトの位置を原点とするものであり、ローカル座標系106を用いてオブジェクトの向き等を制御することが可能である。アバター100は、配信ユーザの動作に基づいて、ローカル座標系のY軸方向を中心とする回転方向に向きを変更可能である。また、配信ユーザの動作に基づいて、腕、脚、頭部等の可動部位を動かすことが可能である。さらに、直立した状態から屈んだ状態になる等、Y軸方向に姿勢を変位可能である。また、配信ユーザのコントローラ27等の操作、又は配信ユーザの動作に基づいて、仮想空間内をワールド座標系105のX軸方向及びZ軸方向に移動可能である。また、ヘッドマウントディスプレイに拡張現実の画像を表示する場合には、ユーザ装置12に設けられたカメラによって撮影された現実画像に、拡張現実画像を表示するが、この場合にはユーザ装置12のカメラの位置を操作する視聴ユーザの歩行等に基づいて、アバター100の向きを変更可能である。なお、アバター100の動作は上記のものに限られない。
仮想空間にはアバター100を撮影するカメラ101が設定される。カメラ101には、カメラ101の位置を原点とするカメラ座標系107が設定されている。カメラ101から観察される画像を作成する際、まず仮想空間に配置されたオブジェクトの座標を、カメラ座標系107の座標に変換する。カメラ座標系107は、カメラ101の光軸と平行なX軸、鉛直方向と平行又は略平行なY軸、及びZ軸とからなる。なお、カメラ101は特許請求の範囲の仮想カメラに対応する。
画像処理部202は、仮想空間に複数のアバター100が存在する場合、動画のモードに応じて、アバター100毎にカメラ101を設定する。カメラ101は、アバター100の数や位置に応じて決まる中心点108から一定の距離Rだけ離れたカメラ範囲109のいずれかの位置に設定される。また、距離Rは、アバター100の数や位置に応じて変化する。言い換えると、カメラ101は、中心点108を中心とし距離Rを直径とする球面状のカメラ範囲109内に位置する。カメラ101は、配信ユーザのコントローラ27の操作に応じてカメラ範囲109上を移動することが可能である。また、カメラ101は、光軸を中心点108に向ける。つまり、カメラ101は中心点108を向くように配置される。
球面であるカメラ範囲109内のカメラ101の位置は、カメラ範囲109の水平方向の角度である方位角φと、鉛直方向と平行な方向の角度である仰角θとで特定することができる。方位角φは、アバター100のローカル座標系106の鉛直方向と平行なY軸方向を中心とした回転方向の角度であるヨー角である。仰角θは、アバター100のローカル座標系106のX軸方向を中心とした回転方向の角度であるピッチ角である。なお、カメラ101は、ローカル座標系106の奥行方向と平行なZ軸を中心とした回転であるローリングは行わない。カメラ101のローリングを抑制することで、ヘッドマウントディスプレイを装着した配信ユーザの不快感を抑制することができる。
画像処理部202は、カメラ101の仰角θを所定範囲に制限する。カメラ範囲109の上側の頂点と下側の頂点とを結ぶ曲線の中間を「0°」としたとき、仰角θの許容範囲は、下限が「-30°」、上限が「+80°」とする角度範囲に設定される。これは、アバター100に、ある仰角θからみたとき不自然に見える部分や、視聴ユーザに見せたくない部分があることによる。このように仰角θを所定範囲とすることにより、不自然に見える部分や見せたくない部分を動画に表示することなく、違和感のない動画を配信することができる。
次に図5を参照してアバター100の瞳102の挙動について説明する。アバター100の目103は、アバター100の頭部104と主従関係にあり、頭部104の動きに追従して移動する。さらにアバター100の瞳102は、所定範囲内で独立して挙動させることができる。画像処理部202は、瞳102を、ローカル座標系106のうち、アバター100の奥行方向と平行なZ軸を中心とした回転方向204(ロール方向)に移動可能とする。これに代えて若しくは加えて、瞳102は、X軸方向及びY軸方向に平行移動可能であってもよい。
瞳102(眼球)の挙動の制御方法の一例として、瞳102に関連付けて設定されたボーンを回転させる方法が挙げられる。瞳102に関連付けられたボーンを、視線を向ける対象である特定のオブジェクトに関連付け、特定のオブジェクトを「親」、瞳102を「子」として、瞳102が特定のオブジェクトの動きに従うようにその主従関係を設定する。一般的な実装としては、眼球の姿勢を制御するベクトルに対してLookAt関数やQuaternion.Slerp関数を使うことで特定のベクトルに対して眼球の姿勢を制御するクォータニオン経由で任意の方向を示すオイラー角を求めることができる。単純な回転角度の制御ではなく、実際の人体を模倣し、角度に対して2軸で制御する筋肉を模倣した制御系も可能であり、左右の眼球で3次元的に破綻のない1点を見ることができればより良好である。また2つの眼球のターゲットを意図的にずらすことや震えなどのノイズを加えて微細眼球運動を再現することで、より細かな感情表現も可能である。物体が点ではない場合も、直交するベクトルや面に対する法線を取得でき、同様に処理することができる。これにより、画像処理部202は、瞳102を特定のオブジェクトの動きに追従させて移動させることができる。又は、瞳102に関連付けられたボーンを、オブジェクトではなく、仮想空間内の所定位置に関連付ける。これにより、画像処理部202は、アバター100が動いている間においても、瞳102をその所定位置に向けるようにする。
視線が向けられる特定のオブジェクトは、アバター100に向かい合う他のアバター100や、アバター100毎に対応付けられたカメラ101、複数のアバター100が共通して用いるカメラ101である。特定のオブジェクトを、他のアバター100の顔や瞳102とした場合には、アバター100は、他のアバター100に視線を向ける状態となる。両方のアバター100の瞳102を、互いの瞳102に向けた場合には、それらのアバター100が視線を合わせた状態となる。
また、アバター100の瞳102を、アバター100に対応付けられたカメラ101に関連付けた場合には、アバター100が動作した場合でも、瞳102はカメラ101の方向に向けられる。画像処理部202は、アバター100の瞳102の位置で特定されるアバター100の視線情報を作成する。
(コラボレーション配信の概要)
動画の演出方法の一つであるコラボレーション配信について説明する。配信ユーザのユーザ装置12は、単数のアバター100が出演する動画のほか、同じ仮想空間内に存在する複数のアバター100を含む動画を配信することができる。複数のアバター100が共演する動画の配信をここでは「コラボレーション配信」という。
本実施形態におけるコラボレーション配信では、コラボレーション配信を行う主たる配信ユーザのユーザ装置12に、他の配信ユーザのユーザ装置12がコラボレーション配信の要求を送信し、その要求が配信ユーザにより承認されることで実現する。ここでは、コラボレーション配信を行う主たる配信ユーザをホストユーザ、コラボレーション配信に参加する他の配信ユーザをゲストユーザという。
コラボレーション配信では、ホストユーザが、複数のモードのうち一つを選択することができる。本実施形態では、第1モード、第2モード、及び第3モードが選択可能である。これらのモードは、アバター100の視線を向ける対象がそれぞれ異なる。また、第1モード及び第2モードの各々においては視線を向ける対象がアバター100間で異なる。つまり、スマートフォン等の多機能電話端末を用いて動画を配信する場合、仮想空間内において配信ユーザに対応するアバター100の正面にカメラ101が設定され、配信ユーザは多機能電話端末に向かい合って動画を配信する。つまり配信ユーザはほぼ動くことなく、アバター100と仮想空間内のカメラ101との位置関係は固定されているため、配信ユーザは仮想空間内に設定されるカメラ101の位置を特に気にすることなく演技することができる。一方、配信ユーザがヘッドマウントディスプレイを装着する場合、配信ユーザはヘッドマウントディスプレイに表示された仮想空間の画像を視認しながら動作するため、アバター100とカメラ101との位置関係は変化する。このため配信ユーザはカメラ101の位置を見失うことがある。配信ユーザがカメラ101を見失ったまま動画を配信すると、カメラ101の方向を向かずに視聴ユーザに話し掛けたり、アバター100の顔が見えない状態が長く続いたりして、視聴ユーザが違和感を覚える動画が配信されることになりかねない。しかし、配信ユーザが常にカメラ101の位置を意識すると、演技に集中することができない。よって、画像処理部202によって、アバター100の視線を自動的に特定のオブジェクトや所定の位置に向けるようにすることで、視聴ユーザからみて違和感のない動画を配信し、配信ユーザを演技に集中させるようにしている。
第1モードは、複数のアバター100の各々が、各自に対応付けられたカメラ101に視線を向けるモードである。アバター100の各々に対応するカメラ101は、それぞれ異なる位置に設けられている。カメラ101は、所定位置に固定されてもよい。また、カメラ101は、配信ユーザのコントローラ27の操作に基づき移動してもよい。このとき、配信ユーザは、コントローラ27を操作することにより、カメラ101の仰角θ及び方位角φを指定することが可能である。この第1モードはカメラ目線モードである。
第2モードは、アバター100が、共演相手のアバター100に視線を向けるモードである。二人のアバター100がコラボレーション配信を行う場合には、一方のアバター100は他方のアバター100の位置に視線を向ける。三人以上のアバター100がコラボレーション配信を行う場合には、アバター100全員の中間となる位置に視線を向ける。又は、アバター100は、最も近い位置の他のアバター100に視線を向ける。第2モードは、合い目線モードである。
第2モードにおいても、アバター100の各々に対応するカメラ101は、それぞれ異なる位置に固定されていてもよい。また、アバター100の各々に対応するカメラ101は、配信ユーザのコントローラ27の操作に基づき移動してもよい。
このように、アバター100毎に設定されたカメラ101の動画を作成するための動画作成データは、アバター100に対応する配信ユーザのユーザ装置12によって生成される。又は、ホストユーザのユーザ装置12のみが、アバター100毎に設定されたカメラ101からみた動画を生成するための動画作成データを作成してもよい。
第3モードは、複数のアバターが、共通のカメラ101に視線を向けるモードである。共通のカメラ101は、例えば複数のアバター100を、アバター100の上方から俯瞰する俯瞰カメラである。共通のカメラは、所定位置に固定されるものであってもよく、ホストユーザ又はゲストユーザのコントローラ27の操作に基づき移動してもよい。又は、拡張現実の画像を表示する場合は、視聴ユーザ装置12Bが備えるカメラの位置がカメラ101の位置となる。
画像処理部202は、ホストユーザの操作に基づき、コラボレーション配信に対して一つのモードを適用する。そして、第1モード及び第2モードが選択された場合には、複数のカメラ101が設定される。複数のカメラ101は、同じ仮想空間をそれぞれ異なる位置から撮影する。カメラ101の数は、アバター100の数と同数であってもよく、アバター100の数と異なる複数であってもよい。
なお、ユーザが、ヘッドマウントディスプレイを含むユーザ装置120を用いて動画を視聴する場合には、ユーザの頭部の向き等の変化に応じて、ヘッドマウントディスプレイに出力する仮想空間の画像を変化させる。しかし、ユーザ装置12が第1モード、第2モード及び第3モードのいずれかのモードが適用された動画を出力する場合には、例えば、ユーザの頭部の向き等に応じて仮想空間の画像を表示しつつ、仮想空間に設定されたスクリーン等の2次元領域に動画を出力するようにしてもよい。又はユーザ装置12は、ディスプレイ28の全面に、第1モード、第2モード及び第3モードのいずれかのモードが適用された動画を出力するようにしてもよい。
図6は、配信ユーザ110Aに対応するアバター100Aと、配信ユーザ110Bに対応するアバター100Bとが共演するコラボレーション配信の動画を、複数の視聴ユーザ112が視聴する状態を模式的に示している。なお、配信ユーザ110が用いるユーザ装置12を区別して説明する場合には、ヘッドマウントディスプレイを含むか含まないかに関わらず配信ユーザ装置12Aとして説明する。また、視聴ユーザ112が用いるユーザ装置12を区別して説明する場合には、ヘッドマウントディスプレイを含むか含まないかに関わらず視聴ユーザ装置12Bとして説明する。
視聴ユーザ112は、配信リスト画面から視聴したい動画を選択する。視聴ユーザ装置12Bは、サーバ11に動画の視聴要求を行う。視聴ユーザ装置12Bは、サーバ11から指定した動画作成用データを取得して、動画を作成しディスプレイ48に表示する。動画はホストユーザである配信ユーザ装置12Aが指定したモードの動画である。動画のモードとして、第1モード又は第2モードが選択されている場合にはアバター100の周辺に複数のカメラ101が設定されているため、視聴ユーザ112は、同じアバター100が共演する動画であっても異なる角度からみた動画を視聴することができる。
視聴ユーザ112は、視聴ユーザ装置12Bに表示される画面において、アバター100A,100Bのいずれか又は複数のカメラ101のうちいずれか1つを選択することによって、動画117,118のいずれかを選択することができる。一方の視聴ユーザ装置12Bは、一方のカメラ101によって撮影された動画117を表示する。他方の視聴ユーザ装置12Bは、他方のカメラ101によって撮影された動画118を表示する。つまり、視聴ユーザ装置12Bに表示される動画117,118は、アバター100A,100Bを異なる位置から撮影した画像を表示し、音声を共通とするものである。
例えば、一方の視聴ユーザ112は自身が好むアバター100Aの最寄りのカメラ101で撮影された動画を視聴し、他方の視聴ユーザ112は自身が好むアバター100Bの最寄りのカメラ101で撮影された動画を視聴することが想定される。また、視聴ユーザ112は、動画配信中に、一方のカメラ101で撮影された動画を視聴した後に、他方のカメラ101で撮影された動画を視聴することができる。つまり、動画配信中に、視聴ユーザ112は、異なるカメラ101によって撮影された動画を視聴することが可能である。
(コラボレーション配信におけるカメラ範囲)
図7を参照して、コラボレーション配信におけるカメラ位置について説明する。画像処理部202は、コラボレーション配信においてもカメラ範囲109を設定し、カメラ範囲109上にカメラ101を設定する。
図7は、三体のアバター100C~100Eでコラボレーション配信を行う状態を示している。カメラ範囲109には、アバター100C~100Eの数と同数のカメラ101が設定されている。カメラ範囲109の中心点108は、アバター100C~100Eの位置に基づいて決定される。例えば、ローカル座標系106の座標であって、アバター100C~100Eの所定部位の座標を、それぞれ(Xc,Yc,Zc),(Xd,Yd,Zd),(Xe,Ye,Ze)とするとき、中心点108は、それらの中間点{(Xc+Xd+Xe)/3,(Yc+Yd+Ye)/3,(Zc+Zd+Ze)/3}に設定される。また、カメラ範囲109の半径である距離Rは、アバター100C~100Eの所定位置がカメラ範囲109に含まれる大きさに設定される。具体的には、アバター100の外郭線、又は、首、頭部、又は腹等のアバター100の中心位置や所定部位が全てカメラ範囲109に含まれるように設定される。画像処理部202は、中心点108及び距離Rを繰り返し算出する。アバター100C~100Eが移動すると、中心点108は変化する。また、アバター100C~100Eが互いに近づき相対距離が小さくなると、距離Rは小さくなり、アバター100C~100E同士が遠ざかり相対距離が大きくなると、距離Rは長くなる。なお、画像処理部202は、三体以外の複数のアバター100がコラボレーション配信を行う場合であっても、同様にカメラ範囲109を設定する。
(コラボレーション配信におけるカメラの視野角)
図8を参照して、カメラ101の視野角について説明する。カメラ101の視野角FVは、光軸Axを中心とする水平方向の角度である。本実施形態では、画像処理部202は、共演する全てのアバター100が含まれるようにアバター100の位置に応じて視野角FVを拡大又は縮小する。具体的には、画像処理部202は、アバター100の相対距離が大きい場合には、カメラ範囲109(図7参照)の距離Rを大きくするとともに視野角FVを拡大する。また、画像処理部202は、アバター100の相対距離が小さい場合には、カメラ範囲109(図7参照)の距離Rを小さくするとともに視野角FVを縮小する。
図8は、三体のアバター100C~100Eでコラボレーション配信を行う状態を示している。カメラ101は、図8においては図示しないカメラ範囲109上にあるものとする。画像処理部202は、カメラ101の原点からアバター100へ向かう方向のベクトルVC~VEを求め、このベクトルVC~VEを正規化する。例えばベクトルVC~VEは、アバター100の中心位置又は重心位置に向かう方向である。そして、正規化したベクトルVC~VEの各々と、カメラ101の光軸Axと同じ水平方向であって光軸Axに直交するZ軸との内積を求める。そして画像処理部202は、その内積の値から、アバター100がカメラ101の光軸Axの左側及び右側のどちらに位置するかを判定する。また、画像処理部202は、内積の値から、カメラ101の光軸Axに対して最も離れたアバター100を判定する。
具体的には、画像処理部202は、コラボレーション配信を行うアバター100の全てについて、ベクトルVC~VEを正規化する。そして正規化したベクトルVC~VEとカメラ101の光軸Axと直交するZ軸がなす内積を求める。内積の値から、アバター100が光軸Axに対して左側に位置するか右側に位置するかを判定することができる。例えば、アバター100Dは、そのベクトルVDとZ軸との内積の値が正であることから、Z軸に対して0°超90°未満の角度の方向に位置すると判定する。つまり、アバター100Dは、Z軸に対して直交する光軸Axに対して右側に位置すると判定する。一方、アバター100Cは、そのベクトルVCとZ軸との内積の値が負であることから、Z軸に対して90°超180°未満の角度の方向に位置すると判定する。つまり、Z軸に対して直交する光軸Axに対して左側に位置すると判定する。
さらに画像処理部202は、求めた内積の値のうち、その絶対値が最も大きいものを判定する。絶対値が最も大きくなるベクトルは、光軸Axに対する角度が最も大きくなるベクトルである。画像処理部202は、そのベクトルと光軸Axとがなす角度である最大角度を算出し、光軸Axを中心に最大角度を2倍した大きさ以上の角度を視野角FVとする。例えば、最大角度が「30°」のとき、「60°」又は「60°」に所定のオフセット値を加えた角度を視野角FVとする。オフセット値は、「10°」等の固定の値であってもよい。又は、オフセット値は、視野角FVの大きさに応じて決定された値であってもよい。例えば視野角が「60°」のとき、その所定の割合(2%等)をオフセット値としてもよい。
画像処理部202は、配信ユーザ装置12Aのセンサユニット24から取得した検出データ、及びコラボレーション配信に参加している他の配信ユーザの配信ユーザ装置12Aから取得したアバター100の位置データに基づいて視野角FVを繰り返し算出する。これにより、アバター100の位置が変化した場合には、この変化に応じて視野角FVも変化する。例えば、アバター100の相対距離が大きくなった場合には視野角FVを拡大し、アバター100の相対距離が小さくなった場合には視野角FVを縮小する。
一方、カメラ101を一定の位置に固定したときの仰角を、上述したカメラ範囲109上でのカメラ位置の仰角θと区別するためにカメラ仰角という。カメラ仰角は、カメラ座標系107のZ軸を中心とした回転方向の角度であって、略鉛直方向の角度である。本実施形態において、カメラ101の仰角の大きさは一定である。
<コラボレーション配信におけるプレビュー画面>
図9を参照して、プレビュー画面の表示について説明する。プレビュー画面は、ヘッドマウントディスプレイを装着した配信ユーザ110が、自身が配信する動画の視聴画面を確認するための画像である。つまり、ヘッドマウントディスプレイに設けられたディスプレイ28には、配信ユーザ110の頭部の位置や向きに応じた画面が表示される。このとき表示される画面は、視聴ユーザ装置12Bに表示される視聴画面とは異なる。つまりヘッドマウントディスプレイを装着した配信ユーザ110が動画を配信する際、これまでの動画配信用アプリケーションでは、配信ユーザ110は視聴画面を確認することはできない。しかし、コラボレーション配信を行う場合、配信ユーザ110自身に対応するアバター100が、背後に存在する他のアバター100を隠してしまう可能性もある。また、アバター100がカメラ101に背を向ける場合には、配信ユーザ110が、アバター100が視聴画面内でどのような配置で表示されるのかを把握することは困難である。よって配信ユーザ110が意図する動画を配信するためには、配信ユーザ110は視聴画面を確認しつつ演技することが好ましい。このため、本実施形態では、配信ユーザの頭部の位置に応じた仮想空間画像とともに視聴画面をプレビュー画面122として表示する。
プレビュー画面122は、アバター100毎に設定される。画像処理部202は、アバター100Aに対応する配信ユーザ110Aが視認するプレビュー画面122Aとして、アバター100Aに対応するカメラ101Aからみた動画を表示する。プレビュー画面122Aは、アバター100Aの正面又はその近傍であってアバター100Aから一定距離離れた位置に設定される。また、画像処理部202は、アバター100Bに対応する配信ユーザ110Bが視認するプレビュー画面122Bとして、アバター100Bに対応するカメラ101Bからみた動画を表示する。
配信ユーザ110は、仮想空間画像を視認し演技を行いながら、正面に表示されるプレビュー画面122を確認することができる。このため、配信ユーザ110は、表現の一つとして、アバター100が視聴画面に表示されるときの角度や位置等を工夫しながら演技することができる。また、プレビュー画面122は、アバター100の真正面からオフセットした位置に表示してもよい。この場合、配信ユーザ110が仮想空間内で視認したいオブジェクトや背景等に極力重ならないようにプレビュー画面122を表示することができる。
(コラボレーション配信のモード)
次に、コラボレーション配信で選択される第1モード、第2モード及び第3モードについて詳述する。なお、本実施形態では、第1モード、第2モード及び第3モードのいずれかのモードが適用された動画を配信する配信ユーザ装置12Aを、ヘッドマウントディスプレイを含むユーザ装置120として説明する。また、視聴ユーザ装置12Bを、ヘッドマウントディスプレイを含むユーザ装置120又はヘッドマウントディスプレイを含まないユーザ装置121として説明する。
(第1モード)
図10及び図11を参照して、第1モードについて詳述する。図10に示すように、第1モードにおいて、画像処理部202は、アバター100Aの視野範囲123にアバター100Aに対応するカメラ101が含まれるか否かを判定する。アバター100Aの視野範囲123は、アバター100の正面における所定の角度範囲である。アバター100Aの左眼及び右眼には視線の方向を示す方向ベクトル124が設定されており、これらの方向ベクトルは視野範囲123に含まれる。アバター100Aの視野範囲123にカメラ101が含まれる場合には、方向ベクトル124に示すように、アバター100Aの瞳102の位置をアバター100Aに対応するカメラ101Aに向ける。具体的には、瞳102のボーンの中心軸をカメラ101Aに向ける。一方、アバター100Aの視野範囲123にカメラ101が含まれない場合には、瞳102をカメラ101へ向けることができないため、瞳102の位置を所定位置又はカメラ101の方向に近い端に移動させる。或いは、若しくは瞳102の移動を一時停止する。同様に、画像処理部202は、アバター100Bの瞳102を、アバター100Bに対応するカメラ101Bに向ける。なお、カメラ101A,101Bは、カメラ範囲109の中心点109Aを向く。つまり、カメラ101A,101Bの光軸Ax上に、カメラ範囲109の中心点109Aが位置する。
図11は、第1モードであってアバター100Aに対応するカメラ101Aからみた視聴画面131を示す。配信ユーザ110Aが配信する視聴画面131には、カメラ101Aに視線を向けたアバター100Aが表示されている。また、他方のアバター100Bの視線は、アバター100Bに対応するカメラ101Bに向けられている。つまり、カメラ101Aによって撮影された動画を視聴する視聴ユーザ112は、アバター100Aがカメラ101Aに視線を向けた動画を視聴する。視聴ユーザ装置12Bは、視聴画面をディスプレイ48に表示するとともに、配信ユーザ110A,110Bの音声をスピーカ45から出力する。このため、視聴ユーザ112は、アバター100Aが他のアバター100Bと共演している状態で、アバター100Aが動いていても視聴ユーザ112の方向を向いているような動画を視聴することができる。配信ユーザ110Aは、アバター100Aがカメラ101Aの方向を向いている状態となるため、カメラ101Aの位置を意識することなく、自由に動き回ったりする等、演技に集中することができる。一方、カメラ101Bによって撮影された動画を視聴する視聴ユーザ112は、アバター100Bがカメラ101Bに視線を向けた動画を視聴する。
(第2モード)
次に図12及び図13を参照して、第2モードについて詳述する。図12では、二体のアバター100A,100Bがコラボレーション配信をする場合を示している。第2モードにおいて、画像処理部202は、一方のアバター100Aについて、アバター100Aの瞳102の位置を他方のアバター100Bに向ける。また、アバター100Bについて、アバター100Bの瞳102の位置をアバター100Aに向ける。また、アバター100Aに対応するカメラ101A、及びアバター100Bに対応する101Bの位置は、一定の位置に固定されていてもよい。また、カメラ101A,101Bは、アバター100A,100Bに対応する配信ユーザ110のコントローラ27の操作によって移動してもよい。
仮想空間内にアバター100が三体以上存在するとき、アバター100が視線を向ける他のアバター100は、アバター100に最も近いアバター100でもよい。画像処理部202は、アバター100毎にローカル座標系106の座標を取得して、取得した座標に基づいてアバター100に最も近い他のアバター100を判定する。又は、画像処理部202は、ユーザ管理データ223を参照して、友達関係にある配信ユーザ110のアバター100が自身のアバター100の所定範囲内に存在するとき、そのアバター100に視線を向けるようにしてもよい。又は友好度の高い配信ユーザ110のアバター100が自身のアバター100の所定範囲内に存在するとき、そのアバター100に視線を向けるようにしてもよい。又は、配信ユーザ110が、視線を向ける他のアバター100を指定するようにしてもよい。アバター100の指定は、コントローラ27、又は配信ユーザ110が他のアバター100を所定時間継続して注視すること等によって実行される。
上述したように、カメラ101A,101Bは、カメラ範囲109の中心点108(図7参照)を向き、カメラ範囲109の距離R及びカメラ101の視野角FVは、アバター100A,100Bの相対距離に応じて設定されている。このため、配信ユーザ110がアバター100A,100Bの位置を調整しなくても、対話するアバター100A,100Bを視野角FVに含めた動画を作成できるため、配信ユーザ110は演技に集中することができる。
図13は第2モードにおけるカメラ101Aからみた視聴画面132の一例を示す。配信ユーザ110Aが配信する視聴画面132には、少なくともアバター100Aが、アバター100Bに視線を向けた様子が表示されている。また、アバター100Bの視線は、アバター100Aに向けられている。例えばアバター100A,100Bが並んで同じカメラ101の方向を見て会話した場合、アバター100A,100B同士が視聴ユーザ112に話し掛けながら対話するような視聴画面となる。このようにアバター100A,100Bが視線を合わせた状態で対話をさせると、アバター100A,100Bが両者のみで自然に対話する様子を表現することができる。
<第3モード>
次に図14を参照して、第3モードについて説明する。図14に示すように、第3モードにおいて、画像処理部202は、アバター100C~100Eの瞳102の位置を、一つのカメラ101に向ける。一例として、カメラ101は、アバター100C~100Eの目の位置よりも上方に設定される。なお、カメラ101は、ホストユーザ等のコントローラ27の操作により移動してもよい。
このようにアバター100C~100Eの視線を共通のカメラ101に向けることにより、記念撮影等のシーンを撮影することができる。通常、ヘッドマウントディスプレイを装着中の配信ユーザ110は、その視界を、会話相手であるアバター100の頭部と眼球に一致させる。そのため、会話中の配信ユーザ110は、自身の正面や会話の相手を注視しがちであり、またカメラ101そのものの正確な位置を把握しづらい。人間は同じ一点を注視し続けることは難しく、瞬間的に周囲などに視点をずらす現象がある。このため、複数のユーザが同じ点を注視し続けることは難しく、また不自然な姿勢を続けることになる。上記の通り、全員が1点を注視している絵は自然ではないが、記念写真やイベントの参加証明写真のような画像、また番組内容を説明するサムネイル画像のような視聴ユーザ112の注目を集める訴求力を有する画像としては効果的である。
第1モード、第2モード及び第3モードは、動画配信前に設定可能であるが、配信ユーザ110の指示によりモードを切り替えることが可能である。モードの切替は、コントローラ27の操作、仮想空間内に表示される操作ボタン等を選択することにより行うことができる。例えばホストユーザは、動画の配信を開始する際には第2モードを設定し、動画配信中に記念撮影を行う場合等に第3モードを設定する。配信ユーザ装置12Aの画像処理部202は、モードが切り替えられると、モードに応じて視線を向ける対象を変更する。第1モードから第2モードに切り替えられた場合には、視線を向ける対象を、アバター100の各々に対応するカメラ101から他のアバター100の顔や瞳102に変更する。第1モードから第3モードに切り替えられた場合には、視線を向ける対象を、アバター100の各々に対応するカメラ101から共通のカメラ101に変更する。1回の配信の中でモードを切り替え可能とすることにより、より多様な表現を実現することができる。
(配信リスト画面)
図15を参照して、視聴ユーザ装置12Bに表示される配信リスト画面135の一例について説明する。視聴ユーザ装置12Bのアプリケーション管理部401は、視聴ユーザ112の操作に基づいて配信リストをサーバ11から取得する。表示制御部402は、配信リスト画面135をディスプレイ48に表示する。配信リスト画面135には、配信中の動画のサムネイル画像136が表示されている。
コラボレーション配信では、図15中、上方左側のサムネイル画像136に示すように、一つのサムネイル画像136に対して、コラボレーション配信であることを示すマーク137が表示される。このサムネイル画像136には、動画の属性情報が表示される。この属性情報は、動画を視聴している視聴ユーザ112の数である視聴ユーザ数表示部138を含む。
視聴ユーザ112は、配信リスト画面135から、サムネイル画像136を選択する。表示制御部402は、サムネイル画像136が選択された場合、コラボレーション配信に参加するアバター100を選択するための画面を表示する。コラボレーション配信に「アバターA」及び「アバターB」が参加している場合、視聴ユーザ112が「アバターA」を選択すると、視聴ユーザ装置12Bはサーバ11に対して「アバターA」に対応付けられたカメラ101をカメラ座標原点(光学中心)とした動画データを要求する。つまり、カメラ101から見た動画データを要求する。視聴ユーザ装置12Bがサーバ11から動画データを受信すると、「アバターA」に対応するカメラ101をカメラ座標原点とした動画をディスプレイ48に表示する。一方、視聴ユーザ112が「アバターB」を選択すると、視聴ユーザ装置12Bは「アバターB」に対応するカメラ101をカメラ座標原点とした動画データをサーバ11から取得する。そして、視聴ユーザ装置12Bは「アバターB」に対応するカメラ101をカメラ座標原点とした動画をディスプレイ48に表示する。カメラ101を切り替える際には、配信リスト画面135まで戻り、アバター100を選択しなおす。又は、視聴画面にカメラ101を切り替えるためのボタンを表示し、そのボタンを選択することにより、カメラ101を切り替える。つまり、視聴ユーザ112は、好きなアバター100や、応援しているアバター100を選択することによって、そのアバター100を中心に表示する動画を視聴することができる。また、コラボレーション配信の動画を視聴している間に、カメラ101を切り替えることによって、異なる角度から観察された動画を視聴することができるので、新たな動画の楽しみ方を視聴ユーザ112に提供することができる。
なお、カメラ101をカメラ座標原点とした画像は、必ずしもレンダリングした画像とは限らず、座標と姿勢、画角を記録した行列と定義することもできる。また全てのカメラ101が常に同時に撮影しているとは限らない。例えば、複数のカメラ101を切り替えて、その時々のシーンに必要なカメラ101だけがその姿勢や座標、状態を、サーバ11を経由して視聴ユーザ装置12B等に伝えることもできる。複数のカメラ101の切り替えに、球面線形補間(Slerp,Spherical linear interpolation)を用いることによって、時間的に複数の状態を補間するアニメーション表現も可能となる。レンダリングされた画像は切り替え時にブレンデイングやブラーなどの合成処理をして表示してもよい。
(コラボレーション配信におけるギフトオブジェクト)
次にコラボレーション配信におけるギフトオブジェクトについて説明する。ギフトオブジェクトとしては、視聴ユーザ112から配信ユーザに提供されるオブジェクトがある。サーバ11は、ギフトオブジェクトの表示要求を視聴ユーザ装置12Bから受信する。ギフトオブジェクトには、アバター100に付して表示される装着ギフトオブジェクトと、アバター100に付されない通常ギフトオブジェクトとがある。
図16は、視聴ユーザ装置12Bに表示される視聴画面140を示す。視聴ユーザ装置12Bからギフトオブジェクトの表示要求が送信されると、視聴画面140にはギフトオブジェクト141が表示される。装着ギフトオブジェクト141Aは、いずれかのアバター100に付された状態で表示され、通常ギフトオブジェクト141Bはアバター100に付されずに仮想空間内の所定位置に表示される。図16に示す装着ギフトオブジェクト141Aは、アバター100の頭部に装着される「ネコミミ」であり、通常ギフトオブジェクト141Bは、「花束」である。
コラボレーション配信において、装着ギフトオブジェクト141Aは、ホストユーザにより選択されたアバターに装着オブジェクトを適用される。視聴ユーザ112が装着ギフトオブジェクト141Aの表示要求を行うと、ホストユーザが用いる配信ユーザ装置12Aのディスプレイ28に、アバター100A,100Bを選択するための図示しない選択ボタンが表示される。ホストユーザが、コントローラ27等を用いて選択ボタンを操作することによってアバター100を選択すると、選択されたアバターに装着ギフトオブジェクト141Aが適用される。
また、ギフトオブジェクト141が贈られたとき、ギフトオブジェクトに対応付けられた報酬の総和をコラボレーション配信に参加するホストユーザ及びゲストユーザで等分する。サーバ11は、コラボレーション配信毎にギフトオブジェクトに対応付けられた報酬を集計する。報酬は、「ポイント」、「コイン」等のアプリケーション内で利用可能な媒体、又はアプリケーション外でも利用可能な媒体である。サーバ11は、動画の配信が完了した場合等の所定のタイミングで集計した報酬を等分し、等分した報酬を示すデータを配信ユーザ装置12Aに送信するとともに、ユーザ管理データ350に保存する。
(コラボレーション配信におけるメッセージ)
次にコラボレーション配信におけるメッセージの表示方法について説明する。視聴ユーザ112は、動画の配信中に配信ユーザ110に対してメッセージを送信することができる。
図17に示すように、視聴画面151には、メッセージ入力欄139が設けられている。動画を視聴中の視聴ユーザ112がメッセージ入力欄139にメッセージを入力し、入力したメッセージを送信する操作を行うと、視聴ユーザ装置12Bは、視聴ユーザ112の識別情報とともにサーバ11にメッセージを送信する。サーバ11は、視聴ユーザ装置12Bからメッセージを受信し、視聴ユーザ112の識別情報及びメッセージを、コラボレーション配信に参加する全ての配信ユーザ装置12A、及びコラボレーション配信を視聴する全ての視聴ユーザ装置12Bに送信する。
視聴ユーザ装置12Bの視聴画面151には、視聴ユーザ112の識別情報とともにメッセージ150が表示される。これにより、同じコラボレーション配信の動画を視聴中の視聴ユーザ112間でメッセージを共有することができる。また、配信ユーザ装置12Aは、配信ユーザ110が視認する仮想空間画像の所定位置にメッセージを表示する。これにより、配信ユーザ110は、視聴ユーザ112から送信されたメッセージを確認することができる。
<動画配信方法>
図18を参照して、本実施形態の処理手順について説明する。ホストユーザの配信ユーザ装置12Aは、ホストユーザの操作を受け付けてモードを決定する(ステップS1)。なお、コラボレーション配信への参加を希望する配信ユーザ110の配信ユーザ装置12Aは、参加要求を、サーバ11を介してホストユーザの配信ユーザ装置12Aに送信する。そして、ゲストユーザとなる配信ユーザ装置12Aは、ホストユーザの配信ユーザ装置12Aにより参加を許諾される。
ゲストユーザの配信ユーザ装置12Aは、動画を作成するために必要なデータである動画作成用データをサーバ11に送信する(ステップS2)。動画の配信方式によるが、クライアントレンダリング方式の場合には、動画作成用データはゲストユーザの動作を検出したトラッキングデータ、アバター100の瞳102の位置を示す視線データ、及び音声データを少なくとも含む。また、動画作成用データに、ゲストユーザに対応するアバター100に対して設定されたカメラ101のカメラ属性情報を含んでいてもよい。カメラ属性情報には、位置情報や視野情報等が含まれる。
同様に、ホストユーザの配信ユーザ装置12Aは、自身の動画作成用データをサーバ11に送信する(ステップS3)。
一方、サーバ11は、ゲストユーザの配信ユーザ装置12Aから送信された動画作成用データを、ホストユーザの配信ユーザ装置12Aに送信する(ステップS4-1)。また、サーバ11は、ホストユーザの配信ユーザ装置12Aから送信された動画作成用データを、ゲストユーザの配信ユーザ装置12Aに送信する(ステップS4-2)。配信ユーザ装置12Aの各々は、動画作成用データを受信すると、動画作成用データに基づき動画を生成してディスプレイ28及びスピーカ25に出力する。ステップS2~ステップS4-1及びステップS4-2は、動画配信中に繰り返し行われる。
また、視聴ユーザ装置12Bがリストを要求したタイミングで、動画配信リストを視聴ユーザ装置12Bに送信する(ステップS5)。視聴ユーザ装置12Bがリストを要求するタイミングは、動画配信前であってもよく、動画配信中であってもよい。動画配信リストは、配信中の動画の一覧である。また、視聴ユーザ112が視聴したい動画を選択する操作を行うと、視聴ユーザ装置12Bは、選択された動画を識別するための情報とともに動画の視聴要求を送信する(ステップS6-1、ステップS6-2)。例えば、一方の視聴ユーザ装置12Bは、「アバターA」及び「アバターB」が共演するコラボレーション配信であって「カメラA」で撮影された動画作成用データの視聴要求を送信する(ステップS6-1)。また、他方の視聴ユーザ装置12Bは、「アバターA」及び「アバターB」が共演するコラボレーション配信であって「カメラB」で撮影された動画作成用データの視聴要求を送信する(ステップS6-2)。上述したように、視聴ユーザ112は、「アバターA」又は「アバターB」を選択することによってカメラ101を選択してもよいし、提示されたカメラ101の位置から一つを選択することによってカメラ101を選択してもよい。
サーバ11は、「カメラA」で撮影された動画の視聴要求を送信した視聴ユーザ装置12Bには、「カメラA」で撮影した動画作成用データを送信する(ステップS7)。視聴ユーザ装置12Bは、「カメラA」に応じた視線データ及びトラッキングデータを含む動画作成用データを受信し、「カメラA」から見た動画データを作成し、動画データを視聴ユーザ112が視聴するディスプレイ48及びスピーカ45に出力する(ステップS8)。また、サーバ11は、「カメラB」で撮影された動画の視聴要求を送信した視聴ユーザ装置12Bには、「カメラB」で撮影された動画作成用データを送信する。視聴ユーザ装置12Bは、受信した動画作成用データを用いて動画データを作成し、ディスプレイ48に出力する(ステップS10,S11)。
上記実施形態の効果について説明する。
(1)アバター100の視線が向けられる対象が異なる3つのモードのうち、配信ユーザ110であるホストユーザは一つを指定することが可能である。このため、ホストユーザは、自身が配信する動画のテーマやストーリーに沿ったモードを指定して動画を配信することができる。したがって、アバター100を通じた配信ユーザ110の多様な表現をさらに行うことが可能となるため、配信ユーザ110及び視聴ユーザ112の満足度をさらに高めることができる。
(2)第1モードでは、コラボレーション配信において、複数のアバター100が、各自に対応するカメラ101に視線を向けた動画を配信することができる。このため、視聴ユーザ112は、視聴ユーザ112が好きなアバター100又はそのアバター100に対応するカメラ101を選択して、そのアバター100を中心とする動画を視聴することができる。したがって、配信ユーザ110は、コラボレーション配信をしていても自身のファンに向けた動画を配信することができる。また、視聴ユーザ112は、自身が好きなアバター100が他のアバター100と交流する様子を観覧しつつ、自身が好きなアバターを中心に動画を視聴することができる。
(3)第2モードでは、複数のアバター100が視線を互いに向けた動画を配信することができる。このため、アバター100A,100Bが両者のみで自然に対話する様子を表現することができる。これにより、配信ユーザ110の表現の幅を拡げることができるため、配信ユーザ110の満足度と、その動画を視聴する視聴ユーザ112の満足度を高めることができる。
(4)第3モードでは、複数のアバター100が共通のカメラ101に視線を向けた動画を配信することができる。このため、記念撮影等の特定のシーンを撮影することができる。
(5)カメラ101を、複数のアバター100の位置に応じて設定された中心点108を中心としたカメラ範囲109に設定する。このため、コラボレーション配信を行う全てのアバター100が視野角FVに極力含まれるようにカメラ101を配置することができる。
(6)複数のカメラ101がカメラ範囲109に設定されるため、複数のアバター100を同時に異なる角度から撮影することができる。
(7)配信ユーザ110のコントローラ27の操作によってカメラ101を移動させることができる場合には、配信ユーザ110の表現の幅をより拡大することができる。
(8)画像処理部202は、カメラ101からアバター100の各々に向かうベクトルとカメラ101の光軸Axとがなす角度を算出し、角度の絶対値が最も大きくなるアバター100を判定するようにした。そして、角度の絶対値が最も大きくなるアバター100が含まれるように視野角FVを設定した。このため、配信ユーザ110の動作に伴いアバター100が仮想空間内を動き回ったとしても、全てのアバター100が含まれるような視野角FVを設定することが可能となる。
(変形例)
上記各実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
(システム構成)
・上記実施形態では、視聴ユーザ装置12Bは、ストレージ42にインストールされたネイティブアプリケーションプログラムである動画プログラム420によって動画を視聴するようにした。これに代えて若しくは加えて、視聴ユーザ装置12Bがレンダリングを行う必要が無い場合又はそのような場面では、HTML(Hyper Text Markup Language)等のマークアップ言語を用いて記述されたウェブページを、ブラウザで表示するウェブアプリケーションを用いて動画を表示してもよい。又は、ネイティブアプリケーションの機能及びウェブアプリケーションの機能を有するハイブリッドアプリケーションを用いて動画を表示してもよい。また、配信ユーザ装置12Aに格納された動画プログラム220は、視聴ユーザ装置12Bに格納された動画プログラム420と同じプログラムであってもよく、異なるプログラムであってもよい。
・上記実施形態では、動画プログラム220,420は配信機能及び視聴機能の両方を備える構成とした。これに代えて若しくは加えて、管理システム10は、ヘッドマウントディスプレイを含み、配信機能及び視聴機能のいずれか一方のみを実現するユーザ装置120を含んでいてもよい。また、管理システム10は、ヘッドマウントディスプレイを含まず、配信機能及び視聴機能のいずれか一方のみを実現するユーザ装置121を含んでいてもよい。この場合、少なくとも配信機能を有するヘッドマウントディスプレイを含むユーザ装置120が、第1モード、第2モード及び第3モードのいずれかが設定された動画を配信し、少なくとも視聴機能を有するユーザ装置120,121がその動画を視聴する。
(動画配信方法)
・上記実施形態におけるコラボレーション配信では、ホストユーザの配信ユーザ装置12Aに、他の配信ユーザの配信ユーザ装置12Aがコラボレーション配信の要求を送信しするようにした。そして、その要求が配信ユーザにより承認されることで共演を実現するようにした。これに代えて若しくは加えて、コラボレーション配信はこれ以外の手順で成立させてもよい。例えば、配信用のスタジオにコラボレーション配信を行う複数の配信ユーザ110が存在する場合、予め通知された所定のウェブサイトにログインをしている場合等には、ホストユーザ及びゲストユーザを設定せず、コラボレーション配信を行ってもよい。ホストユーザが設定されない場合、配信ユーザ110又は配信用のスタジオに存在するオペレータ等がモードを設定してもよい。
・上記実施形態では、動画配信方式をクライアントレンダリング方式として説明した。これに代えて、動画配信方式を、を行う第1配信方式としてもよい。この態様においてコラボレーション配信を行う場合、配信ユーザ装置12Aは、配信ユーザ110等の操作に基づきアバター100の視線に関するモードを取得する。また、配信ユーザ装置12Aは、動画作成用データを、コラボレーション配信に参加する他の配信ユーザ110の配信ユーザ装置12Aから受信する。そして、動画作成用データを適用したアバター100のアニメーションを生成し、他のオブジェクトと合わせてレンダリングを行って動画データを作成する。そして配信ユーザ12装置Aは、動画データをエンコードして、サーバ11を介して視聴ユーザ装置12Bに送信する。アバター100毎にカメラ101が設定されている場合には、配信ユーザ装置12Aは、配信ユーザ装置12A毎にカメラ101を設定して、そのカメラ101から見た動画を生成する。動画配信方式によって、動画表示用データのデータ構成は決定される。
・上記実施形態では、ユーザ装置12の制御部20又はユーザ装置12の制御部40を、モード取得部、動画作成部、及び動画データ送信部として機能させた。モード取得部、動画作成部、及び動画データ送信部は、動画の配信方式に応じて変更される。モード取得部、動画作成部、及び動画データ送信部は、1つの装置に設けられていても良く、複数の装置に分散して設けられていてもよい。サーバ11が、動画データを作成する場合には、サーバ11が、モード取得部、動画作成部、及び動画データ送信部として機能する。視聴ユーザ装置12Bが動画データを作成する場合には、視聴ユーザ装置12Bが、モード取得部、動画作成部、及び動画データ送信部として機能する。また、例えば配信ユーザ装置12Aとサーバ11とに、モード取得部、動画作成部、及び動画データ送信部を分散させて設けてもよい。換言すると、上記実施形態の配信ユーザ装置12Aの機能の一部を、サーバ11及び視聴ユーザ装置12Bの少なくとも一方が担うようにしてもよい。又は上記実施形態のサーバ11の機能の一部を、配信ユーザ装置12A及び視聴ユーザ装置12Bの少なくとも一方が担うようにしてもよい。また、視聴ユーザ装置12Bの機能の一部を、サーバ11及び配信ユーザ装置12Aの少なくとも一方が担うようにしてもよい。つまり、上記実施形態での配信ユーザ装置12A、視聴ユーザ装置12B、及びサーバ11が行う各処理は、映像配信方式や装置の種類等に応じて上記のいずれの装置が行ってもよいし、配信ユーザ装置12A、視聴ユーザ装置12B、及びサーバ11以外の他の装置が行ってもよい。
・上記実施形態では、第1モード、第2モード及び第3モードのいずれかのモードが適用された動画を配信する配信ユーザ装置12Aを、ヘッドマウントディスプレイを含むユーザ装置120とした。これに代えて、第1モード、第2モード及び第3モードのいずれかのモードが適用された動画を配信する配信ユーザ装置12Aは、ヘッドマウントディスプレイを含むユーザ装置120の他、ヘッドマウントディスプレイを含まないユーザ装置121であってもよい。この態様において、ユーザの頭部及び上半身の少なくとも一つの向きだけでなく、ユーザのタッチパネルディスプレイやコントローラ等の操作により、アバター100の向きや位置を変えるようにしてもよい。また、この態様において、ユーザ装置121のディスプレイ48には、アバター100から見たアバター視点の仮想空間の画像を出力してもよく、第1モード、第2モード及び第3モードのいずれかのモードで設定されたカメラから見た仮想空間の画像を表示してもよい。後者の場合、プレビュー画面122を省略することが可能である。
(モード)
・上記実施形態では、第2モードは、アバター100が共演相手のアバター100に視線を向けるモードであるとしたが、アバター100の近傍に、複数の他のアバター100が存在する場合には、以下の(A)~(C)のいずれか1つの手法で瞳102の挙動を制御してもよい。
(A)他のアバター100の中間となる点に瞳102を追従させる。
(B)他のアバター100の特定部位にアバター100の瞳102を所定時間追従させた後、別の他のアバター100の特定部位に瞳102を追従させ、順番に他のアバター100に視線を向ける。
(C)他のアバター100の視線方向が交差する点に瞳102を追従させる。
または(A)■(C)のうち複数の手法を組み合わせてもよい。複数の手法を組み合わせ変化させることで、アバター100の表現が現実的なものとなる。また、(A)~(C)もちろん、特定のユーザやカメラに対して好意を示すような事前パラメータや制御上の重み付けを加えても良い。また、第1モード~第3モードに加えて、上記の(A)~(C)のいずれか1つを含むモードを選択可能としてもよい。
・上記実施形態では、アバター100の視線を、カメラ101又は相対向する他のアバター100とした。これに代えて若しくは加えて、アバター100の視線を、カメラ101、及びアバター100以外の特定オブジェクトに向けるようにしてもよい。例えば、仮想空間内を移動する移動オブジェクトに設定してもよい。移動オブジェクトは、ボール、ノンプレイヤーキャラクター(NPC,Non Player Character)等である。この場合、この特定オブジェクトの動きにアバター100の瞳102の動きが追従するように、瞳102を所定範囲内で移動させる。
・上記実施形態では、ホストユーザは、第1モード、第2モード及び第3モードの3つのモードのうち一つのモードを選択するようにしたが、複数のモードのうち一つを選択可能であればよい。これに代えて、第1モード又は第2モードを選択可能であってもよい。或いは、第1モード又は第3モード、第2モード又は第3モードを選択可能であってもよい。或いは、ゲストユーザが複数のモードのうち一つを選択可能としてもよい。
・上記実施形態では、配信ユーザ110が第1モード、第2モード、及び第3モードの切替を指示するようにした。これに代えて若しくは加えて、配信ユーザ装置12A又はサーバ11が、第1モード、第2モード、及び第3モードを自動的に切り替えてもよい。具体的には、第1モード又は第2モードである場合に、配信ユーザ110が、コントローラ27等で開始ボタンを操作する等、所定のシーンを開始する開始要求操作を行った場合に、配信ユーザ装置12A又はサーバ11が、第3モードに切り替えるようにしてもよい。又は、配信ユーザ装置12A又はサーバ11は、配信中に所定のアニメーションや音声が生成される等の開始条件が満たされたことを契機として、第3モードに切り替えるようにしてもよい。又は、配信ユーザ装置12A又はサーバ11は、アバター100が所定のエリアに集合する等、アバター100の座標が開始条件を満たした場合に、第3モードに切り替えるようにしてもよい。又は、配信ユーザが発話内容を音声認識して、予め決められたキーワード等を発話した場合に、そのキーワードに関連付けられたモードに切り替えるようにしてもよい。例えば配信ユーザ110が「見つめ合う」というキーワードを発した場合、第2モードに切り替えるようにしてもよい。
・上記実施形態では、第1モード、第2モード及び第3モードのうち一つに代えて、若しくは加えて、他のモードを選択可能としてもよい。3つのモード以外のモードとしては、例えば、複数のアバター100を俯瞰するカメラ101で撮影し、アバター100は正面等のカメラ101以外の方向を向くモードとしてもよい。
・上記実施形態では、配信ユーザ装置12Aの画像処理部202は、アバター100の視線をカメラ101又は他のアバター100に向けるための視線データを作成するようにした。これに代えて、視聴ユーザ装置12Bが、アバター100の位置や向きを示すトラッキングデータと、カメラ101、他のオブジェクト又は他のアバター100等の視線を向ける対象の位置データとに基づいて、アバター100の瞳102を視線を向ける対象に向けたアニメーションを作成するようにしてもよい。
(カメラの選択)
・上記実施形態では、視聴ユーザ112がコラボレーション配信に参加するアバター100を視聴ユーザ装置12Bの画面で選択することにより、選択したアバター100に対応するカメラ101で撮影した動画を視聴ユーザ装置12Bに表示するようにした。これに代えて、視聴ユーザ112がコラボレーション配信で設定された複数のカメラ101のうち一つを視聴ユーザ装置12Bの画面で選択することにより、選択したカメラ101で撮影した動画を視聴ユーザ装置12Bに表示してもよい。カメラ101を選択する画面では、アバター100に対して「上方」、「下方」、「左側」、「右側」等のカメラ101の位置から選択可能としてもよいし、「俯瞰」、「仰視」等のカメラ101のアングルで選択可能としてもよい。
・上記実施形態では、視聴ユーザ112が、コラボレーション配信を視聴する際にアバター100又はカメラ101を選択するようにしたが、複数のモードのうち1つが指定されていればアバター100又はカメラ101の選択を省略可能である。つまり、コレボレーション配信においてサーバ11が決定したカメラ101で撮影した動画を配信するようにしてもよい。このときサーバ11は所定のタイミングでカメラ101を切り替えるようにしてもよい。
(カメラの位置及び視野範囲)
・上記実施形態では、カメラ101を球面状のカメラ範囲109内に設定した。これに代えて若しくは加えて、仮想空間又は現実空間に、仮想的な三脚に据付けたモデルとして、回転中心座標を固定した上で仰角と方位角のみを制御できるカメラを設定してもよい。そして、このカメラに、回転中心座標を固定したまま光軸を左右に振る「パン」を実行させてもよい。そして配信ユーザ110のコントローラ27の操作又は所定のイベントの発生を契機としてカメラのパンを実行し、光軸を水平移動させながらターゲットとなるオブジェクトを注視つつ画角を滑らかに変化させてもよい。また、カメラに光軸を上下に振る「チルト」を実行させてもよい。
・上記実施形態では、画像処理部202は、アバター100の相対距離が大きい場合には、カメラ範囲109の距離Rを大きくするとともに視野角FVを拡大した。また、アバター100の相対距離が小さい場合には、カメラ範囲109の距離Rを小さくするとともに視野角FVを縮小した。これに代えて、画像処理部202は、アバター100の相対距離に応じて、視野角FVを一定とし、カメラ範囲109の距離Rのみを変更するようにしてもよい。又は、画像処理部202は、アバター100の相対距離に応じて、カメラ範囲109の距離Rを一定とし、視野角FVのみを変更するようにしてもよい。
・上記実施形態では、アバター100の中心点108を中心としたカメラ範囲109を設定し、このカメラ範囲109にカメラ101を設定するようにした。これに代えて若しくは加えて、仮想空間の所定位置にカメラ101を固定するようにしてもよい。
・上記実施形態では、カメラ101から最も離れたアバター100が含まれるように視野角FVを設定した。これに代えて若しくは加えて、視野角FVを一定範囲に固定してもよい。
・上記実施形態では、非透過型のヘッドマウントディスプレイを有する配信ユーザ装置12Aに仮想現実の画像を表示し、及び視聴ユーザ装置12Bに、仮想空間画像を表示するようにした。これに代えて、透過型のヘッドマウントディスプレイに、拡張現実の画像を表示するようにしてもよい。この場合、カメラ101の位置は配信ユーザ装置12Aに設けられた撮像カメラの位置であり、配信ユーザ110の位置に応じて変化する。この場合、配信ユーザ装置12Aは、撮像カメラで撮影した現実画像に仮想空間の画像を重畳した動画データを生成する。また、配信ユーザ装置12Aは、動画データをエンコードし、サーバ11を介して視聴ユーザ装置12Bにエンコードした動画データを送信する。
(ギフトオブジェクト及び報酬)
・上記実施形態では、ホストユーザにより選択されたアバターに装着オブジェクトを適用した。これに代えて若しくは加えて、視聴中の動画に対応付けられたアバターに装着オブジェクトを適用してもよい。この方法は、第1モード及び第2モードであって、アバター100とカメラ101とが対応付けられている場合に適用されうる。「アバターA」に対応付するカメラ101によって撮影された動画を表示している視聴ユーザ装置12Bから、装着ギフトオブジェクト141Aの表示要求を実行するための操作を受け付けたとする。この場合、サーバ11は、装着ギフトオブジェクト141Aを「アバターA」に適用すると判定する。サーバ11は、「アバターA」のレンダリングを行う配信ユーザ装置12Aに、装着ギフトオブジェクト141Aの表示要求を送信する。本実施形態では、ホストユーザの配信ユーザ装置12Aに装着ギフトオブジェクト141Aの表示要求を送信する。配信ユーザ装置12Aは「アバターA」に装着ギフトオブジェクト141Aを付した動画を作成する。
・上記実施形態では、ギフトオブジェクトに対応付けられた報酬の総和をコラボレーション配信に参加するホストユーザ及びゲストユーザで等分した。これに代えて若しくは加えて、ギフトオブジェクト141を贈った視聴ユーザ112が視聴中の動画に対応する配信ユーザ110にギフトオブジェクト141に応じた報酬を付与してもよい。この方法は、第1モード及び第2モードであって、アバター100とカメラ101とが対応付けられている場合に適用されうる。視聴ユーザ装置12Bが「アバターA」に対応するカメラ101によって撮影された動画を表示しているときに、装着ギフトオブジェクト141Aの表示要求を行うための操作を受け付けたとする。このとき、サーバ11は、「アバターA」に対応する配信ユーザ110に報酬を付与する。具体的には、サーバ11は、「アバターA」に対応する配信ユーザ110のユーザ管理データ350の報酬を示すデータを更新する。また、サーバ11は、報酬が付与されたことを知らせる通知を配信ユーザ装置12Aに送信する。
(コラボレーション配信におけるメッセージ)
・上記実施形態では、視聴ユーザ112から送信されたメッセージを、コラボレーション配信に参加する全ての配信ユーザ装置12A、及びコラボレーション配信を視聴する全ての視聴ユーザ装置12Bに送信するようにした。これに代えて若しくは加えて、視聴ユーザ装置12Bが送信したメッセージを、その視聴ユーザ装置12Bに配信している動画にのみ表示するようにしてもよい。この方法は、視聴ユーザ装置12Bが「アバターA」に対応付けられたカメラ101で撮影された動画を表示しているとき、その視聴ユーザ装置12Bが送信したメッセージは、同じ「アバターA」に対応付けられたカメラ101で撮影された動画を表示している視聴ユーザ装置12Bのみに表示し、「アバターB」に対応付けられたカメラ101で撮影された動画を表示している視聴ユーザ装置12Bには表示しない。この態様では、一画面に表示されるメッセージの数を低減することができる。
(コラボレーション配信以外の態様)
・上記実施形態では、コラボレーション配信において、アバター100の視線が向けられる対象が異なる複数のモードを設定した。これに代えて、配信ユーザ110が単独で動画を配信するときに、それらのモードを選択できるようにしてもよい。この場合、例えば、アバター100がカメラ101に視線を向けるモード、アバター100がカメラ101以外のオブジェクト又は所定位置に視線を向けるモード、アバター100が常に正面に視線を向け、瞳102を動かさないモード等のうち複数のモードを設定することができる。
次に、上記実施形態及び別例から把握できる技術的思想について以下に追記する。
・1乃至複数のコンピュータを、
非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得部と、
動画を作成するための動画作成用データを取得するデータ取得部と、
指定された前記モードに従って、前記動画作成用データを用いて前記アバターが配置された仮想空間を仮想カメラによって撮影した動画データを作成する動画作成部と、
作成した前記動画データをディスプレイに出力する出力制御部と、して機能させるプログラム。
10…管理システム
11…サーバ
12A…配信ユーザ装置
12B…視聴ユーザ装置

Claims (15)

  1. 1乃至複数のコンピュータを、
    非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得部と、
    指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラから見た動画を表示するための動画表示用データを作成する作成部と、
    前記動画表示用データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信部として機能させる
    プログラム。
  2. 前記モードの一つは、前記アバターの視線を前記仮想カメラに向ける第1モードであって、
    前記作成部は、前記第1モードが指定された場合に、前記アバターの視線を、前記アバター毎に異なる位置に設定された前記仮想カメラに向けるための視線データを含む前記動画表示用データを作成する
    請求項1に記載のプログラム。
  3. 前記モードの一つは、前記ヘッドマウントディスプレイを装着した複数の前記配信ユーザが動画を配信する場合に前記アバターの視線を他のアバターに向ける第2モードであって、
    前記作成部は、複数の前記アバターのアニメーションであって、前記アバターの各々の視線を、当該アバターとは異なる他のアバターに向けるための視線データを含む前記動画表示用データを作成する
    請求項1又は2に記載のプログラム。
  4. 前記モードの一つは、前記ヘッドマウントディスプレイを装着した複数の前記配信ユーザが動画を配信する場合に前記アバターの視線を共通の前記仮想カメラに向ける第3モードであって、
    前記作成部は、複数の前記アバターのアニメーションであって、複数の前記アバターが視線を共通の前記仮想カメラに向けるための視線データを含む前記動画表示用データを作成する
    請求項1~3のいずれか1項に記載のプログラム。
  5. 前記作成部は、複数の前記配信ユーザの各々に対応するアバターのアニメーションを作成する場合に、複数の前記アバターの位置に基づいて設定された中心点を中心としたカメラ範囲を設定し、前記仮想カメラを前記カメラ範囲のいずれかの位置に設定する
    請求項1~4のいずれか1項に記載のプログラム。
  6. 前記作成部は、複数の前記仮想カメラを前記カメラ範囲に設定する
    請求項5に記載のプログラム。
  7. 前記作成部は、前記配信ユーザの操作部に対する操作に従って前記仮想カメラを前記カメラ範囲内で移動させる
    請求項5又は6に記載のプログラム。
  8. 前記作成部は、
    複数の前記配信ユーザに対応するアバターのアニメーションを作成する場合に、前記仮想カメラから前記アバターの各々に向かうベクトルと前記仮想カメラの光軸とがなす角度の絶対値が最も大きいアバターを判定し、当該アバターが含まれるように前記仮想カメラの視野角を特定する
    請求項1~7のいずれか1項に記載のプログラム。
  9. 前記ヘッドマウントディスプレイは透過型のヘッドマウントディスプレイであって、
    前記配信ユーザによって現実空間を移動可能な撮像カメラの位置を、前記仮想カメラの位置とし、
    前記作成部は、前記撮像カメラによって撮像された前記現実空間の画像に、前記仮想カメラから見た前記仮想空間の画像を重畳した動画を表示するための動画表示用データを生成する
    請求項1~4のいずれか1項に記載のプログラム。
  10. 1乃至複数のコンピュータが、
    非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得ステップと、
    指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラから見た動画を表示するための動画表示用データを作成する作成ステップと、
    前記動画表示用データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信ステップと、を実行する
    情報処理方法。
  11. 1乃至複数のコンピュータを、
    非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、指定された一つのモードに応じた視線データと、前記配信ユーザの動きを示すトラッキングデータとをサーバから受信する視線データ受信部と、
    前記トラッキングデータ及び前記視線データを用いて、前記アバターが配置された仮想空間を仮想カメラから見た動画データを作成し、前記動画データを視聴ユーザが視認するディスプレイに出力する表示制御部として機能させる
    プログラム。
  12. 1乃至複数のコンピュータが、
    非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、指定された一つのモードに応じた視線データと、前記配信ユーザの動きを示すトラッキングデータとをサーバから受信する視線データ受信ステップと、
    前記トラッキングデータ及び前記視線データを用いて、前記アバターが配置された仮想空間を仮想カメラから見た動画データを作成し、前記動画データを視聴ユーザが視認するディスプレイに出力する表示制御ステップと、を実行する
    情報処理方法。
  13. 1乃至複数のコンピュータを、
    非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得部と、
    指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラから見た動画を表示するための動画データを作成する作成部と、
    エンコードした前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信部と、して機能させる
    プログラム。
  14. 1乃至複数のコンピュータを、
    非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得部と、
    指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラから見た動画を表示するための動画データを作成する作成部と、
    エンコードした前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信部と、を備える
    情報処理装置。
  15. 1乃至複数のコンピュータが、
    非透過型又は透過型のヘッドマウントディスプレイを装着した配信ユーザの動きに対応するアバターの視線に関するモードであって前記視線が向けられる対象が異なる複数のモードのうち、一つのモードを取得するモード取得ステップと、
    指定された前記モードに従って、前記アバターが配置された仮想空間を仮想カメラから見た動画を表示するための動画データを作成する作成ステップと、
    エンコードした前記動画データを、動画を視聴する視聴ユーザが用いる視聴ユーザ装置に送信する動画データ送信ステップと、を実行する
    情報処理方法。
JP2021100774A 2021-06-17 2021-06-17 プログラム、情報処理装置及び情報処理方法 Active JP7264941B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021100774A JP7264941B2 (ja) 2021-06-17 2021-06-17 プログラム、情報処理装置及び情報処理方法
US17/839,498 US20220405996A1 (en) 2021-06-17 2022-06-14 Program, information processing apparatus, and information processing method
JP2023064806A JP2023095862A (ja) 2021-06-17 2023-04-12 プログラム及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021100774A JP7264941B2 (ja) 2021-06-17 2021-06-17 プログラム、情報処理装置及び情報処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023064806A Division JP2023095862A (ja) 2021-06-17 2023-04-12 プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2023000136A JP2023000136A (ja) 2023-01-04
JP7264941B2 true JP7264941B2 (ja) 2023-04-25

Family

ID=84489668

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021100774A Active JP7264941B2 (ja) 2021-06-17 2021-06-17 プログラム、情報処理装置及び情報処理方法
JP2023064806A Pending JP2023095862A (ja) 2021-06-17 2023-04-12 プログラム及び情報処理方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023064806A Pending JP2023095862A (ja) 2021-06-17 2023-04-12 プログラム及び情報処理方法

Country Status (2)

Country Link
US (1) US20220405996A1 (ja)
JP (2) JP7264941B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116489299A (zh) * 2022-01-13 2023-07-25 祖玛视频通讯公司 视频通信平台中的化身生成

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6225242B1 (ja) 2016-12-28 2017-11-01 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
JP6330072B1 (ja) 2017-03-08 2018-05-23 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
US20190088016A1 (en) 2017-09-15 2019-03-21 Trimble Inc. Collaboration methods to improve use of 3d models in mixed reality environments
JP6695482B1 (ja) 2019-06-27 2020-05-20 株式会社ドワンゴ 制御サーバ、配信システム、制御方法及びプログラム
JP2020170519A (ja) 2020-06-08 2020-10-15 株式会社バーチャルキャスト コンテンツ配信システム、コンテンツ配信方法、コンピュータプログラム
WO2021059359A1 (ja) 2019-09-24 2021-04-01 株式会社エクシヴィ アニメーション制作システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3203615B2 (ja) * 1995-06-16 2001-08-27 日本電信電話株式会社 仮想空間共有システム
JP3488994B2 (ja) * 1997-02-13 2004-01-19 日本電信電話株式会社 三次元仮想空間における参加者対面方法
JP6298558B1 (ja) * 2017-05-11 2018-03-20 株式会社コロプラ 仮想空間を提供するための方法、および当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6225242B1 (ja) 2016-12-28 2017-11-01 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
JP6330072B1 (ja) 2017-03-08 2018-05-23 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
US20190088016A1 (en) 2017-09-15 2019-03-21 Trimble Inc. Collaboration methods to improve use of 3d models in mixed reality environments
JP6695482B1 (ja) 2019-06-27 2020-05-20 株式会社ドワンゴ 制御サーバ、配信システム、制御方法及びプログラム
WO2021059359A1 (ja) 2019-09-24 2021-04-01 株式会社エクシヴィ アニメーション制作システム
JP2020170519A (ja) 2020-06-08 2020-10-15 株式会社バーチャルキャスト コンテンツ配信システム、コンテンツ配信方法、コンピュータプログラム

Also Published As

Publication number Publication date
JP2023000136A (ja) 2023-01-04
US20220405996A1 (en) 2022-12-22
JP2023095862A (ja) 2023-07-06

Similar Documents

Publication Publication Date Title
US11348300B2 (en) Avatar customization for optimal gaze discrimination
JP7389855B2 (ja) 配信ユーザの動きに基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画をライブ配信する動画配信システム、動画配信方法及び動画配信プログラム
JP6244593B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6462059B1 (ja) 情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置
CN114766038A (zh) 共享空间中的个体视图
US11074737B2 (en) Information processing apparatus and method
US20210350604A1 (en) Audiovisual presence transitions in a collaborative reality environment
US11645823B2 (en) Neutral avatars
US20190005732A1 (en) Program for providing virtual space with head mount display, and method and information processing apparatus for executing the program
JP7160669B2 (ja) プログラム、情報処理装置、および方法
JP2022089817A (ja) 動画用アプリケーションプログラム、動画のオブジェクト描画方法、動画配信システム、動画配信サーバ及び動画配信方法
JP7394158B2 (ja) ヘッドマウントデバイスを介して仮想空間を提供するためにコンピュータで実行されるプログラムおよび方法ならびに情報処理装置
JP2023095862A (ja) プログラム及び情報処理方法
JP2019128721A (ja) ユーザの動きをアバタに反映するためのプログラム、当該プログラムを実行するための情報処理装置、およびアバタを含む映像を配信するための方法
JP2018124981A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6999538B2 (ja) 情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置
JP6718933B2 (ja) プログラム、情報処理装置、および方法
JP2020039012A (ja) プログラム、情報処理装置、および方法
JP7111848B2 (ja) プログラム、情報処理装置、および方法
JP7379427B2 (ja) 配信ユーザの動きに基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画をライブ配信する動画配信システム、動画配信方法及び動画配信プログラム
JP7438786B2 (ja) プログラム、情報処理方法、及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221213

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230413

R150 Certificate of patent or registration of utility model

Ref document number: 7264941

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150