基于多级并行流水线方式的环路滤波装置的制作方法

文档序号:7596381阅读:106来源:国知局
专利名称:基于多级并行流水线方式的环路滤波装置的制作方法
技术领域
本发明涉及一种数字图像的编解码技术,尤其是一种高性能实时视频处理器中的环路滤波器,属于视频编解码技术领域。
背景技术
在国际标准化组织的MPEG和国际电信联盟的h.26x系列的图像编码标准中,采用基于块的运动估计和离散余弦变化,这种编码方法带来的问题是,在数据块的相邻象素间存在边界效应,即块效应。为了减轻图像编解码过程中存在的明显的块效应,提出了许多边界滤波方式,其中最新的国际编码标准MPEG4-part 10/h.264和国内的编码标准AVS都采用了去块效应的环路滤波(deblocking loopfilter)方法,显著的改善了编码图像的主观质量。
如图1所示,为宏块环路滤波流程图,首先计算待环路滤波宏块中各条边界的边界强度和边界阙值,利用计算得到的边界强度和阙值对宏块亮度数据的垂直边界进行滤波,再对宏块亮度数据的水平边界进行滤波,然后再按照先后顺序分别对宏块色度数据的垂直边界、水平边界进行滤波,最后将完成垂直、水平边界滤波后的亮度、色度数据输出。
如图2所示,为块垂直/水平滤波边界图,宏块需要滤波的边界为垂直边界1(vertical edge)及水平边界2(horizontal edge)。
由于这种环路滤波方式一方面需要对块数据的各个边界上的象素点进行滤波操作,带来很大的运算量,另一方面,在滤波的过程中需要对象素值进行不规则的访问,所以如果采用一般的硬件设计结构,会极大的影响整个滤波的速度,无法完成实际应用当中的图像实时编解码的要求。
MPEG4-part 10/h.264和AVS标准分别是国际/内的最新视频编解码标准,已经提出的解决上述环路滤波器带来的复杂性的方法非常有限,只有几篇学术论文中对解决这个问题进行了分析和讨论,提出一些实现方式,但有些实现方法没有把环路滤波过程和参考帧存储过程以及运动补偿过程同时考虑,局限于实现环路滤波算法,缺乏从设计图像编解码器整体考虑,不利于实际情况下的设计使用,有些方法提出了基于指令字的实现方式,包括指令存储和指令解码过程,适合于软件加速器的设计实现,不适合硬件的设计结构。从而当面向实际需求中对高清晰度图像的实时编解码处理时,尤其是目前视频图像的处理速度越来越高,这些方法往往因为硬件实现困难或者代价太大而不能实用,而亟待加以进一步改进。

发明内容
本发明所要解决的技术问题在于提供一种基于多级并行流水线方式的环路滤波装置,利用多级并行流水线结构完成视频图像各个宏块边界的环路滤波,保证图像编解码过程中图像环路滤波操作的实时性,减少访问外部存储器的压力,并且控制了整个硬件结构的复杂性,从而有利于设计和实现。
本发明所要解决的技术问题是通过如下技术方案实现的一种基于多级并行流水线方式的环路滤波装置,它包括三级流水线模块宏块边界计算模块、垂直/水平滤波模块及输出模块;三级流水线模块按流水顺序同时运行;所述的宏块边界计算模块包括滤波边界强度计算器、滤波边界阙值计算器及先进先出数据缓存器;所述的滤波边界强度计算器及滤波边界阙值计算器分别从外部存储器提取需要滤波宏块的边界数据,计算出整个宏块中各个块的边界强度及阙值,存入先进先出数据缓存器;所述的先进先出数据缓存器按先进先出的顺序将宏块滤波的边界强度及阙值输入到垂直/水平滤波模块;
所述的垂直/水平滤波模块包括垂直/水平滤波器、排列器、中间数据缓存器、选择器及环路滤波控制器;所述的选择器连接外部存储器,在环路滤波控制器的控制下,所述的选择器提取外部存储器中需要滤波的宏块边界数据,存入中间数据缓存器;所述的中间数据缓存器连接有排列器,该排列器将宏块边界数据按行列顺序排列并依次输入到垂直/水平滤波器;所述的垂直/水平滤波器在环路滤波控制器的控制下对排列器传来的行列数据进行垂直/水平边界滤波,将滤波后的结果中需要再次滤波的数据写回到中间数据缓存器,把已经完成滤波的数据写到输出模块。
所述的输出模块包括输出数据缓存器及写外存接口;所述的输出数据缓存器存储从垂直/水平边界滤波器传来的已经完成滤波的数据,并将数据传输到写外存接口;所述的写外存接口在环路滤波控制器的控制下将完成滤波的数据写到外部存储器。
整个装置分为三级流水线完成环路滤波操作第一级流水线对将要滤波宏块各个滤波边界的边界强度以及边界阙值进行计算;第二级流水线对将要滤波宏块各条滤波边界进行垂直滤波和水平滤波;第三级流水线把已经完成滤波的宏块数据输出到外部存储器。通过三级流水线操作,把环路滤波操作的各个过程分配到不同的流水线步骤,即减少了每级流水线操作的复杂性,又提高了整个环路滤波操作的并行性。
在整个环路滤波装置中,第二级流水线操作中水平边界和垂直边界滤波过程也设计为多级流水线方式,这样利用两条并行的流水线结构,完全可以满足高清晰度视频实时编解码过程中对环路滤波操作的要求。
本发明通过下列步骤完成对宏块边界的滤波步骤一、在环路滤波控制器的控制下,选择器提取外部存储器中需要滤波的宏块边界数据,存入中间数据缓存器,再通过排列器将宏块边界数据按行列顺序排列,并依次输入到垂直/水平滤波器;同时滤波边界强度计算器及滤波边界阙值计算器分别从外部存储器提取需要滤波宏块的边界数据,计算出整个宏块中各个块的边界强度及阙值,存入先进先出数据缓存器,先进先出数据缓存器按先进先出的顺序将块边界强度及阙值输入到垂直/水平滤波器。
步骤二、滤波控制器使用上一级操作计算的块边界滤波强度和边界阙值对整个宏块边界滤波,环路滤波控制器按照块级流水线方式控制整个宏块边界的垂直/水平滤波过程;将滤波后的结果中需要再次滤波的数据写回到中间数据缓存器,把已经完成滤波的数据写到输出模块。
步骤三、完成对一个块数据的滤波操作同时,从中间数据缓存器中把下一个需要滤波的块边界的行/列数据读出,按照以上方法依次送入垂直/水平滤波器进行滤波操作;步骤四、反复执行步骤二及步骤三的操作,直到完成当前整个宏块边界数据的过滤;步骤五、在对当前宏块的各个块数据滤波同时,垂直/水平滤波器输出的最终数据写入输出数据缓存,等待写外存接口进行写外部存储器的操作。
本发明利用多级并行流水线结构完成视频图像各个宏块边界的环路滤波,同时考虑到了编解码器设计当中的参考帧存储过程和环路滤波的实际接口问题,保证了图像编解码过程中图像环路滤波操作的实时性,减少了访问外部存储器的压力,并且控制了整个硬件结构的复杂性,从而有利于设计和实现。


图1宏块环路滤波流程图;图2块垂直水平滤波边界图;图3为本发明的结构示意图;图4二级流水水平/垂直边界滤波器示意图。
具体实施例方式
以下结合附图和具体实施例对本发明的技术方案进一步说明第一实施例一种基于多级并行流水线方式的环路滤波装置及实现AVS标准的环路滤波算法的步骤如图3所示,一种基于多级并行流水线方式的环路滤波装置,它包括三级流水线模块宏块边界计算模块、垂直/水平滤波模块及输出模块;三级流水线模块按流水顺序同时运行;所述的宏块边界计算模块包括滤波边界强度计算器、滤波边界阙值计算器及FIFO(先进先出)数据缓存器;所述的滤波边界强度计算器及滤波边界阙值计算器分别从外部存储器提取需要滤波宏块的边界数据,计算出整个宏块中各个块的边界强度及阙值,存入FIFO数据缓存器;所述的FIFO数据缓存器按先进先出的顺序将宏块滤波的边界强度及阙值输入到垂直/水平滤波模块;所述的垂直/水平滤波模块包括垂直/水平滤波器、排列器、中间数据缓存器、选择器及环路滤波控制器;所述的选择器连接外部存储器,在环路滤波控制器的控制下,所述的选择器提取外部存储器中需要滤波的宏块边界数据,存入中间数据缓存器;所述的中间数据缓存器连接有排列器,该排列器将宏块边界数据按行列顺序排列并依次输入到垂直/水平滤波器;所述的垂直/水平滤波器在环路滤波控制器的控制下对排列器传来的行列数据进行垂直/水平边界滤波,将滤波后的结果中需要再次滤波的数据写回到中间数据缓存器,把已经完成滤波的数据写到输出模块。
所述的输出模块包括输出数据缓存器及写外存接口;所述的输出数据缓存器存储从垂直/水平边界滤波传来的已经完成滤波的数据,并将数据传输到写外存接口;所述的写外存接口在环路滤波控制器的控制下将完成滤波的数据写到外部存储器。
整个装置分为三级流水线完成环路滤波操作第一级流水线对将要滤波宏块各条滤波边界的边界强度以及边界阙值进行计算;第二级流水线对将要滤波宏块各条滤波边界进行垂直滤波和水平滤波;第三级流水线把已经完成滤波的宏块数据输出到外部存储器。通过三级流水线操作,把环路滤波操作的各个过程分配到不同的流水线步骤,即减少了每级流水线操作的复杂性,又提高了整个环路滤波操作的并行性。
本发明通过下列步骤实现AVS标准的环路滤波算法步骤一、计算宏块中8×8块数据的边界滤波强度和边界阙值;步骤二、同时从外存中读入需要滤波的左边、上边和当前块的数据,把这些数据放入中间数据缓存器;步骤三、当前宏块的块数据、边界滤波强度和边界阙值准备好后,和左边块待滤波的数据经过中间数据缓存器,同时送入数据排列器,然后按照行顺序依次送入垂直/水平滤波器中;步骤四、垂直/水平滤波器中按流水线结构对垂直边界数据进行滤波,同时滤波后的数据依次写回到中间数据缓存器;步骤五、完成当前宏块的一个块数据的垂直边界滤波后,把可以输出的左边宏块的数据写入输出数据缓存器,通知输出接口进行写外存操作,同时开始当前宏块的下一个块边界垂直滤波;步骤六、反复执行步骤三、步骤四或步骤五的操作,直到完成所有块边界的垂直滤波;步骤七、从中间缓存器中取出上边和当前宏块边界中等待水平滤波的数据,送入数据排列器;步骤八、当前宏块的块数据和上边待滤波的块数据经过中间数据缓存器,同时送入数据排列器,然后按照列顺序依次送入垂直/水平滤波器;步骤九、垂直/水平滤波器中按流水线结构对水平边界数据进行滤波,同时滤波后的数据依次写回到中间数据缓存器;
步骤十、完成当前宏块的一个块的水平边界滤波后,把上边宏块中可以输出的数据写入输出数据缓存器,通知输出接口进行写外存操作,同时开始当前宏块的下一个块边界水平滤波;步骤十一、反复执行步骤八、步骤九或步骤十的操作,直到完成所有块边界的水平滤波;步骤十二、按照以上方式完成一帧内各个宏块的环路滤波并输出到外存。
实施例二一种基于多级并行流水线方式的环路滤波装置及实现MPEG4-part10/h.264标准的环路滤波算法的步骤如图3所示,一种基于多级并行流水线方式的环路滤波装置,它包括三级流水线模块宏块边界计算模块、垂直/水平滤波模块及输出模块;三级流水线模块按流水顺序同时运行;所述的宏块边界计算模块包括滤波边界强度计算器、滤波边界阙值计算器及FIFO(先进先出)数据缓存器;所述的滤波边界强度计算器及滤波边界阙值计算器分别从外部存储器提取需要滤波宏块的边界数据,计算出整个宏块中各个块的边界强度及阙值,存入FIFO数据缓存器;所述的FIFO数据缓存器按先进先出的顺序将宏块滤波的边界强度及阙值输入到垂直/水平滤波模块;所述的垂直/水平滤波模块包括垂直/水平滤波器、排列器、中间数据缓存器、选择器及环路滤波控制器;所述的选择器连接外部存储器,在环路滤波控制器的控制下,所述的选择器提取外部存储器中需要滤波的宏块边界数据,存入中间数据缓存器;所述的中间数据缓存器连接有排列器,该排列器将宏块边界数据按行列顺序排列并依次输入到垂直/水平滤波器;所述的垂直/水平滤波器在环路滤波控制器的控制下对排列器传来的行列数据进行垂直/水平边界滤波,将滤波后的结果中需要再次滤波的数据写回到中间数据缓存器,把已经完成滤波的数据写到输出模块。
所述的输出模块包括输出数据缓存器及写外存接口;所述的输出数据缓存器存储从垂直/水平边界滤波传来的已经完成滤波的数据,并将数据传输到写外存接口;所述的写外存接口在环路滤波控制器的控制下将完成滤波的数据写到外部存储器。
整个装置分为三级流水线完成环路滤波操作第一级流水线对将要滤波宏块各条滤波边界的边界强度以及边界阙值进行计算;第二级流水线对将要滤波宏块各条滤波边界进行垂直滤波和水平滤波;第三级流水线把已经完成滤波的宏块数据输出到外部存储器。通过三级流水线操作,把环路滤波操作的各个过程分配到不同的流水线步骤,即减少了每级流水线操作的复杂性,又提高了整个环路滤波操作的并行性。
如图4所示,在整个环路滤波装置中,第二级流水线操作中水平边界和垂直边界滤波过程也设计为多级流水线方式,这样利用两条并行的流水线结构,完全可以满足高清晰度视频实时编解码过程中对环路滤波操作的要求。
本发明通过下列步骤实现MPEG4-part 10/h.264标准的环路滤波算法步骤一、计算宏块中4×4块数据的边界滤波强度和边界阙值;和AVS标准相比,需要滤波的块数多,但是需要的中间缓存器的大小会减小;步骤二、同时从外存中读入需要滤波的左边、上边和当前块的数据,把这些数据放入中间数据缓存器;步骤三、当前宏块的块数据、边界滤波强度和边界阙值准备好后,和左边块待滤波的数据经过中间数据缓存器,同时送入数据排列器,然后按照行顺序依次送入垂直/水平滤波器中;步骤四、垂直/水平滤波器中按流水线结构对垂直边界数据进行滤波,同时滤波后的数据依次写回到中间数据缓存器;步骤五、完成当前宏块的一个块数据的垂直边界滤波后,把可以输出的左边宏块的数据写入输出数据缓存器,通知输出接口进行写外存操作,同时开始当前宏块的下一个块边界垂直滤波;步骤六、反复执行步骤三、步骤四或步骤五的操作,直到完成所有块边界的垂直滤波;步骤七、从中间缓存器中取出上边和当前宏块边界中等待水平滤波的数据,送入数据排列器;步骤八、当前宏块的块数据和上边待滤波的块数据经过中间数据缓存器,同时送入数据排列器,然后按照列顺序依次送入垂直/水平滤波器;步骤九、垂直/水平滤波器中按流水线结构对水平边界数据进行滤波,同时滤波后的数据依次写回到中间数据缓存器;步骤十、完成当前宏块的一个块的水平边界滤波后,把上边宏块中可以输出的数据写入输出数据缓存器,通知输出接口进行写外存操作,同时开始当前宏块的下一个块边界水平滤波;步骤十一、反复执行步骤八、步骤九或步骤十的操作,直到完成所有块边界的水平滤波;步骤十二、按照以上方式完成一帧内各个宏块的环路滤波并输出到外存。
本发明利用多级并行流水线结构完成视频图像各个宏块边界的环路滤波,保证了图像编解码过程中图像环路滤波操作的实时性,减少了访问外部存储器的压力,并且控制了整个硬件结构的复杂性,从而有利于设计和实现。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种基于多级并行流水线方式的环路滤波装置,它包括宏块边界计算模块、垂直/水平滤波模块及输出模块,其特征在于,所述的宏块边界计算模块与垂直/水平滤波模块为并行流水线结构,按流水顺序同时运行;所述的宏块边界计算模块从外部存储器提取需要滤波宏块的边界数据,计算出整个宏块中各个块的边界强度及阙值,并输入到垂直/水平滤波模块;所述的垂直/水平滤波模块包括垂直/水平滤波器、排列器、中间数据缓存器、选择器及环路滤波控制器;所述的选择器连接外部存储器,在环路滤波控制器的控制下,该选择器提取外部存储器中需要滤波的宏块边界数据,存入中间数据缓存器,再通过排列器将宏块边界数据按行列顺序排列,并依次输入到垂直/水平滤波器;所述的垂直/水平滤波器在环路滤波控制器的控制下利用宏块边界计算模块传来的宏块滤波的边界强度及阙值,对行列数据进行垂直/水平边界滤波,将滤波后的结果中需要再次滤波的数据写回到中间数据缓存器,把已经完成滤波的数据写到输出模块。所述的输出模块将完成滤波的数据写到外部存储器。
2.根据权利要求1所述的基于多级并行流水线方式的环路滤波装置,其特征在于所述的宏块边界计算模块包括滤波边界强度计算器及滤波边界阙值计算器,所述的滤波边界强度计算器及滤波边界阙值计算器分别计算出整个宏块中各个块的边界强度及阙值,并输入到垂直/水平滤波器。
3.根据权利要求2所述的基于多级并行流水线方式的环路滤波装置,其特征在于所述的宏块边界计算模块还包括一个数据缓存器,所述的数据缓存器接收并缓存滤波边界强度计算器及滤波边界阙值计算器传来的宏块滤波的边界强度及阙值,并将其输入到垂直/水平滤波器。
4.根据权利要求3所述的基于多级并行流水线方式的环路滤波装置,其特征在于所述的数据缓存器,为先进先出数据缓存器;所述的先进先出数据缓存器按先进先出的顺序将宏块滤波的边界强度及阙值输入到垂直/水平滤波模块。
5.根据权利要求1~4任一所述的基于多级并行流水线方式的环路滤波装置,其特征在于所述的输出模块包括输出数据缓存器及写外存接口;所述的输出数据缓存器存储从垂直/水平边界滤波传来的已经完成滤波的数据,并将数据传输到写外存接口;所述的写外存接口在环路滤波控制器的控制下将完成滤波的数据写到外部存储器。
6.根据权利要求1~4任一所述的基于多级并行流水线方式的环路滤波装置,其特征在于所述的垂直/水平滤波器为二级流水线水平/垂直边界滤波器,它包括滤波条件判决器模块及滤波计算器模块;二级流水线模块按流水顺序同时运行;所述的滤波条件判决器模块包括滤波条件判决器及数据缓存器,所述的滤波条件判决器接收排列器传来的行列数据、先进先出数据缓存器传来的宏块滤波的边界强度及阙值,计算出边界滤波判决条件,决定将要进行滤波操作的边界象素点,并把边界象素点通过数据缓存器输入到下级流水线进行滤波;所述的滤波计算模块包括滤波计算器,其对各个象素点进行滤波计算,并将滤波计算后的象素点输出。
7.根据权利要求6所述的基于多级并行流水线方式的环路滤波装置,其特征在于所述的滤波条件判决器又分为两级或两级以上的流水线模块,两级或两级以上的流水线模块按流水顺序同时运行。
8.根据权利要求6所述的基于多级并行流水线方式的环路滤波装置,其特征在于所述的滤波计算器又分为两级或两级以上的流水线模块,两级或两级以上的流水线模块按流水顺序同时运行。
全文摘要
本发明涉及一种基于多级并行流水线方式的环路滤波装置,将计算整个宏块边界强度、边界阈值的过程和对整个宏块边界进行滤波的过程分成两级流水线操作;对整个宏块边界滤波的过程按照块级流水线方式依次对各个块数据边界进行滤波;需要滤波的块边界的每行/列数据依次送入一个多级流水垂直/水平滤波器进行滤波,获得滤波后的行/列数据;当前宏块的各个块数据滤波的同时,已经完成滤波的数据进行写外部存储器的操作。本发明利用多级并行流水线完成视频图像各个宏块边界的环路滤波,提高了滤波速度,减少了访问外部存储器的压力,保证了图像编解码过程中图像环路滤波操作的实时性,并且控制了整个硬件结构的复杂性,从而有利于设计和实现。
文档编号H04N7/50GK1589032SQ20041007020
公开日2005年3月2日 申请日期2004年7月30日 优先权日2004年7月30日
发明者解晓东, 吴迪, 贾惠柱, 生滨, 郑俊浩, 张鹏, 邓磊, 张力, 张帧睿, 王忠立, 高文 申请人:联合信源数字音视频技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1