多级idwt并行处理方法及系统的制作方法
【技术领域】
[0001] 本发明设及图像技术领域,尤其设及一种基于FPGA的肝EG2000解码过程中的多级 IDWT并行处理方法及系统。
【背景技术】
[0002] 目前,随着数字拍摄技术和数字存储技术的不断进步,基于肝EG2000编码格式图 像的分辨率越来越高,从传统电视的标清图像和高清图像,逐步发展到数字电影2K图像和 4K图像,W及医学图像和卫星遥感8K乃至1服图像;同时,基于JPEG2000编码格式图像的播 放帖率也越来越高,数字电影2K图像由24帖/秒扩展到25帖/秒、30帖/秒、50帖/秒或60帖/ 秒,4K图像由24帖/秒扩展到25帖/秒、30帖/秒,数字电视帖率达到50帖/秒或60帖/秒,医学 扫描和卫星遥测图像帖率逐步发展到75帖/秒,96帖/秒甚至是120帖/秒。高分辨率高帖率 静态图像的出现和应用对编解码系统的存储容量和处理带宽提出了更高的要求。
[0003] 现有的多级IDWT处理的数据读取方法,按照小波分解级从高到低的顺序,顺次完 成单级IDWTdW4级IDWT为例,现有的多级IDWT处理的数据读取方法如图1(a)-图1(e)所示。 先从小波系数存储器中读取第四分解级的小波系数化4,化4,1^4,皿4,如图1(曰)所示,进行 第四分解级IDWT计算,计算生成的结果LL3回写到小波系数存储器中的LL3存储区,如图1 (b)所示;再从小波存储器中读取第Ξ分解级的小波系数化3,化3,L册,皿3进行第Ξ分解级 IDWT计算,计算生成的结果化2回写到小波系数存储器中的化2存储区;W此类推,完成其他 较低分解级的IDWT,直至进行第一分解级IDWT计算,计算生成的结果作为多级IDWT的输出。
[0004] 现有的多级IDWT处理的数据存储方法如图2所示。IDWT计算引擎从外部存储器读 取小波系数进行IDWT计算,并将IDWT引擎的处理结果,如图1(b)-图1(e)中的化3,化2,化1 或化0,回写到小波系数存储器中;显示设备从小波系数存储器中读取化0存储区的数据进 行播放。运样,小波系数存储器不仅需要为IDWT引擎的处理结果预留存储区,还需要为回写 IDWT引擎的处理结果和输出多级IDWT的处理结果预留足够的存储带宽;同时,运种多级 IDWT处理方法还将产生至少一帖图像播放时间的延时。
【发明内容】
[0005] 为了克服现有技术的不足,本发明提出一种多级IDWT并行处理方法及系统,旨在 实现多级IDWT的并行处理,将小波系数存储器的容量和带宽占用降到最低,节省存储资源, 降低处理延时,降低高分辨率高帖率静态图像的编解码系统的复杂度。
[0006] 为了达到上述目的,本发明提出一种多级IDWT并行处理方法,应用于多级IDWT并 行处理系统,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个 小波系数行缓存和至少一个IDWT计算引擎,所述方法包括W下步骤:
[0007] 小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解 级的小波系数,并存储到对应的小波系数行缓存中;
[000引IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取 小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
[0009] 所述小波系数存储器存放的小波系数中,对于最高分解级,包含有化,化,LH,皿四 个频域的小波系数;对于其他分解级,包含化,化皿立个频域的小波系数。优选地,所述小 波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系 数,并存储到对应的小波系数行缓存中的步骤包括:
[0010] 在分配最高分解级的小波系数时,小波系数分配器从小波系数存储器中提取四个 频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分解级的小 波系数时,小波系数分配器从小波系数存储器中提取Ξ个频域的小波系数,存储到对应分 解级的小波系数行缓存中。
[0011] 优选地,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、多个 小波系数行缓存和多个IDWT计算引擎,每一级IDWT对应一个小波系数行缓存和一个IDWT计 算引擎;所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分解 级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前 分解级的IDWT计算引擎;
[001^ 所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次 读取小波系数行进行IDWT处理,通过多个IDWT计算引擎实现多级IDWT并行处理的步骤包 括:
[0013] IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二 维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解级的 IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的化行缓存,W实现多级IDWT 的并行处理。
[0014] 优选地,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、一个 小波系数行缓存和一个IDWT计算引擎;所述小波系数行缓存由所有分解级的小波系数行缓 存组成,每一分解级的小波系数行缓存由当前分解级的四个行缓存组成,小波系数行缓存 用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发 送小波系数行数据给当前分解级的IDWT计算引擎;
[001引所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次 读取小波系数行进行IDWT处理,通过一个IDWT计算引擎实现多级IDWT并行处理的步骤包 括:
[0016] 所述IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完 成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多级IDWT并行处 理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT 的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
[0017] 优选地,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读 取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段;
[0018] 预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有 分解级的除第〇,1,2,3行外的所有小波系数行的读取。
[0019]本发明实施例还提出一种多级IDWT并行处理系统,所述多级IDWT并行处理系统包 括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎, 其中:
[0020] 所述小波系数存储器,用于存放小波系数,对于最高分解级,则包含有化,HL,LH, 皿四个频域的小波系数;对于其他分解级,则包含化,LH,ΗΗΞ个频域的小波系数;
[0021] 所述小波系数分配器,用于从小波系数存储器中按照小波系数分配策略提取各个 小波分解级的小波系数,并存储到对应的小波系数行缓存中;
[0022] IDWT计算引擎,用于按照小波系数分配策略提供的顺序,从小波系数行缓存中顺 次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
[0023] 优选地,所述小波系数分配器具体用于,在分配最高分解级的小波系数时,从小波 系数存储器中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中; 在分配其他分解级的小波系数时,从小波系数存储器中提取Ξ个频域的小波系数,存储到 对应分解级的小波系数行缓存中。
[0024] 优选地,在所述多级IDWT并行处理系统包括多个小波系数行缓存和多个IDWT计算 引擎时,每一级IDWT对应一个小波系数行缓存和一个IDWT计算引擎;
[0025] 所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分解 级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前 分解级的IDWT计算引擎;
[0026] 所述IDWT计算引擎,具体用于接收小波系数行缓存发送的四个频域的小波系数 行,实时地完成二维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输 出,其他分解级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的化行缓 存,W实现多级IDWT的并行处理:
[0027] 在所述多级IDWT并行处理系统包括一个小波系数行缓存和一个IDWT计算引擎时, 所述小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系数行缓存 由当前分解级的四个行缓存组成,小波系数行缓存用于接收并存储所有分解级的小波系数 行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT 计算引擎;
[0028] 所述IDWT计算引擎,具有用于接收小波系数行缓存发送的四个频域的小波系数 行,实时地完成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多 级IDWT并行处理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0 作为多级IDWT的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
[0029] 优选地,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读 取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段;
[0030] 预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有 分解级的除第〇,1,2,3行外的所有小波系数行的读取。
[0031] 本发明提出的一种多级IDWT并行处理方法及系统,只需按照小波系数分配策略, 依次从小波系数存储器中读取各个分解级的小波系数行,并将读取的各个分解级的小波系 数行顺次送至IDWT计算引擎进行处理,生成的LL0频域小波系数行,即为多级IDWT处理的输 出结果,由于不需将IDWT处理生成的化小波系数回
写到小波系数存储器中,通过该方案能 将IDWT处理模块所需的存储容量和存储带宽降到最低,节省了存储资源,并极大地降低处 理延时,便于实现播放系统的声音信号和图像信号的同步,降低了高分辨率高帖率静态图 像的编解码系统的复杂度;并且具有扩展性好、效率高的优点。
【附图说明】
[0032] 图1(a)-图1(e)是现有的多级IDWT处理的数据读取方法;
[0033] 图2是现有的多级IDWT处理的数据存储方法;
[0034] 图3是本发明提出的多级IDWT处理系统架构图;
[0035] 图4是本发明提出的多级IDWT并行处理的数据读取方法;
[0036] 图5是本发明提出的多级IDWT并行处理的数据存储方法;
[0037] 图6是本发明提出的多级IDWT并行处理结构示意图;
[0038] 图7是本发明提出的较佳的多级IDWT并行处理结构示意图;
[0039] 图8是本发明提出的小波系数分配策略;
[0040] 图9是本发明提出的较佳的小波系数分配策略;
[0041] 图10是本发明提出的多级IDWT并行处理方法流程示意图。
[0042] 为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
【具体实施方式】
[0043] 应当理解,此处所描述的具体实施例仅仅用W解释本发明,并不用于限定本发明。
[0044] 本发明方案所设及的技术术语,包括:
[0045] DWT:离散小波变换,用于肝EG2000编码过程;
[0046] IDWT:逆向离散小波变换,是DWT的可逆过程,用于肝EG2000解码过程。
[0047] 本发明实施例方案主要包括:小波系数分配器按照小波系数分配策略从小波系数 存储器中提取小波系数,并存储到小波系数行缓存中,IDWT计算引擎从小波系数行缓存中 顺次读取小波系数行进行IDWT处理,第一分解级的小波系数行生成的数据作为多级IDWT的 输出,其他分解级的小波系数行生成的数据填充到小波系数行缓存中,实现多级IDWT的并 行处理。本发明主要包括小波系数存储器、小波系数分配器、小波系数行缓存、IDWT计算引 擎。本发明主要用于肝EG2000解码器中的IDWT处理模块,并能将IDWT处理模块所需的存储 容量和存储带宽降到最低,并极大地降低处理延时,便于实现播放系统的声音信号和图像 信号的同步。
[0048] 具体地,如图3所示,本发明较佳实施例提出一种多级IDWT并行处理系统,所述多 级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和 至少一个IDWT计算引擎,其中:
[0049] 所述小波系数存储器,用于存放小波系数,对于最高分解级,则包含有化,HL,LH, 皿四个频域的小波系数;对于其他分解级,则包含化,LH,ΗΗΞ个频域的小波系数;W四级小 波变换为例,最高分解级为第四分解级,包含的小波系数,包含四个频域,如图1(a)所示,即 化4,化4,LH4,HH4;其他分解级包含的小波系数,包含Ξ个频域,如图1 (a)所示,分别为化3, LH3,皿3,HL2,LH2,皿2,HL1,LH1,皿1。
[0050] 所述小波系数分配器,用于从小波系数存储器中按照小波系数分配策略提取各个 小波分解级的小波系数,并存储到对应的小波系数行缓存中;
[0051] 具体地,在分配最高分解级的小波系数时,小波系数分配器从小波系数存储器中 提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分 解级的小波系数时,小波系数分配器从小波系数存储器中提取Ξ个频域的小波系数,存储 到对应分解级的小波系数行缓存中。
[0052] IDWT计算引擎,用于按照小波系数分配策略提供的顺序,从小波系数行缓存中顺 次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。
[0053] 本发明提出的多级IDWT并行处理的数据读取方法如图4所示。多级IDWT并行处理 方法只需按照小波系数分配策略,依次从小波系数存储器中读取各个分解级的小波系数 行,如图4(a)中虚线部分所示,并将读取的各个分解级的小波系数行顺次送至IDWT计算引 擎进行处理,生成的化0频域小波系数行,如图4(b)中虚线部分所示,即为多级IDWT处理的 输出结果。
[0054] 本发明提出的多级IDWT并行处理方法,数据存储方法如图5所示。不需将IDWT处理 生成的化小波系数回写到小波系数存储器中,从而将小波系数存储器的容量和带宽占用降 到最低,节省了存储资源,降低了高分辨率高帖率静态图像的编解码系统的复杂度。
[0055] 具体地,W下分两种应用实例进行举例:
[0056] 实施例一:
[0057] 多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、多个小波系数行 缓存和多个IDWT计算引擎,其中,每一级IDWT对应一个小波系数行缓存和一个IDWT计算引 擎。
[005引 W四级IDWT为例,多级IDWT并行处理方法的整体组成结构如图6所示。
[0059] 其中,小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波 分解级的小波系数,并存储到对应的小波系数行缓存中,IDWT计算引擎从小波系数行缓存 中顺次读取小波系数行进行IDWT处理,第一小波分解级的IDWT计算引擎生成的LL0小波系 数作为多级IDWT的输出,其他分解级的IDWT计算引擎生成的化1、化2、化3频域小波系数分 别填充到下一小波分解级小波系数行缓存的化频域中,从而实现多级IDWT的并行处理。
[0060] 所述小波系数分配器用于从小波系数存储器中按照小波系数分配策略,提取各个 小波分解级的小波系数行,并存储到对应分解级的小波系数行缓存中。同样地,分配最高分 解级的小波系数时,小波系数分配器从小波系数存储器中提取四个频域的小波系数行数 据,存储到最高分解级的小波系数行缓存中;分配其他分解级的小波系数时,小波系数分配 器从小波系数存储器中提取Ξ个频域的小波系数,存储到对应分解级的小波系数行缓存 中。
[0061] 所述小波系数行缓存由当前分解级的四个行缓存组成,对应为化行缓存,HL行缓 存,LH行缓存和皿行缓存。小波系数行缓存用于接收并存储当前分解级的小波系数行,并在 当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引 擎。对于最高分解级的小波系数行缓存,四个频域的小波系数行均由小波系数分配器提供; 对于其他分解级的小波系数行缓存,化、LH、皿行缓存由小波系数分配器提供,化行缓存则 由更高一级的IDWT计算引擎提供。
[0062] 所述IDWT计算引擎用于接收小波系数行缓存发送的四个频域的小波系数行,实时 地完成二维IDWT处理,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解 级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的化行缓存。
[0063] 实施例二:
[0064] 多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、一个小波系数行 缓存和一个IDWT计算引擎。
[0065] W四级IDWT为例,多级IDWT并行处理方法的整体组成结构如图7所示。
[0066] 具体地,小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小 波分解级的小波系数,并存储到小波系数行缓存中,IDWT计算引擎按照小波系数分配策略 提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,第一小波分解级的 小波系数行生成的小波系数作为多级IDWT的输出,其他分解级的小波系数生成的LLULL2、 LL3小波系数填充到小波系数行缓存中,从而实现多级IDWT的并行处理。与图6不同的是,多 级IDWT处理仅包含一个小波系数行缓冲和一个IDWT计算引擎。
[0067] 所述小波系数存储器用于存放小波系数。对于最高分解级,则包含有四个频域的 小波系数;对于其他分解级,包含Ξ个频域的小波系数。W四级小波变换为例,最高分解级 为第四分解级,包含的小波系数,包含四个频域,如图1(a)所示,目化L4,HL4,LH4,HH4;其他 分解级包含的小波系数,包含Ξ个频域,如图1 (a)所示,分别为化3,L册,皿3,化2,LH2,皿2, HLl'LHl'Wl。
[0068] 所述小波系数分配器用于从小波系数存储器中按照小波系数分配策略,提取各个 小波分解级的小波系数行,并存储到小波系数行缓存中。
[0069] 所述小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系 数行缓存由当前分解级的四个行缓存组成,对应为化行缓存,化行缓存,LH行缓存和皿行缓 存。小波系数行缓存用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行 缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算引擎。对于最高分解级的 小波系数行缓存,四个频域的小波系数行均由小波系数分配器提供;对于其他分解级的小 波系数行缓存,化、LH、皿行缓存由小波系数分配器提供,化行缓存则由更高一级的IDWT计 算引擎提供。
[0070] 所述IDWT计算引擎用于接收小波系数行缓存发送的四个频域的小波系数行,实时 地完成二维IDWT处理。通过分时复用的方法,采用一个IDWT计算引擎实现多级IDWT并行处 理。当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT 的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
[0071] 更为具体地,上述实施例中,所述小波系数分配策略是指所述小波系数分配器从 小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、 循环两个阶段。
[0072] 10¥1'分为9/7小波变换和5/^3小波变换两种类型。W四级9/7类型巧巧了为例,小波系 数分配策略如图8所示,图中Ci(j)表示第i分解级的第j小波系数行,由图1(a)-图1(b)中的 LLi频域中的第j行,HLi频域中的第j行,L化频域中
的第j行,皿i频域中的第j行组合而成。 LLi频域中的第j行小波系数长度为Li,则四个频域的第j行组合而成的Ci(j),其数据总长 度为化i,Ci(j)送至IDWT计算引擎后,生成化(i-1)频域内长度为化i的第(2j-4)行和第 (2j-3)行。
[0073] 图8中箭头的方向代表小波系数行的读取顺序。多级IDWT的分解级数为P,第一分 解级的化1频域内总行数的序号为H。
[0074]图8中Ci(j)在小波系数分配策略中出现的顺序,应遵循W下两点:
[00巧]1、扣〇')小波系数行应在〔(1+1)(1#《&]^2)小波系数行之后出现(1]表示向下 取整)。只有C(i+l)(U*Sj|+2)小波系数行生成了化i频域内的第j行,在小波系数行缓冲 中的化i频域中的第j行准备就绪,才能组成完整的Ci(j)小波系数行;
[0076] 2、扣(如小波系数行应在〔(1-1)(2^'-5)小波系数行之后出现,否则^〇)小波系数 行生成的LL(i-l)频域内的第(2j-4)行和第(2j-3)行会覆盖小波系数行缓冲中的C(i-l) (2j-5)小波系数行对应在化(i-1)频域内的第(2j-5)行。
[0077] 预备阶段
[0078] 预备阶段完成所有分解级的第0行至第3行的小波系数行读取,亦即Ci(j),i = l, 2,. . . P; j = 0,1,2,3,共计读取4P个小波系数行。小波系数行的读取步骤如下:
[0079] 1、从最高分解级P的第0行CP (0)开始;
[0080] 2、寻找小波系数行Ci(j)的下一小波系数行肥XT[Ci(j)],到第一分解级的第3行 Cl(3)止,预备阶段结束。寻找小波系数行Ci(j)的下一小波系数行肥XT[Ci(j)]的规则如 下:
[0087] j = 3时,
[0088] NEXT[Ci(3)]=C(i-l)(3) i辛1
[0089] 循环阶段
[0090] 循环阶段完成所有分解级的除第0,1,2,3行外的所有小波系数行的读取,亦即Ci (j),i = l,2,...P;j = 4,5,6......。循环阶段由若干个固定的小波系数行系列X(n)组成,η 为小波系数行系列Χ(η)的编号,η = 0,1,2......。小波系数行系列Χ(η)包含1个第Ρ分解级 小波系数行Cl(4+n),2个第Ρ-1分解级小波系数行,即C2(4+化),C2(5+2n),W此类推,2Ρ-1个 第一分解级小波系数行,即CP(4+2P-i*n),CP(5+2P-i*n),......CP(3+2P-i*(n-l))。对于第i 分解级,对应的小波系数行为Ci(3+2P-i*n+k),其中k=l,2,......。
[0091 ]小波系数行系列X(n)的读取步骤如下:
[0092] 1、从第 1 分解级的第(4+2P-i*n)行 Cl(4+2P-i*n)开始;
[0093] 2、寻找小波系数行Ci(j)的下一小波系数行肥XT[Ci(j)],到第一分解级的Cl(3+ 2P-i*(n+l))止,循环阶段结束。寻找小波系数行Ci(j)的下一小波系数行肥XT[Ci(j)]的规 则如下:
[0094]
[OOM]其中的Τ的含义:将整数k二进制表达时,从最低位开始,连续出现ο的个数为τ。w 数字k = 8为例,其二进制表示为化1000,从最低位开始,连续出现3个0,T = 3;W数字k = 6为 例,其二进制表示为化110,从最低位开始,连续出现1个〇,Τ=1。在图8(b)中,第一分解级的 Cl(8n+10)对应在上述公式中k = 8,T = 3,因此,箭头指向的下一小波系数行为第四分解级 的第n+4行。
[0096] 从图8可W看出,IDWT在处理C1 (8n+4)至C1 (加+11)的小波系数行系列的过程中, 在处理Cl(8n+5)*Cl(8n+6)的过程中,不需要处理较高小波分解级的小波数据;在处理C1 (8n+10)*Cl(8n+ll)的过程中,需要处理第4分解级C4(n+4)、第3分解级C3(2n+5)和第2分解 级C2(4n+7)的数据。运样,在多级IDWT并行处理的过程中,存在小波系数行处理不均匀的情 况,运就需要更多的带宽资源,来填补处理瓶颈。
[0097] 较佳地,本发明还提出一种小波系数分配策略,仍然分为预备、循环2个阶段。W四 级9/7类型IDWT为例,较佳的小波系数分配策略如图9所示。
[0098] 在预备阶段,小波系数分配策略在原有的小波系数行系列中,Ci(0),Ci(l),Ci(2) 的位置保持不变,将CP(3)在原有列的位置上提前(P-2)列,C(P-1)(3)在原有列的位置上提 前(P-3)列,W此类推,C3(3)在原有列的位置上提前1列,C2(3)和Cl(3)保持不变。
[0099] 在循环阶段,小波系数分配策略在原有的小波系数行系列中,Cl(j),C2(j)的位置 保持不变,将C3(j)在原有列的位置上提前1列,将C4(j)在原有列的位置上提前3列,W此类 推,CP (j))在原有列的位置上提前(2P-5)列。
[0100] 至此,在处理一个小波系数行系列的过程中,每两个相邻的第一分解级小波系数 行中,均不超过一行的其他分解级小波系数行,从而达到小波系数均衡处理的目的。
[0101] 由于现有的多级IDWT方法,按照小波分解级从高到低的顺序,顺次完成单级IDWT。 运种方法的处理过程和数据调度比较简单,但是对系统的处理带宽和存储容量占用较大, 并且有处理的延时。在JPEG2000的编解码中,需要预备更大的存储容量和更高的数据处理 带宽,同时需要增加处理模块,W实现图像信号和其他信号的延时平抑。运样,增加了系统 的复杂度,降低了系统的可靠性和可扩展性。
[0102] 本发明是基于小波系数分配策略,与现有技术相比,首先是降低系统的处理带宽 和存储容量;其次,处理延时小;并且具有扩展性好、效率高的优点。
[0103] 具体地,本发明方案相比现有技术具有如下优点:
[0104] 1.本发明实现了低延时数字信号处理,没有处理延时,可W满足医学图像、实时视 频监控等应用领域低延时的需求;
[0105] 2.本发明实现了低存储带宽的数字信号处理,可W在最小的存储带宽范围内实现 更高分辨率和更高帖率数字图像的实时处理;
[0106] 3.本发明实现了 IDWT引擎的高度复用,提高了 IDWT引擎的利用率,节省了系统成 本,提高了系统的稳定性,降低了系统的复杂度。
[0107] 本发明已经通过实验,在XILINX Virtex XC7VX485T上成功实现了图像分辨率为 4096X2160,帖率为120帖/秒,小波分解级数为6的多级IDWT并行处理,效果很理想。和设计 的预期一致。
[0108] 需要说明的是,10胖1'分为5/^3类型和9/7类型。本发明^基于提升算法的9/7类型的 IDWT为例进行了说明,基于本发明的5Λ类型的多级IDWT并行处理方法均在本专利的包含 范围之内。
[0109] 遵守图8或图9所示的数据输入系列及其变通,或预备序列的适当增加或减少,或 循环序列的适当减少或增加,或循环序列的左右移动,均在本专利的包含范围之内。
[0110] 多个IDWT引擎,或单个IDWT引擎与多个IDWT引擎的组合,或串行IDWT引擎与并行 IDWT引擎的组合,采用遵守图8或图9所示的数据输入系列或变通的数据输入序列,均在本 专利的包含范围之内。
[0111] 如图10所示,本发明实施例提出的一种多级IDWT并行处理方法,应用于多级IDWT 并行处理系统,所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一 个小波系数行缓存和至少一个IDWT计算引擎,所述方法包括W下步骤:
[0112] 步骤S101,小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个 小波分解级的小波系数,并存储到对应的小波系数行缓存中;
[0113] 步骤S102JDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存 中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处 理。
[0114] 具体地,所述小波系数存储器存放的小波系数中,对于最高分解级,包含有化,化, LH,皿四个频域的小波系数;对于其他分解级,包含化,LH,ΗΗΞ个频域的小波系数。
[0115] 具体地,所述小波系数分配器从小波系数存储器中按照小波系数分配策略提取各 个小波分解级的小波系数,并存储到对应的小波系数行缓存中的步骤包括:
[0116] 在分配最高分解级的小波系数时,小波系数分配器从小波系数存储器中提取四个 频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他分解级的小 波系数时,小波系数分配器从小波系数存储器中提取Ξ个频域的小波系数,存储到对应分 解级的小波系数行缓存中。
[0117] 具体地,若所述多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、多 个小波系数行缓存和多个IDWT计算引擎,每一级IDWT对应一个小波系数行缓存和一个IDWT 计算引擎;所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分 解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当 前分解级的IDWT计算引擎;
[0118] 所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次 读取小波系数行进行IDWT处理,通过多个IDWT计算引擎实现多级IDWT并行处理的步骤包 括:
[0119] IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完成二 维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其他分解级的 IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的化行缓存,W实现多级IDWT 的并行处理。
[0120] 此外,若所述多级IDWT并行处理系统包括小波系数存储器、小波系数
分配器、一个 小波系数行缓存和一个IDWT计算引擎;所述小波系数行缓存由所有分解级的小波系数行缓 存组成,每一分解级的小波系数行缓存由当前分解级的四个行缓存组成,小波系数行缓存 用于接收并存储所有分解级的小波系数行,并在当前分解级的四个行缓存准备就绪后,发 送小波系数行数据给当前分解级的IDWT计算引擎;
[0121] 所述IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次 读取小波系数行进行IDWT处理,通过一个IDWT计算引擎实现多级IDWT并行处理的步骤包 括:
[0122] 所述IDWT计算引擎接收小波系数行缓存发送的四个频域的小波系数行,实时地完 成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多级IDWT并行处 理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LL0作为多级IDWT 的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。
[0123] 其中,所述小波系数分配策略是指所述小波系数分配器从小波系数存储器中读取 小波系数行的顺序,也是IDWT计算引擎执行计算的顺序,分为预备、循环两个阶段;
[0124] 预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有 分解级的除第〇,1,2,3行外的所有小波系数行的读取。
[0125] 本实施例实现多级IDWT并行处理的具体细节,请参照上述多级IDWT并行处理系统 各实施例,在此不再寶述。
[0126] 本发明提出的多级IDWT并行处理方法及系统,只需按照小波系数分配策略,依次 从小波系数存储器中读取各个分解级的小波系数行,并将读取的各个分解级的小波系数行 顺次送至IDWT计算引擎进行处理,生成的化0频域小波系数行,即为多级IDWT处理的输出结 果,由于不需将IDWT处理生成的化小波系数回写到小波系数存储器中,通过该方案能将 IDWT处理模块所需的存储容量和存储带宽降到最低,节省了存储资源,并极大地降低处理 延时,便于实现播放系统的声音信号和图像信号的同步,降低了高分辨率高帖率静态图像 的编解码系统的复杂度;并且具有扩展性好、效率高的优点。
[0127] 上述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发 明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领 域,均同理包括在本发明的专利保护范围内。
【主权项】
1. 一种多级IDWT并行处理方法,其特征在于,应用于多级IDWT并行处理系统,所述多级 IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至 少一个IDWT计算引擎,所述方法包括以下步骤: 小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的 小波系数,并存储到对应的小波系数行缓存中; 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计算引擎处理第一分解级的小波系数行时,输出的小波系数行LLO作为多级IDWT的 输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。5. 根据权利要求1所述的方法,其特征在于,所述小波系数分配策略是指所述小波系数 分配器从小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序, 分为预备、循环两个阶段; 预备阶段完成所有分解级的第0行至第3行的小波系数行读取,循环阶段完成所有分解 级的除第〇,1,2,3行外的所有小波系数行的读取。6. -种多级IDWT并行处理系统,其特征在于,所述多级IDWT并行处理系统包括小波系 数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,其中: 所述小波系数存储器,用于存放小波系数,对于最高分解级,则包含有1^,!1,1^,^1四 个频域的小波系数;对于其他分解级,则包含HL,LH,ΗΗ三个频域的小波系数; 所述小波系数分配器,用于从小波系数存储器中按照小波系数分配策略提取各个小波 分解级的小波系数,并存储到对应的小波系数行缓存中; IDWT计算引擎,用于按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读 取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。7. 根据权利要求6所述的系统,其特征在于, 所述小波系数分配器具体用于,在分配最高分解级的小波系数时,从小波系数存储器 中提取四个频域的小波系数行数据,存储到最高分解级的小波系数行缓存中;在分配其他 分解级的小波系数时,从小波系数存储器中提取三个频域的小波系数,存储到对应分解级 的小波系数行缓存中。8. 根据权利要求6所述的系统,其特征在于, 在所述多级IDWT并行处理系统包括多个小波系数行缓存和多个IDWT计算引擎时,每一 级IDWT对应一个小波系数行缓存和一个IDWT计算引擎; 所述小波系数行缓存由当前分解级的四个行缓存组成,用于接收并存储当前分解级的 小波系数行,并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解 级的IDWT计算引擎; 所述IDWT计算引擎,具体用于接收小波系数行缓存发送的四个频域的小波系数行,实 时地完成二维IDWT处理,其中,最低分解级的IDWT计算引擎的输出作为多级IDWT的输出,其 他分解级的IDWT计算引擎的输出发送到低一分解级的小波系数行缓存中的LL行缓存,以实 现多级IDWT的并行处理; 在所述多级IDWT并行处理系统包括一个小波系数行缓存和一个IDWT计算引擎时,所述 小波系数行缓存由所有分解级的小波系数行缓存组成,每一分解级的小波系数行缓存由当 前分解级的四个行缓存组成,小波系数行缓存用于接收并存储所有分解级的小波系数行, 并在当前分解级的四个行缓存准备就绪后,发送小波系数行数据给当前分解级的IDWT计算 引擎; 所述IDWT计算引擎,具有用于接收小波系数行缓存发送的四个频域的小波系数行,实 时地完成二维IDWT处理,其中,通过分时复用的方式,采用一个IDWT计算引擎实现多级IDWT 并行处理,当IDWT计算引擎处理第一分解级的小波系数行时,输出的小波系数行LLO作为多 级IDWT的输出;否则,IDWT计算引擎输出的小波系数行发送到小波系数行缓冲中。9. 根据权利要求6所述的系统,其特征在于,所述小波系数分配策略是指所述小波系数 分配器从小波系数存储器中读取小波系数行的顺序,也是IDWT计算引擎执行计算的顺序, 分为预备、循环两个阶段; 预备阶段完成所有分解级的第〇行至第3行的小波系数行读取,循环阶段完成所有分解 级的除第〇,1,2,3行外的所有小波系数行的读取。
【专利摘要】本发明公开一种多级IDWT并行处理方法及系统,多级IDWT并行处理系统包括小波系数存储器、小波系数分配器、至少一个小波系数行缓存和至少一个IDWT计算引擎,所述方法包括:小波系数分配器从小波系数存储器中按照小波系数分配策略提取各个小波分解级的小波系数,并存储到对应的小波系数行缓存中;IDWT计算引擎按照小波系数分配策略提供的顺序,从小波系数行缓存中顺次读取小波系数行进行IDWT处理,通过至少一个IDWT计算引擎实现多级IDWT并行处理。本发明降低了存储容量和存储带宽,节省了存储资源,并极大地降低处理延时,具有扩展性好、效率高的优点。
【IPC分类】H04N19/436, H04N19/635, H04N19/426, H04N19/63
【公开号】CN105491392
【申请号】CN201510823481
【发明人】白云祥, 赵中伟, 李海洲
【申请人】北京优素科技有限公司
【公开日】2016年4月13日
【申请日】2015年11月24日