VR视频播放方法及装置与流程

文档序号:15222046发布日期:2018-08-21 17:35阅读:600来源:国知局

本发明涉及视频处理技术,更具体地,涉及一种vr视频播放方法及装置。



背景技术:

虚拟现实(vr)技术是一种创建和体验虚拟世界的计算机仿系统,例如,可以根据观察者头、眼和手的跟踪技术呈现相对应的三维实时图像。在基于网络的虚拟现实技术中,预先将全视角的视频数据存储在服务器上,然后将全视角的视频数据传送至诸如眼镜之类的显示装置上,根据观察者的观看位置将相应视角的视频数据显示在显示装置上。

然而,高分辨率的视频数据需要占据大量的传输带宽,并且需要显示装置具备强大的数据处理能力。由于数据传输带宽和显示装置处理能力的需求高,因此,现有的视频处理技术对网络和终端设置的要求高,并且难以实现高分辨率的实时图像显示。

因此,期望进一步改进vr播放系统的视频处理及渲染方法,以节省传输带宽和降低显示装置的性能需求,从而实现流畅的实时性图像显示。



技术实现要素:

有鉴于此,本申请提供一种vr视频播放方法及装置,以降低对传输带宽和显示装置的性能要求。

根据本发明的第一方面,提供一种vr视频播放方法,包括:

获取用户的视场角度;

根据所述用户的视场角度将vr视频数据处理成基础视频集和增强视频集,所述基础视频集和所述增强视频集各包括多个基础视频片段和多个增强视频片段,所述基础视频片段和所述增强视频片段的叠加后的播放效果优于所述基础视频片段的播放效果;

根据所述用户的视场角度下载所述基础视频片段和增强视频片段;以及

根据所述用户的视场角度将所述基础视频片段和增强视频片段叠加后播放。

优选地,所述用户的视场角度和头显设备的规格参数相关。

优选地,所述根据用户的视场角度将所述vr视频数据处理成基础视频集和增强视频集包括:

将所述vr视频数据的投影面积划分成多个区域格;

根据所述用户的视场角度确定构成观影区域的区域格;以及

根据所述构成观影区域的区域格将所述vr视频数据处理成基础视频集和增强视频集。

优选地,所述根据所述构成观影区域的区域格将所述vr视频数据处理成基础视频集和增强视频集包括:

解码所述vr视频数据,以获得音频数据集和第一帧数据集;

将所述第一帧数据集无损缩减到目标分辨率获得第二帧数据集;

将所述第一帧数据集缩减到基础分辨率再插值放大到目标分辨率获得第三帧数据集;

将所述音频数据集和所述第二帧数据集合成切割得到基础视频集;

根据所述多个区域格将所述第二帧数据集和所述第三帧数据集的差值编码切分成多个视频片段;以及

根据所述观影区域对应的区域格将所述多个视频片段中的一部分划分到所述增强视频集中。

优选地,所述多个区域格大小相等。

优选地,还包括:获得多个分辨率和码率组合,每个分辨率和码率组合包括基础分辨率、增强分辨率、基础码率和增强码率;

则所述将vr视频数据处理成基础视频集和增强视频集包括:

按照所述多个分辨率和码率组合将所述vr视频数据处理成基础视频集和增强视频集。

优选地,所述下载所述基础视频片段和增强视频片段包括:

计算平均下载速度;

根据所述平均下载速度选择一个分辨率和码率组合;以及

根据选中的分辨率和码率组合下载相应的基础视频片段和增强视频片段。

优选地,所述叠加播放所述基础视频片段和增强视频片段包括:

采用不同模式播放基础视频片段和增强视频片段,所述不同模式包括全景模式和双目模式。

优选地,在全景模式下叠加播放所述基础视频片段和所述增强视频片段包括:

分别创建基础视频模型与增强视频模型;

初始化所述基础视频模型和所述增强视频模型上的uv坐标;

根据用户当前的视场角度获得基础视频片段和增强视频片段;

解码获得所述基础视频片段和所述增强视频片段的像素信息;

分别根据所述基础视频片段的像素信息和所述基础视频模型的uv坐标生成基础视频贴图,以及根据所述增强视频片段的像素信息和所述增强视频模型的uv坐标生成增强视频贴图;以及

根据所述用户当前的视场角度确定所述增强视频贴图的uv对齐参数;

根据所述uv对齐参数生成所述基础视频贴图与所述增强视频贴图叠加后的像素信息;以及

根据叠加后的像素信息绘出图像。

优选地,在所述双目模式下叠加播放所述基础视频片段和所述增强视频片段包括:

获得相关参数,所述相关参数包括摄像机矩阵、投射矩阵、模型矩阵和透镜扭曲圆心位置;

创建三维模型,获得所述三维模型的的原始坐标数据;

根据所述相关参数和所述三维模型的原始坐标数据获得第一坐标数据;

基于所述透镜扭曲的圆心位置对所述第一坐标数据做透镜扭曲,获得第二坐标数据;

像素化所述第二坐标数据,获得像素单元;以及

根据vr视频数据和所述像素单元绘制图像。

根据本发明的第二方面,提供一种vr视频播放方法,包括:

获取模块,获取用户的视场角度;

数据转码模块,用于根据所述用户的视场角度将vr视频数据处理成基础视频集和增强视频集,所述基础视频集和所述增强视频集各包括多个基础视频片段和多个增强视频片段,所述基础视频片段和所述增强视频片段的叠加后的播放效果优于所述基础视频片段的播放效果;

下载模块,用于下载所述基础视频片段和增强视频片段;

播放模块,用于将所述基础视频片段和增强视频片段叠加后播放.

优选地,所述用户的视场角度和头显设备的规格参数相关。

优选地,所述数据转码模块包括:

划分单元,用于将所述vr视频数据的投影面积划分成多个区域格;

切割单元,用于根据所述用户的视场角度确定构成观影区域的区域格;以及

处理单元,用于根据所述构成观影区域的区域格将所述vr视频数据处理成基础视频集和增强视频集。

优选地,还包括:映射表生成单元,用于获得多个分辨率和码率组合,每个分辨率和码率组合包括基础分辨率、增强分辨率、基础码率和增强码率;

则处理单元包括:

按照所述多个分辨率和码率组合将所述vr视频数据处理成基础视频集和增强视频集。

优选地,所述下载模块包括:

速度计算单元,用于计算平均下载速度;

选择单元,用于根据所述平均下载速度选择一个分辨率和码率组合;

执行单元,用于根据选中的分辨率和码率组合下载相应的基础视频片段和增强视频片段。

优选地,播放模块包括全景模式和双目模式,在不同的模式采用不同的方式叠加播放基础视频片段和增强视频片段。

本发明实施例根据用户的视场角度将vr视频数据处理成基础视频集和增强视频集,并根据用户的视场角度将基础视频片段和增强视频片段叠加播放,降低了数据下载量,提高了传输效果,同时能够保证观影体验。

附图说明

通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是vr播放系统的网络示意图;

图2是根据本发明实施例的vr视频播放方法的流程图;

图3是图2中的步骤s200的具体流程图;

图4是图3的步骤s203具体流程图;

图5是图2的步骤s300具体流程图;

图6是图2中的步骤s400的全景模式下视频播放的具体流程图;

图7是图2中的步骤s400的双目模式下视频播放的具体流程图;

图8是根据本发明实施例的vr视频播放装置的结构图;

图9是图6中的数据转码模块602的具体结构图;

图10是图6的下载模块603的具体结构图。

具体实施方式

以下将参照附图更详细地描述本发明。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。此外,可能未示出某些公知的部分。

图1是vr播放系统的网络示意图。设备网络10包括通过网络110耦接的服务器100和显示设备120以及vr设备。服务器100可以例如独立的计算机服务器或者服务器集群,服务器100用于存储各种视频数据以及存储处理这些视频数据的各种应用程序。服务器100上例如实时运行着各种守护进程,一方面,用于处理服务器100上的各种视频数据,另一方面,用于响应vr设备和显示设备120的各种请求。网络110可以是任意(一个或多个)网络,例如因特网、局域网和物联网等。显示设备120例如是一个具有独立显示屏的和一定处理能力的计算机设备,可以是:个人计算机、膝上型计算机、计算机工作站、服务器、大型主机计算机、掌上电脑、个人数字助理、智能手机、智能电器、游戏控制台、ipad/iphone、视频播放器、dvd刻录机/播放器、电视机、家庭娱乐系统或任意其它合适的计算设备。显示设备120可以存储vr播放器软件,当vr播放器启动后,播放器向服务器100请求和接收各种视频数据,并且将下载到显示设备端的视频数据在播放器内进行渲染播放。在本例中,vr设备130是一个外接式头显设备,可以和显示设备120以及服务器100进行各种交互,通过信号传递向显示设备120和/或服务器100传递一些用户当前的相关信息,例如用户的视场角度,眼睛视线的变化等等,显示设备120可以根据这些信息能够灵活处理当前播放的视频数据。在一些实施例里,当用户的视场角度改变时,显示设备120判断用户的核心观影区域发生改变,并在核心观影区域播放高分辨率的视频数据。

在上述实施例,vr设备130是一个外接式头显设备,但是本领域的技术人员可以理解到,vr设备130不仅限于此,vr设备130还可以一体式头显设备。一体式头显设备本身具有显示屏的功能,因此可以不需要外部的显示设备,例如本例中,如果采用一体式头显设备,即可以省略显示120。此时,一体式头显设备承担了从服务器100上获取视频数据以及播放的工作,同时,一体式头显设备检测到用户当前的一些视场角度并调整播放工作。

图2是根据本发明实施例的vr视频播放方法的流程图。该方法包括以下步骤。

在步骤s100中,获取用户的视场角度。

在步骤s200中,根据用户的视场角度将vr视频数据处理成基础视频集和增强视频集。所述基础视频集中包含基础视频片段,所述增强视频集中包含增强视频片段。

在步骤s300中,根据用户的视场角度下载基础视频片段和增强视频片段。

在步骤s400中,将基础视频片段和增强视频片段叠加后播放。

在用户使用vr头显设备的场景下,用户的视场角度可通过vr头显设备的规格参数和屏幕参数获得。服务器端的vr视频数据一般采集的是真实世界环境的360度全景图像,而对于一个具体的用户来说,看到的是视场角度内的视频图像。由此,在本实施例中,根据视场角度将vr视频数据处理成基础视频集和增强视频集,并根据用户的视场角度下载基础视频片段和增强视频片段后叠加播放,从而,可在视场角度之内得到更高分辨率的视频数据进行播放,以得到更好的观影体验,而在视场角度之外采用基础视频片段进行播放,以减少数据下载量。

图3是图2中的步骤s200的具体流程图。具体包括以下步骤。

在步骤s201中,将vr视频数据的投影面积划分成多个区域格。一般将投影面积平均划分成多个区域格。

在步骤s202中,根据用户的视场角度确定构成观影区域的区域格。

在步骤s203中,根据构成观影区域的区域格将vr视频数据处理成基础视频集和增强视频集。

图4图3的步骤s203具体流程图。具体包括以下步骤。

在步骤s2031中,将vr视频数据解码得到音频数据集1和帧数据集1。

在步骤s2032中,将帧数据集1无损缩小到目标分辨率得到帧数据集2。

在步骤s2033中,将帧数据集1经过编码缩小和解码放大至目标分辨率,得到帧数据集3

在步骤s2034中,将帧数据集2和帧数据集3相减得到目标分辨率差值。

在步骤s2035中,将帧数据集2和音频数据集1合成切割得到基础视频集。

在步骤s2036中,将目标分辨率差值进行编码压缩和切割得到视频片段。

在步骤s2037中,根据观影区域对应的区域格将多个视频片段中的一部分划分到增强视频集中。

上述实施例中具体描述了根据用户的视场角度将一个具体的vr视频数据处理成基础视频集和增强视频集的过程。为了便于理解,可以通过下述示例进一步说明。对应于原始分辨率为12,600×6,000像素的帧数据集1,根据步骤s2032和s2033获得目标分辨率为6,300×3,000像素的帧数据集2和帧数据集3,帧数据集2是将12,600×6,000像素的帧数据集1无损缩减6,300×3,000像素后得到的视频数据,帧数据集3是将12,600×6,000像素的帧数据集1缩减到例如798*1024像素再进行插值放大获得。两者相减得到的差集合进行压缩,然后根据区域格的大小对压缩后的数据进行切割,得到和区域格对应的多个视频片段,最终根据观影区域和区域格的对应关系将部分视频片段划分到增强视频集中,即增强视频集中包含是和和观影区域对应的视频片段。

当然,本发明不局限于此,其他方式也能够获得基础视频集和增强视频集。

上述视频数据处理的步骤一般在服务器端执行。当服务器端对应多个头显设备或显示设备时,相应地会根据多个用户的视场角度处理vr视频数据。由此可以建立多个观影区域和区域格的对应关系。为了便于处理,需要设置适当大小的区域格,以对应于多个不同的视场角度。

在上述实施例中,步骤s200可按照设定分辨率和码率处理视频数据,即,处理后的基础视频集中的视频片段的分辨率和码率分别为设定的基础分辨率和基础码率,处理后的增强视频集中的视频片段的分辨率和码率分别为设定的增强分辨率和增强码率。由此,对应于一个具体的视频数据,可以生成多个具有不同分辨率和码率组合的基础视频集和增强视频集,而当显示设备或头显设备向服务器端请求视频数据时,可以根据当前的网络状况选择合适的分辨率和码率的基础视频片段和增强视频片段。

图5是图2的步骤s300具体流程图。

在步骤s301中,计算平均下载速度

在步骤s302中,根据平均下载速度选择一个分辨率和码率组合

在步骤s303中,根据选中的分辨率和码率组合下载对应的基础视频片段和增强视频片段。

在本实施例中,通过平均下载速度确定一个分辨率和码率组合,进而获得对应的基础视频片段和增强视频片段,从而达到优化传输的目的。可选地,基于一个初始分辨率和码率构建多个分辨率和码率组合。例如建立n个等级的分辨率和码率组合,每个等级的分辨率和码率具有设定的对应关系,当平均下载速度位于某个区间时,选择对应等级的分辨率和码率的基础视频片段和增强视频片段。

进一步地,步骤s400包括全景模式和双目模式。

图6是图2中的步骤s400的全景模式下视频播放的具体流程图。

在步骤s401中,解码获得基础视频和增强视频的像素信息。

在本步骤中,通过合适的解码器解码基础视频片段和增强视频片段,获得各自的像素信息。解码器解码过程可能还包括解压缩过程,用于解压缩压缩后的视频数据。对应于各个不同的颜色空间,解出不同的像素分量,例如rgb颜色空间解出r、g、b分量。

在步骤s402中,分别创建基础视频模型与增强视频模型。

本步骤中,可以根据需求选择创建三维模型,例如,可以创建两个多边形球面作为基础视频模型和增强视频模型。

在步骤s403中,初始化模型上的点uv坐标。

uv坐标这里指u,v纹理贴图坐标的简称,类似于空间模型的x,y,z轴。它定义了和3d模型相互对应的平面上的每个点的位置信息。通过uv坐标能够将图像上的每一点都精确对应到三维模型上。在本步骤中,建立并初始化基础视频模型和增强视频模型上的每个uv坐标点。

在步骤s404中,生成基础视频贴图和增强视频贴图。

在本步骤中,根据基础视频片段的像素信息和基础视频模型的uv坐标生成基础视频贴图,并且,根据增强视频片段的像素信息和增强视频模型的uv坐标生成增强视频贴图。

在步骤s405中,确定增强视频模型的uv对齐坐标。

在本步骤中,可以通过用户当前的视场角度确定增强视频模型的uv对齐坐标。

在步骤s406中,根据uv对齐参数生成基础视频贴图与增强视频贴图叠加后的像素信息。

在本步骤中,基于基础视频片段和增强视频片段之间的关系,计算获得叠加后的的像素信息。

为了便于理解,采用以下述示例进一步说明。

假设像素px,yoriginal=(r,g,b)t是视频数据中,坐标为x,y的像素,r,g,b∈[l,h],px,yscaledbase=(r′,g′,b′)t是基础视频中,坐标为x,y的像素,r′,g′,b′∈[l,h],那么对于所有的x,y有以下差值生成方程式(1):

px,ynormalizedresidual表示像素差值,

对于所有的像素x,y有以下的差值还原公式为:

在步骤s407,根据叠加后的像素信息绘出图像。

图7是图2中的步骤s400的双目模式下视频播放的具体流程图。

在步骤s411中,获得相关参数。

例如,根据头显设备和屏幕尺寸计算相关参数。该所述相关参数例如包括左右透镜的视场角度、摄像机矩阵、投射矩阵和透镜扭曲圆心位置等。头显设备包括支架和支架上的左右透镜,人眼通过左右透镜获得左右可视区域的图像,由于左右可视区域提供的图像具有差异,人眼获取这种带有差异的信息后在脑海中产生立体感。不同头显设备的规格参数并不相同,一般检索网站或者查询内置的参数文件可获得规格参数,进而根据这些规格参数计算渲染过程中所需得相关参数。

在步骤s412中,创建三维模型,获得三维模型的的原始坐标数据。

本步骤中,可以根据需求创建合适的三维模型,例如,可以创建多边形球面作为三维模型,并且基于多边形球面得到原始坐标数据。

在步骤s413中,根据相关参数和三维模型的原始坐标数据获得第一坐标数据。

在步骤s414中,基于透镜扭曲的圆心位置对第一坐标数据做透镜扭曲,获得第二坐标数据。

步骤s413根据摄像机矩阵、投射矩阵和矩阵模型对原始坐标数据进行矢量运算,获得运算后的坐标数据作为第一坐标数据,而步骤s414则进一步扭曲第一坐标数据,得到第二坐标数据。

在步骤s415中,像素化处理第二坐标数据,获得像素单元。

在本步骤中,将第二坐标数据处理成一个二维平面上的像素单元。

在步骤s416中,根据vr视频数据和像素单元绘制图像。

在步骤中,将从服务器端下载的vr视频数据进行解码,获得其中的像素信息,根据像素信息由第二坐标数据转化的像素单元进行赋值,最终完成图像的绘制。

本实施例提供的vr视频播放提供全景模式和双目模式两种观影模式。在全景模式下,创建三维模型,并根据用户当前的视场角度确定基础视频片段和增强视频片段的uv对齐坐标,根据uv对齐坐标将叠加后的像素赋值到三维模型中,从而达到三维全景观影效果。在双目模式下,创建三维模型,对三维模型的坐标点进行透镜扭曲,并且将基础视频片段和增强视频片段叠加到扭曲后的三维模型中显示,从而达到双目vr沉浸式观影效果。在双目模式下,通过一次处理完成视频数据的渲染,提高了渲染效率。

图8是根据本发明实施例的vr视频播放装置的结构图。vr视频播放装置包括获取模块801、数据转码模块802、下载模块803和播放模块804。

获取模块801获取用户的视场角度。

数据转码模块802用于根据用户的视场角度将vr视频数据处理成基础视频集和增强视频集,基础视频集包括多个基础视频片段,增强视频集包括多个增强视频片段,基础视频片段和增强视频片段的叠加后的播放效果优于基础视频片段的播放效果。

下载模块803用于下载基础视频片段和增强视频片段。

播放模块804用于根据用户的视场角度将基础视频片段和增强视频片段叠加后播放。

图9是图8中的数据转码模块802的具体结构图。

该数据转码模块包括:划分单元8021、切割单元8022和处理单元8023。划分单元8021将vr视频数据的投影面积划分成多个区域格。切割单元8022用于根据用户的视场角度确定构成观影区域的区域格。处理单元8023用于根据构成观影区域的区域格将vr视频数据处理成基础视频集和增强视频集。

在一个可选的实施例中,还包括映射表生成单元,用于获得多个分辨率和码率组合,每个分辨率和码率组合包括基础分辨率、增强分辨率、基础码率和增强码率。基于此,处理单元8023按照多个分辨率和码率组合将vr视频数据处理成基础视频集和增强视频集。优选地,可以基于一个初始分辨率和码率组合获得多个等级下的分辨率和码率组合,其中,相邻等级下的分辨率和码率具有特定的比例关系。

在另一个可选的实施例中,参考图10,下载模块803包括速度计算单元8031、选择单元8032和执行单元8033。速度计算单元8031用于计算平均下载速度。选择单元8032用于根据平均下载速度选择一个分辨率和码率组合。执行单元8033用于根据选中的分辨率和码率组合下载相应的基础视频片段和增强视频片段。

在本发明中,在服务器端,根据视场角度对vr视频数据处理成基础视频集和增强视频集,在头显设备或显示设备端,下载基础视频片段和增强视频片段,并根据用户的视场角度叠加播放,能够节省传输带宽,降低显示装置的性能需求,同时能够保证观影体验。

在可选的实施例中,选择合适的分辨率和码率并下载对应的视频片段,从而动态调整数据下载量,优化数据传输。

在另一个可选的实施例中,提供全景和双目观影模式,在不同的模式下叠加视频片段实现视频播放。

本发明实施例虽然以较佳实施例公开如上,但其并不是用来限定权利要求,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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