CN101267558A - Jpeg2000标准中基于码块的低存储编码器及其编码方法 - Google Patents

Jpeg2000标准中基于码块的低存储编码器及其编码方法 Download PDF

Info

Publication number
CN101267558A
CN101267558A CN 200810018113 CN200810018113A CN101267558A CN 101267558 A CN101267558 A CN 101267558A CN 200810018113 CN200810018113 CN 200810018113 CN 200810018113 A CN200810018113 A CN 200810018113A CN 101267558 A CN101267558 A CN 101267558A
Authority
CN
China
Prior art keywords
code block
wavelet
wavelet coefficient
coefficient
subband
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.)
Pending
Application number
CN 200810018113
Other languages
English (en)
Inventor
李云松
郭杰
刘凯
王柯俨
雷杰
吴成柯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN 200810018113 priority Critical patent/CN101267558A/zh
Publication of CN101267558A publication Critical patent/CN101267558A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明公开了一种JPEG2000标准中基于码块的低存储编码器及其编码方法。该编码器包括小波变换、地址映射、小波系数存储区域、待编码码块仲裁和比特平面编码模块。小波变换模块,对原始图像进行多级小波变换;地址映射模块,将变换系数对应于小波分解图像后的地址映射为具体小波系数缓存区域中的地址;小波系数存储区域,缓存经小波变换模块计算的小波系数;待编码码块仲裁模块,暂存没有进行后续处理的码块信息,并对已经存储完整码块中的小波系数准备进行比特平面编码;比特平面编码模块,对编码状态变量进行编码和更新。本发明具有图像压缩质量好,系统占用存储容量小的优点,可用于对各种数字设备的图像压缩编码,特别是大分辨率图像的压缩系统。

Description

JPEG2000标准中基于码块的低存储编码器及其编码方法
技术领域
本发明属于图像处理技术领域,涉及压缩编码,特别是一种涉及静止图像压缩标准JPEG2000中的低存储编码器与方法,用于符合JPEG2000标准的各种数字图像压缩编码。
背景技术
随着多媒体和网络技术的发展及其在医学影像、遥感图像和数字图像/视频传输等方面的应用,以往的图像压缩编码方法已经无法适应高效压缩、实时传输与高效存储的要求。作为目前国际上最新的静止图像压缩通用标准,JPEG2000具有明显的优势,例如:支持单分量或多分量的有损和无损编码、在低码率下仍具有很好的性能,同时还支持图像质量和分辨率的渐进传输、感兴趣区域ROI编码,具有良好的抗误码性能。以上这些优点来源于JPEG2000分别采用了离散小波变换DWT和率失真优化截取内嵌码块编码结构EBCOT作为其核心的变换和编码方法。JPEG2000编码方法首先将大尺寸图像分割成若干小的分量图像片,然后对各个图像分片使用DWT进行多级子带分解,对划分在小波子带系数上的码块经过包括比特平面编码、算术编码和码率控制在内的EBCOT完成压缩编码,最后打包生成符合JPEG2000标准的文件或者码流。
JPEG2000编码方法与之前采用Mallat滤波器组方法实现的小波变换相比,由于在其标准中采用了基于提升的离散小波变换方法,大大降低了小波变换所需的计算量和存储量,具有计算复杂度低、可实现原位运算、变换形式简单可逆和能够实现整型系数小波变换等优点;同时JPEG2000标准中采纳了9/7和5/3两种小波基,其中9/7小波变换用于有损压缩,其性能最优,而5/3小波变换可用于无损压缩。由于图像信号是二维信号,需要对其进行二维小波变换。二维小波变换可分解为水平和垂直方向上的两个一维小波变换,每一次二维小波分解得到一个低频子带LL和三个高频子带,即水平子带LH、垂直子带HL和对角子带HH。下一级小波变换是在前一级产生的低频子带LL的基础上进行的,如此重复多次,便可以完成一幅图像的多级小波分解。
所述的EBCOT算法分为Tier-1和Tier-2两部分。Tier-1由内嵌的比特平面编码和MQ算术编码器组成,完成编码所需的上下文后进行算术编码,形成多个子流;Tier-2部分按照由目标码率计算出来的斜率进行码流截取,完成码率控制。进行EBCOT编码时,各小波子带划分为更小的互不重叠的码块,如64×64或者32×32,以码块为单位独立作Tier-1编码。不同的码块产生的比特流长度是不相同的,它们对恢复图像质量的贡献也是不同的。因此对于所有码块产生的比特流,Tier-2采用了率失真优化技术进行后压缩处理,完成码流的率控制。
当前有很多关于JPEG2000标准硬件实现的研究和设计方法,但是这些方法在应用中存在以下几方面的不足:
第一,JPEG2000标准中的离散小波变换计算复杂度高于之前JPEG中的离散余弦变换,且DWT是按照字节或字进行运算;而EBCOT中的比特平面编码和算术编码是按照逐个比特处理。这种处理速率上的不匹配往往要求降低DWT的吞吐能力或者提高EBCOT的处理速度,从而导致整体处理能力的下降。
第二,在进行EBCOT编码时,需要对DWT产生的各个子带的小波系数逐个进行编码,因此所有的小波系数都需要在编码之前存储下来。而以往的方法是将整幅图像或整个图像分片的小波系数全部存储到片外的静态随机存储器SRAM中,由此带来的后果是在图像分片较大的情况下占用的存储开销会非常大。如日本研究人员Hideki Yamauchi等人在2005年期刊IEEE Journal of Solid-state Circuits发表的文章1440×1080 Pixel,30Frames Per Second Motion-JPEG 2000 Codec for HD-Movie Transmission(Vol.40,No.1,January 2005,pp331-341)中,采用了4096×2048的分片大小,这样小波系数占用存储的地址空间就高达4K×2K=8M(1M=1024K,1K=1024)。在小波变换为实时处理的要求下,往往需要采用两块相同的SRAM进行乒乓互倒,这时的存储总量就为一幅图像小波系数存储容量的两倍。
第三,图像压缩的质量与图像分片的尺寸和码块大小有着密切的关系。在码块大小固定的前提下,如采用恢复图像与原始图像之间的峰值信噪比PSNR来衡量恢复图像的质量,采用较大的图像分片下恢复图像的质量要高于采用小分片压缩的质量,因此在对图像压缩质量要求较高的应用场合应选用较大的图像分片。但正如上述第二点中所述,这样也会带来所需存储资源的相应增加。为此研究人员往往以图像压缩质量下降为代价换取较小的存储占用,如美国学者Kishore Andra等人在2003年期刊IEEE Trans.onCircuits and System for Video Technology上发表的文章A High-Performance JPEG2000Architecture(Vol.13,No.3,March 2003,pp209-218)和中国学者Huang Quanping等人在2004年期刊IEEE Trans.on Consumer Electronics上发表文章Low Memory and LowComplexity VLSI Implementation of JPEG2000 Codec(Vol.50,No.2,May 2004,pp638-646)都采用了128×128的分片大小,这样会带来恢复图像的质量的较大下降。中国学者Mei Kuizhi等在2007年期刊IEEE Trans.on Circuits and System for VideoTechnology上发表的文章VLSI Design of a High-Speed and Area-Efficient JPEG2000Encoder(Vol.17,No.8,August 2007,pp1065-1078)中,采用的分片尺寸为256×256,较之前述的小分片尺寸,会在图像质量上带来一定提高,但是仍无法满足对图像质量较高的要求。因此在具体的应用场合需要在这两方面进行考虑做出权衡。
第四,前述的外部存储在硬件实现中功率消耗很高。有文献指出,使用内部存储要比使用外部存储消耗的功率低一个数量级,因此在功耗上优先考虑使用内部存储。而且,随着超大规模集成电路VLSI的深入研究和半导体工艺技术的不断发展,现场可编程门阵列FPGA器件的集成度和性能价格比都得到了很大提高。因此,在当前的硬件设计中,可以采用高集成度大存储量的FPGA芯片,以达到节省功耗的目的。
以上是将JPEG2000标准转化到硬件实现过程中在小波系数存储上遇到的若干技术难题,以及目前国内外在这一方向上设计技术的发展和研究的现状。在已有的包括以上研究成果的众多JPEG2000硬件结构中较为常见的是选择较小尺寸的分片,例如分片大小为128×128,小波系数存储直接在片内;或者选择大分片尺寸,在硬件实现中利用外部存储。两者仅在存储器的来源方面存在差别,很少涉及节省存储器的高效结构。
发明的内容
本发明的目的在于避免上述已有技术的不足,在高质量图像压缩的要求下,提供一种符合JPEG2000标准的基于码块的低存储编码器结构及其编码方法,用片内存储代替原有结构中的外部存储并进行高效复用,以克服原有结构中大图像分片占用外部存储量大的不足。
实现本发明目的的技术关键是基于JPEG2000标准中在进行Tier-1编码时各子带被划分成码块、以码块为单位进行独立编码这一特性。在大尺寸图像分片下有效地组织存储区域,通过复用片内存储器减少小波系数占用的缓存,避免由于小波系数累积而占用大量存储的现象;同时采用有效的调度机制防止缓存在复用时出现读写冲突,在保证恢复图像质量的前提下节省存储资源,降低功耗;在具体实现中采用基于行的提升变换体制和比特平面并行的编码结构,提高变换和编码的效率及速度。
本发明的技术方案包括:按照JPEG2000标准所提出的基于码块的低存储编码器结构和按照JPEG2000标准进行编码的方法。
一.JPEG2000标准中基于码块的低存储编码器,包括:
小波变换模块,用于对原始的数字图像数据进行多级二维离散小波变换,并将变换后系数写入FPGA内部的存储器;
地址映射模块,用于将变换系数对应于小波分解图像后的地址映射为某个具体小波系数存储区域中的地址;
小波系数存储区域,用于缓存经小波变换模块计算得到的小波系数;
待编码码块仲裁模块,用于暂存没有进行后续处理的小波系数已存储完整的码块信息,并对已经存储完整码块中的小波系数准备进行比特平面编码;
比特平面编码模块,用于将待编码码块仲裁模块未进行比特平面编码的码块小波系数进行比特平面编码和编码状态变量的组织,并对编码状态变量进行更新后输出到后续的MQ算术编码器中。
所述的地址映射模块,通过二进制计数器累加某个小波分解子带中的系数个数,将计数器数值的某些比特位按照码块在这一子带中的位置,重新排列组合为该系数在对应小波系数存储区域中的地址。
所述的小波系数存储区域的个数与小波分解子带的个数相同,且每个区域含有K个地址空间与码块大小相同的存储块, 0 < K &le; 2 N M , N为该存储区域对应小波分解子带的宽度,M为码块宽度。
所述的待编码码块仲裁模块,包括:
等待队列,通过FPGA芯片内部的先进先出存储器FIFO暂存小波系数已存储完整码块的小波分解子带,及该码块在该小波分解子带中的位置;
控制器,根据等待队列是否暂存已存储完整小波系数码块的状态,控制比特平面编码模块的工作状态。
所述的待编码码块仲裁模块对已经存储完整码块中的小波系数进行比特平面编码,是根据比特平面编码模块的状态进行,即比特平面编码模块处于空闲状态时,可以从待编码码块仲裁模块中读出一个码块数据进行编码;当比特平面编码模块处于工作状态时,将已存储完整的码块信息暂存于待编码码块仲裁模块中。
二.JPEG2000标准中基于码块的低存储编码方法,包括如下过程:
1.对原始图像进行小波变换;
2.为小波变换分解的每一个小波子带建立存储区域,并将每个子带的存储区域划分为若干个码块存储块;
3.计算各个子带的小波系数,并对小波系数进行新的码块判断,如果该系数是全新码块中的系数,将其写入新的码块存储块;如果该系数属于已有码块且码块存储块已经存储了部分小波系数,则将其写入该码块存储块的对应位置;
4.码块存储块对所存储的小波系数进行累积,当码块的存储空间累积完整后,将该码块信息暂存为等待队列;
5.按照等待队列的码块先后顺序,读出码块信息,并对每一个码块的小波系数进行比特平面编码。
上述步骤2,按如下过程进行:
(1)按照小波变换时产生的小波分解子带数量,建立每一级水平子带LH、垂直子带HL、对角子带HH和最高一级分解的低频子带LL对应的小波系数存储区域,每个子带对应的小波系数存储区域大小与该级子带的宽度N和宽度M相关,即该子带对应的小波系数存储区域空间至少为N×M;
(2)将每个子带对应的小波系数存储区域,划分成K个地址空间与码块大小相同的码块存储块, 0 < K &le; 2 N M , N为该存储区域对应小波分解子带的宽度,M为码块宽度,该码块存储块存在有空闲、存储、写满等待、编码和读空等待5种状态。
上述步骤3所述的对小波系数进行新的码块判断,是按照小波系数在各个小波分解子带中的位置进行,若小波系数是在某一码块中首次出现,则该码块属于新的码块;若码块中已经存储了一部分小波系数,则该码块属于已有码块。
本发明由于在编码器中采用了地址映射模块,可以将需要缓存小波系数的存储空间由分片大小精确到码块尺寸;同时由于本发明采用了小波系数存储区域来缓存各个码块小波系数,使得码块中小波系数的完整获得在时间上具有间隔特性;此外由于本发明采用了待编码码块仲裁模块,可以高效复用小波系数存储区域中的码块存储块。整个编码器结构的逻辑和存储均在FPGA内部实现,避免了以往结构中采用外部存储器占用存储量大的不足,使编码器的存储量显著降低,系统的功耗也有明显减少。
附图说明
图1是本发明编码器的结构图;
图2是本发明基于码块的存储区域结构图;
图3是本发明码块存储块的地址分配示意图;
图4是本发明待编码码块仲裁模块的结构框图;
图5是本发明编码方法的流程图;
图6是本发明待编码码块的状态转移图。
具体实施方式
本发明的编码器结构是采用Xilinx ISE 9.1集成开发软件和VHDL、Verilog HDL语言,在Xilinx公司的型号为XC4Vfx140-11ff1517的FPGA上实现。
参照图1,本发明按照JPEG2000标准所提出的基于码块的低存储编码器结构包括:小波变换模块、地址映射模块、各子带对应的小波系数存储区域、待编码码块仲裁模块和比特平面编码模块。
小波变换模块首先对原始图像进行离散小波变换得到频率域的小波系数,输出到地址映射模块。地址映射模块由若干个二进制计数器组成,这些二进制计数器的个数与小波分解的级数相同,地址映射模块将变换系数对应于小波分解图像后的地址映射为某个具体小波系数存储区域中的地址,即通过二进制计数器累加某个小波分解子带中的系数个数,将计数器数值的某些比特位按照码块在这一子带中的位置,重新排列组合为该系数在对应小波系数存储区域中的地址。
小波系数存储区域按照地址映射模块产生的地址将小波系数写入FPGA内部的存储器。该小波系数存储区域的个数与小波分解子带的个数相同,且每个区域含有K个地址空间与码块大小相同的存储块, 0 < K &le; 2 N M , N为该存储区域对应小波分解子带的宽度,M为码块宽度。
参照图2,每个子带的存储区域按照码块大小划分为若干个码块存储块,每个码块存储块的地址空间与码块大小相同,本实施例中采用码块大小为32×32。码块存储块由片内的双端口存储器实现,在写入端包括写选通信号、写入该码块中的地址以及对应地址上的小波系数。其中写选通信号根据此时码块存储块的状态决定,写入该码块中的地址由地址映射模块将变换图像中这一小波系数所处的位置转换得到,同时将该位置处的小波系数写入转换后的地址中。码块存储块的读出端包括读选通信号、读出该码块中的地址和存储于其上的数据;其中读选通信号由待编码码块仲裁模块根据比特平面编码模块状态产生,读地址在比特平面编码模块在处理到该码块时按照条带扫描顺序给出,同时取出对应地址上的小波系数进行比特平面编码。码块存储块还包含码块状态和码块信息两个指示信号,分别标识该码块是否可被读写以及对应于小波变换图像中的码块位置。
参照图3,码块存储块的地址按照JPEG2000标准提供的正规条带扫描顺序regular方式进行分配,便于比特平面编码模块完成条带扫描和上下文生成。本实施例中选用的码块大小为32×32,因此每个码块存储块中的空间为0~1023共1024个地址。从图3中可见在每一个32×4的条带内,地址映射模块将小波系数在变换图像中的位置按照从上到下、从左到右的顺序转化为正规条带顺序。这样在比特平面编码模块进行条带扫描时,每个位置完成后对下一个位置扫描只需要地址自增,不必像原有结构中按照水平方向地址组织顺序那样进行地址计算和切换。
小波系数存储区域对这些小波系数按照级数从高到低和频率从低频LL到高频HL、LH、HH的顺序进行编号,例如将小波分解的最高级LL子带编号为0,最高级分解的HL子带编号为1,最高级分解的LH子带编号为2,最高级分解的HH子带编号为3,对各级分解均按照以上规则编号到3n。本发明中的小波基选择JPEG2000建议的整数9/7或者5/3小波,小波分解级数为n=4,这样共产生13个子带的存储区域。小波系数存储区域中的这些小波系数再输出到待编码码块仲裁模块进行处理。
参照图4,本发明的待编码码块仲裁模块由等待队列和控制器组成。等待队列的端口包含已存储完整码块的信息输入、需要进行编码码块的信息输出和队列的空满状态标志;控制器的端口包含由等待队列输入的码块信息和等待队列空满状态信号,向码块存储块发出的选通信号和读码块地址,以及从码块存储块中读出的小波系数,还有比特平面编码模块的状态和向比特平面编码模块传递的各层比特平面系数值。已存储完整码块的信息按照先后顺序全部暂存于等待队列中,当逻辑电路检测到等待队列空满状态为非空时,若比特平面编码模块对存储在之前的码块编码完成后,便从等待队列中读出下一个码块信息进行编码。控制器为比特平面编码模块和等待队列进行调度和控制,当比特平面编码模块处于空闲状态且等待队列的状态为非空时,从等待队列中读出一个码块信息数据,将控制权交给比特平面编码模块。同时向对应的码块存储块发出读请求,按照比特平面编码的顺序从中读出小波系数,将每一层比特平面的系数值传递给比特平面编码模块进行编码,即将待编码码块仲裁模块未进行比特平面编码的码块小波系数进行比特平面编码和编码状态变量的组织,并对编码状态变量进行更新后输出到后续的MQ算术编码器中。在比特平面编码模块处于工作状态时,控制器对等待队列不起作用,等待队列可以继续接收已存储完整码块的信息。若比特平面编码模块对等待队列中已存储完整码块的小波系数全部编码完成后回到空闲状态而此时等待队列为空,则控制器将优先权交给等待队列,一旦等待队列接收到新的存储完整码块信息时,控制器检测到等待队列空满状态信号为非空,便从中读出这一码块信息,开启比特平面编码模块进行如上所述的操作。
参照图5,本发明的编码方法按如下过程进行:
步骤1,对原始图像进行小波变换。
对原始图像进行小波变换是指对原始图像进行n级二维离散小波变换,每一级二维离散小波变换都包含水平方向和垂直方向的小波分解,即水平子带LH、垂直子带HL、对角子带HH和最高一级分解的低频子带LL,共3n+1个。小波分解采用JPEG2000标准中的提升算法,同时兼容标准中推荐的9/7和5/3两种小波基。
步骤2,建立小波系数存储区域。
为了缓存在对原始图像进行小波变换时产生小波分解子带中的系数,要建立对应子带的小波系数存储区域,即为每一级分解的水平子带LH、垂直子带HL、对角子带HH和最高一级分解的低频子带LL都建立相应的小波系数存储区域,共3n+1个。每个子带对应的小波系数存储区域大小与该级子带的宽度N和宽度M相关,即该子带对应的小波系数存储区域空间至少为N×M。
步骤3,对小波系数存储区域进行码块存储块的划分。
在JPEG2000标准中,码块是进行EBCOT编码的最小独立单位。基于这一规则,将每个子带对应的小波系数存储区域,划分成若干个存储空间与码块大小相同的存储块,即码块存储块。每个码块存储块都可能存在如图6所示的5种状态,分别为:
(1)空闲状态,表明该码块存储块从未被占用,可以接受某个码块中的小波系数;
(2)存储状态,表明某个码块的小波系数正写入该码块存储块,此时该码块存储块被这一个码块的小波系数唯一占用;
(3)写满等待状态,表明该码块存储块对应码块小波系数已经填充完毕,正处于等待比特平面编码模块处理的状态;
(4)编码状态,在这一状态下,比特平面编码模块正为这一码块存储块对应码块的小波系数进行编码;
(5)读空等待状态,此时该码块存储块经比特平面编码模块扫描之后并编码完成,正等待接收另一全新码块中的小波系数。
码块存储块的这5种状态的切换,由有限状态机实现。各个状态之间的跳转依照待编码码块仲裁模块中的控制器和比特平面编码模块的状态信息决定。
步骤4,计算各个子带的小波系数。
通过JPEG2000标准中的提升算法计算各个子带的小波系数,包括三个步骤:首先是把输入数据分为两个子集,分别是偶数集合和奇数集合;然后是预测提升,即用偶数集合来预测奇数集合,把产生的误差作为高通小波系数;最后是更新提升,即用这些小波系数来更新偶数集合作为低通小波系数。
步骤5,对小波系数进行新的码块判断。
将计算得到的小波系数按照它们在各个分解子带中的位置判断其是否属于新的码块,若小波系数是在某一码块中首次出现,则该码块属于新的码块;若码块存储块中已经存储了一部分小波系数,则该码块属于已有码块。对于新码块中的小波系数,则将其写入新的或可重复使用的码块存储块;对于已有码块中的小波系数,则将其写入该码块存储块的对应位置。
步骤6,将码块信息暂存为等待队列。
码块存储块对所存储的小波系数进行累积,当码块存储块的存储空间被累积完整后,将该码块信息暂存为等待队列,即当某个码块存储块写满对应码块的全部小波系数后,将该码块信息按照各自被累积完整的先后顺序进行暂存。
步骤7,对每一个码块的小波系数进行比特平面编码。
将等待队列中未处理的码块信息依次读出,对相应码块的小波系数进行比特平面编码和状态变量的组织,并对状态变量同时进行更新,将产生的上下文信息输出到后续的MQ算术编码器中。
本发明的效果可以通过软件数据计算和硬件综合实现进一步说明。
1.峰值信噪比PSNR计算
选取airport、field和bridge这3幅图像,在采用不同分片尺寸下经过JPEG2000算法在多种比特率下压缩,解码后计算恢复图像与原始图像的峰值信噪比PSNR,其结果如表1所示。本发明中选择码块大小为32×32,小波系数精度为16比特。
表1峰值信噪比比较
Figure A20081001811300141
从表1可见,PSNR在分片大小为1024×1024时,比分片大小为128×128时平均要高0.2~0.4dB,在对birdge图像比特率为4.0bpp压缩时高达1dB以上。
2.编码结构性能
在Xilinx ISE 9.1集成开发软件环境中,采用VHDL、Verilog HDL语言,对本发明编码器结构的性能综合结果如表2所示。
表2本发明和使用外部乒乓存储实现性能的综合比较
 本发明   现有技术
  综合工具  Xilinx Synthesis Tool   Xilinx Synthesis Tool
目标器件  Xilinx Virtex-IVXC4Vfx140-11ff1517   Xilinx Virtex-IVXC4Vfx140-11ff1517
  图像分片大小  1024×1024   1024×1024
  小波系数存储量  片内2.875Mbit   片外32Mbit
  最高时钟  78.061MHz   82.860MHz
  使用功耗  低   高
从表2中可见,在连续变换编码的要求下,本发明所需存储量为2.875Mbit,现有技术使用乒乓互倒的存储方法所用存储量为32Mbit,本发明比现有技术的存储量降低了90%;本发明综合出的最高时钟频率接近现有技术;而本发明使用的功耗低于现有技术。
对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,可以做出不局限于小波基类型、小波分解级数和码块大小的基于码块的低存储编码器结构和编码方法,例如,采用3级5/3小波变换、码块大小采用64×64的基于码块的低存储结构,包括3级小波变换模块、对应的地址映射模块、10个子带的小波系数存储区域,以及相应的待编码码块仲裁模块和比特平面编码模块。但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (10)

1.一种JPEG2000标准中基于码块的低存储编码器,包括:
小波变换模块,用于对原始的数字图像数据进行多级二维离散小波变换,并将变换后系数写入FPGA内部的存储器;
地址映射模块,用于将变换系数对应于小波分解图像后的地址映射为某个具体小波系数存储区域中的地址;
小波系数存储区域,用于缓存经小波变换模块计算得到的小波系数;
待编码码块仲裁模块,用于暂存没有进行后续处理的小波系数已存储完整的码块信息,并对已经存储完整码块中的小波系数准备进行比特平面编码;
比特平面编码模块,用于将待编码码块仲裁模块未进行比特平面编码的码块小波系数进行比特平面编码和编码状态变量的组织,并对编码状态变量进行更新后输出到后续的MQ算术编码器中。
2.根据权利要求1所述的基于码块的低存储编码器,其特征在于地址映射模块,通过二进制计数器累加某个小波分解子带中的系数个数,将计数器数值的某些比特位按照码块在这一子带中的位置,重新排列组合为该系数在对应小波系数存储区域中的地址。
3.根据权利要求1所述的基于码块的低存储编码器,其特征在于小波系数存储区域的个数与小波分解子带的个数相同,且每个区域含有K个地址空间与码块大小相同的存储块, 0 < K &le; 2 N M , N为该存储区域对应小波分解子带的宽度,M为码块宽度。
4.根据权利要求1所述的基于码块的低存储编码器,其特征在于待编码码块仲裁模块,包括:
等待队列,通过FPGA芯片内部的先进先出存储器FIFO暂存小波系数已存储完整码块的小波分解子带,及该码块在该小波分解子带中的位置;
控制器,根据等待队列是否暂存已存储完整小波系数码块的状态,控制比特平面编码模块的工作状态。
5.根据权利要求4所述的基于码块的低存储编码器,其特征在于所述的控制器控制比特平面编码模块的工作状态,通过逻辑电路的检测实现,即等待队列状态由空变为非空时,比特平面编码模块接收等待队列中的一个信息数据,对相应的码块进行比特平面编码;当等待队列状态由非空变为空时,比特平面编码模块归于空闲状态。
6.根据权利要求1或4所述的基于码块的低存储编码器,其特征在于所述的待编码码块仲裁模块对已经存储完整码块中的小波系数进行比特平面编码,是根据比特平面编码模块的状态进行,即比特平面编码模块处于空闲状态时,可以从待编码码块仲裁模块中读出一个码块数据进行编码,当比特平面编码模块处于工作状态时,将已存储完整的码块信息暂存于待编码码块仲裁模块中。
7.根据权利要求3或4所述的基于码块的低存储编码器,其特征在于所述的码块存储块在写满对应码块的全部小波系数后,由等待队列接受该码块的编码请求,按照码块被写满的先后顺序存入该队列。
8.一种JPEG2000标准中基于码块的低存储编码方法,包括如下过程:
(1)对原始图像进行小波变换;
(2)为小波变换分解的每一个小波子带建立存储区域,并将每个子带的存储区域划分为若干个码块存储块;
(3)计算各个子带的小波系数,并对小波系数进行新的码块判断,如果该系数是全新码块中的系数,将其写入新的码块存储块;如果该系数属于已有码块且码块存储块已经存储了部分小波系数,则将其写入该码块存储块的对应位置;
(4)码块存储块对所存储的小波系数进行累积,当码块的存储空间累积完整后,将该码块信息暂存为等待队列;
(5)按照等待队列的码块先后顺序,读出码块信息,并对每一个码块的小波系数进行比特平面编码。
9.根据权利要求8所述的低存储编码方法,其特征在于步骤2,按如下过程进行:
(2a)按照小波变换时产生的小波分解子带数量,建立每一级水平子带LH、垂直子带HL、对角子带HH和最高一级分解的低频子带LL对应的小波系数存储区域,每个子带对应的小波系数存储区域大小与该级子带的宽度N和宽度M相关,即该子带对应的小波系数存储区域空间至少为N×M;
(2b)将每个子带对应的小波系数存储区域,划分成K个地址空间与码块大小相同的码块存储块, 0 < K &le; 2 N M , N为该存储区域对应小波分解子带的宽度,M为码块宽度,该码块存储块存在有空闲、存储、写满等待、编码和读空等待5种状态。
10.根据权利要求8所述的低存储编码方法,其特征在于步骤3所述的对小波系数进行新的码块判断,是按照小波系数在各个小波分解子带中的位置进行,若小波系数是在某一码块中首次出现,则该码块属于新的码块;若码块中已经存储了一部分小波系数,则该码块属于已有码块。
CN 200810018113 2008-05-04 2008-05-04 Jpeg2000标准中基于码块的低存储编码器及其编码方法 Pending CN101267558A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810018113 CN101267558A (zh) 2008-05-04 2008-05-04 Jpeg2000标准中基于码块的低存储编码器及其编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810018113 CN101267558A (zh) 2008-05-04 2008-05-04 Jpeg2000标准中基于码块的低存储编码器及其编码方法

Publications (1)

Publication Number Publication Date
CN101267558A true CN101267558A (zh) 2008-09-17

Family

ID=39989641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810018113 Pending CN101267558A (zh) 2008-05-04 2008-05-04 Jpeg2000标准中基于码块的低存储编码器及其编码方法

Country Status (1)

Country Link
CN (1) CN101267558A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365138B (zh) * 2008-10-10 2010-12-08 中国航天科技集团公司第五研究院第五〇四研究所 一种jpeg2000图像压缩处理系统
CN102074023A (zh) * 2010-12-31 2011-05-25 天津工业大学 一种图像的纯二维5/3小波分解和重构方法
CN102186076A (zh) * 2011-04-29 2011-09-14 中国科学院光电技术研究所 一种实时码率预分配的图像压缩方法及图像压缩装置
CN102541660A (zh) * 2012-01-06 2012-07-04 电子科技大学 一种红外实时成像系统的帧缓存调度装置及调度方法
CN102695060A (zh) * 2012-06-13 2012-09-26 西安电子科技大学 基于jpeg2000标准的自适应存储器和存储方法
CN103533357A (zh) * 2013-10-13 2014-01-22 西安电子科技大学 基于fpga的多级复用小波变换器
CN110365990A (zh) * 2019-06-21 2019-10-22 武汉玉航科技有限公司 一种窄带准无损视频编码系统
CN114710677A (zh) * 2022-01-12 2022-07-05 华芯算科学技术(苏州)有限公司 图像压缩方法、装置、存储介质及终端
CN115632665A (zh) * 2022-12-20 2023-01-20 苏州浪潮智能科技有限公司 一种存储校验的系统和服务器

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365138B (zh) * 2008-10-10 2010-12-08 中国航天科技集团公司第五研究院第五〇四研究所 一种jpeg2000图像压缩处理系统
CN102074023A (zh) * 2010-12-31 2011-05-25 天津工业大学 一种图像的纯二维5/3小波分解和重构方法
CN102186076A (zh) * 2011-04-29 2011-09-14 中国科学院光电技术研究所 一种实时码率预分配的图像压缩方法及图像压缩装置
CN102186076B (zh) * 2011-04-29 2013-07-10 中国科学院光电技术研究所 一种实时码率预分配的图像压缩方法及图像压缩装置
CN102541660A (zh) * 2012-01-06 2012-07-04 电子科技大学 一种红外实时成像系统的帧缓存调度装置及调度方法
CN102695060A (zh) * 2012-06-13 2012-09-26 西安电子科技大学 基于jpeg2000标准的自适应存储器和存储方法
CN102695060B (zh) * 2012-06-13 2014-08-06 西安电子科技大学 基于jpeg2000标准的自适应存储器和存储方法
CN103533357A (zh) * 2013-10-13 2014-01-22 西安电子科技大学 基于fpga的多级复用小波变换器
CN110365990A (zh) * 2019-06-21 2019-10-22 武汉玉航科技有限公司 一种窄带准无损视频编码系统
CN114710677A (zh) * 2022-01-12 2022-07-05 华芯算科学技术(苏州)有限公司 图像压缩方法、装置、存储介质及终端
CN115632665A (zh) * 2022-12-20 2023-01-20 苏州浪潮智能科技有限公司 一种存储校验的系统和服务器

Similar Documents

Publication Publication Date Title
CN101267558A (zh) Jpeg2000标准中基于码块的低存储编码器及其编码方法
CN101569170B (zh) 编码设备和编码方法以及解码设备和解码方法
CN101309417B (zh) 用于处理图像数据的方法和设备
JP3302229B2 (ja) 符号化方法、符号化/復号方法及び復号方法
JP2003274186A (ja) 符号化装置
CN101404772B (zh) 基于小波变换的vlsi图像压缩编码器
JP2003152545A (ja) メモリ管理システム及びメモリ管理方法
CN101841707B (zh) 基于jpeg2000标准的高速实时处理算术熵编码方法
CN101917622B (zh) 14bit位宽图像压缩硬件编码器
CN101707716A (zh) 视频编码器和编码方法
CN101309418B (zh) 用于处理信息的设备和方法
Huang et al. Low memory and low complexity VLSI implementation of JPEG2000 codec
CN101754014B (zh) 信息处理设备和方法
Chrysafis Wavelet image compression rate distortion optimizations and complexity reductions
Sandhu et al. Matlab Based Image Compression Using Various Algorithms
CN110365990A (zh) 一种窄带准无损视频编码系统
Wu et al. Analysis and architecture design for high performance JPEG2000 coprocessor
CN111316645A (zh) 编码器、编码系统和编码方法
CN103533357B (zh) 基于fpga的多级复用小波变换器
CN101420608B (zh) 一种实现数据解码的方法和装置
Liu et al. A high throughput JPEG2000 entropy decoding unit architecture
Guo et al. Memory-efficient architecture including DWT and EC for JPEG2000
Meraj et al. A Block Based Parallel ZM-SPECK Algorithm
Bano et al. Performance Evaluation of Wavelet-Based Image Compression Techniques
Chen et al. LBT based low complexity image compression method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080917