当前位置:
文档之家› 基于实时的网络的远程图像传输技术
基于实时的网络的远程图像传输技术
• 图像数据的压缩基于两点: • (1)像信息存在着很大的冗余度,数据之 间存在着相关性,如相邻像素之间色彩的 相关性等。 • (2)人眼是图像信息的接收端。因此,可 利用人的视觉对于边缘急剧变化不敏感 (视觉掩盖效应),以及人眼对图像的亮 度信息敏感、对颜色分辨率弱的特点实现 高压缩比,而解压缩后的图像信号仍有着 满意的主观质量。
图像的压缩
• 从信号系统的角度理解,数据的压缩就是对原来 信号进行某种变换。借助这种变换,信号的表达 更经济,存储传输更为方便。从信息论角度理解, 信号本身的具体表达形式不过是其内在携带信息 的外在表象,一定的信息可以用各种形式加以体 现,每种表达形式的表达效率并不相同,存在着 信息冗余。数据压缩的目的就是寻找在一定约束 条件下最为高效的信息表达方式。从压缩技术的 角度理解,数据压缩一般分为:建模、去相关、 量化、编码四道工序。 • 由此发展出数据压缩的两类基本方法:无损压缩 和有损压缩。
套接字 连接
网络
套接字 连接
IBM 兼容机
ServerSocket sc=new ServerSocket(58787); Socket socket=sc.accept(); OutputStream out=socket.getOutputStream(); inputStream in=socket.getInputStream(); Socket s1=new Socket(host,port); OutputSteam out=s1.getOutputStream();
1. 数据获取 2. 数据分析和压缩
3. 通过网络传输
通过TCP连接来传输
图像块的截取运算(Robot类)
网络传输 (ServerSocket类和Socket类)
接收一 个一个 送到的 图像块, 并将其 组装到 待显示 缓存,最 后显示 到屏幕
IBM 兼容机
截取到 的图像 块一个 一个发 送到网 络输出 流中
远程控制技术的应用:
1.远程办公 2.远程技术支持 3.远程交流 4.远程维护和管理
这种远程的办公方式不仅大大缓 通常,远距离的技术支持必须依赖技术 解了城市交通状况,减少了环境污 人员和用户之间的电话交流来进行,这 染,还免去了人们上下班路上奔波 种交流既耗时又容易出错有了远程控制 的辛劳,更可以提高企业员工的工 利用远程技术,商业公司可以实现和 技术,技术人员就可以远程控制用户的 作效率和工作兴趣。 用户的远程交流,采用交互式的教学 电脑,就像直接操作本地电脑一样,只 模式,通过实际操作来培训用户,使 需要用户的简单帮助就可以得到该机器 用户从技术支持专业人员那里学习示 存在的问题的第一手材料,很快就可以 例知识变得十分容易。而教师和学生 找到问题的所在,并加以解决。 之间也可以利用这种远程控制技术实 现教学问题的交流,学生可以不用见 到老师,就得到老师手把手的辅导和 讲授。学生还可以直接在电脑中进行 网络管理员或者普通用户可以通过远 习题的演算和求解,在此过程中,教 程控制技术为远端的电脑安装和配置 师能够轻松看到学生的解题思路和步 软件、下载并安装软件修补程序、配 骤,并加以实时的指导。 置应用程序和进行系统软件设置。
数据流
数据压缩
将显存的数据直接抓 过来,再进行二次组织, Robot类完成
internet网络
发送 和 接收
解压缩
数语音 据流
播放语音
系统 接口
将鼠标和 键盘事件 传递给系 统
发送 和 接收
接收事件 对象
怎样在有限的 带宽条件下,传 打包为对象 输我们得到的 图像数据,难点!
系统 接口
监听鼠 标和键 盘事件
研究生论坛----第一讲
基于网络的远程图像传输技术和 远程控制技术—java实现
Author:马俊 2007年11远程控制技术,始于DOS时代,只不过当时 由于技术上没有什么大的变化,网络不发达,市场没 有更高的要求,所以远程控制技术没有引起更多人的 注意。但是,随着网络的高度发展,电脑的管理及技 术支持的需要,远程操作及控制技术越来越引起人们 的关注。远程控制一般支持下面的这些网络方式: LAN、WAN、拨号方式、互联网方式。传统的远程 控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、 TCP/IP等协议来实现远程控制,不过,随着网络技 术的发展,目前很多远程控制软件提供通过Web页 面以Java技术来控制远程电脑,这样可以实现不同 操作系统下的远程控制.
假设将对由1,2,3,4,5,6,7,共7个字符组成的原始信息进行哈夫曼编码, 首先应对信息中各个数字出现的次数进行统计,得出各个数字的出现的 相对概率。假设各个数据出现的次数如表2-1所示。 Table 2-1 Statistic distribution of the 7 numbers 1 数字 出现的次数 相对概率 10 0.1 10 0.1 10 0.1 20 0.2 20 0.2 25 0.250.0 5 5 2 3 4 5 6 7
图像的压缩
• 无损压缩是将相同的或相似的数据或数据特 征归类,使用较少的数据量描述原始数据, 达到减少数据量的目的。无损压缩又称信息 保持编码,或叫做熵保持编码。图像的无损 • 有损压缩是有利用人眼的视觉特性有针对 压缩通常分为两步,即去相关和编码。去相 性地简化不重要的数据,以减少总的数据 关就是要去除图像冗余,降低信源熵。 量。有损算法有很多种,比较常见的主要 是预测编码、变换编码等。 • 预测编码法中最重要的是线性预测法,通 常也成为“差值脉冲编码调制法” DPCM.
远程控制软件介绍
• 当前比较流行的商业化的远程控制软件大 概有: • Pcanyware • Netop • Radmin • vnc • 各种虚拟教室软件
Radmin演示
VNC 介绍
• VNC(Virtual Network Computing,虚拟网络计算)最早是一套由英国剑桥大学AT&T实 验室在2002年开发的轻量型的远程控制计算机软件,其采用了 GPL 授权条款,任何人都可 免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先 将VNC server安装在被控端的计算机上后,才能在主控端执行 VNC viewer 控制被控端。 VNC server 与 VNC viewer 支持多种操作系统,如 windows,Linux,MacOS 及 Unix 系列(Unix,Solaris等),因此可将 VNC server 及 VNC viewer 分别安装在不同的操作 系统中进行控制。RealVNC 的优越性还在于如果操作系统的主控端计算机没有安装 VNC viewer,也可以通过一般的网络浏览器(如 IE 等)来控制被控端(需要 Java 虚拟机的支 持)。 整个 VNC 一般运行的工作流程如下: (1) VNC 客户端通过浏览器或 VNC Viewer 连接至 VNC Server。 (2) VNC Server 传送一对话窗口至客户端,要求输入连接密码(可能为空),以及存取 的 VNC Server 显示装置。 (3) 在客户端输入连接密码后,VNC Server 验证客户端是否具有存取权限。 (4) 若是客户端通过 VNC Server 的验证,客户端即要求 VNC Server 显示桌面环境。 (5) 被控端将画面显示控制权交由 VNC Server 负责。 (6) VNC Server 将把被控端的桌面环境利用 VNC 通信协议送至客户端,并且允许客户 端控制 VNC Server 的桌面环境及输入装置。
InputStream in=s1.getInputStream();
用到的类---Java.awt.Robot类
• This class is used to generate native system input events for the purposes of test automation, self-running demos, and other applications where control of the mouse and keyboard is needed. The primary purpose of Robot is to facilitate automated testing of Java platform implementations.
远程控制软件的原理
通过远程控制软件,我们可以进行很多方面的远程 控制,包括获取目标电脑屏幕图像、窗口及进程列 表;记录并提取远端键盘事件(击键序列,即监视 远端键盘输入的内容);可以打开、关闭目标电脑 的任意目录并实现资源共享;提取拨号网络及普通 程序的密码;激活、中止远端程序进程;管理远端 电脑的文件和文件夹;关闭或者重新启动远端电脑 中的操作系统;修改Windows注册表;通过远端 电脑上、下载文件和捕获音频、视频信号等。
下一版想实现的技术
• • • • • • •
将桌面去掉 传输无损压缩的图像 仅传输图像差值 或 根据带宽智能选择 传输有损压缩图像 到服务端作补偿运算
下一版想实现的技术
• • • • •
完善界面控制 完善支持语音的采样和压缩传输 添加文件传输功能 支持嵌入式系统 完全绿色化
图像块的差运算
图像的压缩
VNC可以是无控制端的远程控制软件,我们可以使用浏览 器结合JAVA插件对远程计算机进行控制,所以直接在被控 机上安装VNC即可完成被控端的操作。
vnc 演示
Ajax VNC 演示
自编的远程救助系统演示
工作原理图
上副图 上副图
图像数据采集
本副图 图象差
数据压缩
解压缩
本副图 图象和
显示图像
语音 数据 采集
常用的图像压缩算法
霍夫曼编码、游程编码、二进制信源编码等 冗余度压缩 (熵编码) 统计编码 算术编码 基于字典的编码:LZW编码等
其他编码
特征抽取