传输控制方法与流程

文档序号:18471945发布日期:2019-08-20 20:24阅读:198来源:国知局
传输控制方法与流程

本发明涉及一种视频播放的技术领域,特别是涉及一种vr全景视频播放的方法、设备和系统。



背景技术:

随着数字图像技术的发展,全景视频的vr(virtualreality,虚拟现实)技术以真实感强,提供全景浸入式体验等特点得到了日益广泛的关注。

全景视频由一系列全景图像组成,而全景图像通常由多个相机同时对多个角度进行拍摄,进而通过拼接算法将同一时间的多个角度图像拼接而成。由于全景图像展现的是三维空间的球面内容,而图像存储是以二维坐标的方式存储,所以全景图像通常需要通过一定的投影方式,如经纬图投影,将三维空间坐标转换为二维空间坐标进而进行存储。全景视频允许多个用户从不同角度去观看视频,在任意时刻,每一个用户的给定视角中心点和视角范围都会覆盖视频中的一部分区域,该区域被称为该用户视角范围区域(fov,fieldofview)。全景视频落在fov这部分区域的内容将被呈现给用户。

全景视频可通过一些媒体传输技术由服务器端传输至客户端,如dash(dynamicadaptivestreamingthroughhttp)或者是rtp(real-timetransmitprotocol)。因为任意时刻客户端仅展现fov区域内容给用户,为保障fov区域的观看质量,同时减少网络传输数据量,全景视频传输通常以高质量传输fov区域的图像,以低质量的方式传输其它区域的图像。其中,其他区域低质量视频的作用在于,当用户的观看视角改变时,由于高清视频响应和传输会存在延迟,在接收高清视频之前先以低清视频呈现给用户,避免画面中断,影响沉浸感。在现有技术中,服务器会预先准备好分块的全景视频内容以及相关的描述文件,多个客户端会根据描述文件和用户的视角计算各自fov区域对应哪些子块的视频内容,并请求对应的数据。服务器根据客户端的请求应答相应的数据,以单播的形式分别向每一个客户端返回对应子块的高清视频和其他区域的低清视频。

然而,网络带宽有限,当较多用户同时观看同一vr全景视频时,传输带宽负荷较大,容易出现网络拥挤、客户端数据传输延迟等问题,最终导致画面延迟或中断,影响用户体验。此外,目前的vr客户端设备处理资源非常有限,频繁计算用户视角对应的高清视频子块比较耗费资源,尤其是当视频区域划分比较复杂时,客户端运算负担更为明显,可能会导致客户端设备卡顿甚至死机。



技术实现要素:

本申请提供了一种vr视频传输方法以及应用该方法的装置,通过运用组播手段减少传输带宽负荷。此外,还将用户fov对应子块的计算在服务器端进行,节省客户端的运算资源。

第一方面,本申请提供一种vr全景视频播放客户端。所述客户端包括主功能模块和显示模块,其中,主功能模块用于获取并向服务器发送用户视频信息,所述视频信息被用来确定用户视角范围区域对应的视频内容。主功能模块还用于接收所述服务器发送的单播的第一视频码流,将其解码得到第一视频数据。所述第一视频数据为所述用户视角范围区域对应的视频内容。此外,主功能模块还用于接收所述服务器发送的组播的第二视频码流,解码得到第二视频数据,所述第二视频数据包括全景视频内容。主功能模块将所述第一视频数据替代所述第二视频数据中与fov内视频内容对应的部分,得到图像信息并发送给显示模块。所述显示模块接收并显示所述图像信息,将图像信息呈现给用户。与现有技术相比,所述vr全景视频播放客户端以组播形式接收全景视频,节省了传输带宽,降低了带宽负荷;同时,所述vr全景视频播放客户端不再承担fov区域对应视频内容的计算过程,节省了宝贵的客户端运算资源。

可选的,所述主功能模块包括用户视角信息获取单元、数据发送单元、第一数据接收单元、第一数据解码单元、第二数据接收单元、第二数据解码单元和图像处理单元。其中,用户视角信息获取单元用于收集用户视角信息,所述用户视角信息可以实现为用户的视觉中心点信息和视觉覆盖角度信息。数据发送单元用于将所述用户视角信息发送给服务器,以使服务器通过所述用户视角信息确定第一视频数据。第一数据接收单元用于接收服务器发送的单播的第一视频码流,并发送给第一数据解码单元;第二数据接收单元用于接收服务器发送的组播的第二视频码流,并发送给第二数据解码单元。所述第一数据解码单元用于解码所述第一视频码流得到第一视频数据,所述第二数据解码单元用于解码所述第二视频码流得到第二视频数据。所述第一数据接收单元和所述第二数据接收单元可以被实现为一个数据接收模块,所述第一数据解码单元和所述第二数据解码单元也可以被实现为一个数据解码单元。所述图像处理单元用于将所述第一视频数据替代所述第二视频数据中与fov内视频内容相应的视频信息,得到最终需要呈现给用户的图像。

可选的,所述第一视频数据的图像质量要高于所述第二视频数据的图像质量。具体的,可以体现为第一视频数据图像的压缩码率高于第二视频数据图像的压缩码率,或者第一视频数据图像的信噪比高于第二视频数据图像的信噪比。

可选的,所述全景视频内容被分为多个子块,所述fov内视频内容是指fov所覆盖到的子块的视频内容。所述被覆盖到的子块包括仅有部分区域被fov覆盖到的子块。

可选的,所述用户视角信息包括视觉中心点信息和视觉覆盖角度信息,所述服务器通过所述视觉中心点信息和视觉覆盖角度信息确定用户视角的具体覆盖范围,进而通过用户视角的具体覆盖范围确定第一视频数据。

第二方面,本申请提供一种vr全景视频播放服务器。所述服务器包括图像生成模块,数据接收模块,子块信息计算模块,第一视频数据获取模块,第一数据发送模块,第二视频数据获取模块和第二数据发送模块。其中,图像生成模块用于生成vr全景视频内容,且所述全景视频内容被分为若干个子块。所述数据接收模块用于接收用户视角信息。所述第一视频数据获取模块用于根据所述fov对应子块信息从所述全景视频中提取对应子块并编码为第一视频码流。所述第一数据发送模块用于以单播形式向客户端发送第一视频码流。所述第二视频数据获取模块用于提取全景视频并编码为第二视频码流。第二数据发送模块用于以组播形式向客户端发送所述第二视频码流。与现有技术相比,所述vr全景视频播放服务器以组播形式发送全景视频,节省了传输带宽,降低了带宽负荷;同时,所述vr全景视频播放服务器承担了fov区域对应视频内容的计算过程,节省了宝贵的客户端运算资源。

可选的,所述第一数据发送模块和所述第二数据发送模块可以实现为一个模块。所述第一视频数据获取模块和所述第二视频数据获取模块也可以实现为一个模块。

可选的,所述第一视频码流的图像质量要高于所述第二视频码流的图像质量。具体的,可以体现为第一视频码流图像的压缩码率高于第二视频码流图像的压缩码率,或者第一视频码流图像的信噪比高于第二视频码流图像的信噪比。

可选的,所述用户视角信息包括视觉中心点信息和视觉覆盖角度信息,所述服务器通过所述视觉中心点信息和视觉覆盖角度信息确定用户视角的具体覆盖范围,进而通过用户视角的具体覆盖范围和全景视频分块方式确定fov对应子块信息。

第三方面,本申请提供一种vr全景视频播放客户端。所述客户端包括传感器、处理器、通信端口和显示器。所述传感器用于收集用户视角信息并发送给所述处理器。所述处理器用于通过所述端口发送所述用户视角信息。所述用户视角信息用于确定第一视频数据,所述第一视频数据对应用户视角范围区域fov内的视频内容。此外,所述客户端还用于通过所述通信端口接收服务器发送的单播的第一视频码流和组播的第二视频码流,并将二者分别解码得到第一视频数据和第二视频数据。将所述第一视频数据替代所述第二视频数据中与fov内视频内容对应的部分,得到图像信息,并发送给所述显示器。所述通信端口用于收发信息,所述显示器用于显示所述图像信息。与现有技术相比,所述vr全景视频播放客户端以组播形式接收全景视频,节省了传输带宽,降低了带宽负荷;同时,所述vr全景视频播放客户端不再承担fov区域对应视频内容的计算过程,节省了宝贵的客户端运算资源。

可选的,所述第一视频数据的图像质量要高于所述第二视频数据的图像质量。具体的,可以体现为第一视频数据图像的压缩码率高于第二视频数据图像的压缩码率,或者第一视频数据图像的信噪比高于第二视频数据图像的信噪比。

可选的,所述用户视角信息包括视觉中心点信息和视觉覆盖角度信息,所述服务器通过所述视觉中心点信息和视觉覆盖角度信息确定用户视角的具体覆盖范围,进而通过用户视角的具体覆盖范围确定第一视频数据。

可选的,所述全景视频内容被分为多个子块,所述fov内视频内容是指fov所覆盖到的子块的视频内容。所述被覆盖到的子块包括仅有部分区域被fov覆盖到的子块。

第四方面,本申请提供一种vr全景视频播放服务器。所述服务器包括通信端口和处理器。所述通信端口用于同客户端收发信息,进行通信。所述处理器用于生成被分为若干子块的vr全景视频内容。所述处理器通过所述通信端口接收客户端发送的用户视角信息,并结合全景视频的分块方式确定用户视角所覆盖的视频子块,即确定fov对应子块信息。所述处理器根据所述fov对应子块信息从所述全景视频中提取对应的子块并编码为第一视频码流,提取全景视频信息并编码为第二视频码流。所述处理器通过所述通信端口以单播形式向客户端发送所述第一视频码流,以组播形式向客户端发送所述第二视频码流。与现有技术相比,所述vr全景视频播放服务器以组播形式发送全景视频,节省了传输带宽,降低了带宽负荷;同时,所述vr全景视频播放服务器承担了fov区域对应视频内容的计算过程,节省了宝贵的客户端运算资源。

可选的,所述第一视频码流的图像质量要高于所述第二视频码流的图像质量。具体的,可以体现为第一视频码流图像的压缩码率高于第二视频码流图像的压缩码率,或者第一视频码流图像的信噪比高于第二视频码流图像的信噪比。

可选的,所述用户视角信息包括视觉中心点信息和视觉覆盖角度信息,所述服务器通过所述视觉中心点信息和视觉覆盖角度信息确定用户视角的具体覆盖范围,进而通过用户视角的具体覆盖范围和全景视频分块方式确定fov对应子块信息。

第五方面,本申请提供一种vr全景视频播放方法。客户端收集并向服务器发送用户视角信息,所述用户视角信息用于确定用户视角范围区域fov内的视频内容,即第一视频数据。所述客户端接收并解码单播的第一视频码流,得到所述第一视频数据;接收并解码组播的第二视频码流,得到包括全景视频内容的第二视频数据。所述客户端将第一视频数据替代所述第二视频数据中与fov内视频内容对应的部分,得到图像信息,并将所述图像信息显示给用户。与现有技术相比,所述vr全景视频播放方法中客户端与服务器间以组播形式传输全景视频,节省了传输带宽,降低了带宽负荷;同时,fov区域对应视频内容的计算不再由vr全景视频播放客户端不再承担,节省了宝贵的客户端运算资源。

可选的,所述第一视频数据的图像质量要高于所述第二视频数据的图像质量。具体的,可以体现为第一视频数据图像的压缩码率高于第二视频数据图像的压缩码率,或者第一视频数据图像的信噪比高于第二视频数据图像的信噪比。

可选的,所述全景视频内容被分为多个子块,所述fov内视频内容是指fov所覆盖到的子块的视频内容。所述被覆盖到的子块包括仅有部分区域被fov覆盖到的子块。

可选的,所述用户视角信息包括视觉中心点信息和视觉覆盖角度信息,所述服务器通过所述视觉中心点信息和视觉覆盖角度信息确定用户视角的具体覆盖范围,进而通过用户视角的具体覆盖范围确定第一视频数据。

第六方面,本申请提供一种vr全景视频播放方法。服务器生成分块的vr全景视频内容。服务器接收客户端发送的用户视角信息,结合全景视频的分块方式确定用户视角所覆盖的对应子块,即fov对应子块信息。服务器根据所述fov对应子块信息从所述全景视频中提取对应子块,编码为第一视频码流并以单播形式发送;提取全景视频信息,编码为第二视频码流并以组播的形式发送。所述客户端接收、解码并播放所述第一视频码流和所述第二视频码流中的内容。

