CN114363613A - 滤波方法和滤波装置 - Google Patents
滤波方法和滤波装置 Download PDFInfo
- Publication number
- CN114363613A CN114363613A CN202210020791.9A CN202210020791A CN114363613A CN 114363613 A CN114363613 A CN 114363613A CN 202210020791 A CN202210020791 A CN 202210020791A CN 114363613 A CN114363613 A CN 114363613A
- Authority
- CN
- China
- Prior art keywords
- filtering
- iteration
- lcu
- filter
- image frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 319
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000005457 optimization Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012804 iterative process Methods 0.000 description 63
- 230000000694 effects Effects 0.000 description 12
- 230000004927 fusion Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013139 quantization Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于滤波方法和滤波装置,该方法包括:通过迭代的方式获得与图像帧相关的多个滤波器,每次迭代执行以下操作,直至迭代终止:通过下述操作获得本次迭代对应的滤波器:确定图像帧中与本次迭代对应的最大编码单元LCU,并基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器;通过下述操作分别获得先前迭代对应的滤波器,先前迭代为本次迭代之前的各次迭代:确定图像帧中先前迭代对应的LCU,基于确定的LCU,根据率失真优化方法更新先前迭代对应的滤波器,并将更新后的滤波器作为先前迭代对应的滤波器;针对图像帧中的每个LCU,获取多个滤波器分别执行预滤波对应的率失真代价,基于率失真代价确定每个LCU的滤波方式。
Description
技术领域
本公开涉及计算机技术领域,更具体地说,涉及滤波方法和滤波装置。
背景技术
一个图像帧可以包含多个最大编码单元(Largest Coding Unit,LCU),可以使用样值自适应偏移(Sample Adaptive Offset,SAO)滤波对多个LCU中每个LCU内的像素进行滤波。由于编码端决策出的SAO的滤波信息需要写进码流,如果针对每个LCU都导出SAO的滤波信息,就会造成码率的较大开销。
为了解决上述问题,相关技术中,引入了参数融合模式(Merge mode),即当前LCU可以复用左边相邻或者上方相邻的LCU已经决策出的SAO的滤波信息来进行滤波,而不用通过自身导出SAO的滤波信息。此种方式可以在一定程度上节省码率开销,但是,上述参数融合模式不允许当前LCU复用右方相邻、下方相邻或者非相邻的LCU的SAO的滤波信息,这就会导致具有相同的SAO的滤波信息但是非相邻的LCU重复将SAO的滤波信息写进码流,造成码率的浪费。
发明内容
本公开提供滤波方法和滤波装置,以至少解决上述相关技术中码率浪费的技术问题。
根据本公开实施例的第一方面,提供一种滤波方法,包括:通过迭代的方式获得与图像帧相关的多个滤波器,每次迭代执行以下操作,直至迭代终止:通过下述操作获得本次迭代对应的滤波器:确定所述图像帧中与本次迭代对应的最大编码单元LCU,并基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器;通过下述操作分别获得先前迭代对应的滤波器,所述先前迭代为所述本次迭代之前的各次迭代:确定所述图像帧中先前迭代对应的LCU,基于确定的LCU,根据率失真优化方法更新先前迭代对应的滤波器,并将更新后的滤波器作为先前迭代对应的滤波器;将本次迭代对应的滤波器和先前迭代对应的滤波器作为本次迭代所获取的各个滤波器;将迭代终止时获取的各个滤波器作为所述与图像帧相关的多个滤波器;针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的滤波方式。
可选地,所述针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的滤波方式,包括:针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价;若分别执行预滤波对应的率失真代价大于不执行滤波对应的率失真代价,则确定该LCU不执行滤波;否则,选择分别执行预滤波获得的率失真代价中最小的率失真代价对应的滤波器为用于对该LCU进行滤波的滤波器。
可选地,所述确定所述图像帧中与本次迭代对应的最大编码单元LCU,包括:对于首次迭代,将所述图像帧中的所有LCU确定为所述首次迭代对应的LCU;对于非首次迭代,将所述图像帧中的预定数量的LCU确定为所述本次迭代对应的LCU。
可选地,所述对于非首次迭代,将所述图像帧中的预定数量的LCU确定为所述本次迭代对应的LCU,包括:获取上一次迭代的各个滤波器;针对所述图像帧中的每个LCU,根据率失真优化方式确定是否选择上一次迭代得到的各个滤波器中的一个滤波器执行滤波;从选择了滤波器执行滤波的LCU中选择率失真代价最大的所述预定数量的LCU作为所述本次迭代对应的LCU。
可选地,所述确定所述图像帧中先前迭代对应的LCU,包括:确定所述图像帧中所述选择了滤波器执行滤波的LCU中除所述预定数量的LCU之外的LCU,为先前迭代对应的LCU。
可选地,所述基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器,包括:对所述确定的LCU在不同滤波模式下的多个滤波参数的不同取值下进行滤波,获得多个率失真代价;确定所述多个率失真代价中最小的率失真代价;基于与所述最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,获得所述本次迭代对应的滤波器。
可选地,所述基于确定的LCU,根据率失真优化方法更新先前迭代对应的滤波器,包括:对所述确定的LCU在所述先前迭代对应的滤波器的初始滤波模式下的多个滤波参数的不同取值下进行滤波,获得多个率失真代价;确定所述多个率失真代价中最小的率失真代价;基于与所述最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,更新所述先前迭代对应的滤波器。
可选地,所述方法还包括:在满足预设条件的情况下,确定迭代终止;其中,所述预设条件包括以下条件之一:本次迭代次数达到预设迭代次数;以及所述本次迭代结束时所述图像帧中的所有LCU对应的率失真代价之和大于或者等于上一次迭代结束时所述图像帧中的所有LCU对应的率失真代价之和,其中,每个LCU对应的率失真代价是通过根据率失真优化方式在本次迭代结束时得到的各个滤波器中选择一个滤波器进行滤波或不进行滤波计算出的。
可选地,在本次迭代次数达到所述预设迭代次数的情况下,所述多个滤波器为本次迭代结束时得到的多个滤波器。
可选地,在所述本次迭代结束时所述图像帧中的所有LCU对应的率失真代价之和大于或者等于上一次迭代结束时所述图像帧中的所有LCU对应的率失真代价之和的情况下,所述多个滤波器为所述上一次迭代结束时得到的多个滤波器。
可选地,所述针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的滤波方式,包括:针对所述图像帧中的每个LCU所包含的三个分量中的每个分量,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的三个分量中每个分量的滤波方式。
可选地,所述方法还包括:将所述多个滤波器的相关参数以及每个LCU的滤波标识写入比特流,其中,所述滤波标识包括指示是否执行滤波的第一标识,在所述第一标识指示执行滤波的情况下,所述滤波标识还包括指示使用所述多个滤波器中的哪个滤波器执行滤波的第二标识。
可选地,所述滤波器为样值自适应偏移SAO滤波器。
根据本公开实施例的第二方面,提供一种滤波装置,包括:获取模块,被配置为通过迭代的方式获得与图像帧相关的多个滤波器,每次迭代执行以下操作,直至迭代终止:通过下述操作获得本次迭代对应的滤波器:确定所述图像帧中与本次迭代对应的最大编码单元LCU,并基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器;通过下述操作分别获得先前迭代对应的滤波器,所述先前迭代为所述本次迭代之前的各次迭代:确定所述图像帧中先前迭代对应的LCU,基于确定的LCU,根据率失真优化方法更新先前迭代对应的滤波器,并将更新后的滤波器作为先前迭代对应的滤波器;将本次迭代对应的滤波器和先前迭代对应的滤波器作为本次迭代所获取的各个滤波器;将迭代终止时获取的各个滤波器作为所述与图像帧相关的多个滤波器;确定模块,被配置为针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的滤波方式。
可选地,所述确定模块被配置为:针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价;若分别执行预滤波对应的率失真代价大于不执行滤波对应的率失真代价,则确定该LCU不执行滤波;否则,选择分别执行预滤波获得的率失真代价中最小的率失真代价对应的滤波器为用于对该LCU进行滤波的滤波器。
可选地,所述获取模块被配置为:对于首次迭代,将所述图像帧中的所有LCU确定为所述首次迭代对应的LCU;对于非首次迭代,将所述图像帧中的预定数量的LCU确定为所述本次迭代对应的LCU。
可选地,所述获取模块被配置为:获取上一次迭代的各个滤波器;针对所述图像帧中的每个LCU,根据率失真优化方式确定是否选择上一次迭代得到的各个滤波器中的一个滤波器执行滤波;从选择了滤波器执行滤波的LCU中选择率失真代价最大的所述预定数量的LCU作为所述本次迭代对应的LCU。
可选地,所述获取模块被配置为:确定所述图像帧中所述选择了滤波器执行滤波的LCU中除所述预定数量的LCU之外的LCU,为先前迭代对应的LCU。
可选地,所述获取模块被配置为:对所述确定的LCU在不同滤波模式下的多个滤波参数的不同取值下进行滤波,获得多个率失真代价;确定所述多个率失真代价中最小的率失真代价;基于与所述最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,获得所述本次迭代对应的滤波器。
可选地,所述获取模块被配置为:对所述确定的LCU在所述先前迭代对应的滤波器的初始滤波模式下的多个滤波参数的不同取值下进行滤波,获得多个率失真代价;确定所述多个率失真代价中最小的率失真代价;基于与所述最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,更新所述先前迭代对应的滤波器。
可选地,所述确定模块还被配置为:在满足预设条件的情况下,确定迭代终止;其中,所述预设条件包括以下条件之一:本次迭代次数达到预设迭代次数;以及所述本次迭代结束时所述图像帧中的所有LCU对应的率失真代价之和大于或者等于上一次迭代结束时所述图像帧中的所有LCU对应的率失真代价之和,其中,每个LCU对应的率失真代价是通过根据率失真优化方式在本次迭代结束时得到的各个滤波器中选择一个滤波器进行滤波或不进行滤波计算出的。
可选地,在本次迭代次数达到所述预设迭代次数的情况下,所述多个滤波器为本次迭代结束时得到的多个滤波器。
可选地,在所述本次迭代结束时所述图像帧中的所有LCU对应的率失真代价之和大于或者等于上一次迭代结束时所述图像帧中的所有LCU对应的率失真代价之和的情况下,所述多个滤波器为所述上一次迭代结束时得到的多个滤波器。
可选地,所述确定模块被配置为:针对所述图像帧中的每个LCU所包含的三个分量中的每个分量,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的三个分量中每个分量的滤波方式。
可选地,所述滤波装置还包括:写入模块,被配置为将所述多个滤波器的相关参数以及每个LCU的滤波标识写入比特流,其中,所述滤波标识包括指示是否执行滤波的第一标识,在所述第一标识指示执行滤波的情况下,所述滤波标识还包括指示使用所述多个滤波器中的哪个滤波器执行滤波的第二标识。
可选地,所述滤波器为样值自适应偏移SAO滤波器。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现根据本公开的滤波方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行根据本公开的滤波方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据本公开的滤波方法。
本公开的实施例提供的技术方案至少带来以下有益效果:可以通过迭代的方式获得与图像帧相关的多个滤波器,图像帧中的每个最大编码单元LCU可以自适应的选择多个滤波器中的一个滤波器以执行滤波,即可以实现同一个图像帧中的非相邻的LCU也可以共用同一个滤波器,可以进一步降低码率的消耗。并且,由于图像帧中的每个LCU是根据率失真优化的方式选择滤波器,即每个LCU最终选择的滤波器是可以使其率失真代价最小的滤波器,可以使每个LCU的滤波效果达到最优。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出相关技术中参数融合模式的示意图;
图2是示出根据本公开的示例性实施例的一种滤波方法的流程图;
图3是示出根据本公开的示例性实施例的一种滤波方法的具体实施方案的示意图;
图4是示出根据本公开的示例性实施例的一种滤波装置的框图;
图5是示出根据本公开的示例性实施例的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
环路滤波是视频编码的重要环节之一,该环节的主要目的是去除反变换之后的重构图像的失真,提升重构图像的主客观质量,进一步提升编码效率。环路滤波环节可以包括多种滤波技术,其中,SAO是环路滤波中一项成熟的技术。具体来说,在编码过程中,图像经过量化之后会产生量化失真,这种量化失真一方面会导致重构图像的边缘处产生振铃效应,影响图像的主观质量;另一方面会导致图像客观的失真。而SAO可以有效的去除图像的振铃效应,提升图像的主观质量,同时可以有效的提升图像的编码效率。SAO可以包含两个滤波模式:边缘(Edge Offset,EO)模式和边带(Band Offset,BO)模式,两种滤波模式的原理都是通过将像素按照某种规则进行分类,之后为每个分类分别进行滤波。
由于编码端决策出的SAO的滤波信息需要写进码流,如果针对每个LCU都导出SAO的滤波信息,就会造成码率的较大开销。为了解决上述问题,相关技术中,引入了参数融合模式,即当前LCU可以复用左边相邻或者上方相邻的LCU已经决策出的SAO的滤波信息来进行滤波,而不用通过自身导出SAO的滤波信息。此种方式可以在一定程度上节省码率开销,但是,上述参数融合模式不允许当前LCU复用右方相邻、下方相邻或者非相邻的LCU的SAO的滤波信息,这就会导致具有相同的SAO的滤波信息但是非相邻的LCU重复将SAO的滤波信息写进码流,造成码率的浪费。参照图1,图1是示出相关技术中参数融合模式的示意图。在图1中,三个斜线区域的LCU表示它们之间的滤波参数可以复用。但是,由于图1中三个竖线区域的LCU的SAO的滤波控制开关处于关闭状态,即Off状态,此时,右端两个斜线区域的LCU,即相似SAO单元(Similar SAO unit)无法通过Merge模式复用到最左端斜线区域的LCU,即当前SAO单元(Current SAO unit)的滤波参数,因此需要将额外两套滤波参数写进码流,造成码率的浪费。并且,图像帧的不同LCU之间的图像内容存在一定的差异,通过相关技术中的参数融合模式引用得到的SAO的滤波信息对当前LCU来说,往往并不合适。进一步的,相关技术中,参数融合模式规定当前LCU必须同时复用左方或者同时复用上方相邻LCU的Y/Cb/Cr三分量的滤波参数,不允许单独复用某一分量的滤波参数。然而,单独复用某一分量或者复用不同方向的Y/Cb/Cr的滤波参数可以获得更好的滤波性能。
为了解决相关技术中,具有相同的SAO的滤波信息但是非相邻的LCU重复将SAO的滤波信息写进码流,造成码率的浪费的技术问题,本公开提出的滤波方法可以通过迭代的方式获得与图像帧相关的多个滤波器,图像帧中的每个LCU可以自适应的选择多个滤波器中的一个滤波器以执行滤波,即可以实现同一个图像帧中的非相邻的LCU也可以共用同一个滤波器,可以进一步降低码率的消耗。
为了解决通过相关技术中的参数融合模式引用得到的SAO的滤波信息对当前LCU来说,往往并不合适的技术问题,本公开提出的滤波方法,由于图像帧中的每个LCU是根据率失真优化的方式选择滤波器,即每个LCU最终选择的滤波器是可以使其率失真代价最小的滤波器,可以使每个LCU的滤波效果达到最优。
为了解决相关技术中,参数融合模式规定当前LCU必须同时复用左方或者同时复用上方相邻LCU的Y/Cb/Cr三分量的滤波参数,不允许单独复用某一分量的滤波参数的技术问题,本公开提出的滤波方法,针对色度格式中的三个分量中的每个分量,均可以独立执行根据本公开的滤波方法,即色度格式中每个分量均可以根据率失真优化的方式选择使其率失真代价最小的滤波器,可以使每个LCU的每个分量的滤波效果达到最优。
图2是示出根据本公开的示例性实施例的一种滤波方法的流程图。
参照图2,在步骤201中,可以通过迭代的方式获得与图像帧相关的多个滤波器,每次迭代可以执行以下操作,直至迭代终止。其中,每个图像帧可以包含多个LCU,例如,可以包含100个LCU。
返回参照图2,在步骤202中,可以通过下述操作获得本次迭代对应的滤波器:确定图像帧中与本次迭代对应的最大编码单元LCU,并基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器。
根据本公开的示例性实施例,对于首次迭代,可以将图像帧中的所有LCU确定为首次迭代对应的LCU。即对于第一次迭代过程,即i=1的迭代过程,可以将图像帧中的所有LCU确定为用于获得与当前迭代过程对应的滤波器的LCU。如前,图像帧可以包含100个LCU,则可以将图像帧中的100个LCU确定为用于获得第一次迭代过程对应的滤波器的LCU。
需要说明的是,SAO可以包含两个滤波模式:边缘(EO)模式和边带(BO)模式。其中,边缘(EO)模式下可以对应多个方向,例如,可以对应4个方向,并且,每个方向下可以对应多个参数,例如,可以对应4个参数;边带(BO)模式下可以对应多个量化值,例如,可以对应4个量化值,并且,每个量化值下可以对应多个参数,例如,可以对应4个参数。
根据本公开的示例性实施例,针对第一次迭代过程,可以在不同滤波模式下的多个滤波参数中每个滤波参数的不同取值下对100个LCU进行试滤波,获得多个率失真代价,进而可以确定多个率失真代价中最小的率失真代价。接下来,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,获得本次迭代对应的滤波器,即获得当前迭代过程对应的滤波器,也即获得第一次迭代过程对应的滤波器。
根据本公开的示例性实施例,对于非首次迭代,可以将图像帧中的预定数量的LCU确定为本次迭代对应的LCU,即对于后续次迭代过程,可以将图像帧中的预定数量的LCU确定为用于获得与当前迭代过程对应的滤波器的LCU。
根据本公开的示例性实施例,对于非首次迭代,可以获取上一次迭代的各个滤波器。然后,针对图像帧中的每个LCU,可以根据率失真优化方式确定是否选择上一次迭代得到的各个滤波器中的一个滤波器执行滤波。接下来,可以从选择了滤波器执行滤波的LCU中选择率失真代价最大的预定数量的LCU作为本次迭代对应的LCU。
返回参照图2,在步骤203中,可以通过下述操作分别获得先前迭代对应的滤波器,先前迭代为本次迭代之前的各次迭代:确定图像帧中先前迭代对应的LCU,基于确定的LCU,根据率失真优化方法更新先前迭代对应的滤波器,并将更新后的滤波器作为先前迭代对应的滤波器。
根据本公开的示例性实施例,可以确定图像帧中选择了滤波器执行滤波的LCU中除预定数量的LCU之外的LCU,为先前迭代对应的LCU。
根据本公开的示例性实施例,可以对确定的LCU在先前迭代对应的滤波器的初始滤波模式下的多个滤波参数的不同取值下进行滤波,获得多个率失真代价。然后,可以确定多个率失真代价中最小的率失真代价。接下来,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,更新先前迭代对应的滤波器。
返回参照图2,在步骤204中,可以将本次迭代对应的滤波器和先前迭代对应的滤波器作为本次迭代所获取的各个滤波器。
返回参照图2,在步骤205中,可以将迭代终止时获取的各个滤波器作为与图像帧相关的多个滤波器。
根据本公开的示例性实施例,在满足预设条件的情况下,可以确定迭代终止。其中,预设条件可以包括以下条件之一:本次迭代次数达到预设迭代次数;以及本次迭代结束时图像帧中的所有LCU对应的率失真代价之和大于或者等于上一次迭代结束时图像帧中的所有LCU对应的率失真代价之和。其中,每个LCU对应的率失真代价是通过根据率失真优化方式在本次迭代结束时得到的各个滤波器中选择一个滤波器进行滤波或不进行滤波计算出的。
根据本公开的示例性实施例,在本次迭代次数达到预设迭代次数的情况下,与图像帧相关的多个滤波器可以为本次迭代结束时得到的多个滤波器。例如,假设预设迭代次数为15次,则在当前迭代次数达到15次的情况下,可以将i=1的迭代过程~i=15的迭代过程所获得的15个滤波器作为上述与图像帧相关的多个滤波器。
根据本公开的示例性实施例,在本次迭代结束时图像帧中的所有LCU对应的率失真代价之和大于或者等于上一次迭代结束时图像帧中的所有LCU对应的率失真代价之和的情况下,与图像帧相关的多个滤波器可以为上一次迭代结束时得到的多个滤波器。
例如,假设当前i=13的迭代过程结束时图像帧所包含的所有LCU对应的率失真代价之和大于前次i=12的迭代过程结束时图像帧所包含的所有LCU对应的率失真代价之和,则可以将i=1的迭代过程~i=12的迭代过程所获得的12个滤波器作为上述与图像帧相关的多个滤波器。这样,在图像帧所包含的所有LCU对应的率失真代价之和降为最低时,即无法再降低时,可以确定迭代终止,此时所获得的多个滤波器可以使对图像帧进行滤波时的滤波效果达到最优状态。
根据本公开的示例性实施例,针对图像帧中的每个LCU所包含的三个分量中的每个分量,可以获取多个滤波器分别执行预滤波对应的率失真代价,进而可以基于率失真代价确定每个LCU的三个分量中每个分量的滤波方式。即针对色度格式中的三个分量中的每个分量,例如,针对色度格式中的Y/U/V三个分量中的每个分量,均可以独立执行根据本公开的滤波方法。这样,每个LCU中的色度格式中的三个分量中的每个分量均可以根据率失真优化的方式选择使其率失真代价最小的滤波器,可以使每个LCU的每个分量的滤波效果达到最优。
根据本公开的示例性实施例,可以将多个滤波器的相关参数以及每个LCU的滤波标识写入比特流。其中,滤波标识可以包括指示是否执行滤波的第一标识,在第一标识指示执行滤波的情况下,滤波标识还可以包括指示使用多个滤波器中的哪个滤波器执行滤波的第二标识。
根据本公开的示例性实施例,上述滤波器可以为样值自适应偏移SAO滤波器。
需要说明的是,对于色度格式中的Y/U/V三个分量中的每个分量,最多能够得到预设迭代次数(MaxIter)个SAO滤波器。每个LCU的滤波标识可以包括是否执行滤波的第一标识,即SAO的滤波控制开关(SAO_enable_flag,SEF),还可以包括指示使用多个滤波器中的哪个滤波器执行滤波的第二标识,即SAO的滤波器索引标识(SAO_filter_index_flag,SFIF)。
在编码阶段,可以将通过率失真优化求得的m个SAO滤波器(1≤m≤MaxIter)写入至图像帧头(picture header)或者片头(slice header)。每个LCU的SEF可以采用基于上下文的编码方式。若SEF为真,表示当前LCU选择采用SAO进行滤波。此时,若当前LCU的当前分量对应的SAO滤波器的个数大于1,则可以采用截断二元码的方式编码当前LCU的当前分量的SFIF信息。
返回参照图2,在步骤206中,针对图像帧中的每个LCU,可以获取多个滤波器分别执行预滤波对应的率失真代价,进而可以基于率失真代价确定每个LCU的滤波方式。
根据本公开的示例性实施例,针对图像帧中的每个LCU,可以获取多个滤波器分别执行预滤波对应的率失真代价,即可以使用多个滤波器中的每个滤波器分别进行一次试滤波,可以得到多个率失真代价。如果分别执行预滤波对应的率失真代价大于不执行滤波对应的率失真代价,则可以确定该LCU不执行滤波;否则,可以选择分别执行预滤波获得的率失真代价中最小的率失真代价对应的滤波器为用于对该LCU进行实际滤波的滤波器。
图3是示出根据本公开的示例性实施例的一种滤波方法的具体实施方案的示意图。
参照图3,在步骤301中,判断当前迭代次数i是否等于1。并且,在当前迭代次数i=1的情况下,执行步骤302;在当前迭代次数i>1的情况下,执行步骤305。
需要说明的是,每个图像帧可以包含多个LCU,例如,可以包含100个LCU。接下来,以图像帧包含100个LCU为例阐述后续流程。
在步骤302中,基于图像帧中的所有LCU,根据率失真优化方式获得i=1的迭代过程对应的滤波器。
如前所述,SAO可以包含两个滤波模式:边缘(EO)模式和边带(BO)模式。其中,边缘(EO)模式下可以对应多个方向,例如,可以对应4个方向,并且,每个方向下可以对应多个参数,例如,可以对应4个参数;边带(BO)模式下可以对应多个量化值,例如,可以对应4个量化值,并且,每个量化值下可以对应多个参数,例如,可以对应4个参数。
针对第一次迭代过程,可以在不同滤波模式下的多个滤波参数中每个滤波参数的不同取值下对100个LCU进行试滤波,获得多个率失真代价,进而可以确定多个率失真代价中最小的率失真代价。接下来,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,获得当前迭代过程对应的滤波器,即获得第一次迭代过程对应的滤波器。
在步骤303中,针对图像帧中的所有LCU中的每个LCU,根据率失真优化方式选择当前迭代过程得到的各个滤波器中的一个滤波器以执行滤波或选择不进行滤波。
例如,针对图像帧中的每个LCU,可以使用当前迭代过程得到的多个滤波器中的每个滤波器分别进行一次试滤波,可以得到多个率失真代价。接下来,可以选择多个率失真代价中最小的率失真代价对应的滤波器为对该LCU执行实际滤波的滤波器。并且,针对图像帧中的每个LCU,如果使用当前迭代过程得到的多个滤波器分别进行试滤波所获得的率失真代价均大于该LCU不滤波时的率失真代价,则该LCU可以选择不进行滤波。
在步骤304中,判断是否满足迭代终止条件。并且,在满足迭代终止条件时,迭代过程终止;在不满足迭代终止条件时,迭代次数i加一,并返回执行步骤301。
其中,迭代终止条件可以为:
当前迭代次数达到预设迭代次数;或者,当前迭代过程结束时图像帧中的所有LCU对应的率失真代价之和与上一次迭代过程结束时图像帧中的所有LCU对应的率失真代价之和相比无降低。
在步骤305中,从选择了上一次迭代过程得到的多个滤波器中的一个滤波器执行滤波的LCU中,选择率失真代价最大的预定数量的LCU。其中,预定数量可以为20。
例如,在第一次迭代过程中,假设有60个LCU选择i=1的迭代过程对应的滤波器进行滤波,有40个LCU选择不进行滤波。那么在i=2的迭代过程,即在第二次迭代过程中,可以对选择了i=1的迭代过程对应的滤波器执行滤波的60个LCU对应的60个率失真代价按照从小到大的顺序进行排序。接下来,可以选择排在后面的20个率失真代价对应的20个LCU。
在步骤306中,基于预定数量的LCU,根据率失真优化方式获得当前迭代过程对应的滤波器。
例如,针对i=2的迭代过程,即第二次迭代过程,可以在不同滤波模式下的多个滤波参数中每个滤波参数的不同取值下对20个LCU进行试滤波,获得多个率失真代价,进而可以确定多个率失真代价中最小的率失真代价。接下来,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,获得i=2的迭代过程,即第二次迭代过程对应的滤波器。
在步骤307中,确定选择了上一次迭代过程得到的多个滤波器中的一个滤波器执行滤波的LCU中,除预定数量的LCU之外的其他LCU,并利用除预定数量的LCU之外的其他LCU,更新第1次迭代过程~第i-1次迭代过程中每个迭代过程对应的滤波器。
例如,如前所述,在i=2的迭代过程,即第二次迭代过程中,选择了i=1的迭代过程对应的滤波器执行滤波的60个LCU中的20个LCU被作为用于获得与i=2的迭代过程对应的滤波器的LCU,则60个LCU中除20个LCU之外的40个LCU可以被作为用于更新i=2的迭代过程的先前迭代过程对应的滤波器的LCU,即60个LCU中除20个LCU之外的40个LCU可以被作为用于更新i=1的迭代过程对应的滤波器的LCU。
假设i=1的迭代过程对应的滤波器的滤波模式为边缘(EO)模式,且选择了该边缘(EO)模式下的4个方向中的方向1。此时,可以对40个LCU在i=1的迭代过程对应的滤波器的边缘(EO)模式下的方向1下的4个滤波参数中每个滤波参数的不同取值下进行试滤波,获得多个率失真代价。假设4个滤波参数中每个滤波参数可以有5种取值,则可以对40个LCU进行4×5=20次试滤波,获得20个率失真代价。进而可以确定多个率失真代价中最小的率失真代价,即可以确定20个率失真代价中最小的率失真代价。然后,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,更新本次先前迭代过程对应的滤波器,即可以基于20个率失真代价中与最小的率失真代价对应的边缘(EO)模式下的方向1下的4个滤波参数中每个滤波参数的取值,更新i=1的迭代过程对应的滤波器。
接下来,针对i=2的迭代过程,即第二次迭代过程,图像帧中的100个LCU中的每个LCU均可以面临三种选择:选择i=1的迭代过程对应的更新后的滤波器进行滤波、选择i=2的迭代过程对应的滤波器进行滤波或者选择不滤波,且每种选择可以对应一个率失真代价。针对100个LCU中的每个LCU,可以选择使其率失真代价最小的三种方式中的一种方式。例如,假设在i=2的迭代过程,共有70个LCU选择使用滤波器进行滤波,有30个LCU选择不滤波。其中,70个选择了使用滤波器进行滤波的LCU中有40个LCU选择了i=1的迭代过程对应的更新后的滤波器进行滤波,70个选择了使用滤波器进行滤波的LCU中有30个LCU选择了i=2的迭代过程对应的滤波器进行滤波。
那么接下来,在i=3的迭代过程,即第三次迭代过程中,可以对i=2的迭代过程中,选择了滤波器执行滤波的70个LCU对应的70个率失真代价按照从小到大的顺序进行排序。接下来,可以选择排在后面的预定数量的率失真代价,例如,选择排在后面的20个率失真代价对应的20个LCU作为用于获得与i=3的迭代过程对应的滤波器的LCU。
进一步的,针对i=3的迭代过程,即第三次迭代过程,可以在不同滤波模式下的多个滤波参数中每个滤波参数的不同取值下对20个LCU进行试滤波,获得多个率失真代价,进而可以确定多个率失真代价中最小的率失真代价。接下来,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,获得i=3的迭代过程,即第三次迭代过程对应的滤波器。
进一步的,假设在i=3的迭代过程,即第三次迭代过程中,被选择作为用于获得与i=3的迭代过程对应的滤波器的20个LCU中,有14个LCU在i=2的迭代过程中,选择了i=1的迭代过程对应的更新后的滤波器进行滤波,并且有6个LCU在i=2的迭代过程中,选择了i=2的迭代过程对应的滤波器进行滤波。则此时,可以利用在i=2的迭代过程中,选择了i=1的迭代过程对应的更新后的滤波器进行滤波的40个LCU中,除上述14个LCU之外的26个LCU对i=1的迭代过程对应的滤波器进行再一次的更新。并且,对i=1的迭代过程对应的滤波器进行再一次的更新时,仍然维持i=1的迭代过程对应的滤波器的滤波模式为边缘(EO)模式,以及维持该边缘(EO)模式下的方向仍然为方向1。即可以对上述26个LCU在i=1的迭代过程对应的滤波器的边缘(EO)模式下的方向1下的4个滤波参数中每个滤波参数的不同取值下进行试滤波,获得多个率失真代价。如前所述,假设4个滤波参数中每个滤波参数可以有5种取值,则可以对26个LCU进行4×5=20次试滤波,获得20个率失真代价。进而可以确定多个率失真代价中最小的率失真代价,即可以确定20个率失真代价中最小的率失真代价。然后,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,更新i=1的迭代过程对应的滤波器,即可以基于20个率失真代价中与最小的率失真代价对应的边缘(EO)模式下的方向1下的4个滤波参数中每个滤波参数的取值,更新i=1的迭代过程对应的滤波器。
进一步的,可以利用在i=2的迭代过程中,选择了i=2的迭代过程对应的滤波器进行滤波的30个LCU中,除上述6个LCU之外的24个LCU对i=2的迭代过程对应的滤波器进行更新。假设i=2的迭代过程对应的滤波器的初始滤波模式为边带(BO)模式,且选择了该边带(BO)模式下的4个量化值中的第一个量化值。那么,对i=2的迭代过程对应的滤波器进行更新时,仍然维持i=2的迭代过程对应的滤波器的滤波模式为边带(BO)模式,以及维持该边带(BO)模式下的量化值仍然为第一个量化值。即可以对上述24个LCU在i=2的迭代过程对应的滤波器的边带(BO)模式下的第一个量化值下的4个滤波参数中每个滤波参数的不同取值下进行试滤波,获得多个率失真代价。如前所述,假设4个滤波参数中每个滤波参数可以有5种取值,则可以对24个LCU进行4×5=20次试滤波,获得20个率失真代价。进而可以确定多个率失真代价中最小的率失真代价,即可以确定20个率失真代价中最小的率失真代价。然后,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,更新i=2的迭代过程对应的滤波器,即可以基于20个率失真代价中与最小的率失真代价对应的边带(BO)模式下的第一个量化值下的4个滤波参数中每个滤波参数的取值,更新i=2的迭代过程对应的滤波器。
此时,在i=3的迭代过程,即第三次迭代过程中,图像帧中的100个LCU中的每个LCU均可以面临四种选择:选择i=1的迭代过程对应的更新后的滤波器进行滤波、选择i=2的迭代过程对应的更新后的滤波器进行滤波、选择i=3的迭代过程对应的滤波器进行滤波或者选择不滤波,且每种选择可以对应一个率失真代价。针对100个LCU中的每个LCU,可以选择使其率失真代价最小的四种方式中的一种方式。
需要说明的是,可以类似上述流程进行第i=4次迭代、第i=5次迭代、第i=6次迭代……,直至迭代终止。最后,可以将迭代终止时获得的各个迭代过程对应的滤波器作为与图像帧相关的多个滤波器。
图4是示出根据本公开的示例性实施例的一种滤波装置的框图。
参照图4,该装置400可包括获取模块401和确定模块402。
获取模块401可以通过迭代的方式获得与图像帧相关的多个滤波器,每次迭代可以执行以下操作,直至迭代终止。其中,每个图像帧可以包含多个LCU,例如,可以包含100个LCU。
获取模块401可以通过下述操作获得本次迭代对应的滤波器:确定图像帧中与本次迭代对应的最大编码单元LCU,并基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器。
根据本公开的示例性实施例,对于首次迭代,获取模块401可以将图像帧中的所有LCU确定为首次迭代对应的LCU。即对于第一次迭代过程,即i=1的迭代过程,可以将图像帧中的所有LCU确定为用于获得与当前迭代过程对应的滤波器的LCU。如前,图像帧可以包含100个LCU,则可以将图像帧中的100个LCU确定为用于获得第一次迭代过程对应的滤波器的LCU。
根据本公开的示例性实施例,针对第一次迭代过程,获取模块401可以在不同滤波模式下的多个滤波参数中每个滤波参数的不同取值下对100个LCU进行试滤波,获得多个率失真代价,进而可以确定多个率失真代价中最小的率失真代价。接下来,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,获得本次迭代对应的滤波器,即获得当前迭代过程对应的滤波器,也即获得第一次迭代过程对应的滤波器。
根据本公开的示例性实施例,对于非首次迭代,获取模块401可以将图像帧中的预定数量的LCU确定为本次迭代对应的LCU,即对于后续次迭代过程,可以将图像帧中的预定数量的LCU确定为用于获得与当前迭代过程对应的滤波器的LCU。
根据本公开的示例性实施例,对于非首次迭代,获取模块401可以获取上一次迭代的各个滤波器。然后,针对图像帧中的每个LCU,可以根据率失真优化方式确定是否选择上一次迭代得到的各个滤波器中的一个滤波器执行滤波。接下来,可以从选择了滤波器执行滤波的LCU中选择率失真代价最大的预定数量的LCU作为本次迭代对应的LCU。
获取模块401可以通过下述操作分别获得先前迭代对应的滤波器,先前迭代为本次迭代之前的各次迭代:确定图像帧中先前迭代对应的LCU,基于确定的LCU,根据率失真优化方法更新先前迭代对应的滤波器,并将更新后的滤波器作为先前迭代对应的滤波器。
根据本公开的示例性实施例,获取模块401可以确定图像帧中选择了滤波器执行滤波的LCU中除预定数量的LCU之外的LCU,为先前迭代对应的LCU。
根据本公开的示例性实施例,获取模块401可以对确定的LCU在先前迭代对应的滤波器的初始滤波模式下的多个滤波参数的不同取值下进行滤波,获得多个率失真代价。然后,可以确定多个率失真代价中最小的率失真代价。接下来,可以基于与最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,更新先前迭代对应的滤波器。
获取模块401可以将本次迭代对应的滤波器和先前迭代对应的滤波器作为本次迭代所获取的各个滤波器。
获取模块401可以将迭代终止时获取的各个滤波器作为与图像帧相关的多个滤波器。
根据本公开的示例性实施例,在满足预设条件的情况下,确定模块402可以确定迭代终止。其中,预设条件可以包括以下条件之一:本次迭代次数达到预设迭代次数;以及本次迭代结束时图像帧中的所有LCU对应的率失真代价之和大于或者等于上一次迭代结束时图像帧中的所有LCU对应的率失真代价之和。其中,每个LCU对应的率失真代价是通过根据率失真优化方式在本次迭代结束时得到的各个滤波器中选择一个滤波器进行滤波或不进行滤波计算出的。
根据本公开的示例性实施例,在本次迭代次数达到预设迭代次数的情况下,与图像帧相关的多个滤波器可以为本次迭代结束时得到的多个滤波器。例如,假设预设迭代次数为15次,则在当前迭代次数达到15次的情况下,可以将i=1的迭代过程~i=15的迭代过程所获得的15个滤波器作为上述与图像帧相关的多个滤波器。
根据本公开的示例性实施例,在本次迭代结束时图像帧中的所有LCU对应的率失真代价之和大于或者等于上一次迭代结束时图像帧中的所有LCU对应的率失真代价之和的情况下,与图像帧相关的多个滤波器可以为上一次迭代结束时得到的多个滤波器。
例如,假设当前i=13的迭代过程结束时图像帧所包含的所有LCU对应的率失真代价之和大于前次i=12的迭代过程结束时图像帧所包含的所有LCU对应的率失真代价之和,则可以将i=1的迭代过程~i=12的迭代过程所获得的12个滤波器作为上述与图像帧相关的多个滤波器。这样,在图像帧所包含的所有LCU对应的率失真代价之和降为最低时,即无法再降低时,可以确定迭代终止,此时所获得的多个滤波器可以使对图像帧进行滤波时的滤波效果达到最优状态。
根据本公开的示例性实施例,针对图像帧中的每个LCU所包含的三个分量中的每个分量,确定模块402可以获取多个滤波器分别执行预滤波对应的率失真代价,进而可以基于率失真代价确定每个LCU的三个分量中每个分量的滤波方式。即针对色度格式中的三个分量中的每个分量,例如,针对色度格式中的Y/U/V三个分量中的每个分量,均可以独立执行根据本公开的滤波方法。这样,每个LCU中的色度格式中的三个分量中的每个分量均可以根据率失真优化的方式选择使其率失真代价最小的滤波器,可以使每个LCU的每个分量的滤波效果达到最优。
根据本公开的示例性实施例,滤波装置400还可以包含写入模块,该写入模块可以将多个滤波器的相关参数以及每个LCU的滤波标识写入比特流。其中,滤波标识可以包括指示是否执行滤波的第一标识,在第一标识指示执行滤波的情况下,滤波标识还可以包括指示使用多个滤波器中的哪个滤波器执行滤波的第二标识。
根据本公开的示例性实施例,上述滤波器可以为样值自适应偏移SAO滤波器。
需要说明的是,对于色度格式中的Y/U/V三个分量中的每个分量,最多能够得到预设迭代次数(MaxIter)个SAO滤波器。每个LCU的滤波标识可以包括是否执行滤波的第一标识,即SAO的滤波控制开关(SAO_enable_flag,SEF),还可以包括指示使用多个滤波器中的哪个滤波器执行滤波的第二标识,即SAO的滤波器索引标识(SAO_filter_index_flag,SFIF)。
在编码阶段,可以将通过率失真优化求得的m个SAO滤波器(1≤m≤MaxIter)写入至图像帧头(picture header)或者片头(slice header)。每个LCU的SEF可以采用基于上下文的编码方式。若SEF为真,表示当前LCU选择采用SAO进行滤波。此时,若当前LCU的当前分量对应的SAO滤波器的个数大于1,则可以采用截断二元码的方式编码当前LCU的当前分量的SFIF信息。
针对图像帧中的每个LCU,确定模块402可以获取多个滤波器分别执行预滤波对应的率失真代价,进而可以基于率失真代价确定每个LCU的滤波方式。
根据本公开的示例性实施例,针对图像帧中的每个LCU,确定模块402可以获取多个滤波器分别执行预滤波对应的率失真代价,即可以使用多个滤波器中的每个滤波器分别进行一次试滤波,可以得到多个率失真代价。如果分别执行预滤波对应的率失真代价大于不执行滤波对应的率失真代价,则可以确定该LCU不执行滤波;否则,可以选择分别执行预滤波获得的率失真代价中最小的率失真代价对应的滤波器为用于对该LCU进行实际滤波的滤波器。
5是示出根据本公开的示例性实施例的一种电子设备500的框图。
参照图5,电子设备500包括至少一个存储器501和至少一个处理器502,所述至少一个存储器501中存储有指令,当指令被至少一个处理器502执行时,执行根据本公开的示例性实施例的滤波方法。
作为示例,电子设备500可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令的装置。这里,电子设备500并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备500还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备500中,处理器502可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器502可运行存储在存储器501中的指令或代码,其中,存储器501还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器501可与处理器502集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器501可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器501和处理器502可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器502能够读取存储在存储器中的文件。
此外,电子设备500还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备500的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述滤波方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据本公开的滤波方法。
根据本公开的滤波方法和滤波装置,可以通过迭代的方式获得与图像帧相关的多个滤波器,图像帧中的每个最大编码单元LCU可以自适应的选择多个滤波器中的一个滤波器以执行滤波,即可以实现同一个图像帧中的非相邻的LCU也可以共用同一个滤波器,可以进一步降低码率的消耗。并且,由于图像帧中的每个LCU是根据率失真优化的方式选择滤波器,即每个LCU最终选择的滤波器是可以使其率失真代价最小的滤波器,可以使每个LCU的滤波效果达到最优。进一步的,针对色度格式中的三个分量中的每个分量,均可以独立执行根据本公开的滤波方法,即色度格式中每个分量均可以根据率失真优化的方式选择使其率失真代价最小的滤波器,可以使每个LCU的每个分量的滤波效果达到最优。进一步的,在图像帧所包含的所有LCU对应的率失真代价之和降为最低时,即无法再降低时,可以确定迭代终止,此时所获得的多个滤波器可以使对图像帧进行滤波时的滤波效果达到最优状态。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种滤波方法,其特征在于,包括:
通过迭代的方式获得与图像帧相关的多个滤波器,每次迭代执行以下操作,直至迭代终止:
通过下述操作获得本次迭代对应的滤波器:确定所述图像帧中与本次迭代对应的最大编码单元LCU,并基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器;
通过下述操作分别获得先前迭代对应的滤波器,所述先前迭代为所述本次迭代之前的各次迭代:确定所述图像帧中先前迭代对应的LCU,基于确定的LCU,根据率失真优化方法更新先前迭代对应的滤波器,并将更新后的滤波器作为先前迭代对应的滤波器;
将本次迭代对应的滤波器和先前迭代对应的滤波器作为本次迭代所获取的各个滤波器;
将迭代终止时获取的各个滤波器作为所述与图像帧相关的多个滤波器;
针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的滤波方式。
2.如权利要求1所述的滤波方法,其特征在于,所述针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的滤波方式,包括:
针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价;
若分别执行预滤波对应的率失真代价大于不执行滤波对应的率失真代价,则确定该LCU不执行滤波;
否则,选择分别执行预滤波获得的率失真代价中最小的率失真代价对应的滤波器为用于对该LCU进行滤波的滤波器。
3.如权利要求1所述的滤波方法,其特征在于,所述确定所述图像帧中与本次迭代对应的最大编码单元LCU,包括:
对于首次迭代,将所述图像帧中的所有LCU确定为所述首次迭代对应的LCU;
对于非首次迭代,将所述图像帧中的预定数量的LCU确定为所述本次迭代对应的LCU。
4.如权利要求3所述的滤波方法,其特征在于,所述对于非首次迭代,将所述图像帧中的预定数量的LCU确定为所述本次迭代对应的LCU,包括:
获取上一次迭代的各个滤波器;
针对所述图像帧中的每个LCU,根据率失真优化方式确定是否选择上一次迭代得到的各个滤波器中的一个滤波器执行滤波;
从选择了滤波器执行滤波的LCU中选择率失真代价最大的所述预定数量的LCU作为所述本次迭代对应的LCU。
5.如权利要求4所述的滤波方法,其特征在于,所述确定所述图像帧中先前迭代对应的LCU,包括:
确定所述图像帧中所述选择了滤波器执行滤波的LCU中除所述预定数量的LCU之外的LCU,为先前迭代对应的LCU。
6.如权利要求1所述的滤波方法,其特征在于,所述基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器,包括:
对所述确定的LCU在不同滤波模式下的多个滤波参数的不同取值下进行滤波,获得多个率失真代价;
确定所述多个率失真代价中最小的率失真代价;
基于与所述最小的率失真代价对应的滤波模式以及该滤波模式下多个滤波参数中每个滤波参数的取值,获得所述本次迭代对应的滤波器。
7.一种滤波装置,其特征在于,包括:
获取模块,被配置为通过迭代的方式获得与图像帧相关的多个滤波器,每次迭代执行以下操作,直至迭代终止:
通过下述操作获得本次迭代对应的滤波器:确定所述图像帧中与本次迭代对应的最大编码单元LCU,并基于确定的LCU,根据率失真优化方式获得本次迭代对应的滤波器;
通过下述操作分别获得先前迭代对应的滤波器,所述先前迭代为所述本次迭代之前的各次迭代:确定所述图像帧中先前迭代对应的LCU,基于确定的LCU,根据率失真优化方法更新先前迭代对应的滤波器,并将更新后的滤波器作为先前迭代对应的滤波器;
将本次迭代对应的滤波器和先前迭代对应的滤波器作为本次迭代所获取的各个滤波器;
将迭代终止时获取的各个滤波器作为所述与图像帧相关的多个滤波器;
确定模块,被配置为针对所述图像帧中的每个LCU,获取所述多个滤波器分别执行预滤波对应的率失真代价,基于所述率失真代价确定每个LCU的滤波方式。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的滤波方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的滤波方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的滤波方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210020791.9A CN114363613B (zh) | 2022-01-10 | 2022-01-10 | 滤波方法和滤波装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210020791.9A CN114363613B (zh) | 2022-01-10 | 2022-01-10 | 滤波方法和滤波装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114363613A true CN114363613A (zh) | 2022-04-15 |
CN114363613B CN114363613B (zh) | 2023-11-28 |
Family
ID=81107862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210020791.9A Active CN114363613B (zh) | 2022-01-10 | 2022-01-10 | 滤波方法和滤波装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114363613B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984669A (zh) * | 2010-12-10 | 2011-03-09 | 河海大学 | 一种帧层次自适应维纳插值滤波器的迭代方法 |
WO2012092787A1 (en) * | 2011-01-09 | 2012-07-12 | Mediatek Inc. | Apparatus and method of efficient sample adaptive offset |
US20130051454A1 (en) * | 2011-08-24 | 2013-02-28 | Vivienne Sze | Sample Adaptive Offset (SAO) Parameter Signaling |
CN104641640A (zh) * | 2012-07-16 | 2015-05-20 | 三星电子株式会社 | 用于用信号传输sao参数的视频编码方法和视频编码设备以及视频解码方法和视频解码设备 |
CN104735450A (zh) * | 2015-02-26 | 2015-06-24 | 北京大学 | 一种在视频编解码中进行自适应环路滤波的方法及装置 |
US20150215617A1 (en) * | 2014-01-30 | 2015-07-30 | Qualcomm Incorporated | Low complexity sample adaptive offset encoding |
CN109756736A (zh) * | 2017-11-01 | 2019-05-14 | 北京金山云网络技术有限公司 | Sao模式决策方法、装置、电子设备及可读存储介质 |
CN110662042A (zh) * | 2018-06-29 | 2020-01-07 | 英特尔公司 | 用于视频处理的准确全局运动补偿的全局运动估计和建模 |
CN111213383A (zh) * | 2017-11-13 | 2020-05-29 | 华为技术有限公司 | 用于视频编码的环内滤波装置及方法 |
CN111654710A (zh) * | 2020-06-07 | 2020-09-11 | 咪咕文化科技有限公司 | 图像滤波方法、装置、设备及存储介质 |
CN112312139A (zh) * | 2019-08-02 | 2021-02-02 | 扬智科技股份有限公司 | 视频解码的环路滤波方法与解码装置 |
-
2022
- 2022-01-10 CN CN202210020791.9A patent/CN114363613B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984669A (zh) * | 2010-12-10 | 2011-03-09 | 河海大学 | 一种帧层次自适应维纳插值滤波器的迭代方法 |
WO2012092787A1 (en) * | 2011-01-09 | 2012-07-12 | Mediatek Inc. | Apparatus and method of efficient sample adaptive offset |
US20130051454A1 (en) * | 2011-08-24 | 2013-02-28 | Vivienne Sze | Sample Adaptive Offset (SAO) Parameter Signaling |
CN104641640A (zh) * | 2012-07-16 | 2015-05-20 | 三星电子株式会社 | 用于用信号传输sao参数的视频编码方法和视频编码设备以及视频解码方法和视频解码设备 |
US20150215617A1 (en) * | 2014-01-30 | 2015-07-30 | Qualcomm Incorporated | Low complexity sample adaptive offset encoding |
CN104735450A (zh) * | 2015-02-26 | 2015-06-24 | 北京大学 | 一种在视频编解码中进行自适应环路滤波的方法及装置 |
CN109756736A (zh) * | 2017-11-01 | 2019-05-14 | 北京金山云网络技术有限公司 | Sao模式决策方法、装置、电子设备及可读存储介质 |
CN111213383A (zh) * | 2017-11-13 | 2020-05-29 | 华为技术有限公司 | 用于视频编码的环内滤波装置及方法 |
CN110662042A (zh) * | 2018-06-29 | 2020-01-07 | 英特尔公司 | 用于视频处理的准确全局运动补偿的全局运动估计和建模 |
CN112312139A (zh) * | 2019-08-02 | 2021-02-02 | 扬智科技股份有限公司 | 视频解码的环路滤波方法与解码装置 |
CN111654710A (zh) * | 2020-06-07 | 2020-09-11 | 咪咕文化科技有限公司 | 图像滤波方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114363613B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3107289A1 (en) | Picture coding and decoding methods and devices | |
EP3089453A1 (en) | Image coding and decoding methods and devices | |
JP2010239640A (ja) | ビデオ圧縮方法 | |
CN102890780A (zh) | 图像处理装置和方法 | |
CN113194320B (zh) | 参数预测模型的训练方法及装置和参数预测方法及装置 | |
CN106663209A (zh) | 用于非均匀映射图像/视频编码中不同尺寸的量化矩阵之间的量化矩阵系数的方法和装置 | |
CN110738611A (zh) | 一种视频画质增强方法、系统及设备 | |
US8249372B2 (en) | Methods and devices for coding and decoding multidimensional digital signals | |
EP1761896B1 (en) | Image edge filtering | |
CN104303504A (zh) | 稳定信息和瞬时/随机信息的不同编码和解码 | |
CN100555322C (zh) | 用于视频处理的分级处理器架构 | |
CN105930178B (zh) | 一种可配置的参数动态装载方法及系统 | |
CN114363613B (zh) | 滤波方法和滤波装置 | |
CN116894413B (zh) | 一种基于硬件的逻辑映射方法、装置、设备及存储介质 | |
CN112015529B (zh) | 数据任务调度方法、系统、电子设备及存储介质 | |
CN111698511B (zh) | 图像滤波方法、装置、设备及可读存储介质 | |
CN103168465A (zh) | 参数环路滤波器 | |
US20070230805A1 (en) | Coded Data Recording Apparatus, Decoding Apparatus and Program | |
CN117194443A (zh) | 数据更新方法及其相关设备 | |
JP2007006194A (ja) | 画像復号再生装置 | |
CN114222120A (zh) | 编码方法及装置、解码方法及装置 | |
CN114222118A (zh) | 编码方法及装置、解码方法及装置 | |
CN106326425B (zh) | 数据分类处理方法和装置 | |
CN117376580A (zh) | 视频编码方法及装置 | |
CN115086678B (zh) | 视频编码方法和装置、视频解码方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |