首页> 中国专利> 用于分析和经验混合编码失真建模的方法和装置

用于分析和经验混合编码失真建模的方法和装置

摘要

提供了一种用于分析和经验混合编码失真建模的方法和装置。该装置包括失真计算器(315、320),用于通过将视频编码失真划分为第一部分和第二部分,使用经验算法计算所述第一部分,并且使用分析算法计算第二部分,以对视频编码失真进行建模。

著录项

  • 公开/公告号CN101513072A

    专利类型发明专利

  • 公开/公告日2009-08-19

    原文格式PDF

  • 申请/专利权人 汤姆森特许公司;

    申请/专利号CN200780032391.3

  • 发明设计人 杨华;吉尔·M·博伊斯;

    申请日2007-08-21

  • 分类号H04N7/26;H04N7/50;

  • 代理机构北京市柳沈律师事务所;

  • 代理人吕晓章

  • 地址 法国布洛涅-比扬库尔

  • 入库时间 2023-12-17 22:36:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-12

    未缴年费专利权终止 IPC(主分类):H04N7/26 授权公告日:20110727 终止日期:20150821 申请日:20070821

    专利权的终止

  • 2011-07-27

    授权

    授权

  • 2009-11-04

    实质审查的生效

    实质审查的生效

  • 2009-08-19

    公开

    公开

说明书

相关申请的交叉引用

本申请要求于2006年8月30日提交的美国临时申请第60/823,942号的优先权,在此通过引用并入其全部内容。

技术领域

本发明一般地涉及视频编码,并且更具体地,涉及一种用于分析和经验混合编码失真建模的方法和装置。

背景技术

在视频编码中,期望确定怎样最佳地准确估算视频帧的率失真(RD)曲线。当帧的率失真(rate-distortion)特征是已知时,可以最优地将有限的编码资源(通常是编码比特率)分配给不同的帧以便实现最优的整体编码性能。更经常的,将该问题用公式表示为率失真优化的帧层次(frame-level)比特率分配,目的是服从于特定的总比特率和缓冲区的限制而使平均或最大均方差(MSE)源编码失真最小化。因此,是否能够准确地估算帧的率失真特征将严重影响结果的整体的率控制性能。

实际上,现有的视频编码标准规定了用于编码的有限的数目的量化比例。知道应用了每个合理的量化比例之后的帧的结果的率失真数据就可以执行有效的率控制。在我们的讨论中,为了便利,假设用于变换编码的预测残留数据已经是可用的。现在的问题是对于所有的有效Q计算所有的R-Q和D-Q数据,这里“R-Q”表示具有某个Q的结果的编码比特,“D-Q”表示具有某个Q的结果的编码失真,并且“Q”表示量化比例,即,量化步长。请注意,在Q和由视频编码标准和推荐所定义的量化参数(用QP表示)之间存在一对一的映射。例如,在国际标准化组织和国际电工委员会(ISO/IEC)移动图像专家组-4(MPEG-4)第10部分高级视频编码(AVC)标准/国际电信联盟电信部分(ITU-T)H.264推荐(下文中的“MPEG-4 AVC标准”)中,QP范围从0到51,并且每个QP对应于某个量化步长或比例Q。为精确地计算率失真数据,必须借助蛮力(brute force)用所有的Q来穷举性地对帧进行编码。虽然穷举计算给出了最高的准确度,但也造成了令人却步的计算的复杂度,并且由此,实际上提出了多种率失真模型,目的在于用低的或减少的复杂度来准确估算率失真数据。

大多数现有的率失真模型是分析模型。在这些分析模型中,将R或者D表示为关于量化比例Q和残留信号的方差(variance)σ2的显函数。

我们知道原则上编码帧的结果率和失真不仅与量化比例相关而且与源视频信号自身的特征相关。然而,源视频信号的特征是非稳定的。因此,在分析模型中,普遍采取预测残留信号的方差来应对非稳定的视频信号。关于失真建模,在一种现有技术失真估算方法中失真估算可能采用关于Q和σ2的统一函数的简单形式,而在另一方法中,可以经由分段函数更准确地估算D,该分段函数根据Q关于σ的不同相对量值给出了不同的D-Q或D-σ2关系。分析率失真建模的最显著的优点是它的低运算复杂度。仅仅需要首先计算σ2,然后根据所规定的函数能够直接估算R或D。可以简单地在空间域残留信号上进行方差的计算,无需变换和量化操作,并且由此造成非常低的计算复杂度。然而,D-Q分析建模的缺点在于其折中的估算准确度,这主要是因为在率失真估算中仅仅使用方差来完全应对视频信号的非稳定性的影响是不够的。在较新的ρ-域分析RD模型中改正了这一缺点,其中不同于传统的R-Q和D-Q模型,新的模型是基于零量化的系数的百分比(表示为ρ),其与Q一对一映射。请注意,ρ是将Q应用到变换后的残留信号的结果,并且由此,不仅反映了Q的信息而且反映了非稳定源视频信号的信息。ρ-域比其他现有的基于Q的模型获得了更好的建模性能,而在此的代价是由于额外含有了离散余弦变换(DCT)引起的稍微增加的运算复杂度。

