[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN101855907A - 视频编码 - Google Patents

视频编码 Download PDF

Info

Publication number
CN101855907A
CN101855907A CN200880115285A CN200880115285A CN101855907A CN 101855907 A CN101855907 A CN 101855907A CN 200880115285 A CN200880115285 A CN 200880115285A CN 200880115285 A CN200880115285 A CN 200880115285A CN 101855907 A CN101855907 A CN 101855907A
Authority
CN
China
Prior art keywords
quality
bit rate
intermediate objective
standard deviation
aimed
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
CN200880115285A
Other languages
English (en)
Other versions
CN101855907B (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.)
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 CN101855907A publication Critical patent/CN101855907A/zh
Application granted granted Critical
Publication of CN101855907B publication Critical patent/CN101855907B/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/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/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
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

将要编码的序列分成多个临时部分或块。然后根据多个编码质量设置,分析该序列以便为各块确定建立质量设置与(i)该部分的质量度量和(ii)通过以该质量设置对该部分进行编码所生成的比特数之间的关系的数据。给定目标质量,然后设置目标比特率(或者相反);然后选择一组质量设置,每块一个质量设置,该组质量设置倾向于在经由指定大小的发送和接收缓冲器以目标比特率对经过编码的视频的传输和初始接收器缓冲器充满度不会造成下溢也不会造成溢出的约束内,最小化所述序列的组合质量成本。该组合质量成本是单个质量成本的总和,各个单个质量成本是相应编码部分的质量度量与目标质量的偏差的函数,该函数使得随着偏差的绝对值增加,成本也普遍地增加。然后使用所选择的质量设置来对序列进行编码。

Description

视频编码
技术领域
本发明涉及视频编码。
发明内容
根据本发明,提供了一种视频编码的方法,该方法包括以下步骤:
a)将要编码的序列分成多个临时部分;
b)根据多个编码质量设置,分析所述序列以便为各部分确定建立质量设置与(i)用于该部分的质量度量和(ii)通过以该质量设置对该部分进行编码所生成的比特数之间的关系的数据;
c)与目标质量和目标比特率一起分析所述数据,以选择一组质量设置,每部分一个质量设置,该组质量设置倾向于在经由指定大小的发送和接收缓冲器以所述目标比特率对经过编码的视频的传输和初始接收器缓冲器充满度不会造成下溢也不会造成溢出的约束内,最小化所述序列的组合质量成本;其中所述组合质量成本是单个质量成本的总和,各单个质量成本是相应编码部分的质量度量与所述目标质量的偏差的量的函数,所述函数使得随着所述偏差的绝对值增加,所述成本也普遍地增加;以及
使用所选择的质量设置来对所述序列进行编码。
本发明的其它方面在权利要求中限定。
附图说明
现在来参照附图描述本发明的一些实施方式,其中:
图1是视频编码器的框图;
图2是解释图1的编码器的操作的流程图;
图3到7是解释维特比(Viterbi)解码的操作的网格图;并且
图8、9和10是示出了特定编码器参数之间的相互关系的曲线图。
具体实施方式
图1中所示装置包括视频接口1,其在视频输入2处接收未压缩形式的经过数字编码的视频信号。处理器3在盘存储器4中存储的程序的控制下工作并且访问存储器5和对视频输出7进行馈送的视频输出缓冲器6。这些程序包括通用操作系统40和实现了马上要描述的多个编码方法之一的视频编码软件。该软件包括多个程序(或多组程序),即
-控制软件41;
-压缩软件42;
-感知质量评估软件43。
我们现在来参照图2的流程图描述根据本发明第一方案的视频编码方法。在这个方案中,我们假设经过编码的视频将存储在缓冲器6中并且以恒定比特率b从缓冲器读出到输出7。在相应的解码器(未示出,因为它是常规的)处,存在解码器缓冲器,该解码器缓冲器以该同样的恒定比特率接收经过编码的视频并且当需要时解码器将从该解码器缓冲器读取数据。在本说明中,“缓冲器大小”是指缓冲器能够容纳的最大比特数,而“缓冲器内容”或“缓冲器充满度”是指在任何给定时间实际存储在缓冲器中的比特数。除非另外声明,本说明中对缓冲器充满度的引用是指解码器缓冲器;然而要注意,解码器缓冲器充满度和编码器缓冲器充满度相关,因此对其中一个所表述的任何标准也能够对另一个来表述。
在步骤100中,在输入1处接收一序列经过数字编码的视频帧并且将其存储在盘4上。在该方案中,我们假设在处理开始之前捕获整个序列,尽管实际上这不是必要的。在步骤101中,该序列被分为N个块或部分,各块或部分包括一个或更多个帧。稍后将讨论对选择块长度和块间边界定时的约束。接下来,使用具有可变量化器步长的适当视频编码算法,以多种量化器步长Qk(k=1,...,K)进行试验编码过程。在该方案中,根据ITU-T建议H.264来执行编码。
在步骤102中,步长被设置为第一试验值Q1,并且在步骤103中,使用被设置为应用这一步长的压缩软件72来对序列进行编码。用于对各块进行编码的比特数记录在存储器5中,b(i)是用于对块i进行编码的比特数。然后在步骤104中,使用感知质量评估软件73来对各块进行评估,以便以瞬时平均判分iMOS(i)(在0到5的范围中)的形式对相关块产生质量度量。这些分数同样存储在存储器5中。如所示的,质量评估在编码之后进行,但是实际上人们将倾向于在各个经过编码的块可用时,与对后面的块进行试验编码并行地对各个经过编码的块进行评估。在步骤105中,检查对是否已对集合中的所有K个步长执行了试验编码。如果否,则在步骤106中将步长设置为集合中的下一个值,并且从步骤103开始重复该过程。
一旦已执行了全部的K次试验,则剩下的任务为判定使用哪个步长来对各个块进行编码。目标是以下中的一个:恒定的质量、满足不允许缓冲器溢出或下溢(underflow)的条件。允许缓冲器预载,即,在第一比特到达解码器和解码器开始解码(在该时刻接收器缓冲器充满度是bt0比特)之间存在延迟t0
为了使质量保持为适度恒定,我们倾向于定义目标质量iMOST,并且尽力最小化与该目标的质量偏差。可以是指定比特率b,或者要求特定的目标质量iMOST;因为这些变量是互相依赖的,无论指定了这些变量中的哪个,下一步骤(流程图中的步骤107)将会确定另一个变量的值。稍后将给出该步骤的细节。
下一步骤(108)使用维特比算法来针对各块选择量化器步长,以使得在满足避免缓冲器溢出和下溢的基本要求的条件下,所得到的步长集合满足对表示质量从目标偏离的程度的总体成本度量进行最小化(或者几乎最小化)的标准。这里,我们选择与目标的偏差的平方的总和,即:
SquareCost = Σ i = 1 N ( iMOS ( i ) - i MOS T ) 2 - - - ( 1 )
该算法可形象化为创建网格(trellis)。从开始节点,存在通向对第一块进行的各次编码的节点的路径,并且从这些节点中的各节点,我们添加对第二块进行的各次编码的路径,等等。在各路径上的各个节点具有关联的状态和总成本。状态值是解码器缓冲器充满度,该解码器缓冲器充满度被适当地量化以给出可能状态的实际数量。总成本是编码质量的一致性的累积度量。
当两个或更多个路径汇聚为单个状态时,如果成本相对于各分支是独立的并且是加性的,则我们调用贝尔曼最优原理(Bellman’s OptimalityPrinciple),该原理说明了如果子路径是最优路径中的一部分,则该子路径是最优的。这等同于说明,当我们的路径中的两个或更多个路径汇聚时,只有具有最低总成本的路径可能位于整体最优路径上。我们然后应用维特比算法并且从网格删除次优(sub-optimal)路径。我们也删除达到对应于缓冲器溢出或下溢的状态的任何路径。
我们可任意地选择初始状态,或者缓冲器级别,尽管这直接对应于启动延迟。好的开始点是50%充满度,尽管测试表明在不显著影响质量的级别或一致性的情况下,能够使用比这个充满度低的初始充满度。
在第一节点处,缓冲器充满度是初始状态bt0。在随后的时间周期tc(对应于块的播放持续时间)期间发生两件事:其它数据到达、从缓冲器移除btc比特和b1比特以对第一块进行解码。因此,在J个块周期之后,解码器缓冲器的充满度为
Figure GPA00001135017800041
当然,其中bj的值是对应于用于特定网格路径的量化器步长的值。
为了满足经编码的比特的总数(即,∑bj)等于进入缓冲器的比特的总数(即,btc乘以序列中的块数)这样的约束,最终状态应当(参见后面的讨论)对应于零缓冲器充满度,或者,如果假设在最后的块之后以速率b继续用伪(dummy)数据填充缓冲器,最终状态应当是初始状态。然后可删除通向其它最终状态的所有路径,仅留下穿过网格的一个路径:满足初始状态和缓冲器大小约束的最优路径。
图3示出了其中仅用三个量化指标对各块进行编码的网格,并且向该网格添加了两个块。两个路径汇聚在第三列节点上的一个节点处。可删除到该点具有较高成本的路径,并且将其示出为虚线。图4示出了向网格添加对又一个块的编码的结果。在最右侧列节点上,多个路径汇聚到各个节点。可再次删除到该点具有较高成本的那些路径,并且将其用虚线示出。一个路径超过了缓冲器大小,并且因此将导致溢出,则可以删除该路径。这样的结果是在第三列中的一个节点没有子节点,因此表示可以删除到该节点的路径。图5示出了删除图4的虚线路径并添加对视频的第四块的编码的结果。再次用虚线标记要删除的路径。图6示出了删除图5的虚线路径并添加对视频的第五块的编码的结果。再次用虚线标记要删除的路径。图7示出了删除图6的虚线路径的结果,并且因为在该示例中,仅有五个块要编码,所以可删除不导致初始状态(初始缓冲器充满度)的所有路径,因为它们对应于不满足比特率约束的编码。这样仅仅留下了对应于最佳编码的穿过网格的最优路径,如突出显示的路径所示。
一旦确定了最优路径,则量化器步长对于每个块是已知的:将这些值传递到最终的编码步骤109,其中编码软件对块进行编码并且将经过编码的数据输入到缓冲器6。
现在我们来给出实现的一些进一步的细节,并且论述多种替代方案。
A.分割为块
对于将视频序列分割为块,这里存在两种考虑因素:质量变化的独立性和用户感知。已经提到了,维特比算法的应用要求各块的成本度量(measure)是独立的,即,独立于为其它块选择的量化器步长。在没有参考其它帧而编码的帧(“I帧”)的情况下,总是这种情况,并且块可以由单个I帧组成。在使用帧间预测编码的情况下,P帧的比特的质量和数量很大程度上依赖于对用作预报器的先前的I帧或P帧进行的编码。然而,我们发现,如果块足够长,那么整体来看,这种影响对于块的被感知的质量具有相对小的影响,并且可以容忍。相反,如果块不是太长,则在块的持续时间上质量的变化从感知上是不显著的。这些考虑因素得出了分割为块的以下准则:
块可以(受到长度的限制,比如通常为1秒,最大为5秒):
-在视频信号仅仅由I帧组成的情况下,为一个帧或者任何数量的帧。
-在视频信号仅由I帧组成且在I帧之间有P帧的情况下,为以下之一:
(a)以I帧开始的任何序列;或
(b)如果它足够长(通常为五个帧或更多),使得它对先前帧的依赖在作为整体考虑的块的质量上不是重要的因素,那么它完全可以为任何序列。
-在视频信号由具有P帧的I帧和B帧组成的情况下,应用同样的规则,但是注意,当分割为块时,应当以编码(不是捕获和显示)顺序来考虑这些帧。
在某些情况下,尽力根据情况变化调整(align)块边界是有利的。
通常,人们将倾向于所有的块具有相同的长度,尽管这不是严格必需的。如果使用不同的长度,成本将根据块长度成比例地加大。
B.编码器
除了所提及的H.264编码,可使用允许平衡质量和比特率的任何压缩系统,例如ITU-T建议H.263和IS 13818-2。实际上,由量化器步长的变化实现平衡不是必需的;例如,人们可以替代地(或者附加地)使通过使用过滤和子采样运算所编码的空间分辨率变化,并且在基于变换的系统的情况下,人们可以选择性地丢弃变换系数。
C.量化器步长
在原型中,在步骤103中检查对应于从20到36的量化参数的整数值的一组17个量化器步长。这给出了较好的结果,但是非常需要处理能力,并且较少的值可以是优选的。一个有吸引力的选项是获得少量(可能是2或3个)量化参数的结果,然后通过内插来估计比特数b(i)和质量iMOS(i)。
为了估计比特数,期望的是,非线性内插是优选的。在H.264中,量化步长指数地均匀展开,以使得量化参数中的变化6对应于步长的加倍或减半。对于非常小的步长,这将对应于比特率的减半或加倍。但是量化过程中的死区意味着实际上这不会发生。在对五秒钟片段进行测试时,我们发现,平均来说,对于量化参数中的变化5,比特率加倍(减半),单步变化率通常在1.1到1.2的范围中。(注意21/5≈1.15。因此,根据少量的编码运行,人们可将曲线y=A·nx拟合到各块的数据点(x=量化参数,y=比特计数))。
为了估计质量iMOS(i),我们发现可使用线性内插,如在测试中,我们发现对于视频的给定块,质量iMOS(i)随着量化步长近似线性地变化:
iMOS(i)=C-D·ScaledStepSize(i)
其中,对于H.264,
ScaledStepSize(i)=2QuantisationParameter(i)/6
并且
D≈0.02865
C是依赖于视频块的结构(texture)的常数。
D.感知质量评估
所述方法不预先假定任何特定的质量度量;实际上,使用感知质量度量不是必需的;实际上,可使用信噪比,或者甚至可以使用量化器步长本身。然而,感知质量度量(即,考虑了掩蔽效应对人类观看者的主观影响的感知质量度)是优选的。一个特别有吸引力的方法是在我们的共同未决国际专利申请PCT/GB2006/004155(公开号WO2007/066066)中描述的方法。
E.目标比特率和目标质量
回到图2的流程图的步骤107,对此存在两种的替代实现方式。
首先,我们将考虑这样的情况,其中用户指定了目标比特率b,并且需要确定目标质量(iMOST)。图8和9是示出了针对目标比特率和缓冲器大小的一些组合改变目标iMOS的效果的曲线图。这些被示出用于说明的目的:为了执行编码,生成所示的数据不是必须的。它们是通过针对目标iMOS值的范围多次试验运行维特比算法而生成的。图8绘出了总成本与目标iMOS值的图。第一曲线用于通过针对各块(利用已经生成的iMOS和比特计数)选择给出最接近4.0的质量的量化器步长、添加相应的比特计数和取得平均比特率来计算的目标比特率。缓冲器大小被设置为避免缓冲器溢出必需的缓冲器大小的0.1倍,使用那些步长来对序列进行编码和发送。其它曲线以类似方式产生,其中比特率等于针对分别等于3.7、3.85和4.15的恒定iMOS和0.25、0.1和0.25的缓冲器大小的比特率。图9针对同样的测试绘出了实际iMOS的标准差。
要使用的确定目标iMOS的一种方法是下面的迭代方法,并且该方法在图10中示出。在该示例中,迭代将减小标准差作为其目标(即,与在测试中获得的实际平均iMOS的偏差的平方和的平方根),但是代替地可以使用另一质量变化的度量,例如方差,或者上面提到的总成本(即与测试中使用的目标iMOS的偏差的平方和)。首先,对于目标iMOS的下界x0=0.0执行维特比算法,得出对于序列的实际iMOS的标准差s0,并且对上界s1=5.0重复执行该算法,找出相应的标准差s1
1.设置下界目标质量(x0);
2.设置上界目标质量(x1);
3.用指定的目标比特率b执行维特比算法,以确定在这两个目标质量值处的质量的标准差(s0和s1)。
然后,对范围进行分割:
4.在下界目标质量(x0)和上界目标质量(x1)之间设置较低的中间目标质量(x2)。优选地,该分割按照黄金比例,以使得
Figure GPA00001135017800081
其中
Figure GPA00001135017800082
是黄金比例
Figure GPA00001135017800083
5.使用维特比算法确定在该点的质量的标准差(s2)。
6.在较低的中间目标质量(x2)和上界目标质量(x1)之间设置较高的中间目标质量(x3)。优选地,该分割按照黄金比例,以使得
Figure GPA00001135017800084
7.确定该点处的质量的标准差(s3);
根据在新的点(x3,s3)处的标准差低于还是高于在先前的(x2,s2)点处的标准差,替换当前的下界(x0,s0)或上界(x1,s1):
8.情况1-在较高的中间目标质量(x3)处的标准差(s3)低于在较低的中间目标质量(x2)处的标准差(s2):用较低的中间目标质量(x2)替换下界目标质量(x0)-现有的较高的中间目标质量(x3)成为新的较低的中间目标质量;或者
9.情况2-在较高的中间目标质量(x3)处的标准差(s3)高于在较低的中间目标质量(x2)处的标准差(s2):用较高的中间目标质量(x3)替换上界目标质量(x1)-现有的较低的中间目标质量(x2)成为新的较高的中间目标质量;
如果标准差s2和s3相等,那么可选择任一选项。
在图10所示的情况下,要替换的是(x0,s0);根据考虑将其移除,使得(x2,s2)成为新的下界。
然后计算新的点(x4,s4):
10.情况1:选择新的较高的中间目标质量,其位于较低的中间目标质量和上界之间;或者
11.情况2:选择新的较低的中间目标质量,其位于较高的中间目标质量和下界之间;
12.重复步骤8和9;
13.可选地,重复步骤11、12和13ζ次,其中ζ是≥0的整数。
14.然后期望结果为剩下的中间目标质量。
在每次迭代时,按黄金比例调整上界和下界之间的差。在测试中,我们使用20次迭代,得到上界和下界之间的最终差是0.000535。
一个替代方法涉及更快速的搜索,其中我们发现,通常两次迭代就足以得到较好的结果:
1)定义第一质量:在测试中,我们设置目标iMOS为5.0;
2)用指定的目标比特率b执行维特比算法,并且计算iMOS的标准差和平均iMOS。
3)如果该iMOS的标准差超过了阈值,将目标iMOS设置为平均iMOS,并且重复步骤2和3至少一次。
如果关于标准差多低是可接受的存在不确定性,则终止条件可替代地为以下的条件,该条件基于标准差不会变得显著地小于先前迭代时的标准差-并且如果标准差增加则确定地停止,即重复直到标准差σi未能降到低于它先前的值(低预定余量)时为止,即,直到σi≥σi-1-m为止。如果新的标准差大于先前的值,那么必须返回到平均质量的先前值。
第二种情况是用户已指定了目标质量(iMOST),并且需要确定平均比特率b。
这里,试验示出了iMOS的标准差(或者如上所述的偏差的其它度量)对目标比特率的依赖性非常类似于图8中目标iMOS的依赖性。因此,该方法非常类似于先前所使用的方法,其中基本思想是使比特率从最小值左右开始,并且迭代地靠近于最小值。造成新问题的唯一一点是选择比特率的下界和上界的初始值,使得它们分别低于和高于最小值。实际上,可选择任何值,然后这样来进行验证,即,表明如果使用小于目标的比特率,则得到的平均iMOS小于目标iMOS,而如果使用大于目标的比特率,则得到的平均iMOS大于目标iMOS。因此,该过程(注意步骤4和5相同,但是仅仅步骤5在循环中):
1)选择两个比特率,下界目标比特率和上界目标比特率,可能是目标比特率的任一侧;
2)用指定的目标质量(iMOST)运行维特比算法,以使用上界和下界中的每一个来确定iMOS的标准差和平均iMOS。
3)如果目标质量位于由平均值限定的范围之外,则重复步骤1、2和3;
4)通过在下界目标比特率和上界目标比特率之间设置较低的中间目标比特率来选择新的评估点。优选地,该分割按照黄金比例;
5)再次运行维特比算法来获得iMOS的平均值和标准差;
6)选择新的评估点并且运行维特比算法,计算iMOS的标准差:在下界目标比特率和上界目标比特率之间设置较高的中间目标比特率。优选地,该分割按照黄金比例;
7)测量以较高的中间目标比特率获得的质量的平均质量和标准差;
使用黄金分割的原理搜索,以通过消除极端(extreme)评估点中的一个来找出iMOS的最小标准差:
8)情况1-在较高的中间目标比特率处的标准差低于在较低的中间目标比特率处的标准差:用较低的中间目标比特率替换下界目标比特率-现有的较高的中间目标比特率成为新的较低的中间目标比特率;或者
9)情况2-在较高的中间目标比特率处的标准差高于在较低的中间目标比特率处的标准差:用较高的中间目标比特率替换上界目标比特率-现有的较低的中间目标比特率成为新的较高的中间目标比特率;
如果它们相等,那么可选择任一选项。
10)情况1:选择新的较高的中间目标比特率,其位于较低的中间目标比特率和上界之间;或者
11)情况2:选择新的较低的中间目标比特率,其位于较高的中间目标比特率和下界之间;
如果需要目标比特率更精确,可以反复执行这些步骤:
12.反复执行步骤8和9;
13.可选地,反复执行步骤10、11和12ζ次,其中ζ是≥0的整数。
14.结果是剩下的中间目标比特率。
F.成本度量
成本度量应当是质量差的函数,以使得成本通常随着该差的增加而增加。通常,我们是指,如果整体影响基本上连续增加,则由该规则得到的小偏差不会影响结果。通常,质量差的模数的单调增加函数将是适合的,尽管不排除(例如)比在向上方向上同样的偏差对降至低于目标的质量处罚更重的非对称函数。另外,推荐其梯度也是单调增加的函数。我们已评估的函数包括:
LinearCost = Σ i = 1 N | iMOS ( i ) - i MOS T | - - - ( 2 )
SquareCost = Σ i = 1 N ( iMOS ( i ) - i MOS T ) 2 - - - ( 3 )
CubicCost = Σ i = 1 N | iMOS ( i ) - i MOS T | 3 - - - ( 4 )
ExponentialCost 1 = Σ i = 1 N ( e | iMOS ( i ) - iMOS T | - 1 ) - - - ( 5 )
ExponentialCost 5 = Σ i = 1 N ( e 5 · | iMOS ( i ) - iMOS T | - 1 ) - - - ( 6 )
我们发现,Linear和Exponential1没有充分地处罚与目标iMOS的大偏差,因此获得了较低的性能。其它函数的性能都尚可,但是如上所述,我们倾向于Square。
作为对更重地处罚质量变化的细化,可以作为各块和它之前的块之间的质量差的函数来添加附加成本项。例如,人们可对于块j(j=2,...,N)添加附加项β.(iMOS(j)-iMOS(j-1))2,其中(β是优选(但不是必须)小于1的一些加权因子):
SquareCost = Σ i = 1 N ( iMOS ( i ) - i MOS T ) 2 + β · Σ j = 2 N ( iMOS ( j ) - iMOS ( j - 1 ) ) 2
G.网格状态量化
在测试中,在维特比算法中使用的缓冲器级别量化是变化的,以使得可允许状态的数量从30到10,000变化。结果示出,当用30个状态获得合理结果时,使用30个状态允许获得更加一致的质量。尽管使用甚至更多的状态获得甚至更多的一致性(iMOS的较低的标准差),但是对于所需的计算复杂性的增加来说,收益是小的。
H.块相互依赖或不精确的iMOS或b(i)1情况下的维特比解码
在所实现的方法中,通过使用给定量化器步长对整个序列进行编码来获得各块的成本(iMOS)。因此,在存在一些残余相互依赖(residualinterdependence)的情况下,当用与一个块的之前的块不同的步长来对该一个块进行编码时,获得的结果稍微地不精确。如在上面C节中所讨论的使用内插的情况下也会出现误差。质量度量的不精确性仅意味着结果与本来会获得的结果相比稍微地远离最优结果,并且是(适中地)可接受的。然而,比特计数的不正确的值可以更加严重,因为它有时候可意味着没有按照本应该的那样删除实际上导致了缓冲器下溢或溢出的网格路径。对该问题的解决方案如下:在编码期间,可监测与所期望的缓冲器状态的任何偏差并且将其用于触发维特比算法从该点向前的再运行(rerun)。另一替代方案是,不是在整个序列上运行维特比算法,而是可以将序列分为各自独立编码的子序列,或者维特比算法可在滑动窗口上运行(这在卷积码的解码中是常用的)。这假设应用实际的缓冲器级别,而不是算法的较早操作所产生的缓冲器级别。
I.在零处未完成的效果
前面说明了,要选择的网格路径是在零缓冲器充满度处终止的继续存在的路径(或者相当于同样的事情,如果在所有的真实数据消耗之后将伪数据继续输入接收器缓冲器,则要选择的网格路径是终止于等于初始充满度的缓冲器充满度处的剩余路径(survivor path))。考虑选择不同路径的效果是有利的。
选择在更大值的充满度处终止的路径是可能的。这对应于当解码完成时更多的伪数据处于解码器缓冲器中,因为用真实数据填充缓冲器已比必需的更早完成。这是因为该选择得到了一组量化器步长,该组量化器步长产生了比所选择的比特率能够携带的编码位稍少的编码位,并且是可接受的,因为主要的影响是传输比预期结束得稍早。因为浪费了传输能力,所以不是特别有吸引力来这么做,除非它导致比其它解决方案在质量上具有明显更低的变化的方案,或者没有在零充满度处终止的剩余路径。
选择在更小值的充满度处终止的路径也是可能的。这对应于当解码完成时更少的伪数据位于解码器缓冲器中,因为用真实数据填充缓冲器较晚完成。在极端情况下,根本没有伪数据,并且缓冲器最后是空的:用于对视频进行解码的比特总数B被给出为:
B = Σ j = 1 N b j = bt 0 + Nbt c .
注意,平均编码比特率不再是b,而传输比特率保持等于b。

Claims (19)

1.一种视频编码的方法,该方法包括以下步骤:
a)将要编码的序列分成多个临时部分;
b)根据多个编码质量设置,分析所述序列以便为各部分确定建立所述质量设置与(i)用于该部分的质量度量和(ii)通过以该质量设置对该部分进行编码所生成的比特数之间的关系的数据;
c)与目标质量和目标比特率一起分析所述数据,以选择一组质量设置,每部分一个质量设置,该组质量设置倾向于在经由指定大小的发送和接收缓冲器以所述目标比特率对经过编码的视频的传输和初始接收器缓冲器充满度不会造成下溢也不会造成溢出的约束内,最小化所述序列的组合质量成本;其中所述组合质量成本是单个质量成本的总和,各单个质量成本是相应编码部分的质量度量与所述目标质量的偏差的量的函数,该函数使得随着所述偏差的绝对值增加,所述成本也普遍地增加;以及
d)使用所选择的质量设置对所述序列进行编码。
2.根据权利要求1所述的方法,其中各部分从要编码的帧开始,而不必引用任何其它帧。
3.根据权利要求1所述的方法,其中各部分至少为持续的五个帧。
4.根据权利要求1、2或3所述的方法,其中各部分具有不超过五秒钟的持续时间。
5.根据权利要求1或2所述的方法,其中各部分具有不超过一秒钟的持续时间。
6.根据前述任一权利要求所述的方法,其中使用维特比算法执行所述分析(c)。
7.根据前述任一权利要求所述的方法,其中所述质量设置是量化器步长设置。
8.根据前述任一权利要求所述的方法,其中分析所述序列的步骤包括以多个不同质量设置对各部分进行的试验编码。
9.根据前述任一权利要求所述的方法,其中所述目标比特率是指定的,并且所述方法包括确定对应于该比特率的目标质量的步骤。
10.根据权利要求9所述的方法,其中所述目标质量是通过用所述指定的目标比特率和多个目标质量值根据步骤(c)迭代地执行多次试验分析来确定的,该多个目标质量值被选择为逐渐地减小所述迭代期间实际质量的变化的度量。
11.根据权利要求10所述的方法,其中所述目标质量是通过以下步骤来确定的:
(A)限定目标质量范围的上界和下界(x0,x1);
(B)测量与所述上界和所述下界处的目标质量的质量标准差(s0,s1);
(C)在所述上界和所述下界之间选择中间目标质量点(x2);
(D)在所述上界和所述下界之间选择另一个不同的中间目标质量点(x3);
(E)测量所述两个中间目标质量点处的质量的标准差(s2,s3);
(F)根据在所述两个中间目标质量点中较高的中间目标质量点处的标准差低于还是高于所述两个中间目标质量点中较低的中间目标质量点处的标准差,分别
(i)用所述较低的中间目标质量替换下界,选择另一中间目标质量并且测量在该另一中间目标质量处的质量的标准差,或者
(ii)用所述较高的中间目标质量代替上界,选择另一中间目标质量并且测量在该另一中间目标质量处的质量的标准差;以及
(G)重复步骤(F)至少一次。
12.根据权利要求10所述的方法,其中所述目标质量是通过以下步骤来确定的:
(i)定义第一目标质量;
(ii)测量使用该目标获得的质量的平均质量和标准差;
(iii)如果所述标准差超过阈值,则将所述目标质量设置为所获得的平均质量并且重复步骤(ii)和(iii)至少一次。
13.根据权利要求1到8中任何一项所述的方法,其中所述目标质量是指定的,并且所述方法包括确定对应于该质量的目标比特率的步骤。
14.根据权利要求13所述的方法,其中所述目标比特率是通过用所述指定的目标质量和多个目标比特率根据步骤(c)迭代地执行多次试验分析来确定的,该多个目标比特率被选择为逐渐地减小所述迭代期间实际质量的变化的度量。
15.根据权利要求14所述的方法,其中所述目标比特率是通过以下步骤来确定的:
(A)限定目标比特率范围的上界和下界;
(B)测量使用上界和下界中的每一个获得的质量的平均质量和标准差;
(C)如果所述目标质量位于由这两个平均值限定的范围之外,则重复步骤(A)、(B)和(C);
(D)在所述上界和所述下界之间选择中间目标比特率;
(E)在所述上界和所述下界之间选择另一个不同的中间目标比特率;
(F)测量所述两个中间目标比特率处的质量的标准差;
(G)根据在所述两个中间目标比特率中较高的中间目标比特率处的标准差低于还是高于所述两个中间目标比特率中较低的中间目标比特率处的标准差,分别
(i)用所述较低的中间目标比特率替换下界,选择另一中间目标比特率并且测量在该另一中间目标比特率处的质量的标准差,或者
(ii)用所述较高的中间目标比特率代替上界,选择另一中间目标质量并且测量在该另一中间目标比特率处的质量的标准差;以及
(H)重复步骤(G)至少一次。
16.根据前述任一权利要求所述的方法,其中所述成本度量是各个编码部分的质量度量与所述目标质量的偏差的函数,该函数是梯度随着偏差的增加而增加的函数。
17.根据权利要求16所述的方法,其中所述函数是所述偏差的平方。
18.根据前述任一权利要求所述的方法,其中所述组合质量成本包括以下的组成部分,该组成部分是一个部分的质量的度量的偏差以及该部分之前的部分的质量的度量的偏差的函数。
19.根据前述任一权利要求所述的方法,该方法包括,在步骤(c)中,对缓冲器充满度进行预测,并且在步骤(d)中,监测缓冲器充满度,并且在缓冲器充满度与所预测的缓冲器充满度不同达到预定程度时,针对未来的部分重复步骤(c)的分析。
CN2008801152856A 2007-11-07 2008-10-29 视频编码方法 Active CN101855907B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP07254407.5 2007-11-07
EP07254407A EP2059049A1 (en) 2007-11-07 2007-11-07 Video coding
EP072544075 2007-11-07
PCT/GB2008/003691 WO2009060178A1 (en) 2007-11-07 2008-10-29 Video coding

