




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、the designing 结构(静态)冗余度,去除数据本身的多余信息。 jpeg 编码中主要涉及包括:dct、zigzag 编码、量化、rle 编码、范式 huffman 编码、dc(直流分量)的编码。jpeg 编码流程如图所示: 图 2-1 jpeg 编码流程图 dct(discrete cosine transform)变换,又称离散余弦变换是可逆的、离散的正交变 换。它将原始图像色彩空问域转换为频谱域。由于相邻两点像素色彩很多是接近的, 压缩这些不需要的数据必须利用图像信号的频谱特性。jpeg 压缩原理的理论依据是图 像信号频谱线大都分布在 06 mhz 范围内,而且一幅图像内大多数为
2、低频频谱线, 而高频的谱线只占图像比例很低的图像边缘或者细微纹理细节的信号时才出现。根据 这一特性,在做数字图像处理时对包含信息量大的低频谱区域分配较多的比特数,相 反的对于包含信息量低的高频谱区域分配较少的比特数,达到图像压缩的目的,而图 像质量并没有肉眼可察觉的降低。除了 dct 变换,常用的变化算法还有:walsh- hadamard 沃尔什哈达玛变换、哈尔变换、傅氏变换等。 量化是对 dct 系数的一个优化过程,利用了肉眼的高频不敏感特性对数据进行大 幅压缩。整个过程是简易的把频率域的每个成份除以对应的常数,并对结果四舍五入 取整,整个流程的目的是减少非零的系数以及增加零值系数数目。量
3、化是有损运算, 是图像质量下降的主要因素。对于人眼对亮度与色差的敏感性不一致,分别使用亮度 量化表与色度量化表。对量化后的数据采用 zigzag 蛇形编码,这是因为交流分量中含 有大量的零值,zigzag 编码可以产生更多连续的零值,对下一步使用行程编码非常有 利。行程编码(run length coding)是一种根据相同数据连续重复多次的情况简化表示的 算法。例如,5555333333999 按照行程编码表示为(5,4)(3,6)(9,3)可以对数据,尤其 是大量的零值压缩数据长度。编码后的数据还须通过 huffman 编码来压缩,huffman 编码的最大特点是使出现频率较高的数字小于
4、8 位,而出现频率低的数字大于 8 位, 这使得数据大幅压缩。到此数据的压缩过程结束,对压缩后的数据按照 jpeg 文件格式 要求进行保存,加上文件开始标记 start of image=ffd8,文件结束标记 end of image =ffd9,量化表标记 deftne quanttzation table=ffdb,霍夫曼编码表标记 ddfine huffman table=ffc4,帧开始标记 star of frame=ffc0 等标记,再加上图片识别信息 字节标记就最终形成完整的可用于传输或存储的 jpeg 帧图像,通过套接字接口不间断 地发送 jpeg 图像即形成 mjpeg 视
5、频流。 2.1.4 jpeg 相关 jpeg 是 joint photographic exports group 的英文缩写,中文称之为联合图像专家小 组。该小组隶属于 iso 国际标准化组织,主要负责定制静态数字图像的编码方法,即 所谓的 jpeg 算法。jpeg 专家组开发了两种基本的压缩算法、两种熵编码方法、四种 编码模式。 压缩算法: (1)有损的离散余弦变换 dct(discrete cosine transform) (2)无损的预测压缩技术; 熵编码方法: (1)huffman 编码; (2)算术编码; 编码模式: (1)基于 dct 的顺序模式:编码、解码通过一次扫描完成;
6、(2)基于 dct 的渐进模式:编码、解码需要多次扫描完成,扫描效果由粗到精, 逐级递增; (3)无损模式:基于 dpcm,保证解码后完全精确恢复到原图像采样值; (4)层次模式:图像在多个空间分辨率中进行编码,可以根据需要只对低分辨率 数据做解码,放弃高分辨率信息; 在实际应用中,jpeg 图像编码算法使用的大多是离散余弦变换、huffman 编码、 顺序编码模式。这样的方式,被人们称为 jpeg 的基本系统。这里介绍的 jpeg 编码算 法的流程,也是针对基本系统而言。基本系统的 jpeg 压缩编码算法一共分为 11 个步 骤:颜色模式转换、采样、分块、离散余弦变换(dct) 、zigza
7、g 扫描排序、量化、 dc 系数的差分脉冲调制编码、dc 系数的中间格式计算、ac 系数的游程长度编码、 ac 系数的中间格式计算、熵编码。 2.2 servfox 技术 2.2.1 servfox 的作用 servfox 在图像采集过程中主要两个线程:采集视频图像,发送视频图像给客户端。 在采集线程和发送线程同时运行的情况下,会存在对存储压缩过的图像数据的缓冲区 这个临界区竞争的情况。为了能把采集到每一帧图像数据完整的发送出去,需要采用 一些同步机制。servfox 只是个应用程序,它的初始化设备,获取设备属性和图像属性, 设置图像参数,捕捉图像数据,都是通过 video4linux 借口标
8、准调用驱动的相关函数 完成的。 2.2.2 servfox 流程图 图 2-2 servfox 流程图 servfox 运行过程: a.从命令行传递参数给变量; b.初始化视频采集设备; c.采集图像数据线程; d.建立 tcp 套接字服务端,为图像数据发送线程做好准备; e.发送图像数据到客户端的线程。 2.2.3 servfox 采集数据端 servfox,修改 makefile 文件为: cc= arm-linux-gcc servflags =- o2-dlinu x ( warnings )-i / home/ gongyaof ei/ linux-2. 6. 15/ include
9、 然后编译文件 make, 在当前文件夹下就可以看到生成的可执行文件 servfox, 把此可执 行文件拷贝到网络文件系统下/ home/ 2440/bin, 在开发板中运行 servfox-d /dev/video0 -g -s 320 x240 -w 7070, 就可以看到如下的提示信息: servfox version: 1. 1. 2 dat e: 07: 10: 2005 ( c) mxhaard magic. fr waiting. . . for connection. ct rl_c to stop ! ! ! ! 说明 servfox 已成功运行起来了。 2.3 video
10、for linux 介绍 video for linux(简v4l)是linux中关于视频设备的内核驱动,它为针对视频设备的 应用程序编程提供一系列接口函数,这些视频设备包括现今市场上流行的tv卡、视频 捕捉卡和usb摄像头等。对于usb口摄像头,其驱动程序中需要提供基本的i/o操作接 口函数open、read、write、close的实现。 当应用程序对设备文件执行读操作时,内核将调用file_operations结构中的read函数。 在系统平台上对usb口数码摄像头驱动,首先把usb控制器驱动模块静态编译进内核, 使平台中支持usb接口,再在需要使用摄像头采集时,使用insmode动态加
11、载其驱动模 块,这样摄像头就可以正常工作了,接着进行了下一步对视频流的采集编码。程序中 定义的数据结构: struct video_capability grab_cap; struct video_picture grab_pic; struct video_mmap grab_buf; struct video_mbuf grab_vm; 这些数据结构都是由video4linux支持的,它们的用途如下: video_capability 包含设备的基本信息(设备名称、支持的最大最小分辨率、信 号源信息等)name32 设备名称 maxwidth maxheight minwidth min
12、height channels 信号源个数 type 是否能capture,彩色还是黑白,是否能裁剪等等。值如 vid_type_capture等。 video_picture 设备采集的图象的各种属性 brightness 065535 hue colour contrast whiteness depth 8 16 24 32 palette video_palette_rgb24 | video_palette_rgb565 video_palette_jpeg| video_palette_rgb32 video_channel 关于各个信号源的属性 channel 信号源的编号 na
13、me tuners type video_type_tv | ideo_type_ccamera norm 制式 pal|nstc|secam|auto video_window 包含关于capture area的信息 x x windows 中的坐标. y y windows 中的坐标. width the width of the image capture. height the height of the image capture. chromakey a host order rgb32 value for the chroma key. flags additional capt
14、ure flags. clips a list of clipping rectangles. (set only) clipcount the number of clipping rectangles. (set only) video_mbuf 利用mmap进行映射的帧的信息 size 每帧大小 frames 最多支持的帧数 offsets 每帧相对基址的偏移 video_mmap 用于mmap 2.4 系统硬件平台 天嵌科技 s3c2440 开发板(如图 2-3 天嵌科技 s3c2440 开发板) ,其 cpu 处理器 使用 samsung s3c2440,主频 400 mhz,最高
15、533 mhz;64 m sdram、32 bit 数据总 线、sdram 时钟频率 100 mhz;256 m/1 gb nand flash,掉电非易失、2 m norflash,掉电非易失;4.3 真彩 lcd,屏集成 4 线电阻式触摸屏;100 m 以太网 rj- 45 接口(采用 dm9000 网络芯片) 、串行口、usb host、usb slave b 型接口、sd 卡 存储接口、路立体声音频输出接口,麦克风接口、jtag 接口、4 user leds、i2c 总 线 at24c08 芯片、20 pin 摄像头接口;摄像头用良田,兼容 sn9c20x 系列芯片的驱 动。本系统的内
16、核中集成了该驱动。在 s3c2440 上对 linux 内核及根文件系统的移植 并运行,则完成了嵌入式开发平台的搭建。其次,本文对系统的核心功能部分即应用 软件部分进行了设计和实现,包括完成 boa 服务器配置移植,外接 usb 摄像头驱动和 wlan 无线网卡驱动的开发和移植;利用 video4linux 提供的接口函数实现了摄像头 的图像采集;设计了系统 mpeg-4 图像采集和压缩的具体编程流程,并实现了基于 mjpeg 的视频压缩;采用了 ieee802.11 传输协议作为视频数据流传输协议,并实现 了视频数据在无线局域网(wean)内的实时性传输;利用 mjpeg 和 servfox
17、 实现了压 缩视频数据的解码播放。 图 2-3 天嵌科技 s3c2440 开发板 3 3 系统文件的移植系统文件的移植 3.1 系统配置移植环境搭建 由于嵌入式系统软件的开发特点,在进行软件开发之前需要建立一个开发环境, 包括开发主机的操作系统安装,交叉编译坏境对的建立等。一般在整个开发坏境中, 需要 windows 系统工作台, linux 系统的服务器和开发板。工作台主要用于控制和调 试开发板,linux 系统的服务器主要用于对程序的交叉编译。下表为开发坏境各个组成 部分和相关软件表述: 图 3-1 开发坏境要求 3.2 linux 移植相关 3.2.1 linux 系统组成部分介绍 一个
18、 linux 系统从软件的角度通常看可以分为四个层次,如下图所示: 引导加载程序:包括固化在固件中的 boot 代码,和 bootloader 两大部分。 linux 内核:特定于嵌入式板子的定制内核以及内核的启动参数。 文件系统:包括根文件系统和建立于 flash 内存设备之上的文件。 用户应用程序:特定于用户的应用程序。 图 3-2 linux 软件层次图 3.2.2 嵌入式文件系统 不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性,系统需求等 有不同的应用场合。在嵌入式系统 linux 应用中,主要存储设备室 ram(dram,sdram)和 rom,常用的基于存储设备的文件系
19、统类型包括: jffs2,yaffs,romfs,ramdisk,ramfs 等。 3.2.3 linux 移植 linux 移植主要包括三大部分:内核的重新编译,bootloader,重新编译文件系统的制 作。 3.3 boa 的配置移植 在嵌入式系统中,boa 服务器运行在linux 系统下,轻巧高效、占用资源少,是嵌入 式web 服务器的首选。解压boa 服务器的源代码,通过修改配置( 配置文件boa conf 在/etc /boa 目录下) ,可以将boa 编译进内核,从而使嵌入式linux 系统具备了 web 功能。执行步骤如下:(详细过程见附录一) 1) 下载源码解压。 2) 进入
20、boa/src后, configure配置生成makefile文件,然后执行make生成可执行文件boa。 3) 配置boa. conf文件,主要完成对boa运行的用户权限,端口,server根目录,html网 页等的设置。 (下图为boa服务器工作原理图) 图3-3 boa服务器工作原理图 由于服务器端的 web 页面包括 java 插件,所以在远程客户端 pc 机 windows 系 统安装 java 环境( j2sdk-1_4_1) ,下载安装好 j2sdk-1_4_1,在远程客户端的 ie 浏览器 地址栏上输入嵌入式 linux 视频网站的 ip 地址,就可以实现远程实时监控了。 1)
21、 清晰度的测量由于网络状况的差异,数据传输有所不同,测试效果能达到每秒 20 帧左右,满足实时播放的要求。 2) 工作环境的测试 设备可以方便的安装在各种特殊的工业现场和某些极端恶劣的环境中,用户都能顺利 的通过网络访问视频服务器网站,可以多用户同时访问,实现视频监控。理论传输距 离空旷区域 300 米,实际测试距离 260280 米(包含障碍物,楼房,树木等) 。 4 人机交互界面的设计 4.1 人机交互界面设计理念 软件界面是人机之间的信息界面,从某种意义上讲,它比硬件和工作环境更为 重要。优化软件界面就是要合理设计和管理人机对话的结构。对话的结构设计一般 可分为初始设计、形式评价和总结评
22、价三个阶段。 五种人机交互方式: 对话方式优点缺点 菜单选择学习期短 点击次数少,结构清楚,利 于进行出错处理 菜单之间识别性差 表格简化数据管理,利于比较, 只需要少量帮助 输入繁琐 命令语言 灵活,对经常性操作者有吸 引力; 支持用户主管能动性 不易于广泛推广 需要大量培训和记忆 出错处理能力差 自然语言直接使用,无学习负担技术限制 直接操作 以视觉的方式呈现,容易学 习,可以避免出错 鼓励探索,能提高高度主管 满足 编程难度 多种设备使用的协调性 4.2 人机交互界面设计的原则 (1)媒体最佳组合 媒体界面的成功并不在于仅向用户提供丰富的媒体,而应在了解媒体的功能、 选 择方法的基础上,
23、在相关理论的指导下,在语义层上将各种媒体有机地结合起 来以更 有效地传递信息。 (2)界面分析与规范 在人机界面设计中,首先应进行界面设计分析,即收集有关用户及其应用环 境信 息以后,进行用户特性分析,用户任务分析,记录用户有关系统的概念、术 语,这项 工作可与应用系统分析结合进行。分析任务中对界面设计要有界面规范 说明,选择界 面设计类型,并确定设计的主要组成部分。 由于人机界面是为适合人的需要而建立的,所以要清楚使用该界面用户的类型, 要了解用户使用系统的频率、用途及对用户的综合知识和智力的测试,这些均是用户 设计中的内容。在此基础上产生任务规范说明,进行任务设计。任务设计的目的在于 重新
24、组织任务规范说明以产生一个更有逻辑性的编排。设计应精心地分别给出人与计 算机的活动,使设计者较好地理解在设计一个界面时所遇到的问题,这样形成系统操 作手册、训练文件和用户指南的基础。在考虑用户工作方式及系统环境和支持等因素 下,精心任务设计。任务确定之后,要决定界面类型。目前有多种人机界面设计类型, 各有不同的 品质和性能,因此设计者要了解每种类型的优点和限制。大多数界面使用 一种以上的设计类型。 4.3 运用 microsoft visual studio 设计界面 在人机交互界面实现的时候,有两种方案可以选择:visual studio2008 和 qt, 下面是两种方案的选取比较。由于
25、vs2008 语法要求宽松,最终选用 vs2008 开发界面。 人际交互界面的设计方案 html(hyper text mark-up language) qt(奇趣) 编辑方便,简单明了优良的跨平台特性(windows,linux) 语法要求宽松良好的封装机制 制作软件多(dreamware,visual studio,frontpage) 模块化成度高 vs2008 是微软公司推出的开发环境,是目前最流行的 windows 平台应用程序开发 环境。vs2008 是基于 c 语言的一个开发平台,用户可以通过纯 c 语言编写,也可以使 用其设计模块进行直接设计。网页分为静态和动态两种。静态网页
26、是有一个 html 页面 保存在要看的页面上,浏览器就要这个页面的时候服务器就把这个页面文件发给浏览 器;动态网页时服务器上没有要看的页面,惹事服务器动态生成的 html 页面发给浏览 器。 一个网页的基本结构(c 语言版)如下: 基本结构中 head 是标题头,title 为网页的标题,body 为网页中的内容,如下图设计 版: 图 4-1 网页结构示意 网页设计中视频传输显示界面的涉及到的核心代码展示:(全部代码见附录二) you need to download java. click here: http:/ click on the window surface to set bri
27、ghtness and contrast when done, click again to remove the control box. 常用命令:创建表格;创建行;创建单元格; 回车; 为: /*if (dup2(error_log, stderr_fileno) = -1) die(unable to dup2 the error log); */ 否则会出现错误: log.c:73 unable to dup2 the error log:bad file descriptor (3)修改 src/boa.c 注释掉下面两句话: if (passwdbuf = null) die(”
28、getpwuid”); if (initgroups(passwdbuf-pw_name, passwdbuf-pw_gid) = -1) die(”initgroups”); 为 #if 0 if (passwdbuf = null) die(”getpwuid”); if (initgroups(passwdbuf-pw_name, passwdbuf-pw_gid) = -1) die(”initgroups”); #endif 否则会出现错误:boa.c:211 - getpwuid: no such file or directory 注释掉下面语句: if (setuid(0) !
29、= -1) die(”icky linux kernel bug!”); 为 #if 0 if (server_uid !=0 #endif 否则会出现问题:boa.c:228 - icky linux kernel bug!: no such file or directory 4、生成 makefile 文件 执行: #cd boa-0.94.13 #./configure 5、修改 makefile cdsrc vimmakefile 修改 cc gcc 为 cc arm-linux-gcc 修改 cpp gcc -e 为 cc arm-linux-gcce 退出, 6、编译 # cd
30、.返回到上层目录 make #cd src ls -l boa -rwxr-xr-x 1 daviddavid 189223 2009-05-31 13:44 boa 然后为生成的二进制文件 boa 瘦身 arm-linux-strip boa ls -l boa -rwxr-xr-x 1 daviddavid 61052 2009-05-31 13:51 boa 可以发现 boa 的大小前后差距很大这为我们节省了很大的空间 7、boa 的配置 这一步的工作也在电脑主机上完成。 在 boa-0.94.13 目录下已有一个示例 boa.conf(在 example 目录下) , 可以在其基础上进
31、行修改。如下: #cd #viboa.conf (1)group 的修改 修改 group nogroup 为 group 0 (2)user 的修改 修改 user nobody 为 user 0 (3)scriptalias 的修改 修改 scriptalias /cgi-bin/ /usr/lib/cgi-bin/ 为 scriptalias /cgi-bin/ /www/cgi-bin/ (5)doucmentroot 的修改 修改 doucmentroot /var/www 为 doucmentroot /www (6)servername 的设置 修改#servername www
32、..here 为 servername .here 否则会出现错误“gethostbyname:no such file or directory” (7)accesslog 修改 修改 accesslog /var/log/boa/access_log 为#accesslog /var/log/boa/access_log (8)errorlog 修改 修改 errorlog /var/log/boa/error_log 为 errorlog /root/log/boa/error_log 否则会出现错误提示:“unable to dup2 the e
33、rror log: bad file descriptor” (9)以下配置和 boa.conf 的配置有关,都是在 arm 根文件系统中创建 由于天嵌科技 2440 开发板采用 cramfs 文件系统,对/etc 目录没有修改的权限,所以采 取制作文件系统的方法。 在虚拟机中解压 up-star-rootfs.tar.bz2 #cd / #mkdirmyrootfs #cd myrootfs 将 up-star-rootfs.tar.bz2 复制到本目录下 #tar xvfup-star-rootfs.tar.bz2 #cd rootfs/etc #mkdir boa 创建目录 etc/bo
34、a 并且把 boa 和 boa.conf 拷贝到这个目录下,将 boa 也考到 rootfs/bin 目录下。 (10)在 rootfs/root/目录下创建 log/boa #cd /home/myrootfs/root/ #mkdirp log/boa #touch error_log (11)将 www 拷贝的 rootfs 目录下(创建 html 文档的主目录 www) rootfs 目录有如下内容: (12)还需要一个工具 servfox,解压 servfox-r1_0_0.tar.gz 进入 servfox 目录,直接 make,生成可执行文件 servfox,将其复制到 root
35、fs/bin 目录下。 (13)由于 redhat5.5,内核版本 2.6.18 系统不带 mkcramfs,我们要自己制作。 解压 cramfs-1.1.tar.gz 直接 make,生成可执行文件 mkcramfs,将其拷贝到 myrootfs 目录。 #./mkcramfsrootfsroot.cramfs 将 root.cramfs 烧写到开发板 测试: (1)启动开发板: #boa .style2 width: 38%; .style3 width: 46px; height: 25px; .style4 width: 38%; height: 25px; .style5 heigh
36、t: 25px; width: 28%; .style6 width: 46px; height: 104px; .style7 width: 38%; height: 104px; .style8 height: 104px; width: 28%; .style9 width: 28%; .style10 width: 25%; .style11 font-family: 宋体, arial, helvetica, sans-serif; font-size: small; font-weight: bold; width: 203px; .style12 width: 138px; fo
37、nt-weight: bold; .style13 width: 268px; height: 20px; font-weight: bold; font-family: 幼圆; .style14 height: 20px; font-family: 幼圆; font-size: small; font-weight: bold; width: 203px; .style15 width: 249px; 四翼探测飞行器信息窗口 you need to download java. click here: http:/ click on the window surface to set bri
38、ghtness and contrast when done, click again to remove the control box. 简 约 ; 高 效 追 求 nbsp; 卓 越 haojing college 摄像头控制区域 当前温度湿度信息 空气质量信息信息 a_team:程晓斌 杨鹏程 罗浩 张佳 指导老师:张鹏程 刘顺来 毕业设计说明书(论文)缩写稿 基于 arm9 的四翼探测飞行器的设计与实现 摘要 本文针对嵌入式开发基于 arm linux 平台的人机交互系统解决方案。将从多角度 阐述人机交互的最新发展及应用状况,包括多通道用户界面、智能用户界面多种关键 技术。还包含视频
39、传输,解码及最终显示在用户界面的软件详细开发过程。 1 绪论 1.1 课题的背景及意义 人机交互界面技术造就了辉煌的新时代个人计算机时代(20 世纪八、九十年 代) ,比如鼠标、图形界面等等对 pc 的发展起到了巨大的促进作用。人机交互界面设 计是计算机系统的重要组成部分,是当前计算机界面设计行业竞争的焦点。人机交互 界面设计在设计流程上分为信息构架设计、交互设计、视觉平面设计三个部分。 用户界面的发展对计算机系统整体性能的提高所具有的重要性已经得到了人们的 高度重视,与此同时,围绕人机建模业已形成了计算机产业又一新的竞争领域。在全 球范围内,美国将人机交互的研究以加入到国防项目中,而日本以针
40、对此内容提出一 个新计划 fpiend21 其目标就是要开发 21 世界的计算机界面。 1.2 课题价值发展现状 我国在人机界面方面的设计与国际同类研究相比还存在较大差距。目前的研究仅 仅着重于支持界面的软件和硬件,对界面本身还缺少深入的研究,用户界面的设计还 没有成为软件设计中独立的一部分,也缺少新的人机界面设计技术。 界面设计必须在一定程度上反映产品目标的核心功能价值、工作原理方法、可能 的操作方法方式和反馈产品信息在某一特定时刻的运转状态,并体现在以下几个方面: 可用性,界面灵活性,界面设计的复杂性,界面可靠性。 1.3 论文主要工作 本文设计的人机交互界面是基于 arm9 的四翼探测飞
41、行器视频采集及温湿度数据 采集的显示界面。另外摄像头的驱动是要在 linux 操作系统下进行配置和修改,编译 最后移植到 arm 板。 论文中人机交互界面的设计应用 microsoft 公司 visual studio 2008 软件对整个界面 的布局,表格等进行详细设计。 1.4 论文组织结构 本文包括五章内容,其章节安排如下: 第一章介绍选题背景意义及论文设计中主要任务。 第二章介绍本文设计中涉及的重要理论知识。 第三章本章涉及引导系统的修改和移植, 。 第四章运用 microsoft 公司的 visual studio 2008 应用程序开发人机交互的界面。 第五章对本文的工作进行了论述
42、和以后工作的展望。 2 视频流及摄像头相关技术基础 2.1 mjpeg 视频流技术 2.1.1 mjpeg 视频流概念 mjpeg 全名为 motion joint photographic experts group,是一种视频编码格 式,中文名称翻译为“技术即运动静止图像(或逐帧)压缩技术” 。采用 m-jpeg 数字 压缩格式,当压缩比 7:1 时,可提供相当于 betecam sp 质量图像的节目。 motion jpeg 技术常用于闭合电路的电视摄像机的模拟视频信号“翻译”成视频流, 并存储在硬盘上。典型的应用如数字视频记录器等。在某些条件下,mjpeg 也许是效率 最低的编码/解码
43、器之一。 2.1.2 mjpeg 与 mpeg4 的区别 mjpg 是 mjpeg 的缩写,但是 mjpeg 还可以表示文件格式扩展名. m-jpeg 是一种基于静态图像压缩技术 jpeg 发展起来的动态图像压缩技术,可以生 成序列化的运动图像。m-jpeg 压缩技术可以获取清晰度很高的视频图像,而且可以灵 活设置每路的视频清晰度和压缩帧数。m-jpeg 因采用帧内压缩方式也适于视频编辑。 2.1.3 mjpeg 压缩算法研究与实现 mjpeg(motion joint photographic experts group)视频编码格式,把运动的视 频序列作为连续的静止图像来处理,这种压缩方式
44、单独完整地压缩每一帧,编辑过程 中可随机存储每一帧,可进行精确到帧的编辑。一帧原始图像数据对其进行 jpeg 算法 编码过程分两大部分: 空间冗余度,去除视觉上的多余信息; 结构(静态)冗余度,去除数据本身的多余信息。 jpeg 编码中主要涉及包括:dct、zigzag 编码、量化、rle 编码、范式 huffman 编 码、dc(直流分量)的编码。 dct(discrete cosine transform)变换,又称离散余弦变换是可逆的、离散的正 交变换。它将原始图像色彩空问域转换为频谱域。由于相邻两点像素色彩很多是接近 的,压缩这些不需要的数据必须利用图像信号的频谱特性。 2.1.4 j
45、peg 相关 jpeg 是 joint photographic exports group 的英文缩写,中文称之为联合图像专 家小组。该小组隶属于 iso 国际标准化组织,主要负责定制静态数字图像的编码方法, 即所谓的 jpeg 算法。 2.2 servfox 技术 2.2.1 servfox 的作用 servfox 在图像采集过程中主要两个线程:采集视频图像,发送视频图像给客户端。 2.2.2 servfox 流程图 2.2.3 servfox 采集数据端 编译文件 make, 在当前文件夹下就可以看到生成的可执行文件 servfox, 把此可 执行文件拷贝到网络文件系统下/., 在开发板
46、中运行 servfox。 2.3 video for linux 介绍 video for linux(简 v4l)是 linux 中关于视频设备的内核驱动,它为针对视频设 备的应用程序编程提供一系列接口函数,这些视频设备包括现今市场上流行的 tv 卡、 视频捕捉卡和 usb 摄像头等。 2.4 系统硬件平台 天嵌科技 s3c2440 开发板(如图 2-3 天嵌科技 s3c2440 开发板) ,其 cpu 处理器使 用 samsung s3c2440,主频 400 mhz,4.3 真彩 lcd;以太网接口、串行口、usb host、sd 卡存储接口、路立体声音频输出接口,麦克风接口。在 s3c
47、2440 上对 linux 内核及根文件系统的移植并运行,则完成了嵌入式开发平台的搭建。其次,本文对系 统的核心功能部分即应用软件部分进行了设计和实现,包括 boa 服务器,外接 usb 摄 像头驱动和 wlan 无线网卡驱动;利用 v4l 实现了图像采集;设计了系统 mpeg-4 图像 采集和压缩;采用了 ieee802.11 传输协议作为视频数据流传输协议,利用 mjpeg 和 servfox 实现了视频播放。 3 系统文件的移植 3.1 系统配置移植环境搭建 由于嵌入式系统软件的开发特点,在进行软件开发之前需要建立一个开发环境,包括开发主机 的操作系统安装,交叉编译坏境对的建立等。一般在
48、整个开发坏境中,需要 windows 系统工作台, linux 系统的服务器和开发板。下表为开发坏境各个组成部分和相关软件表述: 3.2 linux 移植相关 3.2.1 linux 系统组成部分介绍 一个 linux 系统从软件的角度通常看可以分为四个层次。 引导加载程序:包括固化在固件中的 boot 代码,和 bootloader 两大部分。 linux 内核:特定于嵌入式板子的定制内核以及内核的启动参数。 文件系统:包括根文件系统和建立于 flash 内存设备之上的文件。 用户应用程序:特定于用户的应用程序。 3.2.2 嵌入式文件系统 不同的文件系统类型有不同的特点,因而根据存储设备的
49、硬件特性,系统需求等有不同的应用 场合。 3.2.3 linux 移植 linux 移植主要包括三大部分:内核的重新编译,bootloader,重新编译文件系统的制作。 3.3 boa 的配置移植 在嵌入式系统中,boa 服务器运行在 linux 系统下,轻巧高效、占用资源少,是嵌入式 web 服务器的首选。 1) 下载源码解压。 2) 配置生成 makefile 文件,执行 make 生成可执行文件。 3) 配置 boa. conf 文件。安装 j2sdk-1_4_1。 4 人机交互界面的设计 4.1 人机交互界面设计理念 软件界面是人机之间的信息界面,从某种意义上讲,它比硬件和工作环境更为
50、重要。优化软 件界面就是要合理设计和管理人机对话的结构。对话的结构设计一般可分为初始设计、形式评价 和总结评价三个阶段。 4.2 人机交互界面设计的原则 (1)媒体最佳组合 (2)界面分析与规范 在人机界面设计中,首先应进行界面设计分析,即收集有关用户及其应用环 境信息以后,进 行用户特性分析,用户任务分析,记录用户有关系统的概念、术 语,这项工作可与应用系统分析 结合进行。 4.3 运用 microsoft visual studio 设计界面 在人机交互界面实现的时候,有两种方案可以选择:visual studio2008 和 qt,下面是两种方 案的选取比较。由于 vs2008 语法要求
51、宽松,最终选用 vs2008 开发界面。 vs2008 是基于 c 语言的一个开发平台,用户可以通过纯 c 语言编写,也可以使用其设计模块 进行直接设计。网页分为静态和动态两种。静态网页是有一个 html 页面保存在要看的页面上, 浏览器就要这个页面的时候服务器就把这个页面文件发给浏览器;动态网页时服务器上没有要看的 页面,惹事服务器动态生成的 html 页面发给浏览器。 一个网页的基本结构(c 语言版)如下: 基本结构中 head 是标题头,title 为网页的标题,body 为网页中的内容。 5 测试与总结 5.1 测试结果展示 将所有的部分完成之后,需要接受端完成图像接收性能的测试。 5
52、.2 工作总结 本课题经过一个月的设计,以基于 arm9 的四翼探测飞行器之人机交互系统设计。通过远程 搭载的摄像头采集视频通过 ieee802.11 无线传输协议传输到 pc 机客户端,实现人机交互。课题的 提出紧跟时代潮流,在嵌入式系统趋于广泛应用各个领域,围绕并展开一系列工作。 5.3 工作展望 系统设计中涉及了很多知识,作者也从中学习了很多的知识和技术,包括嵌入式技术,图像编 码技术等等。系统的设计到最后基本符合设计要求,但是由于作者能力有限,在以下方面还需要进 一步完善。 致 谢 经过一个多月的紧张撰写,毕业论文的工作以接近尾声,回收三年的学习与生活, 许许多多激动画面又浮现在眼前。
53、在此毕业之际,我首先感谢陕西科技大学镐京学院 给我大学生活学习的机会,让我学习到跟多知识及经验。其次要感谢我的班主任路竹 老师,刘顺来老师和党东锋老师。 特别我感谢我们小组的其他成员,谢谢你们。除此之外还要感谢我的父母和家人。 最后感谢答辩组的老师在百忙之中阅读批评评论指正我论文中的不足,在此衷心 祝福各位老师工作顺利,事事顺心! 参考文献 1w.richard stevens,bill fenner,andrew m.rudoff,richardw.stevens.unix 网络编程第 1 卷:套接口 api(第 3 版)m. 北京:清华大学出版社,2006.11 2周立功.arm 嵌入式系
54、统基础教程(第二版)m.北京:北京航空航天大学出版社, 2008-9-1. 3杨继华.基于嵌入式 linux 的远程图像监控系统d.华中科技大学硕士学位论文. 2005.4 4mini2440 用户手册p. 广州友善之臂计算机科技有限公司,2010.9.25 5柳亚东.基于 s3c2440 的嵌入式视频网络监控系统d.上海交通大学硕士学位论 文.2009.1 毕业设计说明书(论文)缩写稿译文 the designing structure (static) redundancy, removing redundant information of the data itself. includ
55、ing: dct, zigzag coding, quantization, rle encoding, the paradigm huffman coding, coding dc (dc component) is mainly involved in the jpeg encoding. dct (discrete cosine transform) transform, also known as the discrete cosine transform is invertible, discrete orthogonal transformation. it the origina
56、l image color spatial domain to the spectral domain. due to the two adjacent pixel color is close, the compression of these unwanted data must utilize the spectral characteristics of the image signal. 2.1.4 jpeg related jpeg is the abbreviation for joint photographic exports group, the chinese calle
57、d the joint photographic experts group. the team is part of the iso international organization for standardization, is mainly responsible for custom static digital image coding method, which is called the jpeg algorithm. 2.2 servfox technology 2.2.1 the servfox role servfox in the image acquisition
58、process two threads: capture video images, send the video image to the client. 2.2.2 servfox flowchart 2.2.3 servfox collected data terminal the compiled documents make, the current folder you can see the resulting executable servfox, executable files are copied to the network file system /. run ser
59、vfox development board. 2.3 video for linux introduction video for linux (jane v4l) linux kernel driver, it offers a range of interface functions for video equipment application programming on the video device, these video devices including the popular tv card on the market today, video capture card
60、 and usb camera and so on. 2.4 system hardware platform the day embedded technology s3c2440 development board (figure 2-3 embedded technology s3c2440 development board), the cpu processor samsung s3c2440 clocked at 400 mhz, 4.3 true color lcd; ethernet interface, serial port, usb host, sd card stora
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3D动画合成-洞察阐释
- VR辅助的飞机维修机器人路径规划与操作优化-洞察阐释
- 基因编辑自体血输血在血液病治疗中的伦理争议-洞察阐释
- 太阳能发电供热行业用户品牌认知与行为选择关系研究-洞察阐释
- 人工智能辅助决策系统-洞察阐释
- 3D打印技术驱动的自修复复合材料隔声性能优化-洞察阐释
- 2025-2030中国氯米帕明行业市场发展分析及发展趋势与投资研究报告
- 医疗供应链金融中的区块链技术应用及挑战
- 2025-2030中国机场空气调节机组(PCA)行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国有机肥行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 康复科并发症二次残疾
- (新版)拖拉机驾驶证科目一知识考试题库500题(含答案)
- 2025年中考物理一轮复习:物理学与社会发展 专项练习
- DL∕T 526-2013 备用电源自动投入装置技术条件
- 2024年北京大兴区九年级初三一模英语试题和答案
- JT-T-848-2013公路用复合隔离栅立柱
- 食品生物化学 知到智慧树网课答案
- 2024年江苏国信新丰海上风力发电有限公司招聘笔试冲刺题(带答案解析)
- 学术交流英语(学术写作)智慧树知到期末考试答案2024年
- 国家卫生部《综合医院分级管理标准》
- 中医经络养生拍打
评论
0/150
提交评论