CN103733621A - 基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择 - Google Patents

基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择 Download PDF

Info

Publication number
CN103733621A
CN103733621A CN201280040401.9A CN201280040401A CN103733621A CN 103733621 A CN103733621 A CN 103733621A CN 201280040401 A CN201280040401 A CN 201280040401A CN 103733621 A CN103733621 A CN 103733621A
Authority
CN
China
Prior art keywords
distortion
error propagation
target image
frame
coding
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
CN201280040401.9A
Other languages
English (en)
Other versions
CN103733621B (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
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN103733621A publication Critical patent/CN103733621A/zh
Application granted granted Critical
Publication of CN103733621B publication Critical patent/CN103733621B/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/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
    • 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/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/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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/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
    • 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

Abstract

一种方法,包括:针对帧中要被编码的每个目标图像部分,通过优化包括针对目标图像部分的失真的估计和编码该目标图像部分所要求的比特率的量度的函数来选择一组编码模式中的一个,使用所选择的模式将该目标图像部分编码到编码的视频流中。已编码的视频流在有损的信道上被发送。差错传播失真映射被保持,其包括映射到相应帧分区的多个差错传播失真值,所述差错传播失真值是基于先前的编码模式选择。被使用来为目标图像部分中的每一个选择编码模式的失真估计是基于来自差错传播失真映射的相对应的部分,并且该相对应的部分被约束成与目标图像部分协同定位。

Description

基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择
技术领域
本发明涉及当选择用于对视频信号的各部分编码的编码模式时,权衡在比特率和失真之间的折衷。
背景技术
在图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还包括:处理装置16,其采取具有一个或多个核的CPU形式;收发器,诸如至少具有发送器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,推荐标准H.264,“用于通用视听服务的增强视频编码”,2007;
[2] Zhang等人在2004年Proc. IEEE International Conference on Image Processing (IEEE有关图像处理的国际会议论文集)第163-166页的“Error resilience video coding in H.264 encoder with potential distortion tracking(在具有潜在失真追踪的H.264编码器中的差错恢复视频编码)”;
预测典型地可以从在除了当前帧之外的视频帧中的像素(帧间预测)和从在相同帧中的像素(帧内预测)执行。也就是说,如果使用帧内编码来编码,则块、子块或帧的其它部分(目标块或部分)相对于在相同帧中的另一个块、子块或图像部分(参考块或部分)进行编码;以及如果使用帧间编码来编码,则目标块或部分相对于在另一帧中的参考块或部分进行编码。该过程通常被称作预测或预测编码。帧间或帧内预测模块将因此产生预测,例如在帧内编码的情况下以相邻块或子块的指示的形式,和/或在帧间编码的情况下以运动向量的形式。典型地编码器还产生代表在被预测的块和实际的块(或被预测的子块和实际的子块等等)之间的“剩余”差异的残差信号。与帧内预测相关联的残差、运动向量和任何需要的数据然后被输出到编码的视频流中,典型地经由诸如量化器和熵编码器之类的另外的编码级。因此在视频中的大多数块可以依据块之间的差异被编码,这与编码绝对像素值相比需要更少的比特来编码,并且因此节省了比特率。帧内预测编码典型地比帧间预测需要更多的比特,然而仍然表现出优于对绝对值编码的节省。用于视频的适合的帧间和帧内编码技术的细节对本领域技术人员来说会是熟知的。
现代的编解码器允许针对帧内的不同部分使用不同的预测编码模式。具有不同编码选项的可能性增加了视频编解码器的速率失真效率。不得不针对每个帧区域寻找最佳的编码表示。典型地,这样的区域是例如16×16像素的宏块,即,因此有可能单独为每个宏块选择帧内预测或帧间预测模式,使得在相同帧内的不同宏块可以用不同模式编码。在一些编解码器中还有可能基于宏块的分区的不同级别而使用不同的模式,例如,在较高复杂度模式或较低复杂度模式之间进行选择,其中较高复杂度模式为宏块内的每个4×4子块执行单独的预测,而较低复杂度模式仅基于8×8或8×16块或甚至全部宏块执行预测。可用的模式还可以包含用于执行预测的不同选项。例如像在图1b中示意性图示的,在一种帧内模式中4×4子块(b)的像素可以通过从来自紧接在上方的子块的相邻像素向下外推来确定,或者通过从紧接在左面的子块侧向外推来确定。被称作“跳过模式”的另一种特殊预测模式也可以被提供在一些编解码器中,其可以被看作是帧间模式的可替换类型。在跳过模式(PSkip)中基于顶部和左侧的运动向量来推断目标的运动向量,并且不存在残差系数的编码。运动向量被推断的方式与运动向量预测一致,于是运动向量差是零,并且因此仅需要发信号通知:该宏块是跳过块。
图3是示意性地图示诸如可被实施在发送终端12上的编码器的高级别框图。该编码器包括:离散余弦变换(DCT)模块51、量化器53、反变换模块61、逆量化器63、帧内预测模块41、帧间预测模块43以及减法级(-)。该编码器还包括交换器47和模式选择模块49。每个模块优选地被实施为代码的一部分,所述代码被存储在发送终端的存储介质14上并且被安排用于在它的处理装置16上执行,然而不排除这些模块中的一些或所有模块被全部地或部分地实施在专用硬件电路中的可能性。
交换器47和模式选择模块49中的每一个被安排成接收包括多个宏块MB的输入视频流的实例。模式选择模块49被安排成为每个宏块选择编码模式“                                                
Figure 103634DEST_PATH_IMAGE001
”,并且它可操作地耦合到复用器47以便控制其按适于所选择的模式那样将逆量化器63的输出传递到或是帧内预测模块41或是帧间预测模块43的输入。模式选择模块49还可以被安排成向相关的预测模块41、43指示所选择的模式“”(例如指示4×4分区模式、8×8模式、跳过模式等等),并且从预测模块41、43接收反馈的信息以用于选择针对下一帧的模式。帧内预测模块41或帧间预测模块43的输出然后被耦合到减法级(-)的输入上,所述减法级被安排成在它的其它输入处接收未编码的输入视频流并且从它们的未编码副本中减去所预测的块,从而产生残差信号。残差块随后被传递通过变换(DCT)模块51(在这里它们的残差值被转换到频域中),然后被传递到量化器53,在这里所变换的值被转换成离散的量化索引。经量化、变换的信号被通过逆量化器63和反变换模块61反馈来产生块或子块的预测版本(如将在解码器处看到的),以供所选择的预测模块41、43使用。被使用在预测模块41、43中的预测的指示、由帧间预测模块43所产生的运动向量、以及由变换和量化模块51、53产生的残差的被量化、变换的索引,都被输出以用于包含在已编码的视频流中;典型地经由诸如熵编码器之类的另外的、无损的编码级(未示出),其中预测值和被变换、量化的索引可以通过使用本领域已知的无损编码技术被进一步压缩。
根据上文,编码表示可以因此包含块分区信息、预测模式、运动向量、量化精确度等等。最佳的编码选项取决于视频内容、比特率、较早的编码判决等等。变换系数的量化的精确度典型地被选择成满足比特率约束。此外,失真应当被最小化。
例如,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]之类的视频编解码器的速率失真性能在很大程度上取决于宏块模式选择的性能。也就是下述的过程,即:确定就速率失真折衷而言,宏块是否使用例如帧内模式或帧间模式被最好地编码。从鲁棒性的角度来看,帧内编码的宏块是有益的,因为它们阻止时间差错传播(假设使用受约束的帧内预测,即从帧间预测的宏块进行帧内预测是被禁止的)。然而,帧内编码的宏块一般来说就速率而言相比于帧间编码的宏块是更昂贵的,并且因此重要的是系统地引入帧内编码的宏块,以使得在给定某一比特预算和信道条件的情况下在解码器处的失真(例如平均失真)被最小化。Zhang等人[2]提出了这样的系统框架来基于在解码器处预期的平均的、差的平方和(SSD)的最小化而引入帧内编码的宏块。通过追踪潜在失真,Zhang等人能够计算涉及预期差错传播失真(在解码器处)的偏项(bias term),该偏项在计算用于编码器速率失真环路内的宏块间的成本时被添加到源编码失真。
可以依据在比特率约束R下最小化失真来用公式表示速率失真性能优化问题。拉格朗日优化框架常常被用来解决该问题,根据它优化准则可以用公式表示为:
Figure 133404DEST_PATH_IMAGE002
其中
Figure 947776DEST_PATH_IMAGE003
表示拉格朗日函数,
Figure 707922DEST_PATH_IMAGE004
表示失真的量度(模式
Figure 974955DEST_PATH_IMAGE001
和宏块或宏块子分区的函数),是比特率, 以及
Figure 773781DEST_PATH_IMAGE007
是定义失真和速率之间的折衷的参数。通常所使用的失真量度是原始的和重建的像素之间的差的平方和(SSD),或是原始的和所预测的像素之间的绝对差的和(SAD)。
在本申请中解决拉格朗日优化问题意味着找到最小化拉格朗日函数
Figure 465793DEST_PATH_IMAGE003
的编码模式,其中拉格朗日函数
Figure 726191DEST_PATH_IMAGE003
至少包括表示失真的项、表示比特率的项以及表示在这二者之间折衷的因子(“拉格朗日乘数”)。随着编码模式
Figure 93718DEST_PATH_IMAGE001
向更完全或更好质量的编码模式变化,则失真项
Figure 335343DEST_PATH_IMAGE004
将减小。然而,同时速率项
Figure 548150DEST_PATH_IMAGE006
将增大,并且在取决于
Figure 191621DEST_PATH_IMAGE007
的某一点处
Figure 464471DEST_PATH_IMAGE006
的增大将超过的减小。因此表达式
Figure 206960DEST_PATH_IMAGE003
将具有某一最小值,并且在其发生处编码模式
Figure 642621DEST_PATH_IMAGE001
被看作是最佳的编码模式。
在这个意义上,比特率
Figure 414267DEST_PATH_IMAGE006
或更确切地来说项
Figure 364906DEST_PATH_IMAGE008
对优化安置了约束,因为该项将最佳编码模式从不断增加的质量拉回来。在其中找到这种最佳平衡的模式将取决于,并且因此
Figure 537578DEST_PATH_IMAGE007
可以被看作是表示比特率和失真之间的折衷。
拉格朗日优化通常被使用在选择编码判决的过程中,并且被应用于每个帧区域(例如每个16×16像素的宏块)。通常,失真可以被评估成计及(account for)所有的处理级。这些包含预测、变换和量化。此外,为了计算重建的像素,必须执行逆量化、反变换和反预测的步骤。SSD常常被优选为失真准则,因为相比于SAD,它导致更高的质量。通常,速率也计及所有所需参数的编码,包括描述预测的参数和量化的变换系数[4]。
在[2]Zhang等人的文章中,作者估计了在解码器中不仅由于源编码而且由于信道差错而导致的潜在失真,后者即也是当信号在信道上被发送时由于数据丢失而将经历的可能失真。所估计的潜在失真然后被间接使用来将模式选择朝向帧内编码偏置(如果存在信道差错的可能性)。Zhang的“端到端”失真表达式是基于差的平方和(SSD)失真量度并且假设针对丢失宏块的伯努利分布。最佳的宏块模式
Figure 480127DEST_PATH_IMAGE009
由下式给出:
其中指对于宏块
Figure 686614DEST_PATH_IMAGE005
和宏块模式的、在原始的和重建的像素之间的SSD失真,是总速率, 以及
Figure 887285DEST_PATH_IMAGE007
是涉及失真和速率项的拉格朗日乘数。
Figure 948782DEST_PATH_IMAGE012
指由于差错传播而导致的在解码器中的参考宏块内的预期失真。
Figure 170816DEST_PATH_IMAGE012
因此提供了偏项,如果差错传播失真变得过大则该偏项将优化朝向帧内编码偏置。
Figure 583343DEST_PATH_IMAGE012
对于帧内编码的宏块模式是零。表达式
Figure 611342DEST_PATH_IMAGE013
可以被看作拉格朗日函数
Figure 730607DEST_PATH_IMAGE003
的实例。
Figure 920280DEST_PATH_IMAGE014
输出表达式
Figure 820103DEST_PATH_IMAGE003
的值对于其最小的、自变量
Figure 320967DEST_PATH_IMAGE001
的值。
在[2]中项
Figure 622636DEST_PATH_IMAGE012
跟随对象的运动,并且通过使用当前运动向量从总失真映射(distortion map)计算得到。总的预期差错传播失真映射(error propagation distortion map)
Figure 920893DEST_PATH_IMAGE015
由差错隐藏的性能驱动,并且在每个宏块模式选择之后被更新为:
Figure 308012DEST_PATH_IMAGE016
其中
Figure 677813DEST_PATH_IMAGE017
是帧号,指宏块
Figure 303147DEST_PATH_IMAGE005
的第
Figure 911983DEST_PATH_IMAGE019
个子分区(即块或子块),
Figure 23158DEST_PATH_IMAGE020
是分组丢失的概率,
Figure 33839DEST_PATH_IMAGE021
指在编码器中所重建的和差错隐藏的像素之间的SSD, 以及
Figure 939479DEST_PATH_IMAGE022
是在编码器和解码器中差错隐藏的像素之间的预期SSD。
在[2]中被存储在帧的每个宏块上的4×4网格上,即每个宏块16个
Figure 747215DEST_PATH_IMAGE015
值,因此每个宏块的每个4×4像素子块一个值。如图1c中所示,
Figure 688943DEST_PATH_IMAGE023
(即对于时间
Figure 210054DEST_PATH_IMAGE017
处的帧的宏块
Figure 459770DEST_PATH_IMAGE005
内的子块
Figure 445043DEST_PATH_IMAGE019
的预期差错传播参考失真)的计算然后被执行为来自时间
Figure 692485DEST_PATH_IMAGE024
的在前帧的四个子块的
Figure 763209DEST_PATH_IMAGE015
的值的加权和。权重从用于所讨论的块
Figure 816616DEST_PATH_IMAGE005
的运动向量确定。也就是说:
Figure 591149DEST_PATH_IMAGE025
其中权重
Figure 71809DEST_PATH_IMAGE026
与重叠的面积成比例,并且其中
Figure 301933DEST_PATH_IMAGE027
指在前帧中的宏块
Figure 853317DEST_PATH_IMAGE028
的子块
Figure 442562DEST_PATH_IMAGE029
图1c提供了参考示范性子块
Figure 487878DEST_PATH_IMAGE030
的、从运动向量和预期差错传播失真映射来计算预期差错传播参考失真的图示(在这个例子中
Figure 883087DEST_PATH_IMAGE019
对应于
Figure 369564DEST_PATH_IMAGE031
并且
Figure 457605DEST_PATH_IMAGE032
Figure 662322DEST_PATH_IMAGE030
全部计算在内)。
发明内容
在一些平台上计算和存储器资源二者都可能非常有限。当实时编码视频流(即诸如视频呼叫之类的实况视频流,其中编码器不得不动态地编码流以用于在它从照相机等等被接收的同时发送)时这可能是特别相关的。令人期望的是,提供对在[2]的现有技术中所描述的算法的修改,从而导致在性能中有间或的经受得起的下降的状况下的较低计算复杂度和存储器需求。
根据本发明的一个方面,提供了一种编码包括多个帧的视频流的方法,该方法包括:针对在帧中要被编码的多个目标图像部分中的每一个,通过优化包括针对目标图像部分的失真的估计和编码该目标图像部分所要求的比特率的量度的函数,来选择一组编码模式中的优选的一个,并且使用所选择的编码模式将该目标图像部分编码到编码的视频流中;在有损的信道上发送已编码的视频流;以及保持包括映射到相应帧分区的多个差错传播失真值的差错传播失真映射,差错传播失真值是基于先前的编码模式选择;其中被使用来为目标图像部分中的每一个选择编码模式的失真估计是基于来自差错传播失真映射的相对应的部分;并且其中所述相对应的部分被约束成与该目标图像部分协同定位(co-locate)。
例如,通过对于差错传播参考失真和差错隐藏差错传播失真的计算假设零运动,则存储器和计算二者都可被节省,因为不需要计算权重,并且(例如,如果考虑4×4的网格,则不是16个)每个宏块只有一个
Figure 861222DEST_PATH_IMAGE015
值需要被存储。自然而然地,端到端的速率失真性能将下降,但是在一些条件下发明人考虑到这种质量的下降将是微小并且可接受的。
在本发明的实施例中,该方法可以包括在针对目标图像部分选择编码模式之后更新差错传播失真映射,以及使用所更新的映射来确定针对每个目标图像部分的后续编码模式选择;其中,相对于其中相对应部分是基于来自多个所述帧分区的差错传播失真值的加权和的情况,作为所述约束的结果,差错传播映射的更新可以包括较低复杂度的计算。
所述帧分区中的每一个都可以与目标图像部分中的相应的一个尺寸相同,以使得所述相对应的部分可以是所述帧分区中的一个。
差错传播映射可以对每个帧分区保持仅一个差错传播失真值。
失真的估计可以是基于所述帧分区中的仅仅那个协同定位的帧分区的差错传播失真值。
所述图像部分中的每一个都可以是宏块,帧分区的每一个可以是宏块,差错传播映射可以对每个宏块保持仅一个失真值的估计,并且失真的估计可以是基于仅协同定位的宏块的差错传播失真值。
失真的估计可以包括代表源编码失真的第一项,以及代表由于在所述信道上的丢失而将经历的失真的估计的偏项;其中偏项可以是基于来自差错传播失真映射的所述相对应的部分。
偏项可以被设成等于针对相对应的协同定位的部分的差错传播失真值。
为了保持差错传播失真映射,针对当前帧的帧分区的差错传播失真值可以是基于来自针对在前帧中的该帧分区的差错传播失真值的贡献,以及基于代表由于在所述信道上的丢失事件中的隐藏而将经历的失真的估计的贡献。
隐藏项可以基于这样一种假设而确定,即:在目标图像部分的丢失的事件中,所述隐藏直接从在前帧的协同定位部分复制目标图像部分。
该方法可以包括确定分组将在信道上被丢失的概率p,其中隐藏项可以用p的因子加权。所选择的编码模式
Figure 264521DEST_PATH_IMAGE009
可以用下式计算:
Figure 461147DEST_PATH_IMAGE033
其中
Figure 215477DEST_PATH_IMAGE013
是所述函数,
Figure 890172DEST_PATH_IMAGE034
是第一项,
Figure 413557DEST_PATH_IMAGE012
是偏项,
Figure 843401DEST_PATH_IMAGE035
是比特率,
Figure 757131DEST_PATH_IMAGE007
是代表在失真和比特率之间的折衷的因子,以及是目标图像部分的索引。
编码模式可以至少包括(i)帧内模式,其相对于在相同帧中的参考图像部分来编码目标图像部分,以及(ii)帧间编码模式,其相对于在先前被编码的帧中的参考图像部分来编码目标图像部分。
差错传播失真映射可以用下式计算:
Figure 876058DEST_PATH_IMAGE036
其中m是第m个图像部分,以及是由于隐藏而导致的贡献。
该组编码模式可以包括跳过模式。该组编码模式可以包括对于帧内和帧间编码中的至少一个,使用目标图像部分的不同分区的模式。
根据本发明的另一个方面,提供了一种用于编码包括多个帧的视频流的计算机程序产品,该计算机程序产品被体现在计算机可读介质上并且包括代码,所述代码被配置成使得当其被执行时完成以下操作:针对在帧中要被编码的多个目标图像部分中的每一个,通过优化包括针对目标图像部分的失真的估计和编码该目标图像部分所要求的比特率的量度的函数,来选择一组编码模式中优选的一个,并且使用所选择的编码模式将该目标图像部分编码到编码的视频流中;在有损的信道上发送已编码的视频流;并且保持包括映射到相应帧分区的多个差错传播失真值的差错传播失真映射,所述差错传播失真值是基于先前的编码模式选择;其中被用来为目标图像部分中的每一个选择编码模式的失真估计是基于来自差错传播失真映射的相对应的部分;并且其中所述相对应的部分被约束成与该目标图像部分协同定位。
在实施例中,代码可以被配置成使得当其被执行时完成根据上面任一项方法特征的操作。
根据本发明的另一个方面,提供了一种用于编码包括多个帧的视频流的装置,该装置包括:编码器,其被安排成针对在帧中要被编码的多个目标图像部分中的每一个,通过优化包括针对目标图像部分的失真的估计和编码该目标图像部分所要求的比特率的量度的函数,来选择一组编码模式中优选的一个,并且使用所选择的编码模式将该目标图像部分编码到编码的视频流中;以及发送器,其用于在有损的信道上发送已编码的视频流;并且其中该编码器被配置成保持包括映射到相应帧分区的多个差错传播失真值的差错传播失真映射,所述差错传播失真值是基于先前的编码模式选择,并且被用来为目标图像部分中的每一个选择编码模式的失真估计是基于来自差错传播失真映射的相对应的部分;并且其中该编码器被配置成将所述相对应的部分约束成与该目标图像部分协同定位。
在实施例中,编码器可以被配置成执行根据上述任一项方法特征的操作。
附图说明
为了更好地理解本发明并且显示其可以如何予以实施,作为例子,参考附图,其中:
图1a是视频流的示意性表示,
图1b是一些帧内预测编码模式的示意性表示,
图1c是差错传播失真的计算的示意性表示,
图2是通信系统的示意性框图,
图3是编码器的示意性框图,以及
图4是差错传播失真的可替换计算的示意性表示。
具体实施方式
下文描述了丢失自适应的速率失真过程,根据本发明的优选实施例,其可以以相对于Zhang[2]的降低的复杂度(从而需要较少的处理循环来执行)以及用来保持差错传播失真映射的降低的存储器覆盖区(memory footprint)而被实施在编码器中。该编码器类似于相对于图3描述的编码器,但是具有被修改的模式选择模块49。它可以被使用来编码在图1中图示的那种视频流,并且被实施在诸如图2的通信系统那样的通信系统中。
正如所提到的,模式选择可以涉及优化(例如最小化)拉格朗日类型函数:
Figure 940146DEST_PATH_IMAGE037
其中
Figure 956643DEST_PATH_IMAGE003
表示拉格朗日函数,表示失真的量度(模式
Figure 898372DEST_PATH_IMAGE001
和宏块
Figure 114589DEST_PATH_IMAGE005
或宏块子分区的函数),
Figure 997095DEST_PATH_IMAGE006
是比特率,以及
Figure 287262DEST_PATH_IMAGE007
是定义在失真和速率之间的折衷的参数。
在常规的情况下,失真项
Figure 229810DEST_PATH_IMAGE004
仅仅考虑源编码失真,即由于诸如由量化引入的失真之类的在编码器中的非理想性而导致的。它不考虑由于在信道上数据的丢失而可能引入的失真,例如由于在基于分组的网络32上的发送中的分组丢失。
另一方面,诸如本发明和Zhang[2]的那些的丢失自适应技术试图定义考虑到源编码和由于在信道上数据的丢失而导致的失真这二者的“端到端”失真的量度。针对给定(目标)块、宏块或子块的端到端失真可以被描述为:
Figure 605428DEST_PATH_IMAGE038
其中
Figure 26045DEST_PATH_IMAGE039
是如果目标块确实到达解码器则将经历的失真的估计,以及
Figure 436297DEST_PATH_IMAGE040
是如果由于在信道上的分组丢失而导致目标块没有到达解码器(例如由于包括该块的分组在基于分组的网络32上的丢失)则将经历的失真的估计。参数
Figure 284168DEST_PATH_IMAGE020
是在信道上发生的导致所讨论的块或图像部分被丢失的丢失事件的概率的估计,例如分组丢失的概率的估计。为了简便,在这里术语“块”在某些地方可以被用来一般指帧分区的相关级别(例如,诸如H.264之类的某些标准的块或子块)。
不仅表示源编码失真而且表示由于块的过去的失真而将引入的失真,块的过去的失真即目标块要从其被预测的一个或多个参考块中的失真。因此
Figure 371389DEST_PATH_IMAGE039
包括源编码失真项
Figure 698466DEST_PATH_IMAGE034
和差错传播失真项
Figure 920499DEST_PATH_IMAGE041
二者,后者表示在所预测的目标块的历史中的失真(即在目标块的参考块中的失真,其将向前带到目标块中):
Figure 333026DEST_PATH_IMAGE042
Figure 95446DEST_PATH_IMAGE040
包括由于隐藏而导致的丢失。如果目标块没有被接收则解码器将应用隐藏算法,其可以涉及冻结先前被解码的块,或者从一个或多个被成功解码的块(或者从当前帧和/或先前帧)内插或外推。因此
Figure 211782DEST_PATH_IMAGE040
可以被标识为由于这个隐藏过程而导致的失真:
Figure 667034DEST_PATH_IMAGE043
这样检验等式(5),项
Figure 504540DEST_PATH_IMAGE034
表示如果完全没有丢失则将经历的失真的估计,项
Figure 70651DEST_PATH_IMAGE044
表示如果目标块被丢失则将经历的失真的估计,以及项
Figure 106740DEST_PATH_IMAGE041
表示如果目标块被成功接收但是在它的历史中的某物被丢失(如果目标块的参考块被丢失,或者参考块的参考块被丢失等等)则将经历的失真的估计。
Figure 670576DEST_PATH_IMAGE034
Figure 57695DEST_PATH_IMAGE041
是编码模式选择
Figure 99601DEST_PATH_IMAGE001
的函数。
Figure 255775DEST_PATH_IMAGE044
不是模式选择
Figure 990513DEST_PATH_IMAGE001
的函数,并且因此从拉格朗日表达式中被丢弃(丢失块如何被编码并不重要——它仍然是丢失的)。因此优化可以被写作:
Figure 599349DEST_PATH_IMAGE045
D s 是确定的,因为它是基于在编码器处可知的信息,例如基于未加工的输入样本值和重建的样本值
Figure 721206DEST_PATH_IMAGE047
之间的差异。编码器在编码器侧运行解码器的并行的实例(或它的近似)——参见在图3中详述帧间预测模块43的插图。帧间预测模块43包括运动补偿预测(MCP)块44和加法级(+),加法级被安排成通过将所预测的样本
Figure 689162DEST_PATH_IMAGE048
和重建的残差
Figure 785294DEST_PATH_IMAGE049
结合而确定重建的样本
Figure 169002DEST_PATH_IMAGE047
,即对于每个样本索引
Figure 299769DEST_PATH_IMAGE032
Figure 376309DEST_PATH_IMAGE050
。在帧间编码的情况下,在编码器处,所预测的样本
Figure 917928DEST_PATH_IMAGE048
可以与参考块的样本
Figure 167644DEST_PATH_IMAGE051
相同(在参考帧中的参考块正好以运动向量相对于目标帧偏移——参见图1c,其将再次被简略地讨论)。
因此编码器可以确定当在编码器和解码器端来看时的实际样本和重建样本之间的差异(这到目前为止忽略了丢失的可能性,其将引入在解码器处经历的另外的失真)。在样本中的差异可以被计算为例如所讨论的目标块的所有样本索引
Figure 471083DEST_PATH_IMAGE032
上的差的平方和(SSD)差错:
Figure 524490DEST_PATH_IMAGE052
然而,
Figure 301953DEST_PATH_IMAGE041
仍然要被估计,这将是基于有关编码数据将在其上被发送(例如在基于分组的网络32上)的信道而做出的某种估计。
为了实现这一点,在编码器中的模式选择模块49可以被配置成保持差错传播失真映射
Figure 782613DEST_PATH_IMAGE015
,其描述最新近被编码的帧内的每一个宏块或宏块的分区的失真。模式选择模块49还被安排成确定含有目标块要从其被预测的参考块的分组在信道上将被丢失的概率
Figure 12737DEST_PATH_IMAGE020
(并且还因此隐含地或明显地确定分组确实到达的概率
Figure 869835DEST_PATH_IMAGE053
)。在优选实施例中概率
Figure 501805DEST_PATH_IMAGE020
在设计阶段基于统计学建模而被预确定,在这种情况下模式选择模块49通过从存储器14检索值来确定
Figure 153366DEST_PATH_IMAGE020
。然而,另一种可能性将是模式选择模块49基于来自接收器22的反馈而确定
Figure 198682DEST_PATH_IMAGE020
差错传播映射可以被表示为:
Figure 531574DEST_PATH_IMAGE054
差错传播映射包括针对在最新近被编码的帧内的宏块
Figure 168409DEST_PATH_IMAGE005
或者更加优选地针对每个子分区(块或子块)
Figure 373126DEST_PATH_IMAGE018
的失真估计。因此,它可以更明确地被写作:
其中指宏块
Figure 171951DEST_PATH_IMAGE005
的第
Figure 595455DEST_PATH_IMAGE019
个子分区(例如子块),以及是分组丢失的概率。
正如上文所讨论的,等于
Figure 223379DEST_PATH_IMAGE044
Figure 465005DEST_PATH_IMAGE056
表示信道上的差异,即在编码器处的重建样本和在解码器处的重建样本之间的差异。例如,这可以依据差的平方和(SSD)被量化:
Figure 5708DEST_PATH_IMAGE057
其中
Figure 321283DEST_PATH_IMAGE058
是在解码器处被接收的考虑了源编码失真和由于信道导致的失真这二者的(索引
Figure 922028DEST_PATH_IMAGE059
的)样本,即
Figure 323054DEST_PATH_IMAGE060
是未加工未编码的输入样本,
Figure 667447DEST_PATH_IMAGE061
是在编码器处考虑了源编码失真(例如由于量化)的重建样本, 以及是考虑了包括信道的有损效应的总的端到端失真的样本;
Figure 609176DEST_PATH_IMAGE062
Figure 825393DEST_PATH_IMAGE056
可以被展开成:
Figure 645582DEST_PATH_IMAGE063
其中
Figure 998066DEST_PATH_IMAGE064
是重建残差的样本。因此:
Figure 675035DEST_PATH_IMAGE065
这样代入到等式(9)中,差错传播映射可以被重写为:
或者:
Figure 736849DEST_PATH_IMAGE067
考虑模式优化问题,它还可以被写成:
Figure 881522DEST_PATH_IMAGE068
其中是帧号,即
Figure 854956DEST_PATH_IMAGE069
是给定对于在前时间处的帧的现有判决
Figure 406340DEST_PATH_IMAGE009
和失真映射,要被用于做出对于在时间
Figure 775321DEST_PATH_IMAGE071
处的帧的模式选择的差错传播映射。
正如在Zhang[2]中那样,
Figure 741003DEST_PATH_IMAGE044
项还可以被展开:
Figure 922586DEST_PATH_IMAGE072
其中
Figure 315521DEST_PATH_IMAGE021
指在编码器中重建的和差错隐藏的像素之间的SSD, 以及
Figure 215344DEST_PATH_IMAGE022
是在编码器和解码器中差错隐藏的像素之间的预期SSD。
如上文所解释的检验等式(3),项
Figure 781455DEST_PATH_IMAGE041
表示如果目标块被成功接收但是在它的历史中的某物被丢失(如果目标块的参考块被丢失,或者参考块的参考块被丢失,等等)则将经历的失真。另外,
Figure 755227DEST_PATH_IMAGE021
表示由于隐藏算法自身的性质而导致的失真的估计(稍微类似于用于预测的固有源编码失真
Figure 381380DEST_PATH_IMAGE034
)。
Figure 440603DEST_PATH_IMAGE022
则表示如果目标块被丢失(并且因此需要在解码器处被隐藏)并且在所隐藏的目标块的历史中的某物被丢失(如果从其来完成隐藏的块被丢失,或者从其来预测或隐藏所述块的块被丢失,等等)则将经历的失真的估计。
因此,失真映射
Figure 810405DEST_PATH_IMAGE015
包括由于由
Figure 966579DEST_PATH_IMAGE021
导致且部分地由
Figure 386803DEST_PATH_IMAGE022
导致的新丢失的贡献;以及由于由
Figure 933322DEST_PATH_IMAGE041
导致且部分地由
Figure 841235DEST_PATH_IMAGE022
导致的过去丢失的贡献。
针对序列中的第一帧,将用帧内编码对该帧编码,在这种情况下
Figure 789600DEST_PATH_IMAGE073
并且因此
差错隐藏失真
Figure 791371DEST_PATH_IMAGE044
由模式选择模块49计算。项
Figure 502975DEST_PATH_IMAGE021
是基于隐藏算法的知识,并且可以取决于所使用的具体的差错隐藏算法。是基于现有的(最新近的)失真映射以类似于
Figure 710282DEST_PATH_IMAGE041
的方式被计算的,例如,在基本隐藏算法的情况下,通过复制协同定位的块的失真,或者如果使用试图外推运动的较复杂的隐藏,则通过计算来自多个先前的编码块b1-b4的失真的加权和(作为类比参见下面相对于图1c的讨论)。计算的其它方式可以被使用——这可以是对编码器中的重建样本和在解码器处将看到的差错隐藏样本(即从先前接收的帧或相同帧的已接收的区域复制、内插或外推来隐藏丢失的帧或区域的样本)之间的差异的任何估计。
模式选择模块49然后针对每个后续帧间预测帧保持差错传播映射,这是通过跟随在每个模式选择判决之后更新差错传播映射完成的,现在其包含从现有差错映射的知识对
Figure 478179DEST_PATH_IMAGE041
的计算。在帧间预测(运动估计)的情况下,根据Zhang[2],这是使用针对所讨论的帧的运动向量来完成的。
这样的例子被图示在图1c中。在参考帧Fn(在时间
Figure 463453DEST_PATH_IMAGE024
处)中显示了四个示例块b1、b2、b3和b4,参考帧已经被编码。目标帧Fn的块(在后续时间处)将从参考帧Fn-1被预测。例如,考虑目标帧Fn中的目标块b1。为此目的,运动预测模块44确定定义在目标帧Fn中的目标块和在参考帧Fn-1中的参考块(用虚线示出)之间的偏移的运动向量,以使得当参考块从在参考帧Fn-1中的偏移位置平移到在目标帧Fn中的目标块b1 的位置时,它提供了目标块b1的最好估计。因此,注意虚线的参考块不一定是在参考帧Fn-1中的可加索引的块,即不一定是参考帧的预确定的子划分,并且可能偏移任何任意的量(并且实际上甚至可以偏移像素的分数)。因此参考块由来自四个实际可索引的块b1、b2、b3和b4的贡献组成。
因此,由模式选择模块49执行的、用来确定用在差错传播映射的更新中的
Figure 569446DEST_PATH_IMAGE041
的现有计算包括:计算在现有映射
Figure 346909DEST_PATH_IMAGE070
中为块或子块b1到b4所记录的失真的加权和:
Figure 827569DEST_PATH_IMAGE075
或者更明确地:
Figure 323273DEST_PATH_IMAGE076
其中
Figure 914791DEST_PATH_IMAGE026
是表示来自块或子块的贡献的权重,以及
Figure 463901DEST_PATH_IMAGE078
是针对块或子块的差错传播映射条目。
上文描述了确定初始差错传播映射
Figure 576531DEST_PATH_IMAGE015
、使用该差错传播映射来选择针对后续编码的最佳编码模式判决
Figure 390903DEST_PATH_IMAGE009
、使用该编码判决来更新映射
Figure 213365DEST_PATH_IMAGE015
、然后在下一个编码判决中使用更新的映射等等的现有的过程,其中差错传播映射代表包括在信道上丢失的估计效应的端到端的失真。例如,再次参考Zhang[2]。在本文中这可以被称作丢失自适应的速率失真优化(LARDO)。
然而,现有LARDO技术存在问题,因为它们具有高的处理复杂度,即招致很大数量的处理循环。它们还需要相对高的存储器覆盖区来保持在差错传播失真映射
Figure 418082DEST_PATH_IMAGE015
中的所有的值。在一些平台上,计算和存储器资源二者都可能非常有限。因此,令人期望的是,提供对于在Zhang[2]的系统中所描述的算法的简化,从而导致在性能中有间或的经受得起的下降的状况下的较低计算复杂度和存储器需求。
根据本发明的优选实施例,这可以通过(不管在被捕捉的视频图像中是否发生实际的运动)假设用于差错传播参考失真的计算的零运动来实现。这允许存储器和计算二者都被节省,因为不需要计算权重以便执行基于运动向量的计算,并且(例如,如果考虑4×4的网格,则不是16个)每个宏块仅需要存储一个
Figure 616982DEST_PATH_IMAGE015
值。自然而然地,端到端的速率失真性能可能下降,但是在一些条件下这种质量的下降将是微小且可接受的。
图4提供了用于预期差错传播参考失真和预期差错传播失真映射的计算的降低复杂度的技术的示意性图示,其与图1c的较高复杂度的版本形成对照。
这里主要的简化近似是忽略运动的效应。这意指取代等式(4)和图1c的加权和,针对特定宏块
Figure 223544DEST_PATH_IMAGE005
的偏项
Figure 216908DEST_PATH_IMAGE041
被约束成从在差错传播映射中的协同定位的宏块来确定:
Figure 971237DEST_PATH_IMAGE079
即使运动真的在视频中发生,并且即使运动是为了帧间预测编码自身而被估计,该约束也被应用在模式选择过程中。
此外,虽然上面已经提到存在许多不同的隐藏技术,但是可相对于零运动的假设而做出的另一种近似是:丢失的宏块的隐藏是基于来自不带有从邻近的图像部分外推或内插的在前帧的协同定位的宏块。为了帮助最小化复杂度,优选地隐藏通过采取先前被接收的部分的直接帧复制(或者以另一种方式来看,冻结先前被接收的部分)而工作(或至少假设其工作)。也就是说,直接从先前帧复制而没有任何从所复制的帧进行内插的尝试。这些近似意指:
Figure 908581DEST_PATH_IMAGE080
因此将(18)和(19)带入等式(3)中,这得到:
Figure 431967DEST_PATH_IMAGE081
进一步地,对于帧内编码:
Figure 533915DEST_PATH_IMAGE082
所以把这些点放到一起,假设对于
Figure 775540DEST_PATH_IMAGE041
Figure 253926DEST_PATH_IMAGE022
二者都是零运动,分别得到
Figure 631818DEST_PATH_IMAGE083
以及
Figure 170247DEST_PATH_IMAGE084
,并且等式(3)的修改版本可被表达为:
Figure 633589DEST_PATH_IMAGE085
这种形式的计算有利地降低了复杂度,因为权重
Figure 915666DEST_PATH_IMAGE086
、运动向量和基于这些的加权和不再出于计算差错传播参考失真的目的而被需要(尽管运动向量仍然可以被使用在预测中)。
另外,同样如图4所图示的,注意现在优选地在一个宏块接一个宏块的基础上执行上面的计算,即对于每个宏块(而不是每个块或子块)只需要计算针对每个失真项的一个值。此外,不再需要在更精细的网格上存储差错传播失真映射,并且对于每个宏块只需要在失真映射中存储一个失真值。的粒度对于LARDO的目的来说已经成为冗余。这是因为在没有运动预测的情况下,这是典型地在一个块接一个块的基础上完成的过程,不需要为了估计运动预测在失真上的效应而具有那种粒度水平。另外,典型地,编码模式
Figure 919711DEST_PATH_IMAGE001
的选择总是按每个宏块执行的(给定宏块是在整个宏块上使用相同的模式来编码的)。另外,丢失典型地总是发生在整个宏块上(宏块的局部丢失从不发生),并且隐藏是在至少宏块的某个区域上执行的。因此,出于LARDO目的来说只需要一个宏块的分辨率。
因此计算被简化并且存储器覆盖区被降低,因为对每个宏块只需要存储一个
Figure 808033DEST_PATH_IMAGE015
值。
将理解,上面的实施例仅仅作为例子被描述。
尽管上文所描述的实施例在一个宏块接一个宏块的基础上操作,但是情况不一定是这样。更一般地,失真映射的其它分区是可能的,甚至是其中失真映射分裂成仅两个部分的极端情况,例如一个用于图像的前景(其中典型地发生较多的运动),而一个用于背景(其中多半发生较少的运动),令一个编码模式选择针对前景做出,而另一个针对背景做出。在另一个例子中,不同的精度水平可以被应用到图像的不同区域,例如通过应用对象标识算法来标识需要不同对待的某些对象,例如使得诸如较快移动的对象的某些对象比背景和/或比诸如较慢移动的对象的某些其它对象在失真映射和模式选择过程中被给予更高的粒度。还要注意,预测块粒度不必与失真映射粒度相同,或者甚至不必与之相联系(尽管这个可能性没有被排除)。
一般而言,尽管用片段、宏块和块或子块这些术语来描述了上文,但是这些术语不一定打算是限制性的,并且本文所描述的想法并不局限于划分或再划分帧的任何具体方式。另外,失真映射可以覆盖整个帧或者帧内的区域,并且编码判决过程可以被应用在整个帧上,或者仅仅用于帧内的区域。
在一些实施例中,编码器可以被配置成在两种不同复杂度的模式中操作,一种是其中使用较低复杂度的无运动近似的模式,另一种模式使用诸如Zhang[2]的那种的较高复杂度(但是更精确)的过程。不同的模式可以被应用到视频图像的不同区域,例如不同的模式用于前景和背景,或者通过使用对象识别算法来标识或区分移动和/或静止的对象,例如其可分别适应于较高和较低复杂度的模式。
此外,尽管优选的是失真映射对每个宏块或图像部分仅存储一个变量,并且用在模式选择判决中的失真估计优选地仅基于每个宏块或相对应的图像部分的那一个变量,但是在其它实施例中仍然可以是:失真映射部分具有比为其选择编码模式的部分更精细的粒度——例如,如果期望这样的粒度被用在编码的某个其它方面,或者因为子块粒度被保持来支持不同复杂度的模式。即使是这种情况,仍然可以在一定程度上实现处理复杂度的节省,只要正针对其确定失真量度的图像部分与它被从其确定的失真映射的对应部分是协同定位的,因为基于运动向量的加权过程将仍然不被需要。例如,如果宏块偏项
Figure 690538DEST_PATH_IMAGE041
是从16(4×4)个子块值的平均值计算的,则这将仍然避免对权重的需要。或者如果针对每个块或子块计算
Figure 980705DEST_PATH_IMAGE041
,然后在模式选择过程中将其组合或一起考虑,则再次地,这仍然将节省加权过程。
还要注意,对协同定位的块进行约束的另一种方式是将除一个权重之外的所有权重
Figure 923253DEST_PATH_IMAGE086
设为零。
常常将差的平方和(SSD)优选为差异的量度,这是因为它相比于绝对差的和(SAD)导致更高的质量,但是不排除后者的可能性或其它的可能性,并且一般而言,可以将样本之间差异的任何量度用作为量化失真的基础来实施本发明。
通常,速率的量度也计及所需全部参数的编码,所述参数包括描述预测的参数和量化的变换系数。这种优化在本文中可以被称为全速率失真优化(RDO)。然而在较低复杂度的实施例中,失真和/或速率项可以通过仅考虑一些而不是全部的处理级的效应来近似,例如仅考虑预测的效应。
另外,在从两帧n和n+1的角度来描述本发明的场合,根据本发明的某些实施例,这两帧不需要指邻近的两帧(尽管在现有编解码器中可能是这样)。在一些实施例中,有可能的是,帧间预测可相对于甚至更早的帧来执行,并且照这样,则关于本发明
Figure 361188DEST_PATH_IMAGE017
Figure 985067DEST_PATH_IMAGE071
可以被用来分别指任何先前被编码的帧或图像部分和要从它预测的后续的帧或部分。再次应注意的是,在本申请中提到由于丢失而导致的贡献的场合、或陈述“如果”数据在信道上丢失或等等则发生什么的任何词句,这仅仅涉及由编码器做出的关于解码器可能经历什么的概率性假设(例如,
Figure 192058DEST_PATH_IMAGE020
)——编码器当然并不知道将发生什么。概率性假设可以在设计阶段基于统计学的网络建模而预确定,和/或甚至可以基于来自解码器的反馈而动态确定。
在给出本文的公开内容的情况下,其它的变例对本领域技术人员可以变得明显。本发明的范围不受所描述的实施例的限制,而是仅仅受到随附权利要求的限制。 

Claims (10)

1.一种编码包括多个帧的视频流的方法,该方法包括:
针对在帧中要被编码的多个目标图像部分中的每一个,通过优化包括针对目标图像部分的失真的估计和编码该目标图像部分所要求的比特率的量度的函数,来选择一组编码模式中的优选的一个,并且使用所选择的编码模式将该目标图像部分编码到编码的视频流中;
在有损的信道上发送已编码的视频流;以及
保持包括映射到相应帧分区的多个差错传播失真值的差错传播失真映射,所述差错传播失真值是基于先前的编码模式选择;
其中被使用来为目标图像部分中的每一个选择编码模式的失真估计是基于来自差错传播失真映射的相对应的部分;并且
其中所述相对应的部分被约束成与该目标图像部分协同定位。
2.一种用于编码包括多个帧的视频流的装置,该装置包括:
编码器,其被安排成针对在帧中要被编码的多个目标图像部分中的每一个,通过优化包括针对目标图像部分的失真的估计和编码该目标图像部分所要求的比特率的量度的函数,来选择一组编码模式中的优选的一个,并且使用所选择的编码模式将该目标图像部分编码到编码的视频流中;以及
发送器,其用于在有损的信道上发送已编码的视频流;并且
其中该编码器被配置成保持包括映射到相应帧分区的多个差错传播失真值的差错传播失真映射,该差错传播失真值是基于先前的编码模式选择,并且被使用来为目标图像部分中的每一个选择编码模式的失真估计是基于来自差错传播失真映射的相对应的部分;并且其中该编码器被配置成将所述相对应的部分约束成与该目标图像部分协同定位。
3.权利要求1的方法或权利要求2的装置,在针对目标图像部分的编码模式选择之后更新差错传播失真映射,并且使用更新的映射来为目标图像部分中的每一个确定后续编码模式选择;并且
其中,相对于其中相对应的部分是基于来自多个所述帧分区的差错传播失真值的加权和的情况而言,作为所述约束的结果,差错传播映射的更新包括较低复杂度的计算。
4.权利要求1、2或3的方法或装置,其中所述帧分区的每一个与目标图像部分中的相应的一个尺寸相同,以使得所述相对应的部分是所述帧分区中的一个。
5.前述任一项权利要求的方法或装置,其中差错传播映射按每个帧分区保持仅一个差错传播失真值。
6.权利要求4或5的方法或装置,其中失真的估计是基于所述帧分区中的仅仅协同定位的那个帧分区的差错传播失真值。
7.前述任一项权利要求的方法或装置,其中失真的估计包括代表源编码失真的第一项,以及代表由于在所述信道上的丢失而将经历的失真的估计的偏项;其中该偏项被设定成等于针对相对应的协同定位的部分的差错传播失真值。
8.权利要求7的方法或装置,其中为了保持差错传播失真映射,针对当前帧的帧分区的差错传播失真值是基于来自针对在前帧中的该帧分区的差错传播失真值的贡献,以及基于代表由于在所述信道上丢失的事件中的隐藏而将经历的失真的估计的贡献。
9.权利要求8的方法,其中分组将在信道上被丢失的概率                                                
Figure 2012800404019100001DEST_PATH_IMAGE001
被确定并且:其中
10.一种用于编码包括多个帧的视频流的计算机程序产品,该计算机程序产品被体现在计算机可读介质上并且包括代码,所述代码被配置成使得当其被执行时完成根据权利要求1和权利要求3到9中的任一项的方法的操作。
CN201280040401.9A 2011-08-19 2012-08-17 基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择 Active CN103733621B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1114323.7A GB2493777A (en) 2011-08-19 2011-08-19 Image encoding mode selection based on error propagation distortion map
GB1114323.7 2011-08-19
US13/274739 2011-10-17
US13/274,739 US8804836B2 (en) 2011-08-19 2011-10-17 Video coding
PCT/US2012/051507 WO2013028580A1 (en) 2011-08-19 2012-08-17 Rate -distortion optimized video encoding mode selection based on low complexity error propagation tracking

Publications (2)

Publication Number Publication Date
CN103733621A true CN103733621A (zh) 2014-04-16
CN103733621B CN103733621B (zh) 2017-07-28

Family

ID=44800569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280040401.9A Active CN103733621B (zh) 2011-08-19 2012-08-17 基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择

Country Status (5)

Country Link
US (1) US8804836B2 (zh)
EP (1) EP2730086A1 (zh)
CN (1) CN103733621B (zh)
GB (1) GB2493777A (zh)
WO (1) WO2013028580A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111837385A (zh) * 2018-01-29 2020-10-27 交互数字Vc控股公司 利用重构画面的细化进行编码和解码
CN111837385B (zh) * 2018-01-29 2024-04-30 交互数字Vc控股公司 利用重构画面的细化进行编码和解码

Families Citing this family (17)

* 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
GB2492330B (en) 2011-06-24 2017-10-18 Skype Rate-Distortion Optimization with Encoding Mode Selection
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
US20140119446A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Preserving rounding errors in video coding
US9185437B2 (en) 2012-11-01 2015-11-10 Microsoft Technology Licensing, Llc Video data
US10003792B2 (en) 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
US10136140B2 (en) 2014-03-17 2018-11-20 Microsoft Technology Licensing, Llc Encoder-side decisions for screen content encoding
US10123036B2 (en) 2014-06-27 2018-11-06 Microsoft Technology Licensing, Llc Motion vector selection for video encoding
TWI511530B (zh) * 2014-12-09 2015-12-01 Univ Nat Kaohsiung 1St Univ Sc Distributed video coding system and decoder for distributed video coding system
EP3254463A4 (en) 2015-02-06 2018-02-21 Microsoft Technology Licensing, LLC Skipping evaluation stages during media encoding
US10038917B2 (en) 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
US10218983B2 (en) 2015-09-30 2019-02-26 Apple Inc. Adapting mode decisions in video encoder
US11423582B2 (en) * 2019-03-01 2022-08-23 Tencent America LLC Method and apparatus for point cloud compression

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101233760A (zh) * 2005-08-03 2008-07-30 诺基亚公司 在视频编码中用于改进的编码模式控制的方法、设备和模块
CN101401440A (zh) * 2006-01-09 2009-04-01 诺基亚公司 可伸缩视频编码中的差错恢复模式判决

Family Cites Families (45)

* 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 画像符号化方法及び画像符号化装置
US6434196B1 (en) 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
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
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
KR20050061762A (ko) 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
JP4031455B2 (ja) 2004-03-29 2008-01-09 株式会社東芝 画像符号化装置
US8948266B2 (en) 2004-10-12 2015-02-03 Qualcomm Incorporated Adaptive intra-refresh for digital video encoding
US9667999B2 (en) 2005-04-25 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for encoding video data
DE102005029127A1 (de) 2005-06-23 2007-04-19 On Demand Microelectronics Ag Verfahren und Vorrichtung zur optimierten prädiktiven Videocodierung
WO2007070056A1 (en) 2005-12-15 2007-06-21 Thomson Licensing An adaptive joint source and channel coding scheme for h.264 video multicasting over wireless networks
JP5415081B2 (ja) 2005-12-22 2014-02-12 トムソン ライセンシング フレキシブル・マクロブロック配列(fmo)ビデオ符号化のためにフレーム選択を最適化する方法及び装置
WO2007084475A2 (en) 2006-01-17 2007-07-26 Thomson Licensing Methods and apparatus for low complexity error resilient motion estimation and coding mode selection
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
CN101595736B (zh) * 2006-12-15 2013-04-24 汤姆森特许公司 失真度估算
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 한국전자통신연구원 비디오 인코딩을 위한 인터 모드 결정 방법
CN100566427C (zh) 2007-07-31 2009-12-02 北京大学 用于视频编码的帧内预测编码最佳模式的选取方法及装置
EP2191651A1 (en) 2007-09-28 2010-06-02 Dolby Laboratories Licensing Corporation Video compression and tranmission techniques
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
CN102067610B (zh) * 2008-06-16 2013-07-10 杜比实验室特许公司 基于视频编码的切片依赖性的码率控制模型适配
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
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
US20120069927A1 (en) 2010-09-17 2012-03-22 Intel Corporation CQI feedback mechanisms for distortion-aware link adaptation toward enhanced multimedia communications
US9066073B2 (en) 2010-10-20 2015-06-23 Dolby Laboratories Licensing Corporation Error resilient rate distortion optimization for image and video encoding
WO2012171113A1 (en) 2011-06-14 2012-12-20 Zhou Wang Method and system for structural similarity based rate-distortion optimization for perceptual video coding
GB2492329B (en) 2011-06-24 2018-02-28 Skype Video coding
GB2492163B (en) 2011-06-24 2018-05-02 Skype Video coding
GB2492330B (en) 2011-06-24 2017-10-18 Skype Rate-Distortion Optimization with Encoding Mode Selection
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495468B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495467B (en) 2011-09-02 2017-12-13 Skype Video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101233760A (zh) * 2005-08-03 2008-07-30 诺基亚公司 在视频编码中用于改进的编码模式控制的方法、设备和模块
CN101401440A (zh) * 2006-01-09 2009-04-01 诺基亚公司 可伸缩视频编码中的差错恢复模式判决

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QUQING CHEN, ZHIBO CHEN,XIAODONG GU,CHARLES WANG: "Attention-based adaptive intra refresh for error-prone video transmission", 《ADVANCES IN VISUAL CONTENT ANALYSIS AND ADAPTATION FOR MULTIMEDIA COMMUNICATIONS》 *
THOMAS STOCKHAMMER,DIMITRIOS KONTOPODIS, THOMAS WIEGAND: "Rate-Distortion Optimization for JVT/H.26L Video Coding in packet loss environment", 《INTERNATIONAL WORKSHOP ON PACKET VIDEO》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111837385A (zh) * 2018-01-29 2020-10-27 交互数字Vc控股公司 利用重构画面的细化进行编码和解码
US11962782B2 (en) 2018-01-29 2024-04-16 Interdigital Vc Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
CN111837385B (zh) * 2018-01-29 2024-04-30 交互数字Vc控股公司 利用重构画面的细化进行编码和解码

Also Published As

Publication number Publication date
US20130044804A1 (en) 2013-02-21
CN103733621B (zh) 2017-07-28
US8804836B2 (en) 2014-08-12
GB201114323D0 (en) 2011-10-05
EP2730086A1 (en) 2014-05-14
WO2013028580A1 (en) 2013-02-28
GB2493777A (en) 2013-02-20

Similar Documents

Publication Publication Date Title
CN103733621A (zh) 基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择
EP2737703B1 (en) Video refresh using error-free reference frames
CN102792688B (zh) 用于视频的数据压缩
CN103609115B (zh) 具有基于知觉的帧内切换的模式决策的编码方法及装置
CN101889405B (zh) 用于执行运动估计的方法和装置
CN103650493B (zh) 低复杂度模式选择
CN102067610B (zh) 基于视频编码的切片依赖性的码率控制模型适配
US9854274B2 (en) Video coding
US9036699B2 (en) Video coding
US11363287B2 (en) Future video prediction for coding and streaming of video
KR20110094765A (ko) 움직임 예측 장치 및 방법과 영상 처리 장치
CN105684409A (zh) 在视频和图像编码和解码中使用散列值来表示各块
JP2014039321A (ja) デコードされたビデオブロック内の予期される歪みを判定する方法および装置
CN105409216A (zh) 丢失视频数据的条件隐藏
CN105684441A (zh) 视频和图像编码中的基于散列的块匹配
CN107846593B (zh) 一种率失真优化方法及装置
CN104539948A (zh) 视频处理系统和视频处理方法
CN102946534A (zh) 视频编码
CN102946533B (zh) 视频编码
CN101411200A (zh) 视频编码
CN102946532A (zh) 视频编码
CN104796704A (zh) 一种用于可伸缩视频编码的宏块级码率控制方法
KR20060063604A (ko) 영상 신호의 인코딩 및 디코딩 방법
CN102804775B (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150630

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150630

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant