一种全景视频传输方法及装置与流程

文档序号:15023071发布日期:2018-07-25 01:36阅读:171来源:国知局

本发明属于虚拟现实(Virtual Reality,VR)技术领域,尤其涉及一种全景视频传输方法及装置。



背景技术:

随着VR技术不断发展,VR设备已经进入普通用户的生活。随着VR设备的普及,人们对全景视频的需求越来越多。全景视频的视角范围为360°×180°,360°是水平视角,180°是垂直视角,可见,全景视频包含的视角范围很大,因此,全景视频的数据量很大。

但是,全景视频的海量数据与有限的带宽相矛盾,利用传统的视频编解码方法处理全景视频,会出现视频画质差、用户体验差的问题,十分影响全景视频的网络传播。



技术实现要素:

有鉴于此,本发明的目的在于提供一种全景视频传输方法及装置,以解决传统的编解码方法处理全景视频导致画质差、用户体验差的技术问题。其具体实现方案如下:

第一方面,本申请提供了一种全景视频传输方法,包括:

获取全景视频图像帧;

将所述全景视频图像帧转换为立方体全景图像帧;

将所述立方体全景图像帧重新排列为一个矩形全景图像帧;

将所述矩形全景图像帧划分为空间上连续的N个视角区域,并从所述N个视角区域中确定主视角区域和非主视角区域,其中,N为正整数;

对所述非主视角区域对应的图像进行下采样,得到非主视角采样图像;

对所述主视角区域对应的图像及各个所述非主视角采样图像进行编码,得到视频编码帧;

确定虚拟现实终端的目标观看视角,并获取以所述目标观看视角为主视角区域的目标视频编码帧;

发送所述目标视频编码帧。

可选地,所述主视角区域的类型包括水平主视角区域和垂直主视角区域;

所述从所述N个视角区域中确定主视角区域和非主视角区域,包括:

将所述N个视角区域中的任意一个视角区域在水平视角范围左右分别扩展预设视角范围,得到水平主视角区域,以及,将所述N个视角区域中除所述主视角区域之外的其它视角区域确定为所述非主视角区域;

或者,

将所述N个视角区域中的任意一个视角区域在垂直视角范围上下分别扩展所述预设视角范围,得到垂直主视角区域,以及,将所述N个视角区域中除所述主视角区域之外的其它视角区域确定为所述非主视角区域。

可选地,所述对所述主视角区域对应的图像及各个所述非主视角采样图像进行编码,得到视频编码帧,包括:

对所述N视角区域中每一个视角区域作为主视角区域时所对应的主视角采样图像及全部非主视角采样图像进行拼接,得到待编码图像帧;

分别对所述待编码图像帧进行编码,得到视频编码帧。

可选地,所述获取以所述目标主视角区域为主视角区域的目标视频编码帧,包括:

从所述2N个视频编码帧中查找以所述目标观看视角为主视角区域的视频编码帧确定为所述目标视频编码帧。

可选地,所述确定虚拟现实终端的目标观看视角,包括:

接收所述虚拟现实终端发送的观看视角信息,并根据所述观看视角信息确定所述目标观看视角,所述观看视角信息由所述虚拟现实终端通过传感器检测得到。

可选地,所述方法还包括:

获取所述虚拟现实终端的最新观看视角范围;

获取所述最新观看视角范围与当前观看视角范围的重叠比例;

当所述重叠比例小于预设阈值时,确定所述最新观看视角范围为最新目标观看视角范围;

将以所述当前观看视角范围为主视角区域的目标视频编码帧切换为以所述最新目标观看视角范围为主视角区域的目标视频编码帧。

可选地,所述获取所述最新观看视角范围与当前观看视角范围的重叠比例,包括:

获取所述最新观看视角范围对应的第一主视角区域及所述当前观看视角范围对应的第二主视角区域;

获取所述第一主视角区域与所述第二主视角区域的重叠面积;

计算所述重叠面积与所述第二主视角区域的面积之间的比例,得到所述重叠比例。

第二方面,本申请还提供了另一种全景视频传输方法,包括:

接收目标视频编码帧,并对所述目标视频编码帧进行解码,得到解码后的视频图像帧;

确定所述解码后的视频图像帧中的主视角区域和非主视角区域;

对所述非主视角区域对应的视频图像帧分别进行上采样,得到上采样视频图像帧;

将所述主视角区域对应的视频图像帧,以及,各个非主视角区域对应的上采样视频图像帧进行拼接,得到目标图像帧;

将所述目标图像帧转换成目标三维模型图像;

显示所述目标三维模型图像。

第三方面,本申请还提供了一种全景视频传输装置,包括:

第一获取单元,用于获取全景视频图像帧;

转换单元,用于将所述全景视频图像帧转换为立方体全景图像帧;

排列单元,用于将所述立方体全景图像帧重新排列为一个矩形全景图像帧;

划分单元,用于将所述矩形全景图像帧划分为空间上连续的N个视角区域,其中,N为正整数;

第一确定单元,用于从所述N个视角区域中确定主视角区域和非主视角区域;

下采样单元,用于对所述非主视角区域对应的图像进行下采样,得到非主视角采样图像;

编码单元,用于对所述主视角区域对应的图像及各个所述非主视角采样图像进行编码,得到视频编码帧;

第二确定单元,用于确定虚拟现实终端的目标观看视角,并获取以所述目标观看视角为主视角区域的目标视频编码帧;

发送单元,用于发送所述目标视频编码帧。

可选地,所述主视角区域的类型包括水平主视角区域和垂直主视角区域;

所述第一确定单元包括:

第一确定子单元,用于将所述N个视角区域中的任意一个视角区域在水平视角范围左右分别扩展预设视角范围,得到水平主视角区域,以及,第二确定子单元,用于将所述N个视角区域中除所述主视角区域之外的其它视角区域确定为所述非主视角区域;

或者,

第三确定子单元,用于将所述N个视角区域中的任意一个视角区域在垂直视角范围上下分别扩展所述预设视角范围,得到垂直主视角区域,以及,第四确定子单元,用于将所述N个视角区域中除所述主视角区域之外的其它视角区域确定为所述非主视角区域。

可选地,所述第二确定单元具体用于:

接收所述虚拟现实终端发送的观看视角信息,并根据所述观看视角信息确定所述目标观看视角,所述观看视角信息由所述虚拟现实终端通过传感器检测得到。

可选地,所述装置还包括:

第二获取单元,用于获取所述虚拟现实终端的最新观看视角范围;

第三获取单元,用于获取所述最新观看视角范围与当前观看视角范围的重叠比例;

第三确定单元,用于当所述重叠比例小于预设阈值时,确定所述最新观看视角范围为最新目标观看视角范围;

切换单元,用于将以所述当前观看视角范围为主视角区域的目标视频编码帧切换为以所述最新目标观看视角范围为主视角区域的目标视频编码帧。

可选地,所述第三获取单元包括:

第一获取子单元,用于获取所述最新观看视角范围对应的第一主视角区域及所述当前观看视角范围对应的第二主视角区域;

第二获取子单元,用于获取所述第一主视角区域与所述第二主视角区域的重叠面积;

计算子单元,用于计算所述重叠面积与所述第二主视角区域的面积之间的比例,得到所述重叠比例。

第四方面,本申请还提供了另一种全景视频传输装置,包括:

接收单元,用于接收目标视频编码帧,并对所述目标视频编码帧进行解码,得到解码后的视频图像帧;

确定单元,用于确定所述解码后的视频图像帧中的主视角区域和非主视角区域;

上采样单元,用于对所述非主视角区域对应的视频图像帧分别进行上采样,得到上采样视频图像帧;

拼接单元,用于将所述主视角区域对应的视频图像帧,以及,各个非主视角区域对应的上采样视频图像帧进行拼接,得到目标图像帧;

转换单元,用于将所述目标图像帧转换成目标三维模型图像;

显示单元,用于显示所述目标三维模型图像。

本实施例提供的全景视频传输方法,将获得的全景视频图像帧映射为立方体图像帧;再将立方体图像帧重新排列为一个矩形全景图像帧。将矩形全景图像帧划分为空间上连续的N个视角区域,并从中确定出主视角区域和非主视角区域;对于非主视角区域对应的图像进行下采样,得到非主视角采样图像;然后,主视角区域对应的图像及各个非主视角采样图像进行编码,得到视频编码帧。获取虚拟现实终端的目标观看视角,并向虚拟现实终端发送以该目标观看视角为主视角区域的目标视频编码帧。该方法通过对主视角区域对应的图像按照全分辨率进行编码并显示,同时,非主视角区域对应的图像进行下采样后再进行编码显示。对图像进行下采样能够大大降低图像的数据量,从而降低了了观看视角之外的视角范围内的图像的数据量,进而节省了传输所需的网络资源。

附图说明

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

图1是本申请实施例一种全景视频传输系统的结构示意图;

图2是本申请实施例一种全景视频传输方法的流程图;

图3是本申请实施例一种立方体全景图像帧的结构示意图;

图4是本申请实施例一种立方体全景图像帧重新排列得到的矩形全景图像帧的示意图;

图5是本申请实施例一种划分主视角区域和非主视角区域的示意图;

图6是本申请实施例一种待编码图像的示意图;

图7是本申请实施例另一种全景视频传输方法的流程图;

图8是本申请实施例又一种全景视频传输方法的流程图;

图9是本申请实施例一种全景视频传输装置的框图;

图10是本申请实施例另一种全景视频传输装置的框图;

图11是本申请实施例又一种全景视频传输装置的框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,示出了本申请实施例一种全景视频传输系统的结构示意图,该全景视频传输系统包括服务器1和至少一个VR终端2。

服务器1用于获取全景视频,并对全景视频进行编码,得到视频编码帧。

当VR终端2观看全景视频时,可以向服务器1请求相应的全景视频,此时,服务器1向VR终端2发送该全景视频对应的视频编码帧。

请参见图2,示出了本申请实施例一种全景视频传输方法的流程图,该方法应用于服务器1中,如图2所示,该方法可以包括以下步骤:

S110,获取全景视频图像帧。

全景视频由全景视频图像帧组成,全景视频图像帧是记录全视角内容信息的图像帧。对全景视频的处理过程就是对一系列全景视频图像帧的处理过程。

全景视频可以由专业的全景相机拍摄得到,或者,其它具有拍摄视频功能的设备拍摄的内容拼接得到。

服务器中可以建立存储全景视频的数据库,获取全景视频图像帧可以是从数据库中读取相应的全景视频图像帧。

在本申请的实施例中,全景视频图像帧可以是360°×180°的圆柱形投影,或者,全景视频图像帧可以是360°×180°的球形投影。

S120,将全景视频图像帧转换为立方体全景图像帧。

以全景视频是360°×180°的圆柱形投影为例,将圆柱形投影的全景视频映射为立方体。如图3所示,立方体有六个面,每个面都是90°×90°的视角。其中,中间四个面为前后左右的图像(即,360°),上下两个面为顶部和底部的图像(即,180°)本文将立方体全景图像帧称为CubePanoVideo。

S130,将立方体全景图像帧重新排列为一个矩形全景图像帧。

为了方便对立方体全景图像帧进行编码,将立方体的六个面展开并重新排列成一个矩形全景图像帧。

例如,如图3所示,将立方体全景图像帧展开得到图像帧序列,再将图像帧序列重新排列,可以得到一个矩形全景图像帧。其中,排列方式包括但不限于图4所示的四种排列方式。

S140,将矩形全景图像帧划分为空间上连续的N个视角区域,并从N个视角区域中确定主视角区域和非主视角区域,其中,N为正整数。

以图4中的矩形序列1为例进行说明,将上一步骤得到的矩形全景图像帧(即,矩形序列1)划分成N个视角区域,N为正整数。

划分的N个视角区域叠加后能够覆盖整个矩形视频序列,例如,若全景视频图像帧的总水平视角为360°,垂直视角为180°,则N个视角区域的水平视角总和为360°,垂直视角的总和为180°。

一个矩形全景图像帧中各个视角区域的水平视角或垂直视角的区间范围可以相同,也可以不同,本申请对此不作限定。

在本申请的一个实施例中,取N个视角区域中的任意一个视角区域为主视角方向,并在水平视角范围左右分别扩展预设视角范围得到主视角区域,同时,N个视角区域中除所述主视角区域之外的其它视角区域均为非主视角区域。

其中,预设视角范围可以根据VR终端的主视角范围确定,例如,主视角范围为120°×90°,且每个视角区域的视角范围为90°×90°,则预设视角范围可以是15°。又如,VR终端的主视角范围为180°×90°,且矩形图像帧中划分的每个视角区域的视角范围为90°×90°,则预设视角范围可以是45°。

如图5所示,将当前需要编码的矩形全景图像帧划分为6个视角区域,即,N=6,可以将立方体全景图像帧中的每一个面作为一个视角区域。当然,在其它实施例中,N可以是小于或大于6的正整数。

例如,取正面(即,标号为0的一面)为当前主视角方向,并在水平视角范围左右各扩展1/2的视角范围,组成当前180°×90°的主视角区域(如图5中,ViewMainArea00所示的区域)。剩余视角区域RestArea0~RestArea4(即,未被主视角区域所覆盖的区域)均为非主视角区域,即,剩余区域划分为多个非主视角区域。例如,可以将面2的剩余部分、面3的剩余部分,以及,面1、面4和面5分别作为一个非主视角区域,即得到5个非主视角区域。

在本申请的另一个实施例中,取N个视角区域中的任意一个视角区域在垂直视角范围上下分别扩展所述预设角度范围,得到主视角区域;其它视角区域为非主视角区域。

例如,仍取正面(即,面0)为主视角方向,并在垂直视角范围上下(即,立方体中与面0上下相邻的面4和面5)各扩展45°,得到180°×90°的主视角区域,即,垂直视角范围是180°,水平视角范围为90°。该主视角区域可以记为ViewMainArea01。

S150,对非主视角区域对应的图像进行下采样,得到非主视角采样图像。

然后,对确定出的非主视角区域的图像进行下采样,得到非主视角采样图像。

其中,下采样的方法包括但不限于1/4像素下采样,例如,将非主视角区域按照垂直方向抽取奇数列及水平方向抽取奇数行,从而得到非主视角采样图像。非主视角采样图像的像素为原图像的1/4。

仍以图5所示的主视角区域和非主视角区域,对5个非主视角区域RestArea0~RestArea4进行下采样,得到DownSamplei(i=0,1,2,3,4)。为了方便编码,将下采样得到的DownSamplei进行拼接,得到ViewDownArea00,该ViewDownArea00的像素为原非主视角区域对应的图像像素的1/4。

又如,以垂直视角范围为180°,水平视角范围为90°的应用场景中,主视角区域为ViewMainArea01。对未被ViewMainArea01覆盖的剩余区域进行下采样得到DownSamplei(i=0,1,2,3,4)。并将ViewMainArea01与DownSamplei进行拼接,得到ViewDownArea01。

S160,对主视角区域对应的图像及各个非主视角采样图像进行编码,得到视频编码帧。

为了方便编码,将主视角区域ViewMainArea00与拼接后的下采样图像ViewDownArea00进行拼接,得到如图6所示的待编码图像PostFrame00。

又如,将主视角区域ViewMainArea01与拼接后的下采样图像ViewDownArea01进行拼接,得到待编码图像PostFrame01。

若不同的视角区域作为主视角区域,则分别得到PostFrameij,其中,i=0,1,2,3,……,N;j=0,1。

其中,i表示N个视角区域中第i个视角区域作为主视角区域,j=0表示主视角区域的水平方向是180°,垂直方向是90°;j=1表示主视角区域的垂直方向是180°,垂直方向是90°。

然后,对待编码图像PostFrameij进行编码,得到对应的视频编码帧。

在本申请的一个实施例中,如果服务器需要为多个不同的用户提供全景视频的编码数据,服务器可以预先将全部PostFrameij分别进行编码得到相应的编码数据。然后,根据不同用户的观看视角,从PostFrameij对应的编码数据中获取与用户的观看视角相对应的视频编码帧,并发送给VR终端。

此种方式预先对各个视角作为主视角对应的视频序列进行编码,减少了VR终端用户在接收服务器发送全景视频的等待时间。

在本申请的另一个实施例中,如果服务器预先知道用户的观看视角,按需将对应的该观看视角为主视角区域的待编码图像进行编码,获得视频编码帧。

S170,确定VR终端的目标观看视角,并获取以所述目标观看视角为主视角区域的目标视频编码帧。

在本申请的一个实施例中,VR终端的目标观看视角可以是服务器端存储的该VR终端对应的默认观看视角。该默认观看视角可以是服务器内存储的VR终端的默认观看视角。

在本申请的另一个实施例中,VR终端可以通过姿态传感器获取用户的当前观看视角,并反馈给服务器;服务器将该VR终端反馈的当前观看视角作为目标观看视角。

在本申请的一个实施例中,确定出VR终端的目标观看视角后,可以获取以该目标观看视角为主视角区域的目标视频编码帧。

S180,发送目标视频编码帧。

服务器向VR终端发送该目标视频编码帧,以便VR终端能够显示全景视频。

按照上述的过程生成一个全景视频内各个视频图像帧对应的目标视频编码帧。

本实施例提供的全景视频传输方法,将获得的全景视频图像帧映射为立方体图像帧;再将立方体图像帧重新排列为一个矩形全景图像帧。将矩形全景图像帧划分为空间上连续的N个视角区域,并从中确定出主视角区域和非主视角区域;对于非主视角区域对应的图像进行下采样,得到非主视角采样图像;然后,主视角区域对应的图像及各个非主视角采样图像进行编码,得到视频编码帧。获取虚拟现实终端的目标观看视角,并向虚拟现实终端发送以该目标观看视角为主视角区域的目标视频编码帧。该方法通过对主视角区域对应的图像按照全分辨率进行编码并显示,同时,非主视角区域对应的图像进行下采样后再进行编码显示。对图像进行下采样能够大大降低图像的数据量,从而降低了了观看视角之外的视角范围内的图像的数据量,进而节省了传输所需的网络资源。

请参见图7,示出了本申请实施例另一种全景视频传输方法的流程图,该方法应用于服务器中。

本实施例中,服务器能够按预设时间间隔获取VR终端反馈的用户的最新观看视角,进一步判断是否需要将发送给VR终端的视频编码帧切换为最新的观看视角为主视角区域的视频编码帧。

如图7所示,该方法在图2所示实施例的基础上还可以包括以下步骤:

S210,获取VR终端的最新观看视角范围。

服务器接收VR终端反馈的最新观看视角范围,该最新观看视角范围可以由VR终端根据姿态传感器检测得到。例如,当VR终端上的姿态传感器检测到用户的头部有运动时,记录当前姿态进一步计算得到当前姿态对应的观看视角。

S220,获取最新观看视角范围与当前观看视角范围的重叠比例。

在本申请的一个实施例中,可以通过以下过程计算得到重叠比例:

获取最新观看视角范围对应的第一主视角区域以及当前观看视角范围对应的第二主视角区域;然后,获取第一主视角区域与第二主视角区域的重叠面积;最后,计算重叠面积与第二主视角区域的面积之间的比例,得到重叠比例。

其中,当前观看视角是获得最新观看视角之前服务器所获得的用户的观看视角。

例如,当前观看视角为FOVk,且该当前观看视角在矩形全景图像帧中对应的主视角区域为ViewMainAreak,该主视角区域的面积为Areak;最新观看视角为FOVk+1,且该最新观看视角FOVk+1在矩形全景图像帧中对应的主视角区域为ViewMainAreak+1,且该主视角区域的面积为Areak+1。另外,ViewMainAreak与ViewMainAreak+1的重叠区域的面积为Areaoverlapk;

则,重叠比例Pk可以根据公式1计算得到:

Pk=Areaoverlap/Areak (公式1)

其中,Pk大于0且小于等于1。

在本申请的另一个实施例中,可以直接将重叠区域的面积Areaoverlapk作为重叠比例。

S230,当重叠比例小于预设阈值时,确定最新观看视角范围为最新目标观看视角范围。

如果计算得到的重叠比例小于或等于预设阈值,则确定最新观看视角范围为最新目标观看视角范围,然后,执行S240。

如果重叠比例大于预设阈值,则确定用户的观看视角没有变化,忽略最新观看视角范围,即无需切换主视角区域,不切换发送给VR终端的视角视频。

S240,将以当前观看视角范围为主视角区域对应的目标视频编码帧切换为以所述最新目标观看视角范围为主视角区域所对应的目标视频编码帧。

将原观看视角为主视角的视角视频切换为以最新观看视角为主视角的视角视频。

本实施例提供的全景视频传输方法,在向VR终端发送目标编码视频的过程中,获取用户的最新观看视角范围,如果最新观看视角范围与原观看视角范围的重叠比例小于预设阈值,则确定用户的观看视角发生改变。并将以最新观看视角为主视角区域的视频编码帧发送给VR终端。从而保证用户的主视角区域内的图像最清晰。

相应于上述应用于服务器中的全景视频传输方法实施例,本申请还提供了应用于VR终端的全景视频传输方法实施例。

请参见图8,示出了本申请实施例又一种全景视频传输方法的流程图,该方法应用于VR终端中。如图8所示,该方法可以包括以下步骤:

S310,接收目标视频编码帧,并对目标视频编码帧进行解码,得到解码后的视频图像帧。

VR终端接收服务端发送的目标视频编码帧,该目标视频编码帧为服务端根据用户的观看视角,获得的以用户的观看视角为主视角区域的视频编码帧。

接收到服务器发送的目标视频编码帧后,利用解码器对该目标视频编码帧进行解码,得到解码后的视频图像帧。

在本申请的一个实施例中,VR终端接收到的是服务器发送的一系列视频编码帧,这一系列视频编码帧构成一个视频。

S320,确定解码后的视频图像帧中的主视角区域和非主视角区域。

服务器和VR终端之间会约定好每个视频图像帧中哪一部分是主视角区域,哪一部分是非主视角区域。

S330,对非主视角区域对应的视频图像帧分别进行上采样,得到上采样视频图像帧。

对于解码后的视频图像帧中的非主视角区域进行上采样,得到上采样视频图像帧。

上采样过程是与下采样过程的逆过程,上采样方式包括但不限于对非主视角区域内的图像的行、列分别进行2倍的采样方式。

例如,服务器下采样得到的DownSamplei的像素分辨率为wi*hi,则VR终端上采样得到的上采样视频图像帧的像素分辨率为2wi*2hi。

S340,将主视角区域对应的解码后的视频图像帧,以及,各个非主视角区域对应的上采样视频图像帧进行拼接,得到目标图像帧。

将主视角区域对应的解码后的视频图像与上采样得到的上采样视频图像按照与服务端得到矩形全景图像帧的方式(即,矩形图像中各个视角区域的排列方式),进行拼接,得到目标图像帧。

S350,将目标图像帧转换成目标三维模型图像。

在本申请的一个实施例中,VR终端的三维模型为立方体,则将得到的目标图像帧映射为立方体全景图像帧,并在VR终端的显示模块上显示该立方体全景图像帧。

在本申请的另一个实施例中,VR终端的三维模型不是立方体而是其它三维模型,例如,圆柱形,则先将目标图像帧映射为立方体全景图像,然后,再将立方体全景图像帧映射为目标三维模型图像。最后,由显示模块显示该目标三维模型图像。

S360,显示目标三维模型图像。

本实施例提供的一种全景视频传输方法,接收到目标视频编码帧后,并进行解码得到解码后的视频图像帧。然后,确定解码后的视频图像帧中的主视角区域和非主视角区域。对非主视角区域进行上采样,然后将主视角区域对应的解码后的图像与各个非主视角区域对应的上采样后的图像进行拼接,得到目标图像帧。将目标图像帧转换成目标三维模型图像,并向用户展示该目标三维模型图像。服务器对图像进行下采样能够大大降低图像的数据量,从而降低了了观看视角之外的视角范围内的图像的数据量,因此,节省了VR终端接收全景视频所需的网络资源,而且,降低了VR终端解码全景视频的工作量,提高了解码速度。

相应于上述的应用于服务器端的全景视频传输方法实施例,本申请还提供了应用于服务器中的全景视频传输装置实施例。

请参见图9,示出了本申请实施例一种全景视频传输装置的框图,该装置应用于服务器中,如图9所示,该装置可以包括:

第一获取单元110,用于获取全景视频图像帧。

全景视频由全景视频图像帧组成,全景视频图像帧是记录全视角内容信息的图像帧。对全景视频的处理过程就是对一系列全景视频图像帧的处理过程。

转换单元120,用于将该全景视频图像帧转换为立方体全景图像帧。

将全景视频图像帧映射为图3所示的立方体,得到立方体全景图像帧。

排列单元130,用于将立方体全景图像帧重新排列为一个矩形全景图像帧。

将图3所示的立方体全景图像帧重新排列为一个矩形全景图像帧(图4中任意一种排列方式)。

划分单元140,用于将矩形全景图像帧划分为空间上连续的N个视角区域。其中,N为正整数。

划分的N个视角区域叠加后能够覆盖整个矩形视频序列,例如,若全景视频图像帧的总水平视角为360°,垂直视角为180°,则N个视角区域的水平视角总和为360°,垂直视角的总和为180°。

在本申请的一个实施例中,以图4中的矩形序列1为例进行说明,将矩形全景图像帧划分为6个视角区域(即,N=6),将立方体全景图像帧中的每一个面作为一个视角区域;在本申请的其它实施例中,N可以是小于或大于6的正整数,此处不再一一详述。

第一确定单元150,用于从N个视角区域中确定主视角区域和非主视角区域。

在本申请的一个实施例中,第一确定单元包括第一确定子单元和第二确定子单元;

第一确定子单元用于将N个视角区域中的任意一个视角区域确定为主视角方向,并在水平视角范围左右分别扩展预设视角范围得到主视角区域;第二确定子单元用于将N个视角区域中除所述主视角区域之外的其它视角区域确定为非主视角区域。

例如,取正面(即,标号为0的一面)为当前主视角方向,并在水平视角范围左右各扩展1/2的视角范围,组成当前180°×90°的主视角区域(如图5中,ViewMainArea00所示的区域)。剩余视角区域RestArea0~RestArea4(即,未被主视角区域所覆盖的区域)均为非主视角区域,即,剩余区域划分为多个非主视角区域。例如,可以将面2的剩余部分、面3的剩余部分,以及,面1、面4和面5分别作为一个非主视角区域,即得到5个非主视角区域。

在本申请的另一个实施例中,第一确定单元包括第三确定子单元和第四确定子单元;

第三确定子单元用于将N个视角区域中的任意一个视角区域在垂直视角范围上下分别扩展所述预设角度范围,得到主视角区域;第四确定子单元用于确定其它视角区域为非主视角区域。

例如,仍取正面(即,面0)为主视角方向,并在垂直视角范围上下(即,立方体中与面0上下相邻的面4和面5)各扩展45°,得到180°×90°的主视角区域,即,垂直视角范围是180°,水平视角范围为90°。该主视角区域可以记为ViewMainArea01。

下采样单元160,用于对非主视角区域对应的图像进行下采样,得到非主视角采样图像。

主视角区域对应的图像分辨率不变。对非主视角区域的图像进行下采样,得到非主视角采样图像。

其中,下采样的方法包括但不限于1/4像素下采样,例如,将非主视角区域按照垂直方向抽取奇数列及水平方向抽取奇数行,从而得到非主视角采样图像。非主视角采样图像的像素为原图像的1/4。

编码单元170,用于对所述主视角区域对应的图像及各个所述非主视角采样图像进行编码,得到视频编码帧。

将下采样得到的非主视角采样图像进行拼接,得到ViewDownArea00

为了方便编码,再将主视角区域ViewMainArea00与拼接后的下采样图像ViewDownArea00进行拼接,得到如图6所示的待编码图像PostFrame00。

若不同的视角区域作为主视角区域,则分别得到PostFrameij,其中,i=0,1,2,3,……,N;j=0,1。

其中,i表示N个视角区域中第i个视角区域作为主视角区域,j=0表示主视角区域的水平方向是180°,垂直方向是90°;j=1表示主视角区域的垂直方向是180°,垂直方向是90°。

然后,对待编码图像PostFrameij进行编码,得到对应的视频编码帧。

在本申请的一个实施例中,如果服务器需要为多个不同的用户提供全景视频的编码数据,服务器可以预先将全部PostFrameij分别进行编码得到相应的编码数据。然后,根据不同用户的观看视角,从PostFrameij对应的编码数据中获取与用户的观看视角相对应的视频编码帧,并发送给VR终端。

此种方式预先对各个视角作为主视角对应的视频序列进行编码,减少了VR终端用户在接收服务器发送全景视频的等待时间。

在本申请的另一个实施例中,如果服务器预先知道用户的观看视角,按需将对应的该观看视角为主视角区域的待编码图像进行编码,获得视频编码帧。

第二确定单元180,用于确定VR终端的目标观看视角,并获取以目标观看视角为主视角区域的目标视频编码帧。

在本申请的一个实施例中,VR终端的目标观看视角可以是服务器端存储的该VR终端对应的默认观看视角。该默认观看视角可以是服务器内存储的VR终端的默认观看视角。

在本申请的另一个实施例中,VR终端可以通过姿态传感器获取用户的当前观看视角,并反馈给服务器;服务器将该VR终端反馈的当前观看视角作为目标观看视角。

发送单元190,用于发送所述目标视频编码帧。

服务器向VR终端发送该目标视频编码帧,以便VR终端能够显示全景视频。

按照上述的过程生成一个全景视频内各个视频图像帧对应的目标视频编码帧。

本实施例提供的全景视频传输装置,将获得的全景视频图像帧映射为立方体图像帧;再将立方体图像帧重新排列为一个矩形全景图像帧。将矩形全景图像帧划分为空间上连续的N个视角区域,并从中确定出主视角区域和非主视角区域;对于非主视角区域对应的图像进行下采样,得到非主视角采样图像;然后,主视角区域对应的图像及各个非主视角采样图像进行编码,得到视频编码帧。获取虚拟现实终端的目标观看视角,并向虚拟现实终端发送以该目标观看视角为主视角区域的目标视频编码帧。该装置通过对主视角区域对应的图像按照全分辨率进行编码并显示,同时,非主视角区域对应的图像进行下采样后再进行编码显示。对图像进行下采样能够大大降低图像的数据量,从而降低了了观看视角之外的视角范围内的图像的数据量,进而节省了传输所需的网络资源。

请参见图10,示出了本申请实施例又一种全景视频传输装置的框图,该装置在图9所示实施例的基础上还包括:

第二获取单元210,用于获取VR终端的最新观看视角范围。

该最新观看视角范围可以由VR终端根据姿态传感器检测得到。例如,当VR终端上的姿态传感器检测到用户的头部有运动时,记录当前姿态进一步计算得到当前姿态对应的观看视角。

第三获取单元220,用于获取最新观看视角范围与当前观看视角范围的重叠比例。

在本申请的一个实施例中,第三获取单元220可以包括第一获取子单元、第二获取子单元和计算子单元。

该第一获取子单元,用于获取最新观看视角范围对应的第一主视角区域及当前观看视角范围对应的第二主视角区域。

该第二获取子单元,用于获取第一主视角区域与第二主视角区域的重叠面积。

该计算子单元,用于计算重叠面积与第二主视角区域的面积之间的比例,得到重叠比例。

第三确定单元230,用于当重叠比例小于预设阈值时,确定最新观看视角范围为最新目标观看视角范围。

如果计算得到的重叠比例小于或等于预设阈值,则确定最新观看视角范围为最新目标观看视角范围,然后,触发切换单元240执行相应的操作。

如果重叠比例大于预设阈值,则确定用户的观看视角没有变化,忽略最新观看视角范围,即无需切换主视角区域,不切换发送给VR终端的视角视频。

切换单元240,用于将以当前观看视角范围为主视角区域的目标视频编码帧切换为以最新目标观看视角范围为主视角区域的目标视频编码帧。

将原观看视角为主视角的视角视频切换为以最新观看视角为主视角的视角视频。

本实施例提供的全景视频传输装置,在向VR终端发送目标编码视频的过程中,获取用户的最新观看视角范围,如果最新观看视角范围与原观看视角范围的重叠比例小于预设阈值,则确定用户的观看视角发生改变。并将以最新观看视角为主视角区域的视频编码帧发送给VR终端。从而保证用户的主视角区域内的图像最清晰。

相应于上述应用于VR终端的全景视频传输方法实施例,本申请还提供了应用于VR终端的全景视频传输装置实施例。

请参见图11,示出了本申请实施例一种全景视频传输装置的框图,该装置应用于VR终端中,如图11所示,该装置可以包括:接收单元310、确定单元320、上采样单元330、拼接单元340、转换单元350和显示单元360。

接收单元310,用于接收目标视频编码帧,并对目标视频编码帧进行解码,得到解码后的视频图像帧。

VR终端接收服务端发送的目标视频编码帧,该目标视频编码帧为服务端根据用户的观看视角,获得的以用户的观看视角为主视角区域的视频编码帧。

接收到服务器发送的目标视频编码帧后,利用解码器对该目标视频编码帧进行解码,得到解码后的视频图像帧。

在本申请的一个实施例中,VR终端接收到的是服务器发送的一系列视频编码帧,这一系列视频编码帧构成一个视频。

确定单元320,用于确定解码后的视频图像帧中的主视角区域和非主视角区域。

服务器和VR终端之间会约定好每个视频图像帧中哪一部分是主视角区域,哪一部分是非主视角区域。

上采样单元330,用于对非主视角区域对应的视频图像帧分别进行上采样,得到上采样视频图像帧。

对于解码后的视频图像帧中的非主视角区域进行上采样,得到上采样视频图像帧。

上采样过程是与下采样过程的逆过程,上采样方式包括但不限于对非主视角区域内的图像的行、列分别进行2倍的采样方式。

例如,服务器下采样得到的DownSamplei的像素分辨率为wi*hi,则VR终端上采样得到的上采样视频图像帧的像素分辨率为2wi*2hi。

拼接单元340,用于将主视角区域对应的视频图像帧,以及,各个非主视角区域对应的上采样视频图像帧进行拼接,得到目标图像帧。

将主视角区域对应的解码后的视频图像与上采样得到的上采样视频图像按照与服务端得到矩形全景图像帧的方式(即,矩形图像中各个视角区域的排列方式),进行拼接,得到目标图像帧。

转换单元350,用于将目标图像帧转换成目标三维模型图像。

在本申请的一个实施例中,VR终端的三维模型为立方体,则将得到的目标图像帧映射为立方体全景图像帧,并在VR终端的显示模块上显示该立方体全景图像帧。

在本申请的另一个实施例中,VR终端的三维模型不是立方体而是其它三维模型,例如,圆柱形,则先将目标图像帧映射为立方体全景图像,然后,再将立方体全景图像帧映射为目标三维模型图像。最后,由显示模块显示该目标三维模型图像。

显示单元360,用于显示目标三维模型图像。

本实施例提供的一种全景视频传输装置,接收到目标视频编码帧后,并进行解码得到解码后的视频图像帧。然后,确定解码后的视频图像帧中的主视角区域和非主视角区域。对非主视角区域进行上采样,然后将主视角区域对应的解码后的图像与各个非主视角区域对应的上采样后的图像进行拼接,得到目标图像帧。将目标图像帧转换成目标三维模型图像,并向用户展示该目标三维模型图像。服务器对图像进行下采样能够大大降低图像的数据量,从而降低了了观看视角之外的视角范围内的图像的数据量,因此,节省了VR终端接收全景视频所需的网络资源,而且,降低了VR终端解码全景视频的工作量,提高了解码速度。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。

本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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