一种h.264帧间预测系统的制作方法

文档序号:9814750阅读:197来源:国知局
一种h.264帧间预测系统的制作方法
【技术领域】
[0001]本发明涉及一种H.264编码,尤其涉及一种H.264帧间预测系统。
【背景技术】
[0002]H.264国际标准定义了视频编码比特流语法与该比特流的解码方法,但没有定义编码格式和方法,所以实际编码器的设计存在多样性,在H.264采用的先进编码技术中,帧间宏块的多种模式编码技术是引起复杂度大幅增加的重要因素之一,为实现最高的编码效率,编码器在编码每一宏块时,都要遍历所有编码模式,这样会大大增加编码器的计算量,因此,如何快速准确的判断出帧间宏块的最终编码模式,又使编码效率不受影响,是一个值得研究的课题。

【发明内容】

[0003]本发明要解决的技术问题,在于提供一种H.264帧间预测系统,实现最大限度重用寄存器资源,节省面积,降低功耗。
[0004]本发明是这样实现的:一种H.264帧间预测系统,所述系统包括帧间预测控制模块、h264顶层控制模块、率失真优化rdo模式判决模块以及帧间预测模式模块;
[0005]所述帧间预测控制模块、h264顶层控制模块和率失真优化rdo模式判决模块均与帧间预测模式模块连接;
[0006]所述帧间预测模式模块获取率失真优化rdo模式判决模块给的指令进行预测模式更新,将左邻接块的最后一列运动矢量mv存入列缓存,将上邻接块的最下一行运动矢量mv存入行缓存,在帧间预测的计算过程处理完成后,等待率失真优化rdo模式判决模块反馈最佳模式信息,并把最佳模式对应的mv信息存到当前缓存中,同时从当前缓存中获取当前运动矢量发送给h264顶层控制模块处理;
[0007]所述h264顶层控制模块发送一个预测块编码开始信号给帧间预测模式模块;
[0008]所述帧间预测模式模块根据接收到的预测块编码开始信号、率失真优化rdo模式判决模块传来的判定参数以及当前缓存的运动矢量mv进行条件处理,根据处理结果选择正常模式或skip模式进行预测,并将正常模式下处理得到的预测运动矢量或skip模式下处理得到的跳帧运动矢量输出给帧间预测控制模块;
[0009]所述预测控制模块先根据fme进行分像素运动估计,并协同整数部分运动矢量作为帧间预测的输入,再根据fme信息取出数窗载整像素数据做运动补偿得到帧间预测像素;[00?0]所述正常模式:将16x16大小的宏块CTU分割成8x8块,再进一步分割成4x4块,根据上边界宏块的最后一行的4x4块的运动矢量和左边界宏块的最右一列运动矢量得到当前宏块的预测运动矢量输出给帧间预测控制模块;
[0011]所述skip模式与正常预测模式并行处理,根据邻接宏块直接进行一次16x16块预测,得到当前宏块的跳帧运动矢量输出给帧间预测控制模块。
[0012]进一步的,所述正常模式进一步为:将16x16大小的宏块CTU分割成4个8x8块顺序预测,从4个4x4块的运动矢量mv生成,到I个8x8块的运动矢量mv生成,输出5个运动矢量mv信息,等外部的率失真优化rdo模式判决模块反馈给帧间预测模式模块一种最佳模式,更新邻接mv信息,接着做第二个8x8块的模式预测,直至第四个8x8块的模式预测完成后,不需要等外部的率失真优化rdo模式判决模块反馈,接着做16x16的mv预测并输出,之后反馈第四个8x8的最佳判决模式,以及反馈最终整个CTU级别的最佳预测模式。
[0013]进一步的,在整个CTU模式判决之后,将CTU下边界的4个mv值输出给h264顶层控制模块,把当前所有mv参数信息输出用来做BS码流值的判断,并将CTU右边界的mv更新在邻接mv的寄存器组中,在右边CTU开始时提供左边界CTU的mv信息;
[0014]所述预测为前向参考帧的mv预测,并采用A、B、C块的mv进行预测当前宏块,且在C块为O的情况下,用D块替代C块,其中,A块为当前宏块的左边界块,B块为当前宏块的上边界块,C块为当前宏块的右上边界块,D块为当前宏块的左上边界块。
[0015]进一步的,所述skip模式进一步为:判断邻接宏块是否无运动矢量,若是,则结束预测,否则,获取邻接宏块直接进行一次16x16块预测,得到当前宏块的跳帧运动矢量。
[0016]进一步的,所述是否无运动矢量的判断方法为:获取A块和B块的mv值,当A块的mv为O或B块的mv为O时,则邻接宏块无运动矢量。
[0017]进一步的,所述skip块的模式预测会提前完成,输出给帧间预测控制模块用来生成skip模式的预测像素,在外部率失真优化rdo模式判决模块提前判决skip模式是否被选中,如果skip模式被提前选中,则当前CTU的整个预测过程会被提前结束。
[0018]本发明具有如下优点:通过对帧间相邻块mv进行更新维护,每进行一次帧间预测就更新一次寄存器中的数据,且每次更新指定的寄存器,不需要太多的寄存器,可以最大限度重用寄存器资源,节省面积,降低功耗。
【附图说明】
[0019]下面参照附图结合实施例对本发明作进一步的说明。
[0020]图1为本发明系统框架图。
[0021]图2为本发明系统正常模式下预测过程示意图。
[0022]图3为本发明运动矢量预测过程流程图。
[0023]图4为本发明一实施例中的当前宏块预测结构示意图。
[0024]图5为本发明另一实施例中的宏块垂直边界运动矢量替换过程示意图。
【具体实施方式】
[0025]如图1至图3所示,一种H.264帧间预测系统,所述系统包括帧间预测控制模块1、h264顶层控制模块2、率失真优化rdo模式判决模块3以及帧间预测模式模块4 ;
[0026]所述帧间预测控制模块l、h264顶层控制模块2和率失真优化rdo模式判决模块3均与帧间预测模式模块4连接;
[0027]所述帧间预测模式模块4获取率失真优化rdo模式判决模块3给的指令进行预测模式更新,将左邻接块的最后一列运动矢量mv存入列缓存,将上邻接块的最下一行运动矢量mv存入行缓存,在帧间预测的计算过程处理完成后,等待率失真优化rdo模式判决模块3反馈最佳模式信息,并把最佳模式对应的mv信息存到当前缓存中,同时从当前缓存中获取当前运动矢量发送给h264顶层控制模块2处理;
[0028]所述h264顶层控制模块2发送一个预测块编码开始信号给帧间预测模式模块4;
[0029]所述帧间预测模式模块4根据接收到的预测块编码开始信号、率失真优化rdo模式判决模块3传来的判定参数以及当前缓存的运动矢量mv进行条件处理,根据处理结果选择正常模式或skip模式进行预测,并将正常模式下处理得到的预测运动矢量或skip模式下处理得到的跳帧运动矢量输出给帧间预测控制模块I;
[0030]所述预测控制模块I先根据fme进行分像素运动估计,并协同整数部分运动矢量作为帧间预测的输入,再根据fme信息取出数窗载整像素数据做运动补偿得到帧间预测像素;[0031 ]所述正常模式:将16x16大小的宏块CTU分割成8x8块,再进一步分割成4x4块,根据上边界宏块的最后一行的4x4块的运动矢量和左边界宏块的最右一列运动矢量得到当前宏块的预测运动矢量输出给帧间预测控制模块I;所述正常模式进一步为:如图2所示,按照4x4块光栅序预测和一个8x8块预测,将16x16大小的宏块CTU分割成4个8x8块顺序预测,从4个4x4块的运动矢量mv生成,到I个8x8块的运动矢量mv生成,输出5个运动矢量mv信息,等外部的率失真优化rdo模式判决模块3反馈给帧间预测模式模块4 一种最佳模式,更新邻接mv信息,接着做第二个8x8块的模式预测,直至第四个8x8块的模式预测完成后,不需要等外部的率失真优化rdo模式判决模块3反馈,接着做16x16的mv预测并输出,之后反馈第四个8x8的最佳判决模式,以及反馈最终整个CTU级别的最佳预测模式;
[0032]所述skip模式与正常预测模式并行处理,根据邻接宏块直接进行一次16x16块预测,得到当前宏块的跳帧运动矢量输出给帧间预测控制模块I,所述skip模式进一步为:判断邻接宏块是否无运动矢量,若是,则结束预测,否则,获取邻接宏块直接进行一次16x16块预测,得到当前宏块的跳帧运动矢量;其中,所述“判断邻接宏块是否无运动矢量”
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1