一种全景视频存储格式、全景视频的存储方法及装置与流程

文档序号:13532885阅读:368来源:国知局
一种全景视频存储格式、全景视频的存储方法及装置与流程

本发明涉及视频存储技术领域,尤其涉及一种全景视频存储格式、全景视频的存储方法及装置。



背景技术:

视频作为分享我们生活经历以及亲朋好友之间交流的一种媒介,其越来越受到大家的喜爱。360全景视频可以创造出一种沉浸式的环境,让人有一种身临其境的感觉。近年来,360全景视频和现实技术发展迅速,当然也面临着一些挑战。360全景视频文件的大小关系到视频的传输和视频成像的质量和分辨率大小。一个每秒60帧的6k全景视频文件大小大约是普通的平均比特率为245mbps的全高清视频大小的20倍。然而现在大部分的移动端只能播放4k的视频。

360全景视频文件太大会影响到视频的传输时间,传输的速度关系到虚拟现实的效果。因此如何去平衡360全景视频文件的大小和视频产生的虚拟现实的效果,在虚拟现实技术中起到关键性的作用。

现有技术中,较为常见的是把360视频每一帧映射到立方体的表面上,根据立方体格式全景图像快速渲染和快速缓存的特点,将全景图像以图1的形式保存。通过把一幅全景图像的上面25%转换到立方体的一个面上,底面25%转换到立方体另一个面上,中间的50%转换到剩下的面上,得到一个完整的立方体投影。

如图1所示,将图像的25%转换到一个面上就要分配对应25%的空间去存储,50%转换到四个面上,也要分配对应的50%空间去存储。25%的空间本来是可以存两个面的,这样存储存造成了空间的浪费。而且一幅全景图像对应的文件大小变大了,又要保证图像的快速缓存和快速渲染,因为播放全景图像时是有用户互动的,不仅仅只对当前显示的图像做缓存和渲染。这对传输的带宽和硬件的渲染有很高的要求。



技术实现要素:

本发明要解决的技术问题在于,针对上述现有技术存储空间浪费、难以保证快速缓存及快速渲染的问题,提供一种全景视频存储格式、全景视频的存储方法及装置。

本发明解决其技术问题所采用的技术方案是:

一方面,构造一种全景视频的存储方法,包括:

将全景视频中每一帧图像分解为六个表面以投影于立方体;

分别计算六个所述表面所需存储空间的百分比,并从所述百分比中获取最小百分比;

将六个所述表面重新排列;

藉由所述最小百分比为重新排列的六个所述表面重新分配存储空间的百分比。

在本发明所述的存储方法中,所述将全景视频中每一帧图像分解为六个表面以投影于立方体的步骤包括以下子步骤:

将全景视频中每一帧图像分解为六个表面,六个所述表面为上表面、下表面、左表面、右表面、前表面及后表面;六个所述表面分别投影于所述立方体的六个面,其中,第一行排列有上表面,第二行排列有左表面、右表面、前表面及后表面,第三行排列有下表面;

获取所述第一行所需的存储空间的百分比为25%、所述第二行所需的存储空间的百分比为50%、所述第三行所需的存储空间的百分比为25%。

在本发明所述的存储方法中,所述分别计算六个所述表面所需存储空间的百分比,并从所述百分比中获取最小百分比的步骤包括以下子步骤:

依据所获取的存储空间计算六个所述表面所需存储空间的百分比,其中,上表面所需存储空间的百分比为25%,下表面所需存储空间的百分比为25%,左表面、右表面、前表面及后表面均为:50%/4=12.5%;

获取最小百分比为:12.5%。

在本发明所述的存储方法中,所述将六个所述表面重新排列的步骤中:

将左表面、右表面及上表面重新排列至第一行,将下表面、前表面及后表面重新排列至第二行。

在本发明所述的存储方法中,所述藉由所述最小百分比为重新排列的六个所述表面重新分配存储空间的百分比的步骤中:

将存储空间的12.5%*3=37.5%分别分配至重新排列的第一行及第二行,从而将存储空间的12.5%分别分配至六个所述表面。

另一方面,提供一种全景视频的存储装置,包括:

分解模块,用于将全景视频中每一帧图像分解为六个表面以投影于立方体;

计算模块,用于分别计算六个所述表面所需存储空间的百分比,并从所述百分比中获取最小百分比;

排列模块,用于将六个所述表面重新排列;

分配模块,用于藉由所述最小百分比为重新排列的六个所述表面重新分配存储空间的百分比。

在本发明所述的存储装置中,所述分解模块包括:

表面分解子模块,用于将全景视频中每一帧图像分解为六个表面,六个所述表面为上表面、下表面、左表面、右表面、前表面及后表面;六个所述表面分别投影于所述立方体的六个面,其中,第一行排列有上表面,第二行排列有左表面、右表面、前表面及后表面,第三行排列有下表面;

存储空间获取子模块,用于获取所述第一行所需的存储空间的百分比为25%、所述第二行所需的存储空间的百分比为50%、所述第三行所需的存储空间的百分比为25%。

在本发明所述的存储装置中,所述计算模块包括:

百分比计算子模块,用于依据所获取的存储空间计算六个所述表面所需存储空间的百分比,其中,上表面所需存储空间的百分比为25%,下表面所需存储空间的百分比为25%,左表面、右表面、前表面及后表面均为:50%/4=12.5%;

最小百分比获取子模块,用于获取最小百分比为:12.5%。

在本发明所述的存储装置中,所述排列模块还用于将左表面、右表面及上表面重新排列至第一行,将下表面、前表面及后表面重新排列至第二行。

所述分配模块还用于将存储空间的12.5%*3=37.5%分别分配至重新排列的第一行及第二行,从而将存储空间的12.5%分别分配至六个所述表面。

再一方面,提供一种全景视频存储格式,包括如上所述的方法中重新排列并重新分配存储空间的百分比的六个表面。

上述公开的一种全景视频存储格式、全景视频的存储方法及装置具有以下有益效果:立方体映射没有几何失真,立方体映射的像素点是均匀分布的,每一个面都同等重要。本发明提出的立方体映射的存储格式,比已有的立方体映射的存储格式节省25%的存储空间,从而大大提高传输的速度和硬件的渲染效率并减少了传输带宽的压力。

附图说明

图1为现有技术中展开立方体的存储空间示意图;

图2为本发明一实施例提供的立方体储存格式示意图;

图3为本发明提供的一种全景视频的存储方法流程图;

图4为本发明提供的一种全景视频的存储装置框图。

具体实施方式

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

本发明提供了一种全景视频存储格式、全景视频的存储方法及装置,其目的在于:

1、解决立方体中映射失真的问题。本发明的技术方案的立方体映射没有几何失真,立方体每个面的图像看起来就像是真实角度看到的景象。故本申请提出的编码格式比equirectangular映射的弯曲运动矢量效率高。

equirectangular映射:将球形的经度和纬度坐标,直接到水平和垂直坐标的一格,这个网格的高度大约宽的两倍。因此从赤道到两极,横向拉伸不断加剧,南北两个极点被拉伸成了扁平的网格在整个上部和下部边缘。equirectangular可以现实整个水平和竖直的360全景。

2、本发明中,立方体映射的像素点是均匀分布的,每一个面都是同等重要,不会出现像equirectangular映射中存在大量冗余信息的极点。

3、本发明提出的立方体映射的存储格式,比已有的立方体映射每一帧的存储格式节省25%的存储空间,从而大大提高传输的速度和硬件的渲染效率。因为已有的存储格式分配空间的12.5%就可以存储立方体的一个面,对立方体表面展开图做了如图2的调整后,只需要用两行就可以将六个面存起来,每一行占用已有的存储格式分配空间的37.5%,这样总共只需要之前分配空间的75%就可以将整个立方体格式的图像保存起来,而且不存在空间浪费的问题。将图像以图2的格式传进gpu做渲染的时候只需要增加一个六个面对应的索引表就可以达到图1格式的效果。整个图像可以减少25%的存储空间,这样减少了传输带宽的压力,也大大提高渲染的效率。

帧:就是影像动画中最小单位的单幅影像画面。一帧就是一副静止的画面,连续的帧就形成动画,如电视图像等。通常说帧数,简单地说,就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(framespersecond)表示。

带宽:带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。网络和高速公路类似,带宽越大,就类似高速公路的车道越多,其同行能力越强。网络带宽作为衡量网络特征的一个重要指标,日益受到人们的普遍关注。它不仅是政府或单位制订网络通信发展策略的重要依据,也是互联网用户和单位选则互联网接入服务商的主要因素之一。

全景视频:是把90度至360度的场景全部展现在一个二维平面上,全景,英文是panoramic、panorama,通常是指符合人的双眼正常有效视角(大约水平90度,垂直70度)或包括双眼余光视角(大约水平180度,垂直90度)以上;乃至360度完整场景范围拍摄的照片。

参见图3,图3为本发明提供的一种全景视频的存储方法流程图,该全景视频的存储方法包括步骤s1-s4:

s1、将全景视频中每一帧图像分解为六个表面以投影于立方体;该步骤s1包括子步骤s11-s12:

