一种多视点视频传输方法及装置与流程

文档序号:11064941阅读:1218来源:国知局
一种多视点视频传输方法及装置与制造工艺

本发明涉及图像处理技术领域,尤其涉及一种多视点视频传输方法及装置。



背景技术:

多视点视频是由不同视点的多个摄像机从不同视角拍摄同一场景得到的一组视频信号,并提供给用户。根据头戴式设备的姿态、位置等信息动态地为用户呈现不同视点的视频信号,从而为用户提供多视角、三维立体视觉等体验。

多视点视频依据视点位置分布情况可以分为一维多视点视频和二维多视点视频。一维多视点视频是单一维度(例如水平或垂直方向)的一系列的不同视角的视频序列;二维多视点视频是在水平方向和垂直方向两个维度的一系列的不同视角的视频序列。

依据用户视点切换和终端显示策略,可以分为两种场景:视点切换独立显示策略和视点切换融合显示策略。在视点切换独立显示策略中,呈现给用户的是离散视点视频,即当用户视点发生变化时,呈现给用户的仅仅是多视点视频序列中的某一个视点视频。而在视点切换融合显示策略中,呈现给用户的是连续视点视频,即当用户视点发生变化时,呈现给用户的可以是多视点视频序列中的某一个视点视频,也可以是相邻视点视频作融合处理后生成的新视点视频。

在进行多视点视频传输时,采用HTTP(英文:Hyper Text Transfer Protocol,中文:超文本传输协议)动态流媒体(英文:Dynamic Adaptive Stream over HTTP,简称:DASH)的自由视点视频传输方法,该方式是:在客户端依据用户的姿态或眼球的位置确定当前用户的视角,然后选择与用户视角最接近的两 个视点视频通过HTTP请求进行下载,最后将下载的两个视点视频进行融合处理生成新的自由视点视频,并呈现给用户。但是当用户视角发生变化时,需要从服务器端重新下载切换后的视角对应的视点视频,然后在进行融合处理呈现用户,这样重新下载的方法会给产生很大的切换延迟,影响用户体验。

为了减低上述的切换延迟,提出了基于DASH的3D多视点视频传输方法,该方法是:在客户端下载所有的视点视频,然后依据用户当前的视角位置,提取距离当前用户的视角最近的视点视频进行融合并显示给用户。由于所有视点视频都传输,可以避免视角切换时带来的时间上的延迟,但是呈现给用户的仅仅是用户当前视角对应的视频,传输所有视点视频会造成带宽浪费。



技术实现要素:

本发明提供一种多视点视频传输方法及装置,用以解决现有技术中存在的在避免视角切换时间上的延迟而造成的带宽浪费的问题。

第一方面,本发明实施例提供了一种多视点视频传输方法,包括:

获得用户当前关注视点视频在多视点视频中的位置;

获得用户视点切换的第一速度,所述第一速度为用户视点切换到所述当前关注视点视频的位置时的速度;

根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV;

根据所述用户当前关注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置,其中,所述预测视点视频为成为下一个关注视点的概率满足预设概率值的视点视频;

将所述预测视点视频的位置对应的每个预测视点视频从服务器端下载传输。

结合第一方面,在第一方面的第一种可能的实现方式中,所述获得用户视 点切换的第一速度,包括:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度时,计算所述多个时刻的瞬时速度的平均值,并将所述平均值作为所述第一速度。

结合第一方面,在第一方面的第二种可能的实现方式中,所述获得用户视点切换的第一速度,包括:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在一个时刻的瞬时速度以及所述一个时刻的瞬时速度对应的加速度时,基于所述一个时刻的瞬时速度及所述一个时刻的瞬时速度对应的加速度按照第一规则确定所述第一速度;或者,

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度时,计算所述多个时刻的瞬时速度的平均值,以及所述多个时刻的瞬时速度对应的多个加速度的平均值,基于所述多个时刻的瞬时速度的平均值及所述多个加速度的平均值按照第二规则确定所述第一速度;或者,

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度时,计算所述多个时刻的瞬时速度的平均值,在多个时刻的瞬时速度对应的加速度中选择一个瞬时速度对应的加速度,并基于所述多个时刻的瞬时速度的平均值以及选择的一个瞬时速度对应的加速度按照第三规则确定所述第一速度。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一规则包括:

其中,V表示第一速度;v(t)表示采集到用户在一个时刻t的瞬时速度;T表示每个视点视频的时间长度;a(t)表示时刻t的瞬时速度对应的加速度;或者,

所述第二规则包括:

其中,n表示多个时刻的瞬时速度的数量;V表示第一速度;v(t)表示采集到用户在时刻t的瞬时速度;T表示每个视点视频的时间长度;a(t)表示时刻t的瞬时速度对应的加速度;或者,

所述第三规则包括:

其中,n表示多个时刻的瞬时速度的数量;V表示第一速度;v(t)表示采集到用户在时刻t的瞬时速度;T表示每个视点视频的时间长度;a(t)表示时刻t的瞬时速度对应的加速度。

结合第一方面和第一方面的第一种至第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,针对一维视点视频,所述预设算法包括:

其中,NNV表示预测视点视频数量;V表示第一速度;N表示视点视频总数量;D表示N个视点视频所覆盖的角度;T表示每个视点视频的时间长度。

结合第一方面和第一方面的第一种至第四种可能的实现方式中的任意一种,在第一方面的第五种可能的实现方式中,针对一维视点视频,所述根据所述用户当前关注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置,包括:

当所述第一速度小于预定速度阈值、且所述预测视点视频数量NNV为偶数时,在与所述当前关注视点视频的位置的相邻两侧各分配个视点视频并作 为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的所有视点视频数量作为分配的视点视频的数量;或者,

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频的位置第一方向侧相邻的所述预测视点视频数量个视点视频、以及与所述当前关注视点视频的第二方向侧相邻的所述预测视点视频数量个视点视频作为预测视点视频,所述第一方向侧与所述第一速度的矢量方向相同,所述第二方向侧与所述第一速度的矢量方向相反;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的所有视点视频数量作为分配的视点视频的数量;或者,

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频的位置所述第一方向侧相邻的个视点视频、以及与所述当前关注视点视频的位置所述第二方向侧相邻的个视点视频作为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的所有视点视频数量作为分配的视点视频的数量;或者,

当所述用户切换速度不小于所述预定速度阈值时,将与所述当前关注视点视频的位置的所述第一方向侧相邻的NNV个视点视频作为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的所有视点视频数量作为分配的视点视频的数量。

结合第一方面和第一方面的第一种至第五种可能的实现方式中的任意一种,在第一方面的第六种可能的实现方式中,所述当前关注视点视频为多视点 视频中的一个视点视频,或者为多视点视频中相邻的两个视点视频融合后的视点视频。

结合第一方面和第一方面的第一种至第三种可能的实现方式中的任意一种,在第一方面的第七种可能的实现方式中,针对二维视点视频,根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV,包括:

将所述第一速度分解为水平方向上的第二速度以及垂直方向上的第三速度;

基于所述第二速度按照预设算法包括的第一算法预测水平方向上的预测视点视频的水平数量值NNVx,以及基于所述第三速度按照所述第一算法预测垂直方向上的预测视点视频的垂直数量值NNVy

基于融合视点视频的数量、预测视点视频的水平数量值NNVx以及预测视点视频的垂直数量值NNVy按照所述预设算法包括的第二算法确定预测视点视频数量;

其中,所述融合视点视频为多视点视频中融合得到所述当前关注视点视频的视点视频。

结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述第一算法,包括:

其中,NNVx表示预测视点视频的水平数量值;Nx表示水平方向上视点视频的总数量;Ny表示垂直方向上视点视频的总数量;Dx表示Nx个视点视频在水平方向上所覆盖的角度;T表示每个视点视频的时间长度;Vx表示第二速度;

其中,NNVy表示预测视点视频的水平数量值;Ny表示垂直方向上视点视 频的总数量;Dy表示Ny个视点视频在垂直方向所覆盖的角度;T表示每个视点视频的时间长度;Vy表示第三速度。

结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述基于融合视点视频的数量、预测视点视频的水平数量值NNVx以及预测视点视频的垂直数量值NNVy按照所述预设算法包括的第二算法确定预测视点视频数量,包括:

若所述融合视点视频的数量为1,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+1)*(NNVy+1)-1;

或者,若所述融合视点视频的数量为2且分布在所述多视点视频中的水平方向上,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+2)*(NNVy+1)-2;

或者,若所述融合视点视频的数量为2且分布在所述多视点视频中的垂直方向上,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+1)*(NNVy+2)-2;

或者,若所述融合视点视频的数量为4且所述多视点视频中的水平方向上和垂直方向上各分布2个视点视频,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+2)*(NNVy+2)-4。

结合第一方面的第七种至第九种可能的实现方式中的任意一种,在第一方面的第十种可能的实现方式中,针对二维视点视频,所述根据所述用户当前关 注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置,包括:

当所述第二速度小于水平方向速度阈值、且所述第三速度小于垂直方向速度阈值时,将第一矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频;所述第一矩形区域为以预测视点视频的水平数量值NNVx与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值NNVy与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述第一矩形区域的几何中心为所述当前关注视点视频;如果所述第一矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述第一矩形区域包括的所有视点视频作为预测视点视频;或者,

当所述第二速度小于水平方向速度阈值、且所述第三速度不小于垂直方向速度阈值时,将第二矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频,所述第二矩形区域为以预测视点视频的水平数量值NNVx与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值NNVy与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述预测视点视频在水平方向上均匀分布在与所述当前关注视点视频相邻的位置两侧,在垂直方向上分布在与所述当前关注视点视频相邻且与所述所述第三速度的矢量方向相同的一侧位置;如果所述第二矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述第二矩形区域包括的所有视点视频作为预测视点视频;或者,

当所述第二速度不小于水平方向速度阈值、且所述第三速度小于垂直方向速度阈值时,将第三矩形区域内的除融合视点视频以外的NNV个视点视频作为预测视点视频,所述第三矩形区域为以预测视点视频的水平数量值NNVx与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值NNVy与垂直方向上的融合视点视频的数量的和第二边长构成的矩形区域;所述预测视点视频在垂直方向上均匀分布在与所述当前关注视点视频相邻的位置 两侧,在水平方向上分布在与所述当前关注视点视频相邻且与所述第二速度的矢量方向相同的一侧位置;如果所述第三矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述第三矩形区域包括的所有视点视频作为预测视点视频;或者,

当第二速度不小于水平方向速度阈值、且第三速度不小于垂直方向速度阈值时,将第四矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频,所述第四矩形区域为以预测视点视频的水平数量值NNVx与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值NNVy与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述预测视点视频在垂直方向上分布在与所述当前关注视点视频相邻且与所述第三速度的矢量方向相同的一侧位置,在水平方向上分布在与所述当前关注视点视频相邻且与所述第二速度的矢量方向相同的一侧位置;如果所述第四矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述第四矩形区域包括的所有视点视频作为预测视点视频。

结合第一方面和第一方面的第一种至第十种可能的实现方式中的任意一种,在第一方面的第十一种可能的实现方式中,每个视点视频包括多个码率版本,且每个码率版本所需求的带宽不同,所述将所述预测视点视频的位置对应的每个预测视点视频从服务器端下载传输,包括:

根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本;

根据所述预测视点视频的位置、所述预测视点视频的码率版本从服务器端下载所述预测视点视频,并根据所述当前关注视点视频的位置、所述当前关注视点视频的码率版本从服务器端下载所述当前关注视点视频。

结合第一方面的第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,在确定所述当前关注视点视频已完成传输,且在确定已完成传输的所述当前关注视点视频的码率版本后,所述根据为视点视频传输分配的总带 宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本,包括:

基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次为传输所述预测视点视频中的各个视点视频的最低码率分配带宽值;

并基于所述总带宽值与所述为传输所述预测视点视频的最低码率分配的带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

结合第一方面的第十一种可能的实现方式,在第一方面的第十三种可能的实现方式中,在确定所述当前关注视点视频未完成传输时,所述根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本,包括:

基于所述总带宽值为未完成传输的所述当前关注视点视频的最低码率版本分配第一带宽值;

基于所述总带宽值与所述第一带宽值的差,以及所述预测视点视频与所述当前关注视点视频的距离依次为传输所述预测视点视频中的各个视点视频的最低码率分配第二带宽值;

并基于所述总带宽值与所述第一带宽值以及第二带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

结合第一方面的第十二种或第十三种可能的实现方式,在第一方面的第十四种可能的实现方式中,还包括:

当为所述当前关注视点的视频的码率版本最高且所述总带宽值未耗尽时,基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次调高所述预测视点视频的各个视点视频的码率版本,直到所述预测视点视频的 各个视点视频的码率版本最高或者所述总带宽值耗尽。

第二方面,本发明实施例提供了一种多视点视频传输装置,包括:

第一获得单元,用于获得用户当前关注视点视频在所述多视点视频中的位置;

第二获得单元,用于获得用户视点切换的第一速度,所述第一速度为用户视点切换到所述当前关注视点视频的位置时的速度;

第一确定单元,用于根据所述第二获得单元获得的所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV;

第二确定单元,用于根据所述第一获得单元获得所述用户当前关注视点视频的位置、所述第二获得单元获得的所述第一速度以及所述第一确定单元确定的所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置,其中,所述预测视点视频为成为下一个关注视点的概率满足预设概率值的视点视频;

下载单元,用于将所述第二确定单元确定的所述预测视点视频的位置对应的每个预测视点视频从服务器端下载传输。

结合第二方面,在第二方面的第一种可能的实现方式中,所述第二获得单元,具体用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户在多个时刻的瞬时速度;并计算采集到的多个时刻的瞬时速度的平均值,并将所述平均值作为所述第一速度。

结合第二方面,在第二方面的第二种可能的实现方式中,所述第二获得单元,具体用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在一个时刻的瞬时速度以及所述一个时刻的瞬时速度对应的加速度;并基于采集到所述一个时刻的瞬时速度及所述一个时刻的瞬时速度对应的加速度按照第一规则确定所述第一速度;或者,

所述第二获得单元,具体用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户在多个时刻的瞬时速度以及每个时刻的瞬 时速度对应的加速度;并计算采集到的多个时刻的瞬时速度的平均值、以及计算采集到的所述多个时刻的瞬时速度对应的多个加速度的平均值,基于所述多个时刻的瞬时速度的平均值及所述多个加速度的平均值按照第二规则确定所述第一速度;或者,

所述第二获得单元,具体用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度,计算所述多个时刻的瞬时速度的平均值;在多个时刻的瞬时速度对应的加速度中选择一个瞬时速度对应的加速度,并基于所述多个时刻的瞬时速度的平均值以及选择的一个瞬时速度对应的加速度按照第三规则确定所述第一速度。

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一规则包括:

其中,V表示第一速度;v(t)表示采集到用户在一个时刻t的瞬时速度;T表示每个视点视频的时间长度;a(t)表示时刻t的瞬时速度对应的加速度;

或者,所述第二规则包括:

其中,n表示多个时刻的瞬时速度的数量;v(t)表示采集到用户在一个时刻t的瞬时速度;T表示每个视点视频的时间长度;a(t)表示时刻t的瞬时速度对应的加速度;

或者,所述第三规则包括:

其中,n表示多个时刻的瞬时速度的数量;v(t)表示采集到用户在时刻t的瞬时速度;T表示每个视点视频的时间长度;a(t)表示时刻t的瞬时速度对应的 加速度。

结合第二方面和第一方面的第一种至第三种可能的实现方式中的任意一种,在第二方面的第四种可能的实现方式中,针对一维视点视频,所述预设算法包括:

其中,NNV表示预测视点视频数量;V表示第一速度;N表示视点视频总数量;D表示N个视点视频所覆盖的角度;T表示每个视点视频的时间长度。

结合第二方面和第二方面的第一种至第四种可能的实现方式中的任意一种,在第二方面的第五种可能的实现方式中,针对一维视点视频,所述第二确定单元,具体用于:

当所述第一速度小于预定速度阈值、且所述预测视点视频数量NNV为偶数时,在与所述当前关注视点视频的位置的相邻两侧各分配个视点视频,并将分配在与所述当前关注视点视频相邻位置两侧的视点视频作为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的视点视频数量作为分配的视点视频的数量;或者,

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频的第一方向侧相邻的所述预测视点视频数量个视点视频、以及与所述当前关注视点视频的第二方向侧相邻的所述预测视点视频数量个视点视频作为预测视点视频,所述第一方向侧与所述第一速度的矢量方向相同,所述第二方向侧与所述第一速度的矢量方向相反;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的视点视频数量作为分配的视点视频的数量;或者,

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频的所述第一方向侧相邻的个视点视频、以及与所述当前关注视点视频的所述第二方向侧相邻的个视点视频作为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的视点视频数量作为分配的视点视频的数量;或者,

当所述用户切换速度不小于所述预定速度阈值时,将与所述当前关注视点视频的所述第一方向侧相邻的NNV个视点视频作为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的视点视频数量作为分配的视点视频的数量。

结合第二方面和第一方面的第一种至第五种可能的实现方式中的任意一种,在第二方面的第六种可能的实现方式中,所述当前关注视点视频为多视点视频中的一个视点视频,或者为多视点视频中相邻的两个视点视频融合后的视点视频。

结合第二方面和第一方面的第一种至第三种可能的实现方式中的任意一种,在第二方面的第七种可能的实现方式中,针对二维视点视频,所述第一确定单元,具体用于:

将所述第一速度分解为水平方向上的第二速度以及垂直方向上的第三速度;

基于所述第二速度按照预设算法包括的第一算法预测水平方向上的预测视点视频的水平数量值NNVx,以及基于所述第三速度按照所述第一算法预测垂直方向上的预测视点视频的垂直数量值;

基于融合视点视频的数量、预测视点视频的水平数量值以及预测视点视频的垂直数量值NNVy按照所述预设算法包括的第二算法确定预测视点视频数量;

其中,所述融合视点视频为多视点视频中融合得到所述当前关注视点视频的视点视频。

结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述第一算法,包括:

其中,NNVx表示预测视点视频的水平数量值;Nx表示水平方向上视点视频的总数量;Ny表示垂直方向上视点视频的总数量;Dx表示Nx个视点视频在水平方向上所覆盖的角度;T表示每个视点视频的时间长度;Vx表示第二速度;

其中,NNVy表示预测视点视频的水平数量值;Ny表示垂直方向上视点视频的总数量;Dy表示Ny个视点视频在垂直方向所覆盖的角度;T表示每个视点视频的时间长度;Vy表示第三速度。

结合第二方面的第八种可能的实现方式,在第二方面的第九种可能的实现方式中,所述第一确定单元,在基于融合视点视频的数量、预测视点视频的水平数量值NNVx以及预测视点视频的垂直数量值NNVy按照所述预设算法包括的第二算法确定预测视点视频数量时,具体用于:

若所述融合视点视频的数量为1,则通过满足如下如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+1)*(NNVy+1)-1;

或者,若所述融合视点视频的数量为2且分布在所述多视点视频中的水平方向上,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+2)*(NNVy+1)-2;

或者,若融合视点视频的数量为2且分布在所述多视点视频中的垂直方向上,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+1)*(NNVy+2)-2;

或者,若融合视点视频的数量为4且所述多视点视频中的水平方向上和垂直方向上各分布2个视点视频,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+2)*(NNVy+2)-4。

结合第二方面的第七种至第九种可能的实现方式中的任意一种,在第二方面的第十种可能的实现方式中,针对二维视点视频,所述第二确定单元,具体用于:

当所述第二速度小于水平方向速度阈值、且所述第三速度小于垂直方向速度阈值时,将第一矩形区域内的除融合视点视频以外的NNV个视点视频作为预测视点视频;所述第一矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述第一矩形区域的几何中心为所述当前关注视点视频;如果所述第一矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述第一矩形区域包括的所有视点视频作为预测视点视频;或者,

当所述第二速度小于水平方向速度阈值、且所述第三速度不小于垂直方向速度阈值时,将第二矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频,所述第二矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述预测视点视频在水平方向上均匀分布在与所述当前关注视点视频相邻的位置两侧,在垂直方向上分布在与所述当前关注视点视频相邻且与所述所述第三速度 的矢量方向相同的一侧位置;如果所述第二矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述第二矩形区域包括的所有视点视频作为预测视点视频;或者,

当所述第二速度不小于水平方向速度阈值、且所述第三速度小于垂直方向速度阈值时,将第三矩形区域内的除融合视点视频以外的NNV个视点视频作为预测视点视频,所述第三矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和第二边长构成的矩形区域;所述预测视点视频在垂直方向上均匀分布在与所述当前关注视点视频相邻的位置两侧,在水平方向上分布在与所述当前关注视点视频相邻且与所述第二速度的矢量方向相同的一侧位置;如果所述第三矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述第三矩形区域包括的所有视点视频作为预测视点视频;或者,

当第二速度不小于水平方向速度阈值、且第三速度不小于垂直方向速度阈值时,将第四矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频,所述第四矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述预测视点视频在垂直方向上分布在与所述当前关注视点视频相邻且与所述第三速度的矢量方向相同的一侧位置,在水平方向上分布在与所述当前关注视点视频相邻且与所述第二速度的矢量方向相同的一侧位置;如果所述第四矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述第四矩形区域包括的所有视点视频作为预测视点视频。

结合第二方面和第二方面的第一种至第十种可能的实现方式中的任意一种,在第二方面的第十一种可能的实现方式中,每个视点视频包括多个码率版本,且每个码率版本所需求的带宽不同,所述下载单元,具体用于:

根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本;

根据所述预测视点视频的位置、所述预测视点视频的码率版本从服务器端下载所述预测视点视频,并根据所述当前关注视点视频的位置、所述当前关注视点视频的码率版本从服务器端下载所述当前关注视点视频。

结合第二方面的第十一种可能的实现方式,在第二方面的第十二种可能的实现方式中,在确定所述当前关注视点视频已完成传输,且在确定已完成传输的所述当前关注视点视频的码率版本后,所述下载单元,具体用于:

基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次为传输所述预测视点视频中的各个视点视频的最低码率分配带宽值;

并基于所述总带宽值与所述为传输所述预测视点视频的最低码率分配的带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

结合第二方面的第十一种可能的实现方式,在第二方面的第十三种可能的实现方式中,在确定所述当前关注视点视频未完成传输时,所述下载单元,具体用于:

基于所述总带宽值为未完成传输的所述当前关注视点视频的最低码率版本分配第一带宽值;

基于所述总带宽值与所述第一带宽值的差,以及所述预测视点视频与所述当前关注视点视频的距离依次为传输所述预测视点视频中的各个视点视频的最低码率分配第二带宽值;

并基于所述总带宽值与所述第一带宽值以及第二带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

结合第二方面的第十二种或第十三种可能的实现方式,在第二方面的第十四种可能的实现方式中,所述下载单元,还用于:

当为所述当前关注视点的视频的码率版本最高且所述总带宽值未耗尽时,基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次调高所述预测视点视频的各个视点视频的码率版本,直到所述预测视点视频的各个视点视频的码率版本最高或者所述总带宽值耗尽。

第三方面,本发明实施例提供了一种多视点视频传输装置,包括:

存储器、通信接口、处理器以及总线;

所述存储器、所述通信接口以及所述处理器分别通过所述总线相互连接;

所述存储器,用于存储程序代码;

所述处理器,用于执行所述存储器存储的程序代码,具体用于执行:

获得用户当前关注视点视频在多视点视频中的位置;

获得用户视点切换的第一速度,所述第一速度为用户视点切换到所述当前关注视点视频的位置时的速度;

根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV;

根据所述用户当前关注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置,其中,所述预测视点视频为成为下一个关注视点的概率满足预设概率值的视点视频;

将所述预测视点视频的位置对应的每个预测视点视频通过所述通信接口从服务器端下载传输。

结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器在获得用户视点切换的第一速度时,具体用于:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度时,计算所述多个时刻的瞬时速度的平均值, 并将所述平均值作为所述第一速度。

结合第三方面,在第三方面的第二种可能的实现方式中,所述处理器在获得用户视点切换的第一速度时,具体用于:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在一个时刻的瞬时速度以及所述一个时刻的瞬时速度对应的加速度时,基于所述一个时刻的瞬时速度及所述一个时刻的瞬时速度对应的加速度按照第一规则确定所述第一速度;或者,

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度时,计算所述多个时刻的瞬时速度的平均值,以及所述多个时刻的瞬时速度对应的多个加速度的平均值,基于所述多个时刻的瞬时速度的平均值及所述多个加速度的平均值按照第二规则确定所述第一速度;或者,

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度时,计算所述多个时刻的瞬时速度的平均值,在多个时刻的瞬时速度对应的加速度中选择一个瞬时速度对应的加速度,并基于所述多个时刻的瞬时速度的平均值以及选择的一个瞬时速度对应的加速度按照第三规则确定所述第一速度。

结合第三方面和第三方面的第一种至第二种可能的实现方式中的任意一种,在第三方面的第三种可能的实现方式中,针对一维视点视频,所述处理器,在根据所述用户当前关注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置时,具体用于:

当所述第一速度小于预定速度阈值、且所述预测视点视频数量NNV为偶数时,在与所述当前关注视点视频相邻的位置两侧各分配个视点视频,并将分配在与所述当前关注视点视频相邻位置两侧的视点视频作为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视 点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的视点视频数量作为分配的视点视频的数量;或者,

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频的第一方向侧相邻的所述预测视点视频数量个视点视频、以及与所述当前关注视点视频的第二方向侧相邻的所述预测视点视频数量个视点视频作为预测视点视频,所述第一方向侧与所述第一速度的矢量方向相同,所述第二方向侧与所述第一速度的矢量方向相反;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的视点视频数量作为分配的视点视频的数量;或者,

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频的所述第一方向侧相邻的个视点视频、以及与所述当前关注视点视频的所述第二方向侧相邻的个视点视频作为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的视点视频数量作为分配的视点视频的数量;或者,

当所述用户切换速度不小于所述预定速度阈值时,将与所述当前关注视点视频的所述第一方向侧相邻的NNV个视点视频作为预测视点视频;如果与所述当前关注视点视频的位置相邻的一侧视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频的位置相邻的一侧的视点视频数量作为分配的视点视频的数量。

结合第三方面和第三方面的第一种至第二种可能的实现方式中的任意一种,在第三方面的第四种可能的实现方式中,针对二维视点视频,所述处理器,在根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要 下载的预测视点视频数量NNV时,具体用于:

将所述第一速度分解为水平方向上的第二速度以及垂直方向上的第三速度;

基于所述第二速度按照预设算法包括的第一算法预测水平方向上的预测视点视频的水平数量值,以及基于所述第三速度按照所述第一算法预测垂直方向上的预测视点视频的垂直数量值;

基于融合视点视频的数量、预测视点视频的水平数量值NNVx以及预测视点视频的垂直数量值NNVy按照所述预设算法包括的第二算法确定预测视点视频数量。

结合第三方面和第三方面的第一种至第四种可能的实现方式中的任意一种,在第三方面的第五种可能的实现方式中,每个视点视频包括多个码率版本,且每个码率版本所需求的带宽不同,所述处理器在将所述预测视点视频的位置对应的每个预测视点视频从服务器端下载传输时,具体用于:

根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本;

根据所述预测视点视频的位置、所述预测视点视频的码率版本从服务器端下载所述预测视点视频,并根据所述当前关注视点视频的位置、所述当前关注视点视频的码率版本从服务器端下载所述当前关注视点视频。

结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述处理器还用于确定所述当前关注视点视频已完成传输,且确定已完成传输的所述当前关注视点视频的码率版本,然后在根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本,具体用于:

基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次为传输所述预测视点视频中的各个视点视频的最低码率分配带宽值;

并基于所述总带宽值与所述为传输所述预测视点视频的最低码率分配的 带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,所述处理器,还用于确定所述当前关注视点视频未完成传输,然后在根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本时,具体用于:

基于所述总带宽值为未完成传输的所述当前关注视点视频的最低码率版本分配第一带宽值;

基于所述总带宽值与所述第一带宽值的差,以及所述预测视点视频与所述当前关注视点视频的距离依次为传输所述预测视点视频中的各个视点视频的最低码率分配第二带宽值;

并基于所述总带宽值与所述第一带宽值以及第二带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

结合第三方面的第六种或第七种可能的实现方式,在第三方面的第八种可能的实现方式中,所述处理器,还用于:

当为所述当前关注视点的视频的码率版本最高且所述总带宽值未耗尽时,基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次调高所述预测视点视频的各个视点视频的码率版本,直到所述预测视点视频的各个视点视频的码率版本最高或者所述总带宽值耗尽。

本发明有益效果如下:通过本发明实施例提供的方法,在获得用户当前关注视点视频信息,所述用户当前关注视点视频信息包括所述用户当前关注视点视频的位置以及用户的视点切换瞬时速度;然后基于所述用户的视点切换瞬时速度预测下一次进行视点切换的用户切换速度;基于所述用户切换速度预测需 下载的预测视点视频数量;从而将以当前关注视点的位置为参考点、以根据所述用户切换速度确定的方向上的所述预测视点视频数量的视点视频作为预测视点视频,并获得各个预测视点视频的位置;将获得的每个预测视点视频的位置对应的每个视点视频从服务器端下载传输。实现了在用户关注当前视点视频时,将其临近的视点视频,即预测视点视频,从服务器端下载传输,该预测视点视频在可能在用户下一次进行切换时,作为关注视点,从而可以避免视角切换时带来的时间上的延迟,并且不需要传输所有视点视频,因此降低了带宽的浪费。

附图说明

图1a为本发明实施例提供的一维多视点视频分布示意图;

图1b为本发明实施例提供的二维多视点视频分布示意图;

图2a为本发明实施例提供的视点视频独立显示示意图;

图2b为本发明实施例提供的视点视频融合显示示意图;

图3为本发明实施例提供的基于DASH的自由视点视频传输系统示意图;

图4为本发明实施例提供的多视点视频服务的整体架构示意图;

图5为本发明实施例提供的客户端视频转码以及切片示意图;

图6为本发明实施例提供的多视点视频传输方法流程图;

图7a为本发明实施例提供的用户向右切换示意图;

图7b为本发明实施例提供的用户向左切换示意图;

图8为本发明实施例提供的左侧到达视角边界时预测视点视频位置示意图;

图9为本发明实施例提供的融合显示时,一维视点视频分组示意图;

图10为本发明实施例提供的独立显示时,一维视点视频分组示意图;

图11a为本发明实施例提供的二维应用场景中,单个关注视点视频示意图;

图11b为本发明实施例提供的二维应用场景中,两个关注视点视频水平融 合示意图;

图11c为本发明实施例提供的二维应用场景中,两个关注视点视频垂直融合示意图;

图11d为本发明实施例提供的二维应用场景中,四个关注视点视频示意图;

图12a为本发明实施例提供的二维应用场景中,第一种预测视点视频位置示意图;

图12b为本发明实施例提供的二维应用场景中,第二种预测视点视频位置示意图;

图12c为本发明实施例提供的二维应用场景中,第三种预测视点视频位置示意图;

图12d为本发明实施例提供的二维应用场景中,第四种预测视点视频位置示意图;

图13为本发明实施例提供的二维应用场景中,左侧达到视角边界时预测视点视频位置示意图;

图14为本发明实施例提供的融合显示时,二维视点视频分组示意图;

图15为本发明实施例提供的独立显示时,二维视点视频分组示意图;

图16为本发明实施例提供的一种多视点视频传输装置示意图;

图17为本发明实施例提供的另一种多视点视频传输装置示意图;

图18为本发明实施例提供的又一种多视点视频传输装置示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供一种多视点视频传输方法及装置。其中,方法和装置是 基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。

本发明实施例应用于头戴式设备,例如3D立体眼镜、自由视点导航设备等等。

其中,多视点视频为由不同视点的多个采集设备从不同视角采集到的同一场景得到的一组视频信号,本发明实施例实施例中的多视点视频可以是一维视点视频或者二维视点视频。

在一维视点视频中,通过并行的摄像机阵列进行拍摄,获取单一维度,例如:水平方向或垂直方向,一系列不同视角的视频序列,如图1a所示,这些视点视频可以是水平或垂直的一条直线上,也可以在某一维度上有一定的弧度,例如圆环。对于二维多视点视频,则通过二维摄像机阵列,分别在水平和垂直两个维度获取一系列不同视角的视频序列;也可以通过广角摄像头,拍摄超大分辨率视频,然后在水平和垂直两个维度进行分块处理,其中每一个子块也可以作为一个独立视点,如图1b所示,对于每一位,例如图1b中的一行或一列,其对应的视点视频可以排成一条直线,也可以有一定弧度,例如一个二维平面,在水平垂直方向上均为直线排布,或者一个圆柱,在水平或者垂直方向上有弧度,或者一个球,在水平和垂直方向上均有弧度下面在详细介绍一下视点切换独立显示策略和视点切换融合显示策略:

在视点切换独立显示策略中,呈现给用户的是离散视点视频,即当用户视点发生变化时,呈现给用户的仅仅是多视点视频序列中的某一个视点视频。而在视点切换融合显示策略中,呈现给用户的是连续视点视频,即当用户视点发生变化时,呈现给用户的可以是多视点视频序列中的某一个视点视频,也可以是相邻视点视频作融合处理后生成的新视点视频。

视点切换独立显示策略和视点切换融合显示策略最大的区别在于:视点切换独立显示策略不会重新生成新的视点视频。例如在一维视点视频中,当用户视点在两个视点视频中间时,则会选择临近的一个视点视频进行显示,如图2a 所示。而对于视点切换融合显示策略,则可以将临近的两个视点视频进行融合处理,通过视点融合,生成新的视点视频呈现给用户,能为用户提供场景的无缝切换,典型的应用场景是自由视点视频服务,如图2b。本发明实施例中为了描述方便,将多视点视频分为三类:当前关注视点视频、预测视点视频以及边缘视点视频。当前关注视点视频为需要呈现给用户的视频,对于一维应用场景可能是单个视点视频,也可能是相邻的两个视点视频融合得到的视点视频,如图2a~2b所示;针对二维应用场景,可能是单个视点视频,也可能是相邻的两个视点视频融合得到的视点视频,还可能是相邻的四个视点视频融合得到的视点视频。预测视点视频为预测的将来可能需要呈现给用户的视点视频,成为下一个关注视点的概率满足预设概率值的视点视频。边缘视点视频则是多视点视频中除了当前关注视点视频和预测视点视频以外的其他所有视点视频,如图2a~2b所示。

参见图3,为本发明实施例提供的基于DASH的自由视点视频传输系统。该系统中包括自由视点(英文:Free-Viewpoint,简称:FVV)客户端(Client)以及服务器,例如互联网服务器(Web Server)以及内容服务器。其中,内容服务器中用户存储各个视点视频。自由视点客户端与web Server之间通过因特网(Internet)通信或者移动网(Mobile Network)通信。客户端可以是头戴式设备,例如3D立体眼镜、自由视点导航设备等等。

参见图4,为本发明实施例提供的多视点视频服务的整体架构。在服务器端,通过摄像机阵列采集不同视点的视频流。这些摄像机在水平方向排成一排或者具有弧度的排列,采集到的多个视点的视频流是视频源的最初来源。然后通过视频转码技术,将其转码成不同码率的版本,不同码率的版本在传输时,所占用的带宽不同。对于每一个视点视频流的每一个质量的版本,都进一步将其切分成具有相同时间长度的视频片段,最后通过一个媒体描述文件(英文:Media Presentation Description,简称:MPD)对这些切换后的视频片段进行组织和描述,组织和描述的信息包括编码方式、片段时间长度、统一资源定位符 (英文:Uniform Resource Locator,简称:URL)地址、帧率、分辨率、视频码率等信息。所有视频片段和MPD文件均存储在服务器端,如图5所示。在客户端,用户首先下载MPD文件并解析,获取服务器端信息。然后依据带宽网络状态、用户姿态等,选择合适的视频片段进行下载。整个传输过程和服务器端视频组织方式采用DASH标准。

本发明实施例提供了一种多视点视频传输方法,如图6所示,该方法包括:

步骤601,获得用户当前关注视点视频在多视点视频中的位置。

获得用户当前关注视点视频信息,所述用户当前关注视点视频信息包括所述用户当前关注视点视频的位置以及用户的视点切换瞬时速度;所述用户的视点切换瞬时速度包括用户进行视点切换时,采集到的多个时刻的瞬时速度。

步骤602,获得用户视点切换的第一速度。

所述第一速度为用户视点切换到所述当前关注视点视频的位置时的速度。

用户进行视点切换时,由一个视点切换到另一个视点,切换的两个视点之间可能相邻,也可能不相邻。因此,获得的用户视点切换的第一速度是根据用户在切换到当前关注视点视频位置之前的预定时间段内用户的切换时的瞬时速度获得的。该预定时间段可以是切换一次到当前关注视点视频位置的时间段内,还可以是切换N次切换到当前关注视点视频位置的时间段内,

可选地,所述获得用户视点切换的第一速度,可以但不仅限于通过如下方式实现:

第一种实现方式:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度时,计算所述多个时刻的瞬时速度的平均值,并将所述平均值作为所述第一速度。

第二种实现方式:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在一个时刻的瞬时速度,则将所述一个时刻的瞬时速度作为所述第一 速度。

第三种实现方式:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度,则可以在所述多个时刻的瞬时速度中选择一个瞬时速度作为所述第一速度。

在用户进行视点切换时采集到的多个时刻的瞬时速度中随机选择一个,还可以是对多个时刻的瞬时速度的大小进行排序取位于中间的一个,例如瞬时速度包括5个,选择排序后位于第三的作为用户切换速度。还可以是取瞬时速度最大的一个等等。

可选地,获得用户视点切换的第一加速度,所述第一加速度为用户视点切换到所述当前关注视点视频的位置时的加速度。因此在获得用户视点切换的第一速度时,还可以通过如下方式实现:

第四种实现方式:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户在一个时刻的瞬时速度以及所述一个时刻的瞬时速度对应的加速度。然后基于所述一个时刻的瞬时速度及所述一个时刻的瞬时速度对应的加速度按照第一规则确定所述第一速度。

可选地,所述第一规则满足如下公式的条件:

其中,V表示第一速度;v(t)表示采集到用户在一个时刻t的瞬时速度;T表示每个视点视频的时间长度;a(t)表示时刻t的视点切换加速度。

第五种实现方式:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度时,计算所述多个时刻的瞬时速度的平均值,以及所述多个时刻的瞬时速度对应的多 个加速度的平均值,基于所述多个时刻的瞬时速度的平均值及所述多个加速度的平均值按照第二规则确定所述第一速度。

可选地,所述第二规则满足如下公式的条件:

其中,n表示多个时刻的瞬时速度的数量。

第六种实现方式:

在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度。然后计算所述多个时刻的瞬时速度的平均值,在多个时刻的瞬时速度对应的加速度中选择一个瞬时速度对应的加速度,并基于所述多个时刻的瞬时速度的平均值以及选择的一个瞬时速度对应的加速度按照第三规则确定所述第一速度。

可选地,所述第三规则满足如下公式的条件:

步骤603,根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV。

可选地,所述预设算法满足如下公式的条件:

其中,NNV表示所述预测视点视频数量;V表示第一速度;N表示视点视频总数量;D表示N个视点视频所覆盖的角度;T表示每个视点视频的时间长度。

例如,针对全景图像,则N个视点视频所覆盖的角度是360度。

步骤604,根据所述用户当前关注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置。

其中,所述预测视点视频为成为下一个关注视点的概率满足预设概率值的视点视频。

步骤605,将所述预测视点视频的位置对应的每个预测视点视频从服务器端下载传输。

通过本发明实施例提供的方法,获得用户当前关注视点视频在多视点视频中的位置;获得用户视点切换的第一速度,所述第一速度为用户视点切换到所述当前关注视点视频的位置时的速度;根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV;根据所述用户当前关注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置,其中,所述预测视点视频为成为下一个关注视点的概率满足预设概率值的视点视频;将所述预测视点视频的位置对应的每个预测视点视频从服务器端下载传输。实现了在用户关注当前视点视频时,将其临近的视点视频,即预测视点视频,从服务器端下载传输,该预测视点视频在可能在用户下一次进行切换时,作为关注视点,从而可以避免视角切换时带来的时间上的延迟,并且不需要传输所有视点视频,因此降低了带宽的浪费。

下面以一维多视点视频为例进行说明。

A1、视点视频的数量。

(1)、融合视点视频的数量(英文:Number of Concerned Views,简称:NCV):

其中,融合视点视频为融合得到当前视点视频的视点视频。

所述用户当前关注视点视频是需要呈现给用户的视频内容。可以依据用户眼球的位置、用户姿态等确定用户当前关注的视角位置,具体的,可以利用用户当前坐标位置、头部偏角、距离视频位置等信息估计用户当前关注的区域。本发明对确定用户当前关注视点视频的方法不作具体限定,现有技术中用于确定用户当前关注视点视频的方法均适用于本发明。

如果用户当前关注的视角位置在某一个视点视频的正中间,则该视点视频是用户的唯一关注视点,即用户当前关注视点视频数量为1。如果用户当前关注的视角位置不在某一个视点视频位置的正中间,则距离用户视角位置最近的两个视点视频进行融合后作为用户当前关注视点视频。本发明中将融合得到用户当前关注视点视频的各个视点视频称为融合视点视频。因此,融合视点视频的数量可以为1,即不需要融合,融合视点视频的数量可以为2。

针对多视点视频服务中,各个视点相互独立,在客户端呈现时,即使用户关注的视点处于两个视点视频中间时,也不需要作融合处理,则融合视点视频的数量为1。

(2)、预测视点视频数量,通过NNV表示,英文为Number of Near Views,即与所述用户的当前关注视点视频相邻的NNV个视点视频。可能在将来作为关注视点视频呈现给用户。预测视点视频是需要传输的,从而在下一次用户切换时,可能关注的是预测视点视频中的一个或两个视点视频,因此达到降低视点切换延迟的目的。

具体的,首先获得用户视点切换的第一速度,然后可以基于所述第一速度根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV。获得所述第一速度的方法可以从参照如上所述第一至第六实现方式中的任一实现方式。

本发明实施例中还可以利用基于时间滑动窗口的平均速度作为第一速度V,即利用过去一段时间的平均速度作为第一速度V:

其中,T是服务器端进行视频切片切成的没有视频片段的时间长度,即作为每个视点视频的时间长度。

在基于所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV。所述预设算法可以满足如下公式的条件:

其中,NNV表示所述预测视点视频数量;V表示所述第一速度;N表示视点视频总数量;D表示N个视点视频所覆盖的角度,即N个视点视频所覆盖的角度,例如全景图像覆盖范围为360°;T表示每个视点视频的时间长度。

(3)、边缘视点视频数量(英文:Number of Marginal Views,简称:NMV):

除了用户当前关注视点视频以及预测视点视频以外的所有视点视频为边缘视点视频。因此,边缘视点视频数量为:

NMV=N-NCV-NNV。

由于边缘视点视频转化为关注视点视频的概率较少,也就是说在最近的一段时间内呈现给用户的概率较小。因此,边缘视点视频可以不传输,从而能够节省传输带宽。

A2、确定视点视频的位置。

(1)、所述用户当前关注视点视频的位置:

获得用户当前关注视点视频在多视点视频中的位置具体可以根据用户眼球的位置、用户姿态等确定用户当前关注的视角位置。本发明对此不作具体限定。

(2)、所述预测视点视频的位置:

根据所述用户当前关注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置。

具体的,可以通过如下方式实现:

当所述第一速度小于预定速度阈值、且所述预测视点视频数量NNV为偶数时,在与所述当前关注视点视频位置相邻的两侧各分配个视点视频,并将分配在与所述当前关注视点视频位置相邻的两侧的视点视频作为预测视点视频。

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频的第一方向侧相邻的所述预测视点视频数量个视点视频、以及与所述当前关注视点视频的第二方向侧相邻的所述预测视点视频数量个视点视频作为预测视点视频,所述第一方向侧与所述第一速度的矢量方向相同,所述第二方向侧与所述第一速度的矢量方向相反。

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频位置的所述第一方向侧相邻的个视点视频、以及与所述当前关注视点视频位置的所述第二方向侧相邻的个视点视频作为预测视点视频。

即,当V<V0时,说明用户切换缓慢,则可以认为用户将来的切换方向具有较大不确定性。其中,V0表示预定速度阈值。

当所述用户切换速度不小于所述预定速度阈值时,将与所述当前关注视点视频的所述第一方向侧相邻的NNV个视点视频作为预测视点视频。

当第一速度V不小于预定速度阈值V0,即当V≥V0时,则认为用户将来切换方向具有较大确定性。因此,预测视点视频的分配需要考虑预测的所述第一速度V的方向,将当前关注视点视频的用户切换速度方向侧的NNV个视点视频作为预测视点视频,如图7a~7b所示。

需要说明的是,当与所述当前关注视点视频相邻的位置一侧的视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频相邻的位置一侧的所有视点视频数量作为分配的视点视频的数量。具体的,在预测视点视频数量的分配上,在当前关注视点视频到时视点的边界时,则停止分配。例如对于V<V0的情况,当NNV=4时,理论上在当前关注视点视频的两侧各两个视点均为预测视点视频。假设当前关注视点视频左侧只有一个视点,右侧有三个视点, 则最终选择当前关注视点视频左侧一个视点视频(到达视点边界)和右侧两个视点视频作为预测视点视频,如图8所示。

A3、确定视点视频的质量。

每个视点视频包括多个码率版本,且每个码率版本所需求的带宽不同。

则将获得的每个预测视点视频的位置对应的每个视点视频从服务器端下载传输,可以通过如下方式实现:

(1)根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本。

具体的,预设的带宽分配策略包括:

基于延迟与质量优先级、视点类型优先级、以及预测视点视频位置优先级使用所述为视点视频传输分配的总带宽值确定传输的所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本。这里优先基于延迟与质量优先级、然后再基于视点类型优先级,再然后基于预测视点视频优先级。确定传输的所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本。

所述延迟与质量优先级用于保证所述当前关注视点视频以及所述预测视点视频的最低码率版本被传输。所述视点类型优先级包括:所述当前关注视点视频的优先级高于所述预测视点视频的优先级,因此优先为所述当前关注视点视频分配带宽。所述预测视点视频位置优先级包括所述预测视点视频中各个视点视频的位置与所述当前关注视点视频位置的距离由小到大的排序等于所述预测视点视频中各个视点视频优先级由高到低的排序,因此优先为预测视点视频位置优先级高的视点视频分配带宽。

所述延迟与质量优先级用于保证所述当前关注视点视频以及所述预测视点视频的最低码率版本被传输,是由于传输用户当前关注视点视频以及预测视点视频,预测视点视频在将来作为关注视点视频的概率较大,传输预测视点视频可以降低视点切换延迟。因此在给当前关注视点视频以及预测视点视频分配带宽时,优先保证所有的当前关注视点视频以及预测视点视频的最低码率版本 均可以被传输,如果带宽足够大,则可以提高当前关注视点视频的码率版本,从而提高视点视频的传输质量。

视点类型优先级是在进行带宽资源分配是,依据视点类型,优先给当前关注视点视频分配带宽,然后再预测视点视频分配带宽。

所述预测视点视频位置优先级是针对预测视点视频的,在给预测视点视频分配带宽资源时,优先给距离当前关注视点视频较近的视点视频分配带宽资源。

(2)根据所述预测视点视频的位置、所述预测视点视频的码率版本从服务器端下载所述预测视点视频,并根据所述当前关注视点视频的位置、所述当前关注视点视频的码率版本从服务器端下载所述当前关注视点视频。

由于用户当前关注视点视频可能已经在切换到当前关注视点视频之前已经分配带宽,并且已经开始传输,并且有可能已经传输完成。

若确定用户当前关注视点视频已经传输完成,则确定已完成传输的所述当前关注视点视频的码率版本;所述根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本,具体通过如下方式实现:

基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次为传输所述预测视点视频中的各个视点视频的最低码率分配带宽值;并基于所述总带宽值与所述为传输所述预测视点视频的最低码率分配的带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

若确定当前关注视点视频已经传输但并未传输完成,则为未传输的当前关注视点视频重新分配带宽;基于所述总带宽值为未完成传输的所述当前关注视点视频的最低码率版本分配第一带宽值;基于所述总带宽值与所述第一带宽值的差,以及所述预测视点视频与所述当前关注视点视频的距离依次为传输所述 预测视点视频中的各个视点视频的最低码率分配第二带宽值;并基于所述总带宽值与所述第一带宽值以及第二带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

当为所述当前关注视点的视频的码率版本最高且所述总带宽值未耗尽时,基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次调高所述预测视点视频的各个视点视频的码率版本,直到所述预测视点视频的各个视点视频的码率版本最高或者所述总带宽值耗尽。

本发明实施例中,基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次调高所述预测视点视频的各个视点视频的码率版本,可以优先为距离所述当前关注视点视频最近的预测视点视频调高码率版本,直到码率版本最高或者带宽耗尽,若码率版本最高且带宽未耗尽,再为与距离所述当前关注视点视频最近的预测视点视频相邻的视点视频分配带宽,以此类推。或者还可以基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次分别调高一级码率版本,若带宽未耗尽,则再次基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次再调高一级码率版本。

具体的,在分配带宽时,还可以将视点视频进行分组处理。

a)、将所有的视点视频分为三组,即H(High Priority)组,M(Medium Priority)组,L(Low Priority)组。

针对可以进行视点视频融合的情况:

H组表示当前关注视点视频的集合,可能是一个视点视频,也可能是两个视点视频;M组包括一个或多个子组{M1,M2,…},每个子组包含两个视点视频。由于考虑到在当前关注视点切换到两个视点中间时,需要相邻两个视点视频进行视点融合,生成新的视点视频,因此,M组开始于当前关注视点视频与临近视点视频的交界,终止于预测视点视频与边缘视点视频的边界或可用视点边界(到达可用视点边缘),并且各个子组之间有重叠;L组包括一个或多个子组 {L1,L2,…},每个子组包含两个视点视频,由于考虑到当关注视点切换到两个视点中间时,需要相邻两个视点视频进行视点融合,生成新的视点视频,因此L组开始于预测视点视频与边缘视点视频的交界,终止于可用视点边界(到达可用视点边缘),如图9所示。

针对不需要进行视点视频融合的情况:

H组代表了当前关注视点视频的集合,一个视点视频;M组包括一个或多个子组{M1,M2,…},每个子组包含一个个视点视频。M组开始于当前关注视点视频与临近视点视频的交界,终止于预测视点视频与边缘视点视频的边界或可用视点边界,即到达可用视点边缘;L组包括一个或多个子组{L1,L2,…},每个子组包含一个视点视频,L组开始于预测视点视频与边缘视点视频的交界,终止于可用视点边界,即到达可用视点边缘,如图10所示。

b)、确定H组中各个视点视频是否已经被传输,并确定是否传输完成。若传输完成,则执行步骤c),若确定未传输完成,则执行步骤d),若H组的各个视点视频未传输,则执行步骤e)。

c)、为M组中的各个子组,基于距离H组的距离,由小到大分配最低码率所需的带宽资源。若带宽不够或者带宽耗尽,则执行步骤。否则执行步骤f)。

其中,M组的某一个子组或者多个子组可能预先已经被传输,或者传输完成,在此步骤中不需要再次分配带宽。

d)、给未传输完成的H组视点视频分配最低码率版本所需要的带宽资源。若带宽不够或者带宽耗尽,则执行步骤g),否则执行步骤c)。

e)、给未传输的H组视点视频分配最低码率版本所需要的带宽资源。若带宽不够或者带宽耗尽,则执行步骤g),否则执行步骤c)。

f)、逐级调高H组视点视频的码率,并分配调高后的码率版本所需要的带宽资源,直到达到最大码率版本。若带宽不够或者带宽耗尽,则执行步骤h),否则执行步骤g)。

g)、对于M组中的各个子组,根据距离H组的距离,由小到大依次分别 对各个子组中的视点视频的码率版本提高一个等级,并分配提高等级后的码率版本所需要带宽资源。若带宽不够或者带宽耗尽,则执行步骤h),否则重复执行步骤g)。

h)、分配结束。

通过上述带宽分配后,能够确定H组和M组的视点视频的码率版本。

需要说明的是:进行带宽资源分配时,只能进行组内更新。例如某一个视点同时属于两个分组时,如果该视点视频在两个分组中的码率不一样,则需要同时保留两个码率的版本。

假设分组如图10所示,总带宽为11Mbps,每个视点视频有三个码率可用,分别需要的带宽值为1Mbps,2Mbps,3Mbps,则分配过程如下:

给H组分配1Mbps码率所需的带宽(1Mbps),则带宽剩余10Mbps;

依次给M2,M3,M4,M5组分配1Mbps码率所需的带宽(视点1,2,3,4,5的码率一样,因此只需保留一个1Mbps版本),则带宽剩余6Mbps;

逐级增加H组的码率,直至达到3Mbps(视点1既属于H组,也属于M1组,因此需要保留视点1的1Mbps和3Mbps两个码率版本),则带宽剩余3Mbps;

增加M1组的码率一个等级,即从1Mbps增大到2Mbps(视点1的1Mbps的码率更新到2Mbps,额外消耗1Mbps带宽,视点2同时属于M1和M2,因此需要保留视点1的1Mbps和2Mbps两个码率版本,额外消耗2Mbps带宽),则带宽剩余0Mbps,退出。

最后的带宽资源和质量结果为:视点1分配5Mbps带宽,传输2Mbps和3Mbps两个质量版本;视点2分配3Mbps带宽,传输1Mbps和2Mbps两个质量版本;视点3至视点5各分配1Mbps带宽,传输1Mbps一个质量版本;视点6至视点7各不分配带宽资源,不传输。

由于服务器端每个视点视频都有多个不同的码率版本,现有技术中需要传输所有的视点视频,因此需要给所有的视点视频分配带宽,一般是采用平均分配的方案,利用本发明实施例提供的方案,不需要传输所有的视点视频,因此 不需要为所有的视点视频分配带宽,并且本方案中优先为当前关注视点视频分配带宽,并且基于总带宽值优先考虑当前关注视点视频的传输质量,因此降低了带宽的浪费,并且提高了用户的即时体验。

下面以二维多视点视频为例进行说明。

在多视点视频服务中,一类常见的应用为大屏显示。一方面可以通过二维摄像机阵列,分别在水平和垂直两个维度获取一系列不同视角的视频序列;也可以通过广角摄像头,拍摄超大分辨率视频,然后在水平和垂直两个维度进行分块处理,每一个子块也可以作为一个独立视点,如图1b所示。在客户端呈现时,依据用户当前关注视角,选择合适的视点视频分块进行显示,或者融合显示。

B1、视点视频的数量

视点视频的数量包括三部分:当前关注视点视频的数量、预测视点视频的数量、边缘视点视频的数量。

(1)、融合当前关注视点视点视频的视点视频数量NCV:

当前关注视点视频是当前需要呈现给用户的视频内容。依据用户眼球的位置、用户姿态等确定用户当前关注的视角位置。

i)、用户当前关注的视角位置在某一个视点视频的正中间,如图11a所示,则该视点视频为唯一关注视点,融合得到当前关注视点视频的视点视频数量为1,即

NCV=1。

ii)、用户当前关注的视角位置在某一个视点视频的垂直位置正中间,但不在水平位置正中间,如图11b所示;或者用户当前关注的视角位置在某一个视点视频的垂直水平正中间,但不在水平位置正中间,如图11c所示,由2个相邻视点视频融合得到当前关注视点视频,则融合得到当前关注视点视频的视点视频数量为2,即

NCV=2。

iii)、用户当前关注的视角位置既不在某一个视点视频的水平位置正中间,也不在垂直位置正中间,如图11d所示,由4个相邻视点视频融合得到当前关注视点视频,则融合得到当前关注视点视频的视点视频数量为4,即,

NCV=4。

在二维多视点视频服务中,有时各视点相互独立,在客户端呈现时,即使用户关注的视角不在某一个视点视频中间,也并不要求做融合处理。因此融合得到当前关注视点视频的视点视频数量为1。

(2)、预测视点视频数量,通过NNV表示。预测视点视频为与所述用户的当前关注视点相邻的NNV个视点视频。预测视点视频可能在将来作为关注视点视频呈现给用户。预测视点视频是需要传输的,从而在下一次用户切换时,可能关注的是预测视点视频中的一个或两个视点视频,因此达到降低视点切换延迟的目的。

具体的,首先获得用户视点切换的第一速度,然后可以基于所述第一速度根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV。获得所述第一速度的方法可以从参照如上所述第一至第六实现方式中的任一实现方式。

在实施例中,针对的是一维场景,第一速度V其方向要么水平要么垂直。而在二维场景下,其方向具有任意性,假设第一速度V的方向与水平方向的角度以及与垂直方向的角度分别为α和θ。则第一速度分解后的水平方向上的第二速度和垂直方向上的第三速度分别是:

Vx=Vcosα;Vy(t)=Vsinα;

其中,Vx表示水平方向上的第二速度;Vy表示垂直方向上的第二速度。

还可以通过以下方式确定第二速度Vx和第三速度Vy

在实施例中,针对的是一维场景,时刻t的瞬时速度为v(t)其方向要么水平要么垂直。而在二维场景下,其方向具有任意性,假设瞬时速度v(t)的方向与水平方向的角度以及与垂直方向的角度分别为α和θ。则则每个瞬时速度都 可以分解为水平方向速度和垂直方向速度,分别是:

vx(t)=v(t)cosα;vy(t)=v(t)sinα;

其中,vx(t)代表水平方向速度;vy(t)代表垂直方向速度。

接下来,分别在水平和垂直两个维度,分别计算第二速度和第三速度,具体而言:

利用基于时间滑动窗口的水平方向速度的平均值作为第二速度Vx,利用基于时间滑动窗口的垂直方向速度的平均值作为第三速度Vy

其中,T是服务器端进行视频切片时,每个视频片段的时间长度。

具体的,还可以通过用户头戴式设备的加速度传感器在用户进行视点切换到当前关注视点视频位置之前的预定时间段内,采集在多个时刻的加速度,然后通过多个时刻的瞬时速度以及加速度确定第二速度Vx和第三速度Vy

在二维场景下,视点切换加速度方向具有任意性,假设时刻t的加速度α(t)的方向与水平方向的角度以及与垂直方向的角度分别为α和θ。则水平方向加速度αx(t)和垂直方向加速度αy(t)分别是:

αx(t)=α(t)cosα;αy(t)=α(t)sinα;

那么在用户视点切换到所述当前关注视点视频的位置时,采集到用户在一个时刻的瞬时速度以及所述一个时刻的瞬时速度对应的加速度时,第二速度Vx以及第三速度Vy分别可以通过如下公式表示:

在用户视点切换到所述当前关注视点视频的位置时,采集到用户在多个时 刻的瞬时速度以及每个时刻的瞬时速度对应的加速度时,第二速度Vx以及第三速度Vy分别可以通过如下公式表示:

其中,n表示多个时刻的瞬时速度的数量。

在用户视点切换到所述当前关注视点视频的位置时,采集到用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度时,第二速度Vx以及第三速度Vy还分别可以通过如下公式表示:

获取第二速度Vx和第三速度Vy后,则基于所述第二速度Vx按照预设算法包括的第一算法预测水平方向上的预测视点视频的水平数量值NNVx,以及基于所述第三速度Vy按照所述第一算法预测垂直方向上的预测视点视频的垂直数量值NNVy

其中,Nx表示服务器端在水平方向上视点视频的总数量;Ny表示服务器端在垂直方向上视点视频的总数量;Dx表示Nx个视点视频在水平方向所覆盖的范围;Dy表示Ny个视点视频在垂直方向所覆盖的角度,T是服务器端进行视频切片时,每个视频片段的时间长度。

得到NNVx和NNVy后,结合当前关注视点视频的数量和分布,则预测视点视频的数量分为以下三种情况:

i)、NCV=1,即当前关注视点视频唯一,如图11a所示,则以NNVx+1和NNVy+1为边长构成的矩形所包含的所有视点视频,即为预测视点视频和当前 关注视点视频的集合,因此预测视点视频的数量为:

NNV=(NNVx+1)*(NNVy+1)-1。

ii)、NCV=2,即融合视点视频有两个,如图11b和11c所示。

当进行视点水平融合时,如图11b所示,则以NNVx+2和NNVy+1为边长构成的矩形所包含的所有视点视频,即为预测视点视频和当前关注视点视频的集合,此时预测视点视频数量为:

NNV=(NNVx+2)*(NNVy+1)-2。

当进行视点水平融合时,如图11c所示,则以NNVx+1和NNVy+2为边长构成的矩形所包含的所有视点视频,即为预测视点视频和当前关注视点视频的集合,此时预测视点视频的数量为:

NNV=(NNVx+1)*(NNVy+2)-2。

iii)、NCV=4,即融合视点视频有4个且所述多视点视频中的水平方向上和垂直方向上各分布2个视点视频,如图11d所示。

需要同时进行视点视频的水平方向和垂直方向融合,则以NNVx+2和NNVy+2为边长构成的矩形所包含的所有视点视频,即为预测视点视频和当前关注视点视频的集合,此时预测视点视频数量为:

NNV=(NNVx+2)*(NNVy+2)-4。

另外,在二维多视点视频服务中,有时各视点相互独立,在客户端呈现时,即使用户关注的视角不在某一个视点视频中间,也并不要求做融合处理。融合视点视频的数量为1。因此预测视点视频的数量为NNV=(NNVx+1)*(NNVy+1)-1。

(3)、边缘视点的数量NMV。

除了当前关注视点视频和预测视点视频以外的所有视点视频均为边缘视点视频。因此,边缘视点视频的数量为:

NMV=N-NCV-NNV

其中N代表了所有视点的总数量,也即N=Nx*Ny

B2、视点视频的位置。

在确定了三类视点视频各自的数量后,接下来需要确定这些视点视频的位置。同样,这里对三类视点视频分别说明:

(1)、当前关注视点视频的位置:

依据用户眼球的位置、用户姿态等确定用户当前关注的视角位置。

如果用户当前关注的视角位置在某一个视点视频的正中间,如图11a所示,则该视点视频为唯一关注视点,关注视点的数量为1,其位置也唯一确定。

如果用户当前关注的视角位置在某一个视点视频的垂直位置正中间,但不在水平位置正中间,如图11b所示,则关注视点视频为距离当前视角最近的两个水平视点视频融合得到的视点视频;或者用户当前关注的视角位置在某一个视点视频的水平位置正中间,但不在垂直位置正中间,如图11c所示,则当前关注视点视频为距离当前视角最近的两个垂直方向上的视点视频融合得到的视点视频。

如果用户当前关注的视角位置既不在某一个视点视频的水平位置正中间,也不在垂直位置正中间,如图11d所示,则当前关注视点视频为距离当前视角最近的四个视点视频融合得到的视点视频。

在二维多视点视频服务中,有时各视点相互独立,在客户端呈现时,即使用户关注的视角不在某一个视点视频中间,也并不要求做融合处理。其位置确定方式为:选择与当前用户视角最近的视点视频作为唯一关注视点;若存在多个视点视频与当前用户视角距离相等且最小,则在于当前用户视角距离最小的多个视点视频中任意选择一个作为当前关注视点视频。

(2)、预测视点视频的位置。

为了确定预测视点视点的位置,本发明同时考虑第二速度的大小以及方向、第三速度的大小以及方向。

当所述第一速度分解得到的第二速度小于水平方向速度阈值、且所述第一速度分解得到的第三速度小于垂直方向速度阈值时,将第一矩形区域内的除融合视点视频以外的NNV个视点视频作为预测视点视频;所述第一矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述第一矩形区域的几何中心为所述当前关注视点视频。

当第二速度Vx小于水平方向速度阈值Vx0,即当Vx<Vx0时,则认为视点将来的切换方向在水平方向上具有较大不确定性。因此,将NNVx个水平方向上预测视点视频平均分配在当前关注视点视频水平位置两侧。

具体而言,当NNVx为偶数时,则在紧邻当前关注视点视频水平位置两侧的各分配个视点视频;当NNVx为奇数时,则在紧邻当前关注视点水平位置两侧的各分配个视点视频,或者在紧邻当前关注视点视频水平位置一侧分配个视点视频以及另一侧分配个视点视频。

当第三速度Vy小于垂直方向速度阈值Vy0,即当Vy<Vy0时,则认为视点将来的切换方向在垂直方向上具有较大不确定性。因此,将NNVy个视点视频平均分配在紧邻当前关注视点视频垂直位置的两侧。

具体而言,当NNVy为偶数时,则在紧邻当前关注视点垂直位置两侧的各分配个视点视频;当NNVy为奇数时,则在紧邻当前关注视点垂直位置两侧的各分配个视点视频,或者在紧邻当前关注视点视频垂直位置一侧的分配个视点视频以及另一侧分配个视点视频。

经过上述分配后,使得水平方向上的第一矩形区域的第一边长为预测视点视频的水平数量值NNVx与水平方向上的融合视点视频的数量的和,使得垂直方 向的第一矩形区域的第二边长为预测视点视频的垂直数量值NNVy与垂直方向上的融合视点视频的数量的和。

例如,融合视点视频数量为1,NNVx为2,NNVy为2。则第一矩形区域内的预测视点视频如图12a所示。

当所述第二速度小于水平方向速度阈值、且所述第三速度不小于垂直方向速度阈值时,将第二矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频,所述第二矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述预测视点视频在水平方向上均匀分布在与所述当前关注视点视频相邻的位置两侧,在垂直方向上分布在与所述当前关注视点视频相邻且与所述第三速度的矢量方向相同的一侧位置。

当垂直方向上所述第三速度Vy不小于垂直方向速度阈值Vy0,即当Vy≥Vy0时,则认为视点将来的切换方向在垂直方向上具有较大确定性。因此,预测视点视频的分配需要考虑所述第三速度Vy的方向,则预测视点视频分布在与当前关注视点视频的第三速度的矢量方向相同的一侧。

例如,融合视点视频数量为1,NNVx为2,NNVy为2。则第二矩形区域内的预测视点视频如图12b所示。

当所述第二速度不小于水平方向速度阈值、且所述第三速度小于垂直方向速度阈值时,将第三矩形区域内的除融合视点视频以外的NNV个视点视频作为预测视点视频,所述第三矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和第二边长构成的矩形区域;所述预测视点视频在垂直方向上均匀分布在与所述当前关注视点视频相邻的位置两侧,在水平方向上分布在与所述当前关注视点视频相邻且与所述第二速度的矢量方向相同的一侧位置。

当水平方向上所述第二速度Vx不小于水平方向速度阈值Vx0,即当Vx≥Vx0时,则认为视点将来的切换方向在水平方向上具有较大确定性。因此,预测视点视频的分配需要考虑所述所述第二速度Vx的方向,预测视点视频分布在紧邻所述当前关注视点视频且与所述第二速度的适量方向相同的一侧。

例如,融合视点视频数量为1,NNVx为2,NNVy为2。则第三矩形区域内的预测视点视频如图12c所示。

当第二速度不小于水平方向速度阈值、且第三速度不小于垂直方向速度阈值时,将第四矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频,所述第四矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述预测视点视频在垂直方向上分布在与所述当前关注视点视频相邻且与所述第三速度的矢量方向相同的一侧位置,在水平方向上分布在与所述当前关注视点视频相邻且与所述第二速度的矢量方向相同的一侧位置。

例如,融合视点视频数量为1,NNVx为2,NNVy为2。则第四矩形区域内的预测视点视频如图12d所示。

在本实施例中,将二维分解为水平和垂直两个维度,每个维度独立确定预测视点视频位置,其作法与一维对应的实施例中的作法相同。

需要说明的是,在上述预测视点视频的位置分配时,当任意一侧到达视点边界时,则停止分配。例如对于Vx<Vx0的情况,当NNVx=6时,理论上在当前关注视点视频水平位置两侧各分配三个视点。假设当前关注视点视频左侧只有两个视点,右侧有三个视点,则最终选择当前关注视点视频左侧两个视点视频(到达视点边界)和右侧三个视点视频,如图13所示。具体地,当所述第一矩形区域、所述第二矩形区域、所述第三矩形区域、以及所述第四矩形区域中任一矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述任一矩形区域包括的所有视点视频作为预测视点视频。

(3)、边缘视点视频的位置。

除了当前关注视点视频和预测视点视频以外的所有视点视频均为边缘视点视频。当确定当前关注视点视频和预测视点视频数量和位置后,则边缘视点视频的位置也唯一确定。

B3、确定视点视频的质量。

每个视点视频包括多个码率版本,且每个码率版本所需求的带宽不同。

则将获得的每个预测视点视频的位置对应的每个视点视频从服务器端下载传输,可以通过如下方式实现:

(1)根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本。

具体的,预设的带宽分配策略包括:

基于延迟与质量优先级、视点类型优先级、以及预测视点视频位置优先级使用所述为视点视频传输分配的总带宽值确定传输的所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本。这里优先基于延迟与质量优先级、然后再基于视点类型优先级,再然后基于预测视点视频优先级。确定传输的所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本。

所述延迟与质量优先级用于保证所述当前关注视点视频以及所述预测视点视频的最低码率版本被传输。所述视点类型优先级包括:所述当前关注视点视频的优先级高于所述预测视点视频的优先级,因此优先为所述当前关注视点视频分配带宽。所述预测视点视频位置优先级包括所述预测视点视频中各个视点视频的位置与所述当前关注视点视频位置的距离由小到大的排序等于所述预测视点视频中各个视点视频优先级由高到低的排序,因此优先为预测视点视频位置优先级高的视点视频分配带宽。

所述延迟与质量优先级用于保证所述当前关注视点视频以及所述预测视点视频的最低码率版本被传输,是由于传输用户当前关注视点视频以及预测视点视频,预测视点视频在将来作为关注视点视频的概率较大,传输预测视点视 频可以降低视点切换延迟。因此在给当前关注视点视频以及预测视点视频分配带宽时,优先保证所有的当前关注视点视频以及预测视点视频的最低码率版本均可以被传输,如果带宽足够大,则可以提高当前关注视点视频的码率版本,从而提高视点视频的传输质量。

视点类型优先级是在进行带宽资源分配是,依据视点类型,优先给当前关注视点视频分配带宽,然后再预测视点视频分配带宽。

所述预测视点视频位置优先级是针对预测视点视频的,在给预测视点视频分配带宽资源时,优先给距离当前关注视点视频较近的视点视频分配带宽资源。

(2)根据所述预测视点视频的位置、所述预测视点视频的码率版本从服务器端下载所述预测视点视频,并根据所述当前关注视点视频的位置、所述当前关注视点视频的码率版本从服务器端下载所述当前关注视点视频。

由于用户当前关注视点视频可能已经在切换到当前关注视点视频之前已经分配带宽,并且已经开始传输,并且有可能已经传输完成。

若确定用户当前关注视点视频已经传输完成,则确定已完成传输的所述当前关注视点视频的码率版本;所述根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本,具体通过如下方式实现:

基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次为传输所述预测视点视频中的各个视点视频的最低码率分配带宽值;并基于所述总带宽值与所述为传输所述预测视点视频的最低码率分配的带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

若确定当前关注视点视频已经传输但并未传输完成,则为未传输的当前关注视点视频重新分配带宽;基于所述总带宽值为未完成传输的所述当前关注视 点视频的最低码率版本分配第一带宽值;基于所述总带宽值与所述第一带宽值的差,以及所述预测视点视频与所述当前关注视点视频的距离依次为传输所述预测视点视频中的各个视点视频的最低码率分配第二带宽值;并基于所述总带宽值与所述第一带宽值以及第二带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

当为所述当前关注视点的视频的码率版本最高且所述总带宽值未耗尽时,基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次调高所述预测视点视频的各个视点视频的码率版本,直到所述预测视点视频的各个视点视频的码率版本最高或者所述总带宽值耗尽。

本发明实施例中,基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次调高所述预测视点视频的各个视点视频的码率版本,可以优先为距离所述当前关注视点视频最近的预测视点视频调高码率版本,直到码率版本最高或者带宽耗尽,若码率版本最高且带宽未耗尽,再为与距离所述当前关注视点视频最近的预测视点视频相邻的视点视频分配带宽,以此类推。或者还可以基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次分别调高一级码率版本,若带宽未耗尽,则再次基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次再调高一级码率版本。

具体的,在分配带宽时,还可以将视点视频进行分组处理。

a)、将所有的视点视频分为三组,即H(High Priority)组,M(Medium Priority)组,L(Low Priority)组。

针对可以进行视点视频融合的情况,如图14所示:

H组表示当前关注视点视频的集合,可能是一个视点视频,也可能是两个视点视频,也可能包含四个视点视频,取决于融合得到当前关注视点视频的视点视频数量;M组包括一个或多个子组{M1,M2,…},每个子组包含四个视点视频,并且各个子组之间有重叠。由于考虑到当关注视点切换到四个视点,即水 平垂直维度的中间时,如图11d,则需要相邻四个视点视频进行视点融合,生成新的视点视频;M组开始于当前关注视点视频与预测视点视频的交界,终止于预测视点视频与边缘视点视频的交界或可用视点边界,即到达可用视点边缘;L组包括一个或多个子组{L1,L2,…},每个子组包含四个视点视频,并且各个子组之间有重叠。L组开始于预测视点视频视点与边缘视点视频的交界,终止于可用视点边界,即到达可用视点边缘。

针对不需要进行视点视频融合的情况,如图15所示:

H组代表了当前关注视点视频的集合,一个视点视频;M组包括一个或多个子组{M1,M2,…},每个子组包含一个个视点视频。M组开始于当前关注视点视频与临近视点视频的交界,终止于预测视点视频与边缘视点视频的边界或可用视点边界,即到达可用视点边缘;L组包括一个或多个子组{L1,L2,…},每个子组包含一个视点视频,L组开始于预测视点视频与边缘视点视频的交界,终止于可用视点边界,即到达可用视点边缘。

b)、确定H组中各个视点视频是否已经被传输,并确定是否传输完成。若传输完成,则执行步骤c),若确定未传输完成,则执行步骤d),若H组的各个视点视频未传输,则执行步骤e)。

c)、为M组中的各个子组,基于距离H组的距离,由小到大分配最低码率所需的带宽资源。若带宽不够或者带宽耗尽,则执行步骤。否则执行步骤f)。

其中,M组的某一个子组或者多个子组可能预先已经被传输,或者传输完成,在此步骤中不需要再次分配带宽。

d)、给未传输完成的H组视点视频分配最低码率版本所需要的带宽资源。若带宽不够或者带宽耗尽,则执行步骤g),否则执行步骤c)。

e)、给未传输的H组视点视频分配最低码率版本所需要的带宽资源。若带宽不够或者带宽耗尽,则执行步骤g),否则执行步骤c)。

f)、逐级调高H组视点视频的码率,并分配调高后的码率版本所需要的带宽资源,直到达到最大码率版本。若带宽不够或者带宽耗尽,则执行步骤h), 否则执行步骤g)。

g)、对于M组中的各个子组,根据距离H组的距离,由小到大依次分别对各个子组中的视点视频的码率版本提高一个等级,并分配提高等级后的码率版本所需要带宽资源。若带宽不够或者带宽耗尽,则执行步骤h),否则重复执行步骤g)。

h)、分配结束。

通过上述带宽分配后,能够确定H组和M组的视点视频的码率版本。

需要说明的:进行带宽资源分配时,只能进行组内更新。例如某一个视点同时属于两个子组时,如果该视点视频在两个子组中的码率不一样,则需要同时保留两个码率的版本。

由于服务器端每个视点视频都有多个不同的码率版本,现有技术中需要传输所有的视点视频,因此需要给所有的视点视频分配带宽,一般是采用平均分配的方案,利用本发明实施例提供的方案,不需要传输所有的视点视频,因此不需要为所有的视点视频分配带宽,并且本方案中优先为当前关注视点视频分配带宽,并且基于总带宽值优先考虑当前关注视点视频的传输质量,因此降低了带宽的浪费,并且提高了用户的即时体验。

基于与多视点视频传输方法部分实施例同样的发明构思,本发明实施例还提供了一种多视点视频传输装置,如图16所示,该装置包括:

第一获得单元1601,用于获得用户当前关注视点视频在所述多视点视频中的位置;

第二获得单元1602,用于获得用户视点切换的第一速度,所述第一速度为用户视点切换到所述当前关注视点视频的位置时的速度;

第一确定单元1603,用于根据所述第二获得单元1602获得的所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV;

第二确定单元1604,用于根据所述第一获得单元1601获得所述用户当前 关注视点视频的位置、所述第二获得单元1602获得的所述第一速度以及所述第一确定单元1603确定的所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置,其中,所述预测视点视频为成为下一个关注视点的概率满足预设概率值的视点视频;

下载单元1605,用于将所述第二确定单元1604确定的所述预测视点视频的位置对应的每个预测视点视频从服务器端下载传输。

其中,所述当前关注视点视频为多视点视频中的一个视点视频,或者为多视点视频中相邻的两个视点视频融合后的视点视频。

可选地,所述第二获得单元1602,在获得用户视点切换的第一速度时,具体用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户在多个时刻的瞬时速度;并计算采集到的多个时刻的瞬时速度的平均值,并将所述平均值作为所述第一速度。

可选地,

所述第二获得单元1602,具体用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在一个时刻的瞬时速度以及所述一个时刻的瞬时速度对应的加速度;并基于采集到所述一个时刻的瞬时速度及所述一个时刻的瞬时速度对应的加速度按照第一规则确定所述第一速度;或者,

所述第二获得单元1602,具体用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度;并计算采集到的多个时刻的瞬时速度的平均值、以及计算采集到的所述多个时刻的瞬时速度对应的多个加速度的平均值,基于所述多个时刻的瞬时速度的平均值及所述多个加速度的平均值按照第二规则确定所述第一速度;或者,

所述第二获得单元1602,具体用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户在多个时刻的瞬时速度以及每个时刻的瞬时速度对应的加速度,计算所述多个时刻的瞬时速度的平均值;在多个时 刻的瞬时速度对应的加速度中选择一个瞬时速度对应的加速度,并基于所述多个时刻的瞬时速度的平均值以及选择的一个瞬时速度对应的加速度按照第三规则确定所述第一速度。

可选地,所述第一规则可以包括:

其中,V表示第一速度;v(t)表示采集到用户在一个时刻t的瞬时速度;T表示每个视点视频的时间长度;a(t)表示时刻t的瞬时速度对应的加速度;

或者,所述第二规则可以包括:

其中,n表示多个时刻的瞬时速度的数量;

或者,所述第三规则可以包括:

可选地,针对一维视点视频,所述预设算法可以包括:

其中,NNV表示预测视点视频数量;V表示第一速度;N表示视点视频总数量;D表示N个视点视频所覆盖的角度;T表示每个视点视频的时间长度。

可选地,所述第二确定单元1604,具体用于:

当所述第一速度小于预定速度阈值、且所述预测视点视频数量NNV为偶数时,在与所述当前关注视点视频位置相邻的两侧各分配个视点视频,并将分配在与所述当前关注视点视频相邻位置两侧的视点视频作为预测视点视频;或者,

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频位置的第一方向侧相邻的所述预测视点视 频数量个视点视频、以及与所述当前关注视点视频位置的第二方向侧相邻的所述预测视点视频数量个视点视频作为预测视点视频,所述第一方向侧与所述第一速度的矢量方向相同,所述第二方向侧与所述第一速度的矢量方向相反;

或者,

当所述第一速度小于所述预定速度阈值、且所述预测视点视频数量NNV为奇数时,将与所述当前关注视点视频位置的所述第一方向侧相邻的个视点视频、以及与所述当前关注视点视频位置的所述第二方向侧相邻的个视点视频作为预测视点视频;或者,

当所述用户切换速度不小于所述预定速度阈值时,将与所述当前关注视点视频位置的所述第一方向侧相邻的NNV个视点视频作为预测视点视频。

所述第二确定单元1604,还可以用于:当与所述当前关注视点视频相邻的位置一侧的视点视频数量小于分配的视点视频的数量时,将与所述当前关注视点视频相邻的位置一侧的视点视频数量作为分配的视点视频的数量。

可选地,针对二维视点视频,所述第一确定单元1603,具体用于:

将所述第一速度分解为水平方向上的第二速度以及垂直方向上的第三速度;

基于所述第二速度按照预设算法包括的第一算法预测水平方向上的预测视点视频的水平数量值,以及基于所述第三速度按照所述第一算法预测垂直方向上的预测视点视频的垂直数量值;

基于融合视点视频的数量、预测视点视频的水平数量值以及预测视点视频的垂直数量值按照所述预设算法包括的第二算法确定预测视点视频数量。

所述第一算法,包括:

其中,NNVx表示预测视点视频的水平数量值;Nx表示水平方向上视点视频的总数量;Ny表示垂直方向上视点视频的总数量;Dx表示Nx个视点视频在水平方向上所覆盖的角度;T表示每个视点视频的时间长度;Vx表示第二速度;

其中,NNVy表示预测视点视频的水平数量值;Ny表示垂直方向上视点视频的总数量;Dy表示Ny个视点视频在垂直方向所覆盖的角度;T表示每个视点视频的时间长度;Vy表示第三速度。

所述第一确定单元1603,在基于融合视点视频的数量、预测视点视频的水平数量值以及预测视点视频的垂直数量值按照所述预设算法包括的第二算法确定预测视点视频数量时,具体用于:

若融合视点视频的数量为1,则通过满足如下如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+1)*(NNVy+1)-1;

或者,若融合视点视频的数量为2且分布在水平方向上,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+2)*(NNVy+1)-2;

或者,若融合视点视频的数量为2且分布在垂直方向上,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+1)*(NNVy+2)-2;

或者,若融合视点视频的数量为4,则通过满足如下公式条件的第二算法获得所述预测视点视频数量NNV:

NNV=(NNVx+2)*(NNVy+2)-4。

针对二维视点视频,所述第二确定单元1604,具体用于:

当所述第一速度分解得到的第二速度小于水平方向速度阈值、且所述第一速度分解得到的第三速度小于垂直方向速度阈值时,将第一矩形区域内的除融合视点视频以外的NNV个视点视频作为预测视点视频;所述第一矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述第一矩形区域的几何中心为所述当前关注视点视频;或者,

当所述第二速度小于水平方向速度阈值、且所述第三速度不小于垂直方向速度阈值时,将第二矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频,所述第二矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述预测视点视频在水平方向上均匀分布在与所述当前关注视点视频相邻的位置两侧,在垂直方向上分布在与所述当前关注视点视频相邻且与所述所述第三速度的矢量方向相同的一侧位置;或者,

当所述第二速度不小于水平方向速度阈值、且所述第三速度小于垂直方向速度阈值时,将第三矩形区域内的除融合视点视频以外的NNV个视点视频作为预测视点视频,所述第三矩形区域为以预测视点视频的水平数量值与水平方向上的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和第二边长构成的矩形区域;所述预测视点视频在垂直方向上均匀分布在与所述当前关注视点视频相邻的位置两侧,在水平方向上分布在与所述当前关注视点视频相邻且与所述第二速度的矢量方向相同的一侧位置;或者,

当第二速度不小于水平方向速度阈值、且第三速度不小于垂直方向速度阈值时,将第四矩形区域内的除所述融合视点视频以外的NNV个视点视频作为预测视点视频,所述第四矩形区域为以预测视点视频的水平数量值与水平方向上 的融合视点视频的数量的和为第一边长,以预测视点视频的垂直数量值与垂直方向上的融合视点视频的数量的和为第二边长构成的矩形区域;所述预测视点视频在垂直方向上分布在与所述当前关注视点视频相邻且与所述第三速度的矢量方向相同的一侧位置,在水平方向上分布在与所述当前关注视点视频相邻且与所述第二速度的矢量方向相同的一侧位置。

所述第二确定单元1604,还用于:当所述第一矩形区域、所述第二矩形区域、所述第三矩形区域、以及所述第四矩形区域中任一矩形区域包括的视点视频的数量小于预测视点视频数量时,将所述任一矩形区域包括的所有视点视频作为预测视点视频。

每个视点视频包括多个码率版本,且每个码率版本所需求的带宽不同,所述下载单元1605,具体用于:

根据为视点视频传输分配的总带宽值、以及预设的带宽分配策略确定所述当前关注视点视频的码率版本以及所述预测视点视频的码率版本;

根据所述预测视点视频的位置、所述预测视点视频的码率版本从服务器端下载所述预测视点视频,并根据所述当前关注视点视频的位置、所述当前关注视点视频的码率版本从服务器端下载所述当前关注视点视频。

在确定所述当前关注视点视频已完成传输,且在确定已完成传输的所述当前关注视点视频的码率版本后,所述下载单元1605,具体用于:

基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次为传输所述预测视点视频中的各个视点视频的最低码率分配带宽值;

并基于所述总带宽值与所述为传输所述预测视点视频的最低码率分配的带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

在确定所述当前关注视点视频未完成传输时,所述下载单元1605,具体用于:

基于所述总带宽值为未完成传输的所述当前关注视点视频的最低码率版本分配第一带宽值;

基于所述总带宽值与所述第一带宽值的差,以及所述预测视点视频与所述当前关注视点视频的距离依次为传输所述预测视点视频中的各个视点视频的最低码率分配第二带宽值;

并基于所述总带宽值与所述第一带宽值以及第二带宽值的差,调高所述当前关注视点视频的码率版本,直到所述当前关注视点视频的码率版本最高或者所述总带宽值耗尽,从而确定所述当前关注视点视频的码率版本以及预测视点视频的码率版本。

所述下载单元1605,还用于:当为所述当前关注视点的视频的码率版本最高且所述总带宽值未耗尽时,基于所述预测视点视频与所述当前关注视点视频的距离的由小到大顺序依次调高所述预测视点视频的各个视点视频的码率版本,直到所述预测视点视频的各个视点视频的码率版本最高或者所述总带宽值耗尽。

本发明实施例中第一获得单元1601和第二获得单元1602均可以通过传感器来实现。例如第一获得单元1601可以通过用于获取视点视频的位置的位置传感器来实现;第二获得单元1602可以通过用于采集用户进行视点切换的速度传感器来实现,或者通过传感器与处理器的相互配合实现等等。第一确定单元1603、第二确定单元1604以及下载单元1605均可以通过处理器来实现。具体实现时,例如:如图17所示,该装置可以包括:

位置传感器1701、处理器1702以及通信接口1703;位置传感器1701、处理器1702以及通信接口1703相互连接。本发明实施例还包括存储器1704。存储器1704分别与位置传感器1701、处理器1702以及通信接口1703相互连接。本发明实施例中不限定上述部件之间的具体连接介质。具体可以通过总线连接。所述总线可以分为地址总线、数据总线、控制总线等。

本发明实施例中存储器1704,用于存储处理器1702执行的程序代码,可 以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器1704也可以是非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)、或者存储器1704是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1704可以是上述存储器的组合。

本发明实施例中处理器1702,可以是一个中央处理单元(英文:central processing unit,简称CPU)。

其中,图17仅是一种示例,并不对多视点视频传输装置中的设备的结构以及数量进行具体限定。

所述位置传感器1701,用于获得用户当前关注视点视频在多视点视频中的位置;

所述处理器1702,用于获得用户视点切换的第一速度,以及用于实现第一确定单元1603、第二确定单元1604以及下载单元1605所实现功能。

可选地,第一种实现方式,该装置还可以包括:

速度传感器1705,用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度;

所述处理器1702,在获得用户视点切换的第一速度时,具体用于计算所述多个时刻的瞬时速度的平均值,并将所述平均值作为所述第一速度。

可选地,第二种实现方式,该装置还可以包括:

速度传感器1705,用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度;

加速度传感器1706,用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户所述一个时刻的瞬时速度对应的加速度;

所述处理器1702,在获得用户视点切换的第一速度时,具体用于基于所述速度传感器1705采集到的一个时刻的瞬时速度及所述加速度传感器1707采集到的所述一个时刻的瞬时速度对应的加速度按照第一规则确定所述第一速度。

可选地,第三种实现方式,该装置还可以包括:

速度传感器1705,用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度;

加速度传感器1706,用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户所述每个时刻的瞬时速度对应的加速度;

所述处理器1702,在获得用户视点切换的第一速度时,具体用于计算所述速度传感器器1705采集到的所述多个时刻的瞬时速度的平均值,以及所述加速度传感器1706采集到的所述多个时刻的瞬时速度对应的多个加速度的平均值,基于所述多个时刻的瞬时速度的平均值及所述多个加速度的平均值按照第二规则确定所述第一速度。

可选地,第四种实现方式,该装置还可以包括:

速度传感器1705,用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集到用户在多个时刻的瞬时速度;

加速度传感器1706,用于在用户视点切换到所述当前关注视点视频的位置之前的预定时间段内,采集用户所述每个时刻的瞬时速度对应的加速度;

所述处理器1702,在获得用户视点切换的第一速度时,具体用于计算所述速度传感器1705采集到的所述多个时刻的瞬时速度的平均值,在所述加速度传感器1706采集到的多个时刻的瞬时速度对应的加速度中选择一个瞬时速度对应的加速度,并基于所述多个时刻的瞬时速度的平均值以及选择的一个瞬时速度对应的加速度按照第三规则确定所述第一速度。

本发明实施例中位置传感器、速度传感器以及加速度传感器还可以通过一个传感器实现,该传感器既可以采集视点位置、用户切换的速度,还可以采集用户切换的加速度。

本发明实施例还提供了另一种多视点视频传输装置,如图18所示,该装置包括:通信接口1801、处理器1802、存储器1803。通信接口1801、处理器1802以及存储器1803相互连接。本发明实施例中不限定上述部件之间的具体连接介质。本发明实施例在图18中以存储器1803、处理器1802以及通信接口1801之间通过总线1804连接,总线在图18中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本发明实施例中存储器1803,用于存储处理器1802执行的程序代码,可以是易失性存储器,例如RAM;存储器1803也可以是non-volatile memory,例如ROM,flash memory,HDD或SSD、或者存储器1803是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1803可以是上述存储器的组合。

本发明实施例中处理器1802,可以是CPU。

处理器1802用于执行存储器1803所存储的程序代码,具体用于执行图6所对应的实施例描述的多视点视频传输方法。具体可以参照图6所对应的实施例,此处不再赘述。

通过本发明实施例提供的方案,获得用户当前关注视点视频在多视点视频中的位置;获得用户视点切换的第一速度,所述第一速度为用户视点切换到所述当前关注视点视频的位置时的速度;根据所述第一速度按照预设算法确定出用户切换到另一个视点之前所需要下载的预测视点视频数量NNV;根据所述用户当前关注视点视频的位置、所述第一速度以及所述预测视点视频数量NNV,按照预设规则在所述多视点视频中确定出所述预测视点视频的位置,其中,所述预测视点视频为成为下一个关注视点的概率满足预设概率值的视点视频;将所述预测视点视频的位置对应的每个预测视点视频从服务器端下载传输。实现 了在用户关注当前视点视频时,将其临近的视点视频,即预测视点视频,从服务器端下载传输,该预测视点视频在可能在用户下一次进行切换时,作为关注视点,从而可以避免视角切换时带来的时间上的延迟,并且不需要传输所有视点视频,因此降低了带宽的浪费。由于服务器端每个视点视频都有多个不同的码率版本,现有技术中需要传输所有的视点视频,因此需要给所有的视点视频分配带宽,一般是采用平均分配的方案,利用本发明实施例提供的方案,不需要传输所有的视点视频,因此不需要为所有的视点视频分配带宽,并且本方案中优先为当前关注视点视频分配带宽,并且基于总带宽值优先考虑当前关注视点视频的传输质量,因此降低了带宽的浪费,并且提高了用户的即时体验。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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