本发明涉及视频处理的技术领域,特别是涉及多视角视频的输出方法和装置。
背景技术:
在视频处理的技术领域,随着各种视频技术的发展,视频处理的要求越来越高。目前,在全景视频处理技术中,将整个全景视频进行解析,并播放解析后的整个全景视频。
然而,观众在观看全景视频时,只能看到视角范围内的视频图像,不能够看到完整的全景视频图像。这样,但观众只看到视角内的视频图像,使得整个全景视频未被充分利用,降低了全景视频的利用率,同时在传输整个全景视频时,全景视频占有较大的存储空间,需要耗费大量的网络传输资源。
技术实现要素:
基于此,有必要针对传输全景视频需要耗费大量的网络传输资源的问题,提供多视角视频的输出方法和装置。
一种多视角视频的输出方法,所述方法包括:
获取全景视频;
将所述全景视频沿播放时间分割成多个第一全景视频段;
对于每个所述第一全景视频段,以多个视角中每个视角分别作为主视角,保持该主视角内的图像区域的图像尺寸不变,降低该主视角之外的图像区域的图像尺寸,生成所述多个视角分别作为主视角时各自对应的第二全景视频段;
获取当前视角和当前播放时间;
查找以当前视角为主视角时与当前播放时间对应的第二全景视频段;
输出查找到的第二全景视频段。
在其中一个实施例中,所述保持该主视角内的图像区域的图像尺寸不变, 降低该主视角之外的图像区域的图像尺寸,包括:
计算多个视角中各视角与主视角之间的视角差;
根据所述视角差计算各视角对应的图像尺寸,所述视角差与所述图像尺寸负相关;
根据计算得到的各视角对应的图像尺寸对相应视角内的图像区域的图像尺寸进行调整。
在其中一个实施例中,所述输出查找到的第二全景视频段,包括:
将查找到的第二全景视频段发送至播放终端,使所述播放终端在所述第二全景视频段中查找与当前播放时间对应的图像并播放。
在其中一个实施例中,所述输出查找到的第二全景视频段,包括:
将查找到的第二全景视频段的视频码流发送至播放终端,所述播放终端对所述视频码流进行解码获得原始图像尺寸,将第二全景视频段中图像的图像尺寸恢复至所述原始图像尺寸并播放。
在其中一个实施例中,所述全景视频包括右眼全景视频和左眼全景视频;所述第一全景视频段包括右眼全景视频段和左眼全景视频段;所述第二全景视频段包括右眼全景视频段和左眼全景视频段;所述输出查找到的第二全景视频段,包括:
将查找到的第二全景视频段输出至虚拟现实设备。
上述多视角视频的输出方法,将全景视频沿播放时间分割成多个第一全景视频段,对于每个第一全景视频段,以多个视角中每个视角分别作为主视角,降低该主视角之外的图像区域的图像尺寸,生成多个视角分别作为主视角时各自对应的第二全景视频段,在保证主视角内图像区域的清晰度的同时,减少了第二全景视频段的所需存储空间。查找当前视角为主视角时与当前播放时间对应的第二全景视频段,输出查找到的第二全景视频段。这样,在保证主视角内图像的清晰度时,无需整体输出全景视频,只需输出查找到的以当前视角作为主视角时与当前播放时间对应的第二全景视频段,第二全景视频段的容量所需存储空间较小,相对于全景视频的传输,在传输过程中第二全景视频段的传输耗费较少的网络传输资源。
一种多视角视频的输出装置,所述装置包括:
视频获取模块,用于获取全景视频;
视频分割模块,用于将所述全景视频沿播放时间分割成多个第一全景视频段;
视频段调整模块,用于对于每个所述第一全景视频段,以多个视角中每个视角分别作为主视角,保持该主视角内的图像区域的图像尺寸不变,降低该主视角之外的图像区域的图像尺寸,生成所述多个视角分别作为主视角时各自对应的第二全景视频段;
视角获取模块,用于获取当前视角和当前播放时间;
视频段查找模块,用于查找以当前视角为主视角时与当前播放时间对应的第二全景视频段;
视频段输出模块,用于输出查找到的第二全景视频段。
在其中一个实施例中,所述视频段调整模块包括:
视角差计算模块,用于计算多个视角中各视角与主视角之间的视角差;
图像尺寸计算模块,用于根据所述视角差计算各视角对应的图像尺寸,所述视角差与所述图像尺寸负相关;
图像尺寸调整模块,用于根据计算得到的各视角对应的图像尺寸对相应视角内的图像区域的图像尺寸进行调整。
在其中一个实施例中,所述视频段输出模块还用于将查找到的第二全景视频段发送至播放终端,使所述播放终端在所述第二全景视频段中查找与当前播放时间对应的图像并播放。
在其中一个实施例中,所述视频段输出模块还用于将查找到的第二全景视频段的视频码流发送至播放终端,所述播放终端对所述视频码流进行解码获得原始图像尺寸,将第二全景视频段中图像的图像尺寸恢复至所述原始图像尺寸并播放。
在其中一个实施例中,所述全景视频包括右眼全景视频和左眼全景视频;所述第一全景视频段包括右眼全景视频段和左眼全景视频段;所述第二全景视 频段包括右眼全景视频段和左眼全景视频段;
所述视频段输出模块还用于将查找到的第二全景视频段输出至虚拟现实设备。
上述多视角视频的输出装置,将全景视频沿播放时间分割成多个第一全景视频段,对于每个第一全景视频段,以多个视角中每个视角分别作为主视角,降低该主视角之外的图像区域的图像尺寸,生成多个视角分别作为主视角时各自对应的第二全景视频段,在保证主视角内图像区域的清晰度的同时,减少了第二全景视频段的所需存储空间。查找当前视角为主视角时与当前播放时间对应的第二全景视频段,输出查找到的第二全景视频段。这样,在保证主视角内图像的清晰度时,无需整体输出全景视频,只需输出查找到的以当前视角作为主视角时与当前播放时间对应的第二全景视频段,第二全景视频段的容量所需存储空间较小,相对于全景视频的传输,在传输过程中第二全景视频段的传输耗费较少的网络传输资源。
附图说明
图1为一个实施例中多视角视频的输出方法的流程示意图;
图2为一个实施例中生成全景视频的示意图;
图3为一个实施例中播放全全景视频的示意图;
图4为一个实施例中观看全景视频的示意图;
图5为一个实施例中分割全景视频的步骤的流程示意图;
图6为一个实施例中根据视角差来调整图像尺寸的步骤的流程示意图;
图7为一个实施例中检测主视角是否改变的步骤的流程示意图;
图8为一个实施例中分割全景视频的视角范围的示意图;
图9为一个实施例中多视角视频的输出装置的结构框图;
图10为一个实施例中视频段调整模块的结构框图;
图11为一个实施例中多视角视频的输出装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供一种多视角视频的输出方法,该方法应用在视频处理终端上举例说明,视频处理终端上运行有实施多视角视频的输出方法的程序。其中,视频处理终端具体可以是服务器、个人电脑和移动终端中的至少一种,该方法具体包括以下步骤:
步骤102,获取全景视频。
具体地,请参照图2,全景视频中包括左眼全景视频和右眼全景视频,左眼全景视频和右眼全景视频通过播放时间相对应,其中左眼全景视频的视频帧和右眼全景视频的视频帧按照预设顺序进行排列生成全景视频,将全景视频上传到视频处理终端202的存储空间。视频处理终端202从存储空间中提取全景视频。
在一个实施例中,请参照图3,视频处理终端202将全景视频分发到播放终端204上,播放终端204对全景视频进行解码得到左眼全景视频和右眼全景视频,播放终端将左眼全景视频和右眼全景视频分别投射到观看者的左眼和右眼。请参照图4,播放终端204在播放全景视频时,播放终端将全景视频进行解析,观看者只能看到其视角范围内的图像,图中斜杠部分为观看者的视角范围内可以看到的图像区域。
步骤104,将全景视频沿播放时间分割成多个第一全景视频段。
具体地,播放时间可以是全景视频的播放时间轴上的播放时间点。请参照图5,视频处理终端在获取到全景视频502后,获取预设播放时间长度,根据预设播放时间长度和全景视频的播放时间的播放总长度将全景视频分割为多个第一全景视频段504。例如,预设播放时间长度为10秒,全景视频的播放时间的总长度为65秒,全景视频的播放时间的长度每达到10秒时,分割出一个第一全景视频段,直至将全景视频分割完,最终可以分割成7个第一全景视频段,前6个第一全景视频段的播放时间长度为10秒,最后一个第一全景视频段的播放时间长度为5秒。
在一个实施例中,获取全景视频的播放时间的总长度,获取预设的第一全景视频段的个数,根据播放时间的总长度和预设的第一全景视频段的个数,播放时间的总长度除以预设的第一全景视频段的个数得到第一全景视频段的播放时间的长度,根据第一全景视频段的播放时间的长度,将全景视频分割成多个播放时间的长度相等的第一全景视频段。
在一个实施例中,根据全景视频的内容确定分割的播放时间点,在确定分割的播放时间点后,按照分割的播放时间点将全景视频分割成多个第一全景视频段,多个第一全景视频段的播放时间的长度可以相等也可以不等。
步骤106,对于每个所述第一全景视频段,以多个视角中每个视角分别作为主视角,保持该主视角内的图像区域的图像尺寸不变,降低该主视角之外的图像区域的图像尺寸,生成所述多个视角分别作为主视角时各自对应的第二全景视频段。
具体地,图像尺寸为以像素为单位表示的图像的宽度和高度,具体可以以w×h的形式标识,表示图像的宽度有w个像素点,图像的高度有h个像素点。对于每个第一全景视频段,第一全景视频段中每个视角都会存在对应的图像区域,以不同的视角作为主视角,主视角对应的图像区域也不同。视频处理中终端以多个视角中每个视角分别作为主视角,对第一全景视频段中主视角内的图像区域和主视角之外的图像区域的图像尺寸进行调整,在保证主视角内的图像区域的图像尺寸不变,降低主视角之外的图像区域的图像尺寸,将调整图像尺寸后的第一全景视频段存储为作为主视角的视角对应的第二全景视频段,最终生成多个视角分别作为主视角时各自对应的多个第二全景视频。
在一个实施例中,获取主视角对应的预设图像尺寸和主视角之外视角对应的预设图像尺寸,将主视角内的图像区域的图像尺寸调整至主视角对应的预设图像尺寸,将主视角之外的图像区域的图像尺寸调整至主视角之外视角对应的预设图像尺寸。
在一个实施例中,保持主视角内的图像区域的图像尺寸不变,分别调整主视角之外各视角对应的图像区域的图像尺寸,使偏离主视角的角度越大的视角对应的图像区域的图像尺寸越小。
步骤108,获取当前视角和当前播放时间。
具体地,视频处理终端具有播放全景视频的功能,视频处理终端获取当前视角和当前播放时间。
在一个实施例中,视频处理终端向用于播放全景视频的播放终端发送获取当前视角和当前播放时间的请求,播放终端将当前视角和当前播放时间返回给视频处理终端。
步骤110,查找以当前视角为主视角时与当前播放时间对应的第二全景视频段。
具体地,视频处理终端在获取到当前视角和当前播放时间后,查找以当前视角为主视角对应的多个第二全景视频段,在多个第二全景视频段确定与当前播放时间对应的第二全景视频。
步骤112,输出查找到的第二全景视频段。
在一个实施例中,步骤112具体还包括:将查找到的第二全景视频段发送至播放终端,使播放终端在第二全景视频段中查找与当前播放时间对应的图像并播放。
在一个实施例中,视频处理终端可以在第二全景视频查找与当前播放时间对应的图像并播放;视频处理终端还可以在第二全景视频中查找与当前播放时间对应的图像或当前播放时间之后的图像,并将查找到的图像按照播放时间发送至播放终端进行播放。
在一个实施例中,步骤112具体还包括:将查找到的第二全景视频段发送至播放终端,使播放终端将第二全景视频段中的图像的图像尺寸恢复至原始图像尺寸并播放。
具体地,视频处理终端在查找到第二全景视频段后,以第二全景视频段中各视角对应的原始图像尺寸和当前图像尺寸作为码流头部信息对第二全景视频段进行编码生成视频码流,将视频码流发送至播放终端。播放终端对接收到的视频码流进行解析得到码流头部信息和第二全景视频段,从码流头部信息中提取各视角对应的原始图像尺寸和当前图像尺寸,根据各视角对应的原始图像尺寸和当前图像尺寸将第二全景视频段中各视角对应的图像区域的图像尺寸恢复 至原始图像尺寸。具体可以通过上采样恢复图像区域的原始图像尺寸,上采样具体可以使用插值法插入像素点恢复图像区域的原始图像尺寸,具体可以计算两个相邻的像素点的平均像素值,将像素值为平均像素值的像素点插入两个相邻的像素点之间;还可以计算多个像素点的平均像素值,在多个像素点中插入像素值为平均像素值的像素点。
本实施例中,将全景视频沿播放时间分割成多个第一全景视频段,对于每个第一全景视频段,以多个视角中每个视角分别作为主视角,将该主视角之外的图像区域的图像尺寸调整为低于该主视角内的图像区域的图像尺寸,生成多个视角分别作为主视角时各自对应的第二全景视频段,在保证主视角内图像区域的清晰度的同时,减少了第二全景视频段的所需存储空间。查找当前视角为主视角时与当前播放时间对应的第二全景视频段,输出查找到的第二全景视频段。这样,在保证主视角内图像的清晰度时,无需整体输出全景视频,只需输出查找到的以当前视角作为主视角时与当前播放时间对应的第二全景视频段,第二全景视频段的容量所需存储空间较小,相对于全景视频的传输,在传输过程中第二全景视频段的传输耗费较少的网络传输资源。
如图6所示,在一个实施例中,步骤106包括根据视角差来调整图像尺寸的步骤,该步骤具体包括以下内容:
步骤602,计算多个视角中各视角与主视角之间的视角差。
具体地,视频处理终端将全景视频的视角范围分成多个视角,具体可以根据预设角度将全景视频的视角范围分成多个角度相等的视角;也可以根据全景视频的内容,将全景视频的视角范围分成多个角度不等的视角,每个视角对应完整的图像。其中,具体可以将全景视频的视角范围分成30至40个视角。以其中一个视角的起始位置作为标准,经该视角的起始位置设置为0度,每个视角都对应一个角度范围,角度范围包括角度上限和角度下限,选取角度范围中的角度上限或角度下限来计算各视角与主视角之间的视角差。具体可以将各视角的角度上限与作为主视角的角度上相减,得到各视角与主视角的视角差。
在一个实施例中,视频处理终端其中一个视角的起始位置作为各视角的起始位置,根据各视角的中心线与起始位置得到各视角的角度,以各视角的角度 与作为主视角的角度相减得到各视角与主视角的视角差。
步骤604,根据视角差计算各视角对应的图像尺寸,视角差与图像尺寸负相关。
具体地,视频处理终端建立视角差与图像尺寸的负相关关系,即视角差越大,图像尺寸越小。将各视角与主视角之间的视角差代入视角差与图像尺寸的负相关关系中计算得到各视角对应的图像尺寸。
步骤606,根据计算得到的各视角对应的图像尺寸对相应视角内的图像区域的图像尺寸进行调整。
具体地,视频处理终端将各视角内的图像区域通过降采样的图像尺寸调整至各视角对应的图像尺寸。降采样具体还可以通过计算相邻像素点的像素平均值来将各视角内的图像区域的图像尺寸调整至各视角对应的图像尺寸,还可以将图像区域分块,计算每块中像素平均值来调整图像区域的图像尺寸。
本实施例中,根据多个视角中各视角与主视角之间的视角差计算各视角对应的图像尺寸,且视角差与图像尺寸负相关,视角差越大,图像尺寸越低,并将各视角对应的图像区域的图像尺寸调整至计算得到的各视角对应的图像尺寸。这样,偏离主视角的角度越大的视角所对应的图像尺寸越低,在不影响全景视频的观看效果时,通过最大限度的降低图像尺寸来减少第二全景视频段所占存储空间的大小,提高了第二全景视频段的传输速度。
如图7所示,在一个实施例中,步骤112之后还包括检测主视角是否改变的步骤,该步骤的具体内容如下:
步骤702,检测主视角是否改变。
具体地,视频处理终端对主视角进行检测,将当前视角和当前播放的第二全新视频段对应的主视角是否相同,若相同,则检测到主视角没有改变;若不相同,则检测到主视角改变。
步骤704,在检测到主视角改变时,获取当前视角和当前播放时间。
步骤706,查找以当前视角为主视角时与当前播放时间对应的第二全景视频段。
步骤708,输出查找到的第二全景视频段。
具体地,视频处理终端将查找到的第二全景视频段发送至播放终端,播放终端在查找到的第二全景视频中查找当前播放时间对应的图像,将当前播放的图像切换到查找到的图像继续播放。
本实施例中,在检测到视角发生改变时,重新查找第二全景视频段,保证当前视角和第二全景视频段对应,确保当前视角对应图像的清晰度,确保在视角变换时的第二全景视屏的观看效果。
在一个实施例中,请参照图8,将全景视频的视角范围分割成n个视角,其中全景视频的视角范围为360度。将视角0的起始位置设置为0度,每个视角以视角0的起始位置都对应一个角度,角度可以是视角0的起始位置和各视角的中心线的夹角,视角m的角度用d(m)表示,视角n的角度用d(n)表示,若以视角m为主视角,则视角n与视角m的视角差用δ(n-m)表示,δ(n-m)的取值范围为(0,180],当d(n)-d(m)≤180时,δ(n-m)=d(n)-d(m);当d(n)-d(m)>180时,δ(n-m)=360-d(n)+d(m)。
假设全景视频的原始图像尺寸w×h,w表示图像宽度,h表示图像高度,计算视角n对应的图像尺寸,wn表示视角n对应的图像宽度,hn表示视角n对应的图像高度计算公式如下:
wn=w/aδ(n-m)
hn=h/aδ(n-m)
根据以上公式计算得到视角n对应的图像尺寸为wn×hn,其中a大于1,a具体可以是自然常数。
在一个实施例中,全景视频包括右眼全景视频和左眼全景视频;第一全景视频段包括右眼全景视频段和左眼全景视频段;第二全景视频段包括右眼全景视频段和左眼全景视频段;步骤112还包括:将查找到的第二全景视频段输出至虚拟现实设备。
具体地,全景视频是将右眼全景视频的视频帧和左眼全景视频的视频帧按照一定的顺序排列生成的,第一全景视频段是将全景视频沿播放时间分割得到的,第一全景视频段中包括右眼全景视频段和左眼全景视频段,第二全景视频段对第一全景视频段中的右眼全景视频段和左眼全景视频段的图像尺寸进行调 整后生成的,第二全景视频段中包括调整图像尺寸后的右眼全景视频段和调整图像尺寸后的左眼全景视频段。视频处理服务器将查找到的第二全景视频段输出至虚拟现实设备,虚拟现实设备用于显示第二全景视频段。虚拟现实设备是一种播放终端。
本实施例中,第二全景视频段中包括右眼全景视频段和左眼全景视频段,将第二全景视频段输出至虚拟现实设备,虚拟现实设备可以提取右眼全景视频段和左眼全景视频段,将右眼全景视频段投射到观看者右眼,将左眼全景视频段投射到观看者左眼,使观看者可以观看到虚拟现实的全景视频。
如图9所述,在一个实施例中,提供一种多视角视频的输出装置900,该装置具体包括:视频获取模块902、视频分割模块904、视频段调整模块906、视角获取模块908、视频段查找模块910和视频段输出模块912。
视频获取模块902,用于获取全景视频。
视频分割模块904,用于将全景视频沿播放时间分割成多个第一全景视频段。
视频段调整模块906,用于对于每个第一全景视频段,以多个视角中每个视角分别作为主视角,保持该主视角内的图像区域的图像尺寸不变,降低将该主视角之外的图像区域的图像尺寸分辨率调整为低于该主视角内的图像区域的分辨率,生成多个视角分别作为主视角时各自对应的第二全景视频段。
视角获取模块908,用于获取当前视角和当前播放时间。
视频段查找模块910,用于查找以当前视角为主视角时与当前播放时间对应的第二全景视频段。
视频段输出模块912,用于输出查找到的第二全景视频段。
本实施例中,将全景视频沿播放时间分割成多个第一全景视频段,对于每个第一全景视频段,以多个视角中每个视角分别作为主视角,保持该主视角内的图像区域的图像尺寸不变,降低该主视角之外的图像区域的图像尺寸,生成多个视角分别作为主视角时各自对应的第二全景视频段,在保证主视角内图像区域的清晰度的同时,减少了第二全景视频段的所需存储空间。查找当前视角 为主视角时与当前播放时间对应的第二全景视频段,输出查找到的第二全景视频段。这样,在保证主视角内图像的清晰度时,无需整体输出全景视频,只需输出查找到的以当前视角作为主视角时与当前播放时间对应的第二全景视频段,第二全景视频段的容量所需存储空间较小,相对于全景视频的传输,在传输过程中第二全景视频段的传输耗费较少的网络传输资源。
在一个实施例中,视频段调整模块906还用于保持主视角内的图像区域的图像尺寸不变,将该主视角之外的图像区域的图像尺寸调整为低于该主视角内的图像区域的图像尺寸。
如图10所示,在一个实施例中,视频段调整模块906具体包括:视角差计算模块906a、图像尺寸计算模块906b和图像尺寸调整模块906c。
视角差计算模块906a,用于计算多个视角中各视角与主视角之间的视角差。
图像尺寸计算模块906b,用于根据视角差计算各视角对应的图像尺寸,视角差与图像尺寸负相关。
图像尺寸调整模块906c,用于根据计算得到的各视角对应的图像尺寸对相应视角内的图像区域的图像尺寸进行调整。
本实施例中,根据多个视角中各视角与主视角之间的视角差计算各视角对应的图像尺寸,且视角差与图像尺寸负相关,视角差越大,图像尺寸越低,并将各视角对应的图像区域的图像尺寸调整至计算得到的各视角对应的图像尺寸。这样,可以偏离主视角越大的视角所对应的图像尺寸越低,在不影响全景视频的观看效果时,通过最大限度的降低图像尺寸来减少第二全景视频段所占存储空间的大小,提高了第二全景视频段的传输效率。
在一个实施例中,全景视频包括右眼全景视频和左眼全景视频;第一全景视频段包括右眼全景视频段和左眼全景视频段;第二全景视频段包括右眼全景视频段和左眼全景视频段;视频段输出模块912还用于将查找到的第二全景视频段输出至虚拟现实设备。
本实施例中,第二全景视频段中包括右眼全景视频段和左眼全景视频段,将第二全景视频段输出至虚拟现实设备,虚拟现实设备可以提取右眼全景视频段和左眼全景视频段,将右眼全景视频段投射到观看者右眼,将左眼全景视频 段投射到观看者左眼,使观看者可以观看到虚拟现实的全景视频。
在一个实施例中,视频段输出模块912还用于将查找到的第二全景视频段发送至播放终端,使播放终端在第二全景视频段中查找与当前播放时间对应的图像并播放。
在一个实施例中,视频段输出模块912还用于将查找到的第二全景视频段的视频码流发送至播放终端,播放终端对视频码流进行解码获得原始图像尺寸,将第二全景视频段中图像的图像尺寸恢复至所述原始图像尺寸并播放。
如图11所示,在一个实施例中,多视角视频的输出装置900具体还包括:视角检测模块914。
视角检测模块914,用于检测视角是否改变。
视角获取模块908还用于在检测到视角改变时,获取当前视角和当前播放时间。
本实施例中,在检测到视角发生改变时,重新查找第二全景视频段,保证当前视角和第二全景视频段的对应,确保当前视角对应的图像的清晰度,确保在视角变换时的第二全景视屏的观看效果。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。