1.一种基于异构计算的vr实时处理自适应传输系统,其特征在于,由cpu模块、gpu模块和fpga网卡相互连接组成;其中,所述cpu模块负责系统的协调与控制;所述gpu模块包含投影变换模块和视频编码模块,分别完成基于用户视点信息的实时投影变换以及自适应码流的视频编码生成,所述自适应码流由gpu模块根据用户反馈的视点信息实时计算产生;所述fpga网卡负责网络数据包的收发和校验和的计算;所述投影变换模块与cpu模块相连,接收待投影视频帧和实时用户视点,并与视频编码模块相连,将投影后图像进行视频编码;所述视频编码模块在完成编码后输出自适应码流,并传输至fpga网卡发送;
cpu模块与投影变换模块、cpu模块与fpga网卡、视频编码模块与fpga网卡间均通过pcie总线接口相连。
2.根据权利要求1所述的vr实时处理自适应传输系统,其特征在于,所述投影变换模块和视频编码模块均在gpu模块内部完成操作,无需额外的数据传输开销;视频编码模块的操作使用gpu模块内部集成的视频编码硬件加速器完成。
3.根据权利要求1所述的vr实时处理自适应传输系统,其特征在于,cpu模块与投影变换模块通信过程使用乒乓缓存方式进行。
4.根据权利要求1所述的vr实时处理自适应传输系统,其特征在于,cpu模块在程序初始化阶段为视频编码模块设置好待传输码流的网络包头,网络包头包含客户端ip地址端口号等信息;码流产生后网络与包头一并送至fpga网卡。
5.根据权利要求1所述的vr实时处理自适应传输系统,其特征在于,fpga网卡模块在接收到视频编码模块发送的数据包后,为网络包头计算并装填校验和,随后进行网络传输。
6.基于权利要求1所述系统的vr实时处理自适应传输方法,其特征在于,具体步骤如下:
s01,由fpga网卡接收用户实时反馈的视点信息,并通过cpu模块发起gpu处理任务;
s02,gpu模块根据用户视点信息实时进行投影变换处理,产生自适应码流传输至fpga网卡;
s03,fpga网卡为自适应码流计算并装填包头校验和信息,然后经由网络回传给用户。
7.根据权利要求6所述的vr实时处理自适应传输方法,其特征在于,步骤s01中,所述cpu模块发起gpu处理任务,包含如下步骤:
s0101,cpu模块接收到用户发出的连接请求后,初始化gpu模块,分配帧乒乓缓存,设置客户端包头;
s0102,cpu模块发起乒乓传输,上传待投影视频帧;
s0103,cpu模块接收到用户实时视点信息后发起下次乒乓传输,同时基于已上传帧和用户视点控制gpu启动实时自适应传输处理。
8.根据权利要求7所述的vr实时处理自适应传输方法,其特征在于,步骤s02中,所述gpu模块根据用户视点信息实时进行投影变换处理,包含如下步骤:
s0201,gpu接收主机传输的实时用户视点信息,并根据这一信息对预先存储在显存中的初始投影矩阵施加旋转变换,通过流处理器并行执行;
s0202,基于变换后的投影矩阵,使用流处理器进行投影变换操作,将最新的erp图像帧变换为金字塔/tsp形式;
s0203,将变换后的图像送入硬件加速器进行视频压缩编码,生成最终的vr自适应码流;
s0204,所生成的vr自适应码流连同预先设置好的网络包头一并发送至fpga网卡,使用pcie总线的设备间直传功能,不经过cpu内存。
9.根据权利要求8所述的vr实时处理自适应传输方法,其特征在于,步骤s03中,所述fpga网卡模块处理部分,包含如下步骤:
s0301,fpga网卡经由pcie总线接收网络数据包;
s0302,校验和计算模块分析完整数据包,分别计算ip和tcp/udp校验和;
s0303,校验和计算模块根据帧结构将计算好的ip和tcp/udp校验和装填到数据包中;
s0304,fpga网卡将完整数据包经由网络协议栈发送。