一种图像压缩装置、方法和FPGA板卡与流程

文档序号:17489636发布日期:2019-04-23 20:20阅读:364来源:国知局
一种图像压缩装置、方法和FPGA板卡与流程

本发明涉及芯片设计技术领域,特别是涉及一种图像压缩装置、方法和fpga板卡。



背景技术:

在处理器领域,目前主流的架构为x86与arm架构,经过几十年的发展,为了能够保持架构的向后兼容性以及现代处理器架构技术的不断发展成熟,现代的x86与arm架构的架构极为冗长,其文档长达几百或数千页。

最近推出的risc-v架构,不存在向后兼容的问题,并且由于计算机体系结构经过多年的发展已经成为比较成熟的技术。同时risc-v完全开源,对于开发者可以节省高昂的授权费。目前risc-v架构已经在全球范围内掀起了一场热潮。但是目前的risc-v架构显示出现的图像是rgb编码图像,无法实现图像的压缩功能。

可见,如何在risc-v架构上实现图像的压缩,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种图像压缩装置、方法和fpga板卡,可以在risc-v架构上实现图像的压缩。

为解决上述技术问题,本发明实施例提供一种图像压缩装置,应用于fpga,所述装置包括仲裁模块、存储模块和图像处理模块;

所述仲裁模块与risc-v处理器具有通信连接,用于接收所述risc-v处理器传输的rgb编码图像;

所述仲裁模块分别与所述存储模块以及所述图像处理模块连接,用于将接收的rgb编码图像传输至所述存储模块;

所述图像处理模块与所述存储模块连接,用于从所述存储模块读取rgb编码图像,将所述rgb编码图像转换成jpeg编码图像,并将所述jpeg编码图像存储至所述存储模块。

可选的,所述图像处理模块包括转换子模块和jpeg处理子模块;

所述转换子模块,用于从所述存储模块读取rgb编码图像,将所述rgb编码图像转换为yuv编码图像,并将所述yuv编码图像按照jpeg编码格式要求传输至所述jpeg处理子模块;

所述jpeg处理子模块与所述存储模块连接,用于将yuv编码图像进行压缩处理得到jpeg编码图像,并将所述jpeg编码图像存储至所述存储模块。

可选的,所述存储模块包括rgb存储子模块和jpeg存储子模块;

所述rgb存储子模块分别与所述仲裁模块以及所述转换子模块连接,用于存储所述仲裁模块传输的rgb编码图像;

所述jpeg存储子模块分别与所述仲裁模块以及所述jpeg处理子模块连接,用于存储所述jpeg处理子模块传输的jpeg编码图像。

可选的,所述rgb存储子模块通过axi总线分别与所述仲裁模块以及所述转换子模块连接;

所述jpeg存储子模块通过axi总线与所述仲裁模块连接,并通过ahb2axi与所述jpeg处理子模块连接。

可选的,所述仲裁模块通过axi接口实现与risc-v处理器的通信。

可选的,所述仲裁模块与上位机具有通信连接,用于当接收到上位机发送的图像获取请求时,从所述存储模块读取所述jpeg编码图像,并将所述jpeg编码图像传输至所述上位机。

本发明实施例还提供了一种图像压缩方法,应用于fpga,所述方法包括:

接收risc-v处理器传输的rgb编码图像;

将所述rgb编码图像存储至第一预设位置;

从所述第一预设位置读取所述rgb编码图像,将所述rgb编码图像转换成jpeg编码图像;

将所述jpeg编码图像存储至第二预设位置。

可选的,所述将所述rgb编码图像转换成jpeg编码图像包括:

将所述rgb编码图像转换为yuv编码图像;

将所述yuv编码图像进行压缩处理得到jpeg编码图像。

可选的,在所述将所述jpeg编码图像存储至第二预设位置之后还包括:

当接收到上位机发送的图像获取请求时,从所述第二预设位置读取所述jpeg编码图像,并将所述jpeg编码图像传输至所述上位机。

本发明实施例还提供了一种fpga板卡,包括上述的图像压缩装置。

由上述技术方案可以看出,在fpga上设置仲裁模块、存储模块和图像处理模块;图像处理模块可以用于对图像进行压缩处理得到jpeg编码图像。为了实现图像处理模块与risc-v处理器之间的通信,在fpga上设置了与risc-v处理器具有通信连接的仲裁模块,用于接收risc-v处理器传输的rgb编码图像;仲裁模块分别与存储模块以及图像处理模块连接,用于将接收的rgb编码图像传输至存储模块;图像处理模块与存储模块连接,用于从存储模块读取rgb编码图像,将rgb编码图像转换为jpeg编码图像,并将jpeg编码图像存储至存储模块,以便于后续可以直接获取到jpeg编码图像。通过在fpga上设置图像压缩装置,实现了risc-v处理器的自主外设设计,利用risc-v处理器对fpga上图像压缩装置的工作流程进行调控,在risc-v架构上实现了图像的压缩。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种图像压缩装置的结构示意图;

图2为本发明实施例提供的一种设置有图像压缩装置的fpga的结构示意图;

图3为本发明实施例提供的一种图像压缩方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种图像压缩装置。图1为本发明实施例提供的一种图像压缩装置的结构示意图,应用于fpga,该装置包括仲裁模块1、存储模块2和图像处理模块3。

图像处理模块3可以用于对图像进行压缩处理得到jpeg编码图像。图像处理模块3属于主控端(master),risc-v处理器也为master,二者不可以直接通信,因此,在本发明实施例中,通过在图像处理模块3的外围封装仲裁模块1和存储模块2来实现图像处理模块3和risc-v处理器之间的通信。

仲裁模块1与risc-v处理器具有通信连接,用于接收risc-v处理器传输的rgb编码图像。

risc-v处理器预留的外设接口为axislave接口,因此在本发明实施例中,可以将图像压缩装置封装成axi接口,仲裁模块1通过axi接口实现与risc-v处理器的通信。

仲裁模块1分别与存储模块2以及图像处理模块3连接,当仲裁模块1接收到risc-v处理器传输的rgb编码图像后,便可以将该rgb编码图像传输至存储模块2。

图像处理模块3与存储模块2连接,用于从存储模块2读取rgb编码图像,将rgb编码图像转换成jpeg编码图像,并将jpeg编码图像存储至存储模块2。

仲裁模块1与上位机具有通信连接,用于当接收到上位机发送的图像获取请求时,从存储模块2读取jpeg编码图像,并将jpeg编码图像传输至上位机。

考虑到在实际应用中,可能会出现仲裁模块1接收到上位机发送的图像获取请求时,存储模块2中不存在jpeg编码图像的情况,出现该种情况的原因可能是图像处理模块3正在对rgb编码图像进行处理。图像处理模块3与仲裁模块1直接连接,在具体实现中,仲裁模块1可以直接访问图像处理模块3,相应的,图像处理模块3可以将得到的jpeg编码图像传输给仲裁模块1,以便于仲裁模块1将获取的jpeg编码图像传输给上位机。

jpegip属于比较成熟的技术,其可以将yuv编码图像转化成jpeg编码图像,因此,在本发明实施例中,可以将jpegip作为图像处理模块3的子模块。由于risc-v处理器传输至仲裁模块1的图像属于rgb编码图像,因此,在利用jpegip对图像进行压缩处理时,需要先将rgb编码图像转换为yuv编码图像,因此,在本发明实施例中,可以将实现rgb编码图像到yuv编码图像转化的程序代码封装至图像处理模块3中,以便于实现图像编码模式的转换。

为了便于描述,在本发明实施例中,可以将用于实现rgb编码图像到yuv编码图像转化的模块称作转换子模块31,将jpegip称作jpeg处理子模块32。

通过转换子模块31和jpeg处理子模块32的结合,可以实现rgb编码图像转换成jpeg编码图像,在具体实现中,转换子模块31,用于从存储模块2读取rgb编码图像,将rgb编码图像转换为yuv编码图像,并将yuv编码图像按照jpeg编码格式要求传输至jpeg处理子模块32;jpeg处理子模块32与存储模块2连接,用于将yuv编码图像进行压缩处理得到jpeg编码图像,并将jpeg编码图像存储至存储模块2。

考虑到存储模块2需要存储rgb编码图像和jpeg编码图像这两种类型的图像,为了实现不同编码类型图像的有序管理,在本发明实施例中,可以设置两个存储模块,即rgb存储子模块21和jpeg存储子模块22。

其中,rgb存储子模块21分别与仲裁模块1以及转换子模块31连接,用于存储仲裁模块1传输的rgb编码图像;jpeg存储子模块22分别与仲裁模块1以及jpeg处理子模块32连接,用于存储jpeg处理子模块32传输的jpeg编码图像。

在本发明实施例中,可以根据各模块之间所需传输的图像信息的类型,选择相适应的总线,从而提升图像传输的效率。

在具体实现中,rgb存储子模块21可以通过axi总线分别与仲裁模块1以及转换子模块31连接;jpeg存储子模块22通过axi总线与仲裁模块1连接,并通过ahb2axi与jpeg处理子模块32连接。

在本发明实施例中,可以将上述的图像压缩装置内置于fpga板卡中,以实现risc-v处理器的片内外设。该外设功能是可以将rgb编码的图片经过压缩处理,转变为jpeg格式的图片输出。

如图2所示为本发明实施例提供的一种设置有图像压缩装置的fpga的结构示意图,fpga通过通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)实现与上位机的通信。risc-v处理器输出的是rgb编码图像,在本发明实施例中,通过将rgb编码图像转换成jpeg编码图像,从而实现对rgb编码图像的压缩处理。risc-v处理器可以通过icb总线向仲裁模块1传输rgb编码图像,其中,icb2axi表示icbslave到aximaster接口协议的转换;ahb2axi表示ahbslave到aximaster接口协议的转换;axi2ahb表示axislave到ahbmaster接口协议的转换。仲裁模块1可以将接收到的rgb编码图像存储至rgb存储子模块21中,转换子单元31可以从rgb存储子模块21中读取rgb编码图像,并将读取到的rgb编码图像转换成yuv编码图像。jpeg处理子模块32可以对yuv编码图像进行压缩处理,得到jpeg编码图像,并将该jpeg编码图像存储至jpeg存储子模块22中,当上位机需要获取图像时,仲裁模块1可以直接从jpeg存储子模块22中读取jpeg编码图像,并其传输至上位机。

由上述技术方案可以看出,在fpga上设置仲裁模块、存储模块和图像处理模块;图像处理模块可以用于对图像进行压缩处理得到jpeg编码图像。为了实现图像处理模块与risc-v处理器之间的通信,在fpga上设置了与risc-v处理器具有通信连接的仲裁模块,用于接收risc-v处理器传输的rgb编码图像;仲裁模块分别与存储模块以及图像处理模块连接,用于将接收的rgb编码图像传输至存储模块;图像处理模块与存储模块连接,用于从存储模块读取rgb编码图像,将rgb编码图像转换为jpeg编码图像,并将jpeg编码图像存储至存储模块,以便于后续可以直接获取到jpeg编码图像。通过在fpga上设置图像压缩装置,实现了risc-v处理器的自主外设设计,利用risc-v处理器对fpga上图像压缩装置的工作流程进行调控,在risc-v架构上实现了图像的压缩。

如图3所示为本发明实施例提供的一种图像压缩方法的流程图,应用于fpga,方法包括:

s301:接收risc-v处理器传输的rgb编码图像。

s302:将rgb编码图像存储至第一预设位置。

s303:从第一预设位置读取rgb编码图像,将rgb编码图像转换成jpeg编码图像。

在具体实现中,可以先将rgb编码图像转换为yuv编码图像;利用现有技术中较为成熟的jpegip将yuv编码图像进行压缩处理得到jpeg编码图像。

s304:将jpeg编码图像存储至第二预设位置。

当接收到上位机发送的图像获取请求时,从第二预设位置读取jpeg编码图像,并将jpeg编码图像传输至上位机。

在本发明实施例中,通过在risc-v处理器上采用片内外设的方式,实现图像的压缩,因此,需要在fpga上预先设定好用于存储rgb编码图像和jpeg编码图像的存储空间。为了便于区分,在本发明实施例中可以将用于存储rgb编码图像的存储空间称作第一预设位置;将用于存储jpeg编码图像的存储空间称作第二预设位置。

其中,第一预设位置和第二预设位置可以相同,也可以不同。

在本发明实施例中,为了便于对不同编码类型图像的管理,可以预先设定不同的存储位置,用于存储不同类型编码的图像。

图3所对应实施例中特征的说明可以参见图1和图2所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,接收risc-v处理器传输的rgb编码图像;将rgb编码图像存储至第一预设位置;从第一预设位置读取rgb编码图像,将rgb编码图像转换成jpeg编码图像,并将jpeg编码图像存储至第二预设位置,以便于后续可以直接调用jpeg图像。通过将实现图像压缩方法所对应的程序代码固化到fpga上,实现了risc-v处理器的自主外设设计,利用risc-v处理器对fpga上图像压缩装置的工作流程进行调控,在risc-v架构上实现了图像的压缩。

以上对本发明实施例所提供的一种图像压缩装置、方法和fpga板卡进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的装置相对应,所以描述的比较简单,相关之处参见装置部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1