JP7430411B2 - 3dオブジェクトのストリーミング方法、装置、及びプログラム - Google Patents

3dオブジェクトのストリーミング方法、装置、及びプログラム Download PDF

Info

Publication number
JP7430411B2
JP7430411B2 JP2022037172A JP2022037172A JP7430411B2 JP 7430411 B2 JP7430411 B2 JP 7430411B2 JP 2022037172 A JP2022037172 A JP 2022037172A JP 2022037172 A JP2022037172 A JP 2022037172A JP 7430411 B2 JP7430411 B2 JP 7430411B2
Authority
JP
Japan
Prior art keywords
client
information
server
data
geometry
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
JP2022037172A
Other languages
English (en)
Other versions
JP2022138158A (ja
JP2022138158A5 (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.)
Mawari Corp
Original Assignee
Mawari Corp
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 Mawari Corp filed Critical Mawari Corp
Priority to JP2022037172A priority Critical patent/JP7430411B2/ja
Publication of JP2022138158A publication Critical patent/JP2022138158A/ja
Publication of JP2022138158A5 publication Critical patent/JP2022138158A5/ja
Priority to JP2024006082A priority patent/JP2024045258A/ja
Application granted granted Critical
Publication of JP7430411B2 publication Critical patent/JP7430411B2/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Generation (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本開示は、3D(3次元)オブジェクトのストリーミング方法、装置及びプログラムに関する。
従来から3D画像をサーバからクライアントへ送信して表示するという技術はあるが、この場合、例えば、サーバ側で、3D画像を2D画像へ変換するという手法を使っていた(特許文献1)。
米国特許出願公開2010/0134494号明細書
解決しようとする従来の問題点は、3D画像の伝送において、画質を維持しながら、データ伝送に使用する帯域幅を減少することである。
本開示の一態様である方法は、サーバからクライアントへ、3Dオブジェクトを送信する方法であって、前記サーバ上の前記3Dオブジェクトからカラー情報、アルファ情報及びジオメトリ情報を抽出することと、前記ジオメトリ情報を単純化することと、前記サーバから前記クライアントへ、前記カラー情報、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信することと、を含む。
本開示の一態様である方法は、サーバ上にある3Dオブジェクトをクライアント上で再現する方法であって、前記サーバから前記3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信することと、前記ストリームを復号し、そこから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出することと、前記ジオメトリ情報に基づいて前記3Dオブジェクトの形状を再現することと、前記再現された3Dオブジェクトの形状の上に、前記カラー情報と前記アルファ情報を合成した情報を投影することにより前記3Dオブジェクトを再構成することと、を含む。
本開示の一態様であるサーバは、1つ以上のプロセッサ及びメモリを含むサーバであって、前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、前記サーバ上の3Dオブジェクトからアルファ情報及びジオメトリ情報を抽出し、前記ジオメトリ情報を単純化し、前記サーバからクライアントへ、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信する。
本開示の一態様であるクライアントは、1つ以上のプロセッサ及びメモリを含むクライアントであって、前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、サーバから3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信し、前記ストリームを復号し、そこから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出し、前記ジオメトリ情報に基づいて前記3Dオブジェクトの形状を再現し、前記再現された3Dオブジェクトの形状の上に、前記カラー情報と前記アルファ情報を合成した情報を投影することにより前記3Dオブジェクトを再構成する。
本開示の一態様によるプログラムは、上述のいずれかの方法をプロセッサによって実行するための命令を含む。
なお、これらの包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム、又は、記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
クライアント上で3D画像を表示するためにサーバからクライアントへビデオデータ又はピクセルを送信する代わりに本開示によるコンテナストリームを送信することにより、サーバからクライアントへ送信される時間当たりのデータ量が減り、クライアント上での3D画像の表示品質及び応答性が向上する。
本開示の一実施例における更なる利点及び効果は、明細書及び図面から明らかにされる。かかる利点及び/又は効果は、いくつかの実施形態並びに明細書及び図面に記載された特徴によってそれぞれ提供されるが、1つ又はそれ以上の同一の特徴を得るために必ずしも全てが提供される必要はない。
本明細書において、説明の都合上サーバとクライアント間での3D画像(動画及び/又は静止画を含む)伝送を例に説明したが、本開示の適用は、クライアントサーバシステムに限定されず、1台のコンピュータから他のコンピュータへの伝送に適用可能であり、他のコンピュータは、単数であっても複数であってもよい。
本開示によるサーバ及びクライアントの機能ブロック図である。 図1で説明したサーバとクライアント間のデータの流れのうちサーバ側での処理を説明したフローチャートである。 図1で説明したサーバとクライアント間のデータの流れのうちクライアント側でデータの処理を説明したフローチャートである。 図1で説明したサーバとクライアント間のデータの流れのうちクライアント側でコマンドの処理を説明したフローチャートである。 本開示を適用したクライアントサーバシステムで、3Dシーン又は3Dオブジェクトをクライアント側で表示するためのデータの流れを記載した図である。 本開示によるジオメトリ情報の符号化及び復号のプロセスを示す図である。 本開示によるカラー情報/テクスチャ情報の符号化及び復号のプロセスを示す図である。 本開示によるジオメトリ、カラーパケット、メタデータ、及びコマンドの間のデータ同期を示す図である。 本開示によるデカール方法を示す図である。 本開示によるクライアントのハードウェア構成例を示す概略図である。 本開示によるサーバのハードウェア構成例を示す概略図である。 本開示にかかる情報処理システムの構成の一例を示す概略図である。 本開示によるサーバ側の処理のフローを表す概略図である。 本開示によるクライアント側の処理のフローを表す概略図である。 本開示に使用されるカメラの配置を表す図である。 本開示で使用されるARGBシステムにおけるピクセル構成を示す図である。
<1. 3Dストリーミング・システム・アーキテクチャ>
図1は、本開示によるサーバ及びクライアントの機能ブロック図である。3Dストリーミングサーバ100は、3次元(3D)ストリーミングサーバ内の機能構成を含み、3Dストリーミングクライアント150は、3Dストリーミングクライアント内の機能構成を含む。ネットワーク120は、サーバ100とクライアント150との間にある有線又は無線のネットワークを表す。
本開示の対象となる1つのシステムは、サーバ側で3D画像を生成し、クライアント側でサーバから受信した3D画像の特徴量に基づいて3D画像を再構成し、表示する。クライアント機器としては、スマホ、携帯、タブレット、ノートパソコン、スマートグラス、ヘッドマウントディスプレイ、ヘッドセットなどの表示及び通信機能を有するあらゆる機器が対象となる。ここで、特徴量は、3D画像のカラー(色)情報、アルファ情報又はジオメトリ情報を含む。
<1.2 3Dストリーミングサーバ側の処理>
図1の上半分は、3Dストリーミングサーバ100での処理を説明する機能ブロック図である。ネットワークパケット受信ユニット108は、有線又は無線のネットワーク120を介して、クライアント150から命令及び/又はデータを含むパケットを受信する。ネットワークパケット受信ユニット108は、クライアントから受信した命令及び/又はデータをパケットから抽出し、クライアントからの命令及び/又はデータを処理する受信データ処理ユニット101に抽出したデータを送信する。抽出されたクライアントから命令及び/又はデータを受信した受信データ処理ユニット101は、受信したデータから必要な命令及び/又はデータをさらに抽出し、それらを3Dシーンデータ生成ユニット102に送る。次に、3Dシーンデータ生成ユニット102は、クライアント150から送られてきた要求にしたがって、サーバが有するそのクライアントからの要求に対応する3Dシーン(又は3Dオブジェクト)のデータを加工・修正などする。次に、3Dシーンデータ生成ユニット102から命令及び/又はデータを受け取った抽出ユニット103は、クライアントからの命令に従って更新した3Dシーンデータから必要なデータを抽出し、それらを3Dストリーム変換/符号化ユニット104へ送る。3Dストリーム変換/符号化ユニット104は、抽出ユニット103から受け取ったデータを3Dストリームに変換し、符号化することによって3Dストリーム105を生成する。3Dストリーム105は、次にネットワークパケット構成ユニット106に送られ、ネットワークパケット構成ユニット106によってネットワークパケットが生成される。ネットワークパケットは、ネットワークパケット伝送ユニット107へ送信される。ネットワークパケット伝送ユニット107は、受信したネットワークパケットを有線又は無線ネットワーク120を介して、1つ以上のクライアント150へ送信する。
<1.3 3Dストリーミングクライアント側の処理>
図1の下半分は、3Dストリーミングクライアント150での処理を説明する機能ブロック図である。有線又は無線ネットワーク120を介してサーバ100からパケットを受信したネットワークパケット受信ユニット152は、パケットから符号化された3Dストリームを抽出し、それを3Dストリーム復号ユニット154へ送る。符号化3Dストリームを受信した3Dストリーム復号ユニット154は、3Dストリームを復号し、復号された3Dストリームを3Dシーン再構成ユニット155へ送る。復号された3Dストリームを受信した3Dシーン再構成ユニット155は、サーバ100から受信して復号された3Dストリームから3Dシーン(又は3Dオブジェクト)を再構成し、再構成された3Dシーンを表示ユニット156へ送る。表示ユニット156は、再構成された3Dシーンを表示し、ユーザに提示する。
一方、3Dストリーミングクライアント150からの3D表示(更新)要求は、アプリデータ出力ユニット153からネットワークパケット伝送ユニット151へ送られる。アプリデータ出力ユニット153で生成される3D表示(更新)要求データとしては、例えば、ユーザ入力又はカメラ/デバイスのポジション変更、又は表示の更新を要求するなどのコマンドが考えられる。3D表示要求を受信したネットワークパケット伝送ユニット151は、符号化及びパケット化などの必要な処理を行った3D表示(更新)要求を有線又は無線ネットワーク120を介して、3Dストリーミングサーバ100に送る。
上述のサーバ100に含まれるネットワークパケット構成ユニット106、及びネットワークパケット伝送ユニット107、上述のクライアント150に含まれるネットワークパケット受信ユニット152、及びネットワークパケット伝送ユニット151は、例えば、既存のオープンソースソフトウェアの対応する送受信モジュールに基づいて必要な改良を施してもよいし、一から専用に作成してもよい。
図2は、図1で説明したサーバとクライアント間のデータの流れのうちサーバ側での処理を説明したフローチャートである。スタート(901)で処理を開始する。先ず、図1で説明したネットワークパケット受信ユニット108が、クライアントから3Dシーンの書き換えコマンドなどを含むパケットを受信する(902)。次に、図1で説明した受信データ処理ユニット101が、受信したコマンドなどを処理して、その結果を出力する(903)。次に、図1で説明した3Dシーンデータ生成ユニット102が、受信したコマンドなどに従った3Dシーンデータを生成する(904)。次に、図1の抽出ユニット103が、3Dシーンの特徴量を抽出する(905)。ここで、特徴量とは、後述するコンテナストリームに含まれる、ジオメトリ、カラー、メタデータ、サウンド、コマンドなどのデータのことを指す。次に、図1の3Dストリーム変換/符号化ユニット104が、3D特徴量を含むデータを3Dストリームに変換し、符号化する(906)。次に、図1のネットワークパケット構成ユニット106が、3Dストリームからネットワークパケットを構成する(907)。次に、図1のネットワークパケット伝送ユニット107が、ネットワークパケットを送信する(908)。これでサーバ側の一連のデータ送信処理は、終了する(909)。
図2では、一例として、ステップ902から903までの処理とステップ904から908までの処理が逐次実行されるように記載されているが、ステップ902から903までの処理とステップ904から908までの処理が並行して実行されてもよいし、ステップ904の処理から開始されてもよい。
図3は、図1で説明したサーバとクライアント間のデータの流れのうちクライアント側でのデータの処理を説明したフローチャートである。スタート(1001)で処理を開始する。先ず、図1で説明したネットワークパケット受信ユニット152が、サーバ100から送られてきたパケットを受信する(1002)。次に、図1で説明した3Dストリーム復号ユニット154が受信したパケットを復号し(1003)、3Dシーンの特徴量を抽出する。次に、図1で説明した3Dシーン再構成ユニット155が、3Dシーンの特徴量などを使用して、クライアント上で3Dシーンを再構成し(1004)、3Dシーンデータを生成する(1005)。次に、図1で説明した表示ユニット156が、再構成された3Dシーンを表示して、ユーザに提示する(1006)。これでクライアント側でのデータ処理は、終了する(1007)。
図3では、一例として、ステップ1002から1004までの処理とステップ1005から1006までの処理が逐次実行されるように記載されているが、ステップ1002から1004までの処理とステップ1005から1006までの処理が並行して実行されてもよいし、ステップ1005の処理から開始されてもよい。
図4は、図1で説明したサーバとクライアント間のデータの流れのうちクライアント側でコマンドの処理を説明したフローチャートである。スタート(1101)で処理を開始する。図1で説明したアプリデータ出力ユニット153が、画像処理アプリなどからの3Dシーンの書き換えコマンドなどを出力する(1102)。図1で説明したネットワークパケット伝送ユニット151は、アプリデータ出力ユニット153からコマンドなどを受け取り、パケットに変換し、変換したパケットを有線又は無線ネットワーク120へ伝送する(1103)。これでクライアント側でのデータ処理は、終了する(1104)。
図4では、一例として、ステップ1102の処理とステップ1103の処理が逐次実行されるように記載されているが、ステップ1102の処理とステップ1103の処理が並行して実行されてもよい。
<2. 本開示の3Dストリームフォーマット>
本開示による3Dストリームのフォーマットの特徴としては、主に以下のものがある。クライアント側で表示される3D画像の品質を落とさずに、限られたネットワークの帯域幅を使用して、これらを実現しているところに本開示の意義がある。
(1)サーバ側で3Dストリームを生成する。
サーバ側で3Dストリームを生成する際に、UE4又はUnityなどの利用可能なエンジンを使用する。ここで、UEとは、Epic Games社によって開発されているゲームエンジン、アンリアル・エンジン(Unreal Engine)のことであり、2020年5月にはUE5がアナウンスされている。
(2)ネットワークを介した効率的な伝送がサポートされている。
従って、従来の方法に比べて、サーバからクライアントへ転送されるデータ量が少ない。これを実現するために、本開示では、コンテナストリームを使用する。
(3)様々なデバイスで動作可能である。
対象とする装置は、例えば、Unity(Android、Windows、iOS)、WebGL、UE4又は5(Android、iOS、Windows)が利用できる装置である。
(4)現代のAR(拡張現実)デバイスに対して比較的軽量である。
すなわち、従来の方法と比べて、クライアント側での処理の負荷が小さい。これは、本開示のコンテナストリームの使用による。
(5)インタラクション(すなわち、双方向通信)をサポートする。
すなわち、ストリーミングがインタラクティブである。これは、コマンドがクライアントとサーバ相互間で送受信可能であることによる。
上述の特徴を実現するために、本開示はサーバとクライアント間で伝送する3Dストリームとして独自のコンテナストリームを開発した。この独自のコンテナストリームは、以下のような、ジオメトリ、カラー、メタデータ、サウンド、及びコマンドのうちのいくつかを含む。
(1)ジオメトリ:サーバ上での3Dシーンのストリーミングされたオブジェクトの外形に関する単純化された3Dデータである。ジオメトリのデータは、例えば、オブジェクトの形状を表すために使用されるポリゴンの頂点のアレイである。
(2)カラー:特定の位置にあるカメラで撮影したオブジェクトの色データである。
(3)メタデータ:3Dシーン、環境、個別のオブジェクト、ストリーム中のデータなどを説明するデータである。
(4)サウンド:サーバ側又はクライアント側の3Dシーンで発生するサウンド(音声)データである。サウンドは、サーバとクライアント相互間で双方向通信可能である。
(5)コマンド:コマンドは、サーバ側又はクライアント側の3Dシーン、システムイベント、ステータスメッセージ、カメラ及びユーザインプット、並びにクライアントのアプリケーションイベントなどを含む命令などである。コマンドは、サーバとクライアント相互間で双方向通信可能である。
従来のシステムでは、本開示による上述のコンテナストリームの代わりに、ビデオデータ自体又は各フレームのピクセルデータを送っていた。ここでコンテナストリームとは、サーバとクライアントとの間で転送されるデータの一塊のことを言い、データストリームとも言われる。コンテナストリームは、パケットストリームとしてネットワークを経由して転送される。
従来から使用されているこれらビデオデータ自体又は各フレームのピクセルデータは、たとえ圧縮されていたとしても、時間当たりの転送される容量が非常に大きく、サーバとクライアント間のネットワークの帯域幅が大きくないと伝送が遅れ、レイテンシが発生し、クライアント側での3D画像の再生がスムーズに行えないという問題点があった。一方、本開示のシステムで、サーバとクライアント間での転送で使用されるデータコンテナは、データサイズが従来のシステムよりも十分小さいので、サーバとクライアント間のネットワークの帯域幅を余り気にせずに、単位時間当たりのフレーム数を最低限確保できるので、クライアント側でのなめらか3D画像の再生が可能となる。
図5は、本開示を適用したクライアントサーバシステムで、3Dシーン又は3Dオブジェクトをクライアント側で表示するためのデータの流れを記載した図である。クライアント側は、スマホなどの端末装置1221が記載されており、端末装置1221とスマートグラス1210が無線LAN又はブルートゥース(登録商標)などで無線通信又は有線通信1222を経由して接続されている。スマートグラス1210は、ユーザが手前側から見た図を表している。クライアントのスマートグラスの左眼には人1211-1とカーソル1212-1が投影されており、スマートグラスの右眼には人1211-2とカーソル1212-2が投影されている。スマートグラスのユーザには、右眼及び左眼の像が重なって立体的な人1214が少し離れたところに見えている。クライアント側のスマートグラス1210のユーザは、カーソル1212又は他の入力手段を使用して、クライアント側のスマートグラス1210中に表示された人1214に対して移動、回転、縮小・拡大、色(カラー)・テクスチャの変更、又はサウンドなどの操作を行うことができる。このようなクライアント上のオブジェクト(又はシーン)に対する操作が行われると、クライアントからサーバにネットワーク120経由でコマンド(又はサウンド)1213などが送信される。
クライアントからネットワーク120経由でコマンドなどを受信したサーバは、サーバ内のアプリ内の仮想的な画面1201上の対応する人1202の画像に対して、受信したコマンドなどに従った操作を行う。ここで、サーバは、通常表示装置を持っている必要がなく、仮想的な空間内の仮想的な画像を扱う。次に、サーバは、このコマンドなどの操作を行った後の3Dシーンデータ(又は3Dオブジェクトデータ)を生成し、そこから抽出した特徴量をコンテナストリーム1203としてネットワーク120経由でクライアントへ送信する。サーバから送られたコンテナストリーム1203を受信したクライアントは、コンテナストリーム1203に含まれるジオメトリ、カラー・テクスチャ、メタデータ、サウンド、及びコマンドに従って、クライアントの仮想画面中の対応する人1214のデータを書き換えて、再表示などする。この例において、オブジェクトは人であるが、オブジェクトは、ビル、自動車、動物、又は静物などの人以外でもよく、シーンは、1つ以上のオブジェクトを含む。
以下で図6~8を参照して、上述のコンテナストリームに含まれる「ジオメトリ」データと「カラー」データがどのように処理されるかを説明する。
<3. ジオメトリの符号化及び復号プロセス>
図6は、本開示による、ジオメトリデータの符号化及び復号のプロセスを示す図である。図6において、201~205の処理は、サーバによって行われ、207~211の処理は、クライアントによって行われる。
図6及び後述の図7及び8に記載の各処理は、CPU及び/又はGPUなどのプロセッサなどによって関連するプログラムを使用して実行される。本開示の対象となるシステムは、CPU又はGPUのいずれか一方のみを備えていてもよいが、以下では、説明の簡単化のため、CPUとGPUをまとめてCPUと記載する。
<3.1 サーバ側の処理>
ここでオブジェクトを有するシーンがあると仮定する。各オブジェクトは、1つ以上のデプスカメラで撮影されている。ここで、デプスカメラとは、奥行き情報を取得する深度(デプス)センサを内蔵したカメラのことを言う。デプスカメラを使用すると、通常のカメラが取得する2次元(2D)の画像に、奥行き情報を追加して、3Dの立体的な情報を取得することができる。ここでは、シーンの完全なジオメトリデータを取得するために、例えば6台のデプスカメラが使用される。撮影時のカメラの構成については、後述する。
サーバ側で撮影した画像からストリーム化3Dオブジェクトを生成し、カメラのデプス(深度)情報を出力する(201)。次に、カメラのデプス情報を処理して点群を生成し、点のアレイを出力する(202)。この点群は、オブジェクトの実際のジオメトリを表す三角形(三角形の頂点のアレイ)に変換され、三角形の群がサーバによって生成される(203)。ここでは、一例としてジオメトリを表す図形として三角形を使用したが、三角形以外の多角形を使用してもよい。
そして、三角形の群の各頂点のアレイのデータを使用してジオメトリデータをストリームに追加して、圧縮する(204)。
サーバは、圧縮されたジオメトリデータを含むコンテナストリームを、ネットワーク120を介して送信する(205)。
<3.2 クライアント側の処理>
クライアントは、サーバから送信された圧縮されたデータ、すなわちジオメトリデータを含むコンテナストリームを、ネットワーク120を介してサーバから受信する(207)。クライアントは、受信された圧縮されたデータを解凍し、頂点のアレイを抽出する(208)。
クライアントは、解凍されたデータの頂点のアレイを、管理されたジオメトリデータキューに入れ、ネットワーク経由で転送されている間に崩れたフレームシーケンスの順番を正しく整列させる(209)。クライアントは、正しく整列されたフレームシーケンスに基づいて、シーンのオブジェクトを再構成する(210)。クライアントは、再構成されたクライアント側の3Dオブジェクトをディスプレイに表示する(211)。
ジオメトリデータは、管理されたジオメトリデータキューに保存され、ストリーム中で受信した他のデータと同期される(209)。この同期については、図8を使って後述する。
本開示が適用されたクライアントは、受信した頂点のアレイに基づいてメッシュを生成する。言い換えれば、サーバからクライアントには、ジオメトリデータとして、頂点のアレイのみが送信されるので、通常、頂点のアレイの時間当たりのデータ量はビデオデータ及びフレームデータと比較してかなり少ない。一方、従来の他のオプションは、大量の三角形を所定のメッシュのデータに適用することであり、この方法はクライアント側での大量の処理を必要とするものであり、問題があった。
本開示が適用されるサーバは、シーン(通常は1つ以上のオブジェクトを含む)のうち変更が必要な部分(例えば、特定のオブジェクト)のデータをのみをクライアントへ送り、シーンのうち変更がない部分のデータをクライアントへ送らないので、この点でもシーン変更に伴うサーバからクライアントへの伝送データの量を削減することが可能となる。
本開示を適用したシステム及び方法では、ポリゴンメッシュの頂点のアレイをサーバからクライアントへ送信することを前提としている。そして、このポリゴンとして三角形のポリゴンを前提として説明したが、ポリゴンの形状は、三角形に限定されず四角形又は他の形状であってもよい。
<4. カラー/テクスチャの符号化及び復号処理>
図7は、本開示による、カラー情報/テクスチャ情報の符号化及び復号のプロセスを示す図である。図7において、301~303の処理は、サーバによって行われ、305~308の処理は、クライアントによって行われる。
<4.1 カラーのサーバ側の処理>
オブジェクトを有するシーンがあると仮定する。カメラからのビューを使用して、サーバは、シーンのカラーデータ、アルファデータ、及びデプスデータを抽出する(301)。ここで、アルファデータ(又はアルファ値)は、カラー情報とは別に、画素(ピクセル)ごとに設けられた付加情報を示す数値である。アルファデータは、特に透明度として利用されることが多い。また、アルファデータの集合は、アルファチャネルとも呼ばれる。
次に、サーバは、カラーデータ、アルファデータ、及びデプスデータのそれぞれをストリームに追加し、圧縮する(302-1、302―2、302-3)。サーバは、圧縮したカメラデータをコンテナストリームの一部として、ネットワーク120を経由してクライアントへ送信する(303)。
<4.2 カラーのクライアント側の処理>
クライアントは、ネットワーク120を経由して圧縮されたカメラデータ・ストリームを含むコンテナストリームを受信する(305)。クライアントは、フレームのセットを準備するのと同様に、受信したカメラデータを解凍する(306)。次に、クライアントは、解凍したカメラデータからビデオストリームのカラーデータ、アルファデータ、及びデプスデータをそれぞれ処理する(306-1、306-2、306-3)。ここで、これらの生の特徴量データは、再構成された3Dシーンに適用するために準備され、キューに入れられる。カラーデータは、テクスチャを有する再構成された3Dシーンのメッシュをラップ(wrap:包む)するために使用される。
また、デプスデータ及びアルファデータを有する追加の詳細情報が使用される。次に、クライアントは、ビデオストリームのカラーデータ、アルファデータ、及びデプスデータを同期させる(309)。クライアントは、同期したカラーデータ、アルファデータ、及びデプスデータをキューに保存し、カラーデータキューを管理する(307)。次に、クライアントは、カラー/テクスチャ情報をジオメトリへ投射する(308)。
図8は、本開示によるジオメトリパケット、カラーパケット、メタデータ、及びコマンドの間のデータ同期を示す図である。
クライアント側でデータを利用できるようにするためには、クライアント側で受信した3D画像を再生しながらストリーム中のデータの正しい内容を提供する方法でデータを管理する必要がある。ネットワークを経由するデータパケットは必ずしも信頼性の高い方法で転送されるわけではなく、パケットの遅延及び/又はパケットの順番の変更が発生する可能性がある。したがって、データのコンテナストリームをクライアントで受信している間、クライアントのシステムはどのようにデータの同期を管理するかを考える必要がある。本開示のジオメトリ、カラー、メタデータ、及びコマンドを同期するための基本的なスキームは、以下の通りである。このスキームは、ネットワーク・アプリケーションやストリーム用に作成されたデータ・フォーマットに対して標準的なものであってもよい。
図8を参照して、サーバ側から送信される3Dストリーム410は、ジオメトリパケット、カラーパケット、メタデータ、及びコマンドを含んでいる。3Dストリームに含まれるジオメトリパケット、カラーパケット、メタデータ、及びコマンドは、サーバ上で3Dストリームが作成された時点では、フレームシーケンス410に示されるように相互に同期が取れている。
このフレームシーケンス410において、時間は左から右に流れる。ところが、サーバから送信されたフレームシーケンス410が、クライアントで受信されたときには、ネットワークを経由する間に相互の同期が取れなくなる場合やランダムな遅延が発生する場合があり、そのことがクライアント側で受信された3Dストリーム401に示されている。すなわち、クライアントで受信された3Dストリーム401内では、ジオメトリパケット、カラーパケット、メタデータ、及びコマンドが、クライアントで作成されたときの3Dストリーム410とは、シーケンス内の順序又は位置が異なっている場所があることが分かる。
クライアントで受信された3Dストリーム401は、パケットキューマネージャ402によって本来の同期に戻るように処理され、フレームシーケンス403が生成される。パケットキューマネージャ402によって同期が復活され、且つ相互に異なる遅延が解消されたフレームシーケンス403では、ジオメトリパケット1、2、3が正しい順序・配置になり、カラーパケット1、2、3、4、5が正しい順序・配置になり、メタデータ1、2、3、4、5が正しい順序・配置になり、コマンド1、2が正しい順序・配置になる。すなわち、クライアント内で整列後のフレームシーケンス403は、サーバ内で作成されたフレームシーケンス410と同じ並びになる。
次に、同期された現在のフレームに対するデータを使用して、シーンが再構成される(404)。次に、再構成されたフレームをレンダリングし(405)、クライアントはシーンを表示装置上に表示する(406)。
図9は、シーケンス更新フロー500の例を示す。図9では、時間は左から右に進んでいく。図9を参照して、先ずジオメトリが更新される(501)。ここでは、それと同期して(すなわち、横方向の位置が一致して)カラー/テクスチャが更新される(505)。次に、カラー/テクスチャが更新される(506)が、ジオメトリは、更新されない(例えば、カラーは変わったが、動きがない場合)。次に、ジオメトリが更新され(502)、それと同期してカラー/テクスチャが更新される(507)。次に、カラー/テクスチャが更新される(508)が、ジオメトリは、更新されない。次に、ジオメトリが更新され(503)、それと同期してカラー/テクスチャが更新される(509)。
図9から分かる通り、カラー/テクスチャが更新される度に、ジオメトリが更新される必要はなく、逆に、ジオメトリが更新される度に、カラー/テクスチャが更新される必要もない。ジオメトリの更新とカラー/テクスチャの更新とが同期してもよい。また、カラー/テクスチャの更新は、必ずしもカラー及びテクスチャが更新される必要はなく、カラー又はテクスチャのいずれか一方の更新であってもよい。この図では、カラー/テクスチャ更新が2回に対して、ジオメトリ更新が1回の頻度で記載されているが、これは一例であって、他の頻度であってもよい。
図10は、本開示によるクライアントのハードウェア構成例を示す概略図である。クライアント150は、スマホや携帯電話などの端末であってもよい。クライアント150は、CPU/GPU601と、表示部602と、入出力部603と、メモリ604と、ネットワークインタフェース605と、記憶装置606を通常備えており、これらの構成要素は、バス607で相互に通信可能に接続されている。
CPU/GPU601は、CPU単体又はGPU単体であってもよいし、CPUとGPUが協働して動作するようになっている1つ又は複数の部品から構成されてもよい。表示部602は、通常カラーで画像を表示するための装置であり、本開示による3D画像を表示し、ユーザに提示する。図5を参照して、上述したように、クライアントは、クライアント端末とスマートグラスの組合せでもよく、その場合は、スマートグラスが表示部602の機能を有する。
入出力部603は、ユーザなどの外部とのインタラクションを行うための装置であり、クライアント150の内部又は外部にあるキーボード、スピーカー、ボタン、タッチパネルに接続されてもよい。メモリ604は、CPU/GPU601の動作に必要なソフトウェア及びデータを記憶するための揮発性メモリである。ネットワークインタフェース605は、クライアント150が外部のネットワークに接続し、通信するための機能を有する。記憶装置606は、クライアント150で必要なソフトウェア、ファームウェア、データなどを記憶するための不揮発性メモリである。
図11は、本開示によるサーバのハードウェア構成例を示す概略図である。サーバ100は、通常は、クライアントより高機能なCPUを備え、通信速度も速く、より大容量の記憶装置を備える。サーバ100は、CPU/GPU701と、入出力部703と、メモリ704と、ネットワークインタフェース705と、記憶装置706を通常備えており、これらの構成要素は、バス707で相互に通信可能に接続されている。
CPU/GPU701は、CPU単体又はGPU単体であってもよいし、CPUとGPUが協働して動作するようになっている1つ又は複数の部品から構成されてもよい。図10に記載のクライアント装置は、表示部602を備えていたが、サーバの場合は、表示部は必須ではない。入出力部703は、ユーザなどとのインタラクションを行うための装置であり、キーボード、スピーカー、ボタン、タッチパネルに接続されてもよい。メモリ704は、CPU/GPU701の動作に必要なソフトウェア及びデータを記憶するための揮発性メモリである。ネットワークインタフェース705は、クライアントが外部のネットワークに接続し、通信するための機能を有する。記憶装置706は、クライアントで必要なソフトウェア、ファームウェア、データなどを記憶するための不揮発性記憶装置である。
図12は、本開示にかかる情報処理システムの構成の一例を示す概略図である。サーバ100と、クライアント150-1と、クライアント150-2とがネットワーク120によって互いに通信可能に接続されている。
サーバ100は、例えば、サーバなどのコンピュータ装置であり、クライアント150-1とクライアント150-2からの画像表示要求などに応じて、動作して、クライアント150-1とクライアント150-2で表示するための画像に関連する情報を生成し、送信する。この例では、クライアントは2台記載されているが、1台以上であれば何台でもよい。
ネットワーク120は、有線又は無線のLAN(Local Area Network)であってもよく、クライアント150-1とクライアント150-2は、スマホ、携帯電話、スレートPC、又はゲーム端末などであってもよい。
図13は、本開示によるサーバ側の処理のフローを表す概略図である。サーバ側のシーン1301にあるオブジェクト1302から、RGBカメラを使用してカラー情報(1303)を抽出する(1310)。サーバ側のシーン1301にあるオブジェクト1302から、RGBカメラを使用してアルファ情報(1304)を抽出する(1320)。サーバ側のシーン1301にあるオブジェクト1320から、デプスカメラを使用して点群(1305)の情報を抽出する(1330)。次に、点群(1305)の情報を簡略化して、ジオメトリ情報(1306)を得る(1331)。
次に、得られたカラー情報(1303)、アルファ情報(1304)及びジオメトリ情報(1306)は、ストリームデータフォーマットへ処理され(1307)、3Dストリームのコンテナストリームとしてネットワークを経由してクライアントへ送信される(1340)。
図14は、本開示によるクライアント側の処理のフローを表す概略図である。図14は、本開示によるデカール方法に関連する。ここで、デカールとは、オブジェクト上にテクスチャやマテリアルを貼り付ける処理である。ここで、テクスチャとは、3D(3次元)CGモデルの質感、模様、凹凸などを表現するために用いるデータなどのことを指す。また、マテリアルとは、オブジェクトの材質などのことであり、3DCGでは、例えば、物体の光学的特性、材質感のことを指す。
本開示のデカール方法が、従来のUVマッピングよりもプロセッサの処理として軽い理由を以下で説明する。現時点で、メッシュに色を設定するにはいくつかの方法がある。ここで、UVとは、3DCGモデルにテクスチャをマッピングするとき、貼り付ける位置や方向、大きさなどを指定するために使う座標系のことである。2次元の直交座標系で、横方向の軸がU、縦方向の軸がVとなる。UV座標系を使ったテクスチャマッピングのことをUVマッピングとよぶ。
<5.1 各頂点に色を設定する方法(従来の方法1)>
対象となるクラウド内のすべての三角形に対して、色の値を頂点に保存する。しかしながら、頂点の密度が低い場合、解像度の低いテクスチャリングとなり、ユーザ・エクスペリエンスが低下する。逆に、頂点の密度が高い場合、画面上のすべてのピクセルに色を送るのと同じことになり、サーバからクライアントへ転送するデータ量が増える。一方、これは追加/基本カラーリングのステップとして使用することができる。
<5.2 メッシュのUVに正しいテクスチャを設定する方法(従来の方法2)>
正しいテクスチャをUVマッピングで設定するには、三角形の群のテクスチャを生成する必要がある。その後、現在のメッシュのUVマップを生成し、ストリームに追加する必要がある。モデルのオリジナルテクスチャは、シーンの雷などの情報が含まれておらず、高品質で詳細な3Dモデルのためには、大量のテクスチャが必要になるため、実質的に使用できない。この方法が採用されないもう一つの理由は、サーバ上でレンダリングされた3Dモデルで作成されたUVでオリジナルテクスチャが動作することである。一般的には、三角形の群を使い、異なるビューからカラーリングテクスチャを投影し、受信したUVテクスチャを保存して送信する。さらに、UVテクスチャと同じ頻度でメッシュのジオメトリやトポロジーを更新する必要があるため、サーバとクライアント間で送受信するデータ量が増える。
<5.3 メッシュにテクスチャを投影する(デカール)方法(本開示による方法)>
ストリームの特定の位置からのカラー/テクスチャが、その位置に関するメタ情報とともにサーバからクライアントに送信される。クライアントは、このテクスチャを指定された位置からメッシュに投影する。この場合、UVマップは不要である。この方法では、ストリーミングされた側(すなわち、クライアント側)にはUV生成がロードされない。このデカールによるアプローチは、データフローの最適化の余地を提供できる(例えば、ジオメトリとカラーの更新は、異なる頻度で連続して行うことができる)。
図14に記載のクライアント側の処理は、基本的に、図13に記載のサーバ側の処理と逆の処理を行う。先ず、クライアントは、ネットワークを介してサーバが送信した3Dストリームであるコンテナストリームを受信する。次に、受信した3Dストリームからデータを復号し、オブジェクトを再構成するために、カラー情報、アルファ情報、ジオメトリ情報を復元する(1410)。
次に、先ず、カラー情報1431とアルファ情報1432が結合され、その結果としてテクスチャデータ生成される。次に、このテクスチャデータをジオメトリデータ1433に適用する(1420)。こうすることによって、サーバ上にあったオブジェクトがクライアント上で再構成される(1440)。サーバ側のシーンに複数のオブジェクトがある場合は、オブジェクト毎にこのような処理を適用する。
図15は、本開示に使用されるカメラの配置を表す図である。対象となるシーン1510にあるオブジェクトのジオメトリ情報を取得するためには、1台以上のデプスカメラが使用される。デプスカメラは、毎フレーム、デプスマップを取得し、次に、これらのデプスマップは、点群に処理される。次に、点群は、単純化のため所定の三角形のメッシュに分割される。デプスカメラの解像度を変更することによって、三角形に分割されたメッシュの詳細度(細かさのレベル、粒度)を制御することが可能である。例えば、想定する標準的な設定では、256×256解像度の6台のデプスカメラを使用する(1521~1526)。しかしながら、必要なデプスカメラの台数と各カメラの解像度は、さらに最適化して、減らすことも可能であり、デプスカメラの台数及びその解像度によって、パフォーマンス、すなわち画質及び伝送データ量が変化する。
図15には、一例として、6台のデプスカメラ(1521~1526)と1台の通常のカメラ(1530)を配置した構成が記載されている。通常のカメラ(すなわちRGBカメラ)(1530)は、対象となるシーン1510にあるオブジェクトのカラー情報及びアルファ情報を取得するために使用される。
図16は、本開示で使用されるARGBシステムにおけるピクセル構成を示す図である。ARGBシステムは、従来のRGB(赤、緑、青)の色情報に、透明度を表すアルファ情報(A)を追加したものである。図16に示した例では、アルファ、青、緑、赤のそれぞれが、8ビット(すなわち、256段階)で示され、すなわち、ARGB全体で、32ビットの構成となっている。図16の1601が各色又はアルファのビット数を示し、1602がそれぞれの色又はアルファを示し、1603は、全体として32ビットの構成を示している。この例では、各色及びアルファが8ビット構成で、全体として32ビットのARGBシステムを説明しているが、これらのビット数は、所望の画質及び伝送データ量に従って、変更することができる。
アルファ情報は、カラーイメージに対して、マスク/セカンダリレイヤとして、使用することができる。現在のハードウェアエンコーダの制約により、アルファ情報を持つカラー情報に対してビデオストリームを符号化することは時間が掛かる。また、ビデオストリームに対するカラー及びアルファのソフトウェアエンコーダは、リアルタイムで符号化できず遅延が発生し、本開示の目的を達成できないので、現時点では本開示の代替案とはなり得ない。
<6.1 本開示による3Dストリーム・シーンのジオメトリの再構成の利点>
本開示の方法を用いた3Dストリーム・シーンのジオメトリ再構成の利点は以下の通りである。本開示の方法は、「三角形の群(cloud of triangles)」を用いてシーンを再構成することによって、クライアント側で各シーンを再構成する。この革新的なアイデアの重要な点は、クライアント側で大量の三角形を使用する準備ができていることである。この場合、三角形の群に含まれる三角形の数は、数十万個でもよい。
クライアントは、ストリームから情報を取得するとすぐに3Dシーンの形状を作るために各三角形を適切な場所に配置する準備ができている。本開示の方法では、サーバからクライアントに、従来よりも少ないデータしか転送しないので、この方法の利点は、処理に必要な電力と時間を削減できることである。フレーム毎にメッシュを生成するという従来の方法ではなく、既存のジオメトリの位置を変更する。しかしながら、既存のジオメトリの位置を変更することで、シーン内で一度生成された三角形の群の位置を変更することができる。したがって、ジオメトリデータは、各三角形の座標を提供し、オブジェクトのこの位置の変更は、動的である。
<6.2 本開示による3Dストリーミングの利点>
本開示の3Dストリーミングの利点は、6つの自由度(DoF:Degree of Freedom)でもネットワークの遅延がより少ないことである。3Dストリーミング・フォーマットの利点の一つは、クライアント側にも3Dシーンがあることである。ミックス・リアリティ(MR)でナビゲートし、又は画像内を見て回るとき、重要な部分は、どのように3Dコンテンツが現実世界と接続されているか、そしてどのように「それに実際の位置が感じられる」である。言い換えれば、ユーザがいくつかの表示されたオブジェクトの周りを回っているときに、デバイスによる位置更新の遅れを認識しない場合、人間の脳はこのオブジェクトが本当にその場所にあると錯覚する。
現在、クライアント側のデバイスは70~90FPS(1秒当たりのフレーム数)を目標にして、ユーザにこれを「本物」と思わせるために、ディスプレイ上の3Dコンテンツを更新する。今日では、12ms以下の待ち時間で、リモートサーバー上でフレーム更新のフルサイクルを提供することは不可能である。実際、ARデバイスのセンサは、1,000FPS以上の情報を提供している。そして、クライアント側で3Dコンテンツを同期させることは、現代のデバイスではすでに可能なので、本開示の方法では、クライアント側で3Dコンテンツを同期させることができる。そのため、3Dシーンを再構成した後、クライアント側で拡張コンテンツの位置情報を処理するのはクライアント側の仕事であり、リアリティに影響を与えないような合理的なネットワーク上の問題(例えば、伝送遅延)があれば、それを解決することができる。
<本開示のまとめ>
以下に本開示のまとめとしていくつかの実施例を付記する。
サーバからクライアントへ、3Dオブジェクトを送信する方法であって、前記サーバ上の前記3Dオブジェクトからカラー情報、アルファ情報及びジオメトリ情報を抽出することと、前記ジオメトリ情報を単純化することと、前記サーバから前記クライアントへ、前記カラー情報、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信することと、を含む、本開示による方法。
前記ジオメトリ情報を単純化することは、前記3Dオブジェクトから抽出された点群から三角形の頂点の情報に変換することである、本開示による方法。
前記ストリームは、さらに、メタデータ、サウンドデータ、及びコマンドのうちの少なくとも1つを含む、本開示による方法。
前記サーバが、前記クライアントから、前記サーバ上の3Dオブジェクトを書き換えるコマンドを受信する、本開示による方法。
前記サーバが前記クライアントから3Dオブジェクトを書き換えるコマンドを受信した場合、前記サーバは前記サーバ上の3Dオブジェクトを書き換え、前記書き換えた3Dオブジェクトから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出し、前記ジオメトリ情報を単純化し、前記サーバから前記クライアントへ前記カラー情報、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信する、本開示による方法。
前記カラー情報及び前記アルファ情報は、RGBカメラで取得され、前記ジオメトリ情報は、デプスカメラで取得される、本開示による方法。
サーバ上にある3Dオブジェクトをクライアント上で再現する方法であって、前記サーバから前記3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信することと、前記ストリームを復号し、そこから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出することと、前記ジオメトリ情報に基づいて前記3Dオブジェクトの形状を再現することと、前記再現された3Dオブジェクトの形状の上に、前記カラー情報と前記アルファ情報を合成した情報を投影することにより前記3Dオブジェクトを再構成することと、を含む、本開示による方法。
前記再構成された3Dオブジェクトを表示装置上に表示する、本開示による方法。
前記表示装置がスマートグラスである、本開示による方法。
1つ以上のプロセッサ及びメモリを含むサーバであって、前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、前記サーバ上の3Dオブジェクトからアルファ情報及びジオメトリ情報を抽出し、前記ジオメトリ情報を単純化し、前記サーバからクライアントへ、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信する、本開示によるサーバ。
1つ以上のプロセッサ及びメモリを含むクライアントであって、前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、サーバから3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信し、前記ストリームを復号し、そこから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出し、前記ジオメトリ情報に基づいて前記3Dオブジェクトの形状を再現し、前記再現された3Dオブジェクトの形状の上に、前記カラー情報と前記アルファ情報を合成した情報を投影することにより前記3Dオブジェクトを再構成する、本開示によるクライアント。
本開示よる前記方法をプロセッサによって実行するための命令を含む、プログラム。
本開示はソフトウェア、ハードウェア、又は、ハードウェアと連携したソフトウェアで実現することが可能である。
本開示は、ソフトウェア、プログラム、システム、装置、クライアントサーバシステム、端末などに適用可能である。
100 サーバ
101 受信データ処理ユニット
102 3Dシーンデータ生成ユニット
103 抽出ユニット
104 3Dストリーム変換/符号化ユニット
105 3Dストリーム
106 ネットワークパケット構成ユニット
107 ネットワークパケット伝送ユニット
108 ネットワークパケット受信ユニット
120 有線又は無線ネットワーク
150 クライアント
150-1 クライアント
150-2 クライアント
151 ネットワークパケット伝送ユニット
152 ネットワークパケット受信ユニット
153 アプリデータ出力ユニット
154 3Dストリーム復号ユニット
155 3Dシーン再構成ユニット
156 表示ユニット
602 表示部
603 入出力部
604 メモリ
605 ネットワークインタフェース
606 記憶装置
607 バス
703 入出力部
704 メモリ
705 ネットワークインタフェース
706 記憶装置
707 バス
1201 画面
1202 人
1203 コンテナストリーム
1210 スマートグラス
1211-1 人
1211-2 人
1212-1 カーソル
1212-2 カーソル
1213 コマンド
1214 人
1221 端末装置
1521~1526 デプスカメラ
1530 RGBカメラ

Claims (4)

  1. サーバに、前記サーバ上の1つの仮想3Dオブジェクトに対するコマンドを送信し、
    前記サーバから、前記コマンドに従って修正された前記1つの仮想3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を受信することにより、前記サーバ上の仮想3Dオブジェクトをクライアント上でインタラクティブに再現する方法であって、
    前記サーバから前記仮想3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信することと、
    前記ストリームを復号して、前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出することと、
    前記ジオメトリ情報に基づいて前記仮想3Dオブジェクトの形状を再現することと、
    前記再現された仮想3Dオブジェクトの形状の上に、前記カラー情報を投影し、その上に前記アルファ情報を用いてシェーダーを適用して、前記仮想3Dオブジェクトを再現することと、
    前記再現された仮想3Dオブジェクトを前記クライアントの表示装置上に表示することと、
    を含む方法。
  2. 前記クライアントが、スマホ、携帯、タブレット、ノートパソコン、スマートグラス、ヘッドマウントディスプレイ、ヘッドセット、スレートPC、ゲーム端末又はARデバイスである、
    請求項1に記載の方法。
  3. 1つ以上のプロセッサ及びメモリを含むクライアントであって、
    前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、
    サーバに、前記サーバ上の1つの仮想3Dオブジェクトに対する操作コマンドを送信し、
    前記サーバから、前記操作コマンドに従って修正された前記1つの仮想3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信し、
    前記ストリームを復号して、前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出し、
    前記ジオメトリ情報に基づいて前記仮想3Dオブジェクトの形状を再現し、
    前記再現された仮想3Dオブジェクトの形状の上に、前記カラー情報を投影し、その上に前記アルファ情報を用いてシェーダーを適用し
    前記再現された仮想3Dオブジェクトを表示装置上に表示する、
    クライアント。
  4. 請求項1又は2に記載の方法をプロセッサ実行させるための命令を含む、プログラム。
JP2022037172A 2021-03-09 2022-03-10 3dオブジェクトのストリーミング方法、装置、及びプログラム Active JP7430411B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022037172A JP7430411B2 (ja) 2021-03-09 2022-03-10 3dオブジェクトのストリーミング方法、装置、及びプログラム
JP2024006082A JP2024045258A (ja) 2021-03-09 2024-01-18 3dオブジェクトのストリーミング方法、装置、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021037507A JP2022137826A (ja) 2021-03-09 2021-03-09 3dオブジェクトのストリーミング方法、装置、及びプログラム
JP2022037172A JP7430411B2 (ja) 2021-03-09 2022-03-10 3dオブジェクトのストリーミング方法、装置、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021037507A Division JP2022137826A (ja) 2021-03-09 2021-03-09 3dオブジェクトのストリーミング方法、装置、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024006082A Division JP2024045258A (ja) 2021-03-09 2024-01-18 3dオブジェクトのストリーミング方法、装置、及びプログラム

Publications (3)

Publication Number Publication Date
JP2022138158A JP2022138158A (ja) 2022-09-22
JP2022138158A5 JP2022138158A5 (ja) 2023-05-16
JP7430411B2 true JP7430411B2 (ja) 2024-02-13

Family

ID=83226770

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2021037507A Pending JP2022137826A (ja) 2021-03-09 2021-03-09 3dオブジェクトのストリーミング方法、装置、及びプログラム
JP2022037172A Active JP7430411B2 (ja) 2021-03-09 2022-03-10 3dオブジェクトのストリーミング方法、装置、及びプログラム
JP2024006082A Pending JP2024045258A (ja) 2021-03-09 2024-01-18 3dオブジェクトのストリーミング方法、装置、及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021037507A Pending JP2022137826A (ja) 2021-03-09 2021-03-09 3dオブジェクトのストリーミング方法、装置、及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024006082A Pending JP2024045258A (ja) 2021-03-09 2024-01-18 3dオブジェクトのストリーミング方法、装置、及びプログラム

Country Status (6)

Country Link
US (3) US20230401785A1 (ja)
EP (3) EP4290465A1 (ja)
JP (3) JP2022137826A (ja)
KR (3) KR20230153467A (ja)
CN (3) CN117043824A (ja)
WO (3) WO2022190398A1 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014219739A (ja) 2013-05-01 2014-11-20 株式会社ディジタルメディアプロフェッショナル 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
US20190069000A1 (en) 2017-08-30 2019-02-28 Samsung Electronics Co., Ltd. Method and apparatus of point-cloud streaming
WO2019039282A1 (ja) 2017-08-22 2019-02-28 ソニー株式会社 画像処理装置および画像処理方法
JP2019046077A (ja) 2017-08-31 2019-03-22 Kddi株式会社 オブジェクト情報の複数面への投影によって視点映像を合成する映像合成装置、プログラム及び方法
WO2019082958A1 (ja) 2017-10-27 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル符号化装置、三次元モデル復号装置、三次元モデル符号化方法、および、三次元モデル復号方法
US20190325646A1 (en) 2018-04-20 2019-10-24 Hulu, LLC Dynamic Selection Mechanism For Interactive Video
US10497180B1 (en) 2018-07-03 2019-12-03 Ooo “Ai-Eksp” System and method for display of augmented reality
JP2020523691A (ja) 2017-06-09 2020-08-06 株式会社ソニー・インタラクティブエンタテインメント 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
JP2020536300A (ja) 2017-09-29 2020-12-10 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 3dシーンの点の属性を修正するための方法及び装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200599A (ja) * 1996-01-22 1997-07-31 Sanyo Electric Co Ltd 画像撮影方法
JP4229398B2 (ja) * 2003-03-28 2009-02-25 財団法人北九州産業学術推進機構 3次元モデリング・プログラム、3次元モデリング制御プログラム、3次元モデリング・データ伝送プログラム、記録媒体および3次元モデリング方法
JP2005259097A (ja) 2004-03-15 2005-09-22 Katsunori Kondo 3次元cgインタラクティブバナー
JP5103590B2 (ja) 2007-12-05 2012-12-19 倫也 佐藤 情報処理装置および情報処理方法
US20100134494A1 (en) 2008-12-02 2010-06-03 Electronics And Telecommunications Research Institute Remote shading-based 3d streaming apparatus and method
KR101660721B1 (ko) 2009-06-15 2016-09-29 엘지전자 주식회사 발광 다이오드 패키지 및 이를 포함하는 백라이트 유닛과 디스플레이장치
EP2461587A1 (en) * 2010-12-01 2012-06-06 Alcatel Lucent Method and devices for transmitting 3D video information from a server to a client
US8860717B1 (en) * 2011-03-29 2014-10-14 Google Inc. Web browser for viewing a three-dimensional object responsive to a search query
JP7205471B2 (ja) * 2017-06-29 2023-01-17 ソニーグループ株式会社 画像処理装置および画像処理方法
WO2020050222A1 (ja) * 2018-09-07 2020-03-12 シャープ株式会社 画像再生装置、画像生成装置、画像生成方法、制御プログラム及び記録媒体
EP3734970B1 (en) * 2019-01-08 2023-07-05 Samsung Electronics Co., Ltd. Method for processing and transmitting three-dimensional content
JP2020113094A (ja) * 2019-01-15 2020-07-27 株式会社シーエスレポーターズ 拡張現実空間に配置される3dオブジェクトを生成する方法
JP6647433B1 (ja) * 2019-02-19 2020-02-14 株式会社メディア工房 点群データ通信システム、点群データ送信装置および点群データ送信方法
JP7500896B2 (ja) 2019-08-29 2024-06-18 日本国土開発株式会社 濾過用カートリッジ

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014219739A (ja) 2013-05-01 2014-11-20 株式会社ディジタルメディアプロフェッショナル 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
JP2020523691A (ja) 2017-06-09 2020-08-06 株式会社ソニー・インタラクティブエンタテインメント 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
WO2019039282A1 (ja) 2017-08-22 2019-02-28 ソニー株式会社 画像処理装置および画像処理方法
US20190069000A1 (en) 2017-08-30 2019-02-28 Samsung Electronics Co., Ltd. Method and apparatus of point-cloud streaming
JP2019046077A (ja) 2017-08-31 2019-03-22 Kddi株式会社 オブジェクト情報の複数面への投影によって視点映像を合成する映像合成装置、プログラム及び方法
JP2020536300A (ja) 2017-09-29 2020-12-10 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 3dシーンの点の属性を修正するための方法及び装置
WO2019082958A1 (ja) 2017-10-27 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル符号化装置、三次元モデル復号装置、三次元モデル符号化方法、および、三次元モデル復号方法
US20190325646A1 (en) 2018-04-20 2019-10-24 Hulu, LLC Dynamic Selection Mechanism For Interactive Video
US10497180B1 (en) 2018-07-03 2019-12-03 Ooo “Ai-Eksp” System and method for display of augmented reality

Also Published As

Publication number Publication date
EP4290465A1 (en) 2023-12-13
EP4290868A1 (en) 2023-12-13
WO2022191070A1 (ja) 2022-09-15
KR20230153467A (ko) 2023-11-06
US20240169595A1 (en) 2024-05-23
JP2022138158A (ja) 2022-09-22
EP4290869A1 (en) 2023-12-13
JP2022137826A (ja) 2022-09-22
KR20230153469A (ko) 2023-11-06
KR20230153468A (ko) 2023-11-06
CN117043824A (zh) 2023-11-10
WO2022190398A1 (ja) 2022-09-15
JP2024045258A (ja) 2024-04-02
US20230401785A1 (en) 2023-12-14
CN117063473A (zh) 2023-11-14
US20240177354A1 (en) 2024-05-30
WO2022191200A1 (ja) 2022-09-15
CN117121493A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
EP3695383B1 (en) Method and apparatus for rendering three-dimensional content
US10497180B1 (en) System and method for display of augmented reality
CN113099204B (zh) 一种基于vr头戴显示设备的远程实景增强现实方法
WO2019127369A1 (zh) 一种直播分享的方法、相关设备及系统
CN111355944B (zh) 生成并用信号传递全景图像之间的转换
CN113891117B (zh) 沉浸媒体的数据处理方法、装置、设备及可读存储介质
US20240179203A1 (en) Reference of neural network model by immersive media for adaptation of media for streaming to heterogenous client end-points
KR102598603B1 (ko) 이기종 클라이언트 종단점에 대한 스트리밍을 위한 2d 비디오의 적응
WO2022024780A1 (ja) 情報処理装置、情報処理方法、映像配信方法及び情報処理システム
WO2024027611A1 (zh) 视频直播方法、装置、电子设备以及存储介质
JP7430411B2 (ja) 3dオブジェクトのストリーミング方法、装置、及びプログラム
JP7472298B2 (ja) 没入型メディアの設置、及び没入型メディアから異種クライアントエンドポイントへの配信
WO2024152959A1 (zh) 端云协同系统、编解码方法及电子设备
TWI817273B (zh) 即時多視像視訊轉換方法和系統
Sun et al. Combining 360◦ video and camera mapping for virtual reality: an innovative solution
Aumüller D5. 3.4–Remote hybrid rendering: revision of system and protocol definition for exascale systems

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20230201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230508

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230508

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230822

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240124

R150 Certificate of patent or registration of utility model

Ref document number: 7430411

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150