摘要:介绍了H.324可视电话的基本框架,并在分析视音频编解码后需要的计算量和存储容量的基础上,针对H.324标准下的H.263、G.723.1、H.245、H.223、V.34各标准,采用AD公司的DSP芯片,设计了基于DSP的可视电话系统。
关键词:可视电话 DSP 视频编码 音频编码
H.324标准的可视电话系统实现方法,一般有如下同种方式:软件方式、通用DSP方式及专用处理器和专用芯片方式。
以PC机为平台,利用现有的声卡、视频要集卡和调制解调器作为输入和输出设备,采和基于WINDOWS的多线程技术软件实现H.263视频器、解码/发送、接收、显示等多个任务。在实际应用系统时需要考虑到PC的处理能力、与接收端的连接和相应的图像格式等问题,可以在编码模块中采用汇编语言,提高执行速度,并引入MMX技术,进一步提高执行速度。它的特点是成本低、配置少,便于移植和升级,但对计算机的处理能力、编解码的算法速率的要求比较高,一般难于达到实时要求。
专用处理器和专用芯片是另外一种硬件处理方式,它的优点是集成度高,价格低,但扩展性差。国外许多公司都热衷于视频芯片的研究和开发。就国外来说,主要的视频会议芯片供应商是:Lucent Technology(AVP-III处理器);8×8 Inc.(VCP 处理器);Texas Instruments(C8x系列处理器)等。专用处理器和专用芯片方式的特点是能得到高的图像质量并能满足实时图像处理的要求。
通用DSP方式是一种硬件实现方式。采用通用DSP的原因是由于它可通过编程实现多种功能,当针对硬件的软件功能升级和新的标准算法出现时,只需要局部改变DPS的微码就可以适应不同的应用。用DSP实现H.263时,首先需要估计编码、解码等处理过程所需的计算量,并且这些计算量与具体视频编码过程有关,选择时应该选用高速DSP。
从以上三种实现方式来看,DSP具有开发灵活、适应面较宽和扩展性强等优越性,且目前已经能实时处理H.263算法的高速超强处理能力的DSP芯片有AD21065L、TMS320C55x、TMS320C6x等,所以采用DSP实现可视电话等视频图像处理系统成为开发者的首选。
1 H.324可视电话基本框架
H.324是ITU的适用于公共电话交换网(PSTN)的低比特率多媒体通信终端的框架标准。它使用V.34调制解调器,可以实时传送语音、数据、视频图像或三者的组合。H.324包括甚低码率视频编码的H.263建议、音频编码G.723建议、控制协议H.245和复接与复用协议H.223等。
PSTN的视频H.324可视电话框图如图1所示。
在H.324编解码系统框图中,视频编码H.263提供低于64kbps的传输速率,是H.324的技术核心。视频编码器主要完成对源图像序列的压缩,先按块的方式采用DCT变换,后对变换的DCT系数进行量化,然后进入视频复接编码器。在编码过程中,要求对编码模式的选择和码率的大小进行必要的控制;视频复接编码主要完成将每帧图像数据编成四个层次的数据结构,以便在各层次中插入必要的辅助数据信息。同时对交流DCT系数(AC)进行VLC编码,对直流系数进行固定长度(FLC)的编码,并对压缩的编码数据与控制信息复接。由于H.263的输出码率一般非恒定的,所以在实际应用中,受传输网络带宽的限制,必须要在发送端和接收端设置缓冲区,使得编码率的码流变换为固定码率码流,防止数据的丢失和破坏。缓冲区的信息传给编码控制器,由编码控制器来控制编码器中量化器化步长,同时将步辅助信息送到视频复接编码中的各层次,以供解码器使用。解码部分可以看作为编码的逆过程,但并非完全对称。编码过程的运算量和复杂度要远大于解码过程。
2 可视电话系统的性能需求
在可视电话设计之前,先分别对可视电话的图像格式、视音频的编解码运算量和存储量进行分析。
PSTN上的可视电话,由于信道带宽较窄(传输速率最大不超过64kbits/s),故图像不宜过大。图像格式上采用QCIF(176×144)格式,帧率为15fps(帧每秒)。以下视音频编解码计算和存储量均在上述条件下估计。
H.263视频编码计算量主要集中在:运动估计与预测编码、离散余弦变换(DCT)、可变长编码(VLC),这部分的运算量估计为90MIPS(兆个指令/每秒)。同样,解码计算量主要集中在:运动补偿(MC)、离散余弦逆变换(IDCT)、可变长解码(VLD),这部分运算量估计为40MIPS。G.723.1音频编码的运算量比视频的运算量小得多,大约为30MIPS。
再加上其它一些操作如音视频混合、数据的传输、外部器件的控制等,估计大约为60MIPS。因此DSP的计算量共为220MIPS左右。
存储器包括程序存储器和数据存储器。程序存储器和一些常数(DCT系数、VLC系数等)开始存于ROM,运行之后引导至RAM中,这部分估计为400Kbytes。
数据存储器主要存放采样得来的视频数据以及待解码的数据流,也就是视音频信号的缓冲。QCIF格式的每帧采样数据约为50Kbytes,RAM中至少要存4~5帧,这部分需250Kbytes。为使视音频同步,音频数据缓冲为50Kbytes左右。
3 基于DSP的可视电话系统的实现
根据资源分析,为实现上述以PSTN为传输线路的可视电话,首先选择合适的视音频编解码DSP芯片,再构建可视电话硬件流图,分配存储资源,然后编写与移植相关的协议软件,使之适合DSP芯片的高效运行。
3.1 视音频解码DSP芯片的选择
视频编解码芯片采用AD公司的ADSP-21065L。ADSP-21065L是超级哈佛结构(SHARC)ADSP系列中功能强大的32bit DSP,高性能的核加上集成的外围器件,使其性价比很高、应用范围很广,它的主要特性有:
·198 MFLOPS(32bit浮点运算);
·180 MOPS(32bit定点运算);
·16K 32bit双端口片内存储器;
·64M 32bit字长的外部扩展地址空间;
·2个支持32个时分复用(FDM)通道的串口;
·10个DMA通道;
·2个时钟;
·与32bit字长SDRAM的无缝口等。
ADSP-21065L的快速运算能力(198MFLOPS)和大的外部存储空间(64M),使其能完成H.324中的运算量大、存储容量大的部分,如视频编解码H.263、视音频混合H.223和控制H.245。
ADSP-21065L采用多总线使DPS核、I/O端口、内部双口存储器、外部同步DRAM之间数据能够高速传输。这对于视频数据的编码和传输很重要,因为视频数据有量大、传输快等特点,ADSP-21065L的多总线结构能很好地解决这些问题。而且32bit字长的计算,能够提高视音频的信噪比。
音频编解码芯片采用ADSP-2189M,其主要特性有:
·片内存储器高达1.5Mbit,可配置成32K字的程序存储器和48K字节的数据存储器;
·运算能力为70MIPS,13ns的指令周期;
·3个总线结构允许在每指令周期进行两个取数操作,并作运算;
·4M的外部扩展存储器;
·2个串口,可以自动缓冲数据;
·6个外部中断;
·丰富的指令,低功耗等。
监于ADSP-2189M特点,以及由前讨论的音频编解码G.723.1运算量和存储容量的需求,可以让ADSP-2189M进行音频编解码G.723.1。此外,ADSP-2189M的多功能串口,可以完成V.34调制解调器的任务。
3.2 可视电话系统的硬件结构
DSP可视电话硬件结构如图2所示。
图2中ADSP-21065L是可视电话的核心,其主要作用是完成视频编码H.263、多媒体通信的复用协议H.223和传输控制协议H.245功能。H.263核心技术为基于块DCT和运动估计与预测技术,前者是通过正交变换消除图像8×8子块数据中存在的空间冗余,而得到一定的数据压缩;对后者而言,首先对输入的每一图像进行层次的划分,直到分为8×8块作为运动估计算法的基本处理单元,然后进行运动估计与预测,消除图像序列间的时间冗余,达到运动图像压缩的目的。
H.223低位率多媒体通信的复用协议,主要由AL和MUX两部分组成。AL负责将从用户层和I/O层获取的不同数据流(AL-SDU)转换成AL-PDU。MUX负责将AL层数据送到物理层。AL与MUX层交换的逻辑单元称为MUX-SDU,每个MUX-SDU实际上就是AL-PDU。AL根据接收媒体不同,分3成种:AL1、AL2、AL3。AL1负责传送一般数据和控制信息,AL2负责音频,AL3负责视频。由于可能有多个AL-PDU(MUX-SDU)同时到达复用层,复用层根据一个预先定义的描述符表将不同的AL-PDU复合到一个数据流中。该描述符表有16项,每个表项定义不同的AL-PDU组合方式。
H.245传输控制协议规定了控制H.324终端正确操作的端端信令。它定义了终端间通信开始时进行带内协商的控制过程、消息的语法和语义,并定义了各种不同的服务。一些适于所有终端,一些只适于特殊终端。它定义了各种过程以允许音视与数据能力的交换;请求特定的音视与数据模式的传送;管理传输音视与数据信息的信道;为管理双向信道确定主终端与从终端;携带各种控制与指示信息;控制独立信道或整个复用层的位率;测试往返时延等。
ADSP-2189M是起到音频编码协议G.723和调制解调器V.34的作用。G.723音频编码协议有5.3kbps与6.3kbps两种速率,其主题是“5.3&6.3kbps多媒体传输对称速率音频编码器”。G.723编码器经过优化增加了有限的复杂度,获得了高质量的对话。它将语音或其它音频信号帧用线形预测综合分析编码方法编码,6.3kbps的激励信号为MP-MLQ(多脉冲最大相似量化),5.3kbps采用ACELP(算术码书激励线性预测);帧长30ms,外加一探头7.5ms,算法延迟共37.5ms,附加延迟则取决于实现时的处理延迟、通信链路的传输延迟及复用协议的缓冲延迟等。V.34协议把数据流进行调制和解调,使之适用于电话线的传输。
CPLD主要用于协议数据的流向和动态RAM的刷新,用VHDL语言来设计逻辑控制和数据缓冲。视频采样芯片是AD公司的AD7185,它可以直接输出YUV信号。音频转换芯片采用AD1819,其特点是对于音频信号既可做模数转换,又可做数模转换。DRAM为1M字节,存取时间为6.7ns。用户界面采用单片机89C52,处理界面操作,远程控制等。
3.3 存储资源的分配和软件的编写移植问题
根据应用特点,合理分配资源特别是存储资源,一直是DSP设计的重要之处。在本系统中,频繁使用的DCT系数、VLC系数等放置于ADSP-21065L的片内RAM,而其他数据放置了外部RAM中。按具体功能要求,参考资料,开发出相应的C语言下的H.324程序,编译链接生成执行文件执行并进行功能评估,进行具体的算法优化。评估程序执行的效率,具体分析出DCT和运动估计与预测等耗时大的模块,根据ADSP-21065的指令特点和硬件结构,采用高效的汇编语言编写这部分汇编程序,进一步提高程序的执行效率和充分利用ADSP的系统硬件资源,最终按要求在ADSP实时实现H.324程序。
为了保证芯片之间接口的统一,基于PSTN上的可视电话,核心芯片如视音频编解码芯片、视音频数模转换芯片等,都采用AD公司的产品。基于DSP的可视电话系统,其软件具有可升级性,易于实现功能的扩展及与其他遵从ITU标准和ISO标准的网络视频终端的互通。当今电话线上的ADSL通信发展迅速。由于基于DSP可视电话系统的灵活性,所以只要在其上添加ADSL终端设备,在软件上更改码率控制,提高视音频质量,就可开展宽带视音频业务了。