一种全景视频显示方法及显示设备与流程

专利2022-05-09  15


本申请涉及全景视频技术领域,尤其涉及一种全景视频显示方法及显示设备。



背景技术:

全景视频是基于360度全景图像而发展的一种新型的多媒体形式,通过将一系列静态的全景图像连续播放而转化成动态的全景视频。全景视频一般由软件将全景摄像机采集的各个方位的视频图像拼合而成的,并使用专门的播放器进行播放,将平面视频投影为360度全景模式,呈现给观赏者水平方向360度、垂直方向180度的全包围空间视域。观赏者可以通过头部动作、眼球运动、遥控器控制等方式控制全景视频的播放,从而体会身临其境的感受。作为一种新型异构多媒体业务,全景视频业务流含有音频、视频、文本、交互、控制指令等多种数据类型,具有多样化的服务质量(qualityofservice,qos)需求。

全景视频相对于传统视频有着分辨率高、数据量大、码率高的特点,对网络带宽的要求很高。近几年来,全景视频向着更高分辨率不断发展,需求逐渐由4k转向8k,甚至12k和16k,现有网络条件很难满足这样的发展趋势。为了降低全景视频传输对带宽的要求,减少数据冗余,提高可支持的视频分辨率,在全景视频传输方面多采用视场角(fieldofview,fov)传输方案。

基于fov的全景视频传输方案通过将高分辨率的原始全景视频帧按区域切分为视频块,有选择的显示视野内视频块的方式实现高分辨率全景视频的播放。但是人眼的视域范围有限,处于视场角外围的图像人眼看不清楚,如果整个视野内都采用高清视频块进行显示,会造成资源浪费,增加网络带宽压力。



技术实现要素:

本申请提供了一种全景视频显示方法及显示设备,用以减少全景视频传输的数据量,降低带宽压力。

第一方面,本申请实施例提供一种转换全景视频投影格式显示设备,包括:

显示器,与图形处理器连接,被配置为显示全景视频;

存储器,与图形处理器连接,被配置为存储计算机指令;

所述图形处理器,被配置为根据所述计算机指令执行以下操作:

响应于全景视频播放请求,获取目标全景视频以及所述目标全景视频的配置信息,所述配置信息包含所述目标全景视频中每一目标全景视频帧包含的高清视频分块的地址信息;

针对所述目标全景视频中的每一目标全景视频帧,获取第一视点位置以及第二视点位置,根据所述第一视点位置对应的所述目标全景视频帧中各个第一高清视频分块的标识,以及所述第二视点位置对应的所述目标全景视频帧中各个第二高清视频分块的标识,确定至少一个目标高清视频分块的标识;

根据所述目标全景视频帧包含的高清视频分块的地址信息,以及所述至少一个目标高清视频分块的标识,获取至少一个目标高清视频分块;

根据获取的至少一个目标高清视频分块以及低清全景视频帧,渲染预先创建的球面网格,得到渲染后的全景视频帧并显示,所述低清全景视频帧是对所述目标全景视频帧降采样得到的。

第二方面,本申请实施例提供一种全景视频显示方法,包括:

响应于全景视频播放请求,获取目标全景视频以及所述目标全景视频的配置信息,所述配置信息包含所述目标全景视频中每一目标全景视频帧包含的高清视频分块的地址信息;

针对所述目标全景视频中的每一目标全景视频帧,获取第一视点位置以及第二视点位置,根据所述第一视点位置对应的所述目标全景视频帧中各个第一高清视频分块的标识,以及所述第二视点位置对应的所述目标全景视频帧中各个第二高清视频分块的标识,确定至少一个目标高清视频分块的标识;

根据所述目标全景视频帧包含的高清视频分块的地址信息,以及所述至少一个目标高清视频分块的标识,获取至少一个目标高清视频分块;

根据获取的至少一个目标高清视频分块以及低清全景视频帧,渲染预先创建的球面网格,得到渲染后的全景视频帧并显示,所述低清全景视频帧是对所述目标全景视频帧降采样得到的。

本申请的上述实施例中,通过交互获取用户选择的目标全景视频,针对目标全景视频中的每一目标全景视频帧,获取第一视点位置(显示设备的视点位置)对应的目标全景视频帧中各个第一高清视频分块的标识,以及获取第二视点位置(用户视点位置)对应的目标全景视频帧中各个第二高清视频分块的标识,并根据各个第一高清视频分块的标识和各个第二高清视频分块的标识确定至少一个目标高清视频分块的标识,以及结合获取的目标全景视频帧的配置信息获取至少一个目标高清视频分块,由于目标全景视频分块是根据显示设备的视点位置与用户视点位置对应的高清视频分块联合确定的,与传统fov方案中以显示设备的视点位置确定的高清视频分块进行显示相比,可以减少高清目标视频分块的传输数量,从而减少高清视频分块占用的网络带宽;在渲染时,根据至少一个目标高清视频分块以及降采样得到的低清全景视频进行高低清区域的渲染显示,由于目标高清视频分块考虑了用户视点位置,保证在眼球在转动过程人眼看到的区域显示为高清,提升了用户体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示例性示出了本申请的实施例提供的vr头戴显示设备100的结构图;

图2示例性示出了本申请的实施例提供的人眼视场角的可视范围示意图;

图3示例性示出了本申请的实施例提供的vr设备的视场角与人眼的视场角的平面关系图;

图4示例性示出了本申请的实施例提供的高清全景视频的划分方式示意图;

图5示例性示出了本申请的实施例提供的创建的球面网格;

图6示例性示出了本申请的实施例提供的可视区域的划分方式示意图;

图7中示例性示出了本申请实施例提供的全景视频显示方法流程图;

图8中示例性示出了本申请实施例提供的目标高清视频分块确定方式示意图;

图9示例性示出了本申请实施例提供的显示全景视频的完整流程图;

图10示例性示出了本申请实施例提供的显示设备的结构功能图;

图11示例性示出了本申请实施例提供的显示设备的硬件结构图。

具体实施方式

为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(unlessotherwiseindicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

本申请实施例提供一种全景视频显示方法及显示设备。所述显示设备可以是虚拟现实(virtualreality,vr)头戴式显示设备、智能手机、平板电脑、计算机、笔记本电脑、智能电视等具有全景视频播放功能和交互功能的设备。

以vr头戴式显示设备为例,图1示例性示出了本申请的实施例提供的vr头戴显示设备100的结构图。如图1所示,vr头戴显示设备100包括透镜组101以及设置于透镜组101正前方的显示屏102,其中透镜组101由左显示镜片101_1和右显示镜片101_2组成。用户在使用vr头戴显示设备100时,人眼可以通过透镜组101观看显示屏102显示的全景视频帧,体验vr效果。

fov传输方案是基于视场角进行有差别传输全景视频的方案,主要关注当前视角区域画面的高质量传输,实现上一般对高分辨率的全景视频在空间进行分割,再执行多码率编码生成若干视频流,显示设备根据用户视点位置而传输相应分块的视频流,解码后得到分块并合并,最终呈现给用户观看。

通常的,人眼单目的水平视场角最大可达156度,双目的水平视场角最大可达188度。人眼视场角的可视范围参见图2,如图2所示,人眼的视域范围可分为中心区(0~5度)、旁中心区(5~10度)、近外周区(10~30度)、中外周区(30~60度)以及远外周区(大于60度)。人眼有一个舒适视域范围,单眼的舒适视域范围为60度,在图2中用粗虚线表示,也就是说,单眼60度范围内的物体用户能够看清楚,大于60度部分属于人眼的不敏感范围(也称为远外周区),俗称眼睛的余光,该范围内的内容人眼无法看清楚。

以显示设备为vr头戴式显示设备为例,vr设备的视场角(记为fov1)大小由vr设备的硬件结构决定,视场角内的三维场景内容可显示在vr设备的显示屏幕上。vr设备中的虚拟相机(相当于眼睛)到显示屏幕中心的射线为vr设备的当前视线(即fov1的中心射线),当用户头部转动时,vr设备的视线发生改变,vr设备的视场角内显示的三维场景内容也发生改变。人眼有一个舒适视域范围,将该舒适视域范围对应的视场角记为fov2,fov2的大小可根据实际情况进行设置,fov2的中心射线为人眼的当前视线。由于用户眼球可以独立于用户头部转动,此时,人眼的当前视线发生改变,人眼舒适视域范围内的三维场景内容也发生改变。

vr设备的视场角与人眼的视场角的关系参见图3。如图3所示,为fov1和fov2的平面示意图,一般的,vr设备的视场角fov1大于90度,大于人眼的舒适视域范围对应的视场角fov2,为与fov1进行区分,在图3中用虚线表示,fov1的中心射线为vr设备的当前视线,fov2的中心射线为人眼的当前视线,vr设备的当前视线与全景视频渲染载体的交点为vr设备的视点位置p1(下文也称为第一视点位置),人眼的当前视线与全景视频渲染载体的交点为人眼(用户)视点位置p2(下文也称为第二视点位置)。其中,全景视频渲染载体为渲染引擎预先创建的球面网格,该球面网格可作为显示屏幕显示全景视频。

由于显示设备的视场角大于人眼实际能看清的视场角,显示设备的视场角外围部分人眼无法看不清楚,因此,传统的fov传输方案将显示设备的视场角内全部显示为高清视频分块比较浪费。如果按照人眼舒适区域范围显示高清视频分块,由于人眼不仅可以随着头部转动而转动,人眼也可以独立于头部转动,这样,处于显示设备的视场角外的低清图像区域可能位于人眼的舒适区域范围,此时人眼舒适区域范围内显示的图像分辨率较低,用户无法看清楚,影响体验效果。

本申请实施例提供一种全景视频显示方法及显示设备,综合考虑了显示设备的视场角以及人眼的视场角的可视范围,将人眼的视场角确定的用户视点位置对应的各个高清视频分块,与显示设备的视场角确定的显示设备视点位置对应的各个高清视频分块的交集,确定为至少一个目标高清视频分块,结合低清全景视频帧,进行渲染显示。该方法可以减少fov传输方案中高清视频分块占用的带宽,并且可以根据人眼的转动动态改变高清视频分块的显示区域,保证人眼看到的为高清图像,提高用户体验。

为清楚描述本申请的实施例,对本申请中的名词进行解释。

三维渲染管线中,几何顶点被组合为图元,图元包括:点、线段、多边形。图元经光栅化之后输出片元序列。片元并不是真正意义上的像素,而是包含了很多状态的集合,这些状态用于计算每个像素的最终颜色。这些状态包括了(但不限于)片元的屏幕坐标,深度信息,以及其他从几何阶段输出的顶点信息,例如法线、纹理坐标等。

本申请的实施例中,高清和低清是相对于全景视频的分辨率而言的,高清全景视频的分辨率高于低清全景视频的分辨率。

在全景视频的fov传输方案中,需将高清全景视频划分为多个视频块。本申请实施例以每一高清全景视频帧分割为32个视频块为例进行说明,如图4所示,为高清全景视频帧的分割示意图,其中,每一高清视频分块对应唯一一个分块标识,并记录每个高清视频分块的空间范围,可用经纬度坐标表示。并对高清全景视频进行降采样,得到低清全景视频。

需要说明的是,本申请实施例中的方法可以适用于显示本地的全景视频,还可适用于显示在线(包括点播和直播两种模式)的全景视频,当为点播模式时,分块操作和降采样操作为预处理过程,当为直播模式时,分块操作和降采样操作为实时处理过程。

在本申请的实施例中,显示设备的视频播放程序启动时,根据高清视频分块的划分规则,创建一个作为渲染载体的球面网格,如图5所示,球面网格的子网格数目以高清视频分块数目相等,经纬度跨度相同,每个子网格对应一个高清视频分块。

在本申请的实施例中,球面网格作为全景视频的渲染载体,用于显示全景视频。由图4可知,显示设备的视场角的中心射线与球面网格的交点为显示设备视点位置,记为第一视点位置,人眼的视场角的中心射线与球面网格的交点为用户(人眼)视点位置,记为第二视点位置。预先将高清全景视频划分为多个子区域,并确定每个子视区域对应的高清视频分块的标识,分别生成显示设备的视点映射数据(记为第一视点映射数据)和人眼的视点映射数据(记为第二视点映射数据)。其中,子区域是指某个视点在全景视频帧上所属的区域范围。

高清全景视频子区域的划分方式参见图6,本申请实施例以高清全景视频划分为16个子区域为例,每个子区域对应一个唯一的区域标识,并记录每个子区域的经纬度范围。

为区别描述,全景视频帧上与第一视点位置对应的区域范围记为第一可视区域,全景视频帧上与第二视点位置对应的区域范围记为第二可视区域,第一可视区域和第二可视区域与高清全景视频的划分方式相同,分别包含多个子区域,第一视点位置所在的第一可视区域内的子区域记为第一子区域,第二视点位置所在的第二可视区域内的子区域记为第二子区域。

进一步地,利用球面网格中的子网格与高清视频分块的对应关系,根据第一视点位置,生成第一视点位置所在的第一视点区域内各个子区域对应的第一视点映射数据,第一视点映射数据包含第一视点位置所在的第一视点区域内各个子区域对应的高清视频分块的标识;根据第二视点位置,生成第二视点位置所在的第二视点区域内各个子区域对应的第二视点映射数据,第二视点映射数据包含第二视点位置所在的第二视点区域内各个子区域对应的高清视频分块的标识。其中,第一视点映射数据和第二视点映射数据可存储于显示设备的本地,也可存储于服务器。

本申请实施例对确定子区域对应的各个高清视点分块的标识的方式不做限制性要求,以确定第一可视区域内任意一个子区域i对应的高清视频分块的标识为例:

例如,假设第一可视区域内的子区域i的中心点为第一视点位置,根据fov1的大小,确定显示设备的可视范围,并根据记录的各个高清视频分块的空间范围,确定显示设备的第一可视范围包含的各个高清视频分块的标识,如果高清视频分块的空间范围在第一可视范围内,或与第一可视范围存在重叠区域,则确定该高清视频分块在第一可视范围内,将显示设备的第一可视范围包含的各个高清视频分块的标识,确定为子区域i对应的高清视频分块的标识。

再例如,将第一可视区域内的子区域i的左上、左下、右上、右下4个顶点作为第一视点位置,根据fov1的大小,分别确定第一视点位置在4个顶点的第一可视范围,并根据记录的各个高清视频分块的空间范围,分别确定4个顶点对应的第一可视范围包含的各个高清视频分块的标识,将4个第一可视范围包含的各个高清视频分块的标识的并集,确定为子区域i对应的高清视频分块的标识。其中,第一可视范围包含的各个高清视频分块的确定方式与上一例子相同,在此不再赘述。

同理,第二视点位置所在的第二可视区域内各个子区域对应的高清视频分块的标识的确定方式,与第一视点位置所在的第一可视区域内各个子区域对应的高清视频分块的标识的确定方式相同,在此不再重复。

其中,第一视点位置所在的第一子区域和第二视点位置所在的第二子区域可以相同,也可以不同。由于第一视点和第二视点的视场角大小不同,第一视点位置所在的第一子区域和第二视点位置所在的第二子区域对应的各个高清视频分块的标识不同。

需要说明的是,本申请实施例对各个子区域对应的高清视频分块的标识的存储方式不做限制性要求,例如各个子区域对应的高清视频分块的标识可以以列表的方式存储,还可以以集合或数组的方式存储。

图7中示例性示出了本申请实施例提供的全景视频显示方法流程图。该流程可通过软件方式实现,也可通过软硬件结合的方式实现。如图所示,该流程由显示设备执行,主要包括以下几步:

s701:响应于全景视频播放请求,获取目标全景视频以及目标全景视频的配置信息。

该步骤中,用户与显示设备进行人机交互,用户通过显示设备的功能键或者显示屏幕选择需要播放的目标全景视频,并触发全景视频播放请求,全景视频播放请求携带用户选择的目标全景视频的标识信息(比如目标全景视频的网址、id号、名称等),显示设备根据标识信息向服务器发送全景视频获取请求,服务器根据接收的全景视频获取请求返回目标全景视频以及目标全景视频的配置信息,配置信息包含目标全景视频中每一目标全景视频帧包含的高清视频分块的地址信息。

为了提高目标全景视频的加载效率,显示设备可先从本地获取目标全景视频及配置文件,若未获取到,则从服务器获取目标全景视频及配置文件。

s702:针对目标全景视频中的每一目标全景视频帧,获取第一视点位置以及第二视点位置,根据第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识,以及第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识,确定至少一个目标高清视频分块的标识。

该步骤中,显示设备装有设备视线追踪装置以及眼球追踪装置,其中,设备视线追踪装置用于获取显示设备的视线朝向,眼球追踪装置用于获取人眼的视线朝向,显示设备将获取的显示设备的视线朝向在预先创建的球面网格上的第一投影点的经纬度坐标,确定为第一视点位置,以及将获取的人眼的视线朝向在预先创建的球面网格上的第二投影点的经纬度坐标,确定为第二视点位置。

需要说明的是,本申请实施例对设备视线追踪装置不作限制性要求,比如,设备视线追踪装置可以是陀螺仪。显示设备自身的软件开发工具包(softwaredevelopmentkit,sdk)从陀螺仪获取显示设备的视线数据以跟踪显示设备的视线朝向。

确定第一视点位置和第二视点位置后,进一步地,确定第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识,以及确定第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识。

具体实施时,根据显示设备的视线朝向在球面网格上的第一视点位置以及显示设备的视场角(包括水平视场角和垂直视场角)大小及方向,确定显示设备的第一可视范围,根据预先记录的各个高清视频分块的空间范围,确定各个高清视频分块是否在第一可视范围内,并将存在于第一可视范围内的各个高清视频分块对应的标识,确定为第一视点位置对应的目标全景视频帧中各个高清视频分块的标识;以及根据人眼的视线朝向在球面网格上的第二视点位置以及人眼的视场角(包括水平视场角和垂直视场角)大小及方向,确定人眼的第二可视范围,根据预先记录的各个高清视频分块的空间范围,确定各个高清视频分块是否在第二可视范围内,并将存在于第二可视范围内的各个高清视频分块对应的标识,确定为第二视点位置对应的目标全景视频帧中各个高清视频分块的标识。

为了提高数据获取的效率,在执行s702时,第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识可从预先生成的第一视点映射数据中直接获取,第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识可从预先生成的第二视点映射数据中直接获取。

具体实施时,根据第一视点位置的经纬度坐标以及第一可视区域内各个子区域的经纬度空间范围,确定第一视点位置所在的第一子区域,从预先生成的第一视点映射数据中获取第一子区域对应的各个高清视频分块的标识,将第一子区域对应的各个高清视频分块的标识,确定为第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识;以及根据第二视点位置的经纬度坐标以及第二可视区域内各个子区域的经纬度空间范围,确定第二视点位置所在的第二子区域,从预先生成的第二视点映射数据中获取第二子区域对应的各个高清视频分块的标识,将第二子区域对应的各个高清视频分块的标识,确定为第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识。

其中,第一视点映射数据和第二视点映射数据的生成方式参见前述实施例,在此不再重复。

进一步地,在s702中,根据第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识,以及第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识,确定至少一个目标高清视频分块的标识。

由于第二视点位置可能在显示设备的第一可视范围的边缘区域,这样,第二视点位置对应的各个高清视频分块的标识中的部分高清视频分块可能并不在显示屏幕的显示范围内,如果将第二视点位置对应的各个高清视频分块的标识对应的高清视频分块全部请求加载,会造成数据浪费,增加网络传输压力。因此,可将第一可视范围和第二可视范围内相同的高清视频分块进行加载。

具体实施时,将第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识中,与第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识中相同的至少一个高清视频分块的标识,确定至少一个目标高清视频分块的标识。其中,目标高清视频分块为人眼视场角和显示设备的视场角确定的可视范围内,目标全景视频帧包含的高清视频分块的交集。

例如,目标高清视频分块的确定方式示意图如图8所示,第一视点位置对应的目标全景视频帧中各个高清视频分块的标识为{10、11、12、18、19、20、26、27、28},在图8中用实斜线填充,第二视点位置对应的目标全景视频帧中各个高清视频分块的标识为{3、4、11、12},在图8中用虚点画线填充,则至少一个目标高清视频分块的标识为{11、12},在图8中用粗实线圈出。

s703:根据目标全景视频帧包含的高清视频分块的地址信息,以及至少一个目标高清视频分块的标识,获取至少一个目标高清视频分块。

该步骤中,显示设备根据配置信息中目标全景视频帧包含的高清视频分块的地址信息,以及至少一个目标高清视频分块的标识,向服务器发送分块获取请求,服务器接收到分块获取请求后,将至少一个目标高清视频分块的标识对应的目标高清视频分块返回给显示设备。

s704:根据获取的至少一个目标高清视频分块以及低清全景视频帧,渲染预先创建的球面网格,得到渲染后的全景视频帧并显示。

该步骤中,低清全景视频帧是对目标全景视频帧降采样得到的,其中,低清全景视频帧可由目标全景视频帧实时降采样得到,也可以预先生成每一高清全景视频的低清全景视频,在获取目标全景视频时,同时获取目标全景视频对应的低清全景视频。

在本申请的实施例中,创建球面网格后,对球面网格内的各个网格顶点进行光栅化生成各个片元,并确定各个片元的全局uv坐标。本申请实施例对各个片元的全局uv坐标的确定方式不做限制性要求。

例如,光栅化生成各个片元后,将各个片元在球面网格上的三维坐标转换为经纬度坐标,由于经纬度坐标与图像的uv坐标均为二维平面坐标,这样可以建立经纬度坐标和uv坐标之间的映射关系,根据该映射关系,将各个片元的经纬度坐标,转换为全局uv坐标。

再例如,创建球面网格的过程中,根据球面网格中各个子网格顶点的uv坐标,插值得到各个片元的uv坐标。

在s704中,针对球面网格光栅化生成的各个片元,根据各个片元的uv坐标以及预先记录的各个高清视频分块的空间范围,确定各个片元是否位于目标高清视频分块中,若是,则将各个片元的全局uv坐标转换为以目标高清视频分块为坐标系的局部uv坐标,根据各个片元的局部uv坐标,从各个片元所在的目标高清视频分块中获取相应片元的颜色值,否则,根据各个片元的全局uv坐标从低清全景视频帧中获取各个片元的颜色值。进一步地,根据各个片元的颜色值,渲染球面网格,得到渲染后的全景视频帧并显示。其中,各个片元的局部uv坐标由全局uv坐标转换得到的。

本申请的上述实施例中,通过设备视线追踪装置获取显示设备视线朝向,通过眼球追踪装置获取人眼的视线朝向,并确定第一视点位置和第一视点位置对应的目标全景视频帧中各个高清视频分块的标识,以及确定第二视点位置和第二视点位置对应的目标全景视频帧中各个高清视频分块的标识,将第一视点位置和第二视点位置对应各个高清视频分块标识中相同的标识确定为至少一个目标高清视频分块的标识,并获取对应的目标高清视频分块,其中,第一视点位置为显示设备的视场角的中心射线在球面网格的第一投影点,第二视点位置为人眼的视场角的中心射线在球面网格的第二投影点,由于人眼的视场角小于显示设备的视场角,这样,人眼的视场角对应的可视范围内包含的高清视频分块数小于显示设备的视场角对应的可视范围内包含的高清视频分块数,从而减少fov传输方案中视场角内目标高清视频分块的传输数量,减少高清视频分块占用的网络带宽;进一步地,在渲染显示时,根据至少一个目标高清视频分块及低清全景视频帧渲染球面网格,得到渲染后的全景视频帧并显示,由于人眼和显示设备的转动是独立的,且至少一个目标高清视频分块为显示设备的视场角和人眼的视场角确定的可视范围内的高清视频分块的标识,从而可以根据人眼的转动动态加载对应的高清视频分块,保证人眼看到的区域显示为高清,而其他区域显示为低清,提升用户体验。

本申请实施例中,以vr头戴式显示设备为例,图9示例性示出了本申请实施例提供的显示全景视频的完整流程图,如图9所示,该流程主要包括以下几步:

s901:vr设备启动全景视频播放程序,创建球面网格。

该步骤中,用户通过开机键启动vr设备的全景视频播放程序,并创建一个球面网格,该球面网格作为全景视频的渲染载体,包含多个子网格,每个子网格对应一个高清视频分块。球面网格的相关描述参见前述实施例,在此不再重复。

s902:vr设备响应于全景视频播放请求,获取目标全景视频以及目标全景视频的配置信息。

该步骤的详细描述参见s701,在此不再重复。

s903:针对目标全景视频中的目标全景视频帧i,vr设备通过设备视线追踪装置获取vr设备的视线朝向,并根据vr设备的视线朝向确定第一视点位置。

该步骤中,i为大于0小于等于n(目标全景视频帧总数)的整数。当vr设备的视线朝向为vr设备的视场角的中心线时,获取vr设备的视线朝向在球面网格上的第一投影点的经纬度坐标,将第一投影点的经纬度坐标确定为第一视点位置。

s904:vr设备通过眼球追踪装置获取人眼的视线朝向,并根据人眼的视线朝向确定第二视点位置。

该步骤中,当人眼的视线朝向为人眼的视场角的中心线时,获取人眼的视线朝向在球面网格上的第二投影点的经纬度坐标,将第二投影点的经纬度坐标确定为第二视点位置。

s905:vr设备确定是否需要实时计算第一视点位置对应的目标全景视频帧i中的第一高清视频分块列表,以及第二视点位置对应的目标全景视频帧i中的第二高清视频分块列表。

该步骤中,第一高清视频分块列表包含第一视点位置对应的目标全景视频帧i中各个高清视频分块的标识,第一高清视频分块列表包含第二视点位置对应的目标全景视频帧i中各个高清视频分块的标识。

在s905中,vr设备先从本地获取第一视点映射数据及第二视点映射数据,若获取成功,表明无需实时计算第一高清视频分块列表和第二高清视频分块列表,执行s908,若获取失败,则从服务器获取第一视点映射数据及第二视点映射数据,若获取成功,则表明无需实时计算第一高清视频分块列表和第二高清视频分块列表,执行s908,否则,执行s906。

其中,第一视点映射数据和第二视点映射数据的描述参见前述实施例,在此不再重复。

s906:vr设备根据第一视点位置以及vr设备的视场角大小确定第一可视范围,并根据预先记录的各个高清视频分块的空间范围,确定第一可视范围包含的各个高清视频分块,以及,根据第二视点位置以及人眼的视场角确定第二可视范围,并根据预先记录的各个高清视频分块的空间范围,确定第二可视范围包含的各个高清视频分块。

该步骤中,由于人眼的视场角小于vr设备的视场角,第二可视范围包含的高清视频分块数少于第一可视范围包含的高清视频分块数。

s907:vr设备根据第一可视范围包含的各个高清视频分块的标识,生成第一视点位置对应的目标全景视频帧i中的第一高清视频分块列表,以及根据第二可视范围包含的各个高清视频分块的标识,生成第二视点位置对应的目标全景视频帧i中的第二高清视频分块列表。

s908:vr设备从第一视点映射数据中直接获取第一视点位置对应的目标全景视频帧i中的第一高清视频分块列表,从第二视点映射数据中直接获取第二视点位置对应的目标全景视频帧i中的第二高清视频分块列表。

该步骤中,vr设备将第一视点位置所在的第一可视区域对应的第一高清视频分块列表,确定为第一视点位置对应的目标全景视频帧i中的第一高清视频分块列表,将第二视点位置所在的第二可视区域对应的第二高清视频分块列表,确定为第二视点位置对应的目标全景视频帧i中的第二高清视频分块列表。

第一可视区域对应的第一高清视频分块列表以及第二可视区域对应的第一高清视频分块列表的确定方式参见前述实施例,在此不再重复。

s909:vr设备将第一高清视频分块列表中和第二高清视频分块列表中相同的高清视频分块的标识,确定至少一个目标高清视频分块的标识,得到目标高清视频分块列表。

该步骤中,第一高清视频分块列表中高清视频分块的标识是根据显示设备的视场角确定的,第二高清视频分块列表中高清视频分块的标识是根据人眼的视场角确定的,将两个列表中的交集确定为至少目标高清视频分块的标识。

s910:vr设备根据目标全景视频帧包含的各个高清视频分块的地址信息,从服务器获取目标高清视频分块列表中各个标识对应的至少一个高清视频分块并解码。

该步骤中,由于目标全景视频的配置信息包含每一目标全景视频帧包含的各个高清视频分块的地址信息,根据目标高清视频分块列表中各个标识,按照相应的地址信息,获取相应的目标高清视频分块并解码。

s911:vr设备获取目标全景视频帧i对应的低清全景视频帧i。

该步骤中,低清全景视频帧i可以是对目标全景视频帧i降采样得到的,也可以是从预先生成的低清全景初频中获取的,低清全景初频帧i和目标全景初频帧i的时间戳相同。

s912:vr设备针对球面网格光栅化生成的各个片元的全局uv坐标,确定各个片元是否位于目标全景视频分块中,若是,则执行s913,否则执行s914。

其中,各个片元的全局uv坐标的描述参见s704,在此不再重复。

在s912中,根据各个片元的全局uv坐标,以及高清视频分块的经纬度坐标与图像uv坐标的映射关系,确定各个片元是否位于目标高清视频分块中。其中,高清视频分块的经纬度坐标为预先记录的高清视频分块的空间范围。

s913:vr设备将各个片元的全局uv坐标转化换为以目标高清视频分块为坐标的局部uv坐标,根据各个片元的局部uv坐标,从相应的目标高清视频分块中获取相应片元的颜色值。

该步骤中,可根据目标高清视频分块与目标全景视频帧的横纵像素比例,将全局uv坐标转换为局部uv坐标,进一步地,根据各个片元的局部uv坐标从目标高清视频分块中获取相应片元的颜色值。

s914:vr设备根据各个片元的全局uv坐标,从低清全景视频帧i中获取相应片元的颜色值。

该步骤中,根据fov传输方案,将高清视频分块未加载完成的区域,显示为低清,即根据各个片元的全局uv坐标,从低清全景视频帧i中获取相应片元的颜色值。

s915:vr设备根据各个片元的颜色值,渲染球面网格,得到全景视频帧并显示。

该步骤中,每个片元对应显示屏幕上的一个待渲染像素点,根据各个片元的颜色值渲染球面网格,可以得到渲染后的全景视频帧。

基于相同的技术构思,本申请实施例提供一种显示全景视频的显示设备,该显示设备可执本申请实施例提供的全景视频的显示方法流程,并能达到同样的技术效果,在此不再重复。

参见图10,该显示设备包括获取模块1001、处理模块1002、渲染显示模块1003;

获取模块1001,用于响应于全景视频播放请求,获取目标全景视频以及目标全景视频的配置信息,配置信息包含目标全景视频中每一目标全景视频帧包含的高清视频分块的地址信息;以及,根据目标全景视频帧包含的高清视频分块的地址信息,以及至少一个目标高清视频分块的标识,获取至少一个目标高清视频分块;

处理模块1002,用于针对目标全景视频中的每一目标全景视频帧,获取第一视点位置以及第二视点位置,根据第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识,以及第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识,确定至少一个目标高清视频分块的标识;

渲染显示模块1003,用于根据获取的至少一个目标高清视频分块以及低清全景视频帧,渲染预先创建的球面网格,得到渲染后的全景视频帧并显示,低清全景视频帧是对目标全景视频帧降采样得到的。

可选的,处理模块1002,具体用于:

将第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识中,与第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识中相同的至少一个高清视频分块的标识,确定至少一个目标高清视频分块的标识。

可选的,处理模块1002,还用于:

根据第一视点位置以及显示设备的视场角大小和方向确定的第一可视范围内包含的高清视频分块,确定第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识,以及根据第二视点位置以及人眼的视场角大小和方向确定的第二可视范围内包含的高清视频分块,确定第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识;或者

根据第一视点位置所在的预先划分的第一子区域,从预先生成的第一视点映射数据中获取第一子区域对应的各个高清视频分块的标识,将第一子区域对应的各个高清视频分块的标识,确定为第一视点位置对应的目标全景视频帧中各个第一高清视频分块的标识,以及根据第二视点位置所在的预先划分的第二子区域,从预先生成的第二视点映射数据中获取第二子区域对应的各个高清视频分块的标识,将第二子区域对应的各个高清视频分块的标识,确定为第二视点位置对应的目标全景视频帧中各个第二高清视频分块的标识。

可选的,渲染显示模块1003具体用于:

针对球面网格光栅化生成的各个片元,若各个片元位于目标高清视频分块中,则根据各个片元的局部uv坐标从高清视频分块中获取相应片元的颜色值,否则根据各个片元的全局uv坐标从低清全景视频帧中获取各个片元的颜色值;其中,局部uv坐标由全局uv坐标转换得到的,全局uv坐标是根据各个片元的三维坐标转换得到的或由球面网格中各个子网格顶点的uv坐标插值得到的;

根据各个片元的颜色值,渲染球面网格。

可选的,显示设备还包括追踪模块,用于获取显示设备的视线朝向,以及获取人眼的视线朝向;

获取模块1001具体用于:

将获取的显示设备的视线朝向在球面网格上的第一投影点的经纬度坐标,确定为第一视点位置;

将获取的人眼的视线朝向在球面网格上的第二投影点的经纬度坐标,确定为第二视点位置。

基于相同的技术构思,本申请实施例提供一种显示全景视频的显示设备,该显示设备可执本申请实施例提供的图7、图10所示的流程,并能达到同样的技术效果,在此不再重复。

参见图11,该显示设备包括显示器1101、存储器1102、图形处理器1103。其中显示器1101与图形处理器1103连接,被配置为显示vr视频;存储器1102与图像处理器1103连接,被配置为存储计算机指令;图形处理器1103,被配置为根据存储器1102存储的计算机指令执行全景视频的显示方法。

本申请实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例的方法。

本申请实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行前述实施例的方法。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

转载请注明原文地址:https://doc.8miu.com/read-150251.html

最新回复(0)