CN102255930A - 用于提供虚拟世界的场景数据的方法和系统 - Google Patents

用于提供虚拟世界的场景数据的方法和系统 Download PDF

Info

Publication number
CN102255930A
CN102255930A CN2010101819996A CN201010181999A CN102255930A CN 102255930 A CN102255930 A CN 102255930A CN 2010101819996 A CN2010101819996 A CN 2010101819996A CN 201010181999 A CN201010181999 A CN 201010181999A CN 102255930 A CN102255930 A CN 102255930A
Authority
CN
China
Prior art keywords
objects
lod
group
content
information
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
CN2010101819996A
Other languages
English (en)
Other versions
CN102255930B (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201010181999.6A priority Critical patent/CN102255930B/zh
Priority to PCT/EP2011/057278 priority patent/WO2011144464A2/en
Priority to EP11718376A priority patent/EP2572513A2/en
Priority to JP2013510555A priority patent/JP5723973B2/ja
Priority to US13/110,033 priority patent/US8947431B2/en
Publication of CN102255930A publication Critical patent/CN102255930A/zh
Application granted granted Critical
Publication of CN102255930B publication Critical patent/CN102255930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6615Methods for processing data by generating or executing the game program for rendering three dimensional images using models with different levels of detail [LOD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种用于提供虚拟世界的场景数据的方法和系统,其中所述方法包括:接收来自内容请求方的下载场景数据的请求,所述请求包括场景数据中的对象组的信息以及所述对象组中的对象的层次细节LoD信息;根据所述场景数据中的对象组的信息以及有关所述对象的LoD信息,打包所述对象组中的所述对象的LoD内容;以及向所述内容请求方发送所述对象组所对应的打包的LoD内容。本发明可以使得虚拟世界的用户可以在很短的响应时间内就看到场景的有效信息,提高了用户体验性。另一方面有效减少了网络传输数据量,提高了网络传输效率。

Description

用于提供虚拟世界的场景数据的方法和系统
技术领域
本发明总体上涉及信息处理技术领域,特别地,涉及一种用于提供虚拟世界的场景数据的方法和系统。
背景技术
在涉及动画、3D游戏(如魔兽游戏)、网络虚拟生活(如secondLife)、虚拟博物馆(如IBM的穿越时空的紫禁城)、网络虚拟商店等虚拟世界领域,用户需要下载大量的数据。其中两种类型数据是必须下载的:一种数据涉及到更新消息,这种类型数据需要频繁地更新,但是数据量比较小,一般小于100比特,对客户端而言,负担较小;另一种是用于构建场景的数据,比如对象网格模型(object mesh)、对象纹理(texture)和地形(terrain)等。这种类型的数据非常大,一般场景的数据量多达几十兆字节,比如Metaverse的场景为60-80兆字节,World of Warcraft的场景高达6.6G字节,而在Second Life中的每个场景为10-30兆字节。对于这种类型数据,虽然大部分数据可以在安装时一次性下载,但如果是涉及到动态的对象等,这些数据是必须要动态地下载的,比如三维动态对象。目前针对虚拟世界的数据下载的方式主要有以下几种:
表1 数据下载方式
  方法   优点   缺点   适合情况
  HTTP   用户易操作   下载时间长,易断点   小型场景数据
  P2P   显示快   下载时间长   大型的游戏
  多信道下载   只在一个信道上下载动态数据   未充分利用多信道   类似SecondLife的动态虚拟世界
  HTTP下载分割材料   多个渠道下载多个分割数据   过大HTTP/TCP/IP头文件开销   类似Lively的小型动态虚拟世界
在实际的使用中,上述数据下载的方式都存在数据下载慢、场景对象显示不连续和用户体验差的缺陷。因此目前需要一种方法和系统,能够克服上述的一种或者多种缺陷,使得用户可以有较好的使用体验。
发明内容
本发明一方面提供一种用于提供虚拟世界的场景数据的方法,包括:接收来自内容请求方的下载场景数据的请求,所述请求包括场景数据中的对象组的信息以及有关所述对象组中的对象的层次细节LoD信息;根据所述场景数据中的对象组的信息以及所述对象的LoD信息,打包所述对象组中的所述对象的LoD内容;以及向所述内容请求方发送所述对象组所对应的打包的LoD内容。
本发明另一方面提供一种用于提供虚拟世界的场景数据的方法,包括:向服务器发送下载场景数据的请求,所述请求包括场景数据中的对象组的信息以及所述对象组中的对象的层次细节LoD信息;接收所述对象组对应的打包的LoD内容,其中所述对象组对应的打包的LoD内容由所述服务器根据所述有关场景数据中的对象组的信息以及有关所述对象的LoD信息,打包所述对象组中的对象的LoD内容所得到的。
本发明另一方面提供一种用于提供虚拟世界的场景数据的系统,包括:下载请求接收装置,接收来自内容请求方的下载场景数据的请求,所述请求包括有关场景数据中的对象组的信息以及有关所述对象组中的对象的层次细节LoD信息;打包装置,根据所述有关场景数据中的对象组的信息以及有关所述对象的LoD信息,打包所述对象组中的所述对象的LoD内容;以及发送装置,向所述内容请求方发送所述对象组所对应的打包的LoD内容。
本发明另一方面提供一种用于提供虚拟世界的场景数据的系统,包括:资源管理模块,用于确定场景数据中的对象组的信息以及所述对象组中的对象的LoD信息,并向服务器发送下载场景数据的请求,所述请求包括场景数据中的对象组的信息以及所述对象组中的对象的LoD信息;下载管理模块,用于接收所述对象组对应的打包的LoD内容,其中所述对象组对应的打包的LoD内容由所述服务器根据所述场景数据中的对象组的信息以及所述对象的LoD信息,打包所述对象组中的对象的LoD内容而产生。
由于虚拟场景数据的下载通常是一个很耗时的过程,用户需要等待较长时间才能观察到场景信息。本申请的具体实施例则优化了场景数据的下载策略,用户可以在很短的响应时间内就看到场景的有效信息,提高了用户体验性。另一方面本申请的具体实施例采用了打包下载方法,将琐碎的小数据包合并成一个大的数据包,减少了大量冗余的包头信息,有效减少了网络传输数据量,提高了网络传输效率。
附图说明
为了对本发明实施例的特征和优点进行详细说明,将参照以下附图。如果可能的话,在附图和描述中使用相同或者类似的参考标号以指代相同或者类似的部分。其中:
图1示出了本发明的虚拟世界的场景对象的分层下载过程;
图2示出了本发明的分层构造对象的过程;
图3示出了本发明用于提供虚拟世界的场景数据的第一具体实施方式;
图4示出了虚拟世界的区域网格划分和用户感兴趣的区域;
图5示出了本发明用于提供虚拟世界的场景数据的第二具体实施方式;
图6、7示出了本发明优选的打包方式;
图8示出了本发明用于提供虚拟世界的场景数据的第三具体实施方式;
图9示出了本发明用于提供虚拟世界的场景数据的第四具体实施方式。
具体实施方式
现在将参考本发明的示例性实施例进行详细的描述,在附图中图解说明了所述实施例的示例,其中相同的参考数字始终指示相同的元件。应当理解,本发明并不限于所公开的示例实施例。还应当理解,并非所述方法和设备的每个特征对于实施任一权利要求所要求保护的本发明都是必要的。此外,在整个公开中,当显示或描述处理或方法时,方法的步骤可以以任何顺序或者同时执行,除非从上下文中能清楚一个步骤依赖于先执行的另一步骤。此外,步骤之间可以有显著的时间间隔。
图1示出了本发明的一个具体的虚拟世界场景对象的下载实践。其中对于该对象,在下载该对象对应的场景数据的10%的情况下,根据该10%的场景数据渲染出来的对象已经足够的清晰,用户已经有较好的体验。因此本中请基于逐渐分区提供各个对象的各个层次细节(Level of Detail,LoD)内容,使得用户无需等待过长的时间就可以看到连续和细节较好的对象。
目前业界普遍采用三角网格的形式来表示对象的场景数据模型,文件内的数据包括点的三维坐标,纹理坐标(三维点与纹理图像上二维点之间映射)以及三角面片三个点的索引值。但目前业界的模型文件都没有提供层次细节(LoD)的方式。学术界上对层次细节的表示方式有很多研究且能实施渐进传输的方式,例如Lousbery的博士论文“Multiresolution Analysis for Surfaces ofArbitrary Topological Type”和khodakovsky在SIGGRAPH 2000会议上发表的论文“Progressive Geometry Compression”等都具体阐述了一些渐进传输的方法,但目前没有统一的标准。本发明提供一种可行的适于实施LoD传输的场景对象数据方案。以三维虚拟世界为例,所述场景对象数据一般包括一个模型文件,多个纹理文件和0-1个骨骼文件。其中所述模型文件包括有文件头(header)、基网格(base mesh)和分层表示的小波系数数据(layeredsub-wavelet coefficients)三个部分。其中模型文件的文件头的一个示例性定义如表2所示。
表2
  类型   字节数  表示和具体含义
  Int   4  可表示为Magic(‘WAVL’),为验证符
  Int   4  可表示为L,为LoD的层数,其中第0层为基网格,后续层为各个层次(level)的小波系数
  Int   4  可表示为BVNUM,为基网格的顶点个数
  Int   4  可表示为BFNUM,为基网格的面个数
  Int   4  可表示为BVNUM,为总共顶点个数
按照上述定义,一个模型文件的基网格(基函数)的点数以及小波系数个数共有
Figure GSA00000116940600041
个,i为非负整数(其中小波系数的个数对应于每个LoD level下模型的点数目,由于对基网格采用循环细分增加层次,所以每次细分增加层次后点的数目都会增长四倍。具体可以参见SIGGRAPH 2000会议上的研讨论文“Subdivision for Modeling and Animation”。
其中基网格部分可以由三角序列组成,其中每个三角形的具体表示如表3所示:
表3
 类型   字节数   具体含义
 Int[3]   4*3   三角面片的三个顶点
对于模型文件的第3部分即小波系数布尔值序列,其具有共S/8个字节(布尔值只用一个比特表示,一个字节是8个比特,所以小波系数布尔值序列只需要S/8个字节),以说明对应的系数是否存在。其中基网格顶点坐标及小波系数的个数等于系数布尔值序列中值为1的个数,M就是表示小波系数布尔值序列中值为1的个数。Vector3D[M]表示基网格的点坐标值以及各个层次的小波系数,如表4所示(小波系数数据是用double双精度浮点数表示)。对于小波系统在数字几何中具体含义请参考Li Denggao在Pacific Graphics2004会议上发表的论文“Uplifted Loop Subdivision Wavelets”。
表4
 类型   字节数   具体含义
 Vector3D[M]   M*3*sizeof(double)   基网格的点坐标值以及各个层次的小波系数
根据上述数据模型所形成的一个具体的模型文件如下表5所示。
表5
  文件头   基网格数据  1级小波系数  2级小波系数  3级小波系数 ......
          LoD层1       LoD层2        LoD层3        LoD层4      ......
图2示意性地示出了可在本发明各实施方式中使用的场景对象数据的数据模型。其中数据模型由三角面片组(TG)构成。图2示出了分别以不同的层次细分(LoD)程度来表示球体的网格模型M0
Figure GSA00000116940600051
、M1以及最终的球体网格模型(图2中示出该对象的细分增加LoD level过程)。需要说明的是,三角面片组只是用于场景对象数据的数据模型的一个例子,实际上,诸如四边形面片组等的多边形面片组均可以在本发明的各实施方式中使用。上述的数据模型仅仅是示例性的,而不能理解为对本发明的限制。本领域技术人员基于本发明完全可以构建出其它LoD数据模型来实现本发明。
场景对象数据还可以包括纹理文件。纹理文件是一个图像文件,一般都采用jpeg、gif、png等的图像格式,其中jpeg有渐进传输的特性,因此可以将其也可以看作具有LoD特性的图像文件。其文件格式可参考:http://www.jpeg.org。场景对象数据还可以包括骨骼文件。骨骼文件描述了模型对象的骨骼动画,它包括两个部分:模型对象的骨骼系统以及骨骼的运动序列。而模型对象的骨骼动画就是根据骨骼的运动序列产生的。骨骼文件不具备渐进传输的方法,都是整体下载的,其可以看作是只具有0层LoD内容的骨骼文件。对于二维的虚拟世界的对象模型的构造,本领域技术人员当然可以更为简单地构建,在此不再赘述。
对于基于或者至少部分基于由LoD数据模型的虚拟世界,本发明提出如图3所示的第一具体实施方式。在步骤301中,接收来自内容请求方的下载场景数据的请求,所述请求包括场景数据中的对象组的信息以及所述对象组中的对象的层次细节LoD信息。其中基于如图4所示用户视点所在的区域-感兴趣的区域(Area of Interest,AoI)对需要下载的场景数据的对象进行分组以形成所示对象组。在虚拟世界的场景模型中,可以进行如图4所示的区域划分(为简单起见,这里采用二维方式进行说明),例如场景(scene)大小为1024*1024,均匀划分单元格(cell)区域大小为128*128,则整个虚拟世界的场景就被划分为64个单元格区域,单元格区域的全局唯一标识符为对应的X,Y坐标值。比如用户视点所在的区域41的坐标为(3,4)。值得注意的是,这些数据仅仅是示例性的,而不能理解为对本发明的限制。可以设定包括用户视点的感兴趣区域(Area of Interest,AoI)的半径为一个单元格,即与当前视点所处的单元格距离为一个单元格都是感兴趣的区域43,当然也可以根据需要以多个单元格作为半径。虽然这里示例性的给出正方形(体)的场景网格划分,但可以采用各种形状的网格划分。其中在虚拟世界的场景中的各个对象在任何时刻的位置都可以由服务器记录,比如图4中的对象O47在虚拟世界的坐标为(576,576),就可以计算出对象O 47处于单元格(4,4)中(如果是三维表示,则应该加上Z向坐标)。如此就可以确定需要下载的区域为视点所在区域和周围的8个区域,内容请求方(例如客户端、或者客户代理等)可以优先请求下载视点所在区域41包括的对象形成的对象组,然后按照顺时钟/逆时针的方法逐个请求分层下载其它周围的8个区域包括的对象形成的对象组。当然也可以要求将感兴趣区域43中的对象组成一个对象组一次下载。对象组的标识符可以采用该区域的唯一的全局标识符,例如区域坐标(x,y)(三维表示则将加上Z向坐标),也可以采用各个对象的唯一标识符组合而成的对象组的标识信息。采用单元区域半径的方式来确定AoI区域可以大大减少服务器的计算量,并且大大提高用户的体验。当然本领域技术人员可以构思出各种标识的方法、优先下载策略以及不同的适用的AoI定义。另外内容请求方在下载请求中还提供所述对象组中的对象的层次细节LoD信息,即目前需要下载所述对象的哪一层的LoD内容。如果需要可以在后面的下载扩展到虚线所示的区域。AoI的区域可以比其它区域下载更多层次LoD内容,比如AoI的区域下载第2层LoD内容,而虚线区域之后下载第1层LoD内容,这样有利于保证用户的AoI区域的显示质量,提高用户体验。在步骤303中,根据所述场景数据中的对象组的信息以及所述对象的LoD信息,打包所述对象组中的所述对象的LoD内容。由于内容请求方的下载请求中包括了有关场景数据中的对象组的信息以及有关所述对象的LoD信息,则可以通过有关场景数据中的对象组的信息找到该对象组中的各个对象以及各个对象所对应的场景对象数据,而利用所述对象的LoD信息就可以确定需要下载所述对象的哪一层的LoD内容。将所得到的所有LoD内容进行打包。而对所述所有LoD内容进行打包的优选实施方式将下面结合图5进行说明。在步骤305中,向所述内容请求方发送所述对象组所对应的打包的LoD内容。采用本发明的该第一具体实施方式,可以使得用户能够流畅地看到虚拟世界的场景中的多个对象,而不像现有技术中存在等待很长时间且看到的场景中的对象不连续地出现的缺陷。
图5示出了本发明的第二具体实施方式,其为对上述步骤303的进一步具体优化。在步骤501中,获取所述对象组中的所述对象所对应的LoD模型文件。如果来自内容请求方的下载请求中提供了区域的全局标识符,由于内容服务器记录了当前区域内包括的对象,则可以根据该记录而检索这些对象所对应的LoD模型文件。如果所述下载请求是直接将多个对象的唯一标识符提供给内容服务器,则可以直接根据这些对象的唯一标识符检索这些对象所对应的LoD模型文件。在步骤503中,基于获取到的LoD模型文件提取由所述对象的LoD信息指定的LoD内容。正如上面所提到的LoD模型文件采用分层的方式记录对象的场景数据,根据所述对象的LoD信息,即需要哪一层的LoD内容,从场景对象数据的LoD模型文件中提取该层LoD内容的数据块。在步骤505中,打包所提取的由所述对象的LoD信息指定的LoD内容。在现有的技术中,倾向于将上述多个LoD内容分别包装成多个HTTP包而发送给用户,这样就带了了大量的包头(header)的开销。图6、7示出了本发明的一种优选的打包方式。不同于现有技术,本发明将上述多个LoD内容如图6所示形成一个大的HTTP包而发送给用户,这样就节省了大量包头的开销。图7则示出了形成的打包的数据格式。其中打包数据为一个数据包(PackageData),其包括三部分数据:包头(header)记录了该数据包的ID,版本号,整个包数据的字节数(size),包含的场景对象数量(counts);中间数据记录了每个场景对象数据(Obj1 data,Obj2 data,......);数据包最后是一个CRC校验码。每个场景对象数据中可以包括三类数据:1个模型数据,1个或多个纹理数据和0-1个骨骼数据。对象的场景数据(object data)依次是如下数据:对象ID(Obj ID):一个固定大小的数据;
细节层次信息(LoD):一个固定大小的数据
对象数据包含的数据块个数(Block Counts):1个固定大小的数据
下面依次是数据块,每个数据块包含以下数据:
数据块ID(Block ID):一个固定大小的数据;
数据类型(type):是模型数据还是纹理数据还是骨骼数据,固定大小数据;
数据块的数据大小字节数(Data size):一个固定大小的数据;
数据块的真实数据(Data),变长数据,大小是上个数据端给出的字节数。
上述数据包结构仅仅是示例性的,而不能理解成对本发明的具体限制。
作为优选,可以为上述数据包生成一个数据包唯一标识符,并将该数据包的唯一标识符发送给内容请求方。内容请求方接受到所述数据包的唯一标识符,并请求下载所述数据包,内容服务器则根据该请求向所述内容请求方发送所述对象组所对应的打包的LoD内容。采用这样方式可以避免内容请求方在发送完下载请求后在等待打包的期间处于空等待的状态,从而有利于提高内容请求方的利用效率。
图8则结合本发明用于提供虚拟世界的场景数据的系统示出了本发明的第三具体实施方式。下面详细说明本发明的整个方法流程和系统。其中如箭头1所示,客户端的资源管理模块接收由用户交互模块(Human ComputerInteraction and Graphical User Interface)系统根据用户视点发出的场景对象组的列表组成的下载请求。如箭头2所示,内容请求方801的资源管理模块809检查本地缓存807是否有这些场景对象的资源文件,对于本地有资源的场景对象则从所述下载列表中剔除。如步骤3所示,内容请求方801启动下载策略计算,下载策略有很多方法,例如根据上述感兴趣的区域概念和细节层次(LoD)产生一个包括场景对象的对象组的列表,然后再根据感兴趣区域单元格和视点的距离进行排序,可用将距离近的在列表的前端反之在后端,或者简单地按照将兴趣域单元格的周围单元格按顺时钟的方向进行下载等等,本领域技术人员基于本申请可以选择任何合适的下载策略。如箭头4所示,内容请求方801将所述列表中需要优先下载的包含场景对象的对象组向虚拟世界服务器803发送下载请求,该下载请求包括了对象组的标识信息和对象组中对象的细节层次信息。
如箭头5所示,虚拟世界服务器803接收到下载请求,虚拟世界服务器803的内容服务模块从资源数据库中找到相应的文件数据进行打包。打包的方式可以按照上面介绍的各种实施方式。如箭头6所示,虚拟世界服务器803为打包数据生成一个唯一标识符并发送给内容请求方801,同时通知可以进行下载。
进行到箭头7所示的步骤,由内容请求方801的资源管理模块809接收到打包数据的唯一标识,并交给下载管理模块815启动下载任务。如箭头8所示的步骤,内容请求方801开始下载打包数据,下载过程可以是多线程的对多个打包数据进行下载,还可以采用比如HTTP、FTP、TCP/IP等方式进行下载。如箭头9所示的步骤,内容请求方801对下载内容可以不需要等待全部内容下载完毕,可以下载部分内容后就进行解析,当然也可以等待整个包都下载完后进行解析。如果发现本地缓存807中有低级别的细节表示数据,则将当前数据(比如当前层次的LoD内容)与之前的数据(比如其它层次的LoD内容)进行合并生成新的数据,并将解析的数据或者合并的数据存储在本地缓存807中。由于发送的打包数据是采用如图7所示的数据结构,因此在内容请求方801的解析可以按照下述方法进行:
1)首先读取包头,确定所述对象组对应的打包的LoD内容包含多少对象的场景对象数据;
2)依次读取各个对象的场景对象数据的LoD内容:
a)读取场景对象ID;
b)读取场景对象数据的细节层次数(LoD);
c)读取场景对象包含数据块个数(Block Counts);
d)依次读入数据块数据:
i.读取一个数据块ID;
ii.读取该数据块类型,如果是模型数据,进入纹理数据的处理流程;如果是纹理数据进入纹理数据的处理流程;如果是骨骼数据进入骨骼数据的处理流程;
iii.读取该数据块的数据大小字节数;
iv.读入上步骤指示出的字节数的数据,再根据该数据块的类型进行相应类型的处理。
但本发明并不限定于上述的解析方式,本领域技术人员基于本发明当然还可以构思出其它的解析实现方式。
进行到箭头10所示的步骤,在新数据生成后,可以通知资源管理模块809进行数据更新了,则如箭头11所示,由渲染引擎根据新的数据进行绘制,以向用户呈现相关虚拟世界的场景对象。
本发明另一方面还提供一种用于提供虚拟世界的场景数据的系统900。系统900包括下载请求接收装置901、打包装置903和发送装置905。其中所述下载请求接收装置901用于接收来自内容请求方的下载场景数据的请求,并且所述请求包括场景数据中的对象组的信息以及所述对象组中的对象的层次细节LoD信息;所述打包装置903用于基于所述场景数据中的对象组的信息以及所述对象的LoD信息,从而打包所述对象组中的所述对象的LoD内容;以及发送装置905用于向所述内容请求方发送所述对象组所对应的打包的LoD内容。其中所述对象组的信息包括所述对象组在所述虚拟世界中的全局标识符,其中所述对象组中的所述对象的LoD信息包括需要下载所述对象的哪一层的LoD内容。
优选地,其中所述对象的场景对象数据包括LoD模型文件,所述打包装置903包括:用于检索所述对象组中的所述对象所对应的LoD模型文件的装置;用于基于检索到的LoD模型文件提取由所述对象的LoD信息指定的LoD内容的装置;用于打包所述对象组对应的所提取的LoD内容的装置。
优选地,其中所述用于打包所述对象组对应的所提取的LoD内容的装置包括:用于将所提取的LoD内容形成一个数据包,其中所述数据包包括包头、对象数据,所述包头记录了所述对象组包含的对象的数量,所述对象组中的所述对象的对象数据包括所述对象对应的LoD内容的装置。
优选地,其中所述对象的场景对象数据还包括纹理文件和骨骼文件中至少之一,其中所述纹理文件包括LoD内容。
优选地,其中所述发送装置905包括:用于向所述内容请求方发送所述打包的LoD内容形成的数据包的唯一标识符的装置;用于响应于所述内容请求方根据接收到的所述数据包的唯一标识符请求下载所述数据包,向所述内容请求方发送所述对象组所对应的打包的LoD内容的装置。
优选地,其中所述对象组包括用户感兴趣区域中的对象,所述对象组中的对象包括三维动态对象,所述系统还包括用于通过采用虚拟世界中的单元区域半径的方式来确定用户感兴趣区域的装置。
另外,根据本发明的用于提供虚拟世界的场景数据的方法和系统还可以通过计算机程序产品来实施,该计算机程序产品包括用于当在计算机上运行所述计算机程序产品时执行以实施本发明的仿真方法的软件代码部分。
还可以通过在计算机可读记录介质中记录一计算机程序来实施本发明,该计算机程序包括用于当在计算机上运行所述计算机程序时执行以实施根据本发明的仿真方法的软件代码部分。即,根据本发明的仿真方法的过程能够以计算机可读介质中的指令的形式和各种其它形式分发,而不管实际用来执行分发的信号承载介质的特定类型。计算机可读介质的例子包括诸如EPROM、ROM、磁带、纸、软盘、硬盘驱动器、RAM和CD-ROM的介质以及诸如数字和模拟通信链路的传输型介质。
尽管参考本发明的优选实施例具体展示和描述了本发明,但是本领域一般技术人员应该明白,在不脱离所附权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种修改。

Claims (21)

1.一种用于提供虚拟世界的场景数据的方法,包括:
接收来自内容请求方的下载场景数据的请求,所述请求包括场景数据中的对象组的信息以及所述对象组中的对象的层次细节LoD信息;
根据所述场景数据中的对象组的信息以及所述对象的LoD信息,打包所述对象组中的所述对象的LoD内容;以及
向所述内容请求方发送所述对象组所对应的打包的LoD内容。
2.如权利要求1所述的方法,其中所述对象的场景数据包括LoD模型文件,所述打包所述对象组中的所述对象的LoD内容包括:
获取所述对象组中的所述对象所对应的LoD模型文件;
基于获取到的LoD模型文件提取由所述对象的LoD信息指定的LoD内容;
打包所提取的由所述对象的LoD信息指定的LoD内容。
3.如权利要求2所述的方法,其中所述打包所提取的由所述对象的LoD信息指定的LoD内容包括:
将所提取的LoD内容形成一个数据包,其中所述数据包包括包头、对象数据,所述包头记录了所述对象组包含的对象的数量,所述对象组中的所述对象的对象数据包括所述对象对应的LoD内容。
4.如权利要求2所述的方法,其中所述对象的场景数据还包括纹理文件,所述纹理文件包括LoD内容。
5.如权利要求1所述的方法,其中所述向所述内容请求方发送所述对象组所对应的打包的LoD内容包括:
向所述内容请求方发送所述打包的LoD内容形成的数据包的唯一标识符;
响应于所述内容请求方根据接收到的所述数据包的唯一标识符请求下载所述数据包,向所述内容请求方发送所述对象组所对应的打包的LoD内容。
6.如权利要求1所述的方法,其中所述对象组包括用户感兴趣区域中的对象,所述对象组中的对象包括三维动态对象。
7.如权利要求6所述的方法,其中通过采用虚拟世界中的单元区域半径的方式来确定用户感兴趣区域。
8.如权利要求1所述的方法,其中所述对象组中的所述对象的LoD信息包括需要下载所述对象的哪一层的LoD内容。
9.如权利要求1所述的方法,其中所述对象组的信息包括所述对象组在所述虚拟世界中的全局标识符。
10.如权利要求9所述的方法,其中所述对象组在所述虚拟世界中的全局标识符为所述对象组中的对象所在的虚拟世界单元区域的坐标。
11.一种用于提供虚拟世界的场景数据的方法,包括:
向服务器发送下载场景数据的请求,所述请求包括有关场景数据中的对象组的信息以及所述对象组中的对象的层次细节LoD信息;
接收所述对象组对应的打包的LoD内容,其中所述对象组对应的打包的LoD内容是由所述服务器根据所述有关场景数据中的对象组的信息以及所述对象的LoD信息,打包所述对象组中的对象的LoD内容所得到的。
12.如权利要求11所述的方法,所述接收所述对象组对应的打包的LoD内容包括:
响应于接收到服务器发送的所述打包所述对象组中的对象的LoD内容形成的数据包的唯一标识符,基于所述唯一标识符向所述服务器请求下载所述数据包;
接收由所述服务器发送的所述对象组对应的打包的LoD内容。
13.如权利要求11所述的方法,还包括:
接收包括根据用户视点确定的场景的对象组的列表的下载请求;
检查本地缓存是否有这些场景的对象组中的对象的资源文件,从列表的对象组中剔除对于本地有资源文件的场景的对象;
根据预定下载策略确定所述列表中的对象组的下载优先次序;以及
根据所述对象组的下载优先次序,针对需要优先下载的对象组生成所述下载场景数据的请求。
14.如权利要求11或12所述的方法,还包括:
确定所述对象组对应的打包的LoD内容包含多少对象的场景数据;
依次读取各个对象的场景数据的LoD内容;以及
基于所述读取的场景数据的LoD内容进行场景渲染。
15.一种用于提供虚拟世界的场景数据的系统,包括:
下载请求接收装置,接收来自内容请求方的下载场景数据的请求,所述请求包括场景数据中的对象组的信息以及所述对象组中的对象的层次细节LoD信息;
打包装置,根据所述场景数据中的对象组的信息以及所述对象的LoD信息,打包所述对象组中的所述对象的LoD内容;以及
发送装置,向所述内容请求方发送所述对象组所对应的打包的LoD内容。
16.如权利要求15所述的系统,其中所述对象的场景数据包括LoD模型文件,所述打包装置包括:
用于检索所述对象组中的所述对象所对应的LoD模型文件的装置;
用于根据检索到的LoD模型文件提取由所述对象的LoD信息指定的LoD内容的装置;
用于打包所提取的由所述对象的LoD信息指定的LoD内容的装置。
17.如权利要求16所述的系统,其中所述用于打包所提取的由所述对象的LoD信息指定的LoD内容的装置包括:
用于将所提取的LoD内容形成一个数据包,其中所述数据包包括包头、对象数据,所述包头记录了所述对象组包含的对象的数量,所述对象组中的所述对象的对象数据包括所述对象对应的LoD内容的装置。
18.如权利要求16所述的系统,其中所述对象的场景数据还包括纹理文件,所述纹理文件包括LoD内容。
19.如权利要求15所述的系统,其中所述发送装置包括:
用于向所述内容请求方发送所述打包的LoD内容形成的数据包的唯一标识符的装置;
用于响应于所述内容请求方根据接收到的所述数据包的唯一标识符请求下载所述数据包,向所述内容请求方发送所述对象组所对应的打包的LoD内容的装置。
20.如权利要求15所述的系统,其中所述对象组包括用户感兴趣区域中的对象,所述对象组中的对象包括三维动态对象,所述系统还包括用于通过采用虚拟世界中的单元区域半径的方式来确定用户感兴趣区域的装置。
21.一种用于提供虚拟世界的场景数据的系统,包括:
资源管理模块,用于确定场景数据中的对象组的信息以及所述对象组中的对象的LoD信息,并向服务器发送下载场景数据的请求,所述请求包括场景数据中的对象组的信息以及所述对象组中的对象的LoD信息;
下载管理模块,用于接收所述对象组对应的打包的LoD内容,其中所述对象组对应的打包的LoD内容是由所述服务器根据所述场景数据中的对象组的信息以及所述对象的LoD信息,打包所述对象组中的对象的LoD内容而得到的。
CN201010181999.6A 2010-05-21 2010-05-21 用于提供虚拟世界的场景数据的方法和系统 Active CN102255930B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201010181999.6A CN102255930B (zh) 2010-05-21 2010-05-21 用于提供虚拟世界的场景数据的方法和系统
PCT/EP2011/057278 WO2011144464A2 (en) 2010-05-21 2011-05-06 Providing scene data of virtual world
EP11718376A EP2572513A2 (en) 2010-05-21 2011-05-06 Providing scene data of an area of interest of a virtual world
JP2013510555A JP5723973B2 (ja) 2010-05-21 2011-05-06 仮想世界のシーン・データを提供するための方法、システム、およびコンピュータ・プログラム
US13/110,033 US8947431B2 (en) 2010-05-21 2011-05-18 Method and system for providing scene data of virtual world

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010181999.6A CN102255930B (zh) 2010-05-21 2010-05-21 用于提供虚拟世界的场景数据的方法和系统

Publications (2)

Publication Number Publication Date
CN102255930A true CN102255930A (zh) 2011-11-23
CN102255930B CN102255930B (zh) 2014-04-02

Family

ID=44626232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010181999.6A Active CN102255930B (zh) 2010-05-21 2010-05-21 用于提供虚拟世界的场景数据的方法和系统

Country Status (5)

Country Link
US (1) US8947431B2 (zh)
EP (1) EP2572513A2 (zh)
JP (1) JP5723973B2 (zh)
CN (1) CN102255930B (zh)
WO (1) WO2011144464A2 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819680A (zh) * 2012-07-31 2012-12-12 北京天神互动科技有限公司 在线角色扮演网络游戏的视野处理系统和方法
CN103226564A (zh) * 2012-01-31 2013-07-31 佳能株式会社 文档管理服务器及文档管理方法
CN103646415A (zh) * 2013-12-24 2014-03-19 秦皇岛数据产业研究院有限公司 基于双重约束的三维场景lod模型的选择调用方法
CN105246567A (zh) * 2013-05-31 2016-01-13 英派尔科技开发有限公司 受缓存影响的视频游戏
CN107045550A (zh) * 2017-04-25 2017-08-15 深圳市蜗牛窝科技有限公司 虚拟场景加载的方法和装置
CN107918646A (zh) * 2017-11-08 2018-04-17 珠海百丰网络科技有限公司 一种基于协议方式的三维模型数据处理方法及装置
CN109078324A (zh) * 2015-08-24 2018-12-25 鲸彩在线科技(大连)有限公司 一种游戏数据下载、重构方法及装置
CN113101668A (zh) * 2018-04-27 2021-07-13 网易(杭州)网络有限公司 虚拟场景生成方法、装置、存储介质及电子设备
CN114285888A (zh) * 2021-12-22 2022-04-05 福建天晴数码有限公司 一种实现无缝大世界的方法及其系统
US11317082B2 (en) 2018-01-25 2022-04-26 Sony Corporation Information processing apparatus and information processing method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112345A1 (ja) * 2013-01-16 2014-07-24 日本板硝子株式会社 抗ウイルス性薄膜つき基材
CN105991591B (zh) * 2015-02-13 2019-02-26 广州四三九九信息科技有限公司 游戏aoi同步方法
WO2017168038A1 (en) * 2016-03-31 2017-10-05 Umbra Software Oy Virtual reality streaming
CN107633542A (zh) * 2016-07-19 2018-01-26 珠海金山网络游戏科技有限公司 一种捏脸编辑和动画附加融合方法和系统
KR20220078298A (ko) * 2020-12-03 2022-06-10 삼성전자주식회사 적응적 증강 현실 스트리밍 제공 방법 및 이를 수행하는 장치
WO2024057903A1 (ja) * 2022-09-12 2024-03-21 ソニーグループ株式会社 情報処理装置および方法
US11954030B1 (en) 2022-11-21 2024-04-09 Bank Of America Corporation Real-time dynamic caching platform for metaverse environments using non-fungible tokens

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174332A (zh) * 2007-10-29 2008-05-07 张建中 一种将真实世界实时场景与虚拟现实场景结合交互的方法和装置以及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963209A (en) * 1996-01-11 1999-10-05 Microsoft Corporation Encoding and progressive transmission of progressive meshes
US6031548A (en) * 1997-06-13 2000-02-29 International Business Machines Corporation Progressive multi-level transmission and display of triangular meshes
JP2000099761A (ja) * 1998-09-25 2000-04-07 Hitachi Ltd グラフィックス処理装置及び方法
JP4740476B2 (ja) * 2000-08-23 2011-08-03 任天堂株式会社 グラフィックスシステム内におけるn個のアルファ演算の論理結合を提供する方法および装置
US7161599B2 (en) * 2001-10-18 2007-01-09 Microsoft Corporation Multiple-level graphics processing system and method
US7305396B2 (en) * 2002-12-31 2007-12-04 Robert Bosch Gmbh Hierarchical system and method for on-demand loading of data in a navigation system
US20040249617A1 (en) * 2003-06-03 2004-12-09 Pccw-Hkt Datacom Services Limited Selective, pregressive transmission of 3D geometry models with the pre-ordered hierarchical meshes
US7920144B2 (en) * 2005-01-18 2011-04-05 Siemens Medical Solutions Usa, Inc. Method and system for visualization of dynamic three-dimensional virtual objects
CN102011513B (zh) 2009-09-04 2013-10-16 金泰祥精密五金(昆山)有限公司 号码锁归零装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174332A (zh) * 2007-10-29 2008-05-07 张建中 一种将真实世界实时场景与虚拟现实场景结合交互的方法和装置以及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANTONIO SI ET AL: "cyberWalk:A Web-based distributed virtual walkthrough environment", 《IEEE TRANSACTIONS ON MULTIMEDIA》, vol. 5, no. 4, 1 December 2003 (2003-12-01), XP011103228, DOI: doi:10.1109/TMM.2003.819094 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226564A (zh) * 2012-01-31 2013-07-31 佳能株式会社 文档管理服务器及文档管理方法
US9262417B2 (en) 2012-01-31 2016-02-16 Canon Kabushiki Kaisha Document management server and document management method
CN103226564B (zh) * 2012-01-31 2016-08-03 佳能株式会社 文档管理服务器及文档管理方法
CN102819680A (zh) * 2012-07-31 2012-12-12 北京天神互动科技有限公司 在线角色扮演网络游戏的视野处理系统和方法
CN105246567A (zh) * 2013-05-31 2016-01-13 英派尔科技开发有限公司 受缓存影响的视频游戏
CN105246567B (zh) * 2013-05-31 2016-09-14 英派尔科技开发有限公司 受缓存影响的视频游戏
CN103646415A (zh) * 2013-12-24 2014-03-19 秦皇岛数据产业研究院有限公司 基于双重约束的三维场景lod模型的选择调用方法
CN109078324B (zh) * 2015-08-24 2022-05-03 鲸彩在线科技(大连)有限公司 一种游戏数据下载、重构方法及装置
CN109078324A (zh) * 2015-08-24 2018-12-25 鲸彩在线科技(大连)有限公司 一种游戏数据下载、重构方法及装置
CN107045550A (zh) * 2017-04-25 2017-08-15 深圳市蜗牛窝科技有限公司 虚拟场景加载的方法和装置
CN107918646A (zh) * 2017-11-08 2018-04-17 珠海百丰网络科技有限公司 一种基于协议方式的三维模型数据处理方法及装置
US11317082B2 (en) 2018-01-25 2022-04-26 Sony Corporation Information processing apparatus and information processing method
CN113101668A (zh) * 2018-04-27 2021-07-13 网易(杭州)网络有限公司 虚拟场景生成方法、装置、存储介质及电子设备
CN113101668B (zh) * 2018-04-27 2024-05-28 网易(杭州)网络有限公司 虚拟场景生成方法、装置、存储介质及电子设备
CN114285888A (zh) * 2021-12-22 2022-04-05 福建天晴数码有限公司 一种实现无缝大世界的方法及其系统
CN114285888B (zh) * 2021-12-22 2023-08-18 福建天晴数码有限公司 一种实现无缝大世界的方法及其系统

Also Published As

Publication number Publication date
CN102255930B (zh) 2014-04-02
WO2011144464A3 (en) 2012-08-16
JP2013533529A (ja) 2013-08-22
EP2572513A2 (en) 2013-03-27
US20110285715A1 (en) 2011-11-24
WO2011144464A2 (en) 2011-11-24
US8947431B2 (en) 2015-02-03
JP5723973B2 (ja) 2015-05-27

Similar Documents

Publication Publication Date Title
CN102255930B (zh) 用于提供虚拟世界的场景数据的方法和系统
CN110706341B (zh) 一种城市信息模型的高性能渲染方法、装置及存储介质
US8736599B2 (en) Method for unified visualisation of heterogeneous datasets
CN105701851B (zh) 一种基于地理信息的三维渲染引擎系统
CN104063466A (zh) 虚拟-现实一体化的三维显示方法及系统
EP1764745A2 (en) Collaborative environments in a geographic information system
CN106780736A (zh) 地图数据处理方法及装置、三维地图生成方法及装置
CN103093499A (zh) 一种适用于网络传输的城市三维模型数据组织方法
CN105718480A (zh) 一种基于地理信息的海量三维数据调度的方法
CN112632683A (zh) 基于虚幻引擎的数字孪生城市空间定位方法、装置及存储介质
CN101719148B (zh) 三维空间信息的存储方法、装置、系统及查询系统
US20150178976A1 (en) View Dependent Level-of-Detail for Tree-Based Replicated Geometry
CN103309943A (zh) 一种三维地理信息平台及其地形数据处理方法
CN103679813B (zh) 三维数字地球的构建方法以及三维数字地球系统
Novák et al. Rasterized bounding volume hierarchies
Shan et al. Interactive visual exploration of halos in large-scale cosmology simulation
CN116152039B (zh) 图像渲染的方法
CN115718824A (zh) 一种通过空间距离判定设备位置自动推送设备信息的方法
US20220374496A1 (en) Techniques for accelerating matrix multiplication computations using hierarchical representations of sparse matrices
KR100715669B1 (ko) 다단계 해상도를 갖는 3차원 이미지 표현 장치 및 방법
TWI516069B (zh) 用於提供虛擬世界之情境資料之方法及系統
US8847949B1 (en) Streaming replicated geographic data for display in a three-dimensional environment
Kang et al. An efficient simplification and real-time rendering algorithm for large-scale terrain
Garanzha The use of precomputed triangle clusters for accelerated ray tracing in dynamic scenes
CN118193878B (zh) 数字露头实景三维模型快速加载方法、装置、设备及产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant