全景视频的映射方法、重建、处理方法及对应装置和设备与流程

文档序号:14121451阅读:586来源:国知局
全景视频的映射方法、重建、处理方法及对应装置和设备与流程

【技术领域】

本申请涉及计算机应用技术领域,特别涉及一种全景视频的映射方法、重建、处理方法及对应装置和设备。



背景技术:

全景视频的压缩技术已经成为虚拟现实(vr,virtualreality)技术领域的研究重点,全景视频通常在视频编码前需要将其映射展开为图像。现有全景视频的映射方式,都是对球型全景视频采用同一种映射方式,但由于球型这种特殊的形状,采用同一种映射方式很难兼顾到展开面积和像素损失两方面的因素。例如目前全景视频的映射方式主要包括以下两种:

1)equirectangular(圆柱)映射方式,通过将球型的全景视频每帧图像的theta和phi角度,确定相应像素在展开平面图中的位置。从地球仪到地图的展开方式就是采用的圆柱映射方式。圆柱映射方式虽然可以保留全景视频的所有像素,但会导致越接近球体两极的像素拉伸越严重,最终导致展开后图像面积的浪费。

2)cubic(立方体)映射方式,现有的立方体映射方式是将球型全景视频的所有像素点按照中心映射的方式分别映射到立方体的六个面上,然后进一步将立方体的六个面展开为一张平面图。这种方式展开面积相较于圆柱得到了节省,但会存在一些像素的损失。



技术实现要素:

有鉴于此,本申请针对球型这种特殊的视频图像形状,提出了一种全新的全景视频的映射方法、重建、处理方法及对应装置和设备。

具体技术方案如下:

本申请提供了一种全景视频的映射方法,球型全景视频被横向切割得到上、中、下三部分视频图像;该方法包括:

采用第一映射方式,将中部分视频图像映射至立方体展开平面上除了上面和下面之外的四个侧面;以及,

采用第二映射方式,将上部分视频图像映射至所述立方体展开平面上的上面;以及,

采用第三映射方式,将下部分视频图像映射至所述立方体展开平面上的下面。

根据本申请一优选实施方式,所述横向切割将所述球型全景视频沿中心的纵向切面分为四等分。

本申请还提供了一种全景视频的处理方法,该方法包括:

获取球型全景视频;

采用上述的映射方法,将所述球型全景视频映射至立方体展开平面上;

将映射后的视频数据进行视频转码;

发送视频转码后的视频数据。

本申请还提供了一种全景视频的处理方法,该方法包括:

对接收到的视频数据进行解码,得到立方体展开平面上的图像;

采用上述的重建方法,将所述立方体展开平面上的图像进行映射,得到球型全景视频;

播放所述球型全景视频。

本申请还提供了一种全景视频的映射装置,球型全景视频被横向切割得到上、中、下三部分视频图像,该装置包括:

第一映射单元,用于采用第一映射方式,将中部分视频图像映射至立方体展开平面上除了上面和下面之外的四个侧面;

第二映射单元,用于采用第二映射方式,将上部分视频图像映射至所述立方体展开平面上的上面;

第三映射单元,用于采用第三映射方式,将下部分视频图像映射至所述立方体展开平面上的下面。

本申请还提供了一种全景视频的重建装置,球型全景视频模型被横向切割得到上、中、下三部分模型;该装置包括:

第四映射单元,用于采用第四映射方式,将立方体展开平面上除了上面和下面之外的四个侧面的图像映射至所述中部分模型;

第五映射单元,用于采用第五映射方式,将所述立方体展开平面上的上面的图像映射至所述上部分模型;

第六映射单元,用于采用第六映射方式,将所述立方体展开平面上的下面的图像映射至所述下部分模型;

视频获取单元,用于由映射后的球型全景视频模型,得到球型全景视频。

本申请还提供了一种全景视频的处理装置,该装置包括:

获取单元,用于获取球型全景视频;

上述的映射装置,用于将所述球型全景视频映射至立方体展开平面上;

转码单元,用于将所述映射装置映射后的视频数据进行视频转码;

发送单元,用于发送视频转码后的视频数据。

本申请还提供了一种全景视频的处理装置,该装置包括:

解码单元,用于对接收到的视频数据进行解码,得到立方体展开平面上的图像;

上述的重建装置,用于将所述立方体展开平面上的图像进行映射,得到球型全景视频;

播放单元,用于播放所述球型全景视频。

本申请提供了一种设备,包括

一个或者多个处理器;

存储器;

一个或者多个程序,所述一个或者多个程序存储在所述存储器中,被所述一个或者多个处理器执行以实现如下操作:

球型全景视频被横向切割得到上、中、下三部分视频图像;

采用第一映射方式,将中部分视频图像映射至立方体展开平面上除了上面和下面之外的四个侧面;以及,

采用第二映射方式,将上部分视频图像映射至所述立方体展开平面上的上面;以及,

采用第三映射方式,将下部分视频图像映射至所述立方体展开平面上的下面。

本申请还提供了一种设备,包括

一个或者多个处理器;

存储器;

一个或者多个程序,所述一个或者多个程序存储在所述存储器中,被所述一个或者多个处理器执行以实现如下操作:

球型全景视频模型被横向切割得到上、中、下三部分模型;

采用第四映射方式,将立方体展开平面上除了上面和下面之外的四个侧面的图像映射至所述中部分模型;以及,

采用第五映射方式,将所述立方体展开平面上的上面的图像映射至所述上部分模型;以及,

采用第六映射方式,将所述立方体展开平面上的下面的图像映射至所述下部分模型;

由映射后的球型全景视频模型,得到球型全景视频。

本申请还提供了一种设备,包括

一个或者多个处理器;

存储器;

一个或者多个程序,所述一个或者多个程序存储在所述存储器中,被所述一个或者多个处理器执行以实现如下操作:

获取球型全景视频;

采用上述的映射方法,将所述球型全景视频映射至立方体展开平面上;

将映射后的视频数据进行视频转码;

发送视频转码后的视频数据。

本申请还提供了一种设备,包括

一个或者多个处理器;

存储器;

一个或者多个程序,所述一个或者多个程序存储在所述存储器中,被所述一个或者多个处理器执行以实现如下操作:

对接收到的视频数据进行解码,得到立方体展开平面上的图像;

采用上述的重建方法,将所述立方体展开平面上的图像进行映射,得到球型全景视频;

播放所述球型全景视频。

由以上技术方案可以看出,本申请提供了一种全新的全景视频映射方式,针对球型全景视频其特殊的形状,不再采用同一种映射方式,而是将球型全景视频分割成三部分,采用不同的映射方式将其映射至立方体展开平面,为灵活选择映射方式提供基础,以兼顾展开面积和像素损失两方面的因素。

当服务提供端采用本发明的映射方式进行映射后,一方面相比较立方体映射方式能够降低像素损失,保证转码后的视频质量,另一方面相比较圆柱映射方式减少了展开图像面积,降低视频转码时的编码率。

【附图说明】

图1为本申请实施例提供的主要方法流程图;

图2为本申请实施例提供的映射关系示意图;

图3为本申请实施例提供的对球型全景视频进行横向切割的示意图;

图4为本申请实施例功能的立方体展开平面的示意图;

图5为本申请实施例提供的上部分视频进行垂直映射的示意图;

图6为本申请实施例提供的对图像进行拉伸的示意图;

图7为本申请实施例提供的全景视频系统的工作原理示意图;

图8为本申请实施例提供的全景视频的重建方法流程图;

图9为本申请实施例提供的将圆形图像垂直映射至上部分模型的示意图;

图10为本申请实施例提供的全景视频的映射装置结构图;

图11为本申请实施例提供的全景视频的重建装置结构图;

图12为本发明实施例提供的全景视频的处理装置结构图;

图13为本发明实施例提供的另一种全景视频的处理装置结构图;

图14为本申请实施例提供的设备结构示意图。

【具体实施方式】

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。

在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

在本申请中,同样将球型全景视频映射至立方体的展开平面上,但与现有cubic映射方式不同的是,并非采用中心映射方式,而是将球型全景视频分成三部分,然后针对各部分分别采用各自的映射方式,最终映射至立方体的展开平面上。

图1为本申请实施例提供的全景视频的映射方法流程图,如图1中所示,该方法主要包括以下步骤:

在101中,对球型全景视频进行横向切割,得到上、中、下三部分视频图像。

在对球型全景视频进行横向切割时,所谓横向切割可以是沿着水平方向对球型全景视频进行切割。当然,之所以采用横向切割是为了方便描述和理解,由于球型采用任何方向进行切割时,进行一定角度的翻转都可以看做是横向切割,因此,本申请中的横向切割并非对切割方向进行限制,只要切割过程以及得到三部分视频图像所采用的切割方向保持一致即可。

如图2中所示,位于左侧的球型全景视频,沿着切割线对球型全景视频进行切割,得到上、中下三部分。作为一种优选的切割方式,切割后的球型全景视频沿中心的纵向切面被分为四等分,这种实现方式将在后续实施例中进行详述。

在102中,采用第一映射方式,将中部分视频图像映射至立方体展开平面上除了上面和下面之外的四个侧面。

在103中,采用第二映射方式,将上部分视频图像映射至立方体展开平面上的上面。

在104中,采用第三映射方式,将下部分视频图像映射至立方体展开平面上的下面。

在本申请实施例中,球型全景视频被映射至立方体的展开平面上,如图2中右侧所示,立方体的展开平面上存在六个面,上面、下面以及四个侧面,图中箭头表示球型全景视频与立方体各展开面的映射关系。各部分可以采用不同的映射方式,例如可以采用圆柱映射方式或中心映射的方式,将中部分的视频图像映射至立方体展开平面上的四个侧面。采用“垂直映射+拉伸”的映射方式,将上部分的视频图像映射至立方体展开平面的上面,将下部分的视频图像映射至立方体展开平面的下面。其中,在进行上部分和下部分的映射时,可以采用相同的映射方式,也可以采用不同的映射方式。

以上部分映射为例,在进行映射时,可以将上部分的球面垂直映射至立方体展开平面的上面,得到一个圆形图像,其圆心可以与立方体展开平面的上面中心点重合。为了使得圆中的像素能够铺满整个立方体展开平面的上面(是一个正方形),可以采用拉伸的方式,具体拉伸方法将在后续实施例中详述。

另外,需要说明的是,上述步骤102、103和104的执行顺序仅仅为本实施例示出的一种,但并非是对其执行顺序的限制,步骤102、103和104可以采用任意的顺序先后执行,也可以同时执行。

上面已经提及,作为一种优选的实施方式,在对球型全景视频进行横向切割时,可以将球型全景视频沿中心的纵向切换分为四等分。下面以此为例,通过一个实施例对本申请提供的方法进行详述。

若球型全景视频的半径为r,如图3中所示,图3为球型全景视频沿中心的纵向切面,对球型全景视频进行切割时,第一条切割线沿ab,第二条切割线沿cd。其中ab、bd、dc和ca的弧长均为即进行切割后,将图3所示纵向切面进行了四等分。对应于球型全景视频,ab之上的球面为上部分,cd之下的球面为下部分,ab和cd之间的球面为中部分。

优选地,立方体的边长同样为作为中部分而言,球体的最大展开长度为2πr,正好为4个立方体边长,即与立方体展开图中四个侧面部分组成的矩形的长一致,如图4中所示。而中部分ac和bd的弧长与立方体展开图中侧面部分组成的矩形的宽一致。因此,在进行圆柱映射时,可以保证中部分的映射没有像素损失。

图3所示的球型全景视频ab之上的上部分,垂直映射至图4所示立方体展开平面上的上面。可以理解为将立方体展开平面的上面水平方向放置于球型全景视频上部分相切,然后将球型全景视频上部分各像素点垂直映射至立方体展开平面上的上面,如图5所示,图中虚线箭头表示像素映射方向。上部分的球面部分,由于a到b的弧长为映射后得到一个直径为的圆形图像,立方体的边长正好是因此映射得到的就是嵌入立方体上面的展开平面的圆形图像,如图6中所示。

然后将该图形图像拉伸至与立方体展开平面上的上面重合,也就是说,将圆形图像中的像素拉伸到整个正方形中。在本申请实施例中,可以将圆形图像中的各像素按照各像素对应的拉伸比率进行拉伸。若某像素的拉伸比率为p,则将该像素距离圆形图像中心点的距离拉伸至原来的p倍。其中像素i的拉伸比率为:圆形图像的中心点o和交点1之间的长度与圆形图像的中心点o和交点2之间的长度的比值,交点1为从中心点o出发且通过该像素i的射线与立方体展开平面上的上面边缘的交点,交点2为从中心点o出发且通过该像素i的射线与圆形图像圆周的交点。

举个例子,如图6中所示,线段oh上的各像素在进行拉伸时,拉伸比率为oi与oh的比值。线段oj上各像素在进行拉伸时,拉伸比率为ok与oj的比值。线段ol上各像素在拉伸时,拉伸比率为1,即无需进行拉伸。各像素按照对应的拉伸比率均匀进行拉伸,就得到填充满立方体展开平面上的上面。

对于球型全景视频下部分到立方体展开平面上的下面的映射,与上部分到立方体展开平面上的上面的映射相同,在此不再赘述。

下面对圆柱映射方式,采用中心点映射的cubic映射方式以及本实施例中采用的映射方式,假设全景视频的半径为r,那么全景视频的表面积为4πr2。将这三种映射方式进行比较:

通过equirectangular映射方式,得到展开后的图像长和宽分别为2πr和πr。那么equirectangular展开后的图像面积就是:2π2r2。展开后的面积大约为全景视频球体表面积的1.57倍,所以可见equirectangular展开方式会导致转码的时候的面积增大,进一步导致后续视频编码码率的增大。

按照中心映射的cubic映射方式最终的展开面积为一个正方体的表面积,而正方体的边长为πr/2,那么cubic展开的总体面积就是6*(πr/2)*(πr/2)=1.5π2r2,其和equirectangular展开后的2π2r2相比,能够节省25%的展开面积,从而后续也能够减少25%的编码码率。由于最终的cubic映射立方体的边长为πr/2,而全景球型视频的直径为2r,大于cubic映射立方体的边长。因此全景球型视频在按照中心映射的方式进行cubic映射的时候,并不是所有的像素都得到了保留,而有一些像素的损失。

本申请实施例采用的映射方式同样将一个球型全景视频映射到一个立方体上,因此与现有cubic映射方式类似的,展开面积相比较equirectangular映射方式节省了25%。但与现有cubic映射方式相比,所有像素都得到了保留,达到了无损映射。

经过论证可以得到,若采用本申请实施例提供的映射方式,只要立方体的边长小于展开面积相比较equirectangular映射方式均可以得到节省,但要达到无损映射,立方体的边长要大于或等于

上述映射方法可以应用于全景视频系统,诸如vr视频系统。全景视频系统主要由客户端和服务提供端组成,其中服务提供端负责向客户端发送视频全景视频数据,客户端负责接收并播放全景视频数据。但需要说明的是,上述的服务提供端可以位于服务器侧,即由服务器侧发送全景视频数据,也可以位于用户设备侧,例如若某用户设备具备提供全景视频数据的能力,也可以由用户设备作为服务提供端来提供全景视频数据。相应地,客户端可以位于用户设备侧,即用户设备负责接收并播放全景视频数据,也可以位于服务器侧。

具体过程可以如图7中所示,在服务提供端,首先获取原始的视频数据,原始的视频数据为球型全景视频。其中原始的视频数据的获取可以从服务提供端本地存储的资源中获取,也可以从其他设备获取。然后采用本申请实施例上述的映射方式将球型全景视频映射至立方体展开平面上,然后基于立方体的展开平面上的图像,进行视频转码后发送给客户端。

其中视频转码指的是将视频码流转换成另一个视频码流的处理,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。其中视频转码包含一个解码后再编码的过程,或者仅包含编码的过程,视频转码的方式和过程本申请并不加以限制。

在客户端,接收到服务提供端发送的视频数据后进行实时解码,或者存储于本地后,对本地存储的视频数据进行解码,得到的是立方体展开平面上的图像。然后利用立方体展开平面上的图像进行全景视频的重建,重建成球型全景视频图像后进行渲染播放。

上面已经提及,服务提供端进行全景视频映射的方式采用上面实施例中提供的方式,对于客户端进行全景视频重建的过程可以看做是全景视频映射的逆过程,下面结合实施例对该过程进行详述。

图8为本申请实施例提供的全景视频的重建方法流程图,如图8所示,该方法可以包括以下步骤:

在801中,预先将球型全景视频模型横向切割得到上、中、下三部分模型。

在本实施例中,球型全景视频模型实际上一个尚未包含图像数据的模型,该模型定义了全景视频的形状(即球形)以及大小(即半径),但尚未包含图像数据。球型全景视频模型的切割方式需要与步骤101中球型全景视频的切割方式一致,即客户端和服务提供端需要采用一致的切割方式。若服务提供端采用的横向切割方式将球型全景视频沿中心的纵向切面切分为四等分,则客户端采用的横向切割方式就是将球型全景视频模型沿中心的纵向切面切分为四等分。

在802中,采用第四映射方式,将立方体展开平面上除了上面和下面之外的四个侧面的图像映射至中部分模型。

第四映射方式为图1所示流程中第一映射方式的逆映射方式,若第一映射方式采用equirectangular映射,则第四映射方式就是equirectangular映射的逆映射。

在803中,采用第五映射方式,将立方体展开平面上的上面的图像映射至上部分模型。

在804中,采用第六映射方式,将立方体展开平面上的下面的图像映射至下部分模型。

第五映射方式为图1所示流程中第二映射方式的逆映射方式,第六映射方式为图1所示流程中第三映射方式的逆映射方式。若图1所示实施例中,第二映射方式和第三映射方式采用的均是“垂直映射+拉伸”的映射方式,那么在本实施例中,第五映射方式和第六映射方式可以均采用“收缩+垂直映射”的映射方式。

以将立方体展开平面上的上面的图像映射至上部分模型为例,首先将立方体展开平面上的上面的图像收缩至嵌入该立方体展开平面上的上面的圆形图像,即将矩形的图像收缩成嵌入该矩形的圆形图像。在本实施例中可以将矩形的图像中的各像素按照各像素对应的收缩比率进行收缩。若某像素的收缩比率为q,则将该像素距离圆形图像中心点的距离收缩至原来的q倍。其中像素i的收缩比率为:圆形图像的中心点o和交点2之间的长度与圆形图像的中心点和交点1之间的长度的比值,交点1为从中心点o出发且通过该像素i的射线与立方体展开平面上的上面边缘的交点,交点2为从中心点o出发且通过该像素i的射线与圆形图像圆周的交点。

举个例子,仍如图6中所示,线段oi上各像素在收缩时,收缩比率为oh与oi的比值。线段ok上各像素在进行收缩时,收缩比率为oj与ok比值。线段ol上各像素在收缩时,收缩比率为1,即无需进行收缩。各像素按照对应的收缩比率均匀进行收缩,就得到圆形图像。

然后将圆形图像垂直映射到上部分模型,如图9中所示,图中虚线箭头表示像素映射方向,由于上部分模型的形状和大小固定,因此圆形图像的各像素可以垂直映射至上部分模型。

进行上述对球型全景视频模型的映射后,即上、中、下部分模型均映射完毕后,就得到球型全景视频,即将立方体展开平面上的图像又映射回球型全景视频图像。

以上是对本申请所提供方法进行的详细描述,下面结合实施例对本申请提供的装置进行详细描述。

图10为本申请实施例提供的全景视频的映射装置结构图,在本实施例中,球型全景视频被横向切割得到上、中、下三部分视频图像,如图2所示,作为一种优选的切割方式,切割后的球型全景视频沿中心的纵向切面被分为四等分。如图10所示,该装置可以包括:第一映射单元01、第二映射单元02和第三映射单元03,还可以进一步包括视频转码单元04。各组成单元的主要功能如下:

第一映射单元01负责采用第一映射方式,将中部分视频图像映射至立方体展开平面上除了上面和下面之外的四个侧面。

第二映射单元02负责采用第二映射方式,将上部分视频图像映射至立方体展开平面上的上面。

第三映射单元03负责采用第三映射方式,将下部分视频图像映射至立方体展开平面上的下面。

在本申请实施例中,球型全景视频被映射至立方体的展开平面上,如图2中右侧所示,立方体的展开平面上存在六个面,上面、下面以及四个侧面,图中箭头表示球型全景视频与立方体各展开面的映射关系。各部分可以采用不同的映射方式,例如可以采用equirectangular映射方式或中心映射的方式,将中部分的视频图像映射至立方体展开平面上的四个侧面。采用“垂直映射+拉伸”的映射方式,将上部分的视频图像映射至立方体展开平面的上面,将下部分的视频图像映射至立方体展开平面的下面。其中,在进行上部分和下部分的映射时,可以采用相同的映射方式,也可以采用不同的映射方式。

以“垂直映射+拉伸”的映射方式为例,第二映射单元02可以将上部分视频图像的球面部分垂直映射到立方体展开平面上的上面,得到嵌入立方体展开平面上的上面的圆形图像;将圆形图像拉伸成矩形,矩形为立方体展开平面上的上面。

类似地,第三映射单元03可以将下部分视频图像的球面部分垂直映射到立方体展开平面上的下面,得到嵌入立方体展开平面上的下面的圆形图像;将圆形图像拉伸成矩形,矩形为立方体展开平面上的下面。

具体地,第二映射单元02或第三映射单元03在将圆形图像拉伸成矩形时,可以将圆形图像中的各像素按照各像素对应的拉伸比率进行拉伸;其中圆形图像中像素i的拉伸比率为:圆形图像的中心点o和交点2之间的长度与圆形图像的中心点o和交点1之间的长度的比值,其中交点1为从中心点o出发且通过该像素i的射线与圆形图像圆周的交点,交点2为从中心点o出发且通过该像素i的射线与矩形边缘的交点。

若球型全景视频的半径为r,那么只要立方体的边长小于展开面积相比较equirectangular映射方式均可以得到节省,但要达到无损映射,立方体的边长要大于或等于优选地,立方体边长可以取

该装置可以应用于vr视频系统,诸如vr直播系统,vr点播系统,可以将该装置设置于vr视频系统的服务提供端,对应于这种情况,视频转码单元04基于立方体的展开平面上映射得到的图像,进行视频转码。然后由服务提供端的视频发送单元将视频转码后得到的视频数据(视频流)发送给客户端。

图10所示装置可以是位于服务提供端的应用,也可以为位于该应用汇总的插件或软件开发工具包(softwaredevelopmentkit,sdk)等功能单元,本申请实施例对此不进行特别限定。

图11为本申请实施例提供的全景视频的重建装置结构图,在本实施例中,球型全景视频模型被横向切割得到上、中、下三部分模型。球型全景视频模型实际上一个尚未包含图像数据的模型,该模型定义了全景视频的形状(即球形)以及大小(即半径),但尚未包含图像数据。球型全景视频模型的切割方式需要与图10所示实施例中,球型全景视频的切割方式一致。如图11所示,该装置可以包括:第四映射单元11、第五映射单元12、第六映射单元13和视频获取单元14,还可以进一步包括解码单元15和播放单元16。各组成单元的主要功能如下:

第四映射单元11负责采用第四映射方式,将立方体展开平面上除了上面和下面之外的四个侧面的图像映射至中部分模型。第四映射方式为图10所示实施例中第一映射方式的逆映射方式,若第一映射方式采用equirectangular映射,则第四映射方式就是equirectangular映射的逆映射。

第五映射单元12负责采用第五映射方式,将立方体展开平面上的上面的图像映射至上部分模型。

第六映射单元13负责采用第六映射方式,将立方体展开平面上的下面的图像映射至下部分模型。

第五映射方式为图10所示实施例中第二映射方式的逆映射方式,第六映射方式为图10所示实施例中第三映射方式的逆映射方式。若图10所示实施例中,第二映射方式和第三映射方式采用的均是“垂直映射+拉伸”的映射方式,那么在本实施例中,第五映射方式和第六映射方式可以均采用“收缩+垂直映射”的映射方式。

具体地,第五映射单12可以将矩形的图像收缩至嵌入该矩形的圆形图像,矩形为立方体展开平面上的上面;将圆形图像垂直映射到上部分模型。类似地,第六映射单元13可以将矩形的图像收缩至嵌入该矩形的圆形图像,矩形为立方体展开平面上的下面;将圆形图像垂直映射到下部分模型。

其中,第五映射单元12或第六映射单元13在将矩形的图像收缩至嵌入该矩形的圆形图像时,可以将矩形的图像中的各像素按照各像素对应的收缩比率进行收缩;其中矩形的图像中像素i的收缩比率为:圆形图像的中心点o和交点1之间的长度与圆形图像的中心点o和交点2之间的长度的比值,其中交点1为从中心点o出发且通过该像素i的射线与圆形图像圆周的交点,交点2为从中心点o出发且通过该像素i的射线与矩形边缘的交点。

视频获取单元14负责由映射后的球型全景视频模型,得到球型全景视频。

全景视频模型半径以及立方体边长的取值需要与图10所示实施例中保持一致,在此不做赘述。

该装置可以应用于vr视频系统,诸如vr直播系统,vr点播系统,可以将该装置设置于vr视频系统的客户端,对应于这种情况,解码单元15对客户端接收到的视频数据进行解码,得到立方体展开平面上的图像。然后可以进一步由播放单元16将视频获取单元14得到的球型全景视频进行渲染播放。

图12为本发明实施例提供的全景视频的处理装置结构图,该装置设置于服务提供端,如图12所示,该装置可以包括:获取单元21、图10所示实施例提供的映射装置22、转码单元23和发送单元24。各组成单元的主要功能如下:

获取单元21负责获取球型全景视频。其中球型全景视频可以从从服务提供端本地存储的资源中获取,也可以从其他设备获取。

图10所示实施例提供的映射装置22负责将球型全景视频映射至立方体展开平面上。

转码单元23负责将映射装置映射后的视频数据进行视频转码。

发送单元24负责发送视频转码后的视频数据,例如发送给客户端。

图13为本发明实施例提供的另一种处理装置结构图,该装置设置于客户端,如图13所示,该装置可以包括:解码单元31、图11所示实施例提供的重建装置32以及播放单元33,各组成单元的主要功能如下:

解码单元31负责对接收到的视频数据进行解码,得到立方体展开平面上的图像。解码单元31可以对来自服务提供端的视频数据进行实时解码,也可以对存储于本地的视频数据进行解码。

图11所示实施例提供的重建装置32,负责将立方体展开平面上的图像进行映射,得到球型全景视频。

播放单元33负责播放球型全景视频。

上述装置可以是位于终端设备的应用,或者还可以为位于终端设备的应用中的插件或软件开发工具包(softwaredevelopmentkit,sdk)等功能单元,还可以位于服务器端,本申请实施例对此不进行特别限定。

本申请实施例提供的上述方法和装置可以以设置并运行于设备中的计算机程序体现。该设备可以包括一个或多个处理器,还包括存储器和一个或多个程序,如图14中所示。其中该一个或多个程序存储于存储器中,被上述一个或多个处理器执行以实现本申请上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行如图1所示的方法流程,也可以被上述一个或多个处理器执行如图8所示的方法流程。

列举几个应用场景:

1)应用于vr视频点播系统。

服务提供端接收到客户端发送的点播请求后,确定所请求点播的全景视频内容,全景视频内容所包含的图像均是球型全景视频。在服务提供端采用图1所示方法流程,将球型全景视频映射至立方体展开平面,得到展开后的图像。然后进行视频转码后发送给客户端。

客户端接收到服务提供端发送的视频流后,对视频流进行解码。解码得到的视频内容所包含的图像均是立方体展开平面上的图像。客户端采用如图8所示方法流程,将立方体展开平面上的图像映射回球型全景视频。然后对球型全景视频进行渲染播放。用户就能够通过客户端观看播放的全景视频。

2)应用于vr视频直播系统。

客户端接入vr视频直播系统后,服务提供端在各频道直播全景视频内容,即向接入各频道的客户端推送该频道的全景视频内容。该全景视频内容所包含的图像均是球型全景视频。在服务提供端采用图1所示方法流程,将球型全景视频映射至立方体展开平面,得到展开后的图像,然后进行视频转码后进行推送。

客户端接入某频道后,就能够接收到在该频道直播的视频流,对该视频流进行解码。解码得到的视频内容所包含的图像均是立方体展开平面上的图像。客户端采用如图8所示方法流程,将立方体展开平面上的图像映射回球型全景视频。然后对球型全景视频进行渲染播放。用户就能够通过客户端观看直播的全景视频。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

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

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

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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