论文部分内容阅读
本研究分别针对实时视频编码和视频转码两种应用对实时性的不同需求提出并实现了不同层次的并行化编码算法。针对实时视频编码应用提出的并行化编码算法可以有效降低每帧图像的编码耗时,针对视频转码应用提出的并行化算法则可以有效降低多核处理器平台尤其是CC-NUMA(Cache Coherent-Non Uniform Memory Access)架构多核处理器平台运行视频转码算法时整体视频编码的耗时。本文的主要贡献和创新成果如下: 1.提出并实现了一种静态负载均衡宏块级并行编码算法。该算法可有效加速一帧图像的编码速度,提高实时视频编码应用的实时性。在该静态负载均衡宏块并行编码算法基础上进一步提出并实现了一种动态负载均衡宏块并行编码算法,该动态负载均衡宏块并行编码算法能够更进一步提高实时视频编码应用的实时性。在龙芯3B双路处理器开发平台上的测试结果表明在并行度为4时动态负载均衡宏块并行编码算法能够减少一帧图像54%~65%的编码耗时。 2.提出并实现了一种宏块级帧级组合并行编码算法。该算法既继承了宏块级并行编码算法大幅加速一帧图像编码速度的优点,也继承了帧级并行编码算法通过并行编码多帧图像提高视频编码实时性的优点,两者的结合大幅扩展了实时视频编码算法的并行度。在龙芯3B双路16核平台上的测试结果表明并行度为16的宏块级帧级并行编码算法相比于并行度为16的X264帧级并行编码算法编码速度提升幅度可达45%~110%。 3.提出并实现了一种CC-NUMA自适应的GOP级帧级并行编码算法。该算法充分结合了GOP级并行高并发度但存储空间消耗较大的特点,帧级并行编码算法在并行度较低时编码性能随并行度提升而线性提升且比较节省存储空间的特点,各GOP编码进程(线程)间几乎不存在编码依赖的特点和CC-NUMA系统本地访存效率较高的特点,设计实现了一个将GOP编码进程绑定在特定的CC-NUMA结点上,GOP编码进程内部采用帧级并行以降低存储空间开销的并行视频编码器。龙芯3B双路4结点CC-NUMA平台测试结果表明并行度为16时的CC-NUMA自适应GOP级帧级并行编码算法相比于并行度为16的X264帧级并行编码算法性能提升达一倍。