CN106790047B - 一种基于pid控制器的动态调整视频码率的方法 - Google Patents

一种基于pid控制器的动态调整视频码率的方法 Download PDF

Info

Publication number
CN106790047B
CN106790047B CN201611176983.XA CN201611176983A CN106790047B CN 106790047 B CN106790047 B CN 106790047B CN 201611176983 A CN201611176983 A CN 201611176983A CN 106790047 B CN106790047 B CN 106790047B
Authority
CN
China
Prior art keywords
indicate
video
code rate
block
downloading
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
CN201611176983.XA
Other languages
English (en)
Other versions
CN106790047A (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.)
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
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 National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201611176983.XA priority Critical patent/CN106790047B/zh
Publication of CN106790047A publication Critical patent/CN106790047A/zh
Application granted granted Critical
Publication of CN106790047B publication Critical patent/CN106790047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Abstract

本发明提供的方法利用PID控制器根据缓存状态信息动态地对视频码率进行调整,使得播放系统能够对复杂的网络环境做出响应并保持稳定性,保证用户具有良好的体验。

Description

一种基于PID控制器的动态调整视频码率的方法
技术领域
本发明流媒体技术领域,更具体地,涉及一种基于PID控制器的动态调整视频码率的方法。
背景技术
近年来,随着高速数据网络的发展以及智能终端设备的迅速普及,人们对流媒体的需求也不断增长,这也导致流媒体在互联网流量中的比重呈爆炸式增长,与之相对应的流媒体技术引起了国内外的高度重视和积极研究。传统的流媒体技术(如RTP和RTSP)有各种各样的弊端,如不支持现有的网络基础设施和无法通过防火墙等问题,而HTTP渐进式下载又会因为网络带宽波动对用户产生不好的用户体验并且不支持直播。基于HTTP的动态自适应流媒体技术(DASH,Dynamic Adaptive Streaming over HTTP)克服了以上的缺点,已经逐渐成为主流的流媒体技术。
基于HTTP的实时流媒体协议现已成为移动互联网上多媒体业务的主流协议,目前在各移动终端和服务厂商推出的自身产品和平台相关的流媒体解决方案中,大部分都是基于HTTP协议实现的。其中较成熟的有苹果公司的HLS(Apple HTTP Live Streaming),微软公司的MSS(Microsoft Smooth Streaming)和Adobe公司的HDS(Adobe HTTP DynamicStreaming)。上述三大商业流媒体解决方案都是将视频编码成多种码率,将打包好的视频文件进行切片处理,然后用一个索引文件来描述视频内容。但它们之间互不兼容,只能播放遵循自己标准的媒体文件。
3GPP和MPEG总结三大商业系统的特点,联合提出的一种解决方案:MEPG-DASH。该协议综合了现有主流移动流媒体协议的基本构架,对所有平台提供了良好的兼容性。
图1展示了DASH系统的架构。整个系统由三个部分组成,包括媒体服务器(MediaServer)、缓存服务器(Cache Server)和客户端(Client)。在媒体服务器里,视频内容被编码成多种码率,码率高对应的视频清晰度也高,同时视频被切成固定长度的视频片段。客户端播放视频时,根据网络状况,通过HTTP协议向服务器请求相应码率的视频切片,从而最大程度地利用网络带宽,并保证视频播放流畅。用户观看过的视频会在相应的缓存服务器上备份,以备用户再次观看和与用户相近的其他用户观看。在客户端的流控制器是用来控制媒体内容的请求过程。一个典型的控制器会先从原始媒体内容服务器取得媒体内容的基本信息,如媒体描述文件(MPD,Media Presentation Description),再根据网络状况、流媒体策略和设备的配置信息请求相应码率的视频内容。在此之后,视频块就会通过HTTP协议从服务器传到并保存在客户端的缓存中。
目前码率的选取策略主要有以下两种方式:基于带宽预测的方法和基于缓存的方法。基于带宽预测的方法得到广泛的研究和应用,该方法是根据实时检测用户带宽状况,动态调整视频流的质量。然而使用这种方法在有网络资源竞争的情况下服务器的性能会严重下降,降低了用户体验。导致这种现象主要有两个原因:一是带宽预测是很难的并且是不准确的;二是决定在瓶颈情况下有多少带宽可利用是传输层TCP的职责,而HTTP是属于应用层的协议。基于这样的原因,很多研究者就建议不要尝试去预测用户的带宽使用情况,而是通过考虑客户端的缓存状态来动态选取视频的码率。
发明内容
本发明为解决以上基于带宽预测码率的方法预测准确度低的缺陷,提供了一种基于PID控制器的动态调整视频码率的方法,该方法利用PID控制器根据缓存状态信息动态地对视频码率进行调整,使得播放系统能够对复杂的网络环境做出响应并保持稳定性,保证用户具有良好的体验。
为实现以上发明目的,采用的技术方案是:
一种基于PID控制器的动态调整视频码率的方法,包括以下步骤:
S1.对PID控制器比例单元、积分单元、微分单元的参数Kp、Ki和Kd进行初始化,PID控制器的状态转移方程为:
S2.对于下载的第K块视频块,其对应的码率通过下式计算获得:
rk=Kp1(bk-bf)+C
其中k的初始值为1,bf表示缓存稳定时缓存队列的长度,bk表示更新的下载第k块视频块时缓存队列的长度,Kp1、C表示设定的常数,常数Kp1和C满足:
ck表示下载第k个视频块时网络的平均带宽,τ表示每个视频块的长度;
S3.使用流近似来对缓存状态的变化率进行计算:
其中bk-1表示下载第k-1块视频块时缓存队列的长度,tk、tk-1分别表示下载下载第k块视频块、第k-1块视频块的具体时刻;
S4.由上可知,rk、bt′满足以下线性状态方程组:
δ(rk)=rk-rf,其中rf表示当缓存处于稳定状态时的视频码率;δ(·)表示差分运算;
因此状态转移方程为:
S5.将步骤S4的状态转移方程应用到PID控制器的状态转移方程中,得:
S6.根据PID控制器的特性,视频码率的调整表示为:
因此,rk=Q(δ(rk)+rf);其中Q(·)表示量化算子;
S7.令k=k+1,然后重复执行步骤S2~S6。
优选地,所述步骤S2中,更新bk的过程表示如下:
其中Δtk-1表示缓存存满的时候,暂停下载视频块的时间,Bmax表示缓存的最大容量。
与现有技术相比,本发明的有益效果是:
(1)本发明提供的方法利用PID控制器根据缓存状态信息动态地对视频码率进行调整,使得播放系统能够对复杂的网络环境做出响应并保持稳定性,保证用户具有良好的体验。
(2)本发明提供的方法在更新缓存队列时,若缓存存满,则暂停下载视频块,防止缓存队列溢出。
附图说明
图1为DASH系统架构示意图。
图2为本发明提供的方法的流程图。
图3为PID控制器的结构示意图。
图4为线性系统的框图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
如图2所示,本发明提供的基于PID控制器的动态调整视频码率的方法,包括以下步骤:
第一步、对PID控制器比例单元、积分单元、微分单元的参数Kp、Ki和Kd进行初始化,如图3所示,PID控制器的状态转移方程为:
第二步、对于下载的第k块视频块,其对应的码率通过下式计算获得:
rk=Kp1(bk-bf)+C
其中k的初始值为1,bf表示缓存稳定时缓存队列的长度,bk表示更新的下载第k块视频块时缓存队列的长度,Kp1、C表示设定的常数,常数Kp1和C满足:
第三步、使用流近似来对缓存状态的变化率进行计算:
其中bk-1表示下载第k-1块视频块时缓存队列的长度,tk、tk-1分别表示下载下载第k块视频块、第k-1块视频块的具体时刻;
第四步、由上可知,如图4所示,rk、bk满足以下线性状态方程组:
因此状态转移方程为:
第五步、将第四步的状态转移方程应用到PID控制器的状态转移方程中,得:
第六步、根据PID控制器的特性,视频码率的调整表示为:
因此,rk=Q(δ(rk)+rf);其中Q(·)表示量化算子;
第七步、令k=k+1,然后重复执行步骤第二步~第六步。
优选地,所述第二步中,更新bk的过程表示如下:
其中Δtk-1表示缓存存满的时候,暂停下载视频块的时间,Bmax表示缓存的最大容量。
上述方法的伪代码如下:
输入:
PID控制模型参数:Kp,Ki,Kd
缓存的平稳状态:bf
初始视频码率和缓存状态:v0,b0
码率选择系数:Kp1
输出:
所要获取的视频块的码率。
1、初始化步骤:t←0,b(0)←0,r←r0
2、for i←1 to N:
3、下载码率为ri-1第i-1个视频块,等待其下载完成;
4、更新缓存状态
5、计算
6、计算rk=Q(δ(rk)+rf);
end for
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (2)

1.一种基于PID控制器的动态调整视频码率的方法,其特征在于:包括以下步骤:
S1.对PID控制器比例单元、积分单元、微分单元的参数Kp、Ki和Kd进行初始化,PID控制器的状态转移方程为:
S2.对于下载的第k块视频块,其对应的码率通过下式计算获得:
rk=Kp1(bk-bf)+C
其中k的初始值为1,bf表示缓存稳定时缓存队列的长度,bk表示更新的下载第k块视频块时缓存队列的长度,Kp1、C表示设定的常数,常数Kp1和C满足:
ck表示下载第k个视频块时网络的平均带宽,τ表示每个视频块的长度;
S3.使用流近似来对缓存状态的变化率进行计算:
其中bk-1表示下载第k-1块视频块时缓存队列的长度,tk、tk-1分别表示下载下载第k块视频块、第k-1块视频块的具体时刻;
S4.由上可知,rk、b′t满足以下线性状态方程组:
δ(rk)=rk-rf,其中rf表示当缓存处于稳定状态时的视频码率;δ(·)表示差分运算;
因此状态转移方程为:
S5.将步骤S4的状态转移方程Hp(s)应用到PID控制器的状态转移方程H(s)中,得:
S6.根据PID控制器的特性,视频码率的调整表示为:
因此,rk=Q(δ(rk)+rf);其中Q(·)表示量化算子;
S7.令k=k+1,然后重复执行步骤S2~S6。
2.根据权利要求1所述的基于PID控制器的动态调整视频码率的方法,其特征在于:所述步骤S2中,更新bk的过程表示如下:
其中Δtk-1表示缓存存满的时候,暂停下载视频块的时间,Bmax表示缓存的最大容量。
CN201611176983.XA 2016-12-19 2016-12-19 一种基于pid控制器的动态调整视频码率的方法 Active CN106790047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611176983.XA CN106790047B (zh) 2016-12-19 2016-12-19 一种基于pid控制器的动态调整视频码率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611176983.XA CN106790047B (zh) 2016-12-19 2016-12-19 一种基于pid控制器的动态调整视频码率的方法

Publications (2)

Publication Number Publication Date
CN106790047A CN106790047A (zh) 2017-05-31
CN106790047B true CN106790047B (zh) 2019-10-29

Family

ID=58890323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611176983.XA Active CN106790047B (zh) 2016-12-19 2016-12-19 一种基于pid控制器的动态调整视频码率的方法

Country Status (1)

Country Link
CN (1) CN106790047B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357591A (zh) * 2015-11-16 2016-02-24 北京理工大学 一种自适应码率视频直播的QoE监控和优化方法
US9344517B2 (en) * 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
CN105763896A (zh) * 2016-05-12 2016-07-13 山东大学 一种多用户动态自适应视频码率分配系统
CN105897769A (zh) * 2011-02-11 2016-08-24 交互数字专利控股公司 用于流送内容的方法和服务器
CN105933727A (zh) * 2016-05-20 2016-09-07 中山大学 一种应用于游戏直播平台的视频流转码和分发方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897769A (zh) * 2011-02-11 2016-08-24 交互数字专利控股公司 用于流送内容的方法和服务器
US9344517B2 (en) * 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
CN105357591A (zh) * 2015-11-16 2016-02-24 北京理工大学 一种自适应码率视频直播的QoE监控和优化方法
CN105763896A (zh) * 2016-05-12 2016-07-13 山东大学 一种多用户动态自适应视频码率分配系统
CN105933727A (zh) * 2016-05-20 2016-09-07 中山大学 一种应用于游戏直播平台的视频流转码和分发方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于HTTP的移动流媒体QoE管理的研究;黄凤辉;《中国优秀硕士学位论文全文数据库信息科技辑》;20150815;全文 *

Also Published As

Publication number Publication date
CN106790047A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN108271048B (zh) 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法
CN105357591B (zh) 一种自适应码率视频直播的QoE监控和优化方法
US10855742B2 (en) Buffering in HTTP streaming client
CN105814900B (zh) 用于在自适应流播环境中管理相邻频道的系统和方法
US9462032B2 (en) Streaming media content
CN103152651B (zh) 一种自动调节流媒体缓冲区播放门限的方法和系统
KR101982290B1 (ko) 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법
KR20150042191A (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
CN112954385B (zh) 一种基于控制论和数据驱动的自适应分流决策方法
CN106686409B (zh) 一种流媒体码率自适应方法及装置、服务器、终端
US20080148327A1 (en) Method and Apparatus for Providing Adaptive Trick Play Control of Streaming Digital Video
CN104380275B (zh) 用于http伪流的基于积分控制器的定步
CN107707937A (zh) 基于hls协议的时移优化方法及系统
CN109413448A (zh) 基于深度强化学习的移动设备全景视频播放系统
CN108063955A (zh) 基于状态机的动态自适应视频传输的码率切换方法
WO2017084277A1 (zh) 在线媒体服务的码流自适应方法及系统
CN107920108A (zh) 一种媒体资源的推送方法、客户端及服务器
Hwang et al. Eliminating bandwidth estimation from adaptive video streaming in wireless networks
CN106453270B (zh) 基于pi控制流媒体的自适应传输算法
Hwang et al. HAVS: Hybrid adaptive video streaming for mobile devices
CN106790047B (zh) 一种基于pid控制器的动态调整视频码率的方法
KR20210042051A (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법
Komathi et al. Cloud Computing’s Effect on Video Games Streaming
Kim et al. Content-aware rate adaptation scheme to improve stability in HTTP Adaptive Streaming
CN108023864A (zh) 流媒体推送方法及装置

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