视频质量控制方法和装置的制造方法
【技术领域】
[0001] 本发明属于流媒体技术领域,尤其是涉及一种视频质量控制方法和装置。
【背景技术】
[0002] 随着移动多媒体技术的不断发展以及网络带宽的不断提高,诸如网上点播、直播 服务的需求不断增长,视频流媒体业务已经成为人们生活中不可或缺的应用服务。但由 于实际终端的多样性和网络的异构性,不同用户的带宽条件不同且处于不断变化中,如何 使每个人都能获得流畅、清晰的视频观看体验成为一大挑战。考虑到单一码率的视频流 无法满足上述要求,服务器端一般提供不同传输码率的多个不同质量层级的视频文件,针 对不同网络带宽状况适应地选择其中一个进行传输。基于超文本传输协议(Hyper Text Transfer Protocol,以下简称 HTTP)的动态自适应流媒体(Dynamic Adaptive Streaming over HTTP,以下简称DASH)技术正是为此而设计的。最新的DASH技术已经被MPEG组织进 行标准化,并于2012年4月发布为国际标准,称为MPEG-DASH。
[0003] 在DASH系统中,针对同一视频源文件,服务器提供多个不同传输码率的版本,每 种传输码率对应一个质量层级,传输码率越高,对应的质量层级越高。而且,每个版本的视 频文件被划分为一个个小的码流片段,以相应的传输码率经由HTTP进行传输,从而,组成 不同质量层级的码流。客户端在接收完一个码流分片后,可以依据当前的网络状况确定下 一个需要请求的码流分片的质量层级,从而根据确定的质量层级请求服务器以与该质量层 级对应的传输码率传输下一个码流分片。
[0004] 一种DASH系统中视频质量控制方式是,根据客户端缓冲区的当前时刻的状态来 决定是否调整下一个码流分片的质量层级。但是,这种仅根据缓冲区的当前状态做出控制 决策往往具有一定的滞后性或调整频繁,比如网络带宽的时变性较强时,由于控制决策的 执行具有一定滞后性,使得根据当前控制决策调整后的质量层级与此时的网络带宽条件不 相适应,导致调整不及时或者容易引起视频质量的波动,使得视频质量的平滑性较差。
【发明内容】
[0005] 针对上述存在的问题,本发明提供一种视频质量控制方法和装置,用以克服现有 技术中仅根据当前缓冲时长进行视频质量层级调整易导致调整不及时或者容易引起视频 质量的波动的缺陷。
[0006] 本发明提供了一种视频质量控制方法,包括:
[0007] 获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时长;
[0008] 根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当前的网络 带宽控制量;
[0009] 根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层级;
[0010] 向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层级,以使 所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频码流分 片。 toon] 本发明提供了一种视频质量控制装置,包括:
[0012] 获取模块,用于获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓 冲时长;
[0013] 第一确定模块,用于根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所 述客户端当前的网络带宽控制量;
[0014] 第二确定模块,用于根据所述网络带宽控制量确定服务器中待传输视频码流分片 的质量层级;
[0015] 发送模块,用于向所述服务器发送质量层级调整请求,所述调整请求中包括所述 质量层级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传 输视频码流分片。
[0016] 本发明提供的视频质量控制方法和装置,预先设定以一定时间间隔检测客户端缓 冲区中缓冲的视频码流分片的缓冲时长的检测周期,从而每个一个检测周期检测客户端缓 冲区中缓冲的视频码流分片的缓冲时长。通过获取客户端缓冲区中至少两个检测时刻检测 到的视频码流分片的缓冲时长,从而根据该至少两个缓冲时长与预设缓冲时长目标值,确 定客户端当前的网络带宽控制量,进而根据该网络带宽控制量确定服务器中后续待传输视 频码流分片的质量层级,从而向服务器请求以与该质量层级对应的传输码率向客户端传输 待传输视频码流分片。通过多次检测不同检测时刻时客户端缓冲区的缓冲时长,根据检测 获得的多个缓冲时长估计得到客户端的网络带宽变化情况,并以此为据确定后续视频码流 分片的质量层级,使得确定的质量层级能够有效避免带宽变化的时变性影响,且不会导致 频繁的调整质量层级,有利于保证视频传输质量。
【附图说明】
[0017] 图1为本发明视频质量控制方法实施例一的流程图;
[0018] 图2为本发明视频质量控制方法实施例二的流程图;
[0019] 图3为本发明视频质量控制装置实施例一的结构示意图;
[0020] 图4为本发明视频质量控制装置实施例二的结构示意图。
【具体实施方式】
[0021] 图1为本发明视频质量控制方法实施例一的流程图,如图1所示,该方法包括:
[0022] 步骤101、获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的缓冲时 长;
[0023] 步骤102、根据所述至少两个缓冲时长与预设缓冲时长目标值,确定所述客户端当 前的网络带宽控制量;
[0024] 步骤103、根据所述网络带宽控制量确定服务器中待传输视频码流分片的质量层 级;
[0025] 步骤104、向所述服务器发送质量层级调整请求,所述调整请求中包括所述质量层 级,以使所述服务器以与所述质量层级对应的传输码率向所述客户端传输所述待传输视频 码流分片。
[0026] 在DASH流媒体系统中,客户端会缓冲一部分视频码流分片。缓冲的视频时长可 以反映当前采用的传输码率与网络带宽的关系。例如,若缓冲时长增大,说明发送顺畅,网 络带宽足够;反之,缓冲时长减小,则说明接收数据不足,网络带宽变差。在现有技术中的 DASH系统中,仅仅根据当前时刻时客户端缓冲区中缓冲的视频码流分片的时长来决定是否 对下一个码流分片的质量层级做出调整,由于客户端所运行的无线网络环境的时变性,往 往造成当前做出的控制决策不适应于时变的无线网络带宽的变化,即比如根据当前的缓冲 时长确定需要调整下一个视频码流分片的质量层级,但是此时网络环境突然改变,使得可 用网络带宽发生改变,从而使得之前确定的下一个视频码流分片的质量层级与此时的网络 带宽不相适应,造成如果该确定的质量层级对应的传输码率高于可用网络带宽,则可能会 引起视频播放的卡顿;反之,如果该确定的质量层级对应的传输码率远远低于可用网络带 宽,则无法充分利用带宽,给用户最佳视频播放质量。另外,频繁的质量层级变化也会带来 不好的观看体验。
[0027] 为克服上述问题,本实施例提供的所述视频质量控制方法采用如下的方案,旨在 避免网络带宽变化的时变性对视频质量控制的影响,保证视频传输质量的平滑性。本实施 例所述方法的执行主体为一控制装置,该控制装置可选的集成在客户端所运行的设备中。
[0028] 首先,该控制装置获取客户端缓冲区中至少两个检测时刻检测的视频码流分片的 缓冲时长。
[0029] 本实施例中,预先设置检测周期,用于检测客户端缓冲区中缓冲的视频码流分片 的缓冲时长,比如每隔1分钟检测一次缓冲时长。控制装置通过获得多个检测周期时检测 到的缓冲时长,根据多个缓冲时长来确定客户端的网络带宽变化情况,从而根据网络带宽 变化情况确定是否需要调整后续服务器待传输的视频码率分片的质量层级,以及确定待传 输视频码流分片的质量层级。
[0030] 具体地,控制装置在计时到检测周期时检测客户端缓冲区的缓冲数据时长,通过 多次检测周期的计时,控制装置能够获得客户端缓冲区中至少两个检测时刻检测的视频码 流分片的缓冲时长。进而,控制装置根据该至少两个缓冲时长与预设缓冲时长目标值,确定 客户端当前的网络带宽控制量。本实施例中,预先设置一个缓冲时长