一种全景视频的播放方法和客户端与流程

文档序号:15625799发布日期:2018-10-09 22:56

本发明涉及视频处理领域,尤其涉及一种全景视频的播放方法和客户端。



背景技术:

全景视频又叫360度视频,是指采用多个摄像头对环境进行拍摄,并通过同步、拼接、投影等技术,将多个角度的图像合成全景视频图像,并将多个帧的全景视频图像组成全景视频。用户在观看全景视频时,可以上下左右任意更改观看角度,从而获得更好的观看体验。

全景视频包含了拍摄环境上下左右前后等多个方向的信息,受限于人眼的视场角范围(120度左右)以及显示设备的视场角范围(如目前市面上头戴设备的视角大小通常是96-110度),因此,用户在观看全景视频时,实际上只能看到全景视频的一小部分视角的内容,通常把用户当前实际观看的内容在全景视频坐标系所处的区域称为用户视角。在观看全景视频时,用户可通过拖动鼠标、转动头部等方式来更改用户视角,从而从不同的角度观看全景视频。

客户端根据用户的交互来实时地更新用户视角,并显示全景视频对应区域的内容,这给用户带来更高的观看自由度,但也可能会导致用户错过某些重要/关键事件。例如,用户在观看足球比赛时,某一时刻被观众席一些花絮所吸引,把头转向观众席,而错过了球场上的进球。

现有技术中,服务器可以通过图像识别技术(例如对象跟踪)来识别出全景视频关键事件所发生的区域位置,并生成一系列对应的视角信息,将该视角信息下发给客户端。客户端收到服务器下发的视角信息(即服务器推荐视角)后,自动地将用户视角切换到推荐视角,从而显示对应的关键事件。

该方案虽然可以在观看全景视频过程中,避免用户错过关键事件,然而却存在一系列的缺陷。首先,客户端自动的根据服务器下发的推荐视角切换用户的用户视角,会导致画面的突然切换,影响用户体验;且推荐视角的内容未必是用户感兴趣的内容,自动切换会打断用户先前的观看体验,导致用户反感。比如,用户在观看足球比赛时,注意力被观众席一些花絮所吸引,把头转向观众席,此时此刻该用户就想知道观众席上的某个用户,强制切换回进球的画面,会导致用户无法观看想看的内容,剥夺了用户自由选择用户观看视角的可能,从而降低了用户体验。再者,该方案会导致用户全景观看时,空间感的混乱。例如当佩戴头盔观看全景视频,正常当用户头部偏向左侧时,应该呈现左侧内容,从而让用户有置身其中的感觉;而此时突然画面切换到右侧包含关键事件的推荐视角,将会导致用户头偏左而看到的内容是右侧的内容,这和用户的空间感相违背。



技术实现要素:

本发明提供一种全景视频的播放方法和客户端,使得客户端能够在播放用户视角内容时,直观的指示用户推荐视角内容的发生,以便于让用户自由决策是否需要进行视角的切换。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,本发明实施例提供了一种全景视频的播放方法,包括:客户端获取全景视频的用户视角信息和推荐视角信息。其中,该用户视角信息用于表征用户的用户视角,即用于表征用户实际观看的内容在全景视频坐标系所处的区域。在观看全景视频时,用户可通过拖动鼠标、转动头部等方式来更改用户视角,从而从不同的角度观看全景视频。通常,客户端可以通过根据用户的交互来实时的获取用户的用户视角信息。推荐视角信息用于表征用户的推荐视角,即用于表征关键事件在全景视频坐标系所处的区域。推荐视角为全景视频的制作商事先指定的,或者是由服务器根据某些技术手段(如对象跟踪等图像识别技术)识别的,本发明实施例对于推荐视角的确定方式不做限定。

所述客户端根据所述用户视角信息和推荐视角信息,确定推荐视角对应的视角范围不在用户视角对应的视角范围内;所述客户端显示所述用户视角对应的图像和所述推荐视角对应的图像。

本发明实施例中,客户端在播放全景视频过程中,根据用户的用户视角的视角范围是否包含推荐视角的视角范围,确定是否需要在显示用户视角对应的图像的同时,也一并显示推荐视角对应的图像。在避免用户错过在推荐视角对应的视角范围内发生的关键事件的同时,也避免了自动切换视角导致用户时空错乱以及用户视角控制的灵活度下降的问题。

判断推荐视角对应的视角范围是否在用户视角对应的视角范围内,根据推荐视角信息和用户视角信息的具体表达方式的不同,可以有多种实现方式。

一种可能实现方式中,所述用户视角信息包括所述用户视角在全景视频图像中的位置信息,所述推荐视角信息包括所述推荐视角在全景视频图像中的位置信息;例如,可以采用视角中心的坐标值作为推荐视角和用户视角在全景视频图像中的位置信息,当然也可以采用其他位置,如左上角、右下角等。所述客户端根据所述用户视角信息和推荐视角信息,确定推荐视角对应的视角范围不在用户视角对应的视角范围内,具体为:根据所述用户视角在全景视频图像中的位置信息以及所述推荐视角在全景视频图像中的位置信息,确定所述用户视角和所述推荐视角在全景视频图像中的相对距离;当所述相对距离小于预设阈值时,则确定所述用户视角的视角范围包含所述推荐视角的视角范围,否则,则确定所述用户视角的视角范围不包含所述推荐视角的视角范围。

显然,推荐视角和用户视角距离越远,则两个视角重叠的可能性就越小,进而正在发生的关键事件落入当前用户视角的视角范围内的可能性就越小。这种情况下需要在显示用户视角对应的图像的同时,也一并显示推荐视角对应的图像,以提示用户关键事件的发生。

另一种可能的实现方式中,所述用户视角信息包括所述用户视角在全景视频图像中的位置信息及所述用户视角的视角大小信息,所述推荐视角信息包括所述用户视角在全景视频图像中的位置信息及所述推荐视角的视角大小信息;人的视角都是有限的,一般人的视角为90-120度。根据视角的位置以及视角的大小,即可确定视角的覆盖区域(视角范围)。所述客户端根据所述用户视角信息和推荐视角信息,确定推荐视角对应的视角范围不在用户视角对应的视角范围内,具体为:根据所述用户视角信息和所述推荐视角信息,计算所述用户视角和所述推荐视角在2D平面上的显示区域;确定两个显示区域的重叠面积占所述用户视角或所述推荐视角在2D平面上的显示区域的比例;优选的,可以选择用户视角和推荐视角中在2D平面上的显示区域面积较小的视角对应的显示区域作为计算对象。当该比例超过预设阈值时,则确定所述用户视角的视角范围包括所述推荐视角的视角范围;否则,确定所述用户视角的视角范围不包含所述推荐视角的视角范围。

当然,由于用户视角和推荐视角在2D平面上可能被切割成多个子区域,因此计算重叠面积时,需要对所有的子区域分别进行计算。

推荐视角和用户视角重叠部分越小,则正在发生的关键事件落入当前用户视角的视角范围内的可能性就越小。这种情况下需要在显示用户视角对应的图像的同时,也一并显示推荐视角对应的图像,以提示用户关键事件的发生。

另一种可能的实现方式中,所述用户视角信息包括所述用户视角在全景视频图像中的位置信息,所述推荐视角信息包括所述推荐视角在全景视频图像中的位置信息;且用户视角和推荐视角的位置信息用角度坐标来表示。所述客户端根据所述用户视角信息和推荐视角信息,确定推荐视角对应的视角范围不在用户视角对应的视角范围内,具体为:分别确定球心到所述用户视角和所述推荐视角的向量;计算两个向量间的夹角;当所述夹角小于预设的阈值时,则确定所述用户视角对应的视角范围包含推荐视角对应的视角范围;否则,则确定所述用户视角对应的视角范围不包含推荐视角对应的视角范围。

在全景视频观看过程中,本发明实施例通过设置推荐视角对应的图像的显示位置,来给用户最直观的提示,即提示用户当前时刻,在哪个方向上正在发生什么关键事件。

一种可能的实现方式中,客户端根据所述用户视角信息和所述推荐视角信息,确定所述用户视角和所述推荐视角在全景视频图像中的相对位置;然后根据所述相对位置,确定所述推荐视角对应的图像的显示区域;并且在所述显示区域处,显示所述推荐视角对应的图像。其中,根据所述相对位置,确定所述推荐视角对应的图像的显示区域,具体可以是:从几个预定义的位置中选择一个最佳的显示区域。例如,默认推荐视角只能显示用户视角显示区域的左上、右上、左下、右下四个角落,如果推荐视角位于用户视角的左边和上边,则确定推荐视角对应的图像的显示区域在用户视角对应的图像的左上角;如果推荐视角位于用户视角的右边边和下边,则确定推荐视角对应的图像的显示区域在用户视角对应的图像的右下角,以此类推。当然,也可以是根据推荐视角和用户视角的实际夹角,来计算一个相对位置。例如,如果推荐视角位于用户视角的右侧,则推荐视角对应的图像显示区域位于用户视角对应的图像的右侧,更进一步的,根据推荐视角和用户视角在垂直方向上的夹角,计算出推荐视角对应的图像显示区域在用户视角对应的图像显示区域右侧的具体位置。本发明实施例根据用户视角和推荐视角的在全景视频中的相对位置,确定推荐视角的显示区域,使得当用户想要将视角转向推荐视角的时候,很自然的可以根据推荐视角显示区域的位置,转向该显示区域方向。特别是,当用户带着头盔等装备时,推荐视角显示区域的相对位置可以给用户转移视角最直观的提示。

本发明实施例中客户端在所述显示区域处,显示所述推荐视角对应的图像,根据推荐视角对应的图像和用户视角对应的图像是否在同一个播放窗口中显示,也有多种实现方式。一种可能的实现方式中,客户端基于所述显示区域,将所述推荐视角对应的图像叠加到所述用户视角对应的图像之上;在当前播放窗口中显示叠加后的图像。另一种可能的实现方式中,客户端在当前播放窗口中显示所述用户视角对应的图像;在所述显示区域处,创建推荐视角播放窗口,在所述推荐视角播放窗口中显示所述推荐视角对应的图像;其中,所述推荐视角播放窗口设置在所述用户播放窗口之上。

在用户观看全景视频的过程中,用户视角可能一直处于变化中,另外,一个全景视频可能包括多个推荐视角,不同播放时间对应不同的推荐视角。因此,整个播放过程中的任意时刻,推荐视角对应的视角范围是否在用户视角对应的视角范围内这一判断结果也处于变化中。

客户端可以监控对应的用户交互事件,如用户拖动鼠标、转动头部等,确定当前时刻用户视角发生变化。当用户视角发生变化之后,客户端获取当前时刻对应的推荐视角信息,并判断当前时刻推荐视角对应的视角范围是否在变化后的用户视角对应的视角范围内;当当前时刻推荐视角对应的视角范围在变化后的用户视角对应的视角范围内时,不显示当前时刻推荐视角对应的图像。

客户端也可以监控全景视频当前的播放时间,以此来确定当前时刻的推荐视角发生变化。当确定推荐视角发生变化之后,客户端获取当前时刻对应的用户视角信息;并判断变化后的推荐视角对应的视角范围是否在当前时刻用户视角对应的视角范围内;当变化后的推荐视角对应的视角范围在当前时刻用户视角对应的视角范围内时,不显示当前时刻推荐视角对应的图像。

一种可能的实现方式中,客户端还显示提示信息,用于提示用户切换视角。提示信息可以是文字或者图片形式,例如“双击遥控器左键直接切换到推荐视角”,或者是一个箭头,箭头指向视角切换方向。

第二方面,本发明实施例还提供了一种全景视频播放的客户端,该客户端具有实现上述第一方面中客户端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,客户端的结构中包括处理器和存储器,所述存储器用于存储支持客户端执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述客户端还可以包括通信接口,用于所述客户端与其他设备或通信网络通信。

第三方面,本发明实施例还提供了一种计算机程序产品,当该计算机产品被执行时,其用于执行上述所介绍的客户端所执行的方法。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令用于执行上述所介绍的客户端所执行的方法。

通过以上提供的全景视频播放方法,在全景视频播放过程中,可以在不影响用户的用户视角呈现的情况下,提示并呈现推荐视角的图像,让用户自主的进行视角切换的决策,从而即保证用户自主切换视角的自由度,以及用户视角对应的图像的连续播放,又使得用户不会错过重要内容,提升用户了体验。

附图说明

图1是本发明实施例提供的一种网络架构示意图;

图2是本发明一实施例提供的一种执行客户端功能的计算机硬件结构图;

图3是本发明一实施例提供的一种全景视频播放的方法的流程图;

图4A是本发明一实施例提供的一种判断推荐视角对应的视角范围是否在用户视角对应的视角范围内的示例图;

图4B是本发明另一实施例提供的一种判断推荐视角对应的视角范围是否在用户视角对应的视角范围内的示例图;

图4C是本发明另一实施例提供的一种判断推荐视角对应的视角范围是否在用户视角对应的视角范围内的示例图;

图4D是本发明另一实施例提供的一种判断推荐视角对应的视角范围是否在用户视角对应的视角范围内的示例图;

图4E是本发明另一实施例提供的一种判断推荐视角对应的视角范围是否在用户视角对应的视角范围内的示例图;

图4F是本发明另一实施例提供的一种判断推荐视角对应的视角范围是否在用户视角对应的视角范围内的示例图;

图5A是本发明一实施例提供的确定推荐视角对应的图像相对于用户视角对应的图像的位置的流程图;

图5B是本发明另一实施例提供的确定推荐视角对应的图像相对于用户视角对应的图像的位置的示意图;

图6是本发明另一实施例提供的一种当用户视角或者推荐视角改变时,全景视频的播放方法的流程图;

图7A是本发明一实施例提供的全幅传输的示意图;

图7B是本发明一实施例提供的分块传输的示意图;

图7C是本发明一实施例提供的视角传输的示意图;

图8为本发明一实施例提供的一种在全幅传输方式下全景视频播放的方法流程图;

图9为本发明一实施例提供的一种在分块传输方式下全景视频播放的方法流程图;

图10为本发明一实施例提供的一种在视角传输方式下全景视频播放的方法流程图;

图11是本发明一实施例提供的一种全景视频播放的客户端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了解决上述技术问题,本发明实施例提供一种全景视频播放的方法以及客户端。其中,方法、客户端是基于同一发明构思的,由于解决问题的原理相似,因此方法、客户端的实施可以相互参见,重复之处不再赘述。

本发明实施例提供的技术方案涉及的网络架构如图1所示,包括服务器101、客户端102以及网络103。本发明实施例涉及的客户端具有为用户播放全景视频的功能,客户端上运行全景视频播放器,该播放器可以是安装在客户端上的一个应用,也可以是浏览器上的一个页面。客户端可以是无线终端设备,也可以是有线终端设备。具体的,客户端可以通过网络103与服务器101建立通信连接,从服务器获取播放全景视频所需的信息。无线终端设备可以是具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端设备可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网进行通信,无线终端设备可以是移动终端设备,如移动电话(或称为“蜂窝”电话)和具有移动终端设备的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。有线终端设备可以是有线电视机、有线计算机等。服务器是指提供全景视频服务的设备,服务器可能是单个设备,也可能是提供全景视频服务的一个集群。具体的,本发明实施例涉及的服务器可响应客户端的服务请求,具有为客户端提供全景视频的功能。服务器的构成和通用的计算机架构类似,通常包括处理器、硬盘、内存、系统总线等,例如,服务器可以为个人电脑(Personal Computer,PC)服务器。客户端与服务器之间的通信支持通用的全景视频的媒体传输协议,例如实时传输协议(Real-Time Protocol,RTP)、实时流协议(Real-Time Streaming Protocol,RTSP)、超文本传送协议(HyperText Transfer Protocol,HTTP)、HTTP动态自适应流(Dynamic Adaptive Streaming over HTTP,DASH)媒体协议、HTTP直播流流(HTTP Live Streaming,HLS)媒体协议等。

本发明实施例涉及全景视频播放场景,具体如何在客户端上为用户显示推荐视角播放的场景。

全景视频也称为360度全景视频,全景视频是通过位于中心位置的相机对四周进行360°全景拍摄,用户观看时通过滑动屏幕或转动头部带动头盔等方式来改变用户视角,播放全景视频的画面可以自动随之切换,用户好像身处真实环境中一样。全景视频的基本制作以及播放过程可以简单概括为采集编码、内容传输以及解码渲染这三个阶段。采集编码阶段是指服务器通过部署在同一位置的多个镜头同步采集四周不同的画面,并将多个镜头拍摄的内容进行拼接,选择合适的投影类型对拼接内容进行投影处理并融合成一幅全景视频图像,再利用现有编码器对全景视频图像进行编码。内容传输阶段是指服务器采用媒体传输协议向客户端发送全景视频的过程。解码渲染阶段是指客户端先利用解码器对全景视频进行解码还原得到全景视频图像,根据投影类型对全景视频图像进行3D场景重建,再根据用户视角选择3D场景重建后的全景视频图像上的一部分图像投影呈现给用户。

本发明实施例中,客户端从服务器获取全景视频的推荐视角信息,根据推荐视角对应的图像和用户视角对应的图像在全景视频图像中的位置,确定用户视角对应的图像是否包含推荐视角对应的图像。当确定推荐视角对应的图像不在所述用户视角对应的图像内时,客户端显示用户视角对应的图像和推荐视角对应的图像。具体的,客户端可以采用画中画的形式显示用户视角对应的图像和推荐视角对应的图像。

以上介绍的客户端102和服务器101的相关功能可以通过集成电路/IC等硬件形式实现相应的功能,也可以通过计算机软件执行相应的计算机程序实现来。

如图2所示,为执行本发明中客户端102功能的计算机硬件结构,本申请文件仅以客户端102的实现为例,服务器101的计算机功能实现也是同样的方式,不同的仅仅是在存储器中存储不同的软件代码,具体软件代码的逻辑模块和功能在上述实施例中均有描述,不再重复描述。

计算机设备200包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。

处理器201可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。

通信总线202可包括一通路,在上述组件之间传送信息。

通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。

存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,存储器203用于存储执行本发明方案的应用程序代码,如图中所示其存储有客户端102的三个功能模块对应的逻辑代码,并由处理器201来控制执行。处理器201用于执行存储器203中存储的应用程序代码,从而实现客户端102的逻辑功能。其中,信息交互模块2031用于与服务器进行信息交互,获取本发明实施例中客户端播放全景视频所需的信息;视角范围判断模块2032用于判断推荐视角对应的视角范围是否在用户视角对应的视角范围内;推荐视角显示策略模块2033用于确定是否显示推荐视角对应的图像。

在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中的CPU0和CPU1。

在具体实现中,作为一种实施例,计算机设备200可以包括多个处理器,例如图2中的处理器201和处理器208。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。上述的计算机设备200可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备200可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图2中类似结构的设备。本发明实施例不限定计算机设备200的类型。

通过以上提供的全景视频播放方法,可以在不影响用户的用户视角呈现的情况下,提示并呈现推荐视角的图像,让用户自主的进行视角切换的决策,从而即保证用户自主切换视角的自由度,以及用户视角对应的图像的连续播放,又使得用户不会错过重要内容,提升用户了体验。

以下将结合附图,对判断用户视角对应的视角范围是否包含推荐视角对应的视角范围、确定推荐视角对应的图像的显示区域、以及推荐视角对应的图像的进入和退出等具体过程,对本发明实施例提供的全景视频的播放方法做进一步说明。

如图3所示,为本发明实施例提供的一种全景视频播放的方法,包括如下步骤:

301、客户端获取全景视频的用户视角信息和推荐视角信息;

用户在观看全景视频时,实际上只能看到全景视频的一小部分视角的内容,通常把用户实际观看的内容在全景视频坐标系所处的区域称为用户视角。其中,所述用户视角信息用于表征用户的用户视角,即用于表征用户实际观看的内容在全景视频坐标系所处的区域。在观看全景视频时,用户可通过拖动鼠标、转动头部等方式来更改用户视角,从而从不同的角度观看全景视频。通常,客户端可以通过根据用户的交互来实时的获取用户的用户视角。

推荐视角信息用于表征用户的推荐视角,即用于表征关键事件在全景视频坐标系所处的区域。推荐视角通常使用二维坐标表示,或者使用旋转角角度来表示,推荐视角的表示方法为业界现有技术,本领域相关人员可以采用任何本领域现有方法来表示推荐视角。推荐视角为全景视频的制作商事先指定的,或者是由服务器根据某些技术手段(如对象跟踪等图像识别技术)识别的,本发明实施例对于推荐视角的确定方式不做限定。

需要说明的是,全景视频的不同分片可以有不同的推荐视角,也可以有相同的推荐视角,本发明实施例不做限定。该推荐视角信息可以位于视频分片中,随着视频分片一起下载到客户端本地,客户端解析视频分片时,提取出相应的推荐视角信息;该推荐视角信息也可以不和视频分片放在一起,例如可以将推荐视角信息保存在DASH MPD(Media Presentation Description,MPD)文件中,客户端下载MPD文件并提取出相应的推荐视角信息。其中,MPD文件包括全景视频的视频分片的下载地址以及对应的推荐视角信息。

可选的,如果推荐视角信息不保存在视频分片中时,需要建立推荐视角信息和视频分片的关联关系。一种可能的实现方式中,推荐视角信息中可以进一步包含该推荐视角对应视频分片的指示信息,例如视频分片的标识。另一种可能的实现方式中,推荐视角信息还可以包括该推荐视角对应的时间信息,即该推荐视角信息适用于全景视频中的哪一段时间,例如可以包括推荐视角对应的开始时间和结束时间等。

示例性的,当全景视频播放过程中,例如播放到了第1秒,客户端获取当前时刻(即全景视频第1秒处)用户的用户视角信息以及推荐视角信息。

302、客户端根据用户视角信息和推荐视角信息,判断推荐视角对应的视角范围是否在所述用户视角对应的视角范围内;

当推荐视角在用户视角的视角范围内时,客户端以用户视角向用户显示全景视频时,用户也不会错过关键/重要信息;但是,当推荐视角不在用户视角的视角范围内时,客户端只以用户视角向用户显示全景视频时,用户则会错过关键/重要信息。

客户端判断推荐视角对应的视角范围是否在所述用户视角对应的视角范围内,可以有多种实现方式,本发明接下来的实施例将展开论述。

需要说明是,客户端判断推荐视角对应的视角范围是否在所述用户视角息对应的视角范围内,可以采用定时判断或者实时监听的方式。具体的,

当客户端采用定时判断的方式时,客户端可以每隔预设时间进行一次判断,例如每隔2秒执行一次判断。进一步的,在判断推荐视角对应的视角范围是否在所述用户视角对应的视角范围内前,可以先根据全景视频当前播放的时间,确定该全景视频在当前播放的时间是否存在推荐视角。如果不存在推荐视角,则默认推荐视角对应的视角范围在所述用户视角对应的视角范围内;如果存在推荐视角,则按照相应的方法判断推荐视角对应的视角范围是否在所述用户视角对应的视角范围内。

当客户端采用实时监听的方式时,客户端监听用户视角和推荐视角的变化,只有在用户视角或者推荐视角方式变化时,才重新判断推荐视角对应的视角范围是否在用户视角对应的视角范围内。

303、根据302中的判断结果,如果推荐视角对应的视角范围在用户视角对应的视角范围内,则按现有技术显示用户视角对应的图像;如果推荐视角对应的视角范围不在用户视角对应的视角范围内,则客户端在显示用户视角对应的图像的同时,播放并显示推荐视角对应的图像。

优选的,推荐视角对应的视角范围不在用户视角对应的视角范围内时,推荐视角对应的图像以类似画中画的形式,叠加在用户视角的显示区域上;当然,也可以采用其他方式,例如将两个视角对应的图像左右并列显示或上下排列显示等。

客户端在显示用户视角对应的图像的同时,播放并显示推荐视角对应的图像,有多种可能的实现方式,本发明实施例接下来将展开论述。

本发明实施例中,客户端在播放全景视频过程中,根据用户的用户视角的视角范围是否包含推荐视角的视角范围,确定是否需要在显示用户视角对应的图像的同时,也一并显示推荐视角对应的图像。在避免用户错过在推荐视角对应的视角范围内发生的关键事件的同时,也避免了自动切换视角导致用户时空错乱以及用户视角控制的灵活度下降的问题。

图4A-图4F为本发明实施例提供的一种判断推荐视角对应的视角范围是否在用户视角对应的视角范围内的示例图。具体的,

方法一、根据用户视角和推荐视角的距离判断,如图4A-图4C所示。

采用该方法时,用户视角信息和推荐视角信息分别包括用户视角和推荐视角在全景视频图像中的位置信息。例如,可以采用视角中心的坐标值作为推荐视角和用户视角在全景视频图像中的位置信息,当然也可以采用其他位置,如左上角、右下角等。

根据用户视角信息和推荐视角信息,确定用户视角和推荐视角在全景视频图像中的位置信息。计算用户视角和推荐视角在全景视频图像中的相对距离,如果两者的距离小于阈值,例如30度,则确定用户视角对应的视角范围包含推荐视角对应的视角范围,否则,则确定用户视角对应的视角范围不包含推荐视角对应的视角范围。

需要说明是,由于全景视频在2D平面上左右和上下是不连续的,因此简单直接根据基准点(如上述视角中心的坐标值)距离判断有可能不准确,如图4B所示,用户视角和推荐视角中心点分别位于2D平面的左侧和右侧边缘,在空间上距离较远,此时会误认为用户视角对应的视角范围不包含推荐视角对应的视角范围。一种解决方法是判断当某个视角的基准点于2D平面的右侧导致该视角在2D平面上被分为多个子区域时,将该视角的基准点向左偏移360度,然后再计算两个视角基准点的距离(例如假设图4B用户视角中心坐标横坐标为350度,偏移之后坐标为-10度,如图4C所示)。

方法二、根据用户视角和推荐视角的重叠区域大小判断,如图4D和图4E所示。

采用该方法时,用户视角信息和推荐视角信息分别包括用户视角和推荐视角在全景视频图像中的位置信息及对应的视角大小信息。

如图4D所示,首先根据用户视角和推荐视角的位置信息(如视角中心的坐标值)和对应的视角大小信息,计算用户视角和推荐视角在2D平面上的显示区域,然后计算两个显示区域的重叠面积(如图4D黑色部分所示,该计算公式为现有技术,在此不做赘述),计算该重叠面积占用户视角或推荐视角在2D平面上的显示区域面积(优选的,选择用户视角和推荐视角中在2D平面上的显示区域面积较小的作为计算对象)的比例,如果该比例超过阈值,如80%,则确定用户视角对应的视角范围包括推荐视角对应的视角范围;否则,确定用户视角对应的视角范围不包含推荐视角对应的视角范围。

当然,由于用户视角和推荐视角在2D平面上可能被切割成多个子区域(如图4E所示),因此计算重叠面积时,需要对所有的子区域分别进行计算。

方法三、根据用户视角和推荐视角的夹角大小判断,如图4F所示。

采用该方法时,用户视角信息和推荐视角信息分别包括用户视角和推荐视角在全景视频图像中的位置信息。

与方法一不同的是,方法一中用户视角和推荐视角的位置信息用2D平面坐标表示,而方法三中用户视角和推荐视角的位置信息用角度坐标来表示,如图4F所示,表示一个2D平面坐标(x,y)和对应球面的角度坐标(θ,φ)的关系。从2D平面坐标到角度坐标的映射为现有技术,在此不做赘述。

当采用角度坐标来表示视角的位置信息时,可以分别计算球心到当前视角和推荐视角位置的向量(如图4F红线),然后计算两个向量间的夹角,当夹角小于阈值时,则确定用户视角对应的视角范围包含推荐视角对应的视角范围;否则,则确定用户视角对应的视角范围不包含推荐视角对应的视角范围。

本发明实施例中当确定推荐视角对应的视角范围不在用户视角对应的视角范围内时,则客户端在显示用户视角对应的图像的同时,播放并显示推荐视角对应的图像。在一种可能的实现方式中,推荐视角对应的图像相对于用户视角对应的图像的位置,可以通过下面的实施例来确定,如图5A所示。

501、计算用户视角和推荐视角的在全景视频图像中的相对位置;

所述相对位置指的是推荐视角在全景视频图像中位于用户视角的左边还是右边,上边还是下边。例如,可以根据用户视角和推荐视角的旋转角,计算用户视角到推荐视角的夹角。如果该夹角在水平方向上向左小于180度,则判断推荐视角在用户视角左边;否则,推荐视角在用户视角右边。如果该夹角在垂直方向上向上小于180度,则判断推荐视角在用户视角的上边;否则,推荐视角在用户视角的下边。

502根据用户视角和推荐视角的在全景视频图像中的相对位置,确定推荐视角对应的图像的显示区域。

一种方式是从几个预定义的位置中选择一个最佳的显示区域。例如,默认推荐视角只能显示用户视角显示区域的左上、右上、左下、右下四个角落,如果推荐视角位于用户视角的左边和上边,则确定推荐视角对应的图像的显示区域在用户视角对应的图像的左上角;如果推荐视角位于用户视角的右边边和下边,则确定推荐视角对应的图像的显示区域在用户视角对应的图像的右下角,以此类推。

另一种实现方式是根据推荐视角和用户视角的实际夹角,来计算一个相对位置。例如,如果推荐视角位于用户视角的右侧,则推荐视角对应的图像显示区域位于用户视角对应的图像的右侧,更进一步的,根据推荐视角和用户视角在垂直方向上的夹角,计算出推荐视角对应的图像显示区域在用户视角对应的图像显示区域右侧的具体位置,如图5B所示。

本发明实施例根据用户视角和推荐视角的在全景视频中的相对位置,确定推荐视角的显示区域,使得当用户想要将视角转向推荐视角的时候,很自然的可以根据推荐视角显示区域的位置,转向该显示区域方向。特别是,当用户带着头盔等装备时,推荐视角显示区域的相对位置可以给用户转移视角最直观的提示。

需要说明的是,本发明实施例中当确定推荐视角的视角范围不在用户视角的视角范围内时,则客户端在显示用户视角对应的图像的同时,播放并显示推荐视角对应的图像,具体可以有如下实现方式:

方法一:在采用图5A和图5B所述的方法确定推荐视角对应的图像的显示区域后,客户端将用户视角对应的图像和推荐视角对应的图像进行图像合成。具体的,如果采用画中画的显示方式,客户端将推荐视角对应的图像按比例缩小,然后将缩小后的图像根据采用图5A和图5B所述的方法确定推荐视角对应的图像的显示区域,贴到用户视角对应的图像相应位置上,从而生成合成后的图像。如果采用类似左右排列或上下排列方式的话,则将用户视角对应的图像和推荐视角对应的图像分别按照排列区域的大小进行缩放,然后根据排列位置贴成一幅新的图像。客户端在本地显示合成后的图像。

方法二、方法二与方法一不同的是,客户端不需要做图像合成,而是采用两个独立的播放窗口,分别用来显示用户视角对应的图像和推荐视角对应的图像。客户端在采用图5A和图5B所述的方法确定推荐视角对应的图像的显示区域,将推荐视角对应的窗口设置在所述推荐视角对应的图像的显示区域,如果采用画中画形式,则同时需将推荐视角对应的窗口设置在用户视角对应的图像的上方。

客户端在显示用户视角对应的图像以及推荐视角对应的图像的同时,还可以添加显示其他文字或图像提示信息,例如文字提示用户如何快速切换到推荐视角(如“双击遥控器左键直接切换到推荐视角”),或者显示推荐视角位置的提示信息(例如当推荐视角在左侧时,显示一个左箭头)等等。

上述实施例主要描述了同一时间只有单个推荐视角的情况,本领域技术人员可以很容易的将其扩展到同一时间具有多个推荐视角的情况。在这种情况下,客户端需要分别为多个推荐视角分别生成对应的图像,并将用户视角图像和多个推荐视角图像进行合成,或者生成多个推荐视角的播放窗口。

随着全景视频的播放,用户在观看过程中的用户视角或者推荐视角会发生变化,如用户转动头盔的方向,用户视角的视角范围是否包括推荐视角的视角范围这一判断结果也在变化中。当用户视角的视角范围包括推荐视角的视角范围时,不显示推荐视角对应的图像;当用户视角的视角范围不包括推荐视角的视角范围时,按上述实施例提供的方法显示推荐视角对应的图像。具体的,如图6所示,提供了一种当用户视角或者推荐视角改变时,全景视频的播放方法,包括:

601、客户端判断用户视角或推荐视角是否发生改变,当发生改变时,执行下面的流程。

其中,用户视角的改变一般是由用户交互引起的,例如拖动鼠标、转动头部等;因此客户端只需要监听对应的用户交互事件,当发生上述事件时,计算新的用户视角并调用下面的处理流程。

推荐视角的改变一般是由时间变化引起的,例如一个全景视频的0-30秒这个时间段,采用推荐视角1,31-60秒这个时间段,采用推荐视角2等等,在不同的播放时间对应不同的推荐视角。客户端可周期性(例如每2秒执行一次)的获取当前的播放时间,并根据当前的播放时间获取对应的推荐视角信息,判断用户推荐视角相比上个判断周期的推荐视角是否发生改变;另外,也可对拖动进度条等更改播放时间相关的交互事件进行监听,当监听到对应事件时,实时的获取新的播放时间及对应的推荐视角信息,判断用户推荐视角相比事件发生前的推荐视角是否发生改变。如果推荐视角发生改变,调用下面的处理流程。

602、判断全景视频的当前播放时刻是否存在推荐视角,如果不存在,转到步骤603;反之,转到步骤605;

603、判断当前是否在显示推荐视角对应的图像;

可选的,客户端中可以设置一个寄存器,如果在播放全景视频的过程中,显示用户视角对应的图像的同时,也在显示推荐视角对应的图像,则该寄存器的值设为1;反之,如果在播放全景视频的过程中,显示用户视角对应的图像时,没有显示推荐视角对应的图像,则该寄存器的值设为0。客户端可以通过读取该寄存器的值,来判断用户是否在显示推荐视角对应的图像。

604、停止显示推荐视角,转到步骤609

可选的,客户端还需要保存用户推荐视角的显示状态为不显示,例如存在步骤603中的寄存器时,则还需要设置寄存器的值为0。

如果采用前述图像合成方式实现两个视角的图像显示,则所述停止显示推荐视角包括通知图像生成模块停止生成推荐视角对应的图像,停止调用图像合成,直接显示用户视角对应的图像。

如果采用两个独立的播放窗口实现两个视角的图像显示,则所述停止显示推荐视角包括通知图像生成模块停止生成推荐视角对应的图像,关闭推荐视角对应播放窗口或将推荐视角对应播放窗口设为隐藏模式。

605、判断用户视角对应的视角范围是否包含推荐视角对应的视角范围,如果是,转向步骤603;反之,转向步骤606;

606、根据改变后的用户视角和推荐视角,确定推荐视角对应的图像的显示区域;

该步骤的具体方法同图5A和图5B所述实施例介绍的方法,这里不再赘述。

607、判断当前是否在显示推荐视角对应的图像,如果是,转向步骤609;反之,转向步骤608;

该步骤同步骤603,这里不再赘述。

608、初始化推荐视角显示;

如果采用前述图像合成方式实现两个视角的图像显示,则所述初始化推荐视角显示包括通知图像生成模块生成推荐视角图像,并调用图像合成模块进行图像合成,显示合成后的图像。

如果采用两个独立的播放窗口实现两个视角的图像显示,则所述初始化推荐视角显示包括通知图像生成模块生成推荐视角图像,创建新的播放窗口并将生成的推荐视角图像输出到该播放窗口,或将隐藏的推荐视角对应播放窗口设为可显示。

可选的,客户端还需要保存用户推荐视角的显示状态为显示,例如存在步骤603中的寄存器时,则还需要设置寄存器的值为1。

609、结束本流程。

需要说明的是,上述步骤并不是全部为实现本发明实施例提供的全景视频播放的方法所必需的,比如步骤602就是可选的。增加了步骤602,可以使得客户端在确定当前时刻不存在推荐视角时,直接进入步骤603,避免执行步骤605,提高了客户端的运行性能。当图6所述的实施例中不包括步骤602时,默认步骤605的执行结果为“是”。

