首页> 中国专利> 基于与错误隐藏有关的失真值确定编码方法的方法和设备

基于与错误隐藏有关的失真值确定编码方法的方法和设备

摘要

本发明描述对多媒体数据进行编码从而实现尤其例如改进的经解码视频质量、改进的错误恢复能力和/或改进的解码效率的方法和设备。如果错误地接收多媒体数据的一个或一个以上部分,那么编码器装置至少部分地基于与隐藏所述一个或一个以上部分有关的一种或一种以上隐藏方法来确定所述一个或一个以上部分的一个或一个以上失真值。所述编码器装置至少部分地基于所述一个或一个以上所估计的失真值来确定用于所述一个或一个以上部分的一种或一种以上编码方法。在一个方面,确定所述一种或一种以上编码方法包括确定所述一种或一种以上编码方法,以便至少部分地基于所述一个或一个以上所估计的失真值与一个或一个以上阈值的比较来刷新所述一个或一个以上部分。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-03-21

    授权

    授权

  • 2009-04-22

    实质审查的生效

    实质审查的生效

  • 2009-02-25

    公开

    公开

说明书

相关申请案的交叉参考

根据35 U.S.C.§119主张优先权

本专利申请案主张2006年1月20日申请的题为“基于无线视频通信的预测层级进行自适应帧内刷新的方法和设备(Method and Apparatus for Adaptive Intra Refresh Basedon Prediction Hierarchy for Wireless Video Communications)”的第60/760,678号临时申请案的优先权,所述临时申请案转让给本申请案的受让人,且出于所有目的,以引用的方式完全并入本文中。

技术领域

本申请案是针对多媒体信号处理,且更明确地说,是针对视频编码。

背景技术

多媒体处理系统(例如视频编码器)可使用基于国际标准的编码方法来对多媒体数据进行编码,所述国际标准例如是运动图片专家组(MPEG)-1、-2和-4标准,国际电信联盟(ITU)-TH.263标准,和ITU-T H.264标准及其副本,ISO/IEC MPEG-4,第10部分(即,高级视频编码(AVC))。此些编码方法通常是针对为了传输和/或存储而压缩多媒体数据。压缩泛指从数据去除冗余的过程。

可用图片序列来描述视频信号,所述图片包含帧(整个图片)或字段(例如,交错视频流包括图片的交替奇数或偶数线的字段)。如本文所使用,术语“帧”是指图片、帧或字段。视频编码方法通过使用无损压缩算法或有损压缩算法压缩每个帧来压缩视频信号。帧内编码是指在对帧进行编码时只使用所述帧。帧间编码是指基于其它“参考”帧而对帧进行编码。举例来说,视频信号通常展示时间冗余,其中在帧的时间序列中彼此靠近的帧至少具有彼此匹配或至少部分地匹配的部分。

多媒体处理器,例如视频编码器,可通过将帧分成(例如)16×16像素的区块或“宏区块”来对所述帧进行编码。编码器可进一步将每一宏区块分成子区块。每一子区块可进一步包括额外的子区块。举例来说,宏区块的子区块可包含16×8和8×16个子区块。8×16个子区块的子区块可包含8×8个子区块,等等。如本文所使用,术语“区块”是指宏区块或子区块。

编码器可使用基于帧间编码运动补偿的算法来利用此时间冗余。运动补偿算法识别参考帧的至少部分地与区块匹配的部分。所述区块可在帧中相对于参考帧的匹配部分而移位。此移位的特征在于运动向量。所述区块与参考帧的部分匹配部分之间的任何差异可用残差来表征。所述编码器可将帧编码为包括所述帧的特定分割的运动向量和残差中的一者或一者以上的数据。可通过使(例如)平衡编码大小与编码所得内容的失真的价值函数近似地减到最小来选择用于对帧进行编码的区块的特定分割。

帧间编码与帧内编码相比实现更高压缩效率。然而,当参考数据(例如,参考帧或参考字段)由于通道错误等缘故而丢失时,帧间编码可能产生问题。在这些情况下,对经帧间编码的数据的解码可能是不可能的,或可能导致不当错误和错误传播。解码器可使用隐藏机制,所述隐藏机制试图用从相邻区块或从其它帧中的数据得到的数据来隐藏或掩饰出错的数据。隐藏算法的改进可提供出错的视频数据的隐藏部分的质量的某一改进。然而,由于隐藏算法严重依赖时空信息,因此对于隐藏图像将展示的质量有多高存在限制。隐藏的数据的质量可能不高,且观看体验可能被降级。此外,对信号进行解码可能变成不可能的,且可能需要再同步。通过刷新视频的编码方法,错误传播可受到限制,且可实现再同步(或初始获取)。无需参考其它帧或已知其它帧,可对经刷新的视频信号进行解码。

可独立解码的经帧内编码的帧是允许刷新视频信号的帧的最常见形式。MPEG-x和H.26x标准使用被称为图片组(GOP)的帧,其包括经帧内编码的帧(也被称为I帧)和在时间上经预测的P帧或经双向预测的B帧,所述B帧参考GOP内的I帧和/或其它P和/或B帧。较长的GOP是增加的压缩所需要的,但较短的GOP允许更快的获取和再同步。增加I帧的数目将更频繁地刷新视频信号,从而进一步限制错误传播并提供更快的获取和再同步,但以更低的压缩为代价。需要一种对视频数据进行编码的方法,其限制视频流在解码器处的错误传播,同时保留压缩效率。

发明内容

本申请案的系统、方法和装置每一者具有若干方面,所述方面中没有单个方面单独负责其所需属性。在不对如所附权利要求书所表达的本申请案的范围构成限制的情况下,现将简要论述本申请案的较突出特征。在考虑本论述之后,且尤其在阅读题为“具体实施方式”的部分之后,将理解本申请案的示例特征可如何提供一些改进,所述改进尤其包含(例如)改进的解码视频质量、改进的错误恢复和/或改进的效率。

本发明提供一种对多媒体数据进行编码的方法。所述方法包含:如果错误地接收到多媒体数据的一个或一个以上部分,那么至少部分地基于与隐藏所述一个或一个以上部分有关的一种或一种以上隐藏方法来估计所述一个或一个以上部分的一个或一个以上失真值;以及至少部分地基于所估计的一个或一个以上失真值来确定用于第一部分的至少一种编码方法。

本发明提供一种多媒体数据处理器。所述处理器经配置以:如果错误地接收到多媒体数据的一个或一个以上部分,那么至少部分地基于与隐藏所述一个或一个以上部分有关的一种或一种以上隐藏方法来估计所述一个或一个以上部分的一个或一个以上失真值;且至少部分地基于所估计的一个或一个以上失真值来确定用于所述一个或一个以上部分的至少一种编码方法。

本发明提供一种用于对多媒体数据进行编码的设备。所述设备包含:估计器,其用以如果错误地接收到多媒体数据的一个或一个以上部分,那么至少部分地基于与隐藏所述一个或一个以上部分有关的一种或一种以上隐藏方法来估计所述一个或一个以上部分的一个或一个以上失真值;以及确定器,其用以至少部分地基于所估计的失真值来确定用于所述一个或一个以上部分的至少一种编码方法。

本发明提供一种机器可读媒体,其包括在执行之后立即致使机器对多媒体数据进行编码的指令。所述指令致使机器:如果错误地接收到多媒体数据的一个或一个以上部分,那么至少部分地基于与隐藏所述一个或一个以上部分有关的一种或一种以上隐藏方法来估计所述一个或一个以上部分的一个或一个以上失真值,且至少部分地基于所估计的失真值来确定用于第一部分的至少一种编码方法。

附图说明

图1是说明根据一个方面的多媒体通信系统的框图。

图2是说明可在(例如)图1中所说明的系统中使用的编码器装置的实施例的框图。

图3是说明可在(例如)图1中所说明的系统中使用的解码器装置的实施例的框图。

图4A是说明在(例如)图1所说明的系统中对视频流的一部分进行编码的方法的实例的流程图。

图4B是更详细地说明在(例如)图1所说明的系统中对视频流的一部分进行编码的方法的实例的流程图。

图5以图表方式说明可通过图4A和图4B的方法产生的失真映射。

图6以图表方式说明用于估计视频的一部分(例如在运动补偿预测方法中所使用)的预测区域。

图7是说明可在(例如)图1中所说明的系统中使用的编码器装置的实施例的功能性框图。

图8是说明可在(例如)图1中所说明的系统中使用的编码器装置的实施例的功能性框图。

具体实施方式

以下详细描述内容是针对本申请案的某些示例实施例。然而,本申请案可以权利要求书所界定和涵盖的多种不同方式来实施。在本描述内容中,参考图式,在图式中相同部分始终用相同标号表示。

可用一系列图片、帧、字段或片段来表征视频信号。如本文所使用,术语“帧”是广义术语,其可涵盖渐进式视频信号的帧、交错视频信号的字段或任一者的片段。

实施例包含改进多媒体传输系统中的编码器中的处理的系统和方法。多媒体数据可包含运动视频、音频、静止图像、或任何其它合适类型的视听数据中的一者或一者以上。实施例包含对视频数据进行编码的设备和方法。举例来说,一个方面包括对视频数据进行编码的方法,其在解码期间限制错误传播的效应且改进错误隐藏的性能。明确地说,已发现通过在错误地接收到多媒体数据的一部分时,基于可用于隐藏多媒体数据的所述部分的一种或一种以上隐藏方法来估计多媒体数据的所述部分的失真值,且基于所估计的失真值来确定用于多媒体数据的所述部分的编码方法,可改进经解码视频质量、错误恢复能力和/或解码效率。

图1时说明根据一个方面的多媒体通信系统100的框图。系统100包含经由网络140与解码器装置150通信的编码器装置110。在一个实例中,编码器装置从外部来源102接收多媒体信号,且对所述信号进行编码以在网络140上进行传输。

在此实例中,编码器装置110包括耦合到存储器114和收发器116的处理器112。处理器112可包含通用处理器和/或数字信号处理器中的一者或一者以上。存储器114可包含固态和/或基于磁盘的存储装置中的一者或一者以上。处理器112对来自多媒体数据源的数据进行编码,并且将其提供给收发器116以用于在网络140上进行通信。

在此实例中,解码器装置150包括耦合到存储器154和收发器156的处理器152。处理器152可包含通用处理器和/或数字信号处理器中的一者或一者以上。存储器154可包含固态和/或基于磁盘的存储装置中的一者或一者以上。收发器156经配置以通过网络140接收多媒体数据,并且将其提供给处理器152以进行解码。在一个实例中,收发器156包含无线收发器。网络140可包括有线或无线通信系统中的一者或一者以上,包含以太网、电话(例如,POTS)、电缆、电力线和光纤系统中的一者或一者以上,且/或无线系统包括以下系统中的一者或一者以上:码分多址(CDMA或CDMA2000)通信系统、频分多址(FDMA)系统、正交频分多(OFDM)址系统、时分多址(TDMA)系统,例如GSM/GPRS(通用分组无线电服务)/EDGE(增强型数据GSM环境)、TETRA(陆地集群无线电)移动电话系统、宽带码分多址(WCDMA)系统、高数据速率(1xEV-DO或1xEV-DO黄金多播)系统、IEEE 802.11系统、媒体FLO(MediaFLO)系统、DMB系统或DVB-H系统。

图2是说明可在例如图1中所说明的系统100的系统中使用的编码器装置110的实施例的框图。在此实施例中,编码器110包括失真值估计器元件202、编码方法确定器204和多媒体编码器元件206。失真值估计器202估计多媒体数据的正被编码的部分的失真值。所述失真值部分地基于来自预测当前部分所根据的视频的其它部分的错误传播和所述其它部分被错误地接收到的可能性。失真值还包含由于在隐藏视频数据的所述部分(如果其被错误地接收到)时在解码器处引入的错误而导致的失真分量。失真值估计器可考虑多种编码方法,且计算对于所述编码方法中的每一者的失真值。

编码方法确定器204基于所估计的失真值来确定一种将用于对视频数据的所述部分进行编码的编码方法。编码方法确定器204和失真值估计器202可一起工作,以计算对于多种编码方法(例如多种帧间编码方法)的多个失真值,并选择导致最少失真的编码方法。编码方法确定器可将失真值与阈值进行比较,且基于所述比较,确定需要另一编码方法。其它编码方法可以是与刷新视频流有关的编码方法,例如帧内编码。其它编码方法还可以是导致较低失真值(如由失真值估计器202所估计)的另一种形式的帧间编码。编码方法确定器还可在确定提供可接受失真且不超过某一计算复杂性等级的编码方法的过程中考虑计算复杂性以及失真值。

多媒体编码器206执行基于失真值确定的编码方法。多媒体编码器206所执行的编码方法包含帧间编码,其中参考位于其它时间帧中的视频数据的其它部分在时间上预测(例如,使用运动补偿预测)视频的若干部分。其它编码方法包含帧内编码,其中对视频的部分进行编码使得其可被独立解码而无需参考其它在时间上定位的视频数据。在一些实施例中,帧内编码可使用空间预测来利用位于同一时间帧中的其它视频数据中的冗余。

在一些实施例中,图2的编码器110的元件中的一者或一者以上可重新布置和/或组合。所述元件可由硬件、软件、固件、中间件、微码或其任一组合来实施。编码器110的元件所执行的动作的细节将在下文中参考图4中所说明的方法进行论述。

图3是说明可在例如图1中所说明的系统100等系统中使用的解码器装置150的实施例的框图。在此实施例中,解码器装置150包含多媒体解码器元件302和错误隐藏元件304。多媒体解码器302将对(例如)使用图2的编码器装置110进行编码的经编码多媒体位流进行解码。多媒体解码器执行对应于用于对数据进行编码的编码操作的逆操作。经编码的数据可以是经帧间编码的数据(例如,经时间上预测的数据)和/或经帧内编码的数据。

错误隐藏元件304执行各种形式的错误隐藏,所述错误隐藏用于隐藏或掩饰视频的被错误地接收或由于其它原因而不可解码(例如,由于同步损失)的部分。所述隐藏方法可包含空间错误隐藏方法、时间错误隐藏方法和其它方法。当在图2的编码器装置110的失真值估计器202中估计失真值时,所使用的隐藏方法可与模拟的错误隐藏方法相同或类似。虽然本方面并不要求相同或类似的隐藏方法,但在解码器装置150中使用此些与解码器装置中所模拟的隐藏方法相同或类似的隐藏方法可产生改进的经解码视频质量。除执行错误隐藏之外,错误隐藏元件304还可执行错误恢复功能。可对被确定为出错的数据区段执行错误恢复以试图分析出可用(例如,无错误)部分。这些被分析出的部分还可在错误隐藏元件304进行的错误隐藏中使用。

在一些实施例中,图3的解码器150的元件中的一者或一者以上可重新布置和/或组合。所述元件可由硬件、软件、固件、中间件、微码或其任一组合来实施。解码器150的元件所执行的操作的细节超出本论述的范围。

图4A是说明在(例如)图1所说明的系统中对视频流的一部分进行编码的方法的实例的流程图。在此实例中,所述方法估计视频的正被编码的一部分的失真值。所述失真值基于在解码器处错误地接收到经编码部分的概率和由用于隐藏出错部分的隐藏方法所造成的错误。通过使失真值基于解码器隐藏方法,经编码的视频位流可更不受解码器处的错误传播效应影响,这可改进经解码视频质量。此实例中的方法还可基于所估计的失真值而确定编码方法。可在多种编码方法中确定使失真值减到最小的编码方法。可基于改进视频的部分在解码器处的可恢复性来确定编码方法。可确定编码方法以刷新视频部分,以便限制解码器处的错误传播。

参看图4A,方法400开始于框402,其中编码装置估计多媒体数据的一部分的失真值。多媒体数据的所述部分可以是像素(例如,亮度和色度,或红色、绿色和蓝色等)、像素区块或一个或一个以上像素的任何形状和大小的区域。失真值至少部分地基于与可用于隐藏视频部分(如果其被错误地接收到)的错误隐藏方法有关的失真分量。失真值可包含来自多种隐藏方法的分量。举例来说,一个分量可表示由所使用的第一隐藏方法引入的失真(如果只有正被编码的部分被错误地接收到)。换句话说,假定解码器装置可用来预测被隐藏部分的所有其它视频数据(被称为预测数据)将无错误地被接收到。失真值的其它分量可包含由第二或第三隐藏方法所引入的失真,其中如果错误地接收到一个或一个以上预测部分,那么解码器可使用这些隐藏方法。所述隐藏方法可包含空间隐藏、时间隐藏和其它形式的隐藏。将在下文论述估计失真值的方法(包含时间隐藏)的细节。图2中的编码器装置110的失真值估计器202可执行框402处的动作。

在一些实例中,对于数据帧中的每一区块,在框402处计算失真值。所述区块可以是宏区块(例如,16×16像素宏区块)或任何大小的子宏区块。帧中每一区块的失真值可存储在失真映射中。图5以图表方式说明可在框402处产生的失真映射。失真映射500含有多个失真值变量505(标记为dv1到dv16),一个失真值变量针对帧中的一个区块。先前帧的失真映射500可用于计算在新帧中的失真值。以此方式,可容易计算累计失真。如果确定要刷新(例如帧内编码)任一区块,那么可将所述区块的失真值设置为零,或设置为由于量化或某一其它因素而导致的失真值。

在框404处,编码器装置基于所估计的失真值而确定用于多媒体数据的部分的编码方法。在一些实例中,在框402处计算对于多种编码方法的失真值,作为用于选择将使用多种方法中的哪一种编码方法的速率失真计算的一部分。举例来说,可(在框404处)确定产生最小失真值的编码方法用于对多媒体数据的部分进行编码。在其它实例中,可基于第一编码方法(帧间编码或帧内编码)而计算失真值,且使用所述失真值来确定应被帧内编码(例如在自适应帧内刷新(AIR)中进行)的区块。举例来说,可在基于速率失真的决策已导致发现用以对某一部分进行编码的最佳运动向量和模式之后,计算对应于所述部分的失真值。如果这样获得的失真值大于阈值,那么可确定使用帧内编码模式(例如,4 x 4像素帧内编码或16×16像素帧内编码)中的一者来对所述部分进行帧内编码。以此方式,刷新多媒体的所述部分。除帧内编码模式之外,在某些情况下,还可基于失真值而确定某些假定(P8×8、P16×16、P16×8、P8×16等),尽管这些假定不能导致经刷新的视频。应注意,方法400的框中的某些框可被组合、省略、重新布置或其任一组合。下文中参看图4B论述在框404处确定编码方法的一些实施例的细节。

现将论述在框402处估计失真值的示范性算法的细节。此实例中的失真值与使用来自两个其它帧(例如,先前帧和随后帧)的部分来隐藏多媒体的出错部分的时间隐藏方法有关。然而,可使用类似方法来表示其它隐藏方法。

示范性算法计算视频的单向预测部分(例如在P帧中)的期望(即,统计期望)失真值的递归失真值。其它部分,例如经帧内编码部分和经双向预测部分也可由类似算法表示。算法可部分地基于当前MB损失的假定概率(定义为概率“P”)和隐藏方法所使用的预测因子丢失的概率(定义为概率“Q”)。随着假定概率P和Q中至少一者增加,算法更趋向于得到良好的错误恢复/隐藏,同时牺牲压缩效率。当减小概率P和Q中至少一者时,发生相反的情况。

所述算法计算多媒体数据的一部分的期望失真值。多媒体数据的所述部分可以是任何数目的像素和任何形状。可参考作为16×16像素宏区块(MB)的部分来论述所述实例,但应注意,还可表示其它部分。在一个实施例中,使用所述算法来估计帧的每一MB的期望失真值,以形成如上文参看图5所论述的失真映射。以递归和运动自适应方式来计算此实例中的期望失真值。尽管此期望失真映射不完全是MSE或L1范数失真测量,但期望其与这些测量合理地充分相关。

以下符号用于论述失真值算法:

P=当前MB丢失的概率

Q=有关隐藏方法所使用的预测因子丢失的概率

在给定这些假定的情况下,以等于(1-P)的概率无任何错误地接收当前MB。在单向预测中,参考另一帧(在本实例中是先前帧)的MB大小部分对当前MB进行编码。运动向量MV给出当前MB与MB大小参考部分的相对位置或定位。参考部分将通常不与MB的边界对准,但将重叠至多达四个MB的四个区域。图6以图表的方式说明用于使用运动补偿预测方法来估计视频的一部分的预测区域。运动向量605指向由标记为a1、a2、a3和a4的四个区部分组成的MB大小预测区域610。所述区部分a1到a4,分别位于四个MB 615、620、625和630内。可从先前帧的失真映射的存储版本获得MB 615到630的失真值。在此实例中,预测区域610中的四个区部分a1到a4的累计失真值经加权平均(例如,基于每一区部分中的像素的数目)以计算当前MB的失真值。因此,由于累计错误传播而导致的当前宏区块的所估计的期望失真值由下式给出:

(1-P){a1Dt-1i,j+a2Dt-1i+1,j+a3Dt-1i,j+1+a4Dt-1i+1,j+1256}---(1)

其中a1、a2、a3、a4是如图6所说明的四个区部分。应注意通过使16×16像素区域的加权平均值除以256来使公式(1)所给出的失真值规范化。

除来自先前帧的预测区域的累计失真外,如果错误地接收到当前MB,那么算法估计由于当前MB的隐藏而导致的失真值分量。如上文所论述,假定当前MB以P的概率被错误地接收到。由于隐藏方法的缘故而由当前宏区块引起的失真可近似为隐藏错误(由隐藏方法引入且由术语隐藏_错误(Conceal_Error)指示的错误)与来自隐藏方法所使用的预测区域的错误传播所导致的效应的总和。如上文所论述,假定预测因子(例如,来自当前和/或过去帧)以概率1到Q可用。在此实例中,假定隐藏方法取决于当前帧和先前帧中的数据的可用性。假定预测区域在先前帧中,如累计失真术语所指示。然而,这只是实例,且预测区域可在当前帧中或任何其它可用的帧中。因此,由于使用来自先前帧的预测区域的时间错误隐藏方法而引起的失真(其中被隐藏的部分出错的概率为P,且其取决于当前帧和先前帧(都以1到Q的概率可用)中的预测数据的可用性)可被计算为:

(P)(1-Q)(1-Q){Conceal_Error+a1Dt-1i1,j1+a2Dt-1i1+1,j1+a3Dt-1i1,j1+1+a4Dt-1i1+1,j1+1256}---(2)

隐藏错误计算在计算上可能是复杂的。然而,在某些合理假定下,其可近似为以下SAD(像素值中的累计差值的和)中的差值:

SADopt:当使用最佳MV和最佳编码模式时,在原始图像与压缩图像之间获得的SAD。

SADest:当使用所估计(通过时间隐藏算法估计)的MV时,在原始图像与隐藏图像之间获得的SAD

此近似可如下书写:

(P)(1-Q)(1-Q){|SADest1-SADopt1|+a1Dt-1i1,j1+a2Dt-1i1+1,j1+a3Dt-1i1,j1+1+a4Dt-1i1+1,j1+1256}---(3)

其中a1′、a2′、a3′、a4′是先前帧中的四个区部分(如图6中所说明),其被用作隐藏部分预测,且用于求累计失真的加权平均值。注意,还通过使16×16像素区域的加权平均值除以256来使公式(3)所给出的失真值规范化。

注意,当使用公式(3)时,在某些情况下可发现SADest小于SADopt(例如,由于运动补偿不准确的缘故),但所述差值可以小到可忽略,且在那些情况下,隐藏_错误分量可近似为零。

公式(3)表示在当前帧和先前帧都可用(其中每一者以1到Q的概率发生)时对应于所用隐藏方法的失真值分量。然而,如果错误地接收到当前帧和/或过去帧中的一些帧或所有帧(其中每一者以概率Q发生),那么可能存在不同的隐藏错误。可考虑对应于四个不同隐藏估计的失真值分量,其中所述四个隐藏估计对应于四种情形:1)当前帧可用,且先前帧可用;2)当前帧可用,但先前帧出错;3)当前帧出错,但先前帧可用;以及4)当前帧和先前帧都出错。关于四个隐藏估计的计算的细节对于理解失真值计算并不是关键的,且本文将不作论述。包含四个失真值分量的累计失真可计算为:

Dtx,y=

(1-P){a1Dt-1i,j+a2Dt-1i+1,j+a3Dt-1i,j+1+a4Dt-1i+1,j+1256}+

(P)(1-Q)(1-Q){|SADest1-SADopt1|+a1,Dt-1i1,j1+a2,Dt-1i1+1,j1+a3,Dt-1i1,j1+1+a4,Dt-1i1+1,j1+1256}+

                                                           (4)

(P)(Q)(1-Q){|SADest2-SADopt2|+a1,,Dt-1i2,j2+a2,,Dt-1i2+1,j2+a3,,Dt-1i2,j2+1+a4,,Dt-1i2+1,j2+1256}+

(P)(1-Q)(Q){|SADest3-SADopt3|+a1,,,Dt-1i3,j3+a2,,,Dt-1i3+1,j3+a3,,,Dt-1i3,j3+1+a4,,,Dt-1i3+1,j3+1256}+

(P)(Q)(Q){|SADest4-SADopt4|+a1,,,,Dt-1i4,j4+a2,,,,Dt-1i4+1,j4+a3,,,,Dt-1i4,j4+1+a4,,,,Dt-1i4+1,j4+1256}

其中第一隐藏估计产生失真且第二隐藏估计产生失真等等。此外,基于在四个隐藏估计的每一者中所使用的预测区域的区(a′、a"、a"′和a"")而求累计失真的加权平均值。隐藏估计可基于不同类型的隐藏方法,例如空间隐藏、双向隐藏等。举例来说,隐藏算法有时可在时间上隐藏,且有时在空间上隐藏,视确定性/概率性标准而定。执行失真值计算且基于所述失真值而确定使用哪一编码方法的编码器装置可模拟在解码器中使用的相同或类似隐藏方法,以便在解码器接收到出错的数据时改进错误恢复和/或错误隐藏性能。

应注意,可基于其它预测区域不可用的概率而考虑其它隐藏估计并将其包含在等式(4)中。可对帧中的每一MB使用等式(4)以形成如图5所说明的失真映射。因此,使用等式(4)计算的失真值包括通过选择多个隐藏选项而引起的失真的加权总和,其中权数是每一隐藏选项被选择的概率。

图4B是更详细地说明在(例如)图1所说明的系统中对视频流的一部分进行编码的方法的实例的流程图。方法420包含如上文参看图4A所论述的框402和404,图4A在框402处包含当估计失真值时可考虑的各种隐藏方法,且在框404处包含确定编码方法的各种方法。

在框402处,可使用与在上文中参考等式(4)所论述的算法类似的算法来估计失真值。所使用的具体失真值等式取决于正被表示的隐藏方法的类型。正被表示的隐藏方法可包含空间隐藏方法,其中使用位于同一帧中的预测部分来隐藏错误地接收到的部分。在帧内的空间隐藏的情况下,使用当前帧中的MB的累计失真值代替来自先前帧的失真值。时间隐藏方法可包含如上文所论述且由等式(4)表示的单向预测,且还可包含双向预测,在双向预测中还可考虑随后帧的可用性。

时间隐藏方法的一个实例是运动向量缩放。运动向量缩放是一种从其它帧内插和/或外插运动向量以得到当前帧中出错多媒体数据的一部分的运动向量的方法。时间隐藏方法的另一实例是帧速率转换。帧速率转换可类似于运动向量缩放,但涉及整个帧(通常基于两个周围帧)的构造。时间错误隐藏方法的其它实例可基于光流方法。可由框402处所估计的失真值表示的其它形式的隐藏包含空间和频域内插、最大平滑恢复和投影到凸集中。所属领域的技术人员将了解在方法400的框402处估计失真值时可表示的其它形式的错误隐藏。

如上文所论述,编码器装置在框404处基于框402处所估计的失真值确定编码方法。在一些实施例中,将所估计的失真值与阈值进行比较,且基于所述比较而确定所述编码方法。对于多媒体数据的所有部分,所述阈值可以是单个值。然而,阈值也可根据方法(例如方法420的框404中所列出的那些方法)而变化。将相对于基于超过阈值而确定编码方法来论述这些方法,其中在阈值被超过时所选择的编码方法通常将用于刷新所述部分(或至少减小所述部分的所估计的失真值)。然而,应注意,还可基于失真值小于阈值来确定编码方法。

在一些实例中,所述阈值依据正被编码的多媒体部分所位于的区的纹理而变化。纹理变化很大的区(例如,像素之间具有较大变化)不可能与纹理变化较小的区展示一样多的错误,且因此可被提供有较高的阈值,超过所述阈值,可确定编码方法以刷新所述部分(例如,使用帧内编码)。然而,纹理变化较平滑或较轻微的区可能展示较多的错误,且因此可被指配有较低的阈值。

在一些实例中,阈值可依据帧内正被编码的部分的位置或定位而变化。举例来说,边缘上的部分可被指配有比中间部分更高的阈值。以此方式,与观看者可能不经常观看的边缘上的区相比,观看者更频繁看的区(例如,帧的中央)可更频繁地刷新。

在一些实例中,阈值可随GOP(图片组)内正被编码的当前帧或多个帧的超帧的位置而变。GOP通常开始于经帧内编码的帧或大体上包含帧内正被帧内编码至少一次(被称为自适应帧内刷新或AIR)的所有MB的一组帧,且其中GOP(或超帧)中的其它帧并不参考GOP之外的帧。为了确保MB在GOP开始处被帧内编码的机会较高,靠近GOP开头的帧中的阈值与靠近GOP结尾的MB相比可具有较低的阈值。

在一些实例中,阈值可随帧内(例如)失真映射中的失真值的分布而变。举例来说,可自适应地设置阈值,以确保MB在帧内的百分比基于失真值的分布而帧内编码。这可用来限制经帧内编码的MB的数目,以限制传输所必需的数据速率。虽然对于一些帧来说质量可能降级(由于失真值的高分布的缘故),但数据速率可保持在所需等级。

在一些实例中,阈值可随含有正被编码的部分的帧的区中的运动活动性而变。在视频的表征为较高运动活动性的区中出现的错误趋向于比在表征为较小运动的区中出现的错误不易觉察。与在经历较低运动活动性的区中相比,可在经历较高运动活动性的区中将阈值设置为较高的值。可以多种方式来测量运动活动性。举例来说,可将运动向量幅值用作运动活动性指示符,其中较高幅值的运动向量指示较高的运动活动性。运动向量方向的变化也可用作运动活动性指示符。如果区中的大部分运动向量大体上指向同一方向,那么这可指示低运动活动性。如果区的相邻区块中的运动向量指向不同的方向,那么这可指示高运动活动性。可使用其它运动补偿技术(例如光流)来获得类似的运动活动性测量。

在一些实例中,阈值可随视频的正被编码的部分的编码模式而变。举例来说,视频的一些部分通常不用作视频的其它预测部分的参考。举例来说,在许多系统中,不使用B帧作为参考帧。因此,可允许这种类型的系统中的B帧的失真值较高,因为没有其它视频将参考B帧。由于没有其它视频将参考B帧,所以错误将只持续一个帧持续时间(例如,在每秒30个帧的视频序列中的第1/30秒)。因此,与对于视频的可由其它预测部分参考的部分相比,对于视频的不被参考的部分,阈值可能较高。

在基于框402处所估计的失真值而确定编码方法(在框404处)之后,过程420在框406处继续,在框406处,用所确定的编码方法来对多媒体数据的正被编码的部分进行编码。框406处的编码方法可包含具有或不具有相邻像素的空间预测的帧内编码。可选择无相邻像素的空间预测的帧内编码,以减小框402处所计算出的失真值。框406处的编码方法可包含使用运动补偿预测的单向或双向预测。可优先选择不同形式的运动补偿预测以减小框402处所估计的失真值。运动补偿预测可包含区块匹配,光流和如上文所论述的计算运动向量的其它方法。应注意,方法420的框中的一些框可被组合、省略、重新布置或其任一组合。

图7是说明可在(例如)图1中所说明的系统中使用的编码器装置110的实例的功能性框图。本方面包含:用于至少部分地基于与隐藏多媒体数据的第一部分(如果第一部分被错误地接收到)有关的一种或一种以上隐藏方法来估计所述第一部分的失真值的装置;以及用于至少部分地基于所估计的失真值来确定所述第一部分的编码方法的装置。本方面的一些实例包含:所述估计装置包括失真值估计器702的情况;以及所述确定装置包括编码方法确定器704的情况。

图8是说明可在(例如)图1中所说明的系统中使用的编码器装置110的实例的功能性框图。本方面包含:用于至少部分地基于与隐藏多媒体数据的第一部分(如果第一部分被错误地接收到)有关的一种或一种以上隐藏方法来估计所述第一部分的失真值的装置;以及用于至少部分地基于所估计的失真值来确定所述第一部分的编码方法的装置。在本方面的一些实例中,所述估计装置包括用于估计失真值的模块802,且确定装置包括用于确定编码方法的模块804。

所属领域的技术人员将了解,可使用多种不同技术和技法中的任一者来表示信息和信号。举例来说,可由电压、电流、电磁波、磁场或粒子、光场或粒子或其任一组合来表示整个以上描述内容中可能参考的数据、指令、命令、信息、信号、位、符号和码片。

技术人员将进一步了解,结合本文所揭示的实例而描述的各种说明性逻辑区块、模块、和算法步骤可实施为电子硬件、固件、计算机软件、中间件、微码或其组合。为了清楚地说明硬件与软件的这种可互换性,上文已经大体上根据各种说明性组件、区块、模块、电路和步骤的功能性描述了各种说明性组件、区块、模块、电路和步骤。将此功能性实施为硬件还是软件取决于特定应用和强加于整个系统的设计限制。熟练的技术人员可针对每一特定应用以不同的方式来实施所描述的功能性,但此些实施决策不应被解释为导致与所揭示方法的范围偏离。

可用以下装置来实施或执行结合本文所揭示的实例而描述的各种说明性逻辑区块、组件、模块和电路:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所述的功能的任一组合。通用处理器可以是微处理器,但在替代方案中,处理器可以是任一常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心或ASIC核心的一个或一个以上微处理器或任何其它此配置。

结合本文所揭示的实例而描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中或在所述两者的组合中实施。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、CD-ROM、光学存储媒体或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和向存储媒体写入信息。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻存在专用集成电路(ASIC)中。ASIC可驻存在无线终端中。在替代方案中,处理器和存储媒体可作为离散组件驻存在无线调制解调器中。

提供对所揭示实例的先前描述是为了使所属领域的技术人员能够制作或使用所揭示的方法和设备。对这些实例的各种修改对所属领域的技术人员来说将是显而易见的,且本文所定义的原理可应用于其它实例,且可添加额外元件。

因此,已经描述了用以对多媒体数据执行高效编码,从而提供有效解码质量和错误隐藏的方法和设备。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号