可选的,所述第一视频码流的图像质量要高于所述第二视频码流的图像质量。具体的,可以体现为第一视频码流图像的压缩码率高于第二视频码流图像的压缩码率,或者第一视频码流图像的信噪比高于第二视频码流图像的信噪比。

可选的,所述用户视角信息包括视觉中心点信息和视觉覆盖角度信息,所述服务器通过所述视觉中心点信息和视觉覆盖角度信息确定用户视角的具体覆盖范围,进而通过用户视角的具体覆盖范围和全景视频分块方式确定fov对应子块信息。

附图说明

图1为一种vr全景视频播放系统的设备交互示意图;

图2为一种vr全景视频播放系统的交互过程示意图;

图3为一种又一种vr全景视频播放系统的设备交互示意图;

图4为一种vr全景视频播放方法的流程示意图;

图5为一种vr全景视频播放客户端的逻辑结构示意图;

图6为一种vr全景视频播放服务器的逻辑结构示意图;

图7为一种vr全景视频播放客户端的硬件结构示意图;

图8为一种vr全景视频播放服务器的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本申请所涉及的vr(virtualreality)视频传输方法,主要应用于vr全景视频播放中。所述的vr全景视频,主要为360度或180度全景视频。客户端和服务器间数据传输通常采用rtp(real-timetransmitprotocol)通信协议。但须知的是,当应用场景变换至其他任何可观看范围大于用户一个视角范围区域(fov,fieldofview)的视频播放情形,或视频传输采用任何其他支持组播的通信协议时,本申请所记载的技术方案同样适用。

须知,本申请实施例中客户端侧客户端设备的数量可以为任意个,实施例中的客户端的具体数量仅为方便说明,并不构成对本申请应用场景的限定。在本实施例部分的一个或多个实施例中,fov视频码流可以理解为权利要求中所述的第一视频码流,其中包含的视频数据可以理解为权利要求中所述的第一视频数据;全景视频码流可以理解为权利要求中所述的第二视频码流,其中包含的视频数据可以理解为权利要求中所述的第二视频数据。在一个或多个实施例中,fov视频码流中的视频数据图像质量要高于全景视频码流中的视频数据图像质量。具体而言,相比于全景视频码流中的视频数据,服务器侧在生成fov视频码流的视频数据时采用的压缩码率更高,或者fov视频码流中视频数据的信噪比要高于全景视频码流中视频数据的信噪比。

现有技术中的vr全景视频播放系统的组成如图1所示。vr全景视频播放系统100包括服务器侧110、客户端侧120和网络设备侧130,其中服务器侧110可以是任何提供媒体服务的设备,比如服务器组、电脑甚至手机;客户端侧120可以为一个设备,也可以为多个设备,具体数量取决于同时观看同一全景视频内容的用户数量,本实施例中为客户端121和客户端122两台设备;网络设备侧130可以实现为路由器或交换机。当多个用户同时观看同一全景视频内容时,各客户端侧的设备单独通过网络侧设备与服务器侧进行通信,具体的,服务器侧110通过网络设备侧130向客户端侧120的各客户端发送全景视频分块信息,客户端121和客户端122分别向网络侧130发送请求数据,请求数据中包含本客户端的fov对应子块信息,所述fov对应子块信息由客户端根据全景视频分块信息和本机用户视角信息计算得出。网络侧130将所述请求数据发送给服务器侧110。服务器侧110在接收到请求数据后,向网络侧130返回应答数据,分别是两路fov视频码流和两路全景视频码流。网络侧130将所述两路fov视频码流分别发送给客户端121和客户端122,并将两路全景视频码流分别发送给客户端121和客户端122。两个客户端在接收到所述应答数据后,对其中包含的视频内容进行显示,呈现给用户。

vr全景视频播放系统100的具体运作方式请参见图2。所述系统的通信交互在三个层次完成,分别是服务器侧110、客户端侧120和网络设备侧130。客户端侧120可以为一个设备,也可以为多个设备,具体数量取决于同时观看同一全景视频内容的用户数量,本实施例中为客户端121和客户端122。

首先,服务器侧110生成分块的全景视频内容111,然后将视频分块信息通过网络设备侧130发送给客户端侧120。本示例中全景视频内容111被分为了1~8八个相同大小的子视频块。在不同的实施方案中,全景视频内容111的分块方式可以为任意大小和数量的矩形。客户端侧120的客户端121向网络设备侧发送请求信息1,其中包含客户端121的fov对应子块信息,所述fov对应子块信息由客户端根据视频分块信息和当前用户视角信息确定,描述了客户端121当前的视角范围覆盖了具体哪些子块的视频,本实施例中是子块2、3、6和7。客户端122向网络设备侧发送请求信息2,其中包含客户端122的fov对应子块信息,所述fov对应子块信息描述了客户端122当前的视角范围覆盖了具体哪些子块的视频,本实施例中是子块1、2、5和6。所述请求信息1和请求信息2通过网络设备侧被传输给服务器侧110。然后服务器侧110根据所述请求信息1和请求信息2通过网络设备侧130同时向客户端侧120以单播形式发送四路视频码流,分别是针对客户端121发送的fov视频码流1,其内容为fov视频数据1,即客户端121所请求的视频子块内容;全景视频码流1,内容为全景视频数据112;针对客户端122发送的fov视频码流2,其内容为fov视频数据2,即客户端122所请求的视频子块内容;全景视频码流2,内容为全景视频数据112。客户端121在接收所述fov视频码流1和所述全景视频码流1后,将二者中的视频内容进行组合,把所述子块2、3、6、7中的子块视频内容按发送前在服务器110中的关系进行拼接,然后将拼接好的内容与所述全景视频数据112中的全景视频内容进行组合,覆盖全景视频内容中与其对应的部分,形成客户端视频123,并呈现给用户;客户端122在接收所述fov视频码流2和所述全景视频码流2后,将二者中的视频内容进行组合,把所述子块1、2、5、6中的子块视频内容按发送前在服务器110中的关系进行拼接,然后将拼接好的内容与所述全景视频数据112中的全景视频内容进行组合,覆盖全景视频内容中与其对应的部分,形成客户端视频124,并呈现给用户。

在现有技术的传输方案下客户端视频容易出现卡顿等情况。客户端fov对应子块信息是由客户端根据视频描述信息和当前用户用户视角信息来计算的,频繁计算fov对应子块信息会占用客户端大量运算资源,尤其是当视频分块比较复杂时。另外,当多用户同时观看视频时,网络侧设备与服务器侧之间带宽紧张。针对上述问题,本申请创造性的提出了以下视频传输方案。

请参阅图3,是本发明的一种实施例,内容为一种vr全景视频播放系统200。vr全景视频播放系统200包括服务器侧210、客户端侧220和网络设备侧230,其中服务器侧210可以是任何提供媒体服务的设备,比如服务器组、电脑甚至手机。客户端侧220可以为一个设备,也可以为多个设备,具体数量取决于同时观看同一全景视频内容的用户数量,本实施例中为客户端221和客户端222两台设备。须知,本实施例中客户端数量仅为方便说明,并不对本申请构成限定,客户端的个数可以为任意数量。网络设备侧230可以实现为支持组播功能的路由器或交换机。当多个用户同时观看同一全景视频内容时,各客户端侧的设备单独通过网络侧设备与服务器侧进行通信。具体的,服务器侧210首先生成分块的全景视频内容,所述分块的全景视频具体细节参见图2中的相关描述,此处不再赘述。客户端221和客户端222分别通过网络侧230向服务器侧210发送请求数据,所述数据中包含本客户端当前用户的用户视角信息,所述用户视角信息描述了客户端当前视角覆盖范围,可以包含视觉中心点信息和视觉覆盖角度信息,以确定客户端用户视角的具体覆盖范围。服务器侧210接收所述请求数据,并通过全景视频分块信息和所述请求数据中客户端221的用户视角信息确定客户端221的fov对应子块信息,通过全景视频分块信息和所述请求数据中客户端222的用户视角信息确定客户端222的fov对应子块信息。所述全景视频分块信息和所述fov对应子块信息的含义请参见图2中的相关描述。之后,服务器侧210分别根据客户端221和客户端222的fov对应子块信息生从分块的全景视频内容中提取对应子块,生成fov视频码流1和fov视频码流2,所述fov视频码流1中包含客户端221所需要的子块视频,所述fov视频码流2中包含客户端222所需要的子块视频。之后,服务器侧210以单播和组播相结合的方式向网络侧230返回应答数据,分别是以单播形式向客户端221发送的fov视频码流1,以单播形式向客户端222发送的fov视频码流2,以及以组播形式向所有客户端发送的全景视频码流。所述全景视频码流中包含了整体的全景视频内容。网络侧230将所述应答数据中的fov视频码流分别发送给对应的客户端,即将fov视频码流1发送给客户端221,将fov视频码流2发送给客户端222,此外还分别向两个客户端发送全景视频码流。客户端侧220接收所述应答数据,具体的,客户端221接收所述fov视频码流1和所述组播的全景视频码流;客户端222接收所述fov视频码流2和所述组播的全景视频码流。在接收到所述应答数据后,客户端221和客户端222分别对其中包含的视频内容进行显示,具体呈现方式参见图2中的具体描述,此处不再赘述。

请参阅图4,是本发明的另一实施例,内容为一种vr全景视频播放系统中的信息传输方法s300,具体包括:

s310,客户端侧向服务器侧发送请求数据,所述请求数据中包含当前用户视角信息。客户端侧的客户端获取当前用户视角信息,所述用户视角信息中可以包含视觉中心点信息和视觉覆盖角度信息。视觉中心点信息和视觉覆盖角度信息用来确定客户端视角的具体覆盖范围。所述客户端侧通过网络设备侧向服务器侧发送请求数据。

s320,服务器侧接收所述请求数据,并根据所述请求数据中的所述当前用户视角信息确定fov对应子块信息。所述服务器侧通过所述当前用户视角信息和全景视频分块方式确定用户视角覆盖范围内应显示的具体视频子块,即fov对应子块信息。所述fov对应子块信息请参见图1相关内容中的描述。

s330,服务器侧向客户端侧发送应答信息,所述应答信息包含单播的fov视频码流和组播的全景视频码流。具体的,s331,服务器侧向客户端侧的各客户端以单播的形式发送fov视频码流,所述各fov视频码流中分别包含各客户端所需的对应fov子块视频;s332,服务器侧向客户端侧的各客户端以组播的形式发送全景视频码流,所述全景视频码流中包含全景视频内容。

s340,客户端侧接收应答数据,即各客户端分别接收发送给本机的fov视频码流和全景视频码流。客户端接收发送给本机的fov视频码流,解析并获取其中的子块视频,同时还接收发送给本机的全景视频码流,解析并获取其中的全景视频。

请参阅图5,是本发明的另一实施例,内容为一种vr全景视频播放客户端400。客户端400包括主功能模块410和显示模块420两个部分。其中,主功能模块410包括用户视角信息获取单元411,数据发送单元412,第一数据接收单元413,第一数据解码单元414,第二数据接收单元415,第二数据解码单元416和图像处理单元417。

用户视角信息获取单元411用于收集当前的用户视角信息。所述用户视角信息描述了客户端当前视角覆盖范围,可以包含视觉中心点信息和视觉覆盖角度信息。之后用户视角信息单元411将所述用户视角信息传输给数据发送单元412。数据发送单元412用于生成并发送请求信息,所述请求信息中包含所述用户视角信息。

第一数据接收单元413用于接收单播的fov视频码流,并将其传输给第一数据解码单元414。所述fov视频码流的含义请参见图2中的相关描述。第一数据解码单元414用于对接收到的fov视频码流进行解码,并将解码得到的子块视频信息发送给图像处理单元417。

第二数据接收单元415用于接收组播的全景视频码流,并将其传输给第二数据解码单元416。所述全景视频码流中包含全景视频信息。数据解码单元416用于对接收到的全景视频码流进行解码,并将解码得到的全景视频信息发送给图像处理单元417。

图像处理单元417用于将所接收到的子块视频信息中的内容与全景视频信息中的内容进行组合,得到图像信息,具体组合方式参见图1相关内容中的描述,此处不再赘述。之后,图像处理单元417将图像信息发送给显示模块420。显示模块420用于显示所接收到的图像信息,输出图像。

