CN103609122A - 用于视频编码的率失真优化 - Google Patents

用于视频编码的率失真优化 Download PDF

Info

Publication number
CN103609122A
CN103609122A CN201280031143.8A CN201280031143A CN103609122A CN 103609122 A CN103609122 A CN 103609122A CN 201280031143 A CN201280031143 A CN 201280031143A CN 103609122 A CN103609122 A CN 103609122A
Authority
CN
China
Prior art keywords
coding
distortion
image section
estimation
image
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
CN201280031143.8A
Other languages
English (en)
Other versions
CN103609122B (zh
Inventor
R.瓦芬
M.尼尔松
S.V.安德森
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.)
Microsoft Technology Licensing LLC
Original Assignee
Skype Ltd Ireland
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 Skype Ltd Ireland filed Critical Skype Ltd Ireland
Publication of CN103609122A publication Critical patent/CN103609122A/zh
Application granted granted Critical
Publication of CN103609122B publication Critical patent/CN103609122B/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/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/176Methods 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 block, e.g. a macroblock
    • 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/103Selection of coding mode or of prediction mode
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种对包括多帧的视频流编码的方法,每帧包括多个图像部分,该方法包括:对于流出视频流中要编码的多个第一图像部分中的每一个,使用第一过程选择潜在编码模式组中的优选模式,所述第一过程包括第一图像部分的失真的估计以及对于第一图像部分的潜在编码模式中的每一个对第一图像部分编码所需的比特率的度量;使用对应的选择的编码模式对流出流的第一图像部分中的每一个编码;对于视频流的多个第二图像部分中的每一个,应用至少包括第二图像部分的失真的估计的第二过程;以及在用于第一部分的所述编码模式的选择中使用由第二图像部分得到的第二过程的输出偏置第一过程。

Description

用于视频编码的率失真优化
技术领域
本发明涉及在使用帧内和帧间编码对视频信号编码时平衡比特率与失真之间的折衷。
背景技术
图1a中示意性地图示出要编码的视频数据流。该流包括多帧(F),每帧代表不同的对应时刻的视频图像。如本领域技术人员所熟悉的,为了编码的目的,每帧(F)被划分成若干部分并且每个部分也可以被细分成更小的子部分,每个部分或子部分包括多个像素。例如,依照一种术语,要编码的视频流的每帧被划分成宏块(MB)并且每个宏块被细分成块(b),每个块包括多个像素。每帧也可以被划分成可独立解码的切片(S),每个切片包括一个或多个宏块。应当注意,图1中示出的划分仅仅是示意性的,用于说明的目的,并且应当理解的是,这些划分不一定预期与任何实际的编码方案相应——例如,每帧很可能包含更大数量的宏块。
图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 number JVT-N046;
[5] Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, document number JVT-V079;
[6] G. J. Sullivan and T. Wiegand, "Rate-Distortion Optimization for Video Compression", IEEE Signal Processing Mag. volume 15, number 6, pages 74-90, November, 1998.
[7] "Implementing Rate-Distortion Optimisation on a Resource-Limited H.264 encoder", Eric Syu, Submitted to the Department of Electrical Engineering and Computer Science, in partial fulfilment of the requirements for the degree of Master of Engineering in Electrical Engineering and Computer Science, at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY, February 2005。
预测典型地可以根据与当前帧不同的视频帧中的像素(帧间预测)以及根据相同帧中的像素(帧内预测)进行。换言之,如果使用帧内编码进行编码,那么该帧的一定块或部分(目标块或部分)相对于该帧中的另一块或图像部分(参考块或部分)进行编码;并且如果使用帧间编码进行编码,那么目标块或部分相对于另一帧中的参考块或部分进行编码。这个过程常称为预测或者预测编码。帧间或帧内预测模块因此将在帧内编码的情况下生成例如相邻块指示形式的预测和/或在帧间编码的情况下生成运动矢量。典型地,编码器也生成表示预测块与实际块之间的“剩余”差值的残差信号。然后,帧内预测、运动矢量和残差典型地经由诸如量化器和熵编码器之类的另外的编码级输出到编码的视频流中。因此,视频中的大多数块可以按照块之间的差值进行编码,这与对绝对像素值进行编码相比需要编码更少的比特,并且因而节省了比特率。帧内预测编码典型地需要比帧间预测更多的比特,但是相对于对绝对值进行编码仍然代表一种节省。用于视频的适当的帧间和帧内编码技术的细节应当是本领域技术人员所熟悉的。
现代编解码器允许将不同的预测编码模式用于帧内的不同部分。具有不同编码选项的可能性提高了视频编解码器的率失真效率。对于每一个帧区域,必须找到最优编码表示。典型地,这样的区域为例如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的性能。换言之,确定是否使用例如帧内模式或帧间模式(根据先前编码的帧预测)按照率失真折衷对宏块最佳地编码的过程。从鲁棒性的视角来看,帧内编码的宏块是有益的,因为它们停止了时间误差传播(假设使用有约束帧内预测,即禁止根据帧间预测的宏块进行帧内预测)。然而,帧内编码的宏块与帧间编码的宏块相比通常在代价方面更昂贵,并且因此重要的是系统地引入帧内编码的宏块,使得给定特定比特预算,解码器处的失真(例如平均失真)最小化。
率失真性能优化问题可以根据在比特率约束R下最小化失真而公式化。拉格朗日优化框架经常用来解决这个问题。在这里,优化准则用公式表示为
Figure 2012800311438100002DEST_PATH_IMAGE001
                                    (1)
其中J表示拉格朗日函数,D表示失真度量(模式o和宏块m或者宏块子分割的函数),R为比特率并且λ为限定失真与比特率之间的折衷的参数。
在本申请中,求解拉格朗日优化问题意味着找到最小化拉格朗日函数J的编码模式o,其中拉格朗日函数J至少包括表示失真的项、表示比特率的项以及表示这两者之间的折衷的因子(“拉格朗日乘子”)。当编码模式o朝着更完全或者更佳质量的编码模式变化时,那么失真项D将减小。然而,同时比特率项R将增大,并且在特定点处,取决于λ,R的增加将超过D的减小。因此,表达式J将具有某个最小值,并且该最小值发生的编码模式o被认为是最优编码模式。
在这个意义上,比特率R或者更确切地说λR项将约束置于所述优化上,因为该项将最优编码模式从不断增加的质量拉回。找到这种最优平衡所在的模式将取决于λ,并且因此λ可以被认为表示比特率与失真之间的折衷。
拉格朗日优化常用在选择编码决策的过程中,并且应用于每个帧区域(例如每个16x16像素的宏块)。
失真D可以被量化为原始像素与重构像素之间的差平方和(SSD);并且可以被评估以考虑到所有的处理级,这些处理级包括:预测、变换(从每个块或宏块的像素的空域表示到诸如光学频域表示之类的变换域表示)和量化(将连续信号的数字近似转换成更离散的较低粒度的量化水平的过程)。此外,为了计算重构的像素,必须执行逆量化、逆变换和逆预测的步骤。通常,比特率项R也考虑到对所有需要的参数编码,这些参数包括描述预测和量化变换系数的参数[4, 5, 6]。参数典型地利用熵编码器进行编码,并且在这种情况下,比特率可以是将由熵编码器获得的比特率的估计,或者可以通过实际地运行熵编码器并且测量每种候选模式的得到的比特率而获得。熵编码/解码是一种无损过程,并且因此不影响失真。
这种过程在这里可以称为完全复杂度率失真优化(或者全RDO)[4, 5, 6]。
在由Zhang等人[2]公开的一个特定实例中,失真项可以不仅考虑到编解码器内在的源编码失真,而且考虑到端至端失真,即由于通过信道的分组损失而将经历的失真的概率估计。然而,这对于“完全”复杂度RDO而言不是一个要求。
从上面讨论的一切将看出,编码选项的数量可能相当高,并且因此评估它们所需的计算负荷可能变成一个限制性因素。给定大量的可能编码选项,评估考虑到所有处理级(并且也要求执行所有逆处理级)的拉格朗日优化准则可能变成一项计算上要求很高的任务。因此,一种可替换的较低复杂度优化准则也常用:
Figure 314038DEST_PATH_IMAGE002
                                    (2)
其中D'为预测失真,并且R'为用于描述预测的参数(例如预测模式、运动矢量)的比特率。R'没有考虑到残差系数的比特率。
预测失真D'仅仅考虑到帧内或帧间预测之后的失真(或者更精确地说预测之后的残差),并且没有考虑到诸如来自空域的变换和量化之类的其他编码器级(也没有考虑到其逆)的影响。此外,该简化的失真度量被量化为原始样本与预测的样本之间的绝对差和(SAD),其与SSD相比需要更少的计算。即:
Figure 2012800311438100002DEST_PATH_IMAGE003
                                      (3)
其中s i 为原始输入样本并且
Figure 106544DEST_PATH_IMAGE004
为没有考虑到通过正变换和逆变换以及量化重构的影响的情况下的预测的样本。因此,同样基于SAD而不是SSD,较低复杂度失真项D'表示原始样本与预测的样本之间的差值,而不是如上面计算的完全复杂度版本中表示的原始像素与重构像素之间的差值。
此外,比特率项R'仅仅表示边信息(运动矢量或者帧内预测、预测模式的指示以及宏块分割的指示)的比特率成本;并且没有考虑到变换和量化的残差的比特率成本。
因此,该简化的计算仅仅需要执行预测步骤。变换和量化以及逆量化、逆变换和逆预测的步骤被省略。参照图3,这意味着元件51、53、61和63实际上从用于RDO计算的目的的环路中省略。因此,评估编码选项的性能的复杂度从而降低了。这种过程在这里可以称为低复杂度率失真优化(或者低复杂度RDO)。
另一方面,由于低复杂度RDO仅仅近似预测步骤,因而典型地降低了得到的最终率失真性能。非限制性地,在本发明人的实验中,他们观察到低复杂度RDO与相同比特率下的完全RDO相比可能导致0.5-1.5 dB的性能下降。在主观上,重构的视频也具有较低的质量。
发明内容
本发明寻求实现比由低复杂度RDO单独得到的性能更高的率失真优化,但是不招致通过将较高复杂度RDO直接应用到要编码的视频流的每个部分而招致的完全处理成本。
本发明基于以下思想:对于一些图像部分使用一种过程获得的优化相关值可以通过使用这样的值引导或者影响用于其他图像部分的RDO过程而在一定程度上外推到其他图像部分。例如,较高复杂度RDO可以在直播编码过程期间仅仅对于一些实际图像部分进行计算并且然后外推到直播流的其他部分,或者较高复杂度失真估计可以在编码之前的训练阶段期间对于样本视频流“离线”执行,并且然后外推到实际直播流。也可以使用这两种可能性的组合。
因此,本发明避免了对于要编码的直播视频流中的至少一些以及潜在地所有图像部分执行较高或者完全复杂度RDO的需要,但是仍然可以实现较高复杂度RDO的性能益处的近似。
依照本发明的一个方面,提供了一种对包括多帧的视频流编码的方法,每帧包括多个图像部分,该方法包括:对于流出视频流中要编码的多个第一图像部分中的每一个,使用第一过程选择潜在编码模式组中的优选模式,所述第一过程包括第一图像部分的失真的估计以及对于第一图像部分的潜在编码模式中的每一个对第一图像部分编码所需的比特率的度量;使用对应的选择的编码模式对流出流的第一图像部分中的每一个编码;对于视频流的多个第二图像部分中的每一个,应用至少包括第二图像部分的失真的估计的第二过程;以及在用于第一部分的所述编码模式的选择中使用由第二图像部分得到的第二过程的输出偏置第一过程。
在实施例中,第一过程可以为较低复杂度过程,并且第二过程可以为较高复杂度过程。
在实施例中,第二图像部分也可以是所述流出视频流的图像部分,并且所述方法可以包括:对于流出视频流中要编码的所述多个第二图像部分中的每一个,使用第二过程选择潜在编码模式组中的优选模式,所述第二过程包括第二图像部分的失真的估计以及对于第二图像部分的潜在编码模式中的每一个对第二图像部分编码所需的比特率的度量;以及使用对应的选择的编码模式对流出流的第二图像部分中的每一个编码。
第二图像部分可以是第一图像部分的邻近邻居。
所述偏置可以包括对于第一图像部分中的每一个将所述潜在编码模式组限制为针对多个第二图像部分选择的那些模式。流出视频流中的第一部分与第二部分之比可以根据可用处理资源来选择。
在另外的实施例中,第二图像部分可以是训练视频流的图像部分,并且可以在对流出视频流编码之前将第二过程应用于训练阶段中。
所述偏置可以包括:在训练阶段中将第二过程和第一过程二者应用到第二图像部分;基于该训练阶段,确定表示第一和第二过程的比特率度量和失真估计中的一个或二者的差值的偏置项;以及当第一过程用来选择第一图像部分的编码模式时将该偏置项引入到第一过程中。
所述编码模式组可以至少包括帧内模式和帧间模式。
所述编码模式组可以包括多个帧内模式。
所述编码模式组可以包括跳跃模式。
所述较低复杂度过程可以在其失真的估计中考虑到预测编码的影响,但是不考虑量化的影响;而所述较高复杂度过程可以在其失真的估计中考虑到预测编码和量化的影响。
所述较低复杂度过程可以在其失真的估计中考虑到预测编码的影响,但是不考虑量化之前从空域表示到变换域表示的变换的影响,而所述较高复杂度过程可以在其失真的估计中考虑到预测编码、变换和量化的影响。
所述较低复杂度过程可以不在其比特率的度量中考虑到对残差信号编码的成本,而所述较高复杂度过程可以包括考虑到对残差信号编码的成本的比特率的度量。
所述较低复杂度过程可以不在其比特率的度量中考虑到熵编码的影响,而所述较高复杂度过程可以包括考虑到熵编码的影响的比特率的度量。
所述较高复杂度过程可以考虑到通过信道的损失的可能影响,而所述较低复杂度过程可以不考虑。
所述较高复杂度过程可以随着时间的向前推移对过去损失的影响积分。
依照本发明的另一个方面,提供了一种用于对包括多帧的视频流编码的计算机程序产品,每帧包括多个图像部分,该计算机程序产品包含在非暂时性计算机可读介质上并且包括这样的代码,该代码这样配置,以便在过程上执行时执行以下操作:对于流出视频流中要编码的多个第一图像部分中的每一个,使用第一过程选择潜在编码模式组中的优选模式,所述第一过程包括第一图像部分的失真的估计以及对于第一图像部分的潜在编码模式中的每一个对第一图像部分编码所需的比特率的度量;使用对应的选择的编码模式对流出流的第一图像部分中的每一个编码;对于视频流的多个第二图像部分中的每一个,应用至少包括第二图像部分的失真的估计的第二过程;以及在用于第一部分的所述编码模式的选择中使用由第二图像部分得到的第二过程的输出偏置第一过程。
在实施例中,该计算机程序产品可以进一步这样配置,以便当被执行时执行依照上面的方法特征中的任何特征的操作。
依照本发明的另一个方面,可以提供一种包括编码器的装置,该编码器用于对包括多帧的视频流编码,每帧包括多个图像部分,该编码器被配置成:对于流出视频流中要编码的多个第一图像部分中的每一个,使用第一过程选择潜在编码模式组中的优选模式,所述第一过程包括第一图像部分的失真的估计以及对于第一图像部分的潜在编码模式中的每一个对第一图像部分编码所需的比特率的度量;使用对应的选择的编码模式对流出流的第一图像部分中的每一个编码;对于视频流的多个第二图像部分中的每一个,应用至少包括第二图像部分的失真的估计的第二过程;以及在用于第一部分的所述编码模式的选择中使用由第二图像部分得到的第二过程的输出偏置第一过程。
在实施例中,所述编码器可以进一步被配置成执行依照上面的方法特征中的任何一个的操作。
附图说明
为了更好地理解本发明并且示出可以如何将其付诸实施,通过实例的方式参照附图,在附图中:
图1a为视频流的示意性表示,
图1b为一些帧内预测编码模式的示意性表示,
图1c为帧间预测编码模式的示意性表示,
图2为通信系统的示意性框图,
图3为编码器的示意性框图,以及
图4为一种RDO方案的示意性表示,以及
图5为另一种RDO方案的示意性表示。
具体实施方式
如所提到的,本发明使用应用到某些图像部分的较高复杂度过程的结果以便在其用于诸如要编码的视频流的宏块之类的另一个目标图像部分的编码模式的选择中偏置较低复杂度过程。关于这点,较低复杂度意味着当在过程上执行时招致更少的处理循环。
所述较低复杂度过程可以包括如上面所讨论的,例如由方程(2)和(3)限定的低复杂度RDO。即,在失真被测量为原始样本与预测的样本之间的SAD(没有正变换和逆变换以及量化)的情况下,比特率项仅仅测量边信息(非残差)的比特率成本。
所述较高复杂度RDO可以基于如上面所讨论的完全复杂度RDO。在这种情况下,失真项优选地测量原始样本与重构样本(即预测、变换、量化、去量化和逆变换的样本)之间的SSD。比特率项也测量熵编码之后的边信息和残差二者的成本。例如,参见文献[4, 5, 6]。
在一个可选的实施例中,较高复杂度过程的失真项可以考虑到端至端失真,即例如如Zhang等人[2]所限定的解码器处由于分组或帧损失而引起的失真的估计。可替换地,较高复杂度RDO可以是后面更详细地讨论的Zhang的过程的改进版本。然而,其中没有任一个是必要条件。
以下将描述前两个实施例,其示出较高复杂度优化相关过程的结果如何可以用来偏置较低复杂度RDO过程。
本发明的示例性方法基于以下建模假设:使用完全RDO获得的用于一定像素块的优化准则值可以使用为其他块计算的那些值很好地外推。用于其他块的值在编码过程期间计算或者在编码之前的训练阶段期间计算,或者作为其组合。
在本发明的第一实施例中,率失真优化的复杂度通过仅仅对于一定数量的选择的块(宏块)执行完全RDO并且使用那些选择的块的完全优化的决策外推用于剩余块的编码决策。
图4中示意性地图示出第一实施例的一个实例。
在其一个实例中,对于一定数量的选择的块或宏块(例如图4中在所图示的帧F中阴影示出的那些块或宏块)执行完全RDO。这导致用于每一个的编码决策o。接着,从包含一些选择的块的最佳编码选项的可能的编码选项子组中选择用于每个剩余的块或宏块(例如图4中空白示出的那些块或宏块)的可能的编码选项。即,用于剩余的块或宏块(图4中空白示出的那些块或宏块)的RDO被约束为在已经由用于多个选择的其他块或宏块(图4中阴影示出的那些块或宏块)的完全复杂度RDO决定的编码模式中选择。
对于其执行完全RDO的选择的块可以被选择为剩余块的空间邻居,选择为与剩余块属于视频场景中的相同物体,具有与剩余块相似的属性(例如相似的运动或者相似的纹理)等等,或者其组合。然后,可以通过使用完全RDO或者低复杂度RDO(在这两种情况下,仅仅考虑编码选项子组)评估来自可能的编码选项子组的编码选项。
最佳地,选择的块和剩余块的数量基于可用CPU资源来选择。较高的可用CPU允许使用完全RDO编码更多的块,并且反之亦然。
本发明的第二实施例基于训练描述使用完全RDO和低复杂度RDO获得的优化准则值之间的相关性的模型。当最优化编码决策时,针对“离线”训练视频流的至少一些块或宏块(例如所有块或者剩余块或者一个块)预先评估低复杂度优化准则,并且将其与较高复杂度版本的结果进行比较。然后,该模型用来估计利用完全RDO将获得的优化准则值。最佳编码决策使用估计的值找到。
图5中示意性地图示出第二实施例的一个实例。
在一个实例中,训练描述使用完全RDO和低复杂度RDO获得的优化准则值之间的偏置的模型。当最优化编码决策时,在训练阶段,例如在编解码器的设计阶段,针对训练视频序列的至少一些块或宏块(所有块或者剩余块或者一个块)“离线”评估低复杂度优化准则。例如,可以对于训练视频中的多个相同块或宏块评估由较高复杂度过程确定的失真度量D和由较低复杂度过程确定的失真度量D'。仍然在训练阶段离线,该模型然后可以用来例如通过以下方式估计偏置项D bias :如图5中所图示的拟合较高复杂度失真度量D相对于较低复杂度度量D'的曲线,然后使用拟合的曲线查找表示应当应用来补偿较低复杂度估计的校正量的值D bias 。可以在该训练阶段期间对于每一个不同的可能编码模式确定不同的对应曲线。然后,将该偏置项添加到使用低复杂度RDO测量的值以便估计利用完全RDO将获得的值。可替换地或者此外,类似的技术可以应用于比特率度量R
然后,使用估计的值找到用于要编码的实际直播流出流中的块或宏块的最佳编码决策。
本发明的方法中的建模可以使用依照任何适当的度量对于像素块的拣选和/或聚类。该训练阶段优选地在设计阶段执行并且然后例如使用查找表嵌入到编解码器中。
本发明优选地在与关于图3描述的编码器类似,但是具有修改的模式选择模块49的编码器中实现。它可以用来对图1中所图示的种类的视频流编码,并且在诸如图2的通信系统之类的通信系统中实现。
现在,下面描述对于完全RDO过程的可选的添加物,其在一种优选的实现方式中可选地可以结合本发明的第一或第二实施例使用。该改进基于Zhang的过程[2]或者基于Zhang的修改。然而,应当再次指出的是,Zhang的方法或者下文中描述的可选的改进都不预期在其最宽泛的意义上限制本发明的范围。
如所提到的,模式选择可能涉及最优化(例如最小化)拉格朗日型函数:
Figure 277761DEST_PATH_IMAGE006
                               (1)
其中J表示拉格朗日函数,D表示失真度量(模式o和宏块m或宏块子分割的函数),R为比特率,并且λ为限定失真与比特率之间的折衷的参数。
在常规的情况下,失真项D仅仅考虑到源编码失真,即归因于编码器中的缺陷,例如由量化引入的失真。它没有考虑到可能由于通过信道的数据损失,例如由于通过基于分组的网络32的传输中的分组损失而引入的失真。
另一方面,诸如本发明和Zhang [2]的技术之类的损失自适应技术试图限定考虑到源编码和由于通过信道的数据损失而引起的失真二者的“端至端”失真度量。对于给定(目标)块的端至端失真可以描述为:
Figure 610653DEST_PATH_IMAGE007
                              (4)
其中D arrival 为在目标块确实到达解码器的情况下将经历的失真的估计,并且D loss 为在目标块由于通过信道的分组损失的原因,例如由于通过基于分组的网络32的包括该块的分组的损失的原因而未到达解码器的情况下将经历的失真的估计。参数p为导致所讨论的块损失的通过信道发生的损失事件的概率的估计,例如分组损失的概率的估计。
D arrival 不仅表示源编码失真,而且表示由于块的过去失真,即根据其预测目标块的一个或多个参考块中的失真而将引入的失真。因此,D arrival 包括源编码失真项D s 和误差传播失真项D ef-ref ,所述误差传播失真项表示预测的目标块的历史中的失真(即将向前带到目标块中的目标块的参考块中的失真):
Figure 300392DEST_PATH_IMAGE008
                                   (5)
D loss 包括由于隐藏而引起的损失。如果未接收到目标块,那么解码器将应用隐藏算法,该隐藏算法可能涉及冻结先前解码的块,或者根据一个或多个成功解码的块(根据当前帧和/或前一帧)进行内推或外推。因此,D loss 可以被识别为由于该隐藏过程而引起的失真:
                                         (6)
因此,检查方程(4),项D s 表示在根本没有损失的情况下将经历的失真的估计,项D ec 表示在目标块损失的情况下将经历的失真的估计,并且项D ep-ref 表示在成功地接收到目标块,但是其历史中的一些东西损失的情况下(在目标块的参考块损失或者参考块的参考块损失等等的情况下)将经历的失真的估计。
D s D ep-ref 为编码模式选择o的函数。D ec 不是模式选择o的函数,并且因此从拉格朗日表达式中除去(损失的块如何被编码是无关紧要的——它仍然是损失掉的)。因此,所述优化可以写成:
Figure 763789DEST_PATH_IMAGE010
                    (7)
D s 为确定性的,因为它基于在编码器处可能已知的信息,例如基于原始输入样本值s与重构样本值
Figure 900372DEST_PATH_IMAGE011
之间的差值。编码器在编码器侧运行解码器的并行实例(或者其近似)——参见图3中详述帧间预测模块43的插图。帧间预测模块43包括运动补偿预测(MCP)功能块44和加法级(+),其被布置成通过对于每个样本指标i组合预测的样本
Figure 506934DEST_PATH_IMAGE012
和重构的残差而确定重构样本
Figure 628528DEST_PATH_IMAGE011
,即。在帧间编码的情况下,在编码器处,预测的样本
Figure 764292DEST_PATH_IMAGE012
可以与参考块的样本
Figure 630354DEST_PATH_IMAGE015
相同(参考帧中的参考块正好按照相对于目标帧的运动矢量偏移——参见很快将再次讨论的图1c)。
因此,编码器可以确定实际样本s与如编码器处所看见的重构样本之间的差值(到目前为止这忽略了将引入解码器处经历的另外的失真的损失的可能性)。样本的差值可以例如计算为所讨论的目标块的所有样本指标i上的差平方和(SSD)误差:
Figure 84786DEST_PATH_IMAGE016
                                       (8)
然而,D ep-ref 仍然要估计,这将基于就通过其传输编码的数据的信道(例如通过基于分组的网络32)进行某种估计。
为了实现这点,编码器中的模式选择模块49可以被配置成维持描述最近编码的帧内的每个宏块或者宏块分割的失真的误差传播失真图D ep 。模式选择模块49也被布置成确定包含根据其预测目标块的参考块的分组将通过信道损失的概率p(并且因而也隐含地或者明确地确定分组确实到达的概率1-p)。在一个优选的实施例中,概率p在设计阶段基于统计建模而预先确定,在这种情况下,模式选择模块49通过获得来自存储器14的值而确定p。然而,另一种可能性在于,模式选择模块49基于来自接收器22的反馈而确定p
误差传播图可以表示为:
Figure 665940DEST_PATH_IMAGE017
                             (9)
误差传播图D ep 包括对于宏块m或者更优选地对于最近编码的帧内的每个子分割(块)m(k)的失真估计。因此,它可以更明确地写成:
              (10)
其中m(k)表示宏块m的第k个子分割(例如块),并且p表示分组损失的概率。
D loss 等于如上面所讨论的D ec D ep-arrival 表示通过信道的差值,即编码器处的重构样本与解码器处的重构样本之间的差值。例如,这可以根据差平方和(SSD)进行量化:
Figure 667712DEST_PATH_IMAGE019
                                    (11)
其中
Figure 188604DEST_PATH_IMAGE020
为考虑到源编码失真和由于信道而引起的失真二者的解码器处接收的(指标i)的样本。即,s i 为原始未编码的输入样本,
Figure 686581DEST_PATH_IMAGE021
为编码器处考虑到(例如由于量化而引起的)源编码失真的重构样本,并且
Figure 395911DEST_PATH_IMAGE020
为考虑到包括信道的损失影响的总的端至端失真的样本;
Figure 658134DEST_PATH_IMAGE022
D ep-arrival 可以扩展成:
Figure 540639DEST_PATH_IMAGE023
                           (12)
其中
Figure 830806DEST_PATH_IMAGE024
为重构残差的样本。因此:
Figure DEST_PATH_IMAGE025
                             (13)
因此,代入方程(9)和(1)中,误差传播图可以重新写成:
Figure 711038DEST_PATH_IMAGE026
                                (14)
或者:
Figure DEST_PATH_IMAGE027
                     (15)
考虑到所述模式优化问题,它也可以写成:
Figure 86655DEST_PATH_IMAGE028
                     (16)
其中n为帧编号,即D ep (n+1)为要用于在给定用于帧n的现有决策o opt 和失真D ep (n)图的情况下做出用于帧编号n+1的模式选择的误差传播图。
像在Zhang [2]中那样,D ec 项也可以扩展为:
Figure DEST_PATH_IMAGE029
            (16a)
其中D ec-rec 表示编码器中的重构像素与误差隐藏像素之间的SSD,并且D ec-ep 表示编码器和解码器中的误差隐藏像素之间的期望SSD。
检查方程(16a),如上面所解释的,项D ep-ref 表示在成功地接收到目标块,但是其历史中的一些东西损失的情况下(在目标块的参考块损失或者参考块的参考块损失等等的情况下)将经历的失真。此外,D ec-rec 表示由于隐藏算法本身的性质而引起的失真的估计(有点类似于用于预测的内在源编码失真D s )。于是,D ec-ep 表示在目标块损失(并且因此需要在解码器处隐藏)并且隐藏的目标块的历史中的一些东西损失二者的情况下(在对其进行隐藏的块损失或者根据其预测或隐藏该块的块损失等等的情况下)将经历的失真的估计。
因此,失真图D ep 包括:由于从D ec-rec 以及部分地从D ec-ep 产生的新损失而引起的贡献;以及由于从D ep-ref 以及也部分地从D ec-ep 产生的过去损失而引起的贡献。
对于序列中的第一帧而言,该帧将利用帧内编码进行编码,在这种情况下D ep-ref  = 0并且因此D ep  = pD ec
误差隐藏失真D ec 通过模式选择模块49计算。项D ec-rec 基于隐藏算法的知识,并且可能取决于使用的特定误差隐藏算法。D ec-ep 基于现有的(最近的)失真图以类似于D ep-ref 的方式计算,例如在基本隐藏算法的情况下通过拷贝位于同一位置的块的失真或者在使用试图外推运动(类似地,参见下文中关于图1c的讨论)的更复杂的隐藏的情况下通过计算来自多个先前编码的块b1-b4的失真的加权和而计算。可以使用计算D ec 的其他方式——这可以是编码器中的原始样本和重构样本与如解码器处所看到的误差隐藏的样本(即从先前接收的帧或者相同帧的接收的区域拷贝、内推或外推以隐藏损失的帧或区域的样本)之间的差值的任何估计。
然后,模式选择模块49通过在每个模式选择决策之后更新用于每个后续的帧间预测的帧的误差传播图而维护该误差传播图,所述更新现在包括根据现有的误差图的知识使用所讨论的帧的运动矢量计算D ep-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执行以确定用于更新误差传播图D ep (n+1)的D ep-ref 的计算包括计算现有图D ep (n)中的为块b1至b4记录的失真的加权和:
Figure 881174DEST_PATH_IMAGE030
,                                    (17)
其中w i 为表示来自块b i 的贡献的权重,并且D ep (i)为块b i 的误差传播图条目。
以上描述了确定初始误差传播图D ep 、使用该误差传播图选择用于后续编码的最优编码模式决策o opt 、使用该编码决策更新图D ep 、然后在下一次编码决策中使用更新的图等等的过程,其中误差传播图表示包括通过信道的损失的估计的影响的端至端失真。例如,再次参考Zhang [2]。这在这里可以称为损失自适应率失真优化(LARDO)。
然而,现有的LARDO技术存在问题,因为它们没有考虑到尤其是在其中存在很少或者不存在运动的情况下(例如静止背景或者近似静止背景)过去失真由于损失传播到未来而造成的影响。在这样的情况下,本发明人注意到:
Figure DEST_PATH_IMAGE031
                                           (18)
在基本隐藏算法中,这是因为隐藏的块拷贝自在先的位于同一位置的块,并且在静止背景的情况下,在先的位于同一位置的块将与当前隐藏的块相同。即,编码器中的误差隐藏和重构的样本将相同;或者换句话说,隐藏算法本身并不内在地引入任何失真。相似的效果也将出现在更加复杂的隐藏算法中。
此外:
                                         (19)
这是因为在不存在来自所述隐藏的任何内在失真的情况下,编码器处的误差隐藏的样本与估计在解码器处将看到的样本之间的差值将仅仅拷贝自现有的误差传播图。
将(18)和(19)代入方程(3)中,可以看出,这意味着:
Figure 342559DEST_PATH_IMAGE033
                  (20)
即,在其中来自新损失的贡献为零或者可忽略的情况下,更新的传播图简化为仅仅来自过去损失(用于预测和/或隐藏的历史中的损失)的贡献。以另一种方式来看,在很少或没有运动(例如基本上静止的背景)的情况下,解码器处的关联的隐藏和通过信道的任何另外的损失的影响本身对于失真没有内在的影响,因为从一帧到下一帧拷贝或外推的块原则上应当相同(或者在空间隐藏算法的情况下,从均匀背景的大的静止区域的一个或多个附近块拷贝、外推或内推的块将非常相似)。结果是,D ep 将无限期地保持相同并且不随着时间的推移而增长。
然而,在现实中,从知觉的观点来看,失真将变得越来越相关,因为误差的持续时间在误差的感知中是重要的。换言之,从知觉的观点来看,不仅仅失真的幅度是相关的,而且其持续时间也是相关的。
因此,存在一个问题,因为使用诸如Zhang [2]之类的现有技术,形成用于做出编码模式决策的基础的失真图并不总是足够早地触发帧内编码以便防止知觉上相关的伪像。
在Zhang [2]中,误差传播图可以随着时间的推移而增加,但是仅仅归因于对于由通过信道持续进行的损失而引起的失真的贡献,即仅仅归因于新损失和关联的隐藏。
为了解决这个问题,本发明禁止使用这样的误差传播图,其在诸如静止背景之类的其中来自新损失的贡献为零或者可忽略的情况下简化为累积来自过去损失的到未来的贡献:
Figure 267790DEST_PATH_IMAGE034
                                    (21)
其中α > 1。这可以被认为来自过去损失的贡献对时间的时间积分。
例如,修改Zhang [2],用于失真图的公式将变成:
Figure 928316DEST_PATH_IMAGE035
其中α > 1。如所提到的,足够大的因子α和非零D ep-ref 将导致D ep 甚至在其中误差隐藏重构失真D ec-rec 为零的条件下增长,并且因而最终触发帧内编码。
即,历史损失的影响随着更多的时间流逝而越发地放大,从而在所述优化问题中给予该失真更大的权重。即使按照样本之间的差值估计的实际失真不一定增长,失真的感知也随着时间变得更加显著,并且因此在选择使用帧间还是帧内编码以便对下一帧或区域编码时,应当给予更旧的失真更大的权重。
上面的参数λα可以由系统设计者调整。对于这些参数不存在正确或错误的值——优选的值将取决于系统设计者决定容忍的特定质量以及可以由信道支持的比特率。举例而言,在一个实施例中,α可以处于1.003至1.005的范围内。λ的特定值由H.264建议,但是这也可以依照系统设计进行调整。
在一个特别有益的实施例中,模式选择模块49可以被配置成使用可以用于不同比特率和/或信道条件的α的不同值。在这种情况下,α可以基于例如如来自解码器的反馈中报告的当前检测的信道条件;和/或基于比特率的动态设置或变化,例如基于来自解码器的请求的比特率或者基于用户设置动态地适应性调节。
再一次地,应当指出的是,在本申请中提到由于损失引起的贡献的情况下或者声明“如果”数据通过信道损失等等则发生什么的任何事情,这仅仅涉及由编码器就解码器可能经历的事情做出的概率假设(例如p)——编码器当然不知道将发生什么。概率假设可以在设计阶段基于统计网络建模来预先确定,和/或可以甚至基于来自解码器的反馈动态地确定。
应当理解的是,上面的实施例仅仅通过实例的方式进行描述。
尽管上面按照切片、宏块和块进行描述,但是这些术语并不预期是限制性的,并且本文描述的思想并不限于划分或细分权利要求的任何特定方式。此外,失真图可以覆盖整个帧或者帧内的一定区域,并且编码决策过程可以应用到整个帧上或者仅仅用于帧内的一定区域。
此外,尽管较低复杂度过程作为方程(2)和(3)的过程而被例示,并且尽管较高复杂度过程作为方程(1)或者可选地参考文献[2]或方程(22)的过程而被例示,但是有可能使用其他的过程,这些过程使用上面讨论的简化近似的其他组合。例如,较低复杂度过程有可能仅仅排除变换但不排除量化(即在空域中执行量化);或者包括预测、变换和量化中的全部,但是仍然使用绝对差和(SAD)作为失真度量而不是差平方和(SSD),或者甚至样本之间的差值的其他度量作为用于量化失真的基础。在其他实例中,较高复杂度过程可以考虑通过信道的损失的影响或者误差传播,但是仍然排除变换和/或量化,和/或仍然基于SAD或其他失真度量。所有的组合是可能的。通常,有可能选择任何较低复杂度过程和较高复杂度过程,其中较低复杂度过程相对于较高复杂度过程招致更少的处理循环(以性能为代价)。再一次地,也应当指出,在第一实施例中,将不同复杂度RDO过程应用到两个不同群组的块或宏块是不必要的——处理节省由于基于已经为第二群组选择的编码模式而需要为第一群组的块或宏块考虑的编码模式组的限制的原因而仍然实现。
此外,在按照两帧n和n+1描述本发明的情况下,依照本发明的某些实施例,这些实施例不一定引用两个邻近的帧(虽然在现有的编解码器中情况可能如此)。在一些实施例中,有可能的是,帧间预测可以相对于甚至更早的帧执行,并且因此n和n+1可以与本发明有关地用来分别指称任何先前编码的帧或图像部分以及要根据其预测的后续帧或部分。
给定本文的公开内容,其他变型对于本领域技术人员将变得清楚明白。本发明的范围不由所描述的实施例限制,而是仅仅由所附权利要求书限制。

Claims (10)

1.一种对包括多帧的视频流编码的方法,每帧包括多个图像部分,该方法包括:
对于流出视频流中要编码的多个第一图像部分中的每一个,使用第一过程选择潜在编码模式组中的优选模式,所述第一过程包括第一图像部分的失真的估计以及对于第一图像部分的潜在编码模式中的每一个对第一图像部分编码所需的比特率的度量;
使用对应的选择的编码模式对流出流的第一图像部分中的每一个编码;
对于视频流的多个第二图像部分中的每一个,应用至少包括第二图像部分的失真的估计的第二过程;以及
在用于第一部分的所述编码模式的选择中使用由第二图像部分得到的第二过程的输出偏置第一过程。
2.权利要求1的方法,其中第一过程为较低复杂度过程,并且第二过程为较高复杂度过程。
3.权利要求1或2的方法,其中第二图像部分也是所述流出视频流的图像部分,并且该方法包括:
对于流出视频流中要编码的所述多个第二图像部分中的每一个,使用第二过程选择潜在编码模式组中的优选模式,所述第二过程包括第二图像部分的失真的估计以及对于第二图像部分的潜在编码模式中的每一个对第二图像部分编码所需的比特率的度量;以及
使用对应的选择的编码模式对流出流的第二图像部分中的每一个编码。
4.权利要求3的方法,其中所述偏置包括对于第一图像部分中的每一个将所述潜在编码模式组限制为针对多个第二图像部分选择的那些模式。
5.权利要求3或4的方法,其中流出视频流中的第一部分与第二部分之比根据可用处理资源来选择。
6.权利要求1的方法,其中第二图像部分为训练视频流的图像部分,并且在对流出视频流编码之前将第二过程应用于训练阶段中。
7.权利要求6的方法,其中所述偏置包括:
在训练阶段中将第二过程和第一过程二者应用到第二图像部分;
基于该训练阶段,确定表示第一和第二过程的比特率度量和失真估计中的一个或二者的差值的偏置项;以及
当第一过程用来选择第一图像部分的编码模式时将该偏置项引入到第一过程中。
8.权利要求2或者从属于它的任何权利要求的方法,其中以下至少一个成立:
所述较低复杂度过程在其失真的估计中考虑到预测编码的影响,但是不考虑量化的影响;而所述较高复杂度过程在其失真的估计中考虑到预测编码和量化的影响;
所述较低复杂度过程在其失真的估计中考虑到预测编码的影响,但是不考虑量化之前从空域表示到变换域表示的变换的影响,而所述较高复杂度过程在其失真的估计中考虑到预测编码、变换和量化的影响;
所述较低复杂度过程不在其比特率的度量中考虑到对残差信号编码的成本,而所述较高复杂度过程确实包括考虑到对残差信号编码的成本的比特率的度量;以及
所述较低复杂度过程不在其比特率的度量中考虑到熵编码的影响,而所述较高复杂度过程确实包括考虑到熵编码的影响的比特率的度量。
9.权利要求2或者从属于它的任何权利要求的方法,其中所述较高复杂度过程考虑到通过信道的损失的可能影响,而所述较低复杂度过程不考虑。
10.一种包括编码器的装置,该编码器用于对包括多帧的视频流编码,每帧包括多个图像部分,该编码器被配置成:
对于流出视频流中要编码的多个第一图像部分中的每一个,使用第一过程选择潜在编码模式组中的优选模式,所述第一过程包括第一图像部分的失真的估计以及对于第一图像部分的潜在编码模式中的每一个对第一图像部分编码所需的比特率的度量;
使用对应的选择的编码模式对流出流的第一图像部分中的每一个编码;
对于视频流的多个第二图像部分中的每一个,应用至少包括第二图像部分的失真的估计的第二过程;以及
在用于第一部分的所述编码模式的选择中使用由第二图像部分得到的第二过程的输出偏置第一过程。
CN201280031143.8A 2011-06-24 2012-06-22 用于视频编码的率失真优化 Active CN103609122B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1110760.4 2011-06-24
GB1110760.4A GB2492330B (en) 2011-06-24 2011-06-24 Rate-Distortion Optimization with Encoding Mode Selection
PCT/EP2012/062164 WO2012175723A1 (en) 2011-06-24 2012-06-22 Rate -distortion optimization for video coding

Publications (2)

Publication Number Publication Date
CN103609122A true CN103609122A (zh) 2014-02-26
CN103609122B CN103609122B (zh) 2017-03-22

Family

ID=44485127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280031143.8A Active CN103609122B (zh) 2011-06-24 2012-06-22 用于视频编码的率失真优化

Country Status (5)

Country Link
US (1) US9036699B2 (zh)
EP (1) EP2710802B1 (zh)
CN (1) CN103609122B (zh)
GB (1) GB2492330B (zh)
WO (1) WO2012175723A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331706A (zh) * 2016-05-03 2017-01-11 上海兆芯集成电路有限公司 基于曲线拟合的率失真优化方法以及使用该方法的装置
WO2018184411A1 (zh) * 2017-04-05 2018-10-11 深圳市中兴微电子技术有限公司 一种预测模式的判决方法、装置及存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2492163B (en) 2011-06-24 2018-05-02 Skype Video coding
GB2492329B (en) 2011-06-24 2018-02-28 Skype Video coding
GB2493777A (en) 2011-08-19 2013-02-20 Skype Image encoding mode selection based on error propagation distortion map
GB2495468B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495467B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding
JP6665611B2 (ja) * 2016-03-18 2020-03-13 富士通株式会社 符号化処理プログラム、符号化処理方法及び符号化処理装置
US20190045195A1 (en) * 2018-03-30 2019-02-07 Intel Corporation Reduced Partitioning and Mode Decisions Based on Content Analysis and Learning
US11228786B2 (en) * 2019-07-11 2022-01-18 Google Llc Compressing frame based on errors of previous frames
US11546607B2 (en) 2020-04-18 2023-01-03 Alibaba Group Holding Limited Method for optimizing structure similarity index in video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239348A1 (en) * 2005-04-25 2006-10-26 Bo Zhang Method and system for encoding video data
US20090067495A1 (en) * 2007-09-11 2009-03-12 The Hong Kong University Of Science And Technology Rate distortion optimization for inter mode generation for error resilient video coding
WO2010036772A2 (en) * 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
CN101848393A (zh) * 2010-06-08 2010-09-29 上海交通大学 可伸缩视频稀疏信息处理系统

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0620303B2 (ja) 1984-11-08 1994-03-16 日本電信電話株式会社 フレ−ム間符号化方式におけるリフレッシュ処理方式
JPH10145794A (ja) 1996-11-11 1998-05-29 Oki Electric Ind Co Ltd 画像符号化方法及び画像符号化装置
JPH11218673A (ja) 1998-01-30 1999-08-10 Olympus Optical Co Ltd カメラシステム
US6434196B1 (en) 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
JP3606306B2 (ja) 1998-10-08 2005-01-05 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
JP2003032287A (ja) 2001-07-16 2003-01-31 Furukawa Electric Co Ltd:The ネットワーク間接続方法、その装置およびその装置を用いたシステム
US7317759B1 (en) 2002-02-28 2008-01-08 Carnegie Mellon University System and methods for video compression mode decisions
FR2840495B1 (fr) * 2002-05-29 2004-07-30 Canon Kk Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
EP1520431B1 (en) 2002-07-01 2018-12-26 E G Technology Inc. Efficient compression and transport of video over a network
FR2846835B1 (fr) * 2002-11-05 2005-04-15 Canon Kk Codage de donnees numeriques combinant plusieurs modes de codage
EP1439712A1 (en) * 2002-12-17 2004-07-21 Visiowave S.A. Method of selecting among "Spatial Video CODEC's" the optimum CODEC for a same input signal
CN100499788C (zh) 2003-01-09 2009-06-10 加利福尼亚大学董事会 视频编码设备
US7672523B2 (en) 2003-03-03 2010-03-02 The Hong Kong University Of Science And Technology Efficient rate allocation for multi-resolution coding of data
KR20050061762A (ko) 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
JP4031455B2 (ja) * 2004-03-29 2008-01-09 株式会社東芝 画像符号化装置
JP4680008B2 (ja) 2004-08-31 2011-05-11 株式会社エヌ・ティ・ティ・ドコモ 通信システム、通信ノード及び通信方法
US8948266B2 (en) 2004-10-12 2015-02-03 Qualcomm Incorporated Adaptive intra-refresh for digital video encoding
EP1839445A2 (en) 2005-01-18 2007-10-03 Thomson Licensing Method and apparatus for estimating channel induced distortion
DE102005029127A1 (de) 2005-06-23 2007-04-19 On Demand Microelectronics Ag Verfahren und Vorrichtung zur optimierten prädiktiven Videocodierung
US20070030894A1 (en) 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
US8089892B2 (en) 2005-12-15 2012-01-03 Thomson Licensing Adaptive joint source and channel coding scheme for H.264 video multicasting over wireless networks
CN101346999B (zh) 2005-12-22 2012-11-28 汤姆森特许公司 用于优化灵活宏块排序视频编码的帧选择的方法和装置
US20070160137A1 (en) 2006-01-09 2007-07-12 Nokia Corporation Error resilient mode decision in scalable video coding
WO2007084475A2 (en) 2006-01-17 2007-07-26 Thomson Licensing Methods and apparatus for low complexity error resilient motion estimation and coding mode selection
JP4845640B2 (ja) 2006-08-23 2011-12-28 富士通株式会社 無線通信システムおよび無線通信方法
CN102752597A (zh) * 2006-08-28 2012-10-24 汤姆森许可贸易公司 用于确定解码视频块中的期望失真的方法及设备
US8467448B2 (en) * 2006-11-15 2013-06-18 Motorola Mobility Llc Apparatus and method for fast intra/inter macro-block mode decision for video encoding
EP2105029A2 (en) 2006-12-15 2009-09-30 Thomson Licensing Distortion estimation
US8824567B2 (en) 2007-04-04 2014-09-02 Ittiam Systems (P) Ltd. Method and device for tracking error propagation and refreshing a video stream
KR100898176B1 (ko) 2007-06-12 2009-05-19 한국전자통신연구원 비디오 인코딩을 위한 인터 모드 결정 방법
US20080316364A1 (en) 2007-06-25 2008-12-25 The Hong Kong University Of Science And Technology Rate distortion optimization for video denoising
US8982947B2 (en) 2007-07-20 2015-03-17 The Hong Kong University Of Science And Technology Rate control and video denoising for noisy video data
CN100566427C (zh) * 2007-07-31 2009-12-02 北京大学 用于视频编码的帧内预测编码最佳模式的选取方法及装置
WO2009045683A1 (en) 2007-09-28 2009-04-09 Athanasios Leontaris Video compression and tranmission techniques
US20090110062A1 (en) 2007-10-30 2009-04-30 The Hong Kong University Of Science And Technology Optimal heegard-berger coding schemes
US20090135901A1 (en) 2007-11-28 2009-05-28 The Hong Kong University Of Science And Technology Complexity adaptive video encoding using multiple reference frames
FR2925819A1 (fr) 2007-12-21 2009-06-26 Thomson Licensing Sas Procede de codage double passe par macrobloc
US8238427B2 (en) 2008-01-17 2012-08-07 Texas Instruments Incorporated Rate distortion optimized adaptive intra refresh for video coding
US8265171B2 (en) 2008-02-26 2012-09-11 Richwave Technology Corp. Error resilient video transmission using instantaneous receiver feedback and channel quality adaptive packet retransmission
US8798137B2 (en) 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
US8406296B2 (en) 2008-04-07 2013-03-26 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback
WO2010005691A1 (en) 2008-06-16 2010-01-14 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
EP2139138B1 (en) 2008-06-24 2013-06-19 Alcatel Lucent Radio link adaption of a channel between a first network element and a second network element in a communication network
US20110182356A1 (en) 2008-07-25 2011-07-28 Satya Ghosh Ammu A method for the estimation of spatio-temporal homogeneity in video sequences
KR101619972B1 (ko) 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
KR101217525B1 (ko) 2008-12-22 2013-01-18 한국전자통신연구원 비터비 디코더와 이를 이용한 음성 인식 방법
US20100238997A1 (en) 2009-03-17 2010-09-23 Yang En-Hui Method and system for optimized video coding
EP2230849A1 (en) * 2009-03-20 2010-09-22 Mitsubishi Electric R&D Centre Europe B.V. Encoding and decoding video data using motion vectors
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US8477846B2 (en) 2009-10-07 2013-07-02 Ittiam Systems (P) Ltd. System and method for adaptive intra refresh rate setting in a video encoder
US8411750B2 (en) 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
TWI390503B (zh) 2009-11-19 2013-03-21 Gemtek Technolog Co Ltd Dual channel voice transmission system, broadcast scheduling design module, packet coding and missing sound quality damage estimation algorithm
GB2476271B (en) * 2009-12-17 2015-09-02 Skype Coding data streams
US8553796B2 (en) 2009-12-23 2013-10-08 Intel Corporation Distortion-aware multiple input multiple output precoding
EP3595316B1 (en) 2010-01-08 2022-03-30 Nokia Technologies Oy Apparatus and method for video coding and decoding
US20110206118A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
US20120069927A1 (en) 2010-09-17 2012-03-22 Intel Corporation CQI feedback mechanisms for distortion-aware link adaptation toward enhanced multimedia communications
ES2870332T3 (es) 2010-10-20 2021-10-26 Guangdong Oppo Mobile Telecommunications Corp Ltd Optimización de la distorsión de la tasa resistente a errores para la codificación de imágenes y video
CN103918262B (zh) 2011-06-14 2017-11-10 王舟 基于结构相似度的码率失真优化感知视频编码方法和系统
GB2492329B (en) 2011-06-24 2018-02-28 Skype Video coding
GB2492163B (en) 2011-06-24 2018-05-02 Skype Video coding
GB2493777A (en) 2011-08-19 2013-02-20 Skype Image encoding mode selection based on error propagation distortion map
GB2495467B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495468B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239348A1 (en) * 2005-04-25 2006-10-26 Bo Zhang Method and system for encoding video data
US20090067495A1 (en) * 2007-09-11 2009-03-12 The Hong Kong University Of Science And Technology Rate distortion optimization for inter mode generation for error resilient video coding
WO2010036772A2 (en) * 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
CN101848393A (zh) * 2010-06-08 2010-09-29 上海交通大学 可伸缩视频稀疏信息处理系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331706A (zh) * 2016-05-03 2017-01-11 上海兆芯集成电路有限公司 基于曲线拟合的率失真优化方法以及使用该方法的装置
CN106331706B (zh) * 2016-05-03 2019-04-30 上海兆芯集成电路有限公司 基于曲线拟合的率失真优化方法以及使用该方法的装置
WO2018184411A1 (zh) * 2017-04-05 2018-10-11 深圳市中兴微电子技术有限公司 一种预测模式的判决方法、装置及存储介质
CN108696750A (zh) * 2017-04-05 2018-10-23 深圳市中兴微电子技术有限公司 一种预测模式的判决方法及装置

Also Published As

Publication number Publication date
US9036699B2 (en) 2015-05-19
CN103609122B (zh) 2017-03-22
GB2492330B (en) 2017-10-18
GB201110760D0 (en) 2011-08-10
EP2710802A1 (en) 2014-03-26
GB2492330A (en) 2013-01-02
EP2710802B1 (en) 2018-11-21
WO2012175723A1 (en) 2012-12-27
US20120328002A1 (en) 2012-12-27

Similar Documents

Publication Publication Date Title
CN103609115B (zh) 具有基于知觉的帧内切换的模式决策的编码方法及装置
CN103609122A (zh) 用于视频编码的率失真优化
JP6047835B2 (ja) 符号化方法及び送信端末
CN103650493B (zh) 低复杂度模式选择
CN103733621B (zh) 基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择
EP2737703B1 (en) Video refresh using error-free reference frames
CN105379269A (zh) 兴趣区域感知的视频编码
CN102067610A (zh) 基于视频编码的切片依赖性的码率控制模型适配
WO2014117049A1 (en) Adapting robustness in video coding
KR20110094765A (ko) 움직임 예측 장치 및 방법과 영상 처리 장치
WO2009126919A1 (en) Rate-distortion quantization for context-adaptive variable length coding (cavlc)
CN104539948A (zh) 视频处理系统和视频处理方法
CN102946534A (zh) 视频编码
CN102946532A (zh) 视频编码
KR101441899B1 (ko) 움직임 정보 부호화 및 복호화 방법과 이를 이용한 장치

Legal Events

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

Effective date of registration: 20200330

Address after: Redmond, Washington, USA

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Ai Erlandubailin

Patentee before: Skype