一种全景视频并行编码方法和装置与流程

文档序号:11844858阅读:260来源:国知局
一种全景视频并行编码方法和装置与流程

本发明涉及虚拟现实(Virtual Reality,VR)视频技术领域,尤其涉及一种全景视频并行编码方法和装置。



背景技术:

目前市场上的VR(虚拟现实)视频,以球形全景视频为主,视频覆盖角度为水平360度,竖直180度,相较于正常视频,全景视频的文件数据量增加很大,网络传输的负担也大大增加。

另外,为了获得沉浸感较好的VR体验,要求全景视频需具有高帧率(90~120fps),高分辨率比如4k,8k甚至更高。这都远远超出了现有硬件的实时处理能力。因此,全景视频的编码效率成为决定VR视频能否快速应用的重要因素。

为了加快编码速度,现有编码技术H.265/HEVC标准中采用波浪形并行处理(Wavefront Parallel Processing,WPP)方法对全景视频进行编码。该WPP通过先后启动不同的线程实现了并行编码,提高了编码效率。

另外,由于相邻块间的相关性,即在编码过程中,WPP编码方法当前块的编码依赖其相邻块的编码结果。如图1所示,线程2中对视频块X2的编码依赖线程1中视频块X1的编码结果,线程3中对视频块X3的编码依赖线程2中视频块X2的编码结果,等等,如此,线程2中对视频块X2的编码必须待视频块X1编码结束后才能启动,线程3中对视频块X3的编码必须待视频块X2编码结束后才能启动。如此,多核处理器的多线程不能同时启动对VR视频的编码,导致多核处理器无法全部达到其设计性能,而且并行加速效果随着CPU(中央处理器)核数的增加而大打折扣,比如,对于一个4核CPU,加速倍数通常为单核CPU的2.5倍,达到3倍非常困难,而对一个8核CPU而言,加速倍数很难达到单核CPU的4倍,而且随着CPU核数的增加,CPU的利用率会越来越低,如此,现有的WPP编码方法不利于充分利用CPU的多核处理能力,无法做到全景视频的实时编码,限制了全景视频的大规模产业化应用和普及。



技术实现要素:

有鉴于此,本发明提供了一种全景视频并行编码方法和装置,以充分利用CPU的多核处理能力,促进全景视频的大规模产业化应用和普及。

为了解决上述技术问题,本发明采用了如下技术方案:

一种全景视频并行编码方法,包括:

获取球面全景视频;

按照预设映射方式将所述球面全景视频映射为平面全景视频,并将所述平面全景视频分割为多个平面视图;

将所述平面全景视频重组为多个视频序列;其中,每一个视频序列中的平面视图为映射到同一位置、并按照时间顺序组成的平面视图;

对各个所述视频序列进行并行编码;

将解码后的视频按照各自在平面全景视频中的位置复原拼接为完整的平面全景视频;

将所述完整的平面全景视频逆映射为球面全景视频。

可选地,所述将所述球面全景视频映射为平面全景视频之前,还包括:

确定预设映射方式的类型。

可选地,映射为平面全景视频后,重组为多个视频序列前,还包括:

判断平面视图的形状是否均为矩形,如果否,将形状为非矩形的平面视图形状处理为矩形。

可选地,所述预设映射方式包括立方体映射方式、经纬图映射方式、四棱锥映射方式;

所述四棱锥映射方式为将球体映射为外接四棱锥,展开成一个正方形和4个三角形的映射方式。

可选地,所述预设映射方式为四棱锥映射方式,所述四棱锥映射方式为将球体映射为外接四棱锥,展开成一个正方形和4个三角形的映射方式;

所述将形状为非矩形的平面视图形状处理成矩形,具体包括:

将形状为三角形的四个平面视图拼接为两个正方形平面视图;

所述将所述平面全景视频重组为多个视频序列,具体包括:

将各个拼接后的正方形平面视图分别按照时间顺序组成新视频序列。

可选地,所述预设映射方式为四棱锥映射方式,所述四棱锥映射方式为将球体映射为外接四棱锥,展开成一个正方形和4个三角形的映射方式;其中,映射生成的一个正方形视图和4个三角形视图拼接为一个正方形视图;

所述将形状为非矩形的平面视图形状处理成矩形,具体包括:

将拼接后的正方形视图分割为多个矩形视图;

所述将所述平面全景视频重组为多个视频序列,具体包括:

将各个矩形视图按照时间顺序分别组成新视频序列。

一种全景视频并行编码装置,包括:

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

映射单元,用于按照预设映射方式将所述球面全景视频映射为平面全景视频,并将所述平面全景视频分割为多个平面视图;

重组单元,用于将所述平面全景视频重组为多个视频序列;其中,每一个视频序列中的平面视图为映射到同一位置、并按照时间顺序组成的平面视图;

编码单元,用于对各个所述视频序列进行并行编码;

复原拼接单元,用于将解码后的视频按照各自在平面全景视频中的位置复原拼接为完整的平面全景视频;

逆映射单元,用于将所述完整的平面全景视频逆映射为球面全景视频。

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

确定单元,用于在映射为平面全景视频之前,确定预设映射方式的类型。

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

判断单元,用于在映射为平面全景视频后,重组为多个视频序列前,判断平面视图的形状是否均为矩形;

处理单元,用于当所述判断单元的判断结果为否时,将形状为非矩形的平面视图形状处理为矩形。

可选地,所述预设映射方式包括立方体映射方式、经纬图映射方式、四棱锥映射方式;

所述四棱锥映射方式为将球体映射为外接四棱锥,展开成一个正方形和4个三角形的映射方式。

相较于现有技术,本发明具有以下有益效果:

通过以上技术方案可知,本发明提供的全景视频并行编码方法将球面全景视频映射为平面全景视频,再将平面全景视频重组为多个视频序列,其中,每一个视频序列中的平面视图为映射到同一位置、并按照时间顺序组成的平面视图。如此,本发明将映射到同一位置的平面视图按照时间顺序组成一个新视频序列,如此就将球面全景视频重组为多个相互独立的新视频序列,本发明提供的方法能够对该多个相互独立的新视频序列并行编码,如此,多核CPU/GPU能够对重组的多个新视频序列进行并行编码。因此,该方法能够充分利用CPU/GPU的多核处理能力对全景视频进行编码,提升了全景视频的编码速度,实现全景视频的实时编码,有利于促进全景视频的大规模产业化应用和普及。

附图说明

为了清楚地理解本发明和现有技术的技术方案,下面将描述本发明具体实施方式时用到的附图做一简要说明。显而易见地,这些附图仅是本发明的部分实施例,本领域技术人员在未付出创造性劳动的前提下,获得的其它附图均在本发明的保护范围之列。

图1是现有技术中采用WPP方法对全景视频进行编码的示意图

图2是本发明实施例一提供的全景视频并行编码方法流程示意图;

图3是相关技术中立方体映射方式示意图;

图4是相关技术中四棱锥映射方式示意图;

图5是相关技术中自适应矩形分割方式示意图;

图6是相关技术中TB Cylinder映射方式示意图;

图7是相关技术中Circle-Tiles Segmentation映射方式示意图;

图8是本发明实施例二提供的全景视频并行编码方法流程示意图;

图9是本发明实施例三提供的全景视频并行编码方法流程示意图;

图10是本发明实施例四提供的全景视频并行编码方法流程示意图;

图11是本发明实施例五提供的全景视频并行编码装置结构示意图。

具体实施方式

为使本发明解决的技术问题、技术方案和技术效果更加清楚、完整,下面结合附图对本发明的具体实施方式进行详细描述。

首先参见实施例一。

实施例一

图2是本发明实施例一提供的全景视频并行编码方法流程示意图。如图2所示,该方法包括以下步骤:

S201、获取球面全景视频。

S202、判断映射方式是否为预设映射方式,如果是,执行步骤S203:

需要说明的是,在本发明实施例中,预设映射方式包括但不限于以下几种映射方式:立方体映射(Cubic Projection)方式、四棱锥映射方式、经纬图映射方式。作为示例,预设映射方式还可以包括:自适应矩形分割(Adaptive Tile Segmentation)方式、TB Cylinder的映射方式以及Circle-Tiles Segmentation映射方式。

如图3所示,立方体映射方式是将球体映射为立方体展开成6个正方向的映射方法。

如图4所示,四棱锥映射方式将球体映射为外接四棱准,展开成一个正方形和4个三角形,并最终整合成一个大正方形的映射方案。

经纬图映射方式为将球体映射为长方形视图的映射方法。

如图5所示,自适应矩形分割方式将全景视频先用equirectangular(经纬图映射)表示,再将其沿竖直方向分割成长方形,并根据纬度线长度来调整这些长方形的大小,使得在保证最低采样率与投影前一致的情况下,这些长方形的总面积最小。

如图6所示,TB cylinder映射方式将球面的南极北极投影成两个圆形,其余部分按equirectangular(经纬图映射)展开。

如图7所示,Circle-Tiles Segmentation映射方式为:将球面沿纬线分割为几部分并分别投影的最佳分割方案。在将球面沿纬线分割为几部分后,南北极区域的弧面被投影成圆形,其余部分的环形图案按equirectangular(经纬图映射)的方式展开为长方形。

S203、按照预设映射方式将球面全景视频映射为平面全景视频,并将所述平面全景视频分割为多个平面视图:

在本发明实施例中,分割后的每个平面视图的形状为矩形。

需要说明的是,球面全景视频中的图像映射成的平面全景视频中包括多少个平面视图取决于映射方式。本步骤以映射方式为立方体映射方式为例说明。本步骤具体为:按照立方体映射方式将球面全景视频中的每一图像分别映射为由前、后、左、右、上、下6个位置的正方形平面视图组成的平面全景视频。

S204、将所述平面全景视频重组为多个视频序列:

本步骤具体为:将映射到同一位置的平面视图按照时间顺序排列组成一个视频序列,如此,每一个视频序列中的平面视图为映射到同一位置、并按照时间顺序组成的平面视图。

本步骤以预设映射方式为立方体映射方式为例说明。属于一个视频序列中的平面视图可以为映射到前位置的正方形平面视图。

需要说明的是,相较于球面全景视频,重组后的新视频序列的分辨率较低。

本步骤仍以立方体映射方式为例说明。将映射到前、后、左、右、上、下6个位置的平面视图分别按照时间顺序组成6个新视频序列。这6个新视频序列的分辨率较球面全景视频的分辨率较低。按照如此新视频序列组成方式,能够将球面全景视频重组为6个相互独立的新视频序列。

S205、对各个所述视频序列进行并行编码。

S206、将解码后的视频按照各自在平面全景视频中的位置复原拼接为完整的平面全景视频。

S207、将所述完整的平面全景视频逆映射为球面全景视频。

此外,为了显示球面全景视频,步骤S207之后,还可以包括步骤S208:

S208、将球面全景视图输出到全景视频显示设备。

以上为本发明实施例提供的全景视频并行编码方法的具体实施方式。本发明提供的全景视频并行编码方法按照预设映射方式将平面全景视图重组为多个视频序列,其中,每一个视频序列中的平面视图为映射到同一位置、并按照时间顺序组成的平面视图。如此,本发明将映射到同一位置的平面视图按照时间顺序组成一个新视频序列,如此就将球面全景视频重组为多个相互独立的新视频序列,本发明提供的方法能够对该多个相互独立的新视频序列并行编码和解码,如此,多核CPU/GPU能够对重组的多个新视频序列进行并行编码。因此,该方法能够充分利用CPU/GPU的多核处理能力对全景视频进行编码,提升了全景视频的编码速度,实现全景视频的实时编码,有利于促进全景视频的大规模产业化应用和普及。

需要说明的是,本领域相关的编码技术一般只能对形状为矩形的图像进行编码,所以,为了能够对映射生成的每个平面视图均能够进行编码,本发明实施例还提供了实施例二。

实施例二

图8是本发明实施例二提供的全景视频并行编码方法流程示意图。如图8所示,该方法包括以下步骤:

S801、获取球面全景视频。

S802、判断映射方式是否为预设映射方式,如果是,执行步骤S803:

S803、按照预设映射方式将球面全景视频映射为平面全景视频,并将所述平面全景视频分割为多个平面视图:

S804、判断平面视图的形状是否均为矩形,如果否,执行步骤S805,如果是,执行步骤S806,如果是,执行步骤S806:

S805、将形状为非矩形的平面视图形状处理为矩形:

作为示例,将形状为非矩形的平面视图形状处理成矩形,可以采用以下方式:作非矩形平面视图的外接矩形。将内嵌有形状为非矩形平面视图的外接矩形作为处理后的平面视图。

S806、将所述平面全景视频重组为多个视频序列:

本步骤所述的平面视图包括映射生成的形状为矩形的平面视图以及经过步骤S805处理生成的形状为矩形的平面视图。

S807、对各个所述视频序列进行并行编码。

S808、将解码后的视频按照各自在平面全景视频中的位置复原拼接为完整的平面全景视频。

S809、将所述完整的平面全景视频逆映射为球面全景视频。

此外,为了显示球面全景视频,步骤S809之后,还可以包括步骤S810:

S810、将球面全景视图输出到全景视频显示设备。

以上为本发明实施例二提供的全景视频并行编码方法的具体实施方式。在该具体实施方式中,在对新视频序列进行编码之前,将形状为非矩形的平面视图预先处理成矩形。如此,采用本领域相关的编码技术能够对映射生成的所有平面视图均能够进行编码。

为了更加清楚地理解本发明的具体实施方式,下面以映射方式为四棱锥映射方式为例更加具体地描述本发明的具体实施方式。具体参见实施例三。

实施例三

图9是本发明实施例三提供的全景视频并行编码方法的流程示意图。如图9所示,该方法包括以下步骤:

S901、获取球面全景视频:

S902、判断映射方式是否为四棱准映射方式,如果是,执行步骤S903:

S903、按照四棱锥映射方式将球面全景视频映射为平面全景视图,并将平面全景视频分割为一个正方形视图和4个三角形视图:

需要说明的是,如图4所示,映射成的一个正方形视图S和4个三角形视图T1至T4整合成一个大正方形。

S904、将形状为三角形的四个平面视图拼接为两个正方形平面视图:

在本发明实施例中,4个三角形视图T1至T4中,任意两个三角形视图均可拼接为一个正方形平面视图,如此,4个三角形平面视图拼接为两个正方形平面视图。作为示例,T1和T2拼接为一个正方形平面视图,T3和T4拼接为一个正方形视图。

S905、将映射生成的所有正方形视图S按照时间顺序组成一新视频序列s1,将由所有三角形视图T1和T2处理成的一正方形视图按照时间顺序组成另一新视频序列s2,将由所有三角形视图T3和T4处理成的另一正方形视图按照时间顺序组成又一新视频序列s3。

S906、对新视频序列s1、s2和s3并行编码。

S907、将解码后的新视频序列s1、s2和s3按照各自在平面全景视频中的位置复原拼接为完整的平面全景视频。

S908、将所述完整的平面全景视频逆映射为球面全景视频。

以上为本发明实施例三提供的全景视频并行编码方法的具体实施方式,在该具体实施方式中,通过将形状为三角形的四个平面视图拼接为两个正方形平面视图的方式将非矩形平面视图处理成矩形平面视图。此外,作为本发明实施例的变型,还可以采用分割的方式将非矩形平面视图处理成矩形平面视图,具体参见实施例四。

实施例四

图10是本发明实施例四提供的全景视频编码方法流程示意图。如图10所示,该方法包括以下步骤:

S1001、获取球面全景视频:

S1002、判断映射方式是否为四棱准映射方式,如果是,执行步骤S1003:

S1003、按照四棱锥映射方式将球面全景视频映射为平面全景视图,并将平面全景视频分割为一个正方形视图和4个三角形视图:

需要说明的是,如图4所示,映射成的一个正方形视图S和4个三角形视图T1至T4整合成一个大正方形。

S1004、将拼接后的正方形视图均分为4个正方形视图ss1至ss4:

需要说明的是,实际上,作为本发明实施例的扩展,将拼接后的正方形视图分割为多个矩形视图,就能采用本领域相关的编码技术能够对映射生成的所有平面视图均能够进行编码。

S1005、将映射生成的所有正方形视图ss1按照时间顺序组成一新视频序列VS1,将映射生成的所有正方形视图ss2按照时间顺序组成一新视频序列VS2、将映射生成的所有正方形视图ss3按照时间顺序组成一新视频序列VS3、将映射生成的所有正方形视图ss4按照时间顺序组成一新视频序列VS4。

S1006、对新视频序列VS1、VS2、VS3和VS4并行编码。

S1007、将解码后的新视频序列VS1、VS2、VS3和VS4按照各自在平面全景视频中的位置复原拼接为完整的平面全景视频。

S1008、将所述完整的平面全景视频逆映射为球面全景视频。

以上为本发明实施例四提供的全景视频并行编码方法的具体实施方式。

基于上述实施例提供的全景视频并行编码方法,本发明还提供了全景视频并行编码装置,具体参见实施例五。

实施例五

图11是本发明实施例五提供的全景视频并行编码装置结构示意图。如图11所示,该装置包括以下单元:

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

映射单元112,用于按照预设映射方式将所述球面全景视频映射为平面全景视频,并将所述平面全景视频分割为多个平面视图;

重组单元113,用于将所述平面全景视频重组为多个视频序列;其中,每一个视频序列中的平面视图为映射到同一位置、并按照时间顺序组成的平面视图;

编码单元114,用于对各个所述视频序列进行并行编码;

复原拼接单元115,用于将解码后的视频按照各自在平面全景视频中的位置复原拼接为完整的平面全景视频;

逆映射单元116,用于将所述完整的平面全景视频逆映射为球面全景视频。

以上为本发明实施例五提供的全景视频并行编码装置的基本结构。该编码装置将映射到同一位置的平面视图按照时间顺序组成一个新视频序列,如此就将球面全景视频重组为多个相互独立的新视频序列,因此该装置能够对该多个相互独立的新视频序列并行编码和解码,如此,多核CPU/GPU能够对重组的多个新视频序列进行并行编码。因此,该装置能够充分利用CPU/GPU的多核处理能力对全景视频进行编码,提升了全景视频的编码速度,实现全景视频的实时编码,有利于促进全景视频的大规模产业化应用和普及。

作为本发明的一具体实施例,所述装置还可以包括:

确定单元117,用于在将球面全景视频映射为平面全景视频之前,确定映射方式为预设映射方式。

作为本发明的另一具体实施例,所述装置还可以包括:

判断单元118,用于在映射为平面全景视频后,重组为多个视频序列前,判断平面视图的形状是否均为矩形;

处理单元119,用于当所述判断单元的判断结果为否时,将形状为非矩形的平面视图形状处理为矩形。

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

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