针对硬件实现的h.264视频编码算法改进

针对硬件实现的h.264视频编码算法改进

ID:21423096

大小:52.50 KB

页数:4页

时间:2018-10-21

针对硬件实现的h.264视频编码算法改进  _第1页
针对硬件实现的h.264视频编码算法改进  _第2页
针对硬件实现的h.264视频编码算法改进  _第3页
针对硬件实现的h.264视频编码算法改进  _第4页
资源描述:

《针对硬件实现的h.264视频编码算法改进 》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、针对硬件实现的h.264视频编码算法改进摘要:从硬件实现的角度分析了H.264算法,重点研究了占用最多运算时间的预测部分的优化,给出了对帧内预测、哈达马变换以及运动估计算法的改进,通过简化运算复杂、效率不高的模块以及减少模块间数据相关性等,对硬件进行优化。通过对各种测试序列的仿真,证明改进是有效的。关键词:H.264帧内预测运动估计运动预测因子H.264[1]最初是由ITU-T起草的,在未来将成为ITU-T和MPEG的联合标准。H.264因为提供了很高的编码压缩效率、友好的面向网络的接口,将成为下一代

2、新的视频编码标准。但是编码效率很高的同时,其算法的复杂度也提高了四倍,这在很大程序上限制了它的实现。因此,必须针对硬件的实现做改进和优化。H.264的最初测试模型(JM)[2]是为了取得高的编码效果而设计的。在这个测试模型中,有很多的算法需要很大的运算量,但是编码效率的提高却不多,并且很多模拟之间是数据相关的,这一点限制了用并行处理加速硬件的实现。以前有文章分析过这种新的视频编码的复杂度[3~5]。但是这些研究都是通过软件的分析得到H.264算法的复杂度的。这些结果对在软件中的应用是精确的,但是当涉及

3、硬件设计的并行处理时,就不再适用了。经过试验比较可以得出,在H.264硬件实现上的关键点是预测部分,因为此模块所占的计算时间几乎是总时间的90%。所以改进的重点在预测部分。1H.264算法图1是关于一帧图像的帧内预测间预测的算法框图。如果采用帧内预测,帧间预测部分将不进行判断。在进行帧间预测时,会使用多帧预测和可变块大小的运动估计。编码模式选择部分在所有的预测模式中选择一个最佳的预测模式。预测之后用原始的输入帧和预测帧相减,得到残差数据块。对于亮度残差块做4×4整数DCT变换,对于色度残差块的DC系数

4、则进行2×2的整数DCT变换。对变换后的系数做扫描和量化处理后,再对量化后的系数进行熵编码,最终成为输出的码流。编码模式通过模式表,也会输入到熵编码器中。重建的循环过程包括反量化、反DCT变换和反块滤波。最后,将重建帧写入到帧缓冲器中,准备在以后运动估计中使用。因为在空间预测和时间预测上几乎花费了所有的计算能力,所以在JM4.0上的算法改进主要是在这两部分上。在实现过程中,这两部分通过硬件实现,所以要针对硬件进行优化。实现编码器所用的硬件系统是基于宏块,也就是说编码器是对一个个连续的宏块进行操作。整个

5、编码系统可以看作一个宏块的流水线,所以有可能在开始编码下一个宏块时,上一个宏块重建过程不定期没有完成,这就影响了流水线的进行。很多基于宏块的商业编码器正是采用这种硬件实现模式,所以处理好这个问题至关重要。2帧内预测图1中的编码方框图与H.261、H.263和MPEG-4中的相似。H.264中包含了4×4和16×16两种帧内预测部分。帧内预测需要图像重建的像素值才能实现。在一个典型的基于宏块的系统中,只有在完成整个编码程序后,重建的像素值才能得到。这种数据之间的相关性,会给硬件的实现带来很大的困难。2.

6、14×4帧内预测图2描述了4×4块帧内预测中数据的相关性。从a到p的像素值是从A到N及Q的像素值预测出来的。用大写字母表示重建的像素值。因为一个宏块由16个4×4的块组成,所以当前块没有完成编码之前是不能得到重建的像素值的。在JM中用了双通道算法实现这些块的编码。为了做一个4×4块的预测,在JM中需要进行变换、量化、反变换到反量化的过程。这对于一个硬件来说太复杂了。在现有的硬件水平上是不可能实现的。对这一点,需要对算法做如下改进:所有预测中所有的重建帧像素值用输入帧的原始值代替。通过这样的改进,4×4

7、的帧内预测和变换可以在宏块的流水线上顺利地实现。2.216×16帧内预测图3给出了16×16帧内预测的数据相关性。当前宏块的预测是基于重建帧中位于当前宏块位置上方的17个像素和左侧的16个像素的。因为对当前宏块进行预测时左边宏块的重建可能并未完全完成,当用到当前宏块位置左侧的那些像素时就用原始像素代替。2.3编码模式选择按照前面所给出的改进算法,如果只是简单地用原始像素代替重建像素的话会造成编码模式选择的误差。图4给出了帧内编码的率失真改进的曲线,仿真的序列是“Claire”、10fps。从图4中可以

8、看出,由编码模式选择的误差引起的PSNR下降是很明显的。原始像素是属于同一帧的,而重建像素经过帧间或帧内编码去除了冗余度,所以与重建像素相比原始像素有更高的相关性。因而用改进后的帧内预测算法产生的误差要比用原算法大得多。为了减少编码模式选择的误差,还需要对误差代价函数(errorcostfunction)进行修改。现在的做法是增加一个误差项。这个误差项体现原始像素和重建像素之间的差值。因为量化参数(QP)能够影响原始像素和重建像素之间的不匹配,所以误差项

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。