CN110087109B - 视频码率自适应方法、装置、电子设备及存储介质 - Google Patents
视频码率自适应方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110087109B CN110087109B CN201910316758.9A CN201910316758A CN110087109B CN 110087109 B CN110087109 B CN 110087109B CN 201910316758 A CN201910316758 A CN 201910316758A CN 110087109 B CN110087109 B CN 110087109B
- Authority
- CN
- China
- Prior art keywords
- video block
- current video
- video
- code rate
- cache
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000003044 adaptive effect Effects 0.000 claims description 34
- 230000006978 adaptation Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000005259 measurement Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/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/637—Control signals issued by the client directed to the server or network components
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种视频码率自适应方法及装置。其中,方法包括:获取当前视频块对应的特征;根据当前视频块对应的特征,获取当前视频块的下载码率,以使得客户端向服务端发送下载当前视频块的请求,以获取当前视频块对应的以下载码率编码的文件;其中,当前视频块对应的特征至少包括缓存特征;缓存特征,用于表示若干个视频块对应的文件在服务端的缓存中命中的情况。本发明实施例提供的视频码率自适应方法及装置,在进行码率决策时,考虑视频块对应的文件在服务端的缓存中是否命中的情况,能做出更为准确的决策、获取更准确的下载码率,能提升在存在边缘节点的情况下视频码率自适应方法的性能。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种视频码率自适应方法、装置、电子设备及存储介质。
背景技术
基于HTTP的动态自适应流媒体(DASH,Dynamic Adaptive Streaming over HTTP)是目前互联网视频的主要传输方式。在基于DASH的自适应流媒体应用中,一个视频文件通常会被分成多个分块,每个视频块独立存储在服务器上,一个分块的播放时长通常为几秒钟。每个视频块都以多种比特率进行编码,其中较高的比特率意味着较高的播放质量,并具有较大的文件大小。在视频流媒体应用中,由于网络状态的动态变化,码率自适应算法(ABR,Adaptive Bit-rate)被用于根据网络状态、视频播放器缓存区大小等因素决定下载视频的码率,从而达到提供尽可能提高用户视频观看体验的目的。
现有的ABR方法可以分为三类:基于带宽估计的ABR方法、基于缓存区大小的ABR方法,以及联合带宽估计和缓冲区大小的ABR方法。
通过基于HTTP协议进行视频传输,视频内容提供商可以很方便的利用现有内容分发网络(CDN,Content Delivery Network)基础设施,同时由于HTTP协议的广泛兼容性,也使得视频业务得以快速应用。通过内容分发网络将视频传输给客户端时,在视频传输路径由于缓存的存在,现有的ABR方法无法获取更准确的下载码率,会导致出现视频码率抖动,即频繁在高码率视频块和低码率视频块之间切换,造成了用户体验的下降,性能不佳。
发明内容
本发明实施例提供一种视频码率自适应方法及装置,用以解决或者至少部分地解决现有视频码率自适应方法性能不佳的缺陷。
第一方面,本发明实施例提供一种视频码率自适应方法,包括:
获取当前视频块对应的特征;
根据所述当前视频块对应的特征,获取所述当前视频块的下载码率,以使得客户端向服务端发送下载所述当前视频块的请求,以获取所述当前视频块对应的以所述下载码率编码的文件;
其中,所述当前视频块对应的特征至少包括缓存特征;所述缓存特征,用于表示若干个视频块对应的文件在所述服务端的缓存中命中的情况;
所述若干个视频块对应的文件在所述服务端的缓存中命中的情况,是指任一文件在所述服务端的缓存中命中或未命中;
所述服务端为内容分发网络中的边缘节点。
第二方面,本发明实施例提供一种视频码率自适应装置,包括:
特征获取模块,用于获取当前视频块对应的特征;
码率决策模块,用于根据所述当前视频块对应的特征,获取所述当前视频块的下载码率,以使得客户端向服务端发送下载所述当前视频块的请求,以获取所述当前视频块对应的以所述下载码率编码的文件;
其中,所述当前视频块对应的特征至少包括缓存特征;所述缓存特征,用于表示若干个视频块对应的文件在所述服务端的缓存中命中的情况;
所述若干个视频块对应的文件在所述服务端的缓存中命中的情况,是指任一文件在所述服务端的缓存中命中或未命中;
所述服务端为内容分发网络中的边缘节点。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,执行所述程序时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的视频码率自适应方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的视频码率自适应方法的步骤。
本发明实施例提供的视频码率自适应方法及装置,在进行码率决策时,考虑视频块对应的文件在服务端的缓存中是否命中的情况,能做出更为准确的决策、获取更准确的下载码率,能提升在存在边缘节点的情况下视频码率自适应方法的性能,避免频繁在高码率视频块和低码率视频块之间切换,能极大地减少视频码率抖动的出现,能提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例提供的视频码率自适应方法的流程示意图;
图2为根据本发明实施例提供的视频码率自适应装置的结构示意图;
图3为根据本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术的上述问题,本发明实施例提供一种视频码率自适应方法及装置,其发明构思是,进行码率决策时,除了基于带宽估计和/或缓冲区大小之外,还进行缓存感知,考虑内容分发网络节点的缓存命中情况,能极大地减少视频码率抖动,从而避免频繁在高码率视频块和低码率视频块之间切换导致的视频的用户体验的下降,大大提高视频码率自适应方法的性能。
图1为根据本发明实施例提供的视频码率自适应方法的流程示意图。如图1所示,方法包括:步骤S101、获取当前视频块对应的特征。
其中,当前视频块对应的特征至少包括缓存特征;缓存特征,用于表示若干个视频块对应的文件在服务端的缓存中命中的情况。
需要说明的是,本发明实施例提供的视频码率自适应方法的执行主体为视频码率自适应装置。该装置可以部署于客户端侧,也可以部署于服务端侧,还可以部署于既非客户端侧也非服务端侧的位置。
客户端,为视频块的请求方;服务端,为视频块的提供方。服务端,可以是内容分发网络中的任一节点。本发明实施例提供的视频码率自适应方法,尤其适用于服务端为内容分发网络中的边缘节点的情况。
内容分发网络中,某一视频分割成的各视频块对应的以各可选下载码率编码的文件,都存储于中心节点中,该中心节点可以为视频服务器。
缓存服务器为边缘节点,缓存服务器会将部分视频块对应的文件存储于自身的缓存中。客户端与任一缓存服务器进行通信时,客户端与该缓存服务器之间构成接入链路。
若客户端请求的视频块对应的文件存储于该缓存服务器的缓存中(即在该缓存服务器的缓存中命中),客户端直接从该缓存服务器下载到所请求的文件。
若客户端请求的视频块对应的文件未存储于该缓存服务器的缓存中(即未在该缓存服务器的缓存中命中),则该缓存服务器需要经过其他缓存服务器从另一缓存服务器或中心节点获取客户端所请求的文件,存储于自身的缓存中之后,客户端才能从该缓存服务器下载到所请求的文件。该缓存服务器经过其他缓存服务器至上述另一缓存服务器或中心节点的链路为回源链路。
在该缓存服务器通过回源链路获取客户端所请求的文件的过程中,客户端会重复进行缓冲。因此,通常的视频码率自适应方法,当服务端为中心节点或距离中心较近的节点(例如位于省会城市的CDN节点)时,由于中心节点和距离中心较近的节点均具有极高的缓存命中率(位于省会城市的CDN节点缓存命中率通常会达到95%甚至更高),不容易因为视频块的缓存命中情况不同,导致频繁在高码率视频块和低码率视频块之间切换;但随着用户对视频质量要求的提高,越来越多的CDN节点被部署在距离用户更近的位置(例如比如地市甚至区县),这些节点为边缘节点,距离中心节点越来越远,因而这些节点的缓存命中率非常低(例如在LTE网络中,无线接入网侧的缓存命中率仅为30%左右),导致视频块的缓存命中情况不同、缓冲的耗时不同导致缓冲区中空闲空间的大小不同,由于无法预知哪些视频块是从边缘节点的缓存中获取的,而哪些又是从视频服务器中获取的,容易对网络状态造成误判,从而造成频繁在高码率视频块和低码率视频块之间切换,出现码率抖动。
当前视频块,指按照视频块的顺序,客户端请求播放的视频还未确定下载码率的视频块中的第一个视频块。
本发明实施例中,获取当前视频块对应的特征时,除了获取通常的视频码率自适应方法所需要获取的当前视频块对应的特征之外,还从服务端获取与服务端的缓存相关的信息(即缓存感知),作为当前视频块对应的缓存特征,并将通常的视频码率自适应方法所需要获取的当前视频块对应的特征和当前视频块对应的缓存特征,共同作为本发明实施例中当前视频块对应的特征。
缓存特征,用于表示若干个视频块对应的文件在服务端的缓存中命中的情况。视频块对应的文件,指某一视频块对应的以某一可选下载码率编码的文件。命中的情况,指命中或未命中。若干个,指一个或多个。
若干个视频块对应的文件,包括上述若干个视频块中的每一视频块对应的一个或多个文件。
根据若干个视频块对应的文件在服务端的缓存中命中的情况,在之后根据当前视频块对应的特征,获取当前视频块的下载码率的过程中,可以将哪些视频块是从边缘节点的缓存中获取的,哪些是从视频服务器中获取的也作为码率决策的依据,从而能做出更为准确的决策,提升在存在边缘节点的情况下视频码率自适应方法的性能。
步骤S102、根据当前视频块对应的特征,获取当前视频块的下载码率,以使得客户端向服务端发送下载当前视频块的请求,以获取当前视频块对应的以下载码率编码的文件。
具体地,视频码率自适应装置获得当前视频块对应的特征之后,可以根据预先获得的模型和当前视频块对应的特征,获得当前视频块的下载码率。
预先获得的模型,可以是具有固定控制规则的公式或通过任一种机器学习方法进行训练获得的模型。
具有固定控制规则的公式中,自变量为当前视频块对应的特征,因变量为当前视频块的下载码率;根据当前视频块对应的特征和具有固定控制规则的公式,即可计算出当前视频块的下载码率
对于通过机器学习方法进行训练获得的模型,将当前视频块对应的特征输入该模型,即可获得输出的当前视频块的下载码率。
视频码率自适应装置获得当前视频块的下载码率之后,将当前视频块的下载码率发送至客户端,客户端向服务端发送下载当前视频块的请求,请求下载当前视频块对应的以该下载码率编码的文件。
服务端接收该下载请求后,将当前视频块对应的以该下载码率编码的文件发送至客户端。
本发明实施例在进行码率决策时,考虑视频块对应的文件在服务端的缓存中是否命中的情况,能做出更为准确的决策、获取更准确的下载码率,能提升在存在边缘节点的情况下视频码率自适应方法的性能,避免频繁在高码率视频块和低码率视频块之间切换,能极大地减少视频码率抖动的出现,能提高用户体验。并且,更有可能选择存储在服务端的缓存中的当前视频块对应的文件,进一步提高视频播放质量指标和服务端的缓存利用率。
基于上述各实施例的内容,缓存特征至少包括:请求命中指示和当前视频块的可用状态中的一个。
请求命中指示,用于表示下载当前视频块的请求的前k个下载视频块的请求所请求的文件,是否在服务端的缓存中命中。
当前视频块的可用状态,用于表示当前视频块对应的以各可选下载码率编码的文件,是否已存储于服务端的缓存中。
具体地,下载当前视频块的请求的前k个下载视频块的请求,指分别下载当前视频块的前k个视频块的请求。其中,k为正整数。
例如:当前视频块为第(k+1)个视频块,则当前视频块的前k个视频块指第1个、第2个、…、第k个视频块,下载当前视频块的请求的前k个下载视频块的请求,包括下载第1个视频块的请求、下载第2个视频块的请求、…、下载第k个视频块的请求;当前视频块为第(k+2)个视频块,则当前视频块的前k个视频块指第2个、第3个、…、第(k+1)个视频块,下载当前视频块的请求的前k个下载视频块的请求,包括下载第2个视频块的请求、下载第3个视频块的请求、…、下载第(k+1)个视频块的请求;依此类推。
可以理解的是,对于当前视频块的前k个视频块中任一视频块,下载该视频块的请求所请求的文件,为该视频块对应的以该视频块的下载码率编码的文件。该视频块的下载码率,是通过本发明任一实施例提供的视频码率自适应方法获取的。
请求命中指示由k个元素构成,构成一个向量。上述k个元素可以按照视频块的顺序,依次表示当前视频块的前k个视频块中每一视频块以该视频块的下载码率编码的文件是否在服务端的缓存中命中(即请求下载该文件时是否已存储于服务端的缓存中)。命中可以用1表示,未命中可以用0表示。
可以理解的是,基于DASH的自适应流媒体应用中,每个视频块都以多种码率进行编码,生成该视频块对应的以上述每一码率进行编码的文件。上述每一码率,均为该视频块的可选下载码率。因此,每一视频块对应多个文件;该视频块对应的每一个文件,对应一个可选下载码率,是以该可选下载码率编码的文件。
当前视频块的可用状态由m个元素构成,构成一个向量,作为当前视频块的缓存状态向量。上述m个元素,可以按照码率的大小顺序,依次表示当前视频块对应的以每一可选下载码率编码的文件是否已存储于服务端的缓存中。已存储可以用1表示,未存储可以用0表示。
本发明实施例将下载当前视频块的请求的前k个下载视频块的请求所请求的文件是否在服务端的缓存中命中,和当前视频块对应的以各可选下载码率编码的文件是否已存储于服务端的缓存中中的至少一个作为缓存特征,能更好地表征视频块对应的文件在服务端的缓存中是否命中的情况,从而能做出更为准确的决策、获取更准确的下载码率,能提升视频码率自适应方法的性能和用户体验。
基于上述各实施例的内容,当前视频块对应的特征还包括:当前视频块对应的视频缓冲区特征和带宽特征中的至少一种。
其中,视频缓冲区特征,用于表示客户端的视频缓冲区的占用和空闲情况;带宽特征,用于表示下载若干个视频块时的网络传输情况。
具体地,当前视频块对应的特征还可以包括当前视频块对应的视频缓冲区特征,或者包括当前视频块对应的带宽特征,或者包括当前视频块对应的视频缓冲区特征和对应的带宽特征。
客户端上存在视频缓冲区,用于存储已下载但还未播放完的视频块。其中,已下载的视频块,指该视频块对应的以该视频块的下载码率编码的文件已存储于视频缓冲区中。
可以理解的是,对于视频缓冲区中的视频块,若该视频块已播放完,则客户端会删除视频缓冲区中的该视频块。
根据下载和播放的进度,视频缓冲区中的空闲空间会发生变化,空闲空间的大小也会限制请求下载的当前视频块对应的文件的大小,而当前视频块对应的文件的大小与码率有关,因此,可以将客户端的视频缓冲区的占用和空闲情况作为当前视频块对应的视频缓冲区特征,并将当前视频块对应的视频缓冲区特征,也作为码率决策时的依据。
网络传输情况,决定了视频块的下载速度和下载时间,下载速度越慢更适合获取更小的文件,下载速度越块更适合获取更大的文件,而当前视频块对应的文件的大小与码率有关,因此,可以将下载若干个视频块时的网络传输情况作为当前视频块对应的带宽特征,并将当前视频块对应的带宽特征,也作为码率决策时的依据。
本发明实施例在进行码率决策时,还考虑当前视频块对应的视频缓冲区特征和/或带宽特征,能做出更为准确的决策、获取更准确的下载码率,能提升视频码率自适应方法的性能和用户体验。
基于上述各实施例的内容,视频缓冲区特征至少包括:客户端的视频缓冲区当前空闲空间的大小。
具体地,视频缓冲区特征至少包括客户端的视频缓冲区当前空闲空间的大小。
视频缓冲区的大小,受限于客户端的资源。
视频缓冲区当前空闲空间的大小,指获取该特征是,视频缓冲区中除已下载但还未播放完的视频块所占的占用空间之外,剩余的空间的大小。剩余的空间,即空闲空间。
本发明实施例在进行码率决策时,还考虑当前视频块对应的视频缓冲区特征,能做出更为准确的决策、获取更准确的下载码率,能提升视频码率自适应方法的性能和用户体验。
基于上述各实施例的内容,视频缓冲区特征至少包括:当前视频块的前k个视频块的吞吐率、吞吐率测量的时间间隔、当前视频块的前k个视频块的下载时间和接入带宽中的一个。
具体地,吞吐率,是某一时刻客户端接入的网络对视频块的现实传输能力,则移动网络环境中主要受信号强弱影响。
当前视频块的前k个视频块的吞吐率,指分别在下载当前视频块的前k个视频块中的每一视频块对应的以该视频块的下载码率编码的文件的过程中,通过测量获得的吞吐率。
对于当前视频块的前k个视频块中的每一视频块,可以用平均吞吐率作为该视频块的吞吐率。
视频块的下载时间,指下载该视频块的耗时。
当前视频块的前k个视频块的下载时间,指分别下载当前视频块的前k个视频块中的每一视频块对应的以该视频块的下载码率编码的文件所需要的时间。
接入带宽,指客户端所接入的网络的带宽。
带宽指单位时间能通过链路的数据量。通常以bps来表示,即每秒可传输之位数。
本发明实施例在进行码率决策时,还考虑当前视频块对应的带宽特征,能做出更为准确的决策、获取更准确的下载码率,能提升视频码率自适应方法的性能和用户体验。
基于上述各实施例的内容,当前视频块对应的特征还包括:上一视频块的下载码率、未被下载的视频块的数量和当前视频块的各可选下载码率中的至少一个。
具体地,获取当前视频块对应的特征时,还需要获取上一视频块的下载码率、未被下载的视频块的数量和当前视频块的各可选下载码率,也作为当前视频块对应的特征。
获取未被下载的视频块的数量时,可以计入当前视频块,也可以不计入当前视频块。
本发明实施例还通过获取上一视频块的下载码率、未被下载的视频块的数量和当前视频块的各可选下载码率中的至少一个作为当前视频块对应的特征,能做出更为准确的决策、获取更准确的下载码率,能提升视频码率自适应方法的性能和用户体验。
基于上述各实施例的内容,根据当前视频块对应的特征,获取当前视频块的下载码率的具体步骤包括:将当前视频块对应的特征输入至码率决策模型,输出当前视频块的下载码率。
其中,码率决策模型,是基于样本视频各视频块的特征、下载码率和视频播放质量指标进行训练后得到的。
具体地,获取客户端请求播放的视频的第一个视频块对应的特征之前,可以通过任一种机器学习方法,基于样本视频各视频块的特征、下载码率和视频播放质量指标进行训练,获得码率决策模型。
码率决策模型,可以是基于支持向量机、遗传算法和任一种人工神经网络等机器学习方法构建的。
每一视频块的视频播放质量(QoE)指标,可以根据用户已收到的每一视频块的回报、用户已收到的每一视频块的下载码率,以及下载已收到的每一视频块的过程中重缓冲的次数等因素确定。已收到的各视频块,包括该视频块。
获得码率决策模型之后,将当前视频块对应的特征输入至该码率决策模型,即可获得该码率决策模型输出的当前视频块的下载码率。
为了便于对本发明上述各实施例提供的视频码率自适应方法,下面通过一个实例进行说明。
Pensieve方法是一个通常的基于联合带宽估计和缓冲区大小的视频码率自适应方法。将通常的Pensieve方法中加入缓存特征,即是一种本发明实施例提供的视频码率自适应方法。
Pensieve采用一种深度强化学习方法来获得一种更有效的码率决策模型。Pensieve训练一个神经网络模型,根据客户端视频播放器收集的观察结果,为将来的视频块选择下载码率。Pensieve可以自主学习,适应各种环境和QoE指标。在训练开始间,Pensieve对码率决策一无所知,然后通过强化逐渐学习,作出更好的ABR决策,以奖励信号的形式反馈过去的视频播放质量。Pensieve基于关于操作环境的所有可用的信息来优化码率决策,在不考虑缓存特征的视频码率自适应方法中,具有更好的性能。
Pensieve通过训练两个神经网络,生成一个基于深度强化学习的码率决策模型。Pensieve的学习代理将当前样本视频块的特征,包括过去若干个样本视频块的下载速率和视频缓冲区当前剩余大小等,输入到神经网络中。一旦接收到特征的输入,Pensieve的代理将对当前样本视频块采取与码率决策相对应的操作。
Pensieve使用神经网络来表示码率决策模型,用策略梯度actor-critic算法来训练该模型。critic网络帮助训练actor网络,训练后,只需要actor网络来执行码率决策并输出下载码率。
为了进一步加强和加快训练,Pensieve使用16个并行代理,每个学习代理被配置为体验不同的一组输入特征,最后由中央代理聚合所有代理信息,以生成一个码率决策模型。
获得码率决策模型之后,对于当前视频块(第t+1个视频块),输入到码率决策模型中的特征包括:当前视频块的前k个视频块的吞吐率当前视频块的前k个视频块的下载时间当前视频块的m个可选下载码率客户端的视频缓冲区当前空闲空间的大小bt、未被下载的视频块的数量ct和上一视频块的下载码率lt。当前视频块对应的特征可以表示为
其中,包括xt,xt-1,…,xt-k+1,包括τt,τt-1,…,τt-k+1,包括n1,n2,…,nm;xt表示第t个视频块的吞吐率;τt表示第t个视频块的下载时间;n1表示当前视频块的第一个可选下载码率。
将通常的Pensieve方法中加入缓存特征获得的一种本发明实施例提供的视频码率自适应方法中,当前视频块对应的特征中除了当前视频块的前k个视频块的吞吐率当前视频块的前k个视频块的下载时间当前视频块的m个可选下载码率客户端的视频缓冲区当前空闲空间的大小bt、未被下载的视频块的数量ct和上一视频块的下载码率lt之外,加入请求命中指示和当前视频块的可用状态
包括ht,ht-1,…,ht-k+1;包括q1,q2,…,qm;ht表示第t个视频块对应的以第t个视频块的下载码率编码的文件是否在服务端的缓存中命中;q1表示当前视频块对应的以当前视频块的第一个可选下载码率编码的文件是否已存储于服务端的缓存中。
获取相同测试条件下,获得通过通常的Pensieve方法获得的Pensieve-with-cache模型和通过加入缓存特征之后的Pensieve方法获得的Pensieve-cache-aware模型在不同接入带宽(分别为3Mbps、5Mbps、8Mbps和10Mbps)下的平均QoE指标,并进行比较。可以看出,Pensieve-cache-aware模型的平均QoE明显优于Pensieve-with-cache模型,特别是当缓存命中率低于100%时。对于缓存命中率为40%和60%(可能是边缘缓存的大多数情况),不同接入带宽下QoE改进的平均百分比分别达到70.0%和71.2%。
可以理解的是,本发明实施例提供的方法不限于是在通常的Pensieve方法中引入缓存特征获得的,还可以通过在其他任一中ABR方法中引入缓存特征获得。
图2为根据本发明实施例提供的视频码率自适应装置的结构示意图。基于上述各实施例的内容,如图2所示,该装置包括特征获取模块201和码率决策模块202,其中:
特征获取模块201,用于获取当前视频块对应的特征;
码率决策模块202,用于根据当前视频块对应的特征,获取当前视频块的下载码率,以使得客户端向服务端发送下载当前视频块的请求,以获取当前视频块对应的以下载码率编码的文件;
其中,当前视频块对应的特征至少包括缓存特征;缓存特征,用于表示若干个视频块对应的文件在服务端的缓存中命中的情况。
具体地,特征获取模块201获取当前视频块对应的特征时,除了获取通常的视频码率自适应方法所需要获取的当前视频块对应的特征之外,还从服务端获取与服务端的缓存相关的信息(即缓存感知),作为当前视频块对应的缓存特征,并将通常的视频码率自适应方法所需要获取的当前视频块对应的特征和当前视频块对应的缓存特征,共同作为本发明实施例中当前视频块对应的特征。
码率决策模块202可以根据预先获得的模型和当前视频块对应的特征,获得当前视频块的下载码率。
预先获得的模型,可以是具有固定控制规则的公式或通过任一种机器学习方法进行训练获得的模型。
本发明实施例提供的视频码率自适应装置,用于执行本发明上述各实施例提供的视频码率自适应方法,该视频码率自适应装置包括的各模块实现相应功能的具体方法和流程详见上述视频码率自适应方法的实施例,此处不再赘述。
该视频码率自适应装置用于前述各实施例的视频码率自适应方法。因此,在前述各实施例中的视频码率自适应方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
本发明实施例在进行码率决策时,考虑视频块对应的文件在服务端的缓存中是否命中的情况,能做出更为准确的决策、获取更准确的下载码率,能提升在存在边缘节点的情况下视频码率自适应方法的性能,避免频繁在高码率视频块和低码率视频块之间切换,能极大地减少视频码率抖动的出现,能提高用户体验。并且,更有可能选择存储在服务端的缓存中的当前视频块对应的文件,进一步提高视频播放质量指标和服务端的缓存利用率。
图3为根据本发明实施例提供的电子设备的结构框图。基于上述实施例的内容,如图3所示,该电子设备可以包括:处理器(processor)301、存储器(memory)302和总线303;其中,处理器301和存储器302通过总线303完成相互间的通信;处理器301用于调用存储在存储器302中并可在处理器301上运行的计算机程序指令,以执行上述各方法实施例所提供的视频码率自适应方法,例如包括:获取当前视频块对应的特征;根据当前视频块对应的特征,获取当前视频块的下载码率,以使得客户端向服务端发送下载当前视频块的请求,以获取当前视频块对应的以下载码率编码的文件;其中,当前视频块对应的特征至少包括缓存特征;缓存特征,用于表示若干个视频块对应的文件在服务端的缓存中命中的情况。
本发明另一实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的视频码率自适应方法,例如包括:获取当前视频块对应的特征;根据当前视频块对应的特征,获取当前视频块的下载码率,以使得客户端向服务端发送下载当前视频块的请求,以获取当前视频块对应的以下载码率编码的文件;其中,当前视频块对应的特征至少包括缓存特征;缓存特征,用于表示若干个视频块对应的文件在服务端的缓存中命中的情况。
此外,上述的存储器302中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明另一实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的视频码率自适应方法,例如包括:获取当前视频块对应的特征;根据当前视频块对应的特征,获取当前视频块的下载码率,以使得客户端向服务端发送下载当前视频块的请求,以获取当前视频块对应的以下载码率编码的文件;其中,当前视频块对应的特征至少包括缓存特征;缓存特征,用于表示若干个视频块对应的文件在服务端的缓存中命中的情况。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行上述各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种视频码率自适应方法,其特征在于,包括:
获取当前视频块对应的特征;
根据所述当前视频块对应的特征,获取所述当前视频块的下载码率,以使得客户端向服务端发送下载所述当前视频块的请求,以获取所述当前视频块对应的以所述下载码率编码的文件;
其中,所述当前视频块对应的特征至少包括缓存特征;所述缓存特征,用于表示若干个视频块对应的文件在所述服务端的缓存中命中的情况;
所述若干个视频块对应的文件在所述服务端的缓存中命中的情况,是指任一文件在所述服务端的缓存中命中或未命中;
所述服务端为内容分发网络中的边缘节点。
2.根据权利要求1所述的视频码率自适应方法,其特征在于,所述缓存特征至少包括:
请求命中指示和所述当前视频块的可用状态中的一个;
所述请求命中指示,用于表示所述下载所述当前视频块的请求的前k个下载视频块的请求所请求的文件,是否在所述服务端的缓存中命中;
所述当前视频块的可用状态,用于表示所述当前视频块对应的以各可选下载码率编码的文件,是否已存储于所述服务端的缓存中。
3.根据权利要求1所述的视频码率自适应方法,其特征在于,所述当前视频块对应的特征还包括:
所述当前视频块对应的视频缓冲区特征和带宽特征中的至少一种;
其中,所述视频缓冲区特征,用于表示所述客户端的视频缓冲区的占用和空闲情况;所述带宽特征,用于表示下载若干个视频块时的网络传输情况。
4.根据权利要求3所述的视频码率自适应方法,其特征在于,所述视频缓冲区特征至少包括:
所述客户端的视频缓冲区当前空闲空间的大小。
5.根据权利要求3所述的视频码率自适应方法,其特征在于,所述视频缓冲区特征至少包括:
所述当前视频块的前k个视频块的吞吐率、吞吐率测量的时间间隔、所述当前视频块的前k个视频块的下载时间和接入带宽中的一个。
6.根据权利要求3所述的视频码率自适应方法,其特征在于,所述当前视频块对应的特征还包括:
上一视频块的下载码率、未被下载的视频块的数量和所述当前视频块的各可选下载码率中的至少一个。
7.根据权利要求1至6任一所述的视频码率自适应方法,其特征在于,所述根据所述当前视频块对应的特征,获取所述当前视频块的下载码率的具体步骤包括:
将所述当前视频块对应的特征输入至码率决策模型,输出所述当前视频块的下载码率;
其中,所述码率决策模型,是基于样本视频各视频块的特征、下载码率和视频播放质量指标进行训练后得到的。
8.一种视频码率自适应装置,其特征在于,包括:
特征获取模块,用于获取当前视频块对应的特征;
码率决策模块,用于根据所述当前视频块对应的特征,获取所述当前视频块的下载码率,以使得客户端向服务端发送下载所述当前视频块的请求,以获取所述当前视频块对应的以所述下载码率编码的文件;
其中,所述当前视频块对应的特征至少包括缓存特征;所述缓存特征,用于表示若干个视频块对应的文件在所述服务端的缓存中命中的情况;
所述若干个视频块对应的文件在所述服务端的缓存中命中的情况,是指任一文件在所述服务端的缓存中命中或未命中;
所述服务端为内容分发网络中的边缘节点。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的视频码率自适应方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的视频码率自适应方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910316758.9A CN110087109B (zh) | 2019-04-19 | 2019-04-19 | 视频码率自适应方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910316758.9A CN110087109B (zh) | 2019-04-19 | 2019-04-19 | 视频码率自适应方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110087109A CN110087109A (zh) | 2019-08-02 |
CN110087109B true CN110087109B (zh) | 2020-09-29 |
Family
ID=67415700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910316758.9A Expired - Fee Related CN110087109B (zh) | 2019-04-19 | 2019-04-19 | 视频码率自适应方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110087109B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111092929B (zh) * | 2019-11-08 | 2022-11-18 | 北京字节跳动网络技术有限公司 | 文件下发方法、装置及电子设备 |
CN113014969B (zh) | 2019-12-19 | 2022-06-07 | 花瓣云科技有限公司 | 视频播放的控制方法、终端设备、服务器和存储介质 |
CN111083483B (zh) * | 2019-12-31 | 2022-09-23 | 北京奇艺世纪科技有限公司 | 一种视频编码码率确定方法、装置、电子设备及存储介质 |
CN111212301B (zh) * | 2020-01-09 | 2021-10-08 | 鹏城实验室 | 一种视频码率的匹配方法、存储介质及终端设备 |
WO2021156194A1 (en) * | 2020-02-04 | 2021-08-12 | Dolby International Ab | Method and device for adaptive playout of media content |
US20210279222A1 (en) * | 2020-03-09 | 2021-09-09 | Vimeo, Inc. | Dynamic Buffer Lookahead in Adaptive Streaming Using Machine Learning |
CN112291620A (zh) * | 2020-09-22 | 2021-01-29 | 北京邮电大学 | 视频播放方法、装置、电子设备及存储介质 |
CN112565606B (zh) * | 2020-12-02 | 2022-04-01 | 鹏城实验室 | 全景视频智能传输方法、设备及计算机存储介质 |
CN113099273B (zh) * | 2021-04-07 | 2021-12-14 | 中南大学 | 一种基于机会策略的视频块替换方法、客户端、服务器、系统及可读存储介质 |
CN117979050B (zh) * | 2024-04-01 | 2024-07-12 | 深圳市创百智能科技有限公司 | 一种直播视频数据优化录制存储方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835180A (zh) * | 2017-11-14 | 2018-03-23 | 烽火通信科技股份有限公司 | 一种视频倍数播放的方法和系统 |
CN108769726A (zh) * | 2018-06-14 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 多媒体数据推送方法、装置、存储介质及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8787570B2 (en) * | 2011-08-31 | 2014-07-22 | Sonic Ip, Inc. | Systems and methods for automatically genenrating top level index files |
CN103313091A (zh) * | 2012-09-27 | 2013-09-18 | 中兴通讯股份有限公司 | 倍速播放方法、装置及系统 |
CN104320681B (zh) * | 2014-11-07 | 2018-03-09 | 百视通网络电视技术发展有限责任公司 | 一种cdn回源服务的方法及系统 |
CN105915945A (zh) * | 2015-12-08 | 2016-08-31 | 乐视云计算有限公司 | 用于cdn平台的内容分发方法及调度代理服务器 |
CN107040615B (zh) * | 2017-06-22 | 2021-07-02 | 深圳Tcl数字技术有限公司 | 媒体分片的下载方法、终端和计算机可读存储介质 |
CN107835437B (zh) * | 2017-10-20 | 2018-10-09 | 广东省南方数字电视无线传播有限公司 | 基于多缓存服务器的调度方法和装置 |
CN108063955B (zh) * | 2017-12-15 | 2020-02-11 | 重庆邮电大学 | 基于状态机的动态自适应视频传输的码率切换方法 |
-
2019
- 2019-04-19 CN CN201910316758.9A patent/CN110087109B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835180A (zh) * | 2017-11-14 | 2018-03-23 | 烽火通信科技股份有限公司 | 一种视频倍数播放的方法和系统 |
CN108769726A (zh) * | 2018-06-14 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 多媒体数据推送方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110087109A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110087109B (zh) | 视频码率自适应方法、装置、电子设备及存储介质 | |
Sengupta et al. | HotDASH: Hotspot aware adaptive video streaming using deep reinforcement learning | |
CN103535047B (zh) | 流式传输视频内容的方法、监视视频内容流的网络中的节点 | |
CN110636339B (zh) | 基于码率的调度方法、装置及电子设备 | |
WO2017031692A1 (zh) | 视频下载方法、装置及系统 | |
CN104780199A (zh) | 在客户端下载多媒体内容即将到来的分段的方法及终端 | |
CN107135411B (zh) | 一种调整视频码率的方法及电子设备 | |
JP5673538B2 (ja) | 配信システム | |
CN110809167B (zh) | 一种视频播放方法、装置、电子设备及存储介质 | |
US20160212054A1 (en) | Multiple Protocol Media Streaming | |
CN106686409A (zh) | 一种流媒体码率自适应方法及装置、服务器、终端 | |
US12108115B2 (en) | Method for playing on a player of a client device a content streamed in a network | |
CN107920108A (zh) | 一种媒体资源的推送方法、客户端及服务器 | |
CN108833995B (zh) | 一种无线网络环境中自适应流媒体的传输方法 | |
CN105245562A (zh) | 操作高速缓存器的方法以及对应的高速缓存器 | |
JP5804060B2 (ja) | パラメータ推定装置、パラメータ推定方法、及び、パラメータ推定プログラム | |
US20220191260A1 (en) | Method for playing on a player of a client device a content streamed in a network | |
KR102129115B1 (ko) | 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 | |
CA3168479C (en) | Method for playing on a player of a client device a content streamed in a network | |
Lin et al. | KNN-Q learning algorithm of bitrate adaptation for video streaming over HTTP | |
US20140101330A1 (en) | Method and apparatus for streaming multimedia contents | |
CN113454934B (zh) | 多服务器通信系统中的下载控制 | |
Bokani et al. | Empirical evaluation of mdp-based dash player | |
Chen et al. | Dynamic Adaptive Streaming based on Deep Reinforcement Learning | |
Nguyen et al. | Reinforcement Learning-based Adaptation and Scheduling Methods for Multi-source DASH |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200929 |