s11、将全景视频中每一帧图像分解为六个表面,六个所述表面为上表面、下表面、左表面、右表面、前表面及后表面;六个所述表面分别投影于所述立方体的六个面,其中,第一行排列有上表面,第二行排列有左表面、右表面、前表面及后表面,第三行排列有下表面;

s12、获取所述第一行所需的存储空间的百分比为25%、所述第二行所需的存储空间的百分比为50%、所述第三行所需的存储空间的百分比为25%。

s2、分别计算六个所述表面所需存储空间的百分比,并从所述百分比中获取最小百分比;该步骤s2包括子步骤s21-s22:

s21、依据所获取的存储空间计算六个所述表面所需存储空间的百分比,其中,上表面所需存储空间的百分比为25%,下表面所需存储空间的百分比为25%,左表面、右表面、前表面及后表面均为:50%/4=12.5%;

s22、获取最小百分比为:12.5%。

s3、将六个所述表面重新排列;将左表面、右表面及上表面重新排列至第一行,将下表面、前表面及后表面重新排列至第二行。针对图1中的存储空间分配方式空间浪费的问题,该步骤对其进行了改进,在最初投影的时候还是上面存储空间的25%转换到立方体一个面上,底面存储空间的25%转换到立方体的另一个面上,剩下存储空间的50%转换到立方体剩下的四个面上。在转换完以后对图像做一个调整,如图2所示。

s4、藉由所述最小百分比为重新排列的六个所述表面重新分配存储空间的百分比。将存储空间的12.5%*3=37.5%分别分配至重新排列的第一行及第二行,从而将存储空间的12.5%分别分配至六个所述表面。因为之前分配空间的12.5%就可以存储立方体的一个面,故对立方体表面展开图做了如图2所示的调整后,只需要用两行就可以将六个面存起来,每一行占用之前分配空间的37.5%,这样总共只需要之前分配空间的75%就可以将整个立方体格式的图像保存起来,不仅节省了存储空间,而且不存在空间利用不合理的问题。将图像以图2的格式传进gpu(图形处理器,graphicsprocessingunit)做渲染的时候只需要增加一个六个面对应的索引表就可以达到图1格式的效果。整个图像可以减少25%的存储空间,这样减少了传输带宽的压力,也大大提高渲染的效率。

故本方法还提出了一种全景视频存储格式,该存储格式包括重新排列并重新分配存储空间的百分比的六个表面。

参见图4,图4为本发明提供的一种全景视频的存储装置框图,该全景视频的存储装置通过在相应系统中设置相应程序中实现,该装置包括分解模块1、计算模块2、排列模块3及分配模块4。

分解模块1用于将全景视频中每一帧图像分解为六个表面以投影于立方体;

计算模块2用于分别计算六个所述表面所需存储空间的百分比,并从所述百分比中获取最小百分比;

排列模块3用于将六个所述表面重新排列;

分配模块4用于藉由所述最小百分比为重新排列的六个所述表面重新分配存储空间的百分比。

优选的,所述分解模块1包括:

表面分解子模块,用于将全景视频中每一帧图像分解为六个表面,六个所述表面为上表面、下表面、左表面、右表面、前表面及后表面;六个所述表面分别投影于所述立方体的六个面,其中,第一行排列有上表面,第二行排列有左表面、右表面、前表面及后表面,第三行排列有下表面;

存储空间获取子模块,用于获取所述第一行所需的存储空间的百分比为25%、所述第二行所需的存储空间的百分比为50%、所述第三行所需的存储空间的百分比为25%。

优选的,所述计算模块2包括:

百分比计算子模块,用于依据所获取的存储空间计算六个所述表面所需存储空间的百分比,其中,上表面所需存储空间的百分比为25%,下表面所需存储空间的百分比为25%,左表面、右表面、前表面及后表面均为:50%/4=12.5%;

最小百分比获取子模块,用于获取最小百分比为:12.5%。

优选的,所述排列模块3还用于将左表面、右表面及上表面重新排列至第一行,将下表面、前表面及后表面重新排列至第二行。

优选的,所述分配模块4还用于将存储空间的12.5%*3=37.5%分别分配至重新排列的第一行及第二行,从而将存储空间的12.5%分别分配至六个所述表面。

本文提供了实施例的各种操作。在一个实施例中,所述的一个或操作可以构成一个或计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。

而且,本文所使用的词语“优选的”意指用作实例、示例或例证。奉文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“x使用a或b”意指自然包括排列的任意一个。即,如果x使用a;x使用b;或x使用a和b二者,则“x使用a或b”在前述任一示例中得到满足。

而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。

本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。

综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

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