下面结合不同的内容传输方式,来具体介绍本发明实施例提供的全景视频播放的方法。具体的,现有的全景视频的内容传输方法通常有全幅传输、分块传输和视角传输三种方式。其中,全幅传输是指服务器将全景视频图像采用H.264/H.265等视频编码形式进行编码传输,客户端接收到的是完整的全景视频图像。该全景视频图像包含任意视角对应的图像,包括用户视角对应的图像以及推荐视角对应的图像(如图7A所示)。分块传输是指全景视频(一个全景视频包括多个全景视频图像)中的全景视频图像按预定的规则切分成多个块(tile),每块的图像进行独立的编码,产生多个视频分片,传输时根据用户视角(Field of view,FOV)只传对应块的视频分片。用户视角可能落在一个或多个块上(如图7B中,用户视角落在tile1和tile2两个分块上),客户端接收到的是一个或多个块的视频分片,客户端不会获得其他视角的视频分片。视角传输是指客户端实时上报用户当前的用户视角,服务器根据用户视角,生成对应区域的视频分片,并传输给客户端,客户端收到的是用户视角的视频分片。视角传输和分块传输的区别可以从图7B和图7C看出来。实现中,视角传输需要服务器根据客户端上报的用户视角,实时进行编码,生成用户视角对应的视频分片,并发送给客户端。

图7A、图7B以及图7C依次是全幅传输、分块传输和视角传输三种传输方式的示意,其中阴影部分表示传输的内容。从三种内容传输的定义以及图7A/图7B/图7C所述的示例,可以知道,当全景视频采用全幅传输时,用户在观看全景视频过程中每次从服务器获取的视频分片都是包括所有视角对应的图像的全景视频图像,消耗的网络资源较多(带宽、流量等),然而采用本发明实施例提供的全景视频播放方法时,在需要显示推荐视角对应的图像时,不需要重新向服务器请求推荐视角对应的图像,可以直接根据推荐视角信息,从全景视频图像中获取推荐视角对应的图像,从而减少了推荐视角对应的图像显示的时延。

图8为本发明实施例提供的一种在全幅传输方式下全景视频播放的方法,由于当用户视角对应的视角范围包含推荐视角对应的视角范围时,下载和播放方法和现有技术相同,因此下面的实施例仅介绍当用户视角对应的视角范围不包含推荐视角对应的视角范围时的处理流程包括:

801、客户端下载全景视频分片;

其中,所示全景视频分片包括全景视频图像,即包括所有视角对应的图像。

802、客户端对全景视频进行解码,将解码后的全景视频图像按全景视频的投影格式进行三维重建;

常见的投影格式包括球面投影、立方体投影、三棱锥投影等。所谓的三维重建指的是将2D的全景视频图像贴到对应的3D模型上,例如当采用球面投影时,需要将全景视频图像贴到球的内表面。该三维重建过程为全景视频播放现有技术,在此不做赘述。

803、客户端根据用户视角信息,生成用户视角对应的图像;

通常采用透视投影的方式,将用户视角三维模型下的图像转换成2D的图像。当然,本领域技术人员也可采用其他方式来生成用户视角对应的图像,该部分属于现有技术,在此不做赘述。

804、客户端根据推荐视角信息,生成推荐视角对应的图像;

具体生成方法和用户视角图像的生成方法一样。

805、客户端确定推荐视角对应的图像的显示区域;

客户端确定推荐视角对应的图像的显示区域的方法可以采用上述实施例中的相关方法,在此不做赘述。

806、显示用户视角对应的图片以及在所述显示区域显示推荐视角对应的图像。

确定推荐视角对应的图像的显示区域后,客户端可以采用上述实施例中的方法在显示用户视角对应的图像的同时,播放并显示推荐视角对应的图像,具体方法在此不做赘述。

图9为本发明实施例提供的一种在分块传输方式下全景视频播放的方法,由于当用户视角对应的视角范围包含推荐视角对应的视角范围时,下载和播放方法和现有技术相同,因此下面的实施例仅介绍当用户视角对应的视角范围不包含推荐视角对应的视角范围时的处理流程,包括:

901、客户端下载用户视角对应分块的视频分片;

902、客户端解码上述用户视角对应分块的视频分片,将解码后的图像进行三维重建,并根据用户视角信息,生成用户视角对应的图像

903、客户端判断推荐视角对应的分块是否已经下载,当推荐视角对应的分块是否已经下载时,进入步骤905,否则进入步骤904;

通过图7B可知,用户视角对应的分块有可能跟推荐视角对应的分块是相同或者部分相同的。在此情况下,不需要重复下载对应的视频分片。

904、客户端下载推荐视角对应分块的视频分片;

可选的,客户端可以判断推荐视角对应分块是否存在多种码率或多种分辨率的视频分片,在存在多种码率视频或多种分辨率分片时,选择低码率或低分辨率的视频分片进行下载。由于在画中画模式下,推荐视角图像缩小后显示,因此不需要下载高码率或高分辨率视频分片,从而节约下载数据量。

905、客户端解码上述推荐视角对应分块的视频分片,将解码后的图像进行三维重建,并根据推荐视角信息,生成推荐视角对应的图像

906、客户端确定推荐视角对应的图像的显示区域(参考步骤805);

907、显示用户视角对应的图片以及在所述显示区域显示推荐视角对应的图像(参考步骤806)。

图10为本发明实施例提供的一种在视角传输方式下全景视频播放的方法,由于当用户视角对应的视角范围包含推荐视角对应的视角范围时,下载和播放方法和现有技术相同,因此下面的实施例仅介绍当用户视角对应的视角范围不包含推荐视角对应的视角范围时的处理流程,包括:

1001、客户端将用户视角信息和推荐视角信息上报给服务器;

1002、客户端接收服务器发送的用户视角对应的视频分片和推荐视角对应的视频分片;

服务器根据用户视角信息,实时生成用户视角对应的视频分片。而对于推荐视角对应的视频分片,服务器可以根据客户端上传的推荐视角信息,实时生成。但是考虑到通常一个全景视频的推荐视角数量和时间点是固定的,并且该推荐视角信息本身就是由服务器下发给客户端的。因此在另一种实现方式中,服务器可以事先解析全景视频的推荐视角信息,然后生成对应的视频分片并保存在本地,而不需要实时生成。在这种情况下,当服务器接收到客户端上传的推荐视角信息时,服务器根据该推荐视角信息查找对应的视频分片并下发。

1003、客户端分别对用户视角对应的视频分片和推荐视角对应的视频分片进行解码,并分别生成用户视角对应的图像和推荐视角对应的图像。

1004、客户端确定推荐视角对应的图像的显示区域(参考步骤805);

1005、显示用户视角对应的图片以及在所述显示区域显示推荐视角对应的图像(参考步骤806)。

本发明实施例还描述了与上述方法实施例属于同一发明构思下的一种客户端的结构示意图。如图11所示,该客户端1100用于执行图3-图10上述方法实施例中客户端的功能,包括:获取单元1101,判断单元1102和显示单元1103。

其中,获取单元1101,用于获取全景视频的用户视角信息和推荐视角信息;

判断单元1102,用于根据所述用户视角信息和推荐视角信息,确定推荐视角对应的视角范围不在用户视角对应的视角范围内;

显示单元1103,用于显示所述用户视角对应的图像和所述推荐视角对应的图像。

当所述用户视角信息包括所述用户视角在全景视频图像中的位置信息,所述推荐视角信息包括所述推荐视角在全景视频图像中的位置信息时,所述判断单元1102,用于根据所述用户视角信息和推荐视角信息,确定推荐视角对应的视角范围不在用户视角对应的视角范围内,具体为:根据所述用户视角在全景视频图像中的位置信息以及所述推荐视角在全景视频图像中的位置信息,确定所述用户视角和所述推荐视角在全景视频图像中的相对距离;当所述相对距离小于预设阈值时,则确定所述用户视角的视角范围包含所述推荐视角的视角范围,否则,则确定所述用户视角的视角范围不包含所述推荐视角的视角范围。

当所述用户视角信息包括所述用户视角在全景视频图像中的位置信息及所述用户视角的视角大小信息,所述推荐视角信息包括所述用户视角在全景视频图像中的位置信息及所述推荐视角的视角大小信息时,所述判断单元1102,用于根据所述用户视角信息和推荐视角信息,确定推荐视角对应的视角范围不在用户视角对应的视角范围内,具体为:根据所述用户视角信息和所述推荐视角信息,计算所述用户视角和所述推荐视角在2D平面上的显示区域;确定两个显示区域的重叠面积占所述用户视角或所述推荐视角在2D平面上的显示区域的比例;当该比例超过预设阈值时,则确定所述用户视角的视角范围包括所述推荐视角的视角范围;否则,确定所述用户视角的视角范围不包含所述推荐视角的视角范围。

当所述用户视角信息包括所述用户视角在全景视频图像中的位置信息,所述推荐视角信息包括所述推荐视角在全景视频图像中的位置信息时,所述判断单元1102,用于根据所述用户视角信息和推荐视角信息,确定推荐视角对应的视角范围不在用户视角对应的视角范围内,具体为:分别确定球心到所述用户视角和所述推荐视角的向量;计算两个向量间的夹角;当所述夹角小于预设的阈值时,则确定所述用户视角对应的视角范围包含推荐视角对应的视角范围;否则,则确定所述用户视角对应的视角范围不包含推荐视角对应的视角范围。

可选的,所述客户端还包括确定单元,用于在显示单元1103显示所述用户视角对应的图像和所述推荐视角对应的图像之前,根据所述用户视角信息和所述推荐视角信息,确定所述用户视角和所述推荐视角在全景视频图像中的相对位置;所述显示单元1103,用于显示所述用户视角对应的图像和所述推荐视角对应的图像,具体为:根据所述相对位置,确定所述推荐视角对应的图像的显示区域;在所述显示区域处,显示所述推荐视角对应的图像。

一种可能的实现方式中,所述显示单元103用于在所述显示区域处,显示所述推荐视角对应的图像,具体包括:基于所述显示区域,将所述推荐视角对应的图像叠加到所述用户视角对应的图像之上;显示叠加后的图像;或者,

在当前播放窗口中显示所述用户视角对应的图像;在所述显示区域处,创建推荐视角播放窗口,在所述推荐视角播放窗口中显示所述推荐视角对应的图像;其中,所述推荐视角播放窗口设置在所述用户播放窗口之上。

可选的,所述客户端还包括监控单元,用于确定当前时刻所述用户视角发生变化;所述获取单元101,还用于获取当前时刻对应的推荐视角信息;所述判断单元102,还用于判断当前时刻推荐视角对应的视角范围是否在变化后的用户视角对应的视角范围内;所述显示单元103,还用于当当前时刻推荐视角对应的视角范围在变化后的用户视角对应的视角范围内时,不显示当前时刻推荐视角对应的图像。

可选的,所述客户端还包括监控单元,用于确定当前时刻所述推荐视角发生变化;所述获取单元1101,还用于获取当前时刻对应的用户视角信息;所述判断单元1102,还用于判断变化后的推荐视角对应的视角范围是否在当前时刻用户视角对应的视角范围内;所述显示单元1103,还用于当变化后的推荐视角对应的视角范围在当前时刻用户视角对应的视角范围内时,不显示当前时刻推荐视角对应的图像。

一种的可能的实现方式中,所述显示单元1103,还用于显示提示信息,所述提示信息用于提示用户切换视角。

在本实施例中,客户端1100是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到客户端1100可以采用图2所示的形式。获取单元1101,判断单元1102、显示单元1103、确定单元以及监控单元可以通过图2的处理器和存储器来实现,具体的,获取单元1101可以通过由处理器来执行信息交互模块2031来实现,判断单元1102、确定模块以及监控模块可以通过由处理器来执行视角范围判断模块2032来实现,显示单元1103可以通过由处理器来执行推荐视角显示策略模块2033来实现。

本发明实施例还提供了一种计算机存储介质,用于储存实现上述图3-图10所示的全景视频播放方法的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现本发明实施例提供的验证方法。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。

本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。

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

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

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

尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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