CN115988267A - 一种基于dash的视频码率自适应调整方法及系统 - Google Patents
一种基于dash的视频码率自适应调整方法及系统 Download PDFInfo
- Publication number
- CN115988267A CN115988267A CN202211638871.7A CN202211638871A CN115988267A CN 115988267 A CN115988267 A CN 115988267A CN 202211638871 A CN202211638871 A CN 202211638871A CN 115988267 A CN115988267 A CN 115988267A
- Authority
- CN
- China
- Prior art keywords
- client
- video
- requested
- video block
- video blocks
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种基于DASH的视频码率自适应调整方法及系统,涉及视频传输领域,该方法包括:根据客户端请求的视频块的码率的均值、客户端发生卡顿的总时长以及客户端请求的视频块的码率切换频率和码率切换幅度,构建用户的体验质量函数;根据用户的体验质量函数,以用户的体验质量最大化为目标,建立目标函数;根据视频播放前客户端向服务器请求的MPD文件,确定目标函数的约束条件;根据约束条件,应用MPC方法对目标函数进行求解,确定各目标视频块的最优请求顺序和码率。本发明提高用户QoE。
Description
技术领域
本发明涉及视频传输领域,特别是涉及一种基于DASH的视频码率自适应调整方法及系统。
背景技术
随着视频数据在网络传输的所有数据中占据的比重越来越大,如何在动态的网络环境中为用户提供高质量的视频传输服务成为人们关注的重点问题。为了解决此问题,MPEG组织提出了DASH(Dynamic Adaptive Streaming over HTTP)标准。其中,视频先被转码成不同码率的版本,不同码率的视频再被切分成一个个视频块并被保存于服务器中,当客户端需要播放视频时,会根据其当前网络状态依次请求合适码率的视频块。另一方面,内容分发网络(Content Delivery Network,CDN)在视频传输系统中的广泛应用使部分视频数据得以保存在网络边缘,从而降低了传输时延,增大了用户感知的网络带宽,提高用户QoE(Quality of Experience,体验质量)。如图2所示,CDN通常采用分层结构,包括CDN底层服务器和CDN高层服务器,它们与客户端之间的信道带宽不同,因此,可以认为来自于不同来源的视频块经历了不同的信道。
由于未下载视频块的保存位置对于客户端而言是未知的,这可能会使客户端不能准确估计下载视频块所需时长,使用户QoE降低。
发明内容
本发明的目的是提供一种基于DASH的视频码率自适应调整方法及系统,能够提高用户的体验质量。
为实现上述目的,本发明提供了如下方案:
一种基于DASH的视频码率自适应调整方法,所述方法包括:
根据客户端请求的视频块的码率的均值、客户端发生卡顿的总时长以及客户端请求的视频块的码率切换频率和码率切换幅度,构建用户的体验质量函数;
根据所述用户的体验质量函数,以用户的体验质量最大化为目标,建立目标函数;
根据视频播放前客户端向服务器请求的MPD文件,确定目标函数的约束条件;所述MPD文件包含视频块的码率、视频块的时长和视频块的保存位置信息;所述约束条件包括所述客户端缓冲区容量的动态变化范围、客户端请求的视频块等待下载的时长范围、客户端请求窗口长度范围、客户端请求的视频块的播放顺序和请求顺序之间的映射关系以及客户端请求的视频块的码率范围;
根据所述约束条件,应用MPC方法对目标函数进行求解,确定各目标视频块的最优请求顺序和码率。
其中,QoE为用户的体验质量;为目标视频块的总码率;为客户端请求的视频块的码率切换频率和码率切换幅度;Tstall为客户端发生卡顿的总时长;α为视频质量切换的频率和幅度对用户QoE的影响权重;β为卡顿时长对用户QoE的影响权重;i为目标视频块的请求顺序的序号;为目标视频块的播放顺序的序号;为目标视频块的请求顺序的序号与目标视频块的播放顺序的序号之间的映射关系;N为目标视频包含视频块的个数;为请求顺序为i的视频块的码率;表示的逆映射。
可选地,所述客户端缓冲区容量的动态变化范围包括总缓冲区容量的动态变化范围和顺序缓冲区容量的动态变化范围;所述总缓冲区容量为所述客户端缓冲区已下载的视频块的总时长;所述顺序缓冲区容量为所述客户端缓冲区已下载的视频块的总时长中能够播放的视频块的总时长;
根据所述客户端缓冲区已下载的视频块的总时长、所述客户端请求下载的视频块的下载时长、所述视频块的时长和所述客户端请求的视频块等待下载的时长范围,确定总缓冲区容量的动态变化范围和顺序缓冲区容量的动态变化范围。
可选地,所述客户端请求下载的视频块的下载时长的确定方法具体包括:
根据所述客户端请求下载的视频块的码率、所述客户端请求下载的视频块的信道带宽和所述视频块的时长,确定所述客户端请求下载的视频块的下载时长。
可选地,所述根据所述约束条件,应用MPC方法,确定各目标视频块的最优请求顺序和码率,具体包括:
当所述客户端请求的视频块下载时的信道满足动态预测条件时,应用动态调和平均数方法进行信道的带宽预测,得到动态预测带宽;所述动态预测条件为所述客户端缓冲区中已下载的同信道视频块的下载时刻距离当前时刻的时间差小于等于设定时长的视频块的个数大于等于设定个数;
当所述客户端请求的视频块下载时的信道不满足动态预测条件时,应用静态调和平均数方法进行信道的带宽预测,得到静态预测带宽;
当所述客户端请求的视频块下载时的信道中至少有一条信道满足动态预测条件时,则根据所述约束条件和所有信道的动态预测带宽或静态预测带宽,应用MPC算法,将所述目标函数转化为基于非顺序优化问题,确定各目标视频块的最优请求顺序和码率;
当所述客户端请求的视频块下载时的信道均不满足动态预测条件时,则根据所述约束条件和所述所有信道的静态预测带宽,应用MPC算法,将所述目标函数转化为基于顺序优化问题,确定各目标视频块的最优请求顺序和码率。
可选地,所述当所述客户端请求的视频块下载时的信道满足动态预测条件时,应用动态调和平均数方法进行信道的带宽预测,得到动态预测带宽,具体包括:
根据所述客户端已下载的视频块的带宽记录和所述客户端请求下载的视频块的保存位置信息,确定所述客户端缓冲区已下载的同信道视频块的下载时间;
当所述客户端已下载的同信道视频块的下载时刻距离当前时刻的时间差小于等于设定时长时,得到多个第一信道视频块;
当所述第一信道视频块的个数大于等于设定个数时,根据公式得到请求的第k+j个视频块下载时的预测带宽;其中,k为已下载视频块个数;Nrec为设定的预测窗口长度;为客户端中保存的来自信道l的视频块记录;为请求顺序为h的视频块下载时的预测带宽;Nd为预测带宽的总视频块个数;
根据所述动态调和平均数预测方法,得到动态预测带宽。
可选地,所述当所述客户端请求的视频块下载时的信道不满足动态预测条件时,应用静态调和平均数方法进行信道的带宽预测,得到静态预测带宽,具体包括:
根据所述客户端已下载的视频块的带宽记录和所述客户端请求下载的视频块的保存位置信息,确定所述客户端已下载的同信道视频块的下载时间;
当所述同信道视频块的下载时刻距离当前时刻的时间差均大于设定时长或者当所述同信道视频块的下载时刻距离当前时刻的时间差均小于等于设定时长且所述第一信道视频块的个数小于设定个数时,得到多个第二信道视频块;
根据所述静态调和平均数预测方法,得到静态预测带宽。
一种基于DASH的视频码率自适应系统,所述系统包括:
构建模块,用于根据客户端请求的视频块的码率的均值、客户端发生卡顿的总时长以及客户端请求的视频块的码率切换频率和码率切换幅度,构建用户的体验质量函数;
建立模块,用于根据所述用户的体验质量函数,以用户的体验质量最大化为目标,建立目标函数;
约束条件确定模块,用于根据视频播放前客户端向服务器请求的MPD文件,确定目标函数的约束条件;所述MPD文件包含视频块的码率、视频块的时长和视频块的保存位置信息;所述约束条件包括所述客户端缓冲区容量的动态变化范围、客户端请求的视频块等待下载的时长范围、客户端请求窗口长度范围、客户端请求的视频块的播放顺序和请求顺序之间的映射关系以及客户端请求的视频块的码率范围;
解算模块,用于根据所述约束条件,应用MPC方法对目标函数进行求解,确定各目标视频块的最优请求顺序和码率。
一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的基于DASH的视频码率自适应调整方法。
一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于DASH的视频码率自适应调整方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种基于DASH的视频码率自适应调整方法,包括根据客户端请求的视频块的码率的均值、客户端发生卡顿的总时长以及客户端请求的视频块的码率切换频率和码率切换幅度,构建用户的体验质量函数;根据用户的体验质量函数,以用户的体验质量最大化为目标,建立目标函数;根据视频播放前客户端向服务器请求的MPD文件,确定目标函数的约束条件;MPD文件包含视频块的码率、视频块的时长和视频块的保存位置信息;约束条件包括客户端缓冲区容量的动态变化范围、客户端请求的视频块等待下载的时长范围、客户端请求窗口长度范围、客户端请求的视频块的播放顺序和请求顺序之间的映射关系以及客户端请求的视频块的码率范围;根据约束条件,应用MPC方法对目标函数进行求解,确定各目标视频块的最优请求顺序和码率。本发明充分利用了视频块在CDN中的保存位置信息,客户端对来自不同来源(如CDN服务器或源站)的视频块下载时的带宽分别进行记录,并通过服务器返回的信息感知未下载视频块的保存位置,根据约束条件,在视频传输时充分利用了各信道的短时趋势,在其中某信道状态较好时使用该信道,而在某信道状态较差时避免使用该信道,从而提高用户QoE。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于DASH的视频码率自适应调整方法流程图;
图2为本发明CDN场景下的网络模型图;
图3为本发明客户端缓冲区示意图;
图4为本发明动态预测方法流程图;
图5为视频块请求顺序及码率选择算法流程图;
图6为本发明提供的基于DASH的视频码率自适应系统模块图。
符号说明:
构建模块—1,建立模块—2,约束条件确定模块—3,解算模块—4。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于DASH的视频码率自适应调整方法及系统,能够提高用户的体验质量。
本发明首先进行信道预测,对于已下载的视频块记录,客户端通过播放前下载的MPD(MediaPresentation Description)文件确定其保存位置,并按照保存位置分别进行保存。保存位置不同的视频块在下载时经历了不同的信道,对于每条信道,客户端会检测其是否满足动态预测条件,若满足,则对此信道采用动态预测方法,否则采用静态预测方法。其中,静态预测指对未来多个视频块下载时的网络带宽预测为一个不变的值,本发明采用调和平均的方法实现静态预测。动态预测指对未来多个视频块下载时的网络带宽的预测是变化的值,本发明采用的方法是:首先根据客户端中记录,采用调和平均的方法求得下一个视频块下载时的预测带宽,接着将此预测带宽结合客户端中记录,利用调和平均的方法预测下下个视频块下载时的网络带宽,对于之后视频块下载时网络带宽的预测方法依此类推。动态预测条件指当客户端中来自某信道的视频块记录较新时,才能对该信道进行动态预测。动态预测条件的引入能够减小预测误差。
在对各信道进行预测后,进行下载视频块顺序和码率的选择。本发明考虑用户QoE与三个方面有关,分别是视频的码率、卡顿时长和码率切换。本发明使用基于MPC(ModelPredict Control)的方法确定下载视频块的顺序及其码率。当有信道采用动态预测时,通过求解动态优化问题获得之后若干个视频块的请求顺序及码率。当所有信道均采用静态预测时,通过求解静态优化问题获得之后下载的若干个视频块的码率。与动态优化问题不同的是,静态优化问题中固定了视频块的请求顺序与其播放顺序相同。
在通过动态或静态优化问题求解得出之后若干个视频块的请求顺序和码率后,客户端按照求得的请求顺序选择下一个需要请求的视频块,按照其对应的码率向服务器发出请求。
本发明提供的基于DASH的视频块请求顺序和码率的选择算法,不同于一般方法中视频块请求顺序与其播放顺序相同,本发明根据视频块下载的历史记录对各信道分别进行静态或动态预测;根据预测结果确定未来视频块的请求顺序和码率。在视频传输时充分利用了各信道的短时趋势,在其中某信道状态较好时使用该信道,而在某信道状态较差时避免使用该信道,从而提高用户QoE。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
如图1所示,本发明提供了一种基于DASH的视频码率自适应调整方法,所述方法包括:
步骤S1:根据客户端请求的视频块的码率的均值、客户端发生卡顿的总时长以及客户端请求的视频块的码率切换频率和码率切换幅度,构建用户的体验质量函数;具体地,所述用户的体验质量函数如公式(1)所示:
其中,QoE为用户的体验质量;为目标视频块的总码率;为目标视频块的码率变化的频率和幅度;Tstall为卡顿总时长;α和β均为大于0的常数,分别表示视频质量切换和卡顿时长对用户QoE的影响权重;i为目标视频块的请求顺序的序号,为目标视频块的播放顺序的序号;为目标视频块的请求顺序的序号与目标视频块的播放顺序的序号之间的映射关系;N为目标视频包含视频块的个数;为请求顺序为i的视频块的码率,表示的逆映射,即从视频块的播放顺序到其请求顺序的映射。
在实际应用中,应用本发明的网络模型如图2所示,在DASH标准中,视频被分成一个个长度相等的视频块,保存于服务器内。在用户需要播放视频时,客户端向服务器发出请求,服务器将视频块发送至客户端。客户端在播放视频时,视频块的来源有三种可能:CDN低层服务器、CDN高层服务器和源服务器。此三种服务器按照其到客户端的信道带宽从大到小排序分别为:CDN低层服务器、CDN高层服务器、源服务器。
每次视频播放前,客户端向服务器请求MPD文件,此文件中包含视频块的各种信息,包括码率、时长、分辨率等。本发明中,MPD文件中还包括每个视频块的保存位置信息。考虑所有视频块时长相等,均为L秒,客户端缓冲区大小为Bmax秒,同一个视频块有不同码率的版本,并可能被存放于不同的位置(即CDN的不同层次或源站)。考虑视频被转码成C个不同码率的版本,其码率分别为R1,R2,...,RC,令Ravail表示所有可能码率的集合,即Ravail={R1,R2,...,RC}。设请求顺序为i的视频块的码率为且有其中,i表示视频块的请求顺序的序号,表示其播放顺序的序号。表示从视频块的请求顺序到播放顺序的映射关系。例如,当i=3时,若则表示请求顺序为3的视频块的码率,其播放顺序的序号为6。因此,请求顺序为i的视频块的下载时长如公式(2)所示:
由于客户端下载视频块的顺序不一定与其播放视频相同,客户端缓冲区内已下载的视频块的播放顺序序号可能不连续,有的视频块可能已下载但是不能被播放,如图3所示。在图3中,每个小方块表示一个视频块,假设客户端缓冲区最多能存放7个视频块,因此有Bmax=7L,其中,有填充小方块表示已下载视频块,无填充小方块表示未下载视频块。因此,播放顺序为1,2,4的3个视频块已被依次下载。此时,若不再有新的视频块被下载,客户端能观看的视频块是播放顺序为1,2的两个视频块。播放顺序为4的视频块虽然已经被下载,但不能播放,因为播放顺序为3的视频块未被下载。
引入总缓冲区长度和顺序缓冲区长度的概念。其中,总缓冲区长度为已被下载的所有视频长度。在上面的例子中,总缓冲区长度为3L。顺序缓冲区长度为此时缓冲区内能够被播放的所有视频长度。在上面这个例子中,顺序缓冲区长度为2L。记请求顺序为i+1的视频块下载开始时,客户端的总缓冲区长度和顺序缓冲区分别为ti+1和ti′+1,则有总缓冲区的动态变化范围如公式(3)所示,顺序缓冲区的动态变化范围如公式(4)所示。
其中,表示请求顺序为i的视频块下载结束时,顺序缓冲区长度增加的视频块数量。如图3所示,若此时请求的是播放顺序为3的视频块(其下载顺序为4),则当其下载结束时,顺序缓冲区长度从2增长到4,因此x4=4-2=2。wi表示从请求顺序为i的视频块下载完成到请求顺序为i+1的视频块开始下载之间因客户端缓冲区已满而需要等待的时长,且等待的时长的变化范围如公式(5)所示:
为了对非顺序请求做出限制,规定请求的视频块的播放序号与请求序号的差值不能大于一个阈值,这是为了避免使卡顿的概率过大。将此阈值记为Npre,称为请求窗口长度,得到请求窗口长度的范围如公式(6)所示:
视频播放过程中,当顺序缓冲区被耗尽而不得不停止播放时,会发生卡顿,记卡顿总时长为Tstall,则有卡顿总时长如公式(8)所示
本发明考虑的用户QoE与三个方面有关:码率、卡顿时长和码率切换。其中,平均码率指客户端请求的视频块的码率的均值,卡顿时长指客户端因缓冲区内视频耗尽而发生卡顿的总时长,码率切换指视频的码率发生变化的频率和幅度。因此,用户QoE的函数公式(1)所示,本发明取α=1,β=4.3。
步骤S2:根据所述用户的体验质量函数,以用户的体验质量最大化为目标,建立目标函数;具体地,目标函数如公式(9)所示:
步骤S3:根据视频播放前客户端向服务器请求的MPD文件,确定目标函数的约束条件;所述MPD文件包含视频块的码率、视频块的时长和视频块的保存位置信息;所述约束条件包括所述客户端缓冲区容量的动态变化范围、客户端请求的视频块等待下载的时长范围、客户端请求窗口长度范围、客户端请求的视频块的播放顺序和请求顺序之间的映射关系以及客户端请求的视频块的码率范围。
具体地,所述客户端缓冲区容量的动态变化范围包括总缓冲区容量的动态变化范围和顺序缓冲区容量的动态变化范围;所述总缓冲区容量为所述客户端缓冲区已下载的视频块的总时长;所述顺序缓冲区容量为所述客户端缓冲区已下载的视频块的总时长中能够播放的视频块的总时长。
根据所述客户端缓冲区已下载的视频块的总时长、所述客户端请求下载的视频块的下载时长、所述视频块的时长和所述客户端请求的视频块等待下载的时长范围,确定总缓冲区容量的动态变化范围和顺序缓冲区容量的动态变化范围。
其中,所述客户端请求的视频块的下载时长的确定方法具体包括:
根据所述客户端请求下载的视频块的码率、所述客户端请求下载的视频块的信道带宽和所述视频块的时长,确定所述客户端请求下载的视频块的下载时长。
具体地,约束条件如公式(10)所示:
步骤S4:根据所述约束条件,应用MPC方法对目标函数进行求解,确定各目标视频块的最优请求顺序和码率。
S4具体包括:
步骤S41:当所述客户端请求的视频块下载时的信道满足动态预测条件时,应用动态调和平均数方法进行信道的带宽预测,得到动态预测带宽;所述动态预测条件为所述客户端缓冲区中已下载的同信道视频块的下载时刻距离当前时刻的时间差小于等于设定时长的视频块的个数大于等于设定个数。
S41具体包括:
步骤S411:根据所述客户端已下载的视频块的带宽记录和所述客户端请求下载的视频块的保存位置信息,确定所述客户端缓冲区已下载的同信道视频块的下载时间。
步骤S412:当所述客户端已下载的同信道视频块的下载时刻距离当前时刻的时间差小于等于设定时长时,得到多个第一信道视频块。
步骤S413:当所述第一信道视频块的个数大于等于设定个数时,根据公式(11)得到请求顺序为k+j的视频块的预测带宽。公式(11)如下所示:
步骤S414:根据所述动态调和平均数预测方法,得到动态预测带宽。
步骤S42:当所述客户端请求的视频块下载时的信道不满足动态预测条件时,应用静态调和平均数方法进行信道的带宽预测,得到静态预测带宽。
S42具体包括:
步骤S421:根据所述客户端已下载的视频块的带宽记录和所述客户端请求下载的视频块的保存位置信息,确定所述客户端缓冲区已下载的同信道视频块的下载时间。
步骤S422:当所述同信道视频块的下载时刻距离当前时刻的时间差均大于设定时长时或者当所述同信道视频块的下载时刻距离当前时刻的时间差均小于等于设定时长且所述第一信道视频块的个数小于设定个数时,得到多个第二信道视频块。
步骤S424:根据所述静态调和平均数预测方法,得到静态预测带宽。
步骤S43:当所述客户端请求的视频块下载时的信道中至少有一条信道满足动态预测条件时,则根据所述约束条件和所有信道的动态预测带宽或静态预测带宽,应用MPC算法,将所述目标函数转化为基于非顺序优化问题,确定各目标视频块的最优请求顺序和码率。
步骤S44:当所述客户端请求的视频块下载时的信道均不满足动态预测条件时,则根据所述约束条件和所述所有信道的静态预测带宽,应用MPC算法,将所述目标函数转化为基于顺序优化问题,确定各目标视频块的最优请求顺序和码率。
在实际应用中,上述优化问题不能直接求解,因为求解此问题需要使用未来信道的带宽信息。因此,使用MPC方法,利用未来一段时间窗口内信道带宽的预测值,解出此时间窗口内各视频块的最优请求顺序和码率。称需要决策的未来视频块的个数为决策窗口长度,记为Nd,得到决策窗口长度的范围如公式(12)所示:
Nd≥Npre (12)
如图4所示,假设此图代表客户端中来自源服务器的视频块下载记录。且假定利用前三个视频块的记录来预测之后的视频块下载时的带宽(即预测窗口长度为3)。在图4中,有填充的方块表示已下载的3个视频块记录。对于已下载的视频块,其在下载时信道的带宽能够被精确测量为:
设已下载的3个视频块的带宽记录分别为b1、b2和b3,则利用三者的调和平均数预测从源服务器下载第4个(即下一个)视频块时的带宽,如公式(13)所示:
进一步,用下面的式子预测从源服务器下载第5个(即下下个)视频块时的带宽如公式(14)所示:
在预测之后的视频块下载时的带宽时,依此类推。
但是这种做法存在记录的陈旧问题。例如,若图3中显示的3个视频块是在很早之前下载的,那么通过这些记录进行预测会导致较大的误差,进而影响系统的性能。尤其是动态预测可能会使误差进一步增大。因此,客户端只在记录较新鲜的时候进行动态预测。具体地说,客户端只在这种条件下才进行动态预测:来自同一个服务器的记录中,至少有h个记录对应的视频块的下载完成距当前时刻的时长不超过tf。越大的tf意味着各信道满足动态预测的可能性越大,但由此带来的预测误差可能增大,因此在实际应用时应根据情况选择合适的tf。此条件称为动态预测条件。
当信道不满足动态预测条件时,只能对此信道采用静态预测,即:用该服务器的前Nrec条记录的调和平均数作为之后从该服务器下载所有视频块时的信道带宽。如图4所示,若此时不满足动态预测条件,能够通过公式(15)预测第4个以及之后所有的视频块下载时的信道带宽(这里Nrec=3):
为了进行非顺序请求,需要对至少一条信道进行动态预测,即至少一条信道的记录需满足动态预测条件。
视频块请求顺序及码率确定算法如图5所示,本发明提出的算法主要包括四个步骤:
1.判断各信道是否满足动态预测条件。
2.根据第1步中的结果分别对各信道进行动态或静态预测。
3.根据第2步中的预测结果,求解顺序优化问题或非顺序优化问题。
4.根据第3步中的解得出下一个下载的视频块及其码率。
在步骤1中,客户端根据已下载的视频块记录,依次判断各信道是否满足动态预测条件。
在步骤2中,对每个信道,若其满足动态预测条件,则对此信道进行动态预测,否则进行静态预测,这样就得到了所有信道在下载未来n个视频块时的带宽预测值。
在步骤3中,根据步骤2中的预测结果,若至少存在其中一条信道采用了动态预测,就求解非顺序优化问题,否则求解顺序优化问题。其中,非顺序优化问题的优化变量是请求视频块的顺序及其码率,而顺序优化问题的优化变量只有下载视频块的码率,其请求顺序被固定为按照未下载视频块的播放顺序从小到大请求。为了限制顺序优化问题中客户端请求视频块的顺序,在顺序优化问题中需要添加如下限制条件:
此限制条件的含义是客户端下载的下一个视频块是当前未下载视频块中播放顺序序号最小的那个。这样做的原因是只有动态预测能够提取信道的短时趋势,静态预测不能反映信道的短时趋势,而只有利用信道的短时趋势才能利用改变视频块的请求顺序获得用户QoE的增益。因此,当所有信道均采用静态预测时,改变视频块的请求顺序是无意义的行为。
在步骤4中,根据步骤3中的顺序优化问题或非顺序优化问题的解,能够得到下一个下载的视频块序号及其码率。
根据MPC算法,非顺序优化问题定义如公式(17)所示:
s.t.
其中,n=min{Nd,N-k}是考虑的未来视频块个数,k是已下载视频块个数,G表示下载n个视频块后,码率切换的增加量。具体来说,记客户端中顺序缓冲区的最后一个视频块的播放顺序序号为p(若顺序缓冲区中没有视频块,此时p是播放的最后一个视频块的播放顺序序号)。记所有已下载视频块中,播放顺序大于的视频块有m个,其播放序号的集合为且中的元素从小到大排列依次为:u1,u2,...,um。记表示下载此n个视频块之后播放顺序大于的视频块,且其中的元素按照从小到大排列依次为:
″′
u1,u2,...,um+n。
则G按照公式(18)计算:
其中规定u0=u0′=p。
Tstall是下载此n个视频块时的总卡顿时长,按照公式(19)计算:
根据MPC算法,顺序优化问题定义如公式(20)所示:
s.t.
本发明提出的基于DASH的视频码率自适应调整方法,目的是优化用户的体验质量(QoE),其中充分利用了视频块在CDN中的保存位置信息。客户端对来自不同来源(如CDN服务器或源站)的视频块下载时的带宽分别进行记录,并通过服务器返回的信息感知未下载视频块的保存位置,当需要下载视频块时,客户端根据视频块的下载记录对不同的信道未来一段时间内的带宽分别进行预测,并根据预测结果求解特定的优化问题以确定下载视频块的最优顺序和码率。本发明提出的基于DASH的视频码率自适应调整方法充分利用了网络带宽变化中的短时趋势,从而充分利用各信道带宽较大的时间段,并在信道带宽较小时避免使用此信道,提高了用户的QoE水平。
实施例二
为了执行上述实施例一对应的方法,以实现相应的功能和技术效果,下面提供一种基于DASH的视频码率自适应系统,如图6所示,所述系统包括:
构建模块1,用于根据客户端请求的视频块的码率的均值、客户端发生卡顿的总时长以及客户端请求的视频块的码率切换频率和码率切换幅度,构建用户的体验质量函数。
建立模块2,用于根据所述用户的体验质量函数,以用户的体验质量最大化为目标,建立目标函数。
约束条件确定模块3,用于根据视频播放前客户端向服务器请求的MPD文件,确定目标函数的约束条件;所述MPD文件包含视频块的码率、视频块的时长和视频块的保存位置信息;所述约束条件包括所述客户端缓冲区容量的动态变化范围、客户端请求的视频块等待下载的时长范围、客户端请求窗口长度范围、客户端请求的视频块的播放顺序和请求顺序之间的映射关系以及客户端请求的视频块的码率范围。
解算模块4,用于根据所述约束条件,应用MPC方法对目标函数进行求解,确定各目标视频块的最优请求顺序和码率。
实施例三
本发明实施例提供一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使电子设备执行实施例一的基于DASH的视频码率自适应调整方法。
可选地,上述电子设备可以是客户端。
另外,本发明实施例还提供一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现实施例一的基于DASH的视频码率自适应调整方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于DASH的视频码率自适应调整方法,其特征在于,所述方法包括:
根据客户端请求的视频块的码率的均值、客户端发生卡顿的总时长以及客户端请求的视频块的码率切换频率和码率切换幅度,构建用户的体验质量函数;
根据所述用户的体验质量函数,以用户的体验质量最大化为目标,建立目标函数;
根据视频播放前客户端向服务器请求的MPD文件,确定目标函数的约束条件;所述MPD文件包含视频块的码率、视频块的时长和视频块的保存位置信息;所述约束条件包括所述客户端缓冲区容量的动态变化范围、客户端请求的视频块等待下载的时长范围、客户端请求窗口长度范围、客户端请求的视频块的播放顺序和请求顺序之间的映射关系以及客户端请求的视频块的码率范围;
根据所述约束条件,应用MPC方法对目标函数进行求解,确定各目标视频块的最优请求顺序和码率。
3.根据权利要求1所述的基于DASH的视频码率自适应调整方法,其特征在于,所述客户端缓冲区容量的动态变化范围包括总缓冲区容量的动态变化范围和顺序缓冲区容量的动态变化范围;所述总缓冲区容量为所述客户端缓冲区已下载的视频块的总时长;所述顺序缓冲区容量为所述客户端缓冲区已下载的视频块的总时长中能够播放的视频块的总时长;
根据所述客户端缓冲区已下载的视频块的总时长、所述客户端请求下载的视频块的下载时长、所述视频块的时长和所述客户端请求的视频块等待下载的时长范围,确定总缓冲区容量的动态变化范围和顺序缓冲区容量的动态变化范围。
4.根据权利要求3所述的基于DASH的视频码率自适应调整方法,其特征在于,所述客户端请求下载的视频块的下载时长的确定方法具体包括:
根据所述客户端请求下载的视频块的码率、所述客户端请求下载的视频块的信道带宽和所述视频块的时长,确定所述客户端请求下载的视频块的下载时长。
5.根据权利要求1所述的基于DASH的视频码率自适应调整方法,其特征在于,所述根据所述约束条件,应用MPC方法,确定各目标视频块的最优请求顺序和码率,具体包括:
当所述客户端请求的视频块下载时的信道满足动态预测条件时,应用动态调和平均数方法进行信道的带宽预测,得到动态预测带宽;所述动态预测条件为所述客户端缓冲区中已下载的同信道视频块的下载时刻距离当前时刻的时间差小于等于设定时长的视频块的个数大于等于设定个数;
当所述客户端请求的视频块下载时的信道不满足动态预测条件时,应用静态调和平均数方法进行信道的带宽预测,得到静态预测带宽;
当所述客户端请求的视频块下载时的信道中至少有一条信道满足动态预测条件时,则根据所述约束条件和所有信道的动态预测带宽或静态预测带宽,应用MPC算法,将所述目标函数转化为基于非顺序优化问题,确定各目标视频块的最优请求顺序和码率;
当所述客户端请求的视频块下载时的信道均不满足动态预测条件时,则根据所述约束条件和所述所有信道的静态预测带宽,应用MPC算法,将所述目标函数转化为基于顺序优化问题,确定各目标视频块的最优请求顺序和码率。
6.根据权利要求5所述的基于DASH的视频码率自适应调整方法,其特征在于,所述当所述客户端请求的视频块下载时的信道满足动态预测条件时,应用动态调和平均数方法进行信道的带宽预测,得到动态预测带宽,具体包括:
根据所述客户端已下载的视频块的带宽记录和所述客户端请求下载的视频块的保存位置信息,确定所述客户端缓冲区已下载的同信道视频块的下载时间;
当所述客户端已下载的同信道视频块的下载时刻距离当前时刻的时间差小于等于设定时长时,得到多个第一信道视频块;
当所述第一信道视频块的个数大于等于设定个数时,根据公式得到请求的第k+j个视频块下载时的预测带宽;其中,k为已下载视频块个数;Nrec为设定的预测窗口长度;为客户端中保存的来自信道l的视频块记录;为请求顺序为h的视频块下载时的预测带宽;Nd为预测带宽的总视频块个数;
根据所述动态调和平均数预测方法,得到动态预测带宽。
7.根据权利要求6所述的基于DASH的视频码率自适应调整方法,其特征在于,所述当所述客户端请求的视频块下载时的信道不满足动态预测条件时,应用静态调和平均数方法进行信道的带宽预测,得到静态预测带宽,具体包括:
根据所述客户端已下载的视频块的带宽记录和所述客户端请求下载的视频块的保存位置信息,确定所述客户端已下载的同信道视频块的下载时间;
当所述同信道视频块的下载时刻距离当前时刻的时间差均大于设定时长时或者当所述同信道视频块的下载时刻距离当前时刻的时间差均小于等于设定时长且所述第一信道视频块的个数小于设定个数时,得到多个第二信道视频块;
根据所述静态调和平均数预测方法,得到静态预测带宽。
8.一种基于DASH的视频码率自适应系统,其特征在于,所述系统包括:
构建模块,用于根据客户端请求的视频块的码率的均值、客户端发生卡顿的总时长以及客户端请求的视频块的码率切换频率和码率切换幅度,构建用户的体验质量函数;
建立模块,用于根据所述用户的体验质量函数,以用户的体验质量最大化为目标,建立目标函数;
约束条件确定模块,用于根据视频播放前客户端向服务器请求的MPD文件,确定目标函数的约束条件;所述MPD文件包含视频块的码率、视频块的时长和视频块的保存位置信息;所述约束条件包括所述客户端缓冲区容量的动态变化范围、客户端请求的视频块等待下载的时长范围、客户端请求窗口长度范围、客户端请求的视频块的播放顺序和请求顺序之间的映射关系以及客户端请求的视频块的码率范围;
解算模块,用于根据所述约束条件,应用MPC方法对目标函数进行求解,确定各目标视频块的最优请求顺序和码率。
9.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据权利要求1至7中任一项所述的基于DASH的视频码率自适应调整方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于DASH的视频码率自适应调整方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211638871.7A CN115988267B (zh) | 2022-12-20 | 2022-12-20 | 一种基于dash的视频码率自适应调整方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211638871.7A CN115988267B (zh) | 2022-12-20 | 2022-12-20 | 一种基于dash的视频码率自适应调整方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115988267A true CN115988267A (zh) | 2023-04-18 |
CN115988267B CN115988267B (zh) | 2023-09-15 |
Family
ID=85958881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211638871.7A Active CN115988267B (zh) | 2022-12-20 | 2022-12-20 | 一种基于dash的视频码率自适应调整方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115988267B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544809A (zh) * | 2024-01-10 | 2024-02-09 | 北京科技大学 | 服务器端动态码率生成及推荐网络视频应用方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170026713A1 (en) * | 2015-03-26 | 2017-01-26 | Carnegie Mellon University | System and Method for Dynamic Adaptive Video Streaming Using Model Predictive Control |
CN106993237A (zh) * | 2017-04-13 | 2017-07-28 | 中北大学 | 基于mpeg‑dash协议的动态自适应码率选择方法 |
WO2020253664A1 (zh) * | 2019-06-19 | 2020-12-24 | 鹏城实验室 | 视频传输方法、系统和存储介质 |
WO2020258427A1 (zh) * | 2019-06-28 | 2020-12-30 | 合肥工业大学 | 一种QoE驱动下的VR视频自适应采集与传输方法 |
WO2021139300A1 (zh) * | 2020-01-09 | 2021-07-15 | 鹏城实验室 | 一种视频码率的匹配方法、存储介质及终端设备 |
-
2022
- 2022-12-20 CN CN202211638871.7A patent/CN115988267B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170026713A1 (en) * | 2015-03-26 | 2017-01-26 | Carnegie Mellon University | System and Method for Dynamic Adaptive Video Streaming Using Model Predictive Control |
CN106993237A (zh) * | 2017-04-13 | 2017-07-28 | 中北大学 | 基于mpeg‑dash协议的动态自适应码率选择方法 |
WO2020253664A1 (zh) * | 2019-06-19 | 2020-12-24 | 鹏城实验室 | 视频传输方法、系统和存储介质 |
WO2020258427A1 (zh) * | 2019-06-28 | 2020-12-30 | 合肥工业大学 | 一种QoE驱动下的VR视频自适应采集与传输方法 |
WO2021139300A1 (zh) * | 2020-01-09 | 2021-07-15 | 鹏城实验室 | 一种视频码率的匹配方法、存储介质及终端设备 |
Non-Patent Citations (4)
Title |
---|
吴如亮;王子磊;奚宏生;: "一种基于多服务器的DASH客户端优化算法", 计算机工程, no. 11 * |
戚惠丹;李泽平;: "基于DASH标准的视频自适应传输方案", 计算机工程与设计, no. 03 * |
王磊;王磊;徐力杰;: "MPEG/DASH中基于码率预测补偿的自适应调度算法", 南京理工大学学报, no. 02 * |
黄胜;胡凌炜;付园鹏;: "基于状态机的视频码率自适应算法", 计算机应用, no. 07 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544809A (zh) * | 2024-01-10 | 2024-02-09 | 北京科技大学 | 服务器端动态码率生成及推荐网络视频应用方法及系统 |
CN117544809B (zh) * | 2024-01-10 | 2024-03-26 | 北京科技大学 | 服务器端动态码率生成及推荐网络视频应用方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115988267B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9386308B2 (en) | Quality optimization with buffer and horizon constraints in adaptive streaming | |
US11463750B2 (en) | Method and apparatus for transmitting adaptive video in real time using content-aware neural network | |
CN110198495B (zh) | 一种视频下载和播放的方法、装置、设备和存储介质 | |
KR102472155B1 (ko) | 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법 | |
CN112953922B (zh) | 一种自适应流媒体控制方法、系统、计算机设备及应用 | |
US20170034233A1 (en) | Pre-Buffering Audio Streams | |
WO2011010688A1 (ja) | コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム | |
US20120195362A1 (en) | System and Method for Managing Cache Storage in Adaptive Video Streaming System | |
WO2001020910A1 (en) | Method and apparatus for streaming data | |
CN112672186B (zh) | 视频预加载的方法和装置 | |
Hoßfeld et al. | To each according to his needs: Dimensioning video buffer for specific user profiles and behavior | |
CN110022498B (zh) | 一种实现码率切换的方法及装置 | |
US20210185368A1 (en) | Adaptive bitrate video cache | |
US20160072864A1 (en) | Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer readable mediium | |
CN110636339A (zh) | 基于码率的调度方法、装置及电子设备 | |
CN102918594A (zh) | 用于自适应流播放器的高速缓存控制 | |
CN115988267A (zh) | 一种基于dash的视频码率自适应调整方法及系统 | |
US9665646B1 (en) | Method and system for providing bit rate adaptaion to video files having metadata | |
KR102129115B1 (ko) | 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 | |
KR102521753B1 (ko) | 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법 | |
JP6611271B2 (ja) | 動画品質制御装置、ビットレート選択方法、及びプログラム | |
JP4999991B2 (ja) | 映像符号量制御方法、映像符号量制御装置、映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US9979765B2 (en) | Adaptive connection switching | |
CN108900874B (zh) | 一种基于svc-dash框架的流媒体自适应请求方法及其装置 | |
CN111031355B (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 |