CN101459839A - 去块效应滤波方法及实现该方法的装置 - Google Patents
去块效应滤波方法及实现该方法的装置 Download PDFInfo
- Publication number
- CN101459839A CN101459839A CN 200710195049 CN200710195049A CN101459839A CN 101459839 A CN101459839 A CN 101459839A CN 200710195049 CN200710195049 CN 200710195049 CN 200710195049 A CN200710195049 A CN 200710195049A CN 101459839 A CN101459839 A CN 101459839A
- Authority
- CN
- China
- Prior art keywords
- filtering
- image blocks
- piece
- block
- filter
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
一种用于去块效应的滤波方法,包括步骤:将输入图像帧划分为多个16×16宏块;将所述多个16×16宏块分别划分为2个8×16图像块,并对于所述2个8×16图像块的边界,以4×4图像块为单位分别执行滤波。本文提出的方法和设计的VLSI实现装置具有滤波性能高,资源耗用少的优点。其中本文提出的去块效应滤波方法,作为基本方法,可以应用于任何方式实现的AVS解码器中。
Description
技术领域
本发明涉及AVS(Audio Video coding Standard)标准,具体地,涉及一种去块效应滤波方法及实现该方法的装置
背景技术
由信息产业部组织制定的AVS(Audio Video coding Standard)标准已经在2006年成为中国国家标准,并且在2007年成为ITU IPTV视频编码的候选标准之一。与MPEG-4和H.264等标准相比,AVS具有性能高、复杂度适中、专利费用低等特点,将会逐步广泛应用于数字地面电视广播、宽带视频业务、实时通信业务,以及远程视频监控等领域。
AVS视频编码标准采用的主要编解码技术包括:变换、量化、帧内预测、帧间预测、变长编码和去块效应滤波(De-blocking filter),如图1所示。
其中,去块效应滤波的目的是消除可能出现在每个8 X 8块边界上的块效应。在AVS标准中规定:除图像边界及条带的边界之外,宏块的所有边界都应进行滤波。这里,将宏块边界定义为宏块内部各个8 X 8块的边界,以及当前宏块与相邻宏块的上边界和左边界。
去块效应滤波以宏块为单位,按照光栅扫描顺序依次处理。每个宏块首先从左到右对垂直边界滤波,然后从上到下对水平边界滤波。当前宏块的上边或者左边的样本值可能在以前的滤波过程中已经被修改,当前宏块滤波的输入为这些可能被修改的样本值,并且当前宏块滤波可能进一步修改这些样本值。当前宏块垂直边界滤波过程中修改的样本值作为水平边界滤波过程的输入。图2给出了AVS标准中以宏块为单位的去块效应滤波顺序。图3是垂直块边界滤波和水平块边界滤波的示意图。
上海交通大学在2006年提出了一种“基于AVS的去块效应滤波器VLSI实现装置”(CN1874516A,对比文件1),该实现装置可用于AVS解码器的FPGA或者ASIC设计。详细实现总结如下:
1.每次对16 X 16宏块整体进行去块效应滤波,滤波处理的基本单位为8X8块。在进行滤波时,先进行所有垂直块边界的滤波,然后进行所有水平块边界的滤波。图4给出了对比文件1中16 X 16宏块滤波的过程,其中0、1、2、3为4个8 X 8块,h1、h2、h3、h4为垂直边界的滤波顺序,v1、v2、v3、v4为水平边界的滤波顺序。
2.如图4所示,在进行垂直块边界滤波时,先进行左上垂直块边界滤波(h1),后进行右上垂直块边界滤波(h2),接着进行左下垂直块边界滤波(h3),最后再进行右下垂直块边界滤波(h4)。
3.如图4所示,在进行水平块边界滤波时,先进行左上水平块边界滤波(v1)后进行左下水平块边界滤波(v2),接着进行右上水平块边界滤波(v3),最后再进行右下水平块边界滤波(v4)。
4.在滤波过程中,对每个8 X 8块进行转置操作。如图4所示,在完成垂直边界滤波h2后,对8 X 8块0和1进行转置;在完成垂直边界滤波h4后,对8X8块2和3进行转置;在完成水平边界滤波v2后,对8 X8块0和2进行转置;在完成水平边界滤波v4后,对8 X 8块1和3进行转置。
为了实现高效的去块效应滤波,需要改进3个主要问题:
1.图像块转置问题
通常,图像的像素点按照行方向存储在各种存储器中。但是当执行水平块边界滤波时,需要在列方向访问连续的若干个像素点,这样就必须对图像块进行转置。转置处理不仅本身耗费硬件资源,也对计算资源造成了浪费,而且转置图像块越大,其硬件资源开销和转置时间开销也越大。
图像块的转置是去块效应滤波的最大瓶颈,可以从以下几个方面进行改进:尽量减少需要转置的图像块的数目;尽量减小需要转置的图像块的大小;尽量在去块效应滤波执行前完成图像块的转置操作。
2.滤波顺序问题
在AVS标准中,规定了如图2所示的滤波顺序。但是,AVS标准规定的滤波顺序没有考虑图像块和滤波操作的数据局部性。例如,图2中块0在BsV00、BsV01、BsH00、BsH10边的滤波中被访问到,但是由于这4次滤波操作不连续(AVS标准规定的滤波顺序为BsV00->BsV10->BsV01->BsV11->BsH00->BsH01->BsH10->BsH11),所以不得不重复地从存储器中读出和写入块0。
AVS标准规定的滤波顺序没有利用到图像块的数据局部性,增大了FPGA或者ASIC的片内存储访问带宽,需要在保证滤波结果正确的条件下进行改进。
3.资源问题
AVS标准规定的去块效应滤波操作基于16X16宏块,这就要求基于宏块处理的VLSI装置必须缓存整个宏块的像素点和相邻的像素点。这类装置耗用了较多的资源,需要进行改进。
对比文件1虽然改进了AVS标准规定的滤波顺序,一定程度上提高了滤波性能,但仍存在一些不足:
1.该VLSI实现仍是基于16 X 16宏块进行去块效应滤波操作,需要在FPGA或者ASIC片内缓存整个宏块的像素点,耗费存储资源较多;
2.该VLSI实现的滤波操作的基本单位为8X8块,其转置也是对8X
8块进行的,这样不仅需要耗用较多的资源,而且需要较长的转置处理时间;
3.该VLSI实现虽然对AVS标准规定的滤波顺序进行了改进,但是其仍是基于8 X 8块调整的滤波顺序,并没有完全利用到图像块的数据局部性特点。
考虑到以上3处不足,需要采用更有效的方法进行去块效应滤波和VLSI实现。本发明的目的在于解决上面提出的“图像块转置,滤波顺序和资源”3个问题,在耗用较少资源的情况下实现高性能的去块效应滤波。
发明内容
为解决上述问题,本发明提供了一种AVS去块效应滤波方法,并提出了一种去块效应滤波器VLSI实现装置。
根据本发明的一方面,提出了一种用于去块效应的滤波方法,包括步骤:
将输入图像帧划分为多个16 X 16宏块;
将所述多个16 X 16宏块分别划分为2个8 X 16块,并对于所述2个8 X16块的边界分别执行滤波。
根据本发明的另一方面,提出了一种去块效应滤波装置,包括:
存储器,存储需要滤波的、由当前16×16宏块所划分的2个8 X 16块和相邻的6个4 X 4块的像素数据;
滤波器,以4×4图像块为单位进行垂直边界和水平边界的滤波操作;
转置模块;对来自滤波器的已滤波4 X 4图像块或来自存储器的未
滤波器4×4图像块进行转置操作。
本文提出的方法和设计的VLSI实现装置具有滤波性能高,资源耗用少的优点。其中本文提出的去块效应滤波方法,作为基本方法,可以应用于任何方式实现的AVS解码器中。
附图说明
图1基于AVS标准的解码器框图
图2AVS标准中以宏块为单位的去块效应滤波顺序示意图
图3AVS标准中垂直块边界滤波和水平块边界滤波示意图
图4根据现有技术的去块效应滤波方法示意图
图5根据本发明的8 X 16块滤波示意图
图6根据本发明的基于4 X 4块的滤波顺序示意图
图7根据本发明的AVS去块效应滤波VLSI装置结构示意图
图8转置模块结构示意图
图9缓存器结构示意图
图10根据本发明的图像块读方法示意图
图11根据本发明的图像块读方法在VLSI装置中的数据流示意图
图12根据本发明的去块效应滤波VLSI装置的数据调度方法示意图
图13根据本发明的图像块写方法示意图
图14根据本发明的图像块写方法在VLSI装置中的数据流示意图
具体实施方式
根据本发明,提出了一种AVS去块效应滤波方法以及一种AVS去块效应滤波VLSI装置。
根据AVS标准,如图5(a)所示,a、b、c、d是构成16 X 16宏块的4个8 X 8块,其中,滤波5必须在滤波1和滤波3完成后执行;滤波6必须在滤波3完成后执行;滤波7必须在滤波1、滤波2、滤波3和滤波4完成后执行;滤波8必须在滤波3和滤波4完成后执行。
为了更好的说明本发明的实施方式,首先我们将滤波顺序如图5(b)所示,进行改进。将水平边界滤波和垂直边界滤波交替执行,同时满足了滤波之间的数据相关性。对一个16 X 16宏块的滤波,通过重复执行2次8 X 16块的滤波来完成。观察图5(b)可以发现,其上半部分8 X16块的滤波操作和下半部分8 X 16块的滤波操作相同。因此,可以将一个16 X 16宏块的滤波操作,分解为2个的8 X 16块的滤波操作,如图5(c)和图5(d)所示。本发明将采用图5(c)和图5(d)所示的滤波顺序对一个16 X 16宏块,执行2次8 X 16块的滤波来完成其去块效应滤波。
基于4 X 4块,对滤波顺序进一步改进。如图6所示,A、B、C、D、E、F、G、H为构成8X16块的8个4 X 4块,相应的滤波也在4 X 4块边界上执行,如图6(a)所示。分析图6(a)中的滤波顺序和数据相关性可知:滤波5必须在滤波1完成后执行;滤波6必须在滤波3完成后执行;滤波7必须在滤波3完成后执行。
遵循这3条规律,根据本发明,可以进一步修改去块效应滤波顺序,如图6(b)所示。其中,滤波1、2、3、4和5必须保持先后顺序,滤波6、7和8可互相任意调换顺序。
如图6(b)所示,块K、L、M、N和D仅参与水平边界滤波,需要在列方向访问;块I、J、E、F和G仅参与垂直边界滤波,需要在行方向访问;块A、B和C参与了水平边界和垂直边界滤波,需要在2个方向访问。转置操作以4 X 4块为单位执行,仅对需要在列方向访问的块执行转置操作,包括块K、L、M、N、D、A、B和C。
对于仅参与水平边界滤波的块K、L、M、N和D,如果采用硬件实现AVS去块效应滤波,则在这些块的存储器访问过程中,完成转置操作。
如图7所示,根据本发明实施例的AVS去块效应滤波VLSI装置可以包括以下模块:
1.转置(转置模块)模块:包括由16个8位宽寄存器组成的4 X 4寄存器矩阵,完成4 X 4块的转置操作。转置模块的示例结构如图8所示。转置的操作分为写阶段和读阶段,分别占用4个时钟周期。如图7所示,转置的输入可以来自输入端口、滤波器或者是双口RAM;输出可以为输出端口或者双口RAM。
2.缓存器:包括由16个8位宽寄存器组成的4 X 4寄存器矩阵,完成4X4块的转置操作,或者对4 X 4块进行缓存。缓存器的结构如图9所示。与转置模块相比,缓存器只对4 X 4块缓存而不进行转置。缓存器的操作同样分为写阶段和读阶段,分别占用4个时钟周期。如图7所示,缓存器的输入可以来自滤波器或者双口RAM;缓存器的输出可以被输入到滤波器。
3.双口RAM:存放当前进行去块效应滤波的8 X 16块和相邻的6个4X 4块。双口RAM位宽为32位,地址空间为56。计算双口RAM占用存储为32b*56=1792bit。如图7所示,双口RAM的一个端口可以与转置模块、滤波器通信,另一个端口可以和滤波器、缓存器、输入输出端口通信。
4.滤波器:具有2个输入和2个输出的一维滤波器,完成水平边界和垂直边界的滤波操作。如图7所示,滤波器可以从双口RAM和缓存器得到输入像素,将滤波结果输出给转置模块、缓存器或者双口RAM。
在读取图像块时,将块K、L、M、N和D在转置模块中进行转置。读取的方法和时序如图10所示。在0到4时钟周期内,读取块K到转置模块中;在4到8时钟周期内,读取块I并直接写入双口RAM中,同时块K从转置模块中完成转置写入双口RAM中。同理,块L、M、N和D均在读取过程中完成转置。读取的数据流图如图11所示。
在进行滤波时,将块I、K、L、N、D、J、E、F和G直接从双口RAM读进滤波器,在完成滤波操作后,将这些块从滤波器直接写回到双口RAM中。
对于块M,为了避免总线冲突,需要提前读进缓存器,再和块C一起进行滤波,在完成滤波操作后,块M从滤波器直接写回到双口RAM中。
对于块A,B和C,需要在垂直边界滤波完成后进行转置,因此,这些块在水平边界滤波开始前和结束后被写入缓存器和转置模块进行转置操作。滤波过程的数据调度方法如图12所示。需要注意的是,在所有滤波操作完成之后,除了块C,所有的块都和滤波操作前的存储形式相同。只有块C在滤波过程中被转置,需要在图像块写回存储器时再次执行转置操作。
在写回图像块时,对块K、L、M、N、D和C在转置模块中进行转置。写回的方法和时序如图13所示。在0到4时钟周期内,读取块K到转置模块中,同时读取块I直接通过输出端口输出;在4到8时钟周期内,块K从转置模块中完成转置通过输出端口输出。同理,块L、M、N、D和C均在写回过程中完成转置。写回的数据流图如图14所示。
与对比文件1相比,本发明提出的去块效应滤波方法和VLSI装置具有以下优点:
性能高
对比文件1提出的滤波方法对AVS标准规定的滤波顺序进行了改进,但是其滤波顺序的调整是基于8 X 8块的,不能充分利用图像块和滤波操作的数据局部性;本发明基于4 X 4块,提出一种新的滤波顺序,充分利用了图像块和滤波操作的数据局部性,减小了FPGA或者ASIC片内存储器访问带宽,提高了滤波操作的性能;
对比文件1的滤波方法需要对8 X 8块进行转置;本发明提出的滤波方法只需要对4 X 4块进行转置,在相同条件下,转置时间减少了75%;
本发明对参与滤波的图像块进行分类,对只参与水平边界滤波的宏块在存储器访问时就进行转置,避免了滤波过程中的转置操作,进一步减少了滤波的时间开销,提高了VLSI装置的性能。
占用资源少
对比文件1提出的VLSI装置对整个16 X 16宏块进行滤波,为了缓存宏块和相邻块的像素点,需要至少8bit*16*16+3bit*16*2=2144bit的RAM资源;而本发明提出的基于8 X 16块进行滤波的方法和VLSI装置,需要RAM资源为8bit*16*14=1792bit,减少了大约17%的RAM资源;
对比文件1提出的VLSI装置的需要转置8 X 8块,需要至少8bit*8*8=512bit的寄存器资源;而本发明提出的滤波方法和VLSI装置,仅对4 X 4块进行转置,需要8bit*4*4=128bit,减少了75%的寄存器资源。
Claims (10)
1.一种用于去块效应的滤波方法,包括步骤:
将输入图像帧划分为多个16 X 16宏块;
将所述多个16 X 16宏块分别划分为2个8 X 16图像块,并对于所述2个8 X 16图像块的边界分别执行滤波。
2.根据权利要求1所述的方法,其中,所述滤波步骤包括:
以4 X 4图像块为单位,对于所述8 X 16图像块分别交替执行垂直边界和水平边界的滤波。
3.根据权利要求2所述的方法,其中,对于在垂直边界进行滤波的4×4图像块进行转置。
4.根据权利要求2所述的方法,其中,对于构成一个8×16图像块的8个4×4图像块,设上部四个图像块从左到右分别为A、B、C和D,下部四个图像块从左到右分别为E、F、G和H,则在对块A的左边界之后对块C的上边界进行滤波,以及在块C的左边界之后对块E左边界和块D的上边界进行滤波。
5.一种去块效应滤波装置,包括:
存储器,存储需要滤波的、由当前16×16宏块所划分的2个8 X 16图像块和相邻的6个4 X 4图像块的像素数据;
滤波器,以4×4图像块为单位进行垂直边界和水平边界的滤波操作;
转置模块;对来自滤波器的已滤波4 X 4图像块或来自存储器的未滤波4×4图像块进行转置操作。
6.根据权利要求5所述的滤波装置,还包括缓存器,对已滤波图像块或已转置图像块进行缓存。
7.根据权利要求5所述的滤波装置,其中,在从外部存储器读取或写回部分图像块的过程中,对这些图像块进行转置。
8.根据权利要求5所述的滤波装置,其中,所述滤波器以4×4图像块为单位,对所述8×16图像块分别交替执行垂直边界和水平边界的滤波。
9.根据权利要求7所述的滤波装置,其中,所述转置模块对于在垂直边界进行滤波的4×4图像块进行转置。
10.根据权利要求5所述的滤波装置,其中,滤波器对于构成一个8×16图像块的8个4×4图像块,设上部四个图像块从左到右分别为A、B、C和D,下部四个图像块从左到右分别为E、F、G和H,则在对块A的左边界之后对块C的上边界进行滤波,以及在块C的左边界之后对块E左边界和块D的上边界进行滤波。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710195049 CN101459839A (zh) | 2007-12-10 | 2007-12-10 | 去块效应滤波方法及实现该方法的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710195049 CN101459839A (zh) | 2007-12-10 | 2007-12-10 | 去块效应滤波方法及实现该方法的装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101459839A true CN101459839A (zh) | 2009-06-17 |
Family
ID=40770422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710195049 Pending CN101459839A (zh) | 2007-12-10 | 2007-12-10 | 去块效应滤波方法及实现该方法的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101459839A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098515A (zh) * | 2011-02-18 | 2011-06-15 | 杭州海康威视软件有限公司 | 一种环路滤波的并行实现方法 |
CN109905708A (zh) * | 2012-01-09 | 2019-06-18 | 英孚布瑞智有限私人贸易公司 | 清除解块人为噪声的方法 |
CN109905709A (zh) * | 2019-03-21 | 2019-06-18 | 南京威翔科技有限公司 | 一种基于流水线重组方式的去方块滤波方法 |
CN110213579A (zh) * | 2019-06-11 | 2019-09-06 | 上海富瀚微电子股份有限公司 | 双核心计算单元实现环路滤波的方法 |
WO2020107214A1 (zh) * | 2018-11-27 | 2020-06-04 | 深圳大学 | 图像处理方法及装置 |
-
2007
- 2007-12-10 CN CN 200710195049 patent/CN101459839A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098515A (zh) * | 2011-02-18 | 2011-06-15 | 杭州海康威视软件有限公司 | 一种环路滤波的并行实现方法 |
CN109905708A (zh) * | 2012-01-09 | 2019-06-18 | 英孚布瑞智有限私人贸易公司 | 清除解块人为噪声的方法 |
CN109982084A (zh) * | 2012-01-09 | 2019-07-05 | 英孚布瑞智有限私人贸易公司 | 清除解块人为噪声的方法 |
WO2020107214A1 (zh) * | 2018-11-27 | 2020-06-04 | 深圳大学 | 图像处理方法及装置 |
CN109905709A (zh) * | 2019-03-21 | 2019-06-18 | 南京威翔科技有限公司 | 一种基于流水线重组方式的去方块滤波方法 |
CN109905709B (zh) * | 2019-03-21 | 2021-05-07 | 南京威翔科技有限公司 | 一种基于流水线重组方式的去方块滤波方法 |
CN110213579A (zh) * | 2019-06-11 | 2019-09-06 | 上海富瀚微电子股份有限公司 | 双核心计算单元实现环路滤波的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A 125$\mu {\hbox {W}} $, Fully Scalable MPEG-2 and H. 264/AVC Video Decoder for Mobile Applications | |
CN101252694B (zh) | 基于块的视频解码的帧存储压缩和地址映射系统 | |
CN101527849B (zh) | 集成视频解码器的存储系统 | |
US20060133504A1 (en) | Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same | |
KR100624426B1 (ko) | 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 | |
CN100446573C (zh) | 基于avs的去块效应滤波器vlsi实现装置 | |
CN101072348A (zh) | 图像解码装置以及图像解码方法 | |
DE112014004432T5 (de) | Parallele Hardware- und Software-Blockverarbeitungspipelines | |
CN101399991B (zh) | 一种视频解码的方法和装置 | |
CN104584561A (zh) | 应用于视频译码器中的取样自适应偏移处理方法及装置 | |
CN101729893B (zh) | 基于软硬件协同处理的mpeg多格式兼容解码方法及其装置 | |
CN101472176A (zh) | 基于边界强度因子进行去块效应滤波的解码方法和装置 | |
CN101459839A (zh) | 去块效应滤波方法及实现该方法的装置 | |
CN100452882C (zh) | 可变块大小运动补偿的数据缓存方法及其实现装置 | |
CN101635849B (zh) | 一种环路滤波方法及环路滤波器 | |
CN100531392C (zh) | H.264去块效应滤波器的硬件实现方法 | |
US8503534B2 (en) | Multi-bus architecture for a video codec | |
CN102055971B (zh) | 视频压缩的去区块效应滤波装置与方法 | |
CN101193300A (zh) | Tv信号处理电路 | |
CN102333222A (zh) | 二维离散小波变换电路及应用该电路的图像压缩方法 | |
CN104754363A (zh) | 用于hevc的环路滤波方法及装置、编码器及解码器 | |
CN100593956C (zh) | 用于解块滤波参数数据存储和交换的方法 | |
CN102238385A (zh) | 编码器和/或解码器中垂直和/或水平高速缓存设备和方法 | |
KR102247196B1 (ko) | 병렬 디코딩 경로를 사용하는 vc2 디코딩 | |
CN103152571A (zh) | 减少数据带宽的视频处理方法及电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090617 |