Publications (2)

Publication Number Publication Date
CN101855907A true CN101855907A (zh) 2010-10-06
CN101855907B CN101855907B (zh) 2013-10-16

Family

ID=39720171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801152856A Active CN101855907B (zh) 2007-11-07 2008-10-29 视频编码方法

Country Status (5)

Country Link
US (1) US8774275B2 (zh)
EP (2) EP2059049A1 (zh)
JP (1) JP5599715B2 (zh)
CN (1) CN101855907B (zh)
WO (1) WO2009060178A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724507A (zh) * 2012-06-18 2012-10-10 上海交通大学 一种gpu加速编码器码率控制方法
CN102724510A (zh) * 2012-06-21 2012-10-10 中科开元信息技术(北京)有限公司 一种基于虚拟编码缓冲区充盈度的码率控制算法
CN103339934A (zh) * 2010-12-29 2013-10-02 英国电讯有限公司 视频编码

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5345977B2 (ja) * 2010-06-14 2013-11-20 日本電信電話株式会社 適応量子化方法,適応量子化装置および適応量子化プログラム
EP2541935A1 (en) * 2011-06-29 2013-01-02 British Telecommunications Public Limited Company Video coding with quality control and rate control
EP2833640A1 (en) 2013-08-02 2015-02-04 British Telecommunications public limited company Video caching
US10356405B2 (en) 2013-11-04 2019-07-16 Integrated Device Technology, Inc. Methods and apparatuses for multi-pass adaptive quantization
US20150208069A1 (en) * 2014-01-23 2015-07-23 Magnum Semiconductor, Inc. Methods and apparatuses for content-adaptive quantization parameter modulation to improve video quality in lossy video coding
US10271112B2 (en) * 2015-03-26 2019-04-23 Carnegie Mellon University System and method for dynamic adaptive video streaming using model predictive control
WO2016183251A1 (en) 2015-05-11 2016-11-17 Mediamelon, Inc. Systems and methods for performing quality based streaming
US11076187B2 (en) 2015-05-11 2021-07-27 Mediamelon, Inc. Systems and methods for performing quality based streaming
FR3044196B1 (fr) * 2015-11-20 2019-05-10 Thales Methode de compression d'images permettant d'obtenir une qualite de compression fixe
US10880354B2 (en) * 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
US10778938B2 (en) 2018-12-20 2020-09-15 Hulu, LLC Video chunk combination optimization
CN110677664B (zh) * 2019-09-24 2021-07-13 杭州当虹科技股份有限公司 一种面向4k/8k超高清视频编码的低抖动码率控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006078594A1 (en) * 2005-01-19 2006-07-27 Thomson Licensing Method and apparatus for real time parallel encoding

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2536187B2 (ja) * 1989-10-09 1996-09-18 沖電気工業株式会社 動画像パケット符号化・復号化方式
JP3124143B2 (ja) 1993-01-20 2001-01-15 株式会社東芝 インバータ装置
JPH06261302A (ja) * 1993-03-05 1994-09-16 Kokusai Denshin Denwa Co Ltd <Kdd> トレリス型適応量子化によるセグメント単位固定ビット長符号化方式
US5978029A (en) * 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6128346A (en) * 1998-04-14 2000-10-03 Motorola, Inc. Method and apparatus for quantizing a signal in a digital system
CN1178518C (zh) * 1998-04-30 2004-12-01 皇家菲利浦电子有限公司 压缩数据的方法和装置
US7003171B1 (en) * 1998-07-17 2006-02-21 Fuji Photo Film Co., Ltd. Method, apparatus and recording medium for data compression
JP2003304404A (ja) * 2002-04-09 2003-10-24 Canon Inc 画像符号化装置
US20040028139A1 (en) * 2002-08-06 2004-02-12 Andre Zaccarin Video encoding
JP4791969B2 (ja) * 2004-09-24 2011-10-12 パナソニック株式会社 データ処理装置
DE102005042134B4 (de) 2005-09-05 2007-08-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computer-Programm zur Kodierparameterbestimmung für ein hybrides Kodierschema
US8254438B2 (en) 2005-12-05 2012-08-28 British Telecommunications Public Limited Company Video quality measurement
US8792555B2 (en) * 2006-01-31 2014-07-29 Qualcomm Incorporated Methods and systems for resizing multimedia content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006078594A1 (en) * 2005-01-19 2006-07-27 Thomson Licensing Method and apparatus for real time parallel encoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANTONIO ORTEGA,KANNAN RAMCHANDRAN,MARTIN VETTERLI: "Optimal trellis-based buffered compression and fast aproximations", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103339934A (zh) * 2010-12-29 2013-10-02 英国电讯有限公司 视频编码
CN103339934B (zh) * 2010-12-29 2016-06-22 英国电讯有限公司 视频编码
CN102724507A (zh) * 2012-06-18 2012-10-10 上海交通大学 一种gpu加速编码器码率控制方法
CN102724507B (zh) * 2012-06-18 2014-10-15 上海交通大学 一种gpu加速编码器码率控制方法
CN102724510A (zh) * 2012-06-21 2012-10-10 中科开元信息技术(北京)有限公司 一种基于虚拟编码缓冲区充盈度的码率控制算法
CN102724510B (zh) * 2012-06-21 2014-05-28 中科开元信息技术(北京)有限公司 一种基于虚拟编码缓冲区充盈度的码率控制算法

Also Published As

Publication number Publication date
US20100246677A1 (en) 2010-09-30
US8774275B2 (en) 2014-07-08
EP2208351B1 (en) 2015-11-11
WO2009060178A1 (en) 2009-05-14
JP2011503993A (ja) 2011-01-27
CN101855907B (zh) 2013-10-16
JP5599715B2 (ja) 2014-10-01
EP2059049A1 (en) 2009-05-13
EP2208351A1 (en) 2010-07-21

Similar Documents

Publication Publication Date Title
CN101855907B (zh) 视频编码方法
JP5236947B2 (ja) マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール
CN104205772B (zh) 具有缓冲器水位决策的改进的dash客户端和接收机
US8090014B2 (en) Managing multiview streaming video data composed of frames
US8996713B2 (en) Video streaming
JP2016040926A (ja) 前方エラー訂正(fec)符号およびストリーミング
TW201214439A (en) Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
CN1422459A (zh) 咬尾解码器和方法
Goldman et al. Length bias and search limitations in cartesian genetic programming
JP4308227B2 (ja) 映像品質推定装置、映像品質管理装置、映像品質推定方法、映像品質管理方法、およびプログラム
JP2014502366A5 (zh)
US8428124B2 (en) Moving picture encoding apparatus and distribution system
JP2009218724A (ja) 符号化装置、復号装置及び符号化システム
CN102369732B (zh) 视频流传输
JP2010166145A (ja) 動画像復号装置
TW200935759A (en) Programmable compute unit with internal register and bit FIFO for executing viterbi code
KR100790150B1 (ko) 비디오 부호화기 및 비디오 데이터 프레임 부호화 방법
CN110505479A (zh) 时延约束下逐帧相同测量率的视频压缩感知重构方法
Banerjee et al. Sequential decoding of convolutional codes for synchronization errors
CN103427951B (zh) 带有编码冗余控制的数据转发方法
JP4883455B2 (ja) 符号化装置、符号化方法および符号化プログラム
Banerjee et al. Sequential Decoding of Multiple Sequences for Synchronization Errors
Wu et al. Joint source-channel decoding of multiple description quantized Markov sequences
RU165283U1 (ru) Устройство оценки вероятности ошибки на бит в потоке бит, кодированных свёрточным кодом
CN107343205B (zh) 一种长期参考码流的编码方法及编码装置

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