一种全景视频转码方法、装置和设备制造方法及图纸

技术编号:18460954 阅读:41 留言:0更新日期:2018-07-18 13:35
本发明专利技术提供了一种全景视频转码方法、装置和设备,其中方法包括:对全景视频进行解码处理;将解码得到的视频数据映射至N个视角,得到N路视频数据,所述N为预设的正整数;分别对N路视频数据进行编码,得到N路视频流;对N路视频流分别进行切片和打包处理;其中所述解码、映射和编码中的部分或全部处理由图形处理器GPU执行。本发明专利技术将全景视频转码中,解码、映射和编码中的部分或全部处理由GPU执行,这种利用GPU资源对全景视频转码进行加速的方式,相比较现有技术中采用纯CPU架构对全景视频进行转码的方式,提高了实时性,从而满足VR视频直播的需求。

A panoramic video transcoding method, device and equipment

The present invention provides a panoramic video transcoding method, device and device. The method includes: decoding and processing panoramic video, mapping the decoded video data to the N visual angle, obtaining N video data, the N is a preset positive integer, encoding the N road video data, and obtaining the N channel video stream; The N video stream is sliced and packaged separately, and some or all of the decoding, mapping and coding are executed by the graphics processor GPU. In the video transcoding of panoramic video, some or all of the decoding, mapping and coding are handled by GPU. This method uses GPU resources to speed up the video transcoding. Compared with the existing technology, the pure CPU architecture is used to transcode the panoramic video, which improves the real-time performance and satisfies the live video of the VR. Demand.

【技术实现步骤摘要】
一种全景视频转码方法、装置和设备
本专利技术涉及计算机应用
,特别涉及一种全景视频转码方法、装置和设备。
技术介绍
随着用户对VR(virtualReality,虚拟现实)全景视频的清晰度和流畅性的要求越来越高,如何在保证全景视频分辨率的同时降低码率成为了在VR
中亟待解决的一个问题。用户在观看全景视频的时候,在用户的视角往往只能够看到球型全景视频中的一小部分的内容。由于通常的全景视频在转码时,所有视角都保持了相同的分辨率和清晰度,这就导致了即便是用户无法看到的视角也保持了高分辨率,这就造成了转码时码率的浪费。针对这种情况,现有技术中提出了一种将全景视频映射到多路不同的视角上,使得每一路映射的视频在特定视角上具有高清晰度,在越远离这个视角的部分渐渐降低清晰度。这样,每一路映射的视频的分辨率相比较原始的全景视频得到大大降低,从而使得转码的码率也得到降低。现有技术中的上述方法可以如图1中所示,首先对原始全景视频进行解码;然后将解码后的全景视频分别映射到N个视角上,得到N路全景视频,N为正整数;在将N路全景视频分别进行编码,再将编码后得到的视频流进行切片和打包后进行输出。然而,上述处理过程中对多路全景视频分别进行映射和编码,需要消耗巨大的计算资源,对目前部署在CPU上的转码系统带来了巨大压力,很难做到实时的处理。因此仅能够用于VR视频点播,无法满足VR视频直播的需求。
技术实现思路
有鉴于此,本专利技术提供了一种全景视频转码方法、装置和设备,从而能够满足VR视频直播的需求。具体技术方案如下:本专利技术提供了一种全景视频转码方法,该方法包括:对全景视频进行解码处理;将解码得到的视频数据映射至N个视角,得到N路视频数据,所述N为预设的正整数;分别对N路视频数据进行编码,得到N路视频流;对N路视频流分别进行切片和打包处理;其中所述解码、映射和编码中的部分或全部处理由图形处理器GPU执行。本专利技术还提供了一种全景视频转码装置,该装置包括:解码模块,用于对全景视频进行解码处理;映射模块,用于将解码得到的视频数据映射至N个视角,得到N路视频数据,所述N为预设的正整数;编码模块,用于分别对N路视频数据进行编码,得到N路视频流;切片打包模块,用于对N路视频流分别进行切片和打包处理;其中所述解码模块、映射模块、编码模块中的部分或全部由GPU实现。本专利技术还提供了一种设备,包括:图形处理器GPU和中央处理器CPU;存储器;一个或者多个程序,所述一个或者多个程序存储在所述存储器中,被所述GPU或CPU执行以实现如下操作:对全景视频进行解码处理;将解码得到的视频数据映射至N个视角,得到N路视频数据,所述N为预设的正整数;分别对N路视频数据进行编码,得到N路视频流;对N路视频流分别进行切片和打包处理;其中,所述解码、映射编码中的部分或全部处理由GPU执行。由以上技术方案可以看出,本专利技术将全景视频转码中,解码、映射和编码中的部分或全部处理由GPU执行,这种利用GPU资源对全景视频转码进行加速的方式,相比较现有技术中采用纯CPU架构对全景视频进行转码的方式,提高了实时性,从而满足VR视频直播的需求。【附图说明】图1为现有技术中全景视频转码的过程示意图;图2为本专利技术实施例提供的第一种视频转码的示意图;图3为本专利技术实施例提供的第二种视频转码的示意图;图4为本专利技术实施例提供的第三种视频转码的示意图;图5为本专利技术实施例提供的装置结构图;图6为本专利技术实施例提供的设备结构图。【具体实施方式】为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。在本专利技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。本专利技术的核心思想在于,将现有技术中基于纯CPU的架构实现转变成基于CPU和GPU联合的架构实现。全景视频的转码指的是将视频码流转换成另一个视频码流的处理,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。在全景视频转码的过程中主要包括以下几个处理过程:解码处理,即对全景视频进行解码处理,将全景视频解码成一帧一帧的图像。该全景视频可以从全景视频的视频源获取,也可以是本地存储的全景视频数据。映射处理,即将解码得到的视频数据映射至N个视角,得到N路视频数据。其中这N个视角是预先设定的,N为预设的正整数,通常为2以上的值。映射的过程主要是将一帧一帧球型的全景视频图像映射至二维的平面图像,在此映射过程中,采用不同视角的模型,使得映射过程中,在特定视角上映射的图像在视角范围内的部分分辨率较高,越远离视角范围的部分分辨率越低。经过N个视角的映射,将一路全景视频转化为N路分别在不同视角上的视频数据。编码处理,即分别对N路视频数据进行编码,得到N路视频流。切片和打包处理,即分别对N路视频流进行切片和打包处理后,进行输出。其中解码、映射和编码处理会带来巨大的计算压力,特别是映射和编码需要执行N路处理,因此在本专利技术实施例中由GPU执行上述解码、映射和编码中的部分或全部处理。若GPU执行上述解码、映射和编码中的部分处理,则剩余处理仍有CPU执行,但其中的切片和打包处理则由CPU执行。对于GPU而言,其具有强大的并行计算能力,串行计算能力较弱,特别适合于本专利技术中涉及的映射和编码的处理,因此,映射和编码的处理可以优先采用GPU执行,但切片和打包处理就非常不适合GPU执行。对于CPU而言,其具有强大的串行计算,并行计算能力较弱,因此切片和打包处理非常CPU执行。当然除了CPU之外,还可以采用其他类型的处理器来代替CPU的工作,例如DSP(数字信号处理器)等。对于解码处理而言,可以由GPU中的解码硬件加速模块来执行。但由于GPU的处理能力有限,如果全景视频的分辨率超出GPU的处理能力,则需要由CPU进行解码。在本专利技术实施例中,可以对全景视频的分辨率是否高于预设的第一阈值进行判断,这里的第一阈值指的是GPU能够解码的全景视频的最高分辨率,由GPU的实际处理能力决定。对于映射处理而言,可以由GPU中的通用计算模块来执行。这里的映射是将解码得到的视频数据通过计算和转换,映射到特定视角上,其会产生很大的计算量。而通常GPU对于图像的计算能力是非常强大的,因此相比较同等价格或者几倍价格的CPU而言,对图像的计算能力更强。因此,映射处理优选由GPU执行。但可能存在这样的情况,需要映射的视角数量很大,将解码得到的视频数据映射到其中M个视角就能够将GPU通用计算模块的资源几乎本文档来自技高网...

【技术保护点】
1.一种全景视频转码方法,其特征在于,该方法包括:对全景视频进行解码处理;将解码得到的视频数据映射至N个视角,得到N路视频数据,所述N为预设的正整数;分别对N路视频数据进行编码,得到N路视频流;对N路视频流分别进行切片和打包处理;其中所述解码、映射和编码中的部分或全部处理由图形处理器GPU执行。

【技术特征摘要】
1.一种全景视频转码方法,其特征在于,该方法包括:对全景视频进行解码处理;将解码得到的视频数据映射至N个视角,得到N路视频数据,所述N为预设的正整数;分别对N路视频数据进行编码,得到N路视频流;对N路视频流分别进行切片和打包处理;其中所述解码、映射和编码中的部分或全部处理由图形处理器GPU执行。2.根据权利要求1所述的方法,其特征在于,该方法还包括:至少依据视频属性或GPU处理能力,确定所述解码、映射和编码中由GPU处理的部分。3.根据权利要求1所述的方法,其特征在于,若所述全景视频的分辨率高于预设的第一阈值,则由中央处理器CPU执行对所述全景视频的解码处理;否则,由GPU执行对所述全景视频的解码处理。4.根据权利要求1所述的方法,其特征在于,所述将解码得到的视频数据映射至N个视角包括:由GPU执行将解码得到的视频数据映射至其中M个视角,M≤N;由CPU执行将解码得到的视频数据映射至剩下的N-M个视角。5.根据权利要求1所述的方法,其特征在于,分别对N路视频数据进行编码包括:由GPU执行对其中P路视频数据进行编码,P≤N;由CPU执行对剩下的N-P路视频数据进行编码。6.根据权利要求1所述的方法,其特征在于,由CPU执行所述对N路视频流分别进行切片和打包处理。7.根据权利要求4所述的方法,其特征在于,所述M为经验值或试验值;或者所述M由CPU根据GPU的处理能力确定。8.根据权利要求5所述的方法,其特征在于,所述P为经验值或试验值;或者所述P由CPU根据GPU的处理能力确定。9.根据权利要求1所述的方法,其特征在于,若GPU执行所述编码处理,则由所述GPU中的编码硬件加速模块执行;若GPU执行所述映射处理,则由所述GPU中的通用计算模块执行;若GPU执行所述解码处理,则由所述GPU中的解码硬件加速模块执行。10.一种全景视频转码装置,其特征在于,该装置包括:解码模块,用于对全景视频进行解码处理;映射模块,用于将解码得到的视频数据映射至N个视角,得到N路...

【专利技术属性】
技术研发人员:盛骁杰吴俞醒
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1