CN110830521A - Vr多人同屏数据同步处理方法及装置 - Google Patents
Vr多人同屏数据同步处理方法及装置 Download PDFInfo
- Publication number
- CN110830521A CN110830521A CN202010029297.XA CN202010029297A CN110830521A CN 110830521 A CN110830521 A CN 110830521A CN 202010029297 A CN202010029297 A CN 202010029297A CN 110830521 A CN110830521 A CN 110830521A
- Authority
- CN
- China
- Prior art keywords
- data
- network synchronization
- synchronization
- processing
- clients
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种VR多人同屏数据同步处理方法及装置,属于数据处理领域,VR多人同屏数据同步处理方法应用于与多个客户端通信连接的服务器,方法包括:过滤出当前客户端需要网络同步的数据;对需要网络同步的数据进行压缩处理;将压缩处理后的需要网络同步的数据发送至其他客户端;在其他客户端对接收的压缩处理后的需要网络同步的数据进行平滑处理。本发明公开的VR多人同屏数据同步处理方法及装置,可实现VR多人同屏顺畅无卡顿,解决现有技术中VR多人同屏网络同步数据延迟高、数据丢包、网络阻塞、连接断开的问题。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种VR多人同屏数据同步处理方法及装置。
背景技术
VR技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种虚拟场景,并配合特定的硬件设备使用,使用户能够沉浸到该虚拟场景中。
在VR多人游戏、交互、社交等多人互动项目中,需要把一个人的所有肢体形态同步到其他人的VR世界中,因此VR大空间中多人同屏产生需要同步的数据量极为庞大,会产生庞大的数据字节流,导致网络同步数据延迟高、数据丢包、网络阻塞、连接断开等问题,无法达到VR的体验要求,严重影响用户体验感。
发明内容
为了克服现有技术的不足,本发明所要解决的技术问题在于提出一种VR多人同屏数据同步处理方法及装置,以实现VR多人同屏顺畅无卡顿,解决现有技术中VR多人同屏网络同步数据延迟高、数据丢包、网络阻塞、连接断开的问题。
本发明所采用的技术方案是:
第一方面,本发明实施例提供了一种VR多人同屏数据同步处理方法,应用于与多个客户端通信连接的服务器,所述方法包括:
过滤出当前客户端需要网络同步的数据;
对所述需要网络同步的数据进行压缩处理;
将压缩处理后的需要网络同步的数据发送至其他客户端;
在其他客户端对接收的压缩处理后的需要网络同步的数据进行平滑处理。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述过滤出当前客户端需要网络同步的数据,包括:
获取当前客户端需要网络同步的物体的空间信息数据;
过滤出当前同步帧发生更改的空间信息数据。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述过滤出当前同步帧发生更改的空间信息数据,包括:
将当前客户端需要网络同步的物体的三维空间数据分别与上一帧的数据进行对比,偏差大于预设阈值则过滤为需要网络同步的数据。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述对所述需要网络同步的数据进行压缩处理,包括:
根据同步类型对所述需要网络同步的数据进行差值化处理;
对差值化处理后的需要网络同步的数据进行压缩处理。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述对差值化处理后的需要网络同步的数据进行压缩处理,包括:
根据数据类型范围给定差值化处理后的需要网络同步的数据的数据类型;
放入压缩队列进行压缩处理。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述根据同步类型对所述需要网络同步的数据进行差值化处理,包括以下至少之一:
根据线段同步对所述需要网络同步的数据进行差值化处理;
根据三次贝塞尔曲线同步对所述需要网络同步的数据进行差值化处理;
根据多边形路径同步对所述需要网络同步的数据进行差值化处理。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述在其他客户端对接收的压缩处理后的需要网络同步的数据进行平滑处理,包括:
根据接收的压缩处理后的数据的时间戳获得延迟;
基于延迟以及同步类型对接收的压缩处理后的数据进行平滑处理。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述对所述需要网络同步的数据进行压缩处理,还包括:
当前客户端帧率小于预设值时,对所述需要网络同步的数据进行压缩处理的压缩等级进行降级处理,和/或取消压缩处理。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,所述将压缩处理后的需要网络同步的数据发送至其他客户端之前,还包括:
根据待接收数据的客户端的视角范围对压缩处理后的需要网络同步的数据进行过滤处理。
第二方面,本发明实施例提供了一种VR多人同屏数据同步处理装置,应用于与多个客户端通信连接的服务器,所述装置包括:
过滤模块,用于过滤出当前客户端需要网络同步的数据;
压缩模块,用于对所述需要网络同步的数据进行压缩处理;
传输模块,用于将压缩处理后的需要网络同步的数据发送至其他客户端;
平滑处理模块,用于对接收的压缩处理后的需要网络同步的数据进行平滑处理。
与现有技术相比,本发明的有益效果是:
本发明提供的VR多人同屏数据同步处理方法及装置,应用于与多个客户端通信连接的服务器,通过过滤出当前客户端需要网络同步的数据,针对所述需要网络同步的数据进行压缩处理,将压缩处理后的需要网络同步的数据发送至其他客户端,并在其他客户端对接收的压缩处理后的需要网络同步的数据进行平滑处理。本发明提供的VR多人同屏数据同步处理方法及装置,即针对每一客户端需要网络同步的物体的信息数据进行过滤,将过滤出的需要网络同步的数据进行压缩处理,针对性地减小数据传输大小,降低数据网络同步压力,解决因多人同屏产生的庞大的数据字节流而导致的数据丢包、网络阻塞、连接断开等问题,而后再发送给其他客户端并针对需要网络同步的数据进行平滑处理,使得在其他客户端的画面帧率与发送的客户端的画面帧率数据保持一致性,使得VR多人同屏顺畅无卡顿,提升用户体验感。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的服务器与客户端进行交互的示意图;
图2是本发明具体实施例提供的服务器的示意图;
图3是本发明具体实施例提供的VR多人同屏数据同步处理方法的流程图;
图4是本发明具体实施例提供的图3中步骤S101的流程图;
图5是本发明具体实施例提供的图3中步骤S102的流程图;
图6是本发明具体实施例提供的图5中步骤S1022的流程图;
图7是本发明具体实施例提供的图3中步骤S104的流程图;
图8是本发明具体实施例提供的VR多人同屏数据同步处理装置的功能模块图;
图9是本发明具体实施例提供的线段同步示意图;
图10是本发明具体实施例提供的三次贝塞尔曲线同步示意图;
图11是本发明具体实施例提供的多边形路径同步示意图;
图12是本发明具体实施例提供的设置有6个激光定位器的人身正面示意图;
图13是本发明具体实施例提供的设置有6个激光定位器的人身反面示意图;
图14是本发明具体实施例提供的设置有13个激光定位器的人身正面示意图;
图15是本发明具体实施例提供的设置有13个激光定位器的人身反面示意图;
图16是本发明具体实施例提供的人身22根骨骼分布示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1示出了本发明实施例提供的服务器与客户端进行交互的示意图。服务器通过网络与多个客户端进行通信连接,以进行数据通信或交互。客户端可以是自带有VR显示装置的VR头盔等专用设备,也可以是作为数据传输装置的手机、平板电脑、作为VR显示装置的VR眼镜所构成的组合设备。客户端与空间信息采集装置连接,空间信息采集装置能够将客户端的用户做出的行为(肢体关键点、骨骼)、客户端需要网络同步的物体等转化为相应的空间信息数据,并发送给客户端,空间信息采集装置包括能够捕捉用户肢体关键点、骨骼等具体行为内容的传感器、扫描仪、定位器等设备,空间信息采集装置一般固定在用户身体上或者设置在用户附近,例如可采用绑在人身上的6个或者13个激光定位器。如图12和图13所示,采用6个激光定位器时,6个激光定位器分别设置于人的额头、左手背、右手背、后腰、左脚背、右脚背,图中圆圈表示激光定位器。如图14和图15所示,采用13个激光定位器时,13个激光定位器分别设置于人的额头、左上臂、左前臂、右上臂、右前臂、后背、后腰、左大腿、左小腿、左脚背、右大腿、右小腿、右脚背,图中圆圈表示激光定位器。
图2示出了本发明实施例提供的服务器的结构示意图,服务器包括存储器、处理器以及网络模块。存储器可用于存储软件程序以及模块,如本发明实施例提供的VR多人同屏数据同步处理方法及装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例提供的VR多人同屏数据同步处理方法及装置。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。进一步地,上述存储器内的软件程序以及模块还可包括:操作系统以及服务模块。其中操作系统,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块运行在操作系统的基础上,并通过操作系统的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块用于向客户端提供网络服务。网络模块用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。
可以理解,图2所示的结构仅为示意,服务器还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器不限于一台服务器,其可以是多台具有不同功能的服务器的组合,也可以不与物理服务器对应,例如是虚拟主机或云服务器。
VR多人同屏是VR项目中的关键环节,当一用户做出一具体行为后,该用户对应的虚拟形象在服务器维护的虚拟场景中也做出相同的或相应的行为,并且该虚拟形象所做出的行为能够被该虚拟场景下的其他用户所观察到。在数据层面,用户动作与空间信息数据相对应,做出动作的用户的客户端需要将该空间信息数据上传至服务器,再由服务器将该行为数据下发给同一虚拟场景下的其他用户的客户端,这些客户端的用户才能够通过各自客户端的VR显示装置看到该做出动作的用户对应的虚拟形象的行为。
VR项目中需要把一个客户端的用户的所有肢体形态同步到其他人的VR世界中,需要同步的数据量极为庞大,会产生庞大的数据字节流,导致网络同步数据延迟高、数据丢包、网络阻塞、连接断开等问题,无法达到VR的体验要求。发明人经长期研究,提出一种VR多人同屏数据同步处理方法及装置,以解决上述技术问题,提升用户体验感。
实施例一
如图3所示,本实施例提供了一种VR多人同屏数据同步处理方法,应用于与多个客户端通信连接的服务器,方法包括:
步骤S101:过滤出当前客户端需要网络同步的数据;
步骤S102:对需要网络同步的数据进行压缩处理;
步骤S103:将压缩处理后的需要网络同步的数据发送至其他客户端;
步骤S104:在其他客户端对接收的压缩处理后的需要网络同步的数据进行平滑处理。
本实施中以运行VR项目72 fps 、5个人(即5个客户端,每个客户端一个用户)、每个人22根骨骼为例,进行介绍。
计算机数据单位:
1MB = 1024KB;
1KB = 1024Byte。
本实施中,有关字母定义:
N = 人数;
F = VR运行帧率(每秒运行72帧);
SN = 人物骨骼数量(22根);
Pks = 服务器每秒需要转发的数据包个数(即服务器每秒上行下行数据包个数);
Size = 每个数据包在计算机的大小。
//每根骨骼在计算机中的结构体;
Packet Struct
{
Uint64 timestamp; //当前时间戳; 占8个Byte
Uint64 userid; //角色id; 占 8个 Byte
Float32[9] position; //空间中位置; 占 9 * 4 个Byte
Float32[12] quaternion; //空间中方向 占 12 * 4 个Byte
Float32[9] scale; //空间中大小; 占 9 * 4 个Byte
}
根据以上结构体序列化出来的字节流大小T=(8+8+(9*4) +(12*4) +(9*4))*SN = 136Byte * 22=2992Byte
传输数据包的头部字节流大小Header=2Byte
传输数据包的尾部字节流大小Footer=2Byte
则Size =Header+T+Footer=2Byte + 2992Byte + 2Byte
Size = 2996Byte
Pks = (N–1) * N * F
Pks = (5 - 1) * 5 * 72 = 1440
服务器每秒上行下行流量:Size * Pks = 4314240Byte = 4213.125KB = 4.1143MB
VR中每个人每秒上行流量:Size * F = 215712 Byte = 210.66KB = 0.205MB
VR中每个人每秒下行流量:Size * (N–1) * F = 862848 Byte = 842.625KB=0.823MB
图4示出了本发明具体实施例提供的VR多人同屏数据同步处理方法的步骤S101的流程图。
其中,步骤S101中,过滤出当前客户端需要网络同步的数据,包括:
步骤S1011:获取当前客户端需要网络同步的物体的空间信息数据。
其中,根据绑在每个客户端的用户身上的6个或者13个激光定位得到用户22根骨骼的空间信息数据。
根据空间信息数据在服务器虚拟场景中产生与之相同的动作映射同步效果,是根据空间信息数据进行Ik计算,得出22根骨骼空间信息数据产生人物在VR世界中的一模一样的动作映射。其中,当前客户端可只需要同步6个或者13个激光定位的空间信息数据,然后每个接收的客户端自己进行Ik计算达到同步效果,或者每个客户端同步在本地进行Ik计算后的22根骨骼的空间信息数据。图16示出了22根骨骼在人身上的分布,无论6个激光定位器或13个激光定位器均可使用逆向Ik算法算出22根骨骼信息。
步骤S1012:过滤出当前同步帧发生更改的空间信息数据。
其中,步骤S1012中,过滤出当前同步帧发生更改的空间信息数据,包括:
将当前客户端需要网络同步的物体的三维空间数据与上一帧的数据进行对比,偏差大于预设阈值则过滤为需要网络同步的数据。本实施中,预设阈值为0.0001m-0.001m,本实施例中优选为0.0005m,当然预设阈值亦可为其他数值,可根据网络环境和表现效果进行设置,数值越小效果越好,流量越大。物体的三维空间数据包括反映物体空间位置的空间位置数据、反映物体空间方向的空间方向数据,分别用三维坐标点(x,y,z)和空间方向四元数(x,y,z,w)表征物体的空间位置数据和空间方向数据,当前物体的三维坐标点(x,y,z)与上一帧三维坐标点(x,y,z)之差反映物体空间位置的变动,当前物体的空间方向四元数(x,y,z,w)与上一帧空间方向四元数(x,y,z,w)之差反映物体空间方向的变动。即对每一帧可能产生的数据的对象进行监管,当前客户端需要网络同步的物体的空间位置数据、空间方向数据分别与上一帧的数据进行对比,偏差大于0.0005m则为视为需要网络同步的数据,小于或等于0.0005m的数据进行忽略。
图5示出了本发明具体实施例提供的VR多人同屏数据同步处理方法的步骤S102的流程图。
其中,步骤S102中,对需要网络同步的数据进行压缩处理,包括:
步骤S1021:根据同步类型对需要网络同步的数据进行差值化处理;
其中,根据同步类型对需要网络同步的数据进行差值化处理,包括以下至少之一:
1)根据线段同步对需要网络同步的数据进行差值化处理。
参考图9,线段同步只需要同步端点及交点(相邻两线段的交点)的关键点空间信息数据,不需要每帧都同步(1帧的时间=1000 / F=1000 / 72=13.88889ms),每个圆点代表每一帧,实心圆点代表需要同步的点,空心圆点的帧数据不需要同步,使用3D数学中的点对点差值算法即可。
2)根据三次贝塞尔曲线同步对需要网络同步的数据进行差值化处理。
参考图10,三次贝塞尔曲线同步,只需要同步4个点空间信息数据,即图中P1、P2、P3、P4,同步公式:
P(t) = (1- t)*(1- t) *(1- t) *P1 + 3t *(1- t)*(1- t)*P2 + 3t * 3t *(1-t)* P3 + t * t * t * P4
3)根据多边形路径同步对需要网络同步的数据进行差值化处理。
参考图11,多边形路径同步,公式:
P(t)=P1*k1+P2*k2+P3*k3+P4*k4
其中,k1、k2、k3、k4为时间。
例如,从0到1秒完成的曲线路径:
P(0)=P1*1+P2*0+P3*0+P4*0
P(1)=P1*0+P2*0+P3*0+P4*1
多边形路径同步亦可为多次贝塞尔曲线同步或Spline Curves同步。
若采用多次贝塞尔曲线同步,则公式为:
通过差值化处理,减小数据大小。
步骤S1022:对差值化处理后的需要网络同步的数据进行压缩处理。
图6示出了本发明具体实施例提供的VR多人同屏数据同步处理方法的步骤S1022的流程图。
其中,步骤S1022中,对差值化处理后的需要网络同步的数据进行压缩处理,包括:
步骤S10221:将差值化处理后的需要网络同步的数据放入等待列表;
步骤S10222:根据数据类型范围给定等待列表中差值化处理后的需要网络同步的数据的数据类型;
数据类型在数学领域的范围:
Uint8:0–255
Uint16:0–65535
Uint32:0–4294967295
Uint64:0–18446744073709551615
Float32:-3.4*10(-38)~3.4*10(38)
Double64:-1.7*10(-308)~1.7*10(308)
具体可参考下表:
表1:
表2:
其中,Uint8、Uint16、Uint32、Uint64采用的开发语言为Golang和C# ( csharp )。
根据Uint8、Uint16、Uint32、Uint64、float32、Double等数据类型的范围,对差值化处理后的需要网络同步的数据进行判定,针对不同数据给定对应范围的数据类型,减少数据大小。
步骤S10223:将经过步骤S10222处理后的数据放入压缩队列进行压缩处理。把压缩后的数据包丢进网络队列排队发送到服务器。
其中,压缩处理为LZW压缩或者gzip数据压缩。
其中,步骤S10223中,将经过步骤S10222处理后的数据放入压缩队列进行压缩处理时:
当前客户端帧率小于预设值时,对需要网络同步的数据进行压缩处理的压缩等级进行降级处理,和/或取消压缩处理。本实施中,预设值为72fps。
其中,动态根据数据大小进行压缩等级设置:
(1)小于512字节的数据不进行压缩,无需运行复杂的压缩算法代码,可直接跳过压缩算法,所以不对CPU造成性能开销;
(2)大于512字节而小于2048字节的数据,视为一级压缩处理;
(3)大于2048的数据,视为二级压缩处理。
即每个客户端具有监控机制来调控,为了保持帧率在72fps,在数据量较大的情况下,无法保持在72fps运行,使人感觉卡顿,这个时候监控机制被触发,对一些包压缩等级进行降级或者不压缩,减少CPU压力。
其中,步骤S103中,将压缩处理后的需要网络同步的数据发送至其他客户端之前,还包括步骤:
根据待接收数据的客户端的视角范围对压缩处理后的需要网络同步的数据进行过滤处理。通过过滤掉不在视角范围、掉线、距离太远的数据,减少客户端接收没必要进行处理的消息,减少服务端下行流量压力。
如图7示出了本发明具体实施例提供的VR多人同屏数据同步处理方法的步骤S104的流程图。
其中,步骤S104中,在其他客户端对接收的压缩处理后的需要网络同步的数据进行平滑处理,包括:
步骤S1041:根据接收的压缩处理后的数据的时间戳获得延迟;
本实施例中,每个客户端运行的帧率都是72fps,(1帧的时间=1000 / F=1000 / 72=13.88889ms),本地有接受数据的延迟偏差,在0.0 - 13.8880ms,内网网络传输数据延迟偏差在0 - 1ms,外网网络传输数据来回延迟偏差在30–50ms之间(外网较特殊,网络较差时,延迟偏差可达100ms)。
当客户端接收到网络传输过来的压缩处理后的数据,按照顺序进行解压、解包、获取包体、丢入广播队列等待广播到逻辑中。在得到的每个数据包中都有一个timestamp(时间戳)记入了发生的时间,根据队列中数据包的个数和最后一个数据包的时间戳判断延迟。
原理如下:
若第一数据包和最后一个数据包的时间差是A毫秒(该A毫秒为根据发送数据的客户端所计算的时间),当前和服务器延迟是lag毫秒,第一个数据包产生的时间为C,当前服务器时间为D,则第一个数据包至最后一个数据包总共相差的时间应为t1=A+(D-C)+lag,得到延迟t2=(D-C)+lag。
步骤S1042:基于延迟以及同步类型对接收的压缩处理后的数据进行平滑处理。
根据同步类型,将步骤S1041中得到的t2代入同步类型对应的公式中进行加速差值处理,或者直线差值加速处理,使接收数据的客户端的画面帧率和发送数据的客户端的画面帧率数据保持一致性。
由以上可知,本发明实施例提供的VR多人同屏数据同步处理方法,即针对每一客户端需要网络同步的物体的信息数据进行过滤,将过滤出的需要网络同步的数据进行压缩处理,针对性地减小数据传输大小,降低数据网络同步压力,解决因多人同屏产生的庞大的数据字节流而导致的数据丢包、网络阻塞、连接断开等问题,而后再发送给其他客户端并针对需要网络同步的数据进行平滑处理,使得在其他客户端的画面帧率与发送的客户端的画面帧率数据保持一致性,使得VR多人同屏顺畅无卡顿,提升用户体验感。
实施例二
如图8所示,本实施提供了一种VR多人同屏数据同步处理装置,应用于与多个客户端通信连接的服务器,VR多人同屏数据同步处理装置包括:
过滤模块,用于过滤出当前客户端需要网络同步的数据;
压缩模块,用于对需要网络同步的数据进行压缩处理;
传输模块,用于将压缩处理后的需要网络同步的数据发送至其他客户端;
平滑处理模块,用于对接收的压缩处理后的需要网络同步的数据进行平滑处理。
本发明实施例中,过滤模块包括:
空间信息数据获取子模块,用于获取当前客户端需要网络同步的物体的空间信息数据;
空间信息数据过滤子模块,用于过滤出当前同步帧发生更改的空间信息数据。
本发明实施例中,压缩模块包括:
差值化处理子模块,用于根据同步类型对需要网络同步的数据进行差值化处理;
压缩处理子模块,用于对差值化处理后的需要网络同步的数据进行压缩处理。
本发明实施例提供的VR多人同屏数据同步处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-0nlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而己,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.VR多人同屏数据同步处理方法,应用于与多个客户端通信连接的服务器,其特征在于,所述方法包括:
过滤出当前客户端需要网络同步的数据;
对所述需要网络同步的数据进行压缩处理;
将压缩处理后的需要网络同步的数据发送至其他客户端;
在其他客户端对接收的压缩处理后的需要网络同步的数据进行平滑处理。
2.根据权利要求1所述的方法,其特征在于,所述过滤出当前客户端需要网络同步的数据,包括:
获取当前客户端需要网络同步的物体的空间信息数据;
过滤出当前同步帧发生更改的空间信息数据。
3.根据权利要求2所述的方法,其特征在于,所述过滤出当前同步帧发生更改的空间信息数据,包括:
将当前客户端需要网络同步的物体的三维空间数据与上一帧的数据进行对比,偏差大于预设阈值则过滤为需要网络同步的数据。
4.根据权利要求1所述的方法,其特征在于,所述对所述需要网络同步的数据进行压缩处理,包括:
根据同步类型对所述需要网络同步的数据进行差值化处理;
对差值化处理后的需要网络同步的数据进行压缩处理。
5.根据权利要求4所述的方法,其特征在于,所述对差值化处理后的需要网络同步的数据进行压缩处理,包括:
根据数据类型范围给定差值化处理后的需要网络同步的数据的数据类型;
放入压缩队列进行压缩处理。
6.根据权利要求4所述的方法,其特征在于,所述根据同步类型对所述需要网络同步的数据进行差值化处理,包括以下至少之一:
根据线段同步对所述需要网络同步的数据进行差值化处理;
根据三次贝塞尔曲线同步对所述需要网络同步的数据进行差值化处理;
根据多边形路径同步对所述需要网络同步的数据进行差值化处理。
7.根据权利要求1所述的方法,其特征在于,所述在其他客户端对接收的压缩处理后的需要网络同步的数据进行平滑处理,包括:
根据接收的压缩处理后的数据的时间戳获得延迟;
基于延迟以及同步类型对接收的压缩处理后的数据进行平滑处理。
8.根据权利要求1所述的方法,其特征在于,所述对所述需要网络同步的数据进行压缩处理,还包括:
当前客户端帧率小于预设值时,对所述需要网络同步的数据进行压缩处理的压缩等级进行降级处理,和/或取消压缩处理。
9.根据权利要求1所述的方法,其特征在于,所述将压缩处理后的需要网络同步的数据发送至其他客户端之前,还包括:
根据待接收数据的客户端的视角范围对压缩处理后的需要网络同步的数据进行过滤处理。
10.VR多人同屏数据同步处理装置,应用于与多个客户端通信连接的服务器,其特征在于,所述装置包括:
过滤模块,用于过滤出当前客户端需要网络同步的数据;
压缩模块,用于对所述需要网络同步的数据进行压缩处理;
传输模块,用于将压缩处理后的需要网络同步的数据发送至其他客户端;
平滑处理模块,用于对接收的压缩处理后的需要网络同步的数据进行平滑处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010029297.XA CN110830521B (zh) | 2020-01-13 | 2020-01-13 | Vr多人同屏数据同步处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010029297.XA CN110830521B (zh) | 2020-01-13 | 2020-01-13 | Vr多人同屏数据同步处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110830521A true CN110830521A (zh) | 2020-02-21 |
CN110830521B CN110830521B (zh) | 2020-04-28 |
Family
ID=69546457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010029297.XA Active CN110830521B (zh) | 2020-01-13 | 2020-01-13 | Vr多人同屏数据同步处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110830521B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314484A (zh) * | 2020-03-06 | 2020-06-19 | 王春花 | 虚拟现实数据同步方法、装置及虚拟现实服务器 |
CN111408137A (zh) * | 2020-02-28 | 2020-07-14 | 苏州叠纸网络科技股份有限公司 | 一种基于增强现实的场景交互方法、装置、设备和介质 |
CN111630829A (zh) * | 2020-04-22 | 2020-09-04 | 上海唯二网络科技有限公司 | 定位数据处理方法、电子设备及存储介质 |
CN112017049B (zh) * | 2020-10-15 | 2021-05-18 | 南京艾科朗克信息科技有限公司 | 一种证券行情转发系统和方法 |
CN112887386A (zh) * | 2021-01-19 | 2021-06-01 | 青岛美购传媒有限公司 | 一种虚拟现实数据的低延迟传输同步方法 |
CN113012501A (zh) * | 2021-03-18 | 2021-06-22 | 郑州铁路职业技术学院 | 一种远程教学方法 |
CN114490671A (zh) * | 2022-03-31 | 2022-05-13 | 北京华建云鼎科技股份公司 | 一种客户端同屏的数据同步系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160275722A1 (en) * | 2014-11-15 | 2016-09-22 | The Void | Combined Virtual and Physical Environment |
CN107092357A (zh) * | 2017-04-21 | 2017-08-25 | 厦门中智信系统集成有限公司 | 基于虚拟现实的全息实境建筑设备管理系统 |
CN107124416A (zh) * | 2017-05-02 | 2017-09-01 | 广州爱九游信息技术有限公司 | 多化身位置同步系统、方法、装置及电子设备和存储介质 |
US9966113B1 (en) * | 2017-01-09 | 2018-05-08 | Brogent Technologies Inc. | Synchronized playing system for virtual reality image and synchronized playing method for using the same |
CN108076355A (zh) * | 2017-12-26 | 2018-05-25 | 百度在线网络技术(北京)有限公司 | 视频播放控制方法和装置 |
CN109847361A (zh) * | 2019-02-27 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 运动状态的同步方法和装置、存储介质、电子装置 |
CN110020533A (zh) * | 2018-01-08 | 2019-07-16 | 福建天泉教育科技有限公司 | 一种vr资源的安全保护方法及终端 |
WO2019199104A1 (en) * | 2018-04-12 | 2019-10-17 | Samsung Electronics Co., Ltd. | 3d point cloud compression systems for delivery and access of a subset of a compressed 3d point cloud |
CN110339557A (zh) * | 2018-04-02 | 2019-10-18 | 当家移动绿色互联网技术集团有限公司 | 一种基于Unreal在VR里实现多人交互的方法 |
CN110609622A (zh) * | 2019-09-18 | 2019-12-24 | 深圳市瑞立视多媒体科技有限公司 | 结合3d与虚拟现实技术实现多人交互方法、系统及介质 |
-
2020
- 2020-01-13 CN CN202010029297.XA patent/CN110830521B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160275722A1 (en) * | 2014-11-15 | 2016-09-22 | The Void | Combined Virtual and Physical Environment |
US9966113B1 (en) * | 2017-01-09 | 2018-05-08 | Brogent Technologies Inc. | Synchronized playing system for virtual reality image and synchronized playing method for using the same |
CN107092357A (zh) * | 2017-04-21 | 2017-08-25 | 厦门中智信系统集成有限公司 | 基于虚拟现实的全息实境建筑设备管理系统 |
CN107124416A (zh) * | 2017-05-02 | 2017-09-01 | 广州爱九游信息技术有限公司 | 多化身位置同步系统、方法、装置及电子设备和存储介质 |
CN108076355A (zh) * | 2017-12-26 | 2018-05-25 | 百度在线网络技术(北京)有限公司 | 视频播放控制方法和装置 |
CN110020533A (zh) * | 2018-01-08 | 2019-07-16 | 福建天泉教育科技有限公司 | 一种vr资源的安全保护方法及终端 |
CN110339557A (zh) * | 2018-04-02 | 2019-10-18 | 当家移动绿色互联网技术集团有限公司 | 一种基于Unreal在VR里实现多人交互的方法 |
WO2019199104A1 (en) * | 2018-04-12 | 2019-10-17 | Samsung Electronics Co., Ltd. | 3d point cloud compression systems for delivery and access of a subset of a compressed 3d point cloud |
CN109847361A (zh) * | 2019-02-27 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 运动状态的同步方法和装置、存储介质、电子装置 |
CN110609622A (zh) * | 2019-09-18 | 2019-12-24 | 深圳市瑞立视多媒体科技有限公司 | 结合3d与虚拟现实技术实现多人交互方法、系统及介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111408137A (zh) * | 2020-02-28 | 2020-07-14 | 苏州叠纸网络科技股份有限公司 | 一种基于增强现实的场景交互方法、装置、设备和介质 |
CN111314484A (zh) * | 2020-03-06 | 2020-06-19 | 王春花 | 虚拟现实数据同步方法、装置及虚拟现实服务器 |
CN111314484B (zh) * | 2020-03-06 | 2020-11-10 | 北京掌中飞天科技股份有限公司 | 虚拟现实数据同步方法、装置及虚拟现实服务器 |
CN111630829A (zh) * | 2020-04-22 | 2020-09-04 | 上海唯二网络科技有限公司 | 定位数据处理方法、电子设备及存储介质 |
WO2021212356A1 (zh) * | 2020-04-22 | 2021-10-28 | 上海唯二网络科技有限公司 | 定位数据处理方法、电子设备及存储介质 |
CN112017049B (zh) * | 2020-10-15 | 2021-05-18 | 南京艾科朗克信息科技有限公司 | 一种证券行情转发系统和方法 |
CN112887386A (zh) * | 2021-01-19 | 2021-06-01 | 青岛美购传媒有限公司 | 一种虚拟现实数据的低延迟传输同步方法 |
CN113012501A (zh) * | 2021-03-18 | 2021-06-22 | 郑州铁路职业技术学院 | 一种远程教学方法 |
CN113012501B (zh) * | 2021-03-18 | 2023-05-16 | 深圳市天天学农网络科技有限公司 | 一种远程教学方法 |
CN114490671A (zh) * | 2022-03-31 | 2022-05-13 | 北京华建云鼎科技股份公司 | 一种客户端同屏的数据同步系统 |
CN114490671B (zh) * | 2022-03-31 | 2022-07-29 | 北京华建云鼎科技股份公司 | 一种客户端同屏的数据同步系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110830521B (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110830521B (zh) | Vr多人同屏数据同步处理方法及装置 | |
CN109976690B (zh) | Ar眼镜远程交互方法、装置和计算机可读介质 | |
US11504606B1 (en) | System, method and apparatus for collecting and utilizing big data for online gameplay | |
CN111984114B (zh) | 基于虚拟空间的多人交互系统及其多人交互方法 | |
Raghuraman et al. | A 3d tele-immersion streaming approach using skeleton-based prediction | |
CN108234659B (zh) | 数据处理方法、装置及系统 | |
CN108156509B (zh) | 视频播放方法、装置及用户终端 | |
Akyildiz et al. | Holographic-type communication: A new challenge for the next decade | |
CN110519247B (zh) | 一种一对多虚拟现实展示方法及装置 | |
Mekuria et al. | Enabling geometry-based 3-D tele-immersion with fast mesh compression and linear rateless coding | |
CN108765084B (zh) | 一种虚拟三维空间的同步处理方法及装置 | |
EP4102851A3 (en) | Cloud-based rendering of interactive augmented/virtual reality experiences | |
Mehmood et al. | Object detection based on deep learning techniques in resource-constrained environment for healthcare industry | |
WO2024103805A1 (zh) | 针对动作捕捉数据的处理方法和系统 | |
CN109474648B (zh) | 一种虚拟现实交互的补偿方法及服务端设备 | |
Rezwan et al. | cXR+ Voxel-based semantic compression for networked immersion | |
CN108200064B (zh) | 数据同步方法及装置 | |
Petit et al. | A 3d data intensive tele-immersive grid | |
CN112954374B (zh) | 视频数据处理方法、装置、电子设备及存储介质 | |
CN111562841B (zh) | 虚拟现实系统的异地联机方法、装置、设备及存储介质 | |
Natarajan et al. | Distributed visual analytics for collaborative emergency response management | |
CN106331591B (zh) | 监控画面的同步切换方法和装置 | |
CN103716582B (zh) | 一种传输ptz操作信息的方法、装置和系统 | |
Mekuria et al. | Enabling Geometry Based 3D Tele-Immersion with Real-Time Mesh Compression and Linear Rateless Coding | |
CN115811350B (zh) | 一种用于卫星系统的查询调度方法、装置以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |