论文部分内容阅读
H.264编码标准与以往各种编码标准相比,具有更高的编码效率。然而,其编码效率的提高是以增加编码算法的计算复杂度为代价的,较高的算法复杂度在一定程度上影响了H.264的产业化进程。国内外很多公司以及研究机构都在探讨H.264编码算法在嵌入式系统中,特别是数字信号处理器(DSP, Digital Signal Processor)平台上的实时解决方案。但是,由于H.264编码算法的复杂度以及嵌入式系统的资源限制,所以,至今没有较好的解决方案。针对美国模拟数字设备公司(ADI, Analog Devices Incorporation)的ADSP-BF561的系统架构以及H.264编码算法的特性,对H.264编码算法在ADSP-BF561上的实现方案做了一些研究、探讨。首先针对ADSP-BF561双核架构,将H.264编码算法中的模式选择、变换、量化、反量化、反变换、熵编码以及环路滤波、边界扩展、半像素插值分别分配到2个核中进行处理,同时,在这2个核之间采用半帧、半帧相叠加的方式来实现双核的并行。通过对ADSP-BF561上的高速缓存(Cache)和直接存储器访问(DMA, Direct Memory Access)这2种数据调度策略进行对比、分析,最后在双核中分别采用了Cache和DMA来对数据进行调度。同时,代码上的优化在一定程度上缓解了DSP的资源限制。最后,对H.264编码算法中耗时较多的运动估计部分进行了改进,改进后的算法在一定程度上提高了编码的速率,并能够较好地保证图像的质量。在ADSP-BF561上优化后的H.264编码器,对CIF (352×288)格式的多个标准测试序列进行编码的实验结果表明,该优化方案不仅能够实现较高的编码速率,而且能够保持较好的主观和客观质量;对于运动量比较大的VGA (640×480)格式的标准测试序列,可以实现每秒20帧左右的编码速度,还需要作进一步的研究和优化。