基于DSP的H.324终端实现
扫描二维码
随时随地手机看文章
目前在H.324系统的研制和开发中,普遍采用了两种方式:一种是开发纯软件的H.324系统,即基于PC的系统;另外一种方案是采用可编程的视频信号处理器来实现H.324系统的功能。后一种方法具有很大的灵活性,并可在同一硬件平台上开发出不同的应用程序。本文所提出的方案正是一种基于可编程的数字信号处理芯片的实现方法。这种方案可开发出独立机型的可视电话终端,并且可以将该系统应用于通信、监控等领域。
1 H.324终端的功能元素
H.324建议规定了系统的一些功能要素。H.324终端配置及其外围要素如图1所示,包括终端I/O设备、Modem、GSTN网、MCU和其他系统操作实体,H.324的实现中并不要求每一功能元素都必备。
H.324可视电话终端机框架建议包含以下五个方面的内容:
·H.263/H.361 视频编解码
·H.223 信道复用/解复用
·H.245 系统控制
·G.723.1 音频编解码
·V.34 调制解调器?Modem
H.324终端中多媒体信息流分为视频、音频、数据和控制流几个部分:
?1?视频流是传输彩色活动图像的连续的码流。在传输过程中,视频流的比特率要根据音频和数据信道的需求而变化。
?2?音频流是实时的,但在接收端处理时可能进行适当的延迟以维持和视频流的同步。为降低音频流的平均比特率,可采用语音激活方式工作。
?3?数据流可以表示静止图像、传真、文献、计算机文件、未定义的用户文件和其他数据流。
?4?控制流在对等端之间传送控制命令和指示。终端到Modem的控制服从V.25ter建议(使用外部Modem通过一个单独的物理接口相连)。终端到终端的控制服从H.245建议。
2 H.324终端实现方案
H.324只是一个框架协议,实现该系统有很多种方式。可以根据H.324标准设计专用电路。这种方式虽然具有处理速度快,应用方便等特点,但是这种方式具有很大的局限性。因为一种专用电路只能针对特定的功能设计,具有开发成本高,不易改进功能等缺点。目前已有的或是正在开发的产品中,普遍采用了纯软件即基于计算机的方式,或是采用可编程数字信号处理器来实现,或是将两种方式结合起来开发实现H.324系统。本文作者开发的系统主要是利用W90K系列芯片实现的,即采用可编程的数字信号处理器来实现。图2是基于W90210终端的原理框图。
[!--empirenews.page--]
该开发板分为视频编解码模块、音频编解码模块、码流复用及系统控制模块、视频显示模块、调制解调器模块。这些模块加上视频显示和声音输入回放等外围设备,共同完成H.324可视电话功能。
·视频编解码芯片W9960 该芯片主要完成视频编解码功能。该芯片特别适于完成H.263/H.261功能,能完成CIF、QCIF、SQCIF等格式的编码。固化在该芯片中的是标准的H.263视频编解码程序,可以工作在非限制运动矢量和PB帧模式。开发板上的复用控制芯片控制该编解码器的启动、停止以及编解码模式转换。W9960有数字视频接口,可以支持数字摄像机输入。另外该芯片还有PCI接口用于和开发板主CPU与显示模块交换数据。
·音频编解码芯片CT8020 该芯片完成音频编解码功能。芯片中有G.723.1微代码,它可以将音频原始数据(16bit?8kHz)编码成为G. 723.1数据帧并可以将G. 723.1数据帧解码成为音频原始数据。以CT8020为核心的音频编解码模块及其外围设备可以接收语音输入编码并接收G. 723.1码流解码后回放。该模块输出码流可以工作在6.3Kbit、5.3Kbit。该模块的初始化和工作启动停止以及工作模式的改变可以通过调用其API函数来实现。
· 视频显示模块 该模块主要由W9971及其外围设备组成。该模块接收输入的数字化图像信号以显示本地图像,或是接收W9960解码后的数据以显示远端图像。W9971芯片还可以管理显示模式,如图像的大小、位置、色调、对比度等。
·视频输入模块 该模块主要由数字摄像机或是由模拟摄像机和SAA7111芯片组成。SAA7111的功能是将模拟摄像机的输入图像信号转换为数字图像信号,该信号输入到视频显示模块用于显示本地图像,同时该信号也输入到视频编解码模块,该信号被编码后经复用传输到远端。
·调制解调器模块 该模块主要是完成语音输入以及调制功能。
·复用控制模块 该模块是整个终端的核心,主要由芯片W90210及其存储器组成。该模块的主要功能是完成板上各个功能模块的初始化,接收音频编解码模块输出的码流以及视频编解码模块输出的码流,并将这些码流及系统控制信息根据H.223标准复用后经调制解调器调制后在GSTN网络上传输。该模块更为重要的功能是控制整个板上各个功能模块的运行,H.324系统中规范的H.229及H.245协议的功能也在本模块中实现。
3 终端软件的开发
本终端是在可嵌入式实时操作系统Supertask下开发实现的。其中硬件和操作系统以及开发的应用程序的关系如图3所示。
图3所示的是本文中的H.324终端的软件和硬件关系框图。开发硬件平台的系列硬件处于系统的底层,由SuperTask实时操作系统对其管理。在操作系统的基础上开发了硬件的驱动函数,如音频和视频编解码器的驱动函数以及输入/输出模块的驱动函数,这些函数可供开发应用系统时调用。上述终端中的软件正是在这些驱动函数的基础上,利用操作系统的服务来开发完成的。
H.324终端应用系统软件
在SuperTask实时操作系统中?将H.324终端系统从功能上划分为几个独立的任务?从整体上将各个任务连接成为一个完整的系统。图4是各个任务之间的关系。