CN110149534B - 基于决策树的自适应视频流转码方法及装置 - Google Patents
基于决策树的自适应视频流转码方法及装置 Download PDFInfo
- Publication number
- CN110149534B CN110149534B CN201910504719.1A CN201910504719A CN110149534B CN 110149534 B CN110149534 B CN 110149534B CN 201910504719 A CN201910504719 A CN 201910504719A CN 110149534 B CN110149534 B CN 110149534B
- Authority
- CN
- China
- Prior art keywords
- network speed
- long
- speed
- decision
- value
- 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
Images
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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440236—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
Abstract
本发明公开了一种基于决策树的自适应视频流转码方法及装置,其中,该基于决策树的自适应视频流转码方法,包括:获取输入的视频流数据,以及当前端到端的时延;根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,以及根据长期网速确定监测变量的决策阈值;在进行视频流输出码率决策时,比较监测变量与决策阈值的大小,在同样的决策阈值下,选择最大的监测变量并输出对应的转码码率;在同样的转码码率下,选择最小的决策阈值并输出对应的输出码率;根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量。本发明的技术方案能够自动调整码率,自动调整视频清晰度,最大程度地减少时延和卡顿,提升视频播放的流畅性。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种基于决策树的自适应视频流转码方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的广泛应用,流媒体传输已成为当今网路传输中的重中之重。近年来随着直播、短视频等业务的兴起,相比于以前点播时代的视频传输,流媒体直播在低卡顿、高清晰的基础上,加入了实时交互(低延迟)的新型要求。所以保障直播过程中的传输稳定性,显得尤为重要。对于广大直播用户来说,最难以忍受的就是在直播过程中频繁卡顿。
目前国内外主流的基础音视频云服务,都是使用的异步转码模式,而异步转码至少存在如下问题:异步转码通常要经过上传-转码-分发-播放的流程。使用异步转码,往往会给开发者和终端用户带来一定的局限性。视频转码需要一定时间,片源清晰度越高转码耗费的时间越是长久。异步转码方案决定了视频内容必须要等待视频完全转码完毕后才能进行内容分发播放,这会为视频内容的生产和播放之间带来一定延迟效应。
有鉴于此,有必要提出对目前的视频流转码技术进行进一步的改进。
发明内容
为解决上述至少一技术问题,本发明的主要目的是提供一种基于决策树的自适应视频流转码方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用的第一个技术方案为:提供一种基于决策树的自适应视频流转码方法,包括:
获取输入的视频流数据,所述输入的视频流数据包括上一周期数据下载量、上一周期的时间间隔、当前时刻的缓冲区容量,以及当前端到端的时延;
根据上一周期数据下载量及上一周期的时间间隔计算出上一周期的下载速度,根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,以及根据长期网速确定监测变量的决策阈值;
在进行视频流输出码率决策时,比较监测变量与决策阈值的大小,在同样的决策阈值下,选择最大的监测变量并输出对应的转码码率;在同样的转码码率下,选择最小的决策阈值并输出对应的输出码率;
根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量。
其中,所述根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,包括:
所述监测变量为上一周期的下载速度与决策系数乘以当前时刻的缓冲区容量之和,具体计算公式如下,
detector=speed(-1)+coeff×buffer_size(-1)
其中,detector为监测变量,speed(-1)为上一周期的下载速度,coeff为决策系数,buffer_size(-1)为当前时刻的缓冲区容量。
其中,所述决策系数通过构建的中期网速得出,所述中期网速的计算公式如下,
smiddle(-1)=0.75·smiddle(-2)+0.25·speed(-1)
其中,smiddle(-1)为中期网速,smiddle(-2)为上一周期的中期网速,speed(-1)为上一周期的下载速度;
在中期网速为(0,0.6]bit/s,决策系数的取值为2.0;在中期网速为(0.6,0.8]bit/s,决策系数的取值为2.3;在中期网速为(0.8,1.4]bit/s,决策系数的取值为2.7;在中期网速为(1.4,2.0]bit/s,决策系数的取值为2.9;在中期网速为(2.0,3.0]bit/s,决策系数的取值为3.0;在中期网速为(3.0,∞)bit/s,决策系数的取值为3.3。
其中,所述根据长期网速确定监测变量的决策阈值,具体包括:
在长期网速为(0,0.8]bit/s,决策阈值的取值为2.6;在长期网速为(0.8,1.4]bit/s,决策阈值的取值为2.4;在长期网速为(1.4,2.0]bit/s,决策阈值的取值为2.1;在长期网速为(2.0,3.0]bit/s,决策阈值的取值为1.9;在长期网速为(3.0,∞)bit/s,决策阈值的取值为1.6。
其中,所述根据长期网速确定监测变量的决策阈值,还包括:构建长期网速,所述长期网速的计算公式如下,
stotal(-1)=0.9·stotal(--2)+0.1·speed(-1)
其中,Stotal(-1)为长期网速,stotal(-2)为上一周期的中期网速,speed(-1)为上一周期的下载速度。
其中,所述根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,具体计算如下:
targtbuffer=a-b*end_delay
其中,targtbuffer为目标缓冲区容量,end_day为当前端到端的时延,a,b均为与长期网速相关的线性系数。
其中,所述线性系数a,b根据长期网速来决策,具体包括:
在长期网速为(0,0.6)bit/s,a的取值为0.6,b的取值为0.06;在长期网速为[0.6,0.85)bit/s,a的取值为1.3,b的取值为0.29;在长期网速为[0.85,1.1)bit/s,a的取值为2.3,b的取值为0.35;在长期网速为[1.1,1.3)bit/s,a的取值为2.45,b的取值为0.43;在长期网速为[1.3,∝)bit/s,a的取值为2.3,b的取值为0.4。
为实现上述目的,本发明采用的第二个技术方案为:提供一种基于决策树的自适应视频流转码装置,包括:
获取模块,用于获取输入的视频流数据,所述输入的视频流数据包括上一周期数据下载量、上一周期的时间间隔、当前时刻的缓冲区容量,以及当前端到端的时延;
构建模块,用于根据上一周期数据下载量及上一周期的时间间隔计算出上一周期的下载速度,根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,以及根据长期网速确定监测变量的决策阈值;
决策模块,用于在进行视频流输出码率决策时,比较监测变量与决策阈值的大小,在同样的决策阈值下,选择最大的监测变量并输出对应的转码码率;在同样的转码码率下,选择最小的决策阈值并输出对应的输出码率;
计算模块,用于根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量。
为实现上述目的,本发明采用的第三个技术方案为:提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明采用的第四个技术方案为:提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
本发明的技术方案主要采用在获取输入的视频流数据后,根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,以及根据长期网速确定监测变量的决策阈值,并根据决策算法计算,在进行视频流输出码率决策时,比较监测变量与决策阈值的大小,在同样的决策阈值下,选择最大的监测变量并输出对应的转码码率;在同样的转码码率下,选择最小的决策阈值并输出对应的输出码率,以及根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,通过对自动视频流的转码,能够解决目前视频流的卡顿、时延的问题,能够帮助用户节省带宽、快速分发视频内容、保证在网络不好的情况下,保证视频流畅播放。
附图说明
图1为本发明一实施例基于决策树的自适应视频流转码方法的方法流程图;
图2为本发明一实施例基于决策树的自适应视频流转码装置的模块方框图;
图3为本发明一实施例计算机设备的内部结构图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
为解决目前直播过程中的视频频繁卡顿的问题,本方案提出了一种基于决策树的自适应视频流转码方法,旨在实现低延时,高码率调节,为用户提供优质视频服务,具体方案请参照下述实施例。
请参照图1,图1为本发明一实施例基于决策树的自适应视频流转码方法的方法流程图。在本发明实施例中,该基于决策树的自适应视频流转码方法,包括:
步骤S10、获取输入的视频流数据,所述输入的视频流数据包括上一周期数据下载量、上一周期的时间间隔、当前时刻的缓冲区容量,以及当前端到端的时延;
步骤S20、根据上一周期数据下载量及上一周期的时间间隔计算出上一周期的下载速度,根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,以及根据长期网速确定监测变量的决策阈值;
步骤S30、在进行视频流输出码率决策时,比较监测变量与决策阈值的大小,在同样的决策阈值下,选择最大的监测变量并输出对应的转码码率;在同样的转码码率下,选择最小的决策阈值并输出对应的输出码率;
步骤S40、根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量。
在视频需要转码播放时,首先在终端可以获取输入的视频流数据,该视频流数据具体包括上一周期的下载速度speed(-1)、当前时刻的缓冲区容量buffer_size,以及当前端到端的时延end_delay。该上一周期的下载速度speed(-1)由如下公式计算得出:
其中,Send_data_size(-1)为上一周期下载的数据量,Time_interval(-1)为上一周期经过的物理时间。再根据上一中后期下载速度speed(-1)及当前时刻的缓冲区容量buffer_size构建监测变量detector,并根据长期网速确定监测变量的决策阈值。在码率输出决策时,比较监测变量detector与决策阈值大小。同样的决策阈值的情况下,监测变量detector数值越大,转码码率的数值也越大;在同样的转码码率的情况下,决策阈值设置越小,输出码率越大,从而决定所采用的输出码率(流畅、标清、高清等)。在转码时,根据根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,以为视频顺畅播放提供缓存,保证输出码率的实时播放。
在一具体的实施方式中,所述根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,包括:
所述监测变量为上一周期的下载速度与决策系数乘以当前时刻的缓冲区容量之和,具体计算公式如下,
detector=speed(-1)+coeff×buffer_size(-1)
其中,detector为监测变量,speed(-1)为上一周期的下载速度,coeff为决策系数,buffer_size(-1)为当前时刻的缓冲区容量。
本实施例中,监测变量与上一周期的下载速度speed(-1),当前时刻的缓冲区容量buffer_size(-1)相关,根据上述关系构建得出监测变量。上述的决策系数可以由决策系数取值表决定。
进一步的,所述决策系数通过构建的中期网速得出,所述中期网速的计算公式如下,
smiddle(-1)=0.75·smiddle(-2)+0.25·speed(-1)
其中,smiddle(-1)为中期网速,Smiddle(-2)为上一周期的中期网速,speed(-1)为上一周期的下载速度;
在中期网速为(0,0.6]bit/s,决策系数的取值为2.0;在中期网速为(0.6,0.8]bit/s,决策系数的取值为2.3;在中期网速为(0.8,1.4]bit/s,决策系数的取值为2.7;在中期网速为(1.4,2.0]bit/s,决策系数的取值为2.9;在中期网速为(2.0,3.0]bit/s,决策系数的取值为3.0;在中期网速为(3.0,∞)bit/s,决策系数的取值为3.3。
本实施例中,决策系数由中期网速决定。决策系数取值如表1,
表1
从表1中可以看出,在中期网速最小(0,0.6]bit/s,对应决策系数取值为2.0;在中期网速最大为(3.0,∞)bit/s,对应决策系数的取值为3.3,中期网速与决策系数的取值大小呈正比关系。也即,中期网速越高,决策系数的取值就会越大,从而提高监测变量,最终越容易取得高码率。
在一具体的实施方式中,所述根据长期网速确定监测变量的决策阈值,具体包括:
在长期网速为(0,0.8]bit/s,决策阈值的取值为2.6;在长期网速为(0.8,1.4]bit/s,决策阈值的取值为2.4;在长期网速为(1.4,2.0]bit/s,决策阈值的取值为2.1;在长期网速为(2.0,3.0]bit/s,决策阈值的取值为1.9;在长期网速为(3.0,∞)bit/s,决策阈值的取值为1.6。
其中,所述根据长期网速确定监测变量的决策阈值,还包括:构建长期网速,所述长期网速的计算公式如下,
stotal(-1)=0.9·stotal(-2)+0.1·speed(-1)
其中,stoml(-1)为长期网速,Stotal(-2)为上一周期的中期网速,speed(-1)为上一周期的下载速度。
本实施例中,上述的决策阈值可以由长期网速来决定。具体的,决策阈值的取值如表2。
s<sub>total</sub>(-1),bit/s | threshold |
(3.0,∞) | 1.6 |
(2.0,3.0] | 1.9 |
(1.4,2.0] | 2.1 |
(0.8,1.4] | 2.4 |
(0,0.8] | 2.6 |
从表2中可以看出,在长期网速最小(0,0.8]bit/s,对应决策阈值取值为2.6;在长期网速最大为(3.0,∞)bit/s,对应决策阈值的取值为1.6,长期网速与决策系数的取值大小呈反比关系。也即,当前长期网速越高,决策阈值的取值就会越小,从而,监测变量的取值就会越容易超过阈值,最终越容易取得较高的码率。最终越容易取得高码率。
在一具体的实施方式中,所述根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,具体计算如下:
targtbuffer=a-b*end_delay
其中,targtbuffer为目标缓冲区容量,end_day为当前端到端的时延,a,b均为与长期网速相关的线性系数。
本实施例中,目标缓冲区容量与当前端到端的时延end_day以及长期网速相关,如此,基于缓冲区大小与时延负相关的事实,将时延作为主要的观测指标,建立长期网速中不同网速情况下的线性拟合关系。
进一步的,所述线性系数a,b根据长期网速来决策,具体包括:
在长期网速为(0,0.6)bit/s,a的取值为0.6,b的取值为0.6;在长期网速为[0.6,0.85)bit/s,a的取值为1.3,b的取值为0.29;在长期网速为[0.85,1.1)bit/s,a的取值为2.3,b的取值为0.35;在长期网速为[1.1,1.3)bit/s,a的取值为2.45,b的取值为0.43;在长期网速为[1.3,∝)bit/ss,a的取值为2.3,b的取值为0.4。
本实施例中,线性系数a,b的取值根据长期网速来决策,a,b的取值如表3。
Speed_total | a,b |
(0,0.6) | 0.6,0.06 |
[0.6,0.85) | 1.3,0.29 |
[0.85,1.1) | 2.3,0.35 |
[1.1,1.3) | 2.45,0.43 |
[1.3,∝) | 2.3.0.4 |
从表3中可以看出,在长期网速最小(0,0.6)bit/s,对应a,b取值分别为0.6,0.06;在长期网速为[1.1,1.3)bit/s,a的取值为2.45,b的取值为0.43。随着长期网速的增加,线性系数a,b的取值也相应增加,且在在长期网速为[1.1,1.3)bit/s,a,b均具有最大取值,分别为2.45,0.43。在长期网速为[1.3,∝)bit/s,a的取值为2.3,b的取值为0.4。随着长期网速的增加,线性系数a,b均会增加,并在长期网速增加到设定值是,a,b的取值具有最大值。
综上,该基于决策树的自适应视频流转码方法,能够应用于各大视频播放场景中,适用于各种视频场景,如直播,下载播放,短视频等。本方案的决策算法能够自动调整码率,保证视频的实时顺利播放,从而实现自动调整视频清晰度,最大程度减少时延,减少卡顿,提高用户体验。
请参照图2,图2为本发明一实施例基于决策树的自适应视频流转码装置的模块方框图。本发明的实施例中,该基于决策树的自适应视频流转码装置,包括:
获取模块10,用于获取输入的视频流数据,所述输入的视频流数据包括上一周期数据下载量、上一周期的时间间隔、当前时刻的缓冲区容量,以及当前端到端的时延;
构建模块20,用于根据上一周期数据下载量及上一周期的时间间隔计算出上一周期的下载速度,根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,以及根据长期网速确定监测变量的决策阈值;
决策模块30,用于在进行视频流输出码率决策时,比较监测变量与决策阈值的大小,在同样的决策阈值下,选择最大的监测变量并输出对应的转码码率;在同样的转码码率下,选择最小的决策阈值并输出对应的输出码率;
计算模块40,用于根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量。
在视频需要转码播放时,通过获取模块10,可以获取输入的视频流数据,该视频流数据具体包括上一周期的下载速度speed(-1)、当前时刻的缓冲区容量buffer_size,以及当前端到端的时延end_delay。再根据构建模块20,根据上一周期的下载速度speed(-1)及当前时刻的缓冲区容量buffer_size构建监测变量detector,并根据长期网速确定监测变量的决策阈值。在码率输出决策时,比较监测变量detector与决策阈值大小。然后通过,决策模块30,在同样的决策阈值的情况下,监测变量detector数值越大,转码码率的数值也越大;在同样的转码码率的情况下,决策阈值设置越小,输出码率越大,从而决定所采用的输出码率(流畅、标清、高清等)。最后,在转码时,通过计算模块40,根据根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,以为视频顺畅播放提供缓存,保证输出码率的实时播放。
在一具体的实施方式中,所述构建模块20,用于计算出监测变量,该监测变量为上一周期的下载速度与决策系数乘以当前时刻的缓冲区容量之和,具体计算公式如下,
detector=speed(-1)+coeff×buffer_size(-1)
其中,detector为监测变量,speed(-1)为上一周期的下载速度,coeff为决策系数,buffer_size(-1)为当前时刻的缓冲区容量。
进一步的,所述决策系数通过构建的中期网速得出,所述中期网速的计算公式如下,
smiddle(-1)=0.75·smiddle(-2)+0.25·speed(-1)
其中,smiddle(-1)为中期网速,smiddle(-2)为上一周期的中期网速,speed(-1)为上一周期的下载速度;
在中期网速为(0,0.6]bit/s,决策系数的取值为2.0;在中期网速为(0.6,0.8]bit/s,决策系数的取值为2.3;在中期网速为(0.8,1.4]bit/s,决策系数的取值为2.7;在中期网速为(1.4,2.0]bit/s,决策系数的取值为2.9;在中期网速为(2.0,3.0]bit/s,决策系数的取值为3.0;在中期网速为(3.0,∞)bit/s,决策系数的取值为3.3。
进一步的,决策模块30,用于根据长期网速确定监测变量的决策阈值,具体包括:
在长期网速为(0,0.8]bit/s,决策阈值的取值为2.6;在长期网速为(0.8,1.4]bit/s,决策阈值的取值为2.4;在长期网速为(1.4,2.0]bit/s,决策阈值的取值为2.1;在长期网速为(2.0,3.0]bit/s,决策阈值的取值为1.9;在长期网速为(3.0,∞)bit/s,决策阈值的取值为1.6。
进一步的,所述根据长期网速确定监测变量的决策阈值,还包括:构建长期网速,所述长期网速的计算公式如下,
stotal(-1)=0.9·stotal(-2)+0.1·speed(-1)
其中,Stotal(-1)为长期网速,Stotal(-2)为上一周期的中期网速,speed(-1)为上一周期的下载速度。
进一步的,所述计算模块40,用于根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,具体计算如下:
targtbuffer=a-b*end_delay
其中,targtbuffer为目标缓冲区容量,end_day为当前端到端的时延,a,b均为与长期网速相关的线性系数。
进一步的,所述线性系数a,b根据长期网速来决策,具体包括:
在长期网速为(0,0.6)bit/s,a的取值为0.6,b的取值为0.6;在长期网速为[0.6,0.85)bit/s,a的取值为1.3,b的取值为0.29;在长期网速为[0.85,1.1)bit/s,a的取值为2.3,b的取值为0.35;在长期网速为[1.1,1.3)bit/s,a的取值为2.45,b的取值为0.43;在长期网速为[1.3,∝)bit/s,a的取值为2.3,b的取值为0.4。
请参照图3,图3为本发明一实施例计算机设备的内部结构图。在一实施例中,该计算机设备包括通过系统总线连接的处理器、存储器及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于决策树的自适应视频流转码方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (9)
1.一种基于决策树的自适应视频流转码方法,其特征在于,所述基于决策树的自适应视频流转码方法,包括:
获取输入的视频流数据,所述输入的视频流数据包括上一周期数据下载量、上一周期的时间间隔、上一周期的长期网速、当前时刻的缓冲区容量,以及当前端到端的时延;
根据上一周期数据下载量及上一周期的时间间隔计算出上一周期的下载速度,根据上一周期的下载速度、决策系数及当前时刻的缓冲区容量构建监测变量,所述监测变量为上一周期的下载速度与决策系数乘以当前时刻的缓冲区容量之和;根据所述上一周期的长期网速与所述上一周期的下载速度之和计算出长期网速,以及根据所述长期网速确定监测变量的决策阈值;
在长期网速为(0,0.8]bit/s,决策阈值的取值为2.6;在长期网速为(0.8,1.4]/bit/s,决策阈值的取值为2.4;在长期网速为(1.4,2.0]bit/s,决策阈值的取值为2.1;在长期网速为(2.0,3.0]bit/s,决策阈值的取值为1.9;在长期网速为(3.0,+∞)bit/s,决策阈值的取值为1.6;
当所述监测变量大于等于所述决策阈值时,采用高码率,当所述监测变量小于所述决策阈值时,采用低码率;
根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,所述线性系数由所述长期网速确定。
2.如权利要求1所述的基于决策树的自适应视频流转码方法,其特征在于,所述根据上一周期的下载速度及当前时刻的缓冲区容量构建监测变量,包括:
所述监测变量为上一周期的下载速度与决策系数乘以当前时刻的缓冲区容量之和,具体计算公式如下,
detector=speed(-1)+coeff×buffer_size(-1)
其中,detector为监测变量,speed(-1)为上一周期的下载速度,coeff为决策系数,buffer_size(-1)为当前时刻的缓冲区容量。
3.如权利要求2所述的基于决策树的自适应视频流转码方法,其特征在于,所述决策系数通过构建的中期网速得出,所述中期网速的计算公式如下,
Smiddle(-1)=0.75·Smiddle(-2)+0.25·speed(-1)
其中,smiddle(-1)为中期网速,smiddle(-2)为上一周期的中期网速,speed(-1)为上一周期的下载速度;
在中期网速为(0,0.6]bit/s,决策系数的取值为2.0;在中期网速为(0.6,0.8]bit/s,决策系数的取值为2.3;在中期网速为(0.8,1.4]bit/s,决策系数的取值为2.7;在中期网速为(1.4,2.0]bit/s,决策系数的取值为2.9;在中期网速为(2.0,3.0]bit/s,决策系数的取值为3.0;在中期网速为(3.0,+∞)bit/s,决策系数的取值为3.3。
4.如权利要求3所述的基于决策树的自适应视频流转码方法,其特征在于,所述根据长期网速确定监测变量的决策阈值,还包括:构建长期网速,所述长期网速的计算公式如下,
stotal(-1)=0.9·stotal(-2)+0.1·speed(-1)
其中,stotal(-1)为长期网速,stotal(-2)为上一周期的长期网速,speed(-1)为上一周期的下载速度。
5.如权利要求4所述的基于决策树的自适应视频流转码方法,其特征在于,所述根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,具体计算如下:
targtbuffer=a-b*end_delay
其中,targtbuffer为目标缓冲区容量,end_delay为当前端到端的时延,a,b均为与长期网速相关的线性系数。
6.如权利要求5所述的基于决策树的自适应视频流转码方法,其特征在于,所述线性系数a,b根据长期网速来决策,具体包括:
在长期网速为(0,0.6)bit/s,a的取值为0.6,b的取值为0.06;在长期网速为[0.6,0.85)bit/s,a的取值为1.3,b的取值为0.29;在长期网速为[0.85,1.1)bit/s,a的取值为2.3,b的取值为0.35;在长期网速为[1.1,1.3)bit/s,a的取值为2.45,b的取值为0.43;在长期网速为[1.3,+∞)bit/s,a的取值为2.3,b的取值为0.4。
7.一种基于决策树的自适应视频流转码装置,其特征在于,所述基于决策树的自适应视频流转码装置,包括:
获取模块,用于获取输入的视频流数据,所述输入的视频流数据包括上一周期数据下载量、上一周期的时间间隔、上一周期的长期网速、当前时刻的缓冲区容量,以及当前端到端的时延;
构建模块,用于根据上一周期数据下载量及上一周期的时间间隔计算出上一周期的下载速度,根据上一周期的下载速度、决策系数及当前时刻的缓冲区容量构建监测变量,所述监测变量为上一周期的下载速度与决策系数乘以当前时刻的缓冲区容量之和;根据所述上一周期的长期网速与所述上一周期的下载速度之和计算出长期网速,以及根据所述长期网速确定监测变量的决策阈值;
决策模块,在长期网速为(0,0.8]bit/s,决策阈值的取值为2.6;在长期网速为(0.8,1.4]/bit/s,决策阈值的取值为2.4;在长期网速为(1.4,2.0]bit/s,决策阈值的取值为2.1;在长期网速为(2.0,3.0]bit/s,决策阈值的取值为1.9;在长期网速为(3.0,+∞)bit/s,决策阈值的取值为1.6;
当所述监测变量大于等于所述决策阈值时,采用高码率,当所述监测变量小于所述决策阈值时,采用低码率;
计算模块,用于根据当前端到端的时延及线性系数计算转码输出的目标缓冲区容量,所述线性系数由所述长期网速确定。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910504719.1A CN110149534B (zh) | 2019-06-12 | 2019-06-12 | 基于决策树的自适应视频流转码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910504719.1A CN110149534B (zh) | 2019-06-12 | 2019-06-12 | 基于决策树的自适应视频流转码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110149534A CN110149534A (zh) | 2019-08-20 |
CN110149534B true CN110149534B (zh) | 2021-06-08 |
Family
ID=67591068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910504719.1A Active CN110149534B (zh) | 2019-06-12 | 2019-06-12 | 基于决策树的自适应视频流转码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110149534B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132765A (zh) * | 2020-01-16 | 2021-07-16 | 北京达佳互联信息技术有限公司 | 码率决策模型训练方法、装置、电子设备及存储介质 |
CN114040245B (zh) * | 2021-11-04 | 2023-12-29 | 广州博冠信息科技有限公司 | 视频播放方法、装置、计算机存储介质和电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103747283A (zh) * | 2013-12-24 | 2014-04-23 | 中国科学院声学研究所 | 视频分片的下载方法 |
CN105744299A (zh) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 动态码率切换方法、服务器及系统 |
CN107071529A (zh) * | 2017-03-29 | 2017-08-18 | 咪咕视讯科技有限公司 | 一种hls视频播放方法、终端及服务器 |
CN108401165A (zh) * | 2017-02-04 | 2018-08-14 | 中国移动通信集团河北有限公司 | 一种视频资源推送的方法、装置及设备 |
CN108933697A (zh) * | 2018-06-30 | 2018-12-04 | 江苏有线数据网络有限责任公司 | 一种宽带质量检测方法 |
CN109218781A (zh) * | 2017-07-07 | 2019-01-15 | 华为软件技术有限公司 | 视频码率控制方法和装置 |
CN109379632A (zh) * | 2018-10-25 | 2019-02-22 | 中国地质大学(武汉) | 一种动态自适应http流的码率渐进切换方法及系统 |
CN109714631A (zh) * | 2019-02-26 | 2019-05-03 | 华南理工大学 | 一种基于http视频流动态自适应码率选择方法 |
CN109803167A (zh) * | 2017-11-17 | 2019-05-24 | 中国电信股份有限公司 | 流媒体文件传输方法、流媒体客户端和计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229371A1 (en) * | 2007-02-22 | 2008-09-18 | Mick Colin K | Digital multimedia network including method and apparatus for high speed user download of digital files |
CN103702237A (zh) * | 2012-09-28 | 2014-04-02 | 北京大学 | Http流媒体的速率自适方法及装置 |
-
2019
- 2019-06-12 CN CN201910504719.1A patent/CN110149534B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103747283A (zh) * | 2013-12-24 | 2014-04-23 | 中国科学院声学研究所 | 视频分片的下载方法 |
CN105744299A (zh) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 动态码率切换方法、服务器及系统 |
CN108401165A (zh) * | 2017-02-04 | 2018-08-14 | 中国移动通信集团河北有限公司 | 一种视频资源推送的方法、装置及设备 |
CN107071529A (zh) * | 2017-03-29 | 2017-08-18 | 咪咕视讯科技有限公司 | 一种hls视频播放方法、终端及服务器 |
CN109218781A (zh) * | 2017-07-07 | 2019-01-15 | 华为软件技术有限公司 | 视频码率控制方法和装置 |
CN109803167A (zh) * | 2017-11-17 | 2019-05-24 | 中国电信股份有限公司 | 流媒体文件传输方法、流媒体客户端和计算机可读存储介质 |
CN108933697A (zh) * | 2018-06-30 | 2018-12-04 | 江苏有线数据网络有限责任公司 | 一种宽带质量检测方法 |
CN109379632A (zh) * | 2018-10-25 | 2019-02-22 | 中国地质大学(武汉) | 一种动态自适应http流的码率渐进切换方法及系统 |
CN109714631A (zh) * | 2019-02-26 | 2019-05-03 | 华南理工大学 | 一种基于http视频流动态自适应码率选择方法 |
Non-Patent Citations (1)
Title |
---|
《无线视频流业务的OoE评估模型及其在传输控制中的应用》;钱力言;《中国优秀硕士学位论文全文数据库》;20160501;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110149534A (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110248247B (zh) | 基于网络吞吐量的嵌入式动态视频播放控制方法及装置 | |
CN110149534B (zh) | 基于决策树的自适应视频流转码方法及装置 | |
US9485289B2 (en) | HTTP streaming client adaptation algorithm based on proportional-integral control | |
CN106162214B (zh) | 视频编码方法及视频直播客户端 | |
CN103733632B (zh) | 带宽变化连接上的动态比特率调节 | |
US8422699B2 (en) | Loudness consistency at program boundaries | |
CN105263037B (zh) | 一种基于客户端缓存的自适应流化方法 | |
CN110087110B (zh) | 应用深度搜索动态调控视频播放的方法及装置 | |
US20140280760A1 (en) | Playback stall avoidance in adaptive media streaming | |
KR20210135338A (ko) | 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법 | |
JP2006115477A (ja) | メディアストリームから得られるメディアの提示を行う方法およびシステム | |
CN110022482A (zh) | 视频起播方法、视频服务系统及存储介质 | |
CN105141985A (zh) | 影视流流畅播放系统及其播放方法 | |
CN112543366A (zh) | 一种视频的播放方法和装置 | |
JP5507770B2 (ja) | ビデオ符号化の方法、装置、プログラム及び記録媒体 | |
CN103152635B (zh) | 一种解决播放时间跳变的方法及客户端 | |
CN106453270B (zh) | 基于pi控制流媒体的自适应传输算法 | |
CN109218722B (zh) | 一种视频编码方法、装置及设备 | |
CN109769125B (zh) | 流媒体码率的动态调整方法、媒体服务器及转码服务器 | |
CN109347967A (zh) | 一种获取音视频数据的方法及装置 | |
CN104506631A (zh) | 一种音频文件缓存方法和设备 | |
CN109257633B (zh) | 一种环境感知的HTTP自适应流媒体QoE优化方法 | |
Zhang et al. | A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http | |
CN105516994B (zh) | 一种带宽分配方法和设备 | |
Wang et al. | Hybrid control-based ABR: Towards low-delay live 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 |