背景技术
多视角视频编码(Multi-view video coding,MVC)是对从多个照相机获得的多幅相应视角的图像进行处理,即处理多视角图像。根据预定的规则,以相对于对象的不同距离和/或不同方向上设置多个相互分离的照相机。所以,形成一副多视角图像的多幅相应视角的图像在很大程度上相互关联。因此,如果适当利用各视角的图像之间的这种高度的关联性,就可以大大提高MVC的编码效率。
基于H.264/MPEG-4部分10高级视频编码(下文中称其为H.264/AVC,它是动画编码的国际标准),考虑到上述多视角图像的特征,对MVC(其标准尚在制定中)的研究正在进行,以提升编码效率。例如,将层级B-图像编码处理(其用于支持H.264/AVC中定义的联合可扩展视频编码(Joint Scalable Video Coding,JSVC)中的时间扩展)应用于视角内(intra-view)预测编码处理。此外,考虑到多视角图像的上述特征,在MVC中,还执行视角间(inter-view)预测处理,以获得高编码效率。
图1示出了MVC中视角内预测和视角间预测之间关系的示意性预测结构,MVC标准尚在制定中。图1示出了8个视角,其表明时间方向上图像组(GOP)的大小是8帧。参见图1,S0、S1、S2、S3...S7表示视角,T0、T1、T2、T3...T100表示时间方向。
参见图1,在每个视角中,使用时间方向上在H.264/AVC中定义的层级B-图像结构来执行预测编码处理。在第一时间(T0)上的每个视角的图像和在时间方向上与T0上的图像相隔距离是8帧的图像(即,相隔距离与图像组(GOP)的大小对应的图像,例如,在T8、T16和T24上的图像)仅为视角间预测的。具体而言,在T0,T8,T16,T24...,视角S2是从视角S0预测的,视角S1是从视角S0和视角S2预测的,视角S4是从视角S2预测的,视角S3是从视角S2和视角S4预测的,视角S6是从视角S4预测的,视角S5是从视角S4和视角S6预测的,视角S7是从视角S6预测的,因为S7是最终视角。
在每隔一个视角中,即在视角S1、S3、S5和S7中,在其他时间T1、T2、T3...T7、T9、T10...,执行时间视角内预测和视角间预测。即,除了时间视角内预测之外,还从视角S0和视角S2对视角S 1进行视角间预测,从视角S2和视角S4对视角S3进行视角间预测,从视角S4和视角S6对视角S5进行视角间预测。
与此同时,通常由于方向的不同,对象的反射光也会不同,在MVC中为了获得较高的编码效率需要对此进行考虑。具体而言,可以在不同距离和/或方向在对象周围设置照相机,因此即便当在同一时间为对象拍照时,从相应照相机获得的图像也可能具有不同的亮度(也被称为光照)和/或不同的色度。在其标准尚在制定的MVC中,在对相应视角的图像之间的光照和/或色度差异进行补偿后,执行视角间预测编码以获得较高的编码效率。
除了视角方向上的预测编码外,这种光照补偿或色度补偿还可以应用于时间方向上的预测编码。在其标准尚在制定的MVC中,视角方向和/或时间方向中的预测编码使用光照补偿处理和/或色度补偿处理。在与运动预测处理同时进行的光照补偿处理和/或色度补偿处理中,获得光照变化值和/或色度变化值(其是当前帧(也被称作当前块)和参考帧(也被称作参考块)之间的光照和/或色度差值),随后将光照和/或色度差值应用于参考帧的图像。
然而,在其标准尚在制定的MVC中考虑的光照和/或色度补偿处理是在具有预定大小的块单元(例如宏块或小于宏块的块单元)中执行的。这种块单元中的光照补偿处理和/或色度补偿处理可能会导致块效应。因此,就需要寻找一种方法以消除或减少由光照补偿和/或色度补偿造成的块效应。但是,在其标准尚在制定的MVC中,却没有对此需求进行考虑。
发明内容
本发明提供了消除或减少由光照补偿(IC)和/或色度补偿引起的块效应的边界滤波强度(bS)的推导过程,以及使用所述推导过程的去块滤波的方法和装置。
本发明还提供了高效地消除或减少由IC模式等引起的块效应的bS推导过程,而同时并不改变常规的去块滤波处理的主要构思,以及使用所述推导过程的去块滤波方法和装置。
根据本发明的一方面,提供一种用于去块滤波的bS推导过程,包括:判断两个相邻块中的至少一个是否为内编码;如果所述两个块均不是内编码,则判断所述两个块中的至少一个是否包含正交变换系数;如果所述两个块均不包含正交变换系数,则判断所述两个块的运动补偿是否是基于不同的参考帧而执行的,或者所述两个块的两个运动向量的水平或垂直分量之间的绝对差值是否大于或等于1;如果运动补偿是基于相同的参考帧而执行的,并且所述两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1,则判断所述两个块是否是通过IC模式进行编码。
根据本发明的另一方面,提供了去块滤波的bS推导过程,包括:确定相邻两个块的bS。具体而言,bS推导过程包括判断所述两个块是否是通过IC模式进行编码并且根据所述判断结果来确定bS,其中,当两个块均不是内编码且包含正交变换系数,以及,两个块的运动补偿是基于相同参考帧而执行的且两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1时,执行所述两个块是否是通过IC模式进行编码的判断。
根据本发明的另一方面,提供了去块滤波方法,包括:对相邻的两个块进行bS推导过程;根据所推导出的bS,对所述两个块的像素值进行滤波的过程,其中所述bS推导过程包括:判断两个相邻块中的至少一个是否为内编码;如果所述两个块均不是内编码,则判断所述两个块中的至少一个是否包含正交变换系数;如果所述两个块均不包含正交变换系数,则判断所述两个块的运动补偿是否是基于不同的参考帧而执行的,或者所述两个块的两个运动向量的水平或垂直分量之间的绝对差值是否大于或等于1;如果运动补偿是基于相同的参考帧而执行的,并且所述两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1,则判断所述两个块是否是通过IC模式进行编码。
根据本发明的另一方面,提供了去块滤波装置,包括:bS推导单元,其推导两个相邻块的bS;滤波单元,其根据从bS推导单元输出的bS,对所述两个块的像素值进行滤波,其中所述bS推导过程包括:判断两个相邻块中的至少一个是否为内编码;如果所述两个块均不是内编码,则判断所述两个块中的至少一个是否包含正交变换系数;如果所述两个块均不包含正交变换系数,则判断所述两个块的运动补偿是否是基于不同的参考帧而执行的,或者所述两个块的两个运动向量的水平或垂直分量之间的绝对差值是否大于或等于1;如果运动补偿是基于相同的参考帧而执行的,并且所述两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1,则判断所述两个块是否是通过IC模式进行编码。
根据本发明的另一方面,提供了去块滤波方法,包括:对相邻的两个块进行bS推导过程;根据所推导出的bS,关于所述两个块的像素值应用滤波的过程,其中所述bS推导过程包括:当两个块均不是内编码,两个块均不包含正交变换系数,两个块的运动补偿是基于相同参考帧而执行的,并且两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1时,判断所述两个块是否是通过IC模式进行编码;当两个块均是通过IC模式进行编码并且所述块具有相同的光照变化值,或者,两个块均不是通过IC模式进行编码时,为bS分配一个值,以使无需进行边界滤波。
根据本发明的另一方面,提供了一种bS推导过程,包括:判断两个相邻块中的至少一个是否为内编码;如果所述两个块均不是内编码,则判断所述两个块中的至少一个是否包含正交变换系数;如果所述两个块均不包含正交变换系数,则判断所述两个块的运动补偿是否是基于不同的参考帧而执行的,或者所述两个块的两个运动向量的水平或垂直分量之间的绝对差值是否大于或等于1;如果运动补偿是基于相同的参考帧而执行的,并且所述两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1,则判断所述两个块是否均是通过IC模式进行编码并且所述块是否具有不同的光照变化值,或者所述两个块中是否仅有一个是通过IC模式进行编码;如果所述两个块均是通过IC模式进行编码并且所述块具有不同的光照变化值,则使用所述两个块的光照变化值之间的差值来推导bS,如果所述两个块中仅一个是通过IC模式编码,则所述IC编码块的光照变化值来推导bS。
根据本发明的再一个方面,提供一种去块滤波方法,包括:相邻两个块的bS边界滤波强度推导过程;根据所推导出的边界滤波强度bS对所述两个块的像素值进行滤波的过程,其中,所述边界滤波强度bS推导过程包括:判断两个相邻块中是否至少一个为内编码;如果所述两个块均不是内编码,则判断所述两个块中是否至少一个包含正交变换系数;如果所述两个块均不包含正交变换系数,则判断以下两个条件是否成立:所述两个块的运动补偿是基于不同的参考帧而执行的,或者,所述两个块的两个运动向量的水平或垂直分量之间的绝对差值大于或等于1;如果所述两个块的运动补偿是基于相同的参考帧而执行的,并且所述两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1,则判断所述两个块是否是通过IC模式进行编码所述两个块均通过光照补偿模式编码并且具有不同的光照变化值,或者所述二个块中仅有一个通过光照补偿模式编码;如果所述两个块均通过光照补偿模式编码并且具有不同的光照变化值,则使用这两个块的光照变化值之间的差值推导该边界滤波强度;以及如果所述两个块中仅有一个块是通过光照补偿模式编码,则使用由光照补偿模式编码的块的光照变化值推导该边界滤波强度。
根据本发明的再一个方面,提供、一种边界滤波强度bS推导过程,包括:判断两个相邻块中是否至少一个为内编码;如果所述两个块均不是内编码,则判断所述两个块中是否至少一个包含正交变换系数;如果所述两个块均不包含正交变换系数,则判断以下两个条件是否成立:所述两个块的运动补偿是基于不同的参考帧而执行的,或者,所述两个块的两个运动向量的水平或垂直分量之间的绝对差值大于或等于1;如果所述两个块的运动补偿是基于相同的参考帧而执行的,并且所述两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1,则判断以下两个条件是否成立:所述两个块均是通过IC光照补偿模式进行编码并且所述块具有不同的光照变化值,或者,所述两个块中仅有一个是通过IC光照补偿模式进行编码;如果所述两个块均是通过光照补偿IC模式进行编码并且所述两个块具有不同的光照变化值,则使用所述两个块的光照变化值之间的差值来推导边界滤波强度bS,或者,如果所述两个块中仅一个是通过光照补偿IC模式进行编码,则使用该光照补偿IC编码块的光照变化值来推导边界滤波强度bS。
根据本发明的再一个方面,提供一种去块滤波装置,包括:执行相邻两个块的边界滤波强度推导过程并输出所推导的边界滤波强度的边界滤波强度推导单元;与所述边界滤波强度推导单元耦合并且根据从所述边界滤波强度推导单元输入的边界滤波强度对所述两个块进行解块滤波的滤波单元,其中,所述边界滤波强度推导过程包括:判断两个相邻块中是否至少一个为内编码;如果所述两个块均不是内编码,则判断所述两个块中是否至少一个包含正交变换系数;如果所述两个块均不包含正交变换系数,则判断以下两个条件是否成立:所述两个块的运动补偿是基于不同的参考帧而执行的,或者,所述两个块的两个运动向量的水平或垂直分量之间的绝对差值大于或等于1;如果所述两个块的运动补偿是基于相同的参考帧而执行的,并且所述两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1,则判断所述两个块均通过光照补偿模式编码,并且所述两个块具有不同的光照变化值,或者所述两个块中仅有一个通过光照补偿模式编码;如果所述两个块均通过光照补偿模式编码,并且所述两个块具有不同的光照变化值,或者如果所述两个块中仅有一个块是通过光照补偿模式编码,则使用这两个块的光照变化值的差值或者光照补偿模式编码的块的光照变化值推导边界滤波强度。附图说明
具体实施方式
下面将结合其中示出本发明示例性实施例的附图详细描述本发明。但是,本发明也可以以多种不同的方式进行实施,本发明并不限于本文所阐述的实施例;需要特别说明的是,提供这些实施例是为了使本文变得清晰完整,使本领域技术人员能够完全地理解本发明的思想。在实施例和附图中,为方便起见,各部分用附图标记来表示。
如上所述,当图像在块单元中编码时,可能会出现块效应。可以使用例如在H.264/AVC标准中定义的去块滤波方法来消除或减少块效应。根据这种去块滤波方法,首先执行边界滤波强度(bS)推导过程,以对滤波程度进行分类,随后基于推导出的bS对相邻块的像素值进行滤波。但是,因为去块滤波方法适用于不考虑光照补偿和/或色度补偿的单视角视频编码,所以,其不适用于考虑光照补偿和/或色度补偿的多视角视频编码(MVC)。
与此同时,还考虑了MVC(其标准尚在制定中)的H.264/AVC标准中定义的常规去块滤波方法的应用。图2的流程图示出了考虑应用于MVC的去块滤波方法中的bS推导过程。下面将结合图2详细描述bS推导过程。
参照图2,判断在相邻块p和q中是否至少有一个是内编码(intra-coded)(S101)。在本文中,块p或块q是内编码或间编码(inter-coded)的意思是说:块p或块q指向内编码宏块或属于内编码宏块。
图3中示出了块p和q的关系。参见图3,块p是位于块p和q的块边界的左侧或上侧的块,块q是位于块p和q的块边界的右侧或下侧的块。如果在步骤S101中的块p和q中的至少一个是内编码,则执行步骤S102。否则,如果步骤S101中的块p和q都是间编码的话,则执行步骤S103。在本文中,间编码是一种预测编码,其使用和当前帧相比具有不同时间和/或视角的重新构造的帧图像作为参考帧。
如果在步骤S101中的块p和q中的至少一个是内编码,则判断块p和q的边界是否是宏块(MB)的边沿(S102)。如果块p和q的边界是MB的边沿,则将bS设置为4(S105)。否则,如果块p和q的边界不是MB的边沿,则将bS设置为3(S106)。当bS被设置为4时,在后续的滤波应用处理中执行最强的滤波。当bS具有较小值的时候,则执行较弱的滤波。
如果在步骤S101中的块p和q都是间编码块,则判断块p和q中的至少一个是否包含正交变换系数(S103)。正交变换系数也被称作编码系数或非零变换系数。如果块p和q中的至少一个包含了正交变换系数,则将bS设置为2(S107)。否则,如果块p和q均未包含正交变换系数,则执行步骤S104。
步骤S104包括:判断是否基于不同参考帧而执行了两个块p和q的运动补偿(MC),或者两个块的两个运动向量的水平分量和垂直分量之间的绝对差值是否大于或等于1(S104)。在本文中,语句“MC是基于不同参考帧而执行的”的意思是说:MC是基于不同种类的参考帧而执行的和/或MC是基于不同数量的参考帧而执行的。如果运动补偿是基于不同参考帧而执行的或绝对差值大于或等于1,则将bS设置为1(S108)。否则,如果两个块p和q的运动补偿是基于相同参考帧而执行的,且两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1,则将bS设置为0(S109)。当将bS设置为0时,在后续的滤波应用处理中不执行滤波。
如上所述,MVC的去块滤波方法中的bS推导过程并不考虑待处理的块是否是通过光照补偿或色度补偿编码的。另一方面,如参考图1所述,当执行了视角方向和/或时间方向上的MVC预测编码时,执行光照补偿和/或色度补偿以提高编码效率。如上所述,如果视角方向或时间方向上的预测编码考虑光照补偿和/或色度补偿,且去块滤波方法不考虑光照补偿和/或色度补偿,则使用去块滤波方法无法完全消除或有效减少块效应。
在下文中,本发明的实施例介绍了在图像编码/解码处理(例如其中使用光照补偿和/或色度补偿来执行编码的MVC)中完全消除或减少块效应的方法和装置。将引用去块滤波结合光照值来描述本发明。但是,对本领域普通技术人员显而易见的是,本发明并不限于结合光照值的去块滤波。
第一实施例
图4示出了根据本发明第一实施例的去块滤波方法中的bS推导过程的流程图。
参见图4,首先判断以下两个条件成立与否:两个相邻块p和q均通过光照补偿(IC)模式进行编码并且块p和q具有不同的光照变化值,或者,块p和q中仅有一个是通过IC模式编码的(S201)。这里,IC模式是视角或时间方向上的预测编码类型,通过该模式,将光照补偿应用于块p和q或包括p和q的块。
如果相邻块p和q均是通过IC模式编码的并且块包含不同的光照变化值,或者,块p和块q中仅有一个是通过IC模式编码的,则将bS设置为非零预定值(K1)(S202)。例如,K1可以是如H.264/AVC中所定义的在1到4之间的一个整数。另一方面,如果块p和q均不是通过IC模式编码的,或者,块p和q均是通过IC模式编码的但块p和q均包含相同的光照变化值,则将bS设置为0(S203)。在本文中,当将bS设置为0时,不在滤波应用处理中执行滤波。
代表bS的K1可以是预定值,例如在1到4之间的一个整数。或者,如果块p和q均是通过IC模式编码的话,则K1可以是根据块p和q的光照变化值之差(即,块p和q的光照变化值的绝对差值)的两个或更多个变量;如果块p和q中仅有一个是通过IC模式编码的,则K1可以是根据块的光照变化值(或光照变化绝对值)的两个或更多个变量。例如,如果光照变化值的差值或光照变化值等于或大于预定的门限值(例如5),则将K1设置为3,否则如果光照变化值的差值或光照变化值小于门限值,则将K1设置为1。如后所述,执行仿真处理,在该仿真处理中,将门限值设置为5,并基于该门限值将K1设置为1或3。使用MVC测试图像的仿真处理结果显示,图像质量得到了提高。
图5示出了根据本发明第一实施例的去块滤波方法中的bS推导过程的另一个示例性流程图。本实施例在推导bS的一些判断处理上不同于参考图4描述的上述实施例。
参见图5,首先判断块p和q中是否至少一个是通过IC模式编码的(S211)。如果块p和q均不是通过IC模式编码的,则将bS设置为0(S214)。否则,如果块p和q中的至少一个是通过IC模式编码的,则执行步骤S212。步骤S212包括:判断块p和q是否均是通过IC模式进行编码以及它们的光照变化值是否相同(S212)。如果块p和q均是通过IC模式编码的且它们的光照变化值相同,则将bS设置为0,否则将bS设置为非零预定值(K1)。这里,K1可以是一个确定的值或根据光照变化值之差或光照变化值的变量。
第二实施例
根据第一实施例的bS推导过程和使用该推导过程的去块滤波方法可以消除或减少仅由光照补偿引起的块效应。考虑到有常规去块滤波方法,问题是如何将上述本发明的第一实施例与图像编码/解码处理中的常规去块处理相结合,这是因为结合的方法可以大大影响编码效率和/或图像质量。
例如,根据第一实施例的去块滤波方法可以与诸如H.264/AVC的去块滤波方法之类的常规去块滤波方法一起执行。具体而言,根据第一实施例的去块滤波方法可以在常规去块滤波方法之前或之后执行。但是,这种结合的方法可能会导致不利的效果。即,由于在编码或解码过程中应执行两次去块滤波方法,或者由于两次去块滤波会偏移滤波效果,因此效率会降低。
为了解决此问题,在常规去块滤波方法中可以考虑是否执行IC处理,此即综合的去块滤波方法。例如,常规去块滤波方法,具体是指,在bS推导过程中考虑的常规判断程序,它可以与判断编码是否通过IC模式执行的处理一起执行,随后,可以执行一次滤波应用处理。因此,可以有效地执行编码。
但是,即便在此方法中,在常规bS推导过程中何时考虑IC编码和/或如何考虑IC编码,也会影响编码效率。因此,就需要以最大化去块滤波效果的方式将常规bS推导算法与上面根据第一实施例所述的确定程序相结合。如后所述,在常规bS推导过程算法的最后步骤,即仅当根据H.264/AVC标准定义的bS推导过程中的bS被设置为0时,考虑根据第一实施例所述的IC编码。此外,根据本实施例,bS是基于光照变化值之差或一个特定块的光照变化值而大致推导出来的,以有效地改善图像质量。
如上所述,在常规bS推导过程中仅当满足特定的情况(H.264/AVC中bS=0)时,才将第一实施例应用于当前实施例,基于仿真处理的数据,考虑块效应的消除或减少以及编码效率,其被认为是最有效的方法。
通过仿真结果,本发明的发明人发现,当将常规去块滤波方法应用于MVC时,边界条件bS=0的块中出现了很明显的块效应。表1示出了关于下列各项的示例:量化参数,bS频率(将其应用于多个块中的相邻块,所述多个块形成图像序列“舞厅(Ballroom)”的第191帧,所述图像序列舞厅是具有四分之一视频图像阵列(QVGA)的MVC测试图像序列之一)。使用参考图2所述的bS推导过程来获得bS。参见表1,尽管根据量化参数的频率中存在差异,但已经将为0或1的bS分配给了至少80%的IC块。此外,大约44%至50%的IC块包含边界条件bS=0,因此未应用去块滤波。
表1
参见表1,在大约50%的IC块中未应用滤波,因此,对象图像质量由于块效应而降低。此外,本发明的发明人还发现了通过仿真处理获得的表1的测试图像中的这种块中的块效应。另外,还发现当将bS设置为1时,就不会出现块效应。
利用使用其他测试图片获得的其他仿真数据也得到了这样的结果。例如,相同的结果出现在该图像序列舞厅的第12幅图像以及出口QVGA序列的第3视角,第12帧。即,根据H.264/AVC算法,块效应基本上出现在具有边界条件bS=0的块中。
因此,根据本发明,仅当相邻的两个块是间编码时,才通过考虑当对这些块编码时是否执行IC来推导bS。根据本发明的一个实施例,当相邻的两个块是间编码并且基于H.264/AVC而将bS设置为0时,即当两个块均不包含正交变换系数,且两个块的运动补偿(MC)是基于相同参考帧而执行的,且两个块的两个运动向量的水平或垂直分量之间的绝对差值小于1时,则通过考虑两个块是否是通过IC模式编码的来推导bS。根据本实施例,当两个块中的至少一个是内编码时,当两个块均是间编码且至少一个块包含正交变换系数时,或者,当两个块均不包含正交变换系数且基于不同参考帧执行两个块的运动补偿、或两个块的两个运动向量的水平或垂直分量的绝对差值大于或等于1时,bS推导过程不考虑两个块是否通过IC模式编码。
下面将结合相关附图来详细描述根据本发明的第二实施例的去块滤波方法中的bS推导过程。本实施例是基于由H.264/AVC定义的去块滤波方法的。根据本实施例推导的bS可以用于以与H.264/AVC定义的方式相同的方式来进行滤波。但是,根据本发明的滤波应用方法不限于此。在本文中,并未详细描述滤波应用方法。
图6和图7示出了根据本发明第二实施例的去块滤波方法中的bS推导过程的示例性流程图。
参见图6,首先判断块p和q中是否至少有一个是内编码(S301)。这里,可以通过识别包括块p或块q的宏块是否是内编码来判断块p或块q是否是内编码。如果块p和块q中至少有一个是内编码,则执行步骤S302,否则执行步骤S303。步骤S302包括判断块p和q的边界是否是MB边沿(S302)。如果块p和q的边界是MB边沿,则将bS设置为4(S307),否则将bS设置为3(S308)。步骤S303包括判断块p和q中是否至少有一个包含正交变换系数(S303)。如果块p和q中至少有一个包含正交变换系数,则将bS设置为2(S309),否则执行步骤S304。步骤S304包括判断以下条件是否成立:两个块的运动补偿基于不同的参考帧而执行,或者,两个块的两个运动向量的水平或垂直分量之间的绝对差值大于或等于1。如果基于不同的参考帧来执行两个块p和q的运动补偿,或者两个块p和q的两个运动向量的水平或垂直分量之间的绝对差值大于或等于1,则将bS设置为1(S310)。如果基于相同的参考帧来执行两个块p和q的运动补偿,并且两个块p和q的两个运动向量的水平或垂直分量之间的绝对差值小于1,则并不将bS设置为0,这不同于常规方法,其他处理按如图7所示的那样继续。
参考图7,判断块p和q中是否至少有一个是通过IC模式进行编码的(S305)。如果块p和q均不是通过IC模式编码,则将bS设置为0,bS推导过程结束(S312)。但是,如果块p和q中至少有一个是通过IC模式编码,则执行步骤S306。
步骤S306包括判断两个块p和q是否均是通过IC模式进行编码的以及他们的光照变化值是否相同。如果两个块p和q均是通过IC模式编码的且他们的光照值相同,则将bS设置为0,bS推导过程结束(S312)。否则,如果块p和q中仅一个是通过IC模式编码的,或者如果块p和q均是通过IC模式编码的且块p和q包含不同的光照变化值,则将bS设置为非零预定值(K1)(S311)。
如上所述,根据本发明,即便当在H.264/AVG中应将块p和q的bS推导为0时,仅在判断块p和q是否是通过IC模式编码且块p和q是否包含不同的光照变化值,或块p和q中是否仅有一个是通过IC模式编码之后,才推导bS。如果块p和q是通过IC模式编码的且块p和q包含不同的光照变化值或者块p和q中仅一个是通过IC模式编码的,则将bS设置为非零预定值(K1),因此使用对应的滤波强度来执行滤波。否则,如果块p和q均是通过IC模式编码的且块p和q包含相同的光照变化值,则像常规情况一样将bS设置为0,因此不执行滤波。
根据本发明的实施例,K1可以是预定值,因此后续滤波应用处理可以使用恒定的强度执行。根据本发明的另一个实施例,K1可以是根据具体情况的变量,在本例中,可以使用不同的滤波强度来执行后续的滤波应用处理。例如,当块p和q均是通过IC模式编码时,根据光照变化值之间的差值可以相应地推导bS;另一方面,仅当块p和q中的一个是通过IC模式编码时,根据该块的光照变化值的大小(绝对值)来相应地推导bS。在这些情况中,当光照变化值之差或光照变化值较大时,执行强滤波,另一方面,当光照变化值之差或光照变化值较小时,执行弱滤波。如参考第一实施例所述,如果光照变化值之差或光照变化值大于预定门限值时,例如如果K1是5或比5大,则将K1设置为3,并执行强滤波。另一方面,如果光照变化值之差或光照变化值小于5,则将K1设置为1,并执行弱滤波。
图8和图9示出了根据本发明第二实施例的去块滤波方法中的bS推导过程的另一个示例性流程图。
参见图8和图9,步骤S321到S324以及S327到S330与图6和图7中所示的步骤S301到S304以及S307到S310相同。因此,下面将仅详细描述根据第一和第二实施例的bS推导过程之间的不同。
参见图9,如果在步骤S324之后执行步骤S325,即如果块p和q均是间编码、块p和q均不包含非零变换系数、两个块p和q的两个运动向量的水平或垂直分量之间的绝对差值小于1且基于相同参考帧执行运动补偿,则判断两个块p和q是否均通过IC模式进行编码且这两个块是否包含不同的光照变化值,或者,块p和q中是否仅一个是通过IC模式进行编码的(S325)。如果块p和q均是通过IC模式编码的且块包含不同的光照变化值,或者,块p和q中仅一个是通过IC模式编码的,则执行步骤S326,否则将bS设置为0(S333)。
步骤S326包括判断:当块p和q中仅一个是通过IC模式进行编码时,光照变化值是否等于或大于预定门限值(T1),或者,当块p和q均是通过IC模式编码时,两个块的光照变化值之间的差值是否等于或大于预定门限值(T1)(S326)。如果光照变化值或光照变化值之差等于或大于预定门限值(T1),则将bS设置为K2(S331)。另一方面,如果光照变化值或光照变化值之差小于门限值,则将bS设置为K1,K1小于K2(S332)。在本例中,门限值(T1)=5,K1=1,K2=3。但本实施例不限于此。
图10示出了根据本发明实施例的去块滤波装置10的框图。去块滤波装置10可以被包括在MVC的编码或解码装置中。从编码或解码装置的反量化或反变化单元输出的像素残留数据和预测像素数据的总和可以被输入到去块滤波装置10中。当在视角方向和/或时间方向上执行预测编码或执行解码时,该编码或解码装置包括执行光照补偿和/或色度补偿的单元。
参见图10,去块滤波装置10包括bS推导单元12和滤波单元14。bS推导单元12根据参照图4到图7描述的本发明的实施例推导块p和q的bS。将推导bS所需的信息,例如,在H.264/AVC中定义的信息,即块p和q是内编码还是间编码的信息,是否包含正交变换系数的信息,参考帧的信息,运动向量值的信息,是否对块p和q执行IC的信息,和/或对一个块执行IC时该块的光照变化值的信息,输入到bS推导单元12中。随后,bS推导单元12输出所推导的bS。以上描述了bS推导单元12执行的bS推导过程。
基于从bS推导单元12输入的bS,滤波单元14对块p和q执行去块滤波。滤波单元14执行的滤波方法并不受限制。例如,滤波可以是基于H.264/AVC而执行的。将反量化和反变化的块p和q的像素值输入滤波单元14。
如上所述,根据本发明,可以消除或减少由光照补偿和/或色度补偿引起的块效应。根据本发明,在不改变常规去块滤波处理的总体构思的情况下,可以有效地消减由光照补偿或其他引起的块效应。
尽管本发明是参照其示例性实施例而具体示出和描述的,但本领域普通技术人员可以理解的是,可以对本发明的形式和细节进行各种各样的修改,而这并不背离由所附权利要求定义的本发明实质精神和保护范围。