本发明涉及多媒体技术领域,尤其涉及一种视频播放的控制方法及装置。
背景技术:
在进行虚拟现实(VR,Virtual Reality)或者360度全景视频直播时,直播画面是可以根据用户的视角相应改变的。但是,通常情况下,用户在一个时刻观看的画面只有一定角度,该角度一般位于水平视场角和垂直视场角在80至110度的范围内,也就是说,用户在一个时刻观看的画面只占360度全景图像中很少一部分,所占部分大概为360度全景图像的1/8至1/6,而360度图像中其他部分图像在同一时刻则是不可见的。
目前,现有技术中通常采用如下两种方式进行VR或360度全景直播:
其一,服务器将场景根据算法拼接出360度全景视频图像,通过视频编码将视频数据传输到客户端,客户端解码后将360度图像进行球面映射,将图像贴图到球上,然后根据陀螺仪数据(用户的视角方向数据)来控制显示视频图像,即控制显示视场角范围内的图像。但是,该种方式消耗较大,存在360度全景视频图像的分辨率大、编码功耗大、渲染摄像机个数多、拼接算法计算量大以及传输码率大等问题。
其二,客户端将陀螺仪数据发送到服务器,服务器根据陀螺仪数据只渲染视场角内的图像,并将图像编码发送至客户端,由客户端直接显示视场角内的图像。但是,该种方式由于陀螺仪数据从客户端到服务器,以及图像编码后从服务器到客户端的时间较长,从而容易导致视场角发生变化时,客户端得到的视频卡顿严重的问题。
综上所述,现有技术中在播放全景视频图像时,存在着要么消耗较大,要么视频卡顿较为严重的问题。
技术实现要素:
本发明的目的是提供一种视频播放的控制方法及装置,以解决现有技术中在进行全景视频播放时存在的要么消耗较大以及要么视频卡顿较为严重的问题。
第一方面,本发明实施例提供一种视频播放的控制方法,应用于服务器端,包括:
接收用户的视角方向数据;
根据所述视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与所述用户的可视角不相关的区域的坐标范围;
根据三维映射模型中确定的所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域;
将待输出的全景视频图像中除所述丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端。
可选地,所述根据所述视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与所述用户的可视角不相关的区域的坐标范围的步骤,包括:根据所述视角方向数据,确定用户的当前视点在所述三维映射模型上的位置坐标;根据所述当前视点在所述三维映射模型上的位置坐标,确定在所述三维映射模型上的图像最低相关点的位置坐标,其中,所述图像最低相关点为所述当前视点与所述三维映射模型的中心点的连线的延长线与所述三维映射模型的交点;根据所述图像最低相关点的位置坐标,获取在三维映射模型中与所述用户的可视角不相关的区域的坐标范围。
可选地,所述根据所述图像最低相关点的位置坐标,获取在三维映射模型中与所述用户的可视角不相关的区域的坐标范围的步骤,包括:根据用户在所述三维映射模型上的可视角和所述图像最低相关点的位置坐标,确定三维映射模型中与所述用户的可视角不相关的区域的坐标范围;或者,根据所述图像最低相关点的位置坐标和预先设定的偏移范围,确定三维映射模型中与所述用户的可视角不相关的区域的坐标范围。
可选地,所述三维映射模型包括三维球体模型;所述根据三维映射模型中确定的所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的步骤,包括:根据所述全景视频图像与所述三维球体模型的映射关系和所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域。
可选地,所述图像最低相关点的位置坐标包括图像最低相关点的纬度和经度;所述坐标范围包括:以所述图像最低相关点为中心的纬度坐标范围和经度坐标范围;所述根据所述全景视频图像与所述三维球体模型的映射关系和所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的步骤,包括:根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的纬度以及所述纬度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的高度范围;根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的经度以及所述经度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的宽度范围。
可选地,所述全景视频图像为矩形图像或椭圆形图像;若所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的高度映射为所述三维球体模型的直径,则:所述根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的纬度以及所述纬度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的高度范围的步骤,包括:
当α+β/2<=π/2并且α-β/2>=-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α+β/2>π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
T11=0;
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α-β/2<-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
B12=H
和/或,
若所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的高度映射为所述三维球体模型的经度圆周的半周长,则:
所述根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的纬度以及所述纬度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的高度范围的步骤,包括:
当α+β/2<=π/2并且α-β/2>=-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α+β/2>π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
T11=0;
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α-β/2<-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
B12=H
其中,α表示所述图像最低相关点的纬度,β表示所述纬度坐标范围对应的角度值,H表示所述全景视频图像的高度,T1表示所述丢弃图像区域的高度范围的上边界值,B1表示所述丢弃图像区域的高度范围的下边界值,T11表示所述丢弃图像区域中第一区域的高度范围的上边界值,B11表示所述丢弃图像区域中第一区域的高度范围的下边界值,T12表示所述丢弃图像区域中第二区域的高度范围的上边界值,B12表示所述丢弃图像区域中第二区域的高度范围的下边界值。
可选地,所述全景视频图像为矩形图像;所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的宽度映射为所述三维球体模型的赤道周长,则:所述根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的经度以及所述经度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的宽度范围的步骤,包括:
当δ-γ/2>=0并且δ+γ/2<=2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
当δ-γ/2<0时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=0
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=W
当δ+γ/2>2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=0
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=W
其中,δ表示所述图像最低相关点的经度,γ表示所述经度坐标范围对应的角度值,W表示全景视频图像的宽度,L1表示所述丢弃图像区域的宽度范围的左边界值,R1表示所述丢弃图像区域的宽度范围的右边界值,L11表示所述丢弃图像区域中第一区域的宽度范围的左边界值,R11表示所述丢弃图像区域中第一区域的宽度范围的右边界值,L12表示所述丢弃图像区域中第二区域的宽度范围的左边界值,R12表示所述丢弃图像区域中第二区域的宽度范围的右边界值。
可选地,所述全景视频图像为椭圆形图像;所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的宽度映射为所述三维球体模型的赤道周长,则:所述根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的经度以及所述经度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的宽度范围的步骤,包括:
当δ-γ/2>=0并且δ+γ/2<=2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
当δ-γ/2<0时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=s
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=s+w
当δ+γ/2>2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=s
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=s+w
其中,δ表示所述图像最低相关点的经度,γ表示所述经度坐标范围对应的角度值,s表示全景视频图像中每行图像的起点横坐标,w表示全景视频图像中每行图像的宽度,L1表示所述丢弃图像区域的宽度范围的左边界值,R1表示所述丢弃图像区域的宽度范围的右边界值,L11表示所述丢弃图像区域中第一区域的宽度范围的左边界值,R11表示所述丢弃图像区域中第一区域的宽度范围的右边界值,L12表示所述丢弃图像区域中第二区域的宽度范围的左边界值,R12表示所述丢弃图像区域中第二区域的宽度范围的右边界值。
可选地,所述将待输出的全景视频图像中除所述丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端的步骤,包括:根据所述丢弃图像区域,获取所述全景视频图像中除所述丢弃图像区域之外的剩余区域,并对所述剩余区域进行渲染;将渲染后得到的图像数据传输至视频图像输出终端;或者,对所述全景视频图像进行渲染;将所述渲染后得到的图像数据中与所述丢弃图像区域对应的数据设置为特定值,并对设置后的图像数据进行编码;将编码后的图像数据传输至视频图像输出终端。
可选地,所述将待输出的全景视频图像中除所述丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端的步骤,包括:将所述剩余区域的图像数据以及所述视角方向数据,传输给视频图像输出终端,以使所述视频图像输出终端根据所述视角方向数据,确定所述全景视频图像的丢弃图像区域。
第二方面,本发明实施例提供一种视频播放的控制方法,应用于视频图像输出终端,包括:
实时获取用户的视角方向数据,并将所述视角方向数据发送给服务器端;
接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据;
将所述剩余区域的图像数据映射到预先确定的三维映射模型中;
从映射后的三维映射模型中获取与所述用户的可视角对应的图像部分,并播放与所述用户的可视角对应的所述图像部分。
可选地,所述接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据的步骤,包括:接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据以及所述剩余区域的图像数据对应的视角方向数据;在播放所述图像部分后,所述控制方法还包括:根据所述视角方向数据,确定映射后的三维映射模型中所述丢弃图像区域的坐标范围;实时获取用户的当前视角方向数据,根据实时获取的当前视角方向数据,确定映射后的三维映射模型中与所述用户的可视角对应的图像部分是否落入所述丢弃图像区域的坐标范围;其中,若映射后的三维映射模型中与所述用户的可视角对应的图像部分落入所述丢弃图像区域的坐标范围,则从之前映射后的、最近一次包含有与丢弃图像区域对应的图像部分的三维映射模型中,获取与所述用户的可视角对应的丢弃图像区域的图像部分,并利用获取的丢弃图像区域的图像部分进行显示;或者,从映射后的三维映射模型中,获取与所述用户的当前可视角相关的、所述丢弃图像区域的相邻区域的图像部分,并将丢弃图像区域的相邻区域的图像部分作为与所述用户的当前可视角对应的图像部分进行显示。
第三方面,本发明实施例提供一种视频播放的控制装置,应用于服务器端,包括:
第一接收模块,用于接收用户的视角方向数据;
获取模块,用于根据所述视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与所述用户的可视角不相关的区域的坐标范围;
确定模块,用于根据三维映射模型中确定的所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域;
输出模块,用于将待输出的全景视频图像中除所述丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端。
可选地,所述获取模块包括:第一确定单元,用于根据所述视角方向数据,确定用户的当前视点在所述三维映射模型上的位置坐标;第二确定单元,用于根据所述当前视点在所述三维映射模型上的位置坐标,确定在所述三维映射模型上的图像最低相关点的位置坐标,其中,所述图像最低相关点为所述当前视点与所述三维映射模型的中心点的连线的延长线与所述三维映射模型的交点;获取单元,用于根据所述图像最低相关点的位置坐标,获取在三维映射模型中与所述用户的当可视角不相关的区域的坐标范围。
可选地,所述获取单元用于,根据用户在所述三维映射模型上的可视角和所述图像最低相关点的位置坐标,确定三维映射模型中与所述用户的可视角不相关的区域的坐标范围;或者,根据所述图像最低相关点的位置坐标和预先设定的偏移范围,确定三维映射模型中与所述用户的可视角不相关的区域的坐标范围。
可选地,所述三维映射模型包括三维球体模型;所述确定模块用于,根据所述全景视频图像与所述三维球体模型的映射关系和所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域。
可选地,所述图像最低相关点的位置坐标包括图像最低相关点的纬度和经度;所述坐标范围包括:以所述图像最低相关点为中心的纬度坐标范围和经度坐标范围;所述确定模块包括:第三确定单元,用于根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的纬度以及所述纬度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的高度范围;第四确定单元,用于根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的经度以及所述经度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的宽度范围。
可选地,所述全景视频图像为矩形图像或椭圆形图像;若所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的高度映射为所述三维球体模型的直径,则所述第三确定单元用于:
当α+β/2<=π/2并且α-β/2>=-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α+β/2>π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
T11=0;
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α-β/2<-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
B12=H
和/或,
若所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的高度映射为所述三维球体模型的经度圆周的半周长,则所述第三确定单元用于:
当α+β/2<=π/2并且α-β/2>=-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α+β/2>π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
T11=0;
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α-β/2<-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
B12=H
其中,α表示所述图像最低相关点的纬度,β表示所述纬度坐标范围对应的角度值,H表示所述全景视频图像的高度,T1表示所述丢弃图像区域的高度范围的上边界值,B1表示所述丢弃图像区域的高度范围的下边界值,T11表示所述丢弃图像区域中第一区域的高度范围的上边界值,B11表示所述丢弃图像区域中第一区域的高度范围的下边界值,T12表示所述丢弃图像区域中第二区域的高度范围的上边界值,B12表示所述丢弃图像区域中第二区域的高度范围的下边界值。
可选地,所述全景视频图像为矩形图像;所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的宽度映射为所述三维球体模型的赤道周长,则所述第四确定单元用于:
当δ-γ/2>=0并且δ+γ/2<=2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
当δ-γ/2<0时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=0
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=W
当δ+γ/2>2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=0
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=W
其中,δ表示所述图像最低相关点的经度,γ表示所述经度坐标范围对应的角度值,W表示所述全景视频图像的宽度,L1表示所述丢弃图像区域的宽度范围的左边界值,R1表示所述丢弃图像区域的宽度范围的右边界值,L11表示所述丢弃图像区域中第一区域的宽度范围的左边界值,R11表示所述丢弃图像区域中第一区域的宽度范围的右边界值,L12表示所述丢弃图像区域中第二区域的宽度范围的左边界值,R12表示所述丢弃图像区域中第二区域的宽度范围的右边界值。
可选地,所述全景视频图像为椭圆形图像;所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的宽度映射为所述三维球体模型的赤道周长,则所述第四确定单元用于:
当δ-γ/2>=0并且δ+γ/2<=2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
当δ-γ/2<0时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=s
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=s+w
当δ+γ/2>2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=s
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=s+w
其中,δ表示所述图像最低相关点的经度,γ表示所述经度坐标范围对应的角度值,s表示全景视频图像中每行图像的起点横坐标,w表示全景视频图像中每行图像的宽度,L1表示所述丢弃图像区域的宽度范围的左边界值,R1表示所述丢弃图像区域的宽度范围的右边界值,L11表示所述丢弃图像区域中第一区域的宽度范围的左边界值,R11表示所述丢弃图像区域中第一区域的宽度范围的右边界值,L12表示所述丢弃图像区域中第二区域的宽度范围的左边界值,R12表示所述丢弃图像区域中第二区域的宽度范围的右边界值。
可选地,所述输出模块包括:第一输出单元,用于根据所述丢弃图像区域,获取所述全景视频图像中除所述丢弃图像区域之外的剩余区域,并对所述剩余区域进行渲染;将渲染后得到的图像数据传输至视频图像输出终端;或者,第二输出单元,用于对所述全景视频图像进行渲染;将所述渲染后得到的图像数据中与所述丢弃图像区域对应的数据设置为特定值,并对设置后的图像数据进行编码;将编码后的图像数据传输至视频图像输出终端。
可选地,所述输出模块用于,将所述剩余区域的图像数据以及所述视角方向数据,传输给视频图像输出终端,以使所述视频图像输出终端根据所述视角方向数据,确定所述全景视频图像的丢弃图像区域。
第四方面,本发明实施例提供一种视频播放的控制装置,应用于视频图像输出终端,包括:
发送模块,用于实时获取用户的视角方向数据,并将所述视角方向数据发送给服务器端;
第二接收模块,用于接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据;
映射模块,用于将所述剩余区域的图像数据映射到预先确定的三维映射模型中;
播放模块,用于从映射后的三维映射模型中获取与所述用户的可视角对应的图像部分,并播放与所述用户的可视角对应的所述图像部分。
可选地,所述第二接收模块用于,接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据以及所述剩余区域的图像数据对应的视角方向数据;所述控制装置还包括:坐标范围确定模块,用于在播放模块播放所述图像部分之后,根据所述视角方向数据,确定映射后的三维映射模型中所述丢弃图像区域的坐标范围;判断模块,用于实时获取用户的当前视角方向数据,根据实时获取的当前视角方向数据,确定映射后的三维映射模型中与所述用户的可视角对应的图像部分是否落入所述丢弃图像区域的坐标范围;其中,若映射后的三维映射模型中与所述用户的可视角对应的图像部分落入所述丢弃图像区域的坐标范围,则从之前映射后的、最近一次包含有与丢弃图像区域对应的图像部分的三维映射模型中,获取与所述用户的可视角对应的丢弃图像区域的图像部分,并利用获取的丢弃图像区域的图像部分进行显示;或者,从映射后的三维映射模型中,获取与所述用户的当前可视角相关的、所述丢弃图像区域的相邻区域的图像部分,并将丢弃图像区域的相邻区域的图像部分作为与所述用户的当前可视角对应的图像部分进行显示。
第五方面,本发明实施例还提供一种计算机可读存储介质,用于存储进行视频播放的计算机程序,所述计算机程序可被处理器执行如第一方面中任一项所述的应用于服务器端的视频播放的控制方法。
第六方面,本发明实施例还提供一种计算机可读存储介质,用于存储进行视频播放的计算机程序,所述计算机程序可被处理器执行如第二方面中任一项所述的应用于视频图像输出终端的视频播放的控制方法。
第七方面,本发明实施例提供一种电子设备,所述电子设备包括一个或多个处理器,所述处理器被配置为执行如下控制方法:
接收用户的视角方向数据;
根据所述视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与所述用户的可视角不相关的区域的坐标范围;
根据三维映射模型中确定的所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域;
将待输出的全景视频图像中除所述丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端。
第八方面,本发明实施例还提供一种电子设备,所述电子设备包括一个或多个处理器,所述处理器被配置为执行如下控制方法:
实时获取用户的视角方向数据,并将所述视角方向数据发送给服务器端;
接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据;
将所述剩余区域的图像数据映射到预先确定的三维映射模型中;
从所述映射后的三维映射模型中获取与所述用户的可视角对应的图像部分,并播放与所述用户的可视角对应的所述图像部分。
本发明的有益效果是:
本发明实施例,通过接收用户的视角方向数据,并根据该视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与用户的可视角不相关的区域的坐标范围,并根据三维映射模型中确定的坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域,最后将待输出的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端。这样,本发明实施例只是将待输出的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据传输至视频图像输出终端,这相对于传输360度全景视频图像的全部图像数据,降低了拼接360度全景视频图像摄像机的个数,减少了拼接算法处理的次数,降低了视频图像编码的处理时间,并且在相同的参数下降低了码率,从而降低了视频传输的消耗;此外,由于将全景视频图像中除丢弃图像区域之外的剩余区域的图像数据传输至视频图像输出终端,因此相对于只传输用户可视角范围内的图像数据的方式,减少了由于图像数据传输延迟造成的卡顿的问题,从而解决了现有技术中在进行全景视频播放时存在的要么消耗较大以及要么视频卡顿较为严重的问题。
附图说明
图1表示本发明的第一实施例中视频播放的控制方法的步骤流程图;
图2表示本发明的第二实施例中视频播放的控制方法的步骤流程图;
图3表示三维球体模型中当前视点与图像最低相关点之间的位置示意图;
图4表示三维球体模型的纬度切面示意图;
图5表示矩形图像中丢弃图像区域的高度范围的显示图;
图6表示椭圆形图像中丢弃图像区域的高度范围的显示图;
图7表示椭圆形图像中丢弃图像区域的第一区域和第二区域的高度范围的显示图;
图8表示三维球体模型的经度切面示意图;
图9表示矩形图像中丢弃图像区域的第一区域和第二区域的宽度范围的显示图;
图10表示椭圆形图像中丢弃图像区域的第一区域和第二区域的宽度范围的显示图;
图11表示本发明的第三实施例中视频播放的控制方法的步骤流程图;
图12表示本发明的第四实施例中视频播放的控制装置的结构框图;
图13表示本发明的第五实施例中视频播放的控制装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第一实施例:
如图1所示,为本发明的第一实施例中视频播放的控制方法的步骤流程图,该控制方法应用于服务器端,包括:
步骤101,接收用户的视角方向数据。
在本步骤中,服务器端可以接收视频图像输出终端实时传输的视角方向数据。具体的,该视角方向数据可以为陀螺仪数据,该陀螺仪数据可以用于指示用户的观看姿态,即用于指示用户的视角方向。这样,服务器端在接收到视频图像输出终端实时传输的陀螺仪数据时,可以实时获取用户的视角方向数据。
步骤102,根据视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与用户的可视角不相关的区域的坐标范围。
在本步骤中,具体的,服务器端在接收到用户的视角方向数据之后,可以利用预先确定的三维映射模型,获取在三维映射模型中与用户的可视角不相关的区域的坐标范围。具体的,该三维映射模型可以包括三维球体模型、三维立体模型等。此外,具体的,由于视角方向数据可以用于指示用户的观看姿态,即指示用户的当前视点,因此也可以根据该视角方向数据获取用户的可视角。具体的,该可视角以当前视点为中心。
步骤103,根据三维映射模型中确定的坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域。
在本步骤中,具体的,在获取到三维映射模型中与用户的可视角不相关的区域的坐标范围之后,可以根据三维映射模型中确定的坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域。
步骤104,将待输出的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端。
在本步骤中,具体的,在确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域之后,可以获取全景视频图像中除丢弃图像区域之外的剩余区域的图像数据,并将剩余区域的图像数据传输至视频图像输出终端。
这样,本实施例根据用户的视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与用户的可视角不相关的区域的坐标范围,并根据三维映射模型中确定的坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域,最后将待输出的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端。这相对于现有技术中传输360度全景视频图像的全部数据的方式,使得可以在不影响用户正常观看可视角范围内的视频图像的前提下,减少了视频图像的传输数据量,从而降低拼接360度全景视频图像摄像机的个数,减少拼接算法处理的次数,降低视频图像编码的处理时间,并且在相同的参数下降低了码率,从而降低了视频传输的消耗;此外,由于将全景视频图像中除丢弃图像区域之外的剩余区域的图像数据传输至视频图像输出终端,因此相对于只传输用户可视角范围内的图像数据的方式,减少了由于图像数据传输延迟造成的卡顿的问题。
第二实施例:
如图2所示,为本发明的第二实施例中视频播放的控制方法的步骤流程图,该控制方法应用于服务器端,包括:
步骤201,接收用户的视角方向数据。
在本步骤中,服务器端可以接收视频图像输出终端实时传输的视角方向数据。具体的,该视角方向数据可以为陀螺仪数据,该陀螺仪数据可以用于指示用户的观看姿态,即用于指示用户的视角方向。这样,服务器端在接收到视频图像输出终端实时传输的陀螺仪数据时,可以实时获取用户的视角方向数据。
步骤202,根据视角方向数据,确定用户的当前视点在三维映射模型上的位置坐标。
在本步骤中,具体的,用户的视角方向数据为指示用户当前视点的数据。服务器在接收用户的视角方向数据之后,可以利用预先确定的三维映射模型,将当前视点映射到三维映射模型上,从而确定用户的当前视点在三维映射模型上的位置坐标。具体的,当前视点在三维映射模型上的位置坐标包括经纬度坐标。
步骤203,根据当前视点在三维映射模型上的位置坐标,确定在三维映射模型上的图像最低相关点的位置坐标。
在本步骤中,具体的,图像最低相关点为当前视点与三维映射模型的中心点的连线的延长线与三维映射模型的交点。这样,在确定当前视点的位置坐标之后,可以根据当前视点的位置坐标,确定三维映射模型上的图像最低相关点的位置坐标。具体的,图像最低相关点的位置坐标包括图像最低相关点的经度坐标和纬度坐标。
具体的,在此可以以三维映射模型为三维球体模型进行具体说明。如图3所示,为三维球体模型中当前视点与图像最低相关点之间的位置示意图。在图3中,A点为当前视点,B点为当前视点与三维映射模型的中心点的连线的延长线与三维映射模型的交点,即图像最低相关点。
步骤204,根据图像最低相关点的位置坐标,获取在三维映射模型中与用户的可视角不相关的区域的坐标范围。
在本步骤中,具体的,在确定当前视点在三维映射模型上的位置坐标之后,可以根据当前视点在三维映射模型上的位置坐标,获取用户的可视角范围,其中,该可视角范围以当前视点为中心。
具体的,在根据图像最低相关点的位置坐标,获取在三维映射模型中与用户的可视角不相关的区域的坐标范围时,可以根据用户在三维映射模型上的可视角和图像最低相关点的位置坐标,确定三维映射模型中与用户的可视角不相关的区域的坐标范围。具体的,该与用户的可视角不相关的区域的坐标范围可以为以图像最低相关点为中心,以可视角的角度范围对应的区域的坐标范围。具体参见图3,假设a为可视角,则b为与用户的可视角不相关的区域的坐标范围。
此外,在根据图像最低相关点的位置坐标,获取在三维映射模型中与用户的可视角不相关的区域的坐标范围时,还可以根据图像最低相关点的位置坐标和预先设定的偏移范围,确定三维映射模型中与用户的可视角不相关的区域的坐标范围。具体的,预先设定好偏移范围之后,可以以图像最低相关点为中心进行偏移,从而得到与用户的可视角不相关的区域的坐标范围。此外,具体的,该偏移范围可以根据人头部的运动规律来确定。例如,人头部水平转动,视频图像输出终端会实时向服务器端发送陀螺仪数据(视角方向数据),此时只要保证头部以最大速度转动时,在服务器端返回当前时刻的视角方向数据对应的图像数据之前,头部还没有转动到前一时刻的视角方向数据对应的丢弃图像区域内即可。例如,由于VR体验时,人头部从正前方到水平转动90度时大概需要150ms,这时视频图像返回时间控制在100ms以内,则可以使得头部还没有转动到前一时刻的视角方向数据对应的丢弃图像区域内时,当前时刻的视角方向数据对应的图像数据已经传输至视频图像输出终端。
步骤205,根据全景视频图像与三维球体模型的映射关系和坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域。
在本步骤中,具体的,三维映射模型包括三维球体模型,此时在根据三维映射模型中确定的坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域时,可以先根据全景视频图像与三维球体模型的映射关系和坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域。
其中,具体的,全景视频图像与三维球体模型的映射关系可以包括全景视频图像的高度映射为三维球体模型的直径、全景视频图像的高度映射为三维球体模型的经度圆周的半周长、全景视频图像的宽度映射为三维球体模型的赤道周长。此外,在映射时,全景视频图像的左上方可以作为全景视频图像的高度和宽度的起点。
此外,图像最低相关点的位置坐标包括图像最低相关点的纬度和经度;坐标范围包括:以图像最低相关点为中心的纬度坐标范围和经度坐标范围;这样在根据全景视频图像与三维球体模型的映射关系和坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域时,可以根据全景视频图像与三维球体模型的映射关系、图像最低相关点的纬度以及纬度坐标范围,得到待输出的全景视频图像中与坐标范围对应的丢弃图像区域的高度范围;并根据全景视频图像与三维球体模型的映射关系、图像最低相关点的经度以及经度坐标范围,得到待输出的全景视频图像中与坐标范围对应的丢弃图像区域的宽度范围。
下面分别对得到待输出的全景视频图像中与坐标范围对应的丢弃图像区域的高度范围和宽度范围进行具体说明。
其一,当全景视频图像为矩形图像或椭圆形图像,且全景视频图像与三维球体模型的映射关系包括:全景视频图像的高度映射为三维球体模型的直径时,根据全景视频图像与三维球体模型的映射关系、图像最低相关点的纬度以及纬度坐标范围,得到待输出的全景视频图像中与坐标范围对应的丢弃图像区域的高度范围可以包括如下几种情况:
当α+β/2<=π/2并且α-β/2>=-π/2时,此时丢弃图像区域不包括三维球体模型的南极点和北极点,则:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α+β/2>π/2时,此时丢弃图像区域包括三维球体模型的北极点,此时丢弃图像区域包括第一区域和第二区域两个区域,而且,当全景视频图像为矩形图像时,第一区域的宽度为矩形图像的宽度,当全景视频图像为椭圆形图像时,第一区域的宽度为全景视频图像中每行图像的宽度,则:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
T11=0;
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α-β/2<-π/2时,此时丢弃图像区域包括三维球体模型的南极点,此时丢弃图像区域包括第一区域和第二区域两个区域,而且,当全景视频图像为矩形图像时,第二区域的宽度为矩形图像的宽度,当全景视频图像为椭圆图像时,第二区域的宽度为全景视频图像中每行图像的宽度,则:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
B12=H
和/或,
若全景视频图像与三维球体模型的映射关系包括:全景视频图像的高度映射为三维球体模型的经度圆周的半周长,则:根据全景视频图像与三维球体模型的映射关系、图像最低相关点的纬度以及纬度坐标范围,得到待输出的全景视频图像中与坐标范围对应的丢弃图像区域的高度范围时,可以包括如下几种情况:
当α+β/2<=π/2并且α-β/2>=-π/2时,此时丢弃图像区域不包括三维球体模型的南极点和北极点,则:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α+β/2>π/2时,此时丢弃图像区域包括三维球体模型的北极点,此时丢弃图像区域包括第一区域和第二区域两个区域,而且,当全景视频图像为矩形图像时,第一区域的宽度为矩形图像的宽度,当全景视频图像为椭圆图像时,第一区域的宽度为全景视频图像中每行图像的宽度,则:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
T11=0;
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α-β/2<-π/2时,此时丢弃图像区域包括三维球体模型的南极点,此时丢弃图像区域包括第一区域和第二区域两个区域,而且,当全景视频图像为矩形图像时,第二区域的宽度为矩形图像的宽度,当全景视频图像为椭圆图像时,第二区域的宽度为全景视频图像中每行图像的宽度,则:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
B12=H
其中,α表示图像最低相关点的纬度,β表示纬度坐标范围对应的角度值,H表示全景视频图像的高度,T1表示丢弃图像区域的高度范围的上边界值,B1表示丢弃图像区域的高度范围的下边界值,T11表示丢弃图像区域中第一区域的高度范围的上边界值,B11表示丢弃图像区域中第一区域的高度范围的下边界值,T12表示丢弃图像区域中第二区域的高度范围的上边界值,B12表示丢弃图像区域中第二区域的高度范围的下边界值。
具体的,如图4所示,在图4中B点表示图像最低相关点,α表示图像最低相关点的纬度,β表示纬度坐标范围对应的角度值。此外,在得到丢弃图像区域的高度范围的上边界值和下边界值之后,若全景视频图像为矩形图像,则可以得到如图5中所示的丢弃图像区域的高度范围的显示图,具体的,在图5中,T1至B1之间的垂直区域表示丢弃图像区域的高度范围;若全景视频图像为椭圆形图像,则可以得到如图6中所示的丢弃图像区域的高度范围的显示图,具体的,在图6中,T1至B1之间的垂直区域表示丢弃图像区域的高度范围。另外,若丢弃图像区域包括第一区域和第二区域,则可以在分别得到丢弃图像区域中第一区域的高度范围的上边界值和下边界值以及第二区域的高度范围的上边界值和下边界值之后,若全景视频图像为椭圆形图像,则可以得到如图7中所示的丢弃图像区域的第一区域和第二区域的高度范围的显示图,具体的,在图7中,B11至上边界线(即W轴线)之间的垂直区域表示第一区域的高度范围,T12至B12之间的垂直区域表示第二区域的高度范围。
其二,当全景视频图像为矩形图像,且全景视频图像与三维球体模型的映射关系包括:全景视频图像的宽度映射为三维球体模型的赤道周长时,根据全景视频图像与三维球体模型的映射关系、图像最低相关点的经度以及经度坐标范围,得到待输出的全景视频图像中与坐标范围对应的丢弃图像区域的宽度范围,可以包括如下几种方式:
当δ-γ/2>=0并且δ+γ/2<=2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
当δ-γ/2<0时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=0
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=W
当δ+γ/2>2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=0
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=W
其中,δ表示图像最低相关点的经度,γ表示经度坐标范围对应的角度值,W表示全景视频图像的宽度,L1表示丢弃图像区域的宽度范围的左边界值,R1表示丢弃图像区域的宽度范围的右边界值,L11表示丢弃图像区域中第一区域的宽度范围的左边界值,R11表示丢弃图像区域中第一区域的宽度范围的右边界值,L12表示丢弃图像区域中第二区域的宽度范围的左边界值,R12表示丢弃图像区域中第二区域的宽度范围的右边界值。
具体的,如图8所示,在图8中B点表示图像最低相关点,δ表示图像最低相关点的经度,γ表示经度坐标范围对应的角度值。此外,若丢弃图像区域包括第一区域和第二区域,则可以在分别得到丢弃图像区域中第一区域的宽度范围的左边界值和右边界值以及第二区域的宽度范围的左边界值和右边界值之后,若全景视频图像为矩形图像,则可以得到如图9中所示的丢弃图像区域的第一区域和第二区域的宽度范围的显示图,具体的,在图9中,H轴线至R11之间的水平区域表示第一区域的宽度范围,L12至整个区域的右边界之间的水平区域表示第二区域的宽度范围。
其三,当全景视频图像为椭圆形图像,且全景视频图像与三维球体模型的映射关系包括:全景视频图像的宽度映射为三维球体模型的赤道周长时,根据全景视频图像与三维球体模型的映射关系、图像最低相关点的经度以及经度坐标范围,得到待输出的全景视频图像中与坐标范围对应的丢弃图像区域的宽度范围,可以包括如下几种方式:
当δ-γ/2>=0并且δ+γ/2<=2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
当δ-γ/2<0时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=s
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=s+w
当δ+γ/2>2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=s
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=s+w
其中,δ表示图像最低相关点的经度,γ表示经度坐标范围对应的角度值,s表示全景视频图像中每行图像的起点横坐标,w表示全景视频图像中每行图像的宽度,L1表示丢弃图像区域的宽度范围的左边界值,R1表示丢弃图像区域的宽度范围的右边界值,L11表示丢弃图像区域中第一区域的宽度范围的左边界值,R11表示丢弃图像区域中第一区域的宽度范围的右边界值,L12表示丢弃图像区域中第二区域的宽度范围的左边界值,R12表示丢弃图像区域中第二区域的宽度范围的右边界值。
具体的,如图10所示,若丢弃图像区域包括第一区域和第二区域,则可以在分别得到丢弃图像区域中第一区域的宽度范围的左边界值和右边界值以及第二区域的宽度范围的左边界值和右边界值之后,若全景视频图像为椭圆形图像,则可以得到如图10中所示的丢弃图像区域的第一区域和第二区域的宽度范围的显示图,具体的,在图10中,H轴线至R11之间的水平区域表示第一区域的宽度范围,L12至整个区域的右边界之间的水平区域表示第二区域的宽度范围。
步骤206,将剩余区域的图像数据以及视角方向数据,传输给视频图像输出终端。
在本步骤中,具体的,在将待输出的全景视频图像中除丢弃图像数据之外的剩余区域的图像数据,传输至视频图像输出终端时,可以将剩余区域的图像数据以及视角方向数据,传输给视频图像输出终端,以使视频图像输出终端在接收到视角方向数据之后,能够根据视角方向数据,确定全景视频图像的丢弃图像区域。
此外,具体的,在将待输出的全景视频图像中除丢弃图像数据之外的剩余区域的图像数据,传输至视频图像输出终端时,可以根据丢弃图像区域,获取全景视频图像中除丢弃图像区域之外的剩余区域,并对剩余区域进行渲染,然后将渲染后得到的图像数据传输至视频图像输出终端;或者可以对全景视频图像进行渲染,然后将渲染后得到的图像数据中与丢弃图像区域对应的数据设置为特定值,并对设置后的图像数据进行编码,最后将编码后的图像数据传输至视频图像输出终端。
这样,本发明实施例通过全景视频图像与三维球体模型的映射关系和坐标范围,确定待输出的全景视频图像中与坐标范围对应的丢弃图像区域,并将待输出的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端,相对于传输360度全景视频图像的全部图像数据,降低了拼接360度全景视频图像摄像机的个数,减少了拼接算法处理的次数,降低了视频图像编码的处理时间,并且在相同的参数下降低了码率,从而降低了视频传输的消耗;此外相对于只传输用户可视角范围内的图像数据的方式,减少了由于图像数据传输延迟造成的卡顿的问题,解决了现有技术中在进行全景视频播放时存在的要么消耗较大以及要么视频卡顿较为严重的问题。
第三实施例:
如图11所示,为本发明的第三实施例中视频播放的控制方法的步骤流程图,该控制方法应用于视频图像输出终端,包括:
步骤1101,实时获取用户的视角方向数据,并将视角方向数据发送给服务器端。
在本步骤中,具体的,用户的视角方向数据可以为陀螺仪数据,且该视角方向数据可以用于指示用户的观看姿态,即用于指示用户的视角方向。因此视频图像输出终端可以通过陀螺仪获取用户的视角方向数据,且视频图像输出终端实时获取到该用户的视角方向数据之后,可以将该视角方向数据发送给服务器。
步骤1102,接收服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据。
在本步骤中,具体的,服务器端在接收到用户的视角方向数据之后,可以根据视角方向数据确定在将全景视频图像映射到三维映射模型中时,与用户的可视角不相关的区域的坐标范围对应的丢弃图像区域,并将全景视频图像中除丢弃图像区域之外的剩余区域的图像数据传输至视频图像输出终端。此时,视频图像输出终端接收服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据。
步骤1103,将剩余区域的图像数据映射到预先确定的三维映射模型中。
在本步骤中,具体的,视频图像输出终端在接收到剩余区域的图像数据之后,可以将剩余区域的图像数据映射到预先确定的三维映射模型中,以方便播放与用户的可视角相对应的图像部分。
步骤1104,从映射后的三维映射模型中获取与用户的可视角对应的图像部分,并播放与用户的可视角对应的图像部分。
在本步骤中,具体的,在将剩余区域的图像数据映射到预先确定的三维映射模型中之后,可以根据用户的视角方向数据,从映射后的三维映射模型中获取与用户的可视角对应的图像部分,并播放该与用户的可视角对应的图像部分。
这样,本实施例通过将实时获取的视角方向数据发送给服务器端,并接收服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据,然后将剩余区域的图像数据映射到预先确定的三维映射模型中,最后从映射后的三维映射模型中获取与用户的可视角对应的图像部分,并播放该图像部分。这样,由于映射到三维映射模型中的图像数据为剩余区域的图像数据,相对于只接收可视角对应的图像数据,使得用户在观看全景视频图像并改变可视角时,能够观看到较为流畅的全景视频图像,解决了现有技术中在进行全景视频播放时存在的视频卡顿较为严重的为题,提高了用户体验。
此外,具体的,在接收服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据时,可以同时接收服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据以及剩余区域的图像数据对应的视角方向数据。这样,在播放与用户的可视角对应的图像部分之后,可以根据接收到的视角方向数据,确定映射后的三维映射模型中丢弃图像区域的坐标范围,从而使得视频图像输出终端能够在获取到剩余区域的图像数据的同时,确定与视角方向数据对应的丢弃图像区域的坐标范围。
此外,由于全景视频图像中丢弃图像区域内的数据被丢弃,因此会造成全景视频图像不完整,此时特殊情况下,当用户观看视角发生较大变化时,为了避免用户直接看到丢弃图像区域,在播放与用户的可视角对应的图像部分之后,可以实时获取用户的当前视角方向数据,根据实时获取的当前视角方向数据,确定映射后的三维映射模型中与用户的可视角对应的图像部分是否落入丢弃图像区域的坐标范围。
具体的,若映射后的三维映射模型中与用户的可视角对应的图像部分落入丢弃图像区域的坐标范围,则可以从之前映射后的、最近一次包含有与丢弃图像区域对应的图像部分的三维映射模型中,获取与用户的可视角对应的丢弃图像区域的图像部分,并利用获取的丢弃图像区域的图像部分进行显示;或者,从映射后的三维映射模型中,获取与用户的当前可视角相关的、丢弃图像区域的相邻区域的图像部分,并将丢弃图像区域的相邻区域的图像部分作为与用户的当前可视角对应的图像部分进行显示。这样,即使用户的视角发生较大变化,用户也不会看到全景视频图像中丢弃图像区域内的图像。
这样,本实施例通过将实时获取的视角方向数据发送给服务器端,并接收服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据以及视角方向数据,然后将剩余区域的图像数据映射到预先确定的三维映射模型中,最后从映射后的三维映射模型中获取与用户的可视角对应的图像部分,并播放该图像部分。这样,由于映射到三维映射模型中的图像数据为剩余区域的图像数据,相对于只接收可视角对应的图像数据,使得用户在观看全景视频图像并改变可视角时,能够观看到较为流畅的全景视频图像,解决了现有技术中在进行全景视频播放时存在的视频卡顿较为严重的为题,提高了用户体验。
第四实施例:
如图12所示,为本发明的第四实施例中视频播放的控制装置的结构框图,该控制装置应用于服务器端,包括:
第一接收模块1201,用于接收用户的视角方向数据;
获取模块1202,用于根据所述视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与所述用户的可视角不相关的区域的坐标范围;
确定模块1203,用于根据三维映射模型中确定的所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域;
输出模块1204,用于将待输出的全景视频图像中除所述丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端。
可选地,所述获取模块1202包括:第一确定单元,用于根据所述视角方向数据,确定用户的当前视点在所述三维映射模型上的位置坐标;第二确定单元,用于根据所述当前视点在所述三维映射模型上的位置坐标,确定在所述三维映射模型上的图像最低相关点的位置坐标,其中,所述图像最低相关点为所述当前视点与所述三维映射模型的中心点的连线的延长线与所述三维映射模型的交点;获取单元,用于根据所述图像最低相关点的位置坐标,获取在三维映射模型中与所述用户的当可视角不相关的区域的坐标范围。
可选地,所述获取单元用于,根据用户在所述三维映射模型上的可视角和所述图像最低相关点的位置坐标,确定三维映射模型中与所述用户的可视角不相关的区域的坐标范围;或者,根据所述图像最低相关点的位置坐标和预先设定的偏移范围,确定三维映射模型中与所述用户的可视角不相关的区域的坐标范围。
可选地,所述三维映射模型包括三维球体模型;所述确定模块1203用于,根据所述全景视频图像与所述三维球体模型的映射关系和所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域。
可选地,所述图像最低相关点的位置坐标包括图像最低相关点的纬度和经度;所述坐标范围包括:以所述图像最低相关点为中心的纬度坐标范围和经度坐标范围;所述确定模块包括:第三确定单元,用于根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的纬度以及所述纬度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的高度范围;第四确定单元,用于根据所述全景视频图像与所述三维球体模型的映射关系、所述图像最低相关点的经度以及所述经度坐标范围,得到所述待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域的宽度范围。
可选地,所述全景视频图像为矩形图像或椭圆形图像;若所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的高度映射为所述三维球体模型的直径,则所述第三确定单元用于:
当α+β/2<=π/2并且α-β/2>=-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α+β/2>π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
T11=0;
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α-β/2<-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
B12=H
和/或,
若所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的高度映射为所述三维球体模型的经度圆周的半周长,则所述第三确定单元用于:
当α+β/2<=π/2并且α-β/2>=-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α+β/2>π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
T11=0;
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
当α-β/2<-π/2时:
通过如下公式得到所述丢弃图像区域的高度范围的上边界值:
通过如下公式得到所述丢弃图像区域的高度范围的下边界值:
B12=H
其中,α表示所述图像最低相关点的纬度,β表示所述纬度坐标范围对应的角度值,H表示所述全景视频图像的高度,T1表示所述丢弃图像区域的高度范围的上边界值,B1表示所述丢弃图像区域的高度范围的下边界值,T11表示所述丢弃图像区域中第一区域的高度范围的上边界值,B11表示所述丢弃图像区域中第一区域的高度范围的下边界值,T12表示所述丢弃图像区域中第二区域的高度范围的上边界值,B12表示所述丢弃图像区域中第二区域的高度范围的下边界值。
可选地,所述全景视频图像为矩形图像;所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的宽度映射为所述三维球体模型的赤道周长,则所述第四确定单元用于:
当δ-γ/2>=0并且δ+γ/2<=2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
当δ-γ/2<0时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=0
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=W
当δ+γ/2>2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=0
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=W
其中,δ表示所述图像最低相关点的经度,γ表示所述经度坐标范围对应的角度值,W表示全景视频图像的宽度,L1表示所述丢弃图像区域的宽度范围的左边界值,R1表示所述丢弃图像区域的宽度范围的右边界值,L11表示所述丢弃图像区域中第一区域的宽度范围的左边界值,R11表示所述丢弃图像区域中第一区域的宽度范围的右边界值,L12表示所述丢弃图像区域中第二区域的宽度范围的左边界值,R12表示所述丢弃图像区域中第二区域的宽度范围的右边界值。
可选地,所述全景视频图像为椭圆形图像;所述全景视频图像与所述三维球体模型的映射关系包括:所述全景视频图像的宽度映射为所述三维球体模型的赤道周长,则所述第四确定单元用于:
当δ-γ/2>=0并且δ+γ/2<=2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
当δ-γ/2<0时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=s
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=s+w
当δ+γ/2>2π时:
通过如下公式得到所述丢弃图像区域的宽度范围的左边界值:
L11=s
通过如下公式得到所述丢弃图像区域的宽度范围的右边界值:
R12=s+w
其中,δ表示所述图像最低相关点的经度,γ表示所述经度坐标范围对应的角度值,s表示全景视频图像中每行图像的起点横坐标,w表示全景视频图像中每行图像的宽度,L1表示所述丢弃图像区域的宽度范围的左边界值,R1表示所述丢弃图像区域的宽度范围的右边界值,L11表示所述丢弃图像区域中第一区域的宽度范围的左边界值,R11表示所述丢弃图像区域中第一区域的宽度范围的右边界值,L12表示所述丢弃图像区域中第二区域的宽度范围的左边界值,R12表示所述丢弃图像区域中第二区域的宽度范围的右边界值。
可选地,所述输出模块1204包括:第一输出单元,用于根据所述丢弃图像区域,获取所述全景视频图像中除所述丢弃图像区域之外的剩余区域,并对所述剩余区域进行渲染;将渲染后得到的图像数据传输至视频图像输出终端;或者,第二输出单元,用于对所述全景视频图像进行渲染;将所述渲染后得到的图像数据中与所述丢弃图像区域对应的数据设置为特定值,并对设置后的图像数据进行编码;将编码后的图像数据传输至视频图像输出终端。
可选地,所述输出模块1204用于,将所述剩余区域的图像数据以及所述视角方向数据,传输给视频图像输出终端,以使所述视频图像输出终端根据所述视角方向数据,确定所述全景视频图像的丢弃图像区域。
这样,本发明实施例只是将待输出的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据传输至视频图像输出终端,这相对于传输360度全景视频图像的全部图像数据,降低了拼接360度全景视频图像摄像机的个数,减少了拼接算法处理的次数,降低了视频图像编码的处理时间,并且在相同的参数下降低了码率,从而降低了视频传输的消耗;此外,由于将全景视频图像中除丢弃图像区域之外的剩余区域的图像数据传输至视频图像输出终端,因此相对于只传输用户可视角范围内的图像数据的方式,减少了由于图像数据传输延迟造成的卡顿的问题,从而解决了现有技术中在进行全景视频播放时存在的要么消耗较大以及要么视频卡顿较为严重的问题。
第五实施例:
如图13所示,为本发明的第五实施例中视频播放的控制装置的结构框图,该控制装置应用于视频图像输出终端,包括:
发送模块1301,用于实时获取用户的视角方向数据,并将所述视角方向数据发送给服务器端;
第二接收模块1302,用于接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据;
映射模块1303,用于将所述剩余区域的图像数据映射到预先确定的三维映射模型中;
播放模块1304,用于从映射后的三维映射模型中获取与所述用户的可视角对应的图像部分,并播放与所述用户的可视角对应的所述图像部分。
可选地,所述第二接收模块1302用于,接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据以及所述剩余区域的图像数据对应的视角方向数据;所述控制装置还包括:坐标范围确定模块,用于在所述播放模块播放所述图像部分之后,根据所述视角方向数据,确定映射后的三维映射模型中所述丢弃图像区域的坐标范围;判断模块,用于实时获取用户的当前视角方向数据,根据实时获取的当前视角方向数据,确定映射后的三维映射模型中与所述用户的可视角对应的图像部分是否落入所述丢弃图像区域的坐标范围;其中,若映射后的三维映射模型中与所述用户的可视角对应的图像部分落入所述丢弃图像区域的坐标范围,则从之前映射后的、最近一次包含有与丢弃图像区域对应的图像部分的三维映射模型中,获取与所述用户的可视角对应的丢弃图像区域的图像部分,并利用获取的丢弃图像区域的图像部分进行显示;或者,从映射后的三维映射模型中,获取与所述用户的当前可视角相关的、所述丢弃图像区域的相邻区域的图像部分,并将丢弃图像区域的相邻区域的图像部分作为与所述用户的当前可视角对应的图像部分进行显示。
这样,本实施例通过将实时获取的视角方向数据发送给服务器端,并接收服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据以及视角方向数据,然后将剩余区域的图像数据映射到预先确定的三维映射模型中,最后从映射后的三维映射模型中获取与用户的可视角对应的图像部分,并播放该图像部分。这样,由于映射到三维映射模型中的图像数据为剩余区域的图像数据,相对于只接收可视角对应的图像数据,使得用户在观看全景视频图像并改变可视角时,能够观看到较为流畅的全景视频图像,解决了现有技术中在进行全景视频播放时存在的视频卡顿较为严重的为题,提高了用户体验。
第六实施例:
本实施例还提供一种计算机可读存储介质,用于存储进行视频播放的计算机程序,所述计算机程序可被处理器执行前述实施例中应用于服务器端的视频播放的控制方法。
第七实施例:
本实施例还提供一种计算机可读存储介质,用于存储进行视频播放的计算机程序,所述计算机程序可被处理器执行前述实施例中应用于视频图像输出终端的视频播放的控制方法。
第八实施例:
本实施例提供一种电子设备,所述电子设备包括一个或多个处理器,所述处理器被配置为执行如下控制方法:
接收用户的视角方向数据;
根据所述视角方向数据,利用预先确定的三维映射模型,获取在三维映射模型中与所述用户的可视角不相关的区域的坐标范围;
根据三维映射模型中确定的所述坐标范围,确定待输出的全景视频图像中与所述坐标范围对应的丢弃图像区域;
将待输出的全景视频图像中除所述丢弃图像区域之外的剩余区域的图像数据,传输至视频图像输出终端。
第九实施例:
本实施例还提供一种电子设备,所述电子设备包括一个或多个处理器,所述处理器被配置为执行如下控制方法:
实时获取用户的视角方向数据,并将所述视角方向数据发送给服务器端;
接收所述服务器端传输的全景视频图像中除丢弃图像区域之外的剩余区域的图像数据;
将所述剩余区域的图像数据映射到预先确定的三维映射模型中;
从所述映射后的三维映射模型中获取与所述用户的可视角对应的图像部分,并播放与所述用户的可视角对应的所述图像部分。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。