CN108900874A - 一种基于svc-dash框架的流媒体自适应请求方法及其装置 - Google Patents
一种基于svc-dash框架的流媒体自适应请求方法及其装置 Download PDFInfo
- Publication number
- CN108900874A CN108900874A CN201810947883.5A CN201810947883A CN108900874A CN 108900874 A CN108900874 A CN 108900874A CN 201810947883 A CN201810947883 A CN 201810947883A CN 108900874 A CN108900874 A CN 108900874A
- Authority
- CN
- China
- Prior art keywords
- fragment
- seg
- enhancement layer
- segmentation
- downloading
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000012634 fragment Substances 0.000 claims abstract description 168
- 230000011218 segmentation Effects 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims abstract description 10
- 230000001965 increasing effect Effects 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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 or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440227—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- 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/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64723—Monitoring of network processes or resources, e.g. monitoring of network load
- H04N21/64738—Monitoring network characteristics, e.g. bandwidth, congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种基于SVC‑DASH框架的流媒体自适应请求方法及其装置,涉及视频编码和HTTP动态流媒体传输领域;本发明中,请求下载基本层的过程为:判断当前播放分段的下一分段的基本层分片是否已下载至缓冲区,如否,则依次下载后续每个分段的基本层分片,直至缓存区长度达到上限值B;如是,再判断下一分段的基本层分片是否已下载至缓冲区,以此类推,直至缓存长度达到上限值B;请求下载增强层的过程与请求下载基本层的过程类似;本发明中还加入了宽带预测以及增强层分片有效性判别的步骤。本发明的方法和装置均解决了现有方法在移动网络环境下普遍存在的码率切换频繁、不能有效克服缓存区下溢导致的播放中断以及不能充分利用带宽资源的问题。
Description
技术领域
本发明涉及视频编码和HTTP动态流媒体传输领域,尤其涉及一种面向移动网络的基于SVC-DASH框架的流媒体自适应请求方法及其装置。
背景技术
近年来,随着互联网技术和移动智能终端的迅速发展,以文字和图片为载体的传统静态媒体服务已经越来越不能满足用户的需要,形式更为丰富的视频业务在网络数据总流量中占据的比重日益增长,各界对视频业务特别是移动网络下的视频传输技术也越来越重视。在这种情况下,一种新兴的基于HTTP的流媒体动态自适应技术DASH(DynamicAdaptive Streaming over HTTP)应运而生。DASH的工作机理如下:服务器端将同一视频内容编码成不同码率的视频版本并分割成时间轴上连续且时长固定的流媒体分片(Segment),进而将视频本身的属性信息和视频分片信息写入XML格式的MPD(MediaPresentation Description)文件中,MPD文件结构由周期(Period)、适应集(AdaptationSet)、呈现(Representaiton)、分片(Segment)等各级标签嵌套组成;客户端下载并解析MPD文件,从中获取服务器端视频详细信息,并根据网络带宽、缓存大小等因素动态选择合适码率的分片,在防止播放端缓存溢出或枯竭的同时,实现视频的流畅播放。
然而,DASH技术这种多次编码的方式会显著增加服务器的负担。随着网络缓存节点的增多,视频数量的增长,这个问题将会变得更加突出。相关研究表明,将可伸缩编码(Scalable Video Coding)技术应用到DASH技术中,可以很好地解决上述问题。SVC是H.264/AVC的扩展,它具有“一次编码、多次解码”的特点。一个视频只需用SVC技术编码压缩一次,就可以解码出不同码率级别的视频。SVC码流由一个基本层(Base layer)和若干个增强层(Enhancement layer)组成,且较高层必须依赖较低层才可以解码出视频内容。基本层数据提供最低观看质量的视频,而增强层数据可从时域(Temporal)、空间域(Spatial)和图像信噪比(SNR)三方面来逐层増加视频的观看质量,层数越多视频质量越好。将一个SVC格式视频的各层映射成DASH流媒体呈现(Representation),可构成SVC-DASH框架。相比于传统DASH框架,SVC-DASH框架不需将同一视频编码成不同码率的多个视频版本,因此可大幅节省服务器存储空间。另外,在传统DASH框架下,某个分片一旦被客户端接收,则其码率等级无法再被改变;而在SVC-DASH框架下,客户端可以采用分片叠加的方式,灵活改变某个已下载而未播放的流媒体分片码率等级,自适应方式可以更加灵活和细粒度。
流媒体自适应技术一个很重要的方面是自适应策略或方法。现有文献提出的SVC-DASH框架下的自适应策略或方法,在移动网络环境下普遍存在码率切换频繁、不能有效克服缓存区下溢导致的播放中断、不能充分利用带宽资源等问题。
发明内容
本发明的目的在于:为解决现有的流媒体自适应请求方法在移动网络环境下普遍存在码率切换频繁、不能有效克服缓存区下溢导致的播放中断以及不能充分利用带宽资源的问题,本发明提供一种面向移动网络的基于SVC-DASH框架的流媒体自适应请求方法及其装置。
一方面,本发明提供的一种基于SVC-DASH框架的流媒体自适应请求方法,包括:
步骤1:服务器端存储SVC格式视频分片和MPD文件。
步骤2:客户端向建立连接后的服务器发起HTTP-GET请求,下载并解析MPD文件,得到服务器端视频详细信息。
步骤3:客户端根据MPD文件中的URL地址,发起HTTP-GET请求,请求下载分片,并存储至缓存区,客户端启动播放器,取出缓存中已存储的分片合并成分段,然后逐帧进行解码播放;请求下载分片的步骤包括:
步骤3.1:请求下载基本层;判断当前播放分段Segi的下一分段的基本层分片Segi+1,0是否已下载至缓冲区,如否,则依次下载后续每个分段的基本层分片Segi+1,0、Segi+2,0…,直至缓存长度达到上限值B;如是,再判断下一分段的基本层分片Segi+2,0是否已下载至缓冲区,以此类推,直至缓存长度达到上限值B。
步骤3.2:请求下载增强层;判断当前播放分段Segi的下一分段的增强层分片Segi+1,j是否已下载至缓冲区,如否,则依次下载后续每个分段的增强层分片Segi+1,j、Segi+3,j…Segi+B,j;如是,再判断下一分段的增强层分片Segi+2,j是否已下载至缓冲区,以此类推,直到判断至分片Segi+B,j。
步骤3.3:根据播放进度实时判断缓存状况,如缓存长度仍然为B,则按照步骤3.2的方法依次请求、下载、存储每一分段的更高一层的增强层分片;如缓存长度小于B,则返回至步骤3.1。
上述步骤中,i表示分片的段编号,i∈[0,N-1],N表示分段数;j表示分片的层编号,j∈[0,L],L表示增强层的总层数。
在较差的网络状况下,当分段Segi已被播放、而增强层分片Segi,j尚未被下载完成时,分片Segi,j会因为无法解码播放而成为无效分片,从而造成数据资源浪费,为解决此问题,进一步地,在进行步骤3.2的过程中,同时进行如下步骤:
步骤3A:在下载后续每一个增强层分片前,根据预测带宽值,预测下载此增强层分片的时间,在时间轴上,如果预测下载时间大于此增强层分片所在分段的起始播放时刻与当前播放时刻的差值,则放弃下载此增强层分片。
具体地,所述步骤3A中,采用加权平均法预测带宽值,具体包括如下步骤:
(1)计算下载第n个分片时的实际带宽值:
其中,Segsizen表示第n个分片的大小,分别为下载第n个分片的起始时刻和终止时刻。
(2)计算下载第n+1个分片时的预测带宽值:
其中,δ为权重系数,δ的取值范围为(0,1),p和δ符合logistic函数模型。
具体地:
其中,k和p0为常数,p和δ符合logistic函数模型。
具体地,所述步骤3A中,根据预测带宽值计算下载此增强层分片的时间的具体过程以及判别是否跳过下载此增强层分片的具体过程为:
当前预测带宽值为BWe,时间轴上,当前客户端正播放至视频的t0时刻,当前待下载的增强层分片为Segi,j,它的起始位置对应着视频的T*i时刻;
下载分片Segi,j所用的预测时间如果满足如下条件则下载分片Segi,j:
即:
其中,T为单个分片的时长,rj为第j层视频的码率;
否则,跳过下载此增强层分片至下一增强层分片;在下载下一增强层分片时,也按照此步骤的方法来判定。
另一方面,本发明提供的一种基于SVC-DASH框架的流媒体自适应请求装置,包括:
请求下载模块。
解码播放模块,用于将缓存区中已下载的分片合并成分段并播放视频。
其中,请求下载模块包括:
基本层分片下载子模块,用于对缓冲区的基本层分片进行请求并下载;其请求规则如下:判断当前播放分段Segi的下一分段的基本层分片Segi+1,0是否已下载至缓冲区,如否,则依次下载后续每个分段的基本层分片Segi+1,0、Segi+2,0…,直至缓存区长度达到上限值B;如是,再判断下一分段的基本层分片Segi+2,0是否已下载至缓冲区,以此类推,直至缓存长度达到上限值B。
增强层分片下载子模块,用于对缓冲区的基本层分片进行请求并下载;其请求规则如下:判断当前播放分段Segi的下一分段的增强层分片Segi+1,j是否已下载至缓冲区,如否,则依次下载后续每个分段的增强层分片Segi+1,j、Segi+3,j…Segi+B,j。如是,再判断下一分段的增强层分片Segi+2,j是否已下载至缓冲区,以此类推,直到判断至分片Segi+B,j。
进一步地,此装置还包括:
带宽预测模块,用于预测下载某个分片时的带宽;
增强层分片下载有效性判别模块,用于根据待下载的后续增强层分片所在分段的起始播放时刻与客户端当前播放时刻的差值来进行有效性判别,判别规则为:在时间轴上,如果此增强层分片所在分段的起始播放时刻与当前播放时刻的差值小于预测下载此增强层分片的时间,则判别此增强层分片无效,放弃下载此增强层分片;反之,则有效,下载此增强层分片。
采用上述方案后,本发明的有益效果如下:
(1)本发明先在缓存上限内优先横向下载每个分段的基本层分片,可以较快填充缓存区,能有效对抗缓存区下溢,减少播放中断次数和中断时间。
(2)本发明在缓存上限内横向逐层提升缓存区中已下载而未播放的分段码率,可以将视频码率最大限度地保持在同一级别,最小化码率切换次数和切换幅度,实现更好的平滑效果。
(3)在网络状况不好的情况下下载增强层时,本发明通过增强层分片下载有效性判别的限制避免了无效分片的下载,减少了网络资源的浪费;在网络状况较好时,本发明可以将缓存区中已下载而未播放的分段码率提升到最高级别,能够有效避免缓存区上溢,充分利用网络资源。
总之,与已有的自适应方法相比,本方法在请求和下载的过程中,不是单一地逐一判决某个分段的码率级别,而是在综合考虑整体缓存区填充状态的前提下逐层进行自适应,可以更好地提升移动用户的观看体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
图1为本发明请求下载基本层分片的流程图;
图2为本发明请求下载增强层分片的流程图;
图3为本发明增强层分片下载有效性判别策略流程图;
图4为本发明的装置模块结构关系图;
图5为本发明SVC-DASH框架示意图;
图6为本发明SVC码流拆分与合并示意图;
图7为本发明SVC-DASH框架下MPD文件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
SVC-DASH框架由服务器端、移动传输网络、客户端三部分组成。服务器端存储SVC格式视频分片和MPD文件;客户端执行自适应请求方法。
在SVC-DASH框架下,不同呈现的分片在解码时存在依赖关系。图7表示了这种依赖关系。为了表述方便,基本层表示为BL,各个增强层分别表示为EL1,EL2……ELL,其中,下标L为增强层的总层数,如图5所示。单个分片表示为Segi,j,其中,i表示分片的段编号,i∈[0,N-1],N=视频总时长/单个分片时长;j表示分片的层编号,j∈[0,L]。客户端可以根据依赖关系,将段编号相同的分片Segi,j进行逐层叠加成为一个Segi,本文称其为分段。对于Segi,其基本层分片和1~L各增强层分片分别标记为Segi,0、Segi,1、…Segi,j、…Segi,L。
本发明的基于SVC-DASH框架的流媒体自适应请求方法及装置,在综合考虑整体缓存区填充状态的前提下,从基本层到各个增强层逐层进行自适应,而非像现有技术中一个分段一个分段地逐一判决码率级别。
下面,将结合具体实施方式,对本发明进行更加清楚、完整的说明。
实施例1
本实施例的一种基于SVC-DASH框架的流媒体自适应请求方法,本实施例的方法对应一基于SVC-DASH框架的流媒体自适应请求装置,如图4所示,此装置与现有技术相同的是:包括服务端和客户端,服务器端用于存储SVC格式视频分片和MPD文件,客户端执行分层自适应请求方法;此装置与现有技术不同的是:客户端包括请求下载模块、宽带预测模块、增强层分片下载有效性判别模块和播放模块,其中,请求下载模块包括基本层分片请求子模块和增强层分片请求子模块。下面,将结合具体步骤与本实施例的模块,对本发明进行详细说明。
本实施例的步骤包括:
步骤1:服务器端存储SVC格式视频分片和MPD文件。与现有技术相同,SVC格式编码的视频,视频数据被分别封装成一系列网络抽象层单元NALU(Network Abstraction LayerUnit)。每个NALU由视频数据和一个单元头组成,单元头携带SVC的可伸缩信息,包括分辨率、帧率和图像信噪比。在生成分片时,利用可伸缩信息将一个个的NALU按照解码的先后顺序装配成不同视频层。针对某一层,根据帧率和帧数,以单个分片的时长T为单位,将此层分割成一个个的分片,如图5所示。完成对视频的分割后,将相关信息写入MPD文件中,包括视频时长、分辨率、帧率、段编号、层编号、单个分片时长、分片的URL地址等。
步骤2:客户端向建立HTTP连接后的服务器发起请求,下载并解析MPD文件,得到服务器端视频详细信息。
步骤1和步骤2与现有技术相同,本发明的改进部分在步骤3。
步骤3:客户端根据MPD文件中的URL地址,客户端启动播放器,取出缓存中已存储的分片Segi,0、Segi,1、Segi,2…合并成分段Segi,然后由解码播放模块逐帧进行解码播放;如图6所示,合成分段的过程就是解析NALU的头部信息、重新装配NALU的过程。具体地,请求下载分片的步骤包括:
步骤3.1:如图1所示,基本层分片请求子模块请求下载基本层;判断当前播放分段Segi的下一分段的基本层分片Segi+1,0是否已下载至缓冲区,如否,则依次下载后续每个分段的基本层分片Segi+1,0、Segi+2,0…,直至缓存区长度达到上限值B;如是,再判断下一分段的基本层分片Segi+2,0是否已下载至缓冲区,以此类推,直至缓存长度达到上限值B。
步骤3.2:如图2所示,增强层分片请求子模块请求下载增强层;判断当前播放分段Segi的下一分段的增强层分片Segi+1,j是否已下载至缓冲区,如否,则依次下载后续每个分段的增强层分片Segi+1,j、Segi+3,j…Segi+B,j;如是,再判断下一分段的增强层分片Segi+2,j是否已下载至缓冲区,以此类推,直到判断至分片Segi+B,j。
步骤3.3:根据播放进度实时判断缓存状况,如缓存长度仍然为B,则按照步骤3.2的方法依次请求、下载、存储每一分段的更高一层的增强层分片;如缓存长度小于B,则返回至步骤3.1。
实施例2
在实施例1的基础上,在进行步骤3.2的过程中,同时进行如下步骤:
在进行步骤3.2的过程中,同时进行如下判别步骤:
步骤3A:如图3所示,在时间轴上,客户端播放当前视频且下载后续增强层分片前,宽带预测模块根据预测带宽值计算下载此增强层分片的时间;增强层分片下载有效性判别模块进行判别,如果此增强层分片所在分段的起始播放时刻与当前播放时刻的差值小于下载此增强层分片的预测时间,则放弃下载此增强层分片。具体而言,当前预测带宽值为BWe,当前客户端正播放至视频的t0时刻,当前待下载的增强层分片为Segi,j,它的起始位置对应着视频的T*i时刻;下载分片Segi,j所用的预测时间如果满足如下条件则下载分片Segi,j:
即:
其中,T为单个分片的时长,rj为第j层视频的码率(不包括j层解码所依赖的层);
否则,放弃下载此增强层分片,在请求下载增强层分片时,也按照此步骤的方法来判定。
本实施例中,采用加权平均法预测带宽值,具体包括如下步骤:
(1)计算下载第n个分片时的实际带宽值:
其中,Segsizen表示第n个分片的大小,分别为下载第n个分片的起、止时刻;
(2)计算下载第n+1个分片时的预测带宽值:
其中,δ为权重系数,δ的取值范围为(0,1),p和δ符合logistic函数模型;
其中,k和p0为常数,p和δ符合logistic函数模型。
从δ的计算过程可以看出,当带宽变化较大时,为了保证对网络变化的敏感性,δ值也较大,预测带宽值较接近上一个分片的实际带宽值;当带宽变化较小时,为了保证带宽预测值的平滑性,δ的值也较小,那么带宽预测值就较接近历史情况。
值得一提的是,预测带宽的方法也有其他的现有技术,比如滑动窗口宽带预测法,本实施例中,优选的采用加权平均法。
下面,在实施例2的基础上,再结合具体数值进行说明。
如图5所示。假设整个视频中,单个分片的时长T=2秒,帧率Frate=24帧/秒,缓存上限值B=12秒。
首先,客户端从基本层分片Seg0,0开始下载,此基本层分片Seg0,0下载完成后,解码播放模块解码并从此分段中的第1帧开始播放分段Seg0。同时,请求下载模块依次请求下载分片Seg1,0、Seg2,0、Seg3,0……,下载的同时,预测BWe值。
当Seg6,0下载完成时,假设此时解码播放模块已播放至视频的第1秒(第24帧),如箭头P1所指位置,此时缓存长度已达到上限值B。
然后开始下载增强层EL1。增强层分片下载有效性判别模块判别得知,Seg1,1满足增强层分片下载有效性判别模块的判别条件,于是请求下载Seg1,1。按同样方法依次判别、请求并下载Seg2,1至Seg6,1,并且边下载分配边预测BWe值。
当Seg6,1下载完成时,假设此时解码播放模块已播放至视频的第4秒(第97帧),如箭头P2所指位置,此时缓存长度小于上限值B。
此时转至基本层,请求下载Seg7,0至Seg8,0,并且边下载边预测BWe值。当Seg8,0下载完成时,假设此时播放器已播放至视频的第5秒(第120帧),如箭头P3所指位置,此时缓存长度又达到上限值B。
然后开始下载增强层EL1,用增强层分片下载有效性模块的判别条件依次判别、请求、下载Seg7,1至Seg8,1,并且边下载边预测BWe值。当Seg8,1下载完成时,假设此时播放器已播放至视频的第6秒(第143帧),如箭头P4所指位置。此时缓存长度已达到上限值B。
然后开始下载增强层EL2,增强层分片下载有效性模块判别Seg3,2不满足判别条件。如果此时请求下载请求下载Seg3,2,在它被下载完成时,会出现分段Seg3已被解码播放的情况,分片Seg3,2将成为无效分片,进而判别得知分片Seg4,2满足判别条件。于是放弃请求分片Seg3,2,转而请求下载分片Seg4,2。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种基于SVC-DASH框架的流媒体自适应请求方法,其特征在于,包括:
步骤1:服务器端存储SVC格式视频分片和MPD文件;
步骤2:客户端向建立连接后的服务器发起HTTP-GET请求,下载并解析MPD文件,得到服务器端视频详细信息;
步骤3:客户端根据MPD文件中的URL地址,发起HTTP-GET请求,请求下载分片并存储至缓存区,客户端启动播放器,取出缓存中已存储的分片合并成分段,然后逐帧进行解码播放;请求下载分片的步骤包括:
步骤3.1:请求下载基本层;判断当前播放分段Segi的下一分段的基本层分片Segi+1,0是否已下载至缓冲区,如否,则依次下载后续每个分段的基本层分片Segi+1,0、Segi+2,0…,直至缓存长度达到上限值B;如是,再判断下一分段的基本层分片Segi+2,0是否已下载至缓冲区,以此类推,直至缓存长度达到上限值B;
步骤3.2:请求下载增强层;判断当前播放分段Segi的下一分段的增强层分片Segi+1,j是否已下载至缓冲区,如否,则依次下载后续每个分段的增强层分片Segi+1,j、Segi+3,j…Segi+B,j;如是,再判断下一分段的增强层分片Segi+2,j是否已下载至缓冲区,以此类推,直到判断至分片Segi+B,j;
步骤3.3:根据播放进度实时判断缓存状况,如缓存长度仍然为B,则按照步骤3.2的方法依次请求、下载、存储每一分段的更高一层的增强层分片;如缓存长度小于B,则返回至步骤3.1;
上述步骤中,i表示分片的段编号,i∈[0,N-1],N表示分段数;j表示分片的层编号,j∈[0,L],L表示增强层的总层数。
2.根据权利要求1的一种基于SVC-DASH框架的流媒体自适应请求方法,其特征在于,在进行步骤3.2的过程中,同时进行如下判别步骤:
步骤3A:在下载后续每一个增强层分片前,根据预测带宽值,预测下载此增强层分片的时间,在时间轴上,如果预测下载时间大于此增强层分片所在分段的起始播放时刻与当前播放时刻的差值,则放弃下载此增强层分片。
3.根据权利要求2的一种基于SVC-DASH框架的流媒体自适应请求方法,其特征在于,所述步骤3A中,采用加权平均法预测带宽值,具体包括如下步骤:
(1)计算下载第n个分片时的实际带宽值:
其中,Segsizen表示第n个分片的大小,分别为下载第n个分片的起始时刻和终止时刻;
(2)计算下载第n+1个分片时的预测带宽值:
其中,δ为权重系数,δ的取值范围为(0,1);
具体地:
其中,k和p0为常数,p和δ符合logistic函数模型。
4.根据权利要求2的一种基于SVC-DASH框架的流媒体自适应请求方法,其特征在于,所述步骤3A中,根据预测带宽值,计算下载此增强层分片的时间的具体过程以及判别是否跳过下载此增强层分片的具体过程为:
当前预测带宽值为BWe,时间轴上,当前客户端正播放至视频的t0时刻,当前待下载的增强层分片为Segi,j,它的起始位置对应着视频的T*i时刻;
下载分片Segi,j所用的预测时间如果满足如下条件则下载分片Segi,j:
即:
其中,T为单个分片的时长,rj为第j层视频的码率;
否则,跳过下载此增强层分片至下一增强层分片;在下载下一增强层分片时,也按照此步骤的方法来判定。
5.一种基于SVC-DASH框架的流媒体自适应请求装置,其特征在于,包括:
请求下载模块;
解码播放模块,用于将缓存区中已下载的分片合并成分段并播放视频;
其中,请求下载模块包括:
基本层分片下载子模块,用于对缓冲区的基本层分片进行请求并下载;其请求规则如下:判断当前播放分段Segi的下一分段的基本层分片Segi+1,0是否已下载至缓冲区,如否,则依次下载后续每个分段的基本层分片Segi+1,0、Segi+2,0…,直至缓存区长度达到上限值B;如是,再判断下一分段的基本层分片Segi+2,0是否已下载至缓冲区,以此类推,直至缓存长度达到上限值B;
增强层分片下载子模块,用于对缓冲区的基本层分片进行请求并下载;其请求规则如下:判断当前播放分段Segi的下一分段的增强层分片Segi+1,j是否已下载至缓冲区,如否,则依次下载后续每个分段的增强层分片Segi+1,j、Segi+3,j…Segi+B,j;如是,再判断下一分段的增强层分片Segi+2,j是否已下载至缓冲区,以此类推,直到判断至分片Segi+B,j。
6.根据权利要求5所示的一种基于SVC-DASH框架的流媒体自适应请求装置,其特征在于,还包括:
带宽预测模块,用于预测下载某个分片时的带宽;
增强层分片下载有效性判别模块,用于根据待下载的后续增强层分片所在分段的起始播放时刻与客户端当前播放时刻的差值来进行有效性判别,判别规则为:在时间轴上,如果此增强层分片所在分段的起始播放时刻与当前播放时刻的差值小于预测下载此增强层分片的时间,则判别此增强层分片无效,放弃下载此增强层分片;反之,则有效,下载此增强层分片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947883.5A CN108900874B (zh) | 2018-08-20 | 2018-08-20 | 一种基于svc-dash框架的流媒体自适应请求方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947883.5A CN108900874B (zh) | 2018-08-20 | 2018-08-20 | 一种基于svc-dash框架的流媒体自适应请求方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108900874A true CN108900874A (zh) | 2018-11-27 |
CN108900874B CN108900874B (zh) | 2020-12-22 |
Family
ID=64354780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810947883.5A Active CN108900874B (zh) | 2018-08-20 | 2018-08-20 | 一种基于svc-dash框架的流媒体自适应请求方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108900874B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586414A (zh) * | 2020-04-07 | 2020-08-25 | 南京师范大学 | 一种基于svc和dash的360°视频流调度方法 |
CN113747229A (zh) * | 2021-08-03 | 2021-12-03 | 上海交通大学 | 一种切片大小预测和自适应码率控制方法、系统及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120035831A (ko) * | 2010-10-06 | 2012-04-16 | 한국전자통신연구원 | 스케일러블 비디오 코딩 기반의 스트리밍 서비스를 위한 랜덤 액세스 지원 방법 |
CN104270646A (zh) * | 2014-09-22 | 2015-01-07 | 何震宇 | 一种基于移动流媒体的自适应传输方法和系统 |
CN104811746A (zh) * | 2015-03-31 | 2015-07-29 | 康佳集团股份有限公司 | 利用多重连接实现svc与dash相结合的方法及系统 |
US20160134677A1 (en) * | 2013-07-16 | 2016-05-12 | Bitmovin Gmbh | Apparatus and method for cloud assisted adaptive streaming |
CN106028057A (zh) * | 2016-05-05 | 2016-10-12 | 北京邮电大学 | 一种移动ccn中可伸缩编码的自适应流媒体内容的缓存方法 |
CN107113476A (zh) * | 2015-01-12 | 2017-08-29 | 诺基亚技术有限公司 | 用于视频流的方法、装置以及计算机可读存储介质 |
-
2018
- 2018-08-20 CN CN201810947883.5A patent/CN108900874B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120035831A (ko) * | 2010-10-06 | 2012-04-16 | 한국전자통신연구원 | 스케일러블 비디오 코딩 기반의 스트리밍 서비스를 위한 랜덤 액세스 지원 방법 |
US20160134677A1 (en) * | 2013-07-16 | 2016-05-12 | Bitmovin Gmbh | Apparatus and method for cloud assisted adaptive streaming |
CN104270646A (zh) * | 2014-09-22 | 2015-01-07 | 何震宇 | 一种基于移动流媒体的自适应传输方法和系统 |
CN107113476A (zh) * | 2015-01-12 | 2017-08-29 | 诺基亚技术有限公司 | 用于视频流的方法、装置以及计算机可读存储介质 |
CN104811746A (zh) * | 2015-03-31 | 2015-07-29 | 康佳集团股份有限公司 | 利用多重连接实现svc与dash相结合的方法及系统 |
CN106028057A (zh) * | 2016-05-05 | 2016-10-12 | 北京邮电大学 | 一种移动ccn中可伸缩编码的自适应流媒体内容的缓存方法 |
Non-Patent Citations (3)
Title |
---|
朱海波: "可伸缩视频编码传输速率控制技术研究", 《中国博士学位论文全文数据库》 * |
熊丽荣等: "一种基于HTTP自适应流的混合码流自适应算法", 《计算机科学》 * |
赵姝丽: "信息网络中心中可伸缩视频的分发缓存方法", 《通信技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586414A (zh) * | 2020-04-07 | 2020-08-25 | 南京师范大学 | 一种基于svc和dash的360°视频流调度方法 |
CN111586414B (zh) * | 2020-04-07 | 2022-04-15 | 南京师范大学 | 一种基于svc和dash的360°视频流调度方法 |
CN113747229A (zh) * | 2021-08-03 | 2021-12-03 | 上海交通大学 | 一种切片大小预测和自适应码率控制方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108900874B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10623785B2 (en) | Streaming manifest quality control | |
US7028096B1 (en) | Method and apparatus for caching for streaming data | |
CN102823223B (zh) | 恢复流传输为块的内容的方法 | |
EP3022884B1 (en) | Quality optimization with buffer and horizon constraints in adaptive streaming | |
CN104967884B (zh) | 一种码流切换方法和装置 | |
CN104519372B (zh) | 一种流媒体播放的切换方法和系统 | |
CN103370709B (zh) | 用于分段多媒体的缓存管理器以及用于缓存管理的相应方法 | |
Krishnappa et al. | DASHing YouTube: An analysis of using DASH in YouTube video service | |
KR102144557B1 (ko) | 비디오 데이터의 대체 스트림들의 인코딩시 인코딩 정보의 재사용을 위한 시스템들 및 방법들 | |
EP2360923A1 (en) | Method for selectively requesting adaptive streaming content and a device implementing the method | |
US10735744B2 (en) | Adaptive bitrate streaming techniques | |
CN103210642B (zh) | 在http流送期间发生表达切换时传送用于自然再现的可缩放http流的方法 | |
CN108063955B (zh) | 基于状态机的动态自适应视频传输的码率切换方法 | |
KR20150042191A (ko) | 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들 | |
CN106686409B (zh) | 一种流媒体码率自适应方法及装置、服务器、终端 | |
CN107509120A (zh) | 一种基于缓冲区下溢概率估计的流媒体自适应传输方法 | |
CN105872722A (zh) | 一种在线视频起播缓冲系统和方法 | |
CN108900874A (zh) | 一种基于svc-dash框架的流媒体自适应请求方法及其装置 | |
CN106716962A (zh) | 向客户端自适应流传输媒体内容的服务器,方法和计算机程序产品 | |
KR102304476B1 (ko) | 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 | |
CN109348233B (zh) | 一种层间回填自适应svc-dash播放方法 | |
CN115988267B (zh) | 一种基于dash的视频码率自适应调整方法及系统 | |
Xie et al. | A Quality-driven Bit Rate Adaptation Method for Dynamic Adaptive Streaming over HTTP | |
CN109121020A (zh) | 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备 | |
TW201427398A (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 |