首页> 中国专利> 具有基于知觉的帧内切换的模式决策

具有基于知觉的帧内切换的模式决策

摘要

一种方法包括:对于要编码的每个目标图像部分,通过最优化包括失真的估计和对目标图像部分编码所需的比特率度量的函数而选择编码模式组中的优选模式,所述编码模式至少包括帧内模式和帧间编码模式;使用选择的编码模式将目标图像部分编码到编码的视频流中;以及通过有损信道发送编码的视频流。失真的估计基于来自包括目标块的可能损失的通过信道的可能新损失的贡献,并且基于来自包括目标部分的解码所依赖的编码的视频流的历史中的可能损失的通过信道的可能过去损失的贡献。该方法包括累积随着时间的推移来自过去损失的贡献,从而失真的估计增长,而不管来自新损失的贡献如何。

著录项

  • 公开/公告号CN103609115A

    专利类型发明专利

  • 公开/公告日2014-02-26

    原文格式PDF

  • 申请/专利权人 斯凯普公司;

    申请/专利号CN201280031219.7

  • 发明设计人 M.尼尔松;R.瓦芬;S.V.安德森;

    申请日2012-06-22

  • 分类号H04N19/159(20140101);H04N19/625(20140101);H04N7/64(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人张同庆;汪扬

  • 地址 爱尔兰都柏林

  • 入库时间 2024-02-19 22:44:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-24

    专利权的转移 IPC(主分类):H04N19/159 登记生效日:20200408 变更前: 变更后: 申请日:20120622

    专利申请权、专利权的转移

  • 2017-09-15

    授权

    授权

  • 2014-03-26

    实质审查的生效 IPC(主分类):H04N19/159 申请日:20120622

    实质审查的生效

  • 2014-02-26

    公开

    公开

说明书

技术领域

本发明涉及在使用帧内和帧间编码对视频信号编码时平衡比特率与失真之间的折衷。

背景技术

图1a中示意性地图示出要编码的视频数据流。该流包括多帧(F),每帧代表不同的对应时刻的视频图像。如本领域技术人员所熟悉的,为了编码的目的,每帧(F)被划分成若干部分并且每个部分也可以被细分成更小的子部分,每个部分或子部分包括多个像素。例如,依照一种术语,要编码的视频流的每帧被划分成宏块(MB)并且每个宏块被细分成块(b),每个块包括多个像素。每帧也可以被划分成可独立解码的切片(S),每个切片包括一个或多个宏块。应当注意,图1a中示出的划分仅仅是示意性的,用于说明的目的,并且应当理解的是,这些划分不一定预期与任何实际的编码方案相应—例如,每帧很可能包含更大数量的宏块。

图2的框图中示意性地图示出其中可以采用视频编码的一个实例通信系统。该通信系统包括第一发送终端12和第二接收终端22。例如,每个终端12、22可以包括移动电话或智能电话、平板计算机、膝上型计算机、台式计算机或者诸如电视机、机顶盒、立体声系统等等之类的其他家用电器。第一和第二终端12、22中的每一个可操作地耦合到通信网络32,并且第一发送终端12因此被布置成发送将由第二接收终端22接收的信号。当然,发送终端12也可能能够接收来自接收终端22的信号并且反之亦然,但是出于讨论的目的,所述发送在这里从第一终端12的视角进行描述,并且所述接收从第二终端22的视角进行描述。通信网络32可以包括例如基于分组的网络,例如广域网和/或局域网,和/或移动蜂窝网络。

第一终端12包括诸如闪存或其他电子存储器、磁性存储设备和/或光学存储设备之类的存储介质14。第一终端12也包括:具有一个或多个核的CPU形式的处理装置16;至少具有发送器18的诸如有线或无线调制解调器之类的收发器;以及视频照相机15,其可以与或者可以不与终端12的其余部分容纳在相同的外壳内。存储介质14、视频照相机15和发送器18中的每一个可操作地耦合到处理装置16,并且发送器18经由有线或无线链接可操作地耦合到网络32。类似地,第二终端22包括:诸如电子、磁性和/或光学存储设备之类的存储介质24;以及具有一个或多个核的CPU形式的处理装置26。第二终端包括:至少具有接收器28的诸如有线或无线调制解调器之类的收发器;以及屏幕25,其可以与或者可以不与终端22的其余部分容纳在相同的外壳内。第二终端的存储介质24、屏幕25和接收器28中的每一个可操作地耦合到对应的处理装置26,并且接收器28经由有线或无线链接可操作地耦合到网络32。

第一终端12上的存储介质14至少存储被布置成在处理装置16上执行的视频编码器。当被执行时,编码器接收来自视频照相机15的“原始”(未编码)输入视频流,对该视频流编码以便将它压缩成较低比特率流,并且输出编码的视频流以便经由发送器18和通信网络32传输至第二终端22的接收器28。第二终端22上的存储介质至少存储被布置成在其自身的处理装置26上执行的视频解码器。当被执行时,该解码器接收来自接收器28的编码的视频流,并且对它解码以便输出到屏幕25。可以用来指称编码器和/或解码器的通用术语为编解码器。

视频编解码器的目标是降低传输视频信号所需的比特率,同时维持最高的可能的质量。这个目标通过利用统计冗余(视频信号中的相似性)和知觉不相关性(与人类视觉系统的灵敏度有关)来实现。

当今的大多数视频编解码器基于这样的架构,该架构包括从其他像素块预测像素块,变换预测残差,量化变换系数以及对量化指标进行熵编码。这些步骤有助于降低冗余和不相关性。

参阅以下文献:

[1] ITU-T, Recommendation H.264, "Advanced video coding for generic audiovisual services", 2007;

[2] Zhang et al., "Error resilience video coding in H.264 encoder with potential distortion tracking", In Proc. IEEE International Conference on Image Processing, pp.163-166, 2004;

[3] M. Barkowsky, B. Eskofier, R. Bitto, J. Bialkowski, and A. Kaup, "Perceptually motivated spatial and temporal integration of pixel based video quality measures," in MobConQoE '07: Workshop on Mobile Content Quality of Experience, pp. 1-7, 2007;

[4] Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, document numbers JVT-N046 & JVT-V079, Sullivan et al, 1998。

预测典型地可以根据与当前帧不同的视频帧中的像素(帧间预测)以及根据相同帧中的像素(帧内预测)进行。换言之,如果使用帧内编码进行编码,那么该帧的一定块或部分(目标块或部分)相对于该帧中的另一块或图像部分(参考块或部分)进行编码;并且如果使用帧间编码进行编码,那么目标块或部分相对于另一帧中的参考块或部分进行编码。这个过程常称为预测或者预测编码。帧间或帧内预测模块因此将在帧内编码的情况下生成例如相邻块指示形式的预测和/或在帧间编码的情况下生成运动矢量。典型地,编码器也生成表示预测块与实际块之间的“剩余”差值的残差信号。然后,帧内预测、运动矢量和残差典型地经由诸如量化器和熵编码器之类的另外的编码级输出到编码的视频流中。因此,视频中的大多数块可以按照块之间的差值进行编码,这与对绝对像素值进行编码相比需要编码更少的比特,并且因而节省了比特率。帧内预测编码典型地需要比帧间预测更多的比特,但是相对于对绝对值进行编码仍然代表一种节省。用于视频的适当的帧间和帧内编码技术的细节应当是本领域技术人员所熟悉的。

现代编解码器允许将不同的预测编码模式用于帧内的不同部分。具有不同编码选项的可能性提高了视频编解码器的率失真效率。对于每一个帧区域,必须找到最优编码表示。典型地,这样的区域为例如16x16像素的宏块。即,因此有可能对于每个宏块单独地选择帧内预测或帧间预测模式,使得相同帧内的不同宏块可以利用不同的模式进行编码。也可能的是,在一些编解码器中基于宏块的不同分割水平使用不同的模式,例如在其中对于宏块内的每个4x4块执行单独的预测的较高复杂度模式或其中基于仅仅8x8或8x16块或者甚至整个宏块执行预测的较低复杂度模式之间进行选择。可用的模式也可以包括不同的用于执行预测的选项。例如,如图1b中示意性地图示出的,在一种帧内模式中,4x4块(b)的像素可以通过根据来自正上方的块的相邻像素向下外插或者通过根据来自正左方的块的相邻像素向侧面外插而确定。称为“跳跃模式”的另一种特殊的预测模式也可以在一些编解码器中提供,其可以被认为是可替换类型的帧间模式。在跳跃模式(PSkip)中,基于向顶部和向左边的运动矢量推断目标的运动矢量,并且不存在对于残差系数的编码。该推断运动矢量的方式与运动矢量预测一致,并且因而运动矢量差值为零,因此只需用信号表示MB为跳跃块。

图3为示意性地图示出例如可能在发送终端12上实现的编码器的高层次框图。该编码器包括:离散余弦变换(DCT)模块51,量化器53,逆变换模块61,逆量化器63,帧内预测模块41,帧间预测模块43以及减法级(-)。该编码器也包括开关47和模式选择模块49。这些模块或功能块中的每一个优选地实现为存储在发送终端的存储介质14上并且被布置用于在其处理装置16上执行的代码的部分,但是不排除这些模块或功能块中的一些或全部完全或者部分地在专用硬件电路中实现的可能性。

开关47和模式选择模块49中的每一个被布置成接收包括多个宏块MB的输入视频流的实例。模式选择模块49被布置成为每个宏块选择编码模式“o”,并且可操作地耦合到复用器47以便控制它将逆量化器63的输出传送至适合于选择的模式的帧内预测模块41或者帧间预测模块43的输入。模式选择模块49也可以被布置成向有关预测模块41、43指示选择的模式“o”(例如指示4x4分割模式、8x8模式、跳跃模式等等)。然后,帧内预测模块41或者帧间预测模块43的输出继续耦合到减法级(-)的输入,该减法级被布置成在其另一输入处接收未编码的输入视频流并且从其未编码的对等物中减去预测的块,从而生成残差信号。然后,残差块被传送通过其中将其残差值转换到频域中的变换(DCT)模块51,然后被传送到其中将变换的值转换成离散量化指标的量化器53。将量化的变换的信号通过逆量化器63和逆变换模块61反馈以生成所述块的预测版本(如解码器处将看到的)以供选择的预测模块41、43使用。预测模块41、43中使用的预测的指示、帧间预测模块43生成的运动矢量以及如变换和量化模块51、53所生成的残差的量化的变换的指标都是用于典型地经由另外的诸如熵编码器(未示出)之类的无损编码级包含在编码的视频流中的输出,在所述无损编码级中,预测值和变换的量化的指标可以使用本领域中已知的无损编码技术进一步压缩。

依照以上所述,编码表示因此可以包括块分割信息、预测模式、运动矢量、量化精度等等。最优编码选项取决于视频内容、比特率、早期编码决策等等。变换系数的量化精度典型地被选择成满足比特率约束。此外,失真应当最小化。

例如,H.264视频编码器在选择预测模式中提供了很大的灵活性[1]。对于亮度分量的帧间预测而言,可以将16x16像素的宏块表示为一个16x16像素块或者两个16x8像素块或者两个8x16像素块或者四个8x8像素块。此外,可以将8x8块表示为一个8x8像素块或者两个8x4像素块或者两个4x8像素块或者四个4x4像素块。对于宏块的每一个允许的分割,尝试帧间预测。块的帧间预测通过索引参考帧和运动矢量(从对应参考帧中的参考块的空间移动)来表示,所述运动矢量典型地以子像素精度估计。对于亮度分量的帧内预测而言,存在用于16x16块的四种可能的模式以及用于4x4块的九种可能的模式。此外,存在用于色度分量的四种可能的模式。最佳预测模式通过比较帧内和帧间预测模式的性能进行选择。

诸如H.264 AVC [1]的视频编解码器的率失真性能在较大的程度上取决于宏块模式选择o的性能。换言之,确定是否使用例如帧内模式或帧间模式(根据先前编码的帧预测)按照率失真折衷对宏块最佳地编码的过程。从鲁棒性的视角来看,帧内编码的宏块是有益的,因为它们停止了时间误差传播(假设使用有约束帧内预测,即禁止根据帧间预测的宏块进行帧内预测)。然而,帧内编码的宏块与帧间编码的宏块相比通常在代价方面更昂贵,并且因此重要的是系统地引入帧内编码的宏块,使得给定特定比特预算和信道条件,解码器处的失真(例如平均失真)最小化。Zhang等人[2]提出了基于解码器处的期望平均差平方和(SSD)的最小化引入帧内编码的宏块的这种系统框架。通过跟踪潜在的失真,Zhang等人能够计算与期望误差传播失真(解码器处)有关的偏差项,其在计算编码器率失真回路内的帧间宏块的成本时添加到源编码失真。

率失真性能优化问题可以根据在比特率约束R下最小化失真而公式化。拉格朗日优化框架经常用来解决这个问题。在这里,优化准则用公式表示为

                                    (1)

其中J表示拉格朗日函数,D表示失真度量(模式o和宏块m或者宏块子分割的函数),R为比特率并且λ为限定失真与比特率之间的折衷的参数。常用的失真度量为原始像素与重构像素之间的差平方和(SSD)或者原始残差与预测残差之间的绝对差和(SAD)。

在本申请中,求解拉格朗日优化问题意味着找到最小化拉格朗日函数J的编码模式o,其中拉格朗日函数J至少包括表示失真的项、表示比特率的项以及表示这两者之间的折衷的因子(“拉格朗日乘子”)。当编码模式o朝着更完全或者更佳质量的编码模式变化时,那么失真项D将减小。然而,同时比特率项R将增大,并且在特定点处,取决于λ,R的增加将超过D的减小。因此,表达式J将具有某个最小值,并且该最小值发生的编码模式o被认为是最优编码模式。

在这个意义上,比特率R或者更确切地说λR项将约束置于所述优化上,因为该项将最优编码模式从不断增加的质量拉回。找到这种最优平衡所在的模式将取决于λ,并且因此λ可以被认为表示比特率与失真之间的折衷。

拉格朗日优化常用在选择编码决策的过程中,并且应用于每个帧区域(例如每个16x16像素的宏块)。通常,可以评估所述失真以考虑到所有的处理级。这些包括预测、变换和量化。此外,为了计算重构的像素,必须执行逆量化、逆变换和逆预测的步骤。SSD作为失真准则经常是优选的,因为它与SAD相比导致更高的质量。通常,比特率也考虑到对所有需要的参数编码,这些参数包括描述预测和量化变换系数的参数[4]。

在[2]中,Zhang等人(作者)估计由于源编码和信道误差而引起的解码器中的潜在失真。然后,估计的潜在失真间接地用来朝着帧内编码偏置模式选择(如果存在信道误差概率的话)。

Zhang的所谓的端至端失真表达式基于差平方和(SSD)失真度量,并且假设伯努利分布用于损失的宏块。最优宏块模式oopt由下式给出:

                   (2)

其中Ds(mo)表示宏块m和宏块模式o的原始和重构像素块之间的SSD失真,R表示总比特率,并且λ表示使失真和比特率项相关的拉格朗日乘子。Dep-ref(mo)表示解码器中的参考块内由于误差传播而引起的期望失真。Dep-ref(mo)因此提供了偏置项,该偏置项在误差传播失真变得太大的情况下使所述优化朝帧内编码偏置。Dep-ref(mo)对于帧内编码的宏块模式为零。表达式Ds(mo)+ Dep-ref(mo)+λR(mo)可以被认为是拉格朗日函数J的一个实例。Argmino输出对于其而言表达式J的值最小的实参(argument)值o

在[2]中,Dep-ref(mo)跟随物体的运动并且根据总失真图使用当前运动矢量进行计算。总期望误差传播失真图Dep通过执行误差隐藏而驱动,并且在每个宏块模式选择之后被更新为:

                (3)

其中n为帧编号,m(k)表示宏块m的第k个子分割(即块),p为分组损失的概率,Dec-rec表示编码器中的重构像素与误差隐藏像素之间的SSD,并且Dec-ep表示编码器和解码器中的误差隐藏像素之间的期望SSD。

发明内容

Zhang [2]中的算法的一个问题是,它没有考虑到潜在失真对未来的影响。从知觉的观点来看,误差的持续时间是一个重要因素[3],并且本发明人相信,甚至小而持久的潜在期望误差传播失真最终也将触发帧内编码模式的选择。

依照本发明的一个方面,提供了一种对包括多帧的视频流编码的方法,每帧包括多个图像部分,该方法包括:对于要编码的每个目标图像部分,通过最优化包括失真的估计和对目标图像部分编码所需的比特率度量的函数而选择编码模式组中的优选模式,所述编码模式至少包括(i)相对于相同帧中的参考图像部分对目标图像部分编码的帧内模式,和(ii)相对于先前编码的帧中的参考图像部分对目标图像部分编码的帧间编码模式;使用选择的编码模式将目标图像部分编码到编码的视频流中;以及通过有损信道发送编码的视频流;其中失真的估计基于来自包括目标块的可能损失的通过信道的可能新损失的贡献,并且基于来自包括目标部分的解码所依赖的编码的视频流的历史中的可能损失的通过信道的可能过去损失的贡献;并且该方法包括累积随着时间的推移来自过去损失的贡献,从而失真的估计增长,而不管来自新损失的贡献如何。

因此,本发明将在其中诸如[2]之类的先验估计导致持续选择帧间编码模式的情况下使所述优化倾向于帧内编码。本发明因此提供了比特率与失真之间的更好的折衷,以及因而提供更加鲁棒的实时视频编码。

在实施例中,失真的估计可以包括表示源编码失真的第一项以及表示由于通过所述信道的损失而经历的失真的估计的偏置项,该偏置项基于所述来自可能的新损失和过去的损失的贡献。

偏置项可以基于:第二项,其表示在目标部分确实通过信道到达的情况下由于目标部分的预测所依赖的目标部分历史中的参考部分未到达而将经历的失真的估计;以及隐藏项,其表示由于隐藏而将经历的失真的估计;并且所述累积可以包括将时间积分因子应用到第二项。

隐藏项可以包括:第三项,其表示在目标部分通过信道损失的情况下目标部分相对于用来隐藏目标部分的损失的图像部分的隐藏失真的度量;以及第四项,其表示由于目标部分的隐藏所依赖的目标部分历史中的图像部分的损失而将经历的失真的估计。

来自新损失的贡献可能由第三项和第四项造成,并且来自过去损失的贡献可能由第二项和第四项造成。

所述方法可以包括确定分组将通过信道损失的概率p,其中第二项可以由因子1-p加权,隐藏项可以由因子p加权,并且第二项可以进一步由时间积分因子加权,从而第二项可以由大于1-p的组合因子加权。

偏置项可以基于包括所述第二项和隐藏项的误差传播失真图中的条目,并且所述方法可以包括:在每个编码模式选择之后更新误差传播失真图,以及根据误差传播失真图确定误差传播偏置项以用于每个对应的后续编码模式选择中。

选择的编码模式oopt可以由下式计算:

其中Ds(mo)+Dep-ref(mo)+λR(mo)为所述函数,Ds为第一项,Dep-ref(mo)为偏置项,R(o)为比特率,λ为表示失真与比特率之间的折衷的因子,并且m为目标图像部分的指标。

用于帧n+1的更新的失真图Dep可以这样配置以便随着来自新损失的贡献趋向零而趋向:

其中α为时间积分因子,并且n为已经对其确定了失真图的先前编码的帧。

失真图可以依照下式计算:

其中m(k)为第m个图像部分的第k个分割,Dep-ref为第二项,Dec-rec为第三项,并且Dec-ep为第四项。

所述编码模式组可以包括跳跃模式。

所述编码模式组可以包括将目标图像部分的不同子分割用于帧内和帧间编码中的至少一个的模式。

依照本发明的另一个方面,提供了一种用于对包括多帧的视频流编码的计算机程序产品,每帧包括多个图像部分,该计算机程序产品包含在非暂时性计算机可读介质上并且包括这样的代码,该代码在处理器上执行时执行以下操作:对于要编码的每个目标图像部分,通过最优化包括失真的估计和对目标图像部分编码所需的比特率度量的函数而选择编码模式组中的优选模式,所述编码模式至少包括(i)相对于相同帧中的参考图像部分对目标图像部分编码的帧内模式,和(ii)相对于先前编码的帧中的参考图像部分对目标图像部分编码的帧间编码模式;使用选择的编码模式将目标图像部分编码到编码的视频流中;以及通过有损信道发送编码的视频流;其中失真的估计基于来自包括目标块的可能损失的通过信道的可能新损失的贡献,并且基于来自包括目标部分的解码所依赖的编码的视频流的历史中的可能损失的通过信道的可能过去损失的贡献;并且该程序进一步这样配置,以便当被执行时累积随着时间的推移来自过去损失的贡献,从而失真的估计增长,而不管来自新损失的贡献如何。

在实施例中,该计算机程序可以进一步这样配置,以便当被执行时执行依照上面的方法特征中的任何特征的操作。

依照本发明的另一个方面,提供了一种用于对包括多帧的视频流编码的装置,每帧包括多个图像部分,该装置包括:编码器,其被配置成对于要编码的每个目标图像部分,通过最优化包括失真的估计和对目标图像部分编码所需的比特率度量的函数而选择编码模式组中的优选模式,所述编码模式至少包括(i)相对于相同帧中的参考图像部分对目标图像部分编码的帧内模式,和(ii)相对于先前编码的帧中的参考图像部分对目标图像部分编码的帧间编码模式;其中该编码器被配置成使用选择的编码模式将目标图像部分编码到编码的视频流中;所述装置进一步包括用于通过有损信道发送编码的视频流的发送器;失真的估计基于来自包括目标块的可能损失的通过信道的可能新损失的贡献,并且基于来自包括目标部分的解码所依赖的编码的视频流的历史中的可能损失的通过信道的可能过去损失的贡献;并且所述编码器进一步被配置成累积随着时间的推移来自过去损失的贡献,从而失真的估计增长,而不管来自新损失的贡献如何。

在实施例中,所述编码器可以进一步被配置成执行依照上面的方法权利要求中的任何一个的操作。

附图说明

为了更好地理解本发明并且示出可以如何将其付诸实施,通过实例的方式参照附图,在附图中:

图1a为视频流的示意性表示,

图1b为一些帧内预测编码模式的示意性表示,

图1c为帧间预测编码模式的示意性表示,

图2为通信系统的示意性框图,

图3为编码器的示意性框图,以及

图4示出了解码的视频信号中的可见伪像的实例。

具体实施方式

如所提到的,[2]中的算法的一个问题是,它没有考虑到潜在失真对未来的影响,但是依照本文的公开内容,相信甚至小而持久的潜在期望误差传播失真最终也将触发帧内编码模式的选择。在以下描述的实施例中,例示出如何将时间积分包含到期望误差传播失真的表达式中以便促进这点。

图4示出了使用Zhang等人[2]的算法的帧/切片损失之后典型的剩余伪像的一个实例。由圆圈标记的区域中的来自(3)的期望潜在误差传播失真不够高以便触发帧内编码,并且结果,伪像将仍然存在,直到下一帧内或场景变化。

相反地,如果潜在误差传播针对时间积分,那么很可能将触发帧内编码并且剩余伪像随着时间的推移而消失。如何可以实现这点的一个实例实施例在下一节中给出。

本发明的一个特定的实施例基于对Zhang等人[2]的算法的修改,该修改将时间积分结合到期望误差传播失真中。它针对误差传播失真图的更新对方程(3)做出以下修改:

              (4)

其中α表示时间积分因子(α>1)。足够大的因子α和非零Dep-ref导致Dep甚至在其中误差隐藏重构失真Dec-rec为零的条件下也增长,并且因此最终触发帧内编码。α的选择经受调整,并且可能有益的是对于不同的比特率和信道条件具有不同的α值。

编码器与关于图3所描述的编码器类似,但是具有被配置成随着时间的推移对失真影响积分的修改的模式选择模块49。它可以用来对图1中所图示种类的视频流编码,并且在诸如图2的通信系统之类的通信系统中实现。

现在更详细地讨论时间积分因子α和方程(4)的含义。

如所提到的,模式选择可能涉及最优化(例如最小化)拉格朗日型函数:

                               (1)

其中J表示拉格朗日函数,D表示失真度量(模式o和宏块m或宏块子分割的函数),R为比特率,并且λ为限定失真与比特率之间的折衷的参数。

在常规的情况下,失真项D仅仅考虑到源编码失真,即归因于编码器中的缺陷,例如由量化引入的失真。它没有考虑到可能由于通过信道的数据损失,例如由于通过基于分组的网络32的传输中的分组损失而引入的失真。

另一方面,诸如本发明和Zhang [2]的技术之类的损失自适应技术试图限定考虑到源编码和由于通过信道的数据损失而引起的失真二者的“端至端”失真度量。对于给定(目标)块的端至端失真可以描述为:

                              (5)

其中Darrival为在目标块确实到达解码器的情况下将经历的失真的估计,并且Dloss为在目标块由于通过信道的分组损失的原因,例如由于通过基于分组的网络32的包括该块的分组的损失的原因而未到达解码器的情况下将经历的失真的估计。参数p为导致所讨论的块损失的通过信道发生的损失事件的概率的估计,例如分组损失的概率的估计。

Darrival不仅表示源编码失真,而且表示由于块的过去失真,即根据其预测目标块的一个或多个参考块中的失真而将引入的失真。因此,Darrival包括源编码失真项Ds和误差传播失真项Def-ref,所述误差传播失真项表示预测的目标块的历史中的失真(即将向前带到目标块中的目标块的参考块中的失真):

                                 (6)

Dloss包括由于隐藏而引起的损失。如果未接收到目标块,那么解码器将应用隐藏算法,该隐藏算法可能涉及冻结先前解码的块,或者根据一个或多个成功解码的块(根据当前帧和/或前一帧)进行内插或外插。因此,Dloss可以被识别为由于该隐藏过程而引起的失真:

                                         (7)

因此,检查方程(5),项Ds表示在根本没有损失的情况下将经历的失真的估计,项Dec表示在目标块损失的情况下将经历的失真的估计,并且项Dep-ref表示在成功地接收到目标块但是其历史中的一些东西损失的情况下(在目标块的参考块损失或者参考块的参考块损失等等的情况下)将经历的失真的估计。

DsDep-ref为编码模式选择o的函数。Dec不是模式选择o的函数,并且因此从拉格朗日表达式中除去(损失的块如何被编码是无关紧要的—它仍然是损失掉的)。因此,所述优化可以写成:

                    (2)

Ds为确定性的,因为它基于在编码器处可能已知的信息,例如基于原始输入样本值s与重构样本值之间的差值。编码器在编码器侧运行解码器的并行实例(或者其近似)—参见图3中详述帧间预测模块43的插图。帧间预测模块43包括运动补偿预测(MCP)功能块44和加法级(+),其被布置成通过对于每个样本指标i组合预测的样本和重构的残差而确定重构样本,即。在帧间编码的情况下,在编码器处,预测的样本可以与参考块的样本相同(参考帧中的参考块正好按照相对于目标帧的运动矢量偏移—参见很快将再次讨论的图1c)。

因此,编码器可以确定实际样本s与如编码器处所看见的重构样本之间的差值(到目前为止这忽略了将引入解码器处经历的另外的失真的损失的可能性)。样本的差值可以例如计算为所讨论的目标块的所有样本指标i上的差平方和(SSD)误差:

                                      (8)

然而,Dep-ref仍然要估计,这将基于就通过其传输编码的数据的信道(例如通过基于分组的网络32)进行某种估计。

为了实现这点,编码器中的模式选择模块49可以被配置成维持描述最近编码的帧内的每个宏块或者宏块分割的失真的误差传播失真图Dep。模式选择模块49也被布置成确定包含根据其预测目标块的参考块的分组将通过信道损失的概率p(并且因而也隐含地或者明确地确定分组确实到达的概率1-p)。在一个优选的实施例中,概率p在设计阶段基于统计建模而预先确定,在这种情况下,模式选择模块49通过获得来自存储器14的值而确定p。然而,另一种可能性在于,模式选择模块49基于来自接收器22的反馈而确定p

误差传播图可以表示为:

                            (9)

误差传播图Dep包括对于宏块m或者更优选地对于最近编码的帧内的每个子分割(块)m(k)的失真估计。因此,它可以更明确地写成:

              (10)

其中m(k)表示宏块m的第k个子分割(例如块),并且p表示分组损失的概率。

Dloss等于如上面所讨论的DecDep-arrival表示通过信道的差值,即编码器处的重构样本与解码器处的重构样本之间的差值。例如,这可以根据差平方和(SSD)进行量化:

                                   (11)

其中为考虑到源编码失真和由于信道而引起的失真二者的解码器处接收的(指标i)的样本。即,si为原始未编码的输入样本,为编码器处考虑到(例如由于量化而引起的)源编码失真的重构样本,并且为考虑到包括信道的损失影响的总的端至端失真的样本;

Dep-arrival可以扩展成:

                          (12)

其中为重构残差的样本。因此:

                            (13)

因此,代入方程(9)和(1)中,误差传播图可以重新写成:

                                (14)

或者:

                     (15)

考虑到所述模式优化问题,它也可以写成:

                           (16)

其中n为帧编号,即Dep(n+1)为要用于在给定用于帧n的现有决策oopt和失真Dep(n)图的情况下做出用于帧编号n+1的模式选择的误差传播图。

像在Zhang [2]中那样,Dec项也可以扩展为:

              (3)

其中Dec-rec表示编码器中的重构像素与误差隐藏像素之间的SSD,并且Dec-ep表示编码器和解码器中的误差隐藏像素之间的期望SSD。

检查方程(3),如上面所解释的,项Dep-ref表示在成功地接收到目标块但是其历史中的一些东西损失的情况下(在目标块的参考块损失或者参考块的参考块损失等等的情况下)将经历的失真。此外,Dec-rec表示由于隐藏算法本身的性质而引起的失真的估计(有点类似于用于预测的内在源编码失真Ds)。于是,Dec-ep表示在目标块损失(并且因此需要在解码器处隐藏)并且隐藏的目标块的历史中的一些东西损失二者的情况下(在对其进行隐藏的块损失或者根据其预测或隐藏该块的块损失等等的情况下)将经历的失真的估计。

因此,失真图Dep包括:由于从Dec-rec以及部分地从Dec-ep产生的新损失而引起的贡献;以及由于从Dep-ref以及也部分地从Dec-ep产生的过去损失而引起的贡献。

对于序列中的第一帧而言,该帧将利用帧内编码进行编码,在这种情况下Dep-ref = 0并且因此Dep = pDec

误差隐藏失真Dec通过模式选择模块49计算。项Dec-rec基于隐藏算法的知识,并且可能取决于使用的特定误差隐藏算法。Dec-ep基于现有的(最近的)失真图以类似于Dep-ref的方式计算,例如在基本隐藏算法的情况下通过拷贝位于同一位置的块的失真或者在使用试图外插运动(类似地,参见下文中关于图1c的讨论)的更复杂的隐藏的情况下通过计算来自多个先前编码的块b1-b4的失真的加权和而计算。可以使用计算Dec的其他方式—这可以是编码器中的重构样本与如解码器处所看到的误差隐藏的样本(即从先前接收的帧或者相同帧的接收的区域拷贝、内插或外插以隐藏损失的帧或区域的样本)之间的差值的任何估计。

然后,模式选择模块49通过在每个模式选择决策之后更新用于每个后续的帧间预测的帧的误差传播图而维护该误差传播图,所述更新现在包括根据现有的误差图的知识使用所讨论的帧的运动矢量计算Dep-ref

图1c中图示出帧间预测(运动估计)的一个实例。四个实例块b1、b2、b3和b4示于参考帧Ft(编号n)中,该参考帧已经被编码。目标帧Ft+1(编号n+1)的块要根据参考帧Ft进行预测。例如,考虑目标帧Ft+1中的目标块b1'。为此目的,运动预测模块44确定限定目标帧Ft+1中的目标块与参考帧Ft中的参考块(通过虚线示出)之间的偏移的运动矢量,使得当参考块从参考帧Ft中的偏移位置平移到目标帧Ft+1中的目标块b1'的位置时,它提供目标块b1'的最佳估计。因此,应当指出的是,虚线参考块不一定是参考帧Ft中的可索引的块,即不一定是参考帧的预定细分,并且可以按照任何任意量偏移(并且事实上甚至可以按照分数的像素偏移)。因此,参考块由来自四个实际可索引的块b1、b2、b3和b4的贡献组成。

相应地,由模式选择模块49执行以确定用于更新误差传播图Dep(n+1)的Dep-ref的计算包括计算现有图Dep(n)中的为块b1至b4记录的失真的加权和:

                                    (17)

其中wi为表示来自块bi的贡献的权重,并且Dep(i)为块bi的误差传播图条目。

以上描述了确定初始误差传播图Dep、使用该误差传播图选择用于后续编码的最优编码模式决策oopt、使用该编码决策更新图Dep、然后在下一次编码决策中使用更新的图等等的过程,其中误差传播图表示包括通过信道的损失的估计的影响的端至端失真。例如,再次参考Zhang [2]。这在这里可以称为损失自适应率失真优化(LARDO)。

然而,现有的LARDO技术存在问题,因为它们没有考虑到尤其是在其中存在很少或者不存在运动的情况下(例如静止背景或者近似静止背景)过去失真由于损失传播到未来而造成的影响。在这样的情况下,本发明人注意到:

                                           (18)

在基本隐藏算法中,这是因为隐藏的块拷贝自在先的位于同一位置的块,并且在静止背景的情况下,在先的位于同一位置的块将与当前隐藏的块相同。即,编码器中的误差隐藏和重构的样本将相同;或者换句话说,隐藏算法本身并不内在地引入任何失真。相似的效果也将出现在更加复杂的隐藏算法中。

此外:

                                         (19)

这是因为在不存在来自所述隐藏的任何内在失真的情况下,编码器处的误差隐藏的样本与估计在解码器处将看到的样本之间的差值将仅仅拷贝自现有的误差传播图。

将(18)和(19)代入方程(3)中,可以看出,这意味着:

                 (20)

即,在其中来自新损失的贡献为零或者可忽略的情况下,更新的传播图简化为仅仅来自过去损失(用于预测和/或隐藏的历史中的损失)的贡献。以另一种方式来看,在很少或没有运动(例如基本上静止的背景)的情况下,解码器处的关联的隐藏和通过信道的任何另外的损失的影响本身对于失真没有内在的影响,因为从一帧到下一帧拷贝或外插的块原则上应当相同(或者在空间隐藏算法的情况下,从均匀背景的大的静止区域的一个或多个附近块拷贝、外插或内插的块将非常相似)。结果是,Dep将无限期地保持相同并且不随着时间的推移而增长。

然而,在现实中,从知觉的观点来看,失真将变得越来越相关,因为误差的持续时间在误差的感知中是重要的。换言之,从知觉的观点来看,不仅仅失真的幅度是相关的,而且其持续时间也是相关的。

因此,存在一个问题,因为使用诸如Zhang [2]之类的现有技术,形成用于做出编码模式决策的基础的失真图并不总是足够早地触发帧内编码以便防止知觉上相关的伪像。例如,参见图4中带圆圈的区域。

在Zhang [2]中,误差传播图可以随着时间的推移而增加,但是仅仅归因于对于由通过信道持续进行的损失而引起的失真的贡献,即仅仅归因于新损失和关联的隐藏。

为了解决这个问题,本发明禁止使用这样的误差传播图,其在诸如静止背景之类的其中来自新损失的贡献为零或者可忽略的情况下简化为累积来自过去损失的到未来的贡献:

                                   (21)

其中α > 1。这可以被认为来自过去损失的贡献针对时间的时间积分。

例如,修改Zhang [2],用于失真图的公式将变成:

             (4)

其中α > 1。如所提到的,足够大的因子α和非零Dep-ref将导致Dep甚至在其中误差隐藏重构失真Dec-rec为零的条件下增长,并且因而最终触发帧内编码。

即,历史损失的影响随着更多的时间流逝而越发地放大,从而在所述优化问题中给予该失真更大的权重。即使按照样本之间的差值估计的实际失真不一定增长,失真的感知也随着时间变得更加显著,并且因此在选择使用帧间还是帧内编码以便对下一帧或区域编码时,应当给予更旧的失真更大的权重。

上面的参数λα可以由系统设计者调整。对于这些参数不存在正确或错误的值—优选的值将取决于系统设计者决定容忍的特定质量以及可以由信道支持的比特率。举例而言,在一个实施例中,α可以处于1.003至1.005的范围内。λ的特定值由H.264建议,但是这也可以依照系统设计进行调整。

在一个特别有益的实施例中,模式选择模块49可以被配置成使用可以用于不同比特率和/或信道条件的α的不同值。在这种情况下,α可以基于例如如来自解码器的反馈中报告的当前检测的信道条件;和/或基于比特率的动态设置或变化,例如基于来自解码器的请求的比特率或者基于用户设置动态地适应性调节。

再一次地,应当指出的是,在本申请中提到由于损失引起的贡献的情况下或者声明“如果”数据通过信道损失等等则发生什么的任何事情,这仅仅涉及由编码器就解码器可能经历的事情做出的概率假设(例如p)—编码器当然不知道将发生什么。概率假设可以在设计阶段基于统计网络建模来预先确定,和/或可以甚至基于来自解码器的反馈动态地确定。

应当理解的是,上面的实施例仅仅通过实例的方式进行描述。

尽管上面按照切片、宏块和块进行描述,但是这些术语并不预期是限制性的,并且本文描述的思想并不限于划分或细分权利要求的任何特定方式。此外,失真图可以覆盖整个帧或者帧内的一定区域,并且编码决策过程可以应用到整个帧上或者仅仅用于帧内的一定区域。

差平方和(SSD)作为差值的度量经常是优选的,因为它导致与绝对差和(SAD)相比更高的质量,但是后者的可能性或者其他可能性没有排除,并且通常本发明可以使用样本之间的差值的任何度量作为用于量化失真的基础而实现。

通常,比特率的度量也考虑到编码所有需要的参数,包括描述预测和量化的变换系数的参数。这种优化在这里可以称为全率失真优化(RDO)[4]。然而,在较低复杂度的实施例中,失真和/或比特率项可以通过仅仅考虑一些而不是所有处理级的影响,例如仅仅考虑预测的影响来近似。

此外,在按照两帧n和n+1描述本发明的情况下,依照本发明的某些实施例,这些实施例不一定引用两个邻近的帧(虽然在现有的编解码器中情况可能如此)。在一些实施例中,有可能的是帧间预测可以相对于甚至更早的帧执行,并且因此n和n+1可以与本发明有关地用来分别指称任何先前编码的帧或图像部分以及要根据其预测的后续帧或部分。

给定本文的公开内容,其他变型对于本领域技术人员将变得清楚明白。本发明的范围不由所描述的实施例限制,而是仅仅由所附权利要求书限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号