CN102369732A - 视频流传输 - Google Patents

视频流传输 Download PDF

Info

Publication number
CN102369732A
CN102369732A CN2010800107225A CN201080010722A CN102369732A CN 102369732 A CN102369732 A CN 102369732A CN 2010800107225 A CN2010800107225 A CN 2010800107225A CN 201080010722 A CN201080010722 A CN 201080010722A CN 102369732 A CN102369732 A CN 102369732A
Authority
CN
China
Prior art keywords
quality
buffer
bit rate
cost
gop
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
Application number
CN2010800107225A
Other languages
English (en)
Other versions
CN102369732B (zh
Inventor
迈克尔·埃尔林·尼尔森
罗里·斯图尔特·特恩布尔
伊恩·巴里·克拉布特里
斯蒂芬·克利福德·阿普尔比
帕特里克·约瑟夫·马尔罗伊
S·霍尔
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN102369732A publication Critical patent/CN102369732A/zh
Application granted granted Critical
Publication of CN102369732B publication Critical patent/CN102369732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/177Methods 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 a group of pictures [GOP]
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)

Abstract

将要编码的视频序列划分成多个时间部分,并根据多个编码质量设置来分析所述视频序列以(至少为第一时间部分之后的每个时间部分)确定:(i)该部分的质量度量和(ii)通过以所述质量设置对该部分进行编码所生成的比特数。例如,使用类似于Viterbi的网格来分析这些数据,以选择倾向于使每个序列的组合质量成本最小化的一组质量设置,每个部分一个质量设置。该组合质量成本是单独的质量成本的总和,每个单独的质量成本都是相应编码部分的质量度量的函数。使用所选择的质量设置对该序列进行编码。为了确定每个单独的质量成本,尽管不能精确地知道在未来的任何给定时间能够获得什么样的网络吞吐量,但是通过估计接收器缓冲器满独及其标准差,可以将其开展下去。通过所述估计,可获得缓冲器上溢和下溢概率,单独的质量成本也是所述上溢和/或下溢概率的函数。

Description

视频流传输
本发明涉及网络上的视频流传输,其对于带宽可用性不确定的网络来说,非常有用。这种情况是因特网的典型特点,其中尽最大努力来传送数据包,或者其中物理介质具有内在的不确定的行为,例如,无线连接。
本发明既适用于在传送之前可以使用压缩资源的情况(例如,视频点播),也适用于不能提前得到完整资源的情况(例如,对直播事件进行流传送)。
于2006年3月/4月在IEEE网络上发表的题为“Adaptive Streaming within the3GPP Packet-Switched Streaming Service”的文章关注了这方面的内容,其详细描述了由于无线信道的性质而具有可变的传输带宽的移动网络上的3GPP标准的流传输业务。该系统使用了RTP/UDP,并且对通过RTCP报告而频繁发送的客户端缓冲状态消息作出反应,以在多个固定的比特率编码中进行选择,或者改变实时编码系统的速率以确保没有超过或低于运行的缓冲。
下面将参照附图,以举例的方式描述本发明的一些实施方式。
用于流传输视频的服务器包括如图1所示的编码设备,该编码设备包括用于接收在视频输入端2处经数字编码的未压缩形式的视频信号的视频接口1。处理器3在存储在盘存储器4中的程序的控制下工作,并且处理器3能访问存储器5和馈送视频输出7的视频输出缓冲器6。该程序包括通用操作系统40和执行马上就要描述的一个或多个编码方法的视频编码软件41。服务器向包括视频解码器的客户端传送视频信号。这是传统的结构,因此没有示出。然而,值得一提的是,客户端包括用于缓存接收到的视频数据直到它可以被解码的缓冲器。
在所设想的流传送系统中,每个媒体资源都被分割成多个时间片,并且以多个质量对每个时间片进行编码。通过以时间的顺序从任何一个不同的质量流发送时间片,来对该资源进行流传输。时间片通常被独立编码(例如,作为封闭的图像组,其中,每个组都以I帧开头),但是也可支持切换图像框以允许更多的位有效串联。作为解决动态带宽改变的流切换是公知的技术。然而,我们在此的目标是在每个时间片处选择进行流传送的质量,以在受到可用带宽和客户端缓冲的限制下使整个流的感知质量最大化。
在本说明书中,我们假设每个时间片都是图像组(GOP),并且以一组固定的质量对其进行编码。然而,应当指出的是,本发明同样适用于每个时间片使用不同组质量的情况。在原型中,尽管如果需要的话,可根据需要对所有的图像组进行编码,但是所有的GOP都以足够的提前量被提前编码,这样当需要时就可得到必要的结果。
在我们共同未决的申请号为08250815(代理人编号:A31594)的欧洲专利申请中描述了最好执行质量等级j的编码,其中,每个索引j都对应于各自固定的感知质量。
考虑像选择通过网格的路径这样的问题是有用的,其中每个节点都代表在传输完给定质量的时间片后,作为结果的缓冲状态(适当量化),并且每个链接都代表质量选择决定。需要将格子中的缓冲状态量化到这样的程度:有足够数量的状态以找到最佳的解决方案。我们的共同未决的申请号为PCT/GB2008/003691(代理人编号:A31511)的国际专利申请给出了用于恒定质量的视频编码的缓冲状态Viterbi网格的更多细节。
评价通过该网格的路径的质量不像求各个片的平均值那么简单。例如,众所周知,即使可变质量流可能会有更高的平均质量,但是恒定质量仍优于可变质量(参见D.Hands & K.cheng,Subject responses to constant and variable quality video,人类视觉和电子成像XⅢ2008,SPIE Electronic Imaging,San Jose,加利福尼亚,美国)。通常还建议超过一定的时间量程,感知质量朝着可见质量的较低端偏倚。
在此,我们假设我们具有一些质量的衡量标准,其能够对通过该网格的路径进行排名。我们以这样的方式来计算累积质量:达到路径上的任何给定点的累积质量度量只取决于达到先前的时间片的累积质量度量,以及从先前的时间片到当前的时间片的质量传输。这允许我们使用动态的编程技术,以便以非常有效的方式来选择最高质量路径。实际上,我们的优选的度量表述为成本(其较小,较高的是质量)。
我们将通过网格的达到时间片i的路径的成本度量写为:
Ci+1=f(qi,qi-1)+Ci
其中,qi是为时间片i选择的质量,Ci是达到(但不包括)时间片i的路径的累加成本度量。
我们可随后使用Viterbi算法来以非常高效的方式选择最高的质量路径。严格地说,Viterbi约束将会排除qi-1上的Ci+1的任何依赖,然而实际上,我们发现上述约束仍然能产生良好的结果。
通常,当流传输视频时,缓冲器用于提供一些来自媒体样本(压缩的)传输时间和它们的播放时间的去耦。该缓冲使得媒体样本的可变传输率平滑。
如果允许解码器缓冲器下溢(即,媒体样本的传输晚于它们应被解码和播放)或上溢(传输太多的样本并且不能保存),因而媒体播放的质量下降。该下降的性质将取决于多个因素,包括客户端的屏蔽能力、使用的传输协议,以及用于音频、视频或一些其他类型的媒体的缓冲器是否发生上溢/下溢。
当流传输内容时,我们需要达到在网络上的数据传输速率和将数据从缓冲器中取出以进行播放的速率之间的平衡,以使得缓冲器不会上溢或者下溢。
通常,以高质量编码的时间片将比以低质量编码的时间片产生更多的数据。因此,使用高质量时间片将会使数据以较高的速率从客户端缓冲器中取出播放,并且将需要较高的网络上的传输速率以防止缓冲器上溢。
还应当指出的是,通常,以相同的质量编码的不同时间片将会生成质量差别很大的数据。至少对于视频来说,压缩的时间片的大小将很大程度上取决于内容。显然,时间片的质量和数据率之间并不存在简单的关系。
在此,我们引入用于平衡质量和估计的未来带宽以控制缓冲器上溢和下溢的风险的手段。因为我们通常不知道网络的传输速率在未来会是多少,所以我们不会肯定地知道我们能够通过什么样的路径来传输时间片网格。
考虑到这种不确定性,我们将每个未来的时间片与下述概率分布联系起来:即,在当前时间和我们完成该时间片的传输的时间之间,我们很可能能够传输到客户端的比特数的概率分布。由于我们提前传送,且我们期望有更多的时间来传输更多的比特,所以我们期望该分布的均值增加。我们还将期望该分布的标准差增加,这表示由于我们对更远的未来做了进一步的估计而使得不确定性增大。
鉴于该概率分布和对当前客户端缓冲器充满的估计,我们能够为通向每个未来时间片的质量路径计算该每个未来时间片的客户端缓冲器充满的概率分布。这将使我们能够计算通过网格的特定路径将引起缓冲器上溢或者下溢的概率。
为了选择最佳路径,我们需要将我们的累积质量的概念扩展到包括缓冲器上溢或者下溢的概率。显然,将上溢和下溢的概率纳入到累积度量的方式将取决于上溢或者下溢对整个质量的感知的感知影响。例如,如果正使用TCP对媒体进行流传输,那么缓冲器的上溢是无关紧要的,这是因为TCP的流控制机制将会在不对感知质量造成任何影响的情况下处理它。然而,缓冲器的下溢将会是非常值得注意的,因为它通常会导致音频和固定视频的暂时丢失。从而可优选更满的缓冲器。
这意味着我们的成本度量的方式为以下形式:
Ci+1=f(qi,qi-1,oi,uk)+Ci
其中,
i和i-1是时间片索引,
oi是在我们从缓冲器中移出时间片i+1之前缓冲器上溢的概率,
ui是在我们从缓冲器中移出时间片i之后缓冲器下溢的概率。
在原型中,根据下式来计算成本:
Ci+1=Ci-A.qi.Ti+K.abs(qi-qi-1)+k′.ui+k″.oi
其中,A、K’和K”是加权因子,Ti是时间片的播放(观看)时间,其中,q以在ITU-R建议BT.500中定义的连续等级来衡量,其中,通过1和5(包含1和5)之间的值来表示质量方面的坏、差、普通和良好。产生良好结果的一些权重是A=1,K=10,K’=2.5,K”=2.5,qi处于2.6和4.2的范围之间。
图2是示出了编码操作的流程图。假设每次有一组图像;如果期望的是处理时间片,其中每个时间片由两个或更多组图像构成,那么对于“GOP”,其可理解为“时间片”或者“GOP序列”。
变量的术语如下:
I表示最近期的质量已被确定的GOP。
mI是估计的比特率,用于确定GOPI+1的质量。
考虑在GOP i从解码器缓冲器中移出之前的状态Ss,i可能是有帮助的,尽管状态没有真正的时间概念。
Bs,i是在GOPi从解码器缓冲器移出之前的缓冲程度。
Qs,i是为GOPi-1选择的质量。
Cs,i是对GOPi作出决定之前的成本。对GOPi的选择影响了下一个成本Cs,i+1
因此,Qs,0是没有意义的,Cs,0和Cs,1为0(或者任何其他的任意值),这是因为它们涉及使用Viterbi作出决定之前的等级。
200在传输之前,以每个质量等级对整个媒体资源进行编码,并且记录用于以每个质量j,bi,j编码每个GOPi的比特数。
202当传输即将开始时,对通过网络传输的平均比特率进行初始估计。这可从在服务器和客户端之间的先前信息交换期间进行的测量来获得,其中,例如客户端请求内容;或者它由服务器基于它已经传输了多少其他流、一天的时间或其他因子而得到的值;或者它可简单地为恒定值。我们将该初始平均比特传输率称作mINIT。由于确定了GOP的质量并传输了它们,所以我们将更新该平均比特传输率,在将要传输GOPI+1的质量的时刻,将其称作mI。因此mI未必是时刻I的实际比特率;更确切地说,它是能够在计算相关GOP I+1时使用的比特率的最新估计。
203我们确定将以信号的形式通知给接收器的启动延迟,其指示了在最初接收要被解码的数据和将代表第一GOP的数据立即从它的缓冲器移出并解码该数据之间,接收器应等待多长时间。可将该值设为固定值,例如,多于或少于一个GOP周期,或者可根据要被传输的视频资源来设置该值,对于特别难于压缩的最初视频场景的资源来说,可将该值设置为比较长。我们将该启动延迟表示为符号D。
请注意在这个例子中,我们一个接一个GOP地进行质量确定,但是在实际执行的例子中,如果期望,则可以在逐个图像(或者更小,例如,图片的部分)执行该视频处理,即,发送器将为GOP做决定,并随后依次传送GOP中的每个图像,在开始解码之前,接收器可能会等待直到已经传送了所有的第一图像。换句话说,启动延迟可小于GOP周期。当然,需要对该流程中的GOP等级机制进行适当的修改。
205设置所估计的接收器缓冲器充满标记F,以指示在瞬时移出代表第一GOP的所有比特之前,在接收器缓冲器中会立即有多少数据。这取决于启动延迟D和初始平均比特传输率mINIT
F=D·mINIT
207将作为量化缓冲器充满标记的状态值s定义为:s=F*(量化缓冲器状态的数量-1)/缓冲器大小的最大值,其中“/”表示取整的整数除法。
209将状态变量Ss,0标记为活动,并为该状态s分配初始成本Cs,0=0,并将缓冲程度Bs,0设置为F。对于每个GOP i(i=1到资源的结束)的每个可能状态s来说,我们将一系列变量Ss,i初始化为“非活动状态”。
211从可用的质量等级中的一个选择第一GOP的质量j0。该决定可基于对可实现的网络吞吐量的估计,或者可为恒量,例如,选择中档的质量。
213将传输第一GOP时的质量j0记录为Qs,1
217以选择的质量等级来传输第一GOP,并且也传输启动延迟D的值。GOP的传输被监视,并且如果需要,更新对网络吞吐量的统计以获得新的平均比特率的值m0和表示其变化的参数。
219我们将指针I设置为0:随着该方法的进行,该指针将指向最近确定质量的GOP的索引。
随后,为了确定下一个GOP(接着是随后的GOP)的质量:
221将局部指针i设置为I。
223如下所述,调用图3的流程图所示的过程来选择质量。
225递增指针I(I=I+1)。
227以选择的等级来传输GOP(GOP I)。对GOP的传输进行监控,如果需要,更新对网络吞吐量的统计以获得新的平均比特率的值mI和表示其变化的参数。
229从选择质量开始,中间经过以选择的质量来传输GOP,并监控该传输,从步骤211直到完成媒体资源的传输,重复该过程。
为了选择下一个GOP的质量,我们考虑选择通过网格的路径的问题,其中,每个节点都代表以给定的质量传输GOP后得到的缓冲器状态(适当量化),并且其中,每个链路都代表质量选择决定。通过由固定的参数划分期望的缓冲器满度(fullness)可获得缓冲器的状态,使用估计的网络吞吐量得到该期望的缓冲器满度。我们发现在缓冲器空和缓冲器满之间使用300个状态可提供令人满意的结果。在这种情况下,我们将根据下式根据缓冲器满B来确定状态s:s=B*299/缓冲器大小,其中“/”表示取整的整数除法。更一般来讲:
s=int((B*((状态数量-1)/缓冲器大小))+0.5)
其中,“int”表示整数部分(这样一来,例如,int(3.9)=3)。
在某些情况下,因为估计的缓冲器满度只是简单的估计:该时刻的实际值可能大也可能小,所以进一步的定义超过缓冲器上溢和下溢的状态可能是有利的。通过允许超过缓冲器大小的状态,我们能够增加更多通过网格的路径,从而可能找到更好的解决方案。例如,我们可能会允许状态为:从-100到400,并认为将会导致s的值在该范围之外的缓冲器满度等级是无效的,并从网格中清除这样的路径。
以上所提到的我们的申请号为PCT/GB2008/003691的国际专利申请给出了用于恒定质量视频编码的缓冲器状态Viterbi网格的更多细节。
现在我们转到图3的流程图:
300初始化。对于从GOP k=I+1到结束的每个GOP k的每个可能的状态s,我们将该系列状态变量Ss,k重新初始化为“非激活状态”。
302设置估计的接收器缓冲器满度标记F,以指示在瞬时移出GOP I+1的所有比特之前,在接收器缓冲器中会立即有多少数据,其中使用以下信息:利用当前估计的平均比特传输率mI和启动延迟D来确定多少数据已经被发送到接收器S以及在接收器准备解码GOP I+1的时刻期望发送多少更多的数据,以及接收器已经移出多少用于解码的数据,其中假定以质量ji编码的数据已经被解码。将从传输开始的时间的流逝表示为tI,将要被在接收器解码的附加时间单元GOP I+1表示为x,GOP周期为Ti,我们可得到:
t I + x = D + Σ i = 0 I T i
注意到已经传输的数据量S等于在该时刻已从接收器缓冲器移出的数据量,这允许我们将F设置为:
F=mI·x
304将状态值s定义为量化的缓冲器满度标记:s=F*(量化的缓冲器状态的数量-1)/缓冲器的最大容量,其中“/”表示取整的整数除法。将状态变量Ss,i+1标记为激活的,为状态s分配初始成本Cs,i+1=0,并将缓冲等级Bs,i+1设置为F。
307设置i=i+1。
309对于质量索引j的每个值和没有被标记为非激活的状态变量Ss,i的每个状态s,执行步骤S110到119的操作。
310通过增加估计的接收器在周期Ti接收到的比特数以及通过减去解码器所消耗的比特数bi,j,来确定接收器缓冲器满度标记的新值:
F′=Bs,i-bi,j+(mI*Ti)。
312在网格的下一等级i+1,将状态s’确定为缓冲器满度F’的量化值。如果这不是有效的状态,则由于它表示无效的满度等级,所以不考虑在网格中对该潜在路径的进一步处理,控制转到步骤319。
s’=F’*(量化的缓冲器状态的数量-1)/缓冲器的最大容量(取整)。
313根据估计的缓冲器满度标记F’与传输的比特数的标准差σi来计算上溢概率Os,i,j和下溢概率us,i,j,下面将对其进行详细说明。
314根据下式确定从状态s到状态s’路径的成本C’:
C′=Cs,i-A.qj.Ti+K.abs(qj-Qs,i)+K′us,i,j+K″os,i,j
其中,Qs,i是在通过网格直到GOP i的状态s的路径上对GOP i-1进行编码的质量。
os,i,j是从状态s开始,在我们移出时间片i+1之前缓冲器上溢的概率,此时已经对时间片i以质量j进行了编码。
us,i,j是从状态s开始,在我们移出质量j的时间片i之后,缓冲器下溢的概率。
315如果状态变量Ss′,i+1被标记为激活,则转向步骤317,否则转向步骤316。
316将状态Ss′,i+1标记为激活,并将该状态的成本Cs′,i+1设置为C′,将该状态下的缓冲器满度标记Bs′,i+1设置为F′,并将该状态的起源(parent)设置为:Ps′,i+1=s。还将用于在该状态到达的质量记录为Qs′,i+1=qj。转到步骤119。
317如果成本C′>=Cs′,i+1,则转到步骤119,否则转到步骤318。
318清除从在GOP i的状态Ps′,i+1到在GOP i+1的状态s’的网格中的路径。通过将Cs′,i+1设置为C′,Bs′,i+1设置为F′,以及Ps′,i+1=s,覆盖先前存储的值。这产生了从在GOP i的状态s到在GOP i+1的状态s’的网格中的路径。还将到达该状态的质量记录为Qs′,i+1=qj
319结束对该s和j的组合的处理。如果有更多图像需要处理,则转向步骤309。
320对于状态变量Ss,i没有被标记为非激活的各个状态s,确定是否有来自s的任何未来路径已到达该节点。如果从整个路径中没有清除任何路径,就会导致这种状态。
322如果在清除过程之后,只有一个从GOP I到GOP I+1的路径,则退出到步骤328。
324如果有更多的GOP需要处理,那么通过转回到步骤307来重复下一个GOP;否则(325),从到达文件的终端的该系列路径中选择会导致最佳的最终成本的路径,清除所有的其他路径并退出到步骤328。请注意,用于该最佳的最终成本的其他选择是可能的:一个(或者任何数量)GOP之后的最佳成本,沿着网格路径的最高最低缓冲器等级等。
328返回所选择的质量转变路径。
现在我们回到对估计平均比特率、其标准差以及衍生出的上溢和下溢概率的讨论。
为了能够在步骤313中计算上溢概率和下溢概率,我们需要估计在给定的时间能够通过网络的比特数,以及对该估计的精度的测量。我们优先估计比特数的平均值及其标准差,并随后采用高斯分布来计算概率。
我们测量紧接着先前的图片组的通过网路的平均比特率,比方说平均超过10到100图片组。我们随后假设该平均比特率mI持续到将来。那么在将来的某一时刻T传输的比特数的平均值m简单的为m=mI*T。
我们在会话随机开始和结束并且它们之间平均的分享总带宽的简单模拟网络中发现:以这种方式在给定的时间传输的比特数的平均值显著不同,并且传输的比特数的标准差大致按比例增加到平均值,并且增加到时间的平方根,直到大约平均值的25%的极限。
在对网络的测量中,我们发现类似平均的行为,标准差与达到限制的时间的平方根有很大的不同。在某些特定的情况下,我们发现标准差随着时间的推移几乎不变,大约为平均值的10%。
在我们的实验中,当我们将标准差σi模拟为按比例增加到平均值,并增加到时间的平方根(从当前时间到未来测量的),直到在25秒后平均值的25%的极限,并且随后维持在平均值的25%。这可表述为:
o i = min ( 0.05 Σ k = I + 1 i T k , 0.25 m )
另外一种选择是不断收集比特率的统计数据,并且计算最近时间窗上的实际标准差。
如上面的步骤114所示,我们随后使用这些结果来确定从GOP i到GOP i+1通过网格的路径在GOP i+1产生上溢(或者下溢)的概率,其被加入到从GOP i到GOP i+1的传输成本中。
在步骤110,我们已经确定了估计的缓冲器满度F’。在给定标准差σi的情况下,缓冲器满度的概率将实际达到0,即,可以在高斯累积概率表中查找(Bs,i-bi,j)/σi倍的标准差的偏差。另选地,可通过下式来对其进行计算:
u i = 1 σ i 2 π exp { - ( B s , i - b i , j ) 2 2 σ i 2 }
同样,如果满度超过缓冲器的大小B,缓冲器就会上溢。通过在高斯累积概率表中查找(F′-B)/σi,可得到发生这种情况的概率,或者通过下式也可以获得:
o i = 1 σ i 2 π exp { - ( F ′ - B ) 2 2 σ i 2 }
在本发明的另选实施方式中,我们提出了以下可能性:
-允许网格确定多于一个GOP的质量,并且如果实际的网络吞吐量和期望的网络吞吐量有很大的不同,则仅再次运行它;
-使用帧的超前窗(look ahead window),而不是查看直到结束的所有方式,这样它能够用于实时编码。
通过组合上溢和下溢的概率,该方法适用于实际带宽的变化。然而,当我们基于其他关于未来网络带宽的可用的信息,通过网格传送时,通过改变带宽估计可进一步将其扩展。可能会有其他已知的事件,例如即将结束的其他流,其引入了对其他流的依赖,但是这将意味着即将来临的带宽增加。在VBR视频编码的最佳带宽预留(参见K.Sun & M.Ghanbari,An Algorithm for VBR video transmission scheme over theInternet,电讯国际学术委员会论文集(IST2003),Isfanhan,伊朗,8月16-18,2003)的上下文中引入了阶梯状速率曲线。任何VBR资源都会有峰值速率的要求,以确保在内容的最难部分没有缓冲器不足的问题。一但该点过去,下一个峰值速率将会较低,以此类推。这种一系列的峰值速率形成了阶梯状的轮廓,并且也可得到所有当前流传送的资源的这种未来的轮廓。如果流传送速率与该速率的要求成正比(例如,使用MulTCP和可变N),这时将建议不要再增加新的流,随着时间的推移,将会有更大的速率和更少的竞争。
现如今,我们可能会知道什么类型的资源可能会被请求(EPG输入、儿童节目、体育赛事),因此至于我们未来的带宽规划将会是保守的还是乐观的,我们可能能够对此做出改变。
此外,如果一项资源始终会导致缓冲器溢出(即,持续的速率>最高的质量速率),那么使用TCP流量控制将会导致流减速,并且其他资源将会得到比预期更高的速率。相反,如果一个资源始终会导致缓冲器下溢,并且没有执行足够的播放延迟,那么它很可能会被删除,而其他资源将会再次得到更多的速率。
可以发现在此所描述的系统与我们较早的国际专利申请的区别在于:
a)具有恒定的感知质量,从而服务器可进行可变比特编码,并可获得不同质量的未来比特消耗需求。对于任何给定的传输速率来说,我们可计划未来的流切换路径,其中考虑了每个不同质量的速率要求的变化和客户端计划的缓冲器等级。
b)我们能够利用已知的未来事件(例如,因为结束很快的流),客户端缓冲器的状态和我们计划中得未来的带宽需求,以为可用速率获得较好的质量权衡。
如果我们正在使用影响任何带宽的技术方案,那么可在未来的规划中嵌入接收这些算法的特定流,以给出较好的结果。

Claims (4)

1.一种视频编码方法,该视频编码方法包括以下步骤:
a)将要编码的序列划分成多个时间部分;
b)根据多个编码质量设置,分析所述序列以至少为第一时间部分之后的每个时间部分确定:(i)该部分的质量度量和(ii)通过以所述质量设置对该部分进行编码所生成的比特数;
c)分析数据以选择倾向于使所述序列的组合质量成本最小化的一组质量设置,每个部分一个;其中,所述组合质量成本是单独的质量成本的总和,每个单独的质量成本都是相应编码部分的质量度量的函数;以及
d)使用所选择的质量设置对所述序列进行编码;
该视频编码方法的特征在于还包括以下步骤:
e)估计接收器缓冲器满度及其标准差;以及
f)在确定每个单独的质量成本时,根据所述估计来确定缓冲器上溢和/或下溢的概率,该成本也是所述上溢和/或下溢概率的函数。
2.根据权利要求1所述的方法,其中,根据对实际传输比特率的测量来估计所述接收器缓冲器满度及其标准差。
3.根据权利要求1所述的方法,其中,根据对实际传输比特率的测量来估计可被传输的平均比特率,使用该估计出的平均比特率来估计所估计的接收器缓冲器满度,以及作为所述平均比特率和所估计的比特率对该缓冲器满度有所贡献的时间的预定函数来估计一段时间后所估计的接收器缓冲器满度的标准差。
4.根据权利要求3所述的方法,其中,所述接收器缓冲器满度的直到预定极限的标准差与所述平均比特率和时间的平方根成比例。
CN201080010722.5A 2009-03-05 2010-03-04 视频流传输 Active CN102369732B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09250628A EP2227023A1 (en) 2009-03-05 2009-03-05 Video streaming
EP09250628.6 2009-03-05
PCT/GB2010/000390 WO2010100427A1 (en) 2009-03-05 2010-03-04 Video streaming

Publications (2)

Publication Number Publication Date
CN102369732A true CN102369732A (zh) 2012-03-07
CN102369732B CN102369732B (zh) 2015-09-23

Family

ID=41092107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080010722.5A Active CN102369732B (zh) 2009-03-05 2010-03-04 视频流传输

Country Status (3)

Country Link
EP (2) EP2227023A1 (zh)
CN (1) CN102369732B (zh)
WO (1) WO2010100427A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428107B (zh) * 2012-05-14 2016-08-24 中国科学院声学研究所 一种基于缓存下溢概率估计的自适应码流切换方法及系统
AU2014224432B2 (en) 2013-03-08 2019-10-24 Oxford Nanopore Technologies Limited Enzyme stalling method
US11076187B2 (en) 2015-05-11 2021-07-27 Mediamelon, Inc. Systems and methods for performing quality based streaming
WO2016183251A1 (en) 2015-05-11 2016-11-17 Mediamelon, Inc. Systems and methods for performing quality based streaming
US10911513B2 (en) 2018-07-16 2021-02-02 Netflix, Inc. Techniques for determining an upper bound on visual quality over a completed streaming session

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1248466A1 (en) * 2000-04-11 2002-10-09 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for transcoding of compressed image
CN101107863A (zh) * 2005-01-19 2008-01-16 汤姆森特许公司 用于实时并行编码的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1248466A1 (en) * 2000-04-11 2002-10-09 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for transcoding of compressed image
CN101107863A (zh) * 2005-01-19 2008-01-16 汤姆森特许公司 用于实时并行编码的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ORTEGA A ET AL: "《OPTIMAL TRELLIS-BASED BUFFERED COMPRESSION AND FAST APPROXIMATIONS》", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》, vol. 3, no. 1, 31 December 1994 (1994-12-31) *

Also Published As

Publication number Publication date
EP2227023A1 (en) 2010-09-08
WO2010100427A1 (en) 2010-09-10
WO2010100427A8 (en) 2011-10-06
CN102369732B (zh) 2015-09-23
EP2404449A1 (en) 2012-01-11

Similar Documents

Publication Publication Date Title
Bampis et al. Towards perceptually optimized end-to-end adaptive video streaming
CN103004190B (zh) 视频流传送
CN101305612B (zh) 用于对等订户小区的多源和弹性按需点播视频流媒体系统
CN103155580B (zh) 不同质量级别的自适应视频流
CN105393516A (zh) 在自适应流送中用缓冲器和范围约束来进行质量优化
CN106134130B (zh) 用于实时视频流量的动态有效速率估计的系统和方法
CN102450014B (zh) 用于质量感知视频优化的方法和视频优化器
CN103270765B (zh) 用于在视频信号编码和传输过程中评估视频信号质量的方法与设备
US8094578B2 (en) Method of predicting the transmission error rate in a communication network and server implementing such a method
CN106537923A (zh) 自适应视频流的技术
CN102369732B (zh) 视频流传输
CN111669617B (zh) 一种基于智能边缘的直播视频流的传输方法
KR100612691B1 (ko) 동영상 화질 평가시스템 및 방법
WO2010051834A1 (en) Method and system for determining a quality value of a video stream
Zahran et al. OSCAR: An optimized stall-cautious adaptive bitrate streaming algorithm for mobile networks
CN103314582A (zh) 用于在视频信号的编码或压缩期间评估视频信号的质量的方法和装置
CN103795996A (zh) 3d视频传递方法和设备
KR20140056094A (ko) 통신 파라미터들에 따라 콘텐츠를 다운로드하는 방법, 및 연관된 콘텐츠 수신기
CN114629797B (zh) 带宽预测方法、模型生成方法及设备
Belda et al. Hybrid FLUTE/DASH video delivery over mobile wireless networks
JP5743350B2 (ja) データ送信装置、前方誤り訂正方法、及びプログラム
JP5300760B2 (ja) 映像伝送システム、映像伝送方法及びプログラム
Stapenhurst et al. Adaptive HRD parameter selection for fixed delay live wireless video streaming
JP4460548B2 (ja) ユーザ体感品質推定装置、方法、およびプログラム
JP4460549B2 (ja) ユーザ体感品質推定装置、方法、およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant