首页> 中国专利> 基于FPGA的JPEG并行解码装置与解码方法

基于FPGA的JPEG并行解码装置与解码方法

摘要

本发明公开了一种基于FPGA的JPEG并行解码装置与解码方法,包括数据缓冲单元、数据预处理单元和并行解码单元,数据缓冲单元包括用于接收外部JPEG信号的输入数据缓冲模块和用于输出解码后JPEG信号的输出数据缓冲模块,输入数据缓冲模块的通信端连接数据预处理单元的通信端,数据预处理单元的通信端连接并行解码单元的信号输入端,并行解码单元的信号输出端连接输出数据缓冲模块的信号输入端。充分利用了JPEG标准中RSTi(复位标记)和APPn(注释字段),实现了JPEG的解码,并且支持并行解码,能实现高分辨率图片的快速解码。

著录项

  • 公开/公告号CN103338368A

    专利类型发明专利

  • 公开/公告日2013-10-02

    原文格式PDF

  • 申请/专利权人 武汉精测电子技术股份有限公司;

    申请/专利号CN201310178092.8

  • 申请日2013-05-15

  • 分类号H04N7/26(20060101);

  • 代理机构42104 武汉开元知识产权代理有限公司;

  • 代理人黄行军;李满

  • 地址 430070 湖北省武汉市洪山区南湖大道53号武商量贩农科城店4楼

  • 入库时间 2024-02-19 20:25:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-27

    授权

    授权

  • 2018-03-06

    著录事项变更 IPC(主分类):H04N19/42 变更前: 变更后: 申请日:20130515

    著录事项变更

  • 2013-11-06

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20130515

    实质审查的生效

  • 2013-10-02

    公开

    公开

说明书

技术领域

本发明涉及数字图像处理技术领域,具体地指一种基于FPGA的JPEG并 行解码装置与解码方法。

背景技术

JPEG(Joint Photographic Experts Group)是一个在国际标准化组 织(ISO)下从事静态图像压缩标准制定的委员会。

JPEG标准以其显著的压缩效率和较低的图像质量损失获得了广泛的应 用,成为国际通用的标准,是数字视频和图像压缩编码技术发展的基础 。但随着图像处理技术的发展,尤其是在检测、测试以及医疗领域, 需要处理的图像分辨率越来越高,数据量也越来越大,提高图像处理 的速度成为一个巨大的挑战;如何用最短的时间和最少的资源完成图 像传输和处理,是该领域的关键点。

现有技术中,专利号为201110099414.0的中国专利,公开了一种《基 于FPGA的高速图像处理系统及其处理方法》。该系统和方法是使用FP GA的解码系统,具有一定的集成度,但用到了中央处理器,增加成本 ,不利于移植,且没有给出具体的编码方法。

同时,专利号为201210175025.X的中国专利,公开了一种《基于FPGA 的变压缩比图像压缩系统及方法》。该系统和方法对JPEG算法进行并 行化处理,中间数据采用FPGA(Field Programmable Gate Array ,即现场可编程门阵列)内部的RAM(random access memory,随机 存储器)或FIFO(First Input First Output,先入先出队列)存 储,具有一定的实时性和性价比,但系统架构决定在处理高分辨率如 4K*2K的JPEG时会非常缓慢,难以满足图片快速处理的要求。

另外,杨扬等人提出的《基于FPGA图像分块解码的系统设计》(通信 技术,2011年第03期,第44卷),提出了一种基于硬件的卫星图像的 高速解码方法,该方法采用了具有分包模式的多个并行解码模块,同 时使用流水线操作,能够较快速的解码,但采用的分包模式用在JPEG 解码上需要额外的控制和处理,带来了额外的开销,且不便于跨平台 的使用。

传统方法中还有将高分辨率的JPEG图片分割为多幅小分辨率的JPEG图 片进行并行解码,但此种方法为图片的查看、管理以及处理带来了不 便。

发明内容

本发明的目的就是要提供一种基于FPGA的JPEG并行解码装置与解码方 法,该装置和方法充分利用了JPEG标准中RSTi(复位标记)和APPn( 注释字段),基于FPGA硬件实现了JPEG的解码,并且支持并行解码, 能实现高分辨率图片的快速解码。

为实现此目的,本发明所设计的基于FPGA的JPEG并行解码装置,其特 征在于:它包括数据缓冲单元、数据预处理单元和并行解码单元;所 述数据缓冲单元包括用于接收外部JPEG信号的输入数据缓冲模块和用 于输出解码后JPEG信号的输出数据缓冲模块;所述输入数据缓冲模块 的数据信号输出端连接数据预处理单元的数据信号输入端;数据预处 理单元的控制信号输出端输入端连接到数据缓冲模块的控制信号输入 端;所述数据预处理单元的参数信号输出端连接并行解码单元的参数 信号输入端;数据预处理单元的数据信号输出端连接并行解码单元的 数据信号输入端,所述并行解码单元的信号输出端连接输出数据缓冲 模块的信号输入端。

所述数据预处理单元包括数据读取模块和数据解析模块,所述并行解 码单元包括提供解码参数的解码参数表模块和根据解码参数对各自的 JPEG图像压缩数据并行解码的多个并行解码模块,其中, 所述输入数据缓冲模块的控制输入端连接数据读取模块的控制输出端 ,输入数据缓冲模块的数据输出端连接数据读取模块的数据输入端, 所述数据读取模块的数据输出端连接数据解析模块的数据输入端,数 据读取模块的参数输入端连接数据解析模块的参数输出端,数据解析 模块的参数输出端连接解码参数表模块的参数输入端,解码参数表模 块的参数输出端分别连接每个并行解码模块的参数输入端,所述数据 读取模块的数据输出端也分别连接每个并行解码模块的信号输入端, 所述每个并行解码模块的数据输出端均连接输出数据缓冲模块的数据 输入端。

所述并行解码模块有两个。

利用上述基于FPGA的JPEG并行解码装置的解码方法,其特征在于,它 包括如下步骤:

步骤S102:将外部输入的JPEG数据缓冲到输入数据缓冲模块中;

步骤S103:数据读取模块获取输入数据缓冲模块内JPEG数据中的参数 信息的标记,该JPEG数据中的JPEG参数信息包括通用的JPEG参数以及 并行解码参数;所述并行解码参数是实际使用中,在编码时加入到AP Pn字段中的自定义参数,其包括划分的并行解码块数、RSTi标记在JP EG数据中的位置和RSTi标记对应的图像位置偏移地址;

步骤S104:数据读取模块将获取的JPEG参数信息的标记发送给数据解 析模块,数据解析模块根据JPEG参数信息中的标记对JPEG参数信息进 行解析处理,包括对通用的JPEG参数和并行解码参数进行解析处理; 同时将通用的JPEG参数发送给解码参数表模块;

步骤S105:数据解析模块将解析后的并行解码参数传递给数据读取模 块,数据读取模块根据并行解码参数从输入数据缓冲模块中并行读取 后续多个并行解码模块所需要的JPEG图像压缩数据;并通过解码参数 表模块判断数据解析模块是否解析出通用JPEG参数信息中的开始扫描 标记参数,确定JPEG参数是否解析完成;如是则进 入S106,否则回到S103,直到解析出开始扫描标记参数;

步骤S106:所述解码参数表模块根据JPEG参数信息的解析结果向第一 并行解码模块和第二并行解码模块发送通用JPEG参数信息以及并行解 码参数中的RSTi标记对应的图像位置偏移地址;数据读取模块将步骤 S105中得到的两个JPEG图像压缩数据分别并行传输给第一并行解码模 块和第二并行解码模块;第一并行解码模块和第二并行解码模块分别 依据接收到的并行解码参数对各自的JPEG图像压缩数据进行JPEG数据 解码;

步骤S107:第一并行解码模块和第二并行解码模块将得到各自的JPEG 解码数据,存储到输出数据缓冲模块的与并行解码参数中的RSTi标记 对应的图像位置偏移地址对应的存储空间内;

步骤S108:输出数据缓冲模块根据外部需求将JPEG解码数据输出;

所述步骤S103、步骤S105和步骤S106中的并行解码参数存储在JPEG数 据的APPn字段中。

所述并行解码参数包括划分的并行解码块数、RSTi标记在JPEG数据中 的位置和RSTi标记对应的图像偏移地址。

所述步骤S107中第一并行解码模块和第二并行解码模块将得到JPEG解 码数据,根据JPEG数据APPn字段中的像素偏移位置以及JPEG图片分辨 率存储到输出数据缓冲模块对应的存储空间。

本发明的有益效果为:

1)本发明采用并行的方法解码,能集成在现场可编程逻辑阵列中,避 免了专用芯片的限制,降低了处理时钟频率,提高了高分辨率图像解 码的实时性。

2)本发明中的数据预处理单元,能够通过检测JPEG中的APPn字段,提 取并行解码参数,自适应的确定并行解码模块的个数,相比较于背景 技术中提到的《基于FPGA图像分块解码的系统设计》,减少了外部控 制,降低了系统的复杂度。

3)本发明中的并行解码单元,各个并行解码模块共用同组解码参数, 背景技术中提到的《基于FPGA的变压缩比图像压缩系统及方法》比较 ,节约了资源,降低了成本,同时能够快速处理高分辨率JPEG图像。

4)本发明符合JPEG标准,与采用分割为多块小分辨率图像的方法相比 较,便于不同平台间的共享和管理,减小了开销。

5)本发明的各个并行单元同时采用流水线结构,且不采用中央处理器 ,背景技术中提到的《基于FPGA的高速图像处理系统及其处理方法》 比较,便于移植的同时,提高了处理速度。

附图说明

图1为本发明装置部分的结构框图。

图2为本发明的方法流程图。

其中,1—数据缓冲单元、11—输入数据缓冲模块、12—输出数据缓冲 模块、2—数据预处理单元、21—数据读取模块、22—数据解析模块、 3—并行解码单元、31—解码参数表模块、32—第一并行解码模块、3 3—第二并行解码模块。

具体实施方式

以下结合附图和具体实施例对本发明作进一步的详细说明:

本发明设计的基于FPGA的JPEG并行解码装置,包括数据缓冲单元1、数 据预处理单元2和并行解码单元3;数据缓冲单元1包括用于接收外部J PEG信号的输入数据缓冲模块11和用于输出解码后JPEG信号的输出数据 缓冲模块12;输入数据缓冲模块11的数据信号输出端连接数据预处理 单元2的数据信号输入端;数据预处理单元的控制信号输出端输入端连 接到数据缓冲模块11的控制信号输入端;所述数据预处理单元2的参数 信号输出端连接并行解码单元3的参数信号输入端;数据预处理单元2 的数据信号输出端连接并行 解码单元3的数据信号输入端,所述并行解码单元3的信号输出端连接 输出数据缓冲模块12的信号输入端。

上述技术方案中,数据预处理单元2包括数据读取模块21和数据解析模 块22,并行解码单元3包括提供解码参数的解码参数表模块31和根据解 码参数对各自的JPEG图像压缩数据并行解码的多个并行解码模块,其 中,所述输入数据缓冲模块11的控制输入端连接数据读取模块21的控 制输出端,输入数据缓冲模块11的数据输出端连接数据读取模块21的 数据输入端,所述数据读取模块21的数据输出端连接数据解析模块22 的数据输入端,数据读取模块21的参数输入端连接数据解析模块22的 参数输出端,数据解析模块22的参数输出端连接解码参数表模块31的 参数输入端,解码参数表模块31的参数输出端分别连接每个并行解码 模块的参数输入端,所述数据读取模块21的数据输出端也分别连接每 个并行解码模块的信号输入端,所述每个并行解码模块的数据输出端 均连接输出数据缓冲模块12的数据输入端。

上述技术方案中,并行解码模块有两个,分别为第一并行解码模块32 和第二并行解码模块33。上述并行解码模块的个数根据实际需要确定 (实际中根据所需要解码图片的分辨率,以及所期望的解码时间,功 耗以及成本等多个因素来权衡。如何权衡按实际需要确定),其中两 个并行解码模块为最基础单元。

一种基于FPGA的JPEG并行解码装置的解码方法,包括如下步骤:

步骤S101:基于FPGA的JPEG并行解码装置上电后整个装置进行初始化 ;

步骤S102:将外部输入的JPEG数据缓冲到输入数据缓冲模块11中;

步骤S103:数据读取模块21获取输入数据缓冲模块11内JPEG数据中的 参数信息的标记,该JPEG数据中的JPEG参数信息包括通用的JPEG参数 以及并行解码参数;所述并行解码参数是实际使用 中,在编码时加入到APPn字段中的自定义参数,其包括划分的并行解 码块数、RSTi标记在JPEG数据中的位置和RSTi标记对应的图像位置偏 移地址;

步骤S104:数据读取模块21将获取的JPEG参数信息的标记发送给数据 解析模块22,数据解析模块22根据JPEG参数信息中的标记对JPEG参数 信息进行解析处理,包括对通用的JPEG参数和并行解码参数进行解析 处理;同时将通用的JPEG参数发送给解码参数表模块31;

步骤S105:数据解析模块22将解析后的并行解码参数传递给数据读取 模块21,数据读取模块21根据并行解码参数从输入数据缓冲模块11中 并行读取后续多个并行解码模块所需要的JPEG图像压缩数据;并通过 解码参数表模块31判断数据解析模块22是否解析出通用JPEG参数信息 中的开始扫描标记参数(Start Of Scan标记),确定JPEG参数是否 解析完成;如是则进入S106,否则回到S103,直到解析出开始扫描标 记参数;

步骤S106:所述解码参数表模块31根据JPEG参数信息的解析结果向第 一并行解码模块32和第二并行解码模块33发送通用JPEG参数信息以及 并行解码参数中的RSTi标记对应的图像位置偏移地址;数据读取模块 21将步骤S105中得到的两个JPEG图像压缩数据分别并行传输给第一并 行解码模块32和第二并行解码模块33;第一并行解码模块32和第二并 行解码模块33分别依据接收到的并行解码参数对各自的JPEG图像压缩 数据进行JPEG数据解码;

步骤S107:第一并行解码模块32和第二并行解码模块33将得到各自的 JPEG解码数据,存储到输出数据缓冲模块12的与并行解码参数中的RS Ti标记对应的图像位置偏移地址对应的存储空间内;

步骤S108:输出数据缓冲模块12根据外部需求将JPEG解码数据输出。

上述技术方案的所述步骤S103、步骤S105和步骤S106中的并行解码参 数存储在JPEG数据的APPn字段中。

上述技术方案中,所述并行解码参数包括划分的并行解码块数、RSTi 标记在JPEG数据中的位置和RSTi标记对应的图像偏移地址。

上述技术方案的步骤S107中第一并行解码模块32和第二并行解码模块 33将得到JPEG解码数据,根据JPEG数据APPn字段中的像素偏移位置以 及JPEG图片分辨率存储到输出数据缓冲模块12对应的存储空间。

上述技术方案用JPEG标准中RSTi(复位标记)和APPn(注释字段), 基于FPGA硬件(申请人尤其是要保护基于FPGA的这种并行解码实现, 由于FPGA所具有并行特征,可以让上述架构得以充分体现。另外,也 要稍微与基于多核CPU(中央处理器)的并行解码的方法区别开来。多 核CPU是软件方法,FPGA是一种硬件方法)实现了JPEG解码,支持并行 解码,同时,并行解码方式能实现高分辨率图片的快速解码。本发明 提高了解码速度,避免了复杂的分包处理,便于不同平台间的共享和 管理,同时具有高可移植性(这种基于FPGA的方法可以在不同的FPGA 之间移植,也可以移植到ASIC(Application Specific Integrate d Circuit,专用集成电路),同样这种方法也可以多核CPU实现), 节约了开销,降低了成本。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说 ,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些 改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述 的内容属于本领域专业技术人员公知的现有技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号