低码率视频编码算法的并行性与实时实现蒋晓宁,王进,叶澄清(浙江大学计算机科学与工程学系,浙江杭州310027)摘要:讨论了计算密集型低码率视频编码算法H.263的并行性问题,根据它的数据相关性,将其分解为7个任务Λ对算法最费时的运动向量搜索部分提出了快速算法Λ针对TI的TMS320C80多媒体多处理器芯片,讨论了调度策略Λ最后给出了基于该芯片的实时实现结果Λ关键词:视频编码;数据相关;快速搜索;并行调度中图分类号:TP301;TN919文献标识码:A文章编号:10082973X(2001)0220214206近几年,多媒体技术取得了巨大进展,并得到广泛应用Λ其核心技术之一的数字视频压缩编码受到普遍重视Λ特别是关于视频信号的甚低码率编码是当前国际上的一个研究热点1~3Λ这些新技术的基本思想是基于对象进行编码,很有发展前途,但目前还不够成熟Λ继ISO和ITU等标准化组织在制定MPEG1,MPEG2,H.261等视频编码国际标准之后,ITU又于1996年公布了H.263Λ它是甚低码率通信的视频编码标准,主要是针对普通电话网络PSTN(PublicSwitchedTelephoneNetwork)ΛH.263在视频会议系统、可视电话、远程医疗诊断、远程监控等领域存在着广阔的应用前景Λ它在H.261基础上引入了半象素精度运动估值技术,同时建议了四种可选的新技术,从而改善了编码性能,大大地减少了H.261在低码率应用时出现的方块效应Λ本文主要针对H.263进行讨论ΛH.263算法计算量很大4,要实时实现它有两种途径:一是改进算法,尤其是对占整个算法大部分计算量的运动向量搜索算法的改进5,6;二是用强大的硬件支持Λ本文同时采用了这两种办TMS320C80及H.263概述1TMS320C80是美国德州仪器公司TI新推出的由5个独立运行的处理器组成的单片MIMD多处理器系统,其中4个是信号处理器(DSPs),另一个是RISC主处理器(MP)Λ其结构框图如图1所示,除外部RAM外,所有功能单元都位于片内ΛC80含有有限数量的片内存储器和高速缓存Λ处理器能直接存取片内存储器,对外部存储器的存取由传输控制单元(TC)来管理Λ主处理器含有高速数据缓存,从程序的角度看,它可以透明地访问外存Λ而4个DSPs则没有高速数据缓存,因此,要求TC将数据取入内存之后才能对其进行操作ΛH.263是一种基于块的编码算法Λ将一幅图像分成16×16的宏块,其中含亮度信息和色度信息Λ以宏块为单位进行运动估值,对残差信号进行DCT变换,然后对结果进行量化和变字长编码Λ其框图如图2所示ΛH.263建议了4种可选的编码技术:第2期蒋晓宁,等:低码率视频编码算法的并行性与实时实现215·无限运动向量模式Λ·PB帧模式ΛH.263规定了最终比特流的语法、语义及解码过程Λ它并没有描述具体的编码过程Λ它是一个开放的标准,具体的编码过程留给实现者去竞争Λ图1TMS320C80功能框图Fig.1FunctionunitsofTMS320C80图2H.263编码器框图Fig.2H.263Encoder并行性2并行需要把算法分解为适当的任务,以便通过适当的调度策略达到各处理器负载平衡,从而使系统的效率最高,吞吐量最大Λ在将H.263进行并行性分解时,要考虑到以下原则:·数据相关性Λ指一个操作需要另一个操作的结果Λ·TMS320C80是一个MIMD系统,为了降低因同步而产生的大量开销,调度的任务应是粗粒度的Λ·各处理器的内部RAM只有6KB字节,为了避免数据在内部RAM与外部RAM换进换出,宜将对同一数据进行处理的所有操作划分于同一任务中Λ间频繁地·对于实时实现,编码延迟应尽量小Λ一幅图像是作为一个像素序列来捕捉的,这也是要考虑的一个因素Λ浙江大学学报(工学版)2001年216鉴于以上的原则,算法分解为7个任务,各任务的主要操作列于表1Λ其中,任务5和6是在选择使用PB帧模式时才需要Λ表1算法分解为7个任务Tab.1Thealgorithmisdividedintoseventasks在H.263中,运动向量的求取是最费时的工作Λ三步搜索算法TSS(ThreeStepSearch)是最好的结果之一Λ它简单,收敛快,与TMN5的完全搜索算法FS(FullSearch)相比快了10倍ΛTSS的理论基础是单峰误差平面假设Λ对此假设进一步研究表明,TSS的收效速度还可提高近一倍,且算法同样简单Λ考虑到在可视电话、视频会议、图像监控等方面的应用中,左右运动的概率大于上下运动的概率,算法选择右方作为起始搜索方向,搜索的点数会更少Λ快速算法叙述如下:模块匹配运动估值是...