分析模型假定RD与Q(或ρ)之间固定的明确的关系。然而,实际上,帧的实际率失真数据呈现操作性的(operational)率失真曲线,其时常根本不是平滑的或者分段平滑的。这种失配可能极大地危害分析模型的估算准确度。为确保高的准确度,同时仍然减少复杂度,提出了经验的方法,其中仅仅对所选择的Q的小的集合进行穷举性编码,并且从已有数据内插剩余Q的率失真数据。虽然经验模型的建模准确度好于分析模型的建模准确度,但它需要多个额外的编码操作,这仍然引起了相当量的额外运算负荷,并且在实时视频流系统中不是总可以被接受的。

还值得注意的是就R建模而言,ρ-域模型已经实现了高的估算准确度,并且进一步改进的范围非常有限。然而就D建模而言,ρ-域模型和现有的基于Q的模型两者都不能呈现与ρ-域R模型的估算性能同样好的估算性能。

发明内容

本发明致力于现有技术的这些和其它的缺陷和缺点,其针对一种用于分析和经验的混合编码失真建模的方法和装置。

根据本发明的一方面,提供了一种装置。该装置包括失真计算器,用于通过将视频编码失真划分为第一部分和第二部分,使用经验算法计算所述第一部分,并且使用分析算法计算第二部分,以对视频编码失真进行建模。

根据本发明的另一方面,提供了一种装置。该装置包括视频编码器,用于通过为图像数据进行视频编码失真建模而对图像数据进行编码,其中所述编码器通过将视频编码失真划分为第一部分和第二部分,使用经验算法计算所述第一部分,并且使用分析算法计算第二部分,以对视频编码失真进行建模。

根据本发明的又一方面,提供了一种方法。该方法包括对视频编码失真进行建模。对视频编码失真进行建模的步骤包括以下步骤:将视频编码失真划分为第一部分和第二部分,使用经验算法计算所述第一部分,并且使用分析算法计算第二部分。

结合附图阅读以下的示范性实施例的详细描述,本发明的这些和其他方面、特征和优点将变得显而易见。

附图说明

根据以下的示例图可以更好地理解本发明,其中:

图1是根据本发明的一个实施例的、与混合失真模型相关的示范性方法的流程图;

图2是根据本发明的一个实施例的、用于估算视频帧的D-QP数据的示范性方法的流程图;

图3是根据本发明的一个实施例的、与生成估算的率失真模型数据相关的示范性的预分析器的框图;

图4是根据本发明的一个实施例的、可以应用图1的混合失真模型的示范性的帧层次率控制器的框图;

图5是根据本发明的一个实施例的、典型地采用帧层次和MB层次率控制的示范性的视频编码器的框图。

具体实施方式

本发明针对一种用于分析和经验混合编码失真建模的方法和装置。

用当前的描述来说明本发明。将由此理解的是本领域的技术人员将能够想到用于实施本发明的各种布置,虽然这些布置并没有明确地在此被描述或被示出但却包括在本发明的精神和范围中。

在此陈述的各种例子和条件性的语言是旨在是辅助读者理解本发明和(多个)发明人贡献的构思以促进本领域的教导性的目的,并且要被解译为不限于这样被具体陈述的例子和条件。

而且,在此陈述原理、方面,以及本发明的实施例的所有叙述,以及其具体的例子,是旨在包括其结构和功能的两者的等效物。另外,这样的等效物旨在包括当前已知的等效物以及在未来开发的等效物(即无论结构如何,执行同一功能的所开发的任何元件)。

从而,例如,本领域的技术人员将理解的是在此呈现的框图表示实施本发明的说明性电路的概念上的视图。类似的,将理解的是表示各种处理的任何流程图、流程图表、状态转换图、伪代码等等,其实质上可以以计算机可读介质表示并且通过计算机或处理器来这样执行,无论这样的计算机或处理器是否被明确地示出。

图中示出的各种元件的功能可以通过使用与合适的软件相关的专用的硬件以及能够执行软件的硬件来提供。当通过处理器来提供时,可以通过单一的专用处理器、通过单一被共享的处理器,或者通过多个单独的处理器(其一部分可以被共享)来提供该功能。而且,术语“处理器”或“控制器”的明确使用不应当被解译为排他性地指代能够执行软件的硬件,并且可以隐含地包括,但不限于,数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”),以及非易失性存储器。

还可以包括传统的和/或定制的其它的硬件。类似的,在图中所示的任何开关仅仅是概念上的。它们的功能可以通过程序逻辑的操作、通过专用的逻辑、通过程序控制和专用逻辑的交互,或者甚至是手动的(如从上下文中更具体地理解的、通过实施者可选择的特定的技术)来执行。

在其权利要求书中,表达为用于执行具体功能的部件的任何元件旨在包含任何执行该功能的方式,包括,例如,a)执行该功能的电路元件的组合或者b)以任何形式的软件(因此包括,固件、微代码等等)与用于执行该软件的合适的电路相结合以执行该功能。由这样的权利要求所限定的本发明在于这样的事实,以权利要求所要求的方式将各种陈述的部件所提供这些功能相结合并且集合在一起。由此认为可以提供这些功能的任何部件等效于在此所示的这些部件。

说明书中对于本发明的“一个实施例”或者“一实施例”的引用意味着连同实施例描述的具体的特性、结构、特征等等被包括在本发明的至少一个实施例中。从而,贯穿本说明书的各个位置上出现的“一个实施例中”或“一实施例中”短语的出现不是必须都指代同一实施例。

要理解的是关于MPEG-4 AVC标准在此描述了本发明的一个或多个实施例,但本发明不仅仅限于该标准,并且由此,可以利用关于其他的视频编码标准、推荐、以及其扩展(包括MPEG-4 AVC标准的扩展),同时保留本发明的精神。

而且,要理解的是虽然用亮度分量的失真在此描述本发明的一个或多个实施例,但本发明可等同地应用于色度分量的失真。从而,本发明可以用于关于亮度分量和/或色度分量的失真,同时保留本发明的精神。

另外,要理解的是术语“和/或”的使用,例如,在“A和/或B”的情形下,旨在包括选择罗列的第一选项(A)、选择罗列的第二选项(B),或者选择两个选项(A和B)。作为另一个例子,在“A、B,和/或C”的情形下,这样的短语旨在包括选择罗列的第一选项(A)、选择罗列的第二选项(B)、选择罗列的第三选项(C)、选择罗列的第一选项和第二选项(A和B)、选择罗列的第一选项和第三选项(A和C)、选择罗列的第二选项和第三选项(B和C),或者选择所有的三个选项(A和B和C)。如本领域和相关领域的一个普通技术人员易于清楚的是,这在罗列了许多条目时是可以扩展的。

如在此使用的,术语“经验的”用于指代所关心的编码比特(R)或编码失真(D)量的计算。在一些实施例中,这样的计算可能是穷举性的。如在此使用的,“穷举性的”和“实质上穷举性的”指代精确地计算量化失真而没有任何建模简化或近似。

而且,如在此使用的,术语“分析的”用于指代经由分析建模对所关心的编码比特(R)或编码失真(D)量的计算。

另外,如在此使用的,使用短语“非零量化的系数”来指代在用特定的Q量化之后将不会变成零的变换系数。即,短语“非零量化的系数”指代那些在用特定的Q量化之后将具有非零值的变换系数。

并且,如在此使用的,使用短语“零量化的系数”来指代在用特定的Q量化之后将变成零的变换系数。即,短语“零量化的系数”指代那些在用特定的Q量化之后将具有零值的变换系数。

如以上所提到的,本发明致力于一种用于分析和经验混合编码失真建模的方法和装置。

进一步如以上所提到的,就R建模而言,ρ-域模型已经实现了高的估算准确度,并且用于进一步改进的范围非常有限。然而就D建模而言,ρ-域模型和现有的基于Q的模型两者都不能呈现与ρ-域R模型的估算性能同样好的估算性能。

根据本发明,我们用新的混合失真模型来弥补这个缺陷,该新的混合失真模型优于所有其他现有的模型并且实现接近最优建模的性能。

由此,在一个实施例中,提供了一种用于估算帧的源编码均方差(sourcecoding mean squared error)失真特征的方法和装置。不同于它的前身(分析的或经验的方法),所提出的模型是分析和经验混合的模型。用有效的查找表格的方法来实施该混合的模型的一个实施例。该结果的模型具有分析建模的优点(具有低的运算复杂度)和经验建模的优点(具有高的建模准确度),并且能够一般地应用在与改进优化性能的问题(例如,帧层次比特分配或者在帧的源和信道编码之间的比特分配)相关的任何帧层次率失真优化中。

转到图1,通过参考标号100来概括表示与混合失真模型相关的一种示范性的方法。

该方法包括将控制传递给功能块110的开始块105。功能块110对具有A个像素的块应用离散余弦变换(DCT),用特定的量化值(Q)对变换的结果进行量化,并且将控制传递给功能块115。功能块115计算与特定量化值Q相关的失真,D(Q)=0,并且将控制传递给循环限制块120。循环限制块120对每个量化后的变换系数i执行循环,并且将控制传递给判定块125。判定块125判定当前量化后的变换系数i是否为零。如果为零,则将控制传递给功能块130。否则,将控制传递给功能块150。

功能块130执行经验算法以精确地计算失真如下,Di(Q)=Coeff2z,i(Q),并且将控制传递给功能块135。

功能块135计算D(Q)=D(Q)+Di(Q),并且将控制传递给循环限制块140。循环限制块140结束在每个量化后的变换系数i上的循环,并且将控制传递给功能块145。功能块145计算D(Q)=1AD(Q),并且将控制传递给结束块199。

功能块150执行分析算法以对失真进行建模如下,Di(Q)=112Q2,并且将控制传递给功能块135。

如图1所示,该混合失真模型包括两个分量,即,经验计算的来自零量化的系数的失真成分和分析计算的来自非零量化的系数的失真成分。

在一个实施例中,利用表格查找使用用于源编码失真的分析和经验混合模型提供了一种模型,该模型为每个量化比例准确地估算均方差量化失真并且由此同时实现高的建模准确度和低的运算复杂度这两者。

在基本的率失真建模问题中,普遍假设要进行变换、量化以及熵编码的输入信号是可得到的,并且率失真建模的任务是估算将不同QP应用到该输入信号上的率失真的结果。例如,在MPEG-4 AVC标准中,所关心的输入信号是运动补偿预测或内预测之后的残留信号。请注意,当在实际问题中应用率失真模型时,通常可能在变换编码之前不知道确切的输入信号。例如,在帧层次比特分配的问题中,不得不估算所有关心的帧的率失真数据而没有对它们中的任何一个进行编码。因此,在帧层次比特分配的时刻不可能知道确切的预测参考帧和帧的宏块编码模式。在比特分配中假定的参考和编码模式与在实际编码中采取的那些参考和编码模式之间的失配危害了基本的率失真建模的准确度。

根据一个实施例,对于某个帧和某个量化比例Q,结果的均方差失真D(Q)被划分为两部分:非零量化的系数的失真成分Dnz(Q)和零量化的系数的失真成分Dz(Q)。请注意,实际上,所关心的失真通常仅仅是亮度分量的失真。因此,为了便利,在本描述中,我们也指代亮度分量。然而,如以上提到的,所提出的模型也应用于含有亮度和色度分量两者的失真。在此,我们还忽略了剪切效应(clipping impact),并且假设频域中的失真与空间域中的失真是同样的。因此,我们有了以下:

在此,fi和表示帧的原始的和重构的像素,A表示帧中的像素的总数。请注意,在MPEG-4 AVC标准中,QP的范围从0到51,并且QP和Q之间的关系大致如下:

我们将非零量化的系数的量化误差建模为具有均匀分布的随机变量,并且由此,可以容易地计算非零系数的失真如下:

Dnz(Q)=(1-ρ(Q))·112Q2---(3)

在此,ρ(Q)表示零量化的系数在帧的所有的变换系数中的百分比,其与Q一对一映射。精确地计算零量化的系数的失真如下:

Dz(Q)=1AΣi=1(Q)Coeffz,i2(Q)---(4)

在此,Coeffz(Q)表示用量化比例Q将会被量化为零的系数的量值(magnitude)。概括起来,估算整个源编码失真如下:

D(Q)=(1-ρ(Q))·112Q2+1AΣi=1(Q)Coeffz,i2(Q)---(5)

实际上,在实际编码之前经由预分析处理可以估算帧的D-Q关系,并且来自等式(5)的结果估算的失真随后将被用于帧层次比特分配或率控制。如上所述,在预分析中假定的参考和编码模式与实际编码中采用的那些参考和编码模式之间存在不可避免的失配,这将危害基本的率失真建模的准确度。为补偿失配的影响,可以引入一个新的模型参数来如下计算最终的失真估算。在此,DModel(Q)是来自等式(5)的建模后的失真,DEst(Q)是最终的失真估算,并且α是所述模型参数。实际上可以用过去帧的实际的编码失真结果来适应性地更新α。

DEst(Q)=α·DModel(Q)                     (6)

不同于现有的是分析的或者是经验的失真模型,所提出的模型是混合的解决方案,其中对非零系数失真采用分析函数,并且对于零系数,计算它们的精确的失真成分。要注意的是在源编码失真建模中已经分开采用了假定均匀分布用于非零系数量化误差,并且对于零系数计算原样(as-is)失真。然而,不同于我们提出的模型,取决于Q相对σ量值的不同值,现有解决方案在估算整个源编码失真中全都应用两种方法中的一种,由此导致各种分段分析失真模型。具体地,在这些现有模型中,对于特定的Q,如果Q/σ小于阈值,很可能大多数系数将在量化后为非零,并且因此,通过Q2/12来估算整个失真。当Q/σ大于阈值,很可能大多数系数将被量化为零。在这种情形下,通过σ2来简单地估算整个失真。当假设零平均值时,在所有的系数被量化为零时σ2正好是失真。相反,我们的混合模型分别在实际的非零和零量化的系数上分开应用这两种有效的估算,并且是比现有分段模型更准确的模型。

事实上,我们的模型中可能导致不准确的唯一因素是关于非零系数的均匀分布的假设。经由广泛的实验,我们发现该假设实际上是很准确的假设,原因在于所估算的失真总是非常靠近实际的失真值。相反,ρ-域模型现有技术方法的分析D-(ρ,σ)关系的假定和在率失真优化的帧层次比特率分配现有技术方法中用于内插的平滑曲线的假设是比我们的假设更强的建模假设。相比我们提出的模型,这导致差的估算准确度。在实验中,我们将我们的模型的估算性能与在此描述的ρ-域分析模型的估算性能进行比较。结果显示我们的模型始终比现有模型实现了更好的性能。

就运算的复杂度而言,类似于现有ρ-域模型,我们的模型也估算变换域中的失真。由此,它需要一次变换操作,这仅仅造成微小的复杂度的增加。特别是,在MPEG-4标准中,所采取的变换是对原始离散余弦变换的近似,这含有更低的运算复杂度。我们的模型可能隐含的复杂度与零量化的系数的失真和百分比的计算有关。在最坏的情形下,对于每个Q,必须在所有的变换系数上进行量化,并且对零量化的系数的失真和数目进行穷举性的计数,这可能需要显著的运算复杂度。幸运地是,实际上,存在用于ρ计算的快速查找表格算法,该算法可以被扩展到我们情形的Dz(Q)计算。利用该快速算法,在所有系数上单一遍次(one single pass)的表格查找计算就能够为所有Q获取Dz(Q)和ρ(Q),这也只是微小地增加了复杂度。然而,存在用于存储查找表格的存储空间的一些额外的消耗。

实际上,可以用所提出的模型来估算帧的失真特征以用于优化的帧层次的比特分配。

图2和图3分别提供了用于估算视频帧的D-Q数据的示范性预分析方法和示范性预分析器。结果的数据随后用于如图4所示的帧层次的比特分配或率控制。要理解的是尽管图4示出了使用结果数据用于帧层次的比特分配或者率控制,但是在得到了在此提供的本发明的教导后,本领域或者相关领域的一个普通技术人员将很容易地能够扩展结果数据的使用来用于帧层次的比特分配和/或率控制(例如,在一些实施例中,该数据可以被用于这两者),同时保留本发明的精神。在图5中图示了含有帧层次和MB层次的率控制模块的示范性视频编码器。在这些图中,假设典型的图像组(GOP)编码结构。通常,将每个GOP的第一帧编码为I-帧。如图2和图3中所示的,为了简单和减少复杂度,在预分析中假设唯一的间16×16模式。当然,本发明不只是限于间16×16模式,并且由此,还可以使用其它模式,同时保留本发明的精神。而且,为减少在预分析假设的参考帧和实际编码导致的那些帧之间的失配,不同于使用用于预测参考的原始输入帧,可以应用量化来生成用于参考的近似的编码器重构帧,其中量化参数(QP)可以是最近被编码的GOP的某平均QP。

在预分析之后,如图4所示,然后在帧层次率控制模块中使用估算的R-Q和D-Q数据以执行帧层次比特分配。在此,RTarget表示目标比特率,Ri-1,actual和Di-1,actual分别表示最近被编码的帧(即,帧i-1)的实际被编码的比特数和失真值。Ri,allocated是用于当前帧(即,帧i)的最终被分配的比特预算。可以使用过去的编码结果(即Ri-1,actual和Di-1,actual)来适应性地更新R和D模型中的参数(例如作为提出的等式(6)的D模型的参数α)。可以以几种方式来应用经由所提出的混合失真模型估算的D-Q数据以优化帧层次的比特分配。例如,考虑到所有剩余帧并且满足剩余的总比特预算限制,一般通过最小化平均失真或者最小化剩余帧的最大失真来限定优化比特分配。然后将帧的所分配的比特预算发送给MB层次率控制模块,该模块最终确定用于每个宏块(MB)的合适的QP,并且用来准确地实现所分配的比特预算。这在图5中进行图示。

转到图2,通过参考标号200来概括表示一种用于估算视频帧的D-QP数据的示范性方法。

方法200包括开始块205,其将控制传递给循环限制块210。循环限制块210对视频序列中的每个帧执行循环,并且将控制传递给功能块215。功能块215执行运动补偿预测以生成残留数据,并且将控制传递给功能块220。功能块220为每个帧计算如下,QP[QPminQPmax],ρ(QP)=0,Dz(QP)=0,开且将控制传递给循环限制块225。循环限制块225对每个帧中的每个块i执行循环,并且将控制传递给功能块230。功能块230执行离散余弦变换(DCT)以生成用于当前块的系数,并且将控制传递给功能块235。功能块235为{ρi(QP),Dz,i(QP)}QP执行快速查找表计算,并且将控制传递给循环限制块240,循环限制块240结束在每个块i上的循环,并且将控制传递给功能块245。功能块245为每个帧计算如下,QP[QPminQPmax],ρ(QP)=ρ(QP)+ρi(QP),Dz(QP)=Dz(QP)+Dz,i(QP),并且将控制传递给循环限制块250。循环限制块结束在每个帧上的循环,并且将控制传递给功能块255。功能块255执行帧层次的平均以获得{ρ(QP),Dz(QP)}QP,并且将控制传递给功能块260。功能块260计算QP[QPminQPmax]和D(QP)=1-ρ(QP),并且将控制传递给结束块299。

转到图3,通过参考标号300来概括表示一种与生成估算的率失真模型数据相关的示范性预分析器。

预分析器300包括组合器305,组合器305具有与变换器310的输入端以信号通信相连接的输出端。变换器310的输出端以信号通信方式连接于快速查找表格315的输入端和量化器325的输入端。快速查找表格315的输出端以信号通信方式连接于帧层次ρ-Q数据和D-Q数据计算器320的输入端。

量化器325的输出端以信号通信方式连接于反量化器330的输入端。反量化器330的输出端以信号通信方式连接于反变换器335的输入端。反变换器335的输出端以信号通信方式连接于组合器340的第一非反(non-inverting)输入端。组合器340的输出端以信号通信方式连接于参考图像缓冲区345的输入端。参考图像缓冲区345的输出端以信号通信方式连接于运动估算器350的第二输入端。运动估算器350的输出端以信号通信方式连接于运动补偿器355的输入端。运动补偿器355的输出端以信号通信方式连接于组合器340的第二非反输入端和组合器305的反输入端。

组合器305的输入端和运动估算器350的输入端可作为预分析器300的输入端,用于接收输入的视频帧。帧层次ρ-Q数据和D-Q数据计算器320的输出端可作为预分析器300的输出端,用于输出帧层次的率控制数据。

快速查找表格315用于计算每个宏块(MB)的ρ-Q数据和Dz-Q数据。帧层次ρ-Q数据和D-Q数据计算器320使用所提出的混合模型计算ρ-Q数据和D-Q数据。运动估算器350使用间16×16模式来生成运动估算,运动补偿器355又使用该运动估算来生成运动补偿预测。

现在将在图2或图3中就所含有的两个块分别给出关于块层次快速查找表格和帧层次平均的描述。

首先,我们描述用于变换的块的ρ(QP)和Dz(QP)计算的快速查找表格算法。整个帧的所关心的量能够从它们对应的块层次的量中推导出。请注意,不同的视频编码标准可以具有不同的变换和/或变换块尺寸。例如,国际电信联盟电信部分(ITU-T)H.263推荐(下文中的“H.263推荐”)和MPEG-4 AVC标准的简档(simple profile)中,所采用的变换是离散余弦变换,这是在帧的每个8×8块上进行的,而在MPEG-4 AVC标准的当前版本(即,非简档)中,该变换是用于4×4块的经修改的离散余弦变换。对于每个变换的块,如下是快速查找表格算法:

块层次快速计算:

(1)初始化:QP,ρ(QP)=0,Dz(QP)=0.

(2)单遍次(one-pass)表格查找:对于每个系数Coeffi

(a)Leveli=|Coeffi|。

(b)QPi=QP_level_Table[Leveli]。QP_level_Table是为每个系数层次表示最小的量化参数(QP)的表格,该最小的量化参数将该特定层次的系数量化为零

(c)ρ(QPt)=ρ(QPi)+1,Dz(QPi)=Dz(QPi)+Coeffi2.

(3)加合:对于每个QP,从QPmin到QPmax

ρ(QP)=Σqp=QPminQPρ(qp),Dz(QP)=Σqp=QPminQPDz(qp).

在对帧的所有的块获得{ρ(QP),Dz(QP)}QP之后,如以下所示,能够分别将该数据平均以得到对应的帧层次的量。在此,B表示帧中的块的总数。

帧层次平均:对于每个QP:

(1)ρ(QP)=1AΣi=1Bρi(QP),

(2)如果ρ(QP)>0,Dz(QP)=1AΣi=1BDz,l(QP).否则,Dz(QP)=0。

从以上,我们能够看出经由在所有变换系数上的单遍次QP_level_Table查找能够计算所有的量化参数的ρ和Dz,并且所造成的运算成本相当小。

通过以上描述的快速计算算法,所提出的混合失真模型能够用非常小的运算复杂度实现很高准确度的失真估算。我们在MPEG-4 AVC标准简档编码器中实施该模型,并且经由广泛的实验来彻底地调查其性能。结果显示所提出的混合失真模型一致地实现了接近最优估算的准确度,即,所估算的失真总是紧密地接近实际的失真。该估算的性能优于其他已知的失真模型。而且,所造成的运算成本也相当小。因此,能够一般地将所提出的失真模型应用在任何基于率失真优化的比特分配问题中以取代现有失真模型,并且由此,改进了视频编码系统的整体性能。

转到图4,通过参考标号400来概括表示可以应用图1的混合失真模型的一种示范性的帧层次率控制器。

帧层次率控制器400包括第一更新器405,第一更新器405具有与帧层次比特分配器410的第一输入端以信号通信相连接的输出端。帧层次率控制器400还包括第二更新器415,第二更新器415具有与帧层次比特分配器410的第二输入端以信号通信相连接的输出端。

第一更新器405的第一输入端可用作帧层次率控制器400的用于接收RTarget的输入端。

第一更新器405的第二输入端和第二更新器415的第一输入端可用作帧层次率控制器400的用于接收Ri-1,actual的输入端。

第二更新器415的第二输入端可用作帧层次率控制器400的用于接收Di-1,actual的输入端。

第二更新器415的第三输入端可用作帧层次率控制器400的、用于接收关于R-Q和D-Q数据的估算值(例如,来自图3的预分析器300的)的输入端。

帧层次比特分配器410的输出端可用作帧层次率控制器400的用于输出Ri,allocated的输出端。

第一更新器405用于更新当前GOP中剩余帧的剩余比特。第二更新器415用于更新R和D建模参数。帧层次比特分配器410用于为当前GOP中的剩余帧执行帧层次的比特分配。

转到图5,通过参考标号500来概括表示可以应用本发明的一种示范性编码器。

编码器500包括组合器505,组合器505具有与变换器510的输入端以信号通信相连接的输出端。变换器510的输出端以信号通信方式连接于量化器515的第一输入端。量化器515的第一输出端以信号通信方式连接于变长编码器(VLC)555的输入端。变长编码器555的第一输出端以信号通信方式连接于宏块层次率控制器560的第一输入端和帧层次实际编码比特计算器565的输入端。宏块层次率控制器560输出端以信号通信方式连接于量化器515的第二输入端和反量化器520的第二输入端。量化器515的第二输出端以信号通信方式连接于反量化器520的第一输入端。反量化器520的输出端以信号通信方式连接于反变换器的525的输入端。反变换器的525的输出端以信号通信方式连接于组合器530的第一非反输入端。组合器530的输出端以信号通信方式连接于帧层次实际编码失真计算器550的第二输入端和参考图像缓冲器535的输入端。参考图像缓冲器535的输出端以信号通信方式连接于运动估算器和编码模式选择器540的第二输入端。运动估算器和编码模式选择器540的输出端以信号通信方式连接于运动补偿器545的输入端。运动补偿器545的输出端以信号通信方式连接于组合器505的反输入端和组合器530的第二非反输入端。帧层次实际编码比特计算器565的输出端以信号通信方式连接于帧层次率控制器570的第一输入端。帧层次率控制器570的输出端以信号通信方式连接于宏块层次率控制器560的第二输入端。帧层次实际编码失真计算器550的输出端以信号通信方式连接于帧层次率控制器570的第二输入端。

组合器505的非反输入端、运动估算器540的第一输入端、以及帧层次实际编码失真计算器550的第一输入端可用作编码器100的用于接收输入视频帧的输入端。

变长编码器555的第二输出端可用作编码器100的用于输出编码后的视频比特流的输出端。

现在描述一些关于本发明的众多伴随的优点/特征,以上已提到过它们中的一些。例如,一个优点/特征是一种具有失真计算器的装置,用于通过将视频编码失真划分为第一部分和第二部分,使用经验算法来计算第一部分,并且使用分析算法来计算第二部分,来为视频编码失真建模。

另一优点/特征是该装置具有上述的失真计算器,其中所述经验算法实质上是穷举性的

又一优点/特征是该装置具有上述的失真计算器,其中失真计算器通过为所述第一部分指定零量化的系数失真并且为所述第二部分指定非零量化的系数失真来划分视频编码失真。

而且,又一优点/特征是该装置具有失真计算器,如上述的,该失真计算器通过为所述第一部分指定零量化的系数失真并且为所述第二部分指定非零量化的系数失真来划分视频编码失真,其中,精确计算零量化的系数失真。

另外,又一优点/特征是该装置具有失真计算器,如上述的,该失真计算器通过为所述第一部分指定零量化的系数失真并且为所述第二部分指定非零量化的系数失真来划分视频编码失真,其中,失真计算器使用在所有零量化的系数上的单遍次查找来为所有量化步长计算零量化的系数失真的值。

并且,又一优点/特征是该装置具有失真计算器,如上述的,该失真计算器通过为所述第一部分指定零量化的系数失真而为所述第二部分指定非零量化的系数失真来划分视频编码失真,其中,使用具有均匀分布的随机变量来估算非零量化的系数失真。

另外,又一优点/特征是该装置具有上述的失真计算器,其中,所述失真计算器被包含在使用视频编码失真来分配帧比特预算的视频编码器中。

而且,又一优点/特征是该装置具有上述的失真计算器,其中,视频编码失真是源编码均方差失真。

另一优点/特征是该装置具有视频编码器,用于通过为图像数据进行视频编码失真建模来对图像数据进行编码。该编码器通过将视频编码失真划分为第一部分和第二部分,使用经验算法来计算第一部分,而使用分析算法来计算第二部分,来进行视频编码失真建模。

又一优点/特征是该装置具有上述的视频编码器,其中经验算法实质上是穷举性的。

而且,另一优点/特征是该装置具有上述的视频编码器,其中所述视频编码器通过为所述第一部分指定零量化的系数失真而为所述第二部分指定非零量化的系数失真来划分视频编码失真。

另外,又一优点/特征是该装置具有视频编码器,如上述的,该视频编码器通过为所述第一部分指定零量化的系数失真而为所述第二部分指定非零量化的系数失真来划分视频编码失真,其中,精确计算零量化的系数失真。

并且,又一优点/特征是该装置具有视频编码器,如上述的,该视频编码器通过为所述第一部分指定零量化的系数失真而为所述第二部分指定非零量化的系数失真来划分视频编码失真,其中,所述视频编码器使用在所有零量化的系数上的单遍次查找来为所有量化步长计算零量化的系数失真的值。

另外,又一优点/特征是该装置具有视频编码器,如上述的,该视频编码器通过为所述第一部分指定零量化的系数失真而为所述第二部分指定非零量化的系数失真来划分视频编码失真,其中,使用具有均匀分布的随机变量来估算非零量化的系数失真。

而且,又一优点/特征是该装置具有上述的视频编码器,其中,视频编码失真是源编码均方差失真。

本发明的这些和其他的特征和优点可以由相关领域的一个普通技术人员基于在此的教导很容易地确定。应当理解的是本发明的教导可以以各种形式的硬件、软件、固件、专用处理器、或者它们的结合来实现。

优选地是,将本发明的教导实施为硬件和软件的结合。而且,该软件可以实现为在程序存储单元上有形体现的应用程序。该应用程序可以上载到,并且通过包含任何合适的体系的机器来执行。优选地,该机器是在具有诸如一个或多个中央处理单元(“CPU”),随机存取存储器(“RAM”),以及输入/输出(“I/O”)接口之类的硬件的计算机平台上实现的。该计算机平台还可以包括操作系统和微指令代码。在此描述的各种处理和功能可以是由CPU执行的微指令代码的一部分或者是应用程序的一部分,或者是它们的任何结合。并且,诸如另外的数据存储单元和打印单元之类的各种其他的外设单元可以连接到该计算机平台上。

还要理解的是,因为优选以软件来实现附图中描绘的一些组成的系统组件和方法,取决于本发明编程的方式,在系统组件或者处理功能块之间的实际连接可能有所不同。通过在此给出的教导,相关领域的一个普通技术人员将能够想到本发明的这些和类似的实施方案或配置。

虽然参照附图在此已经描述了说明性的实施例,但应当理解的是本发明不限于这些明确的实施例,并且相关领域的一个普通技术人员可以在其中实施各种改变和修改而不脱离本发明的范围或精神。旨在将所有这样的改变和修改包括在所附的权利要求书中所阐述的本发明的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号