>
首页 » 业界动态 » 基于TMS320C6211的H.263编码器设计

基于TMS320C6211的H.263编码器设计

作者:廉小亲,田黎明,李 昕  时间:2006-10-17 00:16  来源:
摘要:依据H.263视频编码标准,在一颗DSP芯片上完成视频编码器的设计工作,以实现高质量的视频流的传输。该编码器是视频服务器的重要组成部分,其硬件平台选用TI公司的基于TMS320C6211 DSP芯片的图像采集装置,软件开发环境采用CCS2.20.18。编码器不仅可以实时处理视频信号,而且还满足了高压缩比的要求,并且降低了系统成本。设计结果表明:在一棵DSP 芯片上实现实时的H.263 编码方案,并且满足高质量、低带宽传输的系统要求是完全可行的。

关键词:H.263;编码器;DSP;TMS320C6211;图像处理

引言

当今,随着全球反恐的不断升级以及北京2008奥运的迫近,视频监控领域越来越受到我国政府以及相关科研团体的重视。在全球范围内,视频监控领域正经历着一次由模拟监控向数字监控转换的浪潮。在这次浪潮中,视频服务器以其本身的特点及优势在数字视频监控系统中占据了举足轻重的地位。

视频服务器是由图像传感器、声音传感器、A/D转换器、图像/声音编码器、控制器、网络服务器、外部报警/控制接口几部分组成。控制器可以说是视频服务器的心脏部分,它是一个运行相关视音频压缩软件的DSP。

本文设计中选用了美国TI公司的TMS320C6211 DSP芯片,视频压缩软件标准选用了ITU-T提出的H.263。多年来,H.263 经过不断地完善与升级已经日臻成熟,并且已完全取代了H.261。

由于H.263能在低带宽上(<64 Kbps)实现高质量的视频流的传输,使得该标准一经公布便受到业内行家的广泛好评。

H.263标准的语法语义分析

视频服务器的图像输入格式YUV为4:2:0。对于QCIF而言,亮度行像素数为176,亮度行数为144,色差行像素数为88,色差行数为72;对于CIF(common intermediate format)而言,亮度行像素数为352,亮度行数为288,色差行像素数为176,色差行数为144。以QCIF 为例,图像输入序列的每一帧被分为99个宏块,每个宏块分别为16*16。每个GOB(group of block)由11个宏块构成,则每帧图像共包括9个GOB。图像结构如图1所示。

图1 图像结构

H.263编码器框架分析

本文所设计的H.263 编码器是以软件编程的方式在一块TMS320C6211 芯片上给予实现。该编码器包括DCT、量化、熵编码、IDCT、反量化。该编码器可以对输入格式为CIF 和QCIF 的图像进行编码处理。编码器框图如图2 所示。

图2 编码器

预测编码
H.263共有帧内模式和帧间模式两种编码模式。帧内模式用于消除帧内空间冗余,而帧间模式则用于消除帧间的时间冗余。H.263允许在图像层选择编码模式,采用帧内模式的图像为I 帧,采用帧间模式的图像为帧。帧还可以在宏块层选择编码模式。同时H.263编码器为了减少码流长度,对于有些宏块还采用不编码的策略。如果待编码宏块同时满足以下两个条件,则不对该宏块编码,直接跳过。①亮度绝对误差和(sum of absolute difference,SAD)<16 , 为量化步长因子,H.263中规定它的值在0~31 之间,经过相关实验验证表明Q取4时,编码后传输的码率与解码后的图像质量能在满足系统需求时达到最佳的平衡。②运动矢量为0。

DCT与IDCT
DCT变换是图像正交变换编码中最常用的变换方法,其性能接近K-L 变换且易于实现。DCT与IDCT在ITU-TH.263草案中规定,每次只处理一个8*8 的块。在DCT变换中处理一个8*8的块需要226个时钟周期,而在IDCT 中则需要230个时钟周期。式(1)、式(2)分别为DCT 和IDCT 的变化公式

f(x,y)—图像(或残差信号)的像素值,F(u ,v)—8*8块的DCT系数。

量化、反量化
根据人眼的视觉特性,人们通常对图像中的低频部分更敏感,而图像的高频部分则更容易被忽略。因此我们对相关的DCT系数作如下处理: Cqm,n=Cm,n /Qm,n

运动补偿与运动估值
首先,运动矢量的水平分量与垂直分量都是整像素或半像素值。在本文的编码器设计中,选取了高级模式中非限制运动矢量模式,在该模式下,对运动矢量的限制由[ 16,15.5]扩大到了[ 31.5,31.5]。搜索范围的扩大使得运动估值搜索到更加匹配的目标宏块成为了可能。运动矢量的水平分量(或垂直分量)为正,意味着参考帧中的宏块位于被预测帧宏块的右侧(或下侧)。文中选定SAD 为运动估值的块匹配准则。

式中:fk—第k帧中像素点(i,j)的亮度或色度值,(x,y)—偏移量,W—搜索范围,N为8。

熵编码
熵编码是指可变长编码(viriable length coding,VLC)。量化后的DCT系数经过Z扫描后已经转化为了一维数组,对于该数组里面的系数使用专有的VLC表来进行编码,在该过程中,需要统计3个变量,分别为系数值、游程和结束标志。

H.263在TI TMS320C6211上的实现

概述
TMS320C62x系列DSP芯片采用VLIW(very long instructionword)结构,处理速度高达1333 MIPS(million instructions persecond)。数字处理芯片采用的是哈佛(harvard)结构,数据、程序存储区分开,地址、数据总线分开,大大提高了数据处理效率。另外内部设有硬件乘法器、强大的寻址功能等,使其性能非常优越。

结构
结构框图
TMS320C62x的结构如图3所示。6211主频为167MHz,其内部存储器为576 Kbits,该芯片采用两级缓存结构。每个时钟周期可以执行8 条32bits的指令。

图3 TI TMS320C6211 结构

存储器
本文对6211的存储结构配置为32Kb L1P程序缓存,32Kb L1D数据缓存,512KbL2存储器。L1D和L1P只能用做缓存使用,不能用做映射存储器。最初DSP核对任何一个地址的程序取指都会发生Cache Miss,进而转向L2发出数据申请,返回指令的同时将该数据存入L1P。CacheHit时将在单周期内向CPU返回相应的代码,这一点与L1D 相同。L1D在CacheMiss情况下的操作将取决于存取的类型。软件设计的整体流程软件设计的整体流程,如图4所示。

图4 软件流程

首先,当码流进入编码器时,编码器对其进行比特分配,之后将在图像层、GOB层、宏块层分别对该视频流进行编码。同时为了编码过程中的运动估计与运动补偿做准备,系统将重构的宏块写入缓冲区,以便与下一帧中的宏块做对比。最后更新所有的码率信息,并传输到复用编码器中。


结论

视频服务器不仅可基于计算机局域网用于区域监控,如住宅小区监控、办公楼、银行、商场等传统地监控;而且也能通过Internet用于跨地区远程监控及网上展示、远程儿童及老人看护、无人值守通信机房监控、旅游景点网上演播和产品网上展览等。我们有理由相信,视频服务器在今后若干年内必将有一个长足的发展。

相关推荐

CEVA凭借90%的市场份额继续领导DSP IP市场

CEVA  DSP  2012-05-30

欧胜推出带有语音处理器DSP的下一代音频中枢

欧胜  DSP  2012-05-07

Tensilica HiFi音频/语音DSP迎来又一里程碑

Tensilica  DSP  2012-04-25

Tensilica授权瑞萨电子ConnX BBE16 DSP IP核

Tensilica  DSP  2012-04-18

Tensilica HiFi音频DSP支持杜比数字+功能

Tensilica  DSP  2012-02-28

CEVA和Idea! 电子系统合作

CEVA  DSP  ISDB-T  2011-12-19
在线研讨会
焦点