CN110072130A - 一种基于http/2的has视频切片推送方法 - Google Patents
一种基于http/2的has视频切片推送方法 Download PDFInfo
- Publication number
- CN110072130A CN110072130A CN201910290834.3A CN201910290834A CN110072130A CN 110072130 A CN110072130 A CN 110072130A CN 201910290834 A CN201910290834 A CN 201910290834A CN 110072130 A CN110072130 A CN 110072130A
- Authority
- CN
- China
- Prior art keywords
- request
- video
- bandwidth
- code rate
- video segment
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明为一种基于HTTP/2的HAS(HTTP Adaptive Streaming,HTTP自适应流媒体)视频切片推送方法,视频切片推送包含推送视频切片数以及视频切片请求码率。通过分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,建立了一个多目标优化问题并进行求解;基于此,提出基于HTTP/2的HAS推送切片数动态选择算法,计算每次请求时的推送视频切片数。通过问题分析确定如何计算请求带宽、如何进行带宽预估以及如何根据预估带宽选择视频请求码率;基于此,提出基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率。
Description
技术领域
本发明属于多媒体点播技术领域,涉及到视频点播、视频服务提供商、视频切片推送数、视频切片请求码率,特别涉及一种基于HTTP/2的HAS(HTTP Adaptive Streaming,HTTP自适应流媒体)视频切片推送方法。
背景技术
随着互联网以及各种移动智能终端的迅猛发展,用户可以在各种设备上随时随地访问多媒体视频资源,为了应对异构终端,HTTP自适应流媒体技术应运而生。HTTP自适应流媒体技术(HAS,HTTP Adaptive Streaming)已成为当前主流的流媒体技术,受到越来越多的关注。HAS技术将视频分成多个切片,并在服务端存储多个不同码率的版本,然后客户端随着网络的变化由码率自适应算法动态地请求合适的码率视频,使用户获得好的用户体验(QoE,Quality of Experience)。与此同时,HTTP/2协议出现,它允许服务器主动向客户端推送数据并缓存在客户端,减少网络时延的影响。
申请人经过查新,检索到以下几篇与本发明专利相关且属于多媒体点播技术领域的专利,它们分别是:
1.中国专利201210148751.9,一种基于缓存下溢概率估计的自适应码流切换方法及系统;
2.中国专利201510170586.0,改善公平性的平滑码率自适应方法及装置;
3.中国专利201610846542.X,一种QoE驱动的多频道HAS码率自适应调度方法;
在上述专利1中,发明人提供了一种基于缓存下溢概率估计的自适应码流切换方法及系统,用于不同码率版本的视频进行自适切换,该方法包括:估计在当前网络状况下各码流的视频分片下载时间的均值和方差;将用户端缓存内的视频数据的到达和离开建模成Ek/D/1/N排队模型,根据所述均值和方差设置排队模型的参数,而后针对各码流分别利用确定参数的排队模型计算缓存队列空的概率,从而得到各码流的下溢概率;设定当前码流的下溢风险损益和各码流的质量增益,并依据当前码流的下溢风险损益、各码流质量增益和各码流的下溢概率计算各码流之间切换时的综合收益值;选出综合收益最高的码流进行切换;其中,所述视频分片为将各码流副本进行等时长划分得到的分片。其优点是,分片到达建模采取爱尔朗分布很好地模拟了双边波动的特性并简化了排队模型的计算复杂性,同时可以根据不同偏好设置不同的质量增益和风险损益的组合,决策以获得最优的观看体验。
在上述专利2中,发明人提供了一种改善公平性的平滑码率自适应方法及装置。该方法包括:客户端依据已获得的历史片段序列对应的预测带宽和下载带宽获得目标片段序列对应的预测带宽;客户端依据目标片段序列对应的预测带宽和当前客户端缓存大小获得目标片段序列的目标码率;客户端从服务器获取码率版本为目标码率的目标片段序列;客户端从服务器获取构成目标文件的多个片段序列。其优点是,通过探测目标片段序列对应的预测带宽,保证了多个客户端公平分享网络带宽资源;通过目标片段序列对应的预测带宽和当前客户端缓存大小获得目标片段序列的目标码率,能够同时保证较高的带宽利用率和视频码率的平滑性;最终提高了动态HTTP流媒体传输系统的服务质量。
在上述专利3中,发明人公开了提供了一种QoE驱动的多频道HAS码率自适应调度方法,通过视频内容类型、码率、卡顿三个因素,建立多频道HAS的QoE模型;服务端计算各个频道的消息参数值,包括该频道内的平均码率、平均码率级别、资源竞争的激烈程度,并将频道的消息参数值传递给各用户;根据接收到的频道的消息参数值和多频道HAS的QoE模型,制定QoE驱动的多频道HAS码率自适应算法,计算用户下一个视频切片请求的码率级别。其优点是,实现了在多频道的情况下的码率自适应算法,改善了频道之间和频道之内的用户公平性,并使用户获得了良好的视频体验。
上述相关发明专利都是基于传统的HTTP协议进行码率自适应,客户端每次请求获得的视频切片数量是不变的,变化的仅是视频码率。同时,客户端每获得一定量的视频切片,必须要向服务器发送请求,在此过程中若缓存耗尽,就会发生卡顿。这些限制条件使得用户的视频观看体验提升有限,且优化方式也较为单一,不够灵活。
随着HTTP/2协议的出现,因而产生一种HTTP/2的HAS视频切片推送方法,充分利用了HTTP/2中允许服务器主动向客户端推送数据并缓存在客户端的新特性,在保证用户观看过程中卡顿很少的前提下提高预估带宽和视频切片码率,使用户获得良好的视频观看体验。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种基于HTTP/2的HAS视频切片推送方法,以获得更好的用户观看体验。
为了实现上述目的,本发明采用的技术方案是:
一种基于HTTP/2的HAS视频切片推送方法,包括如下步骤:
通过分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,建立了一个多目标优化问题并进行求解;
提出基于HTTP/2的HAS推送切片数动态选择算法,计算每次请求时的推送视频切片数;
通过问题分析确定如何计算请求带宽、如何进行带宽预估以及如何根据预估带宽选择视频请求码率;
提出基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率。
所述多目标优化问题建立与求解步骤如下:
Step21:分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,构建多目标优化问题
其中:K为视频观看中的请求总次数,RTTi为第i次请求时的网络时延,Ni为第i次请求时额外推送切片数,D为视频切片时长,为第i次请求时当前缓冲区的量,Bmax为缓冲区的能够缓存的最大数据量;
Step22:由于多目标函数的两个子目标函数的结果并不在同一数量级上,利用极大值化方法对两个子目标函数进行无量纲化的处理,子目标函数一进行无量纲化的处理后的结果为 其中:RTTmax为整个视频请求过程中网络时延的最大值;子目标函数二进行无量纲化的处理后的结果为:其中:(Ni)max为取得最大值时的Ni的取值,为取得最大值时的的取值;
Step23:利用线性加权法将双目标优化问题转变为单目标优化问题,单目标函数表示如下:
其中:αi表示第i次请求时子目标函数二的权重;
Step4:利用贪心算法对单目标函数求解,优化目标变为求得每次请求时使得优化目标值最低的推送切片数。
所述子目标函数二的权重αi的计算步骤如下:
Step31:计算第(i-1)次请求中卡顿时长 其中:为第(i-1)次请求结束时缓冲区的量;为第(i-1)次请求开始时缓冲区的量;Ni-1第(i-1)次请求时服务器端额外推送的视频切片数;ti-1为第(i-1)次请求的请求响应时间;
Step32:如果STi-1大于0,
Step33:如果STi-1小于0,但是
Step34:如果STi-1小于0,但是
所述提出基于HTTP/2的HAS推送切片数动态选择算法,计算每次请求时的推送视频切片数的步骤如下:
Step41:进行第1次视频切片请求时,为降低启动时延,设置推送切片数为1;
Step42:稳定阶段,进行第i次视频切片请求,根据缓冲区的最大量以及当前缓冲区量获得能够额外推送的最大切片数;
Step43:计算第i次请求中的卡顿时长 确定权重αi的取值;
Step44:根据可缓存的最大数据量确定优化目标函数为
Step45:遍历1至最大切片数,求得使得优化目标函数值最低的切片数;
Step46:重复第二至五步,直至整个视频请求播放完成;
Step47:算法结束。
所述请求带宽计算、利用请求带宽进行带宽预估以及根据预估带宽选择视频请求码率的步骤如下:
Step51:第i次请求带宽Bi的计算不仅考虑到整个请求的均值带宽同时考虑请求结束时的瞬时带宽,即:其中:ANi为第i次请求中总共获取的视频切片数;rij为第i次请求时第j个切片下载速率;为第i次请求时最后一个视频切片的下载速率;αi为第i次请求时网络瞬时带宽所占的权重;
Step52:当进行第i次请求时,根据K个历史视频切片进行带宽预估;由于每个请求至少包含两个视频切片,因此需要确定进行带宽预估的请求个数并且根据历史请求带宽的调和平均数确定预估带宽为:
Step53:根据预估带宽确定第i次请求的视频请求码率确定为不大于乘以安全阈值(可取0.9)的最大可请求码率,即: and其中:bitratej为服务器端可以提供的第j级别的视频码率。
所述第i次请求时网络瞬时带宽所占的权重αi的计算步骤如下:
Step71:计算第i次请求中卡顿时长其中:为第i次请求结束时缓冲区的量;为第i次请求开始时缓冲区的量;ti为第i次请求的请求响应时间;D为视频切片时长;
Step72:如果STi大于0,αi为
Step73:如果STi小于0,但是αi为
Step74:如果STi小于0,但是αi为
所述提出基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率的步骤如下:
Step81:进行第1次视频切片请求时,为避免卡顿,视频请求码率设置为服务器端能够提供的最低可请求码率;
Step82:第1次请求结束时,计算卡顿时长确定权重α1的取值并计算请求带宽B1;
Step83:稳定阶段,进行第i次视频切片请求时,计算预估带宽即:
Step84:根据预估带宽确定视频请求码率
Step85:第i次请求结束时,计算卡顿时长确定权重αi的取值并计算请求带宽Bi;
Step86:重复第三至五步,直至整个视频请求播放完成;
Step87:算法结束。
与现有的技术相比,本发明实现了一种HTTP/2的HAS视频切片推送方法,利用了HTTP/2中允许服务器主动向客户端推送数据并缓存在客户端的新特性,在视频观看过程中动态地获取每次请求最优的推送切片数,灵活地进行带宽预估和码率选择,充分利用网络带宽并保证良好的用户观看体验。
附图说明
图1为本发明一种基于HTTP/2的HAS视频切片推送方法流程图。
图2为多目标优化问题建立与求解流程图。
图3为子目标函数二的权重αi的计算流程图。
图4为计算每次请求时的推送视频切片数的步骤流程图。
图5为请求带宽计算、进行带宽预估、选择视频请求码率的步骤流程图。
图6为第i次请求时网络瞬时带宽所占的权重αi的计算流程图。
图7为计算每次请求时的视频切片请求码率的步骤流程图。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
如附图1所示,本发明为一种基于HTTP/2的HAS视频切片推送方法,通过分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,建立了一个多目标优化问题并进行求解;其次,提出了基于HTTP/2的HAS推送切片数动态选择算法,用于计算每次请求时的推送视频切片数;此外,通过问题分析确定如何计算请求带宽、如何进行带宽预估以及如何根据预估带宽选择视频请求码率;最后,提出基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率,从而达到在保证视频播放卡顿概率较小的基础上提高视频码率,充分利用可用带宽,提供更好的用户视频观看体验。
下面对本发明的技术方案进行详细说明。
参考图2,建立多目标优化问题并求解,具体实施步骤如下:
Step1:分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系;
Step2:记录用户观看视频时在有无卡顿的多种情况下的可用缓存与最大缓存量,计算此时的可推送切片数,分析如何使用上述数据来表征在尽量降低卡顿发生概率的同时提高视频的平均请求码率的目标;
Step3:构建包含两个优化目标的多目标优化模型;
Step4:由于多目标函数的两个子目标函数的结果并不在同一数量级上,利用极大值化方法对两个子目标函数进行无量纲化的处理;
Step5:分析在不同网络带宽波动的情况下,两个子目标之间的关系,利用线性加权法将双目标优化问题转变为单目标优化问题;
Step6:分析计算整个视频播放过程中求解的复杂度,利用贪心算法对单目标函数求解,根据最大缓冲量Bmax的限制以及请求开始时缓冲区量的限制,求得每次请求时使得优化目标值最低的推送切片数。
参考图3,子目标函数二的权重αi的计算,具体计算步骤如下:
Step1:分析权重αi取值是如何影响切片数计算的,以及权重与上一次视频播放状态的关系,并用Logistic变换进行归一化处理获得权重αi;
Step2:分析卡顿与视频请求前后缓冲区的变化、请求接收到的视频量以及请求响应时间之间的关系,在出现卡顿的情况下计算第(i-1)次请求中卡顿时长STi-1;
Step3:在第(i-1)次请求过程中发生了卡顿的情况下,曲线倾斜程的值设置为21,偏移量为1,计算客户端下载数据花费的总时长与服务器端发送给客户端数据的总时长的比值为自变量,计算方式为
Step4:在第(i-1)次请求过程中没有发生卡顿但缓存量下降的情况下,曲线倾斜程的值设置为21,偏移量为1,计算客户端下载数据花费的总时长与服务器端发送给客户端数据的总时长的比值为自变量,计算方式为
Step5:在第(i-1)次请求过程中没有发生卡顿且缓存量上升的情况下,分析可能表征的网络状况,计算缓冲区的增加量与服务器端发送给客户端数据的总时长的比值为自变量,ri-1计算方式为 当ri-1的值大于等于0.25时,曲线倾斜程的值设置为-21,偏移量为0,反之两值分别为21和0.5。
参考图4,基于HTTP/2的HAS计算每次请求时的推送视频切片数,具体实施步骤如下:
Step1:如果进行的是第1次视频切片请求,为降低启动时延,设置推送切片数为1;
Step2:如果进入稳定阶段,进行第i次视频切片请求,根据缓冲区的最大量以及当前缓冲区量获得能够额外推送的最大切片数;
Step3:根据第(i-1)次请求开始时缓冲区的数据量、请求结束时缓冲区的数据量、请求响应时间以及下载总数据量,获取第(i-1)次请求过程中是否出现卡顿;
Step4:根据卡顿情况以及缓存量的前后变化计算权重值,确定优化目标函数;
Step5:遍历1至最大切片数,求得使得优化目标函数值最低的切片数;
Step6:重复第二至五步,直至整个视频请求播放完成;
Step7:算法结束。
参考图5,请求带宽计算、利用请求带宽进行带宽预估以及根据预估带宽选择视频请求,具体实施步骤如下:
Step1:分析请求带宽与网络带宽和推送切片数的关系,分析得到第i次请求带宽Bi的计算不仅考虑到整个请求的均值带宽同时考虑请求结束时的瞬时带宽,用αi代表在计算第i次请求的带宽时网络瞬时带宽所占的权重;
Step2:当进行第i次请求时,为避免利用单个历史请求中获得的视频切片数较少误差较大,根据K个历史视频切片进行带宽预估,在基于HTTP/2的HAS中,每个请求包含有多个视频切片,因此进行带宽预估的历史请求肯定小于K个,需要对进行带宽预估的历史请求个数进行确定;
Step3:为了避免历史请求带宽中偏离正常值的较大值与较小值的影响,利用调和平均值来进行带宽预估来降低较大值与较少值的影响,以确定预估带宽为:
Step4:根据预估带宽确定第i次请求的视频请求码率为避免预估带宽带来的误差,确定为不大于乘以安全阈值(0.9)的最大可请求码率。
参考图6,进行第i次请求时网络瞬时带宽所占的权重αi的计算,具体计算步骤如下:
Step1:分析权重αi取值是如何影响请求带宽计算的,以及权重与网络带宽波动变化的关系,并用Logistic变换进行归一化处理获得权重αi;
Step2:分析卡顿与视频请求前后缓冲区的变化、请求的切片数以及请求响应时间之间的关系,在出现卡顿的情况下计算当前请求中卡顿时长STi;
Step3:在第i次请求过程中发生了卡顿的情况下,曲线倾斜程的值设置为21,偏移量为1,计算客户端下载数据花费的总时长与服务器端发送给客户端数据的总时长的比值为自变量,计算方式为
Step4:在第i次请求过程中没有发生卡顿但缓存量下降的情况下,曲线倾斜程的值设置为21,偏移量为1,计算客户端下载数据花费的总时长与服务器端发送给客户端数据的总时长的比值为自变量,计算方式为
Step5:在第i次请求过程中没有发生卡顿且缓存量上升的情况下,分析可能表征的网络状况,计算缓冲区的增加量与服务器端发送给客户端数据的总时长的比值为自变量,ri计算方式为当ri-1的值大于等于0.25时,曲线倾斜程的值设置为-21,偏移量为0,反之两值分别为21和0.5。
参考图7,基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率的步骤如下:
Step1:初始阶段,即进行第1次请求时,为避免卡顿,视频请求码率设置为服务器端能够提供的最低可请求码率;
Step2:第1次请求结束时,根据第1次请求开始时缓冲区的数据量、请求结束时缓冲区的数据量、请求响应时间以及下载总数据量,获取第1次请求过程中是否出现卡顿;
Step3:根据卡顿情况以及缓存量的前后变化计算权重值,并分别计算第1次请求的平均带宽与瞬时带宽,以计算最终的B1;
Step4:稳定阶段,进行第i次请求时,利用K个历史视频切片进行带宽预估,根据K获得进行带宽预估的历史请求个数n,并利用n个历史请求的调和平均数获得第i次请求的预估带宽
Step5:根据第i次请求的预估带宽获得此请求的视频请求码率
Step6:第i次请求结束时,计算卡顿时长确定权重αi的取值并计算请求带宽Bi;
Step7:重复第四至六步,直至整个视频请求播放完成;
Step8:算法结束。
Claims (8)
1.一种基于HTTP/2的HAS视频切片推送方法,其特征在于,包括如下步骤:
通过分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,建立了一个多目标优化问题并进行求解;
提出基于HTTP/2的HAS推送切片数动态选择算法,计算每次请求时的推送视频切片数;
通过问题分析确定如何计算请求带宽、如何进行带宽预估以及如何根据预估带宽选择视频请求码率;
提出基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率。
2.根据权利要求1所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述多目标优化问题建立与求解步骤如下:
Step21:分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,构建多目标优化问题
其中:K为视频观看中的请求总次数,RTTi为第i次请求时的网络时延,Ni为第i次请求时额外推送切片数,D为视频切片时长,为第i次请求时当前缓冲区的量,Bmax为缓冲区的能够缓存的最大数据量;
Step22:由于多目标函数的两个子目标函数的结果并不在同一数量级上,利用极大值化方法对两个子目标函数进行无量纲化的处理,子目标函数一进行无量纲化的处理后的结果为 其中:RTTmax为整个视频请求过程中网络时延的最大值;子目标函数二进行无量纲化的处理后的结果为:其中:(Ni)max为取得最大值时的Ni的取值,为取得最大值时的的取值;
Step23:利用线性加权法将双目标优化问题转变为单目标优化问题,单目标函数表示如下:
其中:αi表示第i次请求时子目标函数二的权重;
Step4:利用贪心算法对单目标函数求解,优化目标变为求得每次请求时使得优化目标值最低的推送切片数。
3.根据权利要求2所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述子目标函数二的权重αi的计算步骤如下:
Step31:计算第(i-1)次请求中卡顿时长 其中:为第(i-1)次请求结束时缓冲区的量;为第(i-1)次请求开始时缓冲区的量;Ni-1第(i-1)次请求时服务器端额外推送的视频切片数;ti-1为第(i-1)次请求的请求响应时间;
Step32:如果STi-1大于0,
Step33:如果STi-1小于0,但是
Step34:如果STi-1小于0,但是
4.根据权利要求1所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述提出基于HTTP/2的HAS推送切片数动态选择算法,计算每次请求时的推送视频切片数的步骤如下:
Step41:进行第1次视频切片请求时,为降低启动时延,设置推送切片数为1;
Step42:稳定阶段,进行第i次视频切片请求,根据缓冲区的最大量以及当前缓冲区量获得能够额外推送的最大切片数;
Step43:计算第i次请求中的卡顿时长 确定权重αi的取值;
Step44:根据可缓存的最大数据量确定优化目标函数为
Step45:遍历1至最大切片数,求得使得优化目标函数值最低的切片数;
Step46:重复第二至五步,直至整个视频请求播放完成;
Step47:算法结束。
5.根据权利要求1所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述请求带宽计算、利用请求带宽进行带宽预估以及根据预估带宽选择视频请求码率的步骤如下t
Step51:第i次请求带宽Bi的计算不仅考虑到整个请求的均值带宽同时考虑请求结束时的瞬时带宽,即:其中:ANi为第i次请求中总共获取的视频切片数;rij为第i次请求时第j个切片下载速率;为第i次请求时最后一个视频切片的下载速率;αi为第i次请求时网络瞬时带宽所占的权重;
Step52:当进行第i次请求时,根据K个历史视频切片进行带宽预估;由于每个请求至少包含两个视频切片,因此需要确定进行带宽预估的请求个数并且根据历史请求带宽的调和平均数确定预估带宽 为:
Step53:根据预估带宽确定第i次请求的视频请求码率 确定为不大于乘以安全阈值的最大可请求码率,即: 其中:bitratej为服务器端可以提供的第j级别的视频码率。
6.根据权利要求5所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述安全阈值为0.9。
7.根据权利要求5所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述第i次请求时网络瞬时带宽所占的权重αi的计算步骤如下:
Step71:计算第i次请求中卡顿时长其中:为第i次请求结束时缓冲区的量;为第i次请求开始时缓冲区的量;ti为第i次请求的请求响应时间;D为视频切片时长;
Step72:如果STi大于0,αi为
Step73:如果STi小于0,但是αi为
Step74:如果STi小于0,但是αi为
8.根据权利要求1所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述提出基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率的步骤如下:
Step81:进行第1次视频切片请求时,为避免卡顿,视频请求码率设置为服务器端能够提供的最低可请求码率;
Step82:第1次请求结束时,计算卡顿时长确定权重α1的取值并计算请求带宽B1;
Step83:稳定阶段,进行第i次视频切片请求时,计算预估带宽即:
Step84:根据预估带宽确定视频请求码率
Step85:第i次请求结束时,计算卡顿时长确定权重αi的取值并计算请求带宽Bi;
Step86:重复第三至五步,直至整个视频请求播放完成;
Step87:算法结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290834.3A CN110072130B (zh) | 2019-04-11 | 2019-04-11 | 一种基于http/2的has视频切片推送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290834.3A CN110072130B (zh) | 2019-04-11 | 2019-04-11 | 一种基于http/2的has视频切片推送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110072130A true CN110072130A (zh) | 2019-07-30 |
CN110072130B CN110072130B (zh) | 2020-06-02 |
Family
ID=67367428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910290834.3A Active CN110072130B (zh) | 2019-04-11 | 2019-04-11 | 一种基于http/2的has视频切片推送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110072130B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751884A (zh) * | 2019-10-29 | 2021-05-04 | 华为终端有限公司 | 处理媒体业务的方法与电子设备 |
CN112752117A (zh) * | 2020-12-30 | 2021-05-04 | 百果园技术(新加坡)有限公司 | 一种视频缓存方法、装置、设备及存储介质 |
WO2021120892A1 (zh) * | 2019-12-19 | 2021-06-24 | 华为技术有限公司 | 视频播放的控制方法、终端设备、服务器和存储介质 |
CN113411643A (zh) * | 2021-05-26 | 2021-09-17 | 中国人民解放军国防科技大学 | 一种视频质量优化方法、系统、电子设备及存储介质 |
WO2021190090A1 (zh) * | 2020-03-27 | 2021-09-30 | 北京金山云网络技术有限公司 | 判断播放卡顿的方法、装置和电子终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341893A (zh) * | 2016-10-08 | 2017-01-18 | 北京邮电大学 | 一种资源分配的方法及装置 |
CN108574882A (zh) * | 2017-03-08 | 2018-09-25 | 华为技术有限公司 | 一种视频传输方法和装置 |
-
2019
- 2019-04-11 CN CN201910290834.3A patent/CN110072130B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341893A (zh) * | 2016-10-08 | 2017-01-18 | 北京邮电大学 | 一种资源分配的方法及装置 |
CN108574882A (zh) * | 2017-03-08 | 2018-09-25 | 华为技术有限公司 | 一种视频传输方法和装置 |
Non-Patent Citations (1)
Title |
---|
王元勋: "基于MPEG-DASH的流媒体视频传输系统设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751884A (zh) * | 2019-10-29 | 2021-05-04 | 华为终端有限公司 | 处理媒体业务的方法与电子设备 |
WO2021082602A1 (zh) * | 2019-10-29 | 2021-05-06 | 华为技术有限公司 | 处理媒体业务的方法与电子设备 |
CN112751884B (zh) * | 2019-10-29 | 2022-05-10 | 华为终端有限公司 | 处理媒体业务的方法与电子设备 |
US11876849B2 (en) | 2019-10-29 | 2024-01-16 | Huawei Technologies Co., Ltd. | Media service processing method and electronic device |
WO2021120892A1 (zh) * | 2019-12-19 | 2021-06-24 | 华为技术有限公司 | 视频播放的控制方法、终端设备、服务器和存储介质 |
US11930232B2 (en) | 2019-12-19 | 2024-03-12 | Petal Cloud Technology Co., Ltd. | Video playing control method, terminal device, server, and storage medium |
WO2021190090A1 (zh) * | 2020-03-27 | 2021-09-30 | 北京金山云网络技术有限公司 | 判断播放卡顿的方法、装置和电子终端 |
CN112752117A (zh) * | 2020-12-30 | 2021-05-04 | 百果园技术(新加坡)有限公司 | 一种视频缓存方法、装置、设备及存储介质 |
CN112752117B (zh) * | 2020-12-30 | 2023-03-28 | 百果园技术(新加坡)有限公司 | 一种视频缓存方法、装置、设备及存储介质 |
CN113411643A (zh) * | 2021-05-26 | 2021-09-17 | 中国人民解放军国防科技大学 | 一种视频质量优化方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110072130B (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110072130A (zh) | 一种基于http/2的has视频切片推送方法 | |
CN108833996B (zh) | 分布式dash系统中服务节点选择、更新和码率自适应方法 | |
US10091675B2 (en) | System and method for estimating an effective bandwidth | |
EP2612495B1 (en) | Adaptive streaming of video at different quality levels | |
US9065795B2 (en) | Apparatus and method for providing a congestion measurement in a network | |
US20030165150A1 (en) | Multi-threshold smoothing | |
EP3103220B1 (en) | System and method for dynamic effective rate estimation for real-time video traffic | |
Mangla et al. | Video through a crystal ball: Effect of bandwidth prediction quality on adaptive streaming in mobile environments | |
Xu et al. | QoE analysis of media streaming in wireless data networks | |
CN112118177B (zh) | 用于控制多连接以提高数据传输率的方法和设备 | |
CN113038187B (zh) | 视频体验质量公平的实用网络带宽分配方法、设备及介质 | |
Kim et al. | XMAS: An efficient mobile adaptive streaming scheme based on traffic shaping | |
Xiao et al. | Robust QoE-driven DASH over OFDMA networks | |
CN109150756B (zh) | 一种基于sdn电力通信网的队列调度权值量化方法 | |
US10320874B2 (en) | Site-based server selection | |
EP2227023A1 (en) | Video streaming | |
Naresh et al. | Sac-abr: Soft actor-critic based deep reinforcement learning for adaptive bitrate streaming | |
Villa et al. | Improving fairness for adaptive http video streaming | |
CN114071240B (zh) | 一种基于自适应程度的移动视频QoE评估方法 | |
Rodrigues et al. | QoE‐Aware Scheduling Algorithm for Adaptive HTTP Video Delivery in Wireless Networks | |
Park et al. | Client-side rate adaptation scheme for HTTP adaptive streaming based on playout buffer model | |
US11201901B2 (en) | Methods and systems for streaming media data over a content delivery network | |
CN109450815B (zh) | 一种基于效用值的对等网络流媒体系统数据调度方法 | |
Park et al. | Queueing theoretic approach to playout buffer model for HTTP Adaptive Streaming | |
Chen et al. | Benchmark of bitrate adaptation in 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 |