通用块效应校正的制作方法

文档序号:7940709阅读:173来源:国知局

专利名称::通用块效应校正的制作方法
技术领域
:本发明大体上涉及图像处理领域,且更具体地说,涉及用于以较低的百万条指令/秒(MIPs)来通用地校正块效应的技术。
背景技术
:块效应是由基于块的视频和图像编码引入的最为显著的假象之一。出现块效应的原因是基于块的编码使用块(例如,8X8或4X4)作为用于变换、量化和纹理编码的基本单元,且块间相关在此编码期间丢失。当以极低位速率(高量化步长qp)来编码视频/图像内容时,所述问题尤为严重。对于帧内宏块(MB)来说,仅在块边界周围可见成块假象。然而对于帧间MB来说,运动补偿可在块内部产生假象。来自参考帧的成块假象被称作“继承块效应”,因为所述块效应是从先前帧继承的。继承块效应可在任何位置处可见且具有任何长度。存在两种类型的做法以解决继承块效应问题。第一种做法为对所有像素利用长分接头滤波以便消除假象,因为继承块效应可能在任何地方出现。第一种做法使用运动图像专家组(MPEG)-4标准中所定义的DC偏移模式,其中对块边缘周围的所有八个相邻像素应用9分接头滤波。第二种做法是跟踪块效应的移动轨迹且对移动的假象应用DB。已证实第二种做法是去除继承块效应的有效工具,用于对30个帧/秒(fps)VGA图像进行去块的MIPs要求对于移动或无线应用来说过高。已知使用H.264硬件去块器(DB)作为MPEG-4和无线媒体视频9系列(WMV9)的回路后去块器。然而在过去,回路后去块器仅对8X8块周围的像素进行滤波,所以仍存在继承块效应。此外,针对被跳过的MB和经编码块模式(CBP)O块的滤波强度不够强。标准实践始终将帧间MB的BS设置为二或更小(除非相邻MB是帧内MB)。因此需要以较低的百万条指令/秒(MIPs)来通用地校正包含继承块效应在内的块效应的技术。
发明内容本文中描述以较低的百万条指令/秒(MIPs)来通用地校正块效应的技术。在一种配置中,提供一种装置,其包括处理器,所述处理器操作以实施一组指令,以征用回路中去块滤波引擎且使用所述回路中去块滤波引擎在回路后滤波操作期间通用地校正经解码输出信号中的块效应。所述装置还包含存储器,其耦合到所述处理器。在另一方面中,提供一种集成电路,其包括解码器,所述解码器具有回路中去块滤波引擎。所述集成电路还包含处理器,其操作以实施一组指令,以征用所述回路中去块滤波引擎且使用所述回路中去块滤波引擎在回路后滤波操作期间通用地校正经解码输出信号中的块效应。所述集成电路进一步包含存储器,其耦合到所述处理器。在又一方面中,提供一种计算机程序产品,其包含计算机可读媒体,所述计算机可读媒体具有用于致使计算机征用回路中去块滤波引擎的指令。所述指令进一步致使所述计算机使用所述回路中去块滤波引擎在回路后滤波操作期间通用地校正经解码输出信号中的块效应。额外方面将从详细描述内容中变得更显而易见,尤其是在结合附图考虑时。当结合图式考虑时,本发明的方面和配置将从下文所陈述的详细描述内容中变得更明显,在图式中,相同参考符号始终识别对应的元件。图1展示无线装置的框图。图2A展示H264回路中去块器的整体框图。图2B展示具有共享回路中去块滤波引擎的回路后去假象/去块器(DAB)设备的解码器的整体框图。图2C展示具有回路后去假象/去块器(DAB)设备的解码器的整体框图。图3展示瓦片边缘的像素位置。图4A展示具有块效应的参考宏块帧。图4B展示具有图4A的继承块效应的下一宏块帧。图5A展示图像中的继承块效应。图5B展示无继承块效应的图像。图6展示回路后去假象/去块器(DAB)单元。图7展示回路后DAB初始化模块。图8展示回路后DAB强度改变模块。图9展示回路后DAB参数改变模块。图10展示回路后DAB程序模块。图11是可适应的回路后DAB过程的整体流程图。图12是回路后DAB帧内MB程序的整体流程图。图13展示帧内MB的qp_滤波强度关系的曲线图。图14展示8X8块中的示范性瓦片边缘位置。图15展示帧间MB的qp_滤波强度关系的曲线图。图16展示当前瓦片边缘与前一瓦片边缘之间的示范性关系。图17展示经简化的回路后DAB帧间MB程序的整体流程图。图18展示完整版本的帧内MB的qp_滤波强度关系的曲线图。图19展示完整版本的帧间MB的qp_滤波强度关系的曲线图。图20A和图20B展示在完整版本中设置边界强度的程序的流程图。图式中的图像出于说明的目的而被简化,且并未按比例绘制。为了促进理解,已在可能的地方使用相同参考标号来表示各图中共用的相同元件,但在适当时可添加后缀来区分此些元件。本发明的示范性配置,且因此,不应被视为限制本发明的范围,本发明的范围可许可其它同等有效的配置。预期一种配置的特征或步骤可有利地并入其它配置中而无需进一步陈述。具体实施例方式本文中使用词“示范性”来表示“充当实例、例子或说明”。本文中被描述为“示范性”的任何配置或设计均不一定被解释为比其它配置或设计优选或有利,且术语“核心”、“引擎”、“机器”、“处理器”和“处理单元”可互换地使用。本文中所描述的技术可用于无线通信、计算、个人电子装置等。下文描述所述技术对无线通信的示范性使用。图1展示无线通信系统中的无线装置10的配置的框图。无线装置10可为手持机。所述手持机可为蜂窝式或相机电话、终端、配备有无线能力的个人数字助理(PDA)、无线通信装置、视频游戏控制台、膝上型计算机、具视频能力的装置或某一其它配备有无线能力的装置。无线通信系统可为码分多址(CDMA)系统、全球移动通信系统(GSM)系统或某一其它系统。无线装置10能够经由接收路径和发射路径提供双向通信。在接收路径上,基站所发射的信号被天线12接收,并被提供给接收器(RCVR)14。接收器14调节并数字化所接收到的信号,且将样本提供给数字区段20以供进一步处理。在发射路径上,发射器(TMTR)16接收待从数字区段20发射的数据、处理并调节所述数据且产生经调制的信号,所述信号经由天线12向基站发射。数字区段20包含各种处理、接口和存储器单元,例如调制解调器处理器22、视频处理器24、控制器/处理器26、显示处理器28、ARM/DSP32、图形处理单元(GPU)34、内部存储器36和外部总线接口(EBI)38。调制解调器处理器22执行用于数据发射和接收的处理(例如,编码、调制、解调和解码)。视频处理器24对视频内容(例如,静态图像、移动视频和移动文本)执行处理以用于例如摄像放像机、视频重放和视频会议等视频应用。控制器/处理器26可指导数字区段20内各个处理和接口单元的操作。显示处理器28执行处理以促进在显示单元30上显示视频、图形和文本。ARM/DSP32可为无线装置10执行各种类型的处理。图形处理单元34执行图形处理。本文中所描述的技术可用于数字区段20中的处理器中的任一者,例如,视频处理器24。内部存储器36存储用于数字区段20内各个单元的数据和/或指令。EBI38促进数据沿总线或数据线DL在数字区段20(例如,内部存储器36)与主存储器40之间的传送。可用一个或一个以上DSP、微处理器、RISC等来实施数字区段20。还可在一个或一个以上专用集成电路(ASIC)或某一其它类型的集成电路(IC)上制造数字区段20。可在各种硬件单元中实施本文中所描述的技术。举例来说,所述技术可在ASIC、DSP、RISC、ARM、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器和其它电子单元中实施。此外,本文中所描述的用以去除由视频编码引入的块效应/假象的技术可用于MPEG-4、H.263、WMV9和H.264标准。如从以下描述内容可见,这些技术的优点在于以例如2.5到4百万条指令/秒(MIPs)的极小成本去除恼人的继承假象。可在ARM中未放置任何模块且在无像素存取的情况下实现对低复杂性配置的新回路后去假象/去块器(DAB)设备70的要求(其中对于ARM和合理的DSPMIPs,CPU使用率几乎为0%)。此外,在DSP中执行实际滤波。在示范性配置中,所使用的唯一滤波器是H.264回路中去块器(DB),因为其建置在硬件(HW)中。除H.264标准中所定义的FiIterOffseU和FiIterOffsetB(图2A)之外,示范性配置还需要新边界强度(BS)计算。图2A展示常规回路中去块器50的整体框图。针对回路中DB50,存在H.264标准中所定义的两种类型的滤波操作。去块滤波引擎60经控制以执行所述两种类型的滤波操作。一种滤波类型是由滤波引擎60中的强滤波器62进行的强滤波操作(参考BS=4)。第二种滤波类型是由去块滤波引擎60中的弱滤波器64进行的弱滤波操作(参考BS=1、2或3)。当BS等于4时,经由强滤波器62对“瓦片”边缘周围的至多达6个亮度像素应用4分接头或5分接头滤波。所述两种类型的滤波操作也是FilterOffsetA52和FilterOffsetB54的功能。回路中DB50接收由去块滤波引擎60以如上文所述的方式滤波的MB作为输入。回路中DB50还包含计算MB的边界强度(BS)的边界强度计算器56。以虚线展示去块滤波引擎60,以表示回路中DB50的位于硬件中的部分。FilterOffsetA52,FilterOffsetB54和边界强度计算器56可以是固件、软件或其组合。为清楚起见,本文中定义瓦片以防止由于不同标准中对“块”的不同定义而造成的任何混淆。在本发明中,将瓦片定义为4X4非重叠正方形,且将块定义为8X8非重叠正方形。图3展示瓦片边缘TE的像素位置。瓦片边缘TE的左侧具有像素P1到&。瓦片边缘TE的右侧具有像素P5到P8。下文在表1中列举对亮度瓦片边缘的强滤波操作(BS=4),其中表条目值指示用于像素?工到^的滤波分接头的数目。数字零(0)表示无滤波器分接头,且因此无滤波。为了防止使真实边缘变模糊,H.264标准中规定等式Eq.(1)到(3)中所定义的三个空间活动检查条件,以作出滤波决策。H.264标准假定块效应与真实边缘相比具有较弱的振幅差。因此,当如等式Eq.(1)到(3)中所陈述的所有三个条件保持为真时,对更多像素执行更多分接头的滤波。P5-P4I<Thdl(qp,FilterOffsetA),(1)IP4-P21<Thd2(qp,FilterOffsetB),和(2)IP7-P51<Thd2(qp,FilterOffsetB),(3)其中,P2、P4、P5和P7为像素;qp为量化步长;FilterOffsetA为用以调整Thdl的预定义常数;FiIterOffsetB为用以调整Thd2的预定义常数;Thdl为对应qp和FilterOffsetA的阈值;且Thd2为对应qp和FilterOffsetB的阈值。FilterOffseU和FilterOffsetB的值影响Thdl和Thd2,且因此影响待滤波的像素。对于色度来说,仅通过3分接头滤波来修改两个像素(例如,P4和P5)。表1亮度瓦片边缘的BS=4滤波操作<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>如表2中所描述,弱滤波操作(参考BS=1、2和3)修改瓦片边缘的至多达4个亮度像素和至多达2个色度像素。在表2中,符号Y表示滤波,且N表示无滤波。表2瓦片边缘的BS=1、2或3滤波操作<table>tableseeoriginaldocumentpage9</column></row><table>图4Α展示具有块效应的参考宏块帧100。块效应由交叉影线正方形102Α和102Β表示。参考瓦片104在帧100的中央以阴影展示。图4Β展示具有图4Α的继承块效应的下一宏块帧110。继承块效应由交叉影线正方形102Α'和102Β'表示。瓦片104'被展示为从帧110的中央移位。继承块效应也被移位。图5Α展示图像150Α中的继承块效应的实例。表示为155Α、155Β和155C的区域表示因基于块的视频和图像编码而产生的继承块效应的区域。图2Β展示具有共享回路中去块滤波引擎60Α的回路后去假象/去块器(DAB)设备70的解码器65的整体框图。DAB设备70包含回路后DAB单元200,其与回路中去块滤波引擎60Α介接,且征用回路中去块滤波引擎60Α以用于通用地校正块效应。一般来说,如将在下文中更详细地描述,回路后DAB单元200提供用于控制滤波引擎60Α的新BS计算方案。出于说明性目的,解码器65包含用于对输入信号进行解码的解码器硬件部分66和固件、软件或其组合部分。解码器65的解码器硬件部分66包含运动补偿模块67和纹理解码模块69。运动补偿模块67从位解析器75接收数据流作为输入,且在回路中滤波操作期间从回路中去块滤波引擎60A接收参考帧。运动补偿模块67还产生发送到纹理解码模块69的输出信号。纹理解码模块69又产生发送到回路中去块滤波引擎60A的输出信号。回路中去块滤波引擎60A产生经滤波的输出,其包含用于输入到运动补偿模块67的参考帧以及经滤波的输出(下文中称为“回路中经滤波输出”)。被表示为72的虚线包含用于根据编解码器程序来执行解码操作的软件、固件或其组合。在回路后DAB滤波操作期间,回路后去假象/去块器(DAB)设备70征用回路中去块滤波引擎60A,其中经回路中滤波的输出经由回路中去块滤波引擎60A循环返回,以用于在回路后DAB单元200的控制下进行的回路后滤波操作(稍后详细描述)。在解码器(解码)之后发生回路后滤波,且不使用经滤波的帧作为解码器65的参考帧。因为在编解码器标准中未定义回路后滤波,所以具有设计其自己的滤波器的自由。如果回路中滤波操作是解码器65的一部分,那么此些操作需要完全符合编解码器标准。图2C展示具有回路后去假象/去块器(DAB)设备70'的解码器65'的整体框图。例如MPEG4和H263P0等一些编解码器不支持回路中去块。在一些情形下,解码器硬件部分66'仍配备有回路中去块滤波引擎60B。因此,在此情况下,不使用解码器65'的回路中去块滤波引擎60B来执行回路中去块。代替的是,回路中去块滤波引擎60B可保持闲置。DAB设备70‘包含回路后DAB单元200,其与回路中去块滤波引擎60B介接,且征用回路中去块滤波引擎60B以用于通用地校正块效应。一般来说,回路后DAB单元200提供用于控制滤波引擎60B的新BS计算方案。出于说明性目的,解码器65'包含用于对输入信号进行解码的解码器硬件部分66'和固件、软件或其组合部分。解码器65'的解码器硬件部分66'包含运动补偿模块67'和纹理解码模块69'。运动补偿模块67'从位解析器75接收数据流作为输入,且在解码操作期间从纹理解码模块69'接收参考帧。运动补偿模块67'还产生发送到纹理解码模块69'的输出信号。纹理解码模块69'产生经解码的输出信号。表示为72'的虚线包含用于在无回路中滤波的情况下根据编解码器程序来执行解码操作的软件、固件或其组合。在回路后DAB滤波操作期间,回路后去假象/去块器(DAB)设备70'征用回路中去块滤波引擎60B,其中纹理解码模块69'的经解码的输出信号经由回路中去块滤波引擎60B循环,以用于回路后DAB单元200的控制下的回路后滤波操作。图5B展示来自回路后DAB设备70的使用新BS计算方案的无继承块效应的图像150B。图6展示回路后去假象/去块器(DAB)单元200。DAB单元200包含回路后DAB初始化模块202、回路后DAB强度改变模块204、回路后DAB参数改变模块206和回路后DAB程序模块208。回路后DAB单元200可为独立单元。回路后DAB初始化模块202、回路后DAB强度改变模块204、回路后DAB参数改变模块206和回路后DAB程序模块208向外部用户提供四个应用编程接口(API)。图7展示回路后DAB初始化模块202。一般来说,仅在开始或安装时需要回路后DAB初始化模块202—次。回路后DAB初始化模块202具有四个输入参数212。输入参数212包含编解码器、宽度、高度和DB_Strength。回路后DAB初始化模块202还包含初始化器220,其初始化回路后去假象/去块器(DAB)单元200和DAB设备70的操作。基于录入的编解码器的类型,回路后DAB初始化模块202初始化特定编解码器(例如(但不限于)具有回路中DB50或不具有回路中DB50的编解码器等)的操作。这允许回路后去假象/去块器(DAB)单元200通用地适合于各种解码器65或65'。图8展示回路后DAB强度改变模块204。回路后DAB强度改变模块204允许用户改变回路后DAB单元200所使用的边界强度(BS),以控制回路中去块滤波引擎60A或60B的操作以用于回路后操作。回路后DAB强度改变模块204包含DB强度接口232,其用于改变poSt_db_Strength以及例如qp阈值等DAB输入参数236。此外,相应地修改回路后DAB参数(图9)。回路后DAB强度改变模块204具有多个输入参数238,其包含post_db_strength、宽度禾口高度。图9展示回路后DAB参数改变模块206。回路后DAB参数改变模块206是改变回路后DAB参数的替代途径。回路后DAB边界强度改变模块230通过p0st_db_strength导出DAB参数。然而,回路后DAB参数改变模块240允许用户直接设置DAB参数。回路后DAB参数改变模块204包含设置回路后DAB参数接口242,以提供多个DAB参数的设置。所述多个DAB参数包含多个qp阈值。所述qp阈值包含intra_mb_qp_thd_0、inter_mb_qp_thd_boundary_0、inter_mb_qp_thd_inside_0、inter_mb_qp_thd_boundary_4>inter_mb_qp_thd_inside_4。客页夕卜参数包含qp_jump_for_not_coded_block和num_not_coded_blocks_thd。回路后DAB强度改变模块204和回路后DAB参数改变模块206两者是任选的,其在图6中由虚线框表示。图15中展示qp阈值与滤波强度之间的关系。qp阈值是可调谐的。单个参数“p0st_db_strength”控制所有五个qp阈值。小post_db_strength与较大qp阈值相关联,其为进行滤波解除障碍。在示范性配置中,参数post_db_strength在从0到20的范围内,且14为默认值。图10展示回路后DAB程序模块208。回路后DAB程序模块208使用现有的回路中去块滤波引擎60A来执行回路后DAB滤波操作。回路后DAB程序模块208具有边界强度计算器262,其基于下文中所规定的规则来计算边界强度(BS),所述规则中的一些违反了H.264标准。回路后DAB程序模块208还包含冊寄存器编程器264和冊回路中DB调用器266,其关于每一宏块(MB)被调用一次。回路后DAB程序模块208的输入参数包含inter_mb、qp、mb_num_X(沿水平方向的MB数目)、mb_num_y(沿垂直方向的MB数目)、n0t_C0ded(被跳过)和CBP(经编码的块模式)。参数n0t_C0ded(被跳过)是指示MB是否未被编码的旗标。如果设置所述旗标,那么MB未被编码。因此,位流中未携载运动向量和纹理信息。通过运动补偿来重构MB,其中运动向量=默认运动向量。应注意,针对不同编解码器不同地定义默认运动向量。参数经编码的块模式CPB是一组旗标,其中每一旗标用以指示MB中的对应块是否被编码。值0表示对应块(注意此处单位为块而不是MB)未被编码,且因此位流中无纹理信息。BS计算在以下各种配置中,以所描绘的次序执行流程图块,或可同时、并行或以不同次序执行这些块或其部分。代用基于编码参数(MB类型、qp等)的BS决策过程的一组新规则。如先前所提及,边界强度(BS)直接与滤波强度关联。当BS=4时,利用强滤波操作,当BS=1、2或3时,利用弱滤波操作,且当BS=O时,不利用滤波操作。在示范性配置中,使用三种边界强度,其包含4、2或O。理论上,内容也是BS决策过程的重要因素。可在平滑区中使用强滤波操作,因为假象在平滑区域中更可见。然而,低复杂性实施方案防止设备70的配置具有像素存取。因此,在一些现有架构下,无法具有内容分析模块(除HW中的简单空间性活动检查之外)。图11是可适应的回路后DAB过程300的整体流程图。在示范性配置中,基于四个编码参数来确定BS帧内/帧间类型、qp(量化步长)、跳过MB和CBP。可适应的回路后DAB过程300以框302开始,其中作出MB是否为帧内MB的确定。如果确定为“是”,那么框302之后是框304。在框304处,执行图12中所示的回路后DAB帧内MB程序400。框304结束过程300。在图11中,出于说明性目的而展示框306,且框306概括表示作出MB是否为帧间MB的决策。如果当前MB是帧间MB,那么在框308处确定所述帧间MB是否为被跳过的MB。如果框308处的确定为“否”,那么框308之后是框310,其中作出所述MB是否为CBP的确定。如果框308和310处的决策均为“否”(意味着MB并不是被跳过的MB也不是CBPMB),那么过程300进行到如图17中所示的回路后DAB帧间MB程序500。然而,如果框308或框310处的决策为“是”,那么过程300在执行如图17中所示的回路后DAB帧间MB程序500之前,相应地减小qp阈值以及FilterOffsetA和FilterOffsetB。图12是回路后DAB帧内MB过程400的整体流程图(简化版本)。将结合图13和图14来描述过程400。图13展示帧内MB的qp-滤波强度关系。图14展示8X8块450中的示范性瓦片边缘位置。对于帧内MB,仅基于量化步长(qp)来决定边界强度(BS),因为在帧内MB中不存在类似跳过MB和CPB0块的情况。此外,因为帧内MB不具有继承块效应问题,所以如最佳在图14中看到,应仅对8X8块边界周围的像素应用DAB滤波操作。回路后DAB帧内MB程序400以框402开始,其中确定qp。框402之后是框404,其中作出qp是否小于阈值THD的确定,其中THD为图13中的intra_mb_qp_thd。如果框404处的确定为“是”,那么在框406处将BS设置为零(0)。如果框404处的确定为“否”,比在框408处确定瓦片边缘。可将框408放在框404之前。框408之后是框410,其中针对每一瓦片边缘作出所述瓦片边缘是否位于块边界上的确定。如果框410处的确定为“是”,那么在框414处,针对瓦片边缘,将所述瓦片边缘的BS设置为4。在框412处,针对并非位于块边界上的那些瓦片边缘,将BS设置为零(0)。框412和414进行到框420,其中使用回路中去块滤波引擎60A采用所计算出的BS进行滤波。框420结束程序400。出于说明性目的,将框406展示为在用于滤波的框420之前。具体参看图14,其展示示范性8X8块450。出于说明性目的,当前MB具有瓦片边缘VV1,H0,氏。注意,V0位于当前块与左侧块之间的块边界上;Htl位于当前块与上方块之间的块边界上乂在水平方向上远离Vtl四个样本;且H1在垂直方向上远离Htl四个样本。为图14中的特定实例展示针对帧内MB的BS规则计算。因此,表3中的值将视瓦片边缘的位置而改变。表3针对帧内MB的BS计算<table>tableseeoriginaldocumentpage13</column></row><table>巾贞间MB继承块效应可能成为帧间MB的一问题。因此,回路后DAB设备70—般通过为不位于块边界上的瓦片边缘接通回路中去块滤波引擎60A,来校正继承块效应。具体地说,基于以下因素来决定瓦片边缘的BS当前qp、当前被跳过的MB、当前CBP、相邻者的MB类型和相邻者的qp。为帧间MBBS计算设计两种配置。所述两种配置包含简化版本和完整版本。在BS计算中,简化版本基于当前MB的编码参数作出决策,而完整版本考虑更多因素,包含相邻者的编码参数。简化版本图15展示帧间MB的qp-滤波强度关系的曲线图。图16展示当前瓦片边缘与前一瓦片边缘之间的示范性关系。简化版本不将相邻者的信息用于BS计算。因此,无需存储MB的编码参数以供将来使用。因此,简化版本提供MIPs和存储器节省。图5中说明qp与滤波强度之间的关系。如表4A中所描述,通过为瓦片边缘V。JpHpH1指派不同BS来实现不同的滤波强度。如果所有瓦片边缘的BS均大于零(例如,表4A中的最后三行中的最后一种情况),那么可修改块中的所有像素。因为可对某些像素滤波两次,所以有效滤波分接头可能大于五。然而,空间活动检查(Eq.(1)、(2)和(3)的情况)可能禁止对某些像素进行滤波。每一像素的滤波决策是基于当前和先前瓦片的BS的,且表5中列出空间活动检查,其中V。表示当前瓦片边缘,Vp表示前一瓦片边缘(图16),“x”表示无滤波,“W”表示弱滤波,且“S”表示强滤波。样本91、92、93和94针对\和¥1)具有不同意义。当对V。进行滤波时,样本仏、Q2、Q3和Q4等效于图3中的ΡρΡ2、Ρ3和P4。当对Vp进行滤波时,样本Qi、Q2、Q3和Q4等效于图3中的P5、P6、P7*P8。当BS(Ve)=4,BS(Vp)=4且所有空间活动检查条件(1)、(2)和(3)均保持为真时,发生最强滤波。表4A针对帧间MB的BS计算(简化版本)。<table>tableseeoriginaldocumentpage13</column></row><table>表4B针对帧间MB的空间活动<table>tableseeoriginaldocumentpage14</column></row><table>条件⑴、⑵和(3)是基于等式Eq.⑴、⑵和(3)的。表5针对每一像素的实际滤波,其基于当前瓦片边缘BS、前一瓦片边缘BS和空间活动检查。<table>tableseeoriginaldocumentpage15</column></row><table>被跳过的MB和CBPO块再次返回图11,因为不存在对被跳过的MB和CBPO块的纹理编码,所以被跳过的MB和具有CBP=0的块继承100%的来自参考帧的假象。为了去除这些假象,需要更强的滤波。其与H.264编码标准极为不同,在H.264编码标准中,较弱的滤波器用于被跳过的MB,因为回路中DB50的配置假定参考帧中的块效应已被去除。通过使所有qp阈值(inter_mb_qp_thd_boundary_0、inter_mb_qp_thd_inside_0、inter_mb_qp_thd_boundary_4禾口inter_mb_qp_thd_inside_4)减小一常数,且使FiIterOffsetA和FiIterOffsetB的值增加,来实现更强的滤波。具有较高FilterOffsetA和FilterOffsetB的原因是为了增加通过空间活动测试(1)、(2)和(3)的机会,且因此更多的样本将被滤波。在实施方案中,针对被跳过的MB和cbp0块,人工地使qp增加一常数qp_jump_for_not_coded_block,且将经修改的qp传递到回路中去块滤波引擎60A。将此特殊处理应用于具有CBP=O的块以及被跳过的MB。为了简化程序,如果MB中的亮度CBP0块的数目大于阈值num_not_coded_blocks_thd,那么以与被跳过的MB相同的方式处理所述MB。图17展示经简化的回路后DAB帧间MB程序500的整体流程图。经简化的回路后DAB帧间MB程序500在框502处开始,其中前一瓦片边缘Vp的BS和空间活动。此情形可在前一瓦片边缘Vp的处理期间发生。框502之后是框504,其中确定当前瓦片边缘V。的BS和空间活动。如上文在表4A和表4B中陈述的BS和空间活动例如在图14中。框504之后是框506,其中如上文在表5中所示,针对Vp和V。确定用于每一像素QpQPQ3和Q4的滤波器设置。框506之后是框508,其中针对图14中的实例根据表5对MB进行滤波。完整版本在完整版本中,相邻MB(左侧和上方)的编码参数影响对MB边界的BS决策。对于位于MB内部的那些瓦片边缘,以与简化版本相同的方式来计算BS。令V表示两个MB(A与B)之间的边界,BSa(V)和BSb(V)是由MBA和MBB基于简化版本中所描述的规则而确定的BS,接着根据等式Eq.(4)来计算新的BS(V)。BS(V)=Max(BSa(V),BSb(V))(4)举例来说,假设MBA为帧内MB,且MBB为帧间MB,其中qp<inter_mb_qp_thd_boundary_0,那么BSa(V)=4,BSb(V)=0。根据Eq.(4),最终BS决策BS(V)为4。表6中列出对垂直边缘的BS计算的详细规则。可以相同方式导出对水平边缘的BS计算。然而,在完整版本中,以与图11以及表4A、表4B和表5中所示的简化版本相同的方式来处理被跳过的MB和CBPO块。图18展示针对完整版本的帧内MB的qp-滤波强度关系的曲线图。图19展示针对完整版本的帧间MB的qp-滤波强度关系的曲线图。表6针对帧间MB的BS计算(完整版本)。<table>tableseeoriginaldocumentpage17</column></row><table>尽管H.264具有回路中DB50,但当以较低位速率对内容进行编码时,假象仍是问题。这需要回路后DAB设备70来去除由编码引入的假象。尽管H.264回路中DB50与回路后DAB设备70共享同一核心去块滤波引擎60A,但回路后DAB设备70提供较强的滤波。较强滤波是因为可在回路后DAB70中针对边缘指派较强的BS,但在回路中DB50中不可能如此。回路中DB50中的BS由H.264标准中所规定的规则确定。在两个块均为帧间块的情况下,最大BS为二。可实现较强滤波的另一原因是因为可在回路后DAB70中指派较大的FilterOffseU和FilterOffsetB,但回路中DB50中所使用的FilterOffset是从位流读取的。图20A和图20B展示在完整版本中设置边界强度的程序600的流程图。程序600以框602开始,其中作出两个块(当前块和左侧块)是否均为帧间类型的块的确定。如可了解,可跳过框602的确定,且用框604或某一其它确定来代替以确定块的类型。如果框602处的确定为“否”,意味着一个块可能是帧内类型,那么框602之后是框604。在框604处,确定所述块中的一者是否为帧内类型。如果确定为“是”,那么框604之后是框606。在框606处,确定是否任一块具有大于或等于intra_mb_qp_thd_4的qp。如果框606处的确定为“是”,那么在框608处,将BS设置为4。然而,如果框606处的确定为“否”,那么框606之后是框610,其中作出是否任一块具有大于或等于intra_mb_qp_thd_2的qp的确定。如果框610处的确定为“是”,那么在框612处将BS设置为2。然而,如果框610处的确定为“否”,那么将BS设置为O。再次返回框602,如果框602处的确定为“是”,意味着两块均为帧间类型,那么框602之后是框620。在框620处,作出是否任一块具有大于或等于inter_mb_qp_thd_4的qp的确定。如果框620处的确定为“是”,那么在框622处将BS设置为4。然而,如果框620处的确定为“否”,那么框620之后是框624,其中作出是否任一块具有大于或等于inter_mb_qp_thd_2的qp的确定。如果框624处的确定为“是”,那么在框626处将BS设置为2。如果框624处的确定为“否”,那么在框628处将BS设置为0。框608、框612、框614、框622、框626和框628均延续到图20B的框630。在框630处,使FilterOffsetA增加一常数。框630之后是框632,其中使FilterOffsetB增加一常数。框632之后是框634,其中作出块是否具有经编码的残余部分的确定。如果所述确定为“否”,那么程序600结束。然而,如果所述确定为“是”,那么框634之后是框636。在框636处,使qp增加一常数。框636也结束程序600。一般来说,程序600包含以下部分(1)如果块中的一者为帧内块,且任一块具有大于或等于intra_mb_qp_thd_4的qp,那么设置BS=4。(2)如果块中的一者为帧内块,且任一块具有大于或等于intra_mb_qp_thd_2的qp,那么设置BS=2。(3)如果两个块均为帧间块,且任一块具有大于或等于inter_mb_qp_thd_4的qp,那么设置BS=4。(4)如果两个块均为帧间块,且任一块具有大于或等于inter_mb_qp_thd_2的qp,那么设置BS=2。(5)使FilterOffseU和FilterOffsetB增加一常数。(6)如果块不具有经编码的残余部分,那么使qp增加一常数。增加FiIterOffseU和FiIterOffsetB会增大通过等式Eq.(1)、(2)和(3)中的空间活动测试的机会,且因此更多样本将被滤波。此外,使qp增加一常数会减小参数inter_mb_qp_thd_4禾口inter_mb_qp_thd_2。实验结果在实验结果中,表7中展示被表示为SMCDB的使用具有高MIPs的回路后去块器的第二做法、被表示为DAB的所揭示的DAB过程以及无DAB的操作的比较。表7中列出视觉MOS评分,其中IXDB具有与SMCDB相当的主观评分,且两者均远优于无DB的情形。表7:视觉MOS评分。<table>tableseeoriginaldocumentpage18</column></row><table>鉴于上文,回路后DAB设备70使用回路中去块滤波引擎60Α的现有硬件作为核心,且为瓦片边缘中的每一者谨慎地选择BS。为了消除恼人的继承块效应,可对块内部的像素进行滤波,其通过为在块中部的瓦片边缘设置非零BS来实现。简单地说,BS由qp、帧间MB、被跳过的MB和CBP来确定。为了保持低复杂性的配置,已描述了两个版本。简化版本基于当前MB(待滤波的MB)的编码参数来计算BS,不需要来自相邻BS的信息。然而,完整版本基于当前和相邻MB两者的编码参数来计算BS。图2C中的DAB设备70'的低复杂性配置还被设计为后去块器,以在无回路中DB50的情况下通用地校正编解码器(例如,MPEG4和H.263P0编解码器)的块效应。关于DAB设备70而描述的用以计算边界强度(BS)的程序对70'来说基本上相同。因此,不必进行进一步论述。DAB设备70或70以极小的MIPs(对于简化版本为2.5MIPs,且对于完整版本为4MIPs)和存储器要求成功地去除块假象。在一个或一个以上示范性配置中,所描述的功能可以硬件、软件、固件或其任意组合来实施。如果以软件实施,那么可将所述功能作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体而传输。计算机可读媒体包含计算机存储媒体和通信媒体两者,包含促进将计算机程序从一处传送到另一处的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。作为实例而非限制,所述计算机可读媒体可包括RAM、R0M、EEPR0M、⑶-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以携载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,严格地说,任何连接均被称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程来源传输软件,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学盘、数字通用光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。上述各项的组合也应包含在计算机可读媒体的范围内。提供对所揭示配置的先前描述,以使所属领域的技术人员能够制作或使用本发明。对这些配置的各种修改对于所属领域的技术人员来说将是显而易见的,且可在不脱离本发明的精神或范围的情况下,将本文中所界定的一般原理应用于其它配置。因此,本发明无意限于本文中所示的配置,而是将被赋予与本文中所揭示的原理和新颖特征一致的最宽范围。权利要求一种装置,其包括处理器,其操作以实施一组指令,以征用回路中去块滤波引擎及在回路后滤波操作期间通用地校正经解码的输出信号中的块效应;以及存储器,其耦合到所述处理器。2.根据权利要求1所述的装置,其中所述组指令包含用以通过对所述经解码的输出信号中的块执行强滤波操作来校正包含继承块效应的所述块效应的指令,所述块包括被跳过的宏块和具有等于零的经编码块模式的块。3.根据权利要求1所述的装置,其中所述组指令包含用以执行如下操作的指令通过为不位于相应帧间宏块(MB)的块边界上的那些瓦片边缘接通所述回路中去块滤波引擎,来校正帧间MB的包含继承块效应的所述块效应;以及使用基于量化步长而计算的所计算的边界强度来校正帧内MB的所述块效应,且仅对所述块边界周围的像素应用所述回路后滤波操作。4.根据权利要求1所述的装置,其中所述回路后滤波操作包含基于待滤波的当前宏块(MB)的编码参数,在无来自相邻MB的信息的情况下计算边界强度。5.根据权利要求1所述的装置,其中所述回路中去块滤波引擎遵循H.264。6.根据权利要求1所述的装置,其中所述装置为手持机,且所述手持机为蜂窝式电话、无线装置、无线通信装置、视频游戏控制台、配备有无线能力的个人数字助理(PDA)、膝上型计算机或具视频能力的装置。7.一种集成电路,其包括解码器,其具有回路中去块滤波引擎;处理器,其操作以实施一组指令,以征用所述回路中去块滤波引擎及在回路后滤波操作期间通用地校正经解码的输出信号中的块效应;以及存储器,其耦合到所述处理器。8.根据权利要求7所述的集成电路,其中所述组指令包含用以通过对所述经解码的输出信号中的块执行强滤波操作来校正包含继承块效应的所述块效应的指令,所述块包括被跳过的宏块和具有等于零的经编码块模式的块。9.根据权利要求8所述的集成电路,其中所述强滤波操作应用于块内部的像素。10.根据权利要求7所述的集成电路,其中所述组指令包含用以执行如下操作的指令通过为不位于相应帧间宏块(MB)的块边界上的那些瓦片边缘接通所述回路中去块滤波引擎,来校正帧间MB的包含继承块效应的块效应;以及使用基于量化步长而计算的所计算的边界强度来校正帧内MB的所述块效应,且仅对所述块边界周围的像素应用所述回路后滤波操作。11.根据权利要求7所述的集成电路,其中所述回路后滤波操作包含基于待滤波的当前宏块(MB)的编码参数,在无来自相邻MB的信息的情况下计算边界强度。12.根据权利要求7所述的集成电路,其中所述回路中去块滤波引擎遵循H.264。13.根据权利要求7所述的集成电路,其中所述集成电路位于蜂窝式电话、手持机、无线装置、无线通信装置、视频游戏控制台、配备有无线能力的个人数字助理(PDA)、膝上型计算机或具视频能力的装置中。14.一种设备,其包括解码装置,其用于解码且具有用于回路中去块滤波的滤波装置;征用装置,其用于征用所述滤波装置;以及校正装置,其用于使用所述滤波装置在回路后滤波操作期间通用地校正经解码的输出信号中的块效应。15.根据权利要求14所述的设备,其中所述校正装置包含执行装置,其用于对所述经解码的输出信号中的块执行强滤波操作,以用于校正继承块效应,所述块包括被跳过的宏块和具有等于零的经编码块模式的块。16.根据权利要求14所述的设备,其中所述校正装置包含接通装置,其用于为不位于相应帧间宏块(MB)的块边界上的那些瓦片边缘接通回路中去块滤波引擎,以用于校正帧间MB中的继承块效应;计算装置,其用于基于量化步长来计算边界强度;以及应用装置,其用于仅对所述块边界周围的像素应用所述回路后滤波操作,以用于校正帧内MB中的块效应。17.一种计算机程序产品,其包含计算机可读媒体,所述计算机可读媒体具有使得计算机执行如下操作的指令征用回路中去块滤波引擎;以及使用所述回路中去块滤波引擎在回路后滤波操作期间通用地校正经解码的输出信号中的块效应。18.根据权利要求17所述的计算机程序产品,其中所述用以通用地校正块效应的指令包含使得所述计算机执行如下操作的指令对所述经解码的输出信号中的块执行强滤波操作以校正继承块效应,所述块包括被跳过的宏块和具有等于零的经编码块模式的块。19.根据权利要求17所述的计算机程序产品,其中所述用以通用地校正所述块效应的指令包含使得所述计算机执行如下操作的指令为不位于相应帧间宏块的块边界上的那些瓦片边缘接通所述回路中去块滤波引擎,以校正继承块效应。20.根据权利要求17所述的计算机程序产品,其中所述用以通用地校正所述块效应的指令包含使得所述计算机执行如下操作的指令基于量化步长来计算边界强度;以及仅对块边界周围的像素应用所述回路后滤波操作,以校正帧内宏块中的块效应。21.根据权利要求17所述的计算机程序产品,其进一步包括使得所述计算机执行如下操作的指令在所述回路后滤波操作期间,基于待滤波的当前宏块(MB)的编码参数,在无来自相邻MB的信息的情况下计算边界强度。22.根据权利要求17所述的计算机程序产品,其进一步包括使得所述计算机执行如下操作的指令在所述回路后滤波操作期间,基于当前宏块和相邻宏块两者的编码参数来计算边界强度。23.一种方法,其包括征用回路中去块滤波引擎;以及使用所述所征用的回路中去块滤波引擎在回路后滤波操作期间校正经解码的输出信号中的块效应。24.根据权利要求23所述的方法,其中所述校正包含对所述经解码的输出信号中的块执行强滤波操作以校正继承块效应,所述块包括被跳过的宏块和具有等于零的经编码块模式的块。25.根据权利要求23所述的方法,其中所述校正包含对于帧间宏块(MB),为不位于相应帧间MB的块边界上的那些瓦片边缘接通所述回路中去块滤波引擎,以校正继承块效应;以及对于帧内MB,基于量化步长来计算边界强度,且仅对所述块边界周围的像素应用所述回路后滤波操作以校正块效应。全文摘要本发明提供用于以较低的百万条指令/秒(MIPs)来去除继承块效应的技术。在一种配置中,一种装置包括处理器,其操作以实施一组指令以通用地校正块效应。所述处理器征用回路中去块滤波引擎,且使用所述回路中去块滤波引擎来通用地校正包含继承块效应的块效应。文档编号H04N7/26GK101822054SQ200880110772公开日2010年9月1日申请日期2008年10月10日优先权日2007年10月10日发明者沙拉什·曼朱纳什,滕佳缘申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1