CN107135411B - 一种调整视频码率的方法及电子设备 - Google Patents

一种调整视频码率的方法及电子设备 Download PDF

Info

Publication number
CN107135411B
CN107135411B CN201610107668.5A CN201610107668A CN107135411B CN 107135411 B CN107135411 B CN 107135411B CN 201610107668 A CN201610107668 A CN 201610107668A CN 107135411 B CN107135411 B CN 107135411B
Authority
CN
China
Prior art keywords
code rate
video segment
subsequent
buffer
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610107668.5A
Other languages
English (en)
Other versions
CN107135411A (zh
Inventor
周超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiao Feng
Original Assignee
Palmwin Information Technology Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Palmwin Information Technology Shanghai Co ltd filed Critical Palmwin Information Technology Shanghai Co ltd
Priority to CN201610107668.5A priority Critical patent/CN107135411B/zh
Publication of CN107135411A publication Critical patent/CN107135411A/zh
Application granted granted Critical
Publication of CN107135411B publication Critical patent/CN107135411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例提供了一种调整视频码率的方法及电子设备,属于通信领域。该方法包括:从服务器下载多个码率版本的视频片段中的一个码率版本;获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽;以及根据所述当前状态,确定随后视频片段的最佳请求码率。

Description

一种调整视频码率的方法及电子设备
技术领域
本发明涉及通信领域,特别涉及一种调整视频码率的方法及电子设备。
背景技术
近年来,基于HTTP的动态自适应流传递(dynamic adaptive streaming overHTTP,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交互,获取与解析媒体表示描述(media presentationdescription,MPD) 文件,构建与管理媒体文件下载请求,解码与输出媒体内容。
图2示出了服务器与客户端之间的DASH内容传输流程。首先,媒体内容部署在服务器上,按内容的存储方式分为MPD与媒体片段文件两部分。当用户发起内容播放请求时,客户端首先向服务器请求、下载与解析MPD文件,获取节目码率等信息,然后根据实际的网络带宽情况向服务器请求某种码率的媒体片段文件。在视频的播放过程中,客户端会根据带宽情况选择不同码率的媒体片段以实现自适应切换。
现在参照图3,示出了根据本发明实施例的调整视频码率的方法。该方法可包括以下步骤:
302:从服务器下载多个码率版本的视频片段中的一个码率版本。
具体的,服务器可以是DASH服务器,并且下载一个码率版本的视频片段可以是通过HTTP协议进行下载。
当然服务器也可以是其他类型的服务器,本发明实施例对此不加以限定。
304:获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽。
具体的,为了考虑用户体验质量,可以定义状态向量以描述当前状态,状态向量可以包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽。
以当前视频片段为第k片段作为例子,其对应的第k阶段的当前状态uk被定义为uk=(qk,q'k,vkk,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)。为了不失一般性,假设客户端在时刻
Figure BDA0000930323190000101
开始下载片段k,并且该片段在时刻
Figure BDA0000930323190000102
被完全下载。因此,当连续请求片段时,则
Figure BDA0000930323190000103
注意,如果带宽过高,则使用休眠机制来延迟片段请求,以便避免缓冲区溢出。假设休眠时间是τs,则
Figure BDA0000930323190000104
以及
Figure BDA0000930323190000105
其中,T是每个片段以秒为单位的长度。对于缓冲区占用率的变化率,可以采用流 体逼近,流体逼近将增加的视频时间均匀分布在整个片段的下载间隔内,则对于
Figure BDA0000930323190000106
可以有以下公式:
Figure BDA0000930323190000107
B.视频码率切换模型
根据上述系统演进和状态定义,片段k+1的视频码率可由关联状态和动作确定,如下所示:
vk+1=ak(uk) (3)
因此,给定状态uk和动作αk,可以如下所示更新视频码率向量和视频码率一致性函数:
vk+1=[vk-N+2,vk-N+3,…,vk,ak(uk)] (4)
Figure BDA0000930323190000108
其中,在状态uk中给出vk-N+2,vk-N+3,…vk
C.信道模型
接着可以使用异构和时变马尔科夫模型来估计未来带宽。首先,将带宽划分成若干区域。对于每个区域,带宽值被量化为它的中值并且它表示马尔科夫信道模型的状态。假设存在C个状态,即带宽被划分为C个区域,则使用转移矩阵
Figure BDA0000930323190000111
来为第k阶段的马尔科夫信道模型的状态转移建模,其中,元素
Figure BDA0000930323190000112
表示从状态i到状态j的转移概率。通过
Figure BDA0000930323190000113
来初始化该矩阵。假设下载片段k和k+1的吞吐量分别落入区域i’和j’中,则在已经成功下载每个片段后如下所示更新该矩阵:
Figure BDA0000930323190000114
D.转移概率
系统状态之间的转移概率的集合可以用于为系统演进建模。对于动作αk,由于系统参数彼此独立,所以从状态uk到状态uk+1的转移概率能够表示为:
Figure BDA0000930323190000115
其中能够通过公式1和2获取有关缓冲区占用率的第一项和第二项,能够通过公式3到5获取有关视频码率的第三项和第四项,以及根据C中的马尔科夫信道模型得出最后一项。
3062:根据所述随后状态,计算所述随后状态对应的奖励函数。
在本发明实施例中,我们提出了奖励函数以估量动作的好的程度。当我们选择动作(即,要被请求的视频片段的码率)时,我们需要考虑影响用户体验的质量的因素,例如视频播放指令,视频码率切换频率以及幅度,缓冲区溢出/ 下溢,以及缓冲区占用率。
对于视频播放质量,视频码率切换频率和幅度,与最近N-1个片段和片段 k+1关联的平均视频码率mk和视频码率的时域方差σk可以用于估量第k阶段的奖励,以及这两个因素的关联奖励可分别表示为
Figure BDA0000930323190000121
Figure BDA0000930323190000122
另一方面,可以利用高效比例差分控制器(PD控制器)来选择用于片段k的视频码率,表示为
Figure BDA0000930323190000123
以防止缓冲区溢出/下溢。因此,我们可以使用视频码率
Figure BDA0000930323190000124
和ak(uk)之间的差来估量通过采取动作ak的缓冲区溢出/下溢的奖励(表示为
Figure BDA0000930323190000126
)。此外,为了维持连续视频播放,缓冲区占用率需要受到控制并且在采取动作之后,缓冲区占用率的奖励可以表示为
Figure BDA0000930323190000127
最后,通过考虑上述所有因素,用于状态uk的动作ak的奖励可以被定义为:
Figure BDA0000930323190000125
其中,参数a,b,c,d用于对四个因素进行适当加权,其中a+b+c+d=1,以及可以基于特定应用和实现特性来选择这些参数的值。
具体的,所述根据所述随后状态,计算所述随后状态对应的奖励函数可包括:
如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用关联的奖励;
如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用关联的奖励;
否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用关联的奖励。
在下面,我们将在上面提到的三个场景中得出
Figure BDA0000930323190000128
中的四个奖励函数,这是因为用户关心的因素在不同流传递场景中通常是不同的。
A.缓冲区溢出控制
可以定义两个缓冲区阈值qhigh和qlow,分别表示缓冲区溢出阈值和缓冲区下溢阈值。当
Figure BDA0000930323190000131
则需要采取动作ak来避免缓冲区溢出。对于文件下载和网页浏览的应用,用户体验遵循对数法则。另一方面,如果用于先前N 个片段的视频码率保持稳定,则我们能够忽略其对视觉质量的影响,这是因为用户对频繁的短期码率波动敏感,而不是长期码率切换。因此,我们可以具有如下公式:
Figure BDA0000930323190000137
Figure BDA0000930323190000132
其中,ε是小正数,其中ε>1。
另一方面,当采取动作以提高缓冲区占用率时,为了避免缓冲区溢出,提高后的缓冲区占用率不应高于qhigh。为了达到该目的,可以通过PD控制器对于码率进行控制。因此,
Figure BDA0000930323190000133
可以定义成:
Figure BDA0000930323190000134
以及可以通过与缓冲区溢出的边界qhigh的间隔来估量缓冲区占用率的奖励:
Figure BDA0000930323190000138
B.缓冲区下溢控制
Figure BDA0000930323190000135
则需要采取动作来避免缓冲区下溢。与
Figure BDA0000930323190000136
的情况类似,视频码率切换幅度,切换频率和采取动作ak的缓冲区下溢的奖励可以与公式9到11中相同。此时缓冲区占用率的奖励可以为:
Figure BDA0000930323190000146
C.平滑码率控制
Figure BDA0000930323190000141
时,缓冲区溢出/下溢的概率较低。通过采取动作ak的视频码率切换幅度和切换频率的奖励可以与公式(9)和(10)中定义相同。考虑到当缓冲区占用率保持在居中水平时缓冲区溢出/下溢的风险低,缓冲区溢出/下溢的奖励可以简单地设置为:
Figure BDA0000930323190000147
此外,理想情况是将缓冲区占用率保持在两个缓冲区阈值的中间以便有效避免缓冲区溢出/下溢。因此,缓冲区占用率的奖励可以定义为:
Figure BDA0000930323190000142
3063:根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数。
我们定义ψ为流传递策略,具体定义为在每个阶段的可能动作的映射。随后,在策略ψ下的长期奖励
Figure BDA0000930323190000143
能够被计算为:
Figure BDA0000930323190000144
其中,γ∈[0,1]是反映未来奖励的当前值的折扣参数,其中小γ导致“近视”演进,意味着不太看重未来奖励,而大γ导致“远视”演进,意味着比较看重未来奖励。
我们的目标是找到最大化视频流传递期间的奖励的最佳策略ψ*。为此,视频码率自适应过程能够写成以下最优化问题:
Figure BDA0000930323190000145
直接求解公式(17)可能有若干挑战,为此我们提出了次优算法,通过设置小搜索深度d,使得:
Figure BDA0000930323190000151
当缓冲区占用率过高或过低时,我们进行动作决策而不考虑任何未来状态,因为有大概率缓冲区溢出/下溢可能很快发生。否则,考虑一个另外的未来状态,因为有足够时间搜索更深深度来获得更佳结果。
具体的,根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数可包括:
如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;
否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。
通过上述算法,公式(16)可转变成如下所示:
Figure BDA0000930323190000152
通过该次优算法,降低了计算复杂度,减少了计算时间,从而有助于在例如智能手机等设备中的实时实现。
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服务器。
本发明实施例提供了一种电子设备,通过考虑缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽等状态参数,并根据这些参数来确定随后视频片段的最佳请求码率,可以更好地反映主观和客观的视觉质量。通过根据缓冲视频片段时长来计算奖励函数,使得奖励函数对于不同的缓冲区占用场景是动态变化的。通过采用次优算法,降低了计算复杂度,提高了计算效率。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的电子设备在调整视频码率的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的电子设备与调整视频码率方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种调整视频码率的方法,其特征在于,所述方法包括:
从服务器下载多个码率版本的视频片段中的一个码率版本;
获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽;以及
根据所述当前状态,确定随后视频片段的最佳请求码率;
其中,所述根据所述当前状态,确定随后视频片段的最佳请求码率包括:
根据所述当前状态和随后视频片段的可选码率,获取随后状态以及随后状态对应的转移概率;
根据所述随后状态,计算所述随后状态对应的奖励函数;
根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数;以及
确定使得所述长期奖励函数最大化的随后视频片段的码率为所述随后视频片段的最佳请求码率。
2.根据权利要求1所述的方法,其特征在于,
所述随后状态对应的奖励函数是分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励的加权平均。
3.根据权利要求2所述的方法,其特征在于,所述根据所述随后状态,计算所述随后状态对应的奖励函数包括:
如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;
如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;
否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励。
4.根据权利要求3所述的方法,其特征在于,根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数包括:
如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;
否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。
5.一种电子设备,其特征在于,所述电子设备包括:
下载模块,用于从服务器下载多个码率版本的视频片段中的一个码率版本;
当前状态获取模块,用于获取当前状态,所述当前状态包括缓冲视频片段时长、缓冲视频片段时长的变化率、历史视频片段码率向量、视频片段码率一致性函数以及带宽;以及
最佳请求码率确定模块,用于根据所述当前状态,确定随后视频片段的最佳请求码率;
其中,所述最佳请求码率确定模块包括:
随后状态获取模块,用于根据所述当前状态和随后视频片段的可选码率,获取随后状态以及随后状态对应的转移概率;
奖励函数计算模块,用于根据所述随后状态,计算所述随后状态对应的奖励函数;
长期奖励函数计算模块,用于根据所述随后状态、所述随后状态对应的奖励函数以及转移概率,计算长期奖励函数;以及
奖励最大化模块,用于确定使得所述长期奖励函数最大化的随后视频片段的码率为所述随后视频片段的最佳请求码率。
6.根据权利要求5所述的电子设备,其特征在于,
所述随后状态对应的奖励函数是分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用关联的奖励的加权平均。
7.根据权利要求6所述的电子设备,其特征在于,所述奖励函数计算模块具体用于:
如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值,则根据第一公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;
如果所述随后状态中的缓冲视频片段时长低于低缓冲区阈值,则根据第二公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励;
否则,根据第三公式集合计算分别与平均视频片段码率、视频片段码率的时域方差、缓冲区溢出/下溢以及缓冲区占用率关联的奖励。
8.根据权利要求7所述的电子设备,其特征在于,所述长期奖励函数计算模块具体用于:
如果所述随后状态中的缓冲视频片段时长高于高缓冲区阈值或者低于低缓冲区阈值,则根据下一随后状态对应的奖励函数及其转移概率,计算长期奖励函数;
否则,根据下一随后状态以及再下一随后状态对应的奖励函数以及这两个随后状态对应的转移概率,计算长期奖励函数。
CN201610107668.5A 2016-02-26 2016-02-26 一种调整视频码率的方法及电子设备 Active CN107135411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610107668.5A CN107135411B (zh) 2016-02-26 2016-02-26 一种调整视频码率的方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610107668.5A CN107135411B (zh) 2016-02-26 2016-02-26 一种调整视频码率的方法及电子设备

Publications (2)

Publication Number Publication Date
CN107135411A CN107135411A (zh) 2017-09-05
CN107135411B true CN107135411B (zh) 2020-04-24

Family

ID=59721749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610107668.5A Active CN107135411B (zh) 2016-02-26 2016-02-26 一种调整视频码率的方法及电子设备

Country Status (1)

Country Link
CN (1) CN107135411B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833996B (zh) * 2018-07-03 2020-07-10 湖北大学 分布式dash系统中服务节点选择、更新和码率自适应方法
CN108924667B (zh) * 2018-08-03 2021-01-15 阳雨哲 一种支持QoE最大化的可用带宽自适应视频分片请求方法
CN109714631A (zh) * 2019-02-26 2019-05-03 华南理工大学 一种基于http视频流动态自适应码率选择方法
CN110267100B (zh) * 2019-07-12 2022-01-25 北京达佳互联信息技术有限公司 Flv视频的码率切换方法、装置、电子设备及存储介质
CN110662093A (zh) * 2019-10-17 2020-01-07 北京达佳互联信息技术有限公司 一种初始码率确定方法、装置、电子设备及存储介质
CN113411643B (zh) * 2021-05-26 2022-11-11 中国人民解放军国防科技大学 一种视频质量优化方法、系统、电子设备及存储介质
CN114007113B (zh) * 2021-11-01 2023-12-01 迪爱斯信息技术股份有限公司 视频码率自适应调整方法及其装置
CN115811742B (zh) * 2022-08-24 2023-09-12 南通大学 一种提升CoAP协议非确认模式可靠性的高能效传输方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102333089A (zh) * 2011-09-26 2012-01-25 南京邮电大学 基于超文本传输协议流化的多码率媒体流自适应控制方法
CN103702237A (zh) * 2012-09-28 2014-04-02 北京大学 Http流媒体的速率自适方法及装置
CN104580067B (zh) * 2013-10-11 2017-12-12 北京大学 基于多服务器的流媒体传输装置和流媒体传输方法
US9430375B2 (en) * 2013-12-30 2016-08-30 International Business Machines Corporation Techniques for storing data in bandwidth optimized or coding rate optimized code words based on data access frequency
CN105263037B (zh) * 2014-07-18 2018-07-03 中国科学院声学研究所 一种基于客户端缓存的自适应流化方法

Also Published As

Publication number Publication date
CN107135411A (zh) 2017-09-05

Similar Documents

Publication Publication Date Title
CN107135411B (zh) 一种调整视频码率的方法及电子设备
CN109040855B (zh) 一种无线dash流媒体码率平滑自适应传输方法
CN107683600B (zh) 用于响应于客户端的视频缓冲器特性来管理abr比特率递送的系统和方法
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
US10271112B2 (en) System and method for dynamic adaptive video streaming using model predictive control
CN108833996B (zh) 分布式dash系统中服务节点选择、更新和码率自适应方法
Miller et al. Adaptation algorithm for adaptive streaming over HTTP
WO2017031692A1 (zh) 视频下载方法、装置及系统
CN108184152B (zh) 一种dash传输系统两阶段客户端码率选择方法
CN112953922B (zh) 一种自适应流媒体控制方法、系统、计算机设备及应用
CN109714631A (zh) 一种基于http视频流动态自适应码率选择方法
CN105263037B (zh) 一种基于客户端缓存的自适应流化方法
CN108494454A (zh) 链路感知流传输自适应
CN110022498B (zh) 一种实现码率切换的方法及装置
CN108063955A (zh) 基于状态机的动态自适应视频传输的码率切换方法
Zhou et al. TFDASH: A fairness, stability, and efficiency aware rate control approach for multiple clients over DASH
CN108833995B (zh) 一种无线网络环境中自适应流媒体的传输方法
TWI666928B (zh) 適應性位元率分發方式的內容分發之分發控制裝置及分發控制方法
CN104022845A (zh) 调整数据块比特率的方法、装置和系统
CN111617466B (zh) 编码格式的确定方法、装置及云游戏的实现方法
Sun et al. Optimal strategies for live video streaming in the low-latency regime
Karn et al. Measuring bandwidth and buffer occupancy to improve the QoE of HTTP adaptive streaming
Xie et al. Dynamic threshold based rate adaptation for HTTP live streaming
CN113259657A (zh) 基于视频质量分数的dppo码率自适应控制系统和方法
Rahman et al. SABA: Segment and buffer aware rate adaptation algorithm for streaming over HTTP

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 200063, Shanghai, Putuo District, home on the first floor of the cross road, No. 28

Patentee after: Palmwin Information Technology (Shanghai) Co.,Ltd.

Address before: 200063, Shanghai, Putuo District, 515 home road, room 28

Patentee before: Palmwin Information Technology (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200709

Address after: 603a, block a, Xinghe world, No.1 Yabao Road, Longgang District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Weiwu Technology Co.,Ltd.

Address before: 200063, Shanghai, Putuo District, home on the first floor of the cross road, No. 28

Patentee before: Palmwin Information Technology (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210202

Address after: 518051 2503, building 15, Longhai homeland, 5246 Yihai Avenue, baonanshan District, Shenzhen City, Guangdong Province

Patentee after: Xiao Feng

Address before: 603a, block a, Xinghe world, No.1, Yabao Road, Longgang District, Shenzhen, Guangdong 518035

Patentee before: Shenzhen Weiwu Technology Co.,Ltd.