具体实施方式
本原理针对一种用于视频编码器和解码器的有效自适应滤波的方法和装置。本说明书举例说明本原理。因此,应该理解,虽然未明确地描述或者在此处示出,那些本领域技术人员将能设计各种各样的方案,其实施本原理,并且包括在其精神和范围之内。
在此处列举的所有例子和有条件的语言意欲为了教学的目的,以帮助读者理解本原理和由发明人提供的助长技巧的概念,并且将认为是没有具体地限制上述列举的例子和条件。
此外,在此处列举的本原理的原理、方面和实施例的所有陈述以及其特定的例子意欲拥有结构及其功能等效两者。另外,这意味着上述的等效通常地包括已知的等效以及在将来开发的等效两者,即,不考虑结构执行相同的功能开发的任何单元。
因此,例如,本领域技术人员应该理解,在此处给出的方框图代表体现本原理的说明性的电路的概念图。类似地,应该理解,不管是否这样的计算机或者处理器被明确地示出,所有的流程图、流量图、状态转移图、伪代码等等代表可以实质上在计算机可读的介质中表示的,并且从而由计算机或者处理器执行的各种各样的处理过程。
在附图中示出的各种各样单元的功能可以通过使用专用硬件、以及与适宜的软件结合能够执行软件的硬件而提供。当由处理器提供的时候,该功能可以由一个专用处理器、由一个共享处理器、或者由多个单独处理器(其中一些可以共享)来提供。此外,明确的使用该术语“处理器”或者“控制器”不应该被解释为专门地涉及能够执行软件的硬件,并且可以隐含地包括,不限于数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)和非易失性存储器。
也可以包括其它的常规和/或定制的硬件。类似地,在附图中示出的所有的开关仅仅是概念上的。它们的功能可以经由程序逻辑的操作、经由专用逻辑、经由程序控制和专用逻辑的相互作用、或者甚至手动地实现,该特定的技术是由制订人可选择的,更具体地说,如从背景处了解到的。
在此处的权利要求中,表示为用于执行指定功能的装置的所有的单元意欲拥有执行以下功能的任何方式,例如包括a)执行该功能的电路元件的组合,或者b)以与用于执行该软件来执行该功能的适宜的电路相结合的任何形式的软件,因此,包括固件、微码等等。如由这样的权利要求限定的本原理存在以下的事实,由各种各样列举的装置提供的功能以权利要求请求的方式组合和汇集在一起。因此,考虑可以提供那些功能的任何装置等效于在此处示出的那些。
在该说明书中,提及的本原理的“一个实施例”或者“一实施例”以及其其他的变化指的是包括在本原理的至少一个实施例中与该实施例结合描述的特定的特征、结构,特性等等。因此,在贯穿本说明书中的不同的位置出现字句“在一个实施例中”或者“在一实施例中”以及其他变化不是必然地都涉及相同的实施例。
应该理解,以下“/”、“和/或”,和“例如在“A/B”、“A和/或B”和“A和B的至少一个”的情形下的至少一个”的任何一个的使用意欲仅仅包含第一列表的选项(A)的选择,或者仅仅包含第二列表的选项(B)的选择,或者两个选项(A和B)的选择。作为另一个例子,在“A、B和/或C”和“A、B和C的至少一个”的情形下,上述的短语意欲仅仅包含第一列表的选项(A)的选择,或者仅仅第二列表的选项(B)的选择,或者仅仅第三列表的选项(C)的选择,或者仅仅第一和第二列表的选项(A和B)的选择,或者仅仅第一和第三列表的选项(A和C)的选择,或者仅仅第二和第三列表的选项(B和C)的选择,或者所有三个选项(A和B和C)的选择。如由本领域和相关领域的普通技术人员容易地清晰可见的,这可以扩展为列出的同样多的项目。
此外,如在此处使用的,该措词“画面”和“图像”可互换地使用,并且涉及来自视频序列的静止图像或者画面。如已知的,画面可以是帧或者场。
如上所述,我们公开了用于视频编码器和解码器的有效自适应滤波的方法和装置。为了说明和描述起见,在此处在使用MPEG-4AVC标准作为对于我们描述和解释超出MPEG-4AVC标准的改进及扩充的基准对MPEG-4AVC标准改进的背景下描述例子。但是,应该理解,本原理不完全受限于MPEG-4AVC标准和/或其扩充。给出在此处提供的本原理的教导,本领域和相关领域的普通技术人员容易地理解,当应用于其他标准的扩充的时候,或者当适用和/或结合在尚未开发的标准内的时候,本原理同样地可适用和将提供至少类似的权益。进一步应该理解,本原理还应用于不符合标准、而是符合专有的定义的视频编码器和视频解码器。
此外,为了说明性的目的,本原理在自适应环路滤波器(ALF)的背景下描述。但是,应该理解,本原理不完全受限于自适应环路滤波器,并且如由本领域和相关领域普通的技术人员容易地理解的,给出在此处提供的本原理的教导,可以容易地应用于其他类型的滤波器,包括环内和环外应用。
另外,应该理解,与本原理一起描述的所有过程可以应用于亮度、色度、或者亮度和色度的组合。
转向图1,一个本原理可以适用的示范视频编码器通常由参考数字100表示。该视频编码器100包括具有以与合成器185的非反相输入进行信号通信的输出端的帧排序缓冲器110。合成器185的输出端与变换器和量化器125的输入端以信号通信连接。该变换器和量化器125的输出端与熵编码器145的第一输入端以及逆变换器和逆量化器150的第一输入端以信号通信连接。该熵编码器145的输出端与合成器190的第一非反相输入端以信号通信连接。该合成器190的输出端与输出缓冲器135的第一输入端以信号通信连接。
编码器控制器105的第一输出端与帧排序缓冲器110的第二输入端、逆变换器和逆量化器150的第二输入端、画面类型决定模块115的输入端、宏块类型(MB-类型)决定模块120的第一输入端、帧内预测模块160的第二输入端、去块滤波器165的第二输入端、运动补偿器170的第一输入端、运动估计器175的第一输入端,和基准画面缓冲器180的第二输入端以信号通信连接。
该编码器控制器105的第二输出端与辅助增强信息(SEI)插入器130的第一输入端、变换器和量化器125的第二输入端、熵编码器145的第二输入端、输出缓冲器135的第二输入端,以及序列参数集(SPS)和画面参数集(PPS)插入器140的输入端以信号通信连接。
SEI插入器130的输出端与合成器190的第二非反相输入端以信号通信连接。
该画面类型决定模块115的第一输出端与该帧排序缓冲器110的第三输入端以信号通信连接。该画面类型决定模块115的第二输出端与宏块类型决定模块120的第二输入端以信号通信连接。
该序列参数集(SPS)和画面参数集(PPS)插入器140的输出端与合成器190的第三非反相输入端以信号通信连接。
逆量化器和逆变换器150的输出端与合成器119的第一非反相输入端以信号通信连接。该合成器119的输出端与帧内预测模块160的第一输入端和去块滤波器165的第一输入端以信号通信连接。该去块滤波器165的输出端与自适应环路滤波器141的输入端以信号通信连接。自适应环路滤波器141的输出端与基准画面缓冲器180的第一输入端以信号通信连接。该基准画面缓冲器180的输出端与运动估计器175的第二输入端和运动补偿器170的第三输入端以信号通信连接。该运动估计器175的第一输出端与运动补偿器170的第二输入端以信号通信连接。该运动估计器175的第二输出端与熵编码器145的第三输入端以信号通信连接。
该运动补偿器170的输出端与开关197的第一输入端以信号通信连接。该帧内预测模块160的输出端与开关197的第二输入端以信号通信连接。该宏块类型决定模块120的输出端与开关197的第三输入端以信号通信连接。开关197的第三输入端确定开关的“数据”输入(与控制输入相比较,即,第三输入)是由运动补偿器170还是由帧内预测模块160提供。开关197的输出端与合成器119的第二非反相输入端和合成器185的反相输入端以信号通信连接。
该帧排序缓冲器110的第一输入端和编码器控制器105的输入端可用作编码器100的输入端,用于接收输入画面。另外,该辅助增强信息(SEI)插入器130的第二输入端可用作编码器100的输入端,用于接收元数据。该输出缓冲器135的输出端可用作编码器100的输出端,用于输出比特流。
转向图2,一个本原理可以适用的示范视频解码器通常由参考数字200表示。该视频解码器200包括具有与熵解码器245的第一输入端以信号通信连接的输出端的输入缓冲器210。该熵解码器245的第一输出端与逆变换器和逆量化器250的第一输入端以信号通信连接。该逆变换器和逆量化器250的输出端与合成器225的第二非反相输入端以信号通信连接。该合成器225的输出端与去块滤波器265的第二输入端和帧内预测模块260的第一输入端以信号通信连接。该去块滤波器265的第二输出端与自适应环路滤波器241的输入端以信号通信连接。该自适应环路滤波器241的输出端与基准画面缓冲器280的第一输入端以信号通信连接。该基准画面缓冲器280的输出端与运动补偿器270的第二输入端以信号通信连接。
该熵解码器245的第二输出端与运动补偿器270的第三输入端、去块滤波器265的第一输入端、和帧内预测器260的第三输入端以信号通信连接。该熵解码器245的第三输出端与解码器控制器205的输入端以信号通信连接。该解码器控制器205的第一输出端与熵解码器245的第二输入端以信号通信连接。该解码器控制器205的第二输出端与逆变换器和逆量化器250的第二输入端以信号通信连接。该解码器控制器205的第三输出端与去块滤波器265的第三输入端以信号通信连接。该解码器控制器205的第四输出端与帧内预测模块260的第二输入端、运动补偿器270的第一输入端、和基准画面缓冲器280的第二输入端以信号通信连接。
该运动补偿器270的输出端与开关297的第一输入端以信号通信连接。该帧内预测模块260的输出端与开关297的第二输入端以信号通信连接。开关297的输出端与合成器225的第一非反相输入端以信号通信连接。
该输入缓冲器210的输入端可用作解码器200的输入端,用于接收输入比特流。该去块滤波器265的第一输出端可用作解码器200的输出端,用于输出一个输出画面。
如上所述,本原理提出用于视频编码器和解码器的有效自适应滤波的方法和装置。
在本原理的第一方面中,我们公开了迭代地细化维纳滤波器和解码的画面的相应滤波以便实现最佳还原的方法和装置。关于针对第一个方面的实施例,空间自适应是通过给予更多的开销位以限定区域和滤波开关控制信息而获得的。
但是,如先前描述的,有时候,用于发送辅助信息(例如,限定区域和滤波开关控制信息)的成本是不可承受的,尤其在低位速率应用中。因此,在本原理的第二方面中,我们公开了基于在解码器上可用或者解码的信息推导出辅助信息的方法和装置。上述的方法可以降低或者消除用于发送辅助信息的额外成本,这从而改善编码性能。
迭代滤波
如上所述和按照本原理,我们公开了其第一方面,其中迭代滤波过程用于在视频压缩方面改善维纳滤波器的性能(如将由本领域和相关领域的普通技术人员实现的,本原理还应用于涉及除维纳滤波器以外的滤波器的滤波方法)。更具体地说,我们首先限定滤波器结构,诸如,例如滤波器支柱尺寸和拓扑结构。然后,我们限定用于估计滤波器的数据组。该数据组可以使用重建的视频信号的任何在先信息限定。然后,我们可以使用限定的数据组去估计滤波器系数,并且因此,获得估计的滤波器。在我们获得估计的滤波器之后,我们可以将估计的滤波器应用于重建的画面以便获取滤波的画面。此时,第一迭代已经完成。在下一个迭代中,我们通过使用滤波的画面细化用于估计滤波器的数据组,其期望比在先前的迭代中使用的画面更好。然后,我们可以基于这个细化的数据组估计滤波器系数。该估计的滤波器然后应用于该重建的画面。当画面质量的改善足够小的(也就是说,改善降到阈值之下)时候,然后,该迭代收敛,并且可以被停止。最终估计的滤波器是最佳的那个,并且该确定的滤波器的参数将发送给解码器(在比特流中,在传送介质中等等)。在一个实施例中,滤波器结构在不同的迭代中可以是不同的。在一个实施例中,多个滤波器可以在每个迭代中用于每个画面。
在一个实施例中,该估计的滤波器仅仅应用于该重建的画面。然后,仅仅最后估计的滤波器被发送给解码器。用于滤波器估计的像素数据的位置被基于在每个迭代中滤波的画面细化。在该数据组中的像素值是从重建的画面中获得的。该滤波器仅仅应用于该重建的画面。这个策略降低发送的开销。
转向图3,用于在视频编码器中自适应地和迭代地滤波画面数据的示范方法通常通过参考数字300表示。该方法300包括开始模块305,其传送控制给功能模块310。该功能块310限定滤波器结构(例如,支柱尺寸和拓扑结构),并且传送控制给循环限制块315。当(delta_dist>阈值并且K<max_K)时,该循环限制块315开始循环,并且传送控制给功能块320。该功能块320确定用于在重建的画面Img中滤波估计的数据组Dk,并且传送控制给功能块325。该功能块325基于数据组Dk估计滤波器Fk,并且传送控制给功能块330。该功能块330通过使用Fk滤波重建的画面Img以获取滤波的画面Imgk,并且传送控制给功能块335。该功能块335计算在Imgk和原始画面org之间的失真distk,并且传送控制给决定块340。该决定块340确定是否distk<distk-1。如果是这样的话,然后,控制被传送给功能块345。另外,控制被传送给功能块350。该功能块345设置Fbest=Fk,并且传送控制给功能块350。该功能块350设置Delta_dist=|distk-distk-1|,并且传送控制给循环限制块355。该循环限制块355结束循环,并且传送控制给功能块360。该功能块360编码滤波器Fbest,并且传送控制给结束块399。
转向图4,用于在视频解码器中自适应地和迭代地滤波画面数据的示范方法通常通过参考数字400表示。该方法400包括开始模块405,其传送控制给功能块410。该功能块410分析滤波器Fbest结构和系数,并且传送控制给功能块415。该功能块415通过使用Fbest滤波重建的画面Img以获取滤波的画面Img_best,并且传送控制给结束块499。
在另一个实施例中,在数据组中像素的位置和值是从滤波的画面(其从先前的迭代中输出)中确定的。该滤波器是通过使用在先前的迭代中滤波的画面估计的。对于每个迭代,滤波器被估计,并且该画面被在编码器上滤波。该滤波器被连续地应用于先前的迭代滤波的画面。在该迭代中所有估计的滤波器需要发送给解码器。在解码器上,该解码的画面也通过适用接收的估计的滤波器迭代地滤波。
转向图5,用于在视频编码器中自适应地和迭代地滤波画面数据的另一示范方法通常通过参考数字500表示。该方法500包括开始模块505,其传送控制给功能模块510。该功能块510限定滤波器结构(例如,支柱尺寸和拓扑结构),并且传送控制给循环限制块515。当(delta_dist>阈值并且K<max_K)时,该循环限制块515开始循环,并且传送控制给功能块520。该功能块520确定用于通过使用重建的画面Img和/或Imgk-1的滤波器估计的数据组Dk,并且传送控制给功能块525。该功能块525基于数据组Dk估计滤波器Fk,并且传送控制给功能块530。该功能块530通过使用Fk滤波预滤波的画面Imgk-1以获取滤波的画面Imgk,并且传送控制给功能块535。该功能块535计算在Imgk和原始画面org之间的失真distk,并且传送控制给决定块540。该决定块540确定是否distk<distk-1。如果是这样的话,然后,控制被传送给功能块545。另外,控制被传送给功能块550。该功能块345设置Fbest[k]=Fk,k_final=k,并且传送控制给该功能块550。该功能块550设置Delta_dist=|distk-distk-1|,并且传送控制给循环限制块555。该循环限制块555结束循环,并且传送控制给功能块560。该功能块560编码k_final和滤波器Fbest[k],并且传送控制给结束块599。
转向图6,用于在视频解码器中自适应地和迭代地滤波画面数据的另一示范方法通常通过参考数字600表示。该方法600包括开始模块605,其传送控制给功能模块610。该功能块610分析k_final,并且传送控制给功能块615。该功能块615分析滤波器Fbest[k]、结构、和系数,这里k=0、...、k_final,并且传送控制给循环限制块620。当(K<k_final)时,该循环限制块620开始循环,并且传送控制给功能块625。该功能块625通过使用Fbest[k]滤波画面Imgk-1以获取滤波的画面Imgk,并且传送控制给循环限制块630。该循环限制块630结束循环,并且传送控制给功能块635。该功能块635输出画面Img_k_final,并且传送控制给结束块699。
隐式滤波信令
按照本原理,我们公开了第二方面,其中我们通过跳过用于某些区域的信令位降低对于基于区域的滤波需要的辅助信息。已经注意到,当滤波的时候,在许多的区域中像素值具有非常少的变化。基于这个观察,滤波不影响这些像素,本原理目的在于在这些区域中耗费与滤波信息(例如,滤波器开关信息)相关的非常少的位。我们也注意到,在某些区域(例如,纹理区域)中,该滤波器的确工作良好,而在其它的区域中,该滤波器是相对固定的。对于所有这些区域,我们不发送滤波器开关信息或者滤波器信息,由于我们可以在编码器和解码器上保持该信息固定。一般地说,按照本原理的这个方面,我们提出首先检测这些区域,然后跳过(即,不发送和/或换句话说不传送)用于这些区域的辅助信息。
在一个实施例中,滤波器首先应用于整个重建的画面以生成滤波的画面。该滤波的画面和重建的画面然后与检测这些特定的区域相比。不必要的区域可以由在重建的帧和滤波的帧之间的差别小于某些阈值的块或者区域限定。例如,如果以下适用,块R(X,Y)是不必要的区域:
这里(i,j)指的是在画面中的像素位置,th_unness是阈值,并且可以对于不同的块大小采取不同的值,而且M(i,j)是用于像素(i,j)的预测图。M(i,j)定义如下:
这里Img_dec是在滤波之前的帧,并且Img_filtered是在滤波之后的帧。如果在区域内部的预测图值的总和小于一个阈值,则用于那个块的位是不必要的,并且被跳过。类似地,在四叉树子块级内部,如果在子块内部的该预测图值小于一个阈值,用于那个子块的位也被跳过。
类似地,必要的区域可以由在重建的帧和滤波的帧之间的差别大于某些阈值的块或者区域限定。例如,如果以下适用,块R(X,Y)是必要的区域:
这里(i,j)指的是在画面中的像素位置,并且th_ness是阈值,并且可以对于不同的块大小采取不同的值。
不属于或者不必要的或者必要的区域的区域定义为可能的区域。我们只须发送用于那些可能的区域的辅助信息,因为那些可能的区域包括不确定性的大部分。对于其他的两个区域,我们不发送任何辅助信息,因为不必要的区域不需要被滤波,而必要的区域将明确地被滤波。应该理解,该区域或者块可以具有不同的大小和拓扑结构。应该进一步理解,该阈值还可以对于不同的块或者区域采取不同的值。需要进行这个区域分割的所有信息在编码器和解码器两者上是可用的,因为我们只是比较重建的图像和滤波的重建图像。因此,我们不需要发送额外的开销给区域分割。
在另一个实施例中,该重建的帧和滤波的帧被比较以获取滤波区域的粗略的检测。然后,该粗略的区域检测通过结合来自解码的画面更多的特征,诸如,例如时空的局部变化、压缩模式、运动信息等等来细化。该细化的区域检测提供最后的分割。如它们将在解码器上隐含地确定的,我们发送仅仅对于可能的区域,和不发送对于必要的和不必要的区域的辅助信息。
转向图7,用于在视频编码器中以隐式滤波信令自适应地滤波画面数据的示范方法通常通过参考数字700表示。该方法700包括开始模块705,其传送控制给功能模块710。该功能块710基于原始画面Img_org和重建的画面Img_dec估计滤波器F,并且传送控制给功能块715。该功能块715将滤波器F应用于重建的画面Img_dec以获取Img_filtered,并且传送控制给功能块720。该功能块720基于公式(2)产生预测图M,并且传送控制给功能块725。该功能块725将画面Img_dec分割为不必要的、必要的和可能的区域,并且传送控制给功能块730。该功能块730基于来自Img_dec、编码模式、运动信息等等的特征来细化该分割结果,并且传送控制给功能块735。该功能块735基于比率失真(RD)成本给予对于每个可能的区域关于是否不转换每个块滤波器“开”或者“关”的决定,并且传送控制给功能块740。该功能块740对于必要的区域将滤波器开关设置为“开”,对于不必要的区域将滤波器开关设置为“关”,并且传送控制给功能块745。该功能块745基于在每个块上的滤波器开关信息将滤波器F应用于画面Img_dec,并且传送控制给功能块750。该功能块750编码对于可能的区域的开关信息,编码滤波器F,并且传送控制给结束模块799。
转向图8,用于在视频解码器中以隐式滤波信令自适应地滤波画面数据的示范方法通常通过参考数字800表示。该方法800包括开始模块805,其传送控制给功能块810。该功能块810分析滤波器F,分析用于可能的区域的开关信息,并且传送控制给功能块815。该功能块815将滤波器F应用于重建的画面Img_dec以获取Img_filtered,并且传送控制给功能块820。该功能块820基于公式(2)产生预测图M,并且传送控制给功能块825。该功能块825将画面Img_dec分割为不必要的、必要的和可能的区域,并且传送控制给功能块830。该功能块830基于来自Img_dec、编码模式、运动信息等等的特征来细化该分割结果,并且传送控制给功能块835。该功能块835基于分析的结果设置用于可能的区域的滤波器开关,并且传送控制给功能块840。该功能块840对于必要的区域将滤波器开关设置为“开”,对于不必要的区域将滤波器开关设置为“关”,并且传送控制给功能块845。该功能块845基于在每个块上的滤波器开关信息将滤波器F应用于画面Img_dec,并且传送控制结束块899。
迭代滤波和隐式滤波信令的组合
应该理解,以上提出的两个或更多个不同的实施例可以合并以进一步改善性能。在迭代滤波过程中,我们需要定义用于滤波器估计的数据组,因此,我们可以在隐式滤波信令中使用区域检测技术,用于定义或者细化该数据组。该隐式滤波信令技术可以在迭代滤波过程中用于每个迭代或者某些迭代。
在一个实施例中,该迭代滤波过程的一个迭代被执行,并且估计的滤波器和滤波的画面被从其中输出。然后,该滤波的画面和未滤波的画面(重建的画面)可用于执行区域检测以将该画面分割为必要的、不必要的和可能的区域。在下一个迭代中,仅仅必要的和可能的区域像素结合进用于滤波器估计的数据组中。我们保持迭代地滤波画面和细化滤波器估计。当滤波画面的质量没有更多改善(例如,低于阈值)的时候,然后,该迭代过程结束。
转向图9,用于在视频编码器中以隐式滤波信令自适应地和迭代地滤波画面数据的示范方法通常通过参考数字900表示。该方法900包括开始模块905,其传送控制给功能模块910。该功能块910限定滤波器结构(例如,支柱尺寸和拓扑结构),并且传送控制给循环限制块915。当(delta_dist>阈值并且K<max_K)时,该循环限制块915开始循环,并且传送控制给功能块920。该功能块920确定用于通过使用重建的画面Img和/或Imgk-1的滤波器估计的数据组Dk,并且传送控制给功能块925。该功能块925基于数据组Dk估计滤波器Fk,并且传送控制给功能块930。该功能块930基于比率失真(RD)成本确定用于可能的区域的开关信息,对于必要的区域将滤波器开关设置为“开”,对于不必要的区域将滤波器开关设置为“关”,并且传送控制给功能块935。该功能块935通过使用Fk和开关信息滤波预滤波的画面Imgk-1以获取滤波的画面Imgk,并且传送控制给功能块940。该功能块940计算在Imgk和原始画面org之间的失真distk,并且传送控制给决定块945。该决定块945确定是否distk<distk-1。如果是这样的话,则控制被传送给功能块950。另外,控制被传送给功能块955。该功能块950设置Fbest[k]=Fk,设置k_final=k,并且传送控制给该功能块955。该功能块955设置Delta_dist=|distk-distk-1|,并且传送控制给循环限制块960。该循环限制块960结束循环,并且传送控制给功能块965。该功能块965编码k_final和滤波器Fbest[k],并且传送控制给结束块999。
转向图10,用于在视频解码器中以隐式滤波信令自适应地和迭代地滤波画面数据的示范方法通常通过参考数字1000表示。该方法1000包括开始模块1005,其传送控制给功能块1010。该功能块610分析k_final,并且传送控制给功能块1015。该功能块1015分析滤波器Fbest[k]、结构、和系数,这里k=0、...、k_final,并且传送控制给循环限制块1020。当(k<k_final)时,该循环限制块1020开始循环,并且传送控制给功能块1025。该功能块1025基于分析的结果确定用于可能的区域的开关信息,对于必要的区域将滤波器开关设置为“开”,对于不必要的区域将滤波器开关设置为“关”,并且传送控制给功能块1030。该功能块1030通过使用Fbest[k]和开关信息滤波画面Imgk-1以获取滤波的画面Imgk,并且传送控制给循环限制块1035。该循环限制块1035结束循环,并且传送控制给功能块1040。该功能块1040输出画面Img_k_final,并且传送控制给结束块1099。
句法
表1示出按照本原理的一个实施例示范的画面和片段头部句法。
表1
picture_header(){ |
描述符 |
... |
|
iterative_filtering_flag |
u(l) |
implicit_filter_signal_flag |
u(l) |
... |
|
} |
|
slice_header(){ |
|
... |
|
if(iterative_filtering_flag==1){ |
|
k_final |
u(v) |
for(k=0;k<K_fina1;k++) |
|
for(j=0;j<filter_support_size;j++) |
|
filter_coeff[k][j] |
u(v)11 --> |
} |
|
else{ |
|
for(j=0;j<filter_support_size;j++) |
|
filter_coeff[0][j] |
u(v) |
} |
|
if(implicit_filter_signal_flag==1){ |
|
for(i=0;i<blk_num_in_possible_regions;i++) |
|
filter_switch[i] |
u(l) |
} |
|
else{ |
|
for(i=0;i<blk_num_in_slice;i++) |
|
filter_switch[i] |
u(l) |
} |
|
... |
|
} |
|
表1的句法元素的某些的语义如下:
iterative_filtering_flag等于1表示该迭代滤波过程被启用(使用)用于该画面。iterative_filtering_flag等于0表示该迭代滤波过程被停用(未使用)用于该画面。
k_final指定迭代滤波过程的迭代次数。
implicit_filter_signal等于1表示隐式滤波信令被启用用于该画面。implicit_filter_signal_flag等于0表示隐式滤波信令被禁止用于该画面。
filter_switch[i]等于1指定该滤波器对于区域i开;filter_switch[i]等于0表示该滤波器对于区域i关。
filter_coeff[k][j]指定在迭代k用于该画面的滤波器系数。
现在将给出本发明许多伴随的优点/特点的一些的描述,其中的一些已经在上面提及。例如,一个优点/特点是具有用于使用自适应滤波对于画面的至少一部分画面编码画面数据的视频编码器的装置。该视频编码器包括用于执行自适应滤波的自适应滤波器。用于自适应滤波的最终滤波器系数组是通过如下确定的:迭代地估计多个滤波器系数组,并且当对应于多个滤波器系数组的最终估计的一个的最终的迭代导致质量改善超出对于该部分的阈值的时候,将多个滤波器系数组的最终估计的一个选择为最终的滤波器系数组。
另一优点/特点是具有如上所述的视频编码器的装置,其中用于确定最后的滤波器系数组的迭代次数是固定的。
又一优点/特点是具有如上所述视频编码器的装置,其中自适应滤波涉及执行多个迭代,并且相同的滤波器类型用于多个迭代的每个。
再一优点/特点是具有如上所述视频编码器的装置,其中以全球、区域、或者本地的一个为基础迭代地估计多个滤波器系数组。
另外,另一优点/特点是具有如上所述视频编码器的装置,其中自适应滤波涉及执行多个迭代,并且多个滤波器在多个迭代的一个或多个中使用。
此外,另一优点/特点是具有如上所述视频编码器的装置,其中自适应滤波器是在环内滤波结构和环外滤波结构的至少一个中使用的。
此外,另一优点/特点是具有用于使用自适应滤波对于画面的至少一部分画面编码画面数据的视频编码器的装置。该视频编码器包括用于执行自适应滤波的自适应滤波器。用于自适应滤波的至少滤波器系数组和用于启用或者停用自适应滤波的一个的滤波开关信息使用隐式区域表示方法隐含地表示,隐式区域表示方法分别地将在画面中的一个或多个区域指定为特定候选者、特定非候选者、和可能候选者,用于自适应滤波。
另外,另一优点/特点是具有如上所述视频编码器的装置,其中该画面被分割以获得一个或多个区域。
另外,另一优点/特点是具有视频编码器的装置,其中该画面被分割以获得如上所述的一个或多个区域,其中是否特定的区域是特定候选者的一个、特定非候选者的一个、或者可能候选者的一个的识别是通过比较与画面对应的滤波的帧和重建的帧确定的。
此外,另一优点/特点是具有该视频编码器的装置,其中该画面被分割以获得如上所述的一个或多个区域,其中是否特定的区域是特定候选者的一个、特定非候选者的一个、或者可能候选者的一个的识别能够是使用来自与画面对应的滤波的帧和重建的帧的至少一个的内容特征检测和细化的至少一个。
此外,另一个优点/特点是具有该视频编码器的装置,其中该画面被分割以获得如上所述的一个或多个区域,其中是否特定的区域是特定候选者的一个、特定非候选者的一个、或者可能候选者的一个的识别能够是使用与该画面对应的编码信息检测和细化的至少一个。
另外,另一优点/特点是具有该视频编码器的装置,其中是否特定的区域是特定候选者的一个、特定非候选者的一个、或者可能候选者的一个的识别能够是使用与如上所述的该画面对应的编码信息检测和细化的至少一个,其中该编码信息包括编码模式、运动信息、画面类型和片段类型的至少一个。
另外,另一优点/特点是具有视频编码器的装置,其中该画面被分割以获得如上所述的一个或多个区域,其中用于分割一个或多个区域的准则对于一个或多个区域和区域边界的不同的一个的至少一个是可变的。
本原理的这些和其它的特点以及优点可以容易地由一个相关领域普通的技术人员基于在此处的教导来确定。应该理解,本原理的教导可以以硬件、软件、固件、专用的处理器或者其组合的各种各样的形式来实现。
最好是,本原理的教导是作为硬件和软件的组合来实现的。此外,该软件可以作为在程序存储单元上有形地实施的应用程序来实现。该应用程序可以加载到,并且由包括任何适宜的结构的机器执行。最好是,该机器是在具有硬件,诸如一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)和输入/输出(“I/O”)接口的计算机平台上实现的。该计算机平台还可以包括操作系统和微指令代码。在此处描述的各种各样的处理和功能或者可以是微指令代码的一部分,或者可以是应用程序的一部分(或者其任意组合),其可以由CPU执行。此外,各种各样其他的外围单元可以连接到计算机平台,诸如,附加的数据存储单元和打印单元。
进一步应该理解,因为在伴随的附图中描述的构成系统部件和方法的一些最好是以软件实现,取决于本原理编程的方式,在系统部件或者处理功能模块之间的实际连接可以不同。在此处给出教导,一个普通的相关领域技术人员将能够期待本原理的这些和类似的实施或者结构。
虽然参考伴随的附图在此处已经描述了说明性的实施例,应该理解,本原理不局限于这些明确的实施例,并且不脱离本原理的范围或者精神,可以由一个普通的相关领域技术人员在其中实施各种各样的变化和修改。所有这样的变化和修改意欲被包括在如在所附的权利要求阐述的本原理的范围内。