一种调整视频码率的方法及电子设备与流程

文档序号:11389103阅读:287来源:国知局
一种调整视频码率的方法及电子设备与流程

本发明涉及通信领域,特别涉及一种调整视频码率的方法及电子设备。



背景技术:

近年来,基于http的动态自适应流传递(dynamicadaptivestreamingoverhttp,dash)得到广泛应用,以便向具有动态网络条件和异构装置的用户提供不中断的视频流传递服务。动态码率自适应是dash的最重要特征之一,这是因为它能够自动向用户提供最大可能质量的视频。

在没有高效码率自适应算法的情况下,dash客户端可能遭受频繁的中断以及非最佳的视觉质量。目前存在一些有关dash的码率自适应的方案,例如基于带宽的码率自适应方案和基于缓冲区的码率自适应方案。

最近,马尔科夫理论已经被证明可有效用于分析视频流传递系统的动态特性,使得它是用于码率自适应的有用方案。例如,码率控制问题通过随机动态规划(sdp)来解决。但是,该方案没有充分考虑客户端缓冲区的平滑性和动态特性。此外,所有这些方案中定义的奖励函数均不能反映与长期码率切换相比,用户对频繁的短期码率波动更敏感。最后,现有方案通常依靠单个奖励机制用于整个流传递会话,使得视觉质量不令人满意,这是因为用户对视觉质量的关注点在不同流传递情况下通常是不同的。



技术实现要素:

本发明实施例提供了一种调整视频码率的方法、电子设备及系统,以便提高视频流的质量。

根据本发明的第一方面,提供了一种调整视频码率的方法,所述方法包括:

从服务器下载多个码率版本的视频片段中的一个码率版本;

获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽;以及

根据所述当前状态,确定随后视频片段的最佳请求码率。

结合第一方面,在第一种可能的实现方式中,所述根据所述当前状态,确定随后视频片段的最佳请求码率包括:

根据所述当前状态和随后视频片段的可选码率,获取随后状态以及随后状态对应的转移概率;

根据所述随后状态,计算所述随后状态对应的奖励函数;

根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数;以及

确定使得所述长期奖励函数最大化的随后视频片段的码率为所述随后视频片段的最佳请求码率。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述随后状态对应的奖励函数是分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励的加权平均。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述随后状态,计算所述随后状态对应的奖励函数包括:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励。

结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数包括:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;

否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。

结合第一方面到第一方面的第四种可能的实现方式中的任一实现方式,在第五种可能的实现方式中,所述方法还包括:

根据所述确定的随后视频片段的最佳请求码率,请求下载随后视频片段。

结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中

所述方法重复执行直到视频片段序列下载结束。

结合第一方面到第一方面的第四种可能的实现方式中的任一实现方式,在第七种可能的实现方式中,

所述服务器是dash服务器。

根据本发明的第二方面,提供了一种电子设备,所述电子设备包括:

下载模块,用于从服务器下载多个码率版本的视频片段中的一个码率版本;

当前状态获取模块,用于获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽;以及

最佳请求码率确定模块,用于根据所述当前状态,确定随后视频片段的最佳请求码率。

结合第二方面,在第一种可能的实现方式中,所述最佳请求码率确定模块包括:

随后状态获取模块,用于根据所述当前状态和随后视频片段的可选码率,获取随后状态以及随后状态对应的转移概率;

奖励函数计算模块,用于根据所述随后状态,计算所述随后状态对应的奖励函数;

长期奖励函数计算模块,用于根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数;以及

奖励最大化模块,用于确定使得所述长期奖励函数最大化的随后视频片段的码率为所述随后视频片段的最佳请求码率。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,

所述随后状态对应的奖励函数是分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励的加权平均。

结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述奖励函数计算模块具体用于:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励。

结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述长期奖励函数计算模块具体用于:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;

否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。

结合第二方面到第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述电子设备还包括:

请求模块,用于根据所述确定的随后视频片段的最佳请求码率,请求下载随后视频片段。

结合第二方面到第二方面的第四种可能的实现方式,在第六种可能的实现方式中,

所述服务器是dash服务器。

根据第三方面,提供了一种电子设备,该电子设备包括存储器、发送/接收模块以及与存储器、发送/接收模块连接的处理器,其中存储器存储有一组程序代码,处理器调用存储器存储的程序代码用于执行以下步骤:

从服务器下载多个码率版本的视频片段中的一个码率版本;

获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽;以及

根据所述当前状态,确定随后视频片段的最佳请求码率。

结合第三方面,在第一种可能的实现方式中,处理器调用存储器存储的程序代码用于执行以下步骤:

根据所述当前状态和随后视频片段的可选码率,获取随后状态以及随后状态对应的转移概率;

根据所述随后状态,计算所述随后状态对应的奖励函数;

根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数;以及

确定使得所述长期奖励函数最大化的随后视频片段的码率为所述随后视频片段的最佳请求码率。

结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述随后状态对应的奖励函数可以是分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励的加权平均。

结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,处理器调用存储器存储的程序代码用于执行以下步骤:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励。

结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,处理器调用存储器存储的程序代码用于执行以下步骤:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;

否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。

结合第三方面到第三方面的第四种可能的实现方式,在第五种可能的实现方式中,处理器调用存储器存储的程序代码用于执行以下步骤:

根据所述确定的随后视频片段的最佳请求码率,请求下载随后视频片段。

结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,处理器调用存储器存储的程序代码用于执行以下步骤:重复执行上述步骤直到视频片段序列下载结束。

结合第三方面到第三方面的第四种可能的实现方式,在第七种可能的实现方式中,所述服务器是dash服务器。

本发明实施例提供了一种调整视频码率的方法及电子设备。通过考虑缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽等状态参数,并根据这些参数来确定随后视频片段的最佳请求码率,可以更好地反映主观和客观的视觉质量。通过根据缓冲视频片段时长来计算奖励函数,使得奖励函数对于不同的缓冲区占用场景是动态变化的。通过采用次优算法,降低了计算复杂度,提高了计算效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了dash系统的结构示意图;

图2示出了服务器与客户端之间的dash内容传输流程图;

图3示出了根据本发明实施例的一种调整视频码率的方法流程图;

图4示出了根据本发明实施例的根据当前状态,确定随后视频片段的最佳请求码率的方法流程图;

图5示出了根据本发明实施例的一种电子设备的结构示意图;

图6示出了根据本发明实施例的一种电子设备的结构示意图;

图7示出了根据本发明实施例的调整视频码率的方法与其他现有方法之间的比较结果;

图8示出了根据本发明实施例的调整视频码率的方法与其他现有方法的mos性能。

具体实施方式

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

本发明实施例提供了一种调整视频码率的方法。该方法能够应用于dash客户端,以便提高视频流的用户体验。下面将以dash系统为例来描述本发明实施例,但是本领域普通技术人员能够明了dash系统仅是示例性的,该方法也可以应用于其他方面,本发明实施例对此不加以限定。

图1示出了dash系统的结构示意图。如图1所示,dash系统10包括dash服务器102和dash客户端104,其中dash服务器102和dash客户端104通过网络进行连接。dash服务器102管理dash媒体内容并响应dash客户端104的http媒体服务请求。dash客户端104负责以http协议与dash服务器102交互,获取与解析媒体表示描述(mediapresentationdescription,mpd)文件,构建与管理媒体文件下载请求,解码与输出媒体内容。

图2示出了服务器与客户端之间的dash内容传输流程。首先,媒体内容部署在服务器上,按内容的存储方式分为mpd与媒体片段文件两部分。当用户发起内容播放请求时,客户端首先向服务器请求、下载与解析mpd文件,获取节目码率等信息,然后根据实际的网络带宽情况向服务器请求某种码率的媒体片段文件。在视频的播放过程中,客户端会根据带宽情况选择不同码率的媒体片段以实现自适应切换。

现在参照图3,示出了根据本发明实施例的调整视频码率的方法。该方法可包括以下步骤:

302:从服务器下载多个码率版本的视频片段中的一个码率版本。

具体的,服务器可以是dash服务器,并且下载一个码率版本的视频片段可以是通过http协议进行下载。

当然服务器也可以是其他类型的服务器,本发明实施例对此不加以限定。

304:获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽。

具体的,为了考虑用户体验质量,可以定义状态向量以描述当前状态,状态向量可以包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽。

以当前视频片段为第k片段作为例子,其对应的第k阶段的当前状态uk被定义为uk=(qk,q'k,vk,λk,bk),其中,qk是片段k已经被完全下载后的缓冲视频时长,q'k是当下载片段k时的缓冲视频时长的平均变化率,vk=[vk-n+1,vk-n+2,…vk-1,vk]是最近n个片段的1×n视频码率向量,以及vk是片段k的视频码率,bk是下载先前片段期间的平均带宽,其也用作下载片段k+1的估计可用带宽,以及λk是视频码率一致性函数,其中λk=1表示所有最近n个片段具有相同视频码率,否则λk=0。

306:根据所述当前状态,确定随后视频片段的最佳请求码率。

通过考虑上述五个状态参数,充分考虑了视频码率的平滑性,从而使得确定的随后视频片段的最佳请求码率对于用户体验更佳。

具体的,参照图4,步骤306可以包括以下步骤:

3061:根据所述当前状态和随后视频片段的可选码率,获取随后状态以及随后状态对应的转移概率。

a.缓冲视频时长模型

在本发明实施例中,视频片段k+1的可选码率可称为动作αk。通过状态uk,由动作αk确定用于片段k+1的视频码率,即,vk+1=αk(uk)。

在本发明实施例中,我们使用缓冲视频时长来估量视频播放缓冲区的长度(即,缓冲区占用率),这是因为视频缓冲区包含来自不同版本的视频片段,并且在缓冲视频大小和缓冲视频时长之间不再有直接映射。

缓冲视频时长过程表示为q(t)。为了不失一般性,假设客户端在时刻开始下载片段k,并且该片段在时刻被完全下载。因此,当连续请求片段时,则注意,如果带宽过高,则使用休眠机制来延迟片段请求,以便避免缓冲区溢出。假设休眠时间是τs,则以及

其中,t是每个片段以秒为单位的长度。对于缓冲区占用率的变化率,可以采用流体逼近,流体逼近将增加的视频时间均匀分布在整个片段的下载间隔内,则对于可以有以下公式:

b.视频码率切换模型

根据上述系统演进和状态定义,片段k+1的视频码率可由关联状态和动作确定,如下所示:

vk+1=ak(uk)(3)

因此,给定状态uk和动作αk,可以如下所示更新视频码率向量和视频码率一致性函数:

vk+1=[vk-n+2,vk-n+3,…,vk,ak(uk)](4)

其中,在状态uk中给出vk-n+2,vk-n+3,…vk。

c.信道模型

接着可以使用异构和时变马尔科夫模型来估计未来带宽。首先,将带宽划分成若干区域。对于每个区域,带宽值被量化为它的中值并且它表示马尔科夫信道模型的状态。假设存在c个状态,即带宽被划分为c个区域,则使用转移矩阵来为第k阶段的马尔科夫信道模型的状态转移建模,其中,元素表示从状态i到状态j的转移概率。通过来初始化该矩阵。假设下载片段k和k+1的吞吐量分别落入区域i’和j’中,则在已经成功下载每个片段后如下所示更新该矩阵:

d.转移概率

系统状态之间的转移概率的集合可以用于为系统演进建模。对于动作αk,由于系统参数彼此独立,所以从状态uk到状态uk+1的转移概率能够表示为:

其中能够通过公式1和2获取有关缓冲区占用率的第一项和第二项,能够通过公式3到5获取有关视频码率的第三项和第四项,以及根据c中的马尔科夫信道模型得出最后一项。

3062:根据所述随后状态,计算所述随后状态对应的奖励函数。

在本发明实施例中,我们提出了奖励函数以估量动作的好的程度。当我们选择动作(即,要被请求的视频片段的码率)时,我们需要考虑影响用户体验的质量的因素,例如视频播放指令,视频码率切换频率以及幅度,缓冲区溢出/下溢,以及缓冲区占用率。

对于视频播放质量,视频码率切换频率和幅度,与最近n-1个片段和片段k+1关联的平均视频码率mk和视频码率的时域方差σk可以用于估量第k阶段的奖励,以及这两个因素的关联奖励可分别表示为另一方面,可以利用高效比例差分控制器(pd控制器)来选择用于片段k的视频码率,表示为以防止缓冲区溢出/下溢。因此,我们可以使用视频码率和ak(uk)之间的差来估量通过采取动作ak的缓冲区溢出/下溢的奖励(表示为)。此外,为了维持连续视频播放,缓冲区占用率需要受到控制并且在采取动作之后,缓冲区占用率的奖励可以表示为

最后,通过考虑上述所有因素,用于状态uk的动作ak的奖励可以被定义为:

其中,参数a,b,c,d用于对四个因素进行适当加权,其中a+b+c+d=1,以及可以基于特定应用和实现特性来选择这些参数的值。

具体的,所述根据所述随后状态,计算所述随后状态对应的奖励函数可包括:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用关联的奖励;

如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用关联的奖励;

否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用关联的奖励。

在下面,我们将在上面提到的三个场景中得出中的四个奖励函数,这是因为用户关心的因素在不同流传递场景中通常是不同的。

a.缓冲区溢出控制

可以定义两个缓冲区阈值qhigh和qlow,分别表示缓冲区溢出阈值和缓冲区下溢阈值。当则需要采取动作ak来避免缓冲区溢出。对于文件下载和网页浏览的应用,用户体验遵循对数法则。另一方面,如果用于先前n个片段的视频码率保持稳定,则我们能够忽略其对视觉质量的影响,这是因为用户对频繁的短期码率波动敏感,而不是长期码率切换。因此,我们可以具有如下公式:

其中,ε是小正数,其中ε>1。

另一方面,当采取动作以提高缓冲区占用率时,为了避免缓冲区溢出,提高后的缓冲区占用率不应高于qhigh。为了达到该目的,可以通过pd控制器对于码率进行控制。因此,可以定义成:

以及可以通过与缓冲区溢出的边界qhigh的间隔来估量缓冲区占用率的奖励:

b.缓冲区下溢控制

则需要采取动作来避免缓冲区下溢。与的情况类似,视频码率切换幅度,切换频率和采取动作ak的缓冲区下溢的奖励可以与公式9到11中相同。此时缓冲区占用率的奖励可以为:

c.平滑码率控制

时,缓冲区溢出/下溢的概率较低。通过采取动作ak的视频码率切换幅度和切换频率的奖励可以与公式(9)和(10)中定义相同。考虑到当缓冲区占用率保持在居中水平时缓冲区溢出/下溢的风险低,缓冲区溢出/下溢的奖励可以简单地设置为:

此外,理想情况是将缓冲区占用率保持在两个缓冲区阈值的中间以便有效避免缓冲区溢出/下溢。因此,缓冲区占用率的奖励可以定义为:

3063:根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数。

我们定义ψ为流传递策略,具体定义为在每个阶段的可能动作的映射。随后,在策略ψ下的长期奖励能够被计算为:

其中,γ∈[0,1]是反映未来奖励的当前值的折扣参数,其中小γ导致“近视”演进,意味着不太看重未来奖励,而大γ导致“远视”演进,意味着比较看重未来奖励。

我们的目标是找到最大化视频流传递期间的奖励的最佳策略ψ*。为此,视频码率自适应过程能够写成以下最优化问题:

直接求解公式(17)可能有若干挑战,为此我们提出了次优算法,通过设置小搜索深度d,使得:

当缓冲区占用率过高或过低时,我们进行动作决策而不考虑任何未来状态,因为有大概率缓冲区溢出/下溢可能很快发生。否则,考虑一个另外的未来状态,因为有足够时间搜索更深深度来获得更佳结果。

具体的,根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数可包括:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;

否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。

通过上述算法,公式(16)可转变成如下所示:

通过该次优算法,降低了计算复杂度,减少了计算时间,从而有助于在例如智能手机等设备中的实时实现。

3064:确定使得所述长期奖励函数最大化的随后视频片段的码率为所述随后视频片段的最佳请求码率。

通过求解上述公式(17),可以确定随后视频片段的最佳请求码率。

参照回图3,可选的,该方法还可包括以下步骤:

308:根据所述确定的随后视频片段的最佳请求码率,请求下载随后视频片段。

可选的,步骤302-308可重复执行,直到服务器中的视频片段序列下载完毕为止。

实验

我们在真实互联网中评估码率自适应算法。另外,也评估所接收视频的主观质量。在我们的实验中,服务器提供五个不同版本的视频码率:300kbps,700kbps,1500kbps,2500kbps,3500kbps。每个视频被分成具有2s长度的长度相同的小视频片段。考虑到启动装置的延迟,存储和处理容量,缓冲区大小设置成30s,qmin=5s以及qmax=25s。对于性能比较,除了我们提出的方法(称为mdash),我们还实现了典型的基于缓冲区的码率自适应方案(称为bufdash)和基于sdp的码率自适应方案(sdpdash)。我们设置位于中国香港的一个planetlab节点为dash服务器(plab1.cs.ust.hk),以及位于中国北京的另一个planetlab节点为dash客户端(p11.pku.edu.cn)。我们在服务器和客户端之间没有注入任何背景业务。

我们按顺序进行不同实验,其中,带宽模式不是可控的。图7(c)中的结果显示mdash能够良好地适应时变网络条件,并且导致平滑视频码率,而不造成缓冲区溢出/下溢或播放中断。与之对比,bufdash的视频码率频繁向上切换和向下切换以使得缓冲区占用率保持在安全范围内,以避免缓冲区溢出/下溢。此外,sdpdash也导致大幅波动的视频码率,这是因为sdpdash中定义的系统状态和奖励功能关注于稳定缓冲区占用率而没有很好地控制视频码率的平滑性。但是,相比于缓冲区占用率变化,视频码率波动对于观看者来说更为恼人,因此使得视觉质量不满意。

最后,我们对三个序列{肥兔子邦尼,钢铁之泪,以及辛特尔}进行主观测试。为了公平比较,使用从planetlab手机的相同带宽轨迹来评估所有这三个方法。随后,对于每个视频序列,根据视频码率结果,我们将视频片段组合成单个视频文件。用于呈现序列的显示器的大小是22英寸,分辨率是1920x1080,并且纵横比是16:9。在实验中涉及两个主题,均具有正常视觉和立体敏感度以及彩色视觉。如图8中所示,与其他两个方法相比,mdash实现了最高mos,mos增益高达1.05和1.23。注意,sdpdash和bufdash的差主观视觉质量主要是由于其大幅波动视频码率。mdash的高mos已经展示了所提出的方案在主观用户体验方面的有效性。

图5示出了根据本发明实施例的电子设备的结构示意图。该电子设备可包括:下载模块501,用于从服务器下载多个码率版本的视频片段中的一个码率版本;当前状态获取模块502,用于获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽;以及最佳请求码率确定模块503,用于根据所述当前状态,确定随后视频片段的最佳请求码率。

具体的,所述最佳请求码率确定模块503包括:

随后状态获取模块5031,用于根据所述当前状态和随后视频片段的可选码率,获取随后状态以及随后状态对应的转移概率;

奖励函数计算模块5032,用于根据所述随后状态,计算所述随后状态对应的奖励函数;

长期奖励函数计算模块5033,用于根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数;以及

奖励最大化模块5034,用于确定使得所述长期奖励函数最大化的随后视频片段的码率为所述随后视频片段的最佳请求码率。

具体的,所述随后状态对应的奖励函数是分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用关联的奖励的加权平均。

所述奖励函数计算模块5032可具体用于:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励。

具体的,所述长期奖励函数计算模块5033具体用于:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;

否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。

可选的,所述电子设备还包括:

请求模块504,用于根据所述确定的随后视频片段的最佳请求码率,请求下载随后视频片段。

可选的,所述服务器是dash服务器。

本发明实施例提供了一种电子设备,通过考虑缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽等状态参数,并根据这些参数来确定随后视频片段的最佳请求码率,可以更好地反映主观和客观的视觉质量。通过根据缓冲视频片段时长来计算奖励函数,使得奖励函数对于不同的缓冲区占用场景是动态变化的。通过采用次优算法,降低了计算复杂度,提高了计算效率。

图6示出了根据本发明实施例的电子设备的结构示意图。如图6所示,该电子设备包括存储器601、发送/接收模块602以及与存储器601、发送/接收模块602连接的处理器603,其中存储器601存储有一组程序代码,处理器603调用存储器601存储的程序代码用于执行以下步骤:

从服务器下载多个码率版本的视频片段中的一个码率版本;

获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽;以及

根据所述当前状态,确定随后视频片段的最佳请求码率。

具体的,处理器603调用存储器601存储的程序代码用于执行以下步骤:

根据所述当前状态和随后视频片段的可选码率,获取随后状态以及随后状态对应的转移概率;

根据所述随后状态,计算所述随后状态对应的奖励函数;

根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数;以及

确定使得所述长期奖励函数最大化的随后视频片段的码率为所述随后视频片段的最佳请求码率。

具体的,所述随后状态对应的奖励函数可以是分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励的加权平均。

具体的,处理器603调用存储器601存储的程序代码用于执行以下步骤:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;

否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励。

具体的,处理器603调用存储器601存储的程序代码用于执行以下步骤:

如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;

否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。

可选的,处理器603调用存储器601存储的程序代码用于执行以下步骤:

根据所述确定的随后视频片段的最佳请求码率,请求下载随后视频片段。

可选的,处理器603调用存储器601存储的程序代码用于执行以下步骤:重复执行上述步骤直到视频片段序列下载结束。

可选的,所述服务器是dash服务器。

本发明实施例提供了一种电子设备,通过考虑缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽等状态参数,并根据这些参数来确定随后视频片段的最佳请求码率,可以更好地反映主观和客观的视觉质量。通过根据缓冲视频片段时长来计算奖励函数,使得奖励函数对于不同的缓冲区占用场景是动态变化的。通过采用次优算法,降低了计算复杂度,提高了计算效率。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的电子设备在调整视频码率的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的电子设备与调整视频码率方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

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

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