葡京彩票平台

校园学问
办学理念
学术活动
文体活动
学生园地
院刊在线
毕业生风采
团 委
学生会
学生社团
广播站
记者站
调频台
军乐团
《葡京彩票平台人学术专刊》
DSP应用实例——单机远程多媒体监控系统
编辑:郑立平 来源:葡京彩票平台原创 更新时间:2009-5-14
 

1     

利用PSTN进行数据传输的通信方式已经在各行各业中得到了广泛的应用:通过电话线将计算机接入到因特网,可以进行可视电话,实现工厂的无人职守、以及葡京信誉平台自动化,甚至远程诊断维护等。由于PSTN电话线上传输的是模拟信号,需要依靠中间设备——ADSL MODEM实现数字信号和模拟信号之间的相互转换才能进行数字传输。近年来,DSP(Digital Signal Processor)数字信号处理器技术发展速度很快,随着高性能低价格DSP产品的出现,很多行业纷纷采用DSP芯片来制造具有更高性能的产品。在该多媒体监控系统中大家采用高速DSP对现场图像和语音数据进行实时压缩处理,并在此基础上对多媒体数据进行适当的组织、传输,同时还利用DSP进行系统的总体控制和通信控制,以此来实现系统的实时多媒体通信。

2   远程多媒体监控系统的概况

本文先容的单机远程多媒体监控系统实现了远程图像、语音的自动传输及监控,该系统由监控点的多媒体监控终端机和控制中心的主控微机两大部分组成(图1)。终端机的主要功能及构成是:

1)      通过一个语音 CODEC器件来采集监控点的语音信号,并将形成的PCM信号通过声音处理DSP器件的串口送入,再由该声音处理器DSP对语音信号进行实时压缩处理(符合G.723.1编码标准);

2)      由图像信号采集芯片来采集监控点的原始图像信号,再由图像处理DSP器件控制将原始图像数据存入外存储器中,然后提供给图像处理DSP进行图像编码时使用,由于图像处理DSP是一个浮点数字信号处理器,其具有25ns的指令周期、40MIPS的运算速度、1Mbytes的静态存储器,适合于语音和图像方面的应用,所以把它作为系统的图像协处理器,控制视频图像采集并实现视频图像的实时压缩处理(符合H.263图像编码标准);

3)      由于16位定点数字信号处理器——声音处理DSP器件,其具有30ns的指令周期、33MIPS的运算速度,片内有24bit×16k的程序存贮器(PRAM)和16bit×16k的数据存储器(DRAM),除此以外,它还具有可全双工工作的两个独立的串行口、一个可编程定时器、标记I/O口,所以把它作为整个系统的主控处理器,在完成音频采集和语音的实时压缩处理的同时,还完成对监控点实施数据采集与控制、通过ADSL MODEM与主机交互命令和把图像和语音的编码数据按一定的格式打包通过ADSL MODEM送到远端的主机等操作;

4)      经过打包后的编码数据,是由声音处理DSP器件来负责送出的,这里使用异步通信器件来连接DSPADSL MODEM,这样做简化了DSPApp的实现,提高了系统的可靠性和可扩展性。

 

3   DSP中类多线程控制方法的实现及整体App的实现方案

多媒体技术是指要能够交互的处理和传输图像、声音等多种媒体信息,并能够使多种信息建立逻辑联系集成为一个系统。由于多媒体信息的特点,在进行多媒体通信时主要的问题是要保证各媒体数据传输的完整性和实时性,这就需要对各媒体信源进行高速压缩、对各媒体的码流数据进行恰当的组织,而且还要能对各媒体数据进行同时的处理。

上述的最后一点要求,对于基本上所有的32位操作系统上的开发平台都是容易做到的,因为它们都支撑多线程,通过使用多线程就可以使几个需要同时处理的任务轻松完成。然而如果要通过App开发在单片数字信号处理器上同时处理多个实时任务是很困难的,因为对于单个的微处理器来说它的运行总是串行的。在大家的系统控制中遇到的正是这个问题:声音处理DSP器件不但要进行整个系统流程的控制,还要进行G.723.1的语音编码,这两个任务都是要在系统运行期间不间断运行的。所以在具体实现时,大家把实时语音编码的部分作为主程序,这样是为了保证语音信号处理的连贯性;而系统功能的主要流程在该DSPTimer中断中完成,为了实现这样的操作大家把系统功能的主流程分成了几个阶段,程序中通过设置一个标志位,来引导系统进入不同的运行阶段,完成不同的功能及操作。这样这两个任务就可以分时的享用DSP的运行时间,类似于多任务操作系统中的分时间片操作。

Timer中断服务子程序所实现的是系统功能的主流程:由监控点触发报警或是主控机主动轮询来启动系统,先按缺省方式传送各路摄像头的实时图像和监控点的实时声音,再进入等候状态,等待主控机的命令并进行相应的操作。主程序进行语音的实时编码,G.723.1ITU-T提出的作为H.324终端使用的音频信号的压缩编解码算法建议。它有两种编解码速率5.27Kbps6.3Kbps, 两种速率的编解码器均有很高的语音质量和较低的时延。

4   监控系统中数据流的操作过程

4.1  编码数据的获取及其在系统内的传递

语音数据的获取 从拾音器(MIC)输入的经放大后的模拟信号送入专门用来对语音信号进行AD变换的芯片,经8kHz采样输出16位的PCM 码流。声音处理DSP再从串口0读入语音数据,再在主程序中进行符合G.723.1的语音编码并直接将语音编码数据打包,保留在语音双缓冲区中空闲的一个。

图像数据的获取 视频图像采集采用图像编码器来进行模数转换,由它把模拟视频信号转换成CCIR601PAL/NTSC)数字图像格式,再由图像处理DSP对暂存于外存中的原始图像数据进行符合H.263标准的压缩编码。

图像编码数据从图像协处理器到主控处理器的传递  图像处理DSP通过同步串口和声音处理DSP(主控处理器)连接,实现两者之间高速、准确、方便的通信。为避免耗费DSP的时间去处理串口同步工作产生的垃圾数据,通过硬件(图4)、App控制串口的发送和接收为非同步方式, 实现数据的异步传输。

硬件连接主要是依靠两个帧同步信号RFS/TFS(接收帧同步/发送帧同步)的交叉互连,两个主机分别把RFS设成外部输入、TFS设成内部产生输出。对于发送端来说,当发送寄存器中的数据有效时产生TFS信号;同时,对于接收端来说,当在RFS信号线上收到RFS信号时就会按照SCLK的时钟时序接收DR上的数据,这样经串口发送和接收的数据帧都是对齐的。

App上,大家把声音处理DSP(主控处理器)的串口1设置为2MHz同步时钟输出、字长16bitAUTOBUFFERING方式,设定接收循环缓冲区的大小足够接收来自图像处理DSP传来的任何消息数据(实际上,大家使图像处理DSP发出的消息都是固定长度40Bytes,对于达不到设定长度的消息通过填充0x00使之成为固定长度),这样当声音处理DSP(主控处理器)每自动接收到一个完整的消息时就会产生一个中断,然后声音处理DSP(主控处理器)再在对消息分析的基础上进行相应的操作(这里主要是对图像数据的缓冲及打包处理);类似的,对图像处理DSP也做相应的设置:外部串口同步时钟输入、用DMA块方式进行存储器和串口间的数据传送。另一方面,为了使处理器时间不会被串口操作长久的占用,也为了不使传送的数据发生丢失,声音处理DSP(主控处理器)和图像处理DSP之间通信的高层协议采用一问一答的消息驱动机制,处理器对于发出的每一条消息都要等待确认才能发送下一条消息,当然对于每一条消息都有相应的回应消息与之对应。实践结果说明,这样的操作方法既可以保证通信的速率要求,同时也保证了数据传输的可靠性。

4.2  数据的缓冲与打包处理

因为语音采集和语音编码是同时进行的,所以为了提高系统处理的效率从而保证语音数据的连贯性,在需要处理语音数据的地方大家都使用了双缓冲(图5),数据处理的焦点在两个缓冲区之间切换。这样做基本上可以保证对语音的8kHz采样不会丢失样本点,不会因为数据暂时来不及送到电话线上而发生重叠。因为图像数据是包含在图像处理DSP传来的消息中,在中断服务程序中对图像数据的处理是串行的,所以对编码图像数据只使用一个图像缓冲区。

多媒体通信中,在有实时语音传输的情况下,语音数据帧的丢失和延迟对用户来说是不可忍受的,所以要优先保证语音数据的传输,这个原则体现在对ADSL MODEM发送缓冲区的处理过程中。和语音数据处理使用双缓冲的理由相类似,为了提高系统的性能从而提高通过ADSL MODEM传送数据的速率,大家对将要通过ADSL MODEM发送的数据也采用了双缓冲技术,ADSL MODEM备用(录入)缓冲区的数据来自于语音缓冲区或是图像缓冲区:当发现ADSL MODEM备用缓冲区空闲时,先查询当前的语音缓冲区是否有数据,如果当前语音缓冲区数据有效则录入到此ADSL MODEM备用缓冲区中;如果当前语音缓冲区数据无效才进一步查询图像缓冲区。当ADSL MODEM当前(输出)缓冲区非空闲时,就通过异步通信器件ADSL MODEM发送其中的数据(图6)。通过异步通信器件发送语音/图像数据是各自相对独立的,这个情况相当于把两个逻辑信道(语音/图像)加在一个物理信道上传输,所以必须保证各逻辑信道传送一帧数据的完整性,同时还要保证数据的处理与发送不会影响语音数据的采集和处理,这一点是通过调整数据帧的长度来实现的。

对于声音处理DSP(主控处理器)和图像处理DSP之间以及监控系统和主控机之间的异步通信来说,数据都要成帧传输,实际系统中所使用的打包方法和消息机制是自行按照系统需要制定的,用固定16进制数作为包头和包尾的标志,使接收端能从码流中完整的恢复出消息来;并使用完整的消息交互方案。

通信中使用的帧格式是:

 

 

  (消息长度)

 消息标志

 (参数1

 (参数2

  ……

 (数据)

 (校 验)

 

其中,带扩号的项根据消息的不同是可选的。

4.3             数据的发送和接收

如前所述,大家用异步通信器件来连接声音处理DSP(主控处理器)和ADSL MODEM,完成并行数据到串行数据的转换。该器件发送操作可以设置成FIFO方式以减少CPU的App耗费。所以就有两种发送数据的方式可以选择:普通的单字节方式和FIFO方式,这两种方式各有其优缺点和应用环境。异步通信器件有接收和发送两个缓冲器,使用这些FIFO缓冲器可以提高App的效率,不必再每接收或发送一个字符就产生一次中断。

FIFO控制寄存器(FCR)的FCR0位置为有效,就启动FIFO操作,这时可以通过设置中断允许寄存器(IER)的相应位来确定使用中断模式操作或是查询模式操作。对于接收操作,只要接收到一个字节线路状态寄存器(LSR)的相应位LSR0就会有效,这样通过查询线路状态寄存器就可确定是否有可用数据;而FIFO直到达到程序设定的触发水平才会产生指示接收数据有效的中断,用FIFO中断方式来接收数据时应该同时结合使用查询方式和超时中断,如果某次接收的数据没有达到触发水平并且在超时时限内没有操作,就会产生一次超时中断,这时使用查询方式读取FIFO缓冲区的数据直到空为止。对于发送操作,当发送FIFO为空时,线路状态寄存器的LSR5位置为有效,同时产生发送保持寄存器中断。然而,利用FIFO的发送操作不会检查RS-232的硬件握手信号,实际上在每一个字符送出之前都应该检查DCE(数据通信设备)的CTS(请求发送)和DSR(数据设备准备就绪)信号,当两者都为有效时才能发送当前的字符;而且虽然发送和接收FIFO的功能是分开的,但它们不可以分别编程。综合考虑以上的因素,为了保证数据不会丢失,大家采用单字符发送和接收的中断方式,只是在每一个字符发送之前都要检查与ADSL MODEM相关的硬件握手信号。另外,由于传送的是二进制码流,所以在物理层的ADSL MODEM通信中大家只使用硬件握手,而不用App握手。

5          结束语

本文讲述了在单机远程多媒体监控系统中使用的数据组织和数据传输的要求以及数据处理方法,着重先容了DSP在这个过程中的应用。具体的解决方案是:大家将语音和图象这两种媒体数据通过两个独立的逻辑信道进行组织和传输,整个数据通信过程包括数据的获取,数据的组织、缓冲和打包,数据的传输和接收,同时还兼顾到了通信的实时性和容错性。

本文中所先容的各种方法,不仅可以应用在远程多媒体监控系统中,而且可以应用在其他涉及远程数据传输、信息交互等技术的单机或非单机系统中。文章中先容的监控系统不但可以应用在银行、仓库等重要部门的监控上,还可以应用于远程医疗、诊断、维护和葡京信誉平台,以及家庭监控和家庭摄影等场合。

 

[1] Analog Devices, Inc  ADSP-2100 Family User’s Manual 2004

[2]  Analog Devices, Inc ADSP-2106x SHARC User’s Manual 2005

[3] ITU-T Recommendation G.723.1  Dual Rate Speech Coder for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s    2005

[4]  ITU-T Recommendation H.263  Video Coding for Low Bit Rate Communication  2006

 
  校园学问
Copyright 2004-2010 哈尔滨理工大学葡京彩票平台葡京彩票平台
电话:0451- 82473106 82473076 邮编:150025 地址:哈尔滨利民开发区葡京彩票平台路时代大街158号 黑ICP备05001842号
XML 地图 | Sitemap 地图