一种高速h.264视频编解码滤波器结构的制作方法

文档序号:7932470阅读:164来源:国知局
专利名称:一种高速h.264视频编解码滤波器结构的制作方法
技术领域
本实用新型涉及一种视频编解码处理技术,特别涉及视频编解码中的一种 滤波器结构。
背景技术
在H.264视频编解码标准中,编解码器反变换量化启图像会出现方块效应, 方块效应会使图像块之间的边界上产生数据不连续,视觉上感觉图像很粗糙, 因此,必须在视频编解码器中增加去方块效应滤波器。
在编解码过程中,方块效应的产生原因主要有两个,最重要的一个原因在 于基于块的帧内和帧间预测残差的DCT变换,其变换系数的量化过程相对粗糙, 因而反量化过程恢复的变换系数带有误差,会造成在图像块边界上的不连续; 第二个原因来自于运动补偿预测,运动补偿块可能从不同帧的不同位置上内插 点的数据复制得到,而运动补偿的匹配很难达到绝对精确,因此会在复制块的 边界上产生数据不连续。同时,参考帧中存在的边界不连续也会被复制到需要 补偿的图像块内。H.264标准一方面采用较小的变换尺寸4x4来尽量降低所述 不连续现象,另一方面增加去方块效应滤波器,以最大程度的提高其编解码性 能。
在基于11.264标准下,主要在编解码环路中使用滤波器,从滤波效果和存储 空间的不同来考虑, 一般选择环路滤波器作为所述去方块效应滤波器。所述环 路滤波器由于具有高度的自适应性,.需要对方块边界及样点量化值进行条件判断和处理,因而复杂度较高;而且由于在算法的主要内容循环中不可避免地出 现条件分支,因而比较耗时。另一方面,由于在滤波算法中,图像中几乎每个 像素点都要参与计算,其中的乘除法使编解码器的计算复杂度大大增加。
现有的11264编解码中,滤波器通常采用如图1 (a)、 (b)所示的两种结构, 其中,图1 (a)所示的结构简单,但操作较复杂,其中在数据分析处理中的读 取数据及滤波完成后的写回都需要访问外部SDRAM (同步动态随机存储器), 且为不连续的访问,需要耗费大量的读写及等待时间。
图l (b)所示的结构中,相比图l (a)所示的结构增加了两个存储单元 左边垂直边界缓存单元和顶部水平边界缓存单元。在滤波过程开始后,先从外 部的SDRAM中读取当前宏块滤波所需要的左边垂直边界滤波点数据和顶部水 平边界滤波点数据,存储在所述增加的两个存储单元中;滤波完成后,将这两 个存储单元中已滤波的数据写回到SDRAM,所述结构防止了间断性的访问 SDRAM,顶部水平边界连续数据可以实行连续读写,能够节省一定的时间,但 是在整个过程中访问SDRAM所要读写的信息量没有发生改变,在时间消耗上 的节省十分有限。
在高速系统中,如果SoC的频率足够高,则所述两种结构也被普遍采用, 然而,很多低速系统中,若采用所述两种结构,则滤波器在处理速度上将成为 整个H.264编解码的瓶颈,因此需要采用一种更有效的滤波器结构,在保证视 频图像滤波质量的前提下,尽可能的节省滤波器在滤波过程中所消耗的时间, 使得H.264视频编解码器更易于实现。
发明内容
本实用新型所要解决的技术问题是在低速系统中,减少H.264编解码过程中滤波计算所需时间。基于所述现有技术中存在的问题,本实用新型公开了一种
高速H.264视频编解码滤波器结构。
一种高速H.264视频编解码滤波器结构,该结构包括AHB总线(201)、宏 块信息单元(202)、滤波器单元(203),所述三个单元顺次相连,其中宏块信 息单元(202)和滤波器单元(203)之间双向连接,另外,该结构还包括内部 存储单元(204),所述内部存储单元(204)和滤波器单元(203)双向连接, 且和AHB总线(201)单向连接,数据信号从内部存储单元(204)写入AHB 总线(201)。
所述内部存储单元(204)的大小在帧场自适应模式下为不小于每行点数与 宏块尺寸乘积的四倍。
所述内部存储单元(204)的大小在非帧场自适应模式下为不小于每行点数 与宏块尺寸乘积的两倍。
本实用新型的有益效果在于本实用新型所述结构避免了滤波模块对外部 SDRAM的频繁读写,在整个系统的频率较低的情况下,减少了滤波模块直接对 外部SDRAM的零散数据费时的存取以及等待操作,进而节省了滤波过程所消 耗的时间,实现了低速系统中高速地对图像滤波,减少方块效应。


图1 (a)和图1 (b)为现有技术中两种通用滤波器结构图; 图2为本实用新型所提出的滤波器结构图3 (a)为本实用新型滤波器结构中存储器单元结构;图3 (b)为宏块滤波数据结构示意图4为本实用新型具体实施方式
中滤波过程整体流程图5为本实用新型具体实施方式
中滤波操作流程图6为本实用新型具体实施方式
中滤波边界点滤波示意图。
具体实施方式
下面参考附图,对本实用新型的具体实施方式
作详细说明。
图2所示为本实用新型所述的一种高速R264视频编解码滤波器结构,该结构 包括AHB总线201、宏块信息单元202、滤波器单元203和内部存储单元204。所 述AHB总线201、宏块信息单元202和滤波器单元203三个单元顺次相连,其中宏 块信息单元202和滤波器单元203之间双向连接,另外,所述内部存储单元204和 滤波器单元203之间双向连接,且和AHB总线201单向连接,数据信号从内部存 储单元204写入AHB总线201 。
其中,AHB总线201为整个硬件架构的内部数据总线;宏块信息单元202存 储了当前宏块滤波计算所需要的所有参数信息,以及当前宏块数据,其中所述 宏块数据存放在16xl6x8bit大小的存储单元内;滤波器单元203对当前图像数据 进行滤波处理,其中包括滤波边界分析,.滤波强度自适应计算,边界滤波计算。
内部存储单元204为本实用新型区别于图1 (a)和(b)所示现有技术中滤波 器结构的单元,本实施例中选择该存储器大小为720X16X4个字节的一个内部 RAM (随机存储器),所述RAM能够实现内部的最大128位的读写操作。当滤波 器开始工作,滤波模块根据宏块信息单元202中保存的参数信息,直接从内部存 储单元204快速的读取所需要的当前宏块的边界数据,经过滤波处理写回存储 器,并且在水平滤波过程中直接将当前宏块滤波完成数据直接写入所述内部存储单元204。在整个操作过程中,不需要繁琐的访问外部SDRAM读写数据,因 而避免了大量的总线申请、仲裁、等待和读写的时间。最后,在帧场自适应情 况下,做完4行宏块的滤波后,将前面两行宏块的连续数据通过AHB总线201采 用DMA方式(直接内存存取方式) 一次性写出到外部的SDRAM中,由于是连续 地址的数据读写,使得操作的效率大大提高,而且,在整个处理过程中,每个 地址的数据只需要做一次的写操作,而现有技术中所述结构最多需5次读写操 作,因此本实用新型所述滤波器结构效率明显高于现有技术中滤波器结构,且 在本实用新型所述滤波器结构下,滤波器运算过程中的时间消耗大大降低了。. 同时,也大大地简化了对SDRAM访问的控制操作。
图3 (a)即为本具体实施方式
采用的内部存储单元204的结构图,本卖施例 中,720表示一行视频数据的像素点数,每个宏块的大小为16xl6个像素点,每 个像素点的数据为l个字节,水平方向为一行的长度,垂直方向为四个宏块的宽 度,即四行宏块共16x4个字节,如图3 (a)所示,宏块的放置是成对的.,其中 宏块A0和宏块A1、宏块B0和宏块B1、宏块C0和宏块C1及宏块D0和宏块D1分别 为四个不同的宏块对。若为帧模式,则所述宏块对A0和A1是逐行排列的四行中 的部分数据;若为场模式,则所述宏块对A0和A1为隔行数据。
另外,所述内部存储单元204的大小不局限于本实施例中所述720x 16x4个字 节,其它满足在场模式下,内部存储单元不小于每行点数与宏块尺寸乘积的四 倍大小;帧模式下存储单元不小于每行点数与宏块尺寸乘积的两倍大小的都属 于本实用新型保护的范围。
图3 (b)为以宏块AO为当前宏块时,对该宏块AO去方块效应的滤波数据示 意图,宏块边界上的滤波需要得到该宏块左边界外和顶部边界外的已解码的图 像数据,图3 (b)中粗线条表示需要进行滤波的边界共四条垂直边界和四条水平边界,其中宏块A0所在图像中的位置如图3(a)所示,由于三个宏块对A0/A1, B0/B1, C0/C1的帧场方式可能不一样,按帧场自适应的匹配规则,对当前宏块 A0滤波时需涉及该当前宏块左边垂直边界B0或B1和顶部水平边界C0或C1,若宏 块对A0/A1和宏块对B0/B1的帧场模式相同时,则需参考宏块BO最右边四个数据 和宏块C1最底下四个数据;若宏块对A0/A1和宏块对B0/B1的帧场模式不相同 时,则参考宏块B0和宏块B1最右边隔行的四个数据以及宏块C0和宏块C1最底下 的四个隔行数据。
图4所示为本实施例中滤波过程整体流程图,先对垂直四个边界进行滤波, 然后再对水平四个边界进行滤波。而图5所示为具体对一个边界滤波的流程图, 具体步骤如下
步骤S501:从内部存储单元204中获取整条边界信息两边数据,作为参与 滤波的数据;如图3 (b)所示,设垂直边界为O、 1、 2、 3,水平边界为a、 b、 c、 d。在做0边界滤波的时候,需要得到当前宏块左边1列4个4x4小块的所 有信息以及左边界点外对应的宏块对中对应的小块信息;若当前宏块是整个图 像最左边沿的宏块,则其左边宏块不存在,O边界不需要进行滤波,直接跳转分 析1边界的参数信息进行步骤S504的操作;否则,进入步骤S502。
步骤S502:对宏块信息单元202中存储的参数信息进行分析,计算滤波强 度。每一个边界点的滤波强度决定了该点及其左右参与计算的点的修改程度。 本实用新型中,滤波强度的计算方法为现有技术中通用的算法,取BS表示所 需的滤波强度,则该滤波强度BS的值可取0到4,根据是否为帧内预测,是否 对残差编码,是否为宏块边界以及是否存在运动矢量几个方面判断所述滤波强 度BS的值,若滤波强度BS越大,则修改的边界点越多。
步骤S503:根据由步骤S502得到的滤波强度BS,对边界点进行滤波计算,如附图6所示,先将P数据与当前宏块内取来的Q数据进行边界分析,分析边 界两边数据是否连续,如果不连续,那么分两种情况, 一是所述不连续部分为 图像的物理边界,则不需要作滤波处理;否则为第二种情况,需要根据滤波强 度对边界点进行计算调整,在变化最大情况下(BS=4),最多可能使P0, Pl, P2, Q0, Ql, Q2数据点的值发生变化。滤波完成后,将已滤波调整的从内部 存储单元204取来的数据写回,宏块内部滤波后数据也写回到宏块重构RAM等 待后面的处理。
步骤S504:判断垂直和水平共八个边界是否滤波结束,否则进入步骤S501 对下一个边界滤波,是则进入步骤S505,整个宏块的滤波完成。 步骤S505:整个宏块滤波完成。
其中,所有步骤所需的数据均直接从内部存储单元204中读写,而不需要 直接访问外部的SDRAM,因此存取数据以及等待所需的时间都得到了节省。
本实用新型所述的滤波器结构中,内部存储单元204存储宏块数据可以分 为两种情况
第一种情况为在帧场自适应条件下,当初始状态时,需完成4行宏块后, 所述内部存储单元204将前面两行宏块输出到AHB总线201上,系统将会采用 DMA方式通过所述AHB总线201将该两行宏块数据导出到外部的SDRAM; 在中间处理过程中,每处理完两行宏块数据后将前两行宏块的数据导出到外部 的SDRAM;当最后的两行宏块数据滤波处理完毕后,则完成了整个图像帧的重 构和滤波,将内部存储单元204内的所有的4行宏块数据通过AHB总线201 — 次性写出到外部SDRAM,按照所述过程完成一帧图像的滤波处理。
第二种情况是在非帧场自适应条件下,由于相邻的宏块对的帧场模式相同, 则内部存储单元204只需存储两行宏块的数据,在初始状态时,需完成2行宏块数据的滤波处理后,所述内部存储单元204将前面一行宏块数据输出到AHB 总线201上,系统采用DMA方式通过所述AHB总线201将该行宏块数据导出 到外部的SDRAM;在中间处理过程中,每完成一行宏块数据的滤波处理,则将 前一行宏块数据导出到外部的SDRAM;当完成一帧的最后一个宏块数据的滤波 处理后, 一次性输出2行宏块数据到外部的SDRAM,按照所述过程完成一帧图 像的滤波处理。
以上内容是结合具体的优选实施方式对本实用新型所作的进一步详细说 明,不能认定本实用新型的具体实施只局限于这些说明。对于本实用新型所属 技术领域的普通技术人员来说,在不脱离本实用新型构思的前提下,还可以做 出若干简单推演或替换,都应当视为属于本实用新型的保护范围。
权利要求1、一种高速H.264视频编解码滤波器结构,该结构包括AHB总线(201)、宏块信息单元(202)、滤波器单元(203),所述三个单元顺次相连,其中宏块信息单元(202)和滤波器单元(203)之间双向连接,其特征在于,该结构还包括一内部存储单元(204),所述内部存储单元(204)和滤波器单元(203)之间双向连接,且和AHB总线(201)单向连接,数据信号从内部存储单元(204)写入AHB总线(201)。
2、 根据权利要求1所述的一种高速11.264视频编解码滤波器结构,其特征 在于,所述内部存储单元(204)的容量大小在帧场自适应模式下为不小于每行 点数与宏块容量乘积的四倍。
3、 根据权利要求1所述的一种高速汪264视频编解码滤波器结构,其特征 在于,所述内部存储单元(204)的容量大小在非帧场自适应模式下为不小于每 行点数与宏块容量乘积的两倍。
专利摘要本实用新型公开了一种高速H.264视频编解码滤波器结构,该结构包括AHB总线、宏块信息单元、滤波器单元,所述三个单元顺次相连,其中宏块信息单元和滤波器单元之间双向连接,另外,该结构还包括一内部存储单元,所述内部存储单元和滤波器单元之间双向连接,且和AHB总线单向连接,数据信号从内部存储单元写入AHB总线。本实用新型所述结构避免了滤波模块对外部SDRAM的频繁读写,在整个系统的频率较低的情况下,减少了滤波模块直接对外部SDRAM的零散数据费时的存取操作以及等待,进而节省了滤波过程所消耗的时间,减少方块效应。
文档编号H04N7/26GK201222785SQ20082009209
公开日2009年4月15日 申请日期2008年2月3日 优先权日2008年2月3日
发明者何铁军, 刘俊秀, 毅 汪, 甘焱林, 岭 石, 夫 高 申请人:深圳艾科创新微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1