并行流水运动补偿滤波器vlsi结构设计方法

文档序号:7753832阅读:333来源:国知局
专利名称:并行流水运动补偿滤波器vlsi结构设计方法
技术领域
本发明属于视频解码领域,特别涉及一种并行流水运动补偿滤波器VLSI结构设 计方法。
背景技术
H. 264视频编解码标准是当前国际上主流的编解码标准。作为新一代视频编码标 准,H. 264视频编码标准与过去的视频编码标准相比,编码构架基本相同,但是编码效率有 了大幅度的提高。其代价是运算的过程更加复杂,计算量更大,这些都增大了视频解码器 硬件实现的难度。所以,在设计视频解码芯片时,应当致力于提高解码效率,减少面积和功 耗。但是,在视频解码领域中,设备的功耗与片上面积总是受到各种限制。既需要实现更复 杂的解码算法,提高效率,又要减少面积、降低功耗,所以仍然存在许多挑战。运动补偿是利 用参考图像恢复当前图像的一种技术,用来重构时间冗余信息,进而恢复出整个视频序列。 在H. 264的整个解码过程中,运动补偿占用的时间很高,该模块的特点是数据读取耗时,且 计算量很大。H. 264解码运动补偿运算所消耗的时间最多。特别是针对高清和超高清视频 解码应用,设计高效实时的运动补偿滤波器成为研究热点。

发明内容
针对上述现有技术不足,本发明目的在于提供一种并行流水运动补偿滤波器VLSI 结构设计方法。利用并行处理和数据复用的计算方式进行解码运动补偿,减少整个解码的 处理时间,从而提高解码器的解码效率,提高解码性能。为了实现上述任务,本发明采用的技术解决方案是从片外存储器的读取已解码出来的一个宏块的运动矢量与块划分类型控制流信 息,存放到片上存储器上;根据已存放到片上存储器的这些控制流信息,从片外存储器读取需要运动补偿所
对应子块的参考像素数据,并存放在分层片上存储器的参考像素数据存储器层,进行运动
补偿,运动补偿分为亮度分量和色度分量两大模块,色度分量包括U分量和V分量,亮度分
量采用六抽头滤波运算,色度分量采用双线性插值滤波运算,整个处理过程是将亮度和色
度分量进行并行流水处理,亮度分量参考像素数据从片外存储器读取完毕之后,直接进入
色度的U分量参考像素数据的读取阶段,亮度分量的运算和色度的U分量参考像素数据读
取在同一时刻开始进行,色度的U分量运算完毕后,紧接着进行色度的V分量参考像素读取
和运算,当完成色度的两个分量的运算之后,再次进行亮度分量参考像素数据的读取,一个
宏块运动补偿完毕,再次从片外存储器读取下一个宏块的控制流信息,用于该宏块运动补 偿。 所述运动矢量描述了当前块运动估计运算的结果,运动越剧烈,运动矢量数值越 大,块划分类型代表当前块的长和宽。所述的分层片上存储器分为三层,包括参考像素数据存储器层、中间结果存储器层及数据复用存储器层,参考像素数据存储器层分为亮度和色度存储片,存放从片外存储 器读取的亮度和色度参考像素数据,亮度运算过程中经常碰到需要保存中间结果的情况, 需要将这些数据存放于中间结果存储器层上,作为下一次滤波运算的输入量,子宏块亮度 和色度分量运算完毕,再次进行亮度分量参考像素数据的读取,子宏块的亮度参考像素数 据从片外存储器的读取与更新十分耗时,而相邻的子宏块的参考像素有着很大程度的交 叠,在更新参考帧数据时应该合理的安排更新顺序,复用片上存储器中已有的上一个子宏 块的参考像素数据,存放到分层片上存储器的数据复用存储器层上,在当前子宏块运动补 偿运算完毕,下一子宏块运动补偿运算开始时,先进行判断,如果可以实现数据复用,则先 将数据复用存储器的数据写入参考像素数据存储器中,再从片外存储器读取其余参考像
器o本发明实现色度和亮度的并行解码,提高并行解码的效率和速度,减少对片外存 储器的访问,节约了读取数据所用时间,减少了数据带宽,以实现实时高清视频解码,适应 高清视频应用的发展。


图1是运动补偿模块的体系架构示意图。图2是运动补偿内在流水线计算处理示意图。图3是亮度分量的三层存储器结构示意图。图4是更新处理顺序数据复用示意图。图4 (a)表示第1个8x8块参考像素。图4 (b)表示第2个8x8块参考像素。图4 (c)表示第1个8x8块和第2个8x8块的公共参考像素。图4 (d)表示第2个8x8块参考像素。图4 (e)表示第4个8x8块参考像素。图4 (f)表示第2个8x8块和第4个8x8块公共参考像素。
具体实施例方式图1所示是运动补偿模块的整体架构设计图。在图中可以看到,本模块可大致分 为三个部分。下面分别做以介绍。 第一部分是模块输入输出接口。其中,输入接口是片外存储器,从中读取参考帧像 素数据、运动矢量与块划分类型等信息。输出接口是向外存中写入重构好的当前帧数据,其 中包含亮度与色度两个分量的数值。第二部分是分层的片上存储器,用来存放从外存读取的所需数据。为了减少读取 带宽、提高数据复用率,同时,为了实现自适应的大小可变块处理,本文采用了三层片上缓 存器结构,包括参考像素数据存储器层、中间结果存储器层及数据复用存储器层。第一层片 上存储器作为参考像素数据存储器层,存放读入的参考帧数据,第二层片上存储器作为中 间结果存储器层,存放滤波器运算的中间结果,第三层片上存储器作为数据复用存储器层, 存放部分参考像素,以便重写到第一层片上存储器中参与下次运算。第三部分是插值滤波器组,具体分为亮度运算和色度运算两大子模块。其中亮度部分的插值运算采用6抽头滤波器实现,多个6抽头滤波器构成了滤波器组,并且由水平滤 波器组与垂直滤波器组进一步组成双滤波器组实现并行运算。这一设计结构能够在子宏块 级别实现流水线处理,减少了整个宏块的插值计算时间。而色度部分的插值运算由双线性 插值器实现,也采用了多个滤波器构成的滤波器组的设计结构。在整个运算的过程中,亮度 与色度实现了并行化处理,从而减少整个解码时间,提高了运算效率。在处理过程中,无论 亮度还是色度,都采用自适应可变块大小流水线方式进行处理。图2所示是运动补偿流水计算处理示意图。视频处理分为YUV三个分量。按照H. 264中的规定,Y分量采用六抽头滤波器进行 计算,UV分量采用双线性插值进行计算。从图中可以看到,在Y分量进行运算的同时,U分 量就已经开始读取参考数据了。这一结构可以节约计算时间。在以前的串行运算结构中, 都是在亮度分量运算完毕后,才读取色度分量的数据进行运算的。图3所示是亮度分量的三层存储器结构示意图。从图中可以看到,整个处理过程包含三层存储器。每一层都担负着各自不同的功 能。首先,从片外存储器读取当前宏块解码所需要的数据,存放在第一层参考像素数 据存储器层中,分为亮度存储片与色度存储片两个部分,具体包括参考帧像素数据、块类型 划分、子宏块运动矢量等等。接下来,参考数据存储器中的数据作为输入,在滤波器组中进 行运算。计算过程中经常碰到需要保存中间结果的情况,需要将这些数据存放于中间结果 存储器层上,作为下一次滤波运算的输入量。在运算完毕后,重建好的像素点作为最终结果 写到外部存储器上。为了实现数据的复用,加入了第三层片上存储器_数据复用存储器层, 用来存储部分参考帧数据。这些数据可能用于下一个子宏块的运算。在当前子宏块运算完 毕,下一子宏块运算开始时,先进行判断,如果可以实现数据复用,则先将第三层存储器的 数据写入第一层存储器中,从而减少从外存读取数据的时间。不同层级的存储器之间协调 工作,优化了整个模块的性能。图4所示是更新处理顺序数据复用示意图。运动补偿读取与更新数据十分耗时。但经过分析,发现这些子宏块的参考像素有 着很大程度的交叠。因此,在更新参考帧数据时应该合理的安排更新顺序,尽量复用片上存 储器中已有的数据,从而减少数据读取的时间。图4(a)、图4(b)、图4(c)中展示了处理前两个8x8子宏块时所需要的参考像素 块,以及二者之间共有的参考数据区域。在第2个子宏块进行运动补偿时,不必读入所有参 考帧数据,而是保存第1个子宏块参考数据中可以被复用部分(5x13像素块),仅更新右侧 8x13块的数据。这样一来,更新数据的数量从13x13字节下降到8x13字节,降低了近40%, 读取数据所需时间显著缩短。因此,在第一个8x8子块处理完毕时,右侧5x13的像素块数 据将被保存在第3层片上存储器中,供处理下一个子块更新参考数据时取用。为了进一步提高数据复用率,可以改变子宏块的处理顺序,在处理完第2个子宏 块之后,先行处理第4个子宏块。图4 (d)、图4 (e)、图4 (f)展示了这两个子宏块时所需要的 参考像素块,以及二者之间共有的参考数据区域。由于第2个子宏块和第4个子宏块在空 间上是相邻的,所以共用的像素点数多,大小仍为5x13的块。这样一来,处理完第4个子宏 块后,再去处理第3个子宏块,此时复用的参考像素是第4个子宏块左侧5x13像素块。由于调整了子宏块的处理顺序,不仅是参考像素的读入顺序需要做改变,相应的当前子块运 动矢量等等都需要做调整。本发明提供了一种并行流水运动补偿滤波器VLSI结构设计方法,可以实现运动 补偿模块亮度像素点与色度像素点并行流水计算,节约了总体的计算时间。另外,提出分层 存储器构架设计,对访问方式做了进一步优化,提高了片上数据的复用率,从而显著节约了 读取数据所用时间,同时减少了数据带宽。为了实现上述任务,本发明采用的技术解决方案是1)通过“并行技术”,实现亮度分量与色度分量的并行运动补偿解码,提高解码速 度和效率;2)通过“内在流水线技术”,提高系统吞吐量,不增加数据带宽。3)通过“分层片上存储技术”,减少对片外存储的访问,实现三层片上存储器结构 对数据进行复用。4)通过“数据复用技术”,减少模块读取参考像素的时间。5)通过“更新处理子宏块顺序技术”,实现了最大化的复用参考像素数据。所述的“并行技术”是对亮度和色度运动补偿运算时间并行处理。由于亮度分量 的处理与色度分量的处理二者之前没有数据依赖关系,所以可以将亮度和色度进行并行处 理。在不增加数据读取带宽的条件下,可以在亮度分量数据准备完毕之后,直接进入色度分 量数据的准备和运算阶段。通过亮度和色度同时运算,进一步缩短整个宏块的计算时间。所述“内在流水线技术”是指系统采用自适应块的运算处理的流水线技术,分别对 亮度和色度的读取数据进行的流水操作,提高了系统的吞吐量,减少了运算解码时间,提高 了许多功能块的复用率。处理每一个子块的过程是分为两个部分数据读取和数据运算,运 算采用并行处理,而读取则是采用流水线处理。对亮度和色度分量的分别流水读取参考像 素,在亮度分量数据准备完毕,并开始运动补偿运算时对色度的参考像素读取,实现流水, 并且不增加数据带宽。对于亮度分量,当目前像素块大于或等于8x8大小时,按照8x8大小 块进行处理,运算需要迭代4次;当小于8x8时,按照4x4块进行处理,运算需要迭代16次。 对于色度分量,当目前像素块大小在4x4以上时,按照4x4块进行处理,迭代4次完成;当块 大小在4x4以下是按照2x2块进行处理,迭代16次完成。所述“分层片上存储技术”是指,一个宏块的参考像素都存放在片外存储器的话, 则对片外存储器带宽是一个严重的负担。并且不断的访问片外存储器会产生极大的功耗。 “分层片上存储器技术”的第一层片上存储器解决了不断访问片外的问题。为了增加系统 的吞吐量,把计算过程中经常需要保存的中间结果,存放于第二层存储器上,作为下一次滤 波运算的输入量。为了实现数据的复用,加入了第三层片上存储器,用来存储部分参考帧数 据。不同层级的存储器之间协调工作,优化了整个模块的性能。所述“数据复用技术”是指,运动补偿处理的第一步是读取大量的参考帧数据,以 供后边滤波器组进行运算。每次运动补偿之前,都需要先将参考帧数据写入片上存储器。每 个子宏块运算完毕后,对片上参考帧数据进行更新,用于下一个子宏块的计算。读取与更新 数据十分耗时。但经过分析,发现这些子宏块的参考像素有着很大程度的交叠。因此,在更 新参考帧数据时应该合理的安排更新顺序,尽量复用片上存储器中已有的数据,从而减少 数据读取的时间。
6
所述“更新处理子宏块顺序技术”是对子宏块处理顺序进行合理的安排,更充分的 复用参考块的像素数据。以往的子宏块处理是“Z”字型扫描处理,第2子宏块和第3子宏 块空间不相邻,无法复用参考像素。本发明更新了处理顺序,在处理完第2个子宏块之后, 先行处理第4个子宏块。由于第2个子宏块和第4个子宏块在空间上是相邻的,所以可以 复用共用的像素值。这样在最理想的情况下,可以三次复用已有的参考像素的值,极大的缩 短了读取参考像素的时间。
权利要求
并行流水运动补偿滤波器VLSI结构设计方法,其特征在于,具体包括下列步骤从片外存储器的读取已解码出来的一个宏块的运动矢量与块划分类型控制流信息,存放到片上存储器上;根据已存放到片上存储器的这些控制流信息,从片外存储器读取需要运动补偿所对应子块的参考像素数据,并存放在分层片上存储器的参考像素数据存储器层,进行运动补偿,运动补偿分为亮度分量和色度分量两大模块,色度分量包括U分量和V分量,亮度分量采用六抽头滤波运算,色度分量采用双线性插值滤波运算,整个处理过程是将亮度和色度分量进行并行流水处理,亮度分量参考像素数据从片外存储器读取完毕之后,直接进入色度的U分量参考像素数据的读取阶段,亮度分量的运算和色度的U分量参考像素数据读取在同一时刻开始进行,色度的U分量运算完毕后,紧接着进行色度的V分量参考像素读取和运算,当完成色度的两个分量的运算之后,再次进行亮度分量参考像素数据的读取,一个宏块运动补偿完毕,再次从片外存储器读取下一个宏块的控制流信息,用于该宏块运动补偿。
2.根据权利要求1所述的并行流水运动补偿滤波器VLSI结构设计方法,其特征在于, 所述运动矢量描述了当前块运动估计运算的结果,运动越剧烈,运动矢量数值越大,块划分 类型代表当前块的长和宽。
3.根据权利要求1所述的并行流水运动补偿滤波器VLSI结构设计方法,其特征在于, 所述的分层片上存储器分为三层,包括参考像素数据存储器层、中间结果存储器层及数据 复用存储器层,参考像素数据存储器层分为亮度和色度存储片,存放从片外存储器读取的 亮度和色度参考像素数据,亮度运算过程中经常碰到需要保存中间结果的情况,需要将这 些数据存放于中间结果存储器层上,作为下一次滤波运算的输入量,子宏块亮度和色度分 量运算完毕,再次进行亮度分量参考像素数据的读取,子宏块的亮度参考像素数据从片外 存储器的读取与更新十分耗时,而相邻的子宏块的参考像素有着很大程度的交叠,在更新 参考帧数据时应安排更新顺序,复用片上存储器中已有的上一个子宏块的参考像素数据, 存放到分层片上存储器的数据复用存储器层上,在当前子宏块运动补偿运算完毕,下一子 宏块运动补偿运算开始时,先进行判断,如果可以实现数据复用,则先将数据复用存储器的 数据写入参考像素数据存储器中,再从片外存储器读取其余参考像素。
全文摘要
本发明公开了一种并行流水运动补偿滤波器VLSI结构设计方法。采用运动补偿模块亮度像素点与色度像素点并行计算的方式,采用自适应块内在流水线处理方式,减少整个解码的处理时间,提高了系统吞吐量。采用对片上存储器分层构架设计,对访问方式做了进一步优化,减少对片外存储器的访问。采用参考像素的数据复用技术,采用更新子宏块处理技术,显著节约了读取数据所用时间,减少了数据读取带宽,从而提高解码器的解码效率,提高解码性能。
文档编号H04N7/26GK101888554SQ20101022285
公开日2010年11月17日 申请日期2010年7月9日 优先权日2010年7月9日
发明者兰旭光, 惠苗, 李兴玉, 郑南宁, 郜金金 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1