请参阅图6,是本发明的另一实施例,内容为一种vr全景视频播放服务器500。服务器500包括图像生成模块510,数据接收模块520,子块信息计算模块530,第一视频数据获取模块540,第一数据发送模块550,第二视频数据获取模块560和第二数据发送模块570。

图像生成模块510用于生成分块的全景视频内容。所述分块的全景视频可以被划分为任意大小和数量的矩形子块。图像生成模块还向子块信息计算模块530发送全景视频分块信息,所述信息描述了全景视频的具体分块方式。

数据接收模块520用于接收请求信息,所述请求信息中包含用户视角信息。所述用户视角信息描述了客户端当前视角覆盖范围,可以包含视觉中心点信息和视觉覆盖角度信息。数据接收模块520将所述请求信息中的所述用户视角信息发送给子块信息计算模块530。

子块信息计算模块530用于根据所接收到的用户视角信息和全景视频分块信息计算fov对应子块信息。所述fov对应子块信息描述了发送请求信息的客户端具体需要哪些子块视频。之后子块信息计算模块530将所述fov对应子块信息发送给第一视频数据获取模块540。

第一视频数据获取模块540用于根据所述fov对应子块信息从分块的全景视频中提取对应子块的视频信息,编码为fov视频码流并发送给第一数据发送模块550。第一数据发送模块550用于将所接收的fov视频码流以单播的形式发送给客户端。

第二视频数据获取模块560用于提取全景视频信息,编码为全景视频码流并发送给第二数据发送模块570。第二数据发送模块570用于将所接收的全景视频码流以组播的形式发送给客户端。

请参阅图7,为本发明的另一实施例,内容为一种vr全景视频播放客户端600。客户端600包括传感器610,通信端口620,处理器630和显示器640。

传感器610用于收集当前的用户视角信息。所述用户视角信息描述了客户端当前视角覆盖范围,可以包含视觉中心点信息和视觉覆盖角度信息。之后传感器610将所述用户视角信息传输给处理器630。

通信端口620用于与服务器之间收发信息,具体的,用于发送请求信息和接收视频码流。

处理器630用于生成并通过通信端口620发送请求信息,所述请求信息中包含所述的用户视角信息。

处理器630还用于通过通信端口620接收组播的全景视频码流和fov视频码流,所述的全景视频码流中包含全景视频信息,fov视频码流中包含子块视频信息。处理器630对两个视频码流分别进行解码得到其中的全景视频数据和子块视频数据,并将子块视频数据与全景视频数据进行组合,得到图像信息,具体组合方式参见图1相关内容中的描述,此处不再赘述。之后,处理器630将图像信息发送给显示器640。显示器640用于显示所接收到的图像信息,输出图像。

请参阅图8,为本发明的又一实施例,内容为一种vr全景视频播放服务器700。服务器700包括通信端口810和处理器820。

通信端口810用于与客户端之间收发信息,具体的,用于接收请求信息和发送视频码流。

处理器820用于生成分块的全景视频内容。所述分块的全景视频可以被划分为任意大小和数量的矩形子块。处理器820通过通信端口810接收客户端发送的请求信息,所述请求信息中包含用户视角信息。所述用户视角信息描述了客户端当前视角覆盖范围,可以包含视觉中心点信息和视觉覆盖角度信息。之后,处理器820根据所述用户视角信息和全景视频分块信息计算fov对应子块信息,所述fov对应子块信息描述了发送请求信息的客户端具体需要哪些子块视频。然后,根据所述fov对应子块信息提取对应子块的视频信息并编码为fov视频码流,提取所述全景视频编码为全景视频码流,并通过通信端口以单播的形式向客户端发送所述fov视频码流,以组播的方式向客户端发送所述全景视频码流。

在一个或多个实施例中,所描述的高质量分块视频和低质量全景视频相比,当分辨率相同时,高质量分块视频的码率要高于低质量全景视频。

在一个或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则功能可作为一个或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体而发送,且通过基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非瞬时的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或多个计算机或一个或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。

可由例如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路等一个或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指代前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在本申请所提供的实施例中,应理解,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考所述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1