JP2017117431A - ネットワークを通してメディアを伝送するシステム及び方法 - Google Patents

ネットワークを通してメディアを伝送するシステム及び方法 Download PDF

Info

Publication number
JP2017117431A
JP2017117431A JP2016121237A JP2016121237A JP2017117431A JP 2017117431 A JP2017117431 A JP 2017117431A JP 2016121237 A JP2016121237 A JP 2016121237A JP 2016121237 A JP2016121237 A JP 2016121237A JP 2017117431 A JP2017117431 A JP 2017117431A
Authority
JP
Japan
Prior art keywords
model
user device
server
frame
scene
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.)
Granted
Application number
JP2016121237A
Other languages
English (en)
Other versions
JP6306089B2 (ja
Inventor
榮昌 郭
Jung Chang Kuo
榮昌 郭
昇龍 楊
Sheng Lung Yang
昇龍 楊
安倫 ▲とう▼
安倫 ▲とう▼
An Lun Teng
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.)
Ubitus Inc
Original Assignee
Ubitus 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
Priority claimed from US14/976,239 external-priority patent/US9370718B2/en
Application filed by Ubitus Inc filed Critical Ubitus Inc
Publication of JP2017117431A publication Critical patent/JP2017117431A/ja
Application granted granted Critical
Publication of JP6306089B2 publication Critical patent/JP6306089B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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

Abstract

【課題】ネットワークを通してメディアを伝送するシステム及び方法を提供する。【解決手段】サーバー1で執行されるVRアプリケーションプログラム1100は複数の3Dモデルを含むバーチャルVR3D環境を産生し、サーバー1は、所定順序でそれぞれの状態をチェックし、ユーザーデバイス21にダウンロードされていない3Dモデルを、2Dビデオストリーミングの左目フレームと右目フレームにレンダリングしてユーザーデバイス21に伝送し、ユーザーデバイス21に保存されている他の3Dモデルをサーバー1はレンダリングせず、解釈情報を同期伝送する。ユーザーデバイス21が左右両目フレームと解釈情報を受取ると、左右両目フレームをバックグラウンド画面として解釈情報に基づき、自身に保存した3Dモデルを使用し、再レンダリングを行い、前景画面とし、最後に前景とバックグラウンドを混合し、VRシーンを含むアウトプットビデオストリーミングの混合VRフレームを産生出力する。【選択図】図8

Description

本発明はネットワークを通して画像や音声等メディアを伝送するシステム及び方法に関し、特に、ユーザーデバイス上でバーチャルリアリティー(Virtual-Reality)(この後、“VR”と略称する)画像の3Dオブジェクトをレンダリングする方法で、同方法はユーザーデバイスが3Dオブジェクトをレンダリングし、サーバーが提供するVRシーンの2Dビデオストリーミングを結合する、ネットワークを通してメディアを伝送するシステム及び方法に関する。
この数年間、オンラインゲームは世界のトレンドとなっている。クラウドコンピューティング関連システムとテクノロジーの発展に従い、ストリーミングサーバを利用したゲームコンテンツやサービスを提供する技術も現れている。
従来のクラウドゲームサービスを提供する方法は、サーバーによりほとんどすべての演算を行う。つまり、クラウドゲームサービスを提供するには、該サーバーは多数の参加者により移動或いはコントロールできる3Dオブジェクトを含むバーチャル3D環境を作らなければならない。従来の技術において、これら3Dオブジェクトは音声効果を備える。 後の参加者(プレーヤー)のコントロール動作に基づき、該サーバーはバーチャル3D環境と3Dオブジェクトとを結合し、ゲーム機のスクリーン上に、立体音声を備える2Dゲームをレンダリングする。
続いて、該サーバーは、レンダリング後の画像と立体音声を、音声を備える2Dビデオストリーミングとして、ネットワークを通してプレーヤーのデバイス上に伝送する。プレーヤーデバイスはそれを受け取った後、デコードと該2Dビデオストリーミングを表示するだけで、余計な3Dレンダリング演算を行う必要はない。
しかしながら、同一サーバーにおいて、多くのプレーヤーがレンダリング演算を行う伝統技術では、3Dレンダリング演算を執行するサーバーの負荷が過大になってしまう。この他、プレーヤーが目にする画面はすべて、破壊的圧縮を経た2Dビデオストリーミング形式で伝送されるため、画像であろうと音声であろうと、その品質はもともとの3Dオブジェクトの品質とは差がある。しかも、サーバーとプレーヤーデバイス間の大量のネットワーク通信帯域幅も大きな問題となる。
バーチャルリアリティー(Virtual-Reality)(この後、“VRと略称する)技術は、近年流行している。人の眼にVRの視覚的体験を提供するために、バーチャルなVRシーンには、人の左目だけが見る画像と、人の右目だけが見る画像とが含まれなければならない。本発明が提供するネットワークを通して画像や音声等メディアを伝送するシステム及び方法は、ユーザーデバイス上で3Dオブジェクトをレンダリングし、サーバーが提供するVRシーンの2Dビデオストリーミングを結合する。
特開2015−130164号公報
本発明が解決しようとする課題は、サーバーの負荷を低下させ、ユーザーデバイス上に表示される画像と音声の品質を高め、サーバーとユーザーデバイス間の通信帯域幅を節減し、ユーザーデバイスにおいて3Dオブジェクト(3Dモデルとも称する)をレンダリングし、サーバーが提供するVRシーンの2Dビデオストリーミングとを結合させ、ユーザーデバイス上でレンダリングするバーチャルリアリティー(Virtual-Reality:VR)画像の3Dオブジェクトの結果を得る、ネットワークを通して画像や音声等メディアを伝送するシステム及び方法を提供することである。
上記課題を解決するため、本発明は下記のネットワークを通してメディアを伝送するシステム及び方法を提供する。ネットワークを通してメディアを伝送するシステム及び方法において、メディアは複数の画像を備え、このシステムは、サーバー及びユーザーデバイスを備え、この方法は、以下のステップを含み、ステップ(A):サーバー上でバーチャルリアリティー(VR)アプリケーションプログラムを執行し、複数の3Dモデルを含むバーチャルVR3D環境を産生し、各3Dモデルは、3Dモデルを、ユーザーデバイス中にプレ保存するか否かの状態の指示に対応し、ステップ(B):サーバーは、各3Dモデルの前記状態をチェックし、どの3Dモデルを、2Dビデオストリーミングが含む左目フレーム及び右目フレームにエンコードするべきかを決定し、そのエンコード方式は、ユーザーデバイス中にプレ保存されていない各3Dモデルを、左目フレーム及び右目フレーム中にエンコードし、ステップ(C):サーバーは、2Dビデオストリーミングフレームの左目フレーム及び右目フレームを、ネットワークを通して、ユーザーデバイスに伝送し、サーバーは、ユーザーデバイス中にプレ保存されていない各3Dモデルを、所定の順序に基づき、ユーザーデバイスに伝送し、ユーザーデバイスが、サーバーから送られて来た各3Dモデルを受け取ると、ユーザーデバイスは、各3Dモデルを保存し、メッセージをサーバーに発信し、各3Dモデルの状態を改変させ、各3Dモデルを現在、ユーザーデバイス中にプレ保存するよう指示し、ステップ(D):ユーザーデバイスは、サーバーからの左目フレーム及び右目フレームを受け取りデコードし、左目フレーム及び右目フレームを利用し、各ユーザーデバイス中にプレ保存されるが、左目フレーム及び右目フレーム中に含まれない3Dモデルのバックグラウンドをレンダリングし、これによりアウトプットされるビデオストリーミングの混合VRフレームを産生する。
一実施形態中のステップ(D)において、ユーザーデバイスは、サーバーからの左目フレーム及び右目フレームを受け取りデコードし、左目フレーム及び右目フレームフレームを合成したVRフレームに合成し、その後、合成したVRフレームがバックグラウンド画面としてユーザーデバイス中にプレ保存されているが、左目フレーム及び右目フレーム中に含まれない3Dモデルをレンダリングし、これによりVRシーンを含む出力ビデオストリーミングの混合VRフレームを産生する。
一実施形態中の前記サーバーは、VRシーントランスミッター及びVRシーンサーバーをさらに備え、VRシーントランスミッターは、VRアプリケーションプログラム中、或いは執行時間中において、VRアプリケーションプログラム上にプログラム執行時で動態的に連結されるプログラムライブラリーをコンパイルし、VRシーントランスミッターは、すべての3Dモデル及び各3Dモデルの状態を含むリストを保有し、状態は、3Dモデルの状態を“Not Ready (準備中)”、“Loading (ダウンロード中)”及び“Ready for Client(ユーザーはダウンロード済み)”の内の何れか一つで示しており、VRシーンサーバーは、VRアプリケーションプログラムにより、サーバー上で執行されるサーバープログラムで、VRシーンサーバーは、VRシーントランスミッターとユーザーデバイスとの間のメッセージ伝達の中継点となり、VRシーンサーバーはまた、ユーザーデバイスが、サーバーより、必要な3Dモデルをダウンロードするダウンロードサーバープログラムともなる。
一実施形態中の前記ユーザーデバイスは、VRシーンユーザーエンド、フレーム結合器及びVRシーンキャッシュをさらに備え、VRシーンユーザーエンドは、ユーザーデバイス上で動作するプログラムで、アウトプットビデオストリーミングを産生し、ネットワークを通してサーバーと通じ、フレーム結合器は、左目フレーム及び右目フレームを、合成したVRフレームに合成し、VRシーンキャッシュは、前以てサーバーからダウンロードした少なくとも一個の3Dモデルを保存する。
本発明一実施形態によるネットワークを通してメディアを伝送するシステムの模式図である。 本発明一実施形態によるネットワークを通してメディアを伝送するシステムの構成を示す模式図である。 本発明一実施形態によるネットワークを通してメディアを伝送する方法のフローチャートである。 本発明の別種の実施形態によるネットワークを通してメディアを伝送する方法のフローチャートである。 本発明方法において、いかにしてビデオストリーミング及び3Dモデルを伝送するかを示す一実施形態の模式図である。 本発明方法において、いかにしてビデオストリーミング及び3Dモデルを伝送するかを示す一実施形態の模式図である。 本発明方法において、いかにしてビデオストリーミング及び3Dモデルを伝送するかを示す一実施形態の模式図である。 本発明方法において、どの3Dモデルがフレームにエンコードされるべきかをいかにして決定するかを示す実施形態の模式図である。 本発明方法において、どの3Dモデルがフレームにエンコードされるべきかをいかにして決定するかを示す実施形態の模式図である。 本発明方法において、どの3Dモデルがフレームにエンコードされるべきかをいかにして決定するかを示す実施形態の模式図である。 本発明方法において、音声を備えるビデオストリーミング及び3D音声をいかにして伝送するかを示す実施形態の模式図である。 本発明方法において、音声を備えるビデオストリーミング及び3D音声をいかにして伝送するかを示す実施形態の模式図である。 本発明方法において、音声を備えるビデオストリーミング及び3D音声をいかにして伝送するかを示す実施形態の模式図である。 本発明方法において、どの3D音声が音声を備えるビデオストリーミングフレームにエンコードされるべきかをいかにして決定するかを示す一実施形態の模式図である。 本発明方法において、どの3D音声が音声を備えるビデオストリーミングフレームにエンコードされるべきかをいかにして決定するかを示す一実施形態の模式図である。 本発明方法において、どの3D音声が音声を備えるビデオストリーミングフレームにエンコードされるべきかをいかにして決定するかを示す一実施形態の模式図である。 本発明の第1実施形態によるバーチャルリアリティー(VR)シーンシステムのシステムアーキテクチャを示す模式図である。 本発明一実施形態によるバーチャルリアリティー(VR)シーンシステムのフレーム結合器の機能を説明する模式図である。 本発明の第2実施形態によるバーチャルリアリティー(VR)シーンシステムのシステムアーキテクチャを示す模式図である。 本発明の第3実施形態によるバーチャルリアリティー(VR)シーンシステムのシステムアーキテクチャを示す模式図である。
以下に図面を参照しながら本発明を実施するための最良の形態について詳細に説明する。
本発明はオンラインゲームに運用され、プレーヤーはユーザーデバイスを使用し、ネットワークを通して、サーバー上でゲームを行う。このサーバーはプレーヤーの指令に基づき動作し、ユーザーデバイス上でビデオを生じる。
例えば、あるプレーヤーがユーザーデバイスでアクションを採ると、この動作はサーバーデバイスに伝送され、それは画像を演算し、画像をユーザーデバイスに回送する。多くのオンラインゲームにおいて、サーバーが生じる2D画像は、視線範囲内の他のオブジェクトの3Dレンダリング(Rendering)を含む。
本発明は、サーバーにより、ユーザーデバイスが必要とする3Dモデル及び3D音声を提供し、サーバーとユーザーデバイスとの間で、視線範囲内にあるオブジェクトの3Dレンダリング解析を行う。例えば、サーバーはいくらか或いはすべての3Dモデル及び3D音声をユーザーデバイスに提供し、並びに各3Dモデル或いは3D音声は位置、ディレクション及び状態データ等の関連する解釈データを付帯する。
ゲームの初期には、ユーザーデバイス上でゲームと関連するすべての画像(包括関連する3Dレンダリング)は、ネットワークを通してサーバーにより制作され、立体音声を備える2Dビデオストリーミングとなる。本発明のシステム、ネットワークを通して、視線範囲内において、3Dモデル及び3D音声等のメディア及びそのレンダリング情報をユーザーデバイスに送るが、その際、比較的近い(目に近い)オブジェクトは優先的に送られる。本発明システムはできるだけユーザーデバイス上で、3Dモデル及び3D音声のレンダリングを行い、次善の策として、サーバー上で、3Dモデル或いは3D音声等のレンダリングを行う。
3Dモデル或いは3D音声がユーザーデバイス上に既に保存されているなら、サーバーはオブジェクト(3Dモデル或いは3D音声)の解釈データをユーザーデバイスに提供するだけでよい。ユーザーデバイスはこれに基づきこれらオブジェクトをレンダリングし、結果を、サーバーが提供する任意の立体音声を備える2Dビデオの上に表示する。ユーザーデバイスの要求でない限り、サーバーはこの3Dモデル及び3D音声をレンダリングしない。
本発明方法のこのアレンジにより、サーバー上のGPU演算を省くことができ、サーバーは3Dモデル及び3D音声を含むアクティブデータベースを維持し、使用者との通信の効果を高めることができる。
本発明において、ユーザーデバイスが示すものは以下の組合せを含む。(A)サーバー上レンダリングの3Dシーン。結果は立体音声を備える2Dビデオストリーミングの形式で、ユーザーエンドに伝送し、ユーザーデバイスにより再生され、及び(B)サーバー上よりダウンロードされて、ユーザーデバイス上に保存される。ユーザーデバイスにより自らレンダリングする3Dモデル及び3D音声の結果。この立体音声を備える2Dビデオストリーミングとユーザーデバイス上レンダリングの3Dモデル及び3D音声の混合は、帯域幅占用の状況を低下させられるため、カラフルな3Dシーン及び感動的なサラウンド音声効果を作り出すことができる。
一実施形態において、ユーザーデバイスへと伝送する立体音声を備える2Dビデオストリーミングは、3Dモデル及び3D音声の解釈データを付帯し、ユーザーデバイスは、自分がこの3Dモデル及び3D音声を保存しているかどうかをチェックする。ないなら、ユーザーデバイスは、必要とする3Dモデル及び3D音声を、サーバーよりダウンロードし、ダウンロード後、ユーザーデバイスは、これを保存し、データリストを作り、シーン再現の必要に備える。
こうして、ビデオストリーミングのディレイと大量の帯域幅が必要であるという問題を改善し、しかもユーザーデバイスエンドにより自らレンダリングすることで、より良い質の画像を得ることができる(ビデオ圧縮を経ていないため)。
前記の解釈データは、ユーザーデバイスが任意の3Dモデル或いは3D音声を遺漏しない、或いは繰り返さないことを許す状況において、ユーザーデバイスエンドが、3Dモデル及び3D音声によりレンダリングした結果と、サーバーが提供する立体音声を備える2Dビデオストリーミングとを正確に混合する。
前記のように、ユーザーデバイスが必要なすべての3Dモデル及び3D音声を保存後、ユーザーデバイスは完璧な3Dシーン及び音声を再現することができる。この時、サーバーは、新しく加わり、ユーザーデバイスエンドが未保存の新しい3Dモデル或いは3D音声が出現するまで、一切のレンダリングを行う必要がない。新しい3Dモデルが出現すると、サーバーは、ユーザーデバイスが自らこの新しい3Dモデルをレンダリングするまで、この新しい3Dモデル及びその後のすべてのオブジェクトをレンダリングする。この他、新しい3D音声が出現すると、ユーザーデバイスエンドが運用できるまで、サーバーは、この3D音声をレンダリングする。
ユーザーデバイスは、後に執行する時に再ダウンロードする必要がないよう、できるだけ自己の保存デバイス上にダウンロードした3Dモデル及び3D音声を保存(キャッシュ)する。こうして、ネットワークの帯域幅コストはさらに引き下げられ、もし保存できないなら、ダウンロードとレンダリングは執行時に完成させる。
図1は、本発明ネットワークを通してメディアを伝送するシステムの一実施形態の模式図である。サーバー1は、サービスを提供するアプリケーションプログラムを執行し、このサービスは(これに制限されない)クラウドオンラインゲームサービスである。複数のユーザーデバイス21、22、23はネットワーク4を通してサーバー1に連結(ログイン)し、サーバー1上で動作されるアプリケーションプログラムが提供するサービスを使用する。
本実施形態中では、ネットワーク4はインターネットで、ユーザーデバイス21、22、23はインターネットに接続可能な任意の電子デバイスである。それは、例えばスマートフォン21、タブレット、ノート型コンピューター22、デスクトップコンピューター23、ビデオゲーム機、或いはスマートテレビ等(これに制限されない)。ユーザーデバイス21、22の中には、モバイルアクセスポイントを通して、無線でネットワーク4に連結するものもおり、ユーザーデバイス則ルーターを通して、有線の方式で、ネットワーク4上に連結するものもいる。
サーバー1上で動作されるアプリケーションプログラムは、複数の3Dモデル及び3D音声を含むバーチャル3D環境を作り出すことができる。各3Dモデル或いは3D音声は状態を対応させ、3Dモデル或いは3D音声に、ユーザーデバイス21、22、23中にプレ保存するか否かを指示する。
本発明の一実施形態中において、各ユーザーデバイスはどれも、対応する独立アプリケーションプログラムを有し、アプリケーションプログラムはユーザーデバイスにだけサービスを提供する。但し、多数のアプリケーションプログラムは、同時に同一のサーバー上においてサービスを執行し、多数のユーザーデバイスに提供することができる。図に示すように、ユーザーデバイス21、22、23はネットワーク4を通してサーバー1に連結し、アプリケーションプログラムにより生じ、しかも少なくとも一個の各3Dモデル及び3D音声を含むメディアを得ることができる。このシステム構成とその特徴は、図2及び関連する記載に示す。
図2は本発明システム構成の一実施形態の模式図である。
本発明において、アプリケーションプログラム100は、サーバー1上で動作し、3D画像3D音声のレンダリング結果を生じ、それは通常3Dゲームである。3Dシーントランスミッター110はプログラムライブラリー(library)では、アプリケーションプログラム100のコンパイル時に、これと非稼働状態で静的に連結する静的連結し、或いはアプリケーションプログラム100の執行時に動態状態、すなわち稼働状態で連結する動態連結(Dynamic Linking)にする。3Dシーンユーザーエンド(プログラム)170は、ユーザーデバイス21、22、23上で執行するプログラムにおいて、アプリケーションプログラム100により生成される3D画像及び3D音声レンダリング結果を産生してアウトプットする。本実施形態中では、各ユーザーデバイス21、22、23は、それぞれ独立したアプリケーションプログラム100及びシーントランスミッター110に対応する。
本発明において、3Dシーンユーザーエンド170及び3Dシーンキャッシュ190は、ユーザーエンドのプログラムと執行方法を組成し、ユーザーデバイスそのものレンダリング3Dモデルと3D音声の演算能力を発揮する。
3Dシーンサーバー120は、アプリケーションプログラム100と共同でサーバー1上で執行するサーバープログラムで、サーバー1の3Dシーントランスミッター110とし、ユーザーデバイス21、22、23の3Dシーンユーザーエンド170との間で、メッセージ伝達の中継点とする。
同時に、ファイルダウンロードサーバーでもあり、ユーザーデバイス21、22、23の3Dシーンユーザーエンド170は、サーバー1から必要な3Dモデル及び3D音声をダウンロードする。3Dシーントランスミッター110はリストを保有し、すべての3Dモデル及び3D音声、及びモデル或いは音声の状態を列記する。この状態は、各3Dモデル或いは3D音声の状態を(1)“Not Ready (準備中)”、(2)“Loading (ダウンロード中)”、及び(3)“Ready for Client(ユーザーはダウンロード済み)”の内の何れか一つで示している。
アプリケーションプログラム100のメインプログラム、APIにより呼び出すプログラムライブラリーの方式(図2のルート101)を通して、3Dシーン情報を3Dシーントランスミッター110に伝送する。この3Dシーン情報は、名称、位置、速度、属性、ディレクション及びその他3Dモデル及び3D音声レンダリングが必要とする全てのデータを含む。3Dシーントランスミッター110がこのタイプのデータを受け取ると、以下のプロセスを執行することができる。
ステップ(A):3Dモデルにおいては、レンダリングが必要なすべての3Dモデルを配列させ、その配列方式は、バーチャル位置(3Dプロジェクション面或いは使用者の目など)に対して、近くから遠くへと配列する。
3D音声においては、レンダリングが必要なすべての3D音声を配列させ、その配列方式は、バーチャル位置(3Dプロジェクション面或いは使用者の目など)に対して、近くから遠くへと配列する。
ある状況において、3Dシーン中の3DモデルAは、もう一つの3DモデルBを含み、或いはその上に重なる。例えば、モデルAは家で、モデルBは家の中のテーブルで、この状況において、どのモデルが、模擬位置に近いかは実は曖昧な問題である。この時、モデルA及びモデルBは、同一の3Dモデルと見做され、3Dモデル(A+B)と呼ばれる。
シーンに対する既知の情報のいくらかは、ゲーム中の地面などの補助配列に用いられ、他の3Dオブジェクト下の大きくてフラットな3Dモデルと見做される。通常、使用者の目は地面より高いため、地面の3Dモデルは、配列中で特別処理が必要で、これにより他の3Dモデルの前に表示されないようにする。
ステップ(B):3Dモデルにおいて、最も近い点(目に最も近い点)から”Ready for Client”状態を備えない一個目の3Dモデル“M”を探す。言い換えれば、一個目の3Dモデル“M”の状態は”Not Ready”状態(この後、”Not Ready”状態はNR状態と略称する)である。当然、このタイプの3Dモデルが存在しない可能性もある(例えば、表示されているすべての3Dモデルが“Ready for Client”状態と標示されている)。
3D音声において、最も近い点(目に最も近い点)から、一個目の”Ready for Client”状態を備えない3D音声“S”を探す。言い換えれば、一個目の3D音声“S”の状態は”Not Ready”状態(この後、”Not Ready”状態はNR状態と略称する)である。当然、このタイプの3D音声が存在しない可能性もある(例えば、表示された3D音声のすべてが、“Ready for Client”状態と標示されている)。
ステップ(C):3Dモデルにおいて、サーバーは3DモデルM及びその後のすべての3Dモデル(つまり目からの距離がMより遠いすべての3Dモデル)をレンダリングし、(もし3DモデルMがないなら、黒幕により表示する)レンダリング後の結果を、2D ビデオストリーミングフレーム(frame)にエンコードする。
3D音声において、サーバー1上で、”Ready for Client”状態を備えないすべての3D音声をレンダリング(再生)する(もしこのタイプの3D音声がないなら、靜音を生じる)。続いて、レンダリング後の結果を、ステップ(C)中の2Dビデオストリーミングフレームを備える立体音声にエンコードする。注意:3DモデルS後に続く3D音声は、その状態が”Ready for Client”でない時にのみ、レンダリングされ、これはステップ(C)中の3Dモデルと異なる。
ステップ(D):以下の6個の情報を3Dシーンサーバー120(ルート112)に伝送する:[Info 112−A]、[Info 112−B]、[Info 112−C]、[Info 112−D]、[Info 112−E]及び[Info 112−F]。3Dシーンサーバー120は、以上の情報を、3Dシーンユーザーエンド170(ルート122)に伝送する。
[Info 112−A]は3DモデルM前のすべての3Dモデルの状態情報(或いは解釈データと呼ぶ)である。このタイプモデルは存在しない可能性もあることに注意する必要がある。このタイプのモデルはどれも、“Ready for Client”状態を備える。その意味は、これらモデルは既にユーザーエンドデバイスに予めダウンロードされているということで、ユーザーエンドデバイス21、22、23上面の3Dシーンユーザーエンド(プログラム)170は、これらモデルを既に自らレンダリングすることができる。データ伝送の帯域幅は減らすため、3Dシーントランスミッター110は全部の状態情報を伝送する必要はなく、状態情報中の今回のレンダリングと前回のレンダリングとの差異を伝送するだけでよい。
[Info 112−B]もしサーバーが3DモデルMを見つけ、しかもそのユーザーデバイスが予め保存した状態が“Not Ready(準備中)”である時、サーバーは、そのユーザー状態を“Loading(ダウンロード中)”に変え、3DモデルMのダウンロード指示を送信し、ユーザーエンドに、この3DモデルMをダウンロードするよう要求する。もしユーザー状態が既に“Loading”なら、ダウンロード指示は既に送信されているので、一切の指示を送信してはならない。
[Info 112−C]はステップ(C)中のエンコード後のビデオストリーミングフレームである。
[Info 112−D]はすべての状態が”Ready for Client”である3D音声(このタイプの3D音声は存在しない可能性もある)の状態情報(或いは解釈データと称する)を指す。このタイプの音声タイプはすべて“Ready for Client”状態を備える。つまり、これら音声は既にユーザーエンドデバイスに予めダウンロードされていることを示し、ユーザーエンドデバイス21、22、23上面の3Dシーンユーザーエンド(プログラム)170は、既に自らこれら音声をレンダリング(再生)することができる。データ伝送帯域幅を減らすため、3Dシーントランスミッター110は、全部の状態情報を伝送する必要はなく、状態情報中の今回のレンダリングと前回のレンダリングとの差異を伝送するだけでよい。
[Info 112−E]もしサーバーが3D音声Sを見つけ、しかもそのユーザー状態が“Not Ready”であるなら、そのユーザー状態を“Loading”に変え、3D音声Sのダウンロード指示を送信し、ユーザーエンドに、この3D音声Sをダウンロードするよう要求する。ユーザー状態が既に“Loading”なら、ダウンロード指示は既に送信されているので、一切の指示を送信してはならない。
[Info 112−F]はステップ(C)中のエンコード後の立体音声である。
アプリケーションプログラム100のメインプログラムが、新しい3Dシーンデータを、3Dシーントランスミッター110に更新する度に、ステップ(A)〜(D)を繰り返す。通常、アプリケーションプログラム100のメインプログラムは、毎回のレンダリング中でこのタイプのデータを更新する。
3Dシーンユーザーエンド170が前記データを受け取った後、後述のレンダリングプロセスを行う。
ステップ(i):[Info 112−C]のビデオフレームをデコードし、このフレームを後続の3Dモデルレンダリングのバックグラウンドとして使用する。この他、[Info 112−F]ビデオを備える立体音声をデコードし、後続の3D音声レンダリングのバックグラウンド音声として使用する。
ステップ(ii):ステップ(i)でエンコード後のビデオフレーム上で[Info 112−A]中のすべての3Dモデルをレンダリングし、ネットワーク帯域幅の占用を低下させる。3Dシーンユーザーエンド170は、この[Info 112−A]情報をメモリ中に保存する。よって、次の3Dシーントランスミッター110は、次のレンダリングと今回のレンダリングとの状態[Info 112−A]の差異だけを伝送すればよく、全部の状態情報を伝送する必要はない。
同様に、[Info 112−D]に属するすべての3D音声をレンダリングする時には、これをステップ(i)中デコードの立体音声に混合し、ネットワーク帯域幅の占用を低下させる。3Dシーンユーザーエンド170は、この[Info 112−D]情報をメモリ中に保存するため、次の3Dシーントランスミッター110は、次のレンダリングと今回のレンダリングとの間の状態[Info 112−D]の差異を伝送するだけでよく、全部の状態情報を伝送する必要はない。
ステップ(iii):ステップ(ii)中において、サーバーから伝送される立体音声を備えるビデオフレームと3Dシーンユーザーエンド170が自らレンダリングした3Dモデルと3D音声とを混合し、両者の混合結果をアウトプットし、音声を備えるアウトプットビデオストリーミング(ルート176)とする。
もし、[Info 112−B]の状態を提供するなら、3Dシーンユーザーエンド170は、以下のプロセスに基づき、3DモデルMを処理する。
ステップ(I):3Dシーンキャッシュ190を探し(ルート174)、3Dシーンキャッシュ190は前以てユーザーデバイス21、22、23中にダウンロード及び保存していた3Dモデルデータベースを含む。
ステップ(II):もし3Dシーンキャッシュ190中に、既に3DモデルMがあるなら、ステップ(V)を執行する。
ステップ(III):もし3Dシーンキャッシュ190中に、3DモデルMがないなら、3Dシーンユーザーエンド170は、ダウンロード要求を、3Dシーンサーバー120に送信する(ルート172)。3Dシーンサーバー120は、3DモデルMのデータを、3Dシーンユーザーエンド170に回送する(ルート124)。
ステップ(IV):3Dモデルの完全ダウンロード後、3Dシーンユーザーエンド170は、これを3Dシーンキャッシュ190保存し(ルート194)、これにより次に類似の要求があった時には、再度のダウンロードを行う必要はない。
ステップ(V):3Dシーンユーザーエンド170は、3Dシーンキャッシュ190中から3DモデルMを取り出す(ルート192)。
ステップ(VI):ダウンロードが完成(或いは前以てダウンロード済み)すると、3Dシーンユーザーエンド170は、3DモデルMを取り出すことができる。3Dシーンユーザーエンド170は、“3D Model is ready on client(3Dモデルは既にユーザーデバイス上)”のメッセージを、3Dシーンサーバー120に伝送する(ルート113)。3Dシーンサーバー120は、このメッセージを3Dシーントランスミッター110に転送する(ルート114)。
ステップ(VII):3Dシーントランスミッター110がこのメッセージを受け取り後、3DモデルMの状態を、”Loading”から“Ready for Client”に変える。
ステップ(VIII):次のレンダリングにおいて、3Dシーントランスミッター110は、3DモデルMが既にユーザーデバイス中にダウンロードされていることを知っているため、故3Dシーンユーザーエンド170に自らレンダリングさせる。よって、サーバー1は、この3DモデルMを、再度レンダリングする必要はない。
もし、[Info 112−E]の状態を提供するなら、3Dシーンユーザーエンド170は、以下のプロセスに従い、3D音声Sを準備する(前記の[Info 112−B]に関する記述に類似)。
ステップ(I):3Dシーンキャッシュ190を探し(ルート174)、3Dシーンキャッシュ190は、前以てユーザーデバイス21、22、23中にダウンロード及び保存していた3D音声データベースを含む。
ステップ(II):もし3Dシーンキャッシュ190中に、3D音声が準備されているなら、ステップ(V)を執行する。
ステップ(III):もし3Dシーンキャッシュ190中に、3D音声が準備されていないなら、3Dシーンユーザーエンド170は、ダウンロード要求を、3Dシーンサーバー120に送信する(ルート172)。3Dシーンサーバー120は、3D音声のデータを、3Dシーンユーザーエンド170に回送する(ルート124)。
ステップ(IV):3D音声の完全ダウンロード後、3Dシーンユーザーエンド170は、これを3Dシーンキャッシュ190に保存する(ルート194)。これにより、次に類似の要求があった時には、再度のダウンロードを行う必要はない。
ステップ(V):3Dシーンユーザーエンド170は、3Dシーンキャッシュ190中から3D音声Sを取り出す(ルート192)。
ステップ(VI):ダウンロードが完成(或いは前以てダウンロード済み)すると、3Dシーンユーザーエンド170は3D音声Sを取り出す。3Dシーンユーザーエンド170は、“3D sound is ready on client(3D音声は既にユーザーデバイス上)”のメッセージを、3Dシーンサーバー120に伝送する(ルート113)。3Dシーンサーバー120は、このメッセージを3Dシーントランスミッター110に転送する(ルート114)。
ステップ(VII):3Dシーントランスミッター110がこのメッセージを受け取り後、3D音声Sの状態を”Loading”から“Ready for Client”に変える。
ステップ(VIII):次のレンダリングにおいて、3Dシーントランスミッター110は、3D音声Sが既にユーザーデバイス中にダウンロードされていることを知っているため、3Dシーンユーザーエンド170に自らレンダリング(再生)するよう要請し、サーバー1はこの3D音声Sを、再びレンダリングする必要はない。
最初期には、ユーザーデバイス21、22、23中には、一切の3Dモデル及び3D音声がないため、3Dシーントランスミッター110は、すべての3Dモデル及び3D音声をレンダリングし、その結果を、立体音声を備える2Dビデオストリーミングにエンコードする。3Dシーントランスミッター110は、3Dモデルのダウンロード要求[Info 112−B]及び3D音声のダウンロード要求[Info 112−E]を、最も近い点から3Dプロジェクション面(或いは使用者の目)へ伝送する。
3Dシーンユーザーエンド170は、3Dシーンサーバー120から、各3Dモデル或いは3D音声をダウンロードし、或いは3Dシーンキャッシュ190上から一つ一つ取り出す。より多くの3Dモデル及び3D音声を、3Dシーンユーザーエンド170が取得すると、3Dシーントランスミッター110は、3Dシーンユーザーエンド170に、これらモデル及び音声を自らレンダリングし、3Dシーントランスミッター110からレンダリングする3Dモデル及び3D音声の数を減らすよう自動的に通知する。
これにより、最後の3Dシーンユーザーエンド170上からすべての3Dモデル及び3D音声が取得されるまで、エンコードした2Dビデオストリーミング中の3Dモデル及び3D音声はどんどん少なくなる。この後、この段階において、音声を備えない黒幕だけが残る。言い換えれば、サーバー1は、2Dビデオストリーミングを、ユーザーデバイス21、22、23中に再伝送する必要はなく、しかもサーバー1及びユーザーデバイス21、22、23間の通信帯域幅の占用も、大幅に低下される。
本発明において、新しい3DモデルNが実景に出現すると、3Dシーントランスミッター110は、(1)3Dシーンユーザーエンド170に、この新しい3DモデルN前に位置する(使用者の目に対して言えば)すべての3Dモデルだけをレンダリングするよう通知する。
(2)この新しい3DモデルNをダウンロードするよう、3Dシーンユーザーエンド170に通知する。
(3)3Dシーントランスミッター110は、この新しい3DモデルN及びその後に位置するすべてのモデルをレンダリングし、その結果を、音声を備える2Dビデオストリーミングにエンコードする。その後、この音声を備える2Dビデオストリーミングを、3Dシーンユーザーエンド170に伝送する。3Dシーンユーザーエンド170は、3DモデルNユーザーデバイス上で準備する前に、アプリケーションプログラム100の3D画像及び音声のレンダリング結果を再生し続けることができる。
新しい3D音声Tが実景に出現すると、3Dシーントランスミッター110は、(1)3Dシーンユーザーエンド170にこの新しい3D音声Tをダウンロードするよう通知する。及び(2)3Dシーントランスミッター110はこの新しい3D音声Tをレンダリングし、その結果を、立体音声にエンコードする。この後、この立体音声と2Dビデオストリーミングを、3Dシーンユーザーエンド170に伝送する。
3Dシーンユーザーエンド170は、3D音声Tを、ユーザーデバイス上で準備前に、アプリケーションプログラム100を再製し続ける3D画像及び音声のレンダリング結果である。このプロセスにおいて、新しい3D音声Tだけをレンダリングし、3Dシーントランスミッター110は、他の3D音声T後方のすべての3D音声をさらにレンダリングする必要はない。この方法は、音声の本質が画像と異なることにより、画像はその後画像の表示を遮るが、音声は遮らない。
BGMは、所定の3D位置を備える3D音声とみなされ、BGMをできるだけ早くダウンロードできるよう、定義する所定の3D位置は使用者の目に近ければ近いほど良い。
サーバーの負荷を低下させ、或いは不安定なネットワークデータ伝達が生じる騒音を回避するため、サーバーは、ビデオ中のすべての3D音声のエンコードを放棄することができる。この状況において、3D音声は、ダウンロードされ、ユーザーデバイス中にプレ保存して初めてユーザーデバイス上で再生される。
3D音声において、サーバー1は3D音声の状態をチェックし、どの3D音声が立体音声を備える2Dビデオストリーミングにエンコードされるべきかを決定する。そのエンコード方式はユーザーデバイス中にプレ保存されていない3D音声をビデオフレーム中にエンコードするものである。3D音声が、ビデオフレーム中の立体音声にエンコードされると、その左右チャンネルの音量は、その位置及び使用者の耳に対する速度により決定される。BGMは、所定位置上の3D音声効果と定義される。
図3Aは本発明ネットワークを通してメディアを伝送する方法の一実施形態のフローチャートである。ネットワークを通した画像の伝送を開始すると(ステップ60)、サーバー上でアプリケーションプログラムを執行し複数の3Dモデルを含むバーチャル3D環境を産生する(ステップ61)。各3Dモデルは、ある状態に対応し、該状態は、この3Dモデルをユーザーデバイス中にプレ保存するか否かを指示する。
サーバーは続いて3Dモデルの状態をチェックし(ステップ62)、どの3Dモデルが2Dビデオストリーミングフレームにエンコードされるべきかを決定し、ユーザーデバイス中にプレ保存されていない3Dモデルは、フレーム中にエンコードされる。
サーバーは、あるバーチャル位置(通常は3Dプロジェクション面或いは使用者の目)を基準とし、近くから遠くへと、各3Dモデルの状態を一つ一つチェックする。チェック中に、ユーザーデバイス中にプレ保存されていない一個目の3Dモデルを発見すると、この発見された3Dモデルを、NR状態と標記する。続いて、その後の3Dモデルがユーザーデバイス中にプレ保存されるか否かにかかわらず、この3DモデルM及びその後方のすべての3Dモデルは、フレーム中にエンコードされる(ステップ63)。
任意の3Dモデルの位置が改変された時、或いは配列参考用のバーチャル位置が改変された時、前記のチェックを再び執行し、しかも最新のチェック結果に基づき、3Dモデルがビデオフレーム中にエンコードされるべきか否かを決定する。
ステップ64:2Dビデオストリーミングフレームのエンコード後、サーバーは、この2Dビデオストリーミングフレーム及びユーザーデバイス中にプレ保存されていない3Dモデル(すなわち、NR状態を備える3Dモデル及びその後方のすべての3Dモデル)を、所定の順序に基づき、ユーザーデバイスに伝送する。
この所定順序は、最も近い3Dプロジェクション面(或いは使用者の目)の一点から最も遠い点の3Dプロジェクション面の一点までの順序である。ユーザーデバイスが2Dビデオストリーミングフレームを受け取ると(ステップ65)、ユーザーデバイスはサーバーから伝送されるフレームをデコードし、このフレームを使用し、ユーザーデバイス中にプレ保存されるが、フレーム中に含まれない3Dモデルのバックグラウンドのレンダリングを行う。これにより、音声を備えるアウトプットビデオストリーミングの混合フレームを産生する(ステップ66)。
ユーザーデバイスが、サーバーから伝送される3Dモデルを受け取ると、ユーザーデバイスは、この3Dモデルを保存し、続いてメッセージをサーバーに伝送し、3Dモデルの状態を“現在は既にユーザーデバイス中にプレ保存される”に変更するよう通知する。この後、ユーザーデバイスは、サーバーから伝送されるビデオストリーミングと自らレンダリングした結果とを混合してアウトプットし、新しいビデオとする。
ステップ62中において、新しい3Dモデルが3D環境中に出現すると、その後方の3Dモデルがユーザーデバイス中にプレ保存されるか否かに関わらず、新しい3Dモデルとその後方のすべての3Dモデルをフレーム中にエンコードする。
ステップ64中において、サーバーは、ビデオストリーミングフレーム中にエンコードされていない3Dモデルの状態情報(或いは解釈データと称する)をユーザーデバイスに伝送する。ユーザーデバイスが、状態情報を受け取り、及びチェックする時には、以下の方式に基づき行う。
もし受け取った状態情報中の任意の3Dモデルが、ユーザーデバイス中にプレ保存される者でないなら、ユーザーデバイスは、サーバーに、3Dモデルをダウンロードするよう請求を送信する(ステップ661)。状態情報は、各フレーム中にエンコードされていない解釈データを含み、各解釈データは、3Dモデルの名称、位置、速度、ディレクション、及び属性及び各3Dモデルの状態を含む。
図3Bは本発明ネットワークを通してメディアを伝送する方法のもう一つの実施形態のフローチャートである。ネットワークを通して音声の伝送を開始する(ステップ60a)と、サーバー上でアプリケーションプログラムを執行し、複数の3D音声を含むバーチャル3D環境を産生する(ステップ61a)。各3D音声は、ある状態に対応し、該状態は、この3D音声がユーザーデバイス中にプレ保存するか否かを指示する。
サーバーは続いて3D音声の状態をチェックし(ステップ62a)、どの3D音声が2Dビデオストリーミングフレームにエンコードされるべきかを決定する。ユーザーデバイス中にプレ保存されていない3D音声は、フレーム中にエンコードされる。
サーバーは、あるバーチャル位置(通常は3Dプロジェクション面或いは使用者の目)を基準とし、近くから遠くへと、各3D音声の状態を一つ一つチェックする。チェック中に、ユーザーデバイス中にプレ保存されていない一個目の3D音声を発見すると、この発見された3D音声を、NR状態と標記する。
ステップ64a:音声を備えるビデオストリーミングフレームをエンコード後、サーバーは、この音声を備える2Dビデオストリーミングフレーム及びユーザーデバイス中にプレ保存されていない3D音声(すなわち、このNR状態を備える3D音声)を、所定の順序に基づき、ユーザーデバイスに伝送する。
この所定順序は、最も近い3Dプロジェクション面から(或いは使用者の目)の一点から、最も遠い点の3Dプロジェクション面のもう一つの点までの順序である。ユーザーデバイスが音声を備えるビデオストリーミングフレームを受け取った(ステップ65a)後、ユーザーデバイスはビデオストリーミング中に含まれるオーディオ(すなわち、音声)をデコードし、このオーディオを、ユーザーデバイス中にプレ保存されるが、ビデオストリーミングフレーム中に含まれない3D音声のバックグラウンドのレンダリングに使用し、これにより混合オーディオを産生する(ステップ66a)。
ユーザーデバイスがサーバーから伝送される3D音声を受け取ると、ユーザーデバイスは、この3D音声を保存し、続いてメッセージをサーバーに伝送し、3D音声の状態を”現在は既にユーザーデバイス中にプレ保存される”に変更するように、サーバーに通知する。この後、ユーザーデバイスは、サーバーから伝送されるビデオストリーミング中のオーディオと自らレンダリング(再生、生成)した3D音声の結果を、混合してアウトプットし、新しいオーディオとする。
ステップ62aにおいて、新しい3D音声が3D環境中に出現すると、新しい3D音声を、音声を備える2Dビデオストリーミングフレーム中にエンコードする。この新しい3D音声は、他の3D音声がレンダリングされるか否かに影響せず、この点は、前記ステップ62中の3Dモデルと異なる。
ステップ64aにおいて、サーバーは、フレーム中にエンコードされていない3D音声の状態情報をユーザーデバイスに伝送する。ユーザーデバイスが、状態情報を受け取り、及びチェックする時には、以下の方式に基づき行う。もし受け取った状態情報中の任意の3D音声が、ユーザーデバイス中にプレ保存される者でないなら、ユーザーデバイスはサーバーに、3D音声をダウンロードするよう請求を送信する(ステップ661a)。状態情報は、各フレーム中にエンコードされていない解釈データを含み、各解釈データは、3D音声の名称、位置、速度、ディレクション、及び属性及び各3D音声の状態を含む。
図4A、4B及び4Cは、本発明方法において、いかにしてビデオストリーミング及び3Dモデルを伝送するかを示す一実施形態の模式図である。
図4Aに示すとおり、最初にユーザーデバイス74がサーバー上で動作するアプリケーションプログラム70にログインしても、一切の3Dモデルは、ユーザーデバイス中にプレ保存されていない。よって、サーバーは、すべての3Dモデル(人71及びその後の家72を含む)をレンダリングする。すべての3Dモデルは、ユーザーデバイスのスクリーン上に表示され、サーバーは、レンダリング結果を、2Dビデオストリーミングフレーム73にエンコードする。
続いて、このフレーム73を、ユーザーデバイス74に伝送する。この段階において、フレーム73は、人71及び家72を含み、ユーザーデバイス74は、このフレーム73をアウトプットするだけでよく、他のオブジェクトをレンダリングする必要はない。
続いて、図4Bに示すとおり、サーバー70は3Dモデルをユーザーデバイスに伝送し始め、ユーザーデバイススクリーンに最も近い3Dプロジェクション面の3Dモデルから開始する。本実施形態中では、家72と比較すると、人71は3Dプロジェクション面に近い(或いは使用者の目)。よって、人71の3Dモデルは、先にユーザーデバイス74に伝送され、人71の3Dモデルがユーザーデバイス74上に伝送されて保存された後、ユーザーデバイス74はメッセージをサーバー70に伝送し、人71の3Dモデルが、ユーザーデバイス74中にプレ保存していることを知らせる。
この後、サーバー70は、家72をレンダリングし、そのレンダリング結果を2Dビデオストリーミングフレーム73aにレンダリングし、このフレーム73aと人71aの解釈データを、ユーザーデバイス74に伝送し、ユーザーデバイス74は続いて解釈データを自動的に利用し人をレンダリングし、さらに人のレンダリング結果とフレーム73a(家を含む)を結合し、相同のアウトプット結果を得る。このプロセス(例えば、サーバーは一回に一個の方式で3Dモデルをユーザーデバイス74に伝送する)は、すべてのユーザーエンドが表示を要する3Dモデルが伝送され、及びユーザーデバイス74中にプレ保存されるまで、何度も繰り返される。
図4Cに示すとおり、ユーザーデバイス74がすべての3Dモデル(人と家の3Dモデルを含む)を擁すると、サーバーのこれ以上のレンダリング操作は不要で、またビデオストリーミングフレームのこれ以上の伝送も不要である(パーツ75)。サーバーがユーザーデバイス74に伝送する必要があるのは、3Dモデルの解釈データ(人71a及び家72aを含む)だけである。ユーザーデバイスは自ら、すべての3Dモデルをレンダリングし、相同のアウトプット結果を得る。
図6A、6B及び6Cは、本発明方法において、音声を備えるビデオストリーミング及び3D音声をいかにして伝送するかを示す実施形態の模式図である。
図6Aに示すとおり、初期ユーザーデバイス74がサーバー70上で動作するアプリケーションプログラムにログインしても、一切の3D音声は、ユーザーデバイス中にプレ保存されていない。よって、サーバーは、すべての3D音声(音声81及びその後の音声82を含む)をレンダリングする。
すべての3D音声は、ユーザーデバイスのスピーカー上に現れ、サーバーは、レンダリング結果を、音声を備えるビデオストリーミングフレーム83にエンコードする。続いて、この音声を備えるビデオストリーミングフレーム83を、ユーザーデバイス74に伝送する。この段階において、音声を備えるビデオストリーミングフレーム83は、音声81及び音声82を含む。ユーザーデバイス74は、この音声を備えるビデオストリーミングフレーム83だけをアウトプットし、他の音声をレンダリング(再生)する必要はない。
続いて、図6Bに示すとおり、サーバー70は、ユーザーデバイススクリーンに最も近い3Dプロジェクション面の3D音声から開始し、3D音声の、ユーザーデバイスへの伝送を開始する。本実施形態中では、音声82と比較し、音声81は3Dプロジェクション面(或いは使用者の目)に近い。よって、音声81の3D音声は、先にユーザーデバイス74に伝送され、音声81の3D音声が伝送され、ユーザーデバイス74上に保存された後、ユーザーデバイス74はメッセージをサーバー70に伝送し、音声81がユーザーデバイス74中にプレ保存されると知らせる。
この後、サーバー70は音声82をレンダリングし、そのレンダリング結果を音声を備える2Dビデオストリーミングフレーム83aにエンコードし、このフレーム83a及び音声81の解釈データを、ユーザーデバイス74に伝送する。ユーザーデバイス74は続いて解釈データを自動的に利用し、音声をレンダリング(再生)し、さらに音声のレンダリング結果とフレーム83a(音声を含む)とを結び付け、相同のアウトプット結果を得る。このプロセス(例えば、サーバーは一回に一個の方式で3D音声をユーザーデバイス74に伝送する)は、ユーザーデバイスのスピーカー上に再生される必要があるすべての3D音声が伝送され、及びユーザーデバイス74中にプレ保存されるまで、何度も繰り返される。
図6Cに示すとおり、ユーザーデバイス74がすべての3D音声(音声81と音声82の3D音声を含む)を擁すると、サーバーのこれ以上のレンダリング操作は不要で、つまりビデオストリーミングフレーム(パーツ85)は画像だけを含み、音声を含まない。 サーバーは、3D音声81の解釈データ(音声を含む81a及び音声82a)をユーザーデバイス74に伝送する必要だけがある。ユーザーは続いて、すべての3D音声を自らレンダリング(再生)し、相同のアウトプット結果を得る。
図5A、5B及び5Cは、本発明方法において、どの3Dモデルがフレームにエンコードされるべきかをいかにして決定するかを示す実施形態の模式図である。
本発明において、サーバーは、レンダリングされるべきすべての3Dモデルを所定の順序で配列する。この所定の順序は、バーチャル位置(ユーザーデバイススクリーンの3Dプロジェクション面52、或いは使用者の目51)に対して、近くから遠くへの順序である。図5Aに示すとおり、4個のオブジェクトA、B、C及びDを、ユーザーデバイスのスクリーン上に表示する必要があり、中でも、オブジェクトAはプロジェクション面52に最も近く、次はオブジェクトB、オブジェクトC及びオブジェクトDである。
初期ユーザーデバイスがサーバー上で動作するアプリケーションプログラムにログインしても、一切の3D音声は、ユーザーデバイス中にプレ保存されていない。よって、サーバーはすべてのオブジェクトA、オブジェクトB、オブジェクトC及びオブジェクトDをレンダリングし、レンダリング結果を、ビデオストリーミングフレームにエンコードし、このフレームを、ユーザーデバイスに伝送する。同時に、サーバーは、一つ一つ所定の順序に基づき、オブジェクトA、オブジェクトB、オブジェクトC及びオブジェクトD等の3Dモデルの伝送を開始し、オブジェクトAの3Dモデルが先に伝送される。
ユーザーデバイス上に表示されるすべての3Dモデルの伝送が完了するまで、次にオブジェクトB、オブジェクトC及びオブジェクトDを伝送する。
図5Bに示すとおり、オブジェクトA及びBの3Dモデルがユーザーデバイス中にプレ保存された後、サーバーが、前提に基づき、近くから遠くへの所定順序で、3Dモデルの状態をチェックする時、サーバーは、オブジェクトCは一個目のユーザーデバイス中にプレ保存されていないオブジェクトだと発見する。よって、サーバーは、オブジェクトC、及びオブジェクトC後に位置するすべて他のオブジェクト(オブジェクトDなど)を、オブジェクトDの3Dモデルがユーザーデバイス中にプレ保存されているか否かに関わらず、レンダリングする。この時、サーバーはオブジェクトA及びBの3Dモデルに対してレンダリングを行わないため、この時オブジェクトA及びBは既にユーザーデバイス中にプレ保存され、またオブジェクトCの前にある。
図5Cに示すとおり、新しいオブジェクトEが、アプリケーションプログラムが創造するバーチャル3D環境中に表示されると、このオブジェクトユーザーデバイス中にプレ保存されているか否かに関わらず、オブジェクトE及びその後のすべてオブジェクトはどれもサーバーにレンダリングされる。
例えば、図5Cに示すとおり、オブジェクトB、オブジェクトC及びオブジェクトDと比較し、新しいオブジェクトEは、3Dプロジェクション面52に比較的近い。オブジェクトBの3Dモデルは既にユーザーデバイス中にプレ保存されているが、オブジェクトBは、新しいオブジェクトEの後に位置するため、サーバーは、たとえオブジェクトBのわずかな部分が、その前面の他のオブジェクトに覆われていたとしても、すべてのオブジェクトE、C、B及びDに対して、レンダリングを行う。
図7A、7B及び7Cは、本発明方法において、どの3D音声が音声を備えるビデオストリーミングフレームにエンコードされるべきかをいかにして決定するかを示す一実施形態の模式図である。
本発明において、サーバーは、レンダリングが必要なすべての3D音声を所定の順序で配列する。この所定の順序は、バーチャル位置(ユーザーデバイススクリーンの3Dプロジェクション面52、或いは使用者の目51)に対して、近くから遠くへの順序である。図7Aに示すとおり、4個の3D音声A、B、C及びDは、ユーザーデバイスのスピーカー上で再生される必要がある。その内、音声Aはプロジェクション面52に最も近く、次は音声B、音声C及び音声Dである。初期ユーザーデバイスがサーバー上で動作するアプリケーションプログラムにログインしても、一切の3D音声は、ユーザーデバイス中にプレ保存されていない。
よって、サーバーは、すべての音声A、音声B、音声C及び音声Dをレンダリングし、レンダリング結果を、音声を備えるビデオストリーミングフレームにエンコードし、このフレームを、ユーザーデバイスに伝送する。同時に、サーバーは、すべての3D音声がユーザーデバイスに保存されるまで、所定の順序に基づき、音声Aの3D音声を先に伝送し、次に順番に音声B、音声C及び音声Dを伝送し、音声A、音声B、音声C及び音声Dのデータを一つ一つ伝送する。
図7Bに示すとおり、音声A及びBの3D音声がユーザーデバイス中にプレ保存されると、サーバーは、前提に基づき、近くから遠くへの所定順序で、3D音声の状態をチェックし、サーバーは音声Cが一個目のユーザーデバイス中にプレ保存されていない音声であることを発見する。よって、サーバーは、音声C及び音声C後に位置するすべて他の音声(音声Dなど)をレンダリングし、この段階において、音声A及びBは既にユーザーデバイス中にプレ保存されているので、サーバーは、音声A及びBの3D音声に対してはレンダリングを行わない。
図7Cに示すとおり、新しい音声Eがアプリケーションプログラムが作り出すバーチャル3D環境中に出現すると、音声Eは、サーバーにレンダリングされるが、このレンダリングは、他の音声のレンダリングに影響しない。これは、図5C中に示す3Dモデルとは異なり、図7Cに示すとおり、音声B、音声C及び音声Dと比較すると、新しい音声Eは、3Dプロジェクション面52に近く、図5C中の3Dモデルとは異なり、ユーザーデバイス中にプレ保存される音声(音声A及びBなど)は、ユーザーデバイスによりレンダリングされるが、ユーザーデバイスにプレ保存される音声(音声E、C及びDなど)ではなく、サーバーがレンダリングする。
本発明の上述した技術は、バーチャルリアリティー(VR)シーンシステムへも応用可能であり、サーバーが執行するVRシーンアプリケーションプログラムが産生した3Dモデル及びVRビデオストリーミングをネットワークを通してユーザーデバイスへ伝送するが、以下、これについて詳細に述べる。
人間に視覚的に疑似体験させるために、バーチャルなVRシーンには、左目用の画像と、右目用の画像とが含まれなければならない。図8は、本発明の第1実施形態によるバーチャルリアリティー(VR)シーンシステムのシステムアーキテクチャを示す模式図である。
本発明において、シーンサーバー1120は、複数の3Dモデルを含むバーチャルVR3D環境を産生させるために、VRシーンアプリケーションプログラム1100(この後、“VRアプリケーションプログラム又はアプリケーションプログラムと略称する)を有するサーバー1上で執行するサーバープログラムである。VRシーンアプリケーションプログラム1100もサーバー1上で執行され、一般にVRゲームである。
VRシーンサーバー1120は、サーバー1上でアプリケーションプログラム1100と共同で執行されるサーバープログラムであり、サーバー1のVRシーントランスミッター1110と、ユーザーデバイス21,22,23のVRシーンユーザーエンド1170との間のメッセージ伝達のハブとして用いる。VRシーンサーバー1120は、サーバー1から必要な3Dモデルをダウンロードするユーザーデバイス21,22,23のVRシーンユーザーエンド1170のファイルダウンロードサーバーとしても同時に用いる。VRシーントランスミッター1110は、VRシーンアプリケーションプログラム1100がコンパイルされる時期にこれと静的にリンクされるか、VRシーンアプリケーションプログラム1100の執行期間にこれと動的にリンクされるライブラリー(Library)である。VRシーンユーザーエンド(プログラム)1170は、ユーザーデバイス21,22,23上で執行するプログラムであり、ユーザーデバイス内で産生してVRシーンアプリケーションプログラム1100により生成される3D画像レンダリング結果を産生してアウトプットする。
この実施形態では、各ユーザーデバイス21,22,23にとって、それはそれぞれ独立したVRシーンアプリケーションプログラム1100及びVRシーントランスミッター1110に対応する。VRシーントランスミッター1110は、リストを保有し、全3Dモデルと、各3Dモデルがユーザーデバイスにすでに保存した状態であるか否かであることとを印刷し、この状態は、各3Dモデルがユーザーデバイス中の状態が(1)“Not Ready(準備中)”、(2)“Loading(ダウンロード中)”及び(3)“Ready for Client(ユーザーはダウンロード済み)”の内の何れか一つである。
サーバー1は、どの3Dモデルを2Dビデオストリームの左目フレームにし、どの3Dモデルを2Dビデオストリームの右目フレームにするかを決定するために、これら3Dモデルの状態を検査する。本発明において、それら予め保存されていないユーザーデバイス21,22,23中の3Dモデルは、左目フレーム及び右目フレームにエンコードされる。この機能を達成するために、VRシーンアプリケーションプログラム1100のメインプログラムは、API呼出プログラムライブラリの方式(図8のルート1101)により、VRシーン情報をVRシーントランスミッター1110へ伝送する。このVRシーン情報は、名称、位置、速度、属性、ディレクション及び全ての別の3Dモデルがレンダリングするのに必要なデータを含む。VRシーントランスミッター1110がこのようなデータを受信した後、以下のプロセスを執行する。
ステップ(a):全ての3Dモデルにとって、左目フレーム中の全てのレンダリングしなければならない3Dモデルの順序方式は、バーチャル位置(例えば、3Dプロジェクション面又は使用者の左目)に対して、近くから遠くへと配列する。
ステップ(b):3Dモデルにとって、最近点(使用者の左目に最も近いもの)から“Ready for Client”状態を備えない1つ目の3Dモデル“M”を探す。言い換えると、1つ目の3Dモデル“M”の状態は“Not Ready”の状態である(この後、“Not Ready”状態はNR状態と略称する)。勿論、このような3Dモデルは存在しない(例えば、全て表示された3Dモデルは“Ready for Client”の状態と標示される)。
ステップ(c):3Dモデルにとって、サーバー1により3DモデルM及びその後の全ての3Dモデルをレンダリング、即ち、全てがM距離の左目より遠い3Dモデルである。(例えば、3DモデルMが無い場合、黒幕が表示される)レンダリング後の結果をエンコードし、2Dビデオストリームの左目フレーム(frame)として用い、使用者の左目で見るために提供される。
ステップ(d):右目フレームの上述のステップ(a)〜(c)を繰り返す。即ち、上述のステップ(a)〜(c)で述べる左目の操作を右目に替え、もう一つの2Dビデオストリームの他方のフレームの右目フレームが産生し、使用者の右目で見るために提供される。
ステップ(e):左目フレームのために[Info 1112−A]、[Info 1112−B]及び[Info 1112−C]の3つの情報をVRシーンサーバー1120へ伝送する(ルート1112)。右目フレームのために[Info 1113−A]、[Info 1113−B]及び[Info 1113−C]の3つの情報をVRシーンサーバー1120へ伝送する(ルート1113)。
ステップ(f):VRシーンサーバー1120中のデータパッカー121は、左右両目の情報[Info 1112−A]、[Info 1112−B]及び[Info 1112−C]、[Info 1113−A]、[Info 1113−B]及び[Info 1113−C]をパッケージングし、1つのデータパッケージをつくる。
ステップ(g):VRシーンサーバー1120は、ステップ(f)中で産生されたデータパッケージをユーザーデバイス21,22,23中のVRシーンユーザーエンド1170へ伝送する(ルート1122)。
[Info 1112−A]は、3DモデルM前の全ての3Dモデルの状態情報(又は解釈データ)である。このタイプモデルは存在しない可能性もあることに注意する必要がある。このタイプモデルは、“Ready for Client”状態を有し、これはこれらのモデルがユーザーデバイスにプリロードし、ユーザーデバイス21,22,23上面のVRシーンユーザーエンド(プログラム)1170は、自らこれらのモデルをレンダリングしたことを意味する。データ伝達帯域幅を減らすために、VRシーントランスミッター1110は、今回のレンダリングと前回のレンダリングとの差異の状態情報を伝送するだけでよく、全ての状態情報を伝送する必要はない。
[Info 1112−B]もしサーバーが3DモデルMを見つけ、しかもそのユーザーデバイスが予め保存した状態が“Not Ready”である時、サーバーは、そのユーザー状態を“Loading”に変え、3DモデルMのダウンロード指示を送信し、ユーザーデバイスに、この3DモデルMをダウンロードするよう要求する。もしユーザー状態が既に“Loading”なら、ダウンロード指示は既に送信されているので、一切の指示を送信してはならない。
[Info 1112−C]は、ステップ(c)中のエンコードした後の左目のビデオストリーミングフレーム、即ち左目フレームである。
[Info 1113−A]、[Info 1113−B]及び[Info 1113−C]は、基本的に[Info 1112−A]、[Info 1112−B]及び[Info 1112−C]と実質上等しく、[Info 1113−A]、[Info 1113−B]及び[Info 1113−C]は右目フレームに関する。
毎回のVRシーンアプリケーションプログラム1100のメインプログラムが新しいVRシーンデータをVRシーントランスミッター1110へ更新する際、ステップ(a)〜(g)を繰り返し、通常、VRシーンアプリケーションプログラム1100のメインプログラムは、毎回のレンダリングの周期中でこのようなデータを更新する。
VRシーンユーザーエンド1170が前述のデータを受信すると、後述のレンダリングプロセスを行う。
ステップ(i):[Info 1112−C and Info 1113−C]中のビデオフレーム(左目フレーム及び右目フレームの両者を含む)をデコードし、これら2つのフレームをフレーム結合器1171へ伝送する。
ステップ(ii):フレーム結合器1171は、これら2つのフレーム(左目フレーム1711及び右目フレーム1712の両者を含む)を合成したVRフレーム1713(図9を参照する)へ合成し、後続の3Dモデルレンダリングのバックグラウンドとして用いる。
ステップ(iii):ステップ(ii)でエンコードした後の合成したVRフレーム上で全ての[Info 1112−A and Info 1113−A]中の3Dモデルをレンダリングする。ネットワーク帯域幅占用を低下させるために、VRシーンユーザーエンド1170は、この[Info 1112−A and Info 1113−A]の情報をメモリに保存するため、次回のVRシーントランスミッター1110は、次回のレンダリングと今回のレンダリングとの間の[Info 1112−A and Info 1113−A]状態の差異を伝送するだけで良く、全ての状態情報を伝送する必要はない。
ステップ(iv):ステップ(iii)中のレンダリング結果をアウトプットし、VRシーンを含んだ出力ビデオストリーミング中のレンダリング後の混合VRフレーム、即ち、最終的に出力されたビデオストリーミング結果として用いる(ルート1176)。
この実施形態において、ユーザーデバイスは、眼鏡タイプ又はヘルメットタイプの電子機器であり、それは使用者の左目及び右目の前方にそれぞれ位置する2つの表示スクリーンを含む。左側のスクリーンは、使用者の左目が見る画像(フレーム)を表示し、右側のスクリーンは、使用者の右目が見る画像(フレーム)を表示する。出力ビデオストリーミング中の混合VRフレームは、以下で述べる方式でユーザーデバイスの2つのスクリーン上に再生、即ち、混合したVRフレーム中の各ラインの左半分の各画素が左目スクリーンに表示され、混合したVRフレーム中の各ラインの右半分の各画素が右目スクリーンに表示され、使用者に視覚的疑似体験(VR)させる。
[Info 1112−B]及び[Info 1113−B]の状態を提供する場合、3DモデルMがVRシーンユーザーエンド1170により準備しなければならないことを表し、このときVRシーンユーザーエンド1170は、以下のプロセスにより3DモデルMを処理する。
ステップ(I):VRシーンキャッシュ1190を探し(ルート1174)、VRシーンキャッシュ1190は、以前ユーザーデバイス21,22,23にダウンロードして保存した3Dモデルデータファイルを含む。
ステップ(II):VRシーンキャッシュ1190中にすでに3DモデルMがある場合、ステップ(V)を直接執行する。
ステップ(III):VRシーンキャッシュ1190中に3DモデルMが無い場合、VRシーンユーザーエンド1170は、VRシーンサーバー1120へダウンロード請求を送信する(ルート1172)。VRシーンサーバー1120は、3DモデルMのデータをVRシーンユーザーエンド1170へ返送する(ルート1124)。
ステップ(IV):3Dモデルが完全にダウンロードされた後、VRシーンユーザーエンド1170は、これをVRシーンキャッシュ1190に保存し(ルート1194)、これにより次回似たような請求があったときでもダウンロードする必要はない。
ステップ(V):VRシーンユーザーエンド1170は、VRシーンキャッシュ1190中から3DモデルMをロードする(ルート1192)。
ステップ(VI):ダウンロードが完了すると(又は予めダウンロードが完了している)、VRシーンユーザーエンド1170は3DモデルMをロードする。VRシーンユーザーエンド1170は、“3D model is ready on client(3Dモデルがユーザーデバイス上に既に存在する)”のメッセージをVRシーンサーバー1120へ送信し(ルート1115)、VRシーンサーバー1120は、このメッセージをVRシーントランスミッター1110へ転送する(ルート1114)。
ステップ(VII):VRシーントランスミッター1110がこのメッセージを受信すると、3DモデルMの状態が“Loading”から“Ready for Client”へ変わる。
ステップ(VIII):次回のレンダリングにおいて、VRシーントランスミッター1110は、3DモデルMがすでにユーザーデバイス中にプリロードされていることを知るため、VRシーンユーザーエンド1170が自らレンダリングすることを請求するため、サーバー1は、3DモデルMをレンダリングする必要はない。
最初、ユーザーデバイス21,22,23中には3Dモデルが全くないため、VRシーントランスミッター1110は、全ての3Dモデルをレンダリングし、その結果を、左目フレーム及び右目フレームを含む2Dビデオストリーミングへエンコードする。VRシーントランスミッター1110は、3Dモデルのダウンロード請求[Info 1112−B]及び[Info 1113−B]を、最接近の3Dプロジェクション面(又は使用者の左目又は右目)から処理を開始する。VRシーンユーザーエンド1170は、VRシーンサーバー1120から各3Dモデルをダウンロードするか、VRシーンキャッシュ1190から一つ々々ロードする。さらに多くの3DモデルがVRシーンユーザーエンド1170から得られるとき、VRシーントランスミッター1110は、VRシーンユーザーエンド1170を自動的に通知し、これらのモデル及び音声を自らレンダリングし、VRシーントランスミッター1110がレンダリングする3Dモデルの数を減らす。
このように、エンコードされた左目フレーム及び右目フレームを有する2Dビデオストリーミング中の3Dモデルは、最終的にVRシーンユーザーエンド1170上で全ての3Dモデルを得るまで徐々に少なくなる。その後、この段階では黒幕のみがサーバー1によりエンコードされ、言い換えると、サーバー1は、2Dビデオストリーミングからユーザーデバイス21,22,23へ伝送する必要無く、サーバー1とユーザーデバイス21,22,23間のネットワーク帯域幅の占用も大幅に低下される。
新しい3DモデルNがVRシーンに現れると、VRシーントランスミッター1110は、(1)VRシーンユーザーエンド1170を通知し、この新しい3DモデルNの前に位置する全ての3Dモデルをレンダリングする(使用者の左目又は右目に対し)。
(2)この新しい3DモデルNをダウンロードするようにVRシーンユーザーエンド1170に通知する。
(3)VRシーントランスミッター1110は、この新しい3DモデルNと、その後ろの全てのモデルとをレンダリングし、その結果は、左目フレーム及び右目フレームを含む2Dビデオストリーミングにエンコードされる。その後、左目フレーム及び右目フレームを含む2DビデオストリーミングをVRシーンユーザーエンド1170へ伝送する。そこで、VRシーンユーザーエンド1170が依然として3DモデルNでユーザーデバイス上で準備される前に、VRアプリケーションプログラム1100の3D画像レンダリング結果を再製し続ける。
図10は、本発明の第2実施形態によるバーチャルリアリティー(VR)シーンシステムのシステムアーキテクチャを示す模式図である。図10の第2実施形態の大部分の要素及び機能は、図8で開示した第1実施形態と実質上同じであるか類似するが、フレーム結合器1111がVRシーンユーザーエンド1170に位置しているのでなく、VRシーントランスミッター1110中に位置している点のみが異なり、そのため、図10の同じ又は類似した要素には、図8と共通の参照符号が付され、その説明は繰り返さない。
図10に示すように、VRアプリケーションプログラム1100のメインプログラムは、API呼出プログラムライブラリ方式により、VRシーン情報をVRシーントランスミッター1110へ伝送し、このVRシーン情報は、名称、位置、速度、属性、ディレクション及びその他3Dモデルレンダリングが必要とする全てのデータを含む。VRシーントランスミッター1110がこのタイプのデータを受け取ると、以下のプロセスを執行することができる。
ステップ(a):全ての3Dモデルにとって、左目フレーム中のレンダリングしなければならない3Dモデルは、バーチャル位置(例えば、3Dプロジェクション面又は使用者の左目)に基づいて近くから遠くへと配列される。
ステップ(b):3Dモデルにとって、最も近い点(使用者の左目に最も近い点)から“Ready for Client”状態を備えない一個目の3Dモデル“M”を探す。言い換えれば、一個目の3Dモデル“M”の状態は“Not Ready”状態(この後、“Not Ready”状態はNR状態と略称する)である。当然、このタイプの3Dモデルが存在しない可能性もある。
ステップ(c):サーバー1中の3Dモデル“M”及び後続の3Dモデルすべてをレンダリング(上述した3Dモデル“M”が存在しない場合、黒幕を直接産生する)した後、メモリ中に保存する。
ステップ(d):右目フレームにより上述したステップ(a)〜(c)を繰り返して説明する。つまり、ステップ(a)〜(c)で述べた左目の操作を右目に変え、これにより使用者の右目が見る右目フレームを産生する。
ステップ(e):フレーム結合器1111によりすでにレンダリングした左目フレーム及び右目フレームを2Dビデオストリーミング中の合成したVRフレームに合成する。
ステップ(e):左目フレーム及び右目フレームは、[Info 1112−A]、[Info 1112−B]及び[Info 1112−C]の3つの情報をVRシーンサーバー1120へ伝送する(ルート1112)。その後、VRシーンサーバー1120は、それをユーザーデバイス21,22,23中のVRシーンユーザーエンド1170へ伝送する(ルート1122)。
[Info 1112−A]は、3DモデルM前の全ての3Dモデルの状態情報(又は解釈データ)である。このタイプモデルは存在しない可能性もあることに注意する必要がある。このタイプモデルは、“Ready for Client”状態を有し、これはこれらのモデルがユーザーデバイスにプリロードし、ユーザーデバイス21,22,23上面のVRシーンユーザーエンド(プログラム)1170は、自らこれらのモデルをすでにレンダリングしたことを意味する。データ伝達帯域幅を減らすために、VRシーントランスミッター1110は、今回のレンダリングと前回のレンダリングとの差異の状態情報を伝送するだけでよく、全ての状態情報を伝送する必要はない。
[Info 1112−B]もしサーバーが3DモデルMを見つけ、しかもそのユーザーデバイスが予め保存した状態が“Not Ready”である時、サーバーは、そのユーザー状態を“Loading”に変え、3DモデルMのダウンロード指示を送信し、ユーザーデバイスに、この3DモデルMをダウンロードするよう要求する。もしユーザー状態が既に“Loading”なら、ダウンロード指示は既に送信されているので、一切の指示を送信してはならない。
[Info 1112−C]
ステップ(e)中ですでにレンダリングし、左目フレーム及び右目フレームを含むビデオビデオストリーミングフレーム中の合成したVRフレームである。
VRシーンユーザーエンド1170が前述の情報を受信した後、後述のレンダリングプロセスを行う。
ステップ(i):[Info 1112−C]中の合成したVRフレームをデコードし、後続の3Dモデルをレンダリングするときのバックグラウンドとして用いる。
ステップ(ii):合成したVRフレーム上で全ての[Info 1112−A]中の3Dモデルをレンダリングする。ネットワーク帯域幅占用を低下させるために、VRシーンユーザーエンド1170は、この[Info 1112−A]の情報をメモリに保存するため、次回のVRシーントランスミッター1110は、次回のレンダリングと今回のレンダリングとの間の[Info 1112−A]状態の差異を伝送するだけで良く、全ての状態情報を伝送する必要はない。
ステップ(iii):ステップ(ii)中のレンダリング結果をアウトプットし、VRシーンを含んだ出力ビデオストリーミング中のレンダリング後の混合VRフレーム、即ち、最終的にアウトプットされたビデオストリーミング結果として用いる(ルート1176)。
図11は、本発明の第3実施形態によるバーチャルリアリティー(VR)シーンシステムのシステムアーキテクチャを示す模式図である。図11の第3実施形態の大部分の要素及び機能は、図8で開示した第1実施形態と実質上同じであるか類似するが、第3実施形態はフレーム結合器を備えていない点のみが異なり、そのため、図11中と同じ又は類似した要素には、図8と共通の参照符号が付され、その説明は繰り返さない。
図11に示すように、VRシーンサーバー1120は、VRシーンアプリケーションプログラム1100を有するサーバー1上でサーバプログラムを執行し、複数の3Dモデルを含むバーチャルVr3D環境を産生する。VRシーンサーバー1120は、アプリケーションプログラム1100と共同でサーバー1上で執行するサーバープログラムで、サーバー1のVRシーントランスミッター1110とし、ユーザーデバイス21、22、23のVRシーンユーザーエンド1170間で、メッセージ伝達の中継点とする。
VRシーンサーバー1120は、同時にファイルダウンロードサーバーでもあり、ユーザーデバイス21、22、23のVRシーンユーザーエンド1170は、サーバー1から必要な3Dモデルをダウンロードする。VRシーントランスミッター1110はリストを保有し、すべての3Dモデルと、3Dモデルがユーザーデバイスに保存された状態であるか否かの状態とを列記する。この状態は、各3Dモデルのユーザーデバイス中の状態を(1)“Not Ready (準備中)”、(2)“Loading (ダウンロード中)”、及び(3)“Ready for Client(ユーザーはダウンロード済み)”の内の何れか一つで示している。
サーバー1は、どの3Dモデルを2Dビデオストリームの左目フレームにし、どの3Dモデルを2Dビデオストリームの右目フレームにエンコードするかを決定するために、これら3Dモデルの状態を検査する。本発明において、それら予め保存されていないユーザーデバイス21,22,23中の3Dモデルは、左目フレーム及び右目フレームにエンコードされる。この機能を達成するために、VRシーンアプリケーションプログラム1100のメインプログラムは、API呼出プログラムライブラリの方式(図11のルート1101)により、VRシーン情報をVRシーントランスミッター1110へ伝送する。このVRシーン情報は、名称、位置、速度、属性、ディレクション及び全ての別の3Dモデルがレンダリングするのに必要なデータを含む。VRシーントランスミッター1110がこのようなデータを受信した後、以下のプロセスを執行する。
ステップ(a):全ての3Dモデルにとって、左目フレーム中の全てのレンダリングしなければならない3Dモデルの順序方式は、バーチャル位置(例えば、3Dプロジェクション面又は使用者の左目)に対して、近くから遠くへと配列する。
ステップ(b):3Dモデルにとって、最近点(使用者の左目に最も近いもの)から“Ready for Client”状態を備えない1つ目の3Dモデル“M”を探す。言い換えると、1つ目の3Dモデル“M”の状態は“Not Ready”の状態である(この後、“Not Ready”状態はNR状態と略称する)。勿論、このような3Dモデルは存在しない可能性もある(例えば、全て表示された3Dモデルは“Ready for Client”と標示される)。
ステップ(c):3Dモデルにとって、サーバー1により3DモデルM及びその後の全ての3Dモデルをレンダリングする。即ち、全てがM距離の左目より遠い3Dモデルである。(例えば、3DモデルMが無い場合、黒幕が表示される)レンダリング後の結果をエンコードし、2Dビデオストリームの左目フレーム(frame)として用い、使用者の左目で見るために提供される。
ステップ(d):右目フレームの上述のステップ(a)〜(c)を繰り返す。即ち、上述のステップ(a)〜(c)で述べる左目の操作を右目に変え、もう一つの2Dビデオストリームの他方のフレームの右目フレームが産生し、使用者の右目で見るために提供される。
ステップ(e):左目フレームのために[Info 1112−A]、[Info 1112−B]及び[Info 1112−C]の3つの情報をVRシーンサーバー1120へ伝送する(ルート1112)。右目フレームのために[Info 1113−A]、[Info 1113−B]及び[Info 1113−C]の3つの情報をVRシーンサーバー1120へ伝送する(ルート1113)。
ステップ(f):VRシーンサーバー1120中のデータパッカー121は、左右両目の情報[Info 1112−A]、[Info 1112−B]、[Info 1112−C]、[Info 1113−A]、[Info 1113−B]及び[Info 1113−C]をパッケージングし、1つのデータパッケージをつくる。
ステップ(g):VRシーンサーバー1120は、ステップ(f)中で産生されたデータパッケージをユーザーデバイス21,22,23中のVRシーンユーザーエンド1170へ伝送する(ルート1122)。
[Info 1112−A]は、3DモデルM前の全ての3Dモデルの状態情報(又は解釈データ)である。このタイプモデルは存在しない可能性もあることに注意する必要がある。このタイプモデルは、“Ready for Client”状態を有し、これはこれらのモデルがユーザーデバイスにプリロードすることを意味し、ユーザーデバイス21,22,23上面のVRシーンユーザーエンド1170(プログラム)は、自らこれらのモデルをレンダリングした。データ伝達帯域幅を減らすために、VRシーントランスミッター1110は、今回のレンダリングと前回のレンダリングとの差異の状態情報を伝送するだけでよく、全ての状態情報を伝送する必要はない。
[Info 1112−B]は、サーバーが3DモデルMを探す場合、ユーザーデバイスが予め保存した状態が“Not Ready”であるとき、サーバーがユーザー状態を“Loading”に変え、3DモデルMのダウンロード指示を送信し、ユーザーデバイスにこの3DモデルMをダウンロードすることを指示する。ユーザー状態が“Loading”である場合、如何なる指示も送信する必要はなく、ダウンロード指示がすでに送り出されているからである。
[Info 1112−C]は、ステップ(c)中のエンコードした後の左目のビデオストリーミングフレーム、即ち左目フレームである。
[Info 1113−A]、[Info 1113−B]及び[Info 1113−C]は、基本的に[Info 1112−A]、[Info 1112−B]及び[Info 1112−C]と実質上等しく、[Info 1113−A]、[Info 1113−B]及び[Info 1113−C]は右目フレームに関する。
毎回のVRシーンアプリケーションプログラム1100のメインプログラムが新しいVRシーンデータをVRシーントランスミッター1110へ更新する際、ステップ(a)〜(g)を繰り返し、通常、VRシーンアプリケーションプログラム1100のメインプログラムは、毎回のレンダリングの周期中でこのタイプのデータを更新する。
VRシーンユーザーエンド1170が前述のデータを受信すると、後述のレンダリングプロセスを行う。
ステップ(i):[Info 1112−C and Info 1113−C]中のビデオフレーム(左目フレーム及び右目フレームの両者を含む)をデコードし、これら2つのフレームを異なるメモリ空間へ保存する。
ステップ(ii):デコードした後の左目フレーム及び右目フレーム上で、[Info 1112−A and Info 1113−A]中に含まれる全ての3Dモデルをレンダリングする(この3Dモデルが存在する場合)。ネットワーク帯域幅占用を低下させるために、VRシーンユーザーエンド1170は、この[Info 1112−A and Info 1113−A]の情報をメモリに保存する。そのため、次回のVRシーントランスミッター1110は、次回のレンダリングと今回のレンダリングとの間の[Info 1112−A and Info 1113−A]状態の差異を伝送するだけで良く、全ての状態情報を伝送する必要はない。
ステップ(iii):ステップ(ii)中のレンダリング結果をアウトプットし、VRシーンを含んだ出力ビデオストリーミング中のレンダリング後の混合左目フレーム及び混合右目フレーム、即ち、最終的に出力されたビデオストリーミング結果として用いる(ルート1176)。上述した混合左目フレーム及び混合右目フレームを混合し、前述したような混合VRフレームと称する。
この実施形態において、ユーザーデバイスは、眼鏡タイプ又はヘルメットタイプの電子機器であり、それは使用者の左目及び右目の前方にそれぞれ位置する2つの表示スクリーンを含む。左側のスクリーンは、使用者の左目が見る画像(フレーム)を表示し、右側のスクリーンは、使用者の右目が見る画像(フレーム)を表示する。出力ビデオストリーミング中の混合VRフレームは、以下で述べる方式でユーザーデバイスの2つのスクリーン上に再生、即ち、混合したVRフレーム中の各混合左目フレームが左目フレームに表示され、混合したVRフレーム中の各混合右目フレームが右目フレームに表示され、使用者に視覚的疑似体験(VR)させる。
他の実施形態において、ユーザーデバイスのスクリーン上にアウトプットされるビデオストリーミングは、同一のスクリーン上に混合左目フレーム及び混合右目フレームを交互に表示する。使用者が眼鏡タイプの電子機器を掛けると、スクリーン上に表示される混合左目フレーム及び混合右目フレームに対応し、左目ウィンドウ及び右目ウィンドウが交互にオン・オフされ、使用者は視覚的疑似体験(VR)することができる。
当該分野の技術を熟知するものが理解できるように、本発明の好適な実施形態を前述の通り開示したが、これらは決して本発明を限定するものではない。本発明の主旨と領域を逸脱しない範囲内で各種の変更や修正を加えることができる。従って、本発明の特許請求の範囲は、このような変更や修正を含めて広く解釈されるべきである。
1 サーバー
3 ネットワーク(アクセスポイント)
4 ネットワーク
21 ユーザーデバイス(スマートフォン)
22 ユーザーデバイス(ノート型コンピューター)
23 ユーザーデバイス(デスクトップコンピューター)
51 使用者の目
52 プロジェクション面
70 サーバー
71、71a 人
72、72a 家
73、73a フレーム
74 ユーザーデバイス
75 ビデオストリーミングフレーム
81、81a 音声
82、82a 音声
83、83a、1711、1712、1713 フレーム
85 ビデオストリーミングフレーム
100、1100 アプリケーションプログラム
110、1110 シーントランスミッター(プログラムライブラリー)
120、1120 シーンサーバー
121 データパッカー
170、1170 シーンユーザーエンド(プログラム)
1111、1171 フレーム結合器
190、1190 シーンキャッシュ
101〜114、122、124、172、174、176、192、1101、1112〜1115、1122、1124、1172、1176、1192、1194 ルート

Claims (15)

  1. ネットワークを通してメディアを伝送する方法において、該メディアは複数の画像を備え、以下のステップを含み、
    ステップ(A):サーバー上でバーチャルリアリティー(VR)アプリケーションプログラムを執行し、複数の3Dモデルを含むバーチャルVR3D環境を産生し、該各3Dモデルは、該3Dモデルを、ユーザーデバイス中にプレ保存するか否かの状態の指示に対応し、
    ステップ(B):該サーバーは、該各3Dモデルの前記状態をチェックし、どの3Dモデルを、2Dビデオストリーミングが含む左目フレーム及び右目フレームにエンコードするべきかを決定し、そのエンコード方式は、該ユーザーデバイス中にプレ保存されていない各3Dモデルを、該左目フレーム及び該右目フレーム中にエンコードし、
    ステップ(C):該サーバーは、該2Dビデオストリーミングフレームの左目フレーム及び右目フレームを、ネットワークを通して、該ユーザーデバイスに伝送し、該サーバーは、該ユーザーデバイス中にプレ保存されていない各3Dモデルを、所定の順序に基づき、該ユーザーデバイスに伝送し、該ユーザーデバイスが、該サーバーから送られて来た各3Dモデルを受け取ると、該ユーザーデバイスは、該各3Dモデルを保存し、メッセージを該サーバーに発信し、該各3Dモデルの状態を改変させ、該各3Dモデルを現在、該ユーザーデバイス中にプレ保存するよう指示し、
    ステップ(D):該ユーザーデバイスは、該サーバーからの左目フレーム及び右目フレームを受け取りデコードし、該左目フレーム及び右目フレームを利用し、該各ユーザーデバイス中にプレ保存されるが、該左目フレーム及び右目フレーム中に含まれない3Dモデルのバックグラウンドをレンダリングし、これによりアウトプットされるビデオストリーミングの混合VRフレームを産生することを特徴とするネットワークを通してメディアを伝送する方法。
  2. 前記ステップ(B)において、該各3Dモデルの状態は、該サーバーにより、該バーチャル位置に最も近い点から、該バーチャル位置から最も遠いもう一つの点への順序で、チェックされ、
    チェック中に、該ユーザーデバイス中にプレ保存されていない一個目の3Dモデルを発見すると、その後の各3Dモデルが、該ユーザーデバイス中にプレ保存されるか否かに関わらず、該発見された3Dモデルを含むすべての他の3Dモデルを、該左目フレーム及び右目フレーム中にエンコードすることを特徴とする請求項1に記載のネットワークを通してメディアを伝送する方法。
  3. 前記新しい3Dモデルが前記3D環境中に出現すると、その後の各3Dモデルが、該ユーザーデバイス中にプレ保存されるか否かに関わらず、該新しい3Dモデルを含むその後のすべての3Dモデルを、該左目フレーム及び右目フレーム中にエンコードすることを特徴とする請求項2に記載のネットワークを通してメディアを伝送する方法。
  4. 該バーチャル位置は、3Dプロジェクション面であり、かつ、ステップ(D)において、該ユーザーデバイスは、該サーバーからの該左目フレーム及び右目フレームを受け取りデコードし、該左目フレーム及び右目フレームフレームを合成したVRフレームに合成し、その後、合成したVRフレームがバックグラウンド画面として該ユーザーデバイス中にプレ保存されているが、該左目フレーム及び右目フレーム中に含まれない3Dモデルをレンダリングし、これによりVRシーンを含む出力ビデオストリーミングの混合VRフレームを産生することを特徴とする請求項2に記載のネットワークを通してメディアを伝送する方法。
  5. 前記ステップ(C)において、該サーバーが、該ユーザーデバイス中にプレ保存されていない該各3Dモデルを、該ユーザーデバイスに伝送する所定順序は、該バーチャル位置に最も近い一点から、該バーチャル位置から最も遠いもう一つの点への順序で、
    該ステップ(C)において、該サーバーは、該左目フレーム及び右目フレーム中にエンコードされていない3Dモデルの状態情報を、該ユーザーデバイス中に伝送し、該ユーザーデバイスが、該状態情報を受け取り及びチェックする時には、以下の方式に基づき行い、
    受け取った該状態情報中の任意の3Dモデルが、該デバイス中にプレ保存されていないなら、該ユーザーデバイスは、該サーバーに、該3Dモデルをダウンロードするように請求を送信し、該状態情報は、該2Dビデオストリーミングの該左目フレーム及び右目フレーム中にエンコードされていない該3Dモデルの解釈データを含み、該各3Dモデルの該解釈データは、該3Dモデルの名称、位置、速度、ディレクション、及び属性を含むことを特徴とする請求項1に記載のネットワークを通してメディアを伝送する方法。
  6. ネットワークを通してメディアを伝送するシステムは、サーバー及びユーザーデバイスを備え、
    該サーバーは、バーチャルリアリティー(VR)アプリケーションプログラムを執行し、複数の3Dモデルを含むバーチャルVR3D環境を産生し、該各3Dモデルは、該3Dモデルを、ユーザーデバイス中にプレ保存するか否かを指示する状態に対応し、
    該ユーザーデバイスは、ネットワークを通して該サーバーに連結し、該VRアプリケーションプログラムにより産生する少なくともいくらかの該3Dモデルを含む該メディアを取得し、
    該メディアは、複数の画像を含み、該複数の画像の伝送方式は、以下を含み、
    ステップ(B):該サーバーは、該各3Dモデルの前記状態をチェックし、どの3Dモデルを、2Dビデオストリーミングの左目フレーム及び右目フレームにエンコードするべきかを決定し、そのエンコード方式は、該ユーザーデバイス中にプレ保存されていない各3Dモデルを、該左目フレーム及び右目フレーム中にエンコードし、
    ステップ(C):該サーバーは、該2Dビデオストリーミングの該左目フレーム及び右目フレームを、ネットワークを通して、該ユーザーデバイスに伝送し、該サーバーは、該ユーザーデバイス中にプレ保存されていない各3Dモデルを、所定の順序に基づき、該ユーザーデバイスに伝送し、該ユーザーデバイスが、該サーバーから送られて来た各3Dモデルを受け取ると、該ユーザーデバイスは、該各3Dモデルを保存し、メッセージを該サーバーに発信し、該各3Dモデルの状態を改変させ、該各3Dモデルを現在、該ユーザーデバイス中にプレ保存するよう指示し、
    ステップ(D):該ユーザーデバイスは、該サーバーからの該左目フレーム及び右目フレームを受け取りデコードし、該左目フレーム及び右目フレームフレームを合成したVRフレームに合成し、その後、該各ユーザーデバイス中にプレ保存されるが、該合成したVRフレーム中に含まれないバックグラウンド画面をレンダリングし、これによりVRシーンを含むアウトプットされる混合VRフレームを産生し、
    ステップ(E):該ユーザーデバイスは、該VRシーンを含む該アウトプットされるビデオストリーミングの該混合VRフレームをアウトプットすることを特徴とするネットワークを通してメディアを伝送するシステム。
  7. 該ステップ(B)において、該各3D音声の状態は、該サーバーにより、該バーチャル位置に最も近い点から、該バーチャル位置から最も遠いもう一つの点への順序で、チェックされ、チェック中に、該ユーザーデバイス中にプレ保存されていない一個目の3Dモデルを発見すると、その後の各3Dモデルが、該ユーザーデバイス中にプレ保存されるか否かに関わらず、該発見された3Dモデルを含むすべての他の3Dモデルを、該左目フレーム及び右目フレーム中にエンコードすることを特徴とする請求項6に記載のネットワークを通してメディアを伝送するシステム。
  8. 新しい3Dモデルが該VR3D環境中に出現すると、その後の各3Dモデルが、該ユーザーデバイス中にプレ保存されるか否かに関わらず、該新しい3Dモデルを含む他のすべての3Dモデルを、該左目フレーム及び右目フレーム中にエンコードすることを特徴とする請求項7に記載のネットワークを通してメディアを伝送するシステム。
  9. 前記ステップ(C)において、該サーバーが、該ユーザーデバイス中にプレ保存されていない該各3Dモデルを、該ユーザーデバイスに伝送する所定順序は、該バーチャル位置に最も近い一点から、該バーチャル位置から最も遠いもう一つの点への順序で、
    該ステップ(C)において、該サーバーはまた、該左目フレーム及び右目フレーム中にエンコードされていない3Dモデルの状態情報を、該ユーザーデバイス中に伝送し、該ユーザーデバイスが、該状態情報を受け取り及びチェックする時には、以下の方式に基づき行い、受け取った該状態情報中の任意の3Dモデルが、該デバイス中にプレ保存されていないなら、該ユーザーデバイスは該サーバーに、該3Dモデルをダウンロードするよう請求を送信し、該状態情報は、該左目フレーム及び右目フレーム中にエンコードされていない該3Dモデルの解釈データを含み、該各3Dモデルの該解釈データは、該3Dモデルの名称、位置、速度、ディレクション、及び属性を含むことを特徴とする請求項6に記載のネットワークを通してメディアを伝送するシステム。
  10. 前記サーバーは、VRシーントランスミッター及びVRシーンサーバーをさらに備え、
    該VRシーントランスミッターは、該VRアプリケーションプログラム中、或いは執行時間中において、該VRアプリケーションプログラム上にプログラム執行時で動態的に連結されるプログラムライブラリーをコンパイルし、該VRシーントランスミッターは、すべての3Dモデル及び各3Dモデルの状態を含むリストを保有し、該状態は、該3Dモデルの状態を“Not Ready (準備中)”、“Loading (ダウンロード中)”及び“Ready for Client(ユーザーはダウンロード済み)”の内の何れか一つで示しており、
    該VRシーンサーバーは、VRアプリケーションプログラムにより、サーバー上で執行されるサーバープログラムで、該VRシーンサーバーは、該VRシーントランスミッターと該ユーザーデバイスとの間のメッセージ伝達の中継点となり、該VRシーンサーバーはまた、該ユーザーデバイスが、該サーバーより、必要な3Dモデルをダウンロードするダウンロードサーバープログラムともなることを特徴とする請求項6に記載のネットワークを通してメディアを伝送するシステム。
  11. 前記ユーザーデバイスは、VRシーンユーザーエンド、フレーム結合器及びVRシーンキャッシュをさらに備え、
    該VRシーンユーザーエンドは、該ユーザーデバイス上で動作するプログラムで、該アウトプットビデオストリーミングを産生し、ネットワークを通して該サーバーと通じ、
    該フレーム結合器は、該左目フレーム及び右目フレームを、合成したVRフレームに合成し、
    該VRシーンキャッシュは、前以て該サーバーからダウンロードした少なくとも一個の該3Dモデルを保存することを特徴とする請求項10に記載のネットワークを通してメディアを伝送するシステム。
  12. ネットワークを通してメディアを伝送する方法において、該メディアは、複数の画像を含み、
    該方法は、以下のステップを含み、
    ステップ(A):サーバー上でバーチャルリアリティー(VR)アプリケーションプログラムを執行し、複数の3Dモデルを含むバーチャルVR3D環境を産生し、該各3Dモデルは、該3Dモデルを、ユーザーデバイス中にプレ保存するか否かを指示する状態に対応し、
    ステップ(B):該サーバーは、該各3Dモデルの前記状態をチェックし、どの3Dモデルを、2Dビデオストリーミングの左目フレーム及び右目フレームにエンコードする必要があるかを決定し、そのエンコード方式は、該ユーザーデバイス中にプレ保存されない該各3Dモデルを、該2Dビデオストリーミングの該左目フレーム及び右目フレーム中にエンコードし、その後、該サーバは、該左目フレーム及び右目フレームを、該2Dビデオストリーミングの合成したVRフレームに合成し、
    ステップ(C):該サーバーは、該2Dビデオストリーミングの該合成したVRフレームを、ネットワークを通して、該ユーザーデバイスに伝送し、該サーバーは、該ユーザーデバイス中にプレ保存されていない該各3Dモデルを、所定の順序に基づき、該ユーザーデバイスに伝送し、該ユーザーデバイスが、該サーバーから送られて来た該各3Dモデルを受け取ると、該ユーザーデバイスは、該各3Dモデルを保存し、メッセージを該サーバーに発信し、該各3Dモデルの状態を改変し、該各3Dモデルを現在該ユーザーデバイス中にプレ保存するよう指示し、
    ステップ(D):該ユーザーデバイスは、該サーバーから受け取った該2Dビデオストリーミングの該合成したVRフレームをデコードし、該合成したVRフレームを利用し、該各ユーザーデバイス中にプレ保存されるが、該合成したVRフレーム中に含まれない3Dモデルのバックグラウンド画面をレンダリングし、これによりVRシーンのアウトプットビデオストリーミングを含む混合VRフレームを産生することを特徴とするネットワークを通してメディアを伝送する方法。
  13. 該ステップ(B)において、該各3Dモデルの状態は、該サーバーにより、バーチャル位置に最も近い一点から、該バーチャル位置から最も遠いもう一つの点への順序で、チェックされ、チェック中に、該ユーザーデバイス中にプレ保存されていない一個目の3Dモデルを発見すると、その後の各3Dモデルが、該ユーザーデバイス中にプレ保存されるか否かに関わらず、該発見された3Dモデルの他のすべての3Dモデルを、該2Dビデオストリーミングの該左目フレーム及び右目フレーム中にエンコードし、
    該ステップ(C)において、該サーバーはまた、該各ユーザーデバイス中にプレ保存されていない3Dモデルを、該バーチャル位置に最も近い一点から、該バーチャル位置から最も遠いもう一つの点への所定順序で、該ユーザーデバイス中に伝送し、該ユーザーデバイスが該サーバーから送られて来た該各3Dモデルを受け取ると、該ユーザーデバイスは、該各3Dモデルを保存し、メッセージを該サーバーに発信し、該各3Dモデルの状態を改変し、該各3Dモデルを現在該ユーザーデバイス中にプレ保存するよう指示することを特徴とする請求項12に記載のネットワークを通してメディアを伝送する方法。
  14. 前記新しい3Dモデルが該VR3D環境中に出現すると、その後の該各3Dモデルが該ユーザーデバイス中にプレ保存されているか否かに関わらず、該新しい3Dモデルの後を含むすべての3Dモデルを、該左目フレーム及び右目フレーム中にエンコードし、該バーチャル位置は、3Dプロジェクション面であることを特徴とする請求項13に記載のネットワークを通してメディアを伝送する方法。
  15. 前記ステップ(C)において、該サーバーは、該左目フレーム及び右目フレーム中にエンコードされていない3Dモデルの状態情報を、該ユーザーデバイス中に伝送し、該ユーザーデバイスが、該状態情報を受け取り及びチェックする時には、以下の方式に基づき行い、受け取った該状態情報中の任意の3Dモデルが、該デバイス中にプレ保存されていないなら、該ユーザーデバイスは、該サーバーに、該3Dモデルをダウンロードするように請求を送信し、該状態情報は、該2Dビデオストリーミングの該左目フレーム及び右目フレーム中にエンコードされていない該3Dモデルの解釈データを含み、該解釈データは、該3Dモデルの名称、位置、速度、ディレクション、及び属性を含むことを特徴とする請求項12に記載のネットワークを通してメディアを伝送する方法。
JP2016121237A 2015-12-21 2016-06-17 ネットワークを通してメディアを伝送するシステム及び方法 Active JP6306089B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/976,239 US9370718B2 (en) 2014-01-02 2015-12-21 System and method for delivering media over network
US14/976,239 2015-12-21

Publications (2)

Publication Number Publication Date
JP2017117431A true JP2017117431A (ja) 2017-06-29
JP6306089B2 JP6306089B2 (ja) 2018-04-04

Family

ID=59191073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016121237A Active JP6306089B2 (ja) 2015-12-21 2016-06-17 ネットワークを通してメディアを伝送するシステム及び方法

Country Status (3)

Country Link
JP (1) JP6306089B2 (ja)
CN (1) CN106899860B (ja)
TW (1) TWI637772B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728743A (zh) * 2019-10-11 2020-01-24 长春理工大学 结合云端全局光照渲染的vr三维场景立体画面生成方法
CN111757083A (zh) * 2020-06-24 2020-10-09 南京东禾智汇信息技术有限公司 一种基于三维可视化的自动化控制数据通信方式

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108271042B (zh) * 2018-02-09 2020-04-24 大连天途有线电视网络股份有限公司 一种基于有线电视网络的视频数据传输方法、云vr系统实现方法以及云vr系统
CN111064981B (zh) * 2018-10-16 2021-07-16 北京凌宇智控科技有限公司 一种视频串流的系统及方法
US11500455B2 (en) 2018-10-16 2022-11-15 Nolo Co., Ltd. Video streaming system, video streaming method and apparatus

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377257B1 (en) * 1999-10-04 2002-04-23 International Business Machines Corporation Methods and apparatus for delivering 3D graphics in a networked environment
US6384821B1 (en) * 1999-10-04 2002-05-07 International Business Machines Corporation Method and apparatus for delivering 3D graphics in a networked environment using transparent video
US20040207662A1 (en) * 2003-04-16 2004-10-21 Anderson Daryl E. User interface, method and apparatus for providing three-dimensional object fabrication status
US20070146372A1 (en) * 2005-12-09 2007-06-28 Digital Steamworks, Llc System, method and computer program product for creating two dimensional (2D) or three dimensional (3D) computer animation from video
JP2011138354A (ja) * 2009-12-28 2011-07-14 Sony Corp 情報処理装置および情報処理方法
JP2012186746A (ja) * 2011-03-08 2012-09-27 Sony Corp 映像送信装置、映像送信装置の制御方法、映像受信装置および映像受信装置の制御方法
JP2013254501A (ja) * 2008-01-17 2013-12-19 Vivox Inc アバタ別にレンダリングされる環境を用いる仮想現実システムにおいてリアルタイムのアバタ別のストリーミングデータを提供するスケーラブルな技法
JP2015130164A (ja) * 2014-01-02 2015-07-16 ユービッタズ アイエンシーUbitus Inc. ネットワークを通してメディアを伝送するシステム及び方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016856A1 (en) * 2010-07-15 2012-01-19 Google Inc Content extractor
US9282321B2 (en) * 2011-02-17 2016-03-08 Legend3D, Inc. 3D model multi-reviewer system
US9286711B2 (en) * 2011-09-30 2016-03-15 Microsoft Technology Licensing, Llc Representing a location at a previous time period using an augmented reality display
CN103888714B (zh) * 2014-03-21 2017-04-26 国家电网公司 一种基于虚拟现实的3d场景网络视频会议系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377257B1 (en) * 1999-10-04 2002-04-23 International Business Machines Corporation Methods and apparatus for delivering 3D graphics in a networked environment
US6384821B1 (en) * 1999-10-04 2002-05-07 International Business Machines Corporation Method and apparatus for delivering 3D graphics in a networked environment using transparent video
US20040207662A1 (en) * 2003-04-16 2004-10-21 Anderson Daryl E. User interface, method and apparatus for providing three-dimensional object fabrication status
US20070146372A1 (en) * 2005-12-09 2007-06-28 Digital Steamworks, Llc System, method and computer program product for creating two dimensional (2D) or three dimensional (3D) computer animation from video
JP2013254501A (ja) * 2008-01-17 2013-12-19 Vivox Inc アバタ別にレンダリングされる環境を用いる仮想現実システムにおいてリアルタイムのアバタ別のストリーミングデータを提供するスケーラブルな技法
JP2011138354A (ja) * 2009-12-28 2011-07-14 Sony Corp 情報処理装置および情報処理方法
JP2012186746A (ja) * 2011-03-08 2012-09-27 Sony Corp 映像送信装置、映像送信装置の制御方法、映像受信装置および映像受信装置の制御方法
JP2015130164A (ja) * 2014-01-02 2015-07-16 ユービッタズ アイエンシーUbitus Inc. ネットワークを通してメディアを伝送するシステム及び方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
四倉達夫, 外4名: ""仮想人物によるサイバースペース上でのコミュニケーションシステムの構築"", 電子情報通信学会技術研究報告, vol. 第98巻, 第683号, JPN6015048564, 23 March 1999 (1999-03-23), JP, pages 39 - 46, ISSN: 0003622945 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728743A (zh) * 2019-10-11 2020-01-24 长春理工大学 结合云端全局光照渲染的vr三维场景立体画面生成方法
CN110728743B (zh) * 2019-10-11 2022-09-06 长春理工大学 结合云端全局光照渲染的vr三维场景立体画面生成方法
CN111757083A (zh) * 2020-06-24 2020-10-09 南京东禾智汇信息技术有限公司 一种基于三维可视化的自动化控制数据通信方式

Also Published As

Publication number Publication date
TWI637772B (zh) 2018-10-11
TW201722520A (zh) 2017-07-01
CN106899860A (zh) 2017-06-27
CN106899860B (zh) 2019-10-11
JP6306089B2 (ja) 2018-04-04

Similar Documents

Publication Publication Date Title
US9370718B2 (en) System and method for delivering media over network
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
JP5913554B2 (ja) ネットワークを通してメディアを伝送するシステム及び方法
JP6306089B2 (ja) ネットワークを通してメディアを伝送するシステム及び方法
JP2020151494A (ja) クライアント側のアセット統合を用いたクラウドゲームストリーミング
KR101536501B1 (ko) 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
US9233308B2 (en) System and method for delivering media over network
KR102441514B1 (ko) 하이브리드 스트리밍
EP3975126A1 (en) Method and system for cloud-native 3d-scene game
JP2016513826A (ja) 情報処理装置、描画装置、方法及びプログラム
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
EP3496044A1 (en) Image display device and image display system
CN112673651B (zh) 多视点多用户音频用户体验
JP2020102782A (ja) コンテンツ配信システム、配信装置、受信装置及びプログラム
JP2016509486A (ja) ネットワークを介して送信するためのビデオゲーム画面画像の生成及び符号化を行う方法及びシステム
JP5932892B2 (ja) コンテンツ提供システム、コンテンツ提供機器、コンテンツ再生機器、制御方法、プログラム、及び記録媒体
KR20200016657A (ko) 3차원 영상 콘텐츠를 제공하는 방법 및 프로그램

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171110

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180110

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: 20180220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180307

R150 Certificate of patent or registration of utility model

Ref document number: 6306089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250