CN107995502B - 实现自适应流媒体的方法和设备以及系统 - Google Patents
实现自适应流媒体的方法和设备以及系统 Download PDFInfo
- Publication number
- CN107995502B CN107995502B CN201610946715.5A CN201610946715A CN107995502B CN 107995502 B CN107995502 B CN 107995502B CN 201610946715 A CN201610946715 A CN 201610946715A CN 107995502 B CN107995502 B CN 107995502B
- Authority
- CN
- China
- Prior art keywords
- layer
- data
- coding
- client
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 13
- 230000003044 adaptive effect Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 229910010888 LiIn Inorganic materials 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 14
- 230000007246 mechanism Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000012634 fragment Substances 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 101100297853 Caenorhabditis elegans plr-1 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000009123 feedback regulation Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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 or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements 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/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
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开一种实现自适应流媒体的方法和设备以及系统,涉及互联网环境下的流媒体领域。该自适应流媒体技术由服务器驱动,通过结合分层视频编码以及非对等错误保护的信道编码,可以在多变的网络环境下有效保障流媒体的传输质量,避免带宽估计不准确造成的用户体验的损伤,提高流媒体对于网络环境的自适应性,为用户带来更为流畅清晰的播放体验,并且节约服务器的存储资源,方便服务提供商或网络运营商介入对流媒体进行管理和控制。
Description
技术领域
本发明涉及互联网环境下的流媒体领域,特别涉及一种实现自适应流媒体的方法、服务器和客户端及其组成的系统。
背景技术
自适应流媒体传输技术中的一种典型代表是DASH(DynamicAdaptive Streamingover HTTP,基于超文本传输协议的动态自适应流)技术。DASH是一种客户端驱动的自适应流媒体技术,该技术的自适应机制大部分是在客户端完成的,服务器只负责根据客户端的请求发送相应的媒体流给客户端。因此,这种传输机制决定了以DASH为代表的这类HTTP自适应流媒体传输技术仍然存在很多缺陷:
首先,客户端对网络带宽的估计不够准确。客户端根据之前若干时间内的接收速率来估计当前的网络带宽,由于实际的网络环境是瞬息万变的,因此这种估计算法存在很大的不准确性,这会导致自适应性能的损失,最终影响用户的播放体验。
其次,DASH技术需要服务器按照不同的比特率、分辨率等对视频源进行编码,生成多个版本的视频流,以便客户端根据估计的网络环境在不同版本的媒体流之间进行切换,实现媒体流的自适应。这种方法实际上会造成HTTP缓存服务器存储空间的浪费,因为客户端每个周期仅会请求某一个版本的媒体分片,那么此时其余版本的媒体片段将成为服务器的冗余信息。
再次,DASH是客户端驱动的自适应流媒体技术,这导致内容提供商、网络运营商很难参与到流媒体的管理和控制中来。
发明内容
本发明所要解决的一个技术问题是:以客户端驱动的自适应流媒体技术存在的上述至少一种缺陷。
本发明的第一个方面,提供了一种实现自适应流媒体的方法,包括:服务器对视频流进行分层视频编码生成具有不同质量分层的基本层以及若干增强层,其中基本层具有最高的重要等级,增强层中的低层级具有不低于高层级的重要等级;服务器根据各层的重要等级对各层数据进行卢比变换编码,其中重要等级越高的层所对应的卢比变换编码的度越低;服务器将编码得到的数据传输到客户端进行播放。
本发明的第二个方面,提供了一种实现自适应流媒体的方法,包括:客户端接收服务器传输的编码数据;客户端根据各层的卢比变换编码的度对各层数据进行信道解码,其中卢比变换编码的度越低的层越被优先解码;客户端对信道解码得到的各层数据进行分层信源解码,其中基本层被优先解码,增强层中重要等级越高的层越被优先解码;客户端根据信源解码得到的不同层的数据情况,为用户播放不同清晰程度的视频画面。
本发明的第三个方面,提供了一种实现自适应流媒体的服务器,包括:分层信源编码模块,用于对视频流进行分层视频编码生成具有不同质量分层的基本层以及若干增强层,其中基本层具有最高的重要等级,增强层中的低层级具有不低于高层级的重要等级;非对等信道编码模块,用于服务器根据各层的重要等级对各层数据进行卢比变换编码,其中重要等级越高的层所对应的卢比变换编码的度越低;传输模块,用于将编码得到的数据传输到客户端进行播放。
本发明的第四个方面,提供了一种实现自适应流媒体的客户端,包括:接收模块,用于接收服务器传输的编码数据;非对等信道解码模块,用于根据各层的卢比变换编码的度对各层数据进行信道解码,其中卢比变换编码的度越低的层越被优先解码;分层信源解码模块对信道解码得到的各层数据进行分层信源解码,其中基本层被优先解码,增强层中重要等级越高的层越被优先解码;播放模块,用于根据信源解码得到的不同层的数据情况,为用户播放不同清晰程度的视频画面。
本发明的第五个方面,提供了一种实现自适应流媒体的系统,包括:前述的服务器和客户端。
本发明提出了一种服务器驱动的自适应流媒体技术,该技术通过分层视频编码以及非对等错误保护的信道编码相结合的方案,可以在多变的网络环境下有效保障流媒体的传输质量,避免带宽估计不准确造成的用户体验的损伤,提高流媒体对于网络环境的自适应性,为用户带来更为流畅清晰的播放体验,并且节约服务器的存储资源,方便服务提供商或网络运营商介入对流媒体进行管理和控制。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实现自适应流媒体的方法一个实施例的流程示意图。
图2是本发明混淆处理的示意图。
图3是本发明非对等错误保护方案的一个应用例示意图。
图4是本发明实现自适应流媒体的方法另一个实施例的流程示意图。
图5是本发明实现自适应流媒体的方法再一个实施例的流程示意图。
图6是本发明实现自适应流媒体的系统一个实施例的结构示意图。
图7A和7B是本发明实现自适应流媒体的服务器的结构示意图。
图8A和8B是本发明实现自适应流媒体的客户端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
针对以客户端驱动的自适应流媒体技术存在的各种缺陷,本发明提出了一种服务器驱动的自适应流媒体技术,该技术由服务器通过分层视频编码以及非对等错误保护的信道编码相结合的方案,可以在多变的网络环境下有效保障流媒体的传输质量,避免带宽估计不准确造成的用户体验的损伤,提高流媒体对于网络环境的自适应性,为用户带来更为流畅清晰的播放体验,并且节约服务器的存储资源,方便服务提供商或网络运营商介入对流媒体进行管理和控制。
图1是本发明实现自适应流媒体的方法一个实施例的流程示意图。
如图1所示,本实施例的方法包括以下步骤:
服务器对视频流进行编码并传输到客户端,参见步骤S102~S108。
S102,服务器对视频流进行分层视频编码生成具有不同质量分层的基本层以及若干增强层。
其中基本层具有最高的重要等级,可以保障最基本的视频质量。增强层中的低层级具有不低于高层级的重要等级。基本层结合增强层可以提供更高的视频质量,基本层结合的增强层越多,视频质量越高。例如,基本层具有最高的重要等级,增强层1具有次重要等级,增强层2具有最不重要的重要等级,增强层1的编解码依赖于基本层,增强层2的编解码依赖于基本层和增强层1。
S104,服务器根据各层的重要等级对各层数据进行卢比变换编码,其中重要等级越高的层所对应的卢比变换编码的度越低,从而实现非对等错误保护。度越低的编码符号具有越高的解码优先级和解码利用率,因此对重要等级最高的基本层数据进行卢比变换编码信道编码,生成度为1的编码符号。后面会具体描述编码方案。
S106,可选的,服务器将编码得到的数据进行混淆处理,使得各层的编码数据穿插地传输到客户端。
从而,降低网络突发性连续丢包的影响,避免由于某一层的数据大量丢失,所导致的该层解码失败,进而引发的该层以上的所有层解码失败的情况。
参见图2所示的混淆处理示例,针对矩阵中的编码数据,按照箭头所示方向依次发送编码数据。由图2可见,区别于每层的编码连续地传输到客户端,混淆处理后的各层的编码数据穿插地传输到客户端。
S108,服务器将编码得到的数据传输到客户端。其中,服务器可以响应客户端的流媒体获取请求,将请求的流媒体的编码数据传输到客户端。
客户端对服务器传输的编码数据视频流进行解码并播放,参见步骤S210~S216。
S210,客户端接收服务器传输的编码数据,可选的,如果服务器对编码数据进行了混淆处理,则客户端对接收的编码数据进行反混淆处理,使得同层的编码数据排布在一起。
其中,反混淆处理可以按照与混淆处理相反的方式进行。
S212,客户端根据各层的卢比变换编码的度对各层数据进行信道解码,其中卢比变换编码的度越低的层越被优先解码。
信道解码的实现过程包括:客户端收到的每个编码数据包的包头会携带该编码数据的度、参与编码的信源数据所在层索引以及自身索引。1.客户端根据包头信息筛选出度为1的编码数据,将其直接复制得到基本层的信源数据;2.将得到的基本层信源数据按照索引与相应的度为2的编码数据进行异或,得到增强层1的信源数据;3.按照上述方法,依次解码得到其他增强层的信源数据。
例如,客户端优先解码出卢比变换编码的度最低的基本层数据块;然后按照卢比变换编码的度由低到高的顺序,基于前一层解码出的数据块对相邻的后一层进行信道解码,得到各增强层的数据块。
S214,客户端对信道解码得到的各层数据进行分层信源解码,其中基本层被优先解码,增强层中重要等级越高的层越被优先解码。
S216,客户端根据信源解码得到的不同层的数据情况,为用户播放不同清晰程度的视频画面。
例如,由于网络丢包、带宽波动等网络损伤会导致在分片时间段T内该分片的部分数据包并没有到达客户端。基于非对等错误保护信道编码的特性,客户端会首先解码出该分片基本层的数据(最高重要等级)、其次是增强层1的数据,…。当网络状况较好时,大部分数据包都到达客户端,客户端能够解码出基本层和较多增强层数据,此时能够为用户提供一个分片时间T内的高清视频画面;当网络状况变差时,客户端仅收到少部分数据包,但仍然能够解码出基本层数据和少量增强层数据,此时为用户提供一段时间的标清视频画面;当网络状况极差时,客户端连基本层数据都可能无法完全解码出来,此时为用户提供的视频画面才可能会出现马赛克或者卡顿的现象。
由此可见,服务器驱动的自适应流媒体技术,通过分层视频编码以及非对等错误保护的信道编码相结合的方案,可以在多变的网络环境下有效保障流媒体的传输质量,避免带宽估计不准确造成的用户体验的损伤,提高流媒体对于网络环境的自适应性,为用户带来更为流畅清晰的播放体验,并且节约服务器的存储资源,方便服务提供商或网络运营商介入对流媒体进行管理和控制,例如实时插入突发事件通知、广告等。
针对步骤S104,本发明还提供了一种根据各层的重要等级对各层数据进行卢比变换编码,从而实现非对等错误保护的方案。
在本发明的非对等错误保护方案中,服务器对具有最高重要等级的基本层数据块进行复制,得到基本层的卢比变换编码;在具有第z重要等级的各增强层中,将每个增强层Li的每个数据块依次与其相邻前一层Li-1的任意z-1个数据块进行异或,得到增强层Li的卢比变换编码,其中,z≥2,i≥1,增强层L1与基本层L0进行异或。其中,增强层可以按照重要等级由高到低的顺序完成上述的卢比变换编码。
进一步的,在增强层进行异或之后,将从增强层Li随机选取的数据块与其相邻前一层Li-1中未被利用到的数据块进行异或得到冗余数据,将增强层Li异或得到的数据以及冗余数据作为增强层Li的卢比变换编码。通过引入少量冗余数据的方法,能够有效抵抗网络丢包,很大程度地提升解码成功率。
下面结合图3描述非对等错误保护方案的一个应用例。非对等错误保护的编码过程如下:
对于增强层L1,该层L1的每个数据块(bi,i=1...m)依次和基本层的任意一个数据块进行异或运算,得到m个基础编码数据进一步的,添加冗余编码数据,即,随机选择该层L1的(n-m)个数据块(bi)与基本层L0未进行异或运算的(n-m)个数据块(ai)进行异或运算,得到(n-m)个冗余编码数据从而,增强层L1共获得n个编码数据增强层L1的编码数据具有次高重要等级(设为Level-2)。
假设增强层L1~Lp具有相同的重要等级,则增强层L1~Lp的编码数据均具有次高重要等级(Level-2)。
对于增强层L2~Lp(即Li,i=2,...,p),增强层Li的每个数据块依次与增强层Li-1的任意一个数据块进行异或运算,得到基础编码数据;进一步的,添加冗余编码数据,即,随机选择增强层Li的数据块与增强层Li-1未进行异或运算的数据块进行异或运算,得到冗余编码数据;基础编码数据和冗余编码数据共同作为增强层Li的编码数据,增强层Li的编码数据具有次高重要等级(Level-2)。
以增强层L2为例,增强层L2的每个数据块(ci,i=1...s)依次和增强层L1的任意一个数据块进行异或运算,得到s个基础编码数据 进一步的,添加冗余编码数据,即,随机选择增强层L2的(m-s)个数据块(ci)与增强层L1未进行异或运算的(m-s)个数据块(bi)进行异或运算,得到(m-s)个冗余编码数据从而,增强层L2共获得m个编码数据增强层L2的编码数据具有次高重要等级(设为Level-2)。
假设增强层Lp+1~Lq具有相同的重要等级,最不重要的重要等级(设为Level-3)。
对于增强层Lp+1~Lq(即Li,i=p+1,...,q),增强层Li的每个数据块依次与增强层Li-1的任意两个数据块进行异或运算,得到基础编码数据;进一步的,添加冗余编码数据,即,随机选择增强层Li的数据块与增强层Li-1未进行异或运算的任意两个数据块进行异或运算,得到冗余编码数据;基础编码数据和冗余编码数据共同作为增强层Li的编码数据,增强层Li的编码数据具有最不重要的重要等级(Level-3)。
以增强层Lq为例,增强层Lq的每个数据块(di,i=1...t)依次和增强层Lq-1的任意两个数据块进行异或运算,得到t个基础编码数据 进一步的,还可以添加冗余编码数据,这里不再赘述。增强层Lq的编码数据具有最不重要的重要等级(Level-3)。
图4是本发明实现自适应流媒体的方法另一个实施例的流程示意图。如图4所示,本实施例的方法包括以下步骤:
1)媒体服务器将视频裸流数据按照时间进行切片,得到一系列时间长度为T的视频裸流片段;
2)媒体服务器对每个视频裸流片段进行H.264/SVC分层信源编码,得到图中所示的SVC(可分层视频编码)信源编码数据块,该数据块具有基本层、增强层1和增强层2共三层编码数据,提供三种不同质量等级的播放体验;
3)媒体服务器将SVC信源编码数据块输入到UEP-LT Code(非对等错误保护卢比变换编码)信道编码器中进行UEP(非对等错误保护)信道编码。由于信源编码数据块中增强层1的编解码依赖于基本层,增强层2的编解码依赖于增强层1和基本层,因此在经过UEP信道编码得到的FEC(前向纠错)信道编码数据块中,基本层的数据得到了最高等级的编码保护,其次是增强层1的数据,而增强层2的数据得到的保护级别最低;
4)媒体服务器在接收到客户端发起的流媒体点播请求后,将FEC信道编码数据块打包,经由网络传输发送给客户端。
5)客户端从发送点播请求开始计时t=0,到时间t=T时,对这段时间T内接收到的数据包进行UEP-LT Code信道解码,并将解码得到的信源编码数据输入到H.264/SVC信源解码器进行解码并播放。
其中,假设信道编解码器以及信源编解码器均采用硬件编解码,因此忽略编解码需要的时间,故客户端从发送请求到收看到第一帧画面的播放时延为T,该T为媒体服务器端视频裸流分片的时间长度。
然而,在网络传输过程中,尤其是无线网络环境下,会存在媒体包丢失或者未在时间T内到达客户端。如图中所示,Case 1表示网络条件很好,在该分片间隔T内几乎所有的数据包都到达了客户端,信道解码器成功解码出所有层的数据,在该分片间隔T内为用户提供最高质量的播放体验;Case 2表示数据包在网络传输中发生了较大的丢包和时延,仅有部分到达了客户端,由于UEP信道编码的特性,信道解码器依然能够从该部分数据包中成功解码出所有基本层和增强层1的数据,因此在该时间间隔T内为用户提供中等质量的播放体验;Case3中网络环境更加恶劣,仅有少数包到达了客户端,信道解码器仅能够解码出重要等级最高的基本层数据,此时为用户提供基本质量的播放体验,这种情况下,得益于本发明的自适应流媒体传输技术,仍然能够为用户提供流畅的播放体验,有效避免出现卡顿等播放损伤。
在具体实施时,客户端例如采用PC终端A,通过连接WIFI路由器,与媒体服务器通信。WIFI路由器上部署网络模拟器,来模拟带宽波动和网络丢包的情况。PC终端A的配置例如为Intel Core i5-3230M CPU(2.6GHz,2.6GHz),8G DDR2内存。
为了进一步验证本发明的优点,在媒体服务器上分别部署本发明的自适应流媒体方案以及DASH和HLS(HTTP Live Streaming,基于HTTP的一种实时流传输协议)对比技术方案。采用RainbowCollage测试序列(分辨率480P,帧率30fps,时长2分钟)作为视频源序列。对该视频序列分别按照本发明的自适应流媒体机制、以及DASH和HLS的自适应流媒体机制进行处理。
然后,网络模拟器分辨模拟不同带宽波动,不同丢包的网络场景,并在各个网络场景下,由终端A向媒体服务器发起点播请求,依次进行DASH点播、HLS点播以及本发明的自适应流媒体机制点播。并在每次流媒体点播时,收集终端A接收到的视频数据。
在带宽不限(10Mbps)、丢包率PLR分别为1%、3%、5%的网络情况下,将三种自适应流媒体业务接收到的接收视频与媒体服务器的原始视频进行计算比较得到三种自适应流媒体业务的PSNR(峰值信噪比)。经过对比发现,基于本发明的自适应流媒体机制的流媒体视频质量最高,要高于DASH和HLS业务的流媒体视频质量。以下依次列出不同丢包率PLR情况下,三种业务的PSNR值:
PLR=1%:本发明PSNR=36dB,DASH PSNR=34.4dB,HLS PSNR=33.8dB;
PLR=3%:本发明PSNR=32.8dB,DASH PSNR=30.1dB,HLS PSNR=31.1dB;
PLR=5%:本发明PSNR=31dB,DASH PSNR=28.2dB,HLS PSNR=28.9dB;
在丢包率为0,带宽在256kbps到2Mbps随机波动的网络情况下,统计三种自适应流媒体业务的视频流PSNR以及卡顿次数。经过对比发现,基于本发明的自适应流媒体机制的流媒体业务视频的PSNR最高,卡顿次数最少。以下依次列出三种业务的PSNR值以及卡顿次数:
本发明PSNR=33dB,卡顿3次;
DASH PSNR=30dB,卡顿8次;
HLS PSNR=31.8dB,卡顿15次。
此外,本发明还提供了带有反馈机制的实现自适应流媒体方法。参考图5,图5是本发明实现自适应流媒体的方法再一个实施例的流程示意图,即,在图1所示实施例的基础上,本实施例进一步还包括:
S518,客户端将各层的解码成功率反馈给服务器,为服务器调整分层视频编码生成的层数提供信息支撑。服务器根据客户端反馈的各层的解码成功率调整分层视频编码生成的层数。
例如,当客户端发现某层Li的解码成功率Psuccess<90%时,就认为该层的数据经解码后的播放效果是不被用户接收的,此时客户端发送HTTP消息通知服务器,在下一个时间片段T内只需编码生成Li-1层的信源数据即可。
这种自适应的反馈调节机制可以有效地降低信源编码器的编码损耗,同时减少过多数据对网络造成的压力,进一步提高流媒体数据对网络变化的自适应性。
图6是本发明实现自适应流媒体的系统一个实施例的结构示意图。如图6所示,该系统60包括:服务器70和客户端80。
其中,参考图7A,服务器70包括:
分层信源编码模块702,用于对视频流进行分层视频编码生成具有不同质量分层的基本层以及若干增强层,其中基本层具有最高的重要等级,增强层中的低层级具有不低于高层级的重要等级;
非对等信道编码模块704,用于服务器根据各层的重要等级对各层数据进行卢比变换编码,其中重要等级越高的层所对应的卢比变换编码的度越低;
传输模块706,用于将编码得到的数据传输到客户端进行播放。
其中,非对等信道编码模块704包括:
基本层编码单元,用于对具有最高重要等级的基本层数据块进行复制,得到基本层的卢比变换编码;
增强层编码单元,用于在具有第z重要等级的各增强层中,将每个增强层Li的每个数据块依次与其相邻前一层Li-1的任意z-1个数据块进行异或,得到增强层Li的卢比变换编码,其中,z≥2,i≥1,增强层L1与基本层L0进行异或。
增强层编码单元,还用于在增强层进行异或之后,将从增强层Li随机选取的数据块与其相邻前一层Li-1中未被利用到的数据块进行异或得到冗余数据,将增强层Li异或得到的数据以及冗余数据作为增强层Li的卢比变换编码。
参考图7B,服务器还包括:混淆处理模块705,用于在服务器将编码得到的数据传输到客户端之前,将编码得到的数据进行混淆处理,使得各层的编码数据穿插地传输到客户端。
参考图7B,服务器还包括:分层调整模块701,用于根据客户端反馈的各层的解码成功率调整分层视频编码生成的层数。
其中,参考图8A,客户端80包括:
接收模块802,用于接收服务器传输的编码数据;
非对等信道解码模块804,用于根据各层的卢比变换编码的度对各层数据进行信道解码,其中卢比变换编码的度越低的层越被优先解码;
分层信源解码模块806,对信道解码得到的各层数据进行分层信源解码,其中基本层被优先解码,增强层中重要等级越高的层越被优先解码;
播放模块808,用于根据信源解码得到的不同层的数据情况,为用户播放不同清晰程度的视频画面。
其中,非对等信道解码模块804用于:优先解码出卢比变换编码的度最低的基本层数据块;按照卢比变换编码的度由低到高的顺序,基于前一层解码出的数据块对相邻的后一层进行信道解码,得到各增强层的数据块。
参考图8B,客户端还包括:反混淆处理模块803用于在进行信道解码之前,对接收的编码数据进行反混淆处理,使得同层的编码数据排布在一起。
服务器驱动的自适应流媒体技术,通过分层视频编码以及非对等错误保护的信道编码相结合的方案,可以在多变的网络环境下有效保障流媒体的传输质量,避免带宽估计不准确造成的用户体验的损伤,提高流媒体对于网络环境的自适应性,为用户带来更为流畅清晰的播放体验,并且节约服务器的存储资源,方便服务提供商或网络运营商介入对流媒体进行管理和控制,例如实时插入突发事件通知、广告等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种实现自适应流媒体的方法,其特征在于,包括:
服务器对视频流进行分层视频编码生成具有不同质量分层的基本层以及若干增强层,其中基本层具有最高的重要等级,增强层中的低层级具有不低于高层级的重要等级;
服务器根据各层的重要等级对各层数据进行卢比变换编码,其中重要等级越高的层所对应的卢比变换编码的度越低;
服务器将编码得到的数据传输到客户端进行播放;
其中,所述服务器根据各层的重要等级对各层数据进行卢比变换编码包括:
服务器对具有最高重要等级的基本层数据块进行复制,得到基本层的卢比变换编码;
在具有第z重要等级的各增强层中,将每个增强层Li的每个数据块依次与其相邻前一层Li-1的任意z-1个数据块进行异或,得到增强层Li的卢比变换编码,其中,z≥2,i≥1,增强层L1与基本层L0进行异或;
在增强层进行异或之后,将从增强层Li随机选取的数据块与其相邻前一层Li-1中未被利用到的数据块进行异或得到冗余数据,将增强层Li异或得到的数据以及冗余数据作为增强层Li的卢比变换编码。
2.如权利要求1所述的方法,其特征在于,在服务器将编码得到的数据传输到客户端之前,将编码得到的数据进行混淆处理,使得各层的编码数据穿插地传输到客户端。
3.如权利要求1所述的方法,其特征在于,根据客户端反馈的各层的解码成功率调整分层视频编码生成的层数。
4.如权利要求1所述的方法,其特征在于,还包括:
客户端接收服务器传输的编码数据;
客户端根据各层的卢比变换编码的度对各层数据进行信道解码,其中卢比变换编码的度越低的层越被优先解码;
客户端对信道解码得到的各层数据进行分层信源解码,其中基本层被优先解码,增强层中重要等级越高的层越被优先解码;
客户端根据信源解码得到的不同层的数据情况,为用户播放不同清晰程度的视频画面。
5.如权利要求4所述的方法,其特征在于,客户端根据各层的卢比变换编码的度对各层数据进行信道解码包括:
客户端优先解码出卢比变换编码的度最低的基本层数据块;
客户端按照卢比变换编码的度由低到高的顺序,基于前一层解码出的数据块对相邻的后一层进行信道解码,得到各增强层的数据块。
6.如权利要求4所述的方法,其特征在于,在客户端进行信道解码之前,对接收的编码数据进行反混淆处理,使得同层的编码数据排布在一起。
7.如权利要求4所述的方法,其特征在于,客户端将各层的解码成功率反馈给服务器,为服务器调整分层视频编码生成的层数提供信息支撑。
8.一种实现自适应流媒体的服务器,其特征在于,包括:
分层信源编码模块,用于对视频流进行分层视频编码生成具有不同质量分层的基本层以及若干增强层,其中基本层具有最高的重要等级,增强层中的低层级具有不低于高层级的重要等级;
非对等信道编码模块,用于服务器根据各层的重要等级对各层数据进行卢比变换编码,其中重要等级越高的层所对应的卢比变换编码的度越低;
传输模块,用于将编码得到的数据传输到客户端进行播放;
其中,所述非对等信道编码模块包括:
基本层编码单元,用于对具有最高重要等级的基本层数据块进行复制,得到基本层的卢比变换编码;
增强层编码单元,用于在具有第z重要等级的各增强层中,将每个增强层Li的每个数据块依次与其相邻前一层Li-1的任意z-1个数据块进行异或,得到增强层Li的卢比变换编码,其中,z≥2,i≥1,增强层L1与基本层L0进行异或;
所述增强层编码单元,还用于在增强层进行异或之后,将从增强层Li随机选取的数据块与其相邻前一层Li-1中未被利用到的数据块进行异或得到冗余数据,将增强层Li异或得到的数据以及冗余数据作为增强层Li的卢比变换编码。
9.如权利要求8所述的服务器,其特征在于,还包括:
混淆处理模块,用于在服务器将编码得到的数据传输到客户端之前,将编码得到的数据进行混淆处理,使得各层的编码数据穿插地传输到客户端。
10.如权利要求8所述的服务器,其特征在于,还包括:
分层调整模块,用于根据客户端反馈的各层的解码成功率调整分层视频编码生成的层数。
11.一种实现自适应流媒体的系统,其特征在于,包括:权利要求8-10任一项所述的服务器和客户端。
12.如权利要求11所述的系统,其特征在于,所述客户端包括:
接收模块,用于接收服务器传输的编码数据;
非对等信道解码模块,用于根据各层的卢比变换编码的度对各层数据进行信道解码,其中卢比变换编码的度越低的层越被优先解码;
分层信源解码模块对信道解码得到的各层数据进行分层信源解码,其中基本层被优先解码,增强层中重要等级越高的层越被优先解码;
播放模块,用于根据信源解码得到的不同层的数据情况,为用户播放不同清晰程度的视频画面。
13.如权利要求12所述的系统,其特征在于,所述非对等信道解码模块,用于:
优先解码出卢比变换编码的度最低的基本层数据块;
按照卢比变换编码的度由低到高的顺序,基于前一层解码出的数据块对相邻的后一层进行信道解码,得到各增强层的数据块。
14.如权利要求12所述的系统,其特征在于,所述客户端还包括:
反混淆处理模块,用于在进行信道解码之前,对接收的编码数据进行反混淆处理,使得同层的编码数据排布在一起。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610946715.5A CN107995502B (zh) | 2016-10-26 | 2016-10-26 | 实现自适应流媒体的方法和设备以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610946715.5A CN107995502B (zh) | 2016-10-26 | 2016-10-26 | 实现自适应流媒体的方法和设备以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107995502A CN107995502A (zh) | 2018-05-04 |
CN107995502B true CN107995502B (zh) | 2020-01-21 |
Family
ID=62029185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610946715.5A Active CN107995502B (zh) | 2016-10-26 | 2016-10-26 | 实现自适应流媒体的方法和设备以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107995502B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737861B (zh) * | 2018-05-11 | 2020-06-16 | 浙江大学 | 一种拥塞环境下基于解码优先级的带宽资源优化配置方法 |
WO2024000959A1 (zh) * | 2022-06-29 | 2024-01-04 | 华为技术有限公司 | 一种数据传输方法、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902296A (zh) * | 2010-06-23 | 2010-12-01 | 中兴通讯股份有限公司 | 一种喷泉码的编解码方法和装置 |
CN102195759A (zh) * | 2010-03-19 | 2011-09-21 | 上海贝尔股份有限公司 | 宽带lte-a系统上的可分级视频传输方法 |
CN104994388A (zh) * | 2015-07-16 | 2015-10-21 | 兰州大学 | 改进的不等差错保护喷泉码构造方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2451956A1 (en) * | 2001-07-19 | 2003-01-30 | British Telecommunications Public Limited Company | Video stream switching |
-
2016
- 2016-10-26 CN CN201610946715.5A patent/CN107995502B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195759A (zh) * | 2010-03-19 | 2011-09-21 | 上海贝尔股份有限公司 | 宽带lte-a系统上的可分级视频传输方法 |
CN101902296A (zh) * | 2010-06-23 | 2010-12-01 | 中兴通讯股份有限公司 | 一种喷泉码的编解码方法和装置 |
CN104994388A (zh) * | 2015-07-16 | 2015-10-21 | 兰州大学 | 改进的不等差错保护喷泉码构造方法 |
Non-Patent Citations (1)
Title |
---|
《基于自适应流媒体的非对等错误保护信道编码的研究》;刘菁;《中国优秀硕士学位论文全文数据库(电子期刊)》;20150716;正文第10-14页,第31-40页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107995502A (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102036061B (zh) | 视频数据传输处理、发送处理方法、装置和网络系统 | |
JP4980567B2 (ja) | 動的なネットワーク損失状態に対する簡単な適応を備えたマルチメディアサーバ | |
CN1242623C (zh) | 视频编码方法、解码方法以及相关的编码器和解码器 | |
CN102065302B (zh) | 一种基于h.264的可伸缩视频编码方法 | |
CN1684516A (zh) | 用于考虑终端能力来提供多媒体服务的方法、装置和介质 | |
Ahmad et al. | Adaptive unicast video streaming with rateless codes and feedback | |
Wang et al. | Bit-rate allocation for broadcasting of scalable video over wireless networks | |
Sun et al. | Delay-aware fountain codes for video streaming with optimal sampling strategy | |
US20110216821A1 (en) | Method and apparatus for adaptive streaming using scalable video coding scheme | |
US9001701B1 (en) | Priority assignment and signaling of scalable video in a switch based system | |
CN107995502B (zh) | 实现自适应流媒体的方法和设备以及系统 | |
Pereira et al. | Video streaming: H. 264 and the internet of things | |
Zhao et al. | A cloud-assisted DASH-based scalable interactive multiview video streaming framework | |
KR20080093924A (ko) | 중요도에 따라 손실 복원율을 차별화하는 비균일 랩터 코딩방법 | |
Belda et al. | Hybrid FLUTE/DASH video delivery over mobile wireless networks | |
JP5837943B2 (ja) | 異種ネットワークを介したコンテンツ配信のクリフ効果を軽減するシステムおよび方法 | |
JP5743350B2 (ja) | データ送信装置、前方誤り訂正方法、及びプログラム | |
CN115623154A (zh) | 校正网络数据丢包的系统和方法 | |
Quinlan et al. | ALD: adaptive layer distribution for scalable video | |
Sánchez et al. | P2P group communication using Scalable Video Coding | |
Lv et al. | Unequal error protection for 360 VR video based on expanding window fountain codes | |
Liu et al. | A dynamic hybrid UXP/ARQ method for scalable video transmission | |
CN105554500B (zh) | 基于rcm译码符号不等分配的视频传输方法及系统 | |
Li et al. | Dante: Enabling fov-aware adaptive fec coding for 360-degree video streaming | |
Kamiss et al. | Mpeg-Dash System via HTTP2 Protocol with HEVC Encoder for Video Streaming Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |