CN102946533A - 视频编码 - Google Patents

视频编码 Download PDF

Info

Publication number
CN102946533A
CN102946533A CN2012103205536A CN201210320553A CN102946533A CN 102946533 A CN102946533 A CN 102946533A CN 2012103205536 A CN2012103205536 A CN 2012103205536A CN 201210320553 A CN201210320553 A CN 201210320553A CN 102946533 A CN102946533 A CN 102946533A
Authority
CN
China
Prior art keywords
frame
distortion
coding
error propagation
video
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
CN2012103205536A
Other languages
English (en)
Other versions
CN102946533B (zh
Inventor
M.尼尔森
R.瓦芬
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
Priority claimed from GB1115209.7A external-priority patent/GB2495468B/en
Application filed by Skype Ltd Ireland filed Critical Skype Ltd Ireland
Publication of CN102946533A publication Critical patent/CN102946533A/zh
Application granted granted Critical
Publication of CN102946533B publication Critical patent/CN102946533B/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • 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/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)

Abstract

本发明涉及视频编码。一种方法包括:在多个帧的每个帧处对视频图像进行编码,包括通过使用帧间编码来编码一些所述帧的至少部分,由此生成编码的视频流;在有损信道上发送编码的视频流以在接收器处解码从而产生解码的视频;以及执行恢复操作以刷新所述视频图像的编码,切断在所述信道上存在丢失时由于帧间预测效应而在解码的视频中发生的误差传播;其中所述恢复操作由从接收器反馈的指示丢失的报告触发;并且其中所述恢复操作在复数个帧上执行,从而在不同相应帧处刷新不同部分帧区域的编码。

Description

视频编码
技术领域
本发明涉及在差错信道上的编码视频的发送。本发明可能特别(但不排他地)应用于实时地编码视频流时,即现场视频流诸如视频呼叫的现场视频流,其中在并且随着从相机或比如此类接收该流时编码器必须动态地编码该流以进行发送。
背景技术
在图1a中示意性地图示了要编码的视频数据流。该流包括多个帧(F),每个表示在不同的相应时刻的视频图像。如本领域技术人员将熟悉的,为了编码的目的,每个帧(F)被划分成部分并且每个部分也可以被细分成较小子部分,每个部分或子部分包括多个像素。例如,根据一种术语,要编码的视频流的每个帧被划分成宏块(MB)并且每个宏块被细分成块或子快(b),每个块或子块包括多个像素。每个帧也可以被划分成可独立解码的切片,每个切片包括一个或多个宏块。注意图1a中所示的划分仅仅示意用于说明性目的并且将明白这些不必意味着对应于任何实际的编码方案——例如每个帧可能包含更大数目的宏块。
在图2的框图中示意性地图示了其中可以采用视频编码的示例通信系统。通信系统包括第一发送终端12和第二接收终端22。例如,每个终端12、22可以包括移动电话或智能电话、平板电脑、膝上型计算机、台式计算机或者其它家用电器诸如电视机、机顶盒、立体声系统等等。第一和第二终端12、22每个被操作性地耦合到通信网络32并且第一发送终端12由此布置成发送将由第二接收终端22接收的信号。当然发送终端12也可以能够从接收终端22接收信号并且反之亦然,但是为了讨论的目的,在本文中从第一终端12的角度描述发送而从第二终端22的角度描述接收。通信网络32可以包括例如基于分组的网络诸如广域互联网和/或局域网、和/或移动蜂窝网络。
第一终端12包括存储介质14诸如闪速存储器或其它电子存储器、磁存储设备和/或光存储设备。第一终端12也包括:具有一个或多个核的CPU形式的处理装置16;收发器诸如有线或无线调制解调器,至少具有发送器18;以及摄像机15,该摄像机15可以或可以不容纳在与终端12的其余部分相同的外壳内。存储介质14、摄像机15和发送器18每个被操作性地耦合到处理装置16,并且发送器18经由有线或无线链路被操作性地耦合到网络32。类似地,第二终端22包括:存储介质24诸如电子、磁和/或光存储设备;以及具有一个或多个核的CPU形式的处理装置26。第二终端包括:收发器诸如有线或无线调制解调器,至少具有接收器28;以及屏幕25,该屏幕25可以或可以不容纳在与终端22的其余部分相同的外壳内。第二终端的存储介质24、屏幕25和接收器28每个被操作性地耦合到相应的处理装置26,并且接收器28经由有线或无线链路被操作性地耦合到网络32。
第一终端12上的存储介质14至少存储被布置成在处理装置16上执行的视频编码器。编码器在被执行时从摄像机15接收“原始的”(未经编码的)输入视频流,对视频流编码以便将其压缩成较低比特率流,并且输出编码的视频流以经由发送器18和通信网络32发送到第二终端22的接收器28。第二终端22上的存储介质至少存储被布置成在其自己的处理装置26上执行的视频解码器。解码器在被执行时从接收器28接收编码的视频流并且对其解码以输出到屏幕25。可以用来指代编码器和/或解码器的通用术语是编解码器。
在一些系统中,接收终端22处的解码器可以被布置成经由反馈信道,优选地经由相同的基于分组的网络32而向发送终端12的编码器发送反馈。
视频编解码器的目标是降低为发送视频信号所需的比特率同时维持最高可能的质量。这个目标是通过利用统计冗余度(视频信号中的类似性)和感知不相关性(与人类视觉系统的敏感度有关)而实现的。
大多数当今的视频编解码器是基于包括如下功能的架构:从其它像素块预测像素块,预测残差的变换,变换系数的量化,以及量化索引的熵编码。这些步骤有助于降低冗余度和不相关性。
 
可以典型地从当前帧之外的视频帧中的像素执行该预测(帧间预测)以及从相同帧中的像素执行该预测(帧内预测)。就是说,如果使用帧内编码进行编码,则帧的块、子块或其它部分(目标块或部分)相对于相同帧中的另一块、子块或图像部分(参考块或部分)进行编码;而如果使用帧间编码进行编码,则目标块或部分相对于另一帧中的参考块或部分进行编码。这个过程通常称为预测或预测编码。帧间或帧内预测模块因此将生成例如形式为如下的指示的预测:在帧内编码的情况下为邻近块或子块,和/或在帧间编码的情况下为运动矢量。典型地,编码器也生成表示所预测的块和实际块(或者预测的子块和实际子块,等等)之间的“剩余”差的残差信号。残差、运动矢量和任何所需的与帧内预测关联的数据然后典型地经由进一步的编码级诸如量化器和熵编码器而输出到编码的视频流中。因此,视频中的大多数块可以按照块之间的差进行编码,这与对绝对像素值进行编码相比要求更少的比特来编码并且因此节省比特率。帧内预测编码典型地要求比帧间预测更多的比特,但是与对绝对值编码相比仍然表示节省。对视频适合的帧间和帧内编码技术的细节对本领域技术人员将是熟悉的。
在图1b中示意性地图示帧内编码的示例,并且在图1c中示意性地图示帧间编码的示例。在帧内编码中,来自在目标块或子块b上方和/或左边的像素(所有都在相同帧内)用来预测目标块或子块的像素。这个过程被称作帧内预测。另外,来自帧内预测的残差也可以被变换、量化和熵编码。在帧间编码示例中,目标块或子块b1的像素基于先前帧中的对应区域进行预测,与目标块或子块b1偏移了运动矢量(有可能偏移了分数块或甚至分数像素)。这个过程被称作帧间预测。与帧内预测残差类似,来自帧间预测的残差也可以被变换、量化和熵编码。
对以下文档进行参考:
Figure 30972DEST_PATH_IMAGE001
Figure 10429DEST_PATH_IMAGE002
在常规系统中,反馈信道可以用来向发送终端12上的编码器用信号返回通知帧在接收终端22处经受丢失(丢失报告)。反馈信道也可以用来向编码器用信号返回通知在接收终端22处成功地接收帧(确认)。典型地,丢失的帧引起解码视频的严重失真,这可能持续很长时间,除非采取动作。一种这样的动作是从解码器向编码器报告回某一帧被丢失并且然后迫使编码器生成“恢复帧”,其将在被接收和解码时停止误差传播。恢复帧可以例如是关键帧(即全都被帧内编码)或者关于已知在解码器中可用(已知为无误差,因为它本身被确认为接收并且其历史中相关的任何其它东西已被确认)的无误差帧进行帧间编码的帧。后者与前者相比一般导致在给定质量下的较低比特率。与发送恢复帧相关联的缺点是比特率过冲(速率尖峰)或者替选地是源编码失真的增加。比特率过冲进而可以引起新的丢失或者迫使编码器丢掉帧并且急剧增加的源编码失真可能在感知上是干扰的。
Zhang等人[2]采取不同的方法。Zhang没有使用恢复帧,而是执行模式选择过程,该模式选择过程以试图基于信道的先验概率模型来优化速率失真折衷的方式在不同编码模式(包括帧内和帧间编码模式)之间进行选择。
现代编解码器允许针对帧内的不同部分使用不同的预测编码模式。具有不同编码选项的可能性增加了视频编码器的速率失真效率。必须针对每个帧区域找到最优的编码表示。典型地,这样的区域是例如16×16像素的宏块。即,因此有可能针对每个宏块单独地选择帧内预测或帧间预测模式,使得可以用不同模式来编码相同帧内的不同宏块。在某些编解码器中也有可能基于不同的宏块分区水平而使用不同的模式,例如在较高复杂性模式或较低复杂性模式之间选择,在所述较高复杂性模式中针对宏块内的每个4×4子块执行单独的预测而在所述较低复杂性模式中基于仅8×8或8×16块或甚至整个宏块执行预测。可用模式也可以包括用于执行预测的不同选项。例如如图1b中示意性图示的,在一种帧内模式中4×4子块(b)的像素可以通过从来自紧接上方的子块的邻近像素向下外插或者通过从紧接左边的子块向旁边外插而确定。另一称作“跳跃模式”的特殊预测模式也可以提供在某些编解码器中,这可以视为帧间模式的替选类型。在跳跃模式(PSkip)中,目标的运动矢量基于向顶部和向左边的运动矢量来推断并且不存在残差系数的编码。其中推断运动矢量的方式与运动矢量预测一致,因此运动矢量差为零,所以仅要求用信号通知宏块是跳跃块。
编码表示可以因此包括块分区信息、预测模式、运动矢量、量化精确度等等。最优的编码选项取决于视频内容、比特率、较早编码决策等等。变换系数的量化精确度典型地选择为满足比特率约束。此外,应当使失真最小化。
例如,H.264视频编码器提供在选择预测模式方面的巨大灵活性[1]。对于亮度分量的帧间预测,16×16像素的宏块可以表示为16×16像素的一个块、或者16×8像素的两个块、或者8×16像素的两个块、或者8×8像素的四个块。进一步,8×8块可以表示为8×8像素的一个块、或者8×4像素的两个子块、或者4×8像素的两个子块、或者4×4像素的四个子块。针对每个允许的宏块分区,尝试帧间预测。块的帧间预测通过索引化典型地用子像素精度所估计的(一个或多个)参考帧和(一个或多个)运动矢量(与相应参考帧中的参考块的空间移位)而表示。对于亮度分量的帧内预测,存在16×16块的四种可能模式以及4×4子块的九种可能模式。进一步,对于色度分量存在四种可能模式。通过比较帧间和帧内预测模式的性能而选择最佳预测模式。
视频编解码器诸如H.264 AVC [1]的速率失真性能在很大程度上取决于宏块模式选择o的性能。这是依据使用例如帧内模式或是帧间模式的速率失真折衷确定宏块是否被最佳编码的过程。从鲁棒性角度,帧内编码宏块是有益的,因为它们阻止时间误差传播(假设使用受约束的帧内预测,即禁止来自帧间预测宏块的帧内预测)。然而,帧内编码宏块与帧间编码宏块相比在速率方面一般更加昂贵,因此重要的是系统地引入帧内编码宏块以使得给定某一比特预算和信道条件而使解码器处的失真(例如平均失真)最小化。Zhang等人[2]提出这样的系统框架以基于解码器处的预期平均平方差和(SSD)的最小化来引入帧内编码宏块。通过跟踪潜在失真,Zhang等人能够计算与(在解码器处)预期的误差传播失真有关的偏项(bias term),在计算编码器速率失真环路内的帧间宏块的成本时将所述预期的误差传播失真添加到源编码失真。
速率失真性能最优化问题可以按照在比特率约束R下最小化失真来公式化。拉格朗日最优化框架往往用来求解该问题,根据此所述最优化准则可以公式化为:
Figure 998425DEST_PATH_IMAGE004
其中J表示拉格朗日函数,D表示失真的量度(模式o和宏块m或宏块子分区的函数),R是比特率,以及λ是定义失真和速率之间的折衷的参数。通常使用的失真量度(measure)是原始和重构像素之间的平方差和(SSD)或者原始和预测像素之间的绝对差和(SAD)。
在本申请中,求解拉格朗日最优化问题意味着找到使拉格朗日函数J最小化的编码模式o,其中拉格朗日函数J至少包括表示失真的项、表示比特率的项以及表示两者之间的折衷的因子(“拉格朗日函数乘子(multiplier)”)。随着编码模式o朝着更彻底或更好质量的编码模式进行改变,则失真项D将减小。然而,同时速率项R将增加,并且在与λ相关的某一点处,R的增加将超过D的减小。因此,表达式J将具有某一最小值,并且这发生所在的编码模式o被视为最优编码模式。
在这个意义上,比特率R,或者确切地说项λR,对该最优化设置约束,因为该项使最优编码模式中止不断增加的质量。找到这一最优平衡所处的模式将取决于λ,因此λ可以被视为表示比特率和失真之间的折衷。
拉格朗日最优化通常用在选择编码决策的过程中,并且应用于每个帧区域(例如16×16像素的每个宏块)。通常,可以评价该失真以顾及所有处理级。这些包括预测、变换和量化。此外,为了计算重构像素,必须执行逆量化、逆变换和逆预测的步骤。SSD往往优选作为失真准则,因为它与SAD相比导致更高的质量。通常,速率也顾及对所有需要的参数进行编码,包括描述预测的参数和量化的变换系数[4]。
在[2]中,Zhang等人作者估计不仅由于源编码而且由于信道误差引起的解码器中的潜在失真,亦即由于在信道上发送信号时数据的丢失而将经受的可能失真。估计的潜在失真然后间接地用来朝向帧内编码偏置模式选择(如果存在信道误差的概率)。这种方法在本文中可以被称为丢失自适应的速率失真最优化(LARDO: loss-adaptive rate-distortion optimization)。
Zhang的“端对端”失真表达式是基于平方差和(SSD)失真量度并且假设用于丢失宏块的伯努利分布。最优宏块模式oopt由下式给出:
Figure 812797DEST_PATH_IMAGE005
其中Ds(m,o)表示针对宏块m和宏块模式o的、原始和重构像素之间的SSD失真,R为总速率,并且λ为使失真和速率项联系起来的拉格朗日乘子。Dep_ref(m,o)表示由于误差传播引起的解码器中的参考宏块内的预期失真。Dep_ref(m,o)因此提供偏项,如果误差传播失真变得太大则该偏项使该最优化偏置朝向帧内编码。Dep_ref(m,o)对于帧内编码宏块模式而言为零。表达式Ds(m,o)+Dep_ref(m,o)+λR(m,o)可以被视为拉格朗日函数J的实例。Argmino输出表达式J为最小值时的变元o的值。
在[2]中,项Dep_ref(m,o)遵循对象的运动并且使用当前运动矢量从总失真图进行计算。总预期误差传播失真图Dep通过执行误差隐藏来驱动并且在每个宏块模式选择后更新为:
Figure 510626DEST_PATH_IMAGE006
其中n是帧号,m(k)表示宏块m的第k个子分区(即块或子块),p为分组丢失的概率,Dec_rec表示编码器中的重构和误差隐藏像素之间的SSD,并且Dec_ep为编码器和解码器中的误差隐藏像素之间的预期SSD。
在[2]中,Dep存储在帧的每个宏块上的4×4网格上,即每宏块有16个Dep值,因此每个宏块的每4×4像素子块有一个Dep值。如图1c中所示,Dep_ref(m(k),o)(即在时间n在宏块m内的子块k的预期误差传播参考失真)的计算然后执行为来自时间n-1的先前帧的四个子块的Dep值的加权和。这些权重是根据所讨论的块m的运动矢量确定的。就是说:
Figure 777659DEST_PATH_IMAGE007
其中权重wi与重叠的区域成比例并且其中qi(ki)表示先前帧n-1中的宏块qi的子块ki
图1d提供参考示例性子块b1…b4(在本示例中k对应于b1并且i计数经过b1…b4)从运动矢量和预期误差传播失真图来计算预期误差传播参考失真的图示。
Zhang [2]的基于RDO的模式选择过程可能碰巧决定使用帧内编码来编码任何给定的宏块,因此在时间上这将趋向于在需要时刷新该帧。然而,利用LARDO的恢复在许多情况下不够快,因此发送由丢失报告触发的恢复帧仍将是(在感知上)有益的。另一方面,生成恢复帧的常规技术导致高的比特率尖峰。
Vadapalli [3]公开了一种利用附加的帧内刷新操作来补充Zhang [2]的模式选择过程以用某一确定的规律性来强制地刷新该帧的技术。帧内刷新操作在某些确定的时间生成恢复帧,但是为了消除恢复帧的比特率成本并且避免速率尖峰,然后根据Vadapalli,每个个别帧内刷新操作散布在一定数目的帧上。就是说,对于给定的恢复操作,该帧的不同部分区域是在该数目的帧的不同相应帧中刷新的。进一步,刷新帧区域的顺序是基于Zhang [2]的误差传播失真图而确定的,使得首先刷新基于Zhang的有损信道的先验概率模型而被估计具有较高误差传播失真的区域,而稍后刷新被估计具有较低误差传播失真的区域。在Vadapalli [3]中,执行恢复操作所在的时间由编码器单方地设定,具有同样基于信道的先验概率模型而确定的规律性。
在时间上使速率平滑的又一替选方法是使用所谓的定步(pacing)缓冲器。定步缓冲器充当在视频编码器的突发输出速率上的低通滤波器,由此在发送信道上产生更平坦的速率。定步缓冲器的代价是延迟。
发明内容
本发明的发明人认为存在用于降低误差传播的失真效应同时维持足够平滑的比特率的进一步范围。
如所提及的,反馈信道可以例如用来用信号通知在接收器处丢失了帧。典型地,丢失的帧引起解码视频中的严重失真,这可能持续很长时间,除非采取动作——诸如从解码器向编码器报告回某一帧被丢失并且然后迫使编码器生成将在被接收和解码时停止误差传播的恢复帧,例如关键帧(即全都被帧内编码)或者关于已知在解码器中可用(由于从接收器反馈的一个或多个确认而已知)的无误差帧进行帧间编码的帧。后者与前者相比一般导致在给定质量下的较低比特率。与发送恢复帧相关联的缺点是比特率过冲或者替选地是源编码失真的增加。比特率过冲进而可以引起新的丢失或者迫使编码器丢掉帧并且急剧增加的源编码失真可能在感知上是干扰的。
为了缓解前述问题,本发明在报告了丢失之后在一段时间上产生部分恢复帧而不是生成一个完整的恢复帧。所谓的部分恢复帧是指诸如帧内刷新的技术的使用,其应用于一个帧的不同部分区域,散布在多个帧上。帧内刷新旨在迫使在一个时间段上的每个帧中的许多宏块进行帧内编码,即不是像在标准的恢复帧情形中那样所有宏块同时进行帧内编码。刷新模式优选地布置成使得所有宏块位置在某一时间段内通过帧内编码(或者关于已知在解码器中的解码图片缓冲器内可用的帧进行帧间)进行刷新。这种技术可以被认为“软恢复(soft recovery)”操作。
根据本发明,帧内刷新或者其它这种软恢复操作由来自解码器的报告在信道上经受的丢失的反馈来触发。
除了使用帧内刷新或其它软恢复技术来生成(一个或多个)恢复帧,本发明的特别优选实施例使用在编码器中估计的解码器处的潜在失真(包括分组丢失效应)驱动帧内刷新。跟踪在编码器内部的解码器处的潜在失真可以例如如Zhang等人[2]所公开的那样实施。Zhang [2]中的潜在失真被构造为由于解码器内部的损毁参考所致的潜在失真和在丢失了帧并且调用了误差隐藏的情况下引入的失真的加权和。在Zhang中,失真图仅用在正在进行的模式选择过程中,但是根据本发明的优选实施例,失真图的目的是优先化在软恢复操作中刷新块的顺序或者什么块应当被一起刷新。
恢复的目的是同时中断所有误差传播。软恢复的目的是使这松弛一点并且允许恢复在几个帧内发生。不过,软恢复仍然比简单应用Zhang [2]的LARDO过程一般将进行的更快地终止误差传播失真——就是说,软恢复确保它刷新在某一数目的帧上的帧区域,该帧区域相对于LARDO过程碰巧覆盖该帧区域将所花的时间是小的。软恢复旨在刷新整个图像区域或者图像的至少整个区域(多个宏块一起),而RDO孤立地针对每个个别块或宏块做出模式选择决策并且没有对所讨论的区域进行系统性刷新。
有点类似的方法由Vadapalli等人在[3]中提出。然而,Vadapalli未能利用反馈信道可用的可能性。
Zhang [2]和Vadapelli [3]的过程均是仅仅基于在编码器处关于在信道上的丢失似然性所做出的先验概率假设。就是说,它们每个依赖于使用信道的概率模型的纯粹基于模型的方法。失真的估计依赖于丢失概率p的预定估计而没有信道的后验经验知识。
进一步,不像Zhang [2],软恢复操作仅发生在由报告丢失帧触发时的某些时间,而诸如Zhang的RDO方法是一直发生的正在进行的过程。
因此,本发明提供部分恢复帧(与单个同时恢复帧相比)的生成以便使发送速率平滑,其响应于来自接收终端的报告关于在信道上发生的丢失的后验信息的反馈而触发。在特别优选实施例中,本发明使用基于解码帧中的潜在失真的优先级图来确定要刷新什么宏块以及用什么顺序刷新。
根据本发明的一个方面,提供一种方法,该方法包括:对在多个帧的每个帧处的视频图像进行编码,包括通过使用帧间编码来编码一些帧的至少部分,由此生成编码的视频流;在有损信道上发送编码的视频流以在接收器处解码从而产生解码的视频;以及执行恢复操作以刷新视频图像的编码,切断在所述信道上存在丢失时由于帧间预测效应而在解码的视频中发生的误差传播;其中所述恢复操作由从接收器反馈的指示丢失的报告触发;并且其中所述恢复操作在复数个帧上执行,在不同相应帧处刷新不同部分帧区域的编码。
在实施例中,所述刷新操作在所述数目的帧上刷新所述视频图像的全部的编码。
所述恢复操作可以包括使用帧内编码而不是所述帧间编码来编码所述部分帧区域中的一个或多个。
所述恢复操作可以包括相对于所述帧中的由于从接收器反馈的接收确认而已知为无误差的一个帧的部分而使用帧间预测来编码所述部分帧区域中的一个或多个。
该方法可以包括维持误差传播失真图,所述误差传播失真图映射由于在视频图像的不同相应部分上的所述误差传播所致的失真的估计;其中每个所述部分帧区域可以涵盖一个或多个所述部分,并且可以根据依据不同部分的误差传播失真图中的失真的估计所确定的优先级来刷新所述部分帧区域。
在每个相应帧处,可以基于误差传播失真图中的所述部分的估计来刷新与误差传播失真的最大估计对应的部分帧区域中的仅一个或子集。
所述部分帧区域可以在所述数目的帧上以优先级的顺序进行刷新,所述优先级的顺序基于误差传播失真图中的估计而确定,使得与较大估计的误差传播对应的部分帧区域在所述数目的帧中的较早帧中进行刷新而与较小估计的误差传播对应的部分帧区域在所述数目的帧中的较晚帧中进行刷新。
所述视频图像的所有部分可以以优选级顺序进行刷新。
帧的所述数目可以等于或大于所述视频图像在区域中可划分成的所述部分帧区域的数目。
该方法可以包括更新误差传播图以反映所述恢复操作所实现的刷新。
每个所述部分帧区域可以涵盖多个所述部分,并且可以根据依据误差传播图中的相应多个部分的估计来确定每个部分帧区域的对应估计的误差传播失真。
误差传播图中的估计可以基于:第一贡献,表示(如果目标部分确实通过信道到达)由于目标部分预测所依赖的目标部分历史中的参考部分的未到达而将经受的失真估计;以及第二贡献,表示由于隐藏而将经受的失真估计。
第二贡献可以包括:表示目标部分相对于图像部分的隐藏失真量度的贡献,如果在信道上丢失目标部分则其将用来隐藏目标部分的丢失;以及表示由于目标部分隐藏所依赖的目标部分历史中的图像部分的丢失而将经受的失真估计的贡献。
除了恢复操作,误差传播失真图可以另外用在分开的编码模式选择过程中,该单独的编码模式选择过程单独地应用于每个图像部分并且是正在进行的过程而不是由来自解码器的反馈触发。
编码模式选择过程可以在用于个别图像部分的帧内和帧间编码之间选择。
恢复操作可以比模式选择过程更快地刷新视频图像的编码。
恢复操作可以在由所述数目的帧定义的预定时间段内刷新整个视频图像的编码,而模式选择过程不能保证在所述预定时间段内刷新整个视频图像的编码。
模式选择过程不能保证在任何预定时间段内刷新整个视频图像的编码。
根据本发明的另一方面,提供一种发送终端,该发送终端包括:编码器,被布置成在多个帧的每个帧处对视频图像进行编码,包括通过使用帧间编码来编码一些所述帧的至少部分,由此生成编码的视频流;以及发送器,被布置成在有损信道上发送编码的视频流以在接收终端处解码从而产生解码的视频;其中所述编码器被配置成执行恢复操作以刷新所述视频图像的编码,切断在所述信道上存在丢失时由于帧间预测效应而在解码的视频中发生的误差传播;其中所述编码器被配置成使得所述恢复操作由从所述接收终端反馈的指示丢失的报告触发;并且其中所述编码器被配置成在复数个帧上执行所述恢复操作,在不同相应帧处刷新不同部分帧区域的编码。
在实施例中,编码器可以进一步配置成执行根据任何上面的方法特征的操作。
根据本发明的另一方面,提供了一种计算机程序产品,所述计算机程序产品被体现在计算机可读介质上并且包括代码,所述代码被配置成当在发送终端上执行时执行以下操作:在多个帧的每个帧处对视频图像进行编码,包括通过使用帧间编码来编码一些帧的至少部分,由此生成编码的视频流;在有损信道上发送编码的视频流以在接收器处解码从而产生解码的视频;以及执行恢复操作以刷新视频图像的编码,切断在所述信道上存在丢失时由于帧间预测效应而在解码的视频中发生的误差传播;其中所述恢复操作由从接收器反馈的指示丢失的报告触发;并且其中所述恢复操作在复数个帧上执行,从而在不同相应帧处刷新不同部分帧的编码。
在实施例中,代码可以进一步被配置成在被执行时执行根据任何上面的方法特征的操作。
附图说明
为了更好地理解本发明并且为了示出如何可以对其实施,通过示例方式对附图进行参考,在附图中:
图1a是视频流的示意性表示,
图1b是一些帧内预测编码模式的示意性表示,
图1c是关于帧间预测编码的示意性表示,
图1d是误差传播失真的计算的示意性表示,
图2是通信系统的示意性框图,
图3是编码器的示意性框图,
图4是误差传播失真图的示意性表示,以及
图5是软恢复操作的触发的示意性表示。
具体实施方式
以下涉及利用从接收器到发送器可用的反馈信道在差错信道上的实时视频发送的领域。
再次参考图2,在接收终端22上运行的解码器被配置成当它确定帧或部分帧在接收终端22处未被接收并且因此在信道上被丢失时向在发送终端12上运行的编码器返回报告。该丢失可能是因为分组在基于分组的网络上发送期间被丢掉或者因为数据被损毁。当分组、帧或者部分帧被成功接收时,接收终端22上的解码器也可以反馈确认。
根据本发明的优选实施例,描述了一种使用基于帧内刷新的恢复或其它这种软恢复操作而不是单个恢复帧的方法,其中在发送终端12的编码器处执行的基于帧内刷新的恢复操作由从接收终端22接收回的丢失报告触发。
就基于帧内刷新的恢复方案而言存在许多挑战。首先,将期望的是,首先刷新与最大失真相关联的区域使得(严重)失真的持续时间被最小化。其次,将期望的是,确保在某一时间段后误差传播失真的概率(除非发生新的丢失)是小的。为了解决这两个问题,在编码器内部跟踪潜在解码器失真将是有用的。一种用于跟踪失真的此类方法是由Zhang等人[2]描述的方法,但是其它方法可以是可能的。该跟踪包括在发送终端12上运行的编码器处维持误差传播图。这将由于信道上的可能丢失所致的失真估计映射到所讨论的视频图像的帧区域的不同相应部分,例如将相应估计的误差传播失真值映射到帧区域的每个宏块。
本发明使用误差传播图中的估计失真值来优先化帧的哪些区域应当在软恢复操作中被刷新,优选地优先化在软恢复中涉及的所述数目的帧上刷新区域的顺序。在序列中,具有较大误差传播失真估计的那些区域将首先被刷新,而具有较低误差传播估计的那些区域将稍后被刷新。然而,不像Vadapalli [3],软恢复操作由从接收终端22反馈的指示信道(例如,经由基于分组的网络32建立的信道)上的丢失的报告触发。优选地,该触发是与具体丢失事件即特定分组、帧或部分帧的丢失对应的报告。
帧的给定区域的刷新可以使用帧内编码或相对于已知在解码器中可用(已知为无误差,因为它本身已被确认为接收并且其历史中相关的一切已被确认)的无误差帧的帧间编码而实现。
优选地,软恢复操作继续直至刷新了整个帧区域的所有区域(即整个视频图像区域)。
图4示意性地表示由在发送终端22处的编码器维持的误差传播图在刷新由来自接收终端22的反馈报告触发时的“快照”。
在图4中图示了误差传播失真图中的多个条目,每个对应于总帧区域在帧区域内的不同相应位置处相应部分。例如,该图可以就宏块m的每块或子块m(k)维持一个条目。每个条目存储代表其相应帧部分的相应误差传播失真估计的相应值Dep(m(k))。这代表由于以下原因而在帧区域的该部分中可能当前在解码器处经受所估计的失真:在信道上的相关编码图像数据的可能丢失;以及该丢失因为基于误差隐藏的数据的帧间编码帧的继续解码而传播经过正在进行的帧的效应。该图是根据在编码器处实施的信道的估计或模型而确定的。每当执行帧区域的新的编码模式选择或刷新,就更新相关条目。
根据本发明的示例性实施例,当由从接收终端22反馈的丢失报告触发时,在发送终端12处的编码器基于哪些在误差传播图中具有最高估计的误差传播失真而确定用于刷新帧区域的不同部分(例如不同块或宏块)的相对优先化。
图5示意性地图示了被编码的帧序列。如图5所示,在响应于从解码器反馈的报告特定分组、帧或部分帧的丢失的丢失报告而触发之后,在少量的部分恢复帧上执行软恢复操作。优选地,给定恢复操作的部分恢复帧形成时间上的连续序列。在其上执行软恢复的帧数相对于LARDO模式选择过程碰巧刷新整个帧将所花的时间是小的。通过图示的方式,软恢复在图5中被示为在四个帧上执行,但是将明白其它数目是可能的。在实施例中,该数目是固定的或以其它方式预定的数目,但是不排除以特设方式(ad hoc)改变数目的可能性。
基于所确定的优先化,编码器然后确定该帧的哪些部分区域(例如哪些组的块或宏块)将在为恢复所分配的哪些帧中被更新。
该刷新可以包括对帧区域的块进行帧内编码;或者可以包括相对于已知在解码器处被接收而没有误差传播失真的参考帧或部分帧对这些块进行帧间编码,因为该参考帧被确认为已被解码器接收并且参考帧历史中相关的一切被确认为已被接收(即如果参考帧本身从先前参考帧被帧间预测,以此类推,则该链中的所有参考帧将需要被确认为由解码器接收以保证无误差传播失真)。该刷新也可以包括针对不同区域的这两种技术的组合。
通过图示方式,在图4中以粗体示出了具有最高估计的误差传播失真值的块集合。
在一个实施例中,具有最高估计的误差传播失真的该块或宏块集合形成要被首先刷新的区域,例如通过每个相对于确认的无误差帧或帧部分进行帧间编码。然而,在图中具有最高估计值的块可能不必彼此相邻,而可以四处散布使得被刷新的区域分散在图上。如果期望的刷新技术是对那些块相对于彼此进行帧内编码,这可能是不方便的。
在替选实施例中,编码器确定空间上成组的接连块或宏块的较大区域(但仍然是帧的部分区域),其根据某一聚合量度而具有最高总体估计误差传播失真,例如包含最高失真块集合的最大分数或者在该区域内具有块的误差传播失真值的最高平均值。这种区域的示例在图4中被示出加轮廓。编码器然后将首先刷新该区域的块,而非必要刷新所有各个最高失真块。
优选地,存在与帧区域可划分成的区域一样多的恢复帧,使得整个帧区域可以在该数目的部分恢复帧中被更新。实际上注意,在实施例中这仅是最小帧数,因为所刷新部分可以原则上再次由于来自非刷新区域的误差传播而损毁,因此可能要求附加的刷新以(以某一概率)保证没有误差传播失真的解码。
根据一种用于刷新优先化的策略,在软恢复中涉及的所述数目的帧中的每一个处,编码器可以仅编码在该时间点上具有最高估计失真的任何区域,而不必采取有效步骤来强制在所述数目的帧上的整个帧区域的穷尽刷新。优选地,在刷新每个部分帧区域后更新误差传播失真图,即因此一旦该区域被刷新,可以已知该区域具有小误差传播失真或者没有误差传播失真(低但非零预期的误差传播失真仍然可能由于低但存在的如下概率而延续:部分恢复帧在信道上丢失并因此在解码器处没有刷新效应)。在这种情况下,在任何给定帧处仅刷新具有最大估计误差传播失真值的区域的策略可能具有刷新整个帧区域而不明确分配或强制顺序的效果,因为在每次部分刷新后,该区域的块将具有小失真或者没有失真并且因此不可能接下来被刷新,并且先前第二失真块组现在将是最大的,等等。因此,这种策略将根据某一隐含优先级来刷新。
替选地,编码器可以被配置成编码在每个恢复帧时具有最高估计失真的任何区域,但是在每个后续恢复帧时从比较中排除已被刷新的任何区域。这将具有确保以优先级顺序刷新整个帧区域的效果(仍然假设存在至少与帧区域可划分成的区域一样多的恢复帧),使得较早刷新具有较高估计误差传播失真的区域而较晚刷新具有较低估计误差传播失真的区域。
在另一替选策略中,在操作的开始时当初始触发软恢复时,编码器可以基于误差传播失真图中的对应估计来为多个区域中的所有区域策划优先级顺序,使得具有最高估计误差传播失真的区域被分配较高优先级而具有最低估计误差传播失真的区域被分配较低优先级。编码器然后将以所分配的优先级顺序刷新每个区域。
在一些实施例中,任何上面的策略可以被进一步适配成使得一个或多个区域可以被全部或部分刷新不止一次以尝试适应如下事实:所刷新部分可以原则上再次由于来自非刷新区域的误差传播而损毁,因此可能要求附加的刷新以(以某一概率)保证没有误差传播失真的解码。在这种情况下,软刷新操作将适于针对比帧区域可划分成的所述部分帧区域的数目更多的帧来运行。在上面讨论的第二或第三策略的情况下,这些可以被布置成针对具有最高估计误差传播失真或最高指派优选级的一个或多个区域重复该刷新。
如所讨论的,在[2]中,作者在编码器中估计在解码后(由于源编码和信道误差所致的)的潜在失真。在他们的工作中,估计的潜在失真然后间接地用来使模式选择偏向帧内编码(如果存在信道误差的非零概率)。
他们所谓的“端对端”失真表达式是基于平方差和(SSD)失真量度并且假设用于丢失宏块的伯努利分布。最优宏块模式o由下式给出:
Figure 38876DEST_PATH_IMAGE008
其中Ds(m,o)表示针对宏块m和宏块模式o的、原始和重构像素块之间的SSD源编码失真,R为总速率,并且λ为使失真和速率项联系起来的拉格朗日乘子。Dep-ref(m,o)表示由于误差传播引起的解码器中的参考块内的预期失真。Dep-ref(m,o)对于帧内编码宏块模式而言为零(假设受约束的帧内预测)。在[2]中,项Dep-ref(m,o)遵循运动并且使用当前运动矢量从总失真图进行计算。总预期误差传播失真图Dep通过执行误差隐藏来驱动并且在每个宏块模式选择后更新为:
Figure 707755DEST_PATH_IMAGE009
其中m(k)表示宏块m的第k个子块,p表示分组丢失的概率,Dec-rec表示编码器中的重构和误差隐藏像素之间的SSD,并且Dec-ep为编码器和解码器中的误差隐藏像素之间的预期SSD。
在本发明的实施例中,公式(2)的使用不是关键的。相关公式是描述潜在失真的跟踪的(3)或(3a)。给定公式(3)或(3a)用于整个帧,编码器可以选择刷新具有最大潜在失真的最大Kmax块当中的K块,因此解决最小化严重失真的持续时间的第一顾虑。这类似于在帧内刷新的背景下由Vadapalli等人[3]提出的内容,但是由从接收器12反馈的丢失报告触发。此外,由于本发明的优选实施例逐帧地跟踪失真,编码器可以被配置成估计宏块的刷新如何传播到下一帧(或者再次变为损毁)并且由此获得保持在解码图片中的误差传播失真的概率的良好估计。
软恢复机制是可以与LARDO模式选择一起或者不与LARDO模式选择一起使用的独立恢复方法。本发明的软恢复操作与模式选择过程不同在于软刷新操作仅发生在由报告的丢失帧触发时的某些时间,而LARDO是一直发生的正在进行的过程。再次参见图5。而且,软刷新旨在刷新整个图像或者图像的至少整个大块(多个宏块一起),而LARDO孤立地针对每个个别块或宏块做出模式选择决策。
LARDO过程可能碰巧决定使用帧内编码来编码任何给定的宏块,因此在时间上这将趋向于在需要时刷新该帧(尽管常规上不用反馈来完成)。然而,发明人已经历利用LARDO的恢复在许多情况下不够快因此发送由丢失报告触发的恢复帧仍是(在感知上)有益的。恢复操作的目的是同时中断所有误差传播。软恢复的目的是使这松弛一点并且允许恢复在几个帧内发生。然而,软恢复仍然比简单应用LARDO更快地终止误差传播失真。优选地,软恢复操作确保在(由该软刷新所散布的所述数目的帧所定义的)某一预定时间段内刷新整个帧区域;而这是LARDO过程因其性质而不能保证的东西。
关于图3描述了用于实施本发明的适当的编码器。
图3是示意性图示诸如可能在发送终端12上实施的编码器的高级框图。该编码器包括:离散余弦变换(DCT)模块51,量化器53,逆变换模块61,逆量化器63,帧内预测模块41,帧间预测模块43以及减法级(-)。该编码器也包括开关47和控制器49。每个模块优选地实施为存储在发送终端的存储介质14上且布置用于在其处理装置16上执行的代码的一部分,尽管不排除这些中的一些或全部整体或部分实施在专用硬件电路中的可能性。
开关47和模式控制器49中的每一个布置成接收包括多个宏块MB的输入视频流的实例。控制器49布置成选择宏块是使用帧内编码还是帧间编码来编码的(并且在实施例中可以在不同的帧间模式和/或不同的帧内模式当中进行选择)。控制器49操作性地耦合到复用器47以便对它控制从而视选择的编码模式而定把逆量化器63的输出传送到帧内预测模块41或帧间预测模块43的输入。控制器49使用这一能力来控制根据软恢复操作的所刷新帧区域的生成,例如在软刷新的周期内在不同要求的位置中生成帧内编码的区域。为此,控制器49被连接以便接收经由反馈信道从接收终端22反馈的丢失报告(可选地也接收确认)。如果与软恢复机制并行地也要求诸如Zhang [2]的LARDO模式选择过程,则用于个别宏块(或者比如此类)的模式选择“o”也可以由控制器49控制。在实施例中,控制器49可以布置成向相关的预测模块41、43指示关于选择的模式“o”的信息(例如指示4×4分区模式、8×8模式、跳跃模式等等)并且接收从预测模块41、43反馈的信息以用于选择下一帧的模式。
帧内预测模块41或帧间预测模块43的输出然后耦合到减法级(-)的输入,该减法级(-)布置成在其另一输入处接收未经编码的输入视频流并且从其未经编码的副本减去预测的块,因此生成残差信号。残差块然后传送经过变换(DCT)模块51(在模块51中其残差值被转换到频域中),然后到量化器53(在量化器53中变换的值被转换成离散量化索引)。量化的变换信号被反馈经过逆量化器63和逆变换模块61以生成(如在解码器处将看到的)块或子块的预测版本以供选择的预测模块41、43使用。在预测模块41、43中使用的预测的指示、由帧间预测模块43生成的运动矢量以及由变换和量化模块51、53生成的残差的量化的变换索引都被输出以包含在编码视频流中;典型地经由进一步无损编码级诸如熵编码器(未示出),在其中预测值和变换的量化索引可以使用本领域中已知的无损编码技术进行进一步压缩。
通过示例方式,现在更详细地描述Zhang的维持误差传播失真图的方法。然而,将明白,可以存在其它对由于信道上的丢失所致的可能失真进行建模的方式,并且本发明不限于这种具体的方法。
如所提及的,模式选择可以涉及优化(例如最小化)拉格朗日类型函数:
其中J表示拉格朗日函数,D表示失真的量度(模式o和宏块m或宏块子分区的函数),R是比特率,以及λ是定义失真和速率之间的折衷的参数。
在常规情况下失真项D仅考虑到源编码失真,即由于编码器中的缺陷诸如由量化所引入的失真。它没有考虑到可能由于信道上的数据丢失例如由于基于分组的网络32上的发送中的分组丢失而引入的失真。
另一方面,丢失自适应的技术诸如本发明和Zhang [2]的那些技术试图定义考虑到源编码和由于信道上的数据丢失所引起的失真两者的“端对端”失真的量度。给定(目标)块、宏块或子块的端对端失真可以描述为:
Figure 268497DEST_PATH_IMAGE011
其中Darrival是如果目标块确实到达解码器则将经受的失真的估计,而Dloss是如果由于信道上的分组丢失例如由于基于分组的网络32上的包括目标块的分组的丢失而该块未到达解码器则将经受的失真的估计。参数p是在信道上发生的导致所讨论的块或图像部分被丢失的丢失事件的概率估计,例如分组丢失的概率估计。为了方便起见,术语“块”可以在这里的某些地方用来一般地指代相关的帧分区水平(例如诸如H.264的某些标准的块或子块)。
Darrival不仅表示源编码失真而且表示由于块过往的失真即要据以预测目标块的一个或多个参考块中的失真而将引入的失真。因此,Darrival包括源编码失真项Ds和误差传播失真项Def_ref两者,该误差传播失真项Def_ref表示预测的目标块历史中的失真(即,将向前携带到目标块中的目标块参考块中的失真):
Figure 67826DEST_PATH_IMAGE012
Dloss包括由于隐藏所致的丢失。如果未接收到目标块,则解码器将应用隐藏算法,该隐藏算法可以涉及冻结先前解码的块或者从一个或多个成功解码的块(从当前帧和/或先前帧)内插或外插。因此,Dloss可以标识为由于这个隐藏过程所致的失真:
Figure 591211DEST_PATH_IMAGE013
因此检查公式(5),项Ds表示如果根本不存在丢失则将经受的失真的估计,项Dec表示如果丢失了目标块则将经受的失真的估计,而项Dep_ref表示如果成功接收到目标块但是其历史中的一些东西被丢失(如果目标块的参考块被丢失,或者参考块的参考块被丢失,等等)则将经受的失真的估计。
Ds和Dep_ref是编码模式选择o的函数。Dec不是模式选择o的函数,因此从拉格朗日表达式略去(如何对丢失的块编码无所谓——它仍被丢失)。因此,最优化可以写为:
Figure 21056DEST_PATH_IMAGE014
Ds是确定的,因为它是基于在编码器处可以已知的信息,例如基于原始输入样本值s和重构的样本值
Figure 72801DEST_PATH_IMAGE015
之间的差。编码器在编码器侧运行解码器的并行实例(或其近似)——参见详述图3中的帧间预测模块43的插图。帧间预测模块43包括运动补偿预测(MCP)块44和加法级(+),所述加法级(+)布置成通过组合预测的样本
Figure 347924DEST_PATH_IMAGE016
和重构的残差
Figure 53712DEST_PATH_IMAGE017
来确定重构的样本
Figure 388878DEST_PATH_IMAGE015
,即对于每个样本索引i,
Figure 117800DEST_PATH_IMAGE018
。在帧间编码的情况下,在编码器处预测的样本
Figure 9664DEST_PATH_IMAGE016
可以与参考块的样本(参考帧中的参考块相对于目标帧仅偏移了运动矢量——参见图1c,不久将再次讨论)相同。
因此,编码器可以确定实际样本s和重构的样本
Figure 341605DEST_PATH_IMAGE015
之间的差,如在编码器和解码器端看到的(迄今为止,这忽略了将引入在解码器处经受的进一步失真的丢失的可能性)。样本中的差可以例如计算为在所讨论的目标块的所有样本索引i上的平方差和(SSD)误差:
Figure 292244DEST_PATH_IMAGE020
然而,Dep_ref仍待估计,这将基于做出关于(例如在基于分组的网络32上)编码的数据要在其上发送的信道的某一估计。
为实现此,编码器中的控制器49可以被配置成维持误差传播失真图Dep,所述误差传播失真图Dep描述最近编码的帧内的每个宏块或宏块分区的失真。控制器49也被布置成确定包含要从其预测目标块的参考块的分组将在信道上丢失的概率p(因此也布置成隐含地或明确地确定分组确实到达的概率1-p)。概率p可以基于统计建模在设计阶段进行预先确定,在这种情况下控制器49通过从存储器14取回值来确定p。然而,另一可能性将是控制器49基于来自接收器22的反馈来确定p。
误差传播图可以表达为:
Figure 174749DEST_PATH_IMAGE021
误差传播图Dep包括最近编码的帧内的宏块m或更优选地是每个子分区(块或子块)m(k)的失真估计。因此,它可以更明确地写为:
Figure 340282DEST_PATH_IMAGE022
其中m(k)表示宏块m的第k个子分区(例如子块),而p为分组丢失的概率。
Dloss等于Dec,如上所述。Dep_arrival表示信道上的差,即在编码器处的重构样本和在解码器处的重构样本之间的差。例如,这可以按照平方差和(SSD)进行量化:
Figure 345147DEST_PATH_IMAGE023
其中
Figure 783082DEST_PATH_IMAGE024
是在解码器处接收的考虑到源编码失真和由于信道所致的失真两者的(索引i的)样本。即,
Figure 16748DEST_PATH_IMAGE025
是原始未经编码的输入样本,
Figure 489318DEST_PATH_IMAGE026
是在编码器处的考虑到源编码失真(例如由于量化)的重构样本,而
Figure 665084DEST_PATH_IMAGE024
是考虑到包括有损信道效应的端对端总失真的样本;
Dep_arrival可以扩展为:
Figure 687059DEST_PATH_IMAGE028
其中
Figure 748556DEST_PATH_IMAGE029
是重构残差的样本。因此:
Figure 32907DEST_PATH_IMAGE030
因此代入到公式(9)中,误差传播图可以重写为:
Figure 258483DEST_PATH_IMAGE031
或者
Figure 161848DEST_PATH_IMAGE032
考虑到模式最优化问题,它也可以写成:
Figure 405748DEST_PATH_IMAGE033
其中n是帧号,即Dep(n+1)是给定现有决策oopt和帧在先前时间n的失真Dep(n)而要用于做出在时间n+1的帧的模式选择的误差传播图。
如在Zhang [2]中,Dec项也可以扩展为:
Figure 595421DEST_PATH_IMAGE034
其中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。在帧间预测(运动估计)的情况下,根据Zhang [2],这是使用所讨论的帧的运动矢量而完成的。
在图1c中图示了这样的示例。四个示例块b1、b2、b3和b4示于参考帧Fn中(在时间n-1),该参考帧已经被编码。(在后续时间n)目标帧Fn的块将从参考帧Fn-1进行预测。例如考虑目标帧Fn中的目标块b1。为此,运动预测模块44确定定义目标帧Fn中的目标块和参考帧Fn-1中的参考块(由虚线示出)之间的偏移的运动矢量,使得当参考块从参考帧Fn-1中的偏移位置平移到目标帧Fn中的目标块b1 的位置时,它提供目标块b1的最佳估计。因此注意,虚参考块不必是参考帧Fn-1中的可索引化块,即不必是参考帧的预定细分,并且可以偏移任何任意数量(并且实际上甚至可以偏移像素的分数)。因此参考块由来自四个实际可索引化块b1、b2、b3和b4的贡献构成。
因而,由控制器49执行以确定Dep-ref从而用于更新误差传播图Dep(n+1)的现有计算包括计算针对现有图Dep(n)中的块或子块b1到b4所记录的失真的加权和:
Figure 495244DEST_PATH_IMAGE035
或者更明确地:
Figure 874403DEST_PATH_IMAGE036
其中wi是表示来自块或子块bi的贡献的权重,而Dep(i)是块或子块bi的误差传播图条目。
如所提及的,在本发明的实施例中,模式选择公式(2)不是关键的——软恢复机制是可以与LARDO模式选择一起或者不与LARDO模式选择一起使用的独立恢复方法。相关公式是描述潜在失真的跟踪的(3)或(3a)。给定公式(3)或(3a)用于整个帧,编码器可以选择刷新具有最大潜在失真的最大Kmax块当中的K块,因此解决最小化严重失真的持续时间的第一顾虑。
将明白,仅通过示例方式描述了上面的实施例。
例如,按照如在Zhang [2]中阐述的所维持的误差传播图描述了上文。然而,其它用于维持误差传播图的技术可以是可能的。例如,Zhang的技术是基于信道上的丢失概率p的预定估计,但是其它技术可以使由于丢失所致的失真基于丢失了什么的实际知识,例如在解码器处经受的p值的反馈、和/或什么实际帧或帧部分已丢失使得可以已知或至少更好地估计的实际失真的反馈。
一般地,虽然上面已按照切片、宏块和块或子快进行描述,但是这些术语不必旨在进行限制并且在本文中描述的构思不限于划分或细分帧的任何特定方式。进一步,失真图可以覆盖整个帧或在帧内的区域,并且编码决策过程可以应用在整个帧上或者仅应用于帧内的区域。也注意,预测块粒度不必与失真图粒度相同或者甚至连接到失真图粒度(尽管不排除这种可能性)。
平方差和(SSD)往往优选作为差的量度,因为它与绝对差和(SAD)相比导致更高的质量,但是不排除后一可能性或其它可能性并且一般而言可以使用样本之间的差的任何量度作为用于量化失真的基础来实施本发明。
通常,速率的量度也顾及对所有需要的参数进行编码,包括描述预测的参数和量化的变换系数。这种最优化在本文中可以被称为全速率失真最优化(RDO)。然而在较低复杂性实施例中,失真和/或速率项可以通过仅考虑到一些而非所有处理级的效应(例如仅考虑到预测的效应)来近似。
进一步,在本发明按照两个帧n-1和n、或者n和n+1、或者比如此类进行描述的情况下,根据本发明的某些实施例这些不必指代两个相邻帧(尽管在现有的编解码器中情况可能如此)。在一些实施例中,有可能帧间预测可以相对于甚至更早帧来执行,照此n-1和n、或者n和n+1可以关于本发明用来分别指代任何先前编码的帧或图像部分和要从它预测的随后帧或部分。
再次注意,在本申请中提及由于丢失所致的贡献、或者陈述“如果”数据在信道上丢失则发生什么的任何东西、或者比如此类的情况下,这仅涉及由编码器关于解码器可能经受什么所做出的概率假设(例如p)——编码器当然不知道将发生什么。该概率假设可以基于统计网络建模在设计阶段被预先确定,和/或甚至可以基于来自解码器的反馈而动态地确定。
给定本文中的公开内容,其它变型可能对本领域技术人员变得显而易见。本发明的范围不受所描述的实施例限制而仅受所附的权利要求限制。

Claims (10)

1. 一种方法,包括:
在多个帧的每个帧处对视频图像进行编码,包括通过使用帧间编码来编码一些所述帧的至少部分,由此生成编码的视频流;
在有损信道上发送编码的视频流以在接收器处解码从而产生解码的视频;以及
执行恢复操作以刷新所述视频图像的编码,切断在所述信道上存在丢失时由于帧间预测效应而在解码的视频中发生的误差传播;
其中所述恢复操作由从接收器反馈的指示丢失的报告触发;并且
其中所述恢复操作在复数个帧上执行,在不同相应帧处刷新不同部分帧区域的编码。
2. 权利要求1的方法,其中所述刷新操作在所述数目的帧上刷新所述视频图像的全部的编码。
3. 权利要求1或2的方法,其中所述恢复操作包括使用帧内编码而不是所述帧间编码来编码所述部分帧区域中的一个或多个。
4. 权利要求1、2或3的方法,其中所述恢复操作包括使用相对于所述帧中由于从接收器反馈的接收确认而已知为无误差的一个帧的部分的帧间预测来编码所述部分帧区域中的一个或多个。
5. 任一前述权利要求的方法,包括维持误差传播失真图,所述误差传播失真图将由于所述误差传播所致的失真的估计映射在视频图像的不同相应部分上;
其中每个所述部分帧区域涵盖一个或多个所述部分,并且根据依据不同部分的误差传播失真图中的失真的估计所确定的优先级来刷新所述部分帧区域。
6. 权利要求5的方法,其中在每个相应帧处,与误差传播失真的最大估计对应的部分帧区域中的仅一个或子集基于误差传播失真图中的所述部分的估计进行刷新。
7. 权利要求5或6的方法,其中所述部分帧区域在所述数目的帧上以优先级的顺序进行刷新,所述优先级的顺序基于误差传播失真图中的估计而确定,使得与较大估计的误差传播对应的部分帧区域在所述数目的帧中的较早帧中进行刷新而与较小估计的误差传播对应的部分帧区域在所述数目的帧中的较晚帧中进行刷新。
8. 权利要求2和7的方法,其中所述视频图像的所有部分以优选级顺序进行刷新。
9. 一种发送终端,包括:
编码器,被布置成在多个帧的每个帧处对视频图像进行编码,包括通过使用帧间编码来编码一些所述帧的至少部分,由此生成编码的视频流;以及
发送器,被布置成在有损信道上发送编码的视频流以在接收终端处解码从而产生解码的视频;
其中所述编码器被配置成执行恢复操作以刷新所述视频图像的编码,切断在所述信道上存在丢失时由于帧间预测效应而在解码的视频中发生的误差传播;
其中所述编码器被配置成使得所述恢复操作由从所述接收终端反馈的指示丢失的报告触发;并且
其中所述编码器被配置成在复数个帧上执行所述恢复操作,在不同相应帧处刷新不同部分帧区域的编码。
10. 一种计算机程序产品,被体现在计算机可读介质上并且包括代码,所述代码被配置成当在发送终端上被执行时执行根据权利要求1到8中任一项的操作。
CN201210320553.6A 2011-09-02 2012-09-03 视频编码 Active CN102946533B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1115209.7A GB2495468B (en) 2011-09-02 2011-09-02 Video coding
GB1115209.7 2011-09-02
US13/274803 2011-10-17
US13/274,803 US8908761B2 (en) 2011-09-02 2011-10-17 Video coding

Publications (2)

Publication Number Publication Date
CN102946533A true CN102946533A (zh) 2013-02-27
CN102946533B CN102946533B (zh) 2016-08-17

Family

ID=46852393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210320553.6A Active CN102946533B (zh) 2011-09-02 2012-09-03 视频编码

Country Status (1)

Country Link
CN (1) CN102946533B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107683605A (zh) * 2015-06-24 2018-02-09 索尼公司 编码装置、解码装置和传输控制方法
CN110460861A (zh) * 2014-01-08 2019-11-15 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
CN111183648A (zh) * 2018-03-09 2020-05-19 深圳市大疆创新科技有限公司 用于支持基于快速反馈的视频编码的系统和方法
CN111314700A (zh) * 2020-03-03 2020-06-19 眸芯科技(上海)有限公司 抑制呼吸效应的视频编码方法及装置
US11638016B2 (en) 2014-01-08 2023-04-25 Microsoft Technology Licensing, Llc Selection of motion vector precision

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090252227A1 (en) * 2008-04-07 2009-10-08 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090252227A1 (en) * 2008-04-07 2009-10-08 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SARAT CHANDRA VADAPALLI ET AL: "EFFICIENT ALTERNATIVE TO INTRA REFRESH USING RELIABLE REFERENCE FRAMES", <<MULTIMEDIA AND EXPO,2007 IEEE INTRENATIONAL CONFERENCE ON>> *
SARAT CHANDRA VADAPALLI ET AL: "Low-Complexity Frame-Level Joint Source-Channel Distortion Optimal, Adaptive Intra Refresh", <<MULTIMEDIA SIGNAL PROCESSING,2008 IEEE 10TH WORKSHOP ON,IEEE,PISCATAWAY,NJ,USA>> *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460861A (zh) * 2014-01-08 2019-11-15 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
CN110460861B (zh) * 2014-01-08 2022-11-18 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
US11546629B2 (en) 2014-01-08 2023-01-03 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US11638016B2 (en) 2014-01-08 2023-04-25 Microsoft Technology Licensing, Llc Selection of motion vector precision
CN107683605A (zh) * 2015-06-24 2018-02-09 索尼公司 编码装置、解码装置和传输控制方法
US10609419B2 (en) 2015-06-24 2020-03-31 Sony Corporation Encoding apparatus, decoding apparatus and transmission control method
CN107683605B (zh) * 2015-06-24 2021-12-03 索尼公司 编码装置、解码装置和传输控制方法
US11297354B2 (en) 2015-06-24 2022-04-05 Sony Corporation Encoding apparatus, decoding apparatus and transmission control method
CN111183648A (zh) * 2018-03-09 2020-05-19 深圳市大疆创新科技有限公司 用于支持基于快速反馈的视频编码的系统和方法
CN111314700A (zh) * 2020-03-03 2020-06-19 眸芯科技(上海)有限公司 抑制呼吸效应的视频编码方法及装置

Also Published As

Publication number Publication date
CN102946533B (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
KR102146583B1 (ko) 오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법
US9338473B2 (en) Video coding
US9854274B2 (en) Video coding
US8804836B2 (en) Video coding
EP2712481B1 (en) Mode decision with perceptual-based intra switching
EP2712482B1 (en) Low complexity mode selection
US9036699B2 (en) Video coding
US20140211842A1 (en) Adapting Robustness in Video Coding
CN105191312B (zh) 用于对视频信号编码的资源
CN102946533A (zh) 视频编码
CN102946534A (zh) 视频编码
WO2008079353A1 (en) Scaling the complexity of video encoding
CN102946532A (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
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