CN103702132B - 滤波方法、装置及设备 - Google Patents
滤波方法、装置及设备 Download PDFInfo
- Publication number
- CN103702132B CN103702132B CN201310666480.0A CN201310666480A CN103702132B CN 103702132 B CN103702132 B CN 103702132B CN 201310666480 A CN201310666480 A CN 201310666480A CN 103702132 B CN103702132 B CN 103702132B
- Authority
- CN
- China
- Prior art keywords
- pixel
- module unit
- unit
- pixel module
- pixel data
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了滤波方法、装置及设备,所述方法包括:将第一像素块单元变换为第二像素块单元,以使变换后的第二像素块单元的内部边界为第一像素块单元的外部边界;对所述第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值。本发明实施例由于对像素块单元进行了变换,使得第一像素块单元的外部边界转换成了第二像素块单元的内部边界,从而可以对每个第二像素块单元的内部边界进行去方块滤波,由于内部边界的去方块滤波只需要使用像素块单元的内部数据,无需相邻像素块单元的数据,且去方块滤波过程中无需缓存滤波数据,因此简化了滤波操作过程,节省了缓存资源,从而提高了滤波效率。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及滤波方法、装置及设备。
背景技术
伴随着数字视频技术的快速发展,视频图像呈现出高清晰度、高帧率和高压缩率的特点,为了实现高效的视频压缩编码,现有技术采用基于高效视频编码(HighEfficiency Video Coding,HEVC)协议的编码器进行视频压缩编码,HEVC协议也可称为H.265协议。其中,在通过反变换和反量化重建图像后,采用去方块滤波(De-blockingFilter,DF)去除编码时产生的方块效应。
现有技术中基于HEVC进行去方块滤波的最大编码单元(Large Code Unit,LCU)由256个4×4像素块组成,每次的滤波对象为由四个4×4像素块组成的8×8像素块,相当于每个LCU需要对64个8×8像素块顺序进行滤波。为了实现去方块滤波,现有技术中,需要为每个LCU分别设置8个8×8像素块大小的行存储空间和列存储空间,用于分别存储对每个8×8像素块滤波过程中的像素数据修正值。但是,发明人在对现有去方块滤波过程的研究发现,由于在对每个8×8像素块进行去方块滤波时,需要使用与每个8×8像素块相邻的8×8像素块的像素数据,且滤波过程中都需要对列存储空间和行存储空间中的像素数据修正值进行读写操作,因此滤波操作过程繁琐,且需要耗费大量存储资源,导致滤波效率不高。
发明内容
本发明实施例提供了滤波方法、装置及设备,以解决现有技术去方块滤波方式效率不高的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供一种滤波方法,所述方法包括:
将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界;
对所述第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值。
结合第一方面,在第一方面的第一种可能的实现方式中,所述至少两个第一像素块单元组成第一编码单元,所述至少两个第二像素块单元组成第二编码单元,所述对所述第二像素块单元的内部边界进行去方块滤波前,所述方法还包括:
向第一存储空间写入第一像素数据,以及向第二存储空间写入第二像素数据,其中,所述第一像素数据为与所述第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,所述第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据;
所述将第一像素块单元变换为第二像素块单元,包括:
获取所述第一存储空间中的第一像素数据,以及所述第二存储空间中的第二像素数据,其中,所述第一像素数据、所述第二像素数据、以及所述第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成所述第二编码单元;
对所述第二编码单元进行划分,得到至少两个所述第二像素块单元,所述第二像素块单元与所述第一像素块单元的大小相同。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述对所述第二像素块单元的内部边界进行去方块滤波后,所述方法还包括:
将所述第一编码单元的最后一列子像素块单元的像素数据更新到所述第一存储空间,以及将所述第一编码单元的最后一行子像素块单元的像素数据更新到所述第二存储空间。
结合第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述滤波方法基于H.265协议进行去方块滤波,其中,所述第一像素块单元和所述第二像素块单元具体为8×8像素块,所述第一编码单元和所述第二编码单元均包括64个所述8×8像素块。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述对所述第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值,包括:
读取所述第二像素块单元的至少两个子像素块单元的像素数据;
根据读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,获得所述第二像素块单元的像素数据垂直修正值,并根据所述像素数据垂直修正值对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,获得所述第二像素块单元的像素数据水平修正值,并根据所述像素数据水平修正值对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值。
第二方面,提供一种滤波装置,所述装置包括:
变换单元,用于将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界;
滤波单元,用于对所述变换单元变换得到的第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括:
所述装置还包括:
写入单元,用于向第一存储空间写入第一像素数据,以及向第二存储空间写入第二像素数据,其中,所述至少两个第一像素块单元组成第一编码单元,所述至少两个第二像素块单元组成第二编码单元,所述第一像素数据为与所述第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,所述第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据;
所述变换单元包括:
数据获取子单元,用于获取所述第一存储空间中的第一像素数据,以及所述第二存储空间中的第二像素数据,其中,所述第一像素数据、所述第二像素数据、以及所述第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成所述第二编码单元;
单元划分子单元,用于对所述第二编码单元进行划分,得到至少两个所述第二像素块单元,所述第二像素块单元与所述第一像素块单元的大小相同。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述装置还包括:
更新单元,用于在所述滤波单元对所述第二像素块单元的内部边界进行去方块滤波后,将所述第一编码单元的最后一列子像素块单元的像素数据更新到所述第一存储空间,以及将所述第一编码单元的最后一行子像素块单元的像素数据更新到所述第二存储空间。
结合第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述滤波装置基于H.265协议进行去方块滤波,其中,其中,所述第一像素块单元和所述第二像素块单元具体为8×8像素块,所述第一编码单元和所述第二编码单元均包括64个所述8×8像素块。
结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述滤波单元包括:
数据读取子单元,用于读取所述第二像素块单元的至少两个子像素块单元的像素数据;
边界滤波子单元,用于根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,获得所述第二像素块单元的像素数据垂直修正值,并根据所述像素数据垂直修正值对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,获得所述第二像素块单元的像素数据水平修正值,并根据所述像素数据水平修正值对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值。
第三方面,提供一种滤波设备,所述设备包括:数据接口、处理器和存储器;其中,
所述数据接口,用于获得待滤波的像素块单元;
所述处理器,用于将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界,并对所述第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值。
结合第三方面,在第三方面的第一种可能的实现方式中,
所述处理器,还用于向所述存储器的第一存储空间写入第一像素数据,以及向所述存储器的第二存储空间写入第二像素数据,其中,所述至少两个第一像素块单元组成第一编码单元,所述至少两个第二像素块单元组成第二编码单元,所述第一像素数据为与所述第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,所述第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据;
所述处理器,具体用于获取所述第一存储空间中的第一像素数据,以及所述第二存储空间中的第二像素数据,其中,所述第一像素数据、所述第二像素数据、以及所述第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成所述第二编码单元;对所述第二编码单元进行划分,得到至少两个所述第二像素块单元,所述第二像素块单元与所述第一像素块单元的大小相同。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器,还用于对所述第二像素块单元的内部边界进行去方块滤波后,将所述第一编码单元的最后一列子像素块单元的像素数据更新到所述第一存储空间,以及将所述第一编码单元的最后一行子像素块单元的像素数据更新到所述第二存储空间。
结合第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,所述滤波设备基于H.265协议进行去方块滤波,其中,所述第一像素块单元和所述第二像素块单元具体为8×8像素块,所述第一编码单元和所述第二编码单元均包括64个所述8×8像素块。
结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述处理器,具体用于读取所述第二像素块单元的至少两个子像素块单元的像素数据;根据读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,获得所述第二像素块单元的像素数据垂直修正值,并根据所述像素数据垂直修正值对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,获得所述第二像素块单元的像素数据水平修正值,并根据所述像素数据水平修正值对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值。
本发明实施例中,将第一像素块单元变换为第二像素块单元,以使变换后的第二像素块单元的内部边界为第一像素块单元的外部边界,对第二像素块单元的内部边界进行去方块滤波,获得第二像素块单元的像素数据修正值。应用本发明实施例进行去方块滤波时,由于对像素块单元进行了变换,使得第一像素块单元的外部边界转换成了第二像素块单元的内部边界,从而可以对每个第二像素块单元的内部边界进行去方块滤波,由于内部边界的去方块滤波只需要使用像素块单元的内部数据,无需相邻像素块单元的数据,且去方块滤波过程中无需缓存滤波数据,因此简化了滤波操作过程,节省了缓存资源,从而提高了滤波效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为采用现有技术进行去方块滤波的LCU划分示意图;
图2为本发明滤波方法的一个实施例流程图;
图3A为本发明滤波方法的另一个实施例流程图;
图3B应用本发明实施例进行去方块滤波的LCU变换示意图;
图3C为图3B中第一像素块单元的外部边界转换为第二像素块单元的内部边界的示意图;
图3D为本发明实施例中对第二像素块单元进行去方块滤波的过程示意图;
图3E为应用本发明实施例在逻辑上实现去方块滤波的三级流水操作的示意图;
图4为本发明滤波装置的一个实施例框图;
图5为本发明滤波装置的另一个实施例框图;
图6为本发明滤波装置的另一个实施例框图;
图7为本发明滤波设备的实施例框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
视频压缩编码的目的在于最大限度地消除各种冗余,这些冗余包括空间冗余、时间冗余、视觉冗余和编码冗余等。其中,可以通过帧间预测消除时间冗余,通过帧内预测消除空间冗余,通过变换和量化消除视觉冗余,以及通过熵编码消除编码冗余。但是在冗余过程中,不可避免地产生方块效应,例如,基于块的帧内和帧间预测残差进行离散余弦变换(Discrete Cosine Transform,DCT)变换时,变换系数的量化过程由于相对粗糙,可能导致反量化时恢复的变换系数带有一定的误差,从而在图像块的边界处造成视觉上的不连续;又例如,在通过帧间预测进行运动补偿时,运动补偿块可能由来自不同帧的不同位置上的内插样点计算获得,因此运动补偿块的匹配可能存在一定的误差,从而在复制块的边界上产生数据不连续。因此,为了消除上述方块效应,在视频压缩编码的反变换和反量化重建图像后,需要去除视频编码时产生的方块效应。
在对本发明实施例进行详细描述之前,先对现有技术中的去方块滤波过程进行描述。参见图1,为采用现有技术进行去方块滤波的LCU示意图:图1中,每个最小的方块表示一个4×4像素块,标号从0至255的共256个4×4像素块组成一个LCU,其中,去方块滤波对象为8×8像素块的边界,每个8×8像素块由四个4×4像素块组成,例如,标号为(0,1,16,17)的四个4×4像素块组成LCU的第一个8×8像素块;并且,要实现去方块滤波,还要为LCU设置列存储空间(left_ram)和行存储空间(up_ram),如图1中,在LCU左侧的列存储空间初始存储该LCU左侧相邻的一列8×8像素块的像素数据,例如,列存储空间的第一个8×8像素块大小的位置存储8×8像素块(a,b,c,d)的像素数据,在LCU上方的行存储空间初始存储该LCU上方相邻的一行8×8像素块的像素数据,例如,行存储空间的第一个8×8像素块大小的位置存储8×8像素块(e,f,g,h)的像素数据。
在进行去方块滤波时,对每个8×8像素块的边界按照先垂直后水平的顺序进行滤波,以便获得每个8×8像素块的垂直边界和水平边界的滤波结果,该垂直边界和水平边界在图1中通过标号0’至127’进行表示。以获得垂直边界0’和水平边界1’的滤波结果为例,首先通过读取8×8像素块(a,b,c,d)和(0,1,16,17)进行垂直滤波,得到垂直边界0’的滤波结果为(a′,b′,c′,d′)和(0′,1′,16′,17′),并将(0′,1′,16′,17′)更新到列存储空间中(a、b、c、d)的位置,然后通过读取行存储空间中8×8像素块(e,f,g,h)和(a′,b′,c′,d′)进行水平滤波,得到水平边界1’的滤波结果为(e′,f′,g′,h′)和(a〞,b〞,c〞,d〞),最后输出滤波结果(e′,f′,g′,h′),并将(a〞,b〞,c〞,d〞)更新到行存储空间中(e、f、g、h)的位置,从而完成对该LCU的第一个8×8像素块的去方块滤波。后续,对LCU中的每个8×8像素块重复进行以上操作,直到完成对LCU的最后一个8×8像素块的去方块滤波。
上述描述的现有去方块滤波过程,由于需要为每个LCU分别设置8个8×8像素块大小的行存储空间和列存储空间,并且在对每个8×8像素块进行去方块滤波时,需要使用与每个8×8像素块相邻的8×8像素块的数据,且滤波过程中都需要对列存储空间和行存储空间中的数据进行读写操作,因此滤波操作过程繁琐,且滤波效率不高。因此,为了节省滤波过程中的大量存储资源,提高滤波效率,如下实施例提供了本发明的滤波方法、装置及设备。
参见图2,为本发明滤波方法的一个实施例流程图:
步骤201:将第一像素块单元变换为第二像素块单元,以使变换后的第二像素块单元的内部边界为第一像素块单元的外部边界。
在图像处理领域,边界是指在基于像素块的帧内和帧间预测残差进行DCT变换时,变换系数的量化过程相对粗糙,导致反量化过程恢复的变换系数带有误差,从而在像素块边缘产生的视觉不连续。本发明实施例中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界。
本实施例的滤波方法可以基于H.265协议进行去方块滤波,其中,至少两个第一像素块单元组成第一编码单元,至少两个第二像素块单元组成第二编码单元,第一像素块单元和第二像素块单元可以具体为8×8像素块,第一编码单元和第二编码单元均包括64个8×8像素块。通常每个编码单元也称为一个LCU,每个的每一行和每一列均有8个8×8像素块,每个8×8像素块由4个4×4像素块组成。
本实施例中,可以预先分配第一存储空间和第二存储空间,第一存储空间用于写入第一像素数据,第二存储空间用于写入第二像素数据,第一像素数据为与第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据。在H.265协议中,第一存储空间的大小可以为组成每个LCU的每一列像素块单元大小的一半,第二存储空间的大小为组成每个LCU的每一行像素块单元大小的一半,即第一存储空间和第二存储空间分别用于存储16个4×4像素块的像素数据。
在将第一像素块单元变换为第二像素块单元时,可以获取第一存储空间中的第一像素数据,以及第二存储空间中的第二像素数据,其中,第一像素数据、第二像素数据、以及第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成第二编码单元,对第二编码单元进行划分,得到至少两个第二像素块单元,第二像素块单元与第一像素块单元的大小相同。在H.265协议中,对每个LCU的去方块滤波过程均一致,假设当前要对第一LCU进行去方块滤波,则首先对第一LCU的第一像素块单元进行变换,此时可以获取作为第一存储空间的列存储空间中存储的与第一LCU的第一列8×8像素块相邻的LCU的最后一列4×4像素块的像素数据,以及获得作为第二存储空间的行存储空间中存储的与第一LCU的第一行8×8像素块相邻的LCU的最后一行4×4像素块的像素数据;由第一LCU中除最后一列4×4像素块和最后一行4×4像素块的其它像素块,最后一列4×4像素块,以及最后一行4×4像素块组成的LCU称为第二LCU,对第二LCU重新进行8×8像素块的划分,得到64个第二像素块单元。第二LCU相当于将第一LCU按照64个8×8像素块的大小整体向左平移了4列像素,以及整体向上平移了4行像素后,得到的由64个8×8像素块组成的LCU,该第二LCU中的每个8×8像素块称为第二像素块单元,通过上述变换,得到的第二像素块单元的内部边界为第一像素块单元的外部边界,因此可以将现有技术中对第一像素块单元的外部边界进行的去方块滤波,转变为对第二像素块单元的内部边界进行的去方块滤波。
步骤202:对第二像素块单元的内部边界进行去方块滤波,获得第二像素块单元的像素数据修正值。
本实施例中,在对第二像素块单元的内部边界进行去方块滤波时,可以读取第二像素块单元的至少两个子像素块单元的像素数据;然后,根据读取的像素数据对至少两个子像素块单元的垂直边界进行去方块滤波,将获得的第二像素块单元的像素数据垂直修正值作为第二像素块单元的像素数据修正值;或者,根据读取的像素数据对至少两个子像素块单元的水平边界进行去方块滤波,将获得的第二像素块单元的像素数据水平修正值作为第二像素块单元的像素数据修正值;或者,根据读取的像素数据对至少两个子像素块单元的垂直边界进行去方块滤波,获得第二像素块单元的像素数据垂直修正值,并根据像素数据垂直修正值对至少两个子像素块单元的水平边界进行去方块滤波,将获得的第二像素块单元的像素数据水平修正值作为第二像素块单元的像素数据修正值;或者,根据读取的像素数据对至少两个子像素块单元的水平边界进行去方块滤波,获得第二像素块单元的像素数据水平修正值,并根据像素数据水平修正值对至少两个子像素块单元的垂直边界进行去方块滤波,将获得的第二像素块单元的像素数据垂直修正值作为第二像素块单元的像素数据修正值。
在H.265协议中,可以对组成第二LCU第二像素块单元进行编号,编号可以采用水平编号或垂直编号,对此本发明实施例不进行限制。以先进行垂直滤波再进行水平滤波为例,在进行去方块滤波时,按照第二像素块单元的编号,顺序读取一个第二像素块单元中的4个4×4像素块的像素数据,对所述4个4×4像素块的像素数据进行垂直边界滤波,获得4个4×4像素块的像素数据垂直修正值,并对所述4个4×4像素块的像素数据垂直修正值进行水平边界滤波,获得4个4×4像素块的像素数据水平修正值,作为当前第二像素块单元的像素数据修正值;然后按照第二像素块单元的编号重复前述去方块滤波过程,直至完成对所有第二像素块单元的去方块滤波。
由上述实施例可见,在进行去方块滤波时,由于对像素块单元进行了变换,使得第一像素块单元的外部边界转换成了第二像素块单元的内部边界,从而可以对每个第二像素块单元的内部边界进行去方块滤波,由于内部边界的去方块滤波只需要使用像素块单元的内部数据,无需相邻像素块单元的数据,且去方块滤波过程中无需缓存滤波数据,因此简化了滤波操作过程,节省了缓存资源,从而提高了滤波效率。
参见图3A,为本发明滤波方法的另一个实施例流程图:
步骤301:向第一存储空间写入第一像素数据,以及向第二存储空间写入第二像素数据,其中,第一像素数据为与第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据。
在图像处理领域,边界是指在基于像素块的帧内和帧间预测残差进行DCT变换时,变换系数的量化过程相对粗糙,导致反量化过程恢复的变换系数带有误差,从而在像素块边缘产生的视觉不连续。本发明实施例中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界。
本实施例的滤波方法可以基于H.265协议进行去方块滤波,其中,至少两个第一像素块单元组成第一编码单元,至少两个第二像素块单元组成第二编码单元,第一像素块单元和第二像素块单元可以具体为8×8像素块,第一编码单元和第二编码单元均包括64个8×8像素块。通常每个编码单元也称为一个LCU,每个的每一行和每一列均有8个8×8像素块,每个8×8像素块由4个4×4像素块组成。
本实施例中,可以预先分配第一存储空间和第二存储空间,第一存储空间用于写入第一像素数据,第二存储空间用于写入第二像素数据,第一像素数据为与第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据。在H.265协议中,第一存储空间的大小可以为组成每个LCU的每一列像素块单元大小的一半,第二存储空间的大小为组成每个LCU的每一行像素块单元大小的一半,即第一存储空间和第二存储空间分别用于存储16个4×4像素块的像素数据。本实施例中对每个LCU的去方块滤波过程均一致,假设当前要对第一LCU进行去方块滤波,则第一存储空间中当前存储的是与第一LCU的第一列8×8像素块相邻的LCU的最后一列4×4像素块的像素数据,第二存储空间中当前存储的是与第一LCU的第一行8×8像素块相邻的LCU的最后一行4×4像素块的像素数据。
步骤302:将第一像素块单元变换为第二像素块单元,以使变换后的第二像素块单元的内部边界为第一像素块单元的外部边界,至少两个第一像素块单元组成第一编码单元,至少两个第二像素块单元组成第二编码单元。
在将第一像素块单元变换为第二像素块单元时,可以获取第一存储空间中的第一像素数据,以及第二存储空间中的第二像素数据,其中,第一像素数据、第二像素数据、以及第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成第二编码单元,对第二编码单元进行划分,得到至少两个第二像素块单元,第二像素块单元与第一像素块单元的大小相同。在H.265协议中,对每个LCU的去方块滤波过程均一致,假设当前要对第一LCU进行去方块滤波,则首先对第一LCU的第一像素块单元进行变换,此时可以获取作为第一存储空间的列存储空间中存储的与第一LCU的第一列8×8像素块相邻的LCU的最后一列4×4像素块的像素数据,以及获得作为第二存储空间的行存储空间中存储的与第一LCU的第一行8×8像素块相邻的LCU的最后一行4×4像素块的像素数据;由第一LCU中除最后一列4×4像素块和最后一行4×4像素块的其它像素块,最后一列4×4像素块,以及最后一行4×4像素块组成的LCU称为第二LCU,对第二LCU重新进行8×8像素块的划分,得到64个第二像素块单元。第二LCU相当于将第一LCU按照64个8×8像素块的大小整体向左平移了4列像素,以及整体向上平移了4行像素后,得到的由64个8×8像素块组成的LCU,该第二LCU中的每个8×8像素块称为第二像素块单元,通过上述变换,得到的第二像素块单元的内部边界为第一像素块单元的外部边界,因此可以将现有技术中对第一像素块单元的外部边界进行的去方块滤波,转变为对第二像素块单元的内部边界进行的去方块滤波。
参见图3B,为应用本发明实施例进行去方块滤波的LCU变换示意图:其中,每个最小的方块表示一个4×4像素块,标号从0到255的共256个4×4像素块组成第一LCU,该第一LCU的划分模式与图1中示出的划分方式一致,每四个4×4像素块组成的8×8像素块为第一LCU的第一像素块单元,例如,图3B中标号为(0,1,16,17)的四个4×4像素块组成第一LCU的一个第一像素块单元。同时图3B中,预先分配了作为第一存储空间的列存储空间(left_ram)和作为第二存储空间的行存储空间(up_ram),如图3B中第一LCU左侧的存储空间为用于存储16个4×4像素块的像素数据的列存储空间,第一LCU上方的存储空间为用于存储16个4×4像素块的像素数据的行存储空间。
结合图3B所示,列存储空间中存储的与第一LCU的第一列8×8像素块相邻的LCU的最后一列4×4像素块(图3B中未具体示出这些4×4像素块的标号),行存储空间中存储的与第一LCU的第一行8×8像素块相邻的LCU的最后一行4×4像素块(图3B中未具体示出这些4×4像素块的标号),以及第一LCU中除最后一列4×4像素块和最后一行4×4像素块的其它像素块组成了第二LCU,第二LCU与第一LCU大小相同,同样由64个8×8像素块组成,分别用图3B中的标号0’至63’表示。其中,第一LCU的最后一列4×4像素块(15,31,47,63,79,95,111,127,143,159,175,191,207,223,239,255)用标号65’表示,第一LCU的最后一行4×4像素块(240,241,242,243,244,245,246,247,248,249,250,251,252,253,254)用标号64’表示。
参见图3C,为图3B中第一像素块单元的外部边界转换为第二像素块单元的内部边界的示意图:为了示例方便,图3C中的像素块单元的内部边界和外部边界均用加粗线条进行表示,并且图3C中仅结合转换后的一个第二像素块单元进行说明,结合图3C的(a),四个第一像素块单元分别为(34,35,50,51)、(36,37,52,53)、(66,67,82,83)、(68,69,84,85),其中加粗线条表示需要进行去方块滤波的四个第一像素块单元的外部边界;结合图3C中的(b),在按照图3B中所示方式对图3C(a)中的四个第一像素块单元变换后生成的一个第二像素块单元如图3C(b)中的阴影所示,该第二像素块单元即为(51,52,67,68),由(51,52,67,68)可见,该第二像素块单元的内部垂直边界由第一像素块单元(34,35,50,51)的外部右下侧垂直边界以及第一像素块单元(68,69,84,85)的外部左上侧垂直边界组成,该第二像素块单元的内部水平边界由第一像素块单元(66,67,82,83)的外部右上侧水平边界以及第一像素块单元(36,37,52,53)的外部左下侧水平边界组成。由此可知,本发明实施例通过对第一LCU进行变换,将现有技术中对第一像素块单元的外部边界滤波,转换成了本发明实施例中对第二像素块单元的内部边界滤波,因此在对每个8×8像素块进行去方块滤波时仅需要使用该8×8像素块自身的像素数据即可。
步骤303:对第二像素块单元的内部边界进行去方块滤波,获得第二像素块单元的像素数据修正值。
本实施例中,在对第二像素块单元的内部边界进行去方块滤波时,可以读取第二像素块单元的至少两个子像素块单元的像素数据;然后,根据读取的像素数据对至少两个子像素块单元的垂直边界进行去方块滤波,将获得的第二像素块单元的像素数据垂直修正值作为第二像素块单元的像素数据修正值;或者,根据读取的像素数据对至少两个子像素块单元的水平边界进行去方块滤波,将获得的第二像素块单元的像素数据水平修正值作为第二像素块单元的像素数据修正值;或者,根据读取的像素数据对至少两个子像素块单元的垂直边界进行去方块滤波,获得第二像素块单元的像素数据垂直修正值,并根据像素数据垂直修正值对至少两个子像素块单元的水平边界进行去方块滤波,将获得的第二像素块单元的像素数据水平修正值作为第二像素块单元的像素数据修正值;或者,根据读取的像素数据对至少两个子像素块单元的水平边界进行去方块滤波,获得第二像素块单元的像素数据水平修正值,并根据像素数据水平修正值对至少两个子像素块单元的垂直边界进行去方块滤波,将获得的第二像素块单元的像素数据垂直修正值作为第二像素块单元的像素数据修正值。
在H.265协议中,可以对组成第二LCU第二像素块单元进行编号,编号可以采用水平编号或垂直编号,对此本发明实施例不进行限制。以先进行垂直滤波再进行水平滤波为例,在进行去方块滤波时,按照第二像素块单元的编号,顺序读取一个第二像素块单元中的4个4×4像素块的像素数据,对所述4个4×4像素块的像素数据进行垂直边界滤波,获得4个4×4像素块的像素数据垂直修正值,并对所述4个4×4像素块的像素数据垂直修正值进行水平边界滤波,获得4个4×4像素块的像素数据水平修正值,作为当前第二像素块单元的像素数据修正值;然后按照第二像素块单元的编号重复前述去方块滤波过程,直至完成对所有第二像素块单元的去方块滤波。如图3D所示,为本发明实施例中对第二像素块单元进行去方块滤波的过程示意图:如图3D(a),假设组成第二像素块单元的4个4×4像素块为(a,b,c,d),对该第二像素块单元首先进行内部垂直边界滤波,输出的像素数据垂直修正值如图3D(b),用(a′,b′,c′,d′)表示,然后根据像素数据垂直修正值进行水平边界滤波,输出的像素数据视屏修正值如图3D(c),用(a〞,b〞,c〞,d〞)表示,该(a〞,b〞,c〞,d〞)即为一个第二像素块单元的最终的像素数据修正值。
需要说明的是,每个LCU可以包括亮度分量Y、色度分量Cb和Cr,因此在对第二LCU进行去方块滤波时,可以顺序对亮度分量Y、色度分量Cb和色度分量Cr进行去方块滤波,其中,对亮度分量Y的滤波可以使用第二LCU的所有64个第二像素块单元,对色度分量Cb和Cr的滤波可以使用第二LCU的16个第二像素块单元即可。
由上述滤波过程可见,应用本发明实施例可以在逻辑上实现去方块滤波的三级流水操作,如图3E所示:包括对第二像素块单元进行读取的第一级流水操作(RD_RAM),对读出的第二像素块单元进行内部边界滤波的第二级流水操作(FILTER),以及对滤波结果进行输出的第三级流水操作(WR_RAM)。由于对每个第二像素块单元进行滤波时仅需要该第二像素块单元自身的像素数据即可,因此通过三级流水操作可以实现对三个第二像素块单元同时进行去方块滤波,如图3E中,在对第二像素块单元1进行WR_RAM时,可以同时对第二像素块单元2进行FILTER,以及对第二像素块单元3进行RD_RAM。
步骤304:将第一编码单元的最后一列子像素块单元的像素数据更新到第一存储空间,以及将第一编码单元的最后一行子像素块单元的像素数据更新到第二存储空间。
本实施例中,通过第一LCU的最后一列4×4像素块的像素数据更新列存储空间中存储的像素数据,以及通过第一LCU的最后一行4×4像素块的像素数据更新行存储空间中存储的像素数据。结合图3B,即将标号为65’的第一LCU的最后一列4×4像素块的像素数据更新到列存储空间中,以便对该第一LCU右侧相邻的LCU进行去方块滤波,以及将标号为64’的第一LCU的最后一行4×4像素块的像素数据更新到行存储欧诺关键中,以便对该第一LCU下侧相邻的LCU进行去方块滤波。
由上述实施例可见,在进行去方块滤波时,由于对像素块单元进行了变换,使得第一像素块单元的外部边界转换成了第二像素块单元的内部边界,从而可以对每个第二像素块单元的内部边界进行去方块滤波,由于内部边界的去方块滤波只需要使用像素块单元的内部数据,无需相邻像素块单元的数据,且去方块滤波过程中无需缓存滤波数据,因此简化了滤波操作过程,节省了缓存资源,从而提高了滤波效率;并且,与现有技术分配两个8个8×8像素块大小的存储空间相比,本实施例只需要为去方块滤波分配16个4×4像素块大小的第一存储空间和第二存储空间,因此存储空间减小为原来的一半,相应的从存储空间中读取像素数据的频率也会降低,由此节省了处理功耗。
与本发明滤波方法的实施例相对应,本发明还提供了滤波装置及滤波设备的实施例。
参见图4,为本发明滤波装置的一个实施例框图:
该装置包括:变换单元410和滤波单元420。
其中,变换单元410,用于将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界;
滤波单元420,用于对所述变换单元变换得到的第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值。
参见图5,为本发明滤波装置的另一个实施例框图:
该装置包括:写入单元510、变换单元520和滤波单元530。
写入单元510,用于向第一存储空间写入第一像素数据,以及向第二存储空间写入第二像素数据,其中,所述至少两个第一像素块单元组成第一编码单元,所述至少两个第二像素块单元组成第二编码单元,所述第一像素数据为与所述第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,所述第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据;
变换单元520,用于将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界;
滤波单元530,用于对所述变换单元变换得到的第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值。
在一个可选的实现方式中:
所述变换单元520可以包括(图5中未示出):
数据获取子单元,用于获取所述第一存储空间中的第一像素数据,以及所述第二存储空间中的第二像素数据,其中,所述第一像素数据、所述第二像素数据、以及所述第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成所述第二编码单元;
单元划分子单元,用于对所述第二编码单元进行划分,得到至少两个所述第二像素块单元,所述第二像素块单元与所述第一像素块单元的大小相同。
在另一个可选的实现方式中:
所述滤波装置可以基于H.265协议进行去方块滤波,其中,其中,所述第一像素块单元和所述第二像素块单元具体为8×8像素块,所述第一编码单元和所述第二编码单元均包括64个所述8×8像素块。
在另一个可选的实现方式中:
所述滤波单元530可以包括(图5中未示出):
数据读取子单元,用于读取所述第二像素块单元的至少两个子像素块单元的像素数据;
边界滤波子单元,用于根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,获得所述第二像素块单元的像素数据垂直修正值,并根据所述像素数据垂直修正值对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,获得所述第二像素块单元的像素数据水平修正值,并根据所述像素数据水平修正值对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值。
参见图6,为本发明滤波装置的另一个实施例框图:
该装置包括:写入单元610、变换单元620、滤波单元630和更新单元640。
写入单元610,用于向第一存储空间写入第一像素数据,以及向第二存储空间写入第二像素数据,其中,所述至少两个第一像素块单元组成第一编码单元,所述至少两个第二像素块单元组成第二编码单元,所述第一像素数据为与所述第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,所述第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据;
变换单元620,用于将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界;
滤波单元630,用于对所述变换单元变换得到的第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值;
更新单元640,用于在所述滤波单元对所述第二像素块单元的内部边界进行去方块滤波后,将所述第一编码单元的最后一列子像素块单元的像素数据更新到所述第一存储空间,以及将所述第一编码单元的最后一行子像素块单元的像素数据更新到所述第二存储空间。
在一个可选的实现方式中:
所述变换单元620可以包括(图6中未示出):
数据获取子单元,用于获取所述第一存储空间中的第一像素数据,以及所述第二存储空间中的第二像素数据,其中,所述第一像素数据、所述第二像素数据、以及所述第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成所述第二编码单元;
单元划分子单元,用于对所述第二编码单元进行划分,得到至少两个所述第二像素块单元,所述第二像素块单元与所述第一像素块单元的大小相同。
在另一个可选的实现方式中:
所述滤波装置可以基于H.265协议进行去方块滤波,其中,其中,所述第一像素块单元和所述第二像素块单元具体为8×8像素块,所述第一编码单元和所述第二编码单元均包括64个所述8×8像素块。
在另一个可选的实现方式中:
所述滤波单元630可以包括(图6中未示出):
数据读取子单元,用于读取所述第二像素块单元的至少两个子像素块单元的像素数据;
边界滤波子单元,用于根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,获得所述第二像素块单元的像素数据垂直修正值,并根据所述像素数据垂直修正值对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,获得所述第二像素块单元的像素数据水平修正值,并根据所述像素数据水平修正值对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值。
参见图7,为本发明滤波设备的实施例框图:
该设备包括:数据接口710、处理器720和存储器730。
其中,所述数据接口710,用于获得待滤波的像素块单元;
所述处理器720,用于将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界,并对所述第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值。
在一个可选的实现方式中:
所述处理器720,还可以用于向所述存储器的第一存储空间写入第一像素数据,以及向所述存储器的第二存储空间写入第二像素数据,其中,所述至少两个第一像素块单元组成第一编码单元,所述至少两个第二像素块单元组成第二编码单元,所述第一像素数据为与所述第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,所述第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据;
所述处理器720,可以具体用于获取所述第一存储空间中的第一像素数据,以及所述第二存储空间中的第二像素数据,其中,所述第一像素数据、所述第二像素数据、以及所述第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成所述第二编码单元;对所述第二编码单元进行划分,得到至少两个所述第二像素块单元,所述第二像素块单元与所述第一像素块单元的大小相同。
在另一个可选的实现方式中:
所述处理器720,还可以用于对所述第二像素块单元的内部边界进行去方块滤波后,将所述第一编码单元的最后一列子像素块单元的像素数据更新到所述第一存储空间,以及将所述第一编码单元的最后一行子像素块单元的像素数据更新到所述第二存储空间。
在另一个可选的实现方式中:
所述滤波设备可以基于H.265协议进行去方块滤波,其中,所述第一像素块单元和所述第二像素块单元具体为8×8像素块,所述第一编码单元和所述第二编码单元均包括64个所述8×8像素块。
在另一个可选的实现方式中:
所述处理器720,可以具体用于读取所述第二像素块单元的至少两个子像素块单元的像素数据;根据读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,获得所述第二像素块单元的像素数据垂直修正值,并根据所述像素数据垂直修正值对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,获得所述第二像素块单元的像素数据水平修正值,并根据所述像素数据水平修正值对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值。
由上述实施例可见,该实施例将第一像素块单元变换为第二像素块单元,以使变换后的第二像素块单元的内部边界为第一像素块单元的外部边界,对第二像素块单元的内部边界进行去方块滤波,获得第二像素块单元的像素数据修正值。应用本发明实施例进行去方块滤波时,由于对像素块单元进行了变换,使得第一像素块单元的外部边界转换成了第二像素块单元的内部边界,从而可以对每个第二像素块单元的内部边界进行去方块滤波,由于内部边界的去方块滤波只需要使用像素块单元的内部数据,无需相邻像素块单元的数据,且去方块滤波过程中无需缓存滤波数据,因此简化了滤波操作过程,节省了缓存资源,从而提高了滤波效率。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种滤波方法,其特征在于,所述方法包括:
向第一存储空间写入第一像素数据,以及向第二存储空间写入第二像素数据,其中,所述第一像素数据为与第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,所述第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据,至少两个第一像素块单元组成第一编码单元,至少两个第二像素块单元组成第二编码单元;
将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界;
对所述第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值;
其中,所述将第一像素块单元变换为第二像素块单元,包括:
获取所述第一存储空间中的第一像素数据,以及所述第二存储空间中的第二像素数据,其中,所述第一像素数据、所述第二像素数据、以及所述第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成所述第二编码单元;
对所述第二编码单元进行划分,得到至少两个所述第二像素块单元,所述第二像素块单元与所述第一像素块单元的大小相同。
2.根据权利要求1所述的方法,其特征在于,所述对所述第二像素块单元的内部边界进行去方块滤波后,所述方法还包括:
将所述第一编码单元的最后一列子像素块单元的像素数据更新到所述第一存储空间,以及将所述第一编码单元的最后一行子像素块单元的像素数据更新到所述第二存储空间。
3.根据权利要求2所述的方法,其特征在于,所述滤波方法基于H.265协议进行去方块滤波,其中,所述第一像素块单元和所述第二像素块单元具体为8×8像素块,所述第一编码单元和所述第二编码单元均包括64个所述8×8像素块。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述对所述第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值,包括:
读取所述第二像素块单元的至少两个子像素块单元的像素数据;
根据读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,获得所述第二像素块单元的像素数据垂直修正值,并根据所述像素数据垂直修正值对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,获得所述第二像素块单元的像素数据水平修正值,并根据所述像素数据水平修正值对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值。
5.一种滤波装置,其特征在于,所述装置包括:
写入单元,用于向第一存储空间写入第一像素数据,以及向第二存储空间写入第二像素数据,其中,至少两个第一像素块单元组成第一编码单元,至少两个第二像素块单元组成第二编码单元,所述第一像素数据为与所述第一编码单元的第一列像素块单元相邻的编码单元的最后一列子像素块单元的像素数据,所述第二像素数据为与所述第一编码单元的第一行像素块单元相邻的编码单元的最后一行子像素块单元的像素数据;
变换单元,用于将第一像素块单元变换为第二像素块单元,以使变换后的所述第二像素块单元的内部边界为所述第一像素块单元的外部边界,其中,每个像素块单元包括至少两个子像素块单元,像素块单元的外部边界为所述像素块单元与相邻的像素块单元之间的边界,像素块单元的内部边界为组成所述像素块单元的至少两个子像素块单元之间的边界;
滤波单元,用于对所述变换单元变换得到的第二像素块单元的内部边界进行去方块滤波,获得所述第二像素块单元的像素数据修正值;
其中,所述变换单元包括:
数据获取子单元,用于获取所述第一存储空间中的第一像素数据,以及所述第二存储空间中的第二像素数据,其中,所述第一像素数据、所述第二像素数据、以及所述第一编码单元中除最后一列子像素块单元和最后一行子像素块的其它子像素块单元组成所述第二编码单元;
单元划分子单元,用于对所述第二编码单元进行划分,得到至少两个所述第二像素块单元,所述第二像素块单元与所述第一像素块单元的大小相同。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
更新单元,用于在所述滤波单元对所述第二像素块单元的内部边界进行去方块滤波后,将所述第一编码单元的最后一列子像素块单元的像素数据更新到所述第一存储空间,以及将所述第一编码单元的最后一行子像素块单元的像素数据更新到所述第二存储空间。
7.根据权利要求6所述的装置,其特征在于,所述滤波装置基于H.265协议进行去方块滤波,其中,其中,所述第一像素块单元和所述第二像素块单元具体为8×8像素块,所述第一编码单元和所述第二编码单元均包括64个所述8×8像素块。
8.根据权利要求5至7任意一项所述的装置,其特征在于,所述滤波单元包括:
数据读取子单元,用于读取所述第二像素块单元的至少两个子像素块单元的像素数据;
边界滤波子单元,用于根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的垂直边界进行去方块滤波,获得所述第二像素块单元的像素数据垂直修正值,并根据所述像素数据垂直修正值对所述至少两个子像素块单元的水平边界进行去方块滤波,将获得的所述第二像素块单元的像素数据水平修正值作为所述第二像素块单元的像素数据修正值;或者,根据所述数据读取子单元读取的像素数据对所述至少两个子像素块单元的水平边界进行去方块滤波,获得所述第二像素块单元的像素数据水平修正值,并根据所述像素数据水平修正值对所述至少两个子像素块单元的垂直边界进行去方块滤波,将获得的所述第二像素块单元的像素数据垂直修正值作为所述第二像素块单元的像素数据修正值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310666480.0A CN103702132B (zh) | 2013-12-10 | 2013-12-10 | 滤波方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310666480.0A CN103702132B (zh) | 2013-12-10 | 2013-12-10 | 滤波方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103702132A CN103702132A (zh) | 2014-04-02 |
CN103702132B true CN103702132B (zh) | 2017-05-31 |
Family
ID=50363517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310666480.0A Active CN103702132B (zh) | 2013-12-10 | 2013-12-10 | 滤波方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103702132B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107172423B (zh) * | 2017-03-31 | 2018-08-21 | 武汉斗鱼网络科技有限公司 | 一种对视频帧进行滤波的方法及装置 |
CN116567231B (zh) * | 2023-07-03 | 2023-12-08 | 福州时芯科技有限公司 | 一种用于hevc去方块滤波的系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127906A (zh) * | 2006-08-17 | 2008-02-20 | 富士通株式会社 | 去块滤波器、图像编码器和图像解码器 |
CN101472173A (zh) * | 2007-12-29 | 2009-07-01 | 深圳安凯微电子技术有限公司 | 一种去块滤波方法、系统及去块滤波器 |
CN101951519A (zh) * | 2010-10-12 | 2011-01-19 | 西安电子科技大学 | 高速去块效应滤波方法 |
-
2013
- 2013-12-10 CN CN201310666480.0A patent/CN103702132B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127906A (zh) * | 2006-08-17 | 2008-02-20 | 富士通株式会社 | 去块滤波器、图像编码器和图像解码器 |
CN101472173A (zh) * | 2007-12-29 | 2009-07-01 | 深圳安凯微电子技术有限公司 | 一种去块滤波方法、系统及去块滤波器 |
CN101951519A (zh) * | 2010-10-12 | 2011-01-19 | 西安电子科技大学 | 高速去块效应滤波方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103702132A (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1869636B1 (en) | Generating edge masks for a deblocking filter | |
CN101072333B (zh) | 胶片颗粒的产生和添加 | |
KR100695141B1 (ko) | 영상처리시스템에 있어서 메모리 억세스장치 및 방법, 데이터 기록장치 및 방법과 데이터 독출장치 및 방법 | |
CN104350752B (zh) | 用于高性能视频编码中的无损编码模式的环内滤波的装置 | |
US8639049B1 (en) | Systems and methods for image coding and processing | |
CN105898335A (zh) | 提升硬件效率的环路滤波方法以及环路滤波装置 | |
CN105072353B (zh) | 一种基于多gpu的图像解码拼控方法 | |
KR100877164B1 (ko) | 비디오 매크로블록들을 에지 필터링하는 방법, 장치 및 비디오 시스템 | |
CN104253998B (zh) | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 | |
CN103702132B (zh) | 滤波方法、装置及设备 | |
CN104506867A (zh) | 采样点自适应偏移参数估计方法及装置 | |
CN101527841B (zh) | 去除图像区块效应的方法及装置 | |
JP6202912B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
CN104754363B (zh) | 用于hevc的环路滤波方法及装置、编码器及解码器 | |
US11991399B2 (en) | Apparatus and method for de-blocking filtering | |
CN103731674B (zh) | 一种h.264二维并行后处理去块滤波器硬件实现方法 | |
TWI520618B (zh) | 影像資料處理方法以及影像處理裝置 | |
CN101005619A (zh) | 一种环路滤波的方法 | |
CN102625091B (zh) | 一种基于avs的帧间预测方法 | |
CN110213579A (zh) | 双核心计算单元实现环路滤波的方法 | |
KR20140099180A (ko) | 고해상도 디지털 영상을 부호화하는 방법 및 이를 위한 장치 | |
CN102625095B (zh) | 一种基于avs的帧间预测方法 | |
CN108366263A (zh) | 视频解码方法、设备及存储介质 | |
JP5731816B2 (ja) | 画像処理装置、画像処理方法 | |
CN102625094B (zh) | 一种基于avs的帧间预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220210 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |