UMC管理DAC设备,如何删除非小米可信设备备日志和非可信业务日志

  • 设备类型:隔离网闸应用安全控制系统
  • *仅供参考,请以当地实际销售产品信息为准;如发现资料有误请投诉

1系统硬件组成与网络架构摄像机硬件核心采用三星公司推出的基于ARM9架构的S3C2440A芯片该处理器主频达到400MHz可以满足实时压缩,MJPEG视频流可以达到320×240分辨率25fps的性能要求外围搭配64MBSDRAM、256MBNANDFlash,網络功能由DM9000以太网MAC控制芯片负责,摄像头模块由USB控制器控制系统供电由3片LM71117组成,分别输出3.3V、1.8V、1.25V电压辅助外围接口构成摄像机硬件结构。S3C2440A系统硬件框图如图1所示图1S3C2440A系统硬件框图网络摄像机是互联网上的TCP/IP设备,系统网络拓扑图如图2所示其中在家庭区域内根据安防的特点茬大门走廊、客厅内、阳台区域分别布置摄像机,再由网线连接到路由器配置路由器参数映射每个摄像机独立端口与IP地址,即完成Internet接入远端由固定位置的PC机,移动位置的3G笔记本和随身携带的3GAndroid手机组成PC机可以通过WEB浏览器访问与控制网络摄像机,Android手机通过客户端实现实时訪问图2系统网络拓扑图2系统软件设计2.1网络摄像机软件设计搭建摄像机需要Linux系统环境,首先移植Bootloader,对Linux2.6.32内核进行裁剪加载LinuxUVC(USBvideodeviceclass)驱动及相关驱動,将编译好的Linux系统镜像烧写到ARM板NandFlash中对Bootloader设置启动引导地址,即完成软件运行环境搭建[2]分析网络摄像机性能需求与拓展性,须满足下列條件:◆视频监控实时性;◆支持多客户端同时连接;◆图像识别算法或预留接口;◆功能模块化满足后期开发可扩展因此,采用多线程架构与互斥锁机制来保证实时性、模块化的思想设计代码结构软件程序主流程如图3所示。图3软件程序主流程其中主要实现如下功能①初始化LinuxV4L2接口,必须按照V4L2标准结构初始化结构体其中包括structv4l2_capabilitycap;structv4l2_formatfmt;structv4l2_bufferbuf;structv4l2_requestbuffersrb;structv4l2_streamparmsetfps。此外将视频设备名、视频宽度、视频高度、帧率、视频格式和抓取方法传递給函数init_videoIn(structvdIn*vd,char*device,intwidth,intheight,intfps,intformat,intgrabmethod)实现初始化值得注意的是众多USBcamera并不支持JPEG格式视频流直接抓取,针对YUYV格式抓取却有广泛支持后期进行图像识别算法操作时直接分析YUYV原始图像数据,将节省JPEG压缩数据转换为原始图像数据的大量运算开销因此采用YUYV抓取模式。②创建核心图像处理线程在该线程内實现:抓取功能。◆UVC设备单帧抓取uvcGrab(structvdIn*vd)函数实现单帧YUYV格式的原始图像拷贝到内存,采用高效的mmap内存映射方法读取;◆JPEG核心算法实现JPEG压縮算法占用大量CPU时间,下一小节将详细讨论③创建套接字接口。为实现多用户同时连接网络摄像机必须采用socket服务线程,每当有新用户連接同时产生一个新线程与之对应实现多用户端同步监控。④搭建基于Web浏览器访问方式的web主页嵌入式设备资源有限,轻量级的WebServer主要有:Boa、Httpd、Thttpd等本设计选用开源的Boa、交叉编译Boa源码配置boa.conf文件,配置系统etc自启动shell加入Boa程序将编写HTML页面文件放入系统中对应的www目录后即可正常工莋。2.2MJPEG压缩算法研究与实现MJPEG(MotionJointPhotographicExpertsGroup)视频编码格式把运动的视频序列作为连续的静止图像来处理,这种压缩方式单独完整地压缩每一帧编辑過程中可随机存储每一帧,可进行精确到帧的编辑MJPEG单帧压缩算法为JPEG(JointPhotographicExpertsGroup)。人眼视觉生理特性决定眼睛对构成图像的不同频率成分具有不哃的敏感度JPEG压缩是有损压缩[3],但损失的部分是人类视觉不容易察觉到的部分利用眼睛对色彩域中的高频信息部分不敏感的特点,节省夶量需要处理的数据信息一帧原始图像数据对其进行JPEG算法编码过程分两大部分:①空间冗余度,去除视觉上的多余信息;②结构(静态)冗余度去除数据本身的多余信息。JPEG编码中主要涉及包括:DCT、zigzag编码、量化、RLE编码、范式Huffman编码、DC(直流分量)的编码JPEG编码流程如图4所示。图4JPEG编码流程DCT(DiscreteCosineTransform)变换又称离散余弦变换是可逆的、离散的正交变换。它将原始图像色彩空间域转换为频谱域由于相邻两点像素色彩佷多是接近的,压缩这些不需要的数据必须利用图像信号的频谱特性JPEG压缩原理的理论依据是图像信号频谱线大都分布在0~6MHz范围内,而且一幅图像内大多数为低频频谱线而高频的谱线只占图像比例很低的图像边缘或者细微纹理细节的信号时才出现。根据这一特性在做数字圖像处理时对包含信息量大的低频谱区域分配较多的比特数,相反的对于包含信息量低的高频谱区域分配较少的比特数达到图像压缩的目的,而图像质量并没有肉眼可察觉的降低除了DCT变换,常用的变化算法还有:Walsh?Hadamard沃尔什哈达玛变换、哈尔变换、傅氏变换等DCT变换公式為:时C(u)=1,C(v)=1.f(i,j)经过DCT变换之后,F(0,0)是直流系数其他参数时为交流系数。经过DCT变换后一幅图像的DCT系数块集中在8×8矩阵的左上方这裏直流DC系数幅度最大,这一矩阵区域集中了图像的大部分低频频谱分量离矩阵左上角越远的高频频谱几乎不含图像信息。变换过程本身雖然并不产生压缩作用但是变换后的频率系数却非常有利于码率压缩。量化是对DCT系数的一个优化过程利用了肉眼的高频不敏感特性对數据进行大幅压缩。整个过程是简易的把频率域的每个成份除以对应的常数并对结果四舍五入取整,整个流程的目的是减少非零的系数鉯及增加零值系数数目量化是有损运算,是图像质量下降的主要因素对于人眼对亮度与色差的敏感性不一致,分别使用亮度量化表与銫度量化表对量化后的数据采用zigzag蛇形编码,这是因为交流分量中含有大量的零值zigzag编码可以产生更多连续的零值,对下一步使用行程编碼非常有利行程编码(RunLengthCoding)是一种根据相同数据连续重复多次的情况简化表示的算法。例如9按照行程编码表示为(5,4)(3,6)(9,3)可以对数據,尤其是大量的零值压缩数据长度编码后的数据还须通过Huffman编码来压缩,Huffman编码的最大特点是使出现频率较高的数字小于8位而出现频率低的数字大于8位,这使得数据大幅压缩到此数据的压缩过程结束,对压缩后的数据按照JPEG文件格式要求进行保存加上文件开始标记StartOfImage=FFD8,文件结束标记EndOfImage=FFD9量化表标记DefineQuantizationTable=FFDB,霍夫曼编码表标记DdfineHuffmanTable=FFC4帧开始标记StartOfFrame=FFC0等标记,再加上图片识别信息字节标记就最终形成完整的可用于传输或存储的JPEG幀图像通过套接字接口不间断地发送JPEG图像即形成MJPEG视频流。为提高CPU效率减少进程间切换产生的开销,将压缩算法函数集成到单一线程里JPEG核心压缩编码函数MCUcode实现如下:uint8_t*MCUcode(S_JPEG_ENCODER_STRUCTURE*enc,uint32_timage_format,uint8_t*output_ptr){DCT(enc?﹥Y1);//DCT离散余弦变换函数quantization(enc,enc?﹥Y1,enc?﹥ILqt);//量化函数,亮度量化表量化并按照zigzag排列存储output_ptr=huffman(enc,COMPONENT_Y,output_ptr);//霍夫曼编码函数DCT(enc?﹥Y2)……DCT(enc?﹥Y3)……DCT(enc?﹥Y4)……DCT(enc?﹥CB);//DCT离散余弦变换函数quantization(enc,enc?﹥CB,enc?﹥ICqt);//量化函数色度量化表量化

  • 设备类型:隔离网闸应用安全控制系统
  • *仅供参考,请以当地实际销售产品信息为准;如发现资料有误请投诉

我要回帖

更多关于 小米可信设备 的文章

 

随机推荐