CN110072130B - 一种基于http/2的has视频切片推送方法 - Google Patents

一种基于http/2的has视频切片推送方法 Download PDF

Info

Publication number
CN110072130B
CN110072130B CN201910290834.3A CN201910290834A CN110072130B CN 110072130 B CN110072130 B CN 110072130B CN 201910290834 A CN201910290834 A CN 201910290834A CN 110072130 B CN110072130 B CN 110072130B
Authority
CN
China
Prior art keywords
request
video
bandwidth
ith
code rate
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
CN201910290834.3A
Other languages
English (en)
Other versions
CN110072130A (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.)
Beijing Open Distance Education Center Co ltd
Xian Jiaotong University
Original Assignee
Beijing Open Distance Education Center Co ltd
Xian Jiaotong 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 Beijing Open Distance Education Center Co ltd, Xian Jiaotong University filed Critical Beijing Open Distance Education Center Co ltd
Priority to CN201910290834.3A priority Critical patent/CN110072130B/zh
Publication of CN110072130A publication Critical patent/CN110072130A/zh
Application granted granted Critical
Publication of CN110072130B publication Critical patent/CN110072130B/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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
    • 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/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • 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/262Content 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/26208Content 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/26216Content 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
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/47202End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication 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/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:分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,构建多目标优化问题
Figure GDA0002403947350000041
Figure GDA0002403947350000042
其中:K为视频观看中的请求总次数,RTTi为第i次请求时的网络时延,Ni为第i次请求时额外推送切片数,D为视频切片时长,
Figure GDA00024039473500000413
为第i次请求时当前缓冲区的量,Bmax为缓冲区的能够缓存的最大数据量;
Step22:由于多目标函数的两个子目标函数的结果并不在同一数量级上,利用极大值化方法对两个子目标函数进行无量纲化的处理,子目标函数一
Figure GDA0002403947350000043
进行无量纲化的处理后的结果为
Figure GDA0002403947350000044
Figure GDA0002403947350000045
其中:RTTmax为整个视频请求过程中网络时延的最大值;子目标函数二
Figure GDA0002403947350000046
进行无量纲化的处理后的结果为:
Figure GDA0002403947350000047
其中:(Ni)max
Figure GDA0002403947350000048
取得最大值时的Ni的取值,
Figure GDA0002403947350000049
Figure GDA00024039473500000410
取得最大值时的
Figure GDA00024039473500000411
的取值;
Step23:利用线性加权法将双目标优化问题转变为单目标优化问题,单目标函数表示如下:
Figure GDA00024039473500000412
其中:αi表示第i次请求时子目标函数二的权重;
Step4:利用贪心算法对单目标函数求解,优化目标变为
Figure GDA0002403947350000051
求得每次请求时使得优化目标值最低的推送切片数。
所述子目标函数二的权重αi的计算步骤如下:
Step31:计算第(i-1)次请求中卡顿时长
Figure GDA0002403947350000052
Figure GDA0002403947350000053
其中:
Figure GDA0002403947350000054
为第(i-1)次请求结束时缓冲区的量;
Figure GDA0002403947350000055
为第(i-1)次请求开始时缓冲区的量;Ni-1为第(i-1)次请求时服务器端额外推送的视频切片数;ti-1为第(i-1)次请求的请求响应时间;
Step32:如果STi-1大于0,
Figure GDA0002403947350000056
Step33:如果STi-1小于0,但是
Figure GDA0002403947350000057
Figure GDA0002403947350000058
Step34:如果STi-1小于0,但是
Figure GDA0002403947350000059
Figure GDA00024039473500000510
所述提出基于HTTP/2的HAS推送切片数动态选择算法,计算每次请求时的推送视频切片数的步骤如下:
Step41:进行第1次视频切片请求时,为降低启动时延,设置推送切片数为1;
Step42:稳定阶段,进行第i次视频切片请求,根据缓冲区的最大量以及当前缓冲区量获得能够额外推送的最大切片数;
Step43:计算第i-1次请求中的卡顿时长
Figure GDA00024039473500000511
Figure GDA00024039473500000512
确定权重αi的取值;
Step44:根据可缓存的最大数据量确定优化目标函数为
Figure GDA0002403947350000061
Step45:遍历1至最大切片数,求得使得优化目标函数值最低的切片数;
Step46:重复第二至五步,直至整个视频请求播放完成;
Step47:算法结束。
所述请求带宽计算、利用请求带宽进行带宽预估以及根据预估带宽选择视频请求码率的步骤如下:
Step51:第i次请求带宽Bi的计算不仅考虑到整个请求的均值带宽同时考虑请求结束时的瞬时带宽,即:
Figure GDA0002403947350000062
其中:ANi为第i次请求中总共获取的视频切片数;rij为第i次请求时第j个切片下载速率;
Figure GDA00024039473500000613
为第i次请求时最后一个视频切片的下载速率;βi为第i次请求时网络瞬时带宽所占的权重;
Step52:当进行第i次请求时,根据K个历史视频切片进行带宽预估;由于每个请求至少包含两个视频切片,因此需要确定进行带宽预估的请求个数并且根据历史请求带宽的调和平均数确定预估带宽
Figure GDA0002403947350000063
为:
Figure GDA0002403947350000064
Step53:根据预估带宽
Figure GDA0002403947350000065
确定第i次请求的视频请求码率
Figure GDA0002403947350000066
确定为不大于
Figure GDA0002403947350000067
乘以安全阈值(可取0.9)的最大可请求码率,即:
Figure GDA0002403947350000068
Figure GDA0002403947350000069
其中:bitratej为服务器端可以提供的第j级别的视频码率。
所述第i次请求时网络瞬时带宽所占的权重αi的计算步骤如下:
Step71:计算第i次请求中卡顿时长
Figure GDA00024039473500000610
其中:
Figure GDA00024039473500000611
为第i次请求结束时缓冲区的量;
Figure GDA00024039473500000612
为第i次请求开始时缓冲区的量;ti为第i次请求的请求响应时间;D为视频切片时长;
Step72:如果STi大于0,βi
Figure GDA0002403947350000071
Step73:如果STi小于0,但是
Figure GDA0002403947350000072
βi
Figure GDA0002403947350000073
Step74:如果STi小于0,但是
Figure GDA0002403947350000074
βi
Figure GDA0002403947350000075
所述提出基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率的步骤如下:
Step81:进行第1次视频切片请求时,为避免卡顿,视频请求码率设置为服务器端能够提供的最低可请求码率;
Step82:第1次请求结束时,计算卡顿时长
Figure GDA0002403947350000076
确定权重β1的取值并计算请求带宽B1
Step83:稳定阶段,进行第i次视频切片请求时,计算预估带宽
Figure GDA0002403947350000077
即:
Figure GDA0002403947350000078
Step84:根据预估带宽
Figure GDA0002403947350000079
确定视频请求码率
Figure GDA00024039473500000710
Step85:第i次请求结束时,计算卡顿时长
Figure GDA00024039473500000711
确定权重β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的限制以及请求开始时缓冲区量
Figure GDA0002403947350000095
的限制,求得每次请求时使得优化目标值最低的推送切片数。
参考图3,子目标函数二的权重αi的计算,具体计算步骤如下:
Step1:分析权重αi取值是如何影响切片数计算的,以及权重与上一次视频播放状态的关系,并用Logistic变换进行归一化处理获得权重αi
Step2:分析卡顿与视频请求前后缓冲区的变化、请求接收到的视频量以及请求响应时间之间的关系,在出现卡顿的情况下计算第(i-1)次请求中卡顿时长STi-1
Step3:在第(i-1)次请求过程中发生了卡顿的情况下,曲线倾斜程的值设置为21,偏移量为1,计算客户端下载数据花费的总时长与服务器端发送给客户端数据的总时长的比值为自变量,计算方式为
Figure GDA0002403947350000091
Step4:在第(i-1)次请求过程中没有发生卡顿但缓存量下降的情况下,曲线倾斜程的值设置为21,偏移量为1,计算客户端下载数据花费的总时长与服务器端发送给客户端数据的总时长的比值为自变量,计算方式为
Figure GDA0002403947350000092
Step5:在第(i-1)次请求过程中没有发生卡顿且缓存量上升的情况下,分析可能表征的网络状况,计算缓冲区的增加量与服务器端发送给客户端数据的总时长的比值为自变量,ri-1计算方式为
Figure GDA0002403947350000093
Figure GDA0002403947350000094
当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:为了避免历史请求带宽中偏离正常值的较大值与较小值的影响,利用调和平均值来进行带宽预估来降低较大值与较少值的影响,以确定预估带宽
Figure GDA0002403947350000101
为:
Figure GDA0002403947350000111
Step4:根据预估带宽
Figure GDA0002403947350000112
确定第i次请求的视频请求码率
Figure GDA0002403947350000113
为避免预估带宽带来的误差,
Figure GDA0002403947350000114
确定为不大于
Figure GDA0002403947350000115
乘以安全阈值(0.9)的最大可请求码率。
参考图6,进行第i次请求时网络瞬时带宽所占的权重βi的计算,具体计算步骤如下:
Step1:分析权重βi取值是如何影响请求带宽计算的,以及权重与网络带宽波动变化的关系,并用Logistic变换进行归一化处理获得权重βi
Step2:分析卡顿与视频请求前后缓冲区的变化、请求的切片数以及请求响应时间之间的关系,在出现卡顿的情况下计算当前请求中卡顿时长STi
Step3:在第i次请求过程中发生了卡顿的情况下,曲线倾斜程的值设置为21,偏移量为1,计算客户端下载数据花费的总时长与服务器端发送给客户端数据的总时长的比值为自变量,计算方式为
Figure GDA0002403947350000116
Step4:在第i次请求过程中没有发生卡顿但缓存量下降的情况下,曲线倾斜程的值设置为21,偏移量为1,计算客户端下载数据花费的总时长与服务器端发送给客户端数据的总时长的比值为自变量,计算方式为
Figure GDA0002403947350000117
Step5:在第i次请求过程中没有发生卡顿且缓存量上升的情况下,分析可能表征的网络状况,计算缓冲区的增加量与服务器端发送给客户端数据的总时长的比值为自变量,ri计算方式为
Figure GDA0002403947350000118
当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次请求的预估带宽
Figure GDA0002403947350000121
Step5:根据第i次请求的预估带宽
Figure GDA0002403947350000122
获得此请求的视频请求码率
Figure GDA0002403947350000123
Step6:第i次请求结束时,计算卡顿时长
Figure GDA0002403947350000124
确定权重βi的取值并计算请求带宽Bi
Step7:重复第四至六步,直至整个视频请求播放完成;
Step8:算法结束。

Claims (3)

1.一种基于HTTP/2的HAS视频切片推送方法,其特征在于,包括如下步骤:
通过分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,建立了一个多目标优化问题并进行求解,所述多目标优化问题建立与求解步骤如下:
Step21:分析推送视频切片数与视频请求码率、发生卡顿的概率之间的关系,构建多目标优化问题
Figure FDA0002403947340000011
Figure FDA0002403947340000012
其中:K为视频观看中的请求总次数,RTTi为第i次请求时的网络时延,Ni为第i次请求时额外推送切片数,D为视频切片时长,
Figure FDA0002403947340000013
为第i次请求时当前缓冲区的量,Bmax为缓冲区的能够缓存的最大数据量;
Step22:由于多目标函数的两个子目标函数的结果并不在同一数量级上,利用极大值化方法对两个子目标函数进行无量纲化的处理,子目标函数一
Figure FDA0002403947340000014
进行无量纲化的处理后的结果为
Figure FDA0002403947340000015
Figure FDA0002403947340000016
,其中:RTTmax为整个视频请求过程中网络时延的最大值;子目标函数二
Figure FDA0002403947340000017
进行无量纲化的处理后的结果为:
Figure FDA0002403947340000018
,其中:(Ni)max
Figure FDA0002403947340000019
取得最大值时的Ni的取值,
Figure FDA0002403947340000021
Figure FDA0002403947340000022
取得最大值时的
Figure FDA0002403947340000023
的取值;
Step23:利用线性加权法将双目标优化问题转变为单目标优化问题,单目标函数表示如下:
Figure FDA0002403947340000024
其中:αi表示第i次请求时子目标函数二的权重;
Step4:利用贪心算法对单目标函数求解,优化目标变为
Figure FDA0002403947340000025
,求得每次请求时使得优化目标值最低的推送切片数;
提出基于HTTP/2的HAS推送切片数动态选择算法,计算每次请求时的推送视频切片数,步骤如下:
Step41:进行第1次视频切片请求时,为降低启动时延,设置推送切片数为1;
Step42:稳定阶段,进行第i次视频切片请求,根据缓冲区的最大量以及当前缓冲区量获得能够额外推送的最大切片数;
Step43:计算第i-1次请求中的卡顿时长
Figure FDA0002403947340000026
Figure FDA0002403947340000027
,确定权重αi的取值,其中
Figure FDA0002403947340000028
为第(i-1)次请求结束时缓冲区的量;
Figure FDA0002403947340000029
为第(i-1)次请求开始时缓冲区的量;Ni-1为第(i-1)次请求时服务器端额外推送的视频切片数;ti-1为第(i-1)次请求的请求响应时间;
Step44:根据可缓存的最大数据量确定优化目标函数为
Figure FDA00024039473400000210
Step45:遍历1至最大切片数,求得使得优化目标函数值最低的切片数;
Step46:重复Step42至Step45,直至整个视频请求播放完成;
Step47:算法结束;
通过问题分析确定如何计算请求带宽、如何进行带宽预估以及如何根据预估带宽选择视频请求码率;所述请求带宽计算、利用请求带宽进行带宽预估以及根据预估带宽选择视频请求码率的步骤如下:
Step51:第i次请求带宽Bi的计算不仅考虑到整个请求的均值带宽同时考虑请求结束时的瞬时带宽,即:
Figure FDA0002403947340000031
,其中:ANi为第i次请求中总共获取的视频切片数;rij为第i次请求时第j个切片下载速率;
Figure FDA0002403947340000032
为第i次请求时最后一个视频切片的下载速率;βi为第i次请求时网络瞬时带宽所占的权重;
Step52:当进行第i次请求时,根据K个历史视频切片进行带宽预估;由于每个请求至少包含两个视频切片,因此需要确定进行带宽预估的请求个数并且根据历史请求带宽的调和平均数确定预估带宽
Figure FDA0002403947340000033
为:
Figure FDA0002403947340000034
其中,n根据K获得的进行带宽预估的历史请求个数,Bj为第j个历史请求的响应带宽,ANj为第j次请求中总共获取的视频切片数;
Step53:根据预估带宽
Figure FDA0002403947340000035
确定第i次请求的视频请求码率
Figure FDA0002403947340000036
确定为不大于
Figure FDA0002403947340000037
乘以安全阈值的最大可请求码率,即:
Figure FDA0002403947340000038
Figure FDA0002403947340000039
,其中:bitratej为服务器端可以提供的第j级别的视频码率;
提出基于HTTP/2的HAS码率自适应算法,计算每次请求时的视频切片请求码率,步骤如下:
Step81:进行第1次视频切片请求时,为避免卡顿,视频请求码率设置为服务器端能够提供的最低可请求码率;
Step82:第1次请求结束时,计算第1次请求中卡顿时长
Figure FDA0002403947340000041
Figure FDA0002403947340000042
,确定第1次请求时网络瞬时带宽所占的权重β1的取值并计算确定第1次请求的请求带宽B1
Step83:稳定阶段,进行第i次视频切片请求时,计算预估带宽
Figure FDA0002403947340000043
,即:
Figure FDA0002403947340000044
Step84:根据预估带宽
Figure FDA0002403947340000045
确定视频请求码率
Figure FDA0002403947340000046
Step85:第i次请求结束时,计算第i次请求中卡顿时长
Figure FDA0002403947340000047
Figure FDA0002403947340000048
,确定权重βi的取值并计算请求带宽Bi,其中:
Figure FDA0002403947340000049
为第i次请求结束时缓冲区的量;
Figure FDA00024039473400000410
为第i次请求开始时缓冲区的量;ti为第i次请求的请求响应时间;D为视频切片时长;
Step86:重复第三至五步,直至整个视频请求播放完成;
Step87:算法结束。
2.根据权利要求1所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述子目标函数二的权重αi的计算步骤如下:
Step31:计算第(i-1)次请求中卡顿时长
Figure FDA00024039473400000411
Figure FDA00024039473400000412
Step32:如果STi-1大于0,
Figure FDA00024039473400000413
Step33:如果STi-1小于0,但是
Figure FDA00024039473400000414
Figure FDA00024039473400000415
Step34:如果STi-1小于0,但是
Figure FDA00024039473400000416
Figure FDA00024039473400000417
3.根据权利要求1所述基于HTTP/2的HAS视频切片推送方法,其特征在于,所述第i次请求时网络瞬时带宽所占的权重βi的计算步骤如下:
Step71:计算第i次请求中卡顿时长
Figure FDA0002403947340000051
Step72:如果STi大于0,βi
Figure FDA0002403947340000052
Step73:如果STi小于0,但是
Figure FDA0002403947340000053
,βi
Figure FDA0002403947340000054
Step74:如果STi小于0,但是
Figure FDA0002403947340000055
,βi
Figure FDA0002403947340000056
CN201910290834.3A 2019-04-11 2019-04-11 一种基于http/2的has视频切片推送方法 Active CN110072130B (zh)

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 CN110072130A (zh) 2019-07-30
CN110072130B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751884B (zh) * 2019-10-29 2022-05-10 华为终端有限公司 处理媒体业务的方法与电子设备
CN113014969B (zh) 2019-12-19 2022-06-07 花瓣云科技有限公司 视频播放的控制方法、终端设备、服务器和存储介质
CN113453085B (zh) * 2020-03-27 2022-10-11 北京金山云网络技术有限公司 判断播放卡顿的方法、装置和电子终端
CN112752117B (zh) * 2020-12-30 2023-03-28 百果园技术(新加坡)有限公司 一种视频缓存方法、装置、设备及存储介质
CN113411643B (zh) * 2021-05-26 2022-11-11 中国人民解放军国防科技大学 一种视频质量优化方法、系统、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341893A (zh) * 2016-10-08 2017-01-18 北京邮电大学 一种资源分配的方法及装置
CN108574882A (zh) * 2017-03-08 2018-09-25 华为技术有限公司 一种视频传输方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
基于MPEG-DASH的流媒体视频传输系统设计与实现;王元勋;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20170115(第1期);全文 *

Also Published As

Publication number Publication date
CN110072130A (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
CN110072130B (zh) 一种基于http/2的has视频切片推送方法
WO2021012946A1 (zh) 一种视频码率确定方法、装置、电子设备及存储介质
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
EP3210385B1 (en) Dynamic programming across multiple streams
KR102472155B1 (ko) 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법
Kan et al. Deep reinforcement learning-based rate adaptation for adaptive 360-degree video streaming
KR20060115216A (ko) 멀티미디어 스트리밍 송신 장치 및 방법
CN113301392B (zh) 码率确定方法、装置、设备及存储介质
CN113038187B (zh) 视频体验质量公平的实用网络带宽分配方法、设备及介质
EP2589223A1 (en) Video streaming
CN108833350B (zh) 一种适用于多服务器自适应流媒体系统的数据传输方法
US9712580B2 (en) Pipelining for parallel network connections to transmit a digital content stream
CN108833995B (zh) 一种无线网络环境中自适应流媒体的传输方法
Nguyen et al. An adaptive streaming method of 360 videos over HTTP/2 protocol
CN114040257A (zh) 一种自适应视频流传输播放方法、装置、设备及存储介质
CN111225243A (zh) 一种视频块调度方法及系统
EP2941857B1 (en) Site-based server selection
CN113207015B (zh) 任务调度策略生成方法、装置、存储介质和计算机设备
Laine et al. Network Capacity Estimators Predicting QoE in HTTP Adaptive Streaming
CN109450815B (zh) 一种基于效用值的对等网络流媒体系统数据调度方法
Coutinho et al. Just-in-time proactive caching for dash video streaming
CN117544809B (zh) 服务器端动态码率生成及推荐网络视频应用方法及系统
WO2023181205A1 (en) Video player, video playback method, and program
CN113791878B (zh) 边缘计算中截止日期感知的分布式任务卸载方法
He et al. Buffer status and content aware scheduling scheme for cloud gaming based on 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