并行阵列式帧内预测解码器vlsi结构设计方法

文档序号:7753860阅读:437来源:国知局
专利名称:并行阵列式帧内预测解码器vlsi结构设计方法
技术领域
本发明属于视频编解码领域,特别涉及一种并行阵列式帧内预测解码器结构设计 方法。
背景技术
随着互联网日新月异的发展以及终端显示设备的更新换代,人们对于高清晰视频 业务质量的要求越来越高。解决视频海量数据的传输和存储问题最直接方法就是对视频文 件进行编解码处理,H. 264是新一代效果优异的编解码标准,但对于高清视频文件在解码端 存在算法复杂度高以及数据吞吐量大的问题。帧内预测算法在解码关键帧的运算量占比约 为30%,而对于1080P的高清视频一帧宏块数量为8100块,解码运算量巨大。设计高效实 时的解码器结构是目前的研究热点。

发明内容
根据上述背景技术中存在的不足,本发明目的在于,针对高清视频实时解码需求, 提供一种并行阵列式的帧内预测解码器VLSI结构设计方法,实现并行阵列式对帧内子宏 块进行解码,以提高帧内解码效率和速度。为了实现上述任务,本发明采用的技术解决方案是面向高清和超高清视频实时解码的并行阵列式的帧内预测解码器VLSI结构设计 方法,具体包括下列步骤第一步格式为.264的视频文件在码流解析后通过熵解码和反变换后得到宏块 及子宏块的预测模式,以及从参考像素存取模块取出的参考像素值,作为预测计算模块的 输入送给双PE阵列,PE阵列A、PE阵列B计算,两个阵列可同时预测出两个4X4块,若按 传统“Z”型预测顺序排序亮度Y分量、色度U、V分量,A阵列将顺序对序号为0、1、4、5、8、9、 12、13、16、17、18 和 19 共 12 个 4X4 块进行预测,而 B 阵列对序号 2、3、6、7、10、11、14、15、 20、21、22、23这12个4X4块顺序进行预测,PE阵列A按顺序先行预测两个子块并得到最 终像素值后,两个PE阵列A、B再同时按各自子块预测顺序进行预测计算;第二步预测计算模块的输出即预测值与解残差的数据一起作为输入送入加残差 运算模块,为保持双PE阵列的高速预测,加残差模块将有SUM A和SUM B两组加法器分别 对PE阵列A和PE阵列B的输出值及各自对应的残差值进行做和处理,在这个模块计算出 的数据是未经过块滤波的像素值;第三步第二步计算出来的像素值会重新写回参考像素模块里,这些像素值会由 具体子宏块的位置来决定送入存储模块作为参考像素供随后的预测取用,具体步骤如下 在预测阵列进行预测过程中若某一列的预测值需要复用前列已经预测的值,则前列预测值 会放入第三级寄存器组存储,为后列复用;每个子块预测完毕并加完相应残差后,其最右侧 一列及最下方一行的像素值将存储入第二级宏块级寄存器组,以供与本子宏块有数据依赖 关系的其他子宏块取用,本级存储设备中又设置了双滑动窗口机制解决子宏块并行预测的数据存取更新;若完成第二步的子块为一个宏块中最下方一行或最右侧一列子宏块时,将 这一子块的最下方一行或最右侧一列像素值存入第一级图像级RAM存储器,供与本宏块有 数据依赖关系的其他宏块取用。本发明成功实现了上述并行阵列式帧内预测解码器结构方法,通过对子宏块的并 行解码,可显著地提升H. 264帧内预测的解码效率,可以用于高清视频的实时解码。本发明提供了面向高清和超高清视频实时解码的并行阵列式的帧内预测解码器 VLSI结构设计方法,对帧内子宏块实现并行阵列式解码,从而提高解码效率和速度,满足高 清和超高清视频实时解码的需求。


图1是本发明帧内并行阵列式解码器VLSI结构示意图。
图2是本发明PE阵帧内预测计算示意图。
图2 (a)表示PE基本计算单元结构。
图2 (b)表示PE阵列预测计算时序。
图2(c)表示子宏块自适应预测时序图。
图3是本发明并行解码子宏块时序示意图。
图3(a)表示传统流水线解码子宏块顺序。
图3(b)表示并行解码子宏块顺序。
图3(c)表示并行解码子宏块理论时序图。
图4是本发明双PE阵列并行工作示意图。
图4(a)表示亮度并行双滑动窗口工作机制。
图4(b)表示色度并行双滑动窗口工作机制。
图4(c)表示并行子宏块的同步原理图。
图4(d)表示写RAM原理图。
图4(e)表示SUM模块并行时序。
下面结合附图对本发明的内容作进一步详细说明。
具体实施例方式图1所示,在并行阵列式帧内预测解码系统中,主要包含三个主要模块。首先,根 据从码流解析得到的帧内宏块及子块的预测模式,在参考像素存取模块中获取子块所需的 参考数据,进入预测计算模块进行帧内预测运算,得到的预测数据在进入加残差模块之前 经过并行同步与对应子块的IDCT数据进行加残差运算恢复出图像数据,将需要后续子块 的依赖像素存入参考像素读取模块中,经过滑动窗读取需要的像素。图2 (a)、(b)、(c)所示,首先设计了多种预测模式可以复用的预测计算单元PE,根 据预测计算公式的公因子设计了四输入加法器结构。控制输入则为了实现数据复用、数据 取整截断等需求。随后,由4个这样的PE单元组成一组PE阵列对子宏块进行预测计算,每 个cycle计算子块一列4个像素,4个cycle完成子块预测运算。最后,由于不同模式在子 块的预测过程存在的差异带来了完成一个子块的预测时间的不整齐,采用了自适应流水线 设计方法,一个完整的过程包括了预加载参考像素、预计算、预测和加残差运算,PE阵列根据不同的模式自适应的调整预测过程,避免了固定流水线关键路径所带来的时钟浪费。图3(a)、(b)、(c)所示,首先给出了标准中的“Ζ”型顺序,分析其子宏块数据依 赖关系,随后给出了本发明的并行预测顺序由于下一行子块依赖上一行子块的数据,所以 PE阵列A先行预测,当预测到子块2时PE阵列B开始并行预测第二行子块,PE阵列预测的 子块括号0的顺序为并行预测时PE阵列A的子块顺序。当PE阵列A完成亮度的预测后 继续开始色度Cb的子块预测,PE阵列A预测到第10子块时,PE阵列B开始色度Cr的预 测,此时色度子块并行。PE阵A完成色度Cb后,PE阵B预测色度Cr的最后两个子块。其 帧内预测时序理论图如(c)所示,可见宏块中的前两个子块和后两个子块为单阵运算,而 其他子块是并行预测的,这样的顺序可大大提升预测效率,缩短预测时间。图4 (a)、(b) (c)、(d)、(e)所示,双PE阵列并行预测工作机制具体包括双阵列滑 动窗口获取参考像素、并行同步办法、参考像素写RAM以及并行阵列加残差。双滑动窗口的 工作状态主要有两种当为亮度子宏块并行工作时,根据预测顺序PE阵列A先行两个子块, 所以PE阵列A和B始终保持两个子块的时间差从而解决了子块预测时需要的参考像素更 新冲突。每当预测完成后即时更新滑动窗寄存器数据,为后续子块作准备。当为色度Cb和 Cr并行时,PE阵列A和B分别负责Cb和Cr子块,而窗口寄存器的前8个为PE阵列A预测 Cb使用,后8个为PE阵列B预测Cr使用,这样色度的参考像素也不会出现冲突。而由于 PE阵列内部为自适应流水线设计,这样就存在每个PE阵列在不同的模式下所需时钟不同 的情况而出现了并行异步。由于预测后的加残差计算时钟十分规整,所以需要在之前进行 并行同步。采用取后原则即以最后PE阵列完成预测计算时刻为并行完成时刻,而后触发加 残差模块。帧内预测运算时需要将宏块的最后一行像素保存在RAM中,根据本发明指定的 预测顺序,亮度宏块需要保存的像素全部由PE阵列B来预测,色度Cb宏块需要保存的像素 全部由PE阵列A来预测,色度Cr宏块需要保存的像素全部由PE阵列B来预测,并且由于 PE阵列A和PE阵列B时钟保持两个子宏块的时差,这样在写RAM的时序是互相独立的,不 会出现两个阵列同时向RAM写操作而带来的写地址的混乱。对于加残差模块的功能,两个 SUM阵列对并行预测后的数据和IDCT数据加运算,严格保持4个cycles完成计算,恢复出 图像数据。下面结合附图和发明人给出的实施例对本发明进一步详细说明。1)通过“帧内并行阵列技术”,实现子宏块并行解码,提高帧内宏块的解码效率。2)通过“多预测模式复用技术”,实现的帧内预测计算单元PE。每个子宏块中以4 个PE单元并行预测4个像素。3)通过“自适应流水线技术”,实现了 PE阵列内对子宏块像素的自适应流水线的 预测解码。4)通过“并行预测顺序技术”,利用参考像素的依赖关系,实现并行解码的预测顺 序,解决了数据冲突。5)通过“双滑动窗口机制”,实现双PE阵列并行解码子宏块,协调了 PE阵列的并 行同步。所述“帧内并行阵列技术”,运用预测阵列对帧内子宏块并行解码。所设计的帧内 预测解码器包括了三个主要子模块预测计算模块、参考像素存取模块和加残差模块。首先 根据子宏块的预测模式和参考像素在预测计算模块完成帧内预测运算,接着在加残差模块
5中完成子块残差数据与预测数据相加生成图像,最后将后续预测所需图像像素保存在参考 像素存取模块。所有模块中运算单元都以并行阵列的方式进行设计以提高解码效率。所述“多预测模式复用技术”是针对多种预测模式的共同特性设计出可复用的预 测单元PE,使得帧内预测的各种模式(除Plane模式需预计算)均可由该计算单元完成像 素预测计算。4个PE单元将组成PE阵列,对子宏块内4个像素进行预测计算。两个PE阵 列将对两个子宏块并行解码。所述“自适应流水线技术”是指在解码帧内宏块时,由于预测模式的多样,解码宏 块的时钟并不是统一的。自适应流水线技术针对各个模式自动对齐解码时钟,从而达到流 水解码。所述“并行预测顺序技术”,是帧内预测解码时双PE阵列工作顺序。所设计的并 行顺序首先保证了子宏块的参考像素依赖关系,同时考虑到宏块最后一行像素需要存入片 上RAM,该并行顺序保证了亮度色度子块在需要保存时只对一个子宏块操作,这样避免了写 RAM地址冲突。所述“双滑动窗口机制”,是指运用双滑动窗口获取子宏块参考像素数据,双PE阵 列并行同步配合工作。双滑动窗口工作状态根据预测顺序包括亮度子块间并行、亮度色度 子块并行、色度子块间并行。双PE阵列根据参考像素进行预测,需要考虑并行同步问题,即 存在子块预测时间不同而出现的异步完成预测的情况,此时需要并行等待才能最终同步进 行加残差计算。
权利要求
并行阵列式帧内预测解码器VLSI结构设计方法,具体包括下列步骤第一步格式为.264的视频文件在码流解析后通过熵解码和反变换后得到宏块及子宏块的预测模式,以及从参考像素存取模块取出的参考像素值,作为预测计算模块的输入送给双PE阵列,PE阵列A、PE阵列B计算,两个阵列可同时预测出两个4×4块,若按传统“Z”型预测顺序排序亮度Y分量、色度U、V分量,A阵列将顺序对序号为0、1、4、5、8、9、12、13、16、17、18和19共12个4×4块进行预测,而B阵列对序号2、3、6、7、10、11、14、15、20、21、22、23这12个4×4块顺序进行预测,PE阵列A按顺序先行预测两个子块并得到最终像素值后,两个PE阵列A、B再同时按各自子块预测顺序进行预测计算;第二步预测计算模块的输出即预测值与解残差的数据一起作为输入送入加残差运算模块,为保持双PE阵列的高速预测,加残差模块将有SUM_A和SUM_B两组加法器分别对PE阵列A和PE阵列B的输出值及各自对应的残差值进行做和处理,在这个模块计算出的数据是未经过块滤波的像素值;第三步第二步计算出来的像素值会重新写回参考像素模块里,这些像素值会由具体子宏块的位置来决定送入存储模块作为参考像素供随后的预测取用,具体步骤如下在预测阵列进行预测过程中若某一列的预测值需要复用前列已经预测的值,则前列预测值会放入第三级寄存器组存储,为后列复用;每个子块预测完毕并加完相应残差后,其最右侧一列及最下方一行的像素值将存储入第二级宏块级寄存器组,以供与本子宏块有数据依赖关系的其他子宏块取用,本级存储设备中又设置了双滑动窗口机制解决子宏块并行预测的数据存取更新;若完成第二步的子块为一个宏块中最下方一行或最右侧一列子宏块时,将这一子块的最下方一行或最右侧一列像素值存入第一级图像级RAM存储器,供与本宏块有数据依赖关系的其他宏块取用。
全文摘要
本发明公开了一种并行阵列式帧内预测解码器的设计方法,采用帧内并行阵列技术,实现子宏块并行解码,提高帧内宏块的解码效率;采用多预测模式复用技术,实现的帧内预测计算单元PE。每个子宏块中以4个PE单元并行预测4个像素;采用自适应流水线技术,实现了PE阵列内对子宏块像素的自适应流水线的预测解码。采用并行预测顺序技术,根据参考像素的依赖关系,实现并行解码的预测顺序,解决了数据冲突;采用双滑动窗口机制,满足双PE阵列并行解码子宏块的需求,协调了PE阵列的并行同步。通过上述方法,可以满足高清和超高清视频实时解码的需求,提高解码效率和性能。
文档编号H04N7/50GK101902643SQ20101022335
公开日2010年12月1日 申请日期2010年7月9日 优先权日2010年7月9日
发明者兰旭光, 李兴玉, 杨志远, 郑南宁, 韩骞逸 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1