一种插帧处理装置及处理方法

文档序号:7625382阅读:181来源:国知局
专利名称:一种插帧处理装置及处理方法
技术领域
本发明涉及一种插帧处理装置及处理方法,尤其是一种可以在任意时刻进行插帧的处理装置及处理方法。
背景技术
为了对不连续的运动画面做平滑处理,需要做插帧处理。在插帧处理中,为了有效去除由于遮挡而形成的运动噪声信息,要解决运动遮挡问题。
现有的MPEG-4 AVC/ITU-T H.264视频编码标准中所采用的多模式运动估计算法,虽然增大了编码效率和性能,但是诸如模式决策等压力却给运动估计器,特别是硬件运动估计器带来非常大的运算复杂度。
而且可以采用通过比较相邻块运动矢量的方法来取得最佳模式的模式决策算法和空时预测来取得初始搜索点,并进行局部全搜索的快速运动估计算法,这两种算法虽然减小了运算复杂度,加快了编码的过程,同时在一定程度上又减小了硬件实现的难度,但是无法考虑遮挡区的处理。
现有的插帧处理装置综合考虑硬件成本和运动估计的精度,设计出一种分层准全搜索法装置。在串行输入以100%效率并行处理的硬件结构的基础上,进一步采用并行处理结构和流水线处理的方式,并结合了分层搜索的思想。所使用的硬件资源是全搜索法的四分之一,降低了系统时钟。是一种并行处理时的数据存储装置,虽然节省了片内存储器,但是无法实现在任意时刻的逐点插帧。
综上所述,上述的插帧处理装置和处理方法,虽然都采用视频流的方式,但都不是能同时在任意时刻考虑遮挡区和显露区的运动矢量来逐点生成插帧数据。

发明内容
本发明的目的是针对现有插帧处理装置及处理方法的不足,提供一种插帧处理装置及处理方法,可以实现任意时刻的插帧,并且同时在任意时刻由遮挡区和显露区的运动矢量来逐点生成插帧数据。
为实现上述目的,本发明提供了一种插帧处理装置,包括一时序控制信息生成器,用于根据数据时序信息协调数据流之间的时序匹配;一映射表缓存器,与所述时序控制信息生成器相连接,用于根据运动矢量标记遮挡区和显露区;一插帧缓存器,与所述时序控制信息生成器和映射表缓存器相连接,用于根据遮挡区和显露区标记信息将视频数据处理成插帧候选数据;一插帧运算器,与所述时序控制信息生成器和插帧缓存器相连接,用于根据插帧候选数据信息计算出插帧结果数据和相应的插帧结果可信度。
所述插帧缓存器包括一插帧策略控制模块,与所述时序控制信息生成器相联接,用于根据插帧时刻得到插帧参数;一参考地址计算模块,与所述插帧策略控制模块相连接,用于计算遮挡区和显露区的参考地址;一运动矢量标记地址计算模块,与所述插帧策略控制模块相连接,用于计算运动矢量标记地址;一地址有效性控制模块,与所述映射表缓存器、插帧策略控制模块和运动矢量标记地址计算模块相连接,用于计算地址有效性标记;一缓存器地址计算模块,与所述参考地址计算模块、运动矢量标记地址计算模块和地址有效性控制模块相连接,用于计算缓存器地址;
一地址译码模块,与所述缓存器地址计算模块相连接,用于计算地址码;一插帧数据转换模块,与所述插帧策略控制模块相连接,用于计算下一时刻的插帧数据和前一时刻的插帧数据;一插帧缓存模块,与所述插帧运算器、地址译码模块和插帧数据转换模块相连接,用于计算插帧候选数据。
本发明还提供了一种插帧处理方法,包括以下步骤步骤1、时序控制信息生成器根据输入的时序信息,生成第一时序控制信息,输入映射表缓存器,生成第二时序控制信息,输入插帧缓存器,生成第三时序控制信息,输入插帧运算器中;步骤2、所述映射表缓存器根据输入的运动矢量,将插帧时刻的下一时刻的运动矢量穿过的区域标记为显露区,将插帧时刻的前一时刻的运动矢量穿过的区域且未被下一时刻的运动矢量穿过的区域标记为遮挡区,并将遮挡区和显露区的标记信息发送与插帧缓存器;步骤3、所述插帧缓存器根据遮挡区和显露区的标记信息将视频数据处理成插帧候选数据,并发送与插帧运算器;步骤4、所述插帧运算器根据插帧候选数据计算出插帧结果数据。
所述步骤3具体为步骤31、插帧策略控制模块根据输入的插帧时刻得到插帧参数,即插帧用的参考相位,并输入参考地址计算模块、运动矢量标记地址计算模块和地址有效性控制模块中;步骤32、所述参考地址计算模块根据所述插帧参数得到遮挡区和显露区的参考地址,并输入缓存器地址计算模块中;步骤33、所述运动矢量标记地址计算模块根据输入的运动矢量和所述插帧参数得到运动矢量标记地址,并输入所述地址有效性控制模块和缓存器地址计算模块中;步骤34、所述地址有效性控制模块根据输入的运动矢量、映射表状态、所述插帧参数和所述运动矢量标记地址得到地址有效性标记,并发送与所述缓存器地址计算模块;步骤35、所述缓存器地址计算模块根据所述参考地址、运动矢量标记地址和地址有效性标记,计算出缓存器地址信息,并发送与地址译码模块;步骤36、所述地址译码模块由缓存器地址信息得到地址码,并发送与插帧缓存模块;步骤37、插帧数据转换模块根据插帧时刻的下一时刻的视频数据和前一时刻的视频数据和插帧参数,得到下一时刻的插帧数据和前一时刻的插帧数据,并发送与插帧缓存模块;步骤38、所述插帧缓存模块将地址码、下一时刻的视频数据和前一时刻的插帧数据刷新得到插帧候选数据。
所述步骤38具体为步骤381、所述插帧缓存模块判断插帧位置是否同时有插帧时刻的下一时刻的视频数据和前一时刻的视频数据,如果同时有则取出插帧时刻下一时刻的视频数据,执行步骤382;如果只有其中一个时刻的插帧数据,则取出该时刻的视频数据,执行步骤382;步骤382、将上述取出的视频数据与在该位置处已经有的先前写入的视频数据进行比较,如果上述取出的视频数据为插帧时刻下一时刻的视频数据,而先前写入的视频数据为插帧时刻前一时刻的视频数据,则将插帧时刻下一时刻的视频数据替代已经有的插帧时刻前一时刻的视频数据;如果上述取出的视频数据为插帧时刻前一时刻的视频数据,而已经有的为插帧时刻下一时刻的视频数据,则不进行替代;如果为同一时刻的视频数据,则比较取出的视频数据与现有的视频数据,将权重大的视频数据保留。
所述步骤4具体为插帧运算器根据插帧候选数据加权平均计算出插帧结果数据。
所述步骤4中,插帧运算器根据插帧候选数据还要计算插帧结果可信度。
所述计算插帧结果可信度的方法为,所述插帧运算器判断所述候选数据是否大于一预设数值,如果大于则判断为可信,如果小于则判断为不可信。
因此,本发明具有以下优点1、插帧处理装置采用流水线缓存器结构,实现了可变长的滑动窗口,从而实现了任意时刻的插帧。
2、插帧处理方法将遮挡区和显露区并行处理,达到视频流的效果。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明的插帧处理装置的结构示意图。
图2为本发明的插帧处理装置的插帧缓存器的结构示意图。
图3为本发明的插帧处理方法的流程图。
图4为本发明的插帧处理方法的处理候选数据的流程图。
图5为本发明的插帧处理方法的示意图。
图6为本发明的插帧处理方法计算插帧候选数据的流程图。
具体实施例方式
本发明的插帧处理装置是一种用于ASIC实现的硬件装置。该装置可实现任意时刻的插帧,而且能够解决运动遮挡问题,算法达到半像素精度,广泛使用于视频流的电影模式和电视模式的运动处理,以达到更佳的视频效果同时可提高帧率。
如图1所示,为本发明插帧处理装置的结构示意图,包括时序控制信息生成器4、和与时序控制信息生成器4相连接的插帧缓存器1、插帧运算器2和映射表缓存器3,插帧缓存器1与插帧运算器2和映射表缓存器3相连接。
各模块作用如下插帧缓存器1,用于根据遮挡区和显露区标记信息将视频数据处理成插帧候选数据;插帧运算器2,用于根据插帧候选数据信息计算出插帧结果数据和相应的插帧结果可信度;映射表缓存器3,用于根据运动矢量标记遮挡区和显露区;时序控制信息生成器4,用于根据数据时序信息协调数据流之间的时序匹配。
如图2所示,为插帧缓存器的结构示意图;包括与时序控制信息生成器4相联接的插帧策略控制模块10、参考地址计算模块11,与插帧策略控制模块10相连接;运动矢量标记地址计算模块12,与插帧策略控制模块10相连接;地址有效性控制模块13,与映射表缓存器3、插帧策略控制模块10和运动矢量标记地址计算模块12相连接;缓存器地址计算模块14,与参考地址计算模块10、运动矢量标记地址计算模块12和地址有效性控制模块13相连接;地址译码模块15,与缓存器地址计算模块14相连接;插帧数据转换模块16,与插帧策略控制模块10相连接;插帧缓存模块17,与插帧运算器2、地址译码模块15和插帧数据转换模块16相连接。
各模块作用插帧策略控制模块10,用于根据插帧时刻得到插帧参数;参考地址计算模块11,用于计算遮挡区和显露区的参考地址;运动矢量标记地址计算模12块,用于计算运动矢量标记地址;地址有效性控制模块13,用于计算地址有效性标记;缓存器地址计算模块14,用于计算缓存器地址;地址译码模块15,用于计算地址码;插帧数据转换模块16,用于计算下一时刻的插帧数据和前一时刻的插帧数据;插帧缓存模块17,用于计算插帧候选数据。
如图3所示,为本发明插帧处理方法的流程图,该方法的步骤如下
步骤101、时序控制信息生成器根据输入的时序信息,生成第一时序控制信息,输入映射表缓存器,生成第二时序控制信息,输入插帧缓存器,生成第三时序控制信息,输入插帧运算器中;假定该装置运行起始时刻为0,则映射表缓存器与插帧缓存器的运行起始时刻为0;根据输入的运动向量的搜索范围,以及插帧时刻信息和行的长度,根据公式1计算出映射表的结束时刻;Length+max(abs(round(-m)*(1-phase))),abs(round(-m)*(1-phasetb))))(1)根据公式2计算出输入缓存器的结束时刻;Length+2*max(abs(round(-m)*(1-phase))),abs(round(-m)*(1-phasetb))))+max(abs(round(-n)*phase)),abs(round((-n)*phasetb)))(2)根据公式3计算出插帧运算器的起始时刻;max(abs(round(-m)*(1-phase))),abs(round(-m)*(1-phasetb))))+max(abs(round(-n)*phase)),abs(round((-n)*phasetb)))+1(3)根据公式4计算出结束时刻;Length+max(abs(round(-m)*(1-phase))),abs(round(-m)*(1-phasetb))))+max(abs(round(-n)*phase)),abs(round((-n)*phasetb)))+1(4)其中,公式1、2、3、和4中的Length为行的长度,max为取大运算,round为取余运算,abs为取绝对值运算,phase为插帧时刻,phasetb为phase推导出的插帧参考时刻,运动矢量的搜索范围为[-m,n]。
步骤102、映射表缓存器根据输入的运动矢量,将插帧时刻的下一时刻的运动矢量穿过的区域标记为显露区,将插帧时刻的前一时刻的运动矢量穿过的区域且未被下一时刻的运动矢量穿过的区域标记为遮挡区,并将遮挡区和显露区的标记信息发送与插帧缓存器;步骤103、插帧缓存器根据遮挡区和显露区的标记信息将视频数据处理成插帧候选数据;
步骤104、插帧运算器根据插帧候选数据计算出插帧结果数据。
若有候选数据,则将候选数据做加权平均,得到插帧结果数据,并标记插帧结果可信度为1;若没有候选数据,则标记插帧结果可信度为0;插帧运算器判断所述候选数据是否大于一预设数值,如果大于则判断为可信,如果小于则判断为不可信。
因为标记地址参数化,可以实现可变长滑动,所以实现了在任意时刻进行插帧;同时,因为可以同时在缓存器上标记显露区和遮挡区,保证了该装置能以流水线的方式运行,达到视频流的效果。
如图4所示,为本发明步骤103的方法流程图,并参见图5所示,图中,mv运动向量;vd视频数据;futr下一时刻;prev前一时刻;interp插帧;top上一行mid中间行bot下一行ABS取绝对值Round取整max取最大值在前一时刻一行上搜索范围[-m,n]显露区(由下一时刻的运动矢量在插帧处的标记)范围[Round(-m*(1-phase)),Round(n*(1-phase)]遮挡区(由前一时刻的运动矢量在插帧处的标记)范围[Round(-n*phase),Round(m*phase)]插帧的时刻(phase)的12种情况
1/3,1/2,2/3,1/4,3/4,1/5,2/5,3/5,4/5,1/6,5/6 and 0图示的是插帧时刻为1/2时的情况(此时缓存器资源的需求最大);图示的是在某插帧时刻phase时的情况;映射表缓存器大小m+n+2=60插帧缓存器大小m+n+2+(n+1)/2=75;步骤231、插帧策略控制模块根据输入的插帧时刻得到插帧参数,即插帧用的参考相位,并输入参考地址计算模块、运动矢量标记地址计算模块和地址有效性控制模块中;输入的插帧时刻为phase,输入的视频数据类型为is_video(=1,表示是video;=0,表示是film),则根据插帧策略(条件选择逻辑),得到插帧参数phasetb,(如果phase=1/2,phasetb=0;video模式下,如果phase<1/2,pahsetb=2*phasetb,如果phase>1/2,则phasetb=2*phase-1;film模式下phasetb为phase;步骤232、所述参考地址计算模块根据所述插帧参数得到遮挡区和显露区的参考地址,并输入缓存器地址计算模块中;若标记插帧缓存器的起点为0,则显露区的参考地址由公式5计算出,遮挡区的参考地址由公式6计算出max(round(n*(1-phase)),round(n*(1-phase))) (5)max(round(n*(1-phase)),round(n*(1-phase)))+m+1 (6)步骤233、所述运动矢量标记地址计算模块根据输入的运动矢量和所述插帧参数得到运动矢量标记地址,并输入所述地址有效性控制模块和缓存器地址计算模块中;记下一时刻的运动矢量mv_futr,前一时刻的运动矢量mv_prev,这两个运动矢量具有方向性,即为符号数,显露区的运动矢量标记地址为mv_futr*(1-phasetb),遮挡区的运动矢量标记地址为mv_prev*(1-phasetb),根据显露区的运动矢量标记地址,在映射表缓存器上打标记,即置1;步骤234、所述地址有效性控制模块根据输入的运动矢量、映射表状态、所述插帧参数和所述运动矢量标记地址得到地址有效性标记,并发送与所述缓存器地址计算模块;根据由映射表输出的对应行的标志位,若标记过,则对应的遮挡区的运动矢量标记地址为无效,若未标记过,则地址有效;步骤235、所述缓存器地址计算模块根据所述参考地址、运动矢量标记地址和地址有效性标记,计算出缓存器地址信息,并发送与地址译码模块;若地址有效,则显露区在缓存器上的标记地址为显露区的参考地址+mv_futr*(1-phasetb);遮挡区在缓存器上的标记地址为遮挡区的参考地址+mv_prev*(1-phasetb);若地址无效,相应的地址标记为特殊值,如ff;步骤236、所述地址译码模块由缓存器地址信息得到地址码,并发送与插帧缓存模块;对应输入的下一时刻的三行运动矢量和前一时刻的三行运动矢量,对三个显露区标记地址和三个遮挡区标记地址进行译码,即该地址对应的比特位置1,其余为0,若为特殊值,则所有比特位为0;步骤237、插帧数据转换模块根据插帧时刻的下一时刻的视频数据和前一时刻的视频数据和插帧参数,得到下一时刻的插帧数据和前一时刻的插帧数据,并发送与插帧缓存模块;将该时刻的视频数据,以及相应的插帧参数(权重,插帧参考时刻等信息)组合成缓存器中的数据结构,得到可能替代到缓存器中的插帧数据;步骤238、所述插帧缓存模块将地址码、下一时刻的视频数据和前一时刻的插帧数据刷新得到插帧候选数据。
此处,计算插帧候选数据的方法比较多,如图6所示,其中的具体一种为步骤381、所述插帧缓存模块判断插帧位置是否同时有插帧时刻的下一时刻的视频数据和前一时刻的视频数据,如果同时有则执行步骤382;如果只有其中一个时刻的插帧数据则执行步骤383;步骤382、取出插帧时刻下一时刻的视频数据,执行步骤384;步骤383、取出该时刻的视频数据,执行步骤384;步骤384、将上述取出的视频数据与在该位置处以经有的先前写入的视频数据进行比较,如果上述取出的视频数据为插帧时刻下一时刻的视频数据,而先前写入的视频数据为插帧时刻前一时刻的视频数据,则执行步骤385;如果上述取出的视频数据为插帧时刻前一时刻的视频数据,而已经有的为插帧时刻下一时刻的视频数据,则执行步骤386;如果为同一时刻的视频数据,则执行步骤387;步骤385、则将插帧时刻下一时刻的视频数据替代已经有的插帧时刻前一时刻的视频数据;步骤386、则不进行替代;步骤387、比较取出的视频数据与现有的视频数据,将权重大的视频数据保留。
综上所述,因为标记地址参数化,可以实现可变长滑动,所以实现了在任意时刻进行插帧;同时,因为可以同时在缓存器上标记显露区和遮挡区,保证了该装置能以流水线的方式运行,达到视频流的效果。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种插帧处理装置,其中包括一时序控制信息生成器,用于根据数据时序信息协调数据流之间的时序匹配;一映射表缓存器,与所述时序控制信息生成器相连接,用于根据运动矢量标记遮挡区和显露区;一插帧缓存器,与所述时序控制信息生成器和映射表缓存器相连接,用于根据遮挡区和显露区标记信息将视频数据处理成插帧候选数据;一插帧运算器,与所述时序控制信息生成器和插帧缓存器相连接,用于根据插帧候选数据信息计算出插帧结果数据和相应的插帧结果可信度。
2.根据权利要求1所述的插帧处理装置,其中所述插帧缓存器包括一插帧策略控制模块,与所述时序控制信息生成器相联接,用于根据插帧时刻得到插帧参数;一参考地址计算模块,与所述插帧策略控制模块相连接,用于计算遮挡区和显露区的参考地址;一运动矢量标记地址计算模块,与所述插帧策略控制模块相连接,用于计算运动矢量标记地址;一地址有效性控制模块,与所述映射表缓存器、插帧策略控制模块和运动矢量标记地址计算模块相连接,用于计算地址有效性标记;一缓存器地址计算模块,与所述参考地址计算模块、运动矢量标记地址计算模块和地址有效性控制模块相连接,用于计算缓存器地址;一地址译码模块,与所述缓存器地址计算模块相连接,用于计算地址码;一插帧数据转换模块,与所述插帧策略控制模块相连接,用于计算下一时刻的插帧数据和前一时刻的插帧数据;一插帧缓存模块,与所述插帧运算器、地址译码模块和插帧数据转换模块相连接,用于计算插帧候选数据。
3.一种根据上述任一权利要求所述的插帧处理方法,其中包括以下步聚步骤1、时序控制信息生成器根据输入的时序信息,生成第一时序控制信息,输入映射表缓存器,生成第二时序控制信息,输入插帧缓存器,生成第三时序控制信息,输入插帧运算器中;步骤2、所述映射表缓存器根据输入的运动矢量,将插帧时刻的下一时刻的运动矢量穿过的区域标记为显露区,将插帧时刻的前一时刻的运动矢量穿过的区域且未被下一时刻的运动矢量穿过的区域标记为遮挡区,并将遮挡区和显露区的标记信息发送与插帧缓存器;步骤3、所述插帧缓存器根据遮挡区和显露区的标记信息将视频数据处理成插帧候选数据,并发送与插帧运算器;步骤4、所述插帧运算器根据插帧候选数据计算出插帧结果数据。
4.根据权利要求3所述的插帧处理方法,其中所述步骤3具体为步骤31、插帧策略控制模块根据输入的插帧时刻得到插帧参数,即插帧用的参考相位,并输入参考地址计算模块、运动矢量标记地址计算模块和地址有效性控制模块中;步骤32、所述参考地址计算模块根据所述插帧参数得到遮挡区和显露区的参考地址,并输入缓存器地址计算模块中;步骤33、所述运动矢量标记地址计算模块根据输入的运动矢量和所述插帧参数得到运动矢量标记地址,并输入所述地址有效性控制模块和缓存器地址计算模块中;步骤34、所述地址有效性控制模块根据输入的运动矢量、映射表状态、所述插帧参数和所述运动矢量标记地址得到地址有效性标记,并发送与所述缓存器地址计算模块;步骤35、所述缓存器地址计算模块根据所述参考地址、运动矢量标记地址和地址有效性标记,计算出缓存器地址信息,并发送与地址译码模块;步骤36、所述地址译码模块由缓存器地址信息得到地址码,并发送与插帧缓存模块;步骤37、插帧数据转换模块根据插帧时刻的下一时刻的视频数据和前一时刻的视频数据和插帧参数,得到下一时刻的插帧数据和前一时刻的插帧数据,并发送与插帧缓存模块;步骤38、所述插帧缓存模块将地址码、下一时刻的视频数据和前一时刻的插帧数据刷新得到插帧候选数据。
5.根据权利要求4所述的插帧处理方法,其中所述步骤38具体为步骤381、所述插帧缓存模块判断插帧位置是否同时有插帧时刻的下一时刻的视频数据和前一时刻的视频数据,如果同时有则取出插帧时刻下一时刻的视频数据,执行步骤382;如果只有其中一个时刻的插帧数据,则取出该时刻的视频数据,执行步骤382;步骤382、将上述取出的视频数据与在该位置处已经有的先前写入的视频数据进行比较,如果上述取出的视频数据为插帧时刻下一时刻的视频数据,而先前写入的视频数据为插帧时刻前一时刻的视频数据,则将插帧时刻下一时刻的视频数据替代已经有的插帧时刻前一时刻的视频数据;如果上述取出的视频数据为插帧时刻前一时刻的视频数据,而已经有的为插帧时刻下一时刻的视频数据,则不进行替代;如果为同一时刻的视频数据,则比较取出的视频数据与现有的视频数据,将权重大的视频数据保留。
6.根据权利要求3、4或5所述的插帧处理方法,其中所述步骤4具体为插帧运算器根据插帧候选数据加权平均计算出插帧结果数据。
7.根据权利要求3、4或5所述的插帧处理方法,其中所述步骤4中,插帧运算器根据插帧候选数据还要计算插帧结果可信度。
8.根据权利要求7所述的插帧处理方法,其中所述计算插帧结果可信度具体为所述插帧运算器判断所述候选数据是否大于一预设数值,如果大于则判断为可信,如果小于则判断为不可信。
全文摘要
本发明涉及一种插帧处理装置,包括时序控制信息生成器;映射表缓存器,与时序控制信息生成器相连接;插帧缓存器,与时序控制信息生成器和映射表缓存器相连接;插帧运算器,与时序控制信息生成器和插帧缓存器相连接。本发明还涉及一种插帧处理方法,包括时序控制信息生成器根据输入的时序信息,生成第一、第二和第三时序控制信息;映射表缓存器根据输入的运动矢量,将插帧时刻的下一时刻的运动矢量穿过的区域标记为显露区,将插帧时刻的前一时刻的运动矢量穿过的区域且未被下一时刻的运动矢量穿过的区域标记为遮挡区;插帧缓存器根据遮挡区和显露区的标记信息将视频数据处理成插帧候选数据;插帧运算器根据插帧候选数据计算出插帧结果数据。
文档编号H04N7/015GK1964464SQ20051011011
公开日2007年5月16日 申请日期2005年11月8日 优先权日2005年11月8日
发明者马文勃 申请人:逐点半导体(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1