论文部分内容阅读
AVS、H.264/AVC等新一代视频编码标准极大提高了压缩效率,但编码复杂度也大大提高,因而并行算法成为实现实时编码的可行方法。随着众核处理器的出现,对并行算法提出了新的挑战,基于众核平台的并行视频编码算法也成为一个新的研究热点。已有的并行视频编码算法中,条带级并行因其具有实现容易、进程间通讯量少等特点而被较广泛地使用,同时也存在因条带边界两侧宏块的相关性被破坏,造成编码质量的下降的问题。在众核平台下,上述问题变得更为严重。
本文针对众核平台,深入研究了条带划分对编码性能的影响,并在众核平台实现了一个条带并行AVS编码器。为了解决条带并行造成编码质量下降的问题,本文提出一种基于宏块组划分的AVS并行编码算法,该算法将一帧图像划分为面积大致相等的多个宏块组区域,在相等的并行度条件下,宏块组的边界宏块数量比条带大大减少,从而明显减少了编码质量损失。由于宏块组不是AVS编码标准中的语法元素,直接的宏块组划分会导致编解码不一致,本文引入了宏块组纵向边界的概念,提出对纵向边界宏块进行模式限制和MVD调整等技术,解决了这一问题。本文中针对720P序列(1280×720p),在TILE64众核平台上实现了5×9和8×7两种宏块组划分编码算法,其中P、B帧使用了宏块组并行,Ⅰ帧使用了宏块级并行。实验结果表明,本文提出的5×9宏块组方案,在保持加速比基本不变的情况下,比同等并行度的45条带方案分别减少52%(IPPP结构)和41%(IBBP结构)的质量损失;本文提出的8×7宏块组划分方案与5×9方案相比,能够利用更多的CPU核,并行实现的加速比从22.0提升到23.9,同时编码质量相当。
基于条带并行和提出的宏块组并行编码方案,本文实现了一个AVS编码器原型,并搭建了一个数字电视演示平台,实现了视频实时采集、编码、调制传输、机顶盒接收、解码、电视机播放等完整的演示系统。