积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> DSP >> 应用论文
  相关分类: 应用论文 | TI DSP | 新产品 | 算法 | 下载 | DSP代码示例 | ADI DSP | freescale DSP |
基于DSP的远程网络视频监控系统的实现
 
作者:张亚妮 常存 孙肖子   来源:电源技术应用    点击数:64   更新时间:2008-7-14
您可以添加到网摘 让更多人关注此文章:

     :介绍了一种基于DSP的远程视频监控系统,简述了系统的硬件结构体系,重点介绍了基于TCP/IP协议的C/S软件结构的设计和实现方法
关键词:DSP;TCP/IP协议;远程监控;C/S

    本文提出了一种基于DSP的远程监控系统的设计,并给出了Windows环境下用Delphi实现远程控制的设计方法,克服了编写Winsock应用程序的复杂性。找到了一些方法能够很好地解决远程控制传输占有系统资源过多、实时性差、稳定性差等关键问题。
  本套远程控制系统主要针对实验室无人监管的发展要求,应用先进的计算机数字化技术,网络技术,多媒体技术,实施对图像、语音以及数据的远程实时监控。本系统选用TI公司的高速DSP完成编码工作,其中音频采用TLV320AIC23,视频采用MPEG压缩技术。针对不同的网络状况和运用需求,还可更换DSP的编码算法。

1 系统简介
  系统中可采用A/D,D/A,视频解码芯片,逻辑电路,内存,总线等基本部件。结构如图1所示。A/D的作用是将摄像头输出的标准的电视信号转换为标准格式的数字信号,然后在时序与逻辑电路的配合下送到视频压缩编码DSP中处理。DSP对接受的信号进行识别,编码等运算,由网络芯片进行D/A转换后,把经过压缩的视频信号无失真的通过网络传给远端用户。采用DSP来实现压缩和编码的优点在于他比采用专业压缩芯片的方法灵活性大,产品的升级或算法的更改极为方便。图像数据存储器和通信缓冲器都是大容量的存储器。他要存储压缩编码后的图像数据。并且要提供通信用的缓冲区。




    时序与控制逻辑电路是为了协调视频解码芯片和图 像处理DSP之间的工作而设置的,他根据视频解码芯片的输出信号和同步输出信号产生符合DSP的数据接口时序,以便DSP对于图像数据的实时存储和处理。

2 软件实现
  在软件设计中,采用典型的C/S结构,由客户端与服务端两部分构成。客户端主要是负责向服务端发出获取服务端屏幕图像数据的请求,把从服务端发送而来的屏幕图像在本地实时地显示出来;而服务端主要是负责响应客户端的请求并抓取与发送屏幕图像。由于服务端所抓取取的屏幕图像一般为位图格式,其数据量较大,若直接发送则会导致占用网络带宽过大、实时性差、占用系统资源过多、稳定性差等问题,因此需经过压缩后才能将其发送给客户端,而客户端相应地也要将接受到到屏幕图像数据进行解压缩后才能正确地将屏幕图像显示出来。
  WinSock是一组API,用于在网络上传输数据和交换信息。通过WinSock编程有更大的灵活性,因为他不需要关心网络连接的细节,然而用WinSock编程却很复杂。但因为TClientSocket元件和TServerSocket元件(在Internet页)封装了WinSock的大部分API,使得对WinSock的访问大大简化。
  程序原理:运行服务端开始侦听,再运行客户端,输入服务端IP地址建立连接,然后发一个字符通知服务端抓取屏幕。服务端调用自定义函数Cjt-GetScreen抓取屏幕存为BMP,把BMP转换成JPG,把JPG写入内存流中,然后把流发送给客户端。客户端接收到流后做相反操作,将流转换为JPG再转换为BMP然后显示出来。
    (1)服务端的程序
  在Internet面板上拖一个ServerSocket控件到窗口,该控件主要用于监听客户端,用来与客户端建立连接和通讯。设置好监听端口后调用方法Open或者Active:=True即开始工作。注意:当Socket开始监听后就不能再改变他的端口,要改变必须先调用Close或设置Active为False,否则将会产生异常。另外,如果该端口已经打开,就不能再用这个端口了。所以程序运行尚未退出就不能再运行这个程序,否则也会产生异常,即弹出出错窗口。实际应用中可以通过判断程序是否已经运行,如果已经运行就退出的方法来避免出错。
  当客户端有数据传入,将触发ServerSocket1ClientRead事件,就可以在这里对接收的数据进行处理。在本程序中,主要是接收客户端发送过来的字符信息并根据事先的约定来进行相应操作。
    服务器程序部分代码如下:

    (2)客户端程序
  添加Socket控件ClientSocket以及一些必要的控件。 ClientSocket的属性跟ServerSocket差不多,不过多了一 个Address属性,表示要连接的服务端IP地址。填上IP地址后点“连接”将与服务端程序建立连接,如果成功就可以进行通讯了。点击“抓屏”将发送字符给服务端。因为程序用到了JPEG图像单元,所以要在Uses中添加JPEG。
    客户端程序部分代码:

  程序有待改进的地方:可以加一个压缩单元,发送前先压缩再发送。注意:这里也是有技巧的,就是直接把BMP压缩而不要转换成JPG再压缩。实际上Delphi本身就自带了Zlib.pas和Zlibconst.pas两个单元文件来解决数据压缩问题,实现了很高的数据压缩比率。具体实现的思路如下:首先利用服务器捕捉到当前整个屏幕的图像,然后在内存中保存为BMP文件格式。在服务端进行压缩时,使用TCompressionStream对象对原始图像进行压缩并且保存在自定义的变量中;在客户端解压缩时,使用TDecompressionStream对象对被压缩的图像进行解压缩,还原为BMP格式的图像文件并随即显示出来。

3 结语
  在整个实现过程中,除了考虑屏幕获取和数据压缩、解压缩这两个核心问题外,还要注意选择好用于传输的网络协议以及服务端和客户端双方的协议等。利用上述技术和方法能够有效地对网络上的计算机、网络设备进行控制与管理,大大地提高了工作效率和减少了工作量。


参考文献


[1]Steve Teixeira Xavier Pacheco.Delphi5开发人员指南[M].北京:机械工业出版社,2000.
[2]张友生.远程控制编程技术[M].北京:电子工业出版社,2002.

[1]



相关文章
· TMS320C6x DSP的FLASH引导方法研究与实现[5]
· S3C2410X在无线宽带通信网中的应用[41]
· 基于TMS320DM270的长途客运车无线视频监控系统的设计[18]
· TMS320VC5502图像传输系统的USB接口扩展[27]
· 基于CMOS图像传感器的嵌入式图像采集与格式转化[47]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
亚洲行业盛事频繁IR节能创新再成瞩目
IPTV未获得奥运金牌
英特尔将于本月中期推出首款六核处理器
英飞凌在功率电子市场表现抢眼,以高于
LED奥运会大放光芒 功率
三星同意将Symbian股份出售给诺
英特尔收购Opened H
广东省省长黄华华视察研祥集团
EDI/WEDC/WHITE怀特存储
WHITE/WEDC/EDI代理商-
 
热门下载 [更多]
 
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
[ ] 实用电源电路集锦
 
论坛新帖 [更多]
 
verilog设计的一点经验...
Altera FPGA、CPL...
如何开始DSP的开发...
[转帖]如果让我重做一次研究生...
[分享]逆变器常见故障排除4例...
[分享]高级设计中的高密度AC...
[分享]本科毕业后如何是好:读...
做跨国公司中的“小巨人”——A...
转速测量有些什么好方法...
如何让你的手机电池更强更耐用?...

 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网