视频流的视角切换方法、装置、设备和计算机存储介质与流程

文档序号:16633255发布日期:2019-01-16 06:46阅读:178来源:国知局
视频流的视角切换方法、装置、设备和计算机存储介质与流程

本发明涉及计算机应用技术领域,特别涉及一种视频流的视角切换方法、装置、设备和计算机存储介质。



背景技术:

全景视频的压缩技术已经成为虚拟现实(vr,virtualreality)技术领域的研究重点,全景视频通常在视频转码时,需要全景视频映射展开为平面图像,映射展开过程中可能采用不同的模型,例如equirectangular(等距长方圆柱投影)模型、cubemap(立方图投影)模型、pyramid(金字塔投影)模型、pyramid变种模型等等。其中一些模型是码率无差别分配的模型,例如equirectangular模型和cubemap模型,这些模型在全景视频的展开平面上均匀分配码率。而另一些模型是基于视角的码率分配模型,例如pyramid模型和pyramid变种模型,这些模型会将全景视频分成多路视频,使得每一路映射的视频在特定视角上具有高清晰度,而在远离这个视角的地方降低分辨率,即码率在特定视角上集中分配,从而降低每一路映射的编码图像面积,也就能够使得编码的码率大幅度的下降。

而pyramid模型及其变种模型,由于采用了多路映射的方式来降低每一路视角观看时的编码分辨率,在视频接收端当用户观看全景视频的视角发生变化时,必然会在下载视频流的时候在各个不同视角的编码流之间进行切换。通常各个视角的编码流会以gop(groupofpictures,图像组)为单位进行切换和对齐,gop是以一个i帧开始的一组编码视频帧。由于i帧的编码是不参考和依赖其他任何帧的,因此各个视角的视频流之间的切换就可以以gop为单位。如图1所示,三个不同视角的编码码流分别切分为以gop为单位的分片,每个切换的长度是一致的,例如1秒。而且需要保证不同视角的gop是严格对齐的,在视角1的gop1发生视角切换时,若切换到视角3,则视频接收端可以从视角3的视频流的gop2开始下载,从而实现视频流的无缝播放。

举个例子,如图2所示,若从视角1的gop1的t1时间点开始用户发生视角切换,则从t1时间点开始下载视角3的gop2。等到视角1的gop1播放完毕,在t2时间点开始视频接收端切换至播放视角3的视频流,即从视角3的gop2开始播放。但由于用户视角的切换时机是随机的,用户视角发生切换到视频流的播放切换之间的时差为t2-t1。若在该时差内视角3的gop2未下载完毕,则需要等待视角3的gop2下载完毕,因此在进行视频流的播放切换卡顿现象。上述时差t2-t1的值越小,卡顿现象发生的概率越大。



技术实现要素:

有鉴于此,本发明提供了一种视频流的视角切换方法、装置、设备和计算机存储介质,用于减少播放视频流过程中发生视角切换时所带来的卡顿现象。

具体技术方案如下:

本发明提供了一种视频流的视角切换方法,该方法包括:

获取触发视频流从第一视角切换至第二视角的事件;

下载第二视角的第一码率视频流;

下载n个所述第二视角的第一码率视频流的分片后,下载第二视角的第二码率视频流的分片,所述n为正整数,所述第一码率小于所述第二码率;

播放下载的第二视角的各分片。

根据本发明一优选实施方式,所述获取触发视频流从第一视角切换至第二视角的事件包括:

接收到触发视频流从第一视角切换至第二视角的指令;或者,

捕捉到触发视频流从第一视角切换至第二视角的手势;或者,

检测到用户视角从第一视角变换为第二视角。

根据本发明一优选实施方式,所述下载第二视角的第一码率视频流包括:

从所述事件的发生时间所对应分片的下一分片开始,下载第二视角的第一码率视频流。

根据本发明一优选实施方式,所述第二视角的第一码率视频流相比较所述第二视角的第二码率视频流,采用对第二视角的图像进行降采样和/或降编码率的方式压缩得到。

根据本发明一优选实施方式,所述n取预设值;或者,所述n根据实时网络状况确定。

根据本发明一优选实施方式,在所述下载第二视角的第一码率视频流之前,该方法还包括:

判断所述第二视角和第一视角之间的差值绝对值是否大于或等于预设的视角阈值,如果是,则继续执行所述下载第二视角的第一码率视频流的步骤。

根据本发明一优选实施方式,该方法还包括:

若判断出所述第二视角和第一视角之间的差值绝对值小于预设的视角阈值,则从所述事件的发生时间所对应分片之后的第m+1个分片开始,下载第二视角的第二码率视频流,所述m为正整数;

待已下载的当前第一视角的视频流中所述事件的发生时间所对应分片的下m个分片播放完毕后,继续播放下载的第二视角的第二码率视频流。

根据本发明一优选实施方式,所述m取预设值;或者,所述m根据实施网络状况确定。

根据本发明一优选实施方式,在从所述事件的发生时间所对应分片的下m+1个分片开始,下载第二视角的第二码率视频流之前,还包括:

判断是否已下载当前第一视角的视频流中所述事件的发生时间所对应分片的下m个分片,如果是,则继续执行从所述事件的发生时间所对应分片的下m+1个分片开始,下载第二视角的第二码率视频流的步骤;

否则,在已下载当前第一视角的视频流的最后一个分片之后,接续下载第二视角的第二码率视频流;待已下载的第一视角的视频流播放完毕后,接续播放下载的第二视角的第二码率视频流。

根据本发明一优选实施方式,在第一视角的视频流中所述事件的发生时间所对应分片播放完毕后,执行所述播放下载的第二视角的各分片。

根据本发明一优选实施方式,所述分片包括一个图像组gop。

本发明还提供了一种视频流的视角切换装置,该装置包括:

事件获取单元,用于获取触发视频流从第一视角切换至第二视角的事件;

视频下载单元,用于下载第二视角的第一码率视频流;下载n个所述第二视角的第一码率视频流的分片后,下载第二视角的第二码率视频流的分片,所述n为正整数,所述第一码率小于所述第二码率;

视频播放单元,用于播放下载的第二视角的各分片。

根据本发明一优选实施方式,所述事件获取单元在获取触发视频流从第一视角切换至第二视角的事件时,具体执行:

接收到触发视频流从第一视角切换至第二视角的指令;或者,

捕捉到触发视频流从第一视角切换至第二视角的手势;或者,

检测到用户视角从第一视角变换为第二视角。

根据本发明一优选实施方式,所述视频下载单元,具体用于:从所述事件的发生时间所对应分片的下一分片开始,下载第二视角的第一码率视频流。

根据本发明一优选实施方式,所述第二视角的第一码率视频流相比较所述第二视角的第二码率视频流,采用对第二视角的图像进行降采样和/或降编码率的方式压缩得到。

根据本发明一优选实施方式,所述n取预设值;或者,所述n根据实时网络状况确定。

根据本发明一优选实施方式,该装置还包括:

判断单元,用于在所述事件获取单元获取到所述事件后,判断所述第二视角和第一视角之间的差值绝对值是否大于或等于预设的视角阈值,如果是,则触发所述视频下载单元继续执行所述下载第二视角的第一码率视频流的操作。

根据本发明一优选实施方式,所述判断单元若判断出所述第二视角和第一视角之间的差值绝对值小于预设的视角阈值,则触发所述视频下载单元从所述事件的发生时间所对应分片之后的第m+1个分片开始,下载第二视角的第二码率视频流,所述m为正整数,并触发所述视频播放单元,待已下载的当前第一视角的视频流中所述事件的发生时间所对应分片的下m个分片播放完毕后,接续播放下载的第二视角的第二码率视频流。

根据本发明一优选实施方式,所述m取预设值;或者,所述m根据实施网络状况确定。

根据本发明一优选实施方式,所述判断单元在触发所述视频下载单元从所述事件的发生时间所对应分片之后的第m+1个分片开始,下载第二视角的第二码率视频流之前,进一步用于:

判断是否已下载当前第一视角的视频流中所述事件的发生时间所对应分片的下m个分片,如果是,则触发所述视频下载单元从所述事件的发生时间所对应分片之后的第m+1个分片开始,下载第二视角的第二码率视频流;

否则,触发所述视频下载单元在已下载当前第一视角的视频流的最后一个分片之后,接续下载第二视角的第二码率视频流,并触发所述视频播放单元待已下载的第一视角的视频流播放完毕后,接续播放下载的第二视角的第二码率视频流。

根据本发明一优选实施方式,所述视频播放单元在第一视角的视频流中所述事件的发生时间所对应分片播放完毕后,执行所述播放下载的第二视角的各分片。

根据本发明一优选实施方式,所述分片包括一个gop。

本发明还提供了一种设备,包括

存储器,包括一个或者多个程序;

一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现上述方法中执行的操作。

本发明还提供了一种计算机存储介质,所述计算机存储介质被编码有计算机程序,所述程序在被一个或多个计算机执行时,使得所述一个或多个计算机执行上述方法中执行的操作。

由以上技术方案可以看出,在视频流从第一视角切换到第二视角时,通过分层切换的方式,首先将视频流切换到一个中间低码率层的过渡,再切换到第二视角高码率的视频流,使得在从第一视角切换到第二视角时缩小卡顿时间,甚至不会出现卡顿。

【附图说明】

图1为现有技术中各视角视频流的示意图;

图2为现有技术中视频流在不同视角间切换的示意图;

图3为本发明实施例提供的一方法流程图;

图4为图3所示方法对应的视频流切换示意图;

图5a和图5b为本发明实施例提供的pyramid模型的多视角示意图;

图6为本发明实施例提供的另一方法流程图;

图7为图6所示方法对应的一种视频流切换示意图;

图8为图6所示方法对应的另一种视频流切换示意图;

图9为本发明实施例提供的装置结构图;

图10为本发明实施例提供的设备结构图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

本发明为了解决视频流在不同视角之间切换所带来的卡顿问题,提出了一种分层切换的概念。即首先切换至目标视角(切换到的视角)的低码率视频流上,将该低码率视频流作为中间层以供快速下载和切换,然后再进一步切换到原始码率的视频上。下面结合实施例对本发明提供的方法进行详述。

图3为本发明实施例提供的方法流程图,如图3所示,该方法可以包括以下步骤:

在301中,获取触发视频流从第一视角切换至第二视角的事件。

当用户观看全景视频的视角发生变化,例如用户头戴vr设备时,转动头部使得vr设备(即全景视频的接收端)发生视角变化,此时全景视频的接收端检测到用户视角从第一视角变化为第二视角,则获取到触发视频流从第一视角切换至第二视角的事件。

除了上述事件类型之外,还可以是诸如接收到触发视频流从第一视角切换至第二视角的指令,或者捕捉到触发视频流从第一视角切换至第二视角的手势,等等。

另外需要说明的是,发生上述视频流的视角切换时,通常是用户在第一视角的第二码率视频流上发生的切换,即正在播放第一视角的第二码率视频流时发生的切换。但也不排除可以在第一视角的第一码率视频流上发生切换。其中,第一码率低于第二码率。本发明后续实施例中均以从第一视角的第二码率视频流上发生切换为例进行描述。

在302中,下载第二视角的第一码率视频流。

在本步骤中,可以从上述事件的发生时间所对应分片的下一分片开始,下载第二视角的第一码率视频流。第二视角的第一码率视频流是相对于第二视角的第二码率视频流的低码率视频流。例如,第二视角的第二码率视频流可以看做是正常播放的视频流,第一码率视频流是低图像质量的中间层视频流。相比较第二视角的第二码率视频流,可以采用对第二视角的图像进行降采样和/或降编码率的方式压缩得到。

例如一种典型的实现,可以将第二视角的图像的长宽各降采样同时将编码率也压缩为第二视角的第二码率的这样,在相同网络条件下,下载第二视角的第一码率的视频流的速度将是下载第二视角的第二码率视频流的4倍左右。

作为全景视频的一种典型实现,一个分片包含一个gop,即以gop为单位进行分片。但本发明并不限于这种情况,对于一个分片包含多个gop的情况同样适用。为了方面描述,后续实施例均以一个分片包含一个gop为例进行描述。

若在时间点t1获取到触发视频流从第一视角切换至第二视角的事件,且t1所对应gop为gopi,那么如图4所示,从gopi+1开始,下载第二视角的第一码率视频流,即下载第二视角的第一码率的gopi+1、gopi+2,…gopi+n。其中,gopi表示第i个gop,gopi+1表示第i+1个gop,以此类推。

在303中,下载n个第二视角的第一码率视频流的分片后,接续下载第二视角第二码率视频流的分片,其中n为正整数,第一码率小于第二码率。

接续上例,如图4所示,从gopi+1开始,下载第二视角的第一码率视频流,直至下载到gopi+n,然后接续下载第二视角的第二码率视频流,即下载gopi+n+1、gopi+n+2、…。

由于第二视角的第一码率视频流实际上起的是过渡作用,因此n的取值一方面为了缩小切换到第二视角的第二码率视频流上的时延,另一方面也需要n值尽量小,因为长时间停留在低码率的视频流上给用户的播放体验较差,因此需要尽快切换到第二视角的第二码率视频流上。

在确定n的取值时,可以根据预设值进行选取,例如经验值、实验值等。也可以根据实时网络状况确定,如果网络状况良好,则可以取较小的n值,例如n值取1,即下载一个第二视角的第一码率视频流的分片后,就开始接续下载第二视角的第二码率视频流的分片。如果网络状况较差,则可以取较大的n值,例如n值取3,即下载三个第二视角的第一码率视频流的分片后,再开始接续下载第二视角的第二码率视频流的分片,这样在发生视角切换后,用户观看低码率的视频流时长就稍长。

在304中,依次播放下载的第二视角的各分片。

在本步骤中,可以在第一视角的视频流中上述事件的发生时间所对应分片播放完毕后,依次播放下载的第二视角的各分片。在以此播放下载的第二视角的各分片时,实际上是依次播放下载的第二视角的第一码率视频流的n个分片,以及接续下载的第二视角的第二码率视频流的分片。

接续上例,如图4所示,在t2时间点,即第一视角的gopi播放完毕的时间点,开始依次播放已下载的第二视角的第一码率视频流的gopi+1、gopi+2,…gopi+n,第二视角的第二码率视频流的gopi+n+1、gopi+n+2、…。

另外,需要说明的是,本发明实施例中对于视频流的下载可以缓存在视频接收端的缓存区或缓存队列等存储空间。上述下载和播放是两条并行的处理,并没有一定的先后顺序,上述步骤仅仅为本发明实施例所列举的顺序,后续实施例也是如此,不再额外说明。

在背景技术中已经提到,对于诸如pyramid模型采用的映射方式而言,一个视角的视频流通常仅在该视角上具有高清晰度,而在远离这个视角的地方逐渐降低分辨率。因此为了保证用户视角变化时,也能够让用户始终看到最清晰的图像,就需要在空间中的不同方向准备不同视角的视频流。如图5a所示,例如在空间的四个方向准备了四路视角的视频流。当然,在实际情况中,除了这四个方向之外,还可以有其他视角的视频流,例如一共有8个视角的视频流或者更多,例如图5b所示。而在本发明中,每个视角都存在两个码率的视频流,即除了普通的高码率视频流之外,还存在一个低码率视频流。可以采用图3所示流程完成视频流不同视角间的切换。

但可能存在这样的情况,如图5b中所示,如果用户正在播放视角1的第二码率的视频流,从视角1切换到了视角2,若采用图3所示流程,则需要首先切换到视角2的第一码率的视频流,但由于视角1和视角2之间的差值较小,视角2的第一码率的视频流的清晰度和用户仍播放视角1的第二码率的视频流的清晰度差不多,甚至还没有视角1的第二码率的视频流高,那么采用图3所示流程切换到视角2的第一码率的视频流则没有必要。对于这种情况,本发明还提供了一种实现方式,如图6所示,可以包括以下步骤:

在601中,获取触发视频流从第一视角切换至第二视角的事件,假设事件发生时间为t1。与301相同,不再赘述。

在602中,判断第二视角和第一视角之间的差值绝对值是否大于或等于预设的视角阈值,如果是,则执行图3所示实施例中302及其之后的步骤;否则,执行603。

在本发明实施例中,视角阈值与第一码率和第二码率的图像质量相关,例如,若第一码率是相对于第二码率采用长宽各降采样降编码率则该视角阈值可以取90度左右。如果视角变化较大,则采用图3中所示流程。如果视角变化较小,则无需切换至第二视角的过渡层即第一码率的视频流,开始执行603。

在603中,判断是否已下载第一视角的视频流中t1所对应分片的下m个分片,如果是,执行604;否则,执行606。

由于视角相差不大,导致第一视角的第二码率视频流与第二视角的第一码率视频流在清晰度上相差不大,因此没有必要切换至第二视角的第一码率上。这里的想法是,可以在第一视角的第二码率视频流上继续播放m个分片,从t1时间点开始下载t1所对应分片之后第m+1个分片的第二视角的第二码率视频流。同样,其中的m可以采用预设值,例如经验值或实验值,也可以根据实时网络状况确定,与n值的选取类似,在此不再赘述。

因为,一般情况下,在第一视角的第二码率视频流播放的过程中,已经下载很多第一视角的第二码率视频流的分片,通常已经有m个分片。因此,在t1时间点开始下载t1所对应分片之后第m+1个分片的第二视角的第二码率视频流即可。但有些情况下,尚没有缓存m个第一视角的第二码率视频流的分片,则执行606。

在604中,从t1所对应分片之后的第m+1个分片开始,下载第二视角的第二码率视频流。

在605中,待已下载的第一视角的视频流中t1所对应分片的下m个分片播放完毕后,继续播放下载的第二视角的第二码率视频流,结束流程。

这种情况如图7中所示,假设视角发生切换的时间点t1时正在播放第一视角的第二码率视频流的gopi,从t1开始,下载第二视角的第二码率视频流的gopi+m+1、gopi+m+2、…。继续播放第一视角的第二码率视频流的gopi+1、…、gopi+m,在这m个gop播放完毕的t2时间点,开始接续播放第二视角的第二码率视频流的gopi+m+1、gopi+m+2、…。

在606中,在已下载第一视角的视频流的最后一个分片之后,继续下载第二视角的第二码率视频流。

在此需要做一个说明,在t1时间点时,已经下载的第一视角第二码率视频流的分片数量通常会大于或等于m,该m例如由网络状况确定,也就是说,在网络状况允许情况下,播放第一视角第二码率视频流的m个分片后就切换至第二视角的第二码率视频流,即便还有第一视角第二码率的视频流分片尚未播放,也不会再继续播放,而是尽快切换至第二视角上。

若已下载的第一视角的视频流并没有m个,因为第一视角的第二码率视频流和第二视角的第二码率视频流的下载代价是相同的,因此没有必要继续下载第一视角的第二码率视频流,接续已下载的第一视角的分片继续下载第二视角的第二码率视频流。

在607中,待已下载的第一视角的视频流播放完毕后,继续播放已下载的第二视角的第二码率视频流,结束流程。

这种情况如图8所示。假设在视角发生切换的时间点t1发生在gopi,且此时缓存区中已下载有1个第一视角的第二码率的gop即gopi+1,那么在t1时刻开始下载第二视角的第二码率视频流的gopi+2、gopi+3、…。待第一视角的第二码率的播放完毕gopi+1后,继续播放第二视角的第二码率视频流的gopi+2、gopi+3、…。

上述方法实施例的执行主体可以为视频流的视角切换装置,该装置可以位于视频接收端的应用,或者还可以为位于视频接收端的应用中的插件或软件开发工具包(softwaredevelopmentkit,sdk)等功能单元,本发明实施例对此不进行特别限定。下面结合实施例对本发明提供的装置进行详述。

图9为本发明实施例提供的装置结构图,如图9所示,该装置可以包括:事件获取单元01、视频下载单元02和视频播放单元03,还可以进一步包括判断单元04。其中各组成单元的主要功能如下:

事件获取单元01负责获取触发视频流从第一视角切换至第二视角的事件。

其中,上述事件的获取可以包括但不限于以下方式:接收到触发视频流从第一视角切换至第二视角的指令;捕捉到触发视频流从第一视角切换至第二视角的手势;或者检测到用户视角从第一视角变换为第二视角。

视频下载单元02负责下载第二视角的第一码率视频流;下载n个第二视角的第一码率视频流的分片后,接续下载第二视角第二码率视频流的分片,n为正整数,第一码率小于第二码率。

视频下载单元02可以从事件的发生时间所对应分片的下一分片开始,下载第二视角的第一码率视频流。第二视角的第一码率视频流是相对于第二视角的第二码率视频流的低码率视频流。例如,第二视角的第二码率视频流可以看做是正常播放的视频流,第一码率视频流是低图像质量的中间层视频流。相比较第二视角的第二码率视频流,可以采用对第二视角的图像进行降采样和/或降编码率的方式压缩得到。

在确定n的取值时,可以根据预设值进行选取,例如经验值、实验值等。也可以根据实时网络状况确定,如果网络状况良好,则可以取较小的n值,例如n值取1,即下载一个第二视角的第一码率视频流的分片后,就开始接续下载第二视角的第二码率视频流的分片。如果网络状况较差,则可以取较大的n值,例如n值取3,即下载三个第二视角的第一码率视频流的分片后,再开始接续下载第二视角的第二码率视频流的分片,这样在发生视角切换后,用户观看低码率的视频流时长就稍长。

视频播放单元03负责播放下载的第二视角的各分片。

视频播放单元03可以在第一视角的视频流中事件的发生时间所对应分片播放完毕后,依次播放下载的第二视角的各分片。

本发明实施例中还考虑到这样的情况,即当前正在播放的第一视角的视频流与第二视角的第一码率的视频流在清晰度上相差无几,这是由于第一视角和第二视角之间差值较小,即视角的切换幅度较小引起的。对于这种情况,则无需切换至第二视角的第一码率这一过渡层。因此,可以由判断单元04在事件获取单元01获取到事件后,判断第二视角和第一视角之间的差值绝对值是否大于或等于预设的视角阈值,如果是,则触发视频下载单元02继续执行从事件的发生时间所对应分片的下一分片开始,下载第二视角的第一码率视频流的操作。

否则,判断单元04触发视频下载单元02从事件的发生时间所对应分片之后的第m+1个分片开始,下载第二视角的第二码率视频流,m为正整数,并触发视频播放单元03,待已下载的当前第一视角的视频流中事件的发生时间所对应分片的下m个分片播放完毕后,继续播放下载的第二视角的第二码率视频流。

其中,视角阈值与第一码率和第二码率的图像质量相关,例如,若第一码率是相对于第二码率采用降采样降码率则该视角阈值可以取90度左右。

上述m可以取预设值;或者,m根据实施网络状况确定。

更进一步地,判断单元04在触发视频下载单元02从事件的发生时间所对应分片之后的第m+1个分片开始,下载第二视角的第二码率视频流之前,还可以:

判断是否已下载当前第一视角的视频流中事件的发生时间所对应分片的下m个分片,如果是,则触发视频下载单元02从事件的发生时间所对应分片之后的第m+1个分片开始,下载第二视角的第二码率视频流;

否则,触发视频下载单元02在已下载当前第一视角的视频流的最后一个分片之后,继续下载第二视角的第二码率视频流,并触发视频播放单元03待已下载的第一视角的视频流播放完毕后,继续播放下载的第二视角的第二码率视频流。

作为全景视频的一种典型实现,一个分片包含一个gop,即以gop为单位进行分片。但本发明并不限于这种情况,对于一个分片包含多个gop的情况同样适用。

本发明实施例提供的上述方法和装置可以以设置并运行于设备中的计算机程序体现。该设备可以包括一个或多个处理器,还包括存储器和一个或多个程序,如图10中所示。其中该一个或多个程序存储于存储器中,被上述一个或多个处理器执行以实现本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行如图3所示流程,也可以被上述一个或多个处理器执行如图6所示的方法流程。

上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个计算机执行如图3所示的方法流程,也可以被上述一个或多个计算机执行如图6所示的方法流程。

上述的计算机存储介质可以采用一个或多个计算机可读的介质的任意组合,包括但不限于:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

列举一个应用场景:

在vr直播或点播系统中,用户使用的诸如vr眼镜、vr头盔等设备在观看全景视频的过程中头部方向发生偏转,需要从第一视角切换至第二视角。则可以采用本发明实施例中所述的方式,首先切换至第二视角的低码率视频流上,待播放n个gop后,再切换至第二视角的高码率视频流上。这种方式通过一个过渡层,给予高码率视频充分的下载时间,从而减小视频流从第一视角切换至第二视角时发生的时延。

由以上描述可以看出,本发明实施例提供的上述方法、装置、设备和计算机存储介质可以具备以下优点:

1)在视频流从第一视角切换到第二视角时,通过分层切换的方式,首先将视频流切换到一个中间低码率层的过渡,使得在切换到第二视角时缩小卡顿时间,甚至不会出现卡顿。

2)在从中间低码率层切换到高码率层时,能够根据实时网络状况调整在中间低码率层停留的时长,即调整从中间低码率层切换至高码率层的时机,从而做到视频流切换的平滑过渡,进一步缩小卡顿时间,甚至不会出现卡顿。

3)本发明还进一步依据视角切换的幅度,确定是否采用上述切换至中间低码率层的过渡。在切换幅度较小的情况下,直接播放已下载的第一视角的高码率视频流,播放至m个后切换至第二视角的高码率视频流,从而避免无谓的中间低码率层切换。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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