随着互联网的迅猛发展以及多媒体技术的日益成熟,视频通信的市场应用越来越广泛,实现视频通信的方式也变得多种多样,如可视电话、即时通信、视频聊天、IPTV以及远程监控、远程医疗等。早期实现视频通信大都采用专用芯片设计,灵活性很差,应用范围窄,现在处理器技术发展极快,处理能力不断提高,处理速度不断加快,再加上多种协处理单元的辅助,使得目前的媒体处理器可以构成一个简单的视频通信终端。随着微处理器主频的提高、内部体系结构的不断改进以及相关软件编译技术的完善,媒体处理器的能力会越来越强,使用起来也会更简单,视频通信在多媒体设备中应用会越来越广泛。
Trimedia集成电路是Philips公司新近推出的针对多媒体应用的一种高性能DSP兼CPU,它能够进行高质量的视频和音频处理。Trimedia现有三种型号:Tm1000、Tm1100和Tm1300,处理器的主频分别为100MHz、133MHz和166MHz.本文以Tm1300为例,介绍了Trimedia在视频通信中的设计方法和技巧。
芯片简介
TM1300是Philips公司于1997年以来推出的系列多媒体DSP Trimedia的一款性能优良的多媒体处理芯片。它以多媒体处理和通信功能为主,融合了CPU芯片原有的计算功能,已广泛应用于多媒体专用设备、家电及宽带通信设备。
首先简要介绍一下Tm1300,它的结构如图1所示:
图1 Tm1300结构图
Tm1300的是32位的处理器,能够进行32位的线性寻址,寻址能力可达到4GB.同时它含有128个通用寄存器,它们不象其它DSP的寄存器那样分段,所有的操作都可以使用这些寄存器。Tm1300处理器采用的是VLIW (超长指令字)结构,可以在每一时钟周期内同时进行5个操作,VLIW结构还可以减少处理器的工作量。Tm1300支持16KB的数据高速缓存和32KB的指令高速缓存,并且数据高速缓存是双端口的,允许同时双向接入。
Tm1300有别于一般的通用DSP,它有专门的视频接口,音频接口,网络接口和相应的处理单元。
(1) Tm1300的视频处理单元包括:标准的视频接口、图象协处理器(ICP)和变字长解码器(VLD)。标准的视频输入输出口使Trimedia较方便地与具有CCIR656接口的PAL编解码芯片互连。图象协处理器主要用于图象的滤波或缩放,提高处理的速度,节约处理器的资源。同样,变字长解码器可以减轻Trimedia用于Huffman解码的工作量,有助于高比特率的MPEG-1、MPEG-2解码,而在低码率的视频通信系统中可以通过软件来实现而无需采用硬件VLD.
(2) Tm1300的音频处理单元包括标准的音频接口,能够与大多数串行数据的音频ADC和DAC相连接,通过编程可处理大多数的串行数据协议。与视频处理单元一样,音频输入输出单元的缓冲器都在外部的DRAM中,这样可以提高数据交换速度,有利于进行实时处理。
Tm1300的I2C串行总线可以工作在主从两种模式下。作为主模式时,Tm1300可通过I2C总线来配置一些外围的芯片。作为从模式时,I2C总线从EEPROM中读出数据,Tm1300上电启动时采用这种模式,它通过I2C总线读入启动代码,以便Tm1300进一步读入二级应用程序,使之正常运行。
多媒体应用要求系统资源和活动得到高效的管理,TM1300处理器支持pSOC实时多任务操作系统内核,pSOS操作系统由美国ISI(Integrated System Inc)公司开发。它基于开放式操作系统标准,并且针对多媒体应用作了专门的优化。pSOS真正实现了抢先式、基于优先级的任务调度及合理的中断处理。内核保证在任务时刻,正在运行的任务在所有准备好的任务中具有的优先级,更高优先级的外部事件可以抢先改变调度的行为,通过改变抢先特性,或调度任务时间片,用户可以改变调度的行为。PSOS还具有以下特点:动态的、基于对象的多任务及动态的存储分析;灵活的计时管理和时钟服务;先进的错误处理和故障恢复等。pSOS操作系统在内核层将与硬件有关的操作放在一个模块中,对系统服务层以上则屏蔽了具体的硬件特性。
系统设计实现
根据Tm1300的种种特征,可以利用它所提供的各种资源来灵活设计一个低码率视频通信系统。
系统的大部分工作都是由该DSP来完成,其中包括:视频的编解码,语音的编解码,网络通信协议的实现以及其他一些相关的工作。由于视频通信系统是一种实时的系统,为此首先必需选择一种实时的嵌入式操作系统作为操作平台。可供选择的嵌入式操作系统有很多,如OS9000、PSOS等,用户可根据实际需要来选择。所有的软件开发都是基于选定的操作系统之上的,系统实现框图(如图2)如下:
视频部分
视频处理主要包括视频的编码与解码。设计时可留两个视频输入接口,一个模拟接口,一个数字接口。模拟口设计比较方便,而数字口的设计主要是从降低成本的角度来考虑的。模拟口的视频信号经过PAL解码后,变成标准的CCIR656 4:2:2的视频数字信号,视频数字信号直接送入Trimedia,经过压缩编码后,与编码后的语音信号一起送入网络。在接收端,Trimedia将接收到的编过码的视频信号解码,然后送至PAL编码芯片,终将模拟的视频信号输出到显示屏上。由于Trimedia本身速率的限制,我们只能完成低码率的视频通信,一般视频编解码可采用H.261或H.263标准,这两种标准是ITU-T针对低码率视频通信而制定的。视频的编解码在整个系统中占用资源多,因此在进行视频编解码软件开发时,尽量优化程序,使之占用尽可能少的系统资源。可以从以下两个方面来优化:(1)算法优化和(2)代码优化。
语音部分
同样语音处理的主要任务是完成语音信号的压缩编码与解码。对64kb/s的或128kb/s的线性语音信号进行编码,将其压缩至8kb/s或更低码率的数字信号,因此可以选用一种专门用于声音A/D、D/A变换的芯片,来完成声音信号从模拟到数字或从数字到模拟的变换。在发送端,经过此芯片的处理,模拟的语音信号就转变为128kb/s的数字信号,再压缩至8kb/s或更低码率,然后与编码后的视频信号经过复接送入网络。在接收端,Trimedia首先将接收到的编码后的语音信号解码,然后送至音频专用芯片经D/A变换后,输出到扬声器。语音通信的标准有:G.728和G.729.
网络部分
在实现通信协议时,可用SSI串口来接入网络。一般采用专用的网络接口芯,来完成这部分功能,如ISDN接口芯片、IP以太网接口芯片或PSTN接口芯片。因为专用芯片通过硬件完成了通信协议底层大部分的功能,这样就大大减少了开发人员的软件工作量,并且开发人员的主要工作集中在上层协议的开发。
PCI/XIO总线的使用
虽然Trimedia提供的PCI/XIO口主要是针对PCI总线的,但它仍可以当作外部总线来利用。可以将系统设计成计算机插卡形式,也可以设计成独立一体机形式。为了能设计成独立视频通信系统,可将PCI/XIO口转成外部总线接口来使用,这样就可以为Trimedia配置多为16MB的EPROM或闪存,用于存放操作系统和应用程序。系统上电启动后就可以直接运行已经固化的程序,而且不用通过计算机来联机运行。通过与FPGA相结合来可以将外部总线的寻址范围进行分段,实现对多个外部可寻址芯片的操作。
Trimedia提供了功能较为完善的在线调试工具,设计人员可以通过在线调试工具-JTAG来开发Trimedia的各种资源和调试各种应用程序,从而终实现整个系统。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。