CN102801973B - 视频图像去块滤波方法及装置 - Google Patents
视频图像去块滤波方法及装置 Download PDFInfo
- Publication number
- CN102801973B CN102801973B CN201210236491.0A CN201210236491A CN102801973B CN 102801973 B CN102801973 B CN 102801973B CN 201210236491 A CN201210236491 A CN 201210236491A CN 102801973 B CN102801973 B CN 102801973B
- Authority
- CN
- China
- Prior art keywords
- block
- filtering
- sub
- current
- memory
- 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
本发明提供了一种视频图像去块滤波方法及装置。其中方法将一个视频或图像帧分为若干个16×16的宏块,每个宏块分为16个4×4的子块。首先,在读取当前宏块像素数据时,根据控制向量所描述的指令信息将当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组内;然后,在执行每个当前子块的滤波处理时都根据控制向量所描述的指令信息执行相应的子块块号的确定、滤波强度的计算、滤波类型确定、滤波运算处理及数据回写处理的操作。其实质是通过控制表中通用的控制向量所描述的指令信息执行对不同视频编解码标准执行通用的滤波处理操作。本发明提供的去块滤波方法及装置可以实现对不同视频标准去块滤波处理,通用性好,同时也提高滤波处理速度。
Description
技术领域
本发明涉及数字图像处理技术领域,特别是涉及应用在视频编解码技术中的视频图像去块滤波方法及装置。
背景技术
现有技术中,高清视频编解码处理对去块滤波处理提出了前所未有的要求。
去块滤波处理是所有视频编码与解码相当重要的环节,所有追求压缩效率与质量的视频处理均会进行相关处理。但是,由于不同视频标准在去块滤波的处理有不同的运算方法,也因此成为各视频标准相区别的典型标志,同时这也对去块滤波装置的通用性提出挑战;由于去块滤波运算方法的复杂性,处理一个宏块或者一个帧需要较多的时间,这显然不利于高清或超高清视频的编解码处理。
目前应对上述问题的常用做法是:对不同视频格式进行独立处理,只在数据存储环节共享;或者为了加快速度,采用并行的方式,通过增加计算单元来满足要求。
这样的做法通用性差,处理速度慢,同时也会增加了通用芯片成本、降低了效率。
总的来说,现有的去块滤波装置无法实现对不同的视频格式及标准进行滤波,而且现有技术中滤波方法滤波效率低下。因此对于现有技术,如何解决针对不同标准的去块滤波,并提高滤波处理速度是个亟待解决的问题。
发明内容
本发明提供了一种视频图像去块滤波方法及装置,用以解决针对不同标准的去块滤波处理问题,并提高去块滤波的处理速度。
基于上述问题,本发明提供的一种视频图像去块滤波方法,所述去块滤波方法将一个视频或图像帧分为若干个16×16的宏块,每个宏块分为16个4×4的子块,包括下列步骤:
步骤S1、将当前宏块的像素数据保存在第一存储器中,并将与当前宏块相邻的上边、左边和左上边的各个子块的像素数据保存在第二存储器中;
步骤S2、调取控制表的控制向量所描述的指令信息;
步骤A、在读取当前宏块像素数据时,根据所述控制向量所描述的指令信息将所述当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组内;
步骤B、在执行当前宏块内每个子块滤波时,根据滤波控制向量所描述的指令信息确定描述当前的滤波窗口及缓冲器组的数据交互信息并确定当前滤波子块的块号;
步骤C、根据所述数据交互信息计算当前滤波子块的强度并判断是否需要对当前子块进行滤波;
步骤D、若判断需要对当前子块进行滤波,则根据所述数据交互信息确定当前子块的滤波类型,并通过滤波类型确定当前子块相应的滤波运算的方法;若判断不需要对当前子块进行滤波,则直接执行步骤G;
步骤E、根据确定的当前子块的滤波运算的方法对当前子块进行边滤波并将当前子块的边滤波运算结果保存在缓冲器组内;
步骤F、根据控制向量所描述的指令信息,将缓冲器组内所述当前子块边滤波的所述运算结果回写到第二存储器中并结束当前滤波子块的滤波操作;
步骤G、判断当前子块是否为当前宏块中滤波操作的最后一个子块,若判断结果为是,则执行下述步骤H;若判断结果为否,返回步骤B执行对下一个子块的滤波处理操作;
步骤H、结束当前宏块的滤波处理操作;
其中,所述控制表适用于不同的视频编解码标准,所述控制表的控制向量所描述的指令信息为不同的视频编解码标准中通用运算方法的分解控制过程。
进一步地,作为一种可实施方式,所述步骤C中具体实现步骤如下:
C1、根据所述数据交互信息计算当前滤波子块的强度;
C2、若计算出的当前子块的边界强度为0,则判定不需要对当前子块进行边滤波;若计算出的当前子块的边界强度不为0,则判定需要对当前子块进行边滤波。
较佳地,所述当前的滤波窗口及缓冲器组的数据交互信息包括当前宏块信息,当前子块信息及待滤波边的相邻子块的相邻像素数据信息。
相应地,本发明实施例还提供一种视频图像去块滤波装置,包括第一存储器,第二存储器、滤波器组、缓冲器组、第三存储器、读取单元、确定单元、滤波强度判断单元、滤波运算单元、处理单元、判断单元、结束单元、综合处理单元和控制向量表,其中:
所述第一存储器,用于保存当前滤波宏块的像素数据;
所述第二存储器,用于保存与当前宏块相邻的上边、左边和左上边的各个子块的像素数据;并保存从缓冲器组内读入的运算结果;
所述缓冲器组,用于保存从第一存储器和第二存储器读入的像素数据;
所述读取单元,用于在读取当前宏块像素数据时,根据所述控制向量所描述的指令信息将所述当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组;
所述确定单元,用于在执行当前宏块内每个子块滤波时,根据滤波控制向量所描述的指令信息确定描述当前的滤波窗口及缓冲器组的数据交互信息并确定当前滤波子块的块号;
所述滤波强度判断单元,用于根据所述数据交互信息计算当前滤波子块的强度并判断是否需要对当前子块进行滤波;若判断需要,则根据所述控制向量所描述的指令信息中的所述数据交互信息确定当前子块的滤波类型,并通过滤波类型确定当前子块相应的滤波运算的方法;若判断不需要,则直接返回判断单元执行相应的操作;
所述滤波运算单元,用于根据确定的当前子块的滤波运算的方法对当前子块进行边滤波并将当前子块的边滤波运算结果保存在缓冲器组内;
所述滤波器组,用于对当前滤波子块进行边滤波;
所述处理单元,用于根据控制向量所描述的指令信息,将缓冲器组内所述当前子块边滤波的所述运算结果回写到第二存储器中并结束当前滤波子块的滤波操作;
所述判断单元,用于判断当前子块是否为当前宏块中滤波操作的最后一个子块,若判断结果为是,则跳转结束单元执行结束当前宏块滤波处理的操作;若判断结果为否,则返回确定单元执行下一个子块的相应滤波处理操作;
所述第三存储器,用于保存所述控制表;
所述结束单元,用于结束当前宏块的滤波处理操作;
所述综合处理单元,用于根据所述控制向量所描述的指令信息,协调各单元执行相应的操作;
所述去块滤波装置还包括控制单元,用于调取第三存储器中控制表的控制向量所描述的指令信息;
其中,所述控制表适用于不同的视频编解码标准,所述控制表的控制向量所描述的指令信息为不同的视频编解码标准中通用运算方法的分解控制过程。
进一步地,作为一种可实施方式,所述滤波强度判断单元具体包括计算子单元和判定子单元,其中:
所述计算子单元,用于根据所述数据交互信息计算当前滤波子块的强度;
所述判定子单元,用于在计算当前子块的边界强度为0时,判定不需要对当前子块进行边滤波;在计算当前子块的边界强度不为0时,判定需要对当前子块进行滤波。
较佳地,所述缓冲器组中每个缓冲器装载4x4的像素块且均能交互数据。
较佳地,所述控制向量表包括多个基本控制向量,所述不同控制向量描述相应的指令信息,所述控制向量描述的指令信息包括:滤波边相邻的子块的块类型,滤波方向,滤波边相邻的子块的编号,从第一存储器读取的子块编号,从第二存储器读取的子块编号,写入到缓冲器的组号,读取缓冲器的组号,读取缓冲器组到第二存储器的块编号和缓冲器组内部缓冲器之间进行数据交互各源缓冲器组号及目的缓冲器组号;
本发明的有益效果包括:
本发明提供的一种视频图像去块滤波方法和装置,其中方法将一个视频或图像帧分为若干个16×16的宏块,每个宏块分为16个4×4的子块。首先,在读取当前宏块像素数据时,根据控制向量所描述的指令信息将当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组内;然后,在执行每个当前子块的滤波处理时都根据控制向量所描述的指令信息执行相应的子块块号的确定、滤波强度的计算、滤波类型确定、滤波运算处理及数据回写处理的操作。其实质是通过控制表中通用的控制向量所描述的指令信息执行对不同视频编解码标准执行通用的滤波处理操作。
其中,本发明这样通过控制表中通用的控制向量去块滤波处理方法,因为合理的调整了子块的局部滤波顺序,所以在保障不影响去块滤波效率的条件下合理地减少了缓冲器组的数量,同时提高滤波处理速度,本发明鉴于去块滤波的复杂性和高清视频编解码对速度提出较高的要求以及编码视频格式较多,提供了一种视频图像去块滤波方法及装置,其较好应对去块滤波的复杂性,通用性好,能满足多种格式的高清视频编解码处理要求。
附图说明
图1为本发明视频图像去块滤波方法的一个实施例的流程示意图;
图2为本发明视频图像去块滤波中的宏块、子块与像素结构关系示意图;
图3为本发明视频图像去块滤波装置一实施例的去块滤波装置中缓冲器组的示意图;
图4为现有技术的去块滤波方法采用H.264标准对16×16宏块的亮度像素滤波的去块滤波顺序;
图5为本发明视频图像去块滤波方法的一实施例,采用的H.264标准对16×16宏块的亮度像素滤波的去块滤波顺序;
图6为本发明视频图像去块滤波装置一实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本发明视频图像去块滤波方法及装置的具体实施方式进行说明。
本发明实施例提供的一种视频图像去块滤波方法,去块滤波方法将一个视频图像帧分为若干个16×16的宏块,每个宏块分为16个4×4的子块,如图1所示,具体包括以下步骤:
步骤A、在读取当前宏块像素数据时,根据控制向量所描述的指令信息将当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组内;
步骤B、在执行当前宏块内每个子块滤波时,根据滤波控制向量所描述的指令信息确定描述当前的滤波窗口及缓冲器组的数据交互信息并确定当前滤波子块的块号;
步骤C、根据数据交互信息计算当前滤波子块的强度并判断是否需要对当前子块进行滤波;
步骤D、若判断需要对当前子块进行滤波,则根据数据交互信息确定当前子块的滤波类型,并通过滤波类型确定当前子块相应的滤波运算的方法;若判断不需要对当前子块进行滤波,则直接执行步骤G;
步骤E、根据确定的当前子块的滤波运算的方法对当前子块进行边滤波并将当前子块的边滤波运算结果保存在缓冲器组内;
步骤F、根据控制向量所描述的指令信息,将缓冲器组内当前子块边滤波的运算结果回写到第二存储器中并结束当前滤波子块的滤波操作;
步骤G、判断当前子块是否为当前宏块中滤波操作的最后一个子块,若判断结果为是,则执行下述步骤H;若判断结果为否,返回步骤B执行对下一个子块的滤波处理操作;
步骤H、结束当前宏块的滤波处理操作。
较佳地,作为一种可实施方式,步骤A之前还包括执行准备待滤波数据操作,执行待滤波数据操作具体包括如下步骤:
步骤S1、将当前宏块的像素数据保存在第一存储器中,并将与当前宏块相邻的上边、左边和左上边的各个子块的像素数据保存在第二存储器中;
步骤S2、调取第三存储器中控制表的控制向量所描述的指令信息。
举例说明,如图2所示,当前宏块的相邻上边(子块编号为12、13、14、15)、左边(子块编号为3、7、11、15)和左上边(子块编号为15)对应的各个子块。
进一步地,作为一种可实施方式,上述步骤C中具体实现步骤如下:
C1、根据数据交互信息计算当前滤波子块的强度;
C2、若计算出的当前子块的边界强度为0,则判定不需要对当前子块进行边滤波;若计算出的当前子块的边界强度不为0,则判定需要对当前子块进行边滤波。
较佳地,当前的滤波窗口及缓冲器组的数据交互信息包括当前宏块信息,当前子块信息及待滤波边的相邻子块的相邻像素数据信息。
具体地,在控制向量所描述的指令信息中包括当前宏块信息,当前子块信息及待滤波边的相邻子块的相邻像素数据信息;其中,上述信息均对应着控制表中控制向量。
其中,作为一种可实施方式,控制向量表包括多个控制向量,不同控制向量描述相应的指令信息,控制向量描述的指令信息包括:滤波边相邻的子块的块类型,滤波方向,滤波边相邻的子块的编号,从第一存储器读取的子块编号,从第二存储器读取的子块编号,写入到缓冲器的组号,读取缓冲器的组号,读取缓冲器组到第二存储器的块编号和缓冲器组内部缓冲器之间进行数据交互各源缓冲器组号及目的缓冲器组号等,下表为控制表中控制向量说明表,如下表所示:
在上述表中,控制表的控制向量根据不同格式的视频编解码运算方法而配置,并存储在第三存储器内。在播放其中一种视频格式时,将先执行调取第三存储器中控制表的控制向量所描述的指令信息。
为了更好地说明宏块、子块与各个像素的结构关系,如图2所示。其中,标示0~15为当前处理宏块内部的各个子块的标号,除此外,在配置待滤波像素数据时,还要配置当前宏块相邻的上边(子块编号为12、13、14、15)、左边(子块编号为3、7、11、15)和左上边(子块编号为15)的各个子块的像素数据。
较佳地,在上述控制表中,控制表的控制向量所描述的指令信息为不同的视频编解码标准中通用运算方法的分解控制过程。尽管各种视频去块滤波方法不尽相同,但均可以简单分解为如下通用过程:
根据控制表确定从第一存储器及第二存储器读入到缓冲器的块号。
根据控制表确定本次滤波子块的块号。
根据控制表提供的相关子块类型等指令信息并通过上述信息中的滤波像素确定滤波强度及滤波类型。
根据标准协议运算方法进行滤波。
根据控制表确定滤波结果回写到第二存储器中的位置。
判断当前子块是否为当前宏块中滤波操作的最后一个子块,若判断结果为是,结束整个宏块的滤波处理操作;若判断结果为否,则继续执行对下一个子块的滤波处理操作。
在通用步骤确定后,各种视频去块滤波方法控制就转化为基于控制表中架构的控制向量,由于不同视频运算方法不同,相应的控制向量也不同。同时,一种视频去块滤波方法采用不同的控制向量,滤波效率也不相同。控制表中控制向量的构成本发明实施例的关键。上述控制表适用于不同的视频编解码标准,控制表的控制向量所描述的指令信息为不同的视频编解码标准中通用运算方法的分解控制过程。
本发明提供的控制向量表,在针对不同的视频编解码去块滤波过程中同时遵循以下3个原则;3个原则具体包括下述内容:
原则一,严格遵循标准协议中各个像素滤波先后顺序,在此基础上,可调整块边滤波顺序;
原则二,每个像素仅读写一次,合理安排缓冲器组装置的数量;
原则三,保证每个时钟周期处理一条边,滤波运算装置不空闲,直到宏块滤波结束。
除去滤波强度判断与滤波运算单元流水延时,运算单元每个时钟周期在处理不同边的行或列,也就是运算单元不空闲。这对待滤波数据的准备工作提出较高的要求。
其中,第二存储器有频繁的数据访问,必须有缓冲器来保存待运算数据或者运算出的结果;在本发明实施例中,设置缓冲器组有5~10组,每组存储16个像素,即一个块,参见图3。其中两个组分别为滤波的主窗口,所有缓冲器组可以数据交互;确定缓冲器组的数量。为了使得每一个时钟周期处理一条边,缓冲器组要提高充分、即时的数据准备,所以其数量定为5~10组之间。
在保证去块滤波顺序的条件下,灵活地安排局部滤波顺序以保证滤波数据只读一次和写一次,以减小对第二存储器的操作;同时保证即时滤波数据的准备,避免滤波运算单元空闲,浪费了时间。不同的视频格式有不同的滤波顺序规定,局部滤波顺序的设计也不同;而且滤波顺序的设计看似有很大的自由度;
其实在上面3条原则设计约束下,局部滤波顺序设计的自由度其实很小。这3条约束为:缓冲器组的数目;滤波数据只能读写一次;滤波数据即时准备,运算单元不空闲。
举例来说,下面以H.264亮度像素为例,来解析如何为视频编解码设计去块滤波局部顺序。H.264为IEO/IEC/和ITU-T两大国际标准化组织联手制定了新一代视频压缩标准。图4现有技术中去块滤波方法采用H.264标准的去块滤波顺序,其中粗实线表示宏块边界,如图4所示,图中对32条亮度像素边进行了编号,编号的顺序决定了滤波的顺序,并用粗体带有下划线的数字对16个4×4的子块进行了编号(编号顺序为0~15),在去块滤波的过程中,举例来说,对第一列的各个子块(0、4、8、12)进行滤波时,并分别对0、1、2、3号标识的亮度像素边进行边滤波,并将运算结果暂存在缓冲器组中,然后再保存在第二存储器中,在对4号标识的亮度像素边进行边滤波时,因为4号亮度像素边是子块0与子块1的边界像素,所以这时在滤波4号亮度像素边时又要重新从第二存储器中读取1号子块,这样会重复读取第二存储器,同时,这样的滤波顺序需要大量的缓冲器,也同时增加了滤波数据读写次数,这样,也大大地增加了设计成本和处理一个宏块所需的时间。
下面依然以H.264处理亮度像素滤波为例,然而,在本发明实施例所提供的去块滤波方法进行滤波时,进行的局部滤波顺序调整后,满足了上述提到的3个原则后,大大减小了处理一个宏块所需的时间,图5为本发明实施例提供的去块滤波方法采用H.264标准对宏块的亮度像素滤波的去块滤波顺序,如图5所示,图中对32条亮度像素边进行了编号,编号的顺序决定了滤波的顺序,显然,图5所示的滤波顺序不同于现有技术的滤波顺序,参见图5,用粗体带有下划线的数字对16个4×4的子块进行了编号(编号顺序为0~15)。本发明实施例所采用的去块滤波方法在滤波亮度像素边时,先将当前子块各个亮度像素边滤波(0、1、2)并保存在缓冲器中再滤波与当前子块0相邻的子块1的各个亮度像素边(3、4)并保存缓冲器中,待滤波到子块4时,因为子块0与子块4相邻,这时子块4的滤波需要从子块0中获取像素数据,这时子块0对子块4有需求,因此子块0暂时还保存在缓冲器组中(暂不将子块0的运算结果回写到第二存储器中),顺序滤波完子块4后,判断得出当前宏块内没有滤波的各个子块中(子块5-15),没有与子块0相邻的子块,这时子块0对后续滤波子块(子块5-15)不相邻,也就不需要再从缓冲器中调取子块0了,这时将缓冲器中子块0的亮度像素边滤波运算结果保存到第二存储器中,这样避免了在滤波与子块0相邻的子块时重复调取子块0的像素数据,同时也减少了缓冲器组的配制数量,提高了滤波处理速度,尽管修改的滤波顺序与协议规定不同,但对每个滤波像素数据来说,在滤波作用范围内,其滤波先后顺序并没有改变。合理的调整了子块的局部滤波顺序,所以在保障不影响去块滤波效率的条件下合理地减少了缓冲器组的数量,提高滤波处理速度。
较佳地,不同的视频方法有不同的控制向量,由于每个宏块有32+16条边滤波,其中,32条亮度像素边,16条色度像素边,所以每个宏块会有很多步骤来完成。这些步骤构成了控制向量表的控制向量所描述的指令信息,上述控制表置于第三存储器中。
本发明实施例的去块滤波装置架构的核心在控制表及缓冲器组的设计。对于不同视频格式,其滤波顺序,滤波运算方法等均不一样,甚至相差较大。但对本发明实施例的去块滤波装置,只要读取通用的控制表,并通过控制表中的控制向量所描述的指令信息执行滤波操作,便可实现针对不同标准的去块滤波,其同时通过较少缓冲器的设计,大大的加速了滤波效率,其非常方便全格式全高清视频解码的实现。
控制表的控制向量控制去块滤波时需要在严格遵循标准协议中各个像素滤波先后顺序的条件下,巧妙地调整子块边滤波顺序及预取数据的方法。
基于同一发明构思,本发明实施例还提供了一种视频图像去块滤波装置,由于此装置解决问题的原理与前述一种视频图像去块滤波方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种视频图像去块滤波装置,包括第一存储器1,第二存储器2、滤波器组3、缓冲器组4、第三存储器5、读取单元601、确定单元602、滤波强度判断单元603、滤波运算单元604、处理单元605、判断单元606、结束单元607、综合处理单元608和控制向量表609,如图6所示,其中:
第一存储器1,用于保存当前滤波宏块的像素数据;
第二存储器2,用于保存与当前宏块相邻的上边、左边和左上边的各个子块的像素数据;并保存从缓冲器组内读入的运算结果;
缓冲器组4,用于保存从第一存储器和第二存储器读入的像素数据;
读取单元601,用于在读取当前宏块像素数据时,根据控制向量所描述的指令信息将当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组;
确定单元602,用于在执行当前宏块内每个子块滤波时,根据滤波控制向量所描述的指令信息确定描述当前的滤波窗口及缓冲器组的数据交互信息并确定当前滤波子块的块号;
滤波强度判断单元603,用于根据数据交互信息计算当前滤波子块的强度并判断是否需要对当前子块进行滤波;若判断需要,则根据控制向量所描述的指令信息中的数据交互信息确定当前子块的滤波类型,并通过滤波类型确定当前子块相应的滤波运算的方法;若判断不需要,则直接返回判断单元执行相应的操作;
滤波运算单元604,用于根据确定的当前子块的滤波运算的方法对当前子块进行边滤波并将当前子块的边滤波运算结果保存在缓冲器组内;
滤波器组3,用于对当前滤波子块进行边滤波;
处理单元605,用于根据控制向量所描述的指令信息,将缓冲器组内当前子块边滤波的运算结果回写到第二存储器中并结束当前滤波子块的滤波操作;
判断单元606,用于判断当前子块是否为当前宏块中滤波操作的最后一个子块,若判断结果为是,则跳转结束单元执行结束当前宏块滤波处理的操作;若判断结果为否,则返回确定单元执行下一个子块的相应滤波处理操作;
第三存储器5,用于保存控制表609;
结束单元607,用于结束当前宏块的滤波处理操作;
综合处理单元608,用于根据控制向量所描述的指令信息,协调各单元执行相应的操作。
较佳地,作为一种可实施方式,去块滤波装置还包括控制单元610;
控制单元610,用于调取第三存储器中控制表的控制向量所描述的指令信息。
进一步地,作为一种可实施方式,滤波强度判断单元603具体包括计算子单元和判定子单元,其中:
计算子单元,用于根据数据交互信息计算当前滤波子块的强度;
判定子单元,用于在计算当前子块的边界强度为0时,判定不需要对当前子块进行边滤波;在计算当前子块的边界强度不为0时,判定需要对当前子块进行滤波。
较佳地,缓冲器组中每个缓冲器装载4x4的像素块且均能交互数据。
较佳地,控制向量表包括多个基本控制向量,不同控制向量描述相应的指令信息,控制向量描述的指令信息包括:滤波边相邻的子块的块类型,滤波方向,滤波边相邻的子块的编号,从第一存储器读取的子块编号,从第二存储器读取的子块编号,写入到缓冲器的组号,读取缓冲器的组号,读取缓冲器组到第二存储器的块编号和缓冲器组内部缓冲器之间进行数据交互各源缓冲器组号及目的缓冲器组号。
较佳地,控制表适用于不同的视频编解码标准,控制表的控制向量所描述的指令信息为不同的视频编解码标准中通用运算方法的分解控制过程。
本发明实施例提供的视频图像去块滤波装置,其能够较好地应对去块滤波的复杂性,具备速度快、通用性好等有益效果,能满足多种视频格式的高清视频编解码处理。
本发明实施例提供的视频图像去块滤波装置,在结构上主要特点是缓冲器组与控制表的设计。去块滤波装置采用流水设计,处理速度快,通用性好。
本发明实施例所提供的视频图像去块滤波装置中各个单元功能可通过计算机程序实现。本领域技术人员应该能够理解,上述的单元划分方式仅是众多单元划分中的一种,如果划分为其他单元或是不划分单元,只要去块滤波装置具有上述功能,都应该在本发明的保护范围之内。
本发明提供的一种视频图像去块滤波方法及装置,其中方法将一个视频图像帧分为若干个16×16的宏块,每个宏块分为16个4×4的子块。首先,在读取当前宏块像素数据时,根据控制向量所描述的指令信息将当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组内;然后,在执行每个当前子块的滤波处理时都根据控制向量所描述的指令信息执行相应的子块块号的确定、滤波强度的计算、滤波类型确定、滤波运算处理及数据回写处理的操作。其实质是通过控制表中通用的控制向量所描述的指令信息执行对不同视频编解码标准执行通用的滤波处理操作。
其中,本发明这样通过控制表中通用的控制向量去块滤波处理方法,因为合理的调整了子块的局部滤波顺序,所以在保障不影响去块滤波效率的条件下合理地减少了缓冲器组的数量,同时提高滤波处理速度,本发明鉴于去块滤波的复杂性和高清视频编解码对速度提出较高的要求以及编码视频格式较多,提供了一种视频图像去块滤波装置,其较好应对去块滤波的复杂性,通用性好,能满足多种格式的高清视频编解码处理要求。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种视频图像去块滤波方法,将一个视频图像帧分为若干个16×16的宏块,每个宏块分为16个4×4的子块,其特征在于,包括下列步骤:
步骤S1、将当前宏块的像素数据保存在第一存储器中,并将与当前宏块相邻的上边、左边和左上边的各个子块的像素数据保存在第二存储器中;
步骤S2、调取控制表的控制向量所描述的指令信息;
步骤A、在读取当前宏块像素数据时,根据所述控制向量所描述的指令信息将所述当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组内;
步骤B、在执行当前宏块内每个子块滤波时,根据滤波控制向量所描述的指令信息确定描述当前的滤波窗口及缓冲器组的数据交互信息并确定当前滤波子块的块号;
步骤C、根据所述数据交互信息计算当前滤波子块的强度并判断是否需要对当前子块进行滤波;
步骤D、若判断需要对当前子块进行滤波,则根据所述数据交互信息确定当前子块的滤波类型,并通过滤波类型确定当前子块相应的滤波运算的方法;若判断不需要对当前子块进行滤波,则直接执行步骤G;
步骤E、根据确定的当前子块的滤波运算的方法对当前子块进行边滤波并将当前子块的边滤波运算结果保存在缓冲器组内;
步骤F、根据控制向量所描述的指令信息,将缓冲器组内所述当前子块边滤波的所述运算结果回写到第二存储器中并结束当前滤波子块的滤波操作;
步骤G、判断当前子块是否为当前宏块中滤波操作的最后一个子块,若判断结果为是,则执行下述步骤H;若判断结果为否,返回步骤B执行对下一个子块的滤波处理操作;
步骤H、结束当前宏块的滤波处理操作;
其中,所述控制表适用于不同的视频编解码标准,所述控制表的控制向量所描述的指令信息为不同的视频编解码标准中通用运算方法的分解控制过程。
2.根据权利要求1所述的视频图像去块滤波方法,其特征在于,所述步骤C中具体实现步骤如下:
C1、根据所述数据交互信息计算当前滤波子块的强度;
C2、若计算出的当前子块的边界强度为0,则判定不需要对当前子块进行边滤波;若计算出的当前子块的边界强度不为0,则判定需要对当前子块进行边滤波。
3.根据权利要求1所述的视频图像去块滤波方法,其特征在于,所述当前的滤波窗口及缓冲器组的数据交互信息包括当前宏块信息,当前子块信息及待滤波边的相邻子块的相邻像素数据信息。
4.一种视频图像去块滤波装置,其特征在于,包括第一存储器,第二存储器、滤波器组、缓冲器组、第三存储器、读取单元、确定单元、滤波强度判断单元、滤波运算单元、处理单元、判断单元、结束单元、综合处理单元和控制向量表,其中:
所述第一存储器,用于保存当前滤波宏块的像素数据;
所述第二存储器,用于保存与当前宏块相邻的上边、左边和左上边的各个子块的像素数据;并保存从缓冲器组内读入的运算结果;
所述缓冲器组,用于保存从第一存储器和第二存储器读入的像素数据;
所述读取单元,用于在读取当前宏块像素数据时,根据控制向量所描述的指令信息将所述当前宏块的像素数据从第一存储器和第二存储器读入到指定的缓冲器组;
所述确定单元,用于在执行当前宏块内每个子块滤波时,根据滤波控制向量所描述的指令信息确定描述当前的滤波窗口及缓冲器组的数据交互信息并确定当前滤波子块的块号;
所述滤波强度判断单元,用于根据所述数据交互信息计算当前滤波子块的强度并判断是否需要对当前子块进行滤波;若判断需要,则根据所述控制向量所描述的指令信息中的所述数据交互信息确定当前子块的滤波类型,并通过滤波类型确定当前子块相应的滤波运算的方法;若判断不需要,则直接返回判断单元执行相应的操作;
所述滤波运算单元,用于根据确定的当前子块的滤波运算的方法对当前子块进行边滤波并将当前子块的边滤波运算结果保存在缓冲器组内;
所述滤波器组,用于对当前滤波子块进行边滤波;
所述处理单元,用于根据控制向量所描述的指令信息,将缓冲器组内所述当前子块边滤波的所述运算结果回写到第二存储器中并结束当前滤波子块的滤波操作;
所述判断单元,用于判断当前子块是否为当前宏块中滤波操作的最后一个子块,若判断结果为是,则跳转结束单元执行结束当前宏块滤波处理的操作;若判断结果为否,则返回确定单元执行下一个子块的相应滤波处理操作;
所述第三存储器,用于保存控制表;
所述结束单元,用于结束当前宏块的滤波处理操作;
所述综合处理单元,用于根据所述控制向量所描述的指令信息,协调各单元执行相应的操作;
还包括控制单元,用于调取所述第三存储器中控制表的控制向量所描述的指令信息;
其中,所述控制表适用于不同的视频编解码标准,所述控制表的控制向量所描述的指令信息为不同的视频编解码标准中通用运算方法的分解控制过程。
5.根据权利要求4所述的视频图像去块滤波装置,其特征在于,所述滤波强度判断单元包括计算子单元和判定子单元,其中:
所述计算子单元,用于根据所述数据交互信息计算当前滤波子块的强度;
所述判定子单元,用于在计算当前子块的边界强度为0时,判定不需要对当前子块进行边滤波;在计算当前子块的边界强度不为0时,判定需要对当前子块进行滤波。
6.根据权利要求4所述的视频图像去块滤波装置,其特征在于,所述缓冲器组中每个缓冲器装载4x4的像素块且均能交互数据。
7.根据权利要求4所述的视频图像去块滤波装置,其特征在于,所述控制向量表包括多个基本控制向量,所述不同控制向量描述相应的指令信息,所述控制向量描述的指令信息包括:滤波边相邻的子块的块类型,滤波方向,滤波边相邻的子块的编号,从第一存储器读取的子块编号,从第二存储器读取的子块编号,写入到缓冲器的组号,读取缓冲器的组号,读取缓冲器组到第二存储器的块编号和缓冲器组内部缓冲器之间进行数据交互各源缓冲器组号及目的缓冲器组号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210236491.0A CN102801973B (zh) | 2012-07-09 | 2012-07-09 | 视频图像去块滤波方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210236491.0A CN102801973B (zh) | 2012-07-09 | 2012-07-09 | 视频图像去块滤波方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102801973A CN102801973A (zh) | 2012-11-28 |
CN102801973B true CN102801973B (zh) | 2015-03-25 |
Family
ID=47200928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210236491.0A Active CN102801973B (zh) | 2012-07-09 | 2012-07-09 | 视频图像去块滤波方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102801973B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105828071B (zh) * | 2016-03-31 | 2019-05-24 | 中国人民解放军国防科学技术大学 | 面向向量处理器的去块滤波向量化实现方法 |
CN108574471B (zh) * | 2017-03-14 | 2021-11-23 | 珠海全志科技股份有限公司 | 用于射频功率放大电路的全集成谐波滤波器 |
CN110213579A (zh) * | 2019-06-11 | 2019-09-06 | 上海富瀚微电子股份有限公司 | 双核心计算单元实现环路滤波的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921625A (zh) * | 2006-09-15 | 2007-02-28 | 清华大学 | 去块效应滤波器的滤波方法与*** |
CN101170701A (zh) * | 2007-11-16 | 2008-04-30 | 四川虹微技术有限公司 | 视频编解码***中去块滤波方法及装置 |
CN101472172A (zh) * | 2007-12-29 | 2009-07-01 | 深圳安凯微电子技术有限公司 | 一种在视频解码中滤波前期的数据处理方法及解码器 |
WO2009123033A1 (ja) * | 2008-03-31 | 2009-10-08 | 日本電気株式会社 | デブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011096869A1 (en) * | 2010-02-05 | 2011-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | De-blocking filtering control |
-
2012
- 2012-07-09 CN CN201210236491.0A patent/CN102801973B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921625A (zh) * | 2006-09-15 | 2007-02-28 | 清华大学 | 去块效应滤波器的滤波方法与*** |
CN101170701A (zh) * | 2007-11-16 | 2008-04-30 | 四川虹微技术有限公司 | 视频编解码***中去块滤波方法及装置 |
CN101472172A (zh) * | 2007-12-29 | 2009-07-01 | 深圳安凯微电子技术有限公司 | 一种在视频解码中滤波前期的数据处理方法及解码器 |
WO2009123033A1 (ja) * | 2008-03-31 | 2009-10-08 | 日本電気株式会社 | デブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102801973A (zh) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101583041B (zh) | 多核图像编码处理设备的图像滤波方法及设备 | |
CN103098468B (zh) | 使用基于块的混合分辨率数据修剪的视频编码 | |
JP2006174486A (ja) | ビデオデータの水平及び垂直フィルタリングを同時に行うデブロッキングフィルタ及び動作方法 | |
CN100446573C (zh) | 基于avs的去块效应滤波器vlsi实现装置 | |
CN103051892B (zh) | 内嵌式回路滤波方法以及内嵌式回路滤波装置 | |
CN105791831A (zh) | 将协作分区编码用于基于区域的滤波器的方法及装置 | |
CN100493196C (zh) | 一种快速计算h.264视频标准中去块滤波边界强度值的方法 | |
CN102801973B (zh) | 视频图像去块滤波方法及装置 | |
CN104025594A (zh) | 视频编码中的瓦片大小 | |
CN101321290A (zh) | 基于数字信号处理器的去块滤波方法 | |
CN1306826C (zh) | 基于多级并行流水线方式的环路滤波装置 | |
CN100531392C (zh) | H.264去块效应滤波器的硬件实现方法 | |
CN101330617A (zh) | 基于模式映射的多标准帧内预测器的硬件实现方法及装置 | |
CN101115207A (zh) | 基于预测点间相关性的帧内预测实现的方法及装置 | |
CN1589028B (zh) | 基于像素流水的帧内预测装置及预测方法 | |
CN102572430A (zh) | 一种基于可重构技术的h.264去块滤波算法的实现方法 | |
CN101635849A (zh) | 一种环路滤波方法及环路滤波器 | |
CN102137257B (zh) | 基于tms320dm642芯片的嵌入式h.264编码方法 | |
CN102685497A (zh) | 一种avs编码器快速帧间模式选择方法及装置 | |
CN101605263B (zh) | 帧内预测的方法和装置 | |
KR100729241B1 (ko) | 디블록킹 필터 | |
KR100856551B1 (ko) | H.264/avc에서의 디블록 필터 및 필터링 방법 | |
CN111698511A (zh) | 图像滤波方法、装置、设备及可读存储介质 | |
CN100592799C (zh) | 基于h.264标准运动补偿的数据快速读取方法 | |
KR100686141B1 (ko) | 이동형 방송 수신기의 디블로킹 필터 및 필터링 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |