法律状态公告日
法律状态信息
法律状态
2017-12-19
授权
授权
2015-11-04
实质审查的生效 IPC(主分类):H04N19/42 申请日:20150702
实质审查的生效
2015-09-30
公开
公开
技术领域
本发明涉及一种图片处理领域,特别是基于SOPC设计方法的图片采集和传输。
背景技术
随着多媒体技术的不断运用,图像编码要求更高的性能和新的特征。为了满足图像 在特殊领域编码的需求,JPEG2000作为新一代标准不断得到发展。它不仅提供优于现 行标准的失真率和其他图像压缩性能,而且还可以提供一些现行标准不能有效实现的功 能和特性。JPEG2000标准更加注重图像的可伸缩表述,所以就可以在任意给定的分辨 率级别上来提供一个低质量的图像恢复,或者在要求的分辨率和信噪比的情况下提取图 像的部分区域。
Zynq是Xilinx推出的高性能的可编程片上系统(System on Programmable Chip,简 称SOPC),由两部分组成:处理器系统(Processing System,简称PS)和可编程逻辑 (Programmable Logic,简称PL)。PS部分以ARM Cortex-A9双核处理器为核心,配有 NEON协处理器、片上存储器、AXI互联矩阵、中断控制器、以太网、USB等通用外设 控制器等,提供了全面的操作系统支持。PL部分基于Xilinx 7系列FPGA架构,采用 28nm技术,提供了通用硬件可编程资源,包括CLB(Configurable Logic Blocks,可配 置逻辑块)、IOB(Input/Output Blocks,输入输出块)、时钟资源、高性能ADC、DSP48E、 Block RAM等。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于JPEG2000的图 片采集传输系统,用于解决现有的图像采集传输系统性能不佳的技术问题。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于JPEG2000的图像采集传输系统,系统基于Zynq平台,包括图像采集、 基于JPEG2000标准算法的图像编码和码流传输三个部分;上述系统按照如下步骤进行 设计:
步骤1、根据JPEG2000标准算法设计图像编码模块,再根据高级可扩展接口 (Advanced eXtensible Interface,简称AXI)总线协议,将设计好的图像编码模块封装 成兼容AXI总线协议的通用IP核并作为处理器系统的定制外设接入ARM核中,记为 JPEG2000核;
步骤2、使用Vivado软件构建系统的硬件系统,硬件系统包括如下IP核:Zynq7 处理系统、AXI数据传输核、AXI互联核、JPEG2000核、块随机存储器(Block Random Access Memory,简称BRAM)和BRAM控制器即块随机存储器控制器;
步骤3、移植Linux系统至Zynq平台;配置Linux内核,使其包含USB视频类(USB Video Clas,简称UVC类)设备驱动、网络通信驱动等内容,编译内核;编译生成u-boot 启动文件;构建需要的文件系统;
步骤4、基于Linux内核提供的Linux系统视频设备接口(Video 4Linux 2,简称V4L2) 类驱动程序,开发USB摄像头动态采集图像的驱动程序;
步骤5、基于杂项设备(Miscellaneous,简称Misc)类,开发JPEG2000核的Linux 系统驱动程序,进而设计JPEG2000核的Linux系统控制程序;
步骤6、使用Zynq开发板的千兆以太网并基于Linux系统实现网络通信编程,实现 数据的传输工作。
步骤7、将USB摄像头动态采集图像的驱动程序、JPEG2000核的Linux系统控制 程序和网络数据传输程序整合验证,完成图像的动态采集、编码处理及码流传输;
所述Zynq7处理系统中包括图像信号接收接口、图像信号输出接口和内部数据传输 接口,摄像头与图像信号接收接口连接接收摄像头采集到的图像信号,为了保证图像质 量,可以通过UVC标准的高清USB摄像头实现图像采集,相应的图像信号接收接口为 USB控制器。Zynq7处理系统通过内部数据传输接口种的高速接口HP0接口连接AXI 互联核将图像信号传递至AXI数据传输核,AXI数据传输核与JPEG2000核进行交互处 理将图像信号通过JPEG2000核传递至BRAM存储器中,BRAM存储器受BRAM控制 器控制再将通过AXI互联核连接Zynq7处理系统中的内部数据传输接口中的一般接口 GP0接口将图像信号传输至Zynq7处理系统中,并最后通过图像信号输出接口将图像信 号输出。
进一步的,在本发明中,步骤1中,JPEG2000核运行在Zynq平台的可编程逻辑部 分,包括存储器映射到数据流命令模块(缩写为MM2S STS)、存储器映射到数据流状 态模块(缩写为MM2S STS)、JPEG2000模块和寄存器读写控制模块,以及用于通信 的M00_AXIS_CMD、S00_AXIS_STS、S01_AXIS_DATA、BRAM_PORT0、S00_AXI_Lite 共5条总线;这里的AXIS是AXI Stream的缩写,表示AXI流接口;
所述存储器映射到数据流命令模块用于产生AXI数据传输核传输需要的命令,其生 成的命令字通过M00_AXIS_CMD总线传输到AXI数据传输核。
所述存储器映射到数据流状态模通过S00_AXIS_STS总线接受AXI数据传输核传输 数据状态字,通过判断数据状态字,给出当前的传输状态;
所述JPEG2000模块通过S01_AXIS_DATA总线接收AXI数据传输核传输的数据, 同时对数据进行处理,然后将处理后的数据通过BRAM_PORT0传输到BRAM存储器 中,供后续处理;
所述寄存器读写控制模块中设有寄存器,用于存储JPEG2000模块需要的参数以及 AXI数据传输核传输数据中需要的参数和传输状态;所述寄存器读写控制模块通过 S00_AXI_Lite总线接到Zynq7处理系统的AXI_GP0接口,供处理器系统中的ARM核 读取或写入寄存器的值。
有益效果:
本发明提供的使用Zynq平台实现基于JPEG2000的图像编码系统,可充分发挥 JPEG2000核的高速处理能力,加速了系统的集成,简化了设计方法,降低了设计成本、 系统功耗,使得设计更加灵活。具体包括如下几个方面:
1、使用Xilinx的Zynq作为SOPC平台构建系统,加速了系统的集成,简化了设 计方法,降低了设计成本、系统功耗,使得设计更加灵活。
2、使用Zynq平台的PL部分开发可定制外设,将复杂的算法使用FPGA实现,提 高了系统是运行速度,以及流畅度。
3、相比其他图像编码算法,JPEG2000算法可在更低码率下获得同样甚至更优的重 建图像质量,在提升整个编码系统性能及减少码流传输等方面意义重大。
4、基于Zynq开发板的千兆以太网接口,使用Linux系统提供的网络通信功能传输 码流,保证数据的实时传输。
附图说明
图1为编码系统框图;
图2为封装后JPEG2000核的内部框图;
图3为软件分层框图;
图4为系统运行流程图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
实施例:
本实施例使用ZC702评估板作为实施平台,其载有Xilinx Zynq 7020,并包含多个 USB和千兆网络接口。
将USB摄像头接入ZC702评估板,连接上位机与评估板的网络连接线,实现图片 数据的动态采集、编码和码流传输。设置USB摄像头采集速度为每秒钟30帧,图片大 小为640*480,PL部分的工作时钟设为100Mhz。实现流程如下:
1、使用Verilog硬件描述语言(Verilog Hardware Description Language,简称Verilog HDL)根据JPEG2000标准算法设计图像编码模块,进行功能时序验证,确保图像编码 模块正常工作;
2、对设计好的图像编码模块封装成兼容AXI总线协议的通用IP核;
3、使用Vivado软件构建系统的硬件系统,硬件系统包括:Zynq7处理系统、AXI 数据传输核、AXI互联核、JPEG2000核、BRAM控制器和BRAM存储器;
4、对第3步构建的硬件系统验证综合实现,导出软件系统需要的*.bit等文件;
5、使用第4步中产生的*.bit等文件制作Zynq平台Linux启动文件;
6、对Zynq平台移植Linux系统,包括:编译u-boot、Linux内核,包含对千兆以 太网、UVC类USB摄像头驱动支持,然后制作文件系统;
7、基于Linux内核提供的Video 4 Linux 2类驱动程序开发USB摄像头动态采集图片 的驱动程序;
8、基于Linux系统提供的网络功能,开发网络数据传输程序;
9、基于Miscellaneous设备类型,开发JPEG2000核的Linux系统驱动程序;
10、在JPEG2000核驱动程序测试通过后,设计JPEG2000系统的Linux系统控制 程序;
11、将USB摄像头驱动程序,JPEG2000核控制程序和网络数据传输程序整合验证, 完成图片的动态采集、编码和码流传输。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也 应视为本发明的保护范围。
机译: JPEG2000图像错误保护方法,能够保护在无线环境中的传输过程中引起的传输错误中的图像
机译: 提供了一种移动通信系统和一种移动通信系统,该移动通信系统和一种移动通信系统提供了通过每个用户车辆上的360度摄像机传输到中心的即时道路图像,并将其转换为基于位置的交通信息
机译: 物理或电信号,例如心电信号采集系统,具有采集模块,该采集模块基于预设顺序并且在通信路径上无需头端寻址就连续传输采集数据