视频编码中的噪声滤波方法和设备的制作方法

文档序号:6567092阅读:231来源:国知局
专利名称:视频编码中的噪声滤波方法和设备的制作方法
技术领域
本发明涉及视频编码领域;更具体地,本发明涉及根据对系数的 信号功率的估计以及这些估计值与一个或多个阈值的比较来在视频编 码中执行噪声滤波。
背景技术
混合视频编码的传统方法对视频帧本身进行编码,而不参考序列 中的其它帧,或者通过根据序列中已经编码且重构的其它帧来预测视 频帧,而对视频帧进行编码。该处理通常在图像的块级别上进行操作。 在任何一种情况下,编码过程之后重构的帧包含该过程所引入的失真, 可将所述失真建模为噪声。该噪声可作为例如块和边缘振荡伪像 (artifacts)的编码伪像而可见。典型地由视频编码器和解码器使用的 存储在帧存储器中的一些重构帧还用作预测序列中的其它帧的参考, 而其它帧则不是。在前一种情况下,存储在帧存储器中的重构帧的质 量不仅对于其显示是重要的,而且通过其在预测过程中的使用,影响 将该帧用作参考的随后编码的帧的质量。在后一种情况下,对于并未 用作参考的帧,其质量对于显示目的是重要的。因此,在任意一种情 况下,去除编码噪声的过程对于重构视频序列的质量是有益的,并提 高客观编码效率。
多数现代编解码器包括某种滤波以降低所产生的编码噪声的程 度。滤波可工作在编解码器的编码环路之外或之内。对于工作在编码 环路之内的环路滤波器,通常在编码器和在解码器中使用相同可用数 据来执行相同的操作,因而不需要明确地从编码器将该滤波特有的边 信息(side information)发送到解码器。通常使用的噪声滤波方法包 括对重构帧数据的简单的低通滤波,以平滑图像,并降低编码伪像的可视度;以及根据本地图像特征(例如块边缘)来改变其强度的环
路滤波器。
诸如在解码器处对重构(有噪声)帧的低通滤波之类的编码环路 之外的滤波技术通常不足以改善解码的视频序列的整体图像质量。参
见H. C. Reeve and J. S. Lim, "Reduction of Blocking Effects in Image Coding," Opt. Eng., Vol. 23, no, 1, pp.34-37. Jan/Feb. 1984。分别在编码 器和解码器中的编码和解码环路内部执行滤波的环路内滤波器具有极 好的性能。关于更多的信息,参见Wiegand, et al., "Overview of the H.264/AVC Video Coding Standard," IEEE Transactions on Circuits and Systems for Video Technology, on page(s): 560-576, vol. 13, Issue: 7, July 2003。它们通常以试探的方式,根据视频编解码器所用的量化方 法和要滤波的信号的特征,来改变其滤波强度。此外,由于它们工作 在编码环路内,所以它们改善了用于预测的参考帧的质量,因而提高 了编码过程的效率。
存在与试探式工作相反的滤波技术,它们基于使用特定信号模型 的对噪声的信号估计。关于更多的信息,参见A.PapouHs, "Probability, Random Variables, and Stochastic Processes", 3rd edition, New York, McGraw-Hill, 1991。
工作在变换域中的过完备(overcomplete)去噪声技术额外提供 了以下优点确定帧中相同采样位置的多个重构实例(估计值),然后 可组合(例如平均)该多个重构实例以便改善估计质量。参见R. R. Coifman and D. L. Donoho, "Translation Invariant Denoising," in Wavelets and Statistics, Springer Lecture Notes in Statistics 103, pp. 125-150, New York, Springer Verlag。试图从编码噪声中提取信号的现 有去噪声技术的核心在于信号估计器。由于通常并不精确地知道问题 的统计数据,所以必须对未知数据做出一些假设,并选择估计信号的 策略。 一种最常用的策略是针对未知数据的最差可能选择来优化信号 估计,从而产生鲁棒的估计器。关于更多的信息,参见Y. C. EIdar, A. B.-Tal, and A. Nemirovski, "Linear Minimax Regret Estimation of Deterministic Parameters with Bounded Data Uncertainties," IEEE
Transactions on Signal Processing, Vol. 52, No. 8, Aug. 2004。众所周知 的是,在该设计的限制下,由于针对最差情况而优化了性能,所以估 计器趋于太保守。
编码噪声滤波的现有方法的性能受到这些方法的一些固有特征 以及对噪声本质做出的假设的影响。用于减少编码伪像的简单的低通 滤波技术对于处理视频帧中可视信息的多样性无效,并对于这些序列 具有极大变化的性能(没有性能控制)。视频编码中的自适应、环路内 的边界滤波使用试探法,在某种明确意义下并不确保最佳解决方案。 此外,使用信号模型的现有去噪声技术在信号和噪声的本质的非理想 假设下确定估计器,尤其是通过假设信号和噪声是不相关的。对于图 像和视频编码中出现的信号和编码噪声,情况并不是这样的。由于这 些滤波技术与现有问题条件匹配较差,所以这些滤波技术的性能受到 损害。

发明内容
这里公开一种方法和设备,用于对视频帧数据进行编码和/或解码.在一个实施例中,视频编码器包括噪声滤波模块,对变换的帧数据进行操作,并通过估计多个变换系数的每一个的信号功率,将所述每个系数的信号功率与至少一个阈值相比较,并至少部分基于信号功 率与至少一个阈值的比较结果来设置所述每个变换系数的值,来对多个变换系数进行信号估计。


从下面给出的详细说明和本发明多个实施例的附图中,可更完全 地理解本发明,然而,并不应该将本发明局限于特定实施例,而是这 些实施例仅用于解释和理解。
图l是视频编码器的一个实施例的框图。
图2是视频编码过程的一个实施例的流程图。
图3是噪声滤波器模块的一个实施例的框图。
图4是噪声滤波过程的一个实施例的流程图。
图5是噪声滤波过程的另一个实施例的流程图。
图6是噪声滤波过程的另一个实施例的流程图。
图7是估计过程的一个实施例的流程图。
图8是估计过程的另一个实施例的流程图。
图9是视频解码器的一个实施例的框图。
图10是视频解码过程的一个实施例的流程图。
图ll是计算机系统的一个实施例的框图。
具体实施例方式
公开了用于实现视频编码和解码的信号去噪声技术的设备和方 法。在一个实施例中,滤波设备对视频编解码器所产生的重构帧数据 进行操作,并且滤波过程在与帧数据相对应的过完备变换域中进行。 在该变换域中执行从由编码过程引入的噪声中估计信号。在一个实施 例中,该估计过程包括估计与变换系数相对应的信号功率、将所估计 的信号概率与一个或多个阈值相比较、以及根据比较结果来调整变换 系数。因此,估计过程使用所估计的信号功率、噪声功率以及阈值。
在一个实施例中,给定过完备表示,对于被处理的帧中的每个数 据采样位置,该位置的采样对应于多个估计值,因为它们是由估计过 程所产生的。进一步对每个数据釆样的这些初始估计值进行滤波,以 便获得所处理的视频帧中给定位置处的数据采样的最终估计值。这种 滤波可包括平均。
因此,将过完备变换域中的自适应估计用于从编码过程期间引入 的噪声中提取信号。在一个实施例中,用于估计信号功率的噪声滤波 器中的估计器根据与编码过程中的信号和噪声有关的假定来进行工 作。此外,在一个实施例中,信号估计器设计用于实现鲁棒性和性能 之间的平衡,以避免所述有关现有技术中的估计器的缺陷。
与视频帧滤波的有关现有技术相比,该信号去噪声技术的使用实 现了解码视频帧的提高的客观速率-失真性能以及更好的主观(视觉) 质量。
在下面的说明中,给出多个细节,以提供对本发明的更详尽的解 释。然而,对于本领域技术人员而言显而易见的是,可在没有这些具体细节的情况下实现本发明。在其它情况下,以框图形式而不是详细 示出了公知结构和设备,以避免混淆本发明。
下面详细说明的一些部分以计算机存储器内数据比特的运算的算 法和符号表示来给出。这些算法说明和表示是数据处理领域中的技术 人员用于更有效地向本领域技术人员表达其工作实质的手段。这里通 常将算法看作产生所希望的结果的自洽步骤序列。所述步骤是需要对 物理量进行物理操作的步骤。通常,尽管并不必须,这些量具有能够 被存储、传输、组合、比较以及其它操作的电或磁信号的形式。主要 是由于通常使用的原因,有时将这些信号称为比特、值、元素、符号、 字符、项、数字等被证明是方便的。
然而,应该记住,所有这些术语和类似术语都与适当的物理量相 关联,并仅仅是运用于这些量的适当标签而已。除非特别指出,否则 从下面的讨论中显而易见的是,在整个说明书中,使用诸如"处理"或 "计算"或"运算"或"确定"或"显示"等术语的讨论是指计算机系统或类 似电子计算设备的动作和处理,用于将由计算机系统的寄存器和存储 器内的物理(电子)量表示的数据操作并变换为类似地由计算机系统 存储器或寄存器或其它这些信息存储器、传输或显示设备内的物理量 表示的其它数据。
本发明还涉及用于执行这里所述操作的设备。该设备可为所需目 的而特别构成,或者可包括由存储在计算机中的计算机程序选择性地 激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读 存储介质中,计算机可读存储介质是例如但不局限于包括软盘、光盘、CD-ROM和磁光盘的任意类型的盘、只读存储器(ROM)、随机 访问存储器(RAM)、 EPROM、 EEPROM、磁或光卡或者适用于存储 电子指令的任意类型的介质,并且每个均与计算机系统总线相耦合。
这里所示的算法和显示本质上并不与任意特定的计算机或其它设 备相关联。根据这里的教导,可与程序一起使用各种通用系统,或者 构造更加专门化的设备来执行所需方法步骤被证明是方便的。从下面 的说明中可显示各种这样的系统的所需结构。此外,并不参考任意特 定编程语言来描述本发明。可以认识到,可使用各种编程语言来实现 这里所述的本发明的教导。
计算机可读介质包括用于以机器(例如计算机)可读的形式存储 或传输信息的任何机制。例如,机器可读介质包括只读存储器 ("ROM");随机访问存储器("RAM");磁盘存储介质;光存储介质; 闪存设备;电、光、声或其它传播信号形式(例如载波、红外信号、 数字信号等)等等。
视频编码器实施例的概述
在一个实施例中,视频编解码器包括滤波模块,用于处理帧数据 以便减小或消除编码噪声,因此提高编码过程的客观和主观质量。噪 声滤波器采用在由过完备基底中的帧数据表示所构成的域中工作的自 适应估计技术,以从有噪声的帧数据中提取视频信号。这里所述的设 备和方法以与现有技术不同的方式,在帧数据的过完备基底表示中执 行估计和滤波操作,并且与现有技术相比,它们的使用产生了优越的 性能。与现有技术的一些不同包括但不局限于用于从噪声中提取信 号的估计器的结构、该估计器所用的其它变量的估计、以及用于处理 估计器所产生的信号估计值以便确定用于上述的显示或者参考和显示 目的的最终的滤波数据采样的滤波器结构。
与现有技术的方法相比,本发明在这里所述的估计技术和/或滤波 过程的使用产生了提高的数据编码效率(反映为编码过程的更好的速 率-失真概图)以及通过减小或消除编码伪像而改善的解码视频序列的 视觉质量。
图1是视频编码器的一个实施例的框图。参考图1,视频编码器
包括运动估计模块(MEM) 129、运动补偿预测模块(MCPM) 131、 存储器123、变换编码模块(TCM) 114、运动数据处理模块(MDPM) 127、噪声滤波模块(NFM) 125、帧存储器(FS)(例如存储器)126、 以及开关118、 124、 128、 141和142。变换编码器114则包括变换模 块1U、量化模块112以及熵编码模块113。变换编码器114的输入处 的帧数据可包括视频帧或移位帧间差(DFD)帧。DFD帧是在视频编 码器中通过采用视频帧中数据与在MCPM 131的输出处产生的对它的 预测之间的差值而获得的。从接收视频帧101和I帧或内块 (intra-block)(在开关141闭合时)的减法器103输出该差值。MCPM131根据包括存储在帧存储器126中的运动补偿重构视频帧的数据来 产生预测。使用运动估计模块129所产生的运动信息来进行运动补偿。 通过下面将讨论的图1中幵关的配置能够进行该过程。可选地,当视 频编码器(VC)与传统编码器的内编码模式相对应地,直接对视频帧 进行编码而不使用预测时,并不使用MEM129、 MCPM131和MDPM 127。
视频编码器通常依次对划分为块的帧数据进行工作,所述帧数据 包括块中每个位置处的亮度和色度值。
图2是视频编码过程的一个实施例的流程图。由可包括硬件(电 路、专用逻辑电路等)、软件(例如运行在通用计算机系统或专用机器 上的软件)或其组合的处理逻辑来执行该过程。
在图2中,如下面过程所述的,依次读取并处理帧中的块,直到 处理了当前帧中的所有块为止。参考图2,该过程开始于处理逻辑将 用于对当前帧中的块进行索引的索引变量i设置等于1(处理块201)。 接下来,处理逻辑从当前帧中读取块c(i)(处理块202)。
在视频编码器操作的第一阶段,图l所示的开关配置如下。开关 141、 142和128基于所处理的块的类型而打开或闭合(对于内编码的 块是闭合的,对于传统视频过程中的预测块是闭合的)。开关124打开。
处理逻辑还将索引k初始化为等于1,其中索引k是与当前块c(i) 相对应的搜索区域中的位置(处理块203),并且处理逻辑在参考帧中 检索与运动估计搜索区域中的位置k相对应的参考块b(k)(处理块 204)。执行运动估计过程,从而依次搜索帧存储器中的参考帧中的搜 索区域内的候选位置,以识别当前块c(i)的最佳匹配参考块。将匹配 度量的良好程度用于对块c(i)和b(k)之间的差值进行量化。运动估计 过程试图在参考帧的搜索区域中找到块b(k),以便使当前块c(i)与参 考块b(k)之间的差值d(i,k)的度量最小化。该位置由起始于当前块c(i) 并指向参考帧中参考块b(k)的运动矢量mv(i,k)指定。
处理逻辑计算块c(i)和b(k)之间的差值的度量d(i,k),并将其存储 在存储器中(处理块205)。在一个实施例中,例如,通过c(i)和b(k) 的采样之间的绝对差值之和来量化该差值d(i,k)。因此,对于当前块 c(i),通过检索相应参考块b(k)并计算d(i,k)来测试搜索区域内的位置k,并将误差d(i,k)存储在存储器中。
处理逻辑然后使变量k递增1 (处理块206),并测试变量k是否 小于或等于K, K是搜索区域中位置的总数(处理块207)。如果尚未 检查参考帧中与当前块c(i)相对应的所有搜索区域位置(即k〈K),则 处理逻辑跳转到处理块204,并从该块处继续进行处理。如果已经检 查了上述所有搜索区域位置(即k不小于K),则处理逻辑跳转到处理 块208,在处理块208处,处理逻辑找到c(i)和b(k)之间的d(i,k)最小 意义下的最佳匹配b(n)。在一个实施例中,在调査了与当前块c(i)相 对应的参考帧内所有K个搜索区域位置之后,MEM 129的处理逻辑 找到存储器中存储的值d(i,k)阵列中的最小误差dmin,其对应于由运动 矢量mv(i)指定坐标的用b^所表示的特定参考块。
其后,处理逻辑在存储器中存储运动矢量mv(i,n)(处理块209), 决定并存储块c(i)的编码模式m(i),其中,块c(i)的编码模式m(i)是 INTRA或预测(处理块210)。在一个实施例中,MEM129的处理逻 辑通过将在对当前块c(i)的采样进行内编码时当前块c(i)的编码成本与在相对于块bmin预测地对块C(i)进行编码的成本相比较,来确定当前块c(i)的编码模式cmode(i)。如果前一成本更小,则将块c(i)的模式 标记为INTRA;否则,将块标记为预测块。
如果块c(i)的编码模式不是INTRA,则将运动矢量mv(i)存储在存 储器中。还将当前块的模式cmode(i)写入存储器中,并且通过由处理 逻辑使索引变量i递增1 (处理块211),并测试i是否小于N (N是当 前帧中块的总数)(处理块212),过程前进到当前帧中的下一块c(i)。 如果索引i小于N,则处理逻辑跳转到处理块202,并从该块处继续进 行处理。如果不小于,则处理逻辑跳转到处理块213,在处理块213 处,将索引变量i设置为等于1。
一旦如上所述处理了当前帧中的所有块,则启动运动补偿过程。 运动补偿过程开始于处理逻辑从当前帧中读取初始当前块c(i)(处理 块214)。在一个实施例中,依次读取块。处理逻辑测试块c(i)的编码 模式是否等于INTRA(处理块215)。在一个实施例中,通过MCPM 131 中的处理逻辑来执行该过程。如果块c(i)的编码模式等于INTRA,则 处理逻辑跳转到处理块219。如果不等于,则处理逻辑执行以下操作:使用mv(i,n)来执行运动补偿,以便从参考帧中获取块预测b(i)(处理 块216);根据以下公式来计算预测误差e(i):
e(i)- c(i)-p(i)
其中,预测块p(i)由MCPM 131使用块c(i)的存储在存储器中的运动 矢量mv(i)来产生(处理块217);对运动信息进行熵编码(处理块218); 并跳转到处理块219。在一个实施例中,将与当前块相对应的运动矢 量数据发送到MDPM 127,在MDPM127处,对其进行处理(例如相 对于相邻块的运动矢量来进行DPCM编码),并将其发送到熵编码器 模块113处编码。
在处理块219处,处理逻辑对c(i)的编码模式进行熵编码。处理 逻辑然后基于模式m(i)来对数据块c(i)或e(i)进行代码变换(处理块 220),重构当前块(处理块221),并将其写入存储器(例如存储器123) (处理块222)。
针对当前帧中所有的块重复上述过程。为此,处理逻辑使索引i 递增1 (处理块223),并测试索引i是否小于N (N是当前帧中块的 总数)(处理块224)。如果小于,则处理跳转到处理块214,并从该块 继续进行处理。如果不小于,则处理逻辑对存储器(例如存储器123) 中有噪声的帧数据进行滤波(处理块225),并将滤波后的数据写入帧 存储器(例如帧存储器126)中(处理块226)。其后,该过程结束。
在处理了当前帧中所有的块之后,开关124闭合。噪声滤波模块 125如下所述来处理存储在存储器123中的重构的帧数据。噪声滤波 模块125将其处理的数据存储在帧存储器126中。
噪声滤波
图3是噪声滤波模块(例如图1的噪声滤波模块125)的一个实 施例的框图。参考图3,噪声滤波模块包括存储器301、空间掩蔽(mask) 位置产生模块(MPGM) 302、变换模块(TM) 303、估计器模块(EM) 304、存储器305、逆变换模块(ITM) 306、存储器307以及滤波器 模块(FM)308。存储器301向掩蔽位置产生器302提供掩蔽结构310。响应于此,掩蔽位置产生器302给出帧311中的位置,并将这些位置
提供给变换模块303、逆变换306以及滤波器308。变换模块303向解 码后的帧数据312应用变换,以产生在掩蔽位置产生器302所给出的 掩蔽之下的采样的变换系数313。估计器305接收变换系数313,并响 应于此,产生去噪声的变换系数314。将去噪声的变换系数314存储 在存储器305中。随后,逆变换模块306根据掩蔽位置产生器302的 掩蔽,向去噪声的变换系数应用逆变换,以产生在掩蔽之下的去噪声 的采样315。将这些去噪声采样存储在存储器307中。滤波模块308 根据掩蔽位置产生器302的掩蔽,对去噪声采样315执行滤波,以产 生重构的帧采样316。
噪声滤波模块的输入包括存储在存储器模块123中的重构的帧数 据312 (例如解码后的帧数据)。噪声滤波模块向帧存储器126输出滤 波后的帧数据316 (例如重构的帧采样)。由图4、 5和6中所示的流 程图示出了噪声滤波模块进行的操作。
图4是噪声滤波过程的实施例的流程图。由可包括硬件(电路、 专用逻辑等)、软件(例如运行在通用计算机系统或专用机器上的软件) 或其组合的处理逻辑来执行该过程。在一个实施例中,处理逻辑是图 3的噪声滤波器模块的估计器304的一部分。
噪声滤波器模块所执行的过程开始于从存储器(例如存储器123) 中检索其中存储的重构的帧数据。使用重构的帧数据,处理逻辑计算 一组变量V (处理块401)。将在估计过程中进一步使用该组辅助变量 V。根据编解码器所使用的量化方法,估计器计算编码过程所引入的 量化噪声的度量。为此,由q表示编码过程中使用的量化步骤。在一 个实施例中,处理逻辑计算辅助变量<formula>complex formula see original document page 14</formula>其中oc是常数, 一表示噪声功率的估计。估计器中的处理逻辑还根据 编码器中使用的编码范围的特性,确定变量b的值。在这种情况下,b 被计算为6=^2,其中"是常数。在另一个实施例中,处理逻辑如下 计算附加的辅助变量<formula>complex formula see original document page 15</formula>其中A是可选常数。
在另一个实施例中,处理逻辑计算下面的辅助变量 ^ = //v2 — (// — 1)6
<formula>complex formula see original document page 15</formula>
其中A是可选常数。
处理逻辑然后设置具有支持区域R的掩蔽S(处理块402)。例如, 可使掩蔽大小(支持区域R)等于编码过程所使用的块的大小。
其后,处理逻辑将(i,j)初始化为帧中块的位置(处理块403)。从 存储器(例如存储器123)中的当前被滤波的帧中选择位于视频编解码器通常用于编码/解码帧的块隔栅上的块位置(i,j)。
处理逻辑还将(m,n)初始化为围绕(i,j)以及包含(i,j)的位置(处理块 404)。位置(m,n)表示掩蔽S相对于(i,j)偏移的位置。处理逻辑然后将 掩蔽S移动到帧中位置(m,n)(处理块405)。
处理逻辑对在掩蔽S之下的采样运用变换T (例如离散余弦变换 (DCT))(处理块406),并使用估计器中的处理逻辑来对变换的系数 去噪声(处理块407)。这里由s(k) (k-l...N)表示与由掩蔽S的当前 位置所覆盖的数据采样相对应的N个变换系数。由估计器模块中的处 理逻辑来处理所产生的变换系数。在图7和8的流程图中示出了该操 作的不同实施例,下面将更详细地进行描述。
在图7的流程图中,估计器模块中的处理逻辑取得变换系数s(k) 并通过计算值/W来估计信号功率。处理逻辑然后将信号功率与阈值 相比较,并如下确定与系数s(k)相对应的估计值a(k): <formula>complex formula see original document page 16</formula>
估计器中的处理逻辑然后根据下式来确定处理后的变换系数
p(k)-
<formula>complex formula see original document page 16</formula>
在可选实施例中,使用图8的流程图中所示的过程,估计器中的
处理逻辑使用上文先前定义的辅助变量V,并如下针对每个系数S(k)
计算估计器的值<formula>complex formula see original document page 16</formula>a(k)=1
估计器中的处理逻辑然后如下确定处理后的变换系数p(k):
p(k)=a(k)s(k)
在可选实施例中,同样使用图8的流程图所示的过程,针对每个 系数S(k),估计器中的处理逻辑如下计算处理后的系数p(k)的值:-ifs2(k)<=b
P(k) = 0; else if b< /(/t) <=,'
else
P(k)-s(k)。
下面将更详细地描述图8。
处理逻辑将系数p(k)存储在存储器(例如存储器305)中,不论 使用了图7还是图8的过程。如果尚未处理所有的系数,则重复上述 过程。
接下来,处理逻辑向在掩蔽S之下的处理后的变换系数p(k)运用 逆变换T"(例如逆DCT变换)(处理块408),产生与帧中的掩蔽S 的当前位置(m,n)相对应的采样r(k)。处理逻辑将这些在掩蔽S之下的 处理后的采样存储在存储器(例如存储器307)中(处理块409)。
处理逻辑然后将(m,n)设置为下一个位置(处理块410),并测试是 否检査了支持区域R中的所有位置(m,n)(处理块411)。如果尚未处 理块位置(i,j)周围的掩蔽S的所有位置,则处理跳转到处理块405,选 择掩蔽S相对于(i,j)的下一个偏移位置(m,n),并重复上述过程。
如果处理了块位置(i,j)周围掩蔽S的所有位置,则处理块跳转到 处理块412,在处理块412处,处理逻辑在帧的块隔栅上选择下一个
块位置(i,j),测试是否处理了帧中要处理的所有块位置(i,j)(处理块 413)。如果否,则处理逻辑跳转到处理块404,过程从处理块404处 继续。如果是,则处理跳转到处理块414。按照这种方式,重复上述 过程,直到检查了所有块位置(U)为止。
在处理块414处,处理逻辑使用滤波器(例如滤波器308),对与 帧中每个采样位置相对应的重构版本进行滤波(处理块414),并将所 产生的被处理的当前帧的滤波后数据采样f(x,y)写入帧存储器(例如 帧存储器126)中(处理块415)。在一个实施例中,处理逻辑对存储 在存储器(例如存储器307)中的与当前帧中每个采样相对应的处理 后采样进行滤波。在一个实施例中,由噪声滤波模块125的滤波器308 执行该滤波。因此,对于噪声滤波模块125处理的当前帧中的每个位 置(x,y),存在由估计器304存储在存储器307中的多个经处理并重构 的采样,Oc,力,其中l-l...L对帧中块隔栅位置周围的掩蔽S可占据的位 置进行索引,并且在每个这种位置处,掩蔽S的支持区域R均包含采 样位置(x,y)。在一个实施例中,滤波器对与帧位置(x,y)相对应的输入 数据/(x,力执行加权平均运算<formula>complex formula see original document page 18</formula>
其中w,是基于估计器中的处理逻辑所产生的统计数据而选择的权 重。在一个实施例中,选择所有权重均相等,w,丄,并对应于平均运
算。在可选实施例中,选择权重与在掩蔽s的位置1处应用估计器之
后产生的零值处理后系数P(k)的个数成比例。
然后该过程结束。
图5是噪声滤波模块所执行的噪声滤波过程的可选实施例的流程 图。由可包括硬件(电路、专用逻辑等)、软件(例如运行在通用计算 机系统或专用机器上的软件)或其组合的处理逻辑来执行该过程。在 一个实施例中,处理逻辑是图3的噪声滤波模块的估计器304的一部分。
参考图5,该过程开始于处理逻辑产生具有支持区域R的掩蔽S (处理块501)。例如,可使掩蔽大小(支持区域R)等于编码过程中
使用的块的大小。
处理逻辑计算一组变量V(k)(处理块502)。由于向在掩蔽S之下 的采样应用了变换(例如DCT)(在处理块303处),所以可按照惯例针对这种变换排列变换系数。该排列由k表示。在本实施例中,变量 V(k)基于在掩蔽S之下产生的变换系数的排列k。在估计过程中将进一 步使用这组辅助变量V(k)。基于编解码器所使用的量化方法,处理逻辑计算由编码过程所引入的量化噪声的度量。为此,由q表示在编码 过程中使用的量化步骤。在这种情况下,处理逻辑计算变量
v2(k)=a(k)q2/4
其中,可根据诸如掩蔽S内系数s(k)的排列k之类的各种因素来改变a,在这种情况下a=a(k)。例如,系数排序越高,a越大。如果v是k 的函数,则6也成为系数排列k的函数,b(k)=βv2(k)。在另一个实施例 中,处理逻辑基于在掩蔽S之下(S内的位置)的变换系数的排列k,如下计算附加辅助变量
t1(k)=uv2(k)-(u-1)b(k)x1(k)=√b(k)x2(k)=√t1(k)z1(k)=1/x2(k)-x1(k)z2(k)=x1(k)z1(k)
其中u是可选常数。
可选地,在另一个实施例中,处理逻辑计算下面的辅助变量:
t1(k)=u(k)-(u-1)b(k)x1(k)=√b(k)x2(k)=√t1(k)y2(k)=u/u+1 x2(k)h1(k)=y2(k)/x2(k)-x1(k)<formula>complex formula see original document page 20</formula>
其中^是可选常数。
处理逻辑然后将(i,j)初始化为帧中块的位置(处理块503)。在一 个实施例中,从存储器(例如存储器123)中的当前被滤波的帧中选 择位于视频编解码器通常用于编码/解码帧的块隔栅上的块位置(i,j)。
处理逻辑还将(m,n)初始化为围绕(i,j)以及包含(i,j)的位置(处理块 504)。位置(m,n)是掩蔽S相对于(i,j)偏移的位置。处理逻辑将掩蔽S 移动到帧中的位置(m,n)(处理块505)。
处理逻辑对在掩蔽S之下的采样运用变换T (例如DCT)(处理 块506),并对变换系数去噪声(处理块507)。这里由s(k) (k-l...N) 表示与由掩蔽S的当前位置所覆盖的数据采样相对应的N个变换系 数。由估计器模块中的处理逻辑来处理所产生的变换系数。在图7和 8的流程图中示出了该操作的不同实施例,下面将更详细地进行描述。
在图7的流程图中,估计器模块中的处理逻辑取得变换系数s(k) 并通过计算值/W来估计信号功率。处理逻辑然后将信号功率与阈值 相比较,并如下确定系数s(k)的估计器值
<formula>complex formula see original document page 20</formula>
估计器中的处理逻辑然后根据下式来确定处理后的变换系数
p(k):
<formula>complex formula see original document page 20</formula>
在可选实施例中,使用图8的流程图中所示的过程,估计器中的 处理逻辑使用辅助变量,并如下针对每个系数S(k)计算估计器的值 if s2(k)<=b(k)
a(k) = 0;
else if b(k)<s2(k)<= t1(k)
else
a(k) = 1 。
估计器中的处理逻辑然后如下确定处理后的变换系数p(k):
p(k)= a(k)s(k)
在可选实施例中,同样使用图8的流程图所示的过程,针对每个 系数S(k),估计器中的处理逻辑如下计算处理后的系数p(k)的值
ifs2(k) <=b(k)
P(k) = 0;
else ifb(k)<s2(k)<=t1(k)
p(k)=h1(k)s(k)-h2(k)
else
P(k)=S(k)。
下面将更详细地描述图8。
处理逻辑存储系数p(k)(例如在存储器305)中,不论使用了图7还是图8的过程。如果尚未处理所有的系数,则重复上述过程。
在去噪声之后,处理逻辑向在掩蔽S之下的变换系数运用逆变换T"(例如逆DCT)(处理块508),产生与帧中的掩蔽S的当前位置(m,n) 相对应的采样r(k),并将在掩蔽S之下的重构的采样存储在存储器(例 如存储器307)中(处理块509)。
处理逻辑然后将(m,n)设置为下一个位置(处理块510),并测试是 否检査了支持区域R中的所有位置(m,n)(处理块511)。如果尚未处 理块位置(i,j)周围的掩蔽S的所有位置,则处理跳转到处理块505,选 择掩蔽S相对于(i,j)的下一个位置(m,n),并重复上述过程。
如果处理了块位置(i,j)周围掩蔽S的所有位置,则处理块跳转到 处理块512,在处理块512处,处理逻辑在帧的块隔栅上选择下一个 块位置(i,j),测试是否处理了帧中被处理的所有块位置(i,j)(处理块 513)。如果否,则处理逻辑跳转到处理块504,过程从处理块504处 继续。如果是,则处理跳转到处理块514。按照这种方式,重复上述 过程,直到检査了所有块位置(i,j)为止。
在处理块514处,处理逻辑使用滤波器,对与帧中每个采样位置 相对应的重构版本进行滤波(处理块514)。在一个实施例中,所使用 的滤波器是滤波器308。因此,对于噪声滤波模块125处理的当前帧 中的每个位置(x,y),存在由估计器存储在存储器307中的多个被处理 并重构的采样/(;c,力,其中卜1…L对帧中块隔栅位置周围的掩蔽S可占 据的位置进行索引,并且在每个这种位置处,掩蔽的支持区域R均包 含采样位置(x,y)。在一个实施例中,滤波器308对与帧位置(x,y)相对 应的其输入数据/Oc,力执行加权平均运算
<formula>complex formula see original document page 22</formula>
其中w,是基于估计器所产生的统计数据而选择的权重。在一个实 施例中,选择所有权重均相等,w,-丄。在可选实施例中,选择权重从而与在掩蔽S的位置1处应用估计器之后产生的零值处理后系数p(k) 的个数成比例。
处理逻辑将所产生的被处理的当前帧的滤波后数据采样f(x,y)写入帧存储器(例如帧存储器126)中(处理块515)。
然后该过程结束。
图6是噪声滤波模块所执行的噪声滤波过程的另一个可选实施例 的流程图。由可包括硬件(电路、专用逻辑等)、软件(例如运行在通 用计算机系统或专用机器上的软件)或其组合的处理逻辑来执行该过 程。
参考图6,该过程开始于处理逻辑产生具有支持区域R的掩蔽S (处理块601)。在一个实施例中,可使掩蔽大小(支持区域R)等于 编码过程中使用的块的大小。
处理逻辑然后使(i,j)初始化为帧中的块位置(处理块602)。在一 个实施例中,从存储器(例如存储器123)中的当前被滤波的帧中选 择位于视频编解码器通常用于编码/解码帧的块隔栅上的块位置(i,j)。
处理逻辑还将(m,n)初始化为围绕(i,j)以及包含(i,j)的位置(处理块 603)。位置(m,n)是掩蔽S相对于(i,j)偏移的位置。处理逻辑将掩蔽S 移动到帧中位置(m,n)(处理块604)。
估计器中的处理逻辑计算不仅基于在当前掩蔽位置处由303所产 生的变换系数的排列k(处理块605)、而且基于帧中掩蔽S的位置(m,n)
的一组变量V(m,n,k)。在估计过程中将进一步使用这组辅助变量。基 于编解码器所使用的量化方法,处理逻辑计算编码过程所引入的量化
噪声的度量。为此,由q表示编码过程中使用的量化步骤。在这种情 况下,处理逻辑计算变量<formula>complex formula see original document page 23</formula>
其中,可根据诸如掩蔽S内系数s(k)的排列k以及(i,j)周围掩蔽S的位 置(m,n)之类的各种因素来改变a,在这种情况下a-"(^,Aa卩。例如, 系数的排序越高,"越大。如果v是(m,n,k)的函数,则6也成为系数排
歹U m、 n、 k的函数, 在另一个实施例中,处理逻
辑基于映射到掩蔽S (S内的位置)的变换系数的排列m、 n、 k,如下 计算附加辅助变量
<formula>complex formula see original document page 23</formula>
<formula>complex formula see original document page 24</formula>
<formula>complex formula see original document page 24</formula>
<formula>complex formula see original document page 24</formula>
<formula>complex formula see original document page 24</formula>
其中u是可选常数。
可选地,在另一个实施例中,处理逻辑计算下面的辅助变量
<formula>complex formula see original document page 24</formula>
<formula>complex formula see original document page 24</formula>
<formula>complex formula see original document page 24</formula>
<formula>complex formula see original document page 24</formula>
<formula>complex formula see original document page 24</formula>
<formula>complex formula see original document page 24</formula>
其中A是可选常数。
处理逻辑对在掩蔽S之下的采样运用变换T (例如DCT)(处理 块606),并使用估计器中的处理逻辑对变换系数去噪声(处理块607)。 这里由s(m,n,k) (k=l...N)表示与由掩蔽S的当前位置所覆盖的数据采 样相对应的N个变换系数。由估计器模块中的处理逻辑来处理所产生 的变换系数。在图7和8的流程图中示出了该操作的不同实施例,下 面将更详细地进行描述。
在图7的流程图中,估计器模块中的处理逻辑取得变换系数s(m,n,k) 并通过计算值? ,w,;U来估计信号功率。处理逻辑然后将信号功率与 阈值相比较,并如下确定系数s(m,n,k)的估计器值
if S2(m,w,A:)≤=b (m,n,k:) a(m,n,k) = 0;
else
<formula>complex formula see original document page 25</formula>
估计器中的处理逻辑然后根据下式来确定处理后的变换系数p(m,n,k):
p(m, n,k)=a(m,n,k)s(m,n,k)
在可选实施例中,使用图8的流程图中所示的过程,估计器中的 处理逻辑使用辅助变量,并如下针对每个系数s(m,n,k)计算估计器的 值
if s2(m,nk)<=b(m,n,k)a(m,n,k)=oelase if b(m,n,k)<s2(m,n,k)<=t1(m,n,k)a(m,n,k)=z1(m,n,k)s(m,n,k)-z2(m,n,k)else a(m,n,k)=1
估计器中的处理逻辑然后如下确定处理后的变换系数p(m,n,k):
<formula>complex formula see original document page 26</formula>
在可选实施例中,同样使用图8的流程图所示的过程,针对每个 系数s(m.n,k),估计器中的处理逻辑如下计算处理后的系数p(m,n,k)的 值
if <formula>complex formula see original document page 26</formula>
p(m,n,k) = 0;
else if <formula>complex formula see original document page 26</formula>
<formula>complex formula see original document page 26</formula>
else
p(m,n,k) = s(m,n,k)。
下面将更详细地描述图8。
处理逻辑将系数p(k)存储在存储器(例如存储器305)中,不论 使用了图7还是图8的过程。如果尚未处理所有的系数,则重复上述 过程。
接下来,处理逻辑向在掩蔽S之下的变换系数运用逆变换T'1 (处 理块608),产生与帧中的掩蔽S的当前位置(m,n)相对应的采样 r(m,n,k)。处理逻辑将这些在掩蔽S之下的重构采样存储在存储器(例 如存储器307)中(处理块609)。
处理逻辑然后将(m,n)设置为下一个位置(处理块610),并测试是 否检查了支持区域R中的所有位置(m,n)(处理块611)。如果尚未处 理块位置(i,j)周围的掩蔽S的所有位置,则处理跳转到处理块605,选 择掩蔽S相对于(i,j)的下一个位置(m,n),并重复上述过程。
如果处理了块位置(i,j)周围掩蔽S的所有位置,则处理块跳转到处理块612,在处理块612处,处理逻辑在帧的块隔栅上选择下一个 块位置(i,j),测试是否处理了帧中被处理的所有块位置(i,j)(处理块 613)。如果否,则处理逻辑跳转到处理块604,过程从处理块604处 继续。如果是,则处理跳转到处理块614。按照这种方式,重复上述 过程,直到检査了所有块位置(i,j)为止。
在处理块614处,处理逻辑使用滤波器(例如滤波器308),对与 帧中每个采样位置相对应的重构版本进行滤波(处理块614),并将所 产生的被处理的当前帧的滤波后数据采样f(x,y)写入帧存储器(例如 帧存储器126)中(处理块615)。在一个实施例中,处理逻辑对在存 储器(例如存储器307)中存储的与当前帧中每个采样相对应的估计 采样进行滤波。在一个实施例中,该滤波由噪声滤波模块125的滤波 器308执行。因此,对于噪声滤波模块125处理的当前帧中的每个位 置(x,y),存在由估计器304存储在存储器中的多个被处理并重构的采 样,V,力,其中l-l..丄对帧中块隔栅位置周围的掩蔽S可占据的位置进 行索引,并且在每个这种位置处,掩蔽的支持区域R均包含采样位置 (x,y)。在一个实施例中,滤波器对与帧位置(x,y)相对应的其输入数据 /Oc,力执行加权平均运算<formula>complex formula see original document page 27</formula>
其中wi是基于估计器中的处理逻辑所产生的统计数据而选择的权重。 在一个实施例中,选择所有权重均相等,wi=1/L丄。在可选实施例中,
选择权重与在掩蔽S的位置i处应用估计器之后产生的零值处理后系 数p(k)的个数成比例。
然后该过程结束。
估计过程的示例
图7是估计过程的一个实施例的流程图。由可包括硬件(电路、 专用逻辑等)、软件(例如运行在通用计算机系统或专用机器上的软件) 或其组合的处理逻辑来执行该过程。
参考图7,该过程开始于处理逻辑取得变换系数(处理块701)并估计变换系数的信号功率(处理块702)。在一个实施例中,通过取变 换系数的平方来估计信号功率。
处理逻辑然后测试信号概率是否小于阈值(处理块703)。在上文 第52段中已经描述了阈值的一个实施例。如果是,则处理逻辑将系数 设置为0 (处理块704),并且处理跳转到处理块706,在处理块706 处,存储系数。如果否,则处理逻辑根据信号功率、噪声功率和阈值, 通过执行上述逻辑过程,来调整系数值(处理块705),并且处理跳转 到处理块706,在处理块706处存储系数。
在存储系数之后,处理逻辑测试是否处理了所有系数(处理块 707)。如果否,则处理逻辑跳转到处理块701,并且从该点开始继续 进行处理。如果是,则该过程结束。
图8是估计过程的可选实施例的流程图。由可包括硬件(电路、 专用逻辑等)、软件(例如运行在通用计算机系统或专用机器上的软件) 或其组合的处理逻辑来执行该过程。
参考图8,该过程开始于处理逻辑取得变换系数(处理块801)并 估计变换系数的信号功率(处理块802)。在一个实施例中,通过取变 换系数的平方来估计信号功率。处理逻辑然后测试信号功率是否小于 阈值(处理块803)。在上文第71段中描述了阈值的一个实施例。如 果是,则处理逻辑将系数设置为0 (处理块804),并且处理跳转到处 理块806,在处理块806处,存储系数。如果否,则处理逻辑测试信 号功率是否小于第二阈值(处理块805)。在上文第93段中描述该阈 值的实施例。如果是,则处理逻辑根据信号功率、噪声功率和阈值, 通过执行上述逻辑过程,来调整系数值(处理块806),并且处理跳转 到处理块808,在处理块808处存储系数。如果否,则处理逻辑保持 系数不变(处理块807),并跳转到处理块808,在处理块808处,存 储系数。
在存储系数之后,处理逻辑测试是否处理了所有系数(处理块 809)。如果否,则处理逻辑跳转到处理块701,并且从该点开始继续 进行处理。如果是,则该过程结束。
视频解码器的示例
图9是视频解码器(VD)的一个实施例的框图。参考图9,视频
解码器包括变换解码器913、加法器904、存储器模块905、运动补偿 和预测模块(MCPM) 907、运动数据处理模块(MDPM) 908、帧存 储器909、噪声滤波模块(NFM) 906、以及开关941-943。在一个实 施例中,变换解码器913包括熵解码器901、逆量化器902、以及逆变 换模块903。
视频解码器根据下面结合10的流程图所规定的过程来重构视频 帧数据。开关942和943与传统编码过程的操作类似地,根据解码块 的类型(内编码或预测)而打开或闭合。
图1O是视频解码过程的一个实施例的流程图。由可包括硬件(电 路、专用逻辑等)、软件(例如运行在通用计算机系统或专用机器上的 软件)或其组合的处理逻辑来执行该过程。
参考图10,该过程开始于处理逻辑将索引变量i初始化等于1 (处 理块1001)。
处理逻辑然后对被解码的视频帧中的当前块c(i)的编码模式进行 解码(处理块1002),并测试块c(i)的编码模式是否等于INTRA (处 理块1003)。如果是,则处理逻辑根据传统过程对当前块c(i)进行内解 码(处理块1004),并跳转到处理块1009。如果否,则处理逻辑使用 变换解码器913,对当前块c(i)的块预测误差e(i)进行解码(处理块 1005),使用变换解码器913和MDPM 908对当前块c(i)的运动矢量 mv(i)进行解码(处理块1006),使用mv(i)和帧存储器中的参考帧来对 当前块c(i)进行运动补偿,以确定块预测值u(i)(处理块1007)。在一 个实施例中,解码的运动矢量mv(i)由MCPM 908用于从存储在帧存 储器909中的参考帧中获取参考块(预测值)u(i)。
接下来,处理逻辑根据下面的方程来重构当前块(处理块1008):
rc(i)=u(i)+e(i)
换言之,通过将预测误差e(i)与预测值采样u(i)相加来重构当前块rc(i)。
其后,处理逻辑将重构的数据写入存储器(例如存储器905)中 (处理块1009)。即,将与重构的块rc(i)相对应的数据写入存储器。 处理逻辑然后通过使i递增1,移动到被解码的当前帧中的下一个块位置(处理块1010)。
处理逻辑然后测试索引变量i是否小于作为被处理的当前帧中块数目的N (处理块1011)。如果是,则处理逻辑跳转到处理块1002, 处理从该点处继续进行。按照这种方式,针对解码的当前帧中的所有 块,重复上述过程。如果否,则开关941闭合,并且处理逻辑使用噪 声滤波模块(例如噪声滤波模块906),对存储器(例如存储器905) 中的帧数据进行滤波(处理块1012)。在一个实施例中,由环路滤波 模块读取存储在存储器模块905中的解码的帧数据,环路滤波模块执 行与针对视频编码器中的环路滤波模块125所述的过程相同的过程。 然后,处理逻辑将滤波后的数据写入帧存储器(例如帧存储器909) (处理块1013)。
其后,该过程结束。
因此,这里所述的方法和设备用于确定视频帧数据滤波,与现有 技术方案相比,所述视频帧数据滤波产生极好的客观和主观(图像质 量)性能。
示例的计算机系统
图11是可执行这里所述的一个或多个操作的示范性计算机系统 的框图。参考图11,计算机系统1100可包括示范性的客户端或服务 器计算机系统。计算机系统iioo包括用于传送信息的通信机制或总线 1111、以及用于处理信息的与总线1111相连的处理器1112。处理器 1112包括微处理器,但是并不局限于微处理器,例如可以是PentiumTM、 PowerPC 、 Alpha 等。
系统1100还包括用于存储要由处理器1112执行的指令和信息的 与总线1111耦合的随机访问存储器(RAM)或其它动态存储设备1104 (称为主存储器)。主存储器1104还可以用于在处理器1112执行指令 期间存储暂时变量或其它中间信息。
计算机系统1100还可包括用于存储处理器1112的静态信息和指 令的与总线1111耦合的只读存储器(ROM)和/或其它静态存储设备 1106、以及数据存储设备1107,例如磁盘或光盘及其相应的盘驱动器。 数据存储设备1107与总线1111耦合,用于存储信息和指令。
计算机系统1100还可与诸如阴极射线管(CRT)或液晶显示器
(LCD)之类的显示设备1121耦合,并与总线llll耦合,以便向计 算机用户显示信息。包括字母数字和其它键的字母输入设备1122也可 与总线llll耦合,用于向处理器1112传送信息和命令选择。附加的 用户输入设备是光标控制器1123,例如鼠标、轨迹球、触摸板、手写 笔或光标方向键,与总线llll耦合,以便向处理器1112传送方向信 息和命令选择,并用于控制显示器1121上的光标运动。
可与总线1111耦合的另一设备是硬拷贝设备1124,硬拷贝设备 1124可用于在诸如纸、膜或类似介质上标记信息。可与总线1111耦 合的另一设备是有线/无线通信工具1125,用于与电话或手持掌上设备 进行通信。
注意,可在本发明中使用系统1100的任意或所有组件以及有关硬 件。然而,可以认识到,计算机系统的其它配置可包括这些设备中的 一些或所有。
无庸置疑,本发明的多个替换和修改对于本领域技术人员而言, 在阅读了上述说明之后是显而易见的,因此要理解,作为示例示出并 描述的任何特定实施例绝不意味着限制。因此,对各个实施例的细节 的参考并不意欲限制权利要求的范围,权利要求本身仅叙述了对于本 发明必要的特征。
本申请要求2005年5月20日递交的题为"Method and Apparatus For Noise Filtering in Video Coding"的相应临时专禾U申请 No.60/683,240的优先权,将其内容通过引用结合于此。
权利要求
1.一种用于对视频帧中的数据进行编码的视频编码器,所述视频编码器包括噪声滤波模块,用于对变换后的帧数据进行操作,并通过下面的步骤来对多个变换系数进行信号估计估计多个变换系数的每一个的信号功率,将所述每个系数的信号功率与至少一个阈值相比较,以及至少部分地根据信号功率与至少一个阈值的比较结果来设置所述每个变换系数的值。
2. —种方法,包括以下步骤 估计多个变换系数的每一个的信号功率,将所述每个系数的信号功率与至少一个阈值相比较,以及 至少部分地根据信号功率与至少一个阈值的比较结果来设置所述 每个变换系数的值。
3. —种制品,具有其中存储有指令的一个或多个计算机可读介质, 在系统执行指令时,所述指令使系统执行包括以下步骤的方法估计多个变换系数的每一个的信号功率,将所述每个系数的信号功率与至少一个阚值相比较,以及 至少部分地根据信号功率与至少一个阈值的比较结果来设置所述 每个变换系数的值。
4. 一种对视频帧数据去噪声的方法,包括以下步骤 从存储器中取得帧数据;对在掩蔽之下的帧中的采样应用变换,以创建变换系数; 对变换系数去噪声;对去噪声后的变换系数应用逆变换;以及对与帧中位置相对应的去噪声后的帧采样进行滤波,以获得该位 置处的滤波后的数据采样。
5. —种制品,具有其中存储有指令的一个或多个计算机可读介质, 在系统执行指令时,所述指令使系统执行对视频帧数据去噪声的方法,所述方法包括以下步骤从存储器中取得帧数据; 对帧中的釆样应用变换,以创建变换系数; 对变换系数去噪声;对去噪声后的变换系数应用逆变换;以及对与帧中位置相对应的去噪声后的帧采样进行滤波,以获得该位 置处的滤波后的数据采样。
6. —种噪声滤波模块,包括.-变换模块,用于将帧空间数据变换到适用于信号处理的另一个域; 估计器模块,用于通过估计信号功率、将所估计的信号功率与一 个或多个阈值相比较、以及根据比较结果以及噪声功率和阈值的值来 调整变换系数,来产生与帧数据相对应的变换系数的去噪声后的估计 值;逆变换模块,用于向去噪声后的变换系数应用逆变换,并使掩蔽 下的数据回到其原始域;滤波模块,用于通过将估计器的处理所产生的帧数据的估计值组 合,来获得每个帧位置处的滤波后的采样。
7. —种估计器模块,包括 估计信号功率的装置;将所估计的信号功率与一个或多个阈值相比较的装置;以及 根据信号变换系数值与一个或多个阈值的比较结果并且基于所估计的信号功率、噪声功率以及一个或多个阈值的值,来调整信号变换系数值的装置。
8. —种用于对视频帧中的数据进行解码的视频解码器,所述视频 解码器包括噪声滤波模块,用于对变换后的帧数据进行操作,并通过以下步 骤对多个变换系数执行信号估计估计所述多个变换系数中的每个的信号功率, 将所述每个系数的信号功率与至少一个阈值相比较,以及 至少部分地根据信号功率与至少一个阈值的比较结果来设置所述每个变换系数的值。
9. 一种解码方法,包括对帧数据块的预测误差进行解码; 对与所述块相关联的运动矢量进行解码;使用运动矢量和参考帧,对所述块执行运动补偿,以确定块预测值;使用块预测值和预测误差,重构所述块;以及通过从帧数据中产生多个变换系数、响应于变换系数而将变换系 数的信号功率估计值与一个或多个阈值相比较以产生去噪声后的变换 系数、以及对去噪声后的采样进行滤波以创建重构的帧采样,来对重 构的块采样进行滤波。
10. —种制品,具有其中存储有指令的一个或多个计算机可读介 质,在系统执行指令时,所述指令使系统执行解码方法,所述解码方 法包括以下步骤对帧数据块的预测误差进行解码;对与所述块相关联的运动矢量进行解码;使用运动矢量和参考帧,对所述块执行运动补偿,以确定块预测值;使用块预测值和预测误差,重构所述块;以及通过从帧数据中产生多个变换系数、响应于变换系数而将变换系 数的信号功率估计值与一个或多个阈值相比较以产生去噪声后的变换 系数、以及对去噪声后的采样进行滤波以创建重构的帧采样,来对重 构的块采样进行滤波。
全文摘要
这里公开一种方法和设备,用于对视频帧数据进行编码和/或解码。在一个实施例中,视频编码器包括噪声滤波模块,对变换后的帧数据进行操作,并通过估计多个变换系数的每一个的信号功率,将所述每个系数的信号功率与至少一个阈值相比较,并至少部分基于信号功率与至少一个阈值的比较结果来设置所述每个变换系数的值,来对多个变换系数进行信号估计。
文档编号G06T5/00GK101203882SQ200680012737
公开日2008年6月18日 申请日期2006年5月19日 优先权日2005年5月20日
发明者丹·莱列斯库, 弗兰克·博森 申请人:株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1