首页> 中国专利> 基于虚拟现实场景的视频处理方法、装置和系统

基于虚拟现实场景的视频处理方法、装置和系统

摘要

本发明涉及一种基于虚拟现实场景的视频处理方法、装置和系统,该方法包括:获取虚拟现实场景中视角切换后的当前视角;确定当前播放时间节点;输出与所述当前视角对应、且与所述当前播放时间节点对应的关键帧;在与所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;输出查找到的视频帧。本申请的方案缩短了视角切换时的显示延时时间。

著录项

  • 公开/公告号CN109698949A

    专利类型发明专利

  • 公开/公告日2019-04-30

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN201710982001.4

  • 发明设计人 曾新海;涂远东;

    申请日2017-10-20

  • 分类号H04N13/10(20180101);H04N21/4402(20110101);H04N13/156(20180101);H04N13/111(20180101);

  • 代理机构44224 广州华进联合专利商标代理有限公司;

  • 代理人何平;邓云鹏

  • 地址 518000 广东省深圳市南山区高新区科技中一路腾讯大厦35层

  • 入库时间 2024-02-19 09:04:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-21

    授权

    授权

  • 2019-05-28

    实质审查的生效 IPC(主分类):H04N13/10 申请日:20171020

    实质审查的生效

  • 2019-04-30

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,特别是涉及一种基于虚拟现实场景的视频处理方法、装置和系统。

背景技术

目前,随着科学技术的飞速发展,虚拟现实(VR,Virtual Reality)视频直播凭借其良好的参与性,逐渐受到大家的欢迎。

用户在观看虚拟现实直播视频时,并非静止不动的,往往会产生一定幅度的运动,而引起观看视角的变换。传统方法中,在用户的视角变换后,仍会播放一段时间的视角变换前的视频画面,直到过了这段时间,才能看到新视角下的清晰的视频。因此,传统方法在视角切换时通常需要一段时间后才能看到新视角下清晰的视频,存在一定的显示延时。

发明内容

基于此,有必要针对传统方法在视角切换时存在一定的显示延时的问题,提供一种基于虚拟现实场景的视频处理方法、装置、计算机设备、存储介质和系统。

一种基于虚拟现实场景的视频处理方法,所述方法包括:

获取虚拟现实场景中视角切换后的当前视角;

确定当前播放时间节点;

输出与所述当前视角对应、且与所述当前播放时间节点对应的关键帧;

在与所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;

输出查找到的视频帧。

一种基于虚拟现实场景的视频处理装置,所述装置包括:

当前视角获取模块,用于获取虚拟现实场景中视角切换后的当前视角;

播放时间节点确定模块,用于确定当前播放时间节点;

视频帧输出模块,用于输出与所述当前视角对应、且与所述当前播放时间节点对应的关键帧;

视频帧查找模块,用于在与所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;

所述视频帧输出模块还用于输出查找到的视频帧。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

获取虚拟现实场景中视角切换后的当前视角;

确定当前播放时间节点;

输出与所述当前视角对应、且与所述当前播放时间节点对应的关键帧;

在与所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;

输出查找到的视频帧。

一种存储有计算机程序的存储介质,所述计算机程序被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:

获取虚拟现实场景中视角切换后的当前视角;

确定当前播放时间节点;

输出与所述当前视角对应、且与所述当前播放时间节点对应的关键帧;

在与所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;

输出查找到的视频帧。

上述基于虚拟现实场景的视频处理方法、装置、计算机设备和存储介质,在视角切换后,可以直接输出播放切换后的当前视角下与当前播放时间节点对应的关键帧,并在输出播放关键帧后,将与切换后的当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧并输出,快速地实现了切换后的新视角下的虚拟现实视频图像的正常播放,而不需要一段等待播放视角变换前的虚拟现实视频图像的等待时间,缩短了视角切换时的显示延时时间。

一种基于虚拟现实场景的视频处理方法,所述方法包括:

在虚拟现实场景中播放原始视角所对应的混合视频帧序列;

在视角切换时,生成视频帧获取请求并输出;

接收响应于所述视频帧获取请求返回的关键帧;所述关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点;

将所述关键帧替代所述原始视角所对应的混合视频帧序列进行播放;

接收对应于所述当前视角的混合视频帧序列中的视频帧并播放;所述视频帧为在所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

一种基于虚拟现实场景的视频处理装置,所述装置包括:

播放模块,用于在虚拟现实场景中播放原始视角所对应的混合视频帧序列;

视频帧请求模块,用于在视角切换时,生成视频帧获取请求并输出;

视频帧接收模块,用于接收响应于所述视频帧获取请求返回的关键帧;所述关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点;

所述播放模块还用于将所述关键帧替代所述原始视角所对应的混合视频帧序列进行播放;

所述视频帧接收模块还用于接收对应于所述当前视角的混合视频帧序列中的视频帧并通知所述播放模块依次播放接收到的所述视频帧;所述视频帧为在所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

一种存储有计算机程序的存储介质,所述计算机程序被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:

在虚拟现实场景中播放原始视角所对应的混合视频帧序列;

在视角切换时,生成视频帧获取请求并输出;

接收响应于所述视频帧获取请求返回的关键帧;所述关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点;

将所述关键帧替代所述原始视角所对应的混合视频帧序列进行播放;

接收对应于所述当前视角的混合视频帧序列中的视频帧并播放;所述视频帧为在所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

一种存储有计算机程序的存储介质,所述计算机程序被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:

在虚拟现实场景中播放原始视角所对应的混合视频帧序列;

在视角切换时,生成视频帧获取请求并输出;

接收响应于所述视频帧获取请求返回的关键帧;所述关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点;

将所述关键帧替代所述原始视角所对应的混合视频帧序列进行播放;

接收对应于所述当前视角的混合视频帧序列中的视频帧并播放;所述视频帧为在所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

一种基于虚拟现实场景的视频处理系统,包括虚拟现实设备和内容分发网络服务器;

所述虚拟现实设备,用于获取虚拟现实场景中的原始视角,从所述内容分发网络服务器获取与所述原始视角对应的混合视频帧序列并播放;在视角切换时,生成视频帧获取请求并发送至所述内容分发网络服务器;

所述内容分发网络服务器,用于响应于所述视频帧获取请求,获取视角切换后的当前视角和当前播放时间节点;获取与所述当前视角对应、且与所述当前播放时间节点对应的关键帧;将所述关键帧发送至所述虚拟现实设备;

所述内容分发网络服务器还用于在与所述当前视角对应的混合视频帧序列中,从所述当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;将查找到的视频帧发送至所述虚拟现实设备;

所述虚拟现实设备还用于将所述关键帧替代所述原始视角所对应的混合视频帧序列进行播放;并将后续接收到的视频帧依次播放。

上述基于虚拟现实场景的视频处理方法、装置、计算机设备、存储介质和系统,在视角切换后,可以直接将切换后的当前视角下与当前播放时间节点对应的关键帧替代原始视角所对应的混合视频帧序列进行播放,并在播放关键帧后,将与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找出的视频帧进行播放,快速地实现了切换后的新视角下的虚拟现实视频图像的正常播放,而不需要一段等待播放视角变换前的虚拟现实视频图像的等待时间,缩短了视角切换时的显示延时时间。

附图说明

图1为一个实施例中基于虚拟现实场景的视频处理方法的应用场景图;

图2为一个实施例中基于虚拟现实场景的视频处理方法的流程示意图;

图3A至图3B为一个实施例中描述视角所对应的虚拟现实视频图像的界面示意图;

图4为一个实施例中关键帧序列和混合视频帧序列的示意图;

图5为另一个实施例中基于虚拟现实场景的视频处理方法的流程示意图;

图6为一个实施例中基于虚拟现实场景的视频处理系统的架构图;

图7为另一个实施例中基于虚拟现实场景的视频处理系统的架构图;

图8为又一个实施例中基于虚拟现实场景的视频处理系统的架构图;

图9为一个实施例中基于虚拟现实场景的视频处理方法的时序图;

图10为一个实施例中基于虚拟现实场景的视频处理装置的结构框图;

图11为另一个实施例中基于虚拟现实场景的视频处理装置的结构框图;

图12为又一个实施例中基于虚拟现实场景的视频处理装置的结构框图

图13为一个实施例中计算机设备的内部结构示意图;

图14为另一个实施例中计算机设备的内部结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中基于虚拟现实场景的视频处理方法的应用场景图。参照图1,该应用场景中包括通过网络连接的头戴式显示器110、虚拟现实设备120和服务器130。其中,头戴式显示器(HMD,Head Mounted Display)110可以是具备显示虚拟现实场景画面功能的头戴式显示设备。可以理解,头戴式显示器也可以用其他具备显示虚拟现实场景画面功能的设备替代。虚拟现实设备120是具备实现虚拟现实场景功能的设备。虚拟现实设备120可以是是台式计算机或移动终端,移动终端可以包括手机、平板电脑、个人数字助理和穿戴式设备等中的至少一种。服务器130可以用独立的服务器或者是多个物理服务器组成的服务器集群来实现。

虚拟现实设备120中可以播放原始视角对应的混合视频帧序列。用户通过头戴式显示器110可以观看到虚拟现实设备120在播放原始视角对应的混合视频帧序列所形成的虚拟现实场景画面。虚拟现实设备120可以在视角切换时,生成视频帧获取请求并发送至服务器130。服务器130可以获取虚拟现实场景中视角切换后的当前视角,并确定当前播放时间节点。服务器130可以将与当前视角对应、且与当前播放时间节点对应的关键帧输出至虚拟现实设备120。服务器130还可以在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧,并将查找到的视频帧发送至虚拟现实设备120。虚拟现实设备120可以将该关键帧替代原始视角所对应的混合视频帧序列进行播放,并将后续接收到的视频帧依次播放,以实现对切换后的当前视角下的视频播放。用户通过头戴式显示器110可以观看到虚拟现实设备120在播放关键帧以及依次播放后续接收到的视频帧时形成的切换后的当前视角所对应的虚拟现实场景画面。

可以理解,在其他实施例中,应用场景中也可以不包括头戴式显示器110。比如,如果虚拟现实设备120本身具备头戴式显示器110所具备的显示虚拟现实场景画面的功能,则可以省去头戴式显示器110。

图2为一个实施例中基于虚拟现实场景的视频处理方法的流程示意图。本实施例主要以该基于虚拟现实场景的视频处理方法应用于图1中的服务器130来举例说明。参照图2,该方法具体包括如下步骤:

S202,获取虚拟现实场景中视角切换后的当前视角。

其中,虚拟现实场景,是利用电脑模拟产生的一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般地观察虚拟世界的三度空间内的事物。可以理解,虚拟现实场景是三维的。

在一个实施例中,虚拟现实场景,可以是虚拟现实游戏直播场景。

视角(Filed of View),是观察点与可视区域边缘的连线所形成的夹角。视角用于表征观察点能够看到的可视区域的范围。可以理解,不同视角所能够看到的可视区域的范围不同。

具体地,服务器可以预先将三维虚拟现实视频的总视野划分为多个不同视角。其中,三维虚拟现实视频的总视野是三维虚拟现实视频的全部视野。三维虚拟现实视频的总视野可以是360度全景视野,也可以是少于360度的视野,比如180度视野。

可以理解,划分出的每个视角对应于三维虚拟现实视频中的局部场景的虚拟现实视频图像序列。其中,局部场景的虚拟现实视频图像序列,是呈现三维虚拟现实视频所展示的虚拟现实场景的局部特征的虚拟现实视频图像序列。可以理解,每个视角所对应的局部场景的虚拟现实视频图像序列,为在该视角所对应的可视区域内呈现的局部场景的虚拟现实视频图像序列,即在该视角内,从观察点可以看到该视角所对应的局部场景的虚拟现实视频图像序列。

图3A至图3B为一个实施例中描述视角所对应的虚拟现实视频图像的界面示意图。图3A为全景视野下的三维虚拟现实视频图像。图3B为一个视角下的虚拟现实视频图像。图3B中所呈现的一个视角下的虚拟现实视频图像为三维虚拟现实视频图像的一个局部场景。

具体地,服务器可以直接接收虚拟现实设备发送的虚拟现实场景中视角切换后的当前视角。服务器也可以自身根据视角切换关联信息,得到视角切换后的当前视角。其中,视角切换关联信息是与视角切换具有关联关系的信息。在一个实施例中,视角切换关联信息可以包括头部姿态。可以理解,头部姿态的改变可以引起视角的切换,则与视角切换具有关联关系,所以头部姿态属于视角切换关联信息。

S204,确定当前播放时间节点。

其中,播放时间节点,是预先设置的用于播放视频帧的时间节点。可以理解,每个视频帧都有对应的播放时间节点,在达到播放时间节点时,该播放时间节点所对应的视频帧可以被输出以进行播放。

需要说明的是,一个播放时间节点可以对应于多个不同视角下的视频帧,而实际达到该播放时间节点时,会将其中一个视角下的对应于该播放时间节点视频帧进行输出。现举例说明,比如有视角1、视角2和视角3,视角1、视角2和视角3各自对应的视频帧中,都有一个对应于播放时间节点t1的视频帧。那么,在达到播放时间节点t1时,会从视角1、视角2和视角3中确定出一个视角,然后将所确定的这个视角下的对应于该播放时间节点t1的视频帧进行输出。

当前播放时间节点,是当前所要播放的播放时间节点。

具体地,服务器可以直接获取虚拟现实设备发送的当前播放时间节点。服务器也可以获取视角切换的切换时间点,根据该切换时间点确定当前播放时间节点。其中,切换时间点,是生成视角切换时的时间点。

在一个实施例中,服务器还可以根据本地的当前系统时间,确定当前播放时间节点。在一个实施例中,服务器可以在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与本地的当前系统时间匹配的播放时间节点,作为当前播放时间节点。

在一个实施例中,服务器可以从已经播放的播放时间节点中,选取最接近切换时间点的播放时间节点,将选取的最接近的播放时间节点之后的下一个播放时间节点作为当前播放时间节点。

S206,输出与当前视角对应、且与当前播放时间节点对应的关键帧。

其中,关键帧,是不以其他帧图像做参考,只利用本帧的信息进行编码的帧。在一个实施例中,关键帧可以是I帧(Intra-coded picture,帧内编码帧)。

在一个实施例中,输出关键帧,可以是发送关键帧,以使该关键帧被播放。具体地,服务器可以将关键帧添加至发送队列,通过发送队列将关键帧发送至虚拟现实设备,虚拟现实设备可以将与当前视角对应的关键帧进行解码播放,以生成当前视角下的该关键帧所对应的虚拟现实视频图像。可以理解,当前视角下的关键帧所对应的虚拟现实视频图像属于局部场景的虚拟现实视频图像。

具体地,服务器中存储了视角与关键帧间的对应关系,以及存储了关键帧与播放时间节点间的对应关系。服务器可以根据上述对应关系,确定与当前视角对应、且与当前播放时间节点对应的关键帧并输出。

在一个实施例中,步骤S206包括:获取与当前视角对应的关键帧序列;在关键帧序列中,查找与当前播放时间节点对应的关键帧。

具体地,服务器中预先存储了视角与关键帧序列间的对应关系。关键帧序列是由多个关键帧组成的视频帧序列。关键帧序列中的多个关键帧被逐帧输出时,可以生成与所对应的视角对应的虚拟现实视频图像序列。在视角切换到当前视角时,服务器可以获取与当前视角对应的关键帧序列,在该关键帧序列中,根据预设的关键帧与播放时间节点的对应关系,查找与当前播放时间节点对应的关键帧。

S208,在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧。

其中,混合视频帧序列,是经过压缩的由关键帧和帧间预测帧组成的混合视频帧序列。帧间预测帧,是利用视频图像帧间的相关性参考其他视频帧进行编码的视频帧。帧间预测帧包括P帧(向前帧间预测帧,Predictive-codedPicture)和/或B帧(双向帧间预测帧,Bidirectionally predicted picture)。可以理解,混合视频帧序列是在正常状态下播放虚拟现实视频时所使用的视频帧序列。

在一个实施例中,混合视频帧序列是由直播视频帧逐帧生成。

具体地,服务器中预先设置了视角与混合视频帧序列的对应关系。服务器可以根据该对应关系,获取与当前视角对应的混合视频帧序列。可以理解,混合视频帧序列中的各视频帧都有对应的播放时间节点。服务器可以在与当前视角对应的混合视频帧序列中,确定与当前播放时间节点对应的视频帧,并从所确定的视频帧的下一视频帧起,依次查找视频帧。

可以理解,关键帧和混合视频帧序列中的视频帧可以对应于同一个播放时间节点。将对应于同一视角且对应于同一个播放时间节点的关键帧和混合视频帧序列中的视频帧分别输出时,所生成的虚拟现实视频图像是相同的。可以理解,这里所说的虚拟现实视频图像相同,是具有相同画面内容的虚拟现实视频图像,并不排除根据关键帧输出的虚拟现实视频图像与根据混合视频帧序列中的视频帧输出的虚拟现实视频图像之间存在清晰度等方面的质量差异。

在一个实施例中,关键帧是与当前视角对应的关键帧序列中的、且对应于当前时间节点的关键帧。本实施例中,关键帧序列与混合视频帧序列是该当前视角所对应的虚拟现实视频图像序列的不同表示形式。即当前视角所对应的虚拟现实视频图像序列,可以由关键帧序列进行表示,将关键帧序列中的各关键帧逐帧输出,可以生成当前视角所对应的虚拟现实视频图像序列。当前视角所对应的虚拟现实视频图像序列,也可以由混合视频帧序列进行表示,将混合视频帧序列中的各视频帧逐帧输出,可以生成当前视角所对应的虚拟现实视频图像序列。可以理解,与当前视角对应的关键帧序列和混合视频帧序列所对应的虚拟现实视频图像序列皆为局部场景的虚拟现实视频图像序列。

图4为一个实施例中关键帧序列和混合视频帧序列的示意图。图4中为对应于同一个视角的关键帧序列和混合视频帧序列。关键帧序列由各个关键帧(I帧)组成,混合视频帧序列由关键帧(I帧)和帧间预测帧(如图4中的P帧)组成。关键帧序列和混合视频帧序列中同一虚线框内的视频帧对应于同一播放时间节点,比如I帧402a和P帧402b对应于同一播放时间节点t1,I帧404a和P帧404b对应于同一播放时间节点t2。

S210,输出查找到的视频帧。

具体地,服务器可以将查找到的视频帧逐帧依次输出。可以理解,服务器可以将查找到的视频帧添加至发送队列,通过发送队列将视频帧逐帧发送至虚拟现实设备。虚拟现实设备可以该视频帧逐帧解码播放,以实现该当前视角下的虚拟现实视频图像序列的正常播放。

可以理解,混合视频帧序列中的帧间预测帧依赖于前一视频帧输出生成的视频图像进行解码播放的,而如前文,将对应于同一视角且对应于同一个播放时间节点的关键帧和混合视频帧序列中的视频帧分别输出时,所生成的虚拟现实视频图像是相同的。所以,对应于当前视角且对应于当前播放时间节点的关键帧和混合视频帧序列中的视频帧分别输出时,所生成的虚拟现实视频图像是相同的。那么,在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧,将查找到的视频帧在关键帧之后依次输出,则后续输出的视频帧可以依赖于关键帧实现该当前视角下的虚拟现实视频图像序列的正常播放。

现结合图4对视频处理方法进行举例说明。服务器在获取虚拟现实场景中视角切换后的当前视角,以及确定当前播放时间节点t1后,可以获取与该当前视角对应的关键帧序列和混合视频帧序列,假设图4即为与当前视角对应的关键帧序列和混合视频帧序列。服务器可以从关键帧序列中选取与t1对应的关键帧402a并输出,服务器可以在混合视频帧序列中确定与t1对应的视频帧402b,从视频帧402b的下一视频帧404b起,依次查找视频帧,并将查找到的视频帧逐帧依次的输出。

上述基于虚拟现实场景的视频处理方法,在视角切换后,可以直接输出播放切换后的当前视角下与当前播放时间节点对应的关键帧,并在输出播放关键帧后,将与切换后的当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧并输出,快速地实现了切换后的新视角下的虚拟现实视频图像的正常播放,而不需要一段等待播放视角变换前的虚拟现实视频图像的等待时间,缩短了视角切换时的显示延时时间。

在一个实施例中,步骤S202包括:获取头部姿态产生变化后的当前头部姿态;按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角。

其中,头部姿态,是以预设的头部端正位置为参照时,头部所处的相对位置。头部端正位置,是头部正立、不偏斜时的位置。头部姿态包括头部左右转动时所处的相对位置、头部左右倾斜时所处的相对位置和抬头或低头时所处的相对位置等。

具体地,服务器中预先设置了多个不同视角,并设置了虚拟现实场景中头部姿态和视角的预设映射关系。服务器可以获取检测到头部姿态产生变化后的当前头部姿态,按照该预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角。

可以理解,服务器可以获取虚拟现实设备在检测到头部姿态产生变化后发送的当前头部姿态。具体地,虚拟现实设备可以检测头部姿态,当检测到头部姿态产生变化,发送头部姿态变化后的当前头部姿态至服务器,服务器直接获取虚拟现实设备发送的该当前头部姿态。在其他实施例中,服务器也可以从其他设备获取检测到头部姿态产生变化后的当前头部姿态。

上述实施例中,通过当前头部姿态,以及头部姿态与视角的映射关系,可以快速且准确地确定出当前视角,因为通常情况下是通过头部佩戴具有显示虚拟现实场景画面功能的头戴式显示设备来观看虚拟现实场景下的虚拟现实视频图像的播放,因此头部姿态的变化是引起视角切换的重要原因之一,所以根据当前头部姿态确定出的切换后的当前视角很准确。此外,根据头部姿态与视角的映射关系,来确定当前视角,避免了复杂的计算处理,从而进一步地缩短了视角切换时的显示延时时间。

在一个实施例中,步骤S204包括:获取视角切换的切换时间点;在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与切换时间点匹配的播放时间节点;将匹配的播放时间节点作为当前播放时间节点。

其中,切换时间点,是生成视角切换时的时间点。

具体地,服务器可以获取虚拟现实设备发送的视角切换的切换时间点。可以理解,服务器也可以对虚拟现实设备进行实时监测,当通过监测虚拟现实设备监测到视角切换,则自身获取视角切换的切换时间点。

如前文,关键帧序列中的各关键帧都有对应的播放时间节点,混合视频帧序列中的各视频帧也有所对应的播放时间节点,则服务器可以在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与切换时间点匹配的播放时间节点。服务器可以将匹配的播放时间节点作为当前播放时间节点。

在一个实施例中,服务器可以将与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,最接近于切换时间点的播放时间节点作为与切换时间点匹配的播放时间节点。可以理解,这里最接近于切换时间点的播放时间节点,存在早于该切换时间点的播放时间节点、晚于该切换时间点的播放时间节点,以及等于该切换时间点的播放时间节点的情况。

比如,当前视角对应的关键帧序列中的各关键帧分别对应的播放时间节点,分别为第20ms(毫秒)、第21ms和第22ms,假设切换时间点为播放的第20.4ms,则最近接于切换时间点的播放时间节点为,早于该切换时间点的第20ms的播放时间节点。再假设切换时间点为播放的第20.8ms,则最近接于切换时间点的播放时间节点为,晚于该切换时间点的第21ms的播放时间节点。又假设切换时间点为播放的第22ms,则最近接于切换时间点的播放时间节点为,等于该切换时间点的第22ms的播放时间节点。

在一个实施例中,服务器可以从与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,筛选晚于切换时间点的播放时间节点中,并从筛选的晚于切换时间点的播放时间节点中,选择最接近切换时间点的播放时间节点作为与切换时间点匹配的播放时间节点。

同样地,比如,当前视角对应的关键帧序列中的各关键帧分别对应的播放时间节点,分别为第20ms(毫秒)、第21ms和第22ms,假设切换时间点为播放的第20.4ms,则晚于第20.4ms的播放时间节点为第21ms和第22ms,从中选择最接近切换时间点第20.4ms的播放时间节点,则为第21ms的播放时间节点。

上述实施例中,将与视角切换的切换时间点匹配的播放时间节点作为当前播放时间节点,进而根据该当前播放时间节点确定切换后的当前视角对应的关键帧和混合视频帧序列中的视频帧进行输出,使得所输出的当前视角所对应的关键帧和混合视频帧序列中的视频帧与发生视角切换时的原始视角下所播放至的视频图像的相关性更强,实现了视角切换时虚拟现实视频图像的紧密衔接,保证了虚拟现实视频的播放质量。

在一个实施例中,该方法还包括:获取虚拟现实场景下的三维虚拟现实视频;获取对应于三维虚拟现实视频的不同的视角;对应每个视角,根据三维虚拟现实视频分别生成相应的关键帧序列和混合视频帧序列。

其中,三维虚拟现实视频,是以三维虚拟现实场景形态展示视频图像的视频。对应于三维虚拟现实视频的不同视角,是待将三维虚拟现实视频的总视野所划分成的不同的视角。

具体地,服务器可以直接获取预先设置的对应于三维虚拟现实视频的不同的视角。

在一个实施例中,服务器也可以获取预设的视角总数,按照视角总数,将三维虚拟现实视频的全景视野划分不同的视角。

其中,预设的视角总数,是预设的待划分视角的总数量。

具体地,服务器可以将三维虚拟现实视频的全景视野划分为满足视角总数的不同的视角。比如,预设的视角总数为6,则服务器可以将三维虚拟现实视频的全景视野划分为6个不同的视角。

在一个实施例中,服务器可以将三维虚拟现实视频的全景视野,按照预设的视角总数进行等分,划分得到范围相等或近似相等的不同的视角。

在一个实施例中,服务器也可以将三维虚拟现实视频的全景视野按照视野位置的主次,按照预设的视角总数,划分得到不同的视角,其中,全景视野中比较主要的位置可以划分为较大的视角,相对次要的位置可以划分为较小的视角。

可以理解,划分出的每个视角对应于三维虚拟现实视频中的局部场景的虚拟现实视频图像序列。其中,不同视角对应于三维虚拟现实视频中不同的局部场景的虚拟现实视频图像序列。

具体地,服务器可以确定每个视角在三维虚拟现实视频中所对应的局部场景的虚拟现实视频图像序列,并生成表示该局部场景的虚拟现实视频图像序列的视频帧序列。服务器可以针对每个视角所对应的局部场景的虚拟现实视频图像序列,分别生成相应的关键帧序列和混合视频帧序列。即,把同一视角所对应的局部场景的虚拟现实视频图像序列,分别以关键帧序列和混合视频帧系列两种形式进行表示。可以理解,将相应的关键帧序列进行解码可以生成相应的局部场景的虚拟现实视频图像序列,将混合视频帧序列进行解码也可以生成相应的局部场景的虚拟现实视频图像序列。

上述实施例中,通过将完整的三维虚拟现实视频的视野划分为不同的视角,对应每个视角,生成相对应的关键帧序列和混合视频帧系列。这样一来,在视角切换时,就可以从关键帧序列中获取切换后的当前视角所对应的当前播放时间节点下的关键帧,对该关键帧进行输出,然后在当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧进行输出,该继关键帧之后输出的视频帧可以依据该关键帧解码播放,快速地实现了切换后的新视角下的虚拟现实视频图像的正常播放,而不需要一段等待播放视角变换前的虚拟现实视频图像的等待时间,缩短了视角切换时的显示延时时间。

如图5所示,在一个实施例中,提供了一种基于虚拟现实场景的视频处理方法,现以该方法应用于图1中的虚拟现实设备进行举例说明。该方法具体包括以下步骤:

S502,在虚拟现实场景中播放原始视角所对应的混合视频帧序列。

其中,原始视角,是虚拟现实场景中切换视角前所处的视角。混合视频帧序列,是经过压缩的由关键帧和帧间预测帧组成的混合视频帧序列。帧间预测帧,是利用视频图像帧间的相关性参考其他视频帧进行编码的视频帧。帧间预测帧包括P帧(向前帧间预测帧,Predictive-codedPicture)和/或B帧(双向帧间预测帧,Bidirectionally predictedpicture)。可以理解,混合视频帧序列是在正常状态下播放虚拟现实视频时所使用的视频帧序列。混合视频帧序列中的各视频帧都有对应的播放时间节点。

具体地,虚拟现实设备可以从服务器中获取与原始视角对应的混合视频帧序列,并将该混合视频帧序列在虚拟现实场景中进行播放,以呈现连续的虚拟现实视频图像。

在一个实施例中,混合视频帧序列是由直播视频帧逐帧生成。

S504,在视角切换时,生成视频帧获取请求并输出。

具体地,虚拟现实设备可以检测视角是否发生切换,当视角发生切换时,生成视频帧获取请求并输出。

在一个实施例中,虚拟现实设备可以在视角切换时,获取切换后的当前视角,生成包括当前视角的视频帧获取请求并输出。

在一个实施例中,虚拟现实设备可以获取视角切换后的当前头部姿态,生成包括当前头部姿态的视频帧获取请求并输出。

在一个实施例中,虚拟现实设备还可以获取视角切换的切换时间点,生成包括当前视角和视角切换的切换时间点的视频帧获取请求,或生成包括当前头部姿态和视角切换的切换时间点的视频帧获取请求。

在一个实施例中,虚拟现实设备可以把生成的视频帧获取请求发送至服务器。

S506,接收响应于视频帧获取请求返回的关键帧,关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点。

在一个实施例中,虚拟现实设备可以接收服务器响应于视频帧获取请求返回的关键帧。当视频帧获取请求中包括用于确定当前视角的当前头部姿态时,则服务器可以响应于视频帧获取请求,根据视频帧获取请求中的当前头部姿态,确定视角切换后的当前视角。服务器可以确定当前播放时间节点,并查找对应于视角切换后的当前视角、且对应于当前播放时间节点的关键帧并返回。虚拟现实设备可以接收服务器返回的关键帧。

在一个实施例中,服务器可以根据视频帧获取请求中包括的视角切换的切换时间点确定当前播放时间节点。服务器还可以根据本地的当前系统时间,确定当前播放时间节点。在一个实施例中,服务器可以在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与本地的当前系统时间匹配的播放时间节点。

在一个实施例中,服务器可以获取与当前视角对应的关键帧序列,从该关键帧序列中,查找与当前播放时间节点对应的关键帧并返回。

其中,关键帧序列是由多个关键帧组成的视频帧序列。关键帧序列中的多个关键帧被逐帧输出时,可以生成与所对应的视角对应的虚拟现实视频图像序列。关键帧序列中的各关键帧都有对应的播放时间节点。

S508,将关键帧替代原始视角所对应的混合视频帧序列进行播放。

可以理解,将关键帧替代原始视角所对应的混合视频帧进行播放,是停止播放原始视角所对应的混合视频帧序列,而转为播放关键帧。

S510,接收对应于当前视角的混合视频帧序列中的视频帧并播放;视频帧为在当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

在一个实施例中,服务器在响应于视频帧获取请求时,在确定当前视角以及当前播放时间节点后,还可以确定当前视角所对应的混合视频帧序列,在该混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧,将查找到的视频帧返回至虚拟现实设备。虚拟现实设备接收所返回的混合视频帧序列中的视频帧后,逐帧依次播放视频帧。

需要说明的是,与当前视角对应的关键帧序列与混合视频帧序列,分别是该当前视角所对应的虚拟现实视频图像序列的不同表示形式。即当前视角所对应的虚拟现实视频图像序列,可以由关键帧序列进行表示,将关键帧序列中的各关键帧逐帧输出,可以生成当前视角所对应的虚拟现实视频图像序列。当前视角所对应的虚拟现实视频图像序列,也可以由当前视角所对应的混合视频帧序列进行表示,将混合视频帧序列中的各视频帧逐帧输出,可以生成当前视角所对应的虚拟现实视频图像序列。

关键帧和混合视频帧序列中的视频帧可以对应于同一个播放时间节点。将对应于同一视角且对应于同一个播放时间节点的关键帧和混合视频帧序列中的视频帧分别输出时,所生成的虚拟现实视频图像是相同的。可以理解,这里所说的虚拟现实视频图像相同,是具有相同画面内容的虚拟现实视频图像,并不排除根据关键帧输出的虚拟现实视频图像与根据混合视频帧序列中的视频帧输出的虚拟现实视频图像之间存在清晰度等方面的质量差异。

结合上文所述,由于将对应于同一视角且对应于同一个播放时间节点的关键帧和混合视频帧序列中的视频帧分别输出时,所生成的虚拟现实视频图像是相同的。所以,对应于当前视角且对应于当前播放时间节点的关键帧和混合视频帧序列中的视频帧分别输出时,所生成的虚拟现实视频图像是相同的。那么,虚拟现实设备将关键帧替代原始视角所对应的混合视频帧序列进行播放后,将查找到的视频帧依次播放,则后续输出的视频帧可以依赖于关键帧实现该当前视角下的虚拟现实视频图像序列的正常播放。

在一个实施例中,混合视频帧序列是由直播视频帧逐帧生成。

上述基于虚拟现实场景的视频处理方法,在视角切换后,可以直接将切换后的当前视角下与当前播放时间节点对应的关键帧替代原始视角所对应的混合视频帧序列进行播放,并在播放关键帧后,将与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找出的视频帧进行播放,快速地实现了切换后的新视角下的虚拟现实视频图像的正常播放,而不需要一段等待播放视角变换前的虚拟现实视频图像的等待时间,缩短了视角切换时的显示延时时间。

在一个实施例中,步骤S504包括:当检测到头部姿态产生变化时,则判定视角发生切换;获取变化后的当前头部姿态;根据用于确定当前视角的当前头部姿态,生成视频帧获取请求并输出。

其中,头部姿态,是以预设的头部端正位置为参照时,头部所处的相对位置。头部端正位置,是头部正立、不偏斜时的位置。头部姿态包括头部左右转动时所处的相对位置、头部左右倾斜时所处的相对位置和抬头或低头时所处的相对位置等。

具体地,虚拟现实设备可以检测头部姿态是否发生变化。在一个实施例中,虚拟现实设备可以监听陀螺仪传感器;通过陀螺仪传感器获取当前头部姿态;将当前头部姿态与前次获取的头部姿态进行比对;根据比对结果判断头部姿态是否发生变化。在一个实施例中,当比对结果为当前头部姿态与前次获取的头部姿态的差异超出预设范围时,则判定头部姿态发生变化。

虚拟现实设备在检测到头部姿态产生变化时,则判定视角发生切换。可以理解,头部姿态变化可以引起视角切换,所以头部姿态变化后的当前头部姿态可以用于确定当前视角。虚拟现实设备可以获取变化后的当前头部姿态,根据用于确定当前视角的当前头部姿态,生成视频帧获取请求并输出。

在一个实施例中,根据用于确定当前视角的当前头部姿态生成的视频帧获取请求中包括当前头部姿态。

在一个实施例中,虚拟现实设备可以按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角;根据当前视角生成视频帧获取请求并输出。

具体地,虚拟现实设备中预先设置了多个不同视角,并设置了虚拟现实场景中头部姿态和视角的预设映射关系。虚拟现实设备可以获取检测到头部姿态产生变化后的当前头部姿态,按照该预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角。虚拟现实设备可以根据当前视角生成视频帧获取请求并输出。其中,生成的视频帧获取请求包括当前视角。

上述实施例中,虚拟现实设备通过检测头部姿态发生变化,来判定视角发生切换。因为头部姿态的变化是引起视角切换的重要原因之一,所以根据当前头部姿态发生变化判定视角发生切换比较准确。此外,在判定视角发生变化后,根据当前头部姿态,生成视频帧获取请求并输出,可以使得根据当前头部姿态确定出的切换后的当前视角更加准确。

如图6所示,在一个实施例中,提供了一种基于虚拟现实场景的视频处理系统600,该系统包括虚拟现实设备602和内容分发网络服务器604,其中:

虚拟现实设备602,用于获取虚拟现实场景中的原始视角,从内容分发网络服务器604获取与原始视角对应的混合视频帧序列并播放;在视角切换时,生成视频帧获取请求并发送至内容分发网络服务器604。

内容分发网络服务器604,用于响应于视频帧获取请求,获取视角切换后的当前视角和当前播放时间节点;获取与当前视角对应、且与当前播放时间节点对应的关键帧;将关键帧发送至虚拟现实设备602。

其中,内容分发网络(CDN,Content Delivery Network)服务器,是实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上的服务器。

内容分发网络服务器604还用于在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;将查找到的视频帧发送至虚拟现实设备602。

虚拟现实设备602还用于将关键帧替代原始视角所对应的混合视频帧序列进行播放;并将后续接收到的视频帧依次播放。

在一个实施例中,虚拟现实设备602还用于当检测到头部姿态产生变化时,则判定视角发生切换;获取变化后的当前头部姿态;根据用于确定当前视角的当前头部姿态,生成视频帧获取请求并发送至内容分发网络服务器604。

在一个实施例中,虚拟现实设备602还用于按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角;根据当前视角生成视频帧获取请求并发送至内容分发网络服务器604。

在一个实施例中,内容分发网络服务器604还用于获取头部姿态产生变化后的当前头部姿态;按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角。

在一个实施例中,内容分发网络服务器604还用于获取与当前视角对应的关键帧序列;在关键帧序列中,查找与当前播放时间节点对应的关键帧。

在一个实施例中,内容分发网络服务器604还用于获取视角切换的切换时间点;在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与切换时间点匹配的播放时间节点;将匹配的播放时间节点作为当前播放时间节点。

如图7所示,在一个实施例中,该系统600还包括:

推流服务器606,用于获取虚拟现实场景下的三维虚拟现实视频;获取对应于三维虚拟现实视频的不同的视角;对应每个视角,根据三维虚拟现实视频分别生成相应的关键帧序列和混合视频帧序列,并将对应每个视角所生成的相应的关键帧序列和混合视频帧序列推送至内容分发网络服务器604。

在一个实施例中,推流服务器606还用于获取预设的视角总数;按照视角总数,将三维虚拟现实视频的全景视野划分不同的视角。

如图8所示,在一个实施例中,该系统600还包括:流媒体接收管理服务器605。

推流服务器606还用于将对应每个视角所生成的相应的关键帧序列和混合视频帧序列推送至流媒体接收管理服务器605。

流媒体接收管理服务器605,用于将对应每个视角所生成的相应的关键帧序列和混合视频帧序列发送至内容分发网络服务器604,并管理关键帧序列和混合视频帧序列的发送状态。

其中,关键帧序列和混合视频帧序列的发送状态,是关键帧序列和混合视频帧序列在发送过程中成功与否,以及发送失败的情况等状态信息。关键帧序列和混合视频帧序列的发送状态包括成功、丢包和错序等至少一种发送状态。

在一个实施例中,内容分发网络服务器604可以是用于视频直播的内容分发网络服务器。

内容分发网络服务器604还用于存储所接收的对应每个视角所生成的相应的关键帧序列和混合视频帧序列。

可以理解,图1中的服务器可以是包括推流服务器、流媒体接收管理服务器和内容分发网络(CDN,Content Delivery Network)服务器的服务器集群。

上述基于虚拟现实场景的视频处理系统,在视角切换后,可以直接将切换后的当前视角下与当前播放时间节点对应的关键帧替代原始视角所对应的混合视频帧序列进行播放,并在播放关键帧后,将与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找出的视频帧进行播放,快速地实现了切换后的新视角下的虚拟现实视频图像的正常播放,而不需要一段等待播放视角变换前的虚拟现实视频图像的等待时间,缩短了视角切换时的显示延时时间。

如图9所示,在一个实施例中,提供了一个基于虚拟现实场景的视频处理方法的时序图。该时序图具体包括以下步骤:

1)推流服务器获取虚拟现实场景下的三维虚拟现实视频,并获取预设的视角总数;按照视角总数,将三维虚拟现实视频的全景视野划分不同的视角。

2)推流服务器对应每个视角,根据三维虚拟现实视频分别生成相应的关键帧序列和混合视频帧序列。

3)推流服务器将对应每个视角所生成的相应的关键帧序列和混合视频帧序列分别逐帧推送至流媒体接收管理服务器。

4)流媒体接收管理服务器将对应每个视角所生成的相应的关键帧序列和混合视频帧序列分别逐帧发送至内容分发网络服务器。

5)流媒体接收管理服务器管理关键帧序列和混合视频帧序列的发送状态。

6)虚拟现实设备获取虚拟现实场景中的原始视角,并向内容分发网络服务器发起访问请求。

7)内容分发网络服务器将与原始视角对应的混合视频帧序列发送至虚拟现实设备。

8)虚拟现实设备在虚拟现实场景中播放原始视角所对应的混合视频帧序列。

9)虚拟现实设备当检测到头部姿态产生变化时,则判定视角发生切换;获取变化后的当前头部姿态。

10)根据用于确定当前视角的当前头部姿态,生成视频帧获取请求发送至内容分发网络服务器。

11)内容分发网络服务器将视频帧获取请求中的当前头部姿态,映射为虚拟现实场景中的当前视角。

12)内容分发网络服务器获取视角切换的切换时间点;在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与切换时间点匹配的播放时间节点,得到当前播放时间节点。

13)内容分发网络服务器获取与当前视角对应的关键帧序列;在关键帧序列中,查找与当前播放时间节点对应的关键帧。

14)内容分发网络服务器将关键帧返回至虚拟现实设备。

15)虚拟现实设备将关键帧替代原始视角所对应的混合视频帧序列进行播放。

16)内容分发网络服务器在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧。

17)内容分发网络服务器将查找到的视频帧依次返回至虚拟现实设备。

18)虚拟现实设备在播放关键帧后依次播放后续所接收的视频帧。

如图10所示,在一个实施例中,提供了一种基于虚拟现实场景的视频处理装置1000,该装置1000包括:当前视角获取模块1004、播放时间节点确定模块1006、视频帧输出模块1008及视频帧查找模块1010,其中:

当前视角获取模块1004,用于获取虚拟现实场景中视角切换后的当前视角。

播放时间节点确定模块1006,用于确定当前播放时间节点。

视频帧输出模块1008,用于输出与当前视角对应、且与当前播放时间节点对应的关键帧。

视频帧查找模块1010,用于在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧。

视频帧输出模块1008还用于输出查找到的视频帧。

在一个实施例中,当前视角获取模块1004还用于获取头部姿态产生变化后的当前头部姿态;按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角。

在一个实施例中,视频帧输出模块1008还用于获取与当前视角对应的关键帧序列;在关键帧序列中,查找与当前播放时间节点对应的关键帧。

在一个实施例中,播放时间节点确定模块1006还用于获取视角切换的切换时间点;在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与切换时间点匹配的播放时间节点;将匹配的播放时间节点作为当前播放时间节点。

如图11所示,在一个实施例中,该装置1000还包括:

视角划分模块1002,用于获取虚拟现实场景下的三维虚拟现实视频;获取对应于三维虚拟现实视频的不同的视角;

视频帧序列生成模块1003,用于对应每个视角,根据三维虚拟现实视频分别生成相应的关键帧序列和混合视频帧序列。

在一个实施例中,视角划分模块1002还用于获取预设的视角总数;按照视角总数,将三维虚拟现实视频的全景视野划分不同的视角。

在一个实施例中,混合视频序列是由直播视频帧逐帧生成。

如图12所示,在一个实施例中,提供了一种基于虚拟现实场景的视频处理装置1200,该装置1200包括:播放模块1202、视频帧请求模块1204以及视频帧接收模块1206,其中:

播放模块1202,用于在虚拟现实场景中播放原始视角所对应的混合视频帧序列。

视频帧请求模块1204,用于在视角切换时,生成视频帧获取请求并输出。

视频帧接收模块1206,用于接收响应于视频帧获取请求返回的关键帧;关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点。

播放模块1202还用于将关键帧替代原始视角所对应的混合视频帧序列进行播放。

视频帧接收模块1206还用于接收对应于当前视角的混合视频帧序列中的视频帧并通知播放模块1202依次播放接收到的视频帧;视频帧为在当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

在一个实施例中,视频帧请求模块1204还用于当检测到头部姿态产生变化时,则判定视角发生切换;获取变化后的当前头部姿态;根据用于确定当前视角的当前头部姿态,生成视频帧获取请求并输出。

在一个实施例中,视频帧请求模块1204还用于按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角;根据当前视角生成视频帧获取请求并输出。

在一个实施例中,关键帧是当前视角对应的关键帧序列中对应于当前播放时间节点的关键帧。

在一个实施例中,混合视频帧序列是由直播视频帧逐帧生成。

图13为一个实施例中计算机设备的内部结构示意图。参照图13,该计算机设备可以是图1中所示的服务器,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种基于虚拟现实场景的视频处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种基于虚拟现实场景的视频处理方法。计算机设备的网络接口用于进行网络通信。

本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的基于虚拟现实场景的视频处理装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该基于虚拟现实场景的视频处理装置的各个程序模块,比如,图10所示的当前视角获取模块1004、播放时间节点确定模块1006、视频帧输出模块1008及视频帧查找模块1010。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的基于虚拟现实场景的视频处理方法中的步骤,例如,计算机设备可以通过如图10所示的基于虚拟现实场景的视频处理装置1000中的当前视角获取模块1004获取虚拟现实场景中视角切换后的当前视角,并通过播放时间节点确定模块1006确定当前播放时间节点。计算机设备可以通过视频帧输出模块1008输出与当前视角对应、且与当前播放时间节点对应的关键帧,并通过视频帧查找模块1010在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧。计算机设备可以通过视频帧输出模块1008输出查找到的视频帧。

图14为一个实施例中计算机设备的内部结构示意图。参照图14,该计算机设备可以是图1中所示的虚拟现实设备,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种基于虚拟现实场景的视频处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种基于虚拟现实场景的视频处理方法。计算机设备的网络接口用于进行网络通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏等。计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该计算机设备可以是个人计算机、移动终端或车载设备,移动终端包括手机、平板电脑、个人数字助理或可穿戴设备等中的至少一种。

本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的基于虚拟现实场景的视频处理装置可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该基于虚拟现实场景的视频处理装置的各个程序模块,比如,图12所示的播放模块1202、视频帧请求模块1204以及视频帧接收模块1206。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的基于虚拟现实场景的视频处理方法中的步骤,例如,计算机设备可以通过如图12所示的基于虚拟现实场景的视频处理装置1200中的播放模块1202在虚拟现实场景中播放原始视角所对应的混合视频帧序列,并通过视频帧请求模块1204在视角切换时,生成视频帧获取请求并输出。计算机设备可以通过视频帧接收模块1206接收响应于视频帧获取请求返回的关键帧;关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点。计算机设备可以通过播放模块1202将关键帧替代原始视角所对应的混合视频帧序列进行播放。并通过视频帧接收模块1206接收对应于当前视角的混合视频帧序列中的视频帧并通知播放模块1202依次播放接收到的视频帧;视频帧为在当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:获取虚拟现实场景中视角切换后的当前视角;确定当前播放时间节点;输出与当前视角对应、且与当前播放时间节点对应的关键帧;在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;输出查找到的视频帧。

在一个实施例中,获取虚拟现实场景中视角切换后的当前视角包括:获取头部姿态产生变化后的当前头部姿态;按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角。

在一个实施例中,输出与当前视角对应、且与当前播放时间节点对应的关键帧包括:获取与当前视角对应的关键帧序列;在关键帧序列中,查找与当前播放时间节点对应的关键帧。

在一个实施例中,确定当前播放时间节点包括:获取视角切换的切换时间点;在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与切换时间点匹配的播放时间节点;将匹配的播放时间节点作为当前播放时间节点。

在一个实施例中,该方法还包括:获取虚拟现实场景下的三维虚拟现实视频;获取对应于三维虚拟现实视频的不同的视角;对应每个视角,根据三维虚拟现实视频分别生成相应的关键帧序列和混合视频帧序列。

在一个实施例中,获取对应于三维虚拟现实视频的不同的视角包括:获取预设的视角总数;按照视角总数,将三维虚拟现实视频的全景视野划分不同的视角。

在一个实施例中,混合视频序列是由直播视频帧逐帧生成。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:在虚拟现实场景中播放原始视角所对应的混合视频帧序列;在视角切换时,生成视频帧获取请求并输出;接收响应于视频帧获取请求返回的关键帧;关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点;将关键帧替代原始视角所对应的混合视频帧序列进行播放;接收对应于当前视角的混合视频帧序列中的视频帧并播放;视频帧为在当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

在一个实施例中,在视角切换时,生成视频帧获取请求并输出包括:当检测到头部姿态产生变化时,则判定视角发生切换;获取变化后的当前头部姿态;根据用于确定当前视角的当前头部姿态,生成视频帧获取请求并输出。

在一个实施例中,根据用于确定当前视角的当前头部姿态,生成视频帧获取请求并输出包括:按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角;根据当前视角生成视频帧获取请求并输出。

在一个实施例中,关键帧是当前视角对应的关键帧序列中对应于当前播放时间节点的关键帧。

在一个实施例中,混合视频帧序列是由直播视频帧逐帧生成。

在一个实施例中,提供了一种存储有计算机程序的存储介质,计算机程序被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:获取虚拟现实场景中视角切换后的当前视角;确定当前播放时间节点;输出与当前视角对应、且与当前播放时间节点对应的关键帧;在与当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起,依次查找视频帧;输出查找到的视频帧。

在一个实施例中,获取虚拟现实场景中视角切换后的当前视角包括:获取头部姿态产生变化后的当前头部姿态;按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角。

在一个实施例中,输出与当前视角对应、且与当前播放时间节点对应的关键帧包括:获取与当前视角对应的关键帧序列;在关键帧序列中,查找与当前播放时间节点对应的关键帧。

在一个实施例中,确定当前播放时间节点包括:获取视角切换的切换时间点;在与当前视角对应的关键帧序列或混合视频帧序列所对应的播放时间节点中,查找与切换时间点匹配的播放时间节点;将匹配的播放时间节点作为当前播放时间节点。

在一个实施例中,该方法还包括:获取虚拟现实场景下的三维虚拟现实视频;获取对应于三维虚拟现实视频的不同的视角;对应每个视角,根据三维虚拟现实视频分别生成相应的关键帧序列和混合视频帧序列。

在一个实施例中,获取对应于三维虚拟现实视频的不同的视角包括:获取预设的视角总数;按照视角总数,将三维虚拟现实视频的全景视野划分不同的视角。

在一个实施例中,混合视频序列是由直播视频帧逐帧生成。

在一个实施例中,提供了一种存储有计算机程序的存储介质,计算机程序被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:在虚拟现实场景中播放原始视角所对应的混合视频帧序列;在视角切换时,生成视频帧获取请求并输出;接收响应于视频帧获取请求返回的关键帧;关键帧对应于视角切换后的当前视角、且对应于当前播放时间节点;将关键帧替代原始视角所对应的混合视频帧序列进行播放;接收对应于当前视角的混合视频帧序列中的视频帧并播放;视频帧为在当前视角对应的混合视频帧序列中,从当前播放时间节点所对应视频帧的下一视频帧起依次查找得到。

在一个实施例中,在视角切换时,生成视频帧获取请求并输出的步骤包括:当检测到头部姿态产生变化时,则判定视角发生切换;获取变化后的当前头部姿态;根据用于确定当前视角的当前头部姿态,生成视频帧获取请求并输出。

在一个实施例中,根据用于确定当前视角的当前头部姿态,生成视频帧获取请求并输出的步骤包括:按照虚拟现实场景中头部姿态与视角的预设映射关系,将当前头部姿态映射为虚拟现实场景中的当前视角;根据当前视角生成视频帧获取请求并输出。

在一个实施例中,关键帧是当前视角对应的关键帧序列中对应于当前播放时间节点的关键帧。

在一个实施例中,混合视频帧序列是由直播视频帧逐帧生成。

应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号