一种基于dsp的jpeg2000标准图像快速解压缩系统及方法

文档序号:7805985阅读:516来源:国知局
一种基于dsp的jpeg2000标准图像快速解压缩系统及方法
【专利摘要】本发明公开了基于DSP的JPEG2000标准图像快速解压缩系统及方法,对JPEG2000标准下的图像压缩数据进行多DSP并行处理。系统包括控制模块和解压模块,控制模块控制解压模块并行完成图像的解压缩处理任务;解压模块包括多片DSP处理器构成的DSP簇和被DSP簇中的所有DSP共享的SDRAM。所述方法包括:控制模块接收压缩图像数据包后存储于SDRAM,并解析数据包,按照并行粒度划分规则为DSP簇中的每个DSP划分解压缩处理任务的起始点;DSP簇中的DSP根据划分的任务并行解压缩划分得到的解压缩处理任务。本发明充分发挥了多DSP处理器的性能,使解压缩效率获得显著提升。
【专利说明】—种基于DSP的JPEG2000标准图像快速解压缩系统及方法
【技术领域】
[0001]本发明涉及JPEG2000标准图像快速解压缩领域,尤其涉及应用多DSP嵌入式并行系统进行的JPEG2000标准图像快速解压缩领域。
【背景技术】
[0002]随着科学技术的发展,日常处理的图像的分辨率和精度在不断提升,图像包含的数据量也在不断增大,为了进行有效图像数据传输,需要对图像进行快速压缩解压缩处理。
[0003]JPEG2000标准,因其高灵活性、高压缩性能、能够提供有损无损压缩模式,正在图像处理领域广泛应用,目前多应用于医学影像传输,航天遥感图像传输等应用领域。JPEG2000解压缩过程由tier-2解码(码流组织解码)、tier-1 (自适应算术解码)、反量化、反小波变换、图像后处理等组成,其中tier-l(自适应算术解码)和反小波变换是其中最耗时的部分。为了达到实时图像解压缩的目的,业内普遍使用FPGA、GPU等设备,使用简单的多线程,低度并行化,在硬件层面对压缩解压缩过程进行加速,然而硬件实现的成本较高,实现起来也较为复杂,开发周期较长,并不是每个系统都有条件应用硬件实现压缩解压缩操作。在没有硬件设备支持的情况下,只能依托于软件实现JPEG2000图像的快速解压缩过程。然而传统的JPEG2000软件解压缩过程,涉及到的代码量过大,数据量过多,导致庞大的中间变量出现,一定程度上影响了 JPEG2000解压缩过程的实现效率。因此需要一种能够通过软件实现的快速压缩解压缩系统和方法,能保证在软件实现的前提下,快速进行压缩解压缩图像数据,满足实际应用的时间需求。目前针对JPEG2000标准图像的压缩过程的研究较为广泛,但是针对JPGE2000标准图像的解压缩过程的研究则非常少见。
[0004]DSP因其可并行的处理特点在数字图像处理领域有很大优势,又因其运算能力强,能够适应较为复杂的图像处理算法,如图像压缩解压缩算法。DSP很适合用于进行并行计算,而JPEG2000具有很多可并行计算的运算任务,非常适合应用DSP来实现,且DSP实现成本较FPGA更为低廉。
[0005]因此,亟需一种能够快速实时的对高分辨率图像数据进行解压缩处理、传送的多DSP系统,及能够提高图像解压缩速度的快速解压缩方法。

【发明内容】

[0006](一 )要解决的技术问题
[0007]本发明的目的是提供一种基于DSP的快速实现JPEG2000标准图像解压缩处理的系统及方法,以提高现有图像解压缩处理的速度,并尽量减少存储资源的消耗。
[0008]( 二 )技术方案
[0009]为达成所述目的,本发明提供一种基于DSP的JPEG2000标准图像快速解压缩系统,系统具有控制模块和解压模块,控制模块通过数据总线与解压模块相连以进行数据通信,用于接收并缓存JPEG2000标准下的图像压缩数据包,并用于控制解压模块并行完成图像的解压缩处理任务,以及在解压缩处理任务完成后,将解压后的图像数据输出至外部接口 ;所述解压模块用于并行完成图像的解压缩处理任务。
[0010]根据本发明的一种【具体实施方式】,所述解压模块由DSP簇和SDRAM组成;所述控制模块用于对待解压缩的图像数据包进行并行粒度解析,根据并行粒度划分规则确定此次解压缩的并行粒度,并根据确定的并行粒度为所述解压模块中所述DSP簇中的每一个DSP处理器划分需要完成的解压缩任务。
[0011]根据本发明的一种【具体实施方式】,所述DSP簇中的DSP处理器与控制模块之间通过link 口或用户自定义总线进行通信,用于接收所述控制模块发出的控制信号,并根据控制信号并行完成解压缩处理任务。
[0012]根据本发明的一种【具体实施方式】,所述SDRAM(122)通过数据总线与主控模块及所述DSP簇相连,DSP簇中的所有DSP共享所述SDRAM。
[0013]根据本发明的一种【具体实施方式】,所述DSP簇(121)包括一簇或者多簇DSP处理器,每簇DSP处理器的结构相同,每簇DSP由多片DSP处理器构成,所述多片DSP处理器具有相同的处理功能和接口,任意两片DSP簇中的DSP处理器之间具有通信通道,能够完成两两之间的互相通信,实现多片DSP处理器之间的并行连接,以在控制模块控制下进行并行解压缩处理任务。
[0014]根据本发明的一种【具体实施方式】,所述SDRAM(122)被所述控制模块和DSP簇中的所有DSP处理器共享,用于缓存解压缩处理任务执行过程中的所有数据,在解压缩处理任务完成后,将解压完成后的图像数据整合。
[0015]此外,本发明还提出一种基于DSP的JPEG2000标准图像解压缩方法,用于前述的JPEG2000标准图像解压缩系统,其特征在于,包含如下步骤:
[0016]步骤S1:所述控制模块从外部接收JPEG2000压缩图像数据包后将其存储于所述SDRAM 内;
[0017]步骤S2:所述控制模块解析压缩图像数据包,按照并行粒度划分规则划分并行粒度,并根据确定的并行粒度为DSP簇的每一个DSP处理器划分需要完成的解压缩任务的起始点;
[0018]步骤S3:DSP簇中的DSP并行解压缩划分得到的解压缩处理任务,输出处理结果至SDRAM的指定区域存储区;
[0019]步骤S4:在控制I旲块的控制下,在SDRAM中整合解压缩完成后的图像数据后将整合后的图像数据输出。
[0020]根据本发明的一种【具体实施方式】,所述步骤S2中并行粒度划分规则由所述DSP簇中的DSP处理器片内RAM空间大小确定,包括如下规则:
[0021]如果DSP处理器片内RAM内存空间大于等于JPEG2000压缩图像一个tile图像的压缩码流数据空间,并行粒度为tile数据级;
[0022]如果DSP处理器片内RAM内存空间小于一个tile的压缩码流数据空间,并行粒度为任务级。
[0023]根据本发明的一种【具体实施方式】,在步骤S2中根据确定的并行粒度为DSP簇的每一个DSP处理器划分需要完成的解压缩任务的起始点的步骤中,如果并行粒度为tiIe数据级,则所述控制模块按照处理块大小划分解压缩处理任务,处理块大小为一个tile的压缩码流数据大小,所述控制模块和所述DSP簇中的DSP处理器交替获得SDRAM的控制权,将tile图像的压缩码流数据通过DMA依次搬运到各个DSP处理器的片内缓冲区后,各个DSP处理器分别独立的进行完整的tile级图像压缩码流数据解压任务,将DSP处理器的通信时间隐藏在运算时间之后,使tile数据级并行粒度下的各DSP处理器承担解压缩任务的运行时间近似相等;如果并行粒度为任务级,所述控制模块按照负载平衡方法进行流水线关键路径拆分,拆分的原则按照拆分运行时间最长的模块,合并运行时间最短的模块,保证模块总数等于所述DSP簇中的DSP处理器的个数,直至各模块运行时间基本相等,然后所述控制模块控制所述DSP簇中的DSP处理器以流水线结构依次承担各个模块的解压缩任务。
[0024]根据本发明的一种【具体实施方式】,在所述步骤S2中,各DSP处理器承担的解压缩任包括如下步骤:
[0025]步骤S2.2.1 =DSP处理器对分配得到的压缩图像数据进行Tier_2 (最佳截断嵌入码块编码第二阶段)解码,在Tier-1解码过程中依次进行解析打包数据信息和解析码流结构分层组织;
[0026]步骤S2.2.2 =DSP处理器对Tier_2解码输出的图像数据进行Tier-1 (最佳截断嵌入码块编码第一阶段)解码,依次进行Tier-1解码过程中的三通道平面解码和算术解码;
[0027]步骤S2.2.3 =DSP处理器对解码完成后的图像数据进行反量化操作;
[0028]步骤S2.2.4 =DSP处理器通过指令并行方法实现反量化操作后的图像数据的反小波变换;
[0029]步骤S2.2.5 =DSP处理器对S2.2.4反小波变换后的图像数据进行后处理操作,包括偏移修正,定点转浮点操作。
[0030]根据本发明的一种【具体实施方式】,在所述步骤S2.2.1中,采用DSP簇中的DSP处理器自带的SMD结构,实现单DSP的片上并行操作,充分利用DSP处理器中的多个运算单元,以条带中2列数据为I组,在组中第一列进行显著性通道解码的同时,组中第二列依次进行幅度细化通道和清理通道解码,两列数据处理完成后,以列为单位平移移位一列,继续进行以组为单位的处理,直到所有条带数据处理完毕。
[0031]根据本发明的一种【具体实施方式】,所述步骤S2.2.4中,并行实现反小波变换借助DMA进行数据搬运,DMA数据搬运过程按照如下规则进行:
[0032]步骤S64.1:开始进行反小波变换;
[0033]步骤S64.2 =DSP处理器查找可用空闲DMA通道数并进行判断,若DMA通道数小于2,则转入步骤S64.3 ;若DMA通道数大于等于2小于4,则转入步骤S64.4 ;若DMA通道数大于等于4,则转入步骤S64.5 ;
[0034]步骤S64.3:应用I通道DMA进行持续搬运,DMA搬运块的大小设置为片内最大可用存储空间大小,按照先行后列的方式进行DMA数据搬运,搬运完成后转入步骤S64.6 ;
[0035]步骤S64.4:应用2通道DMA进行兵兵缓存式数据搬运,DMA搬运块的大小设置为片内最大可用存储空间的一半,按照先行后列的方式进行DMA数据搬运,搬运完成后转入步骤S64.6 ;
[0036]步骤S64.5:应用4通道DMA进行兵兵缓存式数据搬运,DMA搬运块的大小设置为片内最大可用存储空间的四分之一,只需进行行搬运过程,不需要进行列搬运,搬运完成后转入步骤S64.6 ;
[0037]步骤S64.6:对搬运至片内的压缩图像数据按照DSP指令并行方法实现反小波变换,反小波变换的实施过程中,根据预先划分的子带数据位置,完成空间内所有可完成的数据处理过程,减少数据搬运次数。
[0038]根据本发明的一种【具体实施方式】,在步骤S64.6中,在一个指令周期内完成多字节数据的加、减、乘、移位操作。
[0039](三)有益效果
[0040]本发明的优点是:1)本发明在进行解压缩工作之前,首先通过程序功能分析进行并行粒度划分,提出一种并行粒度的判定规则,保证DSP处理资源利用最大化;2)本发明应用控制模块控制DSP簇中的DSP处理器进行并行解压缩任务,去除启动时间外,解压效率接近多DSP系统的峰值效率;3)本发明针对Tier-1解码,采用2列数据为I组,对I组中的数据同时处理,采用汇编代码形式,充分利用DSP的双运算单元机构,将通道I解码与通道
2、3解码并行起来,可以达到1-2倍的效率提升;4)本发明根据空闲DMA的数目,提供了一种DMA数据搬运的使用规则,能够充分利用DSP的DMA结构,减少数据的搬运次数,从而减少DMA启动时间,提升反小波变换的效率;5)本发明采用DSP指令并行方法实现反小波变换的提升过程,能够在一个指令周期进行4字节操作,从而提升反小波变换的效率。
【专利附图】

【附图说明】
[0041]图1为本发明的基于DSP的快速实现JPEG2000标准图像解压缩系统框图;
[0042]图2为本发明的一个实施例的JPEG2000标准图像解压缩系统的框图;
[0043]图3为本发明的基于DSP的快速实现JPEG2000标准图像解压缩方法流程图;
[0044]图4为本发明的控制模块主DSP控制DSP簇并行完成tile级的解压缩工作流程图;
[0045]图5为本发明的DSP处理器承担的解压缩任务流程图;
[0046]图6为本发明的控制模块主DSP控制DSP簇并行完成任务级的解压缩工作流程图;
[0047]图7为本发明的DMA进行数据搬运规则示意图;
[0048]图8为本发明的2通道DMA进行数据搬运具体实现图;
[0049]图9为本发明的4通道DMA进行数据搬运具体实现图。
【具体实施方式】
[0050]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
[0051]在下面的描述中,tile, Tier-1、Tier-2是JEPG2000标准图像解压缩领域的专用名词,其中,tile是指压缩图像数据包的一个单位图像分片,Tier-1和Tier-2分别是指最佳截断嵌入码块编码第I阶段和最佳截断嵌入码块编码的第2阶段。Hamming(海明)码和BCH码为纠错控制领域的专用名词,BCH码取自Bose、Ray-Chaudhuri与Hocquenghem的缩写,用于纠正多位随机错误的编码方法。
[0052]图1所示为本发明提供的基于DSP的JPEG2000标准图像快速解压缩系统框图,图中标示了每一部分的具体连接关系。如图1所示,本发明的快速解压缩系统具有控制模块11和解压模块12,其中:[0053]控制模块11通过数据总线与解压模块12相连以进行数据通信,用于接收并缓存JPEG2000标准下的图像压缩数据包,并用于控制解压模块12并行完成图像的解压缩处理任务,以及在解压缩处理任务完成后,将解压后的图像数据输出至外部接口 ;
[0054]解压模块12与控制模块11相连,用于并行完成图像的解压缩处理任务。通常,解压模块还用于在解压缩工作完成后,通知控制模块11可以取走解压缩完成后的图像数据。
[0055]所述控制模块11可以由DSP、FPGA或PC等具有控制功能的器件或设备组成,用于接收并缓存外部接口传输来的JPEG2000标准下的图像压缩数据包。优选为,所述解压模块12由DSP簇121和SDRAM(同步动态随机存储器)122组成,所述控制模块11对待解压缩的图像数据包进行并行粒度解析,根据并行粒度划分规则确定此次解压缩的并行粒度,并根据确定的并行粒度为解压模块12中的DSP簇的每一个DSP处理器划分需要完成的解压缩任务。并且,在所有解压缩任务完成后,将解压后的图像数据输出至外部接口。
[0056]一种实施方式是,DSP簇121包括一簇或者多簇DSP处理器,DSP簇121中的DSP处理器与控制模块11之间可以通过link 口或用户自定义总线完成通信,用于接收控制模块11发出的控制信号,并根据控制信号并行完成解压缩处理任务;SDRAM122通过数据总线与主控模块11及DSP簇121相连,DSP簇中的所有DSP共享SDRAM122,用于完成JPEG2000图像压缩数据的存储和整合工作。
[0057]所述DSP簇121为解压模块12的处理核心,其包括的每簇DSP处理器的结构相同,每簇DSP由多片DSP处理器构成,多片DSP处理器具有相同的处理功能和接口,从小到大依次标号,例如标号为DSPO,DSPl到DSP (η-1),η为DSP的数量,选择为2到16片之间为宜,任意两片DSP簇中的DSP处理器之间具有通信通道,能够完成两两之间的互相通信,实现多片DSP处理器之间的并行连接,以在控制模块11控制下进行并行解压缩处理任务。
[0058]所述SDRAM122被控制模块11和DSP簇121中的所有DSP处理器共享,用于缓存解压缩处理任务执行过程中的所有数据,解压缩处理任务完成后,将解压完成后的图像数据整合,并通知控制模块11可以输出解压缩后的图像数据。
[0059]图2为本发明的一个实施例的JPEG2000标准图像解压缩系统的框图。在该实施例中,快速解压缩系统设置成为主从DSP形式。如图2所示,控制模块21由主DSP构成,主DSP选择ADI公司的ADSP-TS101芯片,控制模块21的主DSP接收缓存外部接口 LVDS接口传送来的JPEG2000压缩图像数据包,并与解压模块22之间通过Link 口进行通信,实现控制模块主DSP与解压模块22之间的控制信号传递。解压模块22由一系列从DSP处理器构成的DSP簇221和SDRAM222组成。主DSP和DSP簇之间通过Link 口连接,通过数据总线共享 SDRAM222。
[0060]所述DSP簇221由4片从DSP处理器构成,分别是DSPO (2210)、DSPl (2211)、DSP2 (2212)和DSP3 (2213),构成2簇DSP簇。从DSP处理器选择ADI公司的ADSP-TS101芯片,各从DSP之间具有通信通道,通过Link 口实现之间从DSP之间的通信。在本实施案例中,我们将两个DSP组为一簇DSP,将4片从DSP处理器分为2簇,DSPO (2210)和DSPl (2211)为一簇,DSP2 (2212)和DSP3 (2213)为另一簇,簇内DSP之间以及簇与簇之间,对外部主DSP均通过Link 口相互通信;ADSP-TS101芯片具有4个Link 口,具体使用时可根据需要进行不同的连接。
[0061]基于DSP的JPEG2000标准图像快速解压缩方法,图3为本发明提供的基于DSP的JPEG2000标准图像快速解压缩方法的流程图,如图3所示,本发明的基于DSP的JPEG2000标准图像快速解压缩方法包括如下步骤:
[0062]步骤S1:控制模块从外部接收JPEG2000压缩图像数据包后将其存储于SDRAM内。
[0063]在具体实施过程中,首先应启动前述基于DSP的JPEG2000标准图像快速解压缩系统,对控制模块和解压模块进行初始化,然后控制模块从外部接收JPEG2000压缩图像数据包。接收到压缩图像数据包括,可以对其进行容错处理,例如经Hamming码或BCH码容错措施后,将其存储在诸如SDRAMSDRAM的指定存储空间。
[0064]步骤S2:控制模块解析压缩图像数据包,按照并行粒度划分规则划分并行粒度,并根据确定的并行粒度为DSP簇的每一个DSP处理器划分需要完成的解压缩任务的起始点。
[0065]划分起始点优选为使每个DSP处理器获得的处理任务运行时间近似相等。
[0066]步骤S2中所述并行粒度划分规则由DSP簇中的DSP处理器片内RAM空间大小确定,包括如下规则:
[0067]如果DSP处理器片内RAM内存空间大于等于JPEG2000压缩图像一个tile图像的压缩码流数据空间,并行粒度为tile数据级;
[0068]如果DSP处理器片内RAM内存空间小于一个tile的压缩码流数据空间,并行粒度为任务级。
[0069]一种【具体实施方式】是,如果并行粒度为tile数据级,则控制模块按照处理块大小划分解压缩处理任务,处理块大小为一个tile的压缩码流数据大小,控制模块和DSP簇中的DSP处理器交替获得SDRAM的控制权,将tile图像的压缩码流数据通过DMA依次搬运到各个DSP处理器的片内缓冲区后,各个DSP处理器分别独立的进行完整的tile级图像压缩码流数据解压任务,将DSP处理器的通信时间隐藏在运算时间之后,使tile数据级并行粒度下的各DSP处理器承担解压缩任务的运行时间近似相等;
[0070]另一种实施方式是,如果并行粒度为任务级,控制模块按照负载平衡方法进行流水线关键路径拆分,拆分的原则按照拆分运行时间最长的模块,合并运行时间最短的模块,保证模块总数等于DSP簇中的DSP处理器的个数,直至各模块运行时间基本相等,然后控制模块控制DSP簇中的DSP处理器以流水线结构依次承担各个模块的解压缩任务。
[0071]步骤S3:DSP簇中的DSP并行解压缩划分得到的解压缩处理任务,输出处理结果至SDRAM的指定存储区;
[0072]步骤S4:在控制模块的控制下,在SDRAM中整合解压缩完成后的图像数据后将整合后的图像数据输出。
[0073]在完成解压缩任务并整合了图像数据之后,DSP簇通知控制模块可以取走解压缩结果,由此,控制模块控制输出解压完成后的图像数据,完成图像解压缩工作。
[0074]图像解压缩工作结束,基于DSP的JPEG2000标准图像快速解压缩系统关闭,等待系统下一次启动。
[0075]本发明的发明被描述为一系列步骤,每个步骤包括一系列的动作,但是应当明白,本发明的管理方法不受限于步骤和动作次序,这里应当理解,具体的实现步骤根据需要可能有所不同。
[0076]在本发明的一个具体实施例中,控制模块由主DSP构成,主DSP和DSP簇中的从DSP处理器选择ADI公司的ADSP-TS101芯片,从DSP处理器片内RAM空间为6MB,一个tile的压缩码流数据大小为0.5MB以下,故从DSP处理器片内RAM空间远大于一个tile图像的压缩码流数据大小,在本实施案例中,并行粒度确定为tile数据级。
[0077]图4为本发明的一个实施例的控制模块主DSP控制DSP簇中的从DSP并行完成每个tile图像的压缩码流数据解压缩工作流程图,所述主DSP控制DSP簇中的从DSP并行完成每个tile图像的压缩码流数据解压缩工作,按照如下步骤进行:
[0078]步骤S1.1:主DSP开始控制解压缩工作,进入步骤S1.2 ;
[0079]步骤S1.2:主DSP查找是否存在空闲状态的DSP簇中的从DSP处理器,若存在空闲状态的从DSP处理器则转入步骤S1.3,否则继续进行步骤S1.2 ;
[0080]步骤S1.3:选择最小标号的从DSP芯片,作为当前tile图像的压缩码流的解压缩处理器,进入步骤S 1.4 ;
[0081]步骤S1.4:主DSP释放SDRAM控制权,主DSP将SDRAM控制权转让给步骤S1.3选择的空闲状态最小标号的从DSP处理器,进入步骤S1.5 ;
[0082]步骤S1.5:将步骤S1.4获得SDRAM控制权的从DSP处理器标记为忙状态0,进入步骤S1.6 ;
[0083]步骤S1.6:将当前tile图像的压缩码流数据从SDRAM中载入到步骤S1.5标记的从DSP处理器片内存储空间中,进入步骤S2.1。
[0084]步骤2.1:所选从DSP处理器释放SDRAM控制权交还给主DSP,步骤S2.1后分为两个分支,步骤S2.2和步骤S2.5同时进行;
[0085]步骤S2.2:所选从DSP处理器立即进行压缩码流数据解压工作,进入步骤S2.3 ;
[0086]步骤S2.3:解压工作完成后,所选从DSP处理器将步骤S2.2解压后的tile图像数据信息输出至SDRAM,进入步骤S2.4 ;
[0087]步骤S2.4:所选从DSP处理器完成所有工作,标记为空闲状态1,所选从DSP进入等待状态;
[0088]步骤S2.5:主DSP获得步骤S2.1中所选从DSP处理器释放的SDRAM控制权,进入步骤S3 ;
[0089]步骤S3:主DSP获得SDRAM控制权后立即判断是否还有tile图像的压缩码流数据需要出处理,若有tile图像的压缩码流数据需要处理则转入步骤S1.2查找当前空闲状态最小标号的从DSP处理器进行下一个tile图像的压缩码流数据处理,若所有tile图像的压缩码流数据处理完毕,则转到步骤S4 ;
[0090]步骤S4:所有tile图像的压缩码流数据处理完毕,输出整幅解压缩后的图形数据至主控模块,工作结束;
[0091]其中步骤S2.2后的主DSP操作和步骤S2.5后的从DSP处理器操作同时进行,以达到DSP簇中的从DSP处理器并行解压缩图像数据的功能。
[0092]在步骤S2.2中,所选从DSP处理器进行压缩码流数据解压工作,如图5所示,图5为DSP处理器承担的解压缩任务流程图,包括如下步骤:
[0093]步骤S2.2.1 =DSP处理器对分配得到的压缩图像数据进行Tier_2 (最佳截断嵌入码块编码第二阶段)解码,在Tier-1解码过程中依次进行解析打包数据信息和解析码流结构分层组织;[0094]步骤S2.2.2:DSP处理器对Tier_2解码输出的图像数据进行Tier-1 (最佳截断嵌入码块编码第一阶段)解码,依次进行Tier-1解码过程中的三通道平面解码和算术解码;
[0095]步骤S2.2.3 =DSP处理器对解码完成后的图像数据进行反量化操作;
[0096]步骤S2.2.4 =DSP处理器通过指令并行方法实现反量化操作后的图像数据的反小波变换;
[0097]步骤S2.2.5 =DSP处理器对S2.2.4反小波变换后的图像数据进行后处理操作,包括偏移修正,定点转浮点操作。
[0098]在本发明的另一个具体实施例中,控制模块的主DSP和解压模块DSP簇中的从DSP处理器均选择ADI公司的芯片ADSP-21065L,芯片的片内RAM存储空间为0.5MB,一个tile的压缩码流数据大小为1MB,故芯片片内存储空间小于一个tile的压缩码流数据大小,在该实施例中,并行粒度确定为任务级。如图6所示,图6为本发明的控制模块主DSP控制DSP簇并行完成任务级的解压缩工作流程图,主DSP根据负载均衡化方法将解压缩任务划分为4个模块,分别为:
[0099]第一模块61:Tier-2解码和Tier-1 (最佳截断嵌入码块编码第一阶段)解码第一部分;
[0100]第二模块62 =Tier-1解码第二部分;
[0101]第三模块63:Tier-l解码第三部分和反量化操作;
[0102]第四模块64:并行实现反小波变换操作和图像后处理操作。
[0103]然后控制模块主DSP控制DSP簇中的从DSP处理器以流水线结构依次承担各个模块的解压缩任务。
[0104]所述Tier-1 (最佳截断嵌入码块编码第一阶段)解码,采用DSP处理器自带的SIMD结构,实现单DSP的片上并行操作,充分利用DSP处理器中的多个运算单元,以条带中2列数据为I组,在组中第一列进行显著性通道解码的同时,组中第二列依次进行幅度细化通道和清理通道解码,两列数据处理完成后,以列为单位平移移位一列,继续进行以组为单位的处理处理,直到所有条带数据处理完毕。
[0105]所述第四模块64的并行实现反小波变换,借助DMA进行数据搬运,如图7所示,图7为本发明的DMA进行数据搬运规则示意图,DMA数据搬运过程按照如下规则进行:
[0106]步骤S64.1:开始进行反小波变换;
[0107]步骤S64.2 =DSP处理器查找可用空闲DMA通道数并进行判断,若DMA通道数小于2,则转入步骤S64.3 ;若DMA通道数大于等于2小于4,则转入步骤S64.4 ;若DMA通道数大于等于4,则转入步骤S64.5 ;
[0108]步骤S64.3:应用I通道DMA进行持续搬运,DMA搬运块的大小设置为片内最大可用存储空间大小,按照先行后列的方式进行DMA数据搬运,搬运完成后转入步骤S64.6 ;
[0109]步骤S64.4:应用2通道DMA进行兵兵缓存式数据搬运,DMA搬运块的大小设置为片内最大可用存储空间的一半,按照先行后列的方式进行DMA数据搬运,搬运完成后转入步骤S64.6 ;
[0110]步骤S64.5:应用4通道DMA进行兵兵缓存式数据搬运,DMA搬运块的大小设置为片内最大可用存储空间的四分之一,只需进行行搬运过程,不需要进行列搬运,搬运完成后转入步骤S64.6 ;[0111]步骤S64.6:对搬运至片内的压缩图像数据按照DSP指令并行方法实现反小波变换,反小波变换的实施过程中,根据预先划分的子带数据位置,完成空间内所有可完成的数据处理过程,减少数据搬运次数。
[0112]在步骤S64.4中应用2通道DMA进行兵兵缓存式数据搬运,如图8所示,图8为本发明的4通道DMA进行数据搬运具体实现图例,本发明的2通道DMA进行数据搬运包括以行为单位的2通道DMA数据搬运和以行为单位的2通道DMA数据搬运,其中:以行为单位的2通道DMA数据搬运具体实现图如图8A所示,第一数据块813通过第一 DMA通道815传送到第一缓冲区811,第二数据块814通过第二 DMA通道816传送到第二缓冲区812,传送完毕后,第一数据块813和第二数据块814向下平移;当第一缓冲区811接收第一 DMA通道815传送数据的同时,对第二缓冲区812中的数据进行反小波变换操作;第二缓冲区812小波逆变完成后,开始接收第二 DMA通道816传送的数据,与此同时,对第一缓冲区811中的数据进行反小波变换,接收数据和处理数据交替进行,以达到无延迟的数据搬运。
[0113]以列为单位的2通道DMA数据搬运具体实现图如图SB所示,第一数据块823通过第一 DMA通道825传送到第一缓冲区821,第二数据块824通过第二 DMA通道826传送到第二缓冲区822,传送完毕后第一数据块823和第二数据块824向右平移,其余操作与以行为单位的2通道DMA数据搬运一致。
[0114]步骤S64.5中应用4通道DMA进行乒乓缓存式数据搬运,如图9所示,图9为本发明的4通道DMA进行数据搬运具体实现图例,其中,第一数据块901通过第一 DMA通道95传送到第一缓冲区91,第二数据块902通过第二 DMA通道96传送到第二缓冲区92,第三数据块903通过第三DMA通道97传送到第三缓冲区93,第四数据块904通过第四DMA通道98传送到第四缓冲区94,传送完毕后,第一数据块1901、第二数据块902、第三数据块903、第四数据块904向下平移;当第一缓冲区91接收第一 DMA通道95传送数据的同时,对第二缓冲区92中的数据进行反小波变换的行提升操作;第二缓冲区92小波逆变完成后,开始接收第二 DMA通道96传送的数据,与此同时对第一缓冲区91中的数据进行反小波变换的行提升操作,在第一缓冲区91行提升操作完成后,对第一缓冲区91和第二缓冲区92中的数据进行联合反小波变换列提升操作。
[0115]在对第一缓冲区91和第二缓冲区92中的数据进行联合反小波变换列提升操作的同时,第三缓冲区93接收第三DMA通道97传送数据的同时,对第四缓冲区94中的数据进行反小波变换的行提升操作;第四缓冲区94小波逆变完成后,开始接收第四DMA通道98传送的数据,与此同时对第三缓冲区93中的数据进行反小波变换的行提升操作,在第三缓冲区93进行提升操作完成后,对第三缓冲区93和第四缓冲区94中的数据进行联合反小波变换列提升操作。
[0116]对第三缓冲区93和第四缓冲区94中的数据进行联合反小波变换列提升操作完成后,重复第一缓冲区91和第二缓冲区92的接收和处理数据过程,以达到无延迟的数据搬运。
[0117]在步骤S64.6中,按照DSP指令并行方法实现反小波变换,在一个指令周期内完成多字节数据的加、减、乘操作。在本发明的具体实施例中,以4字节数据构成一个长字,DSP处理器可以在一个指令周期内完成该长字数据的并行加法、乘法及移位运算,将此方法用于反小波变换的行列提升过程中,可以提高2?3倍的效率。[0118]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于DSP的JPEG2000标准图像解压缩系统,其特征在于,包括控制模块(11)和解压模块(12),其中: 控制模块(11)通过数据总线与解压模块(12)相连以进行数据通信,用于接收并缓存JPEG2000标准下的图像压缩数据包,并用于控制解压模块(12)并行完成图像的解压缩处理任务,以及在解压缩处理任务完成后,将解压后的图像数据输出至外部接口 ; 所述解压模块(12)用于并行完成图像的解压缩处理任务。
2.如权利要求1所述的基于DSP的JPEG2000标准图像解压缩系统,其特征在于,所述解压模块(12)由DSP簇(121)和SDRAM(122)组成;所述控制模块(11)用于对待解压缩的图像数据包进行并行粒度解析,根据并行粒度划分规则确定此次解压缩的并行粒度,并根据确定的并行粒度为所述解压模块(12)中所述DSP簇(121)中的每一个DSP处理器划分需要完成的解压缩任务。
3.如权利要求2所述的基于DSP的JPEG2000标准图像解压缩系统,其特征在于,所述DSP簇(121)中的DSP处理器与控制模块(11)之间通过link 口或用户自定义总线进行通信,用于接收所述控制模块(11)发出的控制信号,并根据控制信号并行完成解压缩处理任务。
4.如权利要求2所述的基于DSP的JPEG2000标准图像解压缩系统,其特征在于,所述SDRAM (122)通过数据总线与主控模块(11)及所述DSP簇(121)相连,DSP簇中的所有DSP共享所述SDRAM (122)。
5.如权利要求3或4所述的基于DSP的JPEG2000标准图像解压缩系统,其特征在于,所述DSP簇(121)包括一簇或 者多簇DSP处理器,每簇DSP处理器的结构相同,每簇DSP由多片DSP处理器构成,所述多片DSP处理器具有相同的处理功能和接口,任意两片DSP簇中的DSP处理器之间具有通信通道,能够完成两两之间的互相通信,实现多片DSP处理器之间的并行连接,以在控制模块(11)控制下进行并行解压缩处理任务。
6.如权利要求3或4所述的基于DSP的JPEG2000标准图像解压缩系统,其特征在于,所述SDRAM(122)被所述控制模块(11)和DSP簇(121)中的所有DSP处理器共享,用于缓存解压缩处理任务执行过程中的所有数据,在解压缩处理任务完成后,将解压完成后的图像数据整合。
7.一种基于DSP的JPEG2000标准图像解压缩方法,用于权利要求2所述的JPEG2000标准图像解压缩系统,其特征在于,包含如下步骤: 步骤S1:所述控制模块从外部接收JPEG2000压缩图像数据包后将其存储于所述SDRAM内; 步骤S2:所述控制模块解析压缩图像数据包,按照并行粒度划分规则划分并行粒度,并根据确定的并行粒度为DSP簇的每一个DSP处理器划分需要完成的解压缩任务的起始占.步骤S3 =DSP簇中的DSP并行解压缩划分得到的解压缩处理任务,输出处理结果至SDRAM的指定区域存储区; 步骤S4:在控制模块的控制下,在SDRAM中整合解压缩完成后的图像数据后将整合后的图像数据输出。
8.如权利要求7所述的基于DSP的JPEG2000标准图像解压缩方法,其特征在于,所述步骤S2中并行粒度划分规则由所述DSP簇中的DSP处理器片内RAM空间大小确定,包括如下规则: 如果DSP处理器片内RAM内存空间大于等于JPEG2000压缩图像一个tile图像的压缩码流数据空间,并行粒度为tile数据级; 如果DSP处理器片内RAM内存空间小于一个tile的压缩码流数据空间,并行粒度为任务级。
9.如权利要求7所述的基于DSP的JPEG2000标准图像解压缩方法,其特征在于:在步骤S2中根据确定的并行粒度为DSP簇的每一个DSP处理器划分需要完成的解压缩任务的起始点的步骤中, 如果并行粒度为tile数据级,则所述控制模块按照处理块大小划分解压缩处理任务,处理块大小为一个tile的压缩码流数据大小,所述控制模块和所述DSP簇中的DSP处理器交替获得SDRAM的控制权,将tile图像的压缩码流数据通过DMA依次搬运到各个DSP处理器的片内缓冲区后,各个DSP处理器分别独立的进行完整的tile级图像压缩码流数据解压任务,将DSP处理器的通信时间隐藏在运算时间之后,使tile数据级并行粒度下的各DSP处理器承担解压缩任务的运行时间近似相等; 如果并行粒度为任务级,所述控制模块按照负载平衡方法进行流水线关键路径拆分,拆分的原则按照拆分运行时间最长的模块,合并运行时间最短的模块,保证模块总数等于所述DSP簇中的DSP处理器的个数,直至各模块运行时间基本相等,然后所述控制模块控制所述DSP簇中的DSP处理器以流水线结构依次承担各个模块的解压缩任务。
10.如权利要求8所述的基于DSP的JPEG2000标准图像解压缩方法务,其特征在于,在所述步骤S2中,各DSP处理器承担的解压缩任包括如下步骤: 步骤S2.2.1 =DSP处理器对分配得到的压缩图像数据进行Tier-2 (最佳截断嵌入码块编码第二阶段)解码,在Tier-1解码过程中依次进行解析打包数据信息和解析码流结构分层组织; 步骤S2.2.2 =DSP处理器对Tier-2解码输出的图像数据进行Tier-1 (最佳截断嵌入码块编码第一阶段)解码,依次进行Tier-1解码过程中的三通道平面解码和算术解码; 步骤S2.2.3 =DSP处理器对解码完成后的图像数据进行反量化操作; 步骤S2.2.4 =DSP处理器通过指令并行方法实现反量化操作后的图像数据的反小波变换; 步骤S2.2.5 =DSP处理器对S2.2.4反小波变换后的图像数据进行后处理操作,包括偏移修正,定点转浮点操作。
11.如权利要求10所述的基于DSP的JPEG2000标准图像解压缩方法,其特征在于,在所述步骤S2.2.1中,采用DSP簇中的DSP处理器自带的SMD结构,实现单DSP的片上并行操作,充分利用DSP处理器中的多个运算单元,以条带中2列数据为I组,在组中第一列进行显著性通道解码的同时,组中第二列依次进行幅度细化通道和清理通道解码,两列数据处理完成后,以列为单位平移移位一列,继续进行以组为单位的处理,直到所有条带数据处理完毕。
12.如权利要求10所述的基于DSP的JPEG2000标准图像解压缩方法,其特征在于,所述步骤S2.2.4中,并行实现反小波变换借助DMA进行数据搬运,DMA数据搬运过程按照如下规则进行: 步骤S64.1:开始进行反小波变换; 步骤S64.2 =DSP处理器查找可用空闲DMA通道数并进行判断,若DMA通道数小于2,则转入步骤S64.3 ;若DMA通道数大于等于2小于4,则转入步骤S64.4 ;若DMA通道数大于等于4,则转入步骤S64.5 ; 步骤S64.3:应用I通道DMA进行持续搬运,DMA搬运块的大小设置为片内最大可用存储空间大小,按照先行后列的方式进行DMA数据搬运,搬运完成后转入步骤S64.6 ; 步骤S64.4:应用2通道DMA进行乒乓缓存式数据搬运,DMA搬运块的大小设置为片内最大可用存储空间的一半,按照先行后列的方式进行DMA数据搬运,搬运完成后转入步骤S64.6 ; 步骤S64.5:应用4通道DMA进行乒乓缓存式数据搬运,DMA搬运块的大小设置为片内最大可用存储空间的四分之一,只需进行行搬运过程,不需要进行列搬运,搬运完成后转入步骤S64.6 ; 步骤S64.6:对搬运至片内的压缩图像数据按照DSP指令并行方法实现反小波变换,反小波变换的实施过程中,根据预先划分的子带数据位置,完成空间内所有可完成的数据处理过程,减少数据搬运次数。
13.如权利要求12所述的基于DSP的JPEG2000标准图像解压缩方法,其特征在于,在步骤S64.6中,在一个指令 周期内完成多字节数据的加、减、乘、移位操作。
【文档编号】H04N19/423GK103997648SQ201410258954
【公开日】2014年8月20日 申请日期:2014年6月11日 优先权日:2014年6月11日
【发明者】袁柳, 刘怀达, 贾品贵 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1