CN106790047B - 一种基于pid控制器的动态调整视频码率的方法 - Google Patents
一种基于pid控制器的动态调整视频码率的方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000007704 transition Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 3
- 230000004069 differentiation Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的方法利用PID控制器根据缓存状态信息动态地对视频码率进行调整,使得播放***能够对复杂的网络环境做出响应并保持稳定性,保证用户具有良好的体验。
Description
技术领域
本发明流媒体技术领域,更具体地,涉及一种基于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表示缓存的最大容量。
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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117615166B (zh) * | 2023-11-23 | 2024-07-23 | 北京流金岁月传媒科技股份有限公司 | 一种网络码流恢复方法、***、介质及fpga芯片 |
Citations (5)
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 | 中山大学 | 一种应用于游戏直播平台的视频流转码和分发方法 |
-
2016
- 2016-12-19 CN CN201611176983.XA patent/CN106790047B/zh active Active
Patent Citations (5)
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)
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监控和优化方法 | |
CN104967872B (zh) | 基于动态自适应码率传输协议hls流媒体的直播方法和服务器 | |
CN105814900B (zh) | 用于在自适应流播环境中管理相邻频道的***和方法 | |
CN103152651B (zh) | 一种自动调节流媒体缓冲区播放门限的方法和*** | |
KR101982290B1 (ko) | 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법 | |
US20150032851A1 (en) | Streaming Media Content | |
KR20150042191A (ko) | 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들 | |
CN107707937A (zh) | 基于hls协议的时移优化方法及*** | |
US20140108495A1 (en) | Adaptive streaming client | |
CN109413448A (zh) | 基于深度强化学习的移动设备全景视频播放*** | |
Xiao et al. | DeepVR: Deep reinforcement learning for predictive panoramic video streaming | |
JP2015520964A (ja) | Http疑似ストリーミング用の一体型コントローラベースのペーシング | |
Jiang et al. | Q-FDBA: improving QoE fairness for video streaming | |
CN108063955A (zh) | 基于状态机的动态自适应视频传输的码率切换方法 | |
CN106453270B (zh) | 基于pi控制流媒体的自适应传输算法 | |
Zhou et al. | TFDASH: A fairness, stability, and efficiency aware rate control approach for multiple clients over DASH | |
CN107920108A (zh) | 一种媒体资源的推送方法、客户端及服务器 | |
Hwang et al. | Eliminating bandwidth estimation from adaptive video streaming in wireless networks | |
ur Rahman et al. | Buffer-based adaptive bitrate algorithm for streaming over HTTP | |
CN106790047B (zh) | 一种基于pid控制器的动态调整视频码率的方法 | |
Hwang et al. | HAVS: Hybrid adaptive video streaming for mobile devices | |
KR102304476B1 (ko) | 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 | |
Kreuzberger et al. | Modelling the impact of caching and popularity on concurrent adaptive multimedia streams in information-centric networks | |
Gao et al. | Dhp: A joint video download and dynamic bitrate adaptation algorithm for short video streaming |
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 | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |