CN106791860B - 一种自适应视频编码控制系统及方法 - Google Patents

一种自适应视频编码控制系统及方法 Download PDF

Info

Publication number
CN106791860B
CN106791860B CN201611240160.9A CN201611240160A CN106791860B CN 106791860 B CN106791860 B CN 106791860B CN 201611240160 A CN201611240160 A CN 201611240160A CN 106791860 B CN106791860 B CN 106791860B
Authority
CN
China
Prior art keywords
video
time
fragment
kth
sampling
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
Application number
CN201611240160.9A
Other languages
English (en)
Other versions
CN106791860A (zh
Inventor
李勇
王彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201611240160.9A priority Critical patent/CN106791860B/zh
Publication of CN106791860A publication Critical patent/CN106791860A/zh
Application granted granted Critical
Publication of CN106791860B publication Critical patent/CN106791860B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供的一种自适应视频编码控制系统及方法,属于视频传输和视频编码技术领域。一种自适应视频编码控制系统及方法,通过设置控制器根据播放缓冲区长度和网络可用带宽估计值计算视频的实时编码码率,然后通过分片调度处理单元根据实时编码码率和播放缓冲区长度向视频服务器发出分片请求,请求下一个要发送的分片和分片的视频等级,进而控制视频服务器的发送下一视频分片的编码码率,使得视频服务器到客户端给予的端到端带宽为用户提供最大的视频质量,使得在TCP流存在的情况下,视频流能够获得公平的带宽分配,能够保证多个视频流共享同一瓶颈通道。

Description

一种自适应视频编码控制系统及方法
技术领域
本发明涉及视频传输和视频编码技术领域,特别涉及一种自适应视频编码控制系统及一种自适应视频编码控制方法。
背景技术
在流媒体系统中,视频服务器发送视频到客户端,客户端将视频内容暂时存储在一个由客户端定义的播放缓冲区队列里面。
当播放缓冲区为空,例如带宽突然降低,此时客户端就会暂停视频播放来让足够多的视频内容存储在播放缓冲区,在这种情况下客户端可以恢复视频的播放,这种现象被称为重新缓冲机制。视频重新缓冲的时间和频率是影响用户观看质量的主要因素。
自适应流媒体系统的目标是实时改变视频源的编码码率来适应网络的可用带宽,视频源来自事先录制或者直播,这种方法可以避免重新缓冲导致的播放中断。
近几年,采用基于TCP的HTTP协议而不采用基于UDP的实时协议(RTP)和实时流协议(RTSP)进行视频传输成为了主流。今天,所有的主流视频分发平台如YouTube,NetFlix等都采用这种方式。
在自适应流媒体系统中,源视频被编码器切割成片(块),每一个分片时间内包含了多个图像组(GOP)。视频切割分为两种方法:1)物理分割;2)逻辑分割。
物理分割方法将源视频采用物理方法分割成若干个文件,文件分别代表每一个视频分片。视频分片采用它的完整路径进行索引。
逻辑分割方法需要对视频进行逻辑上的划分。在这种方法下,通常使用索引文件来描述每个视频分片在存储区字节的偏移量和大小。
自适应流媒体的特征主要有两点:1)自适应的实现方法;2)控制架构。
我们将目前用于实现自适应的方法分为以下三类:
1)转码系统:该系统通过实时改变源视频的编码码率来使得视频内容适应需求;这种技术使得视频的编码码率适应于可用带宽,但也存在每个视频会话都需要一个编码过程的缺点;因此转码系统不适用目前的用户规模。
2)可伸缩视频编解码系统:该系统采用可伸缩编解码器,例如H.264SVC等。原视频内容只需要编码一次,并且编码码率可以利用编解码器在时间和空间上进行扩展。相对于转码系统,这种方法只编码一次,编码过程更具扩展性。
3)流切换或多码率系统:该系统将视频编码成N种版本,一种版本代表一种视频等级或表示;控制机制决定向接收方发送的视频等级;系统需要为每个源视频定义N个编码过程。相对于可伸缩编码系统,该系统的CPU和存储成本要求都更高。但该系统的优点是可以使用任何编解码器。
关于控制架构有如下三种不同方式:
1)客户端架构:控制器放置在客户端进行编码码率的计算并且发送控制信号给视频服务器;使用带宽估计作为控制器的输入是一种比较通常的做法。
2)服务器端架构:控制器放置在服务器,通过服务器端的测量(具体来说有对带宽的估计以及对传输缓冲区的长度的估计)来计算发送到客户端的视频码率。
3)混合结构:在这种结构下,控制器可以放置在服务器或客户端。
今天,领先的自适应流媒体平台如YouTube和Netflix采用的是流切换方式的客户端架构系统,使用的基础设施为HTTP代理服务器。
在这种技术背景下产生了两个标准:
1)MPEG-DASH;
2)Apple公司的HTTP直播流技术(HLS)。
这两个标准都使用了存储在视频服务器的索引文件,文件用于关联每个视频分片的等级以及相对应的网址(URL)。
流媒体系统通常使用两种控制机制:
1)流切换控制机制,用于计算编码码率;
2)播放缓冲区控制机制,用于控制播放缓冲区的缓冲等级。
对于流切换控制机制,主流的做法是根据测量可用带宽来进行视频编码码率的计算。
上述文章同时表明流媒体系统有以下两种状态:
1)缓冲状态:这种状态在视频流会话开始阶段(或一个重新缓冲事件发生后)被激活,当播放缓冲区水平增加到目标阈值后系统离开缓冲状态;当系统处于这个状态时,在上一个视频分片下载完成的那一刻就会对下一个视频分片进行请求;该状态需要尽快填补播放缓冲区;
2)稳定状态:当客户端处于该状态时,每隔T秒就对视频分片进行请求,T是以秒为单位的分片长度;这就意味着当Td<T时,客户端会在一个T-Td空闲时间后进行下一个视频分片的下载,其中Td表示一个视频分片的下载时间。
相关研究已经表明当客户端处于稳定状态时,使用分片请求机制所产生的开关模式有如下主要缺点:
1)这种开关模式会导致视频服务器的上行带宽利用率不足;
2)并发视频流不能够公平地共享瓶颈路段;
3)当视频流与TCP流在共享瓶颈路段时(如文件的并行下载),视频流不能够得到公平的带宽分配。
发明内容
有鉴于此,本发明的目的在于提供一种自适应视频编码控制系统及一种自适应视频编码控制方法,解决在自适应流媒体系统播放过程中播放中断的问题,同时保证了最佳的视频质量。
为达到上述目的,本发明提供如下技术方案:
一种自适应视频编码控制系统,包括控制器,用于计算视频的实时编码码率;分片调度处理单元,用于向服务器请求发送视频分片;播放缓冲区,位于客户端,用于放置从视频服务器接收到的视频资源;编码器,位于视频服务器端,用于对源视频进行编码;网络带宽估计器,用于计算网络可用带宽估计值;输入接口,位于客户端,用于读取播放缓冲区的长度;播放器,位于客户端,用于获取播放缓冲区内的资源,解码视频并播放。
进一步,所述控制器通过以下公式计算实时编码码率:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)表示在第k次采样时由输入接口读取的播放缓冲区长度;F(q(tk),q(tk-1),...,q(tk-m+1),qT)是一个关于播放缓冲区长度的函数,函数中采样步骤为k,k-1,k-2,…,k-m+1(m为最后采样),并且达到缓冲区目标值qT;r(tk)表示带宽估计器计算在第k次采样间隔时间后的估计带宽;Q(·)是一个递增函数。
进一步,所述控制器还可以通过以下公式计算实时编码码率:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)为第k次采样时间时播放缓冲区的长度;r(tk)表示第k次采样间隔时间后的网络可用带宽估计值;K1和K2为两个非负常数;Q(·)为递增函数
进一步,所述网络可用带宽估计值通过以下公式计算:
其中,tk=tk-1+ΔT为第k次的采样时间;q(tk)为第k次采样时间播放缓冲区的长度;b(tk-1)为在第k-1次采样间隔后控制器所计算的实时编码码率;d(tk-1)为一个布尔变量,当视频播放时为1,未播放时为0。
一种自适应视频编码控制方法,包括以下步骤:
1)根据播放缓冲区的长度和网络可用带宽估计值计算视频的实时编码码率;
2)向视频服务器发出分片请求,请求下一个要发送的分片和分片的视频等级;
3)视频服务器将相应等级的视频分片发送给客户端。
进一步,所述实时编码码率通过以下公式计算:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)表示在第k次采样时由输入接口读取的播放缓冲区长度;F(q(tk),q(tk-1),...,q(tk-m+1),qT)是一个关于播放缓冲区长度的函数,函数中采样步骤为k,k-1,k-2,…,k-m+1(m为最后采样),并且达到缓冲区目标值qT;r(tk)表示带宽估计器计算在第k次采样间隔时间后的估计带宽;Q(·)是一个递增函数。
进一步,所述实时编码码率通过以下公式计算:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)为第k次采样时间时播放缓冲区的长度;r(tk)表示第k次采样间隔时间后的网络可用带宽估计值;K1和K2为两个非负常数;Q(·)为递增函数。
进一步,所述网络可用带宽估计值通过以下公式计算:
其中,tk=tk-1+ΔT为第k次的采样时间;q(tk)为第k次采样时间播放缓冲区的长度;b(tk-1)为在第k-1次采样间隔后控制器所计算的实时编码码率;d(tk-1)为一个布尔变量,当视频播放时为1,未播放时为0。
进一步,所述网络可用带宽估计值通过以下公式计算:
其中,α为0到1的常量;Dk-1为k-1分片的字节大小;Dk-1/ΔTk-1代表的是分片k-1的下载速率。
进一步,所述步骤2)具体步骤包括:当第k个视频分片在时刻tk d传输完成后,向视频服务器请求在时刻tk+1=tk d+pk发送第k+1个分片;
读取当前视频的实时编码码率b(tk d)及播放缓冲区的长度q(tk d);
当b(tk d)小于最大编码码率或者q(tk d)小于最大阈值Qmax时,分片调度器在时刻tk d以码率b(tk d)向视频服务器请求第k+1个分片;
当b(tk d)大于或等于最大编码码率,并且播放缓冲区长度q(tk d)大于或等于最大阈值Qmax时,分片调度器在空闲pk=max(Tk-ΔTk d,0)秒后请求视频服务器以最大编码码率发送第k+1个视频分片,其中,Tk是第k个分片的时长,ΔTk d=tk d-tk是第k个分片的下载时间。
本发明的有益效果在于:本发明提供的一种自适应视频编码控制系统及方法,通过控制器根据播放缓冲区的长度和网络可用带宽估计值计算视频的实时编码码率,进而控制视频服务器的发送下一视频分片的编码码率,使得视频服务器到客户端给予的端到端带宽为用户提供最大的视频质量,使得在TCP流存在的情况下,视频流能够获得公平的带宽分配,能够保证多个视频流共享同一瓶颈通道。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明说述的自适应视频编码控制系统结构图;
图2为本发明说述的分片调度处理单元的工作流程图;
图3为分片请求过程调度图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
本发明提供的一种自适应视频编码控制系统,如图1所示,包括客户端110(视频接收方)通过分组交换网络108连接到视频服务器109(视频发送方)。
所述视频服务器可以是任何一种配备了分组交换网络(例如互联网)的计算机,使用的操作系统可以是Windows 7,Windows 8,Windows NT,Windows XP,Linux,Mac OSX。
所述客户端可以是任何配备了分组交换网络接口,同时能使用有线和无线接入网络的设备,也可以是智能手机。设备可以使用任何操作系统如Linux、Android、Windows、iOS等。
视频源通过使用服务器上的编码器进行编码或压缩。编码器将视频源进行编码或压缩,可以采用以下方式:
1)可伸缩编码(例如H.264SVC):码率b(t)可以设置为Bmin和Bmax之间的任何值,Bmin表示最小编码码率,Bmax表示最大编码码率。
2)多码率或流切换编码:编码器将源视频以不同的码率编码成N个版本,版本描述为“表示”或“视频等级”。其中码率b(t)属于集合L={l1,l2,…,lN},lN表示最大编码码率。如采用Akamai高清网络的视频水平L={350,700,1500,2500,3500}kbps,视频分辨率从240P到1080p。编码器可以使用任何视频编解码器,例如AVC/H.264,VP8,HEVC/H.265,VP9。
图1中自适应视频编码控制系统使用的是客户端控制架构,本发明所述的自适应视频编码控制系统也可以使用服务器端控制架构,将控制器放置在视频服务器上。
自适应视频编码控制系统包括播放缓冲区107、播放器106、编码器101、视频源102、输入接口、网络带宽估计器105、控制器103和分片调度处理单元104。
播放缓冲区,位于客户端,用于放置从视频服务器接收到的视频资源。
播放器,位于客户端,用于获取播放缓冲区内的资源,解码视频并播放。
编码器,位于视频服务器端,用于对源视频进行编码。
输入接口,位于客户端,用于读取播放缓冲区的长度。
网络带宽估计器,用于在发送视频分片的传输过程中计算网络可用带宽估计值。
控制器用于根据播放缓冲区的长度和估计网络可用带宽计算视频的实时编码码率,在可伸缩编码模式下的编码在多码率编码模式下b(t)∈L;所述控制器可以由Adobe Flash、微软Silverlight,或使用HTML5标准中的MediaSource API实现。
所述控制器主要用于自动实时计算编码码率,并将播放缓冲区的长度保持在目标阈值qT附近的稳定状态,尽可能在端到端可用带宽之上选择最高的视频等级。所述控制器主要根据网络可用带宽估计值、播放缓冲区的长度及播放缓冲区的目标阈值qT来计算实时编码码率。
分片调度处理单元,用于向服务器请求发送视频分片,根据视频的实时编码码率和播放缓冲区的长度决定何时向视频服务器发送视频分片请求。
一种自适应视频编码控制方法,主要包括以下步骤:
1)根据播放缓冲区的长度和网络可用带宽估计值计算视频的实时编码码率。
视频被分割成具有同样时长的M个分片(块)。典型的分片时长在1秒到10秒之间。分片的序列号表示为k∈{1,2,…,M}。(k-1)代表客户端114接收的上一个视频分片,而k代表客户端请求的下一个视频分片。
tk表示客户端向服务器请求第k个分片的时间,tk d表示分片k被客户端接收到的时间。最后,ΔTK=tk d-tk表示分片k的下载所需时间。
所述读取播放缓冲区的长度通过输入接口获取;所述网络可用带宽值通过网络带宽估计器计算;所述控制器通过以下公式计算视频的实时编码码率:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)表示在第k次采样时由输入接口读取的播放缓冲区长度;F(q(tk),q(tk-1),...,q(tk-m+1),qT)是一个关于播放缓冲区长度的函数,函数中采样步骤为k,k-1,k-2,…,k-m+1(m为最后采样),并且达到缓冲区目标值qT;r(tk)表示带宽估计器计算在第k次采样间隔时间后的估计带宽;Q(·)是一个递增函数。
可伸缩编码模式下的编码码率b(t)包含于集合多码率编码模式下的编码码率b(t)为集合L={l1,l2,…,lN}中的离散值。
所述控制器还可以通过以下公式计算视频的实时编码码率,(k-1)代表下载的上一个视频分片。当分片(k-1)被下载完成时,控制器需要计算在tk时刻向视频服务器请求的下一个视频分片k的编码码率(即视频等级)b(tk),b(tk)∈L。其中,tk=tk-1+ΔTk-1,其中ΔTk-1为分片(k-1)的下载所需时间。
其中,q(tk)指的是播放缓冲区的长度;r(tk)指的是带宽估计器计算的可用带宽估计值;K1和K2是两个非负常数;qI(tk)=qI(tk-1)+ΔTk-1(q(tk)-qT)是误差q(tk)-qT的积分;Q:为一个递增函数,其中任何x值对应于li∈L。在流切换系统中,控制器只能在离散集合L中确定视频码率。
误差q(tk)-qT是有界的。播放缓冲区的长度保持在目标阈值qT左右。此外,控制器在稳定状态下选择的码率,在满足可用带宽条件下应尽可能最大。
函数Q实现如下:
所述网络带宽估计器用于计算网络可用带宽估计值,例如,对上一个视频分片的下载速率执行低通滤波。使用EWMA滤波器,通过以下公式计算:
其中,α为0到1的常量;Dk-1为k-1分片的字节大小;Dk-1/ΔTk-1代表的是分片(k-1)的下载速率。
所述网络可用带宽值还可以通过以下方法计算:
其中,r(tk)为在时刻tk的网络可用带宽的估计值,tk=tk-1+ΔT为第k次的采样时间;q(tk)为第k次采样时间播放缓冲区的长度;b(tk-1)为在第k-1次采样间隔后控制器所计算的实时编码码率;d(tk-1)为一个布尔变量,当视频播放时为1,未播放时为0。
2)向视频服务器发出分片请求,请求下一个要发送的分片和分片的视频等级。
所述分片请求通过使用特定的应用层协议发送到视频服务器。应用层协议包括超文本传输协议(HTTP)、实时流协议(RTSP)、实时消息协议(RTMP)。
所述步骤2)主要通过分片调度处理单元来实现,如图2所示,具体包括以下步骤:
分片调度器检测视频流传输是否完成,若完成则停止分片调度器,若没有完成,则当第k个视频分片在时刻tk d传输完成后,准备向视频服务器请求在时刻tk+1=tk d+pk发送第k+1个分片;tk表示客户端请求分片k的请求时间;tk d表示的是分片k的传输完成的时间。
读取当前视频的实时编码码率b(tk d)及播放缓冲区的长度q(tk d);
当b(tk d)小于最大编码码率(Bmax或lN)或者q(tk d)小于最大阈值Qmax时,分片调度器在时刻tk d以码率b(tk d)向视频服务器请求第k+1个分片;分片调度器为“正常”模式。
当b(tk d)大于或等于最大编码码率,并且播放缓冲区长度q(tk d)大于或等于最大阈值Qmax时,分片调度器计算暂停,间隔时间X,在X秒后发送新的分片请求,分片调度器为“开关”模式。
图3显示了分片调度器的视频分片请求流程:每个分片用一个方块表示,方块标有分片的序号。例如,方块301表示序号为1的分片,方块302表示序号为2的分片等。
显示了两种可能的操作模式,即分段调度的“正常”模式和“开关”模式。两种模式的交替次数不仅取决于端到端的可用带宽,也取决于播放缓冲区的长度以及由控制器计算出的编码码率。
图3所示的示例中,第一个操作模式:正常模式,以对分片1(301)的请求为开始,以对分片n(303)的请求为结束;第二个操作模式:开关模式,以对分片n+1(304)的请求为开始并且一直持续。下面详细描述每一种分片操作模式。
正常:在上一分片被下载完成后立即开始新分片的请求;其中tk=tk-1 d
开关:在一个“空闲时期”后开始新的分片请求;当分片调度器处于开关模式时,其中tk=tk-1 d+pk,pk≥0,pk指的是分片k的空闲时间。
分片调度器的工作机制避免了开关模式,假设队列长度小于Qmax,编码比特率低于最大值lN。开关模式只有当视频质量能达到最大(因为计算机编码码率等于lN),或者当播放缓冲区存储了大量的视频分片时才存在。可以说,当系统的性能最大时开关模式才有出现的可能。要注意的是,所述两个条件有一个不成立时,比如可用带宽的临时减少,“正常”模式才会被重新建立。
例如,当b(tk d)大于或等于最大编码码率,并且播放缓冲区长度q(tk d)大于或等于最大阈值Qmax时,分片调度器此时工作在开关状态下,并且此时控制器计算的编码码率等于最大码率值lN。此外,假设tk d表示分片k被分片调度器调用直到下载完成时的所用时间。
以分片k的下载完成时间tk d到以码率lN请求分片(k+1)整个过程来计算空闲时间pk,计算采用以下公式:
pk=max(Tk-ΔTk d,0)
Tk表示分片k的下载持续时间,ΔTk d=tk d-tk是分片k的下载时间。
3)视频服务器将相应等级的视频分片发送给客户端。客户端接收到的分片将其存储在播放缓冲区,通过带宽估计器去计算新的网络估计带宽估计值r(t),重复上述步骤。
本发明所述方法所使用的协议包括但不限于传输控制协议(TCP)、户数据报协议(UDP)和数据报拥塞控制协议(DCCP)。
一种自适应视频编码控制系统及方法适用于以下场景:
视频点播(VOD):该系统需要准备事先录制的视频,如电影、电视剧等;
视频直播:在这种情况下,视频内容由直播源如摄像机产生;典型场景有电视直播、视频会议、在线教学等;
远程视频分发系统:主要包括高清视频和直播事件,以及在剧院和电影院播放的4K高清视频;
视频监控系统。互联网平台采用视频分发系统的商业平台有:YouTube直播,Netflix等。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

Claims (8)

1.一种自适应视频编码控制系统,其特征在于:包括控制器,用于计算视频的实时编码码率;分片调度处理单元,用于向视频服务器请求发送视频分片;播放缓冲区,位于客户端,用于放置从视频服务器接收到的视频资源;编码器,位于视频服务器端,用于对源视频进行编码;网络带宽估计器,用于计算网络可用带宽估计值;输入接口,位于客户端,用于读取播放缓冲区长度;播放器,位于客户端,用于获取播放缓冲区内的资源,解码视频并播放;
所述网络可用带宽估计值通过以下公式计算:
其中,tk=tk-1+ΔT为第k次的采样时间;q(tk)为第k次采样时间播放缓冲区的长度;b(tk-1)为在第k-1次采样间隔后控制器所计算的实时编码码率;d(tk-1)为布尔变量,当视频播放时为1,未播放时为0。
2.根据权利要求1所述的一种自适应视频编码控制系统,其特征在于,所述控制器通过以下公式计算实时编码码率:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)表示在第k次采样时由输入接口读取的播放缓冲区长度;F(q(tk),q(tk-1),...,q(tk-m+1),qT)为播放缓冲区长度的函数;r(tk)表示网络带宽估计器计算在第k次采样间隔时间后的估计带宽;Q(·)为递增函数。
3.根据权利要求1所述的一种自适应视频编码控制系统,其特征在于,所述控制器通过以下公式计算实时编码码率:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)为第k次采样时间时播放缓冲区的长度;r(tk)表示第k次采样间隔时间后的网络可用带宽估计值;K1和K2为两个非负常数;Q(·)为递增函数。
4.一种自适应视频编码控制方法,其特征在于,包括以下步骤:
1)根据播放缓冲区的长度和网络可用带宽估计值计算视频的实时编码码率;
2)向视频服务器发出分片请求,请求下一个要发送的分片和分片的视频等级;
3)视频服务器将相应等级的视频分片发送给客户端;
所述步骤2)具体步骤包括:
当第k个视频分片在时刻tk d传输完成后,向视频服务器请求在时刻tk+1=tk d+pk发送第k+1个分片;
读取当前视频的实时编码码率b(tk d)及播放缓冲区的长度q(tk d);
当b(tk d)小于最大编码码率或者q(tk d)小于最大阈值Qmax时,分片调度器在时刻tk d以码率b(tk d)向视频服务器请求第k+1个分片;
当b(tk d)大于或等于最大编码码率,并且播放缓冲区长度q(tk d)大于或等于最大阈值Qmax时,分片调度器在空闲pk=max(Tk-ΔTk d,0)秒后请求视频服务器以最大编码码率发送第k+1个视频分片,其中,Tk是第k个分片的时长,ΔTk d=tk d-tk是第k个分片的下载时间。
5.根据权利要求4所述的一种自适应视频编码控制方法,其特征在于,所述实时编码码率通过以下公式计算:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)表示在第k次采样时由输入接口读取的播放缓冲区长度;F(q(tk),q(tk-1),...,q(tk-m+1),qT)为播放缓冲区长度的函数;r(tk)表示带宽估计器计算在第k次采样间隔时间后的估计带宽;Q(·)为递增函数。
6.根据权利要求4所述的一种自适应视频编码控制方法,其特征在于,所述实时编码码率通过以下公式计算:
其中,tk=tk-1+ΔT表示第k次的采样时间,ΔT为采样时间间隔;q(tk)为第k次采样时间时播放缓冲区的长度;r(tk)表示第k次采样间隔时间后的网络可用带宽估计值;K1和K2为两个非负常数;Q(·)为递增函数。
7.根据权利要求4所述的一种自适应视频编码控制方法,其特征在于,所述网络可用带宽估计值通过以下公式计算:
其中,tk=tk-1+ΔT为第k次的采样时间;q(tk)为第k次采样时间播放缓冲区的长度;b(tk-1)为在第k-1次采样间隔后控制器所计算的实时编码码率;d(tk-1)为布尔变量,当视频播放时为1,未播放时为0。
8.根据权利要求4所述的一种自适应视频编码控制方法,其特征在于,所述网络可用带宽估计值通过以下公式计算:
其中,α为0到1的常量;Dk-1为k-1分片的字节大小;DK-1/ΔTK-1为分片k-1的下载速率。
CN201611240160.9A 2016-12-28 2016-12-28 一种自适应视频编码控制系统及方法 Active CN106791860B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611240160.9A CN106791860B (zh) 2016-12-28 2016-12-28 一种自适应视频编码控制系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611240160.9A CN106791860B (zh) 2016-12-28 2016-12-28 一种自适应视频编码控制系统及方法

Publications (2)

Publication Number Publication Date
CN106791860A CN106791860A (zh) 2017-05-31
CN106791860B true CN106791860B (zh) 2019-07-30

Family

ID=58924010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611240160.9A Active CN106791860B (zh) 2016-12-28 2016-12-28 一种自适应视频编码控制系统及方法

Country Status (1)

Country Link
CN (1) CN106791860B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119735A (zh) * 2018-02-06 2019-08-13 上海全土豆文化传播有限公司 视频的文字检测方法及装置
CN108833996B (zh) * 2018-07-03 2020-07-10 湖北大学 分布式dash系统中服务节点选择、更新和码率自适应方法
CN110198495B (zh) * 2019-06-28 2022-03-22 广州市百果园信息技术有限公司 一种视频下载和播放的方法、装置、设备和存储介质
CN112532985B (zh) * 2020-12-01 2023-05-26 北方工业大学 基于变周期采样的移动终端视频流码率的自适应调节方法
CN112822521B (zh) * 2020-12-30 2023-04-25 百果园技术(新加坡)有限公司 音视频传输的码率控制方法、装置、设备及存储介质
CN113645228B (zh) * 2021-08-09 2023-06-16 北京凌壹世纪科技有限公司 一种码率自适应的视频分发方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000040031A1 (en) * 1998-12-29 2000-07-06 Koninklijke Philips Electronics N.V. Method and device for encoding a video signal
CN104270646A (zh) * 2014-09-22 2015-01-07 何震宇 一种基于移动流媒体的自适应传输方法和系统
CN104918077A (zh) * 2015-06-02 2015-09-16 北京邮电大学 一种视频传输方法、装置及系统
CN105263037A (zh) * 2014-07-18 2016-01-20 中国科学院声学研究所 一种基于客户端缓存的自适应流化方法
CN105451075A (zh) * 2014-08-27 2016-03-30 北京大学 视频质量控制方法和装置
CN105451099A (zh) * 2014-08-19 2016-03-30 北京大学 视频码率调整方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000040031A1 (en) * 1998-12-29 2000-07-06 Koninklijke Philips Electronics N.V. Method and device for encoding a video signal
CN105263037A (zh) * 2014-07-18 2016-01-20 中国科学院声学研究所 一种基于客户端缓存的自适应流化方法
CN105451099A (zh) * 2014-08-19 2016-03-30 北京大学 视频码率调整方法和装置
CN105451075A (zh) * 2014-08-27 2016-03-30 北京大学 视频质量控制方法和装置
CN104270646A (zh) * 2014-09-22 2015-01-07 何震宇 一种基于移动流媒体的自适应传输方法和系统
CN104918077A (zh) * 2015-06-02 2015-09-16 北京邮电大学 一种视频传输方法、装置及系统

Also Published As

Publication number Publication date
CN106791860A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106791860B (zh) 一种自适应视频编码控制系统及方法
US9532062B2 (en) Controlling player buffer and video encoder for adaptive video streaming
EP3338455B1 (en) System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
JP6337350B2 (ja) ビデオ品質向上
US9351020B2 (en) On the fly transcoding of video on demand content for adaptive streaming
US8649668B2 (en) Client playback of streaming video adapted for smooth transitions and viewing in advance display modes
US20170055007A1 (en) System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
JP2018186524A (ja) コンテンツ送信装置およびコンテンツ再生装置
CN104967872B (zh) 基于动态自适应码率传输协议hls流媒体的直播方法和服务器
US20130132462A1 (en) Dynamically Generating and Serving Video Adapted for Client Playback in Advanced Display Modes
US10148990B2 (en) Video streaming resource optimization
KR20180018747A (ko) 미디어 세그먼트들을 저장하기 위한 디렉토리 제한 기반 시스템 및 방법
US10958972B2 (en) Channel change method and apparatus
EP3047627B1 (en) Dash representations adaptations in network
US20180351868A1 (en) Multicast abr flow prioritization using error detection thresholds in the receiver
MX2013013373A (es) Metodo para adaptacion dinamica de la tasa de bits recibida y receptor asociado.
Zeng et al. TVSR‐OR: Tile‐based 360‐degree video streaming over real time streaming protocol with optimized read
WO2013071460A1 (en) Reducing amount op data in video encoding
Wang et al. A study of live video streaming system for mobile devices
Dubin et al. Progressive download video rate traffic shaping using tcp window and deep packet inspection
WO2020152045A1 (en) A client and a method for managing, at the client, a streaming session of a multimedia content.
Awad et al. Low Latency UHD Adaptive Video Bitrate Streaming Based on HEVC Encoder Configurations and Http2 Protocol
WO2022222533A1 (zh) 视频播放方法、装置及系统、计算机可读存储介质
Smanchat et al. Enabling parallel streaming of multiple video sections by segment scheduling
Vandana et al. Quality of service enhancement for multimedia applications using scalable video coding

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