H.264 baseline解码器中运动补偿模块的硬件设计

技术分类: EDA工具与服务  | 2008-04-24
来源:电子技术应用 | 清华大学 俞 尧 杨华中

  H.264是ITU-T(VCEG)和ISO/IEC(JVT)联合提出的新一代的视频编码标准,该标准于2003年公布。H.264标准承诺将在编码压缩性能上超过以往所有的视频编码标准(MPEG2,MPEG4,H.263等)。 H.264包含7个不同的档次,其中baseline档次适合于手持设备、个人终端等应用。

  在H.264 baseline解码器的FPGA或ASIC实现中,运动补偿模块占据十分重要的地位。一般来讲,在整个解码器中,运动补偿模块往往是占用硬件复杂度最高、功耗最大的模块。因此在解码器的设计过程中,有必要对运动补偿模块进行精心设计。

  1 Baseline级别中运动补偿的特点

  在一般情况下,H.264 baseline解码器中的运动补偿器具有以下特点:
  (1)支持4×4到16×16的可变块大小的运动补偿。
  (2)支持运动向量的预测和恢复。
  (3)在像素插值中,亮度像素的插值精度为1/4像素,色度像素的精度为1/8像素。
  (4)运动补偿器涉及的图像类型只有I帧和P帧。除此之外,没有其他类型的图像。

  2 运动补偿模块的硬件设计

  运动补偿的大致流程为:根据H.264标准所规定的算法,利用解码得到的运动向量残差和解码端计算出运动向量估计值,恢复出当前块的运动向量。并利用已经掌握的运动向量、参考帧号和当前解码块的位置等信息,从外存(本设计支持SDRAM或DDR SDRAM)中读入所需的参考帧数据。然后,利用读入的参考帧数据,结合已经计算出的运动向量,完成亚像素插值。插值之后的数据即是像素的预测值,该预测值可以输出到图像重建模块中与反量化反变换模块得到的像素残差值相加,并回写入外存中。

  由于H.264使用帧内预测和帧间预测,图像重建模块需要处理来自帧内补偿和运动补偿两个模块的数据,所以解码器中,图像重建模块并未被划分到运动补偿模块中,而是独立成为一个模块。该模块的硬件设计也已完成。本运动补偿模块的顶层结构及周边模块的结构如图1所示。其中虚线框所示为运动补偿模块的顶层结构。

运动补偿模块的顶层结构及周边模

  2.1 运动向量恢复模块

  在H.264 baseline解码器中,当前块的运动向量需要通过本地计算恢复得到。计算方法是:将本地恢复的运动向量估计值和编码端传输过来的运动向量残差值相加,得到的和即是当前块的运动向量。其中运动向量估计值的计算完全遵照H.264标准。由于计算当前块数据时需要用到相邻块的数据,所以需要一个本地存储单元将其暂时存储。这里所谓的相邻块的定义如标准所述。

运动向量恢复模块

  运动向量恢复模块的结构如图2所示。在该模块中,控制模块生成控制信号,调度各个子模块的工作。当前块的信息首先被输入到相邻块信息生成模块。该子模块利用这些信息计算出相邻块的位置信息。这些位置信息被提交给本地数据管理模块,从中调用相邻块的运动向量相关信息,并输出给运动向量估计模块。运动向量估计模块利用这些数据,估计出当前块的运动向量估计值,并将估计值反馈给本地数据管理模块。在本地数据管理模块内,运动向量的估计值和残差值相加得到当前模块的运动向量。一方面,这个运动向量被作为运动向量恢复模块的输出;另一方面,运动向量同时被存储进本地存储器,当需要时可被当作今后块的相邻块信息调用。

  2.2 参考帧数据读取模块

  由于参考帧数据被按照一定的格式存储在外存中(本设计支持SDRAM或DDR SDRAM),为实现运动补偿,需要将所需的参考帧数据从外存中读入;另一方面,插值模块需要使用到这些读入的数据。因此,参考帧读取模块的主要功能是将参考帧数据读入,并按照一定的格式输送给亚像素插值模块。

  H.264标准规定,亮度像素通过6抽头的滤波器实现半像素插值,色度像素通过2抽头的滤波器实现半像素插值。因此,对于一个4×4的亮度块,需要一次读入一个9×9像素的块;对于2×2的色度块,需要一次读入3×3像素的块。由于亚像素插值是逐行进行的,亮度像素每次输出同一列的6个点给亚像素插值模块;而色度像素则输出同一列的3个点给亚像素插值模块。

  总体来讲,参考帧数据读取模块通过一个多层嵌套的状态机实现。其中顶层的状态跳转状况如图3所示。

顶层的状态跳转状况

  首先,本子模块根据当前块的位置和当前块的运动向量,计算出参考数据块在参考帧中的位置。这个位置信息和参考帧编号被一起提交给外部的地址转换模块,从而申请从外存读入数据。本子模块内部包含了一个9×9字节的本地寄存器堆,从外存中读入的数据被暂时存储在寄存器堆内,以便这些数据被并发访问。一旦进入到数据输出状态,就按节拍选择必要的数据输出给亚像素插值模块。

1】【2
加载中

对文章的评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销