CN105491392B - 多级idwt并行处理方法及系统 - Google Patents
多级idwt并行处理方法及系统 Download PDFInfo
- Publication number
- CN105491392B CN105491392B CN201510823481.0A CN201510823481A CN105491392B CN 105491392 B CN105491392 B CN 105491392B CN 201510823481 A CN201510823481 A CN 201510823481A CN 105491392 B CN105491392 B CN 105491392B
- Authority
- CN
- China
- Prior art keywords
- idwt
- wavelet
- several rows
- systems
- wavelet coefficient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开一种多级IDWT并行处理方法及系统,多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,所述方法包括:小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中;IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。本发明降低了存储容量和存储带宽,节省了存储资源,并极大地降低处理延时,具有扩展性好、效率高的优点。
Description
技术领域
本发明涉及图像技术领域,尤其涉及一种基于FPGA的JPEG2000解码过程中的多级IDWT并行处理方法及系统。
背景技术
目前,随着数字拍摄技术和数字存储技术的不断进步,基于JPEG2000编码格式图像的分辨率越来越高,从传统电视的标清图像和高清图像,逐步发展到数字电影2K图像和4K图像,以及医学图像和卫星遥感8K乃至16K图像;同时,基于JPEG2000编码格式图像的播放帧率也越来越高,数字电影2K图像由24帧/秒扩展到25帧/秒、30帧/秒、50帧/秒或60帧/秒,4K图像由24帧/秒扩展到25帧/秒、30帧/秒,数字电视帧率达到50帧/秒或60帧/秒,医学扫描和卫星遥测图像帧率逐步发展到75帧/秒,96帧/秒甚至是120帧/秒。高分辨率高帧率静态图像的出现和应用对编解码系统的存储容量和处理带宽提出了更高的要求。
现有的多级IDWT处理的数据读取方法,按照小波分解级从高到低的顺序,顺次完成单级IDWT。以4级IDWT为例,现有的多级IDWT处理的数据读取方法如图1(a)-图1(e)所示。先从小波系数存储器中读取第四分解级的小波系数LL4,HL4,LH4,HH4,如图1(a)所示,进行第四分解级IDWT计算,计算生成的结果LL3回写到小波系数存储器中的LL3存储区,如图1(b)所示;再从小波存储器中读取第三分解级的小波系数LL3,HL3,LH3,HH3进行第三分解级IDWT计算,计算生成的结果LL2回写到小波系数存储器中的LL2存储区;以此类推,完成其他较低分解级的IDWT,直至进行第一分解级IDWT计算,计算生成的结果作为多级IDWT的输出。
现有的多级IDWT处理的数据存储方法如图2所示。IDWT计算引擎从外部存储器读取小波系数进行IDWT计算,并将IDWT引擎的处理结果,如图1(b)-图1(e)中的LL3,LL2,LL1或LL0,回写到小波系数存储器中;显示设备从小波系数存储器中读取LL0存储区的数据进行播放。这样,小波系数存储器不仅需要为IDWT引擎的处理结果预留存储区,还需要为回写IDWT引擎的处理结果和输出多级IDWT的处理结果预留足够的存储带宽;同时,这种多级IDWT处理方法还将产生至少一帧图像播放时间的延时。
发明内容
为了克服现有技术的不足,本发明提出一种多级IDWT并行处理方法及系统,旨在实现多级IDWT的并行处理,将小波系数存储器的容量和带宽占用降到最低,节省存储资源,降低处理延时,降低高分辨率高帧率静态图像的编解码系统的复杂度。
为了达到上述目的,本发明提出一种多级IDWT并行处理方法,应用于多级IDWT并行处理系统,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,所述方法包括以下步骤:
小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段;
预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有分解级的除第0,1,2,3行外的所有小波系数行的读取。
IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
所述小波系数存储器存放的小波系数中,对于最高分解级,包含有LL,HL,LH,HH四个频域的小波系数;对于其他分解级,包含HL,LH,HH三个频域的小波系数。优选地,所述小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中的步骤包括:
在分配最高分解级的小波系数时,小波系数分配器从小波系数存储器中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分解级的小波系数时,小波系数分配器从小波系数存储器中提取三个频域的小波系数,存储到对应分解级的小波系数行缓存中。
优选地,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、多个小波系数行缓存和多个IDWT计算引擎,每一级IDWT对应一个小波系数行缓存和一个IDWT计算引擎;所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过多个IDWT计算引擎实现多级IDWT并行处理的步骤包括:
IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的LL行缓存,以实现多级IDWT的并行处理。
优选地,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、一个小波系数行缓存和一个IDWT计算引擎;所述小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系数行缓存由当前分解级的四个行缓存组成,小波系数行缓存用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过一个IDWT计算引擎实现多级IDWT并行处理的步骤包括:
所述IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多级IDWT并行处理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
本发明实施例还提出一种多级IDWT并行处理系统,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,其中:
所述小波系数存储器,用于存放小波系数,对于最高分解级,则包含有LL,HL,LH,HH四个频域的小波系数;对于其他分解级,则包含HL,LH,HH三个频域的小波系数;
所述小波系数分配器,用于从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中;
IDWT计算引擎,用于按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
优选地,所述小波系数分配器具体用于,在分配最高分解级的小波系数时,从小波系数存储器中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分解级的小波系数时,从小波系数存储器中提取三个频域的小波系数,存储到对应分解级的小波系数行缓存中。
优选地,在所述多级IDWT并行处理系统包括多个小波系数行缓存和多个IDWT计算引擎时,每一级IDWT对应一个小波系数行缓存和一个IDWT计算引擎;
所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎,具体用于接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的LL行缓存,以实现多级IDWT的并行处理;
在所述多级IDWT并行处理系统包括一个小波系数行缓存和一个IDWT计算引擎时,所述小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系数行缓存由当前分解级的四个行缓存组成,小波系数行缓存用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎,具有用于接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多级IDWT并行处理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
优选地,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段;
预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有分解级的除第0,1,2,3行外的所有小波系数行的读取。
本发明提出的一种多级IDWT并行处理方法及系统,只需按照小波系数分配策略,依次从小波系数存储器中读取各个分解级的小波系数行,并将读取的各个分解级的小波系数行顺次送至IDWT计算引擎进行处理,生成的LL0频域小波系数行,即为多级IDWT处理的输出结果,由于不需将IDWT处理生成的LL小波系数回写到小波系数存储器中,通过该方案能将IDWT处理模块所需的存储容量和存储带宽降到最低,节省了存储资源,并极大地降低处理延时,便于实现播放系统的声音信号和图像信号的同步,降低了高分辨率高帧率静态图像的编解码系统的复杂度;并且具有扩展性好、效率高的优点。
附图说明
图1(a)-图1(e)是现有的多级IDWT处理的数据读取方法;
图2是现有的多级IDWT处理的数据存储方法;
图3是本发明提出的多级IDWT处理系统架构图;
图4是本发明提出的多级IDWT并行处理的数据读取方法;
图5是本发明提出的多级IDWT并行处理的数据存储方法;
图6是本发明提出的多级IDWT并行处理结构示意图;
图7是本发明提出的较佳的多级IDWT并行处理结构示意图;
图8是本发明提出的小波系数分配策略;
图9是本发明提出的较佳的小波系数分配策略;
图10是本发明提出的多级IDWT并行处理方法流程示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明方案所涉及的技术术语,包括:
DWT:离散小波变换,用于JPEG2000编码过程;
IDWT:逆向离散小波变换,是DWT的可逆过程,用于JPEG2000解码过程。
本发明实施例方案主要包括:小波系数分配器按照小波系数分配策略从小波系数存储器中提取小波系数,并存储到小波系数行缓存中,IDWT计算引擎从小波系数行缓存中顺次读取小波系数行进行IDWT处理,第一分解级的小波系数行生成的数据作为多级IDWT的输出,其他分解级的小波系数行生成的数据填充到小波系数行缓存中,实现多级IDWT的并行处理。本发明主要包括小波系数存储器、小波系数分配器、小波系数行缓存、IDWT计算引擎。本发明主要用于JPEG2000解码器中的IDWT处理模块,并能将IDWT处理模块所需的存储容量和存储带宽降到最低,并极大地降低处理延时,便于实现播放系统的声音信号和图像信号的同步。
具体地,如图3所示,本发明较佳实施例提出一种多级IDWT并行处理系统,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,其中:
所述小波系数存储器,用于存放小波系数,对于最高分解级,则包含有LL,HL,LH,HH四个频域的小波系数;对于其他分解级,则包含HL,LH,HH三个频域的小波系数;以四级小波变换为例,最高分解级为第四分解级,包含的小波系数,包含四个频域,如图1(a)所示,即LL4,HL4,LH4,HH4;其他分解级包含的小波系数,包含三个频域,如图1(a)所示,分别为HL3,LH3,HH3,HL2,LH2,HH2,HL1,LH1,HH1。
所述小波系数分配器,用于从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中;
具体地,在分配最高分解级的小波系数时,小波系数分配器从小波系数存储器中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分解级的小波系数时,小波系数分配器从小波系数存储器中提取三个频域的小波系数,存储到对应分解级的小波系数行缓存中。
IDWT计算引擎,用于按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
本发明提出的多级IDWT并行处理的数据读取方法如图4所示。多级IDWT并行处理方法只需按照小波系数分配策略,依次从小波系数存储器中读取各个分解级的小波系数行,如图4(a)中虚线部分所示,并将读取的各个分解级的小波系数行顺次送至IDWT计算引擎进行处理,生成的LL0频域小波系数行,如图4(b)中虚线部分所示,即为多级IDWT处理的输出结果。
本发明提出的多级IDWT并行处理方法,数据存储方法如图5所示。不需将IDWT处理生成的LL小波系数回写到小波系数存储器中,从而将小波系数存储器的容量和带宽占用降到最低,节省了存储资源,降低了高分辨率高帧率静态图像的编解码系统的复杂度。
具体地,以下分两种应用实例进行举例:
实施例一:
多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、多个小波系数行缓存和多个IDWT计算引擎,其中,每一级IDWT对应一个小波系数行缓存和一个IDWT计算引擎。
以四级IDWT为例,多级IDWT并行处理方法的整体组成结构如图6所示。
其中,小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中,IDWT计算引擎从小波系数行缓存中顺次读取小波系数行进行IDWT处理,第一小波分解级的IDWT计算引擎生成的LL0小波系数作为多级IDWT的输出,其他分解级的IDWT计算引擎生成的LL1、LL2、LL3频域小波系数分别填充到下一小波分解级小波系数行缓存的LL频域中,从而实现多级IDWT的并行处理。
所述小波系数分配器用于从小波系数存储器中按照小波系数分配策略,提取各个小波分解级的小波系数行,并存储到对应分解级的小波系数行缓存中。同样地,分配最高分解级的小波系数时,小波系数分配器从小波系数存储器中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;分配其他分解级的小波系数时,小波系数分配器从小波系数存储器中提取三个频域的小波系数,存储到对应分解级的小波系数行缓存中。
所述小波系数行缓存由当前分解级的四个行缓存组成,对应为LL行缓存,HL行缓存,LH行缓存和HH行缓存。小波系数行缓存用于接收并存储当前分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎。对于最高分解级的小波系数行缓存,四个频域的小波系数行均由小波系数分配器提供;对于其他分解级的小波系数行缓存,HL、LH、HH行缓存由小波系数分配器提供,LL行缓存则由更高一级的IDWT计算引擎提供。
所述IDWT计算引擎用于接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的LL行缓存。
实施例二:
多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、一个小波系数行缓存和一个IDWT计算引擎。
以四级IDWT为例,多级IDWT并行处理方法的整体组成结构如图7所示。
具体地,小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到小波系数行缓存中,IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,第一小波分解级的小波系数行生成的小波系数作为多级IDWT的输出,其他分解级的小波系数生成的LL1、LL2、LL3小波系数填充到小波系数行缓存中,从而实现多级IDWT的并行处理。与图6不同的是,多级IDWT处理仅包含一个小波系数行缓冲和一个IDWT计算引擎。
所述小波系数存储器用于存放小波系数。对于最高分解级,则包含有四个频域的小波系数;对于其他分解级,包含三个频域的小波系数。以四级小波变换为例,最高分解级为第四分解级,包含的小波系数,包含四个频域,如图1(a)所示,即LL4,HL4,LH4,HH4;其他分解级包含的小波系数,包含三个频域,如图1(a)所示,分别为HL3,LH3,HH3,HL2,LH2,HH2,HL1,LH1,HH1。
所述小波系数分配器用于从小波系数存储器中按照小波系数分配策略,提取各个小波分解级的小波系数行,并存储到小波系数行缓存中。
所述小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系数行缓存由当前分解级的四个行缓存组成,对应为LL行缓存,HL行缓存,LH行缓存和HH行缓存。小波系数行缓存用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎。对于最高分解级的小波系数行缓存,四个频域的小波系数行均由小波系数分配器提供;对于其他分解级的小波系数行缓存,HL、LH、HH行缓存由小波系数分配器提供,LL行缓存则由更高一级的IDWT计算引擎提供。
所述IDWT计算引擎用于接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理。通过分时复用的方法,采用一个IDWT计算引擎实现多级IDWT并行处理。当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
更为具体地,上述实施例中,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段。
IDWT分为9/7小波变换和5/3小波变换两种类型。以四级9/7类型IDWT为例,小波系数分配策略如图8所示,图中Ci(j)表示第i分解级的第j小波系数行,由图1(a)-图1(b)中的LLi频域中的第j行,HLi频域中的第j行,LHi频域中的第j行,HHi频域中的第j行组合而成。LLi频域中的第j行小波系数长度为Li,则四个频域的第j行组合而成的Ci(j),其数据总长度为4Li,Ci(j)送至IDWT计算引擎后,生成LL(i-1)频域内长度为2Li的第(2j-4)行和第(2j-3)行。
图8中箭头的方向代表小波系数行的读取顺序。多级IDWT的分解级数为P,第一分解级的LL1频域内总行数的序号为H。
图8中Ci(j)在小波系数分配策略中出现的顺序,应遵循以下两点:
1、Ci(j)小波系数行应在C(i+1)小波系数行之后出现(表示向下取整)。只有C(i+1)小波系数行生成了LLi频域内的第j行,在小波系数行缓冲中的LLi频域中的第j行准备就绪,才能组成完整的Ci(j)小波系数行;
2、Ci(j)小波系数行应在C(i-1)(2j-5)小波系数行之后出现,否则Ci(j)小波系数行生成的LL(i-1)频域内的第(2j-4)行和第(2j-3)行会覆盖小波系数行缓冲中的C(i-1)(2j-5)小波系数行对应在LL(i-1)频域内的第(2j-5)行。
预备阶段
预备阶段完成所有分解级的第0行至第3行的小波系数行读取,亦即Ci(j),i=1,2,...P;j=0,1,2,3,共计读取4P个小波系数行。小波系数行的读取步骤如下:
1、从最高分解级P的第0行CP(0)开始;
2、寻找小波系数行Ci(j)的下一小波系数行NEXT[Ci(j)],到第一分解级的第3行C1(3)止,预备阶段结束。寻找小波系数行Ci(j)的下一小波系数行NEXT[Ci(j)]的规则如下:
j=0时,
j=1时,
j=2时,
j=3时,
NEXT[Ci(3)]=C(i-1)(3)i≠1
循环阶段
循环阶段完成所有分解级的除第0,1,2,3行外的所有小波系数行的读取,亦即Ci(j),i=1,2,...P;j=4,5,6......。循环阶段由若干个固定的小波系数行系列X(n)组成,n为小波系数行系列X(n)的编号,n=0,1,2......。小波系数行系列X(n)包含1个第P分解级小波系数行C1(4+n),2个第P-1分解级小波系数行,即C2(4+2n),C2(5+2n),以此类推,2P-1个第一分解级小波系数行,即CP(4+2P-1*n),CP(5+2P-1*n),......CP(3+2P-1*(n-1))。对于第i分解级,对应的小波系数行为Ci(3+2P-i*n+k),其中k=1,2,......2P-i。
小波系数行系列X(n)的读取步骤如下:
1、从第1分解级的第(4+2P-1*n)行C1(4+2P-1*n)开始;
2、寻找小波系数行Ci(j)的下一小波系数行NEXT[Ci(j)],到第一分解级的C1(3+2P-1*(n+1))止,循环阶段结束。寻找小波系数行Ci(j)的下一小波系数行NEXT[Ci(j)]的规则如下:
其中的T的含义:将整数k二进制表达时,从最低位开始,连续出现0的个数为T。以数字k=8为例,其二进制表示为0b1000,从最低位开始,连续出现3个0,T=3;以数字k=6为例,其二进制表示为0b110,从最低位开始,连续出现1个0,T=1。在图8(b)中,第一分解级的C1(8n+10)对应在上述公式中k=8,T=3,因此,箭头指向的下一小波系数行为第四分解级的第n+4行。
从图8可以看出,IDWT在处理C1(8n+4)至C1(8n+11)的小波系数行系列的过程中,在处理C1(8n+5)→C1(8n+6)的过程中,不需要处理较高小波分解级的小波数据;在处理C1(8n+10)→C1(8n+11)的过程中,需要处理第4分解级C4(n+4)、第3分解级C3(2n+5)和第2分解级C2(4n+7)的数据。这样,在多级IDWT并行处理的过程中,存在小波系数行处理不均匀的情况,这就需要更多的带宽资源,来填补处理瓶颈。
较佳地,本发明还提出一种小波系数分配策略,仍然分为预备、循环2个阶段。以四级9/7类型IDWT为例,较佳的小波系数分配策略如图9所示。
在预备阶段,小波系数分配策略在原有的小波系数行系列中,Ci(0),Ci(1),Ci(2)的位置保持不变,将CP(3)在原有列的位置上提前(P-2)列,C(P-1)(3)在原有列的位置上提前(P-3)列,以此类推,C3(3)在原有列的位置上提前1列,C2(3)和C1(3)保持不变。
在循环阶段,小波系数分配策略在原有的小波系数行系列中,C1(j),C2(j)的位置保持不变,将C3(j)在原有列的位置上提前1列,将C4(j)在原有列的位置上提前3列,以此类推,CP(j))在原有列的位置上提前(2P-5)列。
至此,在处理一个小波系数行系列的过程中,每两个相邻的第一分解级小波系数行中,均不超过一行的其他分解级小波系数行,从而达到小波系数均衡处理的目的。
由于现有的多级IDWT方法,按照小波分解级从高到低的顺序,顺次完成单级IDWT。这种方法的处理过程和数据调度比较简单,但是对系统的处理带宽和存储容量占用较大,并且有处理的延时。在JPEG2000的编解码中,需要预备更大的存储容量和更高的数据处理带宽,同时需要增加处理模块,以实现图像信号和其他信号的延时平抑。这样,增加了系统的复杂度,降低了系统的可靠性和可扩展性。
本发明是基于小波系数分配策略,与现有技术相比,首先是降低系统的处理带宽和存储容量;其次,处理延时小;并且具有扩展性好、效率高的优点。
具体地,本发明方案相比现有技术具有如下优点:
1.本发明实现了低延时数字信号处理,没有处理延时,可以满足医学图像、实时视频监控等应用领域低延时的需求;
2.本发明实现了低存储带宽的数字信号处理,可以在最小的存储带宽范围内实现更高分辨率和更高帧率数字图像的实时处理;
3.本发明实现了IDWT引擎的高度复用,提高了IDWT引擎的利用率,节省了系统成本,提高了系统的稳定性,降低了系统的复杂度。
本发明已经通过实验,在XILINX Virtex XC7VX485T上成功实现了图像分辨率为4096X2160,帧率为120帧/秒,小波分解级数为6的多级IDWT并行处理,效果很理想。和设计的预期一致。
需要说明的是,IDWT分为5/3类型和9/7类型。本发明以基于提升算法的9/7类型的IDWT为例进行了说明,基于本发明的5/3类型的多级IDWT并行处理方法均在本专利的包含范围之内。
遵守图8或图9所示的数据输入系列及其变通,或预备序列的适当增加或减少,或循环序列的适当减少或增加,或循环序列的左右移动,均在本专利的包含范围之内。
多个IDWT引擎,或单个IDWT引擎与多个IDWT引擎的组合,或串行IDWT引擎与并行IDWT引擎的组合,采用遵守图8或图9所示的数据输入系列或变通的数据输入序列,均在本专利的包含范围之内。
如图10所示,本发明实施例提出的一种多级IDWT并行处理方法,应用于多级IDWT并行处理系统,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,所述方法包括以下步骤:
步骤S101,小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中;
步骤S102,IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
具体地,所述小波系数存储器存放的小波系数中,对于最高分解级,包含有LL,HL,LH,HH四个频域的小波系数;对于其他分解级,包含HL,LH,HH三个频域的小波系数。
具体地,所述小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中的步骤包括:
在分配最高分解级的小波系数时,小波系数分配器从小波系数存储器中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分解级的小波系数时,小波系数分配器从小波系数存储器中提取三个频域的小波系数,存储到对应分解级的小波系数行缓存中。
具体地,若所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、多个小波系数行缓存和多个IDWT计算引擎,每一级IDWT对应一个小波系数行缓存和一个IDWT计算引擎;所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过多个IDWT计算引擎实现多级IDWT并行处理的步骤包括:
IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的LL行缓存,以实现多级IDWT的并行处理。
此外,若所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、一个小波系数行缓存和一个IDWT计算引擎;所述小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系数行缓存由当前分解级的四个行缓存组成,小波系数行缓存用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过一个IDWT计算引擎实现多级IDWT并行处理的步骤包括:
所述IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多级IDWT并行处理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
其中,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段;
预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有分解级的除第0,1,2,3行外的所有小波系数行的读取。
本实施例实现多级IDWT并行处理的具体细节,请参照上述多级IDWT并行处理系统各实施例,在此不再赘述。
本发明提出的多级IDWT并行处理方法及系统,只需按照小波系数分配策略,依次从小波系数存储器中读取各个分解级的小波系数行,并将读取的各个分解级的小波系数行顺次送至IDWT计算引擎进行处理,生成的LL0频域小波系数行,即为多级IDWT处理的输出结果,由于不需将IDWT处理生成的LL小波系数回写到小波系数存储器中,通过该方案能将IDWT处理模块所需的存储容量和存储带宽降到最低,节省了存储资源,并极大地降低处理延时,便于实现播放系统的声音信号和图像信号的同步,降低了高分辨率高帧率静态图像的编解码系统的复杂度;并且具有扩展性好、效率高的优点。
上述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种多级IDWT并行处理方法,其特征在于,应用于多级IDWT并行处理系统,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,所述方法包括以下步骤:
小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段;
预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有分解级的除第0,1,2,3行外的所有小波系数行的读取;
IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
2.根据权利要求1所述的方法,其特征在于,所述小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中的步骤包括:
在分配最高分解级的小波系数时,小波系数分配器从小波系数存储器中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分解级的小波系数时,小波系数分配器从小波系数存储器中提取三个频域的小波系数,存储到对应分解级的小波系数行缓存中。
3.根据权利要求1所述的方法,其特征在于,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、多个小波系数行缓存和多个IDWT计算引擎,每一级IDWT对应一个小波系数行缓存和一个IDWT计算引擎;所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过多个IDWT计算引擎实现多级IDWT并行处理的步骤包括:
IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的LL行缓存,以实现多级IDWT的并行处理。
4.根据权利要求1所述的方法,其特征在于,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、一个小波系数行缓存和一个IDWT计算引擎;所述小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系数行缓存由当前分解级的四个行缓存组成,小波系数行缓存用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过一个IDWT计算引擎实现多级IDWT并行处理的步骤包括:
所述IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多级IDWT并行处理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
5.一种多级IDWT并行处理系统,其特征在于,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,其中:
所述小波系数存储器,用于存放小波系数,对于最高分解级,则包含有LL,HL,LH,HH四个频域的小波系数;对于其他分解级,则包含HL,LH,HH三个频域的小波系数;
所述小波系数分配器,用于从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段;
预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有分解级的除第0,1,2,3行外的所有小波系数行的读取;
IDWT计算引擎,用于按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
6.根据权利要求5所述的系统,其特征在于,
所述小波系数分配器具体用于,在分配最高分解级的小波系数时,从小波系数存储器中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分解级的小波系数时,从小波系数存储器中提取三个频域的小波系数,存储到对应分解级的小波系数行缓存中。
7.根据权利要求5所述的系统,其特征在于,
在所述多级IDWT并行处理系统包括多个小波系数行缓存和多个IDWT计算引擎时,每一级IDWT对应一个小波系数行缓存和一个IDWT计算引擎;
所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎,具体用于接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的LL行缓存,以实现多级IDWT的并行处理;
在所述多级IDWT并行处理系统包括一个小波系数行缓存和一个IDWT计算引擎时,所述小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系数行缓存由当前分解级的四个行缓存组成,小波系数行缓存用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎;
所述IDWT计算引擎,具体用于接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多级IDWT并行处理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510823481.0A CN105491392B (zh) | 2015-11-24 | 2015-11-24 | 多级idwt并行处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510823481.0A CN105491392B (zh) | 2015-11-24 | 2015-11-24 | 多级idwt并行处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105491392A CN105491392A (zh) | 2016-04-13 |
CN105491392B true CN105491392B (zh) | 2019-03-29 |
Family
ID=55678058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510823481.0A Active CN105491392B (zh) | 2015-11-24 | 2015-11-24 | 多级idwt并行处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105491392B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135394B (zh) * | 2017-04-19 | 2019-07-23 | 西安电子科技大学 | 基于spiht标准的小波系数存取方法 |
CN111567042B (zh) * | 2019-04-29 | 2022-05-17 | 深圳市大疆创新科技有限公司 | 小波逆变换电路和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101365138A (zh) * | 2008-10-10 | 2009-02-11 | 中国航天科技集团公司第五研究院第五〇四研究所 | 一种jpeg2000图像压缩处理系统 |
CN102036064A (zh) * | 2009-09-24 | 2011-04-27 | 索尼公司 | 图像处理装置和方法 |
CN102131082A (zh) * | 2010-01-18 | 2011-07-20 | 索尼公司 | 图像处理装置和图像处理方法 |
CN102511161A (zh) * | 2009-09-24 | 2012-06-20 | 索尼公司 | 图像处理设备和图像处理方法 |
-
2015
- 2015-11-24 CN CN201510823481.0A patent/CN105491392B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101365138A (zh) * | 2008-10-10 | 2009-02-11 | 中国航天科技集团公司第五研究院第五〇四研究所 | 一种jpeg2000图像压缩处理系统 |
CN102036064A (zh) * | 2009-09-24 | 2011-04-27 | 索尼公司 | 图像处理装置和方法 |
CN102511161A (zh) * | 2009-09-24 | 2012-06-20 | 索尼公司 | 图像处理设备和图像处理方法 |
CN102131082A (zh) * | 2010-01-18 | 2011-07-20 | 索尼公司 | 图像处理装置和图像处理方法 |
Non-Patent Citations (1)
Title |
---|
JPEG2000中二维小波变换的高速VLSI设计与实现;陈曙涛 等;《微型机与应用》;20100228(第4期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105491392A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105491392B (zh) | 多级idwt并行处理方法及系统 | |
CN103841432B (zh) | 一种复合视频数据的传输方法和设备 | |
CN102158694B (zh) | 一种基于gpu的遥感图像解压缩方法 | |
CN102186076B (zh) | 一种实时码率预分配的图像压缩方法及图像压缩装置 | |
JP2007311923A (ja) | 帯域分析装置及び方法、帯域合成装置及び方法、画像符号化装置及び方法、画像復号装置及び方法、並びにプログラム及び記録媒体 | |
CN101984666A (zh) | 一种基于提升小波变换的图像无损压缩和解压方法 | |
CN101404772B (zh) | 基于小波变换的vlsi图像压缩编码器 | |
CN106060567B (zh) | 一种基于分层wz帧的小波域分布式多视点视频编码 | |
CN102833546B (zh) | 基于小波子带交织最优量化的高速图像压缩方法及装置 | |
US7949049B2 (en) | Memory efficient 3-D wavelet transform for video coding without boundary effects | |
US7321693B2 (en) | Image processing apparatus and image processing method including adjustment of coded data to specified target size | |
CN102006483B (zh) | 一种视频编解码方法及装置 | |
CN101599167B (zh) | 存储器的存取方法 | |
JP4356029B2 (ja) | 情報処理装置および方法 | |
CN101299819B (zh) | 可伸缩视频编码中的三维小波子带排序及码流封包方法 | |
JP4356031B2 (ja) | 情報処理装置および方法 | |
US8249375B2 (en) | Information processing apparatus and method | |
CN102695060A (zh) | 基于jpeg2000标准的自适应存储器和存储方法 | |
CN103533327B (zh) | 一种基于硬件实现的dibr系统 | |
CN102289828A (zh) | 一种基于fpga的星载图像压缩的小波变换系统及方法 | |
CN103369325B (zh) | 一种适用于无线视频传感网的低复杂度视频压缩传输方法 | |
CN114449178A (zh) | 视频信号传输控制方法及视频信号传输系统 | |
US20080285870A1 (en) | Information processing device and method | |
Lee et al. | CUDA-based JPEG2000 encoding scheme | |
CN107135394B (zh) | 基于spiht标准的小波系数存取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |