一种运动矢量预测装置和方法

文档序号:7653514阅读:101来源:国知局
专利名称:一种运动矢量预测装置和方法
技术领域
本发明属于数字视频编解码技术领域,特别涉及一种视频编码运动矢量预测装置 和方法。
背景技术
随着电子和通信技术的发展,数字视频已经深入日常生活,人们对视频的需求不 断高涨。其中数字视频压缩技术被广泛应用于通信、个人计算机、广播电视、消费电子等领 域,堪称数字媒体产业的最核心技术。以MPEG-2为代表的信源编码标准获得了巨大的成 功。目前,以H. 264/AVC和AVS为代表的新一代信源编码标准出现了。AVS标准是中国具有 自主知识产权的信源编码标准。2006年2月,AVS视频标准已经正式被批准为国家标准,进 入了产业化推广的阶段。主流视频编码的核心算法是帧间预测。帧间预测的主要目的是去除视频序列中的 时序冗余,它是混合视频编码框架中对性能影响最为重要的一个环节。其中运动矢量预测, 是实现视频帧间预测高效率的关键技术。所谓运动矢量预测就是在一帧图像中选中一个目 标块,预测其在连续视频(前向/后向)中另一帧图像中的位置。编码通常有实时性的要求,同时现在的视频应用向高清,超高清方向发展,使得同 一时间处理的信息量很大,只能采用多级流水的硬件结构。在这样的流水结构下,由于运动 矢量预测时数据存在较大的关联性,使得编码在做运动矢量预测时,存储的最佳运动矢量 数据量大,为当前块选择邻近块运动矢量时控制复杂,运算模块占用过多硬件资源。

发明内容
为解决上述问题,本发明的提出了一种新的高清实时视频编码运动矢量预测装置 和方法。本发明提供的技术方案如下一种运动矢量预测装置(参图1),主要包括运动矢量预测控制模块(M1,即MVP 控制模块),邻近块初始化模块(M2),当前块初始化模块(M3),时域运动矢量预测模块 (M4),其特征在于,_所述运动矢量预测控制模块(Ml),位于邻近块初始化模块(M2)和当前块初始化 模块(M3)和时域运动矢量预测模块(M4)之间,用于控制邻近块初始化模块(M2)和当前块 初始化模块(M3)到时域运动矢量预测模块(M4)的最佳运动矢量的传递;-所述邻近块初始化模块(M2),用于预测块的邻近数据更新存储,为当前预测块 填充准备好邻近装载模块的数据;-所述当前块初始化模块(M3),用于在当前块各种分割模式下,提供邻近装载模 块(M2)的块索引,选出当前预测块需要的邻近块运动矢量数据;-所述时域运动矢量预测模块(M4)为各种模式计算按照标准的时域运动矢量。进一步,所述装置的硬件流水采用zig-zag扫描结构,该结构的工作方式为每三行宏块为一组,每一组扫描时,第一行先顺序处理5个宏块,然后和第二行开始一一交替; 到第15个宏块时,加入第三行,三行宏块一一交替;每一组结束的时候采用和开始对称的 方式,逐渐结束一组的扫描,然后以同样的方式开始下一组。进一步,每个参考帧的时域运动矢量预测采用一套时域运动矢量预测模块(M4), 串行执行各种模式的预测。进一步,邻近块初始化模块(M2)中采用3条长buffer和3个左边buffer更新存 储最佳的运动矢量,并采用初始化邻近块寄存器组的方式,为预测块提供一个邻近块的数
据集合。进一步,当前块初始化模块(M3)为每种分割模式下的预测块制定一个查找码表, 用于从初始化邻近块寄存器组中,选出预测块所需的运动矢量。一种运动矢量预测方法,其特征在于,所述方法包括如下步骤1)处于初始状态,判断工作使能信号,如果工作使能信号为真,进入步骤2),否则 待在步骤1);2)解析帧级的信息和宏块级的信息,分别判断前向运动矢量预测和后向运动矢量 预测要不要做,要做进入步骤3),否则退回到步骤1);3)运动矢量预测控制模块从模式选择模块获得当前宏块的最佳分割模式和最佳 运动矢量,获得后进入步骤4);4)邻近块初始化模块根据当前宏块的坐标,从3条长buffer和3个左边buffer 中,选出其邻近块的运动矢量信息,将这些运动矢量和当前块的最佳运动矢量一起写入邻 近块寄存器组,准备好后进入步骤5);5)当前块初始化模块根据当前宏块的最佳分割模式和要预测的具体块块号,查找 索引表,找到所要预测块的块索引,用这个块索引在邻近块寄存器组中选出所需的邻近块 A,B,C的运动矢量信息,准备好后进入步骤6);6)选出的邻近块A,B, C的运动矢量信息通过运动矢量预测控制模块传递给时域 运动矢量预测模块,做出预测后,将预测的结果送回运动矢量控制模块,输出给下一级模 块,完成后进入步骤7);7)根据当前宏块的坐标,将当前宏块的最佳运动矢量通过邻近块初始化模块更新 到3条长buffer和3个左边buffer的对应位置,保存下来,为后面的宏块预测使用,完成 后返回步骤1)。本发明采用了前后向各一套时域运动矢量预测模块,通过控制串行执行各种模式 预测,大大节省了运算单元的资源,特别是乘除法器的资源。本发明解决了宏块级流水线工 作时,运动矢量预测遇到一些数据依赖性的问题,使得为亚像素运动估计的搜索起始点预 测可以和模式决策模块并行处理,提高编码的性能,降低编码系统的复杂度。本发明采用的 存储结构简化了控制,节省了资源,降低动态存储器带宽。本发明采用查表的方式对邻近块 运动矢量的选取和控制做了简化,降低了编码的复杂度,节省了工作时钟,满足了高清视频 编码的实时性。


图1是提出的运动矢量预测装置系统结构图2是提出的编码系统流水线图;图3是提出的基于宏块(16X 16像素)级硬件流水的zig-zag扫描图;图4是提出的上边最佳运动矢量buffer和左边最佳运动矢量模块数据更新说明 图;图5是提出的邻近块装载模块装载说明图;图6是提出的当前块各种分割下对应的块索引;图7是提出的当前块初始化模块硬件结构图;图8是提出的运动矢量预测硬件系统流程图。
具体实施例方式下面结合具体实施方法和附图对本发明作进一步详细的说明。本发明提出的运动矢量预测(以下简称MVP)装置见附图1,主要包括以下几部分。 其中,1、MVP控制模块完成以下功能11、接收工作使能信号,返回MVP工作状态包括idle状态和error状态。控制MVP 总状态机的工作和各模块的运行。1. 2、从邻近块初始化模块中选出当前宏块(16X16像素)需要的邻近块(8X8像 素)的数据。为前后向时域运算模块选出合适的前后向运动矢量信息。1. 3、为P帧skip模式模块和B帧direct模式模块提供运动矢量信息。1. 4、从时域运算模块和P帧skip模式模块和B帧direct模式模块得到预测的运 动矢量信息,传递给MVP输入输出模块。2、MVP输入输出包括以下模块2. 1、整像素运动估计FIFO(先进先出存储器)(2个)分别接收宏块整像素运动 估计搜索到的各种模式(16X16像素,16X8像素,8X16像素,8X8像素)下的整像素运动矢量。2. 2亚像素运动估计FIFO 接收亚像素运动估计搜索到的8 X 8像素模式下的亚像
素运动矢量。2. 3、模式决策FIFO 接收模式决策模块确定的宏块最佳模式和最佳运动矢量。2. 4、动态存储器FIFO =B帧时接收上一 P帧参考帧存入动态存储器的最佳运动矢量。2. 5、同时MVP输入输出模块还负责向整像素运动估计模块、亚像素运动估计模 块、变长编码模块和动态存储器模块写出它们需要的数据。3、邻近块初始化模块包括以下模块3. 1、上边最佳运动矢量buffer (3条)分别用于存储宏块扫描时模式决策模块提 供的每一行的最佳运动矢量,为预测宏块提供上边块的最佳运动矢量,需要存储每一行的 所有宏块(16X16像素)的下面两个块(8X8像素)的最佳运动矢量,由于装置支持1080p, 每一行最大可以存储240个块的运动矢量。包含最佳的前向运动矢量和最佳的后向运动矢量。3. 2、左边运动矢量模块用于存储最佳运动矢量,为预测宏块提供左边的最佳运动矢量,只需要存储每一行最新做过宏块的最佳运动矢量。也包含最佳的前向运动矢量和 最佳的后向运动矢量。3. 3、邻近块装载模块将当前块的邻近块表格用最佳运动矢量信息填充完整。4、当前块初始化模块负责为当前时域运算模块需要预测的块,从宏块邻近初始 化模块中选出需要的数据。5,MVP时域运算模块(前向)按照时域预测算法,计算P帧对应近参考帧的运动 矢量预测,或对B帧前向参考帧运动矢量预测。6、MVP时域运算模块(后向)按照时域预测算法,计算P帧对应远参考帧的运动 矢量预测,或对B帧后向参考帧运动矢量预测。本发明的结构中只有前后向两套时域运动 矢量预测运算模块,各种模式的运算如果需要,将按在流水线中的缓急,串行先后使用运算 模块。大大节省了硬件资源,特别是乘除法器的资源。因为本发明是基于AVS视频编码标 准设计的,AVS视频编码的P、B帧最大参考帧数为两个,所以运算电路以及数据的存储结构 也只采用了两路的形式,针对H. 264的多参考帧,相应的电路结构也可以以并联形式扩展。7、P帧skip模式模块为P帧skip模式提供预测数据。8、B帧direct模式模块为B帧direct模式提供预测数据。9、B帧双向中后向计算模块B帧时为亚像素运动估计模块计算双向模式时后向 的运动矢量。10、管理宏块信息模块更新管理各流水级中模块的信息。11、解析帧级信息模块解析来自软件的帧级的视频信息。12、解析宏块级信息模块解析来自宏块控制模块的宏块级的信息。其中,MVP输入寄存模块将所有的输入信号寄存一拍,减低布局布线时由模块间连 线造成的长连线延时;解析帧级信息模块解析编码系统通过片上总线发送的帧级的信息, 比如帧类型,当前帧与参考帧的距离索引等;解析宏块级信息模块解析由宏块控制模块发 送的宏块级的信息,比如宏块的坐标,当前流水中各级模块是否工作;MVP输入输出模块用 于MVP模块与各相关模块的数据交换,主要给整像素运动估计模块和亚像素运动估计模块 提供搜索点信息,同时也获得这两个模块提供的运动估计矢量,用于替代当前流水无法获 得的模式决策后的最佳运动矢量,从模式决策模块获得最佳模式和最佳运动矢量的同时, 也给模式决策模块提供P帧skip模式和B帧direct模式预测的运动矢量用于模式决策,最 重要的通过输出,给变长编码模块输出符合编解码标准的预测运动矢量,用于最终的编码; MVP控制模块是整个编码系统的中心,用于控制各模块的正常工作,并为各模块提供数据的 交流,比如将MVP输入输出模块获得的最佳运动矢量传递给邻近块初始化模块用于数据更 新,将邻近块初始化模块和当前块初始化模块准备好的用于预测的邻近块运动矢量信息传 递给时域运动运算模块,将计算得到的预测运动矢量传递给输入输出模块;邻近块初始化 模块和当前块初始化模块用于当前块预测时相关邻近块的运动矢量信息的存储更新;由于 MVP模块需要跨流水线工作,管理宏块信息模块用于管理各级宏块的信息,采用移位寄存器 的结构;其余MVP时域运算模块,P帧skip模式模块,B帧direct模式模块和B帧双向模 块分别是计算模块,通过预测算法得到预测的运动矢量。参照图2,为本发明所在的编码系统流水线图。在这样流水结构下,可以看到亚像 素运动估计模块和模式决策模块在流水线中处于相邻的流水级。这样在顺序进行宏块扫描的时候,就会造成运动矢量预测模块给亚像素运动估计计算搜索起始点位置的时候,无法 获得左边最佳运动矢量。参照图3,为本发明采用的宏块级硬件流水的zig-zag扫描图,每三行宏块为一 组。每一组扫描时,第一行先顺序处理5个宏块,然后和第二行开始一一交替。到第15个宏 块时,加入第三行,三行宏块一一交替。每一组结束的时候采用和开始对称的方式,逐渐结 束一组的扫描,然后以同样的方式开始下一组。这样的扫描方式使得宏块在给亚像素运动 估计提供搜索点时,摆脱了流水的限制,大多数的情况下可以获得左边宏块的最佳运动矢 量,而顺序扫描无法获得。从而提高了编码的性能,同时降低了动态存储器的数据存储量, 降低了带宽需求。参照图4,为本发明采用的上边最佳运动矢量buffer和左边最佳运动矢量模块 数据更新说明图。例如4号宏块的最佳运动矢量由模式决策模块获得后,同时结束了变长 编码的运动矢量预测,这时就可以将该宏块的下面2号和3号块的数据更新到三行line_ buffer中第一行的相对应位置,为下面的12号宏块存储上边块的数据,在做12号块的预 测时可以从linejxiffer的相应位置取得该数据。同样该宏块右边1号块和3号块的数 据也存入相应行的IeftJxifTer中,为5号块的预测提供最佳的运动矢量,每行的left_ buffer只需要存储两个块的运动矢量。但由于流水的限制,5号块在做亚像素运动估计时, 4号块刚刚开始做模式决策,没有最佳运动矢量,这时可以用4号块的亚像素运动估计中8 像素X 8像素模式的估计值代替最佳值。采用这种算法的宏块在所采用的zig-zag扫描结 构中只有每组的前面5个宏和后面4个宏块,如果采用顺序扫描,这种情况无法避免。数据 存储和更新的buffer分为前后向各一套参照图5,为本发明采用的邻近块装载模块装载说明图。给预测宏块需要的相邻块 和宏块本身的4个块进行编号,如图从0-9。根据预测宏块的坐标信息,以及上下左右的宏 块可不可以用的信息,从line_buffer运动矢量,left_buffer运动矢量和当前块运动矢量 中选出对应的数据,前后向分开,分别装入两个编号后的寄存器组当中,完成了邻近块的装 载,为当前块初始化模块查表选择做好准备。参照图6,为本发明采用的当前块各种分割下对应的块索引。由预测模块的模式, 根据前边已经编号的邻近块装载模块,可以制出要预测块位置上边和左边对应相邻块。例 如在16像素X 8像素模式下,预测宏块上面两块的预测值都为0号块的预测值,根据算法, 0号块的相应的相邻块为1,3,5,2。同样对下面两块,预测值为2号块的预测值,对应的相 邻块为0,6,7,1。参照图7,为本发明采用的当前块初始化模块硬件结构图。将当前块各种分割下对 应的块索引汇总,加上方向信息,制成一个表格,预测时从表格中查找要预测块对应的块索 引,从而很方便地从邻近块装载模块中选出需要的运动矢量,也分为前后两个方向。最后为 时域运动矢量预测模块选出前后两个方向的最佳运动矢量A,B, C。参照图8,为本发明采用的运动矢量预测流程图。开始时MVP模块处于空闲状态,。 随后宏块控制模块发出工作使能信号,MVP控制模块启功主状态机,帧级和宏块级的数据开 始解析,同时MVP输入输出模块开始读各数据fifo,待数据全部准备好后,由前后向使能信 号控制前后两路是否开始工作,并且在B帧的时候启动B帧双向后向运算模块,与其它状态 并行进行。如果前向或后向需要工作,首先判断P帧skip模式和B帧direct模式是否需要工作,如果需要,通过邻近块初始化模块和当前块初始化模块对模式决策模块流水级中对 应的宏块准备邻近块数据,准备好后启动运算模块。结束后将预测到直接模式的数据写入 亚像素运动估计模块。然后以同样的方式判断亚像素运动估计的各种模式是否需要工作, 如果需要,则准备数据,通过运算模块为亚像素运动估计模块预测运动矢量。下一步为变长 编码模块计算预测的运动矢量。最后一步为整像素运动估计模块计算预测的运动矢量。以上实施例仅用以说明而非限制本发明的技术方案,本领域的普通技术人员应当 理解可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或 局部替换,其均应涵盖在本发明的权利要求范围当中。本发明主要是基于AVS视频编码标准,但是只要将时域运动矢量运算模块的算法 加以修改,本发明可以用于H. 264视频编码标准的编码运动矢量预测。
权利要求
1.一种运动矢量预测装置,主要包括运动矢量预测控制模块(Ml),邻近块初始化模 块(M2),当前块初始化模块(M3),时域运动矢量预测模块(M4),其特征在于,_所述运动矢量预测控制模块(Ml),位于邻近块初始化模块(M2)和当前块初始化模块 (M3)和时域运动矢量预测模块(M4)之间,用于控制邻近块初始化模块(M2)和当前块初始 化模块(M3)到时域运动矢量预测模块(M4)的最佳运动矢量的传递;-所述邻近块初始化模块(M2),用于预测块的邻近数据更新存储,为当前预测块填充 准备好邻近装载模块的数据;-所述当前块初始化模块(M3),用于在当前块各种分割模式下,提供邻近装载模块 (M2)的块索引,选出当前预测块需要的邻近块运动矢量数据;_所述时域运动矢量预测模块(M4)为各种模式计算按照标准的时域运动矢量。
2.如权利要求1所述的运动矢量预测装置,其特征在于,所述装置的硬件流水采用 zig-zag扫描结构,该结构的工作方式为每三行宏块为一组,每一组扫描时,第一行先顺 序处理5个宏块,然后和第二行开始一一交替;到第15个宏块时,加入第三行,三行宏块 一一交替;每一组结束的时候采用和开始对称的方式,逐渐结束一组的扫描,然后以同样的 方式开始下一组。
3.如权利要求1所述的运动矢量预测装置,其特征在于,每个参考帧的时域运动矢量 预测采用一套时域运动矢量预测模块(M4),串行执行各种模式的预测。
4.如权利要求1所述的运动矢量预测装置,其特征在于,邻近块初始化模块(M2)中采 用3条长buffer和3个左边buffer更新存储最佳的运动矢量,并采用初始化邻近块寄存 器组的方式,为预测块提供一个邻近块的数据集合。
5.如权利要求4所述的运动矢量预测装置,其特征在于,当前块初始化模块(M3)为每 种分割模式下的预测块制定一个查找码表,用于从初始化邻近块寄存器组中,选出预测块 所需的运动矢量。
6.一种运动矢量预测方法,其特征在于,所述方法包括如下步骤1)处于初始状态,判断工作使能信号,如果工作使能信号为真,进入步骤2),否则待在 步骤1);2)解析帧级的信息和宏块级的信息,分别判断前向运动矢量预测和后向运动矢量预测 要不要做,要做进入步骤3),否则退回到步骤1);3)运动矢量预测控制模块从模式选择模块获得当前宏块的最佳分割模式和最佳运动 矢量,获得后进入步骤4);4)邻近块初始化模块根据当前宏块的坐标,从3条长buffer和3个左边buffer中,选 出其邻近块的运动矢量信息,将这些运动矢量和当前块的最佳运动矢量一起写入邻近块寄 存器组,准备好后进入步骤5);5)当前块初始化模块根据当前宏块的最佳分割模式和要预测的具体块块号,查找索引 表,找到所要预测块的块索引,用这个块索引在邻近块寄存器组中选出所需的邻近块A,B,C 的运动矢量信息,准备好后进入步骤6);6)选出的邻近块A,B,C的运动矢量信息通过运动矢量预测控制模块传递给时域运动 矢量预测模块,做出预测后,将预测的结果送回运动矢量控制模块,输出给下一级模块,完 成后进入步骤7);7)根据当前宏块的坐标,将当前宏块的最佳运动矢量通过邻近块初始化模块更新到3 条长buffer和3个左边buffer的对应位置,保存下来,为后面的宏块预测使用,完成后返 回步骤1)。
全文摘要
本发明提供了一种运动矢量预测装置和方法,属于数字视频编解码技术领域。本发明采用前后向各一套时域运动矢量预测模块,通过控制串行执行各种模式预测,大大节省了运算单元的资源,特别是乘除法器的资源。宏块流水结构采用了zig-zag宏块扫描结构,在这种结构下可以解决流水线工作时,运动矢量预测遇到一些数据依赖性的问题,使预测可并行处理,提高编码的性能,降低编码系统的复杂度。本发明提出的邻近块初始化模块和当前块初始化模块将运动矢量估计中复杂的数据更新转化为一个简单的数据表,采用查表的方式对控制做了简化,降低了编码的复杂度,节省了工作时钟,满足了高清视频编码的实时性。
文档编号H04N7/32GK102148990SQ20111010935
公开日2011年8月10日 申请日期2011年4月28日 优先权日2011年4月28日
发明者王生祥, 田山川, 解晓东, 贾惠柱, 黄铁军 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1