著录项信息
专利名称 | 基于FPGA的高速JPEG图像处理系统及其处理方法 |
申请号 | CN201110099414.0 | 申请日期 | 2011-04-20 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2011-08-10 | 公开/公告号 | CN102148988A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N7/26 | IPC分类号 | H;0;4;N;7;/;2;6;;;H;0;4;N;7;/;3;0查看分类表>
|
申请人 | 上海交通大学 | 申请人地址 |
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 上海交通大学,中国铁道科学研究院基础设施检测研究所 | 当前权利人 | 上海交通大学,中国铁道科学研究院基础设施检测研究所 |
发明人 | 刘瑞;赵红旭;竺加毅;刘佩林 |
代理机构 | 上海汉声知识产权代理有限公司 | 代理人 | 郭国中 |
摘要
一种数字图像处理技术领域的基于FPGA的高速JPEG图像处理系统及其处理方法,包括:通过系统总线连接的图像输入设备、编码模块、中央处理器、码流存储设备和码流输出设备,图像输入设备获取原始图像序列且将图像序列发送至编码模块,编码模块对输入的图像序列进行压缩编码并将压缩码流输出至码流存储设备,中央处理器配置寄存器信息控制各个设备和模块的工作状态,同时响应编码模块输出的编码结束中断信号并通过DMA方式将码流存储设备中的压缩码流转移到码流输出设备中。本发明可以实现对输入图像序列的并行处理,采用JPEG标准中的基本系统,结构简单,易于实现。
1.一种基于FPGA的高速JPEG图像处理系统,其特征在于,包括:通过系统总线连接的图像输入设备、编码模块、中央处理器、码流存储设备和码流输出设备,其中:图像输入设备获取原始图像序列且将图像序列发送至编码模块,编码模块对输入的图像序列进行压缩编码并将压缩码流输出至码流存储设备,中央处理器配置寄存器信息控制各个设备和模块的工作状态,同时响应编码模块输出的编码结束中断信号并通过DMA方式将码流存储设备中的压缩码流转移到码流输出设备中;
所述的编码模块包括:并行处理的图像接收单元、若干个编码核和码流发送单元,其中:图像接收单元接收图像输入设备输入的图像序列,编码核对输入的图像序列进行压缩编码,码流发送单元将压缩后的码流输出到码流存储设备中;
所述的并行处理是指:图像接收单元按照扫描顺序接收到图像序列后,将相邻的若干个8x8像素的图像块,同时输入到对应的若干个编码核中分别进行编码,并将编码后的码流按照输入图像块的对应顺序依次输出,达到所有编码核并行处理的效果,同时在每帧图像编码结束并且所有压缩码流全部输出到码流存储设备时,码流发送单元发出中断信号告知中央处理器。
2.根据权利要求1所述的基于FPGA的高速JPEG图像处理系统,其特征是,所述的中央处理器配置寄存器信息并通过系统总线发送至图像输入设备、编码模块、码流存储设备和码流输出设备。
3.根据权利要求1所述的基于FPGA的高速JPEG图像处理系统,其特征是,所述的码流输出设备通过系统总线到千兆以太网接口桥或系统总线到USB接口桥的方式将码流输出。
4.根据权利要求1所述的基于FPGA的高速JPEG图像处理系统,其特征是,所述的编码核为2至8个。
5.根据权利要求1所述的基于FPGA的高速JPEG图像处理系统,其特征是,所述的系统总线为AXI、AHB、PLB或WISHBONE结构。
6.一种根据上述任一权利要求所述系统的处理方法,其特征在于,包括以下步骤:
1)图像输入设备将图像序列输入编码模块;
2)编码模块将图像序列压缩为码流并将其输出到码流存储设备;编码模块在完成每幅图像的压缩和输出的同时对中央处理器发出中断信号;
3)中央处理器接收到中断信号后,将码流从码流存储设备中转移到码流输出设备;
4)码流输出设备将码流输出。
7.根据权利要求6所述的处理方法,其特征是,所述的步骤2)具体包括:
2.1)中央处理器确认编码模块处于空闲状态,然后中央处理器设置图像长度寄存器、图像宽度寄存器和编码帧数寄存器;
2.2)中央处理器设置启动寄存器用来启动编码模块,然后编码模块完成一帧图像编码时发出单帧编码结束中断,中央处理器读取状态寄存器信息并转移已经通过编码的压缩码流,当码流缓存空间过小,则中央处理器重新分配缓存空间;
2.3)编码模块完成所有预定帧数的编码后,发出全部编码结束中断,中央处理器接到中断信号后除了读取状态寄存器信息并转移已经通过编码的压缩码流外,对启动寄存器清
0;当中央处理器需要暂停编码,则在编码模块处于忙碌状态时对启动寄存器清0,编码模块完成当前帧的编码后,即进入暂停状态。
基于FPGA的高速JPEG图像处理系统及其处理方法\n技术领域\n[0001] 本发明涉及的是一种数字图像处理技术领域的装置及系统,具体是一种基于FPGA的高速JPEG图像处理系统及其处理方法。\n背景技术\n[0002] JPEG全名为Joint Photographic Experts Group,它是一个在国际标准化组织(ISO)下从事静态图像压缩标准制定的委员会。JPEG标准以其显著的压缩效率和较低的图像质量损失获得了广泛应用,成为国际通用的标准。它既可用于压缩灰度图像也可用于彩色图像,是数字视频和图像压缩编码技术发展的基础。\n[0003] JPEG标准适用范围非常广泛且系统容易实现,不仅在静止图像压缩上,如互联网、数字摄像、遥感和电子商务等方面有着广泛的应用,而且许多在对图像压缩质量要求较高且要求逐帧处理的场合,也有着广阔的前景。\n[0004] 在高速实时压缩图像的应用环境中,需要高效快速的图像处理系统,传统软件压缩的方法无法满足这一需求,需要一种硬件电路直接完成图像的编码和传输。而商用图像芯片为了适应各种不同的应用,一般来说通用性比较强,在某些特定的领域,通用芯片强大的功能往往得不到充分的利用,这样就会造成资源的浪费,成本也会相应增加。因此,利用FPGA开发平台和EDA工具,在较短的时间内开发出高质量的IP模块和高性能的专用芯片,灵活适应市场的不同应用需求,是有一定实际意义的。\n[0005] 以高速车载式轨道图像识别系统为例,它是一种结合了高速摄像技术、图像处理技术和GPS定位技术,用于对铁路钢轨表面进行高速拍摄、故障识别和故障定位的智能化检测系统。它可以安装在轨道车、行李车和客车上,在行驶过程中对钢轨状况进行不间断的高速拍摄,自动判断故障情况并确定其精确里程。其中,由于高速拍摄的图像数据需要传送到图像数据库进行实时处理,当将原始图像直接进行传输,传输系统带宽必然无法达到要求,并且如今的高速列车时速持续提高,因而需要一种基于硬件实现的高速图像处理系统,能够以足够高的速率对高速采集的图像进行实时处理并将图像编码数据传输到远端数据库。\n[0006] 经过对现有技术的检索发现,中国专利申请号200510023574.1,公开日\n2005-7-27,记载了一种“基于嵌入式平台的JPEG2000图像编码与传输方法及系统”,该技术由图像采集部件、图像编码部件、控制处理器部件和电源部件组成。但是,该方案仅说明了整个系统的组成,没有考虑优化图像编码部件的图像压缩处理速度。\n[0007] 姚远等人在“基于FPGA的高速图像压缩编码器设计与实现”(《电子技术应用》\n2009年第35卷第7期)提出了一种基于FPGA的高速图像压缩编码器实现方案,该方案使用小波变换算法代替了JPEG编码中的DCT变换,通过预处理和主处理过程分解实现了并行流水编码结构。但是,该方案使用的小波变换算法增加了硬件实现的复杂度,需要通过预处理模块和主处理模块协同工作,结构较为复杂。\n发明内容\n[0008] 本发明针对现有技术存在的上述不足,提供一种基于FPGA的高速JPEG图像处理系统及其处理方法,适用于需要高速实时处理图像的应用环境中,例如高速检测列车。整套系统基于FPGA平台,编码模块可以实现对输入图像序列的并行处理,并且以流水线方式工作,数据处理能力强,在满足JPEG标准关于图像编码质量和压缩率的前提下,图像处理速度非常快。同时,编码模块采用JPEG标准中的基本系统,结构简单,易于实现。\n[0009] 本发明是通过以下技术方案实现的:\n[0010] 本发明涉及一种基于FPGA的高速JPEG图像处理系统,包括:通过系统总线连接的图像输入设备、编码模块、中央处理器、码流存储设备和码流输出设备,其中:图像输入设备获取原始图像序列且将图像序列发送至编码模块,编码模块对输入的图像序列进行压缩编码并将压缩码流输出至码流存储设备,中央处理器配置寄存器信息控制各个设备和模块的工作状态,同时响应编码模块输出的编码结束中断信号并通过DMA方式将码流存储设备中的压缩码流转移到码流输出设备中。\n[0011] 所述的中央处理器配置寄存器信息并通过系统总线发送至图像输入设备、编码模块、码流存储设备和码流输出设备。\n[0012] 所述的码流输出设备通过系统总线到千兆以太网接口桥或系统总线到USB接口桥的方式将码流输出。\n[0013] 所述的图像输入设备为PCI-E接口到系统总线接口桥。\n[0014] 所述的编码模块包括:并行处理的图像接收单元、若干个编码核和码流发送单元,其中:图像接收单元接收图像输入设备输入的图像序列,编码核对输入的图像序列进行压缩编码,码流发送单元将压缩后的码流输出到码流存储设备中。\n[0015] 所述的并行处理是指:图像接收单元按照扫描顺序接收到图像序列后,将相邻的若干个8x8像素的图像块,同时输入到对应的若干个编码核中分别进行编码,并将编码后的码流按照输入图像块的对应顺序依次输出,达到所有编码核并行处理的效果,同时在每帧图像编码结束并且所有压缩码流全部输出到码流存储设备时,码流发送单元发出中断信号告知中央处理器。\n[0016] 所述的编码核为2至8个。\n[0017] 所述的系统总线为AXI、AHB、PLB或WISHBONE结构。系统总线的带宽需求主要来自于图像输入设备通过猝发(burst)的高效总线通信方式将图像序列传输给编码模块,编码模块通过猝发(burst)的高效总线通信方式将压缩码流传输给码流存储设备。\n[0018] 本发明涉及上述系统的处理方法,包括以下步骤:\n[0019] 1)图像输入设备将图像序列输入编码模块;\n[0020] 2)编码模块将图像序列压缩为码流并将其输出到码流存储设备;编码模块在完成每幅图像的压缩和输出的同时对中央处理器发出中断信号,具体为:\n[0021] 2.1)中央处理器确认编码模块处于空闲状态,然后中央处理器设置图像长度寄存器、图像宽度寄存器和编码帧数寄存器;\n[0022] 2.2)中央处理器设置启动寄存器用来启动编码模块,然后编码模块完成一帧图像编码时发出单帧编码结束中断,中央处理器读取状态寄存器信息并转移已经通过编码的压缩码流,当码流缓存空间过小,则中央处理器重新分配缓存空间;\n[0023] 2.3)编码模块完成所有预定帧数的编码后,发出全部编码结束中断,中央处理器接到中断信号后除了读取状态寄存器信息并转移已经通过编码的压缩码流外,对启动寄存器清0;当中央处理器需要暂停编码,则在编码模块处于忙碌状态时对启动寄存器清0,编码模块完成当前帧的编码后,即进入暂停状态。\n[0024] 3)中央处理器接收到中断信号后,将码流从码流存储设备中转移到码流输出设备;\n[0025] 4)码流输出设备将码流输出。\n[0026] 由上可知,本发明所述的一种基于FPGA的高速JPEG图像处理系统,通过高效的系统总线连接图像输入设备、编码模块、中央处理器、码流存储设备和码流输出设备。编码模块对输入图像序列进行并行处理,并且以流水线方式工作。图像序列和压缩码流在系统中的传输均通过猝发(burst)的高效总线通信方式实现。以上特点共同决定了该系统数据处理能力强,在满足JPEG标准关于图像编码质量和压缩率的前提下,图像处理速度非常快。\n附图说明\n[0027] 图1是本发明的系统结构框图。\n[0028] 图2是本发明编码模块的结构框图。\n[0029] 图3是本发明编码模块流水线工作说明图。\n[0030] 图4是本发明编码模块工作状态转移图。\n具体实施方式\n[0031] 下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。\n[0032] 如图1所示,本实施例包括:通过系统总线连接的图像输入设备、编码模块、中央处理器、码流存储设备和码流输出设备,其中:图像输入设备获取原始图像序列且将图像序列发送至编码模块,编码模块对输入的图像序列进行压缩编码并将压缩码流输出至码流存储设备,中央处理器配置寄存器信息控制各个设备和模块的工作状态,同时响应编码模块输出的编码结束中断信号并通过DMA方式将码流存储设备中的压缩码流转移到码流输出设备中。\n[0033] 如图2所示,所述的编码模块包括:并行处理的图像接收单元、若干个编码核和码流发送单元,其中:图像接收单元接收图像输入设备输入的图像序列,编码核对输入的图像序列进行压缩编码,码流发送单元将压缩后的码流输出到码流存储设备中。\n[0034] 所述的图像接收单元接收中央处理器发出的寄存器配置信息和图像输入设备发出的原始图像序列,并且将数据以编码核需要的输入数据格式进行处理和缓存。编码核按照JPEG标准对原始图像序列进行压缩编码。\n[0035] 所述的编码核采用的是JPEG基本编码系统,即基于DCT变换的JPEG有损压缩,每个编码核从功能上又划分为DCT、量化与霍夫曼编码三大模块。码流发送单元将编码核压缩后的码流数据发送到码流存储设备、返回中央处理器需要的寄存器信息和产生编码结束中断信号。同时,图像接收单元和码流发送单元在与系统总线进行数据交互时,是以高效的猝发(burst)形式进行数据传输,保证带宽最大化。\n[0036] 由于上述编码模块中的图像接收单元,编码核与码流发送单元都包含缓存器,编码模块将以流水线方式工作,整个工作流程被划成如图3所示的流水段。数据依次通过图像接收单元、编码核与码流发送单元,码流发送单元处理第一部分数据的同时,编码核处理第二部分数据,图像接收单元处理第三部分数据。流水段1表示图像接收单元的工作状态,流水段2表示编码核的工作状态,流水段表示码流发送单元的工作状态。通过流水线工作方式可以同时进行数据的输入、处理核输出。\n[0037] 上述编码模块共有四种工作状态,分别为空闲状态,忙碌状态,暂停状态和结束状态,图4是其状态转移图。从空闲状态到忙碌状态的转移条件T0表示将启动寄存器置1;\n从忙碌状态到结束状态的转移条件T1表示完成了所有预设帧数的编码过程;从忙碌状态到暂停状态的转移条件T2表示编码过程中将启动寄存器清0;从暂停状态到忙碌状态的转移条件T3表示将启动寄存器置1;从结束状态到空闲状态的转移条件T4表示将启动寄存器清0。\n[0038] 上述编码模块的工作流程是:中央处理器确认编码模块处于空闲状态;中央处理器设置图像长度寄存器、图像宽度寄存器和编码帧数寄存器,这些寄存器信息将作为编码模块的工作参数;中央处理器设置启动寄存器用来启动编码模块;编码模块完成一帧图像编码时发出单帧编码结束中断,中央处理器读取状态寄存器信息并转移已经通过编码的压缩码流,当码流缓存空间过小,则中央处理器重新分配缓存空间;编码模块完成所有预定帧数的编码后,发出全部编码结束中断,中央处理器接到中断信号后除了读取状态寄存器信息并转移已经通过编码的压缩码流外,对启动寄存器清0;当中央处理器需要暂停编码,则在编码模块处于忙碌状态时对启动寄存器清0,编码模块完成当前帧的编码后(当此时未完成所有预设帧数的编码),即进入暂停状态。\n[0039] 所述的中央处理器配置寄存器信息,并通过系统总线发送寄存器信息至图像输入设备、编码模块、码流存储设备和码流输出设备。同时,中央处理器响应编码模块输出的编码结束中断信号并通过DMA方式将码流存储设备中的压缩码流转移到码流输出设备中。在本例中,规定中央处理器采用PowerPC硬核,它是一种高性能低功耗的嵌入式处理器核。\n[0040] 所述的图像输入设备为PCI-E接口到系统总线接口桥,在该系统中作为原始图像序列的输入端口,图像序列可以通过PCI-E标准接口输入系统,并且通过系统总线发送到编码模块中。\n[0041] 所述的码流输出设备通过系统总线到千兆以太网接口桥或系统总线到USB接口桥,在该系统中作为压缩码流的输出端口,压缩码流可以通过千兆以太网接口输出到Internet网络中,或者通过USB接口输出。同时,在提取码流存储设备中的压缩码流时采用DMA传输方式,无需中央处理器直接控制传输,使数据传输效率大为提高。\n[0042] 所述的系统总线为AXI、AHB、PLB或WISHBONE结构。在本实施例中,规定系统采用数据位宽为128比特的PLB总线连接系统中的各个设备。系统总线的带宽需求主要来自于图像输入设备通过猝发(burst)的高效总线通信方式将图像序列传输给编码模块,编码模块通过猝发(burst)的高效总线通信方式将压缩码流传输给码流存储设备。\n[0043] 本装置通过以下方式进行处理:\n[0044] 1)图像输入设备将图像序列输入编码模块;\n[0045] 2)编码模块将图像序列压缩为码流并将其输出到码流存储设备;编码模块在完成每幅图像的压缩和输出的同时对中央处理器发出中断信号,具体为:\n[0046] 2.1)中央处理器确认编码模块处于空闲状态,然后中央处理器设置图像长度寄存器、图像宽度寄存器和编码帧数寄存器;\n[0047] 2.2)中央处理器设置启动寄存器用来启动编码模块,然后编码模块完成一帧图像编码时发出单帧编码结束中断,中央处理器读取状态寄存器信息并转移已经通过编码的压缩码流,当码流缓存空间过小,则中央处理器重新分配缓存空间;\n[0048] 2.3)编码模块完成所有预定帧数的编码后,发出全部编码结束中断,中央处理器接到中断信号后除了读取状态寄存器信息并转移已经通过编码的压缩码流外,对启动寄存器清0;当中央处理器需要暂停编码,则在编码模块处于忙碌状态时对启动寄存器清0,编码模块完成当前帧的编码后,即进入暂停状态。\n[0049] 3)中央处理器接收到中断信号后,将码流从码流存储设备中转移到码流输出设备;\n[0050] 4)码流输出设备将码流输出。\n[0051] 本实施例中,规定编码模块中并行工作的编码核个数N等于4,对于N不等于4的情况,只需对本实施例的结构进行简单的扩展(N大于4时)或精简(N小于4时)即可。\n本实施例在工作频率为100MHz的情况下,通过对50个1024x768分辨率的灰度图像进行测试,与两款商用的高速图像编码器进行比较,其中,TI公司DaVinci系列中的DM355采用JPEG标准,由DSP方式实现,在工作频率为270MHz的情况下,处理能力是50MPixels/s;ADI公司的ADV202采用JPEG2000标准,由ASIC方式实现,在工作频率为150MHz的情况下,处理能力是65MPixels/s。本发明所述系统中的编码模块由于采用了基于FPGA的高速并行流水处理,在编码核为4个、工作频率为100MHz的情况下,处理能力达到300MPixels/s,整个系统可支持1024x768分辨率的灰度图像400帧/秒的实时输入、编码及输出。
法律信息
- 2019-04-05
未缴年费专利权终止
IPC(主分类): H04N 7/26
专利号: ZL 201110099414.0
申请日: 2011.04.20
授权公告日: 2013.04.17
- 2013-04-17
- 2012-04-11
专利申请权的转移
登记生效日: 2012.03.01
申请人由上海交通大学变更为上海交通大学
地址由200240 上海市闵行区东川路800号变更为200240 上海市闵行区东川路800号
申请人变更为中国铁道科学研究院基础设施检测研究所
- 2011-09-21
实质审查的生效
IPC(主分类): H04N 7/26
专利申请号: 201110099414.0
申请日: 2011.04.20
- 2011-08-10
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |