规划概述
本规划布景及意图:
跟着宽带Internet以及数字多媒体技能的飞速发展,以Internet为传输前言的视频会议、可视电话、长途视频监控、长途医疗体系以及数字流媒体等新的视频运用层出不穷。这些运用都需求对许多的图画进行网络传输。而由于图画的信息量巨大,给存储器的存储容量、通讯干线信道的带宽,以及核算机的处理速度添加极大的压力,单纯靠添加存储器容量,进步信道带宽以及核算机的处理速度等办法来处理这个问题都是不现实的,有必要对图画进行紧缩,去掉图画信息中的冗余,削减网络传输的信息量。
JPEG是世界规范化安排(ISO)和CCITT联合拟定的静态图画的紧缩编码规范,它是现在静态图画中紧缩比最高的,正是由于JPEG的高紧缩比,使得它在数据量极大的多媒体以及带宽资源名贵的网络程序中有着十分广泛的运用。
当JPEG编解码的速度进步到必定程度,就能够对动态图画进行编码,这种JPEG紧缩编码称为M-JPEG(Motion-JPEG)。M-JPEG一个很大的特色便是图画处理等待时刻较少,适合于在例如视频移动侦测或物体追寻环境下进行图画处理。M-JPEG可供给一切实际运用的图画分辨率,从用于移动电话的QVGA分辨率,到4CIF的全视频显现尺度,乃至是更高的百万像素分辨率。体系不管在移动或杂乱环境情况下都能确保视频质量,并供给高图画质量(低紧缩)和低图画质量(高紧缩)的灵敏挑选,一起能真实确保图画处理的实时性。
本规划适用范围及用户:
首要,JPEG运用的范畴包括互联网、五颜六色传真、打印、扫描、数字摄像、遥感、移动通讯、医疗图画和电子商务等等,于此一起,JPEG在数码相机、PDA、手机等手持设备和嵌入式设备中的运用也正方兴未已。
其次,当能完结实时处理JPEG编解码时(M-JPEG),又可将其用于以Internet为传输前言的视频会议、可视电话、长途视频监控、长途医疗体系以及数字流媒体等新的视频范畴。
最终,本规划完结的是JPEG实时编解码体系,因此可用于实时图画的传输和处理,比如上面说到的长途监控、可视电话等,往大点说,可将此体系用于重要场所的监控体系中,公司部分之间的视频会议体系中等需求实时传输图画的一些体系中。
功用概述
本规划的功用:
本规划首要有两大部分组成:第一部分为图画编码服务器端,第二部分为图画解码客户端。关于图画编码服务器端可分为:图画收集模块、JPEG编码模块、网络(Internet)传输数据模块(包括紧缩码流和操控指令传输及接纳);关于图画解码客户端可分为:JPEG解码模块、VGA显现模块。在软硬件结合操控下,完结服务器端进行图画的收集,经过Internet传输码流,客户端实时显现图画这一功用(当处理速度必定程度时,能够视为实时、同步)。整个组成部分或单元在Spartan®-6渠道外加必定的外设上(例如摄像头,AD转化和DA转化,VGA显现或者说显现器等)完结了JPEG实时编解码体系这一规划理念。
规划结构
全体规划构思:
如图1,体系首要分为两大部分组成:图画编码服务器端和图画解码客户端,而且服务器端能够规则衔接的客户端数目。
图1 整体硬件图示
其间,图画编码服务器端又包括图画的实时收集、JPEG编码、网络传输数据(传送至图画解码客户端);图画解码客户端包括JPEG解码(当然,条件是接纳数据后)、VGA显现图画;当然,客户端能够不只一个,能够再服务器端装备客户端的个数,本规划只用一个客户端进行阐明。
则详细硬件规划图可如图2:
图2 详细硬件模块图
作业原理
1、图画编码服务器端:
体系上电后,NiosII对它操控下的图画实时收集模块,JPEG编码模块以及网络传输模块进行装备,包括收集来的原始图画存储的首地址,图画处理缓存去首地址和紧缩后图画存储首地址等等,然后网络模块检测有没有客户端的恳求衔接,若有,CPU发生线程,树立与客户端的衔接,并告诉图画收集模块,当图画收集模块收集完一帧后,向CPU发送中止,告诉对原始图画进行编码,一帧图画编码结束后,JPEG紧缩模块向CPU发送中止,告诉网络传传输码流模块传送码流至客户端。详细流程图如下:
图3 图画编码服务器端作业流程
2、图画解码客户端:
客户端与服务器端成对称联系。当CPU完结一系列装备后,向服务器发送衔接恳求,如被承受,客户端接纳服务器端的紧缩码流,一帧数据接纳结束后,发送中止;解码模块接纳到CPU发送的信号,开端解码,解码一帧结束后,向CPU发送中止,显现模块接纳到一帧康复后的数据后开端显现,显现完一帧,检测解码模块是否有新的图画,如有,则显现下一帧图画,反之,持续显现当时图画(不进行更新)。详细流程如下:
图3 图画解码客户端作业流程
3、JPEG编码操控软件流程
编码操控软件流程图
4、JPEG解码操控软件流程
解码操控软件流程图
规划办法
一:图画收集模块
使用摄像头和Analog Device公司的ADV7181模数转化芯片完结收集模块(当然,也能够从DVD等相似设备取得图画),经过AD转化完结RGB转YCbCr(此刻要考虑采样率),完结模拟信号到数字信号转化。当然,此模块完结起来或许并非像说的那么简略。大致流程如下:
图5 图画收集模块流程
二:JPEG编码部分
流程如下:
图6 JPEG编码流程图
1、将图画分红8*8数据块(其实是数字信号数组,即YCbCr(由RGB依照两者之间联系转化过来)组成的数组,其间YCbCr份额不同),DCT改换选用8*8改换公式;
2、进行DCT改换(此进程是规划中最耗硬件资源的,故而也最影响速度),DCT改换算法现已比较老练,能够有许多文献供参阅,若自己有幸能够参赛,本规划将计划选用两次的一维DCT改换来完结二维的DCT改换(要完结实时编码,此部分或许还需改善),详细如下:
公式 1 DCT改换公式
公式1也能够写成矩阵运算方法F = CfCT其间,C为带余弦根本函数的改换系数矩阵,CT为C 的转置,则DCT改换公式能够分解成串联的两次一维改换,如下:
公式2
公式3
即写成矩阵方法为:F=CY,Y=fCT,这儿,Y为中心乘积矩阵(Y的列等于f行的一维DCT 输出) 。因此,在做二维DCT改换时,能够运用一维DCT 改换来核算,即先沿f的行进行一维DCT 核算取得Y,再沿着Y的转置的行进行一维DCT运算。这其间就包括一个转置存储器。这样的算法结构如图
图 7 2D-DCT算法结构
3、进行量化,量化有对应的量化表(色度和亮度的量化表不同),将DCT改换的结果与对应量化表中的数相除(能够选用乘法替代除法的方法,这样节约硬件资源);
4、之字形输出,行将量化后的数据按之字形输出即可(直流重量在最前,之后是沟通重量),经过此进程后,低频重量数据靠前摆放,高频重量数据靠后摆放;
5、Huffman编码,此部分有对应的色度和亮度编码表。此部分也能够依据数值呈现的或许性巨细来进步编码速度。
此部分选用Xilinx公司FPGA芯片完结,即开发板主芯片。
三:JPEG解码部分
即为JPEG编码的逆进程,有对应的逆DCT改换公式,若编码部分能够很好的完结,此部分将不是什么难题,在此就不做介绍。
此部分选用Xilinx公司FPGA芯片完结,即开发板主芯片。
四:VGA显现模块
将JPEG解码后的数据进行DA转化,将转化后的数据传送至VGA显现,大致流程如下:
图 8 VGA显现模块暗示
五:网络传输数据模块
选用DAV%&&&&&%OM的DM9000进行网络通讯,依据DM9000硬件结构,编写好驱动程序,而且转化成用户自定义模块。
规划特色
本规划的特色在于提出一种根据Spartan®-6渠道完结JPEG实时编解码体系的计划,该计划使用FPGA并行处理的特色,一起结合JPEG编解码算法自身的特色,再加上Xilinx公司Spartan®-6渠道和自备一些外设这些资源,最终在FPGA上运用Xilinx公司的开发板完结整个体系。本规划完结了图画收集、JPEG编码、网络数据传输、JPEG解码和VGA显现的功用,到达了完结JPEG实时编解码的功用。当然,条件和时刻答应的话还能够对该体系做进一步的开发,做成嵌入式无线数据传输体系;也能够进一步研讨JPEG编解码算法,此外,能够将Linux等嵌入式体系移植到本硬件渠道上来,为更高档的运用供给有用的支撑。因此,它具有灵敏性、实用性和可扩展性等特色,具有必定的市场前景。
总而言之,本规划比较充沛的使用了Spartan®-6渠道的资源,完结了JPEG实时编解码体系意图,能够运用在视频监控、可视电话、视频会议等一些需求传输图画的体系中。由于传输的是JPEG图画数据,较之其它格局的图画数据,在数据量上要少许多,因此能够经过网络的方法快速传输,到达实时的意图。